From 51a9a516992cfab9a019c725119f0903791003f0 Mon Sep 17 00:00:00 2001 From: Rickard von Essen Date: Sat, 1 Oct 2016 22:34:42 +0200 Subject: [PATCH 01/10] Update winrm and winrmcp dependencies Updated winrm and winrmcp dependencies. Relevant unit and acceptance tests passed successfully. shell.Execute didn't return a Command object. See https://github.com/packer-community/winrmcp/blob/f1bcf36a69fa2945e65dd099eee11b560fbd3346/winrmcp/cp.go#L167 and https://github.com/masterzen/winrm/blob/54ea5d01478cfc2afccec1504bd0dfcd8c260cfa/winrm/shell.go#L10-L22 respectively. Closes #3763 Original patch by: Philipp Kosel --- Godeps/Godeps.json | 10 +- communicator/winrm/communicator.go | 5 +- provisioner/windows-restart/provisioner.go | 2 +- vendor/github.com/masterzen/winrm/.gitignore | 27 +++ vendor/github.com/masterzen/winrm/.travis.yml | 25 +++ vendor/github.com/masterzen/winrm/Makefile | 34 ++++ vendor/github.com/masterzen/winrm/README.md | 165 ++++++++++++++++++ .../masterzen/winrm/{winrm => }/client.go | 114 +++++++----- .../masterzen/winrm/{winrm => }/command.go | 139 +++++++++------ vendor/github.com/masterzen/winrm/endpoint.go | 61 +++++++ vendor/github.com/masterzen/winrm/error.go | 13 ++ vendor/github.com/masterzen/winrm/http.go | 58 ++++++ .../github.com/masterzen/winrm/parameters.go | 28 +++ .../masterzen/winrm/{winrm => }/powershell.go | 3 +- vendor/github.com/masterzen/winrm/request.go | 155 ++++++++++++++++ .../masterzen/winrm/{winrm => }/response.go | 66 ++++--- vendor/github.com/masterzen/winrm/shell.go | 36 ++++ .../masterzen/winrm/soap/message.go | 1 - .../masterzen/winrm/winrm/endpoint.go | 22 --- .../github.com/masterzen/winrm/winrm/http.go | 60 ------- .../masterzen/winrm/winrm/parameters.go | 20 --- .../masterzen/winrm/winrm/request.go | 116 ------------ .../github.com/masterzen/winrm/winrm/shell.go | 31 ---- .../packer-community/winrmcp/winrmcp/cp.go | 22 ++- .../winrmcp/winrmcp/endpoint.go | 8 +- .../packer-community/winrmcp/winrmcp/ls.go | 2 +- .../winrmcp/winrmcp/psobject.go | 4 +- .../winrmcp/winrmcp/winrmcp.go | 12 +- 28 files changed, 836 insertions(+), 403 deletions(-) create mode 100644 vendor/github.com/masterzen/winrm/.gitignore create mode 100644 vendor/github.com/masterzen/winrm/.travis.yml create mode 100644 vendor/github.com/masterzen/winrm/Makefile create mode 100644 vendor/github.com/masterzen/winrm/README.md rename vendor/github.com/masterzen/winrm/{winrm => }/client.go (55%) rename vendor/github.com/masterzen/winrm/{winrm => }/command.go (50%) create mode 100644 vendor/github.com/masterzen/winrm/endpoint.go create mode 100644 vendor/github.com/masterzen/winrm/error.go create mode 100644 vendor/github.com/masterzen/winrm/http.go create mode 100644 vendor/github.com/masterzen/winrm/parameters.go rename vendor/github.com/masterzen/winrm/{winrm => }/powershell.go (83%) create mode 100644 vendor/github.com/masterzen/winrm/request.go rename vendor/github.com/masterzen/winrm/{winrm => }/response.go (67%) create mode 100644 vendor/github.com/masterzen/winrm/shell.go delete mode 100644 vendor/github.com/masterzen/winrm/winrm/endpoint.go delete mode 100644 vendor/github.com/masterzen/winrm/winrm/http.go delete mode 100644 vendor/github.com/masterzen/winrm/winrm/parameters.go delete mode 100644 vendor/github.com/masterzen/winrm/winrm/request.go delete mode 100644 vendor/github.com/masterzen/winrm/winrm/shell.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 9309054dd..846a563cb 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -377,12 +377,12 @@ "Rev": "95ba30457eb1121fa27753627c774c7cd4e90083" }, { - "ImportPath": "github.com/masterzen/winrm/soap", - "Rev": "54ea5d01478cfc2afccec1504bd0dfcd8c260cfa" + "ImportPath": "github.com/masterzen/winrm", + "Rev": "ef3efbb97f99fc204bd9c7edf778a0dbd9781baf" }, { - "ImportPath": "github.com/masterzen/winrm/winrm", - "Rev": "54ea5d01478cfc2afccec1504bd0dfcd8c260cfa" + "ImportPath": "github.com/masterzen/winrm/soap", + "Rev": "ef3efbb97f99fc204bd9c7edf778a0dbd9781baf" }, { "ImportPath": "github.com/masterzen/xmlpath", @@ -442,7 +442,7 @@ }, { "ImportPath": "github.com/packer-community/winrmcp/winrmcp", - "Rev": "f1bcf36a69fa2945e65dd099eee11b560fbd3346" + "Rev": "7f50d16167d327698b91ccd5363d8691865e2580" }, { "ImportPath": "github.com/pierrec/lz4", diff --git a/communicator/winrm/communicator.go b/communicator/winrm/communicator.go index 902211bd2..4e02f78ff 100644 --- a/communicator/winrm/communicator.go +++ b/communicator/winrm/communicator.go @@ -7,10 +7,9 @@ import ( "os" "sync" - "github.com/masterzen/winrm/winrm" + "github.com/masterzen/winrm" "github.com/mitchellh/packer/packer" "github.com/packer-community/winrmcp/winrmcp" - // This import is a bit strange, but it's needed so `make updatedeps` // can see and download it _ "github.com/dylanmei/winrmtest" @@ -40,7 +39,7 @@ func New(config *Config) (*Communicator, error) { } // Create the client - params := winrm.DefaultParameters() + params := winrm.DefaultParameters if config.TransportDecorator != nil { params.TransportDecorator = config.TransportDecorator diff --git a/provisioner/windows-restart/provisioner.go b/provisioner/windows-restart/provisioner.go index 6b7bd90d3..15c3ef774 100644 --- a/provisioner/windows-restart/provisioner.go +++ b/provisioner/windows-restart/provisioner.go @@ -6,7 +6,7 @@ import ( "sync" "time" - "github.com/masterzen/winrm/winrm" + "github.com/masterzen/winrm" "github.com/mitchellh/packer/common" "github.com/mitchellh/packer/helper/config" "github.com/mitchellh/packer/packer" diff --git a/vendor/github.com/masterzen/winrm/.gitignore b/vendor/github.com/masterzen/winrm/.gitignore new file mode 100644 index 000000000..0c224ef1f --- /dev/null +++ b/vendor/github.com/masterzen/winrm/.gitignore @@ -0,0 +1,27 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof + +*.coverprofile +*.cov diff --git a/vendor/github.com/masterzen/winrm/.travis.yml b/vendor/github.com/masterzen/winrm/.travis.yml new file mode 100644 index 000000000..415cadbba --- /dev/null +++ b/vendor/github.com/masterzen/winrm/.travis.yml @@ -0,0 +1,25 @@ +sudo: false +language: go +go: +- 1.5 +- 1.6 +- tip +install: +- make deps +- go build -o winrm-cli +before_install: +- go get github.com/axw/gocov/gocov +- go get github.com/mattn/goveralls +- go get golang.org/x/tools/cmd/cover +- go get github.com/modocache/gover +- go get gopkg.in/check.v1 +script: +- make ci +after_script: +- $HOME/gopath/bin/goveralls -service="travis-ci" -coverprofile=profile.cov -repotoken $COVERALLS_TOKEN +matrix: + allow_failures: + - go: tip +env: + global: + secure: "GTrEtbp3sq14Jjz34pgIO0/Zv19YaDOOUJay4qnzGxs527HkW7YdsWENz0/yGHet+0jMOPatfP3uLaQHVFCNFZLfMYVmD5apMl7hPFrCaDZVvI9+ZwngIZ8gHzcf2Q+L6LxUT523ypjmRR+T1qYfbOy4UXlfGCyHFBbRB7AbMDk=" diff --git a/vendor/github.com/masterzen/winrm/Makefile b/vendor/github.com/masterzen/winrm/Makefile new file mode 100644 index 000000000..e28e539b5 --- /dev/null +++ b/vendor/github.com/masterzen/winrm/Makefile @@ -0,0 +1,34 @@ +NO_COLOR=\033[0m +OK_COLOR=\033[32;01m +ERROR_COLOR=\033[31;01m +WARN_COLOR=\033[33;01m +DEPS = $(go list -f '{{range .TestImports}}{{.}} {{end}}' ./... | fgrep -v 'winrm') + +all: deps + @mkdir -p bin/ + @printf "$(OK_COLOR)==> Building$(NO_COLOR)\n" + @go build github.com/masterzen/winrm + +deps: + @printf "$(OK_COLOR)==> Installing dependencies$(NO_COLOR)\n" + @go get -d -v ./... + @echo $(DEPS) | xargs -n1 go get -d + +updatedeps: + go list ./... | xargs go list -f '{{join .Deps "\n"}}' | grep -v github.com/masterzen/winrm | sort -u | xargs go get -f -u -v + +clean: + @rm -rf bin/ pkg/ src/ + +format: + go fmt ./... + +ci: deps + @printf "$(OK_COLOR)==> Testing with Coveralls...$(NO_COLOR)\n" + "$(CURDIR)/scripts/test.sh" + +test: deps + @printf "$(OK_COLOR)==> Testing...$(NO_COLOR)\n" + go test ./... + +.PHONY: all clean deps format test updatedeps diff --git a/vendor/github.com/masterzen/winrm/README.md b/vendor/github.com/masterzen/winrm/README.md new file mode 100644 index 000000000..e2ca879fe --- /dev/null +++ b/vendor/github.com/masterzen/winrm/README.md @@ -0,0 +1,165 @@ +# WinRM for Go + +_Note_: if you're looking for the `winrm` command-line tool, this has been splitted from this project and is available at [winrm-cli](https://github.com/masterzen/winrm-cli) + +This is a Go library to execute remote commands on Windows machines through +the use of WinRM/WinRS. + +_Note_: this library doesn't support domain users (it doesn't support GSSAPI nor Kerberos). It's primary target is to execute remote commands on EC2 windows machines. + +[![Build Status](https://travis-ci.org/masterzen/winrm.svg?branch=master)](https://travis-ci.org/masterzen/winrm) +[![Coverage Status](https://coveralls.io/repos/masterzen/winrm/badge.png)](https://coveralls.io/r/masterzen/winrm) + +## Contact + +- Bugs: https://github.com/masterzen/winrm/issues + + +## Getting Started +WinRM is available on Windows Server 2008 and up. This project natively supports basic authentication for local accounts, see the steps in the next section on how to prepare the remote Windows machine for this scenario. The authentication model is pluggable, see below for an example on using Negotiate/NTLM authentication (e.g. for connecting to vanilla Azure VMs). + +### Preparing the remote Windows machine for Basic authentication +This project supports only basic authentication for local accounts (domain users are not supported). The remote windows system must be prepared for winrm: + +_For a PowerShell script to do what is described below in one go, check [Richard Downer's blog](http://www.frontiertown.co.uk/2011/12/overthere-control-windows-from-java/)_ + +On the remote host, a PowerShell prompt, using the __Run as Administrator__ option and paste in the following lines: + + winrm quickconfig + y + winrm set winrm/config/service/Auth '@{Basic="true"}' + winrm set winrm/config/service '@{AllowUnencrypted="true"}' + winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="1024"}' + +__N.B.:__ The Windows Firewall needs to be running to run this command. See [Microsoft Knowledge Base article #2004640](http://support.microsoft.com/kb/2004640). + +__N.B.:__ Do not disable Negotiate authentication as the `winrm` command itself uses this for internal authentication, and you risk getting a system where `winrm` doesn't work anymore. + +__N.B.:__ The `MaxMemoryPerShellMB` option has no effects on some Windows 2008R2 systems because of a WinRM bug. Make sure to install the hotfix described [Microsoft Knowledge Base article #2842230](http://support.microsoft.com/kb/2842230) if you need to run commands that uses more than 150MB of memory. + +For more information on WinRM, please refer to the online documentation at Microsoft's DevCenter. + +### Building the winrm go and executable + +You can build winrm from source: + +```sh +git clone https://github.com/masterzen/winrm +cd winrm +make +``` + +_Note_: this winrm code doesn't depend anymore on [Gokogiri](https://github.com/moovweb/gokogiri) which means it is now in pure Go. + +_Note_: you need go 1.5+. Please check your installation with + +``` +go version +``` + +## Command-line usage + +For command-line usage check the [winrm-cli project](https://github.com/masterzen/winrm-cli) + +## Library Usage + +**Warning the API might be subject to change.** + +For the fast version (this doesn't allow to send input to the command): + +```go +import "github.com/masterzen/winrm/winrm" + +client ,_:= winrm.NewClient(&EndPoint{Host:"localhost",Port:5985,HTTPS:false,Insecure:false,CACert:nil}, "Administrator", "secret") +client.Run("ipconfig /all", os.Stdout, os.Stderr) +``` + +or +```go +import ( + "github.com/masterzen/winrm/winrm" + "fmt" + "os" +) + +endpoint := winrm.NewEndpoint("localhost", 5985, false, false, nil) +client, err := winrm.NewClient(endpoint,"Administrator", "secret") +if err != nil { + panic(err) +} + +_, err := client.RunWithInput("ipconfig", os.Stdout, os.Stderr, os.Stdin) +if err != nil { + panic(err) +} + +``` + +For a more complex example, it is possible to call the various functions directly: + +```go +import ( + "github.com/masterzen/winrm/winrm" + "fmt" + "bytes" + "os" +) + +stdin := bytes.NewBufferString("ipconfig /all") +endpoint := winrm.NewEndpoint("localhost",5985,false,false,nil) +client , err := winrm.NewClient(endpoint, "Administrator", "secret") +if err != nil { + panic(err) +} +shell, err := client.CreateShell() +if err != nil { + panic(err) +} +var cmd *winrm.Command +cmd, err = shell.Execute("cmd.exe") +if err != nil { + panic(err) +} + +go io.Copy(cmd.Stdin, stdin) +go io.Copy(os.Stdout, cmd.Stdout) +go io.Copy(os.Stderr, cmd.Stderr) + +cmd.Wait() +shell.Close() +``` + +### Pluggable authentication example: Negotiate/NTLM authentication +Using the winrm.Parameters.TransportDecorator, it is possible to wrap or completely replace the outgoing http.RoundTripper. For example, use github.com/Azure/go-ntlmssp to plug in Negotiate/NTLM authentication : + +```go +import ( + "github.com/masterzen/winrm/winrm" + "github.com/Azure/go-ntlmssp" +) + +params := winrm.DefaultParameters() +params.TransportDecorator = func(t *http.Transport) http.RoundTripper { return ntlmssp.Negotiator{t} } +client, err := winrm.NewClientWithParameters(..., params) +``` + +## Developing on WinRM + +If you wish to work on `winrm` itself, you'll first need [Go](http://golang.org) +installed (version 1.5+ is _required_). Make sure you have Go properly installed, +including setting up your [GOPATH](http://golang.org/doc/code.html#GOPATH). + +For some additional dependencies, Go needs [Mercurial](http://mercurial.selenic.com/) +and [Bazaar](http://bazaar.canonical.com/en/) to be installed. +Winrm itself doesn't require these, but a dependency of a dependency does. + +Next, clone this repository into `$GOPATH/src/github.com/masterzen/winrm` and +then just type `make`. + +You can run tests by typing `make test`. + +If you make any changes to the code, run `make format` in order to automatically +format the code according to Go standards. + +When new dependencies are added to winrm you can use `make updatedeps` to +get the latest and subsequently use `make` to compile. diff --git a/vendor/github.com/masterzen/winrm/winrm/client.go b/vendor/github.com/masterzen/winrm/client.go similarity index 55% rename from vendor/github.com/masterzen/winrm/winrm/client.go rename to vendor/github.com/masterzen/winrm/client.go index a195b6ea6..cbc833c20 100644 --- a/vendor/github.com/masterzen/winrm/winrm/client.go +++ b/vendor/github.com/masterzen/winrm/client.go @@ -11,6 +11,7 @@ import ( "github.com/masterzen/winrm/soap" ) +// Client struct type Client struct { Parameters username string @@ -23,23 +24,21 @@ type Client struct { // NewClient will create a new remote client on url, connecting with user and password // This function doesn't connect (connection happens only when CreateShell is called) -func NewClient(endpoint *Endpoint, user, password string) (client *Client, err error) { - params := DefaultParameters() - client, err = NewClientWithParameters(endpoint, user, password, params) - return +func NewClient(endpoint *Endpoint, user, password string) (*Client, error) { + return NewClientWithParameters(endpoint, user, password, DefaultParameters) } -// NewClient will create a new remote client on url, connecting with user and password +// NewClientWithParameters will create a new remote client on url, connecting with user and password // This function doesn't connect (connection happens only when CreateShell is called) -func NewClientWithParameters(endpoint *Endpoint, user, password string, params *Parameters) (client *Client, err error) { +func NewClientWithParameters(endpoint *Endpoint, user, password string, params *Parameters) (*Client, error) { transport, err := newTransport(endpoint) - client = &Client{ + client := &Client{ Parameters: *params, username: user, password: password, url: endpoint.url(), - http: Http_post, + http: PostRequest, useHTTPS: endpoint.HTTPS, transport: transport, } @@ -47,18 +46,22 @@ func NewClientWithParameters(endpoint *Endpoint, user, password string, params * if params.TransportDecorator != nil { client.transport = params.TransportDecorator(transport) } - return + + return client, err } -// newTransport will create a new HTTP Transport, with options specified within the endpoint configuration +// newTransport will create a new HTTP Transport, +// with options specified within the endpoint configuration func newTransport(endpoint *Endpoint) (*http.Transport, error) { + transport := &http.Transport{ TLSClientConfig: &tls.Config{ InsecureSkipVerify: endpoint.Insecure, }, + ResponseHeaderTimeout: endpoint.Timeout, } - if endpoint.CACert != nil && len(*endpoint.CACert) > 0 { + if endpoint.CACert != nil && len(endpoint.CACert) > 0 { certPool, err := readCACerts(endpoint.CACert) if err != nil { return nil, err @@ -70,97 +73,114 @@ func newTransport(endpoint *Endpoint) (*http.Transport, error) { return transport, nil } -func readCACerts(certs *[]byte) (*x509.CertPool, error) { +func readCACerts(certs []byte) (*x509.CertPool, error) { certPool := x509.NewCertPool() - if !certPool.AppendCertsFromPEM(*certs) { + if !certPool.AppendCertsFromPEM(certs) { return nil, fmt.Errorf("Unable to read certificates") } return certPool, nil } -// CreateShell will create a WinRM Shell, which is the prealable for running -// commands. -func (client *Client) CreateShell() (shell *Shell, err error) { - request := NewOpenShellRequest(client.url, &client.Parameters) +// CreateShell will create a WinRM Shell, +// which is the prealable for running commands. +func (c *Client) CreateShell() (*Shell, error) { + request := NewOpenShellRequest(c.url, &c.Parameters) defer request.Free() - response, err := client.sendRequest(request) - if err == nil { - var shellId string - if shellId, err = ParseOpenShellResponse(response); err == nil { - shell = &Shell{client: client, ShellId: shellId} - } + response, err := c.sendRequest(request) + if err != nil { + return nil, err } - return + + shellID, err := ParseOpenShellResponse(response) + if err != nil { + return nil, err + } + + return c.NewShell(shellID), nil + } -func (client *Client) sendRequest(request *soap.SoapMessage) (response string, err error) { - return client.http(client, request) +// NewShell will create a new WinRM Shell for the given shellID +func (c *Client) NewShell(id string) *Shell { + return &Shell{client: c, id: id} +} + +// sendRequest exec the custom http func from the client +func (c *Client) sendRequest(request *soap.SoapMessage) (string, error) { + return c.http(c, request) } // Run will run command on the the remote host, writing the process stdout and stderr to // the given writers. Note with this method it isn't possible to inject stdin. -func (client *Client) Run(command string, stdout io.Writer, stderr io.Writer) (exitCode int, err error) { - shell, err := client.CreateShell() +func (c *Client) Run(command string, stdout io.Writer, stderr io.Writer) (int, error) { + shell, err := c.CreateShell() if err != nil { - return 0, err + return 1, err } - var cmd *Command - cmd, err = shell.Execute(command) + defer shell.Close() + cmd, err := shell.Execute(command) if err != nil { - return 0, err + return 1, err } + go io.Copy(stdout, cmd.Stdout) go io.Copy(stderr, cmd.Stderr) + cmd.Wait() - shell.Close() + return cmd.ExitCode(), cmd.err } -// Run will run command on the the remote host, returning the process stdout and stderr +// RunWithString will run command on the the remote host, returning the process stdout and stderr // as strings, and using the input stdin string as the process input -func (client *Client) RunWithString(command string, stdin string) (stdout string, stderr string, exitCode int, err error) { - shell, err := client.CreateShell() +func (c *Client) RunWithString(command string, stdin string) (string, string, int, error) { + shell, err := c.CreateShell() if err != nil { - return "", "", 0, err + return "", "", 1, err } defer shell.Close() - var cmd *Command - cmd, err = shell.Execute(command) + + cmd, err := shell.Execute(command) if err != nil { - return "", "", 0, err + return "", "", 1, err } if len(stdin) > 0 { cmd.Stdin.Write([]byte(stdin)) } + var outWriter, errWriter bytes.Buffer go io.Copy(&outWriter, cmd.Stdout) go io.Copy(&errWriter, cmd.Stderr) + cmd.Wait() + return outWriter.String(), errWriter.String(), cmd.ExitCode(), cmd.err } -// Run will run command on the the remote host, writing the process stdout and stderr to +// RunWithInput will run command on the the remote host, writing the process stdout and stderr to // the given writers, and injecting the process stdin with the stdin reader. // Warning stdin (not stdout/stderr) are bufferized, which means reading only one byte in stdin will // send a winrm http packet to the remote host. If stdin is a pipe, it might be better for // performance reasons to buffer it. -func (client *Client) RunWithInput(command string, stdout io.Writer, stderr io.Writer, stdin io.Reader) (exitCode int, err error) { - shell, err := client.CreateShell() +func (c Client) RunWithInput(command string, stdout, stderr io.Writer, stdin io.Reader) (int, error) { + shell, err := c.CreateShell() if err != nil { - return 0, err + return 1, err } defer shell.Close() - var cmd *Command - cmd, err = shell.Execute(command) + cmd, err := shell.Execute(command) if err != nil { - return 0, err + return 1, err } + go io.Copy(cmd.Stdin, stdin) go io.Copy(stdout, cmd.Stdout) go io.Copy(stderr, cmd.Stderr) + cmd.Wait() + return cmd.ExitCode(), cmd.err } diff --git a/vendor/github.com/masterzen/winrm/winrm/command.go b/vendor/github.com/masterzen/winrm/command.go similarity index 50% rename from vendor/github.com/masterzen/winrm/winrm/command.go rename to vendor/github.com/masterzen/winrm/command.go index d8c4a7d31..4d2372a5d 100644 --- a/vendor/github.com/masterzen/winrm/winrm/command.go +++ b/vendor/github.com/masterzen/winrm/command.go @@ -22,12 +22,12 @@ type commandReader struct { // Command represents a given command running on a Shell. This structure allows to get access // to the various stdout, stderr and stdin pipes. type Command struct { - client *Client - shell *Shell - commandId string - exitCode int - finished bool - err error + client *Client + shell *Shell + id string + exitCode int + finished bool + err error Stdin *commandWriter Stdout *commandReader @@ -37,10 +37,22 @@ type Command struct { cancel chan struct{} } -func newCommand(shell *Shell, commandId string) *Command { - command := &Command{shell: shell, client: shell.client, commandId: commandId, exitCode: 1, err: nil, done: make(chan struct{}), cancel: make(chan struct{})} - command.Stdin = &commandWriter{Command: command, eof: false} +func newCommand(shell *Shell, ids string) *Command { + command := &Command{ + shell: shell, + client: shell.client, + id: ids, + exitCode: 0, + err: nil, + done: make(chan struct{}), + cancel: make(chan struct{}), + } + command.Stdout = newCommandReader("stdout", command) + command.Stdin = &commandWriter{ + Command: command, + eof: false, + } command.Stderr = newCommandReader("stderr", command) go fetchOutput(command) @@ -50,7 +62,12 @@ func newCommand(shell *Shell, commandId string) *Command { func newCommandReader(stream string, command *Command) *commandReader { read, write := io.Pipe() - return &commandReader{Command: command, stream: stream, write: write, read: read} + return &commandReader{ + Command: command, + stream: stream, + write: write, + read: read, + } } func fetchOutput(command *Command) { @@ -70,122 +87,132 @@ func fetchOutput(command *Command) { } } -func (command *Command) check() (err error) { - if command.commandId == "" { +func (c *Command) check() error { + if c.id == "" { return errors.New("Command has already been closed") } - if command.shell == nil { + if c.shell == nil { return errors.New("Command has no associated shell") } - if command.client == nil { + if c.client == nil { return errors.New("Command has no associated client") } - return + return nil } // Close will terminate the running command -func (command *Command) Close() (err error) { - if err = command.check(); err != nil { +func (c *Command) Close() error { + if err := c.check(); err != nil { return err } select { // close cancel channel if it's still open - case <-command.cancel: + case <-c.cancel: default: - close(command.cancel) + close(c.cancel) } - request := NewSignalRequest(command.client.url, command.shell.ShellId, command.commandId, &command.client.Parameters) + request := NewSignalRequest(c.client.url, c.shell.id, c.id, &c.client.Parameters) defer request.Free() - _, err = command.client.sendRequest(request) + _, err := c.client.sendRequest(request) return err } -func (command *Command) slurpAllOutput() (finished bool, err error) { - if err = command.check(); err != nil { - command.Stderr.write.CloseWithError(err) - command.Stdout.write.CloseWithError(err) +func (c *Command) slurpAllOutput() (bool, error) { + if err := c.check(); err != nil { + c.Stderr.write.CloseWithError(err) + c.Stdout.write.CloseWithError(err) return true, err } - request := NewGetOutputRequest(command.client.url, command.shell.ShellId, command.commandId, "stdout stderr", &command.client.Parameters) + request := NewGetOutputRequest(c.client.url, c.shell.id, c.id, "stdout stderr", &c.client.Parameters) defer request.Free() - response, err := command.client.sendRequest(request) + response, err := c.client.sendRequest(request) if err != nil { if strings.Contains(err.Error(), "OperationTimeout") { // Operation timeout because there was no command output - return + return false, err + } + if strings.Contains(err.Error(), "EOF") { + c.exitCode = 16001 } - command.Stderr.write.CloseWithError(err) - command.Stdout.write.CloseWithError(err) + c.Stderr.write.CloseWithError(err) + c.Stdout.write.CloseWithError(err) return true, err } var exitCode int var stdout, stderr bytes.Buffer - finished, exitCode, err = ParseSlurpOutputErrResponse(response, &stdout, &stderr) + finished, exitCode, err := ParseSlurpOutputErrResponse(response, &stdout, &stderr) if err != nil { - command.Stderr.write.CloseWithError(err) - command.Stdout.write.CloseWithError(err) + c.Stderr.write.CloseWithError(err) + c.Stdout.write.CloseWithError(err) return true, err } if stdout.Len() > 0 { - command.Stdout.write.Write(stdout.Bytes()) + c.Stdout.write.Write(stdout.Bytes()) } if stderr.Len() > 0 { - command.Stderr.write.Write(stderr.Bytes()) + c.Stderr.write.Write(stderr.Bytes()) } if finished { - command.exitCode = exitCode - command.Stderr.write.Close() - command.Stdout.write.Close() + c.exitCode = exitCode + c.Stderr.write.Close() + c.Stdout.write.Close() } - return + return finished, nil } -func (command *Command) sendInput(data []byte) (err error) { - if err = command.check(); err != nil { +func (c *Command) sendInput(data []byte) error { + if err := c.check(); err != nil { return err } - request := NewSendInputRequest(command.client.url, command.shell.ShellId, command.commandId, data, &command.client.Parameters) + request := NewSendInputRequest(c.client.url, c.shell.id, c.id, data, &c.client.Parameters) defer request.Free() - _, err = command.client.sendRequest(request) - return + _, err := c.client.sendRequest(request) + return err } // ExitCode returns command exit code when it is finished. Before that the result is always 0. -func (command *Command) ExitCode() int { - return command.exitCode +func (c *Command) ExitCode() int { + return c.exitCode } -// Calling this function will block the current goroutine until the remote command terminates. -func (command *Command) Wait() { +// Wait function will block the current goroutine until the remote command terminates. +func (c *Command) Wait() { // block until finished - <-command.done + <-c.done } // Write data to this Pipe -func (w *commandWriter) Write(data []byte) (written int, err error) { +// commandWriter implements io.Writer interface +func (w *commandWriter) Write(data []byte) (int, error) { + + var ( + written int + err error + ) + for len(data) > 0 { if w.eof { - err = io.EOF - return + return written, io.EOF } // never send more data than our EnvelopeSize. n := min(w.client.Parameters.EnvelopeSize-1000, len(data)) - if err = w.sendInput(data[:n]); err != nil { + if err := w.sendInput(data[:n]); err != nil { break } data = data[n:] - written += int(n) + written += n } - return + + return written, err } func min(a int, b int) int { @@ -195,6 +222,8 @@ func min(a int, b int) int { return b } +// Close method wrapper +// commandWriter implements io.Closer interface func (w *commandWriter) Close() error { w.eof = true return w.Close() diff --git a/vendor/github.com/masterzen/winrm/endpoint.go b/vendor/github.com/masterzen/winrm/endpoint.go new file mode 100644 index 000000000..c81df4989 --- /dev/null +++ b/vendor/github.com/masterzen/winrm/endpoint.go @@ -0,0 +1,61 @@ +package winrm + +import ( + "fmt" + "time" +) + +// Endpoint struct holds configurations +// for the server endpoint +type Endpoint struct { + // host name or ip address + Host string + // port to determine if it's http or https default + // winrm ports (http:5985, https:5986).Versions + // of winrm can be customized to listen on other ports + Port int + // set the flag true for https connections + HTTPS bool + // set the flag true for skipping ssl verifications + Insecure bool + // pointer pem certs, and key + CACert []byte // cert auth to intdetify the server cert + Key []byte // public key for client auth connections + Cert []byte // cert for client auth connections + // duration timeout for the underling tcp conn(http/https base protocol) + // if the time exceeds the connection is cloded/timeouts + Timeout time.Duration +} + +func (ep *Endpoint) url() string { + var scheme string + if ep.HTTPS { + scheme = "https" + } else { + scheme = "http" + } + + return fmt.Sprintf("%s://%s:%d/wsman", scheme, ep.Host, ep.Port) +} + +// NewEndpoint returns new pointer to struct Endpoint, with a default 60s response header timeout +func NewEndpoint(host string, port int, https bool, insecure bool, Cacert, cert, key []byte, timeout time.Duration) *Endpoint { + endpoint := &Endpoint{ + Host: host, + Port: port, + HTTPS: https, + Insecure: insecure, + CACert: Cacert, + Key: key, + Cert: cert, + } + // if the timeout was set + if timeout != 0 { + endpoint.Timeout = timeout + } else { + // assign default 60sec timeout + endpoint.Timeout = 60 * time.Second + } + + return endpoint +} diff --git a/vendor/github.com/masterzen/winrm/error.go b/vendor/github.com/masterzen/winrm/error.go new file mode 100644 index 000000000..aaa50dcfe --- /dev/null +++ b/vendor/github.com/masterzen/winrm/error.go @@ -0,0 +1,13 @@ +package winrm + +import "fmt" + +// errWinrm generic error struct +type errWinrm struct { + message string +} + +// ErrWinrm implements the Error type interface +func (e errWinrm) Error() string { + return fmt.Sprintf("%s", e.message) +} diff --git a/vendor/github.com/masterzen/winrm/http.go b/vendor/github.com/masterzen/winrm/http.go new file mode 100644 index 000000000..8b3355cfd --- /dev/null +++ b/vendor/github.com/masterzen/winrm/http.go @@ -0,0 +1,58 @@ +package winrm + +import ( + "fmt" + "io/ioutil" + "net/http" + "strings" + + "github.com/masterzen/winrm/soap" +) + +var soapXML = "application/soap+xml" + +// HttpPost type func for handling http requests +type HttpPost func(*Client, *soap.SoapMessage) (string, error) + +// body func reads the response body and return it as a string +func body(response *http.Response) (string, error) { + + // if we recived the content we expected + if strings.Contains(response.Header.Get("Content-Type"), "application/soap+xml") { + body, err := ioutil.ReadAll(response.Body) + defer response.Body.Close() + if err != nil { + return "", fmt.Errorf("error while reading request body %s", err) + } + + return string(body), nil + } + + return "", fmt.Errorf("invalid content type") +} + +// PostRequest make post to the winrm soap service +func PostRequest(client *Client, request *soap.SoapMessage) (string, error) { + httpClient := &http.Client{Transport: client.transport} + + req, err := http.NewRequest("POST", client.url, strings.NewReader(request.String())) + if err != nil { + return "", fmt.Errorf("impossible to create http request %s", err) + } + req.Header.Set("Content-Type", soapXML+";charset=UTF-8") + req.SetBasicAuth(client.username, client.password) + resp, err := httpClient.Do(req) + if err != nil { + return "", fmt.Errorf("unknown error %s", err) + } + + body, err := body(resp) + if err != nil { + return "", fmt.Errorf("http response error: %d - %s", resp.StatusCode, err.Error()) + } + if resp.StatusCode != 200 { + return "", fmt.Errorf("http error: %d - %s", resp.StatusCode, body) + } + + return body, err +} diff --git a/vendor/github.com/masterzen/winrm/parameters.go b/vendor/github.com/masterzen/winrm/parameters.go new file mode 100644 index 000000000..a9bbf2a9b --- /dev/null +++ b/vendor/github.com/masterzen/winrm/parameters.go @@ -0,0 +1,28 @@ +package winrm + +import ( + "net/http" +) + +// Parameters struct defines +// metadata information and http transport config +type Parameters struct { + Timeout string + Locale string + EnvelopeSize int + TransportDecorator func(*http.Transport) http.RoundTripper +} + +// DefaultParameters return constant config +// of type Parameters +var DefaultParameters = NewParameters("PT60S", "en-US", 153600) + +// NewParameters return new struct of type Parameters +// this struct makes the configuration for the request, size message, etc. +func NewParameters(timeout, locale string, envelopeSize int) *Parameters { + return &Parameters{ + Timeout: timeout, + Locale: locale, + EnvelopeSize: envelopeSize, + } +} diff --git a/vendor/github.com/masterzen/winrm/winrm/powershell.go b/vendor/github.com/masterzen/winrm/powershell.go similarity index 83% rename from vendor/github.com/masterzen/winrm/winrm/powershell.go rename to vendor/github.com/masterzen/winrm/powershell.go index 5544bc69d..423f03816 100644 --- a/vendor/github.com/masterzen/winrm/winrm/powershell.go +++ b/vendor/github.com/masterzen/winrm/powershell.go @@ -5,7 +5,8 @@ import ( "fmt" ) -// Wraps a PowerShell script and prepares it for execution by the winrm client +// Powershell wraps a PowerShell script +// and prepares it for execution by the winrm client func Powershell(psCmd string) string { // 2 byte chars to make PowerShell happy wideCmd := "" diff --git a/vendor/github.com/masterzen/winrm/request.go b/vendor/github.com/masterzen/winrm/request.go new file mode 100644 index 000000000..8e43449bb --- /dev/null +++ b/vendor/github.com/masterzen/winrm/request.go @@ -0,0 +1,155 @@ +package winrm + +import ( + "encoding/base64" + + "github.com/masterzen/winrm/soap" + "github.com/nu7hatch/gouuid" +) + +func genUUID() string { + uuid, _ := uuid.NewV4() + return "uuid:" + uuid.String() +} + +func defaultHeaders(message *soap.SoapMessage, url string, params *Parameters) *soap.SoapHeader { + return message. + Header(). + To(url). + ReplyTo("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"). + MaxEnvelopeSize(params.EnvelopeSize). + Id(genUUID()). + Locale(params.Locale). + Timeout(params.Timeout) +} + +//NewOpenShellRequest makes a new soap request +func NewOpenShellRequest(uri string, params *Parameters) *soap.SoapMessage { + if params == nil { + params = DefaultParameters + } + + message := soap.NewMessage() + defaultHeaders(message, uri, params). + Action("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"). + ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd"). + AddOption(soap.NewHeaderOption("WINRS_NOPROFILE", "FALSE")). + AddOption(soap.NewHeaderOption("WINRS_CODEPAGE", "65001")). + Build() + + body := message.CreateBodyElement("Shell", soap.NS_WIN_SHELL) + input := message.CreateElement(body, "InputStreams", soap.NS_WIN_SHELL) + input.SetContent("stdin") + output := message.CreateElement(body, "OutputStreams", soap.NS_WIN_SHELL) + output.SetContent("stdout stderr") + + return message +} + +// NewDeleteShellRequest ... +func NewDeleteShellRequest(uri, shellId string, params *Parameters) *soap.SoapMessage { + if params == nil { + params = DefaultParameters + } + message := soap.NewMessage() + defaultHeaders(message, uri, params). + Action("http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"). + ShellId(shellId). + ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd"). + Build() + + message.NewBody() + + return message +} + +// NewExecuteCommandRequest exec command on specific shellID +func NewExecuteCommandRequest(uri, shellId, command string, arguments []string, params *Parameters) *soap.SoapMessage { + if params == nil { + params = DefaultParameters + } + message := soap.NewMessage() + defaultHeaders(message, uri, params). + Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Command"). + ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd"). + ShellId(shellId). + AddOption(soap.NewHeaderOption("WINRS_CONSOLEMODE_STDIN", "TRUE")). + AddOption(soap.NewHeaderOption("WINRS_SKIP_CMD_SHELL", "FALSE")). + Build() + + body := message.CreateBodyElement("CommandLine", soap.NS_WIN_SHELL) + + // ensure special characters like & don't mangle the request XML + command = "" + commandElement := message.CreateElement(body, "Command", soap.NS_WIN_SHELL) + commandElement.SetContent(command) + + for _, arg := range arguments { + arg = "" + argumentsElement := message.CreateElement(body, "Arguments", soap.NS_WIN_SHELL) + argumentsElement.SetContent(arg) + } + + return message +} + +func NewGetOutputRequest(uri, shellId, commandId, streams string, params *Parameters) *soap.SoapMessage { + if params == nil { + params = DefaultParameters + } + message := soap.NewMessage() + defaultHeaders(message, uri, params). + Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Receive"). + ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd"). + ShellId(shellId). + Build() + + receive := message.CreateBodyElement("Receive", soap.NS_WIN_SHELL) + desiredStreams := message.CreateElement(receive, "DesiredStream", soap.NS_WIN_SHELL) + desiredStreams.SetAttr("CommandId", commandId) + desiredStreams.SetContent(streams) + + return message +} + +func NewSendInputRequest(uri, shellId, commandId string, input []byte, params *Parameters) *soap.SoapMessage { + if params == nil { + params = DefaultParameters + } + message := soap.NewMessage() + + defaultHeaders(message, uri, params). + Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Send"). + ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd"). + ShellId(shellId). + Build() + + content := base64.StdEncoding.EncodeToString(input) + + send := message.CreateBodyElement("Send", soap.NS_WIN_SHELL) + streams := message.CreateElement(send, "Stream", soap.NS_WIN_SHELL) + streams.SetAttr("Name", "stdin") + streams.SetAttr("CommandId", commandId) + streams.SetContent(content) + return message +} + +func NewSignalRequest(uri string, shellId string, commandId string, params *Parameters) *soap.SoapMessage { + if params == nil { + params = DefaultParameters + } + message := soap.NewMessage() + + defaultHeaders(message, uri, params). + Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Signal"). + ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd"). + ShellId(shellId). + Build() + + signal := message.CreateBodyElement("Signal", soap.NS_WIN_SHELL) + signal.SetAttr("CommandId", commandId) + code := message.CreateElement(signal, "Code", soap.NS_WIN_SHELL) + code.SetContent("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/signal/terminate") + + return message +} diff --git a/vendor/github.com/masterzen/winrm/winrm/response.go b/vendor/github.com/masterzen/winrm/response.go similarity index 67% rename from vendor/github.com/masterzen/winrm/winrm/response.go rename to vendor/github.com/masterzen/winrm/response.go index ea02a87ae..52852313a 100644 --- a/vendor/github.com/masterzen/winrm/winrm/response.go +++ b/vendor/github.com/masterzen/winrm/response.go @@ -3,61 +3,70 @@ package winrm import ( "encoding/base64" "fmt" - "github.com/masterzen/winrm/soap" - "github.com/masterzen/xmlpath" "io" "strconv" "strings" + + "github.com/masterzen/winrm/soap" + "github.com/masterzen/xmlpath" ) -func first(node *xmlpath.Node, xpath string) (content string, err error) { +func first(node *xmlpath.Node, xpath string) (string, error) { path, err := xmlpath.CompileWithNamespace(xpath, soap.GetAllNamespaces()) if err != nil { - return + return "", err } - content, _ = path.String(node) - return + content, _ := path.String(node) + return content, nil } -func any(node *xmlpath.Node, xpath string) (found bool, err error) { +func any(node *xmlpath.Node, xpath string) (bool, error) { path, err := xmlpath.CompileWithNamespace(xpath, soap.GetAllNamespaces()) if err != nil { - return + return false, err } - found = path.Exists(node) - return + return path.Exists(node), nil + } -func xpath(node *xmlpath.Node, xpath string) (nodes []xmlpath.Node, err error) { +func xpath(node *xmlpath.Node, xpath string) ([]xmlpath.Node, error) { path, err := xmlpath.CompileWithNamespace(xpath, soap.GetAllNamespaces()) if err != nil { - return + return nil, err } - nodes = make([]xmlpath.Node, 0, 1) + nodes := make([]xmlpath.Node, 0, 1) iter := path.Iter(node) for iter.Next() { nodes = append(nodes, *(iter.Node())) } - return + + return nodes, nil } -func ParseOpenShellResponse(response string) (shellId string, err error) { +func ParseOpenShellResponse(response string) (string, error) { doc, err := xmlpath.Parse(strings.NewReader(response)) - - shellId, err = first(doc, "//w:Selector[@Name='ShellId']") - return + if err != nil { + return "", err + } + return first(doc, "//w:Selector[@Name='ShellId']") } -func ParseExecuteCommandResponse(response string) (commandId string, err error) { +func ParseExecuteCommandResponse(response string) (string, error) { doc, err := xmlpath.Parse(strings.NewReader(response)) - - commandId, err = first(doc, "//rsp:CommandId") - return + if err != nil { + return "", err + } + return first(doc, "//rsp:CommandId") } -func ParseSlurpOutputErrResponse(response string, stdout io.Writer, stderr io.Writer) (finished bool, exitCode int, err error) { +func ParseSlurpOutputErrResponse(response string, stdout, stderr io.Writer) (bool, int, error) { + var ( + finished bool + exitCode int + ) + doc, err := xmlpath.Parse(strings.NewReader(response)) stdouts, _ := xpath(doc, "//rsp:Stream[@Name='stdout']") @@ -83,10 +92,15 @@ func ParseSlurpOutputErrResponse(response string, stdout io.Writer, stderr io.Wr finished = false } - return + return finished, exitCode, err } -func ParseSlurpOutputResponse(response string, stream io.Writer, streamType string) (finished bool, exitCode int, err error) { +func ParseSlurpOutputResponse(response string, stream io.Writer, streamType string) (bool, int, error) { + var ( + finished bool + exitCode int + ) + doc, err := xmlpath.Parse(strings.NewReader(response)) nodes, _ := xpath(doc, fmt.Sprintf("//rsp:Stream[@Name='%s']", streamType)) @@ -107,5 +121,5 @@ func ParseSlurpOutputResponse(response string, stream io.Writer, streamType stri finished = false } - return + return finished, exitCode, err } diff --git a/vendor/github.com/masterzen/winrm/shell.go b/vendor/github.com/masterzen/winrm/shell.go new file mode 100644 index 000000000..055fa891b --- /dev/null +++ b/vendor/github.com/masterzen/winrm/shell.go @@ -0,0 +1,36 @@ +package winrm + +// Shell is the local view of a WinRM Shell of a given Client +type Shell struct { + client *Client + id string +} + +// Execute command on the given Shell, returning either an error or a Command +func (s *Shell) Execute(command string, arguments ...string) (*Command, error) { + request := NewExecuteCommandRequest(s.client.url, s.id, command, arguments, &s.client.Parameters) + defer request.Free() + + response, err := s.client.sendRequest(request) + if err != nil { + return nil, err + } + + commandID, err := ParseExecuteCommandResponse(response) + if err != nil { + return nil, err + } + + cmd := newCommand(s, commandID) + + return cmd, nil +} + +// Close will terminate this shell. No commands can be issued once the shell is closed. +func (shell *Shell) Close() error { + request := NewDeleteShellRequest(shell.client.url, shell.id, &shell.client.Parameters) + defer request.Free() + + _, err := shell.client.sendRequest(request) + return err +} diff --git a/vendor/github.com/masterzen/winrm/soap/message.go b/vendor/github.com/masterzen/winrm/soap/message.go index d06c3085f..09c37bd46 100644 --- a/vendor/github.com/masterzen/winrm/soap/message.go +++ b/vendor/github.com/masterzen/winrm/soap/message.go @@ -19,7 +19,6 @@ type MessageBuilder interface { Header() *SoapHeader Doc() *dom.Document Free() - String() string } diff --git a/vendor/github.com/masterzen/winrm/winrm/endpoint.go b/vendor/github.com/masterzen/winrm/winrm/endpoint.go deleted file mode 100644 index 93e255d5e..000000000 --- a/vendor/github.com/masterzen/winrm/winrm/endpoint.go +++ /dev/null @@ -1,22 +0,0 @@ -package winrm - -import "fmt" - -type Endpoint struct { - Host string - Port int - HTTPS bool - Insecure bool - CACert *[]byte -} - -func (ep *Endpoint) url() string { - var scheme string - if ep.HTTPS { - scheme = "https" - } else { - scheme = "http" - } - - return fmt.Sprintf("%s://%s:%d/wsman", scheme, ep.Host, ep.Port) -} diff --git a/vendor/github.com/masterzen/winrm/winrm/http.go b/vendor/github.com/masterzen/winrm/winrm/http.go deleted file mode 100644 index 7e191e364..000000000 --- a/vendor/github.com/masterzen/winrm/winrm/http.go +++ /dev/null @@ -1,60 +0,0 @@ -package winrm - -import ( - "fmt" - "io/ioutil" - "net/http" - "strings" - - "github.com/masterzen/winrm/soap" -) - -var soapXML string = "application/soap+xml" - -type HttpPost func(*Client, *soap.SoapMessage) (string, error) - -func body(response *http.Response) (content string, err error) { - contentType := response.Header.Get("Content-Type") - if strings.HasPrefix(contentType, soapXML) { - var body []byte - body, err = ioutil.ReadAll(response.Body) - response.Body.Close() - if err != nil { - err = fmt.Errorf("error while reading request body %s", err) - return - } - - content = string(body) - return - } else { - err = fmt.Errorf("invalid content-type: %s", contentType) - return - } - return -} - -func Http_post(client *Client, request *soap.SoapMessage) (response string, err error) { - httpClient := &http.Client{Transport: client.transport} - - req, err := http.NewRequest("POST", client.url, strings.NewReader(request.String())) - if err != nil { - err = fmt.Errorf("impossible to create http request %s", err) - return - } - req.Header.Set("Content-Type", soapXML+";charset=UTF-8") - req.SetBasicAuth(client.username, client.password) - resp, err := httpClient.Do(req) - if err != nil { - err = fmt.Errorf("unknown error %s", err) - return - } - - if resp.StatusCode == 200 { - response, err = body(resp) - } else { - body, _ := ioutil.ReadAll(resp.Body) - err = fmt.Errorf("http error: %d - %s", resp.StatusCode, body) - } - - return -} diff --git a/vendor/github.com/masterzen/winrm/winrm/parameters.go b/vendor/github.com/masterzen/winrm/winrm/parameters.go deleted file mode 100644 index 099863b40..000000000 --- a/vendor/github.com/masterzen/winrm/winrm/parameters.go +++ /dev/null @@ -1,20 +0,0 @@ -package winrm - -import ( - "net/http" -) - -type Parameters struct { - Timeout string - Locale string - EnvelopeSize int - TransportDecorator func(*http.Transport) http.RoundTripper -} - -func DefaultParameters() *Parameters { - return NewParameters("PT60S", "en-US", 153600) -} - -func NewParameters(timeout string, locale string, envelopeSize int) *Parameters { - return &Parameters{Timeout: timeout, Locale: locale, EnvelopeSize: envelopeSize} -} diff --git a/vendor/github.com/masterzen/winrm/winrm/request.go b/vendor/github.com/masterzen/winrm/winrm/request.go deleted file mode 100644 index f9ad8285b..000000000 --- a/vendor/github.com/masterzen/winrm/winrm/request.go +++ /dev/null @@ -1,116 +0,0 @@ -package winrm - -import ( - "encoding/base64" - - "github.com/masterzen/winrm/soap" - "github.com/nu7hatch/gouuid" -) - -func genUUID() string { - uuid, _ := uuid.NewV4() - return "uuid:" + uuid.String() -} - -func defaultHeaders(message *soap.SoapMessage, url string, params *Parameters) (h *soap.SoapHeader) { - h = message.Header() - h.To(url).ReplyTo("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous").MaxEnvelopeSize(params.EnvelopeSize).Id(genUUID()).Locale(params.Locale).Timeout(params.Timeout) - return -} - -func NewOpenShellRequest(uri string, params *Parameters) (message *soap.SoapMessage) { - if params == nil { - params = DefaultParameters() - } - message = soap.NewMessage() - defaultHeaders(message, uri, params).Action("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create").ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd").AddOption(soap.NewHeaderOption("WINRS_NOPROFILE", "FALSE")).AddOption(soap.NewHeaderOption("WINRS_CODEPAGE", "65001")).Build() - - body := message.CreateBodyElement("Shell", soap.NS_WIN_SHELL) - input := message.CreateElement(body, "InputStreams", soap.NS_WIN_SHELL) - input.SetContent("stdin") - output := message.CreateElement(body, "OutputStreams", soap.NS_WIN_SHELL) - output.SetContent("stdout stderr") - return -} - -func NewDeleteShellRequest(uri string, shellId string, params *Parameters) (message *soap.SoapMessage) { - if params == nil { - params = DefaultParameters() - } - message = soap.NewMessage() - defaultHeaders(message, uri, params).Action("http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete").ShellId(shellId).ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd").Build() - - message.NewBody() - - return -} - -func NewExecuteCommandRequest(uri, shellId, command string, arguments []string, params *Parameters) (message *soap.SoapMessage) { - if params == nil { - params = DefaultParameters() - } - message = soap.NewMessage() - defaultHeaders(message, uri, params).Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Command").ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd").ShellId(shellId).AddOption(soap.NewHeaderOption("WINRS_CONSOLEMODE_STDIN", "TRUE")).AddOption(soap.NewHeaderOption("WINRS_SKIP_CMD_SHELL", "FALSE")).Build() - body := message.CreateBodyElement("CommandLine", soap.NS_WIN_SHELL) - - // ensure special characters like & don't mangle the request XML - command = "" - commandElement := message.CreateElement(body, "Command", soap.NS_WIN_SHELL) - commandElement.SetContent(command) - - for _, arg := range arguments { - arg = "" - argumentsElement := message.CreateElement(body, "Arguments", soap.NS_WIN_SHELL) - argumentsElement.SetContent(arg) - } - - return -} - -func NewGetOutputRequest(uri string, shellId string, commandId string, streams string, params *Parameters) (message *soap.SoapMessage) { - if params == nil { - params = DefaultParameters() - } - message = soap.NewMessage() - defaultHeaders(message, uri, params).Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Receive").ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd").ShellId(shellId).Build() - - receive := message.CreateBodyElement("Receive", soap.NS_WIN_SHELL) - desiredStreams := message.CreateElement(receive, "DesiredStream", soap.NS_WIN_SHELL) - desiredStreams.SetAttr("CommandId", commandId) - desiredStreams.SetContent(streams) - return -} - -func NewSendInputRequest(uri string, shellId string, commandId string, input []byte, params *Parameters) (message *soap.SoapMessage) { - if params == nil { - params = DefaultParameters() - } - message = soap.NewMessage() - - defaultHeaders(message, uri, params).Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Send").ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd").ShellId(shellId).Build() - - content := base64.StdEncoding.EncodeToString(input) - - send := message.CreateBodyElement("Send", soap.NS_WIN_SHELL) - streams := message.CreateElement(send, "Stream", soap.NS_WIN_SHELL) - streams.SetAttr("Name", "stdin") - streams.SetAttr("CommandId", commandId) - streams.SetContent(content) - return -} - -func NewSignalRequest(uri string, shellId string, commandId string, params *Parameters) (message *soap.SoapMessage) { - if params == nil { - params = DefaultParameters() - } - message = soap.NewMessage() - - defaultHeaders(message, uri, params).Action("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Signal").ResourceURI("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd").ShellId(shellId).Build() - - signal := message.CreateBodyElement("Signal", soap.NS_WIN_SHELL) - signal.SetAttr("CommandId", commandId) - code := message.CreateElement(signal, "Code", soap.NS_WIN_SHELL) - code.SetContent("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/signal/terminate") - - return -} diff --git a/vendor/github.com/masterzen/winrm/winrm/shell.go b/vendor/github.com/masterzen/winrm/winrm/shell.go deleted file mode 100644 index a14518280..000000000 --- a/vendor/github.com/masterzen/winrm/winrm/shell.go +++ /dev/null @@ -1,31 +0,0 @@ -package winrm - -// Shell is the local view of a WinRM Shell of a given Client -type Shell struct { - client *Client - ShellId string -} - -// Execute command on the given Shell, returning either an error or a Command -func (shell *Shell) Execute(command string, arguments ...string) (cmd *Command, err error) { - request := NewExecuteCommandRequest(shell.client.url, shell.ShellId, command, arguments, &shell.client.Parameters) - defer request.Free() - - response, err := shell.client.sendRequest(request) - if err == nil { - var commandId string - if commandId, err = ParseExecuteCommandResponse(response); err == nil { - cmd = newCommand(shell, commandId) - } - } - return -} - -// Close will terminate this shell. No commands can be issued once the shell is closed. -func (shell *Shell) Close() (err error) { - request := NewDeleteShellRequest(shell.client.url, shell.ShellId, &shell.client.Parameters) - defer request.Free() - - _, err = shell.client.sendRequest(request) - return -} diff --git a/vendor/github.com/packer-community/winrmcp/winrmcp/cp.go b/vendor/github.com/packer-community/winrmcp/winrmcp/cp.go index 1065e4529..18d77c322 100644 --- a/vendor/github.com/packer-community/winrmcp/winrmcp/cp.go +++ b/vendor/github.com/packer-community/winrmcp/winrmcp/cp.go @@ -9,19 +9,22 @@ import ( "os" "sync" - "github.com/masterzen/winrm/winrm" - "github.com/mitchellh/packer/common/uuid" + "github.com/masterzen/winrm" + "github.com/nu7hatch/gouuid" ) func doCopy(client *winrm.Client, config *Config, in io.Reader, toPath string) error { - tempFile := fmt.Sprintf("winrmcp-%s.tmp", uuid.TimeOrderedUUID()) + tempFile, err := tempFileName() + if err != nil { + return errors.New(fmt.Sprintf("Error generating unique filename: %v", err)) + } tempPath := "$env:TEMP\\" + tempFile if os.Getenv("WINRMCP_DEBUG") != "" { log.Printf("Copying file to %s\n", tempPath) } - err := uploadContent(client, config.MaxOperationsPerShell, "%TEMP%\\"+tempFile, in) + err = uploadContent(client, config.MaxOperationsPerShell, "%TEMP%\\"+tempFile, in) if err != nil { return errors.New(fmt.Sprintf("Error uploading file to %s: %v", tempPath, err)) } @@ -113,7 +116,7 @@ func restoreContent(client *winrm.Client, fromPath, toPath string) error { defer shell.Close() script := fmt.Sprintf(` $tmp_file_path = [System.IO.Path]::GetFullPath("%s") - $dest_file_path = [System.IO.Path]::GetFullPath("%s") + $dest_file_path = [System.IO.Path]::GetFullPath("%s".Trim("'")) if (Test-Path $dest_file_path) { rm $dest_file_path } @@ -198,3 +201,12 @@ func appendContent(shell *winrm.Shell, filePath, content string) error { return nil } + +func tempFileName() (string, error) { + uniquePart, err := uuid.NewV4() + if err != nil { + return "", err + } + + return fmt.Sprintf("winrmcp-%s.tmp", uniquePart), nil +} diff --git a/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go b/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go index ccd7d0d12..d26004f39 100644 --- a/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go +++ b/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go @@ -6,11 +6,12 @@ import ( "net" "strconv" "strings" + "time" - "github.com/masterzen/winrm/winrm" + "github.com/masterzen/winrm" ) -func parseEndpoint(addr string, https bool, insecure bool, caCert []byte) (*winrm.Endpoint, error) { +func parseEndpoint(addr string, https bool, insecure bool, caCert []byte, timeout time.Duration) (*winrm.Endpoint, error) { var host string var port int @@ -37,6 +38,7 @@ func parseEndpoint(addr string, https bool, insecure bool, caCert []byte) (*winr Port: port, HTTPS: https, Insecure: insecure, - CACert: &caCert, + CACert: caCert, + Timeout: timeout, }, nil } diff --git a/vendor/github.com/packer-community/winrmcp/winrmcp/ls.go b/vendor/github.com/packer-community/winrmcp/winrmcp/ls.go index 1a6cbaf5c..72dcc0423 100644 --- a/vendor/github.com/packer-community/winrmcp/winrmcp/ls.go +++ b/vendor/github.com/packer-community/winrmcp/winrmcp/ls.go @@ -8,7 +8,7 @@ import ( "os" "strconv" - "github.com/masterzen/winrm/winrm" + "github.com/masterzen/winrm" ) type FileItem struct { diff --git a/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go b/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go index 5374fdba5..88a7ef1b2 100644 --- a/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go +++ b/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go @@ -6,12 +6,10 @@ type pslist struct { type psobject struct { Properties []psproperty `xml:"Property"` - Value string `xml:",innerxml"` + Value string `xml:",innerxml"` } type psproperty struct { Name string `xml:"Name,attr"` Value string `xml:",innerxml"` } - - diff --git a/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go b/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go index d41061b4b..a53d3b915 100644 --- a/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go +++ b/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go @@ -10,7 +10,7 @@ import ( "time" "github.com/dylanmei/iso8601" - "github.com/masterzen/winrm/winrm" + "github.com/masterzen/winrm" ) type Winrmcp struct { @@ -23,6 +23,7 @@ type Config struct { Https bool Insecure bool CACertBytes []byte + ConnectTimeout time.Duration OperationTimeout time.Duration MaxOperationsPerShell int TransportDecorator func(*http.Transport) http.RoundTripper @@ -34,7 +35,7 @@ type Auth struct { } func New(addr string, config *Config) (*Winrmcp, error) { - endpoint, err := parseEndpoint(addr, config.Https, config.Insecure, config.CACertBytes) + endpoint, err := parseEndpoint(addr, config.Https, config.Insecure, config.CACertBytes, config.ConnectTimeout) if err != nil { return nil, err } @@ -42,7 +43,12 @@ func New(addr string, config *Config) (*Winrmcp, error) { config = &Config{} } - params := winrm.DefaultParameters() + params := winrm.NewParameters( + winrm.DefaultParameters.Timeout, + winrm.DefaultParameters.Locale, + winrm.DefaultParameters.EnvelopeSize, + ) + if config.TransportDecorator != nil { params.TransportDecorator = config.TransportDecorator } From 6376d2744f25f28e62d173f2ea32ef2a4a4310f0 Mon Sep 17 00:00:00 2001 From: Rickard von Essen Date: Sat, 1 Oct 2016 22:44:19 +0200 Subject: [PATCH 02/10] builder/googlecompute: Properly vendor test dependencies Properly vendor github.com/stretchr/testify/assert --- Godeps/Godeps.json | 7 +- builder/googlecompute/image.go | 3 + vendor/github.com/davecgh/go-spew/LICENSE | 2 + .../github.com/davecgh/go-spew/spew/bypass.go | 7 +- .../davecgh/go-spew/spew/bypasssafe.go | 7 +- .../github.com/davecgh/go-spew/spew/config.go | 2 +- .../testify/assert/assertion_forward.go | 167 +++++++----------- .../stretchr/testify/assert/assertions.go | 101 ++++++++--- .../testify/assert/http_assertions.go | 2 +- 9 files changed, 159 insertions(+), 139 deletions(-) diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 846a563cb..617ede1ee 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -248,7 +248,8 @@ }, { "ImportPath": "github.com/davecgh/go-spew/spew", - "Rev": "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d" + "Comment": "v1.0.0-3-g6d21280", + "Rev": "6d212800a42e8ab5c146b8ace3490ee17e5225f9" }, { "ImportPath": "github.com/dgrijalva/jwt-go", @@ -552,8 +553,8 @@ }, { "ImportPath": "github.com/stretchr/testify/assert", - "Comment": "v1.1.3-19-gd77da35", - "Rev": "d77da356e56a7428ad25149ca77381849a6a5232" + "Comment": "v1.1.4-4-g976c720", + "Rev": "976c720a22c8eb4eb6a0b4348ad85ad12491a506" }, { "ImportPath": "github.com/tent/http-link-go", diff --git a/builder/googlecompute/image.go b/builder/googlecompute/image.go index 11fe7df55..41306f88d 100644 --- a/builder/googlecompute/image.go +++ b/builder/googlecompute/image.go @@ -2,6 +2,9 @@ package googlecompute import ( "strings" + + // To get test dependencies managed by Godeps + _ "github.com/stretchr/testify/assert" ) type Image struct { diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE index 2a7cfd2bf..bb6733231 100644 --- a/vendor/github.com/davecgh/go-spew/LICENSE +++ b/vendor/github.com/davecgh/go-spew/LICENSE @@ -1,3 +1,5 @@ +ISC License + Copyright (c) 2012-2013 Dave Collins Permission to use, copy, modify, and distribute this software for any diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go index 565bf5899..d42a0bc4a 100644 --- a/vendor/github.com/davecgh/go-spew/spew/bypass.go +++ b/vendor/github.com/davecgh/go-spew/spew/bypass.go @@ -13,9 +13,10 @@ // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. // NOTE: Due to the following build constraints, this file will only be compiled -// when the code is not running on Google App Engine and "-tags disableunsafe" -// is not added to the go build command line. -// +build !appengine,!disableunsafe +// when the code is not running on Google App Engine, compiled by GopherJS, and +// "-tags safe" is not added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build !js,!appengine,!safe,!disableunsafe package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go index 457e41235..e47a4e795 100644 --- a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go +++ b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go @@ -13,9 +13,10 @@ // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. // NOTE: Due to the following build constraints, this file will only be compiled -// when either the code is running on Google App Engine or "-tags disableunsafe" -// is added to the go build command line. -// +build appengine disableunsafe +// when the code is running on Google App Engine, compiled by GopherJS, or +// "-tags safe" is added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build js appengine safe disableunsafe package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/config.go b/vendor/github.com/davecgh/go-spew/spew/config.go index ee1ab07b3..555282723 100644 --- a/vendor/github.com/davecgh/go-spew/spew/config.go +++ b/vendor/github.com/davecgh/go-spew/spew/config.go @@ -64,7 +64,7 @@ type ConfigState struct { // inside these interface methods. As a result, this option relies on // access to the unsafe package, so it will not have any effect when // running in environments without access to the unsafe package such as - // Google App Engine or with the "disableunsafe" build tag specified. + // Google App Engine or with the "safe" build tag specified. DisablePointerMethods bool // ContinueOnMethod specifies whether or not recursion should continue once diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go b/vendor/github.com/stretchr/testify/assert/assertion_forward.go index e6a796046..29b71d176 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_forward.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go @@ -1,386 +1,345 @@ /* * CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen * THIS FILE MUST NOT BE EDITED BY HAND -*/ + */ package assert import ( - http "net/http" url "net/url" time "time" ) - // Condition uses a Comparison to assert a complex condition. func (a *Assertions) Condition(comp Comparison, msgAndArgs ...interface{}) bool { return Condition(a.t, comp, msgAndArgs...) } - // Contains asserts that the specified string, list(array, slice...) or map contains the // specified substring or element. -// +// // a.Contains("Hello World", "World", "But 'Hello World' does contain 'World'") // a.Contains(["Hello", "World"], "World", "But ["Hello", "World"] does contain 'World'") // a.Contains({"Hello": "World"}, "Hello", "But {'Hello': 'World'} does contain 'Hello'") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool { return Contains(a.t, s, contains, msgAndArgs...) } - // Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either // a slice or a channel with len == 0. -// +// // a.Empty(obj) -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { return Empty(a.t, object, msgAndArgs...) } - // Equal asserts that two objects are equal. -// +// // a.Equal(123, 123, "123 and 123 should be equal") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { return Equal(a.t, expected, actual, msgAndArgs...) } - // EqualError asserts that a function returned an error (i.e. not `nil`) // and that it is equal to the provided error. -// +// // actualObj, err := SomeFunction() -// if assert.Error(t, err, "An error was expected") { -// assert.Equal(t, err, expectedError) -// } -// +// a.EqualError(err, expectedErrorString, "An error was expected") +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) bool { return EqualError(a.t, theError, errString, msgAndArgs...) } - // EqualValues asserts that two objects are equal or convertable to the same types // and equal. -// +// // a.EqualValues(uint32(123), int32(123), "123 and 123 should be equal") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { return EqualValues(a.t, expected, actual, msgAndArgs...) } - // Error asserts that a function returned an error (i.e. not `nil`). -// +// // actualObj, err := SomeFunction() // if a.Error(err, "An error was expected") { // assert.Equal(t, err, expectedError) // } -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool { return Error(a.t, err, msgAndArgs...) } - // Exactly asserts that two objects are equal is value and type. -// +// // a.Exactly(int32(123), int64(123), "123 and 123 should NOT be equal") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { return Exactly(a.t, expected, actual, msgAndArgs...) } - // Fail reports a failure through func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) bool { return Fail(a.t, failureMessage, msgAndArgs...) } - // FailNow fails test func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) bool { return FailNow(a.t, failureMessage, msgAndArgs...) } - // False asserts that the specified value is false. -// +// // a.False(myBool, "myBool should be false") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) False(value bool, msgAndArgs ...interface{}) bool { return False(a.t, value, msgAndArgs...) } - // HTTPBodyContains asserts that a specified handler returns a // body that contains a string. -// +// // a.HTTPBodyContains(myHandler, "www.google.com", nil, "I'm Feeling Lucky") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}) bool { return HTTPBodyContains(a.t, handler, method, url, values, str) } - // HTTPBodyNotContains asserts that a specified handler returns a // body that does not contain a string. -// +// // a.HTTPBodyNotContains(myHandler, "www.google.com", nil, "I'm Feeling Lucky") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}) bool { return HTTPBodyNotContains(a.t, handler, method, url, values, str) } - // HTTPError asserts that a specified handler returns an error status code. -// +// // a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values) bool { return HTTPError(a.t, handler, method, url, values) } - // HTTPRedirect asserts that a specified handler returns a redirect status code. -// +// // a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values) bool { return HTTPRedirect(a.t, handler, method, url, values) } - // HTTPSuccess asserts that a specified handler returns a success status code. -// +// // a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil) -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values) bool { return HTTPSuccess(a.t, handler, method, url, values) } - // Implements asserts that an object is implemented by the specified interface. -// +// // a.Implements((*MyInterface)(nil), new(MyObject), "MyObject") func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool { return Implements(a.t, interfaceObject, object, msgAndArgs...) } - // InDelta asserts that the two numerals are within delta of each other. -// +// // a.InDelta(math.Pi, (22 / 7.0), 0.01) -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { return InDelta(a.t, expected, actual, delta, msgAndArgs...) } - // InDeltaSlice is the same as InDelta, except it compares two slices. func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { return InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...) } - // InEpsilon asserts that expected and actual have a relative error less than epsilon -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { return InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...) } - -// InEpsilonSlice is the same as InEpsilon, except it compares two slices. -func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { - return InEpsilonSlice(a.t, expected, actual, delta, msgAndArgs...) +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + return InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...) } - // IsType asserts that the specified objects are of the same type. func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { return IsType(a.t, expectedType, object, msgAndArgs...) } - // JSONEq asserts that two JSON strings are equivalent. -// +// // a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) bool { return JSONEq(a.t, expected, actual, msgAndArgs...) } - // Len asserts that the specified object has specific length. // Len also fails if the object has a type that len() not accept. -// +// // a.Len(mySlice, 3, "The size of slice is not 3") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) bool { return Len(a.t, object, length, msgAndArgs...) } - // Nil asserts that the specified object is nil. -// +// // a.Nil(err, "err should be nothing") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) bool { return Nil(a.t, object, msgAndArgs...) } - // NoError asserts that a function returned no error (i.e. `nil`). -// +// // actualObj, err := SomeFunction() // if a.NoError(err) { // assert.Equal(t, actualObj, expectedObj) // } -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) bool { return NoError(a.t, err, msgAndArgs...) } - // NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the // specified substring or element. -// +// // a.NotContains("Hello World", "Earth", "But 'Hello World' does NOT contain 'Earth'") // a.NotContains(["Hello", "World"], "Earth", "But ['Hello', 'World'] does NOT contain 'Earth'") // a.NotContains({"Hello": "World"}, "Earth", "But {'Hello': 'World'} does NOT contain 'Earth'") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool { return NotContains(a.t, s, contains, msgAndArgs...) } - // NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either // a slice or a channel with len == 0. -// +// // if a.NotEmpty(obj) { // assert.Equal(t, "two", obj[1]) // } -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) bool { return NotEmpty(a.t, object, msgAndArgs...) } - // NotEqual asserts that the specified values are NOT equal. -// +// // a.NotEqual(obj1, obj2, "two objects shouldn't be equal") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { return NotEqual(a.t, expected, actual, msgAndArgs...) } - // NotNil asserts that the specified object is not nil. -// +// // a.NotNil(err, "err should be something") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) bool { return NotNil(a.t, object, msgAndArgs...) } - // NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. -// +// // a.NotPanics(func(){ // RemainCalm() // }, "Calling RemainCalm() should NOT panic") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NotPanics(f PanicTestFunc, msgAndArgs ...interface{}) bool { return NotPanics(a.t, f, msgAndArgs...) } - // NotRegexp asserts that a specified regexp does not match a string. -// +// // a.NotRegexp(regexp.MustCompile("starts"), "it's starting") // a.NotRegexp("^start", "it's not starting") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { return NotRegexp(a.t, rx, str, msgAndArgs...) } - // NotZero asserts that i is not the zero value for its type and returns the truth. func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) bool { return NotZero(a.t, i, msgAndArgs...) } - // Panics asserts that the code inside the specified PanicTestFunc panics. -// +// // a.Panics(func(){ // GoCrazy() // }, "Calling GoCrazy() should panic") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Panics(f PanicTestFunc, msgAndArgs ...interface{}) bool { return Panics(a.t, f, msgAndArgs...) } - // Regexp asserts that a specified regexp matches a string. -// +// // a.Regexp(regexp.MustCompile("start"), "it's starting") // a.Regexp("start...$", "it's not starting") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { return Regexp(a.t, rx, str, msgAndArgs...) } - // True asserts that the specified value is true. -// +// // a.True(myBool, "myBool should be true") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) True(value bool, msgAndArgs ...interface{}) bool { return True(a.t, value, msgAndArgs...) } - // WithinDuration asserts that the two times are within duration delta of each other. -// +// // a.WithinDuration(time.Now(), time.Now(), 10*time.Second, "The difference should not be more than 10s") -// +// // Returns whether the assertion was successful (true) or not (false). func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool { return WithinDuration(a.t, expected, actual, delta, msgAndArgs...) } - // Zero asserts that i is the zero value for its type and returns the truth. func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) bool { return Zero(a.t, i, msgAndArgs...) diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go index 348d5f1bc..835084ffc 100644 --- a/vendor/github.com/stretchr/testify/assert/assertions.go +++ b/vendor/github.com/stretchr/testify/assert/assertions.go @@ -18,6 +18,10 @@ import ( "github.com/pmezard/go-difflib/difflib" ) +func init() { + spew.Config.SortKeys = true +} + // TestingT is an interface wrapper around *testing.T type TestingT interface { Errorf(format string, args ...interface{}) @@ -65,7 +69,7 @@ func ObjectsAreEqualValues(expected, actual interface{}) bool { /* CallerInfo is necessary because the assert functions use the testing object internally, causing it to print the file:line of the assert method, rather than where -the problem actually occured in calling code.*/ +the problem actually occurred in calling code.*/ // CallerInfo returns an array of strings containing the file and line number // of each stack frame leading from the current test to the assert call that @@ -82,7 +86,9 @@ func CallerInfo() []string { for i := 0; ; i++ { pc, file, line, ok = runtime.Caller(i) if !ok { - return nil + // The breaks below failed to terminate the loop, and we ran off the + // end of the call stack. + break } // This is a huge edge case, but it will panic if this is the case, see #180 @@ -90,6 +96,21 @@ func CallerInfo() []string { break } + f := runtime.FuncForPC(pc) + if f == nil { + break + } + name = f.Name() + + // testing.tRunner is the standard library function that calls + // tests. Subtests are called directly by tRunner, without going through + // the Test/Benchmark/Example function that contains the t.Run calls, so + // with subtests we should break when we hit tRunner, without adding it + // to the list of callers. + if name == "testing.tRunner" { + break + } + parts := strings.Split(file, "/") dir := parts[len(parts)-2] file = parts[len(parts)-1] @@ -97,11 +118,6 @@ func CallerInfo() []string { callers = append(callers, fmt.Sprintf("%s:%d", file, line)) } - f := runtime.FuncForPC(pc) - if f == nil { - break - } - name = f.Name() // Drop the package segments := strings.Split(name, ".") name = segments[len(segments)-1] @@ -262,14 +278,48 @@ func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) if !ObjectsAreEqual(expected, actual) { diff := diff(expected, actual) - return Fail(t, fmt.Sprintf("Not equal: %#v (expected)\n"+ - " != %#v (actual)%s", expected, actual, diff), msgAndArgs...) + expected, actual = formatUnequalValues(expected, actual) + return Fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "received: %s%s", expected, actual, diff), msgAndArgs...) } return true } +// formatUnequalValues takes two values of arbitrary types and returns string +// representations appropriate to be presented to the user. +// +// If the values are not of like type, the returned strings will be prefixed +// with the type name, and the value will be enclosed in parenthesis similar +// to a type conversion in the Go grammar. +func formatUnequalValues(expected, actual interface{}) (e string, a string) { + aType := reflect.TypeOf(expected) + bType := reflect.TypeOf(actual) + + if aType != bType && isNumericType(aType) && isNumericType(bType) { + return fmt.Sprintf("%v(%#v)", aType, expected), + fmt.Sprintf("%v(%#v)", bType, actual) + } + + return fmt.Sprintf("%#v", expected), + fmt.Sprintf("%#v", actual) +} + +func isNumericType(t reflect.Type) bool { + switch t.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return true + case reflect.Float32, reflect.Float64: + return true + } + + return false +} + // EqualValues asserts that two objects are equal or convertable to the same types // and equal. // @@ -279,8 +329,11 @@ func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { if !ObjectsAreEqualValues(expected, actual) { - return Fail(t, fmt.Sprintf("Not equal: %#v (expected)\n"+ - " != %#v (actual)", expected, actual), msgAndArgs...) + diff := diff(expected, actual) + expected, actual = formatUnequalValues(expected, actual) + return Fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "received: %s%s", expected, actual, diff), msgAndArgs...) } return true @@ -833,7 +886,7 @@ func InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, m // Returns whether the assertion was successful (true) or not (false). func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { if err != nil { - return Fail(t, fmt.Sprintf("Received unexpected error %q", err), msgAndArgs...) + return Fail(t, fmt.Sprintf("Received unexpected error:\n%+v", err), msgAndArgs...) } return true @@ -849,9 +902,8 @@ func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { // Returns whether the assertion was successful (true) or not (false). func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { - message := messageFromMsgAndArgs(msgAndArgs...) if err == nil { - return Fail(t, "An error is expected but got nil. %s", message) + return Fail(t, "An error is expected but got nil.", msgAndArgs...) } return true @@ -861,20 +913,22 @@ func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { // and that it is equal to the provided error. // // actualObj, err := SomeFunction() -// if assert.Error(t, err, "An error was expected") { -// assert.Equal(t, err, expectedError) -// } +// assert.EqualError(t, err, expectedErrorString, "An error was expected") // // Returns whether the assertion was successful (true) or not (false). func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) bool { - - message := messageFromMsgAndArgs(msgAndArgs...) - if !NotNil(t, theError, "An error is expected but got nil. %s", message) { + if !Error(t, theError, msgAndArgs...) { return false } - s := "An error with value \"%s\" is expected but got \"%s\". %s" - return Equal(t, errString, theError.Error(), - s, errString, theError.Error(), message) + expected := errString + actual := theError.Error() + // don't need to use deep equals here, we know they are both strings + if expected != actual { + return Fail(t, fmt.Sprintf("Error message not equal:\n"+ + "expected: %q\n"+ + "received: %q", expected, actual), msgAndArgs...) + } + return true } // matchRegexp return true if a specified regexp matches a string. @@ -989,7 +1043,6 @@ func diff(expected interface{}, actual interface{}) string { return "" } - spew.Config.SortKeys = true e := spew.Sdump(expected) a := spew.Sdump(actual) diff --git a/vendor/github.com/stretchr/testify/assert/http_assertions.go b/vendor/github.com/stretchr/testify/assert/http_assertions.go index e1b9442b5..fa7ab89b1 100644 --- a/vendor/github.com/stretchr/testify/assert/http_assertions.go +++ b/vendor/github.com/stretchr/testify/assert/http_assertions.go @@ -99,7 +99,7 @@ func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url strin contains := strings.Contains(body, fmt.Sprint(str)) if contains { - Fail(t, "Expected response body for %s to NOT contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body) + Fail(t, fmt.Sprintf("Expected response body for \"%s\" to NOT contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body)) } return !contains From 8431fd5f4106fc4a3a13bd38c0e57fcf5ec5508d Mon Sep 17 00:00:00 2001 From: Rickard von Essen Date: Sat, 1 Oct 2016 22:53:30 +0200 Subject: [PATCH 03/10] Drop unused vendored deps --- Godeps/Godeps.json | 46 -- vendor/github.com/ActiveState/tail/.gitignore | 3 - .../github.com/ActiveState/tail/.travis.yml | 13 - vendor/github.com/ActiveState/tail/CHANGES.md | 57 -- vendor/github.com/ActiveState/tail/Dockerfile | 19 - .../github.com/ActiveState/tail/LICENSE.txt | 23 - vendor/github.com/ActiveState/tail/Makefile | 11 - vendor/github.com/ActiveState/tail/README.md | 27 - .../ActiveState/tail/cmd/gotail/.gitignore | 1 - .../ActiveState/tail/cmd/gotail/Makefile | 4 - .../ActiveState/tail/cmd/gotail/gotail.go | 64 -- vendor/github.com/ActiveState/tail/deps.json | 14 - .../ActiveState/tail/ratelimiter/Licence | 7 - .../tail/ratelimiter/leakybucket.go | 97 --- .../ActiveState/tail/ratelimiter/memory.go | 58 -- .../ActiveState/tail/ratelimiter/storage.go | 6 - vendor/github.com/ActiveState/tail/tail.go | 419 ------------- .../github.com/ActiveState/tail/tail_posix.go | 11 - .../ActiveState/tail/tail_windows.go | 12 - .../github.com/ActiveState/tail/util/util.go | 47 -- .../ActiveState/tail/watch/filechanges.go | 42 -- .../ActiveState/tail/watch/inotify.go | 119 ---- .../ActiveState/tail/watch/inotify_tracker.go | 254 -------- .../ActiveState/tail/watch/polling.go | 119 ---- .../ActiveState/tail/watch/watch.go | 19 - .../ActiveState/tail/winfile/winfile.go | 92 --- .../approvals/go-approval-tests/.gitignore | 25 - .../approvals/go-approval-tests/LICENSE.md | 201 ------- .../approvals/go-approval-tests/README.md | 53 -- .../go-approval-tests/approval_name.go | 130 ---- .../approvals/go-approval-tests/approvals.go | 204 ------- .../combination_approvals.go | 296 --------- .../reporters/all_failing.go | 18 - .../reporters/beyond_compare.go | 15 - .../go-approval-tests/reporters/clipboard.go | 66 --- .../reporters/continuous_integration.go | 28 - .../reporters/diff_reporter.go | 40 -- .../reporters/file_launcher.go | 27 - .../go-approval-tests/reporters/intellij.go | 15 - .../go-approval-tests/reporters/newbie.go | 18 - .../go-approval-tests/reporters/quiet.go | 29 - .../go-approval-tests/reporters/reporter.go | 53 -- .../utils/collection_utils.go | 77 --- .../go-approval-tests/utils/file_utils.go | 24 - .../go-approval-tests/utils/testing_utils.go | 11 - .../hpcloud/tail/ratelimiter/Licence | 7 - .../hpcloud/tail/ratelimiter/leakybucket.go | 97 --- .../hpcloud/tail/ratelimiter/memory.go | 58 -- .../hpcloud/tail/ratelimiter/storage.go | 6 - vendor/github.com/hpcloud/tail/util/util.go | 47 -- .../hpcloud/tail/watch/filechanges.go | 42 -- .../github.com/hpcloud/tail/watch/inotify.go | 119 ---- .../hpcloud/tail/watch/inotify_tracker.go | 254 -------- .../github.com/hpcloud/tail/watch/polling.go | 119 ---- vendor/github.com/hpcloud/tail/watch/watch.go | 19 - .../hpcloud/tail/winfile/winfile.go | 92 --- vendor/gopkg.in/fsnotify.v1/.gitignore | 6 - vendor/gopkg.in/fsnotify.v1/.travis.yml | 23 - vendor/gopkg.in/fsnotify.v1/AUTHORS | 40 -- vendor/gopkg.in/fsnotify.v1/CHANGELOG.md | 283 --------- vendor/gopkg.in/fsnotify.v1/CONTRIBUTING.md | 77 --- vendor/gopkg.in/fsnotify.v1/LICENSE | 28 - vendor/gopkg.in/fsnotify.v1/README.md | 64 -- vendor/gopkg.in/fsnotify.v1/fsnotify.go | 62 -- vendor/gopkg.in/fsnotify.v1/inotify.go | 324 ---------- vendor/gopkg.in/fsnotify.v1/inotify_poller.go | 186 ------ vendor/gopkg.in/fsnotify.v1/kqueue.go | 502 ---------------- vendor/gopkg.in/fsnotify.v1/open_mode_bsd.go | 11 - .../gopkg.in/fsnotify.v1/open_mode_darwin.go | 12 - vendor/gopkg.in/fsnotify.v1/windows.go | 561 ------------------ vendor/gopkg.in/tomb.v1/LICENSE | 29 - vendor/gopkg.in/tomb.v1/README.md | 4 - vendor/gopkg.in/tomb.v1/tomb.go | 176 ------ 73 files changed, 6162 deletions(-) delete mode 100644 vendor/github.com/ActiveState/tail/.gitignore delete mode 100644 vendor/github.com/ActiveState/tail/.travis.yml delete mode 100644 vendor/github.com/ActiveState/tail/CHANGES.md delete mode 100644 vendor/github.com/ActiveState/tail/Dockerfile delete mode 100644 vendor/github.com/ActiveState/tail/LICENSE.txt delete mode 100644 vendor/github.com/ActiveState/tail/Makefile delete mode 100644 vendor/github.com/ActiveState/tail/README.md delete mode 100644 vendor/github.com/ActiveState/tail/cmd/gotail/.gitignore delete mode 100644 vendor/github.com/ActiveState/tail/cmd/gotail/Makefile delete mode 100644 vendor/github.com/ActiveState/tail/cmd/gotail/gotail.go delete mode 100644 vendor/github.com/ActiveState/tail/deps.json delete mode 100644 vendor/github.com/ActiveState/tail/ratelimiter/Licence delete mode 100644 vendor/github.com/ActiveState/tail/ratelimiter/leakybucket.go delete mode 100644 vendor/github.com/ActiveState/tail/ratelimiter/memory.go delete mode 100644 vendor/github.com/ActiveState/tail/ratelimiter/storage.go delete mode 100644 vendor/github.com/ActiveState/tail/tail.go delete mode 100644 vendor/github.com/ActiveState/tail/tail_posix.go delete mode 100644 vendor/github.com/ActiveState/tail/tail_windows.go delete mode 100644 vendor/github.com/ActiveState/tail/util/util.go delete mode 100644 vendor/github.com/ActiveState/tail/watch/filechanges.go delete mode 100644 vendor/github.com/ActiveState/tail/watch/inotify.go delete mode 100644 vendor/github.com/ActiveState/tail/watch/inotify_tracker.go delete mode 100644 vendor/github.com/ActiveState/tail/watch/polling.go delete mode 100644 vendor/github.com/ActiveState/tail/watch/watch.go delete mode 100644 vendor/github.com/ActiveState/tail/winfile/winfile.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/.gitignore delete mode 100644 vendor/github.com/approvals/go-approval-tests/LICENSE.md delete mode 100644 vendor/github.com/approvals/go-approval-tests/README.md delete mode 100644 vendor/github.com/approvals/go-approval-tests/approval_name.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/approvals.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/combination_approvals.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/intellij.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/newbie.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/quiet.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/reporter.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/utils/file_utils.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go delete mode 100644 vendor/github.com/hpcloud/tail/ratelimiter/Licence delete mode 100644 vendor/github.com/hpcloud/tail/ratelimiter/leakybucket.go delete mode 100644 vendor/github.com/hpcloud/tail/ratelimiter/memory.go delete mode 100644 vendor/github.com/hpcloud/tail/ratelimiter/storage.go delete mode 100644 vendor/github.com/hpcloud/tail/util/util.go delete mode 100644 vendor/github.com/hpcloud/tail/watch/filechanges.go delete mode 100644 vendor/github.com/hpcloud/tail/watch/inotify.go delete mode 100644 vendor/github.com/hpcloud/tail/watch/inotify_tracker.go delete mode 100644 vendor/github.com/hpcloud/tail/watch/polling.go delete mode 100644 vendor/github.com/hpcloud/tail/watch/watch.go delete mode 100644 vendor/github.com/hpcloud/tail/winfile/winfile.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/.gitignore delete mode 100644 vendor/gopkg.in/fsnotify.v1/.travis.yml delete mode 100644 vendor/gopkg.in/fsnotify.v1/AUTHORS delete mode 100644 vendor/gopkg.in/fsnotify.v1/CHANGELOG.md delete mode 100644 vendor/gopkg.in/fsnotify.v1/CONTRIBUTING.md delete mode 100644 vendor/gopkg.in/fsnotify.v1/LICENSE delete mode 100644 vendor/gopkg.in/fsnotify.v1/README.md delete mode 100644 vendor/gopkg.in/fsnotify.v1/fsnotify.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/inotify.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/inotify_poller.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/kqueue.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/open_mode_bsd.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/open_mode_darwin.go delete mode 100644 vendor/gopkg.in/fsnotify.v1/windows.go delete mode 100644 vendor/gopkg.in/tomb.v1/LICENSE delete mode 100644 vendor/gopkg.in/tomb.v1/README.md delete mode 100644 vendor/gopkg.in/tomb.v1/tomb.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 617ede1ee..3ba9eb437 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -3,11 +3,6 @@ "GoVersion": "go1.6", "GodepVersion": "v74", "Deps": [ - { - "ImportPath": "github.com/ActiveState/tail", - "Comment": "v0-41-g1a0242e", - "Rev": "1a0242e795eeefe54261ff308dc685f7d29cc58c" - }, { "ImportPath": "github.com/Azure/azure-sdk-for-go/arm/compute", "Comment": "v3.1.0-beta", @@ -66,18 +61,6 @@ "ImportPath": "github.com/armon/go-radix", "Rev": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2" }, - { - "ImportPath": "github.com/approvals/go-approval-tests", - "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" - }, - { - "ImportPath": "github.com/approvals/go-approval-tests/reporters", - "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" - }, - { - "ImportPath": "github.com/approvals/go-approval-tests/utils", - "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" - }, { "ImportPath": "github.com/aws/aws-sdk-go/aws", "Comment": "v1.4.6", @@ -324,26 +307,6 @@ "ImportPath": "github.com/hashicorp/yamux", "Rev": "df949784da9ed028ee76df44652e42d37a09d7e4" }, - { - "ImportPath": "github.com/hpcloud/tail/ratelimiter", - "Comment": "v0-41-g1a0242e", - "Rev": "1a0242e795eeefe54261ff308dc685f7d29cc58c" - }, - { - "ImportPath": "github.com/hpcloud/tail/util", - "Comment": "v0-41-g1a0242e", - "Rev": "1a0242e795eeefe54261ff308dc685f7d29cc58c" - }, - { - "ImportPath": "github.com/hpcloud/tail/watch", - "Comment": "v0-41-g1a0242e", - "Rev": "1a0242e795eeefe54261ff308dc685f7d29cc58c" - }, - { - "ImportPath": "github.com/hpcloud/tail/winfile", - "Comment": "v0-41-g1a0242e", - "Rev": "1a0242e795eeefe54261ff308dc685f7d29cc58c" - }, { "ImportPath": "github.com/jmespath/go-jmespath", "Comment": "0.2.2-2-gc01cf91", @@ -676,15 +639,6 @@ "ImportPath": "google.golang.org/cloud/internal", "Rev": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" }, - { - "ImportPath": "gopkg.in/fsnotify.v1", - "Comment": "v1.2.9", - "Rev": "8611c35ab31c1c28aa903d33cf8b6e44a399b09e" - }, - { - "ImportPath": "gopkg.in/tomb.v1", - "Rev": "dd632973f1e7218eb1089048e0798ec9ae7dceb8" - }, { "ImportPath": "gopkg.in/xmlpath.v2", "Rev": "860cbeca3ebcc600db0b213c0e83ad6ce91f5739" diff --git a/vendor/github.com/ActiveState/tail/.gitignore b/vendor/github.com/ActiveState/tail/.gitignore deleted file mode 100644 index 6d9953c3c..000000000 --- a/vendor/github.com/ActiveState/tail/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.test -.go - diff --git a/vendor/github.com/ActiveState/tail/.travis.yml b/vendor/github.com/ActiveState/tail/.travis.yml deleted file mode 100644 index 15fbdbcff..000000000 --- a/vendor/github.com/ActiveState/tail/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: go - -script: - - go test -race -v ./... - -go: - - 1.3.3 - - 1.4.3 - - 1.5.2 - -install: - - go get gopkg.in/fsnotify.v1 - - go get gopkg.in/tomb.v1 diff --git a/vendor/github.com/ActiveState/tail/CHANGES.md b/vendor/github.com/ActiveState/tail/CHANGES.md deleted file mode 100644 index 3725d1e24..000000000 --- a/vendor/github.com/ActiveState/tail/CHANGES.md +++ /dev/null @@ -1,57 +0,0 @@ -# API current (gopkg.in/ActiveState/tail) - -## July, 2015 - -* Fix inotify watcher leak; remove `Cleanup` (#51) - -# API v0 (gopkg.in/ActiveState/tail.v0) - -## June, 2015 - -* Don't return partial lines (PR #40) -* Use stable version of fsnotify (#46) - -## July, 2014 - -* Fix tail for Windows (PR #36) - -## May, 2014 - -* Improved rate limiting using leaky bucket (PR #29) -* Fix odd line splitting (PR #30) - -## Apr, 2014 - -* LimitRate now discards read buffer (PR #28) -* allow reading of longer lines if MaxLineSize is unset (PR #24) -* updated deps.json to latest fsnotify (441bbc86b1) - -## Feb, 2014 - -* added `Config.Logger` to suppress library logging - -## Nov, 2013 - -* add Cleanup to remove leaky inotify watches (PR #20) - -## Aug, 2013 - -* redesigned Location field (PR #12) -* add tail.Tell (PR #14) - -## July, 2013 - -* Rate limiting (PR #10) - -## May, 2013 - -* Detect file deletions/renames in polling file watcher (PR #1) -* Detect file truncation -* Fix potential race condition when reopening the file (issue 5) -* Fix potential blocking of `tail.Stop` (issue 4) -* Fix uncleaned up ChangeEvents goroutines after calling tail.Stop -* Support Follow=false - -## Feb, 2013 - -* Initial open source release diff --git a/vendor/github.com/ActiveState/tail/Dockerfile b/vendor/github.com/ActiveState/tail/Dockerfile deleted file mode 100644 index cd297b940..000000000 --- a/vendor/github.com/ActiveState/tail/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM golang - -RUN mkdir -p $GOPATH/src/github.com/hpcloud/tail/ -ADD . $GOPATH/src/github.com/hpcloud/tail/ - -# expecting to fetch dependencies successfully. -RUN go get -v github.com/hpcloud/tail - -# expecting to run the test successfully. -RUN go test -v github.com/hpcloud/tail - -# expecting to install successfully -RUN go install -v github.com/hpcloud/tail -RUN go install -v github.com/hpcloud/tail/cmd/gotail - -RUN $GOPATH/bin/gotail -h || true - -ENV PATH $GOPATH/bin:$PATH -CMD ["gotail"] diff --git a/vendor/github.com/ActiveState/tail/LICENSE.txt b/vendor/github.com/ActiveState/tail/LICENSE.txt deleted file mode 100644 index ea07fde89..000000000 --- a/vendor/github.com/ActiveState/tail/LICENSE.txt +++ /dev/null @@ -1,23 +0,0 @@ -# This is the MIT license - -# Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/vendor/github.com/ActiveState/tail/Makefile b/vendor/github.com/ActiveState/tail/Makefile deleted file mode 100644 index 9ac927db1..000000000 --- a/vendor/github.com/ActiveState/tail/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -default: test - -test: *.go - go test -v ./... - -fmt: - gofmt -w . - -# Run the test in an isolated environment. -fulltest: - docker build -t hpcloud/tail . diff --git a/vendor/github.com/ActiveState/tail/README.md b/vendor/github.com/ActiveState/tail/README.md deleted file mode 100644 index e494ab5ff..000000000 --- a/vendor/github.com/ActiveState/tail/README.md +++ /dev/null @@ -1,27 +0,0 @@ -[![Build Status](https://travis-ci.org/hpcloud/tail.svg)](https://travis-ci.org/hpcloud/tail) - -# Go package for tail-ing files - -A Go package striving to emulate the features of the BSD `tail` program. - -```Go -t, err := tail.TailFile("/var/log/nginx.log", tail.Config{Follow: true}) -for line := range t.Lines { - fmt.Println(line.Text) -} -``` - -See [API documentation](http://godoc.org/github.com/hpcloud/tail). - -## Log rotation - -Tail comes with full support for truncation/move detection as it is -designed to work with log rotation tools. - -## Installing - - go get github.com/hpcloud/tail/... - -## Windows support - -This package [needs assistance](https://github.com/hpcloud/tail/labels/Windows) for full Windows support. diff --git a/vendor/github.com/ActiveState/tail/cmd/gotail/.gitignore b/vendor/github.com/ActiveState/tail/cmd/gotail/.gitignore deleted file mode 100644 index 6249af5fb..000000000 --- a/vendor/github.com/ActiveState/tail/cmd/gotail/.gitignore +++ /dev/null @@ -1 +0,0 @@ -gotail diff --git a/vendor/github.com/ActiveState/tail/cmd/gotail/Makefile b/vendor/github.com/ActiveState/tail/cmd/gotail/Makefile deleted file mode 100644 index 6b5a2d957..000000000 --- a/vendor/github.com/ActiveState/tail/cmd/gotail/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -default: gotail - -gotail: *.go ../../*.go - go build diff --git a/vendor/github.com/ActiveState/tail/cmd/gotail/gotail.go b/vendor/github.com/ActiveState/tail/cmd/gotail/gotail.go deleted file mode 100644 index c63b58286..000000000 --- a/vendor/github.com/ActiveState/tail/cmd/gotail/gotail.go +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package main - -import ( - "flag" - "fmt" - "github.com/hpcloud/tail" - "os" -) - -func args2config() (tail.Config, int64) { - config := tail.Config{Follow: true} - n := int64(0) - maxlinesize := int(0) - flag.Int64Var(&n, "n", 0, "tail from the last Nth location") - flag.IntVar(&maxlinesize, "max", 0, "max line size") - flag.BoolVar(&config.Follow, "f", false, "wait for additional data to be appended to the file") - flag.BoolVar(&config.ReOpen, "F", false, "follow, and track file rename/rotation") - flag.BoolVar(&config.Poll, "p", false, "use polling, instead of inotify") - flag.Parse() - if config.ReOpen { - config.Follow = true - } - config.MaxLineSize = maxlinesize - return config, n -} - -func main() { - config, n := args2config() - if flag.NFlag() < 1 { - fmt.Println("need one or more files as arguments") - os.Exit(1) - } - - if n != 0 { - config.Location = &tail.SeekInfo{-n, os.SEEK_END} - } - - done := make(chan bool) - for _, filename := range flag.Args() { - go tailFile(filename, config, done) - } - - for _, _ = range flag.Args() { - <-done - } -} - -func tailFile(filename string, config tail.Config, done chan bool) { - defer func() { done <- true }() - t, err := tail.TailFile(filename, config) - if err != nil { - fmt.Println(err) - return - } - for line := range t.Lines { - fmt.Println(line.Text) - } - err = t.Wait() - if err != nil { - fmt.Println(err) - } -} diff --git a/vendor/github.com/ActiveState/tail/deps.json b/vendor/github.com/ActiveState/tail/deps.json deleted file mode 100644 index 87e78bdde..000000000 --- a/vendor/github.com/ActiveState/tail/deps.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "github.com/howeyc/fsnotify": { - "repo": "http://github.com/howeyc/fsnotify.git", - "version": "441bbc86b167", - "type": "git-clone", - "alias": "github.com/howeyc/fsnotify" - }, - "gopkg.in/tomb.v1": { - "repo": "https://github.com/go-tomb/tomb.git", - "version": "c131134a1947e9afd9cecfe11f4c6dff0732ae58", - "type": "git-clone", - "alias": "gopkg.in/tomb.v1" - } -} diff --git a/vendor/github.com/ActiveState/tail/ratelimiter/Licence b/vendor/github.com/ActiveState/tail/ratelimiter/Licence deleted file mode 100644 index 434aab19f..000000000 --- a/vendor/github.com/ActiveState/tail/ratelimiter/Licence +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (C) 2013 99designs - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/ActiveState/tail/ratelimiter/leakybucket.go b/vendor/github.com/ActiveState/tail/ratelimiter/leakybucket.go deleted file mode 100644 index 358b69e7f..000000000 --- a/vendor/github.com/ActiveState/tail/ratelimiter/leakybucket.go +++ /dev/null @@ -1,97 +0,0 @@ -// Package ratelimiter implements the Leaky Bucket ratelimiting algorithm with memcached and in-memory backends. -package ratelimiter - -import ( - "time" -) - -type LeakyBucket struct { - Size uint16 - Fill float64 - LeakInterval time.Duration // time.Duration for 1 unit of size to leak - Lastupdate time.Time - Now func() time.Time -} - -func NewLeakyBucket(size uint16, leakInterval time.Duration) *LeakyBucket { - bucket := LeakyBucket{ - Size: size, - Fill: 0, - LeakInterval: leakInterval, - Now: time.Now, - Lastupdate: time.Now(), - } - - return &bucket -} - -func (b *LeakyBucket) updateFill() { - now := b.Now() - if b.Fill > 0 { - elapsed := now.Sub(b.Lastupdate) - - b.Fill -= float64(elapsed) / float64(b.LeakInterval) - if b.Fill < 0 { - b.Fill = 0 - } - } - b.Lastupdate = now -} - -func (b *LeakyBucket) Pour(amount uint16) bool { - b.updateFill() - - var newfill float64 = b.Fill + float64(amount) - - if newfill > float64(b.Size) { - return false - } - - b.Fill = newfill - - return true -} - -// The time at which this bucket will be completely drained -func (b *LeakyBucket) DrainedAt() time.Time { - return b.Lastupdate.Add(time.Duration(b.Fill * float64(b.LeakInterval))) -} - -// The duration until this bucket is completely drained -func (b *LeakyBucket) TimeToDrain() time.Duration { - return b.DrainedAt().Sub(b.Now()) -} - -func (b *LeakyBucket) TimeSinceLastUpdate() time.Duration { - return b.Now().Sub(b.Lastupdate) -} - -type LeakyBucketSer struct { - Size uint16 - Fill float64 - LeakInterval time.Duration // time.Duration for 1 unit of size to leak - Lastupdate time.Time -} - -func (b *LeakyBucket) Serialise() *LeakyBucketSer { - bucket := LeakyBucketSer{ - Size: b.Size, - Fill: b.Fill, - LeakInterval: b.LeakInterval, - Lastupdate: b.Lastupdate, - } - - return &bucket -} - -func (b *LeakyBucketSer) DeSerialise() *LeakyBucket { - bucket := LeakyBucket{ - Size: b.Size, - Fill: b.Fill, - LeakInterval: b.LeakInterval, - Lastupdate: b.Lastupdate, - Now: time.Now, - } - - return &bucket -} diff --git a/vendor/github.com/ActiveState/tail/ratelimiter/memory.go b/vendor/github.com/ActiveState/tail/ratelimiter/memory.go deleted file mode 100644 index 8f6a5784a..000000000 --- a/vendor/github.com/ActiveState/tail/ratelimiter/memory.go +++ /dev/null @@ -1,58 +0,0 @@ -package ratelimiter - -import ( - "errors" - "time" -) - -const GC_SIZE int = 100 - -type Memory struct { - store map[string]LeakyBucket - lastGCCollected time.Time -} - -func NewMemory() *Memory { - m := new(Memory) - m.store = make(map[string]LeakyBucket) - m.lastGCCollected = time.Now() - return m -} - -func (m *Memory) GetBucketFor(key string) (*LeakyBucket, error) { - - bucket, ok := m.store[key] - if !ok { - return nil, errors.New("miss") - } - - return &bucket, nil -} - -func (m *Memory) SetBucketFor(key string, bucket LeakyBucket) error { - - if len(m.store) > GC_SIZE { - m.GarbageCollect() - } - - m.store[key] = bucket - - return nil -} - -func (m *Memory) GarbageCollect() { - now := time.Now() - - // rate limit GC to once per minute - if now.Add(60*time.Second).Unix() > m.lastGCCollected.Unix() { - - for key, bucket := range m.store { - // if the bucket is drained, then GC - if bucket.DrainedAt().Unix() > now.Unix() { - delete(m.store, key) - } - } - - m.lastGCCollected = now - } -} diff --git a/vendor/github.com/ActiveState/tail/ratelimiter/storage.go b/vendor/github.com/ActiveState/tail/ratelimiter/storage.go deleted file mode 100644 index 89b2fe882..000000000 --- a/vendor/github.com/ActiveState/tail/ratelimiter/storage.go +++ /dev/null @@ -1,6 +0,0 @@ -package ratelimiter - -type Storage interface { - GetBucketFor(string) (*LeakyBucket, error) - SetBucketFor(string, LeakyBucket) error -} diff --git a/vendor/github.com/ActiveState/tail/tail.go b/vendor/github.com/ActiveState/tail/tail.go deleted file mode 100644 index 1bae11c32..000000000 --- a/vendor/github.com/ActiveState/tail/tail.go +++ /dev/null @@ -1,419 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package tail - -import ( - "bufio" - "fmt" - "io" - "io/ioutil" - "log" - "os" - "strings" - "sync" - "time" - - "github.com/hpcloud/tail/ratelimiter" - "github.com/hpcloud/tail/util" - "github.com/hpcloud/tail/watch" - "gopkg.in/tomb.v1" -) - -var ( - ErrStop = fmt.Errorf("tail should now stop") -) - -type Line struct { - Text string - Time time.Time - Err error // Error from tail -} - -// NewLine returns a Line with present time. -func NewLine(text string) *Line { - return &Line{text, time.Now(), nil} -} - -// SeekInfo represents arguments to `os.Seek` -type SeekInfo struct { - Offset int64 - Whence int // os.SEEK_* -} - -type logger interface { - Fatal(v ...interface{}) - Fatalf(format string, v ...interface{}) - Fatalln(v ...interface{}) - Panic(v ...interface{}) - Panicf(format string, v ...interface{}) - Panicln(v ...interface{}) - Print(v ...interface{}) - Printf(format string, v ...interface{}) - Println(v ...interface{}) -} - -// Config is used to specify how a file must be tailed. -type Config struct { - // File-specifc - Location *SeekInfo // Seek to this location before tailing - ReOpen bool // Reopen recreated files (tail -F) - MustExist bool // Fail early if the file does not exist - Poll bool // Poll for file changes instead of using inotify - Pipe bool // Is a named pipe (mkfifo) - RateLimiter *ratelimiter.LeakyBucket - - // Generic IO - Follow bool // Continue looking for new lines (tail -f) - MaxLineSize int // If non-zero, split longer lines into multiple lines - - // Logger, when nil, is set to tail.DefaultLogger - // To disable logging: set field to tail.DiscardingLogger - Logger logger -} - -type Tail struct { - Filename string - Lines chan *Line - Config - - file *os.File - reader *bufio.Reader - - watcher watch.FileWatcher - changes *watch.FileChanges - - tomb.Tomb // provides: Done, Kill, Dying - - lk sync.Mutex -} - -var ( - // DefaultLogger is used when Config.Logger == nil - DefaultLogger = log.New(os.Stderr, "", log.LstdFlags) - // DiscardingLogger can be used to disable logging output - DiscardingLogger = log.New(ioutil.Discard, "", 0) -) - -// TailFile begins tailing the file. Output stream is made available -// via the `Tail.Lines` channel. To handle errors during tailing, -// invoke the `Wait` or `Err` method after finishing reading from the -// `Lines` channel. -func TailFile(filename string, config Config) (*Tail, error) { - if config.ReOpen && !config.Follow { - util.Fatal("cannot set ReOpen without Follow.") - } - - t := &Tail{ - Filename: filename, - Lines: make(chan *Line), - Config: config, - } - - // when Logger was not specified in config, use default logger - if t.Logger == nil { - t.Logger = log.New(os.Stderr, "", log.LstdFlags) - } - - if t.Poll { - t.watcher = watch.NewPollingFileWatcher(filename) - } else { - t.watcher = watch.NewInotifyFileWatcher(filename) - } - - if t.MustExist { - var err error - t.file, err = OpenFile(t.Filename) - if err != nil { - return nil, err - } - } - - go t.tailFileSync() - - return t, nil -} - -// Return the file's current position, like stdio's ftell(). -// But this value is not very accurate. -// it may readed one line in the chan(tail.Lines), -// so it may lost one line. -func (tail *Tail) Tell() (offset int64, err error) { - if tail.file == nil { - return - } - offset, err = tail.file.Seek(0, os.SEEK_CUR) - if err == nil { - tail.lk.Lock() - offset -= int64(tail.reader.Buffered()) - tail.lk.Unlock() - } - return -} - -// Stop stops the tailing activity. -func (tail *Tail) Stop() error { - tail.Kill(nil) - return tail.Wait() -} - -func (tail *Tail) close() { - close(tail.Lines) - tail.colseFile() -} - -func (tail *Tail) colseFile() { - if tail.file != nil { - tail.file.Close() - tail.file = nil - } -} - -func (tail *Tail) reopen() error { - tail.colseFile() - for { - var err error - tail.file, err = OpenFile(tail.Filename) - if err != nil { - if os.IsNotExist(err) { - tail.Logger.Printf("Waiting for %s to appear...", tail.Filename) - if err := tail.watcher.BlockUntilExists(&tail.Tomb); err != nil { - if err == tomb.ErrDying { - return err - } - return fmt.Errorf("Failed to detect creation of %s: %s", tail.Filename, err) - } - continue - } - return fmt.Errorf("Unable to open file %s: %s", tail.Filename, err) - } - break - } - return nil -} - -func (tail *Tail) readLine() (string, error) { - tail.lk.Lock() - line, err := tail.reader.ReadString('\n') - tail.lk.Unlock() - if err != nil { - // Note ReadString "returns the data read before the error" in - // case of an error, including EOF, so we return it as is. The - // caller is expected to process it if err is EOF. - return line, err - } - - line = strings.TrimRight(line, "\n") - - return line, err -} - -func (tail *Tail) tailFileSync() { - defer tail.Done() - defer tail.close() - - if !tail.MustExist { - // deferred first open. - err := tail.reopen() - if err != nil { - if err != tomb.ErrDying { - tail.Kill(err) - } - return - } - } - - // Seek to requested location on first open of the file. - if tail.Location != nil { - _, err := tail.file.Seek(tail.Location.Offset, tail.Location.Whence) - tail.Logger.Printf("Seeked %s - %+v\n", tail.Filename, tail.Location) - if err != nil { - tail.Killf("Seek error on %s: %s", tail.Filename, err) - return - } - } - - tail.openReader() - - var offset int64 = 0 - var err error - // Read line by line. - for { - // do not seek in named pipes - if !tail.Pipe { - // grab the position in case we need to back up in the event of a half-line - offset, err = tail.Tell() - if err != nil { - tail.Kill(err) - return - } - } - - line, err := tail.readLine() - - // Process `line` even if err is EOF. - if err == nil { - cooloff := !tail.sendLine(line) - if cooloff { - // Wait a second before seeking till the end of - // file when rate limit is reached. - msg := fmt.Sprintf( - "Too much log activity; waiting a second " + - "before resuming tailing") - tail.Lines <- &Line{msg, time.Now(), fmt.Errorf(msg)} - select { - case <-time.After(time.Second): - case <-tail.Dying(): - return - } - err = tail.seekEnd() - if err != nil { - tail.Kill(err) - return - } - } - } else if err == io.EOF { - if !tail.Follow { - if line != "" { - tail.sendLine(line) - } - return - } - - if tail.Follow && line != "" { - // this has the potential to never return the last line if - // it's not followed by a newline; seems a fair trade here - err := tail.seekTo(SeekInfo{Offset: offset, Whence: 0}) - if err != nil { - tail.Kill(err) - return - } - } - - // When EOF is reached, wait for more data to become - // available. Wait strategy is based on the `tail.watcher` - // implementation (inotify or polling). - err := tail.waitForChanges() - if err != nil { - if err != ErrStop { - tail.Kill(err) - } - return - } - } else { - // non-EOF error - tail.Killf("Error reading %s: %s", tail.Filename, err) - return - } - - select { - case <-tail.Dying(): - return - default: - } - } -} - -// waitForChanges waits until the file has been appended, deleted, -// moved or truncated. When moved or deleted - the file will be -// reopened if ReOpen is true. Truncated files are always reopened. -func (tail *Tail) waitForChanges() error { - if tail.changes == nil { - pos, err := tail.file.Seek(0, os.SEEK_CUR) - if err != nil { - return err - } - tail.changes, err = tail.watcher.ChangeEvents(&tail.Tomb, pos) - if err != nil { - return err - } - } - - select { - case <-tail.changes.Modified: - return nil - case <-tail.changes.Deleted: - tail.changes = nil - if tail.ReOpen { - // XXX: we must not log from a library. - tail.Logger.Printf("Re-opening moved/deleted file %s ...", tail.Filename) - if err := tail.reopen(); err != nil { - return err - } - tail.Logger.Printf("Successfully reopened %s", tail.Filename) - tail.openReader() - return nil - } else { - tail.Logger.Printf("Stopping tail as file no longer exists: %s", tail.Filename) - return ErrStop - } - case <-tail.changes.Truncated: - // Always reopen truncated files (Follow is true) - tail.Logger.Printf("Re-opening truncated file %s ...", tail.Filename) - if err := tail.reopen(); err != nil { - return err - } - tail.Logger.Printf("Successfully reopened truncated %s", tail.Filename) - tail.openReader() - return nil - case <-tail.Dying(): - return ErrStop - } - panic("unreachable") -} - -func (tail *Tail) openReader() { - if tail.MaxLineSize > 0 { - // add 2 to account for newline characters - tail.reader = bufio.NewReaderSize(tail.file, tail.MaxLineSize+2) - } else { - tail.reader = bufio.NewReader(tail.file) - } -} - -func (tail *Tail) seekEnd() error { - return tail.seekTo(SeekInfo{Offset: 0, Whence: os.SEEK_END}) -} - -func (tail *Tail) seekTo(pos SeekInfo) error { - _, err := tail.file.Seek(pos.Offset, pos.Whence) - if err != nil { - return fmt.Errorf("Seek error on %s: %s", tail.Filename, err) - } - // Reset the read buffer whenever the file is re-seek'ed - tail.reader.Reset(tail.file) - return nil -} - -// sendLine sends the line(s) to Lines channel, splitting longer lines -// if necessary. Return false if rate limit is reached. -func (tail *Tail) sendLine(line string) bool { - now := time.Now() - lines := []string{line} - - // Split longer lines - if tail.MaxLineSize > 0 && len(line) > tail.MaxLineSize { - lines = util.PartitionString(line, tail.MaxLineSize) - } - - for _, line := range lines { - tail.Lines <- &Line{line, now, nil} - } - - if tail.Config.RateLimiter != nil { - ok := tail.Config.RateLimiter.Pour(uint16(len(lines))) - if !ok { - tail.Logger.Printf("Leaky bucket full (%v); entering 1s cooloff period.\n", - tail.Filename) - return false - } - } - - return true -} - -// Cleanup removes inotify watches added by the tail package. This function is -// meant to be invoked from a process's exit handler. Linux kernel may not -// automatically remove inotify watches after the process exits. -func (tail *Tail) Cleanup() { - watch.Cleanup(tail.Filename) -} diff --git a/vendor/github.com/ActiveState/tail/tail_posix.go b/vendor/github.com/ActiveState/tail/tail_posix.go deleted file mode 100644 index bc4dc3357..000000000 --- a/vendor/github.com/ActiveState/tail/tail_posix.go +++ /dev/null @@ -1,11 +0,0 @@ -// +build linux darwin freebsd netbsd openbsd - -package tail - -import ( - "os" -) - -func OpenFile(name string) (file *os.File, err error) { - return os.Open(name) -} diff --git a/vendor/github.com/ActiveState/tail/tail_windows.go b/vendor/github.com/ActiveState/tail/tail_windows.go deleted file mode 100644 index ef2cfca1b..000000000 --- a/vendor/github.com/ActiveState/tail/tail_windows.go +++ /dev/null @@ -1,12 +0,0 @@ -// +build windows - -package tail - -import ( - "github.com/hpcloud/tail/winfile" - "os" -) - -func OpenFile(name string) (file *os.File, err error) { - return winfile.OpenFile(name, os.O_RDONLY, 0) -} diff --git a/vendor/github.com/ActiveState/tail/util/util.go b/vendor/github.com/ActiveState/tail/util/util.go deleted file mode 100644 index f58b3ee9d..000000000 --- a/vendor/github.com/ActiveState/tail/util/util.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package util - -import ( - "fmt" - "log" - "os" - "runtime/debug" -) - -type Logger struct { - *log.Logger -} - -var LOGGER = &Logger{log.New(os.Stderr, "", log.LstdFlags)} - -// fatal is like panic except it displays only the current goroutine's stack. -func Fatal(format string, v ...interface{}) { - // https://github.com/ActiveState/log/blob/master/log.go#L45 - LOGGER.Output(2, fmt.Sprintf("FATAL -- "+format, v...)+"\n"+string(debug.Stack())) - os.Exit(1) -} - -// partitionString partitions the string into chunks of given size, -// with the last chunk of variable size. -func PartitionString(s string, chunkSize int) []string { - if chunkSize <= 0 { - panic("invalid chunkSize") - } - length := len(s) - chunks := 1 + length/chunkSize - start := 0 - end := chunkSize - parts := make([]string, 0, chunks) - for { - if end > length { - end = length - } - parts = append(parts, s[start:end]) - if end == length { - break - } - start, end = end, end+chunkSize - } - return parts -} diff --git a/vendor/github.com/ActiveState/tail/watch/filechanges.go b/vendor/github.com/ActiveState/tail/watch/filechanges.go deleted file mode 100644 index fb0f9ef53..000000000 --- a/vendor/github.com/ActiveState/tail/watch/filechanges.go +++ /dev/null @@ -1,42 +0,0 @@ -package watch - -type FileChanges struct { - Modified chan bool // Channel to get notified of modifications - Truncated chan bool // Channel to get notified of truncations - Deleted chan bool // Channel to get notified of deletions/renames -} - -func NewFileChanges() *FileChanges { - return &FileChanges{ - make(chan bool), make(chan bool), make(chan bool)} -} - -func (fc *FileChanges) NotifyModified() { - sendOnlyIfEmpty(fc.Modified) -} - -func (fc *FileChanges) NotifyTruncated() { - sendOnlyIfEmpty(fc.Truncated) -} - -func (fc *FileChanges) NotifyDeleted() { - sendOnlyIfEmpty(fc.Deleted) -} - -func (fc *FileChanges) Close() { - close(fc.Modified) - close(fc.Truncated) - close(fc.Deleted) -} - -// sendOnlyIfEmpty sends on a bool channel only if the channel has no -// backlog to be read by other goroutines. This concurrency pattern -// can be used to notify other goroutines if and only if they are -// looking for it (i.e., subsequent notifications can be compressed -// into one). -func sendOnlyIfEmpty(ch chan bool) { - select { - case ch <- true: - default: - } -} diff --git a/vendor/github.com/ActiveState/tail/watch/inotify.go b/vendor/github.com/ActiveState/tail/watch/inotify.go deleted file mode 100644 index 58efc10a3..000000000 --- a/vendor/github.com/ActiveState/tail/watch/inotify.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import ( - "fmt" - "os" - "path/filepath" - - "github.com/hpcloud/tail/util" - - "gopkg.in/fsnotify.v1" - "gopkg.in/tomb.v1" -) - -// InotifyFileWatcher uses inotify to monitor file changes. -type InotifyFileWatcher struct { - Filename string - Size int64 -} - -func NewInotifyFileWatcher(filename string) *InotifyFileWatcher { - fw := &InotifyFileWatcher{filepath.Clean(filename), 0} - return fw -} - -func (fw *InotifyFileWatcher) BlockUntilExists(t *tomb.Tomb) error { - err := WatchCreate(fw.Filename) - if err != nil { - return err - } - defer RemoveWatchCreate(fw.Filename) - - // Do a real check now as the file might have been created before - // calling `WatchFlags` above. - if _, err = os.Stat(fw.Filename); !os.IsNotExist(err) { - // file exists, or stat returned an error. - return err - } - - events := Events(fw.Filename) - - for { - select { - case evt, ok := <-events: - if !ok { - return fmt.Errorf("inotify watcher has been closed") - } else if filepath.Clean(evt.Name) == fw.Filename { - return nil - } - case <-t.Dying(): - return tomb.ErrDying - } - } - panic("unreachable") -} - -func (fw *InotifyFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChanges, error) { - err := Watch(fw.Filename) - if err != nil { - return nil, err - } - - changes := NewFileChanges() - fw.Size = pos - - go func() { - defer RemoveWatch(fw.Filename) - defer changes.Close() - - events := Events(fw.Filename) - - for { - prevSize := fw.Size - - var evt fsnotify.Event - var ok bool - - select { - case evt, ok = <-events: - if !ok { - return - } - case <-t.Dying(): - return - } - - switch { - case evt.Op&fsnotify.Remove == fsnotify.Remove: - fallthrough - - case evt.Op&fsnotify.Rename == fsnotify.Rename: - changes.NotifyDeleted() - return - - case evt.Op&fsnotify.Write == fsnotify.Write: - fi, err := os.Stat(fw.Filename) - if err != nil { - if os.IsNotExist(err) { - changes.NotifyDeleted() - return - } - // XXX: report this error back to the user - util.Fatal("Failed to stat file %v: %v", fw.Filename, err) - } - fw.Size = fi.Size() - - if prevSize > 0 && prevSize > fw.Size { - changes.NotifyTruncated() - } else { - changes.NotifyModified() - } - prevSize = fw.Size - } - } - }() - - return changes, nil -} diff --git a/vendor/github.com/ActiveState/tail/watch/inotify_tracker.go b/vendor/github.com/ActiveState/tail/watch/inotify_tracker.go deleted file mode 100644 index f53f2c30d..000000000 --- a/vendor/github.com/ActiveState/tail/watch/inotify_tracker.go +++ /dev/null @@ -1,254 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import ( - "log" - "os" - "path/filepath" - "sync" - "syscall" - - "github.com/hpcloud/tail/util" - - "gopkg.in/fsnotify.v1" -) - -type InotifyTracker struct { - mux sync.Mutex - watcher *fsnotify.Watcher - chans map[string]chan fsnotify.Event - done map[string]chan bool - watchNums map[string]int - watch chan *watchInfo - remove chan *watchInfo - error chan error -} - -type watchInfo struct { - op fsnotify.Op - fname string -} - -func (this *watchInfo) isCreate() bool { - return this.op == fsnotify.Create -} - -var ( - // globally shared InotifyTracker; ensures only one fsnotify.Watcher is used - shared *InotifyTracker - - // these are used to ensure the shared InotifyTracker is run exactly once - once = sync.Once{} - goRun = func() { - shared = &InotifyTracker{ - mux: sync.Mutex{}, - chans: make(map[string]chan fsnotify.Event), - done: make(map[string]chan bool), - watchNums: make(map[string]int), - watch: make(chan *watchInfo), - remove: make(chan *watchInfo), - error: make(chan error), - } - go shared.run() - } - - logger = log.New(os.Stderr, "", log.LstdFlags) -) - -// Watch signals the run goroutine to begin watching the input filename -func Watch(fname string) error { - return watch(&watchInfo{ - fname: fname, - }) -} - -// Watch create signals the run goroutine to begin watching the input filename -// if call the WatchCreate function, don't call the Cleanup, call the RemoveWatchCreate -func WatchCreate(fname string) error { - return watch(&watchInfo{ - op: fsnotify.Create, - fname: fname, - }) -} - -func watch(winfo *watchInfo) error { - // start running the shared InotifyTracker if not already running - once.Do(goRun) - - winfo.fname = filepath.Clean(winfo.fname) - shared.watch <- winfo - return <-shared.error -} - -// RemoveWatch signals the run goroutine to remove the watch for the input filename -func RemoveWatch(fname string) { - remove(&watchInfo{ - fname: fname, - }) -} - -// RemoveWatch create signals the run goroutine to remove the watch for the input filename -func RemoveWatchCreate(fname string) { - remove(&watchInfo{ - op: fsnotify.Create, - fname: fname, - }) -} - -func remove(winfo *watchInfo) { - // start running the shared InotifyTracker if not already running - once.Do(goRun) - - winfo.fname = filepath.Clean(winfo.fname) - shared.mux.Lock() - done := shared.done[winfo.fname] - if done != nil { - delete(shared.done, winfo.fname) - close(done) - } - shared.mux.Unlock() - - shared.remove <- winfo -} - -// Events returns a channel to which FileEvents corresponding to the input filename -// will be sent. This channel will be closed when removeWatch is called on this -// filename. -func Events(fname string) chan fsnotify.Event { - shared.mux.Lock() - defer shared.mux.Unlock() - - return shared.chans[fname] -} - -// Cleanup removes the watch for the input filename if necessary. -func Cleanup(fname string) { - RemoveWatch(fname) -} - -// watchFlags calls fsnotify.WatchFlags for the input filename and flags, creating -// a new Watcher if the previous Watcher was closed. -func (shared *InotifyTracker) addWatch(winfo *watchInfo) error { - shared.mux.Lock() - defer shared.mux.Unlock() - - if shared.chans[winfo.fname] == nil { - shared.chans[winfo.fname] = make(chan fsnotify.Event) - shared.done[winfo.fname] = make(chan bool) - } - - fname := winfo.fname - if winfo.isCreate() { - // Watch for new files to be created in the parent directory. - fname = filepath.Dir(fname) - } - - // already in inotify watch - if shared.watchNums[fname] > 0 { - shared.watchNums[fname]++ - if winfo.isCreate() { - shared.watchNums[winfo.fname]++ - } - return nil - } - - err := shared.watcher.Add(fname) - if err == nil { - shared.watchNums[fname]++ - if winfo.isCreate() { - shared.watchNums[winfo.fname]++ - } - } - return err -} - -// removeWatch calls fsnotify.RemoveWatch for the input filename and closes the -// corresponding events channel. -func (shared *InotifyTracker) removeWatch(winfo *watchInfo) { - shared.mux.Lock() - defer shared.mux.Unlock() - - ch := shared.chans[winfo.fname] - if ch == nil { - return - } - - fname := winfo.fname - if winfo.isCreate() { - // Watch for new files to be created in the parent directory. - fname = filepath.Dir(fname) - } - - shared.watchNums[fname]-- - if shared.watchNums[fname] == 0 { - delete(shared.watchNums, fname) - // TODO: handle error - shared.watcher.Remove(fname) - } - - delete(shared.chans, winfo.fname) - close(ch) - - if !winfo.isCreate() { - return - } - - shared.watchNums[winfo.fname]-- - if shared.watchNums[winfo.fname] == 0 { - delete(shared.watchNums, winfo.fname) - } -} - -// sendEvent sends the input event to the appropriate Tail. -func (shared *InotifyTracker) sendEvent(event fsnotify.Event) { - name := filepath.Clean(event.Name) - - shared.mux.Lock() - ch := shared.chans[name] - done := shared.done[name] - shared.mux.Unlock() - - if ch != nil && done != nil { - select { - case ch <- event: - case <-done: - } - } -} - -// run starts the goroutine in which the shared struct reads events from its -// Watcher's Event channel and sends the events to the appropriate Tail. -func (shared *InotifyTracker) run() { - watcher, err := fsnotify.NewWatcher() - if err != nil { - util.Fatal("failed to create Watcher") - } - shared.watcher = watcher - - for { - select { - case winfo := <-shared.watch: - shared.error <- shared.addWatch(winfo) - - case winfo := <-shared.remove: - shared.removeWatch(winfo) - - case event, open := <-shared.watcher.Events: - if !open { - return - } - shared.sendEvent(event) - - case err, open := <-shared.watcher.Errors: - if !open { - return - } else if err != nil { - sysErr, ok := err.(*os.SyscallError) - if !ok || sysErr.Err != syscall.EINTR { - logger.Printf("Error in Watcher Error channel: %s", err) - } - } - } - } -} diff --git a/vendor/github.com/ActiveState/tail/watch/polling.go b/vendor/github.com/ActiveState/tail/watch/polling.go deleted file mode 100644 index 33b8b4db1..000000000 --- a/vendor/github.com/ActiveState/tail/watch/polling.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import ( - "os" - "runtime" - "time" - - "github.com/hpcloud/tail/util" - "gopkg.in/tomb.v1" -) - -// PollingFileWatcher polls the file for changes. -type PollingFileWatcher struct { - Filename string - Size int64 -} - -func NewPollingFileWatcher(filename string) *PollingFileWatcher { - fw := &PollingFileWatcher{filename, 0} - return fw -} - -var POLL_DURATION time.Duration - -func (fw *PollingFileWatcher) BlockUntilExists(t *tomb.Tomb) error { - for { - if _, err := os.Stat(fw.Filename); err == nil { - return nil - } else if !os.IsNotExist(err) { - return err - } - select { - case <-time.After(POLL_DURATION): - continue - case <-t.Dying(): - return tomb.ErrDying - } - } - panic("unreachable") -} - -func (fw *PollingFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChanges, error) { - origFi, err := os.Stat(fw.Filename) - if err != nil { - return nil, err - } - - changes := NewFileChanges() - var prevModTime time.Time - - // XXX: use tomb.Tomb to cleanly manage these goroutines. replace - // the fatal (below) with tomb's Kill. - - fw.Size = pos - - go func() { - defer changes.Close() - - prevSize := fw.Size - for { - select { - case <-t.Dying(): - return - default: - } - - time.Sleep(POLL_DURATION) - fi, err := os.Stat(fw.Filename) - if err != nil { - // Windows cannot delete a file if a handle is still open (tail keeps one open) - // so it gives access denied to anything trying to read it until all handles are released. - if os.IsNotExist(err) || (runtime.GOOS == "windows" && os.IsPermission(err)) { - // File does not exist (has been deleted). - changes.NotifyDeleted() - return - } - - // XXX: report this error back to the user - util.Fatal("Failed to stat file %v: %v", fw.Filename, err) - } - - // File got moved/renamed? - if !os.SameFile(origFi, fi) { - changes.NotifyDeleted() - return - } - - // File got truncated? - fw.Size = fi.Size() - if prevSize > 0 && prevSize > fw.Size { - changes.NotifyTruncated() - prevSize = fw.Size - continue - } - // File got bigger? - if prevSize > 0 && prevSize < fw.Size { - changes.NotifyModified() - prevSize = fw.Size - continue - } - prevSize = fw.Size - - // File was appended to (changed)? - modTime := fi.ModTime() - if modTime != prevModTime { - prevModTime = modTime - changes.NotifyModified() - } - } - }() - - return changes, nil -} - -func init() { - POLL_DURATION = 250 * time.Millisecond -} diff --git a/vendor/github.com/ActiveState/tail/watch/watch.go b/vendor/github.com/ActiveState/tail/watch/watch.go deleted file mode 100644 index 05baea10f..000000000 --- a/vendor/github.com/ActiveState/tail/watch/watch.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import "gopkg.in/tomb.v1" - -// FileWatcher monitors file-level events. -type FileWatcher interface { - // BlockUntilExists blocks until the file comes into existence. - BlockUntilExists(*tomb.Tomb) error - - // ChangeEvents reports on changes to a file, be it modification, - // deletion, renames or truncations. Returned FileChanges group of - // channels will be closed, thus become unusable, after a deletion - // or truncation event. - // In order to properly report truncations, ChangeEvents requires - // the caller to pass their current offset in the file. - ChangeEvents(*tomb.Tomb, int64) (*FileChanges, error) -} diff --git a/vendor/github.com/ActiveState/tail/winfile/winfile.go b/vendor/github.com/ActiveState/tail/winfile/winfile.go deleted file mode 100644 index aa7e7bc5d..000000000 --- a/vendor/github.com/ActiveState/tail/winfile/winfile.go +++ /dev/null @@ -1,92 +0,0 @@ -// +build windows - -package winfile - -import ( - "os" - "syscall" - "unsafe" -) - -// issue also described here -//https://codereview.appspot.com/8203043/ - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/syscall/syscall_windows.go#L218 -func Open(path string, mode int, perm uint32) (fd syscall.Handle, err error) { - if len(path) == 0 { - return syscall.InvalidHandle, syscall.ERROR_FILE_NOT_FOUND - } - pathp, err := syscall.UTF16PtrFromString(path) - if err != nil { - return syscall.InvalidHandle, err - } - var access uint32 - switch mode & (syscall.O_RDONLY | syscall.O_WRONLY | syscall.O_RDWR) { - case syscall.O_RDONLY: - access = syscall.GENERIC_READ - case syscall.O_WRONLY: - access = syscall.GENERIC_WRITE - case syscall.O_RDWR: - access = syscall.GENERIC_READ | syscall.GENERIC_WRITE - } - if mode&syscall.O_CREAT != 0 { - access |= syscall.GENERIC_WRITE - } - if mode&syscall.O_APPEND != 0 { - access &^= syscall.GENERIC_WRITE - access |= syscall.FILE_APPEND_DATA - } - sharemode := uint32(syscall.FILE_SHARE_READ | syscall.FILE_SHARE_WRITE | syscall.FILE_SHARE_DELETE) - var sa *syscall.SecurityAttributes - if mode&syscall.O_CLOEXEC == 0 { - sa = makeInheritSa() - } - var createmode uint32 - switch { - case mode&(syscall.O_CREAT|syscall.O_EXCL) == (syscall.O_CREAT | syscall.O_EXCL): - createmode = syscall.CREATE_NEW - case mode&(syscall.O_CREAT|syscall.O_TRUNC) == (syscall.O_CREAT | syscall.O_TRUNC): - createmode = syscall.CREATE_ALWAYS - case mode&syscall.O_CREAT == syscall.O_CREAT: - createmode = syscall.OPEN_ALWAYS - case mode&syscall.O_TRUNC == syscall.O_TRUNC: - createmode = syscall.TRUNCATE_EXISTING - default: - createmode = syscall.OPEN_EXISTING - } - h, e := syscall.CreateFile(pathp, access, sharemode, sa, createmode, syscall.FILE_ATTRIBUTE_NORMAL, 0) - return h, e -} - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/syscall/syscall_windows.go#L211 -func makeInheritSa() *syscall.SecurityAttributes { - var sa syscall.SecurityAttributes - sa.Length = uint32(unsafe.Sizeof(sa)) - sa.InheritHandle = 1 - return &sa -} - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/os/file_windows.go#L133 -func OpenFile(name string, flag int, perm os.FileMode) (file *os.File, err error) { - r, e := Open(name, flag|syscall.O_CLOEXEC, syscallMode(perm)) - if e != nil { - return nil, e - } - return os.NewFile(uintptr(r), name), nil -} - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/os/file_posix.go#L61 -func syscallMode(i os.FileMode) (o uint32) { - o |= uint32(i.Perm()) - if i&os.ModeSetuid != 0 { - o |= syscall.S_ISUID - } - if i&os.ModeSetgid != 0 { - o |= syscall.S_ISGID - } - if i&os.ModeSticky != 0 { - o |= syscall.S_ISVTX - } - // No mapping for Go's ModeTemporary (plan9 only). - return -} diff --git a/vendor/github.com/approvals/go-approval-tests/.gitignore b/vendor/github.com/approvals/go-approval-tests/.gitignore deleted file mode 100644 index 6ed91fe2c..000000000 --- a/vendor/github.com/approvals/go-approval-tests/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -*.received.* -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof diff --git a/vendor/github.com/approvals/go-approval-tests/LICENSE.md b/vendor/github.com/approvals/go-approval-tests/LICENSE.md deleted file mode 100644 index c0ee81299..000000000 --- a/vendor/github.com/approvals/go-approval-tests/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/approvals/go-approval-tests/README.md b/vendor/github.com/approvals/go-approval-tests/README.md deleted file mode 100644 index ef9b41761..000000000 --- a/vendor/github.com/approvals/go-approval-tests/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# ApprovalTests.go - -ApprovalTests for go - -[![Build Status](https://travis-ci.org/approvals/go-approval-tests.png?branch=master)](https://travis-ci.org/approvals/go-approval-tests) - -# Golden master Verification Library -ApprovalTests allows for easy testing of larger objects, strings and anything else that can be saved to a file (images, sounds, csv, etc...) - -#Examples -##In Project -Note: ApprovalTests uses approvaltests to test itself. Therefore there are many examples in the code itself. - - * [approvals_test.go](approvals_test.go) - -##JSON -VerifyJSONBytes - Simple Formatting for easy comparison. Also uses the .json file extension - -```go -func TestVerifyJSON(t *testing.T) { - jsonb := []byte("{ \"foo\": \"bar\", \"age\": 42, \"bark\": \"woof\" }") - VerifyJSONBytes(t, jsonb) -} -``` -Matches file: approvals_test.TestVerifyJSON.received.json - -```json -{ - "age": 42, - "bark": "woof", - "foo": "bar" -} -``` - -##Reporters -ApprovalTests becomes *much* more powerful with reporters. Reporters launch programs on failure to help you understand, fix and approve results. - -You can make your own easily, [here's an example](reporters/beyond_compare.go) -You can also declare which one to use. Either at the -### Method level -```go -r := UseReporter(reporters.NewIntelliJ()) -defer r.Close() -``` -### Test Level -```go -func TestMain(m *testing.M) { - r := UseReporter(reporters.NewBeyondCompareReporter()) - defer r.Close() - - m.Run() -} -``` diff --git a/vendor/github.com/approvals/go-approval-tests/approval_name.go b/vendor/github.com/approvals/go-approval-tests/approval_name.go deleted file mode 100644 index 1ef043efc..000000000 --- a/vendor/github.com/approvals/go-approval-tests/approval_name.go +++ /dev/null @@ -1,130 +0,0 @@ -package approvaltests - -import ( - "bytes" - "fmt" - "io" - "io/ioutil" - "os" - "path" - "runtime" - "strings" -) - -type approvalName struct { - pc uintptr - fullName string - name string - fileName string - fileLine int -} - -func newApprovalName(pc uintptr, f *runtime.Func) (*approvalName, error) { - namer := &approvalName{ - pc: pc, - fullName: f.Name(), - } - - namer.fileName, namer.fileLine = f.FileLine(pc) - - splits := strings.Split(namer.fullName, ".") - namer.name = splits[len(splits)-1] - - return namer, nil -} - -// Walk the call stack, and try to find the test method that was executed. -// The test method is identified by looking for the test runner, which is -// *assumed* to be common across all callers. The test runner has a Name() of -// 'testing.tRunner'. The method immediately previous to this is the test -// method. -func getApprovalName() (*approvalName, error) { - pc := make([]uintptr, 100) - count := runtime.Callers(0, pc) - - i := 0 - var lastFunc *runtime.Func - - for ; i < count; i++ { - lastFunc = runtime.FuncForPC(pc[i]) - if isTestRunner(lastFunc) { - break - } - } - - if i == 0 || !isTestRunner(lastFunc) { - return nil, fmt.Errorf("approvals: could not find the test method") - } - - testMethod := runtime.FuncForPC(pc[i-1]) - return newApprovalName(pc[i-1], testMethod) -} - -func isTestRunner(f *runtime.Func) bool { - return f != nil && f.Name() == "testing.tRunner" -} - -func (s *approvalName) compare(approvalFile, receivedFile string, reader io.Reader) error { - received, err := ioutil.ReadAll(reader) - if err != nil { - return err - } - - // Ideally, this should only be written if - // 1. the approval file does not exist - // 2. the results differ - err = s.dumpReceivedTestResult(received, receivedFile) - if err != nil { - return err - } - - fh, err := os.Open(approvalFile) - if err != nil { - return err - } - defer fh.Close() - - approved, err := ioutil.ReadAll(fh) - if err != nil { - return err - } - - received = s.normalizeLineEndings(received) - approved = s.normalizeLineEndings(approved) - - // The two sides are identical, nothing more to do. - if bytes.Compare(received, approved) == 0 { - return nil - } - - return fmt.Errorf("failed to approved %s", s.name) -} - -func (s *approvalName) normalizeLineEndings(bs []byte) []byte { - return bytes.Replace(bs, []byte("\r\n"), []byte("\n"), -1) -} - -func (s *approvalName) dumpReceivedTestResult(bs []byte, receivedFile string) error { - err := ioutil.WriteFile(receivedFile, bs, 0644) - - return err -} - -func (s *approvalName) getFileName(extWithDot string, suffix string) string { - if !strings.HasPrefix(extWithDot, ".") { - extWithDot = fmt.Sprintf(".%s", extWithDot) - } - - baseName := path.Base(s.fileName) - baseWithoutExt := baseName[:len(baseName)-len(path.Ext(s.fileName))] - - return fmt.Sprintf("%s.%s.%s%s", baseWithoutExt, s.name, suffix, extWithDot) -} - -func (s *approvalName) getReceivedFile(extWithDot string) string { - return s.getFileName(extWithDot, "received") -} - -func (s *approvalName) getApprovalFile(extWithDot string) string { - return s.getFileName(extWithDot, "approved") -} diff --git a/vendor/github.com/approvals/go-approval-tests/approvals.go b/vendor/github.com/approvals/go-approval-tests/approvals.go deleted file mode 100644 index f4b3a839e..000000000 --- a/vendor/github.com/approvals/go-approval-tests/approvals.go +++ /dev/null @@ -1,204 +0,0 @@ -package approvaltests - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "os" - "strings" - - "encoding/xml" - "github.com/approvals/go-approval-tests/reporters" - "github.com/approvals/go-approval-tests/utils" - "reflect" -) - -var ( - defaultReporter = reporters.NewDiffReporter() - defaultFrontLoadedReporter = reporters.NewFrontLoadedReporter() -) - -// Failable is an interface wrapper around testing.T -type Failable interface { - Fail() -} - -// VerifyWithExtension Example: -// VerifyWithExtension(t, strings.NewReader("Hello"), ".txt") -func VerifyWithExtension(t Failable, reader io.Reader, extWithDot string) error { - namer, err := getApprovalName() - if err != nil { - return err - } - - reporter := getReporter() - err = namer.compare(namer.getApprovalFile(extWithDot), namer.getReceivedFile(extWithDot), reader) - if err != nil { - reporter.Report(namer.getApprovalFile(extWithDot), namer.getReceivedFile(extWithDot)) - t.Fail() - } else { - os.Remove(namer.getReceivedFile(extWithDot)) - } - - return err -} - -// Verify Example: -// Verify(t, strings.NewReader("Hello")) -func Verify(t Failable, reader io.Reader) error { - return VerifyWithExtension(t, reader, ".txt") -} - -// VerifyString Example: -// VerifyString(t, "Hello") -func VerifyString(t Failable, s string) error { - reader := strings.NewReader(s) - return Verify(t, reader) -} - -// VerifyXMLStruct Example: -// VerifyXMLStruct(t, xml) -func VerifyXMLStruct(t Failable, obj interface{}) error { - xmlb, err := xml.MarshalIndent(obj, "", " ") - if err != nil { - tip := "" - if reflect.TypeOf(obj).Name() == "" { - tip = "when using anonymous types be sure to include\n XMLName xml.Name `xml:\"Your_Name_Here\"`\n" - } - message := fmt.Sprintf("error while pretty printing XML\n%verror:\n %v\nXML:\n %v\n", tip, err, obj) - return VerifyWithExtension(t, strings.NewReader(message), ".xml") - } - - return VerifyWithExtension(t, bytes.NewReader(xmlb), ".xml") -} - -// VerifyXMLBytes Example: -// VerifyXMLBytes(t, []byte("")) -func VerifyXMLBytes(t Failable, bs []byte) error { - type node struct { - Attr []xml.Attr - XMLName xml.Name - Children []node `xml:",any"` - Text string `xml:",chardata"` - } - x := node{} - - err := xml.Unmarshal(bs, &x) - if err != nil { - message := fmt.Sprintf("error while parsing XML\nerror:\n %s\nXML:\n %s\n", err, string(bs)) - return VerifyWithExtension(t, strings.NewReader(message), ".xml") - } - - return VerifyXMLStruct(t, x) -} - -// VerifyJSONStruct Example: -// VerifyJSONStruct(t, json) -func VerifyJSONStruct(t Failable, obj interface{}) error { - jsonb, err := json.MarshalIndent(obj, "", " ") - if err != nil { - message := fmt.Sprintf("error while pretty printing JSON\nerror:\n %s\nJSON:\n %s\n", err, obj) - return VerifyWithExtension(t, strings.NewReader(message), ".json") - } - - return VerifyWithExtension(t, bytes.NewReader(jsonb), ".json") -} - -// VerifyJSONBytes Example: -// VerifyJSONBytes(t, []byte("{ \"Greeting\": \"Hello\" }")) -func VerifyJSONBytes(t Failable, bs []byte) error { - var obj map[string]interface{} - err := json.Unmarshal(bs, &obj) - if err != nil { - message := fmt.Sprintf("error while parsing JSON\nerror:\n %s\nJSON:\n %s\n", err, string(bs)) - return VerifyWithExtension(t, strings.NewReader(message), ".json") - } - - return VerifyJSONStruct(t, obj) -} - -// VerifyMap Example: -// VerifyMap(t, map[string][string] { "dog": "bark" }) -func VerifyMap(t Failable, m interface{}) error { - outputText := utils.PrintMap(m) - return VerifyString(t, outputText) -} - -// VerifyArray Example: -// VerifyArray(t, []string{"dog", "cat"}) -func VerifyArray(t Failable, array interface{}) error { - outputText := utils.PrintArray(array) - return VerifyString(t, outputText) -} - -// VerifyAll Example: -// VerifyAll(t, "uppercase", []string("dog", "cat"}, func(x interface{}) string { return strings.ToUpper(x.(string)) }) -func VerifyAll(t Failable, header string, collection interface{}, transform func(interface{}) string) error { - if len(header) != 0 { - header = fmt.Sprintf("%s\n\n\n", header) - } - - outputText := header + strings.Join(utils.MapToString(collection, transform), "\n") - return VerifyString(t, outputText) -} - -type reporterCloser struct { - reporter *reporters.Reporter -} - -func (s *reporterCloser) Close() error { - defaultReporter = s.reporter - return nil -} - -type frontLoadedReporterCloser struct { - reporter *reporters.Reporter -} - -func (s *frontLoadedReporterCloser) Close() error { - defaultFrontLoadedReporter = s.reporter - return nil -} - -// UseReporter configures which reporter to use on failure. -// Add at the test or method level to configure your reporter. -// -// The following examples shows how to use a reporter for all of your test cases -// in a package directory through go's setup feature. -// -// -// func TestMain(m *testing.M) { -// r := UseReporter(reporters.NewBeyondCompareReporter()) -// defer r.Close() -// -// os.Exit(m.Run()) -// } -// -func UseReporter(reporter reporters.Reporter) io.Closer { - closer := &reporterCloser{ - reporter: defaultReporter, - } - - defaultReporter = &reporter - return closer -} - -// UseFrontLoadedReporter configures reporters ahead of all other reporters to -// handle situations like CI. These reporters usually prevent reporting in -// scenarios that are headless. -func UseFrontLoadedReporter(reporter reporters.Reporter) io.Closer { - closer := &frontLoadedReporterCloser{ - reporter: defaultFrontLoadedReporter, - } - - defaultFrontLoadedReporter = &reporter - return closer -} - -func getReporter() reporters.Reporter { - return reporters.NewFirstWorkingReporter( - *defaultFrontLoadedReporter, - *defaultReporter, - ) -} diff --git a/vendor/github.com/approvals/go-approval-tests/combination_approvals.go b/vendor/github.com/approvals/go-approval-tests/combination_approvals.go deleted file mode 100644 index 9c775a823..000000000 --- a/vendor/github.com/approvals/go-approval-tests/combination_approvals.go +++ /dev/null @@ -1,296 +0,0 @@ -package approvaltests - -import ( - "fmt" - "strings" - - "reflect" -) - -type emptyType struct{} - -var ( - // SkipThisCombination should be returned if you do not want to process a particular combination - SkipThisCombination = "♬ SKIP THIS COMBINATION ♬" - - empty = emptyType{} - emptyCollection = []emptyType{empty} -) - -// VerifyAllCombinationsFor1 Example: -// VerifyAllCombinationsFor1(t, "uppercase", func(x interface{}) string { return strings.ToUpper(x.(string)) }, []string("dog", "cat"}) -func VerifyAllCombinationsFor1(t Failable, header string, transform func(interface{}) string, collection1 interface{}) error { - transform2 := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1) - } - - return VerifyAllCombinationsFor9(t, header, transform2, collection1, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor2 Example: -// VerifyAllCombinationsFor2(t, "uppercase", func(x interface{}) string { return strings.ToUpper(x.(string)) }, []string("dog", "cat"}, []int{1,2) -func VerifyAllCombinationsFor2(t Failable, header string, transform func(interface{}, interface{}) string, collection1 interface{}, collection2 interface{}) error { - transform2 := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2) - } - - return VerifyAllCombinationsFor9(t, header, transform2, collection1, - collection2, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor3 is for combinations of 3. -func VerifyAllCombinationsFor3( - t Failable, - header string, - transform func(p1, p2, p3 interface{}) string, - collection1, collection2, collection3 interface{}) error { - - kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2, p3) - } - - return VerifyAllCombinationsFor9(t, header, kerning, - collection1, - collection2, - collection3, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor4 is for combinations of 4. -func VerifyAllCombinationsFor4( - t Failable, - header string, - transform func(p1, p2, p3, p4 interface{}) string, - collection1, collection2, collection3, collection4 interface{}) error { - - kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2, p3, p4) - } - - return VerifyAllCombinationsFor9(t, header, kerning, - collection1, - collection2, - collection3, - collection4, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor5 is for combinations of 5. -func VerifyAllCombinationsFor5( - t Failable, - header string, - transform func(p1, p2, p3, p4, p5 interface{}) string, - collection1, collection2, collection3, collection4, collection5 interface{}) error { - - kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2, p3, p4, p5) - } - - return VerifyAllCombinationsFor9(t, header, kerning, - collection1, - collection2, - collection3, - collection4, - collection5, - emptyCollection, - emptyCollection, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor6 is for combinations of 6. -func VerifyAllCombinationsFor6( - t Failable, - header string, - transform func(p1, p2, p3, p4, p5, p6 interface{}) string, - collection1, collection2, collection3, collection4, collection5, collection6 interface{}) error { - - kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2, p3, p4, p5, p6) - } - - return VerifyAllCombinationsFor9(t, header, kerning, - collection1, - collection2, - collection3, - collection4, - collection5, - collection6, - emptyCollection, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor7 is for combinations of 7. -func VerifyAllCombinationsFor7( - t Failable, - header string, - transform func(p1, p2, p3, p4, p5, p6, p7 interface{}) string, - collection1, collection2, collection3, collection4, collection5, collection6, collection7 interface{}) error { - - kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2, p3, p4, p5, p6, p7) - } - - return VerifyAllCombinationsFor9(t, header, kerning, - collection1, - collection2, - collection3, - collection4, - collection5, - collection6, - collection7, - emptyCollection, - emptyCollection) -} - -// VerifyAllCombinationsFor8 is for combinations of 8. -func VerifyAllCombinationsFor8( - t Failable, - header string, - transform func(p1, p2, p3, p4, p5, p6, p7, p8 interface{}) string, - collection1, collection2, collection3, collection4, collection5, collection6, collection7, collection8 interface{}) error { - - kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { - return transform(p1, p2, p3, p4, p5, p6, p7, p8) - } - - return VerifyAllCombinationsFor9(t, header, kerning, - collection1, - collection2, - collection3, - collection4, - collection5, - collection6, - collection7, - collection8, - emptyCollection) -} - -// VerifyAllCombinationsFor9 is for combinations of 9. -func VerifyAllCombinationsFor9( - t Failable, - header string, - transform func(a, b, c, d, e, f, g, h, i interface{}) string, - collection1, - collection2, - collection3, - collection4, - collection5, - collection6, - collection7, - collection8, - collection9 interface{}) error { - - if len(header) != 0 { - header = fmt.Sprintf("%s\n\n\n", header) - } - - var mapped []string - - slice1 := reflect.ValueOf(collection1) - slice2 := reflect.ValueOf(collection2) - slice3 := reflect.ValueOf(collection3) - slice4 := reflect.ValueOf(collection4) - slice5 := reflect.ValueOf(collection5) - slice6 := reflect.ValueOf(collection6) - slice7 := reflect.ValueOf(collection7) - slice8 := reflect.ValueOf(collection8) - slice9 := reflect.ValueOf(collection9) - - for i1 := 0; i1 < slice1.Len(); i1++ { - for i2 := 0; i2 < slice2.Len(); i2++ { - for i3 := 0; i3 < slice3.Len(); i3++ { - for i4 := 0; i4 < slice4.Len(); i4++ { - for i5 := 0; i5 < slice5.Len(); i5++ { - for i6 := 0; i6 < slice6.Len(); i6++ { - for i7 := 0; i7 < slice7.Len(); i7++ { - for i8 := 0; i8 < slice8.Len(); i8++ { - for i9 := 0; i9 < slice9.Len(); i9++ { - p1 := slice1.Index(i1).Interface() - p2 := slice2.Index(i2).Interface() - p3 := slice3.Index(i3).Interface() - p4 := slice4.Index(i4).Interface() - p5 := slice5.Index(i5).Interface() - p6 := slice6.Index(i6).Interface() - p7 := slice7.Index(i7).Interface() - p8 := slice8.Index(i8).Interface() - p9 := slice9.Index(i9).Interface() - - parameterText := getParameterText(p1, p2, p3, p4, p5, p6, p7, p8, p9) - transformText := getTransformText(transform, p1, p2, p3, p4, p5, p6, p7, p8, p9) - if transformText != SkipThisCombination { - mapped = append(mapped, fmt.Sprintf("%s => %s", parameterText, transformText)) - } - } - } - } - } - } - } - } - } - } - - outputText := header + strings.Join(mapped, "\n") - return VerifyString(t, outputText) -} - -func getParameterText(args ...interface{}) string { - parameterText := "[" - for _, x := range args { - if x != empty { - parameterText += fmt.Sprintf("%v,", x) - } - } - - parameterText = parameterText[0 : len(parameterText)-1] - parameterText += "]" - - return parameterText -} - -func getTransformText( - transform func(a, b, c, d, e, f, g, h, i interface{}) string, - p1, - p2, - p3, - p4, - p5, - p6, - p7, - p8, - p9 interface{}) (s string) { - defer func() { - r := recover() - if r != nil { - s = "panic occurred" - } - }() - - return transform(p1, p2, p3, p4, p5, p6, p7, p8, p9) -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go b/vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go deleted file mode 100644 index 788a1e3b0..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go +++ /dev/null @@ -1,18 +0,0 @@ -package reporters - -var ( - clipboardScratchData = "" -) - -type allFailing struct{} - -// NewAllFailingTestReporter copies move file command to your clipboard -func NewAllFailingTestReporter() Reporter { - return &allFailing{} -} - -func (s *allFailing) Report(approved, received string) bool { - move := getMoveCommandText(approved, received) - clipboardScratchData = clipboardScratchData + move + "\n" - return copyToClipboard(clipboardScratchData) -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go b/vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go deleted file mode 100644 index 81dccd25c..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go +++ /dev/null @@ -1,15 +0,0 @@ -package reporters - -type beyondCompare struct{} - -// NewBeyondCompareReporter creates a new reporter for Beyond Compare 4. -func NewBeyondCompareReporter() Reporter { - return &beyondCompare{} -} - -func (s *beyondCompare) Report(approved, received string) bool { - xs := []string{received, approved} - programName := "C:/Program Files/Beyond Compare 4/BComp.exe" - - return launchProgram(programName, approved, xs...) -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go b/vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go deleted file mode 100644 index 4f4f9ffe9..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go +++ /dev/null @@ -1,66 +0,0 @@ -package reporters - -import ( - "fmt" - "os/exec" - "path/filepath" - "runtime" -) - -type clipboard struct{} - -// NewClipboardReporter copies move file command to your clipboard -func NewClipboardReporter() Reporter { - return &clipboard{} -} - -func (s *clipboard) Report(approved, received string) bool { - move := getMoveCommandText(approved, received) - return copyToClipboard(move) -} - -func copyToClipboard(move string) bool { - switch runtime.GOOS { - case "windows": - return copyToWindowsClipboard(move) - default: - return copyToDarwinClipboard(move) - } -} - -func getMoveCommandText(approved, received string) string { - receivedFull, _ := filepath.Abs(received) - approvedFull, _ := filepath.Abs(approved) - - var move string - - switch runtime.GOOS { - case "windows": - move = fmt.Sprintf("move /Y \"%s\" \"%s\"", receivedFull, approvedFull) - default: - move = fmt.Sprintf("mv %s %s", receivedFull, approvedFull) - } - - return move -} -func copyToWindowsClipboard(text string) bool { - return pipeToProgram("clip", text) -} - -func copyToDarwinClipboard(text string) bool { - return pipeToProgram("pbcopy", text) -} - -func pipeToProgram(programName, text string) bool { - c := exec.Command(programName) - pipe, err := c.StdinPipe() - if err != nil { - fmt.Printf("StdinPipe: err=%s", err) - return false - } - pipe.Write([]byte(text)) - pipe.Close() - - c.Start() - return true -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go b/vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go deleted file mode 100644 index 923feb793..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go +++ /dev/null @@ -1,28 +0,0 @@ -package reporters - -import ( - "os" - "strconv" -) - -type continuousIntegration struct{} - -// NewContinuousIntegrationReporter creates a new reporter for CI. -// -// The reporter checks the environment variable CI for a value of true. -func NewContinuousIntegrationReporter() Reporter { - return &continuousIntegration{} -} - -func (s *continuousIntegration) Report(approved, received string) bool { - value, exists := os.LookupEnv("CI") - - if exists { - ci, err := strconv.ParseBool(value) - if err == nil { - return ci - } - } - - return false -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go b/vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go deleted file mode 100644 index 630548e2a..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go +++ /dev/null @@ -1,40 +0,0 @@ -package reporters - -import ( - "os/exec" - - "github.com/approvals/go-approval-tests/utils" -) - -// NewFrontLoadedReporter creates the default front loaded reporter. -func NewFrontLoadedReporter() *Reporter { - tmp := NewFirstWorkingReporter( - NewContinuousIntegrationReporter(), - ) - - return &tmp -} - -// NewDiffReporter creates the default diff reporter. -func NewDiffReporter() *Reporter { - tmp := NewFirstWorkingReporter( - NewBeyondCompareReporter(), - NewIntelliJReporter(), - NewPrintSupportedDiffProgramsReporter(), - NewQuietReporter(), - ) - - return &tmp -} - -func launchProgram(programName, approved string, args ...string) bool { - if !utils.DoesFileExist(programName) { - return false - } - - utils.EnsureExists(approved) - - cmd := exec.Command(programName, args...) - cmd.Start() - return true -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go b/vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go deleted file mode 100644 index cb9bd5b2d..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go +++ /dev/null @@ -1,27 +0,0 @@ -package reporters - -import ( - "os/exec" - "runtime" -) - -type fileLauncher struct{} - -// NewFileLauncherReporter launches registered application of the received file's type only. -func NewFileLauncherReporter() Reporter { - return &fileLauncher{} -} - -func (s *fileLauncher) Report(approved, received string) bool { - var cmd *exec.Cmd - - switch runtime.GOOS { - case "windows": - cmd = exec.Command("cmd", "/C", "start", "Needed Title", received, "/B") - default: - cmd = exec.Command("open", received) - } - - cmd.Start() - return true -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/intellij.go b/vendor/github.com/approvals/go-approval-tests/reporters/intellij.go deleted file mode 100644 index 63e9506aa..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/intellij.go +++ /dev/null @@ -1,15 +0,0 @@ -package reporters - -type intellij struct{} - -// NewIntelliJReporter creates a new reporter for IntelliJ. -func NewIntelliJReporter() Reporter { - return &intellij{} -} - -func (s *intellij) Report(approved, received string) bool { - xs := []string{"diff", received, approved} - programName := "C:/Program Files (x86)/JetBrains/IntelliJ IDEA 2016/bin/idea.exe" - - return launchProgram(programName, approved, xs...) -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/newbie.go b/vendor/github.com/approvals/go-approval-tests/reporters/newbie.go deleted file mode 100644 index 8e662bf84..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/newbie.go +++ /dev/null @@ -1,18 +0,0 @@ -package reporters - -import ( - "fmt" -) - -type printSupportedDiffPrograms struct{} - -// NewPrintSupportedDiffProgramsReporter creates a new reporter that states what reporters are supported. -func NewPrintSupportedDiffProgramsReporter() Reporter { - return &quiet{} -} - -func (s *printSupportedDiffPrograms) Report(approved, received string) bool { - fmt.Printf("no diff reporters found on your system\ncurrently supported reporters are [in order of preference]:\nBeyond Compare\nIntelliJ") - - return false -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/quiet.go b/vendor/github.com/approvals/go-approval-tests/reporters/quiet.go deleted file mode 100644 index a715c0eac..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/quiet.go +++ /dev/null @@ -1,29 +0,0 @@ -package reporters - -import ( - "fmt" - "path/filepath" - - "github.com/approvals/go-approval-tests/utils" -) - -type quiet struct{} - -// NewQuietReporter creates a new reporter that does nothing. -func NewQuietReporter() Reporter { - return &quiet{} -} - -func (s *quiet) Report(approved, received string) bool { - approvedFull, _ := filepath.Abs(approved) - receivedFull, _ := filepath.Abs(received) - - if utils.DoesFileExist(approved) { - fmt.Printf("approval files did not match\napproved: %v\nreceived: %v\n", approvedFull, receivedFull) - - } else { - fmt.Printf("result never approved\napproved: %v\nreceived: %v\n", approvedFull, receivedFull) - } - - return true -} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/reporter.go b/vendor/github.com/approvals/go-approval-tests/reporters/reporter.go deleted file mode 100644 index 99d6866f6..000000000 --- a/vendor/github.com/approvals/go-approval-tests/reporters/reporter.go +++ /dev/null @@ -1,53 +0,0 @@ -package reporters - -// Reporter are called on failing approvals. -type Reporter interface { - // Report is called when the approved and received file do not match. - Report(approved, received string) bool -} - -// FirstWorkingReporter reports using the first possible reporter. -type FirstWorkingReporter struct { - Reporters []Reporter -} - -// Report is called when the approved and received file do not match. -func (s *FirstWorkingReporter) Report(approved, received string) bool { - for _, reporter := range s.Reporters { - result := reporter.Report(approved, received) - if result { - return true - } - } - - return false -} - -// NewFirstWorkingReporter creates in the order reporters are passed in. -func NewFirstWorkingReporter(reporters ...Reporter) Reporter { - return &FirstWorkingReporter{ - Reporters: reporters, - } -} - -// MultiReporter reports all reporters. -type MultiReporter struct { - Reporters []Reporter -} - -// Report is called when the approved and received file do not match. -func (s *MultiReporter) Report(approved, received string) bool { - result := false - for _, reporter := range s.Reporters { - result = reporter.Report(approved, received) || result - } - - return result -} - -// NewMultiReporter calls all reporters. -func NewMultiReporter(reporters ...Reporter) Reporter { - return &MultiReporter{ - Reporters: reporters, - } -} diff --git a/vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go b/vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go deleted file mode 100644 index 1602fa6e5..000000000 --- a/vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go +++ /dev/null @@ -1,77 +0,0 @@ -package utils - -import ( - "fmt" - "reflect" - "sort" - "strings" -) - -// PrintMap prints a map -func PrintMap(m interface{}) string { - var outputText string - - v := reflect.ValueOf(m) - if v.Kind() != reflect.Map { - outputText = fmt.Sprintf("error while printing map\nreceived a %T\n %s\n", m, m) - } else { - - keys := v.MapKeys() - var xs []string - - for _, k := range keys { - xs = append(xs, fmt.Sprintf("[%s]=%s", k, v.MapIndex(k))) - } - - sort.Strings(xs) - if len(xs) == 0 { - outputText = "len(map) == 0" - } else { - outputText = strings.Join(xs, "\n") - } - } - - return outputText -} - -// PrintArray prints an array -func PrintArray(m interface{}) string { - var outputText string - - switch reflect.TypeOf(m).Kind() { - case reflect.Slice: - var xs []string - - slice := reflect.ValueOf(m) - for i := 0; i < slice.Len(); i++ { - xs = append(xs, fmt.Sprintf("[%d]=%s", i, slice.Index(i))) - } - - if len(xs) == 0 { - outputText = "len(array) == 0" - } else { - outputText = strings.Join(xs, "\n") - } - default: - outputText = fmt.Sprintf("error while printing array\nreceived a %T\n %s\n", m, m) - } - - return outputText -} - -// MapToString maps a collection to a string collection -func MapToString(collection interface{}, transform func(x interface{}) string) []string { - switch reflect.TypeOf(collection).Kind() { - case reflect.Slice: - var xs []string - - slice := reflect.ValueOf(collection) - for i := 0; i < slice.Len(); i++ { - xs = append(xs, transform(slice.Index(i).Interface())) - } - - return xs - default: - panic(fmt.Sprintf("error while mapping array to string\nreceived a %T\n %s\n", collection, collection)) - } -} diff --git a/vendor/github.com/approvals/go-approval-tests/utils/file_utils.go b/vendor/github.com/approvals/go-approval-tests/utils/file_utils.go deleted file mode 100644 index bec3b950b..000000000 --- a/vendor/github.com/approvals/go-approval-tests/utils/file_utils.go +++ /dev/null @@ -1,24 +0,0 @@ -package utils - -import ( - "io/ioutil" - "os" -) - -// DoesFileExist checks if a file exists. -func DoesFileExist(fileName string) bool { - _, err := os.Stat(fileName) - if os.IsNotExist(err) { - return false - } - return true -} - -// EnsureExists creates if the file does not already exist. -func EnsureExists(fileName string) { - if DoesFileExist(fileName) { - return - } - - ioutil.WriteFile(fileName, []byte(""), 0644) -} diff --git a/vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go b/vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go deleted file mode 100644 index c6c9c8ab6..000000000 --- a/vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go +++ /dev/null @@ -1,11 +0,0 @@ -package utils - -import "testing" - -// AssertEqual Example: -// AssertEqual(t, 10, number, "number") -func AssertEqual(t *testing.T, expected, actual interface{}, message string) { - if expected != actual { - t.Fatalf(message+"\n[expected != actual]\n[%s != %s]", expected, actual) - } -} diff --git a/vendor/github.com/hpcloud/tail/ratelimiter/Licence b/vendor/github.com/hpcloud/tail/ratelimiter/Licence deleted file mode 100644 index 434aab19f..000000000 --- a/vendor/github.com/hpcloud/tail/ratelimiter/Licence +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (C) 2013 99designs - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/hpcloud/tail/ratelimiter/leakybucket.go b/vendor/github.com/hpcloud/tail/ratelimiter/leakybucket.go deleted file mode 100644 index 358b69e7f..000000000 --- a/vendor/github.com/hpcloud/tail/ratelimiter/leakybucket.go +++ /dev/null @@ -1,97 +0,0 @@ -// Package ratelimiter implements the Leaky Bucket ratelimiting algorithm with memcached and in-memory backends. -package ratelimiter - -import ( - "time" -) - -type LeakyBucket struct { - Size uint16 - Fill float64 - LeakInterval time.Duration // time.Duration for 1 unit of size to leak - Lastupdate time.Time - Now func() time.Time -} - -func NewLeakyBucket(size uint16, leakInterval time.Duration) *LeakyBucket { - bucket := LeakyBucket{ - Size: size, - Fill: 0, - LeakInterval: leakInterval, - Now: time.Now, - Lastupdate: time.Now(), - } - - return &bucket -} - -func (b *LeakyBucket) updateFill() { - now := b.Now() - if b.Fill > 0 { - elapsed := now.Sub(b.Lastupdate) - - b.Fill -= float64(elapsed) / float64(b.LeakInterval) - if b.Fill < 0 { - b.Fill = 0 - } - } - b.Lastupdate = now -} - -func (b *LeakyBucket) Pour(amount uint16) bool { - b.updateFill() - - var newfill float64 = b.Fill + float64(amount) - - if newfill > float64(b.Size) { - return false - } - - b.Fill = newfill - - return true -} - -// The time at which this bucket will be completely drained -func (b *LeakyBucket) DrainedAt() time.Time { - return b.Lastupdate.Add(time.Duration(b.Fill * float64(b.LeakInterval))) -} - -// The duration until this bucket is completely drained -func (b *LeakyBucket) TimeToDrain() time.Duration { - return b.DrainedAt().Sub(b.Now()) -} - -func (b *LeakyBucket) TimeSinceLastUpdate() time.Duration { - return b.Now().Sub(b.Lastupdate) -} - -type LeakyBucketSer struct { - Size uint16 - Fill float64 - LeakInterval time.Duration // time.Duration for 1 unit of size to leak - Lastupdate time.Time -} - -func (b *LeakyBucket) Serialise() *LeakyBucketSer { - bucket := LeakyBucketSer{ - Size: b.Size, - Fill: b.Fill, - LeakInterval: b.LeakInterval, - Lastupdate: b.Lastupdate, - } - - return &bucket -} - -func (b *LeakyBucketSer) DeSerialise() *LeakyBucket { - bucket := LeakyBucket{ - Size: b.Size, - Fill: b.Fill, - LeakInterval: b.LeakInterval, - Lastupdate: b.Lastupdate, - Now: time.Now, - } - - return &bucket -} diff --git a/vendor/github.com/hpcloud/tail/ratelimiter/memory.go b/vendor/github.com/hpcloud/tail/ratelimiter/memory.go deleted file mode 100644 index 8f6a5784a..000000000 --- a/vendor/github.com/hpcloud/tail/ratelimiter/memory.go +++ /dev/null @@ -1,58 +0,0 @@ -package ratelimiter - -import ( - "errors" - "time" -) - -const GC_SIZE int = 100 - -type Memory struct { - store map[string]LeakyBucket - lastGCCollected time.Time -} - -func NewMemory() *Memory { - m := new(Memory) - m.store = make(map[string]LeakyBucket) - m.lastGCCollected = time.Now() - return m -} - -func (m *Memory) GetBucketFor(key string) (*LeakyBucket, error) { - - bucket, ok := m.store[key] - if !ok { - return nil, errors.New("miss") - } - - return &bucket, nil -} - -func (m *Memory) SetBucketFor(key string, bucket LeakyBucket) error { - - if len(m.store) > GC_SIZE { - m.GarbageCollect() - } - - m.store[key] = bucket - - return nil -} - -func (m *Memory) GarbageCollect() { - now := time.Now() - - // rate limit GC to once per minute - if now.Add(60*time.Second).Unix() > m.lastGCCollected.Unix() { - - for key, bucket := range m.store { - // if the bucket is drained, then GC - if bucket.DrainedAt().Unix() > now.Unix() { - delete(m.store, key) - } - } - - m.lastGCCollected = now - } -} diff --git a/vendor/github.com/hpcloud/tail/ratelimiter/storage.go b/vendor/github.com/hpcloud/tail/ratelimiter/storage.go deleted file mode 100644 index 89b2fe882..000000000 --- a/vendor/github.com/hpcloud/tail/ratelimiter/storage.go +++ /dev/null @@ -1,6 +0,0 @@ -package ratelimiter - -type Storage interface { - GetBucketFor(string) (*LeakyBucket, error) - SetBucketFor(string, LeakyBucket) error -} diff --git a/vendor/github.com/hpcloud/tail/util/util.go b/vendor/github.com/hpcloud/tail/util/util.go deleted file mode 100644 index f58b3ee9d..000000000 --- a/vendor/github.com/hpcloud/tail/util/util.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package util - -import ( - "fmt" - "log" - "os" - "runtime/debug" -) - -type Logger struct { - *log.Logger -} - -var LOGGER = &Logger{log.New(os.Stderr, "", log.LstdFlags)} - -// fatal is like panic except it displays only the current goroutine's stack. -func Fatal(format string, v ...interface{}) { - // https://github.com/ActiveState/log/blob/master/log.go#L45 - LOGGER.Output(2, fmt.Sprintf("FATAL -- "+format, v...)+"\n"+string(debug.Stack())) - os.Exit(1) -} - -// partitionString partitions the string into chunks of given size, -// with the last chunk of variable size. -func PartitionString(s string, chunkSize int) []string { - if chunkSize <= 0 { - panic("invalid chunkSize") - } - length := len(s) - chunks := 1 + length/chunkSize - start := 0 - end := chunkSize - parts := make([]string, 0, chunks) - for { - if end > length { - end = length - } - parts = append(parts, s[start:end]) - if end == length { - break - } - start, end = end, end+chunkSize - } - return parts -} diff --git a/vendor/github.com/hpcloud/tail/watch/filechanges.go b/vendor/github.com/hpcloud/tail/watch/filechanges.go deleted file mode 100644 index fb0f9ef53..000000000 --- a/vendor/github.com/hpcloud/tail/watch/filechanges.go +++ /dev/null @@ -1,42 +0,0 @@ -package watch - -type FileChanges struct { - Modified chan bool // Channel to get notified of modifications - Truncated chan bool // Channel to get notified of truncations - Deleted chan bool // Channel to get notified of deletions/renames -} - -func NewFileChanges() *FileChanges { - return &FileChanges{ - make(chan bool), make(chan bool), make(chan bool)} -} - -func (fc *FileChanges) NotifyModified() { - sendOnlyIfEmpty(fc.Modified) -} - -func (fc *FileChanges) NotifyTruncated() { - sendOnlyIfEmpty(fc.Truncated) -} - -func (fc *FileChanges) NotifyDeleted() { - sendOnlyIfEmpty(fc.Deleted) -} - -func (fc *FileChanges) Close() { - close(fc.Modified) - close(fc.Truncated) - close(fc.Deleted) -} - -// sendOnlyIfEmpty sends on a bool channel only if the channel has no -// backlog to be read by other goroutines. This concurrency pattern -// can be used to notify other goroutines if and only if they are -// looking for it (i.e., subsequent notifications can be compressed -// into one). -func sendOnlyIfEmpty(ch chan bool) { - select { - case ch <- true: - default: - } -} diff --git a/vendor/github.com/hpcloud/tail/watch/inotify.go b/vendor/github.com/hpcloud/tail/watch/inotify.go deleted file mode 100644 index 58efc10a3..000000000 --- a/vendor/github.com/hpcloud/tail/watch/inotify.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import ( - "fmt" - "os" - "path/filepath" - - "github.com/hpcloud/tail/util" - - "gopkg.in/fsnotify.v1" - "gopkg.in/tomb.v1" -) - -// InotifyFileWatcher uses inotify to monitor file changes. -type InotifyFileWatcher struct { - Filename string - Size int64 -} - -func NewInotifyFileWatcher(filename string) *InotifyFileWatcher { - fw := &InotifyFileWatcher{filepath.Clean(filename), 0} - return fw -} - -func (fw *InotifyFileWatcher) BlockUntilExists(t *tomb.Tomb) error { - err := WatchCreate(fw.Filename) - if err != nil { - return err - } - defer RemoveWatchCreate(fw.Filename) - - // Do a real check now as the file might have been created before - // calling `WatchFlags` above. - if _, err = os.Stat(fw.Filename); !os.IsNotExist(err) { - // file exists, or stat returned an error. - return err - } - - events := Events(fw.Filename) - - for { - select { - case evt, ok := <-events: - if !ok { - return fmt.Errorf("inotify watcher has been closed") - } else if filepath.Clean(evt.Name) == fw.Filename { - return nil - } - case <-t.Dying(): - return tomb.ErrDying - } - } - panic("unreachable") -} - -func (fw *InotifyFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChanges, error) { - err := Watch(fw.Filename) - if err != nil { - return nil, err - } - - changes := NewFileChanges() - fw.Size = pos - - go func() { - defer RemoveWatch(fw.Filename) - defer changes.Close() - - events := Events(fw.Filename) - - for { - prevSize := fw.Size - - var evt fsnotify.Event - var ok bool - - select { - case evt, ok = <-events: - if !ok { - return - } - case <-t.Dying(): - return - } - - switch { - case evt.Op&fsnotify.Remove == fsnotify.Remove: - fallthrough - - case evt.Op&fsnotify.Rename == fsnotify.Rename: - changes.NotifyDeleted() - return - - case evt.Op&fsnotify.Write == fsnotify.Write: - fi, err := os.Stat(fw.Filename) - if err != nil { - if os.IsNotExist(err) { - changes.NotifyDeleted() - return - } - // XXX: report this error back to the user - util.Fatal("Failed to stat file %v: %v", fw.Filename, err) - } - fw.Size = fi.Size() - - if prevSize > 0 && prevSize > fw.Size { - changes.NotifyTruncated() - } else { - changes.NotifyModified() - } - prevSize = fw.Size - } - } - }() - - return changes, nil -} diff --git a/vendor/github.com/hpcloud/tail/watch/inotify_tracker.go b/vendor/github.com/hpcloud/tail/watch/inotify_tracker.go deleted file mode 100644 index f53f2c30d..000000000 --- a/vendor/github.com/hpcloud/tail/watch/inotify_tracker.go +++ /dev/null @@ -1,254 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import ( - "log" - "os" - "path/filepath" - "sync" - "syscall" - - "github.com/hpcloud/tail/util" - - "gopkg.in/fsnotify.v1" -) - -type InotifyTracker struct { - mux sync.Mutex - watcher *fsnotify.Watcher - chans map[string]chan fsnotify.Event - done map[string]chan bool - watchNums map[string]int - watch chan *watchInfo - remove chan *watchInfo - error chan error -} - -type watchInfo struct { - op fsnotify.Op - fname string -} - -func (this *watchInfo) isCreate() bool { - return this.op == fsnotify.Create -} - -var ( - // globally shared InotifyTracker; ensures only one fsnotify.Watcher is used - shared *InotifyTracker - - // these are used to ensure the shared InotifyTracker is run exactly once - once = sync.Once{} - goRun = func() { - shared = &InotifyTracker{ - mux: sync.Mutex{}, - chans: make(map[string]chan fsnotify.Event), - done: make(map[string]chan bool), - watchNums: make(map[string]int), - watch: make(chan *watchInfo), - remove: make(chan *watchInfo), - error: make(chan error), - } - go shared.run() - } - - logger = log.New(os.Stderr, "", log.LstdFlags) -) - -// Watch signals the run goroutine to begin watching the input filename -func Watch(fname string) error { - return watch(&watchInfo{ - fname: fname, - }) -} - -// Watch create signals the run goroutine to begin watching the input filename -// if call the WatchCreate function, don't call the Cleanup, call the RemoveWatchCreate -func WatchCreate(fname string) error { - return watch(&watchInfo{ - op: fsnotify.Create, - fname: fname, - }) -} - -func watch(winfo *watchInfo) error { - // start running the shared InotifyTracker if not already running - once.Do(goRun) - - winfo.fname = filepath.Clean(winfo.fname) - shared.watch <- winfo - return <-shared.error -} - -// RemoveWatch signals the run goroutine to remove the watch for the input filename -func RemoveWatch(fname string) { - remove(&watchInfo{ - fname: fname, - }) -} - -// RemoveWatch create signals the run goroutine to remove the watch for the input filename -func RemoveWatchCreate(fname string) { - remove(&watchInfo{ - op: fsnotify.Create, - fname: fname, - }) -} - -func remove(winfo *watchInfo) { - // start running the shared InotifyTracker if not already running - once.Do(goRun) - - winfo.fname = filepath.Clean(winfo.fname) - shared.mux.Lock() - done := shared.done[winfo.fname] - if done != nil { - delete(shared.done, winfo.fname) - close(done) - } - shared.mux.Unlock() - - shared.remove <- winfo -} - -// Events returns a channel to which FileEvents corresponding to the input filename -// will be sent. This channel will be closed when removeWatch is called on this -// filename. -func Events(fname string) chan fsnotify.Event { - shared.mux.Lock() - defer shared.mux.Unlock() - - return shared.chans[fname] -} - -// Cleanup removes the watch for the input filename if necessary. -func Cleanup(fname string) { - RemoveWatch(fname) -} - -// watchFlags calls fsnotify.WatchFlags for the input filename and flags, creating -// a new Watcher if the previous Watcher was closed. -func (shared *InotifyTracker) addWatch(winfo *watchInfo) error { - shared.mux.Lock() - defer shared.mux.Unlock() - - if shared.chans[winfo.fname] == nil { - shared.chans[winfo.fname] = make(chan fsnotify.Event) - shared.done[winfo.fname] = make(chan bool) - } - - fname := winfo.fname - if winfo.isCreate() { - // Watch for new files to be created in the parent directory. - fname = filepath.Dir(fname) - } - - // already in inotify watch - if shared.watchNums[fname] > 0 { - shared.watchNums[fname]++ - if winfo.isCreate() { - shared.watchNums[winfo.fname]++ - } - return nil - } - - err := shared.watcher.Add(fname) - if err == nil { - shared.watchNums[fname]++ - if winfo.isCreate() { - shared.watchNums[winfo.fname]++ - } - } - return err -} - -// removeWatch calls fsnotify.RemoveWatch for the input filename and closes the -// corresponding events channel. -func (shared *InotifyTracker) removeWatch(winfo *watchInfo) { - shared.mux.Lock() - defer shared.mux.Unlock() - - ch := shared.chans[winfo.fname] - if ch == nil { - return - } - - fname := winfo.fname - if winfo.isCreate() { - // Watch for new files to be created in the parent directory. - fname = filepath.Dir(fname) - } - - shared.watchNums[fname]-- - if shared.watchNums[fname] == 0 { - delete(shared.watchNums, fname) - // TODO: handle error - shared.watcher.Remove(fname) - } - - delete(shared.chans, winfo.fname) - close(ch) - - if !winfo.isCreate() { - return - } - - shared.watchNums[winfo.fname]-- - if shared.watchNums[winfo.fname] == 0 { - delete(shared.watchNums, winfo.fname) - } -} - -// sendEvent sends the input event to the appropriate Tail. -func (shared *InotifyTracker) sendEvent(event fsnotify.Event) { - name := filepath.Clean(event.Name) - - shared.mux.Lock() - ch := shared.chans[name] - done := shared.done[name] - shared.mux.Unlock() - - if ch != nil && done != nil { - select { - case ch <- event: - case <-done: - } - } -} - -// run starts the goroutine in which the shared struct reads events from its -// Watcher's Event channel and sends the events to the appropriate Tail. -func (shared *InotifyTracker) run() { - watcher, err := fsnotify.NewWatcher() - if err != nil { - util.Fatal("failed to create Watcher") - } - shared.watcher = watcher - - for { - select { - case winfo := <-shared.watch: - shared.error <- shared.addWatch(winfo) - - case winfo := <-shared.remove: - shared.removeWatch(winfo) - - case event, open := <-shared.watcher.Events: - if !open { - return - } - shared.sendEvent(event) - - case err, open := <-shared.watcher.Errors: - if !open { - return - } else if err != nil { - sysErr, ok := err.(*os.SyscallError) - if !ok || sysErr.Err != syscall.EINTR { - logger.Printf("Error in Watcher Error channel: %s", err) - } - } - } - } -} diff --git a/vendor/github.com/hpcloud/tail/watch/polling.go b/vendor/github.com/hpcloud/tail/watch/polling.go deleted file mode 100644 index 33b8b4db1..000000000 --- a/vendor/github.com/hpcloud/tail/watch/polling.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import ( - "os" - "runtime" - "time" - - "github.com/hpcloud/tail/util" - "gopkg.in/tomb.v1" -) - -// PollingFileWatcher polls the file for changes. -type PollingFileWatcher struct { - Filename string - Size int64 -} - -func NewPollingFileWatcher(filename string) *PollingFileWatcher { - fw := &PollingFileWatcher{filename, 0} - return fw -} - -var POLL_DURATION time.Duration - -func (fw *PollingFileWatcher) BlockUntilExists(t *tomb.Tomb) error { - for { - if _, err := os.Stat(fw.Filename); err == nil { - return nil - } else if !os.IsNotExist(err) { - return err - } - select { - case <-time.After(POLL_DURATION): - continue - case <-t.Dying(): - return tomb.ErrDying - } - } - panic("unreachable") -} - -func (fw *PollingFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChanges, error) { - origFi, err := os.Stat(fw.Filename) - if err != nil { - return nil, err - } - - changes := NewFileChanges() - var prevModTime time.Time - - // XXX: use tomb.Tomb to cleanly manage these goroutines. replace - // the fatal (below) with tomb's Kill. - - fw.Size = pos - - go func() { - defer changes.Close() - - prevSize := fw.Size - for { - select { - case <-t.Dying(): - return - default: - } - - time.Sleep(POLL_DURATION) - fi, err := os.Stat(fw.Filename) - if err != nil { - // Windows cannot delete a file if a handle is still open (tail keeps one open) - // so it gives access denied to anything trying to read it until all handles are released. - if os.IsNotExist(err) || (runtime.GOOS == "windows" && os.IsPermission(err)) { - // File does not exist (has been deleted). - changes.NotifyDeleted() - return - } - - // XXX: report this error back to the user - util.Fatal("Failed to stat file %v: %v", fw.Filename, err) - } - - // File got moved/renamed? - if !os.SameFile(origFi, fi) { - changes.NotifyDeleted() - return - } - - // File got truncated? - fw.Size = fi.Size() - if prevSize > 0 && prevSize > fw.Size { - changes.NotifyTruncated() - prevSize = fw.Size - continue - } - // File got bigger? - if prevSize > 0 && prevSize < fw.Size { - changes.NotifyModified() - prevSize = fw.Size - continue - } - prevSize = fw.Size - - // File was appended to (changed)? - modTime := fi.ModTime() - if modTime != prevModTime { - prevModTime = modTime - changes.NotifyModified() - } - } - }() - - return changes, nil -} - -func init() { - POLL_DURATION = 250 * time.Millisecond -} diff --git a/vendor/github.com/hpcloud/tail/watch/watch.go b/vendor/github.com/hpcloud/tail/watch/watch.go deleted file mode 100644 index 05baea10f..000000000 --- a/vendor/github.com/hpcloud/tail/watch/watch.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -package watch - -import "gopkg.in/tomb.v1" - -// FileWatcher monitors file-level events. -type FileWatcher interface { - // BlockUntilExists blocks until the file comes into existence. - BlockUntilExists(*tomb.Tomb) error - - // ChangeEvents reports on changes to a file, be it modification, - // deletion, renames or truncations. Returned FileChanges group of - // channels will be closed, thus become unusable, after a deletion - // or truncation event. - // In order to properly report truncations, ChangeEvents requires - // the caller to pass their current offset in the file. - ChangeEvents(*tomb.Tomb, int64) (*FileChanges, error) -} diff --git a/vendor/github.com/hpcloud/tail/winfile/winfile.go b/vendor/github.com/hpcloud/tail/winfile/winfile.go deleted file mode 100644 index aa7e7bc5d..000000000 --- a/vendor/github.com/hpcloud/tail/winfile/winfile.go +++ /dev/null @@ -1,92 +0,0 @@ -// +build windows - -package winfile - -import ( - "os" - "syscall" - "unsafe" -) - -// issue also described here -//https://codereview.appspot.com/8203043/ - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/syscall/syscall_windows.go#L218 -func Open(path string, mode int, perm uint32) (fd syscall.Handle, err error) { - if len(path) == 0 { - return syscall.InvalidHandle, syscall.ERROR_FILE_NOT_FOUND - } - pathp, err := syscall.UTF16PtrFromString(path) - if err != nil { - return syscall.InvalidHandle, err - } - var access uint32 - switch mode & (syscall.O_RDONLY | syscall.O_WRONLY | syscall.O_RDWR) { - case syscall.O_RDONLY: - access = syscall.GENERIC_READ - case syscall.O_WRONLY: - access = syscall.GENERIC_WRITE - case syscall.O_RDWR: - access = syscall.GENERIC_READ | syscall.GENERIC_WRITE - } - if mode&syscall.O_CREAT != 0 { - access |= syscall.GENERIC_WRITE - } - if mode&syscall.O_APPEND != 0 { - access &^= syscall.GENERIC_WRITE - access |= syscall.FILE_APPEND_DATA - } - sharemode := uint32(syscall.FILE_SHARE_READ | syscall.FILE_SHARE_WRITE | syscall.FILE_SHARE_DELETE) - var sa *syscall.SecurityAttributes - if mode&syscall.O_CLOEXEC == 0 { - sa = makeInheritSa() - } - var createmode uint32 - switch { - case mode&(syscall.O_CREAT|syscall.O_EXCL) == (syscall.O_CREAT | syscall.O_EXCL): - createmode = syscall.CREATE_NEW - case mode&(syscall.O_CREAT|syscall.O_TRUNC) == (syscall.O_CREAT | syscall.O_TRUNC): - createmode = syscall.CREATE_ALWAYS - case mode&syscall.O_CREAT == syscall.O_CREAT: - createmode = syscall.OPEN_ALWAYS - case mode&syscall.O_TRUNC == syscall.O_TRUNC: - createmode = syscall.TRUNCATE_EXISTING - default: - createmode = syscall.OPEN_EXISTING - } - h, e := syscall.CreateFile(pathp, access, sharemode, sa, createmode, syscall.FILE_ATTRIBUTE_NORMAL, 0) - return h, e -} - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/syscall/syscall_windows.go#L211 -func makeInheritSa() *syscall.SecurityAttributes { - var sa syscall.SecurityAttributes - sa.Length = uint32(unsafe.Sizeof(sa)) - sa.InheritHandle = 1 - return &sa -} - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/os/file_windows.go#L133 -func OpenFile(name string, flag int, perm os.FileMode) (file *os.File, err error) { - r, e := Open(name, flag|syscall.O_CLOEXEC, syscallMode(perm)) - if e != nil { - return nil, e - } - return os.NewFile(uintptr(r), name), nil -} - -// https://github.com/jnwhiteh/golang/blob/master/src/pkg/os/file_posix.go#L61 -func syscallMode(i os.FileMode) (o uint32) { - o |= uint32(i.Perm()) - if i&os.ModeSetuid != 0 { - o |= syscall.S_ISUID - } - if i&os.ModeSetgid != 0 { - o |= syscall.S_ISGID - } - if i&os.ModeSticky != 0 { - o |= syscall.S_ISVTX - } - // No mapping for Go's ModeTemporary (plan9 only). - return -} diff --git a/vendor/gopkg.in/fsnotify.v1/.gitignore b/vendor/gopkg.in/fsnotify.v1/.gitignore deleted file mode 100644 index 4cd0cbaf4..000000000 --- a/vendor/gopkg.in/fsnotify.v1/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# Setup a Global .gitignore for OS and editor generated files: -# https://help.github.com/articles/ignoring-files -# git config --global core.excludesfile ~/.gitignore_global - -.vagrant -*.sublime-project diff --git a/vendor/gopkg.in/fsnotify.v1/.travis.yml b/vendor/gopkg.in/fsnotify.v1/.travis.yml deleted file mode 100644 index 70988769c..000000000 --- a/vendor/gopkg.in/fsnotify.v1/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -sudo: false -language: go - -go: - - 1.5.2 - -before_script: - - go get -u github.com/golang/lint/golint - -script: - - go test -v --race ./... - -after_script: - - test -z "$(gofmt -s -l -w . | tee /dev/stderr)" - - test -z "$(golint ./... | tee /dev/stderr)" - - go vet ./... - -os: - - linux - - osx - -notifications: - email: false diff --git a/vendor/gopkg.in/fsnotify.v1/AUTHORS b/vendor/gopkg.in/fsnotify.v1/AUTHORS deleted file mode 100644 index 2b9d1fdd6..000000000 --- a/vendor/gopkg.in/fsnotify.v1/AUTHORS +++ /dev/null @@ -1,40 +0,0 @@ -# Names should be added to this file as -# Name or Organization -# The email address is not required for organizations. - -# You can update this list using the following command: -# -# $ git shortlog -se | awk '{print $2 " " $3 " " $4}' - -# Please keep the list sorted. - -Adrien Bustany -Caleb Spare -Case Nelson -Chris Howey -Christoffer Buchholz -Daniel Wagner-Hall -Dave Cheney -Evan Phoenix -Francisco Souza -Hari haran -John C Barstow -Kelvin Fo -Ken-ichirou MATSUZAWA -Matt Layher -Nathan Youngman -Paul Hammond -Pawel Knap -Pieter Droogendijk -Pursuit92 -Riku Voipio -Rob Figueiredo -Soge Zhang -Tilak Sharma -Travis Cline -Tudor Golubenco -Yukang -bronze1man -debrando -henrikedwards -铁哥 diff --git a/vendor/gopkg.in/fsnotify.v1/CHANGELOG.md b/vendor/gopkg.in/fsnotify.v1/CHANGELOG.md deleted file mode 100644 index d37247e0b..000000000 --- a/vendor/gopkg.in/fsnotify.v1/CHANGELOG.md +++ /dev/null @@ -1,283 +0,0 @@ -# Changelog - -## v1.2.9 / 2016-01-13 - -kqueue: Fix logic for CREATE after REMOVE [#111](https://github.com/go-fsnotify/fsnotify/pull/111) (thanks @bep) - -## v1.2.8 / 2015-12-17 - -* kqueue: fix race condition in Close [#105](https://github.com/go-fsnotify/fsnotify/pull/105) (thanks @djui for reporting the issue and @ppknap for writing a failing test) -* inotify: fix race in test -* enable race detection for continuous integration (Linux, Mac, Windows) - -## v1.2.5 / 2015-10-17 - -* inotify: use epoll_create1 for arm64 support (requires Linux 2.6.27 or later) [#100](https://github.com/go-fsnotify/fsnotify/pull/100) (thanks @suihkulokki) -* inotify: fix path leaks [#73](https://github.com/go-fsnotify/fsnotify/pull/73) (thanks @chamaken) -* kqueue: watch for rename events on subdirectories [#83](https://github.com/go-fsnotify/fsnotify/pull/83) (thanks @guotie) -* kqueue: avoid infinite loops from symlinks cycles [#101](https://github.com/go-fsnotify/fsnotify/pull/101) (thanks @illicitonion) - -## v1.2.1 / 2015-10-14 - -* kqueue: don't watch named pipes [#98](https://github.com/go-fsnotify/fsnotify/pull/98) (thanks @evanphx) - -## v1.2.0 / 2015-02-08 - -* inotify: use epoll to wake up readEvents [#66](https://github.com/go-fsnotify/fsnotify/pull/66) (thanks @PieterD) -* inotify: closing watcher should now always shut down goroutine [#63](https://github.com/go-fsnotify/fsnotify/pull/63) (thanks @PieterD) -* kqueue: close kqueue after removing watches, fixes [#59](https://github.com/go-fsnotify/fsnotify/issues/59) - -## v1.1.1 / 2015-02-05 - -* inotify: Retry read on EINTR [#61](https://github.com/go-fsnotify/fsnotify/issues/61) (thanks @PieterD) - -## v1.1.0 / 2014-12-12 - -* kqueue: rework internals [#43](https://github.com/go-fsnotify/fsnotify/pull/43) - * add low-level functions - * only need to store flags on directories - * less mutexes [#13](https://github.com/go-fsnotify/fsnotify/issues/13) - * done can be an unbuffered channel - * remove calls to os.NewSyscallError -* More efficient string concatenation for Event.String() [#52](https://github.com/go-fsnotify/fsnotify/pull/52) (thanks @mdlayher) -* kqueue: fix regression in rework causing subdirectories to be watched [#48](https://github.com/go-fsnotify/fsnotify/issues/48) -* kqueue: cleanup internal watch before sending remove event [#51](https://github.com/go-fsnotify/fsnotify/issues/51) - -## v1.0.4 / 2014-09-07 - -* kqueue: add dragonfly to the build tags. -* Rename source code files, rearrange code so exported APIs are at the top. -* Add done channel to example code. [#37](https://github.com/go-fsnotify/fsnotify/pull/37) (thanks @chenyukang) - -## v1.0.3 / 2014-08-19 - -* [Fix] Windows MOVED_TO now translates to Create like on BSD and Linux. [#36](https://github.com/go-fsnotify/fsnotify/issues/36) - -## v1.0.2 / 2014-08-17 - -* [Fix] Missing create events on OS X. [#14](https://github.com/go-fsnotify/fsnotify/issues/14) (thanks @zhsso) -* [Fix] Make ./path and path equivalent. (thanks @zhsso) - -## v1.0.0 / 2014-08-15 - -* [API] Remove AddWatch on Windows, use Add. -* Improve documentation for exported identifiers. [#30](https://github.com/go-fsnotify/fsnotify/issues/30) -* Minor updates based on feedback from golint. - -## dev / 2014-07-09 - -* Moved to [github.com/go-fsnotify/fsnotify](https://github.com/go-fsnotify/fsnotify). -* Use os.NewSyscallError instead of returning errno (thanks @hariharan-uno) - -## dev / 2014-07-04 - -* kqueue: fix incorrect mutex used in Close() -* Update example to demonstrate usage of Op. - -## dev / 2014-06-28 - -* [API] Don't set the Write Op for attribute notifications [#4](https://github.com/go-fsnotify/fsnotify/issues/4) -* Fix for String() method on Event (thanks Alex Brainman) -* Don't build on Plan 9 or Solaris (thanks @4ad) - -## dev / 2014-06-21 - -* Events channel of type Event rather than *Event. -* [internal] use syscall constants directly for inotify and kqueue. -* [internal] kqueue: rename events to kevents and fileEvent to event. - -## dev / 2014-06-19 - -* Go 1.3+ required on Windows (uses syscall.ERROR_MORE_DATA internally). -* [internal] remove cookie from Event struct (unused). -* [internal] Event struct has the same definition across every OS. -* [internal] remove internal watch and removeWatch methods. - -## dev / 2014-06-12 - -* [API] Renamed Watch() to Add() and RemoveWatch() to Remove(). -* [API] Pluralized channel names: Events and Errors. -* [API] Renamed FileEvent struct to Event. -* [API] Op constants replace methods like IsCreate(). - -## dev / 2014-06-12 - -* Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) - -## dev / 2014-05-23 - -* [API] Remove current implementation of WatchFlags. - * current implementation doesn't take advantage of OS for efficiency - * provides little benefit over filtering events as they are received, but has extra bookkeeping and mutexes - * no tests for the current implementation - * not fully implemented on Windows [#93](https://github.com/howeyc/fsnotify/issues/93#issuecomment-39285195) - -## v0.9.3 / 2014-12-31 - -* kqueue: cleanup internal watch before sending remove event [#51](https://github.com/go-fsnotify/fsnotify/issues/51) - -## v0.9.2 / 2014-08-17 - -* [Backport] Fix missing create events on OS X. [#14](https://github.com/go-fsnotify/fsnotify/issues/14) (thanks @zhsso) - -## v0.9.1 / 2014-06-12 - -* Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) - -## v0.9.0 / 2014-01-17 - -* IsAttrib() for events that only concern a file's metadata [#79][] (thanks @abustany) -* [Fix] kqueue: fix deadlock [#77][] (thanks @cespare) -* [NOTICE] Development has moved to `code.google.com/p/go.exp/fsnotify` in preparation for inclusion in the Go standard library. - -## v0.8.12 / 2013-11-13 - -* [API] Remove FD_SET and friends from Linux adapter - -## v0.8.11 / 2013-11-02 - -* [Doc] Add Changelog [#72][] (thanks @nathany) -* [Doc] Spotlight and double modify events on OS X [#62][] (reported by @paulhammond) - -## v0.8.10 / 2013-10-19 - -* [Fix] kqueue: remove file watches when parent directory is removed [#71][] (reported by @mdwhatcott) -* [Fix] kqueue: race between Close and readEvents [#70][] (reported by @bernerdschaefer) -* [Doc] specify OS-specific limits in README (thanks @debrando) - -## v0.8.9 / 2013-09-08 - -* [Doc] Contributing (thanks @nathany) -* [Doc] update package path in example code [#63][] (thanks @paulhammond) -* [Doc] GoCI badge in README (Linux only) [#60][] -* [Doc] Cross-platform testing with Vagrant [#59][] (thanks @nathany) - -## v0.8.8 / 2013-06-17 - -* [Fix] Windows: handle `ERROR_MORE_DATA` on Windows [#49][] (thanks @jbowtie) - -## v0.8.7 / 2013-06-03 - -* [API] Make syscall flags internal -* [Fix] inotify: ignore event changes -* [Fix] race in symlink test [#45][] (reported by @srid) -* [Fix] tests on Windows -* lower case error messages - -## v0.8.6 / 2013-05-23 - -* kqueue: Use EVT_ONLY flag on Darwin -* [Doc] Update README with full example - -## v0.8.5 / 2013-05-09 - -* [Fix] inotify: allow monitoring of "broken" symlinks (thanks @tsg) - -## v0.8.4 / 2013-04-07 - -* [Fix] kqueue: watch all file events [#40][] (thanks @ChrisBuchholz) - -## v0.8.3 / 2013-03-13 - -* [Fix] inoitfy/kqueue memory leak [#36][] (reported by @nbkolchin) -* [Fix] kqueue: use fsnFlags for watching a directory [#33][] (reported by @nbkolchin) - -## v0.8.2 / 2013-02-07 - -* [Doc] add Authors -* [Fix] fix data races for map access [#29][] (thanks @fsouza) - -## v0.8.1 / 2013-01-09 - -* [Fix] Windows path separators -* [Doc] BSD License - -## v0.8.0 / 2012-11-09 - -* kqueue: directory watching improvements (thanks @vmirage) -* inotify: add `IN_MOVED_TO` [#25][] (requested by @cpisto) -* [Fix] kqueue: deleting watched directory [#24][] (reported by @jakerr) - -## v0.7.4 / 2012-10-09 - -* [Fix] inotify: fixes from https://codereview.appspot.com/5418045/ (ugorji) -* [Fix] kqueue: preserve watch flags when watching for delete [#21][] (reported by @robfig) -* [Fix] kqueue: watch the directory even if it isn't a new watch (thanks @robfig) -* [Fix] kqueue: modify after recreation of file - -## v0.7.3 / 2012-09-27 - -* [Fix] kqueue: watch with an existing folder inside the watched folder (thanks @vmirage) -* [Fix] kqueue: no longer get duplicate CREATE events - -## v0.7.2 / 2012-09-01 - -* kqueue: events for created directories - -## v0.7.1 / 2012-07-14 - -* [Fix] for renaming files - -## v0.7.0 / 2012-07-02 - -* [Feature] FSNotify flags -* [Fix] inotify: Added file name back to event path - -## v0.6.0 / 2012-06-06 - -* kqueue: watch files after directory created (thanks @tmc) - -## v0.5.1 / 2012-05-22 - -* [Fix] inotify: remove all watches before Close() - -## v0.5.0 / 2012-05-03 - -* [API] kqueue: return errors during watch instead of sending over channel -* kqueue: match symlink behavior on Linux -* inotify: add `DELETE_SELF` (requested by @taralx) -* [Fix] kqueue: handle EINTR (reported by @robfig) -* [Doc] Godoc example [#1][] (thanks @davecheney) - -## v0.4.0 / 2012-03-30 - -* Go 1 released: build with go tool -* [Feature] Windows support using winfsnotify -* Windows does not have attribute change notifications -* Roll attribute notifications into IsModify - -## v0.3.0 / 2012-02-19 - -* kqueue: add files when watch directory - -## v0.2.0 / 2011-12-30 - -* update to latest Go weekly code - -## v0.1.0 / 2011-10-19 - -* kqueue: add watch on file creation to match inotify -* kqueue: create file event -* inotify: ignore `IN_IGNORED` events -* event String() -* linux: common FileEvent functions -* initial commit - -[#79]: https://github.com/howeyc/fsnotify/pull/79 -[#77]: https://github.com/howeyc/fsnotify/pull/77 -[#72]: https://github.com/howeyc/fsnotify/issues/72 -[#71]: https://github.com/howeyc/fsnotify/issues/71 -[#70]: https://github.com/howeyc/fsnotify/issues/70 -[#63]: https://github.com/howeyc/fsnotify/issues/63 -[#62]: https://github.com/howeyc/fsnotify/issues/62 -[#60]: https://github.com/howeyc/fsnotify/issues/60 -[#59]: https://github.com/howeyc/fsnotify/issues/59 -[#49]: https://github.com/howeyc/fsnotify/issues/49 -[#45]: https://github.com/howeyc/fsnotify/issues/45 -[#40]: https://github.com/howeyc/fsnotify/issues/40 -[#36]: https://github.com/howeyc/fsnotify/issues/36 -[#33]: https://github.com/howeyc/fsnotify/issues/33 -[#29]: https://github.com/howeyc/fsnotify/issues/29 -[#25]: https://github.com/howeyc/fsnotify/issues/25 -[#24]: https://github.com/howeyc/fsnotify/issues/24 -[#21]: https://github.com/howeyc/fsnotify/issues/21 diff --git a/vendor/gopkg.in/fsnotify.v1/CONTRIBUTING.md b/vendor/gopkg.in/fsnotify.v1/CONTRIBUTING.md deleted file mode 100644 index 0f377f341..000000000 --- a/vendor/gopkg.in/fsnotify.v1/CONTRIBUTING.md +++ /dev/null @@ -1,77 +0,0 @@ -# Contributing - -## Issues - -* Request features and report bugs using the [GitHub Issue Tracker](https://github.com/go-fsnotify/fsnotify/issues). -* Please indicate the platform you are using fsnotify on. -* A code example to reproduce the problem is appreciated. - -## Pull Requests - -### Contributor License Agreement - -fsnotify is derived from code in the [golang.org/x/exp](https://godoc.org/golang.org/x/exp) package and it may be included [in the standard library](https://github.com/go-fsnotify/fsnotify/issues/1) in the future. Therefore fsnotify carries the same [LICENSE](https://github.com/go-fsnotify/fsnotify/blob/master/LICENSE) as Go. Contributors retain their copyright, so you need to fill out a short form before we can accept your contribution: [Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual). - -Please indicate that you have signed the CLA in your pull request. - -### How fsnotify is Developed - -* Development is done on feature branches. -* Tests are run on BSD, Linux, OS X and Windows. -* Pull requests are reviewed and [applied to master][am] using [hub][]. - * Maintainers may modify or squash commits rather than asking contributors to. -* To issue a new release, the maintainers will: - * Update the CHANGELOG - * Tag a version, which will become available through gopkg.in. - -### How to Fork - -For smooth sailing, always use the original import path. Installing with `go get` makes this easy. - -1. Install from GitHub (`go get -u github.com/go-fsnotify/fsnotify`) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Ensure everything works and the tests pass (see below) -4. Commit your changes (`git commit -am 'Add some feature'`) - -Contribute upstream: - -1. Fork fsnotify on GitHub -2. Add your remote (`git remote add fork git@github.com:mycompany/repo.git`) -3. Push to the branch (`git push fork my-new-feature`) -4. Create a new Pull Request on GitHub - -This workflow is [thoroughly explained by Katrina Owen](https://blog.splice.com/contributing-open-source-git-repositories-go/). - -### Testing - -fsnotify uses build tags to compile different code on Linux, BSD, OS X, and Windows. - -Before doing a pull request, please do your best to test your changes on multiple platforms, and list which platforms you were able/unable to test on. - -To aid in cross-platform testing there is a Vagrantfile for Linux and BSD. - -* Install [Vagrant](http://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) -* Setup [Vagrant Gopher](https://github.com/nathany/vagrant-gopher) in your `src` folder. -* Run `vagrant up` from the project folder. You can also setup just one box with `vagrant up linux` or `vagrant up bsd` (note: the BSD box doesn't support Windows hosts at this time, and NFS may prompt for your host OS password) -* Once setup, you can run the test suite on a given OS with a single command `vagrant ssh linux -c 'cd go-fsnotify/fsnotify; go test'`. -* When you're done, you will want to halt or destroy the Vagrant boxes. - -Notice: fsnotify file system events won't trigger in shared folders. The tests get around this limitation by using the /tmp directory. - -Right now there is no equivalent solution for Windows and OS X, but there are Windows VMs [freely available from Microsoft](http://www.modern.ie/en-us/virtualization-tools#downloads). - -### Maintainers - -Help maintaining fsnotify is welcome. To be a maintainer: - -* Submit a pull request and sign the CLA as above. -* You must be able to run the test suite on Mac, Windows, Linux and BSD. - -To keep master clean, the fsnotify project uses the "apply mail" workflow outlined in Nathaniel Talbott's post ["Merge pull request" Considered Harmful][am]. This requires installing [hub][]. - -All code changes should be internal pull requests. - -Releases are tagged using [Semantic Versioning](http://semver.org/). - -[hub]: https://github.com/github/hub -[am]: http://blog.spreedly.com/2014/06/24/merge-pull-request-considered-harmful/#.VGa5yZPF_Zs diff --git a/vendor/gopkg.in/fsnotify.v1/LICENSE b/vendor/gopkg.in/fsnotify.v1/LICENSE deleted file mode 100644 index f21e54080..000000000 --- a/vendor/gopkg.in/fsnotify.v1/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2012 The Go Authors. All rights reserved. -Copyright (c) 2012 fsnotify Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS 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 -OWNER 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. diff --git a/vendor/gopkg.in/fsnotify.v1/README.md b/vendor/gopkg.in/fsnotify.v1/README.md deleted file mode 100644 index f2b432e96..000000000 --- a/vendor/gopkg.in/fsnotify.v1/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# File system notifications for Go - -[![GoDoc](https://godoc.org/gopkg.in/fsnotify.v1?status.svg)](https://godoc.org/gopkg.in/fsnotify.v1) [![Coverage](http://gocover.io/_badge/github.com/go-fsnotify/fsnotify)](http://gocover.io/github.com/go-fsnotify/fsnotify) - -Go 1.3+ required. - -Cross platform: Windows, Linux, BSD and OS X. - -|Adapter |OS |Status | -|----------|----------|----------| -|inotify |Linux 2.6.27 or later, Android\*|Supported [![Build Status](https://travis-ci.org/go-fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/go-fsnotify/fsnotify)| -|kqueue |BSD, OS X, iOS\*|Supported [![Build Status](https://travis-ci.org/go-fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/go-fsnotify/fsnotify)| -|ReadDirectoryChangesW|Windows|Supported [![Build status](https://ci.appveyor.com/api/projects/status/ivwjubaih4r0udeh/branch/master?svg=true)](https://ci.appveyor.com/project/NathanYoungman/fsnotify/branch/master)| -|FSEvents |OS X |[Planned](https://github.com/go-fsnotify/fsnotify/issues/11)| -|FEN |Solaris 11 |[Planned](https://github.com/go-fsnotify/fsnotify/issues/12)| -|fanotify |Linux 2.6.37+ | | -|USN Journals |Windows |[Maybe](https://github.com/go-fsnotify/fsnotify/issues/53)| -|Polling |*All* |[Maybe](https://github.com/go-fsnotify/fsnotify/issues/9)| - -\* Android and iOS are untested. - -Please see [the documentation](https://godoc.org/gopkg.in/fsnotify.v1) for usage. Consult the [Wiki](https://github.com/go-fsnotify/fsnotify/wiki) for the FAQ and further information. - -## API stability - -Two major versions of fsnotify exist. - -**[fsnotify.v0](https://gopkg.in/fsnotify.v0)** is API-compatible with [howeyc/fsnotify](https://godoc.org/github.com/howeyc/fsnotify). Bugfixes *may* be backported, but I recommend upgrading to v1. - -```go -import "gopkg.in/fsnotify.v0" -``` - -\* Refer to the package as fsnotify (without the .v0 suffix). - -**[fsnotify.v1](https://gopkg.in/fsnotify.v1)** provides [a new API](https://godoc.org/gopkg.in/fsnotify.v1) based on [this design document](http://goo.gl/MrYxyA). You can import v1 with: - -```go -import "gopkg.in/fsnotify.v1" -``` - -Further API changes are [planned](https://github.com/go-fsnotify/fsnotify/milestones), but a new major revision will be tagged, so you can depend on the v1 API. - -**Master** may have unreleased changes. Use it to test the very latest code or when [contributing][], but don't expect it to remain API-compatible: - -```go -import "github.com/go-fsnotify/fsnotify" -``` - -## Contributing - -Please refer to [CONTRIBUTING][] before opening an issue or pull request. - -## Example - -See [example_test.go](https://github.com/go-fsnotify/fsnotify/blob/master/example_test.go). - -[contributing]: https://github.com/go-fsnotify/fsnotify/blob/master/CONTRIBUTING.md - -## Related Projects - -* [notify](https://github.com/rjeczalik/notify) -* [fsevents](https://github.com/go-fsnotify/fsevents) - diff --git a/vendor/gopkg.in/fsnotify.v1/fsnotify.go b/vendor/gopkg.in/fsnotify.v1/fsnotify.go deleted file mode 100644 index c899ee008..000000000 --- a/vendor/gopkg.in/fsnotify.v1/fsnotify.go +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !plan9,!solaris - -// Package fsnotify provides a platform-independent interface for file system notifications. -package fsnotify - -import ( - "bytes" - "fmt" -) - -// Event represents a single file system notification. -type Event struct { - Name string // Relative path to the file or directory. - Op Op // File operation that triggered the event. -} - -// Op describes a set of file operations. -type Op uint32 - -// These are the generalized file operations that can trigger a notification. -const ( - Create Op = 1 << iota - Write - Remove - Rename - Chmod -) - -// String returns a string representation of the event in the form -// "file: REMOVE|WRITE|..." -func (e Event) String() string { - // Use a buffer for efficient string concatenation - var buffer bytes.Buffer - - if e.Op&Create == Create { - buffer.WriteString("|CREATE") - } - if e.Op&Remove == Remove { - buffer.WriteString("|REMOVE") - } - if e.Op&Write == Write { - buffer.WriteString("|WRITE") - } - if e.Op&Rename == Rename { - buffer.WriteString("|RENAME") - } - if e.Op&Chmod == Chmod { - buffer.WriteString("|CHMOD") - } - - // If buffer remains empty, return no event names - if buffer.Len() == 0 { - return fmt.Sprintf("%q: ", e.Name) - } - - // Return a list of event names, with leading pipe character stripped - return fmt.Sprintf("%q: %s", e.Name, buffer.String()[1:]) -} diff --git a/vendor/gopkg.in/fsnotify.v1/inotify.go b/vendor/gopkg.in/fsnotify.v1/inotify.go deleted file mode 100644 index 06f4bba88..000000000 --- a/vendor/gopkg.in/fsnotify.v1/inotify.go +++ /dev/null @@ -1,324 +0,0 @@ -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build linux - -package fsnotify - -import ( - "errors" - "fmt" - "io" - "os" - "path/filepath" - "strings" - "sync" - "syscall" - "unsafe" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error - mu sync.Mutex // Map access - cv *sync.Cond // sync removing on rm_watch with IN_IGNORE - fd int - poller *fdPoller - watches map[string]*watch // Map of inotify watches (key: path) - paths map[int]string // Map of watched paths (key: watch descriptor) - done chan struct{} // Channel for sending a "quit message" to the reader goroutine - doneResp chan struct{} // Channel to respond to Close -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - // Create inotify fd - fd, errno := syscall.InotifyInit() - if fd == -1 { - return nil, errno - } - // Create epoll - poller, err := newFdPoller(fd) - if err != nil { - syscall.Close(fd) - return nil, err - } - w := &Watcher{ - fd: fd, - poller: poller, - watches: make(map[string]*watch), - paths: make(map[int]string), - Events: make(chan Event), - Errors: make(chan error), - done: make(chan struct{}), - doneResp: make(chan struct{}), - } - w.cv = sync.NewCond(&w.mu) - - go w.readEvents() - return w, nil -} - -func (w *Watcher) isClosed() bool { - select { - case <-w.done: - return true - default: - return false - } -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - if w.isClosed() { - return nil - } - - // Send 'close' signal to goroutine, and set the Watcher to closed. - close(w.done) - - // Wake up goroutine - w.poller.wake() - - // Wait for goroutine to close - <-w.doneResp - - return nil -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - name = filepath.Clean(name) - if w.isClosed() { - return errors.New("inotify instance already closed") - } - - const agnosticEvents = syscall.IN_MOVED_TO | syscall.IN_MOVED_FROM | - syscall.IN_CREATE | syscall.IN_ATTRIB | syscall.IN_MODIFY | - syscall.IN_MOVE_SELF | syscall.IN_DELETE | syscall.IN_DELETE_SELF - - var flags uint32 = agnosticEvents - - w.mu.Lock() - watchEntry, found := w.watches[name] - w.mu.Unlock() - if found { - watchEntry.flags |= flags - flags |= syscall.IN_MASK_ADD - } - wd, errno := syscall.InotifyAddWatch(w.fd, name, flags) - if wd == -1 { - return errno - } - - w.mu.Lock() - w.watches[name] = &watch{wd: uint32(wd), flags: flags} - w.paths[wd] = name - w.mu.Unlock() - - return nil -} - -// Remove stops watching the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - name = filepath.Clean(name) - - // Fetch the watch. - w.mu.Lock() - defer w.mu.Unlock() - watch, ok := w.watches[name] - - // Remove it from inotify. - if !ok { - return fmt.Errorf("can't remove non-existent inotify watch for: %s", name) - } - // inotify_rm_watch will return EINVAL if the file has been deleted; - // the inotify will already have been removed. - // watches and pathes are deleted in ignoreLinux() implicitly and asynchronously - // by calling inotify_rm_watch() below. e.g. readEvents() goroutine receives IN_IGNORE - // so that EINVAL means that the wd is being rm_watch()ed or its file removed - // by another thread and we have not received IN_IGNORE event. - success, errno := syscall.InotifyRmWatch(w.fd, watch.wd) - if success == -1 { - // TODO: Perhaps it's not helpful to return an error here in every case. - // the only two possible errors are: - // EBADF, which happens when w.fd is not a valid file descriptor of any kind. - // EINVAL, which is when fd is not an inotify descriptor or wd is not a valid watch descriptor. - // Watch descriptors are invalidated when they are removed explicitly or implicitly; - // explicitly by inotify_rm_watch, implicitly when the file they are watching is deleted. - return errno - } - - // wait until ignoreLinux() deleting maps - exists := true - for exists { - w.cv.Wait() - _, exists = w.watches[name] - } - - return nil -} - -type watch struct { - wd uint32 // Watch descriptor (as returned by the inotify_add_watch() syscall) - flags uint32 // inotify flags of this watch (see inotify(7) for the list of valid flags) -} - -// readEvents reads from the inotify file descriptor, converts the -// received events into Event objects and sends them via the Events channel -func (w *Watcher) readEvents() { - var ( - buf [syscall.SizeofInotifyEvent * 4096]byte // Buffer for a maximum of 4096 raw events - n int // Number of bytes read with read() - errno error // Syscall errno - ok bool // For poller.wait - ) - - defer close(w.doneResp) - defer close(w.Errors) - defer close(w.Events) - defer syscall.Close(w.fd) - defer w.poller.close() - - for { - // See if we have been closed. - if w.isClosed() { - return - } - - ok, errno = w.poller.wait() - if errno != nil { - select { - case w.Errors <- errno: - case <-w.done: - return - } - continue - } - - if !ok { - continue - } - - n, errno = syscall.Read(w.fd, buf[:]) - // If a signal interrupted execution, see if we've been asked to close, and try again. - // http://man7.org/linux/man-pages/man7/signal.7.html : - // "Before Linux 3.8, reads from an inotify(7) file descriptor were not restartable" - if errno == syscall.EINTR { - continue - } - - // syscall.Read might have been woken up by Close. If so, we're done. - if w.isClosed() { - return - } - - if n < syscall.SizeofInotifyEvent { - var err error - if n == 0 { - // If EOF is received. This should really never happen. - err = io.EOF - } else if n < 0 { - // If an error occured while reading. - err = errno - } else { - // Read was too short. - err = errors.New("notify: short read in readEvents()") - } - select { - case w.Errors <- err: - case <-w.done: - return - } - continue - } - - var offset uint32 - // We don't know how many events we just read into the buffer - // While the offset points to at least one whole event... - for offset <= uint32(n-syscall.SizeofInotifyEvent) { - // Point "raw" to the event in the buffer - raw := (*syscall.InotifyEvent)(unsafe.Pointer(&buf[offset])) - - mask := uint32(raw.Mask) - nameLen := uint32(raw.Len) - // If the event happened to the watched directory or the watched file, the kernel - // doesn't append the filename to the event, but we would like to always fill the - // the "Name" field with a valid filename. We retrieve the path of the watch from - // the "paths" map. - w.mu.Lock() - name := w.paths[int(raw.Wd)] - w.mu.Unlock() - if nameLen > 0 { - // Point "bytes" at the first byte of the filename - bytes := (*[syscall.PathMax]byte)(unsafe.Pointer(&buf[offset+syscall.SizeofInotifyEvent])) - // The filename is padded with NULL bytes. TrimRight() gets rid of those. - name += "/" + strings.TrimRight(string(bytes[0:nameLen]), "\000") - } - - event := newEvent(name, mask) - - // Send the events that are not ignored on the events channel - if !event.ignoreLinux(w, raw.Wd, mask) { - select { - case w.Events <- event: - case <-w.done: - return - } - } - - // Move to the next event in the buffer - offset += syscall.SizeofInotifyEvent + nameLen - } - } -} - -// Certain types of events can be "ignored" and not sent over the Events -// channel. Such as events marked ignore by the kernel, or MODIFY events -// against files that do not exist. -func (e *Event) ignoreLinux(w *Watcher, wd int32, mask uint32) bool { - // Ignore anything the inotify API says to ignore - if mask&syscall.IN_IGNORED == syscall.IN_IGNORED { - w.mu.Lock() - defer w.mu.Unlock() - name := w.paths[int(wd)] - delete(w.paths, int(wd)) - delete(w.watches, name) - w.cv.Broadcast() - return true - } - - // If the event is not a DELETE or RENAME, the file must exist. - // Otherwise the event is ignored. - // *Note*: this was put in place because it was seen that a MODIFY - // event was sent after the DELETE. This ignores that MODIFY and - // assumes a DELETE will come or has come if the file doesn't exist. - if !(e.Op&Remove == Remove || e.Op&Rename == Rename) { - _, statErr := os.Lstat(e.Name) - return os.IsNotExist(statErr) - } - return false -} - -// newEvent returns an platform-independent Event based on an inotify mask. -func newEvent(name string, mask uint32) Event { - e := Event{Name: name} - if mask&syscall.IN_CREATE == syscall.IN_CREATE || mask&syscall.IN_MOVED_TO == syscall.IN_MOVED_TO { - e.Op |= Create - } - if mask&syscall.IN_DELETE_SELF == syscall.IN_DELETE_SELF || mask&syscall.IN_DELETE == syscall.IN_DELETE { - e.Op |= Remove - } - if mask&syscall.IN_MODIFY == syscall.IN_MODIFY { - e.Op |= Write - } - if mask&syscall.IN_MOVE_SELF == syscall.IN_MOVE_SELF || mask&syscall.IN_MOVED_FROM == syscall.IN_MOVED_FROM { - e.Op |= Rename - } - if mask&syscall.IN_ATTRIB == syscall.IN_ATTRIB { - e.Op |= Chmod - } - return e -} diff --git a/vendor/gopkg.in/fsnotify.v1/inotify_poller.go b/vendor/gopkg.in/fsnotify.v1/inotify_poller.go deleted file mode 100644 index 23a5ca146..000000000 --- a/vendor/gopkg.in/fsnotify.v1/inotify_poller.go +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build linux - -package fsnotify - -import ( - "errors" - "syscall" -) - -type fdPoller struct { - fd int // File descriptor (as returned by the inotify_init() syscall) - epfd int // Epoll file descriptor - pipe [2]int // Pipe for waking up -} - -func emptyPoller(fd int) *fdPoller { - poller := new(fdPoller) - poller.fd = fd - poller.epfd = -1 - poller.pipe[0] = -1 - poller.pipe[1] = -1 - return poller -} - -// Create a new inotify poller. -// This creates an inotify handler, and an epoll handler. -func newFdPoller(fd int) (*fdPoller, error) { - var errno error - poller := emptyPoller(fd) - defer func() { - if errno != nil { - poller.close() - } - }() - poller.fd = fd - - // Create epoll fd - poller.epfd, errno = syscall.EpollCreate1(0) - if poller.epfd == -1 { - return nil, errno - } - // Create pipe; pipe[0] is the read end, pipe[1] the write end. - errno = syscall.Pipe2(poller.pipe[:], syscall.O_NONBLOCK) - if errno != nil { - return nil, errno - } - - // Register inotify fd with epoll - event := syscall.EpollEvent{ - Fd: int32(poller.fd), - Events: syscall.EPOLLIN, - } - errno = syscall.EpollCtl(poller.epfd, syscall.EPOLL_CTL_ADD, poller.fd, &event) - if errno != nil { - return nil, errno - } - - // Register pipe fd with epoll - event = syscall.EpollEvent{ - Fd: int32(poller.pipe[0]), - Events: syscall.EPOLLIN, - } - errno = syscall.EpollCtl(poller.epfd, syscall.EPOLL_CTL_ADD, poller.pipe[0], &event) - if errno != nil { - return nil, errno - } - - return poller, nil -} - -// Wait using epoll. -// Returns true if something is ready to be read, -// false if there is not. -func (poller *fdPoller) wait() (bool, error) { - // 3 possible events per fd, and 2 fds, makes a maximum of 6 events. - // I don't know whether epoll_wait returns the number of events returned, - // or the total number of events ready. - // I decided to catch both by making the buffer one larger than the maximum. - events := make([]syscall.EpollEvent, 7) - for { - n, errno := syscall.EpollWait(poller.epfd, events, -1) - if n == -1 { - if errno == syscall.EINTR { - continue - } - return false, errno - } - if n == 0 { - // If there are no events, try again. - continue - } - if n > 6 { - // This should never happen. More events were returned than should be possible. - return false, errors.New("epoll_wait returned more events than I know what to do with") - } - ready := events[:n] - epollhup := false - epollerr := false - epollin := false - for _, event := range ready { - if event.Fd == int32(poller.fd) { - if event.Events&syscall.EPOLLHUP != 0 { - // This should not happen, but if it does, treat it as a wakeup. - epollhup = true - } - if event.Events&syscall.EPOLLERR != 0 { - // If an error is waiting on the file descriptor, we should pretend - // something is ready to read, and let syscall.Read pick up the error. - epollerr = true - } - if event.Events&syscall.EPOLLIN != 0 { - // There is data to read. - epollin = true - } - } - if event.Fd == int32(poller.pipe[0]) { - if event.Events&syscall.EPOLLHUP != 0 { - // Write pipe descriptor was closed, by us. This means we're closing down the - // watcher, and we should wake up. - } - if event.Events&syscall.EPOLLERR != 0 { - // If an error is waiting on the pipe file descriptor. - // This is an absolute mystery, and should never ever happen. - return false, errors.New("Error on the pipe descriptor.") - } - if event.Events&syscall.EPOLLIN != 0 { - // This is a regular wakeup, so we have to clear the buffer. - err := poller.clearWake() - if err != nil { - return false, err - } - } - } - } - - if epollhup || epollerr || epollin { - return true, nil - } - return false, nil - } -} - -// Close the write end of the poller. -func (poller *fdPoller) wake() error { - buf := make([]byte, 1) - n, errno := syscall.Write(poller.pipe[1], buf) - if n == -1 { - if errno == syscall.EAGAIN { - // Buffer is full, poller will wake. - return nil - } - return errno - } - return nil -} - -func (poller *fdPoller) clearWake() error { - // You have to be woken up a LOT in order to get to 100! - buf := make([]byte, 100) - n, errno := syscall.Read(poller.pipe[0], buf) - if n == -1 { - if errno == syscall.EAGAIN { - // Buffer is empty, someone else cleared our wake. - return nil - } - return errno - } - return nil -} - -// Close all poller file descriptors, but not the one passed to it. -func (poller *fdPoller) close() { - if poller.pipe[1] != -1 { - syscall.Close(poller.pipe[1]) - } - if poller.pipe[0] != -1 { - syscall.Close(poller.pipe[0]) - } - if poller.epfd != -1 { - syscall.Close(poller.epfd) - } -} diff --git a/vendor/gopkg.in/fsnotify.v1/kqueue.go b/vendor/gopkg.in/fsnotify.v1/kqueue.go deleted file mode 100644 index b8ea30846..000000000 --- a/vendor/gopkg.in/fsnotify.v1/kqueue.go +++ /dev/null @@ -1,502 +0,0 @@ -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build freebsd openbsd netbsd dragonfly darwin - -package fsnotify - -import ( - "errors" - "fmt" - "io/ioutil" - "os" - "path/filepath" - "sync" - "syscall" - "time" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error - done chan bool // Channel for sending a "quit message" to the reader goroutine - - kq int // File descriptor (as returned by the kqueue() syscall). - - mu sync.Mutex // Protects access to watcher data - watches map[string]int // Map of watched file descriptors (key: path). - externalWatches map[string]bool // Map of watches added by user of the library. - dirFlags map[string]uint32 // Map of watched directories to fflags used in kqueue. - paths map[int]pathInfo // Map file descriptors to path names for processing kqueue events. - fileExists map[string]bool // Keep track of if we know this file exists (to stop duplicate create events). - isClosed bool // Set to true when Close() is first called -} - -type pathInfo struct { - name string - isDir bool -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - kq, err := kqueue() - if err != nil { - return nil, err - } - - w := &Watcher{ - kq: kq, - watches: make(map[string]int), - dirFlags: make(map[string]uint32), - paths: make(map[int]pathInfo), - fileExists: make(map[string]bool), - externalWatches: make(map[string]bool), - Events: make(chan Event), - Errors: make(chan error), - done: make(chan bool), - } - - go w.readEvents() - return w, nil -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - w.mu.Lock() - if w.isClosed { - w.mu.Unlock() - return nil - } - w.isClosed = true - w.mu.Unlock() - - // copy paths to remove while locked - w.mu.Lock() - var pathsToRemove = make([]string, 0, len(w.watches)) - for name := range w.watches { - pathsToRemove = append(pathsToRemove, name) - } - w.mu.Unlock() - // unlock before calling Remove, which also locks - - var err error - for _, name := range pathsToRemove { - if e := w.Remove(name); e != nil && err == nil { - err = e - } - } - - // Send "quit" message to the reader goroutine: - w.done <- true - - return nil -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - w.mu.Lock() - w.externalWatches[name] = true - w.mu.Unlock() - _, err := w.addWatch(name, noteAllEvents) - return err -} - -// Remove stops watching the the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - name = filepath.Clean(name) - w.mu.Lock() - watchfd, ok := w.watches[name] - w.mu.Unlock() - if !ok { - return fmt.Errorf("can't remove non-existent kevent watch for: %s", name) - } - - const registerRemove = syscall.EV_DELETE - if err := register(w.kq, []int{watchfd}, registerRemove, 0); err != nil { - return err - } - - syscall.Close(watchfd) - - w.mu.Lock() - isDir := w.paths[watchfd].isDir - delete(w.watches, name) - delete(w.paths, watchfd) - delete(w.dirFlags, name) - w.mu.Unlock() - - // Find all watched paths that are in this directory that are not external. - if isDir { - var pathsToRemove []string - w.mu.Lock() - for _, path := range w.paths { - wdir, _ := filepath.Split(path.name) - if filepath.Clean(wdir) == name { - if !w.externalWatches[path.name] { - pathsToRemove = append(pathsToRemove, path.name) - } - } - } - w.mu.Unlock() - for _, name := range pathsToRemove { - // Since these are internal, not much sense in propagating error - // to the user, as that will just confuse them with an error about - // a path they did not explicitly watch themselves. - w.Remove(name) - } - } - - return nil -} - -// Watch all events (except NOTE_EXTEND, NOTE_LINK, NOTE_REVOKE) -const noteAllEvents = syscall.NOTE_DELETE | syscall.NOTE_WRITE | syscall.NOTE_ATTRIB | syscall.NOTE_RENAME - -// keventWaitTime to block on each read from kevent -var keventWaitTime = durationToTimespec(100 * time.Millisecond) - -// addWatch adds name to the watched file set. -// The flags are interpreted as described in kevent(2). -// Returns the real path to the file which was added, if any, which may be different from the one passed in the case of symlinks. -func (w *Watcher) addWatch(name string, flags uint32) (string, error) { - var isDir bool - // Make ./name and name equivalent - name = filepath.Clean(name) - - w.mu.Lock() - if w.isClosed { - w.mu.Unlock() - return "", errors.New("kevent instance already closed") - } - watchfd, alreadyWatching := w.watches[name] - // We already have a watch, but we can still override flags. - if alreadyWatching { - isDir = w.paths[watchfd].isDir - } - w.mu.Unlock() - - if !alreadyWatching { - fi, err := os.Lstat(name) - if err != nil { - return "", err - } - - // Don't watch sockets. - if fi.Mode()&os.ModeSocket == os.ModeSocket { - return "", nil - } - - // Don't watch named pipes. - if fi.Mode()&os.ModeNamedPipe == os.ModeNamedPipe { - return "", nil - } - - // Follow Symlinks - // Unfortunately, Linux can add bogus symlinks to watch list without - // issue, and Windows can't do symlinks period (AFAIK). To maintain - // consistency, we will act like everything is fine. There will simply - // be no file events for broken symlinks. - // Hence the returns of nil on errors. - if fi.Mode()&os.ModeSymlink == os.ModeSymlink { - name, err = filepath.EvalSymlinks(name) - if err != nil { - return "", nil - } - - w.mu.Lock() - _, alreadyWatching = w.watches[name] - w.mu.Unlock() - - if alreadyWatching { - return name, nil - } - - fi, err = os.Lstat(name) - if err != nil { - return "", nil - } - } - - watchfd, err = syscall.Open(name, openMode, 0700) - if watchfd == -1 { - return "", err - } - - isDir = fi.IsDir() - } - - const registerAdd = syscall.EV_ADD | syscall.EV_CLEAR | syscall.EV_ENABLE - if err := register(w.kq, []int{watchfd}, registerAdd, flags); err != nil { - syscall.Close(watchfd) - return "", err - } - - if !alreadyWatching { - w.mu.Lock() - w.watches[name] = watchfd - w.paths[watchfd] = pathInfo{name: name, isDir: isDir} - w.mu.Unlock() - } - - if isDir { - // Watch the directory if it has not been watched before, - // or if it was watched before, but perhaps only a NOTE_DELETE (watchDirectoryFiles) - w.mu.Lock() - - watchDir := (flags&syscall.NOTE_WRITE) == syscall.NOTE_WRITE && - (!alreadyWatching || (w.dirFlags[name]&syscall.NOTE_WRITE) != syscall.NOTE_WRITE) - // Store flags so this watch can be updated later - w.dirFlags[name] = flags - w.mu.Unlock() - - if watchDir { - if err := w.watchDirectoryFiles(name); err != nil { - return "", err - } - } - } - return name, nil -} - -// readEvents reads from kqueue and converts the received kevents into -// Event values that it sends down the Events channel. -func (w *Watcher) readEvents() { - eventBuffer := make([]syscall.Kevent_t, 10) - - for { - // See if there is a message on the "done" channel - select { - case <-w.done: - err := syscall.Close(w.kq) - if err != nil { - w.Errors <- err - } - close(w.Events) - close(w.Errors) - return - default: - } - - // Get new events - kevents, err := read(w.kq, eventBuffer, &keventWaitTime) - // EINTR is okay, the syscall was interrupted before timeout expired. - if err != nil && err != syscall.EINTR { - w.Errors <- err - continue - } - - // Flush the events we received to the Events channel - for len(kevents) > 0 { - kevent := &kevents[0] - watchfd := int(kevent.Ident) - mask := uint32(kevent.Fflags) - w.mu.Lock() - path := w.paths[watchfd] - w.mu.Unlock() - event := newEvent(path.name, mask) - - if path.isDir && !(event.Op&Remove == Remove) { - // Double check to make sure the directory exists. This can happen when - // we do a rm -fr on a recursively watched folders and we receive a - // modification event first but the folder has been deleted and later - // receive the delete event - if _, err := os.Lstat(event.Name); os.IsNotExist(err) { - // mark is as delete event - event.Op |= Remove - } - } - - if event.Op&Rename == Rename || event.Op&Remove == Remove { - w.Remove(event.Name) - w.mu.Lock() - delete(w.fileExists, event.Name) - w.mu.Unlock() - } - - if path.isDir && event.Op&Write == Write && !(event.Op&Remove == Remove) { - w.sendDirectoryChangeEvents(event.Name) - } else { - // Send the event on the Events channel - w.Events <- event - } - - if event.Op&Remove == Remove { - // Look for a file that may have overwritten this. - // For example, mv f1 f2 will delete f2, then create f2. - if path.isDir { - fileDir := filepath.Clean(event.Name) - w.mu.Lock() - _, found := w.watches[fileDir] - w.mu.Unlock() - if found { - // make sure the directory exists before we watch for changes. When we - // do a recursive watch and perform rm -fr, the parent directory might - // have gone missing, ignore the missing directory and let the - // upcoming delete event remove the watch from the parent directory. - if _, err := os.Lstat(fileDir); err == nil { - w.sendDirectoryChangeEvents(fileDir) - } - } - } else { - filePath := filepath.Clean(event.Name) - if fileInfo, err := os.Lstat(filePath); err == nil { - w.sendFileCreatedEventIfNew(filePath, fileInfo) - } - } - } - - // Move to next event - kevents = kevents[1:] - } - } -} - -// newEvent returns an platform-independent Event based on kqueue Fflags. -func newEvent(name string, mask uint32) Event { - e := Event{Name: name} - if mask&syscall.NOTE_DELETE == syscall.NOTE_DELETE { - e.Op |= Remove - } - if mask&syscall.NOTE_WRITE == syscall.NOTE_WRITE { - e.Op |= Write - } - if mask&syscall.NOTE_RENAME == syscall.NOTE_RENAME { - e.Op |= Rename - } - if mask&syscall.NOTE_ATTRIB == syscall.NOTE_ATTRIB { - e.Op |= Chmod - } - return e -} - -func newCreateEvent(name string) Event { - return Event{Name: name, Op: Create} -} - -// watchDirectoryFiles to mimic inotify when adding a watch on a directory -func (w *Watcher) watchDirectoryFiles(dirPath string) error { - // Get all files - files, err := ioutil.ReadDir(dirPath) - if err != nil { - return err - } - - for _, fileInfo := range files { - filePath := filepath.Join(dirPath, fileInfo.Name()) - filePath, err = w.internalWatch(filePath, fileInfo) - if err != nil { - return err - } - - w.mu.Lock() - w.fileExists[filePath] = true - w.mu.Unlock() - } - - return nil -} - -// sendDirectoryEvents searches the directory for newly created files -// and sends them over the event channel. This functionality is to have -// the BSD version of fsnotify match Linux inotify which provides a -// create event for files created in a watched directory. -func (w *Watcher) sendDirectoryChangeEvents(dirPath string) { - // Get all files - files, err := ioutil.ReadDir(dirPath) - if err != nil { - w.Errors <- err - } - - // Search for new files - for _, fileInfo := range files { - filePath := filepath.Join(dirPath, fileInfo.Name()) - err := w.sendFileCreatedEventIfNew(filePath, fileInfo) - - if err != nil { - return - } - } -} - -// sendFileCreatedEvent sends a create event if the file isn't already being tracked. -func (w *Watcher) sendFileCreatedEventIfNew(filePath string, fileInfo os.FileInfo) (err error) { - w.mu.Lock() - _, doesExist := w.fileExists[filePath] - w.mu.Unlock() - if !doesExist { - // Send create event - w.Events <- newCreateEvent(filePath) - } - - // like watchDirectoryFiles (but without doing another ReadDir) - filePath, err = w.internalWatch(filePath, fileInfo) - if err != nil { - return err - } - - w.mu.Lock() - w.fileExists[filePath] = true - w.mu.Unlock() - - return nil -} - -func (w *Watcher) internalWatch(name string, fileInfo os.FileInfo) (string, error) { - if fileInfo.IsDir() { - // mimic Linux providing delete events for subdirectories - // but preserve the flags used if currently watching subdirectory - w.mu.Lock() - flags := w.dirFlags[name] - w.mu.Unlock() - - flags |= syscall.NOTE_DELETE | syscall.NOTE_RENAME - return w.addWatch(name, flags) - } - - // watch file to mimic Linux inotify - return w.addWatch(name, noteAllEvents) -} - -// kqueue creates a new kernel event queue and returns a descriptor. -func kqueue() (kq int, err error) { - kq, err = syscall.Kqueue() - if kq == -1 { - return kq, err - } - return kq, nil -} - -// register events with the queue -func register(kq int, fds []int, flags int, fflags uint32) error { - changes := make([]syscall.Kevent_t, len(fds)) - - for i, fd := range fds { - // SetKevent converts int to the platform-specific types: - syscall.SetKevent(&changes[i], fd, syscall.EVFILT_VNODE, flags) - changes[i].Fflags = fflags - } - - // register the events - success, err := syscall.Kevent(kq, changes, nil, nil) - if success == -1 { - return err - } - return nil -} - -// read retrieves pending events, or waits until an event occurs. -// A timeout of nil blocks indefinitely, while 0 polls the queue. -func read(kq int, events []syscall.Kevent_t, timeout *syscall.Timespec) ([]syscall.Kevent_t, error) { - n, err := syscall.Kevent(kq, nil, events, timeout) - if err != nil { - return nil, err - } - return events[0:n], nil -} - -// durationToTimespec prepares a timeout value -func durationToTimespec(d time.Duration) syscall.Timespec { - return syscall.NsecToTimespec(d.Nanoseconds()) -} diff --git a/vendor/gopkg.in/fsnotify.v1/open_mode_bsd.go b/vendor/gopkg.in/fsnotify.v1/open_mode_bsd.go deleted file mode 100644 index c57ccb427..000000000 --- a/vendor/gopkg.in/fsnotify.v1/open_mode_bsd.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build freebsd openbsd netbsd dragonfly - -package fsnotify - -import "syscall" - -const openMode = syscall.O_NONBLOCK | syscall.O_RDONLY diff --git a/vendor/gopkg.in/fsnotify.v1/open_mode_darwin.go b/vendor/gopkg.in/fsnotify.v1/open_mode_darwin.go deleted file mode 100644 index 174b2c331..000000000 --- a/vendor/gopkg.in/fsnotify.v1/open_mode_darwin.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build darwin - -package fsnotify - -import "syscall" - -// note: this constant is not defined on BSD -const openMode = syscall.O_EVTONLY diff --git a/vendor/gopkg.in/fsnotify.v1/windows.go b/vendor/gopkg.in/fsnotify.v1/windows.go deleted file mode 100644 index 811585227..000000000 --- a/vendor/gopkg.in/fsnotify.v1/windows.go +++ /dev/null @@ -1,561 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build windows - -package fsnotify - -import ( - "errors" - "fmt" - "os" - "path/filepath" - "runtime" - "sync" - "syscall" - "unsafe" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error - isClosed bool // Set to true when Close() is first called - mu sync.Mutex // Map access - port syscall.Handle // Handle to completion port - watches watchMap // Map of watches (key: i-number) - input chan *input // Inputs to the reader are sent on this channel - quit chan chan<- error -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - port, e := syscall.CreateIoCompletionPort(syscall.InvalidHandle, 0, 0, 0) - if e != nil { - return nil, os.NewSyscallError("CreateIoCompletionPort", e) - } - w := &Watcher{ - port: port, - watches: make(watchMap), - input: make(chan *input, 1), - Events: make(chan Event, 50), - Errors: make(chan error), - quit: make(chan chan<- error, 1), - } - go w.readEvents() - return w, nil -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - if w.isClosed { - return nil - } - w.isClosed = true - - // Send "quit" message to the reader goroutine - ch := make(chan error) - w.quit <- ch - if err := w.wakeupReader(); err != nil { - return err - } - return <-ch -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - if w.isClosed { - return errors.New("watcher already closed") - } - in := &input{ - op: opAddWatch, - path: filepath.Clean(name), - flags: sys_FS_ALL_EVENTS, - reply: make(chan error), - } - w.input <- in - if err := w.wakeupReader(); err != nil { - return err - } - return <-in.reply -} - -// Remove stops watching the the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - in := &input{ - op: opRemoveWatch, - path: filepath.Clean(name), - reply: make(chan error), - } - w.input <- in - if err := w.wakeupReader(); err != nil { - return err - } - return <-in.reply -} - -const ( - // Options for AddWatch - sys_FS_ONESHOT = 0x80000000 - sys_FS_ONLYDIR = 0x1000000 - - // Events - sys_FS_ACCESS = 0x1 - sys_FS_ALL_EVENTS = 0xfff - sys_FS_ATTRIB = 0x4 - sys_FS_CLOSE = 0x18 - sys_FS_CREATE = 0x100 - sys_FS_DELETE = 0x200 - sys_FS_DELETE_SELF = 0x400 - sys_FS_MODIFY = 0x2 - sys_FS_MOVE = 0xc0 - sys_FS_MOVED_FROM = 0x40 - sys_FS_MOVED_TO = 0x80 - sys_FS_MOVE_SELF = 0x800 - - // Special events - sys_FS_IGNORED = 0x8000 - sys_FS_Q_OVERFLOW = 0x4000 -) - -func newEvent(name string, mask uint32) Event { - e := Event{Name: name} - if mask&sys_FS_CREATE == sys_FS_CREATE || mask&sys_FS_MOVED_TO == sys_FS_MOVED_TO { - e.Op |= Create - } - if mask&sys_FS_DELETE == sys_FS_DELETE || mask&sys_FS_DELETE_SELF == sys_FS_DELETE_SELF { - e.Op |= Remove - } - if mask&sys_FS_MODIFY == sys_FS_MODIFY { - e.Op |= Write - } - if mask&sys_FS_MOVE == sys_FS_MOVE || mask&sys_FS_MOVE_SELF == sys_FS_MOVE_SELF || mask&sys_FS_MOVED_FROM == sys_FS_MOVED_FROM { - e.Op |= Rename - } - if mask&sys_FS_ATTRIB == sys_FS_ATTRIB { - e.Op |= Chmod - } - return e -} - -const ( - opAddWatch = iota - opRemoveWatch -) - -const ( - provisional uint64 = 1 << (32 + iota) -) - -type input struct { - op int - path string - flags uint32 - reply chan error -} - -type inode struct { - handle syscall.Handle - volume uint32 - index uint64 -} - -type watch struct { - ov syscall.Overlapped - ino *inode // i-number - path string // Directory path - mask uint64 // Directory itself is being watched with these notify flags - names map[string]uint64 // Map of names being watched and their notify flags - rename string // Remembers the old name while renaming a file - buf [4096]byte -} - -type indexMap map[uint64]*watch -type watchMap map[uint32]indexMap - -func (w *Watcher) wakeupReader() error { - e := syscall.PostQueuedCompletionStatus(w.port, 0, 0, nil) - if e != nil { - return os.NewSyscallError("PostQueuedCompletionStatus", e) - } - return nil -} - -func getDir(pathname string) (dir string, err error) { - attr, e := syscall.GetFileAttributes(syscall.StringToUTF16Ptr(pathname)) - if e != nil { - return "", os.NewSyscallError("GetFileAttributes", e) - } - if attr&syscall.FILE_ATTRIBUTE_DIRECTORY != 0 { - dir = pathname - } else { - dir, _ = filepath.Split(pathname) - dir = filepath.Clean(dir) - } - return -} - -func getIno(path string) (ino *inode, err error) { - h, e := syscall.CreateFile(syscall.StringToUTF16Ptr(path), - syscall.FILE_LIST_DIRECTORY, - syscall.FILE_SHARE_READ|syscall.FILE_SHARE_WRITE|syscall.FILE_SHARE_DELETE, - nil, syscall.OPEN_EXISTING, - syscall.FILE_FLAG_BACKUP_SEMANTICS|syscall.FILE_FLAG_OVERLAPPED, 0) - if e != nil { - return nil, os.NewSyscallError("CreateFile", e) - } - var fi syscall.ByHandleFileInformation - if e = syscall.GetFileInformationByHandle(h, &fi); e != nil { - syscall.CloseHandle(h) - return nil, os.NewSyscallError("GetFileInformationByHandle", e) - } - ino = &inode{ - handle: h, - volume: fi.VolumeSerialNumber, - index: uint64(fi.FileIndexHigh)<<32 | uint64(fi.FileIndexLow), - } - return ino, nil -} - -// Must run within the I/O thread. -func (m watchMap) get(ino *inode) *watch { - if i := m[ino.volume]; i != nil { - return i[ino.index] - } - return nil -} - -// Must run within the I/O thread. -func (m watchMap) set(ino *inode, watch *watch) { - i := m[ino.volume] - if i == nil { - i = make(indexMap) - m[ino.volume] = i - } - i[ino.index] = watch -} - -// Must run within the I/O thread. -func (w *Watcher) addWatch(pathname string, flags uint64) error { - dir, err := getDir(pathname) - if err != nil { - return err - } - if flags&sys_FS_ONLYDIR != 0 && pathname != dir { - return nil - } - ino, err := getIno(dir) - if err != nil { - return err - } - w.mu.Lock() - watchEntry := w.watches.get(ino) - w.mu.Unlock() - if watchEntry == nil { - if _, e := syscall.CreateIoCompletionPort(ino.handle, w.port, 0, 0); e != nil { - syscall.CloseHandle(ino.handle) - return os.NewSyscallError("CreateIoCompletionPort", e) - } - watchEntry = &watch{ - ino: ino, - path: dir, - names: make(map[string]uint64), - } - w.mu.Lock() - w.watches.set(ino, watchEntry) - w.mu.Unlock() - flags |= provisional - } else { - syscall.CloseHandle(ino.handle) - } - if pathname == dir { - watchEntry.mask |= flags - } else { - watchEntry.names[filepath.Base(pathname)] |= flags - } - if err = w.startRead(watchEntry); err != nil { - return err - } - if pathname == dir { - watchEntry.mask &= ^provisional - } else { - watchEntry.names[filepath.Base(pathname)] &= ^provisional - } - return nil -} - -// Must run within the I/O thread. -func (w *Watcher) remWatch(pathname string) error { - dir, err := getDir(pathname) - if err != nil { - return err - } - ino, err := getIno(dir) - if err != nil { - return err - } - w.mu.Lock() - watch := w.watches.get(ino) - w.mu.Unlock() - if watch == nil { - return fmt.Errorf("can't remove non-existent watch for: %s", pathname) - } - if pathname == dir { - w.sendEvent(watch.path, watch.mask&sys_FS_IGNORED) - watch.mask = 0 - } else { - name := filepath.Base(pathname) - w.sendEvent(watch.path+"\\"+name, watch.names[name]&sys_FS_IGNORED) - delete(watch.names, name) - } - return w.startRead(watch) -} - -// Must run within the I/O thread. -func (w *Watcher) deleteWatch(watch *watch) { - for name, mask := range watch.names { - if mask&provisional == 0 { - w.sendEvent(watch.path+"\\"+name, mask&sys_FS_IGNORED) - } - delete(watch.names, name) - } - if watch.mask != 0 { - if watch.mask&provisional == 0 { - w.sendEvent(watch.path, watch.mask&sys_FS_IGNORED) - } - watch.mask = 0 - } -} - -// Must run within the I/O thread. -func (w *Watcher) startRead(watch *watch) error { - if e := syscall.CancelIo(watch.ino.handle); e != nil { - w.Errors <- os.NewSyscallError("CancelIo", e) - w.deleteWatch(watch) - } - mask := toWindowsFlags(watch.mask) - for _, m := range watch.names { - mask |= toWindowsFlags(m) - } - if mask == 0 { - if e := syscall.CloseHandle(watch.ino.handle); e != nil { - w.Errors <- os.NewSyscallError("CloseHandle", e) - } - w.mu.Lock() - delete(w.watches[watch.ino.volume], watch.ino.index) - w.mu.Unlock() - return nil - } - e := syscall.ReadDirectoryChanges(watch.ino.handle, &watch.buf[0], - uint32(unsafe.Sizeof(watch.buf)), false, mask, nil, &watch.ov, 0) - if e != nil { - err := os.NewSyscallError("ReadDirectoryChanges", e) - if e == syscall.ERROR_ACCESS_DENIED && watch.mask&provisional == 0 { - // Watched directory was probably removed - if w.sendEvent(watch.path, watch.mask&sys_FS_DELETE_SELF) { - if watch.mask&sys_FS_ONESHOT != 0 { - watch.mask = 0 - } - } - err = nil - } - w.deleteWatch(watch) - w.startRead(watch) - return err - } - return nil -} - -// readEvents reads from the I/O completion port, converts the -// received events into Event objects and sends them via the Events channel. -// Entry point to the I/O thread. -func (w *Watcher) readEvents() { - var ( - n, key uint32 - ov *syscall.Overlapped - ) - runtime.LockOSThread() - - for { - e := syscall.GetQueuedCompletionStatus(w.port, &n, &key, &ov, syscall.INFINITE) - watch := (*watch)(unsafe.Pointer(ov)) - - if watch == nil { - select { - case ch := <-w.quit: - w.mu.Lock() - var indexes []indexMap - for _, index := range w.watches { - indexes = append(indexes, index) - } - w.mu.Unlock() - for _, index := range indexes { - for _, watch := range index { - w.deleteWatch(watch) - w.startRead(watch) - } - } - var err error - if e := syscall.CloseHandle(w.port); e != nil { - err = os.NewSyscallError("CloseHandle", e) - } - close(w.Events) - close(w.Errors) - ch <- err - return - case in := <-w.input: - switch in.op { - case opAddWatch: - in.reply <- w.addWatch(in.path, uint64(in.flags)) - case opRemoveWatch: - in.reply <- w.remWatch(in.path) - } - default: - } - continue - } - - switch e { - case syscall.ERROR_MORE_DATA: - if watch == nil { - w.Errors <- errors.New("ERROR_MORE_DATA has unexpectedly null lpOverlapped buffer") - } else { - // The i/o succeeded but the buffer is full. - // In theory we should be building up a full packet. - // In practice we can get away with just carrying on. - n = uint32(unsafe.Sizeof(watch.buf)) - } - case syscall.ERROR_ACCESS_DENIED: - // Watched directory was probably removed - w.sendEvent(watch.path, watch.mask&sys_FS_DELETE_SELF) - w.deleteWatch(watch) - w.startRead(watch) - continue - case syscall.ERROR_OPERATION_ABORTED: - // CancelIo was called on this handle - continue - default: - w.Errors <- os.NewSyscallError("GetQueuedCompletionPort", e) - continue - case nil: - } - - var offset uint32 - for { - if n == 0 { - w.Events <- newEvent("", sys_FS_Q_OVERFLOW) - w.Errors <- errors.New("short read in readEvents()") - break - } - - // Point "raw" to the event in the buffer - raw := (*syscall.FileNotifyInformation)(unsafe.Pointer(&watch.buf[offset])) - buf := (*[syscall.MAX_PATH]uint16)(unsafe.Pointer(&raw.FileName)) - name := syscall.UTF16ToString(buf[:raw.FileNameLength/2]) - fullname := watch.path + "\\" + name - - var mask uint64 - switch raw.Action { - case syscall.FILE_ACTION_REMOVED: - mask = sys_FS_DELETE_SELF - case syscall.FILE_ACTION_MODIFIED: - mask = sys_FS_MODIFY - case syscall.FILE_ACTION_RENAMED_OLD_NAME: - watch.rename = name - case syscall.FILE_ACTION_RENAMED_NEW_NAME: - if watch.names[watch.rename] != 0 { - watch.names[name] |= watch.names[watch.rename] - delete(watch.names, watch.rename) - mask = sys_FS_MOVE_SELF - } - } - - sendNameEvent := func() { - if w.sendEvent(fullname, watch.names[name]&mask) { - if watch.names[name]&sys_FS_ONESHOT != 0 { - delete(watch.names, name) - } - } - } - if raw.Action != syscall.FILE_ACTION_RENAMED_NEW_NAME { - sendNameEvent() - } - if raw.Action == syscall.FILE_ACTION_REMOVED { - w.sendEvent(fullname, watch.names[name]&sys_FS_IGNORED) - delete(watch.names, name) - } - if w.sendEvent(fullname, watch.mask&toFSnotifyFlags(raw.Action)) { - if watch.mask&sys_FS_ONESHOT != 0 { - watch.mask = 0 - } - } - if raw.Action == syscall.FILE_ACTION_RENAMED_NEW_NAME { - fullname = watch.path + "\\" + watch.rename - sendNameEvent() - } - - // Move to the next event in the buffer - if raw.NextEntryOffset == 0 { - break - } - offset += raw.NextEntryOffset - - // Error! - if offset >= n { - w.Errors <- errors.New("Windows system assumed buffer larger than it is, events have likely been missed.") - break - } - } - - if err := w.startRead(watch); err != nil { - w.Errors <- err - } - } -} - -func (w *Watcher) sendEvent(name string, mask uint64) bool { - if mask == 0 { - return false - } - event := newEvent(name, uint32(mask)) - select { - case ch := <-w.quit: - w.quit <- ch - case w.Events <- event: - } - return true -} - -func toWindowsFlags(mask uint64) uint32 { - var m uint32 - if mask&sys_FS_ACCESS != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_LAST_ACCESS - } - if mask&sys_FS_MODIFY != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_LAST_WRITE - } - if mask&sys_FS_ATTRIB != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_ATTRIBUTES - } - if mask&(sys_FS_MOVE|sys_FS_CREATE|sys_FS_DELETE) != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_FILE_NAME | syscall.FILE_NOTIFY_CHANGE_DIR_NAME - } - return m -} - -func toFSnotifyFlags(action uint32) uint64 { - switch action { - case syscall.FILE_ACTION_ADDED: - return sys_FS_CREATE - case syscall.FILE_ACTION_REMOVED: - return sys_FS_DELETE - case syscall.FILE_ACTION_MODIFIED: - return sys_FS_MODIFY - case syscall.FILE_ACTION_RENAMED_OLD_NAME: - return sys_FS_MOVED_FROM - case syscall.FILE_ACTION_RENAMED_NEW_NAME: - return sys_FS_MOVED_TO - } - return 0 -} diff --git a/vendor/gopkg.in/tomb.v1/LICENSE b/vendor/gopkg.in/tomb.v1/LICENSE deleted file mode 100644 index a4249bb31..000000000 --- a/vendor/gopkg.in/tomb.v1/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -tomb - support for clean goroutine termination in Go. - -Copyright (c) 2010-2011 - Gustavo Niemeyer - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * 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. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS 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 OWNER 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. diff --git a/vendor/gopkg.in/tomb.v1/README.md b/vendor/gopkg.in/tomb.v1/README.md deleted file mode 100644 index 3ae8788e8..000000000 --- a/vendor/gopkg.in/tomb.v1/README.md +++ /dev/null @@ -1,4 +0,0 @@ -Installation and usage ----------------------- - -See [gopkg.in/tomb.v1](https://gopkg.in/tomb.v1) for documentation and usage details. diff --git a/vendor/gopkg.in/tomb.v1/tomb.go b/vendor/gopkg.in/tomb.v1/tomb.go deleted file mode 100644 index 9aec56d82..000000000 --- a/vendor/gopkg.in/tomb.v1/tomb.go +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright (c) 2011 - Gustavo Niemeyer -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * 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. -// * Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS 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 OWNER 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. - -// The tomb package offers a conventional API for clean goroutine termination. -// -// A Tomb tracks the lifecycle of a goroutine as alive, dying or dead, -// and the reason for its death. -// -// The zero value of a Tomb assumes that a goroutine is about to be -// created or already alive. Once Kill or Killf is called with an -// argument that informs the reason for death, the goroutine is in -// a dying state and is expected to terminate soon. Right before the -// goroutine function or method returns, Done must be called to inform -// that the goroutine is indeed dead and about to stop running. -// -// A Tomb exposes Dying and Dead channels. These channels are closed -// when the Tomb state changes in the respective way. They enable -// explicit blocking until the state changes, and also to selectively -// unblock select statements accordingly. -// -// When the tomb state changes to dying and there's still logic going -// on within the goroutine, nested functions and methods may choose to -// return ErrDying as their error value, as this error won't alter the -// tomb state if provided to the Kill method. This is a convenient way to -// follow standard Go practices in the context of a dying tomb. -// -// For background and a detailed example, see the following blog post: -// -// http://blog.labix.org/2011/10/09/death-of-goroutines-under-control -// -// For a more complex code snippet demonstrating the use of multiple -// goroutines with a single Tomb, see: -// -// http://play.golang.org/p/Xh7qWsDPZP -// -package tomb - -import ( - "errors" - "fmt" - "sync" -) - -// A Tomb tracks the lifecycle of a goroutine as alive, dying or dead, -// and the reason for its death. -// -// See the package documentation for details. -type Tomb struct { - m sync.Mutex - dying chan struct{} - dead chan struct{} - reason error -} - -var ( - ErrStillAlive = errors.New("tomb: still alive") - ErrDying = errors.New("tomb: dying") -) - -func (t *Tomb) init() { - t.m.Lock() - if t.dead == nil { - t.dead = make(chan struct{}) - t.dying = make(chan struct{}) - t.reason = ErrStillAlive - } - t.m.Unlock() -} - -// Dead returns the channel that can be used to wait -// until t.Done has been called. -func (t *Tomb) Dead() <-chan struct{} { - t.init() - return t.dead -} - -// Dying returns the channel that can be used to wait -// until t.Kill or t.Done has been called. -func (t *Tomb) Dying() <-chan struct{} { - t.init() - return t.dying -} - -// Wait blocks until the goroutine is in a dead state and returns the -// reason for its death. -func (t *Tomb) Wait() error { - t.init() - <-t.dead - t.m.Lock() - reason := t.reason - t.m.Unlock() - return reason -} - -// Done flags the goroutine as dead, and should be called a single time -// right before the goroutine function or method returns. -// If the goroutine was not already in a dying state before Done is -// called, it will be flagged as dying and dead at once with no -// error. -func (t *Tomb) Done() { - t.Kill(nil) - close(t.dead) -} - -// Kill flags the goroutine as dying for the given reason. -// Kill may be called multiple times, but only the first -// non-nil error is recorded as the reason for termination. -// -// If reason is ErrDying, the previous reason isn't replaced -// even if it is nil. It's a runtime error to call Kill with -// ErrDying if t is not in a dying state. -func (t *Tomb) Kill(reason error) { - t.init() - t.m.Lock() - defer t.m.Unlock() - if reason == ErrDying { - if t.reason == ErrStillAlive { - panic("tomb: Kill with ErrDying while still alive") - } - return - } - if t.reason == nil || t.reason == ErrStillAlive { - t.reason = reason - } - // If the receive on t.dying succeeds, then - // it can only be because we have already closed it. - // If it blocks, then we know that it needs to be closed. - select { - case <-t.dying: - default: - close(t.dying) - } -} - -// Killf works like Kill, but builds the reason providing the received -// arguments to fmt.Errorf. The generated error is also returned. -func (t *Tomb) Killf(f string, a ...interface{}) error { - err := fmt.Errorf(f, a...) - t.Kill(err) - return err -} - -// Err returns the reason for the goroutine death provided via Kill -// or Killf, or ErrStillAlive when the goroutine is still alive. -func (t *Tomb) Err() (reason error) { - t.init() - t.m.Lock() - reason = t.reason - t.m.Unlock() - return -} From f4eb61259430ee6ed4ea66a6727bec22c78bd7bb Mon Sep 17 00:00:00 2001 From: Rickard von Essen Date: Sat, 1 Oct 2016 23:15:32 +0200 Subject: [PATCH 04/10] Propery vendor github.com/approvals/go-approval-tests --- Godeps/Godeps.json | 12 + builder/azure/arm/template_factory.go | 2 + .../approvals/go-approval-tests/.gitignore | 25 ++ .../approvals/go-approval-tests/.travis.yml | 16 + .../approvals/go-approval-tests/LICENSE.md | 201 ++++++++++++ .../approvals/go-approval-tests/README.md | 53 ++++ .../approvals/go-approval-tests/TODO.md | 5 + .../go-approval-tests/approval_name.go | 130 ++++++++ .../approvals/go-approval-tests/approvals.go | 204 ++++++++++++ ...ls_test.TestReporterFromSetup.approved.txt | 1 + ...TestVerifyAllCombinationsFor1.approved.txt | 5 + ...TestVerifyAllCombinationsFor2.approved.txt | 7 + ...TestVerifyAllCombinationsFor9.approved.txt | 259 +++++++++++++++ ...rifyAllCombinationsForSkipped.approved.txt | 10 + ...pprovals_test.TestVerifyArray.approved.txt | 3 + ..._test.TestVerifyArrayBadArray.approved.txt | 3 + ...est.TestVerifyArrayEmptyArray.approved.txt | 1 + ...TestVerifyArrayTransformation.approved.txt | 5 + ..._test.TestVerifyBadJSONBytes.approved.json | 5 + ...ls_test.TestVerifyBadXMLBytes.approved.xml | 5 + ...s_test.TestVerifyBadXMLStruct.approved.xml | 7 + ...als_test.TestVerifyJSONBytes.approved.json | 5 + ...ls_test.TestVerifyJSONStruct.approved.json | 5 + .../approvals_test.TestVerifyMap.approved.txt | 2 + ...vals_test.TestVerifyMapBadMap.approved.txt | 3 + ...ls_test.TestVerifyMapEmptyMap.approved.txt | 1 + ...test.TestVerifyStringApproval.approved.txt | 1 + ...ovals_test.TestVerifyXMLBytes.approved.xml | 5 + ...vals_test.TestVerifyXMLStruct.approved.xml | 5 + .../combination_approvals.go | 296 ++++++++++++++++++ .../reporters/all_failing.go | 18 ++ .../reporters/beyond_compare.go | 15 + .../go-approval-tests/reporters/clipboard.go | 66 ++++ .../reporters/continuous_integration.go | 28 ++ .../reporters/diff_reporter.go | 40 +++ .../reporters/file_launcher.go | 27 ++ .../go-approval-tests/reporters/intellij.go | 15 + .../go-approval-tests/reporters/newbie.go | 18 ++ .../go-approval-tests/reporters/quiet.go | 29 ++ .../go-approval-tests/reporters/reporter.go | 53 ++++ .../utils/collection_utils.go | 77 +++++ .../go-approval-tests/utils/file_utils.go | 24 ++ .../go-approval-tests/utils/testing_utils.go | 11 + 43 files changed, 1703 insertions(+) create mode 100644 vendor/github.com/approvals/go-approval-tests/.gitignore create mode 100644 vendor/github.com/approvals/go-approval-tests/.travis.yml create mode 100644 vendor/github.com/approvals/go-approval-tests/LICENSE.md create mode 100644 vendor/github.com/approvals/go-approval-tests/README.md create mode 100644 vendor/github.com/approvals/go-approval-tests/TODO.md create mode 100644 vendor/github.com/approvals/go-approval-tests/approval_name.go create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals.go create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestReporterFromSetup.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor1.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor2.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor9.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsForSkipped.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArray.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayBadArray.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayEmptyArray.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayTransformation.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadJSONBytes.approved.json create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLBytes.approved.xml create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLStruct.approved.xml create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONBytes.approved.json create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONStruct.approved.json create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMap.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapBadMap.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapEmptyMap.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyStringApproval.approved.txt create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLBytes.approved.xml create mode 100644 vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLStruct.approved.xml create mode 100644 vendor/github.com/approvals/go-approval-tests/combination_approvals.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/intellij.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/newbie.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/quiet.go create mode 100644 vendor/github.com/approvals/go-approval-tests/reporters/reporter.go create mode 100644 vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go create mode 100644 vendor/github.com/approvals/go-approval-tests/utils/file_utils.go create mode 100644 vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 3ba9eb437..4cd705216 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -57,6 +57,18 @@ "ImportPath": "github.com/Azure/go-ntlmssp", "Rev": "e0b63eb299a769ea4b04dadfe530f6074b277afb" }, + { + "ImportPath": "github.com/approvals/go-approval-tests", + "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" + }, + { + "ImportPath": "github.com/approvals/go-approval-tests/reporters", + "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" + }, + { + "ImportPath": "github.com/approvals/go-approval-tests/utils", + "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" + }, { "ImportPath": "github.com/armon/go-radix", "Rev": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2" diff --git a/builder/azure/arm/template_factory.go b/builder/azure/arm/template_factory.go index 887b39f50..f45b8c898 100644 --- a/builder/azure/arm/template_factory.go +++ b/builder/azure/arm/template_factory.go @@ -8,6 +8,8 @@ import ( "github.com/mitchellh/packer/builder/azure/common/constants" "github.com/mitchellh/packer/builder/azure/common/template" + + _ "github.com/approvals/go-approval-tests" ) type templateFactoryFunc func(*Config) (*resources.Deployment, error) diff --git a/vendor/github.com/approvals/go-approval-tests/.gitignore b/vendor/github.com/approvals/go-approval-tests/.gitignore new file mode 100644 index 000000000..116a34613 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/.gitignore @@ -0,0 +1,25 @@ +*.received.* +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof diff --git a/vendor/github.com/approvals/go-approval-tests/.travis.yml b/vendor/github.com/approvals/go-approval-tests/.travis.yml new file mode 100644 index 000000000..2f2aa09d7 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/.travis.yml @@ -0,0 +1,16 @@ +sudo: false + +language: go + +go: + - 1.6 + +install: + - go get -u github.com/golang/lint/golint + +script: + - test -z "$(go fmt -s -l -w ./... | tee /dev/stderr)" + - golint -set_exit_status ./... + - go vet ./... + - go build -v ./... + - go test -v ./... \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/LICENSE.md b/vendor/github.com/approvals/go-approval-tests/LICENSE.md new file mode 100644 index 000000000..8dada3eda --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/LICENSE.md @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/approvals/go-approval-tests/README.md b/vendor/github.com/approvals/go-approval-tests/README.md new file mode 100644 index 000000000..f1403f771 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/README.md @@ -0,0 +1,53 @@ +# ApprovalTests.go + +ApprovalTests for go + +[![Build Status](https://travis-ci.org/approvals/go-approval-tests.png?branch=master)](https://travis-ci.org/approvals/go-approval-tests) + +# Golden master Verification Library +ApprovalTests allows for easy testing of larger objects, strings and anything else that can be saved to a file (images, sounds, csv, etc...) + +#Examples +##In Project +Note: ApprovalTests uses approvaltests to test itself. Therefore there are many examples in the code itself. + + * [approvals_test.go](approvals_test.go) + +##JSON +VerifyJSONBytes - Simple Formatting for easy comparison. Also uses the .json file extension + +```go +func TestVerifyJSON(t *testing.T) { + jsonb := []byte("{ \"foo\": \"bar\", \"age\": 42, \"bark\": \"woof\" }") + VerifyJSONBytes(t, jsonb) +} +``` +Matches file: approvals_test.TestVerifyJSON.received.json + +```json +{ + "age": 42, + "bark": "woof", + "foo": "bar" +} +``` + +##Reporters +ApprovalTests becomes *much* more powerful with reporters. Reporters launch programs on failure to help you understand, fix and approve results. + +You can make your own easily, [here's an example](reporters/beyond_compare.go) +You can also declare which one to use. Either at the +### Method level +```go +r := UseReporter(reporters.NewIntelliJ()) +defer r.Close() +``` +### Test Level +```go +func TestMain(m *testing.M) { + r := UseReporter(reporters.NewBeyondCompareReporter()) + defer r.Close() + + m.Run() +} +``` diff --git a/vendor/github.com/approvals/go-approval-tests/TODO.md b/vendor/github.com/approvals/go-approval-tests/TODO.md new file mode 100644 index 000000000..769eb57ae --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/TODO.md @@ -0,0 +1,5 @@ +- [X] Combinations +- [X] XML from string +- [ ] Newbie Reporters +- [X] Reporters have toStrings to display what you can add to your system. +- [X] allfailingtests reporter diff --git a/vendor/github.com/approvals/go-approval-tests/approval_name.go b/vendor/github.com/approvals/go-approval-tests/approval_name.go new file mode 100644 index 000000000..1ef043efc --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approval_name.go @@ -0,0 +1,130 @@ +package approvaltests + +import ( + "bytes" + "fmt" + "io" + "io/ioutil" + "os" + "path" + "runtime" + "strings" +) + +type approvalName struct { + pc uintptr + fullName string + name string + fileName string + fileLine int +} + +func newApprovalName(pc uintptr, f *runtime.Func) (*approvalName, error) { + namer := &approvalName{ + pc: pc, + fullName: f.Name(), + } + + namer.fileName, namer.fileLine = f.FileLine(pc) + + splits := strings.Split(namer.fullName, ".") + namer.name = splits[len(splits)-1] + + return namer, nil +} + +// Walk the call stack, and try to find the test method that was executed. +// The test method is identified by looking for the test runner, which is +// *assumed* to be common across all callers. The test runner has a Name() of +// 'testing.tRunner'. The method immediately previous to this is the test +// method. +func getApprovalName() (*approvalName, error) { + pc := make([]uintptr, 100) + count := runtime.Callers(0, pc) + + i := 0 + var lastFunc *runtime.Func + + for ; i < count; i++ { + lastFunc = runtime.FuncForPC(pc[i]) + if isTestRunner(lastFunc) { + break + } + } + + if i == 0 || !isTestRunner(lastFunc) { + return nil, fmt.Errorf("approvals: could not find the test method") + } + + testMethod := runtime.FuncForPC(pc[i-1]) + return newApprovalName(pc[i-1], testMethod) +} + +func isTestRunner(f *runtime.Func) bool { + return f != nil && f.Name() == "testing.tRunner" +} + +func (s *approvalName) compare(approvalFile, receivedFile string, reader io.Reader) error { + received, err := ioutil.ReadAll(reader) + if err != nil { + return err + } + + // Ideally, this should only be written if + // 1. the approval file does not exist + // 2. the results differ + err = s.dumpReceivedTestResult(received, receivedFile) + if err != nil { + return err + } + + fh, err := os.Open(approvalFile) + if err != nil { + return err + } + defer fh.Close() + + approved, err := ioutil.ReadAll(fh) + if err != nil { + return err + } + + received = s.normalizeLineEndings(received) + approved = s.normalizeLineEndings(approved) + + // The two sides are identical, nothing more to do. + if bytes.Compare(received, approved) == 0 { + return nil + } + + return fmt.Errorf("failed to approved %s", s.name) +} + +func (s *approvalName) normalizeLineEndings(bs []byte) []byte { + return bytes.Replace(bs, []byte("\r\n"), []byte("\n"), -1) +} + +func (s *approvalName) dumpReceivedTestResult(bs []byte, receivedFile string) error { + err := ioutil.WriteFile(receivedFile, bs, 0644) + + return err +} + +func (s *approvalName) getFileName(extWithDot string, suffix string) string { + if !strings.HasPrefix(extWithDot, ".") { + extWithDot = fmt.Sprintf(".%s", extWithDot) + } + + baseName := path.Base(s.fileName) + baseWithoutExt := baseName[:len(baseName)-len(path.Ext(s.fileName))] + + return fmt.Sprintf("%s.%s.%s%s", baseWithoutExt, s.name, suffix, extWithDot) +} + +func (s *approvalName) getReceivedFile(extWithDot string) string { + return s.getFileName(extWithDot, "received") +} + +func (s *approvalName) getApprovalFile(extWithDot string) string { + return s.getFileName(extWithDot, "approved") +} diff --git a/vendor/github.com/approvals/go-approval-tests/approvals.go b/vendor/github.com/approvals/go-approval-tests/approvals.go new file mode 100644 index 000000000..f4b3a839e --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals.go @@ -0,0 +1,204 @@ +package approvaltests + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "os" + "strings" + + "encoding/xml" + "github.com/approvals/go-approval-tests/reporters" + "github.com/approvals/go-approval-tests/utils" + "reflect" +) + +var ( + defaultReporter = reporters.NewDiffReporter() + defaultFrontLoadedReporter = reporters.NewFrontLoadedReporter() +) + +// Failable is an interface wrapper around testing.T +type Failable interface { + Fail() +} + +// VerifyWithExtension Example: +// VerifyWithExtension(t, strings.NewReader("Hello"), ".txt") +func VerifyWithExtension(t Failable, reader io.Reader, extWithDot string) error { + namer, err := getApprovalName() + if err != nil { + return err + } + + reporter := getReporter() + err = namer.compare(namer.getApprovalFile(extWithDot), namer.getReceivedFile(extWithDot), reader) + if err != nil { + reporter.Report(namer.getApprovalFile(extWithDot), namer.getReceivedFile(extWithDot)) + t.Fail() + } else { + os.Remove(namer.getReceivedFile(extWithDot)) + } + + return err +} + +// Verify Example: +// Verify(t, strings.NewReader("Hello")) +func Verify(t Failable, reader io.Reader) error { + return VerifyWithExtension(t, reader, ".txt") +} + +// VerifyString Example: +// VerifyString(t, "Hello") +func VerifyString(t Failable, s string) error { + reader := strings.NewReader(s) + return Verify(t, reader) +} + +// VerifyXMLStruct Example: +// VerifyXMLStruct(t, xml) +func VerifyXMLStruct(t Failable, obj interface{}) error { + xmlb, err := xml.MarshalIndent(obj, "", " ") + if err != nil { + tip := "" + if reflect.TypeOf(obj).Name() == "" { + tip = "when using anonymous types be sure to include\n XMLName xml.Name `xml:\"Your_Name_Here\"`\n" + } + message := fmt.Sprintf("error while pretty printing XML\n%verror:\n %v\nXML:\n %v\n", tip, err, obj) + return VerifyWithExtension(t, strings.NewReader(message), ".xml") + } + + return VerifyWithExtension(t, bytes.NewReader(xmlb), ".xml") +} + +// VerifyXMLBytes Example: +// VerifyXMLBytes(t, []byte("")) +func VerifyXMLBytes(t Failable, bs []byte) error { + type node struct { + Attr []xml.Attr + XMLName xml.Name + Children []node `xml:",any"` + Text string `xml:",chardata"` + } + x := node{} + + err := xml.Unmarshal(bs, &x) + if err != nil { + message := fmt.Sprintf("error while parsing XML\nerror:\n %s\nXML:\n %s\n", err, string(bs)) + return VerifyWithExtension(t, strings.NewReader(message), ".xml") + } + + return VerifyXMLStruct(t, x) +} + +// VerifyJSONStruct Example: +// VerifyJSONStruct(t, json) +func VerifyJSONStruct(t Failable, obj interface{}) error { + jsonb, err := json.MarshalIndent(obj, "", " ") + if err != nil { + message := fmt.Sprintf("error while pretty printing JSON\nerror:\n %s\nJSON:\n %s\n", err, obj) + return VerifyWithExtension(t, strings.NewReader(message), ".json") + } + + return VerifyWithExtension(t, bytes.NewReader(jsonb), ".json") +} + +// VerifyJSONBytes Example: +// VerifyJSONBytes(t, []byte("{ \"Greeting\": \"Hello\" }")) +func VerifyJSONBytes(t Failable, bs []byte) error { + var obj map[string]interface{} + err := json.Unmarshal(bs, &obj) + if err != nil { + message := fmt.Sprintf("error while parsing JSON\nerror:\n %s\nJSON:\n %s\n", err, string(bs)) + return VerifyWithExtension(t, strings.NewReader(message), ".json") + } + + return VerifyJSONStruct(t, obj) +} + +// VerifyMap Example: +// VerifyMap(t, map[string][string] { "dog": "bark" }) +func VerifyMap(t Failable, m interface{}) error { + outputText := utils.PrintMap(m) + return VerifyString(t, outputText) +} + +// VerifyArray Example: +// VerifyArray(t, []string{"dog", "cat"}) +func VerifyArray(t Failable, array interface{}) error { + outputText := utils.PrintArray(array) + return VerifyString(t, outputText) +} + +// VerifyAll Example: +// VerifyAll(t, "uppercase", []string("dog", "cat"}, func(x interface{}) string { return strings.ToUpper(x.(string)) }) +func VerifyAll(t Failable, header string, collection interface{}, transform func(interface{}) string) error { + if len(header) != 0 { + header = fmt.Sprintf("%s\n\n\n", header) + } + + outputText := header + strings.Join(utils.MapToString(collection, transform), "\n") + return VerifyString(t, outputText) +} + +type reporterCloser struct { + reporter *reporters.Reporter +} + +func (s *reporterCloser) Close() error { + defaultReporter = s.reporter + return nil +} + +type frontLoadedReporterCloser struct { + reporter *reporters.Reporter +} + +func (s *frontLoadedReporterCloser) Close() error { + defaultFrontLoadedReporter = s.reporter + return nil +} + +// UseReporter configures which reporter to use on failure. +// Add at the test or method level to configure your reporter. +// +// The following examples shows how to use a reporter for all of your test cases +// in a package directory through go's setup feature. +// +// +// func TestMain(m *testing.M) { +// r := UseReporter(reporters.NewBeyondCompareReporter()) +// defer r.Close() +// +// os.Exit(m.Run()) +// } +// +func UseReporter(reporter reporters.Reporter) io.Closer { + closer := &reporterCloser{ + reporter: defaultReporter, + } + + defaultReporter = &reporter + return closer +} + +// UseFrontLoadedReporter configures reporters ahead of all other reporters to +// handle situations like CI. These reporters usually prevent reporting in +// scenarios that are headless. +func UseFrontLoadedReporter(reporter reporters.Reporter) io.Closer { + closer := &frontLoadedReporterCloser{ + reporter: defaultFrontLoadedReporter, + } + + defaultFrontLoadedReporter = &reporter + return closer +} + +func getReporter() reporters.Reporter { + return reporters.NewFirstWorkingReporter( + *defaultFrontLoadedReporter, + *defaultReporter, + ) +} diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestReporterFromSetup.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestReporterFromSetup.approved.txt new file mode 100644 index 000000000..c57eff55e --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestReporterFromSetup.approved.txt @@ -0,0 +1 @@ +Hello World! \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor1.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor1.approved.txt new file mode 100644 index 000000000..3ba9ad1ed --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor1.approved.txt @@ -0,0 +1,5 @@ +uppercase + + +[Christopher] => CHRISTOPHER +[Llewellyn] => LLEWELLYN \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor2.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor2.approved.txt new file mode 100644 index 000000000..d0ba3fa26 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor2.approved.txt @@ -0,0 +1,7 @@ +character at + + +[Christopher,0] => C +[Christopher,1] => h +[Llewellyn,0] => L +[Llewellyn,1] => l \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor9.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor9.approved.txt new file mode 100644 index 000000000..e5ed07e5d --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsFor9.approved.txt @@ -0,0 +1,259 @@ +sum numbers + + +[Christopher,0,2,4,6,8,10,12,14] => Christopher[56] +[Christopher,0,2,4,6,8,10,12,15] => Christopher[57] +[Christopher,0,2,4,6,8,10,13,14] => Christopher[57] +[Christopher,0,2,4,6,8,10,13,15] => Christopher[58] +[Christopher,0,2,4,6,8,11,12,14] => Christopher[57] +[Christopher,0,2,4,6,8,11,12,15] => Christopher[58] +[Christopher,0,2,4,6,8,11,13,14] => Christopher[58] +[Christopher,0,2,4,6,8,11,13,15] => Christopher[59] +[Christopher,0,2,4,6,9,10,12,14] => Christopher[57] +[Christopher,0,2,4,6,9,10,12,15] => Christopher[58] +[Christopher,0,2,4,6,9,10,13,14] => Christopher[58] +[Christopher,0,2,4,6,9,10,13,15] => Christopher[59] +[Christopher,0,2,4,6,9,11,12,14] => Christopher[58] +[Christopher,0,2,4,6,9,11,12,15] => Christopher[59] +[Christopher,0,2,4,6,9,11,13,14] => Christopher[59] +[Christopher,0,2,4,6,9,11,13,15] => Christopher[60] +[Christopher,0,2,4,7,8,10,12,14] => Christopher[57] +[Christopher,0,2,4,7,8,10,12,15] => Christopher[58] +[Christopher,0,2,4,7,8,10,13,14] => Christopher[58] +[Christopher,0,2,4,7,8,10,13,15] => Christopher[59] +[Christopher,0,2,4,7,8,11,12,14] => Christopher[58] +[Christopher,0,2,4,7,8,11,12,15] => Christopher[59] +[Christopher,0,2,4,7,8,11,13,14] => Christopher[59] +[Christopher,0,2,4,7,8,11,13,15] => Christopher[60] +[Christopher,0,2,4,7,9,10,12,14] => Christopher[58] +[Christopher,0,2,4,7,9,10,12,15] => Christopher[59] +[Christopher,0,2,4,7,9,10,13,14] => Christopher[59] +[Christopher,0,2,4,7,9,10,13,15] => Christopher[60] +[Christopher,0,2,4,7,9,11,12,14] => Christopher[59] +[Christopher,0,2,4,7,9,11,12,15] => Christopher[60] +[Christopher,0,2,4,7,9,11,13,14] => Christopher[60] +[Christopher,0,2,4,7,9,11,13,15] => Christopher[61] +[Christopher,0,2,5,6,8,10,12,14] => Christopher[57] +[Christopher,0,2,5,6,8,10,12,15] => Christopher[58] +[Christopher,0,2,5,6,8,10,13,14] => Christopher[58] +[Christopher,0,2,5,6,8,10,13,15] => Christopher[59] +[Christopher,0,2,5,6,8,11,12,14] => Christopher[58] +[Christopher,0,2,5,6,8,11,12,15] => Christopher[59] +[Christopher,0,2,5,6,8,11,13,14] => Christopher[59] +[Christopher,0,2,5,6,8,11,13,15] => Christopher[60] +[Christopher,0,2,5,6,9,10,12,14] => Christopher[58] +[Christopher,0,2,5,6,9,10,12,15] => Christopher[59] +[Christopher,0,2,5,6,9,10,13,14] => Christopher[59] +[Christopher,0,2,5,6,9,10,13,15] => Christopher[60] +[Christopher,0,2,5,6,9,11,12,14] => Christopher[59] +[Christopher,0,2,5,6,9,11,12,15] => Christopher[60] +[Christopher,0,2,5,6,9,11,13,14] => Christopher[60] +[Christopher,0,2,5,6,9,11,13,15] => Christopher[61] +[Christopher,0,2,5,7,8,10,12,14] => Christopher[58] +[Christopher,0,2,5,7,8,10,12,15] => Christopher[59] +[Christopher,0,2,5,7,8,10,13,14] => Christopher[59] +[Christopher,0,2,5,7,8,10,13,15] => Christopher[60] +[Christopher,0,2,5,7,8,11,12,14] => Christopher[59] +[Christopher,0,2,5,7,8,11,12,15] => Christopher[60] +[Christopher,0,2,5,7,8,11,13,14] => Christopher[60] +[Christopher,0,2,5,7,8,11,13,15] => Christopher[61] +[Christopher,0,2,5,7,9,10,12,14] => Christopher[59] +[Christopher,0,2,5,7,9,10,12,15] => Christopher[60] +[Christopher,0,2,5,7,9,10,13,14] => Christopher[60] +[Christopher,0,2,5,7,9,10,13,15] => Christopher[61] +[Christopher,0,2,5,7,9,11,12,14] => Christopher[60] +[Christopher,0,2,5,7,9,11,12,15] => Christopher[61] +[Christopher,0,2,5,7,9,11,13,14] => Christopher[61] +[Christopher,0,2,5,7,9,11,13,15] => Christopher[62] +[Christopher,0,3,4,6,8,10,12,14] => Christopher[57] +[Christopher,0,3,4,6,8,10,12,15] => Christopher[58] +[Christopher,0,3,4,6,8,10,13,14] => Christopher[58] +[Christopher,0,3,4,6,8,10,13,15] => Christopher[59] +[Christopher,0,3,4,6,8,11,12,14] => Christopher[58] +[Christopher,0,3,4,6,8,11,12,15] => Christopher[59] +[Christopher,0,3,4,6,8,11,13,14] => Christopher[59] +[Christopher,0,3,4,6,8,11,13,15] => Christopher[60] +[Christopher,0,3,4,6,9,10,12,14] => Christopher[58] +[Christopher,0,3,4,6,9,10,12,15] => Christopher[59] +[Christopher,0,3,4,6,9,10,13,14] => Christopher[59] +[Christopher,0,3,4,6,9,10,13,15] => Christopher[60] +[Christopher,0,3,4,6,9,11,12,14] => Christopher[59] +[Christopher,0,3,4,6,9,11,12,15] => Christopher[60] +[Christopher,0,3,4,6,9,11,13,14] => Christopher[60] +[Christopher,0,3,4,6,9,11,13,15] => Christopher[61] +[Christopher,0,3,4,7,8,10,12,14] => Christopher[58] +[Christopher,0,3,4,7,8,10,12,15] => Christopher[59] +[Christopher,0,3,4,7,8,10,13,14] => Christopher[59] +[Christopher,0,3,4,7,8,10,13,15] => Christopher[60] +[Christopher,0,3,4,7,8,11,12,14] => Christopher[59] +[Christopher,0,3,4,7,8,11,12,15] => Christopher[60] +[Christopher,0,3,4,7,8,11,13,14] => Christopher[60] +[Christopher,0,3,4,7,8,11,13,15] => Christopher[61] +[Christopher,0,3,4,7,9,10,12,14] => Christopher[59] +[Christopher,0,3,4,7,9,10,12,15] => Christopher[60] +[Christopher,0,3,4,7,9,10,13,14] => Christopher[60] +[Christopher,0,3,4,7,9,10,13,15] => Christopher[61] +[Christopher,0,3,4,7,9,11,12,14] => Christopher[60] +[Christopher,0,3,4,7,9,11,12,15] => Christopher[61] +[Christopher,0,3,4,7,9,11,13,14] => Christopher[61] +[Christopher,0,3,4,7,9,11,13,15] => Christopher[62] +[Christopher,0,3,5,6,8,10,12,14] => Christopher[58] +[Christopher,0,3,5,6,8,10,12,15] => Christopher[59] +[Christopher,0,3,5,6,8,10,13,14] => Christopher[59] +[Christopher,0,3,5,6,8,10,13,15] => Christopher[60] +[Christopher,0,3,5,6,8,11,12,14] => Christopher[59] +[Christopher,0,3,5,6,8,11,12,15] => Christopher[60] +[Christopher,0,3,5,6,8,11,13,14] => Christopher[60] +[Christopher,0,3,5,6,8,11,13,15] => Christopher[61] +[Christopher,0,3,5,6,9,10,12,14] => Christopher[59] +[Christopher,0,3,5,6,9,10,12,15] => Christopher[60] +[Christopher,0,3,5,6,9,10,13,14] => Christopher[60] +[Christopher,0,3,5,6,9,10,13,15] => Christopher[61] +[Christopher,0,3,5,6,9,11,12,14] => Christopher[60] +[Christopher,0,3,5,6,9,11,12,15] => Christopher[61] +[Christopher,0,3,5,6,9,11,13,14] => Christopher[61] +[Christopher,0,3,5,6,9,11,13,15] => Christopher[62] +[Christopher,0,3,5,7,8,10,12,14] => Christopher[59] +[Christopher,0,3,5,7,8,10,12,15] => Christopher[60] +[Christopher,0,3,5,7,8,10,13,14] => Christopher[60] +[Christopher,0,3,5,7,8,10,13,15] => Christopher[61] +[Christopher,0,3,5,7,8,11,12,14] => Christopher[60] +[Christopher,0,3,5,7,8,11,12,15] => Christopher[61] +[Christopher,0,3,5,7,8,11,13,14] => Christopher[61] +[Christopher,0,3,5,7,8,11,13,15] => Christopher[62] +[Christopher,0,3,5,7,9,10,12,14] => Christopher[60] +[Christopher,0,3,5,7,9,10,12,15] => Christopher[61] +[Christopher,0,3,5,7,9,10,13,14] => Christopher[61] +[Christopher,0,3,5,7,9,10,13,15] => Christopher[62] +[Christopher,0,3,5,7,9,11,12,14] => Christopher[61] +[Christopher,0,3,5,7,9,11,12,15] => Christopher[62] +[Christopher,0,3,5,7,9,11,13,14] => Christopher[62] +[Christopher,0,3,5,7,9,11,13,15] => Christopher[63] +[Christopher,1,2,4,6,8,10,12,14] => Christopher[57] +[Christopher,1,2,4,6,8,10,12,15] => Christopher[58] +[Christopher,1,2,4,6,8,10,13,14] => Christopher[58] +[Christopher,1,2,4,6,8,10,13,15] => Christopher[59] +[Christopher,1,2,4,6,8,11,12,14] => Christopher[58] +[Christopher,1,2,4,6,8,11,12,15] => Christopher[59] +[Christopher,1,2,4,6,8,11,13,14] => Christopher[59] +[Christopher,1,2,4,6,8,11,13,15] => Christopher[60] +[Christopher,1,2,4,6,9,10,12,14] => Christopher[58] +[Christopher,1,2,4,6,9,10,12,15] => Christopher[59] +[Christopher,1,2,4,6,9,10,13,14] => Christopher[59] +[Christopher,1,2,4,6,9,10,13,15] => Christopher[60] +[Christopher,1,2,4,6,9,11,12,14] => Christopher[59] +[Christopher,1,2,4,6,9,11,12,15] => Christopher[60] +[Christopher,1,2,4,6,9,11,13,14] => Christopher[60] +[Christopher,1,2,4,6,9,11,13,15] => Christopher[61] +[Christopher,1,2,4,7,8,10,12,14] => Christopher[58] +[Christopher,1,2,4,7,8,10,12,15] => Christopher[59] +[Christopher,1,2,4,7,8,10,13,14] => Christopher[59] +[Christopher,1,2,4,7,8,10,13,15] => Christopher[60] +[Christopher,1,2,4,7,8,11,12,14] => Christopher[59] +[Christopher,1,2,4,7,8,11,12,15] => Christopher[60] +[Christopher,1,2,4,7,8,11,13,14] => Christopher[60] +[Christopher,1,2,4,7,8,11,13,15] => Christopher[61] +[Christopher,1,2,4,7,9,10,12,14] => Christopher[59] +[Christopher,1,2,4,7,9,10,12,15] => Christopher[60] +[Christopher,1,2,4,7,9,10,13,14] => Christopher[60] +[Christopher,1,2,4,7,9,10,13,15] => Christopher[61] +[Christopher,1,2,4,7,9,11,12,14] => Christopher[60] +[Christopher,1,2,4,7,9,11,12,15] => Christopher[61] +[Christopher,1,2,4,7,9,11,13,14] => Christopher[61] +[Christopher,1,2,4,7,9,11,13,15] => Christopher[62] +[Christopher,1,2,5,6,8,10,12,14] => Christopher[58] +[Christopher,1,2,5,6,8,10,12,15] => Christopher[59] +[Christopher,1,2,5,6,8,10,13,14] => Christopher[59] +[Christopher,1,2,5,6,8,10,13,15] => Christopher[60] +[Christopher,1,2,5,6,8,11,12,14] => Christopher[59] +[Christopher,1,2,5,6,8,11,12,15] => Christopher[60] +[Christopher,1,2,5,6,8,11,13,14] => Christopher[60] +[Christopher,1,2,5,6,8,11,13,15] => Christopher[61] +[Christopher,1,2,5,6,9,10,12,14] => Christopher[59] +[Christopher,1,2,5,6,9,10,12,15] => Christopher[60] +[Christopher,1,2,5,6,9,10,13,14] => Christopher[60] +[Christopher,1,2,5,6,9,10,13,15] => Christopher[61] +[Christopher,1,2,5,6,9,11,12,14] => Christopher[60] +[Christopher,1,2,5,6,9,11,12,15] => Christopher[61] +[Christopher,1,2,5,6,9,11,13,14] => Christopher[61] +[Christopher,1,2,5,6,9,11,13,15] => Christopher[62] +[Christopher,1,2,5,7,8,10,12,14] => Christopher[59] +[Christopher,1,2,5,7,8,10,12,15] => Christopher[60] +[Christopher,1,2,5,7,8,10,13,14] => Christopher[60] +[Christopher,1,2,5,7,8,10,13,15] => Christopher[61] +[Christopher,1,2,5,7,8,11,12,14] => Christopher[60] +[Christopher,1,2,5,7,8,11,12,15] => Christopher[61] +[Christopher,1,2,5,7,8,11,13,14] => Christopher[61] +[Christopher,1,2,5,7,8,11,13,15] => Christopher[62] +[Christopher,1,2,5,7,9,10,12,14] => Christopher[60] +[Christopher,1,2,5,7,9,10,12,15] => Christopher[61] +[Christopher,1,2,5,7,9,10,13,14] => Christopher[61] +[Christopher,1,2,5,7,9,10,13,15] => Christopher[62] +[Christopher,1,2,5,7,9,11,12,14] => Christopher[61] +[Christopher,1,2,5,7,9,11,12,15] => Christopher[62] +[Christopher,1,2,5,7,9,11,13,14] => Christopher[62] +[Christopher,1,2,5,7,9,11,13,15] => Christopher[63] +[Christopher,1,3,4,6,8,10,12,14] => Christopher[58] +[Christopher,1,3,4,6,8,10,12,15] => Christopher[59] +[Christopher,1,3,4,6,8,10,13,14] => Christopher[59] +[Christopher,1,3,4,6,8,10,13,15] => Christopher[60] +[Christopher,1,3,4,6,8,11,12,14] => Christopher[59] +[Christopher,1,3,4,6,8,11,12,15] => Christopher[60] +[Christopher,1,3,4,6,8,11,13,14] => Christopher[60] +[Christopher,1,3,4,6,8,11,13,15] => Christopher[61] +[Christopher,1,3,4,6,9,10,12,14] => Christopher[59] +[Christopher,1,3,4,6,9,10,12,15] => Christopher[60] +[Christopher,1,3,4,6,9,10,13,14] => Christopher[60] +[Christopher,1,3,4,6,9,10,13,15] => Christopher[61] +[Christopher,1,3,4,6,9,11,12,14] => Christopher[60] +[Christopher,1,3,4,6,9,11,12,15] => Christopher[61] +[Christopher,1,3,4,6,9,11,13,14] => Christopher[61] +[Christopher,1,3,4,6,9,11,13,15] => Christopher[62] +[Christopher,1,3,4,7,8,10,12,14] => Christopher[59] +[Christopher,1,3,4,7,8,10,12,15] => Christopher[60] +[Christopher,1,3,4,7,8,10,13,14] => Christopher[60] +[Christopher,1,3,4,7,8,10,13,15] => Christopher[61] +[Christopher,1,3,4,7,8,11,12,14] => Christopher[60] +[Christopher,1,3,4,7,8,11,12,15] => Christopher[61] +[Christopher,1,3,4,7,8,11,13,14] => Christopher[61] +[Christopher,1,3,4,7,8,11,13,15] => Christopher[62] +[Christopher,1,3,4,7,9,10,12,14] => Christopher[60] +[Christopher,1,3,4,7,9,10,12,15] => Christopher[61] +[Christopher,1,3,4,7,9,10,13,14] => Christopher[61] +[Christopher,1,3,4,7,9,10,13,15] => Christopher[62] +[Christopher,1,3,4,7,9,11,12,14] => Christopher[61] +[Christopher,1,3,4,7,9,11,12,15] => Christopher[62] +[Christopher,1,3,4,7,9,11,13,14] => Christopher[62] +[Christopher,1,3,4,7,9,11,13,15] => Christopher[63] +[Christopher,1,3,5,6,8,10,12,14] => Christopher[59] +[Christopher,1,3,5,6,8,10,12,15] => Christopher[60] +[Christopher,1,3,5,6,8,10,13,14] => Christopher[60] +[Christopher,1,3,5,6,8,10,13,15] => Christopher[61] +[Christopher,1,3,5,6,8,11,12,14] => Christopher[60] +[Christopher,1,3,5,6,8,11,12,15] => Christopher[61] +[Christopher,1,3,5,6,8,11,13,14] => Christopher[61] +[Christopher,1,3,5,6,8,11,13,15] => Christopher[62] +[Christopher,1,3,5,6,9,10,12,14] => Christopher[60] +[Christopher,1,3,5,6,9,10,12,15] => Christopher[61] +[Christopher,1,3,5,6,9,10,13,14] => Christopher[61] +[Christopher,1,3,5,6,9,10,13,15] => Christopher[62] +[Christopher,1,3,5,6,9,11,12,14] => Christopher[61] +[Christopher,1,3,5,6,9,11,12,15] => Christopher[62] +[Christopher,1,3,5,6,9,11,13,14] => Christopher[62] +[Christopher,1,3,5,6,9,11,13,15] => Christopher[63] +[Christopher,1,3,5,7,8,10,12,14] => Christopher[60] +[Christopher,1,3,5,7,8,10,12,15] => Christopher[61] +[Christopher,1,3,5,7,8,10,13,14] => Christopher[61] +[Christopher,1,3,5,7,8,10,13,15] => Christopher[62] +[Christopher,1,3,5,7,8,11,12,14] => Christopher[61] +[Christopher,1,3,5,7,8,11,12,15] => Christopher[62] +[Christopher,1,3,5,7,8,11,13,14] => Christopher[62] +[Christopher,1,3,5,7,8,11,13,15] => Christopher[63] +[Christopher,1,3,5,7,9,10,12,14] => Christopher[61] +[Christopher,1,3,5,7,9,10,12,15] => Christopher[62] +[Christopher,1,3,5,7,9,10,13,14] => Christopher[62] +[Christopher,1,3,5,7,9,10,13,15] => Christopher[63] +[Christopher,1,3,5,7,9,11,12,14] => Christopher[62] +[Christopher,1,3,5,7,9,11,12,15] => Christopher[63] +[Christopher,1,3,5,7,9,11,13,14] => Christopher[63] +[Christopher,1,3,5,7,9,11,13,15] => Christopher[64] \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsForSkipped.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsForSkipped.approved.txt new file mode 100644 index 000000000..5a8f4c38d --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyAllCombinationsForSkipped.approved.txt @@ -0,0 +1,10 @@ +skipped divisible by 3 + + +[1] => 1 +[2] => 2 +[4] => 4 +[5] => 5 +[7] => 7 +[8] => 8 +[10] => 10 \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArray.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArray.approved.txt new file mode 100644 index 000000000..da3e1dd38 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArray.approved.txt @@ -0,0 +1,3 @@ +[0]=dog +[1]=cat +[2]=bird \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayBadArray.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayBadArray.approved.txt new file mode 100644 index 000000000..871a226a2 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayBadArray.approved.txt @@ -0,0 +1,3 @@ +error while printing array +received a string + string diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayEmptyArray.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayEmptyArray.approved.txt new file mode 100644 index 000000000..17a8305a2 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayEmptyArray.approved.txt @@ -0,0 +1 @@ +len(array) == 0 \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayTransformation.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayTransformation.approved.txt new file mode 100644 index 000000000..ab60bde56 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyArrayTransformation.approved.txt @@ -0,0 +1,5 @@ +uppercase + + +Christopher => CHRISTOPHER +Llewellyn => LLEWELLYN \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadJSONBytes.approved.json b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadJSONBytes.approved.json new file mode 100644 index 000000000..83b144733 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadJSONBytes.approved.json @@ -0,0 +1,5 @@ +error while parsing JSON +error: + invalid character 'f' looking for beginning of object key string +JSON: + { foo: "bar", "age": 42, "bark": "woof" } diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLBytes.approved.xml b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLBytes.approved.xml new file mode 100644 index 000000000..43dde0599 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLBytes.approved.xml @@ -0,0 +1,5 @@ +error while parsing XML +error: + XML syntax error on line 1: unexpected end element +XML: + Test> diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLStruct.approved.xml b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLStruct.approved.xml new file mode 100644 index 000000000..33e85da5f --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyBadXMLStruct.approved.xml @@ -0,0 +1,7 @@ +error while pretty printing XML +when using anonymous types be sure to include + XMLName xml.Name `xml:"Your_Name_Here"` +error: + xml: unsupported type: struct { Title string } +XML: + {Hello World!} diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONBytes.approved.json b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONBytes.approved.json new file mode 100644 index 000000000..4b3c1b1f6 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONBytes.approved.json @@ -0,0 +1,5 @@ +{ + "age": 42, + "bark": "woof", + "foo": "bar" +} \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONStruct.approved.json b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONStruct.approved.json new file mode 100644 index 000000000..4d8edbe56 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyJSONStruct.approved.json @@ -0,0 +1,5 @@ +{ + "Title": "Hello World!", + "Name": "Peter Pan", + "Age": 100 +} \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMap.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMap.approved.txt new file mode 100644 index 000000000..1e5c31237 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMap.approved.txt @@ -0,0 +1,2 @@ +[cat]=meow +[dog]=bark \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapBadMap.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapBadMap.approved.txt new file mode 100644 index 000000000..a353125e6 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapBadMap.approved.txt @@ -0,0 +1,3 @@ +error while printing map +received a string + foo diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapEmptyMap.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapEmptyMap.approved.txt new file mode 100644 index 000000000..90615724c --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyMapEmptyMap.approved.txt @@ -0,0 +1 @@ +len(map) == 0 \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyStringApproval.approved.txt b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyStringApproval.approved.txt new file mode 100644 index 000000000..c57eff55e --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyStringApproval.approved.txt @@ -0,0 +1 @@ +Hello World! \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLBytes.approved.xml b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLBytes.approved.xml new file mode 100644 index 000000000..7454ab209 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLBytes.approved.xml @@ -0,0 +1,5 @@ + + Hello World! + Peter Pan + 100 + \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLStruct.approved.xml b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLStruct.approved.xml new file mode 100644 index 000000000..7454ab209 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/approvals_test.TestVerifyXMLStruct.approved.xml @@ -0,0 +1,5 @@ + + Hello World! + Peter Pan + 100 + \ No newline at end of file diff --git a/vendor/github.com/approvals/go-approval-tests/combination_approvals.go b/vendor/github.com/approvals/go-approval-tests/combination_approvals.go new file mode 100644 index 000000000..9c775a823 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/combination_approvals.go @@ -0,0 +1,296 @@ +package approvaltests + +import ( + "fmt" + "strings" + + "reflect" +) + +type emptyType struct{} + +var ( + // SkipThisCombination should be returned if you do not want to process a particular combination + SkipThisCombination = "♬ SKIP THIS COMBINATION ♬" + + empty = emptyType{} + emptyCollection = []emptyType{empty} +) + +// VerifyAllCombinationsFor1 Example: +// VerifyAllCombinationsFor1(t, "uppercase", func(x interface{}) string { return strings.ToUpper(x.(string)) }, []string("dog", "cat"}) +func VerifyAllCombinationsFor1(t Failable, header string, transform func(interface{}) string, collection1 interface{}) error { + transform2 := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1) + } + + return VerifyAllCombinationsFor9(t, header, transform2, collection1, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor2 Example: +// VerifyAllCombinationsFor2(t, "uppercase", func(x interface{}) string { return strings.ToUpper(x.(string)) }, []string("dog", "cat"}, []int{1,2) +func VerifyAllCombinationsFor2(t Failable, header string, transform func(interface{}, interface{}) string, collection1 interface{}, collection2 interface{}) error { + transform2 := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2) + } + + return VerifyAllCombinationsFor9(t, header, transform2, collection1, + collection2, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor3 is for combinations of 3. +func VerifyAllCombinationsFor3( + t Failable, + header string, + transform func(p1, p2, p3 interface{}) string, + collection1, collection2, collection3 interface{}) error { + + kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2, p3) + } + + return VerifyAllCombinationsFor9(t, header, kerning, + collection1, + collection2, + collection3, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor4 is for combinations of 4. +func VerifyAllCombinationsFor4( + t Failable, + header string, + transform func(p1, p2, p3, p4 interface{}) string, + collection1, collection2, collection3, collection4 interface{}) error { + + kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2, p3, p4) + } + + return VerifyAllCombinationsFor9(t, header, kerning, + collection1, + collection2, + collection3, + collection4, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor5 is for combinations of 5. +func VerifyAllCombinationsFor5( + t Failable, + header string, + transform func(p1, p2, p3, p4, p5 interface{}) string, + collection1, collection2, collection3, collection4, collection5 interface{}) error { + + kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2, p3, p4, p5) + } + + return VerifyAllCombinationsFor9(t, header, kerning, + collection1, + collection2, + collection3, + collection4, + collection5, + emptyCollection, + emptyCollection, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor6 is for combinations of 6. +func VerifyAllCombinationsFor6( + t Failable, + header string, + transform func(p1, p2, p3, p4, p5, p6 interface{}) string, + collection1, collection2, collection3, collection4, collection5, collection6 interface{}) error { + + kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2, p3, p4, p5, p6) + } + + return VerifyAllCombinationsFor9(t, header, kerning, + collection1, + collection2, + collection3, + collection4, + collection5, + collection6, + emptyCollection, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor7 is for combinations of 7. +func VerifyAllCombinationsFor7( + t Failable, + header string, + transform func(p1, p2, p3, p4, p5, p6, p7 interface{}) string, + collection1, collection2, collection3, collection4, collection5, collection6, collection7 interface{}) error { + + kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2, p3, p4, p5, p6, p7) + } + + return VerifyAllCombinationsFor9(t, header, kerning, + collection1, + collection2, + collection3, + collection4, + collection5, + collection6, + collection7, + emptyCollection, + emptyCollection) +} + +// VerifyAllCombinationsFor8 is for combinations of 8. +func VerifyAllCombinationsFor8( + t Failable, + header string, + transform func(p1, p2, p3, p4, p5, p6, p7, p8 interface{}) string, + collection1, collection2, collection3, collection4, collection5, collection6, collection7, collection8 interface{}) error { + + kerning := func(p1, p2, p3, p4, p5, p6, p7, p8, p9 interface{}) string { + return transform(p1, p2, p3, p4, p5, p6, p7, p8) + } + + return VerifyAllCombinationsFor9(t, header, kerning, + collection1, + collection2, + collection3, + collection4, + collection5, + collection6, + collection7, + collection8, + emptyCollection) +} + +// VerifyAllCombinationsFor9 is for combinations of 9. +func VerifyAllCombinationsFor9( + t Failable, + header string, + transform func(a, b, c, d, e, f, g, h, i interface{}) string, + collection1, + collection2, + collection3, + collection4, + collection5, + collection6, + collection7, + collection8, + collection9 interface{}) error { + + if len(header) != 0 { + header = fmt.Sprintf("%s\n\n\n", header) + } + + var mapped []string + + slice1 := reflect.ValueOf(collection1) + slice2 := reflect.ValueOf(collection2) + slice3 := reflect.ValueOf(collection3) + slice4 := reflect.ValueOf(collection4) + slice5 := reflect.ValueOf(collection5) + slice6 := reflect.ValueOf(collection6) + slice7 := reflect.ValueOf(collection7) + slice8 := reflect.ValueOf(collection8) + slice9 := reflect.ValueOf(collection9) + + for i1 := 0; i1 < slice1.Len(); i1++ { + for i2 := 0; i2 < slice2.Len(); i2++ { + for i3 := 0; i3 < slice3.Len(); i3++ { + for i4 := 0; i4 < slice4.Len(); i4++ { + for i5 := 0; i5 < slice5.Len(); i5++ { + for i6 := 0; i6 < slice6.Len(); i6++ { + for i7 := 0; i7 < slice7.Len(); i7++ { + for i8 := 0; i8 < slice8.Len(); i8++ { + for i9 := 0; i9 < slice9.Len(); i9++ { + p1 := slice1.Index(i1).Interface() + p2 := slice2.Index(i2).Interface() + p3 := slice3.Index(i3).Interface() + p4 := slice4.Index(i4).Interface() + p5 := slice5.Index(i5).Interface() + p6 := slice6.Index(i6).Interface() + p7 := slice7.Index(i7).Interface() + p8 := slice8.Index(i8).Interface() + p9 := slice9.Index(i9).Interface() + + parameterText := getParameterText(p1, p2, p3, p4, p5, p6, p7, p8, p9) + transformText := getTransformText(transform, p1, p2, p3, p4, p5, p6, p7, p8, p9) + if transformText != SkipThisCombination { + mapped = append(mapped, fmt.Sprintf("%s => %s", parameterText, transformText)) + } + } + } + } + } + } + } + } + } + } + + outputText := header + strings.Join(mapped, "\n") + return VerifyString(t, outputText) +} + +func getParameterText(args ...interface{}) string { + parameterText := "[" + for _, x := range args { + if x != empty { + parameterText += fmt.Sprintf("%v,", x) + } + } + + parameterText = parameterText[0 : len(parameterText)-1] + parameterText += "]" + + return parameterText +} + +func getTransformText( + transform func(a, b, c, d, e, f, g, h, i interface{}) string, + p1, + p2, + p3, + p4, + p5, + p6, + p7, + p8, + p9 interface{}) (s string) { + defer func() { + r := recover() + if r != nil { + s = "panic occurred" + } + }() + + return transform(p1, p2, p3, p4, p5, p6, p7, p8, p9) +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go b/vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go new file mode 100644 index 000000000..788a1e3b0 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/all_failing.go @@ -0,0 +1,18 @@ +package reporters + +var ( + clipboardScratchData = "" +) + +type allFailing struct{} + +// NewAllFailingTestReporter copies move file command to your clipboard +func NewAllFailingTestReporter() Reporter { + return &allFailing{} +} + +func (s *allFailing) Report(approved, received string) bool { + move := getMoveCommandText(approved, received) + clipboardScratchData = clipboardScratchData + move + "\n" + return copyToClipboard(clipboardScratchData) +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go b/vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go new file mode 100644 index 000000000..81dccd25c --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/beyond_compare.go @@ -0,0 +1,15 @@ +package reporters + +type beyondCompare struct{} + +// NewBeyondCompareReporter creates a new reporter for Beyond Compare 4. +func NewBeyondCompareReporter() Reporter { + return &beyondCompare{} +} + +func (s *beyondCompare) Report(approved, received string) bool { + xs := []string{received, approved} + programName := "C:/Program Files/Beyond Compare 4/BComp.exe" + + return launchProgram(programName, approved, xs...) +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go b/vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go new file mode 100644 index 000000000..4f4f9ffe9 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/clipboard.go @@ -0,0 +1,66 @@ +package reporters + +import ( + "fmt" + "os/exec" + "path/filepath" + "runtime" +) + +type clipboard struct{} + +// NewClipboardReporter copies move file command to your clipboard +func NewClipboardReporter() Reporter { + return &clipboard{} +} + +func (s *clipboard) Report(approved, received string) bool { + move := getMoveCommandText(approved, received) + return copyToClipboard(move) +} + +func copyToClipboard(move string) bool { + switch runtime.GOOS { + case "windows": + return copyToWindowsClipboard(move) + default: + return copyToDarwinClipboard(move) + } +} + +func getMoveCommandText(approved, received string) string { + receivedFull, _ := filepath.Abs(received) + approvedFull, _ := filepath.Abs(approved) + + var move string + + switch runtime.GOOS { + case "windows": + move = fmt.Sprintf("move /Y \"%s\" \"%s\"", receivedFull, approvedFull) + default: + move = fmt.Sprintf("mv %s %s", receivedFull, approvedFull) + } + + return move +} +func copyToWindowsClipboard(text string) bool { + return pipeToProgram("clip", text) +} + +func copyToDarwinClipboard(text string) bool { + return pipeToProgram("pbcopy", text) +} + +func pipeToProgram(programName, text string) bool { + c := exec.Command(programName) + pipe, err := c.StdinPipe() + if err != nil { + fmt.Printf("StdinPipe: err=%s", err) + return false + } + pipe.Write([]byte(text)) + pipe.Close() + + c.Start() + return true +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go b/vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go new file mode 100644 index 000000000..923feb793 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/continuous_integration.go @@ -0,0 +1,28 @@ +package reporters + +import ( + "os" + "strconv" +) + +type continuousIntegration struct{} + +// NewContinuousIntegrationReporter creates a new reporter for CI. +// +// The reporter checks the environment variable CI for a value of true. +func NewContinuousIntegrationReporter() Reporter { + return &continuousIntegration{} +} + +func (s *continuousIntegration) Report(approved, received string) bool { + value, exists := os.LookupEnv("CI") + + if exists { + ci, err := strconv.ParseBool(value) + if err == nil { + return ci + } + } + + return false +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go b/vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go new file mode 100644 index 000000000..630548e2a --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/diff_reporter.go @@ -0,0 +1,40 @@ +package reporters + +import ( + "os/exec" + + "github.com/approvals/go-approval-tests/utils" +) + +// NewFrontLoadedReporter creates the default front loaded reporter. +func NewFrontLoadedReporter() *Reporter { + tmp := NewFirstWorkingReporter( + NewContinuousIntegrationReporter(), + ) + + return &tmp +} + +// NewDiffReporter creates the default diff reporter. +func NewDiffReporter() *Reporter { + tmp := NewFirstWorkingReporter( + NewBeyondCompareReporter(), + NewIntelliJReporter(), + NewPrintSupportedDiffProgramsReporter(), + NewQuietReporter(), + ) + + return &tmp +} + +func launchProgram(programName, approved string, args ...string) bool { + if !utils.DoesFileExist(programName) { + return false + } + + utils.EnsureExists(approved) + + cmd := exec.Command(programName, args...) + cmd.Start() + return true +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go b/vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go new file mode 100644 index 000000000..cb9bd5b2d --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/file_launcher.go @@ -0,0 +1,27 @@ +package reporters + +import ( + "os/exec" + "runtime" +) + +type fileLauncher struct{} + +// NewFileLauncherReporter launches registered application of the received file's type only. +func NewFileLauncherReporter() Reporter { + return &fileLauncher{} +} + +func (s *fileLauncher) Report(approved, received string) bool { + var cmd *exec.Cmd + + switch runtime.GOOS { + case "windows": + cmd = exec.Command("cmd", "/C", "start", "Needed Title", received, "/B") + default: + cmd = exec.Command("open", received) + } + + cmd.Start() + return true +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/intellij.go b/vendor/github.com/approvals/go-approval-tests/reporters/intellij.go new file mode 100644 index 000000000..63e9506aa --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/intellij.go @@ -0,0 +1,15 @@ +package reporters + +type intellij struct{} + +// NewIntelliJReporter creates a new reporter for IntelliJ. +func NewIntelliJReporter() Reporter { + return &intellij{} +} + +func (s *intellij) Report(approved, received string) bool { + xs := []string{"diff", received, approved} + programName := "C:/Program Files (x86)/JetBrains/IntelliJ IDEA 2016/bin/idea.exe" + + return launchProgram(programName, approved, xs...) +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/newbie.go b/vendor/github.com/approvals/go-approval-tests/reporters/newbie.go new file mode 100644 index 000000000..8e662bf84 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/newbie.go @@ -0,0 +1,18 @@ +package reporters + +import ( + "fmt" +) + +type printSupportedDiffPrograms struct{} + +// NewPrintSupportedDiffProgramsReporter creates a new reporter that states what reporters are supported. +func NewPrintSupportedDiffProgramsReporter() Reporter { + return &quiet{} +} + +func (s *printSupportedDiffPrograms) Report(approved, received string) bool { + fmt.Printf("no diff reporters found on your system\ncurrently supported reporters are [in order of preference]:\nBeyond Compare\nIntelliJ") + + return false +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/quiet.go b/vendor/github.com/approvals/go-approval-tests/reporters/quiet.go new file mode 100644 index 000000000..a715c0eac --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/quiet.go @@ -0,0 +1,29 @@ +package reporters + +import ( + "fmt" + "path/filepath" + + "github.com/approvals/go-approval-tests/utils" +) + +type quiet struct{} + +// NewQuietReporter creates a new reporter that does nothing. +func NewQuietReporter() Reporter { + return &quiet{} +} + +func (s *quiet) Report(approved, received string) bool { + approvedFull, _ := filepath.Abs(approved) + receivedFull, _ := filepath.Abs(received) + + if utils.DoesFileExist(approved) { + fmt.Printf("approval files did not match\napproved: %v\nreceived: %v\n", approvedFull, receivedFull) + + } else { + fmt.Printf("result never approved\napproved: %v\nreceived: %v\n", approvedFull, receivedFull) + } + + return true +} diff --git a/vendor/github.com/approvals/go-approval-tests/reporters/reporter.go b/vendor/github.com/approvals/go-approval-tests/reporters/reporter.go new file mode 100644 index 000000000..99d6866f6 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/reporters/reporter.go @@ -0,0 +1,53 @@ +package reporters + +// Reporter are called on failing approvals. +type Reporter interface { + // Report is called when the approved and received file do not match. + Report(approved, received string) bool +} + +// FirstWorkingReporter reports using the first possible reporter. +type FirstWorkingReporter struct { + Reporters []Reporter +} + +// Report is called when the approved and received file do not match. +func (s *FirstWorkingReporter) Report(approved, received string) bool { + for _, reporter := range s.Reporters { + result := reporter.Report(approved, received) + if result { + return true + } + } + + return false +} + +// NewFirstWorkingReporter creates in the order reporters are passed in. +func NewFirstWorkingReporter(reporters ...Reporter) Reporter { + return &FirstWorkingReporter{ + Reporters: reporters, + } +} + +// MultiReporter reports all reporters. +type MultiReporter struct { + Reporters []Reporter +} + +// Report is called when the approved and received file do not match. +func (s *MultiReporter) Report(approved, received string) bool { + result := false + for _, reporter := range s.Reporters { + result = reporter.Report(approved, received) || result + } + + return result +} + +// NewMultiReporter calls all reporters. +func NewMultiReporter(reporters ...Reporter) Reporter { + return &MultiReporter{ + Reporters: reporters, + } +} diff --git a/vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go b/vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go new file mode 100644 index 000000000..1602fa6e5 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/utils/collection_utils.go @@ -0,0 +1,77 @@ +package utils + +import ( + "fmt" + "reflect" + "sort" + "strings" +) + +// PrintMap prints a map +func PrintMap(m interface{}) string { + var outputText string + + v := reflect.ValueOf(m) + if v.Kind() != reflect.Map { + outputText = fmt.Sprintf("error while printing map\nreceived a %T\n %s\n", m, m) + } else { + + keys := v.MapKeys() + var xs []string + + for _, k := range keys { + xs = append(xs, fmt.Sprintf("[%s]=%s", k, v.MapIndex(k))) + } + + sort.Strings(xs) + if len(xs) == 0 { + outputText = "len(map) == 0" + } else { + outputText = strings.Join(xs, "\n") + } + } + + return outputText +} + +// PrintArray prints an array +func PrintArray(m interface{}) string { + var outputText string + + switch reflect.TypeOf(m).Kind() { + case reflect.Slice: + var xs []string + + slice := reflect.ValueOf(m) + for i := 0; i < slice.Len(); i++ { + xs = append(xs, fmt.Sprintf("[%d]=%s", i, slice.Index(i))) + } + + if len(xs) == 0 { + outputText = "len(array) == 0" + } else { + outputText = strings.Join(xs, "\n") + } + default: + outputText = fmt.Sprintf("error while printing array\nreceived a %T\n %s\n", m, m) + } + + return outputText +} + +// MapToString maps a collection to a string collection +func MapToString(collection interface{}, transform func(x interface{}) string) []string { + switch reflect.TypeOf(collection).Kind() { + case reflect.Slice: + var xs []string + + slice := reflect.ValueOf(collection) + for i := 0; i < slice.Len(); i++ { + xs = append(xs, transform(slice.Index(i).Interface())) + } + + return xs + default: + panic(fmt.Sprintf("error while mapping array to string\nreceived a %T\n %s\n", collection, collection)) + } +} diff --git a/vendor/github.com/approvals/go-approval-tests/utils/file_utils.go b/vendor/github.com/approvals/go-approval-tests/utils/file_utils.go new file mode 100644 index 000000000..bec3b950b --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/utils/file_utils.go @@ -0,0 +1,24 @@ +package utils + +import ( + "io/ioutil" + "os" +) + +// DoesFileExist checks if a file exists. +func DoesFileExist(fileName string) bool { + _, err := os.Stat(fileName) + if os.IsNotExist(err) { + return false + } + return true +} + +// EnsureExists creates if the file does not already exist. +func EnsureExists(fileName string) { + if DoesFileExist(fileName) { + return + } + + ioutil.WriteFile(fileName, []byte(""), 0644) +} diff --git a/vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go b/vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go new file mode 100644 index 000000000..c6c9c8ab6 --- /dev/null +++ b/vendor/github.com/approvals/go-approval-tests/utils/testing_utils.go @@ -0,0 +1,11 @@ +package utils + +import "testing" + +// AssertEqual Example: +// AssertEqual(t, 10, number, "number") +func AssertEqual(t *testing.T, expected, actual interface{}, message string) { + if expected != actual { + t.Fatalf(message+"\n[expected != actual]\n[%s != %s]", expected, actual) + } +} From d08f1b503fde00e63f33a24bf2829e7c69864232 Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Mon, 3 Oct 2016 13:49:46 -0700 Subject: [PATCH 05/10] Applies govenor migrate godep Updates contributing and make file Removes empty vendor package Removes go 1.4 logic --- CONTRIBUTING.md | 6 +- Godeps/Godeps.json | 659 ----- Godeps/Readme | 5 - Makefile | 11 +- .../github.com/Azure/go-ntlmssp/.travis.yml | 14 - .../github.com/Azure/go-ntlmssp/nlmp_test.go | 71 - .../approvals/go-approval-tests/.gitignore | 25 - .../approvals/go-approval-tests/.travis.yml | 16 - vendor/github.com/armon/go-radix/.gitignore | 22 - vendor/github.com/armon/go-radix/.travis.yml | 3 - .../github.com/bgentry/speakeasy/.gitignore | 2 - vendor/github.com/dgrijalva/jwt-go/.gitignore | 4 - .../github.com/dgrijalva/jwt-go/.travis.yml | 8 - .../github.com/digitalocean/godo/.travis.yml | 6 - vendor/github.com/go-ini/ini/.gitignore | 4 - .../hashicorp/go-rootcerts/.travis.yml | 12 - .../github.com/hashicorp/go-uuid/.travis.yml | 12 - .../hashicorp/go-version/.travis.yml | 11 - vendor/github.com/hashicorp/yamux/.gitignore | 23 - vendor/github.com/hpcloud/tail/LICENSE.txt | 23 - .../jmespath/go-jmespath/.gitignore | 4 - .../jmespath/go-jmespath/.travis.yml | 9 - vendor/github.com/kardianos/osext/osext.go | 2 +- vendor/github.com/klauspost/cpuid/.gitignore | 24 - vendor/github.com/klauspost/cpuid/.travis.yml | 7 - vendor/github.com/klauspost/crc32/.gitignore | 24 - vendor/github.com/klauspost/crc32/.travis.yml | 11 - vendor/github.com/klauspost/pgzip/.gitignore | 24 - vendor/github.com/klauspost/pgzip/.travis.yml | 13 - .../masterzen/simplexml/dom/document.go | 2 +- .../masterzen/simplexml/dom/element.go | 2 +- vendor/github.com/masterzen/winrm/.gitignore | 27 - vendor/github.com/masterzen/winrm/.travis.yml | 25 - vendor/github.com/mitchellh/cli/.travis.yml | 14 - .../mitchellh/mapstructure/.travis.yml | 7 - vendor/github.com/nu7hatch/gouuid/.gitignore | 11 - vendor/github.com/pierrec/lz4/.travis.yml | 9 - vendor/github.com/pierrec/lz4/fuzz/lz4.go | 0 vendor/github.com/pkg/sftp/.gitignore | 8 - vendor/github.com/pkg/sftp/.travis.yml | 21 - .../rackspace/gophercloud/.travis.yml | 16 - .../openstack/common/extensions/errors.go | 0 .../openstack/common/extensions/requests.go | 0 .../openstack/common/extensions/results.go | 0 vendor/github.com/satori/go.uuid/.travis.yml | 11 - .../github.com/tent/http-link-go/.gitignore | 1 - .../github.com/tent/http-link-go/.travis.yml | 6 - vendor/github.com/ugorji/go/codec/prebuild.sh | 0 vendor/github.com/ugorji/go/codec/test.py | 0 vendor/github.com/ugorji/go/codec/tests.sh | 0 vendor/golang.org/x/crypto/curve25519/doc.go | 2 +- vendor/golang.org/x/crypto/md4/md4.go | 2 +- .../golang.org/x/crypto/ssh/agent/client.go | 2 +- vendor/golang.org/x/crypto/ssh/doc.go | 2 +- .../golang.org/x/crypto/ssh/terminal/util.go | 2 +- vendor/golang.org/x/crypto/ssh/test/doc.go | 2 +- .../golang.org/x/crypto/ssh/testdata/doc.go | 8 + .../golang.org/x/crypto/ssh/testdata/keys.go | 43 + vendor/golang.org/x/net/context/context.go | 2 +- .../x/net/context/ctxhttp/ctxhttp.go | 2 +- vendor/golang.org/x/net/html/atom/atom.go | 2 +- .../golang.org/x/net/html/charset/charset.go | 2 +- vendor/golang.org/x/net/html/doc.go | 2 +- vendor/golang.org/x/oauth2/.travis.yml | 14 - .../clientcredentials/clientcredentials.go | 2 +- .../golang.org/x/oauth2/facebook/facebook.go | 2 +- vendor/golang.org/x/oauth2/github/github.go | 2 +- vendor/golang.org/x/oauth2/google/google.go | 2 +- vendor/golang.org/x/oauth2/jws/jws.go | 2 +- .../golang.org/x/oauth2/linkedin/linkedin.go | 2 +- .../x/oauth2/microsoft/microsoft.go | 2 +- vendor/golang.org/x/oauth2/oauth2.go | 2 +- .../x/oauth2/odnoklassniki/odnoklassniki.go | 2 +- vendor/golang.org/x/oauth2/paypal/paypal.go | 2 +- vendor/golang.org/x/oauth2/vk/vk.go | 2 +- vendor/golang.org/x/sys/unix/.gitignore | 1 - vendor/golang.org/x/sys/unix/mkall.sh | 0 vendor/golang.org/x/sys/unix/mkerrors.sh | 0 vendor/golang.org/x/sys/unix/mksyscall.pl | 0 .../x/sys/unix/mksyscall_solaris.pl | 0 .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 0 .../golang.org/x/sys/unix/mksysnum_darwin.pl | 0 .../x/sys/unix/mksysnum_dragonfly.pl | 0 .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 0 .../golang.org/x/sys/unix/mksysnum_linux.pl | 0 .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 0 .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 0 vendor/golang.org/x/sys/unix/syscall.go | 2 +- .../api/gensupport/backoff.go | 36 +- .../google.golang.org/api/gensupport/media.go | 4 +- .../api/gensupport/resumable.go | 55 +- .../google.golang.org/api/gensupport/retry.go | 77 + .../api/googleapi/googleapi.go | 22 +- .../internal/uritemplates/uritemplates.go | 247 +- .../googleapi/internal/uritemplates/utils.go | 14 +- .../google.golang.org/appengine/.travis.yml | 18 - .../google.golang.org/appengine/appengine.go | 2 +- .../appengine/blobstore/blobstore.go | 2 +- .../appengine/capability/capability.go | 2 +- .../appengine/channel/channel.go | 2 +- .../appengine/datastore/doc.go | 2 +- .../appengine/delay/delay.go | 2 +- .../appengine/image/image.go | 2 +- .../appengine/internal/aetesting/fake.go | 80 + .../blobstore/blobstore_service.pb.go | 347 +++ .../blobstore/blobstore_service.proto | 71 + .../capability/capability_service.pb.go | 125 + .../capability/capability_service.proto | 28 + .../internal/channel/channel_service.pb.go | 154 ++ .../internal/channel/channel_service.proto | 30 + .../internal/datastore/datastore_v3.proto | 0 .../internal/image/images_service.pb.go | 845 +++++++ .../internal/image/images_service.proto | 162 ++ .../internal/mail/mail_service.pb.go | 229 ++ .../internal/mail/mail_service.proto | 45 + .../internal/memcache/memcache_service.pb.go | 938 ++++++++ .../internal/memcache/memcache_service.proto | 165 ++ .../appengine/internal/regen.sh | 0 .../appengine/internal/search/search.pb.go | 2127 +++++++++++++++++ .../appengine/internal/search/search.proto | 388 +++ .../internal/socket/socket_service.pb.go | 1858 ++++++++++++++ .../internal/socket/socket_service.proto | 460 ++++ .../internal/system/system_service.pb.go | 198 ++ .../internal/system/system_service.proto | 49 + .../taskqueue/taskqueue_service.pb.go | 1888 +++++++++++++++ .../taskqueue/taskqueue_service.proto | 342 +++ .../internal/urlfetch/urlfetch_service.pb.go | 355 +++ .../internal/urlfetch/urlfetch_service.proto | 64 + .../internal/user/user_service.pb.go | 289 +++ .../internal/user/user_service.proto | 58 + .../internal/xmpp/xmpp_service.pb.go | 427 ++++ .../internal/xmpp/xmpp_service.proto | 83 + vendor/google.golang.org/appengine/log/log.go | 2 +- .../google.golang.org/appengine/mail/mail.go | 2 +- .../appengine/memcache/memcache.go | 2 +- .../appengine/module/module.go | 2 +- .../appengine/remote_api/remote_api.go | 2 +- .../appengine/runtime/runtime.go | 2 +- .../appengine/search/search.go | 2 +- .../appengine/taskqueue/taskqueue.go | 2 +- .../appengine/urlfetch/urlfetch.go | 2 +- .../google.golang.org/appengine/user/user.go | 2 +- .../google.golang.org/appengine/xmpp/xmpp.go | 2 +- .../cloud/compute/metadata/metadata.go | 2 +- vendor/vendor.json | 1945 +++++++++++++++ 145 files changed, 14073 insertions(+), 1515 deletions(-) delete mode 100644 Godeps/Godeps.json delete mode 100644 Godeps/Readme delete mode 100644 vendor/github.com/Azure/go-ntlmssp/.travis.yml delete mode 100644 vendor/github.com/Azure/go-ntlmssp/nlmp_test.go delete mode 100644 vendor/github.com/approvals/go-approval-tests/.gitignore delete mode 100644 vendor/github.com/approvals/go-approval-tests/.travis.yml delete mode 100644 vendor/github.com/armon/go-radix/.gitignore delete mode 100644 vendor/github.com/armon/go-radix/.travis.yml delete mode 100644 vendor/github.com/bgentry/speakeasy/.gitignore delete mode 100644 vendor/github.com/dgrijalva/jwt-go/.gitignore delete mode 100644 vendor/github.com/dgrijalva/jwt-go/.travis.yml delete mode 100644 vendor/github.com/digitalocean/godo/.travis.yml delete mode 100644 vendor/github.com/go-ini/ini/.gitignore delete mode 100644 vendor/github.com/hashicorp/go-rootcerts/.travis.yml delete mode 100644 vendor/github.com/hashicorp/go-uuid/.travis.yml delete mode 100644 vendor/github.com/hashicorp/go-version/.travis.yml delete mode 100644 vendor/github.com/hashicorp/yamux/.gitignore delete mode 100644 vendor/github.com/hpcloud/tail/LICENSE.txt delete mode 100644 vendor/github.com/jmespath/go-jmespath/.gitignore delete mode 100644 vendor/github.com/jmespath/go-jmespath/.travis.yml delete mode 100644 vendor/github.com/klauspost/cpuid/.gitignore delete mode 100644 vendor/github.com/klauspost/cpuid/.travis.yml delete mode 100644 vendor/github.com/klauspost/crc32/.gitignore delete mode 100644 vendor/github.com/klauspost/crc32/.travis.yml delete mode 100644 vendor/github.com/klauspost/pgzip/.gitignore delete mode 100644 vendor/github.com/klauspost/pgzip/.travis.yml delete mode 100644 vendor/github.com/masterzen/winrm/.gitignore delete mode 100644 vendor/github.com/masterzen/winrm/.travis.yml delete mode 100644 vendor/github.com/mitchellh/cli/.travis.yml delete mode 100644 vendor/github.com/mitchellh/mapstructure/.travis.yml delete mode 100644 vendor/github.com/nu7hatch/gouuid/.gitignore delete mode 100644 vendor/github.com/pierrec/lz4/.travis.yml mode change 100644 => 100755 vendor/github.com/pierrec/lz4/fuzz/lz4.go delete mode 100644 vendor/github.com/pkg/sftp/.gitignore delete mode 100644 vendor/github.com/pkg/sftp/.travis.yml delete mode 100644 vendor/github.com/rackspace/gophercloud/.travis.yml mode change 100644 => 100755 vendor/github.com/rackspace/gophercloud/openstack/common/extensions/errors.go mode change 100644 => 100755 vendor/github.com/rackspace/gophercloud/openstack/common/extensions/requests.go mode change 100644 => 100755 vendor/github.com/rackspace/gophercloud/openstack/common/extensions/results.go delete mode 100644 vendor/github.com/satori/go.uuid/.travis.yml delete mode 100644 vendor/github.com/tent/http-link-go/.gitignore delete mode 100644 vendor/github.com/tent/http-link-go/.travis.yml mode change 100644 => 100755 vendor/github.com/ugorji/go/codec/prebuild.sh mode change 100644 => 100755 vendor/github.com/ugorji/go/codec/test.py mode change 100644 => 100755 vendor/github.com/ugorji/go/codec/tests.sh create mode 100644 vendor/golang.org/x/crypto/ssh/testdata/doc.go create mode 100644 vendor/golang.org/x/crypto/ssh/testdata/keys.go delete mode 100644 vendor/golang.org/x/oauth2/.travis.yml delete mode 100644 vendor/golang.org/x/sys/unix/.gitignore mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mkall.sh mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mkerrors.sh mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksyscall.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysnum_darwin.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysnum_linux.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl create mode 100644 vendor/google.golang.org/api/gensupport/retry.go delete mode 100644 vendor/google.golang.org/appengine/.travis.yml create mode 100644 vendor/google.golang.org/appengine/internal/aetesting/fake.go create mode 100644 vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/capability/capability_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/channel/channel_service.proto mode change 100644 => 100755 vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto create mode 100644 vendor/google.golang.org/appengine/internal/image/images_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/image/images_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/mail/mail_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto mode change 100644 => 100755 vendor/google.golang.org/appengine/internal/regen.sh create mode 100644 vendor/google.golang.org/appengine/internal/search/search.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/search/search.proto create mode 100644 vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/socket/socket_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/system/system_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/system/system_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/user/user_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/user/user_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto create mode 100644 vendor/vendor.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 29f1f2e10..2ee6033f1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -100,11 +100,11 @@ From there, open your fork in your browser to open a new pull-request. ### Tips for Working on Packer -#### Godeps +#### Govendor -If you are submitting a change that requires new or updated dependencies, please include them in `Godeps/Godeps.json` and in the `vendor/` folder. This helps everything get tested properly in CI. +If you are submitting a change that requires new or updated dependencies, please include them in `vendor/vendor.json` and in the `vendor/` folder. This helps everything get tested properly in CI. -Note that you will need to use [Godep](https://github.com/tools/godep) to do this. This step is recommended but not required; if you don't use Godep please indicate in your PR which dependencies have changed and to what versions. +Note that you will need to use [govendor](https://github.com/kardianos/govendor) to do this. This step is recommended but not required; if you don't use govendor please indicate in your PR which dependencies have changed and to what versions. Please only apply the minimal vendor changes to get your PR to work. Packer does not attempt to track the latest version for each dependency. diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json deleted file mode 100644 index 4cd705216..000000000 --- a/Godeps/Godeps.json +++ /dev/null @@ -1,659 +0,0 @@ -{ - "ImportPath": "github.com/mitchellh/packer", - "GoVersion": "go1.6", - "GodepVersion": "v74", - "Deps": [ - { - "ImportPath": "github.com/Azure/azure-sdk-for-go/arm/compute", - "Comment": "v3.1.0-beta", - "Rev": "902d95d9f311ae585ee98cfd18f418b467d60d5a" - }, - { - "ImportPath": "github.com/Azure/azure-sdk-for-go/arm/network", - "Comment": "v3.1.0-beta", - "Rev": "902d95d9f311ae585ee98cfd18f418b467d60d5a" - }, - { - "ImportPath": "github.com/Azure/azure-sdk-for-go/arm/resources/resources", - "Comment": "v3.1.0-beta", - "Rev": "902d95d9f311ae585ee98cfd18f418b467d60d5a" - }, - { - "ImportPath": "github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions", - "Comment": "v3.1.0-beta", - "Rev": "902d95d9f311ae585ee98cfd18f418b467d60d5a" - }, - { - "ImportPath": "github.com/Azure/azure-sdk-for-go/arm/storage", - "Comment": "v3.1.0-beta", - "Rev": "902d95d9f311ae585ee98cfd18f418b467d60d5a" - }, - { - "ImportPath": "github.com/Azure/azure-sdk-for-go/storage", - "Comment": "v3.1.0-beta", - "Rev": "902d95d9f311ae585ee98cfd18f418b467d60d5a" - }, - { - "ImportPath": "github.com/Azure/go-autorest/autorest", - "Comment": "v7.0.7", - "Rev": "6f40a8acfe03270d792cb8155e2942c09d7cff95" - }, - { - "ImportPath": "github.com/Azure/go-autorest/autorest/azure", - "Comment": "v7.0.7", - "Rev": "6f40a8acfe03270d792cb8155e2942c09d7cff95" - }, - { - "ImportPath": "github.com/Azure/go-autorest/autorest/date", - "Comment": "v7.0.7", - "Rev": "6f40a8acfe03270d792cb8155e2942c09d7cff95" - }, - { - "ImportPath": "github.com/Azure/go-autorest/autorest/to", - "Comment": "v7.0.7", - "Rev": "6f40a8acfe03270d792cb8155e2942c09d7cff95" - }, - { - "ImportPath": "github.com/Azure/go-ntlmssp", - "Rev": "e0b63eb299a769ea4b04dadfe530f6074b277afb" - }, - { - "ImportPath": "github.com/approvals/go-approval-tests", - "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" - }, - { - "ImportPath": "github.com/approvals/go-approval-tests/reporters", - "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" - }, - { - "ImportPath": "github.com/approvals/go-approval-tests/utils", - "Rev": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" - }, - { - "ImportPath": "github.com/armon/go-radix", - "Rev": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/awserr", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/awsutil", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/client", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/client/metadata", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/corehandlers", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/credentials", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/defaults", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/ec2metadata", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/request", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/session", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/aws/signer/v4", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/endpoints", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/ec2query", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/rest", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/restxml", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/private/waiter", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/service/ec2", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/service/ecr", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/service/s3", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/service/s3/s3iface", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/service/s3/s3manager", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/aws/aws-sdk-go/service/sts", - "Comment": "v1.4.6", - "Rev": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "ImportPath": "github.com/bgentry/speakeasy", - "Rev": "36e9cfdd690967f4f690c6edcc9ffacd006014a0" - }, - { - "ImportPath": "github.com/biogo/hts/bgzf", - "Rev": "50da7d4131a3b5c9d063932461cab4d1fafb20b0" - }, - { - "ImportPath": "github.com/davecgh/go-spew/spew", - "Comment": "v1.0.0-3-g6d21280", - "Rev": "6d212800a42e8ab5c146b8ace3490ee17e5225f9" - }, - { - "ImportPath": "github.com/dgrijalva/jwt-go", - "Comment": "v3.0.0", - "Rev": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" - }, - { - "ImportPath": "github.com/digitalocean/godo", - "Comment": "v0.9.0-24-g6ca5b77", - "Rev": "6ca5b770f203b82a0fca68d0941736458efa8a4f" - }, - { - "ImportPath": "github.com/dylanmei/iso8601", - "Rev": "2075bf119b58e5576c6ed9f867b8f3d17f2e54d4" - }, - { - "ImportPath": "github.com/dylanmei/winrmtest", - "Rev": "025617847eb2cf9bd1d851bc3b22ed28e6245ce5" - }, - { - "ImportPath": "github.com/go-ini/ini", - "Comment": "v1.8.6", - "Rev": "afbd495e5aaea13597b5e14fe514ddeaa4d76fc3" - }, - { - "ImportPath": "github.com/golang/protobuf/proto", - "Rev": "b982704f8bb716bb608144408cff30e15fbde841" - }, - { - "ImportPath": "github.com/google/go-querystring/query", - "Rev": "2a60fc2ba6c19de80291203597d752e9ba58e4c0" - }, - { - "ImportPath": "github.com/hashicorp/atlas-go/archive", - "Comment": "20141209094003-92-g95fa852", - "Rev": "95fa852edca41c06c4ce526af4bb7dec4eaad434" - }, - { - "ImportPath": "github.com/hashicorp/atlas-go/v1", - "Comment": "20141209094003-92-g95fa852", - "Rev": "95fa852edca41c06c4ce526af4bb7dec4eaad434" - }, - { - "ImportPath": "github.com/hashicorp/errwrap", - "Rev": "7554cd9344cec97297fa6649b055a8c98c2a1e55" - }, - { - "ImportPath": "github.com/hashicorp/go-checkpoint", - "Rev": "e4b2dc34c0f698ee04750bf2035d8b9384233e1b" - }, - { - "ImportPath": "github.com/hashicorp/go-cleanhttp", - "Rev": "875fb671b3ddc66f8e2f0acc33829c8cb989a38d" - }, - { - "ImportPath": "github.com/hashicorp/go-multierror", - "Rev": "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5" - }, - { - "ImportPath": "github.com/hashicorp/go-rootcerts", - "Rev": "6bb64b370b90e7ef1fa532be9e591a81c3493e00" - }, - { - "ImportPath": "github.com/hashicorp/go-uuid", - "Rev": "73d19cdc2bf00788cc25f7d5fd74347d48ada9ac" - }, - { - "ImportPath": "github.com/hashicorp/go-version", - "Rev": "7e3c02b30806fa5779d3bdfc152ce4c6f40e7b38" - }, - { - "ImportPath": "github.com/hashicorp/yamux", - "Rev": "df949784da9ed028ee76df44652e42d37a09d7e4" - }, - { - "ImportPath": "github.com/jmespath/go-jmespath", - "Comment": "0.2.2-2-gc01cf91", - "Rev": "c01cf91b011868172fdcd9f41838e80c9d716264" - }, - { - "ImportPath": "github.com/kardianos/osext", - "Rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc" - }, - { - "ImportPath": "github.com/klauspost/compress/flate", - "Rev": "f86d2e6d8a77c6a2c4e42a87ded21c6422f7557e" - }, - { - "ImportPath": "github.com/klauspost/cpuid", - "Rev": "349c675778172472f5e8f3a3e0fe187e302e5a10" - }, - { - "ImportPath": "github.com/klauspost/crc32", - "Rev": "999f3125931f6557b991b2f8472172bdfa578d38" - }, - { - "ImportPath": "github.com/klauspost/pgzip", - "Rev": "47f36e165cecae5382ecf1ec28ebf7d4679e307d" - }, - { - "ImportPath": "github.com/kr/fs", - "Rev": "2788f0dbd16903de03cb8186e5c7d97b69ad387b" - }, - { - "ImportPath": "github.com/masterzen/simplexml/dom", - "Rev": "95ba30457eb1121fa27753627c774c7cd4e90083" - }, - { - "ImportPath": "github.com/masterzen/winrm", - "Rev": "ef3efbb97f99fc204bd9c7edf778a0dbd9781baf" - }, - { - "ImportPath": "github.com/masterzen/winrm/soap", - "Rev": "ef3efbb97f99fc204bd9c7edf778a0dbd9781baf" - }, - { - "ImportPath": "github.com/masterzen/xmlpath", - "Rev": "13f4951698adc0fa9c1dda3e275d489a24201161" - }, - { - "ImportPath": "github.com/mattn/go-isatty", - "Rev": "56b76bdf51f7708750eac80fa38b952bb9f32639" - }, - { - "ImportPath": "github.com/mitchellh/cli", - "Rev": "5c87c51cedf76a1737bf5ca3979e8644871598a6" - }, - { - "ImportPath": "github.com/mitchellh/go-fs", - "Rev": "a34c1b9334e86165685a9449b782f20465eb8c69" - }, - { - "ImportPath": "github.com/mitchellh/go-fs/fat", - "Rev": "a34c1b9334e86165685a9449b782f20465eb8c69" - }, - { - "ImportPath": "github.com/mitchellh/go-homedir", - "Rev": "d682a8f0cf139663a984ff12528da460ca963de9" - }, - { - "ImportPath": "github.com/mitchellh/go-vnc", - "Rev": "723ed9867aed0f3209a81151e52ddc61681f0b01" - }, - { - "ImportPath": "github.com/mitchellh/iochan", - "Rev": "87b45ffd0e9581375c491fef3d32130bb15c5bd7" - }, - { - "ImportPath": "github.com/mitchellh/mapstructure", - "Rev": "281073eb9eb092240d33ef253c404f1cca550309" - }, - { - "ImportPath": "github.com/mitchellh/multistep", - "Rev": "162146fc57112954184d90266f4733e900ed05a5" - }, - { - "ImportPath": "github.com/mitchellh/panicwrap", - "Rev": "a1e50bc201f387747a45ffff020f1af2d8759e88" - }, - { - "ImportPath": "github.com/mitchellh/prefixedio", - "Rev": "6e6954073784f7ee67b28f2d22749d6479151ed7" - }, - { - "ImportPath": "github.com/mitchellh/reflectwalk", - "Rev": "eecf4c70c626c7cfbb95c90195bc34d386c74ac6" - }, - { - "ImportPath": "github.com/nu7hatch/gouuid", - "Rev": "179d4d0c4d8d407a32af483c2354df1d2c91e6c3" - }, - { - "ImportPath": "github.com/packer-community/winrmcp/winrmcp", - "Rev": "7f50d16167d327698b91ccd5363d8691865e2580" - }, - { - "ImportPath": "github.com/pierrec/lz4", - "Rev": "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470" - }, - { - "ImportPath": "github.com/pierrec/xxHash/xxHash32", - "Rev": "5a004441f897722c627870a981d02b29924215fa" - }, - { - "ImportPath": "github.com/pkg/sftp", - "Rev": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" - }, - { - "ImportPath": "github.com/pmezard/go-difflib/difflib", - "Comment": "v1.0.0", - "Rev": "792786c7400a136282c1664665ae0a8db921c6c2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/common/extensions", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/floatingip", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/keypairs", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/images", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/servers", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/utils", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/pagination", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/testhelper", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/testhelper/client", - "Comment": "v1.0.0-810-g53d1dc4", - "Rev": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "ImportPath": "github.com/satori/go.uuid", - "Rev": "d41af8bb6a7704f00bc3b7cba9355ae6a5a80048" - }, - { - "ImportPath": "github.com/stretchr/testify/assert", - "Comment": "v1.1.4-4-g976c720", - "Rev": "976c720a22c8eb4eb6a0b4348ad85ad12491a506" - }, - { - "ImportPath": "github.com/tent/http-link-go", - "Rev": "ac974c61c2f990f4115b119354b5e0b47550e888" - }, - { - "ImportPath": "github.com/ugorji/go/codec", - "Rev": "646ae4a518c1c3be0739df898118d9bccf993858" - }, - { - "ImportPath": "golang.org/x/crypto/curve25519", - "Rev": "1f22c0103821b9390939b6776727195525381532" - }, - { - "ImportPath": "golang.org/x/crypto/md4", - "Rev": "1f22c0103821b9390939b6776727195525381532" - }, - { - "ImportPath": "golang.org/x/crypto/ssh", - "Rev": "1f22c0103821b9390939b6776727195525381532" - }, - { - "ImportPath": "golang.org/x/crypto/ssh/agent", - "Rev": "1f22c0103821b9390939b6776727195525381532" - }, - { - "ImportPath": "golang.org/x/net/context", - "Rev": "6ccd6698c634f5d835c40c1c31848729e0cecda1" - }, - { - "ImportPath": "golang.org/x/net/context/ctxhttp", - "Rev": "6ccd6698c634f5d835c40c1c31848729e0cecda1" - }, - { - "ImportPath": "golang.org/x/net/html", - "Rev": "6ccd6698c634f5d835c40c1c31848729e0cecda1" - }, - { - "ImportPath": "golang.org/x/net/html/atom", - "Rev": "6ccd6698c634f5d835c40c1c31848729e0cecda1" - }, - { - "ImportPath": "golang.org/x/oauth2", - "Rev": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "ImportPath": "golang.org/x/oauth2/google", - "Rev": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "ImportPath": "golang.org/x/oauth2/internal", - "Rev": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "ImportPath": "golang.org/x/oauth2/jws", - "Rev": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "ImportPath": "golang.org/x/oauth2/jwt", - "Rev": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "ImportPath": "golang.org/x/sys/unix", - "Rev": "50c6bc5e4292a1d4e65c6e9be5f53be28bcbe28e" - }, - { - "ImportPath": "google.golang.org/api/compute/v1", - "Rev": "ff0a1ff302946b997eb1832381419d1f95143483" - }, - { - "ImportPath": "google.golang.org/api/gensupport", - "Rev": "ff0a1ff302946b997eb1832381419d1f95143483" - }, - { - "ImportPath": "google.golang.org/api/googleapi", - "Rev": "ff0a1ff302946b997eb1832381419d1f95143483" - }, - { - "ImportPath": "google.golang.org/api/googleapi/internal/uritemplates", - "Rev": "ff0a1ff302946b997eb1832381419d1f95143483" - }, - { - "ImportPath": "google.golang.org/appengine", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal/app_identity", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal/base", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal/datastore", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal/log", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal/modules", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/appengine/internal/remote_api", - "Rev": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "ImportPath": "google.golang.org/cloud/compute/metadata", - "Rev": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" - }, - { - "ImportPath": "google.golang.org/cloud/internal", - "Rev": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" - }, - { - "ImportPath": "gopkg.in/xmlpath.v2", - "Rev": "860cbeca3ebcc600db0b213c0e83ad6ce91f5739" - } - ] -} diff --git a/Godeps/Readme b/Godeps/Readme deleted file mode 100644 index 4cdaa53d5..000000000 --- a/Godeps/Readme +++ /dev/null @@ -1,5 +0,0 @@ -This directory tree is generated automatically by godep. - -Please do not edit. - -See https://github.com/tools/godep for more information. diff --git a/Makefile b/Makefile index 622fed1df..16b66d36f 100644 --- a/Makefile +++ b/Makefile @@ -29,11 +29,6 @@ package: deps: go get github.com/mitchellh/gox go get golang.org/x/tools/cmd/stringer - @go version | grep 1.4 ; if [ $$? -eq 0 ]; then \ - echo "Installing godep and restoring dependencies"; \ - go get github.com/tools/godep; \ - godep restore; \ - fi dev: deps ## Build and install a development build @grep 'const VersionPrerelease = ""' version/version.go > /dev/null ; if [ $$? -eq 0 ]; then \ @@ -73,13 +68,13 @@ testrace: deps ## Test for race conditions updatedeps: go get -u github.com/mitchellh/gox go get -u golang.org/x/tools/cmd/stringer - @echo "INFO: Packer deps are managed by godep. See CONTRIBUTING.md" + @echo "INFO: Packer deps are managed by govendor. See CONTRIBUTING.md" # This is used to add new dependencies to packer. If you are submitting a PR # that includes new dependencies you will need to run this. vendor: ## Add new dependencies. - godep restore - godep save + govendor add +external + govendor sync help: @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' diff --git a/vendor/github.com/Azure/go-ntlmssp/.travis.yml b/vendor/github.com/Azure/go-ntlmssp/.travis.yml deleted file mode 100644 index 7223995e8..000000000 --- a/vendor/github.com/Azure/go-ntlmssp/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -sudo: false - -language: go - -before_script: - - go get -u github.com/golang/lint/golint - -go: 1.6 -script: - - test -z "$(gofmt -s -l . | tee /dev/stderr)" - - test -z "$(golint ./... | tee /dev/stderr)" - - go vet ./... - - go build -v ./... - - go test -v ./... diff --git a/vendor/github.com/Azure/go-ntlmssp/nlmp_test.go b/vendor/github.com/Azure/go-ntlmssp/nlmp_test.go deleted file mode 100644 index dea5aafc2..000000000 --- a/vendor/github.com/Azure/go-ntlmssp/nlmp_test.go +++ /dev/null @@ -1,71 +0,0 @@ -package ntlmssp - -import ( - "bytes" - "testing" -) - -// test cases from http://davenport.sourceforge.net/ntlm.html - -var username = "user" -var password = "SecREt01" -var target = "DOMAIN" -var challenge = []byte{0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef} - -func TestCalculateNTLMv2Response(t *testing.T) { - NTLMv2Hash := getNtlmV2Hash(password, username, target) - ClientChallenge := []byte{0xff, 0xff, 0xff, 0x00, 0x11, 0x22, 0x33, 0x44} - Time := []byte{0x00, 0x90, 0xd3, 0x36, 0xb7, 0x34, 0xc3, 0x01} - targetInfo := []byte{0x02, 0x00, 0x0c, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00, 0x41, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x53, 0x00, 0x45, 0x00, 0x52, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x04, 0x00, 0x14, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x03, 0x00, 0x22, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2e, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00} - - v := computeNtlmV2Response(NTLMv2Hash, challenge, ClientChallenge, Time, targetInfo) - - if expected := []byte{ - 0xcb, 0xab, 0xbc, 0xa7, 0x13, 0xeb, 0x79, 0x5d, 0x04, 0xc9, 0x7a, 0xbc, 0x01, 0xee, 0x49, 0x83, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xd3, 0x36, 0xb7, 0x34, 0xc3, 0x01, - 0xff, 0xff, 0xff, 0x00, 0x11, 0x22, 0x33, 0x44, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0c, 0x00, - 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00, 0x41, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x01, 0x00, 0x0c, 0x00, - 0x53, 0x00, 0x45, 0x00, 0x52, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x04, 0x00, 0x14, 0x00, - 0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x63, 0x00, - 0x6f, 0x00, 0x6d, 0x00, 0x03, 0x00, 0x22, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00, - 0x65, 0x00, 0x72, 0x00, 0x2e, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, - 0x6e, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, - }; !bytes.Equal(v, expected) { - t.Fatalf("expected %x, got %x", expected, v) - } -} - -func TestCalculateLMv2Response(t *testing.T) { - NTLMv2Hash := getNtlmV2Hash(password, username, target) - ClientChallenge := []byte{0xff, 0xff, 0xff, 0x00, 0x11, 0x22, 0x33, 0x44} - - v := computeLmV2Response(NTLMv2Hash, challenge, ClientChallenge) - - if expected := []byte{ - 0xd6, 0xe6, 0x15, 0x2e, 0xa2, 0x5d, 0x03, 0xb7, 0xc6, 0xba, 0x66, 0x29, 0xc2, 0xd6, 0xaa, 0xf0, 0xff, 0xff, 0xff, 0x00, 0x11, 0x22, 0x33, 0x44, - }; !bytes.Equal(v, expected) { - t.Fatalf("expected %x, got %x", expected, v) - } -} - -func TestToUnicode(t *testing.T) { - v := toUnicode(password) - if expected := []byte{0x53, 0x00, 0x65, 0x00, 0x63, 0x00, 0x52, 0x00, 0x45, 0x00, 0x74, 0x00, 0x30, 0x00, 0x31, 0x00}; !bytes.Equal(v, expected) { - t.Fatalf("expected %v, got %v", expected, v) - } -} - -func TestNTLMhash(t *testing.T) { - v := getNtlmHash(password) - if expected := []byte{0xcd, 0x06, 0xca, 0x7c, 0x7e, 0x10, 0xc9, 0x9b, 0x1d, 0x33, 0xb7, 0x48, 0x5a, 0x2e, 0xd8, 0x08}; !bytes.Equal(v, expected) { - t.Fatalf("expected %v, got %v", expected, v) - } -} - -func TestNTLMv2Hash(t *testing.T) { - v := getNtlmV2Hash(password, username, target) - if expected := []byte{0x04, 0xb8, 0xe0, 0xba, 0x74, 0x28, 0x9c, 0xc5, 0x40, 0x82, 0x6b, 0xab, 0x1d, 0xee, 0x63, 0xae}; !bytes.Equal(v, expected) { - t.Fatalf("expected %v, got %v", expected, v) - } -} diff --git a/vendor/github.com/approvals/go-approval-tests/.gitignore b/vendor/github.com/approvals/go-approval-tests/.gitignore deleted file mode 100644 index 116a34613..000000000 --- a/vendor/github.com/approvals/go-approval-tests/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -*.received.* -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof diff --git a/vendor/github.com/approvals/go-approval-tests/.travis.yml b/vendor/github.com/approvals/go-approval-tests/.travis.yml deleted file mode 100644 index 2f2aa09d7..000000000 --- a/vendor/github.com/approvals/go-approval-tests/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -sudo: false - -language: go - -go: - - 1.6 - -install: - - go get -u github.com/golang/lint/golint - -script: - - test -z "$(go fmt -s -l -w ./... | tee /dev/stderr)" - - golint -set_exit_status ./... - - go vet ./... - - go build -v ./... - - go test -v ./... \ No newline at end of file diff --git a/vendor/github.com/armon/go-radix/.gitignore b/vendor/github.com/armon/go-radix/.gitignore deleted file mode 100644 index 00268614f..000000000 --- a/vendor/github.com/armon/go-radix/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe diff --git a/vendor/github.com/armon/go-radix/.travis.yml b/vendor/github.com/armon/go-radix/.travis.yml deleted file mode 100644 index 1a0bbea6c..000000000 --- a/vendor/github.com/armon/go-radix/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: go -go: - - tip diff --git a/vendor/github.com/bgentry/speakeasy/.gitignore b/vendor/github.com/bgentry/speakeasy/.gitignore deleted file mode 100644 index 9e1311461..000000000 --- a/vendor/github.com/bgentry/speakeasy/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -example/example -example/example.exe diff --git a/vendor/github.com/dgrijalva/jwt-go/.gitignore b/vendor/github.com/dgrijalva/jwt-go/.gitignore deleted file mode 100644 index 80bed650e..000000000 --- a/vendor/github.com/dgrijalva/jwt-go/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.DS_Store -bin - - diff --git a/vendor/github.com/dgrijalva/jwt-go/.travis.yml b/vendor/github.com/dgrijalva/jwt-go/.travis.yml deleted file mode 100644 index bde823d8a..000000000 --- a/vendor/github.com/dgrijalva/jwt-go/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: go - -go: - - 1.3 - - 1.4 - - 1.5 - - 1.6 - - tip diff --git a/vendor/github.com/digitalocean/godo/.travis.yml b/vendor/github.com/digitalocean/godo/.travis.yml deleted file mode 100644 index 245a2f517..000000000 --- a/vendor/github.com/digitalocean/godo/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: go - -go: - - 1.3 - - 1.4 - - tip diff --git a/vendor/github.com/go-ini/ini/.gitignore b/vendor/github.com/go-ini/ini/.gitignore deleted file mode 100644 index 7adca9439..000000000 --- a/vendor/github.com/go-ini/ini/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -testdata/conf_out.ini -ini.sublime-project -ini.sublime-workspace -testdata/conf_reflect.ini diff --git a/vendor/github.com/hashicorp/go-rootcerts/.travis.yml b/vendor/github.com/hashicorp/go-rootcerts/.travis.yml deleted file mode 100644 index 80e1de44e..000000000 --- a/vendor/github.com/hashicorp/go-rootcerts/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -sudo: false - -language: go - -go: - - 1.6 - -branches: - only: - - master - -script: make test diff --git a/vendor/github.com/hashicorp/go-uuid/.travis.yml b/vendor/github.com/hashicorp/go-uuid/.travis.yml deleted file mode 100644 index 769849071..000000000 --- a/vendor/github.com/hashicorp/go-uuid/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: go - -sudo: false - -go: - - 1.4 - - 1.5 - - 1.6 - - tip - -script: - - go test -bench . -benchmem -v ./... diff --git a/vendor/github.com/hashicorp/go-version/.travis.yml b/vendor/github.com/hashicorp/go-version/.travis.yml deleted file mode 100644 index 9f30eecd7..000000000 --- a/vendor/github.com/hashicorp/go-version/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: go - -go: - - 1.0 - - 1.1 - - 1.2 - - 1.3 - - 1.4 - -script: - - go test diff --git a/vendor/github.com/hashicorp/yamux/.gitignore b/vendor/github.com/hashicorp/yamux/.gitignore deleted file mode 100644 index 836562412..000000000 --- a/vendor/github.com/hashicorp/yamux/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test diff --git a/vendor/github.com/hpcloud/tail/LICENSE.txt b/vendor/github.com/hpcloud/tail/LICENSE.txt deleted file mode 100644 index ea07fde89..000000000 --- a/vendor/github.com/hpcloud/tail/LICENSE.txt +++ /dev/null @@ -1,23 +0,0 @@ -# This is the MIT license - -# Copyright (c) 2013 ActiveState Software Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/vendor/github.com/jmespath/go-jmespath/.gitignore b/vendor/github.com/jmespath/go-jmespath/.gitignore deleted file mode 100644 index 531fcc11c..000000000 --- a/vendor/github.com/jmespath/go-jmespath/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -jpgo -jmespath-fuzz.zip -cpu.out -go-jmespath.test diff --git a/vendor/github.com/jmespath/go-jmespath/.travis.yml b/vendor/github.com/jmespath/go-jmespath/.travis.yml deleted file mode 100644 index 1f9807757..000000000 --- a/vendor/github.com/jmespath/go-jmespath/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: go - -sudo: false - -go: - - 1.4 - -install: go get -v -t ./... -script: make test diff --git a/vendor/github.com/kardianos/osext/osext.go b/vendor/github.com/kardianos/osext/osext.go index c0de8b7f5..17f380f0e 100644 --- a/vendor/github.com/kardianos/osext/osext.go +++ b/vendor/github.com/kardianos/osext/osext.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Extensions to the standard "os" package. -package osext +package osext // import "github.com/kardianos/osext" import "path/filepath" diff --git a/vendor/github.com/klauspost/cpuid/.gitignore b/vendor/github.com/klauspost/cpuid/.gitignore deleted file mode 100644 index daf913b1b..000000000 --- a/vendor/github.com/klauspost/cpuid/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof diff --git a/vendor/github.com/klauspost/cpuid/.travis.yml b/vendor/github.com/klauspost/cpuid/.travis.yml deleted file mode 100644 index fb74de6b8..000000000 --- a/vendor/github.com/klauspost/cpuid/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: go - -go: - - 1.3 - - 1.4 - - 1.5 - - tip diff --git a/vendor/github.com/klauspost/crc32/.gitignore b/vendor/github.com/klauspost/crc32/.gitignore deleted file mode 100644 index daf913b1b..000000000 --- a/vendor/github.com/klauspost/crc32/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof diff --git a/vendor/github.com/klauspost/crc32/.travis.yml b/vendor/github.com/klauspost/crc32/.travis.yml deleted file mode 100644 index c62e25f5a..000000000 --- a/vendor/github.com/klauspost/crc32/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: go - -go: - - 1.3 - - 1.4 - - 1.5 - - tip - -script: - - go test -v . - - go test -v -race . diff --git a/vendor/github.com/klauspost/pgzip/.gitignore b/vendor/github.com/klauspost/pgzip/.gitignore deleted file mode 100644 index daf913b1b..000000000 --- a/vendor/github.com/klauspost/pgzip/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof diff --git a/vendor/github.com/klauspost/pgzip/.travis.yml b/vendor/github.com/klauspost/pgzip/.travis.yml deleted file mode 100644 index 7c37376e6..000000000 --- a/vendor/github.com/klauspost/pgzip/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: go - -sudo: false - -go: - - 1.3 - - 1.4 - - 1.5 - - tip - -script: - - go test -v -cpu=1,2,4 . - - go test -v -cpu=2 -race -short . diff --git a/vendor/github.com/masterzen/simplexml/dom/document.go b/vendor/github.com/masterzen/simplexml/dom/document.go index d73693c3f..e871c35a3 100644 --- a/vendor/github.com/masterzen/simplexml/dom/document.go +++ b/vendor/github.com/masterzen/simplexml/dom/document.go @@ -32,4 +32,4 @@ func (doc *Document) String() string { } return string(b.Bytes()) -} +} \ No newline at end of file diff --git a/vendor/github.com/masterzen/simplexml/dom/element.go b/vendor/github.com/masterzen/simplexml/dom/element.go index 8e2795960..1ea16cc97 100644 --- a/vendor/github.com/masterzen/simplexml/dom/element.go +++ b/vendor/github.com/masterzen/simplexml/dom/element.go @@ -197,4 +197,4 @@ func (node *Element) String() string { var b bytes.Buffer node.Bytes(&b, false, "", 0) return string(b.Bytes()) -} +} \ No newline at end of file diff --git a/vendor/github.com/masterzen/winrm/.gitignore b/vendor/github.com/masterzen/winrm/.gitignore deleted file mode 100644 index 0c224ef1f..000000000 --- a/vendor/github.com/masterzen/winrm/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof - -*.coverprofile -*.cov diff --git a/vendor/github.com/masterzen/winrm/.travis.yml b/vendor/github.com/masterzen/winrm/.travis.yml deleted file mode 100644 index 415cadbba..000000000 --- a/vendor/github.com/masterzen/winrm/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -sudo: false -language: go -go: -- 1.5 -- 1.6 -- tip -install: -- make deps -- go build -o winrm-cli -before_install: -- go get github.com/axw/gocov/gocov -- go get github.com/mattn/goveralls -- go get golang.org/x/tools/cmd/cover -- go get github.com/modocache/gover -- go get gopkg.in/check.v1 -script: -- make ci -after_script: -- $HOME/gopath/bin/goveralls -service="travis-ci" -coverprofile=profile.cov -repotoken $COVERALLS_TOKEN -matrix: - allow_failures: - - go: tip -env: - global: - secure: "GTrEtbp3sq14Jjz34pgIO0/Zv19YaDOOUJay4qnzGxs527HkW7YdsWENz0/yGHet+0jMOPatfP3uLaQHVFCNFZLfMYVmD5apMl7hPFrCaDZVvI9+ZwngIZ8gHzcf2Q+L6LxUT523ypjmRR+T1qYfbOy4UXlfGCyHFBbRB7AbMDk=" diff --git a/vendor/github.com/mitchellh/cli/.travis.yml b/vendor/github.com/mitchellh/cli/.travis.yml deleted file mode 100644 index c2f4ab263..000000000 --- a/vendor/github.com/mitchellh/cli/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -sudo: false - -language: go - -go: - - 1.2 - - 1.3 - - 1.4 - - 1.5 - - tip - -matrix: - allow_failures: - - go: tip diff --git a/vendor/github.com/mitchellh/mapstructure/.travis.yml b/vendor/github.com/mitchellh/mapstructure/.travis.yml deleted file mode 100644 index 7f3fe9a96..000000000 --- a/vendor/github.com/mitchellh/mapstructure/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: go - -go: - - 1.4 - -script: - - go test diff --git a/vendor/github.com/nu7hatch/gouuid/.gitignore b/vendor/github.com/nu7hatch/gouuid/.gitignore deleted file mode 100644 index f9d9cd8ab..000000000 --- a/vendor/github.com/nu7hatch/gouuid/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -_obj -_test -*.6 -*.out -_testmain.go -\#* -.\#* -*.log -_cgo* -*.o -*.a diff --git a/vendor/github.com/pierrec/lz4/.travis.yml b/vendor/github.com/pierrec/lz4/.travis.yml deleted file mode 100644 index 5fd623633..000000000 --- a/vendor/github.com/pierrec/lz4/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: go - -go: - - 1.4 - - 1.5 - -script: - - go test -cpu=2 - - go test -cpu=2 -race \ No newline at end of file diff --git a/vendor/github.com/pierrec/lz4/fuzz/lz4.go b/vendor/github.com/pierrec/lz4/fuzz/lz4.go old mode 100644 new mode 100755 diff --git a/vendor/github.com/pkg/sftp/.gitignore b/vendor/github.com/pkg/sftp/.gitignore deleted file mode 100644 index 9fc1e3d24..000000000 --- a/vendor/github.com/pkg/sftp/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -.*.swo -.*.swp - -server_standalone/server_standalone - -examples/sftp-server/id_rsa -examples/sftp-server/id_rsa.pub -examples/sftp-server/sftp-server diff --git a/vendor/github.com/pkg/sftp/.travis.yml b/vendor/github.com/pkg/sftp/.travis.yml deleted file mode 100644 index 9ef70d869..000000000 --- a/vendor/github.com/pkg/sftp/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: go -go_import_path: github.com/pkg/sftp -go: - - 1.5.2 - - 1.4.3 - - tip - -sudo: false - -addons: - ssh_known_hosts: - - bitbucket.org - -install: - - go get -t -v ./... - - ssh-keygen -t rsa -q -P "" -f /home/travis/.ssh/id_rsa - -script: - - go test -integration -v ./... - - go test -testserver -v ./... - - go test -integration -testserver -v ./... diff --git a/vendor/github.com/rackspace/gophercloud/.travis.yml b/vendor/github.com/rackspace/gophercloud/.travis.yml deleted file mode 100644 index 250006e49..000000000 --- a/vendor/github.com/rackspace/gophercloud/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -language: go -install: - - go get golang.org/x/crypto/ssh - - go get -v -tags 'fixtures acceptance' ./... -go: - - 1.4 - - 1.5 - - tip -script: script/cibuild -after_success: - - go get golang.org/x/tools/cmd/cover - - go get github.com/axw/gocov/gocov - - go get github.com/mattn/goveralls - - export PATH=$PATH:$HOME/gopath/bin/ - - goveralls 2k7PTU3xa474Hymwgdj6XjqenNfGTNkO8 -sudo: false diff --git a/vendor/github.com/rackspace/gophercloud/openstack/common/extensions/errors.go b/vendor/github.com/rackspace/gophercloud/openstack/common/extensions/errors.go old mode 100644 new mode 100755 diff --git a/vendor/github.com/rackspace/gophercloud/openstack/common/extensions/requests.go b/vendor/github.com/rackspace/gophercloud/openstack/common/extensions/requests.go old mode 100644 new mode 100755 diff --git a/vendor/github.com/rackspace/gophercloud/openstack/common/extensions/results.go b/vendor/github.com/rackspace/gophercloud/openstack/common/extensions/results.go old mode 100644 new mode 100755 diff --git a/vendor/github.com/satori/go.uuid/.travis.yml b/vendor/github.com/satori/go.uuid/.travis.yml deleted file mode 100644 index 2199ce904..000000000 --- a/vendor/github.com/satori/go.uuid/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: go -go: - - 1.0 - - 1.1 - - 1.2 - - 1.3 - - 1.4 - - 1.5 -sudo: false -notifications: - email: false diff --git a/vendor/github.com/tent/http-link-go/.gitignore b/vendor/github.com/tent/http-link-go/.gitignore deleted file mode 100644 index 9ed3b07ce..000000000 --- a/vendor/github.com/tent/http-link-go/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.test diff --git a/vendor/github.com/tent/http-link-go/.travis.yml b/vendor/github.com/tent/http-link-go/.travis.yml deleted file mode 100644 index 7362f08e4..000000000 --- a/vendor/github.com/tent/http-link-go/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: go -go: - - 1.1 - - tip -before_install: - - go get launchpad.net/gocheck diff --git a/vendor/github.com/ugorji/go/codec/prebuild.sh b/vendor/github.com/ugorji/go/codec/prebuild.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/ugorji/go/codec/test.py b/vendor/github.com/ugorji/go/codec/test.py old mode 100644 new mode 100755 diff --git a/vendor/github.com/ugorji/go/codec/tests.sh b/vendor/github.com/ugorji/go/codec/tests.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/crypto/curve25519/doc.go b/vendor/golang.org/x/crypto/curve25519/doc.go index f7db9c1ce..ebeea3c2d 100644 --- a/vendor/golang.org/x/crypto/curve25519/doc.go +++ b/vendor/golang.org/x/crypto/curve25519/doc.go @@ -4,7 +4,7 @@ // Package curve25519 provides an implementation of scalar multiplication on // the elliptic curve known as curve25519. See http://cr.yp.to/ecdh.html -package curve25519 +package curve25519 // import "golang.org/x/crypto/curve25519" // basePoint is the x coordinate of the generator of the curve. var basePoint = [32]byte{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} diff --git a/vendor/golang.org/x/crypto/md4/md4.go b/vendor/golang.org/x/crypto/md4/md4.go index c5f7c57d1..6d9ba9e5f 100644 --- a/vendor/golang.org/x/crypto/md4/md4.go +++ b/vendor/golang.org/x/crypto/md4/md4.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package md4 implements the MD4 hash algorithm as defined in RFC 1320. -package md4 +package md4 // import "golang.org/x/crypto/md4" import ( "crypto" diff --git a/vendor/golang.org/x/crypto/ssh/agent/client.go b/vendor/golang.org/x/crypto/ssh/agent/client.go index d043c5bec..8c856a08c 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/client.go +++ b/vendor/golang.org/x/crypto/ssh/agent/client.go @@ -8,7 +8,7 @@ References: [PROTOCOL.agent]: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.agent?rev=HEAD */ -package agent +package agent // import "golang.org/x/crypto/ssh/agent" import ( "bytes" diff --git a/vendor/golang.org/x/crypto/ssh/doc.go b/vendor/golang.org/x/crypto/ssh/doc.go index a5ff8af6b..d6be89466 100644 --- a/vendor/golang.org/x/crypto/ssh/doc.go +++ b/vendor/golang.org/x/crypto/ssh/doc.go @@ -15,4 +15,4 @@ References: [PROTOCOL.certkeys]: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.certkeys?rev=HEAD [SSH-PARAMETERS]: http://www.iana.org/assignments/ssh-parameters/ssh-parameters.xml#ssh-parameters-1 */ -package ssh +package ssh // import "golang.org/x/crypto/ssh" diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go index 0763c9a97..598e3df77 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go @@ -14,7 +14,7 @@ // panic(err) // } // defer terminal.Restore(0, oldState) -package terminal +package terminal // import "golang.org/x/crypto/ssh/terminal" import ( "io" diff --git a/vendor/golang.org/x/crypto/ssh/test/doc.go b/vendor/golang.org/x/crypto/ssh/test/doc.go index 29ad65e96..3f9b3346d 100644 --- a/vendor/golang.org/x/crypto/ssh/test/doc.go +++ b/vendor/golang.org/x/crypto/ssh/test/doc.go @@ -4,4 +4,4 @@ // This package contains integration tests for the // golang.org/x/crypto/ssh package. -package test +package test // import "golang.org/x/crypto/ssh/test" diff --git a/vendor/golang.org/x/crypto/ssh/testdata/doc.go b/vendor/golang.org/x/crypto/ssh/testdata/doc.go new file mode 100644 index 000000000..fcae47ca6 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/testdata/doc.go @@ -0,0 +1,8 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This package contains test data shared between the various subpackages of +// the golang.org/x/crypto/ssh package. Under no circumstance should +// this data be used for production code. +package testdata // import "golang.org/x/crypto/ssh/testdata" diff --git a/vendor/golang.org/x/crypto/ssh/testdata/keys.go b/vendor/golang.org/x/crypto/ssh/testdata/keys.go new file mode 100644 index 000000000..5ff1c0e03 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/testdata/keys.go @@ -0,0 +1,43 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package testdata + +var PEMBytes = map[string][]byte{ + "dsa": []byte(`-----BEGIN DSA PRIVATE KEY----- +MIIBuwIBAAKBgQD6PDSEyXiI9jfNs97WuM46MSDCYlOqWw80ajN16AohtBncs1YB +lHk//dQOvCYOsYaE+gNix2jtoRjwXhDsc25/IqQbU1ahb7mB8/rsaILRGIbA5WH3 +EgFtJmXFovDz3if6F6TzvhFpHgJRmLYVR8cqsezL3hEZOvvs2iH7MorkxwIVAJHD +nD82+lxh2fb4PMsIiaXudAsBAoGAQRf7Q/iaPRn43ZquUhd6WwvirqUj+tkIu6eV +2nZWYmXLlqFQKEy4Tejl7Wkyzr2OSYvbXLzo7TNxLKoWor6ips0phYPPMyXld14r +juhT24CrhOzuLMhDduMDi032wDIZG4Y+K7ElU8Oufn8Sj5Wge8r6ANmmVgmFfynr +FhdYCngCgYEA3ucGJ93/Mx4q4eKRDxcWD3QzWyqpbRVRRV1Vmih9Ha/qC994nJFz +DQIdjxDIT2Rk2AGzMqFEB68Zc3O+Wcsmz5eWWzEwFxaTwOGWTyDqsDRLm3fD+QYj +nOwuxb0Kce+gWI8voWcqC9cyRm09jGzu2Ab3Bhtpg8JJ8L7gS3MRZK4CFEx4UAfY +Fmsr0W6fHB9nhS4/UXM8 +-----END DSA PRIVATE KEY----- +`), + "ecdsa": []byte(`-----BEGIN EC PRIVATE KEY----- +MHcCAQEEINGWx0zo6fhJ/0EAfrPzVFyFC9s18lBt3cRoEDhS3ARooAoGCCqGSM49 +AwEHoUQDQgAEi9Hdw6KvZcWxfg2IDhA7UkpDtzzt6ZqJXSsFdLd+Kx4S3Sx4cVO+ +6/ZOXRnPmNAlLUqjShUsUBBngG0u2fqEqA== +-----END EC PRIVATE KEY----- +`), + "rsa": []byte(`-----BEGIN RSA PRIVATE KEY----- +MIIBOwIBAAJBALdGZxkXDAjsYk10ihwU6Id2KeILz1TAJuoq4tOgDWxEEGeTrcld +r/ZwVaFzjWzxaf6zQIJbfaSEAhqD5yo72+sCAwEAAQJBAK8PEVU23Wj8mV0QjwcJ +tZ4GcTUYQL7cF4+ezTCE9a1NrGnCP2RuQkHEKxuTVrxXt+6OF15/1/fuXnxKjmJC +nxkCIQDaXvPPBi0c7vAxGwNY9726x01/dNbHCE0CBtcotobxpwIhANbbQbh3JHVW +2haQh4fAG5mhesZKAGcxTyv4mQ7uMSQdAiAj+4dzMpJWdSzQ+qGHlHMIBvVHLkqB +y2VdEyF7DPCZewIhAI7GOI/6LDIFOvtPo6Bj2nNmyQ1HU6k/LRtNIXi4c9NJAiAr +rrxx26itVhJmcvoUhOjwuzSlP2bE5VHAvkGB352YBg== +-----END RSA PRIVATE KEY----- +`), + "user": []byte(`-----BEGIN EC PRIVATE KEY----- +MHcCAQEEILYCAeq8f7V4vSSypRw7pxy8yz3V5W4qg8kSC3zJhqpQoAoGCCqGSM49 +AwEHoUQDQgAEYcO2xNKiRUYOLEHM7VYAp57HNyKbOdYtHD83Z4hzNPVC4tM5mdGD +PLL8IEwvYu2wq+lpXfGQnNMbzYf9gspG0w== +-----END EC PRIVATE KEY----- +`), +} diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go index 11bd8d34e..77b64d0c6 100644 --- a/vendor/golang.org/x/net/context/context.go +++ b/vendor/golang.org/x/net/context/context.go @@ -34,7 +34,7 @@ // // See http://blog.golang.org/context for example code for a server that uses // Contexts. -package context +package context // import "golang.org/x/net/context" import ( "errors" diff --git a/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go b/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go index 26a5e19ac..62620d4eb 100644 --- a/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +++ b/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package ctxhttp provides helper functions for performing context-aware HTTP requests. -package ctxhttp +package ctxhttp // import "golang.org/x/net/context/ctxhttp" import ( "io" diff --git a/vendor/golang.org/x/net/html/atom/atom.go b/vendor/golang.org/x/net/html/atom/atom.go index 227404bda..cd0a8ac15 100644 --- a/vendor/golang.org/x/net/html/atom/atom.go +++ b/vendor/golang.org/x/net/html/atom/atom.go @@ -15,7 +15,7 @@ // whether atom.H1 < atom.H2 may also change. The codes are not guaranteed to // be dense. The only guarantees are that e.g. looking up "div" will yield // atom.Div, calling atom.Div.String will return "div", and atom.Div != 0. -package atom +package atom // import "golang.org/x/net/html/atom" // Atom is an integer code for a string. The zero value maps to "". type Atom uint32 diff --git a/vendor/golang.org/x/net/html/charset/charset.go b/vendor/golang.org/x/net/html/charset/charset.go index 449607253..13bed1599 100644 --- a/vendor/golang.org/x/net/html/charset/charset.go +++ b/vendor/golang.org/x/net/html/charset/charset.go @@ -6,7 +6,7 @@ // // The mapping from encoding labels to encodings is defined at // https://encoding.spec.whatwg.org/. -package charset +package charset // import "golang.org/x/net/html/charset" import ( "bytes" diff --git a/vendor/golang.org/x/net/html/doc.go b/vendor/golang.org/x/net/html/doc.go index b453fe1e4..94f496874 100644 --- a/vendor/golang.org/x/net/html/doc.go +++ b/vendor/golang.org/x/net/html/doc.go @@ -93,7 +93,7 @@ The relevant specifications include: https://html.spec.whatwg.org/multipage/syntax.html and https://html.spec.whatwg.org/multipage/syntax.html#tokenization */ -package html +package html // import "golang.org/x/net/html" // The tokenization algorithm implemented by this package is not a line-by-line // transliteration of the relatively verbose state-machine in the WHATWG diff --git a/vendor/golang.org/x/oauth2/.travis.yml b/vendor/golang.org/x/oauth2/.travis.yml deleted file mode 100644 index a035125c3..000000000 --- a/vendor/golang.org/x/oauth2/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: go - -go: - - 1.3 - - 1.4 - -install: - - export GOPATH="$HOME/gopath" - - mkdir -p "$GOPATH/src/golang.org/x" - - mv "$TRAVIS_BUILD_DIR" "$GOPATH/src/golang.org/x/oauth2" - - go get -v -t -d golang.org/x/oauth2/... - -script: - - go test -v golang.org/x/oauth2/... diff --git a/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go b/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go index a47e46559..38be11260 100644 --- a/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go +++ b/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go @@ -11,7 +11,7 @@ // server. // // See http://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-4.4 -package clientcredentials +package clientcredentials // import "golang.org/x/oauth2/clientcredentials" import ( "net/http" diff --git a/vendor/golang.org/x/oauth2/facebook/facebook.go b/vendor/golang.org/x/oauth2/facebook/facebook.go index 51c1480bd..14c801a2a 100644 --- a/vendor/golang.org/x/oauth2/facebook/facebook.go +++ b/vendor/golang.org/x/oauth2/facebook/facebook.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package facebook provides constants for using OAuth2 to access Facebook. -package facebook +package facebook // import "golang.org/x/oauth2/facebook" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/oauth2/github/github.go b/vendor/golang.org/x/oauth2/github/github.go index 26502a368..f2978015b 100644 --- a/vendor/golang.org/x/oauth2/github/github.go +++ b/vendor/golang.org/x/oauth2/github/github.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package github provides constants for using OAuth2 to access Github. -package github +package github // import "golang.org/x/oauth2/github" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/oauth2/google/google.go b/vendor/golang.org/x/oauth2/google/google.go index 0bed73866..9a3d5feb1 100644 --- a/vendor/golang.org/x/oauth2/google/google.go +++ b/vendor/golang.org/x/oauth2/google/google.go @@ -12,7 +12,7 @@ // https://developers.google.com/accounts/docs/OAuth2 // and // https://developers.google.com/accounts/docs/application-default-credentials. -package google +package google // import "golang.org/x/oauth2/google" import ( "encoding/json" diff --git a/vendor/golang.org/x/oauth2/jws/jws.go b/vendor/golang.org/x/oauth2/jws/jws.go index b46edb27c..8ca597843 100644 --- a/vendor/golang.org/x/oauth2/jws/jws.go +++ b/vendor/golang.org/x/oauth2/jws/jws.go @@ -4,7 +4,7 @@ // Package jws provides encoding and decoding utilities for // signed JWS messages. -package jws +package jws // import "golang.org/x/oauth2/jws" import ( "bytes" diff --git a/vendor/golang.org/x/oauth2/linkedin/linkedin.go b/vendor/golang.org/x/oauth2/linkedin/linkedin.go index 30c212b10..b619f93d2 100644 --- a/vendor/golang.org/x/oauth2/linkedin/linkedin.go +++ b/vendor/golang.org/x/oauth2/linkedin/linkedin.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package linkedin provides constants for using OAuth2 to access LinkedIn. -package linkedin +package linkedin // import "golang.org/x/oauth2/linkedin" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/oauth2/microsoft/microsoft.go b/vendor/golang.org/x/oauth2/microsoft/microsoft.go index a097f813e..f21b3985b 100644 --- a/vendor/golang.org/x/oauth2/microsoft/microsoft.go +++ b/vendor/golang.org/x/oauth2/microsoft/microsoft.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package microsoft provides constants for using OAuth2 to access Windows Live ID. -package microsoft +package microsoft // import "golang.org/x/oauth2/microsoft" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go index 9b7b977da..a68289607 100644 --- a/vendor/golang.org/x/oauth2/oauth2.go +++ b/vendor/golang.org/x/oauth2/oauth2.go @@ -5,7 +5,7 @@ // Package oauth2 provides support for making // OAuth2 authorized and authenticated HTTP requests. // It can additionally grant authorization with Bearer JWT. -package oauth2 +package oauth2 // import "golang.org/x/oauth2" import ( "bytes" diff --git a/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go b/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go index 60741ce9d..c0d093ccc 100644 --- a/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go +++ b/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package odnoklassniki provides constants for using OAuth2 to access Odnoklassniki. -package odnoklassniki +package odnoklassniki // import "golang.org/x/oauth2/odnoklassniki" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/oauth2/paypal/paypal.go b/vendor/golang.org/x/oauth2/paypal/paypal.go index 32308322f..2e713c53c 100644 --- a/vendor/golang.org/x/oauth2/paypal/paypal.go +++ b/vendor/golang.org/x/oauth2/paypal/paypal.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package paypal provides constants for using OAuth2 to access PayPal. -package paypal +package paypal // import "golang.org/x/oauth2/paypal" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/oauth2/vk/vk.go b/vendor/golang.org/x/oauth2/vk/vk.go index 6463482cf..bd8e15948 100644 --- a/vendor/golang.org/x/oauth2/vk/vk.go +++ b/vendor/golang.org/x/oauth2/vk/vk.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package vk provides constants for using OAuth2 to access VK.com. -package vk +package vk // import "golang.org/x/oauth2/vk" import ( "golang.org/x/oauth2" diff --git a/vendor/golang.org/x/sys/unix/.gitignore b/vendor/golang.org/x/sys/unix/.gitignore deleted file mode 100644 index e48271590..000000000 --- a/vendor/golang.org/x/sys/unix/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_obj/ diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksyscall.pl b/vendor/golang.org/x/sys/unix/mksyscall.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl b/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl b/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysnum_linux.pl b/vendor/golang.org/x/sys/unix/mksysnum_linux.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go index a48d47cff..6442a9939 100644 --- a/vendor/golang.org/x/sys/unix/syscall.go +++ b/vendor/golang.org/x/sys/unix/syscall.go @@ -19,7 +19,7 @@ // These calls return err == nil to indicate success; otherwise // err represents an operating system error describing the failure and // holds a value of type syscall.Errno. -package unix +package unix // import "golang.org/x/sys/unix" import "unsafe" diff --git a/vendor/google.golang.org/api/gensupport/backoff.go b/vendor/google.golang.org/api/gensupport/backoff.go index 0cc3e406b..135614047 100644 --- a/vendor/google.golang.org/api/gensupport/backoff.go +++ b/vendor/google.golang.org/api/gensupport/backoff.go @@ -4,31 +4,43 @@ package gensupport -import "time" +import ( + "math/rand" + "time" +) type BackoffStrategy interface { - // Pause returns the duration of the next pause before a retry should be attempted. - Pause() time.Duration + // Pause returns the duration of the next pause and true if the operation should be + // retried, or false if no further retries should be attempted. + Pause() (time.Duration, bool) // Reset restores the strategy to its initial state. Reset() } +// ExponentialBackoff performs exponential backoff as per https://en.wikipedia.org/wiki/Exponential_backoff. +// The initial pause time is given by Base. +// Once the total pause time exceeds Max, Pause will indicate no further retries. type ExponentialBackoff struct { - BasePause time.Duration - nextPause time.Duration + Base time.Duration + Max time.Duration + total time.Duration + n uint } -func (eb *ExponentialBackoff) Pause() time.Duration { - if eb.nextPause == 0 { - eb.Reset() +func (eb *ExponentialBackoff) Pause() (time.Duration, bool) { + if eb.total > eb.Max { + return 0, false } - d := eb.nextPause - eb.nextPause *= 2 - return d + // The next pause is selected from randomly from [0, 2^n * Base). + d := time.Duration(rand.Int63n((1 << eb.n) * int64(eb.Base))) + eb.total += d + eb.n++ + return d, true } func (eb *ExponentialBackoff) Reset() { - eb.nextPause = eb.BasePause + eb.n = 0 + eb.total = 0 } diff --git a/vendor/google.golang.org/api/gensupport/media.go b/vendor/google.golang.org/api/gensupport/media.go index 685e08d5a..817f46f5d 100644 --- a/vendor/google.golang.org/api/gensupport/media.go +++ b/vendor/google.golang.org/api/gensupport/media.go @@ -165,7 +165,9 @@ func CombineBodyMedia(body io.Reader, bodyContentType string, media io.Reader, m func typeHeader(contentType string) textproto.MIMEHeader { h := make(textproto.MIMEHeader) - h.Set("Content-Type", contentType) + if contentType != "" { + h.Set("Content-Type", contentType) + } return h } diff --git a/vendor/google.golang.org/api/gensupport/resumable.go b/vendor/google.golang.org/api/gensupport/resumable.go index adefc8897..b3e774aa4 100644 --- a/vendor/google.golang.org/api/gensupport/resumable.go +++ b/vendor/google.golang.org/api/gensupport/resumable.go @@ -16,14 +16,16 @@ import ( ) const ( - // statusResumeIncomplete is the code returned by the Google uploader when the transfer is not yet complete. + // statusResumeIncomplete is the code returned by the Google uploader + // when the transfer is not yet complete. statusResumeIncomplete = 308 -) -// DefaultBackoffStrategy returns a default strategy to use for retrying failed upload requests. -func DefaultBackoffStrategy() BackoffStrategy { - return &ExponentialBackoff{BasePause: time.Second} -} + // statusTooManyRequests is returned by the storage API if the + // per-project limits have been temporarily exceeded. The request + // should be retried. + // https://cloud.google.com/storage/docs/json_api/v1/status-codes#standardcodes + statusTooManyRequests = 429 +) // ResumableUpload is used by the generated APIs to provide resumable uploads. // It is not used by developers directly. @@ -130,7 +132,8 @@ func contextDone(ctx context.Context) bool { } // Upload starts the process of a resumable upload with a cancellable context. -// It retries indefinitely (using exponential backoff) until cancelled. +// It retries using the provided back off strategy until cancelled or the +// strategy indicates to stop retrying. // It is called from the auto-generated API code and is not visible to the user. // rx is private to the auto-generated API code. // Exactly one of resp or err will be nil. If resp is non-nil, the caller must call resp.Body.Close. @@ -153,6 +156,33 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err } resp, err = rx.transferChunk(ctx) + + var status int + if resp != nil { + status = resp.StatusCode + } + + // Check if we should retry the request. + if shouldRetry(status, err) { + var retry bool + pause, retry = backoff.Pause() + if retry { + if resp != nil && resp.Body != nil { + resp.Body.Close() + } + continue + } + } + + // If the chunk was uploaded successfully, but there's still + // more to go, upload the next chunk without any delay. + if status == statusResumeIncomplete { + pause = 0 + backoff.Reset() + resp.Body.Close() + continue + } + // It's possible for err and resp to both be non-nil here, but we expose a simpler // contract to our callers: exactly one of resp and err will be non-nil. This means // that any response body must be closed here before returning a non-nil error. @@ -162,16 +192,7 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err } return nil, err } - if resp.StatusCode == http.StatusCreated || resp.StatusCode == http.StatusOK { - return resp, nil - } - resp.Body.Close() - if resp.StatusCode == statusResumeIncomplete { - pause = 0 - backoff.Reset() - } else { - pause = backoff.Pause() - } + return resp, nil } } diff --git a/vendor/google.golang.org/api/gensupport/retry.go b/vendor/google.golang.org/api/gensupport/retry.go new file mode 100644 index 000000000..7f83d1da9 --- /dev/null +++ b/vendor/google.golang.org/api/gensupport/retry.go @@ -0,0 +1,77 @@ +package gensupport + +import ( + "io" + "net" + "net/http" + "time" + + "golang.org/x/net/context" +) + +// Retry invokes the given function, retrying it multiple times if the connection failed or +// the HTTP status response indicates the request should be attempted again. ctx may be nil. +func Retry(ctx context.Context, f func() (*http.Response, error), backoff BackoffStrategy) (*http.Response, error) { + for { + resp, err := f() + + var status int + if resp != nil { + status = resp.StatusCode + } + + // Return if we shouldn't retry. + pause, retry := backoff.Pause() + if !shouldRetry(status, err) || !retry { + return resp, err + } + + // Ensure the response body is closed, if any. + if resp != nil && resp.Body != nil { + resp.Body.Close() + } + + // Pause, but still listen to ctx.Done if context is not nil. + var done <-chan struct{} + if ctx != nil { + done = ctx.Done() + } + select { + case <-done: + return nil, ctx.Err() + case <-time.After(pause): + } + } +} + +// DefaultBackoffStrategy returns a default strategy to use for retrying failed upload requests. +func DefaultBackoffStrategy() BackoffStrategy { + return &ExponentialBackoff{ + Base: 250 * time.Millisecond, + Max: 16 * time.Second, + } +} + +// shouldRetry returns true if the HTTP response / error indicates that the +// request should be attempted again. +func shouldRetry(status int, err error) bool { + // Retry for 5xx response codes. + if 500 <= status && status < 600 { + return true + } + + // Retry on statusTooManyRequests{ + if status == statusTooManyRequests { + return true + } + + // Retry on unexpected EOFs and temporary network errors. + if err == io.ErrUnexpectedEOF { + return true + } + if err, ok := err.(net.Error); ok { + return err.Temporary() + } + + return false +} diff --git a/vendor/google.golang.org/api/googleapi/googleapi.go b/vendor/google.golang.org/api/googleapi/googleapi.go index 8796e3e09..67ee7768c 100644 --- a/vendor/google.golang.org/api/googleapi/googleapi.go +++ b/vendor/google.golang.org/api/googleapi/googleapi.go @@ -4,7 +4,7 @@ // Package googleapi contains the common code shared by all Google API // libraries. -package googleapi +package googleapi // import "google.golang.org/api/googleapi" import ( "bytes" @@ -220,9 +220,13 @@ type contentTypeOption string func (ct contentTypeOption) setOptions(o *MediaOptions) { o.ContentType = string(ct) + if o.ContentType == "" { + o.ForceEmptyContentType = true + } } -// ContentType returns a MediaOption which sets the content type of data to be uploaded. +// ContentType returns a MediaOption which sets the Content-Type header for media uploads. +// If ctype is empty, the Content-Type header will be omitted. func ContentType(ctype string) MediaOption { return contentTypeOption(ctype) } @@ -248,8 +252,10 @@ func ChunkSize(size int) MediaOption { // MediaOptions stores options for customizing media upload. It is not used by developers directly. type MediaOptions struct { - ContentType string - ChunkSize int + ContentType string + ForceEmptyContentType bool + + ChunkSize int } // ProcessMediaOptions stores options from opts in a MediaOptions. @@ -415,4 +421,12 @@ type userIP string func (i userIP) Get() (string, string) { return "userIp", string(i) } +// Trace returns a CallOption that enables diagnostic tracing for a call. +// traceToken is an ID supplied by Google support. +func Trace(traceToken string) CallOption { return traceTok(traceToken) } + +type traceTok string + +func (t traceTok) Get() (string, string) { return "trace", "token:" + string(t) } + // TODO: Fields too diff --git a/vendor/google.golang.org/api/googleapi/internal/uritemplates/uritemplates.go b/vendor/google.golang.org/api/googleapi/internal/uritemplates/uritemplates.go index 8a84813fe..7c103ba13 100644 --- a/vendor/google.golang.org/api/googleapi/internal/uritemplates/uritemplates.go +++ b/vendor/google.golang.org/api/googleapi/internal/uritemplates/uritemplates.go @@ -2,26 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package uritemplates is a level 4 implementation of RFC 6570 (URI +// Package uritemplates is a level 3 implementation of RFC 6570 (URI // Template, http://tools.ietf.org/html/rfc6570). -// -// To use uritemplates, parse a template string and expand it with a value -// map: -// -// template, _ := uritemplates.Parse("https://api.github.com/repos{/user,repo}") -// values := make(map[string]interface{}) -// values["user"] = "jtacoma" -// values["repo"] = "uritemplates" -// expanded, _ := template.ExpandString(values) -// fmt.Printf(expanded) -// +// uritemplates does not support composite values (in Go: slices or maps) +// and so does not qualify as a level 4 implementation. package uritemplates import ( "bytes" "errors" - "fmt" - "reflect" "regexp" "strconv" "strings" @@ -45,52 +34,47 @@ func pctEncode(src []byte) []byte { return dst } -func escape(s string, allowReserved bool) (escaped string) { +func escape(s string, allowReserved bool) string { if allowReserved { - escaped = string(reserved.ReplaceAllFunc([]byte(s), pctEncode)) - } else { - escaped = string(unreserved.ReplaceAllFunc([]byte(s), pctEncode)) + return string(reserved.ReplaceAllFunc([]byte(s), pctEncode)) } - return escaped + return string(unreserved.ReplaceAllFunc([]byte(s), pctEncode)) } -// A UriTemplate is a parsed representation of a URI template. -type UriTemplate struct { +// A uriTemplate is a parsed representation of a URI template. +type uriTemplate struct { raw string parts []templatePart } -// Parse parses a URI template string into a UriTemplate object. -func Parse(rawtemplate string) (template *UriTemplate, err error) { - template = new(UriTemplate) - template.raw = rawtemplate - split := strings.Split(rawtemplate, "{") - template.parts = make([]templatePart, len(split)*2-1) +// parse parses a URI template string into a uriTemplate object. +func parse(rawTemplate string) (*uriTemplate, error) { + split := strings.Split(rawTemplate, "{") + parts := make([]templatePart, len(split)*2-1) for i, s := range split { if i == 0 { if strings.Contains(s, "}") { - err = errors.New("unexpected }") - break + return nil, errors.New("unexpected }") } - template.parts[i].raw = s - } else { - subsplit := strings.Split(s, "}") - if len(subsplit) != 2 { - err = errors.New("malformed template") - break - } - expression := subsplit[0] - template.parts[i*2-1], err = parseExpression(expression) - if err != nil { - break - } - template.parts[i*2].raw = subsplit[1] + parts[i].raw = s + continue } + subsplit := strings.Split(s, "}") + if len(subsplit) != 2 { + return nil, errors.New("malformed template") + } + expression := subsplit[0] + var err error + parts[i*2-1], err = parseExpression(expression) + if err != nil { + return nil, err + } + parts[i*2].raw = subsplit[1] } - if err != nil { - template = nil - } - return template, err + return &uriTemplate{ + raw: rawTemplate, + parts: parts, + }, nil } type templatePart struct { @@ -160,6 +144,8 @@ func parseExpression(expression string) (result templatePart, err error) { } func parseTerm(term string) (result templateTerm, err error) { + // TODO(djd): Remove "*" suffix parsing once we check that no APIs have + // mistakenly used that attribute. if strings.HasSuffix(term, "*") { result.explode = true term = term[:len(term)-1] @@ -185,175 +171,50 @@ func parseTerm(term string) (result templateTerm, err error) { } // Expand expands a URI template with a set of values to produce a string. -func (self *UriTemplate) Expand(value interface{}) (string, error) { - values, ismap := value.(map[string]interface{}) - if !ismap { - if m, ismap := struct2map(value); !ismap { - return "", errors.New("expected map[string]interface{}, struct, or pointer to struct.") - } else { - return self.Expand(m) - } - } +func (t *uriTemplate) Expand(values map[string]string) string { var buf bytes.Buffer - for _, p := range self.parts { - err := p.expand(&buf, values) - if err != nil { - return "", err - } + for _, p := range t.parts { + p.expand(&buf, values) } - return buf.String(), nil + return buf.String() } -func (self *templatePart) expand(buf *bytes.Buffer, values map[string]interface{}) error { - if len(self.raw) > 0 { - buf.WriteString(self.raw) - return nil +func (tp *templatePart) expand(buf *bytes.Buffer, values map[string]string) { + if len(tp.raw) > 0 { + buf.WriteString(tp.raw) + return } - var zeroLen = buf.Len() - buf.WriteString(self.first) - var firstLen = buf.Len() - for _, term := range self.terms { + var first = true + for _, term := range tp.terms { value, exists := values[term.name] if !exists { continue } - if buf.Len() != firstLen { - buf.WriteString(self.sep) - } - switch v := value.(type) { - case string: - self.expandString(buf, term, v) - case []interface{}: - self.expandArray(buf, term, v) - case map[string]interface{}: - if term.truncate > 0 { - return errors.New("cannot truncate a map expansion") - } - self.expandMap(buf, term, v) - default: - if m, ismap := struct2map(value); ismap { - if term.truncate > 0 { - return errors.New("cannot truncate a map expansion") - } - self.expandMap(buf, term, m) - } else { - str := fmt.Sprintf("%v", value) - self.expandString(buf, term, str) - } + if first { + buf.WriteString(tp.first) + first = false + } else { + buf.WriteString(tp.sep) } + tp.expandString(buf, term, value) } - if buf.Len() == firstLen { - original := buf.Bytes()[:zeroLen] - buf.Reset() - buf.Write(original) - } - return nil } -func (self *templatePart) expandName(buf *bytes.Buffer, name string, empty bool) { - if self.named { +func (tp *templatePart) expandName(buf *bytes.Buffer, name string, empty bool) { + if tp.named { buf.WriteString(name) if empty { - buf.WriteString(self.ifemp) + buf.WriteString(tp.ifemp) } else { buf.WriteString("=") } } } -func (self *templatePart) expandString(buf *bytes.Buffer, t templateTerm, s string) { +func (tp *templatePart) expandString(buf *bytes.Buffer, t templateTerm, s string) { if len(s) > t.truncate && t.truncate > 0 { s = s[:t.truncate] } - self.expandName(buf, t.name, len(s) == 0) - buf.WriteString(escape(s, self.allowReserved)) -} - -func (self *templatePart) expandArray(buf *bytes.Buffer, t templateTerm, a []interface{}) { - if len(a) == 0 { - return - } else if !t.explode { - self.expandName(buf, t.name, false) - } - for i, value := range a { - if t.explode && i > 0 { - buf.WriteString(self.sep) - } else if i > 0 { - buf.WriteString(",") - } - var s string - switch v := value.(type) { - case string: - s = v - default: - s = fmt.Sprintf("%v", v) - } - if len(s) > t.truncate && t.truncate > 0 { - s = s[:t.truncate] - } - if self.named && t.explode { - self.expandName(buf, t.name, len(s) == 0) - } - buf.WriteString(escape(s, self.allowReserved)) - } -} - -func (self *templatePart) expandMap(buf *bytes.Buffer, t templateTerm, m map[string]interface{}) { - if len(m) == 0 { - return - } - if !t.explode { - self.expandName(buf, t.name, len(m) == 0) - } - var firstLen = buf.Len() - for k, value := range m { - if firstLen != buf.Len() { - if t.explode { - buf.WriteString(self.sep) - } else { - buf.WriteString(",") - } - } - var s string - switch v := value.(type) { - case string: - s = v - default: - s = fmt.Sprintf("%v", v) - } - if t.explode { - buf.WriteString(escape(k, self.allowReserved)) - buf.WriteRune('=') - buf.WriteString(escape(s, self.allowReserved)) - } else { - buf.WriteString(escape(k, self.allowReserved)) - buf.WriteRune(',') - buf.WriteString(escape(s, self.allowReserved)) - } - } -} - -func struct2map(v interface{}) (map[string]interface{}, bool) { - value := reflect.ValueOf(v) - switch value.Type().Kind() { - case reflect.Ptr: - return struct2map(value.Elem().Interface()) - case reflect.Struct: - m := make(map[string]interface{}) - for i := 0; i < value.NumField(); i++ { - tag := value.Type().Field(i).Tag - var name string - if strings.Contains(string(tag), ":") { - name = tag.Get("uri") - } else { - name = strings.TrimSpace(string(tag)) - } - if len(name) == 0 { - name = value.Type().Field(i).Name - } - m[name] = value.Field(i).Interface() - } - return m, true - } - return nil, false + tp.expandName(buf, t.name, len(s) == 0) + buf.WriteString(escape(s, tp.allowReserved)) } diff --git a/vendor/google.golang.org/api/googleapi/internal/uritemplates/utils.go b/vendor/google.golang.org/api/googleapi/internal/uritemplates/utils.go index 399ef4623..eff260a69 100644 --- a/vendor/google.golang.org/api/googleapi/internal/uritemplates/utils.go +++ b/vendor/google.golang.org/api/googleapi/internal/uritemplates/utils.go @@ -1,13 +1,13 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + package uritemplates -func Expand(path string, expansions map[string]string) (string, error) { - template, err := Parse(path) +func Expand(path string, values map[string]string) (string, error) { + template, err := parse(path) if err != nil { return "", err } - values := make(map[string]interface{}) - for k, v := range expansions { - values[k] = v - } - return template.Expand(values) + return template.Expand(values), nil } diff --git a/vendor/google.golang.org/appengine/.travis.yml b/vendor/google.golang.org/appengine/.travis.yml deleted file mode 100644 index 771520977..000000000 --- a/vendor/google.golang.org/appengine/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: go -sudo: false - -go: - - 1.4 - -install: - - go get -v -t -d google.golang.org/appengine/... - - mkdir sdk - - curl -o sdk.zip "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-1.9.24.zip" - - unzip sdk.zip -d sdk - - export APPENGINE_DEV_APPSERVER=$(pwd)/sdk/go_appengine/dev_appserver.py - -script: - - go version - - go test -v google.golang.org/appengine/... - - go test -v -race google.golang.org/appengine/... - - sdk/go_appengine/goapp test -v google.golang.org/appengine/... diff --git a/vendor/google.golang.org/appengine/appengine.go b/vendor/google.golang.org/appengine/appengine.go index 52e6ee3f2..9a439102b 100644 --- a/vendor/google.golang.org/appengine/appengine.go +++ b/vendor/google.golang.org/appengine/appengine.go @@ -6,7 +6,7 @@ // // For more information on how to write Go apps for Google App Engine, see: // https://cloud.google.com/appengine/docs/go/ -package appengine +package appengine // import "google.golang.org/appengine" import ( "net/http" diff --git a/vendor/google.golang.org/appengine/blobstore/blobstore.go b/vendor/google.golang.org/appengine/blobstore/blobstore.go index e9f3df920..1c8087b04 100644 --- a/vendor/google.golang.org/appengine/blobstore/blobstore.go +++ b/vendor/google.golang.org/appengine/blobstore/blobstore.go @@ -4,7 +4,7 @@ // Package blobstore provides a client for App Engine's persistent blob // storage service. -package blobstore +package blobstore // import "google.golang.org/appengine/blobstore" import ( "bufio" diff --git a/vendor/google.golang.org/appengine/capability/capability.go b/vendor/google.golang.org/appengine/capability/capability.go index 26edad70b..84391d572 100644 --- a/vendor/google.golang.org/appengine/capability/capability.go +++ b/vendor/google.golang.org/appengine/capability/capability.go @@ -13,7 +13,7 @@ Example: // show user a different page } */ -package capability +package capability // import "google.golang.org/appengine/capability" import ( "golang.org/x/net/context" diff --git a/vendor/google.golang.org/appengine/channel/channel.go b/vendor/google.golang.org/appengine/channel/channel.go index 004f5ddc8..dfe0a3fff 100644 --- a/vendor/google.golang.org/appengine/channel/channel.go +++ b/vendor/google.golang.org/appengine/channel/channel.go @@ -18,7 +18,7 @@ Send sends a message to the client over the channel identified by clientID. channel.Send(c, "player1", "Game over!") */ -package channel +package channel // import "google.golang.org/appengine/channel" import ( "encoding/json" diff --git a/vendor/google.golang.org/appengine/datastore/doc.go b/vendor/google.golang.org/appengine/datastore/doc.go index 0d1cb5cce..92ffe6d15 100644 --- a/vendor/google.golang.org/appengine/datastore/doc.go +++ b/vendor/google.golang.org/appengine/datastore/doc.go @@ -348,4 +348,4 @@ Example code: } } */ -package datastore +package datastore // import "google.golang.org/appengine/datastore" diff --git a/vendor/google.golang.org/appengine/delay/delay.go b/vendor/google.golang.org/appengine/delay/delay.go index 6a71da751..6d628fc16 100644 --- a/vendor/google.golang.org/appengine/delay/delay.go +++ b/vendor/google.golang.org/appengine/delay/delay.go @@ -41,7 +41,7 @@ reserved application path "/_ah/queue/go/delay". This path must not be marked as "login: required" in app.yaml; it must be marked as "login: admin" or have no access restriction. */ -package delay +package delay // import "google.golang.org/appengine/delay" import ( "bytes" diff --git a/vendor/google.golang.org/appengine/image/image.go b/vendor/google.golang.org/appengine/image/image.go index 780d53e17..027a41b70 100644 --- a/vendor/google.golang.org/appengine/image/image.go +++ b/vendor/google.golang.org/appengine/image/image.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package image provides image services. -package image +package image // import "google.golang.org/appengine/image" import ( "fmt" diff --git a/vendor/google.golang.org/appengine/internal/aetesting/fake.go b/vendor/google.golang.org/appengine/internal/aetesting/fake.go new file mode 100644 index 000000000..6f5c1977f --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/aetesting/fake.go @@ -0,0 +1,80 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// Package aetesting provides utilities for testing App Engine packages. +// This is not for testing user applications. +package aetesting + +import ( + "fmt" + "reflect" + "testing" + + "github.com/golang/protobuf/proto" + "golang.org/x/net/context" + + "google.golang.org/appengine/internal" +) + +// FakeSingleContext returns a context whose Call invocations will be serviced +// by f, which should be a function that has two arguments of the input and output +// protocol buffer type, and one error return. +func FakeSingleContext(t *testing.T, service, method string, f interface{}) context.Context { + fv := reflect.ValueOf(f) + if fv.Kind() != reflect.Func { + t.Fatal("not a function") + } + ft := fv.Type() + if ft.NumIn() != 2 || ft.NumOut() != 1 { + t.Fatalf("f has %d in and %d out, want 2 in and 1 out", ft.NumIn(), ft.NumOut()) + } + for i := 0; i < 2; i++ { + at := ft.In(i) + if !at.Implements(protoMessageType) { + t.Fatalf("arg %d does not implement proto.Message", i) + } + } + if ft.Out(0) != errorType { + t.Fatalf("f's return is %v, want error", ft.Out(0)) + } + s := &single{ + t: t, + service: service, + method: method, + f: fv, + } + return internal.WithCallOverride(context.Background(), s.call) +} + +var ( + protoMessageType = reflect.TypeOf((*proto.Message)(nil)).Elem() + errorType = reflect.TypeOf((*error)(nil)).Elem() +) + +type single struct { + t *testing.T + service, method string + f reflect.Value +} + +func (s *single) call(ctx context.Context, service, method string, in, out proto.Message) error { + if service == "__go__" { + if method == "GetNamespace" { + return nil // always yield an empty namespace + } + return fmt.Errorf("Unknown API call /%s.%s", service, method) + } + if service != s.service || method != s.method { + s.t.Fatalf("Unexpected call to /%s.%s", service, method) + } + ins := []reflect.Value{ + reflect.ValueOf(in), + reflect.ValueOf(out), + } + outs := s.f.Call(ins) + if outs[0].IsNil() { + return nil + } + return outs[0].Interface().(error) +} diff --git a/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go b/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go new file mode 100644 index 000000000..8705ec348 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go @@ -0,0 +1,347 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/blobstore/blobstore_service.proto +// DO NOT EDIT! + +/* +Package blobstore is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/blobstore/blobstore_service.proto + +It has these top-level messages: + BlobstoreServiceError + CreateUploadURLRequest + CreateUploadURLResponse + DeleteBlobRequest + FetchDataRequest + FetchDataResponse + CloneBlobRequest + CloneBlobResponse + DecodeBlobKeyRequest + DecodeBlobKeyResponse + CreateEncodedGoogleStorageKeyRequest + CreateEncodedGoogleStorageKeyResponse +*/ +package blobstore + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type BlobstoreServiceError_ErrorCode int32 + +const ( + BlobstoreServiceError_OK BlobstoreServiceError_ErrorCode = 0 + BlobstoreServiceError_INTERNAL_ERROR BlobstoreServiceError_ErrorCode = 1 + BlobstoreServiceError_URL_TOO_LONG BlobstoreServiceError_ErrorCode = 2 + BlobstoreServiceError_PERMISSION_DENIED BlobstoreServiceError_ErrorCode = 3 + BlobstoreServiceError_BLOB_NOT_FOUND BlobstoreServiceError_ErrorCode = 4 + BlobstoreServiceError_DATA_INDEX_OUT_OF_RANGE BlobstoreServiceError_ErrorCode = 5 + BlobstoreServiceError_BLOB_FETCH_SIZE_TOO_LARGE BlobstoreServiceError_ErrorCode = 6 + BlobstoreServiceError_ARGUMENT_OUT_OF_RANGE BlobstoreServiceError_ErrorCode = 8 + BlobstoreServiceError_INVALID_BLOB_KEY BlobstoreServiceError_ErrorCode = 9 +) + +var BlobstoreServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INTERNAL_ERROR", + 2: "URL_TOO_LONG", + 3: "PERMISSION_DENIED", + 4: "BLOB_NOT_FOUND", + 5: "DATA_INDEX_OUT_OF_RANGE", + 6: "BLOB_FETCH_SIZE_TOO_LARGE", + 8: "ARGUMENT_OUT_OF_RANGE", + 9: "INVALID_BLOB_KEY", +} +var BlobstoreServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INTERNAL_ERROR": 1, + "URL_TOO_LONG": 2, + "PERMISSION_DENIED": 3, + "BLOB_NOT_FOUND": 4, + "DATA_INDEX_OUT_OF_RANGE": 5, + "BLOB_FETCH_SIZE_TOO_LARGE": 6, + "ARGUMENT_OUT_OF_RANGE": 8, + "INVALID_BLOB_KEY": 9, +} + +func (x BlobstoreServiceError_ErrorCode) Enum() *BlobstoreServiceError_ErrorCode { + p := new(BlobstoreServiceError_ErrorCode) + *p = x + return p +} +func (x BlobstoreServiceError_ErrorCode) String() string { + return proto.EnumName(BlobstoreServiceError_ErrorCode_name, int32(x)) +} +func (x *BlobstoreServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(BlobstoreServiceError_ErrorCode_value, data, "BlobstoreServiceError_ErrorCode") + if err != nil { + return err + } + *x = BlobstoreServiceError_ErrorCode(value) + return nil +} + +type BlobstoreServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *BlobstoreServiceError) Reset() { *m = BlobstoreServiceError{} } +func (m *BlobstoreServiceError) String() string { return proto.CompactTextString(m) } +func (*BlobstoreServiceError) ProtoMessage() {} + +type CreateUploadURLRequest struct { + SuccessPath *string `protobuf:"bytes,1,req,name=success_path" json:"success_path,omitempty"` + MaxUploadSizeBytes *int64 `protobuf:"varint,2,opt,name=max_upload_size_bytes" json:"max_upload_size_bytes,omitempty"` + MaxUploadSizePerBlobBytes *int64 `protobuf:"varint,3,opt,name=max_upload_size_per_blob_bytes" json:"max_upload_size_per_blob_bytes,omitempty"` + GsBucketName *string `protobuf:"bytes,4,opt,name=gs_bucket_name" json:"gs_bucket_name,omitempty"` + UrlExpiryTimeSeconds *int32 `protobuf:"varint,5,opt,name=url_expiry_time_seconds" json:"url_expiry_time_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateUploadURLRequest) Reset() { *m = CreateUploadURLRequest{} } +func (m *CreateUploadURLRequest) String() string { return proto.CompactTextString(m) } +func (*CreateUploadURLRequest) ProtoMessage() {} + +func (m *CreateUploadURLRequest) GetSuccessPath() string { + if m != nil && m.SuccessPath != nil { + return *m.SuccessPath + } + return "" +} + +func (m *CreateUploadURLRequest) GetMaxUploadSizeBytes() int64 { + if m != nil && m.MaxUploadSizeBytes != nil { + return *m.MaxUploadSizeBytes + } + return 0 +} + +func (m *CreateUploadURLRequest) GetMaxUploadSizePerBlobBytes() int64 { + if m != nil && m.MaxUploadSizePerBlobBytes != nil { + return *m.MaxUploadSizePerBlobBytes + } + return 0 +} + +func (m *CreateUploadURLRequest) GetGsBucketName() string { + if m != nil && m.GsBucketName != nil { + return *m.GsBucketName + } + return "" +} + +func (m *CreateUploadURLRequest) GetUrlExpiryTimeSeconds() int32 { + if m != nil && m.UrlExpiryTimeSeconds != nil { + return *m.UrlExpiryTimeSeconds + } + return 0 +} + +type CreateUploadURLResponse struct { + Url *string `protobuf:"bytes,1,req,name=url" json:"url,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateUploadURLResponse) Reset() { *m = CreateUploadURLResponse{} } +func (m *CreateUploadURLResponse) String() string { return proto.CompactTextString(m) } +func (*CreateUploadURLResponse) ProtoMessage() {} + +func (m *CreateUploadURLResponse) GetUrl() string { + if m != nil && m.Url != nil { + return *m.Url + } + return "" +} + +type DeleteBlobRequest struct { + BlobKey []string `protobuf:"bytes,1,rep,name=blob_key" json:"blob_key,omitempty"` + Token *string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteBlobRequest) Reset() { *m = DeleteBlobRequest{} } +func (m *DeleteBlobRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteBlobRequest) ProtoMessage() {} + +func (m *DeleteBlobRequest) GetBlobKey() []string { + if m != nil { + return m.BlobKey + } + return nil +} + +func (m *DeleteBlobRequest) GetToken() string { + if m != nil && m.Token != nil { + return *m.Token + } + return "" +} + +type FetchDataRequest struct { + BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` + StartIndex *int64 `protobuf:"varint,2,req,name=start_index" json:"start_index,omitempty"` + EndIndex *int64 `protobuf:"varint,3,req,name=end_index" json:"end_index,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FetchDataRequest) Reset() { *m = FetchDataRequest{} } +func (m *FetchDataRequest) String() string { return proto.CompactTextString(m) } +func (*FetchDataRequest) ProtoMessage() {} + +func (m *FetchDataRequest) GetBlobKey() string { + if m != nil && m.BlobKey != nil { + return *m.BlobKey + } + return "" +} + +func (m *FetchDataRequest) GetStartIndex() int64 { + if m != nil && m.StartIndex != nil { + return *m.StartIndex + } + return 0 +} + +func (m *FetchDataRequest) GetEndIndex() int64 { + if m != nil && m.EndIndex != nil { + return *m.EndIndex + } + return 0 +} + +type FetchDataResponse struct { + Data []byte `protobuf:"bytes,1000,req,name=data" json:"data,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FetchDataResponse) Reset() { *m = FetchDataResponse{} } +func (m *FetchDataResponse) String() string { return proto.CompactTextString(m) } +func (*FetchDataResponse) ProtoMessage() {} + +func (m *FetchDataResponse) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +type CloneBlobRequest struct { + BlobKey []byte `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` + MimeType []byte `protobuf:"bytes,2,req,name=mime_type" json:"mime_type,omitempty"` + TargetAppId []byte `protobuf:"bytes,3,req,name=target_app_id" json:"target_app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CloneBlobRequest) Reset() { *m = CloneBlobRequest{} } +func (m *CloneBlobRequest) String() string { return proto.CompactTextString(m) } +func (*CloneBlobRequest) ProtoMessage() {} + +func (m *CloneBlobRequest) GetBlobKey() []byte { + if m != nil { + return m.BlobKey + } + return nil +} + +func (m *CloneBlobRequest) GetMimeType() []byte { + if m != nil { + return m.MimeType + } + return nil +} + +func (m *CloneBlobRequest) GetTargetAppId() []byte { + if m != nil { + return m.TargetAppId + } + return nil +} + +type CloneBlobResponse struct { + BlobKey []byte `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CloneBlobResponse) Reset() { *m = CloneBlobResponse{} } +func (m *CloneBlobResponse) String() string { return proto.CompactTextString(m) } +func (*CloneBlobResponse) ProtoMessage() {} + +func (m *CloneBlobResponse) GetBlobKey() []byte { + if m != nil { + return m.BlobKey + } + return nil +} + +type DecodeBlobKeyRequest struct { + BlobKey []string `protobuf:"bytes,1,rep,name=blob_key" json:"blob_key,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DecodeBlobKeyRequest) Reset() { *m = DecodeBlobKeyRequest{} } +func (m *DecodeBlobKeyRequest) String() string { return proto.CompactTextString(m) } +func (*DecodeBlobKeyRequest) ProtoMessage() {} + +func (m *DecodeBlobKeyRequest) GetBlobKey() []string { + if m != nil { + return m.BlobKey + } + return nil +} + +type DecodeBlobKeyResponse struct { + Decoded []string `protobuf:"bytes,1,rep,name=decoded" json:"decoded,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DecodeBlobKeyResponse) Reset() { *m = DecodeBlobKeyResponse{} } +func (m *DecodeBlobKeyResponse) String() string { return proto.CompactTextString(m) } +func (*DecodeBlobKeyResponse) ProtoMessage() {} + +func (m *DecodeBlobKeyResponse) GetDecoded() []string { + if m != nil { + return m.Decoded + } + return nil +} + +type CreateEncodedGoogleStorageKeyRequest struct { + Filename *string `protobuf:"bytes,1,req,name=filename" json:"filename,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateEncodedGoogleStorageKeyRequest) Reset() { *m = CreateEncodedGoogleStorageKeyRequest{} } +func (m *CreateEncodedGoogleStorageKeyRequest) String() string { return proto.CompactTextString(m) } +func (*CreateEncodedGoogleStorageKeyRequest) ProtoMessage() {} + +func (m *CreateEncodedGoogleStorageKeyRequest) GetFilename() string { + if m != nil && m.Filename != nil { + return *m.Filename + } + return "" +} + +type CreateEncodedGoogleStorageKeyResponse struct { + BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateEncodedGoogleStorageKeyResponse) Reset() { *m = CreateEncodedGoogleStorageKeyResponse{} } +func (m *CreateEncodedGoogleStorageKeyResponse) String() string { return proto.CompactTextString(m) } +func (*CreateEncodedGoogleStorageKeyResponse) ProtoMessage() {} + +func (m *CreateEncodedGoogleStorageKeyResponse) GetBlobKey() string { + if m != nil && m.BlobKey != nil { + return *m.BlobKey + } + return "" +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto b/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto new file mode 100644 index 000000000..33b265032 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto @@ -0,0 +1,71 @@ +syntax = "proto2"; +option go_package = "blobstore"; + +package appengine; + +message BlobstoreServiceError { + enum ErrorCode { + OK = 0; + INTERNAL_ERROR = 1; + URL_TOO_LONG = 2; + PERMISSION_DENIED = 3; + BLOB_NOT_FOUND = 4; + DATA_INDEX_OUT_OF_RANGE = 5; + BLOB_FETCH_SIZE_TOO_LARGE = 6; + ARGUMENT_OUT_OF_RANGE = 8; + INVALID_BLOB_KEY = 9; + } +} + +message CreateUploadURLRequest { + required string success_path = 1; + optional int64 max_upload_size_bytes = 2; + optional int64 max_upload_size_per_blob_bytes = 3; + optional string gs_bucket_name = 4; + optional int32 url_expiry_time_seconds = 5; +} + +message CreateUploadURLResponse { + required string url = 1; +} + +message DeleteBlobRequest { + repeated string blob_key = 1; + optional string token = 2; +} + +message FetchDataRequest { + required string blob_key = 1; + required int64 start_index = 2; + required int64 end_index = 3; +} + +message FetchDataResponse { + required bytes data = 1000 [ctype = CORD]; +} + +message CloneBlobRequest { + required bytes blob_key = 1; + required bytes mime_type = 2; + required bytes target_app_id = 3; +} + +message CloneBlobResponse { + required bytes blob_key = 1; +} + +message DecodeBlobKeyRequest { + repeated string blob_key = 1; +} + +message DecodeBlobKeyResponse { + repeated string decoded = 1; +} + +message CreateEncodedGoogleStorageKeyRequest { + required string filename = 1; +} + +message CreateEncodedGoogleStorageKeyResponse { + required string blob_key = 1; +} diff --git a/vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go b/vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go new file mode 100644 index 000000000..e57a04be7 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go @@ -0,0 +1,125 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/capability/capability_service.proto +// DO NOT EDIT! + +/* +Package channel is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/capability/capability_service.proto + +It has these top-level messages: + IsEnabledRequest + IsEnabledResponse +*/ +package channel + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type IsEnabledResponse_SummaryStatus int32 + +const ( + IsEnabledResponse_DEFAULT IsEnabledResponse_SummaryStatus = 0 + IsEnabledResponse_ENABLED IsEnabledResponse_SummaryStatus = 1 + IsEnabledResponse_SCHEDULED_FUTURE IsEnabledResponse_SummaryStatus = 2 + IsEnabledResponse_SCHEDULED_NOW IsEnabledResponse_SummaryStatus = 3 + IsEnabledResponse_DISABLED IsEnabledResponse_SummaryStatus = 4 + IsEnabledResponse_UNKNOWN IsEnabledResponse_SummaryStatus = 5 +) + +var IsEnabledResponse_SummaryStatus_name = map[int32]string{ + 0: "DEFAULT", + 1: "ENABLED", + 2: "SCHEDULED_FUTURE", + 3: "SCHEDULED_NOW", + 4: "DISABLED", + 5: "UNKNOWN", +} +var IsEnabledResponse_SummaryStatus_value = map[string]int32{ + "DEFAULT": 0, + "ENABLED": 1, + "SCHEDULED_FUTURE": 2, + "SCHEDULED_NOW": 3, + "DISABLED": 4, + "UNKNOWN": 5, +} + +func (x IsEnabledResponse_SummaryStatus) Enum() *IsEnabledResponse_SummaryStatus { + p := new(IsEnabledResponse_SummaryStatus) + *p = x + return p +} +func (x IsEnabledResponse_SummaryStatus) String() string { + return proto.EnumName(IsEnabledResponse_SummaryStatus_name, int32(x)) +} +func (x *IsEnabledResponse_SummaryStatus) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(IsEnabledResponse_SummaryStatus_value, data, "IsEnabledResponse_SummaryStatus") + if err != nil { + return err + } + *x = IsEnabledResponse_SummaryStatus(value) + return nil +} + +type IsEnabledRequest struct { + Package *string `protobuf:"bytes,1,req,name=package" json:"package,omitempty"` + Capability []string `protobuf:"bytes,2,rep,name=capability" json:"capability,omitempty"` + Call []string `protobuf:"bytes,3,rep,name=call" json:"call,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IsEnabledRequest) Reset() { *m = IsEnabledRequest{} } +func (m *IsEnabledRequest) String() string { return proto.CompactTextString(m) } +func (*IsEnabledRequest) ProtoMessage() {} + +func (m *IsEnabledRequest) GetPackage() string { + if m != nil && m.Package != nil { + return *m.Package + } + return "" +} + +func (m *IsEnabledRequest) GetCapability() []string { + if m != nil { + return m.Capability + } + return nil +} + +func (m *IsEnabledRequest) GetCall() []string { + if m != nil { + return m.Call + } + return nil +} + +type IsEnabledResponse struct { + SummaryStatus *IsEnabledResponse_SummaryStatus `protobuf:"varint,1,opt,name=summary_status,enum=appengine.IsEnabledResponse_SummaryStatus" json:"summary_status,omitempty"` + TimeUntilScheduled *int64 `protobuf:"varint,2,opt,name=time_until_scheduled" json:"time_until_scheduled,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IsEnabledResponse) Reset() { *m = IsEnabledResponse{} } +func (m *IsEnabledResponse) String() string { return proto.CompactTextString(m) } +func (*IsEnabledResponse) ProtoMessage() {} + +func (m *IsEnabledResponse) GetSummaryStatus() IsEnabledResponse_SummaryStatus { + if m != nil && m.SummaryStatus != nil { + return *m.SummaryStatus + } + return IsEnabledResponse_DEFAULT +} + +func (m *IsEnabledResponse) GetTimeUntilScheduled() int64 { + if m != nil && m.TimeUntilScheduled != nil { + return *m.TimeUntilScheduled + } + return 0 +} diff --git a/vendor/google.golang.org/appengine/internal/capability/capability_service.proto b/vendor/google.golang.org/appengine/internal/capability/capability_service.proto new file mode 100644 index 000000000..8f7256d1c --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/capability/capability_service.proto @@ -0,0 +1,28 @@ +syntax = "proto2"; +option go_package = "channel"; + +package appengine; + +message IsEnabledRequest { + required string package = 1; + repeated string capability = 2; + repeated string call = 3; +} + +message IsEnabledResponse { + enum SummaryStatus { + DEFAULT = 0; + ENABLED = 1; + SCHEDULED_FUTURE = 2; + SCHEDULED_NOW = 3; + DISABLED = 4; + UNKNOWN = 5; + } + optional SummaryStatus summary_status = 1; + + optional int64 time_until_scheduled = 2; +} + +service CapabilityService { + rpc IsEnabled(IsEnabledRequest) returns (IsEnabledResponse) {}; +} diff --git a/vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go b/vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go new file mode 100644 index 000000000..7b8d00c98 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go @@ -0,0 +1,154 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/channel/channel_service.proto +// DO NOT EDIT! + +/* +Package channel is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/channel/channel_service.proto + +It has these top-level messages: + ChannelServiceError + CreateChannelRequest + CreateChannelResponse + SendMessageRequest +*/ +package channel + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type ChannelServiceError_ErrorCode int32 + +const ( + ChannelServiceError_OK ChannelServiceError_ErrorCode = 0 + ChannelServiceError_INTERNAL_ERROR ChannelServiceError_ErrorCode = 1 + ChannelServiceError_INVALID_CHANNEL_KEY ChannelServiceError_ErrorCode = 2 + ChannelServiceError_BAD_MESSAGE ChannelServiceError_ErrorCode = 3 + ChannelServiceError_INVALID_CHANNEL_TOKEN_DURATION ChannelServiceError_ErrorCode = 4 + ChannelServiceError_APPID_ALIAS_REQUIRED ChannelServiceError_ErrorCode = 5 +) + +var ChannelServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INTERNAL_ERROR", + 2: "INVALID_CHANNEL_KEY", + 3: "BAD_MESSAGE", + 4: "INVALID_CHANNEL_TOKEN_DURATION", + 5: "APPID_ALIAS_REQUIRED", +} +var ChannelServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INTERNAL_ERROR": 1, + "INVALID_CHANNEL_KEY": 2, + "BAD_MESSAGE": 3, + "INVALID_CHANNEL_TOKEN_DURATION": 4, + "APPID_ALIAS_REQUIRED": 5, +} + +func (x ChannelServiceError_ErrorCode) Enum() *ChannelServiceError_ErrorCode { + p := new(ChannelServiceError_ErrorCode) + *p = x + return p +} +func (x ChannelServiceError_ErrorCode) String() string { + return proto.EnumName(ChannelServiceError_ErrorCode_name, int32(x)) +} +func (x *ChannelServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ChannelServiceError_ErrorCode_value, data, "ChannelServiceError_ErrorCode") + if err != nil { + return err + } + *x = ChannelServiceError_ErrorCode(value) + return nil +} + +type ChannelServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *ChannelServiceError) Reset() { *m = ChannelServiceError{} } +func (m *ChannelServiceError) String() string { return proto.CompactTextString(m) } +func (*ChannelServiceError) ProtoMessage() {} + +type CreateChannelRequest struct { + ApplicationKey *string `protobuf:"bytes,1,req,name=application_key" json:"application_key,omitempty"` + DurationMinutes *int32 `protobuf:"varint,2,opt,name=duration_minutes" json:"duration_minutes,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateChannelRequest) Reset() { *m = CreateChannelRequest{} } +func (m *CreateChannelRequest) String() string { return proto.CompactTextString(m) } +func (*CreateChannelRequest) ProtoMessage() {} + +func (m *CreateChannelRequest) GetApplicationKey() string { + if m != nil && m.ApplicationKey != nil { + return *m.ApplicationKey + } + return "" +} + +func (m *CreateChannelRequest) GetDurationMinutes() int32 { + if m != nil && m.DurationMinutes != nil { + return *m.DurationMinutes + } + return 0 +} + +type CreateChannelResponse struct { + Token *string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` + DurationMinutes *int32 `protobuf:"varint,3,opt,name=duration_minutes" json:"duration_minutes,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateChannelResponse) Reset() { *m = CreateChannelResponse{} } +func (m *CreateChannelResponse) String() string { return proto.CompactTextString(m) } +func (*CreateChannelResponse) ProtoMessage() {} + +func (m *CreateChannelResponse) GetToken() string { + if m != nil && m.Token != nil { + return *m.Token + } + return "" +} + +func (m *CreateChannelResponse) GetDurationMinutes() int32 { + if m != nil && m.DurationMinutes != nil { + return *m.DurationMinutes + } + return 0 +} + +type SendMessageRequest struct { + ApplicationKey *string `protobuf:"bytes,1,req,name=application_key" json:"application_key,omitempty"` + Message *string `protobuf:"bytes,2,req,name=message" json:"message,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SendMessageRequest) Reset() { *m = SendMessageRequest{} } +func (m *SendMessageRequest) String() string { return proto.CompactTextString(m) } +func (*SendMessageRequest) ProtoMessage() {} + +func (m *SendMessageRequest) GetApplicationKey() string { + if m != nil && m.ApplicationKey != nil { + return *m.ApplicationKey + } + return "" +} + +func (m *SendMessageRequest) GetMessage() string { + if m != nil && m.Message != nil { + return *m.Message + } + return "" +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/channel/channel_service.proto b/vendor/google.golang.org/appengine/internal/channel/channel_service.proto new file mode 100644 index 000000000..2b5a918ca --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/channel/channel_service.proto @@ -0,0 +1,30 @@ +syntax = "proto2"; +option go_package = "channel"; + +package appengine; + +message ChannelServiceError { + enum ErrorCode { + OK = 0; + INTERNAL_ERROR = 1; + INVALID_CHANNEL_KEY = 2; + BAD_MESSAGE = 3; + INVALID_CHANNEL_TOKEN_DURATION = 4; + APPID_ALIAS_REQUIRED = 5; + } +} + +message CreateChannelRequest { + required string application_key = 1; + optional int32 duration_minutes = 2; +} + +message CreateChannelResponse { + optional string token = 2; + optional int32 duration_minutes = 3; +} + +message SendMessageRequest { + required string application_key = 1; + required string message = 2; +} diff --git a/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto b/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto old mode 100644 new mode 100755 diff --git a/vendor/google.golang.org/appengine/internal/image/images_service.pb.go b/vendor/google.golang.org/appengine/internal/image/images_service.pb.go new file mode 100644 index 000000000..ba7c72206 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/image/images_service.pb.go @@ -0,0 +1,845 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/image/images_service.proto +// DO NOT EDIT! + +/* +Package image is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/image/images_service.proto + +It has these top-level messages: + ImagesServiceError + ImagesServiceTransform + Transform + ImageData + InputSettings + OutputSettings + ImagesTransformRequest + ImagesTransformResponse + CompositeImageOptions + ImagesCanvas + ImagesCompositeRequest + ImagesCompositeResponse + ImagesHistogramRequest + ImagesHistogram + ImagesHistogramResponse + ImagesGetUrlBaseRequest + ImagesGetUrlBaseResponse + ImagesDeleteUrlBaseRequest + ImagesDeleteUrlBaseResponse +*/ +package image + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type ImagesServiceError_ErrorCode int32 + +const ( + ImagesServiceError_UNSPECIFIED_ERROR ImagesServiceError_ErrorCode = 1 + ImagesServiceError_BAD_TRANSFORM_DATA ImagesServiceError_ErrorCode = 2 + ImagesServiceError_NOT_IMAGE ImagesServiceError_ErrorCode = 3 + ImagesServiceError_BAD_IMAGE_DATA ImagesServiceError_ErrorCode = 4 + ImagesServiceError_IMAGE_TOO_LARGE ImagesServiceError_ErrorCode = 5 + ImagesServiceError_INVALID_BLOB_KEY ImagesServiceError_ErrorCode = 6 + ImagesServiceError_ACCESS_DENIED ImagesServiceError_ErrorCode = 7 + ImagesServiceError_OBJECT_NOT_FOUND ImagesServiceError_ErrorCode = 8 +) + +var ImagesServiceError_ErrorCode_name = map[int32]string{ + 1: "UNSPECIFIED_ERROR", + 2: "BAD_TRANSFORM_DATA", + 3: "NOT_IMAGE", + 4: "BAD_IMAGE_DATA", + 5: "IMAGE_TOO_LARGE", + 6: "INVALID_BLOB_KEY", + 7: "ACCESS_DENIED", + 8: "OBJECT_NOT_FOUND", +} +var ImagesServiceError_ErrorCode_value = map[string]int32{ + "UNSPECIFIED_ERROR": 1, + "BAD_TRANSFORM_DATA": 2, + "NOT_IMAGE": 3, + "BAD_IMAGE_DATA": 4, + "IMAGE_TOO_LARGE": 5, + "INVALID_BLOB_KEY": 6, + "ACCESS_DENIED": 7, + "OBJECT_NOT_FOUND": 8, +} + +func (x ImagesServiceError_ErrorCode) Enum() *ImagesServiceError_ErrorCode { + p := new(ImagesServiceError_ErrorCode) + *p = x + return p +} +func (x ImagesServiceError_ErrorCode) String() string { + return proto.EnumName(ImagesServiceError_ErrorCode_name, int32(x)) +} +func (x *ImagesServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ImagesServiceError_ErrorCode_value, data, "ImagesServiceError_ErrorCode") + if err != nil { + return err + } + *x = ImagesServiceError_ErrorCode(value) + return nil +} + +type ImagesServiceTransform_Type int32 + +const ( + ImagesServiceTransform_RESIZE ImagesServiceTransform_Type = 1 + ImagesServiceTransform_ROTATE ImagesServiceTransform_Type = 2 + ImagesServiceTransform_HORIZONTAL_FLIP ImagesServiceTransform_Type = 3 + ImagesServiceTransform_VERTICAL_FLIP ImagesServiceTransform_Type = 4 + ImagesServiceTransform_CROP ImagesServiceTransform_Type = 5 + ImagesServiceTransform_IM_FEELING_LUCKY ImagesServiceTransform_Type = 6 +) + +var ImagesServiceTransform_Type_name = map[int32]string{ + 1: "RESIZE", + 2: "ROTATE", + 3: "HORIZONTAL_FLIP", + 4: "VERTICAL_FLIP", + 5: "CROP", + 6: "IM_FEELING_LUCKY", +} +var ImagesServiceTransform_Type_value = map[string]int32{ + "RESIZE": 1, + "ROTATE": 2, + "HORIZONTAL_FLIP": 3, + "VERTICAL_FLIP": 4, + "CROP": 5, + "IM_FEELING_LUCKY": 6, +} + +func (x ImagesServiceTransform_Type) Enum() *ImagesServiceTransform_Type { + p := new(ImagesServiceTransform_Type) + *p = x + return p +} +func (x ImagesServiceTransform_Type) String() string { + return proto.EnumName(ImagesServiceTransform_Type_name, int32(x)) +} +func (x *ImagesServiceTransform_Type) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ImagesServiceTransform_Type_value, data, "ImagesServiceTransform_Type") + if err != nil { + return err + } + *x = ImagesServiceTransform_Type(value) + return nil +} + +type InputSettings_ORIENTATION_CORRECTION_TYPE int32 + +const ( + InputSettings_UNCHANGED_ORIENTATION InputSettings_ORIENTATION_CORRECTION_TYPE = 0 + InputSettings_CORRECT_ORIENTATION InputSettings_ORIENTATION_CORRECTION_TYPE = 1 +) + +var InputSettings_ORIENTATION_CORRECTION_TYPE_name = map[int32]string{ + 0: "UNCHANGED_ORIENTATION", + 1: "CORRECT_ORIENTATION", +} +var InputSettings_ORIENTATION_CORRECTION_TYPE_value = map[string]int32{ + "UNCHANGED_ORIENTATION": 0, + "CORRECT_ORIENTATION": 1, +} + +func (x InputSettings_ORIENTATION_CORRECTION_TYPE) Enum() *InputSettings_ORIENTATION_CORRECTION_TYPE { + p := new(InputSettings_ORIENTATION_CORRECTION_TYPE) + *p = x + return p +} +func (x InputSettings_ORIENTATION_CORRECTION_TYPE) String() string { + return proto.EnumName(InputSettings_ORIENTATION_CORRECTION_TYPE_name, int32(x)) +} +func (x *InputSettings_ORIENTATION_CORRECTION_TYPE) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(InputSettings_ORIENTATION_CORRECTION_TYPE_value, data, "InputSettings_ORIENTATION_CORRECTION_TYPE") + if err != nil { + return err + } + *x = InputSettings_ORIENTATION_CORRECTION_TYPE(value) + return nil +} + +type OutputSettings_MIME_TYPE int32 + +const ( + OutputSettings_PNG OutputSettings_MIME_TYPE = 0 + OutputSettings_JPEG OutputSettings_MIME_TYPE = 1 + OutputSettings_WEBP OutputSettings_MIME_TYPE = 2 +) + +var OutputSettings_MIME_TYPE_name = map[int32]string{ + 0: "PNG", + 1: "JPEG", + 2: "WEBP", +} +var OutputSettings_MIME_TYPE_value = map[string]int32{ + "PNG": 0, + "JPEG": 1, + "WEBP": 2, +} + +func (x OutputSettings_MIME_TYPE) Enum() *OutputSettings_MIME_TYPE { + p := new(OutputSettings_MIME_TYPE) + *p = x + return p +} +func (x OutputSettings_MIME_TYPE) String() string { + return proto.EnumName(OutputSettings_MIME_TYPE_name, int32(x)) +} +func (x *OutputSettings_MIME_TYPE) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(OutputSettings_MIME_TYPE_value, data, "OutputSettings_MIME_TYPE") + if err != nil { + return err + } + *x = OutputSettings_MIME_TYPE(value) + return nil +} + +type CompositeImageOptions_ANCHOR int32 + +const ( + CompositeImageOptions_TOP_LEFT CompositeImageOptions_ANCHOR = 0 + CompositeImageOptions_TOP CompositeImageOptions_ANCHOR = 1 + CompositeImageOptions_TOP_RIGHT CompositeImageOptions_ANCHOR = 2 + CompositeImageOptions_LEFT CompositeImageOptions_ANCHOR = 3 + CompositeImageOptions_CENTER CompositeImageOptions_ANCHOR = 4 + CompositeImageOptions_RIGHT CompositeImageOptions_ANCHOR = 5 + CompositeImageOptions_BOTTOM_LEFT CompositeImageOptions_ANCHOR = 6 + CompositeImageOptions_BOTTOM CompositeImageOptions_ANCHOR = 7 + CompositeImageOptions_BOTTOM_RIGHT CompositeImageOptions_ANCHOR = 8 +) + +var CompositeImageOptions_ANCHOR_name = map[int32]string{ + 0: "TOP_LEFT", + 1: "TOP", + 2: "TOP_RIGHT", + 3: "LEFT", + 4: "CENTER", + 5: "RIGHT", + 6: "BOTTOM_LEFT", + 7: "BOTTOM", + 8: "BOTTOM_RIGHT", +} +var CompositeImageOptions_ANCHOR_value = map[string]int32{ + "TOP_LEFT": 0, + "TOP": 1, + "TOP_RIGHT": 2, + "LEFT": 3, + "CENTER": 4, + "RIGHT": 5, + "BOTTOM_LEFT": 6, + "BOTTOM": 7, + "BOTTOM_RIGHT": 8, +} + +func (x CompositeImageOptions_ANCHOR) Enum() *CompositeImageOptions_ANCHOR { + p := new(CompositeImageOptions_ANCHOR) + *p = x + return p +} +func (x CompositeImageOptions_ANCHOR) String() string { + return proto.EnumName(CompositeImageOptions_ANCHOR_name, int32(x)) +} +func (x *CompositeImageOptions_ANCHOR) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(CompositeImageOptions_ANCHOR_value, data, "CompositeImageOptions_ANCHOR") + if err != nil { + return err + } + *x = CompositeImageOptions_ANCHOR(value) + return nil +} + +type ImagesServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesServiceError) Reset() { *m = ImagesServiceError{} } +func (m *ImagesServiceError) String() string { return proto.CompactTextString(m) } +func (*ImagesServiceError) ProtoMessage() {} + +type ImagesServiceTransform struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesServiceTransform) Reset() { *m = ImagesServiceTransform{} } +func (m *ImagesServiceTransform) String() string { return proto.CompactTextString(m) } +func (*ImagesServiceTransform) ProtoMessage() {} + +type Transform struct { + Width *int32 `protobuf:"varint,1,opt,name=width" json:"width,omitempty"` + Height *int32 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"` + CropToFit *bool `protobuf:"varint,11,opt,name=crop_to_fit,def=0" json:"crop_to_fit,omitempty"` + CropOffsetX *float32 `protobuf:"fixed32,12,opt,name=crop_offset_x,def=0.5" json:"crop_offset_x,omitempty"` + CropOffsetY *float32 `protobuf:"fixed32,13,opt,name=crop_offset_y,def=0.5" json:"crop_offset_y,omitempty"` + Rotate *int32 `protobuf:"varint,3,opt,name=rotate,def=0" json:"rotate,omitempty"` + HorizontalFlip *bool `protobuf:"varint,4,opt,name=horizontal_flip,def=0" json:"horizontal_flip,omitempty"` + VerticalFlip *bool `protobuf:"varint,5,opt,name=vertical_flip,def=0" json:"vertical_flip,omitempty"` + CropLeftX *float32 `protobuf:"fixed32,6,opt,name=crop_left_x,def=0" json:"crop_left_x,omitempty"` + CropTopY *float32 `protobuf:"fixed32,7,opt,name=crop_top_y,def=0" json:"crop_top_y,omitempty"` + CropRightX *float32 `protobuf:"fixed32,8,opt,name=crop_right_x,def=1" json:"crop_right_x,omitempty"` + CropBottomY *float32 `protobuf:"fixed32,9,opt,name=crop_bottom_y,def=1" json:"crop_bottom_y,omitempty"` + Autolevels *bool `protobuf:"varint,10,opt,name=autolevels,def=0" json:"autolevels,omitempty"` + AllowStretch *bool `protobuf:"varint,14,opt,name=allow_stretch,def=0" json:"allow_stretch,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *Transform) Reset() { *m = Transform{} } +func (m *Transform) String() string { return proto.CompactTextString(m) } +func (*Transform) ProtoMessage() {} + +const Default_Transform_CropToFit bool = false +const Default_Transform_CropOffsetX float32 = 0.5 +const Default_Transform_CropOffsetY float32 = 0.5 +const Default_Transform_Rotate int32 = 0 +const Default_Transform_HorizontalFlip bool = false +const Default_Transform_VerticalFlip bool = false +const Default_Transform_CropLeftX float32 = 0 +const Default_Transform_CropTopY float32 = 0 +const Default_Transform_CropRightX float32 = 1 +const Default_Transform_CropBottomY float32 = 1 +const Default_Transform_Autolevels bool = false +const Default_Transform_AllowStretch bool = false + +func (m *Transform) GetWidth() int32 { + if m != nil && m.Width != nil { + return *m.Width + } + return 0 +} + +func (m *Transform) GetHeight() int32 { + if m != nil && m.Height != nil { + return *m.Height + } + return 0 +} + +func (m *Transform) GetCropToFit() bool { + if m != nil && m.CropToFit != nil { + return *m.CropToFit + } + return Default_Transform_CropToFit +} + +func (m *Transform) GetCropOffsetX() float32 { + if m != nil && m.CropOffsetX != nil { + return *m.CropOffsetX + } + return Default_Transform_CropOffsetX +} + +func (m *Transform) GetCropOffsetY() float32 { + if m != nil && m.CropOffsetY != nil { + return *m.CropOffsetY + } + return Default_Transform_CropOffsetY +} + +func (m *Transform) GetRotate() int32 { + if m != nil && m.Rotate != nil { + return *m.Rotate + } + return Default_Transform_Rotate +} + +func (m *Transform) GetHorizontalFlip() bool { + if m != nil && m.HorizontalFlip != nil { + return *m.HorizontalFlip + } + return Default_Transform_HorizontalFlip +} + +func (m *Transform) GetVerticalFlip() bool { + if m != nil && m.VerticalFlip != nil { + return *m.VerticalFlip + } + return Default_Transform_VerticalFlip +} + +func (m *Transform) GetCropLeftX() float32 { + if m != nil && m.CropLeftX != nil { + return *m.CropLeftX + } + return Default_Transform_CropLeftX +} + +func (m *Transform) GetCropTopY() float32 { + if m != nil && m.CropTopY != nil { + return *m.CropTopY + } + return Default_Transform_CropTopY +} + +func (m *Transform) GetCropRightX() float32 { + if m != nil && m.CropRightX != nil { + return *m.CropRightX + } + return Default_Transform_CropRightX +} + +func (m *Transform) GetCropBottomY() float32 { + if m != nil && m.CropBottomY != nil { + return *m.CropBottomY + } + return Default_Transform_CropBottomY +} + +func (m *Transform) GetAutolevels() bool { + if m != nil && m.Autolevels != nil { + return *m.Autolevels + } + return Default_Transform_Autolevels +} + +func (m *Transform) GetAllowStretch() bool { + if m != nil && m.AllowStretch != nil { + return *m.AllowStretch + } + return Default_Transform_AllowStretch +} + +type ImageData struct { + Content []byte `protobuf:"bytes,1,req,name=content" json:"content,omitempty"` + BlobKey *string `protobuf:"bytes,2,opt,name=blob_key" json:"blob_key,omitempty"` + Width *int32 `protobuf:"varint,3,opt,name=width" json:"width,omitempty"` + Height *int32 `protobuf:"varint,4,opt,name=height" json:"height,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImageData) Reset() { *m = ImageData{} } +func (m *ImageData) String() string { return proto.CompactTextString(m) } +func (*ImageData) ProtoMessage() {} + +func (m *ImageData) GetContent() []byte { + if m != nil { + return m.Content + } + return nil +} + +func (m *ImageData) GetBlobKey() string { + if m != nil && m.BlobKey != nil { + return *m.BlobKey + } + return "" +} + +func (m *ImageData) GetWidth() int32 { + if m != nil && m.Width != nil { + return *m.Width + } + return 0 +} + +func (m *ImageData) GetHeight() int32 { + if m != nil && m.Height != nil { + return *m.Height + } + return 0 +} + +type InputSettings struct { + CorrectExifOrientation *InputSettings_ORIENTATION_CORRECTION_TYPE `protobuf:"varint,1,opt,name=correct_exif_orientation,enum=appengine.InputSettings_ORIENTATION_CORRECTION_TYPE,def=0" json:"correct_exif_orientation,omitempty"` + ParseMetadata *bool `protobuf:"varint,2,opt,name=parse_metadata,def=0" json:"parse_metadata,omitempty"` + TransparentSubstitutionRgb *int32 `protobuf:"varint,3,opt,name=transparent_substitution_rgb" json:"transparent_substitution_rgb,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *InputSettings) Reset() { *m = InputSettings{} } +func (m *InputSettings) String() string { return proto.CompactTextString(m) } +func (*InputSettings) ProtoMessage() {} + +const Default_InputSettings_CorrectExifOrientation InputSettings_ORIENTATION_CORRECTION_TYPE = InputSettings_UNCHANGED_ORIENTATION +const Default_InputSettings_ParseMetadata bool = false + +func (m *InputSettings) GetCorrectExifOrientation() InputSettings_ORIENTATION_CORRECTION_TYPE { + if m != nil && m.CorrectExifOrientation != nil { + return *m.CorrectExifOrientation + } + return Default_InputSettings_CorrectExifOrientation +} + +func (m *InputSettings) GetParseMetadata() bool { + if m != nil && m.ParseMetadata != nil { + return *m.ParseMetadata + } + return Default_InputSettings_ParseMetadata +} + +func (m *InputSettings) GetTransparentSubstitutionRgb() int32 { + if m != nil && m.TransparentSubstitutionRgb != nil { + return *m.TransparentSubstitutionRgb + } + return 0 +} + +type OutputSettings struct { + MimeType *OutputSettings_MIME_TYPE `protobuf:"varint,1,opt,name=mime_type,enum=appengine.OutputSettings_MIME_TYPE,def=0" json:"mime_type,omitempty"` + Quality *int32 `protobuf:"varint,2,opt,name=quality" json:"quality,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *OutputSettings) Reset() { *m = OutputSettings{} } +func (m *OutputSettings) String() string { return proto.CompactTextString(m) } +func (*OutputSettings) ProtoMessage() {} + +const Default_OutputSettings_MimeType OutputSettings_MIME_TYPE = OutputSettings_PNG + +func (m *OutputSettings) GetMimeType() OutputSettings_MIME_TYPE { + if m != nil && m.MimeType != nil { + return *m.MimeType + } + return Default_OutputSettings_MimeType +} + +func (m *OutputSettings) GetQuality() int32 { + if m != nil && m.Quality != nil { + return *m.Quality + } + return 0 +} + +type ImagesTransformRequest struct { + Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` + Transform []*Transform `protobuf:"bytes,2,rep,name=transform" json:"transform,omitempty"` + Output *OutputSettings `protobuf:"bytes,3,req,name=output" json:"output,omitempty"` + Input *InputSettings `protobuf:"bytes,4,opt,name=input" json:"input,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesTransformRequest) Reset() { *m = ImagesTransformRequest{} } +func (m *ImagesTransformRequest) String() string { return proto.CompactTextString(m) } +func (*ImagesTransformRequest) ProtoMessage() {} + +func (m *ImagesTransformRequest) GetImage() *ImageData { + if m != nil { + return m.Image + } + return nil +} + +func (m *ImagesTransformRequest) GetTransform() []*Transform { + if m != nil { + return m.Transform + } + return nil +} + +func (m *ImagesTransformRequest) GetOutput() *OutputSettings { + if m != nil { + return m.Output + } + return nil +} + +func (m *ImagesTransformRequest) GetInput() *InputSettings { + if m != nil { + return m.Input + } + return nil +} + +type ImagesTransformResponse struct { + Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` + SourceMetadata *string `protobuf:"bytes,2,opt,name=source_metadata" json:"source_metadata,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesTransformResponse) Reset() { *m = ImagesTransformResponse{} } +func (m *ImagesTransformResponse) String() string { return proto.CompactTextString(m) } +func (*ImagesTransformResponse) ProtoMessage() {} + +func (m *ImagesTransformResponse) GetImage() *ImageData { + if m != nil { + return m.Image + } + return nil +} + +func (m *ImagesTransformResponse) GetSourceMetadata() string { + if m != nil && m.SourceMetadata != nil { + return *m.SourceMetadata + } + return "" +} + +type CompositeImageOptions struct { + SourceIndex *int32 `protobuf:"varint,1,req,name=source_index" json:"source_index,omitempty"` + XOffset *int32 `protobuf:"varint,2,req,name=x_offset" json:"x_offset,omitempty"` + YOffset *int32 `protobuf:"varint,3,req,name=y_offset" json:"y_offset,omitempty"` + Opacity *float32 `protobuf:"fixed32,4,req,name=opacity" json:"opacity,omitempty"` + Anchor *CompositeImageOptions_ANCHOR `protobuf:"varint,5,req,name=anchor,enum=appengine.CompositeImageOptions_ANCHOR" json:"anchor,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CompositeImageOptions) Reset() { *m = CompositeImageOptions{} } +func (m *CompositeImageOptions) String() string { return proto.CompactTextString(m) } +func (*CompositeImageOptions) ProtoMessage() {} + +func (m *CompositeImageOptions) GetSourceIndex() int32 { + if m != nil && m.SourceIndex != nil { + return *m.SourceIndex + } + return 0 +} + +func (m *CompositeImageOptions) GetXOffset() int32 { + if m != nil && m.XOffset != nil { + return *m.XOffset + } + return 0 +} + +func (m *CompositeImageOptions) GetYOffset() int32 { + if m != nil && m.YOffset != nil { + return *m.YOffset + } + return 0 +} + +func (m *CompositeImageOptions) GetOpacity() float32 { + if m != nil && m.Opacity != nil { + return *m.Opacity + } + return 0 +} + +func (m *CompositeImageOptions) GetAnchor() CompositeImageOptions_ANCHOR { + if m != nil && m.Anchor != nil { + return *m.Anchor + } + return CompositeImageOptions_TOP_LEFT +} + +type ImagesCanvas struct { + Width *int32 `protobuf:"varint,1,req,name=width" json:"width,omitempty"` + Height *int32 `protobuf:"varint,2,req,name=height" json:"height,omitempty"` + Output *OutputSettings `protobuf:"bytes,3,req,name=output" json:"output,omitempty"` + Color *int32 `protobuf:"varint,4,opt,name=color,def=-1" json:"color,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesCanvas) Reset() { *m = ImagesCanvas{} } +func (m *ImagesCanvas) String() string { return proto.CompactTextString(m) } +func (*ImagesCanvas) ProtoMessage() {} + +const Default_ImagesCanvas_Color int32 = -1 + +func (m *ImagesCanvas) GetWidth() int32 { + if m != nil && m.Width != nil { + return *m.Width + } + return 0 +} + +func (m *ImagesCanvas) GetHeight() int32 { + if m != nil && m.Height != nil { + return *m.Height + } + return 0 +} + +func (m *ImagesCanvas) GetOutput() *OutputSettings { + if m != nil { + return m.Output + } + return nil +} + +func (m *ImagesCanvas) GetColor() int32 { + if m != nil && m.Color != nil { + return *m.Color + } + return Default_ImagesCanvas_Color +} + +type ImagesCompositeRequest struct { + Image []*ImageData `protobuf:"bytes,1,rep,name=image" json:"image,omitempty"` + Options []*CompositeImageOptions `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` + Canvas *ImagesCanvas `protobuf:"bytes,3,req,name=canvas" json:"canvas,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesCompositeRequest) Reset() { *m = ImagesCompositeRequest{} } +func (m *ImagesCompositeRequest) String() string { return proto.CompactTextString(m) } +func (*ImagesCompositeRequest) ProtoMessage() {} + +func (m *ImagesCompositeRequest) GetImage() []*ImageData { + if m != nil { + return m.Image + } + return nil +} + +func (m *ImagesCompositeRequest) GetOptions() []*CompositeImageOptions { + if m != nil { + return m.Options + } + return nil +} + +func (m *ImagesCompositeRequest) GetCanvas() *ImagesCanvas { + if m != nil { + return m.Canvas + } + return nil +} + +type ImagesCompositeResponse struct { + Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesCompositeResponse) Reset() { *m = ImagesCompositeResponse{} } +func (m *ImagesCompositeResponse) String() string { return proto.CompactTextString(m) } +func (*ImagesCompositeResponse) ProtoMessage() {} + +func (m *ImagesCompositeResponse) GetImage() *ImageData { + if m != nil { + return m.Image + } + return nil +} + +type ImagesHistogramRequest struct { + Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesHistogramRequest) Reset() { *m = ImagesHistogramRequest{} } +func (m *ImagesHistogramRequest) String() string { return proto.CompactTextString(m) } +func (*ImagesHistogramRequest) ProtoMessage() {} + +func (m *ImagesHistogramRequest) GetImage() *ImageData { + if m != nil { + return m.Image + } + return nil +} + +type ImagesHistogram struct { + Red []int32 `protobuf:"varint,1,rep,name=red" json:"red,omitempty"` + Green []int32 `protobuf:"varint,2,rep,name=green" json:"green,omitempty"` + Blue []int32 `protobuf:"varint,3,rep,name=blue" json:"blue,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesHistogram) Reset() { *m = ImagesHistogram{} } +func (m *ImagesHistogram) String() string { return proto.CompactTextString(m) } +func (*ImagesHistogram) ProtoMessage() {} + +func (m *ImagesHistogram) GetRed() []int32 { + if m != nil { + return m.Red + } + return nil +} + +func (m *ImagesHistogram) GetGreen() []int32 { + if m != nil { + return m.Green + } + return nil +} + +func (m *ImagesHistogram) GetBlue() []int32 { + if m != nil { + return m.Blue + } + return nil +} + +type ImagesHistogramResponse struct { + Histogram *ImagesHistogram `protobuf:"bytes,1,req,name=histogram" json:"histogram,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesHistogramResponse) Reset() { *m = ImagesHistogramResponse{} } +func (m *ImagesHistogramResponse) String() string { return proto.CompactTextString(m) } +func (*ImagesHistogramResponse) ProtoMessage() {} + +func (m *ImagesHistogramResponse) GetHistogram() *ImagesHistogram { + if m != nil { + return m.Histogram + } + return nil +} + +type ImagesGetUrlBaseRequest struct { + BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` + CreateSecureUrl *bool `protobuf:"varint,2,opt,name=create_secure_url,def=0" json:"create_secure_url,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesGetUrlBaseRequest) Reset() { *m = ImagesGetUrlBaseRequest{} } +func (m *ImagesGetUrlBaseRequest) String() string { return proto.CompactTextString(m) } +func (*ImagesGetUrlBaseRequest) ProtoMessage() {} + +const Default_ImagesGetUrlBaseRequest_CreateSecureUrl bool = false + +func (m *ImagesGetUrlBaseRequest) GetBlobKey() string { + if m != nil && m.BlobKey != nil { + return *m.BlobKey + } + return "" +} + +func (m *ImagesGetUrlBaseRequest) GetCreateSecureUrl() bool { + if m != nil && m.CreateSecureUrl != nil { + return *m.CreateSecureUrl + } + return Default_ImagesGetUrlBaseRequest_CreateSecureUrl +} + +type ImagesGetUrlBaseResponse struct { + Url *string `protobuf:"bytes,1,req,name=url" json:"url,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesGetUrlBaseResponse) Reset() { *m = ImagesGetUrlBaseResponse{} } +func (m *ImagesGetUrlBaseResponse) String() string { return proto.CompactTextString(m) } +func (*ImagesGetUrlBaseResponse) ProtoMessage() {} + +func (m *ImagesGetUrlBaseResponse) GetUrl() string { + if m != nil && m.Url != nil { + return *m.Url + } + return "" +} + +type ImagesDeleteUrlBaseRequest struct { + BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesDeleteUrlBaseRequest) Reset() { *m = ImagesDeleteUrlBaseRequest{} } +func (m *ImagesDeleteUrlBaseRequest) String() string { return proto.CompactTextString(m) } +func (*ImagesDeleteUrlBaseRequest) ProtoMessage() {} + +func (m *ImagesDeleteUrlBaseRequest) GetBlobKey() string { + if m != nil && m.BlobKey != nil { + return *m.BlobKey + } + return "" +} + +type ImagesDeleteUrlBaseResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *ImagesDeleteUrlBaseResponse) Reset() { *m = ImagesDeleteUrlBaseResponse{} } +func (m *ImagesDeleteUrlBaseResponse) String() string { return proto.CompactTextString(m) } +func (*ImagesDeleteUrlBaseResponse) ProtoMessage() {} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/image/images_service.proto b/vendor/google.golang.org/appengine/internal/image/images_service.proto new file mode 100644 index 000000000..f0d2ed5d3 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/image/images_service.proto @@ -0,0 +1,162 @@ +syntax = "proto2"; +option go_package = "image"; + +package appengine; + +message ImagesServiceError { + enum ErrorCode { + UNSPECIFIED_ERROR = 1; + BAD_TRANSFORM_DATA = 2; + NOT_IMAGE = 3; + BAD_IMAGE_DATA = 4; + IMAGE_TOO_LARGE = 5; + INVALID_BLOB_KEY = 6; + ACCESS_DENIED = 7; + OBJECT_NOT_FOUND = 8; + } +} + +message ImagesServiceTransform { + enum Type { + RESIZE = 1; + ROTATE = 2; + HORIZONTAL_FLIP = 3; + VERTICAL_FLIP = 4; + CROP = 5; + IM_FEELING_LUCKY = 6; + } +} + +message Transform { + optional int32 width = 1; + optional int32 height = 2; + optional bool crop_to_fit = 11 [default = false]; + optional float crop_offset_x = 12 [default = 0.5]; + optional float crop_offset_y = 13 [default = 0.5]; + + optional int32 rotate = 3 [default = 0]; + + optional bool horizontal_flip = 4 [default = false]; + + optional bool vertical_flip = 5 [default = false]; + + optional float crop_left_x = 6 [default = 0.0]; + optional float crop_top_y = 7 [default = 0.0]; + optional float crop_right_x = 8 [default = 1.0]; + optional float crop_bottom_y = 9 [default = 1.0]; + + optional bool autolevels = 10 [default = false]; + + optional bool allow_stretch = 14 [default = false]; +} + +message ImageData { + required bytes content = 1 [ctype=CORD]; + optional string blob_key = 2; + + optional int32 width = 3; + optional int32 height = 4; +} + +message InputSettings { + enum ORIENTATION_CORRECTION_TYPE { + UNCHANGED_ORIENTATION = 0; + CORRECT_ORIENTATION = 1; + } + optional ORIENTATION_CORRECTION_TYPE correct_exif_orientation = 1 + [default=UNCHANGED_ORIENTATION]; + optional bool parse_metadata = 2 [default=false]; + optional int32 transparent_substitution_rgb = 3; +} + +message OutputSettings { + enum MIME_TYPE { + PNG = 0; + JPEG = 1; + WEBP = 2; + } + + optional MIME_TYPE mime_type = 1 [default=PNG]; + optional int32 quality = 2; +} + +message ImagesTransformRequest { + required ImageData image = 1; + repeated Transform transform = 2; + required OutputSettings output = 3; + optional InputSettings input = 4; +} + +message ImagesTransformResponse { + required ImageData image = 1; + optional string source_metadata = 2; +} + +message CompositeImageOptions { + required int32 source_index = 1; + required int32 x_offset = 2; + required int32 y_offset = 3; + required float opacity = 4; + + enum ANCHOR { + TOP_LEFT = 0; + TOP = 1; + TOP_RIGHT = 2; + LEFT = 3; + CENTER = 4; + RIGHT = 5; + BOTTOM_LEFT = 6; + BOTTOM = 7; + BOTTOM_RIGHT = 8; + } + + required ANCHOR anchor = 5; +} + +message ImagesCanvas { + required int32 width = 1; + required int32 height = 2; + required OutputSettings output = 3; + optional int32 color = 4 [default=-1]; +} + +message ImagesCompositeRequest { + repeated ImageData image = 1; + repeated CompositeImageOptions options = 2; + required ImagesCanvas canvas = 3; +} + +message ImagesCompositeResponse { + required ImageData image = 1; +} + +message ImagesHistogramRequest { + required ImageData image = 1; +} + +message ImagesHistogram { + repeated int32 red = 1; + repeated int32 green = 2; + repeated int32 blue = 3; +} + +message ImagesHistogramResponse { + required ImagesHistogram histogram = 1; +} + +message ImagesGetUrlBaseRequest { + required string blob_key = 1; + + optional bool create_secure_url = 2 [default = false]; +} + +message ImagesGetUrlBaseResponse { + required string url = 1; +} + +message ImagesDeleteUrlBaseRequest { + required string blob_key = 1; +} + +message ImagesDeleteUrlBaseResponse { +} diff --git a/vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go b/vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go new file mode 100644 index 000000000..b8d5f0301 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go @@ -0,0 +1,229 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/mail/mail_service.proto +// DO NOT EDIT! + +/* +Package mail is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/mail/mail_service.proto + +It has these top-level messages: + MailServiceError + MailAttachment + MailHeader + MailMessage +*/ +package mail + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type MailServiceError_ErrorCode int32 + +const ( + MailServiceError_OK MailServiceError_ErrorCode = 0 + MailServiceError_INTERNAL_ERROR MailServiceError_ErrorCode = 1 + MailServiceError_BAD_REQUEST MailServiceError_ErrorCode = 2 + MailServiceError_UNAUTHORIZED_SENDER MailServiceError_ErrorCode = 3 + MailServiceError_INVALID_ATTACHMENT_TYPE MailServiceError_ErrorCode = 4 + MailServiceError_INVALID_HEADER_NAME MailServiceError_ErrorCode = 5 + MailServiceError_INVALID_CONTENT_ID MailServiceError_ErrorCode = 6 +) + +var MailServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INTERNAL_ERROR", + 2: "BAD_REQUEST", + 3: "UNAUTHORIZED_SENDER", + 4: "INVALID_ATTACHMENT_TYPE", + 5: "INVALID_HEADER_NAME", + 6: "INVALID_CONTENT_ID", +} +var MailServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INTERNAL_ERROR": 1, + "BAD_REQUEST": 2, + "UNAUTHORIZED_SENDER": 3, + "INVALID_ATTACHMENT_TYPE": 4, + "INVALID_HEADER_NAME": 5, + "INVALID_CONTENT_ID": 6, +} + +func (x MailServiceError_ErrorCode) Enum() *MailServiceError_ErrorCode { + p := new(MailServiceError_ErrorCode) + *p = x + return p +} +func (x MailServiceError_ErrorCode) String() string { + return proto.EnumName(MailServiceError_ErrorCode_name, int32(x)) +} +func (x *MailServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MailServiceError_ErrorCode_value, data, "MailServiceError_ErrorCode") + if err != nil { + return err + } + *x = MailServiceError_ErrorCode(value) + return nil +} + +type MailServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *MailServiceError) Reset() { *m = MailServiceError{} } +func (m *MailServiceError) String() string { return proto.CompactTextString(m) } +func (*MailServiceError) ProtoMessage() {} + +type MailAttachment struct { + FileName *string `protobuf:"bytes,1,req,name=FileName" json:"FileName,omitempty"` + Data []byte `protobuf:"bytes,2,req,name=Data" json:"Data,omitempty"` + ContentID *string `protobuf:"bytes,3,opt,name=ContentID" json:"ContentID,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MailAttachment) Reset() { *m = MailAttachment{} } +func (m *MailAttachment) String() string { return proto.CompactTextString(m) } +func (*MailAttachment) ProtoMessage() {} + +func (m *MailAttachment) GetFileName() string { + if m != nil && m.FileName != nil { + return *m.FileName + } + return "" +} + +func (m *MailAttachment) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func (m *MailAttachment) GetContentID() string { + if m != nil && m.ContentID != nil { + return *m.ContentID + } + return "" +} + +type MailHeader struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MailHeader) Reset() { *m = MailHeader{} } +func (m *MailHeader) String() string { return proto.CompactTextString(m) } +func (*MailHeader) ProtoMessage() {} + +func (m *MailHeader) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *MailHeader) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +type MailMessage struct { + Sender *string `protobuf:"bytes,1,req,name=Sender" json:"Sender,omitempty"` + ReplyTo *string `protobuf:"bytes,2,opt,name=ReplyTo" json:"ReplyTo,omitempty"` + To []string `protobuf:"bytes,3,rep,name=To" json:"To,omitempty"` + Cc []string `protobuf:"bytes,4,rep,name=Cc" json:"Cc,omitempty"` + Bcc []string `protobuf:"bytes,5,rep,name=Bcc" json:"Bcc,omitempty"` + Subject *string `protobuf:"bytes,6,req,name=Subject" json:"Subject,omitempty"` + TextBody *string `protobuf:"bytes,7,opt,name=TextBody" json:"TextBody,omitempty"` + HtmlBody *string `protobuf:"bytes,8,opt,name=HtmlBody" json:"HtmlBody,omitempty"` + Attachment []*MailAttachment `protobuf:"bytes,9,rep,name=Attachment" json:"Attachment,omitempty"` + Header []*MailHeader `protobuf:"bytes,10,rep,name=Header" json:"Header,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MailMessage) Reset() { *m = MailMessage{} } +func (m *MailMessage) String() string { return proto.CompactTextString(m) } +func (*MailMessage) ProtoMessage() {} + +func (m *MailMessage) GetSender() string { + if m != nil && m.Sender != nil { + return *m.Sender + } + return "" +} + +func (m *MailMessage) GetReplyTo() string { + if m != nil && m.ReplyTo != nil { + return *m.ReplyTo + } + return "" +} + +func (m *MailMessage) GetTo() []string { + if m != nil { + return m.To + } + return nil +} + +func (m *MailMessage) GetCc() []string { + if m != nil { + return m.Cc + } + return nil +} + +func (m *MailMessage) GetBcc() []string { + if m != nil { + return m.Bcc + } + return nil +} + +func (m *MailMessage) GetSubject() string { + if m != nil && m.Subject != nil { + return *m.Subject + } + return "" +} + +func (m *MailMessage) GetTextBody() string { + if m != nil && m.TextBody != nil { + return *m.TextBody + } + return "" +} + +func (m *MailMessage) GetHtmlBody() string { + if m != nil && m.HtmlBody != nil { + return *m.HtmlBody + } + return "" +} + +func (m *MailMessage) GetAttachment() []*MailAttachment { + if m != nil { + return m.Attachment + } + return nil +} + +func (m *MailMessage) GetHeader() []*MailHeader { + if m != nil { + return m.Header + } + return nil +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/mail/mail_service.proto b/vendor/google.golang.org/appengine/internal/mail/mail_service.proto new file mode 100644 index 000000000..4e57b7aa5 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/mail/mail_service.proto @@ -0,0 +1,45 @@ +syntax = "proto2"; +option go_package = "mail"; + +package appengine; + +message MailServiceError { + enum ErrorCode { + OK = 0; + INTERNAL_ERROR = 1; + BAD_REQUEST = 2; + UNAUTHORIZED_SENDER = 3; + INVALID_ATTACHMENT_TYPE = 4; + INVALID_HEADER_NAME = 5; + INVALID_CONTENT_ID = 6; + } +} + +message MailAttachment { + required string FileName = 1; + required bytes Data = 2; + optional string ContentID = 3; +} + +message MailHeader { + required string name = 1; + required string value = 2; +} + +message MailMessage { + required string Sender = 1; + optional string ReplyTo = 2; + + repeated string To = 3; + repeated string Cc = 4; + repeated string Bcc = 5; + + required string Subject = 6; + + optional string TextBody = 7; + optional string HtmlBody = 8; + + repeated MailAttachment Attachment = 9; + + repeated MailHeader Header = 10; +} diff --git a/vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go b/vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go new file mode 100644 index 000000000..252fef869 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go @@ -0,0 +1,938 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/memcache/memcache_service.proto +// DO NOT EDIT! + +/* +Package memcache is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/memcache/memcache_service.proto + +It has these top-level messages: + MemcacheServiceError + AppOverride + MemcacheGetRequest + MemcacheGetResponse + MemcacheSetRequest + MemcacheSetResponse + MemcacheDeleteRequest + MemcacheDeleteResponse + MemcacheIncrementRequest + MemcacheIncrementResponse + MemcacheBatchIncrementRequest + MemcacheBatchIncrementResponse + MemcacheFlushRequest + MemcacheFlushResponse + MemcacheStatsRequest + MergedNamespaceStats + MemcacheStatsResponse + MemcacheGrabTailRequest + MemcacheGrabTailResponse +*/ +package memcache + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type MemcacheServiceError_ErrorCode int32 + +const ( + MemcacheServiceError_OK MemcacheServiceError_ErrorCode = 0 + MemcacheServiceError_UNSPECIFIED_ERROR MemcacheServiceError_ErrorCode = 1 + MemcacheServiceError_NAMESPACE_NOT_SET MemcacheServiceError_ErrorCode = 2 + MemcacheServiceError_PERMISSION_DENIED MemcacheServiceError_ErrorCode = 3 + MemcacheServiceError_INVALID_VALUE MemcacheServiceError_ErrorCode = 6 +) + +var MemcacheServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "UNSPECIFIED_ERROR", + 2: "NAMESPACE_NOT_SET", + 3: "PERMISSION_DENIED", + 6: "INVALID_VALUE", +} +var MemcacheServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "UNSPECIFIED_ERROR": 1, + "NAMESPACE_NOT_SET": 2, + "PERMISSION_DENIED": 3, + "INVALID_VALUE": 6, +} + +func (x MemcacheServiceError_ErrorCode) Enum() *MemcacheServiceError_ErrorCode { + p := new(MemcacheServiceError_ErrorCode) + *p = x + return p +} +func (x MemcacheServiceError_ErrorCode) String() string { + return proto.EnumName(MemcacheServiceError_ErrorCode_name, int32(x)) +} +func (x *MemcacheServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MemcacheServiceError_ErrorCode_value, data, "MemcacheServiceError_ErrorCode") + if err != nil { + return err + } + *x = MemcacheServiceError_ErrorCode(value) + return nil +} + +type MemcacheSetRequest_SetPolicy int32 + +const ( + MemcacheSetRequest_SET MemcacheSetRequest_SetPolicy = 1 + MemcacheSetRequest_ADD MemcacheSetRequest_SetPolicy = 2 + MemcacheSetRequest_REPLACE MemcacheSetRequest_SetPolicy = 3 + MemcacheSetRequest_CAS MemcacheSetRequest_SetPolicy = 4 +) + +var MemcacheSetRequest_SetPolicy_name = map[int32]string{ + 1: "SET", + 2: "ADD", + 3: "REPLACE", + 4: "CAS", +} +var MemcacheSetRequest_SetPolicy_value = map[string]int32{ + "SET": 1, + "ADD": 2, + "REPLACE": 3, + "CAS": 4, +} + +func (x MemcacheSetRequest_SetPolicy) Enum() *MemcacheSetRequest_SetPolicy { + p := new(MemcacheSetRequest_SetPolicy) + *p = x + return p +} +func (x MemcacheSetRequest_SetPolicy) String() string { + return proto.EnumName(MemcacheSetRequest_SetPolicy_name, int32(x)) +} +func (x *MemcacheSetRequest_SetPolicy) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MemcacheSetRequest_SetPolicy_value, data, "MemcacheSetRequest_SetPolicy") + if err != nil { + return err + } + *x = MemcacheSetRequest_SetPolicy(value) + return nil +} + +type MemcacheSetResponse_SetStatusCode int32 + +const ( + MemcacheSetResponse_STORED MemcacheSetResponse_SetStatusCode = 1 + MemcacheSetResponse_NOT_STORED MemcacheSetResponse_SetStatusCode = 2 + MemcacheSetResponse_ERROR MemcacheSetResponse_SetStatusCode = 3 + MemcacheSetResponse_EXISTS MemcacheSetResponse_SetStatusCode = 4 +) + +var MemcacheSetResponse_SetStatusCode_name = map[int32]string{ + 1: "STORED", + 2: "NOT_STORED", + 3: "ERROR", + 4: "EXISTS", +} +var MemcacheSetResponse_SetStatusCode_value = map[string]int32{ + "STORED": 1, + "NOT_STORED": 2, + "ERROR": 3, + "EXISTS": 4, +} + +func (x MemcacheSetResponse_SetStatusCode) Enum() *MemcacheSetResponse_SetStatusCode { + p := new(MemcacheSetResponse_SetStatusCode) + *p = x + return p +} +func (x MemcacheSetResponse_SetStatusCode) String() string { + return proto.EnumName(MemcacheSetResponse_SetStatusCode_name, int32(x)) +} +func (x *MemcacheSetResponse_SetStatusCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MemcacheSetResponse_SetStatusCode_value, data, "MemcacheSetResponse_SetStatusCode") + if err != nil { + return err + } + *x = MemcacheSetResponse_SetStatusCode(value) + return nil +} + +type MemcacheDeleteResponse_DeleteStatusCode int32 + +const ( + MemcacheDeleteResponse_DELETED MemcacheDeleteResponse_DeleteStatusCode = 1 + MemcacheDeleteResponse_NOT_FOUND MemcacheDeleteResponse_DeleteStatusCode = 2 +) + +var MemcacheDeleteResponse_DeleteStatusCode_name = map[int32]string{ + 1: "DELETED", + 2: "NOT_FOUND", +} +var MemcacheDeleteResponse_DeleteStatusCode_value = map[string]int32{ + "DELETED": 1, + "NOT_FOUND": 2, +} + +func (x MemcacheDeleteResponse_DeleteStatusCode) Enum() *MemcacheDeleteResponse_DeleteStatusCode { + p := new(MemcacheDeleteResponse_DeleteStatusCode) + *p = x + return p +} +func (x MemcacheDeleteResponse_DeleteStatusCode) String() string { + return proto.EnumName(MemcacheDeleteResponse_DeleteStatusCode_name, int32(x)) +} +func (x *MemcacheDeleteResponse_DeleteStatusCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MemcacheDeleteResponse_DeleteStatusCode_value, data, "MemcacheDeleteResponse_DeleteStatusCode") + if err != nil { + return err + } + *x = MemcacheDeleteResponse_DeleteStatusCode(value) + return nil +} + +type MemcacheIncrementRequest_Direction int32 + +const ( + MemcacheIncrementRequest_INCREMENT MemcacheIncrementRequest_Direction = 1 + MemcacheIncrementRequest_DECREMENT MemcacheIncrementRequest_Direction = 2 +) + +var MemcacheIncrementRequest_Direction_name = map[int32]string{ + 1: "INCREMENT", + 2: "DECREMENT", +} +var MemcacheIncrementRequest_Direction_value = map[string]int32{ + "INCREMENT": 1, + "DECREMENT": 2, +} + +func (x MemcacheIncrementRequest_Direction) Enum() *MemcacheIncrementRequest_Direction { + p := new(MemcacheIncrementRequest_Direction) + *p = x + return p +} +func (x MemcacheIncrementRequest_Direction) String() string { + return proto.EnumName(MemcacheIncrementRequest_Direction_name, int32(x)) +} +func (x *MemcacheIncrementRequest_Direction) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MemcacheIncrementRequest_Direction_value, data, "MemcacheIncrementRequest_Direction") + if err != nil { + return err + } + *x = MemcacheIncrementRequest_Direction(value) + return nil +} + +type MemcacheIncrementResponse_IncrementStatusCode int32 + +const ( + MemcacheIncrementResponse_OK MemcacheIncrementResponse_IncrementStatusCode = 1 + MemcacheIncrementResponse_NOT_CHANGED MemcacheIncrementResponse_IncrementStatusCode = 2 + MemcacheIncrementResponse_ERROR MemcacheIncrementResponse_IncrementStatusCode = 3 +) + +var MemcacheIncrementResponse_IncrementStatusCode_name = map[int32]string{ + 1: "OK", + 2: "NOT_CHANGED", + 3: "ERROR", +} +var MemcacheIncrementResponse_IncrementStatusCode_value = map[string]int32{ + "OK": 1, + "NOT_CHANGED": 2, + "ERROR": 3, +} + +func (x MemcacheIncrementResponse_IncrementStatusCode) Enum() *MemcacheIncrementResponse_IncrementStatusCode { + p := new(MemcacheIncrementResponse_IncrementStatusCode) + *p = x + return p +} +func (x MemcacheIncrementResponse_IncrementStatusCode) String() string { + return proto.EnumName(MemcacheIncrementResponse_IncrementStatusCode_name, int32(x)) +} +func (x *MemcacheIncrementResponse_IncrementStatusCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MemcacheIncrementResponse_IncrementStatusCode_value, data, "MemcacheIncrementResponse_IncrementStatusCode") + if err != nil { + return err + } + *x = MemcacheIncrementResponse_IncrementStatusCode(value) + return nil +} + +type MemcacheServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheServiceError) Reset() { *m = MemcacheServiceError{} } +func (m *MemcacheServiceError) String() string { return proto.CompactTextString(m) } +func (*MemcacheServiceError) ProtoMessage() {} + +type AppOverride struct { + AppId *string `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` + NumMemcachegBackends *int32 `protobuf:"varint,2,opt,name=num_memcacheg_backends" json:"num_memcacheg_backends,omitempty"` + IgnoreShardlock *bool `protobuf:"varint,3,opt,name=ignore_shardlock" json:"ignore_shardlock,omitempty"` + MemcachePoolHint *string `protobuf:"bytes,4,opt,name=memcache_pool_hint" json:"memcache_pool_hint,omitempty"` + MemcacheShardingStrategy []byte `protobuf:"bytes,5,opt,name=memcache_sharding_strategy" json:"memcache_sharding_strategy,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *AppOverride) Reset() { *m = AppOverride{} } +func (m *AppOverride) String() string { return proto.CompactTextString(m) } +func (*AppOverride) ProtoMessage() {} + +func (m *AppOverride) GetAppId() string { + if m != nil && m.AppId != nil { + return *m.AppId + } + return "" +} + +func (m *AppOverride) GetNumMemcachegBackends() int32 { + if m != nil && m.NumMemcachegBackends != nil { + return *m.NumMemcachegBackends + } + return 0 +} + +func (m *AppOverride) GetIgnoreShardlock() bool { + if m != nil && m.IgnoreShardlock != nil { + return *m.IgnoreShardlock + } + return false +} + +func (m *AppOverride) GetMemcachePoolHint() string { + if m != nil && m.MemcachePoolHint != nil { + return *m.MemcachePoolHint + } + return "" +} + +func (m *AppOverride) GetMemcacheShardingStrategy() []byte { + if m != nil { + return m.MemcacheShardingStrategy + } + return nil +} + +type MemcacheGetRequest struct { + Key [][]byte `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` + NameSpace *string `protobuf:"bytes,2,opt,name=name_space,def=" json:"name_space,omitempty"` + ForCas *bool `protobuf:"varint,4,opt,name=for_cas" json:"for_cas,omitempty"` + Override *AppOverride `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheGetRequest) Reset() { *m = MemcacheGetRequest{} } +func (m *MemcacheGetRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheGetRequest) ProtoMessage() {} + +func (m *MemcacheGetRequest) GetKey() [][]byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *MemcacheGetRequest) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *MemcacheGetRequest) GetForCas() bool { + if m != nil && m.ForCas != nil { + return *m.ForCas + } + return false +} + +func (m *MemcacheGetRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheGetResponse struct { + Item []*MemcacheGetResponse_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheGetResponse) Reset() { *m = MemcacheGetResponse{} } +func (m *MemcacheGetResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheGetResponse) ProtoMessage() {} + +func (m *MemcacheGetResponse) GetItem() []*MemcacheGetResponse_Item { + if m != nil { + return m.Item + } + return nil +} + +type MemcacheGetResponse_Item struct { + Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` + Flags *uint32 `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"` + CasId *uint64 `protobuf:"fixed64,5,opt,name=cas_id" json:"cas_id,omitempty"` + ExpiresInSeconds *int32 `protobuf:"varint,6,opt,name=expires_in_seconds" json:"expires_in_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheGetResponse_Item) Reset() { *m = MemcacheGetResponse_Item{} } +func (m *MemcacheGetResponse_Item) String() string { return proto.CompactTextString(m) } +func (*MemcacheGetResponse_Item) ProtoMessage() {} + +func (m *MemcacheGetResponse_Item) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *MemcacheGetResponse_Item) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *MemcacheGetResponse_Item) GetFlags() uint32 { + if m != nil && m.Flags != nil { + return *m.Flags + } + return 0 +} + +func (m *MemcacheGetResponse_Item) GetCasId() uint64 { + if m != nil && m.CasId != nil { + return *m.CasId + } + return 0 +} + +func (m *MemcacheGetResponse_Item) GetExpiresInSeconds() int32 { + if m != nil && m.ExpiresInSeconds != nil { + return *m.ExpiresInSeconds + } + return 0 +} + +type MemcacheSetRequest struct { + Item []*MemcacheSetRequest_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` + NameSpace *string `protobuf:"bytes,7,opt,name=name_space,def=" json:"name_space,omitempty"` + Override *AppOverride `protobuf:"bytes,10,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheSetRequest) Reset() { *m = MemcacheSetRequest{} } +func (m *MemcacheSetRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheSetRequest) ProtoMessage() {} + +func (m *MemcacheSetRequest) GetItem() []*MemcacheSetRequest_Item { + if m != nil { + return m.Item + } + return nil +} + +func (m *MemcacheSetRequest) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *MemcacheSetRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheSetRequest_Item struct { + Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` + Flags *uint32 `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"` + SetPolicy *MemcacheSetRequest_SetPolicy `protobuf:"varint,5,opt,name=set_policy,enum=appengine.MemcacheSetRequest_SetPolicy,def=1" json:"set_policy,omitempty"` + ExpirationTime *uint32 `protobuf:"fixed32,6,opt,name=expiration_time,def=0" json:"expiration_time,omitempty"` + CasId *uint64 `protobuf:"fixed64,8,opt,name=cas_id" json:"cas_id,omitempty"` + ForCas *bool `protobuf:"varint,9,opt,name=for_cas" json:"for_cas,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheSetRequest_Item) Reset() { *m = MemcacheSetRequest_Item{} } +func (m *MemcacheSetRequest_Item) String() string { return proto.CompactTextString(m) } +func (*MemcacheSetRequest_Item) ProtoMessage() {} + +const Default_MemcacheSetRequest_Item_SetPolicy MemcacheSetRequest_SetPolicy = MemcacheSetRequest_SET +const Default_MemcacheSetRequest_Item_ExpirationTime uint32 = 0 + +func (m *MemcacheSetRequest_Item) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *MemcacheSetRequest_Item) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *MemcacheSetRequest_Item) GetFlags() uint32 { + if m != nil && m.Flags != nil { + return *m.Flags + } + return 0 +} + +func (m *MemcacheSetRequest_Item) GetSetPolicy() MemcacheSetRequest_SetPolicy { + if m != nil && m.SetPolicy != nil { + return *m.SetPolicy + } + return Default_MemcacheSetRequest_Item_SetPolicy +} + +func (m *MemcacheSetRequest_Item) GetExpirationTime() uint32 { + if m != nil && m.ExpirationTime != nil { + return *m.ExpirationTime + } + return Default_MemcacheSetRequest_Item_ExpirationTime +} + +func (m *MemcacheSetRequest_Item) GetCasId() uint64 { + if m != nil && m.CasId != nil { + return *m.CasId + } + return 0 +} + +func (m *MemcacheSetRequest_Item) GetForCas() bool { + if m != nil && m.ForCas != nil { + return *m.ForCas + } + return false +} + +type MemcacheSetResponse struct { + SetStatus []MemcacheSetResponse_SetStatusCode `protobuf:"varint,1,rep,name=set_status,enum=appengine.MemcacheSetResponse_SetStatusCode" json:"set_status,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheSetResponse) Reset() { *m = MemcacheSetResponse{} } +func (m *MemcacheSetResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheSetResponse) ProtoMessage() {} + +func (m *MemcacheSetResponse) GetSetStatus() []MemcacheSetResponse_SetStatusCode { + if m != nil { + return m.SetStatus + } + return nil +} + +type MemcacheDeleteRequest struct { + Item []*MemcacheDeleteRequest_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` + NameSpace *string `protobuf:"bytes,4,opt,name=name_space,def=" json:"name_space,omitempty"` + Override *AppOverride `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheDeleteRequest) Reset() { *m = MemcacheDeleteRequest{} } +func (m *MemcacheDeleteRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheDeleteRequest) ProtoMessage() {} + +func (m *MemcacheDeleteRequest) GetItem() []*MemcacheDeleteRequest_Item { + if m != nil { + return m.Item + } + return nil +} + +func (m *MemcacheDeleteRequest) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *MemcacheDeleteRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheDeleteRequest_Item struct { + Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` + DeleteTime *uint32 `protobuf:"fixed32,3,opt,name=delete_time,def=0" json:"delete_time,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheDeleteRequest_Item) Reset() { *m = MemcacheDeleteRequest_Item{} } +func (m *MemcacheDeleteRequest_Item) String() string { return proto.CompactTextString(m) } +func (*MemcacheDeleteRequest_Item) ProtoMessage() {} + +const Default_MemcacheDeleteRequest_Item_DeleteTime uint32 = 0 + +func (m *MemcacheDeleteRequest_Item) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *MemcacheDeleteRequest_Item) GetDeleteTime() uint32 { + if m != nil && m.DeleteTime != nil { + return *m.DeleteTime + } + return Default_MemcacheDeleteRequest_Item_DeleteTime +} + +type MemcacheDeleteResponse struct { + DeleteStatus []MemcacheDeleteResponse_DeleteStatusCode `protobuf:"varint,1,rep,name=delete_status,enum=appengine.MemcacheDeleteResponse_DeleteStatusCode" json:"delete_status,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheDeleteResponse) Reset() { *m = MemcacheDeleteResponse{} } +func (m *MemcacheDeleteResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheDeleteResponse) ProtoMessage() {} + +func (m *MemcacheDeleteResponse) GetDeleteStatus() []MemcacheDeleteResponse_DeleteStatusCode { + if m != nil { + return m.DeleteStatus + } + return nil +} + +type MemcacheIncrementRequest struct { + Key []byte `protobuf:"bytes,1,req,name=key" json:"key,omitempty"` + NameSpace *string `protobuf:"bytes,4,opt,name=name_space,def=" json:"name_space,omitempty"` + Delta *uint64 `protobuf:"varint,2,opt,name=delta,def=1" json:"delta,omitempty"` + Direction *MemcacheIncrementRequest_Direction `protobuf:"varint,3,opt,name=direction,enum=appengine.MemcacheIncrementRequest_Direction,def=1" json:"direction,omitempty"` + InitialValue *uint64 `protobuf:"varint,5,opt,name=initial_value" json:"initial_value,omitempty"` + InitialFlags *uint32 `protobuf:"fixed32,6,opt,name=initial_flags" json:"initial_flags,omitempty"` + Override *AppOverride `protobuf:"bytes,7,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheIncrementRequest) Reset() { *m = MemcacheIncrementRequest{} } +func (m *MemcacheIncrementRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheIncrementRequest) ProtoMessage() {} + +const Default_MemcacheIncrementRequest_Delta uint64 = 1 +const Default_MemcacheIncrementRequest_Direction MemcacheIncrementRequest_Direction = MemcacheIncrementRequest_INCREMENT + +func (m *MemcacheIncrementRequest) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *MemcacheIncrementRequest) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *MemcacheIncrementRequest) GetDelta() uint64 { + if m != nil && m.Delta != nil { + return *m.Delta + } + return Default_MemcacheIncrementRequest_Delta +} + +func (m *MemcacheIncrementRequest) GetDirection() MemcacheIncrementRequest_Direction { + if m != nil && m.Direction != nil { + return *m.Direction + } + return Default_MemcacheIncrementRequest_Direction +} + +func (m *MemcacheIncrementRequest) GetInitialValue() uint64 { + if m != nil && m.InitialValue != nil { + return *m.InitialValue + } + return 0 +} + +func (m *MemcacheIncrementRequest) GetInitialFlags() uint32 { + if m != nil && m.InitialFlags != nil { + return *m.InitialFlags + } + return 0 +} + +func (m *MemcacheIncrementRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheIncrementResponse struct { + NewValue *uint64 `protobuf:"varint,1,opt,name=new_value" json:"new_value,omitempty"` + IncrementStatus *MemcacheIncrementResponse_IncrementStatusCode `protobuf:"varint,2,opt,name=increment_status,enum=appengine.MemcacheIncrementResponse_IncrementStatusCode" json:"increment_status,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheIncrementResponse) Reset() { *m = MemcacheIncrementResponse{} } +func (m *MemcacheIncrementResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheIncrementResponse) ProtoMessage() {} + +func (m *MemcacheIncrementResponse) GetNewValue() uint64 { + if m != nil && m.NewValue != nil { + return *m.NewValue + } + return 0 +} + +func (m *MemcacheIncrementResponse) GetIncrementStatus() MemcacheIncrementResponse_IncrementStatusCode { + if m != nil && m.IncrementStatus != nil { + return *m.IncrementStatus + } + return MemcacheIncrementResponse_OK +} + +type MemcacheBatchIncrementRequest struct { + NameSpace *string `protobuf:"bytes,1,opt,name=name_space,def=" json:"name_space,omitempty"` + Item []*MemcacheIncrementRequest `protobuf:"bytes,2,rep,name=item" json:"item,omitempty"` + Override *AppOverride `protobuf:"bytes,3,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheBatchIncrementRequest) Reset() { *m = MemcacheBatchIncrementRequest{} } +func (m *MemcacheBatchIncrementRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheBatchIncrementRequest) ProtoMessage() {} + +func (m *MemcacheBatchIncrementRequest) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *MemcacheBatchIncrementRequest) GetItem() []*MemcacheIncrementRequest { + if m != nil { + return m.Item + } + return nil +} + +func (m *MemcacheBatchIncrementRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheBatchIncrementResponse struct { + Item []*MemcacheIncrementResponse `protobuf:"bytes,1,rep,name=item" json:"item,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheBatchIncrementResponse) Reset() { *m = MemcacheBatchIncrementResponse{} } +func (m *MemcacheBatchIncrementResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheBatchIncrementResponse) ProtoMessage() {} + +func (m *MemcacheBatchIncrementResponse) GetItem() []*MemcacheIncrementResponse { + if m != nil { + return m.Item + } + return nil +} + +type MemcacheFlushRequest struct { + Override *AppOverride `protobuf:"bytes,1,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheFlushRequest) Reset() { *m = MemcacheFlushRequest{} } +func (m *MemcacheFlushRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheFlushRequest) ProtoMessage() {} + +func (m *MemcacheFlushRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheFlushResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheFlushResponse) Reset() { *m = MemcacheFlushResponse{} } +func (m *MemcacheFlushResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheFlushResponse) ProtoMessage() {} + +type MemcacheStatsRequest struct { + Override *AppOverride `protobuf:"bytes,1,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheStatsRequest) Reset() { *m = MemcacheStatsRequest{} } +func (m *MemcacheStatsRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheStatsRequest) ProtoMessage() {} + +func (m *MemcacheStatsRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MergedNamespaceStats struct { + Hits *uint64 `protobuf:"varint,1,req,name=hits" json:"hits,omitempty"` + Misses *uint64 `protobuf:"varint,2,req,name=misses" json:"misses,omitempty"` + ByteHits *uint64 `protobuf:"varint,3,req,name=byte_hits" json:"byte_hits,omitempty"` + Items *uint64 `protobuf:"varint,4,req,name=items" json:"items,omitempty"` + Bytes *uint64 `protobuf:"varint,5,req,name=bytes" json:"bytes,omitempty"` + OldestItemAge *uint32 `protobuf:"fixed32,6,req,name=oldest_item_age" json:"oldest_item_age,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MergedNamespaceStats) Reset() { *m = MergedNamespaceStats{} } +func (m *MergedNamespaceStats) String() string { return proto.CompactTextString(m) } +func (*MergedNamespaceStats) ProtoMessage() {} + +func (m *MergedNamespaceStats) GetHits() uint64 { + if m != nil && m.Hits != nil { + return *m.Hits + } + return 0 +} + +func (m *MergedNamespaceStats) GetMisses() uint64 { + if m != nil && m.Misses != nil { + return *m.Misses + } + return 0 +} + +func (m *MergedNamespaceStats) GetByteHits() uint64 { + if m != nil && m.ByteHits != nil { + return *m.ByteHits + } + return 0 +} + +func (m *MergedNamespaceStats) GetItems() uint64 { + if m != nil && m.Items != nil { + return *m.Items + } + return 0 +} + +func (m *MergedNamespaceStats) GetBytes() uint64 { + if m != nil && m.Bytes != nil { + return *m.Bytes + } + return 0 +} + +func (m *MergedNamespaceStats) GetOldestItemAge() uint32 { + if m != nil && m.OldestItemAge != nil { + return *m.OldestItemAge + } + return 0 +} + +type MemcacheStatsResponse struct { + Stats *MergedNamespaceStats `protobuf:"bytes,1,opt,name=stats" json:"stats,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheStatsResponse) Reset() { *m = MemcacheStatsResponse{} } +func (m *MemcacheStatsResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheStatsResponse) ProtoMessage() {} + +func (m *MemcacheStatsResponse) GetStats() *MergedNamespaceStats { + if m != nil { + return m.Stats + } + return nil +} + +type MemcacheGrabTailRequest struct { + ItemCount *int32 `protobuf:"varint,1,req,name=item_count" json:"item_count,omitempty"` + NameSpace *string `protobuf:"bytes,2,opt,name=name_space,def=" json:"name_space,omitempty"` + Override *AppOverride `protobuf:"bytes,3,opt,name=override" json:"override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheGrabTailRequest) Reset() { *m = MemcacheGrabTailRequest{} } +func (m *MemcacheGrabTailRequest) String() string { return proto.CompactTextString(m) } +func (*MemcacheGrabTailRequest) ProtoMessage() {} + +func (m *MemcacheGrabTailRequest) GetItemCount() int32 { + if m != nil && m.ItemCount != nil { + return *m.ItemCount + } + return 0 +} + +func (m *MemcacheGrabTailRequest) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *MemcacheGrabTailRequest) GetOverride() *AppOverride { + if m != nil { + return m.Override + } + return nil +} + +type MemcacheGrabTailResponse struct { + Item []*MemcacheGrabTailResponse_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheGrabTailResponse) Reset() { *m = MemcacheGrabTailResponse{} } +func (m *MemcacheGrabTailResponse) String() string { return proto.CompactTextString(m) } +func (*MemcacheGrabTailResponse) ProtoMessage() {} + +func (m *MemcacheGrabTailResponse) GetItem() []*MemcacheGrabTailResponse_Item { + if m != nil { + return m.Item + } + return nil +} + +type MemcacheGrabTailResponse_Item struct { + Value []byte `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` + Flags *uint32 `protobuf:"fixed32,3,opt,name=flags" json:"flags,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *MemcacheGrabTailResponse_Item) Reset() { *m = MemcacheGrabTailResponse_Item{} } +func (m *MemcacheGrabTailResponse_Item) String() string { return proto.CompactTextString(m) } +func (*MemcacheGrabTailResponse_Item) ProtoMessage() {} + +func (m *MemcacheGrabTailResponse_Item) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *MemcacheGrabTailResponse_Item) GetFlags() uint32 { + if m != nil && m.Flags != nil { + return *m.Flags + } + return 0 +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto b/vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto new file mode 100644 index 000000000..5f0edcdc7 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto @@ -0,0 +1,165 @@ +syntax = "proto2"; +option go_package = "memcache"; + +package appengine; + +message MemcacheServiceError { + enum ErrorCode { + OK = 0; + UNSPECIFIED_ERROR = 1; + NAMESPACE_NOT_SET = 2; + PERMISSION_DENIED = 3; + INVALID_VALUE = 6; + } +} + +message AppOverride { + required string app_id = 1; + + optional int32 num_memcacheg_backends = 2 [deprecated=true]; + optional bool ignore_shardlock = 3 [deprecated=true]; + optional string memcache_pool_hint = 4 [deprecated=true]; + optional bytes memcache_sharding_strategy = 5 [deprecated=true]; +} + +message MemcacheGetRequest { + repeated bytes key = 1; + optional string name_space = 2 [default = ""]; + optional bool for_cas = 4; + optional AppOverride override = 5; +} + +message MemcacheGetResponse { + repeated group Item = 1 { + required bytes key = 2; + required bytes value = 3; + optional fixed32 flags = 4; + optional fixed64 cas_id = 5; + optional int32 expires_in_seconds = 6; + } +} + +message MemcacheSetRequest { + enum SetPolicy { + SET = 1; + ADD = 2; + REPLACE = 3; + CAS = 4; + } + repeated group Item = 1 { + required bytes key = 2; + required bytes value = 3; + + optional fixed32 flags = 4; + optional SetPolicy set_policy = 5 [default = SET]; + optional fixed32 expiration_time = 6 [default = 0]; + + optional fixed64 cas_id = 8; + optional bool for_cas = 9; + } + optional string name_space = 7 [default = ""]; + optional AppOverride override = 10; +} + +message MemcacheSetResponse { + enum SetStatusCode { + STORED = 1; + NOT_STORED = 2; + ERROR = 3; + EXISTS = 4; + } + repeated SetStatusCode set_status = 1; +} + +message MemcacheDeleteRequest { + repeated group Item = 1 { + required bytes key = 2; + optional fixed32 delete_time = 3 [default = 0]; + } + optional string name_space = 4 [default = ""]; + optional AppOverride override = 5; +} + +message MemcacheDeleteResponse { + enum DeleteStatusCode { + DELETED = 1; + NOT_FOUND = 2; + } + repeated DeleteStatusCode delete_status = 1; +} + +message MemcacheIncrementRequest { + enum Direction { + INCREMENT = 1; + DECREMENT = 2; + } + required bytes key = 1; + optional string name_space = 4 [default = ""]; + + optional uint64 delta = 2 [default = 1]; + optional Direction direction = 3 [default = INCREMENT]; + + optional uint64 initial_value = 5; + optional fixed32 initial_flags = 6; + optional AppOverride override = 7; +} + +message MemcacheIncrementResponse { + enum IncrementStatusCode { + OK = 1; + NOT_CHANGED = 2; + ERROR = 3; + } + + optional uint64 new_value = 1; + optional IncrementStatusCode increment_status = 2; +} + +message MemcacheBatchIncrementRequest { + optional string name_space = 1 [default = ""]; + repeated MemcacheIncrementRequest item = 2; + optional AppOverride override = 3; +} + +message MemcacheBatchIncrementResponse { + repeated MemcacheIncrementResponse item = 1; +} + +message MemcacheFlushRequest { + optional AppOverride override = 1; +} + +message MemcacheFlushResponse { +} + +message MemcacheStatsRequest { + optional AppOverride override = 1; +} + +message MergedNamespaceStats { + required uint64 hits = 1; + required uint64 misses = 2; + required uint64 byte_hits = 3; + + required uint64 items = 4; + required uint64 bytes = 5; + + required fixed32 oldest_item_age = 6; +} + +message MemcacheStatsResponse { + optional MergedNamespaceStats stats = 1; +} + +message MemcacheGrabTailRequest { + required int32 item_count = 1; + optional string name_space = 2 [default = ""]; + optional AppOverride override = 3; +} + +message MemcacheGrabTailResponse { + repeated group Item = 1 { + required bytes value = 2; + optional fixed32 flags = 3; + } +} diff --git a/vendor/google.golang.org/appengine/internal/regen.sh b/vendor/google.golang.org/appengine/internal/regen.sh old mode 100644 new mode 100755 diff --git a/vendor/google.golang.org/appengine/internal/search/search.pb.go b/vendor/google.golang.org/appengine/internal/search/search.pb.go new file mode 100644 index 000000000..7d8d11ddc --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/search/search.pb.go @@ -0,0 +1,2127 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/search/search.proto +// DO NOT EDIT! + +/* +Package search is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/search/search.proto + +It has these top-level messages: + Scope + Entry + AccessControlList + FieldValue + Field + FieldTypes + IndexShardSettings + FacetValue + Facet + DocumentMetadata + Document + SearchServiceError + RequestStatus + IndexSpec + IndexMetadata + IndexDocumentParams + IndexDocumentRequest + IndexDocumentResponse + DeleteDocumentParams + DeleteDocumentRequest + DeleteDocumentResponse + ListDocumentsParams + ListDocumentsRequest + ListDocumentsResponse + ListIndexesParams + ListIndexesRequest + ListIndexesResponse + DeleteSchemaParams + DeleteSchemaRequest + DeleteSchemaResponse + SortSpec + ScorerSpec + FieldSpec + FacetRange + FacetRequestParam + FacetAutoDetectParam + FacetRequest + FacetRefinement + SearchParams + SearchRequest + FacetResultValue + FacetResult + SearchResult + SearchResponse +*/ +package search + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type Scope_Type int32 + +const ( + Scope_USER_BY_CANONICAL_ID Scope_Type = 1 + Scope_USER_BY_EMAIL Scope_Type = 2 + Scope_GROUP_BY_CANONICAL_ID Scope_Type = 3 + Scope_GROUP_BY_EMAIL Scope_Type = 4 + Scope_GROUP_BY_DOMAIN Scope_Type = 5 + Scope_ALL_USERS Scope_Type = 6 + Scope_ALL_AUTHENTICATED_USERS Scope_Type = 7 +) + +var Scope_Type_name = map[int32]string{ + 1: "USER_BY_CANONICAL_ID", + 2: "USER_BY_EMAIL", + 3: "GROUP_BY_CANONICAL_ID", + 4: "GROUP_BY_EMAIL", + 5: "GROUP_BY_DOMAIN", + 6: "ALL_USERS", + 7: "ALL_AUTHENTICATED_USERS", +} +var Scope_Type_value = map[string]int32{ + "USER_BY_CANONICAL_ID": 1, + "USER_BY_EMAIL": 2, + "GROUP_BY_CANONICAL_ID": 3, + "GROUP_BY_EMAIL": 4, + "GROUP_BY_DOMAIN": 5, + "ALL_USERS": 6, + "ALL_AUTHENTICATED_USERS": 7, +} + +func (x Scope_Type) Enum() *Scope_Type { + p := new(Scope_Type) + *p = x + return p +} +func (x Scope_Type) String() string { + return proto.EnumName(Scope_Type_name, int32(x)) +} +func (x *Scope_Type) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Scope_Type_value, data, "Scope_Type") + if err != nil { + return err + } + *x = Scope_Type(value) + return nil +} + +type Entry_Permission int32 + +const ( + Entry_READ Entry_Permission = 1 + Entry_WRITE Entry_Permission = 2 + Entry_FULL_CONTROL Entry_Permission = 3 +) + +var Entry_Permission_name = map[int32]string{ + 1: "READ", + 2: "WRITE", + 3: "FULL_CONTROL", +} +var Entry_Permission_value = map[string]int32{ + "READ": 1, + "WRITE": 2, + "FULL_CONTROL": 3, +} + +func (x Entry_Permission) Enum() *Entry_Permission { + p := new(Entry_Permission) + *p = x + return p +} +func (x Entry_Permission) String() string { + return proto.EnumName(Entry_Permission_name, int32(x)) +} +func (x *Entry_Permission) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Entry_Permission_value, data, "Entry_Permission") + if err != nil { + return err + } + *x = Entry_Permission(value) + return nil +} + +type FieldValue_ContentType int32 + +const ( + FieldValue_TEXT FieldValue_ContentType = 0 + FieldValue_HTML FieldValue_ContentType = 1 + FieldValue_ATOM FieldValue_ContentType = 2 + FieldValue_DATE FieldValue_ContentType = 3 + FieldValue_NUMBER FieldValue_ContentType = 4 + FieldValue_GEO FieldValue_ContentType = 5 +) + +var FieldValue_ContentType_name = map[int32]string{ + 0: "TEXT", + 1: "HTML", + 2: "ATOM", + 3: "DATE", + 4: "NUMBER", + 5: "GEO", +} +var FieldValue_ContentType_value = map[string]int32{ + "TEXT": 0, + "HTML": 1, + "ATOM": 2, + "DATE": 3, + "NUMBER": 4, + "GEO": 5, +} + +func (x FieldValue_ContentType) Enum() *FieldValue_ContentType { + p := new(FieldValue_ContentType) + *p = x + return p +} +func (x FieldValue_ContentType) String() string { + return proto.EnumName(FieldValue_ContentType_name, int32(x)) +} +func (x *FieldValue_ContentType) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FieldValue_ContentType_value, data, "FieldValue_ContentType") + if err != nil { + return err + } + *x = FieldValue_ContentType(value) + return nil +} + +type FacetValue_ContentType int32 + +const ( + FacetValue_ATOM FacetValue_ContentType = 2 + FacetValue_NUMBER FacetValue_ContentType = 4 +) + +var FacetValue_ContentType_name = map[int32]string{ + 2: "ATOM", + 4: "NUMBER", +} +var FacetValue_ContentType_value = map[string]int32{ + "ATOM": 2, + "NUMBER": 4, +} + +func (x FacetValue_ContentType) Enum() *FacetValue_ContentType { + p := new(FacetValue_ContentType) + *p = x + return p +} +func (x FacetValue_ContentType) String() string { + return proto.EnumName(FacetValue_ContentType_name, int32(x)) +} +func (x *FacetValue_ContentType) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FacetValue_ContentType_value, data, "FacetValue_ContentType") + if err != nil { + return err + } + *x = FacetValue_ContentType(value) + return nil +} + +type Document_Storage int32 + +const ( + Document_DISK Document_Storage = 0 +) + +var Document_Storage_name = map[int32]string{ + 0: "DISK", +} +var Document_Storage_value = map[string]int32{ + "DISK": 0, +} + +func (x Document_Storage) Enum() *Document_Storage { + p := new(Document_Storage) + *p = x + return p +} +func (x Document_Storage) String() string { + return proto.EnumName(Document_Storage_name, int32(x)) +} +func (x *Document_Storage) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Document_Storage_value, data, "Document_Storage") + if err != nil { + return err + } + *x = Document_Storage(value) + return nil +} + +type SearchServiceError_ErrorCode int32 + +const ( + SearchServiceError_OK SearchServiceError_ErrorCode = 0 + SearchServiceError_INVALID_REQUEST SearchServiceError_ErrorCode = 1 + SearchServiceError_TRANSIENT_ERROR SearchServiceError_ErrorCode = 2 + SearchServiceError_INTERNAL_ERROR SearchServiceError_ErrorCode = 3 + SearchServiceError_PERMISSION_DENIED SearchServiceError_ErrorCode = 4 + SearchServiceError_TIMEOUT SearchServiceError_ErrorCode = 5 + SearchServiceError_CONCURRENT_TRANSACTION SearchServiceError_ErrorCode = 6 +) + +var SearchServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INVALID_REQUEST", + 2: "TRANSIENT_ERROR", + 3: "INTERNAL_ERROR", + 4: "PERMISSION_DENIED", + 5: "TIMEOUT", + 6: "CONCURRENT_TRANSACTION", +} +var SearchServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INVALID_REQUEST": 1, + "TRANSIENT_ERROR": 2, + "INTERNAL_ERROR": 3, + "PERMISSION_DENIED": 4, + "TIMEOUT": 5, + "CONCURRENT_TRANSACTION": 6, +} + +func (x SearchServiceError_ErrorCode) Enum() *SearchServiceError_ErrorCode { + p := new(SearchServiceError_ErrorCode) + *p = x + return p +} +func (x SearchServiceError_ErrorCode) String() string { + return proto.EnumName(SearchServiceError_ErrorCode_name, int32(x)) +} +func (x *SearchServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(SearchServiceError_ErrorCode_value, data, "SearchServiceError_ErrorCode") + if err != nil { + return err + } + *x = SearchServiceError_ErrorCode(value) + return nil +} + +type IndexSpec_Consistency int32 + +const ( + IndexSpec_GLOBAL IndexSpec_Consistency = 0 + IndexSpec_PER_DOCUMENT IndexSpec_Consistency = 1 +) + +var IndexSpec_Consistency_name = map[int32]string{ + 0: "GLOBAL", + 1: "PER_DOCUMENT", +} +var IndexSpec_Consistency_value = map[string]int32{ + "GLOBAL": 0, + "PER_DOCUMENT": 1, +} + +func (x IndexSpec_Consistency) Enum() *IndexSpec_Consistency { + p := new(IndexSpec_Consistency) + *p = x + return p +} +func (x IndexSpec_Consistency) String() string { + return proto.EnumName(IndexSpec_Consistency_name, int32(x)) +} +func (x *IndexSpec_Consistency) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(IndexSpec_Consistency_value, data, "IndexSpec_Consistency") + if err != nil { + return err + } + *x = IndexSpec_Consistency(value) + return nil +} + +type IndexSpec_Source int32 + +const ( + IndexSpec_SEARCH IndexSpec_Source = 0 + IndexSpec_DATASTORE IndexSpec_Source = 1 + IndexSpec_CLOUD_STORAGE IndexSpec_Source = 2 +) + +var IndexSpec_Source_name = map[int32]string{ + 0: "SEARCH", + 1: "DATASTORE", + 2: "CLOUD_STORAGE", +} +var IndexSpec_Source_value = map[string]int32{ + "SEARCH": 0, + "DATASTORE": 1, + "CLOUD_STORAGE": 2, +} + +func (x IndexSpec_Source) Enum() *IndexSpec_Source { + p := new(IndexSpec_Source) + *p = x + return p +} +func (x IndexSpec_Source) String() string { + return proto.EnumName(IndexSpec_Source_name, int32(x)) +} +func (x *IndexSpec_Source) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(IndexSpec_Source_value, data, "IndexSpec_Source") + if err != nil { + return err + } + *x = IndexSpec_Source(value) + return nil +} + +type IndexSpec_Mode int32 + +const ( + IndexSpec_PRIORITY IndexSpec_Mode = 0 + IndexSpec_BACKGROUND IndexSpec_Mode = 1 +) + +var IndexSpec_Mode_name = map[int32]string{ + 0: "PRIORITY", + 1: "BACKGROUND", +} +var IndexSpec_Mode_value = map[string]int32{ + "PRIORITY": 0, + "BACKGROUND": 1, +} + +func (x IndexSpec_Mode) Enum() *IndexSpec_Mode { + p := new(IndexSpec_Mode) + *p = x + return p +} +func (x IndexSpec_Mode) String() string { + return proto.EnumName(IndexSpec_Mode_name, int32(x)) +} +func (x *IndexSpec_Mode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(IndexSpec_Mode_value, data, "IndexSpec_Mode") + if err != nil { + return err + } + *x = IndexSpec_Mode(value) + return nil +} + +type IndexDocumentParams_Freshness int32 + +const ( + IndexDocumentParams_SYNCHRONOUSLY IndexDocumentParams_Freshness = 0 + IndexDocumentParams_WHEN_CONVENIENT IndexDocumentParams_Freshness = 1 +) + +var IndexDocumentParams_Freshness_name = map[int32]string{ + 0: "SYNCHRONOUSLY", + 1: "WHEN_CONVENIENT", +} +var IndexDocumentParams_Freshness_value = map[string]int32{ + "SYNCHRONOUSLY": 0, + "WHEN_CONVENIENT": 1, +} + +func (x IndexDocumentParams_Freshness) Enum() *IndexDocumentParams_Freshness { + p := new(IndexDocumentParams_Freshness) + *p = x + return p +} +func (x IndexDocumentParams_Freshness) String() string { + return proto.EnumName(IndexDocumentParams_Freshness_name, int32(x)) +} +func (x *IndexDocumentParams_Freshness) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(IndexDocumentParams_Freshness_value, data, "IndexDocumentParams_Freshness") + if err != nil { + return err + } + *x = IndexDocumentParams_Freshness(value) + return nil +} + +type ScorerSpec_Scorer int32 + +const ( + ScorerSpec_RESCORING_MATCH_SCORER ScorerSpec_Scorer = 0 + ScorerSpec_MATCH_SCORER ScorerSpec_Scorer = 2 +) + +var ScorerSpec_Scorer_name = map[int32]string{ + 0: "RESCORING_MATCH_SCORER", + 2: "MATCH_SCORER", +} +var ScorerSpec_Scorer_value = map[string]int32{ + "RESCORING_MATCH_SCORER": 0, + "MATCH_SCORER": 2, +} + +func (x ScorerSpec_Scorer) Enum() *ScorerSpec_Scorer { + p := new(ScorerSpec_Scorer) + *p = x + return p +} +func (x ScorerSpec_Scorer) String() string { + return proto.EnumName(ScorerSpec_Scorer_name, int32(x)) +} +func (x *ScorerSpec_Scorer) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ScorerSpec_Scorer_value, data, "ScorerSpec_Scorer") + if err != nil { + return err + } + *x = ScorerSpec_Scorer(value) + return nil +} + +type SearchParams_CursorType int32 + +const ( + SearchParams_NONE SearchParams_CursorType = 0 + SearchParams_SINGLE SearchParams_CursorType = 1 + SearchParams_PER_RESULT SearchParams_CursorType = 2 +) + +var SearchParams_CursorType_name = map[int32]string{ + 0: "NONE", + 1: "SINGLE", + 2: "PER_RESULT", +} +var SearchParams_CursorType_value = map[string]int32{ + "NONE": 0, + "SINGLE": 1, + "PER_RESULT": 2, +} + +func (x SearchParams_CursorType) Enum() *SearchParams_CursorType { + p := new(SearchParams_CursorType) + *p = x + return p +} +func (x SearchParams_CursorType) String() string { + return proto.EnumName(SearchParams_CursorType_name, int32(x)) +} +func (x *SearchParams_CursorType) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(SearchParams_CursorType_value, data, "SearchParams_CursorType") + if err != nil { + return err + } + *x = SearchParams_CursorType(value) + return nil +} + +type SearchParams_ParsingMode int32 + +const ( + SearchParams_STRICT SearchParams_ParsingMode = 0 + SearchParams_RELAXED SearchParams_ParsingMode = 1 +) + +var SearchParams_ParsingMode_name = map[int32]string{ + 0: "STRICT", + 1: "RELAXED", +} +var SearchParams_ParsingMode_value = map[string]int32{ + "STRICT": 0, + "RELAXED": 1, +} + +func (x SearchParams_ParsingMode) Enum() *SearchParams_ParsingMode { + p := new(SearchParams_ParsingMode) + *p = x + return p +} +func (x SearchParams_ParsingMode) String() string { + return proto.EnumName(SearchParams_ParsingMode_name, int32(x)) +} +func (x *SearchParams_ParsingMode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(SearchParams_ParsingMode_value, data, "SearchParams_ParsingMode") + if err != nil { + return err + } + *x = SearchParams_ParsingMode(value) + return nil +} + +type Scope struct { + Type *Scope_Type `protobuf:"varint,1,opt,name=type,enum=search.Scope_Type" json:"type,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *Scope) Reset() { *m = Scope{} } +func (m *Scope) String() string { return proto.CompactTextString(m) } +func (*Scope) ProtoMessage() {} + +func (m *Scope) GetType() Scope_Type { + if m != nil && m.Type != nil { + return *m.Type + } + return Scope_USER_BY_CANONICAL_ID +} + +func (m *Scope) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +type Entry struct { + Scope *Scope `protobuf:"bytes,1,opt,name=scope" json:"scope,omitempty"` + Permission *Entry_Permission `protobuf:"varint,2,opt,name=permission,enum=search.Entry_Permission" json:"permission,omitempty"` + DisplayName *string `protobuf:"bytes,3,opt,name=display_name" json:"display_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *Entry) Reset() { *m = Entry{} } +func (m *Entry) String() string { return proto.CompactTextString(m) } +func (*Entry) ProtoMessage() {} + +func (m *Entry) GetScope() *Scope { + if m != nil { + return m.Scope + } + return nil +} + +func (m *Entry) GetPermission() Entry_Permission { + if m != nil && m.Permission != nil { + return *m.Permission + } + return Entry_READ +} + +func (m *Entry) GetDisplayName() string { + if m != nil && m.DisplayName != nil { + return *m.DisplayName + } + return "" +} + +type AccessControlList struct { + Owner *string `protobuf:"bytes,1,opt,name=owner" json:"owner,omitempty"` + Entries []*Entry `protobuf:"bytes,2,rep,name=entries" json:"entries,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *AccessControlList) Reset() { *m = AccessControlList{} } +func (m *AccessControlList) String() string { return proto.CompactTextString(m) } +func (*AccessControlList) ProtoMessage() {} + +func (m *AccessControlList) GetOwner() string { + if m != nil && m.Owner != nil { + return *m.Owner + } + return "" +} + +func (m *AccessControlList) GetEntries() []*Entry { + if m != nil { + return m.Entries + } + return nil +} + +type FieldValue struct { + Type *FieldValue_ContentType `protobuf:"varint,1,opt,name=type,enum=search.FieldValue_ContentType,def=0" json:"type,omitempty"` + Language *string `protobuf:"bytes,2,opt,name=language,def=en" json:"language,omitempty"` + StringValue *string `protobuf:"bytes,3,opt,name=string_value" json:"string_value,omitempty"` + Geo *FieldValue_Geo `protobuf:"group,4,opt,name=Geo" json:"geo,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FieldValue) Reset() { *m = FieldValue{} } +func (m *FieldValue) String() string { return proto.CompactTextString(m) } +func (*FieldValue) ProtoMessage() {} + +const Default_FieldValue_Type FieldValue_ContentType = FieldValue_TEXT +const Default_FieldValue_Language string = "en" + +func (m *FieldValue) GetType() FieldValue_ContentType { + if m != nil && m.Type != nil { + return *m.Type + } + return Default_FieldValue_Type +} + +func (m *FieldValue) GetLanguage() string { + if m != nil && m.Language != nil { + return *m.Language + } + return Default_FieldValue_Language +} + +func (m *FieldValue) GetStringValue() string { + if m != nil && m.StringValue != nil { + return *m.StringValue + } + return "" +} + +func (m *FieldValue) GetGeo() *FieldValue_Geo { + if m != nil { + return m.Geo + } + return nil +} + +type FieldValue_Geo struct { + Lat *float64 `protobuf:"fixed64,5,req,name=lat" json:"lat,omitempty"` + Lng *float64 `protobuf:"fixed64,6,req,name=lng" json:"lng,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FieldValue_Geo) Reset() { *m = FieldValue_Geo{} } +func (m *FieldValue_Geo) String() string { return proto.CompactTextString(m) } +func (*FieldValue_Geo) ProtoMessage() {} + +func (m *FieldValue_Geo) GetLat() float64 { + if m != nil && m.Lat != nil { + return *m.Lat + } + return 0 +} + +func (m *FieldValue_Geo) GetLng() float64 { + if m != nil && m.Lng != nil { + return *m.Lng + } + return 0 +} + +type Field struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Value *FieldValue `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *Field) Reset() { *m = Field{} } +func (m *Field) String() string { return proto.CompactTextString(m) } +func (*Field) ProtoMessage() {} + +func (m *Field) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *Field) GetValue() *FieldValue { + if m != nil { + return m.Value + } + return nil +} + +type FieldTypes struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Type []FieldValue_ContentType `protobuf:"varint,2,rep,name=type,enum=search.FieldValue_ContentType" json:"type,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FieldTypes) Reset() { *m = FieldTypes{} } +func (m *FieldTypes) String() string { return proto.CompactTextString(m) } +func (*FieldTypes) ProtoMessage() {} + +func (m *FieldTypes) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FieldTypes) GetType() []FieldValue_ContentType { + if m != nil { + return m.Type + } + return nil +} + +type IndexShardSettings struct { + PrevNumShards []int32 `protobuf:"varint,1,rep,name=prev_num_shards" json:"prev_num_shards,omitempty"` + NumShards *int32 `protobuf:"varint,2,req,name=num_shards,def=1" json:"num_shards,omitempty"` + PrevNumShardsSearchFalse []int32 `protobuf:"varint,3,rep,name=prev_num_shards_search_false" json:"prev_num_shards_search_false,omitempty"` + LocalReplica *string `protobuf:"bytes,4,opt,name=local_replica,def=" json:"local_replica,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexShardSettings) Reset() { *m = IndexShardSettings{} } +func (m *IndexShardSettings) String() string { return proto.CompactTextString(m) } +func (*IndexShardSettings) ProtoMessage() {} + +const Default_IndexShardSettings_NumShards int32 = 1 + +func (m *IndexShardSettings) GetPrevNumShards() []int32 { + if m != nil { + return m.PrevNumShards + } + return nil +} + +func (m *IndexShardSettings) GetNumShards() int32 { + if m != nil && m.NumShards != nil { + return *m.NumShards + } + return Default_IndexShardSettings_NumShards +} + +func (m *IndexShardSettings) GetPrevNumShardsSearchFalse() []int32 { + if m != nil { + return m.PrevNumShardsSearchFalse + } + return nil +} + +func (m *IndexShardSettings) GetLocalReplica() string { + if m != nil && m.LocalReplica != nil { + return *m.LocalReplica + } + return "" +} + +type FacetValue struct { + Type *FacetValue_ContentType `protobuf:"varint,1,opt,name=type,enum=search.FacetValue_ContentType,def=2" json:"type,omitempty"` + StringValue *string `protobuf:"bytes,3,opt,name=string_value" json:"string_value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetValue) Reset() { *m = FacetValue{} } +func (m *FacetValue) String() string { return proto.CompactTextString(m) } +func (*FacetValue) ProtoMessage() {} + +const Default_FacetValue_Type FacetValue_ContentType = FacetValue_ATOM + +func (m *FacetValue) GetType() FacetValue_ContentType { + if m != nil && m.Type != nil { + return *m.Type + } + return Default_FacetValue_Type +} + +func (m *FacetValue) GetStringValue() string { + if m != nil && m.StringValue != nil { + return *m.StringValue + } + return "" +} + +type Facet struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Value *FacetValue `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *Facet) Reset() { *m = Facet{} } +func (m *Facet) String() string { return proto.CompactTextString(m) } +func (*Facet) ProtoMessage() {} + +func (m *Facet) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *Facet) GetValue() *FacetValue { + if m != nil { + return m.Value + } + return nil +} + +type DocumentMetadata struct { + Version *int64 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` + CommittedStVersion *int64 `protobuf:"varint,2,opt,name=committed_st_version" json:"committed_st_version,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DocumentMetadata) Reset() { *m = DocumentMetadata{} } +func (m *DocumentMetadata) String() string { return proto.CompactTextString(m) } +func (*DocumentMetadata) ProtoMessage() {} + +func (m *DocumentMetadata) GetVersion() int64 { + if m != nil && m.Version != nil { + return *m.Version + } + return 0 +} + +func (m *DocumentMetadata) GetCommittedStVersion() int64 { + if m != nil && m.CommittedStVersion != nil { + return *m.CommittedStVersion + } + return 0 +} + +type Document struct { + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Language *string `protobuf:"bytes,2,opt,name=language,def=en" json:"language,omitempty"` + Field []*Field `protobuf:"bytes,3,rep,name=field" json:"field,omitempty"` + OrderId *int32 `protobuf:"varint,4,opt,name=order_id" json:"order_id,omitempty"` + Storage *Document_Storage `protobuf:"varint,5,opt,name=storage,enum=search.Document_Storage,def=0" json:"storage,omitempty"` + Facet []*Facet `protobuf:"bytes,8,rep,name=facet" json:"facet,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *Document) Reset() { *m = Document{} } +func (m *Document) String() string { return proto.CompactTextString(m) } +func (*Document) ProtoMessage() {} + +const Default_Document_Language string = "en" +const Default_Document_Storage Document_Storage = Document_DISK + +func (m *Document) GetId() string { + if m != nil && m.Id != nil { + return *m.Id + } + return "" +} + +func (m *Document) GetLanguage() string { + if m != nil && m.Language != nil { + return *m.Language + } + return Default_Document_Language +} + +func (m *Document) GetField() []*Field { + if m != nil { + return m.Field + } + return nil +} + +func (m *Document) GetOrderId() int32 { + if m != nil && m.OrderId != nil { + return *m.OrderId + } + return 0 +} + +func (m *Document) GetStorage() Document_Storage { + if m != nil && m.Storage != nil { + return *m.Storage + } + return Default_Document_Storage +} + +func (m *Document) GetFacet() []*Facet { + if m != nil { + return m.Facet + } + return nil +} + +type SearchServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *SearchServiceError) Reset() { *m = SearchServiceError{} } +func (m *SearchServiceError) String() string { return proto.CompactTextString(m) } +func (*SearchServiceError) ProtoMessage() {} + +type RequestStatus struct { + Code *SearchServiceError_ErrorCode `protobuf:"varint,1,req,name=code,enum=search.SearchServiceError_ErrorCode" json:"code,omitempty"` + ErrorDetail *string `protobuf:"bytes,2,opt,name=error_detail" json:"error_detail,omitempty"` + CanonicalCode *int32 `protobuf:"varint,3,opt,name=canonical_code" json:"canonical_code,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *RequestStatus) Reset() { *m = RequestStatus{} } +func (m *RequestStatus) String() string { return proto.CompactTextString(m) } +func (*RequestStatus) ProtoMessage() {} + +func (m *RequestStatus) GetCode() SearchServiceError_ErrorCode { + if m != nil && m.Code != nil { + return *m.Code + } + return SearchServiceError_OK +} + +func (m *RequestStatus) GetErrorDetail() string { + if m != nil && m.ErrorDetail != nil { + return *m.ErrorDetail + } + return "" +} + +func (m *RequestStatus) GetCanonicalCode() int32 { + if m != nil && m.CanonicalCode != nil { + return *m.CanonicalCode + } + return 0 +} + +type IndexSpec struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Consistency *IndexSpec_Consistency `protobuf:"varint,2,opt,name=consistency,enum=search.IndexSpec_Consistency,def=1" json:"consistency,omitempty"` + Namespace *string `protobuf:"bytes,3,opt,name=namespace" json:"namespace,omitempty"` + Version *int32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"` + Source *IndexSpec_Source `protobuf:"varint,5,opt,name=source,enum=search.IndexSpec_Source,def=0" json:"source,omitempty"` + Mode *IndexSpec_Mode `protobuf:"varint,6,opt,name=mode,enum=search.IndexSpec_Mode,def=0" json:"mode,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexSpec) Reset() { *m = IndexSpec{} } +func (m *IndexSpec) String() string { return proto.CompactTextString(m) } +func (*IndexSpec) ProtoMessage() {} + +const Default_IndexSpec_Consistency IndexSpec_Consistency = IndexSpec_PER_DOCUMENT +const Default_IndexSpec_Source IndexSpec_Source = IndexSpec_SEARCH +const Default_IndexSpec_Mode IndexSpec_Mode = IndexSpec_PRIORITY + +func (m *IndexSpec) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *IndexSpec) GetConsistency() IndexSpec_Consistency { + if m != nil && m.Consistency != nil { + return *m.Consistency + } + return Default_IndexSpec_Consistency +} + +func (m *IndexSpec) GetNamespace() string { + if m != nil && m.Namespace != nil { + return *m.Namespace + } + return "" +} + +func (m *IndexSpec) GetVersion() int32 { + if m != nil && m.Version != nil { + return *m.Version + } + return 0 +} + +func (m *IndexSpec) GetSource() IndexSpec_Source { + if m != nil && m.Source != nil { + return *m.Source + } + return Default_IndexSpec_Source +} + +func (m *IndexSpec) GetMode() IndexSpec_Mode { + if m != nil && m.Mode != nil { + return *m.Mode + } + return Default_IndexSpec_Mode +} + +type IndexMetadata struct { + IndexSpec *IndexSpec `protobuf:"bytes,1,req,name=index_spec" json:"index_spec,omitempty"` + Field []*FieldTypes `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` + Storage *IndexMetadata_Storage `protobuf:"bytes,3,opt,name=storage" json:"storage,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexMetadata) Reset() { *m = IndexMetadata{} } +func (m *IndexMetadata) String() string { return proto.CompactTextString(m) } +func (*IndexMetadata) ProtoMessage() {} + +func (m *IndexMetadata) GetIndexSpec() *IndexSpec { + if m != nil { + return m.IndexSpec + } + return nil +} + +func (m *IndexMetadata) GetField() []*FieldTypes { + if m != nil { + return m.Field + } + return nil +} + +func (m *IndexMetadata) GetStorage() *IndexMetadata_Storage { + if m != nil { + return m.Storage + } + return nil +} + +type IndexMetadata_Storage struct { + AmountUsed *int64 `protobuf:"varint,1,opt,name=amount_used" json:"amount_used,omitempty"` + Limit *int64 `protobuf:"varint,2,opt,name=limit" json:"limit,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexMetadata_Storage) Reset() { *m = IndexMetadata_Storage{} } +func (m *IndexMetadata_Storage) String() string { return proto.CompactTextString(m) } +func (*IndexMetadata_Storage) ProtoMessage() {} + +func (m *IndexMetadata_Storage) GetAmountUsed() int64 { + if m != nil && m.AmountUsed != nil { + return *m.AmountUsed + } + return 0 +} + +func (m *IndexMetadata_Storage) GetLimit() int64 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return 0 +} + +type IndexDocumentParams struct { + Document []*Document `protobuf:"bytes,1,rep,name=document" json:"document,omitempty"` + Freshness *IndexDocumentParams_Freshness `protobuf:"varint,2,opt,name=freshness,enum=search.IndexDocumentParams_Freshness,def=0" json:"freshness,omitempty"` + IndexSpec *IndexSpec `protobuf:"bytes,3,req,name=index_spec" json:"index_spec,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexDocumentParams) Reset() { *m = IndexDocumentParams{} } +func (m *IndexDocumentParams) String() string { return proto.CompactTextString(m) } +func (*IndexDocumentParams) ProtoMessage() {} + +const Default_IndexDocumentParams_Freshness IndexDocumentParams_Freshness = IndexDocumentParams_SYNCHRONOUSLY + +func (m *IndexDocumentParams) GetDocument() []*Document { + if m != nil { + return m.Document + } + return nil +} + +func (m *IndexDocumentParams) GetFreshness() IndexDocumentParams_Freshness { + if m != nil && m.Freshness != nil { + return *m.Freshness + } + return Default_IndexDocumentParams_Freshness +} + +func (m *IndexDocumentParams) GetIndexSpec() *IndexSpec { + if m != nil { + return m.IndexSpec + } + return nil +} + +type IndexDocumentRequest struct { + Params *IndexDocumentParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` + AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexDocumentRequest) Reset() { *m = IndexDocumentRequest{} } +func (m *IndexDocumentRequest) String() string { return proto.CompactTextString(m) } +func (*IndexDocumentRequest) ProtoMessage() {} + +func (m *IndexDocumentRequest) GetParams() *IndexDocumentParams { + if m != nil { + return m.Params + } + return nil +} + +func (m *IndexDocumentRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type IndexDocumentResponse struct { + Status []*RequestStatus `protobuf:"bytes,1,rep,name=status" json:"status,omitempty"` + DocId []string `protobuf:"bytes,2,rep,name=doc_id" json:"doc_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *IndexDocumentResponse) Reset() { *m = IndexDocumentResponse{} } +func (m *IndexDocumentResponse) String() string { return proto.CompactTextString(m) } +func (*IndexDocumentResponse) ProtoMessage() {} + +func (m *IndexDocumentResponse) GetStatus() []*RequestStatus { + if m != nil { + return m.Status + } + return nil +} + +func (m *IndexDocumentResponse) GetDocId() []string { + if m != nil { + return m.DocId + } + return nil +} + +type DeleteDocumentParams struct { + DocId []string `protobuf:"bytes,1,rep,name=doc_id" json:"doc_id,omitempty"` + IndexSpec *IndexSpec `protobuf:"bytes,2,req,name=index_spec" json:"index_spec,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteDocumentParams) Reset() { *m = DeleteDocumentParams{} } +func (m *DeleteDocumentParams) String() string { return proto.CompactTextString(m) } +func (*DeleteDocumentParams) ProtoMessage() {} + +func (m *DeleteDocumentParams) GetDocId() []string { + if m != nil { + return m.DocId + } + return nil +} + +func (m *DeleteDocumentParams) GetIndexSpec() *IndexSpec { + if m != nil { + return m.IndexSpec + } + return nil +} + +type DeleteDocumentRequest struct { + Params *DeleteDocumentParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` + AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteDocumentRequest) Reset() { *m = DeleteDocumentRequest{} } +func (m *DeleteDocumentRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteDocumentRequest) ProtoMessage() {} + +func (m *DeleteDocumentRequest) GetParams() *DeleteDocumentParams { + if m != nil { + return m.Params + } + return nil +} + +func (m *DeleteDocumentRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type DeleteDocumentResponse struct { + Status []*RequestStatus `protobuf:"bytes,1,rep,name=status" json:"status,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteDocumentResponse) Reset() { *m = DeleteDocumentResponse{} } +func (m *DeleteDocumentResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteDocumentResponse) ProtoMessage() {} + +func (m *DeleteDocumentResponse) GetStatus() []*RequestStatus { + if m != nil { + return m.Status + } + return nil +} + +type ListDocumentsParams struct { + IndexSpec *IndexSpec `protobuf:"bytes,1,req,name=index_spec" json:"index_spec,omitempty"` + StartDocId *string `protobuf:"bytes,2,opt,name=start_doc_id" json:"start_doc_id,omitempty"` + IncludeStartDoc *bool `protobuf:"varint,3,opt,name=include_start_doc,def=1" json:"include_start_doc,omitempty"` + Limit *int32 `protobuf:"varint,4,opt,name=limit,def=100" json:"limit,omitempty"` + KeysOnly *bool `protobuf:"varint,5,opt,name=keys_only" json:"keys_only,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListDocumentsParams) Reset() { *m = ListDocumentsParams{} } +func (m *ListDocumentsParams) String() string { return proto.CompactTextString(m) } +func (*ListDocumentsParams) ProtoMessage() {} + +const Default_ListDocumentsParams_IncludeStartDoc bool = true +const Default_ListDocumentsParams_Limit int32 = 100 + +func (m *ListDocumentsParams) GetIndexSpec() *IndexSpec { + if m != nil { + return m.IndexSpec + } + return nil +} + +func (m *ListDocumentsParams) GetStartDocId() string { + if m != nil && m.StartDocId != nil { + return *m.StartDocId + } + return "" +} + +func (m *ListDocumentsParams) GetIncludeStartDoc() bool { + if m != nil && m.IncludeStartDoc != nil { + return *m.IncludeStartDoc + } + return Default_ListDocumentsParams_IncludeStartDoc +} + +func (m *ListDocumentsParams) GetLimit() int32 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return Default_ListDocumentsParams_Limit +} + +func (m *ListDocumentsParams) GetKeysOnly() bool { + if m != nil && m.KeysOnly != nil { + return *m.KeysOnly + } + return false +} + +type ListDocumentsRequest struct { + Params *ListDocumentsParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` + AppId []byte `protobuf:"bytes,2,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListDocumentsRequest) Reset() { *m = ListDocumentsRequest{} } +func (m *ListDocumentsRequest) String() string { return proto.CompactTextString(m) } +func (*ListDocumentsRequest) ProtoMessage() {} + +func (m *ListDocumentsRequest) GetParams() *ListDocumentsParams { + if m != nil { + return m.Params + } + return nil +} + +func (m *ListDocumentsRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type ListDocumentsResponse struct { + Status *RequestStatus `protobuf:"bytes,1,req,name=status" json:"status,omitempty"` + Document []*Document `protobuf:"bytes,2,rep,name=document" json:"document,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListDocumentsResponse) Reset() { *m = ListDocumentsResponse{} } +func (m *ListDocumentsResponse) String() string { return proto.CompactTextString(m) } +func (*ListDocumentsResponse) ProtoMessage() {} + +func (m *ListDocumentsResponse) GetStatus() *RequestStatus { + if m != nil { + return m.Status + } + return nil +} + +func (m *ListDocumentsResponse) GetDocument() []*Document { + if m != nil { + return m.Document + } + return nil +} + +type ListIndexesParams struct { + FetchSchema *bool `protobuf:"varint,1,opt,name=fetch_schema" json:"fetch_schema,omitempty"` + Limit *int32 `protobuf:"varint,2,opt,name=limit,def=20" json:"limit,omitempty"` + Namespace *string `protobuf:"bytes,3,opt,name=namespace" json:"namespace,omitempty"` + StartIndexName *string `protobuf:"bytes,4,opt,name=start_index_name" json:"start_index_name,omitempty"` + IncludeStartIndex *bool `protobuf:"varint,5,opt,name=include_start_index,def=1" json:"include_start_index,omitempty"` + IndexNamePrefix *string `protobuf:"bytes,6,opt,name=index_name_prefix" json:"index_name_prefix,omitempty"` + Offset *int32 `protobuf:"varint,7,opt,name=offset" json:"offset,omitempty"` + Source *IndexSpec_Source `protobuf:"varint,8,opt,name=source,enum=search.IndexSpec_Source,def=0" json:"source,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListIndexesParams) Reset() { *m = ListIndexesParams{} } +func (m *ListIndexesParams) String() string { return proto.CompactTextString(m) } +func (*ListIndexesParams) ProtoMessage() {} + +const Default_ListIndexesParams_Limit int32 = 20 +const Default_ListIndexesParams_IncludeStartIndex bool = true +const Default_ListIndexesParams_Source IndexSpec_Source = IndexSpec_SEARCH + +func (m *ListIndexesParams) GetFetchSchema() bool { + if m != nil && m.FetchSchema != nil { + return *m.FetchSchema + } + return false +} + +func (m *ListIndexesParams) GetLimit() int32 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return Default_ListIndexesParams_Limit +} + +func (m *ListIndexesParams) GetNamespace() string { + if m != nil && m.Namespace != nil { + return *m.Namespace + } + return "" +} + +func (m *ListIndexesParams) GetStartIndexName() string { + if m != nil && m.StartIndexName != nil { + return *m.StartIndexName + } + return "" +} + +func (m *ListIndexesParams) GetIncludeStartIndex() bool { + if m != nil && m.IncludeStartIndex != nil { + return *m.IncludeStartIndex + } + return Default_ListIndexesParams_IncludeStartIndex +} + +func (m *ListIndexesParams) GetIndexNamePrefix() string { + if m != nil && m.IndexNamePrefix != nil { + return *m.IndexNamePrefix + } + return "" +} + +func (m *ListIndexesParams) GetOffset() int32 { + if m != nil && m.Offset != nil { + return *m.Offset + } + return 0 +} + +func (m *ListIndexesParams) GetSource() IndexSpec_Source { + if m != nil && m.Source != nil { + return *m.Source + } + return Default_ListIndexesParams_Source +} + +type ListIndexesRequest struct { + Params *ListIndexesParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` + AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListIndexesRequest) Reset() { *m = ListIndexesRequest{} } +func (m *ListIndexesRequest) String() string { return proto.CompactTextString(m) } +func (*ListIndexesRequest) ProtoMessage() {} + +func (m *ListIndexesRequest) GetParams() *ListIndexesParams { + if m != nil { + return m.Params + } + return nil +} + +func (m *ListIndexesRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type ListIndexesResponse struct { + Status *RequestStatus `protobuf:"bytes,1,req,name=status" json:"status,omitempty"` + IndexMetadata []*IndexMetadata `protobuf:"bytes,2,rep,name=index_metadata" json:"index_metadata,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListIndexesResponse) Reset() { *m = ListIndexesResponse{} } +func (m *ListIndexesResponse) String() string { return proto.CompactTextString(m) } +func (*ListIndexesResponse) ProtoMessage() {} + +func (m *ListIndexesResponse) GetStatus() *RequestStatus { + if m != nil { + return m.Status + } + return nil +} + +func (m *ListIndexesResponse) GetIndexMetadata() []*IndexMetadata { + if m != nil { + return m.IndexMetadata + } + return nil +} + +type DeleteSchemaParams struct { + Source *IndexSpec_Source `protobuf:"varint,1,opt,name=source,enum=search.IndexSpec_Source,def=0" json:"source,omitempty"` + IndexSpec []*IndexSpec `protobuf:"bytes,2,rep,name=index_spec" json:"index_spec,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteSchemaParams) Reset() { *m = DeleteSchemaParams{} } +func (m *DeleteSchemaParams) String() string { return proto.CompactTextString(m) } +func (*DeleteSchemaParams) ProtoMessage() {} + +const Default_DeleteSchemaParams_Source IndexSpec_Source = IndexSpec_SEARCH + +func (m *DeleteSchemaParams) GetSource() IndexSpec_Source { + if m != nil && m.Source != nil { + return *m.Source + } + return Default_DeleteSchemaParams_Source +} + +func (m *DeleteSchemaParams) GetIndexSpec() []*IndexSpec { + if m != nil { + return m.IndexSpec + } + return nil +} + +type DeleteSchemaRequest struct { + Params *DeleteSchemaParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` + AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteSchemaRequest) Reset() { *m = DeleteSchemaRequest{} } +func (m *DeleteSchemaRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteSchemaRequest) ProtoMessage() {} + +func (m *DeleteSchemaRequest) GetParams() *DeleteSchemaParams { + if m != nil { + return m.Params + } + return nil +} + +func (m *DeleteSchemaRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type DeleteSchemaResponse struct { + Status []*RequestStatus `protobuf:"bytes,1,rep,name=status" json:"status,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *DeleteSchemaResponse) Reset() { *m = DeleteSchemaResponse{} } +func (m *DeleteSchemaResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteSchemaResponse) ProtoMessage() {} + +func (m *DeleteSchemaResponse) GetStatus() []*RequestStatus { + if m != nil { + return m.Status + } + return nil +} + +type SortSpec struct { + SortExpression *string `protobuf:"bytes,1,req,name=sort_expression" json:"sort_expression,omitempty"` + SortDescending *bool `protobuf:"varint,2,opt,name=sort_descending,def=1" json:"sort_descending,omitempty"` + DefaultValueText *string `protobuf:"bytes,4,opt,name=default_value_text" json:"default_value_text,omitempty"` + DefaultValueNumeric *float64 `protobuf:"fixed64,5,opt,name=default_value_numeric" json:"default_value_numeric,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SortSpec) Reset() { *m = SortSpec{} } +func (m *SortSpec) String() string { return proto.CompactTextString(m) } +func (*SortSpec) ProtoMessage() {} + +const Default_SortSpec_SortDescending bool = true + +func (m *SortSpec) GetSortExpression() string { + if m != nil && m.SortExpression != nil { + return *m.SortExpression + } + return "" +} + +func (m *SortSpec) GetSortDescending() bool { + if m != nil && m.SortDescending != nil { + return *m.SortDescending + } + return Default_SortSpec_SortDescending +} + +func (m *SortSpec) GetDefaultValueText() string { + if m != nil && m.DefaultValueText != nil { + return *m.DefaultValueText + } + return "" +} + +func (m *SortSpec) GetDefaultValueNumeric() float64 { + if m != nil && m.DefaultValueNumeric != nil { + return *m.DefaultValueNumeric + } + return 0 +} + +type ScorerSpec struct { + Scorer *ScorerSpec_Scorer `protobuf:"varint,1,opt,name=scorer,enum=search.ScorerSpec_Scorer,def=2" json:"scorer,omitempty"` + Limit *int32 `protobuf:"varint,2,opt,name=limit,def=1000" json:"limit,omitempty"` + MatchScorerParameters *string `protobuf:"bytes,9,opt,name=match_scorer_parameters" json:"match_scorer_parameters,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ScorerSpec) Reset() { *m = ScorerSpec{} } +func (m *ScorerSpec) String() string { return proto.CompactTextString(m) } +func (*ScorerSpec) ProtoMessage() {} + +const Default_ScorerSpec_Scorer ScorerSpec_Scorer = ScorerSpec_MATCH_SCORER +const Default_ScorerSpec_Limit int32 = 1000 + +func (m *ScorerSpec) GetScorer() ScorerSpec_Scorer { + if m != nil && m.Scorer != nil { + return *m.Scorer + } + return Default_ScorerSpec_Scorer +} + +func (m *ScorerSpec) GetLimit() int32 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return Default_ScorerSpec_Limit +} + +func (m *ScorerSpec) GetMatchScorerParameters() string { + if m != nil && m.MatchScorerParameters != nil { + return *m.MatchScorerParameters + } + return "" +} + +type FieldSpec struct { + Name []string `protobuf:"bytes,1,rep,name=name" json:"name,omitempty"` + Expression []*FieldSpec_Expression `protobuf:"group,2,rep,name=Expression" json:"expression,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FieldSpec) Reset() { *m = FieldSpec{} } +func (m *FieldSpec) String() string { return proto.CompactTextString(m) } +func (*FieldSpec) ProtoMessage() {} + +func (m *FieldSpec) GetName() []string { + if m != nil { + return m.Name + } + return nil +} + +func (m *FieldSpec) GetExpression() []*FieldSpec_Expression { + if m != nil { + return m.Expression + } + return nil +} + +type FieldSpec_Expression struct { + Name *string `protobuf:"bytes,3,req,name=name" json:"name,omitempty"` + Expression *string `protobuf:"bytes,4,req,name=expression" json:"expression,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FieldSpec_Expression) Reset() { *m = FieldSpec_Expression{} } +func (m *FieldSpec_Expression) String() string { return proto.CompactTextString(m) } +func (*FieldSpec_Expression) ProtoMessage() {} + +func (m *FieldSpec_Expression) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FieldSpec_Expression) GetExpression() string { + if m != nil && m.Expression != nil { + return *m.Expression + } + return "" +} + +type FacetRange struct { + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Start *string `protobuf:"bytes,2,opt,name=start" json:"start,omitempty"` + End *string `protobuf:"bytes,3,opt,name=end" json:"end,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetRange) Reset() { *m = FacetRange{} } +func (m *FacetRange) String() string { return proto.CompactTextString(m) } +func (*FacetRange) ProtoMessage() {} + +func (m *FacetRange) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FacetRange) GetStart() string { + if m != nil && m.Start != nil { + return *m.Start + } + return "" +} + +func (m *FacetRange) GetEnd() string { + if m != nil && m.End != nil { + return *m.End + } + return "" +} + +type FacetRequestParam struct { + ValueLimit *int32 `protobuf:"varint,1,opt,name=value_limit" json:"value_limit,omitempty"` + Range []*FacetRange `protobuf:"bytes,2,rep,name=range" json:"range,omitempty"` + ValueConstraint []string `protobuf:"bytes,3,rep,name=value_constraint" json:"value_constraint,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetRequestParam) Reset() { *m = FacetRequestParam{} } +func (m *FacetRequestParam) String() string { return proto.CompactTextString(m) } +func (*FacetRequestParam) ProtoMessage() {} + +func (m *FacetRequestParam) GetValueLimit() int32 { + if m != nil && m.ValueLimit != nil { + return *m.ValueLimit + } + return 0 +} + +func (m *FacetRequestParam) GetRange() []*FacetRange { + if m != nil { + return m.Range + } + return nil +} + +func (m *FacetRequestParam) GetValueConstraint() []string { + if m != nil { + return m.ValueConstraint + } + return nil +} + +type FacetAutoDetectParam struct { + ValueLimit *int32 `protobuf:"varint,1,opt,name=value_limit,def=10" json:"value_limit,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetAutoDetectParam) Reset() { *m = FacetAutoDetectParam{} } +func (m *FacetAutoDetectParam) String() string { return proto.CompactTextString(m) } +func (*FacetAutoDetectParam) ProtoMessage() {} + +const Default_FacetAutoDetectParam_ValueLimit int32 = 10 + +func (m *FacetAutoDetectParam) GetValueLimit() int32 { + if m != nil && m.ValueLimit != nil { + return *m.ValueLimit + } + return Default_FacetAutoDetectParam_ValueLimit +} + +type FacetRequest struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Params *FacetRequestParam `protobuf:"bytes,2,opt,name=params" json:"params,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetRequest) Reset() { *m = FacetRequest{} } +func (m *FacetRequest) String() string { return proto.CompactTextString(m) } +func (*FacetRequest) ProtoMessage() {} + +func (m *FacetRequest) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FacetRequest) GetParams() *FacetRequestParam { + if m != nil { + return m.Params + } + return nil +} + +type FacetRefinement struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + Range *FacetRefinement_Range `protobuf:"bytes,3,opt,name=range" json:"range,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetRefinement) Reset() { *m = FacetRefinement{} } +func (m *FacetRefinement) String() string { return proto.CompactTextString(m) } +func (*FacetRefinement) ProtoMessage() {} + +func (m *FacetRefinement) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FacetRefinement) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +func (m *FacetRefinement) GetRange() *FacetRefinement_Range { + if m != nil { + return m.Range + } + return nil +} + +type FacetRefinement_Range struct { + Start *string `protobuf:"bytes,1,opt,name=start" json:"start,omitempty"` + End *string `protobuf:"bytes,2,opt,name=end" json:"end,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetRefinement_Range) Reset() { *m = FacetRefinement_Range{} } +func (m *FacetRefinement_Range) String() string { return proto.CompactTextString(m) } +func (*FacetRefinement_Range) ProtoMessage() {} + +func (m *FacetRefinement_Range) GetStart() string { + if m != nil && m.Start != nil { + return *m.Start + } + return "" +} + +func (m *FacetRefinement_Range) GetEnd() string { + if m != nil && m.End != nil { + return *m.End + } + return "" +} + +type SearchParams struct { + IndexSpec *IndexSpec `protobuf:"bytes,1,req,name=index_spec" json:"index_spec,omitempty"` + Query *string `protobuf:"bytes,2,req,name=query" json:"query,omitempty"` + Cursor *string `protobuf:"bytes,4,opt,name=cursor" json:"cursor,omitempty"` + Offset *int32 `protobuf:"varint,11,opt,name=offset" json:"offset,omitempty"` + CursorType *SearchParams_CursorType `protobuf:"varint,5,opt,name=cursor_type,enum=search.SearchParams_CursorType,def=0" json:"cursor_type,omitempty"` + Limit *int32 `protobuf:"varint,6,opt,name=limit,def=20" json:"limit,omitempty"` + MatchedCountAccuracy *int32 `protobuf:"varint,7,opt,name=matched_count_accuracy" json:"matched_count_accuracy,omitempty"` + SortSpec []*SortSpec `protobuf:"bytes,8,rep,name=sort_spec" json:"sort_spec,omitempty"` + ScorerSpec *ScorerSpec `protobuf:"bytes,9,opt,name=scorer_spec" json:"scorer_spec,omitempty"` + FieldSpec *FieldSpec `protobuf:"bytes,10,opt,name=field_spec" json:"field_spec,omitempty"` + KeysOnly *bool `protobuf:"varint,12,opt,name=keys_only" json:"keys_only,omitempty"` + ParsingMode *SearchParams_ParsingMode `protobuf:"varint,13,opt,name=parsing_mode,enum=search.SearchParams_ParsingMode,def=0" json:"parsing_mode,omitempty"` + AutoDiscoverFacetCount *int32 `protobuf:"varint,15,opt,name=auto_discover_facet_count,def=0" json:"auto_discover_facet_count,omitempty"` + IncludeFacet []*FacetRequest `protobuf:"bytes,16,rep,name=include_facet" json:"include_facet,omitempty"` + FacetRefinement []*FacetRefinement `protobuf:"bytes,17,rep,name=facet_refinement" json:"facet_refinement,omitempty"` + FacetAutoDetectParam *FacetAutoDetectParam `protobuf:"bytes,18,opt,name=facet_auto_detect_param" json:"facet_auto_detect_param,omitempty"` + FacetDepth *int32 `protobuf:"varint,19,opt,name=facet_depth,def=1000" json:"facet_depth,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SearchParams) Reset() { *m = SearchParams{} } +func (m *SearchParams) String() string { return proto.CompactTextString(m) } +func (*SearchParams) ProtoMessage() {} + +const Default_SearchParams_CursorType SearchParams_CursorType = SearchParams_NONE +const Default_SearchParams_Limit int32 = 20 +const Default_SearchParams_ParsingMode SearchParams_ParsingMode = SearchParams_STRICT +const Default_SearchParams_AutoDiscoverFacetCount int32 = 0 +const Default_SearchParams_FacetDepth int32 = 1000 + +func (m *SearchParams) GetIndexSpec() *IndexSpec { + if m != nil { + return m.IndexSpec + } + return nil +} + +func (m *SearchParams) GetQuery() string { + if m != nil && m.Query != nil { + return *m.Query + } + return "" +} + +func (m *SearchParams) GetCursor() string { + if m != nil && m.Cursor != nil { + return *m.Cursor + } + return "" +} + +func (m *SearchParams) GetOffset() int32 { + if m != nil && m.Offset != nil { + return *m.Offset + } + return 0 +} + +func (m *SearchParams) GetCursorType() SearchParams_CursorType { + if m != nil && m.CursorType != nil { + return *m.CursorType + } + return Default_SearchParams_CursorType +} + +func (m *SearchParams) GetLimit() int32 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return Default_SearchParams_Limit +} + +func (m *SearchParams) GetMatchedCountAccuracy() int32 { + if m != nil && m.MatchedCountAccuracy != nil { + return *m.MatchedCountAccuracy + } + return 0 +} + +func (m *SearchParams) GetSortSpec() []*SortSpec { + if m != nil { + return m.SortSpec + } + return nil +} + +func (m *SearchParams) GetScorerSpec() *ScorerSpec { + if m != nil { + return m.ScorerSpec + } + return nil +} + +func (m *SearchParams) GetFieldSpec() *FieldSpec { + if m != nil { + return m.FieldSpec + } + return nil +} + +func (m *SearchParams) GetKeysOnly() bool { + if m != nil && m.KeysOnly != nil { + return *m.KeysOnly + } + return false +} + +func (m *SearchParams) GetParsingMode() SearchParams_ParsingMode { + if m != nil && m.ParsingMode != nil { + return *m.ParsingMode + } + return Default_SearchParams_ParsingMode +} + +func (m *SearchParams) GetAutoDiscoverFacetCount() int32 { + if m != nil && m.AutoDiscoverFacetCount != nil { + return *m.AutoDiscoverFacetCount + } + return Default_SearchParams_AutoDiscoverFacetCount +} + +func (m *SearchParams) GetIncludeFacet() []*FacetRequest { + if m != nil { + return m.IncludeFacet + } + return nil +} + +func (m *SearchParams) GetFacetRefinement() []*FacetRefinement { + if m != nil { + return m.FacetRefinement + } + return nil +} + +func (m *SearchParams) GetFacetAutoDetectParam() *FacetAutoDetectParam { + if m != nil { + return m.FacetAutoDetectParam + } + return nil +} + +func (m *SearchParams) GetFacetDepth() int32 { + if m != nil && m.FacetDepth != nil { + return *m.FacetDepth + } + return Default_SearchParams_FacetDepth +} + +type SearchRequest struct { + Params *SearchParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` + AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SearchRequest) Reset() { *m = SearchRequest{} } +func (m *SearchRequest) String() string { return proto.CompactTextString(m) } +func (*SearchRequest) ProtoMessage() {} + +func (m *SearchRequest) GetParams() *SearchParams { + if m != nil { + return m.Params + } + return nil +} + +func (m *SearchRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type FacetResultValue struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Count *int32 `protobuf:"varint,2,req,name=count" json:"count,omitempty"` + Refinement *FacetRefinement `protobuf:"bytes,3,req,name=refinement" json:"refinement,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetResultValue) Reset() { *m = FacetResultValue{} } +func (m *FacetResultValue) String() string { return proto.CompactTextString(m) } +func (*FacetResultValue) ProtoMessage() {} + +func (m *FacetResultValue) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FacetResultValue) GetCount() int32 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +func (m *FacetResultValue) GetRefinement() *FacetRefinement { + if m != nil { + return m.Refinement + } + return nil +} + +type FacetResult struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Value []*FacetResultValue `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FacetResult) Reset() { *m = FacetResult{} } +func (m *FacetResult) String() string { return proto.CompactTextString(m) } +func (*FacetResult) ProtoMessage() {} + +func (m *FacetResult) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *FacetResult) GetValue() []*FacetResultValue { + if m != nil { + return m.Value + } + return nil +} + +type SearchResult struct { + Document *Document `protobuf:"bytes,1,req,name=document" json:"document,omitempty"` + Expression []*Field `protobuf:"bytes,4,rep,name=expression" json:"expression,omitempty"` + Score []float64 `protobuf:"fixed64,2,rep,name=score" json:"score,omitempty"` + Cursor *string `protobuf:"bytes,3,opt,name=cursor" json:"cursor,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SearchResult) Reset() { *m = SearchResult{} } +func (m *SearchResult) String() string { return proto.CompactTextString(m) } +func (*SearchResult) ProtoMessage() {} + +func (m *SearchResult) GetDocument() *Document { + if m != nil { + return m.Document + } + return nil +} + +func (m *SearchResult) GetExpression() []*Field { + if m != nil { + return m.Expression + } + return nil +} + +func (m *SearchResult) GetScore() []float64 { + if m != nil { + return m.Score + } + return nil +} + +func (m *SearchResult) GetCursor() string { + if m != nil && m.Cursor != nil { + return *m.Cursor + } + return "" +} + +type SearchResponse struct { + Result []*SearchResult `protobuf:"bytes,1,rep,name=result" json:"result,omitempty"` + MatchedCount *int64 `protobuf:"varint,2,req,name=matched_count" json:"matched_count,omitempty"` + Status *RequestStatus `protobuf:"bytes,3,req,name=status" json:"status,omitempty"` + Cursor *string `protobuf:"bytes,4,opt,name=cursor" json:"cursor,omitempty"` + FacetResult []*FacetResult `protobuf:"bytes,5,rep,name=facet_result" json:"facet_result,omitempty"` + XXX_extensions map[int32]proto.Extension `json:"-"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SearchResponse) Reset() { *m = SearchResponse{} } +func (m *SearchResponse) String() string { return proto.CompactTextString(m) } +func (*SearchResponse) ProtoMessage() {} + +var extRange_SearchResponse = []proto.ExtensionRange{ + {1000, 9999}, +} + +func (*SearchResponse) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_SearchResponse +} +func (m *SearchResponse) ExtensionMap() map[int32]proto.Extension { + if m.XXX_extensions == nil { + m.XXX_extensions = make(map[int32]proto.Extension) + } + return m.XXX_extensions +} + +func (m *SearchResponse) GetResult() []*SearchResult { + if m != nil { + return m.Result + } + return nil +} + +func (m *SearchResponse) GetMatchedCount() int64 { + if m != nil && m.MatchedCount != nil { + return *m.MatchedCount + } + return 0 +} + +func (m *SearchResponse) GetStatus() *RequestStatus { + if m != nil { + return m.Status + } + return nil +} + +func (m *SearchResponse) GetCursor() string { + if m != nil && m.Cursor != nil { + return *m.Cursor + } + return "" +} + +func (m *SearchResponse) GetFacetResult() []*FacetResult { + if m != nil { + return m.FacetResult + } + return nil +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/search/search.proto b/vendor/google.golang.org/appengine/internal/search/search.proto new file mode 100644 index 000000000..219f4c30a --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/search/search.proto @@ -0,0 +1,388 @@ +syntax = "proto2"; +option go_package = "search"; + +package search; + +message Scope { + enum Type { + USER_BY_CANONICAL_ID = 1; + USER_BY_EMAIL = 2; + GROUP_BY_CANONICAL_ID = 3; + GROUP_BY_EMAIL = 4; + GROUP_BY_DOMAIN = 5; + ALL_USERS = 6; + ALL_AUTHENTICATED_USERS = 7; + } + + optional Type type = 1; + optional string value = 2; +} + +message Entry { + enum Permission { + READ = 1; + WRITE = 2; + FULL_CONTROL = 3; + } + + optional Scope scope = 1; + optional Permission permission = 2; + optional string display_name = 3; +} + +message AccessControlList { + optional string owner = 1; + repeated Entry entries = 2; +} + +message FieldValue { + enum ContentType { + TEXT = 0; + HTML = 1; + ATOM = 2; + DATE = 3; + NUMBER = 4; + GEO = 5; + } + + optional ContentType type = 1 [default = TEXT]; + + optional string language = 2 [default = "en"]; + + optional string string_value = 3; + + optional group Geo = 4 { + required double lat = 5; + required double lng = 6; + } +} + +message Field { + required string name = 1; + required FieldValue value = 2; +} + +message FieldTypes { + required string name = 1; + repeated FieldValue.ContentType type = 2; +} + +message IndexShardSettings { + repeated int32 prev_num_shards = 1; + required int32 num_shards = 2 [default=1]; + repeated int32 prev_num_shards_search_false = 3; + optional string local_replica = 4 [default = ""]; +} + +message FacetValue { + enum ContentType { + ATOM = 2; + NUMBER = 4; + } + + optional ContentType type = 1 [default = ATOM]; + optional string string_value = 3; +} + +message Facet { + required string name = 1; + required FacetValue value = 2; +} + +message DocumentMetadata { + optional int64 version = 1; + optional int64 committed_st_version = 2; +} + +message Document { + optional string id = 1; + optional string language = 2 [default = "en"]; + repeated Field field = 3; + optional int32 order_id = 4; + + enum Storage { + DISK = 0; + } + + optional Storage storage = 5 [default = DISK]; + repeated Facet facet = 8; +} + +message SearchServiceError { + enum ErrorCode { + OK = 0; + INVALID_REQUEST = 1; + TRANSIENT_ERROR = 2; + INTERNAL_ERROR = 3; + PERMISSION_DENIED = 4; + TIMEOUT = 5; + CONCURRENT_TRANSACTION = 6; + } +} + +message RequestStatus { + required SearchServiceError.ErrorCode code = 1; + optional string error_detail = 2; + optional int32 canonical_code = 3; +} + +message IndexSpec { + required string name = 1; + + enum Consistency { + GLOBAL = 0; + PER_DOCUMENT = 1; + } + optional Consistency consistency = 2 [default = PER_DOCUMENT]; + + optional string namespace = 3; + optional int32 version = 4; + + enum Source { + SEARCH = 0; + DATASTORE = 1; + CLOUD_STORAGE = 2; + } + optional Source source = 5 [default = SEARCH]; + + enum Mode { + PRIORITY = 0; + BACKGROUND = 1; + } + optional Mode mode = 6 [default = PRIORITY]; +} + +message IndexMetadata { + required IndexSpec index_spec = 1; + + repeated FieldTypes field = 2; + + message Storage { + optional int64 amount_used = 1; + optional int64 limit = 2; + } + optional Storage storage = 3; +} + +message IndexDocumentParams { + repeated Document document = 1; + + enum Freshness { + SYNCHRONOUSLY = 0; + WHEN_CONVENIENT = 1; + } + optional Freshness freshness = 2 [default = SYNCHRONOUSLY, deprecated=true]; + + required IndexSpec index_spec = 3; +} + +message IndexDocumentRequest { + required IndexDocumentParams params = 1; + + optional bytes app_id = 3; +} + +message IndexDocumentResponse { + repeated RequestStatus status = 1; + + repeated string doc_id = 2; +} + +message DeleteDocumentParams { + repeated string doc_id = 1; + + required IndexSpec index_spec = 2; +} + +message DeleteDocumentRequest { + required DeleteDocumentParams params = 1; + + optional bytes app_id = 3; +} + +message DeleteDocumentResponse { + repeated RequestStatus status = 1; +} + +message ListDocumentsParams { + required IndexSpec index_spec = 1; + optional string start_doc_id = 2; + optional bool include_start_doc = 3 [default = true]; + optional int32 limit = 4 [default = 100]; + optional bool keys_only = 5; +} + +message ListDocumentsRequest { + required ListDocumentsParams params = 1; + + optional bytes app_id = 2; +} + +message ListDocumentsResponse { + required RequestStatus status = 1; + + repeated Document document = 2; +} + +message ListIndexesParams { + optional bool fetch_schema = 1; + optional int32 limit = 2 [default = 20]; + optional string namespace = 3; + optional string start_index_name = 4; + optional bool include_start_index = 5 [default = true]; + optional string index_name_prefix = 6; + optional int32 offset = 7; + optional IndexSpec.Source source = 8 [default = SEARCH]; +} + +message ListIndexesRequest { + required ListIndexesParams params = 1; + + optional bytes app_id = 3; +} + +message ListIndexesResponse { + required RequestStatus status = 1; + repeated IndexMetadata index_metadata = 2; +} + +message DeleteSchemaParams { + optional IndexSpec.Source source = 1 [default = SEARCH]; + repeated IndexSpec index_spec = 2; +} + +message DeleteSchemaRequest { + required DeleteSchemaParams params = 1; + + optional bytes app_id = 3; +} + +message DeleteSchemaResponse { + repeated RequestStatus status = 1; +} + +message SortSpec { + required string sort_expression = 1; + optional bool sort_descending = 2 [default = true]; + optional string default_value_text = 4; + optional double default_value_numeric = 5; +} + +message ScorerSpec { + enum Scorer { + RESCORING_MATCH_SCORER = 0; + MATCH_SCORER = 2; + } + optional Scorer scorer = 1 [default = MATCH_SCORER]; + + optional int32 limit = 2 [default = 1000]; + optional string match_scorer_parameters = 9; +} + +message FieldSpec { + repeated string name = 1; + + repeated group Expression = 2 { + required string name = 3; + required string expression = 4; + } +} + +message FacetRange { + optional string name = 1; + optional string start = 2; + optional string end = 3; +} + +message FacetRequestParam { + optional int32 value_limit = 1; + repeated FacetRange range = 2; + repeated string value_constraint = 3; +} + +message FacetAutoDetectParam { + optional int32 value_limit = 1 [default = 10]; +} + +message FacetRequest { + required string name = 1; + optional FacetRequestParam params = 2; +} + +message FacetRefinement { + required string name = 1; + optional string value = 2; + + message Range { + optional string start = 1; + optional string end = 2; + } + optional Range range = 3; +} + +message SearchParams { + required IndexSpec index_spec = 1; + required string query = 2; + optional string cursor = 4; + optional int32 offset = 11; + + enum CursorType { + NONE = 0; + SINGLE = 1; + PER_RESULT = 2; + } + optional CursorType cursor_type = 5 [default = NONE]; + + optional int32 limit = 6 [default = 20]; + optional int32 matched_count_accuracy = 7; + repeated SortSpec sort_spec = 8; + optional ScorerSpec scorer_spec = 9; + optional FieldSpec field_spec = 10; + optional bool keys_only = 12; + + enum ParsingMode { + STRICT = 0; + RELAXED = 1; + } + optional ParsingMode parsing_mode = 13 [default = STRICT]; + + optional int32 auto_discover_facet_count = 15 [default = 0]; + repeated FacetRequest include_facet = 16; + repeated FacetRefinement facet_refinement = 17; + optional FacetAutoDetectParam facet_auto_detect_param = 18; + optional int32 facet_depth = 19 [default=1000]; +} + +message SearchRequest { + required SearchParams params = 1; + + optional bytes app_id = 3; +} + +message FacetResultValue { + required string name = 1; + required int32 count = 2; + required FacetRefinement refinement = 3; +} + +message FacetResult { + required string name = 1; + repeated FacetResultValue value = 2; +} + +message SearchResult { + required Document document = 1; + repeated Field expression = 4; + repeated double score = 2; + optional string cursor = 3; +} + +message SearchResponse { + repeated SearchResult result = 1; + required int64 matched_count = 2; + required RequestStatus status = 3; + optional string cursor = 4; + repeated FacetResult facet_result = 5; + + extensions 1000 to 9999; +} diff --git a/vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go b/vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go new file mode 100644 index 000000000..60628ec9b --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go @@ -0,0 +1,1858 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/socket/socket_service.proto +// DO NOT EDIT! + +/* +Package socket is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/socket/socket_service.proto + +It has these top-level messages: + RemoteSocketServiceError + AddressPort + CreateSocketRequest + CreateSocketReply + BindRequest + BindReply + GetSocketNameRequest + GetSocketNameReply + GetPeerNameRequest + GetPeerNameReply + SocketOption + SetSocketOptionsRequest + SetSocketOptionsReply + GetSocketOptionsRequest + GetSocketOptionsReply + ConnectRequest + ConnectReply + ListenRequest + ListenReply + AcceptRequest + AcceptReply + ShutDownRequest + ShutDownReply + CloseRequest + CloseReply + SendRequest + SendReply + ReceiveRequest + ReceiveReply + PollEvent + PollRequest + PollReply + ResolveRequest + ResolveReply +*/ +package socket + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type RemoteSocketServiceError_ErrorCode int32 + +const ( + RemoteSocketServiceError_SYSTEM_ERROR RemoteSocketServiceError_ErrorCode = 1 + RemoteSocketServiceError_GAI_ERROR RemoteSocketServiceError_ErrorCode = 2 + RemoteSocketServiceError_FAILURE RemoteSocketServiceError_ErrorCode = 4 + RemoteSocketServiceError_PERMISSION_DENIED RemoteSocketServiceError_ErrorCode = 5 + RemoteSocketServiceError_INVALID_REQUEST RemoteSocketServiceError_ErrorCode = 6 + RemoteSocketServiceError_SOCKET_CLOSED RemoteSocketServiceError_ErrorCode = 7 +) + +var RemoteSocketServiceError_ErrorCode_name = map[int32]string{ + 1: "SYSTEM_ERROR", + 2: "GAI_ERROR", + 4: "FAILURE", + 5: "PERMISSION_DENIED", + 6: "INVALID_REQUEST", + 7: "SOCKET_CLOSED", +} +var RemoteSocketServiceError_ErrorCode_value = map[string]int32{ + "SYSTEM_ERROR": 1, + "GAI_ERROR": 2, + "FAILURE": 4, + "PERMISSION_DENIED": 5, + "INVALID_REQUEST": 6, + "SOCKET_CLOSED": 7, +} + +func (x RemoteSocketServiceError_ErrorCode) Enum() *RemoteSocketServiceError_ErrorCode { + p := new(RemoteSocketServiceError_ErrorCode) + *p = x + return p +} +func (x RemoteSocketServiceError_ErrorCode) String() string { + return proto.EnumName(RemoteSocketServiceError_ErrorCode_name, int32(x)) +} +func (x *RemoteSocketServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(RemoteSocketServiceError_ErrorCode_value, data, "RemoteSocketServiceError_ErrorCode") + if err != nil { + return err + } + *x = RemoteSocketServiceError_ErrorCode(value) + return nil +} + +type RemoteSocketServiceError_SystemError int32 + +const ( + RemoteSocketServiceError_SYS_SUCCESS RemoteSocketServiceError_SystemError = 0 + RemoteSocketServiceError_SYS_EPERM RemoteSocketServiceError_SystemError = 1 + RemoteSocketServiceError_SYS_ENOENT RemoteSocketServiceError_SystemError = 2 + RemoteSocketServiceError_SYS_ESRCH RemoteSocketServiceError_SystemError = 3 + RemoteSocketServiceError_SYS_EINTR RemoteSocketServiceError_SystemError = 4 + RemoteSocketServiceError_SYS_EIO RemoteSocketServiceError_SystemError = 5 + RemoteSocketServiceError_SYS_ENXIO RemoteSocketServiceError_SystemError = 6 + RemoteSocketServiceError_SYS_E2BIG RemoteSocketServiceError_SystemError = 7 + RemoteSocketServiceError_SYS_ENOEXEC RemoteSocketServiceError_SystemError = 8 + RemoteSocketServiceError_SYS_EBADF RemoteSocketServiceError_SystemError = 9 + RemoteSocketServiceError_SYS_ECHILD RemoteSocketServiceError_SystemError = 10 + RemoteSocketServiceError_SYS_EAGAIN RemoteSocketServiceError_SystemError = 11 + RemoteSocketServiceError_SYS_EWOULDBLOCK RemoteSocketServiceError_SystemError = 11 + RemoteSocketServiceError_SYS_ENOMEM RemoteSocketServiceError_SystemError = 12 + RemoteSocketServiceError_SYS_EACCES RemoteSocketServiceError_SystemError = 13 + RemoteSocketServiceError_SYS_EFAULT RemoteSocketServiceError_SystemError = 14 + RemoteSocketServiceError_SYS_ENOTBLK RemoteSocketServiceError_SystemError = 15 + RemoteSocketServiceError_SYS_EBUSY RemoteSocketServiceError_SystemError = 16 + RemoteSocketServiceError_SYS_EEXIST RemoteSocketServiceError_SystemError = 17 + RemoteSocketServiceError_SYS_EXDEV RemoteSocketServiceError_SystemError = 18 + RemoteSocketServiceError_SYS_ENODEV RemoteSocketServiceError_SystemError = 19 + RemoteSocketServiceError_SYS_ENOTDIR RemoteSocketServiceError_SystemError = 20 + RemoteSocketServiceError_SYS_EISDIR RemoteSocketServiceError_SystemError = 21 + RemoteSocketServiceError_SYS_EINVAL RemoteSocketServiceError_SystemError = 22 + RemoteSocketServiceError_SYS_ENFILE RemoteSocketServiceError_SystemError = 23 + RemoteSocketServiceError_SYS_EMFILE RemoteSocketServiceError_SystemError = 24 + RemoteSocketServiceError_SYS_ENOTTY RemoteSocketServiceError_SystemError = 25 + RemoteSocketServiceError_SYS_ETXTBSY RemoteSocketServiceError_SystemError = 26 + RemoteSocketServiceError_SYS_EFBIG RemoteSocketServiceError_SystemError = 27 + RemoteSocketServiceError_SYS_ENOSPC RemoteSocketServiceError_SystemError = 28 + RemoteSocketServiceError_SYS_ESPIPE RemoteSocketServiceError_SystemError = 29 + RemoteSocketServiceError_SYS_EROFS RemoteSocketServiceError_SystemError = 30 + RemoteSocketServiceError_SYS_EMLINK RemoteSocketServiceError_SystemError = 31 + RemoteSocketServiceError_SYS_EPIPE RemoteSocketServiceError_SystemError = 32 + RemoteSocketServiceError_SYS_EDOM RemoteSocketServiceError_SystemError = 33 + RemoteSocketServiceError_SYS_ERANGE RemoteSocketServiceError_SystemError = 34 + RemoteSocketServiceError_SYS_EDEADLK RemoteSocketServiceError_SystemError = 35 + RemoteSocketServiceError_SYS_EDEADLOCK RemoteSocketServiceError_SystemError = 35 + RemoteSocketServiceError_SYS_ENAMETOOLONG RemoteSocketServiceError_SystemError = 36 + RemoteSocketServiceError_SYS_ENOLCK RemoteSocketServiceError_SystemError = 37 + RemoteSocketServiceError_SYS_ENOSYS RemoteSocketServiceError_SystemError = 38 + RemoteSocketServiceError_SYS_ENOTEMPTY RemoteSocketServiceError_SystemError = 39 + RemoteSocketServiceError_SYS_ELOOP RemoteSocketServiceError_SystemError = 40 + RemoteSocketServiceError_SYS_ENOMSG RemoteSocketServiceError_SystemError = 42 + RemoteSocketServiceError_SYS_EIDRM RemoteSocketServiceError_SystemError = 43 + RemoteSocketServiceError_SYS_ECHRNG RemoteSocketServiceError_SystemError = 44 + RemoteSocketServiceError_SYS_EL2NSYNC RemoteSocketServiceError_SystemError = 45 + RemoteSocketServiceError_SYS_EL3HLT RemoteSocketServiceError_SystemError = 46 + RemoteSocketServiceError_SYS_EL3RST RemoteSocketServiceError_SystemError = 47 + RemoteSocketServiceError_SYS_ELNRNG RemoteSocketServiceError_SystemError = 48 + RemoteSocketServiceError_SYS_EUNATCH RemoteSocketServiceError_SystemError = 49 + RemoteSocketServiceError_SYS_ENOCSI RemoteSocketServiceError_SystemError = 50 + RemoteSocketServiceError_SYS_EL2HLT RemoteSocketServiceError_SystemError = 51 + RemoteSocketServiceError_SYS_EBADE RemoteSocketServiceError_SystemError = 52 + RemoteSocketServiceError_SYS_EBADR RemoteSocketServiceError_SystemError = 53 + RemoteSocketServiceError_SYS_EXFULL RemoteSocketServiceError_SystemError = 54 + RemoteSocketServiceError_SYS_ENOANO RemoteSocketServiceError_SystemError = 55 + RemoteSocketServiceError_SYS_EBADRQC RemoteSocketServiceError_SystemError = 56 + RemoteSocketServiceError_SYS_EBADSLT RemoteSocketServiceError_SystemError = 57 + RemoteSocketServiceError_SYS_EBFONT RemoteSocketServiceError_SystemError = 59 + RemoteSocketServiceError_SYS_ENOSTR RemoteSocketServiceError_SystemError = 60 + RemoteSocketServiceError_SYS_ENODATA RemoteSocketServiceError_SystemError = 61 + RemoteSocketServiceError_SYS_ETIME RemoteSocketServiceError_SystemError = 62 + RemoteSocketServiceError_SYS_ENOSR RemoteSocketServiceError_SystemError = 63 + RemoteSocketServiceError_SYS_ENONET RemoteSocketServiceError_SystemError = 64 + RemoteSocketServiceError_SYS_ENOPKG RemoteSocketServiceError_SystemError = 65 + RemoteSocketServiceError_SYS_EREMOTE RemoteSocketServiceError_SystemError = 66 + RemoteSocketServiceError_SYS_ENOLINK RemoteSocketServiceError_SystemError = 67 + RemoteSocketServiceError_SYS_EADV RemoteSocketServiceError_SystemError = 68 + RemoteSocketServiceError_SYS_ESRMNT RemoteSocketServiceError_SystemError = 69 + RemoteSocketServiceError_SYS_ECOMM RemoteSocketServiceError_SystemError = 70 + RemoteSocketServiceError_SYS_EPROTO RemoteSocketServiceError_SystemError = 71 + RemoteSocketServiceError_SYS_EMULTIHOP RemoteSocketServiceError_SystemError = 72 + RemoteSocketServiceError_SYS_EDOTDOT RemoteSocketServiceError_SystemError = 73 + RemoteSocketServiceError_SYS_EBADMSG RemoteSocketServiceError_SystemError = 74 + RemoteSocketServiceError_SYS_EOVERFLOW RemoteSocketServiceError_SystemError = 75 + RemoteSocketServiceError_SYS_ENOTUNIQ RemoteSocketServiceError_SystemError = 76 + RemoteSocketServiceError_SYS_EBADFD RemoteSocketServiceError_SystemError = 77 + RemoteSocketServiceError_SYS_EREMCHG RemoteSocketServiceError_SystemError = 78 + RemoteSocketServiceError_SYS_ELIBACC RemoteSocketServiceError_SystemError = 79 + RemoteSocketServiceError_SYS_ELIBBAD RemoteSocketServiceError_SystemError = 80 + RemoteSocketServiceError_SYS_ELIBSCN RemoteSocketServiceError_SystemError = 81 + RemoteSocketServiceError_SYS_ELIBMAX RemoteSocketServiceError_SystemError = 82 + RemoteSocketServiceError_SYS_ELIBEXEC RemoteSocketServiceError_SystemError = 83 + RemoteSocketServiceError_SYS_EILSEQ RemoteSocketServiceError_SystemError = 84 + RemoteSocketServiceError_SYS_ERESTART RemoteSocketServiceError_SystemError = 85 + RemoteSocketServiceError_SYS_ESTRPIPE RemoteSocketServiceError_SystemError = 86 + RemoteSocketServiceError_SYS_EUSERS RemoteSocketServiceError_SystemError = 87 + RemoteSocketServiceError_SYS_ENOTSOCK RemoteSocketServiceError_SystemError = 88 + RemoteSocketServiceError_SYS_EDESTADDRREQ RemoteSocketServiceError_SystemError = 89 + RemoteSocketServiceError_SYS_EMSGSIZE RemoteSocketServiceError_SystemError = 90 + RemoteSocketServiceError_SYS_EPROTOTYPE RemoteSocketServiceError_SystemError = 91 + RemoteSocketServiceError_SYS_ENOPROTOOPT RemoteSocketServiceError_SystemError = 92 + RemoteSocketServiceError_SYS_EPROTONOSUPPORT RemoteSocketServiceError_SystemError = 93 + RemoteSocketServiceError_SYS_ESOCKTNOSUPPORT RemoteSocketServiceError_SystemError = 94 + RemoteSocketServiceError_SYS_EOPNOTSUPP RemoteSocketServiceError_SystemError = 95 + RemoteSocketServiceError_SYS_ENOTSUP RemoteSocketServiceError_SystemError = 95 + RemoteSocketServiceError_SYS_EPFNOSUPPORT RemoteSocketServiceError_SystemError = 96 + RemoteSocketServiceError_SYS_EAFNOSUPPORT RemoteSocketServiceError_SystemError = 97 + RemoteSocketServiceError_SYS_EADDRINUSE RemoteSocketServiceError_SystemError = 98 + RemoteSocketServiceError_SYS_EADDRNOTAVAIL RemoteSocketServiceError_SystemError = 99 + RemoteSocketServiceError_SYS_ENETDOWN RemoteSocketServiceError_SystemError = 100 + RemoteSocketServiceError_SYS_ENETUNREACH RemoteSocketServiceError_SystemError = 101 + RemoteSocketServiceError_SYS_ENETRESET RemoteSocketServiceError_SystemError = 102 + RemoteSocketServiceError_SYS_ECONNABORTED RemoteSocketServiceError_SystemError = 103 + RemoteSocketServiceError_SYS_ECONNRESET RemoteSocketServiceError_SystemError = 104 + RemoteSocketServiceError_SYS_ENOBUFS RemoteSocketServiceError_SystemError = 105 + RemoteSocketServiceError_SYS_EISCONN RemoteSocketServiceError_SystemError = 106 + RemoteSocketServiceError_SYS_ENOTCONN RemoteSocketServiceError_SystemError = 107 + RemoteSocketServiceError_SYS_ESHUTDOWN RemoteSocketServiceError_SystemError = 108 + RemoteSocketServiceError_SYS_ETOOMANYREFS RemoteSocketServiceError_SystemError = 109 + RemoteSocketServiceError_SYS_ETIMEDOUT RemoteSocketServiceError_SystemError = 110 + RemoteSocketServiceError_SYS_ECONNREFUSED RemoteSocketServiceError_SystemError = 111 + RemoteSocketServiceError_SYS_EHOSTDOWN RemoteSocketServiceError_SystemError = 112 + RemoteSocketServiceError_SYS_EHOSTUNREACH RemoteSocketServiceError_SystemError = 113 + RemoteSocketServiceError_SYS_EALREADY RemoteSocketServiceError_SystemError = 114 + RemoteSocketServiceError_SYS_EINPROGRESS RemoteSocketServiceError_SystemError = 115 + RemoteSocketServiceError_SYS_ESTALE RemoteSocketServiceError_SystemError = 116 + RemoteSocketServiceError_SYS_EUCLEAN RemoteSocketServiceError_SystemError = 117 + RemoteSocketServiceError_SYS_ENOTNAM RemoteSocketServiceError_SystemError = 118 + RemoteSocketServiceError_SYS_ENAVAIL RemoteSocketServiceError_SystemError = 119 + RemoteSocketServiceError_SYS_EISNAM RemoteSocketServiceError_SystemError = 120 + RemoteSocketServiceError_SYS_EREMOTEIO RemoteSocketServiceError_SystemError = 121 + RemoteSocketServiceError_SYS_EDQUOT RemoteSocketServiceError_SystemError = 122 + RemoteSocketServiceError_SYS_ENOMEDIUM RemoteSocketServiceError_SystemError = 123 + RemoteSocketServiceError_SYS_EMEDIUMTYPE RemoteSocketServiceError_SystemError = 124 + RemoteSocketServiceError_SYS_ECANCELED RemoteSocketServiceError_SystemError = 125 + RemoteSocketServiceError_SYS_ENOKEY RemoteSocketServiceError_SystemError = 126 + RemoteSocketServiceError_SYS_EKEYEXPIRED RemoteSocketServiceError_SystemError = 127 + RemoteSocketServiceError_SYS_EKEYREVOKED RemoteSocketServiceError_SystemError = 128 + RemoteSocketServiceError_SYS_EKEYREJECTED RemoteSocketServiceError_SystemError = 129 + RemoteSocketServiceError_SYS_EOWNERDEAD RemoteSocketServiceError_SystemError = 130 + RemoteSocketServiceError_SYS_ENOTRECOVERABLE RemoteSocketServiceError_SystemError = 131 + RemoteSocketServiceError_SYS_ERFKILL RemoteSocketServiceError_SystemError = 132 +) + +var RemoteSocketServiceError_SystemError_name = map[int32]string{ + 0: "SYS_SUCCESS", + 1: "SYS_EPERM", + 2: "SYS_ENOENT", + 3: "SYS_ESRCH", + 4: "SYS_EINTR", + 5: "SYS_EIO", + 6: "SYS_ENXIO", + 7: "SYS_E2BIG", + 8: "SYS_ENOEXEC", + 9: "SYS_EBADF", + 10: "SYS_ECHILD", + 11: "SYS_EAGAIN", + // Duplicate value: 11: "SYS_EWOULDBLOCK", + 12: "SYS_ENOMEM", + 13: "SYS_EACCES", + 14: "SYS_EFAULT", + 15: "SYS_ENOTBLK", + 16: "SYS_EBUSY", + 17: "SYS_EEXIST", + 18: "SYS_EXDEV", + 19: "SYS_ENODEV", + 20: "SYS_ENOTDIR", + 21: "SYS_EISDIR", + 22: "SYS_EINVAL", + 23: "SYS_ENFILE", + 24: "SYS_EMFILE", + 25: "SYS_ENOTTY", + 26: "SYS_ETXTBSY", + 27: "SYS_EFBIG", + 28: "SYS_ENOSPC", + 29: "SYS_ESPIPE", + 30: "SYS_EROFS", + 31: "SYS_EMLINK", + 32: "SYS_EPIPE", + 33: "SYS_EDOM", + 34: "SYS_ERANGE", + 35: "SYS_EDEADLK", + // Duplicate value: 35: "SYS_EDEADLOCK", + 36: "SYS_ENAMETOOLONG", + 37: "SYS_ENOLCK", + 38: "SYS_ENOSYS", + 39: "SYS_ENOTEMPTY", + 40: "SYS_ELOOP", + 42: "SYS_ENOMSG", + 43: "SYS_EIDRM", + 44: "SYS_ECHRNG", + 45: "SYS_EL2NSYNC", + 46: "SYS_EL3HLT", + 47: "SYS_EL3RST", + 48: "SYS_ELNRNG", + 49: "SYS_EUNATCH", + 50: "SYS_ENOCSI", + 51: "SYS_EL2HLT", + 52: "SYS_EBADE", + 53: "SYS_EBADR", + 54: "SYS_EXFULL", + 55: "SYS_ENOANO", + 56: "SYS_EBADRQC", + 57: "SYS_EBADSLT", + 59: "SYS_EBFONT", + 60: "SYS_ENOSTR", + 61: "SYS_ENODATA", + 62: "SYS_ETIME", + 63: "SYS_ENOSR", + 64: "SYS_ENONET", + 65: "SYS_ENOPKG", + 66: "SYS_EREMOTE", + 67: "SYS_ENOLINK", + 68: "SYS_EADV", + 69: "SYS_ESRMNT", + 70: "SYS_ECOMM", + 71: "SYS_EPROTO", + 72: "SYS_EMULTIHOP", + 73: "SYS_EDOTDOT", + 74: "SYS_EBADMSG", + 75: "SYS_EOVERFLOW", + 76: "SYS_ENOTUNIQ", + 77: "SYS_EBADFD", + 78: "SYS_EREMCHG", + 79: "SYS_ELIBACC", + 80: "SYS_ELIBBAD", + 81: "SYS_ELIBSCN", + 82: "SYS_ELIBMAX", + 83: "SYS_ELIBEXEC", + 84: "SYS_EILSEQ", + 85: "SYS_ERESTART", + 86: "SYS_ESTRPIPE", + 87: "SYS_EUSERS", + 88: "SYS_ENOTSOCK", + 89: "SYS_EDESTADDRREQ", + 90: "SYS_EMSGSIZE", + 91: "SYS_EPROTOTYPE", + 92: "SYS_ENOPROTOOPT", + 93: "SYS_EPROTONOSUPPORT", + 94: "SYS_ESOCKTNOSUPPORT", + 95: "SYS_EOPNOTSUPP", + // Duplicate value: 95: "SYS_ENOTSUP", + 96: "SYS_EPFNOSUPPORT", + 97: "SYS_EAFNOSUPPORT", + 98: "SYS_EADDRINUSE", + 99: "SYS_EADDRNOTAVAIL", + 100: "SYS_ENETDOWN", + 101: "SYS_ENETUNREACH", + 102: "SYS_ENETRESET", + 103: "SYS_ECONNABORTED", + 104: "SYS_ECONNRESET", + 105: "SYS_ENOBUFS", + 106: "SYS_EISCONN", + 107: "SYS_ENOTCONN", + 108: "SYS_ESHUTDOWN", + 109: "SYS_ETOOMANYREFS", + 110: "SYS_ETIMEDOUT", + 111: "SYS_ECONNREFUSED", + 112: "SYS_EHOSTDOWN", + 113: "SYS_EHOSTUNREACH", + 114: "SYS_EALREADY", + 115: "SYS_EINPROGRESS", + 116: "SYS_ESTALE", + 117: "SYS_EUCLEAN", + 118: "SYS_ENOTNAM", + 119: "SYS_ENAVAIL", + 120: "SYS_EISNAM", + 121: "SYS_EREMOTEIO", + 122: "SYS_EDQUOT", + 123: "SYS_ENOMEDIUM", + 124: "SYS_EMEDIUMTYPE", + 125: "SYS_ECANCELED", + 126: "SYS_ENOKEY", + 127: "SYS_EKEYEXPIRED", + 128: "SYS_EKEYREVOKED", + 129: "SYS_EKEYREJECTED", + 130: "SYS_EOWNERDEAD", + 131: "SYS_ENOTRECOVERABLE", + 132: "SYS_ERFKILL", +} +var RemoteSocketServiceError_SystemError_value = map[string]int32{ + "SYS_SUCCESS": 0, + "SYS_EPERM": 1, + "SYS_ENOENT": 2, + "SYS_ESRCH": 3, + "SYS_EINTR": 4, + "SYS_EIO": 5, + "SYS_ENXIO": 6, + "SYS_E2BIG": 7, + "SYS_ENOEXEC": 8, + "SYS_EBADF": 9, + "SYS_ECHILD": 10, + "SYS_EAGAIN": 11, + "SYS_EWOULDBLOCK": 11, + "SYS_ENOMEM": 12, + "SYS_EACCES": 13, + "SYS_EFAULT": 14, + "SYS_ENOTBLK": 15, + "SYS_EBUSY": 16, + "SYS_EEXIST": 17, + "SYS_EXDEV": 18, + "SYS_ENODEV": 19, + "SYS_ENOTDIR": 20, + "SYS_EISDIR": 21, + "SYS_EINVAL": 22, + "SYS_ENFILE": 23, + "SYS_EMFILE": 24, + "SYS_ENOTTY": 25, + "SYS_ETXTBSY": 26, + "SYS_EFBIG": 27, + "SYS_ENOSPC": 28, + "SYS_ESPIPE": 29, + "SYS_EROFS": 30, + "SYS_EMLINK": 31, + "SYS_EPIPE": 32, + "SYS_EDOM": 33, + "SYS_ERANGE": 34, + "SYS_EDEADLK": 35, + "SYS_EDEADLOCK": 35, + "SYS_ENAMETOOLONG": 36, + "SYS_ENOLCK": 37, + "SYS_ENOSYS": 38, + "SYS_ENOTEMPTY": 39, + "SYS_ELOOP": 40, + "SYS_ENOMSG": 42, + "SYS_EIDRM": 43, + "SYS_ECHRNG": 44, + "SYS_EL2NSYNC": 45, + "SYS_EL3HLT": 46, + "SYS_EL3RST": 47, + "SYS_ELNRNG": 48, + "SYS_EUNATCH": 49, + "SYS_ENOCSI": 50, + "SYS_EL2HLT": 51, + "SYS_EBADE": 52, + "SYS_EBADR": 53, + "SYS_EXFULL": 54, + "SYS_ENOANO": 55, + "SYS_EBADRQC": 56, + "SYS_EBADSLT": 57, + "SYS_EBFONT": 59, + "SYS_ENOSTR": 60, + "SYS_ENODATA": 61, + "SYS_ETIME": 62, + "SYS_ENOSR": 63, + "SYS_ENONET": 64, + "SYS_ENOPKG": 65, + "SYS_EREMOTE": 66, + "SYS_ENOLINK": 67, + "SYS_EADV": 68, + "SYS_ESRMNT": 69, + "SYS_ECOMM": 70, + "SYS_EPROTO": 71, + "SYS_EMULTIHOP": 72, + "SYS_EDOTDOT": 73, + "SYS_EBADMSG": 74, + "SYS_EOVERFLOW": 75, + "SYS_ENOTUNIQ": 76, + "SYS_EBADFD": 77, + "SYS_EREMCHG": 78, + "SYS_ELIBACC": 79, + "SYS_ELIBBAD": 80, + "SYS_ELIBSCN": 81, + "SYS_ELIBMAX": 82, + "SYS_ELIBEXEC": 83, + "SYS_EILSEQ": 84, + "SYS_ERESTART": 85, + "SYS_ESTRPIPE": 86, + "SYS_EUSERS": 87, + "SYS_ENOTSOCK": 88, + "SYS_EDESTADDRREQ": 89, + "SYS_EMSGSIZE": 90, + "SYS_EPROTOTYPE": 91, + "SYS_ENOPROTOOPT": 92, + "SYS_EPROTONOSUPPORT": 93, + "SYS_ESOCKTNOSUPPORT": 94, + "SYS_EOPNOTSUPP": 95, + "SYS_ENOTSUP": 95, + "SYS_EPFNOSUPPORT": 96, + "SYS_EAFNOSUPPORT": 97, + "SYS_EADDRINUSE": 98, + "SYS_EADDRNOTAVAIL": 99, + "SYS_ENETDOWN": 100, + "SYS_ENETUNREACH": 101, + "SYS_ENETRESET": 102, + "SYS_ECONNABORTED": 103, + "SYS_ECONNRESET": 104, + "SYS_ENOBUFS": 105, + "SYS_EISCONN": 106, + "SYS_ENOTCONN": 107, + "SYS_ESHUTDOWN": 108, + "SYS_ETOOMANYREFS": 109, + "SYS_ETIMEDOUT": 110, + "SYS_ECONNREFUSED": 111, + "SYS_EHOSTDOWN": 112, + "SYS_EHOSTUNREACH": 113, + "SYS_EALREADY": 114, + "SYS_EINPROGRESS": 115, + "SYS_ESTALE": 116, + "SYS_EUCLEAN": 117, + "SYS_ENOTNAM": 118, + "SYS_ENAVAIL": 119, + "SYS_EISNAM": 120, + "SYS_EREMOTEIO": 121, + "SYS_EDQUOT": 122, + "SYS_ENOMEDIUM": 123, + "SYS_EMEDIUMTYPE": 124, + "SYS_ECANCELED": 125, + "SYS_ENOKEY": 126, + "SYS_EKEYEXPIRED": 127, + "SYS_EKEYREVOKED": 128, + "SYS_EKEYREJECTED": 129, + "SYS_EOWNERDEAD": 130, + "SYS_ENOTRECOVERABLE": 131, + "SYS_ERFKILL": 132, +} + +func (x RemoteSocketServiceError_SystemError) Enum() *RemoteSocketServiceError_SystemError { + p := new(RemoteSocketServiceError_SystemError) + *p = x + return p +} +func (x RemoteSocketServiceError_SystemError) String() string { + return proto.EnumName(RemoteSocketServiceError_SystemError_name, int32(x)) +} +func (x *RemoteSocketServiceError_SystemError) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(RemoteSocketServiceError_SystemError_value, data, "RemoteSocketServiceError_SystemError") + if err != nil { + return err + } + *x = RemoteSocketServiceError_SystemError(value) + return nil +} + +type CreateSocketRequest_SocketFamily int32 + +const ( + CreateSocketRequest_IPv4 CreateSocketRequest_SocketFamily = 1 + CreateSocketRequest_IPv6 CreateSocketRequest_SocketFamily = 2 +) + +var CreateSocketRequest_SocketFamily_name = map[int32]string{ + 1: "IPv4", + 2: "IPv6", +} +var CreateSocketRequest_SocketFamily_value = map[string]int32{ + "IPv4": 1, + "IPv6": 2, +} + +func (x CreateSocketRequest_SocketFamily) Enum() *CreateSocketRequest_SocketFamily { + p := new(CreateSocketRequest_SocketFamily) + *p = x + return p +} +func (x CreateSocketRequest_SocketFamily) String() string { + return proto.EnumName(CreateSocketRequest_SocketFamily_name, int32(x)) +} +func (x *CreateSocketRequest_SocketFamily) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(CreateSocketRequest_SocketFamily_value, data, "CreateSocketRequest_SocketFamily") + if err != nil { + return err + } + *x = CreateSocketRequest_SocketFamily(value) + return nil +} + +type CreateSocketRequest_SocketProtocol int32 + +const ( + CreateSocketRequest_TCP CreateSocketRequest_SocketProtocol = 1 + CreateSocketRequest_UDP CreateSocketRequest_SocketProtocol = 2 +) + +var CreateSocketRequest_SocketProtocol_name = map[int32]string{ + 1: "TCP", + 2: "UDP", +} +var CreateSocketRequest_SocketProtocol_value = map[string]int32{ + "TCP": 1, + "UDP": 2, +} + +func (x CreateSocketRequest_SocketProtocol) Enum() *CreateSocketRequest_SocketProtocol { + p := new(CreateSocketRequest_SocketProtocol) + *p = x + return p +} +func (x CreateSocketRequest_SocketProtocol) String() string { + return proto.EnumName(CreateSocketRequest_SocketProtocol_name, int32(x)) +} +func (x *CreateSocketRequest_SocketProtocol) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(CreateSocketRequest_SocketProtocol_value, data, "CreateSocketRequest_SocketProtocol") + if err != nil { + return err + } + *x = CreateSocketRequest_SocketProtocol(value) + return nil +} + +type SocketOption_SocketOptionLevel int32 + +const ( + SocketOption_SOCKET_SOL_IP SocketOption_SocketOptionLevel = 0 + SocketOption_SOCKET_SOL_SOCKET SocketOption_SocketOptionLevel = 1 + SocketOption_SOCKET_SOL_TCP SocketOption_SocketOptionLevel = 6 + SocketOption_SOCKET_SOL_UDP SocketOption_SocketOptionLevel = 17 +) + +var SocketOption_SocketOptionLevel_name = map[int32]string{ + 0: "SOCKET_SOL_IP", + 1: "SOCKET_SOL_SOCKET", + 6: "SOCKET_SOL_TCP", + 17: "SOCKET_SOL_UDP", +} +var SocketOption_SocketOptionLevel_value = map[string]int32{ + "SOCKET_SOL_IP": 0, + "SOCKET_SOL_SOCKET": 1, + "SOCKET_SOL_TCP": 6, + "SOCKET_SOL_UDP": 17, +} + +func (x SocketOption_SocketOptionLevel) Enum() *SocketOption_SocketOptionLevel { + p := new(SocketOption_SocketOptionLevel) + *p = x + return p +} +func (x SocketOption_SocketOptionLevel) String() string { + return proto.EnumName(SocketOption_SocketOptionLevel_name, int32(x)) +} +func (x *SocketOption_SocketOptionLevel) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(SocketOption_SocketOptionLevel_value, data, "SocketOption_SocketOptionLevel") + if err != nil { + return err + } + *x = SocketOption_SocketOptionLevel(value) + return nil +} + +type SocketOption_SocketOptionName int32 + +const ( + SocketOption_SOCKET_SO_DEBUG SocketOption_SocketOptionName = 1 + SocketOption_SOCKET_SO_REUSEADDR SocketOption_SocketOptionName = 2 + SocketOption_SOCKET_SO_TYPE SocketOption_SocketOptionName = 3 + SocketOption_SOCKET_SO_ERROR SocketOption_SocketOptionName = 4 + SocketOption_SOCKET_SO_DONTROUTE SocketOption_SocketOptionName = 5 + SocketOption_SOCKET_SO_BROADCAST SocketOption_SocketOptionName = 6 + SocketOption_SOCKET_SO_SNDBUF SocketOption_SocketOptionName = 7 + SocketOption_SOCKET_SO_RCVBUF SocketOption_SocketOptionName = 8 + SocketOption_SOCKET_SO_KEEPALIVE SocketOption_SocketOptionName = 9 + SocketOption_SOCKET_SO_OOBINLINE SocketOption_SocketOptionName = 10 + SocketOption_SOCKET_SO_LINGER SocketOption_SocketOptionName = 13 + SocketOption_SOCKET_SO_RCVTIMEO SocketOption_SocketOptionName = 20 + SocketOption_SOCKET_SO_SNDTIMEO SocketOption_SocketOptionName = 21 + SocketOption_SOCKET_IP_TOS SocketOption_SocketOptionName = 1 + SocketOption_SOCKET_IP_TTL SocketOption_SocketOptionName = 2 + SocketOption_SOCKET_IP_HDRINCL SocketOption_SocketOptionName = 3 + SocketOption_SOCKET_IP_OPTIONS SocketOption_SocketOptionName = 4 + SocketOption_SOCKET_TCP_NODELAY SocketOption_SocketOptionName = 1 + SocketOption_SOCKET_TCP_MAXSEG SocketOption_SocketOptionName = 2 + SocketOption_SOCKET_TCP_CORK SocketOption_SocketOptionName = 3 + SocketOption_SOCKET_TCP_KEEPIDLE SocketOption_SocketOptionName = 4 + SocketOption_SOCKET_TCP_KEEPINTVL SocketOption_SocketOptionName = 5 + SocketOption_SOCKET_TCP_KEEPCNT SocketOption_SocketOptionName = 6 + SocketOption_SOCKET_TCP_SYNCNT SocketOption_SocketOptionName = 7 + SocketOption_SOCKET_TCP_LINGER2 SocketOption_SocketOptionName = 8 + SocketOption_SOCKET_TCP_DEFER_ACCEPT SocketOption_SocketOptionName = 9 + SocketOption_SOCKET_TCP_WINDOW_CLAMP SocketOption_SocketOptionName = 10 + SocketOption_SOCKET_TCP_INFO SocketOption_SocketOptionName = 11 + SocketOption_SOCKET_TCP_QUICKACK SocketOption_SocketOptionName = 12 +) + +var SocketOption_SocketOptionName_name = map[int32]string{ + 1: "SOCKET_SO_DEBUG", + 2: "SOCKET_SO_REUSEADDR", + 3: "SOCKET_SO_TYPE", + 4: "SOCKET_SO_ERROR", + 5: "SOCKET_SO_DONTROUTE", + 6: "SOCKET_SO_BROADCAST", + 7: "SOCKET_SO_SNDBUF", + 8: "SOCKET_SO_RCVBUF", + 9: "SOCKET_SO_KEEPALIVE", + 10: "SOCKET_SO_OOBINLINE", + 13: "SOCKET_SO_LINGER", + 20: "SOCKET_SO_RCVTIMEO", + 21: "SOCKET_SO_SNDTIMEO", + // Duplicate value: 1: "SOCKET_IP_TOS", + // Duplicate value: 2: "SOCKET_IP_TTL", + // Duplicate value: 3: "SOCKET_IP_HDRINCL", + // Duplicate value: 4: "SOCKET_IP_OPTIONS", + // Duplicate value: 1: "SOCKET_TCP_NODELAY", + // Duplicate value: 2: "SOCKET_TCP_MAXSEG", + // Duplicate value: 3: "SOCKET_TCP_CORK", + // Duplicate value: 4: "SOCKET_TCP_KEEPIDLE", + // Duplicate value: 5: "SOCKET_TCP_KEEPINTVL", + // Duplicate value: 6: "SOCKET_TCP_KEEPCNT", + // Duplicate value: 7: "SOCKET_TCP_SYNCNT", + // Duplicate value: 8: "SOCKET_TCP_LINGER2", + // Duplicate value: 9: "SOCKET_TCP_DEFER_ACCEPT", + // Duplicate value: 10: "SOCKET_TCP_WINDOW_CLAMP", + 11: "SOCKET_TCP_INFO", + 12: "SOCKET_TCP_QUICKACK", +} +var SocketOption_SocketOptionName_value = map[string]int32{ + "SOCKET_SO_DEBUG": 1, + "SOCKET_SO_REUSEADDR": 2, + "SOCKET_SO_TYPE": 3, + "SOCKET_SO_ERROR": 4, + "SOCKET_SO_DONTROUTE": 5, + "SOCKET_SO_BROADCAST": 6, + "SOCKET_SO_SNDBUF": 7, + "SOCKET_SO_RCVBUF": 8, + "SOCKET_SO_KEEPALIVE": 9, + "SOCKET_SO_OOBINLINE": 10, + "SOCKET_SO_LINGER": 13, + "SOCKET_SO_RCVTIMEO": 20, + "SOCKET_SO_SNDTIMEO": 21, + "SOCKET_IP_TOS": 1, + "SOCKET_IP_TTL": 2, + "SOCKET_IP_HDRINCL": 3, + "SOCKET_IP_OPTIONS": 4, + "SOCKET_TCP_NODELAY": 1, + "SOCKET_TCP_MAXSEG": 2, + "SOCKET_TCP_CORK": 3, + "SOCKET_TCP_KEEPIDLE": 4, + "SOCKET_TCP_KEEPINTVL": 5, + "SOCKET_TCP_KEEPCNT": 6, + "SOCKET_TCP_SYNCNT": 7, + "SOCKET_TCP_LINGER2": 8, + "SOCKET_TCP_DEFER_ACCEPT": 9, + "SOCKET_TCP_WINDOW_CLAMP": 10, + "SOCKET_TCP_INFO": 11, + "SOCKET_TCP_QUICKACK": 12, +} + +func (x SocketOption_SocketOptionName) Enum() *SocketOption_SocketOptionName { + p := new(SocketOption_SocketOptionName) + *p = x + return p +} +func (x SocketOption_SocketOptionName) String() string { + return proto.EnumName(SocketOption_SocketOptionName_name, int32(x)) +} +func (x *SocketOption_SocketOptionName) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(SocketOption_SocketOptionName_value, data, "SocketOption_SocketOptionName") + if err != nil { + return err + } + *x = SocketOption_SocketOptionName(value) + return nil +} + +type ShutDownRequest_How int32 + +const ( + ShutDownRequest_SOCKET_SHUT_RD ShutDownRequest_How = 1 + ShutDownRequest_SOCKET_SHUT_WR ShutDownRequest_How = 2 + ShutDownRequest_SOCKET_SHUT_RDWR ShutDownRequest_How = 3 +) + +var ShutDownRequest_How_name = map[int32]string{ + 1: "SOCKET_SHUT_RD", + 2: "SOCKET_SHUT_WR", + 3: "SOCKET_SHUT_RDWR", +} +var ShutDownRequest_How_value = map[string]int32{ + "SOCKET_SHUT_RD": 1, + "SOCKET_SHUT_WR": 2, + "SOCKET_SHUT_RDWR": 3, +} + +func (x ShutDownRequest_How) Enum() *ShutDownRequest_How { + p := new(ShutDownRequest_How) + *p = x + return p +} +func (x ShutDownRequest_How) String() string { + return proto.EnumName(ShutDownRequest_How_name, int32(x)) +} +func (x *ShutDownRequest_How) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ShutDownRequest_How_value, data, "ShutDownRequest_How") + if err != nil { + return err + } + *x = ShutDownRequest_How(value) + return nil +} + +type ReceiveRequest_Flags int32 + +const ( + ReceiveRequest_MSG_OOB ReceiveRequest_Flags = 1 + ReceiveRequest_MSG_PEEK ReceiveRequest_Flags = 2 +) + +var ReceiveRequest_Flags_name = map[int32]string{ + 1: "MSG_OOB", + 2: "MSG_PEEK", +} +var ReceiveRequest_Flags_value = map[string]int32{ + "MSG_OOB": 1, + "MSG_PEEK": 2, +} + +func (x ReceiveRequest_Flags) Enum() *ReceiveRequest_Flags { + p := new(ReceiveRequest_Flags) + *p = x + return p +} +func (x ReceiveRequest_Flags) String() string { + return proto.EnumName(ReceiveRequest_Flags_name, int32(x)) +} +func (x *ReceiveRequest_Flags) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ReceiveRequest_Flags_value, data, "ReceiveRequest_Flags") + if err != nil { + return err + } + *x = ReceiveRequest_Flags(value) + return nil +} + +type PollEvent_PollEventFlag int32 + +const ( + PollEvent_SOCKET_POLLNONE PollEvent_PollEventFlag = 0 + PollEvent_SOCKET_POLLIN PollEvent_PollEventFlag = 1 + PollEvent_SOCKET_POLLPRI PollEvent_PollEventFlag = 2 + PollEvent_SOCKET_POLLOUT PollEvent_PollEventFlag = 4 + PollEvent_SOCKET_POLLERR PollEvent_PollEventFlag = 8 + PollEvent_SOCKET_POLLHUP PollEvent_PollEventFlag = 16 + PollEvent_SOCKET_POLLNVAL PollEvent_PollEventFlag = 32 + PollEvent_SOCKET_POLLRDNORM PollEvent_PollEventFlag = 64 + PollEvent_SOCKET_POLLRDBAND PollEvent_PollEventFlag = 128 + PollEvent_SOCKET_POLLWRNORM PollEvent_PollEventFlag = 256 + PollEvent_SOCKET_POLLWRBAND PollEvent_PollEventFlag = 512 + PollEvent_SOCKET_POLLMSG PollEvent_PollEventFlag = 1024 + PollEvent_SOCKET_POLLREMOVE PollEvent_PollEventFlag = 4096 + PollEvent_SOCKET_POLLRDHUP PollEvent_PollEventFlag = 8192 +) + +var PollEvent_PollEventFlag_name = map[int32]string{ + 0: "SOCKET_POLLNONE", + 1: "SOCKET_POLLIN", + 2: "SOCKET_POLLPRI", + 4: "SOCKET_POLLOUT", + 8: "SOCKET_POLLERR", + 16: "SOCKET_POLLHUP", + 32: "SOCKET_POLLNVAL", + 64: "SOCKET_POLLRDNORM", + 128: "SOCKET_POLLRDBAND", + 256: "SOCKET_POLLWRNORM", + 512: "SOCKET_POLLWRBAND", + 1024: "SOCKET_POLLMSG", + 4096: "SOCKET_POLLREMOVE", + 8192: "SOCKET_POLLRDHUP", +} +var PollEvent_PollEventFlag_value = map[string]int32{ + "SOCKET_POLLNONE": 0, + "SOCKET_POLLIN": 1, + "SOCKET_POLLPRI": 2, + "SOCKET_POLLOUT": 4, + "SOCKET_POLLERR": 8, + "SOCKET_POLLHUP": 16, + "SOCKET_POLLNVAL": 32, + "SOCKET_POLLRDNORM": 64, + "SOCKET_POLLRDBAND": 128, + "SOCKET_POLLWRNORM": 256, + "SOCKET_POLLWRBAND": 512, + "SOCKET_POLLMSG": 1024, + "SOCKET_POLLREMOVE": 4096, + "SOCKET_POLLRDHUP": 8192, +} + +func (x PollEvent_PollEventFlag) Enum() *PollEvent_PollEventFlag { + p := new(PollEvent_PollEventFlag) + *p = x + return p +} +func (x PollEvent_PollEventFlag) String() string { + return proto.EnumName(PollEvent_PollEventFlag_name, int32(x)) +} +func (x *PollEvent_PollEventFlag) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(PollEvent_PollEventFlag_value, data, "PollEvent_PollEventFlag") + if err != nil { + return err + } + *x = PollEvent_PollEventFlag(value) + return nil +} + +type ResolveReply_ErrorCode int32 + +const ( + ResolveReply_SOCKET_EAI_ADDRFAMILY ResolveReply_ErrorCode = 1 + ResolveReply_SOCKET_EAI_AGAIN ResolveReply_ErrorCode = 2 + ResolveReply_SOCKET_EAI_BADFLAGS ResolveReply_ErrorCode = 3 + ResolveReply_SOCKET_EAI_FAIL ResolveReply_ErrorCode = 4 + ResolveReply_SOCKET_EAI_FAMILY ResolveReply_ErrorCode = 5 + ResolveReply_SOCKET_EAI_MEMORY ResolveReply_ErrorCode = 6 + ResolveReply_SOCKET_EAI_NODATA ResolveReply_ErrorCode = 7 + ResolveReply_SOCKET_EAI_NONAME ResolveReply_ErrorCode = 8 + ResolveReply_SOCKET_EAI_SERVICE ResolveReply_ErrorCode = 9 + ResolveReply_SOCKET_EAI_SOCKTYPE ResolveReply_ErrorCode = 10 + ResolveReply_SOCKET_EAI_SYSTEM ResolveReply_ErrorCode = 11 + ResolveReply_SOCKET_EAI_BADHINTS ResolveReply_ErrorCode = 12 + ResolveReply_SOCKET_EAI_PROTOCOL ResolveReply_ErrorCode = 13 + ResolveReply_SOCKET_EAI_OVERFLOW ResolveReply_ErrorCode = 14 + ResolveReply_SOCKET_EAI_MAX ResolveReply_ErrorCode = 15 +) + +var ResolveReply_ErrorCode_name = map[int32]string{ + 1: "SOCKET_EAI_ADDRFAMILY", + 2: "SOCKET_EAI_AGAIN", + 3: "SOCKET_EAI_BADFLAGS", + 4: "SOCKET_EAI_FAIL", + 5: "SOCKET_EAI_FAMILY", + 6: "SOCKET_EAI_MEMORY", + 7: "SOCKET_EAI_NODATA", + 8: "SOCKET_EAI_NONAME", + 9: "SOCKET_EAI_SERVICE", + 10: "SOCKET_EAI_SOCKTYPE", + 11: "SOCKET_EAI_SYSTEM", + 12: "SOCKET_EAI_BADHINTS", + 13: "SOCKET_EAI_PROTOCOL", + 14: "SOCKET_EAI_OVERFLOW", + 15: "SOCKET_EAI_MAX", +} +var ResolveReply_ErrorCode_value = map[string]int32{ + "SOCKET_EAI_ADDRFAMILY": 1, + "SOCKET_EAI_AGAIN": 2, + "SOCKET_EAI_BADFLAGS": 3, + "SOCKET_EAI_FAIL": 4, + "SOCKET_EAI_FAMILY": 5, + "SOCKET_EAI_MEMORY": 6, + "SOCKET_EAI_NODATA": 7, + "SOCKET_EAI_NONAME": 8, + "SOCKET_EAI_SERVICE": 9, + "SOCKET_EAI_SOCKTYPE": 10, + "SOCKET_EAI_SYSTEM": 11, + "SOCKET_EAI_BADHINTS": 12, + "SOCKET_EAI_PROTOCOL": 13, + "SOCKET_EAI_OVERFLOW": 14, + "SOCKET_EAI_MAX": 15, +} + +func (x ResolveReply_ErrorCode) Enum() *ResolveReply_ErrorCode { + p := new(ResolveReply_ErrorCode) + *p = x + return p +} +func (x ResolveReply_ErrorCode) String() string { + return proto.EnumName(ResolveReply_ErrorCode_name, int32(x)) +} +func (x *ResolveReply_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(ResolveReply_ErrorCode_value, data, "ResolveReply_ErrorCode") + if err != nil { + return err + } + *x = ResolveReply_ErrorCode(value) + return nil +} + +type RemoteSocketServiceError struct { + SystemError *int32 `protobuf:"varint,1,opt,name=system_error,def=0" json:"system_error,omitempty"` + ErrorDetail *string `protobuf:"bytes,2,opt,name=error_detail" json:"error_detail,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *RemoteSocketServiceError) Reset() { *m = RemoteSocketServiceError{} } +func (m *RemoteSocketServiceError) String() string { return proto.CompactTextString(m) } +func (*RemoteSocketServiceError) ProtoMessage() {} + +const Default_RemoteSocketServiceError_SystemError int32 = 0 + +func (m *RemoteSocketServiceError) GetSystemError() int32 { + if m != nil && m.SystemError != nil { + return *m.SystemError + } + return Default_RemoteSocketServiceError_SystemError +} + +func (m *RemoteSocketServiceError) GetErrorDetail() string { + if m != nil && m.ErrorDetail != nil { + return *m.ErrorDetail + } + return "" +} + +type AddressPort struct { + Port *int32 `protobuf:"varint,1,req,name=port" json:"port,omitempty"` + PackedAddress []byte `protobuf:"bytes,2,opt,name=packed_address" json:"packed_address,omitempty"` + HostnameHint *string `protobuf:"bytes,3,opt,name=hostname_hint" json:"hostname_hint,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *AddressPort) Reset() { *m = AddressPort{} } +func (m *AddressPort) String() string { return proto.CompactTextString(m) } +func (*AddressPort) ProtoMessage() {} + +func (m *AddressPort) GetPort() int32 { + if m != nil && m.Port != nil { + return *m.Port + } + return 0 +} + +func (m *AddressPort) GetPackedAddress() []byte { + if m != nil { + return m.PackedAddress + } + return nil +} + +func (m *AddressPort) GetHostnameHint() string { + if m != nil && m.HostnameHint != nil { + return *m.HostnameHint + } + return "" +} + +type CreateSocketRequest struct { + Family *CreateSocketRequest_SocketFamily `protobuf:"varint,1,req,name=family,enum=appengine.CreateSocketRequest_SocketFamily" json:"family,omitempty"` + Protocol *CreateSocketRequest_SocketProtocol `protobuf:"varint,2,req,name=protocol,enum=appengine.CreateSocketRequest_SocketProtocol" json:"protocol,omitempty"` + SocketOptions []*SocketOption `protobuf:"bytes,3,rep,name=socket_options" json:"socket_options,omitempty"` + ProxyExternalIp *AddressPort `protobuf:"bytes,4,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` + ListenBacklog *int32 `protobuf:"varint,5,opt,name=listen_backlog,def=0" json:"listen_backlog,omitempty"` + RemoteIp *AddressPort `protobuf:"bytes,6,opt,name=remote_ip" json:"remote_ip,omitempty"` + AppId *string `protobuf:"bytes,9,opt,name=app_id" json:"app_id,omitempty"` + ProjectId *int64 `protobuf:"varint,10,opt,name=project_id" json:"project_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateSocketRequest) Reset() { *m = CreateSocketRequest{} } +func (m *CreateSocketRequest) String() string { return proto.CompactTextString(m) } +func (*CreateSocketRequest) ProtoMessage() {} + +const Default_CreateSocketRequest_ListenBacklog int32 = 0 + +func (m *CreateSocketRequest) GetFamily() CreateSocketRequest_SocketFamily { + if m != nil && m.Family != nil { + return *m.Family + } + return CreateSocketRequest_IPv4 +} + +func (m *CreateSocketRequest) GetProtocol() CreateSocketRequest_SocketProtocol { + if m != nil && m.Protocol != nil { + return *m.Protocol + } + return CreateSocketRequest_TCP +} + +func (m *CreateSocketRequest) GetSocketOptions() []*SocketOption { + if m != nil { + return m.SocketOptions + } + return nil +} + +func (m *CreateSocketRequest) GetProxyExternalIp() *AddressPort { + if m != nil { + return m.ProxyExternalIp + } + return nil +} + +func (m *CreateSocketRequest) GetListenBacklog() int32 { + if m != nil && m.ListenBacklog != nil { + return *m.ListenBacklog + } + return Default_CreateSocketRequest_ListenBacklog +} + +func (m *CreateSocketRequest) GetRemoteIp() *AddressPort { + if m != nil { + return m.RemoteIp + } + return nil +} + +func (m *CreateSocketRequest) GetAppId() string { + if m != nil && m.AppId != nil { + return *m.AppId + } + return "" +} + +func (m *CreateSocketRequest) GetProjectId() int64 { + if m != nil && m.ProjectId != nil { + return *m.ProjectId + } + return 0 +} + +type CreateSocketReply struct { + SocketDescriptor *string `protobuf:"bytes,1,opt,name=socket_descriptor" json:"socket_descriptor,omitempty"` + ServerAddress *AddressPort `protobuf:"bytes,3,opt,name=server_address" json:"server_address,omitempty"` + ProxyExternalIp *AddressPort `protobuf:"bytes,4,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` + XXX_extensions map[int32]proto.Extension `json:"-"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateSocketReply) Reset() { *m = CreateSocketReply{} } +func (m *CreateSocketReply) String() string { return proto.CompactTextString(m) } +func (*CreateSocketReply) ProtoMessage() {} + +var extRange_CreateSocketReply = []proto.ExtensionRange{ + {1000, 536870911}, +} + +func (*CreateSocketReply) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_CreateSocketReply +} +func (m *CreateSocketReply) ExtensionMap() map[int32]proto.Extension { + if m.XXX_extensions == nil { + m.XXX_extensions = make(map[int32]proto.Extension) + } + return m.XXX_extensions +} + +func (m *CreateSocketReply) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *CreateSocketReply) GetServerAddress() *AddressPort { + if m != nil { + return m.ServerAddress + } + return nil +} + +func (m *CreateSocketReply) GetProxyExternalIp() *AddressPort { + if m != nil { + return m.ProxyExternalIp + } + return nil +} + +type BindRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + ProxyExternalIp *AddressPort `protobuf:"bytes,2,req,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *BindRequest) Reset() { *m = BindRequest{} } +func (m *BindRequest) String() string { return proto.CompactTextString(m) } +func (*BindRequest) ProtoMessage() {} + +func (m *BindRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *BindRequest) GetProxyExternalIp() *AddressPort { + if m != nil { + return m.ProxyExternalIp + } + return nil +} + +type BindReply struct { + ProxyExternalIp *AddressPort `protobuf:"bytes,1,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *BindReply) Reset() { *m = BindReply{} } +func (m *BindReply) String() string { return proto.CompactTextString(m) } +func (*BindReply) ProtoMessage() {} + +func (m *BindReply) GetProxyExternalIp() *AddressPort { + if m != nil { + return m.ProxyExternalIp + } + return nil +} + +type GetSocketNameRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetSocketNameRequest) Reset() { *m = GetSocketNameRequest{} } +func (m *GetSocketNameRequest) String() string { return proto.CompactTextString(m) } +func (*GetSocketNameRequest) ProtoMessage() {} + +func (m *GetSocketNameRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +type GetSocketNameReply struct { + ProxyExternalIp *AddressPort `protobuf:"bytes,2,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetSocketNameReply) Reset() { *m = GetSocketNameReply{} } +func (m *GetSocketNameReply) String() string { return proto.CompactTextString(m) } +func (*GetSocketNameReply) ProtoMessage() {} + +func (m *GetSocketNameReply) GetProxyExternalIp() *AddressPort { + if m != nil { + return m.ProxyExternalIp + } + return nil +} + +type GetPeerNameRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetPeerNameRequest) Reset() { *m = GetPeerNameRequest{} } +func (m *GetPeerNameRequest) String() string { return proto.CompactTextString(m) } +func (*GetPeerNameRequest) ProtoMessage() {} + +func (m *GetPeerNameRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +type GetPeerNameReply struct { + PeerIp *AddressPort `protobuf:"bytes,2,opt,name=peer_ip" json:"peer_ip,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetPeerNameReply) Reset() { *m = GetPeerNameReply{} } +func (m *GetPeerNameReply) String() string { return proto.CompactTextString(m) } +func (*GetPeerNameReply) ProtoMessage() {} + +func (m *GetPeerNameReply) GetPeerIp() *AddressPort { + if m != nil { + return m.PeerIp + } + return nil +} + +type SocketOption struct { + Level *SocketOption_SocketOptionLevel `protobuf:"varint,1,req,name=level,enum=appengine.SocketOption_SocketOptionLevel" json:"level,omitempty"` + Option *SocketOption_SocketOptionName `protobuf:"varint,2,req,name=option,enum=appengine.SocketOption_SocketOptionName" json:"option,omitempty"` + Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SocketOption) Reset() { *m = SocketOption{} } +func (m *SocketOption) String() string { return proto.CompactTextString(m) } +func (*SocketOption) ProtoMessage() {} + +func (m *SocketOption) GetLevel() SocketOption_SocketOptionLevel { + if m != nil && m.Level != nil { + return *m.Level + } + return SocketOption_SOCKET_SOL_IP +} + +func (m *SocketOption) GetOption() SocketOption_SocketOptionName { + if m != nil && m.Option != nil { + return *m.Option + } + return SocketOption_SOCKET_SO_DEBUG +} + +func (m *SocketOption) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type SetSocketOptionsRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + Options []*SocketOption `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SetSocketOptionsRequest) Reset() { *m = SetSocketOptionsRequest{} } +func (m *SetSocketOptionsRequest) String() string { return proto.CompactTextString(m) } +func (*SetSocketOptionsRequest) ProtoMessage() {} + +func (m *SetSocketOptionsRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *SetSocketOptionsRequest) GetOptions() []*SocketOption { + if m != nil { + return m.Options + } + return nil +} + +type SetSocketOptionsReply struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *SetSocketOptionsReply) Reset() { *m = SetSocketOptionsReply{} } +func (m *SetSocketOptionsReply) String() string { return proto.CompactTextString(m) } +func (*SetSocketOptionsReply) ProtoMessage() {} + +type GetSocketOptionsRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + Options []*SocketOption `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetSocketOptionsRequest) Reset() { *m = GetSocketOptionsRequest{} } +func (m *GetSocketOptionsRequest) String() string { return proto.CompactTextString(m) } +func (*GetSocketOptionsRequest) ProtoMessage() {} + +func (m *GetSocketOptionsRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *GetSocketOptionsRequest) GetOptions() []*SocketOption { + if m != nil { + return m.Options + } + return nil +} + +type GetSocketOptionsReply struct { + Options []*SocketOption `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetSocketOptionsReply) Reset() { *m = GetSocketOptionsReply{} } +func (m *GetSocketOptionsReply) String() string { return proto.CompactTextString(m) } +func (*GetSocketOptionsReply) ProtoMessage() {} + +func (m *GetSocketOptionsReply) GetOptions() []*SocketOption { + if m != nil { + return m.Options + } + return nil +} + +type ConnectRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + RemoteIp *AddressPort `protobuf:"bytes,2,req,name=remote_ip" json:"remote_ip,omitempty"` + TimeoutSeconds *float64 `protobuf:"fixed64,3,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ConnectRequest) Reset() { *m = ConnectRequest{} } +func (m *ConnectRequest) String() string { return proto.CompactTextString(m) } +func (*ConnectRequest) ProtoMessage() {} + +const Default_ConnectRequest_TimeoutSeconds float64 = -1 + +func (m *ConnectRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *ConnectRequest) GetRemoteIp() *AddressPort { + if m != nil { + return m.RemoteIp + } + return nil +} + +func (m *ConnectRequest) GetTimeoutSeconds() float64 { + if m != nil && m.TimeoutSeconds != nil { + return *m.TimeoutSeconds + } + return Default_ConnectRequest_TimeoutSeconds +} + +type ConnectReply struct { + ProxyExternalIp *AddressPort `protobuf:"bytes,1,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` + XXX_extensions map[int32]proto.Extension `json:"-"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ConnectReply) Reset() { *m = ConnectReply{} } +func (m *ConnectReply) String() string { return proto.CompactTextString(m) } +func (*ConnectReply) ProtoMessage() {} + +var extRange_ConnectReply = []proto.ExtensionRange{ + {1000, 536870911}, +} + +func (*ConnectReply) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_ConnectReply +} +func (m *ConnectReply) ExtensionMap() map[int32]proto.Extension { + if m.XXX_extensions == nil { + m.XXX_extensions = make(map[int32]proto.Extension) + } + return m.XXX_extensions +} + +func (m *ConnectReply) GetProxyExternalIp() *AddressPort { + if m != nil { + return m.ProxyExternalIp + } + return nil +} + +type ListenRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + Backlog *int32 `protobuf:"varint,2,req,name=backlog" json:"backlog,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListenRequest) Reset() { *m = ListenRequest{} } +func (m *ListenRequest) String() string { return proto.CompactTextString(m) } +func (*ListenRequest) ProtoMessage() {} + +func (m *ListenRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *ListenRequest) GetBacklog() int32 { + if m != nil && m.Backlog != nil { + return *m.Backlog + } + return 0 +} + +type ListenReply struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *ListenReply) Reset() { *m = ListenReply{} } +func (m *ListenReply) String() string { return proto.CompactTextString(m) } +func (*ListenReply) ProtoMessage() {} + +type AcceptRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + TimeoutSeconds *float64 `protobuf:"fixed64,2,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *AcceptRequest) Reset() { *m = AcceptRequest{} } +func (m *AcceptRequest) String() string { return proto.CompactTextString(m) } +func (*AcceptRequest) ProtoMessage() {} + +const Default_AcceptRequest_TimeoutSeconds float64 = -1 + +func (m *AcceptRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *AcceptRequest) GetTimeoutSeconds() float64 { + if m != nil && m.TimeoutSeconds != nil { + return *m.TimeoutSeconds + } + return Default_AcceptRequest_TimeoutSeconds +} + +type AcceptReply struct { + NewSocketDescriptor []byte `protobuf:"bytes,2,opt,name=new_socket_descriptor" json:"new_socket_descriptor,omitempty"` + RemoteAddress *AddressPort `protobuf:"bytes,3,opt,name=remote_address" json:"remote_address,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *AcceptReply) Reset() { *m = AcceptReply{} } +func (m *AcceptReply) String() string { return proto.CompactTextString(m) } +func (*AcceptReply) ProtoMessage() {} + +func (m *AcceptReply) GetNewSocketDescriptor() []byte { + if m != nil { + return m.NewSocketDescriptor + } + return nil +} + +func (m *AcceptReply) GetRemoteAddress() *AddressPort { + if m != nil { + return m.RemoteAddress + } + return nil +} + +type ShutDownRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + How *ShutDownRequest_How `protobuf:"varint,2,req,name=how,enum=appengine.ShutDownRequest_How" json:"how,omitempty"` + SendOffset *int64 `protobuf:"varint,3,req,name=send_offset" json:"send_offset,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ShutDownRequest) Reset() { *m = ShutDownRequest{} } +func (m *ShutDownRequest) String() string { return proto.CompactTextString(m) } +func (*ShutDownRequest) ProtoMessage() {} + +func (m *ShutDownRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *ShutDownRequest) GetHow() ShutDownRequest_How { + if m != nil && m.How != nil { + return *m.How + } + return ShutDownRequest_SOCKET_SHUT_RD +} + +func (m *ShutDownRequest) GetSendOffset() int64 { + if m != nil && m.SendOffset != nil { + return *m.SendOffset + } + return 0 +} + +type ShutDownReply struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *ShutDownReply) Reset() { *m = ShutDownReply{} } +func (m *ShutDownReply) String() string { return proto.CompactTextString(m) } +func (*ShutDownReply) ProtoMessage() {} + +type CloseRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + SendOffset *int64 `protobuf:"varint,2,opt,name=send_offset,def=-1" json:"send_offset,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CloseRequest) Reset() { *m = CloseRequest{} } +func (m *CloseRequest) String() string { return proto.CompactTextString(m) } +func (*CloseRequest) ProtoMessage() {} + +const Default_CloseRequest_SendOffset int64 = -1 + +func (m *CloseRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *CloseRequest) GetSendOffset() int64 { + if m != nil && m.SendOffset != nil { + return *m.SendOffset + } + return Default_CloseRequest_SendOffset +} + +type CloseReply struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *CloseReply) Reset() { *m = CloseReply{} } +func (m *CloseReply) String() string { return proto.CompactTextString(m) } +func (*CloseReply) ProtoMessage() {} + +type SendRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + Data []byte `protobuf:"bytes,2,req,name=data" json:"data,omitempty"` + StreamOffset *int64 `protobuf:"varint,3,req,name=stream_offset" json:"stream_offset,omitempty"` + Flags *int32 `protobuf:"varint,4,opt,name=flags,def=0" json:"flags,omitempty"` + SendTo *AddressPort `protobuf:"bytes,5,opt,name=send_to" json:"send_to,omitempty"` + TimeoutSeconds *float64 `protobuf:"fixed64,6,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SendRequest) Reset() { *m = SendRequest{} } +func (m *SendRequest) String() string { return proto.CompactTextString(m) } +func (*SendRequest) ProtoMessage() {} + +const Default_SendRequest_Flags int32 = 0 +const Default_SendRequest_TimeoutSeconds float64 = -1 + +func (m *SendRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *SendRequest) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func (m *SendRequest) GetStreamOffset() int64 { + if m != nil && m.StreamOffset != nil { + return *m.StreamOffset + } + return 0 +} + +func (m *SendRequest) GetFlags() int32 { + if m != nil && m.Flags != nil { + return *m.Flags + } + return Default_SendRequest_Flags +} + +func (m *SendRequest) GetSendTo() *AddressPort { + if m != nil { + return m.SendTo + } + return nil +} + +func (m *SendRequest) GetTimeoutSeconds() float64 { + if m != nil && m.TimeoutSeconds != nil { + return *m.TimeoutSeconds + } + return Default_SendRequest_TimeoutSeconds +} + +type SendReply struct { + DataSent *int32 `protobuf:"varint,1,opt,name=data_sent" json:"data_sent,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SendReply) Reset() { *m = SendReply{} } +func (m *SendReply) String() string { return proto.CompactTextString(m) } +func (*SendReply) ProtoMessage() {} + +func (m *SendReply) GetDataSent() int32 { + if m != nil && m.DataSent != nil { + return *m.DataSent + } + return 0 +} + +type ReceiveRequest struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + DataSize *int32 `protobuf:"varint,2,req,name=data_size" json:"data_size,omitempty"` + Flags *int32 `protobuf:"varint,3,opt,name=flags,def=0" json:"flags,omitempty"` + TimeoutSeconds *float64 `protobuf:"fixed64,5,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ReceiveRequest) Reset() { *m = ReceiveRequest{} } +func (m *ReceiveRequest) String() string { return proto.CompactTextString(m) } +func (*ReceiveRequest) ProtoMessage() {} + +const Default_ReceiveRequest_Flags int32 = 0 +const Default_ReceiveRequest_TimeoutSeconds float64 = -1 + +func (m *ReceiveRequest) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *ReceiveRequest) GetDataSize() int32 { + if m != nil && m.DataSize != nil { + return *m.DataSize + } + return 0 +} + +func (m *ReceiveRequest) GetFlags() int32 { + if m != nil && m.Flags != nil { + return *m.Flags + } + return Default_ReceiveRequest_Flags +} + +func (m *ReceiveRequest) GetTimeoutSeconds() float64 { + if m != nil && m.TimeoutSeconds != nil { + return *m.TimeoutSeconds + } + return Default_ReceiveRequest_TimeoutSeconds +} + +type ReceiveReply struct { + StreamOffset *int64 `protobuf:"varint,2,opt,name=stream_offset" json:"stream_offset,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` + ReceivedFrom *AddressPort `protobuf:"bytes,4,opt,name=received_from" json:"received_from,omitempty"` + BufferSize *int32 `protobuf:"varint,5,opt,name=buffer_size" json:"buffer_size,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ReceiveReply) Reset() { *m = ReceiveReply{} } +func (m *ReceiveReply) String() string { return proto.CompactTextString(m) } +func (*ReceiveReply) ProtoMessage() {} + +func (m *ReceiveReply) GetStreamOffset() int64 { + if m != nil && m.StreamOffset != nil { + return *m.StreamOffset + } + return 0 +} + +func (m *ReceiveReply) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func (m *ReceiveReply) GetReceivedFrom() *AddressPort { + if m != nil { + return m.ReceivedFrom + } + return nil +} + +func (m *ReceiveReply) GetBufferSize() int32 { + if m != nil && m.BufferSize != nil { + return *m.BufferSize + } + return 0 +} + +type PollEvent struct { + SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` + RequestedEvents *int32 `protobuf:"varint,2,req,name=requested_events" json:"requested_events,omitempty"` + ObservedEvents *int32 `protobuf:"varint,3,req,name=observed_events" json:"observed_events,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *PollEvent) Reset() { *m = PollEvent{} } +func (m *PollEvent) String() string { return proto.CompactTextString(m) } +func (*PollEvent) ProtoMessage() {} + +func (m *PollEvent) GetSocketDescriptor() string { + if m != nil && m.SocketDescriptor != nil { + return *m.SocketDescriptor + } + return "" +} + +func (m *PollEvent) GetRequestedEvents() int32 { + if m != nil && m.RequestedEvents != nil { + return *m.RequestedEvents + } + return 0 +} + +func (m *PollEvent) GetObservedEvents() int32 { + if m != nil && m.ObservedEvents != nil { + return *m.ObservedEvents + } + return 0 +} + +type PollRequest struct { + Events []*PollEvent `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"` + TimeoutSeconds *float64 `protobuf:"fixed64,2,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *PollRequest) Reset() { *m = PollRequest{} } +func (m *PollRequest) String() string { return proto.CompactTextString(m) } +func (*PollRequest) ProtoMessage() {} + +const Default_PollRequest_TimeoutSeconds float64 = -1 + +func (m *PollRequest) GetEvents() []*PollEvent { + if m != nil { + return m.Events + } + return nil +} + +func (m *PollRequest) GetTimeoutSeconds() float64 { + if m != nil && m.TimeoutSeconds != nil { + return *m.TimeoutSeconds + } + return Default_PollRequest_TimeoutSeconds +} + +type PollReply struct { + Events []*PollEvent `protobuf:"bytes,2,rep,name=events" json:"events,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *PollReply) Reset() { *m = PollReply{} } +func (m *PollReply) String() string { return proto.CompactTextString(m) } +func (*PollReply) ProtoMessage() {} + +func (m *PollReply) GetEvents() []*PollEvent { + if m != nil { + return m.Events + } + return nil +} + +type ResolveRequest struct { + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + AddressFamilies []CreateSocketRequest_SocketFamily `protobuf:"varint,2,rep,name=address_families,enum=appengine.CreateSocketRequest_SocketFamily" json:"address_families,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ResolveRequest) Reset() { *m = ResolveRequest{} } +func (m *ResolveRequest) String() string { return proto.CompactTextString(m) } +func (*ResolveRequest) ProtoMessage() {} + +func (m *ResolveRequest) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *ResolveRequest) GetAddressFamilies() []CreateSocketRequest_SocketFamily { + if m != nil { + return m.AddressFamilies + } + return nil +} + +type ResolveReply struct { + PackedAddress [][]byte `protobuf:"bytes,2,rep,name=packed_address" json:"packed_address,omitempty"` + CanonicalName *string `protobuf:"bytes,3,opt,name=canonical_name" json:"canonical_name,omitempty"` + Aliases []string `protobuf:"bytes,4,rep,name=aliases" json:"aliases,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ResolveReply) Reset() { *m = ResolveReply{} } +func (m *ResolveReply) String() string { return proto.CompactTextString(m) } +func (*ResolveReply) ProtoMessage() {} + +func (m *ResolveReply) GetPackedAddress() [][]byte { + if m != nil { + return m.PackedAddress + } + return nil +} + +func (m *ResolveReply) GetCanonicalName() string { + if m != nil && m.CanonicalName != nil { + return *m.CanonicalName + } + return "" +} + +func (m *ResolveReply) GetAliases() []string { + if m != nil { + return m.Aliases + } + return nil +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/socket/socket_service.proto b/vendor/google.golang.org/appengine/internal/socket/socket_service.proto new file mode 100644 index 000000000..2fcc7953d --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/socket/socket_service.proto @@ -0,0 +1,460 @@ +syntax = "proto2"; +option go_package = "socket"; + +package appengine; + +message RemoteSocketServiceError { + enum ErrorCode { + SYSTEM_ERROR = 1; + GAI_ERROR = 2; + FAILURE = 4; + PERMISSION_DENIED = 5; + INVALID_REQUEST = 6; + SOCKET_CLOSED = 7; + } + + enum SystemError { + option allow_alias = true; + + SYS_SUCCESS = 0; + SYS_EPERM = 1; + SYS_ENOENT = 2; + SYS_ESRCH = 3; + SYS_EINTR = 4; + SYS_EIO = 5; + SYS_ENXIO = 6; + SYS_E2BIG = 7; + SYS_ENOEXEC = 8; + SYS_EBADF = 9; + SYS_ECHILD = 10; + SYS_EAGAIN = 11; + SYS_EWOULDBLOCK = 11; + SYS_ENOMEM = 12; + SYS_EACCES = 13; + SYS_EFAULT = 14; + SYS_ENOTBLK = 15; + SYS_EBUSY = 16; + SYS_EEXIST = 17; + SYS_EXDEV = 18; + SYS_ENODEV = 19; + SYS_ENOTDIR = 20; + SYS_EISDIR = 21; + SYS_EINVAL = 22; + SYS_ENFILE = 23; + SYS_EMFILE = 24; + SYS_ENOTTY = 25; + SYS_ETXTBSY = 26; + SYS_EFBIG = 27; + SYS_ENOSPC = 28; + SYS_ESPIPE = 29; + SYS_EROFS = 30; + SYS_EMLINK = 31; + SYS_EPIPE = 32; + SYS_EDOM = 33; + SYS_ERANGE = 34; + SYS_EDEADLK = 35; + SYS_EDEADLOCK = 35; + SYS_ENAMETOOLONG = 36; + SYS_ENOLCK = 37; + SYS_ENOSYS = 38; + SYS_ENOTEMPTY = 39; + SYS_ELOOP = 40; + SYS_ENOMSG = 42; + SYS_EIDRM = 43; + SYS_ECHRNG = 44; + SYS_EL2NSYNC = 45; + SYS_EL3HLT = 46; + SYS_EL3RST = 47; + SYS_ELNRNG = 48; + SYS_EUNATCH = 49; + SYS_ENOCSI = 50; + SYS_EL2HLT = 51; + SYS_EBADE = 52; + SYS_EBADR = 53; + SYS_EXFULL = 54; + SYS_ENOANO = 55; + SYS_EBADRQC = 56; + SYS_EBADSLT = 57; + SYS_EBFONT = 59; + SYS_ENOSTR = 60; + SYS_ENODATA = 61; + SYS_ETIME = 62; + SYS_ENOSR = 63; + SYS_ENONET = 64; + SYS_ENOPKG = 65; + SYS_EREMOTE = 66; + SYS_ENOLINK = 67; + SYS_EADV = 68; + SYS_ESRMNT = 69; + SYS_ECOMM = 70; + SYS_EPROTO = 71; + SYS_EMULTIHOP = 72; + SYS_EDOTDOT = 73; + SYS_EBADMSG = 74; + SYS_EOVERFLOW = 75; + SYS_ENOTUNIQ = 76; + SYS_EBADFD = 77; + SYS_EREMCHG = 78; + SYS_ELIBACC = 79; + SYS_ELIBBAD = 80; + SYS_ELIBSCN = 81; + SYS_ELIBMAX = 82; + SYS_ELIBEXEC = 83; + SYS_EILSEQ = 84; + SYS_ERESTART = 85; + SYS_ESTRPIPE = 86; + SYS_EUSERS = 87; + SYS_ENOTSOCK = 88; + SYS_EDESTADDRREQ = 89; + SYS_EMSGSIZE = 90; + SYS_EPROTOTYPE = 91; + SYS_ENOPROTOOPT = 92; + SYS_EPROTONOSUPPORT = 93; + SYS_ESOCKTNOSUPPORT = 94; + SYS_EOPNOTSUPP = 95; + SYS_ENOTSUP = 95; + SYS_EPFNOSUPPORT = 96; + SYS_EAFNOSUPPORT = 97; + SYS_EADDRINUSE = 98; + SYS_EADDRNOTAVAIL = 99; + SYS_ENETDOWN = 100; + SYS_ENETUNREACH = 101; + SYS_ENETRESET = 102; + SYS_ECONNABORTED = 103; + SYS_ECONNRESET = 104; + SYS_ENOBUFS = 105; + SYS_EISCONN = 106; + SYS_ENOTCONN = 107; + SYS_ESHUTDOWN = 108; + SYS_ETOOMANYREFS = 109; + SYS_ETIMEDOUT = 110; + SYS_ECONNREFUSED = 111; + SYS_EHOSTDOWN = 112; + SYS_EHOSTUNREACH = 113; + SYS_EALREADY = 114; + SYS_EINPROGRESS = 115; + SYS_ESTALE = 116; + SYS_EUCLEAN = 117; + SYS_ENOTNAM = 118; + SYS_ENAVAIL = 119; + SYS_EISNAM = 120; + SYS_EREMOTEIO = 121; + SYS_EDQUOT = 122; + SYS_ENOMEDIUM = 123; + SYS_EMEDIUMTYPE = 124; + SYS_ECANCELED = 125; + SYS_ENOKEY = 126; + SYS_EKEYEXPIRED = 127; + SYS_EKEYREVOKED = 128; + SYS_EKEYREJECTED = 129; + SYS_EOWNERDEAD = 130; + SYS_ENOTRECOVERABLE = 131; + SYS_ERFKILL = 132; + } + + optional int32 system_error = 1 [default=0]; + optional string error_detail = 2; +} + +message AddressPort { + required int32 port = 1; + optional bytes packed_address = 2; + + optional string hostname_hint = 3; +} + + + +message CreateSocketRequest { + enum SocketFamily { + IPv4 = 1; + IPv6 = 2; + } + + enum SocketProtocol { + TCP = 1; + UDP = 2; + } + + required SocketFamily family = 1; + required SocketProtocol protocol = 2; + + repeated SocketOption socket_options = 3; + + optional AddressPort proxy_external_ip = 4; + + optional int32 listen_backlog = 5 [default=0]; + + optional AddressPort remote_ip = 6; + + optional string app_id = 9; + + optional int64 project_id = 10; +} + +message CreateSocketReply { + optional string socket_descriptor = 1; + + optional AddressPort server_address = 3; + + optional AddressPort proxy_external_ip = 4; + + extensions 1000 to max; +} + + + +message BindRequest { + required string socket_descriptor = 1; + required AddressPort proxy_external_ip = 2; +} + +message BindReply { + optional AddressPort proxy_external_ip = 1; +} + + + +message GetSocketNameRequest { + required string socket_descriptor = 1; +} + +message GetSocketNameReply { + optional AddressPort proxy_external_ip = 2; +} + + + +message GetPeerNameRequest { + required string socket_descriptor = 1; +} + +message GetPeerNameReply { + optional AddressPort peer_ip = 2; +} + + +message SocketOption { + + enum SocketOptionLevel { + SOCKET_SOL_IP = 0; + SOCKET_SOL_SOCKET = 1; + SOCKET_SOL_TCP = 6; + SOCKET_SOL_UDP = 17; + } + + enum SocketOptionName { + option allow_alias = true; + + SOCKET_SO_DEBUG = 1; + SOCKET_SO_REUSEADDR = 2; + SOCKET_SO_TYPE = 3; + SOCKET_SO_ERROR = 4; + SOCKET_SO_DONTROUTE = 5; + SOCKET_SO_BROADCAST = 6; + SOCKET_SO_SNDBUF = 7; + SOCKET_SO_RCVBUF = 8; + SOCKET_SO_KEEPALIVE = 9; + SOCKET_SO_OOBINLINE = 10; + SOCKET_SO_LINGER = 13; + SOCKET_SO_RCVTIMEO = 20; + SOCKET_SO_SNDTIMEO = 21; + + SOCKET_IP_TOS = 1; + SOCKET_IP_TTL = 2; + SOCKET_IP_HDRINCL = 3; + SOCKET_IP_OPTIONS = 4; + + SOCKET_TCP_NODELAY = 1; + SOCKET_TCP_MAXSEG = 2; + SOCKET_TCP_CORK = 3; + SOCKET_TCP_KEEPIDLE = 4; + SOCKET_TCP_KEEPINTVL = 5; + SOCKET_TCP_KEEPCNT = 6; + SOCKET_TCP_SYNCNT = 7; + SOCKET_TCP_LINGER2 = 8; + SOCKET_TCP_DEFER_ACCEPT = 9; + SOCKET_TCP_WINDOW_CLAMP = 10; + SOCKET_TCP_INFO = 11; + SOCKET_TCP_QUICKACK = 12; + } + + required SocketOptionLevel level = 1; + required SocketOptionName option = 2; + required bytes value = 3; +} + + +message SetSocketOptionsRequest { + required string socket_descriptor = 1; + repeated SocketOption options = 2; +} + +message SetSocketOptionsReply { +} + +message GetSocketOptionsRequest { + required string socket_descriptor = 1; + repeated SocketOption options = 2; +} + +message GetSocketOptionsReply { + repeated SocketOption options = 2; +} + + +message ConnectRequest { + required string socket_descriptor = 1; + required AddressPort remote_ip = 2; + optional double timeout_seconds = 3 [default=-1]; +} + +message ConnectReply { + optional AddressPort proxy_external_ip = 1; + + extensions 1000 to max; +} + + +message ListenRequest { + required string socket_descriptor = 1; + required int32 backlog = 2; +} + +message ListenReply { +} + + +message AcceptRequest { + required string socket_descriptor = 1; + optional double timeout_seconds = 2 [default=-1]; +} + +message AcceptReply { + optional bytes new_socket_descriptor = 2; + optional AddressPort remote_address = 3; +} + + + +message ShutDownRequest { + enum How { + SOCKET_SHUT_RD = 1; + SOCKET_SHUT_WR = 2; + SOCKET_SHUT_RDWR = 3; + } + required string socket_descriptor = 1; + required How how = 2; + required int64 send_offset = 3; +} + +message ShutDownReply { +} + + + +message CloseRequest { + required string socket_descriptor = 1; + optional int64 send_offset = 2 [default=-1]; +} + +message CloseReply { +} + + + +message SendRequest { + required string socket_descriptor = 1; + required bytes data = 2 [ctype=CORD]; + required int64 stream_offset = 3; + optional int32 flags = 4 [default=0]; + optional AddressPort send_to = 5; + optional double timeout_seconds = 6 [default=-1]; +} + +message SendReply { + optional int32 data_sent = 1; +} + + +message ReceiveRequest { + enum Flags { + MSG_OOB = 1; + MSG_PEEK = 2; + } + required string socket_descriptor = 1; + required int32 data_size = 2; + optional int32 flags = 3 [default=0]; + optional double timeout_seconds = 5 [default=-1]; +} + +message ReceiveReply { + optional int64 stream_offset = 2; + optional bytes data = 3 [ctype=CORD]; + optional AddressPort received_from = 4; + optional int32 buffer_size = 5; +} + + + +message PollEvent { + + enum PollEventFlag { + SOCKET_POLLNONE = 0; + SOCKET_POLLIN = 1; + SOCKET_POLLPRI = 2; + SOCKET_POLLOUT = 4; + SOCKET_POLLERR = 8; + SOCKET_POLLHUP = 16; + SOCKET_POLLNVAL = 32; + SOCKET_POLLRDNORM = 64; + SOCKET_POLLRDBAND = 128; + SOCKET_POLLWRNORM = 256; + SOCKET_POLLWRBAND = 512; + SOCKET_POLLMSG = 1024; + SOCKET_POLLREMOVE = 4096; + SOCKET_POLLRDHUP = 8192; + }; + + required string socket_descriptor = 1; + required int32 requested_events = 2; + required int32 observed_events = 3; +} + +message PollRequest { + repeated PollEvent events = 1; + optional double timeout_seconds = 2 [default=-1]; +} + +message PollReply { + repeated PollEvent events = 2; +} + +message ResolveRequest { + required string name = 1; + repeated CreateSocketRequest.SocketFamily address_families = 2; +} + +message ResolveReply { + enum ErrorCode { + SOCKET_EAI_ADDRFAMILY = 1; + SOCKET_EAI_AGAIN = 2; + SOCKET_EAI_BADFLAGS = 3; + SOCKET_EAI_FAIL = 4; + SOCKET_EAI_FAMILY = 5; + SOCKET_EAI_MEMORY = 6; + SOCKET_EAI_NODATA = 7; + SOCKET_EAI_NONAME = 8; + SOCKET_EAI_SERVICE = 9; + SOCKET_EAI_SOCKTYPE = 10; + SOCKET_EAI_SYSTEM = 11; + SOCKET_EAI_BADHINTS = 12; + SOCKET_EAI_PROTOCOL = 13; + SOCKET_EAI_OVERFLOW = 14; + SOCKET_EAI_MAX = 15; + }; + + repeated bytes packed_address = 2; + optional string canonical_name = 3; + repeated string aliases = 4; +} diff --git a/vendor/google.golang.org/appengine/internal/system/system_service.pb.go b/vendor/google.golang.org/appengine/internal/system/system_service.pb.go new file mode 100644 index 000000000..56cc3f805 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/system/system_service.pb.go @@ -0,0 +1,198 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/system/system_service.proto +// DO NOT EDIT! + +/* +Package system is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/system/system_service.proto + +It has these top-level messages: + SystemServiceError + SystemStat + GetSystemStatsRequest + GetSystemStatsResponse + StartBackgroundRequestRequest + StartBackgroundRequestResponse +*/ +package system + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type SystemServiceError_ErrorCode int32 + +const ( + SystemServiceError_OK SystemServiceError_ErrorCode = 0 + SystemServiceError_INTERNAL_ERROR SystemServiceError_ErrorCode = 1 + SystemServiceError_BACKEND_REQUIRED SystemServiceError_ErrorCode = 2 + SystemServiceError_LIMIT_REACHED SystemServiceError_ErrorCode = 3 +) + +var SystemServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INTERNAL_ERROR", + 2: "BACKEND_REQUIRED", + 3: "LIMIT_REACHED", +} +var SystemServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INTERNAL_ERROR": 1, + "BACKEND_REQUIRED": 2, + "LIMIT_REACHED": 3, +} + +func (x SystemServiceError_ErrorCode) Enum() *SystemServiceError_ErrorCode { + p := new(SystemServiceError_ErrorCode) + *p = x + return p +} +func (x SystemServiceError_ErrorCode) String() string { + return proto.EnumName(SystemServiceError_ErrorCode_name, int32(x)) +} +func (x *SystemServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(SystemServiceError_ErrorCode_value, data, "SystemServiceError_ErrorCode") + if err != nil { + return err + } + *x = SystemServiceError_ErrorCode(value) + return nil +} + +type SystemServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *SystemServiceError) Reset() { *m = SystemServiceError{} } +func (m *SystemServiceError) String() string { return proto.CompactTextString(m) } +func (*SystemServiceError) ProtoMessage() {} + +type SystemStat struct { + // Instaneous value of this stat. + Current *float64 `protobuf:"fixed64,1,opt,name=current" json:"current,omitempty"` + // Average over time, if this stat has an instaneous value. + Average1M *float64 `protobuf:"fixed64,3,opt,name=average1m" json:"average1m,omitempty"` + Average10M *float64 `protobuf:"fixed64,4,opt,name=average10m" json:"average10m,omitempty"` + // Total value, if the stat accumulates over time. + Total *float64 `protobuf:"fixed64,2,opt,name=total" json:"total,omitempty"` + // Rate over time, if this stat accumulates. + Rate1M *float64 `protobuf:"fixed64,5,opt,name=rate1m" json:"rate1m,omitempty"` + Rate10M *float64 `protobuf:"fixed64,6,opt,name=rate10m" json:"rate10m,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *SystemStat) Reset() { *m = SystemStat{} } +func (m *SystemStat) String() string { return proto.CompactTextString(m) } +func (*SystemStat) ProtoMessage() {} + +func (m *SystemStat) GetCurrent() float64 { + if m != nil && m.Current != nil { + return *m.Current + } + return 0 +} + +func (m *SystemStat) GetAverage1M() float64 { + if m != nil && m.Average1M != nil { + return *m.Average1M + } + return 0 +} + +func (m *SystemStat) GetAverage10M() float64 { + if m != nil && m.Average10M != nil { + return *m.Average10M + } + return 0 +} + +func (m *SystemStat) GetTotal() float64 { + if m != nil && m.Total != nil { + return *m.Total + } + return 0 +} + +func (m *SystemStat) GetRate1M() float64 { + if m != nil && m.Rate1M != nil { + return *m.Rate1M + } + return 0 +} + +func (m *SystemStat) GetRate10M() float64 { + if m != nil && m.Rate10M != nil { + return *m.Rate10M + } + return 0 +} + +type GetSystemStatsRequest struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetSystemStatsRequest) Reset() { *m = GetSystemStatsRequest{} } +func (m *GetSystemStatsRequest) String() string { return proto.CompactTextString(m) } +func (*GetSystemStatsRequest) ProtoMessage() {} + +type GetSystemStatsResponse struct { + // CPU used by this instance, in mcycles. + Cpu *SystemStat `protobuf:"bytes,1,opt,name=cpu" json:"cpu,omitempty"` + // Physical memory (RAM) used by this instance, in megabytes. + Memory *SystemStat `protobuf:"bytes,2,opt,name=memory" json:"memory,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetSystemStatsResponse) Reset() { *m = GetSystemStatsResponse{} } +func (m *GetSystemStatsResponse) String() string { return proto.CompactTextString(m) } +func (*GetSystemStatsResponse) ProtoMessage() {} + +func (m *GetSystemStatsResponse) GetCpu() *SystemStat { + if m != nil { + return m.Cpu + } + return nil +} + +func (m *GetSystemStatsResponse) GetMemory() *SystemStat { + if m != nil { + return m.Memory + } + return nil +} + +type StartBackgroundRequestRequest struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *StartBackgroundRequestRequest) Reset() { *m = StartBackgroundRequestRequest{} } +func (m *StartBackgroundRequestRequest) String() string { return proto.CompactTextString(m) } +func (*StartBackgroundRequestRequest) ProtoMessage() {} + +type StartBackgroundRequestResponse struct { + // Every /_ah/background request will have an X-AppEngine-BackgroundRequest + // header, whose value will be equal to this parameter, the request_id. + RequestId *string `protobuf:"bytes,1,opt,name=request_id" json:"request_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *StartBackgroundRequestResponse) Reset() { *m = StartBackgroundRequestResponse{} } +func (m *StartBackgroundRequestResponse) String() string { return proto.CompactTextString(m) } +func (*StartBackgroundRequestResponse) ProtoMessage() {} + +func (m *StartBackgroundRequestResponse) GetRequestId() string { + if m != nil && m.RequestId != nil { + return *m.RequestId + } + return "" +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/system/system_service.proto b/vendor/google.golang.org/appengine/internal/system/system_service.proto new file mode 100644 index 000000000..32c0bf859 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/system/system_service.proto @@ -0,0 +1,49 @@ +syntax = "proto2"; +option go_package = "system"; + +package appengine; + +message SystemServiceError { + enum ErrorCode { + OK = 0; + INTERNAL_ERROR = 1; + BACKEND_REQUIRED = 2; + LIMIT_REACHED = 3; + } +} + +message SystemStat { + // Instaneous value of this stat. + optional double current = 1; + + // Average over time, if this stat has an instaneous value. + optional double average1m = 3; + optional double average10m = 4; + + // Total value, if the stat accumulates over time. + optional double total = 2; + + // Rate over time, if this stat accumulates. + optional double rate1m = 5; + optional double rate10m = 6; +} + +message GetSystemStatsRequest { +} + +message GetSystemStatsResponse { + // CPU used by this instance, in mcycles. + optional SystemStat cpu = 1; + + // Physical memory (RAM) used by this instance, in megabytes. + optional SystemStat memory = 2; +} + +message StartBackgroundRequestRequest { +} + +message StartBackgroundRequestResponse { + // Every /_ah/background request will have an X-AppEngine-BackgroundRequest + // header, whose value will be equal to this parameter, the request_id. + optional string request_id = 1; +} diff --git a/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go b/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go new file mode 100644 index 000000000..c3d428ec5 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go @@ -0,0 +1,1888 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto +// DO NOT EDIT! + +/* +Package taskqueue is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto + +It has these top-level messages: + TaskQueueServiceError + TaskPayload + TaskQueueRetryParameters + TaskQueueAcl + TaskQueueHttpHeader + TaskQueueMode + TaskQueueAddRequest + TaskQueueAddResponse + TaskQueueBulkAddRequest + TaskQueueBulkAddResponse + TaskQueueDeleteRequest + TaskQueueDeleteResponse + TaskQueueForceRunRequest + TaskQueueForceRunResponse + TaskQueueUpdateQueueRequest + TaskQueueUpdateQueueResponse + TaskQueueFetchQueuesRequest + TaskQueueFetchQueuesResponse + TaskQueueFetchQueueStatsRequest + TaskQueueScannerQueueInfo + TaskQueueFetchQueueStatsResponse + TaskQueuePauseQueueRequest + TaskQueuePauseQueueResponse + TaskQueuePurgeQueueRequest + TaskQueuePurgeQueueResponse + TaskQueueDeleteQueueRequest + TaskQueueDeleteQueueResponse + TaskQueueDeleteGroupRequest + TaskQueueDeleteGroupResponse + TaskQueueQueryTasksRequest + TaskQueueQueryTasksResponse + TaskQueueFetchTaskRequest + TaskQueueFetchTaskResponse + TaskQueueUpdateStorageLimitRequest + TaskQueueUpdateStorageLimitResponse + TaskQueueQueryAndOwnTasksRequest + TaskQueueQueryAndOwnTasksResponse + TaskQueueModifyTaskLeaseRequest + TaskQueueModifyTaskLeaseResponse +*/ +package taskqueue + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import appengine "google.golang.org/appengine/internal/datastore" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type TaskQueueServiceError_ErrorCode int32 + +const ( + TaskQueueServiceError_OK TaskQueueServiceError_ErrorCode = 0 + TaskQueueServiceError_UNKNOWN_QUEUE TaskQueueServiceError_ErrorCode = 1 + TaskQueueServiceError_TRANSIENT_ERROR TaskQueueServiceError_ErrorCode = 2 + TaskQueueServiceError_INTERNAL_ERROR TaskQueueServiceError_ErrorCode = 3 + TaskQueueServiceError_TASK_TOO_LARGE TaskQueueServiceError_ErrorCode = 4 + TaskQueueServiceError_INVALID_TASK_NAME TaskQueueServiceError_ErrorCode = 5 + TaskQueueServiceError_INVALID_QUEUE_NAME TaskQueueServiceError_ErrorCode = 6 + TaskQueueServiceError_INVALID_URL TaskQueueServiceError_ErrorCode = 7 + TaskQueueServiceError_INVALID_QUEUE_RATE TaskQueueServiceError_ErrorCode = 8 + TaskQueueServiceError_PERMISSION_DENIED TaskQueueServiceError_ErrorCode = 9 + TaskQueueServiceError_TASK_ALREADY_EXISTS TaskQueueServiceError_ErrorCode = 10 + TaskQueueServiceError_TOMBSTONED_TASK TaskQueueServiceError_ErrorCode = 11 + TaskQueueServiceError_INVALID_ETA TaskQueueServiceError_ErrorCode = 12 + TaskQueueServiceError_INVALID_REQUEST TaskQueueServiceError_ErrorCode = 13 + TaskQueueServiceError_UNKNOWN_TASK TaskQueueServiceError_ErrorCode = 14 + TaskQueueServiceError_TOMBSTONED_QUEUE TaskQueueServiceError_ErrorCode = 15 + TaskQueueServiceError_DUPLICATE_TASK_NAME TaskQueueServiceError_ErrorCode = 16 + TaskQueueServiceError_SKIPPED TaskQueueServiceError_ErrorCode = 17 + TaskQueueServiceError_TOO_MANY_TASKS TaskQueueServiceError_ErrorCode = 18 + TaskQueueServiceError_INVALID_PAYLOAD TaskQueueServiceError_ErrorCode = 19 + TaskQueueServiceError_INVALID_RETRY_PARAMETERS TaskQueueServiceError_ErrorCode = 20 + TaskQueueServiceError_INVALID_QUEUE_MODE TaskQueueServiceError_ErrorCode = 21 + TaskQueueServiceError_ACL_LOOKUP_ERROR TaskQueueServiceError_ErrorCode = 22 + TaskQueueServiceError_TRANSACTIONAL_REQUEST_TOO_LARGE TaskQueueServiceError_ErrorCode = 23 + TaskQueueServiceError_INCORRECT_CREATOR_NAME TaskQueueServiceError_ErrorCode = 24 + TaskQueueServiceError_TASK_LEASE_EXPIRED TaskQueueServiceError_ErrorCode = 25 + TaskQueueServiceError_QUEUE_PAUSED TaskQueueServiceError_ErrorCode = 26 + TaskQueueServiceError_INVALID_TAG TaskQueueServiceError_ErrorCode = 27 + // Reserved range for the Datastore error codes. + // Original Datastore error code is shifted by DATASTORE_ERROR offset. + TaskQueueServiceError_DATASTORE_ERROR TaskQueueServiceError_ErrorCode = 10000 +) + +var TaskQueueServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "UNKNOWN_QUEUE", + 2: "TRANSIENT_ERROR", + 3: "INTERNAL_ERROR", + 4: "TASK_TOO_LARGE", + 5: "INVALID_TASK_NAME", + 6: "INVALID_QUEUE_NAME", + 7: "INVALID_URL", + 8: "INVALID_QUEUE_RATE", + 9: "PERMISSION_DENIED", + 10: "TASK_ALREADY_EXISTS", + 11: "TOMBSTONED_TASK", + 12: "INVALID_ETA", + 13: "INVALID_REQUEST", + 14: "UNKNOWN_TASK", + 15: "TOMBSTONED_QUEUE", + 16: "DUPLICATE_TASK_NAME", + 17: "SKIPPED", + 18: "TOO_MANY_TASKS", + 19: "INVALID_PAYLOAD", + 20: "INVALID_RETRY_PARAMETERS", + 21: "INVALID_QUEUE_MODE", + 22: "ACL_LOOKUP_ERROR", + 23: "TRANSACTIONAL_REQUEST_TOO_LARGE", + 24: "INCORRECT_CREATOR_NAME", + 25: "TASK_LEASE_EXPIRED", + 26: "QUEUE_PAUSED", + 27: "INVALID_TAG", + 10000: "DATASTORE_ERROR", +} +var TaskQueueServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "UNKNOWN_QUEUE": 1, + "TRANSIENT_ERROR": 2, + "INTERNAL_ERROR": 3, + "TASK_TOO_LARGE": 4, + "INVALID_TASK_NAME": 5, + "INVALID_QUEUE_NAME": 6, + "INVALID_URL": 7, + "INVALID_QUEUE_RATE": 8, + "PERMISSION_DENIED": 9, + "TASK_ALREADY_EXISTS": 10, + "TOMBSTONED_TASK": 11, + "INVALID_ETA": 12, + "INVALID_REQUEST": 13, + "UNKNOWN_TASK": 14, + "TOMBSTONED_QUEUE": 15, + "DUPLICATE_TASK_NAME": 16, + "SKIPPED": 17, + "TOO_MANY_TASKS": 18, + "INVALID_PAYLOAD": 19, + "INVALID_RETRY_PARAMETERS": 20, + "INVALID_QUEUE_MODE": 21, + "ACL_LOOKUP_ERROR": 22, + "TRANSACTIONAL_REQUEST_TOO_LARGE": 23, + "INCORRECT_CREATOR_NAME": 24, + "TASK_LEASE_EXPIRED": 25, + "QUEUE_PAUSED": 26, + "INVALID_TAG": 27, + "DATASTORE_ERROR": 10000, +} + +func (x TaskQueueServiceError_ErrorCode) Enum() *TaskQueueServiceError_ErrorCode { + p := new(TaskQueueServiceError_ErrorCode) + *p = x + return p +} +func (x TaskQueueServiceError_ErrorCode) String() string { + return proto.EnumName(TaskQueueServiceError_ErrorCode_name, int32(x)) +} +func (x *TaskQueueServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(TaskQueueServiceError_ErrorCode_value, data, "TaskQueueServiceError_ErrorCode") + if err != nil { + return err + } + *x = TaskQueueServiceError_ErrorCode(value) + return nil +} + +type TaskQueueMode_Mode int32 + +const ( + TaskQueueMode_PUSH TaskQueueMode_Mode = 0 + TaskQueueMode_PULL TaskQueueMode_Mode = 1 +) + +var TaskQueueMode_Mode_name = map[int32]string{ + 0: "PUSH", + 1: "PULL", +} +var TaskQueueMode_Mode_value = map[string]int32{ + "PUSH": 0, + "PULL": 1, +} + +func (x TaskQueueMode_Mode) Enum() *TaskQueueMode_Mode { + p := new(TaskQueueMode_Mode) + *p = x + return p +} +func (x TaskQueueMode_Mode) String() string { + return proto.EnumName(TaskQueueMode_Mode_name, int32(x)) +} +func (x *TaskQueueMode_Mode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(TaskQueueMode_Mode_value, data, "TaskQueueMode_Mode") + if err != nil { + return err + } + *x = TaskQueueMode_Mode(value) + return nil +} + +type TaskQueueAddRequest_RequestMethod int32 + +const ( + TaskQueueAddRequest_GET TaskQueueAddRequest_RequestMethod = 1 + TaskQueueAddRequest_POST TaskQueueAddRequest_RequestMethod = 2 + TaskQueueAddRequest_HEAD TaskQueueAddRequest_RequestMethod = 3 + TaskQueueAddRequest_PUT TaskQueueAddRequest_RequestMethod = 4 + TaskQueueAddRequest_DELETE TaskQueueAddRequest_RequestMethod = 5 +) + +var TaskQueueAddRequest_RequestMethod_name = map[int32]string{ + 1: "GET", + 2: "POST", + 3: "HEAD", + 4: "PUT", + 5: "DELETE", +} +var TaskQueueAddRequest_RequestMethod_value = map[string]int32{ + "GET": 1, + "POST": 2, + "HEAD": 3, + "PUT": 4, + "DELETE": 5, +} + +func (x TaskQueueAddRequest_RequestMethod) Enum() *TaskQueueAddRequest_RequestMethod { + p := new(TaskQueueAddRequest_RequestMethod) + *p = x + return p +} +func (x TaskQueueAddRequest_RequestMethod) String() string { + return proto.EnumName(TaskQueueAddRequest_RequestMethod_name, int32(x)) +} +func (x *TaskQueueAddRequest_RequestMethod) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(TaskQueueAddRequest_RequestMethod_value, data, "TaskQueueAddRequest_RequestMethod") + if err != nil { + return err + } + *x = TaskQueueAddRequest_RequestMethod(value) + return nil +} + +type TaskQueueQueryTasksResponse_Task_RequestMethod int32 + +const ( + TaskQueueQueryTasksResponse_Task_GET TaskQueueQueryTasksResponse_Task_RequestMethod = 1 + TaskQueueQueryTasksResponse_Task_POST TaskQueueQueryTasksResponse_Task_RequestMethod = 2 + TaskQueueQueryTasksResponse_Task_HEAD TaskQueueQueryTasksResponse_Task_RequestMethod = 3 + TaskQueueQueryTasksResponse_Task_PUT TaskQueueQueryTasksResponse_Task_RequestMethod = 4 + TaskQueueQueryTasksResponse_Task_DELETE TaskQueueQueryTasksResponse_Task_RequestMethod = 5 +) + +var TaskQueueQueryTasksResponse_Task_RequestMethod_name = map[int32]string{ + 1: "GET", + 2: "POST", + 3: "HEAD", + 4: "PUT", + 5: "DELETE", +} +var TaskQueueQueryTasksResponse_Task_RequestMethod_value = map[string]int32{ + "GET": 1, + "POST": 2, + "HEAD": 3, + "PUT": 4, + "DELETE": 5, +} + +func (x TaskQueueQueryTasksResponse_Task_RequestMethod) Enum() *TaskQueueQueryTasksResponse_Task_RequestMethod { + p := new(TaskQueueQueryTasksResponse_Task_RequestMethod) + *p = x + return p +} +func (x TaskQueueQueryTasksResponse_Task_RequestMethod) String() string { + return proto.EnumName(TaskQueueQueryTasksResponse_Task_RequestMethod_name, int32(x)) +} +func (x *TaskQueueQueryTasksResponse_Task_RequestMethod) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(TaskQueueQueryTasksResponse_Task_RequestMethod_value, data, "TaskQueueQueryTasksResponse_Task_RequestMethod") + if err != nil { + return err + } + *x = TaskQueueQueryTasksResponse_Task_RequestMethod(value) + return nil +} + +type TaskQueueServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueServiceError) Reset() { *m = TaskQueueServiceError{} } +func (m *TaskQueueServiceError) String() string { return proto.CompactTextString(m) } +func (*TaskQueueServiceError) ProtoMessage() {} + +type TaskPayload struct { + XXX_extensions map[int32]proto.Extension `json:"-"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskPayload) Reset() { *m = TaskPayload{} } +func (m *TaskPayload) String() string { return proto.CompactTextString(m) } +func (*TaskPayload) ProtoMessage() {} + +func (m *TaskPayload) Marshal() ([]byte, error) { + return proto.MarshalMessageSet(m.ExtensionMap()) +} +func (m *TaskPayload) Unmarshal(buf []byte) error { + return proto.UnmarshalMessageSet(buf, m.ExtensionMap()) +} +func (m *TaskPayload) MarshalJSON() ([]byte, error) { + return proto.MarshalMessageSetJSON(m.XXX_extensions) +} +func (m *TaskPayload) UnmarshalJSON(buf []byte) error { + return proto.UnmarshalMessageSetJSON(buf, m.XXX_extensions) +} + +// ensure TaskPayload satisfies proto.Marshaler and proto.Unmarshaler +var _ proto.Marshaler = (*TaskPayload)(nil) +var _ proto.Unmarshaler = (*TaskPayload)(nil) + +var extRange_TaskPayload = []proto.ExtensionRange{ + {10, 2147483646}, +} + +func (*TaskPayload) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_TaskPayload +} +func (m *TaskPayload) ExtensionMap() map[int32]proto.Extension { + if m.XXX_extensions == nil { + m.XXX_extensions = make(map[int32]proto.Extension) + } + return m.XXX_extensions +} + +type TaskQueueRetryParameters struct { + RetryLimit *int32 `protobuf:"varint,1,opt,name=retry_limit" json:"retry_limit,omitempty"` + AgeLimitSec *int64 `protobuf:"varint,2,opt,name=age_limit_sec" json:"age_limit_sec,omitempty"` + MinBackoffSec *float64 `protobuf:"fixed64,3,opt,name=min_backoff_sec,def=0.1" json:"min_backoff_sec,omitempty"` + MaxBackoffSec *float64 `protobuf:"fixed64,4,opt,name=max_backoff_sec,def=3600" json:"max_backoff_sec,omitempty"` + MaxDoublings *int32 `protobuf:"varint,5,opt,name=max_doublings,def=16" json:"max_doublings,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueRetryParameters) Reset() { *m = TaskQueueRetryParameters{} } +func (m *TaskQueueRetryParameters) String() string { return proto.CompactTextString(m) } +func (*TaskQueueRetryParameters) ProtoMessage() {} + +const Default_TaskQueueRetryParameters_MinBackoffSec float64 = 0.1 +const Default_TaskQueueRetryParameters_MaxBackoffSec float64 = 3600 +const Default_TaskQueueRetryParameters_MaxDoublings int32 = 16 + +func (m *TaskQueueRetryParameters) GetRetryLimit() int32 { + if m != nil && m.RetryLimit != nil { + return *m.RetryLimit + } + return 0 +} + +func (m *TaskQueueRetryParameters) GetAgeLimitSec() int64 { + if m != nil && m.AgeLimitSec != nil { + return *m.AgeLimitSec + } + return 0 +} + +func (m *TaskQueueRetryParameters) GetMinBackoffSec() float64 { + if m != nil && m.MinBackoffSec != nil { + return *m.MinBackoffSec + } + return Default_TaskQueueRetryParameters_MinBackoffSec +} + +func (m *TaskQueueRetryParameters) GetMaxBackoffSec() float64 { + if m != nil && m.MaxBackoffSec != nil { + return *m.MaxBackoffSec + } + return Default_TaskQueueRetryParameters_MaxBackoffSec +} + +func (m *TaskQueueRetryParameters) GetMaxDoublings() int32 { + if m != nil && m.MaxDoublings != nil { + return *m.MaxDoublings + } + return Default_TaskQueueRetryParameters_MaxDoublings +} + +type TaskQueueAcl struct { + UserEmail [][]byte `protobuf:"bytes,1,rep,name=user_email" json:"user_email,omitempty"` + WriterEmail [][]byte `protobuf:"bytes,2,rep,name=writer_email" json:"writer_email,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueAcl) Reset() { *m = TaskQueueAcl{} } +func (m *TaskQueueAcl) String() string { return proto.CompactTextString(m) } +func (*TaskQueueAcl) ProtoMessage() {} + +func (m *TaskQueueAcl) GetUserEmail() [][]byte { + if m != nil { + return m.UserEmail + } + return nil +} + +func (m *TaskQueueAcl) GetWriterEmail() [][]byte { + if m != nil { + return m.WriterEmail + } + return nil +} + +type TaskQueueHttpHeader struct { + Key []byte `protobuf:"bytes,1,req,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueHttpHeader) Reset() { *m = TaskQueueHttpHeader{} } +func (m *TaskQueueHttpHeader) String() string { return proto.CompactTextString(m) } +func (*TaskQueueHttpHeader) ProtoMessage() {} + +func (m *TaskQueueHttpHeader) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *TaskQueueHttpHeader) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type TaskQueueMode struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueMode) Reset() { *m = TaskQueueMode{} } +func (m *TaskQueueMode) String() string { return proto.CompactTextString(m) } +func (*TaskQueueMode) ProtoMessage() {} + +type TaskQueueAddRequest struct { + QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` + TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` + EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` + Method *TaskQueueAddRequest_RequestMethod `protobuf:"varint,5,opt,name=method,enum=appengine.TaskQueueAddRequest_RequestMethod,def=2" json:"method,omitempty"` + Url []byte `protobuf:"bytes,4,opt,name=url" json:"url,omitempty"` + Header []*TaskQueueAddRequest_Header `protobuf:"group,6,rep,name=Header" json:"header,omitempty"` + Body []byte `protobuf:"bytes,9,opt,name=body" json:"body,omitempty"` + Transaction *appengine.Transaction `protobuf:"bytes,10,opt,name=transaction" json:"transaction,omitempty"` + AppId []byte `protobuf:"bytes,11,opt,name=app_id" json:"app_id,omitempty"` + Crontimetable *TaskQueueAddRequest_CronTimetable `protobuf:"group,12,opt,name=CronTimetable" json:"crontimetable,omitempty"` + Description []byte `protobuf:"bytes,15,opt,name=description" json:"description,omitempty"` + Payload *TaskPayload `protobuf:"bytes,16,opt,name=payload" json:"payload,omitempty"` + RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,17,opt,name=retry_parameters" json:"retry_parameters,omitempty"` + Mode *TaskQueueMode_Mode `protobuf:"varint,18,opt,name=mode,enum=appengine.TaskQueueMode_Mode,def=0" json:"mode,omitempty"` + Tag []byte `protobuf:"bytes,19,opt,name=tag" json:"tag,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueAddRequest) Reset() { *m = TaskQueueAddRequest{} } +func (m *TaskQueueAddRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueAddRequest) ProtoMessage() {} + +const Default_TaskQueueAddRequest_Method TaskQueueAddRequest_RequestMethod = TaskQueueAddRequest_POST +const Default_TaskQueueAddRequest_Mode TaskQueueMode_Mode = TaskQueueMode_PUSH + +func (m *TaskQueueAddRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueAddRequest) GetTaskName() []byte { + if m != nil { + return m.TaskName + } + return nil +} + +func (m *TaskQueueAddRequest) GetEtaUsec() int64 { + if m != nil && m.EtaUsec != nil { + return *m.EtaUsec + } + return 0 +} + +func (m *TaskQueueAddRequest) GetMethod() TaskQueueAddRequest_RequestMethod { + if m != nil && m.Method != nil { + return *m.Method + } + return Default_TaskQueueAddRequest_Method +} + +func (m *TaskQueueAddRequest) GetUrl() []byte { + if m != nil { + return m.Url + } + return nil +} + +func (m *TaskQueueAddRequest) GetHeader() []*TaskQueueAddRequest_Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *TaskQueueAddRequest) GetBody() []byte { + if m != nil { + return m.Body + } + return nil +} + +func (m *TaskQueueAddRequest) GetTransaction() *appengine.Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +func (m *TaskQueueAddRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueAddRequest) GetCrontimetable() *TaskQueueAddRequest_CronTimetable { + if m != nil { + return m.Crontimetable + } + return nil +} + +func (m *TaskQueueAddRequest) GetDescription() []byte { + if m != nil { + return m.Description + } + return nil +} + +func (m *TaskQueueAddRequest) GetPayload() *TaskPayload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *TaskQueueAddRequest) GetRetryParameters() *TaskQueueRetryParameters { + if m != nil { + return m.RetryParameters + } + return nil +} + +func (m *TaskQueueAddRequest) GetMode() TaskQueueMode_Mode { + if m != nil && m.Mode != nil { + return *m.Mode + } + return Default_TaskQueueAddRequest_Mode +} + +func (m *TaskQueueAddRequest) GetTag() []byte { + if m != nil { + return m.Tag + } + return nil +} + +type TaskQueueAddRequest_Header struct { + Key []byte `protobuf:"bytes,7,req,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,8,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueAddRequest_Header) Reset() { *m = TaskQueueAddRequest_Header{} } +func (m *TaskQueueAddRequest_Header) String() string { return proto.CompactTextString(m) } +func (*TaskQueueAddRequest_Header) ProtoMessage() {} + +func (m *TaskQueueAddRequest_Header) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *TaskQueueAddRequest_Header) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type TaskQueueAddRequest_CronTimetable struct { + Schedule []byte `protobuf:"bytes,13,req,name=schedule" json:"schedule,omitempty"` + Timezone []byte `protobuf:"bytes,14,req,name=timezone" json:"timezone,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueAddRequest_CronTimetable) Reset() { *m = TaskQueueAddRequest_CronTimetable{} } +func (m *TaskQueueAddRequest_CronTimetable) String() string { return proto.CompactTextString(m) } +func (*TaskQueueAddRequest_CronTimetable) ProtoMessage() {} + +func (m *TaskQueueAddRequest_CronTimetable) GetSchedule() []byte { + if m != nil { + return m.Schedule + } + return nil +} + +func (m *TaskQueueAddRequest_CronTimetable) GetTimezone() []byte { + if m != nil { + return m.Timezone + } + return nil +} + +type TaskQueueAddResponse struct { + ChosenTaskName []byte `protobuf:"bytes,1,opt,name=chosen_task_name" json:"chosen_task_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueAddResponse) Reset() { *m = TaskQueueAddResponse{} } +func (m *TaskQueueAddResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueAddResponse) ProtoMessage() {} + +func (m *TaskQueueAddResponse) GetChosenTaskName() []byte { + if m != nil { + return m.ChosenTaskName + } + return nil +} + +type TaskQueueBulkAddRequest struct { + AddRequest []*TaskQueueAddRequest `protobuf:"bytes,1,rep,name=add_request" json:"add_request,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueBulkAddRequest) Reset() { *m = TaskQueueBulkAddRequest{} } +func (m *TaskQueueBulkAddRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueBulkAddRequest) ProtoMessage() {} + +func (m *TaskQueueBulkAddRequest) GetAddRequest() []*TaskQueueAddRequest { + if m != nil { + return m.AddRequest + } + return nil +} + +type TaskQueueBulkAddResponse struct { + Taskresult []*TaskQueueBulkAddResponse_TaskResult `protobuf:"group,1,rep,name=TaskResult" json:"taskresult,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueBulkAddResponse) Reset() { *m = TaskQueueBulkAddResponse{} } +func (m *TaskQueueBulkAddResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueBulkAddResponse) ProtoMessage() {} + +func (m *TaskQueueBulkAddResponse) GetTaskresult() []*TaskQueueBulkAddResponse_TaskResult { + if m != nil { + return m.Taskresult + } + return nil +} + +type TaskQueueBulkAddResponse_TaskResult struct { + Result *TaskQueueServiceError_ErrorCode `protobuf:"varint,2,req,name=result,enum=appengine.TaskQueueServiceError_ErrorCode" json:"result,omitempty"` + ChosenTaskName []byte `protobuf:"bytes,3,opt,name=chosen_task_name" json:"chosen_task_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueBulkAddResponse_TaskResult) Reset() { *m = TaskQueueBulkAddResponse_TaskResult{} } +func (m *TaskQueueBulkAddResponse_TaskResult) String() string { return proto.CompactTextString(m) } +func (*TaskQueueBulkAddResponse_TaskResult) ProtoMessage() {} + +func (m *TaskQueueBulkAddResponse_TaskResult) GetResult() TaskQueueServiceError_ErrorCode { + if m != nil && m.Result != nil { + return *m.Result + } + return TaskQueueServiceError_OK +} + +func (m *TaskQueueBulkAddResponse_TaskResult) GetChosenTaskName() []byte { + if m != nil { + return m.ChosenTaskName + } + return nil +} + +type TaskQueueDeleteRequest struct { + QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` + TaskName [][]byte `protobuf:"bytes,2,rep,name=task_name" json:"task_name,omitempty"` + AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueDeleteRequest) Reset() { *m = TaskQueueDeleteRequest{} } +func (m *TaskQueueDeleteRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueDeleteRequest) ProtoMessage() {} + +func (m *TaskQueueDeleteRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueDeleteRequest) GetTaskName() [][]byte { + if m != nil { + return m.TaskName + } + return nil +} + +func (m *TaskQueueDeleteRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type TaskQueueDeleteResponse struct { + Result []TaskQueueServiceError_ErrorCode `protobuf:"varint,3,rep,name=result,enum=appengine.TaskQueueServiceError_ErrorCode" json:"result,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueDeleteResponse) Reset() { *m = TaskQueueDeleteResponse{} } +func (m *TaskQueueDeleteResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueDeleteResponse) ProtoMessage() {} + +func (m *TaskQueueDeleteResponse) GetResult() []TaskQueueServiceError_ErrorCode { + if m != nil { + return m.Result + } + return nil +} + +type TaskQueueForceRunRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + TaskName []byte `protobuf:"bytes,3,req,name=task_name" json:"task_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueForceRunRequest) Reset() { *m = TaskQueueForceRunRequest{} } +func (m *TaskQueueForceRunRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueForceRunRequest) ProtoMessage() {} + +func (m *TaskQueueForceRunRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueForceRunRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueForceRunRequest) GetTaskName() []byte { + if m != nil { + return m.TaskName + } + return nil +} + +type TaskQueueForceRunResponse struct { + Result *TaskQueueServiceError_ErrorCode `protobuf:"varint,3,req,name=result,enum=appengine.TaskQueueServiceError_ErrorCode" json:"result,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueForceRunResponse) Reset() { *m = TaskQueueForceRunResponse{} } +func (m *TaskQueueForceRunResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueForceRunResponse) ProtoMessage() {} + +func (m *TaskQueueForceRunResponse) GetResult() TaskQueueServiceError_ErrorCode { + if m != nil && m.Result != nil { + return *m.Result + } + return TaskQueueServiceError_OK +} + +type TaskQueueUpdateQueueRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + BucketRefillPerSecond *float64 `protobuf:"fixed64,3,req,name=bucket_refill_per_second" json:"bucket_refill_per_second,omitempty"` + BucketCapacity *int32 `protobuf:"varint,4,req,name=bucket_capacity" json:"bucket_capacity,omitempty"` + UserSpecifiedRate *string `protobuf:"bytes,5,opt,name=user_specified_rate" json:"user_specified_rate,omitempty"` + RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,6,opt,name=retry_parameters" json:"retry_parameters,omitempty"` + MaxConcurrentRequests *int32 `protobuf:"varint,7,opt,name=max_concurrent_requests" json:"max_concurrent_requests,omitempty"` + Mode *TaskQueueMode_Mode `protobuf:"varint,8,opt,name=mode,enum=appengine.TaskQueueMode_Mode,def=0" json:"mode,omitempty"` + Acl *TaskQueueAcl `protobuf:"bytes,9,opt,name=acl" json:"acl,omitempty"` + HeaderOverride []*TaskQueueHttpHeader `protobuf:"bytes,10,rep,name=header_override" json:"header_override,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueUpdateQueueRequest) Reset() { *m = TaskQueueUpdateQueueRequest{} } +func (m *TaskQueueUpdateQueueRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueUpdateQueueRequest) ProtoMessage() {} + +const Default_TaskQueueUpdateQueueRequest_Mode TaskQueueMode_Mode = TaskQueueMode_PUSH + +func (m *TaskQueueUpdateQueueRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueUpdateQueueRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueUpdateQueueRequest) GetBucketRefillPerSecond() float64 { + if m != nil && m.BucketRefillPerSecond != nil { + return *m.BucketRefillPerSecond + } + return 0 +} + +func (m *TaskQueueUpdateQueueRequest) GetBucketCapacity() int32 { + if m != nil && m.BucketCapacity != nil { + return *m.BucketCapacity + } + return 0 +} + +func (m *TaskQueueUpdateQueueRequest) GetUserSpecifiedRate() string { + if m != nil && m.UserSpecifiedRate != nil { + return *m.UserSpecifiedRate + } + return "" +} + +func (m *TaskQueueUpdateQueueRequest) GetRetryParameters() *TaskQueueRetryParameters { + if m != nil { + return m.RetryParameters + } + return nil +} + +func (m *TaskQueueUpdateQueueRequest) GetMaxConcurrentRequests() int32 { + if m != nil && m.MaxConcurrentRequests != nil { + return *m.MaxConcurrentRequests + } + return 0 +} + +func (m *TaskQueueUpdateQueueRequest) GetMode() TaskQueueMode_Mode { + if m != nil && m.Mode != nil { + return *m.Mode + } + return Default_TaskQueueUpdateQueueRequest_Mode +} + +func (m *TaskQueueUpdateQueueRequest) GetAcl() *TaskQueueAcl { + if m != nil { + return m.Acl + } + return nil +} + +func (m *TaskQueueUpdateQueueRequest) GetHeaderOverride() []*TaskQueueHttpHeader { + if m != nil { + return m.HeaderOverride + } + return nil +} + +type TaskQueueUpdateQueueResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueUpdateQueueResponse) Reset() { *m = TaskQueueUpdateQueueResponse{} } +func (m *TaskQueueUpdateQueueResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueUpdateQueueResponse) ProtoMessage() {} + +type TaskQueueFetchQueuesRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + MaxRows *int32 `protobuf:"varint,2,req,name=max_rows" json:"max_rows,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchQueuesRequest) Reset() { *m = TaskQueueFetchQueuesRequest{} } +func (m *TaskQueueFetchQueuesRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchQueuesRequest) ProtoMessage() {} + +func (m *TaskQueueFetchQueuesRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueFetchQueuesRequest) GetMaxRows() int32 { + if m != nil && m.MaxRows != nil { + return *m.MaxRows + } + return 0 +} + +type TaskQueueFetchQueuesResponse struct { + Queue []*TaskQueueFetchQueuesResponse_Queue `protobuf:"group,1,rep,name=Queue" json:"queue,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchQueuesResponse) Reset() { *m = TaskQueueFetchQueuesResponse{} } +func (m *TaskQueueFetchQueuesResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchQueuesResponse) ProtoMessage() {} + +func (m *TaskQueueFetchQueuesResponse) GetQueue() []*TaskQueueFetchQueuesResponse_Queue { + if m != nil { + return m.Queue + } + return nil +} + +type TaskQueueFetchQueuesResponse_Queue struct { + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + BucketRefillPerSecond *float64 `protobuf:"fixed64,3,req,name=bucket_refill_per_second" json:"bucket_refill_per_second,omitempty"` + BucketCapacity *float64 `protobuf:"fixed64,4,req,name=bucket_capacity" json:"bucket_capacity,omitempty"` + UserSpecifiedRate *string `protobuf:"bytes,5,opt,name=user_specified_rate" json:"user_specified_rate,omitempty"` + Paused *bool `protobuf:"varint,6,req,name=paused,def=0" json:"paused,omitempty"` + RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,7,opt,name=retry_parameters" json:"retry_parameters,omitempty"` + MaxConcurrentRequests *int32 `protobuf:"varint,8,opt,name=max_concurrent_requests" json:"max_concurrent_requests,omitempty"` + Mode *TaskQueueMode_Mode `protobuf:"varint,9,opt,name=mode,enum=appengine.TaskQueueMode_Mode,def=0" json:"mode,omitempty"` + Acl *TaskQueueAcl `protobuf:"bytes,10,opt,name=acl" json:"acl,omitempty"` + HeaderOverride []*TaskQueueHttpHeader `protobuf:"bytes,11,rep,name=header_override" json:"header_override,omitempty"` + CreatorName *string `protobuf:"bytes,12,opt,name=creator_name,def=apphosting" json:"creator_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchQueuesResponse_Queue) Reset() { *m = TaskQueueFetchQueuesResponse_Queue{} } +func (m *TaskQueueFetchQueuesResponse_Queue) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchQueuesResponse_Queue) ProtoMessage() {} + +const Default_TaskQueueFetchQueuesResponse_Queue_Paused bool = false +const Default_TaskQueueFetchQueuesResponse_Queue_Mode TaskQueueMode_Mode = TaskQueueMode_PUSH +const Default_TaskQueueFetchQueuesResponse_Queue_CreatorName string = "apphosting" + +func (m *TaskQueueFetchQueuesResponse_Queue) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetBucketRefillPerSecond() float64 { + if m != nil && m.BucketRefillPerSecond != nil { + return *m.BucketRefillPerSecond + } + return 0 +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetBucketCapacity() float64 { + if m != nil && m.BucketCapacity != nil { + return *m.BucketCapacity + } + return 0 +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetUserSpecifiedRate() string { + if m != nil && m.UserSpecifiedRate != nil { + return *m.UserSpecifiedRate + } + return "" +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetPaused() bool { + if m != nil && m.Paused != nil { + return *m.Paused + } + return Default_TaskQueueFetchQueuesResponse_Queue_Paused +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetRetryParameters() *TaskQueueRetryParameters { + if m != nil { + return m.RetryParameters + } + return nil +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetMaxConcurrentRequests() int32 { + if m != nil && m.MaxConcurrentRequests != nil { + return *m.MaxConcurrentRequests + } + return 0 +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetMode() TaskQueueMode_Mode { + if m != nil && m.Mode != nil { + return *m.Mode + } + return Default_TaskQueueFetchQueuesResponse_Queue_Mode +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetAcl() *TaskQueueAcl { + if m != nil { + return m.Acl + } + return nil +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetHeaderOverride() []*TaskQueueHttpHeader { + if m != nil { + return m.HeaderOverride + } + return nil +} + +func (m *TaskQueueFetchQueuesResponse_Queue) GetCreatorName() string { + if m != nil && m.CreatorName != nil { + return *m.CreatorName + } + return Default_TaskQueueFetchQueuesResponse_Queue_CreatorName +} + +type TaskQueueFetchQueueStatsRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + QueueName [][]byte `protobuf:"bytes,2,rep,name=queue_name" json:"queue_name,omitempty"` + MaxNumTasks *int32 `protobuf:"varint,3,opt,name=max_num_tasks,def=0" json:"max_num_tasks,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchQueueStatsRequest) Reset() { *m = TaskQueueFetchQueueStatsRequest{} } +func (m *TaskQueueFetchQueueStatsRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchQueueStatsRequest) ProtoMessage() {} + +const Default_TaskQueueFetchQueueStatsRequest_MaxNumTasks int32 = 0 + +func (m *TaskQueueFetchQueueStatsRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueFetchQueueStatsRequest) GetQueueName() [][]byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueFetchQueueStatsRequest) GetMaxNumTasks() int32 { + if m != nil && m.MaxNumTasks != nil { + return *m.MaxNumTasks + } + return Default_TaskQueueFetchQueueStatsRequest_MaxNumTasks +} + +type TaskQueueScannerQueueInfo struct { + ExecutedLastMinute *int64 `protobuf:"varint,1,req,name=executed_last_minute" json:"executed_last_minute,omitempty"` + ExecutedLastHour *int64 `protobuf:"varint,2,req,name=executed_last_hour" json:"executed_last_hour,omitempty"` + SamplingDurationSeconds *float64 `protobuf:"fixed64,3,req,name=sampling_duration_seconds" json:"sampling_duration_seconds,omitempty"` + RequestsInFlight *int32 `protobuf:"varint,4,opt,name=requests_in_flight" json:"requests_in_flight,omitempty"` + EnforcedRate *float64 `protobuf:"fixed64,5,opt,name=enforced_rate" json:"enforced_rate,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueScannerQueueInfo) Reset() { *m = TaskQueueScannerQueueInfo{} } +func (m *TaskQueueScannerQueueInfo) String() string { return proto.CompactTextString(m) } +func (*TaskQueueScannerQueueInfo) ProtoMessage() {} + +func (m *TaskQueueScannerQueueInfo) GetExecutedLastMinute() int64 { + if m != nil && m.ExecutedLastMinute != nil { + return *m.ExecutedLastMinute + } + return 0 +} + +func (m *TaskQueueScannerQueueInfo) GetExecutedLastHour() int64 { + if m != nil && m.ExecutedLastHour != nil { + return *m.ExecutedLastHour + } + return 0 +} + +func (m *TaskQueueScannerQueueInfo) GetSamplingDurationSeconds() float64 { + if m != nil && m.SamplingDurationSeconds != nil { + return *m.SamplingDurationSeconds + } + return 0 +} + +func (m *TaskQueueScannerQueueInfo) GetRequestsInFlight() int32 { + if m != nil && m.RequestsInFlight != nil { + return *m.RequestsInFlight + } + return 0 +} + +func (m *TaskQueueScannerQueueInfo) GetEnforcedRate() float64 { + if m != nil && m.EnforcedRate != nil { + return *m.EnforcedRate + } + return 0 +} + +type TaskQueueFetchQueueStatsResponse struct { + Queuestats []*TaskQueueFetchQueueStatsResponse_QueueStats `protobuf:"group,1,rep,name=QueueStats" json:"queuestats,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchQueueStatsResponse) Reset() { *m = TaskQueueFetchQueueStatsResponse{} } +func (m *TaskQueueFetchQueueStatsResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchQueueStatsResponse) ProtoMessage() {} + +func (m *TaskQueueFetchQueueStatsResponse) GetQueuestats() []*TaskQueueFetchQueueStatsResponse_QueueStats { + if m != nil { + return m.Queuestats + } + return nil +} + +type TaskQueueFetchQueueStatsResponse_QueueStats struct { + NumTasks *int32 `protobuf:"varint,2,req,name=num_tasks" json:"num_tasks,omitempty"` + OldestEtaUsec *int64 `protobuf:"varint,3,req,name=oldest_eta_usec" json:"oldest_eta_usec,omitempty"` + ScannerInfo *TaskQueueScannerQueueInfo `protobuf:"bytes,4,opt,name=scanner_info" json:"scanner_info,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchQueueStatsResponse_QueueStats) Reset() { + *m = TaskQueueFetchQueueStatsResponse_QueueStats{} +} +func (m *TaskQueueFetchQueueStatsResponse_QueueStats) String() string { + return proto.CompactTextString(m) +} +func (*TaskQueueFetchQueueStatsResponse_QueueStats) ProtoMessage() {} + +func (m *TaskQueueFetchQueueStatsResponse_QueueStats) GetNumTasks() int32 { + if m != nil && m.NumTasks != nil { + return *m.NumTasks + } + return 0 +} + +func (m *TaskQueueFetchQueueStatsResponse_QueueStats) GetOldestEtaUsec() int64 { + if m != nil && m.OldestEtaUsec != nil { + return *m.OldestEtaUsec + } + return 0 +} + +func (m *TaskQueueFetchQueueStatsResponse_QueueStats) GetScannerInfo() *TaskQueueScannerQueueInfo { + if m != nil { + return m.ScannerInfo + } + return nil +} + +type TaskQueuePauseQueueRequest struct { + AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + Pause *bool `protobuf:"varint,3,req,name=pause" json:"pause,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueuePauseQueueRequest) Reset() { *m = TaskQueuePauseQueueRequest{} } +func (m *TaskQueuePauseQueueRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueuePauseQueueRequest) ProtoMessage() {} + +func (m *TaskQueuePauseQueueRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueuePauseQueueRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueuePauseQueueRequest) GetPause() bool { + if m != nil && m.Pause != nil { + return *m.Pause + } + return false +} + +type TaskQueuePauseQueueResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueuePauseQueueResponse) Reset() { *m = TaskQueuePauseQueueResponse{} } +func (m *TaskQueuePauseQueueResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueuePauseQueueResponse) ProtoMessage() {} + +type TaskQueuePurgeQueueRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueuePurgeQueueRequest) Reset() { *m = TaskQueuePurgeQueueRequest{} } +func (m *TaskQueuePurgeQueueRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueuePurgeQueueRequest) ProtoMessage() {} + +func (m *TaskQueuePurgeQueueRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueuePurgeQueueRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +type TaskQueuePurgeQueueResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueuePurgeQueueResponse) Reset() { *m = TaskQueuePurgeQueueResponse{} } +func (m *TaskQueuePurgeQueueResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueuePurgeQueueResponse) ProtoMessage() {} + +type TaskQueueDeleteQueueRequest struct { + AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueDeleteQueueRequest) Reset() { *m = TaskQueueDeleteQueueRequest{} } +func (m *TaskQueueDeleteQueueRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueDeleteQueueRequest) ProtoMessage() {} + +func (m *TaskQueueDeleteQueueRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueDeleteQueueRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +type TaskQueueDeleteQueueResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueDeleteQueueResponse) Reset() { *m = TaskQueueDeleteQueueResponse{} } +func (m *TaskQueueDeleteQueueResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueDeleteQueueResponse) ProtoMessage() {} + +type TaskQueueDeleteGroupRequest struct { + AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueDeleteGroupRequest) Reset() { *m = TaskQueueDeleteGroupRequest{} } +func (m *TaskQueueDeleteGroupRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueDeleteGroupRequest) ProtoMessage() {} + +func (m *TaskQueueDeleteGroupRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +type TaskQueueDeleteGroupResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueDeleteGroupResponse) Reset() { *m = TaskQueueDeleteGroupResponse{} } +func (m *TaskQueueDeleteGroupResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueDeleteGroupResponse) ProtoMessage() {} + +type TaskQueueQueryTasksRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + StartTaskName []byte `protobuf:"bytes,3,opt,name=start_task_name" json:"start_task_name,omitempty"` + StartEtaUsec *int64 `protobuf:"varint,4,opt,name=start_eta_usec" json:"start_eta_usec,omitempty"` + StartTag []byte `protobuf:"bytes,6,opt,name=start_tag" json:"start_tag,omitempty"` + MaxRows *int32 `protobuf:"varint,5,opt,name=max_rows,def=1" json:"max_rows,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryTasksRequest) Reset() { *m = TaskQueueQueryTasksRequest{} } +func (m *TaskQueueQueryTasksRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryTasksRequest) ProtoMessage() {} + +const Default_TaskQueueQueryTasksRequest_MaxRows int32 = 1 + +func (m *TaskQueueQueryTasksRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueQueryTasksRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueQueryTasksRequest) GetStartTaskName() []byte { + if m != nil { + return m.StartTaskName + } + return nil +} + +func (m *TaskQueueQueryTasksRequest) GetStartEtaUsec() int64 { + if m != nil && m.StartEtaUsec != nil { + return *m.StartEtaUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksRequest) GetStartTag() []byte { + if m != nil { + return m.StartTag + } + return nil +} + +func (m *TaskQueueQueryTasksRequest) GetMaxRows() int32 { + if m != nil && m.MaxRows != nil { + return *m.MaxRows + } + return Default_TaskQueueQueryTasksRequest_MaxRows +} + +type TaskQueueQueryTasksResponse struct { + Task []*TaskQueueQueryTasksResponse_Task `protobuf:"group,1,rep,name=Task" json:"task,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryTasksResponse) Reset() { *m = TaskQueueQueryTasksResponse{} } +func (m *TaskQueueQueryTasksResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryTasksResponse) ProtoMessage() {} + +func (m *TaskQueueQueryTasksResponse) GetTask() []*TaskQueueQueryTasksResponse_Task { + if m != nil { + return m.Task + } + return nil +} + +type TaskQueueQueryTasksResponse_Task struct { + TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` + EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` + Url []byte `protobuf:"bytes,4,opt,name=url" json:"url,omitempty"` + Method *TaskQueueQueryTasksResponse_Task_RequestMethod `protobuf:"varint,5,opt,name=method,enum=appengine.TaskQueueQueryTasksResponse_Task_RequestMethod" json:"method,omitempty"` + RetryCount *int32 `protobuf:"varint,6,opt,name=retry_count,def=0" json:"retry_count,omitempty"` + Header []*TaskQueueQueryTasksResponse_Task_Header `protobuf:"group,7,rep,name=Header" json:"header,omitempty"` + BodySize *int32 `protobuf:"varint,10,opt,name=body_size" json:"body_size,omitempty"` + Body []byte `protobuf:"bytes,11,opt,name=body" json:"body,omitempty"` + CreationTimeUsec *int64 `protobuf:"varint,12,req,name=creation_time_usec" json:"creation_time_usec,omitempty"` + Crontimetable *TaskQueueQueryTasksResponse_Task_CronTimetable `protobuf:"group,13,opt,name=CronTimetable" json:"crontimetable,omitempty"` + Runlog *TaskQueueQueryTasksResponse_Task_RunLog `protobuf:"group,16,opt,name=RunLog" json:"runlog,omitempty"` + Description []byte `protobuf:"bytes,21,opt,name=description" json:"description,omitempty"` + Payload *TaskPayload `protobuf:"bytes,22,opt,name=payload" json:"payload,omitempty"` + RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,23,opt,name=retry_parameters" json:"retry_parameters,omitempty"` + FirstTryUsec *int64 `protobuf:"varint,24,opt,name=first_try_usec" json:"first_try_usec,omitempty"` + Tag []byte `protobuf:"bytes,25,opt,name=tag" json:"tag,omitempty"` + ExecutionCount *int32 `protobuf:"varint,26,opt,name=execution_count,def=0" json:"execution_count,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryTasksResponse_Task) Reset() { *m = TaskQueueQueryTasksResponse_Task{} } +func (m *TaskQueueQueryTasksResponse_Task) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryTasksResponse_Task) ProtoMessage() {} + +const Default_TaskQueueQueryTasksResponse_Task_RetryCount int32 = 0 +const Default_TaskQueueQueryTasksResponse_Task_ExecutionCount int32 = 0 + +func (m *TaskQueueQueryTasksResponse_Task) GetTaskName() []byte { + if m != nil { + return m.TaskName + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetEtaUsec() int64 { + if m != nil && m.EtaUsec != nil { + return *m.EtaUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task) GetUrl() []byte { + if m != nil { + return m.Url + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetMethod() TaskQueueQueryTasksResponse_Task_RequestMethod { + if m != nil && m.Method != nil { + return *m.Method + } + return TaskQueueQueryTasksResponse_Task_GET +} + +func (m *TaskQueueQueryTasksResponse_Task) GetRetryCount() int32 { + if m != nil && m.RetryCount != nil { + return *m.RetryCount + } + return Default_TaskQueueQueryTasksResponse_Task_RetryCount +} + +func (m *TaskQueueQueryTasksResponse_Task) GetHeader() []*TaskQueueQueryTasksResponse_Task_Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetBodySize() int32 { + if m != nil && m.BodySize != nil { + return *m.BodySize + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task) GetBody() []byte { + if m != nil { + return m.Body + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetCreationTimeUsec() int64 { + if m != nil && m.CreationTimeUsec != nil { + return *m.CreationTimeUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task) GetCrontimetable() *TaskQueueQueryTasksResponse_Task_CronTimetable { + if m != nil { + return m.Crontimetable + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetRunlog() *TaskQueueQueryTasksResponse_Task_RunLog { + if m != nil { + return m.Runlog + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetDescription() []byte { + if m != nil { + return m.Description + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetPayload() *TaskPayload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetRetryParameters() *TaskQueueRetryParameters { + if m != nil { + return m.RetryParameters + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetFirstTryUsec() int64 { + if m != nil && m.FirstTryUsec != nil { + return *m.FirstTryUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task) GetTag() []byte { + if m != nil { + return m.Tag + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task) GetExecutionCount() int32 { + if m != nil && m.ExecutionCount != nil { + return *m.ExecutionCount + } + return Default_TaskQueueQueryTasksResponse_Task_ExecutionCount +} + +type TaskQueueQueryTasksResponse_Task_Header struct { + Key []byte `protobuf:"bytes,8,req,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,9,req,name=value" json:"value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryTasksResponse_Task_Header) Reset() { + *m = TaskQueueQueryTasksResponse_Task_Header{} +} +func (m *TaskQueueQueryTasksResponse_Task_Header) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryTasksResponse_Task_Header) ProtoMessage() {} + +func (m *TaskQueueQueryTasksResponse_Task_Header) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task_Header) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type TaskQueueQueryTasksResponse_Task_CronTimetable struct { + Schedule []byte `protobuf:"bytes,14,req,name=schedule" json:"schedule,omitempty"` + Timezone []byte `protobuf:"bytes,15,req,name=timezone" json:"timezone,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) Reset() { + *m = TaskQueueQueryTasksResponse_Task_CronTimetable{} +} +func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) String() string { + return proto.CompactTextString(m) +} +func (*TaskQueueQueryTasksResponse_Task_CronTimetable) ProtoMessage() {} + +func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) GetSchedule() []byte { + if m != nil { + return m.Schedule + } + return nil +} + +func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) GetTimezone() []byte { + if m != nil { + return m.Timezone + } + return nil +} + +type TaskQueueQueryTasksResponse_Task_RunLog struct { + DispatchedUsec *int64 `protobuf:"varint,17,req,name=dispatched_usec" json:"dispatched_usec,omitempty"` + LagUsec *int64 `protobuf:"varint,18,req,name=lag_usec" json:"lag_usec,omitempty"` + ElapsedUsec *int64 `protobuf:"varint,19,req,name=elapsed_usec" json:"elapsed_usec,omitempty"` + ResponseCode *int64 `protobuf:"varint,20,opt,name=response_code" json:"response_code,omitempty"` + RetryReason *string `protobuf:"bytes,27,opt,name=retry_reason" json:"retry_reason,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryTasksResponse_Task_RunLog) Reset() { + *m = TaskQueueQueryTasksResponse_Task_RunLog{} +} +func (m *TaskQueueQueryTasksResponse_Task_RunLog) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryTasksResponse_Task_RunLog) ProtoMessage() {} + +func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetDispatchedUsec() int64 { + if m != nil && m.DispatchedUsec != nil { + return *m.DispatchedUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetLagUsec() int64 { + if m != nil && m.LagUsec != nil { + return *m.LagUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetElapsedUsec() int64 { + if m != nil && m.ElapsedUsec != nil { + return *m.ElapsedUsec + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetResponseCode() int64 { + if m != nil && m.ResponseCode != nil { + return *m.ResponseCode + } + return 0 +} + +func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetRetryReason() string { + if m != nil && m.RetryReason != nil { + return *m.RetryReason + } + return "" +} + +type TaskQueueFetchTaskRequest struct { + AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` + QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` + TaskName []byte `protobuf:"bytes,3,req,name=task_name" json:"task_name,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchTaskRequest) Reset() { *m = TaskQueueFetchTaskRequest{} } +func (m *TaskQueueFetchTaskRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchTaskRequest) ProtoMessage() {} + +func (m *TaskQueueFetchTaskRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueFetchTaskRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueFetchTaskRequest) GetTaskName() []byte { + if m != nil { + return m.TaskName + } + return nil +} + +type TaskQueueFetchTaskResponse struct { + Task *TaskQueueQueryTasksResponse `protobuf:"bytes,1,req,name=task" json:"task,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueFetchTaskResponse) Reset() { *m = TaskQueueFetchTaskResponse{} } +func (m *TaskQueueFetchTaskResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueFetchTaskResponse) ProtoMessage() {} + +func (m *TaskQueueFetchTaskResponse) GetTask() *TaskQueueQueryTasksResponse { + if m != nil { + return m.Task + } + return nil +} + +type TaskQueueUpdateStorageLimitRequest struct { + AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` + Limit *int64 `protobuf:"varint,2,req,name=limit" json:"limit,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueUpdateStorageLimitRequest) Reset() { *m = TaskQueueUpdateStorageLimitRequest{} } +func (m *TaskQueueUpdateStorageLimitRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueUpdateStorageLimitRequest) ProtoMessage() {} + +func (m *TaskQueueUpdateStorageLimitRequest) GetAppId() []byte { + if m != nil { + return m.AppId + } + return nil +} + +func (m *TaskQueueUpdateStorageLimitRequest) GetLimit() int64 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return 0 +} + +type TaskQueueUpdateStorageLimitResponse struct { + NewLimit *int64 `protobuf:"varint,1,req,name=new_limit" json:"new_limit,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueUpdateStorageLimitResponse) Reset() { *m = TaskQueueUpdateStorageLimitResponse{} } +func (m *TaskQueueUpdateStorageLimitResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueUpdateStorageLimitResponse) ProtoMessage() {} + +func (m *TaskQueueUpdateStorageLimitResponse) GetNewLimit() int64 { + if m != nil && m.NewLimit != nil { + return *m.NewLimit + } + return 0 +} + +type TaskQueueQueryAndOwnTasksRequest struct { + QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` + LeaseSeconds *float64 `protobuf:"fixed64,2,req,name=lease_seconds" json:"lease_seconds,omitempty"` + MaxTasks *int64 `protobuf:"varint,3,req,name=max_tasks" json:"max_tasks,omitempty"` + GroupByTag *bool `protobuf:"varint,4,opt,name=group_by_tag,def=0" json:"group_by_tag,omitempty"` + Tag []byte `protobuf:"bytes,5,opt,name=tag" json:"tag,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryAndOwnTasksRequest) Reset() { *m = TaskQueueQueryAndOwnTasksRequest{} } +func (m *TaskQueueQueryAndOwnTasksRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryAndOwnTasksRequest) ProtoMessage() {} + +const Default_TaskQueueQueryAndOwnTasksRequest_GroupByTag bool = false + +func (m *TaskQueueQueryAndOwnTasksRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueQueryAndOwnTasksRequest) GetLeaseSeconds() float64 { + if m != nil && m.LeaseSeconds != nil { + return *m.LeaseSeconds + } + return 0 +} + +func (m *TaskQueueQueryAndOwnTasksRequest) GetMaxTasks() int64 { + if m != nil && m.MaxTasks != nil { + return *m.MaxTasks + } + return 0 +} + +func (m *TaskQueueQueryAndOwnTasksRequest) GetGroupByTag() bool { + if m != nil && m.GroupByTag != nil { + return *m.GroupByTag + } + return Default_TaskQueueQueryAndOwnTasksRequest_GroupByTag +} + +func (m *TaskQueueQueryAndOwnTasksRequest) GetTag() []byte { + if m != nil { + return m.Tag + } + return nil +} + +type TaskQueueQueryAndOwnTasksResponse struct { + Task []*TaskQueueQueryAndOwnTasksResponse_Task `protobuf:"group,1,rep,name=Task" json:"task,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryAndOwnTasksResponse) Reset() { *m = TaskQueueQueryAndOwnTasksResponse{} } +func (m *TaskQueueQueryAndOwnTasksResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryAndOwnTasksResponse) ProtoMessage() {} + +func (m *TaskQueueQueryAndOwnTasksResponse) GetTask() []*TaskQueueQueryAndOwnTasksResponse_Task { + if m != nil { + return m.Task + } + return nil +} + +type TaskQueueQueryAndOwnTasksResponse_Task struct { + TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` + EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` + RetryCount *int32 `protobuf:"varint,4,opt,name=retry_count,def=0" json:"retry_count,omitempty"` + Body []byte `protobuf:"bytes,5,opt,name=body" json:"body,omitempty"` + Tag []byte `protobuf:"bytes,6,opt,name=tag" json:"tag,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueQueryAndOwnTasksResponse_Task) Reset() { + *m = TaskQueueQueryAndOwnTasksResponse_Task{} +} +func (m *TaskQueueQueryAndOwnTasksResponse_Task) String() string { return proto.CompactTextString(m) } +func (*TaskQueueQueryAndOwnTasksResponse_Task) ProtoMessage() {} + +const Default_TaskQueueQueryAndOwnTasksResponse_Task_RetryCount int32 = 0 + +func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetTaskName() []byte { + if m != nil { + return m.TaskName + } + return nil +} + +func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetEtaUsec() int64 { + if m != nil && m.EtaUsec != nil { + return *m.EtaUsec + } + return 0 +} + +func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetRetryCount() int32 { + if m != nil && m.RetryCount != nil { + return *m.RetryCount + } + return Default_TaskQueueQueryAndOwnTasksResponse_Task_RetryCount +} + +func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetBody() []byte { + if m != nil { + return m.Body + } + return nil +} + +func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetTag() []byte { + if m != nil { + return m.Tag + } + return nil +} + +type TaskQueueModifyTaskLeaseRequest struct { + QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` + TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` + EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` + LeaseSeconds *float64 `protobuf:"fixed64,4,req,name=lease_seconds" json:"lease_seconds,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueModifyTaskLeaseRequest) Reset() { *m = TaskQueueModifyTaskLeaseRequest{} } +func (m *TaskQueueModifyTaskLeaseRequest) String() string { return proto.CompactTextString(m) } +func (*TaskQueueModifyTaskLeaseRequest) ProtoMessage() {} + +func (m *TaskQueueModifyTaskLeaseRequest) GetQueueName() []byte { + if m != nil { + return m.QueueName + } + return nil +} + +func (m *TaskQueueModifyTaskLeaseRequest) GetTaskName() []byte { + if m != nil { + return m.TaskName + } + return nil +} + +func (m *TaskQueueModifyTaskLeaseRequest) GetEtaUsec() int64 { + if m != nil && m.EtaUsec != nil { + return *m.EtaUsec + } + return 0 +} + +func (m *TaskQueueModifyTaskLeaseRequest) GetLeaseSeconds() float64 { + if m != nil && m.LeaseSeconds != nil { + return *m.LeaseSeconds + } + return 0 +} + +type TaskQueueModifyTaskLeaseResponse struct { + UpdatedEtaUsec *int64 `protobuf:"varint,1,req,name=updated_eta_usec" json:"updated_eta_usec,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *TaskQueueModifyTaskLeaseResponse) Reset() { *m = TaskQueueModifyTaskLeaseResponse{} } +func (m *TaskQueueModifyTaskLeaseResponse) String() string { return proto.CompactTextString(m) } +func (*TaskQueueModifyTaskLeaseResponse) ProtoMessage() {} + +func (m *TaskQueueModifyTaskLeaseResponse) GetUpdatedEtaUsec() int64 { + if m != nil && m.UpdatedEtaUsec != nil { + return *m.UpdatedEtaUsec + } + return 0 +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto b/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto new file mode 100644 index 000000000..419aaf570 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto @@ -0,0 +1,342 @@ +syntax = "proto2"; +option go_package = "taskqueue"; + +import "google.golang.org/appengine/internal/datastore/datastore_v3.proto"; + +package appengine; + +message TaskQueueServiceError { + enum ErrorCode { + OK = 0; + UNKNOWN_QUEUE = 1; + TRANSIENT_ERROR = 2; + INTERNAL_ERROR = 3; + TASK_TOO_LARGE = 4; + INVALID_TASK_NAME = 5; + INVALID_QUEUE_NAME = 6; + INVALID_URL = 7; + INVALID_QUEUE_RATE = 8; + PERMISSION_DENIED = 9; + TASK_ALREADY_EXISTS = 10; + TOMBSTONED_TASK = 11; + INVALID_ETA = 12; + INVALID_REQUEST = 13; + UNKNOWN_TASK = 14; + TOMBSTONED_QUEUE = 15; + DUPLICATE_TASK_NAME = 16; + SKIPPED = 17; + TOO_MANY_TASKS = 18; + INVALID_PAYLOAD = 19; + INVALID_RETRY_PARAMETERS = 20; + INVALID_QUEUE_MODE = 21; + ACL_LOOKUP_ERROR = 22; + TRANSACTIONAL_REQUEST_TOO_LARGE = 23; + INCORRECT_CREATOR_NAME = 24; + TASK_LEASE_EXPIRED = 25; + QUEUE_PAUSED = 26; + INVALID_TAG = 27; + + // Reserved range for the Datastore error codes. + // Original Datastore error code is shifted by DATASTORE_ERROR offset. + DATASTORE_ERROR = 10000; + } +} + +message TaskPayload { + extensions 10 to max; + option message_set_wire_format = true; +} + +message TaskQueueRetryParameters { + optional int32 retry_limit = 1; + optional int64 age_limit_sec = 2; + + optional double min_backoff_sec = 3 [default = 0.1]; + optional double max_backoff_sec = 4 [default = 3600]; + optional int32 max_doublings = 5 [default = 16]; +} + +message TaskQueueAcl { + repeated bytes user_email = 1; + repeated bytes writer_email = 2; +} + +message TaskQueueHttpHeader { + required bytes key = 1; + required bytes value = 2; +} + +message TaskQueueMode { + enum Mode { + PUSH = 0; + PULL = 1; + } +} + +message TaskQueueAddRequest { + required bytes queue_name = 1; + required bytes task_name = 2; + required int64 eta_usec = 3; + + enum RequestMethod { + GET = 1; + POST = 2; + HEAD = 3; + PUT = 4; + DELETE = 5; + } + optional RequestMethod method = 5 [default=POST]; + + optional bytes url = 4; + + repeated group Header = 6 { + required bytes key = 7; + required bytes value = 8; + } + + optional bytes body = 9 [ctype=CORD]; + optional Transaction transaction = 10; + optional bytes app_id = 11; + + optional group CronTimetable = 12 { + required bytes schedule = 13; + required bytes timezone = 14; + } + + optional bytes description = 15; + optional TaskPayload payload = 16; + optional TaskQueueRetryParameters retry_parameters = 17; + optional TaskQueueMode.Mode mode = 18 [default=PUSH]; + optional bytes tag = 19; +} + +message TaskQueueAddResponse { + optional bytes chosen_task_name = 1; +} + +message TaskQueueBulkAddRequest { + repeated TaskQueueAddRequest add_request = 1; +} + +message TaskQueueBulkAddResponse { + repeated group TaskResult = 1 { + required TaskQueueServiceError.ErrorCode result = 2; + optional bytes chosen_task_name = 3; + } +} + +message TaskQueueDeleteRequest { + required bytes queue_name = 1; + repeated bytes task_name = 2; + optional bytes app_id = 3; +} + +message TaskQueueDeleteResponse { + repeated TaskQueueServiceError.ErrorCode result = 3; +} + +message TaskQueueForceRunRequest { + optional bytes app_id = 1; + required bytes queue_name = 2; + required bytes task_name = 3; +} + +message TaskQueueForceRunResponse { + required TaskQueueServiceError.ErrorCode result = 3; +} + +message TaskQueueUpdateQueueRequest { + optional bytes app_id = 1; + required bytes queue_name = 2; + required double bucket_refill_per_second = 3; + required int32 bucket_capacity = 4; + optional string user_specified_rate = 5; + optional TaskQueueRetryParameters retry_parameters = 6; + optional int32 max_concurrent_requests = 7; + optional TaskQueueMode.Mode mode = 8 [default = PUSH]; + optional TaskQueueAcl acl = 9; + repeated TaskQueueHttpHeader header_override = 10; +} + +message TaskQueueUpdateQueueResponse { +} + +message TaskQueueFetchQueuesRequest { + optional bytes app_id = 1; + required int32 max_rows = 2; +} + +message TaskQueueFetchQueuesResponse { + repeated group Queue = 1 { + required bytes queue_name = 2; + required double bucket_refill_per_second = 3; + required double bucket_capacity = 4; + optional string user_specified_rate = 5; + required bool paused = 6 [default=false]; + optional TaskQueueRetryParameters retry_parameters = 7; + optional int32 max_concurrent_requests = 8; + optional TaskQueueMode.Mode mode = 9 [default = PUSH]; + optional TaskQueueAcl acl = 10; + repeated TaskQueueHttpHeader header_override = 11; + optional string creator_name = 12 [ctype=CORD, default="apphosting"]; + } +} + +message TaskQueueFetchQueueStatsRequest { + optional bytes app_id = 1; + repeated bytes queue_name = 2; + optional int32 max_num_tasks = 3 [default = 0]; +} + +message TaskQueueScannerQueueInfo { + required int64 executed_last_minute = 1; + required int64 executed_last_hour = 2; + required double sampling_duration_seconds = 3; + optional int32 requests_in_flight = 4; + optional double enforced_rate = 5; +} + +message TaskQueueFetchQueueStatsResponse { + repeated group QueueStats = 1 { + required int32 num_tasks = 2; + required int64 oldest_eta_usec = 3; + optional TaskQueueScannerQueueInfo scanner_info = 4; + } +} +message TaskQueuePauseQueueRequest { + required bytes app_id = 1; + required bytes queue_name = 2; + required bool pause = 3; +} + +message TaskQueuePauseQueueResponse { +} + +message TaskQueuePurgeQueueRequest { + optional bytes app_id = 1; + required bytes queue_name = 2; +} + +message TaskQueuePurgeQueueResponse { +} + +message TaskQueueDeleteQueueRequest { + required bytes app_id = 1; + required bytes queue_name = 2; +} + +message TaskQueueDeleteQueueResponse { +} + +message TaskQueueDeleteGroupRequest { + required bytes app_id = 1; +} + +message TaskQueueDeleteGroupResponse { +} + +message TaskQueueQueryTasksRequest { + optional bytes app_id = 1; + required bytes queue_name = 2; + + optional bytes start_task_name = 3; + optional int64 start_eta_usec = 4; + optional bytes start_tag = 6; + optional int32 max_rows = 5 [default = 1]; +} + +message TaskQueueQueryTasksResponse { + repeated group Task = 1 { + required bytes task_name = 2; + required int64 eta_usec = 3; + optional bytes url = 4; + + enum RequestMethod { + GET = 1; + POST = 2; + HEAD = 3; + PUT = 4; + DELETE = 5; + } + optional RequestMethod method = 5; + + optional int32 retry_count = 6 [default=0]; + + repeated group Header = 7 { + required bytes key = 8; + required bytes value = 9; + } + + optional int32 body_size = 10; + optional bytes body = 11 [ctype=CORD]; + required int64 creation_time_usec = 12; + + optional group CronTimetable = 13 { + required bytes schedule = 14; + required bytes timezone = 15; + } + + optional group RunLog = 16 { + required int64 dispatched_usec = 17; + required int64 lag_usec = 18; + required int64 elapsed_usec = 19; + optional int64 response_code = 20; + optional string retry_reason = 27; + } + + optional bytes description = 21; + optional TaskPayload payload = 22; + optional TaskQueueRetryParameters retry_parameters = 23; + optional int64 first_try_usec = 24; + optional bytes tag = 25; + optional int32 execution_count = 26 [default=0]; + } +} + +message TaskQueueFetchTaskRequest { + optional bytes app_id = 1; + required bytes queue_name = 2; + required bytes task_name = 3; +} + +message TaskQueueFetchTaskResponse { + required TaskQueueQueryTasksResponse task = 1; +} + +message TaskQueueUpdateStorageLimitRequest { + required bytes app_id = 1; + required int64 limit = 2; +} + +message TaskQueueUpdateStorageLimitResponse { + required int64 new_limit = 1; +} + +message TaskQueueQueryAndOwnTasksRequest { + required bytes queue_name = 1; + required double lease_seconds = 2; + required int64 max_tasks = 3; + optional bool group_by_tag = 4 [default=false]; + optional bytes tag = 5; +} + +message TaskQueueQueryAndOwnTasksResponse { + repeated group Task = 1 { + required bytes task_name = 2; + required int64 eta_usec = 3; + optional int32 retry_count = 4 [default=0]; + optional bytes body = 5 [ctype=CORD]; + optional bytes tag = 6; + } +} + +message TaskQueueModifyTaskLeaseRequest { + required bytes queue_name = 1; + required bytes task_name = 2; + required int64 eta_usec = 3; + required double lease_seconds = 4; +} + +message TaskQueueModifyTaskLeaseResponse { + required int64 updated_eta_usec = 1; +} diff --git a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go new file mode 100644 index 000000000..af463fbb2 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go @@ -0,0 +1,355 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +// DO NOT EDIT! + +/* +Package urlfetch is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto + +It has these top-level messages: + URLFetchServiceError + URLFetchRequest + URLFetchResponse +*/ +package urlfetch + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type URLFetchServiceError_ErrorCode int32 + +const ( + URLFetchServiceError_OK URLFetchServiceError_ErrorCode = 0 + URLFetchServiceError_INVALID_URL URLFetchServiceError_ErrorCode = 1 + URLFetchServiceError_FETCH_ERROR URLFetchServiceError_ErrorCode = 2 + URLFetchServiceError_UNSPECIFIED_ERROR URLFetchServiceError_ErrorCode = 3 + URLFetchServiceError_RESPONSE_TOO_LARGE URLFetchServiceError_ErrorCode = 4 + URLFetchServiceError_DEADLINE_EXCEEDED URLFetchServiceError_ErrorCode = 5 + URLFetchServiceError_SSL_CERTIFICATE_ERROR URLFetchServiceError_ErrorCode = 6 + URLFetchServiceError_DNS_ERROR URLFetchServiceError_ErrorCode = 7 + URLFetchServiceError_CLOSED URLFetchServiceError_ErrorCode = 8 + URLFetchServiceError_INTERNAL_TRANSIENT_ERROR URLFetchServiceError_ErrorCode = 9 + URLFetchServiceError_TOO_MANY_REDIRECTS URLFetchServiceError_ErrorCode = 10 + URLFetchServiceError_MALFORMED_REPLY URLFetchServiceError_ErrorCode = 11 + URLFetchServiceError_CONNECTION_ERROR URLFetchServiceError_ErrorCode = 12 +) + +var URLFetchServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INVALID_URL", + 2: "FETCH_ERROR", + 3: "UNSPECIFIED_ERROR", + 4: "RESPONSE_TOO_LARGE", + 5: "DEADLINE_EXCEEDED", + 6: "SSL_CERTIFICATE_ERROR", + 7: "DNS_ERROR", + 8: "CLOSED", + 9: "INTERNAL_TRANSIENT_ERROR", + 10: "TOO_MANY_REDIRECTS", + 11: "MALFORMED_REPLY", + 12: "CONNECTION_ERROR", +} +var URLFetchServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INVALID_URL": 1, + "FETCH_ERROR": 2, + "UNSPECIFIED_ERROR": 3, + "RESPONSE_TOO_LARGE": 4, + "DEADLINE_EXCEEDED": 5, + "SSL_CERTIFICATE_ERROR": 6, + "DNS_ERROR": 7, + "CLOSED": 8, + "INTERNAL_TRANSIENT_ERROR": 9, + "TOO_MANY_REDIRECTS": 10, + "MALFORMED_REPLY": 11, + "CONNECTION_ERROR": 12, +} + +func (x URLFetchServiceError_ErrorCode) Enum() *URLFetchServiceError_ErrorCode { + p := new(URLFetchServiceError_ErrorCode) + *p = x + return p +} +func (x URLFetchServiceError_ErrorCode) String() string { + return proto.EnumName(URLFetchServiceError_ErrorCode_name, int32(x)) +} +func (x *URLFetchServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(URLFetchServiceError_ErrorCode_value, data, "URLFetchServiceError_ErrorCode") + if err != nil { + return err + } + *x = URLFetchServiceError_ErrorCode(value) + return nil +} + +type URLFetchRequest_RequestMethod int32 + +const ( + URLFetchRequest_GET URLFetchRequest_RequestMethod = 1 + URLFetchRequest_POST URLFetchRequest_RequestMethod = 2 + URLFetchRequest_HEAD URLFetchRequest_RequestMethod = 3 + URLFetchRequest_PUT URLFetchRequest_RequestMethod = 4 + URLFetchRequest_DELETE URLFetchRequest_RequestMethod = 5 + URLFetchRequest_PATCH URLFetchRequest_RequestMethod = 6 +) + +var URLFetchRequest_RequestMethod_name = map[int32]string{ + 1: "GET", + 2: "POST", + 3: "HEAD", + 4: "PUT", + 5: "DELETE", + 6: "PATCH", +} +var URLFetchRequest_RequestMethod_value = map[string]int32{ + "GET": 1, + "POST": 2, + "HEAD": 3, + "PUT": 4, + "DELETE": 5, + "PATCH": 6, +} + +func (x URLFetchRequest_RequestMethod) Enum() *URLFetchRequest_RequestMethod { + p := new(URLFetchRequest_RequestMethod) + *p = x + return p +} +func (x URLFetchRequest_RequestMethod) String() string { + return proto.EnumName(URLFetchRequest_RequestMethod_name, int32(x)) +} +func (x *URLFetchRequest_RequestMethod) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(URLFetchRequest_RequestMethod_value, data, "URLFetchRequest_RequestMethod") + if err != nil { + return err + } + *x = URLFetchRequest_RequestMethod(value) + return nil +} + +type URLFetchServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *URLFetchServiceError) Reset() { *m = URLFetchServiceError{} } +func (m *URLFetchServiceError) String() string { return proto.CompactTextString(m) } +func (*URLFetchServiceError) ProtoMessage() {} + +type URLFetchRequest struct { + Method *URLFetchRequest_RequestMethod `protobuf:"varint,1,req,name=Method,enum=appengine.URLFetchRequest_RequestMethod" json:"Method,omitempty"` + Url *string `protobuf:"bytes,2,req,name=Url" json:"Url,omitempty"` + Header []*URLFetchRequest_Header `protobuf:"group,3,rep,name=Header" json:"header,omitempty"` + Payload []byte `protobuf:"bytes,6,opt,name=Payload" json:"Payload,omitempty"` + FollowRedirects *bool `protobuf:"varint,7,opt,name=FollowRedirects,def=1" json:"FollowRedirects,omitempty"` + Deadline *float64 `protobuf:"fixed64,8,opt,name=Deadline" json:"Deadline,omitempty"` + MustValidateServerCertificate *bool `protobuf:"varint,9,opt,name=MustValidateServerCertificate,def=1" json:"MustValidateServerCertificate,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *URLFetchRequest) Reset() { *m = URLFetchRequest{} } +func (m *URLFetchRequest) String() string { return proto.CompactTextString(m) } +func (*URLFetchRequest) ProtoMessage() {} + +const Default_URLFetchRequest_FollowRedirects bool = true +const Default_URLFetchRequest_MustValidateServerCertificate bool = true + +func (m *URLFetchRequest) GetMethod() URLFetchRequest_RequestMethod { + if m != nil && m.Method != nil { + return *m.Method + } + return URLFetchRequest_GET +} + +func (m *URLFetchRequest) GetUrl() string { + if m != nil && m.Url != nil { + return *m.Url + } + return "" +} + +func (m *URLFetchRequest) GetHeader() []*URLFetchRequest_Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *URLFetchRequest) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *URLFetchRequest) GetFollowRedirects() bool { + if m != nil && m.FollowRedirects != nil { + return *m.FollowRedirects + } + return Default_URLFetchRequest_FollowRedirects +} + +func (m *URLFetchRequest) GetDeadline() float64 { + if m != nil && m.Deadline != nil { + return *m.Deadline + } + return 0 +} + +func (m *URLFetchRequest) GetMustValidateServerCertificate() bool { + if m != nil && m.MustValidateServerCertificate != nil { + return *m.MustValidateServerCertificate + } + return Default_URLFetchRequest_MustValidateServerCertificate +} + +type URLFetchRequest_Header struct { + Key *string `protobuf:"bytes,4,req,name=Key" json:"Key,omitempty"` + Value *string `protobuf:"bytes,5,req,name=Value" json:"Value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *URLFetchRequest_Header) Reset() { *m = URLFetchRequest_Header{} } +func (m *URLFetchRequest_Header) String() string { return proto.CompactTextString(m) } +func (*URLFetchRequest_Header) ProtoMessage() {} + +func (m *URLFetchRequest_Header) GetKey() string { + if m != nil && m.Key != nil { + return *m.Key + } + return "" +} + +func (m *URLFetchRequest_Header) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +type URLFetchResponse struct { + Content []byte `protobuf:"bytes,1,opt,name=Content" json:"Content,omitempty"` + StatusCode *int32 `protobuf:"varint,2,req,name=StatusCode" json:"StatusCode,omitempty"` + Header []*URLFetchResponse_Header `protobuf:"group,3,rep,name=Header" json:"header,omitempty"` + ContentWasTruncated *bool `protobuf:"varint,6,opt,name=ContentWasTruncated,def=0" json:"ContentWasTruncated,omitempty"` + ExternalBytesSent *int64 `protobuf:"varint,7,opt,name=ExternalBytesSent" json:"ExternalBytesSent,omitempty"` + ExternalBytesReceived *int64 `protobuf:"varint,8,opt,name=ExternalBytesReceived" json:"ExternalBytesReceived,omitempty"` + FinalUrl *string `protobuf:"bytes,9,opt,name=FinalUrl" json:"FinalUrl,omitempty"` + ApiCpuMilliseconds *int64 `protobuf:"varint,10,opt,name=ApiCpuMilliseconds,def=0" json:"ApiCpuMilliseconds,omitempty"` + ApiBytesSent *int64 `protobuf:"varint,11,opt,name=ApiBytesSent,def=0" json:"ApiBytesSent,omitempty"` + ApiBytesReceived *int64 `protobuf:"varint,12,opt,name=ApiBytesReceived,def=0" json:"ApiBytesReceived,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *URLFetchResponse) Reset() { *m = URLFetchResponse{} } +func (m *URLFetchResponse) String() string { return proto.CompactTextString(m) } +func (*URLFetchResponse) ProtoMessage() {} + +const Default_URLFetchResponse_ContentWasTruncated bool = false +const Default_URLFetchResponse_ApiCpuMilliseconds int64 = 0 +const Default_URLFetchResponse_ApiBytesSent int64 = 0 +const Default_URLFetchResponse_ApiBytesReceived int64 = 0 + +func (m *URLFetchResponse) GetContent() []byte { + if m != nil { + return m.Content + } + return nil +} + +func (m *URLFetchResponse) GetStatusCode() int32 { + if m != nil && m.StatusCode != nil { + return *m.StatusCode + } + return 0 +} + +func (m *URLFetchResponse) GetHeader() []*URLFetchResponse_Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *URLFetchResponse) GetContentWasTruncated() bool { + if m != nil && m.ContentWasTruncated != nil { + return *m.ContentWasTruncated + } + return Default_URLFetchResponse_ContentWasTruncated +} + +func (m *URLFetchResponse) GetExternalBytesSent() int64 { + if m != nil && m.ExternalBytesSent != nil { + return *m.ExternalBytesSent + } + return 0 +} + +func (m *URLFetchResponse) GetExternalBytesReceived() int64 { + if m != nil && m.ExternalBytesReceived != nil { + return *m.ExternalBytesReceived + } + return 0 +} + +func (m *URLFetchResponse) GetFinalUrl() string { + if m != nil && m.FinalUrl != nil { + return *m.FinalUrl + } + return "" +} + +func (m *URLFetchResponse) GetApiCpuMilliseconds() int64 { + if m != nil && m.ApiCpuMilliseconds != nil { + return *m.ApiCpuMilliseconds + } + return Default_URLFetchResponse_ApiCpuMilliseconds +} + +func (m *URLFetchResponse) GetApiBytesSent() int64 { + if m != nil && m.ApiBytesSent != nil { + return *m.ApiBytesSent + } + return Default_URLFetchResponse_ApiBytesSent +} + +func (m *URLFetchResponse) GetApiBytesReceived() int64 { + if m != nil && m.ApiBytesReceived != nil { + return *m.ApiBytesReceived + } + return Default_URLFetchResponse_ApiBytesReceived +} + +type URLFetchResponse_Header struct { + Key *string `protobuf:"bytes,4,req,name=Key" json:"Key,omitempty"` + Value *string `protobuf:"bytes,5,req,name=Value" json:"Value,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *URLFetchResponse_Header) Reset() { *m = URLFetchResponse_Header{} } +func (m *URLFetchResponse_Header) String() string { return proto.CompactTextString(m) } +func (*URLFetchResponse_Header) ProtoMessage() {} + +func (m *URLFetchResponse_Header) GetKey() string { + if m != nil && m.Key != nil { + return *m.Key + } + return "" +} + +func (m *URLFetchResponse_Header) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto new file mode 100644 index 000000000..f695edf6a --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto @@ -0,0 +1,64 @@ +syntax = "proto2"; +option go_package = "urlfetch"; + +package appengine; + +message URLFetchServiceError { + enum ErrorCode { + OK = 0; + INVALID_URL = 1; + FETCH_ERROR = 2; + UNSPECIFIED_ERROR = 3; + RESPONSE_TOO_LARGE = 4; + DEADLINE_EXCEEDED = 5; + SSL_CERTIFICATE_ERROR = 6; + DNS_ERROR = 7; + CLOSED = 8; + INTERNAL_TRANSIENT_ERROR = 9; + TOO_MANY_REDIRECTS = 10; + MALFORMED_REPLY = 11; + CONNECTION_ERROR = 12; + } +} + +message URLFetchRequest { + enum RequestMethod { + GET = 1; + POST = 2; + HEAD = 3; + PUT = 4; + DELETE = 5; + PATCH = 6; + } + required RequestMethod Method = 1; + required string Url = 2; + repeated group Header = 3 { + required string Key = 4; + required string Value = 5; + } + optional bytes Payload = 6 [ctype=CORD]; + + optional bool FollowRedirects = 7 [default=true]; + + optional double Deadline = 8; + + optional bool MustValidateServerCertificate = 9 [default=true]; +} + +message URLFetchResponse { + optional bytes Content = 1; + required int32 StatusCode = 2; + repeated group Header = 3 { + required string Key = 4; + required string Value = 5; + } + optional bool ContentWasTruncated = 6 [default=false]; + optional int64 ExternalBytesSent = 7; + optional int64 ExternalBytesReceived = 8; + + optional string FinalUrl = 9; + + optional int64 ApiCpuMilliseconds = 10 [default=0]; + optional int64 ApiBytesSent = 11 [default=0]; + optional int64 ApiBytesReceived = 12 [default=0]; +} diff --git a/vendor/google.golang.org/appengine/internal/user/user_service.pb.go b/vendor/google.golang.org/appengine/internal/user/user_service.pb.go new file mode 100644 index 000000000..6b52ffcce --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/user/user_service.pb.go @@ -0,0 +1,289 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/user/user_service.proto +// DO NOT EDIT! + +/* +Package user is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/user/user_service.proto + +It has these top-level messages: + UserServiceError + CreateLoginURLRequest + CreateLoginURLResponse + CreateLogoutURLRequest + CreateLogoutURLResponse + GetOAuthUserRequest + GetOAuthUserResponse + CheckOAuthSignatureRequest + CheckOAuthSignatureResponse +*/ +package user + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type UserServiceError_ErrorCode int32 + +const ( + UserServiceError_OK UserServiceError_ErrorCode = 0 + UserServiceError_REDIRECT_URL_TOO_LONG UserServiceError_ErrorCode = 1 + UserServiceError_NOT_ALLOWED UserServiceError_ErrorCode = 2 + UserServiceError_OAUTH_INVALID_TOKEN UserServiceError_ErrorCode = 3 + UserServiceError_OAUTH_INVALID_REQUEST UserServiceError_ErrorCode = 4 + UserServiceError_OAUTH_ERROR UserServiceError_ErrorCode = 5 +) + +var UserServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "REDIRECT_URL_TOO_LONG", + 2: "NOT_ALLOWED", + 3: "OAUTH_INVALID_TOKEN", + 4: "OAUTH_INVALID_REQUEST", + 5: "OAUTH_ERROR", +} +var UserServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "REDIRECT_URL_TOO_LONG": 1, + "NOT_ALLOWED": 2, + "OAUTH_INVALID_TOKEN": 3, + "OAUTH_INVALID_REQUEST": 4, + "OAUTH_ERROR": 5, +} + +func (x UserServiceError_ErrorCode) Enum() *UserServiceError_ErrorCode { + p := new(UserServiceError_ErrorCode) + *p = x + return p +} +func (x UserServiceError_ErrorCode) String() string { + return proto.EnumName(UserServiceError_ErrorCode_name, int32(x)) +} +func (x *UserServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(UserServiceError_ErrorCode_value, data, "UserServiceError_ErrorCode") + if err != nil { + return err + } + *x = UserServiceError_ErrorCode(value) + return nil +} + +type UserServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *UserServiceError) Reset() { *m = UserServiceError{} } +func (m *UserServiceError) String() string { return proto.CompactTextString(m) } +func (*UserServiceError) ProtoMessage() {} + +type CreateLoginURLRequest struct { + DestinationUrl *string `protobuf:"bytes,1,req,name=destination_url" json:"destination_url,omitempty"` + AuthDomain *string `protobuf:"bytes,2,opt,name=auth_domain" json:"auth_domain,omitempty"` + FederatedIdentity *string `protobuf:"bytes,3,opt,name=federated_identity,def=" json:"federated_identity,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateLoginURLRequest) Reset() { *m = CreateLoginURLRequest{} } +func (m *CreateLoginURLRequest) String() string { return proto.CompactTextString(m) } +func (*CreateLoginURLRequest) ProtoMessage() {} + +func (m *CreateLoginURLRequest) GetDestinationUrl() string { + if m != nil && m.DestinationUrl != nil { + return *m.DestinationUrl + } + return "" +} + +func (m *CreateLoginURLRequest) GetAuthDomain() string { + if m != nil && m.AuthDomain != nil { + return *m.AuthDomain + } + return "" +} + +func (m *CreateLoginURLRequest) GetFederatedIdentity() string { + if m != nil && m.FederatedIdentity != nil { + return *m.FederatedIdentity + } + return "" +} + +type CreateLoginURLResponse struct { + LoginUrl *string `protobuf:"bytes,1,req,name=login_url" json:"login_url,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateLoginURLResponse) Reset() { *m = CreateLoginURLResponse{} } +func (m *CreateLoginURLResponse) String() string { return proto.CompactTextString(m) } +func (*CreateLoginURLResponse) ProtoMessage() {} + +func (m *CreateLoginURLResponse) GetLoginUrl() string { + if m != nil && m.LoginUrl != nil { + return *m.LoginUrl + } + return "" +} + +type CreateLogoutURLRequest struct { + DestinationUrl *string `protobuf:"bytes,1,req,name=destination_url" json:"destination_url,omitempty"` + AuthDomain *string `protobuf:"bytes,2,opt,name=auth_domain" json:"auth_domain,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateLogoutURLRequest) Reset() { *m = CreateLogoutURLRequest{} } +func (m *CreateLogoutURLRequest) String() string { return proto.CompactTextString(m) } +func (*CreateLogoutURLRequest) ProtoMessage() {} + +func (m *CreateLogoutURLRequest) GetDestinationUrl() string { + if m != nil && m.DestinationUrl != nil { + return *m.DestinationUrl + } + return "" +} + +func (m *CreateLogoutURLRequest) GetAuthDomain() string { + if m != nil && m.AuthDomain != nil { + return *m.AuthDomain + } + return "" +} + +type CreateLogoutURLResponse struct { + LogoutUrl *string `protobuf:"bytes,1,req,name=logout_url" json:"logout_url,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CreateLogoutURLResponse) Reset() { *m = CreateLogoutURLResponse{} } +func (m *CreateLogoutURLResponse) String() string { return proto.CompactTextString(m) } +func (*CreateLogoutURLResponse) ProtoMessage() {} + +func (m *CreateLogoutURLResponse) GetLogoutUrl() string { + if m != nil && m.LogoutUrl != nil { + return *m.LogoutUrl + } + return "" +} + +type GetOAuthUserRequest struct { + Scope *string `protobuf:"bytes,1,opt,name=scope" json:"scope,omitempty"` + Scopes []string `protobuf:"bytes,2,rep,name=scopes" json:"scopes,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetOAuthUserRequest) Reset() { *m = GetOAuthUserRequest{} } +func (m *GetOAuthUserRequest) String() string { return proto.CompactTextString(m) } +func (*GetOAuthUserRequest) ProtoMessage() {} + +func (m *GetOAuthUserRequest) GetScope() string { + if m != nil && m.Scope != nil { + return *m.Scope + } + return "" +} + +func (m *GetOAuthUserRequest) GetScopes() []string { + if m != nil { + return m.Scopes + } + return nil +} + +type GetOAuthUserResponse struct { + Email *string `protobuf:"bytes,1,req,name=email" json:"email,omitempty"` + UserId *string `protobuf:"bytes,2,req,name=user_id" json:"user_id,omitempty"` + AuthDomain *string `protobuf:"bytes,3,req,name=auth_domain" json:"auth_domain,omitempty"` + UserOrganization *string `protobuf:"bytes,4,opt,name=user_organization,def=" json:"user_organization,omitempty"` + IsAdmin *bool `protobuf:"varint,5,opt,name=is_admin,def=0" json:"is_admin,omitempty"` + ClientId *string `protobuf:"bytes,6,opt,name=client_id,def=" json:"client_id,omitempty"` + Scopes []string `protobuf:"bytes,7,rep,name=scopes" json:"scopes,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *GetOAuthUserResponse) Reset() { *m = GetOAuthUserResponse{} } +func (m *GetOAuthUserResponse) String() string { return proto.CompactTextString(m) } +func (*GetOAuthUserResponse) ProtoMessage() {} + +const Default_GetOAuthUserResponse_IsAdmin bool = false + +func (m *GetOAuthUserResponse) GetEmail() string { + if m != nil && m.Email != nil { + return *m.Email + } + return "" +} + +func (m *GetOAuthUserResponse) GetUserId() string { + if m != nil && m.UserId != nil { + return *m.UserId + } + return "" +} + +func (m *GetOAuthUserResponse) GetAuthDomain() string { + if m != nil && m.AuthDomain != nil { + return *m.AuthDomain + } + return "" +} + +func (m *GetOAuthUserResponse) GetUserOrganization() string { + if m != nil && m.UserOrganization != nil { + return *m.UserOrganization + } + return "" +} + +func (m *GetOAuthUserResponse) GetIsAdmin() bool { + if m != nil && m.IsAdmin != nil { + return *m.IsAdmin + } + return Default_GetOAuthUserResponse_IsAdmin +} + +func (m *GetOAuthUserResponse) GetClientId() string { + if m != nil && m.ClientId != nil { + return *m.ClientId + } + return "" +} + +func (m *GetOAuthUserResponse) GetScopes() []string { + if m != nil { + return m.Scopes + } + return nil +} + +type CheckOAuthSignatureRequest struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *CheckOAuthSignatureRequest) Reset() { *m = CheckOAuthSignatureRequest{} } +func (m *CheckOAuthSignatureRequest) String() string { return proto.CompactTextString(m) } +func (*CheckOAuthSignatureRequest) ProtoMessage() {} + +type CheckOAuthSignatureResponse struct { + OauthConsumerKey *string `protobuf:"bytes,1,req,name=oauth_consumer_key" json:"oauth_consumer_key,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *CheckOAuthSignatureResponse) Reset() { *m = CheckOAuthSignatureResponse{} } +func (m *CheckOAuthSignatureResponse) String() string { return proto.CompactTextString(m) } +func (*CheckOAuthSignatureResponse) ProtoMessage() {} + +func (m *CheckOAuthSignatureResponse) GetOauthConsumerKey() string { + if m != nil && m.OauthConsumerKey != nil { + return *m.OauthConsumerKey + } + return "" +} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/user/user_service.proto b/vendor/google.golang.org/appengine/internal/user/user_service.proto new file mode 100644 index 000000000..f3e969346 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/user/user_service.proto @@ -0,0 +1,58 @@ +syntax = "proto2"; +option go_package = "user"; + +package appengine; + +message UserServiceError { + enum ErrorCode { + OK = 0; + REDIRECT_URL_TOO_LONG = 1; + NOT_ALLOWED = 2; + OAUTH_INVALID_TOKEN = 3; + OAUTH_INVALID_REQUEST = 4; + OAUTH_ERROR = 5; + } +} + +message CreateLoginURLRequest { + required string destination_url = 1; + optional string auth_domain = 2; + optional string federated_identity = 3 [default = ""]; +} + +message CreateLoginURLResponse { + required string login_url = 1; +} + +message CreateLogoutURLRequest { + required string destination_url = 1; + optional string auth_domain = 2; +} + +message CreateLogoutURLResponse { + required string logout_url = 1; +} + +message GetOAuthUserRequest { + optional string scope = 1; + + repeated string scopes = 2; +} + +message GetOAuthUserResponse { + required string email = 1; + required string user_id = 2; + required string auth_domain = 3; + optional string user_organization = 4 [default = ""]; + optional bool is_admin = 5 [default = false]; + optional string client_id = 6 [default = ""]; + + repeated string scopes = 7; +} + +message CheckOAuthSignatureRequest { +} + +message CheckOAuthSignatureResponse { + required string oauth_consumer_key = 1; +} diff --git a/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go b/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go new file mode 100644 index 000000000..6d5b0ae65 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go @@ -0,0 +1,427 @@ +// Code generated by protoc-gen-go. +// source: google.golang.org/appengine/internal/xmpp/xmpp_service.proto +// DO NOT EDIT! + +/* +Package xmpp is a generated protocol buffer package. + +It is generated from these files: + google.golang.org/appengine/internal/xmpp/xmpp_service.proto + +It has these top-level messages: + XmppServiceError + PresenceRequest + PresenceResponse + BulkPresenceRequest + BulkPresenceResponse + XmppMessageRequest + XmppMessageResponse + XmppSendPresenceRequest + XmppSendPresenceResponse + XmppInviteRequest + XmppInviteResponse +*/ +package xmpp + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +type XmppServiceError_ErrorCode int32 + +const ( + XmppServiceError_UNSPECIFIED_ERROR XmppServiceError_ErrorCode = 1 + XmppServiceError_INVALID_JID XmppServiceError_ErrorCode = 2 + XmppServiceError_NO_BODY XmppServiceError_ErrorCode = 3 + XmppServiceError_INVALID_XML XmppServiceError_ErrorCode = 4 + XmppServiceError_INVALID_TYPE XmppServiceError_ErrorCode = 5 + XmppServiceError_INVALID_SHOW XmppServiceError_ErrorCode = 6 + XmppServiceError_EXCEEDED_MAX_SIZE XmppServiceError_ErrorCode = 7 + XmppServiceError_APPID_ALIAS_REQUIRED XmppServiceError_ErrorCode = 8 + XmppServiceError_NONDEFAULT_MODULE XmppServiceError_ErrorCode = 9 +) + +var XmppServiceError_ErrorCode_name = map[int32]string{ + 1: "UNSPECIFIED_ERROR", + 2: "INVALID_JID", + 3: "NO_BODY", + 4: "INVALID_XML", + 5: "INVALID_TYPE", + 6: "INVALID_SHOW", + 7: "EXCEEDED_MAX_SIZE", + 8: "APPID_ALIAS_REQUIRED", + 9: "NONDEFAULT_MODULE", +} +var XmppServiceError_ErrorCode_value = map[string]int32{ + "UNSPECIFIED_ERROR": 1, + "INVALID_JID": 2, + "NO_BODY": 3, + "INVALID_XML": 4, + "INVALID_TYPE": 5, + "INVALID_SHOW": 6, + "EXCEEDED_MAX_SIZE": 7, + "APPID_ALIAS_REQUIRED": 8, + "NONDEFAULT_MODULE": 9, +} + +func (x XmppServiceError_ErrorCode) Enum() *XmppServiceError_ErrorCode { + p := new(XmppServiceError_ErrorCode) + *p = x + return p +} +func (x XmppServiceError_ErrorCode) String() string { + return proto.EnumName(XmppServiceError_ErrorCode_name, int32(x)) +} +func (x *XmppServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(XmppServiceError_ErrorCode_value, data, "XmppServiceError_ErrorCode") + if err != nil { + return err + } + *x = XmppServiceError_ErrorCode(value) + return nil +} + +type PresenceResponse_SHOW int32 + +const ( + PresenceResponse_NORMAL PresenceResponse_SHOW = 0 + PresenceResponse_AWAY PresenceResponse_SHOW = 1 + PresenceResponse_DO_NOT_DISTURB PresenceResponse_SHOW = 2 + PresenceResponse_CHAT PresenceResponse_SHOW = 3 + PresenceResponse_EXTENDED_AWAY PresenceResponse_SHOW = 4 +) + +var PresenceResponse_SHOW_name = map[int32]string{ + 0: "NORMAL", + 1: "AWAY", + 2: "DO_NOT_DISTURB", + 3: "CHAT", + 4: "EXTENDED_AWAY", +} +var PresenceResponse_SHOW_value = map[string]int32{ + "NORMAL": 0, + "AWAY": 1, + "DO_NOT_DISTURB": 2, + "CHAT": 3, + "EXTENDED_AWAY": 4, +} + +func (x PresenceResponse_SHOW) Enum() *PresenceResponse_SHOW { + p := new(PresenceResponse_SHOW) + *p = x + return p +} +func (x PresenceResponse_SHOW) String() string { + return proto.EnumName(PresenceResponse_SHOW_name, int32(x)) +} +func (x *PresenceResponse_SHOW) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(PresenceResponse_SHOW_value, data, "PresenceResponse_SHOW") + if err != nil { + return err + } + *x = PresenceResponse_SHOW(value) + return nil +} + +type XmppMessageResponse_XmppMessageStatus int32 + +const ( + XmppMessageResponse_NO_ERROR XmppMessageResponse_XmppMessageStatus = 0 + XmppMessageResponse_INVALID_JID XmppMessageResponse_XmppMessageStatus = 1 + XmppMessageResponse_OTHER_ERROR XmppMessageResponse_XmppMessageStatus = 2 +) + +var XmppMessageResponse_XmppMessageStatus_name = map[int32]string{ + 0: "NO_ERROR", + 1: "INVALID_JID", + 2: "OTHER_ERROR", +} +var XmppMessageResponse_XmppMessageStatus_value = map[string]int32{ + "NO_ERROR": 0, + "INVALID_JID": 1, + "OTHER_ERROR": 2, +} + +func (x XmppMessageResponse_XmppMessageStatus) Enum() *XmppMessageResponse_XmppMessageStatus { + p := new(XmppMessageResponse_XmppMessageStatus) + *p = x + return p +} +func (x XmppMessageResponse_XmppMessageStatus) String() string { + return proto.EnumName(XmppMessageResponse_XmppMessageStatus_name, int32(x)) +} +func (x *XmppMessageResponse_XmppMessageStatus) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(XmppMessageResponse_XmppMessageStatus_value, data, "XmppMessageResponse_XmppMessageStatus") + if err != nil { + return err + } + *x = XmppMessageResponse_XmppMessageStatus(value) + return nil +} + +type XmppServiceError struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppServiceError) Reset() { *m = XmppServiceError{} } +func (m *XmppServiceError) String() string { return proto.CompactTextString(m) } +func (*XmppServiceError) ProtoMessage() {} + +type PresenceRequest struct { + Jid *string `protobuf:"bytes,1,req,name=jid" json:"jid,omitempty"` + FromJid *string `protobuf:"bytes,2,opt,name=from_jid" json:"from_jid,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *PresenceRequest) Reset() { *m = PresenceRequest{} } +func (m *PresenceRequest) String() string { return proto.CompactTextString(m) } +func (*PresenceRequest) ProtoMessage() {} + +func (m *PresenceRequest) GetJid() string { + if m != nil && m.Jid != nil { + return *m.Jid + } + return "" +} + +func (m *PresenceRequest) GetFromJid() string { + if m != nil && m.FromJid != nil { + return *m.FromJid + } + return "" +} + +type PresenceResponse struct { + IsAvailable *bool `protobuf:"varint,1,req,name=is_available" json:"is_available,omitempty"` + Presence *PresenceResponse_SHOW `protobuf:"varint,2,opt,name=presence,enum=appengine.PresenceResponse_SHOW" json:"presence,omitempty"` + Valid *bool `protobuf:"varint,3,opt,name=valid" json:"valid,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *PresenceResponse) Reset() { *m = PresenceResponse{} } +func (m *PresenceResponse) String() string { return proto.CompactTextString(m) } +func (*PresenceResponse) ProtoMessage() {} + +func (m *PresenceResponse) GetIsAvailable() bool { + if m != nil && m.IsAvailable != nil { + return *m.IsAvailable + } + return false +} + +func (m *PresenceResponse) GetPresence() PresenceResponse_SHOW { + if m != nil && m.Presence != nil { + return *m.Presence + } + return PresenceResponse_NORMAL +} + +func (m *PresenceResponse) GetValid() bool { + if m != nil && m.Valid != nil { + return *m.Valid + } + return false +} + +type BulkPresenceRequest struct { + Jid []string `protobuf:"bytes,1,rep,name=jid" json:"jid,omitempty"` + FromJid *string `protobuf:"bytes,2,opt,name=from_jid" json:"from_jid,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *BulkPresenceRequest) Reset() { *m = BulkPresenceRequest{} } +func (m *BulkPresenceRequest) String() string { return proto.CompactTextString(m) } +func (*BulkPresenceRequest) ProtoMessage() {} + +func (m *BulkPresenceRequest) GetJid() []string { + if m != nil { + return m.Jid + } + return nil +} + +func (m *BulkPresenceRequest) GetFromJid() string { + if m != nil && m.FromJid != nil { + return *m.FromJid + } + return "" +} + +type BulkPresenceResponse struct { + PresenceResponse []*PresenceResponse `protobuf:"bytes,1,rep,name=presence_response" json:"presence_response,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *BulkPresenceResponse) Reset() { *m = BulkPresenceResponse{} } +func (m *BulkPresenceResponse) String() string { return proto.CompactTextString(m) } +func (*BulkPresenceResponse) ProtoMessage() {} + +func (m *BulkPresenceResponse) GetPresenceResponse() []*PresenceResponse { + if m != nil { + return m.PresenceResponse + } + return nil +} + +type XmppMessageRequest struct { + Jid []string `protobuf:"bytes,1,rep,name=jid" json:"jid,omitempty"` + Body *string `protobuf:"bytes,2,req,name=body" json:"body,omitempty"` + RawXml *bool `protobuf:"varint,3,opt,name=raw_xml,def=0" json:"raw_xml,omitempty"` + Type *string `protobuf:"bytes,4,opt,name=type,def=chat" json:"type,omitempty"` + FromJid *string `protobuf:"bytes,5,opt,name=from_jid" json:"from_jid,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppMessageRequest) Reset() { *m = XmppMessageRequest{} } +func (m *XmppMessageRequest) String() string { return proto.CompactTextString(m) } +func (*XmppMessageRequest) ProtoMessage() {} + +const Default_XmppMessageRequest_RawXml bool = false +const Default_XmppMessageRequest_Type string = "chat" + +func (m *XmppMessageRequest) GetJid() []string { + if m != nil { + return m.Jid + } + return nil +} + +func (m *XmppMessageRequest) GetBody() string { + if m != nil && m.Body != nil { + return *m.Body + } + return "" +} + +func (m *XmppMessageRequest) GetRawXml() bool { + if m != nil && m.RawXml != nil { + return *m.RawXml + } + return Default_XmppMessageRequest_RawXml +} + +func (m *XmppMessageRequest) GetType() string { + if m != nil && m.Type != nil { + return *m.Type + } + return Default_XmppMessageRequest_Type +} + +func (m *XmppMessageRequest) GetFromJid() string { + if m != nil && m.FromJid != nil { + return *m.FromJid + } + return "" +} + +type XmppMessageResponse struct { + Status []XmppMessageResponse_XmppMessageStatus `protobuf:"varint,1,rep,name=status,enum=appengine.XmppMessageResponse_XmppMessageStatus" json:"status,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppMessageResponse) Reset() { *m = XmppMessageResponse{} } +func (m *XmppMessageResponse) String() string { return proto.CompactTextString(m) } +func (*XmppMessageResponse) ProtoMessage() {} + +func (m *XmppMessageResponse) GetStatus() []XmppMessageResponse_XmppMessageStatus { + if m != nil { + return m.Status + } + return nil +} + +type XmppSendPresenceRequest struct { + Jid *string `protobuf:"bytes,1,req,name=jid" json:"jid,omitempty"` + Type *string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"` + Show *string `protobuf:"bytes,3,opt,name=show" json:"show,omitempty"` + Status *string `protobuf:"bytes,4,opt,name=status" json:"status,omitempty"` + FromJid *string `protobuf:"bytes,5,opt,name=from_jid" json:"from_jid,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppSendPresenceRequest) Reset() { *m = XmppSendPresenceRequest{} } +func (m *XmppSendPresenceRequest) String() string { return proto.CompactTextString(m) } +func (*XmppSendPresenceRequest) ProtoMessage() {} + +func (m *XmppSendPresenceRequest) GetJid() string { + if m != nil && m.Jid != nil { + return *m.Jid + } + return "" +} + +func (m *XmppSendPresenceRequest) GetType() string { + if m != nil && m.Type != nil { + return *m.Type + } + return "" +} + +func (m *XmppSendPresenceRequest) GetShow() string { + if m != nil && m.Show != nil { + return *m.Show + } + return "" +} + +func (m *XmppSendPresenceRequest) GetStatus() string { + if m != nil && m.Status != nil { + return *m.Status + } + return "" +} + +func (m *XmppSendPresenceRequest) GetFromJid() string { + if m != nil && m.FromJid != nil { + return *m.FromJid + } + return "" +} + +type XmppSendPresenceResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppSendPresenceResponse) Reset() { *m = XmppSendPresenceResponse{} } +func (m *XmppSendPresenceResponse) String() string { return proto.CompactTextString(m) } +func (*XmppSendPresenceResponse) ProtoMessage() {} + +type XmppInviteRequest struct { + Jid *string `protobuf:"bytes,1,req,name=jid" json:"jid,omitempty"` + FromJid *string `protobuf:"bytes,2,opt,name=from_jid" json:"from_jid,omitempty"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppInviteRequest) Reset() { *m = XmppInviteRequest{} } +func (m *XmppInviteRequest) String() string { return proto.CompactTextString(m) } +func (*XmppInviteRequest) ProtoMessage() {} + +func (m *XmppInviteRequest) GetJid() string { + if m != nil && m.Jid != nil { + return *m.Jid + } + return "" +} + +func (m *XmppInviteRequest) GetFromJid() string { + if m != nil && m.FromJid != nil { + return *m.FromJid + } + return "" +} + +type XmppInviteResponse struct { + XXX_unrecognized []byte `json:"-"` +} + +func (m *XmppInviteResponse) Reset() { *m = XmppInviteResponse{} } +func (m *XmppInviteResponse) String() string { return proto.CompactTextString(m) } +func (*XmppInviteResponse) ProtoMessage() {} + +func init() { +} diff --git a/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto b/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto new file mode 100644 index 000000000..472d52ebf --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto @@ -0,0 +1,83 @@ +syntax = "proto2"; +option go_package = "xmpp"; + +package appengine; + +message XmppServiceError { + enum ErrorCode { + UNSPECIFIED_ERROR = 1; + INVALID_JID = 2; + NO_BODY = 3; + INVALID_XML = 4; + INVALID_TYPE = 5; + INVALID_SHOW = 6; + EXCEEDED_MAX_SIZE = 7; + APPID_ALIAS_REQUIRED = 8; + NONDEFAULT_MODULE = 9; + } +} + +message PresenceRequest { + required string jid = 1; + optional string from_jid = 2; +} + +message PresenceResponse { + enum SHOW { + NORMAL = 0; + AWAY = 1; + DO_NOT_DISTURB = 2; + CHAT = 3; + EXTENDED_AWAY = 4; + } + + required bool is_available = 1; + optional SHOW presence = 2; + optional bool valid = 3; +} + +message BulkPresenceRequest { + repeated string jid = 1; + optional string from_jid = 2; +} + +message BulkPresenceResponse { + repeated PresenceResponse presence_response = 1; +} + +message XmppMessageRequest { + repeated string jid = 1; + required string body = 2; + optional bool raw_xml = 3 [ default = false ]; + optional string type = 4 [ default = "chat" ]; + optional string from_jid = 5; +} + +message XmppMessageResponse { + enum XmppMessageStatus { + NO_ERROR = 0; + INVALID_JID = 1; + OTHER_ERROR = 2; + } + + repeated XmppMessageStatus status = 1; +} + +message XmppSendPresenceRequest { + required string jid = 1; + optional string type = 2; + optional string show = 3; + optional string status = 4; + optional string from_jid = 5; +} + +message XmppSendPresenceResponse { +} + +message XmppInviteRequest { + required string jid = 1; + optional string from_jid = 2; +} + +message XmppInviteResponse { +} diff --git a/vendor/google.golang.org/appengine/log/log.go b/vendor/google.golang.org/appengine/log/log.go index cd89e5ced..b54fe47bd 100644 --- a/vendor/google.golang.org/appengine/log/log.go +++ b/vendor/google.golang.org/appengine/log/log.go @@ -26,7 +26,7 @@ Example: log.Infof(c, "Saw record %v", record) } */ -package log +package log // import "google.golang.org/appengine/log" import ( "errors" diff --git a/vendor/google.golang.org/appengine/mail/mail.go b/vendor/google.golang.org/appengine/mail/mail.go index be0eb518c..f7955aaf1 100644 --- a/vendor/google.golang.org/appengine/mail/mail.go +++ b/vendor/google.golang.org/appengine/mail/mail.go @@ -17,7 +17,7 @@ Example: log.Errorf(c, "Alas, my user, the email failed to sendeth: %v", err) } */ -package mail +package mail // import "google.golang.org/appengine/mail" import ( "net/mail" diff --git a/vendor/google.golang.org/appengine/memcache/memcache.go b/vendor/google.golang.org/appengine/memcache/memcache.go index 515505504..d8eed4be7 100644 --- a/vendor/google.golang.org/appengine/memcache/memcache.go +++ b/vendor/google.golang.org/appengine/memcache/memcache.go @@ -26,7 +26,7 @@ // if err := memcache.Set(c, item1); err != nil { // return err // } -package memcache +package memcache // import "google.golang.org/appengine/memcache" import ( "bytes" diff --git a/vendor/google.golang.org/appengine/module/module.go b/vendor/google.golang.org/appengine/module/module.go index aaf020cc4..88e6629ac 100644 --- a/vendor/google.golang.org/appengine/module/module.go +++ b/vendor/google.golang.org/appengine/module/module.go @@ -8,7 +8,7 @@ Package module provides functions for interacting with modules. The appengine package contains functions that report the identity of the app, including the module name. */ -package module +package module // import "google.golang.org/appengine/module" import ( "github.com/golang/protobuf/proto" diff --git a/vendor/google.golang.org/appengine/remote_api/remote_api.go b/vendor/google.golang.org/appengine/remote_api/remote_api.go index 7b5579360..68cd7d9bf 100644 --- a/vendor/google.golang.org/appengine/remote_api/remote_api.go +++ b/vendor/google.golang.org/appengine/remote_api/remote_api.go @@ -6,7 +6,7 @@ Package remote_api implements the /_ah/remote_api endpoint. This endpoint is used by offline tools such as the bulk loader. */ -package remote_api +package remote_api // import "google.golang.org/appengine/remote_api" import ( "fmt" diff --git a/vendor/google.golang.org/appengine/runtime/runtime.go b/vendor/google.golang.org/appengine/runtime/runtime.go index 7aca8f639..ece976553 100644 --- a/vendor/google.golang.org/appengine/runtime/runtime.go +++ b/vendor/google.golang.org/appengine/runtime/runtime.go @@ -8,7 +8,7 @@ It also provides a way to run code in a new background context of a module. This package does not work on Managed VMs. */ -package runtime +package runtime // import "google.golang.org/appengine/runtime" import ( "net/http" diff --git a/vendor/google.golang.org/appengine/search/search.go b/vendor/google.golang.org/appengine/search/search.go index 7a2652031..cbba874bb 100644 --- a/vendor/google.golang.org/appengine/search/search.go +++ b/vendor/google.golang.org/appengine/search/search.go @@ -2,7 +2,7 @@ // Use of this source code is governed by the Apache 2.0 // license that can be found in the LICENSE file. -package search +package search // import "google.golang.org/appengine/search" // TODO: let Put specify the document language: "en", "fr", etc. Also: order_id?? storage?? // TODO: Index.GetAll (or Iterator.GetAll)? diff --git a/vendor/google.golang.org/appengine/taskqueue/taskqueue.go b/vendor/google.golang.org/appengine/taskqueue/taskqueue.go index 7bdae927b..9b62fac7d 100644 --- a/vendor/google.golang.org/appengine/taskqueue/taskqueue.go +++ b/vendor/google.golang.org/appengine/taskqueue/taskqueue.go @@ -14,7 +14,7 @@ taskqueue operation is to add a single POST task, NewPOSTTask makes it easy. }) taskqueue.Add(c, t, "") // add t to the default queue */ -package taskqueue +package taskqueue // import "google.golang.org/appengine/taskqueue" import ( "errors" diff --git a/vendor/google.golang.org/appengine/urlfetch/urlfetch.go b/vendor/google.golang.org/appengine/urlfetch/urlfetch.go index ba3d17c71..6ffe1e6d9 100644 --- a/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +++ b/vendor/google.golang.org/appengine/urlfetch/urlfetch.go @@ -4,7 +4,7 @@ // Package urlfetch provides an http.RoundTripper implementation // for fetching URLs via App Engine's urlfetch service. -package urlfetch +package urlfetch // import "google.golang.org/appengine/urlfetch" import ( "errors" diff --git a/vendor/google.golang.org/appengine/user/user.go b/vendor/google.golang.org/appengine/user/user.go index 622b61020..eb76f59b7 100644 --- a/vendor/google.golang.org/appengine/user/user.go +++ b/vendor/google.golang.org/appengine/user/user.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package user provides a client for App Engine's user authentication service. -package user +package user // import "google.golang.org/appengine/user" import ( "strings" diff --git a/vendor/google.golang.org/appengine/xmpp/xmpp.go b/vendor/google.golang.org/appengine/xmpp/xmpp.go index bbc27538a..3a561fd53 100644 --- a/vendor/google.golang.org/appengine/xmpp/xmpp.go +++ b/vendor/google.golang.org/appengine/xmpp/xmpp.go @@ -22,7 +22,7 @@ To receive messages, // ... } */ -package xmpp +package xmpp // import "google.golang.org/appengine/xmpp" import ( "errors" diff --git a/vendor/google.golang.org/cloud/compute/metadata/metadata.go b/vendor/google.golang.org/cloud/compute/metadata/metadata.go index a3daf943a..ad2ff61af 100644 --- a/vendor/google.golang.org/cloud/compute/metadata/metadata.go +++ b/vendor/google.golang.org/cloud/compute/metadata/metadata.go @@ -17,7 +17,7 @@ // // This package is a wrapper around the GCE metadata service, // as documented at https://developers.google.com/compute/docs/metadata. -package metadata +package metadata // import "google.golang.org/cloud/compute/metadata" import ( "encoding/json" diff --git a/vendor/vendor.json b/vendor/vendor.json new file mode 100644 index 000000000..e770f7ced --- /dev/null +++ b/vendor/vendor.json @@ -0,0 +1,1945 @@ +{ + "comment": "", + "ignore": "test", + "package": [ + { + "checksumSHA1": "/WG++Jij8INZ80tER+FAiIDMmws=", + "comment": "v3.1.0-beta", + "path": "github.com/Azure/azure-sdk-for-go/arm/compute", + "revision": "902d95d9f311ae585ee98cfd18f418b467d60d5a" + }, + { + "checksumSHA1": "0Fs1/ScBIaONYaORJdENMRWA7Ls=", + "comment": "v3.1.0-beta", + "path": "github.com/Azure/azure-sdk-for-go/arm/network", + "revision": "902d95d9f311ae585ee98cfd18f418b467d60d5a" + }, + { + "checksumSHA1": "kN0G4mvshsxcV60qWgmCsAdpBYk=", + "comment": "v3.1.0-beta", + "path": "github.com/Azure/azure-sdk-for-go/arm/resources/resources", + "revision": "902d95d9f311ae585ee98cfd18f418b467d60d5a" + }, + { + "checksumSHA1": "nIohvmFwrTSAL34tRdJzKafclao=", + "comment": "v3.1.0-beta", + "path": "github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions", + "revision": "902d95d9f311ae585ee98cfd18f418b467d60d5a" + }, + { + "checksumSHA1": "U2UWmn3SQKX+UBvIq7s6GlRAdcE=", + "comment": "v3.1.0-beta", + "path": "github.com/Azure/azure-sdk-for-go/arm/storage", + "revision": "902d95d9f311ae585ee98cfd18f418b467d60d5a" + }, + { + "checksumSHA1": "O6OHu5bxX1FAHpKt0TDSwPLvmzA=", + "comment": "v3.1.0-beta", + "path": "github.com/Azure/azure-sdk-for-go/storage", + "revision": "902d95d9f311ae585ee98cfd18f418b467d60d5a" + }, + { + "checksumSHA1": "pi00alAztMy9MGxJmvg9qC+tsGk=", + "comment": "v7.0.7", + "path": "github.com/Azure/go-autorest/autorest", + "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" + }, + { + "checksumSHA1": "z8FwqeLK0Pluo7FYC5k2MVBoils=", + "comment": "v7.0.7", + "path": "github.com/Azure/go-autorest/autorest/azure", + "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" + }, + { + "checksumSHA1": "q4bSpJ5t571H3ny1PwIgTn6g75E=", + "comment": "v7.0.7", + "path": "github.com/Azure/go-autorest/autorest/date", + "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" + }, + { + "checksumSHA1": "CGwXw0PsDWxDMtVS8h+PBt+sXGw=", + "comment": "v7.0.7", + "path": "github.com/Azure/go-autorest/autorest/mocks", + "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" + }, + { + "checksumSHA1": "Ev8qCsbFjDlMlX0N2tYAhYQFpUc=", + "comment": "v7.0.7", + "path": "github.com/Azure/go-autorest/autorest/to", + "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" + }, + { + "checksumSHA1": "TgrN0l/E16deTlLYNt8wf66urSU=", + "path": "github.com/Azure/go-ntlmssp", + "revision": "e0b63eb299a769ea4b04dadfe530f6074b277afb" + }, + { + "checksumSHA1": "gc98KRYAAiw4g1FrSTsuggSNv8k=", + "path": "github.com/approvals/go-approval-tests", + "revision": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" + }, + { + "checksumSHA1": "lujk/sNRt+ReyrD1Xrly9nCLR5o=", + "path": "github.com/approvals/go-approval-tests/reporters", + "revision": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" + }, + { + "checksumSHA1": "J9S0x28/Ac9yamzXDEA5ZVB2SwI=", + "path": "github.com/approvals/go-approval-tests/utils", + "revision": "ad96e53bea43a905c17beeb983a0f9ce087dc48d" + }, + { + "checksumSHA1": "gNO0JNpLzYOdInGeq7HqMZUzx9M=", + "path": "github.com/armon/go-radix", + "revision": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2" + }, + { + "checksumSHA1": "mocMTDVyOtc9Q4qXF6zuJpivR9c=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/awserr", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "ppmwInOtC5Mj/dBBWVxL0KPEI0I=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/awsutil", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "H/tMKHZU+Qka6RtYiGB50s2uA0s=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/client", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/client/metadata", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "gNWirlrTfSLbOe421hISBAhTqa4=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/corehandlers", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "dNZNaOPfBPnzE2CBnfhXXZ9g9jU=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/credentials", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "KQiUK/zr3mqnAXD7x/X55/iNme0=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "4Ipx+5xN0gso+cENC2MHMWmQlR4=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "nCMd1XKjgV21bEl7J8VZFqTV8PE=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/defaults", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "U0SthWum+t9ACanK7SDJOg3dO6M=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "NyUg1P8ZS/LHAAQAk/4C5O4X3og=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/request", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "44uohX3kLsfZHHOqunr+qJnSCdw=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/session", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "7lla+sckQeF18wORAGuU2fFMlp4=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/aws/signer/v4", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "hHIsoLm00OXnFQlCrIT9/7CJPAI=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/awstesting", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "rVOBmIlMWNf9odB4+3XMaxrGYZI=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/awstesting/mock", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "MIp5H1niMhCZFAwYsjJx9NxmHIc=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/awstesting/unit", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "Bm6UrYb2QCzpYseLwwgw6aetgRc=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/endpoints", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "uNmSKXAF8B9HWEciW+iyUwZ99qQ=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/ec2query", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "pNeF0Ey7TfBArH5LBQhKOQXQbLY=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "H9TymcQkQnXSXSVfjggiiS4bpzM=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "isoix7lTx4qIq2zI2xFADtti5SI=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/query", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "5xzix1R8prUyWxgLnzUQoxTsfik=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "TW/7U+/8ormL7acf6z2rv2hDD+s=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/rest", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "oUOTWZIpPJiGjc9p/hntdBDvS10=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/restjson", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "Y6Db2GGfGD9LPpcJIPj8vXE8BbQ=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/restxml", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "eUEkjyMPAuekKBE4ou+nM9tXEas=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/private/waiter", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "7KfnvRLqjHtG8OFBk3/LM4n6rPo=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/service/ec2", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "RUfkmRJpf1l6rHJfh/86gtG4Was=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/service/ecr", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "imxJucuPrgaPRMPtAgsu+Y7soB4=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/service/s3", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "HBr74u7wII+7Xu4wb12f5+fDi5k=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/service/s3/s3iface", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "rXToYcA5MwoyuBQAvfe2gIEbDDU=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/service/s3/s3manager", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "nH/itbdeFHpl4ysegdtgww9bFSA=", + "comment": "v1.4.6", + "path": "github.com/aws/aws-sdk-go/service/sts", + "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" + }, + { + "checksumSHA1": "7SbTaY0kaYxgQrG3/9cjrI+BcyU=", + "path": "github.com/bgentry/speakeasy", + "revision": "36e9cfdd690967f4f690c6edcc9ffacd006014a0" + }, + { + "checksumSHA1": "twtRfb6484vfr2qqjiFkLThTjcQ=", + "path": "github.com/bgentry/speakeasy/example", + "revision": "36e9cfdd690967f4f690c6edcc9ffacd006014a0" + }, + { + "checksumSHA1": "Xmg1VzD2h0CmuRbN66dj+1IF7rc=", + "path": "github.com/biogo/hts/bgzf", + "revision": "50da7d4131a3b5c9d063932461cab4d1fafb20b0" + }, + { + "checksumSHA1": "EdY73MXAw3MyPMsItlsl7hOOE18=", + "path": "github.com/biogo/hts/bgzf/cache", + "revision": "50da7d4131a3b5c9d063932461cab4d1fafb20b0" + }, + { + "checksumSHA1": "Lf3uUXTkKK5DJ37BxQvxO1Fq+K8=", + "comment": "v1.0.0-3-g6d21280", + "path": "github.com/davecgh/go-spew/spew", + "revision": "6d212800a42e8ab5c146b8ace3490ee17e5225f9" + }, + { + "checksumSHA1": "a2yC46a1qsJomgY6rb+FkTFiqmE=", + "comment": "v1.0.0-3-g6d21280", + "path": "github.com/davecgh/go-spew/spew/testdata", + "revision": "6d212800a42e8ab5c146b8ace3490ee17e5225f9" + }, + { + "checksumSHA1": "D37uI+U+FYvTJIdG2TTozXe7i7U=", + "comment": "v3.0.0", + "path": "github.com/dgrijalva/jwt-go", + "revision": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" + }, + { + "checksumSHA1": "9Xy4JjEsr+Mu4v4eE9KA0TItfQU=", + "comment": "v3.0.0", + "path": "github.com/dgrijalva/jwt-go/request", + "revision": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" + }, + { + "checksumSHA1": "3MVpdOJeYMtVHozeas+cYniyLvA=", + "comment": "v3.0.0", + "path": "github.com/dgrijalva/jwt-go/test", + "revision": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" + }, + { + "checksumSHA1": "tPavbOLszj9IKgu9ba2TIuRlWLc=", + "comment": "v0.9.0-24-g6ca5b77", + "path": "github.com/digitalocean/godo", + "revision": "6ca5b770f203b82a0fca68d0941736458efa8a4f" + }, + { + "checksumSHA1": "55vQcXylnH/cLLgheG2bMqsmVQo=", + "comment": "v0.9.0-24-g6ca5b77", + "path": "github.com/digitalocean/godo/util", + "revision": "6ca5b770f203b82a0fca68d0941736458efa8a4f" + }, + { + "checksumSHA1": "GCskdwYAPW2S34918Z5CgNMJ2Wc=", + "path": "github.com/dylanmei/iso8601", + "revision": "2075bf119b58e5576c6ed9f867b8f3d17f2e54d4" + }, + { + "checksumSHA1": "by8KnjbSvP58haObPorGWR2CJfk=", + "path": "github.com/dylanmei/winrmtest", + "revision": "025617847eb2cf9bd1d851bc3b22ed28e6245ce5" + }, + { + "checksumSHA1": "PkPgpx/FYoIJCbihlRZEp7oHG9Q=", + "comment": "v1.8.6", + "path": "github.com/go-ini/ini", + "revision": "afbd495e5aaea13597b5e14fe514ddeaa4d76fc3" + }, + { + "checksumSHA1": "GhvPGgDUBDSANMWJJLFfGbcR4C4=", + "path": "github.com/golang/protobuf/proto", + "revision": "b982704f8bb716bb608144408cff30e15fbde841" + }, + { + "checksumSHA1": "/r044HcS9hElG0zUJxkOF3wfdNI=", + "path": "github.com/golang/protobuf/proto/proto3_proto", + "revision": "b982704f8bb716bb608144408cff30e15fbde841" + }, + { + "checksumSHA1": "JWIz0NHscZvzJIsU/X0uQmAUTFo=", + "path": "github.com/golang/protobuf/proto/testdata", + "revision": "b982704f8bb716bb608144408cff30e15fbde841" + }, + { + "checksumSHA1": "Evpv9y6iPdy+8FeAVDmKrqV1sqo=", + "path": "github.com/google/go-querystring/query", + "revision": "2a60fc2ba6c19de80291203597d752e9ba58e4c0" + }, + { + "checksumSHA1": "PugKTD0dIXDRlyjtzeimgjT7+ZM=", + "comment": "20141209094003-92-g95fa852", + "path": "github.com/hashicorp/atlas-go/archive", + "revision": "95fa852edca41c06c4ce526af4bb7dec4eaad434" + }, + { + "checksumSHA1": "OylSuPrtMLP6yvPKTx60ptqQO6I=", + "comment": "20141209094003-92-g95fa852", + "path": "github.com/hashicorp/atlas-go/v1", + "revision": "95fa852edca41c06c4ce526af4bb7dec4eaad434" + }, + { + "checksumSHA1": "cdOCt0Yb+hdErz8NAQqayxPmRsY=", + "path": "github.com/hashicorp/errwrap", + "revision": "7554cd9344cec97297fa6649b055a8c98c2a1e55" + }, + { + "checksumSHA1": "nd3S1qkFv7zZxA9be0bw4nT0pe0=", + "path": "github.com/hashicorp/go-checkpoint", + "revision": "e4b2dc34c0f698ee04750bf2035d8b9384233e1b" + }, + { + "checksumSHA1": "fSe5y1UgTDeYlnFfUcDA1zzcw+U=", + "path": "github.com/hashicorp/go-cleanhttp", + "revision": "875fb671b3ddc66f8e2f0acc33829c8cb989a38d" + }, + { + "checksumSHA1": "lrSl49G23l6NhfilxPM0XFs5rZo=", + "path": "github.com/hashicorp/go-multierror", + "revision": "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5" + }, + { + "checksumSHA1": "A1PcINvF3UiwHRKn8UcgARgvGRs=", + "path": "github.com/hashicorp/go-rootcerts", + "revision": "6bb64b370b90e7ef1fa532be9e591a81c3493e00" + }, + { + "checksumSHA1": "mAkPa/RLuIwN53GbwIEMATexams=", + "path": "github.com/hashicorp/go-uuid", + "revision": "73d19cdc2bf00788cc25f7d5fd74347d48ada9ac" + }, + { + "checksumSHA1": "9nNGCY0dWyRDEm7xb57BzV0AKeA=", + "path": "github.com/hashicorp/go-version", + "revision": "7e3c02b30806fa5779d3bdfc152ce4c6f40e7b38" + }, + { + "checksumSHA1": "Gm2k+46HxKqsjI8lCWBp/jRaPrM=", + "path": "github.com/hashicorp/yamux", + "revision": "df949784da9ed028ee76df44652e42d37a09d7e4" + }, + { + "checksumSHA1": "3/Bhy+ua/DCv2ElMD5GzOYSGN6g=", + "comment": "0.2.2-2-gc01cf91", + "path": "github.com/jmespath/go-jmespath", + "revision": "c01cf91b011868172fdcd9f41838e80c9d716264" + }, + { + "checksumSHA1": "uIIksmnhf7tRQ+nf1o1oIJhcNhw=", + "comment": "0.2.2-2-gc01cf91", + "path": "github.com/jmespath/go-jmespath/fuzz", + "revision": "c01cf91b011868172fdcd9f41838e80c9d716264" + }, + { + "checksumSHA1": "6nmAJBw2phU9MUmkUnqFvbO5urg=", + "path": "github.com/kardianos/osext", + "revision": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc" + }, + { + "checksumSHA1": "yIeeBxrnquUChoE+Rpz7qU6WygQ=", + "path": "github.com/klauspost/compress/flate", + "revision": "f86d2e6d8a77c6a2c4e42a87ded21c6422f7557e" + }, + { + "checksumSHA1": "+5TWJZm/cHHsQ5YHy644Ila4+io=", + "path": "github.com/klauspost/cpuid", + "revision": "349c675778172472f5e8f3a3e0fe187e302e5a10" + }, + { + "checksumSHA1": "v+xan6wN3UkZx0gn1lx0cYizzHo=", + "path": "github.com/klauspost/cpuid/private", + "revision": "349c675778172472f5e8f3a3e0fe187e302e5a10" + }, + { + "checksumSHA1": "FvkAYJ7xe6/MaU6F5TWJP7/Qfw0=", + "path": "github.com/klauspost/crc32", + "revision": "999f3125931f6557b991b2f8472172bdfa578d38" + }, + { + "checksumSHA1": "UAlXIIZhzWRslIC+4KLowB6Y/YM=", + "path": "github.com/klauspost/pgzip", + "revision": "47f36e165cecae5382ecf1ec28ebf7d4679e307d" + }, + { + "checksumSHA1": "KQhA4EQp4Ldwj9nJZnEURlE6aQw=", + "path": "github.com/kr/fs", + "revision": "2788f0dbd16903de03cb8186e5c7d97b69ad387b" + }, + { + "checksumSHA1": "yg57Q4J8Ob0LoYvqDxsWZ6AHffE=", + "path": "github.com/masterzen/simplexml/dom", + "revision": "95ba30457eb1121fa27753627c774c7cd4e90083" + }, + { + "checksumSHA1": "BL8FA9MJQmmQBH5s9wYvhDWFk0Q=", + "path": "github.com/masterzen/winrm", + "revision": "ef3efbb97f99fc204bd9c7edf778a0dbd9781baf" + }, + { + "checksumSHA1": "KTsgWipT3ennAAtaKxEZairxero=", + "path": "github.com/masterzen/winrm/soap", + "revision": "ef3efbb97f99fc204bd9c7edf778a0dbd9781baf" + }, + { + "checksumSHA1": "bx+egnFe0OB0BZBcgZcaqsvcmS4=", + "path": "github.com/masterzen/xmlpath", + "revision": "13f4951698adc0fa9c1dda3e275d489a24201161" + }, + { + "checksumSHA1": "NkbetqlpWBi3gP08JDneC+axTKw=", + "path": "github.com/mattn/go-isatty", + "revision": "56b76bdf51f7708750eac80fa38b952bb9f32639" + }, + { + "checksumSHA1": "WbXdGQiD4hQNID4Xo/RJumaimk0=", + "path": "github.com/mitchellh/cli", + "revision": "5c87c51cedf76a1737bf5ca3979e8644871598a6" + }, + { + "checksumSHA1": "mVqDwKcibat0IKAdzAhfGIHPwI8=", + "path": "github.com/mitchellh/go-fs", + "revision": "a34c1b9334e86165685a9449b782f20465eb8c69" + }, + { + "checksumSHA1": "3ptHw3lJIghPRCAc05e5F4S0UMY=", + "path": "github.com/mitchellh/go-fs/fat", + "revision": "a34c1b9334e86165685a9449b782f20465eb8c69" + }, + { + "checksumSHA1": "z235fRXw4+SW4xWgLTYc8SwkM2M=", + "path": "github.com/mitchellh/go-homedir", + "revision": "d682a8f0cf139663a984ff12528da460ca963de9" + }, + { + "checksumSHA1": "SJOpcDnBxxKHq146atZmumzST3A=", + "path": "github.com/mitchellh/go-vnc", + "revision": "723ed9867aed0f3209a81151e52ddc61681f0b01" + }, + { + "checksumSHA1": "v9y1OJ6NpBUhK4U8V4mmYUFBU4Q=", + "path": "github.com/mitchellh/iochan", + "revision": "87b45ffd0e9581375c491fef3d32130bb15c5bd7" + }, + { + "checksumSHA1": "4Js6Jlu93Wa0o6Kjt393L9Z7diE=", + "path": "github.com/mitchellh/mapstructure", + "revision": "281073eb9eb092240d33ef253c404f1cca550309" + }, + { + "checksumSHA1": "9Vh2o3Vs6HzI8P04ks4kvIpegco=", + "path": "github.com/mitchellh/multistep", + "revision": "162146fc57112954184d90266f4733e900ed05a5" + }, + { + "checksumSHA1": "VBo7ciCNRr7wNVFmBTW8sm4PQ14=", + "path": "github.com/mitchellh/panicwrap", + "revision": "a1e50bc201f387747a45ffff020f1af2d8759e88" + }, + { + "checksumSHA1": "h+ODp7a8Vj8XMUsORLbhtQMWOO4=", + "path": "github.com/mitchellh/prefixedio", + "revision": "6e6954073784f7ee67b28f2d22749d6479151ed7" + }, + { + "checksumSHA1": "mrqMlK6gqe//WsJSrJ1HgkPM0lM=", + "path": "github.com/mitchellh/reflectwalk", + "revision": "eecf4c70c626c7cfbb95c90195bc34d386c74ac6" + }, + { + "checksumSHA1": "gcLub3oB+u4QrOJZcYmk/y2AP4k=", + "path": "github.com/nu7hatch/gouuid", + "revision": "179d4d0c4d8d407a32af483c2354df1d2c91e6c3" + }, + { + "checksumSHA1": "Cfe+Uaa7inbFKsaRuUSaUVh8KJs=", + "path": "github.com/packer-community/winrmcp/winrmcp", + "revision": "7f50d16167d327698b91ccd5363d8691865e2580" + }, + { + "checksumSHA1": "oaXvjFg802gS/wx1bx2gAQwa7XQ=", + "path": "github.com/pierrec/lz4", + "revision": "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470" + }, + { + "checksumSHA1": "E2gPN6AcQWij41gvVHHWP/510vw=", + "path": "github.com/pierrec/lz4/fuzz", + "revision": "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470" + }, + { + "checksumSHA1": "0VCCUEQ1c6RMbxpu2zTa/ee1+i8=", + "path": "github.com/pierrec/lz4/lz4c", + "revision": "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470" + }, + { + "checksumSHA1": "IT4sX58d+e8osXHV5U6YCSdB/uE=", + "path": "github.com/pierrec/xxHash/xxHash32", + "revision": "5a004441f897722c627870a981d02b29924215fa" + }, + { + "checksumSHA1": "Mud+5WNq90BFb4gTeM5AByN8f2Y=", + "path": "github.com/pkg/sftp", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "oc9mSRm9gzVfAQ0yq1NmXoxBslY=", + "path": "github.com/pkg/sftp/examples/buffered-read-benchmark", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "JtaB+rTpNCOP1408oh4CrPlr4PI=", + "path": "github.com/pkg/sftp/examples/buffered-write-benchmark", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "APWx2BdLbrOd0E/zwlssSY0BTIw=", + "path": "github.com/pkg/sftp/examples/sftp-server", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "q27nlLSr5icub5Fg99UCx04hIPg=", + "path": "github.com/pkg/sftp/examples/streaming-read-benchmark", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "mwao6A83g6t+lUI1oFfjg7n9Juo=", + "path": "github.com/pkg/sftp/examples/streaming-write-benchmark", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "YqBYled6dGradvCCOvby1IYawiY=", + "path": "github.com/pkg/sftp/server_standalone", + "revision": "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5" + }, + { + "checksumSHA1": "LuFv4/jlrmFNnDb/5SCSEPAM9vU=", + "comment": "v1.0.0", + "path": "github.com/pmezard/go-difflib/difflib", + "revision": "792786c7400a136282c1664665ae0a8db921c6c2" + }, + { + "checksumSHA1": "reF91HBsVZuUHce8Rxco6k6Bfbc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "/XMCr7DP+Ft0XRjpwrDGIMLxyXc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "aIQz8gXlt3j99NB0pu2k1RtESK0=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/compute/v2", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "58UNhRgy7N28blzbSKuZI3aMzdk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/db/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "R/DwMSH9r2c+TSYFAvAaodagyaM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/identity/v2", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "OUxMtIghCkFgA+1utA6jPsngZq4=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/identity/v3", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "lzNsVeWMFxVHVvSR0SBzi6ru16Y=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "47YHl7IRHxbBCUpxQgk+cK00Cgw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "xOJTj1lgQdUoROrziK7pymhLrmk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/fwaas", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "WZfm/gddJp1AeCxL/uW7iS2VVjk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "aCy46ZLnaEYagijwKFVYRr0XNMM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/objectstorage/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "OODadq2goLTOvnfkGmpArbFqKW4=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "AelOk+lCes5xjNZ+cSjzbIHXzQI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "ZjC8iSZRys/ovTOLjzp2O01FTuc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/blockstorage/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "M52ID0aUKYsWAe4BTz4AomcAXFA=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/cdn/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "O8uKBmd9NGqJ2VfOtpGOqnn8bDQ=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/compute/v2", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "1DVXMdhNn3ti6hY1oDIjPnozY0Q=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/db/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "o+AoWmhT5+MjovShX1rRq40tLjg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/identity/v2", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "0nOWeGE7biRXAZ0+eX1xSEFWAzU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/lb/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "Rt903GLBYhWAiQyl28ssNBNZmik=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/networking/v2", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "+4PIwexNdP3BevdkMCZ0WqL18Hg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/objectstorage/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "AUF37+PHWXUlGHci+8x8A3b+sbk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/orchestration/v1", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "JdO3W1y/e9VqyRQgjCg25n0ZDeE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/rackspace/rackconnect/v3", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "AkNgKxDsXqGZCMMBnL82zqbybYw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/acceptance/tools", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "Sr9NH+ww7ZTDfFJF8OBqMSeQfiE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "yPiPNiROHpsWgVRpNoM5TImUij8=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "gmzAuay4zJhVck2kZaPgKGZ8rLU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "a8Bq8DpquWNmB8zP6y7iqM/ogyk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes/testing", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "gMvk7KSWIbwQYcrDv1mfcY9KYbo=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumetypes", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "rpZkXaKPDlPYaRVrFHRSAI0siig=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/base", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "krfc8S26oSEYaUoHIt1fjcIHo6g=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/flavors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "d7JD7cct5182+MFHO4ijMESnr7c=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/serviceassets", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "1A+l65VXAnJY2xbEkA/bzU9sY8U=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/services", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "/K+RHJM5BFeg+3DYsR3WKPh7oVo=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/common/extensions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "PPwPUj78EdIs+24vRMlThGWa6kw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "lxRP3M3GUh35Bb+f8kP/fByBWBo=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "WNzF5+TLj1nXMLPIqtDGhLKlxtg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "kCkaqHFDBuZem57TEmfCpCNeUWs=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/floatingip", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "A8CBSjxtNeXBtM3M51qqs5FMVNE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/keypairs", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "G3pxSBafMhqdqvuDPsctv74nI2M=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "QbXm7h4qu7+A/D6y40XHN4/QUOg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "/CUwRPw3GTR4kDDyhlevEJOz8VM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach/testing", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "C2K3kYQgwa65cVRvWrNZACQFX7Q=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "59nKYOu3eBZn82AWlZUGLwzieeM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/images", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "+GkNX1ZNVOdbevUkfJUt/xGPZU0=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/servers", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "wOH6dbHB1qRyFM2BBrgpjQZbabQ=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/db/v1/configurations", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "8SaBUvX7E2E7ci5Kc2HGLbHJbpA=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/db/v1/databases", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "DU6GxSFEYo6fSRh3ELfyaD7RFYc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/db/v1/datastores", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "b2JxWHJxyLMoycA1xhfwN0QhBCE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/db/v1/flavors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "w+QbOT6qpD2tisDZ9qWt680S580=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/db/v1/instances", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "jHpSn0ALaBhIpGbWz9f0uXWpmxA=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/db/v1/users", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "tLwYOQmnpRXsafqMZ+o2GWs+Fho=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/identity/v2/extensions/admin/roles", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "kBNUmTmGZgMc7RA8b/MfF8mNLrw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "QWhBGvvt47Wpw4qf3bt/rVgXdyw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "zOtsKeSGijKhwekEr+wCBv4oTAs=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/identity/v2/users", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "MKnoVPcRvTrooZtNQwOnJy0bglc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "ZTTJ7HoKP7NP00kE9NQrEJDgh0U=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/apiversions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "EMdUpMYV9vQAEtBkpUdSqYaYBVc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/common", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "rcaeNfXfwSgxp2/cKf70yzd8Ywk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "bzpOT4+WgB5jWOoxMFSZMz3f/Yc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "TTLtPsPv9cXqE3MNDw/1AH8eKJU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "xUTTsfCAWNhd0LA9Jj14hCEhq8Y=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "geb6kqfYLhI4jxaUjyjtrZxwOfw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "LuEBbhG7jYZ6P7yUASISjs6tboE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/networks", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "3dwh+/nX7iknJ0k8B4MnxvQWAYw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/ports", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "Pym7WV1AmFt2ZqlN376xzfxKNcw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/subnets", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "SxVM7MBDDzdUqFjdbso0O+qo2UE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "7rX2pzyS5Z/Wt26TK7H8d+fRRUw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "G/IJJKX+PeFsu85aN9SOtSB0vvM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/objects", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "2e2bNTmc6utyFOv07DJoUB2dfPk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/buildinfo", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "HpKGIKBJZw0JrWJRWBkyAcIJ0RM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackevents", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "hb7URLmewHR+PeR61C+EY9zVNIw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackresources", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "BlhQ6dxMTgwULLm/vinSRJezmrY=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacks", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "EqqAg+fKmGYqEP/69xhOwKi1kPU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacktemplates", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "e4ussrqujJHizWbdBaLjIpWYmgY=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/openstack/utils", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "zNrhzobVrzrPD3NF8K0D8U/J4UM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/pagination", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "2SDCBhUEYKrT7+r4hI9RVlGrG34=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "8kg0wInY1az0iTqd+GCKpG3XUQg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "eTiubus/7HOUNPsnNxUI/ogmQwE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "rJDJKllu6bvoCDQVAnJrwJCJjNA=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "TA6Xq99zptlLbtfF7j0WDXyiz6o=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/base", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "ut2eygda1LSmdU5lLLd21yJTrH4=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "rvtVfU3deKKK5RlTG/PFoB5xUOQ=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "LjLNpMVRRgF/339+2Ku32tG1Yzo=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/services", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "tKW3B2DFGfTuIqdWcfVVX0IDs+w=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/bootfromvolume", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "jMNY0dIsHQHrjVS7gs0WKw1BSHs=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/flavors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "VwcD5e290LAf9+roItDAkloAgig=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/images", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "KEPu1LkH6vw9TczhdvoPOajxxEk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "jkDexhtpQpiwb4IjkmqMAeZEJPE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/networks", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "9nr0+n6ymhLZ5Bb9KY3LC9osBQg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "dCl9rNv2eOAbjbifvTf0Yf9561o=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "elbzMvA7NPJ0bLmxuIwfXyiCPYw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "D9zpEC0499F9lKU9ozDWTC9S3Uk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/backups", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "T/C0wTMDmS1gY5Ffy/qkJ9uqizI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/configurations", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "9ivn7cUu5pyjjBSyhqYTjMesTf8=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/databases", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "uIkmX1DSeZlhXd2ygAF9DVI/HmI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/datastores", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "uhfZd4KjFBvEaz+oXQWk1ywj3WY=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/flavors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "Ty6HqqsQGppG2rt+0JoZrAYlwJE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/instances", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "RCoJQTsNMWBHkaoaEZrafJ67/rk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/db/v1/users", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "8Aab/hG++5PSoWK3t36duCLxsUw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/extensions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "cVYPinS97G1jScdZHG+e1MghC9Y=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/roles", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "lV2JmfGWr8CrFz120LrtCjoyMJw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/tenants", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "nZvGpVUe3zTfT5nhKkJloOud2/I=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "1Y6wnxr3ymmpp1rREFOkiCHZBuw=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/users", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "s0kbTxO+b8Q/W4IGKLDLvE4IFYE=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/acl", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "fZ8htlN77fTt9UxbXT9O6paI7jQ=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/lbs", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "ZSN2NVQ7t/55VC41iJAWoGNwM4o=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/monitors", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "TisEzsu4oElhdD4/hKn2qzeKxYM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/nodes", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "wt7zi3p8zMz5Y4yB9A+j3zbH+tM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/sessions", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "nX0UusQx/oRErgUnchIV9H3LytI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/ssl", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "8xQ+LwDA+c3GWAxO7aD0W5kyxpU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/throttle", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "+WQk5OnhCpuCvQ1y2NmQEJKshnQ=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/vips", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "aCvShlZPancx+xPIvVipGES4hhM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/common", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "Fibuly4yKJgwAg01gKWe3iqLcwk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/networks", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "OL842meIDskaTAvQf1GoLZjI/RY=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/ports", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "KmGSM0LeCPPk0ynwyZFLOcgbxSs=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/security", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "Jj8zDLQMh64YuZAXHseU81MA3tM=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/security/groups", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "onHzb+VbVftO/SGCuvdYzuaC0kI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/security/rules", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "1WyhTU1Frtjl3uaWJABPf875X9k=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/subnets", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "l94c5hWmfDRlGIS4wQsz7GDG7VA=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "dJtFGCGd2dyIl/lTtrh3ilQteg4=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "VmExoI3R/LlqI+f2eLFFFwWeDuY=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "y1kPsDzu5Ev9a6yw+qXnB38ZAQU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "LyGfsSxxhU7t32sfrajnfoDSV84=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "vXxfMIKgYnp/v17CYEcnA/E/va8=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "HqiamT2E7RmWgxFRl/S9MSmuqT0=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "1Qdoi8tHKgjGSbGPqolHk+H4LCA=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "iX55pidwAVQ5HU8gVxWjAmIlHig=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "gSNS23FgzjaAWnekpTL5UvipoXk=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "4nZbwlSQlpsAzfUwJxkfYysK6vc=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "6xzXDlfS2v87X4c/QVXVBUA3XG0=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "kv3b8RspZkCFmPOmFRm7oc33Zwg=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "efhqjDLwS3wORIuTFJwvcEa+7/U=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "2sTaEaJaOoRzliCw53Gv3MsBeEI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "U2yzK8GFNeHZqcoeotcHmK57lAI=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/testhelper", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "fXtvTbQBML8QLu/qpD9sAt53J00=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/testhelper/client", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "eNHRNM4zfTarLJu+3Iq6kE26bmU=", + "comment": "v1.0.0-810-g53d1dc4", + "path": "github.com/rackspace/gophercloud/testhelper/fixture", + "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" + }, + { + "checksumSHA1": "TvF3ym5sZVNqGlUOS9HgOIl/sZM=", + "path": "github.com/satori/go.uuid", + "revision": "d41af8bb6a7704f00bc3b7cba9355ae6a5a80048" + }, + { + "checksumSHA1": "Q2V7Zs3diLmLfmfbiuLpSxETSuY=", + "comment": "v1.1.4-4-g976c720", + "path": "github.com/stretchr/testify/assert", + "revision": "976c720a22c8eb4eb6a0b4348ad85ad12491a506" + }, + { + "checksumSHA1": "GQ9bu6PuydK3Yor1JgtVKUfEJm8=", + "path": "github.com/tent/http-link-go", + "revision": "ac974c61c2f990f4115b119354b5e0b47550e888" + }, + { + "checksumSHA1": "kHoPkdkwngiWKB27/uwq+T/3qv4=", + "path": "github.com/ugorji/go/codec", + "revision": "646ae4a518c1c3be0739df898118d9bccf993858" + }, + { + "checksumSHA1": "bEYlrTiz/7JbUiJgxEIkHynxO2s=", + "path": "github.com/ugorji/go/codec/codecgen", + "revision": "646ae4a518c1c3be0739df898118d9bccf993858" + }, + { + "checksumSHA1": "h+pFYiRHBogczS8/F1NoN3Ata44=", + "path": "golang.org/x/crypto/curve25519", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "MCeXr2RNeiG1XG6V+er1OR0qyeo=", + "path": "golang.org/x/crypto/md4", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "locu61AZ1k1skk45VLE2zpDaVTA=", + "path": "golang.org/x/crypto/ssh", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "XQix3lM21r/Y7my2/4JmTsNeYpQ=", + "path": "golang.org/x/crypto/ssh/agent", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "bA2gANkJBx2Br/p5GKYdhyGo3Pg=", + "path": "golang.org/x/crypto/ssh/terminal", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "jZ8SuQTBHqRpsIl41LiNGlelbK8=", + "path": "golang.org/x/crypto/ssh/test", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "XAFQvSrHUfSm4MHOS+fwSE0cYvQ=", + "path": "golang.org/x/crypto/ssh/testdata", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "checksumSHA1": "5ARrN3Zq+E9zazFb/N+b08Serys=", + "path": "golang.org/x/net/context", + "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" + }, + { + "checksumSHA1": "tHFno3QaRarH85A4DV1FYuWATQI=", + "path": "golang.org/x/net/context/ctxhttp", + "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" + }, + { + "checksumSHA1": "vqc3a+oTUGX8PmD0TS+qQ7gmN8I=", + "path": "golang.org/x/net/html", + "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" + }, + { + "checksumSHA1": "00eQaGynDYrv3tL+C7l9xH0IDZg=", + "path": "golang.org/x/net/html/atom", + "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" + }, + { + "checksumSHA1": "barUU39reQ7LdgYLA323hQ/UGy4=", + "path": "golang.org/x/net/html/charset", + "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" + }, + { + "checksumSHA1": "mktBVED98G2vv+OKcSgtnFVZC1Y=", + "path": "golang.org/x/oauth2", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "fPBsIYI/Lmc9tftrQ/9h4LXUmLk=", + "path": "golang.org/x/oauth2/bitbucket", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "Zx57017uLJOZeYO55zf+61cQsQ8=", + "path": "golang.org/x/oauth2/clientcredentials", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "9fgYIPOCIRhAuQBg65mFoZ2vpMY=", + "path": "golang.org/x/oauth2/facebook", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "Yokz/Wl4zeuOZG2ev8LuaLtMotE=", + "path": "golang.org/x/oauth2/github", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "HSRFs3mt2eHJBaK+6HEEv66xKyA=", + "path": "golang.org/x/oauth2/google", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "st9F4RETvsjcEHmnMvF9XvlAxDE=", + "path": "golang.org/x/oauth2/internal", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "4GaanJZHtrkglrx6a585C3I07+s=", + "path": "golang.org/x/oauth2/jws", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "xifBSq0Pn6pIoPA/o3tyzq8X4Ds=", + "path": "golang.org/x/oauth2/jwt", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "uRGBiwwtNKYTFaTxD33I6Pd7fLo=", + "path": "golang.org/x/oauth2/linkedin", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "aoeqnmNuZdqxHG0/8bhKNLfRaY4=", + "path": "golang.org/x/oauth2/microsoft", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "iSjMTIsWZDjmczkHAX8DqTDFvjU=", + "path": "golang.org/x/oauth2/odnoklassniki", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "bHmlFApFbX9V2IQRvfij76nEl08=", + "path": "golang.org/x/oauth2/paypal", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "W63brRFv51C/l3bLdM65wSSIaF4=", + "path": "golang.org/x/oauth2/vk", + "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" + }, + { + "checksumSHA1": "/SO2lR1gexhKSppnoHk8iflTre4=", + "path": "golang.org/x/sys/unix", + "revision": "50c6bc5e4292a1d4e65c6e9be5f53be28bcbe28e" + }, + { + "checksumSHA1": "hrUTmck0J+LE+lBtCvHvemNDY8U=", + "path": "google.golang.org/api/compute/v1", + "revision": "ff0a1ff302946b997eb1832381419d1f95143483" + }, + { + "checksumSHA1": "0PgeEtxSD/Vg/53Vctpf0Lk9V/k=", + "path": "google.golang.org/api/gensupport", + "revision": "ff0a1ff302946b997eb1832381419d1f95143483" + }, + { + "checksumSHA1": "yQREK/OWrz9PLljbr127+xFk6J0=", + "path": "google.golang.org/api/googleapi", + "revision": "ff0a1ff302946b997eb1832381419d1f95143483" + }, + { + "checksumSHA1": "ii4ET3JHk3vkMUEcg+9t/1RZSUU=", + "path": "google.golang.org/api/googleapi/internal/uritemplates", + "revision": "ff0a1ff302946b997eb1832381419d1f95143483" + }, + { + "checksumSHA1": "Mr2fXhMRzlQCgANFm91s536pG7E=", + "path": "google.golang.org/api/googleapi/transport", + "revision": "ff0a1ff302946b997eb1832381419d1f95143483" + }, + { + "checksumSHA1": "SSYsrizGeHQRKn/S7j5CQu86egU=", + "path": "google.golang.org/appengine", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "lUMNbQrJgtM86CkF1kNvsFrtnaw=", + "path": "google.golang.org/appengine/aetest", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "GvwLb297MFrdos7BdHVBCWhnSDg=", + "path": "google.golang.org/appengine/blobstore", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "KROc+ihOImO6cGnRm6sIU4DKjQg=", + "path": "google.golang.org/appengine/capability", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "SKwJgVM9l3vQLIO+GVh9OeAvwo0=", + "path": "google.golang.org/appengine/channel", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "o5/eadbmyjeySOiFt1fFGsQdXt0=", + "path": "google.golang.org/appengine/cloudsql", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "AlZOauBtUhymDxEOxlfKN9111aI=", + "path": "google.golang.org/appengine/cmd/aebundler", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "vVXUSf9nSmmjYXcQHnrBXIf/RTY=", + "path": "google.golang.org/appengine/cmd/aedeploy", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "VvslAadlHQLVoBi7H2tAJFuIhPY=", + "path": "google.golang.org/appengine/datastore", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "IEAqKrUxJ4TYp3MHD1FAqOAWQVE=", + "path": "google.golang.org/appengine/delay", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "ClI914FfJcioPLxuJoefqxdw2Ho=", + "path": "google.golang.org/appengine/demos/guestbook", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "MvaATTS7BF6npf0VpAN/qmfjJhU=", + "path": "google.golang.org/appengine/demos/helloworld", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "pY5wDtqfVGbLFAeJyKMJ7Yllk4o=", + "path": "google.golang.org/appengine/file", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "RW7gR9A3aN50D9cqflJ6MRC1EOk=", + "path": "google.golang.org/appengine/image", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "kfslaLecTWjN5Nrm/RqxgwXvgeY=", + "path": "google.golang.org/appengine/internal", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "rccBu+HNVpDlx0z1EtcOWUM5OME=", + "path": "google.golang.org/appengine/internal/aetesting", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "x6Thdfyasqd68dWZWqzWWeIfAfI=", + "path": "google.golang.org/appengine/internal/app_identity", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "TsNO8P0xUlLNyh3Ic/tzSp/fDWM=", + "path": "google.golang.org/appengine/internal/base", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "76PWbSiT75S2BBUzPK52HKcW9sg=", + "path": "google.golang.org/appengine/internal/blobstore", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "CLgrNgL36hv5xLVE9IEQy4AjWYw=", + "path": "google.golang.org/appengine/internal/capability", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "Wjvv55C/+cuHvvQ5NW8R7/giBOU=", + "path": "google.golang.org/appengine/internal/channel", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "5QsV5oLGSfKZqTCVXP6NRz5T4Tw=", + "path": "google.golang.org/appengine/internal/datastore", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "KFJ3Bz/2uK8nFDluyYHKl3Xykow=", + "path": "google.golang.org/appengine/internal/image", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "Gep2T9zmVYV8qZfK2gu3zrmG6QE=", + "path": "google.golang.org/appengine/internal/log", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "FumUU79/bWRSdlhS2Y48XyOGCS4=", + "path": "google.golang.org/appengine/internal/mail", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "QN2EMadl/pJXIja5jC3cvnN1l3U=", + "path": "google.golang.org/appengine/internal/memcache", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "eLZVX1EHLclFtQnjDIszsdyWRHo=", + "path": "google.golang.org/appengine/internal/modules", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "a1XY7rz3BieOVqVI2Et6rKiwQCk=", + "path": "google.golang.org/appengine/internal/remote_api", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "B4fxq+DLndPRJw+wkxj3Zrn6c70=", + "path": "google.golang.org/appengine/internal/search", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "VA88sOHmVuIslrbHaWx9yEvjGjM=", + "path": "google.golang.org/appengine/internal/socket", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "UErkg+8RvQZASGsAq6xdKjnbKnc=", + "path": "google.golang.org/appengine/internal/system", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "ZlVWUCoz/8nF50q2OuJj+ilJIII=", + "path": "google.golang.org/appengine/internal/taskqueue", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "QtAbHtHmDzcf6vOV9eqlCpKgjiw=", + "path": "google.golang.org/appengine/internal/urlfetch", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "g85w5xA09gP549b5BnCSYK23kAU=", + "path": "google.golang.org/appengine/internal/user", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "npD+xhpAOLfjBGjplMjdFOMIAr8=", + "path": "google.golang.org/appengine/internal/xmpp", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "piNG4dTjR7jcimOvvnZhXXPMGzQ=", + "path": "google.golang.org/appengine/log", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "y8a/9bW2RVnb/jR/Bx66KKbvuE0=", + "path": "google.golang.org/appengine/mail", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "f0Cs5ZY6lAh3BQ9NGZjyIwPOLE0=", + "path": "google.golang.org/appengine/memcache", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "rfDK0h+VNkIIEPy64h0iHLW2uZs=", + "path": "google.golang.org/appengine/module", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "jy+Tg/lMz5Vav7uwvLAjGBN99i8=", + "path": "google.golang.org/appengine/remote_api", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "6tN3fEnPgMxk1Td4IuK59XJ9jvs=", + "path": "google.golang.org/appengine/runtime", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "AHcpjrSvTq7AjCio902rIffh/cc=", + "path": "google.golang.org/appengine/search", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "yYJsQu0PKS9DkY4KD+Ed3mhZQvo=", + "path": "google.golang.org/appengine/socket", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "wb7ODzrwSvc8DjrRVYuwPwNLf1A=", + "path": "google.golang.org/appengine/taskqueue", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "akOV9pYnCbcPA8wJUutSQVibdyg=", + "path": "google.golang.org/appengine/urlfetch", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "PnGkXjb1s3lGfbSBkAn5mRDXeiI=", + "path": "google.golang.org/appengine/user", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "PYD0kemGmoBzQUS38rLOsCZnnyU=", + "path": "google.golang.org/appengine/xmpp", + "revision": "6bde959377a90acb53366051d7d587bfd7171354" + }, + { + "checksumSHA1": "SszVm8jmAyX2M3WgXcmnXLnxQiA=", + "path": "google.golang.org/cloud/compute/metadata", + "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" + }, + { + "checksumSHA1": "U7dGDNwEHORvJFMoNSXErKE7ITg=", + "path": "google.golang.org/cloud/internal", + "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" + }, + { + "checksumSHA1": "pd2U+heOVKcgGR8IF3yTdzzGbUc=", + "path": "google.golang.org/cloud/internal/datastore", + "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" + }, + { + "checksumSHA1": "sYR6mMwX7a3dCYpIWUoe7pZ4yxU=", + "path": "google.golang.org/cloud/internal/opts", + "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" + }, + { + "checksumSHA1": "cQCt8JJ0RSy8ahziv7eL1Ftz2ys=", + "path": "google.golang.org/cloud/internal/testutil", + "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" + }, + { + "checksumSHA1": "tNmeleIWZe+HirBxokHO0KpSon8=", + "path": "google.golang.org/cloud/internal/transport", + "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" + }, + { + "checksumSHA1": "gY2M/3SCxqgrPz+P/N6JQ+m/wnA=", + "path": "gopkg.in/xmlpath.v2", + "revision": "860cbeca3ebcc600db0b213c0e83ad6ce91f5739" + }, + { + "checksumSHA1": "0dDWcU08d0FS4d99NCgCkGLjjqw=", + "path": "gopkg.in/xmlpath.v2/cmd/webpath", + "revision": "860cbeca3ebcc600db0b213c0e83ad6ce91f5739" + } + ], + "rootPath": "github.com/mitchellh/packer" +} From 9ff9539d729b2210fcfe0d1651b4e205723f0c9d Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Wed, 5 Oct 2016 14:07:50 -0700 Subject: [PATCH 06/10] Ignores appengine The appengine imports cause govendor to fail since it's imported as "appengine". We get failures like: Error: Package "appengine" not a go package or not in GOPATH. If we ignore it, the issue goes away and we can still comple --- vendor/vendor.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/vendor.json b/vendor/vendor.json index e770f7ced..228689304 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -1,6 +1,6 @@ { "comment": "", - "ignore": "test", + "ignore": "test appengine", "package": [ { "checksumSHA1": "/WG++Jij8INZ80tER+FAiIDMmws=", From fb8ced982a211d2bf3d0bf21c58748267e79e58e Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Wed, 5 Oct 2016 14:15:57 -0700 Subject: [PATCH 07/10] removes vendor make target documents how to correctly add deps removes unused dependencies installs govendor as part of deps make target --- CONTRIBUTING.md | 5 + Makefile | 5 +- .../digitalocean/godo/util/droplet.go | 47 - .../protobuf/proto/proto3_proto/proto3.pb.go | 122 - .../protobuf/proto/proto3_proto/proto3.proto | 68 - .../jmespath/go-jmespath/fuzz/jmespath.go | 13 - .../klauspost/cpuid/private/README.md | 6 - .../klauspost/cpuid/private/cpuid.go | 987 - .../klauspost/cpuid/private/cpuid_386.s | 40 - .../klauspost/cpuid/private/cpuid_amd64.s | 40 - .../cpuid/private/cpuid_detect_intel.go | 17 - .../cpuid/private/cpuid_detect_ref.go | 23 - .../github.com/pierrec/lz4/fuzz/lz4-fuzz.zip | Bin 2361685 -> 0 bytes vendor/github.com/pierrec/lz4/fuzz/lz4.go | 45 - .../acceptance/openstack/compute/v2/pkg.go | 3 - .../acceptance/openstack/db/v1/common.go | 70 - .../acceptance/openstack/db/v1/pkg.go | 1 - .../acceptance/openstack/identity/v2/pkg.go | 1 - .../acceptance/openstack/identity/v3/pkg.go | 1 - .../openstack/networking/v2/common.go | 39 - .../networking/v2/extensions/fwaas/pkg.go | 1 - .../networking/v2/extensions/lbaas/common.go | 78 - .../networking/v2/extensions/lbaas/pkg.go | 1 - .../openstack/networking/v2/extensions/pkg.go | 1 - .../acceptance/openstack/networking/v2/pkg.go | 1 - .../openstack/objectstorage/v1/common.go | 28 - .../openstack/orchestration/v1/common.go | 44 - .../orchestration/v1/hello-compute.json | 13 - .../gophercloud/acceptance/openstack/pkg.go | 4 - .../rackspace/blockstorage/v1/common.go | 38 - .../acceptance/rackspace/cdn/v1/common.go | 23 - .../acceptance/rackspace/compute/v2/pkg.go | 1 - .../acceptance/rackspace/db/v1/common.go | 73 - .../acceptance/rackspace/db/v1/pkg.go | 1 - .../acceptance/rackspace/identity/v2/pkg.go | 1 - .../acceptance/rackspace/lb/v1/common.go | 62 - .../rackspace/networking/v2/common.go | 39 - .../rackspace/objectstorage/v1/common.go | 54 - .../rackspace/orchestration/v1/common.go | 45 - .../gophercloud/acceptance/rackspace/pkg.go | 1 - .../rackspace/rackconnect/v3/common.go | 26 - .../gophercloud/acceptance/tools/pkg.go | 1 - .../gophercloud/acceptance/tools/tools.go | 89 - .../gophercloud/rackspace/auth_env.go | 57 - .../blockstorage/v1/snapshots/delegate.go | 131 - .../blockstorage/v1/snapshots/doc.go | 3 - .../blockstorage/v1/snapshots/results.go | 147 - .../blockstorage/v1/volumes/delegate.go | 75 - .../rackspace/blockstorage/v1/volumes/doc.go | 3 - .../blockstorage/v1/volumes/results.go | 66 - .../blockstorage/v1/volumetypes/delegate.go | 18 - .../blockstorage/v1/volumetypes/doc.go | 3 - .../blockstorage/v1/volumetypes/results.go | 37 - .../rackspace/cdn/v1/base/delegate.go | 18 - .../gophercloud/rackspace/cdn/v1/base/doc.go | 4 - .../rackspace/cdn/v1/flavors/delegate.go | 18 - .../rackspace/cdn/v1/flavors/doc.go | 6 - .../cdn/v1/serviceassets/delegate.go | 13 - .../rackspace/cdn/v1/serviceassets/doc.go | 7 - .../rackspace/cdn/v1/services/delegate.go | 37 - .../rackspace/cdn/v1/services/doc.go | 7 - .../rackspace/gophercloud/rackspace/client.go | 224 - .../compute/v2/bootfromvolume/delegate.go | 12 - .../rackspace/compute/v2/flavors/delegate.go | 43 - .../rackspace/compute/v2/flavors/doc.go | 3 - .../rackspace/compute/v2/flavors/fixtures.go | 137 - .../rackspace/compute/v2/flavors/results.go | 104 - .../rackspace/compute/v2/flavors/urls.go | 9 - .../rackspace/compute/v2/images/delegate.go | 22 - .../rackspace/compute/v2/images/doc.go | 3 - .../rackspace/compute/v2/images/fixtures.go | 200 - .../rackspace/compute/v2/keypairs/delegate.go | 33 - .../rackspace/compute/v2/keypairs/doc.go | 3 - .../rackspace/compute/v2/networks/doc.go | 3 - .../rackspace/compute/v2/networks/requests.go | 89 - .../rackspace/compute/v2/networks/results.go | 81 - .../rackspace/compute/v2/networks/urls.go | 27 - .../rackspace/compute/v2/servers/delegate.go | 116 - .../rackspace/compute/v2/servers/doc.go | 3 - .../rackspace/compute/v2/servers/fixtures.go | 574 - .../rackspace/compute/v2/servers/requests.go | 178 - .../compute/v2/virtualinterfaces/requests.go | 45 - .../compute/v2/virtualinterfaces/results.go | 81 - .../compute/v2/virtualinterfaces/urls.go | 15 - .../compute/v2/volumeattach/delegate.go | 27 - .../rackspace/compute/v2/volumeattach/doc.go | 3 - .../rackspace/db/v1/backups/doc.go | 6 - .../rackspace/db/v1/backups/fixtures.go | 66 - .../rackspace/db/v1/backups/requests.go | 138 - .../rackspace/db/v1/backups/results.go | 149 - .../rackspace/db/v1/backups/urls.go | 11 - .../db/v1/configurations/delegate.go | 79 - .../rackspace/db/v1/configurations/doc.go | 1 - .../db/v1/configurations/fixtures.go | 159 - .../rackspace/db/v1/databases/delegate.go | 19 - .../rackspace/db/v1/databases/doc.go | 3 - .../rackspace/db/v1/databases/urls.go | 1 - .../rackspace/db/v1/datastores/delegate.go | 28 - .../rackspace/db/v1/datastores/doc.go | 1 - .../rackspace/db/v1/flavors/delegate.go | 17 - .../rackspace/db/v1/flavors/doc.go | 3 - .../rackspace/db/v1/instances/delegate.go | 49 - .../rackspace/db/v1/instances/doc.go | 3 - .../rackspace/db/v1/instances/fixtures.go | 340 - .../rackspace/db/v1/instances/requests.go | 199 - .../rackspace/db/v1/instances/results.go | 191 - .../rackspace/db/v1/instances/urls.go | 23 - .../rackspace/db/v1/users/delegate.go | 16 - .../gophercloud/rackspace/db/v1/users/doc.go | 3 - .../rackspace/db/v1/users/fixtures.go | 77 - .../rackspace/db/v1/users/requests.go | 176 - .../rackspace/db/v1/users/results.go | 149 - .../gophercloud/rackspace/db/v1/users/urls.go | 19 - .../identity/v2/extensions/delegate.go | 24 - .../rackspace/identity/v2/extensions/doc.go | 3 - .../rackspace/identity/v2/roles/delegate.go | 50 - .../rackspace/identity/v2/roles/fixtures.go | 49 - .../rackspace/identity/v2/tenants/delegate.go | 17 - .../rackspace/identity/v2/tenants/doc.go | 3 - .../rackspace/identity/v2/tokens/delegate.go | 60 - .../rackspace/identity/v2/tokens/doc.go | 3 - .../rackspace/identity/v2/users/delegate.go | 142 - .../rackspace/identity/v2/users/fixtures.go | 154 - .../rackspace/identity/v2/users/results.go | 129 - .../rackspace/identity/v2/users/urls.go | 7 - .../gophercloud/rackspace/lb/v1/acl/doc.go | 12 - .../rackspace/lb/v1/acl/fixtures.go | 109 - .../rackspace/lb/v1/acl/requests.go | 111 - .../rackspace/lb/v1/acl/results.go | 72 - .../gophercloud/rackspace/lb/v1/acl/urls.go | 20 - .../gophercloud/rackspace/lb/v1/lbs/doc.go | 44 - .../rackspace/lb/v1/lbs/fixtures.go | 584 - .../rackspace/lb/v1/lbs/requests.go | 497 - .../rackspace/lb/v1/lbs/results.go | 420 - .../gophercloud/rackspace/lb/v1/lbs/urls.go | 49 - .../rackspace/lb/v1/monitors/doc.go | 21 - .../rackspace/lb/v1/monitors/fixtures.go | 87 - .../rackspace/lb/v1/monitors/requests.go | 160 - .../rackspace/lb/v1/monitors/results.go | 90 - .../rackspace/lb/v1/monitors/urls.go | 16 - .../gophercloud/rackspace/lb/v1/nodes/doc.go | 35 - .../rackspace/lb/v1/nodes/fixtures.go | 243 - .../rackspace/lb/v1/nodes/requests.go | 286 - .../rackspace/lb/v1/nodes/results.go | 213 - .../gophercloud/rackspace/lb/v1/nodes/urls.go | 25 - .../rackspace/lb/v1/sessions/doc.go | 30 - .../rackspace/lb/v1/sessions/fixtures.go | 59 - .../rackspace/lb/v1/sessions/requests.go | 63 - .../rackspace/lb/v1/sessions/results.go | 58 - .../rackspace/lb/v1/sessions/urls.go | 16 - .../gophercloud/rackspace/lb/v1/ssl/doc.go | 22 - .../rackspace/lb/v1/ssl/fixtures.go | 196 - .../rackspace/lb/v1/ssl/requests.go | 247 - .../rackspace/lb/v1/ssl/results.go | 148 - .../gophercloud/rackspace/lb/v1/ssl/urls.go | 25 - .../rackspace/lb/v1/throttle/doc.go | 5 - .../rackspace/lb/v1/throttle/fixtures.go | 62 - .../rackspace/lb/v1/throttle/requests.go | 76 - .../rackspace/lb/v1/throttle/results.go | 43 - .../rackspace/lb/v1/throttle/urls.go | 16 - .../gophercloud/rackspace/lb/v1/vips/doc.go | 13 - .../rackspace/lb/v1/vips/fixtures.go | 88 - .../rackspace/lb/v1/vips/requests.go | 97 - .../rackspace/lb/v1/vips/results.go | 89 - .../gophercloud/rackspace/lb/v1/vips/urls.go | 20 - .../networking/v2/common/common_tests.go | 12 - .../networking/v2/networks/delegate.go | 41 - .../rackspace/networking/v2/ports/delegate.go | 43 - .../rackspace/networking/v2/security/doc.go | 32 - .../networking/v2/security/groups/delegate.go | 30 - .../networking/v2/security/rules/delegate.go | 30 - .../networking/v2/subnets/delegate.go | 40 - .../objectstorage/v1/accounts/delegate.go | 39 - .../objectstorage/v1/accounts/doc.go | 3 - .../rackspace/objectstorage/v1/bulk/doc.go | 3 - .../objectstorage/v1/bulk/requests.go | 51 - .../objectstorage/v1/bulk/results.go | 28 - .../rackspace/objectstorage/v1/bulk/urls.go | 11 - .../v1/cdncontainers/delegate.go | 38 - .../objectstorage/v1/cdncontainers/doc.go | 3 - .../v1/cdncontainers/requests.go | 161 - .../objectstorage/v1/cdncontainers/results.go | 149 - .../objectstorage/v1/cdncontainers/urls.go | 15 - .../objectstorage/v1/cdnobjects/delegate.go | 11 - .../objectstorage/v1/cdnobjects/doc.go | 3 - .../objectstorage/v1/cdnobjects/request.go | 15 - .../objectstorage/v1/containers/delegate.go | 93 - .../objectstorage/v1/containers/doc.go | 3 - .../objectstorage/v1/objects/delegate.go | 94 - .../rackspace/objectstorage/v1/objects/doc.go | 3 - .../orchestration/v1/buildinfo/delegate.go | 11 - .../orchestration/v1/buildinfo/doc.go | 2 - .../orchestration/v1/stackevents/delegate.go | 27 - .../orchestration/v1/stackevents/doc.go | 3 - .../v1/stackresources/delegate.go | 42 - .../orchestration/v1/stackresources/doc.go | 5 - .../orchestration/v1/stacks/delegate.go | 49 - .../rackspace/orchestration/v1/stacks/doc.go | 8 - .../orchestration/v1/stacks/fixtures.go | 32 - .../v1/stacktemplates/delegate.go | 16 - .../orchestration/v1/stacktemplates/doc.go | 8 - .../rackconnect/v3/cloudnetworks/requests.go | 24 - .../rackconnect/v3/cloudnetworks/results.go | 113 - .../rackconnect/v3/cloudnetworks/urls.go | 11 - .../rackspace/rackconnect/v3/doc.go | 4 - .../rackspace/rackconnect/v3/lbpools/doc.go | 14 - .../rackconnect/v3/lbpools/requests.go | 146 - .../rackconnect/v3/lbpools/results.go | 505 - .../rackspace/rackconnect/v3/lbpools/urls.go | 49 - .../rackconnect/v3/publicips/requests.go | 50 - .../rackconnect/v3/publicips/results.go | 221 - .../rackconnect/v3/publicips/urls.go | 25 - vendor/github.com/stretchr/testify/.gitignore | 24 - .../github.com/stretchr/testify/.travis.yml | 15 - .../github.com/stretchr/testify/LICENCE.txt | 22 - vendor/github.com/stretchr/testify/LICENSE | 22 - vendor/github.com/stretchr/testify/README.md | 332 - vendor/github.com/stretchr/testify/doc.go | 22 - .../github.com/stretchr/testify/http/doc.go | 2 - .../testify/http/test_response_writer.go | 49 - .../testify/http/test_round_tripper.go | 17 - .../github.com/stretchr/testify/mock/doc.go | 44 - .../github.com/stretchr/testify/mock/mock.go | 693 - .../stretchr/testify/require/doc.go | 28 - .../testify/require/forward_requirements.go | 16 - .../stretchr/testify/require/require.go | 464 - .../stretchr/testify/require/require.go.tmpl | 6 - .../testify/require/require_forward.go | 388 - .../testify/require/require_forward.go.tmpl | 4 - .../stretchr/testify/require/requirements.go | 9 - .../github.com/stretchr/testify/suite/doc.go | 65 - .../stretchr/testify/suite/interfaces.go | 34 - .../stretchr/testify/suite/suite.go | 115 - .../x/crypto/ssh/terminal/terminal.go | 892 - .../golang.org/x/crypto/ssh/terminal/util.go | 128 - .../x/crypto/ssh/terminal/util_bsd.go | 12 - .../x/crypto/ssh/terminal/util_linux.go | 11 - .../x/crypto/ssh/terminal/util_windows.go | 174 - vendor/golang.org/x/crypto/ssh/test/doc.go | 7 - .../golang.org/x/crypto/ssh/testdata/doc.go | 8 - .../golang.org/x/crypto/ssh/testdata/keys.go | 43 - .../golang.org/x/net/html/charset/charset.go | 257 - vendor/golang.org/x/net/http2/.gitignore | 2 - vendor/golang.org/x/net/http2/Dockerfile | 51 - vendor/golang.org/x/net/http2/Makefile | 3 - vendor/golang.org/x/net/http2/README | 20 - .../x/net/http2/client_conn_pool.go | 225 - .../x/net/http2/configure_transport.go | 89 - vendor/golang.org/x/net/http2/errors.go | 90 - vendor/golang.org/x/net/http2/fixed_buffer.go | 60 - vendor/golang.org/x/net/http2/flow.go | 50 - vendor/golang.org/x/net/http2/frame.go | 1269 - vendor/golang.org/x/net/http2/go15.go | 11 - vendor/golang.org/x/net/http2/gotrack.go | 170 - vendor/golang.org/x/net/http2/headermap.go | 78 - vendor/golang.org/x/net/http2/hpack/encode.go | 251 - vendor/golang.org/x/net/http2/hpack/hpack.go | 533 - .../golang.org/x/net/http2/hpack/huffman.go | 190 - vendor/golang.org/x/net/http2/hpack/tables.go | 352 - vendor/golang.org/x/net/http2/http2.go | 429 - vendor/golang.org/x/net/http2/not_go15.go | 11 - vendor/golang.org/x/net/http2/not_go16.go | 13 - vendor/golang.org/x/net/http2/pipe.go | 147 - vendor/golang.org/x/net/http2/server.go | 2308 - vendor/golang.org/x/net/http2/transport.go | 1710 - vendor/golang.org/x/net/http2/write.go | 263 - vendor/golang.org/x/net/http2/writesched.go | 283 - .../x/net/internal/timeseries/timeseries.go | 525 - vendor/golang.org/x/net/trace/events.go | 524 - vendor/golang.org/x/net/trace/histogram.go | 356 - vendor/golang.org/x/net/trace/trace.go | 1059 - .../x/oauth2/bitbucket/bitbucket.go | 16 - .../clientcredentials/clientcredentials.go | 112 - .../golang.org/x/oauth2/facebook/facebook.go | 16 - vendor/golang.org/x/oauth2/github/github.go | 16 - .../golang.org/x/oauth2/linkedin/linkedin.go | 16 - .../x/oauth2/microsoft/microsoft.go | 16 - .../x/oauth2/odnoklassniki/odnoklassniki.go | 16 - vendor/golang.org/x/oauth2/paypal/paypal.go | 22 - vendor/golang.org/x/oauth2/vk/vk.go | 16 - vendor/golang.org/x/text/LICENSE | 27 - vendor/golang.org/x/text/PATENTS | 22 - .../x/text/encoding/charmap/charmap.go | 209 - .../x/text/encoding/charmap/maketables.go | 492 - .../x/text/encoding/charmap/tables.go | 6002 --- vendor/golang.org/x/text/encoding/encoding.go | 335 - .../x/text/encoding/htmlindex/gen.go | 167 - .../x/text/encoding/htmlindex/htmlindex.go | 86 - .../x/text/encoding/htmlindex/map.go | 105 - .../x/text/encoding/htmlindex/tables.go | 352 - .../text/encoding/internal/identifier/gen.go | 137 - .../internal/identifier/identifier.go | 81 - .../text/encoding/internal/identifier/mib.go | 1621 - .../x/text/encoding/internal/internal.go | 75 - .../x/text/encoding/japanese/all.go | 12 - .../x/text/encoding/japanese/eucjp.go | 211 - .../x/text/encoding/japanese/iso2022jp.go | 296 - .../x/text/encoding/japanese/maketables.go | 161 - .../x/text/encoding/japanese/shiftjis.go | 189 - .../x/text/encoding/japanese/tables.go | 26971 ---------- .../x/text/encoding/korean/euckr.go | 178 - .../x/text/encoding/korean/maketables.go | 143 - .../x/text/encoding/korean/tables.go | 34152 ------------ .../x/text/encoding/simplifiedchinese/all.go | 12 - .../x/text/encoding/simplifiedchinese/gbk.go | 281 - .../encoding/simplifiedchinese/hzgb2312.go | 240 - .../encoding/simplifiedchinese/maketables.go | 161 - .../text/encoding/simplifiedchinese/tables.go | 43999 ---------------- .../text/encoding/traditionalchinese/big5.go | 198 - .../encoding/traditionalchinese/maketables.go | 140 - .../encoding/traditionalchinese/tables.go | 37142 ------------- .../x/text/encoding/unicode/override.go | 82 - .../x/text/encoding/unicode/unicode.go | 431 - vendor/golang.org/x/text/internal/tag/tag.go | 100 - .../internal/utf8internal/utf8internal.go | 87 - vendor/golang.org/x/text/language/Makefile | 16 - vendor/golang.org/x/text/language/common.go | 16 - vendor/golang.org/x/text/language/coverage.go | 197 - .../golang.org/x/text/language/gen_common.go | 20 - .../golang.org/x/text/language/gen_index.go | 153 - vendor/golang.org/x/text/language/go1_1.go | 38 - vendor/golang.org/x/text/language/go1_2.go | 11 - vendor/golang.org/x/text/language/index.go | 725 - vendor/golang.org/x/text/language/language.go | 975 - vendor/golang.org/x/text/language/lookup.go | 396 - .../golang.org/x/text/language/maketables.go | 1625 - vendor/golang.org/x/text/language/match.go | 840 - vendor/golang.org/x/text/language/parse.go | 859 - vendor/golang.org/x/text/language/tables.go | 2741 - vendor/golang.org/x/text/language/tags.go | 143 - vendor/golang.org/x/text/runes/cond.go | 126 - vendor/golang.org/x/text/runes/runes.go | 278 - .../golang.org/x/text/transform/transform.go | 630 - .../api/googleapi/transport/apikey.go | 38 - .../google.golang.org/appengine/aetest/doc.go | 42 - .../appengine/aetest/instance.go | 51 - .../appengine/aetest/instance_classic.go | 21 - .../appengine/aetest/instance_vm.go | 276 - .../appengine/aetest/user.go | 36 - .../appengine/blobstore/blobstore.go | 276 - .../appengine/blobstore/read.go | 160 - .../appengine/capability/capability.go | 52 - .../appengine/channel/channel.go | 83 - .../appengine/cloudsql/cloudsql.go | 62 - .../appengine/cloudsql/cloudsql_classic.go | 17 - .../appengine/cloudsql/cloudsql_vm.go | 16 - .../appengine/delay/delay.go | 275 - .../google.golang.org/appengine/file/file.go | 28 - .../appengine/image/image.go | 67 - .../appengine/internal/aetesting/fake.go | 80 - .../blobstore/blobstore_service.pb.go | 347 - .../blobstore/blobstore_service.proto | 71 - .../capability/capability_service.pb.go | 125 - .../capability/capability_service.proto | 28 - .../internal/channel/channel_service.pb.go | 154 - .../internal/channel/channel_service.proto | 30 - .../internal/image/images_service.pb.go | 845 - .../internal/image/images_service.proto | 162 - .../internal/mail/mail_service.pb.go | 229 - .../internal/mail/mail_service.proto | 45 - .../internal/memcache/memcache_service.pb.go | 938 - .../internal/memcache/memcache_service.proto | 165 - .../appengine/internal/search/search.pb.go | 2127 - .../appengine/internal/search/search.proto | 388 - .../internal/socket/socket_service.pb.go | 1858 - .../internal/socket/socket_service.proto | 460 - .../internal/system/system_service.pb.go | 198 - .../internal/system/system_service.proto | 49 - .../taskqueue/taskqueue_service.pb.go | 1888 - .../taskqueue/taskqueue_service.proto | 342 - .../internal/urlfetch/urlfetch_service.pb.go | 355 - .../internal/urlfetch/urlfetch_service.proto | 64 - .../internal/xmpp/xmpp_service.pb.go | 427 - .../internal/xmpp/xmpp_service.proto | 83 - .../google.golang.org/appengine/mail/mail.go | 123 - .../appengine/memcache/memcache.go | 526 - .../appengine/module/module.go | 113 - .../appengine/remote_api/client.go | 174 - .../appengine/remote_api/remote_api.go | 152 - .../appengine/runtime/runtime.go | 148 - .../google.golang.org/appengine/search/doc.go | 205 - .../appengine/search/field.go | 82 - .../appengine/search/search.go | 1109 - .../appengine/search/struct.go | 245 - .../google.golang.org/appengine/socket/doc.go | 10 - .../appengine/socket/socket_classic.go | 290 - .../appengine/socket/socket_vm.go | 64 - .../appengine/taskqueue/taskqueue.go | 496 - .../appengine/urlfetch/urlfetch.go | 210 - .../google.golang.org/appengine/xmpp/xmpp.go | 253 - vendor/google.golang.org/cloud/LICENSE | 202 - .../internal/datastore/datastore_v1.pb.go | 1633 - .../internal/datastore/datastore_v1.proto | 606 - .../cloud/internal/opts/option.go | 25 - .../cloud/internal/testutil/context.go | 71 - .../cloud/internal/transport/cancelreq.go | 29 - .../internal/transport/cancelreq_legacy.go | 31 - .../cloud/internal/transport/dial.go | 135 - .../cloud/internal/transport/proto.go | 80 - vendor/vendor.json | 1050 - 400 files changed, 8 insertions(+), 215112 deletions(-) delete mode 100644 vendor/github.com/digitalocean/godo/util/droplet.go delete mode 100644 vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go delete mode 100644 vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.proto delete mode 100644 vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go delete mode 100644 vendor/github.com/klauspost/cpuid/private/README.md delete mode 100644 vendor/github.com/klauspost/cpuid/private/cpuid.go delete mode 100644 vendor/github.com/klauspost/cpuid/private/cpuid_386.s delete mode 100644 vendor/github.com/klauspost/cpuid/private/cpuid_amd64.s delete mode 100644 vendor/github.com/klauspost/cpuid/private/cpuid_detect_intel.go delete mode 100644 vendor/github.com/klauspost/cpuid/private/cpuid_detect_ref.go delete mode 100644 vendor/github.com/pierrec/lz4/fuzz/lz4-fuzz.zip delete mode 100755 vendor/github.com/pierrec/lz4/fuzz/lz4.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/compute/v2/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v2/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v3/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/fwaas/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/objectstorage/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/hello-compute.json delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/openstack/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/blockstorage/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/cdn/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/compute/v2/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/identity/v2/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/lb/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/networking/v2/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/objectstorage/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/orchestration/v1/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/rackspace/rackconnect/v3/common.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/tools/pkg.go delete mode 100644 vendor/github.com/rackspace/gophercloud/acceptance/tools/tools.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/auth_env.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/client.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/bootfromvolume/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/common/common_tests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/networks/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/ports/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/groups/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/rules/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/subnets/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/request.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/fixtures.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/delegate.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/doc.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/urls.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/requests.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/results.go delete mode 100644 vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/urls.go delete mode 100644 vendor/github.com/stretchr/testify/.gitignore delete mode 100644 vendor/github.com/stretchr/testify/.travis.yml delete mode 100644 vendor/github.com/stretchr/testify/LICENCE.txt delete mode 100644 vendor/github.com/stretchr/testify/LICENSE delete mode 100644 vendor/github.com/stretchr/testify/README.md delete mode 100644 vendor/github.com/stretchr/testify/doc.go delete mode 100644 vendor/github.com/stretchr/testify/http/doc.go delete mode 100644 vendor/github.com/stretchr/testify/http/test_response_writer.go delete mode 100644 vendor/github.com/stretchr/testify/http/test_round_tripper.go delete mode 100644 vendor/github.com/stretchr/testify/mock/doc.go delete mode 100644 vendor/github.com/stretchr/testify/mock/mock.go delete mode 100644 vendor/github.com/stretchr/testify/require/doc.go delete mode 100644 vendor/github.com/stretchr/testify/require/forward_requirements.go delete mode 100644 vendor/github.com/stretchr/testify/require/require.go delete mode 100644 vendor/github.com/stretchr/testify/require/require.go.tmpl delete mode 100644 vendor/github.com/stretchr/testify/require/require_forward.go delete mode 100644 vendor/github.com/stretchr/testify/require/require_forward.go.tmpl delete mode 100644 vendor/github.com/stretchr/testify/require/requirements.go delete mode 100644 vendor/github.com/stretchr/testify/suite/doc.go delete mode 100644 vendor/github.com/stretchr/testify/suite/interfaces.go delete mode 100644 vendor/github.com/stretchr/testify/suite/suite.go delete mode 100644 vendor/golang.org/x/crypto/ssh/terminal/terminal.go delete mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util.go delete mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go delete mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_linux.go delete mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_windows.go delete mode 100644 vendor/golang.org/x/crypto/ssh/test/doc.go delete mode 100644 vendor/golang.org/x/crypto/ssh/testdata/doc.go delete mode 100644 vendor/golang.org/x/crypto/ssh/testdata/keys.go delete mode 100644 vendor/golang.org/x/net/html/charset/charset.go delete mode 100644 vendor/golang.org/x/net/http2/.gitignore delete mode 100644 vendor/golang.org/x/net/http2/Dockerfile delete mode 100644 vendor/golang.org/x/net/http2/Makefile delete mode 100644 vendor/golang.org/x/net/http2/README delete mode 100644 vendor/golang.org/x/net/http2/client_conn_pool.go delete mode 100644 vendor/golang.org/x/net/http2/configure_transport.go delete mode 100644 vendor/golang.org/x/net/http2/errors.go delete mode 100644 vendor/golang.org/x/net/http2/fixed_buffer.go delete mode 100644 vendor/golang.org/x/net/http2/flow.go delete mode 100644 vendor/golang.org/x/net/http2/frame.go delete mode 100644 vendor/golang.org/x/net/http2/go15.go delete mode 100644 vendor/golang.org/x/net/http2/gotrack.go delete mode 100644 vendor/golang.org/x/net/http2/headermap.go delete mode 100644 vendor/golang.org/x/net/http2/hpack/encode.go delete mode 100644 vendor/golang.org/x/net/http2/hpack/hpack.go delete mode 100644 vendor/golang.org/x/net/http2/hpack/huffman.go delete mode 100644 vendor/golang.org/x/net/http2/hpack/tables.go delete mode 100644 vendor/golang.org/x/net/http2/http2.go delete mode 100644 vendor/golang.org/x/net/http2/not_go15.go delete mode 100644 vendor/golang.org/x/net/http2/not_go16.go delete mode 100644 vendor/golang.org/x/net/http2/pipe.go delete mode 100644 vendor/golang.org/x/net/http2/server.go delete mode 100644 vendor/golang.org/x/net/http2/transport.go delete mode 100644 vendor/golang.org/x/net/http2/write.go delete mode 100644 vendor/golang.org/x/net/http2/writesched.go delete mode 100644 vendor/golang.org/x/net/internal/timeseries/timeseries.go delete mode 100644 vendor/golang.org/x/net/trace/events.go delete mode 100644 vendor/golang.org/x/net/trace/histogram.go delete mode 100644 vendor/golang.org/x/net/trace/trace.go delete mode 100644 vendor/golang.org/x/oauth2/bitbucket/bitbucket.go delete mode 100644 vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go delete mode 100644 vendor/golang.org/x/oauth2/facebook/facebook.go delete mode 100644 vendor/golang.org/x/oauth2/github/github.go delete mode 100644 vendor/golang.org/x/oauth2/linkedin/linkedin.go delete mode 100644 vendor/golang.org/x/oauth2/microsoft/microsoft.go delete mode 100644 vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go delete mode 100644 vendor/golang.org/x/oauth2/paypal/paypal.go delete mode 100644 vendor/golang.org/x/oauth2/vk/vk.go delete mode 100644 vendor/golang.org/x/text/LICENSE delete mode 100644 vendor/golang.org/x/text/PATENTS delete mode 100644 vendor/golang.org/x/text/encoding/charmap/charmap.go delete mode 100644 vendor/golang.org/x/text/encoding/charmap/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/charmap/tables.go delete mode 100644 vendor/golang.org/x/text/encoding/encoding.go delete mode 100644 vendor/golang.org/x/text/encoding/htmlindex/gen.go delete mode 100644 vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go delete mode 100644 vendor/golang.org/x/text/encoding/htmlindex/map.go delete mode 100644 vendor/golang.org/x/text/encoding/htmlindex/tables.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/gen.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/identifier.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/mib.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/internal.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/all.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/eucjp.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/iso2022jp.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/shiftjis.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/tables.go delete mode 100644 vendor/golang.org/x/text/encoding/korean/euckr.go delete mode 100644 vendor/golang.org/x/text/encoding/korean/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/korean/tables.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/all.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go delete mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/big5.go delete mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/tables.go delete mode 100644 vendor/golang.org/x/text/encoding/unicode/override.go delete mode 100644 vendor/golang.org/x/text/encoding/unicode/unicode.go delete mode 100644 vendor/golang.org/x/text/internal/tag/tag.go delete mode 100644 vendor/golang.org/x/text/internal/utf8internal/utf8internal.go delete mode 100644 vendor/golang.org/x/text/language/Makefile delete mode 100644 vendor/golang.org/x/text/language/common.go delete mode 100644 vendor/golang.org/x/text/language/coverage.go delete mode 100644 vendor/golang.org/x/text/language/gen_common.go delete mode 100644 vendor/golang.org/x/text/language/gen_index.go delete mode 100644 vendor/golang.org/x/text/language/go1_1.go delete mode 100644 vendor/golang.org/x/text/language/go1_2.go delete mode 100644 vendor/golang.org/x/text/language/index.go delete mode 100644 vendor/golang.org/x/text/language/language.go delete mode 100644 vendor/golang.org/x/text/language/lookup.go delete mode 100644 vendor/golang.org/x/text/language/maketables.go delete mode 100644 vendor/golang.org/x/text/language/match.go delete mode 100644 vendor/golang.org/x/text/language/parse.go delete mode 100644 vendor/golang.org/x/text/language/tables.go delete mode 100644 vendor/golang.org/x/text/language/tags.go delete mode 100644 vendor/golang.org/x/text/runes/cond.go delete mode 100644 vendor/golang.org/x/text/runes/runes.go delete mode 100644 vendor/golang.org/x/text/transform/transform.go delete mode 100644 vendor/google.golang.org/api/googleapi/transport/apikey.go delete mode 100644 vendor/google.golang.org/appengine/aetest/doc.go delete mode 100644 vendor/google.golang.org/appengine/aetest/instance.go delete mode 100644 vendor/google.golang.org/appengine/aetest/instance_classic.go delete mode 100644 vendor/google.golang.org/appengine/aetest/instance_vm.go delete mode 100644 vendor/google.golang.org/appengine/aetest/user.go delete mode 100644 vendor/google.golang.org/appengine/blobstore/blobstore.go delete mode 100644 vendor/google.golang.org/appengine/blobstore/read.go delete mode 100644 vendor/google.golang.org/appengine/capability/capability.go delete mode 100644 vendor/google.golang.org/appengine/channel/channel.go delete mode 100644 vendor/google.golang.org/appengine/cloudsql/cloudsql.go delete mode 100644 vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go delete mode 100644 vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go delete mode 100644 vendor/google.golang.org/appengine/delay/delay.go delete mode 100644 vendor/google.golang.org/appengine/file/file.go delete mode 100644 vendor/google.golang.org/appengine/image/image.go delete mode 100644 vendor/google.golang.org/appengine/internal/aetesting/fake.go delete mode 100644 vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/capability/capability_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/channel/channel_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/image/images_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/image/images_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/mail/mail_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/search/search.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/search/search.proto delete mode 100644 vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/socket/socket_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/system/system_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/system/system_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto delete mode 100644 vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go delete mode 100644 vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto delete mode 100644 vendor/google.golang.org/appengine/mail/mail.go delete mode 100644 vendor/google.golang.org/appengine/memcache/memcache.go delete mode 100644 vendor/google.golang.org/appengine/module/module.go delete mode 100644 vendor/google.golang.org/appengine/remote_api/client.go delete mode 100644 vendor/google.golang.org/appengine/remote_api/remote_api.go delete mode 100644 vendor/google.golang.org/appengine/runtime/runtime.go delete mode 100644 vendor/google.golang.org/appengine/search/doc.go delete mode 100644 vendor/google.golang.org/appengine/search/field.go delete mode 100644 vendor/google.golang.org/appengine/search/search.go delete mode 100644 vendor/google.golang.org/appengine/search/struct.go delete mode 100644 vendor/google.golang.org/appengine/socket/doc.go delete mode 100644 vendor/google.golang.org/appengine/socket/socket_classic.go delete mode 100644 vendor/google.golang.org/appengine/socket/socket_vm.go delete mode 100644 vendor/google.golang.org/appengine/taskqueue/taskqueue.go delete mode 100644 vendor/google.golang.org/appengine/urlfetch/urlfetch.go delete mode 100644 vendor/google.golang.org/appengine/xmpp/xmpp.go delete mode 100644 vendor/google.golang.org/cloud/LICENSE delete mode 100644 vendor/google.golang.org/cloud/internal/datastore/datastore_v1.pb.go delete mode 100644 vendor/google.golang.org/cloud/internal/datastore/datastore_v1.proto delete mode 100644 vendor/google.golang.org/cloud/internal/opts/option.go delete mode 100644 vendor/google.golang.org/cloud/internal/testutil/context.go delete mode 100644 vendor/google.golang.org/cloud/internal/transport/cancelreq.go delete mode 100644 vendor/google.golang.org/cloud/internal/transport/cancelreq_legacy.go delete mode 100644 vendor/google.golang.org/cloud/internal/transport/dial.go delete mode 100644 vendor/google.golang.org/cloud/internal/transport/proto.go diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2ee6033f1..2ad610cb3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,6 +106,11 @@ If you are submitting a change that requires new or updated dependencies, please Note that you will need to use [govendor](https://github.com/kardianos/govendor) to do this. This step is recommended but not required; if you don't use govendor please indicate in your PR which dependencies have changed and to what versions. +Use `govendor fetch ` to add dependencies to the project. See +[govendor quick +start(https://github.com/kardianos/govendor#quick-start-also-see-the-faq) for +examples. + Please only apply the minimal vendor changes to get your PR to work. Packer does not attempt to track the latest version for each dependency. #### Running Unit Tests diff --git a/Makefile b/Makefile index 16b66d36f..e304fd2e3 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,8 @@ package: deps: go get github.com/mitchellh/gox go get golang.org/x/tools/cmd/stringer + go get -u github.com/kardianos/govendor + govendor sync dev: deps ## Build and install a development build @grep 'const VersionPrerelease = ""' version/version.go > /dev/null ; if [ $$? -eq 0 ]; then \ @@ -73,8 +75,7 @@ updatedeps: # This is used to add new dependencies to packer. If you are submitting a PR # that includes new dependencies you will need to run this. vendor: ## Add new dependencies. - govendor add +external - govendor sync + @echo "INFO: Packer deps are managed by govendor. See CONTRIBUTING.md" help: @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' diff --git a/vendor/github.com/digitalocean/godo/util/droplet.go b/vendor/github.com/digitalocean/godo/util/droplet.go deleted file mode 100644 index 4a016bc68..000000000 --- a/vendor/github.com/digitalocean/godo/util/droplet.go +++ /dev/null @@ -1,47 +0,0 @@ -package util - -import ( - "fmt" - "time" - - "github.com/digitalocean/godo" -) - -const ( - // activeFailure is the amount of times we can fail before deciding - // the check for active is a total failure. This can help account - // for servers randomly not answering. - activeFailure = 3 -) - -// WaitForActive waits for a droplet to become active -func WaitForActive(client *godo.Client, monitorURI string) error { - if len(monitorURI) == 0 { - return fmt.Errorf("create had no monitor uri") - } - - completed := false - failCount := 0 - for !completed { - action, _, err := client.DropletActions.GetByURI(monitorURI) - - if err != nil { - if failCount <= activeFailure { - failCount++ - continue - } - return err - } - - switch action.Status { - case godo.ActionInProgress: - time.Sleep(5 * time.Second) - case godo.ActionCompleted: - completed = true - default: - return fmt.Errorf("unknown status: [%s]", action.Status) - } - } - - return nil -} diff --git a/vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go b/vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go deleted file mode 100644 index 37c778209..000000000 --- a/vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by protoc-gen-go. -// source: proto3_proto/proto3.proto -// DO NOT EDIT! - -/* -Package proto3_proto is a generated protocol buffer package. - -It is generated from these files: - proto3_proto/proto3.proto - -It has these top-level messages: - Message - Nested - MessageWithMap -*/ -package proto3_proto - -import proto "github.com/golang/protobuf/proto" -import testdata "github.com/golang/protobuf/proto/testdata" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal - -type Message_Humour int32 - -const ( - Message_UNKNOWN Message_Humour = 0 - Message_PUNS Message_Humour = 1 - Message_SLAPSTICK Message_Humour = 2 - Message_BILL_BAILEY Message_Humour = 3 -) - -var Message_Humour_name = map[int32]string{ - 0: "UNKNOWN", - 1: "PUNS", - 2: "SLAPSTICK", - 3: "BILL_BAILEY", -} -var Message_Humour_value = map[string]int32{ - "UNKNOWN": 0, - "PUNS": 1, - "SLAPSTICK": 2, - "BILL_BAILEY": 3, -} - -func (x Message_Humour) String() string { - return proto.EnumName(Message_Humour_name, int32(x)) -} - -type Message struct { - Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Hilarity Message_Humour `protobuf:"varint,2,opt,name=hilarity,enum=proto3_proto.Message_Humour" json:"hilarity,omitempty"` - HeightInCm uint32 `protobuf:"varint,3,opt,name=height_in_cm" json:"height_in_cm,omitempty"` - Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` - ResultCount int64 `protobuf:"varint,7,opt,name=result_count" json:"result_count,omitempty"` - TrueScotsman bool `protobuf:"varint,8,opt,name=true_scotsman" json:"true_scotsman,omitempty"` - Score float32 `protobuf:"fixed32,9,opt,name=score" json:"score,omitempty"` - Key []uint64 `protobuf:"varint,5,rep,name=key" json:"key,omitempty"` - Nested *Nested `protobuf:"bytes,6,opt,name=nested" json:"nested,omitempty"` - Terrain map[string]*Nested `protobuf:"bytes,10,rep,name=terrain" json:"terrain,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - Proto2Field *testdata.SubDefaults `protobuf:"bytes,11,opt,name=proto2_field" json:"proto2_field,omitempty"` - Proto2Value map[string]*testdata.SubDefaults `protobuf:"bytes,13,rep,name=proto2_value" json:"proto2_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` -} - -func (m *Message) Reset() { *m = Message{} } -func (m *Message) String() string { return proto.CompactTextString(m) } -func (*Message) ProtoMessage() {} - -func (m *Message) GetNested() *Nested { - if m != nil { - return m.Nested - } - return nil -} - -func (m *Message) GetTerrain() map[string]*Nested { - if m != nil { - return m.Terrain - } - return nil -} - -func (m *Message) GetProto2Field() *testdata.SubDefaults { - if m != nil { - return m.Proto2Field - } - return nil -} - -func (m *Message) GetProto2Value() map[string]*testdata.SubDefaults { - if m != nil { - return m.Proto2Value - } - return nil -} - -type Nested struct { - Bunny string `protobuf:"bytes,1,opt,name=bunny" json:"bunny,omitempty"` -} - -func (m *Nested) Reset() { *m = Nested{} } -func (m *Nested) String() string { return proto.CompactTextString(m) } -func (*Nested) ProtoMessage() {} - -type MessageWithMap struct { - ByteMapping map[bool][]byte `protobuf:"bytes,1,rep,name=byte_mapping" json:"byte_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } -func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } -func (*MessageWithMap) ProtoMessage() {} - -func (m *MessageWithMap) GetByteMapping() map[bool][]byte { - if m != nil { - return m.ByteMapping - } - return nil -} - -func init() { - proto.RegisterEnum("proto3_proto.Message_Humour", Message_Humour_name, Message_Humour_value) -} diff --git a/vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.proto b/vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.proto deleted file mode 100644 index e2311d929..000000000 --- a/vendor/github.com/golang/protobuf/proto/proto3_proto/proto3.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Go support for Protocol Buffers - Google's data interchange format -// -// Copyright 2014 The Go Authors. All rights reserved. -// https://github.com/golang/protobuf -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * 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. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS 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 -// OWNER 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. - -syntax = "proto3"; - -import "testdata/test.proto"; - -package proto3_proto; - -message Message { - enum Humour { - UNKNOWN = 0; - PUNS = 1; - SLAPSTICK = 2; - BILL_BAILEY = 3; - } - - string name = 1; - Humour hilarity = 2; - uint32 height_in_cm = 3; - bytes data = 4; - int64 result_count = 7; - bool true_scotsman = 8; - float score = 9; - - repeated uint64 key = 5; - Nested nested = 6; - - map terrain = 10; - testdata.SubDefaults proto2_field = 11; - map proto2_value = 13; -} - -message Nested { - string bunny = 1; -} - -message MessageWithMap { - map byte_mapping = 1; -} diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go b/vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go deleted file mode 100644 index c7df08782..000000000 --- a/vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go +++ /dev/null @@ -1,13 +0,0 @@ -package jmespath - -import "github.com/jmespath/go-jmespath" - -// Fuzz will fuzz test the JMESPath parser. -func Fuzz(data []byte) int { - p := jmespath.NewParser() - _, err := p.Parse(string(data)) - if err != nil { - return 1 - } - return 0 -} diff --git a/vendor/github.com/klauspost/cpuid/private/README.md b/vendor/github.com/klauspost/cpuid/private/README.md deleted file mode 100644 index 57a68f882..000000000 --- a/vendor/github.com/klauspost/cpuid/private/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# cpuid private - -This is a specially converted of the cpuid package, so it can be included in -a package without exporting anything. - -Package home: https://github.com/klauspost/cpuid diff --git a/vendor/github.com/klauspost/cpuid/private/cpuid.go b/vendor/github.com/klauspost/cpuid/private/cpuid.go deleted file mode 100644 index be99cb0b7..000000000 --- a/vendor/github.com/klauspost/cpuid/private/cpuid.go +++ /dev/null @@ -1,987 +0,0 @@ -// Generated, DO NOT EDIT, -// but copy it to your own project and rename the package. -// See more at http://github.com/klauspost/cpuid - -package cpuid - -import ( - "strings" -) - -// Vendor is a representation of a CPU vendor. -type vendor int - -const ( - other vendor = iota - intel - amd - via - transmeta - nsc - kvm // Kernel-based Virtual Machine - msvm // Microsoft Hyper-V or Windows Virtual PC - vmware - xenhvm -) - -const ( - cmov = 1 << iota // i686 CMOV - nx // NX (No-Execute) bit - amd3dnow // AMD 3DNOW - amd3dnowext // AMD 3DNowExt - mmx // standard MMX - mmxext // SSE integer functions or AMD MMX ext - sse // SSE functions - sse2 // P4 SSE functions - sse3 // Prescott SSE3 functions - ssse3 // Conroe SSSE3 functions - sse4 // Penryn SSE4.1 functions - sse4a // AMD Barcelona microarchitecture SSE4a instructions - sse42 // Nehalem SSE4.2 functions - avx // AVX functions - avx2 // AVX2 functions - fma3 // Intel FMA 3 - fma4 // Bulldozer FMA4 functions - xop // Bulldozer XOP functions - f16c // Half-precision floating-point conversion - bmi1 // Bit Manipulation Instruction Set 1 - bmi2 // Bit Manipulation Instruction Set 2 - tbm // AMD Trailing Bit Manipulation - lzcnt // LZCNT instruction - popcnt // POPCNT instruction - aesni // Advanced Encryption Standard New Instructions - clmul // Carry-less Multiplication - htt // Hyperthreading (enabled) - hle // Hardware Lock Elision - rtm // Restricted Transactional Memory - rdrand // RDRAND instruction is available - rdseed // RDSEED instruction is available - adx // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) - sha // Intel SHA Extensions - avx512f // AVX-512 Foundation - avx512dq // AVX-512 Doubleword and Quadword Instructions - avx512ifma // AVX-512 Integer Fused Multiply-Add Instructions - avx512pf // AVX-512 Prefetch Instructions - avx512er // AVX-512 Exponential and Reciprocal Instructions - avx512cd // AVX-512 Conflict Detection Instructions - avx512bw // AVX-512 Byte and Word Instructions - avx512vl // AVX-512 Vector Length Extensions - avx512vbmi // AVX-512 Vector Bit Manipulation Instructions - mpx // Intel MPX (Memory Protection Extensions) - erms // Enhanced REP MOVSB/STOSB - rdtscp // RDTSCP Instruction - cx16 // CMPXCHG16B Instruction - - // Performance indicators - sse2slow // SSE2 is supported, but usually not faster - sse3slow // SSE3 is supported, but usually not faster - atom // Atom processor, some SSSE3 instructions are slower -) - -var flagNames = map[flags]string{ - cmov: "CMOV", // i686 CMOV - nx: "NX", // NX (No-Execute) bit - amd3dnow: "AMD3DNOW", // AMD 3DNOW - amd3dnowext: "AMD3DNOWEXT", // AMD 3DNowExt - mmx: "MMX", // Standard MMX - mmxext: "MMXEXT", // SSE integer functions or AMD MMX ext - sse: "SSE", // SSE functions - sse2: "SSE2", // P4 SSE2 functions - sse3: "SSE3", // Prescott SSE3 functions - ssse3: "SSSE3", // Conroe SSSE3 functions - sse4: "SSE4.1", // Penryn SSE4.1 functions - sse4a: "SSE4A", // AMD Barcelona microarchitecture SSE4a instructions - sse42: "SSE4.2", // Nehalem SSE4.2 functions - avx: "AVX", // AVX functions - avx2: "AVX2", // AVX functions - fma3: "FMA3", // Intel FMA 3 - fma4: "FMA4", // Bulldozer FMA4 functions - xop: "XOP", // Bulldozer XOP functions - f16c: "F16C", // Half-precision floating-point conversion - bmi1: "BMI1", // Bit Manipulation Instruction Set 1 - bmi2: "BMI2", // Bit Manipulation Instruction Set 2 - tbm: "TBM", // AMD Trailing Bit Manipulation - lzcnt: "LZCNT", // LZCNT instruction - popcnt: "POPCNT", // POPCNT instruction - aesni: "AESNI", // Advanced Encryption Standard New Instructions - clmul: "CLMUL", // Carry-less Multiplication - htt: "HTT", // Hyperthreading (enabled) - hle: "HLE", // Hardware Lock Elision - rtm: "RTM", // Restricted Transactional Memory - rdrand: "RDRAND", // RDRAND instruction is available - rdseed: "RDSEED", // RDSEED instruction is available - adx: "ADX", // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) - sha: "SHA", // Intel SHA Extensions - avx512f: "AVX512F", // AVX-512 Foundation - avx512dq: "AVX512DQ", // AVX-512 Doubleword and Quadword Instructions - avx512ifma: "AVX512IFMA", // AVX-512 Integer Fused Multiply-Add Instructions - avx512pf: "AVX512PF", // AVX-512 Prefetch Instructions - avx512er: "AVX512ER", // AVX-512 Exponential and Reciprocal Instructions - avx512cd: "AVX512CD", // AVX-512 Conflict Detection Instructions - avx512bw: "AVX512BW", // AVX-512 Byte and Word Instructions - avx512vl: "AVX512VL", // AVX-512 Vector Length Extensions - avx512vbmi: "AVX512VBMI", // AVX-512 Vector Bit Manipulation Instructions - mpx: "MPX", // Intel MPX (Memory Protection Extensions) - erms: "ERMS", // Enhanced REP MOVSB/STOSB - rdtscp: "RDTSCP", // RDTSCP Instruction - cx16: "CX16", // CMPXCHG16B Instruction - - // Performance indicators - sse2slow: "SSE2SLOW", // SSE2 supported, but usually not faster - sse3slow: "SSE3SLOW", // SSE3 supported, but usually not faster - atom: "ATOM", // Atom processor, some SSSE3 instructions are slower - -} - -// CPUInfo contains information about the detected system CPU. -type cpuInfo struct { - brandname string // Brand name reported by the CPU - vendorid vendor // Comparable CPU vendor ID - features flags // Features of the CPU - physicalcores int // Number of physical processor cores in your CPU. Will be 0 if undetectable. - threadspercore int // Number of threads per physical core. Will be 1 if undetectable. - logicalcores int // Number of physical cores times threads that can run on each core through the use of hyperthreading. Will be 0 if undetectable. - family int // CPU family number - model int // CPU model number - cacheline int // Cache line size in bytes. Will be 0 if undetectable. - cache struct { - l1i int // L1 Instruction Cache (per core or shared). Will be -1 if undetected - l1d int // L1 Data Cache (per core or shared). Will be -1 if undetected - l2 int // L2 Cache (per core or shared). Will be -1 if undetected - l3 int // L3 Instruction Cache (per core or shared). Will be -1 if undetected - } - maxFunc uint32 - maxExFunc uint32 -} - -var cpuid func(op uint32) (eax, ebx, ecx, edx uint32) -var cpuidex func(op, op2 uint32) (eax, ebx, ecx, edx uint32) -var xgetbv func(index uint32) (eax, edx uint32) -var rdtscpAsm func() (eax, ebx, ecx, edx uint32) - -// CPU contains information about the CPU as detected on startup, -// or when Detect last was called. -// -// Use this as the primary entry point to you data, -// this way queries are -var cpu cpuInfo - -func init() { - initCPU() - detect() -} - -// Detect will re-detect current CPU info. -// This will replace the content of the exported CPU variable. -// -// Unless you expect the CPU to change while you are running your program -// you should not need to call this function. -// If you call this, you must ensure that no other goroutine is accessing the -// exported CPU variable. -func detect() { - cpu.maxFunc = maxFunctionID() - cpu.maxExFunc = maxExtendedFunction() - cpu.brandname = brandName() - cpu.cacheline = cacheLine() - cpu.family, cpu.model = familyModel() - cpu.features = support() - cpu.threadspercore = threadsPerCore() - cpu.logicalcores = logicalCores() - cpu.physicalcores = physicalCores() - cpu.vendorid = vendorID() - cpu.cacheSize() -} - -// Generated here: http://play.golang.org/p/BxFH2Gdc0G - -// Cmov indicates support of CMOV instructions -func (c cpuInfo) cmov() bool { - return c.features&cmov != 0 -} - -// Amd3dnow indicates support of AMD 3DNOW! instructions -func (c cpuInfo) amd3dnow() bool { - return c.features&amd3dnow != 0 -} - -// Amd3dnowExt indicates support of AMD 3DNOW! Extended instructions -func (c cpuInfo) amd3dnowext() bool { - return c.features&amd3dnowext != 0 -} - -// MMX indicates support of MMX instructions -func (c cpuInfo) mmx() bool { - return c.features&mmx != 0 -} - -// MMXExt indicates support of MMXEXT instructions -// (SSE integer functions or AMD MMX ext) -func (c cpuInfo) mmxext() bool { - return c.features&mmxext != 0 -} - -// SSE indicates support of SSE instructions -func (c cpuInfo) sse() bool { - return c.features&sse != 0 -} - -// SSE2 indicates support of SSE 2 instructions -func (c cpuInfo) sse2() bool { - return c.features&sse2 != 0 -} - -// SSE3 indicates support of SSE 3 instructions -func (c cpuInfo) sse3() bool { - return c.features&sse3 != 0 -} - -// SSSE3 indicates support of SSSE 3 instructions -func (c cpuInfo) ssse3() bool { - return c.features&ssse3 != 0 -} - -// SSE4 indicates support of SSE 4 (also called SSE 4.1) instructions -func (c cpuInfo) sse4() bool { - return c.features&sse4 != 0 -} - -// SSE42 indicates support of SSE4.2 instructions -func (c cpuInfo) sse42() bool { - return c.features&sse42 != 0 -} - -// AVX indicates support of AVX instructions -// and operating system support of AVX instructions -func (c cpuInfo) avx() bool { - return c.features&avx != 0 -} - -// AVX2 indicates support of AVX2 instructions -func (c cpuInfo) avx2() bool { - return c.features&avx2 != 0 -} - -// FMA3 indicates support of FMA3 instructions -func (c cpuInfo) fma3() bool { - return c.features&fma3 != 0 -} - -// FMA4 indicates support of FMA4 instructions -func (c cpuInfo) fma4() bool { - return c.features&fma4 != 0 -} - -// XOP indicates support of XOP instructions -func (c cpuInfo) xop() bool { - return c.features&xop != 0 -} - -// F16C indicates support of F16C instructions -func (c cpuInfo) f16c() bool { - return c.features&f16c != 0 -} - -// BMI1 indicates support of BMI1 instructions -func (c cpuInfo) bmi1() bool { - return c.features&bmi1 != 0 -} - -// BMI2 indicates support of BMI2 instructions -func (c cpuInfo) bmi2() bool { - return c.features&bmi2 != 0 -} - -// TBM indicates support of TBM instructions -// (AMD Trailing Bit Manipulation) -func (c cpuInfo) tbm() bool { - return c.features&tbm != 0 -} - -// Lzcnt indicates support of LZCNT instruction -func (c cpuInfo) lzcnt() bool { - return c.features&lzcnt != 0 -} - -// Popcnt indicates support of POPCNT instruction -func (c cpuInfo) popcnt() bool { - return c.features&popcnt != 0 -} - -// HTT indicates the processor has Hyperthreading enabled -func (c cpuInfo) htt() bool { - return c.features&htt != 0 -} - -// SSE2Slow indicates that SSE2 may be slow on this processor -func (c cpuInfo) sse2slow() bool { - return c.features&sse2slow != 0 -} - -// SSE3Slow indicates that SSE3 may be slow on this processor -func (c cpuInfo) sse3slow() bool { - return c.features&sse3slow != 0 -} - -// AesNi indicates support of AES-NI instructions -// (Advanced Encryption Standard New Instructions) -func (c cpuInfo) aesni() bool { - return c.features&aesni != 0 -} - -// Clmul indicates support of CLMUL instructions -// (Carry-less Multiplication) -func (c cpuInfo) clmul() bool { - return c.features&clmul != 0 -} - -// NX indicates support of NX (No-Execute) bit -func (c cpuInfo) nx() bool { - return c.features&nx != 0 -} - -// SSE4A indicates support of AMD Barcelona microarchitecture SSE4a instructions -func (c cpuInfo) sse4a() bool { - return c.features&sse4a != 0 -} - -// HLE indicates support of Hardware Lock Elision -func (c cpuInfo) hle() bool { - return c.features&hle != 0 -} - -// RTM indicates support of Restricted Transactional Memory -func (c cpuInfo) rtm() bool { - return c.features&rtm != 0 -} - -// Rdrand indicates support of RDRAND instruction is available -func (c cpuInfo) rdrand() bool { - return c.features&rdrand != 0 -} - -// Rdseed indicates support of RDSEED instruction is available -func (c cpuInfo) rdseed() bool { - return c.features&rdseed != 0 -} - -// ADX indicates support of Intel ADX (Multi-Precision Add-Carry Instruction Extensions) -func (c cpuInfo) adx() bool { - return c.features&adx != 0 -} - -// SHA indicates support of Intel SHA Extensions -func (c cpuInfo) sha() bool { - return c.features&sha != 0 -} - -// AVX512F indicates support of AVX-512 Foundation -func (c cpuInfo) avx512f() bool { - return c.features&avx512f != 0 -} - -// AVX512DQ indicates support of AVX-512 Doubleword and Quadword Instructions -func (c cpuInfo) avx512dq() bool { - return c.features&avx512dq != 0 -} - -// AVX512IFMA indicates support of AVX-512 Integer Fused Multiply-Add Instructions -func (c cpuInfo) avx512ifma() bool { - return c.features&avx512ifma != 0 -} - -// AVX512PF indicates support of AVX-512 Prefetch Instructions -func (c cpuInfo) avx512pf() bool { - return c.features&avx512pf != 0 -} - -// AVX512ER indicates support of AVX-512 Exponential and Reciprocal Instructions -func (c cpuInfo) avx512er() bool { - return c.features&avx512er != 0 -} - -// AVX512CD indicates support of AVX-512 Conflict Detection Instructions -func (c cpuInfo) avx512cd() bool { - return c.features&avx512cd != 0 -} - -// AVX512BW indicates support of AVX-512 Byte and Word Instructions -func (c cpuInfo) avx512bw() bool { - return c.features&avx512bw != 0 -} - -// AVX512VL indicates support of AVX-512 Vector Length Extensions -func (c cpuInfo) avx512vl() bool { - return c.features&avx512vl != 0 -} - -// AVX512VBMI indicates support of AVX-512 Vector Bit Manipulation Instructions -func (c cpuInfo) avx512vbmi() bool { - return c.features&avx512vbmi != 0 -} - -// MPX indicates support of Intel MPX (Memory Protection Extensions) -func (c cpuInfo) mpx() bool { - return c.features&mpx != 0 -} - -// ERMS indicates support of Enhanced REP MOVSB/STOSB -func (c cpuInfo) erms() bool { - return c.features&erms != 0 -} - -func (c cpuInfo) rdtscp() bool { - return c.features&rdtscp != 0 -} - -func (c cpuInfo) cx16() bool { - return c.features&cx16 != 0 -} - -// Atom indicates an Atom processor -func (c cpuInfo) atom() bool { - return c.features&atom != 0 -} - -// Intel returns true if vendor is recognized as Intel -func (c cpuInfo) intel() bool { - return c.vendorid == intel -} - -// AMD returns true if vendor is recognized as AMD -func (c cpuInfo) amd() bool { - return c.vendorid == amd -} - -// Transmeta returns true if vendor is recognized as Transmeta -func (c cpuInfo) transmeta() bool { - return c.vendorid == transmeta -} - -// NSC returns true if vendor is recognized as National Semiconductor -func (c cpuInfo) nsc() bool { - return c.vendorid == nsc -} - -// VIA returns true if vendor is recognized as VIA -func (c cpuInfo) via() bool { - return c.vendorid == via -} - -// RTCounter returns the 64-bit time-stamp counter -// Uses the RDTSCP instruction. The value 0 is returned -// if the CPU does not support the instruction. -func (c cpuInfo) rtcounter() uint64 { - if !c.rdtscp() { - return 0 - } - a, _, _, d := rdtscpAsm() - return uint64(a) | (uint64(d) << 32) -} - -// Ia32TscAux returns the IA32_TSC_AUX part of the RDTSCP. -// This variable is OS dependent, but on Linux contains information -// about the current cpu/core the code is running on. -// If the RDTSCP instruction isn't supported on the CPU, the value 0 is returned. -func (c cpuInfo) ia32tscaux() uint32 { - if !c.rdtscp() { - return 0 - } - _, _, ecx, _ := rdtscpAsm() - return ecx -} - -// LogicalCPU will return the Logical CPU the code is currently executing on. -// This is likely to change when the OS re-schedules the running thread -// to another CPU. -// If the current core cannot be detected, -1 will be returned. -func (c cpuInfo) logicalcpu() int { - if c.maxFunc < 1 { - return -1 - } - _, ebx, _, _ := cpuid(1) - return int(ebx >> 24) -} - -// VM Will return true if the cpu id indicates we are in -// a virtual machine. This is only a hint, and will very likely -// have many false negatives. -func (c cpuInfo) vm() bool { - switch c.vendorid { - case msvm, kvm, vmware, xenhvm: - return true - } - return false -} - -// Flags contains detected cpu features and caracteristics -type flags uint64 - -// String returns a string representation of the detected -// CPU features. -func (f flags) String() string { - return strings.Join(f.strings(), ",") -} - -// Strings returns and array of the detected features. -func (f flags) strings() []string { - s := support() - r := make([]string, 0, 20) - for i := uint(0); i < 64; i++ { - key := flags(1 << i) - val := flagNames[key] - if s&key != 0 { - r = append(r, val) - } - } - return r -} - -func maxExtendedFunction() uint32 { - eax, _, _, _ := cpuid(0x80000000) - return eax -} - -func maxFunctionID() uint32 { - a, _, _, _ := cpuid(0) - return a -} - -func brandName() string { - if maxExtendedFunction() >= 0x80000004 { - v := make([]uint32, 0, 48) - for i := uint32(0); i < 3; i++ { - a, b, c, d := cpuid(0x80000002 + i) - v = append(v, a, b, c, d) - } - return strings.Trim(string(valAsString(v...)), " ") - } - return "unknown" -} - -func threadsPerCore() int { - mfi := maxFunctionID() - if mfi < 0x4 || vendorID() != intel { - return 1 - } - - if mfi < 0xb { - _, b, _, d := cpuid(1) - if (d & (1 << 28)) != 0 { - // v will contain logical core count - v := (b >> 16) & 255 - if v > 1 { - a4, _, _, _ := cpuid(4) - // physical cores - v2 := (a4 >> 26) + 1 - if v2 > 0 { - return int(v) / int(v2) - } - } - } - return 1 - } - _, b, _, _ := cpuidex(0xb, 0) - if b&0xffff == 0 { - return 1 - } - return int(b & 0xffff) -} - -func logicalCores() int { - mfi := maxFunctionID() - switch vendorID() { - case intel: - // Use this on old Intel processors - if mfi < 0xb { - if mfi < 1 { - return 0 - } - // CPUID.1:EBX[23:16] represents the maximum number of addressable IDs (initial APIC ID) - // that can be assigned to logical processors in a physical package. - // The value may not be the same as the number of logical processors that are present in the hardware of a physical package. - _, ebx, _, _ := cpuid(1) - logical := (ebx >> 16) & 0xff - return int(logical) - } - _, b, _, _ := cpuidex(0xb, 1) - return int(b & 0xffff) - case amd: - _, b, _, _ := cpuid(1) - return int((b >> 16) & 0xff) - default: - return 0 - } -} - -func familyModel() (int, int) { - if maxFunctionID() < 0x1 { - return 0, 0 - } - eax, _, _, _ := cpuid(1) - family := ((eax >> 8) & 0xf) + ((eax >> 20) & 0xff) - model := ((eax >> 4) & 0xf) + ((eax >> 12) & 0xf0) - return int(family), int(model) -} - -func physicalCores() int { - switch vendorID() { - case intel: - return logicalCores() / threadsPerCore() - case amd: - if maxExtendedFunction() >= 0x80000008 { - _, _, c, _ := cpuid(0x80000008) - return int(c&0xff) + 1 - } - } - return 0 -} - -// Except from http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID -var vendorMapping = map[string]vendor{ - "AMDisbetter!": amd, - "AuthenticAMD": amd, - "CentaurHauls": via, - "GenuineIntel": intel, - "TransmetaCPU": transmeta, - "GenuineTMx86": transmeta, - "Geode by NSC": nsc, - "VIA VIA VIA ": via, - "KVMKVMKVMKVM": kvm, - "Microsoft Hv": msvm, - "VMwareVMware": vmware, - "XenVMMXenVMM": xenhvm, -} - -func vendorID() vendor { - _, b, c, d := cpuid(0) - v := valAsString(b, d, c) - vend, ok := vendorMapping[string(v)] - if !ok { - return other - } - return vend -} - -func cacheLine() int { - if maxFunctionID() < 0x1 { - return 0 - } - - _, ebx, _, _ := cpuid(1) - cache := (ebx & 0xff00) >> 5 // cflush size - if cache == 0 && maxExtendedFunction() >= 0x80000006 { - _, _, ecx, _ := cpuid(0x80000006) - cache = ecx & 0xff // cacheline size - } - // TODO: Read from Cache and TLB Information - return int(cache) -} - -func (c *cpuInfo) cacheSize() { - c.cache.l1d = -1 - c.cache.l1i = -1 - c.cache.l2 = -1 - c.cache.l3 = -1 - vendor := vendorID() - switch vendor { - case intel: - if maxFunctionID() < 4 { - return - } - for i := uint32(0); ; i++ { - eax, ebx, ecx, _ := cpuidex(4, i) - cacheType := eax & 15 - if cacheType == 0 { - break - } - cacheLevel := (eax >> 5) & 7 - coherency := int(ebx&0xfff) + 1 - partitions := int((ebx>>12)&0x3ff) + 1 - associativity := int((ebx>>22)&0x3ff) + 1 - sets := int(ecx) + 1 - size := associativity * partitions * coherency * sets - switch cacheLevel { - case 1: - if cacheType == 1 { - // 1 = Data Cache - c.cache.l1d = size - } else if cacheType == 2 { - // 2 = Instruction Cache - c.cache.l1i = size - } else { - if c.cache.l1d < 0 { - c.cache.l1i = size - } - if c.cache.l1i < 0 { - c.cache.l1i = size - } - } - case 2: - c.cache.l2 = size - case 3: - c.cache.l3 = size - } - } - case amd: - // Untested. - if maxExtendedFunction() < 0x80000005 { - return - } - _, _, ecx, edx := cpuid(0x80000005) - c.cache.l1d = int(((ecx >> 24) & 0xFF) * 1024) - c.cache.l1i = int(((edx >> 24) & 0xFF) * 1024) - - if maxExtendedFunction() < 0x80000006 { - return - } - _, _, ecx, _ = cpuid(0x80000006) - c.cache.l2 = int(((ecx >> 16) & 0xFFFF) * 1024) - } - - return -} - -func support() flags { - mfi := maxFunctionID() - vend := vendorID() - if mfi < 0x1 { - return 0 - } - rval := uint64(0) - _, _, c, d := cpuid(1) - if (d & (1 << 15)) != 0 { - rval |= cmov - } - if (d & (1 << 23)) != 0 { - rval |= mmx - } - if (d & (1 << 25)) != 0 { - rval |= mmxext - } - if (d & (1 << 25)) != 0 { - rval |= sse - } - if (d & (1 << 26)) != 0 { - rval |= sse2 - } - if (c & 1) != 0 { - rval |= sse3 - } - if (c & 0x00000200) != 0 { - rval |= ssse3 - } - if (c & 0x00080000) != 0 { - rval |= sse4 - } - if (c & 0x00100000) != 0 { - rval |= sse42 - } - if (c & (1 << 25)) != 0 { - rval |= aesni - } - if (c & (1 << 1)) != 0 { - rval |= clmul - } - if c&(1<<23) != 0 { - rval |= popcnt - } - if c&(1<<30) != 0 { - rval |= rdrand - } - if c&(1<<29) != 0 { - rval |= f16c - } - if c&(1<<13) != 0 { - rval |= cx16 - } - if vend == intel && (d&(1<<28)) != 0 && mfi >= 4 { - if threadsPerCore() > 1 { - rval |= htt - } - } - - // Check XGETBV, OXSAVE and AVX bits - if c&(1<<26) != 0 && c&(1<<27) != 0 && c&(1<<28) != 0 { - // Check for OS support - eax, _ := xgetbv(0) - if (eax & 0x6) == 0x6 { - rval |= avx - if (c & 0x00001000) != 0 { - rval |= fma3 - } - } - } - - // Check AVX2, AVX2 requires OS support, but BMI1/2 don't. - if mfi >= 7 { - _, ebx, ecx, _ := cpuidex(7, 0) - if (rval&avx) != 0 && (ebx&0x00000020) != 0 { - rval |= avx2 - } - if (ebx & 0x00000008) != 0 { - rval |= bmi1 - if (ebx & 0x00000100) != 0 { - rval |= bmi2 - } - } - if ebx&(1<<4) != 0 { - rval |= hle - } - if ebx&(1<<9) != 0 { - rval |= erms - } - if ebx&(1<<11) != 0 { - rval |= rtm - } - if ebx&(1<<14) != 0 { - rval |= mpx - } - if ebx&(1<<18) != 0 { - rval |= rdseed - } - if ebx&(1<<19) != 0 { - rval |= adx - } - if ebx&(1<<29) != 0 { - rval |= sha - } - - // Only detect AVX-512 features if XGETBV is supported - if c&((1<<26)|(1<<27)) == (1<<26)|(1<<27) { - // Check for OS support - eax, _ := xgetbv(0) - - // Verify that XCR0[7:5] = ‘111b’ (OPMASK state, upper 256-bit of ZMM0-ZMM15 and - // ZMM16-ZMM31 state are enabled by OS) - /// and that XCR0[2:1] = ‘11b’ (XMM state and YMM state are enabled by OS). - if (eax>>5)&7 == 7 && (eax>>1)&3 == 3 { - if ebx&(1<<16) != 0 { - rval |= avx512f - } - if ebx&(1<<17) != 0 { - rval |= avx512dq - } - if ebx&(1<<21) != 0 { - rval |= avx512ifma - } - if ebx&(1<<26) != 0 { - rval |= avx512pf - } - if ebx&(1<<27) != 0 { - rval |= avx512er - } - if ebx&(1<<28) != 0 { - rval |= avx512cd - } - if ebx&(1<<30) != 0 { - rval |= avx512bw - } - if ebx&(1<<31) != 0 { - rval |= avx512vl - } - // ecx - if ecx&(1<<1) != 0 { - rval |= avx512vbmi - } - } - } - } - - if maxExtendedFunction() >= 0x80000001 { - _, _, c, d := cpuid(0x80000001) - if (c & (1 << 5)) != 0 { - rval |= lzcnt - rval |= popcnt - } - if (d & (1 << 31)) != 0 { - rval |= amd3dnow - } - if (d & (1 << 30)) != 0 { - rval |= amd3dnowext - } - if (d & (1 << 23)) != 0 { - rval |= mmx - } - if (d & (1 << 22)) != 0 { - rval |= mmxext - } - if (c & (1 << 6)) != 0 { - rval |= sse4a - } - if d&(1<<20) != 0 { - rval |= nx - } - if d&(1<<27) != 0 { - rval |= rdtscp - } - - /* Allow for selectively disabling SSE2 functions on AMD processors - with SSE2 support but not SSE4a. This includes Athlon64, some - Opteron, and some Sempron processors. MMX, SSE, or 3DNow! are faster - than SSE2 often enough to utilize this special-case flag. - AV_CPU_FLAG_SSE2 and AV_CPU_FLAG_SSE2SLOW are both set in this case - so that SSE2 is used unless explicitly disabled by checking - AV_CPU_FLAG_SSE2SLOW. */ - if vendorID() != intel && - rval&sse2 != 0 && (c&0x00000040) == 0 { - rval |= sse2slow - } - - /* XOP and FMA4 use the AVX instruction coding scheme, so they can't be - * used unless the OS has AVX support. */ - if (rval & avx) != 0 { - if (c & 0x00000800) != 0 { - rval |= xop - } - if (c & 0x00010000) != 0 { - rval |= fma4 - } - } - - if vendorID() == intel { - family, model := familyModel() - if family == 6 && (model == 9 || model == 13 || model == 14) { - /* 6/9 (pentium-m "banias"), 6/13 (pentium-m "dothan"), and - * 6/14 (core1 "yonah") theoretically support sse2, but it's - * usually slower than mmx. */ - if (rval & sse2) != 0 { - rval |= sse2slow - } - if (rval & sse3) != 0 { - rval |= sse3slow - } - } - /* The Atom processor has SSSE3 support, which is useful in many cases, - * but sometimes the SSSE3 version is slower than the SSE2 equivalent - * on the Atom, but is generally faster on other processors supporting - * SSSE3. This flag allows for selectively disabling certain SSSE3 - * functions on the Atom. */ - if family == 6 && model == 28 { - rval |= atom - } - } - } - return flags(rval) -} - -func valAsString(values ...uint32) []byte { - r := make([]byte, 4*len(values)) - for i, v := range values { - dst := r[i*4:] - dst[0] = byte(v & 0xff) - dst[1] = byte((v >> 8) & 0xff) - dst[2] = byte((v >> 16) & 0xff) - dst[3] = byte((v >> 24) & 0xff) - switch { - case dst[0] == 0: - return r[:i*4] - case dst[1] == 0: - return r[:i*4+1] - case dst[2] == 0: - return r[:i*4+2] - case dst[3] == 0: - return r[:i*4+3] - } - } - return r -} diff --git a/vendor/github.com/klauspost/cpuid/private/cpuid_386.s b/vendor/github.com/klauspost/cpuid/private/cpuid_386.s deleted file mode 100644 index 9947f7b6f..000000000 --- a/vendor/github.com/klauspost/cpuid/private/cpuid_386.s +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. - -// func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) -TEXT ·asmCpuid(SB), 7, $0 - XORL CX, CX - MOVL op+0(FP), AX - CPUID - MOVL AX, eax+4(FP) - MOVL BX, ebx+8(FP) - MOVL CX, ecx+12(FP) - MOVL DX, edx+16(FP) - RET - -// func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) -TEXT ·asmCpuidex(SB), 7, $0 - MOVL op+0(FP), AX - MOVL op2+4(FP), CX - CPUID - MOVL AX, eax+8(FP) - MOVL BX, ebx+12(FP) - MOVL CX, ecx+16(FP) - MOVL DX, edx+20(FP) - RET - -// func xgetbv(index uint32) (eax, edx uint32) -TEXT ·asmXgetbv(SB), 7, $0 - MOVL index+0(FP), CX - BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV - MOVL AX, eax+4(FP) - MOVL DX, edx+8(FP) - RET - -// func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) -TEXT ·asmRdtscpAsm(SB), 7, $0 - BYTE $0x0F; BYTE $0x01; BYTE $0xF9 // RDTSCP - MOVL AX, eax+0(FP) - MOVL BX, ebx+4(FP) - MOVL CX, ecx+8(FP) - MOVL DX, edx+12(FP) - RET diff --git a/vendor/github.com/klauspost/cpuid/private/cpuid_amd64.s b/vendor/github.com/klauspost/cpuid/private/cpuid_amd64.s deleted file mode 100644 index 68a7c9d88..000000000 --- a/vendor/github.com/klauspost/cpuid/private/cpuid_amd64.s +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. - -// func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) -TEXT ·asmCpuid(SB), 7, $0 - XORQ CX, CX - MOVL op+0(FP), AX - CPUID - MOVL AX, eax+8(FP) - MOVL BX, ebx+12(FP) - MOVL CX, ecx+16(FP) - MOVL DX, edx+20(FP) - RET - -// func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) -TEXT ·asmCpuidex(SB), 7, $0 - MOVL op+0(FP), AX - MOVL op2+4(FP), CX - CPUID - MOVL AX, eax+8(FP) - MOVL BX, ebx+12(FP) - MOVL CX, ecx+16(FP) - MOVL DX, edx+20(FP) - RET - -// func asmXgetbv(index uint32) (eax, edx uint32) -TEXT ·asmXgetbv(SB), 7, $0 - MOVL index+0(FP), CX - BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV - MOVL AX, eax+8(FP) - MOVL DX, edx+12(FP) - RET - -// func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) -TEXT ·asmRdtscpAsm(SB), 7, $0 - BYTE $0x0F; BYTE $0x01; BYTE $0xF9 // RDTSCP - MOVL AX, eax+0(FP) - MOVL BX, ebx+4(FP) - MOVL CX, ecx+8(FP) - MOVL DX, edx+12(FP) - RET diff --git a/vendor/github.com/klauspost/cpuid/private/cpuid_detect_intel.go b/vendor/github.com/klauspost/cpuid/private/cpuid_detect_intel.go deleted file mode 100644 index d5475ebfa..000000000 --- a/vendor/github.com/klauspost/cpuid/private/cpuid_detect_intel.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. - -// +build 386 amd64 - -package cpuid - -func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) -func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) -func asmXgetbv(index uint32) (eax, edx uint32) -func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) - -func initCPU() { - cpuid = asmCpuid - cpuidex = asmCpuidex - xgetbv = asmXgetbv - rdtscpAsm = asmRdtscpAsm -} diff --git a/vendor/github.com/klauspost/cpuid/private/cpuid_detect_ref.go b/vendor/github.com/klauspost/cpuid/private/cpuid_detect_ref.go deleted file mode 100644 index 6f9231b13..000000000 --- a/vendor/github.com/klauspost/cpuid/private/cpuid_detect_ref.go +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. - -// +build !amd64,!386 - -package cpuid - -func initCPU() { - cpuid = func(op uint32) (eax, ebx, ecx, edx uint32) { - return 0, 0, 0, 0 - } - - cpuidex = func(op, op2 uint32) (eax, ebx, ecx, edx uint32) { - return 0, 0, 0, 0 - } - - xgetbv = func(index uint32) (eax, edx uint32) { - return 0, 0 - } - - rdtscpAsm = func() (eax, ebx, ecx, edx uint32) { - return 0, 0, 0, 0 - } -} diff --git a/vendor/github.com/pierrec/lz4/fuzz/lz4-fuzz.zip b/vendor/github.com/pierrec/lz4/fuzz/lz4-fuzz.zip deleted file mode 100644 index 4abfa3d3e83edcb7202f6bbbe739f85ac5479431..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2361685 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±z73{sw_E!VpeTfjmIiYz zUWqK;oD5$6Iqh}a5vnu~a4Em!O9%&546(gSdVruHx06>c28&1|w z!ZiYTENAP?a?;cQo9YQVdZH(}j;=?L1Elm+`T9_=R4ep|U?uAC zK}4r9HSKI_J)yD}SrD1_gO?%jN@92&7!}|_*4wla890|uu!(99Xkgs(Be=|d+2s}ziWvz^rkwE1bM5cvqxz;UKIC<*)PT~G*ekVUen2nD18xnbJ$jJQ1lv$ zn0oEkof1uamkO+5`YVLMobar9yo%K`e7;TCX?)l@mRN-`#QIlTha&EblrzGG27}|p z(G=qj^{1Irx0bcg0*}rXM5L~xC|ObzP07IHOv%DXN;<+%FtYf-En|dJHlL0ZK3F4+ zmtG>xy{W_oy(>b0?G0W73TX{^U91?8<86u(!zlqr=p6Lt9ih+op1m$~RS+MW zBGw*+3xOZ001UElJ`rV;=GZ1w1lF~&$VN?E@FG^Uw>!nMf_U_=)($0}2KA*0LxgmR zT?K_^pP*#1uT7iPdXr($OjzoFs}ch@bS^t%PWSyzu@_r~8#bET!ekxI+y-vLUAJj_rK+1CH;b7ZUA54vSl|P5-6c9H;shS}B5_OzE^$VYe0l{pBw&K-wcJ@3 z5soNmsFakT1>Yh^L_k|#awc-h=ZWAiLj2&ox3&K~mR z%WE;5Xq4Y4i50D&(r(<$b4ax-5%%j)cR%wg_!FzSix2U9`qO;G-1k=8n9}be_Rh-n zsOXYfO)2c(zvR>*mi1uYOP*i}(&^pezdV_;)m#QVeVi2n2GiP{tAS{-LPw<3BIy4Q+fp|MAY8iG?Yq3TyKK&aZ8 zVeL}zHG`J+EHdA!66|~LqoxAI`;ad2)RZyV59UN@Qc^jqsZ9x8>3<1yvy;2|lM>Yp z>svNe;_BN>sc(((a&H#BJyXLa5PlCL4)I=XJJw)HTCnYSlQ>eKk9P9VRuONviDW;c zC1%#YOv(76dr%tRn<7pn;HH`JD*tlO@kHZU`ei&x9~SMx3dIQP=K-}^0LJ!iCTih} zEy~WdQz|qZq1?vJ8!))8C<28+aVJ}_@AZor-@$3(c7>v^CcxC@IO7#1DOk*FVk!a)nwQiGTkd`S+7}ze-~#Gw`L1*yU_2L#w6T-O*Qq z^;zgpICv0Pr_~v4(I~cgB#Cq&qn-!GwwRmaG9A9bsiyriIXV<1f^P3p!&&`)?-eE3~8dKWG=fcei8yZBCQ4g$K`Rc{Q%=Ifi|mo*CU zOEzBFpy5D0Sw~_9`U$AQCS^{#M(;3DW|iQV_hc-MUoe_;v}^>>ar!8J^CZ9Y9rtpe zaCVmU=1Jxeb92F%wux7%l$e)1&78v`+DXHAXA|=wntXt!7Kd$U5}OWpUIFB|==A$5 z&E6+u>=lRZToUmq^~SkZobf)POC$5s8pKv7&JOKKW86=%^nCwv0Q+8CctVWPv&4%2f><~khL<|}Su4X^jaD#TIyMn!{)NOl za@t5o%-cMwo9fRg-)HSH-)Ak)B@~cdjBHzc8QbH;wuMa2Ck6nP9*gWRMO|=NBH<^K zZ4TPt!u>EubZ)?{^Buxkp@rk1FqJ*x+5nHZ^^Z23?t9GEx)-+YXtoA#EL~A%VYT+d zqod)6D!5uURs)A`W)EQsrP}t2RIA$1@Tu^*w-i>* zYSj@31BTK{E=5K8C6*>1Jr|#8PSl2;*liTeiR_cYw+7H1r(v2y64)>MX%zB4em;AS z*Yu`{3*pky2BVj9unKmPeuF8U$Mz~4y_?wR)yX~;P6zpekxs`{jH_;6geG{s6Sp_< z_qs*mlBKVAqH;*f-jN~J$cp-(Mv$osEIV`Vj>st zL~crqzJ%cQd2&5$@Q@6J9zjiHzL%nJg6KZ{R6q$YfVC%`%=)yKByZk!d6D zf%QJ;u)45{e|!1&tl98A8@~sB((3lLrHzunHZqK|DA_dl)W3<<9);c-_;}3Ap?H|M+}J_jFgkqh7swRrTssIkWJRwYvBw1m<-lhU8;WU0?y~TTWBEwh9Hq{!&RZJh-6$^aZwNRXj4L1NxTxaDjl^ zpY+k`z@w6oM+xVE^G`1?2)57t$%N>te1d3HXBwR`!{A{5nj-{e+?YVKgO!72Du(d3 zte0?jLQjV!SmO=PE=-|LQBM? zF3J~0;vWvh#pX#r{Xa-T^nt+0?*>NhK!mXN@NOFWr*K`NYKe)7Bri{S_M$4IUUv;m zoc2mKRePDWTD>IE6ku4g%;LJ;7-M5`Ip;^$2c$8oJt53(5cy{;=qUy(NH=v-j}c~1 zf8$>9v1@sORkU#`Mvy)6c?zqN?OPC?p=bDiCqI}KyLI%CV)xuYAL`!@6*K=$ef;I9 z{6(a2gZ>hId_K4g$)E%iP__D!kcQcy_`piVR}#fyi$Wa=W*Dm}^|*pDPG>DK5hxIJ z$9RE24!$SfB7U>zrpbNqw|cq(6YMja5ZHG%BXC$00&g}Dm}?*~(?DSF2m(7(MDgQD zCZdUipfSw|K{(0a4`AgRefd2CLF)h?g^G~`K|_y)thLj~O9VIp@4qcFQMam)Cc{LQ zR<%gv*p%|@t)C~;d3jS*j1WJx1&@oMOi+Z;94SH@?Pm;)Gge#Sb3;|o(XT+-dljab zn8I2z=L&K2;S=?iM0`?Yiix?Yjg=-v|Fg|63fe#{QFsYJx8(U_afmkZxcKo$>Q1FP z=rnirqs1kB>~8p&D7Z|~78ddz^d!S;bs_IfZeT3&Yp9Jng$Azi4K|kV-ePPlgWQpb ztFJzQ;y4K3z>-!p%@uVi6-Ex3v7r!11m*fTzzS`IHQN8Lxc})i^)hye!~H5*7v#BP zkaTNYbNmvKZaM#+JO#isc`W`?S2LD|6+DyO!@M3`d#OmeTux6>d;4%Ch-nB zwsSav0w4h3s97|dN8=@{%H>~)@PSS>=4m)~6~eq4S%+P-c#F0mpUVD4BDT|)_{~m! zQ$)i&9)m$D)q4`Kw$!hAe^`T6GU+g88$h;5L$m2Y#Qq;VG%F)Nst@t#ETczyW21v* z3b|LC=qAGmcJsJV7lx#t^el0$KU~X|t2l8|afVWNXn>Y;Ic772$5)HT?J)D3R>1j7 zkTd-lyeo`Hdqcm#{|!{Azz4={<6b*JtaRYEM%8CzsdrW2TBOI!Hnb^KxcrmW?9qdj zB-OXhx0A-vr}zt6IQ0jfB(RH)wTpm}629&!Q|1S-YXD4dCyYznxYC>SO0J`q_2Z`a z@jUog{}tZqdl}@S3i~mvV6j2JrY(xKqFzKme2KV$s*n{%tJSe$h-WfV~a1wiCC>}4ihmVWAN1AViaBn%*pc1 ztPdWd(+_!!00UOnVr}ujtz(G8?u7E9Igf2YAafw*^FsB_f67zbwC)fc2 z@o_`!i4(OkB z1>Afj+DF}?xPb?3EohD{Xtph9ZcqH|n5{pF+#hJ@){v3^fE&7t8)}v>Y(eof68>;} zX_Ga8VGIF#sk#M2k$Sg=T+4T{0P1E?sm6a=Ds8FO`1j@bxf&d_<4Smg zYxyPqeQxt1)ct`J{f{EF(CBF#X(GNRa`i zeiGI(n;>Q1LFuau16+1if5Sx-RU<#n|r ztlNVfb`zk*wM$pA|W(StzG8ZUY;LXYIo_W7$(z3<~_toQo8)2Pha zo9w+Fg)J$c(Ri;Fd^utUed=pt-{|UrZ=aok-*f3>Zm_p_&N$KH^6Xod8AcU6U3-^@ z99uHhA^BqzlbXrJd|2~3GLDaPE$;yY4isIx66Z2U{UrfQ-2f|Q8}>87SxozdXo$3t zeb2+;u%H#F309pp!u1$wn5vu-pw?^&hL&Q$7u;sW>x#zWu~aaLx*0qEeVt7!{PBI3 z(Ip%H(_@9?&wRaFcM@;!$}35DEpBhp8LBms3$$9p(iE-=9cGb&0fiz)rllWm793sg z+bNEt-bvB_eA-B~9RU6D9wIE9UjNzn(q!B51Tj)NDI zeg)mzm$jpKm}_}2uZqdiz3MvkR2UUVV{ys#*6sGG>qv!ESNoE1c~{T*)L)hABe5A< zwQY*yTe2P;0e)AH+~ixu|7)xohHgRGlU}d65w!YGBkdJ&y^OWB3(H#Tl&s&1+ff$N zjjl*5;pwCU(E^ffe0H$@G*z)UKI%(;LlRgZ+!6;Q)8;`DN_{GYc0L{Ns-%Pyq(jt- zO>u0Lf^3e~OLWnFNjxn8c}EQabtMbop`s&vt?J#5pg(5~lmah2^aA(3yZvN&OcF@N z9DKaOe9ZP6q@?S+8GE1wb7Pq+glX5JfSW`4pQv57#?2bRLh#fY^A+{qUlU6q2aOEw z2LJCEt^-UYhZfkuV=e?v44l8f3}E7;3w;o0e(>Kwub|C?I%8tFD*3?p8hlnAa?->H z;xPLibot|j!7U%CRt@ohl(Z9rF}DehcM96*!quT#7}`!Wv~2OoG~0x6;TvyLCo`04 zra?lXHzQ4SyDA3~rGp_ zXz@v{wtkHiRMJU3GV@m?pq#l`3q2g#2n~=Dt2iT(k-uXLF=wyw2BKVQb8Z z%oX%|@}G83ehx7f-moTC3O$LXe`PQIuZkw=R-~qlln+I_W{2xZCOFCaLZ8pEpPsvU z6sUMza1$t}J@CAXqBXivR{!C5*?)Kn{+xLb=ble{o!skC@HtAY5y#+=*`Vx-KsAPM z7m0LN+-o;KEF zX$O$dUI~N#cBDow9NSC-8Edt1hTbbIG(FqXpLy8evSdB|= z_>Ifd3~uTTy1*LL2|*Q`AZhZRHkD39H6mK*gf&&59dFV<(gCFV$5Ln`> zihKFgV<54EuufL$lQ}N`d~|c>RK3mWyy}lixEAFPfS$A!nuS9Tg%Wb|)Z=)~@v1*z z+X}rLVk}>A?BYrTNGtwRIa4xxXw}>3Q+LsVjJXApEcMiQ@x=z8V*?a{uP1K;g(yox zhZpaO6JE7C&$Vn5mm%^KnB{DZlPvk?ldveVyJFMfT0}#Yr*6V)en!|jkd#0aW%nZ` zon6a&dvVy%2o62QH{ROXc&Z7;Um&+qjx*5s0HE<;EXXSoC#;62LZ0Q_T9jvB6zLUF zqlAg1FLjS_?ewOu^`Z7pqv9nJdS8-^v=K05)%)ULgndbMUY3Rn z@E{M-b9FFQ$yz_9`+&Lal=$KvPY-zcduEcsb=r5!c-`+p`I zTeO!dz~r%Q&Fbb}YO+c7Lm^c4O-487uk@BZ<0Px7#exgs_2(YMVRlh$KyHk;`f!|2 zJ)`*fP+~rx?(*w#5iA`wu_O@W|Eb>iJWo9elPoTB7WqgCEKVomiw8%|w&Gl-Tp!MW z9YA+^>dNz$KGRbA8f;&1Vwloqe+KP}53M3XF6~9tT*{NpsHUy88lPh=eegH<^w;R- zZ}T2ARbTrvRL8#DI|0;)%#=@cOeirkNd!=qq2|9;z~vlv(9v(&4jxDYAT zyJMgiF~mt2)iH!>O_pBcvAq(+BwABe)9TR+sXM|>_SAPK1$ zX&y`0kVAs9p`fyn{lu^x2a%-&mz<&09+&ZD2d6+EgRaq0T)n2L z7kD|Y_Q0Q;(lrcIF+@rwZzn?Gd0KNX&NGw)_Q!ftgTxPm4$N-&VoQ)w9z1cr{hdEq zKPfc&hm(hd1VfcX%iEG}cJ=(GVaUUbPmBq0*j0I%gUeWGOhEiZA}Ent)Qyi4>C~FX z$X5AlYC@~0PMwm?~OCT1?H)%Br$*^7B9+VGE2V1nvHu_)o8 zRdY5ae4<@n|H%}WzXxxY#jc5Upx7OG(cF9?QL?ksj>#pK*FQUq*E31Muf~`MpxI{Q zuukeNAWs402Ml=;lGx0R_!`A7_@G*E%HYLYEa1}wIH-*3+UOO4wx-LTTs z|E*Hm6XZ(6)jqWfeUZ}}?@qP!Kb5RW=jl%I1OvOs25O=RKVY7}Y=rW=lQD3Cc?f%| zFmvs|^^|m$4cKzmvXzPh-N<8u(@^2)-H)8@Q}~j^myUe7m@h5(;^a$x7F|y8XgZeIF$7kuQZXvHRd#;c@U6m-s3%aK5mFp zMwhmQ!+Zo?6W^fEBt{sa!%lQQV-MkT2bPqB?+`&*H7@^39+M7hVqX=uHY>BCqyB!( z!2@Eua3!G~bQ}TNt$Up?FCwISgxI}J32)?)$l6wXCln8w$0g-wUM(329k_nGMVzBZ zWjS{{Bx7S-6B$9%)pa;WC%2?Sh=eM1a@R{T5$U0A`Z&7LNAhKOrZ`NIh@0`t_@N#T zBU8*)Xk44zxHfrwxbuW-Q+%F!I^$0ebN%7?NgciZbB@v>xpS|;q$kyf;}!prczjd* z3#{fny*Lm$ti?0%AQ0Pi*pfke6%_9PWj;*Bceun0(mrTKRB$yGT=IrOE4fQaKw%|! zZj2XHOpr?`_xCR@W#-rX{0e%Gg4B<}$HJJd3|iICr*8G7o~F>8j?;>I((qMsoWzM7_jh_p0yO|2+gLw&d{cWy^)BWN1XOm7&! zp0v{NxB}gtY$>*~BC=B*e28PqhEWWS6=Sbjb^Vxb3i({ zpA2dzrP3QRw&rqXG#cHFC|3IS!2oXo%7cFV8qt=T;acRQ@CK2Q|1u8s+o}eo?2Ibq zX|og|D$+rgNGU~es7|Z`!DctK3KYS1f;2brlp=`~hiyv**)U_{~<` zbPv4ADNYkg5C$tbW(+t&=zXoqROJlFY|4jf9H|bUMF!ApPD%i+W(8DC)BXObc zVYu_4S9$90U=N&4pp4;yR)YajNb7FH#E>&3&8My>MPP#=w-2*u_B-iJG6^K`YI2=L z<38$jEvw>>MVIV?KlX~oO0A-F0!X~@e^JJv;K+Jx9E@$X7rk}*;UuWu8%N{o-{&&M z7M?3OYB^j$>~dcq-cQZLr`p4?ONNY=N5!W7BaLN1!B3#4;vGq(n@J0ozNh zFS$Xq9`P#dN(MH5uwi3O18l6dVk3sIG0;+;@!{;~4}YNDpdTA2P=TXQ7)P;;qlu^f z?>OpvDhfw*8VoLd_(Hkh{VSUW2eGbHbVmF>$x2h}XbA?_VA@=C^S+Eto;gG8gL0Nn z`dWDWH(NrM-Uq~QJmpXTAM3f@EyX1QM2_*rKi&!($B=|P@G*>wzPUG_%S@#F!#7Mz zV-cnt>%=3b@T~Y@1=EK?VHXd_!iKY8e)5L0Iz@9{Hy}w8N06GrRK*+KI!9-}%k+ue zMES-sBuwmz$B^17&nYL)0Wqn&)D9@(f%Jj z$ak7Tb_dcP8O{y|>?(=j*`ez#!m$#&V_y$Ng{o}$J;?H+C7vL8FE$ziIg^jwyia2O zxOCLIl@a1}?BD4josP|u*ws@T!a3b3yhPiL7GaFyEq{>bAmrfCel!$MT5l+6g69av z^noV{Ib9_>b1>o%9|-P+6^uDVN5Oc5K+h0oLufnB6FEzn+Sk6tJTQ-yLTFThNHjl* zPV0_V$0xUghl%92hTebb4%F}dpsis2;d|jb*GIzu1}mID8Z^%r3RxrN6A;tz(GGZ| z*W61Q>D!$xl{d%A*Za)M1rAFJZTKrz2zTY#6XxUYb~i=6QK-qVog zLnzGSr+XJOH>HDqXvcNv?Ou>1vB#MUb7?osr7@W_k<=RX2iHeK(o=u%pX2a{Pjs@+ zkR@J+@wMO?1elv-0c?qYGfY4uKI<6D)R0dO7)I>Wq2Wjz)l{Su%u0hn_sWEuzN0)l zE`Ss5HXlti&h~npPs@!j&pt2@-?V`@l&)h8{Y?#iMca$RiK%j4hi5jhHcYge8QO{= z`aX}OeJGB8{Ty2U%b+zh@1Sw>x-s~Z8w`Fr4SrMYe1m`JiAD!s4%-L+ z*>ya+>5UKmVWaIYIT9~(E%8-w7p%*GkC z6+lE8p{LT}1}&A|VXLlRG#z;wYtUzlj0TmTX{144L=!*?5kM35d<1ZCZleS+vH<}s zsO4%?8Yh6#=+`Cz7?`;1bmYDkLtDgkr`7AFKViKpICb9j>LHfbENAeTGBA&&e)L6A zsSu-(?~eA1B)TZW4-unvr+MP{mgq*5T!FmBEzVEw;i0m; zZmzpu5zDqQIERdz)fCr8jM4x!pn)({IL9(dDaI&aj;x#JM2!+BR!X4&MA4&kc(r91 z+zm!)Q}pWwqx2R^OwIp*At|kIJf7$(-jAWZ$U@ihf;mt~>sbygG=)$M z3DO&}G?jV!L^_011UT!7ZtfF(YL3U}`Uqt4@ySKrRDJXSH7C9NbD9w_kIjL=`bz$0 zsSll$^xMt)j1{0HiMYQecfF!3`8MeHCd642&gYvWvmKjNU?DKfte`*jd^lWQmfTyy z1AE*PV@=?QmEzQVWd{*&z*@p72d_RP5EU|udGaTQE409^7I4tc$1_Abm$zU|s?enA zlAh7!m$cU31M+XQGyAOs?5f-@S(~~Reyz#9(xKGmdgx1AvoV97e%Fi4F$*bQw-Ih- z{yOxC9uNt)QutqlTgegOR+PrVt$e+WRNFZ#glcPIs@8}XGH;V)jF`jP$zTC3cGg*x zNwcV9#rbBDRMF@xI?_PWS+bI+Nnzu>PK|!uU>4y@X561SXKCdm3W7teEb(JoeAZU> z<5u3|Z?u&!pR>0zhMEBdhQ7rHR!17BR~v8siEmV+F_)9H6;v^kbMkMo96?ix{%4!- zZ!`Zb@ctS6N!L%v+^#W)4d5kb)({1c7#HPJ(SNW z3DGQy(E!DkXV$6WcIa22#-QDg)c9H3O&9nG%x#R3!7<;1R2WaO_daO zlCF*6Nks7i9`eA~k@-@%#x`G+|6;!6i}_N}*nD|;t0~ElCoc3{|MXH?Nk8C=?+A?R z)lui8(~VGi5m~2J1gwE;n;17;QE3d<3Wra#s?m*xFX(Srm#FO>n1$F z8?8TAiOOvgg&#@ar*&ia`6HQ%O{vj$9fEefd7l1_G0M-uz3&Ux)95$^l8td_WC$=t zDqBaO9d}?mX4>bk$k$2nbMlPASrHw}WeyVE}ZTL^NpcVO< zsdjg=s(z+#0!Gou(#i4v^hApfLps7OJKWGY7wK7*4& zUZ2~AqszJ~#v|j=(msYK+Hkl3%qWorOp_PmBeYS-FXVC@NLR(xY~V{&M(j`!*54T) zjN6r>IMAha5(28ahQUDOQSc+Yn$E17>3f5cU;yRWFHK9vNSzo20#jge_@g36;=hqX?%Cm2w=N?=L);RmX4+nI8#dOj2cNT>C zBxiKa`d>c_heMlHDfB7l*fgGR`YbFAXD`6ZN_c6Br})0{GDxoR=JV&x=a+{m<{k!~ z(g$=DR<@O-x5@o;4D9n33bGuxWXT2;knexSy2DPV-e3L?^RvYA><7vSIUkbtEg!nB z3l7&W*BOKKED!0k@Sr^VDuyNH01d$Mm-M(ZKhEYN#=Z3LZWc?iyLA%Ko8fP7n4%<+L-f!cTo1hjfCXrZuJR!DtVI zt~IAV45gQSaJKGnw|NRg@9f;i00AXk%d@lSrsEoCZ@gLK zOvMWf{Ko7q5__=(uk8&wSqu|;C z~c(Dqd(pUW&+aR79@Gp?-k$)9MEEctf<90yS z9}^vD|0H(6d9puruGV>|e-~nfbliq59uJ!bG|RJ7A4MX$2`Ih_0M|GZ9%Ux+yeJKB zr!;FXu!PJVO^YC1CAPs|9_m|@p$>`sB48LF>u(*#7e4}4@)neFi_y4#^RaP*xhV%+ z6*r)r=Vmu=I;H`dikmEe zsz|4piL5UjSV?haWXZG)2j`MI{+cO;n}Go}5lbi23~fy-Q{r%Ybo=go9YVj-#w1cS z9sj=04D^1PhJk2JV7&hIBD)8SqdC+X9j&+CE;kZ7P zLUW(K;nM**fYz+3f+C7Eo^J)T+4B(avR?g=mpz3gm)^`F0f*r#H;tYo0j;(G2q@!^ zDWZ&@158yp!NttwLRnTaYzqrTXp=8+gN4O8@Y%oA*wB-~gT#TX8Jd6oP@pO}mzmV~ zDE775e0^g*A74ykutd0&pJ`Xx-yF`8G#<+8QfxcaA4^d{BZ}CgW?7@CjL;_NSn}0& z^V9nog64wPB3MjtKk8vG?gQrd?U_dQrveqpbXJRw=v;+n&zT3OIxvn#*;I~rjpuRj zNezagEhj2`k!A-v`tdau&zqo&8}kkHmVIoX-G?-hTE=h`ABiSIyOI(tw~9Cqu@Pxt z2MZfXA;K$2L6S|RXr3+(=6NeJ<8Su0lh|twVAE+=GWV4jiQNwEp+EnT9%%qJcsCcV z@DxU&@yfRLy^#_0jnPjYdi_$|z|!W4hq%QCr6n5OcU2ysf`{Pl@f|>lSh@v?@`~ZG zn5#P&SVX`pm`E1Ytk9IU^rcob6IRRU_E?G_qIr#B)`&vr7feOU`5pbmQ|J2cr#(0F){eTwyWoL!ENCDqo1< z8t8N6tg~m)6Pl(cCH|IX0S@+IOM5c5avSQXZ8b&wi-Wqw`miO?0z9z1ZW?g+bl38S z+Im%8ap0LdGltblJkAe~@GN(@8eq%55ji6iwXU(`Rt5T3ePMbu5>y(H;NqSR5!w^j9HxXo1bMY0g<9DZUQh_$2tGhG8Ne1#k{wE&!M*2%mZllZ zAG?7;+{6#|CYEq6OrC+CGNn^SM~a3Rd%9C;925>ho@NhU@rF5C%#4M4Bm++O!|EfE9~NvVuj@Z zM#9xPg`S`kY}^pKY|&5rJlU7b#i@$9Q20)BW_CiihqhUG$*LBy1GBcc{I3uWH&VD3 zl_QGL>DV_q0A%%kI?s)BegIoDbqZw=Z;8-_XZ*8%n{)#WcUG{tpNJn;nxSY@Gbw%| zJh=i#u_KyRQ^|yQLUAptMbBr>XzSrZjb26iNssZ5)IdL}CdMS<$6*X$REu);yZVu{ z&x}I*vNIe+Sp8#u+iJ93%wCbg2B1uIIbx&g9nd8bu01|2C()~=lxG)>7eXPt(3Etv zhdVYZm{h(f?ly$e84XKWV%5w zkn-$b$B~f!8jYIbsm)2DB4}rdf-s9+pOWr;z6J>BVhZ&p5__bGsn;=FCn``p)Qezw zwuWWHutB*4v>a@w$a;eJ_Rgk6bygT|a7MIy%joQ<(J#)uDP9C`V&e>EoYe>J1d{Jk z-$*=;{Q7hPRUqPOIU%?pbl#H#ePk4wt&J~hO8#1|VGU+EmD z%p`=}0EC+b>U@?#eHeRX(->;YVk&GdOH@m$BDL^w{U!6Q6%5-*t{P5%^?DGym+LyBOe%jx#;R3CKp6BvBw^<1H$V+qfgW(a zK)Ks|h1BuW8=|+t8<;veu!_IzN<+6os80YY`1g9WAmv(&g|EHAqna7SBaW&g*b^6u zgWG|$-Z-y6-E!hD2XSZT`X!bKbaBWICSJ^XqMH{8O=PqzO#q0Tk<6JgF?4Wjsh7i_ z3oBPT^%UbYe~D#|7fTyO`}^!fEb*9hb6un2&|=NSX~t%OS&-g-36r;*)Z!e1(_3TD z(!v*vfA^^H&HZzHt4QA**o-zm)rW<~A+lY#ffbQx6>zriW|)ZN4~bPSH@-LKm?cBP z*x#Te_IRHwp9|2idusIJZP2`j?9H>|UuFDL{zNW&Nw7o}}qe50tL5(Jj74U-3;WC*hB@mkfRZ`PI>^_Y3%Vebu2@&}^R=jhbz2 ziAR%X&~02vTTL#Z+ZfjZ=e45=9qyVn&MV;75jtk;e~|YFa*%KpBh5^0ZoIg<#Z@eb zVh6l7mjwY$9$g0IYiakjPokJ2bC8etH0Q1G*o%B3Fe4TZjZ}NL1oPCDx&FP5yk=XD zd0jo$9di||8|_M|KIU?J3*k@Oo=F`gc)0$U>)vX3v39hpmvbOIbIr2Eg+wd0#;vA7SXcXPThpW9G z8>5CPqtRO*WR0|L2)kt$h$2nMA$3U3F;@>~XZQ?SlJKAhTQUUOx%rsSb$OLf%>}V+ zi~>#Tu@Sok|Dh+t)*f@U@)p1+xdpDfp})PVU2|^7C8c)e5@Ub^a%NT+)K_Y29VAVl zqCy7>fwZztPiqP43GLy!DvuE7yK?H&*va*r4KD4O44|h}UCGAmX*1Bz9B(KneSmid z{!q3Y@~TI3{kt8$W~-@yWW1!=}UlD zyl9U#>bb@tnHEm{*wq9!q5;^ce&(JkfNfx~Hm_K~=*;F;0p=mF*BMNH(awaIvaq(Q z*7Aa)u|3nzvV*EG$Rx0CFWbY2juT*R0-L~KS1q-J4FE9xm2@(Q=hWb^d`*Gta2!k8 zE48y}Hyx2l%IM1A9&}D<650>KeI05xOi@@?@J;wllO(tg#D1J^YlC>;NxyG1@R!q3 z2P`Q5q@pDxKZSGTdL*da-i;H~DG5|%kkXNu*8VjyQ76`gevzX7Ma9!O$;P@`w2;g^ zNJ5A>uMYHZLm`o#2PfXk_w&TNRK|&SZ?#F3qn=FW855X_g{VJJ>vq^%2avY_BsP+v zbIt?34WPGj7u*R8I}yX-+6wem&NysD88*pXl8n=OBsRi0Fper&L8g+r6JE#z;9Er5 z^i+&`i$!ms+DFLW6%y~+iO=e|s)8DLw*&syV71LU8J%=1h464Yv|$Udo0Z0cZ}35c z!?=r(fjYmtgqac)w;EcUgAa2GneD7~&Bv22!=H zKvIFH8>z8CrX)j8L=NwQ_aeyv_Hz~Vua=OX55LyHT}g7f`AlJawSpN4e?dGIln26$ zzWs8VX0Czuh=@O2#j~-9X5+Fx1h#vjWj2x<#qz5JOY$&F+TNQ0fBJ_VFmM%HRS7#- z+0tS2if`VxzniF0T)l=W9^jfh)PZiB#S} zE-%oayqYUTd5K)!zFq`4z5(F#2B4b(KV`s+8dUs#UDfFuJ@VZdAlJWy@t%qRN_z#IllWWeghcBZ=t0QDX{9cW!c?!zoAn1}om zX4L#dnkB1fHU+-}4(htQihpc8ODwiWU2xMGzS|J|2U<_gt_K#|zOnrYlDC?&yp^KK zwZnK16|ME{Z?V`3uELi6ClPUnULdsbwU(yjOYYXzRKk0PTE4<#p!$qNOeNeQwF_-` zbkO8p;+EWCa%qrX(*)IZT2k`2EBInMGKE)V+O zET4sHO)_^TyU z7pKca)wTuNeRBaa|0x}51l?jtNqoS~OF;WU%63D(v&m-D%&GG_?iNHf%J8PGGu}?7k*XpG|tkiHB(qYElXyxTcFhFuDxu z`*E*CL+s+fFBl-)7;xKO3jMB+hN?oZHz?mV`&WtQqkTMTB%TWK`eze_O~AFhAQ6c- zE8;KRjX??~vYwufe)XK(7$tVJ?^_YGb(E1LyFB~#0<>lfBxfhHxZYG8^zEbmygS2M zE-qX)|AW~eEr#Y91+Vo5a@-L^M2CNf7DrCHWT2Jn{xyK_v-KCiw`=w{jE_W9Fc$bg z$~UH}Ijh}2Mm#)R6@L6Q>a&uujGw9Fxj`Njg_wW!F;8frb<;pV8-|a6I2?u!r#KYr zVSs(63DM*kw_-js^3VFrfC}J;lJ&zN?gQu}S3~Dr4a@;dG@RVJrU5=CU&8)2amlDL zaAswU6v8ett)R%zCR=$ne0Ga5@CkD|@~)A*Te;S>T!~8723N&fj!0rFhwG^qhygC# zAsGzt2?w$ix!JU2-h+G$;pOM=VmYpI9Q_<2e$E@_u(a-f&7P&nJ%=PyGx)5a2$xLj z1fI%liOfO|ll}^*2UN93=6PvnVe2RzOD6+Tq|&Z>2V6)wZFOl|06KN40CGD?hQ@uTENDYN{lNCctFYs9zc8t)&JGr!7dEp?@lYw865~&E%bD!r{<7y(zZ+_HeZQJOFypIl~|0ZI^^9 z-q9FdLyD*gwH16+Mcf~?+;6trziYWStUl1@n7AZrK2OV$pw#O}?!_5`qqdstnOUI{ zpxiB;x=7&~RbB_z&@P~@skgHj;?#TXk0J5>WDL)#Qm1|iv{dg-Mp7t9VWE z@HA(qJCY^PdIpdqu_euNArQ@u8LTSt4!`kEM1~B=Z?+b>+7_;e#owQ}#qYWBTfZX- zd+7YQvlt&uR;f7oeVjvoJvXitC`GZUJecqRZi){qALvg-q{d$FLlfABmuXXj0=)tiL!^B4L zp3zFw<-tyjYfBGD_7TV%cZ3?0c^ey8&G|lJN368Qc|0Fx6HF<##~+{_hTo>~Fynr` ze)jiBV{m`tf;@gmI)WwgxWv4Q>c~=RY^@);x|6>*666=8ukmBvr5GI4^ca4mXiFDS z_ufwSkd2U~ZRA3@E>k;;2H~<;!2p4@W@#u*EFlrIwjAqgEir{C3{ViE5Ds?+6oP|( z^m81W7n2t;*!`W^mm$FJ8b;!7{ses)-ewv#vOm6upQG~zHGQb)4L#zfcZyOJ$SC*k zJW>?44>D%x_j`DTBGOQ%VtlDf5nr18#I5Yvg%bSxev7g%(|BD3>fO-ekpaRDa=qU( zSRyA$ryX;XjF`Qc6r_oXk!plzq_+Wi-N@u9szfVD0dEamyPf<62Waxh(qu_<-V1-b zh557FN5K97QoaA5kT4o>*1=+Aa=kFY~ikf{In}H|)@W@P| z8NG4DDPQVp#kK4ly@M~GNJq8cFo@4{;VxsV;?Uu~0-xd?a|Jq2sEpXj-~K>Bn$9Td z=OV)NhwN{J8LSqtZ;FG%+RUT4))W?T2TYAWJHmv;=kh_k)8s=Px)5Rsp`e?LNZXYs zOz&FS4tgn9(?_~#BeR+joyjGD47nZrMHb!?u7IIi6U2-j^eJ(V6X!hq`^hFTR2@>w z|9L&uHRz6 z+{DZ%1|Zq{Z=s6Po*a~nvQ;8|QB4;NrFopTODmGekAmd<11RvmriFHr_nWe$t2qL@?jGf z(hTWDRZg^4In}HZ8dgp}FeJ+OsjS9(Xui?RCrdnZ7Jlg29Y{Fa{(?OT*?_LFz+#;^ zj02Mhs;I(lv%j>fgT^CM@DIGtp?j1@q^|T?vwzt?`?U*OqUc1A9`q2{Tb1@UQ~{WN zNe9zv#X)c}$pp-O!6~Z5b*;fU#Fad`0|JhQ^bz!}tX=7(v8+fgieU!N(~@1n%4vXi zl8Xcf=9$V7lilLyME;p5;O7!NJ^}Rh#8{#Wk_)N(3)qPe#-)I8{x<*4(p`Zf@gjv@ zq~dU;(4)86R~64wbk$#HYsaWcyNzrqjD_9=%~4SVJI^UKpwt%yfp)qefeIH{Xd+n@ z*byL6|Dcm33Co8#aGj1dPW>P0?_lW#>Fc(q8d`ANi z7e@oo)IwfO1zwqF6U8jDQJCRb7$LH>u|1L`E1Ajn;{z@20leVe=SIc9+C%Ymw6r@- z;1p5b4zs-U|DGoAKR->bWtxn0Rh*8YJEyDSDBmHSo^3-2{$iG$PGdV`{NT2BI(;Wb z`ajbtHHCJzpEobzB1F!iH8fwL<912hAeFW z*+)RS4agXV^iQ|%Gc*&B@do4$USy)|{j`JdQzv*aVwebxvWE-oH{D+K#{i~Zd@+}5 zs9ivN<*n(1ti=ubk00!XxB74fxhr5N&yfhS0zp27Kef)xmR%(LSL?h&+$l3xA)TX# z?=5H^ZOujft=wKz2P~=t-UeIo0rfx5&}G7Dy39RAmv>G;8TG9Ieu!=;Y6EcPsW2m^ zOvOJFO)^n=$b*NE!IypC2bI3}(Z4$Hz7LDy^QDs#*^2=q@|x4{bE;}5u4RdM`YG@) ziDw2(A_tj|gijiV^wkPl_|L$^pM@~m!pLsNeK!A~We&sGbM7fZ(%)SXMUi@k$U+l< z{`vjkuw~{3@8_RvzwuKF0?u`gc?7qPR}0RRG;$i(1CnAS;?ci@v@$^G@(mP94Hud%zHd<}d^54uV8q+{Ls zSM4xghnwK5PTN=Uml6IGhVM`CFCzR2H_m^qWa(^sSn1$diQ5Ty?IW?n=WaS0@n#}z zW&u_!gERwM81{B_2*uH(-7YL?Gc4}GDD)L-pGj1*WB^(aM;!6&i8k|#4Zln)bw!pgAbBkS-%c6&TL8C+7q7T}5$6t$E zmPw}Pg81Z4%P0CXLufFx=C-*)-E^*wm3W%eG^c6O7lW=-yxGXGge}8@$2m3m@6E*w zs=SDZ`|xx-^~?i_OMfH5LFMqes=~^tFG!#d0w?TKXefR#If157UxFWk@FN*MuK|2d zguf}lGUZYcz5<@;4|A*5UT1ftpL~k^p8IO@H_f_8Sv94={^dvDmW;d?!;cd2!?mC~ z7z;#{u`YO)2lupPuwJp;7uE|RsTfG7C*?g(`@z8QNimgz@17+WVBG4!{m!pWqqndh zc_#1El>kLO@;Fe-AYQb4oo2uqjP>>LTd>&tje~sI)*A|@M|+|J3|H)O$u{*%ilV1| zb4plDdsevq#WQ{AxBt67Y;KvB_JCLU@e$H->sLg*r$QuSQ`IPr$vpHt&^U#ot$!0* z?hT(W9>wH`u>awyJKC{sMg)TE8U?k1JLeHZo< zVZ&HVfQy;&3AM-A1l*!;1GNOt=VN;wJ#TwlvvJK1R;h`x^GA zMb3AkpJk*oairUxFlLS_Kiag5q{rc8#r?%v=Y*z)X!oGF)4PLY4C|RH-`JFbEc}^e z*f)I}Q6-S`nlkD&xocCJa`EtR5q8dB<0P-^7HiPq85+~&6rVCm)T`>Tp~spai*`)L z@H8 zi!sA5yOT=sG~qc!IPxF2%v?Hg`r97_)!Yh|-QS*mZ^Iwh$TZOj+z(vmjF90(UAqI* z_rXxVmcU(4LzCW0r zJWNm7T*-_VV32OhGzRI!h8S3HhQXgNzCdv2VY0@iwQoWO%y_)O0tYO07O8=n{0H^{ zBcRK>0Mw^BzZqq?L=TAhYnSMRZkHsXfw67d-#bX`6+OiCiq3#%u35(&>=oUWAkO0z zy=D;k@U5Ur+Q&f;x=$3hghy}Vy(%wefR_guZj^jlO%4oVH@_UXPo?pogQ4;tBl$Tx z0Cy12Q}hR&#D@!a*nPVma`D2DLu8ZFg1}U(OBu&s7GNxbbzrc)3++pRM}P_cUuOQ} zYTMf=>QqYx6aK#pwrYl5joJ!edK$O9iEJm!zQ+jr&`xqbwpsWbnQ$nq{HbwD9O zK7j8=$Y-ufmiRD08+f-7A6D;f6FC!r84phEQPgcd$7*E@X7Fauax|NF&LgTTZmOux zi{T!K@0%-`_?qjVZUVZya&wGCGB*45Ce<5$y&K5)*ZIf@+Vz!!PYVy57*ruQ)e#pg zdL6i6?3u>a6Ut)kKj_iq>#mAyr3?&P&_NloyB$OP$B=~4>=D5{7Tp{UYx19aVCvSy zsPZAWsdfIk$KZaqg_GzGKG{A|e3F*Ot}?Jtoq?4!A4VeMPh1XRMRP8S!ReI!DqZB) z;DU*IPffc_(cB{QdZ|m%?n$JLh#y&L;j_6IItH{%=eApj(g!_|Ofxc#JeSGjoh^AJ zX<9Qy!pB?i`OY*W-3+Y~bN8it{{=set>*xkkG{f>u4 zJ-vM-IHc6GbgAFxMNbI&jbojZv1_h;3BJ_i76OKb0L#%INFh=Uof9ALy#+=%VF`}k zDo+i&Al}D<>4Qdv^@`!M=zM%PwXi7CtXuop*(x1xL&Z1g4Kk)nNI>qDZtF$!&?zAtqVMgsQROL!F@XwKK@BL7no z+y$)#B zpTjhKck-_v`PbF(t33N%`lJ&){s>o@4N~7m2m77w)M*6bdi5QMSF!= z$EIDaXbyC2TY|P8y7`$Xyu8pM31TlVGH!(-CF@uj`rN;PWf2ks@~$gHbv?Y)+4vfL z^DD6&jaxbo{Y<{n2w#_2p8ZHhG6#2(Q~pSjggBel=?^QqE}aN?`B|R=1&99ASpOez zi2iHx-rtjifu;pe%QwGcx6$J@AS-9Z+(Q*g|MW)kuK4F!aelG{_`Bk!s4s3sUCRfO z526qy&p1ot8Xxt2KZWMx@iUQ!Q}t0dqROGv*3y;`@VL7a^=p92!%zLEoG$-+_#)70 zgQCTn)#h`^8KB|KqFVT*BYjfuEPfooj~n}r%n~sW(PL2+zdevzvpSBAb!!Y$9lAB{ z#NlpE!)-leos+^1Xi1ePDz!Nt%UFljtFfUPedI@T?y?VslCckFG2ho&X@9rW= z=3{-#%~ZoAvxY>dL6hGCJi+&!aQ(BOY`iHjRR2fl(8Dk!Iw+N>Gj+0nPSg(%D z>hFLDdO|^c?~8zwL-iLtFZnq73P$0^jg~X*CA81OD3$fI{`5@iX#{w{uqC*1C%kW2 zxpA2EaR;agiKzP>dBCo|=iyuIROml?E;ev{_=5hS=OpwMpd&*f{l6z;msdUG4R4?m zs6KV4H#G$0*nHA>j2!xiH_)lM_mhoZ@jpd9%0dvOKOA?cxfdRAoH+mLbczDE&X=_l zH1w=fEyZSp@*DAEO3XxM`$%V2 z&%vuHU6s_0-qf|2^9c8q;_?D5nqihrGE!zz9NrrJD3zqEe3`|UOI`ph{bCNI4L^gJ zzvNJ?C`42~BC3F5pE9Kuv73^L2RyRN|GrR~RDjt}eY|x9NWJi`J=Uo|SkFdn%dR~x zYel%EO=QbH1$I|gdq0`-Hzn7(%%_5X3Y03g%$$&r)f$jFFFD6i={d|A9Nx^v>RFRZ-!Yv=x}PUvqv z2MB-mJnPwgjPFd-ACf~*2p=g7i`JNf)WB4SP$U9r8=B&rSW0_+wSIK;APdqe^i$JX zB-c7$J0ZkaSkK`0V@41t^Js+NME{M~X5d7=0-;f!}8+wZM@Sf{P z!KJJ`Svo8Pn*89gB%1swpg4|zdrbTNh%kz{mcN7xak&WFe)e07UgN@+KlTex=@i-% z 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≺2F^7r5H>b-$o!1-${Sz zMlYX7^xx+Es5B%8CEw%|`99EJcKU1!5dNMQCAoMbDt28p*W1QJ*Le~hOoKEDH6tK0 z^0;0oeFCPJMNbdXFw`;{{(*^onJuLv>7_{YTV7@S^6jTJHEA>acc_HHvd$- z098E&(l{ZFlXkpheB#?n2~=j?ZWmJAE>CX8X5$Wp5R9%Rs^>Aq?JJ^9Sf81j2v}eo?6mLjn}cqTRMd)voL! z&4no!e2zKicTm(eiYnv98uF!TR-4*ORc~8Be~Ztp$XgV7tCCi!$Zu~|c4|t|9*0sE zHxjgHFx&5_Qqn4vw5mPq}{rK+zDk^0SW z`rVO*ltsyNn(6O93M_TWE0+=sn`LtUDOw|ICgnccKPBUy)(NSZv+WefiM&uaAf<_t7e2)@JY#zf;LF{ z07&OsJ5XR8e`fn#RbW^`=52ar$!!0C39GKEg&@Zc|IVeq9k_GF3R&6dryxHV(cFyE zD#F{}D($>y8iK1r_@aK06T(1Ltt*spUI^#v;RCmb%B9OC zoFrP(7XC)L@W+imsrci;pB((j!=E|uv%HX#FJC2|YsGWDcvgt#cJbUJo(HMUfJAUq z^MfH+b}CrCHMhb~%fZO%Q%Jw7=yxssuBYD$`rS^yd+7IIm3_I*r;P~3SF&ib`qWnW z+rp#1YKFh<40vg*TG4hzR-a&1RfvB+eLP*V+xK_o-X?>4JbQ=S>ldqYuRXs3=K?W0 z=gMPDoVzl{#JN%jj|59k6V!wO!~AYAnoufhVwIx3Z4WC?LDdB%Rf6zhOn5ntrpMtx zdI}DtX8?U~o}Gi^YM}4Ux6i@pr&8iGyxh4;yxg}|yga&IygXeYUS8TRUds1~mv;_^ zr0Q=-%Bzv=*C5%iM|R$f>|B8CT!PgJv4WSoM0HE<7u79!OjNhz8ByJmmqm3;{v)be z@-9mk(M2gM=f}H5rIkw>LAvU2k28(cl#F9?>Bsmq7-%u08>(Gda%g=|mJKEgg?HvT3dx7VzAZ%9eLYm&|y$T;=d#}aEq~7cCF|Bt6 zK5pzy6M??oG!eL{_rX>W5*r3QynV3vC1d+w@k=K4!Qz)p>x0EFxv>uxzr@!Ei(j&c zq}vXBgoc4(SegK38a1UGsVVuW(O8QeO9e~{FJLSsofJyyHR8S4(r`)wXJW9$d7;Ir zZQ!#W+MO5Mo!Vvwd^S@1^FsTRLjRO98vkFAq?E?87pkA8$eoO zf_zgImr)43^-^LQ`3NK#~`4cw8S`y-chJufR`bbi7AdDWZdc-4Z1 zSs5d5EcigI$#_$?XCK|G$S-VndmVecDcb0nN2K>3I^XL!$S1Y^`_hhV@G%-QD=ewDymeFnqV*Ah1=S#GS^j)cJ7<}2xo0h$^r;Bp*JH_$7^2z@xl|Luq@lz+1 zL&c?hf-62v(kGiFV_t`7#~Cf@X<^7qInR=8bBgsLnveB~`N80J8+qHXfeQFAHmo|P zzyE?HKQsftr6Vm`d1+OwEPn9WcnmN+eHcHp;HOs>fZ)yoNRu{f5`vSJlw4&^zaiTW z15^K3T`|laM+>~Jv>mvf_PXa{Svq6mzk5f7NCAF5c3QME$`Zr#A#WYHzV{{#koGEB^fKM=1Q~o_csWrVnoNtPoLa_*|8LP11IWzg^<{OYxl` zzW2~~;$ucp)3}N=-lg#6M)*jh3W_RAEMA3MYkMVW&zJFfv6BzAt1oaR{(L9C@8NeB zz9TS&nFFqNLlq@owZn*Hj_3&%N2mz9wmd#2*RxQ6WCu__2jPjHPq`BzBOJM+e_W z0l9K}Fu8o^00}?eL?q18!+JCMD7dfm5=+5B@vLQOxZB9IzAY6t^+pQ6 z)d;`aD2$@Y63=N6((s5{7i1Ti{*T#R!j!f+i4R8SLGAgUk-=U(cKL#+bS6njEx(hL zXe1?ZSCN#o!;1VVn8_n@#?QLS;4K;+Set@;n8S?qqALgF>U(a7B$gw|*92}?5$vVi z4ys_UpVp!Tdue->c9w&Rbqj8z*JV)ICT>p#a?CnKaMlYXI&ub)Xq+B4l*vQE1QzIS zEpI9ir;MuWKz?4(6$ruF-`Nn9I{^Q;z~6c(sM9Grtv`$>9-K3kD){4MJ^ZD3od+W7 z|BR@WoTa{&!rwE(Z!)rQR524Eqf*@HtR~(k()yM_{!yzbY?&T*J?Ew1vc$tNT}fzG zNi5J0z!PmVh)RB|6G;O)i&$mQoBi3Kzu{aaLqY@@`m_~fxYr+Ba~rAyH8Iuz|Cu;K zEA=A+E6`mJUlFIHC8D+)Q8PHpqKhefgAqQ;$ih+R#skIo*Q;4(oODC54buy{o0#5y z5fwYNdpOf6*kJk%*F__jS8JFYjoMXl7HU7&RVQ18 zgUIL$ORZId3iyI+L z)^_dTD+&uhh4!SiQr5<7`w)U-%wbJ9wxd*3Km@>_Kw!B5&oWszk2|H2OG() z&29Y1h&A-E-~so z`51Pc=o;)sV8(w|axbgYd|ykBeIBl*a`X9-&5us}`1L3~KH$fTN2%(5Q;e#6?hjRc zj!|`-QT4k=D97PaBZu}&D8~<@^&C5{&~sdlIjBh@uPyE>Hme5&JH+Zk2_m~1lmG;Ch^&p^|<6nj#hxQbx zOsxVsM(zCB@H68khqO6Fb9Cn$Tq*RL&y%eb0 z#66v{ZWw?m8QbKdFCe`(ECC%iCH^{~8w)jPKqooay#U=hJ<}6@{((vK;)mVuKr6QT zJz_-0_QeBH|8>&U{vs5cOpKF@X3`XGuh`A85;-&9zUWh^$#W?Kh7}=RTG4!mr2RS$ zkJa{~{kJ(NSlrzTxylp#9CQXEkP(oVw{hUc@%Xl#k>uR_GU?Zd-j`(a1)RcwOQopFiJyKLhgZ4O8j4C>Au2%G$mi|k&?U~nAF{y~ z;!lEhHxyQrK)OEgfVT4|l9?On0SaU>PKJ+1X*yO8ZyOs}jKbunmgOfcmgEO1mbNu* z_X@xO{<7ikQuwq$Mwi7=N6*aYMa^f9m(jZskwX3evkC>X60`#}o+15#q*Zm_>A-|;FS!Jb zLhj@QwOmO49L$oSJu-%ShIGTHoXot&g_+{BgKSxNkXHp=4C%glH4k{wSqw;|$!-B@ zrLzbCz&$St0CY(qnaO7hrVPcF0Qf4WE~tIcjarxMBvb3^iWPm+8yeQJlOfhb7wyYl z5W4qd%Ja+WE}=YaG0$_DXA|Y2S|GzSm?7pA_}Smh)JRv|W1xX<^w5(Zu&U$|vI|g5 z39&?EWOap;1(Y8CUF6fV6x|)m<)4S z2cwEM#fUhU5f>|$KFo2kA}+y*i<`d)!sA4^+X#=JKN-T~MR>9i-e&%V5Z*?FryAjH z=l6l|wjw;8!q|r(@o- z8}XXb24L3ZF?bMWH=2bgE(w%eG#T|RF+aoeT-p8|X*;|bI~K!mN6z+tf|Cxl&c$b8 zJf`>hKT;}xid7t&y&2!gMf+Jz4_VPcsjP9LriRpucF^ir@I5GJ(T23G-i%#x@oRd^ z_xiu~3Qg-(86Zrs{9)3{D;cVk53^IYpejHG(6OC)2;hY=&jSRBm(}!IiCex4mH9e~ zL7$NMu~F4Pr{_XyV2+^%78+_m;Z}G6UqGP0-{0zjUR87oF!q{bqZ1U?2|Z9J&`nb0 zI~bZ>4l$)H@t@D?b%`TQ3ysDuw9Nr8H1?le)NoI4Z*A;{uovyvl^eTG11$jEs&=Fc zPs&P zdK69hX@S2xh`D52<{MLqbHpSBQd!Mnt}8SUUSj4+r*$r)tIQQ$rRWgMj2U+sFy;!G zhW-A0Cj$uCZjI*o}nB$aBpkO3O(Z(-KO;t=LthgP+ zkPs;5F&udK0S^YkCHwju-y|zMp;` ziSGl8ZSd{-s2N|Bcx~a~R^q#$h4}V)p=o^Q7bwC$R};5MVs>S+T>gB~9oSkE|D%VE zw`)=jr92`!|t8HkhA1Fndrs9ti37d{TE~Kspe-gAO^BaSP4UlVe z7}ebjY0mu;K#LO7wrqQ)f6G|CLvggzHbBwSMoD zT(XnWgBetEH)E-a!hMUO!so_Q*aAIlI#))))x#46VRH58i~m2`-UB}BqWJ^91OidO z3q2^OQR8C*0zp8D3I+tZzyYDCQ9+7IkuE_%DTxV?^KyuSiikddC@6@i*ik}nB2A@< z6b0`HAXR$u?#y?0e!okOJoi33f!!fY7Uc9VRx?QE7|6fl1u)&;2onRh_D(W%y z`&oUn!hG|binnhV$6I8uClHTezw70fs`0={pn;P_H)JdDu{p+MtoxwNUfiMi)$GMx zkLjAcqwkvUjt<$JI^-ksRELZ#EFmwRyPvj8sPbKRnS19b3~npMZ9Rep2N`J zdne<^E*Sg~8Tw4}uEp~l$t+0L#^bpmzEO7VniR@-?TQre!dT_uAaV=U2N+EoJB z9Saj$M9|`W(Bn%{qGI_-H5<6mtME;M>{!TJMcsL2VCi-}?$}jgImU7_E=hmjcOTU1 zz6qv^>k-gKQg8X-&xK6O$8ep4AiI!7(8%+KGkKBBv8kVMO?n7EDAI6@NK|a}d#f9H z=)sFC_p51<{PRr>5Q%HTAk_>UB;c z1=!<@DKY(emtX-eYq)7xzL2k%rsJU=?>3r@N6~6M(}C4`nuq3Ik9Q|g-0hQhjxFQy z=G)$QpxKI-$ux}zc5Jf`zJaubD1{Y*>)bxoU5!CV^^j%!21ac%Zisx{q6;-lf^qoHMbYJy8;&*E77j)XKmBuqGy?5%g%;QlLQC*T(+i372N@U-2r&$-a|0) zBBwdtp60p^oaTUHX%ZZK^f0xcyp0|Od^%XKZ#q~weE~<=KnZ}u_b3hXMTqLu7_T<&-^z#80N9`W zyRJ6#KX%AI^Q$adNLgv&tBNul6Ir4u%5W4#!&MBNu0H)^DPx7FHI{-;0h^^cXIqu- zlIHC`gnN7s7~Sdtty|6cQI~6}`ps28uWFjX=tf5PsrH{6Wx7W@}cWkGVsuri())X$JO{S%>L&yy&Fp%vfxJmW75-ceL+ zkdpXiE>b#ZZcAg$Lp63fGbCaox!pN~ebAF1l!VrztivGB>I*(!$_kR2!PU&2wUUzI z*?T~g)vET{n|Is04jnfMr6Yq{(2q9>o-7%FR7_2(TJ|bx5>=C{$kmgHewv=;dBVp; zkH;rys0{UZjjx60{C@U1f0P*>J#E9|qxJTtx2>28NN-AKr+5D{RK!*=p!MVTk<@}} zC~YgIOnPQE`=w4Csoiwi%;R;~)b2IM3>zY`Wp2wj#uo|xyC|$6rA4!@rr6Uyd7X38 zcah}dS>c?tBvSKfOKRd);Zqe789l{{(@(58L)nUB?fI&0Z9erq9!IWtQ)k|0nqk`m zm%D1WC$DI@Kz*z=K@y5{m74;sXVlP0w zyY#gr%)s}lPmf?s zK4`Fbd`fT_!IZU%WEWY8cB)^#`n{)qe$s!AnufX!`p-dsNH;X&f`tV7DL^!)hIYIxH<-hu!M8LPbk8 z(YmUnu6dV}YGSbakd%gRG-aD`2dkl$R4Xf#I#5t=<$#$qU;Wt_vqg0Tr=iEtYgmC# zSM%Cp!D>CP)PS0N?lLxKVKdL5K9^+t1y_=i{Q{z8m}vRPb~b`e2=2VZdU4+)x;CU2 zzlFs~7lUcNm|(pbPW0jrp04BpR0e+bf|skXixGv z0#_%&^QEH^$+}7Kri0ZTP*Uoxxy<`D(#W;|yMfOYW2%y&5{*2;*yVu6x*@5RnOI*R&Kro+-hW;rn2Sx3=ZQXQ!6Edj%>R+z%}V;o;A z_-!(UF)555;@`k7bJs6_nmC_A-n-E$zZZO}Y?0QacmK58@Lv1Vb#)tF(-O01^D<#) z&;LCu!1RDw0m}xO6+G}`>uuGT8t4@*UMQRS!R<+2@0_fcc!v(_Zb3`DY4}Jg=^Edy(&_2rbT%67CZxfz zSMP>XLYsSH_Nr0T=l81LY8B^=LniN*DASuYIj!-6-zsI&q^E=wfhc`&I?E&YL5GP# zB-MBs4=ef|rg*JYoGA@BPOQP|;d>2#O&l>}$mjZ0|7owlX7&4$`u`s~g@G#7Oq6hi z!MY+<4KFZovikImg$KG_LyKBHe9HdsT%VAxwNK9?r4xnv<$74JtC56P0O1gh{G)$cQvN~42@tIaWBx=i8JZxH+@ z8DpB{5YiPiM143f0tXEKn~X6g;U#Q6|MJ7ybP|o+LhiMzu|Z`82VRo5dRu)8Z(t@_ z>!$z3(6TW65_DsGW&elk&nB*XIW?L;Lcth$NN3+cduQJL>tFrwm^FN zvE~@c%97P(Dxf zhf`O=^oKXgaDV7W#UE-WW7xa3K+!wvxbv#{Z@*z_IwsKfKVy8X;K?$9GAW!!F{1pfnmIYEI!ch z_Z1t;UnFwe_xFVkWevY<;7+vS$YSgTgC*jm#GQ9vrD#XJxZ-Ui^K zMZ0Jt))sR&sWxfaPr^2`p0GPoUuQ#OYI43__iNi&({Q%2#a|b(@;g*pGy1Cu{%5yW z1=`F&qj=nKRh7cMn)$s|^(LX+j~J{is>ZMq!;$F88~56}%9yH*eYrQZt1xWuD(d&C z`pr<^`pmcSDt`a*9Dk(2Dk46?bRMbTg!=6aqK;HwL0di zaohHCDf^e|>SGKsd@7MQ_MH0FG;4Y2TDN1_v0LzfG&hrEh`PS~)voJ)@T)6C*G<#9 z?rypocJcsxlq0F?O*%J1Z5}ANwMmCbO7{9(9gxv+Ofo5w5r8!6ezB<$>%`0wbZ9fn ze#ceJENea9A61XDYk`V7ZXEUhJ-Sr}sVvJ}&slCV*h9#eVZ{jDITji6ohpi}8)GvJ zc0Hmn?B#QdbWtsNz^I=bRKE@CH&6XuR?(i^W9ui^x8S5Y?g{ND1Q+B=KZ*T9_Y>PD z9TltA9$Sx{(UDV%+7sGi2@bwh7^3o2Mk*x#16L-f9`)4~t49^u@g#D+>Q z?O}=PQ^6WF=kg?-KmsF)w|J;Zf3JS;t0V)vOtHw>tFr32lC#<(I7=+fPLn?0W$P<7 zpr9 z0s#`gGlC^(x7TO}Z=IvsEv=B=YzS$uoqU>v-aKv6n#(^w$>+-WNM0Yri8DA#DS z;4jIti%DVHi^S`HciO~j7cZyb+Zife84hW$7Q4B%x(Olis!?vO) zqDj5&%KKAe;m{y8*Y}JPvZ}@^pc%eIH3JWSq9xc6bmcSz^$|E}jk0~Q{-i0oc`XD( zu=GnKVU?DpI(>yJrLE7Zhw87;mW?0M=Q{ke;mjcnfWLPz{-fY)WB`Dau4-^8!kJSR z)7yLU;Zd-BFO0>0!8ZxZndEoXsaT!0pcLu`bm-3!vTXCa5`UxPv9;p^Q{1+zQ4+`| z=f=G#YO#^o?B*(Q4#$XYbO{Q`QM0P(L-rXpwb_mxn)+Y~=_xAp3QLi?`lq9}bq@C_ z6_@@U6KGpQpTjNq#yW&MAx$5+EO=FM{|>ZMC2TX9{gbKds~Cz|gO~?i!H3IG)TF^e z>Vzn-k6`>^!S9qPOcKGPgbvXs??waOCJ|PE|1)qlyprJW3jaakE)Ts`Y2Zp(h}K(8 zu!>9P`m$e$&29l-Idt)%R@Y8M*Y>&QZ8yVR#XFu>8TnLtpzR{v z(H{m^?*>=fnRIA2Kf0OIzT04WHYYfk5o*9#i*Yg^!9)ao5j4W!sYZjR>Nqucek^_* ztN8fYg89SE2e6Cnzy4sG@EC*V_#!UlD}v|9-~q`D9zH@x8yLU8m0*>$wRqv}PBs?A$;KO3eJ zsqiyn-x};uBmkJEHfYm6*PG^xMk?0YJdQQNU^gHZ!6Ds9dkqe#-+J|XSN(h{UV9Ud zwBl}mb6Uv;(^@gX1(S?ctT=ZI7+40u0rdG52u7gmKTKUe_661Tt76_L*54OFzhzTL zNzX%=y%)wDqV)gGhReOtU<+$8{-WRyNP~gIBB8dbA;dzi>NA1+B0!136oE~4dK-V5 z-o|fCxjbiRL#}U$_5!36%K|i*@U3p3i7s z@Wzq1(b;aCXEFTE(McLp{i>lW12=u3MdcT0)Hg`=Z97`EW|PA3`>igbJyUo;oM}{J zHVfyJ`)QMDt*_9EyD_0J75q(UMUaZ^fTX$ZDo0?hsz;IZOUtE`Jl$tv(~(;{-`q-( z+UhP^&h|+EKJ>ICDa%@n^J}*;9xM2K8RsC8HtQPpqsxKH`&@(czsaI|;0N1i&%cS2 z+Vn%{Xa`Jlr#mLqyUvrmeq>X3@}`lE!m5m|V9??Hu!_BIS>r(aOP{CLH9Xo?J9ff| z#qn}iryp!H-wzkLJk5Rxo%sk3rr2h_KpCBAuqXOP3+fy7N2C?A9r&v)~SbV<6H0X2v zy1`UKFE`d-;_9su+*)pcWGw-ksqbd$?=tRCahn|ExVZ+ahIkAc_aI6AfckAwANDXG z_EC|8=z;AF)&Y?<+<1d+lIe!SLvb5ICmF!BuUpMai3L0X+b5Yt>i2r+a>K?C*Vgqq zIXa)T{&mK_GnhV~1Q_R&qW{JDq~p-1`jMQ@)a(y$SNFM6*BjP<0{!ZJSW_Ab{;KF# zOj0sp1o;MIOkv44_+~$jba|b|v~Q4Mo549u3AC1Ke1qStGuc){alS6#l;;S3RwSb) zO%l>}2-8{&=w?U`+j;6Dh;A~*y!t1kjK zXR_W^76ct?pf`-mU)(&E>qrLEZqMaHS6 z#bDc-{b;0FS|no4Zr^09I_(zSiS-^a;t{PkS}&CK#yy>_^~O6YHLN#s%9-`Xd~3b2 zEXAziGrb|_c2w>6tTMI#8N>VV%gmLPf`1{>Mw8|XX&R!;#FRKi@DUOPq{pJw&>pY) zfNP-shBvn@g_AJdV0v>K;Ha;uU3`_kS?zNC6YhBR<~EgJc`3*tjP7mqIitT;8hnk6 zZcX}0NOKWo7A$*91)m^Mh~)9LR3o}Aovw0DdXja&Ds+KI;(8g;*OGD$CEaY=wC)id zMO$Js9kL}h*MTjuQykb5+mk1B9`^Pj9!EpGpBdt5wjuu3J4Hq((7CD9h-Y+9r#}zl z=lBZE=@(QD7yrcAZi79E+G+S+;-MLVYW~%K>Vf#4iBv}=vLd@`pSa8D=okzX#s8Scv;(;_AfIL zw5{o0TqLkgaLd-jB){wF*_aSuYf_@4xUK1_b$UYBcxP$0rf!#SDrRfiqma^VO{wpT z>~HR|Wd9r$5wbtm5ysZE@}8^Pn)ZFK+nZK^|A8}MqrvnFP{T_M++2Oy8yf{?8SFp! zw71?QpiM*J>^;AD;f6CSz=zQ(?xs#Ly1(iaXRZ{#f9)Umvub{C8ch4M(lWS!Mc*0R z@@Ii$jm7@zyB+#FK04O33ddb(uoT2&Sb9>W+RJ!Mx|aPT?-d^%Q;80i0-ZwFZGv<4 z4-39sx~?YOE2K{l<+e=5Zx#Gii2@RBbnF)w&ZE_fzAWj{+PPF$l{{JxH{;}28BBY$ z0RNvnTBDbmlJ3SZ>x@(Iy#)VOhM6WkD5N(Lr3T#d^-Zb9;d8*D-mGr_+M6}y7~Ndx zv3s-FRZChjc?Lv9PFWe4_PU;eUcgA|iJ&=xn`p&d*?gj{@9q$VxjX{9KP$7(|MX`a zEkz#I`qnUO8G48ZYu5kV$^m+b8XE@V=6A zu-i&42UpfBO%8TFS6mKmKli`nV2jxz2k&ZQ$-x=tj2z6obg`ry{I+wz#SwuKgOdiNF| zFTiFZ*C!IGDx~b_CmDZJ@H5iSnB*lJ&kI7`jNVxrcM3fz_+p90B+AlX6+N@Le1t0& z7hKuL_TejyB2D@gL$44dM$wVy1w>~^wpPIS$*~R8PivPI&b>w0;{h&8=1bEt@?ut zeYFtlwYp#G&NfQ1!@Zx`QPW^O!3qsK3{3W*WiZVg{X%2f9>lPhBpoUfrW@JqLFzYC z{c==!Qqf!MAc#V6m`t77=Oaekuky+?dDU0>55S&;fd;FA`~ma5Ho+fRCKeo4zaQzQ zOitupdm@$bIL7V85&_&IniBEa6Y;q&e_pHyRl~`tKRz$ngP5e`ODpssH}#;jn@h^J z%+U!NJ=I=-n% zKM83$gj@b##+M2{N1}jK%&Ipg@~TIA+;XHRO^)=W>mxnd7l;G*`iLj3@O@onQ;qih z!Of?g1zg+YEpncx`e(KoY&&*yMSK=IgE8!P9h_#Ly7hUUkJ7F4JWbKZ z0@bo90^9LT6^ujBgLV;L(@l;2vf4na^4_{w=S{o$dT(OvJA>)ne1Q3K1lR1v_FchK z7n^Zf;shL@$&RKo*)!>hEwA3q=dk~$Qs`vzYNArz^eJP_4CX@GfGIU!cP!>#YXu+7 zKJ{B0l3s*~Oa7dW3m7~0vBtDN2QYPadRg=xUA+J8&pAa|(34<3*Nl%%N2Ti}R8}it z)qGL#FCC@>GYPk%sO~v^-eo;~u;ZUDZ5=@J&y?{omDpd{IMu{pEs>ChYfu$ge7LIe zKgr$L@WREbyk&Ckzk0mV6>)P^q~8{C6VAa630oGKCS-u#H&cD3B_bGG0+pARk(td#AED{LsscwTa7|RI`a6>I zar^5%P2cge2Gn9VC0;5j*c%v?uDJU^QL+6g{#Nl*;4k@&W}vL2Cmd$(GtaY`XW8hc zU{De?l2i&3F1BL%hJ~iz_QgzCr8eWA3htJfkV$^m%SS6(JV9&D)Njd=hO%YTl_I)` zA(p1LI2=v&xq3@_Cn5Otb75@--zI_|&xPUgDE%nd>*JK>;5RqR>_ZINqoL`~DY~9= z%jium!=v?{m@Y9|l{0KnrCeK0Fko_9F3_NM-D2y>qNhBP4kR2-MaO!!IshbKO%AsydnBzfrjMD^XQH)!14 zCmQZ<)^PWUl1{?6hw{attfKTIp9J*^4}1?f+%<^Imzq)km=b98=4HAen>yjjz{Ck! zppcfS?-RX(Iq5eQObJBUzV^x?R^Z*+NhJ7Uyl3wxsQ?R$DmDn9aTpEfY?wU2_k=$z1wVtZThq1wihW<}(+uaNVq zE%vjd`XJcR((zn?!h}@r=_M(n>~@eEqsk@+XiZ5E3RzEpsA|=FiHQ2XmWle`v4K^cE*8oC{f$&v3*P4` zze)uz`QG=Z7j^r72EjeJD{h@aFrv$B`b~2fIcm7)p;7>A035^S9W0MO>PoXp z4(#(TQ*aS#b63Qmx4i<#(`f(L1p4l_P%@<^?J-ZLFR@6h`LyO*C6oYyE^nLn_5 zxyvEUoq-v#mx`d;Xfs3dA^WTv=g@no)IS2_*3jNe{cv&|c7dVGat~@}I?w|#ypt@m z+0g@}jNItLNx%KFpiYDyF@E3&S}`romEQyp}V&gBPb zRwb-lqb4y&!5P)Y@2lVBKoS-7@uJe~>8X%!=_=*j@0zx$2g&j|E^S`%Zb`|)BtOqR z^#06SqQ7^A{?3Puz3`oG=O;+@taTl_ES=3vpe@u&%MU& z9T3e7^Y|Z#ww?_;T6 zu7re|i{M2BPZruFOYjF07t1`V!_Bx-%6Z&c5!~NW)S9E+Z`S(b{@<+iN6N}T&2dV(I$6Ln4&A(}5qL_bTDOMcC3RL;yVv*KK zUGEcjNq}TFo3Ym{Z{D0k%bVeQvAjv4<;_I;PL?+*wP|^y;B#~BaH4{PPmp98-%jyw zLt!cW<83F|N0UO{V`yr7kAa%gdWB(d1KTSM7mtpx<|6*PG8Z|G&CFHMP{ZX$Fh4)VPN0^(A=vr4{mwvexyh`mOTPgUSv^!P|k% zw&edSRbFlXm-Vk7rv3?G>VN1ld;KeL{ioRK|BzLGuKGvs*s88I&Ntr)tvbP|dK%SQ zoOdOwJ|{3CRaKq5aK-Ao{D0IpblwfA`?K{**8Pjy!_@tnhwXKz#b4m>m(2?tO>Hl5 zr05Ar3&fbf<}*blre9liTj}Zs=DAhvZYc`AUqh|u7h^qtfUXh9I*J`uOL%J)JqNX) z|IXnBG*;@xR_FZWt6 zRPOwhQ`um!B&5Lb+8kaO(tlx!l(mZLK+XGu`YoaPf2JwQpH;Ys6|k#fkl^d8m?COY zXCb|hD1SnyyGQUz5=E145>gW7l$5`AeR{Qx!2E); z&M)@RgKk8Pu~D;scQQpk*O}lh;#C0aTM3@zjU#%g3}1gs^DIpjqQN6vh!+jk6a`?| z3qC6H0xF|nq|Y^1|5=QmtJH6yA~$)<)M!v;u4$c(9L*(ohsvg=niMIdI}l|vB-N1_ z2CpPhm_!Se$;)H-qt)`!2Qe@L;XU4u1b->UL}pU<1*daDb41RSkN$(m6Zu_d*HFRB zOJtBtv#_ZjjL*DO5NY>;WVMnD_CnH@Yk+0ECI>z__^zZ$8__o>hf1*)3WI{ zHs#^{ng!EC*#tNoo7TS>!lo5(mdd6s(@nvDti%<1X$nWXSMZN3nF?uAoRIv85{c_t zq6Hr;Q9v?QI0#pF;!3`E=vR6t-B{(VML54%gdIYY0~8yvNVARQw_oPsef2lrFxll* zYKJJ}^!``D?~o`=;>~1g!GE6Th#c4tlLO94S1MrAAPbv2 zaW!2{ZQc-!;E5>}?w1s9*!JEP6g!~jf{1|IyP9vd{+P@G$t#_c-q-1|!j-r;HF2k; zSBo|`VE^(jbYXA40~ht%ql4>Rrw|NrxZhN#0BMVF&a^ zAAO!t?{FS!+u{86u%aRlCfp@@AM!LkSyD_k=#YtKCpt7&I-($?SC8pQKYSehQ7l-!JWM_(pEd}t*VMNAC)uJq50^c#hliuX&Te>5yRGebi?Z*qqW-W zVMnW(kKUUmb-acPOot;B?iaj~6j+m<6;fqHxh0$N#{@qWZK8lg5-a;yBulN$tU9sO z@^H5%UU{zJ$9otbC3tRmQ$tPaE~Gw) zGT=|fTMOPsqA-c)*-Pd4qd58K_i`LLcRb_Kg0CuPB7-!LM!_M>v#I{tiN)sG&99n> zdY+xskMS=Bx8_+UU45S2!xP9j9g!!H9NhQ(jKTB-0yx|Rk~=k|OJ+?C+a=8eQpKc8 z^Q`v)j#BuF#`HW3SaSjM?2`jaooAQ6VyZq2SG||PP2h6{?<`lngJgKzC`x#I^?4R- zdgK)wn-=g-Nt`m~K1E>y0A4E*}=chB)FZw zI0c@sZ7I~E`4m(3DUWxqp0a1^Dcjt+Z>H=Y!%f+k)t@34;C^#xQ1x$_vis?2nk;~3 z?#?h%cDZM0$~ICqtUzsr*G77pshc>PxK%jpe+T2R@nplvOcuQhp2m@x+Jf`ucIGgX zynJ9%IL!AegyXRKVpV&u8lP+2iNDx5>`wgI9kGd{|LmMZ7i-W}`IG2r7I)&=)Wj3^ zbQ%&fzhX}9_9!NS&vP}O=L(;5Ej~{P;jiI0=|jX<-44megwJUqe4Z7`=Xd&*q8jn_ z5$T4%t|NJxV-q%>(B2chY~CW2^-Kw_P(ff$U%uG=t-gAD(RA29N0acJ2->)JnYIW)9)dxqxo&4) zveoTU5*P8nOQCfG9IkH8(7HvJQa6>Q?-b`e5J6i6byW~J_mnQ`Qzsd0jo{Q@9BluK zi`w=jThrEr9KGwM(559gc=2RN(+)u@X-K84J(b4TYIwpMnhL?eac4qOIeMH^*@R#L zf;<%j?%~1*8kssgdyHva5Hv(k1wrOf4tgD>@zc1dD0roy*aZxhJlH}Th-hws6bgN=nqDIWThxXf40|Yxat(e< zZ6h2(B2i3H^HiIvF#AYF92qCC_T-uLAQ+6+N>gsR+pg+n@;hR*Q-w+Z_emV=`Tci8 zr6!Wc_mrC8d^3@}5=t>Dv|dfU2d|O!u*!D>m;0mJ8E+$anHx;GHR%o^9k`yOyunvV zxvB}i;(8N>Nyhfsa2xh(_?Kb_bH01+a)+9aPP-TIKJOTomaLQ&IQ`nO|NSJB>eI+= zGB(}3FZhF!8<9Nl#L|Qp&C6)!vUg)@c77SUurxd7dRndwjB?O=g(P+Yt;g{-+GP2m z*wpOhk?qyom%XQ!!_m=SHoCR*3w+#S`Tm$z*Q`!0T3$RFe?Qmuz4|m-eQJHjdD%W5 zYWtXddg|-`$37W-_d9Bl5$DWKRrKx0O6aYAz5g}q3USYweFI%-xc8iH>TyCIXTAvFdAfd^XRU$_^{*vXRgZ8=SiU8$_KMx}qH$d_^a z?CNYsF>Y87J^Hi*IVP~%u$C_oE0rY~T~r-9zi8?Zg}Qx-XA|xb{BQ+RH;{@ir=@_C zd*EDOQI?51w*n`*6E3bl1)m^Eg4D_w4ij1FPH|_ScRKymuvu!cM7sA&qsa(3_YSDxA%&B`JuAzYg7a!wq08@O*-|F{vh~#z82gm=`+c@ z#a)!|N#4&cu&MehHaWJ&;%vOZw8@cSwbn_3+VT|@+-NgC*C+bV6#A3)j7Eo;9PgB3 zWWn0iBaSnAsp)#z|$NR9SomRh5pQjDpvE#>1SMYrG?Vq4OrdP3@qDAR{BUS04;5`{^$GnM9? zI8w^Idp*fJos+JiPxM;&qsWvAw6Q#xKevWhq0y^AAun%VK`@Um*7ps5T!{s2&o35JcdKbWduJb zrY9zOceu0vicIxxWqmlcXgysmv;2ItCwZSUn>O+)+0eXIuF{WoIkP{CB>kxNb-86y zv#&Uvc~9dg@cUy-;_YGYnu2xOWWno8rbHr}Ms~pIZbpkBXWmI>wyURneE~L|S&*l0 z!FP*IXO@wt`4L>g8f(fFxr;nJIWJDJzrev1J?;_B$~j4Uv!O{y~+8*Lz>2g{1%c{F z^E#8}V9+|k!Zc*GY3Jz}Hh=wq_7{A#3>zYG`}e?*q#2z5cI&_0S)0g=N^`e04l0ed zb%|3r@_k`cXqRBv>JoQ8AJQf2K3{5=SUAcQ^=piS@$l+Q6MTk@15Fw&q)~{n@DSs@ z1b-taLrmcdX5zIo6g`fw56dH(6bA-SXCSE2+OD_b&VQuV6*2a6y zC$#}y;XQD!na}A`(z~be)wtxj2Gj4J5=^sAaNitBQ~b*&k)FJ5dC{dYgQ@d-Z&)g3^CsEQD4MHT&}pWtb8?h?1S%#ffhc{B|js zCVeWTC`9Rq?VmFQKP<{LNIBZbXjYv8tfp#}<#@d%UIe^~>-sX@R`7$O>kx?t^tv(* zy>?kmYZokBVkO2Ls6h8a@Hqs}mXw$jvT)fw+$If9rE$zP!$YM3!LvIuBK0-tK_M+clvm)1tuOd%5(Ol4NPQvm+$im=r9T;2nwG93 zc#W2?zY|-TS`lqjE244jRrVi0%W`cnKP~Q>{j8B|3|Q>hKRkpzyM~u!k6EgZp%8OP&C;ep+Y~@L5{aa~7{{7V>I}mq2;EByuMQX-Tw>Ry;## zJ+$-c>!IPEq9UAVGmqqvAe_mJy*g6^Guvqi7XfYVASRJ~1hZ)_8Erm!3bRLR1h*n6 zi{LpZV2_Xj7HF#@)C71QuS2H}HLRYD&ff;_OEeUGh;)7;v0!*eYej3yoUqOGg+pv( zd+zU?%#k6XW1C@XroVMqNaw9Rtkkjn_7GF1P3SHgV3V03_#)|Hn)Hm2@(|^dF^qQ> ze2_$8l1LKnJSKD`%7%!L)eDR^y3f=JAv$gm5iUkBSbbZ#*xvuqi{T_ufh5t1BOHNqMFc)nwt+vFKP`>PaT74y@+7DUQ|G@bodsuu}{dKkt>kG#b{E1+H8=b>vhdACe1a~8dMez3@9PIc5{_jCHk@*mI!&e>@ zDl!@VS0a>USESsuhA=elK<(f!$x(Jv4N^#wQ8B_C`|=O&Tbq_YkF7F5_JVpD0n7w6;}z61UzqYyj~urd*O zF&|mwK+rN`6&%bnhBdP*p0oCt@|1_O;5PrKLu6w~tuI zMIKhUSdsaCI={J}#2ogG7Wo(xSpVJsiPhxL8}Y0vc~&1iAN5kT`7VKLGss}6s0m=o z9K+GAzDd>JI4Atg)3C*h213#Hjbj`Xe5QVHDZ10pb6&vqfVVI+o_pHh-DGJEq)`5<3;C&PZmwhv0Q2RVFE!?#&mmUapcgc1fapmy1yU zqoO63jXYOmEz*~TQhEOgB{)mr9)H<#SCi(WD;jD37nLJxzrBUqhP3cnY2RiQi?y%f zifQ7%q=929>ISB1ShFc_7pB#;-i95&!(Bgg3A3rG;H$)44-#KCu~4SfBzI!a6LFe5 zfyaA7t(?l@R1w>q?t>TqNH3FGJaRb}9Qha(P&&0EKZYZ3a7S!nNB$P$$X`qU(5DAZ zhWhaLJ80p=KKy_qhJE)ZbePW}y)qJGeE3`VpE>b6bvU0x+8ZBZeE75IpEe&pjtne` zU(6Z7W;LDvEjFuV$>hW5shA!4|6r{~)@N8m^@Ce*>swklyY(+}7ung})kqZN_5XrfUkQu**sULgTfd#Zc13dQ7g}!p&D~7m+O6L;h4C*1x7_+ff{ZQh*7wTS z+O5ChIOD?vx7_+fVsS=peG+HJI(3o7QS)xLmWjbR?K<5;TZUn)WuELF(lXt;m)bIW zAD0$DS>Kw@nXDGva_ciGoLhgoe5~F2ZY&2f1-IP#MB)mQTVKy8aO)2>l}>%!R_P4~ zIH@L&hgO6_jA0Yi3GFZV6d5)|;`VMyBj>@P5uTm^NiI9L|(I+L92))TKaL#5A@~93+&)4u1VP#fuIq}2 zY;vmO7Ov}}heG8P!NDhNa!N&i8(RRzsUT1exfeCixkunU(ZOS!Lr;4SgZ!L>r&taI z2OHQW;isHfU;%=;4K&Zj(OIL{0lthN7eSWEeMJH1{%!&1ez2<W527xXYJP)h9|Xf|p;^;^VcY@MI5Tcrx0E0jCF^{W6HgNSf++l& zR9#3rutq4vvsG8R82l@V0@6acgu?7gsDgb78zjm_XkPC^Bm7kGJ)*1;i6zqVGG;Yq z+n10jG2TK-OK?9)Kf%XHN=yn_inZ)w6K6>aIcEJXq2i2TYvIzjYlt}O*|k)0cA&E< z#&JwrRl&>kf^U{-OOqA}=_5oLbwA^;3qDz*fTZvGkhRBNPx2n;q+aYV3bWog;_sk zn0?(Tv`;hqZ~JscC&Qs9FweEXvw__NzhCA#O==+|7ovPOpYcS&3q`GDl3q*|UnOp( zuS%{GJ>KPJ@z$QU4q)+yS2Youb)JJ0`-SFBUSfHda${0BpFds5OG94IP2=^QJNXE$ z@3vt3xhmIwPO2=QUB=>0&MqIUiwz0Z+qc+|KV!6Wp%|zCrL7O?QDh z`V;N4^&qH&paO!iP#vEj)$tJ%;YNT(*pTp5N5k-e==H}v+z_(_Z!f)`NGuT=MH(ID zgiS{o)X~LH8wX4+ph|4X>3F)MPuvH!N!fLu!*+o5XudPEpFs=4B^Ju zj-_&=u)R)%wWe#%mKMrs(96?tEcOs~IfcZ1qW0RFf5}7}KPpGV9_+QCND#CsgVV^4O zQ|Ahcg5&oUf4)BSKE)HbPm%As%{mIZmn+g^`lH^-bstWFA8BWBYbO^-m39!xKPEn@ zVSb?HjjEDm=MPjpxqm;6H_NJmz0=n4axUt2 zH`ag?1)m^121&cv+}ZcVJ2H9)ejabX1|F%$VPCG_wX?`6yibyQ(fOicu74cr-|%(R zI1WWK4$O31$gi&&rAPlVP~nGYBvzyf*DSi)`+D!8zHzE9-=vzlcu~i5%ejtoG@daG z^#k0^x>Y#I?Rz|dZk0DqR&zEoIxu;vd7=e3)K}me>gn3ZFPcyw)GxzZBx7>lk8 ztpj|jB15Sn51dgIXi>bVrxp7)7nUYpa^laEe~LxSp6gk}&F+Fv{MxykV0A&3n;$Q->Yx~SQo;Xe(WqCP#3 zezDzP`t5Os>1rtM;7fJhO+xeLx5vGF?Ms1I4XIzC$b1QZZe}aP!GSfIv$yAQR{aET zU(;|_liCZZE~0z~y{n1f6(tHtb==vj%euXFd^avHh|aoHr+utynUUD&Q}lp|)dLIg zH*oLBpMs~z0-Q;H*W3a<1}c1M8w35!70_YvlckP|r zCMNaIs{BuGjz`1uxm$ccy3<=tE`cYSMe|TZ7 z+6OIcT$_rwmS1ZT$~A`Ro~{T7yGX&ca}C0BExm=Q>LivK3$ojAqA4cPAxKoii3X;Z zQp#h8Q+0#smr^ubn4(jjaEVt8)->>kP%dCCaf$=Hl%jrq1wD&-G82Qk7lQi{#8FU= z->+7GeU0_<3~VFHHEHLh<9_l^IJ`bo@MO84T$3IWQcXl@dVuj}f}fYmzlr3#G3!#< zTiVAub0XootR^2GK{wjpf$_`t8+@a5BO>|gtB&BI{dbfM=JI}eE+4AHQ97g>=V&Vn z(>X1ssAWxx3L_o(x7+-iZ5I^7^~j%Eg;!(WgU%_hYPQSL&$jA2AVGRZANe_BGq>55Lg2PnT3xzLz ztzf-m(FYmpBXDB2snXoE^crmbJB5ohFE%syJlXuGN&AE}0Z|IDUvsVCeI$w|Efi8K zL@E0O`5AtG@`-rflmFEn;68>?_zmgG)M%raWua-6$QSV>Ki0KReos3wQ za5Wim{PVCfV#nttWJDr@Yat_!C!6N(fIEg3qPP7bcmugVNt3=6QYA$BIF0dl1wSs^ z1&NgE&2Nz(h)T`gAJHQ7yd%XqO;P$s11@X9ZxDP9_p>tY?B643@9-O~;#=dx$YSxY zb$-z!BEO)l`m((0l@D^y^t+z>MQlVjPI>;9L`i@rqK4qDB?^BT{XxaJE>KB9kyMEWv>9X+3y2e^~Rm!jyUcqNeEW92b{ZAKOpYo+x z;TK+%{~ZsPy6_q_DT)uxjIxHC-T1K1fj*N@Aw9uL(`>IMwrTd*yUd{WO+u$xhD)r% zKfX2WG#k^zaCa|EK6UU+%K63y|6WW!nzUC)GZEz!Hbbu#e5^zPslHl$Dc00aWgE&P zikiAMpS#l9wdhd~#!^X>AYH~tLboA6};)<#4pfjquRfrt=Zb zi9hjn*p=*EKNg*mTNji_=fuy5!V^D{VuV!2Iq?;c%77Frq_WP5LqIAEQk;;YoDmvPl6<;l~TKtgolg|hrcY#MhS=yd;n z+$mPpYGhbB1{Wz*#S9f8cz3y;9V8J5&3Ma$XrGYMHtn+p(f?m)pEc@{_8DT1(~9SO zJtAh=M?}XvZ6jh6ZlAmN&d?FTu#5D#-E+pDX6K7Re#e>@*Q zKd87un!4-i6MeJr313Yibq%sl_EWmq6w)Tl?teDfm!I?RCi}Z@yxL^neL+}-^uYy| zLOKzXe=`I(LI>#Hz%*?xcZUUga0yCljb{u+b8EQ1fge(zK7)H%t~XdSdX)a=rxllKuYbKM_IeWBoc(B)V8!B&16Wi54D|t|51r-tMW+y?to{ ztF&Qpd%wOx6 zv{RAi-mf|OD#7bWo|^Q5kfIUg!*3XWMev~5YC-DP)17_A;hcP)x$f#GAMTIf1nz}f zCQb0=5hekUmc}EhT4r)H{lXoMp|o_j&)rky(GPbSIan)z96vz~%5!n@Nx2{=ofIfu zt$Od{!$v$oTZfH0M^RVF(_Ms550a*PyPoK%J9~UBdU|}R{rKs$@(~1dN~f!S5|@)& zO#ADqMS8sIBX4TI%w|LS@Km_WL3&;%Ro?#04>f=JT-_3NGYwFD_zH(l+y?6c9uVB{ znA_W56(`cHQR$^O2ziG@a?t62JJR}u6MC6XU@Xx!L4wu+ z^uaKBM&52%bO%n1_r@OLBmXgYB{?w;lBo+{ETCVcNnY*D{*5fH1CFKZ*Yt*}0XGT^ z+~`g|?VLOj7b(0V2@i(J_KnMoj~2Y6m~26!WKvWz>lByT^)b9|Wk%xkHdjLU6>GI> z26mq$NW1!6RV14OIAnc4j&xtV&EPBKkTpn4k(k#o(sYqiV%OqDQVw6&K2%qGK3ZX+ zRt=|VU4ILS8kRcATeYas%QTiUOSHt1U9U$SG$dxCZfwERRb#!_H&dGowEnt9{}D@- z9t!34`s=`mp%#loljX(R>WU~Jdo#TcyUlVdv)OOGSRiHc2OZMXLe$LynjfK4EL$6I zSk?g>@SDKP`LW;)kWw)Bb*M#w+`VU;Gd4ivpbGjhuB^T4CW43!X7u<*?p=iHXSp=Y;o}0Xe!!%f`zJ8m6jx&(VjxVaQkSS^e+WK>nr+ zc)y=^qV!Q&|9OiR^0bUNU7w4y-C%kd0odxGfqQNuz--kMRY{eGRVQnjSw_nUm134j zajeRvFLD`Vu&0rWh95RCUEz7h48~d-Okd#%SToq@nd45i!6ac z-^ytxhsrQk{HJjVan? z+}__ZolGBW%M7$r%8s4&?%+$;Et4pSH=nJGWxDW2}xT&H@6BhayD8HY93bi=BAs2J=r9f0H3 zmW_|4fBU1lSFg@PF*@+sdzXvsEBX|7(emK8XQU-~$GhJ6n~sAWfg4N#yF&2x!pVRw zf;SPtt4W^=sVbsOfWPK#!Ow`yWD-x#8Fmxr5xx|_(q@(3HXy;=i<37NN_%@r?`g>9 z9%C7ABKU)n4@mt+vFbMAZ^*NX^5JigXG5_xJafIlmx(-MlHaxUF|B!1dr)a~nIjy5 z8u!^X@C<4WdL@o`%&|T-fLqKc!D*vNNJDPtqScmYsW#vdmTG)7$VOoZ#Trf)MuqaD-F& zNCkl=D+-H(DMyOgZ~GM)`)wCmG-e&8ZVhWKoFOye&GWf7)i8ta7OdeDe2jlCco|v4 zGs*9I_IqvK*yXitZ%c!sTe3IW**Da8uxG^H1xiQaR+9%1d zN*2sq!pxi!xTY){-D4v{eUi^qH>~^+8;V}XNb4-PPxc^b(%nMpk0__UW&9?=+e#FW z^y94F+GdgMq7O*GmnHUoKi0tuZT5@#rtyNB)B$#y`Icf?t+YqW6p$7&pPXNG zzlM#OFGivL<@;xl&Z>Hhy9941>3{?mH|G5W-nfyUVr0^PGejmeK4i(H{En7Pn%SX* zOuFWwe=3tcx!Se~EtAGKELA4OJsDN3aj}-q(~pDb_Px2Xt$lxfl=)Gqa%lT9T%vu4 z6kQ6}zFT4pGlNia_rmM^mEaphFV>{Dg)|>g;&8+J1i`%$g-L$b3L45ZU%a`Rradtz z`Capw!e^$3E z`84a}ZXDJO!BUF0qlgPRabNe8om2DfVN%(k8n*A{9uHsJ&{z6T4CCS zzFchgBrVn{^lLh&@FvSUti&Q6`1ekSwPAzp#D3S&FRaZKt%_}~*q>H>a|Mjc#*SFV zvJ9_k$5O2l7l$`jOf?DHwoyd8vlUkz`lM*KYKjyqw`arWrnhpG$gy)f`&N$D_t>^_ zG^TG$F@?|6sy11}@5?N{l>^4&X}as{rLH$m4}pP~tsxM)XX90`*|({e@;8*&)-i-W z(HEcfL{JmKd1%rTE9qf4g64N@AbQqd-SylK_;CZbRG(f8k4YPY)xoC(msHoL1m;}| z8OLOd`9}TztA3M|(tPUk#w4G_d&M~53bI<~^9u?WG-Fc5uKQJ0Cd z(|h-!{~JtervwKRibAy0IHaO2CHr6x$-e+oP<8C#IB}k>N1DUrTC9|NQ6}l&tn>J~ zFFuRIXLRQB@FX1XO$%0pO{G#rGxBbOJQ@e5*VzgNFDLSdNWMh6BDrY1H_=zioxI&S z`8ntttL1xrUCZ9tjDIA!bzKXQe2Gf8&|`bP9+~X5@aw-hPFdSnj)@DwH?pc+xZ22SIbgn3egLU_>SesV;PH|QNZPCzLlamGX{96$vPu0ghw1%M zH%A%$Vy$WhE-@<^%i*^9uso~zw?I(LRDU6ZTe$yS&sysf_;h@EQ;r8Ajr_QRrmx_) zi!=fWX2DTzQvXXRkL_47Qkv3ZairG7Ud{JIE)Mm-q`;*9bZ@SC+;$9Ij=}7wjSNb) zOwreIu*yRh&$H&FS8XfHnKC9}VC{mbd4b@SWh@e@;jz@@fHP+mXXTn8UnwC=vGZ94|?^%Vz>X9IBWk< z0-sb>O(K!W|O+q+I+$mRgcc z8_n0y;<+YDymt|OUpx}wdnLTJ{2sG>_Ltt_M!lG+CZk?9S@wMP+wYMJ=%e2l3+Tt3 z#sYfufRF|B#vzdx(5Qf*49bhJfQI_7K93gADA>dT8W+d7fZj6#7SM1r1LLlAa`C{0 zBE9Hy73)cHwHCUtaBGD#yS^GAU=D{TMg^RH3NfnW3rowd*Y)7mlS0Fa22j| zcOo41<7G>Yf}KGHzY@M+zN8H){4ppz|6X43s-9t%w1gN}yoDJE74OCTheIFtASm7# zoC5E8n$KCW$ij+N75kfq*_8IU6;{Sz{w^d>U!YB-G?J%hQ*xXZt=sF9cwc}{%vfXP zKxB=z5)N}Yu?Ek2S!O*>pZuG`uFm1`yvg)Bfm48WG~62XWv7I(%;>)%dH6oH7hg^h zPTY!~Q$hx#1nP?h2*SqYQEVSlCkVTp z2>VPeR@z&_SINGBtUd>w^K#Mw7#gX4d(!hUUkfG(WA&m`TcOxDo)Sd9pX76YI5nmJG;3c&>!k%kL>`Ak%VhNkE64D)!=a^2M!$z<++j z0xps8_hbQ>#SkB>WgMb7N9@Ho`Qmj{K%R#1KTZmGiYx%LeD=-#L;PKXdWi!M2dtbu$Xbijig&aF#x710PNpmb(FZCO6f_-DVk}1pasVW@qJ%b z=6Q#(%mD(HL}e0qU;ekH-byoyKlk zwuvq!+9Ba!9HR;`%V$?XoWN?}w`DXe<4NiEA`4Rd$7L-={Ks)8`L>RT|2PK(c&Wa7 zW4$%@ql3qO9DW(hL)VLFkPZ<9GNmB1FJ^VZXpofyS#z8U6d_|krW>=&_YYFNiPhh* zj1(iIOlG|5vH7Ra^piwM9rz+DuQIxAuD8U1w9H2fX+ElljoeuW4)LJ_do*EUU@-ZA zOi;3dw(EB;KzOc%zbUutDJwgk7=0A&9bYG3yqXH|{ejNXjeO-8 z-EMZ$fuH{Mmwp9N%)mgz(E$#jKmg?`0eAr@$ERi5&&%u>_HZbxm-KgPcAYxrf56O zv@unJr7>A)(&E4C$6Er^i32{vl5iE{X^n>j3Np*nxb8j(boXcPGa1dhW4{~6G!o1f z^hC1--J!3zCs=nU9w{OofqR!Nx;t1KJ5K`LU05ZqCI&r9(ufC&euZpG7akRqjiL+a zrtU?Gs}lZ;3?|sXr5E-r%j#n zI}E}=xu=36KM*`howE_(h2>F@k-#%NpYWAgEiT7k22|%fM=wUhi-{PCq0|W(CEbvV zL8>sEb{-ZurN$$!`^iQ4V+n5+FL1>ya4OvFAcgH&`O=Sc`sL$f{PH8ZJ5q`CVXUOj{3oB2c$~()K_|co?bkV#`!i}Rhly!Ro!somk zhc8wg5--jnzYZ6<9hFM>eX;<|!rJ4h_J7NluB4Aw(OHQ?2~UzALl$d#6w-YQ8K*|e z_dX!wRKSn$K@$F~G)`d_Rvtr@catx1w~)!SD-#8h^ zQ_K|kl{EMbe~RzFBn|$o0SJFr!dJ+R1;}z0)^8`O6EtQO)+u>0 z!+kOFcsbv-sJW32X1_%i%6Bn%h?Id6ZtP-Eh!nuIWehk#DQ-_W`^|>Q5me|cAyOcR z4V3M;$6*bT0$I`OocAcp5+Vh%V$?Z4%8D_ENP(sQp)Kf zKt#NSn=9JtoO9?^Q-~B-VHulv?5;mVyARTG;{Gj2k3JHYX zyJXDezG;h4E)O{F1Xd_K#pv-MzC99}58IuiaT?kqORU_`K^9CqibEafm~N%QC!7jk zxAm;%RLCPLWQ+Qm2Iy-Hv~5D_t>a~R#uK&OKJU%~!A z<&mcg;0ioXl>cQ=DevFFmlz}9SD=FbI#`D`rY9k3;m@yw`0e7&p0v_v1Hi5LfnG^T zDJ5$uSw+b*N|sRalBmJ7i@|CDW0wAt$a7O(Z(4Btyq{A67BLSOAZ4}+7+=Hy*gwv? zh%vc^u;gw^29ura33HjlY1ic8pfUmMcb>GAxtrWVKBMF*N~Y9enf=XWCeh4vK~R|h z_D`y{lxaPBQ%cFJE66qY20 zlJ9BT{^O&F;9=c_;I#7*!QHwQK>+(dIBIG12r30!@bzz=W=o~LM}qy!>xF;0M)C3C zY-XQQI8F=0Mz8&djzGW>O<~E?qG()YLCQ3ICm8x^LezA$t8GfB-{aa>z zLlN8WrBH>15?&%dfh^X6r2pMVr(H+O_lDE=|ExjyAPG;C-(!|X9vp8C8HF*)PU9q5 z>_v2vjH0>lHChV)ktj(;){7UD)A8xA+0~;g!idDBU*z(w|S0~rRWqI=XbhE$-)fG zqax5@+8N}Oi~hI{{goDA80J-Y^Gs$%ssZmg;oI1(!9;Rip0C%{s4tlMg`1nd`y8ai zBKaB7{Y74jz`7dT^ya<`aeh46O!debD-JjoWX7F~yLyu`Glx+nCz~IzoB0T%<)L5r zAQ;c++iwWc_Xh#Hk!Xux!D4xRk-hZpoU78f%yLFae@wF!6XS_{J;1Ec#yt2uws1i;)KChiP zMUhn6CRie=Y=#tdR2ZZBd(m_xgKFWy0aoYt^0V0n zwP-lnJ%lzvY_eUKorUfFkye)ep9H+4j8gRvdSEa#j=DBneB2$b^Tb1zr*4W6ZA< zV;*)I%wv8T_K`TXFJwtx$d&>h`&b7r?|NUaI5Fmhy^LgvzVBli^QER9H;;M3n#O!0 zY~*=|>rahM0_{~u@`UflP1Hk@!ZNwpqv40t-*r@O6i1H$St81Ctv(e4O43jXxI!9a4 z%P2NL`c#O4?OTqOaF&F~DZbugkAO>4uVj7NttWAwBMJd!xEm^vmCD+W5t8OZ`9f4w zL1DRSNp}<#8LhCDdAmg`&n1)Xmdg-6M#90AORdK&+_rwLWZ3?MhPbUJSaAR$;!O&p zI0OrkdjqE}LWD#{WCenkXBHwPq@)m8{9(PRoA{*$CLuytSEE3MjS`5B;T3`u+!&FB z-Q%g*Bru1jK*dCwDQRL)v>@~KL~K?DA-uf>3W>z}6s#(=ilWSudDOWz!X`@a|PebO?E zS%&Z_jpMlJ$>&Dnu%a^gZnIZRz`~J<%p+{1%8d>@z$F6V`gyn!HaEA#rfiib71g3) zP!}8P5J*Lz@E_PCTnhxZL+y?*ICQDX)fpg*EzX|aTN zk(f{x*!v)(_(L)^kNyq?Y(9!F`>^kXfJFckRo?NrT57e>I@v21$)X=1b8&}W2tP~0 zhf8xYW-&gd)x; zjC2?qV-=Nt=)dB{7qIkYYf=ziCE<@mi2^XoXaC@w24iEKtT`PBVj*#km`tq~BCCto z5!dI6bHtkG8mY7uWZu{j1<&FkAyF_2{b8-uS{m0!dN0t zxQLf*^8G$kj%OXh{oe}sS+X3;;^pwQ76@w8^G$jX9QXrW0@np0dXS$Qz5-st2bq5#rQ{A89ao!c{*~5+7X{S}V1GrOrREdlVNyjp zT+P>}QidPHQhxo~S_**uYpvdkeW{eQDS3yi$6m4?FA?9v<;a`JpM0T!@yn4B%tRRH zA1=cD>EyG*FGu$8Aq#RTS&-dkTwN6QH$4bf0Q-+vEyyaBatMsRHve){B&NP(2kuD8 zu^J=i2{Pk8K*{hLJm%>z4k6APZm56$v*@kwPcS}N@GkO+;(wcrud^w+`#3hivy-EH z32VYM($w+=>>O$Wf-9ZrKp6jeG6?Tu|F;;X+^S<(+Lb#^1bMz6mUiJzD?tG4f7EPN z_N@R6nJ&9X0Rh%aEWA-28%dsg4*kE!L4>)5`bEz2Rk$n{y7D4<_8ew@|L0^_9!1F& ze<6y`?J%J@hPL>Nc34pau>U?2ihXwZcONzSqCFXz57W`I9W2pPu?uw0TK80GEN|sHmweki2G)nAOv_K z!^BRTH=j!QPDvoj;s%NjBxRN~i86P$1`>ltfYT%kP*>r{oq&uAn55lE;6;WWsM) z`&4u77gLzHyMk&5u>bULM(ujeL-hgw)B8ftPgT)oQ!7|G%sL>tmll)uR$B$j{z5AG zpbUf`*&^WUrAkg&;C6URI%7Ssf43FO*ooXAptt{%_5q-LFhC}{$$xBQatd8ojwYB~ zVC9uKcy1%Z|7)b+KP>Bgob>hnbmiq;5zG9gc02)_c^{Ycp2K;TnPvgTST>Af;wD1|Eg|GQS zbkrNzz02-Q!&(Li}CsTL^oHw3NkN^!}tMg!i@LdS7+c(Q{BG7Cj-^Ld!njK^pmf1m<`$JiR@mgUed#8*EVdbdy#%YjUD1=dV<;SAz z3d2CgpYJ{h`~9^BPxg*rWNNd4O9BX|^8i~wq`w5+U0YMZVLY4;g5@1# zJiNS!Ycgv+@P`bi!#-bIAt=9wCh$xhi+xqXpO+Ij&zd8%rqL&(9z*y85}qwT!7R^F z^0h>7Kt5aHd#R{IfT4Lp3XpKIBw;*i2#tt;c~o~K%<;E!?>q-z^yNVpW1I!3mrkD{ z3OJX8r~;C%U2h`kgM+XkZ>+bH6v3V%xgSgfkQxp;pfmD7(7W$%>mVX_>|^4W7QkV7i= zU&fGn(q;^)`<0L(^?h6;Ln>o}ae!elXLEUg0dIN>ima6w+w5`n09wzRHO}tpYaM4G zj>YJDcb$n9#*=mCg>_a|Kyb+Dn%@vBj9w?`{xSB}vY1&|>>vq$Q4#&Yvr;k*BAByqm}$Yl9M1x>|If0C=MkEQ zZleUxY{dD!^~Pe1-+;566bc_H6!(d$L4}DXhqVy`##I;q`v+Q8m~K=`fTr}_lzc|# zmJidEzKxPsDVa^lSV{(-!Z(X(&Rk0du@?+yOHdlf=W;`-3Bf+7&)Zj(S`h@Wf2i5# zQt|6#B>RFT`a2WYbevxk{=D-$XjeW!!-8}IqPf^lqP4p{vs7@wgEU&_(T!i{OZbg) zv{KgiY`j}(7<)+(7+=Lc{Df|xJ@7e)CDTU$4pZ~2^##1QtJwci_Thg%7d3uIT6`S^ z;s3XUed^To}*8)DL7(|gg+!d!7MhcQ}}lGh9~RUSidz(^T8>27`?+38ok4~ zcpsL4+gh|?myF`VvUzwiiZ%~vWYf%@Lc3q@p;atw)_SyI%1{S|+=2Up&p6q@fxA7$ z@O)LkxC1wW`Fcv6zA+I}IB<^_pG{&#C6JkElz`n#MRD+e&rBUyOosQKpIJK)z>RmH z2Lt?6`^2!^M#Hjzk~=9GK#7Brr8L;)fj{<-IgFPx>P#mD!<`R2J6;jz1IhUnFw##i zs7I4!jncqz!CO8R?68H@&35AuK2XBnm3zjJrIy@6n&usJc&M{{?>hSaf&jv85}qQz z$1GT+CshU{RutdGJCba}V=2;$==qO7G4=daq>C>7#M<)+mahAY8gkvw{X`(NkW|~H ztFX9i34c(kwmd6SW(}uLPNpOLdD1+R_KQkF0PDZ!6zP6)`4g-c(au?bsw<34ae}9@!HHpbtb_BmK$Ien9N-8v!hpo< z>OmTx;d9SDDu*Zp<7Zu#Wt@nIE{p%z)MX zezR0$dDi0}AyLmE>(`8r1W^IN+CLaZ57U0S+NDyp(q|}DSJiY=gi@7wf}TxERdHRd zp;V#x5=zxVD)!eq8(ybWovLk`{)BW#{b@3&p$+IyLS;%Y{2)MoIa-SV-iM9vwsn=kH z%Z?k2pdJfhgc+wAVT4_GG|UKJ)i#?E+C@;L8(@UasWJ+c(4nE*$A4(*_8qjLH|j%c zwW4Gayyge+uP}g)Lc?-Un9-65E4FhuLAWo%Ks4U7blr( zdx~yWiw~*|!2Y|eaoWBhefJ$o=20?^lI^6$uA;L-AAMk|q3cAf;mr@MH2~N@%zFN4 zD3#I+bm5oBGX3F;6JhlS)Q55V5##^3DgMs~Vq|@x;E2obh86dgaJcM*Du*nH|C8#R zH_pcXM`@mMj5)_8u;)bfzcY{fL-7{U3o`c{?nZHc#-+eWg?0Wl#(0es`X@`cljE-( z8U6?3{@AKNvIbtz(&)fF#r+vhYos*TW_#ieMi02}Bn&-__&;bPX?pyh)q*sgX{s7Y zM_*3_xVgen0p*Fx(Abx9__qKRVeXk14AwK)6qpg*oz&L@gPowa`ZS-vJ zItJEpuPG|dY+3I%5}Hq3i};L}@Eua8Pj<{&Q^L<9WqHsQ}U+~=XAN_tWP%Kvxyr&>_-mzOPXk@&Sgxrz^pX{@n{ zbqJd&V0TbMIrv@yhV}SsafbsP>fyXp4HV^y%68m4w3Tn9uC&Rgj}tKNk%Zu&7&Yv*Yu*=p!UKn1nvI`dB;iKjP@bjAEFL&?(h7v1SSjE};84oq z-iY~dpTPE&NVg&6uw1@U(2WCDi9(9gP*NKl{hZ9<(Q+=NnV^8f^KN7B9wWtlqJRyd z!a4Y+l_olk+JvxyE3I@wa1fo?{|`MF@x0-{q59s(`OZjyW|O^eDz^1#CW7Xi5+W!_ z9zTwqcp!~7c+>gNvcLNtM`;{G(?>@rUl6bx2u%PB(Q@stF$zCm$Q_{_G}M4`&}X-( zmh_kesz(SFCkD7-EnCL^Kds+>D?|2{fJt7miq91lI~g)>+>5Zb0>oPX1(iqOrj>WD__iM_&-)6sU%>2C9)Yp_(0JD9m)ODy%G|^LS6a&3zQRP$ z{r4d3(-l^F64*@7)M~Bl6h)7Cg%=%;o)-R^IvotGu*ZDc3LJAiNLCGBA;ug5CW5cQ z5cbec^Ipqde;~n?Q97mX^}ZyVTGEw+-QH^xK!#yn`|EwZSl<1LGrd}U2KrZ@Jr_Nr z9-*XTHshp80ZXi-5d73RPa;VO$F<8j4IW{benruj-w?37310$(l!Ut_CAwP1x+(oN zUs8L9E*|7^c};Hs=I};)&DX2F73nQ=5ZeuNXyjHu&;HNSZ@!r!eHm)ZY0`h_=1eqq%ge%mB}#uXxL z_uE$aL*S;#pI6^D$)7Tcj_!NgDt`#vH2HIb_;wI0ZwCi@?3t0SPnw`57YY zWIETX?QcO2>DBfn{5es7>PCKB_B@(~Q_43CPIfBQe=!W-WdEPgx82CtYILB1cyS=# zM=@NX)JKf&!}tX>1nzy~TSOmc2z}DuGU(IyEkU2jH*osE@~H5TZQfuL znQTZVrjAw5)!)8>k!fTg*dHTof8O+_sXuEdAosvGt^G;h-mfifs6Xc|HSjH3D)3#G z)mVQjH#E|p>YVooUyYUg&Krc5TJ*GnO18fU(S3@;^By5|2@FdX0Ny1d_IN`bs^n@e z5f&FtvHVUKQH5~bBYdY+@|_x59mT3!uSv%#owel!m?oLv2Gfe3n#G#cmp2Rge~C$6 zO{0a_?j=@vMPNj30v(MxGF{r(b@b5FP zoA`IrD6DJN>sJ0HaPLdsXo!Ck-!S;M;~Rp1qyEtt|2qHCDE|iIyYDpkqJ}*x9j)?z}u+(f_^Drs(%7Y+SrwQ5VpB z_Qy-lQsmJt2!f@j|BEasY%OMQ1Dyv_xgc{TE1j)vJE8-t{S;8iXP;>Px;=b-@>%2S zA77JSPo}TYpTlF{LSKJ&wdGiuqDb2`JS4({{?W^{GISJVUQA`&PG$6YH3@g6YGP*I z$;z61wG7{R&Z|k>WaP7-S^~#HDQvB6uO@2C`H-V0gz=UOyrb*bsZ_hi*y~a)RdTU5IT5!3hScEnQCrs;e0IpG(Z(5&+L- z;A5|t!LKkddK9vpotB(p$XQU2IqfYqOn{s|l=J&ybIuKr^Brs(FTI{I`gyo*Oa@H8 z&QBzfgFS`*K6$bJ(ceZXLX;md(>V0itSZZ^inUKd-`^YN{owJY;COSu*C}$YQHx&U zC8kk{P)Rg&ll_@mu?K1XAn!hyoX|>|M)p$p0+>dxUKIX|UhqXi&=;-Xi?xet4J&Ip z*_e4NHj9UaVprg1nDMS~0lmYm5BE3Fz75v)ap$Wgf}q&eCkFu@;sP`fZQ$RZ--?N~ zbOq7Uyl`F9xOk=@=b6D`3pj5WZ=_rH%BASsm0+~C=O7ZB!DYjf&C>V^@$imld{)5N z9)X(<^ozBI?du`)K{^vAFp#5=7O3azGskG;uUi3!FUv}!wU0l)d%?#O{=88UmT{yS zOcz&5K|)6Ibh2!H@2m~T+Zr7F>@So(V+lonfvJJb2W5J}b&bvkTM6H6LN!I8nu2G_ zpMqb=KwcRV1Q*nX`17{byi>Tw1vpPN=dsoC2-bHS^G9*?$zR^d516{iAu<76C9^Q< zp)shrvdUamh2AH19>6~2-N+%A2zqWFv;r^2~78HZ+G>-KEIGZw=n1MSy5wGjF>?{W$9t0i3^l6iV{ zepi$1&Tj`;WE`6D5z&We zPW;WYNsJ}h#=Qs{V{8jd?D3HB4bMIS*qd9dkR(bsVl=^31Q~y-zHYD;2!8J_+!eit z{d9TzxV)}-IC<=ZKWU8BGB&EdAK^oY5SD>XAxUv+N!Nl?nQAefbm1up{}zRrqdND9&w)(YqEab#@YZddKO={F+4!3rGSd?5D8P0_e-wf z1nI_W#u^%0+hPNol!RBEI!D=F`%dBnGj$7u^vAOjk0%Qfljg)=KYd&woThdL~h%mBiVCN%KsLr%!tK$Eot`(N{>7Bqn5qFDk-uf66u z?4?>rAWGHSfS8z6uSAZ9S+~y@z^5Yg|vpZdQ{R5RoGFo^Fe5btlFh-|Y7lZE;^ znUS5z_#m3JTEm!8S&G7+joSQHG`+yY!SA#QY<77{U4f0R!b1V~x#eO`O(_rJpEsyT z4LXK15gO^n!cP9o90)ppVi$J!(~4r6Y=sjE>&yPF+AG%CpKN#@9{tLRGp1fxb6PmA zao>?NUeS839OH!cvDV;m)4hxIhCbpdMue+FHt>Sla|Mlu94IH3+B03AL-C;~)92h> zA7E2wccNaa$+v?zU{iLzLoGan?-`p4#Z*NLAr&o^4x!Dwy5!B#E?NY&kJ zPA#l}K<`>$Yv|kCwK9J+ls@G(Q|Vq_I+GpHyj)QN%bYertE_N9e(Etdn<~;U5Wo$R z<P%dS@x-mcmF*F9&b(shxmZg9HxC)3@A*NZy;ykh~KHJJ-iZk*CRFqFEp0 z`H9-NUCO2xuEf{4*{?jLeN!I>S=VP51Z>0e@m%Ss1Vb%6`1tYLEYaLZI~E|-Uc%UB z@{)M(VCnJfHkFS8?5QhQo9=ITKbh67lYUrD`XPGZ?-Cw>r3&@wMkV~|UF#iaI6APW zywQXq>EE13Cz|}XHsY&193qIDE@7Dnuqg*hX-FyZzVDdK#WWAHGZqa9}Ga^UJ1 zLF^$79`scmsQ1!2e;GIW6DBp0G4To)u3llpO9;i}XFmJ)oA?lx+$^6Gbo+9O3?vA} z=d0`%;zuF;)s56vnlHcOU?vobMnvKo zN!^xB-DZp|rq1WUSp}Fr+2A9LW&l?*iLARZ5Vd)L{clZy>dLC4*kEfn%>_I$7G-6I zR$10gAx^LsK;foC`%)C?8KP9L(=+eH5%BF;OeXbVobtV8!51_h@L)^ff!uJjf~=vE zh9UejGqqEC`hs<;zszF49_>Zrpzsp}De9beao4X(Q$HM?a4(42o2f$lf(KV7lBSkR z>Uj+{t(5;>Y(~&)T#Su~7Ou}NXEng3z11SfsthpSi&9O`m?R`&OfGT|SG01uT$m84a@OGpv2rH0KAs6wEsiMfy)2=Z@Esq+F z9<&~?RWsxYGM_GmjY&qMp8hvL7sPQ3haZLpY6JeK>d>&EehQ+AoH|ICH3i|jaVhD| zS)?+1LnHA~{flI91wh$90rq@scxkB~xDAI*4JA)fa?!}luAMax9hShQr7niee@ z$vL@bDXcK>#zm-6hMHN#ahxwtCIhYu^>MkUz@`PwFE_Xz)#w*_pjMnBjq4>7;YSt! zffMCk{v$;OtM}f-KIsBpJ3Jme!!-@f=)f^f;}ii8fSi{esSWcv?#nsOA51cErd2~0 z{NYOnQbxJOaV*X^BnW1r;i&_jTJw%hfbx-3U`e9ZS9o zCaR1hYVj>NV;zOQmC?|4s)bhq*f-Ixkc*kuq-Rj4wqq~o6)U1FbEWLmUv1`2{o@hQ zsY^!lPF;f}gmt6Oz9-S>p8`w&;5vTq3bDn7%sCCeY^`|*G3K0rR?i%?B=WT~Oi({y zJ6Sz*uEDo?!wTt)y~5WT8Gf~Rm3;G6Y(pDvqmZ%7Z%X9j(=Ar*7#qzaLf&*Wv{w?j z3-tjL(F8fYoGVXb(7axIPD8Eq$#qo46SaZR9$Tm%oWM)ef4Ld0qr%9;%DvMerQ)bo zhE(kTaRgJ&{iP;T4pt>JR;q8NtZxd|r%$|@v*m2YmJ9XUM84qN1XB!?-@upU$`Cx) zc9(d*+tR@EsgEMyS@C&fJii$)@SJcV8!6wOZoobR-h;3nLPI(ULM}~M*Uz|){T)AZ zAVa2KJ}iDJ;I~?cPO`%O-2u8iUG$j~wOEx0lmgy^B@3Ekclc?aGQ{BfV4T_D8;AYN z_oC4%l0~MGr+zjWd~OU3ZpD3?KUIPAYMc=_!^m2`2 z`4>cQxGJ2{+lgyG%fthB@y3s}8JD-r?@_&K%#MAFOk(F}uXPk4HtN&QEgSpTl` z8m?cRQ%?PjI{a9%D76@3U>bYEr%+`uY?P^wfQrxhi%#I8A>G{sn+*Jz$A6^h|LH`7 zo5FweK$aMQao@*~>1rXbGr>RwHq$2Dfb!gDzp(^{SCxM%`wwg zqanf&kK;u<4K@SXnD*<>CgjKzZb#%^J0+3h2Dk(&5Xqd!5U8FV+`pGX{ZON=u^RiH zjSXZaT?8eq3EN){wWn=krGMKov^_gcMrzLzN4WM_>gU3e)jz{hzu;TLj;xOgQ~!*tFHR{tZ`_8SO@fs?3z-60f%ZM7y0vLyz5E915941)q|{o}&7 ze}t`p`XvEw3RC?JwUG$W1FE0ZwEn-N(f&UxO#jzJ?Eh}z=-)v5zi5d5M*G7ca6?VR z_IC?yzdGkjsENy~93ihrs0iB_$g5{LLZpSyDZm#{W@YoP;(GudzEf?MS)r!>7TnaI zP6A69*$u%p=Y&ac&Eu6P7&w98TIJ?~>-qOdaKT=ZewCdGu5*kDDtNz^+N*`m5n0yV z4E^XYbg*CS6Y-fLmv3&c1wt(DV*wFH;^L5R?VC43WPiPppa>OrjI_NbCF^v_06Htk ze)JqS^<$3g$6VSr8=VCEm4OEI;RC!sMOPN^uAIl|KV4B|e;_N>wqY)O6W=CueBZ{71Pp8bPSiO*e5t!7&pT6qvbSp5y{| zS4NH#^$qp+8T0q^%KyOM7pjf$_nUt;&fhy+oWIw;YvS)QT_W=L8MpU^|E0ZGv}>fj zB}W@?@6Q@;Vtb#Z_NGJaSwVxEHSN*+iPu2O8qHf6&8v3?wNSUUrB*md zu#(Y1j>@A)8XT2Ox}GnPZ$rpeKclZotZ(eR^wd1F{2xmtGZZVWD0;)pza!fOBb#kP z_F6NtV4>hiKFY3fvGa$r$t7-ay zOKE^VOY9#mHO}8HTWXxYV~gVZu7lp%5c~8} zIDdD`swhPt`9xhnf90CfqDK28xk-W!_G$Q>lw6QGW+{5_#?qO(;Q;3gSN*&yiLU*# zx4V)5Qx9ml&wg!NX(71sL|cW(;InssD}sgK#ud^+V2`_>kVz}Z{QgbEU>r{2_G1&1 z6tit>cNmo?K>+F-Z>a@gbQVHK%=xmC*JL{y9whUh$jz1m4v9W(T#e@pkA6 zpg**s^9omDyq>1w{%as11oyqan{kih{PepScL3_sZ?@tNEc4HV`liI|`QQ0J48CdM z@O>l{-;JX}`2X1ci2Scg{+APyaZJ_qwCR{?nEZ@qO!-0Wrv9e;2C?6)nloz^U~x3 zb1C>O&pMEX)~rQz*)v@JY%{wcj^#c8InpaYR1-;L-(%uui0Y?XUNGt!DGtWRv>kXWUz^>9n;2Y zo=VO0tw7SVh2c4EFdhIhut>zqrI8q)AThw_4orhxIbKA%<#dbpto1qr*}m)}TVEi3%G{RCxazGcTY9dv9vcs(^x0q@ohr9zxRg_R~MtT9pHt!5P7nCR%+q(d6vEL8tFHrS-caoZ4o-|vCELA(2`hQZxzxg*4F9yrZQ0)pr}}J#zc-^)pM$uWq5pa* z`4>>~EhS%3vhh;hM`>#D!8)RDVR;k|j6bbZIAEqiA9eONYxV|n_T}o__u)63(SB8d zyN8JwR5&uUI(HVl5yI4e$}*>n;pJ(C)qN;Xco-ZB^MAOx?|$^pJoL659KWH!)bG=x&ZG^Ev)OK7PsV_ET}ZsN`_y|WayV4 zI-aANJDyubMPQ2@LiJ8UmDP2JQ5W!L^QwxD#DR5bSk-Y#7Nkky6t6xd7$+u3qQ)2! z)eU8VL>&YVp%OL5kf_^C61B=CQFm=MOH?q9>+$C`U!uk|mn`igk>$5bkRE$3`CEFR zMWm`8p{nvIx&IR01DEAbIOBR-M`E&Qs_^v1yu!X}aTz!SoN1+PBUSnY)~3%Dl@3!E zz%8Hbso&qwUNutH9jNLyqU!6_;st0$Hco_WD|x*Ro5A8K zHiN~rZ6Qj-`P~~~akXflO<+e$ox^efwm`%_vvI^eu!Tj;w8}{^A(m)D?8C1@Ryp&# zHGk|idzE9eMd+yUy|AP1#>Ap7sdLN2%r0)UD0twM9fRdh7t{XH7(xYgcjC1DFizX|)3lATMSIg1b0~QX6TgdLs!!=D$3$`ZaUpw& zF=s@FVa%~&Wpi`*l?`Le^ytXzyF0!LVa)kSjWXuXa@fQLF=iYh_OTc-s~TNwC?>{? zH!+P~8o<=z2W>(p4WmIcn=#`e zp?U$K+MT0HoCAG>yJ^rjyOoBRrZJ2~GE?e{!~PC^u|uS(EuHZ0L%5zg%TP z#2C++7{j$KWHz}vvH6VA?Ahd;NQ{w$gwW5vz!Q@L*~|_}Dwu3$zuPz!ezb+9LabW625ZC1e(2V! z>7xBtZVj=PrFUw6`lCs5$<+R2qy2F~?KfG=_6i~S-|#{*&S?Kw(f%CK{-Ik! zrmpm}o8SIsPhE)-+uwuQkBR@ggK)l%K&Q{cSm;N2{4JQ8vvCk&t zZotIf6|moTE=M$1EpBztYT{@J(fj`nL_0Wb5I&fdB2^ zOgm`S{qh;Gl@sqKm(m&FQk92+8Z!>fypH{ua+8a1ka+xBM$MD~F1+%ir!(E3*B!5< z+w9Q5W>yVP>EGoi7S!H3xkEwi!_!2F#Kt;ObI z{3f@TANTXFHXX1elktlU1uyV^!rd8*9Wr>ipt=H`}Z>Zs_zKC z1K|V<155+$1>6D`pj;PEXP`WA0z6}bI)631m~lv*OM1IIIor)oGLFUFP8hQq{J~wq zEZQZU&SrX}HBbw067IUnK{^_?C9`-)x9b?g4D)O>F^ty~5DGYiD6zcZFb+UOw*K!< zoLrdzk={g$=eNTRJ2J<^=AB#I1kd=g6j8I6T}NRWH`33K_)kmeb}Ze~!oLNync;u3 z4!)>9yuXPNPlTUu$Byw*wQhds*UiM(N`*S|t?&)=h@;+H!R>KoiW?ZR#_idmc}}rK zy*pzkQmRV0TAv0M?4Yt{ ztOjm^$UGg@xfm?7vVyAJ4YA!uLL3XV2v_ow|6EKYc$RbJOsFRUp&tc81~xS?o^qx3 zV$h82qnQjNpMpL1~>xu)jv<;z?o;_2nuQ8m50E* z(or3Y@%6eIoz+YpqVX_J6ZEs}6p>=OJWwu9E8D7J#GOyUj@US`vfFB6HxVJIXA*Gy zK#$_z3oM_6KiRz8V^(l13AYhTBJLiFCE;}AC}uJs%}uc+YP3Kl>rnr2C~Q(!l#@AK zd6{1oM2JtZ>Yq^NYCe3z7P|vVJ^|M0531|Jo^QVx`ix{*_y7fcR(ol9 zcpKDOyv)0|TJ$Q88GwE#pgq+h3?fJe8c8x{ksrv8dlZHHfuLJ2#;+PF`w|_dPb> zP-1?Mf*Gvhyw)(}PS9y6i&HjwKYH8NUjts2v4LyIc{5w#b)zumZ?WR0_TwloV$H#c zxyClR3l7aK=mruElewpgO?&=M>LfF*lTPaZ273FRaRn!d~g?hf@2%*31idbqZetOIxVn; zW5L!gh1+b1MNit6%WtU#zJfO&`&P;;_AB4v=IwTSmhesSMIs6p5U!kYt=qHL?fFFr zG>FgYg1sCNXcq%+>fDZ4*F>zE39CBzp0U7mLYOJcZho|ZNhf1fNnPOfl)@aHO(M!x z10!{;5KY6GXc{%s5KUPqn%t%l4Wg;<*wg4Hlk1kMhFLCUOSv=_%edaxD~{w6_iHCv zr_W3zp)^(#fpNTWh}a~NvNSm}3oco0p_cyqIXDLoQT(Ssh&+A{mmW{fh#-;j5PvST zL3(iio{F|iN7=MZ&4Ti{KwSWwT5Cd!hGZ5&hc5~#OSmC zS#}mmX!4=HkQJx*Qb01zDUradG|2XH^65&% zXq~JlQPdZf!YO>G>O-dT&0w;pRNvjU9`7d4Ccm;>P}CP%WvLTOz*}mmmsne=qo}z; zdqGco5z_^`K}55_%SU-YHe4f`g14k;rpPwwI^FwgjrArDmYWKXHy55@E<921xv7|lG{%+_PZXfzE9}1PiSsge@Uo;wu!PuH2%$~mn*k$NG#vu2GiQnlf zN{*NQU60$bi=d~dL(sqp@{gw|N?;PVNt({H88lsJ<22Q)$0;aM7vl%3lb^$Me)3y3 zYFZ+cmdJl#qa8NcXs$q{NmhVKMEJ5z$JSQT@D|S?Q370dE|73G+28{(0nVtvB5&{} ztmI9QxzGqb`a4(@Fy3-Aq-ma*$n+zVw$o6H@Z<_EXc^TL-RPkQ0?gWxqFH2Sr9B$b z>slZVHDZg~Z7T(K$pvWYMihagS-+2%E=1sJz8Dn>nhaFn&@Ubh3K|t|plk?2?)X8n z@I|UalxNb^;ssSu%IY~C>aC=K*5}%SNCXW>u}PIKCnP{}ZdT{^=n5t70rHLIl_D8E z{B;kJ(*+ub1J^tV{e<)1eB!@Z>w!Vbp%SF2hj*q|#G#@Nb+K7(=0vw=r#9;sg?E46 z7|m;hG-PU2yiIpJN~>BE_ThUO8qb6^QeYzMVh=Vu5Bix1g0b*@A7R&Gtx*bRx;K$r zuvoWei<>QuB??&oHkVCzmDTY2br{Yx zx5KF_{m`Fuf-H*%_{9Kh=qJ9M*9ywYB3>&_V@14HT>5m}Jr^lTQCzU(9(eHuPRXiy{N`pYdes7r4?EpBGW zx9I0$(BTv& z**d93U1CtiC8|XU^mL9|6h}{;)uPilq{1)~mJ`BFLT`fZ*NCfdYdDyzPDcfEm9WB{ zFzH@RWi;)7V6?elvGs!1=$#=M4emH7tYM`14JAm8T`l^7o){^1&{H?Hh$etfICfVB zGvsQHT^^lh(9A4Z-VjToWe4~&gei9)keD`!GeIiC!Ks?A7%!?D#*6B#7SDzN4T%3c zifGf~Ces;Y*>gByG^H_oS1xRO+8${7AlrI8((vf-ccKE?d()%{!(+vW(}4y@Mv2jn zwMIAYG&*q`)_N3b{hk(={rw6J%8`>oO)q(()+ ztu-h(%1%cX9G{&=99KRNp_Zo`tAz=UpeoLRD#WCNRo&`OJ%&{ciBwg}jSY6fCzcru zDPtk9+=px8|gR;A*MO`VQt6J0^GUii;LtQ{| z7HYa-32bB^IVr}2&Yt{t(~I5J;zg(*iFE~?7=ehsHUcl?VAzV$?yh3uUOpM!UHM$5r#X#{YwW>=1 zf?cHs)c=tao1iXTGMv=^G;C7S)TS`%QVPPQ`aiBkcy$SDX@Fy+;R?4U=I0WU(@H1$03FStsjaXh35te#>pwS83ki-hD>myRu_x{7t%~vq^b*E z1vM)(4xjGfe$v!A32$%C+|9 z)El-g-Z&&tXz<&ZR@0ViHH<}l_MYvM*vl1c>E5EDk-m|S^csbjYg_0@R~qKG@i|T4 zw;@A`-;^`sH(IhuetRrBJijT;FJjo?V6Yt!8!&)`uoZmCMmIJvs;@r5PBNRimD@`=1f? ztWphnZ?$>5Ayjw7<4&1y`aoTP=Hkqj5ow2#an#`k?3S&K%)gtd~*t~IUy`+9C>tN*?Zi$h$hxNTe52#vFt0{-a^ zX9~El8Ca$4mlHv8(*Drqy3GZ*YevCeLHy#(b~wWvg51nD_~GZ5GvRDW z{*A#E$sky=mgPS*y_WlpT8i)dJ+v92rT?QDrK?za2Q2+-8``AXsPp$BVdSKx6_!Q? z&sJcKJ$6SEW~*)2G~F5-GE3Pn%`k^q#^$M~>OvJ`$+i%yub)ik)wWLjr`|{lc--&@@!>Yz<Aiq3cLus&N|DI zRcg-q5-v80_CG+$Cv}*#rDP1o%{PmacpGt40`FCmIN9`KIHuCfOqFF~s(-&2!c>Wm zg=Z?xOvX(Pdrp|EYRjvNH>%>E5ik*eSf(*jujE~=`EGZDXHg1>9*>GasXW8u^_L!{ z4oNq6h%>lDJaN^Z=|7h-nLX@eVnxUqtA|llS+OssUri@ zDS#{!G4}G#bk7DOg8g&;>@3$R*C9orhz_C%wHRb%0bBTin`qe5@=c{ZXq3iXF^7b> zV*Ut|?9>a?lFnLTb(&g&E@ckrvlN(R)5ymxor=+~IE1s?sqSP3z zup$bI_3X!z-KLT!>}rLt)!3$9%qmw)?q{8JFwLo!9OPH^I$${-uHw)B#EL(pB!TMB zST}_+R#JNrV51EL*ifHc=id%T0(bZ~ftys(pON3ai{2d#?`Bi+hd*Z>o>Xt`aI62_ zZRWm4J>^nt?$zl3>c~$P6u%&>^DDgj*j7V%Dc3Wp>TmzRWD>)m+82r6@KAZ-0SE1g ziR<8;=*&l?)8J3g&B_o0y9`(cqhCV=7qz4t!&fcdqR{Y3!^UK2=xq#9Le!Ej?1j7w zDYlpg9O1ln^&D|GjMv_pKeOW3JIbN&(nUZwC;W-m%RsyF@~FG%@RW$%%4J|uGS}4D z_|~7Pr-e~EZw`im!`8tH7SLWW0A-uN#@axJf&SD%>~VC#@?c}3Ei0%k)bi)?$HmU{ zY6us*nE`E+Z^fQEX6mW$G|wNRANyhMH`adKPvZp1Iv%isr@3zfE44)=^m{3}gHSS) z@XNCe5^g-(OhSG80sLqaC3k+J{{g8lGNzU;dn;-->0hq1wR3xQN7Zc?Tg)to*)754RNK6+5%o zB;@ZEXlT4K{djSm(2r;L0qJ~Tuhfg-;4+BtXlhtWw8%)~kaX_Pq;my2JBofE;=jl8 z-!&Emo9R&e`!rdVS;^lpIQb6vbGykYv69XT+4!?=dfv-h11Q^L@b@${?D-s&uhG_CiUE$&Aa zdIKX3vVkWDwLD;vg3Pr;Q6Vfw)KYL`l-@~%=M;SB8F~lr2S0!|7G&nq zOZ5t7I8e1jO5~)YPKhNArI$XUm(uziWPhFPzb266i>4@K_ien}tFW=L0roM3wAJ(e z0Zre?b75?F>18oQy!;zJRN!|4XDS>h(Cv6?Y&{GyxF&sPbUTG>d>dad0(8$G$^&%k zXALKECRP`^eaT&FtRT)XT!~6EIYx-Zf(wf9X-56)}eW( zEW9(9>3VAMG`PnA#eTmi?D50|-s1xbn$+W!F6@IJBK7#|^v?6V$FZLrqQ67CHIH5& zL9eHoblTA$nRQycJ6aAG6uZWFap?b;LYi_44NlQ($ll~3Ta@g?PX}qZRL06rXjnNp zC=7L)JG(KCTH*S?e>=r@!=M8`akWpVqZOd8#N#lWOkr zDxrBP@5#U7JGN`4q(GY#7PpMW|S)+gSJ;PNjc){F(C5|II2Tn0_t&z2oo+WMA)SdQ4DDdMoVFIgd#@&}559ya9y| z*P^NW`p+mn2PGJ96|%Sd6D(pgmzNC<@^`?jHazPlczXs|lUn$% z2Cdy|K1t9yR{1}WLvOz$ zIN8C4kpub`RyQC3vfb&HfJOw{pSo!6XRMW>Y~z6J=ouY85liC^i?eOL-> zqSfN}@#94}^=qDv$%aY*W5(CpTM!cNDQ8<$i>>3NT#S!vx?DVDl8c1Hg9C!) z;&V-wi~R-!%f4&cA{Vn~G$1?&Q4rURMdGjw9 zPqTl9r^L&&$n?w_u_+1TB0UjiQ}&)W;C!w zRp=cOtz?v--BMblrlVBa)gND4LK%+mtJe~GiFRcytJmJs%&XTZg_=heGQN6U%zwb< z&+RXnH-BIQNAHTEItEKiZ|IVCKA%g5q76i&_V+g}X$Kjfc^Y5Re&7H9Zb|#@k+uq7 z(!TC7mbCZv7fafMnPHZ+AV!j>M_SUxL2hwpR1Hgk4eomoVEV9xrK zD`i%B?d@PuDvp4g9i9&9&x#do4=^j{hLoRbdwQX-A+j-LLMfB;^lbssJ@e0bTe!d z6xJuIMR36k^}fctDogT1Jnu}9R@_~JzoSSAU1jkEF z^h}^k^l1xaPM&3mH0} z{OIQTy_??$0l~zaQIuvO>a}i9DPy?{9!yYV3z?=0EsP?`-I`}*^DJm8RnDg=)*Z+L zm2{K|1%9Q7(g4~vzSIU67zy|cY}DpMxydIy?s1>bu+BRKSYblp1XmjCKaMwi+qcwOxMoAGiEDPUSM)EpA;X`)9g}X9 zoU@(SzrM3tG!C0v-%TyLgPzV&i&BYgyQ)Rq@u?;jS#+$mvRllR-Frf?D0m#YD$9vQ zza&Q7gg?G;1yS%Wnd&*G03Xgu%Kj>v4RkI@Zj(u`W*)geD-?UBX%S zMb5f3M)9Hu{QU*q6@ic2@U#t=704Jq`_Km>^RJul4*9PHHGAJzNVp#<`7b5gzT!K? zEs#6|Yb@mHUt=QAb;kvHjv#qJb;Uu8XR9l)!BtsdkY_D|H@gbUqg|EjIlP5B z`vpn1SPR)&OrF6=*1}A(7O+L8aj8i3SM_6GuosnkFt;m4o z(HNqtzgkSj708TJ=Uh&iaUwICxK&bl9Wmh-29>RH5(?o|-s&pc5MxlkB~h8E-$GCy zsoWB&+|o?tmZ8^^)MCskLF?6=s)FFlk*a2@X9rO|ER|QnOm^!QB{KVM!ww6<_jhiNkJr)cV;p^JhgzP2F<7rCajg+iR@fUTOYT zJ8G2<){Y_R@TDuTp2-cPW0s2{QW;~J*y5ygh%Ck(8(`Glny_ONPax)UMl#;cStfFM-W=>(7I{$4FlFHQK=-+dzTKq47aNm&2 zLVSFJ7k>7*XN^^(|0o3Zc2h0;HgSc9N$*Rr76>A7K6~FcceVIyq|lN7 z$K1QXMOAH&<1;)I6+2UEk~%dd7WgQoCIVj_Xfg_oa8`0IGuha`H7JX&K z?V&I=SipaTKf%W;#SS3FH>oce9UwsycN!i1QVtt`22JQ9brvgi?AJ z@fnLU^B-0VIa0h-nK4wdCaW?N_b2`;@~o#!zr>h!fgvqLnbpY(c6qFg4pVM`+l_FU zt!m1(U?v1Ei&rZ}zW@fFUWruOlktY63S&~rqz*uLR#QQ_fvQ{Z*vNv7(gxz)bN(XQ zidx%F-Yb7&P$g94Af~S>6Sg*6=gr*nteW#zU&Xrham+* zn*D+Kq{NQ_d4+%54CeiV-y_Kl@mp#!;MZWpPuPW|88KJou$>IoR5>&=#^Ie+`$aks z7Z`x(X#&I-@BS4)96f|UL?RI6#Zz?ov}RO=m9g!Y_R3a2Z5Cx8i$)TRjfClA7k69? z=6vA0BvzUI^da2bkD5X(axQ0)Fj&C7yZ3H_3n3`ZVVh8I2F1|r>+N1? zXm_AVyNBNXAGUiHwc8%sMZbm9nvoK4GpdT zDn7Fj`QqcvY`FCBA#LbRY$nZhgt>TIvz{{J=mF%%QA#O3Uc$}387Fmd!*4Kp26=;w zo{P!0k>#I`PS@71jKX3YiI^-J&zXySQAVjEO65YFR0GR%DqT3sPqF%V~8P+t}Po~M} z?eVLXoZNJ67v?A|X}C^L3vA&jV+*sqeCzY9xS;N}1XrpTWYoHLOOe5D5UW8hWDFab=nf7 zA5x4B2|PUl39KO4_|lsJY?}moID!p}066nR%6(O6jstN~QAbeZc=J1~b%dhA4M9JKn2{ z>45`+dWqE4I=F*JVCBVS`~2L?(ZAq}@4!;(!GnJ(zmv3tu4kpJQJw`O|AFfY8!dS; z{Ar0=dTJq$wEnnKxqy0!F+`a^Eqr2?ZI?Wk!==%#U*o(_sh{8wk7gK{W~KLXFqU42 z=Hyz*SGZmk?FBAdja)V&s6d5xCUDsb?^NKjcVYo869YCJw>=eRI7T(=gRgi_6B~}_ z@5LCpru~4CJ^!*VfIaWnXJF6T9>JdbViO_kITmXQVb85)$G;mnIdSD0w#|shzgfr^ z#NNq7Wbxg`Gf@CVyZ$3O6U92*lwF$3bp$JTtG72GA*y0f=U=VQKF@%oqeCjK|FFp) zP|1B(@2+29YT7^F8>s)-Yt(=I0{y>&_7^KS`=@);3w|LwBEg>stm6@59g}_uBskZ? zeS2ntCkGKcEr8%eTf90N5P8}Z2VV~-+R}_aPQwJGv^~{ z2URfL%mi)=j}Amm>4Fy;ApaV;HK7)*QW@P(GEuM!IV}5{em4|dTMQ7U}<*`-SCUienGgTh>emBT@`>emx6qCU;R~oj^OPeIFQ#BB1xsf#l72=PCxhrYfasYlZz-yH zM-~soa`7;ZzO$*twc?Etl%~8EzKgyz&(3(%bGv9ipUb{I{ChIKTL7SEswq{A^7&f9RA1MW9)DG4Ct> zL`kfga^RUuRd?sXI~if!(WwvscLEp&irc{`={bo(GL*(`?x>V|RV$kX2a?D}t>~m> z3RH9KC#>f9Ppzm1rB9_a17^kZ9E5%R3;_cz4zKQi}>cVr_P@8!-L{B@o&?f8xD%cl<)jX_` zDYZPN4nmM^@i#Z(!*5|E1yBeQXsHjwa2qeDD!8|WvpOtM8lMRvOx@)0?L$6ly$oBQ zqs?7&lF6W}0PHFtl8TGV+9+&O^+acH?Lwl5c9@MZm|C<~@)X2pvN5x^(!zcnRX?CM zvw2%NJj{jA0}~8Qg)YKndZh(oSxL-P3sXj=%N@n>b1;sd56s0Mc%8R2egXbq`!MbE z`)Ef4jlnJe8v~~+7$Pf!%lobsL=v&BKsvE8rp&(DO7*5OSrC9wW}&gH2WBKbSThbY zY(w!K`T(0=guppn8}YP{^*^U0LTRl57)#*O;P>x?b9E;)lQFw^t;V2MoY{EFucNVo z>I-m2Q^?W44H34%>(gJZna3%I7bOeeKGY{56bKS5p<;C5mUj;r6(i{Qo=qN{w=*J6 zw$X`NU{B(nAeR#m{91!mb?;_+ny$h|8!j4XrF@{Rpn>M*gy+M3j&{i^eZXl?Er!Vl z&*OMt?HxxyBfZ<$8aqcjU1iAnY$2PVkDNAtzYgC|4Ew$fA7Q4GN*e={3I|O(U5Ll) z?0M*TD-*InFJ+PC1~OwdaDs1;Gj38p^$hPPPVCO$6YE2-cZi z&accI2D63UtHQ@8EP{V5wh%!KqddW<@YDBl!XIg`sa|Vbb~#?LeOu{SM~rg}&2*G={AunAMW!Ci%^ z-V)uKZqiK@nd~b?!*#5?EU<2F-w#{>>6D^Py57kzSHN zqGyArn#DzLit&E&*PENbxDJ!wSpf z>ST+r0RpS-%6o;ucm*A<3H(EMHjMR32%W*m+|rT9e)j`v%) zF({Z!T0Dc3In#Kl$jfqMevUcv`l;@$OuS*5cQyM=Q&ZMYy%e2&rL2FZkLu20+mU;1 zs&zg1rdV!Sx4lO*+_kW-7h*cwm+^}ZX>{9RVk%+cAh{b$`c^?E%{`ddMT{5JsoLqM z*r>Y1Z~oqxGBbhXcP6zX!!Jnyh1de+TNXs7n+Fq!X>wyNj(P4OhUV}s zU;t0P)y5lVG{}X`knbg=<+XzZExQ0M7ypyda(OuU6UL{L-h$-966{)#0lE1)WMiW& z&Z^aR6}=~xzyt|f62S&9FKTJ5J>P4Vfd7K#S1a1HXgPuHVcmNto6WD*)MwS=czp?m z`pW)9ebrs4z9d6^>8AA+kZ&CBUj~YZ`jUygr=Auk0n;i2y;b8&v~_{rs_C5@qqk}; z#9Or!H9P3QW$~mlzQ4SH^kZ4H*(Mls1dO=`oWDQE&?l26HC0K6Oo>%m3zca_J zAU+cwA)M?K?poMRt&)kI>ob=2$#^~<{#V1fnQaex>BL>|2t(pgc;6rFGufW0sG@zw zGQBjuYs2L2O@4Z$>Nh5FIukcBI!{1Jyp>IHkG9r=4xodY8p&U|D6|0G{BWO+eP#I9 zJCQ7F*Ioe$GDAZYf1wNPF=xQ>8<>k#He9O~)kQj8J5(zZeD*}DiKL{N0ZzeLw9(md zt#Ed{)6CiNPJUFO%&4-oTr|c|bnK2f*pMt;RxudVGx(&iY`bG=)loUs&@JWWw zpqBPqBhQ4(qsJvKdb>KEqXSv_Gg7>yt%G=uERWna?u5 zM7{9@YvyB1;C}}HR_XE8bc-Xv(kY{HK+`kx3ci0rDSCM zwRx!7O$F_w!e&0pL5~<`v3-U^DcXxlpI)8TL{5MNI3eiG#2fG5>9iADTT7l%kv~jZ z1t3+asTz}cl%m(IXsx5yH_IyOdkiCHJLR{<1np}nHyg#h?GnE0 zL0=!Ber3{}L)(kjE~V!itlk<}Jqny_SDvAI@m~5!UcL56G}Y{&C$P^8q|t1Pz-a(P zOnORPyBb?a+yGCvXW=F;TWTg_#N9|xo|IsS`&NA$ZG#_k`Hwj5^Z4YYv~JeF|RRAE7p z;++zS*TR=@O#>ZjP1avw(7u1I33WJ``bmNJJ+=hFL-3CQ+Fc02wJY0Ulf1(w#8PKH z>U|2XeaxPZ#F&LaV8>2141OF<4@U%yCOV(}R!%M9#-x9|?!|6oh*AW`D{{m9LdN@z+VsuJh~h}OBMqDKp^~F*Fn=R4E*)M@E?PTufxB=8Ww(B z6}4y_q%+e%jyLr0gdFPI9GtWxCD3{4ZS7Nh>QK90z~TMjl;00~$1k+!Ud6%H_f;|f z>S6vpO|e~NtQ}$>ls^~3xV(ch{q_n5CF9t-ceK$=zN&<&1_~6A+3Ao6G~td6*U^FN zt{=Gh#*_n79?4j$zbxM%2^vX`RvVZAUD#;Je*)ETFIIwu&v{_v@89T5*)`#|3{S5s zRMSW58*q?pQ!9Uq%_PZFhxm<@sG%E`6QBmm@5S0tQ<^7qX6^iKO=J?D$yaI1U&gvwj){kO4i$13 zA+HX8iN8AROZ=2|lUnJG^u4d$hm~t5#xi(sMR?EI|khl{mN zm!7S<4x^mPs%h*&aw_|EG-Iirp`J_Ul}$YYHUh9V!>CW(c|=wEu6syHsDzKL?Bm-b zimls{@-CJm%3bU`tMZ6)cDjH={1*U^J+&#P`SLziBRsu~@aP$IczPM&`O1krqeacVDJV>^w%Q<$1guc4mPybD&-vcXrwS430 z`;Prs1oW9F>GQmSK7sQ1Xt2%DG?Wdy#tYT84Y+tRI6nf_o;Wd4aq*F|dK@T8T&NP| z+RFqDjQ^xUC6_E5d=E0I-DTdsGP6JFLvu+!2Wco+Ywt$80en!u(4s%6PYVxhSq}K9 zQ5+gsQpb}mbv!v|uH&J4I`N8=Yh?lDaNqjqp`>Qko zp-PB)G)b&p@nFD`SprrYS8=3l!9;N3SrI(_&Tz@$_8Y5`s?u4*^Q4J2PxBtv6C|G z7>=8x#-ahML#Q&%P#RfMXC@&GQf5C36*0NcwIO3!hYO2s*Tq~|jMVUQYE(8v(Q2dt z1=xPwGr+s72OK+fo^TTr8|PcpF>uuIqnfh4zz()4lnptDYdzRT(XRyb|AIvuI^#B^ zNFCFU3B|q*TKnfvtgt-CMVCR!j7PYknfQQAmGf$_YQW7n;$%91FxYL ziB~YGR=b~dz-^?L!n0rkq&>s*%27bdbfGN@?w?VhFB0}`*^-%O=@ty39#6l$(1OIX z$yFdu7IcV(DXmJol|kj3Lu3xFMS^27N#{c67+{yd*#q@a8tJ3P!1_AvAgvrraGh}T zo4#&3S*PU>xx9<}=-}!MN~z&7wHR`r@MU}zDdsz`N}a5`vKU!C1FoG5CxaT@op^|K z=2d>U9TL-?`@Vbp;zqwy`NA20RXPKN01}1}U=!y$MOH27XTWpi;!nF+)OS?(O>C=s zv!BeDx{^*xfii0=F>ux5lm@{tne7(n>6ZwKNRkne6p4BcdrHPDZq&2%C&( zPZ2RPBBrDZeRN=Qm$7I^{H>SlgunHIvFRm|^wrtv+VGGu>8$jUPI3(fYjg}t!}ZRz zRnX5>u1N2`W^_|mg^q--h^L(~+YxJVO{8Q^z!Qi7WrSw>guSkGMZLkV7M!oU*U=;< z`^PISAqF6hFS!B8toUF9kQ`wEl3kb@cbKux`~rgk$V)7S3_z|%1Ca2;69`ko31UPa z>{DKnrXkx>b<>bRtZtG;EI+}UrDS?_$P~HIJ%S*YgF%G zVoesr$}LRw9SkPcBZmyc8reExl?4;)^M6ZXy+2qd)>(%HvHqwxA=YL6jKtCkM=?J8 z^r|&EMt@JhtjPP|67I!EyhpHt`y5*#A1teb5KSSs z(&&slezrvtg8M+STY}6TJobVwINA4HXdrvGbQr|_qd_f&sgL>W22&-LDf*DlZZuWO zMh|yZ8jo~yb`{_VB);`UN#fyybP|8y6C{4_w}wztrT-=pSlPZ(GNS&hy@g(Tu`0zo z2-RB8ITo>f0aSsbCt3tWOZW(wLz&&>9N{C5V1ySN5MGD~PdN~b@aY2vghv_?E(=C@ zbeTl>j%##;zdRriUU1k1;T;J^gcYT@mf*fTg^--fkzBySc-fzm<*BR3{-4h|hPDt4 z7Z@;{ix|G@4aTrX>oJ`Ag2XT{MaQt#D=_@}kO_v3m*^P6ZGk4bE3gHme*b#azaaze z8Z}w+A~Qf-Wdi$J`B9@lw#cKcK8re<-QoTgOAdpm6>BH zEt;p;Y+zFxve-o;5UlL2A zQTsKEAEJ~eu*hVHboD^gkFnGkW%|qHcQZyUIut`k6&XbpF-FuGNRMJByq_XLxiv}$ zg<)<0WS|ZRLtB8+m4m^s?cj5bijhD>Dbs()`=7oj21JwuA_{?^7wZTTRySM-Vj{*v z2uU%qCRV**L(0s#EW<+_UFZ%~`DO<#qGS@VD!&htjxKx_WY0%zCX7!EF}J<+=AJaf z+&xTW&HK8u%wppX7JvEI!tS1|yiQs22B_`?}+ z^m`}y!F8qYJClP-w6F5m&#B?gB$xFH_T~IWghlvr{^4oxG_9 z|LPAAeg^54A9NA^oBPox_;0?DK27~Mci;H(72QaAvP{KR7DcGlScP7Gk``}xI zzAb@%n@?Xv-JI!Lq%EEXTem=`%|BhlY3WVyqsQj@=HS|wT?9Uu1KeZ2dl9+EL|4y! zF)5ZOxgqxph|e$%kq1TiIeiF1dwU(lMspA$U_g_lxBio;8g(%=Lp z8>o^4+Jju^kjXHluu|NUex1pn8|x2uA9UjFpx+x9WY3>0cEf3^D?r-^Unt+kX~&My zmP4rZV6xzPi^{y=tXbcSq3tO%(P^O6&(c0K@cA=cbE^u~?HSdr@BKjL?s2#(lwzS& z+a+v9dERbK1#I%~O(J=oj*I)S6zz>1v8{5$X@PLEjJFho5<7=Z$1k>>7HUwAm7ALo z%;i54TEGt!u?&PaRuBkefS+Uu*?%oq#08=D-CHuipIZlW`JaX@Mfcr81iHeo|1zUK z3?G86Gyt{-|0N}(QAxUF^mUz(jNaZWB%}HIH2(Q~v7dMn_7h1rvC-&jYRUc*#s8v% z*`%Wh5_UxoxViOY4DVPRnua&&wX0)Kqjt#wMme^?Cq^06a}S(N$S^v`^n|V+Hiz`} z4!yhG;w}(xG0oVuImkD!foaF4Mi*ejt`XQ9S#1CNv*e|WeA!ij+-|+S(eK;O80kvQ zaU-M0sTS;!|F`DLq%D7XzT{nEoG-nBh)+D&>iKd!_Ai((pDa7We98R}pD)|Gv@~CG zb_UOv{X75ce7SO#oG*O`=<{XvPBCBdcALzXk9!8p7t4tMNAsn9hZg5c%pSvhIS;z} zT+d%PU$h-9&6ihu$oW#AamM+w9rrQ^vz&0r&mu<80t=o48VAw9Lm4T*q3-&?KWP}L zXp40*8{~u%fAj}>TD(w#$q2e!o^!Ax}B&6qn@H> zzfz2z+g?^rG>bEglWOA6s`BwJepe#p_kxR{2xj(1$;>NN>oz#wft-okGh8RZttvPT zT*0Z&Eq&ImLB+CJ({rNQ&~#R~rlA-}qm5E&?BvU~09Q-AEGnRGxX!!1@x_&fV z93lRoS~sejcBz$zW5^O458qh%vB%+{Go*m^TXoZqYUP1;&=j8Xp&oebW<1!m9s%_* zoI`?H{+9YHQ$L$@hMrBnV}wXBXFl{kJI%48)Rfh?Q|Uihr>9`#~m8X_U=w@H|ew<1-!npTzxUT z16_zogX86z6r()@KGWC$N~8TfywZz0URa0OTEj+HVkH|OQy!9*0lFKqn5LRo;%`bES91X&GC5TENCaUGd+pY({$ZXB(!Ci){C$^v1Rn%;m z(qS6O3QTI5=11=-1#ntxJ;mleCa^W?6zG%kA8?&=)fb)e=iUDDiBqgA$LwH?+?wIS z(UKq%uYklYkOY+upT!!9 z+|Z)2W)o-T`T3^Sbel4`5oiWjI96vAHTv_0sxN1pXvFha9d?m;5l`GAPv#G!f|d~R z{tZk)cKCiF#^n17445mu4t4B00;d{(Rn|Gss7}35R^$2+hyE5=>e=#|vSk8Waw^p^ zyKt5KQBA3$2v~!_80cDXl#^#uH`N(_=hqKBe*M55P6Rlma#BZ760@%(Pxj`IL{Jjm z2F!q$8h&I`ZDJ(!EL&UPPRTiH%8C5W=o4)u!{;BMUfXn-6N9b#*Qy=R-f5HOdof5~ zlm+%JxNRZZfU{wLGnridIM8T?MKr#Q_lNT@WZxfdwu^nx`*XU`K1fp;*P-pFE1eh9 zy8gY%4~B(-?G4rKX&lr?Zf}l0c;IGi@tA&%H1>wB`I~0gRZz@fx1t3c)T0Z*vsCg>m;WfQK=FA9DaNOIfKD6%%q2=n1U= zI(S&QAHyDg=3>=-6YH#Dtlh^@o}AcObtme>K|6;44eUnW9)_MvJ3bcCYv;WK^bQ*S z(xzR*R+RsqZc%>7C;7pq&&#K+wCKcvHE2wsaKGk&!o(rmV`)sz#sdiVEez@*Y)ob( z)0tjR7Mre=-@s#CiQ)KWbxM?=A?K&ogHa)jc%9=^nvIGA?=GI%mqdDVHHnxyGg-vi#1a)zZyZK^1CED7hzo zI7D$2(5b2Wa#BX6v)yV+b$&KIIE;$VB^(L7##zd-09Rip?+k)9FOeVl(0MUL4=*8W zG~T^d@EB!*18x6W*-52$qqRQo#fsow)D#aLd!`5XBAIbcV1&3Ws27i-M`Zk5jc&lO zU)W4tZ3*bb9I6QSx9%=T0@;h+{HLKPA>TFLhC%Wf z(~)#ZaTo$sNc>AJAhPfTS0uX3)CwM;HO70g8Q+>rq2O^i*~}JcVBn`6xq?mjDM9Qw zm>=VvTPDxoz6%wz0dkEC{ZeGbs445GTnY~~CZHZ1PRrNARuE6&LrcK=;dH0joGF#c zETE**9fN}hr3fcT5iB{z=~f}jq)|?{EhDiyBXL~@@W-edJzYCGT`b+D+6q$}SA)9u zVy6oi4I8!P=2o?;9OTq0=*FF>lz1Vk(eK-!EgFN|?;Q$uUCwCI*c|SBQ<<4V>l5v0 z)wPx2|CI2t|4m5MKnD`(zrN-*f-LG2d}vPKCG0VSGgw+ zJzO?eC*BfZzJiev6R!-gcA?nFiE+YIr-KhD0rgtxK=;OfAl}0$xR!!s40s1kdV+UO z5_C>7bWVb?b4Ik-IrprB&gqVwqpS8u#wUBNembD1-iVH5z44QFJ^|33g3P~xyg5bVb1AW2%xy8^C=P2cUL3RQ{-ognPHTo~3SwfXg zvyqZ!Z2sYk96HT5S&?Q3vT6OMpw~b~vu$DS-zYP`vmm`xI!ho2#7<#}p9BBof>+V% zDUYfkEu(u3bimsaq>fB@@H1UMiNlMbdEyw1)HR^yWB1cCnhnJyZVFgPk4&swNt{LbSB(lns#t*6buhK z!~u8E5LQQtW1Y!7rjUmvEMyB6o^7xdW&w|$%zrO5W(Pxg{9TO2239Zzjs+PQSU~3$ zY^}0V$)!A`wU#rD^z&L^8k=#OU4w28xGX`H6mu`+W$_C^dg3e7V*KV8w3p%!I4*q& zyT(Zu5glmWHsjSes*dc6NHh@(EI6@V-Y&#Bwk=b4H?9;3>@t?y(Y_+Jt#x~b1mrB1RT#R*e=iY`bY`2UO z{?T)J%-{0TDdtBJb9vt1RCnj!W}uhbdI*>xx-^RB7}Q_EJ0C_9*iEyb%H*io70&XS zWFw#-xpHi$cxK|{6T_0pxVepVN}3HiI3Rp1OiBRk4g&1XRssgKB3MNy+bKndyFoj> zwz$2js~-$5zX6I;^w=$+aF=qhYt_o#5rkhI?>vo%^~O#-)%DDSnX1X+vniX0IW+ll zqo_CQM6X5>S{fhy*&MxkJ_>ShHj9Fxa8qNM9M&uzW*cE%+~v$LOJiRaCPWY@SsWyK z6T6r{5m`(x3K$@%<`f*at{p)W!=bS8FwO{#`$vjgU4^?AZ7NvEVCv(heBY7uq%# zdT?sw5wnAF(Y}B9{b0Kjz(BhZCg-*m6Sn|uJb2nGMp&Hi-s9+4i`+?$(ZHNqZ+sWB zOFnjWS(U##1uyCQVBXc{o+>tf>HIli!Bj<4J7x0c;$ioFZelD$qR>gCoqs1aC zdyFlr@HP>Wquo>_NBgONmK>grk{pGNmNezX)gV*{k)+myBn_MtmIw;*HF80cxgAanTnU0D!w(pgQobF$ntDFOxJ4KT zxF?A;pEB!TF&2Du9~oTY&Wyxb=@j@p*y-D%$dgoD6nXHDiQ<6p!HR^%Z$3@p_z#=b z`wzcSh6~#RmKck!+7Ke$&=?`=6{apLM^o|D`21QYzz*jPC>r!RRk{d{***3TztHDz zg>n8?$oc#2D~9=tujdF`JeB{zd5r#-+!P7(d0yx|9>BXt%;Oxk-x>;Tz|(OsdW6ux zCiU&;AYlcq#c(YQ!!qKhZsKO39b^!u3 z>y>iLkirHry*u#A*+d=OV&&a=-gq32dVTo3S8aJuV5p3F&dk@STPQpQeJd zC?P=>WZ=ON)=E+DN#j{{_loCAIX>^#h0c4g;&~k_(A|q=iRNHfXF2(+SvP`$0yua^ zWnGlhx*A;@b0vezoQ02n?YU1n_?3u6`R@}b)&U91I}Y}047m2fbLYi3iQ?nLxd)%x{?_#{Ilg2Onz~Ox-yw$3koWVfxy5J=AlN(W8 zZSm%VV*4%prOl(@MUnOr} zhHof?yYt2QxY%5h-}=Rdp1)jyG7_pl`@z{cx8$ok&Kj{g4JuG&7Q8BoYS2=APzuDH z+(;60vXSBI`p|n?)Q84>1mnkn`p_~g3*#jxlEw?v=~a#!6{AZJ!jPgn;lB0Sx)F%{ zN(%1AKBLJ*db+D58 zz)a%v{rsW^vI5$g0leAoz9t{183QW31_YB;d6IaoOytgJSH zl@b6}76&Vvg9UYZdmS=@wOvE7jtobze8a=b$hLs>=6{S}P3ByukaHcV z(|f{a1nW8i>uv&TWLU83Ikg%%wX`--t5X128mCr0rxw1SyXb%stPl1hSgVF1SYJ_a z2L(4%pi(eoSU8X?ILOr;I=xqDMvxnRMUc-XusROoi`Em5 z;iC2AW35}X%n)(#A(6m`L|mJO#Ix@iX&=Xjgo6(WsM9;el4< z-oB5Y&;{7P)YDp}2j?K%;=!jS(*F@zw-oc+Y+Mqx5OYB_+FEi3gv5cfo!RR# zwTj-(UyTnZegIr4ap#S21}$G=E^3NWW`Kh*IJV3Y(o!x-LY@H&eo-tzM?jsgYVw~6 zMrrXd+$o>0C9@HDT51roNBuF&bb29gspwe??^z4>EYJi+?7SiTDpjv|r*16nu}2|{ z;vS(DOXD+HBjb~_XKO%agC|AVw_x@$>|4FAz!spl&Zi0Yv+#{8(6#WYg+)ZjOW?N>bSM|&2VRQ1p%fvb9Gm%t;@ zn5L31gAIo2sL0(8{}ygm4)uwnV2{1#B=sfTm5UC52d~TN06AFpX?2vHoW@0PYLd>6 zzY<0Yzx4PtE&e+?0##MKRsejN>q!8lKwH1Xu}uRHVLdlF^YGY5KhCd%R&Q_ca|g8i zY=Uhe=uClpTR@eCshMx#R(U=GmZ<0LT>TbZ5B28V3Ufz{193Wn%^5p|rPXm@spHD{ zaab8rcaAn`BtF6iy$?$F2B*9{dgw?jC#lDN%Uj~|=+*BL0&(5~v@j695gy-7dozH@ zI|7poe!f{p#b8H8cON4joSbqUe{ixN94C9YmSrtMuC5&l`7LXQ!U?ct&CsswubZ9= zhsi zjUAQgS3>zBUq`hFyj0gqw=wL;kFXArVtNrNpj}b{9iezubrq-Sg%(4dvC8zfx?-KN ztj<_tow2;mBwnYGH$&cJfc+axioU!J?Z9_DGu$~*?xR>leD_LfLnjHp1Rb? zsOj`-5uIwG;re4Znf_Ai}^^Fu6;-8q)` z?`K;~`ggLSe{->a2h9)Dzn{%F?O$q+`{!#@|Ni5qfd1VxO!jZ>LA`$m&lmlB(HrLd zJ8DPBqOb)G4No$L_X<1=BpF_X&hYTsZZU1|*igucAgbXu4;fzKS#+i+-fZA?#wpWd zs7@xH9*Q&88OQ5f%ImD=byiTFYy{oK&%nVlT2$CenLem9R@jSG*vnX9FJ55@uW&A} zaE=7>+gPYD1BNrN?tEqXN3mGl`K-G0jn$pctBd0tG=Xzahh*}pyt)IjI)^g-LaNTe zs&g2tbMWeNIdp{_y2%o{#hs`+udJ@GGQF%5R@awR*VkBGUtV1euda?)S1YNvucM$| zF5a-Kx)dr+S+C4m)e-Yts!ab9zkHXn+AlTM&VKx)x_)!I*07@Vb{i}2v~F?2RmQCu zY}=8tMVXZc#pztsRT+3R3cMZQOOBu=msW};bjryjcBkuYI^=Xc0CQ{wKh!8-BX?=_ zsa7l#;D?_T!x_%@1P-VirnfU?jWT0Bod4oo>pU{+CdM*eycg0fvFVIW=%#T~pf)$x z<)fGr#LSNGGOj|s!ZEX-HyfE*RLjilx>ezr*_cyrVdit*tX>v)VSTTbx1WtC!QM81QqB0W^bs_IMH10qVbww1> zWdWZbq@FHA)p7=|qwaP>M2%$I`_d>#-vT#@i%!NU(;tGPXzp7P?srP}iW#o$F#jfV z?p4CMSE1xy$D*-bc_yVPGcGe$-b0zb9^I$-da%lS7%T6=E7v&lY2eJKUh=Y0Sh+K$ zR+;f*Bvc9v=zMU-m~vE^btTq&iZS1Q)BDXUBpdc*=*KI zah7nyE8LTVy$GkfL(Y_2K9mt_*Uo z;+lUtO&Eh>gpbb(F+PLk?Ou1aLEgUh>u~aRQV2Gjda`f z|7!2!zq7obQ|dcTJ6in{_zecspBdoQh{jix&D0rWO zwuhoz*hK?Rj#U7;KYhId0U>v@SXEp*M+H3?uygA^v|Hc~g_r+EkDEOU%1AR@X zrfr9va-aKH+huy>&xHWoyR9N5fHaD_MjYJKP78L;g; z<3TKB*NWrlJzYdwVx0fFET;Vfhhw@t)a17+v&q5|99hhOhj+2fi&-PnZw*3i;FBCR z6~rZu!4KN|$5~(9-fVWBJ%$HOq5cCg-Jre@GBbRk@TKz950sU8-1=LG}%TnPBg z1d~zzng?{PRE4swpBo&Vfc+>bB2rmhMb8w7ZHR{(ZH$3;^xrKB6KbAKj z6NupsCd4Dx^iV(v_TkhS(1(w4N53pnbn^`1=r<8S$O^#QRV?q^1>oti-+7s2;m)l( z3tv1#u<(Do2%0$GLfyOXrYefe@)ZuO@T%bG!Q$-#`>gIq*_3?pw8?wCH=_pOV5U-T zuP(OZMXosZy#l`@@}pIJ6LV5Lu;w+ z?bpFHfEeese|ZBv4i{ILdS5ZFiKviw+5ZCx9{Z2O45hn3>4k>U^YqdVDosZPb~ly2 z$JjQUBWsTsN@le*Y`FO~jiPe;8pcFJ1rg%>#~d}w{s$;94KnED#k@hSG2 zef032Xk6bAGi5ZZ>mQ;nw|)5Vp0d+M+y-aitJQIb;^bqS9>)JE)&&>k^`tnph&5}| z9?GPyOom$xtbu~pS((uhHXT@iR{QOfW*pi!xwbK87X4fXwC;>gD@;8!9Rc2t!>w~} z1|t2>FAXHS0P4AVkWR9m8IoilQ)zrt(Pi(*614e)05I@L3{%12f;&yR;8w-@Fs;wo zd_Kb2I~?6>&nzM%X*Lb*H}s{35(-m?K|}dnSmXc}xh8rr`yGKpkF7gBARj*24R$66 zD;oU1ohXEJ)dj4{;6X z9gy-Uq|Bfc?{H(vZIChmX4`*$W3#R7wAuTO6WLsIa4T`v0Y!u3EqQlIi6TZjfA0yu zw4yQO>8}<=LGK^~OXqwK-<&VKhDIk^p)-EH%2DNtg69P+zV+hcHSJsg=?QaxGLdlf}Ez~U@b?z>``2&Vrw4hbFw|5~dohW~=b?`IYqze%jDL!GfB zuQPa z2c)R}TLbJx$#C#2a?yTM4EOkS6Kel$+R!MePUW5u(}+9b3nnvsj7~|6PC@vrC47@rNyEB9O(}btqiZU zBv)x~9AG&1^0(;UkNfM%3cxqph;Nv85f~8JI`(U}hhqQaN)znwJ!Hflr^3l3fqiz1 z*yl*>bEyV5f9wDcQVJ2ckk_*BjUv;|G~>yu@Epg@WL;zytAfXDZM^q%Oa6M$qh;9f z9yG=m*M?H%o=Ov{eD{TsDzG8d_FhI*p-q4#FI9DSa!-gsmt?S`BzMa&5>hIsc84Y5 ztdt*=*DFdu@P#2hu)=p#yzzd(73up%dro7h^>2ARvbe+?ykKn0_~)*f+4 zGvcsa>j^jvlQ{et__Mc$!XIk}{}&ZT_)#BI*1r{N#_MDK`Wj1kXm{^x3I25if7tbc zRt#j^nL#VY^WTSJ^Y^bzu-UyXq&L>|JM)U6eS+AG4?J?lbz(d~G?FxE#uel7y$shL zEseKN+R|T(x0vw16($%yzQl+jL~48cwxYi-c*MkTe+xDCprK745p!|QK;ll^y_ z#$Vm$P<%?4o8WWjiV%Fdwg#VXOvc}iU;eWB<1m5$zh9cb|5AAfKO33Y3ixj}fxqWp z2Y>b^llgB3|0SP>&i{l~!2ffO$^75_m%+cFCKP_>G86dsFEhg59^n7}l2*X~xC#8P z*0luxdu@Tg?mLt5ztjZ&n?DVKziVsYzd5HRnSImG43ohvukUT*Pc{>LR(xTC&!mq- z=0p0$t-$BnR`RD4yZ#dXl(sPxpM&LQ^Lud!f6D9A3Vd#UBy@ZY+Vz*skHQV1@b@=^ z|Km?WR>URo|3mnn-uaioU-92i_{V>40{`02Lg4?ScPrq(-vs{UKeYt^b8Ug&Vgmo7 zC1&f}uSWPg0{mC>4wMhOtL}b6J{(i4!^>pCeOh~f`PM%@-ZR&S!h8BN6L`N{62gy) zFKPw7A2(UgM(k*b-uio>UE zC>?_Q`G54D4e>X0>TdF$jVscd32MXB+Zj2(2)o~2M&lujd>tfFr>!&Lf1j98^RiDu zsF~+DvqTNekq*X9FZrSl0@XnY+GkJrg=+mCAx~cb$n|YWp58-MI{8eNBss{OQZ78y_X2|aUJY;<!I>p+9Q(tQ zv~_ZXyvU4Ci;kpI`WzVI;QKhOO1okkL-2wS^>=W8ziDX`e|T(7D8@ZLHo^Gzk3&ZE zoAyACe6i~8f~;X2ytw0zK2QUv_)HoJ6h;_>{y}@_2ZqfMlksEzgQ~IIV`WP_T&=#g^ueR_P?e;vH zScV5!VZ-hU+^>K0{h9Xb^IGh$;Pu}GzeS5o@aw+Qh#wwLT+uVIw=RP9AN<-4wc!DL zetXtslQu$^rR$==kJ{-i429wTaQy$9GmN(uP8j}H6^hNS4@|J}E(+lm5A|q;bTDl~ z>!kbh0L6H}$$6wQ^R>40PxeX^{%3~Kqz^**-+6)k!w`zZ{(&bh;7!X8kCpt+VB`nk zvWIH5QJWd~*NYwsg8zfIz`vj}6n^LXCh%|D9WuVYj|+rw`_F9!{!c#hC-DF7e;@y^ zP4Iuu1ph~BjrilK^!{$Gz<>Im!GGibKK@^s;Qy`({!eWS#lLGS@c*>%PvE~H4E}#g zKB!m`it_k(%=p_+A^h!+E^U$z_La0oK6w4VXOa*86uvdfL-8$m+XUaKZyNDM=`N~m z`1WzN2H%g@p9$YLEG?~9El3l4zYN7Sx5kKT3`MRFz!h~nap&l37d!yiKVHkfi!_}v zWSZd$)O7Cumf>+-sD5PPlvb~`SD3(C@tq00uYMmg{c_F@gm=8qecTLiJ<<|=8(O3< zR;k=sp@ZpJ77FHhW?;@+U<4EQua!0^rOSh;p`&XSJktj6A*;-$(Md zkv@+u4W&=x1{3Q>=<}5&Yj^`X?odA7 z*%FyXcQYqbhiXQqz0IcbaCD3Mvrzin_(dpvw*S|JK8s!sVL{W*GNaG!hw=|y?7x4W zP9N)GMxsO`iS#^zMAi)~Ju!ev3zjAgi##)xF7Ikir9EpHm3D=^|JWw^J7hn8et9Ul z-hahNu4sykel3KH-P+kmE>^XF1It(%(USqt6g$DLiYHb((d(wj(#8vxmUpa?mDW11 zX<7bW*fxA_`rHJc*NphIr^qYkhu||kHV7Y&{dIp2K&Jhfka_P9L?&%DLuQb_rTHF5 z;~BMQ4ullU{FLH904z6uJ}X9hcbUQN)R?aV>A_6`6VN13`)9b!vv_8QA+yswbKdQc zG0BjzcbJU5A!C{$c-x z@JbjyYB?efy%FF``&2vK@JS*APJ$s%F7n`+;NgG<-PV8x^QmSg(T+$kG%Uf`Irp=~>R==AiiV zDE?GaQ2cXE7@r6B<|&nI7^gRxu4g4UCHZ@u11pdvS&^_{my@DRxd+g3;8lcbwXz~o zUH;9OXP1xr?N(SgYSGso&N7DOAXPjY(hJF-O!KkFCK4rWbZAZwl0w}DZxapivG7P= zr8cL60eW|f{Hh=Es~iF~L4cZo?|;z6F8=yqF1@vU)IwuvGN6F)d1?4;!OW{A%m@jT zz+vPbsJb&^fP?VEtAAUJ^EZDAjDsvO4zlGqP~|wtq;b$|_i4mF4Yz%AM5L;^F>`*B z!KyvKH|-vXOo&%$0*nSat$;z4Q^kK+@CWN=c#Ga;#Zy1_>tgx^cN(ypb_c%@X!}(%e!#9ufCK}V^ z?6?DFhbm@Arkowga(1NA>}cL;;F6Bek^dO+!CV;jS8?}OA-7Sp% z*Q|fq|F!+|uf?tHpT*1D+CT08kNfAopZ8tM^GN1pkb&}-VvrKipBqj7scqrC0GJ_wYz^ClUn zIl8qnTkduPHTwY-GvR@JdIc!-E?O9&ZU!Ulcpz-$7pKo?4`??2V=VvE@h>il2Cg5? ztzCa@Uz~CLpC2fH2~cVLliT<}`RiBA!R0T6kIP?cEHp6$%u@b(7fS@oUoMQ5eVW@^ z`D@-bL!Vwlcg}gACi6Zu6S=NDlgO1zLe_00a$QcpxQMg%NWYJHe+OuC zJ@#Q;_%-qmrx>o0I{=|OiQ+{D zzu#lAYWC@PNxv&zJY3ure`JKXEB=*!SNxqB6zTB2s5LHO2wlO41*te{LvCIm~%!*El!lG6viUla5^W2X3P{hj}>7j@c4!Y_RPl|CT=6K=Q zZLf?GO(zgYFP*@8|0Cl&NRW8aY?-t_0*l0ch4B+*JUXMrBA6t+4;Y_0I{_aaK_fO; z=76_wH|2ye9)r8*8X{d!S@lEIWZDfFA1UL9%O)ua{Ix4c|RdjSpD<2FuWX0T9KaN%Y^c6XE=I;Nfn>nu5N;9-eJNSWr z*+;Y&a8I)$KG)1cd@h&q@P-=ULrJoZ0=B`ocjEc-#>-{PfEdBJ-ZM`GbZq;s zdWYuS!AjgD+Pa?Aa>r7vDWKEPAb*}j+m1Vqq;n?dv)`}=~WHAEY*T0fQY zM+agB(cY7&We`~58)__=3{R=es{>Ud`}HYl9A2PcAO+`8P=6YOO%&WrK@tnJ`HLBE zsXY~Te_D?74%T}%6vg8ug}ifUsMrTa%aMT-;e(GJ#Q5_BDq{&1ipKL{F+PzQy1C&X z>WAWpfuJgu{Y=mXo#G~hYJd&lWEiUi2!E=BFaIw9Wndjx`7uLnK+y6ZjNcscuQ8br z6aG@b9ZP5oLupu)KsA$C&-ZqWzf{H#l&pu6#HhmADDKGOQK|5v0t)MZTVVFONKxBQ z#5%rTjIC75_^%}Ez$B0T!J&KsJ2=s>fTaOb$%5sIh1rFv&!nNlh%u=9q*W~$pW~&x z(cOpe)l4bwj9N~9?3e>xk*i;$h3?aD(PC4$=-H&W9H$M%3i#Dox?sjR5Ykj|AS7(c z%KTdyep&<{Fhdy5&s~l7zA6`-*Q&^-w`fq@QLpE(0Vm*}Dq(C&L_fW1L0A zW%D^s(W4`YRSlS(AS^3YC2!9b5 zOXVRNCXlZlEW6l5vXXf93p(MjJG@eq`Fy7?%IyBT5M^G!j*BwhN_@c)9%2#_&6Wa6 zOGEb@tkS_0*eR$crt}|RN->Mr%)N~qbOg;;>ST~#Oj*&p7SVCECVz0j?HE6s$LHk| zq7;oBh*(j!WJNi|iUb#mqq*sTe-iLSL(AYJI$7!!)o>gM7o$>!7wo09qz@Qg{ldxj zp7i)?^1n3}ysS?nIK%BzJd^^Q`*uW}=l_B6ugLgL9mODqB$EY} z@sC}xa$b|WCGLN=mjAHn3nbWETzLcZCihk4CYMbp=EI9Elnv}e+)FseW83LM+-|$= z5ge|(2N|rhFGN@mH}kj~2~Lc5;lm`bae{4z`+gK^rx5=`>gO9vZ0NHGGVDg-{XO?Jb>=hznQ;PmHVak;7| z%8!t3Tup7qarsxq$H}&NQk+csISPxYwCk|Q_}x*W2qg)xmb}w6*=cU!3>j})i0(AZ zSEHnl@2BOF#T_b&CZl7$+1Ey6^V3d=<}Zmxuzn+O$IAGaXaN=`p)P}o^9TVG4rT$^ z_?m)+-h5bKp(p5Kq&qzl1{U$faXbNCZ2-E$05pP%kfV)W0RUY93OWEfl{St4Jt=_e zL$vHzjPXlkd^<@?N-E`}xe9MDarbj>dyy=#kwmyx92h@N#(ykDI7~wOz@n3uyk}Uh z>v^ucM_I{4;u8Z!-0f5fqrodZPNEewiQM*%B3oZpv^E~&jyLkSbEqgr>+=o#R%~W} z@3FsUVf;4=7^4XG{$8x+V;R3s3WhwXOeR&4Ecxiy7+)ac-><1FJLDYDz|+n{|UHz{mlW}9;NIYqyOxjI? z+M#DLzFfwyl$%dV8qftGNI9JUB&{C&S!gz`1~fwZq&69FjDN>zm%nua%|&yKKCtY! z^9E4rveS?oBI3Bz1<~G~hAkS)W0!zkL;xS_j%A~D93{X!>A(qzqXmmR{|d%$mhmes zq6j7xHN$$z_&?8(H<%TgMeKIIh>NEJ80}iZyNBNw!_N5!%3mPu`6^h!2SmY zu(C|q09D4LQv_f$E<6Qw=nU=xnQ{T9c;hheRnV5)do_ubaTFYx`9U%*VYv0|7wXCGzP70D6vChNC40S&EHrDy$vA{YZ z+B=~!pw9m`U@ad~;HF?a1!GQNkWRrx6hu;R_!tJ?!3)~2EMQV;{xNfX>8sMd2Hh`> zWL%kX>P&I5X0nuc-1ff5#5ld5rggVr7=Mn8Pm|M{lCo?NKlL7#>Chh>*%7Q@E)ih6 zh`XE$QFP~PfY$ElK@hBk6BXq0!8ZySf!49VPgp(A{UHEYN^>#x1+4#{GX7;b7kScs zGHDVOdGmaXA133oWD!aNP4;1Bb_ZgA=gWM*(_H>h!}xYGezTm*l*DKO4=gP~WOlKv zJB~`|sEWD&!YZnGJX?;iI7WkZ@DbG=gFbV0&58>;O+MYq^@aUWWser!^p0nyaeL06 z!%q?&>vRvn(zzLlHBJ}%M&eq0&$Hq4G|k^^*xPj7$S2Ds6d6NW!)`|n1N(2&5CiMc zz<~|X-j4o&f&B(e|LGKDQ!s>rWi;%W4v*?BI;c|=?< zYLlW-%<6~l43;s01qMwW`>VF-{{`!daD35uQ4*{7N>T4b*49URv8@Y5+o%03$sJod|srO`Q@ z-B9`#z4VJzx*L^Fqtau?8%pC9*q`_5rT6?UOW#SQ(aW;SzWH}7J#?R;H2NKX!%+H| zUiv&L{UDXzOQoY54L)7_LFqAu(zEo^JNjek&Qy9Lm40cP!Luwn@agk$2ds0V!i4rG!$t z1*F^zDM^&lFCgVgNU0^iu@?rU^n{c`;5ARY%%<7F(=D7QpYgnYAb#^ir(~u-Q^_J9jSu8v;lm(GS4F}_5`zX8=CBgCYl zlU6*Ze3)m*OJ#-b&B8*riMT#g0HUF-CI%*SlM0P8gfh81*ht?t_V*1dd7f;pAAzxR zI@V~F@v#yNp7g6vBpv9CMYb=(_>D4teP>Ywli0pgnYkGAUZ%RVw8Eys39u)a&kNw5 zU}G{?;u3LuPXN(Md94f1!2uB~N5mo!5qpA6+4{8v)s7mhFj>YsBvd@fE|Z#LvB+pV zE44?<_@84%5lAXYkMBOXVghu+F9!^rP((*b8xI6_0z?ONLI~`l6Uq*V1|KFs`jWD} zK*p;Q5S}zzCS6QL&bbQXGh}>wSp<_%xGFjsfn%t*5&VvsSW*cBAEHgc4;e#Sy`s(1 zP6$ix2CVTb8UJV}0SixhlO?f?|E06eGRTO@7~whvgI$@Kgr%yK@_sO6lN-aDzXyzqRad5&J7+tdo>0v=X}Q@9Y(%> zHX{g@t^KjajWT|Z)DrWg&ty_1DV8UHf$^`(_%~${N`jTQs31NmLYY|zNkvr=avogR zp5{R}oCg;qhRg#?d#pWG)~=B@*jA14ePsMPsSV~y9c9vcRAf;C#vj=y;!9)^NGfcs zSBkEQApB(>t}+|?62_OycwJ?NNjMJ_oCmQ1^PqBHyAD2x=@vROrk(OL>~M12yU)=p4>$?Y^x`bj2rr6O_fWBe)^e@xDNNFw+x zwH8akL-1}&8Xn1hbP1H@h8%#`jJ*cDCVhxiKCw3tFNkg(URUomO!{ebrrLXN;H2l# zv3m`Z{&*_JHS7tT^cW2dMxJTXN6{vGAI<$L3f>M;nXxv?_6U0QCcXJHZ~|l_Yex3WS(@I3h!Qz z@yld6#XP#xZtRx7lN`}hC%OeAU<^bB4|>!V1O9b}5%p^&^?zO9h=S-=%vm-szNcC8 zIjxuZqMlq<_XrYLMvJ&Cs+&jOU<6~&VT`*f2n>jB6&Sv^U1S*0fxtPytsp4)56#`$ zpA9X(b0N04>gT`~A-WYUYF)qN`neiXkbgqKRTOlm;23Gmf1uzAQc>SZK@tULlfpXH z2-+sn*Cqym2GOkn?VrmyXm^t0I+=oVDL6qI>jDbyrC<;Ry(p+4ZT1@!Or;?E81cVd z20$;N1DwKLfq+7EYXGfT$^k9?1Dkl1f+I&U*h0Z46g*Es4+>5l!C*TDU&5oAMWV7x zDN>=}(C-**q#%oe6nGi)ND12>AF6NJp6ymJYzp2VCqqUN0{%M%^*J)W zNp4IrN$ih@?=%q8I{^z_zB7=R5Dje!Vy0P$m}&@bZ~RF#H;eYio9AGSyJdWi1cN87 zkx9d-h|(A1Ka%m6$Re18`{P*58?Zl~@{?dvtdhfitYoZ+tw&QB-1UR8v845EZr5F2$#UYN>=2C6QQ;q4yXKl}_PI1Z zc3nZjAc>EZ<74iXeO`EVp&+A9Abw5a4P+4TQpU%-&MTELh&C0kId7~4fDM(9BkiIR z5@dwwG}yiP3>mvge5oAla<4|xYYYWh*Mr)>#Cyvi=w%om=T?(H>1zym`&VP~0X9v3 z4jKCXR}rU10jlwsT4;Hp#}2H_jSM5#SeV0^gn$alT1uIe#1(=SbWk)55(*ORpz1W^OwU z@xBtjAjiz)rHq+>^c^#IHH?`@l*!Q!-k>pae#u^uVl79DqIb^-JhzOMd!3P9ztfm` zK9$x_65l1q%;2StndiuF_?UUg0K~`W(Mc;Ez5eT%8C!-jX0Cchsn!qv#K=mVF;*+U zFV;BDpBBmFW9AWWBV)S6^)WN|S}wi#nECr+h)nv`P*I?w^QP8$uTqcsv*6~QjifOz$GM}EytForyT(nlc# zzomYI-(BSv%Lrmz=qe?~isBiKp)ZiLjhx2hR3gWZoGTB|8As#mzT`9|rwWa>tEdSb6oUyZ z>XT4_UnHTuR`7%lreXFw^AnAz7n1WSIXz(Polj7opz-y0 zw1+I74I8@MO7VBehL-y}q^aEDf5 zxE%rurZ50AK^i0^DhU$inEJ=;so7v4c*?TQqnhi3kU=Tg$t+2qHe!Kui^PX9!i3>Sc>55? zf`|-Z$cUekkw4hq&+Ow}heYht$kcdn6iHS}{9|dIaIY!SE0%(cCy^K?@o*UgykcBu zoT<0+zz$=(=QmnNZY96nOD4j1v>&my#Ft4E0ldN=Fwc_GGnE1zrm^<3g97g(1EH69 zzq9@w`y_m($?Z5RKdVQs<6a$^8~%% zh=XS<*(VtX#79fXJ~>LZ<#CCRmG%jEh3{aV8>HuZ6zH#I7-*iv8_PiG1$%p9T&H7T zYY*(yiEmwhmwkLmKPbIp_VKv!tm>W?Rd=*-J(8!+{rIW#fDn1;++Q9#57hpAEEU%v z^|U!0W`~;-oPO!B7YN#Oo&!pIu7&TKJMQc^wr7A1?b*+yJ#P_#x-g=t?U87iz#0<~ zho=e{HlYU7l+#Fo@lB`*`!-dMsri%n$N%qAy+oDO8?)KH@sK|)^2CklWw zS}5lPT-N5vFZ+0SI54u}F>>w^7(XzAuy=pPUNkW1z=#&Qn5Xy(nH}lm%p_+hIq#5D z`zgjXaG#R?9n{J??=z+!;EY$E8q&X?jF%PUj3+0aIogs%JP{XY_xv_;=8`j#9Di~$ zn9-vZ{h0M^s~=gXPJK9fG_XXdEL&?JONb8(!ob31SZ9gEi38xdvq$0C zO@o5n3_Q7V@ZbRcU00qEtzkhnsAnZ3hws2XU1gs|!}n1>>iO^>3_Q7W=GGfXJh==!bPDj+ZXcc}oF|Vj5Bqqh__#MCNT*#Os|D7I2sk`z zw-VP-x;J8sPh1F_=AHemXMbO~jC;=eeZ&N{PqyiOjva9<4EMQ;Cso~ec+L^9TS#Pe z>dGcZVQTKD3%ro*%D~IDhe_EmxDDV0|01Cw3w4qD zZaF1!h?bHBUYoON(Po46=f@;MUq^f%$Hg%TgdrP!AsYcKsh5q}aAGzfhsKZ~&@4tKsEXI0~d83cpu=(8qg zSl5w)VrL(hi;h=p+$nOupK`x#0p@;z#8=2tLoc}DY20KR$k)#7qAVwOjHU1qFNFZ} zQfNV?@SIZ0jir>^w3PD5Qkpmyizk(wk>n)K<%JbX#S>1>4eF#0!>s`K2C!!5d1~E1 zob|)@7YpZ=Iyq?&;+VQal*W3pk;>BKY?8#MOB)Hi!gqvw;RI@^lUYO_w+%mTB|q-L z4K125s4ek^x}gPLFbu$r8J@B)**BH}`!Y3+xV+oBa1LQSAK+08N2b8K5(mQG9Zv5) znUqP1RO>s$r`1{T$Fwi%8-W$4;0UvTgM?9|vA<*NZxQ=*u>d2s<9>`rWa|!u;201A z*ocnCAzbBI|Jbn3!X&)=q9);~JCIadgw|_Q#?{V$fdY{51s8xH$*!79 zPG54I%+c=lV*(KH%yNJDOH}`1xQuV3(w_E{sG;9&SaV(4A^wTPciBYEkry8e2g^}< zDA?NK+H1GCmK#qwYhA+O7&+J@P&ADhaWE%N2xpPa_zNQo5LhXSh+r64d(&}%jc0kT zvcE&@>)*Bs{mvNHoI!?z0^{Zw!hCK(m}APpN^Ms>E3S(^#RWtu+mudm)d;HpZN^R! zV6J&~*gxZEgRoPy*?jrJRlerb$vS-a0De)v-?#FxFuU3MTf`0vjL&Wo%=p}8Ql5BO zmtkMPNiVU#eFna1Tb1jOhdTMbo!P<*Q34ay>qL0KX_-+bv3d^V5t%A2K z;1^Bb`X80_tzLrI{2z_!BlyMY<2@0!78t0>h_x12X>On<>Po^b7;)?+8CCzq>t3 zBN)m)nBSg9;&x2@fna}FQwgJUlOC>`gS6edvLI124TQOfaEC$|qZ8J*BpgD7F=m9r z6v8L%B%!w1im)OPwlX7ZrVy^w2|u?aJiZeNE1D4&QV2Wigv~4olZmiJU6V?w-cu*^ z*9rgGWJOq$2&3wnq_B)axal29xYUyHw;f2BRmX(zgp%d=b;5R*gdQSXV@Bvw2utXM zxhx6aBtnlFp;IB;-BuE=-)Kdcxg80k%?Q2Sb;2P!VVou593m`O$E23`DufkvLc1kl z3nF}MCWrGC!sD@$@Tc#s2p|50gzL=++be|0I^jS|!evDGr5Ryug|MbhSk{uTBN47O zQ(r|D!r$6R!b2OZ2=fx*D62y!rnw!+>Ee| zLYVosBs}+>6=BhBCi;+<;nxb`9G!5yCE?Dk&)0`z6~Y!eVLeO2K}7gVEfc~w6~c$D zCE>Mitq98#;Z!rizq{&$%XGpSmV`&PAYmIb!j%ePN1d>VCE=$;_>vjnV1+QRPIzy< z6=8KE+!Jm>7^)C%h>?VgED6v5h=eoD2rqTf347~=v6h4ri7PI z)+fRfW-0V2ggaYF!ZntJ+7C!r->gzTPzVRx88&3EL6jZnH8x zs$}_m3rV2z_dVZEKeIAR*y%0*LOXpr%%8d( zbs+|iquDEJqViCp4!ol$>K~_WA6X`z5xUaQN*hD9cwIu9Mgk39|bOECj!h4N% z`)HXJVJRY<-qA#C>MDebbiy^3g!|Va;iC#BS-u~m6UOR<-7N`+5#bIq!c_{Pw~=li zSrS$u!b=@Y^kIL6aE(s5(Or6XB2LOnSZ3PMvU?PPo95aPul8OfjqFNeW?< zPT1O#urCotnGrTo2yeeB37;;qA}mRSXB{eGZX$f#Tqj(h6Rxr(+_Mr1Cp%1PdA&l| zS|{vcNti%{O&un+9Ip^QZ6FErTM||x!aQavEUyr*(g``$67E@OMR;jB5+=1Z=|(Fl zgnf0w1WUrnL^yto$!PS~raECsov@N6VI&cDG!T{~!f6WOp8AsT!~!eA8_UQ(j5Vng zr$U&Z6Q)=a&LzS+WlY2-pF&tkCk(SBY)OQfrA=DOPtiKzi3mw}X}%TVqpy*$s9Ba1 z6~YvqaIz)gaw0t5#)PoCLKvnKMp_cSON3L~m~>KCo9Kj>UYCS7=2;QGM1-44nREej z6vD|m;ap3?@4rIA4@;TUa$AKkQYUO_N!W)7SHEr2^!ydV8}%gNqq$au#fb2aAd@a& zUt^tcu1>hzl5p2jBwP|?Qih`x!j?MWyOxB5iLif=Ng38v2p`n|-#{S0m4q)@5(X1t z1+x_1XrvP^*9pI$V?}s$2@-Z{Z6er96vB6P!akOSqloZjGr}$k;Y&JUF-yW4L|E@- zm5>h}iztNO*O7#~zOW*^uowv=UpA?fhfz9VADwWpC83)L@0TX zb}=Sp_@P3$tF|OOI@^jcV-e}Y7?Y+~Ss@&(6OOVZoK1ukN}6cw3k`L`V4bjrC1G6N9lxaOTw>+@NENOAufjsVGW(|4NJoI zL|ABqiEXq0EuHW}xFpP&Wkr~q2rmpb89a_w2;Dm2Y)is#7b2m%xJlEirx3oO6E?Rb ze2)k}HY5BeQYXv^lY|duS`h{k;V&&r1p6C>aJEkPl_lZ!1xR?Om`R_~TOn+&6SlV` z{E!Hj6*Flmr4_;lH6>wgOF{<`erQH`{7s$kE1mG$8CHZp&qu;NPLnd6st~r<3E#6M z96^Lj4TJ@Wu#G~PTPF;(Bz%{K zI^hUQ!kI+4W~i!diV)#?h0viBzG_JrO@xKaQW&og{#;!W{xZ#q@b5WD_;WK8IV`Ub zj?f7wSQ0KK!t;qHSw2%=Cwx^WeBF|;EfK!a%p}Vmh47bZlJNReD?%F)RtPi^>}Z8> zf=)Qol5p)8NO;a}qHUf;=!CE9gwd9SJ%})?sY$>5SRuUrswDh-iWOlYBHY;2M18GS z2xsbqi!BMa&PKx1O-;lmNg<5Z3ENr{4j{q}O-+wCRL}ED2vB!r6sQ1iPI= zxHeQ0ZuM9Zo|#4Z&`fMfD}+6C!U2|qV~OxXvr0K$PbVy-6PC6ltV4uN3!5~(sS4rN zS0v$qNmhhcXCmR#LMDXG6~X~JVUi``bRyhhM)<6*PFPwee8rNm5fL7YHfeg_D})EC zNWwF2E5bW7kTBdVg&!z{Njl+JOTvXj*eTjXeKk=CU(pHcSQ5TXgngq;7B!$rm;hjp7 zFnfX(;mbsrY)1H`mQJ`(C;Y~eaPKrEJX^p-!G5a{zO55>wIoa=!pUZY{S?CNijuH^ zC1D5=HZ5RMDZvWiH#*@D%4pG296O&*0XUMEbnB%DHon!ia3w}k10FYAOM zmV|E+;mc+z{8%B}8!QP=jX#SRv|oDUJ_nTvm$)#LBb{C`+d*fwpl(UOKjWxYzJ=J+zGb`yBtFy z1`lfoCMIEls(PZ{(i7FhGEx7dM3t*$(k~TJ2yd2?g!fXd2#XV8;+r2xl8Ah3nM03SmB-Fu;=VH6q;C$7KKAI||{( zvXXF1iWT9-iAXrBkI5`)eueOVI$?iH!bwDE+!xOE!H!pS!s0q%DNDizL>OJ$q@^rW z2-C|*!u`osgnzk^u#zFmFLOCm2tU>dhglMSL4?!I2t7&}R?rEnSQ0vka8VzVx$t=k z;jz+^@bqXa!mJ5oANdzi2rCj{JB4txPMBs%_%#uh?_;vgUqB&zO((2vN!Wo1Z}m2r zOxmeb%EeNW@X9DF!aPJ+$k3Jx6Je4nPRtWRxg!wHAs}bR;IwlHspF;RuNlCbQgcaehX-N24FOx3dH-)g5PT1Fy z&_#q}dYQE4JqlqFov@@OVFVGj?Pap3J53?nQ9=^#8E!@RXDSj-t!q+-O%%e9bixEn z!dXPvP<+4d`8MX3p;^Mltho_w%qDPgmCKO}V(>Up@0%D4zlG?D`n9-B)X`6@66HsU z`t~0a(VM9dx^%)(mW1oZAYqGYCiYQ`LKvYF*03b(Nra&f)D-elX}J}`KZ{Ai3rSXl zg^94dfshX#eypSu&e93pmW10+#+YRs{24}2%ifr zK=A3hpWaJ0__PC`FSdHU+KS+(-i$n3eebXHM2F0FHfR)RA9oZUI!U>qF>iS0e_n_U zZdGEgKX(KDz=!;TI2P<@^))Nx0*R&hbxZN|?#e`ZGvi)@z+1?7SIFy|kULmy1KD5q zpzxc{`kD5zwt^UHs|=;l3n}~iBfeDP2jmMW=*8^OtN^S)ZU3KHcw>{l(>;$zL64xP zd03d_$amMHUh4-0uBJgOXtNFZmAVfUbL& zIR_rDR{l;`TF7Pm-6YWInh|o$22o#Fhf$x(4<5x>eohS$`T2n!C)q=nb8eORocto6 zyIouenJ+9#Ft4H^zu07e3Rd&9pN=vO=djy#<0X=LRl%s@w=zFJkjl2T&U;< zE|RPm7lmnov2CSGeiwW!qOU;7+DMn=kCS*VnJn_^#Hubn2qbLM+I;wJ7y0ey`H&+& zy~W&E;z{`g2YT&`3bx56^Cf0%UdVErPn}f5Cg~Xo(#M3r?sPku(}w-a$>g9-p!U}v z*}esVf|US*H8LcO@w*+{28%@8pewa+T*SnECGo>AiNv87T>R%rc?myCmLK(_zy+@& z9xw5hGB9|BA7GxXq-PZh)PP=Is4ek)G7x&XHiYcJLf9IzA6;hLfhg(o7D)eIGdpwFTFJvkg(b>!`z+>MmD^h#JnX(%+Y`TkI&B?<4`4Qg9HzNRkwZj@f$Xg zUi9)fYOLcr@6;8c^IUMPAJeU~u`uHO;Wrdpa%9hMQ29(jk5ItZ(KmtcdozC10KQ4= z$iN`Zl=m)!Ksjp(fuIQEovxiu*RhNMe6`B^@g>G&Ak?vD=eJF~l zBVEDTlpb>$Eb-Un6|CH=qx334L1x}W{4I$;kdjDVok-nJ8A+X93Hf0kswow^eIyp{#@)cY>k1OMLAJLWgH#Y0zd@G61q2LF?lq%FK_7g; zG5+Kpz&XtdC0=}T&&6+$WmWqRRrDEhHjp!u?&SXB1F6oaATQ8+FDVkQCJT~#y)V7; zQ;-225r13af5{d`Ua`S3ZYH!$dAF{=-#&h~4en9jWgouhTs#`@*G} z#f!%9o<7D^JS2uGf^+yg8m`WqgysO;su>sqb|>^2RHJwkrLd>Ek$n-!{}HAQzn1Og z{X~1XYB+|TZE&hxXRO+FcG8Wq_+Y2sY1Wp5MTgU(>Y z7(h>~gppH(URv4O54(!f{+Nt4{X|y*K*nzRbRE5sGL1RfhT_cVx8L`<4K&C7f73uL zQg4tLfr$^Tu^Z_0ZXtu{cP#v`6a0@!oTE-Z(K6ali@AIjQ&d*sVX~2d7jzUEiSMy5 z9>?>di)EqSq}RQ!3oL>{5M1a_C}nqEjX62fz#2?Elp5T08v#0EH~aer+JC%A!q+xT z+DdwEAVuQiWn<=E?~C|9V4qi@_YL0>SbO>uVYv2IJlx{1eclqjY|loGtk{D1J-2AD z!Q%(4zGESkogkHQU<1WNUnbMLoc&E@_4F~dw07hipeD8wZobVb$|~<2yvo(5zCQY| z^_A8a<>pr!MGfsMSk_5{I+FZW8Dy3s8v6#o0xw8scy30_o9N`hcSM(-4Ox(C9?tdI)gx2?pthkv7Q=|x}{|B+$a&e6jF9W@uY)Z%VEc9`2tx9FE*2R96hJr zh$m4?l14q#|9w!f2Nb}6&F>=wn*ey21WS)frd6OA9LI{%bBfZ-QEF}&v{2C%#?p9O zl*aapYRQSx=mh@@{` zCebKt_jZh}vBWz|+n2ns5TmIh`}$|KsEvjHVj)PjHe(Xn(Ck4hYHV1fbbVw%~&ZW8d#pWrG&#iQAvX8BUX3^iE$!;a&ak{&* zYO0~NVnYy^J6edokDU8VmQTxHQqi!uklW3HjiOq))yL?Uq*9kYt{9Zm-6`3fO)Kh z>cXHcNBOnD@=NUQbUk$L+X-cd?HV03xdP+E8-ii*Nt1mE#hmW${x}3>KLW9^)0w%2@`S@1pZ3S}`*PCnAt3iD zH_q9FeuvQsxHQS*2#yni@HgrA59#Gue~F)xHW7Kvqp3jjTaO~yDvW8U2+&XwLPLcK z4F#ES;p=Q8S>jzIS>-eJ6ps&8dl^GKFnH>&f4`_rn-KBTOT4WBWqPU;E(fw7akMV@ z4UZeuBiGJ_xd@ilYPznLX?JrYB#`$zxL&i9 z6mhVuG%=HiHJ7p*sx+O9beL=?|7(^va|sL!sHGJ3l12Ut$>$ny@?}iZ-zZ>CWpZAE zeym}BCbT~qgw{vjR)YuR@VyFVgNP~hWG+s8n(BCWAvO=_^|mnn{F&ezr@32!njvn=~bA5OnDdao81I{Th76t7dPhOWTnQ-N*zR%I;SZx=#P%^XA5x| z$4L*Y^`i@WKby+DT7;3iR`O4Aem48L}HhFMRb3q8+=Q zOIV!H&G9l9nD#)e$48{4gW!Rev=sh*l=z;TuoL)KfzSm&y>9QS)azn;C}&kyW4#hw zD4;vmYoYG{p08*9dqVe_Y@bnFWuCiA+z8ckhDz73$m<<)4R_T_?Gg^8htWcbxEy zi19=P;yepUkH^v8Myq*RwX<2=ICJAOCZLj-s!5J)`#H{rlI_k+ZDGK%5A#0wTugbk z<~VPy!UT3Z%5>rN0kZ`cKSL~^!1!zd!s?@QEMX0r$obMc*Y)|*w9mzS=^Jy!d}&&Y zr%9+jUpn}7mN%mVS5f?dpqZVORD9eBQ<2iym!AZH~x70JmBugcxb%{1!f$GS%K z(WmuEpT$HQTrhzrk*<75yqy`!XG6H|Ap#8s# zZRH7#b=JQt+6o80d{?Bi1f~C0XT&E+{DIVS=#~1|W}n=L7GHYHj}DT)t4E6rtt7rm z1|~1mYtUtmq{SV7IV22(6%(uhHn0wYTu~#52?^GQG={LaTFR9*c7hRdG#&*?G%<;H z>1ELb^4EUuPr;(3LhQ&Ax27X6-licaARlr_>bTGUsTT85_P2@o zb?PXxyq@%66M7dmO5)R{>gQgSrPm+|@?{mOe~Gu1LC6cuAMi*bJ$SW)_%e<(=@5Ex z<&eZ1Nll7g9>@N(TsPj{uj|GJH*)C4cvIcz%%K}2p3n-dWTlh7f1Pg7jZS?vG))w`x4ohzirhskv%OJEAj~U7=*IGIN!@trcU?EePZzqe z+^py5#tz4PbR$zJn@OvEL8}D=+KcjqbxD@4s=a=}8QhkD#Zm<6N4wnJ2YbMf2@}$7HT|;o8Q|(c6o(AVd?V1Vi zhy>K4gvIy5CL9)Dk~SKjoun>r2I9%f{~N{uBe z^-5bo9YIkBkm-C-;-zGi;DuJ|YU%k8=^gi%7-*)%&q%#PUVLUY$yt9tvph-n_myAw zBbI~IgSU}*OUc5$ZoEVKGnwlC8viF3g_1I00U}(Mf%vmnfoDo(MqW5-17)88##jP% zCQj^3w5ZDTMU+8dejDqfFhARa_?+0B3KP9Nj?YhUh51vut}sjAlnRqJ8NRqNnePEt zn7{q}9Ah$%=lRCu3eUe9lSkSp3Uf>o#C~jJRG0|+7?Zamq{3WsL06csdxXNgIrTXT zGvv^}Da<$2G-cCdT@{}+0i5xs(X=c~EVoHDttDqFEzw_pTj3n>H*%hM+sFwppBj>! zm53z|IhRSn?Ie?Qy2`n226B$_;RHD2d!tE8FCAz2lXIQa7y@ufknW_f zp3*#VX^Foj6Ue>1F~X}X1>vvW{VDNmsb|m&4b&mj-gn85j+0LLj@AxWO8i?Hn7qUY z+=Y{5+&~?~4OFNSVVz>Vpmq9B6a+-;6er$zbB(2y0-XKj>Zf*$kNW9O7Jr$ToazU? zJdU6vT>UiMuB)H9S`PISXR3apa;TpPce(oMxu4We6wQ`#^%I*MId(!0^%KQsO7gzy zGN_*@eQ=b<%@#+SR!S3sciR}&pp~%+A1CobtpsF-4Noob*>HIZsLRTqI`;IrGQ~Am=71 zpkMAY1(f#0^gZfy(m!$7-wSOsfomIHyMtSZ5}QmKrp-0PJ4^f{X%>MO*=wL&UT>i& zmoEoms7fu2%7x%UA+1okRBlDeC0S7}6I5aI8R_DE$C!pcNK>TJ1IODWzDFt-?zLEY zEukRCX}WZx#M5LD^x`JlAZfBCk#MeWNX;;achopwNu`Efu>6V#);x{_f5}$%(De*f}p^=vy!nP)r7%ac6 zODb_IO%nP`yrg76FOMVd0j?6O|EQ}(+a-%3>>))Z<{ZK%-ry=RCjB`>*pE|T@nCR{ z;cJ;Rp$@Ciil#wY`M^SSi6E^kw(&J(4ZL|$uYqH!LeGsGFZA3hqn_Kglj*sUT+h`Y zEpV0e+-}lyC!6y2^a(4-X|%_5yTIO~Lgesr0XJix27Zj#41v8ypAyWiOvsmsO5knq z2>aW}{^qj3RFI}IYIEg5b#nkqfSybBn0siwvr0^p3fM#C+U^jJr7>X1`{ zoQY&)4FDbY&uymTz})iDZ`(nTn0@t}q3En=A#qbk5@-I7_$Y}Fl9EVX(s+XL=)3$g z9FN|nMZ6{gVh`5JquX;;@~NqTyb9q}O5! z@|33bR!clp20pq|O8{>bD@|X#NH6+vc072MCPs+ve~G{61)=8XWQbcdXbQB=&9B zlrh$#loULOfnSz*F_{wX^|X=jx=WH7wGr_@Bz{6lCV7?OX9u(chqAefbc3>Ub)$L+ z#aV>32-3mxBu_B$zkeL@G>Q93e)RG4)VK!^>l(Mm zD4}tSj}aPon^EJo+M4CfoCfN)F^S?s62)Ig-S&yXIlVxCEUk`koi6E30-8o~DXGmq z+Jq~Qj&OmMp-%xeh$@$s-`U>*7Sk&fp+7m-NssR1Gj-(D1bfjhleLQ*PmNn1SUX_# z?%39_v@QGuRpeQcxwZ6C`jUpCf;UT<<6aY_*DMM$=qtnrNqm?L0$#5DDZhJ}l;l4S zo047WDNIcz+o%I4v!$L4`HZCO;75p;llUbmW#E-^z{biE*w{yp-Vz^uM}c1<<@~$E zXUM?dMG1(a1T-Qs|6YDul{h9IL43Z%3rG&|VhPA26Obf7`i+!n%Sa3yC-Lo4nSvK3 zAP^FeFob;?aufk(;YaIXu}s~iQHjgy~_-4gdo z!3HldVL{hkU^bHI8=~|BXSfG1a4&TnfpS!1(sA^b5%7+qDJh9o64yHp^zt~I+jz(E z(HgzuIF$bX+;MEa%sY-Lo1W8gd_T;*}7$yP36U5n}DGcDd|mE4XZ{Q{$QQS_NV{0|Gzx7rzjlyQ2cT5KQ``iw5Ts6;2w$O z#%7rGaEYIkQVd?Yy=AYjw5R2?og43)RoWAWpYp4GM7dO_6QMU7fMOb z3K)2q#2d(zaIZSrnK){%cgX>p3;jQ*Chnqo#-;?YL6o^P`8FjlUp*k_Cvp~&Q-z#-V3+m#oi(N1 zPff=wC3t_Nj8|l*l)s*+c8x@^KMm3E))n{xDYf9Gx1XbRmGiD#p+O(c`uujfaQ=8WF_HE>?=GHR3)ikbZ7p=zsKXyQ`|H@lU;q}kyfa(l3?|?22 z{nl6dYX*JW%wUt&gg=%M3ZDXt9@aWn~t9hR;6c|w3 z*lGZNkq*c>E3}`S7374GQv_N~?cZ3dIg+CT@@YSIny-$B_A@BwA&6M#;%!oq#R=B|bkPVN#Vufl{BPp-t_p(rZ*P->(6eo~~`K#h_gm9H!DnX*yR zQTb@ve4E&keP!og;RykLPX0+4$M^{WJSV>c&yL4Hou?Vf98Ui`3d=ggSqbbc8Sm(u4roTQFJ^WyU8X4aRm+c0J%c>`WhUJ z$MvM5|cR8$;x3b-EowAxC< z>IkeHeG0H|yXAHGn~SDCSFyj(SOQ8=Iv&t$?8N94l*xoaf~uMw+mmF7fO7h!MS_scQ;`cKT@}_Gw@KX+jv-8LwjSb^;6H zcE+nzG=pqZwYcBp5BB#n`?!jXYY3@{!?lp4u*BQTG;puKs|&AM6eML9;^!q^Oa?(O zkK^H&yvceOQupjns?6i~=^FRBwvabwR`0C2LOX`m%G#$Z9@};>!eFtpf5eNX9G4u~ zr5`r*G1$=K{b{WP^8ZnCuNs>^z}nZ*kG-r? z!qleUQhW$gZ{uj5v!1~C)EmI4<7nzFPi1H%bm}g5Ml?B^9RJ5cY3xrqdm}4OqrKm{D`&7u!UdS$kb)PDrkKV4qs)8}`t zDoULnQ_fAB_ZmrDKc);``goL_4zs`S+20%& zouE{YDaV~;rMl{w)%@gL8V|}{U#1%{?z|!jbPHL918KedoW$ozLlV5OpzUdYf$nz& zglNm(giw4(!Pt{z6wcL2sXMqgAMsS3R2qfcD_(jHry!%#5s#I4R~ZDnjO%g2NGEf( z{W{-8syMPR(QrLaL%pmjf;gQdtUF!9a!KM#rOH7skK@8}uHkdf(T95D*ZNG52*U#? zx&Vb|fWPnFDLQEw^D_+fSb{4pQT9%C5<@-KA++d?9l}$rGoQUvw|a9U&z`mtBj$d5 zvC8czA#;*S8ZCDM<}kZ57s&y<{UFS3-hKRbHNJZ6$-68t0DGBuviM-rI2?wc@(&~> z+vKL$=pdKB`MocEO+N|5d76vXWm!p{C@f9T@!#quXqn!^1U>#fH$gK(yl_E@Iu^~l zD9f91mo&^maypPxk4B?qMFwFFAaWsQ+FxLN4FKSbv&MCW1!NSCCZ{_&Z;`3GKSUJf zSSrlIw6kX&#}ft;FT!x^BR;h3aV*~_b2@*$p3{_G$_5$S-luGk+0a*Z(0Xx(`4;CC zmbe7c2;IqIeG4qs=0}-gxc9`QzgyTLG_B>S3 zXevdn@tskM!Y$gQW}->WOqFp}CpB|#1>#8(FC^6rdU+g)OSzhvH&a(LL0fa|M~am* zO1n_jo;MGBZ6BXe+PXlQhm8FK=QvCN{l+aeFoje!7^f`$E`$Y; zhy9DPj)2GEKE$QH)@KH3=Vo;$szM?0f!dbUzAF!^#J@!nzo5LRl`16hEvWd%Nj#sF zc=Yl(QWtTFUpZZu_**_5D~)upe~b^}b01Z^VgEP>{b?8#;pC$%Cf5bPJMn#ng!15d zH+S<9={T-=xJW0#hl7Mjzv?eV`qC<0q=$49B3(635$PyJq~o}W5Slrb8l>=OE<7^c zCP}zQvVM|eJ+7Q6r6nZm%SvMDIVGMZWu1G~;9fY3GKpqXO9_n6q7W=)-DFj%O&MRw zj>Fb%kSH$MViqNla?p`E+R^&%FLLS-(G2H9xcD&&brSUi~meSXMB3@DA=ktnEBCo2XDYpWQcW(#_xM`q%xBw2$ z_rfn6=gJDEmK4Kc+TpuH;?-mf=;d+DoLSf=dHFq{ei(;iq6~G5wmGkAg80W0KPtC5 zqZjTA=2t^NMQO{X;}@zI{|uf0PU_~-Gk?66j8i*dhu(ht$1$3@WWxu~06+5OCix*SD%`C3 z!c<8N$mR@wZ1Wp_iLJv~2JC_iDy$h~oE)I5t7?=Hg_tOf6ZDc7bBIGODDmQi0d=IrRk28Kx#9>E=W@DXQqZl z_Y=jFAu(g47w0JA#JOTVpWt@9Q<^v9ku1B_Mj-ZD35K$CL(!$~2y}XP%A%gc zFQoJrpE^ORqiD7X&Xse7MBFmO;=9E~|u5d}om~7{$AGVxXo1;i?(D&xKh^$~0X58EotWr`T8r zInYVNN0LBSG)?lMzy)i8Z$3tu3dKn~x}K8~BGVv}N68j5Mb*d&Am=aYoDPxGj+{E= z6g5ogr;*X}KX7aruhG9=rESy&$vN^EowbiqB8R>#s*{!N>`hp|`(OkAAYp)A-sAnHz}is&yu*73^B6BYU;&5U-#tWNd;y26;NF3=34sjlJ6O+Yjkrds_l) zk=8s>T#?ZpG*k6caifd^oY7F3Nzit0XVN%2```9E%_4b>67r}nHg_&A%ATKw{-+P( zjU=w0hDI+Bx7)Q%RaG&)L1J1!20KN9^(XZu_lgPpdns7t1%|N@)9GAHJ8?1HDnkt> zw#(g+ZK=fHk!<9Jn}*6*Y-*wiu^)ExmKm(Qxr78Zln$!HEItbCn=+oO27wKc`0ktn zJDPovn}3k-p)Rnui*l@^kHDT09`$vB-6gOJMu8o~uN|2r79FGH!ZG{%n*B{?q0@@y zl-WT=O=LDjky+!}g=Hk36F_DiH@VD46IhvKwp>v~X8meY{TDULEWjw^%IueN8d}S> zjY)88UkNt5Z#0tZd9aa$6^}-tut}L6yp9KF=@?T))X+1ss*BTco&FNPB&}-h)kb<9 zpq9{VH{!2L{E%!3ZLh=%06t(3Hk}W5Rw;XZu z2z30T&y6}hf$RAEGLEu&)FyM+F7Rw=JBub`_pC>|-0`#g=nFEudDGb-@!>MCY(Ae$ zPk!S)Z$hIbuHSf1&8WS+1h+lRE8y+83DBV>fNjf1J#;J`@w~YH68>XpNRm3w33molkOcQybt^Wa#THf1 z$#b}+V8ntSyXfN>ahsCcF-}A>_H}G&x+s4jedi*Yi$(RcV{7(HzC7n5s z{iU%;&j;{Ghk*^2j0xE%u%6uhB6yvEquHmc_aQb7Z+5oaD_ zf1BAKtiO+CRX&9j`yg`OCZ{Gj#vAWPlN0w8Yrjl@(gpC2CSQQD3&1<>+dnmQ0Z++J zzevu<UN3jC?@AgslRa5)unZF{l(X`R%FMp%V0&Ha;UHQ)1K0^7W#kw0|LVo3X z*GLiDK$e1VoOgA^3#fs$4`#xxj&5ptgAq$bj()FrSO%`CgJ`>~D$|3Mp^r zHCs=(MD2~wi{qjsNb`|=LTWZqQ~P^3rg)>oXUnEWUNH0MJtU=-UZt6gN}e|6lntSi zzt|PbDzA4134IxHcS#&U5pMh$BWx=1QZhpF!ieB#LH$ho_>JA@KdEUSyNjq}B*jW<&%NoeaUF@fWqT$sOli6(lVR~OC>K>P;^ot< zN6Zrh(@9}5v?$`p%*%zZ0V5wycjBEDSS2DRn6HvVP$i>;r0xy|@q&|rJ2ls3-sV1} z_SlBXdZHk!!y-6K$0vpgtSm)9uu{eupHl;bjYa#lqn9}I57e6HkkgHvNNDf@B65C= zVkbH8k<%C&Zq;>6{PSd+>}MR>pUHk8)PEk)5?NZG{14N5P+*aiR)jr{CeMo4k|UQk zf*HF2r^|5?KieG$&n)hP-|_{-w#ivu+^M)7TB5di?GtZivhR8x*B30lE+W1JmWD8T ztFW2Cx=|Vs_Bfg^)AzweNbL|sy@tLI?pTa+m3uL&$kZn_>@(?Lb6EOb_QNmpK1<%0 z>~DhRT?6YmUW@zqUh>2AvbNw@nOjKWUnHSxPGg#k|Xal6m>QpwaV@w zsIw9I)H<6#ir1NV@aZFx=~!}JBM06n(oU>qg>~_n)p+?FjhC0eKT~di5lW+FS{s>1 z3np$yTrQFQkNvS&YBxgMDe-pxqFBgF47kgN=qoXh{BmfbZRKk#AaD3YP9&k0^`VUqXu|b)Tk9I{C!Qud~O6-Jjpv!&)!;W27KUCa(uE;cZFg+8_nE~RXCFT^ z5B&_bkH4Rreg@jd4yVC-d7G%GUNr8G`vUQN5^o~M-QeYp4@!XtCUW7by5q996#tCB zI+u%XINL9A{na`263K%!q5lHf1NgZNFphfhU+9qfXo>fgMBv5K5oM!vbdsOdr{I_7 zVelx4mzKfNOQgeJq+=JE_I4RyCH2cqK0rL{nZVt$Uj{Fpj%1#WWAd}^6#N8jMBOa$ zw`6ei66we#(s7*{_IMfK2ILIbha!NL1$u4Y(6Lba2!8}txtbXfEX?F3;zXKe@|4Z?oUX&^Q_L^Tu}9X7aV z@jr?5UrT-2h$UxHHct*1*Oe<^5q^T_#-oHk^zw^lia(qa1g zKAZq&v^E;-m#E+0LC$n?hR}AtM^6>bzv$|LYfp`w0A~!&HgFnWo!dyx=gh(Om>A7y z76=+R;I@!1NX0FW{H3FYHU``G*>J-yWg)T3i-ZF~{{utM!)}?ihHYFl8rV-Xj@9=;6XQ$#FbH z?kDu*;Me4gXO3q3idi%bvaI%(SEc==u!6eskq9u7;C8(6NNK*kXt!sTN57x0vZ*s}> zyi2``MhAiZdMNM+nNIF?RC<-9AYZIPe3QhpWCws=EI(m3ZoWkES#7w>4PHruLx#~b zdWsW9dps#y+=er80Ib@NgmE{_eB%}$+#y5HdEgtHj>w1DsP56R!cK4vG%I^zhSs*0xL%00N$JTyV_-KemHE)V1LJ1`{4WbYLb(S z`l_pjA?IRp3X%i&C~0dKu?F?y)93Dw6D7ZYdDm9vR)Pzd>np{Le zFAtNZ@EzJ}rl)n$^f)f>pnXqq0LBN{=m4yhY_93|7++BfL$SnTr6`*D(auUh(OmqG zNCkh(Y|$x9-9(A&Z<(RjzMbU(sCsvcAGoQHg6*j+)i(Z);K{2MGNDGgGLB}PBcUbZ z9Y7<(S^}#@oCw2}lPwt2kdiGuWeZLy7Q==auXM%b&HZ5MV50k-R3arZ;_P>QgNc!zMcLk3y&08 z$jTuL^uitEsmFN|MltR#WR+JG*!#qbFkV5L`Z#zZsaGo5d{@!JU z91O)Lwnow$o^W7Pc{fGBj5KHU#uA5yUFDKik#xK8ubsewzRkBF$KFqeL#Xy77>(n zSu|hML%Z2`IOd>e0EWpTxM0ne3?(}=n$AOCVt@N=D&NjK3f~|ykyrch0WA5Z0N;$~ z@(mVY!|n1)yzT-k#reJxd@w5jqcPyR%Ki@74FBQ$O?eTz31b{cLRe5>)rgT`XwLu^ z6-U6GZaAs-K}e9;{mFW}%pZ*Tzb%AsiVcOYKPk5r98VZVF%XOg3LKu>sDI|*bc$p2 zZJ~bva7V%5cEIhNwe;@ooV7%k;PE=zF+nX=7p<7~_xjZTZKZr0(#&@DEo1pMyemq> zJs?n?g*Pc*$p0-hFW=o#^MV}i0YS(h>tl+D4bDX6qRR|M2#lYJB3RT%X_k&)Oow|w zC{zdgcNqK|=h;F1;F&1SUsG_w0(4)xSgMS`_yRP+g1?w}-4QB0N>(_SH@E<;=J)tb zp}rVgKM2B9oh+~E&CICsv*i~M(xHvRJl zGAX`il!>2l2f4MqN5`-}2_!zh0QLzE!b3!|x?&E>C= z%D2^xSPdUOf_ZI2Sq43y?{22TcbKl~yqIa^BlyMm7KyNLFuqr5f0IXG6^V~v=yTiy z*^ll)cz{qU-Cxw&j8uPGC0frwqw}Anj+u#&mq=bGs-u?FV_AlXi9ybrK6^WG-G`e`~vlDTp#Vj zsCNCysoH_LLifr5l|X90tPxlPZmzVV<`YQG8{;YHbT?rouxALXlCo9#@;2r~%i76} z-kt1kg*IXO6L01?v-lgbxElY7-R}nlG3GiDGsZ~(7SYI%K-<)>|&#-g2(BR>1M z1vZp-Fo62=IP7U-Y-m|iH6!`+tK;w1cGwCo2Lvfy?Kr|aCC zHh4%N=Qp{%{F@1Q!OZR;kp2iJ{oy+@53xi~XORHTIVZIyjsZpXI^dL@NBO(aX$N1H$TI| zYG7-2oW9r6gnS;{^>e~UYjFy_Ah$q^?K+;3cWTL zhW-*f;J$!dHY|XM67t09YP-G=)48I>eF15&$om2u@jRlirpZm|y zXY?Pc&jIk6M?M`4K5M}zntZAmd}e|VOl&fryH{185#aL{`D`-yyaztlpQ6uUgHLnt znM^*P8GLGhPd%6`O`XKl&g3VS_cab3NV*fJCd%?ViekBR0^P0T2VQwSgYr!!xW_1v z&V%Fe%kNVk2)UH^|L{AFPKh7OwA*f$rr}omVT#axn0VkCMA{stubl4M!VpLz^jAcS zQJ=WeK6V?5AMA2>)d}GTL}O@5#>uB-qUlbo%I_e=61R&g&QvO;;m2Xj(Ybw*Ij8-CNMK;z8W3BCMJ+NAvYS5 zI8o)FQS^Hgd0I&29cD;VgfUG~@INPzMbNc1O_|zWI!IZHYEiGkX=BM)$;ixIl3!Cg+TT=&go6rF>IL58+sJS*2|ujze?TP@S?ljb`gugSxM2`t6*+Dk#%$hkT~rqQu@}9Mow)k7Jp8MHia? zOa1~)^4D#WN&a4+tmY4l8!h^}D<2jg`R^U{VxgTs2JPH9jpZluU-C0QXMdfF zD_Fk$_4|nG{dEg8RbQ;X4*E*%ukn%rJvy{n-R)QbGzn7TJC86ME4y1kzby;|WG@~f z$^Cg65=hO&(SpsgrPc-l>u!gH8Vv*nwF~`E2Ev#z|2G4n92p33*PO4{XSCQg6gG5^ z7{jWuncPyzv1#-?UNMPuWsI7RLzw`e(kx;~^4n>#Do%5a@{9KuQD+F*t-fo&Cd_*0nv2&O7B%>{G?UwjDG# z-t~sXjrZo$o|zi&*svm$4<`>(8kW&!&)Km0C=DwN8dmTqRvb^BS=sLca`q2xP5XyB zKJDw}|Iof3E&u~Q0gkG-4@uJH@FW&`4^|5O1Hp(dWT;zrk05vdpd7H%b=R4?GZ?N~ zO5G7GM;nPF-JSj2@&4@B$ILikobkY!$nx8gN%rt4r@I+*J4U^TNWF580iRK=X(B+`*JtJ9_Bq>#59BK8`?v5FkSeX#rZ?O4nWfZZrsaQ$qrJf)Ub440}Y z+x>vWUC?zX^?;x2923dvsaO3{#Y#DEKWr2{I>G5!E;QiPJGvXC4$BIOLU6@C%u0WFpDs6s|EdGM0&uv)R zk{wVVslR9Yq`x<&KZYg!`0Gm2o4aLcCFbR0Vna9wwEaBVg&mK)m`hpcbm2J9+OH@) z;$JgFa}NjE3Lnm7>uI*dc-B6yG|2<%`Y1&n9*`XPdqHo+zfPM}qd-Nu(!J?C-B5z_ zVyOf}F@3xQ`zGim80u4kT?3z2g70m|H3T6D@gN+zA)X$r{xb5U9>|4VDNTCGQXNr` zCr%b^CH*ry72?_LkKlUo2&pVJcP*1Z~{;5y=5(`e%o^E;QMZN7C0=jSQ?WbO^G~)tkVaJ{}3o0W|2n~+%4nJ7L zM!iAU%7-}Y4uy9=`Z0Y6*=bBV3xg)Ka;Cye5)7^Uh$N6mI!Kbt6%V}-z69UhR@!@V zs@74Ya;nx!{1heh%~b7mA1tGX($&1K{C)(5xMCP9#NE$K?YTWvew`rG@lMegI$`O= zq3#%v7c@yUO?Ej!xu<5^5?|%d2!!%ONyYQi;s*9Y@&4*%S6apbQV+iTPNnpz9pniK z)eb$TDsbvX9veTn_OKzPv;N^>eVwiWL9j#4aF&{9y&+=yOX052g6Mt$&)E)7e6+FcntcBcutEAL z<AGDV0H7c*?hDgji+M8dHpzQ zH*TyOSz<^1gf_bvo{g=;pA-~+M+Fe7wVex9Q5IJ=g0vy{FQ$sZcYuL7`HGD!0-TEu zhC6Mbvp(lcedOh%r!SmYkMPD!+NZ$cr7_eVXJk}kyUm_j8~)kvCf$jX$!kR>GQVuX z{#jJ5VM?{yC;fm4FjlRTI)AF#D6Cp{j;f6lRU0p=wzsirTT!%&9+KvWLp>8t$1UC6 z191W@p#uMRhd_Q~CKXhiEKRsmI#$=RTCK%ctA`fhu>u)cS&FO<7u`S-Chv}nS&AWW zUPwVERR4rUd^_qo_OI|Abc~#T02f4P`95ayaV6VCKIo3v8$nva7kcITj{gUeZ0xL= zjb?oyy}v|qo6A}M$dEd44I{|=D^Axx&Xi|RokNNnt1=X)3A77eVp?sPr=b_uYH+FX z*FO8YDes*xZeggp=g&B*E7cQzz*vJBgp+^ z@5ztsl_l7T(%bG6A=)@|>qRx5*B0+X|6D07<}0Lr{$N`&)o?2p z?eSEXQ0bn72Ec~%@J2bPKynh^R%Mu29^QZI-Oy8oVzyGGhMq}r8;kFutt(6qWzMoF zxV**QW!B%mUi4O&pKGY9VNWx)FkQ#1-8Cm^A+1|S*4zlBRNe zyoI{H!Y7=xbGA=yGTWvFsC2=|Sw82z?C-RyrCzN`z!4|av4MEUl>rWk-6iFn%=^dQ|i;4s#H>KdrN(+|C!ok?#*gCn8Ld` z^wwcRKRVj*c8>Msew!vbn8J5zA?6puH$Tyu_&ZX&XZe@c-JATK#o5P$s;aT4IXmme zN@(4u+b)yDgk^i5SEcfH2IarsC9!Pu3hm~@EG3;0qz2CXa0Pa|_f9IEU8KI(iaB4< zlKoq>8Dyux%eBoNPqtyvL0Q?tE$@w9!PWRxwKwmq`R5An$Gue5Mi&R`>)URzA7$&o zw1YRLyQ6QAPa&M*ICbPrDIFQ3e{hJZ%;e62Jn$TqrTnyLd5)CmpsaQ*XmgeaZyPPo zp++U@W9#0xCNZngLAzRar1Zl?wgcXQ#MkbZ4ofa};KRK2m)&~cSDS}>*RntC zKo9DEQ$47&cz=KSTllNsxAi|tyf?cRnx}fau1f17P}xxOQLLF^_3}j7c$~6dzqOa= z+rmq?7^fe;rg2gx?dz%vXso#G;SBdpuF!AR zpECbgX*!F-Q+qr0RGszv&Ent34(g@)DmpNhmG)sP%~>k%To3;*rB#9gevGFTDO{qolewf1^nmCf7z zzw-Yn`MaC^vOP?WVx#hCX|}d+<7GXYEcvvJCG`g_w!A-r<*8f=t32_7c8(XcT*Jzq zzMW-`R;+bQV()uN9mz54XcUzDG$)xbLun0SyPjR#zqztbM7ejl^WFQ>uG)r?@V)mz zF~ZlX>#c?Fu^YD%zW62VV#JDi!#2F5J1=fGd*ME~X00R+l^p4E>q_=szf~m%7IP(6 zZT3kkR8Ef4vXDEzhAS>VnQDtJuC{^yQrjE1tgR2%=E^Be`4m!@jON-wv%`t$RB6eT zLbdYOE!?6rru;tHyJSH@;Jn#A**ilp8wbf^aVg_U%Pi@8khVUyynM9;htU#Tp}Ugd z+#9#@zpGvP$#A`Ejl{VHUOeXCV8IN}_HOH@1as>xd-}3w8t@{8e2Rxz@@KXfMe*1V;{!=Pwng<;FzER9&`0p13Y0N4=_hR)FU*; z=YVgbQenW@@Ry$$n?Go5`oFHmX35Qe(=Sc!s~y!ZR+IN5xAVXG{mAa=ct3LULN!~6 zcjJMph2A-r6xW|G(ScO2LQ7T_=8AZ|7a4 z7Vb*D*4#eoBc`ZdtZEvp3gP87!XGMj2wL&eH>S2O_(K1?vy6W!cyswepGaJTD=nKo z9lT5B8zK2_M|piA+#7=DhnVu`^_M!a^Z@bv0KbL=JU|sd9=!!bkfJ^wS^B=+QlLiopYtRo+MdkZZ^3jViRXzgYljaNlyUmm*5_f=o zwQ6g8Y#z(r(3KY1+uM&z_gon$djuCNd(BM7eyVU=1iz?bu=Xg-aG_sjVVRX4eU&kZyBs(tP_u3)0U^jGZ! z>$@j(w3G`I^iKFTFguPf<<}tj2yK7T%6i&2%(`I^Yl3|Tn*VA_1UMYbi-A-L@ zWa6!|EGv)U6VrDEf4Z!Z6(-Sgt~R`m4$Cc1TN?p>S}qTK+S&;4!#9$dxGpt?ab6j& z@V>@ewv6E0%9si@>GU!~T7)9gYB2tr;2BbcNn{3&>Bo5=h)=zdXdj!UOg8neI`;I1 zP!bFtTPHR3`5khUeR=8IaY4xa4xdg6w$GA z877~{d3$&$CIiij5Yu}cD_8x^Qh#IATU|X?dlL~1 z=FYE*%AO`&UBa?Q`6-roVK=?}zYZ`SXJNBYrcZ1RpxSUJmCSiGFY|DWXSorOi^ ztoy?MyPR1fek)GZ7FtI0!WQOUdST#bGHhMVlteybPagpzdEWxlvu|LycGP7&OK_JA z7n3X!`F>G}eCWJo0Ux~=qnaYTe!!@1uF3c-g3pps)ua{+{9`jrmFV^c!*z6t9SHT(7@&iyQsdPpiF`T8O! zlT_k;tgW(NTV5>Qe!Z;{NdWnyjQvU*CKtYfQ}*9{GYr3l^YC0O!e9}QR&&`vb&=b@x(hR?V5Py+LOYkp7}7wOYgnEQ)%?<32mA4n|k8Z-bA8NFJ!ex^Le@<%Dqy|E&k0MiEX1uE4;ZlT1JZSdxY>s;G z$p75rT8vot1%EPrK=26?>z+y6k^M^-?MTN0De^Q}wY`J!$%5AvRv;O9{)0k?`IirK z;MM!geDdJP)>{16OAvePQDHp&HmGa! z_vR@MjfKNRct1m7)i?$3E8b6#0=3ZfIVN8`$}jqf%l|ESO(_qO8LOS4#gA3nd9WvW zgwhx5xfNt}TJnEBuh_9o?+;;mSsKy-p3bC5#-9-UG4XV2QnZjFP~_#EjE4(;MNDWS zHMoRN%;nLXA;mx1U~VdB4G=>1zyk1yR~LMxm}o@89XRfMSFZzQ6XQ19(>x&*Ftu(8`|3V? zTqi9r#^pYQmwCl&#y_AL*Ud6DJb{`QZsnT45Zoy>gG6teGSZCBcBm@af<7Mc+S(bU+A&m=GniV*Y84jAqr#{trURCA( z!fg@z4E7|-X?VSX$${#_7X533X$LC7CZ<5V)q%Ro%{SZece!r)q-`$@ztv>l{GeJq~bd)Ly-mXH=m? z(-?|77BiU{H8PlvI|kS)xTI0Z$KflD82KD`OqIO$iRE!mV;GNr68N|T`+l|TcD=0! z>Ctgv#|u;!3~DNJd}br27@_iVSOgb0fIE!9n#A?7I?pAK`XHssEZ1n{OO` z^+ECsANqB~SXo!Y3KJQ`nqXi1f&kV&#Jb;#WC0R4l4vAlE_1b;v8`Bu#Es+)BrYV! zvE|r&k(wl<7-|{C82hMZw^%!>d}>__cnjj!m1Ut9p8D9x%z5a_arGE~NbudFD~UuV zbBMnwOG{XrlG2NgaCoa1UoU@?mPqpdk?utbCHM4$nEwWgLS2Ai0~K!9){yTD?hb^K zQ-wSqnMOvT@i7yaS&HBx(s)hkD5O83VMFs7Zy|W5XjqVDusJsJ8YOnmdMq(_NOpa3 z+6uhryf(w&{)^KZDH-^d%TqUomkqUE41D1!Ph^P%`|8kyaV>4e{-bY77HDVB zycrfz?1L~9Q)UE;BEi1V7c8^t@&G>gcy@r<+G29)i_@NymTtxqyx)NN#tFVqo&Y2> z=HsnOBqq6)Dpb-mhJs(N?aPeLeyA}W{F31u`V`5gH?O{$aJ>Af{&G}_A3wA_=1GL8 zT=Ze!V-oE1S>JJmo9ENFXTh7}i-V%S8%Y6F^gjAt`Op5kKrMi!;o6D+kd4muFoGYV zdbvgo)CBqI3K)MO6X3f)U-2Ewe7&iL{r+>z{(B@Nk-UbaA(G1Htn>QAK<)gzs%P;B z`te(+x`$&A@u9&UKnoa_j*SW4e)$fa<=)z*{=QSi+kar`^P+}wWp;c7C`R|3i5Gn`~0X@TTkm3VJ&PUkC6|NHsMb>v>)@6+f`3p%I1X|!_` zWmM@%ou*Ps3(pYqkA5~x#xd_3k?jrtMZyTi-xj>J_%E15=WS4yEV8(4-mJvGZ|Rp` zVwpqT_XGQdVg9PjZ{&nYEr;O>Spki5cDli{#1*1RdxbO`MFv05_z!}oN)eEHQ#&`> z)4B$EPZq;_GFl2wgUe#-Z;baAJXu^8Akl+EKMBwtIEpZ6=CU+`K|o=9pHxDPHA z`CwL@RP>KF*50*y+QF_qG|h0^S%GW$^&ZAI3BIC&sRbnS*wZSQ$F38fdgDQRdL%q6 z6QpEGcvcb+-7;D5W8$!-2hU2|X_nD`0oQ;wofbIS3eaoG}r zcb6J9>G)JbdICiX@Ot=H!JSfsNYuF@)OmdVt4+{Y={}vX1QzUgVUi0s#Ut433=n*+ zxG9LlZVL9Lw3%w@fsLcMRO6|EJ-~2K4@3y(_Nei$>0H((c%0OzNynxb(p@NW3D=Bn z7ra1R7)0V>Qo;>i%9oOB8XO=~8!|pg@MI|slE3R5Z%HN>3Lojgh1&{VTMC0@gm#~J zPZD5N#losOJOkEE7gkh$gK8nxi7S&0<0`O%@u=whQN@pU`ViP=Wuzfp;2z1qF67)qgEtqCiYEOgq#7s^iq+;v!EI86 zNbsn*{Ez1Ms02RR#Sh^eaRrH{@u+n1A7b?vik~5ciVC&%s5qr%ufovIz#EJ5g2#)Y z%_QSdIS0-Ex5wn$2dlepOUAbe{+(FeL?Y8TRy-=1_O$7@^r*OQp&zwJqyNYamYjd9y#A-UwY6L^0Uz;)uqf?8}r%>@8E5M@3a|Sn_u+HA}=^cCRk?k zViy6GaNLV7n(d2u>7S(T<(2?>44=L9&X^~D(jP9G4__hY9lM)PI$&>y4X!U z+z@SUg_z2BtH1BvI$$~NTVYd|LGlZ1>ZRmZnc71egv|g(q1*E_EKfVNJvZggjKHTQ z*w-}Bv9cB>`Nv4GY4`0%vIfaVaI8$pV0*khW?>rfX08n2F?`41HqqzKK14DEPL$^| z%%H8oVBWwjqH%(MB!dYOG~K}AK@OBK^H}6SsfFVO7shK$J5Xv>w*_f7QlRWWi3oI{ zd^esS>oqKWOU9eWBEWZ&Zlj6nu6w)-Mx!}7OUfCrJ-j4wNbW*X0H4WNBt79eX*1q3 zMDJpeYCJx0hzRzTxDhZ!JK!Z*jwBsP5BN;3yDdDw9>P4m?m(Ud`(6w5nS_ALUvQ6P zBKZtSJd&D7_QEf+8p(7dDM%_Kxp=XV-tWfPN1ZD{TcY01`{T#eb$Uxr4p!tiz4|kb zip0Ckz^{akJBhV1TJY(jrb*p|^gW7Xe8G5< z;4`HNNR~K1*iEKgyTk68iRIu22gg~GF7;DUC&yTy2d9~H#{@kOT?T6_ z^goZcX;(d&^(}CZB6$TG78=tRiR1<}Wp^a4;L1obRnYOw8q4wg2GhqgHT;ydg@f?U z{gI#+66~9tAJF4`JkvY9i*D(Y=eho9B)j3=_y$Qjk{;UEfzF;{?d*CftyQ%@rR!=N ztES|_#$RkOCz?X=CKC|Ms!)B8a4mVc>Mv6j9FT5#u6fTgv(D*(&qc8Brq#=_;Z^o> z{P3!Ntasqv=!hg1NmV3E;N|d;m!obB#cw@xtN5)sbRQnaZ>9JbWZP__J+f-j&!c4m zmS<^o?Bb@b6nt2DBds989Z970$uO?QO5P!u-1G28zpvmOWO5TpnUfjshPyJ#x^lAF zhEKZ^Z%=!W^6WlJN~dN%*;W}H!xP;FiM4Z++}W;-r@|6(+6=i1)V~sUA5JXXoK!QL zSTV}c5*3d!#K69K2Kk~`#o}PG<6xQ|fT60D6LA)Ji@~~~g$%pT1~zZt6U0_Ef`2^3 zb!2lR9qu$<5NRO}?fDxQlsHduLW zSSdK~V^!cRiB^LH{A#IXgG`>U>gUgxgmaLLgza;Albdy?@bf_Ic6AkBz|SNajvMZ@U=m619tU!d~)KU}oNezf%M-Fnz5 z9w5aQ_>+V)#CPBZJtE%<#uun4ehz8Q26!^;IFeFI@Ok3N(4-S14Ji#pT1GLxOYm+| z1SIoh^xke*QaJkMV8MPQm@|5|Ap4iK!~A z=;iPl7=yE=#2mOX;-)Y@R`8MH%3xAXRyDMtyT1)6c?>TMTl?D}C7HyLr+!8}ipvOe z;B7yE%IMoWqj3+92`XcG?nz--htG{LynlliA`TmpeS&{0eh`rSJUkcC?yn^8?a*u` zrZN7$;FU$QfmGqC`u@ICEvN1~0oBk&3hjcA;{?7BatXdtd>l-Y?yDs^#-n7L){Iva zyqA<@5_ccRKB12@YxEE9xCp)P3h1~A<*4K6{n>Cg49IvcB?ja}s>)A>>nhVvv(EAN z$w;A`gf=<`ZS39I_d~T`3gC$*e)Gr*e-{gBoFsye<=7=ag%_g zs&ik|)g5%X^PuTA`j@SaRABcpdZQSZ$4<7VG&8mnCcMKHJYq0yClKu05O_TMc4og2Fz@gDu7>?KYL`)lJ>5g8 z$E+O~hJ~|)JaPi@R0>{=W4aAHofoA-FQ(O_IMLHo@GUZ}n6&dW2XmqBy>W}4Wm_bm zXV1Q8>DhE#Q257tfjvvG@2x8VJ-g;T(~3rD-D5%rxUv>OjV0LknZ-Gy>RW|PMn@#LKG#KklKVOApJR~W)=t$hW(n8un!y^Q z2EejTWYjBDn?p90r6ewUU`3aw_d%7Twas@`$)|VG^VkyPWvaggs;(Arrre7p6Ap~e zkPJc60Zx(QLv+>8s^$#BCUCdG9z}Bin zSMFeUNp~czkT{W)Lh?QwB!iH&L(&MzY@9SnMba5bGbBTK@8^4k-f}m;S8a77^Zzy8 zZDU&5Ii^E9XN3KwOg`=(vx(li;-BgncMdjlvo!33^4O%U72GR}Do7RP_oC~wc4N+F z6LohUcOt2qk%KK_)f_K?`wR{gD~2hcghkyXN_}r(aqoLKmu(>U)6x!2sv@M?DDo!M z&CNjuFDpfuL~%YmCuwbT?{)1wmFV8lJne8uQkjkCUG@hyp0~HxJ(Q}{IawK4ZkGzX z0a$Lw-^ciefXVy8C8s{Q*&ENqCoO(LnTY6k~blu`k$oILHGbW-NL zDoPF5(}q%hQUxk&OZC4F>vg9pn?I@w?8DoHyZ!#;C*7-Hvb@yeyY7Y7xrek4KGq48C;u>er$3{0(Q@_okvrgicE$G8K+Bx$ zGMB5`H!yHcGHjib?tm|_ybYcy_T=VNE9;#Hnf34>)&%=H1-@Xgd?@G_PR|sZRXD4U z@OOUlJBsmrhH+0-*~va!StWzDL1loob(>M|YE71oXv*Ll_S1YdG>$j}&5EJ&a^N zlCfB_@3Zo5zYxzK#G7E>6w8uLx^2DhUNAa?1sdNt`o2ao=_)%>9>K3lNY2x0`$wc& zWWKy|D}UPKLF-Gtk;{i|`9|gS?{6l{ZCGDU{mkv|Aoy`n(jZl+)!nkbtPfgWYWBDE z!GbjARiS@iA21xWzWDl?`rgE1abP5u-6{A}(hf~pEu?4^>2VbEU+^+ggh{-<-yrx`tq!>>yJg@VSI`BsNij7eIZi5T3=r8S&335w)sjQNN1OnA`xKa z#bSQ4ufea#`T~-5ec7aQ@%r*PToWq{rq>sOX@GCJzIX!Gm&NZ{*O&fSUph-`I$(X- z58Jnu;E&1r0us2FwNLb6eTkHuJE7^@!cSLH@D;MY5Gg-kec9w-osi?8%z0&beR&V- z%cqpJrTSlo_4)qwr7ZOR{I?DFR;cw}ICv)te!qWxAzD7KFY5mlmiDM*D`t85h_yiDw4nUX!La8>X237nD)2Q4qVu#&8#a7{m^5TSBe1*aE^5V=e^2p1}d(~K!hF0@0FCs$d&d!_j z&GKTp^Pg5h%S&rh2`w+HaTqVoV0wAc@IAdP9Wop-p(^$c>=1@;vAo!@6+Ge(0i%*} zSY9^uvhe=CDxSYrAa8c@)2HM?wKlyu+%fN@ z;^NVHMmzh_0fWbzt99lk9XlL(GMseUOPPq?KGPY)igukU`j*8Kjno)A1V*UcYPMl`224GC^ zd3#6F^P~ALzhas?asxdG4G!JJy^_XXnplXpPp=?gQzO9-%iAYSx?4y;qR5y$#!Co3 zTZ#}VwMmzkB2>oFZOU`L{coClu_)gdzNhtqSC#T0-Kw|N>?YwEN->I)5sXSrulG6E-%D!6R_SLE~*4z9jku>;pZ~UU3 zdZ6jv_^(!Rl^+;P-y2Wxe;atdH(qgQ*V8mQ0uM6@Uwt$d{EEDl(WII}`W-KFPQ#yH zM({OKgh&lC5!IWnUKmF)n>_q$v~vzw0_+MNN-_PCo#CoaB2-^jb$J|fUyk76jqt_ilAIo|}^otor{kM`fXa``Y3&??_6g?uSX zxSyPBC0En$Zb16MN;&|;!j0rDBo&aH#(9m6-7E`WGwj}%cMDtq3D!Pdu{PcbaLATI z@(<3(_3y^r^AkGj^=_tnG|;x2k%y~#TkXQ;EMn$u}H1>U0%U*kBW zJ&jV1FiP2~p~JoZtSj_KM@=t}>9Fs0nW_-bV>&{%F4N)n?lc|NP!_tLJ76lL%`sDM;^u z6uBRM#xM5|%`tMnd9IQBd4Y0Yc+euf{ffx_VJrEe0J-02C7myFHbNy%B&A?wZ|`bG z;SH$sJF!P!CAcfpjE*LKETmc}vimN^M+sh9iZDs!)Z=LNf>HmS{-FAkME&Qwe^z*7 zlK-w2^}i}W{nwBxJ}9F88waTW#x}i`%y69OVhY^@W*KW4-z9jcFk_O(vGgv8yR9U| zJ*;F=ao-Un?zs^6p~7{3fcEbu_}F0W-}QnP_i?+65%;i?esQPvq&5lvlttO;*Z#Q{ zao@q>esU(~IpP=h1Fwm==e|bbz6Duk7uEigKQ$u%{J&`bsjq7F_yAciSW$-?>~?Lr z5bQU8PN=_K>WS+=FEgXtN&n1<_|(jdujlBQ!TZg?$??~Ii-@->GC8uX^mK}1$`Y{5|Et7zH2v<yATXx%r+_DluEhE^s@nS&BX7iy+w+D?n8Fg_Uo3!|7 z=IjuBw`|fhsf3W0qezEG7(el{!KX?QBBeHQCGx)T3G55kOTIcNKm0Go7YSZo%7b*P zo|?1qzwHZ0V_%o}G7m=xLd!h@ii9KLfock^%_;%R?5(#@i+@`1YfIVps*j`lqt@eOFwKjXeRlTiyz#3TN zW^^!>m4*fI5x%NQ72GQ;DoAD#VU^#twJ`#|<$z9>Js>u$8IDIfSZsjlShjUkyJ}KN zid14E+qKb=?Jx$s1&n|ZaI8JcSQ4DbzqdCs#(>B1qa6#rSKGH|E%t5T_Rh$;v3DIA z?W-2M;13kM$b#SRq+akp{MoYLFVhSDS&Mz^<;A?l`@su-re(oj!+EYv4_@$3kVs&` zKi-iR{M_k97JSrMYWDj93;r^_;K%C)U%S~pd#S2_!Eb{QSRRAv1)pKRq?-l5>C>{{ z5B%G|;NSngS@3_Daq9*D+%7EJ%Zgv{cUj4S3;wrOQqcupwSW7I)+O*>ex|iA1}%XK z<}21Li`VFYL;schE4?cJ&WmQ`AH#dEc?fIMRq$$Z?oyLl3F!*;;*m z_JaNNUhwx?*bDY6;-Ir?<#6x*uZ!6WZhyg4p!b3+@osgM;QqZJlRS>8F3^?MS0JWx? z39#<{TkHk%f3?VP(Y@dvD>-m4xYkPg4|~C^=glbefLgcXONfPnKN)I9N0TNB={^)$ zh!-`31iwv+FiGUpB++ zO(DG%tkI3}9KrotK_+<|UzCBg^EOOLdw4O@o*N|Xhav6#+ZMkvbZC3amEpyIw6qV~ zSd6rXTcn-ZliH-zq~Mj|utnN)S=x_G3|<*_v=eFH-j1aG$BDOE8PX^Hmz81cbC#9i z8@K}oJ{Pz$FkEzHaJH0*(czGPVpN!9CdS;Uw_X{3-}bL7!Jsa3gf_=*@8$*?6qqW@6I6b>Os2st*X9G8Jr?74N1zW)pRxbTN zXD+>hxDf0s6UgNaaB(52g`_l{b$sFK)k0tR`6Bm)K2H*#b~0LD=APt?mF*sfE#&)} z9cP|ltFHz&I7iekJ+~R4OX1S4MWwt&&;N{WWe1giD3sfBgEdDfhE0$!@6$&M3;AtP zxc@TQe0xWnBXm(7ym@iam2+-<%sp3eefb$P`^oRFYU}kJ*Y<>|tsiRBa9snxpt82W zhXWA?Yl5r{OT+#;Yxb%BhTW=BKdHYj-MIUtznUQ4V+E?eC*QR8x7sl*z~(xdl;g;g zxi+)E@!Fsc&ay&uq_#GXb{Ptg2S0HUo)xO6?X4DXu z`vAyZC`lfEyziG^-j%0JGY;8=o_|ztMQMQye zlto{7tV2q$t)~NLgwwzJ(Z3?RIbY+_vnUxX{{F>`*vJhul-USLL0WNa&ZR;nr1E>P z`t9pOZ#-J!1&b1sv!vik`*uT1j;G`{UjlyBL{dT}-cK$mNm_lwxNQRDDHHPaeMOe1 zOm5gZ=MI)DNY+^`S^NnXy?+B2lBT<#Hqw-gNJ%4(F=lXB>)Auel?m-K=P zTx#1>rqp4a9jN4F{2Rfu>GRAY!qJR0M9iZ#p{tb-$-G8%>e1Py7Uge%1E>5iS} zE5f!lrbt;h?^+7}piB`>dWdF^f0EVFKe=br`gurO3{U@HECx?Kdq_pL2Xf-W%5X>W zjXg`ahs6}Ok#VqL3`^dpAcXV&6aS84o0>Dtrc5cX!!%%4rTUCDc7cPmOcyc+P;dfT zHgW?EE1AA6n#c-2_&5IwUuUdY;j_jY)AyUe<-K472wn2V1upD=8Uo*nt|U%>1&WAF z${@oim#|ORMqkx=G(z1}^2HDlHuC$l@t;wfgOB{abBTh+r+VF5G5)#WZ_1~7nlx5O zPol_3c%}LZ9xX*c8m-${P}ZK_6Jd*5Nai-!HkQm~`~krm$hMJ5-+%lO|5w#4cQ(ms z1BWBnqd=Wdpg3Pog;iQuuF}=LOD+G-ohWG znJi|Q28vNyOQL%s8`@Xbak;$+5m8P}m2nBqX5&gay;WYMgIVf_e^gGQZl~0-2Rn^1 zZ!lh7@Kv(YU=m%LN+D`;Ri@*uc$RiYsJ4Br%q#@}>4?o9{F)-JYo*uL=V&+c3Kv*l zusFSwAvjPec@hIA>6k?SB=x^UTtxSurV-u453&vmYgR%+Hr2B>RJ&OE- z@7C;s&y*q{8Ff!nAJ35x=>vfG3;jvOL+)YXMJ| z+R`-VHZ*fz8kgxQ_;FEgn$%iI8=()w5e~7D;Pa&jNE7sv={ap*x{rOzxfIYM?q~Zb z{vOqBuDPb&AU2tc+xaIxNmn?#LH@y0ZAviJ{letMS8?R#Yr&V=OfxiTnvgswat*J* z-qUz;3bF&{_LxDT*-*HNCd7pKa2d5Sg(&dCVSEwrkim4|1%iuN9JQi#>%a@@Z>-XU zy`dMMLQ)4qdH4y71dPNnwrx)YN&v%w67X58015cGl|=&Hz2cVux9puBMshond~AMR zLDCdSB$6B0{3IZ`PXK&CgTEz>yAJ4T)WJ(_gVX_sI<0D&OrcIcuEUKgWiTD;lwno@ zU6m14R;dBs1qkb(>My5p^8qiLN?NqF90sKjF>70BUKAo`HOCDqHIK0Z6C!2-!Q3)e znzy+tEwileePVBu5HZOuEPee2+zee>1okz0ZT{6VH~CqCa> zfn+k0{sjT6JB8nXTPLi!nTkW8chE>I12;0w~UQ0To=2&&ga@V`ajFe$AtbQryfiqskSP1IhT z)DJV5eiNnPD=h+K>3j=|EUm}(-@J+1)J${eqqx3^8xvL->;-Vu@Fxa-Ol7_P1Y=_j zb`P>LoC6ytoJW0A395A`KE2(q{?_ZA=Oi_-cS1{D($<@QXr|lD(4>$%Fv?W(C>hT9 zZneC@YG|W*fxqf7R86)`UYe@wp!(aW%H%fHWt1JVxDgIfZZKFi@L^cz-pY9Lt*)YloHFyi!LOg4HR z$NoDjYU5dLXu>OS{s~V0a2k;gMmyK=54GR-R+x8%U8>QoA<$<9*#$|QQk#r=mo^9Q&~^ivN`<^<_684A6M9lD zlXdMgbPN0WHw;O%1;?(zSBLya9>=pz*)k+-^=}y#ylb`$6Nj5E!>4|q-j+20d-?`I zpgzX>^B$5|oGGY!p2uiUV?Eyd^%{K2nFcdouPNAf7Z(#()ffJVO5Qcc)fV^Ob3ykx ztNra7>~B}$FapbS#y5KLpP;n@L<ETd`?l8}dKVd)9+$#C2*<-35dewlRj zF@rZ3zWQa-(GPp)-p-z>O)@}Tgkt1X zAK!%ZD|^+)HX*NiPs) z;o%(reDDr7^I`aVW@_~n{ z9NM-d%G#xplVM!>wrz}Gjy3r9FjF~`$RaEVv5#8Hu-f5n=lLG$qFDdAF1Jq={!R*y z0@K@IVty|8>%x>tZat;RY3bG*dyepG{7vkYQ+wbD@1>K4#v#X!NbQZ|Vb9=C!_1V| zAlKKD9g{{WDDkcDvVL1v3-hdmw67xOLkyxPo_N&YXKbe3Ab}&vV_tGeSH{caI+|Wb ziCSEqJ$=3nS-3f#dP`2zl&s^*c_J*#cB{fKp>WD`Qc%q%sQz9NX8A~M@@z6q47FnQ z3J;h7THupBPgtZhf5oN3yj<}~CV5IV*ihD%q&hg<`{>Y1YW=m+?i5-zrYS)!3n9*f zy#Dcs>5UKIBl-Ih_tFNz2aA_QlNJi;1r(`Kl%ZU^k5N-y zsY8`q+tYD6#cWnHWV71&N&g+D_R;4tz%`}5{TSeThcRA8@b5+8G0Ee&bP|e`mtED> zb8K3Xs__}8MU(yLll6}-ir?BshF>?-qu*P8CU{G!N58k6wM8q|jSGSm>m23`#X5tB zzs&$vo!muGtX+&^ZJ*lYAyB_YF;c8GV@0u6k0r%wrz|N0t%~*F0Havzkz#dG-}C(^ zYI4HNFv@j$uyXx8T9oVWS$^f3F~BI-nuCmT{UT7gwqIrxWl9m{+E{3h1t?di;QEqz z+!pV9ABhevSp&ja|6y4=;q-oWQmuZo^H7s|zeOa>djNC2JwlG9*NNSUB`v!~N{6->ra~qN9P48Po z^j_;1Bzl+k{a4Yuzm|wzr=R?y7v9f^-u!{L5WRz6-CFdrzA9ey77C77r`CH}$v#F> z6{7b|1JmhEFc{VF_2EpxtIJ?$(nuj)w{ek6a6i8(IKL<3A|NF=(6MZie+fj?n%l#4OFyBWRS9=_rH`UYPpz0M>yrY737F;y>xe8Zb`X7*OC z8qEw=7)*Ps2qtqZL|ah-LuefI{$)Ajv`{o!mn zbAD)_+S%1UZ#i=wbpC*^aZ5WHYmOYWH;d;`Q&V46d*m3dy{ExmLhXQyC}7^#^VuT0 zTbe5M&gY1|2^70P-znB!+ll<%mlROihFI$3dFs#OtwrsAPIX+d`_Um}HJknD1pU61 zrb4cs5{EGh*VN;&a^T4IqIzbm0E|TV+sv}AjE^LA;>5qhIPNJdXEzhe4OS^(qwZ-Q1d-Fr)Q`za5>$NTvu3NzUj7 zTP$&eQ^>LRgl5f-y*fR(y7~swjy;Awj+l8^VBt{3`)D>Z{n|`B_AEg`r@&YGM;-G7 z@4#33TQ$Zv2;NbArA&%DXHVm+B|MR3H-*Ny3bSY{)1L8~fajOSbluFO#HQT1mW_TB1E# zWZS!8NWi%Nkzbh_S4sl)EX|^jY`n81OOh_I=t4W0v3)}5It$uu*FKn7J69^Jss`SA zv)ou(>0CKE^uyndUraOnEeLjJZKc7O!~a~T{c3!!#JJ16@UF$>4GU!*$v10!qpgpJ zozw+A>3>>mvPxa!NgwNfD3Zy09xx*W<-Pd+A9>`;YCL%mMh!3-)p6dzFH<+PF#VOED>I5jp?_jQE#*=d$@BP?ZRr+U~TX5JwswUQsB^ky$o*F6~VzKWzhl5?S) zoCwvbd^Vh=sq8F;gz6jj)M$BnLrx#AZJxFr82S*~xKE`sjDx&fJp``Mm$H*e1)tMe4hq~h_Ae6=vgZMKiir-HRNCf3eObf1$4 z4@q?AwRW#3>CPC15ma3)=gVaM_dXAWXnIh5KzOvWUU{rg(1jr|^yBqRtL;`qqQvo8YQr3djOSR3m4VuOrdm1)-FQql8pY)}4S!x|Mv(>|Q^ zpVP=5T>zyjI)lbX3jT@B$Rv^IL$AxOxU<8WsZ5veHA{jj7=p0fPfNFgr0;^=E_cC7MI$~`1t&3%5I{MX= zPSu0Bgd5jh@L&CdNF)#Mg7`7X(X7*OO6f2qu}&+r4SHMgs9clwD7|9o`H3Ad=@px} zcKbH`=W-V$UOqyx1heu&6O}6Kb)c-vebrTaKWa(48DURL#NyeIg7&3tjENst$K^in zD%_Oh&XL*%PgPaSk1{Q`<4J1Z^w~tg&&nt>DTjAS`~dE=uENc<>mJ%umFN`3d#hd8 z2R{>4)z~l$Ou-6ql~;(g_o=w2ZYAB~f{1}5RBJ>1_Y^OLY^t5N{ukFXY=+`|p@tR! zm#VF@muow0uo%?IaM~3*)S_9r7qY5X>e~AKqV9t4navG{!LODyb!*aJLdq@4MNT1x;a0)dN)aXn_T&2{t^Jrnkvb;plF4-x zx6XT*+faku0Zt6}$}HIBk?A)W zFC+NgP*a3RNf~1x&3l#lPOR-sa^tsuBqwgOF^8N;5e9I+t1IJ61@9xAnPg_@vjltU zRD#B6^z*y~_P zaFRQd<&?T(>^V5WmzsQZ;AjtAK%W>)A2?#z{Ug-p!%pwLmsxM}Y~=$-ZVsH8H`437 z!20nvp9@N}9+HX}wiIu2RZG>C70$4SFWRW)XA ze&>^h`hxPW`R4Z{tfb}U_YI~5$2ytJT$UNk#5z&1Z{f`VL%A0oBB_v%A4c3{&$hnn zeGd|SX@MKbTQ|tRny}{a!)PefWI_wYnAmlJ`kB^utvzrF!aK} zYDOopM1|z)+3M>`p)dbBug&Bf^|w_0O;_!D2i-UUZvQ@4__12zS2ZNp>FR-&*=jkZ zs}6$J&rT&s-_iD18DLTR9+!5!ik`U3JZlW*bhktN0J{XQBy*Zb4QL-=_oQKFE|FY+ z!}3W-(8lS4ZxkDjNpU-d#wmKTrt=3tLken!T9C)Ri{rN;h9kk@voL09w)Ote#dEV4dwnvJ%O3 zB>Ld?ok+Zxv0G@yZp&1HH}=M@_HRpJzqKLp>!Q6@j(&HV{&&NR-WUfK+6(@cc+oZK z*oFv-s{79d`ZoMVQe2Kbtr_L%bt;0cy2_|S?t_?M$L*bzMVTu(Sy03B^&h`u;m`4s z@cE;f5RFC>^Nf09K0|yq%$uPUPZGIR zlQOzd3x+z|`varA!2W2*h{`N4nK17AS2prOKw{xGg}qYQJbE>lo$X=6v=sch*o^Jj zhMA3B=eO*63HhgGgI$S*KPOVw3C$swWu)v{*n%yh7(aK1!9NzBL`rh+;MaEa%_H3z zo~XMqt-Jd1jHhIc=JwSQ^zlrRTCUS>#Ou#?c=>jPWGg$zy3NX^ZC2KaP+E7@9*dZ( z^}X;H*T|b#;-A2`aj#2j>cHT8IF<3I1uriKACtI!=XjXGDeWMvtw&vcn<&FkPRf4^ z+pQtO;pX3N@EKye5h>9v9q9Q96Ku0&)qxMXZebS71osC%AW|YldmmE*y`LeOs-bY= z8pa0-eqGcnk^Ft9x{9}`J6&16P_m?o?Y>K>#wqL$LC2-wf`RgcD|?Gc>qN~lm3#2B z5K9kwLW=3ZEtL#weeNO*A093j+<)$ZNQv&P+yi58qWj#EuPVylhgGw`;8(?R0ck0O z`IyVS6w*E0I-Ms>gH_%@mrov{cs`1&UmXT}1N<1y8B68B$#E@Q=b$UNd;QJWaf9hA zxB)MXmR4Y&(Aeqieu}NPHl#+)72NMD9r!Mcv{{A`SxNPqGxPBV(^e9}!G{70p->Ma zv7Ec`?m59~xwNl6z$Qqlp=%!uH(j_4cFL~Txy~x#mQnZHg-j*yE7^tT?YdoL7xuud z*oO?J?Lvl)UAUC(!aP>`Vizv4Tb{VvT;?*v9{9ur`&Qlvcw%iA>I<^;XFi9D3w+QO zNei<5Hu-dKgaJGSQ|=c;DUY(7-q0rU@cX$vVS@X+f=Q+;j#spF#jF}!Xm`cHu3$K@ zD`s5_=!(xOTDsyD>`6Tp1G|D?Uyp0Wb%i#Ozqv~GuU9{3D$LSXk;Egp0fUcXK&UDn zuvYsblxCHnY6fF(U>J)Z}Eo+X5U zs&!5U)6XMdN&X1u_c+13h^hk#%d{e;kfW|k1Dm_;P+~In#d(@RMfC#gdVV7oQP#;~Sr3JnNH4qM=ToEoTvkBT#LR zmkSgKf_*0fmCHvkOy4ELwBc$c#Z8Mi7=z@wEz9A_2;-XGTh??^1FYI}$8+sJ2!6XP z`AkZ?q86sC68b^S5$-VWo=AGlpg**U@_$(R0bXPG5q`rlW!`*(@fQStRi=z4Jtm|k zD3XSFwf6{KU5YS?LkLpMCq+z1=yT~SRRa~($qsi=P5IOSbX zP1xebO(!3?<))L$NG@VQ{xr<=!DvjbV=cJibW^ducVEMA8<@`3B{X8JqrvpKI)-Vb zx=)Yaz&ovDH!VT8(!204R^qn2-`(=Xt=zls&Cpa6xaa_qbx1x&@*ZAz|6bZML~mnr zo?SX{h~Czlb6da=DIUkMG;gN$di4r5`KDYCIB&-DjV)2jeCuA?^xG$psrzwew6)+v z#l~b3&$on-BJ=H=yDf*5)9;1EmKHAM!2JiD8as2F!B2|BYSJDdZN)$ijYmc zML^P*$H+;%Fz*aDOWM%`Ci&+PTO28x4KEP$pxL?_OfL`&^Q3I2nB{Sgp{tF>QU5kX z7s1yqHE%NtmjNl+RW&qkgBp@&Agc9|R6ueXg8O$VX0-@w-*2T1D+W-lZy0RP&SaPV zu}qEZ{Wov5-+w4*eA7#rZmWb5$i{`OeFQ%*-N_^#U;f42eX>%+mrH7xKBu38z{W=nraz|#+?&Qyzxyih^!7Ny=6{6sb9z2msTh22 z7|>$%!z^Yx(O`P9Vpx|qi-Dl%?hiYi@Fmrm}cIJSL} zIi4+{u_SO~n0X9rXv*u~k@VYDm`yuk_ePihl`3oA`UlyHjy|Y8x69NYy=0wKf+y9} zWx2YMCCsE^KtHyp3~Zg(O=IXw`5iERpEa2NQl8*VAr17~;}GsIypiPwMTh#Oi@%ij ze((pkC`5bneVdSciDV#>c1RvVatHLmo)C*PSAC3|lNk~y%?t-gv(<~gW{HyKhBtz~ ze`R^jfxV?aKUVrbgnMctdg`SR(^CMERY1#c#8VG=xV zumc?>aF8e}(HMgzOR!fjths%4v@7jYOuT*dDe|S#>&i|za}}lIFhm8neo_kv@BG3D zUG-AT+1LAVlO_s2S>`NA0eptjzT`E@`wDotv3q<<@TS6pNxgQJMc@8Q3rEntBuqG5 z#9Ds*cjkQdron%c#fM2`3+i*q{AJ9q`Fi6cYxqD_e7P>3{F+@{4WAn9DX?R>kPc0y z84B4{YhpQfUxR6zieWxHs3lh0RCz1Z-^Z#zQ&WJB^3;T3_JG0kQ67TxCc6Dcd9bVG z0GBHH9@Bg#5`FvlQ?&TJnX4_tKQM>CL-GldC?p|B{)Ca2Nk-nz1!|f{UjNtore7il zc-qNuSd7a4xna8g5%{?;!(I7`;CIRK3XnLeU!>DJkd2+8;&pf_%$2sjnJc4xIEetg zv|o$k7q<(m&*1hxl*{jobsZf}tKg;Us_+P}Fn>XYN&ea@A3Gv1!oj=kHb=tM0}Oz_IW7^M2HjIhL<%w{$^A-g%rot2nYpcwyCQZqj7%BaCvvYK+1 zElFr0I&9JzKO#PJCKXalmMhl`wGv9*{vDS( zBKUbxe;|dqakW4;va4~^OZr?Dpr-d0#LY3FG^o#5yr z86H5v&GB6D1;NWnL6FoqyZ5?kA9T6%Tp6ygfG=osOQ4$yx07<3P!W6VGQ#T;6wCLx zE#}-+ga0myg-8u9fw3j%8EG{g^em%iIJ6`7rx}h#!e$iMuM21PQw4ur*np5Itg|dq-mJTsqsKTB0P!pF2$bGjaFf#KO%l$6$_K?i<_lK>~LXzkGpEo9iO#5^o1BR(uCB+Js)flqK9ySV~Yc9|(lHo|wf zVST2-w2i>9)nC`(K;BxFPEp!p5EhR&uUM2?b6gkq!j(X!MleMog;Hy9fKNrVY>>&} zCe=@^)jmKn7~oU*bq|tI7&g}mOh?Q`N91EGepK+$vKWA59j<{rs0-9MshlbIsA5Z0 zG5hLXgJ}K}2P#Lu+JyTKV>3Ozz|u?q;4Z~M1%bUpuy2{giKTjpd<-ej*)JCI@rRnw zy{Dmje?{^ol5q$W=CD>a05(dQpvnmLrCzsI=Bo=XrIC2yR?kNA1-$F)FI!l5$z;}F zUk+qVu%^!ARQU@I{Bq)TN8xff|4MvhGy|d_$4- zFaNiZ-se77>(7KM|GNIfz}}2V!v2Xbc2vs;eV&I8^t#ahdXDSl?1$g{$z7Xq2%MO6 z$;ieLSX`^{+2B&a*NeqPq$GEkQu=fbK8DYg#fRBf_jbm{kE4%<+lO(HNwm355}#Y$ zav`>$#)+{pLRFP;i95xC{rMx8Os4>dc0pCpx5Xr-iF&=tiN_(?3}s`tQH@abQw)n} zjxnHASs4AJ4dLWCy~KQ`?foZ@>(H(oSPs;^bvUWps>mEitsl{IOq zkS3$ZHP|cf3f^Cefb?oO!Zp|4uf`xF!nO0Lw(7cYuOZ@OPy6cjE96QuI%)_P!^}Wqa++g`V1(<{0pWTsn7#9yg@vmadX6nU^FM|XbFjW$)lK8 zf`vpkhy-QU1MjT58eF9gmJh68s^a>Pevf7xUwx8-K|E1oo%c3Tqc?;=Z+@Na36 z?@hc=V7H~3N@=dqxhw+n!3#7jg z{ChEeKzd3QE5T=5$@@E0=VLRt4t#1o4W`XthUsHhl3lC!x0zJ(tPU`m#SHEjJjNej z6r}P(s)!;^d~kZu|WLp3Zhvlq@|_ z^fjFHzI4vuiBgnFTzxF6zXbDXtK>Zd<(GAl@fCvqB+8FTS%=l!@R6`gk}U6|XvYXH zI#}>QQj|$tePdLwFK2yP^6JZ3e|m`VhJyPqXJt~>;gYKQk}6BMWLXalG#qED3eFmQ zt`ubwSKk!Xw+Z3A+azx+cyvPWyl(`rDm<8!byx|zuY}4nMY5cMhPkwxi@qcH4zVP z*!1-@nAVU4Yl}|&N-t{lge35C)@UowuLm;E%0WB{)(6&vXBu=}HzbcCsRo{VPFr{; z;HYip=|G+Y`|b?nxeON66eMpTaltrCwepM@!905h@g$hfI#_rfgz5AnlIciNV3pOi z@_f+6JR^d5671_6c<7)kxa7f{+Ja;elBP)L#tE^f^nGm{w#xDCDI>uPA=xkUN8)$R zX8fwc#~aCB1X2Vm)r>H;uXW#aWu1vqTMYMabPC+Q^hBb2vr2wde}B@Um8?@yyu;cq z|B7($R=+~>lH40rrqde#LDiA!3OVS?2nVv4!?vhpFr&AVj{~M<$GhC^m0*|f^@T7} z?1Kb{K2=)n6Y4vn#U!?cV5V#@Z{kBto*yP{lu`&7_-a9Q+ zzt8{;%*ZosdkkxCAv}4hf>)De8YH^6VPqa!m+Q(ZP)hJ{X=+{C(bBHk=2KHz7Vofo znw3Nmm)~Pr(b`n(d#hsYE{~?p#;=cC*+}j)?f6mKf{eal{H=&L$pk>CDW#LZ z^%R`YWdyG$T$$v~3J$@>Z;q(xC&(kGDJmPg>yFrL#=BHAk418~t9HJ6u3;T}fM0Ta4A4XfnR43fr+GXk@S_ zQCP#(t@TX9Rc&R1>LHlw2??l2{jE}epQ=rH1iTIU9QZaQUm@vHX2rLs8gLy&`yb(L*40CRgt++9N{+^g0j;FcTns`4*YDHnd#b zWtk<))pfZyCSLaO_r2Fjy0UIGqksgKB_?nIWc_jEZ_z%GhzZ|to3;o(%~&;>)R{s` ze*R8`Es=GEQt1nn#%SGZOGN9C&57h*(MCwxwGG4Q>)zp-Rq{)U{kcMB|CYg;fi=Ud ztlOB1(_y{%oAiiK`aoQIV59#7neK{kc=+QgSGeI!*RC~19G~k)HKwm!W4Lg$xxW(E zu4Op(9yQPWtG4jq)cHa1WzrX#^tq69{F%2A-D#)Qitwd@ zN&jIM4Y-I|6h-&JW*t@5OE!-xP8P-@&oz0Ljzxc&=RS<*o_04s_f)~Nq^m$O%V_R(JV}^#;3VL3rWmbY5(fwM zPRf7iopu+%GgdPxIT%_>ak%!*{vKGyKuI^9jN=)0=acYjP!-E{nB zG3S3g3C_)kC-xfdZ{nyP850mcC}T9@x2yHXhG=0& zGcfFNEW1D4MsZv?u1gL=zcjZo>0-K$GUoBeYz-4%n)jcYm-sH&h$5G$o!p`4isfsD z9e?gP!;i??(AL%%DS)C-cR37@h!7yH>2!nFR{joZ0O#L_#W;Y3h6OLvEBWLj5Vt3kAtD# z3tmC0W0L!zn??%s$$*@jlC_PkxE zAH-zha5zE62-hC)V%#x<@wWwkQfecT;`T5r$4^Vq93AR(CDGSc$Ip>IpkMgV(rAXE zN>Vd;BDbT!eo0oB#mjJ6l$4sDfKQ_JYmA@VZ*ZshBs6KKkV@!R2NM}zEBI0Ws{mey_zdfy1sFrs3 zMhVIj5Q*d_`yUWY;$ouOEflVI75>VjGwC&KTrcIC#%{&-BONjP4+*|lwjV@F#5ps^ zk3!emmhw2WKVNYFwuMMZZl{xES=!bNZA&VX$15|5b~vq55ws9Rd0Vlte)IqE_8st1 z7TepKPz-egQi8A=aDhZxqM$@k1A=UDQKTp;AXw-kNGNK6giT1+&4SWwU;_oDD=LHK z0Yh8QOyx{t518AU;8NN;RG0BUsmxk~{qL;g-m4(C$d3w2nkIrnxS~ zrhxzx5L8BRhJ0FIULrq9#nas{L&yBIDqIUu;Kk#)z>g@bHVRCz;7&{8j(-Xs&N?A} zI|Z2w@PfS;!4d?Syl=MU@0E1=kw8C{X`fVBf)wTf?^bYg@#%8d%&t*bEqux_S>hIE z`G2~^rTEhg^YgF8??d9rCGg}Dcdt>GxPLwl@B&;c$Bqg0~P1L2v@k zEN!M|mYy6hwxUVrOVvMx$nza1d*Fu?ibS0B^yGsB8vj448EFTElpdJvwrYH_7E(A$ z2**k{Oise2@rf%P^U_qAjGZj*!_n<{g-Iui40~JEmlISZ^(f9W~bn zvE!fJst!vbmz|C0qWq!px3yd*qqgd(VMyYK#Is!EPv|6mmUy;1LV`KcP|I#3qea?L zyZKn^Ja{vJC_!Sf7?txP%BeH?72?(@X!=`fe61F@WKmeu%sTHHX?;0X5KIars~ z+Z|h^J-bwrJ|J}-Yuk4ke^`^^C{FwpDmq<%^nryF@4?w|lEf1yAR)t|l8Hkco{EBF zsGy)Ux*Om0X&1p72+!b17G6Z)v9(q-=rrIsbWnDM$K@xEDGapg!^B+*>jJ6_lLNJ@bUoEmod=p{2(`$_29V8~(7&zpZ%)#LU5NUsaK66s zDtju?A~y`*RztS=5J5i#?I5UkRt2D?+lO%%r!cv66YO^y%td@3&qFr;Y{*255O@(h zi{JsAE#>Tx)aZ1rGHd|%D@>lQNjPhVf$vrr{V&>K<~zZ~oxq`V41cMNCf{^wxB(Sjvo@267^3MwYUT$B32k7@yPxt&h)< zs?~LRIO%DVxxP>(zcDX@L(Zx)Ip@ACHatg@bC?gY;wM#_Sbp84Rx!#Hq)-J@ex|xDx=El zs3(x*MQGm6Zc})SPJ$?DrJL4=?F7`rM9SV^$x-ajU}|uG@Hd7Bv%-AUk5Mex8c0(f z1_`g|0-VKM9ln6^9vc5a&($2|rNe{bUEq=qW~?K7b8Y_j19&1;uD<0oy|Kv0i8~)> zwkrG?oexFbsH5C?ILfVwJ$bOB++E}-mx_@tja$d-?0&`cZ-w<}e~quz(?3ULXH(a3 zL|+j*cyc_KYxPQf`8_&`3#6R+jMvrpOPUl%@iox|UPPe^f zecAEb9avb(&}t~A+>lL9FPQ_mu8Dg7L&tmGvQczbjw)HmMap~ywfkg?%6cajjJe-% zkuo&CL@yW|<$gUv{KS<043C=eFS0s(#1V6cVdvCBXtl*_I?sc?55AOTA{Mt1^8T;H69*$P!*W!M z=;Um}gwPi@K|{0669U8JbGR<47{|6PeliH*cXoHmX?3cY-^QQ`Y}tnO;zhgwxil3iB*DOuPpU}8V>zZX$OC8k@Nj}BITuqf z{E@Ovq#1rXW-X6=vxH96>D-!brf$83DQ?@OC@zPlxEglQUuk@*R%9dUc2e8$^`Yo> zu&WtFUyw@fc3e6bMplF)G=WDzcnKzhXEbitgc0>@pm2MjSZ=1j{SJG!GqH@<)c6N_ z&xWYmNQyKSZbW%mxZ6;;!Bn`PHYx&-f$)|!On8mPn`*)w#jhvmR}*%UqX5sEAm+-) z6>yi4pH7HksV<7H2+}}p;S>u`0-a><~**gIO8r_T?;WI4qLCvJPi}+KN}f;O5%xcq8<#puQ{NyJ zUPEcGb<2sQTRtI6GqSOKU^J38&t#})@x4|S%S=p$dK(3`_H)E>4uJ@v3@hrYI-tWL3S2t(3e1>9MuZ zG%~SveT!F}?HZq~*FcJL3W;RMnTqUamz+`mrQ3xa*vgZLQ%=vLBKulSrEjM8CY5|o ze!HbJZ8*uO@G;uf1Y{ghX4xcs1hH4s<~srM2;yo&^e=RdYF#Rtey??syni$@OBERF z{K7AAzVe*J)%_!eMVnG-M4RRl9k$w+H0j?F`lJZ09Iac~y@B`jz3frGw?d0==e=&z z{i8$wmHBrUWvY0U%apCKHYk&Xmr2-~mdHzFpfzUdnAfm)4#D<}{H4qndlR}7;LCfT zmPWCe8I5n?S+^zu{QRp)e`H5bW=1Hpu%K`sbCoO!{s7H2{GFZ{36#Nw-CB zJG0hInqYrl^IJFHLSg+Lg3$<`Mz9s?*e?-eAQ*(;Pv~f~Nk_YQpxAk47<9D3_JK6v zyG}=v^IWlL^}>N}6lrQ5%121swQ9r+$FeaM1_03-e^M_S6yt z=G}suEPt($nB2S*EH>{wX>3FqO>j4_QCXbCnp3td6Ii10Eqcw7QPXtP7f3Q3o|)g& zc)Cu)QKUr8afEDeh8%Ln9UnPfeEWnd-zy^h6&#sAps*fDOE9@xO^i?Q+@0X*8kXQ0 z9G>9m6hXGlaeG)TQ+dsr<~RR|h1cZKBUWco(WWO4S@nK;!5Wq+pg#BYkoY0rOD zN%vtIPk`X}oyNb_(>Oc#F~s}y{}_0`6;ww4$IN?zi{*VM zon2cLV<8?axLe~5bTMR9Z5?Gnl37p#6s}hIQN2h|lr!#tbt0Rb<29_Zc4?%?N3`_N zZf_QgoOG`qX5H4beh^0%YMKdHkQVks`)m9zotKOntE0k@zmd z+ANmf#U9aSEDxS}hiGZ5D~a%N=)nPu-J&pg9LjKz)pT{M9}p~qG||aesyz*u;JrbmBDiSh z5i}w|Di2G`egvx!v_o(wg4eK^bVCq}pgMy2SX10&tbP1NvJcI_j(sTmBXynbg7;Ig z@si7~vf%O9hOg37goXP-^*5lzzgV|uQp zs95>5%`~*>^ZK(lF)Nx(A7wwG&xtITU%ExAg4fvl^5;pk zObjKF{3Y7iJMEFa%>B7+!s;+|bdqMGq=ok^pgCeH=CLoL`Y;7|6oY}&uSQh0f*>H{3b&jJ0a zV~^s%;~JdRZ`AmDec(Y+PEUMzLP&1g^^K)dO(ABiHq&-wOSky#q;nkm~g)zq$nEwjWgRb*-nR27x^0t?KQ zmiTp>sF|-RLR!ta?!6+qG_#qGGoa6LRI^O|Bs`GVLT?I=lh6H5Z_=`IT4o zTs1$nN}PXFcEnVB41eEV%w|hg;Z{i$m7gs$)hxEk0YwEcpD3m@?=1dP)|eEl+3O1+0rYE zNsj~ZH zRPh%Yh=709*PrJHV*XWM7a7)HqWXq(csB>qe+7*P9Nx*Ovx`+!UnCiUmreF*ysb_` zQDU0wXiXA?!Vd^09mFU0x-C2kY z`M#CF4bx?ik z(9l%FF_O0-@(*l7USZNN(g?%W^?U7BzRrzI7&3Vt+UF6EJ4ddh>cU2v;+l=5hZuC zumly~R#D%Q&Tr95PM^0xVp8Wvus_FO`YLjNSxC+(M}KQtbDr~T>lUbPPzyaO0cULs zG=4>Q4@AjPE@s#FKw><78huKQ_AHBWwD;3=KGk&OXdnNOh;OUP-7GN5n<=bj@Cf(U zL5)s|-w)!;GV04m0!{eWe2FzNHQ|Bz#wOf0-`IpXa|OLU;`g0ss-EaaaR@>Y9B0A# z>Hskrihr>$LV-eC?0>(A!#fdJp#g3VZLJmB+HUg|H>yM1xe`yAJfQK5dQPP%ZmQII zD040S(G*O`TQ)FWFi+vbbz+Wk@4?jmh@RT3V|v}8Q(Q%(I~|O#(D)%eOL7!DyPY|Y zIruv!%Zz!7gABOxtkx;7phLW($@BpEzBpRwq49e)d5#im`4JWjiZ_8#(VX-W$82H? zlI-;nCP8A6oRFsTTm->wi~NG_0t!Lp0RO2(r4=$-ibZrfyGhATd?kGmr;`$tOzl-f zgXI%?YR0=pPMHGg8jdl4*+fl zmBMS7n5=0h(5}lqSBGs7!l`L?`~siC$D#JQ6T0 zPpdt)4xe*}a$swB-{-1BF`!q6J^o}&e`~~VuK2L3B1+20gEKkt)wvRr%1DBF$E1{z z^3C(6SVyh{#4cZ4&xMv?|vqQPvndW?fTZy-`+zFIcN(N`nmB z-=E3&IFaV~bi&FVWh~c{SfA6(XV{x6lf*c@<+5kiw)i`6p>htn@yN=@;+HNc&QTQU z7EEnF=Q2fM@)iukUfb}!R-R|r#awo(y{8Ccc)GB)as+O{bkVbgHgs?F$KNFwx;LFx z^cGCvDGrW^z}K|%)k6Q%r;69tzWtBV*B+u>Wy|}fRUjCo11SwRYUwU z>`ynt0&KR%U3!1YQDVbK^Hyw@!vc82Lwp@78KG*~?1G z^7HGHsa*t;ki9;V1Ae)*Lu^)p$HRc&AAKhs$l*uhc1{g6U(xbV^Ilg-hw;AbOP zVAYsxf3cbBqIe^+>FKM&7c0qhN9-8}(w<>BE#>Il(`E0@MDI@7NZp^d3w1D#u44WB z5dpo3EBHN%JghAFNDgqi`_~o@kUmhDy!*$ndzXI>)RxM_%E*rlbN`ZVob>sR%yU1% z%5;L~{^WeItkmZM2)VpI+By0o)hyDSGj}Z7U*iFDP8oH1wulnD;OMI~Ad8CP`(~@8 z!J_zj7R6V}c%vx(nZit>_-==LvwuF8MkR`mRbLuJ@s|{47R5WyHj3g8(?>TViW|&1 zlk>&;OD?DQDrH-N&d2K689{R_#edA=j9Rg?gmU|4$&BW=V$TJs+>_dfL3WQ2i`$4X zwiWBh;#rDO%fZ0s`Y}F3<5M*QIf~5$FG|10VZIa7i_Tgi`BO4^VmCpuDz5dkQ`iF_ z$1olIH!eC!xc53dZ{fky)ih7|8&PFL*`{lq_$?3>9{?WFWAmb7X${bse*I7tydpZ& zN{s!D8qd)c;wYLi)1=RXkM&3C;Kt)n{-#S@`P5=Kd$W}72B}zjJ$>mm#(F4BzMjr7 z^DZ#L!+i6Kne+W?F<#W`>B^^;AZq#0FyzLegPs1sJmd(LtkL3DRdDJrNYSf5Fi`ot zH&gi{hzh~-v20LjBgXAcF$&uBA0?(B+i3Ou6M{xXyhi?l!tMhNhIt|RfL|gBxri?F z)zo4ty#*s|llU!eBRV`i=Hq_?eTJTWRmD$qZ~u>2OpYH4C0qa&u` zbfe%sg(vG?Oi{rnF-c@J$tx1CL{6!dBmGmnTxsMALq*^f<`5g)7gb1cEi+|pQ&HQL zjg&pDFt4MDo)rOABrO^?*H7tkO3$M$U>g09#si*5Im&&7N;H;V=Kr`nRj8h_7^Fwd z$z=x>K9UL_<$Hel|4lO|kp+42ZOxX3Y?l%aOKsP?s_3~;H9v>5-60x3s8!7z<)-7f z&N_AlQr)|YQ?=6g44sOilGpHAgTVPsa*wUD{;(Mctb}W&OEVQ-RTJQ-?CkRBLqF;- zPCxlm9-VMg^u-a~HJQOHFq#he4k{dYaGs>z1h=K6+Tm^qNtl_?u)vE>Sq{~Hgdzu4p+_qUMIem zXM27B)jIJa)`|8A?m%Ec4~d>?XrM)txLP%*nj45W$2o<~KBX78xx zyMkuzjn_PDYW#q1RvC5mZ56c=NftvBdQ9W*>Le89q_OXFx{uLC64!=MXWa2Ik5H#_ zZ4PyK>xFDC(@?sW@z#sBu3W@T&Nm=4Wvi}`tvcP*st#|n0lUePs3{&EW(yxYXh$8* z*J%Y=5Xo1VW7r5JCqvZy1vLI6rlYJ-79fO>S$LWL(O=u5RDK(e=~Uvs3Z|$zfqSfs-%Lc!t*b$*9RXsy~u!!i|Q}8t_L}2xbxJmdTl_))tOl_yFEj9jNi6S{CIf z_j$*jqa;*{{X7cYT6`X-KVJxuwg6XY>uWqyli?_Dl09B>bX%{hg}Ap(T35v?_jV&E z+YXj$*J3$2RFuKY#-ro#Jx0*+5H7>?_V&i?zJn+wanA7yKH_oVM7pq1{hST0i{6eYU#b~`SdKcZTI69ZUPqg1@T`9ig*-GTzFuwJ9 z<*H87a@s@UGZKRdEz^W@KbMo8;9GK%y`d#BQKYeFRJQxZeL+#;4}GEj8BvSBGUUYP z5H-6S4zdp^EC#g#JPVB{ZSQ0BSZSCd`hH-l+#!A|kTubtVx)fw?)cvfq7S$v`kzlM zhJGHX#~P`(8^+XaLDT`4MEzY?QR;%ofpkfP-1?7uhY4>~m~`t8I6y4MUmNxoaO=O- z|E5^zH@CMp4DsIs0n>2#!dK9bPpdju)Rp;e2wGx$@U+V89#MdWu*G~tVRcaehO;-v zu&^aMkMw`Xjsdp%X6p=QK+S8o-r-Buku`x{fY7@acLonmk~z^uz+SkTvq@p{A|S)r zS(Ll~EMC@;7Xke}Kj5nW zLK5^}f>g}T2xAZV`#~!H3aY+o2u2|2iXa;|_U0p)gkS)I^AN{=BylV>R)}NcE(cw3 zG5PmC2Vtx#9locWh89C!74fW*mY*wFn*o&{i-IB~yHpCpu#+2}rY4cKFi&0phYdY7 z{*kt|rl{mKtQisb<5l^?7W%_`LEt?4N^OnT)&w}po#%9Ckw;Q`D)^!`{o5*ZC;b4# z_+}#I;Z&7!2F#yt#|!qGG(K9JKU0+G;qBRojWsmJ zqM+|lY8@W6%r|mYOt+BfY?=hUf!0ZL*&I2V9&KzdXg1a~Q(>q4Fs{T~HU6^Bi=*7K zm53jy(#2{PZB$qT72wYq+BUd{-O1CjulT~HGD?DD?961wCu_X7 zc8twYfdbIhfqRaSabyAL)JPWKL`7YI&1ISsZzyl|A}+m>kSUd8wgx({1#ptR3DRvv zjlZRxWOG#9I;*!bJahj!QGIg>8-_jy7~iGwpY?`;qug5(;57pF?%V()16&kPGXIm@7limIDuYRquWHNq9uBYV_&VHXA(~_9KiE0YRxbj^ z-|Ob)7CLckiX5E$7?H97=M2<67S?PMr37!&a9mS!c5i^8eT)oc%zJFD$RJ=cpUa z{+{xB8Y2Y+?ZA1YW=eI`R?`fXwgam1^Al9IQn$Vuy7hw^59rn@Dwf_CT%#jLNF#GL zp0UlmeARwyk$ zfI*VafKda?+WEp1q7!^U+l_z$?9zdhP^#bF~$alZNibySdABG zhH;d8d%~&#{qaAVVz2nf*~YqSq5NJCcAc7|H}EaHD%)vF_~;EcMI%R`FEIB_?eQqN zHYC#w!NE_~l)^#RC#7(Z+>-k9As_z=b^CKktgvedl|g6m7Z}6=5JVxUK;{dL zy0gEEJG#r8s|&Dic?)i{BVRW#AsLq)D!*=K0>S=8W^-CQsFVYhU&hK5&k8C7pjz9k zuy&v#;iY2@8CEY~?8C9<3<>uC@V7C;oYms@naJ@~c;@c%H#6^uqeS4V*;TgG ztpG1w!1>=8L)rc-*Z-ih5$wO?qN$}^FkpV^0y8YCw31f(u$0bQ33QIZ^m)U1F4WP{ zhC)sBaiMmOHW!Lu|4-*lg?bKD+K``{P4&g*dG|S^eNAA$ya|UF*e_?6vR^it#;AR> z#}+?Yt(%G1W@N#lJxb#}^frT{0{i81*rybZQXihd>B4lF#hldmE`7SdQM5nYLbJ0J zk%omS5lQZs7weQxP&^Dbc{4QLOjAUZyct1plb?mP%Rv2cJBa1Uk1*av<9BMY98sy# z5I}GK8tPBamp5+ys%ZR2En4f%Uw5pr{zUanoASoZ-yV(IbXvLj-;oxGuq+c2K?TGK`)?Xi@ zUTGt^IqW#R7&AgO2Y^(m`N|B^d?|l5?2CFR)kJ!yj@xN<-5ez%w*fW;clH%Z4kdKx9?_b0_^;lNQlGb`U4Ra-e7F~gZ^*?#4kNR5#tOVS+q3CiE(QHoYO! zzx;~All6e$D5GMy*lijHiZw6+`=?yx4)EdPQaC*Rosz{yHb*nq!HQr9P9+v!Vajbw zqilaii+RC2vOIrx&}kBQct_Oz>QDo}D`hf2{v2xNH^F|Jd6zI3yM#14Bl)ei5cBF7 z&q#vosjJW;IQMOQ4Ptd!#-JDW;Of8|u^)Mec&#=j2_4xO{8+CSEUo3&?hRhNzTtuofkK z&lJDYc&c8DD2mqKzD|A#J&}YOc7~h;frFPB?rXfvWDBWk`??>svo?$g#nJ1Feg^VSp5mwt8cI*&K_hKT%*=;wcUfvgNtD4Y)a41y-O=j zytkB1XFir8`3TxmSdFR{LoP{?JD-W^K1x1DoqG<<>n^@-(c0r9%x)5 z;b-pafk8{8fc=~QF-;j=0?q_|3vU%u#y;&g&@^9+o}8@?)3x`Bly z_-7qGl6uGo-HuNCtEj1>Ad_3;2=3?nf~Jvz3%6sp!aI)RBFK+*xQ3<7p3v zX)&-gl-?WHi{F>N*Q<*%CCW0H_S37RF(92OrkrM3(F4Q7*hBPxnp7j?Su?#l2*h;y z?3Nyfg#6QAjn-Rmb{X?H<3DQLr_T*J%9R&t&1}mDla=khuT$AZU)^Jw&c&cjn9l+^ z7|)Pa!$IRXO*9W%`1!c`_p-)+(OY;K)k#OKLXuAK^nbU;-`7bv%9~{G7@Osr+xlwZ zmyYbsZ7t-|fxe4_79j6sm9RbtF0H}%QH_Ucf)vGXE!#He*u&WAS76ssPHCa*bZ_N@o{7oagth}Osqfzbo$=5|WNG|0O^2fjcNyPH*~0Io>~^g4 zl_5)|jt*BrTdRw&n(`AVo5&$~g7_@j=QO-wO0N-A9GNWg>8bOPud>#H_AXxIfmc~M zie|4ZGOt{b*SBm;Mo*aR)UL{Hp@CX~s&puF>P1~EO%)DB2)iHB#U}kx10;UrVa6A0 zyo^rFQKs@72}OAzSG=y%tb<(906L?78vjho6%>`c#!i<00-u8s+gg9MXGdmwnFNe0(z$- z6q24t+P#P*yoaSj_Dn3g(Yz5K-_7B*jsHxka8}3#I#HjqJCzpanKWAF*2ukZqTz_0 zb5KX@kQM{(Ntm9u>Fvs8B$pVAf{?p>(;mcuyD6DRm6r55W16r@V?Zv&M42il%1lg@ zDH~~?-Qb(k2EL*#{w=hPoZd$6f4qAzH0;Bt>mRiQMe&pdWn4vEtg%^ZjsFfbsHNqERqc*-xZ!O|A_Fpw-LYDg_~S1 zl!v=WLxn|6b3XJfen7qD38^Om!PAgBT9ZxNUFws|SoQZqcJTCNPIQ5x%(%Xa69o9r z;?r~l14&Lee!nDRc$L++OM&Uwfeu6vi=aA!b2t&&gJ3Cww{bpHuCHQjHH_bx$GALa zo>%woufRg8RpW!fgq0 zd#n?ua9^`!=uB#0yl%x)>cchuw{C5Y!V~Rs;{1{OcfEU@?w!v1Ka1wJiwTaJ*ITaf zA5|?0AwKmQ6RA^olA!J?q$fEk9l!68;Pz8-TqAH_Ca({&O&lbO(gTa^357k0VlZr; zR!6p=DNL;y39dZ*$XcQdbB`D61E*IX#glH})kjd#x7T<}J-2a`drv~#R_jEF>NcDHtUQumfd;Ic#!qTi za}>SNwI%jP$CdL2mama4r?twu)ZbaHRbs>m=D!Q(e|gNv`~>$pDu-()_7Hh^IN&da84KwnU4i{K6f7SJ53(v#bm zE3=tqPlZXhF${ZcufGbnG2GPIa2plPEoCbR3Al~P(DT1`8}rxflHA7p?JVjxrW#Hq zFI*B_`n$Z4!ILiqooDTa{GCpB8&gix6b=b{w_HH5#@OC|PIbDcY}^^2|Aq0f8o$q` zIwM8J9?IxtcZgqt_;nJ$$7rF-B4R_%2wBQ@--mJ;rJaO@Gs`g;9_-2IeUNW>684J` znB94+C)UD&^lTkAS9~aQkT>uftm*ye-mm*N#Chvk$%cyNerfH<1)$-^^89Nh(#| zQbfE>?}MCWJ2bh9VVH%|FpFww6t$=`u_@7ZYx)V+t^H2hLmZc=X4+!t6W_5kTsJGH ztaarfQIBw|iyzeWHv6k}RUxY#rmGpS!eLd>KB-;HrwWawbx-zZde;f&fK>ygV@0}P zJ}(e;9j@b6ogZK6_BNYPY<~Nt+37kSKgvp2bpz4P2LxCHKk8|)TJ2(zdW{%%_#QyKOnjHZjft&AT>rVtB+zmZH%T%>!F$`wH7yB^~bpB zUeWl=wN%r|sIEHd5hQsI4}9LQal1}JQKW;RR`rNERrIyg{iM~<)6p#6LKiyhJHb!-}QUF!dwuv$le6ycuZ&H;U)PU!Y6?QO0ODkD5Bg z4Q+oUEbcy^R!Yyz7<0otGv_l=p1$2wokxT-FIMBqltbfP!xb-NR5KkFgCt*GW4xxu ztLY>Z<#F1buDlA?DQ(5}%awPFHSJF9W&Y@@5>$fVd@Y6X9U4Ea=N69o7fVs{)Eiie zo*Q-3OVRH1B1_TiX2mZ>V;WFvs$~e19!o@9coFd@(Do&(sT{*qFd3Z{vxX}#O!I2h zlR>;{)|2s1o-E2Mj`|n8>i*6R@Tx`PP4jBSq$0c;(e&ncWutA#^d`mes)FWKW|tsd zm31(l*rh11IO<>UD(dYU;8mHCH_fXpX+?O|p~=nh>b%%b`3Bxqlvg5~K~E@Fd=B%k z3Imu$PilOUHvgh1ny6g)kydXqtVyDu;7P3xt{2pOLQQH6{0nv-oO}c9TruLN*|{LK z2s2z;pt2k;VK`YYgqSN}lVgUF>FLt~rd+}8C;`An_UYtNT z=q{3PHFR5>>b42qdabo>n9E<*-vfv0@4kipB{k1UrvCNDFm1gR)PJv-`Y-27{r7#} zemixsb@_MrJ7LC*L=Zx|gWDR)+4Kw)Skm9pTm)$%K;N`jLIevx#?9($2|*pK8XiSD zkx;aQan!%)VDGzcpo1k2z3C2iaD0&tw$lE;bg+85gLQ=k`0tLO4t9Acb0^zTw1aV! z?qGdytb;X*{@*&-y&0u+usTE0!TR2K2OHg>ln(Y?gJL__NLZM4&m}>pl66YYP?Dr8 zYKiBAjzJPnFZeE;*s-X@!%_dDi`|=k16{1z;G6DZE0cBK9?q*&+^=MIEan!%yRmDj+z^fAjZ<<%z-Ymka#`SNGS9{M0UUiBr zj#rg+ziQVZh*uqJGJaQwqP*g$f5EHYQg47)-wn8FUOoOs5nkoradW(ycUti3_B)E> zRTXR6V%+_y)jo((c=eU*26*M|f785b_j(at{c!uu@#@VS!K(|l zqP!A;?=KFvBAACD1A+G}2gA-XGq<)=OzVd=bIv4Y=5md<(`zP0(NaJPnY`BYSqTc6 z{pi%MXd3@TL(N-6c+DP+UlsT#>bUPqj`DW5I}pL|mt?OiOI63qhyn9Ia+Iu00NDag zwxnpAa4sHsp8swf9SN|dSbkaPW*y$4M4ns(RhJu(Y$OH!MRGHes5}>Xcpt%L5E=Z1 zY~zpvQ~Q#v`o)U;v@IQF8I!sHLCm_v&&t>R|EzNqd1=_%qc1I(4T||1;=S_hU;tGak*# zCxx%Ya8plIm^>*YSU!6ZcxoL>?0X0{<#6x?f>Z=A=Wq@!<5kD0jgIr}`pt0jisnc^W+%SXuPlN3GV;sy8fzRpBEA&5oteE#b$bNIY z!*x0e_M7qaABU*Mg$HFddW)*L8gSKqQ&OALqiVC5MjD9!RI~X0I0{qF z2r6+TRVtp!DkhPQQDn;bt@wTHTjCR?8&p`5y?n9d>uM}t=z1>SLqX*OTyptBeC= znAWz#JkRk2OYHElg+DKKd{;|e)1rl;Jv~{TB#IxBOLgh1)`N~>Js9w&S`QM*B)OQy zphF)VGE4T|v?l12Z-(SYxFZ=Hp!R?e*RR)q z%Jur+`_Gd#{+IqU^44Pd&qv3v(|;bq{h=s!`zu)5p|xVE4JOHX@b}kD;|1DMf}==8 zoZKHmW|;m+npsF!WasWvc)-j8QEEn|197pRzE&78)@KKxbmN(fVW29F-efeNJw?`) zt?`tpD>uYCxh+aDQRfzo-f|c80)sVPQTG;#O35oMuvkVtC_d>ZKVi2SLnAoZJqnX< zGYA%gAl{;8c6OT~KCGze&#^$Mvw;a*xL4skxkIUgsQogEt=Fo+CS`-dr1cuZ#N{a; zK<4}GUPB?5;NAPl_nHeyFcmVyR7hpLMj{EMmZuQ>g)Xxj8MM^}z6=JwH;yxj*7$zS zKp9n4M}31N)8WqWaw~<;)JZ5RC65%*%=5ji4AuD_uQL9(mAN_u7t8aRntlu9yJHIz z7_aegov(~~QAeFcGs)LZAJg~`x|t}-l@~egX))04bO~cvcRtz;c=x0lR5RA#XLR{% zEzLC`xM&R&*{8cxNkDScVlgW0GZqxL@*G8(B*mk5aBfo+CM89J{r${$ zgrvAy34tFiz74^P2-+iPfS?RbAU11JGYb*q!xH#cvKhYrcQMC&t}Yw}%`bmrevc4! zZ%PLcQ5H<;hwo9`-hqb8;{%9tn;0i+`NgW?=2Mh)rI=-1xiLw7#dxpbE^GJA=_Z;& z{988#`O}^x$+AD~E>WD-YYLP8ve0~+bjjr6bN&QqlPjw4)fW*fHy|s5sdiRrJ z6R*K9P*?-0)O?P005x1WZHvq07x7z9^;gO0if{pLnDkMYydo^&j&~dSR>9kh-E+6O zZ!s*hFkcb2_?_rE&8X+xd02Fdv)6(J$e{kQxH|U_hjnEVUMlE9vwzRP^{QlE=&+z0 z@2rWc4y6t?P|oorGa{x;g-K1)~o?~HGKZPd8< zj5c;(tF9Cw%ES(X0|nEK^pv0-A!#Re5cyTbMU}D&Ylgfe{5SOvRUMD*to)NT4X%w2 zV&)IDONdV{NVZOtRy3<(RM{tCs`_dK3p>+N%P&wqIpM(DMXaBmwa=~V+&X1886B> z9Lv~0EhN?-Wn|dBfmZ6*ob1wjCr6hN(X^I}<`~^fGzEE(f-S-YUQxfe+IuUJzr@WqzU3q;(S<|^B+D9+WNIn7*+-=m8oque^G8j?IQgz*s? zzo5O;auj((6N1yEpBUa?UD-qo1T<2pb>g>#x^hBQOO<7BXe`uk7$)5@lKhb}1f+k?@*HMOApTJ{MA4i#ME#bGDm}>2AQbMhL zCqrd12H*g|f#5a-`H=AsB3Mm9h`%ZRs`3xdHnCzY$>)FFZB6xwfB9Ybv*nmN;=lJ; zQ}@cht*Kin`X&6?%9^?w|GHO9zxdaE*3>WPleYM?zcsx8i%KtR`tA5v4{O>sT=4$9 zvFcJ^;kI@om@#`bK26`&rl{B-$!UKBNdpsDzW@#BI1Z#Uo)Dm+uU&Ig_WCezw6XqT zFjCIK-qEV@$8<`HirwmVLK`Gxu)RF#{n5zKob}+UYLe5;COtQK#faN&^)|%>6wwHe<--wu zMM}t@1CWzkd|;BRL;F*g~|L8`1fq8@%!{-PEn$oQR|ME zt+3sFkal2jk5U-mRpw6^#;5Hn{W;8$SsR(|Pa5B&=SW1c;C{-Q{#6L{UtQ=SLM6P1 z)8yEby?=|oJ$6(Z8t-<)^t1$hdX(KfJrT^)(=%5B)06nFvo1y(6fYJJ&bHFHO&3o_ z-KL}RAxC|WE1;no|5eLT6eVWz!f?#wzu#$S+1@x%+H? zuL$U6VBhg;modji0jz*vJ?7XsbfcxO`eY_1*D(lsAh;L75~y0FXR!VVI%2LIHHsWA zywiYtbVs~Z;cB3IGy~b|=|tWCFcOR%^|1J)Zv$CVdU)j4i=515lp-NUR0jh?0+`rg!t_gl=_W|7b!eOD(m|&l`%n72qr4G5S6FRR9;{z9gI{` zeq$=JK~xAPDzqs0tC^|vx2C-g)0q571Er_Y#ZE?=DG^MR$O6@$ebGcI(VD)`!mHmf zF4;mOy=^&6@7*AJ1QR`Se&ZiwruQ0CdD%$i54?f>WDpgCiAois5*u8qwD(~oTh~Zw z_}xtDmLN(56Qv47>Es0yrBT+@rn%e`Msvxw-(jHlEuL@t_6{>Wf{9)wqW7+u-dHi; z(8GUM1?=m8l}47YFi#G!Ti`m^caDS22<9P(Mok0oCWIp!Tw!A|B zy=RL0SMs*EZ^3=#38Y&{Ilana^b>T1W-K=xf);y=dE4!3-fRt>ML4{Te5LU^T4#Z% zOt`Of<%NzLLi3;ekQIGP;WcNJ!la@PaFzblr9I^ah@hCVxRu)xyn^CL*+^BPsg@Oe zg6!?OOyi+yX!Q_hS6<`KYwd)L%CYe*mBi1I+78>)ECoQ_!d$~uvREfYFx@5&w~zD> zg*(+Jfp<(cSzV`ThV#}F>s{T}8xn~JX*L57R^xK>2%DJ)fUCR^$vk*5@+Nt3n@!cV z4;}?t)R(gh)%e3&-6Eq-)>Bb7BngL-@&}C<=vRL@iX0(s5BUGh5px24K-Zur?%+?i z>wB+MLuk{KTT?`|>1$0(hQKyJ=Q9wi{NrCR{)EO8^eT@ib+sGUyg^nPKJ@i1tAbrA zKl(`Azonjm`yC-?UaV{8KHw^U+|JxTar;eje^y;pWcjM{?T|`RRd(`KWeLBc;9la> zTLv=rjKbREQ^2am>i%uOM=X`B=vX$CZI$?a;tss3EP`cN_1}RIc=9$?=rFvW)EGCA ze$cpIKVKxHR_Lf~cn!PlJH}^ee7;UXQ5o&+kG5%$I4+~C-51^_pf%w38E~7SeGcPd zXt&$U?E|<-u#y*U$CqpTQ=J4+ zrS#5& zjM}cFzCe;T8H|6e@pPR8QKi(rm#;>}K<%w*H7Kb!kbq(y%^+)!HuvK@en2$!bQtIP zu+HJ^c;OoU;iz1oH8{Z-pM(g6RjBdtwi zYuewpa0ZiWs{$X!)xJp|Gd^15-|MS=h$?}3zRU!Z5rTXIUu@*k==5G6vTTYAuq~0Q zUAeZQ+Og30=GHP-8}R>HZ9(|sTB=&~UaH7&KYZDxYkXaKRb3f1R7ZV`B#+~kdv}c| z>m(FaypI$vDSV{d`qT~iNO9f=j|LH1#~leBw?{fQNH#Ko3NrZ~sA*Q$R3-Zzs-C#c zjDM!_EUoH6R0(aWI(xWp!tp|C+z3MIu`{wH^4r1|J7T}?#9h4h@X*kgtS%CJiyUKQ zj)_iDiW(nsDe5V#B}zbWaZ|-~ZcAs;sbY)xEfa+H)=*ZM34|OkqOK22}0ES7%xKe)s|%A^wv6M=lDFCg+Q}a}t*%Flc;Pt%Br*`>GpO%wN#) z@2qZKF#%VpQIl89nl*27#oSR%b*}vu?pz-xads;-PAQNjq6|~Ul%4r3U#07hQ$ZvL zb`7seJaH%pFswYXc%(@|m~0~XRzb34ZiH_uJ3eu04^Q$j5O?bJC+xS~+SIBof(CTs zEj#D3wDE68dZ1PK(*l*d#s3{NKOexQ$yed3Qj1ZkpK&JkfyO6m&QMf_linzBY8yv& z-2j)O_l~KB`PcC5fPX8z8OL`i>dm;jvKzm%CAh#U&KTGWf+myGFF=Zn*VB^-u)+ zuW>S|hqCzF!{=H4ZxjbRcklH>*(b|bcjtE#Tm4*SHe82gPiey83iQdDdf9}DmZ_1Hr6SC`RY zm-AgCo4<;2h$A&eiL|b@1bOS-BDV7JtuKy>6W@O)zfX*!?Hx|6KUY||+}?F%ySm5_ z8f~Y=?N1=<;O{?86T5Tha+zSBXY>!)T5h+#Ul$@Zw3B!}=}DCTNf)l@;qAMuQ|{ z#hy7qCQ_)tq2Ub_wv=dgAm^iI`-r_Le@Fr&Rbm@ zMCt@@y#!I3y8YwwN4_Z%H;{QI4i*GgW0tO}u&yA>uzQPQu(ZnYRWdL*9p+^}RWdV} zVKMbY85#Vg_>t}7JoWKifdNMERWvkD+4)TO)r#ikVK~q{gJu7(XlR~zjM-Kd&CSDbNzD^h z(a=1VvGiW5U~V3UMf037HqX<4$mTJ;@F`n~Wnps+XJ~GWlBC}Wt~zXl)rAOzdny9E7Ozl8XEsmw>d>g zDz5yDP~5hdYOppg*7#2tw_5;rF~h@JMazDTdJ_mpeNz?6in~gJ8|Tb zsxbMUJ;9QT#@zTld+}Q;e(#DtR*0^41i|+RK1R?OK^Sy+ciy6y)(NVH(HA)5N*ZsX zRSh!gTzM5$0ZE4AsQrM(PwBlkMd`jHc4hgz+c7ji{#}6vu%`Zs-Z@!Q+K5x@^eDzh zYy5M4YE4mMPr(E|HP?JoTLe|sioofq@;wLT1~B;GKn_|BqCm)ZMoB*4(jKqKQ;1#F z8oBXaqwlEfmfKrQtTmr}pHj}xJ?;ro&%B6Xoi zzrCE|YZ;8F&A2yMUgLl05hbH?%BraK7EaPBj`6)3pQDo?O5KO57j)IwuxShrlr+M( zoCR9t$BFJ`#qA!~(L{&t*_hMw#ZW_aPe;q@X3R2;P&E_foOSDKBljVwiQqEEN13vQ zLAe)$@~<-HLAkfoLFw;~GxAn&CG%Ao#h|rNJG6O~iGHB*kF=qRjGCaMl8_{B2jc@Y z-diW3sK9X8`4ta`T^zLf;VT{$V>u}II)e|s@fC){d^sGJ$?m;M4vPa8ypT7R#>5dh zHj?F-@X0VkjsSi@fxiWZ8Vg zJXGWJ^g<+~PKKzcG$fgVv%w!U-d`u7D7|J_ETNX9N5q$(hZuU-@_RY;J0a%YMR4%K zsd|_A{Dlx+Z_}{ecBjOgOahPSvh2k;eG_M7O*Fnjk5h_LWy~S}M{e~z3vY=raFdM# zSE+2mWipK1D;F_xlZ_+y(Et@SY%|QmRxboE(WEM`U%T*@$>1vSPv1kWL8gTRUn{W)ytcOh7cU<5YNUFiX|!(R%qFT(Hu znkdGng|$(PdqmMf{$$Lnu(~K3U{?OtP0oMTI%SIIzcOOfar;o8b1(+N=1(gSIapl=kv^?K*EU`Sd-9UMET{D#D z5S}7kea&1Rz{Qnk)lbIqgi(1KmRz2<=9gTa7ev18RK8D&vi#bb%hFt7aVQI5F+Dpy z9ndf6ukeI8-^lPzFyl_nkE31^xxx4Pe(Y{?s0<5z6-E9z8HWD1=O0O&?vq717+b5b zNMs0@)Z?DntW2kwXu9l#e4nh?{zvtB?H@yZZil^OpMT8t0eqeMbf64HeHQF9)#v_s z#`*;9pWReN*Xc;oj<=R>C;06>+o60}1d{Xb<|_oYY=ucVpJ1n_d_vroku5v%WBsBS zFDKSlizcs^;l8lKLT>B`+1QaA`0i`YC11hMvZyTQ`=)#$n*Q0s67?@=|9k_#?wg4A z&o}c6@OAhVW1Wij|JmIBUzEr%&VT(?L;kNo4YlN|Ie);{?SJob{&_!{@_*~|((`X; z%>P9@>K~Lp;Oo|Z8tQM(zv6ZBU!P~lf8cJ^KhK;$;Oo{O<1cTox&Cv5#@~~QI2nUR zK!SWwVbU0sV7cpx)000NgIdi06KO+K+LnS|IUK*9$(2|=&;!inu4@|0N5pT7fnHJm ze3onAPZ~5&lXK1d0epkw`QVQx{tTXTQ{%Z(u3~a|W1jy$E4@EoxNOM3K70}UcG;Xi;Oq8hjOS=` z{;NMNJ^$B?`F{?R);>Y`1HNwkF`gIfHrM|;`Cs_kkpDG2HT&D&=KKL)xBeK<(dPVD ze-bpFQxtKM=f>mY;uVESc@D6W=UP$A-iSOmK=l1^>G;G}N73vo^7*YD=TlB$t&k7k z_oL*JJ*qap<@mJh;9(hjs=YCM1D`46ToSowQ}6bj_*hiRh59VNWSCDb;fVt+T=!#V2nH5d?t?f)}jeWyG&ar88Dbe{1tC)CrmL zKJojW(pEE;ZxF5`UAt&5A7EX+Q`Xrfmv7xg13fqHwk{5$2UydqR$6^WsI(6Xde25O z)>~l>WqpAQf)_=7#ji?wj@4qU?tbz6FQ=_GDPcMT#zO zG{7?yRTU;LZvdv^x{~bSA)~E)y;zL2p0wsfZ1BCjLylowNV_~sboc2+^P~4_`BXAe z9zEOUo|ifG6}hj*PT_5ZIgmTU?!69IUdZU?D(A6+m1>#sHIf4`JcITVX6oUWj=R?XNH?FA#jA^1_~T26~O2K>MFF(<4~Yd*gca zQjGLGa{ddVN3f*#?DgoysXkJM~`BdcOROq}xX1MdscDo2@WA z@&Zg%k^5uS2S1Y4Iv{>opw~~N6_oA^NHSmSWz#PGx8ifMIBF|Okw zq=%is6KTC{wg{=ofjcDUYd2p^%SrKl_O9q=oeP6bOsW2-4gBl`9ct&(W_|*`F@9D% z&HVfo&I!w$R{R7|5{*E4_T(7Kvjaw+Yje!y0eoZSNl|I(M6&i=^nZoP6G^~WPlMZf zmLw@pB+22hhZV54#)`^Qf^wTwrhKcy9s*^+kB2#~9K;$FKQhv>H%CGAcV)-kk6Xc){Hi+;z^ry;Z@N{abVhG-cx|T(Yl)1n)fidR z;jNcrTs?R~^0nE>{rl(XVp5of@_*`=WhHs;9=y-wRair02AC&uv8y24Nk#T!+C#XF z^4ybt13!9nWb8q|nIC`^e`l1+-w>5{IQ8dT#?JU8)>HOphH1*68Q@_|A@t6$*h<%N zc%no}N8Rr5JR^GDKq~gAYSxv{gj-h*43BRuXCtxrL|Afi-IkmkV%)D4MVTvpnU*5u z8R0XO=TqE?>K#-b!2ci0W9~15)U>(tq%2Q2QO0&S-v3Tv51@>IpA-_zHo6$)sUX&M zk#>k!zSfTn7u~0t+@@k#30*Ij6>_1nz&CBG=s_vm|4$nF&o;aX-ua}t{{YtgCpyO{ z)EN7Zxjy}=|0_~G1o^gL_t`&HmLLxp-HGNnPbFO!a)eaby0T87B5~_vMQD!uulUXL zZGJ~oCRMiYJBm21_fsMm8>cY2-UH@WN{8C1HEB$@E?$0UYovE=IAhI%=m9p$53@^> zN6^5hPe=k}N?Z$GM-C`Vni2!XX4$iVrei1H!VugabckFBC3vDRS>r|fA!lBaIdh9B zQ{t2phVn=K&RM;3!d!m9#_~@uQJ#u5(tG4R#%w|K2xfVjY-%gWF%e!oy`z7qY72T} zaelQ^VRwPv*gtjo>Xsyq2*N*7wJpZ~1<5Du%82(+w!tckB$4f7cmen+g}sDq2~JM3 zM_Lk}pxV^Wz*V6JVw)7=J6|BR7D5beV@Yg8<%?2>G3@R%%x5!ftXiv$RclMmrP!>T z?V_;niC?nsmMKCs>B^#sD8!!QvJkYt*uIppwF;B_3xbh1ZRaG5rxtVmLG6Fsz~3G3 zp#6`V`3ty2{?58l{!R?=x8iYL_wL0t{C|$smg^n?%+pcD@bsFAr=yDHX>_qX75ffH zb`~AI=4|$@^a_UdBZgA_kIA}{Kg$0!K>Zaa{ZSIEG*HY#_D2c+wLNC&?+@Und9!2Y z{tlQOUIfXHUq7rcxxNC%glH#PrL3=?9%V)!f$7tbNm80q7* zYD=YGZcN`ACUvue(i4pI{fnd@VNAb3%0EHr2}b%yi=>bJog4E6_BVI_t{U@%RqIe1 z=&ok&51pt#SXV+{?Ej7FbcLgtL%%6H1SID*POOzt+3w3MRy9nTsUO{W2uHb!)6URB`$tbA4aM*^sT^up~#T zeOFwnIHfST+5_fGQ&r(-{Bighr+i~*Uh+NhgFFZdC|+9gd5~MK_P(_lV&WTX*3YFJ zW>q~Lm6|;sCp2u$V79jp$(%{ z8%9Ai-lyn!k5E%-Aam zlk+!VUjK%K@kP2BCCV$YzZ&MtXJHLx`_(*O0+#dTcs+!Q&X*$X(L>xm^YGW+L#llM z$oZR%uRkhw{{Hlkp?-NT^#4QV`T>@-_+`3T#n-RMe#F*Jk?JYP_ixDLn=33Hps)aqUm}w=?EnM%F(lf564^KahWvX8jm*{$VBNKY;3gK;}hC zrq2eU{tA;yCcs7bUq|zwviH1V3ADhauVfKe$>d9O$@9e^d6u8+5_7n9rLASn+bm?{ zA0hr7#s3Z+RgPz0-$`!H&E>)c9OCo;lvn8M?kZ#PJ$(DMLWkGpt5wyauZC9_6n#(a z{HGAxX}9ec>Ps|nCO^2V#%*Hed`W;i3G~_~FRdI%S(Q@OGo)M=NI9KT-YUR30^D3~ zlK4B63+M1Qdz-%FdyFJL-{0-;!kohb9%O>=BskNTG*K)dR|<-M&&E3G3-BXCPwoy^ z8@t7t%5pzsbt3lX=u3rC4Q%`_v4_J|7S@_k@EfqUgb(ke448LgIQ1xNs*BBe@8M@YJnVf|8{&Fy zWwk`yI%^s`hJkf*OFJIOfWZdaFn32K+2LP=FXOX3oR{zw1*^2Xm)Yep=eh|7JQ88Z z?-0Wy1^ifqBW{Z|jV}ZSETkoIgN3v%M1-%lDMOcR8>XC?C@6|yIx_125%(qVQ5DJm zlap{xkSidgL8Bxb3Z97=3=nhz0|Z40h-_5EAfOychzbfMAsHuw?20Z5B3>&BDk>u0 z2?4_4fgB5p3W~@Z!X;-oO#WT$|U42zoS8E#ROh0W1 z-4QP`%IRa;2_m0;Y-=l0O_UcWWz(5}Y>~;)Cy(n)vYW1jO*eU4&nlM>HhvK8>m~75 z902+*!4{BB1c6b~5I2_&I#oU?s`1w9+Ww`ee@MmrO05xDbUM;AmWq6n-8EvGW1QG< z-0yZl&Y7gtY%+>P7D~|^*#Ff||29+l`BUSf#JbX-&%sB*6mm0?(}>sl%3vok#FFhs z^<$Y4^<-WBUwz8gTzqA;I$!w~Kk>gPALrBbKPg}Q6Lpm@H%R`&0?HRf`Ch*s{X|T_ z%iK@!+3arUC&o=O^%GV`=ze0M@!T{aR1>Lh2(G_y`aRrheQ!1uH`B&m7M-4nqH{q=u7Ng zsttUhmQ6CIjo>p5PWKu*&sbI(=KS=_`=9=F?BUyOPW!t%*ii!apFDPtJ;+-D#7%WP zBFcE|Puyh`4a@tQQkC}9*HAENJzQp_6P0&cdsrOSrF(^ly0uJO(vfL*xZE4)%HQna zPF7TkeD~8m==n9a>^>UuIX&&1o&?gTixLhO>5O6J`o;DY!^N_33@O)hn(;BsBU9fd z1$zk8?B(tTl^^$Vhg7~?4}J~(-}0;9x%%=e_VEkyYv}(mzY2r!tBsjo!z8~}U6@~q zV)nHqfLRA0IbH{|-moxhwQ=lG!K{&i!?%qO=kq2cQMZa|OWHK83v=cMkz)lJXgTw% zX&b@Yeyww{`LQRjKKy7b z`O%sAalOc~=$PWi<>G0Ucxr5A$F=}=d@tDHUl7)#Jtf=zr|s#7)Aemno2JxmPXYAq z1-%&{HC~Y#Pd90Kc{0oWvWKQl?5qE6euED~>PE&BGB3ZpM$^2*zY#b#*l=(c4F^s& z9Hi^vAW;toDHskOnr9jgV&P2$g=Q*C$eveJ&IB4HGN_s+*!Y*2AdRCbR0#VNG0JlV zGpcJH2)B;6Nn-6XI11~Smg0BcD6C^b%8knxV-3?iiq|s0!GuFKK=#2|!teLW*vd}#yoB;fc@+7#&G!f4S=>_+gXlF&Q7%sd=kW$er zo_~YVhir*j6;o1 zU>a5VxsaRtF#~rZplubGw^yu-r~czaON{OdPImL1t7bv_2=j7zFV+<_J$GdbvD^1& zUF*dmkPj!k0xjaws2ivk;Hap_v3s3j;U$okOFA>YPUAJ2wH)Q;Q<|c#FR??d>)ugT zN!IbVxy#EcXeXHddah3GgfA%R~*G0pEAB z|A$F}?@!nE|3F`fKFCp0AvGl9{i2$uush9ST4l@b<%ze5XjV7@_!;GicV{&b&k)fp zA)+Z#M6-m5rm%>T_VrWIC%+;7o(`bL5u&oC{kKEy7(2LDVsihDVQTQtA*l#C;dDO~lU7kmomg5z6))P!@xONl zP7E7sR61iI_iw{`c$3Ea>0XkeT%O*sE>AzopqoqH{OwZLeY=;lNQ-$RAGUUetkM^B zCmbc$eNWsYx`Oc$=wLI921)cXnI3M2fX|-S@E1!bIh>kW=jM z?Gj~`Y{Rn%4&0a$-Tszxdh#0ZOzFQ3ZKaRs())8iJYjnBXCb855-niM|3_MY+gI%6cqD^?n z#iWPWR7dlK`buzM4y49KH>p2Ot=v64-sSGi;*v2v*;~_=hV7d<=Aqa$_tCWcRbjZd zKQ@X4xF0h}w4`onNoVZ&;R5UrOR2IwF=_5&Y5C=$F3;`qt$yOIv-bS$4d|^d?d&VY z+sgJvH>{)=$x0&Ny~URIq8e5@JrC*poJrO8{3mI{+dJ-h8@M4fT|=S9U)3&9DQbZG*R=fo(XOO_+n;vAaAdfCbs~~ThUrmnjo+@5;3)SA zp7@aC`R)|MGa#_)NLqerXd2ydLj!t0w$|3{Ig(aW%5ew7%yGn$q_y_^O|&iT?b5v- zEyPU1Kf>xFVPaU_Bn%8nLieB~1QmEQ3CBX~B4KlA-6Xsl8jJ+KBCQq)LFLy>!jL*i zxb{3GLhqv$@XFgMSiJsL^6y0D@$|J)X z%C?AH{y7s)q$M0lbFWXM>1p@?Z4~GJ}pLY7lIqaXY;~PmHQ@<^(Enm4UfU(Q8}V_~$sQsX%~MT+WP>hjzhKft{wE&qV%igw$dK7~=SNPm!w zghs%9$s-!SL?=X1z1*9j1_*=p<}~*%6Gej?EQaY`Vwm1;&;Na=J-?{mP z_(nr!;RImXD-!a;AJoGlFpgx3=G^04-TH0T=T1M`R_k-K z`8Vrx@AwB5Vr@jGfI^Hr-zR;pucl^g#2^8LmK)Dx2Gi&MK~>525W`}fg*&sGI=xfH z@RigfC(P--9AnKKIo8aR;UcbnG0Ks0vNETy7)?hnHQB9@HdkQ34mNuwiUj!ijR0d= zJuf;Gn{nn}#|7c=RZrU%_c-1Aj25#`*I*F{6|mopSc-XN=`^NRYWHw1+Pvj4f39UN zpk3{=wLxU%OGeS(1f!3#GR?~0$?~Kd??yNhm&=+YOSI>^aP7t^Oj@EbELufw!f5-7 zc24&;K6TwnM2@Bg>=bR>*|3s*3zi#?%w~DZnvKyyTB4mEDX7Vo+ZtASCJA!%+r~H|W=c(6`rUWA?s+_6BOXV~4^&@48zzFHx8QU2-20NE98knCo$VQE zU(uGY)UFE2rArC@9U+6ExmT0M)zpm=8kTzzO?iRFG^_+WV^M;(2rfdt_#Lr`>Z8g9#!YO0VVps_f?q+QKlW`T&8$crtv5f!&LWo6^E+x_Nju)?ls^s zu+ZEDr&vf57_Gsu+@=ByBQS<*V@L^8KLEk42yQ8nWqDeZg(SrIdW0xTqG<~(pge4* zWUim=_f%OrVr&@yBbQ}_#-sG?oTKQzidhG_+^U}Jv*;#1Syxh`Wo_AK@u75CVfue7o+3C$@AHoaEZriJR#F z9hiO(-)QRCr}48k#dMCMVRhDSfoVaq&)UGRl+!ZFB2M;MZ!%lULlI>XD*LP=M1>(L zMn{F`j^UjThGR7xA(~)*c?95i4M*m76>ucrZW?ZoYZq_>z=gobQkgY)G)#4SD4RY$niM7d`C7kIuW%CH~B45SSn#P>zViXe(RYD4keDQz*m9L2rp%WA8@7`8Yk#Z?Z%Q$$A{aE82E>+Tk zs0DG|I0-n|Oyu8WhIz{jicQ6Kv%GpHqBSQrPA7J-6=(7$JRuFy_&2RoCLHB;{Jj@+ z!$w{#b`hPBba|%_$}%q$WmzP{#i87XMA>Iw(TX!Twv=~sjK=)5S3DsT2E2~14ybi_ zs@g$l`^_mH(qpJi#p2QtQU6O7p=(-l0lMwu6ra)fzgnsSAZkHew24bGic3U4sOEk7 z5=lC*`wKunum3my>s*cbu8+BK>1+d95a;Ag&MLZ8*W+j*^UuCX(9{|2yk?2SE(1Lb ziw{xpb5Zd#R+F@lbp0UyXdSd}i7Lw07F@(NojAE=8vn3`Dx!>fR!2P}KY^>#X&TS= zf5K5EkR7p#h1`_H6?3uZX0L*{IUy*1l+owRaj^l9tUp( zbCC+|6Nr#RFnQM#S0&nu?r&tXCExPlm{@yJ-w5%uD*Nh7>_z_&FC}jox7KDa{GNI& zZ`a>82sudFZ!a7b0;)<0uPCRzKDKJ*-FA=TwYOBkp0{y4<7}~+_%1sKBE*J<7(tiEb$SxQ}m-aZ;8?=eb z#m!kL$~Ow-%i-M_-r~UF#hXP*oWSGesN5>FD zwOeT~98K6{+OtRD2MZYl;}ZN8=b~DRqu=m-DtQr3s0bT|(KOP&(yVL{6Hh z8E_Ah@KajC4z03mOMA2HLZPpWqP@CJ%#LwXQ3Y{3Lb0}JUT!_8xoQSI^NN#RH7P>V6FX}#=p|l$Wf@q2|=ncjH~gv|8Lc3ZimxlJx-wfi)B61 zAt5nM<%*mmE0T=jjlt8oBHx-WE3zwUuo;3fR3y!klG`*`d8NH*xk!+k?7rE1M7>6a zswNvN>oZ=4-B7Q+ehXHwvASNrJM>@m_@<`)IGT3VYpQnchfJ)T#Q1KFr)rr%6ljJ_ zD8qp{N+yP!flQ#yJ6_PKoPtceg$c(@jqlJh!BLQj4Ci-yT<&cH-0NIPTkJ(_|HlF_ z!2SJSmjU#>DK%T_%{aPiAXcjVW2Jm#kbK0O7!D$5T&8`RD+_ z2u1KAf2q-ESIN-Exk zv~0&g@*x_ZqooB=C9*!{1kr=JEje3TXZNls_sIN- zE@qgVW(P2k;!8O!kc~>rhbT-cn-)e!#B?<$<77!YH*OjK9-t#$sHWj6VA9Jol< z7Ws6%V+R-fCWT3#js&~h<=jWKqK;{|NI(c$Ut4N%nD3(#H8s85w#wh#(x)THD17Mz zH^RM7q7mk5TS0##oO*&QV8cr?zkz~=jc+pzD-?DEXdw84vsy}Cu;mKgFRENC{@$S` zxX9lG-F>^4iaB4kn)9{pG+?rM&KD)?DO!dxXpFnR4klMox-rf%F4P$1oNw2{fH`02 zX2vTP)}Her3bfQQS?F=xGFh0hFksGisgLn73v18$I0^$p-v8~KFG`LDd6a#0XstP) znkw*|@5($L3ZBfn;GB=!MPb`xs>?Vcn`o5`ZK&GUHwLTPBf87@@ON{UvEe97Y|M*_ zq4FxOFK|DvP2>KnxDbVW>zKM{AGJ)~KUttsIfQC#{S@P`X#87UjU0t)%&Jw5-|gXA zeBu9FEsEjaGORP(L{(-H2~^;~VO`DN$@`5lJeTY8gIrmca@VRc0@GDo$&0W2{snu{ zuuwVedv11avAuA!ZncTBwWi3>iK=~SL$In%)UEc1-!9Z@A3>{4m>)33-wI!?&F9yi z;v)*Q)G?haJYt#7ZG0hMivJOAzyIKc+EaXvLUm{UA5ZZUWwXts{8K_}Pw}VAy5=eV z!`WQd71{9?!8^V&6A^Md+rG2cA9_ae1PUZDkE~2 za0T4)*UXccbeBMI@L?;k=}-ouk@&I>F=gy7A^ED~|2SkXyz>zA;_j8;#Z;%dd&)nO zUUP`~F@2tiq<#mPq;UZx5nMl#mPwMf9rTl=Zri4RVm!^K=XvURr@BV3@Bjy+5u_rx z0>K@X99+lSmyU1#DXF7<@mryp{X}7MU!39ms;DV#`C@jv(_JQtPMfX1pZ1HyLMsm% z4^NV_N8T3~>381G*)-V?`{#eEwzMva+t~F^&T5dx-;7diOh#R&ql)l}+y`y1@htrb zqUusk-?JC4Ha1;8V*Pm0_?r*^4 z{8+=dSK}KSC~`PTe7X{!KBQlH8K34|&iL&bpQ%6PDED{H{9i70=AUkDFZ@1|-@Q`5 zTNcS_6k`?9OyjRasx&x?L`vVBZd~mNw*_jp1%W6#o$@b{<>p?g0EOmh?-i`>fVo}H`kKSLEY6eSYz%H%l~YlSfO!y`IkzNJtUJwxXgC1)zp zsK!@yy8jI2{Bn9T?$LOj&X1z_1eLw;MST6hT=-6dbJn4ARq+YvzMhvK1v1AH~{P zOA-?!iJ2h7Sk0g+Ss{Gunb$FVK|^kRMp-1bZ6HcqTTA&fr#mZ(ep8aulhZblp<$NO z9q)fHVvPWC_AHj>1TZ&L8yF=P&9}(1<73ED{A?fF(5B9zO&5va9NOru@;HCxdroa< z_i{6$4_S&X)ZP{L5gAs=&_)&RmG6-lu^`0LPfU=6M7bwKJKgC*pq;V2 zU^9&Zrp>nk+>h$bh$d5`Xmb7PwzKmU_aGsa{Y4ssqK!K}ftznBQto+0<(&-xCz}Go#{r!M|vE zxR1A{ zg17BQ;=tz3I)hu=VYUQ~RGh{;wo@5%l-CjRb*=tp;5+&xx6BiVxn;&U&#m@J9P3I{ z+N;}gp2z;p_%e;Z-d5#_s1k5g3?hr<$dqXso3rGw8fE0}q^*s)adY_X&*F+XoQt*bu&B#A4l zHNf@Cg&#~Jo5yUsI~Fq?{~QIapa894#_9>Oi&9o=BDfd^WGRGupXrXtrXiJT`hp5jl z3ny(#ThgXXzhA0RtoLz$jMX>U?R7sXR^!Y5ls`t%BrG+~B{#x1`e)D~V5?2CHwx9f zsUlc4SLrc&(RcOgRa|~i$UvvCtH@mCg7=@|2AK+tchI7MsJX~iBx;kQpmg-hv?we# zi^8HnQTX93L;-p@Eek`6SQeaaLy+-v6qAusq{b}(!783~Y*VKEmle-z9)DY`%}Yft zYCei;p46kptb1k6@2J*QF1NuC>RPqvLEX}-!t1zcO|V)`(T#V*w|})(A49D+oTX~- zKGfI$C)@g;R zS}kq-sSZrh-wJEDaYWUwYSy0r*EK!bRMWA+YkHZfrbDTwTT@Lh_*>96z5@0BPycTB znJQKf{y0jGC*)l?KwY}MiaX+a3ru55dLeUUK!J5k0bI{9B|dOWdAQ0yrm$XhI`2f< zi)Mwg?%pN0zpv7=YT0RXOUnSS+=!{@_yrH#<*p=>)yNZ z{EW-a5(P<|DGMUXyQJ`DE?k_#Zb9Jy`{|el3X_`? zfI%`j)#;g1+}W1^nt5|VZl=%1oN->JY~zEtA(-ckkBHP~sMJT2nj{nQudrLCiX_uk z-}W6i)%MLf&V;QHe+%W-`LyF|#<)(_^ClVYfIPnbPB3{~r{(d^_2wDlRmZuuS3Vgq zV=RI$Xwj3kXN-uNizG>77lHyR6OpP=HK0JXBL@`ddrSk$2gfj=EVj%TuX-}rjPb6Q znVjZN)*ej|^?x{HTpV=9IB;0KW{mHP86$SWie8Qsi$30IEqWnbcHY=i|3P=&7V{go z-2e4D1}_a(=eu>C-&=8^&U*^SIF?Ndkb^>8k~nW#Z8<>HTxpV10-8Mjeg70au}Cye zEV>0wESCHMIanDmv52EQ-9C#PEWokRhSO@x0ipusp!|O}t8mpR2eFWYm4UMgmV;Y| zUPum-ukv=EWiQ-JpI4;DrQ5jcaZHN~)<34BLg%cxP=)4WG~V^N?2RS~?sZ(u*hYm7 z2j>9StA~>Q0Y=ox3!0PsfW6*V#NSiWbfDs}wgi^aQ7pqbkl;aY1+@g$68zF?bFY<$ z-RRKA1E#?dm=^4RtoAe*QFD=`M;=A+$o#1{)xB1!xz}15*lYcH2+}&wy11G0m~|Fh z4tY&|g9#d@33^S-E294YE_mv$Bvxpd1U5=fgP$ED1@=xz>J7D~!Q3;|%)jM1d*L@y zXfveHuDdvx&}N_xcdq)2gZgB_x=S9F!g`-zr>~UR*+^miz)HaN7GNgFJc&-ge*634 z?*%r8$Qdoh{;AK)v7cQ8TE_m{1QCUKrU}vvSh7ycvrdoz>j_dMO^`l2;GZB#8;Ca# z@QiHZP?;gShPBShW*uOOk5(DnD>B{o3uk(6ip0{8Dd75X!~RkHXw#fS^klyFppR}h zolg@u-_#m8R*^keabhp2 z>xxt5qRSNfrZX0;FnO6G;Chu+RQ&lmE}Cw2U`q*HrkLEZH1aEZA??J78S5=ntg%6h zbqk7B{pAIw`7}cvoNJn)y5M>uIoCQv1?-=p-a<3fqWz{BDpx^awtxiBQzg&8aRehS zRgV8(ntRWiV4|@)$Hd=;NleVL94mhT*O$Mk7vOK1&(B|$o^PgaJ76#TT9jb4C`t+! zq_B0cf~24z^S=0tT}ZYl)Xr>KsQX1h-@+}d6$^SpV`Zo4;l9{0J$hI=0iPtjya;bcK|kEKlYWQE-gssY!RYLVaQ^T-dC zW5zx%$IIf+%{|ge3`#?O=iqt-oA+|?!Cofx=Sga^BM80yb0&0y!qoj(1e3i}XSR3h zz}6N-S_OvXDDIEvazT7wQ1YRbJB@Jzr1IbsOm=*`f8&hHe&dWEn54%1m9U-p@N3R| zfX1KKwlgy78XYwSpR9)kR6C7l=ug&53#j1xe3>oC0*X$ZdiX{(cAPy|9>0S5&m1|; ziK5cZ;|JPDyP-M03@{vm5edG84T<~`R#f!m0dg|OhC^%x^aj_PW8_3d`_o}uri3dQ zzg6S3hl4U9N|j03;iz&gU@MZK?o>}tP>ESBgMQI?Fv}oLo@04y!*3bHdv2m^eoLey zGQTS1=ho?3ErTX%JWuCW+cK#C1hZvOGJV5uS}cQ<1rSVbq_vD2MkExneqZiBrgOUI zvkY4HvDq@{VwuJSS&=c?yoe@^M)|)3ErVbYQ3AUkw>*~YhWV0Qm`Vm2$S);NS_ZxG z>v6wj5E~QV7PEWpiso63J??o(GYOxF|mYl#AV2Nc5P-NNkE^QeUdM-+q zmi)yiiyGImAeKQz`;XTsJ88BIdgozPg;vX;=QLi+GU#y`Wws1@P+?_gGAs)@DS{TJ{qrzcPIo~hEVyvr15VrXh!>qvXM*1r97vuho}heSDLqfeJ%h72=hm_?!2|K4=wtl!w5 z#|?L9HU#INW21C5Q|FVtdItA>ckluIO#a=U8w8Gi(e*`smq2;aQxN)Fbc%9dTO=QN zU|TF7VvN=aAS=T>2xgiGL4CxGGctAO<~?v}z7WeTo&5s(4JR3NOA8T?#N7)5_Q=(d zjj?Ptaj|}BJ$hSdi5sTzxAe!b#HBkIJdQmNsrY<+ zC(Up-YJ8Ob4raI;o%wq%6;W;Mg|pFDzog&Ig^+JP!FZ9zhiW0`C_YQ3W>H4oNixIr z55eTwg8Lr2ZNf7w-O^pV$r(R)>H5YBY{g1@op>5pr_!Rhq0F5Z#no^kaAJ(ai<;oqeYhQAK@%#Dr_LKl<-&u zUn^b>#guEP!Y;EZ*(BXmWaP+1kE{UZ&L5~ zEc)PF1cMNCLlBN&FL`FWtA%K2FQ2pA&*UwLn^2?d$C7E9HRFJ^QLcHA=MpCy@Y5d; zs<{LJ)i{6#iQ6Xwd^L>m0^Ae~>;24Vm)l5muQN%^wM&DinL5|hdohJ}bx&Mad7+*$des!E-7sEV`~v|>@Lin15bp(x*j zcx-4dAaf$-P60V{^9@8qvniL0{~Oy2enNCpd%+g`Y9=}>dhrUp7|j{j?FGvb9WDAS zijG8db9>>{sL!iMD@ksH{$?spKDE(!m6mXhVrB<+B+45driY98H_7aq>`Rbek;jFo zM zX|PGKuNkbSl)+{Qn$xe~V_SP+Is7A@9Hki43Z4CQ998&P<0o}T%~4_^oM*FXab4#Z z*E-IA-iaFWj^Y+Kyb(V=IZCxS2HeUwuw+DSR^6Q;a`95P;Z;|7{A~0{ChtwsbeGJO z>5k_9+!aL`$Iq%t6O}cMRF92DnWTSWCKGb-i+pOoLPShE$q=>w3pB^v)w z%bJXuqoba|CpFcK=c(Ku$LoM;%n2!%^Co?+)Xdb9CFs}_)%T4>0+Yi6hlc?EUh}?X`G26Pi$1dvAGZ0S9D4#9v9a} zyb$B^q{KS&{|uQVhVie{YSy_t&S+Ntho#k&iA7V4%bgNCJ-K=zEtoEHxt-CZn`u)# zg0HXYR_^kqN0aJ@w+D>HKOL{B{MjhGnGXXF=fG`Ki-kc5x{=!d=O%(Fr>jj&3E&6D zf&+3<=y4R@tIAy}`GGa?c#Xg8=SOeFk6A(Z5exrVk{>bTw{cutVoGr*3qN|Dmmh~- zBz`m`e()_`RyMr+qhP~6E z>EHq;!+ej*IGTRo78Fql!&1=cX5ttj>Cdh*F)eh`AYzv@|6piZz7dK&q%_){)O=g9 zfcVyu`9^76MQLR5Enrp_j@&6&_@go9CT8J;o8%@@d+?5r7te1bc(=AX=zXg8Sr>tS z>C$_uqwn7opZ);-|Cdtblu|_&^nzDiOe_hXY49 zeMBivExQ1x>Xsi-p3I=a6JJ|+!nN?!$*H90&nG+wwzKd=+{mn{zM=M^eIucP;MdmR z{JJ=xzuI=U;>#KEYcKli&o#bN^9xbTuPFP>&;0y~`Y$CbUG-NuoIz_&KgXgb4U`;< z5*&-t9E3w-4O1+!V-a&B)bY0uGqVt^ zLKLQ0*9;3j#cDU~|6+1SeP4Eq@)r z&v+_-hAMvq_&ISC6}f3B<76K2yW-26h!RsY`wAB`^{1ig<40@OUznk}=ALhcRliAyxT>~1=H4lIC#ZM)e3x8Bq==$-#5!|>!s1bEz@&ktEsJn6fTf8- z6ebG!tJ(kmR`K_l@lnX>n#yNu*H>;Yncu^A@$#@G6f&82$&p$DG7tZBEy~z-lC@va z<;LBV_M5h#@{oJGOuw0;Jz3;3t{3NW=1z%SfxG~#^1ODcriPZa=E7_je_tB=Z6d>Y z=g)89ou>Q>FhzSRAV0t|KRIcLGH$Mt1=IOGcAor($o#HSY16^b#tyW9g~@}VfOUPb zXE|0gnM%k9LyaiP@wxNm_r(xXes{wk*IPrZ`2kjSr-rU5W5a2G36bBtnyMiAc?;rb zjRF1LNjj!G;{cTRpJA`jvm9G&p1Igs^OW%3qafwdA*z*r6wR%-bS>izG(Im{wO)>L ze}>}??&Z=T(edLQ>ebQFX7%}Mjo+q|P>w80@#)L@6-TsLgYMRNwcTdXpl@>K@4ggj z#J5OM$!f&PQ2rHWFMI=~O4HvzjSj6b4pev7_yn!2kx{KF%DoP;{Vl`F+1u4uUG!Hn zYPXJR6k;Ax)@htv0GUS=>P=~{l?QB3n(X|rXGsQjtbXHh1>2$aS=4>@vag7z@#Pjv zhdAxL9b%8CsYC3l#+O^HN1dJaFLq)FDf^>vQgx8P1az7k_)JD{8LC`jZ0y3F=_n3F zznOr3Q@Q{;42{Uw2;M>9M(_}{YvDOh2wp81EL#KJ_u3h-v~-z&rJCUM4;Gph5H zK5ej<4hw_YQ$C22ez^lBeQHIx&DWgC!+ozLJ~??JzZjLD7|54AzlUiESJ)uX zz%bEJE@)7i$a-Xdzs$V}<^Bw`jc<#;XGI>1(p66&@}2uE=UbvMsih>?cehDP$qMA6 ztvr5LMdsWmzR5`EQQ@|5PN84A8Wk8Inh&3;sd4@VqRGV582+K4_?JJW%DRv)>lUdW z7^GyoA7s89o@2IZyt8g5GV0?&rp6U%X(WXs%2UfXbHb!<@tyE^9Fu_KHuA*`veiSAt{q;iX6I&8Zmc-WA0dbjDu{ zx8+P3Zw#@utjIalrH6JD%C?;GE*hVw3&l}Xs5VFRWJhgLIL`L>mu!?sXCylUas1X_ zmdu4T81~|;qxCMFEZE_9M8R_5J7bynnm@ieliDTWvo)4 zgVbAyzY$2iUh+ADSxh&Kw|z^ncoU91!pbpg>7(B_amn&bSxO# zcp8)XlEy!y|mnQRJG8f<#!ic!c?xpOfk#`My<2dC|ozDAU_7Yr{a*M{F(ac6v zeF{%~XC6Axg?GZ?Tdetpe}DDRq#jPj*u+6O`Ep?^7~7PT%x%ZedFRo25P9@NZm8Xc zpb8xP9vo~VJvMqAIk)iuH5Bga9=uHrPz+ePbZvg_#yujhP7q~wSMQDQqz-(pcneaw)VnzQL;g|suFyTZR#-C z$K0s#h1w>GqpX~Z->f<3za1}@jlXR5WrJ~lp^5z&v=KhRCX<@LKH|x#sn^Yt;8@sK z5mt?cG45R^c$UU@>4t%*`p_T^lV}EVB88~Qrg|7c^}v=k%cVi-a_P-#uJnvISKGlJ zK@U@ts>m1&@+z?lw@>5OX!1D9y-{1y&e+2ooN<=w&OW#FW}B!c$wrQmMZhjS6~Qa1 zjy48eM(;^7J(4^R$f7xF%=ELi9CBJZQWC<))*rxW%6j?;Z)f@GSrrzK~yS7FjL2XNh)3=s3j%IDqEG)Ks81seKd1nm$= zuU~f~xEaA&KJe%J5yATiosMcBVb+T*)%fE&3Ft)% zl+?NPD}!5@^&%5BevSSVdXX}}Uc^V5K-P;Sg!8X3dr?FD3bhx0&PJS$jyk2+VKDg` z{Fd7_J}XS+z)@E7HQP5<^EK&`kWCMzk44Y(B;&M;5Xj^b$z&LWh2yjr^fzHQgorv02lt4gf5dzC+Kj)KI(0y*ohVoqFDN>#%9GZf(LU?-{E} zq5~8-4L>_xQ~8^5*~PpB{j{CbdXLB8aXW%*YwaC~U=e~DN>MYK%72S&@pp={?}x$8 zE`=qd+zeZ}|Jx941FCANecWia7i;UQso^n<)VHLR5h;3Ailh?xJ6yOusxYY%Ay^Wu zRU#2N57PLj-n>hE{SEBrdnl|YzGm1;V@fa@-R0CN8>vL(0(6L9h`)c4*2P{p7}}7Z zdzzSXHE!_Q(9_BkhOHTXdqnE%y&wq-*UX+KW}St0 z+11m^EP|yQMa`^md%-Cz$|LLr2gR?-_r>o9cClt)xs9|JY)5>9oOvS6s$?bN_oBOq zhEu=Y8t<*U3y!ju_Ph1}v+kmyz32?L8rDdmyBMyixDIVPp_uXB8gHe$3q<+5iDeTe z_ad~gl9h~4)A$VC!Z^xG(>tl*w6;&BwfgWS(#K+{y!5vLDMA|Kib{Ms)Z-eIGPY8oIeBB{3{Z;l342|sw$SN3RMTe<+kgiV{aHUq&dH4QEiG4EU%O#7zdm@wnqF7K ziWjN-KCiYkEUP-}5JuN;tGSsiyN)I8fhL^YE7vJWBfyt~S8ZrgznqiYFIY=`xc#Kk zC}N+<@xXP86;h*k&y$P~(70ct$WhkHXg1uWq)CU4ES+^^??EvWaa}+aY`m1yKX`5J zDnQf%>82Q34IKWJikUq55DkAetl4t)3aTLUGgx^_mkKf{ccg-hk0f(4t&TvWIHCR; z#n#~9<=1j$Y{xn2R@bV^V8F_)-5F+;7Pytc+{(uVQroWy;Fb%QwS0L^ZEhi|zTC<} zF)vB^pKxp6A#f`zIJcavOMDd)5TGUk4aHbm79bcvaPy2Q6tf}~4) z4%+GG6()6wfa}hr!-4-;mso*Iixwkz0>R%9bVbli1jbcARMq%CuB`jK3g5<=e;}5| zzpGRQEuMP)mV;tRm?oBl{l>~A;b5|Wj4gM1$3&A!FWn0jW&HUjF9};W zlvcM=2}CCijb7i2!qN_w&Gavzy#Ea0@{-Bt{;sNAk3*3EffJIOH9kTMGNP#M%JQb` z@@AmCEmu)_v*S`+bWGpnxixk`(kgoqo#$|Q21a);b-A}Yld7gopz&YlZ~&aHd7X34 z(D>Jy(;SswExTl=XQXJ!cZqr9!?DuXc?3=d#XFNW+4GC&9dG-vwP7|oLzYxEb&g2a z)|H2dBn%NpyQm?8070psc3>=B!JD*dO78&)n+7C&=knYYtt+RK%Prn<4-}R2_83_? zcTwdeipqJ|R5_W8xpE$D!0YvkIB-X*0jvvxrc_mTHIVi9B82=25g0SJi~6Gz_rdGW zn;JJA%I|%2H`0s))G^_<6l{AacOcTJ#yd5xo3XIEiu%;*&Wf|IHDr!=fHR)oHD1_I zaU4;y$D+F*!PSxawt@%3^lb&-gvi?pa_)C}yB78* zcSk;Z;WA3y>N9PyB#I9%j=PNsO;(sZxX5rt0r!G@JY&XcVuwDsh>Pwir^i)Jx75yQ zUnf&e!(l?WrIR%$hGkAs!E%C+e!9&OE-85Zrgpd0Ub@%u!5HP$!limawbyy%%=;zi31 zOnj#VD=z@coXJ089lVf!+2>1=(ma#M5(Rv4Xs`lipn$_C)>%NZius_UEDRmOE$_eud`V&Q5H4WOuvY2d zoeplZU(;fSdz!oeAfyj0PP|m2m^~ILEHERt8{y&Os{!KCxGv z88i|(BwaNrKyqK(w8%wd8M_HF)SNdNU%m$TKP76!p^x!WY+#$bYFAJ zX@0kW9Z%=Piipc2Wxw_@rQyHmrSOw8H8s)=bi_I3P<4|m-3}S<27eb03C7<|n!f`d zF?)4e!Dq}J?_FVPjQKEkeenuwV+1VoJ5R?Xx)K^5rE}x%q1w6ecqPejZahy*athWE zZkmI59ns8O=Jftht9*yN>ZiR%?J>?>T{|Z3uoh^{|;fb+sR~H@c;1Trgn1Ka3*~C z<<@q>uxuxxb+nW2J1b|hr^_jSV<)3bzi+jL{B&6~iF&oUrb@F$Lz!>+nm=vBmp(llw`QRMP2ahs$4oI_ui!M`hx-B-I>pfA* z_?Zq0UrsMFj}f&%&h zT#HQS*GXUNb=>?0yp=_h7J%m&hVNh%M4QZ@^N)lS%Q@$a)l{PLwRjAvJS2G17nA5K zX%ap7E5Vur=bJAF<J}h2w(}ZFyoGBYwZZze95(cnNA0ojW0xD{CX37I28+ZhyMQ7;@FQ8sqSW zP@C~W*9hvsw%D41C4%m#1fu(omUL$#E5ICu#9YznC) z^#OX153tfso_#(a(9PN)3epD)+W`8{f_^$R9P2FHncb9@J&Dew9yy|;yPQ|%`I}>tBuiBu3JgUPnolncqzSzWWNmSOVkeP2;y{(f>Af=8M#A*;8piNuia!6N_Pw zW5Fe|_Znf>cM=yXEEUqkaDJ67x9e#8indPo*CY$MZAGMb9xr<5y;07Fm7{sOMn_1E zZ>xy!#ySq5B&l5F4!?pbk~gr70qX^8jOseihgSU+{y1N+&7X0ng7D|TZD#&7B>t?n zoA~o6jk+nsBquQ`-D&@b4j5q?EY{w+am8ZVutod~$-Rj6 zP-{k)9gIpT?hNLpMtju*kyBv7p|=Jzhf*Xi_{tn&nB?d_lNizYCXyl{L=7te zhUQ-D%wH10&?Zh>Lw@c68e{cIM{LOkfNdI>%2!FqPv3CF0*v#MCLxRcgytazBbaqVe zcKnab+vyr_Lf#YpS@wuhn(ec=*+_{NanU+1%s%T`#D&SY z7#$a$n=9~eiN|U@B6q03BP1TL@yOgnfk#Tbo5mZ6o;rU`1BoXxuA9yk$GAc-LC^+4 zG=hc*LJ^!j%E9rYsCwT)XaM=_n5=zrXJ||=7q#E4`U3u^zWz(~|5A|p|078KzwvFY z_VrssbN%-Vsnx!up9#k^ZB%7n0wK6(H4DMx8n3Y_A>b&ov6}Upz;r{i&*B>+xXX81 znwx#r+g#1%p@=dyI{PdSqQVdrqocxe#|tOXkAGMO5Bprj_1@*?O3X{j+85Zl= z^&-KFQcfPLcIqgIXKr~6UY5G@b)&dc6uCvv`Q2YE@2my2%lp=$VC7wFE-&eIjnLZV zt!QZ~@0H`YydSi*mX~3#V^qtgRNfZ#Det^5>nyJ{QXbe+H5O8Qh|G_{PvH$J^J&PO z;O?cObLus1gotj_k~ca!aqDz6q?h?M2`m#$(B+AEkAkGq$=6_~q#Mo45Hm%_G)GJ< z?V*UYr@mHhq#k1NO+F;WcPbVdbh^)2Cl<(TfDGdQ-a-=DPtdX&#}%h3>>5x6n6{7z zZ0q!n&2(1uWr<(gH%k096n~9)vA;+BZ4iI&2Wtn{Q4*qM$TOG-=K}jw8(#M?Qe{)|x6V)DDf$)po!XWnb~oeSF8(A0bXp?{prvy-BbH zdrg1S0cowxWV}Sb~B2YKMp)r{j0REFl7`@F5!iOq(Sjigx=F3^ssZ3TERH zV#j6rix{NT04X)n_-Q@sps4AmZN;v*HueJEEOfVwGvcR(+Q<=38?JF$YDdvR_#u(V znrK@hewpPSM?d-7Nu;OyYlv37LJmF^f3J$y?v7UE z_QAM$DYl>cXgp3ALq^5xs8D?JJ?>|T*7zPR@f0OW&V@Q+Hx=r(HvG+xc59&|d`}C1 zp@y~a7wXOy^(xdXb54z*fOnbJ|N6aN0uy(k9sVEq|tMH6K7Kw~`y^K_82bVgK3S{?@&zaXX;@ zV(0iX4)6|#wupD^Z>ppu0WG)VD8@Hyype9X97Pkg*~8H2-qtVuj7E3h9OKVw{7c<@ zIZ9pKNB$#D_p;B;Rpz-cH9geCf?FI5X>o=nC<%?SxZ=rFYZZC+E zyGowPEVL=)VV0*CNrt^>MF{R!E4ATfw9GVjDRs;f(0`_5s_$`p*hHm14NY$N5YF{Q zjgQp1auj=MWBY}kJP0>)dTxz!ddO@*UMB7ShVNG4pG)Q5R)tav5-nM-kWz|bEu!cF zMd$a#onp!{V};r>$R=GP8`n%FZQD39w4%f0HCLUgaj~74=QDYxJDV(0b-Yz{^1*a^g*!^6z(R-g+nW@f*)0y0mN@vo>DZ|-|1$PO31SS2WDKc+*@}o`~ zQM>Rh3v`for(XugiCReTv0y#@2DQ!^t4T=9o!T_BX^|KfD~v0D=V?cz?^878`3R=c zgt^i0a!L{n@DH@MbqL_h+VN*2Q)?T!kL%3W$lBTn_Pz3_rM2CJR4ztv7;SG8wY@DL zincfVT;1z4zy5hM9d1_o=Mr^2%tMWo$SjFuQEE4X@!K_C5~)OqqU@y+)&?$zlc zO6>*ocltS_yc~Qc_Yf3gu#1h}C5!$e!>FM;>CU0%-sKjJH_=(5cX5fXi4Q3q;MBXj zJiP?>)1rxswD(Fbc6M`NOW4}Nl|a<4L5 z_5^IbhYn_8C+c8i7D4+M&Pnw#*jPq-{k&Zw(ak7RnGv!oj2*wCr{UKNWX`4DS7QpJ55Z_|i$^CD%36DRT--;eVerLZQ*kzigQ z91(vz{2gKV%;Q*N8SQ@I{w~DV6#d;n^iAI&7>8g0f=C4WFy*Ldwg3Ya zkK+!VWS(V&?V<5uA%Shci8hdgHsJI;YH0%`=qy6A4LIFZ1d(J?TcAk+kFd4dz@_g7 zX#=vm&~4y_j%WkRWE+6A)~gNphgy^W0F1U{nA=Lq{xWb` z38I#%WlyqG()B+}fhvVSnNAIhpd*4P1mkhr&p^8E=eu{r2-xKGdG=oyVf=dq;~$Dp zqE6O76s9Wlag2XH=s0fI_y|4zQIsD4?pEVp^n_5Ipnv?kS&n}?nK+Dp`xi5QEL7nU zdi;}7J3_e^_!O5mYzS4o003pvX4>_o>N58C!SKc%fuUaE;cd_nJ-qq*Mjqi7@q--U zFfk7@!ga<7m!e5-fe|kC2gc(yeq0X=hzcMiaD>~AqX9;U`u=SUH>qf9n>0S#pY9M- zx^jd&B6+~m%PLz?14xf!rcNyhxnvlqe~q`(xp0(!P&-q5P*bfI&8S2Uay+PEeKA$^ z?HJKY=~=es4AGhgFY&i#ZbrdIw688lYeu`H#4Jr2^H$lEIRlxPe>jsPj2z3F{D^kU z?|NkO7ZcwJY9M2e73F>8vj6#L5NDTG>8n6Ak`quwxu3NwoYP9h`BY4 z(0IR)z}6s#w@$T(H#Ltlw+1=9t+dINtQ^|{TSK44L0UuL*!D#%7Lb|L!Xdi#Y7OQ! zWQJ)}tKJd3HDt;mtxvEa4K3lCo7mB|Yz3J-p0V`#1!#Ak7|(t&PH&ge^DV}#cM;4% zaI0lldlBQ=6EvQMEEeP0&2^4vtZ!w@Io7xG(GJJ!=Txdpdg=$O;_DV;Q!|pS!DL+1J=W%QnPsoJ<|MdOiGm4M{ZJEHcP{Y2g z@vqw|0%g=J9km3XJadfkhc#ZJKcOi53OP5fSR?+or6g9`3p42rb2&~w7*LMl5pg#P z!Maf-cQ%I8Z>H1V6T|sFJ)7~9rxm_BM&*krnf@srTx{UPI{o(3NF^Sl$uf;k(5Y|~ z>$&bEtODw*UN)P)z>j~Ef=N^yPviz#1I^vMdw4^%1q2JM7NMtxVs;;;nM!15|34h$$Iw3I%3K{PISSfJCZispP8y~KEd z#=nnN`5@}y4C=MgyB|y`emINdU%$B+DLfDRsNNcP>l6^>Uw39wr;1vWi!AmoJh2)7 z3bhxu!r7;jr&L;hHsL&);pElN8vnV8%7dfwPlrw-->#qQ7gpfIL>v}-UE}}MA12Df zVwujGjgmM%*Dbnvm-K<>N?K#jA4y+$+jnO3ioGGu{58DY{v9ax z36HKpyh9@x1bi!qgIKx-5VmNt1;jc7O8B&yx=20xocR=XB(eL%Z_oLf0zCz>e_4kM} ziCy9TD1O9-9`Jaw!;u2Ndo08F@z8&S) zcw_xNqApA!tCE?*&h>eHfqtFt=BzrVGMJ>Ld$uZ?kET})xZ~Yw$ z>R&LXyrS_*dO?k-3)7bruITG3Qp(UNwL=c=pr}vL_*t!grYOzuQi5qHs2&w$C@6TD zqRk^{#|MJF_E_L+=|Nw+Bk;9HgTB@UYxjbqigtOY@x2v{kJGsSPGdwNW%o`>`r*#d zEksFklG0GV8j*V(xrN2Nly{Rm6Uyl%J$nRpdC0;%;it5O9k}CXfVW9o{xr?KUw`Oc zrM`8!*YUR*b$+Yew5)Zx=UV+FiV*9K61ju6fi|qnYju~rVw65z#^EM zj_*kEyssR{QraE7Iz;ni4V~OpJPC1W4Fp;8FO^IgN6Vc8sc)BxAz7z1hfeB3m8#~w zoF}QL;gruoj3_z!=s~Gh$3e&;&sQf{_S@%8$%<8dLi}%oDGH&A3$k z#1qOxfbSd@Y}Ht(?-GHrY`sjT2w)ag@68V@HWg!u{Y4%pc>0jS$LJ+CMTu_Yer4~m zO}@hh3tQv)yE27Ig9X4B>f9zbk^QvqGNLtH(yC1(#%gM|qB6%~|N0J%`|nkyC_&`| zips0aRF)m$?=B9Y5^#N~jP*@DBd8p?E`Z842W6_HPnm;T&EHd))Ta>aOFm=Kr&#Y* zl}qo5a`P5z?y0oqK3Ks5@q2}=$wTa<%l9q(ZQo|jeRC=2er-VR1p6*MZOJ_gsicX( z@TjE!IK|**-g0ytIABWp8#s>Malo21!MRsMtBrE|iTQFPHb%~0ljqDocrVSJFPxgJ?{2<} z1?k4aYnlBIBFJ1TOE&`5mW;_{S*3|pM|*O4-mbK=ieTTmla^ZeiTzQrTPpFzBYsp-3fB1jd(ZB!S-@XYhRy7;iCXysF|39^<%gL}1KT;C%r5Ah;O8 zxuZ4mQj{{(-uC^fmfl3|Rb(*!rN*DqwZ~EUr=#pM?|?S_1^E)+8__?9Kb)m7d2a;Z z3szE$e_7N(EsM&0VUbVIyU4O0d_l=Z2;> zDDTCRcEY7R&^X?CS}Fy-T8k}W#j?|8GhXR@yoT_YT6a$`{y`G8Q2fnu@`WS@I9lja zoZAGBy3y3eYy3UUQI5(#-N-&O1n!ue`lUjAY=?W}ZW7NPj}HNxxSICy*I(hE)4eY3 z)Gto=HfPzvFmlC{U*3(T8exW}|K?2Z``y|J66`y0(BBDC{i}Dbqv=c*f7eN2?d4P^3o?-| zWg^}81`^pV{?@rI4rs*Zm3vL3Bx5PJeXo@if_?WMwDiYm7{ogvD2KD9*A8%+|JqWfI)kUM z%4#)&@kou2)hkDiqLmbKbo~08dM5?nCeGw<1>pbFv8@0>t$D_P9nMri!s zy17vlmiC3SRCBrhj=ES}c%ORb-n!p`ZKLC#dsJ>$f{LBlsDF(&&{W8%Q95cbnqq?) zjJq_xRyReC%CGA61YJ1Sd5;~&OKrnb6L)nc-5_$kvGOnRov zqhGOR%gA`O)$04r$E^St&WZWYucp@X!G6yD`CqNAhhX1QpQZIkH|;GE97QAAf{|mG z`o5D$a}9JweHC^Q(qy=%l&_`{N$wYan?(wjBcX5v-(ywv2}~bD&7=<4#mOG}#Y!r{ zz7MUYkNuEJXQcAkFT6Ip1iGMi=zIQ>0N>+ybq7p`K1MJb!6R7PP5s40g|D1b$qJx? zVBbU5joELpv|C0&r0=zT{NzUP5Q6IwwBE-VwJ>M&L=0zCv)h^x!M=<4`7>IZDw>0D z`jND81FCOx@w)edIg&$Lk%|DRB=j5;(oQYYN$1!HN67dqW z_ib>ZJ6Pl6b$h2M`-)-Ma=3(Gnt^$hBR1oKJ3_fRM)M1QqB%zCg!ZC2_Wp$NBfE6l z(#;W3d_H7s2JZ3o$kbWC%)7XW-C0SZHh|lkUEguD`r>wKR_t0)9n&a4TVhX(j$EB{ zUr;m*7aWb;W$rjY5l7LEQsDwl!I7k2DnM5;VKn0%B%VDE9|C6Ap8KZ^CJj=CcI(|SWb-Q2uaAnX!@c`i6;Lw z&=b2ACMW+Ao}}Pw#H(wu|1wfx?eHqY?qhN!kM+$$bN|(iqflz{zXk1mIf82uv_x;x z_-9i)SdOd9PW@zU2L$_eS6dof3EJ{_5g3Pyg@kwdGx+%emTz7U;r{6tRN{13ng{hd zOJVY^G{EQcoA?=b7uq$ne%DR+R6{Y9iqmz`#+>hY$2*>?<|Xl0Wb`D0ht<^W@3C70 zrk9Lu_y4HGsU_6&Z(q?PHXKoY%NVxyVErV$SU5M5znu3Y_mShVLGjd&s*eQV zHw+bDJI3i;(xHn_ljol_-d*ROCcTibax@=T_cpT6YDh2Smp8JnxY(Ird9V1HS3DxF zZ}-g*dH2656ur%M3bXvjXIQ|s*VSH_LH)Q><+~(;>Dh{f+G>rLL@0U?MX6B4>>d$# z%wui%*g-T)m`ZIfo4Pqcf`7Ue&96Eh(TP@Jp7_XQ#)oSBdp%F&DEDbPh3no#XM&TC z*^3@x6TlzPOug+xNWtrI#OTlaAlX5fe%dr1r;|n0INFWA2U}m8!c4_5b*(oAFA#d# z`QYBdA5;$cm_u%a4f-sNkJ58Uj?x99qs&wyJ|!ng#D(cb$Bb*%h=&CGig9s$S+(Ox z(uv85rVYpIJ80ZL(L|J4M&)U_r5+ZG5^s?EJo*Uq|tXxXE4q;X{e;%gt$l@$GjjPe zqB~)4tNotA?>VgR-Acwx8O&*J23yGZAj`~izS7<#Ma1jd_{6uF`?pHPTDtUwn{I7D zC0}BKGk=Hd>c}JRoIT9cB85qhxPX<23G$+(JKXHJ7-QAf+?!3H-i$rsI=x+c#?Z{Q zOPucclocnL;B`26vc~L3I-7dPRnGiXp|ZqW+;8dI4E76aJo!Ga?DO8222v9+VhpBZ zH21$RRb|%Ga;vw?BHS*D)eko7%M^AKiUnBNB1$>I&d!?2cE61Hw$q?;<~=!lt`dK5 z1xz%(UHi8=Pm!-WTX&Ja^?ivM=d%cMQ7>WJP2*rFHs22a+d2*s?0dmF@!W=qC;Pnf zcKxvRd8nFqCMZ=ktAfIYT9&L8LUYF*B6Mbgi1 zQ+>dl=mWa0;Vh?V{07~_M;)(7*WcZiv4lCU)~QK7?Uh$C-bUko zJuRY!Wyl#}<&?3MI?V`uTY0$d3e%XKTh(yQ04q3a`#HuG9`#QD#X}3HX34BGO*D#l zTR_Yijq&fwTCwVBAKq%Jm2Ph`0mHXiYlUEW$≈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

$E(liw%9Q0BG=YW$2rY&p5A5z$IFuf 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 z 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

8RTR?bJMC3 zikVY_p50z2ElXne-}@witoRidq?#BLwt;scAfDoDJrn)5U#mJgC6H#&Hp7! zi{Taz{ptW5w~F(1Vb#I~T;8DR7>!?@%wK!$H=7-&HI*d&+^e$kCnlTXD`iF26ri1& z0+g3l=0j2!)m3@Xr;WoWm-o(%-Kt2bh!)Bp7fV%Bs%J+!d+^pSQ;7`imHY*F8Rn7%e zrJI}eAQo^0zN&XH$hDuFEojpbqz1pTivh?II#lbWZQPZ+MNMw4+3+l@7YledH)sNS zYGG?SV`2AUeJANyiL-ZuCY^V|pK;up%DslxP}uEB@lnHfIBNKw=Q5{VWyaHLEHn1v zzr$0zvw)|3F5sy&bEEFW0ygs3!oB9<+ZHDpW%R(sKl%8lpnO8o4ER4YQaNeok=pZt zl3mCX3giH3Cx3uWF?2O)K6SJthR=#jCr5%MebsHTkeswP?e3xJuo!38Pd;NDbv&7l?fmqIz!Cb5&!BswGRUz7UDuait7vkk`ZK!U=U+Rdji>_6q=6!5)4LFj54#{rxhML&&T5D;yJ#NZ-b!gN;h+| za2GzV3%cn0)oPnv+J04y=2}cg!U%w`?461!Ecg=qx&?FGgv^oZsL;9%$shUK9JHu zM~^Z`;JxI%x}aVL$d`p1IR-cK=Q@Z;cfAo4#VRt$pWLpFYt8(($UqbcNEDMgG3#+? zjNQelL;y-awZBvJ&ZQ6P*{Vy)el~eVbo~>SyjE@G;tw8vPKOqwa!L}dZOIC-4)kSW9m4b zvsqQRYM2@9n+^=d8>81T*zQELk7R`aa}iiFgVpvhgFV;*5P3&vMD!{gzKTH?SIaUOlP7wa^OXQEDXvK3W2=^eB0^mzx$e;e~2 z2UEu;K^^1)xfWG;P(ex-@<&yCC$QQ%^G5TZ@nPS zdObY0KCC!9{WldUb74Eh*-|_cC;^^n zlXdtHG2CEZT}<(7K$EOlqVpbaBrRTt!+H0s%uk_GT$&V+a#x)0&D!*=*d`2Mmf#{{ z(2LVZ=4s4$<^qv9^c{MBZ&xc{1L6q%ZT!|C@6XF*wNakJkt6YX0zj2Dl9;wI{nog| zGfeF@+H{64tVt8k$?BUNY2DS`K>W(Ptuk-Bgx`CGo zI(7?!P6IV!CB~K@MS>z8MAG~RP^ox8AyULBR}(qJ)e)?3Sqo~&=F7~S`BCVv`dbTb zG@BZBpR-78I~LqMpSU~b5eI&ScI!~@_>0dW=X$f0l}IY~E%A%s!9oh+o%I%42R$oh z*6A_m>Ef(h8JU6TXQB4lM6QB%T+d|zz`9i;LzC+%!?W7^snPXe?>xX&alCq;#iAeQ zob;Wr2ZX-&or#&>Mpo{Q2p8J}w_qjrHzy42TWLOj@i2^$dbGLpZ~Hv+gy=Kv`SI}B zl+=NvdP=^ZEx0OrTvFn@!|NWEuDDRwy@LA%QFm6be&R`r_QEIC-d6SmRk-{){DBc% zyhPFrCCX}C*7gXY%$%w$7wguNNy>6flHLFrwS{BJ2xYk{(yyQqi620RC#|JFhJO!- zedl6IIk*j&EtzMez%of1(cUf z8<_)$gzriAhlXYDvn`_iWks`r*~;3J7zqPlywF|Kyjf|_kgANgxXAuKH6wAZOT+x* zTGouT^W!aTZ56;7+~xN;Zt*LN-(2yVhrj9DJj$KPp3Lv(PtR5k$+mR| zvy~$vw!%q&b+-QiCi{0{kTl!6Z=ycpw*!hQSN-ggn}x8w#r>dD(B+ZI9%W=&j(@A1 zSykj1RaiNL!hFEQ3|B#2^B!Z<;O}3OMYCyWTjYwDPWRS_P1pO{0nL7gQi5z zN!`qTH5*$q4q4qTV-;>x8#6n5rZrIlYX+-W_CI-%dC6SDP)P(em!ZaAWG?GEQ6;m+ z)?DRHUCgW|89t~!Zuj(RvxVXQli>y(mawNYUxwMUqV8|wEj`b!Cte&;C30D%@Q9y7 z)~&cCyWW(KFc7lBJ2-fzFT7nD-x3c15x5{6;0I)*$&oErw1`TWgx!VI(d zNi6GsZEeQP0EXf-su>KG?J^_AW=HwLH5F|%>kBjg3WwRMzf9aT-2+J^A6kr&a0jPX zD&yN`R?kks84hYzFEZ#VxG|@64DZvs317ktI%mIJx(RVrjUkwn9Kbd%U<=7oJXc(g zSb!uxENO;}*WC0bzm;P%=!C2=YvkgM1-UpkMQt(qFtJ#@rJ?tMy<7@YQJK`T>c<#pLlOWE0EU05RMH#2Stw*N52`PY2i2-q zsD2cwFujtq#iL)0q)f6}s+GH2qQc|1kT3V86gXcm?M{oiw5JWF836kVzzmiaN}-kK zt3u!nNRKWJzy*Q^ZfEcbje~zEz-0}bO&e-zd9bn}P71$v@#_%3F7ca8zk+nMb3u(Tfbjb6tJpd86SufRnrb)(DoB zxFi_)@Q(Dor%(8IqtPPs$gG%fC0&zVwv6mSlUyPUzDBDPfKX|v1%$fO=DQ^(icn=? zbwvH|CA70g$kB>qz8!PA<*Fkt|6czA$dD1P#$b;qjP64vxzb++lOO|EahY3-W)k5P zcY%4j!*1T{*>)V}DZptqE1C`<7=oH$pe6E;A87c-#b9`|7IYZdr-Ev3j}Tq8nr9EL z28{s_0;x%vq1i3)9BQ~K_+2CwCJB5o?V3~yuP>qPK4*ej4;LwM*ib)u}pyW#G zh;8wuxVF=XySQ`o3|RhtBx|ttygqWF1ET)ILrtLm?h)dP)bCPn`Yf#DJBX)MB7_$K zOV-YCBpx)>MUmGD(|sb1o2NI9bjEY<#YlWLH6DEfloRjp@9Rtt=Nx=}?VE~pwD|D_}kM7V6itHb>0Eq_QGhCuM7pr#fCUM;)c$eYJ%yW_F-*M-$ zBSVR#`RF(D@^c``hSWAZUoaJQr6^4>dKb@Dv6>i3c(c2lpODAfDwgB37lc4Npvclk zg_gW~1TV;}(OYe-Yg`I#2$h=ZAByIusQUF9cZwSI%0S15%Gzp`U7Axbf=+LH7D|3u z;(sRj+@HAS(HS1)_N2KUjWYq#z0|OJKKL`ETDKRZa|G|72#goCZc~~CIXopmstXjC( zjlIk&6{?)-WWCsf6qDZhexg~!Jq((XdIi9RzEH{GDP;-uS02ZzH7dF0tL0U>mm$9{1RmS}yo;yKU)*PIsiUw&iX%~5 zhPH(N2^jgNV@moq4SeyN7OZY9{Dnruw+(cL-$@(!Gf-){ML2XdouBuoZ0q$EMd;ch z`?kbzCBFJrHs8%iE`h{;7_Y>)In7<30?Y1n#(#P-l)7E+n z`f^aY^Hw7_ODvy|)Ct;_ND9;)@Fyt+t)cU+^67*4mJ0e_&buwXd~rrr^DkeN{abTR zt5}_7r(9Ln#NdqOt4@QmE+g@we79V6CWc`T$TgdHN;ogKxKI6D{)6n_R~d?h zL_BbfYbOl7X)Li@qb2T#+G7m07anSkS6B2PH^A~?N!`&((vkM42FNuV@$8~pQ$;`i zVZ8amVVil1(q&7agQ}A$4B#d=o?Wj|OSa?e!=XzJ-VGB(AM6bhja$NWrL%;zG0O={ zHcYr#p@H0k&)12MML*(OI=^k7-9-*>!!b`I(D6V?$-5E2E&%3y2XD^i@FobL9e$1B zf)8q=7Xl*O#{-I=f4raTvMt(zGlU!S+5K8$5G?pAe8GxO-yf-%`<9M!tGt#bREMVK ziT5DTvwEafAV$q+xS37NaCaiyMjbAL;qFZ^z>%%;DujDlhkN5G;9)nPzkoe3;x9>S ze9d1{Tu~C3htU?)O_jKPG4ebN@$Hx#-i9>1U>F~}^VQyN^HmafVvC&jc7DqLfM@5N z{+>wbSS%=o&2u0DZ`j%_<`T@Y=0&$-_BrE#K&j*&J3Y{%#2h57EHZL);rlDvOZ)Vl&Ex5iEH(xj?VkSwkxFq#nT_D(?y1%uXuc7(TL*v+2#qv%Xd4a9E+N5t4OB7sI}YJ zeHwi^^?XZ3zAdqHjUS2%IT0gQ7>93jW5Xx?%i$Yw+B|&gx6pu$;-3-p18dkg*)I?f z-WqI;BbUMuo1TD?`{bYGHN{s#ebi1m)Pp<{phGQwqCtEm=*}6&|1!pZxxhbx??F? zb4Su;bMWPI-nyD<6~FezY^92b7G_uLPZA!nrPY2*Xk+ApxnWb-FCdwB3|@e*_v1B6 zJO;x!mQOCXcn1ENiV2Kpa*Qa1mKVO?}Ws8^CYl{Kwo znE%+1%fpTPvr~T_;{Ld>Kgr^VkwY_nfWFH8xHH_zRP%tSew=2FE>AKyuvJt)b~9LZ zgVKIQSN$O;sM)S+HSbYq_6^+Z==qhw=WTJgwDZ|ytHWqr?P%OZw64uHVt-66+(`2` z4$2I@)u8|Pus#{>vYEm0gF4AIKH0)(lWXF;4eTjlWC(Q)nKp2_>0GcR6>WQ+mx$f{ zNe{h@;!DI){;dP-SLM?lG)WJL^LBkD8ph`@?o3Uw zsuk7YFhvwOk78!)2ee!BaCQ4gk%$!a_owT4c)eLgK5E%pv~Y8_ABh)fjijH`sSKCync9)q`q@6 zx|#P_gj}w`o7I&bZcz^}stYU5X^Uu=x;RsJjM9pQHUwyM6ek!YI?#mxcXH@0nWk2+ z7}`LlR@i|A(=uB)YC z5yT+lY?HP?pPg1`n5#7c@RBS|OqhSqvax#0o z60xSVKnQ$^E=!|@V6DBfm#SUPwQF3ljz;s$?Gw|1-spu0v{t-X?XXM?vg_>ciIW|> z!uvZ9z@Vqn{FgsoBvxi;^boqF{SanG4~?-!4^j3`&p@o4JaW)%&y}m9RsGR_b^de0 zQHUDue}w4|uXBYZCQ4Tx;JBdzX7;xesRrJGhFx}tJ?}s~HrZcCO)lwUAD1;ZavWRe z5R#{`PagDbTb?|_?lqx=i{v;(dyNswpJ}s05bB;eh{j@t9jW7B{y$3tl|V0nKtJbx zS7XSaQQ&MYa0L~Jv4DRPw~0HiXt!aiklsj9{ z+KAJxQeW^fiOVV$s{4* zNc-33G|XdnxqTO?%(V=Aj^^M>o>-yveD5y)QldFjr)Vt|b%zq%flg7)txR}2`Z6z(p)x10hD<(dosAa~YAR>2L5H04Y-_TLb{!YNzXs_u;%2(penld4U zLv!zq3GD0Z>mFl~W|slX6lsDgfls@uuE173>m!<1dsfrW*Q-V3?S$@jZm4$(iM%D9 zN=w<$9d)W^6Nq)qB-X{N3e1(i3+d@V*1qO+CmFYWNTK~wSQuB#$WZM?M%@zbbXn+H zR2Z@rG4*+~W?@DDe?no2-&m|Ayg!G+%17p1f~7RSAT_j@DgT4T4EX*IPl|mpYv0gf z_FO+6w{gr($jN~gvy|@Hb}73bz)?o#Twl)^OBU;jj~`=M><(l=zEB3l!chYm14Yb0 zs61uHpXN9xdiu_wF!FYq{y&Ic&2ci7zrHrUKT>q@@AEl4LB67l^K>R+0jW1oKjcO2 z+Hj#hBdISbJXnf8Ahs^Zp%>1u$iZw0_Y^g_zo)XkA^cu&(eE71o{i*NKEg#ccPw`r z53c>1mZK{?V)y!;jyQ^~Kfe`au*fgyr+GR4(1}hc+s&lY0aST0J{7V-zBg;x(?}yD zh{ENm_^vn$f20X_db51=vJ-su+f7)cJc5dpUmH($px4KX>JKN;=6N1!)}P#DC!08s zVFH`=?>-1!SR?WAY=9o~+9d+P-RDf|Hv_?q=yr_rmiJ_0UCqCzpZ+L6?te;#G7u2u%uW5>_ff|+Ja`ICt65C~c^2!8T&6F1U^H0$PBSIcx+18BINk%_1G<=oE zPQdY`^U-EU3ndF3*QervBJ9Clp>D%bJ~5UT3n3Nsf-0YQ-nqhRUy)5{^3RT`T z_#U$4%ERzkRpe0kL8naGR156V2TcX6zgpLTeZ)QE6{mf}v_Z3vW^EMD7I@lR}d!V1ws1^%g8a4o- z+A&nZS*OwW)L|IPz6ZF(c!KTbXnlN0>ld*Zrqfbq>z5q17c%NFfi3qtTVHh8-umL- z2yF6w&elJ0*w*@?4E5LzZ$n>6MZQzElX8}(gyRqr@?7Y!b5+xJ3t zCid-P%zgV)go$Tz zwd}kcEm0}jM5pFqk`df|917+Cc>{`K-Z98p)2s-jy*C)zE^?9&r_|z*%)dpn@7oS_ zylKE=izmzoH{CoEL4FCebXcu z0Izd?Pk2JeS8Hw(gPa2TrWX17s1%s%i{NjjKD80w7gxtmja(Z~H2Ky|M3aD+%*rXz zn*0La4@roIvPKzYEdqkpIMKE^m#iDM;@OMu=S>(P+H;*z#v4~*dm2-FE;rlL*wG$0 z*S{(0fI5cSa5!CjFN-#y^!1i`KHA3FY*QC}n#Vf?;BfqB>04<}MyjFDOak6B5RFWA>rMzCf!v+7b#D13fKD z32x@kw8&f2JB!#Vn9OrH%uK!(9%^z&_#51&%2!ikDrke5KnpuU6Q7#t-1hl;V=&0s z;QHf&1X6+e(g~v4ElMPjuTO4=EjAka1w9kV8u1A0+OD>@^CZy~OqP_R6(oAIx)vZ0 z8Lp@z?(H%PRXc>yc^m9 zWI7G`-;H99LNCx7VXmNyXNO68N->IpaS7;tdJQZXI!b!_d+?@ZF>PGYgYVxXTXAfq z@nG|Nyk5j8!SX<<-Vq!5NH8=$ocIDFuq{@Nqosc_kx%^0x>H^D9`u{AIqVP{m33w^KRb72?~ zJ_OS+WS1=`FJK#$`hNsM6Syr|3D=B(L`Fco{?@lt{+4H)LiT@tv^S%Gg`uLB&Yn&C z(cZI@KM>fh^}zCfwBzYZ1{;3ViGVZ!(`S8auler32=2O1jKTI_ zL0t`}u5PNu>j=7DN7s#sq|o?Kd@jOW>aVrc!c^U<9xb(hzCJDaKd@Zc1Kahwr(mL7 zS$i@6Gxv z@Ta14v_vFDBxdD%qh=Q40tq#nWK?QM?&>S`AlCwg91zPXjE|3>H!n9 za3f(!djr8ScJCvosMEt@&o}1@{v@>g!iC0AzK(@s$S!e4#m*VCE7{S^my-SyZKkSs zMd2u^qob+l<72pJe_vz375jO;`tfQy9VqHrlH#i)JlDZ09amiK^2pG_@@clomWrtO z=~IG_vs4H|MW%@gc!$aj%Jekt-Y*pdih?s9))=Q!N*$1z{e@Pnm=#6f;5ULLu!*ohy&i*I;~to8E;(9<@#z5eE0amA$rk?YFDI4&llKGe=&$^d2MahTu0fW~ zk1@0y+|<^H4@HzB`n zqW#U0c|}pXfv0s5ZP8uq7W2b==XB0kXMDM<7C&k#9M*+Khy!K-9ZJNs=QtIH{&TYRpOID(#^6t=?yhgAwj zWQmZ-@h$i^uoqwH2}h}OpY6AGt{rx6@LGWRsOTI@2A*|A=diV&RlHyTpMh@?w6VY> zx$i4~lU|xE3^wMOADjU|?EURZv`zMF@UxR2(`O-h0nverx4y1oC&>9&5P2}9;sd-| z&Se`iwn@ehLpM2T=<6c^sUOzW_dgjg^wY!5_&i{AWrFsvl9fio97Z z2cx1C2M>2jv>rEmP_Wk{kCSqMM^={NJ1fc5%FMc8V7J}`TjL2f@kAa!bnpI80Vu?8H$XpMFnoRmy%X%P1QsvXv(gt7lwHHyX?kEBU>f1s_UWU!wQq?;eH$F9a)wQe% zFNI$`Mp^!CP>O`Rv9mWadV5{ZTL|$A=r^Rj9>b~Ni`xYQ{nSm)&%4_j_N&X-SQ{%MSr_AXYK55x4m0)f zzC9(N*7D-X%w$H}Q+TO1kG3_i`VLU|#5AWT@qiC`l}Y5iC_FU=)2d)%ekGE(M55?S zd!BUU+-jJKnz%z+So$D4iM42Nx2Jye7@I<G;7TdT)6Zfn?UUYKawQtJFOUf zLDITlZG%Pv){84Zo06ZuFNGNGD1cQ&3VUx>&-=(@Cz^;#?sFBIr-#8a zW%z!jsD@VDnP}<+6s@}sKBQQYugT471D$4~z9-_FjBFsUidd`u36o$&S1BTj*3dB+ zz2)awn0aK%{Twu=xezo19}mNkyxvq~+$Dpt9$+UKEo?%?sYx6NpMgW2uM}5A;i@Z2 zoxDtc^^9RNzE6|G<&YIVE=~+szbM10%2^`IKY2p_*@2Hi{<+pE|6EVrs4V|< zk1nnT`KKv5^3TQYfYR?Str6moViSjsn&Oa9o2j!CCYVVDa?!eCbbB3(Llf^|aVU<& zp=Zii9O6yO+lp8mQVdCmU^Wr^#R5qZxHYh!5wRSv(I5|twJjWY^zlWfb`a|a*Z zYpHx%>wjI@nI{k6cwMZ(acUUy#OYV^^nCV8d;gk0UFWy)D;S?z(XbUzXtLL zu?@>#u?@&yu}=9b)-Hchb5uU#8N*e2r&@~jz)nDvPX?KK2bf_AD35jRB*GHZaQ~G- zN`Hznh@O6n6AhmB-mI*85<{ z5jN(Orq%lrRbRC#m9+GLDVojmP`hud@uln zzAxd5oRk1nLvSbt%|uQk@Z*?IeRw`8^Ja`VP-x4p4 z6}(alCNWZlVG-d>TSJpSc%6u4Y|xCuG;rRm9SY4jI{r}YnabmqB<6O!H){pI=P<`5 z3$aiyhV3$q5QxSgYZ!!Lbgf$OL_2R*0fH1xP}E{7$S2QfY3Wr_)?QTFlWY@-XTe@A zV%Zl~^FMY6gOrK*ZWp7M_UHja8%XdFKC0CU!d!kGOvs5m zA%~H}v)78!#QF66bwXXFXhL|sP_n-sZN5Ii(`{!R`8=muRVXG1ooW^C$3x%rmx1{F zZ#ZXUsQv9>)P?kn=R$%OI9*{3A)qf|9{a8dX6#9_dT#`_zB|rPe310lNs=&%OMzW_ zGiXLYHS1R>cwf#^gr{!TC&J80?1E*%*ZRhst9fY)e2?`Nwg&kr6;=#m{@)4nKd>Ik zIClq^Atn~-!I!=rX^SeS8Wkajw;)jhjx zISrOizRPVh(%|Q`ylxsrcI)fKOZ}bdTCp)|_)wo7O`k^_5It)g5JD=X3>SteX+aKit4Ms?yk@qG1jEo>m@s zQy-QW#$CC1`?m^uggSbNmgwuw@JJ@|B)nVC7=!&{?wrVqaVC6lx$%K=t~N+ajdp?0 zM>o_XPk{)}1yMqzdgFMm>NELsVGoCSS=hf@#7G9HZ*@|b391}S}%%ocL1W_H`|nmp4HE)Mnc zrq;_;eJ;N2MLrL4u1ZuF?f{rwO&w%{t*tV4$KM%Y^8>IvkU3RBMy(iFC}x%@Mi2iB zlUrQN&Gg(ypH%e}n-eXXFYPI{-CJxD#ZGwRW>9?nVf(OKV7kqh(t?(^a_!alm zik%dr@K#3QchxU^j#0R!6!(6dsOG0A@m1@;1y=ovjqPr$V-;{A>2A@YxE!Onv~vGw zO!!fD7m#^}+6MCZ+(W(}K6ygarHD%z?yyC~R)*%n`2M_LuDT3W1?Ec^olh^iB!~T- zlzhkLx4Wb_kqAD0pQ+^ylI8IU&b;f)*Vek;LLaB#QxpgRV_o>{59+|#J0&5XhOV`g z^wi)HJ5|?AGr8Sb8glptw-%+fJnfBl1xl@03DQ))*pK4ozGO-m!t6?mD zTxzOu(8xEp5p0_ZC#(DJbpwp;N9L-W+}rGmb5%xx+uzql9vEK>o1%(!{$^IA$6{~Qc!-RXPk@5 zudi9wiat5;U{N2e0;5&%@D$#H^Q1Sx=i8WLIQw*MP+#}Aphkn)A5_BvTlDD)+V6sw zw%;A${w9XdXFSNck<3c4mq{y~z5*RzV|>Q{lkj+1WJ7Cx*|0E4U)|dv-XXM#ABqrD z|AFH|P&B!-Cz83`m`LPuk40KsZbgKHJ5M=9-1#-5uY$~WmA*ACq#XoyA>^E7<`3s zpGg7yWb$psX;)GD*e6|*{>&H`S5WUPt3P`RKYD{Qb$!SkE|wKh$qxKi@fD<68J?cJ zqRxg*3V(+wei@kw2nCi6pjRm9L9sGWI-0WH$p0Ih-%X=vd?$sB?>J3v9?t7xjJ_Y! zqRX{mOk^i;=*QWO+B8IXXoj_Y5UC&5(Hgt!X0-Zs_GWFPi)-|IhF~LwO9+T(*m~2z zwfIYBdE*@6N&3LGZgYu(G(EOEw+6D_YYhLo8 z!Ba`2_Q{VMpT2plmL_%{*V@{sb#n>T%GK(z53!R3NhizkxCu=@ibasLGp~_wuXyTV z<`Pj{*f`#v)0XTtIy$Z~wsR^{o_gjrP}n$$~8 zu1im0v9D4x=IlKLI47osx!%7kF{>R$#{7nlLE)bExy~{J%$WV~ zj0FAxWR@NjIzjNEB>|VF;jOIjC!RbzxScTFLu`bJc>s3QiHaiyO=mRNRQ<7Tk|hb9 z8$v_;vhnTKBTUre{%N%uCcX$=t$rAUS?rYIa#|PK0Cdlu!{9HWEl6xI=I~}M&|EVd zVZXa1k@jjs6{t9;0#)I~v-xXXRNgPOqQUupz@l|%h-9vh1@N}gczfQ@-6`N{bs14m zWLJ=XZo+N5=LXv*=OQk7ruf#7*DVt0JIJtP63ISAa;BIzc3~4m7?<7V6o+45JsW3u zy;;WopLTV&145tl2`h8{(4f#3(5$C#Eezu&0p$M+j)oGiug>R2Dq`|fF#cBwU_J3L z;A{0@3t##0_7&spmpbDspYin!;p@9wnbH&>Lz5pJ3^N`!#E-7|nkLj;skRBFgifew zkDEK^4e}%Lfj$u`(!-7hgZ}B~g2BLFO0e8NAM};9t#sU--f^tR)3T$+pnvFuf516j z;XY#}5l6W?@er%mPVa-`R`HgA`yHVvh~sA?}i51aRmeluttBT zEBaFg8{E%+f#qFJ@WH0LND`HS(jQJ?N>Ag#>BRQ75E*9nqfGE1y%ys%;u7{iYg&oc z=-RKfB&em*W`!hxjtfUdZ3WLhTE#plLZ;WBc}unhMG->C-YW(R<&Nr3Lhe{W51Q|% z2j?Vl`dv{4SKxv+dGVFHPbsd*h6kFw7Va@re*Gb@_*L*~iWrO@fupvRXwoL+L!7B@F)J5l=k1b=Cktq1PX@T%`(0lwD6owiW8x5tOyR-Wg z@`1x=I|(uQqmy{QhwoWTPOK*;_YDgblfO8CJPr!H8oiEOos(H6+up0S7Ih_FG?$n z{jA%jYkR6E&i=0Mst81k-k+uZopb|&0pZ5c-8{i|?i z7{;g>A(ge)_npEAymFGOd=wV0pE@t#Kw_zu3_7`tHjFnPhqdciEnDI6ldH?nqW-~& zph(tv)2+xDq7#HLbUhjD$g?=Q{`}q|(m2G2uBK_jK)D=aw8DR+mKpbQTp{1N1?I@X z3(ouqaf--?&#^OKAEb=ObPi=yr9KWm3ha zvWPtA>~+XcAJ}9t8P%}XKMS;^w>E6JYB*VZ^^G^d06$b$&%eeoUR`*+VyrPAT^?$p z4C729{PL=giR+&I(-!|pDWV1xbGu@lV@0j*xat2Ta>*w*J|$-U)cw4I#D*?n9Z&Hh z=IIX$Sld&)fO&d`EMAo-Ll>`_le~DH#^*ly?USO4{Rco8-ppsF#Ngor>)`E-llEmM zuu>n94(P>*_t5#1i1P;q__1qwfFt!;gIxv}!}iw&#Q_ruP(WaV)4pzef1UaLf{^cT zH^2X_OGDpx65k(AFuq^^03H4N`*k8<>S&tCAFVIO63QL)@TxU`t@Sas!C6S>YWA(f zai^U<-n&!_XyiEcxb^@KBad}<*^*zx5En3Ld|Jb&gVSTyUzY3?pDbAtLcKh9Lx^aQ zlZXb{=Q?JOLEoUFLx95|63esLK5aQZgn8UbKlu_7ciTSB80hNxwhU7>a|tTqJ!h!; zw*aN5yi9K=%y*i6)4g^?Va-*=ShFPXV1vqP_OIR z<2@C7W$#NK^hLR3UxwHS%5Y4r@8n8yyx4epEJ$u>XsAXBWez%L6RV^g4Zf7KZ*gXF z71K086UQ`D0?);|O2OzLPB-QM~P7KL5|1hS!+EN_mofej&(PKa%m!DbG+- z$;E4WK&%kwcGDio(*XxPUY=$um!7@=aIXWv6wLDPAm^Vn+xv2SF72a&uQV#k`@WV} zp@3ii3%mS~b2qA9duzG9m+&X|$?J}Y@>6%?miGMtwoS}ljWC)$6_2}Qk>sEmbM6lB z%@iMNx)DqOKJ&y?_DF~)2fC~h^)!*HG1iI+{Q;VSJ5%4nuO@$Wq?5Tb)#`|a9NL*W z^gSWxf?qVg%O0`A9q=1ugh$Zm+mZoMhwE(lG{)IP4<%JwdQc+PNWWI(`R{yZhQPC2 z%2P65Ov&)DhNk2anv!Jkp^w;(U4VToh(j8jL=8T5hmAI4t>;Y@rp-i54<5xCp47>< z^9vO9DVTH5z?|zY=3Mt-_=|IHB+R*-JhqZQNX$TZ+u9v)^C#gZ8nRM~MA9fyj(IEX zQ#ld|(C~UbW!9W%XU$}|wXx7hT^h~n%INo|5dk2$F6h*-NU-Fj3 z26@RiGx0{}H_cNFV(1hD^)8m3o=(CQ6wL*qe4fd(56O{A5GruN*`EYsb^z8og^jm(=iN1eNq2%%OS&)25Xcv=yxjUdxNP5l)k8 z6PJDRsx!`UdZEw|Qmc9hj6L9FXo#C-CT{$d4u^4cW;W?nlh6IuNh$)}G&rsBx=VSK zf+{-xJ7uKEI2JCF)0f@OLuSir@RL-J z>R96YOhRXY?up*4p0VUC;KK)Mso4YZ0jir%fp!>ApQ=e0Ct*)E>i=zw^a(U`eJOk9 z2^Q3o1)R+ZqKyr#D2OT-p$arnP4T_KnF!;A4*>bo;ivw=LY%sdcpjGXim{wsY#2b7 zuKZQ#(%s0;$mz3uDX)qa`o^H$4B2Ww;FLXiWp4w`<*3D`R_m-GHP+`bPJP)uqk>5W zSNv;!6)XGPZJ>cCbjQ}Pw*v3syGve{h`i7J;t;&%bhHGorvPB@FBcKKe$FDnYwa%% z!E5H%BwH*L&-L%O3qv(k>}g4REx%sPhjqC~V8knlt^%9%fzW@-)=*C#JM_=`bhw>3 zYghljSxOEZ6kX{5B_Q$VZuO8@dYpzC#f=aX%5MjaeSnYYLGxV)jeUT(@PXZwGU;Hb zDP`qBHl-{%NT!rQMjKxIDg=$hrSI@ou4m4GVk3+BvbmcgJk*xiTK@6 zy1yw(odd1`0A)a$zY37*)AxL)Z#=_kdLI$6m~*5S^Ot4t8jV8(XrBC-x~;fU!uRVo zNfJp%Li^eJdZn3Z+GtP~QA=S@^0V9}*S-mTszCC_5S)Z~m zs&9>nkPMMMB>xVGjywgD@j8Q(nQW0bnF$~_@3Jg)HI9#JwBc4{g6I<8=_p+e*`q5ezLZVnf zaKyin4Xw#a8;R@l-{cPx4UK|)f@#5ypXGEQ_~{7~7^c?BWkEsIjoc-2I5C8;H0L+V z@SEXudT(VsTC30QRf-S7K<^cMAVZ^+q)HLggXV7QVAd#Q_yY5!mKeSKo-k`Fi*;;l946f-?ro1P#U4dPoZjBJzcC@Zm80lTD|$&_M_sA5_(F@F8jfR+fS| zvqsH0Oje)pjltwJ<5*#e{li?ulQ2oRx`a}pi{WS_*;w$iD_98PJzYhcvm_D=Te1>= zfCAAuV#0pG4$KI_82r?I3(H%^r?i(=CcdYi;$vjM2AOB!AKUE(TUrQa%FzsmN z5`n#F154L$bb|3#ps%?ZS0FpPfzkdJ?2&BgM`^(W#wYOUD%UGHL3 zJsbs^Xim55Sj8G@KZ;aFnz(J09UhkS45g?RS%bS|Ck=HJXCPIg$R(5jNbTD2F1|HC z6b|K8*-_#bDUL1UJR_F~IwuTNQB){FsugS=7>u=vWn5da1%0U0ByZNJ<|No&MFcbh zA8RXiHYa9DzuKGlx40(TJ&QKPeDX7UEwaed0~KO3R-4O!@slTNOQ{4_0gyc(YDNQ?=y&p)Te3C+MKDCl#&rSgazFC5{+x)@B4Qyj4+e8n71)MFaP;z;O@W z8P!fvQU3Yf-ZuBfS~l;&D%Fl!jY^aUW=ZdWXmwzf+9=@5^%Y?gtSH)R1MGE?$a|+8 zh&#iAK}p*sVB-B>vTfi^G+AoK0K8}nfHfBWC(*K5jT^8DZGrAys2~6CpucuZe~H2r zI~`jf1UWv2OYR9hPUG#%BRoF)_SkW7S2_1I)kKur_b>i5%K8+?L5$iaW7KZasUY$Z zev?Nns~L^j!$d6dmOVHaU+!TW-UfoEF%%&?Jb;=QT~MOxn$qXga+Qd}YSgUJypp#I zX?@=f%ydHgUJ?<+gqkQ+J}Ux3*ejMe=xfx}m$9zGk-$T#o@Ig}mvP@XuT+*H!c2G} zRR8MJ#x7RHJH@K(3`tmHI6xS)N9Fpahmz2*y4iG$oWNrMfFlhjO0rQKQsc+MEi~0X z5GkpVpVPyqJpP?Qv$&|eq%*z6Fz9r2)jj|X^>49}k%NBf2rHytZP;x`Z2ISpX)Ady zK5b*nY1_5QrKau2yF;d}yNNMv-`tIqvT!#~+c~?fX)6`tw7o8*ZTaQaw0(59ecI0c zZ1>>oB1@wC-HxdKr1yI~MUV}6J|Es7O%I`+FJY&>p|orn_llWwieZG&v%Xz*iU z4IB+_d@p%8tEj1#2~~#oLj#AL_Cn*luj}r#Nt?F=s2=fXkZu3^`PLUd@2io16uMZc z??IT~F8+SaKfHgff%m?WgmM&KDJ54l3Lr&CF}yLYT=A_>$cHO^XII3}tOOnH;&NmY z@-!-pQi?VrV5PPclT#u?p(K?cNRo%BAuM|CaAwvuWw1smSn#VGAZyY8APg zm;OP5_T+?uv~qpLt>g(h4|jxVPvv&<0GYQ?GTW0(PnIntjJ)9`l0=!SmHqk9N&GMv zW_}JD2LV$SJn>}oB=$h55}tv^_q5Sdg%%3D^HFL6lwaUcYBoNCiwsFzWE&R>Ug(2+ zyUb1^?dN$XCp-jAxmDQPhLJQeyR)l-5p|c)UcO^g^@3#FW<1W% z4Sti(w(!Bm`n+zzVBl*_{ttie8H}RHIo5Yv~3LHtNxhj6kz+`?Tc2H7COhlNpLa_aFUqQWgqd6-7Dc|rsU)laNKp?X0= z0X1`00_ErQiThBQx*d663UW2c7RO$j$BQGN^FeJMnvn6bAJnoVoN8$-YMDcyfQlz- zTPS{C6t$LJtkxk3`T1-;H|1qcO0me0~1X^4o+bLw&2hIK`z2 zBSBNcoQMksyhxcDju8@$7bz$Cspkk>PZ8HY!SyrZ`dh;m35&&cH#BQfupxQC*DIl# znR$3K37I+BKxUD8tVO=+N|DGE1q3?lv!;?nXXv?K_^>ISEdUdKDO?ntpy{O!)@>Td= zjda5g3;~)cFg-(@P~L%U`m%{$H z#X;2H?_se4bMeQiBcrOi(6YswZTg-$xw!x(_B0V3*-;r zwk!FNQgKYQ`XV1znu~{(wwFjW>Px_7ct~m5w@6TlkqF9}zmB+l#Ih*A5|!Ns!F}Z1 zltUq_k?!IPFkCqm2cvRbn|K@IP!yihTdq`9#nacvIqYv2gMW^rJ9>Yt;yQp^0K;6sP7Hr;Fy zjh4?@EZn8jdCX$SGO)EV4hDB-f55gAMQI=+2M0wpgr%qLMdWI| zjkBb@S?mxb+g~U zH8M#G=zLCXXQK0)9UHm4Z3*8h7?BaHFYIDZ{Mh3L-nvslvsbuFUXqMEv~jFA-)Uv| zx9As~yFe1<_-LPq|LBYCA!94flBLAVeex+>=3v1q-jJcFO>y1Z$}_I;a(KJjd{U*4R=Hw}t;&ZTRnFbQRlY>)u@_6k ze>|ekkqOKm(zn+{rnZDb^BRcCJ1~#wLP7uc3p^}|T;ersR5L!c{GgM%h=E|Z(o)gt$&sIVX!VeEvSj2oo(ej5e+CeI&Ceysr(nvnb+PhsY6`xYMdo?(`CKr(VdN zifd?|yiUMH#GT5W+zIBy&tec#x$K8Ywq3e}o>ua9YjHL3obLFd;!qUu9P^Y_qZj^L z!pP7Xk1SW=f|^_(APpp=&GA&<5ygiYek-}g4{-rtE{Du*7%;ae z>^5+@!Wd+zz~$aNPn~>{R{sGKTR?;5X7^@Mh68P6BAM*lM~Pz`)5s&0Oz5ATU|T#- z;kTNJ30>8boX!EbRj^#}k6Gn4wB6HHaD*pAx2@^GP3<9T+d9g&n)MESS=F1U+Z0H& zj|eij0~G7Yw*$F7wgY$+ItC3tZt|$}_yzMQL`WW&X9bAS*HbpY*K5xu6MF^02#Y0S z!tQvs-Dj9a)1r+i5L8xWQw|j;k0>KDnG+g%iDA`%v@O@*J7@y>E(K;9Y46Y(d+0`- z4;$jy?;%dn=8AMgy*8pnpwC9O9o>##FtM2IJy)S_X-iBW!g!#NBe=_Q-ce4RJz#YDzJfXtn+K z?`ngAKh*HR9(`UqADwO3aK8M`W*5u$KXn#rn2>H@sWsj{&bN~P*E5vi(83EQO;EoR zB8Y$f8EWLPGlZV*@S`WEi_p(k+B<`{R^1080L#1n+y4gGg%Kbu@Bi!K`MV~J3zgrW zWB^;@LsUEa5J0ZhGtrwBcLuQ{3l|X}njwF87M}QvuXC}GUe9G??QTHUF6e#Wzj`#b zX=3nV`w=3)9dGWyyL4g4qHTh)Asncb&odYsB5t`$v*;PDp( zC$P6}HVY(9KOwshQC0VNddh1K;D)M!f0-s}x}I1Xjvmch>`3Fw#b(Z#_;>OP+BO=>&k%zj=t> zo*(BV(!G6yL2Ib!FhSH0Iyf^Xt?Vm=Xa8ngixvf4l7CF?CFpZPZ-viWnz5ek^Lp(& zn?_l%S5?~&)tI&gwy zxBU^Q)$QP$9T8|(zVc);8muNn5>aW9S3(6^N;CMIq-!aS={L9qIMq~!Ktb7uiPbgv z@TZ+5QU>LNd=;z7Kk!v6-Sr^h>C2~_u{u!&LE#~R-Dvt4fpvM=HYjwE`!A0(7}Lw4 z5d^mWB^wy(ANnT(jE8tVgKe7V9O731Og}!9-nQvxYtmKt_V2rbWHL;Y7|Dn&DsRl& zwZXJ+L4wgf2DE2xm;wlvC*n08hLEd8j)&{q%nk11XGsL7^AHrRh#UsAlo5biGMS)& z?#;^klki^4MmcO3W+>c)uxK%eypAiGJRir|Xu{I})QSm#O9?v9ydH1c&bS%de-pG{ zm(F3G#tBa)ceXothc`K6IC^5znGDWP0z5Es_B!4%4auze%sLchpIgVG z?0BlQf-QV)tix|mHVmTg0C7h4))J}7VywfX-DYaC(}2~$w`Sre^wt6yCys43XVw}$ zBQLj@U`Rq{hi}x@skSa*ar(PCMmvzrQmBS!2KO=^&68*d6h}~oxo2*JPl~Hu?$VE# z_8vYi27cw+Jn+DGM8Y{>@cOa`sMdaCozrU7qjqk+nwQ+Kd`^z|{G-GXd2#nK)N3B+ zba@n@^e?z7{bZbj(`{BnZ~VP#xfdlp(O2(gx(j!gfZ&biYr0DlY7K7AM(0F-3wn}L ze2iyC$!Q9JPkGL`Kg9Qy#{Dk7AAMZhSMvRG@&46v|5}vwUr8dt6tS*%JP(}r)cFSd zMgJm0!%;6{^HXW%>=W$>ub7YIQ)%s^`+AGpR82mAoY>;j7TE1^-q+@k{+KGIq`CAp zA{=d;a72m|Xsi^6O3G0(Uoen79)F6POWNw)fiz+w0+~jx(U+2-+a8ZC4 z@XOS#p>dsr&ck8+7=7^IX+lv=Oh-wY5QWe13ZLP?ew2!PLbr1trroT`+t!E_Df`&c z+j0#rBkZH}-k^N|XX;PjJ!4RjVvq#^@vAOS7K-46*4$JH#JuBXEaCB$Z)`L@9dp8@0iz$fglJ>cgADjBpU^bzZro2=SSuI-1&AW8F`>b2K2n=2zykuqa4QLJ>V9mS zf%quFMQ{j){9G3_U*xlt$1^!YlYb5*^ET{YwEoIF;T8+d8@WHbhntRWvTAa_aC2?Y zDk@Kt-wP?Hx2z?WmGI3W_%gvCf!<~9f(8gTr@((R%VoE& z7HC+tfHoXEt+t2^?PL1ZYIA%FF^N}`)%KaNyxN!vzx;tSfkJu@i{aDdw?KFQ{Q_0= z&4*UOhEFq*-QLT{r+Jm}k^Uw%WRVTNT+C{PT~7|bO%T(JFV4)T`zITy0S8~7z%|@M z@AoQ^RGi_#W@8@6CH!>yW2?V`CI0yj`)TeOZ?V3Vjg}Y16o}H!Xeql612&FNNrP%L zK*Fr#yW* zkFvV#exW5j%VGPYyCkA63NJy zHLk)36-^Q5)F+%>LEi|g8=f5Qf~Wh%4|+C)d{1MgYBOF2H)ttkhp1_@KvfB5mw6JR zD$~jX`{Doh`u2G0;$tUWoGv(Ye|abGFJHs^%d|`-cN9CqFgt)f%W=Oa^Nvwt-0#I3 zpPaZtu$8x7=Y;_PQ%?VuOuQorP>^!?H#38(ma-3Tl5~(ya@OrnU-SL+pW5}zIqT0+ zcji=7w@@l-yX7S5Xjz-2$+hp3ve#de5AhZ7^<#XMtI1V-rI^op=|}G&-r4str*+`; zAp0u*_do)hTH!QdeT87d<=(#v8Tl&)+%(-O=KgyStr`6Z>OTxMt<(n91fix-apX@8 zVAB{Zf3;2Cy&S>r=fZLcY7j#`Vy_bS-t<&a7;kRe$Y9M%Y+!W0eiH%Ki@=%zn0`NC z#k-z(Jg|x1CDg6knrJL}&p=~SfksV^7Kqp9-%Zs#TI58);(S}1-?^Wlc1(9F*^~3_ zZJx?tXN#R}9*}Qu^FRiRDRCN%uFtn2J&mDmEpX}{R; zBj^)`L=X3y^Yn%&$>Dr(A8zbcXemAD!^u?!-YBd+Yq=nG50ZM(Mw}yfWJBM7cQSZS z6LJJw$yT!$7t&7|`Vm6=Q2isv*W;eX+Sn*uf@nQ89v|^UE7~$c7c0Pb!;E)+e7Dqi zH%wbnE|Gm!(UxrFt6mxePgAK)@Hib92}bd6$D*~G{3 zHSRS_Fq2kx*_ecuA=;^X&GNs+ix&EGxikvz-ESKOia?)!zkTFO`V-i{9 z%3%NUI=j?zK#+3iwk!jv&3y^#p(##&bgVx^wLqwa3^j796RN5|BYPNCx%EB*`}R@i zJX;80dd;1TqcS41Vv+s_C(>CKV^19rthDH*TJ)pSnlF4Ctx#LszO^Jp$z^zt+uXTY zWXaoT?kaZ|ZzQD!Gs?D9v^zl-nvO2GPb9f+w4p0dL33ucy6+C^`R03_6!7Z3 zj8@)Nc#Wlyd!Bb<|A~8T3)nb@S~uCr#qPM*wzS^KP^Tw5#ew$s+Nddkq29UA*|3^C zZW!mMsO8ms^K(x2u{)0n>q=1HGnDrkC)5g281wX%47P5VlXzwVnEq>@AZ|4z`ai%u z=>C0}Z{;~*2P5p7K2&=m3YH!8M21x#a>Cw#u+KAWD;yynAN_1^TjSe8tMn0~a!r12 zZ?Y8JhPf#^VmrR-O=V}<+Z={v?*ats*BfoFIco)*y=V(O%SUygtThSI?GJ+xz5cID z?Z0G*G$|>q|BX{)X*^qE&Ms!Xy0{#4%qUF`E@s0vKG)|RMvwlDzq_QshxPOi^3N_l znuv;-M)1XSx@wi-0gD^ETI5fQaf`+KeX>+s8+4a!g*S80)~c0I$zDw^hqsxPQyOWJ zYZmk7PovB&Q^V9PSzZ8~8o3sKG9F`-I+Hc7oDI*qP zcSmB($Bm1OK}^KcNqlnqMKp z1SylyVs2{mAd6CSULzCDG@sdQ!FwK0m^Vxdc>ZExJ7)=npBwui|7B}Ju{c;L)i?ra z2ybHu4!>Kntp?BjjvU^D3pEC>q8IRV96_}*XEXmJq~Vf0^r0aAFP?xN?@_(~G;QGz0sd@`+hM-wB^eRfttDsHU4n!p~g zlM~|67qFrTK0mE2*FH+<1<#ZAd~+Py7*|y1h3B4RpqqpDIkzPrydfAg%L8ChW?FgX ziShTSyIhs(H?9gsYYy$v;qmG@zNLuZURuSSzA>953d-@p*LCixujpnu$fApUohc>B)3cEqN3(@D6I(v%ugj*|b1h z22g+^xzQWM06tzI8gaa=HYhOUGBBh{fsX*@6|)FXLt+BU^lvYtRcqU2!e$9UHsc79^80dx*6{YtVi1a}Duw8j*F{g(^o z{EE`%5r3{MY-z4)n=!bFCuc=NlblFUB}QUQ@PQ_M^}=Lo-J z*?yj3?m7u{?zN*+IcS%kLjl{{h3BgQuovJw4;q+^UnFf)fBq(r^mB0#x{f+NED8OM zt$B@iijAI%6ia9kt%^u^6g&G?t1!t~;cKF0?2s<@eQXH2D_$~B?k$XWd|jGoLqF}E zQzUdRG;n|vdM%LxPNf@Q_Q8bnW)0qf+#VLoW>5p3Lx>}qQOQyUdLK4>zcv^+q=pB! z8|6NTR&@ZD4B(=m7cSj1U#Gw?b#g*NW;Lua+g!9-WvgGhHWdA8RP8RQB6?g-^!S6I z#{p6=wbE7DOWjP1F*eq2#;DEjZpStcR@9b3QQOlmha$prlS$5~+iY{y z5IMhf+GU*r*<8b|*&*b+l~L*c!ID}78@T)E!Vvvltr&8sh=v{77nrGr`!S3Jer~j3 zd>2Z)x9$g8EUaxPU!Hr$Ap3l0$;xUu5O(2#Ja}m*m^926KVB3{4^yO(y z276xLaW5nmSR#wHd16>nD?ucLAu!e>cI>C~>KweFuSDk$=o*aS|#ZK zg;mu`o`}A_2#{^7bJ^v{kL71`yyn0tTE+6{$H-fzRO-|A0{*^q;?FQ-I@1baju`wI z{zMcp@yd(Ai_9kU9&wA?>=9E&Yx31!;*PUx>M%|2^)J-Gdca>-AXurT{IxY1bdD)~ z93e=Y87}mA+^gyxkK2fJqe{vFgL=eKzNh+&k46FeC24Nq2@+wWtn5tn=;e8GIh~9{ zgvo7yT&A_a;jaZ0AswKC3PKi=(Tss%$eC}*_SSmGw}7ELpc(<029T@4kJTD{<(?6P zbpgUWDw`}h50`>V(IYq0(Fz|Z}-nsPr%($p*P zH%6LvnTcAI$t&v@T>pvwKm<+Be*BZmKfU?qr`<3?2ic`c2feKndperNY@&FC&7L@#>Ut3CiZ0rIFto00stZ~X zQXRbv!^1i%!y0G_jk?}}TN1}Vt;5;-4Cf^#@4!M^6m35dTHOdyU35d$b?53DY)m*c zCcJ^h&^YU_g;6VB;GZ)7DdL~DyI>4^*EK93i1S3o@p3fDI2Vk9)bZCRcW!hA>oTY2 zaqf>O&Op=Cg?cEiHXc}yR5~hcZ~KSdIQq}rUM>KyeX)trM0U1MeR{+JxsKCuqM#K`3YQSx5Rw3*4f#Wl1--YKqA z^$GuBT;%aCjF$2~zH$YW%+nLE=5-m$vZ3=M<5bLXm3oeg#-#`SsEzz|y0mHPV?xOjd?lPYc;E&a{v{Yo>|pye|mZ>loR?XA-hOZ^t-cq&`jVhApZj zd~3~Lo(`?5M5oGz5bs&wKzz%YCgNjenuu2}g7}S}BjVdyi05|9!c-Ry)Q@@tP`^*_ za6zDc*$g}CbK$K&9Z|pdD?q*P;`UR*f7furf4ou^ITc14w=LjuG?IZt>}*WA*u(63 z(uMa!9QV17`>u}rWN{A|xw71t6;-_`20+rU`psn;H{2!5*yTA#b@~~6e4l zw~7w0>rfAB6+%@-uJ}Uq!zX|6g<1K6FX~mk=#Z`Q(nPNOt1@S?4{+s!x$;i#(t{*( z$@lRCm%H?97k%1Y)TSryFkH0pb;)vmy?Cy3gHpPZ_S%{lt^5?5g<3TaW&7UaMta-;MpP_Ikg^BV`GV-2Y<7{sp zmp900P`1^ekOG!-0crILaB~5%W`j_alfsP#9sISS26=|UCx8FfSyp8mD(kDyL}ONe zWj4kv6+Xr-tF`q$p3x>~oQxUxg#0i49q`W%m@fX2ynDZ4hLaNV;443RT>3HVt$!3+ zf4XjkS@!OQi^a1(6-o0eAIeC_*Y1Jkr`?wWm!iMPaC-_bvgvOIRz>!lwEbnkuHb(X z{O<(+JJXZ)^!FP0-$D5_ZO6d7ZbeT-RU~uza^7udXisMbSlon6EwM#4nW@O;wnor> zdQnZLMju%HYF4+o~&x;Oe^9E9{HbMs*QXUB`M5Zve!nxc#S+hq0*7coOw# z9bZK29(#?YK8huif9~lludk@Fs0P2JN;lL4O2kS#topHzO?|j0miog;1 z#E>MSuP-kIEp8aWZ5VAY9+9MPZN8C0zi<~FHCQKLVrMDI?;=~ zv&O~d?Idr_Nq6Znao367{VeV})7>{NrkHG{Djdh}lskqdP7FwokGZekQrPZUY^+x1 zbjq09@}j_F%bczyV_M?mM|)sZcwJ~M8MY65*ZZ(b%Zmah)&p)NYDxW!D6#Wt{1A8o ze3)u|=bh>7%8nMnV8gJF&UDtXxCPgd{8^o|j%4e*uJyhf6%BR z&jL;XaeAt=F{|*iBs}B%-AZ7}Pdnnze7zFp@MiJ79E7GL$BCS|Hd$icCnu)ciX<1r zt0Z>VjxlF)EM8F@PCjo`U|V|qI<+xWQGT`JXY*!Z6WVf#` zEsNhN>X)o*=5fWQix>)guZm>l{i$>{wO;9;zl^1?7v5j9MAM8qW?_^dI;_p4m^5{> zqMo;#m)$cz!RKgVuC|+)4Tr)03FA;xWB0SOxh&FBN_@=LQ(SkMyYya?l`vw98jOZj zU&kRHUp691vc{s+!z*|G<4)4J zzm7LhV-U-+*z#dkH&6>NJ|`94R28{rcoIq-k~i!6)hLi(?#=2z7nt)C>7`PW*8oiM zHkT^D4;O(yFxekrp!i&5VNZ5_pbdnSdvCXQllkkfoVs z5|o3wO*h<2f+5Oa!^GG0@-jv11G>vt((F^QQ|$Cv!l6(}$@zg$vldWu)J7x)uWwm-*R>b0n47)=D02LFmoT=`;6?NqM|@xfliwJe zIxBXH>jK;P@Z%_zkivW4{gG4B7-#Ns&*UBu3*ClMzoU=EionPM<2;XXe3T;;@6F2i z0B3x6I+A1!TF<#%r3FD2juaC+%;YVOpKs!+c;h6YvSY@fk9}GZXuPI?59?r7kE`AVf0na`C-J zbFXuy(>|8Y{&dC>7nJjsI3oW^f9Sq|ub!ELv3apWA^C;nB?1XGb_iB zRD5G($;{=3Sd7uPG^!2awr;AeRy-vvZ7VSKs44MK^^|t-XM94AFV0og61}}EjzlTJ z3Vc8LAU2JH$;kgwSC0@sn9e`#V9NSI=?ONBFGv6TvOO$b9J5L!aDOcDW;$c&h`Zz) z$qeEvC1fDw6rYzo6Nr+$S#?oNs`m$ql zjYBl_%QPm`)W9B93T(>t^@y=@UY&eiyc9>SL3M!zYFJMd_b98L{}@FDepFq7ZS2a~6~PN)shnhQ)+#FJGDUT9qp28kP0@#&MI3}8c2X$d z=|T*ERg>_~$S5Y(`Rf4xubF1BQ2LJx$$y3ViA%qe=Wk4xmJz9vBW>%8A_009oGd8|nfM)soa$GShRDA7y@} zJ|G1l(i4zmhA9>P@SL@Gbk80?W!jaIin=A|>_K5e{bs*X5ooN8++Rb)W28s$rM!)? z2^EJLQTo9#w%B8q6sr2rjdyZF0Vbr>3cA5#$i% zPyz9HF=&RIM)$`Bz4hGsNSvNq{f{(7utlX`cYxqWU0BvrZtpOi z{CSWm9DcY(LypC(aNXV!y015LbtK)7F>xbIczc=FzoLF+S$DkCm#6fz_+znxVU|z@ z=V=xE4$En5V2k8s(uge;l*R6^O7Z=PCMfH2gi;EAr+vGbmSW6>pnd*S``np6|E=pW zWK&R2tYA`VYkkE1YL}6JK9f`e`Op79Q+wm17A>!8I9%4C%e;S_-WB7Ey zyPk_Krxv@h#jV{iC9(m)3s+wXmJdEEDoMj>7x;=Hv4@cC)4uO(A|zin>5*Keqvp?V z2uwErM`))r!K7h&Myu%=ntbcU^hm=RT{i!5-JE$t_xCK_-`B!iTKW;2ODh_pV( zMdEi|IcU9JL2->31_|CvSiS8&4FH-Z`+}R$LwwUlT`(y^(@mLy57ny}#sFM86tUiW zNT0Jo-?)&UXbxKkzIq+GY@mJ}xRkF0jP&AIoe}FG`3fYhM1VOsfVXq6>XhY>ET=bqS6X{OFh3-#fG;Aq>k0HJ1;!u@+ z%Ce5V23012xD7lVE^FTwG(Rs68t3PUS)!8GToR~5KVT$%{~z|3Uo#2%5<0uJLT0bjd)lL?u0x?t z)$IizCU+HWg9$pd3xfT3sL@3{0>J8+pobq4LEU(%4hk2y9t=u-m{7g(x-qE)?BS52 zKmC2ym7&2X`O4hH9}?Yfl7i}7MwREZ!|DaG5Bm)_!REfohTdWIpwE)K7v$YaccAYB zU}QR!3p@wm?ttPvRz)JDUjAzjD3_FxE|Ee9yh&d&d92k|jTqo|g0`5S4m30FwFv zsU3B@Ow#3&V;9B>z>F8sPmG37AqRz1FpYW0@}c}BV$*&l&&_2Io}2N%+#-7-e% z=bD<^Fa4DGB@;t}yrpbytWs~?VTMDP#RJ)R#~?|#8(w!xV&{ItHT0kl%kLe+>OgG) z7py5%_@`BnAt#7cU^RAb{`orpjO=x690HK4OpM2jG2A>>znuYFRl2jt%Nv9BUWxF05tK);Yf3vExq zBVC4zZTg7XLtOFWcR0r|>(qhQG~O=ks2v?+>lL0bQE%Ff3=&ux?k|A_8%Pno|4UnQ z5L~h$MVm5=+go$-QfU7pkDk<1|@{{D^#7JHFVnrws3uD-1a z)_|;&hAiJg*gS--A_CiEVb~gM2=+`bBen^EZH*-=wpT0~HXC8ZR)@eK+5CvOm2%DX-z0(S-Q7<=Q`=Fy9n}e`@*3*b>E@1n)Ra9&%T4~rEgw09V z?vKFc3d8oX6~RVEV7maY6-CE3IE0OJ$)*IX=GzEt+iiMm!wK7u4kNbr7?_$69ott4 z8n$%8b{k>4A;XC6?l5fMbwIEOBCurvw&xR~V!I`TEt9YvjmK&%5q&#p)nm&iY~~1T z-!L$>cXVv~<27t9!d6b$dZ!z)%?rbJme%K|dl<3Z3D{Q0N5wWNgiRuBoe104ml?5j z3&S>_uw5L1?KtbSdP8(== zGDk%yg%B>#5cVa6@jZ+P`-dTXt2KgM6M?WDAiOU+Lflp)gwJaTzc67s#M0w&x>e-@dc1iCAD7YNbGl4r1U9ob(7iCE;>+c6d&37RsvgeG2 zZv-e*19YTVQa;8jIyO?#Kk&nuIICwj{N+vTfXD0(!pW<$dY85GWq1ucr2s8!&@)2N zW%VbyCl$6-A1=P z-IxitM|s=7|0G&hQwKpX#dvWR$P0gk+f>E`{U>V zd4Ht3M`7SVg7`lJH`tL)Xk-1pi65mY03b&7Lc2!sd##l@@HSZOhcssD7gS`0C}IWq zk>KBqK}1Ll9V>Q>Css6LI94qG6$7q^WNt>Q-L_JwS1xSc8s;}Z$9ec2%h)@($cnQ4 z)AYHH%j(6Tw#3uKwkb)kc`=uDaXYoUzbVLTWmC!OxrBm;e{qGT6RJES2xJo4YX#^d zWq-_2zdB2seg!C66+GnyK}g$42@7;K3f<4x2eorOmC6ZUQeM}@+5wt6@hsg7m&^B_ z`5oTQ09%mou5W;a?a>?ppgW~8?8_M_9;hxogKa(UUY+j_!pPO-OfOQ~a`NTU0dBk@ zT!f9OQ>o}Xos11DhN4^9*V^I9m!YfWGD+U0Ee;eQ5L*izFfrY_@?}UON>PF_VejN! zK=#KoP-ZORv1*JW_xNc7=jf-CwPKs5V$hTd`}n^0G3qLyRX;x2u3r2zykRs|lFnCn zQud3n5uxq<5D~2vt;4@@VR9V7@X8=80ix%Ni!kEcQhpFGtf-ISsbX{_)?jC=?2kH1 zfQ_^je?)0q{`LhP9@14RS z{8pc+4g{9^F;lA4_NUQ{g*@4Dvl%jRaEKO=|iP3=~Ew&>8mS_#9V~ewK-5 zmG`4-S~qa>|6ssZ5zc~+Mz*;IaK6C4qE8$28PaZ2nnb2ctCALfb*jnps~J4`&zO|> zlg?DrHr4+vX+C#AAm8`3DC4%CL^KE58?~?RnMS3{v#5UGgn;{P#`b)`0M*veo@1mn zje$qIWc3-i!?zisr|phwLeF0dch?P}R_%F~DNQ?t(geX#Y}5vE+2qo~wImAHYKRY| ziz(`^Ne)=dP>Q)XqiZq6r$wM3ormFt=@856f~Z%F91aQkAXv=~_$LLkBD!U(TfWZXIqR4P@eDaoQ#$O_Ts4m^ z{C|+LydE0KbM<+XUcLZRK&-!_xAx^t_#&)QJVBwaMY&9v1w}=|IxV`NM|$%66`9JJ zVbp?(deEEq7bA6Un}KGhzGlxEb5U1N$RLyyau8590`*2_VFMUtj0+V|Pp`p+^iO=4 zTA;6W&K|Uc4@vjv@2gD5t8zd7h1BMBEfBHt9Xdz1;YFP$3`dXEOMc|A$`agqZDf`- zowHa%mULq)YvsEDnYgxz=^twa`17<=>zD>7r?%D@ui@PCLs-2Grrm(vCfrfWHCQy6 z!lH38sJB11Q%zpJx2xO3y!ztCAnk3!wkK0_aoZElpSZq7x_$N~9-qKYz@DzUff3Sw z9c=S9wxQ4yaakOyr_a#~bTgFKn{1Hr(F2%rL^l~3@GEOwiaPc%DpPMH7%!%~^AuSU z7&N8sIDuf3TN!n(s~MR33{}$9PWKg0+$`G5arzfGL2CEsnc7R11DMPHeC$PAYvrRD zW+ZySKCcYxmf2eImZ6^&3r(PEi3*D!3hPzHA#Bj*cw?`WllopY{*7SICK!8lHv?1G zQY9%7y{g?Kdi51VJe~Sd{KR|#VYHui!2e(9=`;X*d_L19Tepx;2%R{dLk=c5Qsix( z13mDlxrCPVO7`cDU*#j#l}Y`|`w|hK1a>`ZvOYS`jM@Dd>sq~V6hz)yt;S27f{oeQ)yvR809|llQJjRB< zO<2ed2A6ungz51uFcNNgBd)*M&NHR`Mmaa0YjdixIfJ7$=c{GS zH|O?dn{zid2a)rmNa^&U&y5i2H9FbGXc#(z#FpB8_+9|xJOks3)FEun`zJTG5bt80 zv!7Tj2dbI@RTZ>wxQs3AGohQgFHkpK&=ILKb@SkRp>Dbi-JE`5bKRV|nYxK*v&cTp z)9llHvQI&IkYpdkH9?Gv>I8%!DI_`*gkk*r1_ha)p_MDdIjui%Jg359{zSK?^UvA+>1diVCBz{`pw|_QQe08lq!!s^*Ab#0 z-iMjT+2oCPL-flv(C@0G=IEF8wV)qs#v`m5Jy0FHgyHjcDR>xU)k18(TRRcDf|~DH zm+!+AIh!QsajVydCyf6DwJ?IWr$M7Hiq_~OOPg=>qlwKmdfq0QYMTI?^}`=|{L%*c zxn9aLm4QxTh9+g5j)hdVxJ$u!z~gHrRR?0(!u9kcePIbLHvuS$89X^=T?5&?)2^6} z$6tn7J-5)OmrYFFHDOwyYDOjK+HnjSw646Pt5kjv1|1h28HpsWrER={;wmltR9l?R z;|zbLlUL`;|IxYOba*F8<{gseY)Rcg?&+I9F#|WzMZSW`Fl2Ed=Pxlp75V`x1qa|D z9+rFAC^}P>16A9gUa2fAwFCk~#c|xk=nZ^k1(VTbaC;3TK6a{BPXTHoqsiSpLo(L@ zicHK^F@R2iQAy<%4JUk8E~Io8f&ZyPKEXBZYJ9-plm|>WoqV(Lq=Pr@iHC8FVCgTs zENpz9nMvaVfo7qx!GvL||6{E8=a02|eI^G?IG^=VxOy+Ut_ps;%~euxLpJ+=&#|Dp zXO+Jfd@DZ#ZJ61ev$njO%~PwFsnFt6>96AQ+3LVG08(8aLy&=Q)easeDR$R4uYV=e zdX}EC5g8q`q@ZQ!^v}$rjBiXn4uj*~n`yfYEK{cX7tp!g7MMkBOJYT z<&2VRjnT&u^volB4wB&Y8rqwwT3`=(8X4UN$Asvn#FB_`?y^?4CA(@gzq1e3Ej)2? z`OOq{YXjy@0b7-B)NZ4{xC+BJQ@$a{6v_JO*z|irc?H1ihHfE1^eYFq2tZ}5gREZw z%pa($5%fg$I|0aM7)r0g|47O-n^gTU<^(*eIA; zc%$cx%j&rrpy-@ArH#SrrhUZcaw0#VIbt$d6e$$;%)O5oW=R3>*!2fKG#aRBTSPe= zHe|XgWa3nafoB9^wtaB@y)u~ixzy+4F0fNde_kLdynZXU+@rWKK`2$cu(?zn@EJl_s9`(^LrrXeqAWu zJzo3rHhh^6ffGTMg@5C?!N~WaQ}T~`-- zor{cKd|KwtLnilDkA06LT7s96jD^77@yc|Qg6XY4W0;?)HI_*)v;;qO?p&dJ-}8e zkOk?S3z;+@D|welOb`yYuB>JzdR*bq?CSk-Zu5G6TeTg=-T-0`2eDxa1vEAnyoUsn z@xfMr*V%M|WASR&QZpUXiJ;d*L@!dctt&wTzyOZ1$oNY+VsIZY&b@}c6v&k+CXz@- zp!33j&=m%=uk-;

r?k+zvQz3C`BZfPOKN^X>t-smTW5D~l_R!waPiV|G<(|Tka zg(vwar0&vHIQ>J0JUEpjzdf1wE!0&Qg0LP$AA)cY!w@+55Ty9j_V3~lB;Z3f;}C$4 zOZ|H(emK08KKNe+W}f{p8<+c=qQ_%}^RqYUYSD?^4$|0CGB%ch27-xVa0&VW`TPSt zyI4I{Cf$IH;9L2Z@eMgUsJ!#s$zA7x;=UHH?S-0wO}pZpq}|DFP=8Ueq3*)lM7?z* zOr}WOg;$2YquT~FGf1Mb8`}M-6vQZryQc7dRWr^YMy^|e#Hw0CF)x9+>i_tk{v;sg zbq_`1XYcUj(-gn<1Lc==^I9PaAfC(dv;=a1J33jEy zj0|p4mf;^g10J3qv(r)C+Km39CqwYq-#<@~rSDQ!(@WfnkokoO=~DH)qj z_Ix{LER_eze3}&#`g>XoM1-+1>>;1df=N+wzDDbLdXwUlOPkLL7H@sFeiIQ%1x{1Tm3{RwnTh?-=wcZIhrjW!;7Bb4D?o9 zft7ujqF^_~keT<8lZ*SeG@lA2y?R%}DaAgmyR&wvF)aAs3|^(~wy&(q_{w@B_|IvUj@e!T_1ip4MRLo)6>Jdsbj z`H79_0qg-6t`6pRwj&pU%&8S%7x!ok4c%yF3;0<*%0A6h^GU%?nyE(V5b<6vjvmRDo zzPhDS=o@g53efsdk$(GU-DK?sXn(0`LdZ-pW3>boyCAesj6OO=^5CC*N(%(e6W!3W z_W+2QibbL_;b`*mylMY_+^;KQ@-L=7%6k3_wau83mFE}jii`8Oo~a{RC+&Mg?>07HZfe7Q9gkO!iCu&{!%B*QZ-=)dHUSm zGA;==W}{8tU;;^SAa0a-LpEOcUynxGC7P26#o0$EX|;54>acHIqQP2>F|3FJ2HWkO z$5Cv{_MBxXDiFob48^u=u+91z)x0}2QB-V{cZGwR7h{DN=;WY$LNf2<%1Mq-EqD#( z#6)`BMUQc>amfJr3D^P)tFn5nczJ-t#hQD#9JtNih!Vm9zesMtte*21f;}g|PIhYy z1|DN?ysz}8QK*R3*<124GP#cSL6hrPADzjCcPoZWu1sNajf2zSY)wQtlA^x3RlkjQ z9yo)TUZVYhu%X;%@ATvAs ztBDMs-p%`WYgh1nCjBRkLn^}cug)Kj$h-pb&;^Y_Obn*}^(wbxPJ-Y{ntl&qyg1~K z^Cn$5gXEPBSC}!VAWNaKYVZ(4nyj*ZfZw0LK3Z4*=awNjir<%xVy?{TLbGYaEbCpRa zD%rD&ms`T08?ZNMD=_Qjel#@LyuY9Cx$9yr9U0q6OLzWZ^_)fZL44dS$=e{M3w1vM zI>9~tZO|G zaU0`?So$k+O(Fd;UvnQ9gq%3)w9UwwU+mY3dc2nDq3>zlaCufSvu0&Cy$^ao3dV8rKEBj{l-5 z7-H5UN-mhGbCo!K)9u3RUDyG3XIzrJ9tB`ODOjV8{G$m?cuoXnfsg3?Wj_B8w2zO- zBy%s~vlP>vB=|3dZTsiM%Y6{7x^Xg_dJ7}+o3Qz|mFC-M3(hxSu_#Am6rS2s5j+j* zqcX$>T!8n90%x1W_2iP$8d9q%X*cKf#rW?i5Ep=r5({Z4X@{^Kp?rU228mO_)pm6++PDk(7>vzC+lT3Oo_d?L61c1^>;3WQxrcxu zbukjz{W%PFbBjac~kUv)f>@goV}($v6BQFX?4 z1T%l91H&}z`*!GO(2WH4$3f!^S_P|ICu(Tv?YbERjxV*_swQ2Br=|0)-~{5E=?--J zvAM(S{fRcotd?bcIu84fcT>m=ZmbKpJ|`j@EZ}TF5!7QPa+}}9$S9$E@MdN>3or;9 z)gg4%L*JeSXT4m?_%=cbx9o-1_;ew%e= z7_a@HpBBV(!WOrSw)+PM$u2_l>c*QiS<9Cv61Uu|0FqSc!^S^Z4c6h9EO|yZCY^Bn zVJIhvKx_*sDBHFh*<|0gCf(im2fjhDt6wqZ^IipDidZT^h6@J=^zg-PSj=-qS34$U zF5jkCp*&Rkx*bL_K9+&0|D&F)8E@pS)&CErc?b==cNX8Pkn64;bQMr~lyH!YEQ6miLwr;N-r;2S+NT}ic1-)3Z{_6$tT zr=C1G)=0kxJ|X($`464Z6Y0PIp^2W}5~cWhAl8EMbjw$c`tUl$_Q^0KLzQo7sizZ& z1tzB$8+rYfCY|hF{WXFmZ8LJpMI4Njq-O}M-%m!c21Y6MztqIMQX{V0KNbY3I?XhX z|J=iLC1weL#93#;(qE8YsDt)e-X&O zzeuyk{a6gd@zgLyE2jBnqwE%3Hfpen7_9=ljfPiX3006ND(IwDFc>N*o){_&H;_|7 zM~ej$uwYjxsFd)oRAO>{%30f)&%+P3lcfCb;#kvyqr31Gg4}@_CZie{p?Oginw5ue1FzCHPn9$iOCS(>f9Fb`jqFQ6}E{!P{*AWv`-!G?~rws0yYveYi|+Jljh*x6p9vlsBr;+f#9 z%d-48X!PKwwbp$!wVgN^DR8ja$kxQf81 znLMeRG*B;x@*FpT3$?{Vl1LRC{yJfs)QN1!?2mK^Ut>gh=tdG}nY2&CzDNL~o>`#7 z$5vgcZZ{o4e-3PXPmN2HX5E{SW*_IEG#ib6j+juh5|g#Mah-Ss?1|>ESqYn?MNAT5 z+G_p>Os~}kgUx^Spjt7U2A`-;77?zZv?6lBpZ~Zy)KrDLUX&MUVr;U`9gHp61&)iw zCK_&97w2>D%??R%n_V__ zlNTB{8F*Ag(N*v+GnSMrQu+Ea9Fu&T8@nrScBe99pK(7|Ci7qtqQ^yMFSPU%bU;cR z0+#9g6VFpomgTzvq(laLPaTVJhoCA(O`NBqCjsWW&+RRP0-^MnBhwm#fwk)0^C`Mb zNS6WZwci1;D>42*8ujZ-H~6xs5x?98k68b4xJ2i!@zL(Hz*{V;Sf}YG3cR4gQFtjv z6ghXyjF*B{fdgOazqQ)&E1tW`I2<^Uu{W?YtUA3st4OxNOhl13jp@!zq!pO;+oGBW z0}r3tAd}NGEw6@L~QslDvomq@z-Ukc+-Gdb#f6kgEh_ zPtwxP9@ar(GR#a4StTG(`4Do+dSk#@2M)PhKyD_;mHIj{;_Me6K`s%HZxH062+QSj z_5sfy0639(Qaa^LeX||>DrUTU3zPPcF7-Bt=7WW->+Ek@wMM~)cP9L%i6dt4LOx@G zSy%Acjkn;==X27{1Gv>;uLBPy4N5jj0$7y$x3@@&r;x?B-BMD9K8(){%6SVmHo^KrWugma=nM>n!?5m&xYXuD zZ!O&Ung?B`D;n{Vj}^&uqzE046D4%(h?hSAk}tEZO0*47xo(yH}V&#MHsRW-IIfm(B!zBOn@9-CgN!sxgRd>f=4kn563e6E>!QDLT1dKS zk)xXyx%78B{GCUC*E4@@DogBIQj&5>+ji^xxBaS^dDtS&oan&(cwwCE-YbD``v@h#gat%xGZ z%j?9evHX>!-|ZdIN)Yiqkh02c?eLD+e(;)!F)@_v*$#Om@Cy;2wA8diR{={dK}lCv z2Ewl$HWPC-;~F=%N;jeLNa3p2byX;m3sVrW5}-@n7DuHqXDfR#=W=9@xMcONeVFr= z6ms?3Pmtx(`Wr)!_kKy-CdjJ3_$5N#{C79QO#bLgykj%V?x*h^;&Ape>Uj4+5-xY3d6DX3j}-qOC1hOJ#q;LBiZ#lfn{tqE?q&^Ms+OV z^3~~Z;jJrozNRN@ZZ3J6FT+C`#9M#IaOT512SiQ*i+UY~`BBNT(&S4S=m*H|%Q(|b zNyqpurw>OorOfD3`)#ovwZ7EL%Q>eNXX-y_jEWVWvK!NCKclPAy7Kv-O?>71)kNGN zL>96on~!SIetiKtpjaFe*ue@Pq{78Lkd4|_hx*DU642E(ZwbI;9Az6rC!r8x%^}4H99&f6OMWprMmk^8*JAynRDbP(PD0 zrELdjCrU~C;_nnTVE&RR>eA)NFx$IE#9yNll=LJ(LT$@w1>XIqQMsDS0M(zVnzjRs zVFCVEbp16n8&~F4`@@?JoSsfr*pEkp5yZ6UyIg84i%Pn&cC^F9L0ivZig!AShN2yELbqeAn}r^IB7Ig_dP5*4nC zX!lI^LEZH}fa6(H;(Gt};C=`HnG-@R#59N4iq4#4yAsE~KQgqY`xl+oSTnF+jtK}J z_BWgg@$5J7_Xv}}FMlTeP0!KCnaw+O6tj6J{;9KhGxpZTnshli4E{wlkKnvk6@}g7 zzCOg%VgM@K3eg55d?fiBNwMI<3_;%m;FOA6HcK*_DKji(S?jLhXR31S;!Kt9TDIv) zc&5r6*dTe^#|*)v+Wil8!Rg~5O;5~1JB0Pwj7bDBH=w$JiAMjxV3_UF zm_k)qMiBRqI1S?Df9Ez$IE-;*N!`s&k<-2WK>RVi}$< zhTI@^Ws7-xD9036cOW!U`P8`GxbX$iqNFu03{II9&x?V?_S1>=@-q;rS17(fDn^W- zgvO$)(l3=);}!GOff%?4RD&ePDgOyeT;`9YDKSDPYJ`D593*t}|DesHbiKr7zY}H1 zJAhl{GUFK@sXS!+Nk zZYN*^zP=jJ+^BEBU~0g}S4V9CU2&{$z}O2YrWk{g9D(hCYjvm<1H(VR0J09Q=um&2 zj#~?lFvHDX(x|&{0RjPw2k`_$iP!N2LlOMytw_$%{B;-576gXER)IrgOA@?Nl`?JASUP-!qosFM}g{n*6%7&~)-6Gr1 zlqBe?k9}vh9Ui~p>J6VV?ihLn9fKVb?3jGQ?X0zWJScQ%2TAWjq`+%*_lW>OrEMtU z4!3DsSnohdx!J<+-!5fKyYn0C+#c}7`IYrKuwbnfo6Mm$(PRZ?=m%Eu@GxY9h}Il*|a-tu#a1weteYz>wZbYII!< zsESfuH9j~mrz1mC%jMCe0J%^BQpeQOexn10FT4xY4T(!+Q{Zj2f-P$P2ZAl{pO?%M z?W+h+`=K>)jA&vkH8J+wnz-_8coQSCieM|>P=6W<`e?AZd;$9QJK7qf3}Lk)T8l^etCo2DTh7 z#wYKb5{f7<2nF>*+Hh@u6T`$QP(P3FY=V?JT|kLeGqtvp6&&6H^+6_J{693cn9m0n z17`1N8igxkFZ>@_^|CmNL@y*X{PC1i(LJyiIQtIxclu3~yuws80`>^&svOu85RyC< zQ68BSGK3&t4@!8W?NqH$y>rl3Vs_D|YS9BE%$T~K-I{IjE@`}_$?Z}E-+&idHjeD6GhGEKO&-~ z6Sn}PpbcrQ_yn7A#$kP8srYLyaoTsZ%U^*%zS1a(N33wx>?Dzni?D*~!en4GmAixe z8sA8QZyY+lshVmIt^8$t2r{*13ntp0bMaqn&!xGFw6_4S5T>>~Lx@E}J!u7H=?CI@}9#qliM& z?65HBgSs}i7?)PqeoOrkm2jp_#4%p+yX6{Cqw`?Nb4bBDj)zx0`z>k>4VT7lVjvu&0zG1*f3~oHwm0!fxhpGjGxz2c0$^TsC+V*krx|GS3$Z!lyb zTE^8@9xBK?MAG`i*dN!gEAJ)$hy&S$=WPJ)=6Yjw9M>DME%S@G-ndn(-A5DK zT@XNtDe@ zQ?^MTXUh)^tWW)TB5@GjDY1-aOXCU=D?LR^otC;jJGDyF`OR*wowzYYzmDu~u5|#r z6WQ0^ts{F*Gi1jrXVv71{K$sKd!qgnz zBuQIjbLgf=3o}anpEO0wm-Dj8#PtiFZ^K2tCFj=C4j>eBOb7shlg_P$lO%6qf^}sd zS6O3Op$%pQiLo3WTDg+}O&<&lBOlWwAo7EDpKuE8*qyk8IKxgqUqh%vd+xzU;gzgk{UQt^L;pq*zq^Q~k*RX& z?>zV?A16RFF9@2mB{wWNIc&IVTlN=S6wh6WUK|0CwOjdYaFk`ebSVZazJ_l)5sW<2 zLRaU=yBH=A470cjK#pm)JWDoI4$88|U5Y8AB$<&W{^%~))2lAIg4w$Vccqv#-5pBV z)WxId7IsNos8HOF75bbCP2VKpy{4LzetSGQ+N8i+Y_dE8lLf1TZ!6;|)rJEB{3C*B zg+n~IT0el%{n@5w_-PZ-TWUtb*1dp{&Jn2%?}1`GwV@f^1^U#6t9t8F8}0>4>Qm>9 z?I%(jeny{ksSQDNLWd)UZv8PBI?#<2ykrG7BAjQ7`jMgu`3ERvq1-5??j#m{{Vuu( z$icUMpd6)n6r-5Qwb&dBsSffCv;ou0vYxpZM$rP>Ct&N*Ab^55Dh^I3Guv;S8Z!a; zy8bTV<%mchnA5wt^ntggMNJ=A4{O1@SfTnxsNPWez&%aPrw_zDz3uz6(YEU}Uc-2I zk2&}82G;))f|nsOg30d^h}15P*pGa%j2!eiQuY2A!5|en2603%$a5(=203eF5NBV( zAiK_;LEb!~G01qqAo3om`e2OYtS=e_hn1mu8oN;JFjGtc0=VW!;+n~MEpZL#{%53W ze@q1bpz8pnKoRiIEf;bAN!RfYXw~gwH2$f{!*Tv1uUY=Fr8LJs=l6-qKVV#|_fx$S z@}lt17cKA)9uMBk6b}D}#%B2kld&^^WCh58E`ne40_F&q9B`bYjH=Zj@)%7BnGQHV)dIbPpc49f8i+o zT(B5mEq0A^ZZDn%f91fc?1o(n_=hdjj1=&X4Sr_AKX!Foj@i^qZ;-`d?O}6j*C4pb zM)-zsu!7aly7|3PEu$WTG@u?=1-7Vpx1-m$D&SLZ!9Ud_x8dV=dX)8Jq<*P|{m7DG zVSB;a*jco(vuRqUUA?hMD3q{hzdRiErxd0?F*Jd9qSbGm^Embu_l}vQfQ$4_n`VuL ze@h;)uDqbEK7E=Se~rao&gs{HOqjH{4Zgg_x-u2K-=07^2osQDr_IxPLUI}KFx8vj zRQh@pOnxXZ`)%AV^{Lkq0rri@$1ZwoqsRSej4HPX2E^$?`GMNt7A(AE6Q!D&OyI&w z&R)g39UKf}@2o1kglTeSyhqPe#M*%{#XrdAFsNyJ)O*GYW5;kIiBY-I)FpLVkW^F) zeMZ$fMI*mMLZjZx$zOCY_fw_gR*@1Pw-vOOnv$zYCVG>Oe-ozfFw0b3KAf@)XNKuJ zUwwlmr`KvTIfpjlK>d+p1J8!FKb(JhNs#Z|n{>%lx>zYDdQEEF!%dXnT|L`}vB!q! z<$FpZU%X+<{hqP7Ey;?10mU~qgFn2y`b58mkW_O}`A1qR-zRi-j^j@u{PDv{l%Z6F zMT9X`2Gq3H6#id$eJRi$)p92kPE1BgJaMn-s}~2tz4&H4JY}b5{nDFNR$~g;Se#G7 z>l?`Fdv8K2EHIQ?uO}Z;CdT`jL=B1uH|CI$_YsP6K=EO-?e$h9JGA}XDG&%>eux5i z=Tq=5I+4woYvrA7AZ9Q(4(~`AO+VuC$94200h5$mO+Q+d)myBU zX>GvVALGalZpx@~J9k;Vt6{N~Yo%Z?Xz`)WdJLn_Ia`?s9r1UWAL7T zg1zc5Q%u?_-beTw+mG}4!~zClld;b1XN+;e-^16x=II0WhC`kE=24x`>*`#r)%hBf zYRBqSPt5^1A}8fY&jbh16Hl21{SG7u`n5n3RL*pCc`HFjmtl;7&S%BhW2%mi78>}7 z6}vA1`6veaQEJmMMdaWrJWwCa@Jq3gBUvMdu|`hPHFA?A&gPK^se(6hz10(lkKh3H zzDgwY@>h+7p8AA--1d7Bto#Wh*mX~|G?uAPV6mYQwcB9KCRK*Ug2Ii0p%Hm}Du&l2 zo&SU}=xlT$Y<}a4J6|iyRJgrxw9!)^Z=Ih3%5@NB*ZkqQ1wDq@IX5zD4MAb#*3K*~ zBvPTqOq8=)#Y|tA_F~?IzF%hdd#Dn-k>`;TtvJrPpED*0GDa0SLlHjb^@3?x?IHGRN9}c$=BPV>U@uN|+Dc3~OQe zI#>aHL{%c^QXESyd*V`+|3qvGKQ5-tEq-K-PcQZMN0C+M-f4`rxMx0N)v^j=bLs`L zx!3}>s6zqdwhF9Z*2~5d5Xta$a79b=#0(&lDv>|cBkC97~u^^0*7>Bj?caFGUh-5RPm z+3HJ+v?lm?9FI8j3rp`vDCSMw_G?AJ^JDWR7MemlI(rmQA=@q6{*AW$GvSX0P%mRc~Y)tf9-8|@Bjwq6dh;soyg z#Epv$NenqRJE@7@q`S|6Im<1eOC%*X2V%OdaBhqJF)e{iZAmE$nL&F(_Ixw+wa$3~ z*PTP5T{TrfGrW{sVHQf^i(69?HixdNU@O0T8WX|SO4VvRNj@%>9}HUA_wwKHQGJ9F zZHy#Ms_IPJkP5${r6;VBURNAb3vE_UJN9doH!gjMb!Cb<0DcT~zlDq-Hz|daF`HQD z;R?p`rDTJUgfZ9IMUu0=s^H3o4FS8B4I zy9%d-S32DmtP=3WTV-?LYrP~_RLQxsu)opZX-)bnlaJ1t!VXLZcBDZE>Z#cyakdYo z$3S`vphp@$*t)X|WX;;{Y>r&tO#Fy;6owEk>19ucd}Zwf|hKI4W0o?!w{m?)A>nsC_7^zgY`F*MqiovLQ1 z`XTrP{Ft44yX88!yu~eV=Pl1=I7VZgB03t^AD;VKE+xH+3?9&{#Kl~=T{oKK4&;l( zkk^29;qc@XRmFf1K}ER5O4QA`E>o)<<7j#1pp{AJGB_FoSx8T`<@uX8$AldTBX=m3^QCYXe}9KdN6uOawMjUmK=MyYErb+lcW4g7 z$1P788R#NbhdOHpU)nUL7{-`lq{b98P=oIj$rKe@UR(;T5aXqr9(rCmr?y7t6`?pY zVG_nPpR}T(OV8s515*PGmwyvTuj*?-mNg@V$XwtA@jTEF zgcC@kS%*=JQs(-BS=UGz74NRwL&|`2AhrdD;d$e zK5|h|+mT|wcB&Kr99=tkrwdaM-ioZ>I_EuF&+|zqF{G739gs`@H%}3Q0@^Qwx`{k} z*w9|)A>SL8uA{jEBV0#e*u2AVyq?R+^I*?p6c1!Bz`@r{C(uFi}jvI+W=%_q$MArqm)B z+vcn;yp4_IQ9q&hbjvZZaDj&y*jHqJ9J}@k@k5%2*bFdXU(5~eAImrogBh9-!ZQ+tQ z>989qJj|F^oGDGn?~FS-YRWVeFb`g0OxJi>Daj#8^goA|t*)h5AhXmck(wT%0xoP& z0jV1uBf!4rU`SUro522f#0a*WgQX)_F9P#LfXR=LQ0=r9T`X58$Dj8WHRhmDm;f?I$O_5M=7^EoSSA{3$83rRkAc;H%1hAd~tlo z(7Xd?{D9fT_eDA8Xr02UC<;OQ99~whiDh zCP!lxzXXZi`wUT1hqHza8g5=cL{6p1X{O0igBI!=WX1+p}3XH(ev;T~8o&AT%8DmTRG6#$!0P6*VpsZp>; zH#Hn4(7(qq?iZ*7FQ~KHo9W__=GyDy{L8}}6d62GGNW~c+BRLio~K*8d%l6*Z}ZFFO8 zDm5VgqXyjo`~d~MN&Wd(_UEzZfGp5J)^i(Jkg$ApLggE?Y|Nd->EQMbO>t|%l8(I% z!N9X}j33Syuut|-7RmU%4X7-o_^$yub!!_&zUn4p{Cml$P<(_p%?y2W28t84w&F;@ ztWxix7T9@MA4KPSjYgn_%L`7{7+S_*U!6q?&c9ASjEHGWO0(`rkUJBI)IId{iJIlxkhUy0tRtMGn{# z0KEXAB$Wz4jYLCdHUaP?0xrH-ssrI;nwK<&y{U@>*936Tj>aV98;hFpdy}}FCy|FQ z-mn{njgiJb1hf=yn%4nYLTH6UE5=4HL@?IWobq6h6LK_Z1nG3HPaH3SDD5ZUpao7TC0%BzM`uUixcr&or$D0XQmk-L8gE-4dP@^uGXBZ(9q*_ca&q{3iHu z$`6&%7drV~mi6`-9F-|}Aw<#;ACmfVADT`W)z2 zS4F-pJUnySRLYFtq>ZdQIQ4JUNd9{bqWGo;!)n+fWEY7{yh)$eaJ)}0Zve6LZjElp zLq>->?bC*!AKW8atxr*{57lTh_i@}W6Ehb!%wXnr#+i%qZ8Ov5{8lu5+uvD(oO~BP zk|tm+sQI`lQ!{%1taB(uKxvQJ$nPMvBt_i|D8yc_?zK-a07Pn@n^9= zX;;BJrAsD0lAKsW0LAW{?r4Ht(S;z+$46RMgn(m8Y!>CyuAmIZCBcvWGY)&-TDLNS zv10dA$cpGplVe%gO;uRa*Z4@<3=c#!7n{PwMP00kTJ;)1zD|&DRB7WEK$o$=SePxr z^5+$Vsq0pKv| zsC#1=q2F#!UOuJiFPMSniY#nNmusj&gL#88k&*8JSZ`u2ri7xy%QpNlSo_e2s0SQ& zHJr^3ZUmdNx_+=!9k@m^!=Et_e&*a^_28*_Z{MHrDrO`s))x>OluYNgte)*AUOku+ zeE9*_m2;cbgGb=JeYeo$T5}v0mgz9D*gVJ=jfJ1v3U6XRx8QYJWm(T4U{APZm3=vn zzA!+>;~V^0z|L_Qg5^n}8L*w!qZG|;W)Jw(pVDz4zE2OIAFU#Rk-&7D^-?PIIz3*Z z$3l8|>2Zmf4cd(n`jT}{AwS>YMr&8O!n-<^*>@K|z8c5tiPbb-F1P&iDCa?|CyRk! z?@jzkKV~815nOWI# z6|)d=$MADARNA*z8&PNd%p`8QICok-Pg5mFL?yv0w|sZ9-R(Ru^FAESNdy36;pSU? z8kP+L%U}Z*w{r(z*(|WwLs+nqV0E_h?92qW{5{Vf!Wi#L}Z74Ij@mnN0oya5&Os-tYg_ha^s^nU(@%3C}?@I+uDe z2t`1QjRH~p6N8w@A$Yj4k0Q|N|D6o zVCk8Egp!J>v2Q{*lYTg&uVsz+Rot7^@*uAT($b9<<&?KcWb0~GlAb+63C%E8KWQHP z@+S2ZMRMQPEeSl{`|k!eKs_SdX~zDxBYE$j(@z*Y^%vk(%8zxV^matbbYWm#7o0p1_RG>+BmTUpk{_&bsPUU3-va*L>J z{#yccUAaTqYgvuPHX zr!kjWA`1Bnf^c*)uuV4mTfy{LUC-$DeaM3r7QYU_6ar8RThQf)AQ(@@5O0N|s>)aq z*hXTj(r}~+8)o?s4RfM(<%{XD;g30PL0gNgk|Yp3vr)1E#BCjwIL$Gz+_k$tavYMl6GWC$pmTt&EbH0;D)nz7Z~Xv0G(@D@>^b5I}X zTmapoKxdVbQ#g;#oT6o`f-SgGkx~iUhgqm5vnExx{ufOW)nS^#Dhs5M;mAs#*7J|G zGQ-S=eG}+9Fjse2=hB^MyV>Bh!od+Z#JP=04gh9WzD!p(4VZN$_;K@$F~v^~Z$crO z58?0B=7n0$4^bryGOd5-g`zsvOP<3qz+l?>hLH^C%}hyZr-Ha<3VorSjn{Bk5&pnv zE0U6K?=bFE1n<=HTDBrECQCbYvG7WjYF??)!YlRp)Sytl-9jA#VpMAc1p-kI{J%F* z^od5o$A1WO@`~sk-Hh-&p9x;W zK#8E%^Gg|C)-}hQwC-1)9MuyCu7qX0X_IMIsl1(rroC#xyLcVY$qk}gipVp=<9BxP zA2wwdO-C6eSp@IvdES3(BV|wg<>=t_&xDkzGqVEv?E(7F=VgXpz1`8%CO zntgT#T=g#9tQzZU(6kEwkTVF?`V69cqL)DF*5+A}KzY+7NFaq-=t^OpLBbOGG!ss4 zx!Qja!e8J7;W9Ik1z7nEg9fZjw1^!u zHsRJ;AWPh@Y@RIona`8*I40c8CbjMJ=*6wT_q(L{1?(lL^TJO|rPa}YviASyAN2E* z0%$wzT6yY&#gLXc&4_ONiw!}|vn?sZ(zObBFE>*!mFMAKFtxf`SH1v$gSV-zxT-`3 zXDzgAHREK=?j4<;8_D0`;$Hapw+{3c`s$l82;G;r1TU9Z4D@B|{xidqdz6(X_b?T8 zVV%f7z?J=d&(f}t#Ahvn<8D?CI-Rd)+RacVP3}*D0m`JXEbc^0x6Vn9f!O9p)8T-D zv$_b(sI-fW$@~LZO@u>|w}OGvn^_50@m2?{m9O!o+fkOa-~eiE1^6bu(*ZD4O6lED zde;gXt|T4XFN%}@P>KI(e{T~xs1&w{T}OqG_vEx1f`;4PYNhhpbjq&~FlQv1oWm3?!RhHGXALhd4q(izOB*zq@Vz2$2iesK9V@84&dyKSRFw&bJr96KsY>;0|zXqVOwc06m^yQ7PFFV%|8V8;WVlj~jOVc;cR)_i;JV z$$v{zP?sC$MXhL76AFth>UBxDP{jC`vSp-}@uHcI4t;Z&F?+Yh7V-s-C;M2!Jhhb3 zPk{`{uoD$6bD&fngvYd-CApq*DVJ}87fcVo4wKos<&7{XOq)GMi2&u}s5JYS29Esl zlY}S!CnsMA3R3maR=mo>_pv_LywZQFY5FA)aHFe*r{BXuIBQ$OFb7^`rOR3>4fzC-R=kQLt%_q(u$EQf?*wbO`w$y~xzX%xkblGJ zP{dw50#IHLO`o2Mxfs@?#mc0!Shgoqpqm|6VZ34e7xlyL=&Vu$CR5<;sN?Gj?GJ+1 zN(<5%3g%zJo5Yk)_>N(;3pjvvP7p)If$26;jFZ@PgCgqsE4hO~I=4_}C3Mgi*BBSd zB=v(BRH#xwQLzd$Lf0IvX1c284hF71_GClw{|{EN)96q$QTUSW2ZP5bIslf!zS^xg zMRxVz(+v>IHb7n!)+%vd#y%zA!d6(YaOZ0`&rq0vAFHRhd^e=^b1QH1^n6T-86{7& z3}J6AL)e;>Ek9__*qa?1ee2vJGaOdklRd`1`f}Hd^=Xp8~8S^DjU{>{(C`OP0f~5p-9mk*`@Dimk1QB2P890XDk=~+qWcUKFn!^9nDY_5Zr1B=v?yMCR zctoGcewccx$D}N~#mr>b6nI^J$esYJeQEODY&z6c1MQDX?@97?4ceyg$rGg8V-C!D z@ic!OPzTMNA6O=y1a`o~{4A!Vfo`G+fLgcB9l_s5RgO_0Eret&PsPp*D3qkWyhn*nj=nRg) zf{~o?!#h6tZeqJT;!)kNtLYq1tyvY%XB?YeRrvR0vc)&x4`z!i`P^f(;}k_(J9I8W z@Q)&396E!mcp(c|h*X1{q%JiIZij`c=A9xBg#!#=r~sEt@PJ_rXikBjj33K|!oc>q zA))vL<~CU`mPKnt3A_kdw2OKFmf&-K@^b#PCD45si}0c)V6q$lH{lO-VdX$pXLMmL zK=dg*qICetD$q$dL26F^t6orbm^>0(Sk(d6{Lz;nw{U;754aY}2!Avc;{IqVS;Wm}wf=fqHe>AhG4+UUVj<( z`shd0C1^9cwjhpYJ2!L&gnDywyXF(QBB=L?e4wwO8*OE67!_vxDIdYgPh|7o)dcIi z$)5@f`ja;9idtoB!L9Si7!dt5iJNurENs98q@x?iJNGD@?Z4c{7snUD)0E)f3rF>D z+s|5&d#2fZgAbFv<sQ}7OohC2?kq_YF8^Zo!Jl@X%142m=H5?o-rkb zoYtf_ntT5qVKiTQjI03^Cp6_r=eUT$e}10PYR-fTMUV*Y$`;*;w>ur#3VbjSE_wrt zpkG{_dOQS4P2K6czv2kXtOQA#P>Ioa<}dLVYi4^|{WuzBVn?cfD5Mu|4NnUt4V+MAmoq zCsE(xbFQyl3+;PXt1suD>a)%%Ga>)xh&hG4sZFdqDTqGoLMOLU3EN*FfoPN6M+!$D z)~xo}ECfbFUCb|+HoqjAUkTL49GG7(sY`Y`Xx8LlOZKK14{HnK(d|bu9#y-}b$mOvz%O6@AnGeP=lafTp}vQ; z`W*jQ-$bYnqQufe2hWNwVhEC3AixDbz+M^J*9T|MOVp*Mjf6eCS2X77?^$EY4fv-- z<%gTewlTW0Y2?lJq=R*|cL>7 zPJP;W&U4yxa%(a&F#|247RS3V~R z?^!RdIiw{WmLy}vMIDkX=A3y2p9ZL&1TmFGNkAv1W9h8hQ}H`b5)t{Kh}niI;o(+L z{JW$t$?2U8j77m<0qWR#>V6|_VF$?{3_G-)S6AyRb~VVGBGSYJS;^~N6+SI^&KwE^;{82 z;R|AK>y+8}&YAQ@oAS4)!w?On?srpVx_VGUdtyl@#hf@ji1UI^loq2+}qDfkM@p?Zpk63GIkFF%wIIu)(44@rL8qozx7Xv!}BTy8%3RQ{}il*~2E+I+qq1kER- zFU8Jy&DwlCT^i};4ctdcw4eVT3V5}#kGaO!K2E25#HGx*W_CHPlIYuSg|ehA!0cjQ z5P>ui&dyUbyMB>NzN1WC!3wK*hfXrer5{reo?s=L9G$7Xz^#lNN>i)|2<`L|d!m*J z7&vw;#6G^7f^PMo!R)b(D_$Lz>sGx?uUgDaL}i7!$(vCrFL0cIK})!mRA!}AwXBtx zT@af1>eMDzpg`zO=~ysm*_Bo!&@D*7=#mWTvT$)XrDu%+BG$fzM1=0+s!kZxzunv7 z`x5>(;s@~ezxD4P{C!mamgzfj%3FQKTG(Ma;?O@wBv@K`5d?O|-RvMWXt>}%k|6zE z2UcuX$8UNT2b_9XQD*rYpdNiGMx-h>v1bGdJKN<5Z^)&WwWDom13=g=Y{#)o*%f3p zK-AfiuOCf#%Oy@qG1_UWL@xc^Nr5gsi*6S4%71c1`n8lkD>*D(!EUTMTNnKM*T*s} z6oNOnh*uKyb#JnugBCg)6BS7YI%mWRbbRfNlOfsRD3{Rj$B0I_LnHt+H-%o`5qx05 zex3|lahBbQFZt|e8l8Nu>P?zKd)lfQo=Ii(l1u7k4fnr;S6Q{tyi~Im`jwOQJjd!> zGDjrKqh#-MvYS0tWt9fWv_%M#0li@veLzU%ImJnH{p=Dij^}Hi^`bJ*@>m@pel>uL z2mBuJ)J_A*r-vZw}OUsIlV z&Ba!mX#L5Y-o*GATgLw^SWI><3Evk{n6AB*L=eV5Wo2>o*=81R>PN}COD34QVzL!y zVvGxcD8_Wh|1>B%y)-Xt>{beYkHvAj(<+bSXbAVOOp^6GaFV2_OV zj;!EgX8IE^`^%^0C@{mp?kttbt4pS&A=V3q3@Ico00!=Q`zpmR+QiAW7cM=Sat_0 zTUcW16WGj2!*HuJEHoarn2of531B24h-Av@R$!hskYOn4Yt^V1gu(DaG9~NO&zkJy zK4$$~3dyuwC{o+ogEDl!z)H7o5t~e`)zTKYmlc~pYJXP$YEcx z+FUMuWj`zBO0e{AFjl3@>GiF;b&~I5$UAXnnnIiY`f>+#ZVxk(HD^KQCymU(%33#W zZ*(1OpdAc>cS2008&%3w0Fvw)xs(p!@&QL2ir40&H)RnJsb?y zX5yZ&8a_#d|LA0kSyS@Vq<&ngn>Z&F)*CIu{XJu2BehHI?7z4$RKYlM!|7ubP&QmO zCrum(jjd~Lwg2jW3hRHkgJr3bNXRENCAsVl+6gnBPIQ!15L`onmbHn*lbsH$qvS(p znTdQ88#iy}npoEXlWj%nCv|Uem)6b$U7C+8U3b1!%Go~VEh`6DKi@^IEvx+N82Qj=ah%rZrF)}|SaMBL0iX3Jb zD!WLe#-}hvGye!$4Uj$cfTiWGZ_tHZqR-A~j*R+pR1+|y|4z1@%09%jtAV2P-M_OgA z{5v+8N-VlI7SrvZn9W0>C$4?@Ad+K>Vw%kG=#v?>XG5g+B$q?e46@q)k_pLD@%Ikg zExAlm<5S`DW3BdvUm)d%Hz7~)0lWPae^3KLe{sUkZVvatpJMpUc^wu1tsYPec@T6H z1gSY4=i}v|MRMs#YS(c|+L)&iQnRaR5B|{723~vGSuPz)2+++}yj6^rs?j0f?O!1o z@vK7)I`%?3PW=)S59M1H-8APE=U{Qjp~JlDFiA{eCeR5Mai0^dOv-T5Ages=g9zvUEd^^;@!D{)u6+ZaBA|Y*Fh!@HZ*tMu%6{3k6VZOJkN`X z`n7|P2ZN^hrjidRmewufl0<_-3O*YjvJmBxXM{9Bc~4N|L}gU6Sn$|G+>8H*iF-K) z_i{CF0+G9PwpHtn?8)5A(Ycq)bzj(%GK@OM%DtXwtj$eeCW!@4wF~qGGwGBu9W_Am zuYJle%f|7hPMW0776w^A?e){BhM0&ND$ih$6dj~&25Ajja3A-wW_SQ24A0LGLI+hEfG5+}V}UB9)!J}|OVX?mbb<_8 z9>$`3@xW1S4wzlFKQ=@;&vdcU^80VG5;qp1%_gSf3VnAdJ@7(Q`D=aogmr>Z{yP;- zmM@nTv3!$+%_bto2Jj#Y?&#;-MGeiiNfUXd8ay>0Snr&PX1S3TCnU zYaX^uZ5jYoc+GDu6i~r72ekuj;E&w)vGR!pXKJr>CXpKVi%AdmfK1vOUgo@^I8%<|_!fa1m&C@n9U2O@r4KY2kAJ}({LdDxam3Qlvs!k{GR zV@PT=TGp$8&LFXM!Gcezq{|yF?AF93krj=!(qCKzv97-o4EDL1eZ@zm!i(@bnLF7? zCe?_Q4(-A3S#i-=e<6dHQ?0e%PiDwJ0QlMo5gRNl@Ot=sbiOWbp=BmDFEo0)XMi!Y zXQIpTks3_)621u$88zj<7IVY3dgeqHkB2x`=ExK8lZYD#+qF z712ND=>6j^x+PQZAIa>KKH>J0W887rX)_Oc(F=KgH5A?t`=$pZ(KpT3r%MHkvPsfS zwIp8K18W&4Y9W>Selc&yVpHaMiMO3+(@p5?0k%Bz;YFBjPH10&-^a(F)0K?Pa|)G= zL$jtT8I=V$(#creG|1yx`Pc>C+c;pC=Zr!Cp4zw zYA4-DK3HB-2{B1}OlKozjQlX4L{G2QwtXXv^lT|`KzsWeL8;B~w?;c*pZI)28v};0`~X?5e$ZYUSQ;F?e4|JGuB|OkSS2{PGk@)nKp&K}S(G!|soD z>#h)!i;u*~C2Ju;W}FMJgIeWa{XjaV7jcN4U)PaviK#MQQ7qAc&ohztM;N%d`o1Uq4=ECQen7XHvFxTmrs}N$fUprBfG0CQa zaT}j@1Wl%qCy-H;TCJ#$R+2DcbKZ{qm-3xNrb0S;JlCWB8k%R~BV~8i>xr2Sd5r^m zLHD^S>u_zBe@9l;k#0&=!zEcM8hQDyolmX-9^GM-o=pMIZ4vwc#y+=0m;Ty;Sas%C zG%-^>f4}4+RqPvuA8f5iGlqvg+ReN`{{U@xZ5DZqZ8x*KQneps=PQ~A;cjL;Y1HJ} zcW}<=%P$+~P)*{^r*{N@@y{)G0IUqM$c}KHBjMqjr-3g0rCT;K#U3uaytNK!* z+F#e;IgU>9WO9z{qDSJ1li53I9+^;7f}i{t4CT%`hqrI4&$Zv zsQe&HQgL0(+#y^wE&YzuVGHVqk<5TDx}H~+Cax4Dcx4nhHU#zldV8YyZ%Gm3A212E z(>pN5J(R2AZ=NgwfJc-61SJbi256!q>7Kd+=d$+ms3xmBrr0o2DtB^RSY! zSV={Db0z7&27|RdgH7@lO>k|%?~w2)HM0Ioo)D|lpYpe=e{bUNUHbQH{C)RI@%=P^ zzxjl|h+X?wBl~TlPV!lASSR_2mpaLw*mT@$q3LW3_YoaF{^_pJ`RXxF#LLi!Yo4p; z%L243L3{!qNKx~j!TCo(H#WwF1eV{~OA2_BQA7tUBHI0@AR2f+YK&9Zq9a`D7(5t- z76_GdV0yh!%^)ZVMVZ|m7c&`n4*(r~!af>P?z*!+7zk)9pg)g#e^g;lg?yEcfU(M@ z1h2T}$*K7+X+VHo)!G;=VT*nK93C$+ya4zN7dzb<<2E^|!#USeeD$LLQpsWR#K+8V zC!63to#FoOS*Z1)2>o_0j~}7V836NLP~DgWQTIxkgrq$yxOysAB(AUQ%Zl!OjKL#` za>dHOB-VbVuTdb{a>YSN^ErO1iKCQ0AXatqf*StzitjRB4oMt@-~PXqs-HS3Re?^5 z|5NIA5(nLcj+5ih#Rpz9KOd9R(qad;)u+=kea25SCewAS8Fhu@<%-dRa1C!%NK@c} zzIHoJZ4ULCcFUi@3>87edt#It+#Mi!7QXnG#LA4jdpwY=)fd$BZhSC`UefOWOxQC8gtcWP6^B=l=w|^$8e9L7o zvc0J2^hnp~0Sa|S0v~fFX%`ASo%WTI{d+sDg%qQMC^{y3g$f}2j+3W&c>$YDeEp6& zec2r}r*}vRZqajP@noh4ig>xt47ecraA~&`3KvP_3yypk;1EAU(_MVij4Aok9wyOU4g!2L=rocOS=BO)XAJj`)K)7 z^`T*hmX%DF%ab38O9V2q%&}wNXu#MKj0MBPO-}A|srPEEj-qo zD*CD!*rh{bxfJMkyOU*Xx>Gm_@#zzlNLDRwc>~R2BTr0}7q{5Sz*dz`3u(j|$^^?bOe(X@@Qq!X^WBX^&Jvq>mj87qVd>blhwq#m-MBn%?zzwBa~SaKMi8=AKn{+J7E2Zc@UyK ze{O?r0W%0c{ZSv(o<6T3s5=|-Z)JT$M!dG|XnjykOrz2r_uQs+_$0(a7qU=$w1Mht z9B0(`(OXpC5eU)7o=+vyo|OSx>%;4w26gMzo)lK?sH3{U-}MO)fbVqypm|e+NUc4q zN7sOcH8~5tKjQI!uHN1ho#@#*(Q|;?9Uc&a%I&M_#K2Z6I1zzY^m~4a-^;DmzS${g zMGdw*@!%L%ujJI%&>>S^BPVk%HSw&mDH3Y0jB2^G91%)91w&x)tHsrm+VB6qbrrY+ zn0i|8#)hELL$r&7kj{;izF~oN-EnU`#QxPl>60k^o>&MO1nIRNT!~U)s^nzM)cdCf zvzJrcH(t!c1$0ug1dY6SY;yVz)Ksz5%d4u2ZUks2B(Wi`py`k;uEx03B@CGE==55B zp0@;cr<*v%#{eY-J_ZzJ-dv7brQ6XCjQ>*z+Q&v)h)T_~^Q$^hcaA2ac0>2))kM_F z(SoQi{Y@nt*<#(MQh_A=xSojAjfnJW41~PP^jTA8C2AR_|G#<@QA;rW1DyWITI(d< zb(sE+dhDVSA6(Q|S_nB}fG65I2-6;6u+G?F%0>(1tF#8ZJ-3^h*pQPVWmFg33XSct z9KKAcU;=zRp?_RmlzILlv{6fT6V7pfGlruJ6>Wy8D@3zRyG)}RugVdm1PzMp)xH*2 zCFX37b!aEjidDxXo?}U=#fWUOy~5bu*M z4X(L(rby%>K^ZnJC?-g7ju2FGF%eF0S^n6-&tQc-33yh6V+yXtt?-DRH)Jf3MU``^Q3OrWrYIkOulQ+o1ja(zM1k6;%WdtkB(`T+*EzM|K&+T`yHm_9Ku`7vWDab$ z)tBpeJ|Q2GovlyYEF72A7oI1=vyV>8bReZ4cM1qfg5cbhibHN7(TsFVhJ2 z{r3$)h8V5y+S}{dxgO6DfZ|HqNgnR1e(0pAN;<7!c7U-V1RwrY@ozL1wa_6fyD=lT zLUbV72gc`Fck%EheY59WN62Ys4;1!f;9@_bwqw0Sp_A#7G^`+{h*Ql*n=R_aQqIj~4F{j`?NjCB16lqZgNye$ zyzMsqrpSFh{7uf;I$2Jx!jB!l$rCpICZ9Msn}@?fLGdyc9ruKv6CKzTXsdy?Xa;pc zlS=819ACV4`Ma!n(?b?@d#x~&tTB%vq6e_D_X7)cccf*wxRbvG-ugB+F+Ut-{QT@9 zef->iNmJwJ!Ze;+!|~t?n|Fpc<_Uh%SO_gWS zr>owC{+ewdr>bG|B_x%HqUh7YzM=VZw)1(iZ^7GSSvbk&=Eenvu>*^FR|@|ZUS0~8 z2gM;P%M%Y(q9Pn8kfTk1Jq9F6%-@CjM^D7iGeOtt$9!tYOH8%- zgtJ-NS%_~IGfwYSk?DY5xAPL%)h|lkfg6Rg2>gSthgb(DMD3BrDE{#ZPc_DG$QI9b zeeR+VvIRbgOrOmBw39C~7P{}($v+57*cfg8_2E*}IcTg#n|P5v&b)7N^!0_4N%Uw> z0JiOy?raQJYojs4=eFsiw9g+;(JL!|py~OoXC;ysHx!{>+ELv@(!m#vxHQi}vNE^E zSU0Kw>xaXoG16{2@-(x1Dtc{OA#|p+|9Di94*@yT*RiAX;+O z{lM#sf=&5vGUmTmn?O#(Vmg1NtE~19G%^3pXP?A;pPDyYEQ=@8b_M+apG)ig3qkvl z8CqH!=zpZaH21gaFG{8z=@LptGd*pNm=<(m&1gZNtf)jYxL;pJw`g^E)L={>w_=%lQC%k3Y@yeUOvg6mO;P5r9S;$q0@svC?@gh>Qevd^Z{L7{^2F*p`%2uP%g05W zENJXruWQl7Yc5Wq>44Ot%(B_Ex_liSElwPa5#@;w)tf8r!j(R;)~NKKZ9|n_*;J)| zQ>C3km7d6z*2GYy^_f)ZSC5!0J(Vj>4po|Is&vonCMxZ0s#M7|DqS&)Doy7~&*w@P zhE?j~N?&=-sB}x4P^A-_s&rLisM3=|m7c|wK1YlGi7{O1u6gE4J9DKMhbkRus`TKj zCMxY?s&v{#My3BOq)NMTrQ|dNq+V$nSGskLQR&z5p-S&+s?yiGg(~e5sx*@; zRVAv_NtJeT%pyNu_ZD;6JkZyV!8x@z9NgVNHxz#z)>+=ErVw+)FTNLZ=u^=g*a=g&ko%(syu;+V2No zW8RD%bNiC#{Bxnk1;5L#Sh@i1O!z8;uMYCrTMArvoj`Z(?3nW@FOuP}RPApQ*yC>- zs4>d_e@u^E7JAHWF+Fg{Sj*|rkLYn8)L8SIP7i2s-8RElhsogt`NTqy-9V7dQRq>| z^nfmKv|B0N>+6JG?$VWv3kzZu|CxwuI?vw@gBJKmN0a4>?pYwL-=*d=0UbDSR)6ze zW*UVpt*OI(&R8H3uOqIp;id}Q&;SHEq|GP-f{eEk!~(Cz@aBZUo2$diUi9+tCm*ZI z4Z;3phe+7-2iw4Y`k^i+*va?A?#(*vxdi)7irN8T=jzh&$D^;eLkV5RbQMYvO$iwT z$%7+r_Mo#fFvQVjTo??Bn@flCdO@B-mIZm8jSW1e<<0|&)HOMt;`5z2Cn$zCVrE%C ztD71Egr+3Mzh6hnG9f&JZvsyBJ9*}d1iAC^o=?T)!pGxtHsWmS?rzv(jGaDJ2M-oC}2 z-?v!!9g>g>qvYsktbCesxG_h&EzL82vCeqh=B_Q618+Tv@fQ4EGVs$IhT26<7R*kU zsBpPrbevp~7w1V23udohc}^ufHH{VtgDVUS!a3*)p|Y~j!a-38zB$4$GdQ?bd;M-H z%6Y`Xxh>YM7qyMlPltwC&s#xYah&y>h?c%Fq+5CCf``O3$d9D8PfVS&S+y44k`R$F5U+LS*$Le~3*>N#*nOBI&U=+Dt-r77{sh-N?c|## z$}R0oF1a5=4VdRoi`K8uHRDGm-*~YiT;--!;Sox4r5k;okiCiyqYc3-NFx8Gxcv}5 zPNO?X)w~4!XdjZ1P#u0L@K3)Zuu2#6$+%xkybnc@A2bu*c3`na2g zfuzANkCMZ-C3-MNm$#Z{dAL4ao*zvg{}=_oYRRrW(umH$_1CEghklu=9qrXI-P9@F ztZKZoS&h4ScY|4tyF;knKeaigMyhcg^O2?|nub((aQbl_-_Z(V`5Ue6f5%42VcY)> zkkTYA<&D=Z- z!sfiz^HKZv?NT%QE#$Iq7#||0+r+Oo1;3J6uU>YOX*R{2ZUN;Ngiq$FmoD~+eb*W- zQY1WdqkY0NF=47HVa<(o`h+)4UYf3j{zQLyQs?09Cb`W(Ztl4a-s0@Ww{qF3#(7EI z?Q99TG*bsEDlQxv4)4C9(32H)2x!_WxpWh)E6}B&gG_VtVi|3eNfHyZ4do_3YbC0K zNh_)=pwE#&gCPl~`mU$onJ&5t7-xenq6(?>&PgUQXBfm`EDxVsA0Ad=On8Otym=;w z@a4&-3b#}6NH;o)CJf2xeG4)CY*DB}-&~_I-!v!@?7boBMn%5sp>7DeJRR?#@U#@8 z0&@lJLlaV==_h||;A!}~-yA}dbMWXCq?2Hw@FyE7yrj_*-j%}}a2xxRQ$cJ#w0gj^ z$j?G!|+My{@)9dqc z*>;9Ehe1u&K~1KkpbrtpY4f0%Dwazgrm#(h2N|PXSf8R}-2(o!JHGts zGrpz#$O26ab)uGn2(@(#^2b|j@C3E zF?;gyn2(?-__;4PVGnh*ST}6{M#&LzFB?s|4$1X?8OReSivo}ZM_bOZb zeDfmO)Wi^u?ItwGXGI+Yqtz+dRufqrlLNsy%}#SK(V;Iu=xc8hlL`_1Y0>-+wW>eY zH9=+DaY^;M=Bd0)yW%Fx{7%R-vY5zgvzgYt&69W{2!9<-o?mZ~KE*yoJ0&`_JG3=7 z9uIv=^>iB7(gtYKr^z=)(WlMM|C~_U#Qcw~GVJ(5^K4tGJ)9e5{%514w+DSZh+7-v zl7CS6-|$AAw%VON=@-mZq zg$R0XI6-@x2@0d`2`<_NZ*4^U?vDvn_}et)U$`ahiMEGqdajA~lrtgJoDevgUoAA#J8nS@tiu2&2V!q?q$Z^wYVQ` zc6vQK_Ryw{2fmFqTeuc@pJ@`_w7nLHf6yW!{^=|mh$rnguL6(?|Mnl@J9hdgY6sf% zQrr+bvvb;BzlOeWz(DttAA0oM7~Gn+H?1;I3+C%i?a6U~OJ=a?@!zYh!{<~Re7f4< z^Y)i!eCR5vlPvfE9|qzEB=m-tR;g}M991-isf|(mzbh%*6#pKmzj$A)pU}j1n5~H2 zO7Cg!jg^|eKUpqY-Xwk&?9zXX#O|WrHrW06Sp>HRJsFN&A`DkxBqLY!DL(3+*yTWeYa|Lh+k;h)pX2L8{_ifC+oV{j#H*Y!;7WMbQ#*tV^S zCbn(cwynv;wr$(CPLh+Hcb@y_S6|gt{cHECUaPvguim})+C)7d_;8R7!Pg&|Y051X z9iJucM|9KG*9n~OIjPzj?G6?&Bu_iNda?xIFnVi8fWPY3zSFOXfUX3S;MpMfDS*=G z=hDU5weNnrmv^tZ3+wgg`bwYoQKyv0gsE-5@*P$P7)x3_2n^;6gxBvy`z z$e0tLYw=oXZfKAT?EUs8xS&5{>DTiF`W39$fGF^Jb*H^U7xX2K=`+J}6bWHz{!Oo4 z2hx%WcAof6gcV!XktI;cKzdZCal5TK6zqA6YiZ%C2vH)Oj z9w^K8L$|`(puH#@w0aKvNi>`pot>9Jq7kL(#{hq4zuL|{dpJ@TS z&(%SwFI@K!0so78%)WSgxSsi+%-K$wZMM#`2XH3WMC1ce1`@T->UC$ORzMp1$cmjFb z;`>~Ar9bKffGmoW6=*pZYUQpCNUOqnT}T&jyRJeJ_-%X}dFZ;pL3wJ;#??#@Qb;?M zcBxE*VV6kO_PBxt4RM-jHcB@L+E0}|Pi#=$?BVVX+t)PI1#knK`Kx=;49LkiACHLs_~*vW7BYu*Db3mB!+&mMI`Q4f0Ij}+t(pYeRQen=ke0GD zkNf9ag0q~8QQ)h5TD%R^a&7QM*)w^E)rw#Wm6>yf?XXcj7nbtee)VxPWd~>#9bd@B z!D3vSslZ}iRE|*^4y#L$qH%A&<2!)~N>Dnk_?-Z@9VXw-Ntg?1zqhDSzbrfaj!Y#@ zf3`90Eawkaw5J{&Qi$7&ilB5m#=&XCKu<9jy{54A)JG+lMrHg*axb#sLl}B+PrS(m zcj<(cY(Y~JpLET9qT@Od^l>q!J5KH_{}hc{&L`11v~ zEg-r9z-#a=ov8d7YT$m}kU`5{YB-vlbQP~JBVz&B@_zRm#w#hNW1ldoA76hu+mHeC zHMITx@2sAgtZh3vG^NQ8?D$=;XF$oJxd2EYmp>vt!PusCP5A}H+?b3OA=2f zBQkoAR6efu{PMTpm!k!03_TJS#vB}t`ELKsms+RsNK#)BSFLyZ%i@x9-VkD61&?=s z30Y8u6iCYB-TQhm_(*tTd*8AyIw|ccDCG4@o6BGN(Jhd~vqWgf8+q~LYh>=DvFtTl z?zUV07Gww0UH7wlH$dmN24Z-tfT7NB`iD>Bnr(XjE>p0DV_uo@6g+q#xM;urYJ<=pa`DoVh4j$M6lNE}PXB6{B|1?908NUfg-fcVECZI7#6o?%p zseQcANg~!$7l5>m_boP(xfK~r==9=S>BTo?@AY#_v(6SjUtF05AgvYu5}jXM;r&*Y ziz3-B(TVJc?mWErk{UKU1Fa1b#)!N;6aDF}MJNvC{;(SM^VHH+MOfaFLv+2_ z7{gRROpV(2buuUu4|1(Ye{zHd_c#vtb&>G^o7R9SPBge30w{IirJ$$o2Q1tsuXvJ& zXE2`q&TTtIRU%SI0cf&s*DAgFSnYevKc#%XDuIBmM6lhXQQa13r?+Y<|KaS7yUsGV z4=wO@!grSZ;up%8n96CEQp+0T?%T@pgOz2~D$}xz#Ijd5zDf|WR($ibtNc`ai$!-# z8Clx)?vR)EL&9PGm)vuTIR`IkQx@fAGkdy(j=vqO-;v>U^8@9bDkDE3K$-uNkp~Lc zf)E#!{|2;b6DW6#{~qqP|Z_R=p8TT%D=mj@OUZI{tdjgvP&ynM>f^N+S^n7Qce}g)rMaxBsdh6&BBp1wk-s-*e87cT5;*?sOiEs0kEA;=5z6B;PN9U z1L;+%CoS*x4|to3aw1t>7wcW};NJI>6ZyumU_}LzK%WFJK>O2(J%5gSf8i8iEGD1O z@c@k!OjC(%DrX`6Ds+a8uSZ8_I4>4&eW0GG?f6pP|CbEd&`D-SZV#_d7Y`l;Q zST?=Ccd28uQe%1%CS0Ajt4A$iIlZbDjQ!cT~uq zJm9O3EK~k!u3^quE9J#Y!o<7Ow6=X%dE?R@l~dSySDKB0kYP2MG<|u2bSKv$KiV_h zMst?)m7~8?t+U5)ySsL8o1IeIHFIa4DAVoX?XIPvKJz(2wP-H;g*)8`JJynBce|La}X{*Ev286d&JN>Yg)%%kteO}B(`h8^Y;v!0y)0QLJ>Kr z)i<^aVeo_fIEv9pyrJ^By7+LZi>omR`#Od0A*YO-vXLZe#^MuzTDbHlcXbG$g6F|E zlCCz3Vcx0+A%8g86*xaK%RnfIzO@*24}R}G#y|b&o%yoQEgw%LL&5tNe^D3yTmGEL z_Nwp83)RJ+U!(hnv{-U)9_x<<*nYDOYwM58q4rt}PqEd$oRyZY)l;@v*vWUrtjb=y zd(VgyJWcX$OqT9}6?@i5jZr7UyA^QQ#OPLI++v2EU$fv|Dy0#R0s15UNFRz@a(_+n zv$C(Bd*kycd{)UU)NU1{K-8Y&QqJ%BGT9zp6q$ z+c!1;c{$QC?_(@+o?%Hyz#NXgM_(7oxT8;{nh)yKwl6l#QBlbF5l`BE6vYnsi{M1^U>pbJVnL#P#&>Ym4T<*yX~B)V?waC1}rG!Q%o zO?yUT_K!XqG-d@Tp1bqCn^&3Z-5Q_ew?4%#2)0gq9o`!lvcBZo<~M8!V7-d02!vi_ zqEkq^c>n%wNas~3^--r7^0{i`53&8@Ny1P%W`4kbK~Q?3{zb9nbour|e|6x?(pAO; zWD>aQq^}44-0Q0UIq?JZ=K0(_uCnxaF`XNJnP;(^E6$mQIc=jar)gDAD(7~JJp2at z_%6YHPwe9h-nxso)Ky=4iK~*f?G!9)VCT?m(_V-U6P+9E_N=Yq{0eFk>s{zrZD!3{ z0CmTQ`;~hA;X1^Avev(~ILtRYqAIzCyZO87ZvM-q>P2L=!{TL{isbFBCcPFo=OHI- znh=|MoZ$lt_eFC-KrF6JJiC7P)TZRe$B>#oF`4DOQDpjJ<;7=Kjywp=1)aV-Sf!_3 z3=T`zE{F3}fEau|?*D>xi3Hrt)O;;w^Vbe1^IsLMY5b9%Z5aIjO)&y$b07W766~5c zB?&r?rVIKi*wXkn%vvz`AAC&$E%AZ*kLEF*slZ6V9$Y7GA#>Qrp=HE`ch1Uc{#P%uWM1JJ%t$7x$l=||zv<1M9U z3=Oa2?)N3*@@pTG9fZi<`4>3;GR_$rYaflB61j?&pKe9&& z-li-F58hEEqRuam2$!1A`s?>T-`y4$-@aUwb)xJQXg6B+Y}l5V-IKW2_tu5?KC!Nb z94zp$Rc93SR>Be->kP=#v+8un@iJFgU3wT>7an0)yO4oXpz-6}-{GKihx*^#gU(kE z3JW@Zs%Q^4P02g;|DJyNM$+w-%@1E!l?(ok{1;r4I+Lr#EBOm0UFx_GFS|PN9pn?h zr}M-QON-c2f4h{o^SU32W6u@s*S1u5Lq2Y3)+)E#znRj|Y*$L+*j%mFe1C~Sj%)Q# zbBd)Nj4cYEyj`iv-+DV>m|c$Fy`*S`*3Z2rQa?Sf|1sAKE`+L`V9n{qNU%~!9n9O!)4XK2R?%C-vM#4$ z3r=(im~p8&lwS1y!GhE|voVR6jhnxIj<%udE%#n>@!^sEmT{|7rRbz+(*h!0D*)jZ zzZ!5FnTtQ;ey+lhNf{I9I>fE}T$k2$DxH?rwPEM3vSLm@C@#^*uP@e#zfi{p3J`3D z@MoR!5WY|^KN^0dO{9(!E*}}^_^*^%$^#x7k^Ht`_MnZkZgn-SR>xZ&XPwr6MLx$q ze<8d$Lr&#eZ{;c{n0Ig%|E@Woi3y^E20vUrhs7BY$Fln@iuv1*Anc>rc_L+Hm0@dr z3h`D1pCdDOBPeWC{?GwvD*0TN9^LucSet5XZWG*Htz3V@&wTc+xuQtMyUWt`?vsl|JG=TRddG=TJ$XEniCZF*o^T<7uXwag1*jhE(m6ZOxlW7t#TWQ0 z)>}q(Hv(NOzqhP_tP&q7P~6nJ0ZxJcYP5oI;!p?>}p z_PTh6scRe<`*$@Bo+ImSYVaMcu9;KSzA5KsUdGREKtc~@yQP%1puN#ulHI--x11xP z`Ii}QxsZx16T(liE%DOBGFft*4B#DX<%>Mxxf%hZQt7X-ICV8?!P z83uX|2k4e&k@i;9QNE+L;Q9pc<^S?sYu&vZSkk-bd3P;nit_J!&S$W<;A%m} zz(0qLR?ywqT^jC2X@b|(D7Q*9l8N*bC%AB-A9gs?T!?X;vyE#pH1vHTnw58M^4mA( zi$sAWw+V4-Ty{rtT=OK2_+DJn6gl8sGlmtM)tXK!0?nsL#Ka-5O%U#9Urm4I^9Dao ztnk&-95Tdn5_$awcdT%2o4Kgcrk}ki%EOqyYjQ)m%tpU2Vt)=kgT1;aO4SIfMDH(Y zd|`VGS6^#e$>iwiEH%=X{>tLdC39%EBgL z0Rq^t;yYPYOG8eUqGFYzs6(u&(b$&=H=Gl}f6y+X&>(*ZMSc4Ty%Yxx!O0{D5zE7Y z(fn)VB*;xDa>x_0e^20>NkT+!%sEJ7Nj50|RLF;NShmnV@d>6*5L$*Pv)1G)K~{#` z&IpIs$GOYu-U{$!ruP1KV|I=Y+LPN|55<&~C`~F%W5N`X@Fwg{up+YW$;jL(uvk1H zLBwxf)PXQuL}TcJgqhStE{716O2i=?Je*5>%v>TuHiX``IJ`}KjNSGbB_76+_c?)- zfRGI0TTw#m1`Y``zLSAB8F`$j6Aw0t0@C^RJdC5`7*Qb#XSmIkNr(rR$vv!u)Q@nv zgjkeuVUkbX!USx%w@q|ZNfI3egitP;qy1zN5=OX84=3u7Ojm_dC74H9o=}mAL*!lC zrh&Wr=sSDMhvh8%hvf@d8BI(7-S}QX@iL1$a+_Lom|qqZ2OwcbpJJ{a4V4#%C=*#e zo~Ddom1~UdD7W8|dI?vuwlD!pIsURivuIHHMqy0hBegs}>j*@UBA;kv`>OQ!iFbPa zcb-+v{!5(5`MNE*K`C#7So@*@u(qGIPZEqs=QPJr>>f)`*68!#OiHQhst635nS0klB~a9EPvXLiQk zJCX?SB5{Vsdxgtp?gH35jOqGys$hlD4^u>C%9hY#JiujJF=SgIWjO~=IE>FZ{vr&M z9@**8Z-dEZHzjH@`sdfXkfjNJLTbH4;qP+9?v|PX`80rhm_R;+)X|vy(LN^h=%3y; z_m40@n+1u3*Sgx6eCT^?e>uRm^+?@VltCh7FKJlSSd2kppaC_eA!EaEoz$LrG6!n! zZ0k=y@d$%_!Fb4C>~L7Ytb3M2NoNB};2vIKkv1EFAOHmrYV^ZQ20f5S-7x>(8H4OG zL}HrOWM5pAK%*(Zu-1Ka{T|k!(s0IoH1i#+5$p-J4$!E?;vacl`B5gQyX^N5=6x*l z5vG|agB-|St}xn}7=xU^{2#JEN7oOqsKjOQB6r`iA^jW!c71yZ(EJow{S@f@6yW_7 z!X_+7W-a&3hft>!bbvW3O-+dayYDeB;xdv()o#F0;902NLl^F{{z%D zi8e??XQ-72X;R$L4Se0E8xJTtW!xp>V*-hZ5d_DDm4qE&1jh>x|3@i<8db1nK;VDT zH2*^8Km=SI{~t*gjdA{yw5YWC9E1QgDgb@Ft=&bl9%7jfGtC4U;EQ7XPuxDmc+-qS zoBQbKw3RZDx8^7l(tB@T{r)N2;c3&sY17`RNkxtsFbB%di+=E`X?Parf7kgM7nhIr z-kTqXDEL1CF$B{g1+herSq@MCm8clwn58rL{rQi0t1D1<4zx^&=V!<2XGiB}2k&PW zHeow5Yr9uI$}(lA1KgTl*m&}{KL@lIf)@Yb#p4LZWBj|X1d&CLnGa8y|HF%C@XPxT zkJA;%HwOycm%J2i;@{3*dP@L0L3^Gnb>IjC(JsZC5(l$W9Hf3oZ;?u0@7%owY@GVP z^Im;8PQG%`Tp2hY2?dizAH}3d8H3BG`3%w;R>1}iLZ`?OV{H=ci3$sUnQYR#ea8ObU%8>*qN_6_zrx?j;9{}Ogg}5uCDK* zlz)garL5avK8Ncq@|f(FR`9qtS@v*ZhU9ZTJD;7bJ9%&81GP$=(5Wd}rA1i>Vb%XM zXM683uY6kvIKd5B$Og(8PCBqTE68>@JAC)aQerX<}6lLU#Z>3 z{kx#(02S+x_xG3!x@wAFZj1Xp&;yjzQJ^rgE~B&tMd?aq;IsZ%VLP}#ba$HxWs#h< zr66q_u6U@f-;{5>xylerZYEpT)yX)m0O>sK$r~~o1nhV7W)-w_F^}|7!3ra44GRWD z!#a72e)2cwmGdf!;JBcGCF^PB9otv z7`WdT7ayZYP4*IsrsVTq67eCa#+j^~vQ(aHbsVpVG1VuT2;qQJ@O&<#Xg8Bel3ba9 z!;qkP9)vmfkay2!so zyPkg0>A&~JFp2Ind>Op!l(+tv+tVnmYGFt_AIQglpLRX8*S|RGPp~8Vv@70KJbR^! znSN1vw~@)0J%6Nm(RoLdBZTU`oxcr-5kdU&2@%XcoaF>Ol6~QmTUedFk~yxcJ5=jN z<+1+Ct7oS{?t%6v0?UAQ-#|l2#*#U^Hb~-$(Z6cgJT5l6=P#rktf5Z6J?1Ej0=>WwHsFrK7D8Ng2_X$)sO0Ly0?V@yU%?}pLu%F76aMN#LI{}DLu&N zNB9t(F?9;mGYA2^^OBDaVk_2Mmv@Ztko8VsU49}ikS`$xj*T696+Xdc=wtHppDk`A zbBQ{6K%G70Jal&rHqNjbgC#T|0>|&%3E<`s0jxNilP*A-AqiF{*M=)_iFddD-Pb#J zY%Xw>`d4TG_&E^2qilLEb9K)Sa~9ZJzk6T16QiSA&@!-i52p6aCUqFXrm%6JbYE{T zNTJld9Ul<8a0ml2E=vRL^@H{nfFbPd5no<$KSqB>I`fDQ89#MVQjtzg6P~IksAA-b zWU}Ro((z*%`uOUd;;&@V)tP8|EoovOzEg2zvhL<0<&JzO#7}{4j<7>k++l_M7`=Zz z6Z-2qh}$d)cQi1;oSKG2xgkQ>3H`IxDb9)CAXP0}Z5?CjsHYAiy zyR<|J3z2M{O+qeg;m_>v+c7+&N$u4as?guAYbO}xX?9MPCJw^_F%iw)2$p4jl_s@d z5GQJ?PsmmW%m#Do`dM=hZLijUKoWS5P0~$!N~E}NkxQL>r$=})qo}SwgU_?#oVQ;} zitqdxBcibk_oXYih!04RxkuJ=4OEWdDQ8H0Km1WuhnV<2?eMyNE< zk%To(h0QT}cb6+h^$zllnE5IPzHdhNJkf)8=tpn0hd+>o8?!XHwP!H=-%^t}53{+= ze`Agk+D{M~;Fq|YE$_t=_gkTa9R$bG`+Gefq5Ru2ZEMd#NfUiL_pzpei#fcd@2$o~ zkR9uipQX>dCi-c(JS<5(R=?P5{bdh*YtW{o;r2!|hAhFxS==;n_tL7>xwjs+cYxAU zL39-2;4P)#pxuK;zZ-20r35@iX(+{y+c7zD`iga#`4*lch5pwsN&!>4#%;r*8M# zGq&3Vf#(Y2*Mu;&`XwslN-|!C+CN@Kk>_9yw0i;i7>bI}-sN0>cYCT^9_rQO1*v_NPUBSH+YfvO(#T~-eJF#=T|Oq#*%XNo zHtiXGDdfATp*glZwR&^C%>7qOFP)<3GGys;(4CQ-2Sr?2-C*Do1iq9a)Vo4{TI``! z!R?dxgX4Q;3;==Yl?jsxxek+wZZ$gHoOXCJns-QcSm6F)rZ7QGFSMkKaNG|(=@ZlB z)WzhK-sF_8Mj-;Di;uV}yH!_>(>}GrZl|%R!;>lU;^b3Sjq_G7jjKUd~PU zFJUPg?7O>{zJt@)i@@PoyjAe%e9n4kOu^e0LMPPQ<g9zc~Z(=JVUPS=1@nDtl`v;TEgDC4aU7m%a z)O3yEi9_g|;L&e`i{baq)Ib+JIO4W&uo7uJ4%mL2tQ1{a`CgJqByd%brmE*3{y0nz zJxg9k{%hCS(gqiRrmmeRWeMcsm&_(Ny{&ng|8CfQM^neuRVhSp-%L%G42%nc>?RMw zCx!Y6vwzOS{`S(Z1zLvKkxT#Etm-<|iQAl7?gB$OY<`LR-9qXrGMAS5x)Q78m*BOl zCBMo;Z64LntK-i_Fk$D>g>sLDQqD{ZKDsIkdx>~n-=Lg; zd-aqJcpwg!VkyxAP8UQFrEhXcczcz&E5W_QC}Q{Xolq*KUMFZj1V3PU%G_)2iOfZTt(U?glN*GGjn7vXx7Z zIkU*Kr+t4a*pW5h-yw@E2)hW)>4_Otf#LIKqLPzFWtKD&p4nDYtEcx~hR+ z{T?6#XYe}&WZ>Nm7e%Y+W8Y_qN_e!I$8`E^L`7t!X|N{)^i=TK9ld4rk^CLS@&T+y zR#VQ3gM3epMVnzKbXT%qp(gLaS1BdvE54yHXc5&KLj=orJcYaz_W?sfUa<~m>fe4n zSO~@+6JSXB)JWu~@_Gs7CFlQ$DnUf`C*PAS1vngzV!r=OoB2Fk6P95l@F7AvnrKfR zKjuZ2YP%pI-B;qT;Z2SYvX(ikz$0OtX?!yVHyGSC8*@6y>` zd>k1{7sAF@xB|H@UIrp_OTUxQ$r*w!eoS})DvteTBJA`LR^tgRIfCg;PO%`TaI8yA zksF8t(qxR2IgKd#PVd>CwoK_jz9r1YJQvYHA6<+<6C`QHksF}3>52bMcjK)H>h}8; zje1pjt$tq3U9RK7Bvv+Zy zRf1T7TYWW9WF7;ie`9kUC587JsI_m`i@IWwK6i!2HUc_apcL+lera&Cb>5S>sOM)< zlgC7ZJ9(%*+d%8cr8adH2Krk~?43&C(%w&Ge!7WLSuI^V)Z>p6;oM~Xg1>ane|6df z;20HsUdI{9Eut%j)92RJn@)+X=GJD&h0lH))qnr-(f7Uj?}iH=+Agay*|srwjQfRH{pSFT|4L!9su<$WA{lO3d9u)avk*m& z28Wa#xlW2qoyx^68ND+n%I}b4u?dvcR3nbX^39e_mu4Bb*I;26^EmslX+e`{l6=_f z7MqU6x$eHnu^g^yO%mSvHYUZ_Rhoj3LKE`D2^(jInygZ!fIR|IY~GFFPimVwLQ0-r zaF_%PM)ubh`?sC|9k6fomgH320)D!K@qt`aDtR8thn8T&Lro8=kYUG>x%wA_VyiFu zWG|D;NEQY7g4v!uB#sfm#N(NpLg;%+!_8NF9;gBn2ICR@fBKmdxvJgZ|Gxf0vu-VC`UAJf{n(btpCTOR z&}>1>5S)2I^G@$g*$oXgkS8ZqdpO+KWQd5kroo2dPrvAk-D))Xjjx>Ox5uZ4$51h=SVA{^J5*s))Dxa7L&7Uf*A<>k#(;XgS2sawO7k5^E!w zTzZ+h$k_K*StglYQXgZJXB!}pd$)CydpRt%OlnnrZ+EJ0=H&d=F2L%u5;|Y)5TTps zvAiMh&z#}{;a2pFzpPKWHup`HzoKdS9-Mfrkl$B8DBS>7&^}1Y(spE2D*KRER86j# z1J??M&zi}zKx^i zo;*=82Cf!OIcn+l=SKB{rhrEY=oiP+V}%V0A*9HAWRnJ!=$t}{+K+TJYxy3mCy%fB zQp2uA2RvS%_oB?$1a%&hyrqMkSm@{qk6g{1m`jl0yOy1PLSEjJhoHQ;`VI-L`T%wj zmN)R_6=mAeE|5;E5&LJ-TCiqeV%3jN^gQv(rU|&;pSANq%Rzwd;k~EkuPQ*MNf{+l zcdAs@E$0(U24EvgfV}2c&R;tr1T^PzaO>3US| z#a-r8w2I0HZ72k~qB7@`BW&qT5Q~(UKu>(> zw+h00v6Isw@$6oI=knc&iZu=GJPobT z`q<$i!f%=5L*(_x#(OGZZxpy{dE!gry9ka4-lWX@*VSYSRbDJCV~Jw6?Kj%4?$tgc zbV@-R`xDGt_d>^J_cRbQi;CC|&SThO>=tc7J zx$eA#Tfg4}RAgf1H^}X*=u1u{Z0NrJ!*xs_fjQ^v2=ajp3f zyScwNR|xf#9TwbrBu^(ZDW{=LjD>u*%!)))tT7Kt3<>-6Qw~fJmaX|FRwb1rY;&<> zUP%xdsrnLWp4x`zYctqpkFd}|Fqrv?W~`GiPenSsPS!^t%;!@cm- zgz#I^30QIiUB|8a?CpqsHFU;z#4GyvQUz_~N>1}8ORYmd;@L*CH}|sZC$p;@c+C8q zV-Pk~cO2JgUagLz{=a|L7vWmN_3PR9&AL7T%TIlw1SwU&sI07{_|2(mXP`JmxScsl zY@f}p5@q$5b$V7oshSqQ>L$J!20_LrYv}*$XZFcRZGcq&P8$$+JtZp16q8CsBGpw> zrYXDipjR=qs)X=PKF!Npg$uZANWdNATQ|vBcJX=N-$8J2`Jc9^z6~S79 zbxFo~`x9oCE-y!;*fn2at(L)#yTGw1DP)}Q1;)OmXI&HfiF757)!tTr$u?&fYNt-; zqMYacp@Zj5c{1+kX#8(XOXoLM`e5SPGYC~!(>v4nR zZ<@a13;c3bdeKI{sNwowq!G`ah>0(hV~-+fr+JR#vuv_(Za3^~xmA{?`3FiC9%QIT zxGN03Mzboq+feATEXs{hgdTHt;;6M$2~f*eFhdAIvOaAhvfxXfX%Xk%JlCyia#)Mq zJ<&r?3~Ou~#`S#D-#+i{e9VOM*?~pB1JUjz6RHba^|;v1Swdw0ticE5F)(4r1gzNb zWRt(pUG@CgznPTBj<}&CfglLZ{SBqV5?o7`vWM~88|MlOVr>a@**MeseeI*r6gidd z+s}3*wFL)0m&>0hZ&@hcL-@pFDdm8hQLo-}Q)eMO#$R8-Y8zNzwvVq^{nZhb97b-& z4Q|T;uAR1D_HsVBQr+$tg-jKDAQ8?Spnbh8e~tiCbYRL?SQU8EzkU*!K%~O7val-V zxyV2z@q6Vn#GP`!WoGPs)E|B95D2J47p&G!>&7`hG0`Z61`7LfFZtkorB}Vj8Lf)B z{Gby8GxROU;PX&cR+EkU-*Hoqjw@#rW)-{Bf`Yw zxamvE)wpP6=UCTc6yX#+InlKv(Hq~UCUmJ63M;cXjg#d%YsOA$gw3jQp+v|dWHcu1 zMB81Jfmx9iM~DB?2{{!Nk6QRG#X{CkzeJn@W@Thb6^puu;m!Pf5icS0%tKu8#DG>o zRc3bdZ_<9L<%Hvtk197GQksPvOKyI`v;mM*EiaV#aW0^saI#2CItcY{V-dAlU)<@@ z(U$~$t$}!PAoVtx*T^*D7VAw|oYIFBvg<**F@r@?>%{=CRI&h#^etR+Ayf3_}v_GzMhR&S>LG|&6r zVTbpv^WZ8Ur#7fMi?Yu60Dg^_hoh)!J_RQXez!}>2O&h`$k#^LOziECG9>q6d4>5q z8~36(H#%tiy52QfOH&R9pj!rj$}~c3X@Dn4s-AuyN?nAfY z$gP1JgCQ)&G0V9GQ$lA#!7`Z?=FSBuR}OVQD3+r7M3P^u&E$$fCy3nzW(i0X#orSN z=dbr-W(bTKW|9O6Fkh`Eeg3L9u$HL4#>ksd-ikobuxcuOC0VK&vc>qyk)QeVP0kIf zZPBunG1sj6{F@b~B4l@jLKL}a${47%kHLb}hzg!Zb%4~^VD@^O}lwc@i z9RU+HJSsn{7goZV!agP=Y(hzogwS(&;_1nVrXE$+)4u!NPorFD&-myYYl2}g? z2<8EiUqk63Q9sF(bM}0wwCKkNyIBfPF33fuzAjSkZF(8Mg)bhTHON48sF81(jXSN@Zr;AxYG;=X#|G}G6A@&!wUeTq|G1sc*pobi-q}8xTCSRu zE^g#UR7>^vmBKe_i7Up2_+CEuuZIp^PL{QS>cPwP_5Zrg)B&(ypuEzBz_o zVl>L{N!`gJKr{L!NZusScm(h=b1|4raSNYU3P=RDOG_nLlfSk}s89rJQ*GwZjs3n! z41SYj<^SFwiA0G-T*|zzv*G&_L=!pqIevbs}jdQ69P9CBr9g6CC4Z1N$K zWUH?Fd`DSvsqyF!djLWOVSfp#p;VE8pkocvEVKA#;^C974^^qMSPYJ?TIYj5u@MIq zF+#%dC=j6~&c_pDZ(QibUFe?`3lA@XLyL{gl6xaXad8lDP_;Z7uTMVXf>8b@Dx>_Q zSD6kOy{*VnLaPJ&Q8yqM>OqEtp5ig)$+Uqd$6|Ug-jKslD4nBG$Ho}(Q-M^3JG;$! zWAZK)kz-&FRghdXEe-!{m@Y2$y19U;4ypYrrc4?TR=}F=)HK6)v}GeW0hgrxRVF=2 zJ(=GSWU3Khxj;SvS5SkJscs^N3XVnMkO6^3u=su37bY%Y&&c?K*?}2M5-h{5y3C}) z^6Hl^{>PlSYhu!33Q%s`Q07IsAvh^EBVm@hao6@w!oEJ$$8e)TI?dj4WA-d2)7Y6y z(Y$A8eO9dOHsx_mve`9F(D)AN4IfZY+q-8|69sCdnJTN&v26Ugzj6g=IP`1rNGwdG z$=NP?RxUXne!b)C9Zf>XM4H3@p2nayVr^7xsAt6#zNaS}K-4cIM8;1ds|ZznB*vYD zcKk)-MCxWQJQgE@37h44rKk}w9wEj^7IcXj0*@A{RE}5G?trRh8mzShT0Ig?NI`~n zTl`|8(4p3r9jBE^Q)viDTJJ1v+4$`kUnifLm{V$f*7(%3a{RkOpGy^`Z0l@KZYlNi-)w027w_E9oeYustZG?| z5Ny3j?A_i1v%DQ7qr5-3Cp0oss!#a?e2OhtDV_<&R=4!;#Wc=A-|eAdzPUwKtE0e) zql60lDL2LPAYQ4yC)&3Jc8;*S;USS!p=7$(@#MyMZ#vv;W9lc|G!@=pUsOWdKvqY( z{+R~FIP2k_1=NmJN2WX#9I?y&)h!LIy$i;^)bsJsU*pdYsjo9H)JK%F&EyCUwLI-&HCiL6Grpn z75&YJZx}Q7#HWyL%d)=(7FHQ__oWY;*lW9MKMHE^ncFc&6eNCtb#ivQjikU9hEnH~ zK$X*cup2K;bUwRS8UBS&n7}Vs-atFpaft8-4SoB5- zRsI5N-UXGrBTAQs? zhMT@SE57S8Z?G^g8g!a1Q6#SAM~iLf%r6>w)k-EVAfgS>E;{s|L$GBL*mPN3PI$xydla%nJjptCI8FT!e5VTMywPLb9tXiJuByQK zWYj7?@a?V0HHPfJ40Kv`YtR}nE%h^#oKjLs$ODq7tbevkj?2pxDdKbQvzgBDPo^Fc zUacm7des})zj!BqzW?3Tv8my~^nBN<$F(RZ<1atyHZzwNzA5}MG%SUJ^&ts!;B1{o zYu-kz(NW5q8`tXREEsp{M_5I`CUi@a+*j5Y@7cx4x5r0CoPtU2*A_~IQXL3_!PF+H zVGK5k4kY&VYoU!)XwwodY`iCS{AL`d6#n}5HfhZIC9M3Va& z298zYciv$K#XP=LfF)1Qg(kPh=T79x#;XgDP~jt>-$Q>Gq(;Z<36Gc?6wgpfFWFXj zI{|4Zf1!|o7o&j#dJWwQvsM39Fgt=31F+sY?jId`t{G(CpQU*8lgTSlMG-c2@HZMA z*@6LqFhT$^^D_%hPg4=R4wmn*$q+6wEhV>+QyM!axns?rw;O`VCyl;byPPg1mp;3j zWXEqkD}sHxyP743Qe3;M0K*>Dw?D1IARi(tRRqat zyc6aF1`_0{{R*F(vzEQO>jF6S)6qJH)}Z#OZyc{=ds(QdKd{02e(phuucwc8D3mlU z534%-bCAIhF^3bHju$kcf38uTRsm@O+@ha{IQPr2eB!g00AQnZ$S;_vyRUE&w?X$k z_XMmP1GDApQ*}KtL@FVI zu1_?bET>TC3gf_NeB&V%_VZ18b8GgT8`|>`)?#}%jY28N@zZ%~Qp~q)h#SgO6Sp-& zKok2k#^=sp*5@B#SnpAiegQK-?s|oY-N=DVFw}(LAb5?StYhBe_6&&j2y#*hnd(#@ zxrKFHXykgBkEvbd?4;Xsvp^h_D7qAb4gy&56NFzio^}y*LEi!$ys_GCUZ_Hd$8ZMEaTRX2#hjmqc zMt<4e5)s18fO&axo%%`*R6pScG}C_Il%+gxJ)7{l%vv>F?f{J1_OHYrMrytTs}L`d z3zePyt|i2*imLNPH)7M+uNy3_&x-79hp;{ZR-cLxxMeV$Zm?L43S&UVd^_JOZn3ruBw14a8_q6=*>4^D&0wtY z9tP@~O`^Kmtcga?U=xpC~{kAUwku$mHT`$mdh5fK2#3DcJm)k zp2c|?2Jx<}q*w$7DYHO=4Kk8Cl0eIOQ~CEaUSW zdA!L@UUr4+@mMFTiB2|W9dG&#&3^%Vo;pro=zv%juwR2gcEiPatnpviZ@cm^m94+C zJleCj2|Z7T9}dFRNfWLwr14zzf?$Icbk$PoIfQ>C;aT#kCCbX+*Uy*-$WQuGQ9e;S zOL%Kpl(OJfv;;9(LttrAPIYzF>A|Xp;L0X=>nx+Y+gE54tSo}n@LwcJqkm3 zj)aevS3hAEoY|HX41WwvCy|;V3q?_7t?)RYd7OklD=VX{1cp>RUf%T`RAJ187gMHg z4ZvcpSus}01L|pGs051wz~hz!i!BV#U1s8GXJ$!YgWco2 zq2+AA2MFIS;crO!gIU%bJawB9g==I^s3qOW{sP6@lCv)c8qV1rLo^vL>&VBZS9JLV z;r%5Xql~d`%)*K(IxYopOAZ8ug4q|0PVnenTJ&>Cco9P;eiJG0!Lymm@jCGyoMv$d z%df*>{2m+vTY~AdyV2pIy(7*R!$i%l_ZV|oh}r0yTrd(uBPg?qR)bf%AtsF^ ze5#+I7-iwQN|rH=dT;69>!uy{VD${4rNR7rxTrUfM!&)P2;U>&4mm=Yg(HO5z1Sk+ zBnu}oT_J|)3YH)|ga%rCoGr*hUtnf1SYvV05OtmYN&@{MInMeMXb-7y{4C8tM{eWe zKv{^ho`f7r$EcJ4@{hCb1O`bUd%7DeYtopWu~pKX3#jP(1&0WlY_@kJ8eTgpeu5}MS5E?!oq$;bibe$T5^ z4*#hLi+^6Lav<1lZg5wva?~&&@RgGKD#xv2dMd}g^=g%aHF>6%Kw=sSi4~*imbbke zo{~yk;o#K*493~3R}eNwz_@WnU=R0$^38n;=|KZBCeGGcXm+i+W*4Y(rzO|9@dA%hd~yBho(iu7h8LU3uL5qS$uQP&w(_yzJ7dFl$(igIXZs1x_bd@Yq!Mf@=Dn_-y6$d_Hlx zm@5U|#G=C)DR%)W-RM_`=tsR1^qayfB_Epk%bJ2tcZq%{A0XT+;lD`wVU~)1sV@4> zxT~UHl7@aC>(Q?p5b778RXk8K0gX+0VL~dmLXn7J9z=`~L<~_8vG;sQM53M-l<}Uc zPrl%EtVwhX06K1G28CmjnkBv6uVII4SH=ArS*TP9(w^k)oQE_g1J6?vt;|iI6Xa}H z49Ohc9^ubPcx`#DEM^HZGYTu+JHfXzu`Lf#w4o?g^ji&4(E`%O7w<#(E(uSQ+Bjyx z%i2;4t_ks?yaiS$OBQNFm09pEN^^>Y*OHa-tR6D!23;ZA<~G7xO88BAg(zjUV!Sda z&=Rh|*hQkA-y0Fl@Q&y>Qlf8#hzk3XhCbp9!cR(gYpJ1Q7V0`-SU3y}k9aghtZ>VT zEeXy2M7j-DTuP_x?c^F;)U?&zSW24xK-nC>GWF(L2=5}{t}9b1t49#15)-lwxFx|> zmQF=n&5--S%CCP5l0KGT;jemFUDO*y?Unc$+q)p)x8=R1l;x(79P;P0b|L)Z8_P6gomyWeMhj zdY6co9n`=swjmcKlcWiO{H~@X^#3KLMPKWMcEcGzXxX5$8%|XdWY|m^_xh6v-!0*D zrN&KJmOxY~nX=n4YQJgnXs9x3mud14Kd$xej}1Q{=~N<4Xt#m#CMooerJ{EX^!EJ* z8dv!DPV7~$5V-bhE5{kHR8A3BD%&~-T8z8mZ0&=v)texy@!q~Hehovm#drutgZ@f^ zm6)h%L8>Z29idW`m@~a|Y8sJdhnX+!!x>qIUPagn0egc;!of2I7+jmZUqV=#fN|F* zfW3%2e%*_3ZL;4I_Or7JTA0xWK8+VOnj1iMSP=(=n8gVFfk>LOWoL=9-B^7~MqqvE0`>~k z$H7B5*pyiwFC%q{yVqn+S-PgQ1SUw3W$e#JwBEptluDUdXu1@e#n+-fq<*&m^_vMK zy72G7%a7!|alolw<=4-!*wN2;u|T>j)j{p4u1sa!$*v;k!MeCD9J~0ffN^~rz>YbO zRQk5Tag4O~^_0va<$a90vT#zf`npvHV8;-xLGUxF>+2{POG(d%Sm$%eWWoq3tWx%q>PO+`9ko~4iQ@Xi8jwqM&LixQP zqtvhY-u;oLN%?fu63Gp^Fh{61%lKSJwTExE8VKRHDhrBjpp_})7{c32_-wfnVwPI9 z`KSYYOUAFqiXTQxZGN!Z()Z|VgkK5vT>5y{A(?dqFK80J$u$!Goh(9GOcSy76uwDj zF%Dv@XDhZubfDF994<}eyzNc-UKPkQLaPF)+_WmRp?e_F>a)PVB53uu!uGpX9eEvT zv{v3HW|5BlATKuQ(Mp`xz$Wdt7GYZjjN7CLwwvE!TdXXB z@C@i{dLAtVXDg}}f?JQVo`V&&3ju9ZFP7AM4F86;x}hBiCII#=G}vQ4yYdbB_vQq%&|3SNu#n!!1Pz zhEN9(tdf98Di~{}^A*~M43@(|0eaWcZqs$h2)v^%s4$)tl4!~1i%9~U9 zB!t`fr!kb^L3QP7ABIvxZ~NnQX#X;vggkd%q_R$Dl^4kH-OMs5g3Kur?%K_SEU+BF zqRC>GD^qb3(P85z&PVrR6}-eNNa+AmJ_0MPE?^D$bdMm)z@=<~%2@E=G8!d8HJWaM zLxkaZko|sO)toFR`qrGL;GI)g{Z0w5F8j>0mdLCpG-j`oDQTDRvj$NFv#k3u5Rg=Z z^qnDOTdsh=a&}Yf5nYlbELyc^7T=0sYdkzupuBb)?)e4hH?9O=-N5yv@Aa}+?^@FH z4Jn;0>3c))F2EMDQqcclae}*^`9c967g2Mtvh_NJ_G)R=){wi^S~PdH@c*{|NHa6My6~>KQfmP(V$i6gekH;_KzeW5a|0780*^VT*YL{j-h=-;@D%q4u@5DSGq?JtwPT!N9ZFOyG z`vtj)mB77N_L@m6Ryg>$0Cxc#k05M^fJJfq5L`M02x}`+0}}O6h}G4~H(z*%;I~30 zR#UNx|l0Bz(6dG0&9nPf5vUA(@A_zdv{#Z!yXbf zDwv20#RRMwQGmcOt8-c>`O&PoR2sFc zLxK3$3HBF#ivT`yyV!3z%iT~~EY_^V{`$oK0#=I30XX+-R^S#a*2<76eA!KE+ybA zq!$OXa$-mb*v!AlPbT=OHU3=^-d7fNk4CVI*c!M8oNm(Z+Xg;q<3-KBL=t77toIP{ z?(}g8?;_zVCGS#JZ}}vKxt{zejS4qUz`_+I{B2p7vMjJQOA$4(5K+UuRxcU3*Q$3x#MeW3enF%iUsCiclVs4=g$VD@;VDC@rv&D4O`Jhn ziErAna%*-X>_q{4fyxoMw|FN+SValaDoVtyCB~6QthBH6G2^!siWa(1LM2!&zhVQ2 zOK1fvfbm5HAy}19GC5<XvB#AajU3K6`SoKJ^ssZe%ldsVyXOZHXN=YY5 z;C&pWcXu{Du0GbYzn2(seguJB2^LCO7-@Mn^Znvt7#WwLW3g7NfHkKY5v+-vxrrBfmOfbm*OA{?vX2Q&18&!VjEoS0 zN!!_PDXX%H?C96TN6pBJs3zektZ9l;mcQu5Q1-c%LX&O=a#(lzl)%Ysas+`_7oGZ1 z{~i^=bmfMo^>t&W3?as6Un9>mnE}kHp)T}Psg};w=dU@7ji7bzHA++=9?B-e{7e#lLrN^nQjh11Ry3aR?&CQM_`evZP+wN- z>Kv?flYn)g8WF4+&+2&bXz9S>IG)8>k|Q1<$Pw2;s6&F$;q(Lh&0*E|EG9bLfW+^# z@ihM>yqrXaXVsQjw}_v2)6Szw!jDOQ#w<2)fF*|hShI1sV`RuCYS|H_cr$^Rj&V`; zswFrF)Q_1`FI0)squSf7-C0FBg;?&2XD(x3(giG%`axjHOHfUH=|C|`uHs|NX|#v^ zRs#PQ6^LCU{y#pE_+P>gN&e?q{xWMh6$!b8@Z2H-{*f#~S(+H0_maHC@9;R^3ZXL0 zH&BN81}Ra$fnm}OA4CZzDU7bFLBSSSGgtz8lLwkg%QP-gNzOXrDIrtaVZ!~@5BVoy zG?R)`a+L(+eo9JFas#x97g!~ZWvWLH+~!vcnqNuOn^d`FZZjVW5cH`)b1N?c;cF!P zu4G5bLX(LtgvC+IiVIElSPcVc;ZK%TT&E%VeH6kIB>b=(63nuj8-GB4wisX&c&Wyq zvEA+FMsXEMKkQXW^`2}P1<>MSvW&sgqOZrm13|sv-6VX9oVq+KN@n$^A_?Rnt0Cd-Wf9C$OS^tCdV_L`#{0CNsAV?|%G|pM z&zA77X(VsMo|wMj`XnY4I_sM!;yheA5tkHKhWgj zultRlgum_=Ky&Oe%&`M;Y>q8{>@|MsBrTzFs=nQs)0OC;B!WJ}U z?y{B+YU8lJ*;4%phO-)Jl9e=yadXgkUOR;FI|cziD901C?B;2yG|3`ilEpMLxUKMZ z^AQW5WcSLeCRqr*T)`((j6Y(Xf}0h{n-$38Zk2znrx>`~^8(c-F5n zt0WaMtwQ(?3BN9BhFR(v)-XnIv?kIF8_R1+837AdI>O!+upWHTN~f7+aUMp?*Jf@l zzJP-q|H3xR^#zO{XmBYF&2^hCu0h~Ko*sok* zvE)x;{2wV<1uERpSjPAzpXj`IhWx*p^zmd+-8>ywUSf-+7r@*hUl6@74aPm%A8sh& zt>ySp77B){3^x)EQ(#}<6(i*Y(dt2grf!B3?-bce!tXCOi)QjYr!4M*ILdbqKY)W7 z4@jL0-w$rg@$DJIu1pmhk{Fho0#l?Lc^Gls4^al~g#Ae8wbuCF;<7weWa3vV)+nIDnfa-YQJaR*t;K1?GAh)mbpA zdF|P#HqQ6%zpu&VnbgPK1Ty`ZsL|3VJQf3XmIksOZHEk$@Evj>Da*}A^|{fjkIJVO z29q#h3LMTWF__}&P)xBQf0LMVAd$&hgfk0qTNi9LK)}wJz2j64b z`HA;l@~W1$Ay-^-9PwzpG}TDMJU5z~XDATZfOn#~U7sZ8$-LUGh4K_RWA+FbUnl|W zh*3KNKH`-+ni3OL0VZ14mN5}ybf+8tT*kg!*JmBcHLvCgvVKG44tW_n^pb?zB)KVz zzpe)3mxyye=84=6!mVWWhH4CHbE6q%EJSK(5;C&c_PDJpyr+3(tkI2oX)5VZXiX_l=c~vzdsVw}7MGY0c=l-GiR2 zg&Lv-IG@;oR_xLO#?L1b821_m2NvRdViUd}<8}MRW?p(!zMtAg{A(U*^@KD{y*kY^tV!aaSOMH5*4B{pMb6bOo{+F5DBHeTf_oONL_2 z2PC|LM1p6nmRWxhuPPYtY5q*Yk4uqGS$u6)RyHMGb>C+i-Io=AgBQoW7u)w(WorTB zdoKhoy%^B86C~!!oQJlm(KyS za$3UUA5M>D41B@=qpg-n$#Sa&U3o2o;l>VB1o##U>H|B5b5XAHIe;gD1pB`!d7hGD zlw2l5XdflzD7gb>(GM-2`raZxPnkzSQ#fv_nC}9_gg^hc7=v#qt|<iAHDSkWR$^R%0% zH{;gR#-b|gDT34zZarDjqGKb#dK$*9Czf4ge}u4}!eJ02G(>=_2@S;fNFaVXkG1!9 zWoc5qzQbiwjf)T_RpQUWq*~@OspgiU&PC*=Sv3dt81@_f64*B+akl{RJh=l(ng$reA!+>!TL(i2~ku+TD$R5T`=I3}#7yg8H%q=2ao5HMwJ$^_*fd0zcTsZu}m zwx3n|reLL5VzJ$HJk2EGbtH>nmROp=U-1*%X69`_t2^NTC&#}HtMv}uAh1cm>QRjZ zF8wUf*H)woOLTUxjDaWiNOH-)CKp`fb}97kv*zXO%?R;1I%d+s4%v+U+uCbfSL9=LS# z@7-*~SEz~xU;e$X!`=OR&)0dHfA8mVaxprv(X|-e2p5ad@xxyHdu0Ok{d;w;b5;QB zx%47LzM_C}>zRX{xf~4FL(FK5uv`J-*Fz9kdfvRb)9`u-mG#_`c;z|Zl|4-uubg}G zwEM{F@cm4Wt<2uJV%QAak|0gHjf7utSrV8fyu{ZU(LDCpksHX07ZF${uqyp_VwJbA zaaashhv1wTuC$i!a2@CKt1KzN?&VhYTg)n*cTM!OAuW(2=sZk@gqN57=UD?~)@_;} z8)@s*_kGO8dQ^jb%p(p?A=t-ky##x;MZowz zCV~IMeavAFf#NBeyeHnkMqZcjEpqbmtY$Lnb1Jfk%#)g;U*qX>0&Dj$dlz~SbM#h! z5zxBX(@NRtZ~WR(V;@_ z_S)}7?tbQ{FL!^qA`nd@0;ExR#2gM!Nh0JqI9-4{vQIO~Ju+Ot8q=o;2F|R(Byb3F z7GDcJ#jr8=G@C>@?DsAE&1C%=OWk{sn8^gvxJd)XH^-iMo@dGqKz>Q}>diTMSzz`l zS(88DeKF>p5)(sCH!~E z-k4=Kf4-Is-y~q~WS8Mck3AsIgLI~T)e)DR3mXs=-S6)uKf;>_b#Z#v^4GjUWtS-rb1 zac&*L$l?Dwl4F&Cbt6)6@Mo9M^0@Dhe@%gpFq;6v_xEbB*oN`yoJ)n3Vwsf!g|&gA zf0ArG@l;cBgxrZsciMK?a&Pwv1*7d`n9v+U+$-xD9w z5?sUJ;eZL^Q5?$4cis6gQSf0xTJ-*E?tIw3x{43u^!PAK!-toONj^Ne%EgC|s|h~5 zxZ4XKnxE+KAxqN9X6y$xWA}PYz=b^W*k9>F@+}ENJ&3#1+p3-rM$!xC1xZVh*!wjF z;RhuAhV<%SmfB8Pi6>Az<4Vw9J(<^l{^~hbu+~um#{Ja@&LPoe@ZLoprY~|=6Ny6IG~*Dc74*MOHc%K-Z=pelIT#Do1gZYpYC>JygaCwAP*`g%7co?)>gXg zCDrqkqU+M#2#K0ioN}@8K<+@kkHs$-O@x01D@~BfJai_~&3PivEe3N8@!Vo%48Jx9 z2pB)Nh+w<9mY+JFil1A&mF+sW7(<U;Q}Oqn=s?Sko;eE3?( zI1H$<5_LD9;gn2e{p(13ze@!yk^08L?SbfWyv;HEPd?v9h(dTPloMfZ3YfSR%IV^J z9*>kekNq-$|HZf9uUb(D%bNv^`>Oz)`-#;R#lbIG`;w9mDMEIh&eRq&+>L4Yh zD7gXB=4x#wZDu_3a{g@>&QG{sh~H-&Ml20CG#QAi=4^FwRiqnNb=sci@qi5RkTAdi!%s=9Isb~Y#8@;4~wQpLInJTXh-> zN-@CiIj0x=Dj5;K1b#&kKGbOb?zG^_+Xm!Teo$hzgu_j=G!P!wHlk^YN7{za!E}gT z9J57#=GEDzqLD??2o$RpTl7hLXRB`-Sp<#ZC5`-VGa7Aqk7$I;Vi;U1vVhF}1lZx` zH_--yQFp8squP)8KJK3y(~Zu0n#Z3)k=?x*(kc0r5ZMHfH}{Dvyp%DlRySY2X(o9T zgR_+c)^P4;UfL@VKbF|6Pqgh@bouf4CVhUKyrt0mnD!T=b>}f^ew-=!@x4$zek=ff zbvEhacXqQbes?zN76)WdJD#1DNAgM(GmM1^C!jrus|ZPLZj zTZ$UTPbH3P7=DgwPM`4~WBTyek3PS0@g2)%$+h`7OF9Tx1DY!Y z7BL@t_zVfu&X5q{b3ep>Ym^sRCvvlN+xN{+F+}TA>-A|pb)zn=zgn+P>o+zQn$}r& z8Lg|2a?v`*G#^j=0yD1 z%Wp5O)#taX>k7?p6Pd}be4FfDU--3}p8Wc^9B+KH6>iu~3RI7*YSEvtMt@`*uhSjb z4r}!3lfSmmBU}0bLv-J8_mTaACKnsoYs?D8+m^hI=N@0<>4)Pv=LaA9-&%eB?*||H z-&4@^Hl7bb{~IR8bHXFMmccco0f1$74{_~|?@@^_UVhg$n4AYj#XIivzt_k8wKcl9 z5BOdm_bO`&k9!`&{nAiR+`0G+tjcgNPq@3`s~9x$i}c^HpTM4hs%+*^{%_>(NO7Ab zim*WCTdr;dNiGg1F1B%R67d|0*>tXB1Qnch4UZUJC5KXIQzXS?M(r9MA+CnulL`!V z*-)^u`Pn>r6=_OuuGj8^*Bf*HRt!}b9Ul4I?=4F9KnTP9n87d~67Gr% z!z{aSp)DKmn7f~lHt0+p7V z1O?qq^kRwJMBmJQi&&vQ|E)4XSJHhyr~a)qK@pt3Cq!j}YR;nlRGCrhjJw4DFXZ8f z)%xOp z9arfiYb-pn{!bXP2L|d|e9DbV4B23(?)kw2<2!SuKE9UKy7<1iQXk*4s|$^GS4#F3AjsZRPtA_$V&42=bm8!q>-1__WDixZM5>4<-k6EEF@awGd zjb@}kGsY$Goea&t1~{D{XD2*@z5xR#(0*-Yz%kV6HQuN&^L5uZ`a?Q;rS6b^^o{F8vJc>AK#{>HEv{QC#tjE{Z#s>7$tPO`%at_hTr&@~#@i1yVojSH3{{ znTvlh5TGs>N&Naptw=I1)92rH%XRtp;Me-Z8o#{I{Oj+}ux{5+Ujz>-S0Me{*Z5ZQ z(d9$SbjSDnQvLCrxvcQx8^AE_{f_tX%_v*Q@qM~{sJHFSJ=o4%H*M%P6 z(nT27{rl?6r;mbsjBjD^ZLmZi-^)vN@y%PTkMHWGg~zuj!*|Tv`uNT<`M`HO;frs} z#!u-T`Xc+)S1+(}ss*;bTW<|Zbr;xY7VER}fhC1sV2d#%rzetQ=*6^0X{H%+dEH!w z;a5usKX?CTlG}te5|&pM>W|5@OLQmfw+r>LytKH`6Lvx%!*a!2t_f>Y`8SW3e!73N z!2aAZi}dlWvsf437K`-pz4KL}@l7wz@ZHkKyMVe>>Oa9(XMBq;(8sswSGxEfnXiwp zf8p_+P=eum=uPkAd#B|81-^cSZ^ilg_;y&Ni|@HF^zkjfsPOofWcZ%$?ZVejg|B}B z@P%ih(OrTZHe?hyM~d-?qh!O*yJ)R&K5nNh;&%w71O&6jpQ_$P0nE*amEtSSCw-e#I{@|Rz z{|kTc?fLracdZ4w>-T0K^!amsq1W#sXTkr`Lx24~RqVgBr#_nJ!~UDEJDy$V>5pfz zr=aO&Jg1yvXdX%MZcp7W`hPK=HNMav&+cF7>z_X8Q|*hwkLP)Y=#@A0$FoGy0*V-0ETS^@BW=*5?_~noUCIXUzn|r?x%Bf(fww& zKDvG86dK(Uml(RwclYqeW{3-*7{=}W8OG)Q+xa@;bA5c5e6EXc)6aeI|L29qx5yvx z9(*_b`P$RZ$9yfI{xHeM7;T=duYZ1~KWEct7kbWSTxO`g+EqPg=gT=e%2*Knp)lh+ zeU|?C?wzGOzCCB@(`xFh!jJD2hV<*N>5uO?!+&ER*ZV@>K0g1Mu6=xWrvAt-|E%!# z@l}T8h%R33<2la!g4@R-I{NQSANud7`ueXAEVDl?H2+RiApR%b`Jz0{C0Fw+rlpVu0H-x@Z+}coay@bb^1gXzjvnV<5%fFz%Li#A3CaSUl)GG{v-T2 ze>U|oe#2(y>wnXH=zlW`jo-xUp#R0`=zov&@GH#v(Pg^+`jI(Zcl~(Q*Z5B_{Q7Z& zAzCp`fBk5hmtPQnGT*OF*4eN9W2!!~v#04IyK1UFvTsi-G_ocCWXOiU>ajVZR{lCX z{J+5WZ@WIe%Rbh{cbi=w-w_`d8sFkK8NN{+Jocy6`1X9D#@Avq*I2~^HyS}G`b~tD z7O<*33?0GHJ*M-+3;AsFW1Q%D_S6KKVt58t0{Yy3$shX^WU-pN zLw|w9Y0zx}Wsi~WVh@EzQS2ozIp=HxkZ&nTArj3TXxBCh`1 z+k{S|`-RRzFxG_Yw+!NRQ4mD&ur!#bAx4oC#vu_tAl^zdlFwNo;(i9udCqYbgin-k zi#*SXS$6Y>&zE=6ghq27K4k>x1t|-MJaNKX1Ho`pWC*{Z(A-eg$B)flq(djqO1SIT zJZ9PHf%FDDE$KP8l>TPMU3PI;=^T}SgE~CF9n0qr3j6a*EJp?MJ1@HiLB}GXc$nyA zP5^e@VlPtpDx4{TxUX5YA3O0uzn6$KAATdcR)xA8{};jsNcdxe=rU#DngFw7Ug!e@ zwG;?{7$kANnoP4KL=F-Pem+uoOpgth&FnARm~Ozfoei<=+~s_RjHPx7tT_ty-Wxi{ z!0@;{o|L!n=j&!7SMV3?GLSX+BX(KHAJY{7$j9)E7cgPA@_Hx_$bwUTNlpx^dO~M% z&az~ha^hvz*ZiQ4)&1D~_jDL^20V+<_HQ-?44(HbuB7=Jqd7;-{>Lx;PKN)bGHRSz z#;GxmQRwIq`_Ou!r0tfyY=|NqY=Kk^=lXMDi=X?~SM2keBeNWj6{FN(OF$ z_~96kM0410qVmBVhRDkLM_&D@1)jA36tT&a=J9#}ag(2fz9yRouJe_9u`indY~7)YpO^b4X0A zq#LPwN%%4;CNRrx-nfFI{gk)v2Owt$0!4#>dKOyA>@TEjEN8GpIZT_R0Pf*9Ir(>e%mf=!Fw zdLERKY8GpG{vGt!ZZ5j6oPiL4F~Y{+V6f6>2UAEOP__%nba*pRS0E zNYKPrTL5b-#aFlC|Hdvxy2V#_wiD{OEL)`Xis#dj<|!FhN=-XyqlJmDzFXX&tY`sj zR*3lOo;M!q#8)r8k?%XcTAtVGw1_h>oY&d50ePXRfbsJ>1V#mbIvz%d&MDA&oeHck zUe4>(_7me_KKP~Jy^sb^u99oJUIk^7@$d^cP^%rqfI044)Ox4*wo zB_IdnVHXE1)Cx!fqewuzyDp>=Y0*v2z$`3ou?`MI;>6io2gb=e6C7LEq`Rt$ZVwXG z!aJ*eB;g(};4uEqDuF$mm&)%ETr=bEtU9tu+AgM~biTZYLpgShvGZ29E5F?M>6)D1 zh*e44U9y?4EOgEAiwiwx_z-eE1S&(V1)t$9t%aZA57`Vq(5#R%Jk{Zv;YnhKC&3Kg z?qDQ&n6EGYD;tp>G0cX1^|Z^LY;oFUPsU^`m8y_ES^G5DlbROA_k?Gk^OJ!(m;dKMe)P^_yC|k}xM)ovM0@=Y3j)X3O|G1mH zoa6m1uFE-&utMgNllA|STawil!md6v_v%< z&5X60pzN}a!&N1@quVlsRu2w#Ermr1_rKl^=14MNa4`aQPb6Rn0K*o#MwzJgumIQqL)cAIH;fttlo6E&Vq|1U>E?^-p3xd#&2aGxHh_-+3 z?^d||jibLv`Sc1yA1>7L?r+t_SF1N^aNj-96ZfM1yx=}?h8lM;-j$*+Anqs+A&6M> z+=PuU0zr!NFQj##-uE8>cF ze>TD+CA>&Qv7%8{Rw!7?a6=Y4W#mk^^6Su0peeV|fSAd@%?btO%iSb^x5AHp&IcCW z3OCZt=351fzZH()oD4MX4c-x%um>=N!543ZzxTO7Ao>|ZETtt@{+5JSdqyC}v)ah4 z#}&w2Jc#gm5`LzFD8jSK%B)RgvB-yXJJ`e70=}iJC_-7_-;O$AO1D8(_Nw8g^;LG} z2AI~L=4*|}@8`<5q+c@e4=ltt^rA*27oD1w>5V5u=peV-DF^T#;q8>$=x(^K0v5y7 zJbrDyo3||mkd&Su^HBb$8{x(6l=-s+>T}8?N%9i0*cAzXzq}v`&pITtdQg$6I}yG{ z!kfw>m}SR>m8pL{o_Mg8Df0xqwli9m-c}B4{j)2=-<0tARjso$y8r)AmlW%0mE9&Q#b~?Eu z1uxpjmRmKX-2ke_T-~MWv6tz=bQts2>3k}Ho2@)e{bd5i-E0K*K0SQu2jZ21H>Qi> zwwFXU2rY{ZwUF>(B?TMstWcR1M@8C&BD|D@zaWcH7T}zo?WaqDYbfhIwIuh&`&3_0(&gp8>VXn#dp)a3JS4!x11(W=~V(z{Ovpz3zzU$N(dBrRvDS~ zEEU-|1mX8S7Vt;KMG?vZ6({|MAF4SgA&=CYIGiHR{jpI;P3fB$yo0@-(X@W3!LsXe zprv>&+~6X`M^&|N?h{W&GG!DkP9qS5OL`2K6nM>C=CwfVVprM4p8~P#+eae2nS`$i z6kX?8Au?+^6?u6p!UH9Iq%4A2cJ2&Nnu{K&m-N!qk%Lo3>AS_S)_xZe{)2@7QcToJ zS%p+8zGsd5R4Od8C9YI-rHA7pTs0Jc2a^ zNcgiw1+6Fx9NoG~#T7WnqERY*67!0|J259^sff9Y9v~f=r6neTb%|-SYlxX)_esoW zvIM&3B1i_Xni%|vO~CWz70x{Cq79ek>{9sG&+s8;695oT&ko=e_>a^H3#k)7aCVPz z(wK1mkAEForyM+pC|L^T^cR3+3BuCKUD%ghf6la{jn0VD?cEkt;@gjsV>$7YHf(VM1^Q2{u9(8>k&)%9W1)nG#SI^L9IeH z$4ed7t^5g`d{ARZy_w0?87S8Mgu}UN~Hm%x@$nBb4d;8^8oVa z#=soM4cR0&HOOKKKZG3ZNMO=K+3yeTR%MqzzXpsbCaky#l zCG&<&*2ug8ll5huGSPt4df&j&&A*GCIY-GhO6F7Y&7WneP+I*9c4}g#79|4fqO@X?2BpQ5^ig8%2HnQyZ{Nb?2qoXKMES(|hW~P%R79wTz`8hb*^R0PKjn zqp4-bb*yC}CF3c1izUi0`OtagNIu7*YA)tIxrWJUO14t+w*!+CEK!;t$#*)e4zK%9 zwh=*=3HfIkf0{DB2w?zwMrayrU4-AVL06W*^*>=T1sBg-v>EVpFgX2lO*!w=2=vTseRW1rWNmpFH#fLEz5`pmPA%B+Xg zu*hq)&~KFRQ`JNf%z}LcAT~I}(>UQF>=5K4Xc_8$1K~9#ytZ71AS;f7J61B)A`m?mFc7inJN-LG?Kh?WZ2(hl zND%|ra&c_23?r`zd^!_9-E}!QHhq_0$Eahb^d0Q$&h~)7wx;#;am!ujgW43|8|&QV zUJSpVqWYeF8pu9%eTQwyk4Ghl4`InpVqXrt@%`AB=UdVrhK#~9I$_6e$k(dv{E>(W zPk^GM$}$x_SL~HLzJ|4Y-XoYY4Q}M_QKsWRm5(S%r{sf2d`kU9tHc^wM4gj^mH5hgrCug5hngwZkfz^3}&)#x$G!)&peiE68u1LSx!l!n35` zI_0Tj+M`@y#x%5C;l}hv*#eKLDSeabW6yClrO#mb$8RtVLOYeXvqn;p zt@NJkb_wq)i(r=Ie4Gz9(hvEw)(IR4hik*R#}Ogio($uY2=s9;6KA)-r%j!rp@hIc zkW6!=#E(T>lt^g{@}GAdPX}zom%`0AKj1KaI)K1X8y7T=!RTC|(*c102Lk`NGDw$U zNm$WR34cL4-YJV?ZsC|)Tt27GMZgZ6Ned#I!(lA-@Il$gZQf4SKZ^X~)q)ZJqJ(#o zesRj;PuYMQuVHDND&g3Vm??ExxqI)6a%HH#X5m=hSqZ;cO4LVL{84%3Z|rpn*i(Eh zXOrJ+*Bhaa&uo)bRxOTA#mznnWuPY)g7s{>;dIV?fq>%PW1j8azh>?w@qCM zw@Ei7&kB-R1F6UmdY$RPSOM=Ki(r;r`*ur$oK&easb&QlkyT-GY7*X8dii*kzs!oEBGX9*LEL~(;Co6TP!`PW{iK(yZtMoN$3-&xF_4-|I%dHiPvGqx$+h$%cQ z9VqPh@8F-(j?ds```XZ**btfW%kbaQly7+_-wCsRHm3?w$LN|n8kI;;4R>0+OfJD( zflAY2Mns*6i-G%FrDRc0J9wA3@q6g398M2u)MkIt$PvJUyZWSRxa*BnPwryi^J4@n z80i71pGRQz`z8FMbnNl0Rb#Lp4QTsv!5GmG0%UQ5@Xfh&ho8lH5FVG_^&l`V>VPTT z2KCvin%Ye9kBd5JN>8D`D^2lttrO*ndD)vNPcN&zD0}vZVsqo@5Jg1^|6Lwzpe*#` z=9=8rqWQ&OVz1=_y&Fk)uTnjZtdMo1MFWk<3JIb})-NRd8EJ)3mJr={P3h>TVhhqf zf9F$WFGQ2yD&}4GMvPX8o8jc=uR2;QZV2qb5FN*87^2-6pW-Gbg;xquZ*P-vxJJN2 zs38IaK_}$OjTgt~v{!*qZ%W`zZgc!WHpgDFIR>T(nuQT9J3Wgnbdm7ll9rUEqUBXi zOV{FF0D^w3L(p@hR0N%W7khDNl$M|b_8{ov6b(V|ruZc27*Q#@(H3JveFaRo(HPkA z!(T2>iL(C&r{682-!V$ebnqe{PhFX-sH^^FELL62t!e-}-cVOP6suPHixw)8fA9gk z`t&{JeIxQtl4EcaC9^0=rQ}=k7EYsN7$u!4`2deVaKDJWeuG(}Jh_f_-n-80e0&e{ z&fG&B-WVxH{%zV}$XSVaw2<&tQV>y=N-+u{8RAW6%J-uzi}i$M!eMa57KCF!{W;@l zy&}h~8lmEtu@AAApO4UT41qm3=HN&T$7GN6$uVt42-Nwz%8@@{WA!B5^{z6{Dl4=2 z0nv^Wulg`qz+DGKJMvR+2|_p~f^bYk;dl)1g%^r?iVxvfhlJzoWLy-!rFZu~N*0R( z0aTiKVFV$J!pl1GgSC@Yqfl!&Hd{VfI|>B$7zL!OYZRhK_#B1p!&QQC7{%s%Gh8bO z2@J$@3Bp9jDzzYVIv!z|t$COz+n&|;7456{6tMbKAAu#+(Ak6HE|D>>qZBx!zje?w z%00|}>#RQBRaP?aQ{`X0gku9u^x2e@K*y{jmx%_Yr}$(Exwa>fYkSKu-n~|=%kR^^ z_}2nfhq_E)SC>oCAe$T$pkkxw?N3%btKs;OoY$);SxV09$&|cHNxNIvcyrNE2iEvi zTJh=#SVL<3D&N&cvpU(b>rqj@bIk!{+9o^RK;L!lLH7GW8LE){Q^;%P7y$b!2?Xpy zNe4<=E1WDt$@krfeBX}4{RuMZYwU!^*m(;I$2OL#q5CuJ2tzt|DrUBCEnuu4u1!6%r_g9mHn6oEbD)Vv`Y zIrZrfpK_|=V3fd<$psNOSV&+FxIaiBXQB0VT7QI}lkjl4zEYO3W>(^u3Of#Mzx#e_ zlg&L6kQcBD!;gO_H$*t1G(%(DOrilgbbNV`ijI8~uQM;wXs?$Z!AxB;P&HF;(A1wkP&-o*T-cc!H&6`86k5bBbo#K7gb$R9IM1pqv)WUU zinJAHl<+WFgtA;znqpA>?ak7^V$iqr3t)Z2d?yCTk_-^SDR30cY%wLe(Dqd9=7C9U=6qb65u+G1_MAo_RSxgb^C6Lmxg#I8Xn=W!m&-LsdD49md2-s!$ zOnh>b*3a)LIZQ7!uLkY8y!fOa0oy*p^&(|}7>qY)3RW70gVbBXBjpsNER`&)NGdK{ zQg0PV9=)ZbH{I;7nnyo}UtiUzo8KX4+#cT2d- zw5P29!n9waGcw)ZRgFwUJM2KqceNu!V2_a**~p6*Yl=yNCq!I057OErBHsUHWZ2=(jzX?Wi0%>!#lp(I~ci zC|Lsf?PC6^V;4=uMU?a-+p{etH7N<8WB}Qo7D_@cVPd4D`UOl3l$EFR3M1p0YC7d0 zjd^(g_zetRWQxFq3&8#$JaMhJS3P90uSD{{;$;d+pn)XkmcAv%!|)uA z)6F?JPE#fPLJcual!dH7!H6opkj#F=>9H=DGM87vN~2_@(<@DHbsW41YqEg|Q;&{bEFvWt3PhkpE`sj)fFyXpKiT%Su^O45bIwZ87jFD&wr-N~% zt5}?e-1LI?ou1MubB;d^N4(fqkD=jcu9iI+DYW_U{hNZ`y-9_Oph&CFB|KWHaF~VH zrE$6DIx%MF*KY;M_JWm8ygkinhz)eUzUiB2+xbD} zy-g%C^Lh*T8H4B^X6be>(Y<>nKhN%E%-688D5gFU7paQQ7(J48WjOCj%G<1a@n-B^ zF9D0Ct`Qh&qv@Q;zIj=okXZ}k6I{rdWll{x7EzS~7}l`gT$cZ&mlXaaQ0+~y++_)G zEd?rO(deiVQjDH9pegfbj(s9B*Y+Z+MJ;0^4afx9#zGp9Go%m=l<*01Kq!khnM~pW z9Ty^u!e(yBi=i*9FWqiZO~AM>jKENC!euuZs-6{&%a2{YFh;agqFoOs3bzA2d8M$U zP<0D7v`)bIjsk!k1BliltaCky$XO&J)77<CTSjMF5%D1 z^ZY!kjLZt4A`!Puu{)R)NrPJM~|&(xR5|5$xd9kJ3?Um`($835|b zs$;00EIlUGm$?L)Nr|13NyogZFIQg|<8g$-y2@O}aXKR5-^s8p%IZxT1xhvwTTe4c zII>MH>0an^PtOe?IVLB{6F&<6vT!RRhNT{>u|mOLv9cFODOhX$9|&(C;or;PFUsN` zXV_x;SQY%0OfKJt-9@>ZvHSn@rpnaxm%~m zisNZ-p!P0=Crfw(xi>&r0)fM(bQ2vyRc&X=tQ#@}j9bs@D6sOf@*U)_-`@)xebh~^ zLegJPS=`4;-L*$S8*o>Ocz4Jy<&~nl;2%+0{zs5DYjN$N;E zRu)D4Hcr6C%1OArsKAeB-G5Ea04g$z_Hxcic$_RUD_Gk{3{zI^2Ut)*W`xE=@4!P` zq9}QYVMch31tVtV;b4(a+&vs@rw9kzAmhq{yoQ4XqP~jZU_n?B#9mXX7=m!S;g%st zIHVuoKQlrNMoN$3-}6GxV~XKm`{AFea4avvdwAAlnRSdTrJE-ZK3u|okVPmfi_>ltV|nTP#6m3T{ah_}9@ig=3^?8TyvTH+Dd zgLua~X^8h@C!fUYC@KZ3>Dq7DP?Ugis|mo44L4j?ld>R((@z^H_9FSoO;3=Tf5oY) z?sFfjJ{za48o-X;>Z;pd)k?Hzp*@*rVU!f57SOrS>yHd4c#Ica*UF1 zDVYX4Z*}lfrKaf8Op*noDOp89WK$sk%pg9o5HOq~%igx|9ztYUKici>C}2FYjKHp5 z%gC}&sQByMytg8QGXFjy~U|qw~ipSqqU~!?2(-fR}e{q1di@EKy$DO*XY7 z15OsVp)aE;X+lYTQEsw=<&qRcXj*&0z`v8-ceybll`7%eq}@kZTuX$RRK?RjjgcnJ zcwyXid{7xHtSw-C*Ac-v8OWgUpO;NP7h{S@lZ)*{uR^G|L+RkiK?yg?-tw$(W!5>e zF*7MPe3pdolr|=1&ExxqD%Sx-``E=9=OW-KDX2Pio5I4vWoy5YLVA!MLMbcZn`HiDXRe5gyQ9@A&@;uZB??TSW9fETU)K{ zA+U$+$!w>QJ>%Q?ls(QiqW4*}K)yg5{#PY@s9Yd<){iplRVwnyI)ty4@OrWcWeH1X zB@VT)@z6BP^HZC1o}pq`z$%PF{+--w=Ezg1Sc0dyG**Ya#oMUJd#x{a|88q7c?s-6 z-sjtD$XmUwFY?Mx$z8l(z4Qp?@O!OQbGQxl=$+QuIgH@K&f#jU#i;OTu@dA5E-K-! zXfd9Z+e&2dXt6W@LilkBcSVa)Rv~-=B3jIwFQ5R%IYewTH$1|^Jp=! z}6PEwXi;8oVfjv?Ha(0WHlVOkTTnpOUE z8f-y~c2*JCV^$q)shL#=TKW`P9byDlZ;*~!vl=$mP{Jdnj>@wt$*hW0WIJ8K;%p({ z_a#qL7QRPA#=UAadIL{x6>v4;;bU`U8$5i>NXC7-guBAWjPAz0Tlm;h2WP3y;8bj( z8l1*-1+QNV?cfmDV{l%I(F{(#7@vc)syVL|!pC0w6dU?nz(S}Y0s~E5hJLE!Gj;gb zpBp)&Ys1Gni<%&OtnEguy_taV@G$~Q8oI*AQbCDr0O4cPcyE7cAAX~D2XB)^jS(Ckk$DcC9hCorX=_*CJ)bGvi>wCvnUx&$?K;PxslPTMPM!Y zs{2H17XbtpY7t=dcRPj6G-ip?cuKz0ar8I!{qpuUp||M%b$kzG!gY$2HD7#1FlZ%W z+%IW?I4I!{41#eftMmrQvVRa7(O{?Y+_y}U+RcqB^GA2^5hlCb`yX=ap%Yg|yr|xk z@wtJRBGO{R?XC#0yKUw-p+>8N+M8g&ew4X@{b3DIi7w;)3Hq0#AZYVq5x4pvC8dmBPAC>l%JWz=(;T5 z6_)3AfB%nwo_udDo-`JwpEVP-TuivlpN_com+(wUW6J8yug*((u+1m7gMF@4x#z~Yw53up42|i_*rVzs2;Yo_? znGE4du6G*T@LfXqhA>>_G!?j53CAjQL+wNkPZ>e@5mHP)s!6-HVGkn@p zc>fO){+k>#%(9zr!ZZfvx`M7YU_=}z8(_c(tL{n~Eaitd7!Dk)BlOhSL<4_?QBl5M z!Dba3$zZfq1ELSXy)tW|d)(7$|DNw;1B=En{3y z5P0w@_odk+A~7IZA&7iM->z?ppBC3 zS_p&%)sa@qp^<`!VO5a0e^F#ecL^_EMG%*==7mnfv4OlRcpCUshWOwZ(jlSpAwXpQ z5(Lt7BYbA>5hk9fM3#EA_7S~JnMJ3KFTE^U^rJnoW)l#8NWuf;o)~7?&HJnIr^jw~ z0IId2`Ib!A0ou*h-{j*m)jCuZ0?9mRw0vB~+%ARwt$JQ&&9lVnVP0SFS4A?>G{j;1u`|jcsn2tqLx3s@{t*`%rt};J@!>P6LK{BM2(SJz9htm& z{O~?fuqTbyjwXT@t!Rk|jz;*`5?)j4HjtIJHFP$pC8o^DSY;{hgxi6>C*BahB|wDN zrM$%|e4SUA(h21MIc%hrfHmRrpTJ+eObW_E>f${9C-B!a<+DAHK$rvjfiU04eyiC> z_Z#!7MzQLDs!QW9V7;h%4*pSqW7ww^=vLm10v1M}BAC&OczZ2x`&n(2dAG5k;7y9@%p#%LQNoYPm`;m-Os34k*IcXr&p@gZK#^d zVT-ZCN)5GhnS%`tao6R?qWITe4Qg}BaKMEIoM@T(xGUva19D`}W7@B}OObhEF4K+N zjt?m5Nl7zEiaG|9b@4M966+|8ag3-i;}3dNX0sI=>LcNM<)bn@tF_Gfii*6n3gLAn zJVO?tEHTM<{pDqn7o)AG8xd0O5CeTZ1>q+o{HSCg%3`(J>M}lvgV5`M=Q;)po5Wxs zn}pI-o~A)+=lNJ6=Hx)clmT7~=Er0BzpdclffDAym0T~X#}RMlh!@qXmm~2a-k;)y ztQmZ2`-_R47VSSY9M+%f2!9pCO*vJ?7PpG`mGxS2dUlZ4%9joSP3r?*apl#|QpND_ zRwT{>(J>Hiwt0v$NjLU~h5r$v96eFopn4^lKO*gt8(IA7WHA$VZgb59*As|%|2k7d z93z;XrUf4XFgIT&5O;=CQi7JBD=&)Sj-)tI`#xlYe@l2}8CuG-*2t{;L0IJep9r5T z;U{HiDbGriS?j4tBL~8hBz%@Ef?0O+Wg}lvvRbNElvH?2)0EK{z7{J$&R$}s-GN-( zm@=9{zPI(j3NA{ZD88P&GBn};WA07BqbQyS(AgwF2*QR-!m%14K*AZ6BT<9l-aycB z8g4|vaEJi{gwsI6u`E$k5JeQc5l}%95Kt4sB`7}x4-iFAfms3qf)I`*udAxNcV@G_ zWR?GW&+m)PR?l>I9bHvjUEPB}#=kwd3?~ttMYiU%Wag$2aN^0-@gmR;PDeE1}{kX0(qGtubM2Y zM$#+a(sUUj;a%k`P_^K$2z~2$Va6Os#4<2pPcBGNrTaJWez2XbWZCkuouJani zy4QK*pLDPDdOT5Lowv1oY1erhAzxdu&V&Bf&-S^_dweim)tv60ZfM(QfNiJC%F#qa zDQx?$1_s-{pKh(*(7PH+r@0X$=H*f1_~I0CKzsNqCM7H}R_Wvg!?b zC53KZijweW8(=-j9&H4VzZG?78QI;}GgwypDS2H~US=+PKR0O4MwdEUX>Fz*t{hxC8mF;dQ~FGx9y@=6|$LK2UV@S!rV zgsP-Mco?%?q_<02+TiVmVJ6GJ_jU)YS9!a8`HaXh&WKOz8D_+UE{Mg-dgd8{;1b@h zWrNolF}$ACixh8qH5D7}CgG7X-o&d~$f~mRO5v*ruOZ=QewkrO)(-;IBpO7Y(3q z2))zMZIAD`-`l3V@G-Q__s## zm(KXVw%b4B@BBz*{5L%4)$d*YpxN(b%>3$JY3((Xw~gt@r#bcO_wRw^c@wS+`>52 zNk}2lTw5uVWH}YnAz=<$0vX&@oJ@m?fX4*}x|=>T?ZG=5u1bNxs= z@1Icd5*6dA=*8>kUc;BD7*9nnDlX6sg9oYjh>GVg;&8vbfWuuziKD}*=txCfDgvlD zLD{6aR7|38*z}{K6&2N~7)?2%-KmJ8B1Fgjnw>5#UaX&3Yhbj+)&3MdQk9B}e`4_+ zEA+=wii%xx{`C01dRD|Ma{ui(d`EotIUQ9K({C17a+7d{1(0xs2aq}m1zmy@(DqXu zA?M5J`{bMGbp2Nno-V&nz6mc;>0cL@DN)t&xn=UX%JhE!t_Xit!vB^ZE5|BkuXeNf zZ_z*dqZoBbC}^-SIXtFEaJY~>_8@Dh4R0u|F>Acc6WDk?0joj{BY5^sollpu?C%hJ z>}G8-hNtL5>SxB`>wieNU5<@c?Uhvx>6Oj(5x!o+%gI-$YDGi=PTe|~qNpJXpflNz zVE!XifAtSC2*#6xfL#CD2IMY1fL(R2ZAK2kC6T*Fj%XYOiP!YS*UL)yqcTX$tMY4! zs%G@cG&&x6Si&pGSEytd%plkLugVRq-36fowr!rjhoK>?_LwC}Okc~&6*a4@cb z`FTDx`tI|5!VEnGIVSPjy3BCjsMI8U!X* zv^;NjjA6}=8OHun!2hXfkf3cXuz|puW(h*DhXjc&4fgo=Vf^t3*2LG3V-q<7b{91P z;QYnxg^TR(h&?+c8T_b3%uE~9>V~AED+DqJM!$qsL!)~km|CL+c5Nzd(V?WlVS@QD zP>6Ul-Otfk!Y9ZOF|TSYtCHxIjUy0VMZ#OkSFj523?wlj&vpsLaoK3`x3hmJq<|Lh zw>w9LLbNBdu-KY)65^(>+OHMb9l6YJ8Jkf>6S+3Q{Dy=?COub<+$xs33zw3VX|sZ- znDTD};ErOpZC(+zqJP*}gtz5wQx5uu)*e#I*@ioUcv4Kw-!;=DGdZK%14uqHuqoEV z{y)r5)72zPX)d0=ThQt!u@;X5GV-^&XCs7fF=mhKAzF6?x_G(4_*AC7 z*wEJ!pVn~=m&I2li}(lJbGh~s%8GKCNr}l^<_{Kw;&N+e_&1TBo1VS=N2q&H=vEJ+ z3y8w?JvgQ`xNt_$2_0;>(GAy_BOod(KW^F24kKNqfmi=pPt2_jJfAfk;y!H zJz`Q2-t$4&EaFn@PWax!c>^JkmWS*-D8TImMGJuPOwLp6v1hH>S7DXy*lpN_st$c+ z({{MNZ4u;a^?`H)zEWp3u$cuL{Y&fC46%kffQBoqr;m2h_+4pwE0H5F3?^-5ZvNh8_IzgOYf9abylD8Jx96YK@myqt(yjfpzA!AvTg=d#^^y$`gGYN&<4Hv#x3cdJ8}bmo%n z{0qJcow(FlgmyI&}yk;Btw&=3hM*a_cdv*7JL^cz1D4azGsC)r-SLu$Q6 zA$0KMt4h2z@GFPDfjz7hFz#0(xTIg1!RFWqHsg9^cSwd93kFg3Hq7l29B{QRhA={a z>lP$fKjh#shBs+`&Y}4kCwhYzK^w{yjS?^(BLJ{V$Jh9w^$QDlW04dfDNoMk#fpZ; zzU_gH{Zi4~7=T@SZ@C*|uSZj0r7{&4D3o%LiVpNe<@!))u0J8_L0QP+#CswY&8VnA z#X0)A^3aNM0+ROmf_(R`68?$QKD?@_tXfR3^uqg&ZPg@vynKbKn3v>ShrR%aC%OS3 zo*jcoJkewDayD--pS%Y(O3KPXIqOf?wtj*$*|zd7(dlxM!j&fxKA*$Wo~3~xSXk?{ z$I((_01#%MZW$A#xsA*qiUp*~5MYKz;P5>`5n=G}>@v^TYoo~y)<0`a?svSrL~X|v z$%6cs8L6j{+8;`H+nuid8UoV&Lq-2KfdtP*Lj z?uhBfRY_4$e%6MgUY3Hx$T9CB8?{qsSLmY`ttC84c6Nn->PZ@B`_En)&LzEeB?Rq^ zjr{G?A;QieAlr6+F87~-E3ggB2XE2zD&GK!`^a!FerbdE>Q;zCS3A0=+qn+2J2HuP zOSl?)sw=9o%2?N%Ii0p4Ap)&`xEiBVs9hxdM@^thRX{{%$4L4|GZ~vb4p$DuWy`vjKw)tmp*sSW zQ!$;204n~tgh)ghk+?wdl4>4E0NB;k_{pnjbNE0T(Cq+ap|NX6*z(?0hl0R+DYW|m z74xY`p(3Axx!+K+h6*PYf74gW4^y#$iWjLUM}>YCM?S8cVdTx|yw!km=8*%~H96lz z{@L`&^WkUVeu7?1mI_@SCo)X&;FMw!4~DET`|NWd-4q3;4V4wNL&*H!vSOkY(84<^ z58=Bc{HP2BU{$tl$9W#ZaMd)V=p~WEm2JyhEt3JlYPypFp6ujK28i!iA{pRA*L9!C z0Jtv0C20p#Sl*KXp#P4KQ!;=!Cmt^M_AwctPaGtD8+SW1cwM^O>fBp~b0nS-WFxsf z8wHGSbt2fYh|_Z;(sQwX_Y#cchgr;9om0vPYR;sf!u}Q5=uinCB7+LNs*|jGh+e5l z$03_axJ|x7RV(=7wT@U6Uxc+e=<^_;a6aC&AZ|mh_*2P6;ZWB6w?Q0DIEe8gB^!M% zVEiBk2Zw-&2#Ipq0{KrOM8%g(gy07;MDNf1M9v6q^*Kd8!bV!NGWQUd=XN?5Zc z!Pr^DAVGy0!APAk%@AHm!UqQn>R=T$(SAW>f+L;%rABAO9gRn86c!AgcTzYL9eox_ zwlfkBM^O=~SKj5-0LDuLc%U4~0vU+zxD85in~u2W4u&ElZWQ&m5FhT%gmQ z#YoE* z@-#Dl5nO`54W9SP-+7uKW-zT%wsgWq$4R(Ly4k#{x2)Pjo_P)(zIsr?SIbwhD%+M0 zvmN!xPOz>rDwS;;f;D*h5>mt{O$QDovHuy?5f48k))BwX;HLvyV_3#GgX-V~3N(XM z(HAGb2ps;wmgfWQbgb0`<4Gp0yLb#sxHBDs^>*KTiAdOJN$@~%Lr#D)v?N$hXUFSF z_-TtE3{=5th&9@Y>^;SmJyJm-003n+ug6wi1;`#+@C9h}?<1N!e5JtT zx06R^$dnV;Ju*Wm1T8+Z94MqSBW~b>s0}OPa4<7uv}o8!8G9xpy2g*(W-{`{yL&6| zy*HkRQldxK1I9d*I%5oZD6QaG9|7|f+@FV-dDVA3^H9WTF`5~CMa^@^7VCkF+%v?S za1vEhB%$(%LG2PbDP`f26SNK(MnzRBu8==(DYpSkY8-hwoSnx=+mBhoIqusgsUF#8*(KZJ|>G;)DVpM{ug!Dj2rW{04aTl?iJ z2(KXF4@1Sb4aY9-LGt#L}0 zFRtmHlHq<#$&6M0P07>+sww$$^%8mETd8=BR^cCB7u4kkFyAJ}bLn*>H;C%IYMQKi zh+Y{^A88&g;WqgSR5_d5>DFZQh9OjURU>zqcB+n=ozFuYHST;yLNJ4z&oR-7j$I;9 z!Sr8i)VTAgF5I)5DWeo!q$QetTiJY=sriM_{G{>>9_$ML$2ha#o`JY(jIibZ!3n!w ze{>=&#n}_#?k8$jqqsnlYdF!r5hM{bn8+9HJQ(tYn;Q;!0CP3z7RN2ODh;AsuU{x` z@C6mGQ8D9hR0f+V3=mF*g%$d>4s2=t$whO172XeV5p#ymrSLDx+1|Y-nD;+&aCXu* zLAHdimtk0{qCh6U4P_wa_S%NZr#n(Bzu>2rZCxciLbgIxgT%LEm|YA7pBGe0COAFf zvV-h0Gtda!6n_;?&zX1pKU-mI9Oq-?JfAG3Hx8P{`Np7TTaTA zfE@lL&JxJTVB!-`8!`@bzS7{56Y$~q8uh|IVvNx=72_z}_>+WJmQxX`TAojc)vZ}O zu`AmK`P4cM-+rHN!FpA~vo-NHRDo>EAosb88tU_8Awf^@x6&SCE%l@=#770}VQK}z zjtO@B`g2BHqx)crS?!L|NsINhnT)rYJ5!hj>yYH0M&F0tD9%60X4x0)?_DO?V`(<^ z;PLM(2II;Tu#R3a8&?3k2AGX2ZLhe#CN22>6@hUTqT`K@*wXV7epyn2SEaEk_TUuq zX-C3?SPg&#M?r#RZ=$nXG<^4CKIN9|vCe-V^;RAkv5RbRT`>;nrmidx-iY@aRYxj;B3|>O{TWe}R2Sn!`ye_7Q$( zRLEg}tL@pN!`(SgDb^b_z4GViGsba6RhH;|hP!E`ntq^T;Llt(P@jKKdEjL;^#SZ^ zVW$2w)JhV%S)a@{kIr?ALajegv5B_sf{a~tr5%flf1A4ku$Z^`z{}y8L3N5({cOiV3gin=AZm6ixuN}K6h`5UM zc}FKUmnY$~r9S6Xt7X+tdZjJhbGul=~6Q*lvw=MCPfh^n+&AI zZ;y8o-ax|tlo}hWFiP_^s(U*#2r2O}vC}CnA`uJ`9`<0}!x9+>hPNBUdvS~%?rfnP zC{2#?Q0^#$Pb*f-t2Fm&8RIP3wxvI+9p!}YJRM~U&T!jCjxq>EMqIO|=(`<8I6BJ@ z85)lFX!znmuMP8saf!wcHUT9%k~iFOke7w=V$L-5!bPkJz3^51N4S1t33%a&B7e-W zh)Z6UN%GA8cEb>6trnVLRT#`wi?rx+(4v|vnv`jEDz4Jfx87eu1omqv8o?CE3;D}v zrb#q-)rIq-Y9YOnTo2(tad_GUdYr%*{-qp}?Bqx<;UE2s=9XZ}uAs#noNDRP?9w9j}w3E=$E3T02)dZ_xTq`u5k2b7rj% zVAlonCSeAxogZg~{&!oZ^()>`?k}M~{5N2L_rGB@+_vm&6F_q?{M~4*Upn*8A+KSr9|RoXw3hK0zvJ~AknA^I~(VC zn3&^?-2L%dIW{uLl!h$jlws^I1%EN4pThLP>I}pHZjICOHz#Jt8!km#T#jr;Wd19R zC|!vc5N*(ZY{O`CiP28;cE93evWGBP#Gwn50@*`ph=iJLc)lP_Te50T(_yx55*{Y4 zB33aEA70hlPk`yom(!riVE)AJ0k`VHw~vM; zLdI<(rE|L-C5%6iqcoNb&}vCxafS21aG3pQ`7kDg*GsODS=waV_w!qy=@*X}K}z1- z=QT+r5xhrHd|(H?4=fdwpELsae}+>TmmO~-wsQqcEISB1j)Sdp$)$Hs$v(1%-wQpG z5-@1l;k3094MHm3Ldtmv7cicRhhR4oF%?h$<8i()agg;KO@*BbezQkcO7Gz5atCMx zAJd{`>uG~c3AjZ3KW(-t0CpWUr;OC6R)VPbiR{!CTAhp(@5A>oL+CEGUINCyk4a#r zOwh1eKi6--$H$2Jn1>E0IWrYN{b>0w;9P9Sp3mQ4>J zP52C5G;JHX38OkCVn!OW*%dkj*D5j<8I$I=&Xh%B|+{>i6zNBI$#igvj3(DSyhws;p zBah?SNdd1KA}G$Qevws|=+>5nFC z(>*B8DZx0dPfmz&B?aSnQ`aGUxrDb27URV#N1i=%KT~E$77U7L#~vInAGA;dt!VYt zU&4Qv=`K)Z-8964-snqoq^PBQZaSsQ1Z_unO$i?)-^VH(Kq&A1@^9j)7W8(TkMQkd z5*{kw#wtgv2z?WN{o2i8yLA&1#zQ^9{VbsWe#02&dla>r0}W$y2*AMv<7HB|r(~al zDVJqy48HQHgtwFFFHprO5rC|?KutH2&;3M8hZcJgZk6yYa_N9o*m)3je)hO{Xc4_U zYA3#YNW!0%FGJOW4nfvUOtsO+az>ZI6N_avPNA%A;IEOUNdyXE5WWP3ey0V+IN8TO zT2O@12aWnk_*%K3z^crms@D0C=`JQw)IU8O2kGntCc0-9Vo*3JI>F&eaCSuhkUU$P zMK&5wo$>2!T)zrKVt5bs(v6^u-{~hdv;fq4O2#A_i)y5qz4tYb1Ka6LWN|}e-i6IoCh;# zMJPhR^^XzPFa%skl5G_*9s))%KY(TDr-_7(HH3hV{44}uj)sEqMLaf_!{KS8sW}e* zK!6_wqqQ1gO9iYgH&_T31QFMq)b!#ux`(ri{e8&(UStNH-$b7a<~_jm26(Bp`tpTL zZ}_#Y5C3((5Ka-%H|gLs(M0&H$6un>@Ci(PDgyNhRE(kGNh$_Y(T|Epsj!Pyj?m)e z^PAMgeApauipoc*vIVVd79Hh;fYnk?QzTBhfbrE5fL&wEtEEM>n0cCt_EglPs9ub* z&5et(%?OV+0qnZxhN;bMlmoNkI=1rn5ko7zD0%Yu5pyd5<`=ohR$P=1vyY0`shC9v znBFk9`7oWAS?JLwfL+rIOl{VnRthMAW-k>VP##S;W19&*vCTFfZ2}md7j5b*dLhe} zQt=!W^Lud~ZK7*omR&`0dXj!Mq9T}z)0mv#+C#-<${+ZiiZxU?FXI3|_{lK9K(f3` ze=-jcz^=KMO-Kh)D}Tb53$yF7CD$u|dt0wU{(h0j-@i%UQ-EWxEpy;(G0YkLg9JF` zxCl?Xibx}z7s7-sDA~#&K7bl#gDdz^%z{x#9vXiL8E z7Wv%0^!^pvPh2J8ntcBXKLMq0!?PM(ABW13F>Qn+6*s#K;%#7DBZ+d~?E=Q*8VH`f z6Nq5E{G_hzep)RYR%5bfe6|7bN3ye z!n1VJ*)w+@PFigCURj?l8r|qF4Gbke7 zeTFaYemcWPxA*WhU?l&6Yrts!BOHFj@E`Drj&Kmt>@shMima8Bg*S@@o!NjM_#VCL z^|T6U3d6%et;a<~7_Jb$tU&|R=Wg`i5mv9Pf$v^CEKr+IUr_im0^vs_JVky%0jqE` zu?N1K$}DkuvfXJP2F98!_jYcy`8{%Q{mgd07qpJ>g-_h`ZJ(&U(A=!vYyp|^hzLN7 zyY|v#?jO%o4%Z)i8A8&$3+7Y11DVtVUJJsv+ToLlNKxKicGGs~Kp1!sOb5{>Jwlp; zUR%Li7o*L$$L_bz?|V1Aa>UKfj?5kDK1`e<&4^oR#ofre@wqWc?g!Z<$?`EtrZZZP zJ;W!(Xs|*gvdIG0i(8=?np@n`TA`@v-MNHCb3GRyAX8P1norCvp1A>&Yz_DnteZ>U z2{!koTdJziw)Ig7ZzFHH;#FVDs%rE~k5>@>o`nA+Z-T-ql$f6Z=1fU~wFuJR342hS z$WGXcT8A?L_oI^J4i#Jf$z~VR#ZzlYJ++na@v=Lr5)57;zg0(_h$*(he7&hNIT#Mo z!;!tL+R)Ui_G>rkf*WV7X;)-Fl=1vjZKz)H#ao6s$uCpM;DQ(~<5f<6nF_`km~yad z9LgQ?*nDgDEZVqv;-J9EN%v5VdJ5s)C48*Bhl;91hhrn`kN^f9;uSP;@SM1U=4afu z5qhBl-7InKf1=IHblv?k-4XtqgnuuuyT>Z}Q~(p_cQ?R;;=9&MZtqL7p`cWsVPkPq~h+HR2f{;$X#Vr zKDhFA@MB2! zaW_LyN41J0Fid!yZ)MN^~?HneOFiJif=*-tI4; z*k1Tn@V6qJrL6ZP!lz33U-HNvR=F+e*HB@$sQFDwSX91o7{-idC{nu2e|h-Z_ymu)H(Hy7*kgY)pxxc$NH^=N6N8cmBA6B4yS)iGr+VdyN%-X^JOb< zQ?UKBT!cR(;aM`+j#bRD&9U&0pcUx*+R?>EuW)HTVIetL#eeJk_iFxI-1U>85u8*J zk9IOc#wYIeC!Sv z>YstouJH;iIC+NpVK83io)u65u^+!*V1JgP({t(jnf)bvzl=^}6}Zt6AHy?=5ve7# z%@De9wzhn`3$=RdJcZx*%+1VoIX3V=A7A#|^795LI@L3I}1Q**BHV z{87>HI|nh}Xu2Q5oo1HH!&2lJafM{LDFB#2XTMKGM&W&3tZURoQ#!kK(FuGb4Rl2( zlPpFdG=OT>VU*s|)bPx@g>7dKj z`A5O!gk*T0Jcs-BNVY9lvxw_kNV*qy%uS32eFU9l#7!xSIw%bv?j0^E?;MlL_x?c_ z+4_GiIMoqd+O^wzBL~|{IAnGc2dT>KZ*l!`4MNvu{js)@7yXgyp+DM`5&C27-=IHi z-|iKCzD`l{x@Z7xpGo*E86~Hx5@YEp#-hIx6@>GUkY2~(NH!&Fo%f%v(c$oV)ljX{71O-M4jZLf>OpPAmtmx zqhg?p`kyJ9-(U8;g97rOIf(xf{N+C*V{${;+kOT5XCoCY_> z7WYcH`^YI&3BC;=5B5#@SOJ(nqJbvWxXF`e{krv9|i8)QoGOQ8t^zk`Eg@% z&3FLV^`<#+KZ^qQL!q#^Y8x&Udz%916i#;yDsa~nQV{(IDmGn1))`K(Zu^C?ZYtHb zXNA7+L6jMbs|p3c|DnkDAu2xo2Ql~}hmW=e!=TP(#NYz~t3enbcu)Hnpo^<11?5jU z@ayZY=G2;%T6-qPK##$=w{9DlW2OgyU8k?Q>7nO700U(%xgH71uBix7pqto-ayG;D z3R$4;5`|kx2Pcm3uj!M!zC_-B0G^1efa39!sOU$*{cpZ94Dk?&!j`YhLjOg%9iX9^i9(AKgT> z_5u#H{#QaNRwiYc_#O_nf`ns^HV&Ao*rIoK9w|n)8u}JV@ta{`y%8ZIs5w2-9fyF0 z^+s+F-ntp7X_E#qPdA+2-O~{{Z(LL-I1a*z(rB)59hYvues*oU$WU$*Yo-r;JUHNI z%Chkmg5iqG)ftrF^%zd5as=dO)*8?i{bm0`vYq=vkO#J27}=u94fxtgF2lzpb4=^q`ib}6Ox=uj{f81mj1m}z~7R~395p$)BZ6`;+RAEXKS$}AIoDQ zdgU1u``v=F%GTwHlqc9HB9aarq{y(xdYn^(DfpT}IX~03;{HuO-8?uJMuB}J0ORFJ zcv>zwTzNVe!iVYbzpzApfC+*G;qsze2j+RF#Lx-h@A?&En33p#=Yl&K&ILm%|LM;K zExzR^*eD0;fP{bKKEVc6j!yi$0CSI^!w8uf5T2?27Ad7I8h2|E^Nsin^Y%x+?X8+$ z!v47IY$mz;8-kb@u67)CoEfirP3Z`{l$ZW2Q(j{JgE0v1CE5mA z&kiwNd>82a{Vlo9e~ldY8RWo!vq>=OU1aattuJD)8zmgF*{Nr$8Xc49><|g3w-aM` zO?i?IZ0iY8E_qSj z1E4SMkdi=(O&goOQD7cTLB4NZ2Y8u-2nUT^Sp@l3Q`M+Yhi=_ONg-cQvg_Njk#{MM zwj8g9w>c$zo{XbGRYl-1s~;olhthl7X{)ujgvZPGuu5zrG75KMleK<7d31Zr?&=y% z*KAwR-;o-HIkRmiF4DgZN4I+{180cuPG%q(c<>k*mTfz?Tzyb?)lxe59R}Kmart;5 zW>jYGVbA0;#j9Pmzk5r%sHm?dl|g;wMTCrJnZ#ZNj8zY*0EfQQV6#SX^1C-9Q`1lR z?1x*NAo9RqVFJc)aY8VBeh=HuGM{mBpAW)YoY?C}KM|DQLV>liH05(8{8brP<5lm; zswwo!1iF6wISEgeuV9tqGUdGDUKF=b_*@h^2@o6~6A2_-B}s_UyxXaKdA7R`*!2NC zRWh6}1k-@Uc;^Q6OWz8?A)x&R^#mk6y1_uw8&QbJt_^0ABAC10cAjbrBvz1g-UdO3 z2g$$aatfOrC*gIZf5EGI%c>jX4Or-4*n<*&OnL)UwT>S};}$rJyow6)`LWc_x=9GX zyk5Y2$ab(Q+jg**oKhq5+*4}9U+yWDeZIt$y7AI&rqrv;+y_xsaWR(%QMQ8{;Blc_ z%!_`{vvC;V_iLWLRn9!mKp~6Sb>L%zC~TyF&DM|2qJZEMvulw`6sCVH=)MiPwf4a8 z*z6M$zCsiH;8k|f<1F@gzm*7UC14}zQ3N|K+B0*4Snb`S77l-or;mdK2pB*7iC`|m zUd)2W;ZODlx2I1hLo}EQJbP2t#g}y6ok#Qdwfk>UF^7s_RJ5nd<+8|XeojHO$R6hn4`UemT!y5z*z2MwhHb=$ zg8OgLEd4SA;XNcgQ_fPV5+ckT<L_7=64T`=64Tn0D6St<{WK1Mxa75ZGo;12{I9m?ry<7 zybmve9C)pI>nbI#@_my`o^Su@T24U7w-2Vo*p&jt^X(DLS6SkSm4T!p-#$gW_6%$4 zh342)9|3!en&RNNwFXum-HNcNwPscV`1Y)H;B`>>*<#`zq}2N5G=HC=B8iITR9LB) zOtbPa$f5t?A13sng&y$;em=B*uqMxkVzM%fN555vQVt6=#j(-;YovuEcl0+(PH!*a z+vT3~ZqVh-*^Hx}lg zI8}AKX*dtwFi*p};9qqpDyJD|mU}6aD#K{Vy2sx$ur97460XO4X4WD2_N=@6JwfkZ$eeCI zfz1`YE8t&9bIPm!kX5hIE1e1uzF)#;$XB3>X&uU+Z$>ldZTVbvdLOob8Qdx1SEZ4| zD#w1iGl8ElSR;p}UyRK3=4sUh~$Gv~Jh2!SQ62g(P;5NchZjo9zw$1Zf zI4b#Yz7@jJ;8r=!!|w)B==Y966yBth*&W_7ivoggf0(VpI|k!g^aVC`?QOGh<=_)< z8;olN1w6lb+iY9`?DN!`*|?T<<&)72q~cF=t1{(U-v?YD+EyGC0C*eqryk#Bmfnb?H|_z?dGUGXL~OgJxNide z=d&neaK98TuGUEPsJd*B}8Wm}$&vmACaL-j=S4$;{uw77%+7-<6D6r_2S zY?GA&bZ1uyc(k-lSS9Y4I@yS>kHZa0oVw1z!FKD%N9a?lJ8GBs)ar%D4c8|n^E5bq zkrH~F>DGb?eyAbxYfDI)?Ik=wy!}`4=UEb6|!1(&T<6+si`{Tk%hV?siYh1s-&i>}I zhOWOM2pmI%e>DR;I4R*ZCE=-x-^i4LTTA~~Xlp4M4p&HJUMB)V-l_b8Cb-hp(T8ql z%D{RyYxKxHjBy?p_rze%BKR&k+sI z4Mn}}miQD|Q;9TsIZB2ScRkrfgM-;St%l<}tpuzyb;7~6*A29Lh%&s&ziy@-f<0)* z{x&=C0)JO!(nEif!8%CA2G}B6U4!qkoG@j4eN8rI4V;4Bb%rUfq?^X|Ak*KIC&OJ! zv^gBZr=e}a3bYclXgTua3SlJxAXLxQ4d5OmiY-6~EWmLpf)HVza-VtRmtFI3IY=!|*yF?W3tlc+FO`lmad?V_iFUeyK z(ey5D3DIc0?h4cmLpGHmo1CYQKE;r&UhF--wo~#G4NeolG7|o0VrdN@L*74K$|+O6jBzZOV|VxojC z!;Ml450t)}YM?}nqy%IFoSvel#PX@WDG?(m5$~o%5TnHKRz=0&8#HGwx)5)Bo}OPB zv-`4sXY?p8x*a|IncsD%sOR?&>B{+icCrusm+t@k4rI8Gyk9-P7oPMnzx~0tn3#(w=|zp)P}%dk&x>52Uceo_tz@ak`j070Ap9{B%k=63~hKb=o& z!1z?V#bw0a!28x|YV2K;l-L(dRAc|iB)_o_EXS~)7VU}sO324T)ZaMHP%mHXb$ti^ z(ga%T+8%ky;Q5Vy7(Jy2UNU=r1jh9Zje{#HCr2ezU&Yi3Xq+&^8H**I&_@c-6P}+Q z0%MwV2j<^~32GjUNK^7)+5|NZny2~AgEGO42UnYW^5Atj|7!huhxASEcs0J0CMxk= zI9`o!yNUkeTb|)t)(5_gfAN9uH=4~xu#?_h`{iqcfPX@o@p<@i&8txhPFZ};!eAvJ7YXAQkAO8P%zmd$Sz>sXwRN?>s z?A`yLJcQxK+P77Dp6iMPrav4{qyD(@9EY_e{Xt;FrA~zYJ=Yb%W?d1^It&F}v7h~Y zsvkdESe(B|GyM0j{L}g4)Fgf|RY~HcacU9=rTS0eyBLYTY3$uUy>jIL75{YRB(;Cq z@)@On+U03AC2oxK-#@LyD6u2TtAEiKMvZUhrQ z#-|&o{ezJ2eek;!_Ht{Adc5OCE0uX>idu!W9qqR=&#J=EERHbR%QvJlZ**7{FDnIp zKR>0$@3~P*{N8>_jo)LV{KhY%D#P#I2=D$t*F(4Q2a4ty{DF>>(H}TF&+HEn*gt>Z zz<0Ot2li`jeKCwr7OxAqw2|t`5}Bf$EO8^%%(?WG|C6N}qw?qV)RX1cgN)K)#ft9> zOlD5#xiCiC=jL+S_Ga|{=OWU3nt(k>^d>OkLc@r}Vdz^qnKuKe%zFB+vU*`s(s;rDx|uZ?x*7L) z#P<1`boDn3-Kr$P-u1fsLMZ`B=^+jWgm_Ly4=nSztJ1`VS zhw^P-wuG@@a!;KowuFIBQ-LWC7ko#+d7s_ci#;dHO z@|kA-68OLKcl2H#{JpOve=~Okcrv(*cLrzX1pIdnZ+lYB;b(>@Ih^&Rn!_FQ{T+PpvLH_fzHsfb>4K+VEUO`5FNJW=j-uWr!YtdB0 ze7!~~#%HIR=PQB#`+VKH^A7E&Jl=8_u>By@Y`1ns>3+(UiA_Y6X~n& z%k$x%yY0^mh!>$y*YIh7%JHlIQgIjJze=-hm|B{@>#vmN(?iwLyu82P(yZBF|G%22 zG%u0TeEJfK@o!Y5@3@`)X+Fgu&zY3&Rcne_o(cTl<@s!`4|y(Kynk6gwMcePR{H3} z`l)^NYRP{4=yUF2T==DmG2ZW9k_6?JD&FsF{l$@8(^rk`kjIqBPVB2jw$Wq$BYQ7H z_CjUv$kxbFt-t)yPq}^6`e{->rG8r2M@^r0{ruKXS~%=~R#wNe8-L|PKkdmagipW@(?kezSCLJ%(wWP{GpKH(_)To8nw;|0P4Tj)w^U2mYSyrRML_ zK1%+s>E%QI`}oh_x(w@vRyBXSeQ}5OXD;}`_1BUl|Mgcx zhUuURMw8@LURj@)%Kny4UpIP0jqkBXmH1xlp~m-}NBze)lHofxM5(V|*m7s}b;}-V zc|P@sQl4)ls)_Z{BYw-X)`(#}xxA13$IW+0U$;+GPigTJW6t|c4?lS+mu~hoWANie~pqAg(-Iem&EkRAJqHg}nZ!^e$DdQvm z<kx~TDOZucMGXom0A05!g~Hu%7|)cFcKJFAgR z@2W&LyR#bE_Fer(Hn1f_wtNX>S4w1?tuOSEuiyv1-*-~uyP%5_-`6{-@$K2gZ+y$# z$MCIbQ9H|VAN$6)6!!LPNA-~3=&V#$pLSF$tEW2qt*o-{XPCCoyyr7L_L0iomIA*J zANYOQNr~U#4r=`7ck&y*j8+W4M~e%+`V&(=^p2m*XKFs&kk52!v4-)_;pTiM0wXS^ z&SxrGcc=21-f6F%FUcL1^X2LGYUb4K=>L3a&8X}uEL6^yitBvM7nz^%q}j`=OoR zOb(1==)Zp5lgVyhBlmqqg1dbA&r+X^8)VQYGaI2k88FDKPY7I6pR6gBK56y7SAEjn zupgPq_al)5Rqf6ecFS4Mt;rDcPJ24vX@_U^+wV^9(lnpDlg}DVvFGmO{c#4yMoY$m zJlGAddG1c$ddN3pqXji%BxALT5n z=zDJmHGL01sHCsnUQOQ>5Bg1COAMp$lUF_IyVOYEQ->+PjEX7msObA|&&O7eRjZJ% zA5f~0<1uO#^5O&jtB_bmi2?t3Q6W6WKkMznQk{=&o^06v?m@Tx)k-$+e-rq>pN~EJ zmXH1K?@I84p9AxL2G#aN_(B!Ms2SnV*Iw(b01`Ap8MNvuY(N1o@#HF!d}bu#+Q8!>y41QC~s@} zn%5fy7VC|jrCM)1x9Y#0r__kvZCk79o!>@DZ>_bO-W%KaP4A3$jNUUYd0*1Kv$7QQ z_RrsM-%351{%Nh8Od+j&tbbekKbane`2R)qWLopaf8M`)?0z5fzqQ)`z2Arb+sbeL z&WQ*A_kx?h#`yTo*Gt9UQsmE!zE6$pJ*||;-hZDO*)#Y1k8FE}?8kq3NA{-`s`!gP z@;kewT7FyKuaw_zE!FfXy3cR<)jB}@|GcOC8sh)2{rC8Pw0g+h?^CjLShSj@)oz2S zH+#?t;{WFaOH0Q8U%SKc{}yWg_HC);@8}jj`2SfozO`QUf$zV`pZUC*8tiOJ#pcr?1a6R^$6xQzgFZ8>{hsvZ??0c4PQ9J)_ju zJ(u2DeSIlPEzj>ZQOfhyC^fOhHSt@XwFHKBo6~CjHDJjd($^Lr_W%AYKq zernsu$NDc)z5ero;>Jk7QJnJ#tpEP-?lQmgLaFqVKl0nYp^x=nBlY^Pp^x=nBmd?1 zQCR=|u9n|5i~qC#{8$4Y>%T_o^%WG6^LK7fSpS_=>f_w!@2oz4JVMRi>J63r zZ5*K{*6{}Z^EZiM{oV;RfA>9ihxGCI`f7X|G*IIEKz%j7e?|C@Z!d=Lrr*@~{+#Ut z-%{_7XVp_98xx^KwnsfRvKIf54eZU3{rb3iPwV_5U;E>J;Jc)*8ee;TCBB2}s`0H{ z-*0@&^kMiO{Z;KO7dn08tCz&rX-nzQP=hWa;XZHvZzMsCxU?H-5v;G|UPY)xG>i~+ zmI%}96S*r9T6*lXz6`sYzW{dp>#7X9+)2^&Q4&daHk44=QJB7FVF5;J!xs$VRM^eP zq2*uEFD_)nxM{xg%=>=k8xI@yGi!C%AU?eCVe@__flKaZE-%%7=93G(?q_oU0BM=z z49wMo8Fo$CUn?*ljeCTF`3N&uyjC7U^i8-y_F|;$#k1E=`Y<0$!+pzMj6gD8awnr7 zh)lwu{CL+M)tRRmB?O+ zP$RqgUcZr@{TM?w^=E-Bj13Mib7Yq-Q2BcTKM;tdocyv(CYvu9#P19Q>0m=mFktAp zt66xD62mGsHHN$I@gKuvhT(HZ3&ov*76X2p=d1ABWyY_JJ@XHX2}g}^91)?$v8Ecw z=5^FK{%-Rd$Bh0A$2CVJjz)n!JdfdcPYHqbjcm#PmOPE9VNbx)KcRc@GtNk$nf3wqgQ+{XZ;I&1624f zt*gd2p|%p=AvM+bR;lebz8QlUzCZuqRh|P&h423e-*{+%S>U6nhgInptHRYt_o-z- zI$9zPuF@#OYo6&BwpzZCjuuGANTe-;8Pcb|FOhyhn8)Yom>+U0y?p@5j~E_&!m?Z+sUFWB4{X z$Oj}JNt*? zht>K3jrtJ2kwVAMt)iB-*lJ2yd!&k5)&i>eEo&iL<6VDNon9LKnXj4jXLlx!V;J(b>Mh+NkIF4e zhCEQW!nYpRaSxz0A&(4h_WcQYjASSVf8%G!WAjvZ$RkCBJW?R!Q8<-RrJ(4)$GhIC zq@Li(p~?yVbS1Um)D87}f(Jas$m80lp5PUy`i^&frD-1VhDeAx7-ijP|2&PzIIGf# zWLEUy|5^PvA}QeieeKPNM5QwvBfR^!9`PgiQf!7dOZh`pHIj}>N+jR7OO0f&O8z4` ziXmCcE0Ue2lq!C7P&3SDa)(kC?$GZQ)Drx1MWqC;0mJ|%8mAxh)^4o z$L*5~z27fuowu9wmrYmF+0HTXY_2wCf33JMN3%g+H5eMtpxK(cloMQ&$YFZ|rlyk9}!f4g6?alF_43a|S|M;f{L@qHs7 z{1_TqdVbs=>Nh{MXBa=W?eNo?8l9@zKU$w!+Wn&;4GjEf-5B}Nt$~>z1pc@Dh)DIy z4^MwSSP}mT@)7?jtMunr2Kk8pl=a)6&q#&%Pp)@=zT-2c@#j794fT%iNFPRgc^M_X z9|!t~|CI3?-^}q4|H(1pyUZQ`8FvTqogAXZcTJEI->(9E*#98^@tpwn|10nKKJoOw z!B-*AWdqdsZVgo8`#*~s-^@V2@m(+x^#7OM<$2=R(%`#<@U_GFx4L*|b*u%o$6a;B zoz(;YJqOBUI2#i)qGMu+LWqMC*0zp8q}5VTtCjGM?8S$v5x^qzp$IL_YR?Rch}Wmj z4%E;=a|FTaLCe>fzFDqs9K(kH=xzORPkyC(=T|>X&99IECBN>~)ciVZ@tUdqd(YJ}$dB&@fy~nFg7gbj4KTWOw z46l{Yf12O)UN{N#-!_kUl{=>}Y1D1wRi!&Wcdby3?%Lu46}mZvYIM`!HUH4fn9R_9 zXsdVedNQR{>)SJCd^-k%zswx1!NIJ(Vry0o)W2%KcGK=S=zTjY|CX8-D~pu0*mz4# zi>c47H`NG#RH#Ha@1`2z zDTRI`oRQ8Det3&_=07!3wSQMS`L5vu#r?OGD4w{XMsdk4|52REP#m<`JBnE&N+sW= zv=wR?+p)f2bX*QJ=R-3rvW7F}23TGa=xd#?M9Yvv4w>+>7E z??rDO?tQ+x?SBp9dGchk|1~_$lP4SPf9dY8YB&5g_TRl941;yr*CtyFISl51!nO)4QlT`o^`& zA*C-?7rrq81dR{+qOtz_Fh<)|x6wx>{V9~$m;X`Iq}w&6%ntoWEwfdx`7N^xX2Jg7 z2JiYPa9C;dQ7Q3#?}{4V0aumyK66ElZ~d!& z2CL#_8G}n3FKb@K5HEZ6edI^2D&}|@f&Xp1?8>0h$1lUGy7^J9s;~U_o2BQ+#GC%} zV>aW*%@6(L$C`o4{P%&S<;NSL27cHMAwL#|n)yNCf6I?22YTg4ZUFKl+PcYhH8E1l zVBLkWf1kyF2TUr%8i~%+_bh^Im3Ego#K0Ck;pf6)y;Fm7nm%+wAoB+wX8-CO9<1r> zJKd$}6~44+dYAD<#rg|}Z!r$omOm3lN{Nv;xGEc<9<$7%aW>k{0hYkXjJUsi@ zct%_$YGVksQQ6v1YnfxuEC`zUIBV-g(U#M8tr7`oFazK0TZ{dBmp%7Xklm6GP$qG< zQyhvOn7b;>p2@lm)_>dreL`I^b}(ZlduM}w`@x=HD+l{{cO2|84F@~65+eLXw^~|8 zTo8Nl-y_=k!{@Usl;>c?ybtNGMaGXiR!FT$Ejm5epr zp{6C(>@n4}gqov;Y$ZEC8T`dUm}o7JwLC^lKyo{A!ovSDXE36sm2u?{3DiWW?QbKE zOFnvHnCVf?%#)JOr#@ctdGG#txLadEEYOR9dgqdGRdkTVwsEVRd zHR2l}H2QwU8%^PjP>(l4;Eh+`GB^}5cD%fcW3gZSV=@1S>oJHN)Obv_o<6Ix@1%Zw_(2gov#}4zaw6Ddz{8OSMmdey*5kdn zZ3V*=4hTkb1aU-*#xZ1Y+tzJ&?X;brKhF{9dIESfx{q>wWYEn=;aS;69lBcQp=}rEEv^y$)aNld`18 ze3=UkquY&Ri@i9rOQK_6LgsbQxI%!=+8x*JnZ;UK8wqk*H`TIkiefaHRNJ7tCsl$` z#9o}SmFPpXa+J&8-QHoz|Hw!#%~iql6A2RxBe;Ltoj5N6QnJ0<)${Sq z@2usS`$vc?U!^ayJ4GC{KiHlLS$*)RXP;XSuV>r#{dRjdbKaZM&AbthZssoXi9ZW! z$V8&z>GI$)mN|okO^3pO=vWl-3LkciJ@$e%`ySR%A|qE4 zh>taE1pArbY? zT!g8lOc{DOSDmoPV?P#aGz18{q`SLX8You=`~_MN@UTjl{>wVq73(D-GdI*;yhl=J z(eE%>XYT}7F@0j26%6Dq^K3A*`fXxt?!+p5lD9l>cQmm(#sueY)Abp6>uvj)P~gd@c61mYA1B`C;SsQbsBjLgL9&G+^EA(Z5PFPT1C6SYz0{=^8 z(>Gni{~4i-E=lbpi7wf;&K+tIUG%k&1ZvX$OsZ3&p~ZU5#W#vE#>C!h#+%SP4GaX~ zwc&3@(mg>ay!PxeJKERMNYf3Qb)z`5fC+00+_F!M;9=Tq+mF9U4qdiLVZeZGB00r& zk_6lLWURxH|8{3ohGLLu&x=7iZAZ!?mySXKpZxy-1}2Q^gDBBpbz6Q7qR04rY35Vx ze-mdhk+zaZPfD;m_S=h@C;N{*_VScg_NZSI90m5wLM<(*M|MzHBE&%8e<=_uw8Q^! zAeO~?{&RdFdi&|b|6I|{j90x3e4BiJ!!#6|HCQax-;xzE-I*K&l2%)#3^kl`r+{iMH_j-vK36){wNXJ-^%=X?M8 z3!v}pbJ(17BUizTQ2PS4SCDaGNM#^!V~jm{+|azS-6S*+OHnSsy) z`SGnxPCoST$`lIur${;otG9~(NLQ0upriMij9kv|!noW}a@m8wb2OYkF(y^uEU_D* zpDF|=7DUh4hn)Oyil3os0?|c!Cuv4ZVJ64q*)wlwlkWy;^-wshPXBNceg7T?`8Z5= z?vIfpPsU-a(I4dXVfInSw0+AT#K(BpFRuiClc#~MYk7=`p9AiZ6ix>lX*@QT-HCQ^ zk_5WRBv4Lo8D*f=UdNA;ix>$ECI%QM_%2U1FaM#^o>95 zGBXJwwFOq@Zp$rl%V^TGx7PDv`zF8MYy!^j-Q%(Nii+e8Y-U`(g)_rLAAN;XIG606 z2dj9qZf&=KLl*OrG^B07iUyL;!z9O2_?=&vkWwn77}`Xo`7aQn1~k1va6Aa3YSZC~i^yqbHy2YH+CdpR}-HLvqs5IEbmFpK0_ zZ(06&F{wkCrP25lpOVRH{ZP9AG&yd`r3p<=65q+7Bo1<{a8w|b^?Zy;O6MYOrQs}I zv$L&hX^tk&W~ZSX6U5vdjAriH5y0Qg5aVN1CF;V`nvs@B+=tkfOl)({EauL$$ycO- z`DBxiMl=JYl4)c;(W-f9nSX~0be9YFq1>!AC4rI2}j{`0rK50ZPH+ z1I^r-n#X!bVcLbQ%+_I}iL7zter&#Ve%%0yc%{PvEb0jQ#LOGMt0vGJpLWpGiD++` z8-PL9s<@?m7da)1#8`hDankea> zd|8;r7~u`q@B57W<|J~NQPVIr8^Z@7`xir_A-l%Fo{z=V1p*|$jlpSigo^Q0ggnG1 z(XLx1;@3>yZXta;4kpp;b0m^k5xOSksb(SJ4CW=QW~nBOL&yuA$y#`-)4{Xr?i za)znwWryUVWzlx`q9wYyVbNkIJtr3}PaHPx#`);c!PgnAq%n&1#v&Z+Vm)Ej4Txz0 z`gv}tM>l#!#6|ppCUQkY0sj#OKaTJpXedwcACWL^aV|UivR7)ssfvwAQ5b79Pu#$> z7we>Fkq(nDEyfoPi}={r@i8x*=^it!8j|3DeCa^WD33S}LwiGtU?v8hs$!mrb6_a6 zkHQ4A!^339?zd)k#bs#IS|G_OfF{|BI%3zfHmlbg#{_EbI-pc0v!1N>5(BuyV4pS@ zVX*#Vco=L4l0^pO4BAp?&sF@laOs7%%)vHoEB6T3m3Pk*XoCUeR4zKgl0kH{XjwtA zu^%M1p`T!jxgYNWzgWL}hMWA0^0SQ`w~S zuxAy?o~47-kVaZ!2quVOuJ#Ing`_oWI2fwfzpZooqs6)mymfL1BKEK~^FaV-kF{w) zsCc(MluWI}9?<)?2{hSC$<#kBMy4KbDwvuziZgW!k`UI7*|y?cZvJGL_=D^CoNZ!@ z3x#tEzFC1zHH^WiX9`9V`C1ta)Gvr9>t|jEe3~Q1>@-kG<7R8Uwy%k-vN|8lxgf6dIXu@uoZAo5JxGDS7(NCy*V3TNRq` zE1?BUW@1;Mh`t-@Xix-{sf3GXPjQt%@d@=s*!v2nwt813R zHl0#m!-j$6Ilcuf(4Ld`<#UI&c?N$-^61-6D2P} zqc~XLyZPsB%C3U~CCT77=ou(co-=tdf96HdPVP!x`kBU1^VjMOb=egW7%Fd@SEp{S zMqRD#Uf6cqVZH6MhyB{NpBW%mJ`ReqGr8VStj@2Px?vdWpdWRkaGey9Ugzge3-afC zUkLuR{I~o$?8h+t+2>Ouf5uB;_;c6MNc@@d0P^R@Lt7)=C;b4~O8pRZ23bqtDVKUu zTfnLVI*|~tz|Vp(fMnFEH!=u3j?nbJkoHfsv;B|K!?!OluA}}&9lk&;O8pEmFpWL! zlBh8lHqzWDK*eYMg~9E}kZx;-O$L4}Q zY+wK1f8PGTI7I(@BliDQq39n5|E=NZuj3yAfQjCS_+J%_zr6Tg&=Qwdg+gADP!YB< zkXO%ffJh5pT#f}$X65s);(GuNzEf?KS;40Mcy8*?Ab}-}?7HAueA*zmmh#5UI!qwA zo|()A*Y7VS!3BFsYX8AZaP`(FsKEVN!dD5NBXa$BGt?7@d_I~9VxQK6VumwUa z?qdNF@^En|j)4%N{QK*5vm{j9DVpuIe~LQaO#PT)=tsvXLq8U3{a8fXW;YIk{YqaL zefS9PPtld-yepS-`j<+Q)?fV%TLEfJD0BrYi2mV7=OWUv5+SWOEoUIDvgojbX&OozF_`-UivTi`%3vd z{Qbr+=jZQ#PU8Iie18Lfk4%lo-xrMU3;zwiBQ81*zUxk$AK#64aeV*U&w#J(%82+r zNBCwy>$w4gnxXdO!^CT#W!=LujONW}2Vkh0x)K%^60Br&&_?Bn<6%c7ldiD>_#=H0 zc+a!yGgmOkCxqYM2KirXl>Y@(GXt^SA4F$}`8NPxK%l>`OCYfM24HVC0$ZQ~TS&lq z2QtX!_(JV3{ulI&2}jR&I!B`CUw)26&-d~;Jzwl2=y}t?^U_mZ{2IZZ8&dUVz;2fO z*xMPxkHN|1mqlawRHNFRu39?>ayyA5joTZV&#!hDr!Z_r1-WmvPd~6qVfaIvZ?41D zjK6*`v^kP~aA-g%{a`Vjzsr`_CI7Lfe*VtcQ$K&l7RBT4gx=Z`JEtd{zjNOZ&GhdV z&-v5^xh^x+MP92@(_D@CA@Sc zm##U#NA>Vx&7*o1e&3yaKW@oDX-n)&-RXE;HXN@Tz61;v!Z-KU<6fUl~ z@Om+O{hZ%x3w!O3$GylQv;1=6Ag6-7e+TU|<{bH%<)~nIyy-GFV(x8?JpR$vYd?~% zIPbP7m3xc3f|Fy0l6hlEwBi^*;|NC$D(D$QkAl1ZSVp6~fArF66i*Bg8_E+PLH24#=*lUGsy|(Rp(h4DmUTa4}kxJi0}u%yz=kC zFz1AV`Kuj9m=gi!U#9uNY;TPz9>M-56%S>9uP=r-*A)+Be+Lxz!oOzrmm3(f5es2t zJSHB#S6{i5;Wfw?VZVMwNARn8I~czQmxaLZ)8~x%K}oeoAb#h^Lp^v21AlzD^9mr3 zOWO^5ObFPeXN|DOaek^c!VWLh{NMS*4lI)cusw2~`Qk$Oe|0dtxz!=y{ZlZ!s~!yE z|C5I!@_(|%|JsD4A5-1a&u~mNME=%fLw*4MG!y%uS9%EE{d(t>9_rTK^K#4kw|4Nn zoB%b%dAWkn=jE=Yy?or4eE-Y&Vs`VdP0KJ1E@Jz_X5ZWXwMnk zo(tOmBE-%{$>jryk zy1Z;c0zM6qEA3F)QK#7J;=$u$*(r(G$G$n92$;EDUNQ-*ROKbN!b93-tD{jn2LbiO z%axx<fYl;UdzlM$#z@HvygN)bw$Q zLRK`V!tm&jREX87P-CD%gMkV=7a6I58tly@I!=Yyj#8m-Br2qgMJgnZ)u|8{K!rG+ z3h7at3Rgyjq(Yodg*65$tT#|$??NLLP>;#JzT;Gg>nIhHBT?a!9Hc_;9Gwc$0aS?A zsW8CAsnFLHk_yo}6;>Lku*yJ%kIRizz%Um#T-R|bM0b=5{UcE!X$(@K8z$n|(JI*9 za#Zu$s{Cq$f59SJtFPfEtgn`m4=H(RFSFS(!{dg$0CGi)_a!#dTF*dELE|)v-r$Y*Bn$l*}FTli45H-ibaR z#y-!<*jAE2nPrE#4yhs;W1i{khO`tVMxW24ov6FYCmylf@yq_OkT;czsN+s4SA%R4dO6rtnp zAB{B4r{w2sByHx7IhPTJgBkqkk9B2#GqdIAHoJ!~N)0`Vn;Gh+Z1OLlWE~~{pk!4x z@1u0N@@Okj*IpNe1LG%uDjYFVVW_;Q(LZ~OG5dOX$vf~H&S<~N9t1I{a%5>r?EWp`f0+k`wDwBzc_*Vrb3?mdiA~!NH_l9YD$r{-j(x3Q>QXk~kuS z4}ZDc=NQ5Mk8-L;aoP-%mpzNdy4Im`Wg_QfL8T@BWH@9b!*wOW<2kCMUATN|tVs$g(91>G5gSuhIkYk(#=Pn#!YOLKg3V zYfENcaJ!u&G1;M!*xAGJ5UpZ3K zCvL>1kKD+czD2HFhE{Z4X_ylwSlpmAOckorI1&7B8G1q%_11 zIS-4=72lf#bhOm@SsQ@y2-qhk4%mC9kboIhIc5W3Nd~~aDhpcW%(|-MW3R)j9Fr+R zN8NG*cGMV5{M03RNnME9#fBCI2b{8F?@CI=w146hadW{1DPB>LKz$_>L0yr_c}kjl z$!LfnRNndkPTP;;wEZwm+tXm$?n+-wqvU=}+*SsudPk-V;t4P(rV=*a841!X~uIcv~)8S^`B*u(`eW*h?ckr*-mJnv#dGB9R>fiaIg5wzIY zoz`*2?C@eEHd1fDGXgv9ZzDo5W{oK{V`c*u3cQmmA2kV`G=v7xVaAM$1Zo_C>bssm zCC-7q!QC|IoBdKara7Nc;BUVVVww@D9q*eCBivJpfN)R5RJ{ljxA!<3P*K-M9F@gw zI4U28(=1D*@}sKGvs_s&u@Z%fW39HyzC$tQ|zs|a^)+M7zU&>+KoEnocWr* zIN{gO7rRHA+L8$FZUk$~&kXL@hjZj7v-Qui{U5m6id96NZBiPJ-5u(czT67s~X5|JdEHzM}-`XIXS<=9c zQ=!8)vp$iiaB3J*;iq9b7071RtWm*WGyBoRsc^s)k_xeM<$7!lLIofRAPxY>|DGp; ztYt|l9ml`J*0Np^@gGX~57qIH3&7uCEjuWLPgApedm1czy4s@LG#})FN3X| z1RJ@OmVrxEF$QYPY@R=k{h4#8m2Z$Z+)Ac*&M5ZN1a_hfck!ig(%QbwqJYiJ15X)y zN|MUYJn&fe@-vUm6CoNu*uwY@Lo}u`fSj8K9dPaewavL>J>X*_`~ipL4C@ zfF+rXUkn$#z`23DGgfG4%V`Rkl2Qus)G*``>hlnl!3nqVX1Zn9aV!Jj1noYifnEjN z;*3|E;}Yl$lmkwHXKs%@FBLU|e+( zZrG7I9yag5AVxK=<*^ZxUwv<&q*d!oeu4k=tG)FqsNE6o-VWN#HLa|J2epOvH__vX z@bm51F-~gM#t;44m>63lQAe%{jhI6m_1*z)kMmP)z>r>>W0&G+VT*cO=5D4g;}YT< zHZ)CJqK7DspOw>lz+)>tmRq^t@a*2?u+gn*t(OHbynVt<@*oDP!AMk4Kq0; zX~$p-IvY;MVsB&~n{Tr@IE?_|4Sd_c3l>bIn2!BylL7m5uwVz&Rkjwm2_p0Kke6Vv z%=*pL?0$&tmIrYxXe7y)OMW1`ekV!X4+PzMF@9B^)|cooeO4+-gBnW)l$WuF zi#x-RJ58sd{G77U`_b9;z#8zfjQwT}IdA4myloW5ycDZ$?sXjGYK9I@%wE%DeQ{`R zM>mjYn9LnbY}%u%?ygA1j`;LSOx9EK4kfpE87bdu3++#{4~Dgvzh0x!!jA=lXj@@m z*BrS@1f)V|=)Y#vN}Qda8gu|Yn#%QxWImWuC#Y4XWIilbHWZRb$1wTr#cgis8o zZMl*}#rHXsT=1nPuh_2=i;d%LbG*hk#j8aWE+AYT<64{Jpv`ee2sDV#YK6TV5NKBe zZ1R#G*w!p;nhC2`_@1#qDFMtBW*a}+z@(GDs-!NkIci{z&LqtjICwxd zTq7ESx1=kE$Tk`3-w{mzSa0HBxuNm|W94RJw#;xtt~Gb9wLEAfN1DJw9oN?Bzh)RLgKB>n@DwwN@exdM@{u>wpY z!k4WSv8|`!EuKN5__*#|uDxfI4L$%9;EW0^@;XOh4M#!C1tiqyJ+LTXyk%oR(>yVY z=|=`_Cmcq2as?N(jOs}?^w0wV=HHP5Ei$vx9u4Vr@d$%gY;oI6HNY-K@HVXhMc_TG z-|x6gh`_acF)9=^El`0)y=Vp~XjHilvMva@;|IyY7pV1AV6|%la~zW2Q_{JNf%9J#@!!Ht zz@T-|2-4KSJJTuRP*I0k*{n8ymd&wSS$Ig|-CsOKaq1xrnHrT~QY}x?s@4E~=w1fo znXpC*%wk>aK(vdYpNSwC3*Yr2b}hCVC2^*E1Ia}WM%MN3-{N>IZtT??t&Upj>4OR@ zTkA0^GxnBGG)WU2+pKAOZI1oc4`RzsJoMe&JK4gu$$Hw2#acQkwXLJr8prC`$38G$ zB(V?niVqx1>7V`qqkC;jtoBWlGIQ@p8xxCZUr%s+3lsfPNnbc%xD1=4Q5lFX=UFif zXL*?mj?me?{p4k-3Ha1oUiL#gKJ}CojbMS4Fd zj?Jtetd5;lliON*2K&L9=GN~`a1~=k$6=KSiv#q9TG9t!!a^~MEt9QmjjS~duFsqf zj7A9p2Aoi^TAO3LjV+Ef5U~A5t4X!idU^XQ3}>3#;Z&8{{1crZ%jE%nF#sF-iLd6Z zg0fQ0Tg7Rtg13rGpFP&~I>LMd8q(NiC} z;v5dC5R8QN1aXtlo1ps@;ws!44&tJ{P5CbvZ3$RxouD;3%QQxV zI}Yq#Mv5O$f_RhVihcCNNU@8aE|Du}0@%Qz8yU!uYdLhqbe=&mvSeL2mPE@A@MREF z?mwbI+AhunsR#$By!|j<)Fl`%s*hZ`2m&-9{C|@KPAl6@XOLwpaKdO0GJIDqBtBh_ zw11H8I2CDl+~Cee1$4+~NfCyJ>wy+u*pabL@5eKGH}2Luu@PH60j+*bi_06_5)I0{ zq+ruav1qmT1GM-vvKCafku}6xbq(ni3FbWoG^CZVf}{3aWWn*tIfQXd?+C5TIbSPG za0E2b8=4T44mLH}oputN8XKvpgo3c0u)%Kz!v={jJTKz}Utwi)ntRhP$i00Q^q~VqkSN_HXizS=mC>mXoFJ3ed z%(Go&J6w^ZA7Zk>AtuJ{v>L5OPccxuYW&qDcm=ykVbuS;p6yVV{9a0mFQyIvZ{d;&{sYRU%^?!ZAzQz1{~YoZ#89C1 zL*K@R9D7h`AbrN4gZA-yZ7L4t^VWH}RWvVf;o*HjUrz?-rWhqz>|1 z#WBWjkC~CtI-7~nu!|}mItE?-t9Oe-80EML&6WJ%pO#>3<;4O*!UP68s54HyYV$jvM!?D1e;Z`*eEuNjc2}X|LDF0)KnVLmE+j6 z)!x==e!oC{=n+ljvb0Z+4uDAN07SJO)U)we_{CWl;SAFZxmjKC`3ijQj14Y9iO!IH>u>mPkcOV55Ri+W&1rn{*es>U$)NHfbsLnyA3p3aqgw6WTFbt;ub_H8yCLO1}L^ zW0++`@27+i6BW7jwQq*%_XC@u5)*JvIzN);_8__KwhKY>~x_>UeDBIH6@-V z-X7S$1HOkjvIG6wGrk?DH{N<7s9!$2cOdF=`~{+Z<9`_HX>slB-}Jb4AnBQKAxLhI z4nlHJ+yx?e*CB>vPAutHl+69&oXS8B>@<<;4CO?wg4ZspI}Yx8h-Fl5F_8kRwdZR&estp%dJp0dR2_=_NFRcLqf~gtMV`D>Fj6 zY(gkVGmMaC8z3#15CrK<%fmt15CCao5Tr+t#N(O5H!~yD8U)2T!ug{u6r8C>IMWSq zuD1ojd2(4eIGY0CJQxIL7Qty@aHbNRUJj>ZA~+Qe=ctfy<{RNGFu-XJhI2w#IK2UI zQrp79_YHxHt9I9Q@&E24sh3Nww5!kFfujTN_KRom4SO-A6pFKj4RVpa&J6cy!*AfS z@+@i7m8c|Q1B11ThtLl^T@-D=qF>Zu(Jv*f=s~S$t|;1sMgK-cm+M6l6D(RJih8l= z0w`KC5sK9ZT$@ym-%KIpWhwuWq+abXID_C&7CrO{0bfTl4ld6+hWETzAR#<2 z=VwuKBn^gQ8#dTjc zcowCC=yAvxl*(~if;zv7IwZr`A=!Z);)wHnqHg@0$?OSdBgbFF+vJ=g?i+?q+NESR z%F7n9jG?>A&q^g%X*x0hoeID*5tIBE3@nKu7vn03<8^lW+EQGQjg z1(xHX8h*JI8~!6D&6p^e8|N^_>fcQS*ysWQHst3vx_82nz+LXoz)kAG^OXH9mAwbb zW>EDzx3doK-{#-p{{DCO8v7dclwpYOZ_xkMQj#Jlenm*O8A4#!0?T0ZYlz??ue*f7D_3rpX!xWf zGMNf`8$*;3d0k&tp!iCPE#?46IA`)t6~tNj?AgPgS@oMNbNWnljluBox{tv=gE3!@B<4u*k4>|g~8U@semvQ0qak066UeXIq099^&+ zh%DgpHsL~;KaW4I&d%^axY%v%rRlNB*i$DBJ+()1925O`9p--F-;alBoFG{r0;u3= z$zOq$j-JJiycuCpM-fOy60WxEBwS@Tl2CnzzWo~|W41AFYzqwk8psdtBcez0Notp~ zUk?BH=ONrNo#-^%-{>proFcA|bMhF_NesT!fdn7pw&WiCIaQsEb+Dlt=3-m~VzqV$ zAx*6OzDWnS6yp^;4}8Wjyvi4DyfOWFWvkGS7YzmJeB_{}7sJ725aH2;SZcJ$Nat@d zxIdH173lmZ`rXWb7x3R+KLwlVQ2hIJttq3Dza=N-e)w~r!6~tx&I+0Mvub!g$gzUw z2E%i?;d!OuxmkP8Nhts~NRBLr0MvB;hC^+MGGa+Skc1(OD&Id~RIR2rPCe$}6uP3I zNY_Si8bgO*+HHi>C~2E*aGFv|m*7l`yyWyX65h^=ZKa*mj;^E&y&Np)sH|&bC4h*e zz-Mg1w+eB=HQZY6y2)Ttd*JOj)m+^z2H4PVw~A^4|5wy9u~+#5FNx3J8AeLzdNQ7V zbtMn_lp;;5-Ijwogx3uTkIL1=29841@_7S3ibFDB4?7vZgXX)i-WWYYT6%3?Suy0gW>F(E8C)HcQR(f&0;Lu ztY>?kGi3h-J-kF#qcIEb%w@WsTsaT!F+j0@T@?0s#>c$JFMYaQJ^tqV*a!O}^|+nN zJkNU^`^h5uJGfi(sQ4XJJl&wvI;R_TTD&`28!jkz_3>g+uU<%+aw-i@(QC-wa@!7`CJ|9Q9-v8fm)T@8jIO@5vhWj1g7aX;6vVo(@hijEYVkiT@eE_*H1ToT|s}0;@^JAnX#;h(Zi|N+)F_Lz}h^1${$gX&N z+Smoz2w&3Hwbd9-(CJEO}h$p*X~8?wrN3RBeaO`9%HN$zTPUfpc-8KhGB#c)lI9 z*C*=+Osn}x3)H!|YUWDrwU0}v`3~Sj+%h;rXQLtd&d?ggUhh?3P#LUZ!3*XNtZ@d} zIdFaz7G~T4!8{1f$vJxAA zG#zib#pj6`fZz%goiDzF0O2*3j?t+K+@A&i${F3Wm5+V&Zvp$IK)`MXF7kvm%xN{l zHM=(FSPMFYVeM5!I>w#oG{&Ci&M40s4(*iWF!7vwp*+V#Wv(tNS1%*c1^{_pQ|~js3}-7%{R&$`OJ8+2d!9HkS#(w+OT z*uBwmo4S8!wP`D@Mz&W3eiH-z?2gA5z5P<@kwM7%s*sR?X ztr>fw0Wk&Jxe95X8^uYgp4sU083|=pW^6TIM4cdnqiQ13G-JwFhpyzdFS%U&T}1@B zxag3-Tx>STMHOYz7jFm1#ozI*LbXeUE*H)33%PjF`STMS@}C z+ktX%MZ4u<&$k2RVvImwyggVhe)XP^i(kB_$;EB&X>zgly$h9#6|4U{xrny(4#>s+ ztNr9+xxZZO&;iz8Tpa5TmWz)*)gHMx{;43jnDJCtxtRQvzg$$W!iL?= z5H!Go&%e50WXu&!KQh#;2Y~(;q)#&4_Bg1nFK9ab_7@WKsbWZTIh)RZ zgVBL%UC-atV0v6x_#OIkFFZ@<(w^y#e9&KBmL=m;lDw?tB7Ev4FKeQwo^oX?%pxH3 zs;(DLi@t-W`i&?K`T7SC%qG@i;;}PcH~`&|hvM*G*93{f%suC@-^tKGHU?cBeug@9 za{r455?0t!9ku=@29xtd8?E5cP)g#G-^*!2d&p2-1-x-3Kl^ts=*kwfYl#~3R~&zX zF(b?p_24QjL!y<860}=Ni_{F1N*__7*C@jhdiDAo6{1}kzt!u6lt6z7K#weBeD%7L z|A5V(CvP!s{=f!~+Ja#qIYDn?=8-iKa{nLD`&rPepA^kZv>gjg1K_w8|^TaNpD<$sch{V|2r;d zcuC`ekB94AF!~L_1@+c2rm{ABL{r%}_K2pk8hcn%+3WTIQ76%Oacr?UK7(i_?AKT& zZL=}3mV}oWAVInI%9ITn;A?rrZ325+l3W27%uw$uysL6Gen{Y*3DSzYOYkz1_9madL2n4G@p%ku-Igp@ETgCX za^({^UcAxsfij0?_)%ux32#DyUNoBhwARCYBvVX)c0(#^$JDEO+xIy(A4orl|skQ6#ws^Q?TH1*lTv ze41k2fjm%8N10II*NZ3(plxHJF1Wxj<1?^Pm-n?zKH+hX`+T}}-Xh3i6geeh;TLrT z-z2~)Vg2yIIzyE;?XU7C_?2&{l6+gB%4zEiTal%a>f;VLP9Do^=GKvl$qkmKQt|At zQCI}zG&@BXl;++{JIsUSiY{KCk39`3G3&vV3f!mghVSIJr~7fu8`BM3vzrxBS06xz zkNpOdHu`n?0I`2tAGu-%qT6}_YXf?6|W8;m{Y$>6$F3Wlf3wdIVtQ%`}G(l(r zV%^s`>%PcYm&Pbw6oJ3D;$0E=*odcXxU4|Na3#;|7ny%;e0RuwBdFP%_aosxq2zr^ z*6imy#PLX;%cl8}r|&cadB&X*sem~n_n++dTpq|31=rs{_b2*i1 zAXW2`Abb^9Ya5+Nq+YQ8Sh)|$@;oKaP~xPdVjrhfBGT&QgMPF+_Mm}Q{on{I?4~o) zES`)ESQm{Us&0@g$+!ZUaq{BpDKk!FMiaMcRNhETxK*dJznp|hIF)x;?OS4W>L(JF ziTd$^`bgzOq;jH>%89|(lbperRf5)QIaLM0S0h!8RL>8fdPpj-ftl=vy-3h&DY=T0 zfs|abmsWtu&rbED@6%Ha^!?}rtEKvD{J`}!@0K|1mizoan`Hc~;)J1F2KseNF?@Tu z|F`{&-zq2krGtORkaYN$)whYs4ZUMliy=}U<2SLzY0@Fi*a>ksv5C=d=#MD9Uv%m5 ztu8p4V2pVA7~#@kLhts?ZtmnWjF@lkL1M0?3t2h0zo7OvM2Yye#W1D;ixr4 zkuXzsU%4UGlc^R%T?Pu|@_F1OE?4W{d%Gd-2XHvmS z<;s5}g^nw=XU%Z9KC=;-D)9k7#)x{rz!=y3EUX*2IH=~1fq6{Hjp`xkGxbVI(q~p& z9tu~3mHbEe9ek`(tN=1S^9F&_0TMKAzcIisl@RKqyBZF~ZvTqY)go8go3Zzzm;*^KXIEjc}N) zZvH566M~S%n`QfVfPt%j8rAk#iXp4Un3Xv%5$MipDqClu>TcXNlCV))K)iABuS8o> zYsblZ-A|0Xv%f^{ji*Gy#N7{ae)$4l9i`+4Oq7LZ>6AU36=gr*n0*P;zLLjv29^RP zEjgz%8SxW9U*XSYgM0tTH%W6t{MJhb{Jci|gkMOu5pzXj+fq2D%Au*8iDy=mqjVsA zopc~tIt2sq{u{pr5GRfz5YY$(Me!6}zOW5VVbyH;rM~cmj~0tsAB#p(jg5rqV+Rjh z4DNgoyQGW!^b<#MasT)r5|Jyohy-SV@b2z=2rh)6qL3{@-Bx--r?W4^qX}mduqS&) z;SV~WjhBxtJPQZ3OJ*|C6 z+T%-&oZNJ57se<|X*f?m;NQYzV+%{%eC|VKP2r0;LAxlftOYx8|5~&=`35nnIXu}I z9AnFR06+`tX2rvYjLPmEcpMboHEQoZWbf1ypCf&be9j3%Cx%~94f@Cy)}EwJZoI%T za?m(NlH{rzRU9KXT^>9}fFs@gRAh2GY5V}OKOHsx8wp4{YaA%?u?UXpRiFQw5HpGI z_z@vqepwiZXZ(l|BLpPzC()a(AtAj;gS2hO1wz_jgmk1__010m>E8zgLkd@KxIg_t zr!7JHHoY+;ffq#~fn@|6Z+bI;ZPvgZhhW1b0Kq)bxPZW6Fxc?mR?!w4Y?D?|P_r{5 zWf!>#atV#<3Q0Z7>q_<@>EZMc$8Um1oSW7>4)t61L3 z*zuD8;2S!o{h(1iZ@j}#Jb!eDK|HI6gm@l=O$3SOE?85Lcy6ya{@EzWNh&w8WkyuV zZ9=~w@lGxxjS0p*Q2<39xPkUWu?{B{*WBegffu~VJphmpRWYbbM(Cr@HKe;7RB7W! z=X`#Z+-Gth_zs3<^0T-5+dpnM+CRR7{@+ULi>+Mz)4A!D-w_>=;1m7pxW!nnb!qjLCZ`7nWy2x$vZ)!9&l`5J_7fm&E3Tmor$fio3 zMQ4LWPf@+mRBv?2)X*p-B?S2(yth6i3YXKjpi$ky#Vcx~1v*CH6XlJYp9tD>6<>iw zEr3v*Qb}mCdrieZLZRYsLubb(H_pUI6=U%Fr6!S{n4MA=7z-Det zi!Hg9K8l$;fPEB0AIX)EgNGe_80-Jx>*B*WxncxN`xBvHX5*XzOqj=!Fdr>1GPAer zX|lW|4)T39?w>%OPsgv-8cIH(k@Hxcz`>;HG z5nj`YGe;hU!slzmS-?KvX*Y#V_$8>{AzYe@jhYP|6@WRIDJ_9b0auMGZy8b&t(?ZF zF^s+J-s5HcL1|pji=$i@t)%Uy6%WGaSB3iUCM04UCHGUZqMDKPT{<`!K+hpW&kXI9 zqJn2+aZ{`aH{K{)Rj)D3^yCkRrEy06% zAM-0px+s~4pS)UecI`i&5!M--3<*dlfMKXO9gLcujRYh^Y38m@@;bL-Vx!=2I{B#C z&r0*5nlEm_YQDUs9o3-rDOXux1jFTA&GW9rOZ&XK4*|qMvtaj8CD?h4bO&mYX7ea9 zKf_43tu4&`XU<2>Y*BFFtj{M`JO-1ui@W-!H7i-GE@rH@_#Sw@@W?8&@C&G6Pmnh7 zv{B1x;%^Q@3c4-+=1zS0ES#hO3PA!jYdWyoEN!Slcw5-3!!N2*av_DGn-RW!C`YYV zW9!S+(tn>}I_M?Izzu$Dff1Gl_;z^NEP$NOxG zVZWUbvD8dEYW_WmYl0$9K!|G%UeyEI=xVweGcCA?(W*G3Z6HQ-a>8?VU#`aQ(iu*j z{0R&`xE{v^bMJWi8SVax&9TeXeLD?BA910y3TWd;@sX0J~2P^PfOEr2}#J0H4+gNjP;@x8QI{*|DWh3g5nD9zspvT;-3mD>-?(=BjsbSKU?b`X_~} zUjNI5tKM4On{E<6>YCxHLdSKiyV}2Q?%xkm0O^#e&Kqmvhbv$@ORIs~VPHDzVq&wg z&9MUPw%ypQZ5Mmj!+Q;`zVF%@&x^GCh8uRvSLm%lnTf80%O8Q`B5TR$eg> zl(#N(`YN@DVjwcU^Iqx}_K*M%Y@|6qKx(8s#Rl9z1M3?;6hiuDq=51P9BglmpVP+} zDHax87$$ZW)HRCgYI3l;)*0~ut-dSZ0#jZ!MC#ZAQCAou0poiEe1hv;HsX*6<%(w| zt*GQ=&NUt?a(R<8%ZE$YYS_!%`=4r zn#Hq{0ldQ3lQ+(2Py~x1&mWPNqiz(m><+YCzJ$^8qj35s@TZOLg5=5)tXfb2Ir%(f zW?YtJQk!~+-V;+`ss>v+!3H-ksutFs=Vi(7U%>ckM|+Z5=-(dJy=if%@ztLCOllIZ zFV#?A@deb^(4Fc_H`JFBvc58kjl<*1z$c=<3=;2I=fqCH!dm}m)p!%_LH}sgbkB`3 zTD2M!t=fi`9Sq>Iyz;#FFRvu~SUxSb3C2PJW03*pe_w3qlTwYEibjWA4Xf-3m8ttc z!E-*Ck_(p*mfA$P7PeBWWoqX(>-vG#XHwulC0v-`w%@>Atkye9u^)`KIrb_hruZC+R?^5wQwc%A*=u94 z<0cX8cz>v1$NTwKg*|`3V4lG%g*7RK!+=eHCDW|-bIE0l z(c7ZuPX@)^UVEu6?b~+Ka650NESdd{TF@I1Cr_eM5q!pkMB0>J$G4^2vwXN6@;i`Y z4T~5bk7*5M&mnVdKN{1Ekc+-lYTNkzXve^8NcW=| zKG3hxafiOHsLpsz72FHVMyUd`el88w?-w!@Exw@pdY^9xerHa10KayXF%Uo(Fr9)0 z%ryY@ExxepCwcLzcEF#h!{5Dm`&*9bV+ZK4u~~EHUIt-jKcaV_q@i!ra92rjbPCED zIyXjIZ{?j2mxoVjxajTbbdL4Et&F#;E?{%VbJU(PmCyW^x)AN(*pB&0Qd7Iq=*{4x zj89Pup_zY3{{IZ|t#VQtD7ck}g1?euSv4L!;76I@jYEV=rF&9Wy>ZT`)Yn=ts}YSM zFK#S9D=p1S8C8sy-7K(9%53Db5_E}iK3iv4Wcz>6=+nRRmgqT<0XqZ(n0k|Vq^G2{ zR!@;pQ9dl(1R&KZSt`?cWcw>7^w!bqTVfLR&Bhl?9^odKd@{k1Gwv1wbv0i;g7vkE zyN%-7b}e7^V5|=?zcOvkqW%YuU22hUuzHh!^{8;xZ#+-+;=c4eUcLHIEY)nGE3o_c z)97hQ;4}nY%zIp^-;6D!ZHKGd^KlVZpjjpp#MwwNo-D-_*RA?8+6+Hd@E=L)z8eh@ zL6PE4zJK0mAo*yA7E~r$HLcgO9O3cmFl-JsB2fBLmN)6zEj|SlTATz5&UdG`@~y_VEx88 zY?61_oG#Q^54#_SV;{4zkUE{p`gQCA1M?#{O^@>9Cfc9Lv^fx!~JE8&j)MA_ti)L zipz5xD(CIg6 zY~ndbk4s%r$`HI9C-wmR{($)9X{ccsmD6AbE9uYLQ8L@+bY<-f+Y+6Qd-8SapQvtD zV(w91LV*%S$QuH0;%^9h6F(K*snoioJ%3YwL-2n!kHLF8!VBU!0q1to2hffrPpUz+ z^WEw%uTVQ*-A!>ELp_yMbEYrpsqEJY>w3LFGuO^*Tl@Mg1Ym9ku20*4T#*NDohGN& z!owHr;j`nixo7qCKGJddZuXpCdtC08Bj6DK{NPE>YAtNLcA&`!Pk$pkdI24t{swqH zmh#7WF|M-wkNuIrIyo&2Sbp%_d9>u{6~6ml)ZsC?8AxeHkn}PFB-2TjpXLYE%Ju0t zN1q?6Nx@K|DHE)UD23{bU9u%)m!R3miAvx}V-GiLig;g5bKR`WI0_wTWw~i;j$^aQ z<7isg0Mj-ep<~x{)}!DJi3lEjH)>$mCTl6!7df^e0?JorE?d81@$Szc~jq z0;^+-ElpKs)W8>`9Y=B)v{R2NCKW~xhWhoxtsZgX{0O-1v6cTR^{u z)_9uu!qf9P`>`76^P)zdXAJc5*T)|K-wahn-LOZBFkPELif2IZBQWiW9TNp7A5B+J z0wak7O`_a-nW}>GpJq@gA`gdcbC}ld2;IKC_$so87Lk4q+EAd?-idw#c%go|q+h5{ z6Avs|4tuCkWQ}~y##5l#cnZ&7$FyeJ@k-L>%2YyB><>ZED%y;u?IDPi$3yH9{!Xqi z(@Qh$-aAknLuFI-@G|MfrZZGeU#KrIq6|_(?2L#bD4UAv)UwBzXnnsew0(Ilo34+f z^W_|_ud)S%3L)xJHDdKo0SA`crQo%3Jx9tMNCXG&6~Wc-43|Rgzp*L3PW|Ok)~$jzsWUnHGfxcYlhv{9*5W$^c@^+bV{3vNRLJH>;F=>&#OuVY`YW(yGdy6~ny z{L%jKyYw|FKWutG4z`WjLs9gN4ZnFWmVYzil}7+nK&!ud6`bfZU2oCUpzLg7?I!rQ zYuZSyJ&YP1+T1=K{fA@6KSCq@Va^RqhOsr0St>Erf!fFPN5FxMX=nlPH>Qom%697( zF;?7o$#H-&jRZRx(@rAaoG^asH#-Cy(+ppuNb1Togd63jmqA5LFLZ3Tevo)sh54q0 z%PNo>ZcdF_Zw$>wDo}u}*Ih%lUYP>hPF?5R%GAb}BxNdWHGHjP?kP(K-xMl_lEbkL ze52@BDr_e{jh}kE;xfdpOdZUWV$XK<$Cpv9IQTMGU2c>sAL5Q~mMG3>smT(ot-1N_ z1~R{a7qe=8gbkTIzR?%Fe_*B!m?VerrBRb!hqY6e6yREx`Jr_B5A!gvtm!k>ZO+*I zttqJJCh6nbzR6st9-JM#e*jZw>^1O#P=qWnIXX}_F^2HhMtJ$t4ec%;F#b?jp??@# ze{xqahuB@hjinN%%qK7YeG-ZviX)T;AGwmdiR+(STyW~H0qW)$uMgfQ;r$O?Qs@E* z*z?);E_RBOZ#)-(tf3Z3Rxqu$;bGPRcaU8Q_kszKc!p_Dz!Y3Q>O$c&cQV+EgnwIs zCd~774~F1~r=MLWA@R)GERdvqXb}@rcAYwmLFHLaWDcxF14jyx&y~)pAT9%o``e>b zvPVsY`E}tDnmN|uJmKUgeVw$kPSYPsc?XZt!Oa0QQ8JK=Br%g*>)|FBEW(r9|>YIAI# zX3V-MXK80`4hC;@Osm56&caR5&vlMy_xEiWrmhYH2@Ox7l`&fpt4Xb7WKG2#2tQ+l z8uAKz-RO#TgC8UuuO>c-$^Y>>DaZjNn>%Ny(}x8*fD{S`kb?3o?>*oEQf6=fnKwl^ zfQ&!~knrpYglXgiF`~~}j~c7FhMYcpu|xvJmE3QNa1Aj@!ZqXt-8E$74cs-v{RsLm zZZ{gh8-xM8!C(NlF7!&}K3`d1tKI7>?!kWg7D&>9&eL)jHrKnmv?9;<7)8V?!hQEa z8nJTWPd+QqeHtg$4MPKoRVs*8RGzhMav-s8xyL}Py!H{RI*?djjM0eonOi5;vB`p1 z|86@SOe{ImNG!FWkjdF6TEf`>T@`o*0*Rzw5>O;zG!ZA=xlV8!<2`|}qUeKbc@!UU zAHfD5b8LflVc9`Q(G~Iw;?4oD_m(t5@EAzRQh>XIEBVC-Ioa#3F_67L3mC-Xqd_g@ zS-0M8bX8)7Vz=Mz=c-hI5$;UHk92Z&6W|CWe(WZV#M4!s#Ll|~i63n}9qg*KdIW)0 z;He@f>UZNMy6wdzSL`KJy(5z(v3vnkL87Ngf}%?~2P~(;Z%yS0@47k=;WY+?S0Tdp z<_99YFW-Q0o)O{dK!g{L))1ciqmJ+k`2ykcb0HA^=z1fu))R%|ik)Txq~?1!DNbq(BVMPHH!XuViZ&R{x-5xPFqr@a2{e81A`F z#}G~nw9;9D-JtdRwkf{tRyb?aDiudtL0x4E{xKUKYl@c_zlo7D>*D2g{m>o;QFyBG z-R3yFh^hAb1SQc!d9m{18I%{x^UPXajJ)_}%8TK7Nm^dCym$cRMe{t1mKP;2mMAZZ z=cQ_SCVBCGP&N3SP_^Huvn=A;PuTm>^14*^G6P;Z`XcHlS#E;7=y{5}nV{H@CeT)e z)n1ceM4f^3Fc!k|DH3ov?cFc`Lp9>?Sa4TuWodqp7U-`%SPa{leT zS|I29@6`i2LqtRqmkCKGJ&>~q$lPcc@&v=uI}nCXkl?9!-vLFk=~h1wmz8Jzb5f;T7e$qLEEgEs>K<~~rKbw4!1IEn{v*0?IIJSzvY z5`hx#k*$F-l~1QLjv9z}5qfs}$8Fx1PTidAS*5HwZ-6@$xNh~F8Pt*PfCC!vrDepV_ zwU?5AQ?i|sEtGsp$$CoOp`;Ui{ulZ+@_wcx{dg*j{p?9vZyHvcpr!;)an7**3u-IG zbD~S3@K8#g*t`TS4R&A(fGUMxJt%?>DFv3oN^wp4@_h`t8NP7mLFe8H_PwD2{`?tY zHJq(D{H%TOg!*lgdh#SKIfPjc1`E!&Xw18kHS2jcxIK9>1`X8gv$W3izy3_O+$zF! zdtP(vn_rT3E1EF>%Eh)$WKV1r1f7RU06`>zf0+$r|1_%7o zTVX8!-ms)NeXCG`h8xyjp{Nh+L$Fo(!B#m!(~KV9uWLpx-zqetisM2vdPyI~pI#-_ z6OX}q!aRj>qo*~J|0Syb_9F#kqX|%UMGrW+_hbU^SY%DZo%Cw&zAb27vVc>L+5d`B z(C41-O~^1hC-j4^zIi#>>n(bBJH=Tb-eR_~YYS0s-T=dn4UO&~h#ljxH}cu~*QUu* zM!teNe`)vDV6V^fBNL<>Rp}l^kCq7j$p5SHGH>?wQv#2*sfouumZ@&1o4~2Z-sY1lFml`T%IP+-hjCU(`$m!fae$wd$o#qNa`*%byJNJ% z8x_-6u)hN()Am>$XCbUA1P$E4sn0!q>bIa_IaJfjV>-}uez>OLGtfrQXhvfv_w=sc zGBO<2zUU4#T^}93X)DBIIRjKKjnv-nJJR0hi0y6X?G>^1lESrjBB}%JeH0a`y?@yp zI}ICuX>RKWJ^w!L+sAwSeVo`r{8BOPP<9?rYL6w5CpK=rvF~S`f{o6g4@{paJHJ+H z563}MxXXuj;2FDcW7BjT%)_t`32ym^qQsV74Q^qY8pW0*Y&bUA9Q(n`pRxLOHev>J zfvvXIuCo0glyLQbOPSga3m&k+hObTEo3sV*O}=h|_4sb1w|=AW*8d`uqyHD$-sFAf z`81TH{}+CHlZjS)OLSSZ;@bl5Sq|u5)|sYehBr8Y+Z=~%jt3c&ksr0qaTEd$Bb(1W zI+Cs3ZQO6tW;y|QeJqW*0`7q>$E=Yl+MJZ2J_#|?7z1U~`W|lSMH?^7!)&f$+?7_# z7-ar5%`*UG5bIY6lmHcE`B#uu5Bqz3xI4K|pJ9LTtYfP<7^->QR)~ozzfQ^AS@w~C zQxM9eDbCo4=XtRSx|2dO;r-pOEkser_};P6eG}Nk;jzx$Njz?JZ#bvDtvIK>yQ7({&pXPYW{p8n*chUjo@D&Px?|ig?<3iI`zO7xXf{AOEK2}3%X+* z4^mNb@T^{X9d}g0>B&rPkL%EFvzQiN897vE8JihSAAoAx;aP@bKL^(B7v#m%&*;UJ zk1H<5uLL(Z>8P5M&H?q+Tt=;ZZQ<^3MtW`j-_Q%rE!&(q+wb1Wdi#=q-UhBkC#*82suic0 z$3k3WHfQzaA;Xo^drlv)w@LF87m}{Pw3dZFjGj^kyS1hkHuf=t%~362PbzuP(c);f zxA=&mHnnIJb=9mp-IB6B!o?uJabu6;^M`snhrQgJfI&cO3d_7f)j09r{y z;g()EbgyUo=_W^==Wpz-k;vYN&YG=Un3t4<^rqWsMfu?0g3A{24d@2?^A9PgKU>ggg}vAlkLQO=E@RKG>?_4O z=!MaJXdR?BO^A|c`RT~vpQ*o$Kj#C-LjU&0=>9Yo>LVxjHG`NEK60jjrA04(dfXyT zkCO`xTQ>ZlJ`YvD8Cw4J#!Z4Fslq3OuN|G}bI4k0#p9WW$u31c{wY3$>2X`OkO;=DiGmbrJq1ooh?hbMDTC%8dz zrqanMXJG=xj&T;Ekj<6X6(&LOs(c1jHoPfd4+@zBp>l`h*~s3c(;ojlXgcc6cNs0REvhR$!prq`{e2)nwi(hTFWj4rmm;RN!4!YJ2 zTNK45j7*FXC$TlyBNhm9l=;P+$*f!~)D8?`-|&%*b2l)D`X~Og3^-LhW|V)Oi>N=8kp5uS$K?|ynsk!D8#JL@gkQ73$0Q+~ zGl(aj#tjJPLiwRuZMla>j57sdEI1;UE#oZYGq?-OXkm59x9)Rm0KMU2u!xygX%8n zq>CtA;CZF_9}TThoWD;}GQIOh;(Ruq>bhI6t7%Spq9FuBuj%Os9nK5*$EpzMqYfz?KV{6ubmO%TeDhn!wh>pGYNT~l+w(fWY_Dst5pWFPS^mU^e7+%W2;a!$XRH#`yOA`AY#w=j z7tw6#8YGy-80bMwZhR?Me2|UJG#j$`;Utj+& z0M_C(zU4#v#qfIEQu0RQ-D`q~Q4(xu`|7n$s=5cg^?5JW1oomTyJ*`pC$JaEjdKno z#2o>>cmg9Ln6nKpY3kV?1-q^ch@tp<&ifuW?{piu?p6bKCr@;ey6gw1dNLc|9xz zaTh-L3z$D_&TO+SvsPXLl(ab$ka$Pbx1mvD&c$AzXS-VUC`!LdNq%Ty+vXKnbYVL>sz8iV*KB zD7lo9Busb*&3lx0PC9f>26RrUv2(^p?3|IqpmTa-=jf*Wyp#;L$wwRX)EnQMS#Ru9 z+a5sxPE(Se4gP`=?ekp%`ok2VKjuFWwl8+!(R#0G{-uF^u?6~q{h4U!h>PWQgFtrz zLQdp_{Lk!Pjb;f$b(-aAG-KlrZ{*Nv_Ku7+`)oGN-;|vD4WrptVb0&ki$9l;UJC6c zPyk|^@Wd~KKSdB#v|;|k3TVq19s>jL_5-aW7cTtF(RbqTU}&+}1|xF~nEBYBB=x&< zXMNh}E984{Zik zmn$YG;WQ22kkJHDE>H8L{peuU=upn_U&_Kp zgZgWD=L0u^-!x0=LToiV!g*ekZUpqBP>yl3YcUQ!!In(NEjmNHqy=Du1HyNKK?#6e zPk@bRCty%3f@MD&C)$c0seq@2H28{Qs5cLaUX3BNRL=bc9KB}F1%)`8#fQOgQ)9Ut)_k58 z7-3%1{roU%&b};7jUrI;IY@LTb_Ks8vVv|DFhJ74DL8X$96^)7p)m6_$q0?};`2j8 z)nstWW%E=a3g&VOCU9^wI0eld+-y$4Bo3}3D3}{S!A2tmEgaTVo~9dN&hB=8m;n?E z2g$-gO64G>a*)zFNa+EPtk-xjnxHALHOJa3c9Oe3$o(LkLhx~4Ao0VjKD7F*?#pA=x~~kamjgC*H!twGY)>G4og=VJF=*AXeiUcmH&G4JyfbZcp0avHQ5TubS zYC*AN_1qJQ{D}8eeMUqO2 zp$OgyF&q%itVmdV=EEe3|1hfqe(@P~xUfASB}lqyL#T9P5`?N(p7neRx{7ZGPXI?} zzz)X^7#j33Rka$n*;c*!GXVYO3Ik> zGFBb(`zbf_`)POk`8}IcyAY_Y2x^zcNn(3}<>f#K52jP`{-A@6nI~oYEl|wW{~ETg zVmwp^Aj}~UiZ2+1A7g2+ypY3Tg{vX9#bV_7c)FovW&)XBn=2+^th`PdUG5dbJCRq;2I|O&mG|bA*929*Rkojq30Zlka16S; zm8^xxWatC5NfRbu=UYl{dn|dCl0U~={XUe|4h%F*s%N3%Foth zoj$Fbxtp=x4V2Vnk5Q^K(z&hz*m%EHhxH0 z&rFABLV9KfJZIyF_t1w+C?i$-kbws*tj6w2GR%`Xu>dhEhfSbPkT2R8%@Ks4eoXN(q34}ofwp)k> z>1LFog-LiX8a-R^+CDyALH=lYor?GSMdRq6lP#wGtc**zKW=`mdkvn}$>s-sVDsLC zhdgzcGhh_A19n3Ha1WZRC3guJw(a;!Eu*AFY`+Tdc2)%?`(ESTExcr}{yVR(ZrA8m^2)YoX5OVuR=4=hxw zIC;EMT{akIzar!8r}D7^J>za{f&Jgfh)Xpl?u+2nQhK$JUcC&SYbEq*HYL+3DZqsM z?!bL`c?&~wu$L9TnF_o@1)N>u4&h`If2jSF4PAe^0d*uafewbfbMDD^@Dyw0+q(@W zPP^ViyWi*Vg zI14OAXTm+()W0HJ>YpjO5fjahYd}Ie$&lzD7Kv3+gv6RCLSki9N07MI4~dmg1pKNf zLI&z|kNCxi#O^bM#6d#hKlup#eoE%%`$1{fp={z%9^_Cq20)n?5lUBIBb1FCx+V@S z)ah>c*$Cwj2Bl}WdNYAFDlAx~9ISE~{wLUBrK9^WR`xaKHSM z5!@fytnT?pl?dE3cZH+ka!$n+oQg|3M8!2pMk+4lR9w!f2z9!rA2WiLdm5=Y1L0AB z8y2hr4pt!tE5Acv_3;BMpMzDv!Gb#7{f`>K`rs6Twd+m>=x zTGZPJRwVAgEH50$H5}vy4)XdAft+CgnZ5;3YcQ?GI^DxnBgjp^ zAjm)8fnXiJgHKu$_u-^<`@Z%~TA>iJaF$5@{}J~k;58oK|2GnZB57@*u11B%9z`2_ z5OooR+H2n$q@*O4mWm|E6|pa+iY}I-ma3&K6@u7HRV`miOWPZv))H&}bIzG}-nsYA z`zE*T@A-S4nB>empE>8unKNhRop*+tM1V&oF|wqr`v7hdf!rhjGjre{vLJpWNH7Uf zfs&pTpX6kA`JKO^bK3uMi(Xch0@X~uJ{$SgE`0i0oPR{STax(KY&;URkaNLhv%-gn}nZU!wQ!#^^XTYMyfP~Dv(KaVT3m`6)KC-8R&+w0EF!Tl`$ zVyTBF34E!CW(k~#n`!p&VK7^Qqatqw=A7c&$^lP%6`X3lwVK+JzLm@G#1DQhr!y4D z9{(hj9;ZX&@^Nj_njgO7wHwK&4!;9fM4e8q}pqnY@Wh+u6XB>YMoq; ze-66l&j&gD09yWTf=walodTV00g&;HL!QT}^2f+n75&+wYo4diLo;JLLEq8rKzloa z)ya**@-A~`sp01H*J1NfyR#kL2H+)p(E70G9`NV|3*R(dbcO!$Xzk~@65 zC*TeP?QDb&H)(DL9A&n}Ea{wY)=<9KQ27g%&@PQ~4@O26Ar8XaUb# zGFreJV9S9PCD>0%{V6n)>u_R8#@V`}kcC}A>Q?-eJ^y#mhPFX3!)g!5-` z{xTd>=Ouuf&EZyXxDN$fmEzh9>nLVTqa(C?Gw~d`&TyaQ+($Wlr=jlOJ#WbrzB47z zF>7WHUb{)Fy1YP&err87sqCof?bUjEtA!iaM__LfK4xk0(iYvvJa6h_9J9`l)6j+~ z{f$CAHyv^?v>Ab%hJ`x~Uve4|0o-YfzM^m%$&%BEN2l?)h=J1>T~z5bEZhW#@UZ_r}3nS<}`lWq;?u*vs|18ys60&*F=bww5*A>K~rH|gS52B7wzEI z_S7!)-gffS$hKbj{E`+pH{8H8^59T}H{4mR;plsWRO`<5@}N-ErF}!?_6>8~{MmI- z(Aqb~rG3YV_NBMt{3TYZHM$gU-+8|(+IO7PzA@OoFFt3`zVn__wl7u3&*$@~eVg}k zYG3brqJ6U$>+M_aIjw#3ZB(~!gG{$U;S_E(e8e2y61W&hIJ`97;o)byNi@Aba+*Y(K|iu&IXPd;FsV_m@GWK5g=m*aLgSX^B~7eBTQyNJ@`9t*cq(>mh($! zSQG)vF~D*%U^xz$%mF{-fU^aYhl>DUYcOXHSKcpSLlJ~4&)~|-aOF8%0QaE5+=B)R zC*PRET@!GDehC!_E|9?m%5Z@kE{1a#&$$~XxZCs`!DR}#s(uOcpF_B+46dpSSCzw^ z;Bc2Y+*zT$-wSKni@`7K(rW@}{Ud(U_7%owYWgL7i@#;nWau?zboR#uoBd{l{QxUU zcek|gvjS0+hKV;oF_hACg;b+CLhqF0BAb>;nj;MdYZ^{vP|BK&R$I`ZLaxBr> zeIb9p_9WLT^sR9d0WF2E=3Tlt-a*M$Rl}lI+ZU%$?cGKN>l+*)GoPL*dMv zb|9r%mp{*)*?|iRXZE4w%x0rAYhS>?nH?ygbY}kCK?Qg`SjBa7a%QjH6wa*L0^ON) zD4;pBdTZ6r?47Hw&MXDKb%4&BYF*Jn3u*XKFaC~W_WvrRiJ_2U=M?%Na9o72qOZ9X z%~yn|Yk1S)<_-)|clwZCR`C8o%hU65X}L9yqbUWn5Y?Ma?`QZx{wes9IPsCMU&0W0 z70u69gzr1W@rteO=b-L}M@E8?SIq4*Ny8-UCH1sejOKN+&F&eE=i-1p4sh*H`Jo zmwtN3e+f~S@`hbc4V(CwjX}?#nKWO-$0E0Z$i{Wwo$EeQ=pKeBioM}%;0Ixvp~6R{ z=mUeM{db0n@4!I&@ah^q8RVymJ8}}J!$=Dw+&3qco_;$`5%yz?nt7*#i4EWG92g?-h@$%T!+CR|w5 zY~6*;@X}n^sFi9Lw)T>n3tP(DmR4D)Y56{#Q2vL%Ug{VxEm?W2!du+ZKSQt3LA@Q%XPL6^}QypUvzDpB(LOjEh)1D0#jKF6`>I z;a|W5+weYYWE+t#w$WYKhPE>yo9as|tet;%T45XACEJKZ+ZdTsS#2ACvJ8c7+~T&8 z?XhhvjC8V%ZVq7^5i@n$h+)-ITXy|SZ5uN$y4Z$eX(M|5DK%N^#D~fzn*=YKi{SH) z{FL;`d+DnWS?S{qu~-HrfmoW24EQZmS%?D@A9;=G>{=Me`Nq5^ogwTm=-y*WOXm&; z@XB6-%KB3+Jt=vUl8A=%_JGembM|MByv?3nK)Ev;3VEVr19oAF$nGo=UB%MH%zgJj z{stsJC25p=L&*yb-E^t$JQp*o09FDOd!Le@8sxe3(z~p5I2CJ5$-=ys_Jh&|s8~*Y zOu9GtKhs*|9ah_iRLvYprc;tg$%XoP=6n-0bOaS^Ny#!^nk+B?@5NJDAdpoS2y`{$ zU2d|C6iwsO?k$}!MZj@s>xeM-eXqU0VX(%^76r&Qhthd9Db-A94_<0!Qt`XFusk`;LzYV zF*wvp)(3|-A8La`{g2gy!@Fl(1_yZO3H_ox#_tam{Q}6UegSl~nf&HpO`A~<+cb@m zZz%Z+6T5e2QTE7e$7ii|sT{8rc#@M@0p5|ie7`so;M{y-Ns=2*kz}oDah%xk zEJu9f9x6_R2@~=76u1NzTATJEf|{`Jo)-9 zi)xuc-=PcX3S_e6n4$Qpe=H`}aggwy30p?_Z646HVkwkO{Zind6WBjWi}CaY8(c?& zlP`Zd@dlbu3)k)1>F?r|Enl0aoqs$|wDaRlX=NRbH?>`+$T^VDeLB-CYkGgo&u?Wl z$MxbTs;}o|$z1?weB+9LGj|bJiMtA4FXal%t zSC{Z3V(r>pKzwSK#%1(}H|C)vLfnc6(x;odpfcRF2$M@V!!Rxo@YnEG!Fp2kPZ(El zQ|d?SOLW4A(Ep5hesF`vUTj@(a3G_F18L2T(xzxf-?~Vx`~I=7$rFPYIEdCd0dngE zIpM6(z;bRtQr~9taPxsw?l8D{2 z;%ld6+TfrEOJ;GHXFag6E;;In;y&IExPov!(r=q}&7I2lAy)wVeJTE)FD}0g@5Jo( zD!AqY`I8vg%W>$!vmD30()lcorsLsUU#o8&>HOXjOa{jvjmUtQ=d~``L6^e?#5Zno z2ggKQkhfdykdbP=_ID}0ba5!XMk+l)FKwaH^s2x*oJvQ(D%B0|ksZUN((U!qdv9ZD zS}wLWrqah}`|G8#Q8M@`yy!{c7f0bvw8cI!zVQcy@fEh3wb|An++3gSJF!2*O3<)U ztgmbh5{=f@2i}G6w++7$ATHZXwbtWQJA5dwX9d_2S+)L-H~LUhhQe13tbz&4S(!N- zr2!7Ob==(i3{Bf#jBU)B<$rfO)E*HO7T@^TEoAslG`FIW+fnGnLnW2H1URoZ)K&I) zn^4&-Dvft4+O5}EhGSxDU<}SAhOQtT!5t=!;I?Vw!NG+-jvjxIlXa1i-`XaVw=!~O zAN(}A#!!(1o1Q;{oC1_HYl~cFGUPOThB-By(B6iei+B-N4R5EMc91iLat>{kbLv1& z4d`w5r;l?o=RZ;1-#CW#wLrd0oHamVqaaIc4-rxLI-cFWpCfkBNY7NaCHg??paTo% zeh=@QkG7F@;x2UNulEI}+kN1A0ZY~q?U!Ya`%f54@8-D2Pk7J`p8tR+qJZ;hFmg2QNZGX{VIl_?>BEmCk5@h z#TGumh7Jp!;o!HeM*to?7wSZY-@L?cL}QWS@EknMradfV6bBK@=eV9%<*fg3h5ldB z^^a5Xy)QrUsXea#`#W0rh~-p%5@Hy6N4&vg@I$7j5T+*=c``_zP$zl9oaN~b|MdfT z!gP7APIH%Mc8o%v;X~czIoni|C(KYDsLsZtD}GB$pyQHvj#FqQ-O>`8?wFj-WGt6s zdcGe&ucy0{y!~W(4emu?O!U*G|6{7V^m9ilq)%NUOOIXQd=pLjex}k#3F%`9A%$Od zfG<+wkvX^9vU~f`*3K~b&8v2D9N#8ur){w|I5FE1@!+x9c|CZdrJ=pM*!YPl?pm2J zLZOwLgJiA1gw(OGF=>S+0hZXtwv^{mM*HHCWH6(ohGCU8is^o^?&wTo|X)O zFPM1kw5+?@9q-rd-dVdH@7`ykRX4W>kL0_RMu(OM903+JhazK!xS6$J5xA})1XLd!?CxST(9OR=HDLKpG6_h`Y44wV~4uQ zbMN&$$g^8vf8X8u&-zc;Bt`#!TfzVKfo}e+ZeIBBpy2=U&Hs%5_zx8QU&Vi`zV7}1 zwLI{DDN51*|2zKECc5(@Gydmz!hfKG|D*jC{7;)F^IsVFFHze$J}hlZ zsiwt;1JCOGvY7C9$Df&u=T86H-ebnO^IJ~E@6G;h{%BB09`rp@F`iY+G}Cu=FEjpG zH0UhBhOzDv^z5gQU~5;m5$)4jP8#=1!nsY#bK$sf_`W|zhY)}Mf4a|x{2LzXuDH*} z?wuJ4%Z3;JWa`{*IN$z;?7<+uc8RF_jZyf&z6x!2=;Nl%&NXw7sG&MqgGr&Ad~po| zmxF>GTi(slmezY|@pR4~Ot`9M@$?mv&*mgwr1N@HjNRoj;YeNNcjDYdF4IRL@`TQA zU7&vrP2@;Zkx@WgcFN{{Ee5!s5Q(wvXfw zbCTaCx35i#|6<*Rt=?N9Y{7wU<6CTXO<0?uu&@vunGCOEe;!3sr$DzGnel4T&h(Z( z3QQc%J`PKFlmG!=a$Ej(ZSPMl9{GovqunKL&`Tk4TrW3^PN?SWkt^F$ilb{74ma+k z(tqBFU-9vp7<9>mssjp(gmzAVYfTa*O&j6+kAbg zX?wYj|L-cs{~ikYT1}Vb!`BlfsyMgS%P{`Kxppo5@dbQbLDpp58bOnV>!HAT$Aw>+ z2(5CA{QvG;?9Jp2L#G&bX`XdgNK>e%o40r)I1kam&vLV`uPZzAUt3y#WO0iV|Jt=~4p(80INrI$gb9^;jEg+KSG?jLNz zK{)MJaUQHrz2h$Iq^=5Kr%#iGg)d?q8I^J$tQ>nW;D`nDQw>xwsvC}0Lw;du@KX54 z|4{yDh5TI<@?T4o<;R!m89{lFf7A#6LjH^Y_wo-{$lqBZ|B@-P{P&q229ToB}?;y*I(cRTRkL0an&x^dX&gCZWCl<5u$|RcbQOLSt zqAaT~5wo0R#kHO6m-MjePqnUJdd@V-*)Hs z)&vE=M<%;>U*By>V>V!Uo29P*Fp}OUONl-rr)voRXsk$FL)39a+>{e_>P}{ z$(W1)%N@TS?Dy__?)W{g#j_6oGfX{MruQS|c&MM$!S4F0^1ebp`&zr{XR=kLA8X^M zQP1jB@{;vaPS%h9fUci%l74nsy0^;4gFE~-UNlovvjb{1Wu9hgy828R59c>sKXcd5 zJA>TyQ|LW~evZE3=7Rc{Q|YJ6jkp_?bNVjT_2cyyQ&AOJMfx+EioA}o{3=dbTCpSK z4e#8wRD8c$OX)u`E&bwl|D#9ox7&QY$v}5?9d0G7D?bq{wRQ7iuf8a&i$UicV-H5h zuqj>Q(;}m-HtmYl=je7*bZOC=OY7{7ADP@ZWgdU8@l2i(0~GSKmE|cc^z{S$_{8d&bqXK;#s*`S~T?1GZB5^;y1-sTtC~Q~9|x z)Cb=Z7>rv29X*U5p2i;zlpe0GemJ%ZJQyN9=xy*|MR+hwdhq;#`?%2Q53GkUg#?I= zh(Bq+e9C{xe1~aA`@OF8J1hk{E}vxjJ7VfDm*eO7PWxl0;O8T*`(trey4WAEx9 zGtb)|*&TNtOCMj9$VW}Xt9yo@M8F-SEdr$a@RKmS)Us^=o<@K-?GrkE;S)j|IEjZ? zG04No1g)GZO!0E6FpiK}MB6r4s<0dJ5eT=wqJ)jS@-E@ex8(}+IahccZShUk=URkH z6&^?OXhv=uiW1^p&pb*vSgJ5~qNpr(1Vdy2Ut61~D7G7`n~_@BV3Su^UM2F8D=4hq zpPaRl{mgXQv0N<&cPtlWi4*-(x|TEPnG3xP(H}o`q0f1W^jO$$Ugig8#^Fzu<5@Cx zNq%2v?KE^rUZ_~ums8&{u@{IFh@T=HwCzdrwtcsI;H>Y4-|Pef$5}jU4|^GtvY}18 zHl!S?Ka~1o*^?AX`qN8ux{wsGCwxvi#LL3Hv-UV*jx$EzGWA#0$X`VftHBzp!Fc}% zeb~isKa8QfmhW1~md1ey$X_Oz&nbL(zu*};ff8s&DYb1Wt$o3R@RwH$Epq>jn+SH$ zU9*FJ!VYZ04kF18p8WL~r4PetpRkC=HhnX5T!^%*J+30n9!O0n*NkAW26|foMiiCK z|FGa6teN31db=0C^<#fkroZ5u28Z<+Q|XRphU3|P-TprA?Z4zip4!r)j}#<_*i#-?kLlPKZk+}l2eUum-swW{ z$BXQb!f**S{87x7vzOsdSV23>X_vXZVAlF(cCW1YdDCB!|5ks6)9&X{e<4S5?LWtf z-|oEsXslBInQIaKM_lWSc8}eJU!1RvYk22z>=-#u^p393J8W9-h!njeRP>H8>K(si zNnSG0-SS6}AB+LB?+&dIW5M5;xKp{^I~p8jQkOJX|5de5!T+{>hJByc_L+Ui)AlL& z|G9mdT>JO!v*e(M?Nju>ZJ)zC^V&YQGCXacqW_=UXPM*Qx6h*khV7H<_h=)&^Wb|l zTt~d{eD0qKEprS3o>bqX@%?~uyq$_|;2dwqj+M08Kd&)c6k8|A*sIq@w%RjY$?L$!~`>*;eujB8neYx6ydFS{`W0mZmj*WMY zzy81{c>IO@@%Zb2g*t}DvxvV|VF}mx%Z^mhrZIVqzb5=HwP^$T=A5@_C~s3$$W<@5 zkSm6QtT!p-szZMjhh|@!&a}AS{d@z|-$vfvPAj>o)*)&9GxF3F=`->`;3t&6A&(9U ziEmtfD|`prgMUEIvh#nuRr`Rv1fLi8qIbL0tPHyCGV!f=Sh)VJ_@J%Yx8iMjXy1zO z(!Uj-GLMLXSqmKJ_A-I$aSyVWHL9ZJ_(6Jp^b)%c3SCsKX z(cuGTrZD(f$Ix1j(U_m>jY7@%8*8a8=%c+gp?Fp)k=2oke6$|v&*C)ttD*>IrD`9a zl?#%^_H`t2vHf+i{iZyzP?6cZh@*V~J>`q@^o!IOb3|qEwJ>8MI}7RK1s%IIGC^6| zEoE?0Yzmy8SwCy+2Xv#K%cYlaS3@Yjupye(xbQ?(8y>4l<1BC1?)uFD+K|OLPvM6R zYR6Jw<*=oYe$D&??gZO%Gdl;5m*HI+44w(`b*v`DuU;tJ$7@iyrGmcKOA`*W3^hE! zUBhe|nPTn4kz%76`qtTq-bAByCS)KhIz@`Lr1sz|tnlf3Nb}NYepDFA+}3WepVRDT z4f~nRo;^KU6XPDWU2Gy^>=N|TqU|tC63-FOCGwRdde_Nb`jpY_CAKTW9n5iKTe7+W z-^98)YP1?u4=3jX^ASyGeH8@-`)(J*L$dxNPmaUCcX{daMnaF8=N#?B@`#Fyq!P zUy0{!NS(mik#WlSzFG|bY5{yB$3(#Q*_wrGj;kLzF1yp&u<&QFBjpj_@@R9~^EeK? z4^_;s7QuawPj@ozZ8?VP1Et7cj{`rphCf0=XlJ|ZP*UXQnNTC%)y(O8@>8vvBfYDj zFBg7_vNR*Yeyx4mi?4XK(_dhr-RbK!tFJ(7L$#!lDcp+D=+#6mn3ZZh#t#B^lt_{W z-Y{@Y-C>wzX}|c!tG>j8E>7Z_Ese&Zc#SYUo4@G>J_`FKy^pK2{B>y*G)au^2FN8O zbM~<+9IX9Cm>=NyjxX;9f-2Wo=#OBbU(J`HlC^93Ik2V|U&oMA@aPP2osR5tIx&s> zGLmzA0?2l{LR`_niTlQZLpjBMzGJ0ljMQ{Iiu`0yH$;sU^f!f{ zK#4#2<(ac$OlBP8F`_6pJ_jd1ooNahODJn&NXlf<5VQ+qau zl|L{S%Qw|%MW{TGv*xh^w_wK`^E`i&k2*-nDoUo|Q6<*03q-)T(XI!4AFa~@z8)QT zz?bS=?#^nm0F`w3SV#bY?`1p~+@1j2v8_y)+)8tcNN&iFd4 z&B!C-7&(JU2y;)zMTd2>P``n%P4Z0XiLSkZSER{RPqOY1tdqp`A(y8cEf?W`N`OuF$Uh z9J3U<7J{POl%4#s39zT+YwkoGU3Fa3Ul-oS=E;L?cMMF>-*Whb#~8lV)vf=9GggnZSVIC0}pdv>m-rn^{Ixb3-%PX)R(b# zk`_B4LXGUtb<#<;LyDK z3g*JMPGU)=%AptaLwzmYL}+FGc6I$rW&J76X0a0cRh_{&UT#N!>0&sYWmw-u|9Jy- z{!ZJOQ8n9eV{OLnoe+N;%*d@-dd*_-$!*c$``FigS>08i8^Of618H@=$dFQ){?!#^n4h&Zon&El*2Q;1k|6V3e&9)``yw4YyA5@dV+k?997QQv|~nJlKD_eTX=X z9stuxPA!G{Xu|=$vud7M_K|T8x5S`e|LEWy~L?0ORvQFYvGAlYPA#!2;=Z z*H44{b0NRNw{$+DlU_aF3%$HIAWpp|CtfllJe5PGh>vs&T>KPM?}CpwN184ESkJz@k$`X>~7k|^?FTA24{l*bQh=^1?0 z#2|5DxvK!ZnWqYmqfxLXOn~uWGyXQOaeI+l%)XAJn~wZoV(ZgOizF_qhp|m$a2u?w zn8d5$(aqL4wfY@{8JXQ%8@7~}#*&dyy2Cz@=$+wLUWVu}%1$n?W5=ob#MW_5=FT2c zJnK{@W%^)sxq_4*k0kE9s@E-6{rp$K&IXs+ zoc;YXeN)SO$jAF=Y<}5*pJ1Q8uQ8h0%1!w8(unFna!r+Z)NHU0XdyKcV^jX}k7ZM_ z@1G5nWAy#IFvio7FWxq2)|V52vBmlHaHEY6JLmONdQsuUTs>`@f#unc@|wH`K9aoT zE1yd;%Lnh&OXujB7)Y;y1C=|<&yKKQ79rh*bFLf*oW`OttbOjEbKFPv=M{`$m~yi0 zQh*5z5@X7$H}&7%+>%}`{g+^<3P!*AOE%}N6E)VhwwJj3>u34x3@qepn(s(zkLF}J zsd-M56{E5c<*n81+K9QHtbxrBw#Kyl-VV)AvzC*UM{iOF2E{Hg8Qs~VycEq_chVVf zC`zvK@v@aJprql@S5*!UNDA
    ?3 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

    $v^eG2rW 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%0A#i%J6j_WJ%9Qq5b10rre|G=`nFW`* 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

    )EshGHP{9(Kb?KD9gP2UL2$Y{zUSe_vBux- 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 N^ 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

    6@v^oFxaECK`2UKG?dWi#G#Lkd2AD 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 z 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

    $1IzPCKcq?0p(I5+cg+ro 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

    |rwwbfQ*Y_DrjuQu_K9~a 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 QE5Avk65=_J5=bon3$==k6#xJL diff --git a/vendor/github.com/pierrec/lz4/fuzz/lz4.go b/vendor/github.com/pierrec/lz4/fuzz/lz4.go deleted file mode 100755 index 4b228a140..000000000 --- a/vendor/github.com/pierrec/lz4/fuzz/lz4.go +++ /dev/null @@ -1,45 +0,0 @@ -package lz4 - -import ( - "bytes" - "io/ioutil" - - "github.com/pierrec/lz4" -) - -// lz4.Reader fuzz function -func Fuzz(data []byte) int { - // uncompress some data - d, err := ioutil.ReadAll(lz4.NewReader(bytes.NewReader(data))) - if err != nil { - return 0 - } - - // got valid compressed data - // compress the uncompressed data - // and compare with the original input - buf := bytes.NewBuffer(nil) - zw := lz4.NewWriter(buf) - n, err := zw.Write(d) - if err != nil { - panic(err) - } - if n != len(d) { - panic("short write") - } - err = zw.Close() - if err != nil { - panic(err) - } - - // uncompress the newly compressed data - ud, err := ioutil.ReadAll(lz4.NewReader(buf)) - if err != nil { - panic(err) - } - if bytes.Compare(d, ud) != 0 { - panic("not equal") - } - - return 1 -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/compute/v2/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/compute/v2/pkg.go deleted file mode 100644 index bb158c3ee..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/compute/v2/pkg.go +++ /dev/null @@ -1,3 +0,0 @@ -// The v2 package contains acceptance tests for the Openstack Compute V2 service. - -package v2 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/common.go deleted file mode 100644 index f7ffc37b2..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/common.go +++ /dev/null @@ -1,70 +0,0 @@ -// +build acceptance db - -package v1 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack" - "github.com/rackspace/gophercloud/openstack/db/v1/instances" - th "github.com/rackspace/gophercloud/testhelper" -) - -func newClient(t *testing.T) *gophercloud.ServiceClient { - ao, err := openstack.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - - client, err := openstack.AuthenticatedClient(ao) - th.AssertNoErr(t, err) - - c, err := openstack.NewDBV1(client, gophercloud.EndpointOpts{ - Region: os.Getenv("OS_REGION_NAME"), - }) - th.AssertNoErr(t, err) - - return c -} - -type context struct { - test *testing.T - client *gophercloud.ServiceClient - instanceID string - DBIDs []string - users []string -} - -func newContext(t *testing.T) context { - return context{ - test: t, - client: newClient(t), - } -} - -func (c context) Logf(msg string, args ...interface{}) { - if len(args) > 0 { - c.test.Logf(msg, args...) - } else { - c.test.Log(msg) - } -} - -func (c context) AssertNoErr(err error) { - th.AssertNoErr(c.test, err) -} - -func (c context) WaitUntilActive(id string) { - err := gophercloud.WaitFor(60, func() (bool, error) { - inst, err := instances.Get(c.client, id).Extract() - if err != nil { - return false, err - } - if inst.Status == "ACTIVE" { - return true, nil - } - return false, nil - }) - - c.AssertNoErr(err) -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/pkg.go deleted file mode 100644 index b7b1f993d..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/db/v1/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v1 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v2/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v2/pkg.go deleted file mode 100644 index 5ec3cc8e8..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v2/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v2 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v3/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v3/pkg.go deleted file mode 100644 index eac3ae96a..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/identity/v3/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v3 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/common.go deleted file mode 100644 index 1efac2c08..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/common.go +++ /dev/null @@ -1,39 +0,0 @@ -package v2 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack" - th "github.com/rackspace/gophercloud/testhelper" -) - -var Client *gophercloud.ServiceClient - -func NewClient() (*gophercloud.ServiceClient, error) { - opts, err := openstack.AuthOptionsFromEnv() - if err != nil { - return nil, err - } - - provider, err := openstack.AuthenticatedClient(opts) - if err != nil { - return nil, err - } - - return openstack.NewNetworkV2(provider, gophercloud.EndpointOpts{ - Name: "neutron", - Region: os.Getenv("OS_REGION_NAME"), - }) -} - -func Setup(t *testing.T) { - client, err := NewClient() - th.AssertNoErr(t, err) - Client = client -} - -func Teardown() { - Client = nil -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/fwaas/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/fwaas/pkg.go deleted file mode 100644 index 206bf3313..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/fwaas/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package fwaas diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/common.go deleted file mode 100644 index 27dfe5f8b..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/common.go +++ /dev/null @@ -1,78 +0,0 @@ -package lbaas - -import ( - "testing" - - base "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2" - "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors" - "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools" - "github.com/rackspace/gophercloud/openstack/networking/v2/networks" - "github.com/rackspace/gophercloud/openstack/networking/v2/subnets" - th "github.com/rackspace/gophercloud/testhelper" -) - -func SetupTopology(t *testing.T) (string, string) { - // create network - n, err := networks.Create(base.Client, networks.CreateOpts{Name: "tmp_network"}).Extract() - th.AssertNoErr(t, err) - - t.Logf("Created network %s", n.ID) - - // create subnet - s, err := subnets.Create(base.Client, subnets.CreateOpts{ - NetworkID: n.ID, - CIDR: "192.168.199.0/24", - IPVersion: subnets.IPv4, - Name: "tmp_subnet", - }).Extract() - th.AssertNoErr(t, err) - - t.Logf("Created subnet %s", s.ID) - - return n.ID, s.ID -} - -func DeleteTopology(t *testing.T, networkID string) { - res := networks.Delete(base.Client, networkID) - th.AssertNoErr(t, res.Err) - t.Logf("Deleted network %s", networkID) -} - -func CreatePool(t *testing.T, subnetID string) string { - p, err := pools.Create(base.Client, pools.CreateOpts{ - LBMethod: pools.LBMethodRoundRobin, - Protocol: "HTTP", - Name: "tmp_pool", - SubnetID: subnetID, - }).Extract() - - th.AssertNoErr(t, err) - - t.Logf("Created pool %s", p.ID) - - return p.ID -} - -func DeletePool(t *testing.T, poolID string) { - res := pools.Delete(base.Client, poolID) - th.AssertNoErr(t, res.Err) - t.Logf("Deleted pool %s", poolID) -} - -func CreateMonitor(t *testing.T) string { - m, err := monitors.Create(base.Client, monitors.CreateOpts{ - Delay: 10, - Timeout: 10, - MaxRetries: 3, - Type: monitors.TypeHTTP, - ExpectedCodes: "200", - URLPath: "/login", - HTTPMethod: "GET", - }).Extract() - - th.AssertNoErr(t, err) - - t.Logf("Created monitor ID [%s]", m.ID) - - return m.ID -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/pkg.go deleted file mode 100644 index f5a7df7b7..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package lbaas diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/pkg.go deleted file mode 100644 index aeec0fa75..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package extensions diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/pkg.go deleted file mode 100644 index 5ec3cc8e8..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v2 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/objectstorage/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/objectstorage/v1/common.go deleted file mode 100644 index 1eac681b5..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/objectstorage/v1/common.go +++ /dev/null @@ -1,28 +0,0 @@ -// +build acceptance - -package v1 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack" - th "github.com/rackspace/gophercloud/testhelper" -) - -var metadata = map[string]string{"gopher": "cloud"} - -func newClient(t *testing.T) *gophercloud.ServiceClient { - ao, err := openstack.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - - client, err := openstack.AuthenticatedClient(ao) - th.AssertNoErr(t, err) - - c, err := openstack.NewObjectStorageV1(client, gophercloud.EndpointOpts{ - Region: os.Getenv("OS_REGION_NAME"), - }) - th.AssertNoErr(t, err) - return c -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/common.go deleted file mode 100644 index 2c28dcbcc..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/common.go +++ /dev/null @@ -1,44 +0,0 @@ -// +build acceptance - -package v1 - -import ( - "fmt" - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack" - th "github.com/rackspace/gophercloud/testhelper" -) - -var template = fmt.Sprintf(` -{ - "heat_template_version": "2013-05-23", - "description": "Simple template to test heat commands", - "parameters": {}, - "resources": { - "hello_world": { - "type":"OS::Nova::Server", - "properties": { - "flavor": "%s", - "image": "%s", - "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" - } - } - } -}`, os.Getenv("OS_FLAVOR_ID"), os.Getenv("OS_IMAGE_ID")) - -func newClient(t *testing.T) *gophercloud.ServiceClient { - ao, err := openstack.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - - client, err := openstack.AuthenticatedClient(ao) - th.AssertNoErr(t, err) - - c, err := openstack.NewOrchestrationV1(client, gophercloud.EndpointOpts{ - Region: os.Getenv("OS_REGION_NAME"), - }) - th.AssertNoErr(t, err) - return c -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/hello-compute.json b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/hello-compute.json deleted file mode 100644 index 11cfc8053..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1/hello-compute.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "heat_template_version": "2013-05-23", - "resources": { - "compute_instance": { - "type": "OS::Nova::Server", - "properties": { - "flavor": "m1.small", - "image": "cirros-0.3.2-x86_64-disk", - "name": "Single Compute Instance" - } - } - } -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/openstack/pkg.go deleted file mode 100644 index 3a8ecdb10..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/openstack/pkg.go +++ /dev/null @@ -1,4 +0,0 @@ -// +build acceptance - -package openstack - diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/blockstorage/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/blockstorage/v1/common.go deleted file mode 100644 index e9fdd9920..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/blockstorage/v1/common.go +++ /dev/null @@ -1,38 +0,0 @@ -// +build acceptance - -package v1 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/acceptance/tools" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -func newClient() (*gophercloud.ServiceClient, error) { - opts, err := rackspace.AuthOptionsFromEnv() - if err != nil { - return nil, err - } - opts = tools.OnlyRS(opts) - region := os.Getenv("RS_REGION") - - provider, err := rackspace.AuthenticatedClient(opts) - if err != nil { - return nil, err - } - - return rackspace.NewBlockStorageV1(provider, gophercloud.EndpointOpts{ - Region: region, - }) -} - -func setup(t *testing.T) *gophercloud.ServiceClient { - client, err := newClient() - th.AssertNoErr(t, err) - - return client -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/cdn/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/cdn/v1/common.go deleted file mode 100644 index 2333ca77b..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/cdn/v1/common.go +++ /dev/null @@ -1,23 +0,0 @@ -// +build acceptance - -package v1 - -import ( - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -func newClient(t *testing.T) *gophercloud.ServiceClient { - ao, err := rackspace.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - - client, err := rackspace.AuthenticatedClient(ao) - th.AssertNoErr(t, err) - - c, err := rackspace.NewCDNV1(client, gophercloud.EndpointOpts{}) - th.AssertNoErr(t, err) - return c -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/compute/v2/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/compute/v2/pkg.go deleted file mode 100644 index 5ec3cc8e8..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/compute/v2/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v2 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/common.go deleted file mode 100644 index 24512b99a..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/common.go +++ /dev/null @@ -1,73 +0,0 @@ -// +build acceptance db rackspace - -package v1 - -import ( - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/acceptance/tools" - "github.com/rackspace/gophercloud/rackspace" - "github.com/rackspace/gophercloud/rackspace/db/v1/instances" - th "github.com/rackspace/gophercloud/testhelper" -) - -func newClient(t *testing.T) *gophercloud.ServiceClient { - opts, err := rackspace.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - opts = tools.OnlyRS(opts) - - client, err := rackspace.AuthenticatedClient(opts) - th.AssertNoErr(t, err) - - c, err := rackspace.NewDBV1(client, gophercloud.EndpointOpts{ - Region: "IAD", - }) - th.AssertNoErr(t, err) - - return c -} - -type context struct { - test *testing.T - client *gophercloud.ServiceClient - instanceID string - DBIDs []string - replicaID string - backupID string - configGroupID string - users []string -} - -func newContext(t *testing.T) context { - return context{ - test: t, - client: newClient(t), - } -} - -func (c context) Logf(msg string, args ...interface{}) { - if len(args) > 0 { - c.test.Logf(msg, args...) - } else { - c.test.Log(msg) - } -} - -func (c context) AssertNoErr(err error) { - th.AssertNoErr(c.test, err) -} - -func (c context) WaitUntilActive(id string) { - err := gophercloud.WaitFor(60, func() (bool, error) { - inst, err := instances.Get(c.client, id).Extract() - if err != nil { - return false, err - } - if inst.Status == "ACTIVE" { - return true, nil - } - return false, nil - }) - c.AssertNoErr(err) -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/pkg.go deleted file mode 100644 index b7b1f993d..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/db/v1/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v1 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/identity/v2/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/identity/v2/pkg.go deleted file mode 100644 index 5ec3cc8e8..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/identity/v2/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package v2 diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/lb/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/lb/v1/common.go deleted file mode 100644 index 4ce05e69c..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/lb/v1/common.go +++ /dev/null @@ -1,62 +0,0 @@ -// +build acceptance lbs - -package v1 - -import ( - "os" - "strconv" - "strings" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/acceptance/tools" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -func newProvider() (*gophercloud.ProviderClient, error) { - opts, err := rackspace.AuthOptionsFromEnv() - if err != nil { - return nil, err - } - opts = tools.OnlyRS(opts) - - return rackspace.AuthenticatedClient(opts) -} - -func newClient() (*gophercloud.ServiceClient, error) { - provider, err := newProvider() - if err != nil { - return nil, err - } - - return rackspace.NewLBV1(provider, gophercloud.EndpointOpts{ - Region: os.Getenv("RS_REGION"), - }) -} - -func newComputeClient() (*gophercloud.ServiceClient, error) { - provider, err := newProvider() - if err != nil { - return nil, err - } - - return rackspace.NewComputeV2(provider, gophercloud.EndpointOpts{ - Region: os.Getenv("RS_REGION"), - }) -} - -func setup(t *testing.T) *gophercloud.ServiceClient { - client, err := newClient() - th.AssertNoErr(t, err) - - return client -} - -func intsToStr(ids []int) string { - strIDs := []string{} - for _, id := range ids { - strIDs = append(strIDs, strconv.Itoa(id)) - } - return strings.Join(strIDs, ", ") -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/networking/v2/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/networking/v2/common.go deleted file mode 100644 index 81704187f..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/networking/v2/common.go +++ /dev/null @@ -1,39 +0,0 @@ -package v2 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -var Client *gophercloud.ServiceClient - -func NewClient() (*gophercloud.ServiceClient, error) { - opts, err := rackspace.AuthOptionsFromEnv() - if err != nil { - return nil, err - } - - provider, err := rackspace.AuthenticatedClient(opts) - if err != nil { - return nil, err - } - - return rackspace.NewNetworkV2(provider, gophercloud.EndpointOpts{ - Name: "cloudNetworks", - Region: os.Getenv("RS_REGION"), - }) -} - -func Setup(t *testing.T) { - client, err := NewClient() - th.AssertNoErr(t, err) - Client = client -} - -func Teardown() { - Client = nil -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/objectstorage/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/objectstorage/v1/common.go deleted file mode 100644 index 1ae07278c..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/objectstorage/v1/common.go +++ /dev/null @@ -1,54 +0,0 @@ -// +build acceptance rackspace objectstorage v1 - -package v1 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/acceptance/tools" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -func rackspaceAuthOptions(t *testing.T) gophercloud.AuthOptions { - // Obtain credentials from the environment. - options, err := rackspace.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - options = tools.OnlyRS(options) - - if options.Username == "" { - t.Fatal("Please provide a Rackspace username as RS_USERNAME.") - } - if options.APIKey == "" { - t.Fatal("Please provide a Rackspace API key as RS_API_KEY.") - } - - return options -} - -func createClient(t *testing.T, cdn bool) (*gophercloud.ServiceClient, error) { - region := os.Getenv("RS_REGION") - if region == "" { - t.Fatal("Please provide a Rackspace region as RS_REGION") - } - - ao := rackspaceAuthOptions(t) - - provider, err := rackspace.NewClient(ao.IdentityEndpoint) - th.AssertNoErr(t, err) - - err = rackspace.Authenticate(provider, ao) - th.AssertNoErr(t, err) - - if cdn { - return rackspace.NewObjectCDNV1(provider, gophercloud.EndpointOpts{ - Region: region, - }) - } - - return rackspace.NewObjectStorageV1(provider, gophercloud.EndpointOpts{ - Region: region, - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/orchestration/v1/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/orchestration/v1/common.go deleted file mode 100644 index b9d51979d..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/orchestration/v1/common.go +++ /dev/null @@ -1,45 +0,0 @@ -// +build acceptance - -package v1 - -import ( - "fmt" - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -var template = fmt.Sprintf(` -{ - "heat_template_version": "2013-05-23", - "description": "Simple template to test heat commands", - "parameters": {}, - "resources": { - "hello_world": { - "type":"OS::Nova::Server", - "properties": { - "flavor": "%s", - "image": "%s", - "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" - } - } - } -} -`, os.Getenv("RS_FLAVOR_ID"), os.Getenv("RS_IMAGE_ID")) - -func newClient(t *testing.T) *gophercloud.ServiceClient { - ao, err := rackspace.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - - client, err := rackspace.AuthenticatedClient(ao) - th.AssertNoErr(t, err) - - c, err := rackspace.NewOrchestrationV1(client, gophercloud.EndpointOpts{ - Region: os.Getenv("RS_REGION_NAME"), - }) - th.AssertNoErr(t, err) - return c -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/pkg.go deleted file mode 100644 index 5d17b32ca..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package rackspace diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/rackconnect/v3/common.go b/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/rackconnect/v3/common.go deleted file mode 100644 index 8c7531417..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/rackspace/rackconnect/v3/common.go +++ /dev/null @@ -1,26 +0,0 @@ -// +build acceptance - -package v3 - -import ( - "os" - "testing" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/rackspace" - th "github.com/rackspace/gophercloud/testhelper" -) - -func newClient(t *testing.T) *gophercloud.ServiceClient { - ao, err := rackspace.AuthOptionsFromEnv() - th.AssertNoErr(t, err) - - client, err := rackspace.AuthenticatedClient(ao) - th.AssertNoErr(t, err) - - c, err := rackspace.NewRackConnectV3(client, gophercloud.EndpointOpts{ - Region: os.Getenv("RS_REGION_NAME"), - }) - th.AssertNoErr(t, err) - return c -} diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/tools/pkg.go b/vendor/github.com/rackspace/gophercloud/acceptance/tools/pkg.go deleted file mode 100644 index f7eca1298..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/tools/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package tools diff --git a/vendor/github.com/rackspace/gophercloud/acceptance/tools/tools.go b/vendor/github.com/rackspace/gophercloud/acceptance/tools/tools.go deleted file mode 100644 index 35679b728..000000000 --- a/vendor/github.com/rackspace/gophercloud/acceptance/tools/tools.go +++ /dev/null @@ -1,89 +0,0 @@ -// +build acceptance common - -package tools - -import ( - "crypto/rand" - "errors" - mrand "math/rand" - "os" - "time" - - "github.com/rackspace/gophercloud" -) - -// ErrTimeout is returned if WaitFor takes longer than 300 second to happen. -var ErrTimeout = errors.New("Timed out") - -// OnlyRS overrides the default Gophercloud behavior of using OS_-prefixed environment variables -// if RS_ variables aren't present. Otherwise, they'll stomp over each other here in the acceptance -// tests, where you need to have both defined. -func OnlyRS(original gophercloud.AuthOptions) gophercloud.AuthOptions { - if os.Getenv("RS_AUTH_URL") == "" { - original.IdentityEndpoint = "" - } - if os.Getenv("RS_USERNAME") == "" { - original.Username = "" - } - if os.Getenv("RS_PASSWORD") == "" { - original.Password = "" - } - if os.Getenv("RS_API_KEY") == "" { - original.APIKey = "" - } - return original -} - -// WaitFor polls a predicate function once per second to wait for a certain state to arrive. -func WaitFor(predicate func() (bool, error)) error { - for i := 0; i < 300; i++ { - time.Sleep(1 * time.Second) - - satisfied, err := predicate() - if err != nil { - return err - } - if satisfied { - return nil - } - } - return ErrTimeout -} - -// MakeNewPassword generates a new string that's guaranteed to be different than the given one. -func MakeNewPassword(oldPass string) string { - randomPassword := RandomString("", 16) - for randomPassword == oldPass { - randomPassword = RandomString("", 16) - } - return randomPassword -} - -// RandomString generates a string of given length, but random content. -// All content will be within the ASCII graphic character set. -// (Implementation from Even Shaw's contribution on -// http://stackoverflow.com/questions/12771930/what-is-the-fastest-way-to-generate-a-long-random-string-in-go). -func RandomString(prefix string, n int) string { - const alphanum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - var bytes = make([]byte, n) - rand.Read(bytes) - for i, b := range bytes { - bytes[i] = alphanum[b%byte(len(alphanum))] - } - return prefix + string(bytes) -} - -// RandomInt will return a random integer between a specified range. -func RandomInt(min, max int) int { - mrand.Seed(time.Now().Unix()) - return mrand.Intn(max-min) + min -} - -// Elide returns the first bit of its input string with a suffix of "..." if it's longer than -// a comfortable 40 characters. -func Elide(value string) string { - if len(value) > 40 { - return value[0:37] + "..." - } - return value -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/auth_env.go b/vendor/github.com/rackspace/gophercloud/rackspace/auth_env.go deleted file mode 100644 index 5852c3ce7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/auth_env.go +++ /dev/null @@ -1,57 +0,0 @@ -package rackspace - -import ( - "fmt" - "os" - - "github.com/rackspace/gophercloud" -) - -var nilOptions = gophercloud.AuthOptions{} - -// ErrNoAuthUrl, ErrNoUsername, and ErrNoPassword errors indicate of the -// required RS_AUTH_URL, RS_USERNAME, or RS_PASSWORD environment variables, -// respectively, remain undefined. See the AuthOptions() function for more details. -var ( - ErrNoAuthURL = fmt.Errorf("Environment variable RS_AUTH_URL or OS_AUTH_URL need to be set.") - ErrNoUsername = fmt.Errorf("Environment variable RS_USERNAME or OS_USERNAME need to be set.") - ErrNoPassword = fmt.Errorf("Environment variable RS_API_KEY or RS_PASSWORD needs to be set.") -) - -func prefixedEnv(base string) string { - value := os.Getenv("RS_" + base) - if value == "" { - value = os.Getenv("OS_" + base) - } - return value -} - -// AuthOptionsFromEnv fills out an identity.AuthOptions structure with the -// settings found on the various Rackspace RS_* environment variables. -func AuthOptionsFromEnv() (gophercloud.AuthOptions, error) { - authURL := prefixedEnv("AUTH_URL") - username := prefixedEnv("USERNAME") - password := prefixedEnv("PASSWORD") - apiKey := prefixedEnv("API_KEY") - - if authURL == "" { - return nilOptions, ErrNoAuthURL - } - - if username == "" { - return nilOptions, ErrNoUsername - } - - if password == "" && apiKey == "" { - return nilOptions, ErrNoPassword - } - - ao := gophercloud.AuthOptions{ - IdentityEndpoint: authURL, - Username: username, - Password: password, - APIKey: apiKey, - } - - return ao, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/delegate.go deleted file mode 100644 index 1cd1b6e30..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/delegate.go +++ /dev/null @@ -1,131 +0,0 @@ -package snapshots - -import ( - "errors" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" - - os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots" -) - -func updateURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL("snapshots", id) -} - -// CreateOptsBuilder allows extensions to add additional parameters to the -// Create request. -type CreateOptsBuilder interface { - ToSnapshotCreateMap() (map[string]interface{}, error) -} - -// CreateOpts contains options for creating a Snapshot. This object is passed to -// the snapshots.Create function. For more information about these parameters, -// see the Snapshot object. -type CreateOpts struct { - // REQUIRED - VolumeID string - // OPTIONAL - Description string - // OPTIONAL - Force bool - // OPTIONAL - Name string -} - -// ToSnapshotCreateMap assembles a request body based on the contents of a -// CreateOpts. -func (opts CreateOpts) ToSnapshotCreateMap() (map[string]interface{}, error) { - s := make(map[string]interface{}) - - if opts.VolumeID == "" { - return nil, errors.New("Required CreateOpts field 'VolumeID' not set.") - } - - s["volume_id"] = opts.VolumeID - - if opts.Description != "" { - s["display_description"] = opts.Description - } - if opts.Name != "" { - s["display_name"] = opts.Name - } - if opts.Force { - s["force"] = opts.Force - } - - return map[string]interface{}{"snapshot": s}, nil -} - -// Create will create a new Snapshot based on the values in CreateOpts. To -// extract the Snapshot object from the response, call the Extract method on the -// CreateResult. -func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) CreateResult { - return CreateResult{os.Create(client, opts)} -} - -// Delete will delete the existing Snapshot with the provided ID. -func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(client, id) -} - -// Get retrieves the Snapshot with the provided ID. To extract the Snapshot -// object from the response, call the Extract method on the GetResult. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - return GetResult{os.Get(client, id)} -} - -// List returns Snapshots. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client, os.ListOpts{}) -} - -// UpdateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Update operation in this package. Since many -// extensions decorate or modify the common logic, it is useful for them to -// satisfy a basic interface in order for them to be used. -type UpdateOptsBuilder interface { - ToSnapshotUpdateMap() (map[string]interface{}, error) -} - -// UpdateOpts is the common options struct used in this package's Update -// operation. -type UpdateOpts struct { - Name string - Description string -} - -// ToSnapshotUpdateMap casts a UpdateOpts struct to a map. -func (opts UpdateOpts) ToSnapshotUpdateMap() (map[string]interface{}, error) { - s := make(map[string]interface{}) - - if opts.Name != "" { - s["display_name"] = opts.Name - } - if opts.Description != "" { - s["display_description"] = opts.Description - } - - return map[string]interface{}{"snapshot": s}, nil -} - -// Update accepts a UpdateOpts struct and updates an existing snapshot using the -// values provided. -func Update(c *gophercloud.ServiceClient, snapshotID string, opts UpdateOptsBuilder) UpdateResult { - var res UpdateResult - - reqBody, err := opts.ToSnapshotUpdateMap() - if err != nil { - res.Err = err - return res - } - - // Send request to API - _, res.Err = c.Request("PUT", updateURL(c, snapshotID), gophercloud.RequestOpts{ - JSONBody: &reqBody, - JSONResponse: &res.Body, - OkCodes: []int{200, 201}, - }) - - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/doc.go deleted file mode 100644 index ad6064f2a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package snapshots provides information and interaction with the snapshot -// API resource for the Rackspace Block Storage service. -package snapshots diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/results.go deleted file mode 100644 index c81644c5d..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots/results.go +++ /dev/null @@ -1,147 +0,0 @@ -package snapshots - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots" - "github.com/rackspace/gophercloud/pagination" - - "github.com/mitchellh/mapstructure" -) - -// Status is the type used to represent a snapshot's status -type Status string - -// Constants to use for supported statuses -const ( - Creating Status = "CREATING" - Available Status = "AVAILABLE" - Deleting Status = "DELETING" - Error Status = "ERROR" - DeleteError Status = "ERROR_DELETING" -) - -// Snapshot is the Rackspace representation of an external block storage device. -type Snapshot struct { - // The timestamp when this snapshot was created. - CreatedAt string `mapstructure:"created_at"` - - // The human-readable description for this snapshot. - Description string `mapstructure:"display_description"` - - // The human-readable name for this snapshot. - Name string `mapstructure:"display_name"` - - // The UUID for this snapshot. - ID string `mapstructure:"id"` - - // The random metadata associated with this snapshot. Note: unlike standard - // OpenStack snapshots, this cannot actually be set. - Metadata map[string]string `mapstructure:"metadata"` - - // Indicates the current progress of the snapshot's backup procedure. - Progress string `mapstructure:"os-extended-snapshot-attributes:progress"` - - // The project ID. - ProjectID string `mapstructure:"os-extended-snapshot-attributes:project_id"` - - // The size of the volume which this snapshot backs up. - Size int `mapstructure:"size"` - - // The status of the snapshot. - Status Status `mapstructure:"status"` - - // The ID of the volume which this snapshot seeks to back up. - VolumeID string `mapstructure:"volume_id"` -} - -// CreateResult represents the result of a create operation -type CreateResult struct { - os.CreateResult -} - -// GetResult represents the result of a get operation -type GetResult struct { - os.GetResult -} - -// UpdateResult represents the result of an update operation -type UpdateResult struct { - gophercloud.Result -} - -func commonExtract(resp interface{}, err error) (*Snapshot, error) { - if err != nil { - return nil, err - } - - var respStruct struct { - Snapshot *Snapshot `json:"snapshot"` - } - - err = mapstructure.Decode(resp, &respStruct) - - return respStruct.Snapshot, err -} - -// Extract will get the Snapshot object out of the GetResult object. -func (r GetResult) Extract() (*Snapshot, error) { - return commonExtract(r.Body, r.Err) -} - -// Extract will get the Snapshot object out of the CreateResult object. -func (r CreateResult) Extract() (*Snapshot, error) { - return commonExtract(r.Body, r.Err) -} - -// Extract will get the Snapshot object out of the UpdateResult object. -func (r UpdateResult) Extract() (*Snapshot, error) { - return commonExtract(r.Body, r.Err) -} - -// ExtractSnapshots extracts and returns Snapshots. It is used while iterating over a snapshots.List call. -func ExtractSnapshots(page pagination.Page) ([]Snapshot, error) { - var response struct { - Snapshots []Snapshot `json:"snapshots"` - } - - err := mapstructure.Decode(page.(os.ListResult).Body, &response) - return response.Snapshots, err -} - -// WaitUntilComplete will continually poll a snapshot until it successfully -// transitions to a specified state. It will do this for at most the number of -// seconds specified. -func (snapshot Snapshot) WaitUntilComplete(c *gophercloud.ServiceClient, timeout int) error { - return gophercloud.WaitFor(timeout, func() (bool, error) { - // Poll resource - current, err := Get(c, snapshot.ID).Extract() - if err != nil { - return false, err - } - - // Has it been built yet? - if current.Progress == "100%" { - return true, nil - } - - return false, nil - }) -} - -// WaitUntilDeleted will continually poll a snapshot until it has been -// successfully deleted, i.e. returns a 404 status. -func (snapshot Snapshot) WaitUntilDeleted(c *gophercloud.ServiceClient, timeout int) error { - return gophercloud.WaitFor(timeout, func() (bool, error) { - // Poll resource - _, err := Get(c, snapshot.ID).Extract() - - // Check for a 404 - if casted, ok := err.(*gophercloud.UnexpectedResponseCodeError); ok && casted.Actual == 404 { - return true, nil - } else if err != nil { - return false, err - } - - return false, nil - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/delegate.go deleted file mode 100644 index 438349410..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/delegate.go +++ /dev/null @@ -1,75 +0,0 @@ -package volumes - -import ( - "fmt" - - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes" - "github.com/rackspace/gophercloud/pagination" -) - -type CreateOpts struct { - os.CreateOpts -} - -func (opts CreateOpts) ToVolumeCreateMap() (map[string]interface{}, error) { - if opts.Size < 75 || opts.Size > 1024 { - return nil, fmt.Errorf("Size field must be between 75 and 1024") - } - - return opts.CreateOpts.ToVolumeCreateMap() -} - -// Create will create a new Volume based on the values in CreateOpts. To extract -// the Volume object from the response, call the Extract method on the -// CreateResult. -func Create(client *gophercloud.ServiceClient, opts os.CreateOptsBuilder) CreateResult { - return CreateResult{os.Create(client, opts)} -} - -// Delete will delete the existing Volume with the provided ID. -func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(client, id) -} - -// Get retrieves the Volume with the provided ID. To extract the Volume object -// from the response, call the Extract method on the GetResult. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - return GetResult{os.Get(client, id)} -} - -// List returns volumes optionally limited by the conditions provided in ListOpts. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client, os.ListOpts{}) -} - -// UpdateOpts contain options for updating an existing Volume. This object is passed -// to the volumes.Update function. For more information about the parameters, see -// the Volume object. -type UpdateOpts struct { - // OPTIONAL - Name string - // OPTIONAL - Description string -} - -// ToVolumeUpdateMap assembles a request body based on the contents of an -// UpdateOpts. -func (opts UpdateOpts) ToVolumeUpdateMap() (map[string]interface{}, error) { - v := make(map[string]interface{}) - - if opts.Description != "" { - v["display_description"] = opts.Description - } - if opts.Name != "" { - v["display_name"] = opts.Name - } - - return map[string]interface{}{"volume": v}, nil -} - -// Update will update the Volume with provided information. To extract the updated -// Volume from the response, call the Extract method on the UpdateResult. -func Update(client *gophercloud.ServiceClient, id string, opts os.UpdateOptsBuilder) UpdateResult { - return UpdateResult{os.Update(client, id, opts)} -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/doc.go deleted file mode 100644 index b2be25c53..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package volumes provides information and interaction with the volume -// API resource for the Rackspace Block Storage service. -package volumes diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/results.go deleted file mode 100644 index c7c2cc498..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes/results.go +++ /dev/null @@ -1,66 +0,0 @@ -package volumes - -import ( - os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes" - "github.com/rackspace/gophercloud/pagination" - - "github.com/mitchellh/mapstructure" -) - -// Volume wraps an Openstack volume -type Volume os.Volume - -// CreateResult represents the result of a create operation -type CreateResult struct { - os.CreateResult -} - -// GetResult represents the result of a get operation -type GetResult struct { - os.GetResult -} - -// UpdateResult represents the result of an update operation -type UpdateResult struct { - os.UpdateResult -} - -func commonExtract(resp interface{}, err error) (*Volume, error) { - if err != nil { - return nil, err - } - - var respStruct struct { - Volume *Volume `json:"volume"` - } - - err = mapstructure.Decode(resp, &respStruct) - - return respStruct.Volume, err -} - -// Extract will get the Volume object out of the GetResult object. -func (r GetResult) Extract() (*Volume, error) { - return commonExtract(r.Body, r.Err) -} - -// Extract will get the Volume object out of the CreateResult object. -func (r CreateResult) Extract() (*Volume, error) { - return commonExtract(r.Body, r.Err) -} - -// Extract will get the Volume object out of the UpdateResult object. -func (r UpdateResult) Extract() (*Volume, error) { - return commonExtract(r.Body, r.Err) -} - -// ExtractVolumes extracts and returns Volumes. It is used while iterating over a volumes.List call. -func ExtractVolumes(page pagination.Page) ([]Volume, error) { - var response struct { - Volumes []Volume `json:"volumes"` - } - - err := mapstructure.Decode(page.(os.ListResult).Body, &response) - - return response.Volumes, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/delegate.go deleted file mode 100644 index c96b3e4a3..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/delegate.go +++ /dev/null @@ -1,18 +0,0 @@ -package volumetypes - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumetypes" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns all volume types. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// Get will retrieve the volume type with the provided ID. To extract the volume -// type from the result, call the Extract method on the GetResult. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - return GetResult{os.Get(client, id)} -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/doc.go deleted file mode 100644 index 70122b77c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package volumetypes provides information and interaction with the volume type -// API resource for the Rackspace Block Storage service. -package volumetypes diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/results.go deleted file mode 100644 index 39c8d6f7f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes/results.go +++ /dev/null @@ -1,37 +0,0 @@ -package volumetypes - -import ( - "github.com/mitchellh/mapstructure" - os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumetypes" - "github.com/rackspace/gophercloud/pagination" -) - -type VolumeType os.VolumeType - -type GetResult struct { - os.GetResult -} - -// Extract will get the Volume Type struct out of the response. -func (r GetResult) Extract() (*VolumeType, error) { - if r.Err != nil { - return nil, r.Err - } - - var res struct { - VolumeType *VolumeType `json:"volume_type" mapstructure:"volume_type"` - } - - err := mapstructure.Decode(r.Body, &res) - - return res.VolumeType, err -} - -func ExtractVolumeTypes(page pagination.Page) ([]VolumeType, error) { - var response struct { - VolumeTypes []VolumeType `mapstructure:"volume_types"` - } - - err := mapstructure.Decode(page.(os.ListResult).Body, &response) - return response.VolumeTypes, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/delegate.go deleted file mode 100644 index 5af7e0778..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/delegate.go +++ /dev/null @@ -1,18 +0,0 @@ -package base - -import ( - "github.com/rackspace/gophercloud" - - os "github.com/rackspace/gophercloud/openstack/cdn/v1/base" -) - -// Get retrieves the home document, allowing the user to discover the -// entire API. -func Get(c *gophercloud.ServiceClient) os.GetResult { - return os.Get(c) -} - -// Ping retrieves a ping to the server. -func Ping(c *gophercloud.ServiceClient) os.PingResult { - return os.Ping(c) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/doc.go deleted file mode 100644 index 5582306a8..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/base/doc.go +++ /dev/null @@ -1,4 +0,0 @@ -// Package base provides information and interaction with the base API -// resource in the Rackspace CDN service. This API resource allows for -// retrieving the Home Document and pinging the root URL. -package base diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/delegate.go deleted file mode 100644 index 7152fa23a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/delegate.go +++ /dev/null @@ -1,18 +0,0 @@ -package flavors - -import ( - "github.com/rackspace/gophercloud" - - os "github.com/rackspace/gophercloud/openstack/cdn/v1/flavors" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a single page of CDN flavors. -func List(c *gophercloud.ServiceClient) pagination.Pager { - return os.List(c) -} - -// Get retrieves a specific flavor based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) os.GetResult { - return os.Get(c, id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/doc.go deleted file mode 100644 index 4ad966eac..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors/doc.go +++ /dev/null @@ -1,6 +0,0 @@ -// Package flavors provides information and interaction with the flavors API -// resource in the Rackspace CDN service. This API resource allows for -// listing flavors and retrieving a specific flavor. -// -// A flavor is a mapping configuration to a CDN provider. -package flavors diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/delegate.go deleted file mode 100644 index 07c93a8dc..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/delegate.go +++ /dev/null @@ -1,13 +0,0 @@ -package serviceassets - -import ( - "github.com/rackspace/gophercloud" - - os "github.com/rackspace/gophercloud/openstack/cdn/v1/serviceassets" -) - -// Delete accepts a unique ID and deletes the CDN service asset associated with -// it. -func Delete(c *gophercloud.ServiceClient, id string, opts os.DeleteOptsBuilder) os.DeleteResult { - return os.Delete(c, id, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/doc.go deleted file mode 100644 index 46b3d50a8..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets/doc.go +++ /dev/null @@ -1,7 +0,0 @@ -// Package serviceassets provides information and interaction with the -// serviceassets API resource in the Rackspace CDN service. This API resource -// allows for deleting cached assets. -// -// A service distributes assets across the network. Service assets let you -// interrogate properties about these assets and perform certain actions on them. -package serviceassets diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/delegate.go deleted file mode 100644 index e3f145997..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/delegate.go +++ /dev/null @@ -1,37 +0,0 @@ -package services - -import ( - "github.com/rackspace/gophercloud" - - os "github.com/rackspace/gophercloud/openstack/cdn/v1/services" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// CDN services. It accepts a ListOpts struct, which allows for pagination via -// marker and limit. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} - -// Create accepts a CreateOpts struct and creates a new CDN service using the -// values provided. -func Create(c *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, opts) -} - -// Get retrieves a specific service based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) os.GetResult { - return os.Get(c, id) -} - -// Update accepts a UpdateOpts struct and updates an existing CDN service using -// the values provided. -func Update(c *gophercloud.ServiceClient, id string, patches []os.Patch) os.UpdateResult { - return os.Update(c, id, patches) -} - -// Delete accepts a unique ID and deletes the CDN service associated with it. -func Delete(c *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(c, id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/doc.go deleted file mode 100644 index ee6e2a54f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/cdn/v1/services/doc.go +++ /dev/null @@ -1,7 +0,0 @@ -// Package services provides information and interaction with the services API -// resource in the Rackspace CDN service. This API resource allows for -// listing, creating, updating, retrieving, and deleting services. -// -// A service represents an application that has its content cached to the edge -// nodes. -package services diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/client.go b/vendor/github.com/rackspace/gophercloud/rackspace/client.go deleted file mode 100644 index a8f413ed9..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/client.go +++ /dev/null @@ -1,224 +0,0 @@ -package rackspace - -import ( - "fmt" - - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack" - "github.com/rackspace/gophercloud/openstack/utils" - tokens2 "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens" -) - -const ( - // RackspaceUSIdentity is an identity endpoint located in the United States. - RackspaceUSIdentity = "https://identity.api.rackspacecloud.com/v2.0/" - - // RackspaceUKIdentity is an identity endpoint located in the UK. - RackspaceUKIdentity = "https://lon.identity.api.rackspacecloud.com/v2.0/" -) - -const ( - v20 = "v2.0" -) - -// NewClient creates a client that's prepared to communicate with the Rackspace API, but is not -// yet authenticated. Most users will probably prefer using the AuthenticatedClient function -// instead. -// -// Provide the base URL of the identity endpoint you wish to authenticate against as "endpoint". -// Often, this will be either RackspaceUSIdentity or RackspaceUKIdentity. -func NewClient(endpoint string) (*gophercloud.ProviderClient, error) { - if endpoint == "" { - return os.NewClient(RackspaceUSIdentity) - } - return os.NewClient(endpoint) -} - -// AuthenticatedClient logs in to Rackspace with the provided credentials and constructs a -// ProviderClient that's ready to operate. -// -// If the provided AuthOptions does not specify an explicit IdentityEndpoint, it will default to -// the canonical, production Rackspace US identity endpoint. -func AuthenticatedClient(options gophercloud.AuthOptions) (*gophercloud.ProviderClient, error) { - client, err := NewClient(options.IdentityEndpoint) - if err != nil { - return nil, err - } - - err = Authenticate(client, options) - if err != nil { - return nil, err - } - return client, nil -} - -// Authenticate or re-authenticate against the most recent identity service supported at the -// provided endpoint. -func Authenticate(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error { - versions := []*utils.Version{ - &utils.Version{ID: v20, Priority: 20, Suffix: "/v2.0/"}, - } - - chosen, endpoint, err := utils.ChooseVersion(client, versions) - if err != nil { - return err - } - - switch chosen.ID { - case v20: - return v2auth(client, endpoint, options) - default: - // The switch statement must be out of date from the versions list. - return fmt.Errorf("Unrecognized identity version: %s", chosen.ID) - } -} - -// AuthenticateV2 explicitly authenticates with v2 of the identity service. -func AuthenticateV2(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error { - return v2auth(client, "", options) -} - -func v2auth(client *gophercloud.ProviderClient, endpoint string, options gophercloud.AuthOptions) error { - v2Client := NewIdentityV2(client) - if endpoint != "" { - v2Client.Endpoint = endpoint - } - - result := tokens2.Create(v2Client, tokens2.WrapOptions(options)) - - token, err := result.ExtractToken() - if err != nil { - return err - } - - catalog, err := result.ExtractServiceCatalog() - if err != nil { - return err - } - - if options.AllowReauth { - client.ReauthFunc = func() error { - return AuthenticateV2(client, options) - } - } - client.TokenID = token.ID - client.EndpointLocator = func(opts gophercloud.EndpointOpts) (string, error) { - return os.V2EndpointURL(catalog, opts) - } - - return nil -} - -// NewIdentityV2 creates a ServiceClient that may be used to access the v2 identity service. -func NewIdentityV2(client *gophercloud.ProviderClient) *gophercloud.ServiceClient { - v2Endpoint := client.IdentityBase + "v2.0/" - - return &gophercloud.ServiceClient{ - ProviderClient: client, - Endpoint: v2Endpoint, - } -} - -// NewComputeV2 creates a ServiceClient that may be used to access the v2 compute service. -func NewComputeV2(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("compute") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - - return &gophercloud.ServiceClient{ - ProviderClient: client, - Endpoint: url, - }, nil -} - -// NewObjectCDNV1 creates a ServiceClient that may be used with the Rackspace v1 CDN. -func NewObjectCDNV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("rax:object-cdn") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewObjectStorageV1 creates a ServiceClient that may be used with the Rackspace v1 object storage package. -func NewObjectStorageV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - return os.NewObjectStorageV1(client, eo) -} - -// NewBlockStorageV1 creates a ServiceClient that can be used to access the -// Rackspace Cloud Block Storage v1 API. -func NewBlockStorageV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("volume") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewLBV1 creates a ServiceClient that can be used to access the Rackspace -// Cloud Load Balancer v1 API. -func NewLBV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("rax:load-balancer") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewNetworkV2 creates a ServiceClient that can be used to access the Rackspace -// Networking v2 API. -func NewNetworkV2(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("network") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewCDNV1 creates a ServiceClient that may be used to access the Rackspace v1 -// CDN service. -func NewCDNV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("rax:cdn") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewOrchestrationV1 creates a ServiceClient that may be used to access the v1 orchestration service. -func NewOrchestrationV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("orchestration") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewRackConnectV3 creates a ServiceClient that may be used to access the v3 RackConnect service. -func NewRackConnectV3(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("rax:rackconnect") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} - -// NewDBV1 creates a ServiceClient that may be used to access the v1 DB service. -func NewDBV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { - eo.ApplyDefaults("rax:database") - url, err := client.EndpointLocator(eo) - if err != nil { - return nil, err - } - return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/bootfromvolume/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/bootfromvolume/delegate.go deleted file mode 100644 index 2580459f0..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/bootfromvolume/delegate.go +++ /dev/null @@ -1,12 +0,0 @@ -package bootfromvolume - -import ( - "github.com/rackspace/gophercloud" - osBFV "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume" - osServers "github.com/rackspace/gophercloud/openstack/compute/v2/servers" -) - -// Create requests the creation of a server from the given block device mapping. -func Create(client *gophercloud.ServiceClient, opts osServers.CreateOptsBuilder) osServers.CreateResult { - return osBFV.Create(client, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/delegate.go deleted file mode 100644 index 081ea478c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/delegate.go +++ /dev/null @@ -1,43 +0,0 @@ -package flavors - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/compute/v2/flavors" - "github.com/rackspace/gophercloud/pagination" -) - -// ListOpts helps control the results returned by the List() function. For example, a flavor with a -// minDisk field of 10 will not be returned if you specify MinDisk set to 20. -type ListOpts struct { - - // MinDisk and MinRAM, if provided, elide flavors that do not meet your criteria. - MinDisk int `q:"minDisk"` - MinRAM int `q:"minRam"` - - // Marker specifies the ID of the last flavor in the previous page. - Marker string `q:"marker"` - - // Limit instructs List to refrain from sending excessively large lists of flavors. - Limit int `q:"limit"` -} - -// ToFlavorListQuery formats a ListOpts into a query string. -func (opts ListOpts) ToFlavorListQuery() (string, error) { - q, err := gophercloud.BuildQueryString(opts) - if err != nil { - return "", err - } - return q.String(), nil -} - -// ListDetail enumerates the server images available to your account. -func ListDetail(client *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.ListDetail(client, opts) -} - -// Get returns details about a single flavor, identity by ID. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - var res GetResult - _, res.Err = client.Get(getURL(client, id), &res.Body, nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/doc.go deleted file mode 100644 index 278229ab9..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package flavors provides information and interaction with the flavor -// API resource for the Rackspace Cloud Servers service. -package flavors diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/fixtures.go deleted file mode 100644 index 957dccfd7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/fixtures.go +++ /dev/null @@ -1,137 +0,0 @@ -// +build fixtures - -package flavors - -// ListOutput is a sample response of a flavor List request. -const ListOutput = ` -{ - "flavors": [ - { - "OS-FLV-EXT-DATA:ephemeral": 0, - "OS-FLV-WITH-EXT-SPECS:extra_specs": { - "class": "performance1", - "disk_io_index": "40", - "number_of_data_disks": "0", - "policy_class": "performance_flavor", - "resize_policy_class": "performance_flavor" - }, - "disk": 20, - "id": "performance1-1", - "links": [ - { - "href": "https://iad.servers.api.rackspacecloud.com/v2/864477/flavors/performance1-1", - "rel": "self" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/864477/flavors/performance1-1", - "rel": "bookmark" - } - ], - "name": "1 GB Performance", - "ram": 1024, - "rxtx_factor": 200, - "swap": "", - "vcpus": 1 - }, - { - "OS-FLV-EXT-DATA:ephemeral": 20, - "OS-FLV-WITH-EXT-SPECS:extra_specs": { - "class": "performance1", - "disk_io_index": "40", - "number_of_data_disks": "1", - "policy_class": "performance_flavor", - "resize_policy_class": "performance_flavor" - }, - "disk": 40, - "id": "performance1-2", - "links": [ - { - "href": "https://iad.servers.api.rackspacecloud.com/v2/864477/flavors/performance1-2", - "rel": "self" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/864477/flavors/performance1-2", - "rel": "bookmark" - } - ], - "name": "2 GB Performance", - "ram": 2048, - "rxtx_factor": 400, - "swap": "", - "vcpus": 2 - } - ] -}` - -// GetOutput is a sample response from a flavor Get request. Its contents correspond to the -// Performance1Flavor struct. -const GetOutput = ` -{ - "flavor": { - "OS-FLV-EXT-DATA:ephemeral": 0, - "OS-FLV-WITH-EXT-SPECS:extra_specs": { - "class": "performance1", - "disk_io_index": "40", - "number_of_data_disks": "0", - "policy_class": "performance_flavor", - "resize_policy_class": "performance_flavor" - }, - "disk": 20, - "id": "performance1-1", - "links": [ - { - "href": "https://iad.servers.api.rackspacecloud.com/v2/864477/flavors/performance1-1", - "rel": "self" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/864477/flavors/performance1-1", - "rel": "bookmark" - } - ], - "name": "1 GB Performance", - "ram": 1024, - "rxtx_factor": 200, - "swap": "", - "vcpus": 1 - } -} -` - -// Performance1Flavor is the expected result of parsing GetOutput, or the first element of -// ListOutput. -var Performance1Flavor = Flavor{ - ID: "performance1-1", - Disk: 20, - RAM: 1024, - Name: "1 GB Performance", - RxTxFactor: 200.0, - Swap: 0, - VCPUs: 1, - ExtraSpecs: ExtraSpecs{ - NumDataDisks: 0, - Class: "performance1", - DiskIOIndex: 0, - PolicyClass: "performance_flavor", - }, -} - -// Performance2Flavor is the second result expected from parsing ListOutput. -var Performance2Flavor = Flavor{ - ID: "performance1-2", - Disk: 40, - RAM: 2048, - Name: "2 GB Performance", - RxTxFactor: 400.0, - Swap: 0, - VCPUs: 2, - ExtraSpecs: ExtraSpecs{ - NumDataDisks: 0, - Class: "performance1", - DiskIOIndex: 0, - PolicyClass: "performance_flavor", - }, -} - -// ExpectedFlavorSlice is the slice of Flavor structs that are expected to be parsed from -// ListOutput. -var ExpectedFlavorSlice = []Flavor{Performance1Flavor, Performance2Flavor} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/results.go deleted file mode 100644 index af444a766..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/results.go +++ /dev/null @@ -1,104 +0,0 @@ -package flavors - -import ( - "reflect" - - "github.com/rackspace/gophercloud" - "github.com/mitchellh/mapstructure" - os "github.com/rackspace/gophercloud/openstack/compute/v2/flavors" - "github.com/rackspace/gophercloud/pagination" -) - -// ExtraSpecs provide additional information about the flavor. -type ExtraSpecs struct { - // The number of data disks - NumDataDisks int `mapstructure:"number_of_data_disks"` - // The flavor class - Class string `mapstructure:"class"` - // Relative measure of disk I/O performance from 0-99, where higher is faster - DiskIOIndex int `mapstructure:"disk_io_index"` - PolicyClass string `mapstructure:"policy_class"` -} - -// Flavor records represent (virtual) hardware configurations for server resources in a region. -type Flavor struct { - // The Id field contains the flavor's unique identifier. - // For example, this identifier will be useful when specifying which hardware configuration to use for a new server instance. - ID string `mapstructure:"id"` - - // The Disk and RA< fields provide a measure of storage space offered by the flavor, in GB and MB, respectively. - Disk int `mapstructure:"disk"` - RAM int `mapstructure:"ram"` - - // The Name field provides a human-readable moniker for the flavor. - Name string `mapstructure:"name"` - - RxTxFactor float64 `mapstructure:"rxtx_factor"` - - // Swap indicates how much space is reserved for swap. - // If not provided, this field will be set to 0. - Swap int `mapstructure:"swap"` - - // VCPUs indicates how many (virtual) CPUs are available for this flavor. - VCPUs int `mapstructure:"vcpus"` - - // ExtraSpecs provides extra information about the flavor - ExtraSpecs ExtraSpecs `mapstructure:"OS-FLV-WITH-EXT-SPECS:extra_specs"` -} - -// GetResult temporarily holds the response from a Get call. -type GetResult struct { - gophercloud.Result -} - -// Extract provides access to the individual Flavor returned by the Get function. -func (gr GetResult) Extract() (*Flavor, error) { - if gr.Err != nil { - return nil, gr.Err - } - - var result struct { - Flavor Flavor `mapstructure:"flavor"` - } - - cfg := &mapstructure.DecoderConfig{ - DecodeHook: defaulter, - Result: &result, - } - decoder, err := mapstructure.NewDecoder(cfg) - if err != nil { - return nil, err - } - err = decoder.Decode(gr.Body) - return &result.Flavor, err -} - -func defaulter(from, to reflect.Kind, v interface{}) (interface{}, error) { - if (from == reflect.String) && (to == reflect.Int) { - return 0, nil - } - return v, nil -} - -// ExtractFlavors provides access to the list of flavors in a page acquired from the List operation. -func ExtractFlavors(page pagination.Page) ([]Flavor, error) { - casted := page.(os.FlavorPage).Body - var container struct { - Flavors []Flavor `mapstructure:"flavors"` - } - - cfg := &mapstructure.DecoderConfig{ - DecodeHook: defaulter, - Result: &container, - } - decoder, err := mapstructure.NewDecoder(cfg) - if err != nil { - return container.Flavors, err - } - err = decoder.Decode(casted) - if err != nil { - return container.Flavors, err - } - - return container.Flavors, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/urls.go deleted file mode 100644 index f4e2c3dac..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors/urls.go +++ /dev/null @@ -1,9 +0,0 @@ -package flavors - -import ( - "github.com/rackspace/gophercloud" -) - -func getURL(client *gophercloud.ServiceClient, id string) string { - return client.ServiceURL("flavors", id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/delegate.go deleted file mode 100644 index 18e1f315a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/delegate.go +++ /dev/null @@ -1,22 +0,0 @@ -package images - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/compute/v2/images" - "github.com/rackspace/gophercloud/pagination" -) - -// ListDetail enumerates the available server images. -func ListDetail(client *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.ListDetail(client, opts) -} - -// Get acquires additional detail about a specific image by ID. -func Get(client *gophercloud.ServiceClient, id string) os.GetResult { - return os.Get(client, id) -} - -// ExtractImages interprets a page as a collection of server images. -func ExtractImages(page pagination.Page) ([]os.Image, error) { - return os.ExtractImages(page) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/doc.go deleted file mode 100644 index cfae80671..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package images provides information and interaction with the image -// API resource for the Rackspace Cloud Servers service. -package images diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/fixtures.go deleted file mode 100644 index ccfbdc6a1..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/images/fixtures.go +++ /dev/null @@ -1,200 +0,0 @@ -// +build fixtures - -package images - -import ( - os "github.com/rackspace/gophercloud/openstack/compute/v2/images" -) - -// ListOutput is an example response from an /images/detail request. -const ListOutput = ` -{ - "images": [ - { - "OS-DCF:diskConfig": "MANUAL", - "OS-EXT-IMG-SIZE:size": 1.017415075e+09, - "created": "2014-10-01T15:49:02Z", - "id": "30aa010e-080e-4d4b-a7f9-09fc55b07d69", - "links": [ - { - "href": "https://iad.servers.api.rackspacecloud.com/v2/111222/images/30aa010e-080e-4d4b-a7f9-09fc55b07d69", - "rel": "self" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/111222/images/30aa010e-080e-4d4b-a7f9-09fc55b07d69", - "rel": "bookmark" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/111222/images/30aa010e-080e-4d4b-a7f9-09fc55b07d69", - "rel": "alternate", - "type": "application/vnd.openstack.image" - } - ], - "metadata": { - "auto_disk_config": "disabled", - "cache_in_nova": "True", - "com.rackspace__1__build_core": "1", - "com.rackspace__1__build_managed": "1", - "com.rackspace__1__build_rackconnect": "1", - "com.rackspace__1__options": "0", - "com.rackspace__1__platform_target": "PublicCloud", - "com.rackspace__1__release_build_date": "2014-10-01_15-46-08", - "com.rackspace__1__release_id": "100", - "com.rackspace__1__release_version": "10", - "com.rackspace__1__source": "kickstart", - "com.rackspace__1__visible_core": "1", - "com.rackspace__1__visible_managed": "0", - "com.rackspace__1__visible_rackconnect": "0", - "image_type": "base", - "org.openstack__1__architecture": "x64", - "org.openstack__1__os_distro": "org.archlinux", - "org.openstack__1__os_version": "2014.8", - "os_distro": "arch", - "os_type": "linux", - "vm_mode": "hvm" - }, - "minDisk": 20, - "minRam": 512, - "name": "Arch 2014.10 (PVHVM)", - "progress": 100, - "status": "ACTIVE", - "updated": "2014-10-01T19:37:58Z" - }, - { - "OS-DCF:diskConfig": "AUTO", - "OS-EXT-IMG-SIZE:size": 1.060306463e+09, - "created": "2014-10-01T12:58:11Z", - "id": "e19a734c-c7e6-443a-830c-242209c4d65d", - "links": [ - { - "href": "https://iad.servers.api.rackspacecloud.com/v2/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "self" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "bookmark" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "alternate", - "type": "application/vnd.openstack.image" - } - ], - "metadata": { - "auto_disk_config": "True", - "cache_in_nova": "True", - "com.rackspace__1__build_core": "1", - "com.rackspace__1__build_managed": "1", - "com.rackspace__1__build_rackconnect": "1", - "com.rackspace__1__options": "0", - "com.rackspace__1__platform_target": "PublicCloud", - "com.rackspace__1__release_build_date": "2014-10-01_12-31-03", - "com.rackspace__1__release_id": "1007", - "com.rackspace__1__release_version": "6", - "com.rackspace__1__source": "kickstart", - "com.rackspace__1__visible_core": "1", - "com.rackspace__1__visible_managed": "1", - "com.rackspace__1__visible_rackconnect": "1", - "image_type": "base", - "org.openstack__1__architecture": "x64", - "org.openstack__1__os_distro": "com.ubuntu", - "org.openstack__1__os_version": "14.04", - "os_distro": "ubuntu", - "os_type": "linux", - "vm_mode": "xen" - }, - "minDisk": 20, - "minRam": 512, - "name": "Ubuntu 14.04 LTS (Trusty Tahr)", - "progress": 100, - "status": "ACTIVE", - "updated": "2014-10-01T15:51:44Z" - } - ] -} -` - -// GetOutput is an example response from an /images request. -const GetOutput = ` -{ - "image": { - "OS-DCF:diskConfig": "AUTO", - "OS-EXT-IMG-SIZE:size": 1060306463, - "created": "2014-10-01T12:58:11Z", - "id": "e19a734c-c7e6-443a-830c-242209c4d65d", - "links": [ - { - "href": "https://iad.servers.api.rackspacecloud.com/v2/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "self" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "bookmark" - }, - { - "href": "https://iad.servers.api.rackspacecloud.com/111222/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "alternate", - "type": "application/vnd.openstack.image" - } - ], - "metadata": { - "auto_disk_config": "True", - "cache_in_nova": "True", - "com.rackspace__1__build_core": "1", - "com.rackspace__1__build_managed": "1", - "com.rackspace__1__build_rackconnect": "1", - "com.rackspace__1__options": "0", - "com.rackspace__1__platform_target": "PublicCloud", - "com.rackspace__1__release_build_date": "2014-10-01_12-31-03", - "com.rackspace__1__release_id": "1007", - "com.rackspace__1__release_version": "6", - "com.rackspace__1__source": "kickstart", - "com.rackspace__1__visible_core": "1", - "com.rackspace__1__visible_managed": "1", - "com.rackspace__1__visible_rackconnect": "1", - "image_type": "base", - "org.openstack__1__architecture": "x64", - "org.openstack__1__os_distro": "com.ubuntu", - "org.openstack__1__os_version": "14.04", - "os_distro": "ubuntu", - "os_type": "linux", - "vm_mode": "xen" - }, - "minDisk": 20, - "minRam": 512, - "name": "Ubuntu 14.04 LTS (Trusty Tahr)", - "progress": 100, - "status": "ACTIVE", - "updated": "2014-10-01T15:51:44Z" - } -} -` - -// ArchImage is the first Image structure that should be parsed from ListOutput. -var ArchImage = os.Image{ - ID: "30aa010e-080e-4d4b-a7f9-09fc55b07d69", - Name: "Arch 2014.10 (PVHVM)", - Created: "2014-10-01T15:49:02Z", - Updated: "2014-10-01T19:37:58Z", - MinDisk: 20, - MinRAM: 512, - Progress: 100, - Status: "ACTIVE", -} - -// UbuntuImage is the second Image structure that should be parsed from ListOutput and -// the only image that should be extracted from GetOutput. -var UbuntuImage = os.Image{ - ID: "e19a734c-c7e6-443a-830c-242209c4d65d", - Name: "Ubuntu 14.04 LTS (Trusty Tahr)", - Created: "2014-10-01T12:58:11Z", - Updated: "2014-10-01T15:51:44Z", - MinDisk: 20, - MinRAM: 512, - Progress: 100, - Status: "ACTIVE", -} - -// ExpectedImageSlice is the collection of images that should be parsed from ListOutput, -// in order. -var ExpectedImageSlice = []os.Image{ArchImage, UbuntuImage} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/delegate.go deleted file mode 100644 index 3e53525dc..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/delegate.go +++ /dev/null @@ -1,33 +0,0 @@ -package keypairs - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/keypairs" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager that allows you to iterate over a collection of KeyPairs. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// Create requests the creation of a new keypair on the server, or to import a pre-existing -// keypair. -func Create(client *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(client, opts) -} - -// Get returns public data about a previously uploaded KeyPair. -func Get(client *gophercloud.ServiceClient, name string) os.GetResult { - return os.Get(client, name) -} - -// Delete requests the deletion of a previous stored KeyPair from the server. -func Delete(client *gophercloud.ServiceClient, name string) os.DeleteResult { - return os.Delete(client, name) -} - -// ExtractKeyPairs interprets a page of results as a slice of KeyPairs. -func ExtractKeyPairs(page pagination.Page) ([]os.KeyPair, error) { - return os.ExtractKeyPairs(page) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/doc.go deleted file mode 100644 index 31713752e..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package keypairs provides information and interaction with the keypair -// API resource for the Rackspace Cloud Servers service. -package keypairs diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/doc.go deleted file mode 100644 index 8e5c77382..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package networks provides information and interaction with the network -// API resource for the Rackspace Cloud Servers service. -package networks diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/requests.go deleted file mode 100644 index cebbffd36..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/requests.go +++ /dev/null @@ -1,89 +0,0 @@ -package networks - -import ( - "errors" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// networks. It accepts a ListOpts struct, which allows you to filter and sort -// the returned collection for greater efficiency. -func List(c *gophercloud.ServiceClient) pagination.Pager { - createPage := func(r pagination.PageResult) pagination.Page { - return NetworkPage{pagination.SinglePageBase(r)} - } - - return pagination.NewPager(c, listURL(c), createPage) -} - -// Get retrieves a specific network based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) GetResult { - var res GetResult - _, res.Err = c.Get(getURL(c, id), &res.Body, nil) - return res -} - -// CreateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Create operation in this package. Since many -// extensions decorate or modify the common logic, it is useful for them to -// satisfy a basic interface in order for them to be used. -type CreateOptsBuilder interface { - ToNetworkCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is the common options struct used in this package's Create -// operation. -type CreateOpts struct { - // REQUIRED. See Network object for more info. - CIDR string - // REQUIRED. See Network object for more info. - Label string -} - -// ToNetworkCreateMap casts a CreateOpts struct to a map. -func (opts CreateOpts) ToNetworkCreateMap() (map[string]interface{}, error) { - n := make(map[string]interface{}) - - if opts.CIDR == "" { - return nil, errors.New("Required field CIDR not set.") - } - if opts.Label == "" { - return nil, errors.New("Required field Label not set.") - } - - n["label"] = opts.Label - n["cidr"] = opts.CIDR - return map[string]interface{}{"network": n}, nil -} - -// Create accepts a CreateOpts struct and creates a new network using the values -// provided. This operation does not actually require a request body, i.e. the -// CreateOpts struct argument can be empty. -// -// The tenant ID that is contained in the URI is the tenant that creates the -// network. An admin user, however, has the option of specifying another tenant -// ID in the CreateOpts struct. -func Create(c *gophercloud.ServiceClient, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToNetworkCreateMap() - if err != nil { - res.Err = err - return res - } - - // Send request to API - _, res.Err = c.Post(createURL(c), reqBody, &res.Body, &gophercloud.RequestOpts{ - OkCodes: []int{200, 201, 202}, - }) - return res -} - -// Delete accepts a unique ID and deletes the network associated with it. -func Delete(c *gophercloud.ServiceClient, networkID string) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(deleteURL(c, networkID), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/results.go deleted file mode 100644 index eb6a76c00..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/results.go +++ /dev/null @@ -1,81 +0,0 @@ -package networks - -import ( - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -type commonResult struct { - gophercloud.Result -} - -// Extract is a function that accepts a result and extracts a network resource. -func (r commonResult) Extract() (*Network, error) { - if r.Err != nil { - return nil, r.Err - } - - var res struct { - Network *Network `json:"network"` - } - - err := mapstructure.Decode(r.Body, &res) - - return res.Network, err -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - commonResult -} - -// GetResult represents the result of a get operation. -type GetResult struct { - commonResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -// Network represents, well, a network. -type Network struct { - // UUID for the network - ID string `mapstructure:"id" json:"id"` - - // Human-readable name for the network. Might not be unique. - Label string `mapstructure:"label" json:"label"` - - // Classless Inter-Domain Routing - CIDR string `mapstructure:"cidr" json:"cidr"` -} - -// NetworkPage is the page returned by a pager when traversing over a -// collection of networks. -type NetworkPage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if the NetworkPage contains no Networks. -func (r NetworkPage) IsEmpty() (bool, error) { - networks, err := ExtractNetworks(r) - if err != nil { - return true, err - } - return len(networks) == 0, nil -} - -// ExtractNetworks accepts a Page struct, specifically a NetworkPage struct, -// and extracts the elements into a slice of Network structs. In other words, -// a generic collection is mapped into a relevant slice. -func ExtractNetworks(page pagination.Page) ([]Network, error) { - var resp struct { - Networks []Network `mapstructure:"networks" json:"networks"` - } - - err := mapstructure.Decode(page.(NetworkPage).Body, &resp) - - return resp.Networks, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/urls.go deleted file mode 100644 index 19a21aa90..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/networks/urls.go +++ /dev/null @@ -1,27 +0,0 @@ -package networks - -import "github.com/rackspace/gophercloud" - -func resourceURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL("os-networksv2", id) -} - -func rootURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL("os-networksv2") -} - -func getURL(c *gophercloud.ServiceClient, id string) string { - return resourceURL(c, id) -} - -func listURL(c *gophercloud.ServiceClient) string { - return rootURL(c) -} - -func createURL(c *gophercloud.ServiceClient) string { - return rootURL(c) -} - -func deleteURL(c *gophercloud.ServiceClient, id string) string { - return resourceURL(c, id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/delegate.go deleted file mode 100644 index 7810d156a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/delegate.go +++ /dev/null @@ -1,116 +0,0 @@ -package servers - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/compute/v2/servers" - "github.com/rackspace/gophercloud/pagination" -) - -// List makes a request against the API to list servers accessible to you. -func List(client *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(client, opts) -} - -// Create requests a server to be provisioned to the user in the current tenant. -func Create(client *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(client, opts) -} - -// Update requests an existing server to be updated with the supplied options. -func Update(client *gophercloud.ServiceClient, id string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(client, id, opts) -} - -// Delete requests that a server previously provisioned be removed from your account. -func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(client, id) -} - -// Get requests details on a single server, by ID. -func Get(client *gophercloud.ServiceClient, id string) os.GetResult { - return os.Get(client, id) -} - -// ChangeAdminPassword alters the administrator or root password for a specified server. -func ChangeAdminPassword(client *gophercloud.ServiceClient, id, newPassword string) os.ActionResult { - return os.ChangeAdminPassword(client, id, newPassword) -} - -// Reboot requests that a given server reboot. Two methods exist for rebooting a server: -// -// os.HardReboot (aka PowerCycle) restarts the server instance by physically cutting power to the -// machine, or if a VM, terminating it at the hypervisor level. It's done. Caput. Full stop. Then, -// after a brief wait, power is restored or the VM instance restarted. -// -// os.SoftReboot (aka OSReboot) simply tells the OS to restart under its own procedures. E.g., in -// Linux, asking it to enter runlevel 6, or executing "sudo shutdown -r now", or by asking Windows to restart the machine. -func Reboot(client *gophercloud.ServiceClient, id string, how os.RebootMethod) os.ActionResult { - return os.Reboot(client, id, how) -} - -// Rebuild will reprovision the server according to the configuration options provided in the -// RebuildOpts struct. -func Rebuild(client *gophercloud.ServiceClient, id string, opts os.RebuildOptsBuilder) os.RebuildResult { - return os.Rebuild(client, id, opts) -} - -// Resize instructs the provider to change the flavor of the server. -// Note that this implies rebuilding it. -// Unfortunately, one cannot pass rebuild parameters to the resize function. -// When the resize completes, the server will be in RESIZE_VERIFY state. -// While in this state, you can explore the use of the new server's configuration. -// If you like it, call ConfirmResize() to commit the resize permanently. -// Otherwise, call RevertResize() to restore the old configuration. -func Resize(client *gophercloud.ServiceClient, id string, opts os.ResizeOptsBuilder) os.ActionResult { - return os.Resize(client, id, opts) -} - -// ConfirmResize confirms a previous resize operation on a server. -// See Resize() for more details. -func ConfirmResize(client *gophercloud.ServiceClient, id string) os.ActionResult { - return os.ConfirmResize(client, id) -} - -// WaitForStatus will continually poll a server until it successfully transitions to a specified -// status. It will do this for at most the number of seconds specified. -func WaitForStatus(c *gophercloud.ServiceClient, id, status string, secs int) error { - return os.WaitForStatus(c, id, status, secs) -} - -// ExtractServers interprets the results of a single page from a List() call, producing a slice of Server entities. -func ExtractServers(page pagination.Page) ([]os.Server, error) { - return os.ExtractServers(page) -} - -// ListAddresses makes a request against the API to list the servers IP addresses. -func ListAddresses(client *gophercloud.ServiceClient, id string) pagination.Pager { - return os.ListAddresses(client, id) -} - -// ExtractAddresses interprets the results of a single page from a ListAddresses() call, producing a map of Address slices. -func ExtractAddresses(page pagination.Page) (map[string][]os.Address, error) { - return os.ExtractAddresses(page) -} - -// ListAddressesByNetwork makes a request against the API to list the servers IP addresses -// for the given network. -func ListAddressesByNetwork(client *gophercloud.ServiceClient, id, network string) pagination.Pager { - return os.ListAddressesByNetwork(client, id, network) -} - -// ExtractNetworkAddresses interprets the results of a single page from a ListAddressesByNetwork() call, producing a map of Address slices. -func ExtractNetworkAddresses(page pagination.Page) ([]os.Address, error) { - return os.ExtractNetworkAddresses(page) -} - -// Metadata requests all the metadata for the given server ID. -func Metadata(client *gophercloud.ServiceClient, id string) os.GetMetadataResult { - return os.Metadata(client, id) -} - -// UpdateMetadata updates (or creates) all the metadata specified by opts for the given server ID. -// This operation does not affect already-existing metadata that is not specified -// by opts. -func UpdateMetadata(client *gophercloud.ServiceClient, id string, opts os.UpdateMetadataOptsBuilder) os.UpdateMetadataResult { - return os.UpdateMetadata(client, id, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/doc.go deleted file mode 100644 index c9f77f694..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package servers provides information and interaction with the server -// API resource for the Rackspace Cloud Servers service. -package servers diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/fixtures.go deleted file mode 100644 index 75cccd041..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/fixtures.go +++ /dev/null @@ -1,574 +0,0 @@ -// +build fixtures - -package servers - -import ( - os "github.com/rackspace/gophercloud/openstack/compute/v2/servers" -) - -// ListOutput is the recorded output of a Rackspace servers.List request. -const ListOutput = ` -{ - "servers": [ - { - "OS-DCF:diskConfig": "MANUAL", - "OS-EXT-STS:power_state": 1, - "OS-EXT-STS:task_state": null, - "OS-EXT-STS:vm_state": "active", - "accessIPv4": "1.2.3.4", - "accessIPv6": "1111:4822:7818:121:2000:9b5e:7438:a2d0", - "addresses": { - "private": [ - { - "addr": "10.208.230.113", - "version": 4 - } - ], - "public": [ - { - "addr": "2001:4800:7818:101:2000:9b5e:7428:a2d0", - "version": 6 - }, - { - "addr": "104.130.131.164", - "version": 4 - } - ] - }, - "created": "2014-09-23T12:34:58Z", - "flavor": { - "id": "performance1-8", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-8", - "rel": "bookmark" - } - ] - }, - "hostId": "e8951a524bc465b0898aeac7674da6fe1495e253ae1ea17ddb2c2475", - "id": "59818cee-bc8c-44eb-8073-673ee65105f7", - "image": { - "id": "255df5fb-e3d4-45a3-9a07-c976debf7c14", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/255df5fb-e3d4-45a3-9a07-c976debf7c14", - "rel": "bookmark" - } - ] - }, - "key_name": "mykey", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/59818cee-bc8c-44eb-8073-673ee65105f7", - "rel": "self" - }, - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/59818cee-bc8c-44eb-8073-673ee65105f7", - "rel": "bookmark" - } - ], - "metadata": {}, - "name": "devstack", - "progress": 100, - "status": "ACTIVE", - "tenant_id": "111111", - "updated": "2014-09-23T12:38:19Z", - "user_id": "14ae7bb21d81422694655f3cc30f2930" - }, - { - "OS-DCF:diskConfig": "MANUAL", - "OS-EXT-STS:power_state": 1, - "OS-EXT-STS:task_state": null, - "OS-EXT-STS:vm_state": "active", - "accessIPv4": "1.1.2.3", - "accessIPv6": "2222:4444:7817:101:be76:4eff:f0e5:9e02", - "addresses": { - "private": [ - { - "addr": "10.10.20.30", - "version": 4 - } - ], - "public": [ - { - "addr": "1.1.2.3", - "version": 4 - }, - { - "addr": "2222:4444:7817:101:be76:4eff:f0e5:9e02", - "version": 6 - } - ] - }, - "created": "2014-07-21T19:32:55Z", - "flavor": { - "id": "performance1-2", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-2", - "rel": "bookmark" - } - ] - }, - "hostId": "f859679906d6b1a38c1bd516b78f4dcc7d5fcf012578fa3ce460716c", - "id": "25f1c7f5-e00a-4715-b354-16e24b2f4630", - "image": { - "id": "bb02b1a3-bc77-4d17-ab5b-421d89850fca", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/bb02b1a3-bc77-4d17-ab5b-421d89850fca", - "rel": "bookmark" - } - ] - }, - "key_name": "otherkey", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/25f1c7f5-e00a-4715-b355-16e24b2f4630", - "rel": "self" - }, - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/25f1c7f5-e00a-4715-b355-16e24b2f4630", - "rel": "bookmark" - } - ], - "metadata": {}, - "name": "peril-dfw", - "progress": 100, - "status": "ACTIVE", - "tenant_id": "111111", - "updated": "2014-07-21T19:34:24Z", - "user_id": "14ae7bb21d81422694655f3cc30f2930" - } - ] -} -` - -// GetOutput is the recorded output of a Rackspace servers.Get request. -const GetOutput = ` -{ - "server": { - "OS-DCF:diskConfig": "AUTO", - "OS-EXT-STS:power_state": 1, - "OS-EXT-STS:task_state": null, - "OS-EXT-STS:vm_state": "active", - "accessIPv4": "1.2.4.8", - "accessIPv6": "2001:4800:6666:105:2a0f:c056:f594:7777", - "addresses": { - "private": [ - { - "addr": "10.20.40.80", - "version": 4 - } - ], - "public": [ - { - "addr": "1.2.4.8", - "version": 4 - }, - { - "addr": "2001:4800:6666:105:2a0f:c056:f594:7777", - "version": 6 - } - ] - }, - "created": "2014-10-21T14:42:16Z", - "flavor": { - "id": "performance1-1", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-1", - "rel": "bookmark" - } - ] - }, - "hostId": "430d2ae02de0a7af77012c94778145eccf67e75b1fac0528aa10d4a7", - "id": "8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "image": { - "id": "e19a734c-c7e6-443a-830c-242209c4d65d", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "bookmark" - } - ] - }, - "key_name": null, - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "self" - }, - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "bookmark" - } - ], - "metadata": {}, - "name": "Gophercloud-pxpGGuey", - "progress": 100, - "status": "ACTIVE", - "tenant_id": "111111", - "updated": "2014-10-21T14:42:57Z", - "user_id": "14ae7bb21d81423694655f4dd30f2930" - } -} -` - -// UpdateOutput is the recorded output of a Rackspace servers.Update request. -const UpdateOutput = ` -{ - "server": { - "OS-DCF:diskConfig": "AUTO", - "OS-EXT-STS:power_state": 1, - "OS-EXT-STS:task_state": null, - "OS-EXT-STS:vm_state": "active", - "accessIPv4": "1.2.4.8", - "accessIPv6": "2001:4800:6666:105:2a0f:c056:f594:7777", - "addresses": { - "private": [ - { - "addr": "10.20.40.80", - "version": 4 - } - ], - "public": [ - { - "addr": "1.2.4.8", - "version": 4 - }, - { - "addr": "2001:4800:6666:105:2a0f:c056:f594:7777", - "version": 6 - } - ] - }, - "created": "2014-10-21T14:42:16Z", - "flavor": { - "id": "performance1-1", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-1", - "rel": "bookmark" - } - ] - }, - "hostId": "430d2ae02de0a7af77012c94778145eccf67e75b1fac0528aa10d4a7", - "id": "8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "image": { - "id": "e19a734c-c7e6-443a-830c-242209c4d65d", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "bookmark" - } - ] - }, - "key_name": null, - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "self" - }, - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "bookmark" - } - ], - "metadata": {}, - "name": "test-server-updated", - "progress": 100, - "status": "ACTIVE", - "tenant_id": "111111", - "updated": "2014-10-21T14:42:57Z", - "user_id": "14ae7bb21d81423694655f4dd30f2930" - } -} -` - -// CreateOutput contains a sample of Rackspace's response to a Create call. -const CreateOutput = ` -{ - "server": { - "OS-DCF:diskConfig": "AUTO", - "adminPass": "v7tADqbE5pr9", - "id": "bb63327b-6a2f-34bc-b0ef-4b6d97ea637e", - "links": [ - { - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/bb63327b-6a2f-34bc-b0ef-4b6d97ea637e", - "rel": "self" - }, - { - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/bb63327b-6a2f-34bc-b0ef-4b6d97ea637e", - "rel": "bookmark" - } - ] - } -} -` - -// DevstackServer is the expected first result from parsing ListOutput. -var DevstackServer = os.Server{ - ID: "59818cee-bc8c-44eb-8073-673ee65105f7", - Name: "devstack", - TenantID: "111111", - UserID: "14ae7bb21d81422694655f3cc30f2930", - HostID: "e8951a524bc465b0898aeac7674da6fe1495e253ae1ea17ddb2c2475", - Updated: "2014-09-23T12:38:19Z", - Created: "2014-09-23T12:34:58Z", - AccessIPv4: "1.2.3.4", - AccessIPv6: "1111:4822:7818:121:2000:9b5e:7438:a2d0", - Progress: 100, - Status: "ACTIVE", - Image: map[string]interface{}{ - "id": "255df5fb-e3d4-45a3-9a07-c976debf7c14", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/255df5fb-e3d4-45a3-9a07-c976debf7c14", - "rel": "bookmark", - }, - }, - }, - Flavor: map[string]interface{}{ - "id": "performance1-8", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-8", - "rel": "bookmark", - }, - }, - }, - Addresses: map[string]interface{}{ - "private": []interface{}{ - map[string]interface{}{ - "addr": "10.20.30.40", - "version": float64(4.0), - }, - }, - "public": []interface{}{ - map[string]interface{}{ - "addr": "1111:4822:7818:121:2000:9b5e:7438:a2d0", - "version": float64(6.0), - }, - map[string]interface{}{ - "addr": "1.2.3.4", - "version": float64(4.0), - }, - }, - }, - Metadata: map[string]interface{}{}, - Links: []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/59918cee-bd9d-44eb-8173-673ee75105f7", - "rel": "self", - }, - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/59818cee-bc8c-44eb-8073-673ee65105f7", - "rel": "bookmark", - }, - }, - KeyName: "mykey", - AdminPass: "", -} - -// PerilServer is the expected second result from parsing ListOutput. -var PerilServer = os.Server{ - ID: "25f1c7f5-e00a-4715-b354-16e24b2f4630", - Name: "peril-dfw", - TenantID: "111111", - UserID: "14ae7bb21d81422694655f3cc30f2930", - HostID: "f859679906d6b1a38c1bd516b78f4dcc7d5fcf012578fa3ce460716c", - Updated: "2014-07-21T19:34:24Z", - Created: "2014-07-21T19:32:55Z", - AccessIPv4: "1.1.2.3", - AccessIPv6: "2222:4444:7817:101:be76:4eff:f0e5:9e02", - Progress: 100, - Status: "ACTIVE", - Image: map[string]interface{}{ - "id": "bb02b1a3-bc77-4d17-ab5b-421d89850fca", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/bb02b1a3-bc77-4d17-ab5b-421d89850fca", - "rel": "bookmark", - }, - }, - }, - Flavor: map[string]interface{}{ - "id": "performance1-2", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-2", - "rel": "bookmark", - }, - }, - }, - Addresses: map[string]interface{}{ - "private": []interface{}{ - map[string]interface{}{ - "addr": "10.10.20.30", - "version": float64(4.0), - }, - }, - "public": []interface{}{ - map[string]interface{}{ - "addr": "2222:4444:7817:101:be76:4eff:f0e5:9e02", - "version": float64(6.0), - }, - map[string]interface{}{ - "addr": "1.1.2.3", - "version": float64(4.0), - }, - }, - }, - Metadata: map[string]interface{}{}, - Links: []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/25f1c7f5-e00a-4715-b355-16e24b2f4630", - "rel": "self", - }, - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/25f1c7f5-e00a-4715-b355-16e24b2f4630", - "rel": "bookmark", - }, - }, - KeyName: "otherkey", - AdminPass: "", -} - -// GophercloudServer is the expected result from parsing GetOutput. -var GophercloudServer = os.Server{ - ID: "8c65cb68-0681-4c30-bc88-6b83a8a26aee", - Name: "Gophercloud-pxpGGuey", - TenantID: "111111", - UserID: "14ae7bb21d81423694655f4dd30f2930", - HostID: "430d2ae02de0a7af77012c94778145eccf67e75b1fac0528aa10d4a7", - Updated: "2014-10-21T14:42:57Z", - Created: "2014-10-21T14:42:16Z", - AccessIPv4: "1.2.4.8", - AccessIPv6: "2001:4800:6666:105:2a0f:c056:f594:7777", - Progress: 100, - Status: "ACTIVE", - Image: map[string]interface{}{ - "id": "e19a734c-c7e6-443a-830c-242209c4d65d", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "bookmark", - }, - }, - }, - Flavor: map[string]interface{}{ - "id": "performance1-1", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-1", - "rel": "bookmark", - }, - }, - }, - Addresses: map[string]interface{}{ - "private": []interface{}{ - map[string]interface{}{ - "addr": "10.20.40.80", - "version": float64(4.0), - }, - }, - "public": []interface{}{ - map[string]interface{}{ - "addr": "2001:4800:6666:105:2a0f:c056:f594:7777", - "version": float64(6.0), - }, - map[string]interface{}{ - "addr": "1.2.4.8", - "version": float64(4.0), - }, - }, - }, - Metadata: map[string]interface{}{}, - Links: []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "self", - }, - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "bookmark", - }, - }, - KeyName: "", - AdminPass: "", -} - -// GophercloudUpdatedServer is the expected result from parsing UpdateOutput. -var GophercloudUpdatedServer = os.Server{ - ID: "8c65cb68-0681-4c30-bc88-6b83a8a26aee", - Name: "test-server-updated", - TenantID: "111111", - UserID: "14ae7bb21d81423694655f4dd30f2930", - HostID: "430d2ae02de0a7af77012c94778145eccf67e75b1fac0528aa10d4a7", - Updated: "2014-10-21T14:42:57Z", - Created: "2014-10-21T14:42:16Z", - AccessIPv4: "1.2.4.8", - AccessIPv6: "2001:4800:6666:105:2a0f:c056:f594:7777", - Progress: 100, - Status: "ACTIVE", - Image: map[string]interface{}{ - "id": "e19a734c-c7e6-443a-830c-242209c4d65d", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/images/e19a734c-c7e6-443a-830c-242209c4d65d", - "rel": "bookmark", - }, - }, - }, - Flavor: map[string]interface{}{ - "id": "performance1-1", - "links": []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/flavors/performance1-1", - "rel": "bookmark", - }, - }, - }, - Addresses: map[string]interface{}{ - "private": []interface{}{ - map[string]interface{}{ - "addr": "10.20.40.80", - "version": float64(4.0), - }, - }, - "public": []interface{}{ - map[string]interface{}{ - "addr": "2001:4800:6666:105:2a0f:c056:f594:7777", - "version": float64(6.0), - }, - map[string]interface{}{ - "addr": "1.2.4.8", - "version": float64(4.0), - }, - }, - }, - Metadata: map[string]interface{}{}, - Links: []interface{}{ - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/v2/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "self", - }, - map[string]interface{}{ - "href": "https://dfw.servers.api.rackspacecloud.com/111111/servers/8c65cb68-0681-4c30-bc88-6b83a8a26aee", - "rel": "bookmark", - }, - }, - KeyName: "", - AdminPass: "", -} - -// CreatedServer is the partial Server struct that can be parsed from CreateOutput. -var CreatedServer = os.Server{ - ID: "bb63327b-6a2f-34bc-b0ef-4b6d97ea637e", - AdminPass: "v7tADqbE5pr9", - Links: []interface{}{}, -} - -// ExpectedServerSlice is the collection of servers, in order, that should be parsed from ListOutput. -var ExpectedServerSlice = []os.Server{DevstackServer, PerilServer} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/requests.go deleted file mode 100644 index d4472a080..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/servers/requests.go +++ /dev/null @@ -1,178 +0,0 @@ -package servers - -import ( - "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume" - "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig" - os "github.com/rackspace/gophercloud/openstack/compute/v2/servers" -) - -// CreateOpts specifies all of the options that Rackspace accepts in its Create request, including -// the union of all extensions that Rackspace supports. -type CreateOpts struct { - // Name [required] is the name to assign to the newly launched server. - Name string - - // ImageRef [optional; required if ImageName is not provided] is the ID or full - // URL to the image that contains the server's OS and initial state. - // Also optional if using the boot-from-volume extension. - ImageRef string - - // ImageName [optional; required if ImageRef is not provided] is the name of the - // image that contains the server's OS and initial state. - // Also optional if using the boot-from-volume extension. - ImageName string - - // FlavorRef [optional; required if FlavorName is not provided] is the ID or - // full URL to the flavor that describes the server's specs. - FlavorRef string - - // FlavorName [optional; required if FlavorRef is not provided] is the name of - // the flavor that describes the server's specs. - FlavorName string - - // SecurityGroups [optional] lists the names of the security groups to which this server should belong. - SecurityGroups []string - - // UserData [optional] contains configuration information or scripts to use upon launch. - // Create will base64-encode it for you. - UserData []byte - - // AvailabilityZone [optional] in which to launch the server. - AvailabilityZone string - - // Networks [optional] dictates how this server will be attached to available networks. - // By default, the server will be attached to all isolated networks for the tenant. - Networks []os.Network - - // Metadata [optional] contains key-value pairs (up to 255 bytes each) to attach to the server. - Metadata map[string]string - - // Personality [optional] includes files to inject into the server at launch. - // Create will base64-encode file contents for you. - Personality os.Personality - - // ConfigDrive [optional] enables metadata injection through a configuration drive. - ConfigDrive bool - - // AdminPass [optional] sets the root user password. If not set, a randomly-generated - // password will be created and returned in the response. - AdminPass string - - // Rackspace-specific extensions begin here. - - // KeyPair [optional] specifies the name of the SSH KeyPair to be injected into the newly launched - // server. See the "keypairs" extension in OpenStack compute v2. - KeyPair string - - // DiskConfig [optional] controls how the created server's disk is partitioned. See the "diskconfig" - // extension in OpenStack compute v2. - DiskConfig diskconfig.DiskConfig - - // BlockDevice [optional] will create the server from a volume, which is created from an image, - // a snapshot, or another volume. - BlockDevice []bootfromvolume.BlockDevice -} - -// ToServerCreateMap constructs a request body using all of the OpenStack extensions that are -// active on Rackspace. -func (opts CreateOpts) ToServerCreateMap() (map[string]interface{}, error) { - base := os.CreateOpts{ - Name: opts.Name, - ImageRef: opts.ImageRef, - ImageName: opts.ImageName, - FlavorRef: opts.FlavorRef, - FlavorName: opts.FlavorName, - SecurityGroups: opts.SecurityGroups, - UserData: opts.UserData, - AvailabilityZone: opts.AvailabilityZone, - Networks: opts.Networks, - Metadata: opts.Metadata, - Personality: opts.Personality, - ConfigDrive: opts.ConfigDrive, - AdminPass: opts.AdminPass, - } - - drive := diskconfig.CreateOptsExt{ - CreateOptsBuilder: base, - DiskConfig: opts.DiskConfig, - } - - res, err := drive.ToServerCreateMap() - if err != nil { - return nil, err - } - - if len(opts.BlockDevice) != 0 { - bfv := bootfromvolume.CreateOptsExt{ - CreateOptsBuilder: drive, - BlockDevice: opts.BlockDevice, - } - - res, err = bfv.ToServerCreateMap() - if err != nil { - return nil, err - } - } - - // key_name doesn't actually come from the extension (or at least isn't documented there) so - // we need to add it manually. - serverMap := res["server"].(map[string]interface{}) - if opts.KeyPair != "" { - serverMap["key_name"] = opts.KeyPair - } - - return res, nil -} - -// RebuildOpts represents all of the configuration options used in a server rebuild operation that -// are supported by Rackspace. -type RebuildOpts struct { - // Required. The ID of the image you want your server to be provisioned on - ImageID string - - // Name to set the server to - Name string - - // Required. The server's admin password - AdminPass string - - // AccessIPv4 [optional] provides a new IPv4 address for the instance. - AccessIPv4 string - - // AccessIPv6 [optional] provides a new IPv6 address for the instance. - AccessIPv6 string - - // Metadata [optional] contains key-value pairs (up to 255 bytes each) to attach to the server. - Metadata map[string]string - - // Personality [optional] includes files to inject into the server at launch. - // Rebuild will base64-encode file contents for you. - Personality os.Personality - - // Rackspace-specific stuff begins here. - - // DiskConfig [optional] controls how the created server's disk is partitioned. See the "diskconfig" - // extension in OpenStack compute v2. - DiskConfig diskconfig.DiskConfig -} - -// ToServerRebuildMap constructs a request body using all of the OpenStack extensions that are -// active on Rackspace. -func (opts RebuildOpts) ToServerRebuildMap() (map[string]interface{}, error) { - base := os.RebuildOpts{ - ImageID: opts.ImageID, - Name: opts.Name, - AdminPass: opts.AdminPass, - AccessIPv4: opts.AccessIPv4, - AccessIPv6: opts.AccessIPv6, - Metadata: opts.Metadata, - Personality: opts.Personality, - } - - drive := diskconfig.RebuildOptsExt{ - RebuildOptsBuilder: base, - DiskConfig: opts.DiskConfig, - } - - return drive.ToServerRebuildMap() -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/requests.go deleted file mode 100644 index 1ff7c5ae5..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/requests.go +++ /dev/null @@ -1,45 +0,0 @@ -package virtualinterfaces - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// networks. It accepts a ListOpts struct, which allows you to filter and sort -// the returned collection for greater efficiency. -func List(c *gophercloud.ServiceClient, instanceID string) pagination.Pager { - createPage := func(r pagination.PageResult) pagination.Page { - return VirtualInterfacePage{pagination.SinglePageBase(r)} - } - - return pagination.NewPager(c, listURL(c, instanceID), createPage) -} - -// Create creates a new virtual interface for a network and attaches the network -// to the server instance. -func Create(c *gophercloud.ServiceClient, instanceID, networkID string) CreateResult { - var res CreateResult - - reqBody := map[string]map[string]string{ - "virtual_interface": { - "network_id": networkID, - }, - } - - // Send request to API - _, res.Err = c.Post(createURL(c, instanceID), reqBody, &res.Body, &gophercloud.RequestOpts{ - OkCodes: []int{200, 201, 202}, - }) - return res -} - -// Delete deletes the interface with interfaceID attached to the instance with -// instanceID. -func Delete(c *gophercloud.ServiceClient, instanceID, interfaceID string) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(deleteURL(c, instanceID, interfaceID), &gophercloud.RequestOpts{ - OkCodes: []int{200, 204}, - }) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/results.go deleted file mode 100644 index 26fa7f31c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/results.go +++ /dev/null @@ -1,81 +0,0 @@ -package virtualinterfaces - -import ( - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -type commonResult struct { - gophercloud.Result -} - -// Extract is a function that accepts a result and extracts a network resource. -func (r commonResult) Extract() (*VirtualInterface, error) { - if r.Err != nil { - return nil, r.Err - } - - var res struct { - VirtualInterfaces []VirtualInterface `mapstructure:"virtual_interfaces" json:"virtual_interfaces"` - } - - err := mapstructure.Decode(r.Body, &res) - - return &res.VirtualInterfaces[0], err -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - commonResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -// IPAddress represents a vitual address attached to a VirtualInterface. -type IPAddress struct { - Address string `mapstructure:"address" json:"address"` - NetworkID string `mapstructure:"network_id" json:"network_id"` - NetworkLabel string `mapstructure:"network_label" json:"network_label"` -} - -// VirtualInterface represents a virtual interface. -type VirtualInterface struct { - // UUID for the virtual interface - ID string `mapstructure:"id" json:"id"` - - MACAddress string `mapstructure:"mac_address" json:"mac_address"` - - IPAddresses []IPAddress `mapstructure:"ip_addresses" json:"ip_addresses"` -} - -// VirtualInterfacePage is the page returned by a pager when traversing over a -// collection of virtual interfaces. -type VirtualInterfacePage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if the NetworkPage contains no Networks. -func (r VirtualInterfacePage) IsEmpty() (bool, error) { - networks, err := ExtractVirtualInterfaces(r) - if err != nil { - return true, err - } - return len(networks) == 0, nil -} - -// ExtractVirtualInterfaces accepts a Page struct, specifically a VirtualInterfacePage struct, -// and extracts the elements into a slice of VirtualInterface structs. In other words, -// a generic collection is mapped into a relevant slice. -func ExtractVirtualInterfaces(page pagination.Page) ([]VirtualInterface, error) { - var resp struct { - VirtualInterfaces []VirtualInterface `mapstructure:"virtual_interfaces" json:"virtual_interfaces"` - } - - err := mapstructure.Decode(page.(VirtualInterfacePage).Body, &resp) - - return resp.VirtualInterfaces, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/urls.go deleted file mode 100644 index 9e5693e84..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces/urls.go +++ /dev/null @@ -1,15 +0,0 @@ -package virtualinterfaces - -import "github.com/rackspace/gophercloud" - -func listURL(c *gophercloud.ServiceClient, instanceID string) string { - return c.ServiceURL("servers", instanceID, "os-virtual-interfacesv2") -} - -func createURL(c *gophercloud.ServiceClient, instanceID string) string { - return c.ServiceURL("servers", instanceID, "os-virtual-interfacesv2") -} - -func deleteURL(c *gophercloud.ServiceClient, instanceID, interfaceID string) string { - return c.ServiceURL("servers", instanceID, "os-virtual-interfacesv2", interfaceID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/delegate.go deleted file mode 100644 index c6003e0e5..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/delegate.go +++ /dev/null @@ -1,27 +0,0 @@ -package volumeattach - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager that allows you to iterate over a collection of VolumeAttachments. -func List(client *gophercloud.ServiceClient, serverID string) pagination.Pager { - return os.List(client, serverID) -} - -// Create requests the creation of a new volume attachment on the server -func Create(client *gophercloud.ServiceClient, serverID string, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(client, serverID, opts) -} - -// Get returns public data about a previously created VolumeAttachment. -func Get(client *gophercloud.ServiceClient, serverID, aID string) os.GetResult { - return os.Get(client, serverID, aID) -} - -// Delete requests the deletion of a previous stored VolumeAttachment from the server. -func Delete(client *gophercloud.ServiceClient, serverID, aID string) os.DeleteResult { - return os.Delete(client, serverID, aID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/doc.go deleted file mode 100644 index 2164908e3..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package volumeattach provides the ability to attach and detach volume -// to instances to Rackspace servers -package volumeattach diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/doc.go deleted file mode 100644 index 664eeadb8..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/doc.go +++ /dev/null @@ -1,6 +0,0 @@ -// Package backups provides information and interaction with the backup API -// resource in the Rackspace Database service. -// -// A backup is a copy of a database instance that can be used to restore it to -// some defined point in history. -package backups diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/fixtures.go deleted file mode 100644 index 45c2376d6..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/fixtures.go +++ /dev/null @@ -1,66 +0,0 @@ -package backups - -import "time" - -var ( - timestamp = "2015-11-12T14:22:42Z" - timeVal, _ = time.Parse(time.RFC3339, timestamp) -) - -var getResp = ` -{ - "backup": { - "created": "` + timestamp + `", - "description": "My Backup", - "id": "61f12fef-edb1-4561-8122-e7c00ef26a82", - "instance_id": "d4603f69-ec7e-4e9b-803f-600b9205576f", - "locationRef": null, - "name": "snapshot", - "parent_id": null, - "size": 100, - "status": "NEW", - "datastore": { - "version": "5.1", - "type": "MySQL", - "version_id": "20000000-0000-0000-0000-000000000002" - }, - "updated": "` + timestamp + `" - } -} -` - -var createReq = ` -{ - "backup": { - "description": "My Backup", - "instance": "d4603f69-ec7e-4e9b-803f-600b9205576f", - "name": "snapshot" - } -} -` - -var createResp = getResp - -var listResp = ` -{ - "backups": [ - { - "status": "COMPLETED", - "updated": "` + timestamp + `", - "description": "Backup from Restored Instance", - "datastore": { - "version": "5.1", - "type": "MySQL", - "version_id": "20000000-0000-0000-0000-000000000002" - }, - "id": "87972694-4be2-40f5-83f8-501656e0032a", - "size": 0.141026, - "name": "restored_backup", - "created": "` + timestamp + `", - "instance_id": "29af2cd9-0674-48ab-b87a-b160f00208e6", - "parent_id": null, - "locationRef": "http://localhost/path/to/backup" - } - ] -} -` diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/requests.go deleted file mode 100644 index 9170d7865..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/requests.go +++ /dev/null @@ -1,138 +0,0 @@ -package backups - -import ( - "errors" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// CreateOptsBuilder is the top-level interface for creating JSON maps. -type CreateOptsBuilder interface { - ToBackupCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is responsible for configuring newly provisioned backups. -type CreateOpts struct { - // [REQUIRED] The name of the backup. The only restriction is the name must - // be less than 64 characters long. - Name string - - // [REQUIRED] The ID of the instance being backed up. - InstanceID string - - // [OPTIONAL] A human-readable explanation of the backup. - Description string -} - -// ToBackupCreateMap will create a JSON map for the Create operation. -func (opts CreateOpts) ToBackupCreateMap() (map[string]interface{}, error) { - if opts.Name == "" { - return nil, errors.New("Name is a required field") - } - if opts.InstanceID == "" { - return nil, errors.New("InstanceID is a required field") - } - - backup := map[string]interface{}{ - "name": opts.Name, - "instance": opts.InstanceID, - } - - if opts.Description != "" { - backup["description"] = opts.Description - } - - return map[string]interface{}{"backup": backup}, nil -} - -// Create asynchronously creates a new backup for a specified database instance. -// During the backup process, write access on MyISAM databases will be -// temporarily disabled; innoDB databases will be unaffected. During this time, -// you will not be able to add or delete databases or users; nor delete, stop -// or reboot the instance itself. Only one backup is permitted at once. -// -// Backups are not deleted when database instances are deleted; you must -// manually delete any backups created using Delete(). Backups are saved to your -// Cloud Files account in a new container called z_CLOUDDB_BACKUPS. It is -// strongly recommended you do not alter this container or its contents; usual -// storage costs apply. -func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToBackupCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = client.Request("POST", baseURL(client), gophercloud.RequestOpts{ - JSONBody: &reqBody, - JSONResponse: &res.Body, - OkCodes: []int{202}, - }) - - return res -} - -// ListOptsBuilder is the top-level interface for creating query strings. -type ListOptsBuilder interface { - ToBackupListQuery() (string, error) -} - -// ListOpts allows you to refine a list search by certain parameters. -type ListOpts struct { - // The type of datastore by which to filter. - Datastore string `q:"datastore"` -} - -// ToBackupListQuery converts a ListOpts struct into a query string. -func (opts ListOpts) ToBackupListQuery() (string, error) { - q, err := gophercloud.BuildQueryString(opts) - if err != nil { - return "", err - } - return q.String(), nil -} - -// List will list all the saved backups for all database instances. -func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager { - url := baseURL(client) - - if opts != nil { - query, err := opts.ToBackupListQuery() - if err != nil { - return pagination.Pager{Err: err} - } - url += query - } - - pageFn := func(r pagination.PageResult) pagination.Page { - return BackupPage{pagination.SinglePageBase(r)} - } - - return pagination.NewPager(client, url, pageFn) -} - -// Get will retrieve details for a particular backup based on its unique ID. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - var res GetResult - - _, res.Err = client.Request("GET", resourceURL(client, id), gophercloud.RequestOpts{ - JSONResponse: &res.Body, - OkCodes: []int{200}, - }) - - return res -} - -// Delete will permanently delete a backup. -func Delete(client *gophercloud.ServiceClient, id string) DeleteResult { - var res DeleteResult - - _, res.Err = client.Request("DELETE", resourceURL(client, id), gophercloud.RequestOpts{ - OkCodes: []int{202}, - }) - - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/results.go deleted file mode 100644 index 04faf3227..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/results.go +++ /dev/null @@ -1,149 +0,0 @@ -package backups - -import ( - "fmt" - "reflect" - "time" - - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack/db/v1/datastores" - "github.com/rackspace/gophercloud/pagination" -) - -// Status represents the various states a Backup can be in. -type Status string - -// Enum types for the status. -const ( - StatusNew Status = "NEW" - StatusBuilding Status = "BUILDING" - StatusCompleted Status = "COMPLETED" - StatusFailed Status = "FAILED" - StatusDeleteFailed Status = "DELETE_FAILED" -) - -// Backup represents a Backup API resource. -type Backup struct { - Description string - ID string - InstanceID string `json:"instance_id" mapstructure:"instance_id"` - LocationRef string - Name string - ParentID string `json:"parent_id" mapstructure:"parent_id"` - Size float64 - Status Status - Created time.Time `mapstructure:"-"` - Updated time.Time `mapstructure:"-"` - Datastore datastores.DatastorePartial -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - commonResult -} - -// GetResult represents the result of a get operation. -type GetResult struct { - commonResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -type commonResult struct { - gophercloud.Result -} - -// Extract will retrieve a Backup struct from an operation's result. -func (r commonResult) Extract() (*Backup, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - Backup Backup `mapstructure:"backup"` - } - - err := mapstructure.Decode(r.Body, &response) - val := r.Body.(map[string]interface{})["backup"].(map[string]interface{}) - - if t, ok := val["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &response.Backup, err - } - response.Backup.Created = creationTime - } - - if t, ok := val["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &response.Backup, err - } - response.Backup.Updated = updatedTime - } - - return &response.Backup, err -} - -// BackupPage represents a page of backups. -type BackupPage struct { - pagination.SinglePageBase -} - -// IsEmpty checks whether an BackupPage struct is empty. -func (r BackupPage) IsEmpty() (bool, error) { - is, err := ExtractBackups(r) - if err != nil { - return true, err - } - return len(is) == 0, nil -} - -// ExtractBackups will retrieve a slice of Backup structs from a paginated collection. -func ExtractBackups(page pagination.Page) ([]Backup, error) { - casted := page.(BackupPage).Body - - var resp struct { - Backups []Backup `mapstructure:"backups" json:"backups"` - } - - if err := mapstructure.Decode(casted, &resp); err != nil { - return nil, err - } - - var vals []interface{} - switch casted.(type) { - case map[string]interface{}: - vals = casted.(map[string]interface{})["backups"].([]interface{}) - case map[string][]interface{}: - vals = casted.(map[string][]interface{})["backups"] - default: - return resp.Backups, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i, v := range vals { - val := v.(map[string]interface{}) - - if t, ok := val["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return resp.Backups, err - } - resp.Backups[i].Created = creationTime - } - - if t, ok := val["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return resp.Backups, err - } - resp.Backups[i].Updated = updatedTime - } - } - - return resp.Backups, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/urls.go deleted file mode 100644 index 553444e88..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/backups/urls.go +++ /dev/null @@ -1,11 +0,0 @@ -package backups - -import "github.com/rackspace/gophercloud" - -func baseURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL("backups") -} - -func resourceURL(c *gophercloud.ServiceClient, backupID string) string { - return c.ServiceURL("backups", backupID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/delegate.go deleted file mode 100644 index d8cb48ac5..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/delegate.go +++ /dev/null @@ -1,79 +0,0 @@ -package configurations - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/db/v1/configurations" - "github.com/rackspace/gophercloud/pagination" -) - -// List will list all of the available configurations. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// Create will create a new configuration group. -func Create(client *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(client, opts) -} - -// Get will retrieve the details for a specified configuration group. -func Get(client *gophercloud.ServiceClient, configID string) os.GetResult { - return os.Get(client, configID) -} - -// Update will modify an existing configuration group by performing a merge -// between new and existing values. If the key already exists, the new value -// will overwrite. All other keys will remain unaffected. -func Update(client *gophercloud.ServiceClient, configID string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(client, configID, opts) -} - -// Replace will modify an existing configuration group by overwriting the -// entire parameter group with the new values provided. Any existing keys not -// included in UpdateOptsBuilder will be deleted. -func Replace(client *gophercloud.ServiceClient, configID string, opts os.UpdateOptsBuilder) os.ReplaceResult { - return os.Replace(client, configID, opts) -} - -// Delete will permanently delete a configuration group. Please note that -// config groups cannot be deleted whilst still attached to running instances - -// you must detach and then delete them. -func Delete(client *gophercloud.ServiceClient, configID string) os.DeleteResult { - return os.Delete(client, configID) -} - -// ListInstances will list all the instances associated with a particular -// configuration group. -func ListInstances(client *gophercloud.ServiceClient, configID string) pagination.Pager { - return os.ListInstances(client, configID) -} - -// ListDatastoreParams will list all the available and supported parameters -// that can be used for a particular datastore ID and a particular version. -// For example, if you are wondering how you can configure a MySQL 5.6 instance, -// you can use this operation (you will need to retrieve the MySQL datastore ID -// by using the datastores API). -func ListDatastoreParams(client *gophercloud.ServiceClient, datastoreID, versionID string) pagination.Pager { - return os.ListDatastoreParams(client, datastoreID, versionID) -} - -// GetDatastoreParam will retrieve information about a specific configuration -// parameter. For example, you can use this operation to understand more about -// "innodb_file_per_table" configuration param for MySQL datastores. You will -// need the param's ID first, which can be attained by using the ListDatastoreParams -// operation. -func GetDatastoreParam(client *gophercloud.ServiceClient, datastoreID, versionID, paramID string) os.ParamResult { - return os.GetDatastoreParam(client, datastoreID, versionID, paramID) -} - -// ListGlobalParams is similar to ListDatastoreParams but does not require a -// DatastoreID. -func ListGlobalParams(client *gophercloud.ServiceClient, versionID string) pagination.Pager { - return os.ListGlobalParams(client, versionID) -} - -// GetGlobalParam is similar to GetDatastoreParam but does not require a -// DatastoreID. -func GetGlobalParam(client *gophercloud.ServiceClient, versionID, paramID string) os.ParamResult { - return os.GetGlobalParam(client, versionID, paramID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/doc.go deleted file mode 100644 index 48c51d60d..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/doc.go +++ /dev/null @@ -1 +0,0 @@ -package configurations diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/fixtures.go deleted file mode 100644 index d8a2233bc..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/configurations/fixtures.go +++ /dev/null @@ -1,159 +0,0 @@ -package configurations - -import ( - "fmt" - "time" - - os "github.com/rackspace/gophercloud/openstack/db/v1/configurations" -) - -var ( - timestamp = "2015-11-12T14:22:42Z" - timeVal, _ = time.Parse(time.RFC3339, timestamp) -) - -var singleConfigJSON = ` -{ - "created": "` + timestamp + `", - "datastore_name": "mysql", - "datastore_version_id": "b00000b0-00b0-0b00-00b0-000b000000bb", - "datastore_version_name": "5.6", - "description": "example_description", - "id": "005a8bb7-a8df-40ee-b0b7-fc144641abc2", - "name": "example-configuration-name", - "updated": "` + timestamp + `" -} -` - -var singleConfigWithValuesJSON = ` -{ - "created": "` + timestamp + `", - "datastore_name": "mysql", - "datastore_version_id": "b00000b0-00b0-0b00-00b0-000b000000bb", - "datastore_version_name": "5.6", - "description": "example description", - "id": "005a8bb7-a8df-40ee-b0b7-fc144641abc2", - "instance_count": 0, - "name": "example-configuration-name", - "updated": "` + timestamp + `", - "values": { - "collation_server": "latin1_swedish_ci", - "connect_timeout": 120 - } -} -` - -var ( - listConfigsJSON = fmt.Sprintf(`{"configurations": [%s]}`, singleConfigJSON) - getConfigJSON = fmt.Sprintf(`{"configuration": %s}`, singleConfigJSON) - createConfigJSON = fmt.Sprintf(`{"configuration": %s}`, singleConfigWithValuesJSON) -) - -var createReq = ` -{ - "configuration": { - "datastore": { - "type": "a00000a0-00a0-0a00-00a0-000a000000aa", - "version": "b00000b0-00b0-0b00-00b0-000b000000bb" - }, - "description": "example description", - "name": "example-configuration-name", - "values": { - "collation_server": "latin1_swedish_ci", - "connect_timeout": 120 - } - } -} -` - -var updateReq = ` -{ - "configuration": { - "values": { - "connect_timeout": 300 - } - } -} -` - -var listInstancesJSON = ` -{ - "instances": [ - { - "id": "d4603f69-ec7e-4e9b-803f-600b9205576f", - "name": "json_rack_instance" - } - ] -} -` - -var listParamsJSON = ` -{ - "configuration-parameters": [ - { - "max": 1, - "min": 0, - "name": "innodb_file_per_table", - "restart_required": true, - "type": "integer" - }, - { - "max": 4294967296, - "min": 0, - "name": "key_buffer_size", - "restart_required": false, - "type": "integer" - }, - { - "max": 65535, - "min": 2, - "name": "connect_timeout", - "restart_required": false, - "type": "integer" - }, - { - "max": 4294967296, - "min": 0, - "name": "join_buffer_size", - "restart_required": false, - "type": "integer" - } - ] -} -` - -var getParamJSON = ` -{ - "max": 1, - "min": 0, - "name": "innodb_file_per_table", - "restart_required": true, - "type": "integer" -} -` - -var exampleConfig = os.Config{ - Created: timeVal, - DatastoreName: "mysql", - DatastoreVersionID: "b00000b0-00b0-0b00-00b0-000b000000bb", - DatastoreVersionName: "5.6", - Description: "example_description", - ID: "005a8bb7-a8df-40ee-b0b7-fc144641abc2", - Name: "example-configuration-name", - Updated: timeVal, -} - -var exampleConfigWithValues = os.Config{ - Created: timeVal, - DatastoreName: "mysql", - DatastoreVersionID: "b00000b0-00b0-0b00-00b0-000b000000bb", - DatastoreVersionName: "5.6", - Description: "example description", - ID: "005a8bb7-a8df-40ee-b0b7-fc144641abc2", - Name: "example-configuration-name", - Updated: timeVal, - Values: map[string]interface{}{ - "collation_server": "latin1_swedish_ci", - "connect_timeout": 120, - }, -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/delegate.go deleted file mode 100644 index 56552d187..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/delegate.go +++ /dev/null @@ -1,19 +0,0 @@ -package databases - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/db/v1/databases" - "github.com/rackspace/gophercloud/pagination" -) - -func Create(client *gophercloud.ServiceClient, instanceID string, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(client, instanceID, opts) -} - -func List(client *gophercloud.ServiceClient, instanceID string) pagination.Pager { - return os.List(client, instanceID) -} - -func Delete(client *gophercloud.ServiceClient, instanceID, dbName string) os.DeleteResult { - return os.Delete(client, instanceID, dbName) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/doc.go deleted file mode 100644 index 1a178b61f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package databases provides information and interaction with the database API -// resource in the Rackspace Database service. -package databases diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/urls.go deleted file mode 100644 index 18cbec72e..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/databases/urls.go +++ /dev/null @@ -1 +0,0 @@ -package databases diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/delegate.go deleted file mode 100644 index 573496d38..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/delegate.go +++ /dev/null @@ -1,28 +0,0 @@ -package datastores - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/db/v1/datastores" - "github.com/rackspace/gophercloud/pagination" -) - -// List will list all available flavors. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// Get retrieves the details for a particular flavor. -func Get(client *gophercloud.ServiceClient, flavorID string) os.GetResult { - return os.Get(client, flavorID) -} - -// ListVersions will list all of the available versions for a specified -// datastore type. -func ListVersions(client *gophercloud.ServiceClient, datastoreID string) pagination.Pager { - return os.ListVersions(client, datastoreID) -} - -// GetVersion will retrieve the details of a specified datastore version. -func GetVersion(client *gophercloud.ServiceClient, datastoreID, versionID string) os.GetVersionResult { - return os.GetVersion(client, datastoreID, versionID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/doc.go deleted file mode 100644 index f36997a03..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/datastores/doc.go +++ /dev/null @@ -1 +0,0 @@ -package datastores diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/delegate.go deleted file mode 100644 index 689b81eac..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/delegate.go +++ /dev/null @@ -1,17 +0,0 @@ -package flavors - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/db/v1/flavors" - "github.com/rackspace/gophercloud/pagination" -) - -// List will list all available flavors. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// Get retrieves the details for a particular flavor. -func Get(client *gophercloud.ServiceClient, flavorID string) os.GetResult { - return os.Get(client, flavorID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/doc.go deleted file mode 100644 index 922a4e667..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/flavors/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package flavors provides information and interaction with the flavor API -// resource in the Rackspace Database service. -package flavors diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/delegate.go deleted file mode 100644 index f2656fe3b..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/delegate.go +++ /dev/null @@ -1,49 +0,0 @@ -package instances - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/db/v1/instances" -) - -// Get retrieves the status and information for a specified database instance. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - return GetResult{os.Get(client, id)} -} - -// Delete permanently destroys the database instance. -func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(client, id) -} - -// EnableRootUser enables the login from any host for the root user and -// provides the user with a generated root password. -func EnableRootUser(client *gophercloud.ServiceClient, id string) os.UserRootResult { - return os.EnableRootUser(client, id) -} - -// IsRootEnabled checks an instance to see if root access is enabled. It returns -// True if root user is enabled for the specified database instance or False -// otherwise. -func IsRootEnabled(client *gophercloud.ServiceClient, id string) (bool, error) { - return os.IsRootEnabled(client, id) -} - -// Restart will restart only the MySQL Instance. Restarting MySQL will -// erase any dynamic configuration settings that you have made within MySQL. -// The MySQL service will be unavailable until the instance restarts. -func Restart(client *gophercloud.ServiceClient, id string) os.ActionResult { - return os.Restart(client, id) -} - -// Resize changes the memory size of the instance, assuming a valid -// flavorRef is provided. It will also restart the MySQL service. -func Resize(client *gophercloud.ServiceClient, id, flavorRef string) os.ActionResult { - return os.Resize(client, id, flavorRef) -} - -// ResizeVolume will resize the attached volume for an instance. It supports -// only increasing the volume size and does not support decreasing the size. -// The volume size is in gigabytes (GB) and must be an integer. -func ResizeVolume(client *gophercloud.ServiceClient, id string, size int) os.ActionResult { - return os.ResizeVolume(client, id, size) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/doc.go deleted file mode 100644 index 0c8ad6336..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package instances provides information and interaction with the instance API -// resource in the Rackspace Database service. -package instances diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/fixtures.go deleted file mode 100644 index c5ff37aee..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/fixtures.go +++ /dev/null @@ -1,340 +0,0 @@ -package instances - -import ( - "fmt" - "time" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack/db/v1/datastores" - "github.com/rackspace/gophercloud/openstack/db/v1/flavors" - os "github.com/rackspace/gophercloud/openstack/db/v1/instances" -) - -var ( - timestamp = "2015-11-12T14:22:42Z" - timeVal, _ = time.Parse(time.RFC3339, timestamp) -) - -var instance = ` -{ - "created": "` + timestamp + `", - "datastore": { - "type": "mysql", - "version": "5.6" - }, - "flavor": { - "id": "1", - "links": [ - { - "href": "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", - "rel": "self" - }, - { - "href": "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", - "rel": "bookmark" - } - ] - }, - "links": [ - { - "href": "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", - "rel": "self" - } - ], - "hostname": "e09ad9a3f73309469cf1f43d11e79549caf9acf2.rackspaceclouddb.com", - "id": "{instanceID}", - "name": "json_rack_instance", - "status": "BUILD", - "updated": "` + timestamp + `", - "volume": { - "size": 2 - } -} -` - -var createReq = ` -{ - "instance": { - "databases": [ - { - "character_set": "utf8", - "collate": "utf8_general_ci", - "name": "sampledb" - }, - { - "name": "nextround" - } - ], - "flavorRef": "1", - "name": "json_rack_instance", - "users": [ - { - "databases": [ - { - "name": "sampledb" - } - ], - "name": "demouser", - "password": "demopassword" - } - ], - "volume": { - "size": 2 - }, - "restorePoint": { - "backupRef": "1234567890" - } - } -} -` - -var createReplicaReq = ` -{ - "instance": { - "volume": { - "size": 1 - }, - "flavorRef": "9", - "name": "t2s1_ALT_GUEST", - "replica_of": "6bdca2fc-418e-40bd-a595-62abda61862d" - } -} -` - -var createReplicaResp = ` -{ - "instance": { - "status": "BUILD", - "updated": "` + timestamp + `", - "name": "t2s1_ALT_GUEST", - "links": [ - { - "href": "https://ord.databases.api.rackspacecloud.com/v1.0/5919009/instances/8367c312-7c40-4a66-aab1-5767478914fc", - "rel": "self" - }, - { - "href": "https://ord.databases.api.rackspacecloud.com/instances/8367c312-7c40-4a66-aab1-5767478914fc", - "rel": "bookmark" - } - ], - "created": "` + timestamp + `", - "id": "8367c312-7c40-4a66-aab1-5767478914fc", - "volume": { - "size": 1 - }, - "flavor": { - "id": "9" - }, - "datastore": { - "version": "5.6", - "type": "mysql" - }, - "replica_of": { - "id": "6bdca2fc-418e-40bd-a595-62abda61862d" - } - } -} -` - -var listReplicasResp = ` -{ - "instances": [ - { - "status": "ACTIVE", - "name": "t1s1_ALT_GUEST", - "links": [ - { - "href": "https://ord.databases.api.rackspacecloud.com/v1.0/1234/instances/3c691f06-bf9a-4618-b7ec-2817ce0cf254", - "rel": "self" - }, - { - "href": "https://ord.databases.api.rackspacecloud.com/instances/3c691f06-bf9a-4618-b7ec-2817ce0cf254", - "rel": "bookmark" - } - ], - "ip": [ - "10.0.0.3" - ], - "id": "3c691f06-bf9a-4618-b7ec-2817ce0cf254", - "volume": { - "size": 1 - }, - "flavor": { - "id": "9" - }, - "datastore": { - "version": "5.6", - "type": "mysql" - }, - "replica_of": { - "id": "8b499b45-52d6-402d-b398-f9d8f279c69a" - } - } - ] -} -` - -var getReplicaResp = ` -{ - "instance": { - "status": "ACTIVE", - "updated": "` + timestamp + `", - "name": "t1_ALT_GUEST", - "created": "` + timestamp + `", - "ip": [ - "10.0.0.2" - ], - "replicas": [ - { - "id": "3c691f06-bf9a-4618-b7ec-2817ce0cf254" - } - ], - "id": "8b499b45-52d6-402d-b398-f9d8f279c69a", - "volume": { - "used": 0.54, - "size": 1 - }, - "flavor": { - "id": "9" - }, - "datastore": { - "version": "5.6", - "type": "mysql" - } - } -} -` - -var detachReq = ` -{ - "instance": { - "replica_of": "", - "slave_of": "" - } -} -` - -var getConfigResp = ` -{ - "instance": { - "configuration": { - "basedir": "/usr", - "connect_timeout": "15", - "datadir": "/var/lib/mysql", - "default_storage_engine": "innodb", - "innodb_buffer_pool_instances": "1", - "innodb_buffer_pool_size": "175M", - "innodb_checksum_algorithm": "crc32", - "innodb_data_file_path": "ibdata1:10M:autoextend", - "innodb_file_per_table": "1", - "innodb_io_capacity": "200", - "innodb_log_file_size": "256M", - "innodb_log_files_in_group": "2", - "innodb_open_files": "8192", - "innodb_thread_concurrency": "0", - "join_buffer_size": "1M", - "key_buffer_size": "50M", - "local-infile": "0", - "log-error": "/var/log/mysql/mysqld.log", - "max_allowed_packet": "16M", - "max_connect_errors": "10000", - "max_connections": "40", - "max_heap_table_size": "16M", - "myisam-recover": "BACKUP", - "open_files_limit": "8192", - "performance_schema": "off", - "pid_file": "/var/run/mysqld/mysqld.pid", - "port": "3306", - "query_cache_limit": "1M", - "query_cache_size": "8M", - "query_cache_type": "1", - "read_buffer_size": "256K", - "read_rnd_buffer_size": "1M", - "server_id": "1", - "skip-external-locking": "1", - "skip_name_resolve": "1", - "sort_buffer_size": "256K", - "table_open_cache": "4096", - "thread_stack": "192K", - "tmp_table_size": "16M", - "tmpdir": "/var/tmp", - "user": "mysql", - "wait_timeout": "3600" - } - } -} -` - -var associateReq = `{"instance": {"configuration": "{configGroupID}"}}` - -var listBackupsResp = ` -{ - "backups": [ - { - "status": "COMPLETED", - "updated": "` + timestamp + `", - "description": "Backup from Restored Instance", - "datastore": { - "version": "5.1", - "type": "MySQL", - "version_id": "20000000-0000-0000-0000-000000000002" - }, - "id": "87972694-4be2-40f5-83f8-501656e0032a", - "size": 0.141026, - "name": "restored_backup", - "created": "` + timestamp + `", - "instance_id": "29af2cd9-0674-48ab-b87a-b160f00208e6", - "parent_id": null, - "locationRef": "http://localhost/path/to/backup" - } - ] -} -` - -var ( - createResp = fmt.Sprintf(`{"instance":%s}`, instance) - getResp = fmt.Sprintf(`{"instance":%s}`, instance) - associateResp = fmt.Sprintf(`{"instance":%s}`, instance) - listInstancesResp = fmt.Sprintf(`{"instances":[%s]}`, instance) -) - -var instanceID = "{instanceID}" - -var expectedInstance = &Instance{ - Created: timeVal, - Updated: timeVal, - Datastore: datastores.DatastorePartial{Type: "mysql", Version: "5.6"}, - Flavor: flavors.Flavor{ - ID: "1", - Links: []gophercloud.Link{ - gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "self"}, - gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "bookmark"}, - }, - }, - Hostname: "e09ad9a3f73309469cf1f43d11e79549caf9acf2.rackspaceclouddb.com", - ID: instanceID, - Links: []gophercloud.Link{ - gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "self"}, - }, - Name: "json_rack_instance", - Status: "BUILD", - Volume: os.Volume{Size: 2}, -} - -var expectedReplica = &Instance{ - Status: "BUILD", - Updated: timeVal, - Name: "t2s1_ALT_GUEST", - Links: []gophercloud.Link{ - gophercloud.Link{Rel: "self", Href: "https://ord.databases.api.rackspacecloud.com/v1.0/5919009/instances/8367c312-7c40-4a66-aab1-5767478914fc"}, - gophercloud.Link{Rel: "bookmark", Href: "https://ord.databases.api.rackspacecloud.com/instances/8367c312-7c40-4a66-aab1-5767478914fc"}, - }, - Created: timeVal, - ID: "8367c312-7c40-4a66-aab1-5767478914fc", - Volume: os.Volume{Size: 1}, - Flavor: flavors.Flavor{ID: "9"}, - Datastore: datastores.DatastorePartial{Version: "5.6", Type: "mysql"}, - ReplicaOf: &Instance{ - ID: "6bdca2fc-418e-40bd-a595-62abda61862d", - }, -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/requests.go deleted file mode 100644 index f4df692a4..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/requests.go +++ /dev/null @@ -1,199 +0,0 @@ -package instances - -import ( - "github.com/rackspace/gophercloud" - osDBs "github.com/rackspace/gophercloud/openstack/db/v1/databases" - os "github.com/rackspace/gophercloud/openstack/db/v1/instances" - osUsers "github.com/rackspace/gophercloud/openstack/db/v1/users" - "github.com/rackspace/gophercloud/pagination" - "github.com/rackspace/gophercloud/rackspace/db/v1/backups" -) - -// CreateOpts is the struct responsible for configuring a new database instance. -type CreateOpts struct { - // Either the integer UUID (in string form) of the flavor, or its URI - // reference as specified in the response from the List() call. Required. - FlavorRef string - - // Specifies the volume size in gigabytes (GB). The value must be between 1 - // and 300. Required. - Size int - - // Name of the instance to create. The length of the name is limited to - // 255 characters and any characters are permitted. Optional. - Name string - - // A slice of database information options. - Databases osDBs.CreateOptsBuilder - - // A slice of user information options. - Users osUsers.CreateOptsBuilder - - // ID of the configuration group to associate with the instance. Optional. - ConfigID string - - // Options to configure the type of datastore the instance will use. This is - // optional, and if excluded will default to MySQL. - Datastore *os.DatastoreOpts - - // Specifies the backup ID from which to restore the database instance. There - // are some things to be aware of before using this field. When you execute - // the Restore Backup operation, a new database instance is created to store - // the backup whose ID is specified by the restorePoint attribute. This will - // mean that: - // - All users, passwords and access that were on the instance at the time of - // the backup will be restored along with the databases. - // - You can create new users or databases if you want, but they cannot be - // the same as the ones from the instance that was backed up. - RestorePoint string - - ReplicaOf string -} - -func (opts CreateOpts) ToInstanceCreateMap() (map[string]interface{}, error) { - instance, err := os.CreateOpts{ - FlavorRef: opts.FlavorRef, - Size: opts.Size, - Name: opts.Name, - Databases: opts.Databases, - Users: opts.Users, - }.ToInstanceCreateMap() - - if err != nil { - return nil, err - } - - instance = instance["instance"].(map[string]interface{}) - - if opts.ConfigID != "" { - instance["configuration"] = opts.ConfigID - } - - if opts.Datastore != nil { - ds, err := opts.Datastore.ToMap() - if err != nil { - return nil, err - } - instance["datastore"] = ds - } - - if opts.RestorePoint != "" { - instance["restorePoint"] = map[string]string{"backupRef": opts.RestorePoint} - } - - if opts.ReplicaOf != "" { - instance["replica_of"] = opts.ReplicaOf - } - - return map[string]interface{}{"instance": instance}, nil -} - -// Create asynchronously provisions a new database instance. It requires the -// user to specify a flavor and a volume size. The API service then provisions -// the instance with the requested flavor and sets up a volume of the specified -// size, which is the storage for the database instance. -// -// Although this call only allows the creation of 1 instance per request, you -// can create an instance with multiple databases and users. The default -// binding for a MySQL instance is port 3306. -func Create(client *gophercloud.ServiceClient, opts os.CreateOptsBuilder) CreateResult { - return CreateResult{os.Create(client, opts)} -} - -// ListOpts specifies all of the query options to be used when returning a list -// of database instances. -type ListOpts struct { - // IncludeHA includes or excludes High Availability instances from the result set - IncludeHA bool `q:"include_ha"` - - // IncludeReplicas includes or excludes Replica instances from the result set - IncludeReplicas bool `q:"include_replicas"` -} - -// ToInstanceListQuery formats a ListOpts into a query string. -func (opts ListOpts) ToInstanceListQuery() (string, error) { - q, err := gophercloud.BuildQueryString(opts) - if err != nil { - return "", err - } - return q.String(), nil -} - -// List retrieves the status and information for all database instances. -func List(client *gophercloud.ServiceClient, opts *ListOpts) pagination.Pager { - url := baseURL(client) - - if opts != nil { - query, err := opts.ToInstanceListQuery() - if err != nil { - return pagination.Pager{Err: err} - } - url += query - } - - createPageFn := func(r pagination.PageResult) pagination.Page { - return os.InstancePage{pagination.LinkedPageBase{PageResult: r}} - } - - return pagination.NewPager(client, url, createPageFn) -} - -// GetDefaultConfig lists the default configuration settings from the template -// that was applied to the specified instance. In a sense, this is the vanilla -// configuration setting applied to an instance. Further configuration can be -// applied by associating an instance with a configuration group. -func GetDefaultConfig(client *gophercloud.ServiceClient, id string) ConfigResult { - var res ConfigResult - - _, res.Err = client.Request("GET", configURL(client, id), gophercloud.RequestOpts{ - JSONResponse: &res.Body, - OkCodes: []int{200}, - }) - - return res -} - -// AssociateWithConfigGroup associates a specified instance to a specified -// configuration group. If any of the parameters within a configuration group -// require a restart, then the instance will transition into a restart. -func AssociateWithConfigGroup(client *gophercloud.ServiceClient, instanceID, configGroupID string) UpdateResult { - reqBody := map[string]string{ - "configuration": configGroupID, - } - - var res UpdateResult - - _, res.Err = client.Request("PUT", resourceURL(client, instanceID), gophercloud.RequestOpts{ - JSONBody: map[string]map[string]string{"instance": reqBody}, - OkCodes: []int{202}, - }) - - return res -} - -// DetachFromConfigGroup will detach an instance from all config groups. -func DetachFromConfigGroup(client *gophercloud.ServiceClient, instanceID string) UpdateResult { - return AssociateWithConfigGroup(client, instanceID, "") -} - -// ListBackups will list all the backups for a specified database instance. -func ListBackups(client *gophercloud.ServiceClient, instanceID string) pagination.Pager { - pageFn := func(r pagination.PageResult) pagination.Page { - return backups.BackupPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(client, backupsURL(client, instanceID), pageFn) -} - -// DetachReplica will detach a specified replica instance from its source -// instance, effectively allowing it to operate independently. Detaching a -// replica will restart the MySQL service on the instance. -func DetachReplica(client *gophercloud.ServiceClient, replicaID string) DetachResult { - var res DetachResult - - _, res.Err = client.Request("PATCH", resourceURL(client, replicaID), gophercloud.RequestOpts{ - JSONBody: map[string]interface{}{"instance": map[string]string{"replica_of": "", "slave_of": ""}}, - OkCodes: []int{202}, - }) - - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/results.go deleted file mode 100644 index cdcc9c716..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/results.go +++ /dev/null @@ -1,191 +0,0 @@ -package instances - -import ( - "fmt" - "reflect" - "time" - - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/openstack/db/v1/datastores" - "github.com/rackspace/gophercloud/openstack/db/v1/flavors" - os "github.com/rackspace/gophercloud/openstack/db/v1/instances" - "github.com/rackspace/gophercloud/pagination" -) - -// Instance represents a remote MySQL instance. -type Instance struct { - // Indicates the datetime that the instance was created - Created time.Time `mapstructure:"-"` - - // Indicates the most recent datetime that the instance was updated. - Updated time.Time `mapstructure:"-"` - - // Indicates how the instance stores data. - Datastore datastores.DatastorePartial - - // Indicates the hardware flavor the instance uses. - Flavor flavors.Flavor - - // A DNS-resolvable hostname associated with the database instance (rather - // than an IPv4 address). Since the hostname always resolves to the correct - // IP address of the database instance, this relieves the user from the task - // of maintaining the mapping. Note that although the IP address may likely - // change on resizing, migrating, and so forth, the hostname always resolves - // to the correct database instance. - Hostname string - - // Indicates the unique identifier for the instance resource. - ID string - - // Exposes various links that reference the instance resource. - Links []gophercloud.Link - - // The human-readable name of the instance. - Name string - - // The build status of the instance. - Status string - - // Information about the attached volume of the instance. - Volume os.Volume - - // IP indicates the various IP addresses which allow access. - IP []string - - // Indicates whether this instance is a replica of another source instance. - ReplicaOf *Instance `mapstructure:"replica_of" json:"replica_of"` - - // Indicates whether this instance is the source of other replica instances. - Replicas []Instance -} - -func commonExtract(err error, body interface{}) (*Instance, error) { - if err != nil { - return nil, err - } - - var response struct { - Instance Instance `mapstructure:"instance"` - } - - err = mapstructure.Decode(body, &response) - - val := body.(map[string]interface{})["instance"].(map[string]interface{}) - - if t, ok := val["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &response.Instance, err - } - response.Instance.Created = creationTime - } - - if t, ok := val["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &response.Instance, err - } - response.Instance.Updated = updatedTime - } - - return &response.Instance, err -} - -// CreateResult represents the result of a Create operation. -type CreateResult struct { - os.CreateResult -} - -// Extract will retrieve an instance from a create result. -func (r CreateResult) Extract() (*Instance, error) { - return commonExtract(r.Err, r.Body) -} - -// GetResult represents the result of a Get operation. -type GetResult struct { - os.GetResult -} - -// Extract will extract an Instance from a GetResult. -func (r GetResult) Extract() (*Instance, error) { - return commonExtract(r.Err, r.Body) -} - -// ConfigResult represents the result of getting default configuration for an -// instance. -type ConfigResult struct { - gophercloud.Result -} - -// DetachResult represents the result of detaching a replica from its source. -type DetachResult struct { - gophercloud.ErrResult -} - -// Extract will extract the configuration information (in the form of a map) -// about a particular instance. -func (r ConfigResult) Extract() (map[string]string, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - Instance struct { - Config map[string]string `mapstructure:"configuration"` - } `mapstructure:"instance"` - } - - err := mapstructure.Decode(r.Body, &response) - return response.Instance.Config, err -} - -// UpdateResult represents the result of an Update operation. -type UpdateResult struct { - gophercloud.ErrResult -} - -// ExtractInstances retrieves a slice of instances from a paginated collection. -func ExtractInstances(page pagination.Page) ([]Instance, error) { - casted := page.(os.InstancePage).Body - - var resp struct { - Instances []Instance `mapstructure:"instances"` - } - - if err := mapstructure.Decode(casted, &resp); err != nil { - return nil, err - } - - var vals []interface{} - switch casted.(type) { - case map[string]interface{}: - vals = casted.(map[string]interface{})["instances"].([]interface{}) - case map[string][]interface{}: - vals = casted.(map[string][]interface{})["instances"] - default: - return resp.Instances, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i, v := range vals { - val := v.(map[string]interface{}) - - if t, ok := val["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return resp.Instances, err - } - resp.Instances[i].Created = creationTime - } - - if t, ok := val["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return resp.Instances, err - } - resp.Instances[i].Updated = updatedTime - } - } - - return resp.Instances, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/urls.go deleted file mode 100644 index 5955f4cde..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/instances/urls.go +++ /dev/null @@ -1,23 +0,0 @@ -package instances - -import "github.com/rackspace/gophercloud" - -func baseURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL("instances") -} - -func createURL(c *gophercloud.ServiceClient) string { - return baseURL(c) -} - -func resourceURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL("instances", id) -} - -func configURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL("instances", id, "configuration") -} - -func backupsURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL("instances", id, "backups") -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/delegate.go deleted file mode 100644 index 8298c4605..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/delegate.go +++ /dev/null @@ -1,16 +0,0 @@ -package users - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/db/v1/users" -) - -// Create will create a new database user for the specified database instance. -func Create(client *gophercloud.ServiceClient, instanceID string, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(client, instanceID, opts) -} - -// Delete will permanently remove a user from a specified database instance. -func Delete(client *gophercloud.ServiceClient, instanceID, userName string) os.DeleteResult { - return os.Delete(client, instanceID, userName) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/doc.go deleted file mode 100644 index 84f2eb327..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package users provides information and interaction with the user API -// resource in the Rackspace Database service. -package users diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/fixtures.go deleted file mode 100644 index 5314e854f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/fixtures.go +++ /dev/null @@ -1,77 +0,0 @@ -package users - -const singleDB = `{"databases": [{"name": "databaseE"}]}` - -var changePwdReq = ` -{ - "users": [ - { - "name": "dbuser1", - "password": "newpassword" - }, - { - "name": "dbuser2", - "password": "anotherpassword" - } - ] -} -` - -var updateReq = ` -{ - "user": { - "name": "new_username", - "password": "new_password" - } -} -` - -var getResp = ` -{ - "user": { - "name": "exampleuser", - "host": "foo", - "databases": [ - { - "name": "databaseA" - }, - { - "name": "databaseB" - } - ] - } -} -` - -var listResp = ` -{ -"users": [ - { - "name": "dbuser1", - "host": "localhost", - "databases": [ - { - "name": "databaseA" - } - ] - }, - { - "name": "dbuser2", - "host": "localhost", - "databases": [ - { - "name": "databaseB" - }, - { - "name": "databaseC" - } - ] - } -] -} -` - -var ( - listUserAccessResp = singleDB - grantUserAccessReq = singleDB -) diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/requests.go deleted file mode 100644 index 74e47ab23..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/requests.go +++ /dev/null @@ -1,176 +0,0 @@ -package users - -import ( - "errors" - - "github.com/rackspace/gophercloud" - db "github.com/rackspace/gophercloud/openstack/db/v1/databases" - os "github.com/rackspace/gophercloud/openstack/db/v1/users" - "github.com/rackspace/gophercloud/pagination" -) - -// List will list all available users for a specified database instance. -func List(client *gophercloud.ServiceClient, instanceID string) pagination.Pager { - createPageFn := func(r pagination.PageResult) pagination.Page { - return UserPage{pagination.LinkedPageBase{PageResult: r}} - } - - return pagination.NewPager(client, baseURL(client, instanceID), createPageFn) -} - -/* -ChangePassword changes the password for one or more users. For example, to -change the respective passwords for two users: - - opts := os.BatchCreateOpts{ - os.CreateOpts{Name: "db_user_1", Password: "new_password_1"}, - os.CreateOpts{Name: "db_user_2", Password: "new_password_2"}, - } - - ChangePassword(client, "instance_id", opts) -*/ -func ChangePassword(client *gophercloud.ServiceClient, instanceID string, opts os.CreateOptsBuilder) UpdatePasswordsResult { - var res UpdatePasswordsResult - - reqBody, err := opts.ToUserCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = client.Request("PUT", baseURL(client, instanceID), gophercloud.RequestOpts{ - JSONBody: &reqBody, - OkCodes: []int{202}, - }) - - return res -} - -// UpdateOpts is the struct responsible for updating an existing user. -type UpdateOpts struct { - // [OPTIONAL] Specifies a name for the user. Valid names can be composed - // of the following characters: letters (either case); numbers; these - // characters '@', '?', '#', ' ' but NEVER beginning a name string; '_' is - // permitted anywhere. Prohibited characters that are forbidden include: - // single quotes, double quotes, back quotes, semicolons, commas, backslashes, - // and forward slashes. Spaces at the front or end of a user name are also - // not permitted. - Name string - - // [OPTIONAL] Specifies a password for the user. - Password string - - // [OPTIONAL] Specifies the host from which a user is allowed to connect to - // the database. Possible values are a string containing an IPv4 address or - // "%" to allow connecting from any host. Optional; the default is "%". - Host string -} - -// ToMap is a convenience function for creating sub-maps for individual users. -func (opts UpdateOpts) ToMap() (map[string]interface{}, error) { - if opts.Name == "root" { - return nil, errors.New("root is a reserved user name and cannot be used") - } - - user := map[string]interface{}{} - - if opts.Name != "" { - user["name"] = opts.Name - } - - if opts.Password != "" { - user["password"] = opts.Password - } - - if opts.Host != "" { - user["host"] = opts.Host - } - - return user, nil -} - -// Update will modify the attributes of a specified user. Attributes that can -// be updated are: user name, password, and host. -func Update(client *gophercloud.ServiceClient, instanceID, userName string, opts UpdateOpts) UpdateResult { - var res UpdateResult - - reqBody, err := opts.ToMap() - if err != nil { - res.Err = err - return res - } - reqBody = map[string]interface{}{"user": reqBody} - - _, res.Err = client.Request("PUT", userURL(client, instanceID, userName), gophercloud.RequestOpts{ - JSONBody: &reqBody, - OkCodes: []int{202}, - }) - - return res -} - -// Get will retrieve the details for a particular user. -func Get(client *gophercloud.ServiceClient, instanceID, userName string) GetResult { - var res GetResult - - _, res.Err = client.Request("GET", userURL(client, instanceID, userName), gophercloud.RequestOpts{ - JSONResponse: &res.Body, - OkCodes: []int{200}, - }) - - return res -} - -// ListAccess will list all of the databases a user has access to. -func ListAccess(client *gophercloud.ServiceClient, instanceID, userName string) pagination.Pager { - pageFn := func(r pagination.PageResult) pagination.Page { - return AccessPage{pagination.LinkedPageBase{PageResult: r}} - } - - return pagination.NewPager(client, dbsURL(client, instanceID, userName), pageFn) -} - -/* -GrantAccess for the specified user to one or more databases on a specified -instance. For example, to add a user to multiple databases: - - opts := db.BatchCreateOpts{ - db.CreateOpts{Name: "database_1"}, - db.CreateOpts{Name: "database_3"}, - db.CreateOpts{Name: "database_19"}, - } - - GrantAccess(client, "instance_id", "user_name", opts) -*/ -func GrantAccess(client *gophercloud.ServiceClient, instanceID, userName string, opts db.CreateOptsBuilder) GrantAccessResult { - var res GrantAccessResult - - reqBody, err := opts.ToDBCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = client.Request("PUT", dbsURL(client, instanceID, userName), gophercloud.RequestOpts{ - JSONBody: &reqBody, - OkCodes: []int{202}, - }) - - return res -} - -/* -RevokeAccess will revoke access for the specified user to one or more databases -on a specified instance. For example: - - RevokeAccess(client, "instance_id", "user_name", "db_name") -*/ -func RevokeAccess(client *gophercloud.ServiceClient, instanceID, userName, dbName string) RevokeAccessResult { - var res RevokeAccessResult - - _, res.Err = client.Request("DELETE", dbURL(client, instanceID, userName, dbName), gophercloud.RequestOpts{ - OkCodes: []int{202}, - }) - - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/results.go deleted file mode 100644 index 85b3a7aaa..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/results.go +++ /dev/null @@ -1,149 +0,0 @@ -package users - -import ( - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - db "github.com/rackspace/gophercloud/openstack/db/v1/databases" - "github.com/rackspace/gophercloud/pagination" -) - -// User represents a database user -type User struct { - // The user name - Name string - - // The user password - Password string - - // Specifies the host from which a user is allowed to connect to the database. - // Possible values are a string containing an IPv4 address or "%" to allow - // connecting from any host. - Host string - - // The databases associated with this user - Databases []db.Database -} - -// UpdatePasswordsResult represents the result of changing a user password. -type UpdatePasswordsResult struct { - gophercloud.ErrResult -} - -// UpdateResult represents the result of updating a user. -type UpdateResult struct { - gophercloud.ErrResult -} - -// GetResult represents the result of getting a user. -type GetResult struct { - gophercloud.Result -} - -// Extract will retrieve a User struct from a getresult. -func (r GetResult) Extract() (*User, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - User User `mapstructure:"user"` - } - - err := mapstructure.Decode(r.Body, &response) - return &response.User, err -} - -// AccessPage represents a single page of a paginated user collection. -type AccessPage struct { - pagination.LinkedPageBase -} - -// IsEmpty checks to see whether the collection is empty. -func (page AccessPage) IsEmpty() (bool, error) { - users, err := ExtractDBs(page) - if err != nil { - return true, err - } - return len(users) == 0, nil -} - -// NextPageURL will retrieve the next page URL. -func (page AccessPage) NextPageURL() (string, error) { - type resp struct { - Links []gophercloud.Link `mapstructure:"databases_links"` - } - - var r resp - err := mapstructure.Decode(page.Body, &r) - if err != nil { - return "", err - } - - return gophercloud.ExtractNextURL(r.Links) -} - -// ExtractDBs will convert a generic pagination struct into a more -// relevant slice of DB structs. -func ExtractDBs(page pagination.Page) ([]db.Database, error) { - casted := page.(AccessPage).Body - - var response struct { - DBs []db.Database `mapstructure:"databases"` - } - - err := mapstructure.Decode(casted, &response) - return response.DBs, err -} - -// UserPage represents a single page of a paginated user collection. -type UserPage struct { - pagination.LinkedPageBase -} - -// IsEmpty checks to see whether the collection is empty. -func (page UserPage) IsEmpty() (bool, error) { - users, err := ExtractUsers(page) - if err != nil { - return true, err - } - return len(users) == 0, nil -} - -// NextPageURL will retrieve the next page URL. -func (page UserPage) NextPageURL() (string, error) { - type resp struct { - Links []gophercloud.Link `mapstructure:"users_links"` - } - - var r resp - err := mapstructure.Decode(page.Body, &r) - if err != nil { - return "", err - } - - return gophercloud.ExtractNextURL(r.Links) -} - -// ExtractUsers will convert a generic pagination struct into a more -// relevant slice of User structs. -func ExtractUsers(page pagination.Page) ([]User, error) { - casted := page.(UserPage).Body - - var response struct { - Users []User `mapstructure:"users"` - } - - err := mapstructure.Decode(casted, &response) - - return response.Users, err -} - -// GrantAccessResult represents the result of granting access to a user. -type GrantAccessResult struct { - gophercloud.ErrResult -} - -// RevokeAccessResult represents the result of revoking access to a user. -type RevokeAccessResult struct { - gophercloud.ErrResult -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/urls.go deleted file mode 100644 index bac8788ff..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/db/v1/users/urls.go +++ /dev/null @@ -1,19 +0,0 @@ -package users - -import "github.com/rackspace/gophercloud" - -func baseURL(c *gophercloud.ServiceClient, instanceID string) string { - return c.ServiceURL("instances", instanceID, "users") -} - -func userURL(c *gophercloud.ServiceClient, instanceID, userName string) string { - return c.ServiceURL("instances", instanceID, "users", userName) -} - -func dbsURL(c *gophercloud.ServiceClient, instanceID, userName string) string { - return c.ServiceURL("instances", instanceID, "users", userName, "databases") -} - -func dbURL(c *gophercloud.ServiceClient, instanceID, userName, dbName string) string { - return c.ServiceURL("instances", instanceID, "users", userName, "databases", dbName) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/delegate.go deleted file mode 100644 index fc547cde5..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/delegate.go +++ /dev/null @@ -1,24 +0,0 @@ -package extensions - -import ( - "github.com/rackspace/gophercloud" - common "github.com/rackspace/gophercloud/openstack/common/extensions" - "github.com/rackspace/gophercloud/pagination" -) - -// ExtractExtensions accepts a Page struct, specifically an ExtensionPage struct, and extracts the -// elements into a slice of os.Extension structs. -func ExtractExtensions(page pagination.Page) ([]common.Extension, error) { - return common.ExtractExtensions(page) -} - -// Get retrieves information for a specific extension using its alias. -func Get(c *gophercloud.ServiceClient, alias string) common.GetResult { - return common.Get(c, alias) -} - -// List returns a Pager which allows you to iterate over the full collection of extensions. -// It does not accept query parameters. -func List(c *gophercloud.ServiceClient) pagination.Pager { - return common.List(c) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/doc.go deleted file mode 100644 index b02a95b53..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package extensions provides information and interaction with the all the -// extensions available for the Rackspace Identity service. -package extensions diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/delegate.go deleted file mode 100644 index a6ee8515c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/delegate.go +++ /dev/null @@ -1,50 +0,0 @@ -package roles - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" - - os "github.com/rackspace/gophercloud/openstack/identity/v2/extensions/admin/roles" -) - -// List is the operation responsible for listing all available global roles -// that a user can adopt. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// AddUserRole is the operation responsible for assigning a particular role to -// a user. This is confined to the scope of the user's tenant - so the tenant -// ID is a required argument. -func AddUserRole(client *gophercloud.ServiceClient, userID, roleID string) UserRoleResult { - var result UserRoleResult - - _, result.Err = client.Request("PUT", userRoleURL(client, userID, roleID), gophercloud.RequestOpts{ - OkCodes: []int{200, 201}, - }) - - return result -} - -// DeleteUserRole is the operation responsible for deleting a particular role -// from a user. This is confined to the scope of the user's tenant - so the -// tenant ID is a required argument. -func DeleteUserRole(client *gophercloud.ServiceClient, userID, roleID string) UserRoleResult { - var result UserRoleResult - - _, result.Err = client.Request("DELETE", userRoleURL(client, userID, roleID), gophercloud.RequestOpts{ - OkCodes: []int{204}, - }) - - return result -} - -// UserRoleResult represents the result of either an AddUserRole or -// a DeleteUserRole operation. -type UserRoleResult struct { - gophercloud.ErrResult -} - -func userRoleURL(c *gophercloud.ServiceClient, userID, roleID string) string { - return c.ServiceURL(os.UserPath, userID, os.RolePath, os.ExtPath, roleID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/fixtures.go deleted file mode 100644 index 5f22d0f64..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/roles/fixtures.go +++ /dev/null @@ -1,49 +0,0 @@ -package roles - -import ( - "fmt" - "net/http" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func MockListRoleResponse(t *testing.T) { - th.Mux.HandleFunc("/OS-KSADM/roles", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "roles": [ - { - "id": "123", - "name": "compute:admin", - "description": "Nova Administrator", - "serviceId": "cke5372ebabeeabb70a0e702a4626977x4406e5" - } - ] -} - `) - }) -} - -func MockAddUserRoleResponse(t *testing.T) { - th.Mux.HandleFunc("/users/{user_id}/roles/OS-KSADM/{role_id}", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusCreated) - }) -} - -func MockDeleteUserRoleResponse(t *testing.T) { - th.Mux.HandleFunc("/users/{user_id}/roles/OS-KSADM/{role_id}", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusNoContent) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/delegate.go deleted file mode 100644 index 6cdd0cfbd..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/delegate.go +++ /dev/null @@ -1,17 +0,0 @@ -package tenants - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/identity/v2/tenants" - "github.com/rackspace/gophercloud/pagination" -) - -// ExtractTenants interprets a page of List results as a more usable slice of Tenant structs. -func ExtractTenants(page pagination.Page) ([]os.Tenant, error) { - return os.ExtractTenants(page) -} - -// List enumerates the tenants to which the current token grants access. -func List(client *gophercloud.ServiceClient, opts *os.ListOpts) pagination.Pager { - return os.List(client, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/doc.go deleted file mode 100644 index c1825c21d..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package tenants provides information and interaction with the tenant -// API resource for the Rackspace Identity service. -package tenants diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/delegate.go deleted file mode 100644 index 4f9885af0..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/delegate.go +++ /dev/null @@ -1,60 +0,0 @@ -package tokens - -import ( - "errors" - - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/identity/v2/tokens" -) - -var ( - // ErrPasswordProvided is returned if both a password and an API key are provided to Create. - ErrPasswordProvided = errors.New("Please provide either a password or an API key.") -) - -// AuthOptions wraps the OpenStack AuthOptions struct to be able to customize the request body -// when API key authentication is used. -type AuthOptions struct { - os.AuthOptions -} - -// WrapOptions embeds a root AuthOptions struct in a package-specific one. -func WrapOptions(original gophercloud.AuthOptions) AuthOptions { - return AuthOptions{AuthOptions: os.WrapOptions(original)} -} - -// ToTokenCreateMap serializes an AuthOptions into a request body. If an API key is provided, it -// will be used, otherwise -func (auth AuthOptions) ToTokenCreateMap() (map[string]interface{}, error) { - if auth.APIKey == "" { - return auth.AuthOptions.ToTokenCreateMap() - } - - // Verify that other required attributes are present. - if auth.Username == "" { - return nil, os.ErrUsernameRequired - } - - authMap := make(map[string]interface{}) - - authMap["RAX-KSKEY:apiKeyCredentials"] = map[string]interface{}{ - "username": auth.Username, - "apiKey": auth.APIKey, - } - - if auth.TenantID != "" { - authMap["tenantId"] = auth.TenantID - } - if auth.TenantName != "" { - authMap["tenantName"] = auth.TenantName - } - - return map[string]interface{}{"auth": authMap}, nil -} - -// Create authenticates to Rackspace's identity service and attempts to acquire a Token. Rather -// than interact with this service directly, users should generally call -// rackspace.AuthenticatedClient(). -func Create(client *gophercloud.ServiceClient, auth AuthOptions) os.CreateResult { - return os.Create(client, auth) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/doc.go deleted file mode 100644 index 44043e5e1..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package tokens provides information and interaction with the token -// API resource for the Rackspace Identity service. -package tokens diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/delegate.go deleted file mode 100644 index 6135bec10..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/delegate.go +++ /dev/null @@ -1,142 +0,0 @@ -package users - -import ( - "errors" - - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/identity/v2/users" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a pager that allows traversal over a collection of users. -func List(client *gophercloud.ServiceClient) pagination.Pager { - return os.List(client) -} - -// CommonOpts are the options which are shared between CreateOpts and -// UpdateOpts -type CommonOpts struct { - // Required. The username to assign to the user. When provided, the username - // must: - // - start with an alphabetical (A-Za-z) character - // - have a minimum length of 1 character - // - // The username may contain upper and lowercase characters, as well as any of - // the following special character: . - @ _ - Username string - - // Required. Email address for the user account. - Email string - - // Required. Indicates whether the user can authenticate after the user - // account is created. If no value is specified, the default value is true. - Enabled os.EnabledState - - // Optional. The password to assign to the user. If provided, the password - // must: - // - start with an alphabetical (A-Za-z) character - // - have a minimum length of 8 characters - // - contain at least one uppercase character, one lowercase character, and - // one numeric character. - // - // The password may contain any of the following special characters: . - @ _ - Password string -} - -// CreateOpts represents the options needed when creating new users. -type CreateOpts CommonOpts - -// ToUserCreateMap assembles a request body based on the contents of a CreateOpts. -func (opts CreateOpts) ToUserCreateMap() (map[string]interface{}, error) { - m := make(map[string]interface{}) - - if opts.Username == "" { - return m, errors.New("Username is a required field") - } - if opts.Enabled == nil { - return m, errors.New("Enabled is a required field") - } - if opts.Email == "" { - return m, errors.New("Email is a required field") - } - - if opts.Username != "" { - m["username"] = opts.Username - } - if opts.Email != "" { - m["email"] = opts.Email - } - if opts.Enabled != nil { - m["enabled"] = opts.Enabled - } - if opts.Password != "" { - m["OS-KSADM:password"] = opts.Password - } - - return map[string]interface{}{"user": m}, nil -} - -// Create is the operation responsible for creating new users. -func Create(client *gophercloud.ServiceClient, opts os.CreateOptsBuilder) CreateResult { - return CreateResult{os.Create(client, opts)} -} - -// Get requests details on a single user, either by ID. -func Get(client *gophercloud.ServiceClient, id string) GetResult { - return GetResult{os.Get(client, id)} -} - -// UpdateOptsBuilder allows extensions to add additional attributes to the Update request. -type UpdateOptsBuilder interface { - ToUserUpdateMap() map[string]interface{} -} - -// UpdateOpts specifies the base attributes that may be updated on an existing server. -type UpdateOpts CommonOpts - -// ToUserUpdateMap formats an UpdateOpts structure into a request body. -func (opts UpdateOpts) ToUserUpdateMap() map[string]interface{} { - m := make(map[string]interface{}) - - if opts.Username != "" { - m["username"] = opts.Username - } - if opts.Enabled != nil { - m["enabled"] = &opts.Enabled - } - if opts.Email != "" { - m["email"] = opts.Email - } - - return map[string]interface{}{"user": m} -} - -// Update is the operation responsible for updating exist users by their UUID. -func Update(client *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) UpdateResult { - var result UpdateResult - - _, result.Err = client.Request("POST", os.ResourceURL(client, id), gophercloud.RequestOpts{ - JSONResponse: &result.Body, - JSONBody: opts.ToUserUpdateMap(), - OkCodes: []int{200}, - }) - - return result -} - -// Delete is the operation responsible for permanently deleting an API user. -func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(client, id) -} - -// ResetAPIKey resets the User's API key. -func ResetAPIKey(client *gophercloud.ServiceClient, id string) ResetAPIKeyResult { - var result ResetAPIKeyResult - - _, result.Err = client.Request("POST", resetAPIKeyURL(client, id), gophercloud.RequestOpts{ - JSONResponse: &result.Body, - OkCodes: []int{200}, - }) - - return result -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/fixtures.go deleted file mode 100644 index 973f39ea8..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/fixtures.go +++ /dev/null @@ -1,154 +0,0 @@ -package users - -import ( - "fmt" - "net/http" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func mockListResponse(t *testing.T) { - th.Mux.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "users":[ - { - "id": "u1000", - "username": "jqsmith", - "email": "john.smith@example.org", - "enabled": true - }, - { - "id": "u1001", - "username": "jqsmith", - "email": "jane.smith@example.org", - "enabled": true - } - ] -} - `) - }) -} - -func mockCreateUser(t *testing.T) { - th.Mux.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "user": { - "username": "new_user", - "enabled": false, - "email": "new_user@foo.com", - "OS-KSADM:password": "foo" - } -} - `) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "user": { - "RAX-AUTH:defaultRegion": "DFW", - "RAX-AUTH:domainId": "5830280", - "id": "123456", - "username": "new_user", - "email": "new_user@foo.com", - "enabled": false - } -} -`) - }) -} - -func mockGetUser(t *testing.T) { - th.Mux.HandleFunc("/users/new_user", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "user": { - "RAX-AUTH:defaultRegion": "DFW", - "RAX-AUTH:domainId": "5830280", - "RAX-AUTH:multiFactorEnabled": "true", - "id": "c39e3de9be2d4c779f1dfd6abacc176d", - "username": "jqsmith", - "email": "john.smith@example.org", - "enabled": true - } -} -`) - }) -} - -func mockUpdateUser(t *testing.T) { - th.Mux.HandleFunc("/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "user": { - "email": "new_email@foo.com", - "enabled": true - } -} -`) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "user": { - "RAX-AUTH:defaultRegion": "DFW", - "RAX-AUTH:domainId": "5830280", - "RAX-AUTH:multiFactorEnabled": "true", - "id": "123456", - "username": "jqsmith", - "email": "new_email@foo.com", - "enabled": true - } -} -`) - }) -} - -func mockDeleteUser(t *testing.T) { - th.Mux.HandleFunc("/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusNoContent) - }) -} - -func mockResetAPIKey(t *testing.T) { - th.Mux.HandleFunc("/users/99/OS-KSADM/credentials/RAX-KSKEY:apiKeyCredentials/RAX-AUTH/reset", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - fmt.Fprintf(w, ` -{ - "RAX-KSKEY:apiKeyCredentials": { - "username": "joesmith", - "apiKey": "mooH1eiLahd5ahYood7r" - } -}`) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/results.go deleted file mode 100644 index 6936ecba8..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/results.go +++ /dev/null @@ -1,129 +0,0 @@ -package users - -import ( - "strconv" - - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/identity/v2/users" - - "github.com/mitchellh/mapstructure" -) - -// User represents a user resource that exists on the API. -type User struct { - // The UUID for this user. - ID string - - // The human name for this user. - Name string - - // The username for this user. - Username string - - // Indicates whether the user is enabled (true) or disabled (false). - Enabled bool - - // The email address for this user. - Email string - - // The ID of the tenant to which this user belongs. - TenantID string `mapstructure:"tenant_id"` - - // Specifies the default region for the user account. This value is inherited - // from the user administrator when the account is created. - DefaultRegion string `mapstructure:"RAX-AUTH:defaultRegion"` - - // Identifies the domain that contains the user account. This value is - // inherited from the user administrator when the account is created. - DomainID string `mapstructure:"RAX-AUTH:domainId"` - - // The password value that the user needs for authentication. If the Add user - // request included a password value, this attribute is not included in the - // response. - Password string `mapstructure:"OS-KSADM:password"` - - // Indicates whether the user has enabled multi-factor authentication. - MultiFactorEnabled bool `mapstructure:"RAX-AUTH:multiFactorEnabled"` -} - -// CreateResult represents the result of a Create operation -type CreateResult struct { - os.CreateResult -} - -// GetResult represents the result of a Get operation -type GetResult struct { - os.GetResult -} - -// UpdateResult represents the result of an Update operation -type UpdateResult struct { - os.UpdateResult -} - -func commonExtract(resp interface{}, err error) (*User, error) { - if err != nil { - return nil, err - } - - var respStruct struct { - User *User `json:"user"` - } - - // Since the API returns a string instead of a bool, we need to hack the JSON - json := resp.(map[string]interface{}) - user := json["user"].(map[string]interface{}) - if s, ok := user["RAX-AUTH:multiFactorEnabled"].(string); ok && s != "" { - if b, err := strconv.ParseBool(s); err == nil { - user["RAX-AUTH:multiFactorEnabled"] = b - } - } - - err = mapstructure.Decode(json, &respStruct) - - return respStruct.User, err -} - -// Extract will get the Snapshot object out of the GetResult object. -func (r GetResult) Extract() (*User, error) { - return commonExtract(r.Body, r.Err) -} - -// Extract will get the Snapshot object out of the CreateResult object. -func (r CreateResult) Extract() (*User, error) { - return commonExtract(r.Body, r.Err) -} - -// Extract will get the Snapshot object out of the UpdateResult object. -func (r UpdateResult) Extract() (*User, error) { - return commonExtract(r.Body, r.Err) -} - -// ResetAPIKeyResult represents the server response to the ResetAPIKey method. -type ResetAPIKeyResult struct { - gophercloud.Result -} - -// ResetAPIKeyValue represents an API Key that has been reset. -type ResetAPIKeyValue struct { - // The Username for this API Key reset. - Username string `mapstructure:"username"` - - // The new API Key for this user. - APIKey string `mapstructure:"apiKey"` -} - -// Extract will get the Error or ResetAPIKeyValue object out of the ResetAPIKeyResult object. -func (r ResetAPIKeyResult) Extract() (*ResetAPIKeyValue, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - ResetAPIKeyValue ResetAPIKeyValue `mapstructure:"RAX-KSKEY:apiKeyCredentials"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.ResetAPIKeyValue, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/urls.go deleted file mode 100644 index bc1aaefb0..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/identity/v2/users/urls.go +++ /dev/null @@ -1,7 +0,0 @@ -package users - -import "github.com/rackspace/gophercloud" - -func resetAPIKeyURL(client *gophercloud.ServiceClient, id string) string { - return client.ServiceURL("users", id, "OS-KSADM", "credentials", "RAX-KSKEY:apiKeyCredentials", "RAX-AUTH", "reset") -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/doc.go deleted file mode 100644 index 42325fe83..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/doc.go +++ /dev/null @@ -1,12 +0,0 @@ -/* -Package acl provides information and interaction with the access lists feature -of the Rackspace Cloud Load Balancer service. - -The access list management feature allows fine-grained network access controls -to be applied to the load balancer's virtual IP address. A single IP address, -multiple IP addresses, or entire network subnets can be added. Items that are -configured with the ALLOW type always takes precedence over items with the DENY -type. To reject traffic from all items except for those with the ALLOW type, -add a networkItem with an address of "0.0.0.0/0" and a DENY type. -*/ -package acl diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/fixtures.go deleted file mode 100644 index e3c941c81..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/fixtures.go +++ /dev/null @@ -1,109 +0,0 @@ -package acl - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(lbID int) string { - return "/loadbalancers/" + strconv.Itoa(lbID) + "/accesslist" -} - -func mockListResponse(t *testing.T, id int) { - th.Mux.HandleFunc(_rootURL(id), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "accessList": [ - { - "address": "206.160.163.21", - "id": 21, - "type": "DENY" - }, - { - "address": "206.160.163.22", - "id": 22, - "type": "DENY" - }, - { - "address": "206.160.163.23", - "id": 23, - "type": "DENY" - }, - { - "address": "206.160.163.24", - "id": 24, - "type": "DENY" - } - ] -} - `) - }) -} - -func mockCreateResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "accessList": [ - { - "address": "206.160.163.21", - "type": "DENY" - }, - { - "address": "206.160.165.11", - "type": "DENY" - } - ] -} - `) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDeleteAllResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockBatchDeleteResponse(t *testing.T, lbID int, ids []int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - r.ParseForm() - - for k, v := range ids { - fids := r.Form["id"] - th.AssertEquals(t, strconv.Itoa(v), fids[k]) - } - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDeleteResponse(t *testing.T, lbID, networkID int) { - th.Mux.HandleFunc(_rootURL(lbID)+"/"+strconv.Itoa(networkID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/requests.go deleted file mode 100644 index d4ce7c01f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/requests.go +++ /dev/null @@ -1,111 +0,0 @@ -package acl - -import ( - "errors" - "fmt" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List is the operation responsible for returning a paginated collection of -// network items that define a load balancer's access list. -func List(client *gophercloud.ServiceClient, lbID int) pagination.Pager { - url := rootURL(client, lbID) - - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return AccessListPage{pagination.SinglePageBase(r)} - }) -} - -// CreateOptsBuilder is the interface responsible for generating the JSON -// for a Create operation. -type CreateOptsBuilder interface { - ToAccessListCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is a slice of CreateOpt structs, that allow the user to create -// multiple nodes in a single operation (one node per CreateOpt). -type CreateOpts []CreateOpt - -// CreateOpt represents the options to create a single node. -type CreateOpt struct { - // Required - the IP address or CIDR for item to add to access list. - Address string - - // Required - the type of the node. Either ALLOW or DENY. - Type Type -} - -// ToAccessListCreateMap converts a slice of options into a map that can be -// used for the JSON. -func (opts CreateOpts) ToAccessListCreateMap() (map[string]interface{}, error) { - type itemMap map[string]interface{} - items := []itemMap{} - - for k, v := range opts { - if v.Address == "" { - return itemMap{}, fmt.Errorf("Address is a required attribute, none provided for %d CreateOpt element", k) - } - if v.Type != ALLOW && v.Type != DENY { - return itemMap{}, fmt.Errorf("Type must be ALLOW or DENY") - } - - item := make(itemMap) - item["address"] = v.Address - item["type"] = v.Type - - items = append(items, item) - } - - return itemMap{"accessList": items}, nil -} - -// Create is the operation responsible for adding network items to the access -// rules for a particular load balancer. If network items already exist, the -// new item will be appended. A single IP address or subnet range is considered -// unique and cannot be duplicated. -func Create(client *gophercloud.ServiceClient, loadBalancerID int, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToAccessListCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = client.Post(rootURL(client, loadBalancerID), reqBody, nil, nil) - return res -} - -// BulkDelete will delete multiple network items from a load balancer's access -// list in a single operation. -func BulkDelete(c *gophercloud.ServiceClient, loadBalancerID int, itemIDs []int) DeleteResult { - var res DeleteResult - - if len(itemIDs) > 10 || len(itemIDs) == 0 { - res.Err = errors.New("You must provide a minimum of 1 and a maximum of 10 item IDs") - return res - } - - url := rootURL(c, loadBalancerID) - url += gophercloud.IDSliceToQueryString("id", itemIDs) - - _, res.Err = c.Delete(url, nil) - return res -} - -// Delete will remove a single network item from a load balancer's access list. -func Delete(c *gophercloud.ServiceClient, lbID, itemID int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(resourceURL(c, lbID, itemID), nil) - return res -} - -// DeleteAll will delete the entire contents of a load balancer's access list, -// effectively resetting it and allowing all traffic. -func DeleteAll(c *gophercloud.ServiceClient, lbID int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(rootURL(c, lbID), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/results.go deleted file mode 100644 index 9ea5ea2f4..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/results.go +++ /dev/null @@ -1,72 +0,0 @@ -package acl - -import ( - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// AccessList represents the rules of network access to a particular load -// balancer. -type AccessList []NetworkItem - -// NetworkItem describes how an IP address or entire subnet may interact with a -// load balancer. -type NetworkItem struct { - // The IP address or subnet (CIDR) that defines the network item. - Address string - - // The numeric unique ID for this item. - ID int - - // Either ALLOW or DENY. - Type Type -} - -// Type defines how an item may connect to the load balancer. -type Type string - -// Convenience consts. -const ( - ALLOW Type = "ALLOW" - DENY Type = "DENY" -) - -// AccessListPage is the page returned by a pager for traversing over a -// collection of network items in an access list. -type AccessListPage struct { - pagination.SinglePageBase -} - -// IsEmpty checks whether an AccessListPage struct is empty. -func (p AccessListPage) IsEmpty() (bool, error) { - is, err := ExtractAccessList(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -// ExtractAccessList accepts a Page struct, specifically an AccessListPage -// struct, and extracts the elements into a slice of NetworkItem structs. In -// other words, a generic collection is mapped into a relevant slice. -func ExtractAccessList(page pagination.Page) (AccessList, error) { - var resp struct { - List AccessList `mapstructure:"accessList" json:"accessList"` - } - - err := mapstructure.Decode(page.(AccessListPage).Body, &resp) - - return resp.List, err -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - gophercloud.ErrResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/urls.go deleted file mode 100644 index e373fa1d8..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/acl/urls.go +++ /dev/null @@ -1,20 +0,0 @@ -package acl - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - path = "loadbalancers" - aclPath = "accesslist" -) - -func resourceURL(c *gophercloud.ServiceClient, lbID, networkID int) string { - return c.ServiceURL(path, strconv.Itoa(lbID), aclPath, strconv.Itoa(networkID)) -} - -func rootURL(c *gophercloud.ServiceClient, lbID int) string { - return c.ServiceURL(path, strconv.Itoa(lbID), aclPath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/doc.go deleted file mode 100644 index 05f003285..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/doc.go +++ /dev/null @@ -1,44 +0,0 @@ -/* -Package lbs provides information and interaction with the Load Balancer API -resource for the Rackspace Cloud Load Balancer service. - -A load balancer is a logical device which belongs to a cloud account. It is -used to distribute workloads between multiple back-end systems or services, -based on the criteria defined as part of its configuration. This configuration -is defined using the Create operation, and can be updated with Update. - -To conserve IPv4 address space, it is highly recommended that you share Virtual -IPs between load balancers. If you have at least one load balancer, you may -create subsequent ones that share a single virtual IPv4 and/or a single IPv6 by -passing in a virtual IP ID to the Update operation (instead of a type). This -feature is also highly desirable if you wish to load balance both an insecure -and secure protocol using one IP or DNS name. In order to share a virtual IP, -each Load Balancer must utilize a unique port. - -All load balancers have a Status attribute that shows the current configuration -status of the device. This status is immutable by the caller and is updated -automatically based on state changes within the service. When a load balancer -is first created, it is placed into a BUILD state while the configuration is -being generated and applied based on the request. Once the configuration is -applied and finalized, it is in an ACTIVE status. In the event of a -configuration change or update, the status of the load balancer changes to -PENDING_UPDATE to signify configuration changes are in progress but have not yet -been finalized. Load balancers in a SUSPENDED status are configured to reject -traffic and do not forward requests to back-end nodes. - -An HTTP load balancer has the X-Forwarded-For (XFF) HTTP header set by default. -This header contains the originating IP address of a client connecting to a web -server through an HTTP proxy or load balancer, which many web applications are -already designed to use when determining the source address for a request. - -It also includes the X-Forwarded-Proto (XFP) HTTP header, which has been added -for identifying the originating protocol of an HTTP request as "http" or -"https" depending on which protocol the client requested. This is useful when -using SSL termination. - -Finally, it also includes the X-Forwarded-Port HTTP header, which has been -added for being able to generate secure URLs containing the specified port. -This header, along with the X-Forwarded-For header, provides the needed -information to the underlying application servers. -*/ -package lbs diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/fixtures.go deleted file mode 100644 index 6325310db..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/fixtures.go +++ /dev/null @@ -1,584 +0,0 @@ -package lbs - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func mockListLBResponse(t *testing.T) { - th.Mux.HandleFunc("/loadbalancers", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "loadBalancers":[ - { - "name":"lb-site1", - "id":71, - "protocol":"HTTP", - "port":80, - "algorithm":"RANDOM", - "status":"ACTIVE", - "nodeCount":3, - "virtualIps":[ - { - "id":403, - "address":"206.55.130.1", - "type":"PUBLIC", - "ipVersion":"IPV4" - } - ], - "created":{ - "time":"2010-11-30T03:23:42Z" - }, - "updated":{ - "time":"2010-11-30T03:23:44Z" - } - }, - { - "name":"lb-site2", - "id":72, - "created":{ - "time":"2011-11-30T03:23:42Z" - }, - "updated":{ - "time":"2011-11-30T03:23:44Z" - } - }, - { - "name":"lb-site3", - "id":73, - "created":{ - "time":"2012-11-30T03:23:42Z" - }, - "updated":{ - "time":"2012-11-30T03:23:44Z" - } - } - ] -} - `) - }) -} - -func mockCreateLBResponse(t *testing.T) { - th.Mux.HandleFunc("/loadbalancers", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "loadBalancer": { - "name": "a-new-loadbalancer", - "port": 80, - "protocol": "HTTP", - "virtualIps": [ - { - "id": 2341 - }, - { - "id": 900001 - } - ], - "nodes": [ - { - "address": "10.1.1.1", - "port": 80, - "condition": "ENABLED" - } - ] - } -} - `) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusAccepted) - - fmt.Fprintf(w, ` -{ - "loadBalancer": { - "name": "a-new-loadbalancer", - "id": 144, - "protocol": "HTTP", - "halfClosed": false, - "port": 83, - "algorithm": "RANDOM", - "status": "BUILD", - "timeout": 30, - "cluster": { - "name": "ztm-n01.staging1.lbaas.rackspace.net" - }, - "nodes": [ - { - "address": "10.1.1.1", - "id": 653, - "port": 80, - "status": "ONLINE", - "condition": "ENABLED", - "weight": 1 - } - ], - "virtualIps": [ - { - "address": "206.10.10.210", - "id": 39, - "type": "PUBLIC", - "ipVersion": "IPV4" - }, - { - "address": "2001:4801:79f1:0002:711b:be4c:0000:0021", - "id": 900001, - "type": "PUBLIC", - "ipVersion": "IPV6" - } - ], - "created": { - "time": "2010-11-30T03:23:42Z" - }, - "updated": { - "time": "2010-11-30T03:23:44Z" - }, - "connectionLogging": { - "enabled": false - } - } -} - `) - }) -} - -func mockBatchDeleteLBResponse(t *testing.T, ids []int) { - th.Mux.HandleFunc("/loadbalancers", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - r.ParseForm() - - for k, v := range ids { - fids := r.Form["id"] - th.AssertEquals(t, strconv.Itoa(v), fids[k]) - } - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDeleteLBResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockGetLBResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "loadBalancer": { - "id": 2000, - "name": "sample-loadbalancer", - "protocol": "HTTP", - "port": 80, - "algorithm": "RANDOM", - "status": "ACTIVE", - "timeout": 30, - "connectionLogging": { - "enabled": true - }, - "virtualIps": [ - { - "id": 1000, - "address": "206.10.10.210", - "type": "PUBLIC", - "ipVersion": "IPV4" - } - ], - "nodes": [ - { - "id": 1041, - "address": "10.1.1.1", - "port": 80, - "condition": "ENABLED", - "status": "ONLINE" - }, - { - "id": 1411, - "address": "10.1.1.2", - "port": 80, - "condition": "ENABLED", - "status": "ONLINE" - } - ], - "sessionPersistence": { - "persistenceType": "HTTP_COOKIE" - }, - "connectionThrottle": { - "maxConnections": 100 - }, - "cluster": { - "name": "c1.dfw1" - }, - "created": { - "time": "2010-11-30T03:23:42Z" - }, - "updated": { - "time": "2010-11-30T03:23:44Z" - }, - "sourceAddresses": { - "ipv6Public": "2001:4801:79f1:1::1/64", - "ipv4Servicenet": "10.0.0.0", - "ipv4Public": "10.12.99.28" - } - } -} - `) - }) -} - -func mockUpdateLBResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "loadBalancer": { - "name": "a-new-loadbalancer", - "protocol": "TCP", - "halfClosed": true, - "algorithm": "RANDOM", - "port": 8080, - "timeout": 100, - "httpsRedirect": false - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockListProtocolsResponse(t *testing.T) { - th.Mux.HandleFunc("/loadbalancers/protocols", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "protocols": [ - { - "name": "DNS_TCP", - "port": 53 - }, - { - "name": "DNS_UDP", - "port": 53 - }, - { - "name": "FTP", - "port": 21 - }, - { - "name": "HTTP", - "port": 80 - }, - { - "name": "HTTPS", - "port": 443 - }, - { - "name": "IMAPS", - "port": 993 - }, - { - "name": "IMAPv4", - "port": 143 - }, - { - "name": "LDAP", - "port": 389 - }, - { - "name": "LDAPS", - "port": 636 - }, - { - "name": "MYSQL", - "port": 3306 - }, - { - "name": "POP3", - "port": 110 - }, - { - "name": "POP3S", - "port": 995 - }, - { - "name": "SMTP", - "port": 25 - }, - { - "name": "TCP", - "port": 0 - }, - { - "name": "TCP_CLIENT_FIRST", - "port": 0 - }, - { - "name": "UDP", - "port": 0 - }, - { - "name": "UDP_STREAM", - "port": 0 - }, - { - "name": "SFTP", - "port": 22 - }, - { - "name": "TCP_STREAM", - "port": 0 - } - ] -} - `) - }) -} - -func mockListAlgorithmsResponse(t *testing.T) { - th.Mux.HandleFunc("/loadbalancers/algorithms", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "algorithms": [ - { - "name": "LEAST_CONNECTIONS" - }, - { - "name": "RANDOM" - }, - { - "name": "ROUND_ROBIN" - }, - { - "name": "WEIGHTED_LEAST_CONNECTIONS" - }, - { - "name": "WEIGHTED_ROUND_ROBIN" - } - ] -} - `) - }) -} - -func mockGetLoggingResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/connectionlogging", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "connectionLogging": { - "enabled": true - } -} - `) - }) -} - -func mockEnableLoggingResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/connectionlogging", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "connectionLogging":{ - "enabled":true - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDisableLoggingResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/connectionlogging", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "connectionLogging":{ - "enabled":false - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockGetErrorPageResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/errorpage", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "errorpage": { - "content": "DEFAULT ERROR PAGE" - } -} - `) - }) -} - -func mockSetErrorPageResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/errorpage", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "errorpage": { - "content": "New error page" - } -} - `) - - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "errorpage": { - "content": "New error page" - } -} - `) - }) -} - -func mockDeleteErrorPageResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/errorpage", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusOK) - }) -} - -func mockGetStatsResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/stats", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "connectTimeOut": 10, - "connectError": 20, - "connectFailure": 30, - "dataTimedOut": 40, - "keepAliveTimedOut": 50, - "maxConn": 60, - "currentConn": 40, - "connectTimeOutSsl": 10, - "connectErrorSsl": 20, - "connectFailureSsl": 30, - "dataTimedOutSsl": 40, - "keepAliveTimedOutSsl": 50, - "maxConnSsl": 60, - "currentConnSsl": 40 -} - `) - }) -} - -func mockGetCachingResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/contentcaching", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "contentCaching": { - "enabled": true - } -} - `) - }) -} - -func mockEnableCachingResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/contentcaching", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "contentCaching":{ - "enabled":true - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDisableCachingResponse(t *testing.T, id int) { - th.Mux.HandleFunc("/loadbalancers/"+strconv.Itoa(id)+"/contentcaching", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "contentCaching":{ - "enabled":false - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/requests.go deleted file mode 100644 index 46f5f02a4..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/requests.go +++ /dev/null @@ -1,497 +0,0 @@ -package lbs - -import ( - "errors" - - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" - "github.com/rackspace/gophercloud/rackspace/lb/v1/acl" - "github.com/rackspace/gophercloud/rackspace/lb/v1/monitors" - "github.com/rackspace/gophercloud/rackspace/lb/v1/nodes" - "github.com/rackspace/gophercloud/rackspace/lb/v1/sessions" - "github.com/rackspace/gophercloud/rackspace/lb/v1/throttle" - "github.com/rackspace/gophercloud/rackspace/lb/v1/vips" -) - -var ( - errNameRequired = errors.New("Name is a required attribute") - errTimeoutExceeded = errors.New("Timeout must be less than 120") -) - -// ListOptsBuilder allows extensions to add additional parameters to the -// List request. -type ListOptsBuilder interface { - ToLBListQuery() (string, error) -} - -// ListOpts allows the filtering and sorting of paginated collections through -// the API. -type ListOpts struct { - ChangesSince string `q:"changes-since"` - Status Status `q:"status"` - NodeAddr string `q:"nodeaddress"` - Marker string `q:"marker"` - Limit int `q:"limit"` -} - -// ToLBListQuery formats a ListOpts into a query string. -func (opts ListOpts) ToLBListQuery() (string, error) { - q, err := gophercloud.BuildQueryString(opts) - if err != nil { - return "", err - } - return q.String(), nil -} - -// List is the operation responsible for returning a paginated collection of -// load balancers. You may pass in a ListOpts struct to filter results. -func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager { - url := rootURL(client) - if opts != nil { - query, err := opts.ToLBListQuery() - if err != nil { - return pagination.Pager{Err: err} - } - url += query - } - - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return LBPage{pagination.LinkedPageBase{PageResult: r}} - }) -} - -// CreateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Create operation in this package. Since many -// extensions decorate or modify the common logic, it is useful for them to -// satisfy a basic interface in order for them to be used. -type CreateOptsBuilder interface { - ToLBCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is the common options struct used in this package's Create -// operation. -type CreateOpts struct { - // Required - name of the load balancer to create. The name must be 128 - // characters or fewer in length, and all UTF-8 characters are valid. - Name string - - // Optional - nodes to be added. - Nodes []nodes.Node - - // Required - protocol of the service that is being load balanced. - // See http://docs.rackspace.com/loadbalancers/api/v1.0/clb-devguide/content/protocols.html - // for a full list of supported protocols. - Protocol string - - // Optional - enables or disables Half-Closed support for the load balancer. - // Half-Closed support provides the ability for one end of the connection to - // terminate its output, while still receiving data from the other end. Only - // available for TCP/TCP_CLIENT_FIRST protocols. - HalfClosed gophercloud.EnabledState - - // Optional - the type of virtual IPs you want associated with the load - // balancer. - VIPs []vips.VIP - - // Optional - the access list management feature allows fine-grained network - // access controls to be applied to the load balancer virtual IP address. - AccessList *acl.AccessList - - // Optional - algorithm that defines how traffic should be directed between - // back-end nodes. - Algorithm string - - // Optional - current connection logging configuration. - ConnectionLogging *ConnectionLogging - - // Optional - specifies a limit on the number of connections per IP address - // to help mitigate malicious or abusive traffic to your applications. - ConnThrottle *throttle.ConnectionThrottle - - // Optional - the type of health monitor check to perform to ensure that the - // service is performing properly. - HealthMonitor *monitors.Monitor - - // Optional - arbitrary information that can be associated with each LB. - Metadata map[string]interface{} - - // Optional - port number for the service you are load balancing. - Port int - - // Optional - the timeout value for the load balancer and communications with - // its nodes. Defaults to 30 seconds with a maximum of 120 seconds. - Timeout int - - // Optional - specifies whether multiple requests from clients are directed - // to the same node. - SessionPersistence *sessions.SessionPersistence - - // Optional - enables or disables HTTP to HTTPS redirection for the load - // balancer. When enabled, any HTTP request returns status code 301 (Moved - // Permanently), and the requester is redirected to the requested URL via the - // HTTPS protocol on port 443. For example, http://example.com/page.html - // would be redirected to https://example.com/page.html. Only available for - // HTTPS protocol (port=443), or HTTP protocol with a properly configured SSL - // termination (secureTrafficOnly=true, securePort=443). - HTTPSRedirect gophercloud.EnabledState -} - -// ToLBCreateMap casts a CreateOpts struct to a map. -func (opts CreateOpts) ToLBCreateMap() (map[string]interface{}, error) { - lb := make(map[string]interface{}) - - if opts.Name == "" { - return lb, errNameRequired - } - if opts.Timeout > 120 { - return lb, errTimeoutExceeded - } - - lb["name"] = opts.Name - - if len(opts.Nodes) > 0 { - nodes := []map[string]interface{}{} - for _, n := range opts.Nodes { - nodes = append(nodes, map[string]interface{}{ - "address": n.Address, - "port": n.Port, - "condition": n.Condition, - }) - } - lb["nodes"] = nodes - } - - if opts.Protocol != "" { - lb["protocol"] = opts.Protocol - } - if opts.HalfClosed != nil { - lb["halfClosed"] = opts.HalfClosed - } - if len(opts.VIPs) > 0 { - lb["virtualIps"] = opts.VIPs - } - if opts.AccessList != nil { - lb["accessList"] = &opts.AccessList - } - if opts.Algorithm != "" { - lb["algorithm"] = opts.Algorithm - } - if opts.ConnectionLogging != nil { - lb["connectionLogging"] = &opts.ConnectionLogging - } - if opts.ConnThrottle != nil { - lb["connectionThrottle"] = &opts.ConnThrottle - } - if opts.HealthMonitor != nil { - lb["healthMonitor"] = &opts.HealthMonitor - } - if len(opts.Metadata) != 0 { - lb["metadata"] = opts.Metadata - } - if opts.Port > 0 { - lb["port"] = opts.Port - } - if opts.Timeout > 0 { - lb["timeout"] = opts.Timeout - } - if opts.SessionPersistence != nil { - lb["sessionPersistence"] = &opts.SessionPersistence - } - if opts.HTTPSRedirect != nil { - lb["httpsRedirect"] = &opts.HTTPSRedirect - } - - return map[string]interface{}{"loadBalancer": lb}, nil -} - -// Create is the operation responsible for asynchronously provisioning a new -// load balancer based on the configuration defined in CreateOpts. Once the -// request is validated and progress has started on the provisioning process, a -// response struct is returned. When extracted (with Extract()), you have -// to the load balancer's unique ID and status. -// -// Once an ID is attained, you can check on the progress of the operation by -// calling Get and passing in the ID. If the corresponding request cannot be -// fulfilled due to insufficient or invalid data, an HTTP 400 (Bad Request) -// error response is returned with information regarding the nature of the -// failure in the body of the response. Failures in the validation process are -// non-recoverable and require the caller to correct the cause of the failure. -func Create(c *gophercloud.ServiceClient, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToLBCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Post(rootURL(c), reqBody, &res.Body, nil) - return res -} - -// Get is the operation responsible for providing detailed information -// regarding a specific load balancer which is configured and associated with -// your account. This operation is not capable of returning details for a load -// balancer which has been deleted. -func Get(c *gophercloud.ServiceClient, id int) GetResult { - var res GetResult - - _, res.Err = c.Get(resourceURL(c, id), &res.Body, &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - - return res -} - -// BulkDelete removes all the load balancers referenced in the slice of IDs. -// Any and all configuration data associated with these load balancers is -// immediately purged and is not recoverable. -// -// If one of the items in the list cannot be removed due to its current status, -// a 400 Bad Request error is returned along with the IDs of the ones the -// system identified as potential failures for this request. -func BulkDelete(c *gophercloud.ServiceClient, ids []int) DeleteResult { - var res DeleteResult - - if len(ids) > 10 || len(ids) == 0 { - res.Err = errors.New("You must provide a minimum of 1 and a maximum of 10 LB IDs") - return res - } - - url := rootURL(c) - url += gophercloud.IDSliceToQueryString("id", ids) - - _, res.Err = c.Delete(url, nil) - return res -} - -// Delete removes a single load balancer. -func Delete(c *gophercloud.ServiceClient, id int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(resourceURL(c, id), nil) - return res -} - -// UpdateOptsBuilder represents a type that can be converted into a JSON-like -// map structure. -type UpdateOptsBuilder interface { - ToLBUpdateMap() (map[string]interface{}, error) -} - -// UpdateOpts represents the options for updating an existing load balancer. -type UpdateOpts struct { - // Optional - new name of the load balancer. - Name string - - // Optional - the new protocol you want your load balancer to have. - // See http://docs.rackspace.com/loadbalancers/api/v1.0/clb-devguide/content/protocols.html - // for a full list of supported protocols. - Protocol string - - // Optional - see the HalfClosed field in CreateOpts for more information. - HalfClosed gophercloud.EnabledState - - // Optional - see the Algorithm field in CreateOpts for more information. - Algorithm string - - // Optional - see the Port field in CreateOpts for more information. - Port int - - // Optional - see the Timeout field in CreateOpts for more information. - Timeout int - - // Optional - see the HTTPSRedirect field in CreateOpts for more information. - HTTPSRedirect gophercloud.EnabledState -} - -// ToLBUpdateMap casts an UpdateOpts struct to a map. -func (opts UpdateOpts) ToLBUpdateMap() (map[string]interface{}, error) { - lb := make(map[string]interface{}) - - if opts.Name != "" { - lb["name"] = opts.Name - } - if opts.Protocol != "" { - lb["protocol"] = opts.Protocol - } - if opts.HalfClosed != nil { - lb["halfClosed"] = opts.HalfClosed - } - if opts.Algorithm != "" { - lb["algorithm"] = opts.Algorithm - } - if opts.Port > 0 { - lb["port"] = opts.Port - } - if opts.Timeout > 0 { - lb["timeout"] = opts.Timeout - } - if opts.HTTPSRedirect != nil { - lb["httpsRedirect"] = &opts.HTTPSRedirect - } - - return map[string]interface{}{"loadBalancer": lb}, nil -} - -// Update is the operation responsible for asynchronously updating the -// attributes of a specific load balancer. Upon successful validation of the -// request, the service returns a 202 Accepted response, and the load balancer -// enters a PENDING_UPDATE state. A user can poll the load balancer with Get to -// wait for the changes to be applied. When this happens, the load balancer will -// return to an ACTIVE state. -func Update(c *gophercloud.ServiceClient, id int, opts UpdateOptsBuilder) UpdateResult { - var res UpdateResult - - reqBody, err := opts.ToLBUpdateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(resourceURL(c, id), reqBody, nil, nil) - return res -} - -// ListProtocols is the operation responsible for returning a paginated -// collection of load balancer protocols. -func ListProtocols(client *gophercloud.ServiceClient) pagination.Pager { - url := protocolsURL(client) - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return ProtocolPage{pagination.SinglePageBase(r)} - }) -} - -// ListAlgorithms is the operation responsible for returning a paginated -// collection of load balancer algorithms. -func ListAlgorithms(client *gophercloud.ServiceClient) pagination.Pager { - url := algorithmsURL(client) - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return AlgorithmPage{pagination.SinglePageBase(r)} - }) -} - -// IsLoggingEnabled returns true if the load balancer has connection logging -// enabled and false if not. -func IsLoggingEnabled(client *gophercloud.ServiceClient, id int) (bool, error) { - var body interface{} - - _, err := client.Get(loggingURL(client, id), &body, nil) - if err != nil { - return false, err - } - - var resp struct { - CL struct { - Enabled bool `mapstructure:"enabled"` - } `mapstructure:"connectionLogging"` - } - - err = mapstructure.Decode(body, &resp) - return resp.CL.Enabled, err -} - -func toConnLoggingMap(state bool) map[string]map[string]bool { - return map[string]map[string]bool{ - "connectionLogging": map[string]bool{"enabled": state}, - } -} - -// EnableLogging will enable connection logging for a specified load balancer. -func EnableLogging(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult { - var res gophercloud.ErrResult - _, res.Err = client.Put(loggingURL(client, id), toConnLoggingMap(true), nil, nil) - return res -} - -// DisableLogging will disable connection logging for a specified load balancer. -func DisableLogging(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult { - var res gophercloud.ErrResult - _, res.Err = client.Put(loggingURL(client, id), toConnLoggingMap(false), nil, nil) - return res -} - -// GetErrorPage will retrieve the current error page for the load balancer. -func GetErrorPage(client *gophercloud.ServiceClient, id int) ErrorPageResult { - var res ErrorPageResult - _, res.Err = client.Get(errorPageURL(client, id), &res.Body, nil) - return res -} - -// SetErrorPage will set the HTML of the load balancer's error page to a -// specific value. -func SetErrorPage(client *gophercloud.ServiceClient, id int, html string) ErrorPageResult { - var res ErrorPageResult - - type stringMap map[string]string - reqBody := map[string]stringMap{"errorpage": stringMap{"content": html}} - - _, res.Err = client.Put(errorPageURL(client, id), reqBody, &res.Body, &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - - return res -} - -// DeleteErrorPage will delete the current error page for the load balancer. -func DeleteErrorPage(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult { - var res gophercloud.ErrResult - _, res.Err = client.Delete(errorPageURL(client, id), &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - return res -} - -// GetStats will retrieve detailed stats related to the load balancer's usage. -func GetStats(client *gophercloud.ServiceClient, id int) StatsResult { - var res StatsResult - _, res.Err = client.Get(statsURL(client, id), &res.Body, nil) - return res -} - -// IsContentCached will check to see whether the specified load balancer caches -// content. When content caching is enabled, recently-accessed files are stored -// on the load balancer for easy retrieval by web clients. Content caching -// improves the performance of high traffic web sites by temporarily storing -// data that was recently accessed. While it's cached, requests for that data -// are served by the load balancer, which in turn reduces load off the back-end -// nodes. The result is improved response times for those requests and less -// load on the web server. -func IsContentCached(client *gophercloud.ServiceClient, id int) (bool, error) { - var body interface{} - - _, err := client.Get(cacheURL(client, id), &body, nil) - if err != nil { - return false, err - } - - var resp struct { - CC struct { - Enabled bool `mapstructure:"enabled"` - } `mapstructure:"contentCaching"` - } - - err = mapstructure.Decode(body, &resp) - return resp.CC.Enabled, err -} - -func toCachingMap(state bool) map[string]map[string]bool { - return map[string]map[string]bool{ - "contentCaching": map[string]bool{"enabled": state}, - } -} - -// EnableCaching will enable content-caching for the specified load balancer. -func EnableCaching(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult { - var res gophercloud.ErrResult - _, res.Err = client.Put(cacheURL(client, id), toCachingMap(true), nil, nil) - return res -} - -// DisableCaching will disable content-caching for the specified load balancer. -func DisableCaching(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult { - var res gophercloud.ErrResult - _, res.Err = client.Put(cacheURL(client, id), toCachingMap(false), nil, nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/results.go deleted file mode 100644 index 98f3962d7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/results.go +++ /dev/null @@ -1,420 +0,0 @@ -package lbs - -import ( - "reflect" - "time" - - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" - "github.com/rackspace/gophercloud/rackspace/lb/v1/acl" - "github.com/rackspace/gophercloud/rackspace/lb/v1/nodes" - "github.com/rackspace/gophercloud/rackspace/lb/v1/sessions" - "github.com/rackspace/gophercloud/rackspace/lb/v1/throttle" - "github.com/rackspace/gophercloud/rackspace/lb/v1/vips" -) - -// Protocol represents the network protocol which the load balancer accepts. -type Protocol struct { - // The name of the protocol, e.g. HTTP, LDAP, FTP, etc. - Name string - - // The port number for the protocol. - Port int -} - -// Algorithm defines how traffic should be directed between back-end nodes. -type Algorithm struct { - // The name of the algorithm, e.g RANDOM, ROUND_ROBIN, etc. - Name string -} - -// Status represents the potential state of a load balancer resource. -type Status string - -const ( - // ACTIVE indicates that the LB is configured properly and ready to serve - // traffic to incoming requests via the configured virtual IPs. - ACTIVE Status = "ACTIVE" - - // BUILD indicates that the LB is being provisioned for the first time and - // configuration is being applied to bring the service online. The service - // cannot yet serve incoming requests. - BUILD Status = "BUILD" - - // PENDINGUPDATE indicates that the LB is online but configuration changes - // are being applied to update the service based on a previous request. - PENDINGUPDATE Status = "PENDING_UPDATE" - - // PENDINGDELETE indicates that the LB is online but configuration changes - // are being applied to begin deletion of the service based on a previous - // request. - PENDINGDELETE Status = "PENDING_DELETE" - - // SUSPENDED indicates that the LB has been taken offline and disabled. - SUSPENDED Status = "SUSPENDED" - - // ERROR indicates that the system encountered an error when attempting to - // configure the load balancer. - ERROR Status = "ERROR" - - // DELETED indicates that the LB has been deleted. - DELETED Status = "DELETED" -) - -// Datetime represents the structure of a Created or Updated field. -type Datetime struct { - Time time.Time `mapstructure:"-"` -} - -// LoadBalancer represents a load balancer API resource. -type LoadBalancer struct { - // Human-readable name for the load balancer. - Name string - - // The unique ID for the load balancer. - ID int - - // Represents the service protocol being load balanced. See Protocol type for - // a list of accepted values. - // See http://docs.rackspace.com/loadbalancers/api/v1.0/clb-devguide/content/protocols.html - // for a full list of supported protocols. - Protocol string - - // Defines how traffic should be directed between back-end nodes. The default - // algorithm is RANDOM. See Algorithm type for a list of accepted values. - Algorithm string - - // The current status of the load balancer. - Status Status - - // The number of load balancer nodes. - NodeCount int `mapstructure:"nodeCount"` - - // Slice of virtual IPs associated with this load balancer. - VIPs []vips.VIP `mapstructure:"virtualIps"` - - // Datetime when the LB was created. - Created Datetime - - // Datetime when the LB was created. - Updated Datetime - - // Port number for the service you are load balancing. - Port int - - // HalfClosed provides the ability for one end of the connection to - // terminate its output while still receiving data from the other end. This - // is only available on TCP/TCP_CLIENT_FIRST protocols. - HalfClosed bool - - // Timeout represents the timeout value between a load balancer and its - // nodes. Defaults to 30 seconds with a maximum of 120 seconds. - Timeout int - - // The cluster name. - Cluster Cluster - - // Nodes shows all the back-end nodes which are associated with the load - // balancer. These are the devices which are delivered traffic. - Nodes []nodes.Node - - // Current connection logging configuration. - ConnectionLogging ConnectionLogging - - // SessionPersistence specifies whether multiple requests from clients are - // directed to the same node. - SessionPersistence sessions.SessionPersistence - - // ConnectionThrottle specifies a limit on the number of connections per IP - // address to help mitigate malicious or abusive traffic to your applications. - ConnectionThrottle throttle.ConnectionThrottle - - // The source public and private IP addresses. - SourceAddrs SourceAddrs `mapstructure:"sourceAddresses"` - - // Represents the access rules for this particular load balancer. IP addresses - // or subnet ranges, depending on their type (ALLOW or DENY), can be permitted - // or blocked. - AccessList acl.AccessList -} - -// SourceAddrs represents the source public and private IP addresses. -type SourceAddrs struct { - IPv4Public string `json:"ipv4Public" mapstructure:"ipv4Public"` - IPv4Private string `json:"ipv4Servicenet" mapstructure:"ipv4Servicenet"` - IPv6Public string `json:"ipv6Public" mapstructure:"ipv6Public"` - IPv6Private string `json:"ipv6Servicenet" mapstructure:"ipv6Servicenet"` -} - -// ConnectionLogging - temp -type ConnectionLogging struct { - Enabled bool -} - -// Cluster - temp -type Cluster struct { - Name string -} - -// LBPage is the page returned by a pager when traversing over a collection of -// LBs. -type LBPage struct { - pagination.LinkedPageBase -} - -// IsEmpty checks whether a NetworkPage struct is empty. -func (p LBPage) IsEmpty() (bool, error) { - is, err := ExtractLBs(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -// ExtractLBs accepts a Page struct, specifically a LBPage struct, and extracts -// the elements into a slice of LoadBalancer structs. In other words, a generic -// collection is mapped into a relevant slice. -func ExtractLBs(page pagination.Page) ([]LoadBalancer, error) { - var resp struct { - LBs []LoadBalancer `mapstructure:"loadBalancers" json:"loadBalancers"` - } - - coll := page.(LBPage).Body - err := mapstructure.Decode(coll, &resp) - - s := reflect.ValueOf(coll.(map[string]interface{})["loadBalancers"]) - - for i := 0; i < s.Len(); i++ { - val := (s.Index(i).Interface()).(map[string]interface{}) - - ts, err := extractTS(val, "created") - if err != nil { - return resp.LBs, err - } - resp.LBs[i].Created.Time = ts - - ts, err = extractTS(val, "updated") - if err != nil { - return resp.LBs, err - } - resp.LBs[i].Updated.Time = ts - } - - return resp.LBs, err -} - -func extractTS(body map[string]interface{}, key string) (time.Time, error) { - val := body[key].(map[string]interface{}) - return time.Parse(time.RFC3339, val["time"].(string)) -} - -type commonResult struct { - gophercloud.Result -} - -// Extract interprets any commonResult as a LB, if possible. -func (r commonResult) Extract() (*LoadBalancer, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - LB LoadBalancer `mapstructure:"loadBalancer"` - } - - err := mapstructure.Decode(r.Body, &response) - - json := r.Body.(map[string]interface{}) - lb := json["loadBalancer"].(map[string]interface{}) - - ts, err := extractTS(lb, "created") - if err != nil { - return nil, err - } - response.LB.Created.Time = ts - - ts, err = extractTS(lb, "updated") - if err != nil { - return nil, err - } - response.LB.Updated.Time = ts - - return &response.LB, err -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - commonResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -// UpdateResult represents the result of an update operation. -type UpdateResult struct { - gophercloud.ErrResult -} - -// GetResult represents the result of a get operation. -type GetResult struct { - commonResult -} - -// ProtocolPage is the page returned by a pager when traversing over a -// collection of LB protocols. -type ProtocolPage struct { - pagination.SinglePageBase -} - -// IsEmpty checks whether a ProtocolPage struct is empty. -func (p ProtocolPage) IsEmpty() (bool, error) { - is, err := ExtractProtocols(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -// ExtractProtocols accepts a Page struct, specifically a ProtocolPage struct, -// and extracts the elements into a slice of Protocol structs. In other -// words, a generic collection is mapped into a relevant slice. -func ExtractProtocols(page pagination.Page) ([]Protocol, error) { - var resp struct { - Protocols []Protocol `mapstructure:"protocols" json:"protocols"` - } - err := mapstructure.Decode(page.(ProtocolPage).Body, &resp) - return resp.Protocols, err -} - -// AlgorithmPage is the page returned by a pager when traversing over a -// collection of LB algorithms. -type AlgorithmPage struct { - pagination.SinglePageBase -} - -// IsEmpty checks whether an AlgorithmPage struct is empty. -func (p AlgorithmPage) IsEmpty() (bool, error) { - is, err := ExtractAlgorithms(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -// ExtractAlgorithms accepts a Page struct, specifically an AlgorithmPage struct, -// and extracts the elements into a slice of Algorithm structs. In other -// words, a generic collection is mapped into a relevant slice. -func ExtractAlgorithms(page pagination.Page) ([]Algorithm, error) { - var resp struct { - Algorithms []Algorithm `mapstructure:"algorithms" json:"algorithms"` - } - err := mapstructure.Decode(page.(AlgorithmPage).Body, &resp) - return resp.Algorithms, err -} - -// ErrorPage represents the HTML file that is shown to an end user who is -// attempting to access a load balancer node that is offline/unavailable. -// -// During provisioning, every load balancer is configured with a default error -// page that gets displayed when traffic is requested for an offline node. -// -// You can add a single custom error page with an HTTP-based protocol to a load -// balancer. Page updates override existing content. If a custom error page is -// deleted, or the load balancer is changed to a non-HTTP protocol, the default -// error page is restored. -type ErrorPage struct { - Content string -} - -// ErrorPageResult represents the result of an error page operation - -// specifically getting or creating one. -type ErrorPageResult struct { - gophercloud.Result -} - -// Extract interprets any commonResult as an ErrorPage, if possible. -func (r ErrorPageResult) Extract() (*ErrorPage, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - ErrorPage ErrorPage `mapstructure:"errorpage"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.ErrorPage, err -} - -// Stats represents all the key information about a load balancer's usage. -type Stats struct { - // The number of connections closed by this load balancer because its - // ConnectTimeout interval was exceeded. - ConnectTimeout int `mapstructure:"connectTimeOut"` - - // The number of transaction or protocol errors for this load balancer. - ConnectError int - - // Number of connection failures for this load balancer. - ConnectFailure int - - // Number of connections closed by this load balancer because its Timeout - // interval was exceeded. - DataTimedOut int - - // Number of connections closed by this load balancer because the - // 'keepalive_timeout' interval was exceeded. - KeepAliveTimedOut int - - // The maximum number of simultaneous TCP connections this load balancer has - // processed at any one time. - MaxConnections int `mapstructure:"maxConn"` - - // Number of simultaneous connections active at the time of the request. - CurrentConnections int `mapstructure:"currentConn"` - - // Number of SSL connections closed by this load balancer because the - // ConnectTimeout interval was exceeded. - SSLConnectTimeout int `mapstructure:"connectTimeOutSsl"` - - // Number of SSL transaction or protocol erros in this load balancer. - SSLConnectError int `mapstructure:"connectErrorSsl"` - - // Number of SSL connection failures in this load balancer. - SSLConnectFailure int `mapstructure:"connectFailureSsl"` - - // Number of SSL connections closed by this load balancer because the - // Timeout interval was exceeded. - SSLDataTimedOut int `mapstructure:"dataTimedOutSsl"` - - // Number of SSL connections closed by this load balancer because the - // 'keepalive_timeout' interval was exceeded. - SSLKeepAliveTimedOut int `mapstructure:"keepAliveTimedOutSsl"` - - // Maximum number of simultaneous SSL connections this load balancer has - // processed at any one time. - SSLMaxConnections int `mapstructure:"maxConnSsl"` - - // Number of simultaneous SSL connections active at the time of the request. - SSLCurrentConnections int `mapstructure:"currentConnSsl"` -} - -// StatsResult represents the result of a Stats operation. -type StatsResult struct { - gophercloud.Result -} - -// Extract interprets any commonResult as a Stats struct, if possible. -func (r StatsResult) Extract() (*Stats, error) { - if r.Err != nil { - return nil, r.Err - } - res := &Stats{} - err := mapstructure.Decode(r.Body, res) - return res, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/urls.go deleted file mode 100644 index 471a86b0a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs/urls.go +++ /dev/null @@ -1,49 +0,0 @@ -package lbs - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - path = "loadbalancers" - protocolsPath = "protocols" - algorithmsPath = "algorithms" - logPath = "connectionlogging" - epPath = "errorpage" - stPath = "stats" - cachePath = "contentcaching" -) - -func resourceURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id)) -} - -func rootURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(path) -} - -func protocolsURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(path, protocolsPath) -} - -func algorithmsURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(path, algorithmsPath) -} - -func loggingURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), logPath) -} - -func errorPageURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), epPath) -} - -func statsURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), stPath) -} - -func cacheURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), cachePath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/doc.go deleted file mode 100644 index 2c5be75ae..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/doc.go +++ /dev/null @@ -1,21 +0,0 @@ -/* -Package monitors provides information and interaction with the Health Monitor -API resource for the Rackspace Cloud Load Balancer service. - -The load balancing service includes a health monitoring resource that -periodically checks your back-end nodes to ensure they are responding correctly. -If a node does not respond, it is removed from rotation until the health monitor -determines that the node is functional. In addition to being performed -periodically, a health check also executes against every new node that is -added, to ensure that the node is operating properly before allowing it to -service traffic. Only one health monitor is allowed to be enabled on a load -balancer at a time. - -As part of a good strategy for monitoring connections, secondary nodes should -also be created which provide failover for effectively routing traffic in case -the primary node fails. This is an additional feature that ensures that you -remain up in case your primary node fails. - -There are three types of health monitor: CONNECT, HTTP and HTTPS. -*/ -package monitors diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/fixtures.go deleted file mode 100644 index a565abced..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/fixtures.go +++ /dev/null @@ -1,87 +0,0 @@ -package monitors - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(lbID int) string { - return "/loadbalancers/" + strconv.Itoa(lbID) + "/healthmonitor" -} - -func mockGetResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "healthMonitor": { - "type": "CONNECT", - "delay": 10, - "timeout": 10, - "attemptsBeforeDeactivation": 3 - } -} - `) - }) -} - -func mockUpdateConnectResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "healthMonitor": { - "type": "CONNECT", - "delay": 10, - "timeout": 10, - "attemptsBeforeDeactivation": 3 - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockUpdateHTTPResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "healthMonitor": { - "attemptsBeforeDeactivation": 3, - "bodyRegex": "{regex}", - "delay": 10, - "path": "/foo", - "statusRegex": "200", - "timeout": 10, - "type": "HTTPS" - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDeleteResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/requests.go deleted file mode 100644 index d4ba27653..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/requests.go +++ /dev/null @@ -1,160 +0,0 @@ -package monitors - -import ( - "errors" - - "github.com/rackspace/gophercloud" -) - -var ( - errAttemptLimit = errors.New("AttemptLimit field must be an int greater than 1 and less than 10") - errDelay = errors.New("Delay field must be an int greater than 1 and less than 10") - errTimeout = errors.New("Timeout field must be an int greater than 1 and less than 10") -) - -// UpdateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Update operation in this package. -type UpdateOptsBuilder interface { - ToMonitorUpdateMap() (map[string]interface{}, error) -} - -// UpdateConnectMonitorOpts represents the options needed to update a CONNECT -// monitor. -type UpdateConnectMonitorOpts struct { - // Required - number of permissible monitor failures before removing a node - // from rotation. Must be a number between 1 and 10. - AttemptLimit int - - // Required - the minimum number of seconds to wait before executing the - // health monitor. Must be a number between 1 and 3600. - Delay int - - // Required - maximum number of seconds to wait for a connection to be - // established before timing out. Must be a number between 1 and 300. - Timeout int -} - -// ToMonitorUpdateMap produces a map for updating CONNECT monitors. -func (opts UpdateConnectMonitorOpts) ToMonitorUpdateMap() (map[string]interface{}, error) { - type m map[string]interface{} - - if !gophercloud.IntWithinRange(opts.AttemptLimit, 1, 10) { - return m{}, errAttemptLimit - } - if !gophercloud.IntWithinRange(opts.Delay, 1, 3600) { - return m{}, errDelay - } - if !gophercloud.IntWithinRange(opts.Timeout, 1, 300) { - return m{}, errTimeout - } - - return m{"healthMonitor": m{ - "attemptsBeforeDeactivation": opts.AttemptLimit, - "delay": opts.Delay, - "timeout": opts.Timeout, - "type": CONNECT, - }}, nil -} - -// UpdateHTTPMonitorOpts represents the options needed to update a HTTP monitor. -type UpdateHTTPMonitorOpts struct { - // Required - number of permissible monitor failures before removing a node - // from rotation. Must be a number between 1 and 10. - AttemptLimit int `mapstructure:"attemptsBeforeDeactivation"` - - // Required - the minimum number of seconds to wait before executing the - // health monitor. Must be a number between 1 and 3600. - Delay int - - // Required - maximum number of seconds to wait for a connection to be - // established before timing out. Must be a number between 1 and 300. - Timeout int - - // Required - a regular expression that will be used to evaluate the contents - // of the body of the response. - BodyRegex string - - // Required - the HTTP path that will be used in the sample request. - Path string - - // Required - a regular expression that will be used to evaluate the HTTP - // status code returned in the response. - StatusRegex string - - // Optional - the name of a host for which the health monitors will check. - HostHeader string - - // Required - either HTTP or HTTPS - Type Type -} - -// ToMonitorUpdateMap produces a map for updating HTTP(S) monitors. -func (opts UpdateHTTPMonitorOpts) ToMonitorUpdateMap() (map[string]interface{}, error) { - type m map[string]interface{} - - if !gophercloud.IntWithinRange(opts.AttemptLimit, 1, 10) { - return m{}, errAttemptLimit - } - if !gophercloud.IntWithinRange(opts.Delay, 1, 3600) { - return m{}, errDelay - } - if !gophercloud.IntWithinRange(opts.Timeout, 1, 300) { - return m{}, errTimeout - } - if opts.Type != HTTP && opts.Type != HTTPS { - return m{}, errors.New("Type must either by HTTP or HTTPS") - } - if opts.BodyRegex == "" { - return m{}, errors.New("BodyRegex is a required field") - } - if opts.Path == "" { - return m{}, errors.New("Path is a required field") - } - if opts.StatusRegex == "" { - return m{}, errors.New("StatusRegex is a required field") - } - - json := m{ - "attemptsBeforeDeactivation": opts.AttemptLimit, - "delay": opts.Delay, - "timeout": opts.Timeout, - "type": opts.Type, - "bodyRegex": opts.BodyRegex, - "path": opts.Path, - "statusRegex": opts.StatusRegex, - } - - if opts.HostHeader != "" { - json["hostHeader"] = opts.HostHeader - } - - return m{"healthMonitor": json}, nil -} - -// Update is the operation responsible for updating a health monitor. -func Update(c *gophercloud.ServiceClient, id int, opts UpdateOptsBuilder) UpdateResult { - var res UpdateResult - - reqBody, err := opts.ToMonitorUpdateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(rootURL(c, id), reqBody, nil, nil) - return res -} - -// Get is the operation responsible for showing details of a health monitor. -func Get(c *gophercloud.ServiceClient, id int) GetResult { - var res GetResult - _, res.Err = c.Get(rootURL(c, id), &res.Body, nil) - return res -} - -// Delete is the operation responsible for deleting a health monitor. -func Delete(c *gophercloud.ServiceClient, id int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(rootURL(c, id), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/results.go deleted file mode 100644 index eec556f34..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/results.go +++ /dev/null @@ -1,90 +0,0 @@ -package monitors - -import ( - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" -) - -// Type represents the type of Monitor. -type Type string - -// Useful constants. -const ( - CONNECT Type = "CONNECT" - HTTP Type = "HTTP" - HTTPS Type = "HTTPS" -) - -// Monitor represents a health monitor API resource. A monitor comes in three -// forms: CONNECT, HTTP or HTTPS. -// -// A CONNECT monitor establishes a basic connection to each node on its defined -// port to ensure that the service is listening properly. The connect monitor -// is the most basic type of health check and does no post-processing or -// protocol-specific health checks. -// -// HTTP and HTTPS health monitors are generally considered more intelligent and -// powerful than CONNECT. It is capable of processing an HTTP or HTTPS response -// to determine the condition of a node. It supports the same basic properties -// as CONNECT and includes additional attributes that are used to evaluate the -// HTTP response. -type Monitor struct { - // Number of permissible monitor failures before removing a node from - // rotation. - AttemptLimit int `mapstructure:"attemptsBeforeDeactivation"` - - // The minimum number of seconds to wait before executing the health monitor. - Delay int - - // Maximum number of seconds to wait for a connection to be established - // before timing out. - Timeout int - - // Type of the health monitor. - Type Type - - // A regular expression that will be used to evaluate the contents of the - // body of the response. - BodyRegex string - - // The name of a host for which the health monitors will check. - HostHeader string - - // The HTTP path that will be used in the sample request. - Path string - - // A regular expression that will be used to evaluate the HTTP status code - // returned in the response. - StatusRegex string -} - -// UpdateResult represents the result of an Update operation. -type UpdateResult struct { - gophercloud.ErrResult -} - -// GetResult represents the result of a Get operation. -type GetResult struct { - gophercloud.Result -} - -// DeleteResult represents the result of an Delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -// Extract interprets any GetResult as a Monitor. -func (r GetResult) Extract() (*Monitor, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - M Monitor `mapstructure:"healthMonitor"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.M, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/urls.go deleted file mode 100644 index 0a1e6df5f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors/urls.go +++ /dev/null @@ -1,16 +0,0 @@ -package monitors - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - path = "loadbalancers" - monitorPath = "healthmonitor" -) - -func rootURL(c *gophercloud.ServiceClient, lbID int) string { - return c.ServiceURL(path, strconv.Itoa(lbID), monitorPath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/doc.go deleted file mode 100644 index 49c431894..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/doc.go +++ /dev/null @@ -1,35 +0,0 @@ -/* -Package nodes provides information and interaction with the Node API resource -for the Rackspace Cloud Load Balancer service. - -Nodes are responsible for servicing the requests received through the load -balancer's virtual IP. A node is usually a virtual machine. By default, the -load balancer employs a basic health check that ensures the node is listening -on its defined port. The node is checked at the time of addition and at regular -intervals as defined by the load balancer's health check configuration. If a -back-end node is not listening on its port, or does not meet the conditions of -the defined check, then connections will not be forwarded to the node, and its -status is changed to OFFLINE. Only nodes that are in an ONLINE status receive -and can service traffic from the load balancer. - -All nodes have an associated status that indicates whether the node is -ONLINE, OFFLINE, or DRAINING. Only nodes that are in ONLINE status can receive -and service traffic from the load balancer. The OFFLINE status represents a -node that cannot accept or service traffic. A node in DRAINING status -represents a node that stops the traffic manager from sending any additional -new connections to the node, but honors established sessions. If the traffic -manager receives a request and session persistence requires that the node is -used, the traffic manager uses it. The status is determined by the passive or -active health monitors. - -If the WEIGHTED_ROUND_ROBIN load balancer algorithm mode is selected, then the -caller should assign the relevant weights to the node as part of the weight -attribute of the node element. When the algorithm of the load balancer is -changed to WEIGHTED_ROUND_ROBIN and the nodes do not already have an assigned -weight, the service automatically sets the weight to 1 for all nodes. - -One or more secondary nodes can be added to a specified load balancer so that -if all the primary nodes fail, traffic can be redirected to secondary nodes. -The type attribute allows configuring the node as either PRIMARY or SECONDARY. -*/ -package nodes diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/fixtures.go deleted file mode 100644 index 8899fc5e9..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/fixtures.go +++ /dev/null @@ -1,243 +0,0 @@ -package nodes - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(lbID int) string { - return "/loadbalancers/" + strconv.Itoa(lbID) + "/nodes" -} - -func _nodeURL(lbID, nodeID int) string { - return _rootURL(lbID) + "/" + strconv.Itoa(nodeID) -} - -func mockListResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "nodes": [ - { - "id": 410, - "address": "10.1.1.1", - "port": 80, - "condition": "ENABLED", - "status": "ONLINE", - "weight": 3, - "type": "PRIMARY" - }, - { - "id": 411, - "address": "10.1.1.2", - "port": 80, - "condition": "ENABLED", - "status": "ONLINE", - "weight": 8, - "type": "SECONDARY" - } - ] -} - `) - }) -} - -func mockCreateResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "nodes": [ - { - "address": "10.2.2.3", - "port": 80, - "condition": "ENABLED", - "type": "PRIMARY" - }, - { - "address": "10.2.2.4", - "port": 81, - "condition": "ENABLED", - "type": "SECONDARY" - } - ] -} - `) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusAccepted) - - fmt.Fprintf(w, ` -{ - "nodes": [ - { - "address": "10.2.2.3", - "id": 185, - "port": 80, - "status": "ONLINE", - "condition": "ENABLED", - "weight": 1, - "type": "PRIMARY" - }, - { - "address": "10.2.2.4", - "id": 186, - "port": 81, - "status": "ONLINE", - "condition": "ENABLED", - "weight": 1, - "type": "SECONDARY" - } - ] -} - `) - }) -} - -func mockCreateErrResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "nodes": [ - { - "address": "10.2.2.3", - "port": 80, - "condition": "ENABLED", - "type": "PRIMARY" - }, - { - "address": "10.2.2.4", - "port": 81, - "condition": "ENABLED", - "type": "SECONDARY" - } - ] -} - `) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(422) // Unprocessable Entity - - fmt.Fprintf(w, ` -{ - "code": 422, - "message": "Load Balancer '%d' has a status of 'PENDING_UPDATE' and is considered immutable." -} - `, lbID) - }) -} - -func mockBatchDeleteResponse(t *testing.T, lbID int, ids []int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - r.ParseForm() - - for k, v := range ids { - fids := r.Form["id"] - th.AssertEquals(t, strconv.Itoa(v), fids[k]) - } - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDeleteResponse(t *testing.T, lbID, nodeID int) { - th.Mux.HandleFunc(_nodeURL(lbID, nodeID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockGetResponse(t *testing.T, lbID, nodeID int) { - th.Mux.HandleFunc(_nodeURL(lbID, nodeID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "node": { - "id": 410, - "address": "10.1.1.1", - "port": 80, - "condition": "ENABLED", - "status": "ONLINE", - "weight": 12, - "type": "PRIMARY" - } -} - `) - }) -} - -func mockUpdateResponse(t *testing.T, lbID, nodeID int) { - th.Mux.HandleFunc(_nodeURL(lbID, nodeID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "node": { - "condition": "DRAINING", - "weight": 10, - "type": "SECONDARY" - } -} - `) - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockListEventsResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID)+"/events", func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "nodeServiceEvents": [ - { - "detailedMessage": "Node is ok", - "nodeId": 373, - "id": 7, - "type": "UPDATE_NODE", - "description": "Node '373' status changed to 'ONLINE' for load balancer '323'", - "category": "UPDATE", - "severity": "INFO", - "relativeUri": "/406271/loadbalancers/323/nodes/373/events", - "accountId": 406271, - "loadbalancerId": 323, - "title": "Node Status Updated", - "author": "Rackspace Cloud", - "created": "10-30-2012 10:18:23" - } - ] -} -`) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/requests.go deleted file mode 100644 index 9da376f83..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/requests.go +++ /dev/null @@ -1,286 +0,0 @@ -package nodes - -import ( - "errors" - "fmt" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List is the operation responsible for returning a paginated collection of -// load balancer nodes. It requires the node ID, its parent load balancer ID, -// and optional limit integer (passed in either as a pointer or a nil poitner). -func List(client *gophercloud.ServiceClient, loadBalancerID int, limit *int) pagination.Pager { - url := rootURL(client, loadBalancerID) - if limit != nil { - url += fmt.Sprintf("?limit=%d", limit) - } - - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return NodePage{pagination.SinglePageBase(r)} - }) -} - -// CreateOptsBuilder is the interface responsible for generating the JSON -// for a Create operation. -type CreateOptsBuilder interface { - ToNodeCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is a slice of CreateOpt structs, that allow the user to create -// multiple nodes in a single operation (one node per CreateOpt). -type CreateOpts []CreateOpt - -// CreateOpt represents the options to create a single node. -type CreateOpt struct { - // Required - the IP address or CIDR for this back-end node. It can either be - // a private IP (ServiceNet) or a public IP. - Address string - - // Optional - the port on which traffic is sent and received. - Port int - - // Optional - the condition of the node. See the consts in Results.go. - Condition Condition - - // Optional - the type of the node. See the consts in Results.go. - Type Type - - // Optional - a pointer to an integer between 0 and 100. - Weight *int -} - -func validateWeight(weight *int) error { - if weight != nil && (*weight > 100 || *weight < 0) { - return errors.New("Weight must be a valid int between 0 and 100") - } - return nil -} - -// ToNodeCreateMap converts a slice of options into a map that can be used for -// the JSON. -func (opts CreateOpts) ToNodeCreateMap() (map[string]interface{}, error) { - type nodeMap map[string]interface{} - nodes := []nodeMap{} - - for k, v := range opts { - if v.Address == "" { - return nodeMap{}, fmt.Errorf("ID is a required attribute, none provided for %d CreateOpt element", k) - } - if weightErr := validateWeight(v.Weight); weightErr != nil { - return nodeMap{}, weightErr - } - - node := make(map[string]interface{}) - node["address"] = v.Address - - if v.Port > 0 { - node["port"] = v.Port - } - if v.Condition != "" { - node["condition"] = v.Condition - } - if v.Type != "" { - node["type"] = v.Type - } - if v.Weight != nil { - node["weight"] = &v.Weight - } - - nodes = append(nodes, node) - } - - return nodeMap{"nodes": nodes}, nil -} - -// Create is the operation responsible for creating a new node on a load -// balancer. Since every load balancer exists in both ServiceNet and the public -// Internet, both private and public IP addresses can be used for nodes. -// -// If nodes need time to boot up services before they become operational, you -// can temporarily prevent traffic from being sent to that node by setting the -// Condition field to DRAINING. Health checks will still be performed; but once -// your node is ready, you can update its condition to ENABLED and have it -// handle traffic. -func Create(client *gophercloud.ServiceClient, loadBalancerID int, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToNodeCreateMap() - if err != nil { - res.Err = err - return res - } - - resp, err := client.Post(rootURL(client, loadBalancerID), reqBody, &res.Body, nil) - - if err != nil { - res.Err = err - return res - } - - pr := pagination.PageResultFromParsed(resp, res.Body) - return CreateResult{pagination.SinglePageBase(pr)} -} - -// BulkDelete is the operation responsible for batch deleting multiple nodes in -// a single operation. It accepts a slice of integer IDs and will remove them -// from the load balancer. The maximum limit is 10 node removals at once. -func BulkDelete(c *gophercloud.ServiceClient, loadBalancerID int, nodeIDs []int) DeleteResult { - var res DeleteResult - - if len(nodeIDs) > 10 || len(nodeIDs) == 0 { - res.Err = errors.New("You must provide a minimum of 1 and a maximum of 10 node IDs") - return res - } - - url := rootURL(c, loadBalancerID) - url += gophercloud.IDSliceToQueryString("id", nodeIDs) - - _, res.Err = c.Delete(url, nil) - return res -} - -// Get is the operation responsible for showing details for a single node. -func Get(c *gophercloud.ServiceClient, lbID, nodeID int) GetResult { - var res GetResult - _, res.Err = c.Get(resourceURL(c, lbID, nodeID), &res.Body, nil) - return res -} - -// UpdateOptsBuilder represents a type that can be converted into a JSON-like -// map structure. -type UpdateOptsBuilder interface { - ToNodeUpdateMap() (map[string]interface{}, error) -} - -// UpdateOpts represent the options for updating an existing node. -type UpdateOpts struct { - // Optional - the condition of the node. See the consts in Results.go. - Condition Condition - - // Optional - the type of the node. See the consts in Results.go. - Type Type - - // Optional - a pointer to an integer between 0 and 100. - Weight *int -} - -// ToNodeUpdateMap converts an options struct into a JSON-like map. -func (opts UpdateOpts) ToNodeUpdateMap() (map[string]interface{}, error) { - node := make(map[string]interface{}) - - if opts.Condition != "" { - node["condition"] = opts.Condition - } - if opts.Weight != nil { - if weightErr := validateWeight(opts.Weight); weightErr != nil { - return node, weightErr - } - node["weight"] = &opts.Weight - } - if opts.Type != "" { - node["type"] = opts.Type - } - - return map[string]interface{}{"node": node}, nil -} - -// Update is the operation responsible for updating an existing node. A node's -// IP, port, and status are immutable attributes and cannot be modified. -func Update(c *gophercloud.ServiceClient, lbID, nodeID int, opts UpdateOptsBuilder) UpdateResult { - var res UpdateResult - - reqBody, err := opts.ToNodeUpdateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(resourceURL(c, lbID, nodeID), reqBody, nil, nil) - return res -} - -// Delete is the operation responsible for permanently deleting a node. -func Delete(c *gophercloud.ServiceClient, lbID, nodeID int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(resourceURL(c, lbID, nodeID), nil) - return res -} - -// ListEventsOptsBuilder allows extensions to add additional parameters to the -// List request. -type ListEventsOptsBuilder interface { - ToEventsListQuery() (string, error) -} - -// ListEventsOpts allows the filtering and sorting of paginated collections through -// the API. -type ListEventsOpts struct { - Marker string `q:"marker"` - Limit int `q:"limit"` -} - -// ToEventsListQuery formats a ListOpts into a query string. -func (opts ListEventsOpts) ToEventsListQuery() (string, error) { - q, err := gophercloud.BuildQueryString(opts) - if err != nil { - return "", err - } - return q.String(), nil -} - -// ListEvents is the operation responsible for listing all the events -// associated with the activity between the node and the load balancer. The -// events report errors found with the node. The detailedMessage provides the -// detailed reason for the error. -func ListEvents(client *gophercloud.ServiceClient, loadBalancerID int, opts ListEventsOptsBuilder) pagination.Pager { - url := eventsURL(client, loadBalancerID) - - if opts != nil { - query, err := opts.ToEventsListQuery() - if err != nil { - return pagination.Pager{Err: err} - } - url += query - } - - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return NodeEventPage{pagination.SinglePageBase(r)} - }) -} - -// GetByIPPort locates a load balancer node by IP and port. -func GetByIPPort( - client *gophercloud.ServiceClient, - loadBalancerID int, - address string, - port int, -) (*Node, error) { - - // nil until found - var found *Node - - List(client, loadBalancerID, nil).EachPage(func(page pagination.Page) (bool, error) { - lbNodes, err := ExtractNodes(page) - if err != nil { - return false, err - } - - for _, trialNode := range lbNodes { - if trialNode.Address == address && trialNode.Port == port { - found = &trialNode - return false, nil - } - - } - - return true, nil - }) - - if found == nil { - return nil, errors.New("Unable to get node by IP and Port") - } - - return found, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/results.go deleted file mode 100644 index 57835dc4b..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/results.go +++ /dev/null @@ -1,213 +0,0 @@ -package nodes - -import ( - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// Node represents a back-end device, usually a virtual machine, that can -// handle traffic. It is assigned traffic based on its parent load balancer. -type Node struct { - // The IP address or CIDR for this back-end node. - Address string - - // The unique ID for this node. - ID int - - // The port on which traffic is sent and received. - Port int - - // The node's status. - Status Status - - // The node's condition. - Condition Condition - - // The priority at which this node will receive traffic if a weighted - // algorithm is used by its parent load balancer. Ranges from 1 to 100. - Weight int - - // Type of node. - Type Type -} - -// Type indicates whether the node is of a PRIMARY or SECONDARY nature. -type Type string - -const ( - // PRIMARY nodes are in the normal rotation to receive traffic from the load - // balancer. - PRIMARY Type = "PRIMARY" - - // SECONDARY nodes are only in the rotation to receive traffic from the load - // balancer when all the primary nodes fail. This provides a failover feature - // that automatically routes traffic to the secondary node in the event that - // the primary node is disabled or in a failing state. Note that active - // health monitoring must be enabled on the load balancer to enable the - // failover feature to the secondary node. - SECONDARY Type = "SECONDARY" -) - -// Condition represents the condition of a node. -type Condition string - -const ( - // ENABLED indicates that the node is permitted to accept new connections. - ENABLED Condition = "ENABLED" - - // DISABLED indicates that the node is not permitted to accept any new - // connections regardless of session persistence configuration. Existing - // connections are forcibly terminated. - DISABLED Condition = "DISABLED" - - // DRAINING indicates that the node is allowed to service existing - // established connections and connections that are being directed to it as a - // result of the session persistence configuration. - DRAINING Condition = "DRAINING" -) - -// Status indicates whether the node can accept service traffic. If a node is -// not listening on its port or does not meet the conditions of the defined -// active health check for the load balancer, then the load balancer does not -// forward connections, and its status is listed as OFFLINE. -type Status string - -const ( - // ONLINE indicates that the node is healthy and capable of receiving traffic - // from the load balancer. - ONLINE Status = "ONLINE" - - // OFFLINE indicates that the node is not in a position to receive service - // traffic. It is usually switched into this state when a health check is not - // satisfied with the node's response time. - OFFLINE Status = "OFFLINE" -) - -// NodePage is the page returned by a pager when traversing over a collection -// of nodes. -type NodePage struct { - pagination.SinglePageBase -} - -// IsEmpty checks whether a NodePage struct is empty. -func (p NodePage) IsEmpty() (bool, error) { - is, err := ExtractNodes(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -func commonExtractNodes(body interface{}) ([]Node, error) { - var resp struct { - Nodes []Node `mapstructure:"nodes" json:"nodes"` - } - - err := mapstructure.Decode(body, &resp) - - return resp.Nodes, err -} - -// ExtractNodes accepts a Page struct, specifically a NodePage struct, and -// extracts the elements into a slice of Node structs. In other words, a -// generic collection is mapped into a relevant slice. -func ExtractNodes(page pagination.Page) ([]Node, error) { - return commonExtractNodes(page.(NodePage).Body) -} - -// CreateResult represents the result of a create operation. Since multiple -// nodes can be added in one operation, this result represents multiple nodes -// and should be treated as a typical pagination Page. Use its ExtractNodes -// method to get out a slice of Node structs. -type CreateResult struct { - pagination.SinglePageBase -} - -// ExtractNodes extracts a slice of Node structs from a CreateResult. -func (res CreateResult) ExtractNodes() ([]Node, error) { - if res.Err != nil { - return nil, res.Err - } - return commonExtractNodes(res.Body) -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -type commonResult struct { - gophercloud.Result -} - -// GetResult represents the result of a get operation. -type GetResult struct { - commonResult -} - -// UpdateResult represents the result of an update operation. -type UpdateResult struct { - gophercloud.ErrResult -} - -func (r commonResult) Extract() (*Node, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - Node Node `mapstructure:"node"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.Node, err -} - -// NodeEvent represents a service event that occurred between a node and a -// load balancer. -type NodeEvent struct { - ID int - DetailedMessage string - NodeID int - Type string - Description string - Category string - Severity string - RelativeURI string - AccountID int - LoadBalancerID int - Title string - Author string - Created string -} - -// NodeEventPage is a concrete type which embeds the common SinglePageBase -// struct, and is used when traversing node event collections. -type NodeEventPage struct { - pagination.SinglePageBase -} - -// IsEmpty is a concrete function which indicates whether an NodeEventPage is -// empty or not. -func (r NodeEventPage) IsEmpty() (bool, error) { - is, err := ExtractNodeEvents(r) - if err != nil { - return true, err - } - return len(is) == 0, nil -} - -// ExtractNodeEvents accepts a Page struct, specifically a NodeEventPage -// struct, and extracts the elements into a slice of NodeEvent structs. In -// other words, the collection is mapped into a relevant slice. -func ExtractNodeEvents(page pagination.Page) ([]NodeEvent, error) { - var resp struct { - Events []NodeEvent `mapstructure:"nodeServiceEvents" json:"nodeServiceEvents"` - } - - err := mapstructure.Decode(page.(NodeEventPage).Body, &resp) - - return resp.Events, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/urls.go deleted file mode 100644 index 2cefee264..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes/urls.go +++ /dev/null @@ -1,25 +0,0 @@ -package nodes - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - lbPath = "loadbalancers" - nodePath = "nodes" - eventPath = "events" -) - -func resourceURL(c *gophercloud.ServiceClient, lbID, nodeID int) string { - return c.ServiceURL(lbPath, strconv.Itoa(lbID), nodePath, strconv.Itoa(nodeID)) -} - -func rootURL(c *gophercloud.ServiceClient, lbID int) string { - return c.ServiceURL(lbPath, strconv.Itoa(lbID), nodePath) -} - -func eventsURL(c *gophercloud.ServiceClient, lbID int) string { - return c.ServiceURL(lbPath, strconv.Itoa(lbID), nodePath, eventPath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/doc.go deleted file mode 100644 index dcec0a87e..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/doc.go +++ /dev/null @@ -1,30 +0,0 @@ -/* -Package sessions provides information and interaction with the Session -Persistence feature of the Rackspace Cloud Load Balancer service. - -Session persistence is a feature of the load balancing service that forces -multiple requests from clients (of the same protocol) to be directed to the -same node. This is common with many web applications that do not inherently -share application state between back-end servers. - -There are two modes to choose from: HTTP_COOKIE and SOURCE_IP. You can only set -one of the session persistence modes on a load balancer, and it can only -support one protocol. If you set HTTP_COOKIE mode for an HTTP load balancer, it -supports session persistence for HTTP requests only. Likewise, if you set -SOURCE_IP mode for an HTTPS load balancer, it supports session persistence for -only HTTPS requests. - -To support session persistence for both HTTP and HTTPS requests concurrently, -choose one of the following options: - -- Use two load balancers, one configured for session persistence for HTTP -requests and the other configured for session persistence for HTTPS requests. -That way, the load balancers support session persistence for both HTTP and -HTTPS requests concurrently, with each load balancer supporting one of the -protocols. - -- Use one load balancer, configure it for session persistence for HTTP requests, -and then enable SSL termination for that load balancer. The load balancer -supports session persistence for both HTTP and HTTPS requests concurrently. -*/ -package sessions diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/fixtures.go deleted file mode 100644 index 077ef0470..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/fixtures.go +++ /dev/null @@ -1,59 +0,0 @@ -package sessions - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(id int) string { - return "/loadbalancers/" + strconv.Itoa(id) + "/sessionpersistence" -} - -func mockGetResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "sessionPersistence": { - "persistenceType": "HTTP_COOKIE" - } -} -`) - }) -} - -func mockEnableResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "sessionPersistence": { - "persistenceType": "HTTP_COOKIE" - } -} - `) - - w.WriteHeader(http.StatusAccepted) - fmt.Fprintf(w, `{}`) - }) -} - -func mockDisableResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/requests.go deleted file mode 100644 index a93d766cd..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/requests.go +++ /dev/null @@ -1,63 +0,0 @@ -package sessions - -import ( - "errors" - - "github.com/rackspace/gophercloud" -) - -// CreateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Create operation in this package. -type CreateOptsBuilder interface { - ToSPCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is the common options struct used in this package's Create -// operation. -type CreateOpts struct { - // Required - can either be HTTPCOOKIE or SOURCEIP - Type Type -} - -// ToSPCreateMap casts a CreateOpts struct to a map. -func (opts CreateOpts) ToSPCreateMap() (map[string]interface{}, error) { - sp := make(map[string]interface{}) - - if opts.Type == "" { - return sp, errors.New("Type is a required field") - } - - sp["persistenceType"] = opts.Type - return map[string]interface{}{"sessionPersistence": sp}, nil -} - -// Enable is the operation responsible for enabling session persistence for a -// particular load balancer. -func Enable(c *gophercloud.ServiceClient, lbID int, opts CreateOptsBuilder) EnableResult { - var res EnableResult - - reqBody, err := opts.ToSPCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(rootURL(c, lbID), reqBody, &res.Body, nil) - return res -} - -// Get is the operation responsible for showing details of the session -// persistence configuration for a particular load balancer. -func Get(c *gophercloud.ServiceClient, lbID int) GetResult { - var res GetResult - _, res.Err = c.Get(rootURL(c, lbID), &res.Body, nil) - return res -} - -// Disable is the operation responsible for disabling session persistence for a -// particular load balancer. -func Disable(c *gophercloud.ServiceClient, lbID int) DisableResult { - var res DisableResult - _, res.Err = c.Delete(rootURL(c, lbID), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/results.go deleted file mode 100644 index fe90e722c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/results.go +++ /dev/null @@ -1,58 +0,0 @@ -package sessions - -import ( - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" -) - -// Type represents the type of session persistence being used. -type Type string - -const ( - // HTTPCOOKIE is a session persistence mechanism that inserts an HTTP cookie - // and is used to determine the destination back-end node. This is supported - // for HTTP load balancing only. - HTTPCOOKIE Type = "HTTP_COOKIE" - - // SOURCEIP is a session persistence mechanism that keeps track of the source - // IP address that is mapped and is able to determine the destination - // back-end node. This is supported for HTTPS pass-through and non-HTTP load - // balancing only. - SOURCEIP Type = "SOURCE_IP" -) - -// SessionPersistence indicates how a load balancer is using session persistence -type SessionPersistence struct { - Type Type `mapstructure:"persistenceType"` -} - -// EnableResult represents the result of an enable operation. -type EnableResult struct { - gophercloud.ErrResult -} - -// DisableResult represents the result of a disable operation. -type DisableResult struct { - gophercloud.ErrResult -} - -// GetResult represents the result of a get operation. -type GetResult struct { - gophercloud.Result -} - -// Extract interprets a GetResult as an SP, if possible. -func (r GetResult) Extract() (*SessionPersistence, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - SP SessionPersistence `mapstructure:"sessionPersistence"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.SP, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/urls.go deleted file mode 100644 index c4a896d90..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions/urls.go +++ /dev/null @@ -1,16 +0,0 @@ -package sessions - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - path = "loadbalancers" - spPath = "sessionpersistence" -) - -func rootURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), spPath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/doc.go deleted file mode 100644 index 6a2c174ae..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/doc.go +++ /dev/null @@ -1,22 +0,0 @@ -/* -Package ssl provides information and interaction with the SSL Termination -feature of the Rackspace Cloud Load Balancer service. - -You may only enable and configure SSL termination on load balancers with -non-secure protocols, such as HTTP, but not HTTPS. - -SSL-terminated load balancers decrypt the traffic at the traffic manager and -pass unencrypted traffic to the back-end node. Because of this, the customer's -back-end nodes don't know what protocol the client requested. For this reason, -the X-Forwarded-Proto (XFP) header has been added for identifying the -originating protocol of an HTTP request as "http" or "https" depending on what -protocol the client requested. - -Not every service returns certificates in the proper order. Please verify that -your chain of certificates matches that of walking up the chain from the domain -to the CA root. - -If used for HTTP to HTTPS redirection, the LoadBalancer's securePort attribute -must be set to 443, and its secureTrafficOnly attribute must be true. -*/ -package ssl diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/fixtures.go deleted file mode 100644 index 5a52962d4..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/fixtures.go +++ /dev/null @@ -1,196 +0,0 @@ -package ssl - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(id int) string { - return "/loadbalancers/" + strconv.Itoa(id) + "/ssltermination" -} - -func _certURL(id, certID int) string { - url := _rootURL(id) + "/certificatemappings" - if certID > 0 { - url += "/" + strconv.Itoa(certID) - } - return url -} - -func mockGetResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "sslTermination": { - "certificate": "-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "enabled": true, - "secureTrafficOnly": false, - "intermediateCertificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n", - "securePort": 443 - } -} -`) - }) -} - -func mockUpdateResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "sslTermination": { - "enabled": true, - "securePort": 443, - "secureTrafficOnly": false, - "privateKey": "foo", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "intermediateCertificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n" - } -} - `) - - w.WriteHeader(http.StatusOK) - fmt.Fprintf(w, `{}`) - }) -} - -func mockDeleteResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusOK) - }) -} - -func mockListCertsResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_certURL(lbID, 0), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "certificateMappings": [ - { - "certificateMapping": { - "id": 123, - "hostName": "rackspace.com" - } - }, - { - "certificateMapping": { - "id": 124, - "hostName": "*.rackspace.com" - } - } - ] -} -`) - }) -} - -func mockAddCertResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_certURL(lbID, 0), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "certificateMapping": { - "hostName": "rackspace.com", - "privateKey":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAwIudSMpRZx7TS0/AtDVX3DgXwLD9g+XrNaoazlhwhpYALgzJ\nLAbAnOxT6OT0gTpkPus/B7QhW6y6Auf2cdBeW31XoIwPsSoyNhxgErGBxzNARRB9\nlI1HCa1ojFrcULluj4W6rpaOycI5soDBJiJHin/hbZBPZq6vhPCuNP7Ya48Zd/2X\nCQ9ft3XKfmbs1SdrdROIhigse/SGRbMrCorn/vhNIuohr7yOlHG3GcVcUI9k6ZSZ\nBbqF+ZA4ApSF/Q6/cumieEgofhkYbx5fg02s9Jwr4IWnIR2bSHs7UQ6sVgKYzjs7\nPd3Unpa74jFw6/H6shABoO2CIYLotGmQbFgnpwIDAQABAoIBAQCBCQ+PCIclJHNV\ntUzfeCA5ZR4F9JbxHdRTUnxEbOB8UWotckQfTScoAvj4yvdQ42DrCZxj/UOdvFOs\nPufZvlp91bIz1alugWjE+p8n5+2hIaegoTyHoWZKBfxak0myj5KYfHZvKlbmv1ML\nXV4TwEVRfAIG+v87QTY/UUxuF5vR+BpKIbgUJLfPUFFvJUdl84qsJ44pToxaYUd/\nh5YAGC00U4ay1KVSAUnTkkPNZ0lPG/rWU6w6WcTvNRLMd8DzFLTKLOgQfHhbExAF\n+sXPWjWSzbBRP1O7fHqq96QQh4VFiY/7w9W+sDKQyV6Ul17OSXs6aZ4f+lq4rJTI\n1FG96YiBAoGBAO1tiH0h1oWDBYfJB3KJJ6CQQsDGwtHo/DEgznFVP4XwEVbZ98Ha\nBfBCn3sAybbaikyCV1Hwj7kfHMZPDHbrcUSFX7quu/2zPK+wO3lZKXSyu4YsguSa\nRedInN33PpdnlPhLyQdWSuD5sVHJDF6xn22vlyxeILH3ooLg2WOFMPmVAoGBAM+b\nUG/a7iyfpAQKYyuFAsXz6SeFaDY+ZYeX45L112H8Pu+Ie/qzon+bzLB9FIH8GP6+\nQpQgmm/p37U2gD1zChUv7iW6OfQBKk9rWvMpfRF6d7YHquElejhizfTZ+ntBV/VY\ndOYEczxhrdW7keLpatYaaWUy/VboRZmlz/9JGqVLAoGAHfqNmFc0cgk4IowEj7a3\ntTNh6ltub/i+FynwRykfazcDyXaeLPDtfQe8gVh5H8h6W+y9P9BjJVnDVVrX1RAn\nbiJ1EupLPF5sVDapW8ohTOXgfbGTGXBNUUW+4Nv+IDno+mz/RhjkPYHpnM0I7c/5\ntGzOZsC/2hjNgT8I0+MWav0CgYEAuULdJeQVlKalI6HtW2Gn1uRRVJ49H+LQkY6e\nW3+cw2jo9LI0CMWSphNvNrN3wIMp/vHj0fHCP0pSApDvIWbuQXfzKaGko7UCf7rK\nf6GvZRCHkV4IREBAb97j8bMvThxClMNqFfU0rFZyXP+0MOyhFQyertswrgQ6T+Fi\n2mnvKD8CgYAmJHP3NTDRMoMRyAzonJ6nEaGUbAgNmivTaUWMe0+leCvAdwD89gzC\nTKbm3eDUg/6Va3X6ANh3wsfIOe4RXXxcbcFDk9R4zO2M5gfLSjYm5Q87EBZ2hrdj\nM2gLI7dt6thx0J8lR8xRHBEMrVBdgwp0g1gQzo5dAV88/kpkZVps8Q==\n-----END RSA PRIVATE KEY-----\n", - "certificate":"-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "intermediateCertificate":"-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n" - } -} - `) - - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "certificateMapping": { - "id": 123, - "hostName": "rackspace.com", - "certificate":"-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "intermediateCertificate":"-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n" - } -} - `) - }) -} - -func mockGetCertResponse(t *testing.T, lbID, certID int) { - th.Mux.HandleFunc(_certURL(lbID, certID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "certificateMapping": { - "id": 123, - "hostName": "rackspace.com", - "certificate":"-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "intermediateCertificate":"-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n" - } -} -`) - }) -} - -func mockUpdateCertResponse(t *testing.T, lbID, certID int) { - th.Mux.HandleFunc(_certURL(lbID, certID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "certificateMapping": { - "hostName": "rackspace.com", - "privateKey":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAwIudSMpRZx7TS0/AtDVX3DgXwLD9g+XrNaoazlhwhpYALgzJ\nLAbAnOxT6OT0gTpkPus/B7QhW6y6Auf2cdBeW31XoIwPsSoyNhxgErGBxzNARRB9\nlI1HCa1ojFrcULluj4W6rpaOycI5soDBJiJHin/hbZBPZq6vhPCuNP7Ya48Zd/2X\nCQ9ft3XKfmbs1SdrdROIhigse/SGRbMrCorn/vhNIuohr7yOlHG3GcVcUI9k6ZSZ\nBbqF+ZA4ApSF/Q6/cumieEgofhkYbx5fg02s9Jwr4IWnIR2bSHs7UQ6sVgKYzjs7\nPd3Unpa74jFw6/H6shABoO2CIYLotGmQbFgnpwIDAQABAoIBAQCBCQ+PCIclJHNV\ntUzfeCA5ZR4F9JbxHdRTUnxEbOB8UWotckQfTScoAvj4yvdQ42DrCZxj/UOdvFOs\nPufZvlp91bIz1alugWjE+p8n5+2hIaegoTyHoWZKBfxak0myj5KYfHZvKlbmv1ML\nXV4TwEVRfAIG+v87QTY/UUxuF5vR+BpKIbgUJLfPUFFvJUdl84qsJ44pToxaYUd/\nh5YAGC00U4ay1KVSAUnTkkPNZ0lPG/rWU6w6WcTvNRLMd8DzFLTKLOgQfHhbExAF\n+sXPWjWSzbBRP1O7fHqq96QQh4VFiY/7w9W+sDKQyV6Ul17OSXs6aZ4f+lq4rJTI\n1FG96YiBAoGBAO1tiH0h1oWDBYfJB3KJJ6CQQsDGwtHo/DEgznFVP4XwEVbZ98Ha\nBfBCn3sAybbaikyCV1Hwj7kfHMZPDHbrcUSFX7quu/2zPK+wO3lZKXSyu4YsguSa\nRedInN33PpdnlPhLyQdWSuD5sVHJDF6xn22vlyxeILH3ooLg2WOFMPmVAoGBAM+b\nUG/a7iyfpAQKYyuFAsXz6SeFaDY+ZYeX45L112H8Pu+Ie/qzon+bzLB9FIH8GP6+\nQpQgmm/p37U2gD1zChUv7iW6OfQBKk9rWvMpfRF6d7YHquElejhizfTZ+ntBV/VY\ndOYEczxhrdW7keLpatYaaWUy/VboRZmlz/9JGqVLAoGAHfqNmFc0cgk4IowEj7a3\ntTNh6ltub/i+FynwRykfazcDyXaeLPDtfQe8gVh5H8h6W+y9P9BjJVnDVVrX1RAn\nbiJ1EupLPF5sVDapW8ohTOXgfbGTGXBNUUW+4Nv+IDno+mz/RhjkPYHpnM0I7c/5\ntGzOZsC/2hjNgT8I0+MWav0CgYEAuULdJeQVlKalI6HtW2Gn1uRRVJ49H+LQkY6e\nW3+cw2jo9LI0CMWSphNvNrN3wIMp/vHj0fHCP0pSApDvIWbuQXfzKaGko7UCf7rK\nf6GvZRCHkV4IREBAb97j8bMvThxClMNqFfU0rFZyXP+0MOyhFQyertswrgQ6T+Fi\n2mnvKD8CgYAmJHP3NTDRMoMRyAzonJ6nEaGUbAgNmivTaUWMe0+leCvAdwD89gzC\nTKbm3eDUg/6Va3X6ANh3wsfIOe4RXXxcbcFDk9R4zO2M5gfLSjYm5Q87EBZ2hrdj\nM2gLI7dt6thx0J8lR8xRHBEMrVBdgwp0g1gQzo5dAV88/kpkZVps8Q==\n-----END RSA PRIVATE KEY-----\n", - "certificate":"-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "intermediateCertificate":"-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n" - } -} - `) - - w.WriteHeader(http.StatusAccepted) - - fmt.Fprintf(w, ` -{ - "certificateMapping": { - "id": 123, - "hostName": "rackspace.com", - "certificate":"-----BEGIN CERTIFICATE-----\nMIIEXTCCA0WgAwIBAgIGATTEAjK3MA0GCSqGSIb3DQEBBQUAMIGDMRkwFwYDVQQD\nExBUZXN0IENBIFNUdWIgS2V5MRcwFQYDVQQLEw5QbGF0Zm9ybSBMYmFhczEaMBgG\nA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFDASBgNVBAcTC1NhbiBBbnRvbmlvMQ4w\nDAYDVQQIEwVUZXhhczELMAkGA1UEBhMCVVMwHhcNMTIwMTA5MTk0NjQ1WhcNMTQw\nMTA4MTk0NjQ1WjCBgjELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYD\nVQQHEwtTYW4gQW50b25pbzEaMBgGA1UEChMRUmFja3NwYWNlIEhvc3RpbmcxFzAV\nBgNVBAsTDlBsYXRmb3JtIExiYWFzMRgwFgYDVQQDEw9UZXN0IENsaWVudCBLZXkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAi51IylFnHtNLT8C0NVfc\nOBfAsP2D5es1qhrOWHCGlgAuDMksBsCc7FPo5PSBOmQ+6z8HtCFbrLoC5/Zx0F5b\nfVegjA+xKjI2HGASsYHHM0BFEH2UjUcJrWiMWtxQuW6Phbqulo7JwjmygMEmIkeK\nf+FtkE9mrq+E8K40/thrjxl3/ZcJD1+3dcp+ZuzVJ2t1E4iGKCx79IZFsysKiuf+\n+E0i6iGvvI6UcbcZxVxQj2TplJkFuoX5kDgClIX9Dr9y6aJ4SCh+GRhvHl+DTaz0\nnCvghachHZtIeztRDqxWApjOOzs93dSelrviMXDr8fqyEAGg7YIhgui0aZBsWCen\nAgMBAAGjgdUwgdIwgbAGA1UdIwSBqDCBpYAUNpx1Pc6cGA7KqEwHMmHBTZMA7lSh\ngYmkgYYwgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVU4IBATAd\nBgNVHQ4EFgQULueOfsjZZOHwJHZwBy6u0swnpccwDQYJKoZIhvcNAQEFBQADggEB\nAFNuqSVUaotUJoWDv4z7Kbi6JFpTjDht5ORw4BdVYlRD4h9DACAFzPrPV2ym/Osp\nhNMdZq6msZku7MdOSQVhdeGWrSNk3M8O9Hg7cVzPNXOF3iNoo3irQ5tURut44xs4\nWw5YWQqS9WyUY5snD8tm7Y1rQTPfhg+678xIq/zWCv/u+FSnfVv1nlhLVQkEeG/Y\ngh1uMaTIpUKTGEjIAGtpGP7wwIcXptR/HyfzhTUSTaWc1Ef7zoKT9LL5z3IV1hC2\njVWz+RwYs98LjMuksJFoHqRfWyYhCIym0jb6GTwaEmpxAjc+d7OLNQdnoEGoUYGP\nYjtfkRYg265ESMA+Kww4Xy8=\n-----END CERTIFICATE-----\n", - "intermediateCertificate":"-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzEZMBcGA1UEAxMQVGVz\ndCBDQSBTVHViIEtleTEXMBUGA1UECxMOUGxhdGZvcm0gTGJhYXMxGjAYBgNVBAoT\nEVJhY2tzcGFjZSBIb3N0aW5nMRQwEgYDVQQHEwtTYW4gQW50b25pbzEOMAwGA1UE\nCBMFVGV4YXMxCzAJBgNVBAYTAlVTMB4XDTEyMDEwOTE5NDU0OVoXDTE0MDEwODE5\nNDU0OVowgYMxGTAXBgNVBAMTEFRlc3QgQ0EgU1R1YiBLZXkxFzAVBgNVBAsTDlBs\nYXRmb3JtIExiYWFzMRowGAYDVQQKExFSYWNrc3BhY2UgSG9zdGluZzEUMBIGA1UE\nBxMLU2FuIEFudG9uaW8xDjAMBgNVBAgTBVRleGFzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNh55lwTVwQvNoEZjq1zGdYz9jA\nXXdjizn8AJhjHLOAallfPtvCfTEgKanhdoyz5FnhQE8HbDAop/KNS1lN2UMvdl5f\nZNLTSjJrNtedqxQwxN/i3bpyBxNVejUH2NjV1mmyj+5CJYwCzWalvI/gLPq/A3as\nO2EQqtf3U8unRgn0zXLRdYxV9MrUzNAmdipPNvNrsVdrCgA42rgF/8KsyRVQfJCX\nfN7PGCfrsC3YaUvhymraWxNnXIzMYTNa9wEeBZLUw8SlEtpa1Zsvui+TPXu3USNZ\nVnWH8Lb6ENlnoX0VBwo62fjOG3JzhNKoJawi3bRqyDdINOvafr7iPrrs/T8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpx1Pc6cGA7KqEwHMmHB\nTZMA7lQwDQYJKoZIhvcNAQEFBQADggEBAMoRgH3iTG3t317viLKoY+lNMHUgHuR7\nb3mn9MidJKyYVewe6hCDIN6WY4fUojmMW9wFJWJIo0hRMNHL3n3tq8HP2j20Mxy8\nacPdfGZJa+jiBw72CrIGdobKaFduIlIEDBA1pNdZIJ+EulrtqrMesnIt92WaypIS\n8JycbIgDMCiyC0ENHEk8UWlC6429c7OZAsplMTbHME/1R4btxjkdfrYZJjdJ2yL2\n8cjZDUDMCPTdW/ycP07Gkq30RB5tACB5aZdaCn2YaKC8FsEdhff4X7xEOfOEHWEq\nSRxADDj8Lx1MT6QpR07hCiDyHfTCtbqzI0iGjX63Oh7xXSa0f+JVTa8=\n-----END CERTIFICATE-----\n" - } -} - `) - }) -} - -func mockDeleteCertResponse(t *testing.T, lbID, certID int) { - th.Mux.HandleFunc(_certURL(lbID, certID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusOK) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/requests.go deleted file mode 100644 index bb53ef896..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/requests.go +++ /dev/null @@ -1,247 +0,0 @@ -package ssl - -import ( - "errors" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -var ( - errPrivateKey = errors.New("PrivateKey is a required field") - errCertificate = errors.New("Certificate is a required field") - errIntCertificate = errors.New("IntCertificate is a required field") -) - -// UpdateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Update operation in this package. -type UpdateOptsBuilder interface { - ToSSLUpdateMap() (map[string]interface{}, error) -} - -// UpdateOpts is the common options struct used in this package's Update -// operation. -type UpdateOpts struct { - // Required - consult the SSLTermConfig struct for more info. - SecurePort int - - // Required - consult the SSLTermConfig struct for more info. - PrivateKey string - - // Required - consult the SSLTermConfig struct for more info. - Certificate string - - // Required - consult the SSLTermConfig struct for more info. - IntCertificate string - - // Optional - consult the SSLTermConfig struct for more info. - Enabled *bool - - // Optional - consult the SSLTermConfig struct for more info. - SecureTrafficOnly *bool -} - -// ToSSLUpdateMap casts a CreateOpts struct to a map. -func (opts UpdateOpts) ToSSLUpdateMap() (map[string]interface{}, error) { - ssl := make(map[string]interface{}) - - if opts.SecurePort == 0 { - return ssl, errors.New("SecurePort needs to be an integer greater than 0") - } - if opts.PrivateKey == "" { - return ssl, errPrivateKey - } - if opts.Certificate == "" { - return ssl, errCertificate - } - if opts.IntCertificate == "" { - return ssl, errIntCertificate - } - - ssl["securePort"] = opts.SecurePort - ssl["privateKey"] = opts.PrivateKey - ssl["certificate"] = opts.Certificate - ssl["intermediateCertificate"] = opts.IntCertificate - - if opts.Enabled != nil { - ssl["enabled"] = &opts.Enabled - } - - if opts.SecureTrafficOnly != nil { - ssl["secureTrafficOnly"] = &opts.SecureTrafficOnly - } - - return map[string]interface{}{"sslTermination": ssl}, nil -} - -// Update is the operation responsible for updating the SSL Termination -// configuration for a load balancer. -func Update(c *gophercloud.ServiceClient, lbID int, opts UpdateOptsBuilder) UpdateResult { - var res UpdateResult - - reqBody, err := opts.ToSSLUpdateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(rootURL(c, lbID), reqBody, &res.Body, &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - return res -} - -// Get is the operation responsible for showing the details of the SSL -// Termination configuration for a load balancer. -func Get(c *gophercloud.ServiceClient, lbID int) GetResult { - var res GetResult - _, res.Err = c.Get(rootURL(c, lbID), &res.Body, nil) - return res -} - -// Delete is the operation responsible for deleting the SSL Termination -// configuration for a load balancer. -func Delete(c *gophercloud.ServiceClient, lbID int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(rootURL(c, lbID), &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - return res -} - -// ListCerts will list all of the certificate mappings associated with a -// SSL-terminated HTTP load balancer. -func ListCerts(c *gophercloud.ServiceClient, lbID int) pagination.Pager { - url := certURL(c, lbID) - return pagination.NewPager(c, url, func(r pagination.PageResult) pagination.Page { - return CertPage{pagination.LinkedPageBase{PageResult: r}} - }) -} - -// CreateCertOptsBuilder is the interface options structs have to satisfy in -// order to be used in the AddCert operation in this package. -type CreateCertOptsBuilder interface { - ToCertCreateMap() (map[string]interface{}, error) -} - -// CreateCertOpts represents the options used when adding a new certificate mapping. -type CreateCertOpts struct { - HostName string - PrivateKey string - Certificate string - IntCertificate string -} - -// ToCertCreateMap will cast an CreateCertOpts struct to a map for JSON serialization. -func (opts CreateCertOpts) ToCertCreateMap() (map[string]interface{}, error) { - cm := make(map[string]interface{}) - - if opts.HostName == "" { - return cm, errors.New("HostName is a required option") - } - if opts.PrivateKey == "" { - return cm, errPrivateKey - } - if opts.Certificate == "" { - return cm, errCertificate - } - - cm["hostName"] = opts.HostName - cm["privateKey"] = opts.PrivateKey - cm["certificate"] = opts.Certificate - - if opts.IntCertificate != "" { - cm["intermediateCertificate"] = opts.IntCertificate - } - - return map[string]interface{}{"certificateMapping": cm}, nil -} - -// CreateCert will add a new SSL certificate and allow an SSL-terminated HTTP -// load balancer to use it. This feature is useful because it allows multiple -// certificates to be used. The maximum number of certificates that can be -// stored per LB is 20. -func CreateCert(c *gophercloud.ServiceClient, lbID int, opts CreateCertOptsBuilder) CreateCertResult { - var res CreateCertResult - - reqBody, err := opts.ToCertCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Post(certURL(c, lbID), reqBody, &res.Body, &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - - return res -} - -// GetCert will show the details of an existing SSL certificate. -func GetCert(c *gophercloud.ServiceClient, lbID, certID int) GetCertResult { - var res GetCertResult - _, res.Err = c.Get(certResourceURL(c, lbID, certID), &res.Body, nil) - return res -} - -// UpdateCertOptsBuilder is the interface options structs have to satisfy in -// order to be used in the UpdateCert operation in this package. -type UpdateCertOptsBuilder interface { - ToCertUpdateMap() (map[string]interface{}, error) -} - -// UpdateCertOpts represents the options needed to update a SSL certificate. -type UpdateCertOpts struct { - HostName string - PrivateKey string - Certificate string - IntCertificate string -} - -// ToCertUpdateMap will cast an UpdateCertOpts struct into a map for JSON -// seralization. -func (opts UpdateCertOpts) ToCertUpdateMap() (map[string]interface{}, error) { - cm := make(map[string]interface{}) - - if opts.HostName != "" { - cm["hostName"] = opts.HostName - } - if opts.PrivateKey != "" { - cm["privateKey"] = opts.PrivateKey - } - if opts.Certificate != "" { - cm["certificate"] = opts.Certificate - } - if opts.IntCertificate != "" { - cm["intermediateCertificate"] = opts.IntCertificate - } - - return map[string]interface{}{"certificateMapping": cm}, nil -} - -// UpdateCert is the operation responsible for updating the details of an -// existing SSL certificate. -func UpdateCert(c *gophercloud.ServiceClient, lbID, certID int, opts UpdateCertOptsBuilder) UpdateCertResult { - var res UpdateCertResult - - reqBody, err := opts.ToCertUpdateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(certResourceURL(c, lbID, certID), reqBody, &res.Body, nil) - return res -} - -// DeleteCert is the operation responsible for permanently removing a SSL -// certificate. -func DeleteCert(c *gophercloud.ServiceClient, lbID, certID int) DeleteResult { - var res DeleteResult - - _, res.Err = c.Delete(certResourceURL(c, lbID, certID), &gophercloud.RequestOpts{ - OkCodes: []int{200}, - }) - - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/results.go deleted file mode 100644 index ead9fcd37..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/results.go +++ /dev/null @@ -1,148 +0,0 @@ -package ssl - -import ( - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// SSLTermConfig represents the SSL configuration for a particular load balancer. -type SSLTermConfig struct { - // The port on which the SSL termination load balancer listens for secure - // traffic. The value must be unique to the existing LB protocol/port - // combination - SecurePort int `mapstructure:"securePort"` - - // The private key for the SSL certificate which is validated and verified - // against the provided certificates. - PrivateKey string `mapstructure:"privatekey"` - - // The certificate used for SSL termination, which is validated and verified - // against the key and intermediate certificate if provided. - Certificate string - - // The intermediate certificate (for the user). The intermediate certificate - // is validated and verified against the key and certificate credentials - // provided. A user may only provide this value when accompanied by a - // Certificate, PrivateKey, and SecurePort. It may not be added or updated as - // a single attribute in a future operation. - IntCertificate string `mapstructure:"intermediatecertificate"` - - // Determines if the load balancer is enabled to terminate SSL traffic or not. - // If this is set to false, the load balancer retains its specified SSL - // attributes but does not terminate SSL traffic. - Enabled bool - - // Determines if the load balancer can only accept secure traffic. If set to - // true, the load balancer will not accept non-secure traffic. - SecureTrafficOnly bool -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -// UpdateResult represents the result of an update operation. -type UpdateResult struct { - gophercloud.ErrResult -} - -// GetResult represents the result of a get operation. -type GetResult struct { - gophercloud.Result -} - -// Extract interprets a GetResult as a SSLTermConfig struct, if possible. -func (r GetResult) Extract() (*SSLTermConfig, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - SSL SSLTermConfig `mapstructure:"sslTermination"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.SSL, err -} - -// Certificate represents an SSL certificate associated with an SSL-terminated -// HTTP load balancer. -type Certificate struct { - ID int - HostName string - Certificate string - IntCertificate string `mapstructure:"intermediateCertificate"` -} - -// CertPage represents a page of certificates. -type CertPage struct { - pagination.LinkedPageBase -} - -// IsEmpty checks whether a CertMappingPage struct is empty. -func (p CertPage) IsEmpty() (bool, error) { - is, err := ExtractCerts(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -// ExtractCerts accepts a Page struct, specifically a CertPage struct, and -// extracts the elements into a slice of Cert structs. In other words, a generic -// collection is mapped into a relevant slice. -func ExtractCerts(page pagination.Page) ([]Certificate, error) { - type NestedMap struct { - Cert Certificate `mapstructure:"certificateMapping" json:"certificateMapping"` - } - var resp struct { - Certs []NestedMap `mapstructure:"certificateMappings" json:"certificateMappings"` - } - - err := mapstructure.Decode(page.(CertPage).Body, &resp) - - slice := []Certificate{} - for _, cert := range resp.Certs { - slice = append(slice, cert.Cert) - } - - return slice, err -} - -type certResult struct { - gophercloud.Result -} - -// Extract interprets a result as a CertMapping struct, if possible. -func (r certResult) Extract() (*Certificate, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - Cert Certificate `mapstructure:"certificateMapping"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.Cert, err -} - -// CreateCertResult represents the result of an CreateCert operation. -type CreateCertResult struct { - certResult -} - -// GetCertResult represents the result of a GetCert operation. -type GetCertResult struct { - certResult -} - -// UpdateCertResult represents the result of an UpdateCert operation. -type UpdateCertResult struct { - certResult -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/urls.go deleted file mode 100644 index aa814b358..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl/urls.go +++ /dev/null @@ -1,25 +0,0 @@ -package ssl - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - path = "loadbalancers" - sslPath = "ssltermination" - certPath = "certificatemappings" -) - -func rootURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), sslPath) -} - -func certURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), sslPath, certPath) -} - -func certResourceURL(c *gophercloud.ServiceClient, id, certID int) string { - return c.ServiceURL(path, strconv.Itoa(id), sslPath, certPath, strconv.Itoa(certID)) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/doc.go deleted file mode 100644 index 1ed605d36..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/doc.go +++ /dev/null @@ -1,5 +0,0 @@ -/* -Package throttle provides information and interaction with the Connection -Throttling feature of the Rackspace Cloud Load Balancer service. -*/ -package throttle diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/fixtures.go deleted file mode 100644 index f3e49fa68..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/fixtures.go +++ /dev/null @@ -1,62 +0,0 @@ -package throttle - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(id int) string { - return "/loadbalancers/" + strconv.Itoa(id) + "/connectionthrottle" -} - -func mockGetResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "connectionThrottle": { - "maxConnections": 100 - } -} -`) - }) -} - -func mockCreateResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "connectionThrottle": { - "maxConnectionRate": 0, - "maxConnections": 200, - "minConnections": 0, - "rateInterval": 0 - } -} - `) - - w.WriteHeader(http.StatusAccepted) - fmt.Fprintf(w, `{}`) - }) -} - -func mockDeleteResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/requests.go deleted file mode 100644 index 0446b97a1..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/requests.go +++ /dev/null @@ -1,76 +0,0 @@ -package throttle - -import ( - "errors" - - "github.com/rackspace/gophercloud" -) - -// CreateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Create operation in this package. -type CreateOptsBuilder interface { - ToCTCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is the common options struct used in this package's Create -// operation. -type CreateOpts struct { - // Required - the maximum amount of connections per IP address to allow per LB. - MaxConnections int - - // Deprecated as of v1.22. - MaxConnectionRate int - - // Deprecated as of v1.22. - MinConnections int - - // Deprecated as of v1.22. - RateInterval int -} - -// ToCTCreateMap casts a CreateOpts struct to a map. -func (opts CreateOpts) ToCTCreateMap() (map[string]interface{}, error) { - ct := make(map[string]interface{}) - - if opts.MaxConnections < 0 || opts.MaxConnections > 100000 { - return ct, errors.New("MaxConnections must be an int between 0 and 100000") - } - - ct["maxConnections"] = opts.MaxConnections - ct["maxConnectionRate"] = opts.MaxConnectionRate - ct["minConnections"] = opts.MinConnections - ct["rateInterval"] = opts.RateInterval - - return map[string]interface{}{"connectionThrottle": ct}, nil -} - -// Create is the operation responsible for creating or updating the connection -// throttling configuration for a load balancer. -func Create(c *gophercloud.ServiceClient, lbID int, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToCTCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Put(rootURL(c, lbID), reqBody, &res.Body, nil) - return res -} - -// Get is the operation responsible for showing the details of the connection -// throttling configuration for a load balancer. -func Get(c *gophercloud.ServiceClient, lbID int) GetResult { - var res GetResult - _, res.Err = c.Get(rootURL(c, lbID), &res.Body, nil) - return res -} - -// Delete is the operation responsible for deleting the connection throttling -// configuration for a load balancer. -func Delete(c *gophercloud.ServiceClient, lbID int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(rootURL(c, lbID), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/results.go deleted file mode 100644 index db93c6f3f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/results.go +++ /dev/null @@ -1,43 +0,0 @@ -package throttle - -import ( - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" -) - -// ConnectionThrottle represents the connection throttle configuration for a -// particular load balancer. -type ConnectionThrottle struct { - MaxConnections int -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - gophercloud.ErrResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} - -// GetResult represents the result of a get operation. -type GetResult struct { - gophercloud.Result -} - -// Extract interprets a GetResult as a SP, if possible. -func (r GetResult) Extract() (*ConnectionThrottle, error) { - if r.Err != nil { - return nil, r.Err - } - - var response struct { - CT ConnectionThrottle `mapstructure:"connectionThrottle"` - } - - err := mapstructure.Decode(r.Body, &response) - - return &response.CT, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/urls.go deleted file mode 100644 index b77f0ac1c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle/urls.go +++ /dev/null @@ -1,16 +0,0 @@ -package throttle - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - path = "loadbalancers" - ctPath = "connectionthrottle" -) - -func rootURL(c *gophercloud.ServiceClient, id int) string { - return c.ServiceURL(path, strconv.Itoa(id), ctPath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/doc.go deleted file mode 100644 index 5c3846d44..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/doc.go +++ /dev/null @@ -1,13 +0,0 @@ -/* -Package vips provides information and interaction with the Virtual IP API -resource for the Rackspace Cloud Load Balancer service. - -A virtual IP (VIP) makes a load balancer accessible by clients. The load -balancing service supports either a public VIP, routable on the public Internet, -or a ServiceNet address, routable only within the region in which the load -balancer resides. - -All load balancers must have at least one virtual IP associated with them at -all times. -*/ -package vips diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/fixtures.go deleted file mode 100644 index 158759f7f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/fixtures.go +++ /dev/null @@ -1,88 +0,0 @@ -package vips - -import ( - "fmt" - "net/http" - "strconv" - "testing" - - th "github.com/rackspace/gophercloud/testhelper" - fake "github.com/rackspace/gophercloud/testhelper/client" -) - -func _rootURL(lbID int) string { - return "/loadbalancers/" + strconv.Itoa(lbID) + "/virtualips" -} - -func mockListResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "GET") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusOK) - - fmt.Fprintf(w, ` -{ - "virtualIps": [ - { - "id": 1000, - "address": "206.10.10.210", - "type": "PUBLIC" - } - ] -} - `) - }) -} - -func mockCreateResponse(t *testing.T, lbID int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "POST") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - th.TestJSONRequest(t, r, ` -{ - "type":"PUBLIC", - "ipVersion":"IPV6" -} - `) - - w.Header().Add("Content-Type", "application/json") - w.WriteHeader(http.StatusAccepted) - - fmt.Fprintf(w, ` -{ - "address":"fd24:f480:ce44:91bc:1af2:15ff:0000:0002", - "id":9000134, - "type":"PUBLIC", - "ipVersion":"IPV6" -} - `) - }) -} - -func mockBatchDeleteResponse(t *testing.T, lbID int, ids []int) { - th.Mux.HandleFunc(_rootURL(lbID), func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - - r.ParseForm() - - for k, v := range ids { - fids := r.Form["id"] - th.AssertEquals(t, strconv.Itoa(v), fids[k]) - } - - w.WriteHeader(http.StatusAccepted) - }) -} - -func mockDeleteResponse(t *testing.T, lbID, vipID int) { - url := _rootURL(lbID) + "/" + strconv.Itoa(vipID) - th.Mux.HandleFunc(url, func(w http.ResponseWriter, r *http.Request) { - th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) - w.WriteHeader(http.StatusAccepted) - }) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/requests.go deleted file mode 100644 index 2bc924f29..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/requests.go +++ /dev/null @@ -1,97 +0,0 @@ -package vips - -import ( - "errors" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List is the operation responsible for returning a paginated collection of -// load balancer virtual IP addresses. -func List(client *gophercloud.ServiceClient, loadBalancerID int) pagination.Pager { - url := rootURL(client, loadBalancerID) - return pagination.NewPager(client, url, func(r pagination.PageResult) pagination.Page { - return VIPPage{pagination.SinglePageBase(r)} - }) -} - -// CreateOptsBuilder is the interface options structs have to satisfy in order -// to be used in the main Create operation in this package. Since many -// extensions decorate or modify the common logic, it is useful for them to -// satisfy a basic interface in order for them to be used. -type CreateOptsBuilder interface { - ToVIPCreateMap() (map[string]interface{}, error) -} - -// CreateOpts is the common options struct used in this package's Create -// operation. -type CreateOpts struct { - // Optional - the ID of an existing virtual IP. By doing this, you are - // allowing load balancers to share IPV6 addresses. - ID string - - // Optional - the type of address. - Type Type - - // Optional - the version of address. - Version Version -} - -// ToVIPCreateMap casts a CreateOpts struct to a map. -func (opts CreateOpts) ToVIPCreateMap() (map[string]interface{}, error) { - lb := make(map[string]interface{}) - - if opts.ID != "" { - lb["id"] = opts.ID - } - if opts.Type != "" { - lb["type"] = opts.Type - } - if opts.Version != "" { - lb["ipVersion"] = opts.Version - } - - return lb, nil -} - -// Create is the operation responsible for assigning a new Virtual IP to an -// existing load balancer resource. Currently, only version 6 IP addresses may -// be added. -func Create(c *gophercloud.ServiceClient, lbID int, opts CreateOptsBuilder) CreateResult { - var res CreateResult - - reqBody, err := opts.ToVIPCreateMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Post(rootURL(c, lbID), reqBody, &res.Body, nil) - return res -} - -// BulkDelete is the operation responsible for batch deleting multiple VIPs in -// a single operation. It accepts a slice of integer IDs and will remove them -// from the load balancer. The maximum limit is 10 VIP removals at once. -func BulkDelete(c *gophercloud.ServiceClient, loadBalancerID int, vipIDs []int) DeleteResult { - var res DeleteResult - - if len(vipIDs) > 10 || len(vipIDs) == 0 { - res.Err = errors.New("You must provide a minimum of 1 and a maximum of 10 VIP IDs") - return res - } - - url := rootURL(c, loadBalancerID) - url += gophercloud.IDSliceToQueryString("id", vipIDs) - - _, res.Err = c.Delete(url, nil) - return res -} - -// Delete is the operation responsible for permanently deleting a VIP. -func Delete(c *gophercloud.ServiceClient, lbID, vipID int) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(resourceURL(c, lbID, vipID), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/results.go deleted file mode 100644 index 678b2aff7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/results.go +++ /dev/null @@ -1,89 +0,0 @@ -package vips - -import ( - "github.com/mitchellh/mapstructure" - - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// VIP represents a Virtual IP API resource. -type VIP struct { - Address string `json:"address,omitempty"` - ID int `json:"id,omitempty"` - Type Type `json:"type,omitempty"` - Version Version `json:"ipVersion,omitempty" mapstructure:"ipVersion"` -} - -// Version represents the version of a VIP. -type Version string - -// Convenient constants to use for type -const ( - IPV4 Version = "IPV4" - IPV6 Version = "IPV6" -) - -// Type represents the type of a VIP. -type Type string - -const ( - // PUBLIC indicates a VIP type that is routable on the public Internet. - PUBLIC Type = "PUBLIC" - - // PRIVATE indicates a VIP type that is routable only on ServiceNet. - PRIVATE Type = "SERVICENET" -) - -// VIPPage is the page returned by a pager when traversing over a collection -// of VIPs. -type VIPPage struct { - pagination.SinglePageBase -} - -// IsEmpty checks whether a VIPPage struct is empty. -func (p VIPPage) IsEmpty() (bool, error) { - is, err := ExtractVIPs(p) - if err != nil { - return true, nil - } - return len(is) == 0, nil -} - -// ExtractVIPs accepts a Page struct, specifically a VIPPage struct, and -// extracts the elements into a slice of VIP structs. In other words, a -// generic collection is mapped into a relevant slice. -func ExtractVIPs(page pagination.Page) ([]VIP, error) { - var resp struct { - VIPs []VIP `mapstructure:"virtualIps" json:"virtualIps"` - } - - err := mapstructure.Decode(page.(VIPPage).Body, &resp) - - return resp.VIPs, err -} - -type commonResult struct { - gophercloud.Result -} - -func (r commonResult) Extract() (*VIP, error) { - if r.Err != nil { - return nil, r.Err - } - - resp := &VIP{} - err := mapstructure.Decode(r.Body, resp) - - return resp, err -} - -// CreateResult represents the result of a create operation. -type CreateResult struct { - commonResult -} - -// DeleteResult represents the result of a delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/urls.go deleted file mode 100644 index 28f063a0f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/lb/v1/vips/urls.go +++ /dev/null @@ -1,20 +0,0 @@ -package vips - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -const ( - lbPath = "loadbalancers" - vipPath = "virtualips" -) - -func resourceURL(c *gophercloud.ServiceClient, lbID, nodeID int) string { - return c.ServiceURL(lbPath, strconv.Itoa(lbID), vipPath, strconv.Itoa(nodeID)) -} - -func rootURL(c *gophercloud.ServiceClient, lbID int) string { - return c.ServiceURL(lbPath, strconv.Itoa(lbID), vipPath) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/common/common_tests.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/common/common_tests.go deleted file mode 100644 index 129cd63ae..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/common/common_tests.go +++ /dev/null @@ -1,12 +0,0 @@ -package common - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/testhelper/client" -) - -const TokenID = client.TokenID - -func ServiceClient() *gophercloud.ServiceClient { - return client.ServiceClient() -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/networks/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/networks/delegate.go deleted file mode 100644 index dcb0855db..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/networks/delegate.go +++ /dev/null @@ -1,41 +0,0 @@ -package networks - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/networking/v2/networks" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// networks. It accepts a ListOpts struct, which allows you to filter and sort -// the returned collection for greater efficiency. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} - -// Get retrieves a specific network based on its unique ID. -func Get(c *gophercloud.ServiceClient, networkID string) os.GetResult { - return os.Get(c, networkID) -} - -// Create accepts a CreateOpts struct and creates a new network using the values -// provided. This operation does not actually require a request body, i.e. the -// CreateOpts struct argument can be empty. -// -// The tenant ID that is contained in the URI is the tenant that creates the -// network. An admin user, however, has the option of specifying another tenant -// ID in the CreateOpts struct. -func Create(c *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, opts) -} - -// Update accepts a UpdateOpts struct and updates an existing network using the -// values provided. For more information, see the Create function. -func Update(c *gophercloud.ServiceClient, networkID string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, networkID, opts) -} - -// Delete accepts a unique ID and deletes the network associated with it. -func Delete(c *gophercloud.ServiceClient, networkID string) os.DeleteResult { - return os.Delete(c, networkID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/ports/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/ports/delegate.go deleted file mode 100644 index 95728d185..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/ports/delegate.go +++ /dev/null @@ -1,43 +0,0 @@ -package ports - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/networking/v2/ports" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// ports. It accepts a ListOpts struct, which allows you to filter and sort -// the returned collection for greater efficiency. -// -// Default policy settings return only those ports that are owned by the tenant -// who submits the request, unless the request is submitted by a user with -// administrative rights. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} - -// Get retrieves a specific port based on its unique ID. -func Get(c *gophercloud.ServiceClient, networkID string) os.GetResult { - return os.Get(c, networkID) -} - -// Create accepts a CreateOpts struct and creates a new network using the values -// provided. You must remember to provide a NetworkID value. -// -// NOTE: Currently the SecurityGroup option is not implemented to work with -// Rackspace. -func Create(c *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, opts) -} - -// Update accepts a UpdateOpts struct and updates an existing port using the -// values provided. -func Update(c *gophercloud.ServiceClient, networkID string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, networkID, opts) -} - -// Delete accepts a unique ID and deletes the port associated with it. -func Delete(c *gophercloud.ServiceClient, networkID string) os.DeleteResult { - return os.Delete(c, networkID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/doc.go deleted file mode 100644 index 31f744ccd..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/doc.go +++ /dev/null @@ -1,32 +0,0 @@ -// Package security contains functionality to work with security group and -// security group rules Neutron resources. -// -// Security groups and security group rules allows administrators and tenants -// the ability to specify the type of traffic and direction (ingress/egress) -// that is allowed to pass through a port. A security group is a container for -// security group rules. -// -// When a port is created in Networking it is associated with a security group. -// If a security group is not specified the port is associated with a 'default' -// security group. By default, this group drops all ingress traffic and allows -// all egress. Rules can be added to this group in order to change the behaviour. -// -// The basic characteristics of Neutron Security Groups are: -// -// For ingress traffic (to an instance) -// - Only traffic matched with security group rules are allowed. -// - When there is no rule defined, all traffic is dropped. -// -// For egress traffic (from an instance) -// - Only traffic matched with security group rules are allowed. -// - When there is no rule defined, all egress traffic are dropped. -// - When a new security group is created, rules to allow all egress traffic -// is automatically added. -// -// "default security group" is defined for each tenant. -// - For the default security group a rule which allows intercommunication -// among hosts associated with the default security group is defined by default. -// - As a result, all egress traffic and intercommunication in the default -// group are allowed and all ingress from outside of the default group is -// dropped by default (in the default security group). -package security diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/groups/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/groups/delegate.go deleted file mode 100644 index 1e9a23a05..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/groups/delegate.go +++ /dev/null @@ -1,30 +0,0 @@ -package groups - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// security groups. It accepts a ListOpts struct, which allows you to filter -// and sort the returned collection for greater efficiency. -func List(c *gophercloud.ServiceClient, opts os.ListOpts) pagination.Pager { - return os.List(c, opts) -} - -// Create is an operation which provisions a new security group with default -// security group rules for the IPv4 and IPv6 ether types. -func Create(c *gophercloud.ServiceClient, opts os.CreateOpts) os.CreateResult { - return os.Create(c, opts) -} - -// Get retrieves a particular security group based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) os.GetResult { - return os.Get(c, id) -} - -// Delete will permanently delete a particular security group based on its unique ID. -func Delete(c *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(c, id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/rules/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/rules/delegate.go deleted file mode 100644 index 23b4b318e..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/security/rules/delegate.go +++ /dev/null @@ -1,30 +0,0 @@ -package rules - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// security group rules. It accepts a ListOpts struct, which allows you to filter -// and sort the returned collection for greater efficiency. -func List(c *gophercloud.ServiceClient, opts os.ListOpts) pagination.Pager { - return os.List(c, opts) -} - -// Create is an operation which provisions a new security group with default -// security group rules for the IPv4 and IPv6 ether types. -func Create(c *gophercloud.ServiceClient, opts os.CreateOpts) os.CreateResult { - return os.Create(c, opts) -} - -// Get retrieves a particular security group based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) os.GetResult { - return os.Get(c, id) -} - -// Delete will permanently delete a particular security group based on its unique ID. -func Delete(c *gophercloud.ServiceClient, id string) os.DeleteResult { - return os.Delete(c, id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/subnets/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/subnets/delegate.go deleted file mode 100644 index a7fb7bb15..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/networking/v2/subnets/delegate.go +++ /dev/null @@ -1,40 +0,0 @@ -package subnets - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/networking/v2/subnets" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns a Pager which allows you to iterate over a collection of -// subnets. It accepts a ListOpts struct, which allows you to filter and sort -// the returned collection for greater efficiency. -// -// Default policy settings return only those subnets that are owned by the tenant -// who submits the request, unless the request is submitted by a user with -// administrative rights. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} - -// Get retrieves a specific subnet based on its unique ID. -func Get(c *gophercloud.ServiceClient, networkID string) os.GetResult { - return os.Get(c, networkID) -} - -// Create accepts a CreateOpts struct and creates a new subnet using the values -// provided. You must remember to provide a valid NetworkID, CIDR and IP version. -func Create(c *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, opts) -} - -// Update accepts a UpdateOpts struct and updates an existing subnet using the -// values provided. -func Update(c *gophercloud.ServiceClient, networkID string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, networkID, opts) -} - -// Delete accepts a unique ID and deletes the subnet associated with it. -func Delete(c *gophercloud.ServiceClient, networkID string) os.DeleteResult { - return os.Delete(c, networkID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/delegate.go deleted file mode 100644 index 94739308f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/delegate.go +++ /dev/null @@ -1,39 +0,0 @@ -package accounts - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts" -) - -// Get is a function that retrieves an account's metadata. To extract just the -// custom metadata, call the ExtractMetadata method on the GetResult. To extract -// all the headers that are returned (including the metadata), call the -// ExtractHeader method on the GetResult. -func Get(c *gophercloud.ServiceClient) os.GetResult { - return os.Get(c, nil) -} - -// UpdateOpts is a structure that contains parameters for updating, creating, or -// deleting an account's metadata. -type UpdateOpts struct { - Metadata map[string]string - TempURLKey string `h:"X-Account-Meta-Temp-URL-Key"` - TempURLKey2 string `h:"X-Account-Meta-Temp-URL-Key-2"` -} - -// ToAccountUpdateMap formats an UpdateOpts into a map[string]string of headers. -func (opts UpdateOpts) ToAccountUpdateMap() (map[string]string, error) { - headers, err := gophercloud.BuildHeaders(opts) - if err != nil { - return nil, err - } - for k, v := range opts.Metadata { - headers["X-Account-Meta-"+k] = v - } - return headers, err -} - -// Update will update an account's metadata with the Metadata in the UpdateOptsBuilder. -func Update(c *gophercloud.ServiceClient, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/doc.go deleted file mode 100644 index 293a93088..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package accounts provides information and interaction with the account -// API resource for the Rackspace Cloud Files service. -package accounts diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/doc.go deleted file mode 100644 index 9c89e22b2..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package bulk provides functionality for working with bulk operations in the -// Rackspace Cloud Files service. -package bulk diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/requests.go deleted file mode 100644 index 0aeec155b..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/requests.go +++ /dev/null @@ -1,51 +0,0 @@ -package bulk - -import ( - "net/url" - "strings" - - "github.com/rackspace/gophercloud" -) - -// DeleteOptsBuilder allows extensions to add additional parameters to the -// Delete request. -type DeleteOptsBuilder interface { - ToBulkDeleteBody() (string, error) -} - -// DeleteOpts is a structure that holds parameters for deleting an object. -type DeleteOpts []string - -// ToBulkDeleteBody formats a DeleteOpts into a request body. -func (opts DeleteOpts) ToBulkDeleteBody() (string, error) { - return url.QueryEscape(strings.Join(opts, "\n")), nil -} - -// Delete will delete objects or containers in bulk. -func Delete(c *gophercloud.ServiceClient, opts DeleteOptsBuilder) DeleteResult { - var res DeleteResult - - if opts == nil { - return res - } - - reqString, err := opts.ToBulkDeleteBody() - if err != nil { - res.Err = err - return res - } - - reqBody := strings.NewReader(reqString) - - resp, err := c.Request("DELETE", deleteURL(c), gophercloud.RequestOpts{ - MoreHeaders: map[string]string{"Content-Type": "text/plain"}, - OkCodes: []int{200}, - JSONBody: reqBody, - JSONResponse: &res.Body, - }) - if resp != nil { - res.Header = resp.Header - } - res.Err = err - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/results.go deleted file mode 100644 index fddc125ac..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/results.go +++ /dev/null @@ -1,28 +0,0 @@ -package bulk - -import ( - "github.com/rackspace/gophercloud" - - "github.com/mitchellh/mapstructure" -) - -// DeleteResult represents the result of a bulk delete operation. -type DeleteResult struct { - gophercloud.Result -} - -// DeleteRespBody is the form of the response body returned by a bulk delete request. -type DeleteRespBody struct { - NumberNotFound int `mapstructure:"Number Not Found"` - ResponseStatus string `mapstructure:"Response Status"` - Errors []string `mapstructure:"Errors"` - NumberDeleted int `mapstructure:"Number Deleted"` - ResponseBody string `mapstructure:"Response Body"` -} - -// ExtractBody will extract the body returned by the bulk extract request. -func (dr DeleteResult) ExtractBody() (DeleteRespBody, error) { - var resp DeleteRespBody - err := mapstructure.Decode(dr.Body, &resp) - return resp, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/urls.go deleted file mode 100644 index 2e112033b..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk/urls.go +++ /dev/null @@ -1,11 +0,0 @@ -package bulk - -import "github.com/rackspace/gophercloud" - -func deleteURL(c *gophercloud.ServiceClient) string { - return c.Endpoint + "?bulk-delete" -} - -func extractURL(c *gophercloud.ServiceClient, ext string) string { - return c.Endpoint + "?extract-archive=" + ext -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/delegate.go deleted file mode 100644 index 89adb8396..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/delegate.go +++ /dev/null @@ -1,38 +0,0 @@ -package cdncontainers - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers" - "github.com/rackspace/gophercloud/pagination" -) - -// ExtractNames interprets a page of List results when just the container -// names are requested. -func ExtractNames(page pagination.Page) ([]string, error) { - return os.ExtractNames(page) -} - -// ListOpts are options for listing Rackspace CDN containers. -type ListOpts struct { - EndMarker string `q:"end_marker"` - Format string `q:"format"` - Limit int `q:"limit"` - Marker string `q:"marker"` -} - -// ToContainerListParams formats a ListOpts into a query string and boolean -// representing whether to list complete information for each container. -func (opts ListOpts) ToContainerListParams() (bool, string, error) { - q, err := gophercloud.BuildQueryString(opts) - if err != nil { - return false, "", err - } - return false, q.String(), nil -} - -// List is a function that retrieves containers associated with the account as -// well as account metadata. It returns a pager which can be iterated with the -// EachPage function. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/doc.go deleted file mode 100644 index 7b0930eee..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package cdncontainers provides information and interaction with the CDN -// Container API resource for the Rackspace Cloud Files service. -package cdncontainers diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/requests.go deleted file mode 100644 index 6acebb0aa..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/requests.go +++ /dev/null @@ -1,161 +0,0 @@ -package cdncontainers - -import ( - "strconv" - - "github.com/rackspace/gophercloud" -) - -// EnableOptsBuilder allows extensions to add additional parameters to the Enable -// request. -type EnableOptsBuilder interface { - ToCDNContainerEnableMap() (map[string]string, error) -} - -// EnableOpts is a structure that holds options for enabling a CDN container. -type EnableOpts struct { - // CDNEnabled indicates whether or not the container is CDN enabled. Set to - // `true` to enable the container. Note that changing this setting from true - // to false will disable the container in the CDN but only after the TTL has - // expired. - CDNEnabled bool `h:"X-Cdn-Enabled"` - // TTL is the time-to-live for the container (in seconds). - TTL int `h:"X-Ttl"` -} - -// ToCDNContainerEnableMap formats an EnableOpts into a map of headers. -func (opts EnableOpts) ToCDNContainerEnableMap() (map[string]string, error) { - h, err := gophercloud.BuildHeaders(opts) - if err != nil { - return nil, err - } - return h, nil -} - -// Enable is a function that enables/disables a CDN container. -func Enable(c *gophercloud.ServiceClient, containerName string, opts EnableOptsBuilder) EnableResult { - var res EnableResult - h := c.AuthenticatedHeaders() - - if opts != nil { - headers, err := opts.ToCDNContainerEnableMap() - if err != nil { - res.Err = err - return res - } - - for k, v := range headers { - h[k] = v - } - } - - resp, err := c.Request("PUT", enableURL(c, containerName), gophercloud.RequestOpts{ - MoreHeaders: h, - OkCodes: []int{201, 202, 204}, - }) - if resp != nil { - res.Header = resp.Header - } - res.Err = err - return res -} - -// Get is a function that retrieves the metadata of a container. To extract just -// the custom metadata, pass the GetResult response to the ExtractMetadata -// function. -func Get(c *gophercloud.ServiceClient, containerName string) GetResult { - var res GetResult - resp, err := c.Request("HEAD", getURL(c, containerName), gophercloud.RequestOpts{ - OkCodes: []int{200, 204}, - }) - if resp != nil { - res.Header = resp.Header - } - res.Err = err - return res -} - -// State is the state of an option. It is a pointer to a boolean to enable checking for -// a zero-value of nil instead of false, which is a valid option. -type State *bool - -var ( - iTrue = true - iFalse = false - - // Enabled is used for a true value for options in request bodies. - Enabled State = &iTrue - // Disabled is used for a false value for options in request bodies. - Disabled State = &iFalse -) - -// UpdateOptsBuilder allows extensions to add additional parameters to the -// Update request. -type UpdateOptsBuilder interface { - ToContainerUpdateMap() (map[string]string, error) -} - -// UpdateOpts is a structure that holds parameters for updating, creating, or -// deleting a container's metadata. -type UpdateOpts struct { - // Whether or not to CDN-enable a container. Prefer using XCDNEnabled, which - // is of type *bool underneath. - // TODO v2.0: change type to Enabled/Disabled (*bool) - CDNEnabled bool `h:"X-Cdn-Enabled"` - // Whether or not to enable log retention. Prefer using XLogRetention, which - // is of type *bool underneath. - // TODO v2.0: change type to Enabled/Disabled (*bool) - LogRetention bool `h:"X-Log-Retention"` - XCDNEnabled *bool - XLogRetention *bool - TTL int `h:"X-Ttl"` -} - -// ToContainerUpdateMap formats a CreateOpts into a map of headers. -func (opts UpdateOpts) ToContainerUpdateMap() (map[string]string, error) { - h, err := gophercloud.BuildHeaders(opts) - if err != nil { - return nil, err - } - h["X-Cdn-Enabled"] = strconv.FormatBool(opts.CDNEnabled) - h["X-Log-Retention"] = strconv.FormatBool(opts.LogRetention) - - if opts.XCDNEnabled != nil { - h["X-Cdn-Enabled"] = strconv.FormatBool(*opts.XCDNEnabled) - } - - if opts.XLogRetention != nil { - h["X-Log-Retention"] = strconv.FormatBool(*opts.XLogRetention) - } - - return h, nil -} - -// Update is a function that creates, updates, or deletes a container's -// metadata. -func Update(c *gophercloud.ServiceClient, containerName string, opts UpdateOptsBuilder) UpdateResult { - var res UpdateResult - h := c.AuthenticatedHeaders() - - if opts != nil { - headers, err := opts.ToContainerUpdateMap() - if err != nil { - res.Err = err - return res - } - - for k, v := range headers { - h[k] = v - } - } - - resp, err := c.Request("POST", updateURL(c, containerName), gophercloud.RequestOpts{ - MoreHeaders: h, - OkCodes: []int{202, 204}, - }) - if resp != nil { - res.Header = resp.Header - } - res.Err = err - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/results.go deleted file mode 100644 index cb0ad3096..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/results.go +++ /dev/null @@ -1,149 +0,0 @@ -package cdncontainers - -import ( - "strings" - "time" - - "github.com/rackspace/gophercloud" -) - -// EnableHeader represents the headers returned in the response from an Enable request. -type EnableHeader struct { - CDNIosURI string `mapstructure:"X-Cdn-Ios-Uri"` - CDNSslURI string `mapstructure:"X-Cdn-Ssl-Uri"` - CDNStreamingURI string `mapstructure:"X-Cdn-Streaming-Uri"` - CDNUri string `mapstructure:"X-Cdn-Uri"` - ContentLength int `mapstructure:"Content-Length"` - ContentType string `mapstructure:"Content-Type"` - Date time.Time `mapstructure:"-"` - TransID string `mapstructure:"X-Trans-Id"` -} - -// EnableResult represents the result of an Enable operation. -type EnableResult struct { - gophercloud.HeaderResult -} - -// Extract will return extract an EnableHeader from the response to an Enable -// request. To obtain a map of headers, call the ExtractHeader method on the EnableResult. -func (er EnableResult) Extract() (EnableHeader, error) { - var eh EnableHeader - if er.Err != nil { - return eh, er.Err - } - - if err := gophercloud.DecodeHeader(er.Header, &eh); err != nil { - return eh, err - } - - if date, ok := er.Header["Date"]; ok && len(date) > 0 { - t, err := time.Parse(time.RFC1123, er.Header["Date"][0]) - if err != nil { - return eh, err - } - eh.Date = t - } - - return eh, nil -} - -// GetHeader represents the headers returned in the response from a Get request. -type GetHeader struct { - CDNEnabled bool `mapstructure:"X-Cdn-Enabled"` - CDNIosURI string `mapstructure:"X-Cdn-Ios-Uri"` - CDNSslURI string `mapstructure:"X-Cdn-Ssl-Uri"` - CDNStreamingURI string `mapstructure:"X-Cdn-Streaming-Uri"` - CDNUri string `mapstructure:"X-Cdn-Uri"` - ContentLength int `mapstructure:"Content-Length"` - ContentType string `mapstructure:"Content-Type"` - Date time.Time `mapstructure:"-"` - LogRetention bool `mapstructure:"X-Log-Retention"` - TransID string `mapstructure:"X-Trans-Id"` - TTL int `mapstructure:"X-Ttl"` -} - -// GetResult represents the result of a Get operation. -type GetResult struct { - gophercloud.HeaderResult -} - -// Extract will return a struct of headers returned from a call to Get. To obtain -// a map of headers, call the ExtractHeader method on the GetResult. -func (gr GetResult) Extract() (GetHeader, error) { - var gh GetHeader - if gr.Err != nil { - return gh, gr.Err - } - - if err := gophercloud.DecodeHeader(gr.Header, &gh); err != nil { - return gh, err - } - - if date, ok := gr.Header["Date"]; ok && len(date) > 0 { - t, err := time.Parse(time.RFC1123, gr.Header["Date"][0]) - if err != nil { - return gh, err - } - gh.Date = t - } - - return gh, nil -} - -// ExtractMetadata is a function that takes a GetResult (of type *http.Response) -// and returns the custom metadata associated with the container. -func (gr GetResult) ExtractMetadata() (map[string]string, error) { - if gr.Err != nil { - return nil, gr.Err - } - metadata := make(map[string]string) - for k, v := range gr.Header { - if strings.HasPrefix(k, "X-Container-Meta-") { - key := strings.TrimPrefix(k, "X-Container-Meta-") - metadata[key] = v[0] - } - } - return metadata, nil -} - -// UpdateHeader represents the headers returned in the response from a Update request. -type UpdateHeader struct { - CDNIosURI string `mapstructure:"X-Cdn-Ios-Uri"` - CDNSslURI string `mapstructure:"X-Cdn-Ssl-Uri"` - CDNStreamingURI string `mapstructure:"X-Cdn-Streaming-Uri"` - CDNUri string `mapstructure:"X-Cdn-Uri"` - ContentLength int `mapstructure:"Content-Length"` - ContentType string `mapstructure:"Content-Type"` - Date time.Time `mapstructure:"-"` - TransID string `mapstructure:"X-Trans-Id"` -} - -// UpdateResult represents the result of an update operation. To extract the -// the headers from the HTTP response, you can invoke the 'ExtractHeader' -// method on the result struct. -type UpdateResult struct { - gophercloud.HeaderResult -} - -// Extract will return a struct of headers returned from a call to Update. To obtain -// a map of headers, call the ExtractHeader method on the UpdateResult. -func (ur UpdateResult) Extract() (UpdateHeader, error) { - var uh UpdateHeader - if ur.Err != nil { - return uh, ur.Err - } - - if err := gophercloud.DecodeHeader(ur.Header, &uh); err != nil { - return uh, err - } - - if date, ok := ur.Header["Date"]; ok && len(date) > 0 { - t, err := time.Parse(time.RFC1123, ur.Header["Date"][0]) - if err != nil { - return uh, err - } - uh.Date = t - } - - return uh, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/urls.go deleted file mode 100644 index 541249a92..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers/urls.go +++ /dev/null @@ -1,15 +0,0 @@ -package cdncontainers - -import "github.com/rackspace/gophercloud" - -func enableURL(c *gophercloud.ServiceClient, containerName string) string { - return c.ServiceURL(containerName) -} - -func getURL(c *gophercloud.ServiceClient, container string) string { - return c.ServiceURL(container) -} - -func updateURL(c *gophercloud.ServiceClient, container string) string { - return getURL(c, container) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/delegate.go deleted file mode 100644 index e9d2ff1d6..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/delegate.go +++ /dev/null @@ -1,11 +0,0 @@ -package cdnobjects - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/objectstorage/v1/objects" -) - -// Delete is a function that deletes an object from the CDN. -func Delete(c *gophercloud.ServiceClient, containerName, objectName string, opts os.DeleteOptsBuilder) os.DeleteResult { - return os.Delete(c, containerName, objectName, nil) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/doc.go deleted file mode 100644 index 90cd5c97f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package cdnobjects provides information and interaction with the CDN -// Object API resource for the Rackspace Cloud Files service. -package cdnobjects diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/request.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/request.go deleted file mode 100644 index 540e0cd29..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects/request.go +++ /dev/null @@ -1,15 +0,0 @@ -package cdnobjects - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers" -) - -// CDNURL returns the unique CDN URI for the given container and object. -func CDNURL(c *gophercloud.ServiceClient, containerName, objectName string) (string, error) { - h, err := cdncontainers.Get(c, containerName).Extract() - if err != nil { - return "", err - } - return h.CDNUri + "/" + objectName, nil -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/delegate.go deleted file mode 100644 index 77ed00257..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/delegate.go +++ /dev/null @@ -1,93 +0,0 @@ -package containers - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers" - "github.com/rackspace/gophercloud/pagination" -) - -// ExtractInfo interprets a page of List results when full container info -// is requested. -func ExtractInfo(page pagination.Page) ([]os.Container, error) { - return os.ExtractInfo(page) -} - -// ExtractNames interprets a page of List results when just the container -// names are requested. -func ExtractNames(page pagination.Page) ([]string, error) { - return os.ExtractNames(page) -} - -// List is a function that retrieves containers associated with the account as -// well as account metadata. It returns a pager which can be iterated with the -// EachPage function. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} - -// CreateOpts is a structure that holds parameters for creating a container. -type CreateOpts struct { - Metadata map[string]string - ContainerRead string `h:"X-Container-Read"` - ContainerWrite string `h:"X-Container-Write"` - VersionsLocation string `h:"X-Versions-Location"` -} - -// ToContainerCreateMap formats a CreateOpts into a map of headers. -func (opts CreateOpts) ToContainerCreateMap() (map[string]string, error) { - h, err := gophercloud.BuildHeaders(opts) - if err != nil { - return nil, err - } - for k, v := range opts.Metadata { - h["X-Container-Meta-"+k] = v - } - return h, nil -} - -// Create is a function that creates a new container. -func Create(c *gophercloud.ServiceClient, containerName string, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, containerName, opts) -} - -// Delete is a function that deletes a container. -func Delete(c *gophercloud.ServiceClient, containerName string) os.DeleteResult { - return os.Delete(c, containerName) -} - -// UpdateOpts is a structure that holds parameters for updating or creating a -// container's metadata. -type UpdateOpts struct { - Metadata map[string]string - ContainerRead string `h:"X-Container-Read"` - ContainerWrite string `h:"X-Container-Write"` - ContentType string `h:"Content-Type"` - DetectContentType bool `h:"X-Detect-Content-Type"` - RemoveVersionsLocation string `h:"X-Remove-Versions-Location"` - VersionsLocation string `h:"X-Versions-Location"` -} - -// ToContainerUpdateMap formats a CreateOpts into a map of headers. -func (opts UpdateOpts) ToContainerUpdateMap() (map[string]string, error) { - h, err := gophercloud.BuildHeaders(opts) - if err != nil { - return nil, err - } - for k, v := range opts.Metadata { - h["X-Container-Meta-"+k] = v - } - return h, nil -} - -// Update is a function that creates, updates, or deletes a container's -// metadata. -func Update(c *gophercloud.ServiceClient, containerName string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, containerName, opts) -} - -// Get is a function that retrieves the metadata of a container. To extract just -// the custom metadata, pass the GetResult response to the ExtractMetadata -// function. -func Get(c *gophercloud.ServiceClient, containerName string) os.GetResult { - return os.Get(c, containerName) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/doc.go deleted file mode 100644 index d132a0738..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package containers provides information and interaction with the Container -// API resource for the Rackspace Cloud Files service. -package containers diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/delegate.go deleted file mode 100644 index 94c820ba7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/delegate.go +++ /dev/null @@ -1,94 +0,0 @@ -package objects - -import ( - "io" - - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/objectstorage/v1/objects" - "github.com/rackspace/gophercloud/pagination" -) - -// ExtractInfo is a function that takes a page of objects and returns their full information. -func ExtractInfo(page pagination.Page) ([]os.Object, error) { - return os.ExtractInfo(page) -} - -// ExtractNames is a function that takes a page of objects and returns only their names. -func ExtractNames(page pagination.Page) ([]string, error) { - return os.ExtractNames(page) -} - -// List is a function that retrieves objects in the container as -// well as container metadata. It returns a pager which can be iterated with the -// EachPage function. -func List(c *gophercloud.ServiceClient, containerName string, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, containerName, opts) -} - -// Download is a function that retrieves the content and metadata for an object. -// To extract just the content, pass the DownloadResult response to the -// ExtractContent function. -func Download(c *gophercloud.ServiceClient, containerName, objectName string, opts os.DownloadOptsBuilder) os.DownloadResult { - return os.Download(c, containerName, objectName, opts) -} - -// Create is a function that creates a new object or replaces an existing object. -func Create(c *gophercloud.ServiceClient, containerName, objectName string, content io.ReadSeeker, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, containerName, objectName, content, opts) -} - -// CopyOpts is a structure that holds parameters for copying one object to -// another. -type CopyOpts struct { - Metadata map[string]string - ContentDisposition string `h:"Content-Disposition"` - ContentEncoding string `h:"Content-Encoding"` - ContentLength int `h:"Content-Length"` - ContentType string `h:"Content-Type"` - CopyFrom string `h:"X-Copy_From"` - Destination string `h:"Destination"` - DetectContentType bool `h:"X-Detect-Content-Type"` -} - -// ToObjectCopyMap formats a CopyOpts into a map of headers. -func (opts CopyOpts) ToObjectCopyMap() (map[string]string, error) { - h, err := gophercloud.BuildHeaders(opts) - if err != nil { - return nil, err - } - for k, v := range opts.Metadata { - h["X-Object-Meta-"+k] = v - } - // `Content-Length` is required and a value of "0" is acceptable, but calling `gophercloud.BuildHeaders` - // will remove the `Content-Length` header if it's set to 0 (or equivalently not set). This will add - // the header if it's not already set. - if _, ok := h["Content-Length"]; !ok { - h["Content-Length"] = "0" - } - return h, nil -} - -// Copy is a function that copies one object to another. -func Copy(c *gophercloud.ServiceClient, containerName, objectName string, opts os.CopyOptsBuilder) os.CopyResult { - return os.Copy(c, containerName, objectName, opts) -} - -// Delete is a function that deletes an object. -func Delete(c *gophercloud.ServiceClient, containerName, objectName string, opts os.DeleteOptsBuilder) os.DeleteResult { - return os.Delete(c, containerName, objectName, opts) -} - -// Get is a function that retrieves the metadata of an object. To extract just the custom -// metadata, pass the GetResult response to the ExtractMetadata function. -func Get(c *gophercloud.ServiceClient, containerName, objectName string, opts os.GetOptsBuilder) os.GetResult { - return os.Get(c, containerName, objectName, opts) -} - -// Update is a function that creates, updates, or deletes an object's metadata. -func Update(c *gophercloud.ServiceClient, containerName, objectName string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, containerName, objectName, opts) -} - -func CreateTempURL(c *gophercloud.ServiceClient, containerName, objectName string, opts os.CreateTempURLOpts) (string, error) { - return os.CreateTempURL(c, containerName, objectName, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/doc.go deleted file mode 100644 index 781984bee..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package objects provides information and interaction with the Object -// API resource for the Rackspace Cloud Files service. -package objects diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/delegate.go deleted file mode 100644 index c834e5c7d..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/delegate.go +++ /dev/null @@ -1,11 +0,0 @@ -package buildinfo - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/orchestration/v1/buildinfo" -) - -// Get retreives build info data for the Heat deployment. -func Get(c *gophercloud.ServiceClient) os.GetResult { - return os.Get(c) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/doc.go deleted file mode 100644 index 183e8dfa7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo/doc.go +++ /dev/null @@ -1,2 +0,0 @@ -// Package buildinfo provides build information about heat deployments. -package buildinfo diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/delegate.go deleted file mode 100644 index 08675deac..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/delegate.go +++ /dev/null @@ -1,27 +0,0 @@ -package stackevents - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackevents" - "github.com/rackspace/gophercloud/pagination" -) - -// Find retreives stack events for the given stack name. -func Find(c *gophercloud.ServiceClient, stackName string) os.FindResult { - return os.Find(c, stackName) -} - -// List makes a request against the API to list resources for the given stack. -func List(c *gophercloud.ServiceClient, stackName, stackID string, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, stackName, stackID, opts) -} - -// ListResourceEvents makes a request against the API to list resources for the given stack. -func ListResourceEvents(c *gophercloud.ServiceClient, stackName, stackID, resourceName string, opts os.ListResourceEventsOptsBuilder) pagination.Pager { - return os.ListResourceEvents(c, stackName, stackID, resourceName, opts) -} - -// Get retreives data for the given stack resource. -func Get(c *gophercloud.ServiceClient, stackName, stackID, resourceName, eventID string) os.GetResult { - return os.Get(c, stackName, stackID, resourceName, eventID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/doc.go deleted file mode 100644 index dfd6ef660..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package stackevents provides operations for finding, listing, and retrieving -// stack events. -package stackevents diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/delegate.go deleted file mode 100644 index cb7be28b7..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/delegate.go +++ /dev/null @@ -1,42 +0,0 @@ -package stackresources - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackresources" - "github.com/rackspace/gophercloud/pagination" -) - -// Find retreives stack resources for the given stack name. -func Find(c *gophercloud.ServiceClient, stackName string) os.FindResult { - return os.Find(c, stackName) -} - -// List makes a request against the API to list resources for the given stack. -func List(c *gophercloud.ServiceClient, stackName, stackID string, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, stackName, stackID, opts) -} - -// Get retreives data for the given stack resource. -func Get(c *gophercloud.ServiceClient, stackName, stackID, resourceName string) os.GetResult { - return os.Get(c, stackName, stackID, resourceName) -} - -// Metadata retreives the metadata for the given stack resource. -func Metadata(c *gophercloud.ServiceClient, stackName, stackID, resourceName string) os.MetadataResult { - return os.Metadata(c, stackName, stackID, resourceName) -} - -// ListTypes makes a request against the API to list resource types. -func ListTypes(c *gophercloud.ServiceClient) pagination.Pager { - return os.ListTypes(c) -} - -// Schema retreives the schema for the given resource type. -func Schema(c *gophercloud.ServiceClient, resourceType string) os.SchemaResult { - return os.Schema(c, resourceType) -} - -// Template retreives the template representation for the given resource type. -func Template(c *gophercloud.ServiceClient, resourceType string) os.TemplateResult { - return os.Template(c, resourceType) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/doc.go deleted file mode 100644 index e4f8b08dc..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources/doc.go +++ /dev/null @@ -1,5 +0,0 @@ -// Package stackresources provides operations for working with stack resources. -// A resource is a template artifact that represents some component of your -// desired architecture (a Cloud Server, a group of scaled Cloud Servers, a load -// balancer, some configuration management system, and so forth). -package stackresources diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/delegate.go deleted file mode 100644 index f7e387f8f..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/delegate.go +++ /dev/null @@ -1,49 +0,0 @@ -package stacks - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacks" - "github.com/rackspace/gophercloud/pagination" -) - -// Create accepts an os.CreateOpts struct and creates a new stack using the values -// provided. -func Create(c *gophercloud.ServiceClient, opts os.CreateOptsBuilder) os.CreateResult { - return os.Create(c, opts) -} - -// Adopt accepts an os.AdoptOpts struct and creates a new stack from existing stack -// resources using the values provided. -func Adopt(c *gophercloud.ServiceClient, opts os.AdoptOptsBuilder) os.AdoptResult { - return os.Adopt(c, opts) -} - -// List accepts an os.ListOpts struct and lists stacks based on the options provided. -func List(c *gophercloud.ServiceClient, opts os.ListOptsBuilder) pagination.Pager { - return os.List(c, opts) -} - -// Get retreives a stack based on the stack name and stack ID. -func Get(c *gophercloud.ServiceClient, stackName, stackID string) os.GetResult { - return os.Get(c, stackName, stackID) -} - -// Update accepts an os.UpdateOpts struct and updates a stack based on the options provided. -func Update(c *gophercloud.ServiceClient, stackName, stackID string, opts os.UpdateOptsBuilder) os.UpdateResult { - return os.Update(c, stackName, stackID, opts) -} - -// Delete deletes a stack based on the stack name and stack ID provided. -func Delete(c *gophercloud.ServiceClient, stackName, stackID string) os.DeleteResult { - return os.Delete(c, stackName, stackID) -} - -// Preview provides a preview of a stack based on the options provided. -func Preview(c *gophercloud.ServiceClient, opts os.PreviewOptsBuilder) os.PreviewResult { - return os.Preview(c, opts) -} - -// Abandon abandons a stack, keeping the resources available. -func Abandon(c *gophercloud.ServiceClient, stackName, stackID string) os.AbandonResult { - return os.Abandon(c, stackName, stackID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/doc.go deleted file mode 100644 index 19231b513..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/doc.go +++ /dev/null @@ -1,8 +0,0 @@ -// Package stacks provides operation for working with Heat stacks. A stack is a -// group of resources (servers, load balancers, databases, and so forth) -// combined to fulfill a useful purpose. Based on a template, Heat orchestration -// engine creates an instantiated set of resources (a stack) to run the -// application framework or component specified (in the template). A stack is a -// running instance of a template. The result of creating a stack is a deployment -// of the application framework or component. -package stacks diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/fixtures.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/fixtures.go deleted file mode 100644 index c9afeb156..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks/fixtures.go +++ /dev/null @@ -1,32 +0,0 @@ -package stacks - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacks" -) - -// CreateExpected represents the expected object from a Create request. -var CreateExpected = &os.CreatedStack{ - ID: "b663e18a-4767-4cdf-9db5-9c8cc13cc38a", - Links: []gophercloud.Link{ - gophercloud.Link{ - Href: "https://ord.orchestration.api.rackspacecloud.com/v1/864477/stacks/stackcreated/b663e18a-4767-4cdf-9db5-9c8cc13cc38a", - Rel: "self", - }, - }, -} - -// CreateOutput represents the response body from a Create request. -const CreateOutput = ` -{ - "stack": { - "id": "b663e18a-4767-4cdf-9db5-9c8cc13cc38a", - "links": [ - { - "href": "https://ord.orchestration.api.rackspacecloud.com/v1/864477/stacks/stackcreated/b663e18a-4767-4cdf-9db5-9c8cc13cc38a", - "rel": "self" - } - ] - } -} -` diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/delegate.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/delegate.go deleted file mode 100644 index 3b5d46e1c..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/delegate.go +++ /dev/null @@ -1,16 +0,0 @@ -package stacktemplates - -import ( - "github.com/rackspace/gophercloud" - os "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacktemplates" -) - -// Get retreives data for the given stack template. -func Get(c *gophercloud.ServiceClient, stackName, stackID string) os.GetResult { - return os.Get(c, stackName, stackID) -} - -// Validate validates the given stack template. -func Validate(c *gophercloud.ServiceClient, opts os.ValidateOptsBuilder) os.ValidateResult { - return os.Validate(c, opts) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/doc.go deleted file mode 100644 index 5af0bd62a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates/doc.go +++ /dev/null @@ -1,8 +0,0 @@ -// Package stacktemplates provides operations for working with Heat templates. -// A Cloud Orchestration template is a portable file, written in a user-readable -// language, that describes how a set of resources should be assembled and what -// software should be installed in order to produce a working stack. The template -// specifies what resources should be used, what attributes can be set, and other -// parameters that are critical to the successful, repeatable automation of a -// specific application stack. -package stacktemplates diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/requests.go deleted file mode 100644 index 58843030a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/requests.go +++ /dev/null @@ -1,24 +0,0 @@ -package cloudnetworks - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns all cloud networks that are associated with RackConnect. The ID -// returned for each network is the same as the ID returned by the networks package. -func List(c *gophercloud.ServiceClient) pagination.Pager { - url := listURL(c) - createPage := func(r pagination.PageResult) pagination.Page { - return CloudNetworkPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} - -// Get retrieves a specific cloud network (that is associated with RackConnect) -// based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) GetResult { - var res GetResult - _, res.Err = c.Get(getURL(c, id), &res.Body, nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/results.go deleted file mode 100644 index f554a0d75..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/results.go +++ /dev/null @@ -1,113 +0,0 @@ -package cloudnetworks - -import ( - "fmt" - "reflect" - "time" - - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// CloudNetwork represents a network associated with a RackConnect configuration. -type CloudNetwork struct { - // Specifies the ID of the newtork. - ID string `mapstructure:"id"` - // Specifies the user-provided name of the network. - Name string `mapstructure:"name"` - // Specifies the IP range for this network. - CIDR string `mapstructure:"cidr"` - // Specifies the time the network was created. - CreatedAt time.Time `mapstructure:"-"` - // Specifies the time the network was last updated. - UpdatedAt time.Time `mapstructure:"-"` -} - -// CloudNetworkPage is the page returned by a pager when traversing over a -// collection of CloudNetworks. -type CloudNetworkPage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if a CloudNetworkPage contains no CloudNetworks. -func (r CloudNetworkPage) IsEmpty() (bool, error) { - cns, err := ExtractCloudNetworks(r) - if err != nil { - return true, err - } - return len(cns) == 0, nil -} - -// ExtractCloudNetworks extracts and returns CloudNetworks. It is used while iterating over -// a cloudnetworks.List call. -func ExtractCloudNetworks(page pagination.Page) ([]CloudNetwork, error) { - var res []CloudNetwork - casted := page.(CloudNetworkPage).Body - err := mapstructure.Decode(casted, &res) - - var rawNets []interface{} - switch casted.(type) { - case interface{}: - rawNets = casted.([]interface{}) - default: - return res, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i := range rawNets { - thisNet := (rawNets[i]).(map[string]interface{}) - - if t, ok := thisNet["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CreatedAt = creationTime - } - - if t, ok := thisNet["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].UpdatedAt = updatedTime - } - } - - return res, err -} - -// GetResult represents the result of a Get operation. -type GetResult struct { - gophercloud.Result -} - -// Extract is a function that extracts a CloudNetwork from a GetResult. -func (r GetResult) Extract() (*CloudNetwork, error) { - if r.Err != nil { - return nil, r.Err - } - var res CloudNetwork - - err := mapstructure.Decode(r.Body, &res) - - b := r.Body.(map[string]interface{}) - - if date, ok := b["created"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.CreatedAt = t - } - - if date, ok := b["updated"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.UpdatedAt = t - } - - return &res, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/urls.go deleted file mode 100644 index bd6b098da..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks/urls.go +++ /dev/null @@ -1,11 +0,0 @@ -package cloudnetworks - -import "github.com/rackspace/gophercloud" - -func listURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL("cloud_networks") -} - -func getURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL("cloud_networks", id) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/doc.go deleted file mode 100644 index 3a8279e10..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/doc.go +++ /dev/null @@ -1,4 +0,0 @@ -// Package rackconnect allows Rackspace cloud accounts to leverage version 3 of -// RackConnect, Rackspace's hybrid connectivity solution connecting dedicated -// and cloud servers. -package rackconnect diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/doc.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/doc.go deleted file mode 100644 index f4319b8ff..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/doc.go +++ /dev/null @@ -1,14 +0,0 @@ -// Package lbpools provides access to load balancer pools associated with a -// RackConnect configuration. Load Balancer Pools must be configured in advance -// by your Network Security team to be eligible for use with RackConnect. -// If you do not see a pool that you expect to see, contact your Support team -// for further assistance. The Load Balancer Pool id returned by these calls is -// automatically generated by the RackConnect automation and will remain constant -// unless the Load Balancer Pool is renamed on your hardware load balancer. -// All Load Balancer Pools will currently return a status of ACTIVE. Future -// features may introduce additional statuses. -// Node status values are ADDING, ACTIVE, REMOVING, ADD_FAILED, and REMOVE_FAILED. -// The cloud_servers node count will only include Cloud Servers from the specified -// cloud account. Any dedicated servers or cloud servers from another cloud account -// on the same RackConnect Configuration will be counted as external nodes. -package lbpools diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/requests.go deleted file mode 100644 index c300c56c1..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/requests.go +++ /dev/null @@ -1,146 +0,0 @@ -package lbpools - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns all load balancer pools that are associated with RackConnect. -func List(c *gophercloud.ServiceClient) pagination.Pager { - url := listURL(c) - createPage := func(r pagination.PageResult) pagination.Page { - return PoolPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} - -// Get retrieves a specific load balancer pool (that is associated with RackConnect) -// based on its unique ID. -func Get(c *gophercloud.ServiceClient, id string) GetResult { - var res GetResult - _, res.Err = c.Get(getURL(c, id), &res.Body, nil) - return res -} - -// ListNodes returns all load balancer pool nodes that are associated with RackConnect -// for the given LB pool ID. -func ListNodes(c *gophercloud.ServiceClient, id string) pagination.Pager { - url := listNodesURL(c, id) - createPage := func(r pagination.PageResult) pagination.Page { - return NodePage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} - -// CreateNode adds the cloud server with the given serverID to the load balancer -// pool with the given poolID. -func CreateNode(c *gophercloud.ServiceClient, poolID, serverID string) CreateNodeResult { - var res CreateNodeResult - reqBody := map[string]interface{}{ - "cloud_server": map[string]string{ - "id": serverID, - }, - } - _, res.Err = c.Post(createNodeURL(c, poolID), reqBody, &res.Body, nil) - return res -} - -// ListNodesDetails returns all load balancer pool nodes that are associated with RackConnect -// for the given LB pool ID with all their details. -func ListNodesDetails(c *gophercloud.ServiceClient, id string) pagination.Pager { - url := listNodesDetailsURL(c, id) - createPage := func(r pagination.PageResult) pagination.Page { - return NodeDetailsPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} - -// GetNode retrieves a specific LB pool node (that is associated with RackConnect) -// based on its unique ID and the LB pool's unique ID. -func GetNode(c *gophercloud.ServiceClient, poolID, nodeID string) GetNodeResult { - var res GetNodeResult - _, res.Err = c.Get(nodeURL(c, poolID, nodeID), &res.Body, nil) - return res -} - -// DeleteNode removes the node with the given nodeID from the LB pool with the -// given poolID. -func DeleteNode(c *gophercloud.ServiceClient, poolID, nodeID string) DeleteNodeResult { - var res DeleteNodeResult - _, res.Err = c.Delete(deleteNodeURL(c, poolID, nodeID), nil) - return res -} - -// GetNodeDetails retrieves a specific LB pool node's details based on its unique -// ID and the LB pool's unique ID. -func GetNodeDetails(c *gophercloud.ServiceClient, poolID, nodeID string) GetNodeDetailsResult { - var res GetNodeDetailsResult - _, res.Err = c.Get(nodeDetailsURL(c, poolID, nodeID), &res.Body, nil) - return res -} - -// NodeOpts are options for bulk adding/deleting nodes to LB pools. -type NodeOpts struct { - ServerID string - PoolID string -} - -// NodesOpts are a slice of NodeOpts, passed as options for bulk operations. -type NodesOpts []NodeOpts - -// ToLBPoolCreateNodesMap serializes a NodesOpts into a map to send in the request. -func (o NodesOpts) ToLBPoolCreateNodesMap() ([]map[string]interface{}, error) { - m := make([]map[string]interface{}, len(o)) - for i := range o { - m[i] = map[string]interface{}{ - "cloud_server": map[string]string{ - "id": o[i].ServerID, - }, - "load_balancer_pool": map[string]string{ - "id": o[i].PoolID, - }, - } - } - return m, nil -} - -// CreateNodes adds the cloud servers with the given serverIDs to the corresponding -// load balancer pools with the given poolIDs. -func CreateNodes(c *gophercloud.ServiceClient, opts NodesOpts) CreateNodesResult { - var res CreateNodesResult - reqBody, err := opts.ToLBPoolCreateNodesMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Post(createNodesURL(c), reqBody, &res.Body, nil) - return res -} - -// DeleteNodes removes the cloud servers with the given serverIDs to the corresponding -// load balancer pools with the given poolIDs. -func DeleteNodes(c *gophercloud.ServiceClient, opts NodesOpts) DeleteNodesResult { - var res DeleteNodesResult - reqBody, err := opts.ToLBPoolCreateNodesMap() - if err != nil { - res.Err = err - return res - } - - _, res.Err = c.Request("DELETE", createNodesURL(c), gophercloud.RequestOpts{ - JSONBody: &reqBody, - OkCodes: []int{204}, - }) - return res -} - -// ListNodesDetailsForServer is similar to ListNodesDetails but only returns nodes -// for the given serverID. -func ListNodesDetailsForServer(c *gophercloud.ServiceClient, serverID string) pagination.Pager { - url := listNodesForServerURL(c, serverID) - createPage := func(r pagination.PageResult) pagination.Page { - return NodeDetailsForServerPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/results.go deleted file mode 100644 index e5e914b1e..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/results.go +++ /dev/null @@ -1,505 +0,0 @@ -package lbpools - -import ( - "fmt" - "reflect" - "time" - - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// Pool represents a load balancer pool associated with a RackConnect configuration. -type Pool struct { - // The unique ID of the load balancer pool. - ID string `mapstructure:"id"` - // The name of the load balancer pool. - Name string `mapstructure:"name"` - // The node counts associated witht the load balancer pool. - NodeCounts struct { - // The number of nodes associated with this LB pool for this account. - CloudServers int `mapstructure:"cloud_servers"` - // The number of nodes associated with this LB pool from other accounts. - External int `mapstructure:"external"` - // The total number of nodes associated with this LB pool. - Total int `mapstructure:"total"` - } `mapstructure:"node_counts"` - // The port of the LB pool - Port int `mapstructure:"port"` - // The status of the LB pool - Status string `mapstructure:"status"` - // The details of the status of the LB pool - StatusDetail string `mapstructure:"status_detail"` - // The virtual IP of the LB pool - VirtualIP string `mapstructure:"virtual_ip"` -} - -// PoolPage is the page returned by a pager when traversing over a -// collection of Pools. -type PoolPage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if a PoolPage contains no Pools. -func (r PoolPage) IsEmpty() (bool, error) { - cns, err := ExtractPools(r) - if err != nil { - return true, err - } - return len(cns) == 0, nil -} - -// ExtractPools extracts and returns Pools. It is used while iterating over -// an lbpools.List call. -func ExtractPools(page pagination.Page) ([]Pool, error) { - var res []Pool - err := mapstructure.Decode(page.(PoolPage).Body, &res) - return res, err -} - -// GetResult represents the result of a Get operation. -type GetResult struct { - gophercloud.Result -} - -// Extract is a function that extracts an LBPool from a GetResult. -func (r GetResult) Extract() (*Pool, error) { - if r.Err != nil { - return nil, r.Err - } - var res Pool - err := mapstructure.Decode(r.Body, &res) - return &res, err -} - -// Node represents a load balancer pool node associated with a RackConnect configuration. -type Node struct { - // The unique ID of the LB node. - ID string `mapstructure:"id"` - // The cloud server (node) of the load balancer pool. - CloudServer struct { - // The cloud server ID. - ID string `mapstructure:"id"` - } `mapstructure:"cloud_server"` - // The load balancer pool. - LoadBalancerPool struct { - // The LB pool ID. - ID string `mapstructure:"id"` - } `mapstructure:"load_balancer_pool"` - // The status of the LB pool. - Status string `mapstructure:"status"` - // The details of the status of the LB pool. - StatusDetail string `mapstructure:"status_detail"` - // The time the LB node was created. - CreatedAt time.Time `mapstructure:"-"` - // The time the LB node was last updated. - UpdatedAt time.Time `mapstructure:"-"` -} - -// NodePage is the page returned by a pager when traversing over a -// collection of Nodes. -type NodePage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if a NodePage contains no Nodes. -func (r NodePage) IsEmpty() (bool, error) { - n, err := ExtractNodes(r) - if err != nil { - return true, err - } - return len(n) == 0, nil -} - -// ExtractNodes extracts and returns a slice of Nodes. It is used while iterating over -// an lbpools.ListNodes call. -func ExtractNodes(page pagination.Page) ([]Node, error) { - var res []Node - casted := page.(NodePage).Body - err := mapstructure.Decode(casted, &res) - - var rawNodes []interface{} - switch casted.(type) { - case interface{}: - rawNodes = casted.([]interface{}) - default: - return res, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i := range rawNodes { - thisNode := (rawNodes[i]).(map[string]interface{}) - - if t, ok := thisNode["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CreatedAt = creationTime - } - - if t, ok := thisNode["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].UpdatedAt = updatedTime - } - } - - return res, err -} - -// NodeResult represents a result that can be extracted as a Node. -type NodeResult struct { - gophercloud.Result -} - -// CreateNodeResult represents the result of an CreateNode operation. -type CreateNodeResult struct { - NodeResult -} - -// GetNodeResult represents the result of an GetNode operation. -type GetNodeResult struct { - NodeResult -} - -// Extract is a function that extracts a Node from a NodeResult. -func (r NodeResult) Extract() (*Node, error) { - if r.Err != nil { - return nil, r.Err - } - var res Node - err := mapstructure.Decode(r.Body, &res) - - b := r.Body.(map[string]interface{}) - - if date, ok := b["created"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.CreatedAt = t - } - - if date, ok := b["updated"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.UpdatedAt = t - } - - return &res, err -} - -// NodeDetails represents a load balancer pool node associated with a RackConnect configuration -// with all its details. -type NodeDetails struct { - // The unique ID of the LB node. - ID string `mapstructure:"id"` - // The cloud server (node) of the load balancer pool. - CloudServer struct { - // The cloud server ID. - ID string `mapstructure:"id"` - // The name of the server. - Name string `mapstructure:"name"` - // The cloud network for the cloud server. - CloudNetwork struct { - // The network ID. - ID string `mapstructure:"id"` - // The network name. - Name string `mapstructure:"name"` - // The network's private IPv4 address. - PrivateIPv4 string `mapstructure:"private_ip_v4"` - // The IP range for the network. - CIDR string `mapstructure:"cidr"` - // The datetime the network was created. - CreatedAt time.Time `mapstructure:"-"` - // The last datetime the network was updated. - UpdatedAt time.Time `mapstructure:"-"` - } `mapstructure:"cloud_network"` - // The datetime the server was created. - CreatedAt time.Time `mapstructure:"-"` - // The datetime the server was last updated. - UpdatedAt time.Time `mapstructure:"-"` - } `mapstructure:"cloud_server"` - // The load balancer pool. - LoadBalancerPool Pool `mapstructure:"load_balancer_pool"` - // The status of the LB pool. - Status string `mapstructure:"status"` - // The details of the status of the LB pool. - StatusDetail string `mapstructure:"status_detail"` - // The time the LB node was created. - CreatedAt time.Time `mapstructure:"-"` - // The time the LB node was last updated. - UpdatedAt time.Time `mapstructure:"-"` -} - -// NodeDetailsPage is the page returned by a pager when traversing over a -// collection of NodeDetails. -type NodeDetailsPage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if a NodeDetailsPage contains no NodeDetails. -func (r NodeDetailsPage) IsEmpty() (bool, error) { - n, err := ExtractNodesDetails(r) - if err != nil { - return true, err - } - return len(n) == 0, nil -} - -// ExtractNodesDetails extracts and returns a slice of NodeDetails. It is used while iterating over -// an lbpools.ListNodesDetails call. -func ExtractNodesDetails(page pagination.Page) ([]NodeDetails, error) { - var res []NodeDetails - casted := page.(NodeDetailsPage).Body - err := mapstructure.Decode(casted, &res) - - var rawNodesDetails []interface{} - switch casted.(type) { - case interface{}: - rawNodesDetails = casted.([]interface{}) - default: - return res, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i := range rawNodesDetails { - thisNodeDetails := (rawNodesDetails[i]).(map[string]interface{}) - - if t, ok := thisNodeDetails["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CreatedAt = creationTime - } - - if t, ok := thisNodeDetails["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].UpdatedAt = updatedTime - } - - if cs, ok := thisNodeDetails["cloud_server"].(map[string]interface{}); ok { - if t, ok := cs["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.CreatedAt = creationTime - } - if t, ok := cs["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.UpdatedAt = updatedTime - } - if cn, ok := cs["cloud_network"].(map[string]interface{}); ok { - if t, ok := cn["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.CloudNetwork.CreatedAt = creationTime - } - if t, ok := cn["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.CloudNetwork.UpdatedAt = updatedTime - } - } - } - } - - return res, err -} - -// GetNodeDetailsResult represents the result of an NodeDetails operation. -type GetNodeDetailsResult struct { - gophercloud.Result -} - -// Extract is a function that extracts a NodeDetails from a NodeDetailsResult. -func (r GetNodeDetailsResult) Extract() (*NodeDetails, error) { - if r.Err != nil { - return nil, r.Err - } - var res NodeDetails - err := mapstructure.Decode(r.Body, &res) - - b := r.Body.(map[string]interface{}) - - if date, ok := b["created"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.CreatedAt = t - } - - if date, ok := b["updated"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.UpdatedAt = t - } - - if cs, ok := b["cloud_server"].(map[string]interface{}); ok { - if t, ok := cs["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.CreatedAt = creationTime - } - if t, ok := cs["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.UpdatedAt = updatedTime - } - if cn, ok := cs["cloud_network"].(map[string]interface{}); ok { - if t, ok := cn["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.CloudNetwork.CreatedAt = creationTime - } - if t, ok := cn["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.CloudNetwork.UpdatedAt = updatedTime - } - } - } - - return &res, err -} - -// DeleteNodeResult represents the result of a DeleteNode operation. -type DeleteNodeResult struct { - gophercloud.ErrResult -} - -// CreateNodesResult represents the result of a CreateNodes operation. -type CreateNodesResult struct { - gophercloud.Result -} - -// Extract is a function that extracts a slice of Nodes from a CreateNodesResult. -func (r CreateNodesResult) Extract() ([]Node, error) { - if r.Err != nil { - return nil, r.Err - } - var res []Node - err := mapstructure.Decode(r.Body, &res) - - b := r.Body.([]interface{}) - for i := range b { - if date, ok := b[i].(map[string]interface{})["created"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res[i].CreatedAt = t - } - if date, ok := b[i].(map[string]interface{})["updated"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res[i].UpdatedAt = t - } - } - - return res, err -} - -// DeleteNodesResult represents the result of a DeleteNodes operation. -type DeleteNodesResult struct { - gophercloud.ErrResult -} - -// NodeDetailsForServer represents a load balancer pool node associated with a RackConnect configuration -// with all its details for a particular server. -type NodeDetailsForServer struct { - // The unique ID of the LB node. - ID string `mapstructure:"id"` - // The load balancer pool. - LoadBalancerPool Pool `mapstructure:"load_balancer_pool"` - // The status of the LB pool. - Status string `mapstructure:"status"` - // The details of the status of the LB pool. - StatusDetail string `mapstructure:"status_detail"` - // The time the LB node was created. - CreatedAt time.Time `mapstructure:"-"` - // The time the LB node was last updated. - UpdatedAt time.Time `mapstructure:"-"` -} - -// NodeDetailsForServerPage is the page returned by a pager when traversing over a -// collection of NodeDetailsForServer. -type NodeDetailsForServerPage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if a NodeDetailsForServerPage contains no NodeDetailsForServer. -func (r NodeDetailsForServerPage) IsEmpty() (bool, error) { - n, err := ExtractNodesDetailsForServer(r) - if err != nil { - return true, err - } - return len(n) == 0, nil -} - -// ExtractNodesDetailsForServer extracts and returns a slice of NodeDetailsForServer. It is used while iterating over -// an lbpools.ListNodesDetailsForServer call. -func ExtractNodesDetailsForServer(page pagination.Page) ([]NodeDetailsForServer, error) { - var res []NodeDetailsForServer - casted := page.(NodeDetailsForServerPage).Body - err := mapstructure.Decode(casted, &res) - - var rawNodesDetails []interface{} - switch casted.(type) { - case interface{}: - rawNodesDetails = casted.([]interface{}) - default: - return res, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i := range rawNodesDetails { - thisNodeDetails := (rawNodesDetails[i]).(map[string]interface{}) - - if t, ok := thisNodeDetails["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CreatedAt = creationTime - } - - if t, ok := thisNodeDetails["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].UpdatedAt = updatedTime - } - } - - return res, err -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/urls.go deleted file mode 100644 index c238239f6..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools/urls.go +++ /dev/null @@ -1,49 +0,0 @@ -package lbpools - -import "github.com/rackspace/gophercloud" - -var root = "load_balancer_pools" - -func listURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(root) -} - -func getURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL(root, id) -} - -func listNodesURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL(root, id, "nodes") -} - -func createNodeURL(c *gophercloud.ServiceClient, id string) string { - return listNodesURL(c, id) -} - -func listNodesDetailsURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL(root, id, "nodes", "details") -} - -func nodeURL(c *gophercloud.ServiceClient, poolID, nodeID string) string { - return c.ServiceURL(root, poolID, "nodes", nodeID) -} - -func deleteNodeURL(c *gophercloud.ServiceClient, poolID, nodeID string) string { - return nodeURL(c, poolID, nodeID) -} - -func nodeDetailsURL(c *gophercloud.ServiceClient, poolID, nodeID string) string { - return c.ServiceURL(root, poolID, "nodes", nodeID, "details") -} - -func createNodesURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(root, "nodes") -} - -func deleteNodesURL(c *gophercloud.ServiceClient) string { - return createNodesURL(c) -} - -func listNodesForServerURL(c *gophercloud.ServiceClient, serverID string) string { - return c.ServiceURL(root, "nodes", "details?cloud_server_id="+serverID) -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/requests.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/requests.go deleted file mode 100644 index 116426010..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/requests.go +++ /dev/null @@ -1,50 +0,0 @@ -package publicips - -import ( - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// List returns all public IPs. -func List(c *gophercloud.ServiceClient) pagination.Pager { - url := listURL(c) - createPage := func(r pagination.PageResult) pagination.Page { - return PublicIPPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} - -// Create adds a public IP to the server with the given serverID. -func Create(c *gophercloud.ServiceClient, serverID string) CreateResult { - var res CreateResult - reqBody := map[string]interface{}{ - "cloud_server": map[string]string{ - "id": serverID, - }, - } - _, res.Err = c.Post(createURL(c), reqBody, &res.Body, nil) - return res -} - -// ListForServer returns all public IPs for the server with the given serverID. -func ListForServer(c *gophercloud.ServiceClient, serverID string) pagination.Pager { - url := listForServerURL(c, serverID) - createPage := func(r pagination.PageResult) pagination.Page { - return PublicIPPage{pagination.SinglePageBase(r)} - } - return pagination.NewPager(c, url, createPage) -} - -// Get retrieves the public IP with the given id. -func Get(c *gophercloud.ServiceClient, id string) GetResult { - var res GetResult - _, res.Err = c.Get(getURL(c, id), &res.Body, nil) - return res -} - -// Delete removes the public IP with the given id. -func Delete(c *gophercloud.ServiceClient, id string) DeleteResult { - var res DeleteResult - _, res.Err = c.Delete(deleteURL(c, id), nil) - return res -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/results.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/results.go deleted file mode 100644 index 132cf770a..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/results.go +++ /dev/null @@ -1,221 +0,0 @@ -package publicips - -import ( - "fmt" - "reflect" - "time" - - "github.com/mitchellh/mapstructure" - "github.com/rackspace/gophercloud" - "github.com/rackspace/gophercloud/pagination" -) - -// PublicIP represents a public IP address. -type PublicIP struct { - // The unique ID of the public IP. - ID string `mapstructure:"id"` - // The IPv4 address of the public IP. - PublicIPv4 string `mapstructure:"public_ip_v4"` - // The cloud server (node) of the public IP. - CloudServer struct { - // The cloud server ID. - ID string `mapstructure:"id"` - // The name of the server. - Name string `mapstructure:"name"` - // The cloud network for the cloud server. - CloudNetwork struct { - // The network ID. - ID string `mapstructure:"id"` - // The network name. - Name string `mapstructure:"name"` - // The network's private IPv4 address. - PrivateIPv4 string `mapstructure:"private_ip_v4"` - // The IP range for the network. - CIDR string `mapstructure:"cidr"` - // The datetime the network was created. - CreatedAt time.Time `mapstructure:"-"` - // The last datetime the network was updated. - UpdatedAt time.Time `mapstructure:"-"` - } `mapstructure:"cloud_network"` - // The datetime the server was created. - CreatedAt time.Time `mapstructure:"-"` - // The datetime the server was last updated. - UpdatedAt time.Time `mapstructure:"-"` - } `mapstructure:"cloud_server"` - // The status of the public IP. - Status string `mapstructure:"status"` - // The details of the status of the public IP. - StatusDetail string `mapstructure:"status_detail"` - // The time the public IP was created. - CreatedAt time.Time `mapstructure:"-"` - // The time the public IP was last updated. - UpdatedAt time.Time `mapstructure:"-"` -} - -// PublicIPPage is the page returned by a pager when traversing over a -// collection of PublicIPs. -type PublicIPPage struct { - pagination.SinglePageBase -} - -// IsEmpty returns true if a PublicIPPage contains no PublicIPs. -func (r PublicIPPage) IsEmpty() (bool, error) { - n, err := ExtractPublicIPs(r) - if err != nil { - return true, err - } - return len(n) == 0, nil -} - -// ExtractPublicIPs extracts and returns a slice of PublicIPs. It is used while iterating over -// a publicips.List call. -func ExtractPublicIPs(page pagination.Page) ([]PublicIP, error) { - var res []PublicIP - casted := page.(PublicIPPage).Body - err := mapstructure.Decode(casted, &res) - - var rawNodesDetails []interface{} - switch casted.(type) { - case interface{}: - rawNodesDetails = casted.([]interface{}) - default: - return res, fmt.Errorf("Unknown type: %v", reflect.TypeOf(casted)) - } - - for i := range rawNodesDetails { - thisNodeDetails := (rawNodesDetails[i]).(map[string]interface{}) - - if t, ok := thisNodeDetails["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CreatedAt = creationTime - } - - if t, ok := thisNodeDetails["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].UpdatedAt = updatedTime - } - - if cs, ok := thisNodeDetails["cloud_server"].(map[string]interface{}); ok { - if t, ok := cs["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.CreatedAt = creationTime - } - if t, ok := cs["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.UpdatedAt = updatedTime - } - if cn, ok := cs["cloud_network"].(map[string]interface{}); ok { - if t, ok := cn["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.CloudNetwork.CreatedAt = creationTime - } - if t, ok := cn["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return res, err - } - res[i].CloudServer.CloudNetwork.UpdatedAt = updatedTime - } - } - } - } - - return res, err -} - -// PublicIPResult represents a result that can be extracted into a PublicIP. -type PublicIPResult struct { - gophercloud.Result -} - -// CreateResult represents the result of a Create operation. -type CreateResult struct { - PublicIPResult -} - -// GetResult represents the result of a Get operation. -type GetResult struct { - PublicIPResult -} - -// Extract is a function that extracts a PublicIP from a PublicIPResult. -func (r PublicIPResult) Extract() (*PublicIP, error) { - if r.Err != nil { - return nil, r.Err - } - var res PublicIP - err := mapstructure.Decode(r.Body, &res) - - b := r.Body.(map[string]interface{}) - - if date, ok := b["created"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.CreatedAt = t - } - - if date, ok := b["updated"]; ok && date != nil { - t, err := time.Parse(time.RFC3339, date.(string)) - if err != nil { - return nil, err - } - res.UpdatedAt = t - } - - if cs, ok := b["cloud_server"].(map[string]interface{}); ok { - if t, ok := cs["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.CreatedAt = creationTime - } - if t, ok := cs["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.UpdatedAt = updatedTime - } - if cn, ok := cs["cloud_network"].(map[string]interface{}); ok { - if t, ok := cn["created"].(string); ok && t != "" { - creationTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.CloudNetwork.CreatedAt = creationTime - } - if t, ok := cn["updated"].(string); ok && t != "" { - updatedTime, err := time.Parse(time.RFC3339, t) - if err != nil { - return &res, err - } - res.CloudServer.CloudNetwork.UpdatedAt = updatedTime - } - } - } - - return &res, err -} - -// DeleteResult represents the result of a Delete operation. -type DeleteResult struct { - gophercloud.ErrResult -} diff --git a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/urls.go b/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/urls.go deleted file mode 100644 index 6f310be4e..000000000 --- a/vendor/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips/urls.go +++ /dev/null @@ -1,25 +0,0 @@ -package publicips - -import "github.com/rackspace/gophercloud" - -var root = "public_ips" - -func listURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(root) -} - -func createURL(c *gophercloud.ServiceClient) string { - return c.ServiceURL(root) -} - -func listForServerURL(c *gophercloud.ServiceClient, serverID string) string { - return c.ServiceURL(root + "?cloud_server_id=" + serverID) -} - -func getURL(c *gophercloud.ServiceClient, id string) string { - return c.ServiceURL(root, id) -} - -func deleteURL(c *gophercloud.ServiceClient, id string) string { - return getURL(c, id) -} diff --git a/vendor/github.com/stretchr/testify/.gitignore b/vendor/github.com/stretchr/testify/.gitignore deleted file mode 100644 index 5aacdb7cc..000000000 --- a/vendor/github.com/stretchr/testify/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe - -.DS_Store diff --git a/vendor/github.com/stretchr/testify/.travis.yml b/vendor/github.com/stretchr/testify/.travis.yml deleted file mode 100644 index 455923ec6..000000000 --- a/vendor/github.com/stretchr/testify/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: go - -sudo: false - -go: - - 1.1 - - 1.2 - - 1.3 - - 1.4 - - 1.5 - - 1.6 - - tip - -script: - - go test -v ./... diff --git a/vendor/github.com/stretchr/testify/LICENCE.txt b/vendor/github.com/stretchr/testify/LICENCE.txt deleted file mode 100644 index 473b670a7..000000000 --- a/vendor/github.com/stretchr/testify/LICENCE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2012 - 2013 Mat Ryer and Tyler Bunnell - -Please consider promoting this project if you find it useful. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/stretchr/testify/LICENSE b/vendor/github.com/stretchr/testify/LICENSE deleted file mode 100644 index 473b670a7..000000000 --- a/vendor/github.com/stretchr/testify/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2012 - 2013 Mat Ryer and Tyler Bunnell - -Please consider promoting this project if you find it useful. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/stretchr/testify/README.md b/vendor/github.com/stretchr/testify/README.md deleted file mode 100644 index e57b1811f..000000000 --- a/vendor/github.com/stretchr/testify/README.md +++ /dev/null @@ -1,332 +0,0 @@ -Testify - Thou Shalt Write Tests -================================ - -[![Build Status](https://travis-ci.org/stretchr/testify.svg)](https://travis-ci.org/stretchr/testify) [![Go Report Card](https://goreportcard.com/badge/github.com/stretchr/testify)](https://goreportcard.com/report/github.com/stretchr/testify) [![GoDoc](https://godoc.org/github.com/stretchr/testify?status.svg)](https://godoc.org/github.com/stretchr/testify) - -Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend. - -Features include: - - * [Easy assertions](#assert-package) - * [Mocking](#mock-package) - * [HTTP response trapping](#http-package) - * [Testing suite interfaces and functions](#suite-package) - -Get started: - - * Install testify with [one line of code](#installation), or [update it with another](#staying-up-to-date) - * For an introduction to writing test code in Go, see http://golang.org/doc/code.html#Testing - * Check out the API Documentation http://godoc.org/github.com/stretchr/testify - * To make your testing life easier, check out our other project, [gorc](http://github.com/stretchr/gorc) - * A little about [Test-Driven Development (TDD)](http://en.wikipedia.org/wiki/Test-driven_development) - - - -[`assert`](http://godoc.org/github.com/stretchr/testify/assert "API documentation") package -------------------------------------------------------------------------------------------- - -The `assert` package provides some helpful methods that allow you to write better test code in Go. - - * Prints friendly, easy to read failure descriptions - * Allows for very readable code - * Optionally annotate each assertion with a message - -See it in action: - -```go -package yours - -import ( - "testing" - "github.com/stretchr/testify/assert" -) - -func TestSomething(t *testing.T) { - - // assert equality - assert.Equal(t, 123, 123, "they should be equal") - - // assert inequality - assert.NotEqual(t, 123, 456, "they should not be equal") - - // assert for nil (good for errors) - assert.Nil(t, object) - - // assert for not nil (good when you expect something) - if assert.NotNil(t, object) { - - // now we know that object isn't nil, we are safe to make - // further assertions without causing any errors - assert.Equal(t, "Something", object.Value) - - } - -} -``` - - * Every assert func takes the `testing.T` object as the first argument. This is how it writes the errors out through the normal `go test` capabilities. - * Every assert func returns a bool indicating whether the assertion was successful or not, this is useful for if you want to go on making further assertions under certain conditions. - -if you assert many times, use the below: - -```go -package yours - -import ( - "testing" - "github.com/stretchr/testify/assert" -) - -func TestSomething(t *testing.T) { - assert := assert.New(t) - - // assert equality - assert.Equal(123, 123, "they should be equal") - - // assert inequality - assert.NotEqual(123, 456, "they should not be equal") - - // assert for nil (good for errors) - assert.Nil(object) - - // assert for not nil (good when you expect something) - if assert.NotNil(object) { - - // now we know that object isn't nil, we are safe to make - // further assertions without causing any errors - assert.Equal("Something", object.Value) - } -} -``` - -[`require`](http://godoc.org/github.com/stretchr/testify/require "API documentation") package ---------------------------------------------------------------------------------------------- - -The `require` package provides same global functions as the `assert` package, but instead of returning a boolean result they terminate current test. - -See [t.FailNow](http://golang.org/pkg/testing/#T.FailNow) for details. - - -[`http`](http://godoc.org/github.com/stretchr/testify/http "API documentation") package ---------------------------------------------------------------------------------------- - -The `http` package contains test objects useful for testing code that relies on the `net/http` package. Check out the [(deprecated) API documentation for the `http` package](http://godoc.org/github.com/stretchr/testify/http). - -We recommend you use [httptest](http://golang.org/pkg/net/http/httptest) instead. - -[`mock`](http://godoc.org/github.com/stretchr/testify/mock "API documentation") package ----------------------------------------------------------------------------------------- - -The `mock` package provides a mechanism for easily writing mock objects that can be used in place of real objects when writing test code. - -An example test function that tests a piece of code that relies on an external object `testObj`, can setup expectations (testify) and assert that they indeed happened: - -```go -package yours - -import ( - "testing" - "github.com/stretchr/testify/mock" -) - -/* - Test objects -*/ - -// MyMockedObject is a mocked object that implements an interface -// that describes an object that the code I am testing relies on. -type MyMockedObject struct{ - mock.Mock -} - -// DoSomething is a method on MyMockedObject that implements some interface -// and just records the activity, and returns what the Mock object tells it to. -// -// In the real object, this method would do something useful, but since this -// is a mocked object - we're just going to stub it out. -// -// NOTE: This method is not being tested here, code that uses this object is. -func (m *MyMockedObject) DoSomething(number int) (bool, error) { - - args := m.Called(number) - return args.Bool(0), args.Error(1) - -} - -/* - Actual test functions -*/ - -// TestSomething is an example of how to use our test object to -// make assertions about some target code we are testing. -func TestSomething(t *testing.T) { - - // create an instance of our test object - testObj := new(MyMockedObject) - - // setup expectations - testObj.On("DoSomething", 123).Return(true, nil) - - // call the code we are testing - targetFuncThatDoesSomethingWithObj(testObj) - - // assert that the expectations were met - testObj.AssertExpectations(t) - -} -``` - -For more information on how to write mock code, check out the [API documentation for the `mock` package](http://godoc.org/github.com/stretchr/testify/mock). - -You can use the [mockery tool](http://github.com/vektra/mockery) to autogenerate the mock code against an interface as well, making using mocks much quicker. - -[`suite`](http://godoc.org/github.com/stretchr/testify/suite "API documentation") package ------------------------------------------------------------------------------------------ - -The `suite` package provides functionality that you might be used to from more common object oriented languages. With it, you can build a testing suite as a struct, build setup/teardown methods and testing methods on your struct, and run them with 'go test' as per normal. - -An example suite is shown below: - -```go -// Basic imports -import ( - "testing" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/suite" -) - -// Define the suite, and absorb the built-in basic suite -// functionality from testify - including a T() method which -// returns the current testing context -type ExampleTestSuite struct { - suite.Suite - VariableThatShouldStartAtFive int -} - -// Make sure that VariableThatShouldStartAtFive is set to five -// before each test -func (suite *ExampleTestSuite) SetupTest() { - suite.VariableThatShouldStartAtFive = 5 -} - -// All methods that begin with "Test" are run as tests within a -// suite. -func (suite *ExampleTestSuite) TestExample() { - assert.Equal(suite.T(), 5, suite.VariableThatShouldStartAtFive) -} - -// In order for 'go test' to run this suite, we need to create -// a normal test function and pass our suite to suite.Run -func TestExampleTestSuite(t *testing.T) { - suite.Run(t, new(ExampleTestSuite)) -} -``` - -For a more complete example, using all of the functionality provided by the suite package, look at our [example testing suite](https://github.com/stretchr/testify/blob/master/suite/suite_test.go) - -For more information on writing suites, check out the [API documentation for the `suite` package](http://godoc.org/github.com/stretchr/testify/suite). - -`Suite` object has assertion methods: - -```go -// Basic imports -import ( - "testing" - "github.com/stretchr/testify/suite" -) - -// Define the suite, and absorb the built-in basic suite -// functionality from testify - including assertion methods. -type ExampleTestSuite struct { - suite.Suite - VariableThatShouldStartAtFive int -} - -// Make sure that VariableThatShouldStartAtFive is set to five -// before each test -func (suite *ExampleTestSuite) SetupTest() { - suite.VariableThatShouldStartAtFive = 5 -} - -// All methods that begin with "Test" are run as tests within a -// suite. -func (suite *ExampleTestSuite) TestExample() { - suite.Equal(suite.VariableThatShouldStartAtFive, 5) -} - -// In order for 'go test' to run this suite, we need to create -// a normal test function and pass our suite to suite.Run -func TestExampleTestSuite(t *testing.T) { - suite.Run(t, new(ExampleTestSuite)) -} -``` - ------- - -Installation -============ - -To install Testify, use `go get`: - - * Latest version: go get github.com/stretchr/testify - * Specific version: go get gopkg.in/stretchr/testify.v1 - -This will then make the following packages available to you: - - github.com/stretchr/testify/assert - github.com/stretchr/testify/mock - github.com/stretchr/testify/http - -Import the `testify/assert` package into your code using this template: - -```go -package yours - -import ( - "testing" - "github.com/stretchr/testify/assert" -) - -func TestSomething(t *testing.T) { - - assert.True(t, true, "True is true!") - -} -``` - ------- - -Staying up to date -================== - -To update Testify to the latest version, use `go get -u github.com/stretchr/testify`. - ------- - -Version History -=============== - - * 1.0 - New package versioning strategy adopted. - ------- - -Contributing -============ - -Please feel free to submit issues, fork the repository and send pull requests! - -When submitting an issue, we ask that you please include a complete test function that demonstrates the issue. Extra credit for those using Testify to write the test code that demonstrates it. - ------- - -Licence -======= -Copyright (c) 2012 - 2013 Mat Ryer and Tyler Bunnell - -Please consider promoting this project if you find it useful. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/stretchr/testify/doc.go b/vendor/github.com/stretchr/testify/doc.go deleted file mode 100644 index 377d5cc56..000000000 --- a/vendor/github.com/stretchr/testify/doc.go +++ /dev/null @@ -1,22 +0,0 @@ -// Package testify is a set of packages that provide many tools for testifying that your code will behave as you intend. -// -// testify contains the following packages: -// -// The assert package provides a comprehensive set of assertion functions that tie in to the Go testing system. -// -// The http package contains tools to make it easier to test http activity using the Go testing system. -// -// The mock package provides a system by which it is possible to mock your objects and verify calls are happening as expected. -// -// The suite package provides a basic structure for using structs as testing suites, and methods on those structs as tests. It includes setup/teardown functionality in the way of interfaces. -package testify - -// blank imports help docs. -import ( - // assert package - _ "github.com/stretchr/testify/assert" - // http package - _ "github.com/stretchr/testify/http" - // mock package - _ "github.com/stretchr/testify/mock" -) diff --git a/vendor/github.com/stretchr/testify/http/doc.go b/vendor/github.com/stretchr/testify/http/doc.go deleted file mode 100644 index 695167c6d..000000000 --- a/vendor/github.com/stretchr/testify/http/doc.go +++ /dev/null @@ -1,2 +0,0 @@ -// Package http DEPRECATED USE net/http/httptest -package http diff --git a/vendor/github.com/stretchr/testify/http/test_response_writer.go b/vendor/github.com/stretchr/testify/http/test_response_writer.go deleted file mode 100644 index 5c3f813fa..000000000 --- a/vendor/github.com/stretchr/testify/http/test_response_writer.go +++ /dev/null @@ -1,49 +0,0 @@ -package http - -import ( - "net/http" -) - -// TestResponseWriter DEPRECATED: We recommend you use http://golang.org/pkg/net/http/httptest instead. -type TestResponseWriter struct { - - // StatusCode is the last int written by the call to WriteHeader(int) - StatusCode int - - // Output is a string containing the written bytes using the Write([]byte) func. - Output string - - // header is the internal storage of the http.Header object - header http.Header -} - -// Header DEPRECATED: We recommend you use http://golang.org/pkg/net/http/httptest instead. -func (rw *TestResponseWriter) Header() http.Header { - - if rw.header == nil { - rw.header = make(http.Header) - } - - return rw.header -} - -// Write DEPRECATED: We recommend you use http://golang.org/pkg/net/http/httptest instead. -func (rw *TestResponseWriter) Write(bytes []byte) (int, error) { - - // assume 200 success if no header has been set - if rw.StatusCode == 0 { - rw.WriteHeader(200) - } - - // add these bytes to the output string - rw.Output = rw.Output + string(bytes) - - // return normal values - return 0, nil - -} - -// WriteHeader DEPRECATED: We recommend you use http://golang.org/pkg/net/http/httptest instead. -func (rw *TestResponseWriter) WriteHeader(i int) { - rw.StatusCode = i -} diff --git a/vendor/github.com/stretchr/testify/http/test_round_tripper.go b/vendor/github.com/stretchr/testify/http/test_round_tripper.go deleted file mode 100644 index b1e32f1d8..000000000 --- a/vendor/github.com/stretchr/testify/http/test_round_tripper.go +++ /dev/null @@ -1,17 +0,0 @@ -package http - -import ( - "github.com/stretchr/testify/mock" - "net/http" -) - -// TestRoundTripper DEPRECATED USE net/http/httptest -type TestRoundTripper struct { - mock.Mock -} - -// RoundTrip DEPRECATED USE net/http/httptest -func (t *TestRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - args := t.Called(req) - return args.Get(0).(*http.Response), args.Error(1) -} diff --git a/vendor/github.com/stretchr/testify/mock/doc.go b/vendor/github.com/stretchr/testify/mock/doc.go deleted file mode 100644 index 7324128ef..000000000 --- a/vendor/github.com/stretchr/testify/mock/doc.go +++ /dev/null @@ -1,44 +0,0 @@ -// Package mock provides a system by which it is possible to mock your objects -// and verify calls are happening as expected. -// -// Example Usage -// -// The mock package provides an object, Mock, that tracks activity on another object. It is usually -// embedded into a test object as shown below: -// -// type MyTestObject struct { -// // add a Mock object instance -// mock.Mock -// -// // other fields go here as normal -// } -// -// When implementing the methods of an interface, you wire your functions up -// to call the Mock.Called(args...) method, and return the appropriate values. -// -// For example, to mock a method that saves the name and age of a person and returns -// the year of their birth or an error, you might write this: -// -// func (o *MyTestObject) SavePersonDetails(firstname, lastname string, age int) (int, error) { -// args := o.Called(firstname, lastname, age) -// return args.Int(0), args.Error(1) -// } -// -// The Int, Error and Bool methods are examples of strongly typed getters that take the argument -// index position. Given this argument list: -// -// (12, true, "Something") -// -// You could read them out strongly typed like this: -// -// args.Int(0) -// args.Bool(1) -// args.String(2) -// -// For objects of your own type, use the generic Arguments.Get(index) method and make a type assertion: -// -// return args.Get(0).(*MyObject), args.Get(1).(*AnotherObjectOfMine) -// -// This may cause a panic if the object you are getting is nil (the type assertion will fail), in those -// cases you should check for nil first. -package mock diff --git a/vendor/github.com/stretchr/testify/mock/mock.go b/vendor/github.com/stretchr/testify/mock/mock.go deleted file mode 100644 index cba9009a9..000000000 --- a/vendor/github.com/stretchr/testify/mock/mock.go +++ /dev/null @@ -1,693 +0,0 @@ -package mock - -import ( - "fmt" - "reflect" - "regexp" - "runtime" - "strings" - "sync" - "time" - - "github.com/stretchr/objx" - "github.com/stretchr/testify/assert" -) - -// TestingT is an interface wrapper around *testing.T -type TestingT interface { - Logf(format string, args ...interface{}) - Errorf(format string, args ...interface{}) - FailNow() -} - -/* - Call -*/ - -// Call represents a method call and is used for setting expectations, -// as well as recording activity. -type Call struct { - Parent *Mock - - // The name of the method that was or will be called. - Method string - - // Holds the arguments of the method. - Arguments Arguments - - // Holds the arguments that should be returned when - // this method is called. - ReturnArguments Arguments - - // The number of times to return the return arguments when setting - // expectations. 0 means to always return the value. - Repeatability int - - // Amount of times this call has been called - totalCalls int - - // Holds a channel that will be used to block the Return until it either - // recieves a message or is closed. nil means it returns immediately. - WaitFor <-chan time.Time - - // Holds a handler used to manipulate arguments content that are passed by - // reference. It's useful when mocking methods such as unmarshalers or - // decoders. - RunFn func(Arguments) -} - -func newCall(parent *Mock, methodName string, methodArguments ...interface{}) *Call { - return &Call{ - Parent: parent, - Method: methodName, - Arguments: methodArguments, - ReturnArguments: make([]interface{}, 0), - Repeatability: 0, - WaitFor: nil, - RunFn: nil, - } -} - -func (c *Call) lock() { - c.Parent.mutex.Lock() -} - -func (c *Call) unlock() { - c.Parent.mutex.Unlock() -} - -// Return specifies the return arguments for the expectation. -// -// Mock.On("DoSomething").Return(errors.New("failed")) -func (c *Call) Return(returnArguments ...interface{}) *Call { - c.lock() - defer c.unlock() - - c.ReturnArguments = returnArguments - - return c -} - -// Once indicates that that the mock should only return the value once. -// -// Mock.On("MyMethod", arg1, arg2).Return(returnArg1, returnArg2).Once() -func (c *Call) Once() *Call { - return c.Times(1) -} - -// Twice indicates that that the mock should only return the value twice. -// -// Mock.On("MyMethod", arg1, arg2).Return(returnArg1, returnArg2).Twice() -func (c *Call) Twice() *Call { - return c.Times(2) -} - -// Times indicates that that the mock should only return the indicated number -// of times. -// -// Mock.On("MyMethod", arg1, arg2).Return(returnArg1, returnArg2).Times(5) -func (c *Call) Times(i int) *Call { - c.lock() - defer c.unlock() - c.Repeatability = i - return c -} - -// WaitUntil sets the channel that will block the mock's return until its closed -// or a message is received. -// -// Mock.On("MyMethod", arg1, arg2).WaitUntil(time.After(time.Second)) -func (c *Call) WaitUntil(w <-chan time.Time) *Call { - c.lock() - defer c.unlock() - c.WaitFor = w - return c -} - -// After sets how long to block until the call returns -// -// Mock.On("MyMethod", arg1, arg2).After(time.Second) -func (c *Call) After(d time.Duration) *Call { - return c.WaitUntil(time.After(d)) -} - -// Run sets a handler to be called before returning. It can be used when -// mocking a method such as unmarshalers that takes a pointer to a struct and -// sets properties in such struct -// -// Mock.On("Unmarshal", AnythingOfType("*map[string]interface{}").Return().Run(func(args Arguments) { -// arg := args.Get(0).(*map[string]interface{}) -// arg["foo"] = "bar" -// }) -func (c *Call) Run(fn func(Arguments)) *Call { - c.lock() - defer c.unlock() - c.RunFn = fn - return c -} - -// On chains a new expectation description onto the mocked interface. This -// allows syntax like. -// -// Mock. -// On("MyMethod", 1).Return(nil). -// On("MyOtherMethod", 'a', 'b', 'c').Return(errors.New("Some Error")) -func (c *Call) On(methodName string, arguments ...interface{}) *Call { - return c.Parent.On(methodName, arguments...) -} - -// Mock is the workhorse used to track activity on another object. -// For an example of its usage, refer to the "Example Usage" section at the top -// of this document. -type Mock struct { - // Represents the calls that are expected of - // an object. - ExpectedCalls []*Call - - // Holds the calls that were made to this mocked object. - Calls []Call - - // TestData holds any data that might be useful for testing. Testify ignores - // this data completely allowing you to do whatever you like with it. - testData objx.Map - - mutex sync.Mutex -} - -// TestData holds any data that might be useful for testing. Testify ignores -// this data completely allowing you to do whatever you like with it. -func (m *Mock) TestData() objx.Map { - - if m.testData == nil { - m.testData = make(objx.Map) - } - - return m.testData -} - -/* - Setting expectations -*/ - -// On starts a description of an expectation of the specified method -// being called. -// -// Mock.On("MyMethod", arg1, arg2) -func (m *Mock) On(methodName string, arguments ...interface{}) *Call { - for _, arg := range arguments { - if v := reflect.ValueOf(arg); v.Kind() == reflect.Func { - panic(fmt.Sprintf("cannot use Func in expectations. Use mock.AnythingOfType(\"%T\")", arg)) - } - } - - m.mutex.Lock() - defer m.mutex.Unlock() - c := newCall(m, methodName, arguments...) - m.ExpectedCalls = append(m.ExpectedCalls, c) - return c -} - -// /* -// Recording and responding to activity -// */ - -func (m *Mock) findExpectedCall(method string, arguments ...interface{}) (int, *Call) { - m.mutex.Lock() - defer m.mutex.Unlock() - for i, call := range m.ExpectedCalls { - if call.Method == method && call.Repeatability > -1 { - - _, diffCount := call.Arguments.Diff(arguments) - if diffCount == 0 { - return i, call - } - - } - } - return -1, nil -} - -func (m *Mock) findClosestCall(method string, arguments ...interface{}) (bool, *Call) { - diffCount := 0 - var closestCall *Call - - for _, call := range m.expectedCalls() { - if call.Method == method { - - _, tempDiffCount := call.Arguments.Diff(arguments) - if tempDiffCount < diffCount || diffCount == 0 { - diffCount = tempDiffCount - closestCall = call - } - - } - } - - if closestCall == nil { - return false, nil - } - - return true, closestCall -} - -func callString(method string, arguments Arguments, includeArgumentValues bool) string { - - var argValsString string - if includeArgumentValues { - var argVals []string - for argIndex, arg := range arguments { - argVals = append(argVals, fmt.Sprintf("%d: %#v", argIndex, arg)) - } - argValsString = fmt.Sprintf("\n\t\t%s", strings.Join(argVals, "\n\t\t")) - } - - return fmt.Sprintf("%s(%s)%s", method, arguments.String(), argValsString) -} - -// Called tells the mock object that a method has been called, and gets an array -// of arguments to return. Panics if the call is unexpected (i.e. not preceded by -// appropriate .On .Return() calls) -// If Call.WaitFor is set, blocks until the channel is closed or receives a message. -func (m *Mock) Called(arguments ...interface{}) Arguments { - // get the calling function's name - pc, _, _, ok := runtime.Caller(1) - if !ok { - panic("Couldn't get the caller information") - } - functionPath := runtime.FuncForPC(pc).Name() - //Next four lines are required to use GCCGO function naming conventions. - //For Ex: github_com_docker_libkv_store_mock.WatchTree.pN39_github_com_docker_libkv_store_mock.Mock - //uses inteface information unlike golang github.com/docker/libkv/store/mock.(*Mock).WatchTree - //With GCCGO we need to remove interface information starting from pN

    . - re := regexp.MustCompile("\\.pN\\d+_") - if re.MatchString(functionPath) { - functionPath = re.Split(functionPath, -1)[0] - } - parts := strings.Split(functionPath, ".") - functionName := parts[len(parts)-1] - - found, call := m.findExpectedCall(functionName, arguments...) - - if found < 0 { - // we have to fail here - because we don't know what to do - // as the return arguments. This is because: - // - // a) this is a totally unexpected call to this method, - // b) the arguments are not what was expected, or - // c) the developer has forgotten to add an accompanying On...Return pair. - - closestFound, closestCall := m.findClosestCall(functionName, arguments...) - - if closestFound { - panic(fmt.Sprintf("\n\nmock: Unexpected Method Call\n-----------------------------\n\n%s\n\nThe closest call I have is: \n\n%s\n", callString(functionName, arguments, true), callString(functionName, closestCall.Arguments, true))) - } else { - panic(fmt.Sprintf("\nassert: mock: I don't know what to return because the method call was unexpected.\n\tEither do Mock.On(\"%s\").Return(...) first, or remove the %s() call.\n\tThis method was unexpected:\n\t\t%s\n\tat: %s", functionName, functionName, callString(functionName, arguments, true), assert.CallerInfo())) - } - } else { - m.mutex.Lock() - switch { - case call.Repeatability == 1: - call.Repeatability = -1 - call.totalCalls++ - - case call.Repeatability > 1: - call.Repeatability-- - call.totalCalls++ - - case call.Repeatability == 0: - call.totalCalls++ - } - m.mutex.Unlock() - } - - // add the call - m.mutex.Lock() - m.Calls = append(m.Calls, *newCall(m, functionName, arguments...)) - m.mutex.Unlock() - - // block if specified - if call.WaitFor != nil { - <-call.WaitFor - } - - if call.RunFn != nil { - call.RunFn(arguments) - } - - return call.ReturnArguments -} - -/* - Assertions -*/ - -// AssertExpectationsForObjects asserts that everything specified with On and Return -// of the specified objects was in fact called as expected. -// -// Calls may have occurred in any order. -func AssertExpectationsForObjects(t TestingT, testObjects ...interface{}) bool { - var success = true - for _, obj := range testObjects { - mockObj := obj.(Mock) - success = success && mockObj.AssertExpectations(t) - } - return success -} - -// AssertExpectations asserts that everything specified with On and Return was -// in fact called as expected. Calls may have occurred in any order. -func (m *Mock) AssertExpectations(t TestingT) bool { - var somethingMissing bool - var failedExpectations int - - // iterate through each expectation - expectedCalls := m.expectedCalls() - for _, expectedCall := range expectedCalls { - if !m.methodWasCalled(expectedCall.Method, expectedCall.Arguments) && expectedCall.totalCalls == 0 { - somethingMissing = true - failedExpectations++ - t.Logf("\u274C\t%s(%s)", expectedCall.Method, expectedCall.Arguments.String()) - } else { - m.mutex.Lock() - if expectedCall.Repeatability > 0 { - somethingMissing = true - failedExpectations++ - } else { - t.Logf("\u2705\t%s(%s)", expectedCall.Method, expectedCall.Arguments.String()) - } - m.mutex.Unlock() - } - } - - if somethingMissing { - t.Errorf("FAIL: %d out of %d expectation(s) were met.\n\tThe code you are testing needs to make %d more call(s).\n\tat: %s", len(expectedCalls)-failedExpectations, len(expectedCalls), failedExpectations, assert.CallerInfo()) - } - - return !somethingMissing -} - -// AssertNumberOfCalls asserts that the method was called expectedCalls times. -func (m *Mock) AssertNumberOfCalls(t TestingT, methodName string, expectedCalls int) bool { - var actualCalls int - for _, call := range m.calls() { - if call.Method == methodName { - actualCalls++ - } - } - return assert.Equal(t, expectedCalls, actualCalls, fmt.Sprintf("Expected number of calls (%d) does not match the actual number of calls (%d).", expectedCalls, actualCalls)) -} - -// AssertCalled asserts that the method was called. -// It can produce a false result when an argument is a pointer type and the underlying value changed after calling the mocked method. -func (m *Mock) AssertCalled(t TestingT, methodName string, arguments ...interface{}) bool { - if !assert.True(t, m.methodWasCalled(methodName, arguments), fmt.Sprintf("The \"%s\" method should have been called with %d argument(s), but was not.", methodName, len(arguments))) { - t.Logf("%v", m.expectedCalls()) - return false - } - return true -} - -// AssertNotCalled asserts that the method was not called. -// It can produce a false result when an argument is a pointer type and the underlying value changed after calling the mocked method. -func (m *Mock) AssertNotCalled(t TestingT, methodName string, arguments ...interface{}) bool { - if !assert.False(t, m.methodWasCalled(methodName, arguments), fmt.Sprintf("The \"%s\" method was called with %d argument(s), but should NOT have been.", methodName, len(arguments))) { - t.Logf("%v", m.expectedCalls()) - return false - } - return true -} - -func (m *Mock) methodWasCalled(methodName string, expected []interface{}) bool { - for _, call := range m.calls() { - if call.Method == methodName { - - _, differences := Arguments(expected).Diff(call.Arguments) - - if differences == 0 { - // found the expected call - return true - } - - } - } - // we didn't find the expected call - return false -} - -func (m *Mock) expectedCalls() []*Call { - m.mutex.Lock() - defer m.mutex.Unlock() - return append([]*Call{}, m.ExpectedCalls...) -} - -func (m *Mock) calls() []Call { - m.mutex.Lock() - defer m.mutex.Unlock() - return append([]Call{}, m.Calls...) -} - -/* - Arguments -*/ - -// Arguments holds an array of method arguments or return values. -type Arguments []interface{} - -const ( - // Anything is used in Diff and Assert when the argument being tested - // shouldn't be taken into consideration. - Anything string = "mock.Anything" -) - -// AnythingOfTypeArgument is a string that contains the type of an argument -// for use when type checking. Used in Diff and Assert. -type AnythingOfTypeArgument string - -// AnythingOfType returns an AnythingOfTypeArgument object containing the -// name of the type to check for. Used in Diff and Assert. -// -// For example: -// Assert(t, AnythingOfType("string"), AnythingOfType("int")) -func AnythingOfType(t string) AnythingOfTypeArgument { - return AnythingOfTypeArgument(t) -} - -// argumentMatcher performs custom argument matching, returning whether or -// not the argument is matched by the expectation fixture function. -type argumentMatcher struct { - // fn is a function which accepts one argument, and returns a bool. - fn reflect.Value -} - -func (f argumentMatcher) Matches(argument interface{}) bool { - expectType := f.fn.Type().In(0) - - if reflect.TypeOf(argument).AssignableTo(expectType) { - result := f.fn.Call([]reflect.Value{reflect.ValueOf(argument)}) - return result[0].Bool() - } - return false -} - -func (f argumentMatcher) String() string { - return fmt.Sprintf("func(%s) bool", f.fn.Type().In(0).Name()) -} - -// MatchedBy can be used to match a mock call based on only certain properties -// from a complex struct or some calculation. It takes a function that will be -// evaluated with the called argument and will return true when there's a match -// and false otherwise. -// -// Example: -// m.On("Do", MatchedBy(func(req *http.Request) bool { return req.Host == "example.com" })) -// -// |fn|, must be a function accepting a single argument (of the expected type) -// which returns a bool. If |fn| doesn't match the required signature, -// MathedBy() panics. -func MatchedBy(fn interface{}) argumentMatcher { - fnType := reflect.TypeOf(fn) - - if fnType.Kind() != reflect.Func { - panic(fmt.Sprintf("assert: arguments: %s is not a func", fn)) - } - if fnType.NumIn() != 1 { - panic(fmt.Sprintf("assert: arguments: %s does not take exactly one argument", fn)) - } - if fnType.NumOut() != 1 || fnType.Out(0).Kind() != reflect.Bool { - panic(fmt.Sprintf("assert: arguments: %s does not return a bool", fn)) - } - - return argumentMatcher{fn: reflect.ValueOf(fn)} -} - -// Get Returns the argument at the specified index. -func (args Arguments) Get(index int) interface{} { - if index+1 > len(args) { - panic(fmt.Sprintf("assert: arguments: Cannot call Get(%d) because there are %d argument(s).", index, len(args))) - } - return args[index] -} - -// Is gets whether the objects match the arguments specified. -func (args Arguments) Is(objects ...interface{}) bool { - for i, obj := range args { - if obj != objects[i] { - return false - } - } - return true -} - -// Diff gets a string describing the differences between the arguments -// and the specified objects. -// -// Returns the diff string and number of differences found. -func (args Arguments) Diff(objects []interface{}) (string, int) { - - var output = "\n" - var differences int - - var maxArgCount = len(args) - if len(objects) > maxArgCount { - maxArgCount = len(objects) - } - - for i := 0; i < maxArgCount; i++ { - var actual, expected interface{} - - if len(objects) <= i { - actual = "(Missing)" - } else { - actual = objects[i] - } - - if len(args) <= i { - expected = "(Missing)" - } else { - expected = args[i] - } - - if matcher, ok := expected.(argumentMatcher); ok { - if matcher.Matches(actual) { - output = fmt.Sprintf("%s\t%d: \u2705 %s matched by %s\n", output, i, actual, matcher) - } else { - differences++ - output = fmt.Sprintf("%s\t%d: \u2705 %s not matched by %s\n", output, i, actual, matcher) - } - } else if reflect.TypeOf(expected) == reflect.TypeOf((*AnythingOfTypeArgument)(nil)).Elem() { - - // type checking - if reflect.TypeOf(actual).Name() != string(expected.(AnythingOfTypeArgument)) && reflect.TypeOf(actual).String() != string(expected.(AnythingOfTypeArgument)) { - // not match - differences++ - output = fmt.Sprintf("%s\t%d: \u274C type %s != type %s - %s\n", output, i, expected, reflect.TypeOf(actual).Name(), actual) - } - - } else { - - // normal checking - - if assert.ObjectsAreEqual(expected, Anything) || assert.ObjectsAreEqual(actual, Anything) || assert.ObjectsAreEqual(actual, expected) { - // match - output = fmt.Sprintf("%s\t%d: \u2705 %s == %s\n", output, i, actual, expected) - } else { - // not match - differences++ - output = fmt.Sprintf("%s\t%d: \u274C %s != %s\n", output, i, actual, expected) - } - } - - } - - if differences == 0 { - return "No differences.", differences - } - - return output, differences - -} - -// Assert compares the arguments with the specified objects and fails if -// they do not exactly match. -func (args Arguments) Assert(t TestingT, objects ...interface{}) bool { - - // get the differences - diff, diffCount := args.Diff(objects) - - if diffCount == 0 { - return true - } - - // there are differences... report them... - t.Logf(diff) - t.Errorf("%sArguments do not match.", assert.CallerInfo()) - - return false - -} - -// String gets the argument at the specified index. Panics if there is no argument, or -// if the argument is of the wrong type. -// -// If no index is provided, String() returns a complete string representation -// of the arguments. -func (args Arguments) String(indexOrNil ...int) string { - - if len(indexOrNil) == 0 { - // normal String() method - return a string representation of the args - var argsStr []string - for _, arg := range args { - argsStr = append(argsStr, fmt.Sprintf("%s", reflect.TypeOf(arg))) - } - return strings.Join(argsStr, ",") - } else if len(indexOrNil) == 1 { - // Index has been specified - get the argument at that index - var index = indexOrNil[0] - var s string - var ok bool - if s, ok = args.Get(index).(string); !ok { - panic(fmt.Sprintf("assert: arguments: String(%d) failed because object wasn't correct type: %s", index, args.Get(index))) - } - return s - } - - panic(fmt.Sprintf("assert: arguments: Wrong number of arguments passed to String. Must be 0 or 1, not %d", len(indexOrNil))) - -} - -// Int gets the argument at the specified index. Panics if there is no argument, or -// if the argument is of the wrong type. -func (args Arguments) Int(index int) int { - var s int - var ok bool - if s, ok = args.Get(index).(int); !ok { - panic(fmt.Sprintf("assert: arguments: Int(%d) failed because object wasn't correct type: %v", index, args.Get(index))) - } - return s -} - -// Error gets the argument at the specified index. Panics if there is no argument, or -// if the argument is of the wrong type. -func (args Arguments) Error(index int) error { - obj := args.Get(index) - var s error - var ok bool - if obj == nil { - return nil - } - if s, ok = obj.(error); !ok { - panic(fmt.Sprintf("assert: arguments: Error(%d) failed because object wasn't correct type: %v", index, args.Get(index))) - } - return s -} - -// Bool gets the argument at the specified index. Panics if there is no argument, or -// if the argument is of the wrong type. -func (args Arguments) Bool(index int) bool { - var s bool - var ok bool - if s, ok = args.Get(index).(bool); !ok { - panic(fmt.Sprintf("assert: arguments: Bool(%d) failed because object wasn't correct type: %v", index, args.Get(index))) - } - return s -} diff --git a/vendor/github.com/stretchr/testify/require/doc.go b/vendor/github.com/stretchr/testify/require/doc.go deleted file mode 100644 index 169de3922..000000000 --- a/vendor/github.com/stretchr/testify/require/doc.go +++ /dev/null @@ -1,28 +0,0 @@ -// Package require implements the same assertions as the `assert` package but -// stops test execution when a test fails. -// -// Example Usage -// -// The following is a complete example using require in a standard test function: -// import ( -// "testing" -// "github.com/stretchr/testify/require" -// ) -// -// func TestSomething(t *testing.T) { -// -// var a string = "Hello" -// var b string = "Hello" -// -// require.Equal(t, a, b, "The two words should be the same.") -// -// } -// -// Assertions -// -// The `require` package have same global functions as in the `assert` package, -// but instead of returning a boolean result they call `t.FailNow()`. -// -// Every assertion function also takes an optional string message as the final argument, -// allowing custom error messages to be appended to the message the assertion method outputs. -package require diff --git a/vendor/github.com/stretchr/testify/require/forward_requirements.go b/vendor/github.com/stretchr/testify/require/forward_requirements.go deleted file mode 100644 index d3c2ab9bc..000000000 --- a/vendor/github.com/stretchr/testify/require/forward_requirements.go +++ /dev/null @@ -1,16 +0,0 @@ -package require - -// Assertions provides assertion methods around the -// TestingT interface. -type Assertions struct { - t TestingT -} - -// New makes a new Assertions object for the specified TestingT. -func New(t TestingT) *Assertions { - return &Assertions{ - t: t, - } -} - -//go:generate go run ../_codegen/main.go -output-package=require -template=require_forward.go.tmpl diff --git a/vendor/github.com/stretchr/testify/require/require.go b/vendor/github.com/stretchr/testify/require/require.go deleted file mode 100644 index 1bcfcb0d9..000000000 --- a/vendor/github.com/stretchr/testify/require/require.go +++ /dev/null @@ -1,464 +0,0 @@ -/* -* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen -* THIS FILE MUST NOT BE EDITED BY HAND -*/ - -package require - -import ( - - assert "github.com/stretchr/testify/assert" - http "net/http" - url "net/url" - time "time" -) - - -// Condition uses a Comparison to assert a complex condition. -func Condition(t TestingT, comp assert.Comparison, msgAndArgs ...interface{}) { - if !assert.Condition(t, comp, msgAndArgs...) { - t.FailNow() - } -} - - -// Contains asserts that the specified string, list(array, slice...) or map contains the -// specified substring or element. -// -// assert.Contains(t, "Hello World", "World", "But 'Hello World' does contain 'World'") -// assert.Contains(t, ["Hello", "World"], "World", "But ["Hello", "World"] does contain 'World'") -// assert.Contains(t, {"Hello": "World"}, "Hello", "But {'Hello': 'World'} does contain 'Hello'") -// -// Returns whether the assertion was successful (true) or not (false). -func Contains(t TestingT, s interface{}, contains interface{}, msgAndArgs ...interface{}) { - if !assert.Contains(t, s, contains, msgAndArgs...) { - t.FailNow() - } -} - - -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. -// -// assert.Empty(t, obj) -// -// Returns whether the assertion was successful (true) or not (false). -func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { - if !assert.Empty(t, object, msgAndArgs...) { - t.FailNow() - } -} - - -// Equal asserts that two objects are equal. -// -// assert.Equal(t, 123, 123, "123 and 123 should be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func Equal(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - if !assert.Equal(t, expected, actual, msgAndArgs...) { - t.FailNow() - } -} - - -// EqualError asserts that a function returned an error (i.e. not `nil`) -// and that it is equal to the provided error. -// -// actualObj, err := SomeFunction() -// if assert.Error(t, err, "An error was expected") { -// assert.Equal(t, err, expectedError) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) { - if !assert.EqualError(t, theError, errString, msgAndArgs...) { - t.FailNow() - } -} - - -// EqualValues asserts that two objects are equal or convertable to the same types -// and equal. -// -// assert.EqualValues(t, uint32(123), int32(123), "123 and 123 should be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func EqualValues(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - if !assert.EqualValues(t, expected, actual, msgAndArgs...) { - t.FailNow() - } -} - - -// Error asserts that a function returned an error (i.e. not `nil`). -// -// actualObj, err := SomeFunction() -// if assert.Error(t, err, "An error was expected") { -// assert.Equal(t, err, expectedError) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func Error(t TestingT, err error, msgAndArgs ...interface{}) { - if !assert.Error(t, err, msgAndArgs...) { - t.FailNow() - } -} - - -// Exactly asserts that two objects are equal is value and type. -// -// assert.Exactly(t, int32(123), int64(123), "123 and 123 should NOT be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func Exactly(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - if !assert.Exactly(t, expected, actual, msgAndArgs...) { - t.FailNow() - } -} - - -// Fail reports a failure through -func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) { - if !assert.Fail(t, failureMessage, msgAndArgs...) { - t.FailNow() - } -} - - -// FailNow fails test -func FailNow(t TestingT, failureMessage string, msgAndArgs ...interface{}) { - if !assert.FailNow(t, failureMessage, msgAndArgs...) { - t.FailNow() - } -} - - -// False asserts that the specified value is false. -// -// assert.False(t, myBool, "myBool should be false") -// -// Returns whether the assertion was successful (true) or not (false). -func False(t TestingT, value bool, msgAndArgs ...interface{}) { - if !assert.False(t, value, msgAndArgs...) { - t.FailNow() - } -} - - -// HTTPBodyContains asserts that a specified handler returns a -// body that contains a string. -// -// assert.HTTPBodyContains(t, myHandler, "www.google.com", nil, "I'm Feeling Lucky") -// -// Returns whether the assertion was successful (true) or not (false). -func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}) { - if !assert.HTTPBodyContains(t, handler, method, url, values, str) { - t.FailNow() - } -} - - -// HTTPBodyNotContains asserts that a specified handler returns a -// body that does not contain a string. -// -// assert.HTTPBodyNotContains(t, myHandler, "www.google.com", nil, "I'm Feeling Lucky") -// -// Returns whether the assertion was successful (true) or not (false). -func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}) { - if !assert.HTTPBodyNotContains(t, handler, method, url, values, str) { - t.FailNow() - } -} - - -// HTTPError asserts that a specified handler returns an error status code. -// -// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} -// -// Returns whether the assertion was successful (true) or not (false). -func HTTPError(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values) { - if !assert.HTTPError(t, handler, method, url, values) { - t.FailNow() - } -} - - -// HTTPRedirect asserts that a specified handler returns a redirect status code. -// -// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} -// -// Returns whether the assertion was successful (true) or not (false). -func HTTPRedirect(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values) { - if !assert.HTTPRedirect(t, handler, method, url, values) { - t.FailNow() - } -} - - -// HTTPSuccess asserts that a specified handler returns a success status code. -// -// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil) -// -// Returns whether the assertion was successful (true) or not (false). -func HTTPSuccess(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values) { - if !assert.HTTPSuccess(t, handler, method, url, values) { - t.FailNow() - } -} - - -// Implements asserts that an object is implemented by the specified interface. -// -// assert.Implements(t, (*MyInterface)(nil), new(MyObject), "MyObject") -func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) { - if !assert.Implements(t, interfaceObject, object, msgAndArgs...) { - t.FailNow() - } -} - - -// InDelta asserts that the two numerals are within delta of each other. -// -// assert.InDelta(t, math.Pi, (22 / 7.0), 0.01) -// -// Returns whether the assertion was successful (true) or not (false). -func InDelta(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { - if !assert.InDelta(t, expected, actual, delta, msgAndArgs...) { - t.FailNow() - } -} - - -// InDeltaSlice is the same as InDelta, except it compares two slices. -func InDeltaSlice(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { - if !assert.InDeltaSlice(t, expected, actual, delta, msgAndArgs...) { - t.FailNow() - } -} - - -// InEpsilon asserts that expected and actual have a relative error less than epsilon -// -// Returns whether the assertion was successful (true) or not (false). -func InEpsilon(t TestingT, expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { - if !assert.InEpsilon(t, expected, actual, epsilon, msgAndArgs...) { - t.FailNow() - } -} - - -// InEpsilonSlice is the same as InEpsilon, except it compares two slices. -func InEpsilonSlice(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { - if !assert.InEpsilonSlice(t, expected, actual, delta, msgAndArgs...) { - t.FailNow() - } -} - - -// IsType asserts that the specified objects are of the same type. -func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { - if !assert.IsType(t, expectedType, object, msgAndArgs...) { - t.FailNow() - } -} - - -// JSONEq asserts that two JSON strings are equivalent. -// -// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) -// -// Returns whether the assertion was successful (true) or not (false). -func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) { - if !assert.JSONEq(t, expected, actual, msgAndArgs...) { - t.FailNow() - } -} - - -// Len asserts that the specified object has specific length. -// Len also fails if the object has a type that len() not accept. -// -// assert.Len(t, mySlice, 3, "The size of slice is not 3") -// -// Returns whether the assertion was successful (true) or not (false). -func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) { - if !assert.Len(t, object, length, msgAndArgs...) { - t.FailNow() - } -} - - -// Nil asserts that the specified object is nil. -// -// assert.Nil(t, err, "err should be nothing") -// -// Returns whether the assertion was successful (true) or not (false). -func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) { - if !assert.Nil(t, object, msgAndArgs...) { - t.FailNow() - } -} - - -// NoError asserts that a function returned no error (i.e. `nil`). -// -// actualObj, err := SomeFunction() -// if assert.NoError(t, err) { -// assert.Equal(t, actualObj, expectedObj) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func NoError(t TestingT, err error, msgAndArgs ...interface{}) { - if !assert.NoError(t, err, msgAndArgs...) { - t.FailNow() - } -} - - -// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the -// specified substring or element. -// -// assert.NotContains(t, "Hello World", "Earth", "But 'Hello World' does NOT contain 'Earth'") -// assert.NotContains(t, ["Hello", "World"], "Earth", "But ['Hello', 'World'] does NOT contain 'Earth'") -// assert.NotContains(t, {"Hello": "World"}, "Earth", "But {'Hello': 'World'} does NOT contain 'Earth'") -// -// Returns whether the assertion was successful (true) or not (false). -func NotContains(t TestingT, s interface{}, contains interface{}, msgAndArgs ...interface{}) { - if !assert.NotContains(t, s, contains, msgAndArgs...) { - t.FailNow() - } -} - - -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. -// -// if assert.NotEmpty(t, obj) { -// assert.Equal(t, "two", obj[1]) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) { - if !assert.NotEmpty(t, object, msgAndArgs...) { - t.FailNow() - } -} - - -// NotEqual asserts that the specified values are NOT equal. -// -// assert.NotEqual(t, obj1, obj2, "two objects shouldn't be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func NotEqual(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - if !assert.NotEqual(t, expected, actual, msgAndArgs...) { - t.FailNow() - } -} - - -// NotNil asserts that the specified object is not nil. -// -// assert.NotNil(t, err, "err should be something") -// -// Returns whether the assertion was successful (true) or not (false). -func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) { - if !assert.NotNil(t, object, msgAndArgs...) { - t.FailNow() - } -} - - -// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. -// -// assert.NotPanics(t, func(){ -// RemainCalm() -// }, "Calling RemainCalm() should NOT panic") -// -// Returns whether the assertion was successful (true) or not (false). -func NotPanics(t TestingT, f assert.PanicTestFunc, msgAndArgs ...interface{}) { - if !assert.NotPanics(t, f, msgAndArgs...) { - t.FailNow() - } -} - - -// NotRegexp asserts that a specified regexp does not match a string. -// -// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting") -// assert.NotRegexp(t, "^start", "it's not starting") -// -// Returns whether the assertion was successful (true) or not (false). -func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) { - if !assert.NotRegexp(t, rx, str, msgAndArgs...) { - t.FailNow() - } -} - - -// NotZero asserts that i is not the zero value for its type and returns the truth. -func NotZero(t TestingT, i interface{}, msgAndArgs ...interface{}) { - if !assert.NotZero(t, i, msgAndArgs...) { - t.FailNow() - } -} - - -// Panics asserts that the code inside the specified PanicTestFunc panics. -// -// assert.Panics(t, func(){ -// GoCrazy() -// }, "Calling GoCrazy() should panic") -// -// Returns whether the assertion was successful (true) or not (false). -func Panics(t TestingT, f assert.PanicTestFunc, msgAndArgs ...interface{}) { - if !assert.Panics(t, f, msgAndArgs...) { - t.FailNow() - } -} - - -// Regexp asserts that a specified regexp matches a string. -// -// assert.Regexp(t, regexp.MustCompile("start"), "it's starting") -// assert.Regexp(t, "start...$", "it's not starting") -// -// Returns whether the assertion was successful (true) or not (false). -func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) { - if !assert.Regexp(t, rx, str, msgAndArgs...) { - t.FailNow() - } -} - - -// True asserts that the specified value is true. -// -// assert.True(t, myBool, "myBool should be true") -// -// Returns whether the assertion was successful (true) or not (false). -func True(t TestingT, value bool, msgAndArgs ...interface{}) { - if !assert.True(t, value, msgAndArgs...) { - t.FailNow() - } -} - - -// WithinDuration asserts that the two times are within duration delta of each other. -// -// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second, "The difference should not be more than 10s") -// -// Returns whether the assertion was successful (true) or not (false). -func WithinDuration(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) { - if !assert.WithinDuration(t, expected, actual, delta, msgAndArgs...) { - t.FailNow() - } -} - - -// Zero asserts that i is the zero value for its type and returns the truth. -func Zero(t TestingT, i interface{}, msgAndArgs ...interface{}) { - if !assert.Zero(t, i, msgAndArgs...) { - t.FailNow() - } -} diff --git a/vendor/github.com/stretchr/testify/require/require.go.tmpl b/vendor/github.com/stretchr/testify/require/require.go.tmpl deleted file mode 100644 index ab1b1e9fd..000000000 --- a/vendor/github.com/stretchr/testify/require/require.go.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -{{.Comment}} -func {{.DocInfo.Name}}(t TestingT, {{.Params}}) { - if !assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { - t.FailNow() - } -} diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go b/vendor/github.com/stretchr/testify/require/require_forward.go deleted file mode 100644 index 58324f105..000000000 --- a/vendor/github.com/stretchr/testify/require/require_forward.go +++ /dev/null @@ -1,388 +0,0 @@ -/* -* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen -* THIS FILE MUST NOT BE EDITED BY HAND -*/ - -package require - -import ( - - assert "github.com/stretchr/testify/assert" - http "net/http" - url "net/url" - time "time" -) - - -// Condition uses a Comparison to assert a complex condition. -func (a *Assertions) Condition(comp assert.Comparison, msgAndArgs ...interface{}) { - Condition(a.t, comp, msgAndArgs...) -} - - -// Contains asserts that the specified string, list(array, slice...) or map contains the -// specified substring or element. -// -// a.Contains("Hello World", "World", "But 'Hello World' does contain 'World'") -// a.Contains(["Hello", "World"], "World", "But ["Hello", "World"] does contain 'World'") -// a.Contains({"Hello": "World"}, "Hello", "But {'Hello': 'World'} does contain 'Hello'") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) { - Contains(a.t, s, contains, msgAndArgs...) -} - - -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. -// -// a.Empty(obj) -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { - Empty(a.t, object, msgAndArgs...) -} - - -// Equal asserts that two objects are equal. -// -// a.Equal(123, 123, "123 and 123 should be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - Equal(a.t, expected, actual, msgAndArgs...) -} - - -// EqualError asserts that a function returned an error (i.e. not `nil`) -// and that it is equal to the provided error. -// -// actualObj, err := SomeFunction() -// if assert.Error(t, err, "An error was expected") { -// assert.Equal(t, err, expectedError) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) { - EqualError(a.t, theError, errString, msgAndArgs...) -} - - -// EqualValues asserts that two objects are equal or convertable to the same types -// and equal. -// -// a.EqualValues(uint32(123), int32(123), "123 and 123 should be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - EqualValues(a.t, expected, actual, msgAndArgs...) -} - - -// Error asserts that a function returned an error (i.e. not `nil`). -// -// actualObj, err := SomeFunction() -// if a.Error(err, "An error was expected") { -// assert.Equal(t, err, expectedError) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Error(err error, msgAndArgs ...interface{}) { - Error(a.t, err, msgAndArgs...) -} - - -// Exactly asserts that two objects are equal is value and type. -// -// a.Exactly(int32(123), int64(123), "123 and 123 should NOT be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - Exactly(a.t, expected, actual, msgAndArgs...) -} - - -// Fail reports a failure through -func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) { - Fail(a.t, failureMessage, msgAndArgs...) -} - - -// FailNow fails test -func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) { - FailNow(a.t, failureMessage, msgAndArgs...) -} - - -// False asserts that the specified value is false. -// -// a.False(myBool, "myBool should be false") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) False(value bool, msgAndArgs ...interface{}) { - False(a.t, value, msgAndArgs...) -} - - -// HTTPBodyContains asserts that a specified handler returns a -// body that contains a string. -// -// a.HTTPBodyContains(myHandler, "www.google.com", nil, "I'm Feeling Lucky") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}) { - HTTPBodyContains(a.t, handler, method, url, values, str) -} - - -// HTTPBodyNotContains asserts that a specified handler returns a -// body that does not contain a string. -// -// a.HTTPBodyNotContains(myHandler, "www.google.com", nil, "I'm Feeling Lucky") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}) { - HTTPBodyNotContains(a.t, handler, method, url, values, str) -} - - -// HTTPError asserts that a specified handler returns an error status code. -// -// a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values) { - HTTPError(a.t, handler, method, url, values) -} - - -// HTTPRedirect asserts that a specified handler returns a redirect status code. -// -// a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values) { - HTTPRedirect(a.t, handler, method, url, values) -} - - -// HTTPSuccess asserts that a specified handler returns a success status code. -// -// a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil) -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values) { - HTTPSuccess(a.t, handler, method, url, values) -} - - -// Implements asserts that an object is implemented by the specified interface. -// -// a.Implements((*MyInterface)(nil), new(MyObject), "MyObject") -func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) { - Implements(a.t, interfaceObject, object, msgAndArgs...) -} - - -// InDelta asserts that the two numerals are within delta of each other. -// -// a.InDelta(math.Pi, (22 / 7.0), 0.01) -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { - InDelta(a.t, expected, actual, delta, msgAndArgs...) -} - - -// InDeltaSlice is the same as InDelta, except it compares two slices. -func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { - InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...) -} - - -// InEpsilon asserts that expected and actual have a relative error less than epsilon -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { - InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...) -} - - -// InEpsilonSlice is the same as InEpsilon, except it compares two slices. -func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { - InEpsilonSlice(a.t, expected, actual, delta, msgAndArgs...) -} - - -// IsType asserts that the specified objects are of the same type. -func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { - IsType(a.t, expectedType, object, msgAndArgs...) -} - - -// JSONEq asserts that two JSON strings are equivalent. -// -// a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) { - JSONEq(a.t, expected, actual, msgAndArgs...) -} - - -// Len asserts that the specified object has specific length. -// Len also fails if the object has a type that len() not accept. -// -// a.Len(mySlice, 3, "The size of slice is not 3") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) { - Len(a.t, object, length, msgAndArgs...) -} - - -// Nil asserts that the specified object is nil. -// -// a.Nil(err, "err should be nothing") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) { - Nil(a.t, object, msgAndArgs...) -} - - -// NoError asserts that a function returned no error (i.e. `nil`). -// -// actualObj, err := SomeFunction() -// if a.NoError(err) { -// assert.Equal(t, actualObj, expectedObj) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) { - NoError(a.t, err, msgAndArgs...) -} - - -// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the -// specified substring or element. -// -// a.NotContains("Hello World", "Earth", "But 'Hello World' does NOT contain 'Earth'") -// a.NotContains(["Hello", "World"], "Earth", "But ['Hello', 'World'] does NOT contain 'Earth'") -// a.NotContains({"Hello": "World"}, "Earth", "But {'Hello': 'World'} does NOT contain 'Earth'") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) { - NotContains(a.t, s, contains, msgAndArgs...) -} - - -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. -// -// if a.NotEmpty(obj) { -// assert.Equal(t, "two", obj[1]) -// } -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) { - NotEmpty(a.t, object, msgAndArgs...) -} - - -// NotEqual asserts that the specified values are NOT equal. -// -// a.NotEqual(obj1, obj2, "two objects shouldn't be equal") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { - NotEqual(a.t, expected, actual, msgAndArgs...) -} - - -// NotNil asserts that the specified object is not nil. -// -// a.NotNil(err, "err should be something") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) { - NotNil(a.t, object, msgAndArgs...) -} - - -// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. -// -// a.NotPanics(func(){ -// RemainCalm() -// }, "Calling RemainCalm() should NOT panic") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NotPanics(f assert.PanicTestFunc, msgAndArgs ...interface{}) { - NotPanics(a.t, f, msgAndArgs...) -} - - -// NotRegexp asserts that a specified regexp does not match a string. -// -// a.NotRegexp(regexp.MustCompile("starts"), "it's starting") -// a.NotRegexp("^start", "it's not starting") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) { - NotRegexp(a.t, rx, str, msgAndArgs...) -} - - -// NotZero asserts that i is not the zero value for its type and returns the truth. -func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) { - NotZero(a.t, i, msgAndArgs...) -} - - -// Panics asserts that the code inside the specified PanicTestFunc panics. -// -// a.Panics(func(){ -// GoCrazy() -// }, "Calling GoCrazy() should panic") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Panics(f assert.PanicTestFunc, msgAndArgs ...interface{}) { - Panics(a.t, f, msgAndArgs...) -} - - -// Regexp asserts that a specified regexp matches a string. -// -// a.Regexp(regexp.MustCompile("start"), "it's starting") -// a.Regexp("start...$", "it's not starting") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) { - Regexp(a.t, rx, str, msgAndArgs...) -} - - -// True asserts that the specified value is true. -// -// a.True(myBool, "myBool should be true") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) True(value bool, msgAndArgs ...interface{}) { - True(a.t, value, msgAndArgs...) -} - - -// WithinDuration asserts that the two times are within duration delta of each other. -// -// a.WithinDuration(time.Now(), time.Now(), 10*time.Second, "The difference should not be more than 10s") -// -// Returns whether the assertion was successful (true) or not (false). -func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) { - WithinDuration(a.t, expected, actual, delta, msgAndArgs...) -} - - -// Zero asserts that i is the zero value for its type and returns the truth. -func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) { - Zero(a.t, i, msgAndArgs...) -} diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl b/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl deleted file mode 100644 index b93569e0a..000000000 --- a/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -{{.CommentWithoutT "a"}} -func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) { - {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) -} diff --git a/vendor/github.com/stretchr/testify/require/requirements.go b/vendor/github.com/stretchr/testify/require/requirements.go deleted file mode 100644 index 41147562d..000000000 --- a/vendor/github.com/stretchr/testify/require/requirements.go +++ /dev/null @@ -1,9 +0,0 @@ -package require - -// TestingT is an interface wrapper around *testing.T -type TestingT interface { - Errorf(format string, args ...interface{}) - FailNow() -} - -//go:generate go run ../_codegen/main.go -output-package=require -template=require.go.tmpl diff --git a/vendor/github.com/stretchr/testify/suite/doc.go b/vendor/github.com/stretchr/testify/suite/doc.go deleted file mode 100644 index f91a245d3..000000000 --- a/vendor/github.com/stretchr/testify/suite/doc.go +++ /dev/null @@ -1,65 +0,0 @@ -// Package suite contains logic for creating testing suite structs -// and running the methods on those structs as tests. The most useful -// piece of this package is that you can create setup/teardown methods -// on your testing suites, which will run before/after the whole suite -// or individual tests (depending on which interface(s) you -// implement). -// -// A testing suite is usually built by first extending the built-in -// suite functionality from suite.Suite in testify. Alternatively, -// you could reproduce that logic on your own if you wanted (you -// just need to implement the TestingSuite interface from -// suite/interfaces.go). -// -// After that, you can implement any of the interfaces in -// suite/interfaces.go to add setup/teardown functionality to your -// suite, and add any methods that start with "Test" to add tests. -// Methods that do not match any suite interfaces and do not begin -// with "Test" will not be run by testify, and can safely be used as -// helper methods. -// -// Once you've built your testing suite, you need to run the suite -// (using suite.Run from testify) inside any function that matches the -// identity that "go test" is already looking for (i.e. -// func(*testing.T)). -// -// Regular expression to select test suites specified command-line -// argument "-run". Regular expression to select the methods -// of test suites specified command-line argument "-m". -// Suite object has assertion methods. -// -// A crude example: -// // Basic imports -// import ( -// "testing" -// "github.com/stretchr/testify/assert" -// "github.com/stretchr/testify/suite" -// ) -// -// // Define the suite, and absorb the built-in basic suite -// // functionality from testify - including a T() method which -// // returns the current testing context -// type ExampleTestSuite struct { -// suite.Suite -// VariableThatShouldStartAtFive int -// } -// -// // Make sure that VariableThatShouldStartAtFive is set to five -// // before each test -// func (suite *ExampleTestSuite) SetupTest() { -// suite.VariableThatShouldStartAtFive = 5 -// } -// -// // All methods that begin with "Test" are run as tests within a -// // suite. -// func (suite *ExampleTestSuite) TestExample() { -// assert.Equal(suite.T(), 5, suite.VariableThatShouldStartAtFive) -// suite.Equal(5, suite.VariableThatShouldStartAtFive) -// } -// -// // In order for 'go test' to run this suite, we need to create -// // a normal test function and pass our suite to suite.Run -// func TestExampleTestSuite(t *testing.T) { -// suite.Run(t, new(ExampleTestSuite)) -// } -package suite diff --git a/vendor/github.com/stretchr/testify/suite/interfaces.go b/vendor/github.com/stretchr/testify/suite/interfaces.go deleted file mode 100644 index 20969472c..000000000 --- a/vendor/github.com/stretchr/testify/suite/interfaces.go +++ /dev/null @@ -1,34 +0,0 @@ -package suite - -import "testing" - -// TestingSuite can store and return the current *testing.T context -// generated by 'go test'. -type TestingSuite interface { - T() *testing.T - SetT(*testing.T) -} - -// SetupAllSuite has a SetupSuite method, which will run before the -// tests in the suite are run. -type SetupAllSuite interface { - SetupSuite() -} - -// SetupTestSuite has a SetupTest method, which will run before each -// test in the suite. -type SetupTestSuite interface { - SetupTest() -} - -// TearDownAllSuite has a TearDownSuite method, which will run after -// all the tests in the suite have been run. -type TearDownAllSuite interface { - TearDownSuite() -} - -// TearDownTestSuite has a TearDownTest method, which will run after -// each test in the suite. -type TearDownTestSuite interface { - TearDownTest() -} diff --git a/vendor/github.com/stretchr/testify/suite/suite.go b/vendor/github.com/stretchr/testify/suite/suite.go deleted file mode 100644 index f831e2511..000000000 --- a/vendor/github.com/stretchr/testify/suite/suite.go +++ /dev/null @@ -1,115 +0,0 @@ -package suite - -import ( - "flag" - "fmt" - "os" - "reflect" - "regexp" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -var matchMethod = flag.String("m", "", "regular expression to select tests of the suite to run") - -// Suite is a basic testing suite with methods for storing and -// retrieving the current *testing.T context. -type Suite struct { - *assert.Assertions - require *require.Assertions - t *testing.T -} - -// T retrieves the current *testing.T context. -func (suite *Suite) T() *testing.T { - return suite.t -} - -// SetT sets the current *testing.T context. -func (suite *Suite) SetT(t *testing.T) { - suite.t = t - suite.Assertions = assert.New(t) - suite.require = require.New(t) -} - -// Require returns a require context for suite. -func (suite *Suite) Require() *require.Assertions { - if suite.require == nil { - suite.require = require.New(suite.T()) - } - return suite.require -} - -// Assert returns an assert context for suite. Normally, you can call -// `suite.NoError(expected, actual)`, but for situations where the embedded -// methods are overridden (for example, you might want to override -// assert.Assertions with require.Assertions), this method is provided so you -// can call `suite.Assert().NoError()`. -func (suite *Suite) Assert() *assert.Assertions { - if suite.Assertions == nil { - suite.Assertions = assert.New(suite.T()) - } - return suite.Assertions -} - -// Run takes a testing suite and runs all of the tests attached -// to it. -func Run(t *testing.T, suite TestingSuite) { - suite.SetT(t) - - if setupAllSuite, ok := suite.(SetupAllSuite); ok { - setupAllSuite.SetupSuite() - } - defer func() { - if tearDownAllSuite, ok := suite.(TearDownAllSuite); ok { - tearDownAllSuite.TearDownSuite() - } - }() - - methodFinder := reflect.TypeOf(suite) - tests := []testing.InternalTest{} - for index := 0; index < methodFinder.NumMethod(); index++ { - method := methodFinder.Method(index) - ok, err := methodFilter(method.Name) - if err != nil { - fmt.Fprintf(os.Stderr, "testify: invalid regexp for -m: %s\n", err) - os.Exit(1) - } - if ok { - test := testing.InternalTest{ - Name: method.Name, - F: func(t *testing.T) { - parentT := suite.T() - suite.SetT(t) - if setupTestSuite, ok := suite.(SetupTestSuite); ok { - setupTestSuite.SetupTest() - } - defer func() { - if tearDownTestSuite, ok := suite.(TearDownTestSuite); ok { - tearDownTestSuite.TearDownTest() - } - suite.SetT(parentT) - }() - method.Func.Call([]reflect.Value{reflect.ValueOf(suite)}) - }, - } - tests = append(tests, test) - } - } - - if !testing.RunTests(func(_, _ string) (bool, error) { return true, nil }, - tests) { - t.Fail() - } -} - -// Filtering method according to set regular expression -// specified command-line argument -m -func methodFilter(name string) (bool, error) { - if ok, _ := regexp.MatchString("^Test", name); !ok { - return false, nil - } - return regexp.MatchString(*matchMethod, name) -} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/terminal.go b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go deleted file mode 100644 index 741eeb13f..000000000 --- a/vendor/golang.org/x/crypto/ssh/terminal/terminal.go +++ /dev/null @@ -1,892 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package terminal - -import ( - "bytes" - "io" - "sync" - "unicode/utf8" -) - -// EscapeCodes contains escape sequences that can be written to the terminal in -// order to achieve different styles of text. -type EscapeCodes struct { - // Foreground colors - Black, Red, Green, Yellow, Blue, Magenta, Cyan, White []byte - - // Reset all attributes - Reset []byte -} - -var vt100EscapeCodes = EscapeCodes{ - Black: []byte{keyEscape, '[', '3', '0', 'm'}, - Red: []byte{keyEscape, '[', '3', '1', 'm'}, - Green: []byte{keyEscape, '[', '3', '2', 'm'}, - Yellow: []byte{keyEscape, '[', '3', '3', 'm'}, - Blue: []byte{keyEscape, '[', '3', '4', 'm'}, - Magenta: []byte{keyEscape, '[', '3', '5', 'm'}, - Cyan: []byte{keyEscape, '[', '3', '6', 'm'}, - White: []byte{keyEscape, '[', '3', '7', 'm'}, - - Reset: []byte{keyEscape, '[', '0', 'm'}, -} - -// Terminal contains the state for running a VT100 terminal that is capable of -// reading lines of input. -type Terminal struct { - // AutoCompleteCallback, if non-null, is called for each keypress with - // the full input line and the current position of the cursor (in - // bytes, as an index into |line|). If it returns ok=false, the key - // press is processed normally. Otherwise it returns a replacement line - // and the new cursor position. - AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool) - - // Escape contains a pointer to the escape codes for this terminal. - // It's always a valid pointer, although the escape codes themselves - // may be empty if the terminal doesn't support them. - Escape *EscapeCodes - - // lock protects the terminal and the state in this object from - // concurrent processing of a key press and a Write() call. - lock sync.Mutex - - c io.ReadWriter - prompt []rune - - // line is the current line being entered. - line []rune - // pos is the logical position of the cursor in line - pos int - // echo is true if local echo is enabled - echo bool - // pasteActive is true iff there is a bracketed paste operation in - // progress. - pasteActive bool - - // cursorX contains the current X value of the cursor where the left - // edge is 0. cursorY contains the row number where the first row of - // the current line is 0. - cursorX, cursorY int - // maxLine is the greatest value of cursorY so far. - maxLine int - - termWidth, termHeight int - - // outBuf contains the terminal data to be sent. - outBuf []byte - // remainder contains the remainder of any partial key sequences after - // a read. It aliases into inBuf. - remainder []byte - inBuf [256]byte - - // history contains previously entered commands so that they can be - // accessed with the up and down keys. - history stRingBuffer - // historyIndex stores the currently accessed history entry, where zero - // means the immediately previous entry. - historyIndex int - // When navigating up and down the history it's possible to return to - // the incomplete, initial line. That value is stored in - // historyPending. - historyPending string -} - -// NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is -// a local terminal, that terminal must first have been put into raw mode. -// prompt is a string that is written at the start of each input line (i.e. -// "> "). -func NewTerminal(c io.ReadWriter, prompt string) *Terminal { - return &Terminal{ - Escape: &vt100EscapeCodes, - c: c, - prompt: []rune(prompt), - termWidth: 80, - termHeight: 24, - echo: true, - historyIndex: -1, - } -} - -const ( - keyCtrlD = 4 - keyCtrlU = 21 - keyEnter = '\r' - keyEscape = 27 - keyBackspace = 127 - keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota - keyUp - keyDown - keyLeft - keyRight - keyAltLeft - keyAltRight - keyHome - keyEnd - keyDeleteWord - keyDeleteLine - keyClearScreen - keyPasteStart - keyPasteEnd -) - -var pasteStart = []byte{keyEscape, '[', '2', '0', '0', '~'} -var pasteEnd = []byte{keyEscape, '[', '2', '0', '1', '~'} - -// bytesToKey tries to parse a key sequence from b. If successful, it returns -// the key and the remainder of the input. Otherwise it returns utf8.RuneError. -func bytesToKey(b []byte, pasteActive bool) (rune, []byte) { - if len(b) == 0 { - return utf8.RuneError, nil - } - - if !pasteActive { - switch b[0] { - case 1: // ^A - return keyHome, b[1:] - case 5: // ^E - return keyEnd, b[1:] - case 8: // ^H - return keyBackspace, b[1:] - case 11: // ^K - return keyDeleteLine, b[1:] - case 12: // ^L - return keyClearScreen, b[1:] - case 23: // ^W - return keyDeleteWord, b[1:] - } - } - - if b[0] != keyEscape { - if !utf8.FullRune(b) { - return utf8.RuneError, b - } - r, l := utf8.DecodeRune(b) - return r, b[l:] - } - - if !pasteActive && len(b) >= 3 && b[0] == keyEscape && b[1] == '[' { - switch b[2] { - case 'A': - return keyUp, b[3:] - case 'B': - return keyDown, b[3:] - case 'C': - return keyRight, b[3:] - case 'D': - return keyLeft, b[3:] - case 'H': - return keyHome, b[3:] - case 'F': - return keyEnd, b[3:] - } - } - - if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' { - switch b[5] { - case 'C': - return keyAltRight, b[6:] - case 'D': - return keyAltLeft, b[6:] - } - } - - if !pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteStart) { - return keyPasteStart, b[6:] - } - - if pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteEnd) { - return keyPasteEnd, b[6:] - } - - // If we get here then we have a key that we don't recognise, or a - // partial sequence. It's not clear how one should find the end of a - // sequence without knowing them all, but it seems that [a-zA-Z~] only - // appears at the end of a sequence. - for i, c := range b[0:] { - if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '~' { - return keyUnknown, b[i+1:] - } - } - - return utf8.RuneError, b -} - -// queue appends data to the end of t.outBuf -func (t *Terminal) queue(data []rune) { - t.outBuf = append(t.outBuf, []byte(string(data))...) -} - -var eraseUnderCursor = []rune{' ', keyEscape, '[', 'D'} -var space = []rune{' '} - -func isPrintable(key rune) bool { - isInSurrogateArea := key >= 0xd800 && key <= 0xdbff - return key >= 32 && !isInSurrogateArea -} - -// moveCursorToPos appends data to t.outBuf which will move the cursor to the -// given, logical position in the text. -func (t *Terminal) moveCursorToPos(pos int) { - if !t.echo { - return - } - - x := visualLength(t.prompt) + pos - y := x / t.termWidth - x = x % t.termWidth - - up := 0 - if y < t.cursorY { - up = t.cursorY - y - } - - down := 0 - if y > t.cursorY { - down = y - t.cursorY - } - - left := 0 - if x < t.cursorX { - left = t.cursorX - x - } - - right := 0 - if x > t.cursorX { - right = x - t.cursorX - } - - t.cursorX = x - t.cursorY = y - t.move(up, down, left, right) -} - -func (t *Terminal) move(up, down, left, right int) { - movement := make([]rune, 3*(up+down+left+right)) - m := movement - for i := 0; i < up; i++ { - m[0] = keyEscape - m[1] = '[' - m[2] = 'A' - m = m[3:] - } - for i := 0; i < down; i++ { - m[0] = keyEscape - m[1] = '[' - m[2] = 'B' - m = m[3:] - } - for i := 0; i < left; i++ { - m[0] = keyEscape - m[1] = '[' - m[2] = 'D' - m = m[3:] - } - for i := 0; i < right; i++ { - m[0] = keyEscape - m[1] = '[' - m[2] = 'C' - m = m[3:] - } - - t.queue(movement) -} - -func (t *Terminal) clearLineToRight() { - op := []rune{keyEscape, '[', 'K'} - t.queue(op) -} - -const maxLineLength = 4096 - -func (t *Terminal) setLine(newLine []rune, newPos int) { - if t.echo { - t.moveCursorToPos(0) - t.writeLine(newLine) - for i := len(newLine); i < len(t.line); i++ { - t.writeLine(space) - } - t.moveCursorToPos(newPos) - } - t.line = newLine - t.pos = newPos -} - -func (t *Terminal) advanceCursor(places int) { - t.cursorX += places - t.cursorY += t.cursorX / t.termWidth - if t.cursorY > t.maxLine { - t.maxLine = t.cursorY - } - t.cursorX = t.cursorX % t.termWidth - - if places > 0 && t.cursorX == 0 { - // Normally terminals will advance the current position - // when writing a character. But that doesn't happen - // for the last character in a line. However, when - // writing a character (except a new line) that causes - // a line wrap, the position will be advanced two - // places. - // - // So, if we are stopping at the end of a line, we - // need to write a newline so that our cursor can be - // advanced to the next line. - t.outBuf = append(t.outBuf, '\n') - } -} - -func (t *Terminal) eraseNPreviousChars(n int) { - if n == 0 { - return - } - - if t.pos < n { - n = t.pos - } - t.pos -= n - t.moveCursorToPos(t.pos) - - copy(t.line[t.pos:], t.line[n+t.pos:]) - t.line = t.line[:len(t.line)-n] - if t.echo { - t.writeLine(t.line[t.pos:]) - for i := 0; i < n; i++ { - t.queue(space) - } - t.advanceCursor(n) - t.moveCursorToPos(t.pos) - } -} - -// countToLeftWord returns then number of characters from the cursor to the -// start of the previous word. -func (t *Terminal) countToLeftWord() int { - if t.pos == 0 { - return 0 - } - - pos := t.pos - 1 - for pos > 0 { - if t.line[pos] != ' ' { - break - } - pos-- - } - for pos > 0 { - if t.line[pos] == ' ' { - pos++ - break - } - pos-- - } - - return t.pos - pos -} - -// countToRightWord returns then number of characters from the cursor to the -// start of the next word. -func (t *Terminal) countToRightWord() int { - pos := t.pos - for pos < len(t.line) { - if t.line[pos] == ' ' { - break - } - pos++ - } - for pos < len(t.line) { - if t.line[pos] != ' ' { - break - } - pos++ - } - return pos - t.pos -} - -// visualLength returns the number of visible glyphs in s. -func visualLength(runes []rune) int { - inEscapeSeq := false - length := 0 - - for _, r := range runes { - switch { - case inEscapeSeq: - if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') { - inEscapeSeq = false - } - case r == '\x1b': - inEscapeSeq = true - default: - length++ - } - } - - return length -} - -// handleKey processes the given key and, optionally, returns a line of text -// that the user has entered. -func (t *Terminal) handleKey(key rune) (line string, ok bool) { - if t.pasteActive && key != keyEnter { - t.addKeyToLine(key) - return - } - - switch key { - case keyBackspace: - if t.pos == 0 { - return - } - t.eraseNPreviousChars(1) - case keyAltLeft: - // move left by a word. - t.pos -= t.countToLeftWord() - t.moveCursorToPos(t.pos) - case keyAltRight: - // move right by a word. - t.pos += t.countToRightWord() - t.moveCursorToPos(t.pos) - case keyLeft: - if t.pos == 0 { - return - } - t.pos-- - t.moveCursorToPos(t.pos) - case keyRight: - if t.pos == len(t.line) { - return - } - t.pos++ - t.moveCursorToPos(t.pos) - case keyHome: - if t.pos == 0 { - return - } - t.pos = 0 - t.moveCursorToPos(t.pos) - case keyEnd: - if t.pos == len(t.line) { - return - } - t.pos = len(t.line) - t.moveCursorToPos(t.pos) - case keyUp: - entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1) - if !ok { - return "", false - } - if t.historyIndex == -1 { - t.historyPending = string(t.line) - } - t.historyIndex++ - runes := []rune(entry) - t.setLine(runes, len(runes)) - case keyDown: - switch t.historyIndex { - case -1: - return - case 0: - runes := []rune(t.historyPending) - t.setLine(runes, len(runes)) - t.historyIndex-- - default: - entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1) - if ok { - t.historyIndex-- - runes := []rune(entry) - t.setLine(runes, len(runes)) - } - } - case keyEnter: - t.moveCursorToPos(len(t.line)) - t.queue([]rune("\r\n")) - line = string(t.line) - ok = true - t.line = t.line[:0] - t.pos = 0 - t.cursorX = 0 - t.cursorY = 0 - t.maxLine = 0 - case keyDeleteWord: - // Delete zero or more spaces and then one or more characters. - t.eraseNPreviousChars(t.countToLeftWord()) - case keyDeleteLine: - // Delete everything from the current cursor position to the - // end of line. - for i := t.pos; i < len(t.line); i++ { - t.queue(space) - t.advanceCursor(1) - } - t.line = t.line[:t.pos] - t.moveCursorToPos(t.pos) - case keyCtrlD: - // Erase the character under the current position. - // The EOF case when the line is empty is handled in - // readLine(). - if t.pos < len(t.line) { - t.pos++ - t.eraseNPreviousChars(1) - } - case keyCtrlU: - t.eraseNPreviousChars(t.pos) - case keyClearScreen: - // Erases the screen and moves the cursor to the home position. - t.queue([]rune("\x1b[2J\x1b[H")) - t.queue(t.prompt) - t.cursorX, t.cursorY = 0, 0 - t.advanceCursor(visualLength(t.prompt)) - t.setLine(t.line, t.pos) - default: - if t.AutoCompleteCallback != nil { - prefix := string(t.line[:t.pos]) - suffix := string(t.line[t.pos:]) - - t.lock.Unlock() - newLine, newPos, completeOk := t.AutoCompleteCallback(prefix+suffix, len(prefix), key) - t.lock.Lock() - - if completeOk { - t.setLine([]rune(newLine), utf8.RuneCount([]byte(newLine)[:newPos])) - return - } - } - if !isPrintable(key) { - return - } - if len(t.line) == maxLineLength { - return - } - t.addKeyToLine(key) - } - return -} - -// addKeyToLine inserts the given key at the current position in the current -// line. -func (t *Terminal) addKeyToLine(key rune) { - if len(t.line) == cap(t.line) { - newLine := make([]rune, len(t.line), 2*(1+len(t.line))) - copy(newLine, t.line) - t.line = newLine - } - t.line = t.line[:len(t.line)+1] - copy(t.line[t.pos+1:], t.line[t.pos:]) - t.line[t.pos] = key - if t.echo { - t.writeLine(t.line[t.pos:]) - } - t.pos++ - t.moveCursorToPos(t.pos) -} - -func (t *Terminal) writeLine(line []rune) { - for len(line) != 0 { - remainingOnLine := t.termWidth - t.cursorX - todo := len(line) - if todo > remainingOnLine { - todo = remainingOnLine - } - t.queue(line[:todo]) - t.advanceCursor(visualLength(line[:todo])) - line = line[todo:] - } -} - -func (t *Terminal) Write(buf []byte) (n int, err error) { - t.lock.Lock() - defer t.lock.Unlock() - - if t.cursorX == 0 && t.cursorY == 0 { - // This is the easy case: there's nothing on the screen that we - // have to move out of the way. - return t.c.Write(buf) - } - - // We have a prompt and possibly user input on the screen. We - // have to clear it first. - t.move(0 /* up */, 0 /* down */, t.cursorX /* left */, 0 /* right */) - t.cursorX = 0 - t.clearLineToRight() - - for t.cursorY > 0 { - t.move(1 /* up */, 0, 0, 0) - t.cursorY-- - t.clearLineToRight() - } - - if _, err = t.c.Write(t.outBuf); err != nil { - return - } - t.outBuf = t.outBuf[:0] - - if n, err = t.c.Write(buf); err != nil { - return - } - - t.writeLine(t.prompt) - if t.echo { - t.writeLine(t.line) - } - - t.moveCursorToPos(t.pos) - - if _, err = t.c.Write(t.outBuf); err != nil { - return - } - t.outBuf = t.outBuf[:0] - return -} - -// ReadPassword temporarily changes the prompt and reads a password, without -// echo, from the terminal. -func (t *Terminal) ReadPassword(prompt string) (line string, err error) { - t.lock.Lock() - defer t.lock.Unlock() - - oldPrompt := t.prompt - t.prompt = []rune(prompt) - t.echo = false - - line, err = t.readLine() - - t.prompt = oldPrompt - t.echo = true - - return -} - -// ReadLine returns a line of input from the terminal. -func (t *Terminal) ReadLine() (line string, err error) { - t.lock.Lock() - defer t.lock.Unlock() - - return t.readLine() -} - -func (t *Terminal) readLine() (line string, err error) { - // t.lock must be held at this point - - if t.cursorX == 0 && t.cursorY == 0 { - t.writeLine(t.prompt) - t.c.Write(t.outBuf) - t.outBuf = t.outBuf[:0] - } - - lineIsPasted := t.pasteActive - - for { - rest := t.remainder - lineOk := false - for !lineOk { - var key rune - key, rest = bytesToKey(rest, t.pasteActive) - if key == utf8.RuneError { - break - } - if !t.pasteActive { - if key == keyCtrlD { - if len(t.line) == 0 { - return "", io.EOF - } - } - if key == keyPasteStart { - t.pasteActive = true - if len(t.line) == 0 { - lineIsPasted = true - } - continue - } - } else if key == keyPasteEnd { - t.pasteActive = false - continue - } - if !t.pasteActive { - lineIsPasted = false - } - line, lineOk = t.handleKey(key) - } - if len(rest) > 0 { - n := copy(t.inBuf[:], rest) - t.remainder = t.inBuf[:n] - } else { - t.remainder = nil - } - t.c.Write(t.outBuf) - t.outBuf = t.outBuf[:0] - if lineOk { - if t.echo { - t.historyIndex = -1 - t.history.Add(line) - } - if lineIsPasted { - err = ErrPasteIndicator - } - return - } - - // t.remainder is a slice at the beginning of t.inBuf - // containing a partial key sequence - readBuf := t.inBuf[len(t.remainder):] - var n int - - t.lock.Unlock() - n, err = t.c.Read(readBuf) - t.lock.Lock() - - if err != nil { - return - } - - t.remainder = t.inBuf[:n+len(t.remainder)] - } - - panic("unreachable") // for Go 1.0. -} - -// SetPrompt sets the prompt to be used when reading subsequent lines. -func (t *Terminal) SetPrompt(prompt string) { - t.lock.Lock() - defer t.lock.Unlock() - - t.prompt = []rune(prompt) -} - -func (t *Terminal) clearAndRepaintLinePlusNPrevious(numPrevLines int) { - // Move cursor to column zero at the start of the line. - t.move(t.cursorY, 0, t.cursorX, 0) - t.cursorX, t.cursorY = 0, 0 - t.clearLineToRight() - for t.cursorY < numPrevLines { - // Move down a line - t.move(0, 1, 0, 0) - t.cursorY++ - t.clearLineToRight() - } - // Move back to beginning. - t.move(t.cursorY, 0, 0, 0) - t.cursorX, t.cursorY = 0, 0 - - t.queue(t.prompt) - t.advanceCursor(visualLength(t.prompt)) - t.writeLine(t.line) - t.moveCursorToPos(t.pos) -} - -func (t *Terminal) SetSize(width, height int) error { - t.lock.Lock() - defer t.lock.Unlock() - - if width == 0 { - width = 1 - } - - oldWidth := t.termWidth - t.termWidth, t.termHeight = width, height - - switch { - case width == oldWidth: - // If the width didn't change then nothing else needs to be - // done. - return nil - case len(t.line) == 0 && t.cursorX == 0 && t.cursorY == 0: - // If there is nothing on current line and no prompt printed, - // just do nothing - return nil - case width < oldWidth: - // Some terminals (e.g. xterm) will truncate lines that were - // too long when shinking. Others, (e.g. gnome-terminal) will - // attempt to wrap them. For the former, repainting t.maxLine - // works great, but that behaviour goes badly wrong in the case - // of the latter because they have doubled every full line. - - // We assume that we are working on a terminal that wraps lines - // and adjust the cursor position based on every previous line - // wrapping and turning into two. This causes the prompt on - // xterms to move upwards, which isn't great, but it avoids a - // huge mess with gnome-terminal. - if t.cursorX >= t.termWidth { - t.cursorX = t.termWidth - 1 - } - t.cursorY *= 2 - t.clearAndRepaintLinePlusNPrevious(t.maxLine * 2) - case width > oldWidth: - // If the terminal expands then our position calculations will - // be wrong in the future because we think the cursor is - // |t.pos| chars into the string, but there will be a gap at - // the end of any wrapped line. - // - // But the position will actually be correct until we move, so - // we can move back to the beginning and repaint everything. - t.clearAndRepaintLinePlusNPrevious(t.maxLine) - } - - _, err := t.c.Write(t.outBuf) - t.outBuf = t.outBuf[:0] - return err -} - -type pasteIndicatorError struct{} - -func (pasteIndicatorError) Error() string { - return "terminal: ErrPasteIndicator not correctly handled" -} - -// ErrPasteIndicator may be returned from ReadLine as the error, in addition -// to valid line data. It indicates that bracketed paste mode is enabled and -// that the returned line consists only of pasted data. Programs may wish to -// interpret pasted data more literally than typed data. -var ErrPasteIndicator = pasteIndicatorError{} - -// SetBracketedPasteMode requests that the terminal bracket paste operations -// with markers. Not all terminals support this but, if it is supported, then -// enabling this mode will stop any autocomplete callback from running due to -// pastes. Additionally, any lines that are completely pasted will be returned -// from ReadLine with the error set to ErrPasteIndicator. -func (t *Terminal) SetBracketedPasteMode(on bool) { - if on { - io.WriteString(t.c, "\x1b[?2004h") - } else { - io.WriteString(t.c, "\x1b[?2004l") - } -} - -// stRingBuffer is a ring buffer of strings. -type stRingBuffer struct { - // entries contains max elements. - entries []string - max int - // head contains the index of the element most recently added to the ring. - head int - // size contains the number of elements in the ring. - size int -} - -func (s *stRingBuffer) Add(a string) { - if s.entries == nil { - const defaultNumEntries = 100 - s.entries = make([]string, defaultNumEntries) - s.max = defaultNumEntries - } - - s.head = (s.head + 1) % s.max - s.entries[s.head] = a - if s.size < s.max { - s.size++ - } -} - -// NthPreviousEntry returns the value passed to the nth previous call to Add. -// If n is zero then the immediately prior value is returned, if one, then the -// next most recent, and so on. If such an element doesn't exist then ok is -// false. -func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) { - if n >= s.size { - return "", false - } - index := s.head - n - if index < 0 { - index += s.max - } - return s.entries[index], true -} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go deleted file mode 100644 index 598e3df77..000000000 --- a/vendor/golang.org/x/crypto/ssh/terminal/util.go +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build darwin dragonfly freebsd linux,!appengine netbsd openbsd - -// Package terminal provides support functions for dealing with terminals, as -// commonly found on UNIX systems. -// -// Putting a terminal into raw mode is the most common requirement: -// -// oldState, err := terminal.MakeRaw(0) -// if err != nil { -// panic(err) -// } -// defer terminal.Restore(0, oldState) -package terminal // import "golang.org/x/crypto/ssh/terminal" - -import ( - "io" - "syscall" - "unsafe" -) - -// State contains the state of a terminal. -type State struct { - termios syscall.Termios -} - -// IsTerminal returns true if the given file descriptor is a terminal. -func IsTerminal(fd int) bool { - var termios syscall.Termios - _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) - return err == 0 -} - -// MakeRaw put the terminal connected to the given file descriptor into raw -// mode and returns the previous state of the terminal so that it can be -// restored. -func MakeRaw(fd int) (*State, error) { - var oldState State - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 { - return nil, err - } - - newState := oldState.termios - newState.Iflag &^= syscall.ISTRIP | syscall.INLCR | syscall.ICRNL | syscall.IGNCR | syscall.IXON | syscall.IXOFF - newState.Lflag &^= syscall.ECHO | syscall.ICANON | syscall.ISIG - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { - return nil, err - } - - return &oldState, nil -} - -// GetState returns the current state of a terminal which may be useful to -// restore the terminal after a signal. -func GetState(fd int) (*State, error) { - var oldState State - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 { - return nil, err - } - - return &oldState, nil -} - -// Restore restores the terminal connected to the given file descriptor to a -// previous state. -func Restore(fd int, state *State) error { - _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&state.termios)), 0, 0, 0) - return err -} - -// GetSize returns the dimensions of the given terminal. -func GetSize(fd int) (width, height int, err error) { - var dimensions [4]uint16 - - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(syscall.TIOCGWINSZ), uintptr(unsafe.Pointer(&dimensions)), 0, 0, 0); err != 0 { - return -1, -1, err - } - return int(dimensions[1]), int(dimensions[0]), nil -} - -// ReadPassword reads a line of input from a terminal without local echo. This -// is commonly used for inputting passwords and other sensitive data. The slice -// returned does not include the \n. -func ReadPassword(fd int) ([]byte, error) { - var oldState syscall.Termios - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0); err != 0 { - return nil, err - } - - newState := oldState - newState.Lflag &^= syscall.ECHO - newState.Lflag |= syscall.ICANON | syscall.ISIG - newState.Iflag |= syscall.ICRNL - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { - return nil, err - } - - defer func() { - syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0) - }() - - var buf [16]byte - var ret []byte - for { - n, err := syscall.Read(fd, buf[:]) - if err != nil { - return nil, err - } - if n == 0 { - if len(ret) == 0 { - return nil, io.EOF - } - break - } - if buf[n-1] == '\n' { - n-- - } - ret = append(ret, buf[:n]...) - if n < len(buf) { - break - } - } - - return ret, nil -} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go deleted file mode 100644 index 9c1ffd145..000000000 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build darwin dragonfly freebsd netbsd openbsd - -package terminal - -import "syscall" - -const ioctlReadTermios = syscall.TIOCGETA -const ioctlWriteTermios = syscall.TIOCSETA diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go deleted file mode 100644 index 5883b22d7..000000000 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package terminal - -// These constants are declared here, rather than importing -// them from the syscall package as some syscall packages, even -// on linux, for example gccgo, do not declare them. -const ioctlReadTermios = 0x5401 // syscall.TCGETS -const ioctlWriteTermios = 0x5402 // syscall.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go deleted file mode 100644 index 2dd6c3d97..000000000 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build windows - -// Package terminal provides support functions for dealing with terminals, as -// commonly found on UNIX systems. -// -// Putting a terminal into raw mode is the most common requirement: -// -// oldState, err := terminal.MakeRaw(0) -// if err != nil { -// panic(err) -// } -// defer terminal.Restore(0, oldState) -package terminal - -import ( - "io" - "syscall" - "unsafe" -) - -const ( - enableLineInput = 2 - enableEchoInput = 4 - enableProcessedInput = 1 - enableWindowInput = 8 - enableMouseInput = 16 - enableInsertMode = 32 - enableQuickEditMode = 64 - enableExtendedFlags = 128 - enableAutoPosition = 256 - enableProcessedOutput = 1 - enableWrapAtEolOutput = 2 -) - -var kernel32 = syscall.NewLazyDLL("kernel32.dll") - -var ( - procGetConsoleMode = kernel32.NewProc("GetConsoleMode") - procSetConsoleMode = kernel32.NewProc("SetConsoleMode") - procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") -) - -type ( - short int16 - word uint16 - - coord struct { - x short - y short - } - smallRect struct { - left short - top short - right short - bottom short - } - consoleScreenBufferInfo struct { - size coord - cursorPosition coord - attributes word - window smallRect - maximumWindowSize coord - } -) - -type State struct { - mode uint32 -} - -// IsTerminal returns true if the given file descriptor is a terminal. -func IsTerminal(fd int) bool { - var st uint32 - r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - return r != 0 && e == 0 -} - -// MakeRaw put the terminal connected to the given file descriptor into raw -// mode and returns the previous state of the terminal so that it can be -// restored. -func MakeRaw(fd int) (*State, error) { - var st uint32 - _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - if e != 0 { - return nil, error(e) - } - st &^= (enableEchoInput | enableProcessedInput | enableLineInput | enableProcessedOutput) - _, _, e = syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(st), 0) - if e != 0 { - return nil, error(e) - } - return &State{st}, nil -} - -// GetState returns the current state of a terminal which may be useful to -// restore the terminal after a signal. -func GetState(fd int) (*State, error) { - var st uint32 - _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - if e != 0 { - return nil, error(e) - } - return &State{st}, nil -} - -// Restore restores the terminal connected to the given file descriptor to a -// previous state. -func Restore(fd int, state *State) error { - _, _, err := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(state.mode), 0) - return err -} - -// GetSize returns the dimensions of the given terminal. -func GetSize(fd int) (width, height int, err error) { - var info consoleScreenBufferInfo - _, _, e := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&info)), 0) - if e != 0 { - return 0, 0, error(e) - } - return int(info.size.x), int(info.size.y), nil -} - -// ReadPassword reads a line of input from a terminal without local echo. This -// is commonly used for inputting passwords and other sensitive data. The slice -// returned does not include the \n. -func ReadPassword(fd int) ([]byte, error) { - var st uint32 - _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - if e != 0 { - return nil, error(e) - } - old := st - - st &^= (enableEchoInput) - st |= (enableProcessedInput | enableLineInput | enableProcessedOutput) - _, _, e = syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(st), 0) - if e != 0 { - return nil, error(e) - } - - defer func() { - syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(old), 0) - }() - - var buf [16]byte - var ret []byte - for { - n, err := syscall.Read(syscall.Handle(fd), buf[:]) - if err != nil { - return nil, err - } - if n == 0 { - if len(ret) == 0 { - return nil, io.EOF - } - break - } - if buf[n-1] == '\n' { - n-- - } - if n > 0 && buf[n-1] == '\r' { - n-- - } - ret = append(ret, buf[:n]...) - if n < len(buf) { - break - } - } - - return ret, nil -} diff --git a/vendor/golang.org/x/crypto/ssh/test/doc.go b/vendor/golang.org/x/crypto/ssh/test/doc.go deleted file mode 100644 index 3f9b3346d..000000000 --- a/vendor/golang.org/x/crypto/ssh/test/doc.go +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// This package contains integration tests for the -// golang.org/x/crypto/ssh package. -package test // import "golang.org/x/crypto/ssh/test" diff --git a/vendor/golang.org/x/crypto/ssh/testdata/doc.go b/vendor/golang.org/x/crypto/ssh/testdata/doc.go deleted file mode 100644 index fcae47ca6..000000000 --- a/vendor/golang.org/x/crypto/ssh/testdata/doc.go +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// This package contains test data shared between the various subpackages of -// the golang.org/x/crypto/ssh package. Under no circumstance should -// this data be used for production code. -package testdata // import "golang.org/x/crypto/ssh/testdata" diff --git a/vendor/golang.org/x/crypto/ssh/testdata/keys.go b/vendor/golang.org/x/crypto/ssh/testdata/keys.go deleted file mode 100644 index 5ff1c0e03..000000000 --- a/vendor/golang.org/x/crypto/ssh/testdata/keys.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package testdata - -var PEMBytes = map[string][]byte{ - "dsa": []byte(`-----BEGIN DSA PRIVATE KEY----- -MIIBuwIBAAKBgQD6PDSEyXiI9jfNs97WuM46MSDCYlOqWw80ajN16AohtBncs1YB -lHk//dQOvCYOsYaE+gNix2jtoRjwXhDsc25/IqQbU1ahb7mB8/rsaILRGIbA5WH3 -EgFtJmXFovDz3if6F6TzvhFpHgJRmLYVR8cqsezL3hEZOvvs2iH7MorkxwIVAJHD -nD82+lxh2fb4PMsIiaXudAsBAoGAQRf7Q/iaPRn43ZquUhd6WwvirqUj+tkIu6eV -2nZWYmXLlqFQKEy4Tejl7Wkyzr2OSYvbXLzo7TNxLKoWor6ips0phYPPMyXld14r -juhT24CrhOzuLMhDduMDi032wDIZG4Y+K7ElU8Oufn8Sj5Wge8r6ANmmVgmFfynr -FhdYCngCgYEA3ucGJ93/Mx4q4eKRDxcWD3QzWyqpbRVRRV1Vmih9Ha/qC994nJFz -DQIdjxDIT2Rk2AGzMqFEB68Zc3O+Wcsmz5eWWzEwFxaTwOGWTyDqsDRLm3fD+QYj -nOwuxb0Kce+gWI8voWcqC9cyRm09jGzu2Ab3Bhtpg8JJ8L7gS3MRZK4CFEx4UAfY -Fmsr0W6fHB9nhS4/UXM8 ------END DSA PRIVATE KEY----- -`), - "ecdsa": []byte(`-----BEGIN EC PRIVATE KEY----- -MHcCAQEEINGWx0zo6fhJ/0EAfrPzVFyFC9s18lBt3cRoEDhS3ARooAoGCCqGSM49 -AwEHoUQDQgAEi9Hdw6KvZcWxfg2IDhA7UkpDtzzt6ZqJXSsFdLd+Kx4S3Sx4cVO+ -6/ZOXRnPmNAlLUqjShUsUBBngG0u2fqEqA== ------END EC PRIVATE KEY----- -`), - "rsa": []byte(`-----BEGIN RSA PRIVATE KEY----- -MIIBOwIBAAJBALdGZxkXDAjsYk10ihwU6Id2KeILz1TAJuoq4tOgDWxEEGeTrcld -r/ZwVaFzjWzxaf6zQIJbfaSEAhqD5yo72+sCAwEAAQJBAK8PEVU23Wj8mV0QjwcJ -tZ4GcTUYQL7cF4+ezTCE9a1NrGnCP2RuQkHEKxuTVrxXt+6OF15/1/fuXnxKjmJC -nxkCIQDaXvPPBi0c7vAxGwNY9726x01/dNbHCE0CBtcotobxpwIhANbbQbh3JHVW -2haQh4fAG5mhesZKAGcxTyv4mQ7uMSQdAiAj+4dzMpJWdSzQ+qGHlHMIBvVHLkqB -y2VdEyF7DPCZewIhAI7GOI/6LDIFOvtPo6Bj2nNmyQ1HU6k/LRtNIXi4c9NJAiAr -rrxx26itVhJmcvoUhOjwuzSlP2bE5VHAvkGB352YBg== ------END RSA PRIVATE KEY----- -`), - "user": []byte(`-----BEGIN EC PRIVATE KEY----- -MHcCAQEEILYCAeq8f7V4vSSypRw7pxy8yz3V5W4qg8kSC3zJhqpQoAoGCCqGSM49 -AwEHoUQDQgAEYcO2xNKiRUYOLEHM7VYAp57HNyKbOdYtHD83Z4hzNPVC4tM5mdGD -PLL8IEwvYu2wq+lpXfGQnNMbzYf9gspG0w== ------END EC PRIVATE KEY----- -`), -} diff --git a/vendor/golang.org/x/net/html/charset/charset.go b/vendor/golang.org/x/net/html/charset/charset.go deleted file mode 100644 index 13bed1599..000000000 --- a/vendor/golang.org/x/net/html/charset/charset.go +++ /dev/null @@ -1,257 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package charset provides common text encodings for HTML documents. -// -// The mapping from encoding labels to encodings is defined at -// https://encoding.spec.whatwg.org/. -package charset // import "golang.org/x/net/html/charset" - -import ( - "bytes" - "fmt" - "io" - "mime" - "strings" - "unicode/utf8" - - "golang.org/x/net/html" - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/charmap" - "golang.org/x/text/encoding/htmlindex" - "golang.org/x/text/transform" -) - -// Lookup returns the encoding with the specified label, and its canonical -// name. It returns nil and the empty string if label is not one of the -// standard encodings for HTML. Matching is case-insensitive and ignores -// leading and trailing whitespace. Encoders will use HTML escape sequences for -// runes that are not supported by the character set. -func Lookup(label string) (e encoding.Encoding, name string) { - e, err := htmlindex.Get(label) - if err != nil { - return nil, "" - } - name, _ = htmlindex.Name(e) - return &htmlEncoding{e}, name -} - -type htmlEncoding struct{ encoding.Encoding } - -func (h *htmlEncoding) NewEncoder() *encoding.Encoder { - // HTML requires a non-terminating legacy encoder. We use HTML escapes to - // substitute unsupported code points. - return encoding.HTMLEscapeUnsupported(h.Encoding.NewEncoder()) -} - -// DetermineEncoding determines the encoding of an HTML document by examining -// up to the first 1024 bytes of content and the declared Content-Type. -// -// See http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#determining-the-character-encoding -func DetermineEncoding(content []byte, contentType string) (e encoding.Encoding, name string, certain bool) { - if len(content) > 1024 { - content = content[:1024] - } - - for _, b := range boms { - if bytes.HasPrefix(content, b.bom) { - e, name = Lookup(b.enc) - return e, name, true - } - } - - if _, params, err := mime.ParseMediaType(contentType); err == nil { - if cs, ok := params["charset"]; ok { - if e, name = Lookup(cs); e != nil { - return e, name, true - } - } - } - - if len(content) > 0 { - e, name = prescan(content) - if e != nil { - return e, name, false - } - } - - // Try to detect UTF-8. - // First eliminate any partial rune at the end. - for i := len(content) - 1; i >= 0 && i > len(content)-4; i-- { - b := content[i] - if b < 0x80 { - break - } - if utf8.RuneStart(b) { - content = content[:i] - break - } - } - hasHighBit := false - for _, c := range content { - if c >= 0x80 { - hasHighBit = true - break - } - } - if hasHighBit && utf8.Valid(content) { - return encoding.Nop, "utf-8", false - } - - // TODO: change default depending on user's locale? - return charmap.Windows1252, "windows-1252", false -} - -// NewReader returns an io.Reader that converts the content of r to UTF-8. -// It calls DetermineEncoding to find out what r's encoding is. -func NewReader(r io.Reader, contentType string) (io.Reader, error) { - preview := make([]byte, 1024) - n, err := io.ReadFull(r, preview) - switch { - case err == io.ErrUnexpectedEOF: - preview = preview[:n] - r = bytes.NewReader(preview) - case err != nil: - return nil, err - default: - r = io.MultiReader(bytes.NewReader(preview), r) - } - - if e, _, _ := DetermineEncoding(preview, contentType); e != encoding.Nop { - r = transform.NewReader(r, e.NewDecoder()) - } - return r, nil -} - -// NewReaderLabel returns a reader that converts from the specified charset to -// UTF-8. It uses Lookup to find the encoding that corresponds to label, and -// returns an error if Lookup returns nil. It is suitable for use as -// encoding/xml.Decoder's CharsetReader function. -func NewReaderLabel(label string, input io.Reader) (io.Reader, error) { - e, _ := Lookup(label) - if e == nil { - return nil, fmt.Errorf("unsupported charset: %q", label) - } - return transform.NewReader(input, e.NewDecoder()), nil -} - -func prescan(content []byte) (e encoding.Encoding, name string) { - z := html.NewTokenizer(bytes.NewReader(content)) - for { - switch z.Next() { - case html.ErrorToken: - return nil, "" - - case html.StartTagToken, html.SelfClosingTagToken: - tagName, hasAttr := z.TagName() - if !bytes.Equal(tagName, []byte("meta")) { - continue - } - attrList := make(map[string]bool) - gotPragma := false - - const ( - dontKnow = iota - doNeedPragma - doNotNeedPragma - ) - needPragma := dontKnow - - name = "" - e = nil - for hasAttr { - var key, val []byte - key, val, hasAttr = z.TagAttr() - ks := string(key) - if attrList[ks] { - continue - } - attrList[ks] = true - for i, c := range val { - if 'A' <= c && c <= 'Z' { - val[i] = c + 0x20 - } - } - - switch ks { - case "http-equiv": - if bytes.Equal(val, []byte("content-type")) { - gotPragma = true - } - - case "content": - if e == nil { - name = fromMetaElement(string(val)) - if name != "" { - e, name = Lookup(name) - if e != nil { - needPragma = doNeedPragma - } - } - } - - case "charset": - e, name = Lookup(string(val)) - needPragma = doNotNeedPragma - } - } - - if needPragma == dontKnow || needPragma == doNeedPragma && !gotPragma { - continue - } - - if strings.HasPrefix(name, "utf-16") { - name = "utf-8" - e = encoding.Nop - } - - if e != nil { - return e, name - } - } - } -} - -func fromMetaElement(s string) string { - for s != "" { - csLoc := strings.Index(s, "charset") - if csLoc == -1 { - return "" - } - s = s[csLoc+len("charset"):] - s = strings.TrimLeft(s, " \t\n\f\r") - if !strings.HasPrefix(s, "=") { - continue - } - s = s[1:] - s = strings.TrimLeft(s, " \t\n\f\r") - if s == "" { - return "" - } - if q := s[0]; q == '"' || q == '\'' { - s = s[1:] - closeQuote := strings.IndexRune(s, rune(q)) - if closeQuote == -1 { - return "" - } - return s[:closeQuote] - } - - end := strings.IndexAny(s, "; \t\n\f\r") - if end == -1 { - end = len(s) - } - return s[:end] - } - return "" -} - -var boms = []struct { - bom []byte - enc string -}{ - {[]byte{0xfe, 0xff}, "utf-16be"}, - {[]byte{0xff, 0xfe}, "utf-16le"}, - {[]byte{0xef, 0xbb, 0xbf}, "utf-8"}, -} diff --git a/vendor/golang.org/x/net/http2/.gitignore b/vendor/golang.org/x/net/http2/.gitignore deleted file mode 100644 index 190f12234..000000000 --- a/vendor/golang.org/x/net/http2/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -h2i/h2i diff --git a/vendor/golang.org/x/net/http2/Dockerfile b/vendor/golang.org/x/net/http2/Dockerfile deleted file mode 100644 index 53fc52579..000000000 --- a/vendor/golang.org/x/net/http2/Dockerfile +++ /dev/null @@ -1,51 +0,0 @@ -# -# This Dockerfile builds a recent curl with HTTP/2 client support, using -# a recent nghttp2 build. -# -# See the Makefile for how to tag it. If Docker and that image is found, the -# Go tests use this curl binary for integration tests. -# - -FROM ubuntu:trusty - -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y git-core build-essential wget - -RUN apt-get install -y --no-install-recommends \ - autotools-dev libtool pkg-config zlib1g-dev \ - libcunit1-dev libssl-dev libxml2-dev libevent-dev \ - automake autoconf - -# The list of packages nghttp2 recommends for h2load: -RUN apt-get install -y --no-install-recommends make binutils \ - autoconf automake autotools-dev \ - libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \ - libev-dev libevent-dev libjansson-dev libjemalloc-dev \ - cython python3.4-dev python-setuptools - -# Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached: -ENV NGHTTP2_VER 895da9a -RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git - -WORKDIR /root/nghttp2 -RUN git reset --hard $NGHTTP2_VER -RUN autoreconf -i -RUN automake -RUN autoconf -RUN ./configure -RUN make -RUN make install - -WORKDIR /root -RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz -RUN tar -zxvf curl-7.45.0.tar.gz -WORKDIR /root/curl-7.45.0 -RUN ./configure --with-ssl --with-nghttp2=/usr/local -RUN make -RUN make install -RUN ldconfig - -CMD ["-h"] -ENTRYPOINT ["/usr/local/bin/curl"] - diff --git a/vendor/golang.org/x/net/http2/Makefile b/vendor/golang.org/x/net/http2/Makefile deleted file mode 100644 index 55fd826f7..000000000 --- a/vendor/golang.org/x/net/http2/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -curlimage: - docker build -t gohttp2/curl . - diff --git a/vendor/golang.org/x/net/http2/README b/vendor/golang.org/x/net/http2/README deleted file mode 100644 index 360d5aa37..000000000 --- a/vendor/golang.org/x/net/http2/README +++ /dev/null @@ -1,20 +0,0 @@ -This is a work-in-progress HTTP/2 implementation for Go. - -It will eventually live in the Go standard library and won't require -any changes to your code to use. It will just be automatic. - -Status: - -* The server support is pretty good. A few things are missing - but are being worked on. -* The client work has just started but shares a lot of code - is coming along much quicker. - -Docs are at https://godoc.org/golang.org/x/net/http2 - -Demo test server at https://http2.golang.org/ - -Help & bug reports welcome! - -Contributing: https://golang.org/doc/contribute.html -Bugs: https://golang.org/issue/new?title=x/net/http2:+ diff --git a/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go deleted file mode 100644 index 772ea5e92..000000000 --- a/vendor/golang.org/x/net/http2/client_conn_pool.go +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Transport code's client connection pooling. - -package http2 - -import ( - "crypto/tls" - "net/http" - "sync" -) - -// ClientConnPool manages a pool of HTTP/2 client connections. -type ClientConnPool interface { - GetClientConn(req *http.Request, addr string) (*ClientConn, error) - MarkDead(*ClientConn) -} - -// TODO: use singleflight for dialing and addConnCalls? -type clientConnPool struct { - t *Transport - - mu sync.Mutex // TODO: maybe switch to RWMutex - // TODO: add support for sharing conns based on cert names - // (e.g. share conn for googleapis.com and appspot.com) - conns map[string][]*ClientConn // key is host:port - dialing map[string]*dialCall // currently in-flight dials - keys map[*ClientConn][]string - addConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls -} - -func (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { - return p.getClientConn(req, addr, dialOnMiss) -} - -const ( - dialOnMiss = true - noDialOnMiss = false -) - -func (p *clientConnPool) getClientConn(_ *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) { - p.mu.Lock() - for _, cc := range p.conns[addr] { - if cc.CanTakeNewRequest() { - p.mu.Unlock() - return cc, nil - } - } - if !dialOnMiss { - p.mu.Unlock() - return nil, ErrNoCachedConn - } - call := p.getStartDialLocked(addr) - p.mu.Unlock() - <-call.done - return call.res, call.err -} - -// dialCall is an in-flight Transport dial call to a host. -type dialCall struct { - p *clientConnPool - done chan struct{} // closed when done - res *ClientConn // valid after done is closed - err error // valid after done is closed -} - -// requires p.mu is held. -func (p *clientConnPool) getStartDialLocked(addr string) *dialCall { - if call, ok := p.dialing[addr]; ok { - // A dial is already in-flight. Don't start another. - return call - } - call := &dialCall{p: p, done: make(chan struct{})} - if p.dialing == nil { - p.dialing = make(map[string]*dialCall) - } - p.dialing[addr] = call - go call.dial(addr) - return call -} - -// run in its own goroutine. -func (c *dialCall) dial(addr string) { - c.res, c.err = c.p.t.dialClientConn(addr) - close(c.done) - - c.p.mu.Lock() - delete(c.p.dialing, addr) - if c.err == nil { - c.p.addConnLocked(addr, c.res) - } - c.p.mu.Unlock() -} - -// addConnIfNeeded makes a NewClientConn out of c if a connection for key doesn't -// already exist. It coalesces concurrent calls with the same key. -// This is used by the http1 Transport code when it creates a new connection. Because -// the http1 Transport doesn't de-dup TCP dials to outbound hosts (because it doesn't know -// the protocol), it can get into a situation where it has multiple TLS connections. -// This code decides which ones live or die. -// The return value used is whether c was used. -// c is never closed. -func (p *clientConnPool) addConnIfNeeded(key string, t *Transport, c *tls.Conn) (used bool, err error) { - p.mu.Lock() - for _, cc := range p.conns[key] { - if cc.CanTakeNewRequest() { - p.mu.Unlock() - return false, nil - } - } - call, dup := p.addConnCalls[key] - if !dup { - if p.addConnCalls == nil { - p.addConnCalls = make(map[string]*addConnCall) - } - call = &addConnCall{ - p: p, - done: make(chan struct{}), - } - p.addConnCalls[key] = call - go call.run(t, key, c) - } - p.mu.Unlock() - - <-call.done - if call.err != nil { - return false, call.err - } - return !dup, nil -} - -type addConnCall struct { - p *clientConnPool - done chan struct{} // closed when done - err error -} - -func (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) { - cc, err := t.NewClientConn(tc) - - p := c.p - p.mu.Lock() - if err != nil { - c.err = err - } else { - p.addConnLocked(key, cc) - } - delete(p.addConnCalls, key) - p.mu.Unlock() - close(c.done) -} - -func (p *clientConnPool) addConn(key string, cc *ClientConn) { - p.mu.Lock() - p.addConnLocked(key, cc) - p.mu.Unlock() -} - -// p.mu must be held -func (p *clientConnPool) addConnLocked(key string, cc *ClientConn) { - for _, v := range p.conns[key] { - if v == cc { - return - } - } - if p.conns == nil { - p.conns = make(map[string][]*ClientConn) - } - if p.keys == nil { - p.keys = make(map[*ClientConn][]string) - } - p.conns[key] = append(p.conns[key], cc) - p.keys[cc] = append(p.keys[cc], key) -} - -func (p *clientConnPool) MarkDead(cc *ClientConn) { - p.mu.Lock() - defer p.mu.Unlock() - for _, key := range p.keys[cc] { - vv, ok := p.conns[key] - if !ok { - continue - } - newList := filterOutClientConn(vv, cc) - if len(newList) > 0 { - p.conns[key] = newList - } else { - delete(p.conns, key) - } - } - delete(p.keys, cc) -} - -func (p *clientConnPool) closeIdleConnections() { - p.mu.Lock() - defer p.mu.Unlock() - // TODO: don't close a cc if it was just added to the pool - // milliseconds ago and has never been used. There's currently - // a small race window with the HTTP/1 Transport's integration - // where it can add an idle conn just before using it, and - // somebody else can concurrently call CloseIdleConns and - // break some caller's RoundTrip. - for _, vv := range p.conns { - for _, cc := range vv { - cc.closeIfIdle() - } - } -} - -func filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn { - out := in[:0] - for _, v := range in { - if v != exclude { - out = append(out, v) - } - } - // If we filtered it out, zero out the last item to prevent - // the GC from seeing it. - if len(in) != len(out) { - in[len(in)-1] = nil - } - return out -} diff --git a/vendor/golang.org/x/net/http2/configure_transport.go b/vendor/golang.org/x/net/http2/configure_transport.go deleted file mode 100644 index daa17f5d4..000000000 --- a/vendor/golang.org/x/net/http2/configure_transport.go +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.6 - -package http2 - -import ( - "crypto/tls" - "fmt" - "net/http" -) - -func configureTransport(t1 *http.Transport) (*Transport, error) { - connPool := new(clientConnPool) - t2 := &Transport{ - ConnPool: noDialClientConnPool{connPool}, - t1: t1, - } - connPool.t = t2 - if err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil { - return nil, err - } - if t1.TLSClientConfig == nil { - t1.TLSClientConfig = new(tls.Config) - } - if !strSliceContains(t1.TLSClientConfig.NextProtos, "h2") { - t1.TLSClientConfig.NextProtos = append([]string{"h2"}, t1.TLSClientConfig.NextProtos...) - } - if !strSliceContains(t1.TLSClientConfig.NextProtos, "http/1.1") { - t1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, "http/1.1") - } - upgradeFn := func(authority string, c *tls.Conn) http.RoundTripper { - addr := authorityAddr(authority) - if used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil { - go c.Close() - return erringRoundTripper{err} - } else if !used { - // Turns out we don't need this c. - // For example, two goroutines made requests to the same host - // at the same time, both kicking off TCP dials. (since protocol - // was unknown) - go c.Close() - } - return t2 - } - if m := t1.TLSNextProto; len(m) == 0 { - t1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{ - "h2": upgradeFn, - } - } else { - m["h2"] = upgradeFn - } - return t2, nil -} - -// registerHTTPSProtocol calls Transport.RegisterProtocol but -// convering panics into errors. -func registerHTTPSProtocol(t *http.Transport, rt http.RoundTripper) (err error) { - defer func() { - if e := recover(); e != nil { - err = fmt.Errorf("%v", e) - } - }() - t.RegisterProtocol("https", rt) - return nil -} - -// noDialClientConnPool is an implementation of http2.ClientConnPool -// which never dials. We let the HTTP/1.1 client dial and use its TLS -// connection instead. -type noDialClientConnPool struct{ *clientConnPool } - -func (p noDialClientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { - return p.getClientConn(req, addr, noDialOnMiss) -} - -// noDialH2RoundTripper is a RoundTripper which only tries to complete the request -// if there's already has a cached connection to the host. -type noDialH2RoundTripper struct{ t *Transport } - -func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - res, err := rt.t.RoundTrip(req) - if err == ErrNoCachedConn { - return nil, http.ErrSkipAltProtocol - } - return res, err -} diff --git a/vendor/golang.org/x/net/http2/errors.go b/vendor/golang.org/x/net/http2/errors.go deleted file mode 100644 index f320b2c09..000000000 --- a/vendor/golang.org/x/net/http2/errors.go +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import "fmt" - -// An ErrCode is an unsigned 32-bit error code as defined in the HTTP/2 spec. -type ErrCode uint32 - -const ( - ErrCodeNo ErrCode = 0x0 - ErrCodeProtocol ErrCode = 0x1 - ErrCodeInternal ErrCode = 0x2 - ErrCodeFlowControl ErrCode = 0x3 - ErrCodeSettingsTimeout ErrCode = 0x4 - ErrCodeStreamClosed ErrCode = 0x5 - ErrCodeFrameSize ErrCode = 0x6 - ErrCodeRefusedStream ErrCode = 0x7 - ErrCodeCancel ErrCode = 0x8 - ErrCodeCompression ErrCode = 0x9 - ErrCodeConnect ErrCode = 0xa - ErrCodeEnhanceYourCalm ErrCode = 0xb - ErrCodeInadequateSecurity ErrCode = 0xc - ErrCodeHTTP11Required ErrCode = 0xd -) - -var errCodeName = map[ErrCode]string{ - ErrCodeNo: "NO_ERROR", - ErrCodeProtocol: "PROTOCOL_ERROR", - ErrCodeInternal: "INTERNAL_ERROR", - ErrCodeFlowControl: "FLOW_CONTROL_ERROR", - ErrCodeSettingsTimeout: "SETTINGS_TIMEOUT", - ErrCodeStreamClosed: "STREAM_CLOSED", - ErrCodeFrameSize: "FRAME_SIZE_ERROR", - ErrCodeRefusedStream: "REFUSED_STREAM", - ErrCodeCancel: "CANCEL", - ErrCodeCompression: "COMPRESSION_ERROR", - ErrCodeConnect: "CONNECT_ERROR", - ErrCodeEnhanceYourCalm: "ENHANCE_YOUR_CALM", - ErrCodeInadequateSecurity: "INADEQUATE_SECURITY", - ErrCodeHTTP11Required: "HTTP_1_1_REQUIRED", -} - -func (e ErrCode) String() string { - if s, ok := errCodeName[e]; ok { - return s - } - return fmt.Sprintf("unknown error code 0x%x", uint32(e)) -} - -// ConnectionError is an error that results in the termination of the -// entire connection. -type ConnectionError ErrCode - -func (e ConnectionError) Error() string { return fmt.Sprintf("connection error: %s", ErrCode(e)) } - -// StreamError is an error that only affects one stream within an -// HTTP/2 connection. -type StreamError struct { - StreamID uint32 - Code ErrCode -} - -func (e StreamError) Error() string { - return fmt.Sprintf("stream error: stream ID %d; %v", e.StreamID, e.Code) -} - -// 6.9.1 The Flow Control Window -// "If a sender receives a WINDOW_UPDATE that causes a flow control -// window to exceed this maximum it MUST terminate either the stream -// or the connection, as appropriate. For streams, [...]; for the -// connection, a GOAWAY frame with a FLOW_CONTROL_ERROR code." -type goAwayFlowError struct{} - -func (goAwayFlowError) Error() string { return "connection exceeded flow control window size" } - -// connErrorReason wraps a ConnectionError with an informative error about why it occurs. - -// Errors of this type are only returned by the frame parser functions -// and converted into ConnectionError(ErrCodeProtocol). -type connError struct { - Code ErrCode - Reason string -} - -func (e connError) Error() string { - return fmt.Sprintf("http2: connection error: %v: %v", e.Code, e.Reason) -} diff --git a/vendor/golang.org/x/net/http2/fixed_buffer.go b/vendor/golang.org/x/net/http2/fixed_buffer.go deleted file mode 100644 index 47da0f0bf..000000000 --- a/vendor/golang.org/x/net/http2/fixed_buffer.go +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import ( - "errors" -) - -// fixedBuffer is an io.ReadWriter backed by a fixed size buffer. -// It never allocates, but moves old data as new data is written. -type fixedBuffer struct { - buf []byte - r, w int -} - -var ( - errReadEmpty = errors.New("read from empty fixedBuffer") - errWriteFull = errors.New("write on full fixedBuffer") -) - -// Read copies bytes from the buffer into p. -// It is an error to read when no data is available. -func (b *fixedBuffer) Read(p []byte) (n int, err error) { - if b.r == b.w { - return 0, errReadEmpty - } - n = copy(p, b.buf[b.r:b.w]) - b.r += n - if b.r == b.w { - b.r = 0 - b.w = 0 - } - return n, nil -} - -// Len returns the number of bytes of the unread portion of the buffer. -func (b *fixedBuffer) Len() int { - return b.w - b.r -} - -// Write copies bytes from p into the buffer. -// It is an error to write more data than the buffer can hold. -func (b *fixedBuffer) Write(p []byte) (n int, err error) { - // Slide existing data to beginning. - if b.r > 0 && len(p) > len(b.buf)-b.w { - copy(b.buf, b.buf[b.r:b.w]) - b.w -= b.r - b.r = 0 - } - - // Write new data. - n = copy(b.buf[b.w:], p) - b.w += n - if n < len(p) { - err = errWriteFull - } - return n, err -} diff --git a/vendor/golang.org/x/net/http2/flow.go b/vendor/golang.org/x/net/http2/flow.go deleted file mode 100644 index 957de2542..000000000 --- a/vendor/golang.org/x/net/http2/flow.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Flow control - -package http2 - -// flow is the flow control window's size. -type flow struct { - // n is the number of DATA bytes we're allowed to send. - // A flow is kept both on a conn and a per-stream. - n int32 - - // conn points to the shared connection-level flow that is - // shared by all streams on that conn. It is nil for the flow - // that's on the conn directly. - conn *flow -} - -func (f *flow) setConnFlow(cf *flow) { f.conn = cf } - -func (f *flow) available() int32 { - n := f.n - if f.conn != nil && f.conn.n < n { - n = f.conn.n - } - return n -} - -func (f *flow) take(n int32) { - if n > f.available() { - panic("internal error: took too much") - } - f.n -= n - if f.conn != nil { - f.conn.n -= n - } -} - -// add adds n bytes (positive or negative) to the flow control window. -// It returns false if the sum would exceed 2^31-1. -func (f *flow) add(n int32) bool { - remain := (1<<31 - 1) - f.n - if n > remain { - return false - } - f.n += n - return true -} diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go deleted file mode 100644 index e1e837cc8..000000000 --- a/vendor/golang.org/x/net/http2/frame.go +++ /dev/null @@ -1,1269 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import ( - "bytes" - "encoding/binary" - "errors" - "fmt" - "io" - "log" - "sync" -) - -const frameHeaderLen = 9 - -var padZeros = make([]byte, 255) // zeros for padding - -// A FrameType is a registered frame type as defined in -// http://http2.github.io/http2-spec/#rfc.section.11.2 -type FrameType uint8 - -const ( - FrameData FrameType = 0x0 - FrameHeaders FrameType = 0x1 - FramePriority FrameType = 0x2 - FrameRSTStream FrameType = 0x3 - FrameSettings FrameType = 0x4 - FramePushPromise FrameType = 0x5 - FramePing FrameType = 0x6 - FrameGoAway FrameType = 0x7 - FrameWindowUpdate FrameType = 0x8 - FrameContinuation FrameType = 0x9 -) - -var frameName = map[FrameType]string{ - FrameData: "DATA", - FrameHeaders: "HEADERS", - FramePriority: "PRIORITY", - FrameRSTStream: "RST_STREAM", - FrameSettings: "SETTINGS", - FramePushPromise: "PUSH_PROMISE", - FramePing: "PING", - FrameGoAway: "GOAWAY", - FrameWindowUpdate: "WINDOW_UPDATE", - FrameContinuation: "CONTINUATION", -} - -func (t FrameType) String() string { - if s, ok := frameName[t]; ok { - return s - } - return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", uint8(t)) -} - -// Flags is a bitmask of HTTP/2 flags. -// The meaning of flags varies depending on the frame type. -type Flags uint8 - -// Has reports whether f contains all (0 or more) flags in v. -func (f Flags) Has(v Flags) bool { - return (f & v) == v -} - -// Frame-specific FrameHeader flag bits. -const ( - // Data Frame - FlagDataEndStream Flags = 0x1 - FlagDataPadded Flags = 0x8 - - // Headers Frame - FlagHeadersEndStream Flags = 0x1 - FlagHeadersEndHeaders Flags = 0x4 - FlagHeadersPadded Flags = 0x8 - FlagHeadersPriority Flags = 0x20 - - // Settings Frame - FlagSettingsAck Flags = 0x1 - - // Ping Frame - FlagPingAck Flags = 0x1 - - // Continuation Frame - FlagContinuationEndHeaders Flags = 0x4 - - FlagPushPromiseEndHeaders Flags = 0x4 - FlagPushPromisePadded Flags = 0x8 -) - -var flagName = map[FrameType]map[Flags]string{ - FrameData: { - FlagDataEndStream: "END_STREAM", - FlagDataPadded: "PADDED", - }, - FrameHeaders: { - FlagHeadersEndStream: "END_STREAM", - FlagHeadersEndHeaders: "END_HEADERS", - FlagHeadersPadded: "PADDED", - FlagHeadersPriority: "PRIORITY", - }, - FrameSettings: { - FlagSettingsAck: "ACK", - }, - FramePing: { - FlagPingAck: "ACK", - }, - FrameContinuation: { - FlagContinuationEndHeaders: "END_HEADERS", - }, - FramePushPromise: { - FlagPushPromiseEndHeaders: "END_HEADERS", - FlagPushPromisePadded: "PADDED", - }, -} - -// a frameParser parses a frame given its FrameHeader and payload -// bytes. The length of payload will always equal fh.Length (which -// might be 0). -type frameParser func(fh FrameHeader, payload []byte) (Frame, error) - -var frameParsers = map[FrameType]frameParser{ - FrameData: parseDataFrame, - FrameHeaders: parseHeadersFrame, - FramePriority: parsePriorityFrame, - FrameRSTStream: parseRSTStreamFrame, - FrameSettings: parseSettingsFrame, - FramePushPromise: parsePushPromise, - FramePing: parsePingFrame, - FrameGoAway: parseGoAwayFrame, - FrameWindowUpdate: parseWindowUpdateFrame, - FrameContinuation: parseContinuationFrame, -} - -func typeFrameParser(t FrameType) frameParser { - if f := frameParsers[t]; f != nil { - return f - } - return parseUnknownFrame -} - -// A FrameHeader is the 9 byte header of all HTTP/2 frames. -// -// See http://http2.github.io/http2-spec/#FrameHeader -type FrameHeader struct { - valid bool // caller can access []byte fields in the Frame - - // Type is the 1 byte frame type. There are ten standard frame - // types, but extension frame types may be written by WriteRawFrame - // and will be returned by ReadFrame (as UnknownFrame). - Type FrameType - - // Flags are the 1 byte of 8 potential bit flags per frame. - // They are specific to the frame type. - Flags Flags - - // Length is the length of the frame, not including the 9 byte header. - // The maximum size is one byte less than 16MB (uint24), but only - // frames up to 16KB are allowed without peer agreement. - Length uint32 - - // StreamID is which stream this frame is for. Certain frames - // are not stream-specific, in which case this field is 0. - StreamID uint32 -} - -// Header returns h. It exists so FrameHeaders can be embedded in other -// specific frame types and implement the Frame interface. -func (h FrameHeader) Header() FrameHeader { return h } - -func (h FrameHeader) String() string { - var buf bytes.Buffer - buf.WriteString("[FrameHeader ") - h.writeDebug(&buf) - buf.WriteByte(']') - return buf.String() -} - -func (h FrameHeader) writeDebug(buf *bytes.Buffer) { - buf.WriteString(h.Type.String()) - if h.Flags != 0 { - buf.WriteString(" flags=") - set := 0 - for i := uint8(0); i < 8; i++ { - if h.Flags&(1< 1 { - buf.WriteByte('|') - } - name := flagName[h.Type][Flags(1<>24), - byte(streamID>>16), - byte(streamID>>8), - byte(streamID)) -} - -func (f *Framer) endWrite() error { - // Now that we know the final size, fill in the FrameHeader in - // the space previously reserved for it. Abuse append. - length := len(f.wbuf) - frameHeaderLen - if length >= (1 << 24) { - return ErrFrameTooLarge - } - _ = append(f.wbuf[:0], - byte(length>>16), - byte(length>>8), - byte(length)) - if logFrameWrites { - f.logWrite() - } - - n, err := f.w.Write(f.wbuf) - if err == nil && n != len(f.wbuf) { - err = io.ErrShortWrite - } - return err -} - -func (f *Framer) logWrite() { - if f.debugFramer == nil { - f.debugFramerBuf = new(bytes.Buffer) - f.debugFramer = NewFramer(nil, f.debugFramerBuf) - f.debugFramer.logReads = false // we log it ourselves, saying "wrote" below - // Let us read anything, even if we accidentally wrote it - // in the wrong order: - f.debugFramer.AllowIllegalReads = true - } - f.debugFramerBuf.Write(f.wbuf) - fr, err := f.debugFramer.ReadFrame() - if err != nil { - log.Printf("http2: Framer %p: failed to decode just-written frame", f) - return - } - log.Printf("http2: Framer %p: wrote %v", f, summarizeFrame(fr)) -} - -func (f *Framer) writeByte(v byte) { f.wbuf = append(f.wbuf, v) } -func (f *Framer) writeBytes(v []byte) { f.wbuf = append(f.wbuf, v...) } -func (f *Framer) writeUint16(v uint16) { f.wbuf = append(f.wbuf, byte(v>>8), byte(v)) } -func (f *Framer) writeUint32(v uint32) { - f.wbuf = append(f.wbuf, byte(v>>24), byte(v>>16), byte(v>>8), byte(v)) -} - -const ( - minMaxFrameSize = 1 << 14 - maxFrameSize = 1<<24 - 1 -) - -// NewFramer returns a Framer that writes frames to w and reads them from r. -func NewFramer(w io.Writer, r io.Reader) *Framer { - fr := &Framer{ - w: w, - r: r, - logReads: logFrameReads, - } - fr.getReadBuf = func(size uint32) []byte { - if cap(fr.readBuf) >= int(size) { - return fr.readBuf[:size] - } - fr.readBuf = make([]byte, size) - return fr.readBuf - } - fr.SetMaxReadFrameSize(maxFrameSize) - return fr -} - -// SetMaxReadFrameSize sets the maximum size of a frame -// that will be read by a subsequent call to ReadFrame. -// It is the caller's responsibility to advertise this -// limit with a SETTINGS frame. -func (fr *Framer) SetMaxReadFrameSize(v uint32) { - if v > maxFrameSize { - v = maxFrameSize - } - fr.maxReadSize = v -} - -// ErrFrameTooLarge is returned from Framer.ReadFrame when the peer -// sends a frame that is larger than declared with SetMaxReadFrameSize. -var ErrFrameTooLarge = errors.New("http2: frame too large") - -// terminalReadFrameError reports whether err is an unrecoverable -// error from ReadFrame and no other frames should be read. -func terminalReadFrameError(err error) bool { - if _, ok := err.(StreamError); ok { - return false - } - return err != nil -} - -// ReadFrame reads a single frame. The returned Frame is only valid -// until the next call to ReadFrame. -// -// If the frame is larger than previously set with SetMaxReadFrameSize, the -// returned error is ErrFrameTooLarge. Other errors may be of type -// ConnectionError, StreamError, or anything else from from the underlying -// reader. -func (fr *Framer) ReadFrame() (Frame, error) { - if fr.lastFrame != nil { - fr.lastFrame.invalidate() - } - fh, err := readFrameHeader(fr.headerBuf[:], fr.r) - if err != nil { - return nil, err - } - if fh.Length > fr.maxReadSize { - return nil, ErrFrameTooLarge - } - payload := fr.getReadBuf(fh.Length) - if _, err := io.ReadFull(fr.r, payload); err != nil { - return nil, err - } - f, err := typeFrameParser(fh.Type)(fh, payload) - if err != nil { - if ce, ok := err.(connError); ok { - return nil, fr.connError(ce.Code, ce.Reason) - } - return nil, err - } - if err := fr.checkFrameOrder(f); err != nil { - return nil, err - } - if fr.logReads { - log.Printf("http2: Framer %p: read %v", fr, summarizeFrame(f)) - } - return f, nil -} - -// connError returns ConnectionError(code) but first -// stashes away a public reason to the caller can optionally relay it -// to the peer before hanging up on them. This might help others debug -// their implementations. -func (fr *Framer) connError(code ErrCode, reason string) error { - fr.errReason = reason - return ConnectionError(code) -} - -// checkFrameOrder reports an error if f is an invalid frame to return -// next from ReadFrame. Mostly it checks whether HEADERS and -// CONTINUATION frames are contiguous. -func (fr *Framer) checkFrameOrder(f Frame) error { - last := fr.lastFrame - fr.lastFrame = f - if fr.AllowIllegalReads { - return nil - } - - fh := f.Header() - if fr.lastHeaderStream != 0 { - if fh.Type != FrameContinuation { - return fr.connError(ErrCodeProtocol, - fmt.Sprintf("got %s for stream %d; expected CONTINUATION following %s for stream %d", - fh.Type, fh.StreamID, - last.Header().Type, fr.lastHeaderStream)) - } - if fh.StreamID != fr.lastHeaderStream { - return fr.connError(ErrCodeProtocol, - fmt.Sprintf("got CONTINUATION for stream %d; expected stream %d", - fh.StreamID, fr.lastHeaderStream)) - } - } else if fh.Type == FrameContinuation { - return fr.connError(ErrCodeProtocol, fmt.Sprintf("unexpected CONTINUATION for stream %d", fh.StreamID)) - } - - switch fh.Type { - case FrameHeaders, FrameContinuation: - if fh.Flags.Has(FlagHeadersEndHeaders) { - fr.lastHeaderStream = 0 - } else { - fr.lastHeaderStream = fh.StreamID - } - } - - return nil -} - -// A DataFrame conveys arbitrary, variable-length sequences of octets -// associated with a stream. -// See http://http2.github.io/http2-spec/#rfc.section.6.1 -type DataFrame struct { - FrameHeader - data []byte -} - -func (f *DataFrame) StreamEnded() bool { - return f.FrameHeader.Flags.Has(FlagDataEndStream) -} - -// Data returns the frame's data octets, not including any padding -// size byte or padding suffix bytes. -// The caller must not retain the returned memory past the next -// call to ReadFrame. -func (f *DataFrame) Data() []byte { - f.checkValid() - return f.data -} - -func parseDataFrame(fh FrameHeader, payload []byte) (Frame, error) { - if fh.StreamID == 0 { - // DATA frames MUST be associated with a stream. If a - // DATA frame is received whose stream identifier - // field is 0x0, the recipient MUST respond with a - // connection error (Section 5.4.1) of type - // PROTOCOL_ERROR. - return nil, connError{ErrCodeProtocol, "DATA frame with stream ID 0"} - } - f := &DataFrame{ - FrameHeader: fh, - } - var padSize byte - if fh.Flags.Has(FlagDataPadded) { - var err error - payload, padSize, err = readByte(payload) - if err != nil { - return nil, err - } - } - if int(padSize) > len(payload) { - // If the length of the padding is greater than the - // length of the frame payload, the recipient MUST - // treat this as a connection error. - // Filed: https://github.com/http2/http2-spec/issues/610 - return nil, connError{ErrCodeProtocol, "pad size larger than data payload"} - } - f.data = payload[:len(payload)-int(padSize)] - return f, nil -} - -var errStreamID = errors.New("invalid streamid") - -func validStreamID(streamID uint32) bool { - return streamID != 0 && streamID&(1<<31) == 0 -} - -// WriteData writes a DATA frame. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error { - // TODO: ignoring padding for now. will add when somebody cares. - if !validStreamID(streamID) && !f.AllowIllegalWrites { - return errStreamID - } - var flags Flags - if endStream { - flags |= FlagDataEndStream - } - f.startWrite(FrameData, flags, streamID) - f.wbuf = append(f.wbuf, data...) - return f.endWrite() -} - -// A SettingsFrame conveys configuration parameters that affect how -// endpoints communicate, such as preferences and constraints on peer -// behavior. -// -// See http://http2.github.io/http2-spec/#SETTINGS -type SettingsFrame struct { - FrameHeader - p []byte -} - -func parseSettingsFrame(fh FrameHeader, p []byte) (Frame, error) { - if fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 { - // When this (ACK 0x1) bit is set, the payload of the - // SETTINGS frame MUST be empty. Receipt of a - // SETTINGS frame with the ACK flag set and a length - // field value other than 0 MUST be treated as a - // connection error (Section 5.4.1) of type - // FRAME_SIZE_ERROR. - return nil, ConnectionError(ErrCodeFrameSize) - } - if fh.StreamID != 0 { - // SETTINGS frames always apply to a connection, - // never a single stream. The stream identifier for a - // SETTINGS frame MUST be zero (0x0). If an endpoint - // receives a SETTINGS frame whose stream identifier - // field is anything other than 0x0, the endpoint MUST - // respond with a connection error (Section 5.4.1) of - // type PROTOCOL_ERROR. - return nil, ConnectionError(ErrCodeProtocol) - } - if len(p)%6 != 0 { - // Expecting even number of 6 byte settings. - return nil, ConnectionError(ErrCodeFrameSize) - } - f := &SettingsFrame{FrameHeader: fh, p: p} - if v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 { - // Values above the maximum flow control window size of 2^31 - 1 MUST - // be treated as a connection error (Section 5.4.1) of type - // FLOW_CONTROL_ERROR. - return nil, ConnectionError(ErrCodeFlowControl) - } - return f, nil -} - -func (f *SettingsFrame) IsAck() bool { - return f.FrameHeader.Flags.Has(FlagSettingsAck) -} - -func (f *SettingsFrame) Value(s SettingID) (v uint32, ok bool) { - f.checkValid() - buf := f.p - for len(buf) > 0 { - settingID := SettingID(binary.BigEndian.Uint16(buf[:2])) - if settingID == s { - return binary.BigEndian.Uint32(buf[2:6]), true - } - buf = buf[6:] - } - return 0, false -} - -// ForeachSetting runs fn for each setting. -// It stops and returns the first error. -func (f *SettingsFrame) ForeachSetting(fn func(Setting) error) error { - f.checkValid() - buf := f.p - for len(buf) > 0 { - if err := fn(Setting{ - SettingID(binary.BigEndian.Uint16(buf[:2])), - binary.BigEndian.Uint32(buf[2:6]), - }); err != nil { - return err - } - buf = buf[6:] - } - return nil -} - -// WriteSettings writes a SETTINGS frame with zero or more settings -// specified and the ACK bit not set. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WriteSettings(settings ...Setting) error { - f.startWrite(FrameSettings, 0, 0) - for _, s := range settings { - f.writeUint16(uint16(s.ID)) - f.writeUint32(s.Val) - } - return f.endWrite() -} - -// WriteSettings writes an empty SETTINGS frame with the ACK bit set. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WriteSettingsAck() error { - f.startWrite(FrameSettings, FlagSettingsAck, 0) - return f.endWrite() -} - -// A PingFrame is a mechanism for measuring a minimal round trip time -// from the sender, as well as determining whether an idle connection -// is still functional. -// See http://http2.github.io/http2-spec/#rfc.section.6.7 -type PingFrame struct { - FrameHeader - Data [8]byte -} - -func (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) } - -func parsePingFrame(fh FrameHeader, payload []byte) (Frame, error) { - if len(payload) != 8 { - return nil, ConnectionError(ErrCodeFrameSize) - } - if fh.StreamID != 0 { - return nil, ConnectionError(ErrCodeProtocol) - } - f := &PingFrame{FrameHeader: fh} - copy(f.Data[:], payload) - return f, nil -} - -func (f *Framer) WritePing(ack bool, data [8]byte) error { - var flags Flags - if ack { - flags = FlagPingAck - } - f.startWrite(FramePing, flags, 0) - f.writeBytes(data[:]) - return f.endWrite() -} - -// A GoAwayFrame informs the remote peer to stop creating streams on this connection. -// See http://http2.github.io/http2-spec/#rfc.section.6.8 -type GoAwayFrame struct { - FrameHeader - LastStreamID uint32 - ErrCode ErrCode - debugData []byte -} - -// DebugData returns any debug data in the GOAWAY frame. Its contents -// are not defined. -// The caller must not retain the returned memory past the next -// call to ReadFrame. -func (f *GoAwayFrame) DebugData() []byte { - f.checkValid() - return f.debugData -} - -func parseGoAwayFrame(fh FrameHeader, p []byte) (Frame, error) { - if fh.StreamID != 0 { - return nil, ConnectionError(ErrCodeProtocol) - } - if len(p) < 8 { - return nil, ConnectionError(ErrCodeFrameSize) - } - return &GoAwayFrame{ - FrameHeader: fh, - LastStreamID: binary.BigEndian.Uint32(p[:4]) & (1<<31 - 1), - ErrCode: ErrCode(binary.BigEndian.Uint32(p[4:8])), - debugData: p[8:], - }, nil -} - -func (f *Framer) WriteGoAway(maxStreamID uint32, code ErrCode, debugData []byte) error { - f.startWrite(FrameGoAway, 0, 0) - f.writeUint32(maxStreamID & (1<<31 - 1)) - f.writeUint32(uint32(code)) - f.writeBytes(debugData) - return f.endWrite() -} - -// An UnknownFrame is the frame type returned when the frame type is unknown -// or no specific frame type parser exists. -type UnknownFrame struct { - FrameHeader - p []byte -} - -// Payload returns the frame's payload (after the header). It is not -// valid to call this method after a subsequent call to -// Framer.ReadFrame, nor is it valid to retain the returned slice. -// The memory is owned by the Framer and is invalidated when the next -// frame is read. -func (f *UnknownFrame) Payload() []byte { - f.checkValid() - return f.p -} - -func parseUnknownFrame(fh FrameHeader, p []byte) (Frame, error) { - return &UnknownFrame{fh, p}, nil -} - -// A WindowUpdateFrame is used to implement flow control. -// See http://http2.github.io/http2-spec/#rfc.section.6.9 -type WindowUpdateFrame struct { - FrameHeader - Increment uint32 // never read with high bit set -} - -func parseWindowUpdateFrame(fh FrameHeader, p []byte) (Frame, error) { - if len(p) != 4 { - return nil, ConnectionError(ErrCodeFrameSize) - } - inc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit - if inc == 0 { - // A receiver MUST treat the receipt of a - // WINDOW_UPDATE frame with an flow control window - // increment of 0 as a stream error (Section 5.4.2) of - // type PROTOCOL_ERROR; errors on the connection flow - // control window MUST be treated as a connection - // error (Section 5.4.1). - if fh.StreamID == 0 { - return nil, ConnectionError(ErrCodeProtocol) - } - return nil, StreamError{fh.StreamID, ErrCodeProtocol} - } - return &WindowUpdateFrame{ - FrameHeader: fh, - Increment: inc, - }, nil -} - -// WriteWindowUpdate writes a WINDOW_UPDATE frame. -// The increment value must be between 1 and 2,147,483,647, inclusive. -// If the Stream ID is zero, the window update applies to the -// connection as a whole. -func (f *Framer) WriteWindowUpdate(streamID, incr uint32) error { - // "The legal range for the increment to the flow control window is 1 to 2^31-1 (2,147,483,647) octets." - if (incr < 1 || incr > 2147483647) && !f.AllowIllegalWrites { - return errors.New("illegal window increment value") - } - f.startWrite(FrameWindowUpdate, 0, streamID) - f.writeUint32(incr) - return f.endWrite() -} - -// A HeadersFrame is used to open a stream and additionally carries a -// header block fragment. -type HeadersFrame struct { - FrameHeader - - // Priority is set if FlagHeadersPriority is set in the FrameHeader. - Priority PriorityParam - - headerFragBuf []byte // not owned -} - -func (f *HeadersFrame) HeaderBlockFragment() []byte { - f.checkValid() - return f.headerFragBuf -} - -func (f *HeadersFrame) HeadersEnded() bool { - return f.FrameHeader.Flags.Has(FlagHeadersEndHeaders) -} - -func (f *HeadersFrame) StreamEnded() bool { - return f.FrameHeader.Flags.Has(FlagHeadersEndStream) -} - -func (f *HeadersFrame) HasPriority() bool { - return f.FrameHeader.Flags.Has(FlagHeadersPriority) -} - -func parseHeadersFrame(fh FrameHeader, p []byte) (_ Frame, err error) { - hf := &HeadersFrame{ - FrameHeader: fh, - } - if fh.StreamID == 0 { - // HEADERS frames MUST be associated with a stream. If a HEADERS frame - // is received whose stream identifier field is 0x0, the recipient MUST - // respond with a connection error (Section 5.4.1) of type - // PROTOCOL_ERROR. - return nil, connError{ErrCodeProtocol, "HEADERS frame with stream ID 0"} - } - var padLength uint8 - if fh.Flags.Has(FlagHeadersPadded) { - if p, padLength, err = readByte(p); err != nil { - return - } - } - if fh.Flags.Has(FlagHeadersPriority) { - var v uint32 - p, v, err = readUint32(p) - if err != nil { - return nil, err - } - hf.Priority.StreamDep = v & 0x7fffffff - hf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set - p, hf.Priority.Weight, err = readByte(p) - if err != nil { - return nil, err - } - } - if len(p)-int(padLength) <= 0 { - return nil, StreamError{fh.StreamID, ErrCodeProtocol} - } - hf.headerFragBuf = p[:len(p)-int(padLength)] - return hf, nil -} - -// HeadersFrameParam are the parameters for writing a HEADERS frame. -type HeadersFrameParam struct { - // StreamID is the required Stream ID to initiate. - StreamID uint32 - // BlockFragment is part (or all) of a Header Block. - BlockFragment []byte - - // EndStream indicates that the header block is the last that - // the endpoint will send for the identified stream. Setting - // this flag causes the stream to enter one of "half closed" - // states. - EndStream bool - - // EndHeaders indicates that this frame contains an entire - // header block and is not followed by any - // CONTINUATION frames. - EndHeaders bool - - // PadLength is the optional number of bytes of zeros to add - // to this frame. - PadLength uint8 - - // Priority, if non-zero, includes stream priority information - // in the HEADER frame. - Priority PriorityParam -} - -// WriteHeaders writes a single HEADERS frame. -// -// This is a low-level header writing method. Encoding headers and -// splitting them into any necessary CONTINUATION frames is handled -// elsewhere. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WriteHeaders(p HeadersFrameParam) error { - if !validStreamID(p.StreamID) && !f.AllowIllegalWrites { - return errStreamID - } - var flags Flags - if p.PadLength != 0 { - flags |= FlagHeadersPadded - } - if p.EndStream { - flags |= FlagHeadersEndStream - } - if p.EndHeaders { - flags |= FlagHeadersEndHeaders - } - if !p.Priority.IsZero() { - flags |= FlagHeadersPriority - } - f.startWrite(FrameHeaders, flags, p.StreamID) - if p.PadLength != 0 { - f.writeByte(p.PadLength) - } - if !p.Priority.IsZero() { - v := p.Priority.StreamDep - if !validStreamID(v) && !f.AllowIllegalWrites { - return errors.New("invalid dependent stream id") - } - if p.Priority.Exclusive { - v |= 1 << 31 - } - f.writeUint32(v) - f.writeByte(p.Priority.Weight) - } - f.wbuf = append(f.wbuf, p.BlockFragment...) - f.wbuf = append(f.wbuf, padZeros[:p.PadLength]...) - return f.endWrite() -} - -// A PriorityFrame specifies the sender-advised priority of a stream. -// See http://http2.github.io/http2-spec/#rfc.section.6.3 -type PriorityFrame struct { - FrameHeader - PriorityParam -} - -// PriorityParam are the stream prioritzation parameters. -type PriorityParam struct { - // StreamDep is a 31-bit stream identifier for the - // stream that this stream depends on. Zero means no - // dependency. - StreamDep uint32 - - // Exclusive is whether the dependency is exclusive. - Exclusive bool - - // Weight is the stream's zero-indexed weight. It should be - // set together with StreamDep, or neither should be set. Per - // the spec, "Add one to the value to obtain a weight between - // 1 and 256." - Weight uint8 -} - -func (p PriorityParam) IsZero() bool { - return p == PriorityParam{} -} - -func parsePriorityFrame(fh FrameHeader, payload []byte) (Frame, error) { - if fh.StreamID == 0 { - return nil, connError{ErrCodeProtocol, "PRIORITY frame with stream ID 0"} - } - if len(payload) != 5 { - return nil, connError{ErrCodeFrameSize, fmt.Sprintf("PRIORITY frame payload size was %d; want 5", len(payload))} - } - v := binary.BigEndian.Uint32(payload[:4]) - streamID := v & 0x7fffffff // mask off high bit - return &PriorityFrame{ - FrameHeader: fh, - PriorityParam: PriorityParam{ - Weight: payload[4], - StreamDep: streamID, - Exclusive: streamID != v, // was high bit set? - }, - }, nil -} - -// WritePriority writes a PRIORITY frame. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WritePriority(streamID uint32, p PriorityParam) error { - if !validStreamID(streamID) && !f.AllowIllegalWrites { - return errStreamID - } - f.startWrite(FramePriority, 0, streamID) - v := p.StreamDep - if p.Exclusive { - v |= 1 << 31 - } - f.writeUint32(v) - f.writeByte(p.Weight) - return f.endWrite() -} - -// A RSTStreamFrame allows for abnormal termination of a stream. -// See http://http2.github.io/http2-spec/#rfc.section.6.4 -type RSTStreamFrame struct { - FrameHeader - ErrCode ErrCode -} - -func parseRSTStreamFrame(fh FrameHeader, p []byte) (Frame, error) { - if len(p) != 4 { - return nil, ConnectionError(ErrCodeFrameSize) - } - if fh.StreamID == 0 { - return nil, ConnectionError(ErrCodeProtocol) - } - return &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil -} - -// WriteRSTStream writes a RST_STREAM frame. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WriteRSTStream(streamID uint32, code ErrCode) error { - if !validStreamID(streamID) && !f.AllowIllegalWrites { - return errStreamID - } - f.startWrite(FrameRSTStream, 0, streamID) - f.writeUint32(uint32(code)) - return f.endWrite() -} - -// A ContinuationFrame is used to continue a sequence of header block fragments. -// See http://http2.github.io/http2-spec/#rfc.section.6.10 -type ContinuationFrame struct { - FrameHeader - headerFragBuf []byte -} - -func parseContinuationFrame(fh FrameHeader, p []byte) (Frame, error) { - if fh.StreamID == 0 { - return nil, connError{ErrCodeProtocol, "CONTINUATION frame with stream ID 0"} - } - return &ContinuationFrame{fh, p}, nil -} - -func (f *ContinuationFrame) HeaderBlockFragment() []byte { - f.checkValid() - return f.headerFragBuf -} - -func (f *ContinuationFrame) HeadersEnded() bool { - return f.FrameHeader.Flags.Has(FlagContinuationEndHeaders) -} - -// WriteContinuation writes a CONTINUATION frame. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WriteContinuation(streamID uint32, endHeaders bool, headerBlockFragment []byte) error { - if !validStreamID(streamID) && !f.AllowIllegalWrites { - return errStreamID - } - var flags Flags - if endHeaders { - flags |= FlagContinuationEndHeaders - } - f.startWrite(FrameContinuation, flags, streamID) - f.wbuf = append(f.wbuf, headerBlockFragment...) - return f.endWrite() -} - -// A PushPromiseFrame is used to initiate a server stream. -// See http://http2.github.io/http2-spec/#rfc.section.6.6 -type PushPromiseFrame struct { - FrameHeader - PromiseID uint32 - headerFragBuf []byte // not owned -} - -func (f *PushPromiseFrame) HeaderBlockFragment() []byte { - f.checkValid() - return f.headerFragBuf -} - -func (f *PushPromiseFrame) HeadersEnded() bool { - return f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders) -} - -func parsePushPromise(fh FrameHeader, p []byte) (_ Frame, err error) { - pp := &PushPromiseFrame{ - FrameHeader: fh, - } - if pp.StreamID == 0 { - // PUSH_PROMISE frames MUST be associated with an existing, - // peer-initiated stream. The stream identifier of a - // PUSH_PROMISE frame indicates the stream it is associated - // with. If the stream identifier field specifies the value - // 0x0, a recipient MUST respond with a connection error - // (Section 5.4.1) of type PROTOCOL_ERROR. - return nil, ConnectionError(ErrCodeProtocol) - } - // The PUSH_PROMISE frame includes optional padding. - // Padding fields and flags are identical to those defined for DATA frames - var padLength uint8 - if fh.Flags.Has(FlagPushPromisePadded) { - if p, padLength, err = readByte(p); err != nil { - return - } - } - - p, pp.PromiseID, err = readUint32(p) - if err != nil { - return - } - pp.PromiseID = pp.PromiseID & (1<<31 - 1) - - if int(padLength) > len(p) { - // like the DATA frame, error out if padding is longer than the body. - return nil, ConnectionError(ErrCodeProtocol) - } - pp.headerFragBuf = p[:len(p)-int(padLength)] - return pp, nil -} - -// PushPromiseParam are the parameters for writing a PUSH_PROMISE frame. -type PushPromiseParam struct { - // StreamID is the required Stream ID to initiate. - StreamID uint32 - - // PromiseID is the required Stream ID which this - // Push Promises - PromiseID uint32 - - // BlockFragment is part (or all) of a Header Block. - BlockFragment []byte - - // EndHeaders indicates that this frame contains an entire - // header block and is not followed by any - // CONTINUATION frames. - EndHeaders bool - - // PadLength is the optional number of bytes of zeros to add - // to this frame. - PadLength uint8 -} - -// WritePushPromise writes a single PushPromise Frame. -// -// As with Header Frames, This is the low level call for writing -// individual frames. Continuation frames are handled elsewhere. -// -// It will perform exactly one Write to the underlying Writer. -// It is the caller's responsibility to not call other Write methods concurrently. -func (f *Framer) WritePushPromise(p PushPromiseParam) error { - if !validStreamID(p.StreamID) && !f.AllowIllegalWrites { - return errStreamID - } - var flags Flags - if p.PadLength != 0 { - flags |= FlagPushPromisePadded - } - if p.EndHeaders { - flags |= FlagPushPromiseEndHeaders - } - f.startWrite(FramePushPromise, flags, p.StreamID) - if p.PadLength != 0 { - f.writeByte(p.PadLength) - } - if !validStreamID(p.PromiseID) && !f.AllowIllegalWrites { - return errStreamID - } - f.writeUint32(p.PromiseID) - f.wbuf = append(f.wbuf, p.BlockFragment...) - f.wbuf = append(f.wbuf, padZeros[:p.PadLength]...) - return f.endWrite() -} - -// WriteRawFrame writes a raw frame. This can be used to write -// extension frames unknown to this package. -func (f *Framer) WriteRawFrame(t FrameType, flags Flags, streamID uint32, payload []byte) error { - f.startWrite(t, flags, streamID) - f.writeBytes(payload) - return f.endWrite() -} - -func readByte(p []byte) (remain []byte, b byte, err error) { - if len(p) == 0 { - return nil, 0, io.ErrUnexpectedEOF - } - return p[1:], p[0], nil -} - -func readUint32(p []byte) (remain []byte, v uint32, err error) { - if len(p) < 4 { - return nil, 0, io.ErrUnexpectedEOF - } - return p[4:], binary.BigEndian.Uint32(p[:4]), nil -} - -type streamEnder interface { - StreamEnded() bool -} - -type headersEnder interface { - HeadersEnded() bool -} - -func summarizeFrame(f Frame) string { - var buf bytes.Buffer - f.Header().writeDebug(&buf) - switch f := f.(type) { - case *SettingsFrame: - n := 0 - f.ForeachSetting(func(s Setting) error { - n++ - if n == 1 { - buf.WriteString(", settings:") - } - fmt.Fprintf(&buf, " %v=%v,", s.ID, s.Val) - return nil - }) - if n > 0 { - buf.Truncate(buf.Len() - 1) // remove trailing comma - } - case *DataFrame: - data := f.Data() - const max = 256 - if len(data) > max { - data = data[:max] - } - fmt.Fprintf(&buf, " data=%q", data) - if len(f.Data()) > max { - fmt.Fprintf(&buf, " (%d bytes omitted)", len(f.Data())-max) - } - case *WindowUpdateFrame: - if f.StreamID == 0 { - buf.WriteString(" (conn)") - } - fmt.Fprintf(&buf, " incr=%v", f.Increment) - case *PingFrame: - fmt.Fprintf(&buf, " ping=%q", f.Data[:]) - case *GoAwayFrame: - fmt.Fprintf(&buf, " LastStreamID=%v ErrCode=%v Debug=%q", - f.LastStreamID, f.ErrCode, f.debugData) - case *RSTStreamFrame: - fmt.Fprintf(&buf, " ErrCode=%v", f.ErrCode) - } - return buf.String() -} diff --git a/vendor/golang.org/x/net/http2/go15.go b/vendor/golang.org/x/net/http2/go15.go deleted file mode 100644 index f0a562414..000000000 --- a/vendor/golang.org/x/net/http2/go15.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.5 - -package http2 - -import "net/http" - -func requestCancel(req *http.Request) <-chan struct{} { return req.Cancel } diff --git a/vendor/golang.org/x/net/http2/gotrack.go b/vendor/golang.org/x/net/http2/gotrack.go deleted file mode 100644 index 9933c9f8c..000000000 --- a/vendor/golang.org/x/net/http2/gotrack.go +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Defensive debug-only utility to track that functions run on the -// goroutine that they're supposed to. - -package http2 - -import ( - "bytes" - "errors" - "fmt" - "os" - "runtime" - "strconv" - "sync" -) - -var DebugGoroutines = os.Getenv("DEBUG_HTTP2_GOROUTINES") == "1" - -type goroutineLock uint64 - -func newGoroutineLock() goroutineLock { - if !DebugGoroutines { - return 0 - } - return goroutineLock(curGoroutineID()) -} - -func (g goroutineLock) check() { - if !DebugGoroutines { - return - } - if curGoroutineID() != uint64(g) { - panic("running on the wrong goroutine") - } -} - -func (g goroutineLock) checkNotOn() { - if !DebugGoroutines { - return - } - if curGoroutineID() == uint64(g) { - panic("running on the wrong goroutine") - } -} - -var goroutineSpace = []byte("goroutine ") - -func curGoroutineID() uint64 { - bp := littleBuf.Get().(*[]byte) - defer littleBuf.Put(bp) - b := *bp - b = b[:runtime.Stack(b, false)] - // Parse the 4707 out of "goroutine 4707 [" - b = bytes.TrimPrefix(b, goroutineSpace) - i := bytes.IndexByte(b, ' ') - if i < 0 { - panic(fmt.Sprintf("No space found in %q", b)) - } - b = b[:i] - n, err := parseUintBytes(b, 10, 64) - if err != nil { - panic(fmt.Sprintf("Failed to parse goroutine ID out of %q: %v", b, err)) - } - return n -} - -var littleBuf = sync.Pool{ - New: func() interface{} { - buf := make([]byte, 64) - return &buf - }, -} - -// parseUintBytes is like strconv.ParseUint, but using a []byte. -func parseUintBytes(s []byte, base int, bitSize int) (n uint64, err error) { - var cutoff, maxVal uint64 - - if bitSize == 0 { - bitSize = int(strconv.IntSize) - } - - s0 := s - switch { - case len(s) < 1: - err = strconv.ErrSyntax - goto Error - - case 2 <= base && base <= 36: - // valid base; nothing to do - - case base == 0: - // Look for octal, hex prefix. - switch { - case s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'): - base = 16 - s = s[2:] - if len(s) < 1 { - err = strconv.ErrSyntax - goto Error - } - case s[0] == '0': - base = 8 - default: - base = 10 - } - - default: - err = errors.New("invalid base " + strconv.Itoa(base)) - goto Error - } - - n = 0 - cutoff = cutoff64(base) - maxVal = 1<= base { - n = 0 - err = strconv.ErrSyntax - goto Error - } - - if n >= cutoff { - // n*base overflows - n = 1<<64 - 1 - err = strconv.ErrRange - goto Error - } - n *= uint64(base) - - n1 := n + uint64(v) - if n1 < n || n1 > maxVal { - // n+v overflows - n = 1<<64 - 1 - err = strconv.ErrRange - goto Error - } - n = n1 - } - - return n, nil - -Error: - return n, &strconv.NumError{Func: "ParseUint", Num: string(s0), Err: err} -} - -// Return the first number n such that n*base >= 1<<64. -func cutoff64(base int) uint64 { - if base < 2 { - return 0 - } - return (1<<64-1)/uint64(base) + 1 -} diff --git a/vendor/golang.org/x/net/http2/headermap.go b/vendor/golang.org/x/net/http2/headermap.go deleted file mode 100644 index c2805f6ac..000000000 --- a/vendor/golang.org/x/net/http2/headermap.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import ( - "net/http" - "strings" -) - -var ( - commonLowerHeader = map[string]string{} // Go-Canonical-Case -> lower-case - commonCanonHeader = map[string]string{} // lower-case -> Go-Canonical-Case -) - -func init() { - for _, v := range []string{ - "accept", - "accept-charset", - "accept-encoding", - "accept-language", - "accept-ranges", - "age", - "access-control-allow-origin", - "allow", - "authorization", - "cache-control", - "content-disposition", - "content-encoding", - "content-language", - "content-length", - "content-location", - "content-range", - "content-type", - "cookie", - "date", - "etag", - "expect", - "expires", - "from", - "host", - "if-match", - "if-modified-since", - "if-none-match", - "if-unmodified-since", - "last-modified", - "link", - "location", - "max-forwards", - "proxy-authenticate", - "proxy-authorization", - "range", - "referer", - "refresh", - "retry-after", - "server", - "set-cookie", - "strict-transport-security", - "trailer", - "transfer-encoding", - "user-agent", - "vary", - "via", - "www-authenticate", - } { - chk := http.CanonicalHeaderKey(v) - commonLowerHeader[chk] = v - commonCanonHeader[v] = chk - } -} - -func lowerHeader(v string) string { - if s, ok := commonLowerHeader[v]; ok { - return s - } - return strings.ToLower(v) -} diff --git a/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go deleted file mode 100644 index 80d621cf3..000000000 --- a/vendor/golang.org/x/net/http2/hpack/encode.go +++ /dev/null @@ -1,251 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package hpack - -import ( - "io" -) - -const ( - uint32Max = ^uint32(0) - initialHeaderTableSize = 4096 -) - -type Encoder struct { - dynTab dynamicTable - // minSize is the minimum table size set by - // SetMaxDynamicTableSize after the previous Header Table Size - // Update. - minSize uint32 - // maxSizeLimit is the maximum table size this encoder - // supports. This will protect the encoder from too large - // size. - maxSizeLimit uint32 - // tableSizeUpdate indicates whether "Header Table Size - // Update" is required. - tableSizeUpdate bool - w io.Writer - buf []byte -} - -// NewEncoder returns a new Encoder which performs HPACK encoding. An -// encoded data is written to w. -func NewEncoder(w io.Writer) *Encoder { - e := &Encoder{ - minSize: uint32Max, - maxSizeLimit: initialHeaderTableSize, - tableSizeUpdate: false, - w: w, - } - e.dynTab.setMaxSize(initialHeaderTableSize) - return e -} - -// WriteField encodes f into a single Write to e's underlying Writer. -// This function may also produce bytes for "Header Table Size Update" -// if necessary. If produced, it is done before encoding f. -func (e *Encoder) WriteField(f HeaderField) error { - e.buf = e.buf[:0] - - if e.tableSizeUpdate { - e.tableSizeUpdate = false - if e.minSize < e.dynTab.maxSize { - e.buf = appendTableSize(e.buf, e.minSize) - } - e.minSize = uint32Max - e.buf = appendTableSize(e.buf, e.dynTab.maxSize) - } - - idx, nameValueMatch := e.searchTable(f) - if nameValueMatch { - e.buf = appendIndexed(e.buf, idx) - } else { - indexing := e.shouldIndex(f) - if indexing { - e.dynTab.add(f) - } - - if idx == 0 { - e.buf = appendNewName(e.buf, f, indexing) - } else { - e.buf = appendIndexedName(e.buf, f, idx, indexing) - } - } - n, err := e.w.Write(e.buf) - if err == nil && n != len(e.buf) { - err = io.ErrShortWrite - } - return err -} - -// searchTable searches f in both stable and dynamic header tables. -// The static header table is searched first. Only when there is no -// exact match for both name and value, the dynamic header table is -// then searched. If there is no match, i is 0. If both name and value -// match, i is the matched index and nameValueMatch becomes true. If -// only name matches, i points to that index and nameValueMatch -// becomes false. -func (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) { - for idx, hf := range staticTable { - if !constantTimeStringCompare(hf.Name, f.Name) { - continue - } - if i == 0 { - i = uint64(idx + 1) - } - if f.Sensitive { - continue - } - if !constantTimeStringCompare(hf.Value, f.Value) { - continue - } - i = uint64(idx + 1) - nameValueMatch = true - return - } - - j, nameValueMatch := e.dynTab.search(f) - if nameValueMatch || (i == 0 && j != 0) { - i = j + uint64(len(staticTable)) - } - return -} - -// SetMaxDynamicTableSize changes the dynamic header table size to v. -// The actual size is bounded by the value passed to -// SetMaxDynamicTableSizeLimit. -func (e *Encoder) SetMaxDynamicTableSize(v uint32) { - if v > e.maxSizeLimit { - v = e.maxSizeLimit - } - if v < e.minSize { - e.minSize = v - } - e.tableSizeUpdate = true - e.dynTab.setMaxSize(v) -} - -// SetMaxDynamicTableSizeLimit changes the maximum value that can be -// specified in SetMaxDynamicTableSize to v. By default, it is set to -// 4096, which is the same size of the default dynamic header table -// size described in HPACK specification. If the current maximum -// dynamic header table size is strictly greater than v, "Header Table -// Size Update" will be done in the next WriteField call and the -// maximum dynamic header table size is truncated to v. -func (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) { - e.maxSizeLimit = v - if e.dynTab.maxSize > v { - e.tableSizeUpdate = true - e.dynTab.setMaxSize(v) - } -} - -// shouldIndex reports whether f should be indexed. -func (e *Encoder) shouldIndex(f HeaderField) bool { - return !f.Sensitive && f.size() <= e.dynTab.maxSize -} - -// appendIndexed appends index i, as encoded in "Indexed Header Field" -// representation, to dst and returns the extended buffer. -func appendIndexed(dst []byte, i uint64) []byte { - first := len(dst) - dst = appendVarInt(dst, 7, i) - dst[first] |= 0x80 - return dst -} - -// appendNewName appends f, as encoded in one of "Literal Header field -// - New Name" representation variants, to dst and returns the -// extended buffer. -// -// If f.Sensitive is true, "Never Indexed" representation is used. If -// f.Sensitive is false and indexing is true, "Inremental Indexing" -// representation is used. -func appendNewName(dst []byte, f HeaderField, indexing bool) []byte { - dst = append(dst, encodeTypeByte(indexing, f.Sensitive)) - dst = appendHpackString(dst, f.Name) - return appendHpackString(dst, f.Value) -} - -// appendIndexedName appends f and index i referring indexed name -// entry, as encoded in one of "Literal Header field - Indexed Name" -// representation variants, to dst and returns the extended buffer. -// -// If f.Sensitive is true, "Never Indexed" representation is used. If -// f.Sensitive is false and indexing is true, "Incremental Indexing" -// representation is used. -func appendIndexedName(dst []byte, f HeaderField, i uint64, indexing bool) []byte { - first := len(dst) - var n byte - if indexing { - n = 6 - } else { - n = 4 - } - dst = appendVarInt(dst, n, i) - dst[first] |= encodeTypeByte(indexing, f.Sensitive) - return appendHpackString(dst, f.Value) -} - -// appendTableSize appends v, as encoded in "Header Table Size Update" -// representation, to dst and returns the extended buffer. -func appendTableSize(dst []byte, v uint32) []byte { - first := len(dst) - dst = appendVarInt(dst, 5, uint64(v)) - dst[first] |= 0x20 - return dst -} - -// appendVarInt appends i, as encoded in variable integer form using n -// bit prefix, to dst and returns the extended buffer. -// -// See -// http://http2.github.io/http2-spec/compression.html#integer.representation -func appendVarInt(dst []byte, n byte, i uint64) []byte { - k := uint64((1 << n) - 1) - if i < k { - return append(dst, byte(i)) - } - dst = append(dst, byte(k)) - i -= k - for ; i >= 128; i >>= 7 { - dst = append(dst, byte(0x80|(i&0x7f))) - } - return append(dst, byte(i)) -} - -// appendHpackString appends s, as encoded in "String Literal" -// representation, to dst and returns the the extended buffer. -// -// s will be encoded in Huffman codes only when it produces strictly -// shorter byte string. -func appendHpackString(dst []byte, s string) []byte { - huffmanLength := HuffmanEncodeLength(s) - if huffmanLength < uint64(len(s)) { - first := len(dst) - dst = appendVarInt(dst, 7, huffmanLength) - dst = AppendHuffmanString(dst, s) - dst[first] |= 0x80 - } else { - dst = appendVarInt(dst, 7, uint64(len(s))) - dst = append(dst, s...) - } - return dst -} - -// encodeTypeByte returns type byte. If sensitive is true, type byte -// for "Never Indexed" representation is returned. If sensitive is -// false and indexing is true, type byte for "Incremental Indexing" -// representation is returned. Otherwise, type byte for "Without -// Indexing" is returned. -func encodeTypeByte(indexing, sensitive bool) byte { - if sensitive { - return 0x10 - } - if indexing { - return 0x40 - } - return 0 -} diff --git a/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go deleted file mode 100644 index 2ea4949ab..000000000 --- a/vendor/golang.org/x/net/http2/hpack/hpack.go +++ /dev/null @@ -1,533 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package hpack implements HPACK, a compression format for -// efficiently representing HTTP header fields in the context of HTTP/2. -// -// See http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09 -package hpack - -import ( - "bytes" - "errors" - "fmt" -) - -// A DecodingError is something the spec defines as a decoding error. -type DecodingError struct { - Err error -} - -func (de DecodingError) Error() string { - return fmt.Sprintf("decoding error: %v", de.Err) -} - -// An InvalidIndexError is returned when an encoder references a table -// entry before the static table or after the end of the dynamic table. -type InvalidIndexError int - -func (e InvalidIndexError) Error() string { - return fmt.Sprintf("invalid indexed representation index %d", int(e)) -} - -// A HeaderField is a name-value pair. Both the name and value are -// treated as opaque sequences of octets. -type HeaderField struct { - Name, Value string - - // Sensitive means that this header field should never be - // indexed. - Sensitive bool -} - -func (hf HeaderField) String() string { - var suffix string - if hf.Sensitive { - suffix = " (sensitive)" - } - return fmt.Sprintf("header field %q = %q%s", hf.Name, hf.Value, suffix) -} - -func (hf *HeaderField) size() uint32 { - // http://http2.github.io/http2-spec/compression.html#rfc.section.4.1 - // "The size of the dynamic table is the sum of the size of - // its entries. The size of an entry is the sum of its name's - // length in octets (as defined in Section 5.2), its value's - // length in octets (see Section 5.2), plus 32. The size of - // an entry is calculated using the length of the name and - // value without any Huffman encoding applied." - - // This can overflow if somebody makes a large HeaderField - // Name and/or Value by hand, but we don't care, because that - // won't happen on the wire because the encoding doesn't allow - // it. - return uint32(len(hf.Name) + len(hf.Value) + 32) -} - -// A Decoder is the decoding context for incremental processing of -// header blocks. -type Decoder struct { - dynTab dynamicTable - emit func(f HeaderField) - - emitEnabled bool // whether calls to emit are enabled - maxStrLen int // 0 means unlimited - - // buf is the unparsed buffer. It's only written to - // saveBuf if it was truncated in the middle of a header - // block. Because it's usually not owned, we can only - // process it under Write. - buf []byte // not owned; only valid during Write - - // saveBuf is previous data passed to Write which we weren't able - // to fully parse before. Unlike buf, we own this data. - saveBuf bytes.Buffer -} - -// NewDecoder returns a new decoder with the provided maximum dynamic -// table size. The emitFunc will be called for each valid field -// parsed, in the same goroutine as calls to Write, before Write returns. -func NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decoder { - d := &Decoder{ - emit: emitFunc, - emitEnabled: true, - } - d.dynTab.allowedMaxSize = maxDynamicTableSize - d.dynTab.setMaxSize(maxDynamicTableSize) - return d -} - -// ErrStringLength is returned by Decoder.Write when the max string length -// (as configured by Decoder.SetMaxStringLength) would be violated. -var ErrStringLength = errors.New("hpack: string too long") - -// SetMaxStringLength sets the maximum size of a HeaderField name or -// value string. If a string exceeds this length (even after any -// decompression), Write will return ErrStringLength. -// A value of 0 means unlimited and is the default from NewDecoder. -func (d *Decoder) SetMaxStringLength(n int) { - d.maxStrLen = n -} - -// SetEmitFunc changes the callback used when new header fields -// are decoded. -// It must be non-nil. It does not affect EmitEnabled. -func (d *Decoder) SetEmitFunc(emitFunc func(f HeaderField)) { - d.emit = emitFunc -} - -// SetEmitEnabled controls whether the emitFunc provided to NewDecoder -// should be called. The default is true. -// -// This facility exists to let servers enforce MAX_HEADER_LIST_SIZE -// while still decoding and keeping in-sync with decoder state, but -// without doing unnecessary decompression or generating unnecessary -// garbage for header fields past the limit. -func (d *Decoder) SetEmitEnabled(v bool) { d.emitEnabled = v } - -// EmitEnabled reports whether calls to the emitFunc provided to NewDecoder -// are currently enabled. The default is true. -func (d *Decoder) EmitEnabled() bool { return d.emitEnabled } - -// TODO: add method *Decoder.Reset(maxSize, emitFunc) to let callers re-use Decoders and their -// underlying buffers for garbage reasons. - -func (d *Decoder) SetMaxDynamicTableSize(v uint32) { - d.dynTab.setMaxSize(v) -} - -// SetAllowedMaxDynamicTableSize sets the upper bound that the encoded -// stream (via dynamic table size updates) may set the maximum size -// to. -func (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) { - d.dynTab.allowedMaxSize = v -} - -type dynamicTable struct { - // ents is the FIFO described at - // http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2 - // The newest (low index) is append at the end, and items are - // evicted from the front. - ents []HeaderField - size uint32 - maxSize uint32 // current maxSize - allowedMaxSize uint32 // maxSize may go up to this, inclusive -} - -func (dt *dynamicTable) setMaxSize(v uint32) { - dt.maxSize = v - dt.evict() -} - -// TODO: change dynamicTable to be a struct with a slice and a size int field, -// per http://http2.github.io/http2-spec/compression.html#rfc.section.4.1: -// -// -// Then make add increment the size. maybe the max size should move from Decoder to -// dynamicTable and add should return an ok bool if there was enough space. -// -// Later we'll need a remove operation on dynamicTable. - -func (dt *dynamicTable) add(f HeaderField) { - dt.ents = append(dt.ents, f) - dt.size += f.size() - dt.evict() -} - -// If we're too big, evict old stuff (front of the slice) -func (dt *dynamicTable) evict() { - base := dt.ents // keep base pointer of slice - for dt.size > dt.maxSize { - dt.size -= dt.ents[0].size() - dt.ents = dt.ents[1:] - } - - // Shift slice contents down if we evicted things. - if len(dt.ents) != len(base) { - copy(base, dt.ents) - dt.ents = base[:len(dt.ents)] - } -} - -// constantTimeStringCompare compares string a and b in a constant -// time manner. -func constantTimeStringCompare(a, b string) bool { - if len(a) != len(b) { - return false - } - - c := byte(0) - - for i := 0; i < len(a); i++ { - c |= a[i] ^ b[i] - } - - return c == 0 -} - -// Search searches f in the table. The return value i is 0 if there is -// no name match. If there is name match or name/value match, i is the -// index of that entry (1-based). If both name and value match, -// nameValueMatch becomes true. -func (dt *dynamicTable) search(f HeaderField) (i uint64, nameValueMatch bool) { - l := len(dt.ents) - for j := l - 1; j >= 0; j-- { - ent := dt.ents[j] - if !constantTimeStringCompare(ent.Name, f.Name) { - continue - } - if i == 0 { - i = uint64(l - j) - } - if f.Sensitive { - continue - } - if !constantTimeStringCompare(ent.Value, f.Value) { - continue - } - i = uint64(l - j) - nameValueMatch = true - return - } - return -} - -func (d *Decoder) maxTableIndex() int { - return len(d.dynTab.ents) + len(staticTable) -} - -func (d *Decoder) at(i uint64) (hf HeaderField, ok bool) { - if i < 1 { - return - } - if i > uint64(d.maxTableIndex()) { - return - } - if i <= uint64(len(staticTable)) { - return staticTable[i-1], true - } - dents := d.dynTab.ents - return dents[len(dents)-(int(i)-len(staticTable))], true -} - -// Decode decodes an entire block. -// -// TODO: remove this method and make it incremental later? This is -// easier for debugging now. -func (d *Decoder) DecodeFull(p []byte) ([]HeaderField, error) { - var hf []HeaderField - saveFunc := d.emit - defer func() { d.emit = saveFunc }() - d.emit = func(f HeaderField) { hf = append(hf, f) } - if _, err := d.Write(p); err != nil { - return nil, err - } - if err := d.Close(); err != nil { - return nil, err - } - return hf, nil -} - -func (d *Decoder) Close() error { - if d.saveBuf.Len() > 0 { - d.saveBuf.Reset() - return DecodingError{errors.New("truncated headers")} - } - return nil -} - -func (d *Decoder) Write(p []byte) (n int, err error) { - if len(p) == 0 { - // Prevent state machine CPU attacks (making us redo - // work up to the point of finding out we don't have - // enough data) - return - } - // Only copy the data if we have to. Optimistically assume - // that p will contain a complete header block. - if d.saveBuf.Len() == 0 { - d.buf = p - } else { - d.saveBuf.Write(p) - d.buf = d.saveBuf.Bytes() - d.saveBuf.Reset() - } - - for len(d.buf) > 0 { - err = d.parseHeaderFieldRepr() - if err == errNeedMore { - // Extra paranoia, making sure saveBuf won't - // get too large. All the varint and string - // reading code earlier should already catch - // overlong things and return ErrStringLength, - // but keep this as a last resort. - const varIntOverhead = 8 // conservative - if d.maxStrLen != 0 && int64(len(d.buf)) > 2*(int64(d.maxStrLen)+varIntOverhead) { - return 0, ErrStringLength - } - d.saveBuf.Write(d.buf) - return len(p), nil - } - if err != nil { - break - } - } - return len(p), err -} - -// errNeedMore is an internal sentinel error value that means the -// buffer is truncated and we need to read more data before we can -// continue parsing. -var errNeedMore = errors.New("need more data") - -type indexType int - -const ( - indexedTrue indexType = iota - indexedFalse - indexedNever -) - -func (v indexType) indexed() bool { return v == indexedTrue } -func (v indexType) sensitive() bool { return v == indexedNever } - -// returns errNeedMore if there isn't enough data available. -// any other error is fatal. -// consumes d.buf iff it returns nil. -// precondition: must be called with len(d.buf) > 0 -func (d *Decoder) parseHeaderFieldRepr() error { - b := d.buf[0] - switch { - case b&128 != 0: - // Indexed representation. - // High bit set? - // http://http2.github.io/http2-spec/compression.html#rfc.section.6.1 - return d.parseFieldIndexed() - case b&192 == 64: - // 6.2.1 Literal Header Field with Incremental Indexing - // 0b10xxxxxx: top two bits are 10 - // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.1 - return d.parseFieldLiteral(6, indexedTrue) - case b&240 == 0: - // 6.2.2 Literal Header Field without Indexing - // 0b0000xxxx: top four bits are 0000 - // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.2 - return d.parseFieldLiteral(4, indexedFalse) - case b&240 == 16: - // 6.2.3 Literal Header Field never Indexed - // 0b0001xxxx: top four bits are 0001 - // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.3 - return d.parseFieldLiteral(4, indexedNever) - case b&224 == 32: - // 6.3 Dynamic Table Size Update - // Top three bits are '001'. - // http://http2.github.io/http2-spec/compression.html#rfc.section.6.3 - return d.parseDynamicTableSizeUpdate() - } - - return DecodingError{errors.New("invalid encoding")} -} - -// (same invariants and behavior as parseHeaderFieldRepr) -func (d *Decoder) parseFieldIndexed() error { - buf := d.buf - idx, buf, err := readVarInt(7, buf) - if err != nil { - return err - } - hf, ok := d.at(idx) - if !ok { - return DecodingError{InvalidIndexError(idx)} - } - d.buf = buf - return d.callEmit(HeaderField{Name: hf.Name, Value: hf.Value}) -} - -// (same invariants and behavior as parseHeaderFieldRepr) -func (d *Decoder) parseFieldLiteral(n uint8, it indexType) error { - buf := d.buf - nameIdx, buf, err := readVarInt(n, buf) - if err != nil { - return err - } - - var hf HeaderField - wantStr := d.emitEnabled || it.indexed() - if nameIdx > 0 { - ihf, ok := d.at(nameIdx) - if !ok { - return DecodingError{InvalidIndexError(nameIdx)} - } - hf.Name = ihf.Name - } else { - hf.Name, buf, err = d.readString(buf, wantStr) - if err != nil { - return err - } - } - hf.Value, buf, err = d.readString(buf, wantStr) - if err != nil { - return err - } - d.buf = buf - if it.indexed() { - d.dynTab.add(hf) - } - hf.Sensitive = it.sensitive() - return d.callEmit(hf) -} - -func (d *Decoder) callEmit(hf HeaderField) error { - if d.maxStrLen != 0 { - if len(hf.Name) > d.maxStrLen || len(hf.Value) > d.maxStrLen { - return ErrStringLength - } - } - if d.emitEnabled { - d.emit(hf) - } - return nil -} - -// (same invariants and behavior as parseHeaderFieldRepr) -func (d *Decoder) parseDynamicTableSizeUpdate() error { - buf := d.buf - size, buf, err := readVarInt(5, buf) - if err != nil { - return err - } - if size > uint64(d.dynTab.allowedMaxSize) { - return DecodingError{errors.New("dynamic table size update too large")} - } - d.dynTab.setMaxSize(uint32(size)) - d.buf = buf - return nil -} - -var errVarintOverflow = DecodingError{errors.New("varint integer overflow")} - -// readVarInt reads an unsigned variable length integer off the -// beginning of p. n is the parameter as described in -// http://http2.github.io/http2-spec/compression.html#rfc.section.5.1. -// -// n must always be between 1 and 8. -// -// The returned remain buffer is either a smaller suffix of p, or err != nil. -// The error is errNeedMore if p doesn't contain a complete integer. -func readVarInt(n byte, p []byte) (i uint64, remain []byte, err error) { - if n < 1 || n > 8 { - panic("bad n") - } - if len(p) == 0 { - return 0, p, errNeedMore - } - i = uint64(p[0]) - if n < 8 { - i &= (1 << uint64(n)) - 1 - } - if i < (1< 0 { - b := p[0] - p = p[1:] - i += uint64(b&127) << m - if b&128 == 0 { - return i, p, nil - } - m += 7 - if m >= 63 { // TODO: proper overflow check. making this up. - return 0, origP, errVarintOverflow - } - } - return 0, origP, errNeedMore -} - -// readString decodes an hpack string from p. -// -// wantStr is whether s will be used. If false, decompression and -// []byte->string garbage are skipped if s will be ignored -// anyway. This does mean that huffman decoding errors for non-indexed -// strings past the MAX_HEADER_LIST_SIZE are ignored, but the server -// is returning an error anyway, and because they're not indexed, the error -// won't affect the decoding state. -func (d *Decoder) readString(p []byte, wantStr bool) (s string, remain []byte, err error) { - if len(p) == 0 { - return "", p, errNeedMore - } - isHuff := p[0]&128 != 0 - strLen, p, err := readVarInt(7, p) - if err != nil { - return "", p, err - } - if d.maxStrLen != 0 && strLen > uint64(d.maxStrLen) { - return "", nil, ErrStringLength - } - if uint64(len(p)) < strLen { - return "", p, errNeedMore - } - if !isHuff { - if wantStr { - s = string(p[:strLen]) - } - return s, p[strLen:], nil - } - - if wantStr { - buf := bufPool.Get().(*bytes.Buffer) - buf.Reset() // don't trust others - defer bufPool.Put(buf) - if err := huffmanDecode(buf, d.maxStrLen, p[:strLen]); err != nil { - buf.Reset() - return "", nil, err - } - s = buf.String() - buf.Reset() // be nice to GC - } - return s, p[strLen:], nil -} diff --git a/vendor/golang.org/x/net/http2/hpack/huffman.go b/vendor/golang.org/x/net/http2/hpack/huffman.go deleted file mode 100644 index eb4b1f05c..000000000 --- a/vendor/golang.org/x/net/http2/hpack/huffman.go +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package hpack - -import ( - "bytes" - "errors" - "io" - "sync" -) - -var bufPool = sync.Pool{ - New: func() interface{} { return new(bytes.Buffer) }, -} - -// HuffmanDecode decodes the string in v and writes the expanded -// result to w, returning the number of bytes written to w and the -// Write call's return value. At most one Write call is made. -func HuffmanDecode(w io.Writer, v []byte) (int, error) { - buf := bufPool.Get().(*bytes.Buffer) - buf.Reset() - defer bufPool.Put(buf) - if err := huffmanDecode(buf, 0, v); err != nil { - return 0, err - } - return w.Write(buf.Bytes()) -} - -// HuffmanDecodeToString decodes the string in v. -func HuffmanDecodeToString(v []byte) (string, error) { - buf := bufPool.Get().(*bytes.Buffer) - buf.Reset() - defer bufPool.Put(buf) - if err := huffmanDecode(buf, 0, v); err != nil { - return "", err - } - return buf.String(), nil -} - -// ErrInvalidHuffman is returned for errors found decoding -// Huffman-encoded strings. -var ErrInvalidHuffman = errors.New("hpack: invalid Huffman-encoded data") - -// huffmanDecode decodes v to buf. -// If maxLen is greater than 0, attempts to write more to buf than -// maxLen bytes will return ErrStringLength. -func huffmanDecode(buf *bytes.Buffer, maxLen int, v []byte) error { - n := rootHuffmanNode - cur, nbits := uint(0), uint8(0) - for _, b := range v { - cur = cur<<8 | uint(b) - nbits += 8 - for nbits >= 8 { - idx := byte(cur >> (nbits - 8)) - n = n.children[idx] - if n == nil { - return ErrInvalidHuffman - } - if n.children == nil { - if maxLen != 0 && buf.Len() == maxLen { - return ErrStringLength - } - buf.WriteByte(n.sym) - nbits -= n.codeLen - n = rootHuffmanNode - } else { - nbits -= 8 - } - } - } - for nbits > 0 { - n = n.children[byte(cur<<(8-nbits))] - if n.children != nil || n.codeLen > nbits { - break - } - buf.WriteByte(n.sym) - nbits -= n.codeLen - n = rootHuffmanNode - } - return nil -} - -type node struct { - // children is non-nil for internal nodes - children []*node - - // The following are only valid if children is nil: - codeLen uint8 // number of bits that led to the output of sym - sym byte // output symbol -} - -func newInternalNode() *node { - return &node{children: make([]*node, 256)} -} - -var rootHuffmanNode = newInternalNode() - -func init() { - if len(huffmanCodes) != 256 { - panic("unexpected size") - } - for i, code := range huffmanCodes { - addDecoderNode(byte(i), code, huffmanCodeLen[i]) - } -} - -func addDecoderNode(sym byte, code uint32, codeLen uint8) { - cur := rootHuffmanNode - for codeLen > 8 { - codeLen -= 8 - i := uint8(code >> codeLen) - if cur.children[i] == nil { - cur.children[i] = newInternalNode() - } - cur = cur.children[i] - } - shift := 8 - codeLen - start, end := int(uint8(code<> (nbits - rembits)) - dst[len(dst)-1] |= t - } - - return dst -} - -// HuffmanEncodeLength returns the number of bytes required to encode -// s in Huffman codes. The result is round up to byte boundary. -func HuffmanEncodeLength(s string) uint64 { - n := uint64(0) - for i := 0; i < len(s); i++ { - n += uint64(huffmanCodeLen[s[i]]) - } - return (n + 7) / 8 -} - -// appendByteToHuffmanCode appends Huffman code for c to dst and -// returns the extended buffer and the remaining bits in the last -// element. The appending is not byte aligned and the remaining bits -// in the last element of dst is given in rembits. -func appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) { - code := huffmanCodes[c] - nbits := huffmanCodeLen[c] - - for { - if rembits > nbits { - t := uint8(code << (rembits - nbits)) - dst[len(dst)-1] |= t - rembits -= nbits - break - } - - t := uint8(code >> (nbits - rembits)) - dst[len(dst)-1] |= t - - nbits -= rembits - rembits = 8 - - if nbits == 0 { - break - } - - dst = append(dst, 0) - } - - return dst, rembits -} diff --git a/vendor/golang.org/x/net/http2/hpack/tables.go b/vendor/golang.org/x/net/http2/hpack/tables.go deleted file mode 100644 index b9283a023..000000000 --- a/vendor/golang.org/x/net/http2/hpack/tables.go +++ /dev/null @@ -1,352 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package hpack - -func pair(name, value string) HeaderField { - return HeaderField{Name: name, Value: value} -} - -// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B -var staticTable = [...]HeaderField{ - pair(":authority", ""), // index 1 (1-based) - pair(":method", "GET"), - pair(":method", "POST"), - pair(":path", "/"), - pair(":path", "/index.html"), - pair(":scheme", "http"), - pair(":scheme", "https"), - pair(":status", "200"), - pair(":status", "204"), - pair(":status", "206"), - pair(":status", "304"), - pair(":status", "400"), - pair(":status", "404"), - pair(":status", "500"), - pair("accept-charset", ""), - pair("accept-encoding", "gzip, deflate"), - pair("accept-language", ""), - pair("accept-ranges", ""), - pair("accept", ""), - pair("access-control-allow-origin", ""), - pair("age", ""), - pair("allow", ""), - pair("authorization", ""), - pair("cache-control", ""), - pair("content-disposition", ""), - pair("content-encoding", ""), - pair("content-language", ""), - pair("content-length", ""), - pair("content-location", ""), - pair("content-range", ""), - pair("content-type", ""), - pair("cookie", ""), - pair("date", ""), - pair("etag", ""), - pair("expect", ""), - pair("expires", ""), - pair("from", ""), - pair("host", ""), - pair("if-match", ""), - pair("if-modified-since", ""), - pair("if-none-match", ""), - pair("if-range", ""), - pair("if-unmodified-since", ""), - pair("last-modified", ""), - pair("link", ""), - pair("location", ""), - pair("max-forwards", ""), - pair("proxy-authenticate", ""), - pair("proxy-authorization", ""), - pair("range", ""), - pair("referer", ""), - pair("refresh", ""), - pair("retry-after", ""), - pair("server", ""), - pair("set-cookie", ""), - pair("strict-transport-security", ""), - pair("transfer-encoding", ""), - pair("user-agent", ""), - pair("vary", ""), - pair("via", ""), - pair("www-authenticate", ""), -} - -var huffmanCodes = [256]uint32{ - 0x1ff8, - 0x7fffd8, - 0xfffffe2, - 0xfffffe3, - 0xfffffe4, - 0xfffffe5, - 0xfffffe6, - 0xfffffe7, - 0xfffffe8, - 0xffffea, - 0x3ffffffc, - 0xfffffe9, - 0xfffffea, - 0x3ffffffd, - 0xfffffeb, - 0xfffffec, - 0xfffffed, - 0xfffffee, - 0xfffffef, - 0xffffff0, - 0xffffff1, - 0xffffff2, - 0x3ffffffe, - 0xffffff3, - 0xffffff4, - 0xffffff5, - 0xffffff6, - 0xffffff7, - 0xffffff8, - 0xffffff9, - 0xffffffa, - 0xffffffb, - 0x14, - 0x3f8, - 0x3f9, - 0xffa, - 0x1ff9, - 0x15, - 0xf8, - 0x7fa, - 0x3fa, - 0x3fb, - 0xf9, - 0x7fb, - 0xfa, - 0x16, - 0x17, - 0x18, - 0x0, - 0x1, - 0x2, - 0x19, - 0x1a, - 0x1b, - 0x1c, - 0x1d, - 0x1e, - 0x1f, - 0x5c, - 0xfb, - 0x7ffc, - 0x20, - 0xffb, - 0x3fc, - 0x1ffa, - 0x21, - 0x5d, - 0x5e, - 0x5f, - 0x60, - 0x61, - 0x62, - 0x63, - 0x64, - 0x65, - 0x66, - 0x67, - 0x68, - 0x69, - 0x6a, - 0x6b, - 0x6c, - 0x6d, - 0x6e, - 0x6f, - 0x70, - 0x71, - 0x72, - 0xfc, - 0x73, - 0xfd, - 0x1ffb, - 0x7fff0, - 0x1ffc, - 0x3ffc, - 0x22, - 0x7ffd, - 0x3, - 0x23, - 0x4, - 0x24, - 0x5, - 0x25, - 0x26, - 0x27, - 0x6, - 0x74, - 0x75, - 0x28, - 0x29, - 0x2a, - 0x7, - 0x2b, - 0x76, - 0x2c, - 0x8, - 0x9, - 0x2d, - 0x77, - 0x78, - 0x79, - 0x7a, - 0x7b, - 0x7ffe, - 0x7fc, - 0x3ffd, - 0x1ffd, - 0xffffffc, - 0xfffe6, - 0x3fffd2, - 0xfffe7, - 0xfffe8, - 0x3fffd3, - 0x3fffd4, - 0x3fffd5, - 0x7fffd9, - 0x3fffd6, - 0x7fffda, - 0x7fffdb, - 0x7fffdc, - 0x7fffdd, - 0x7fffde, - 0xffffeb, - 0x7fffdf, - 0xffffec, - 0xffffed, - 0x3fffd7, - 0x7fffe0, - 0xffffee, - 0x7fffe1, - 0x7fffe2, - 0x7fffe3, - 0x7fffe4, - 0x1fffdc, - 0x3fffd8, - 0x7fffe5, - 0x3fffd9, - 0x7fffe6, - 0x7fffe7, - 0xffffef, - 0x3fffda, - 0x1fffdd, - 0xfffe9, - 0x3fffdb, - 0x3fffdc, - 0x7fffe8, - 0x7fffe9, - 0x1fffde, - 0x7fffea, - 0x3fffdd, - 0x3fffde, - 0xfffff0, - 0x1fffdf, - 0x3fffdf, - 0x7fffeb, - 0x7fffec, - 0x1fffe0, - 0x1fffe1, - 0x3fffe0, - 0x1fffe2, - 0x7fffed, - 0x3fffe1, - 0x7fffee, - 0x7fffef, - 0xfffea, - 0x3fffe2, - 0x3fffe3, - 0x3fffe4, - 0x7ffff0, - 0x3fffe5, - 0x3fffe6, - 0x7ffff1, - 0x3ffffe0, - 0x3ffffe1, - 0xfffeb, - 0x7fff1, - 0x3fffe7, - 0x7ffff2, - 0x3fffe8, - 0x1ffffec, - 0x3ffffe2, - 0x3ffffe3, - 0x3ffffe4, - 0x7ffffde, - 0x7ffffdf, - 0x3ffffe5, - 0xfffff1, - 0x1ffffed, - 0x7fff2, - 0x1fffe3, - 0x3ffffe6, - 0x7ffffe0, - 0x7ffffe1, - 0x3ffffe7, - 0x7ffffe2, - 0xfffff2, - 0x1fffe4, - 0x1fffe5, - 0x3ffffe8, - 0x3ffffe9, - 0xffffffd, - 0x7ffffe3, - 0x7ffffe4, - 0x7ffffe5, - 0xfffec, - 0xfffff3, - 0xfffed, - 0x1fffe6, - 0x3fffe9, - 0x1fffe7, - 0x1fffe8, - 0x7ffff3, - 0x3fffea, - 0x3fffeb, - 0x1ffffee, - 0x1ffffef, - 0xfffff4, - 0xfffff5, - 0x3ffffea, - 0x7ffff4, - 0x3ffffeb, - 0x7ffffe6, - 0x3ffffec, - 0x3ffffed, - 0x7ffffe7, - 0x7ffffe8, - 0x7ffffe9, - 0x7ffffea, - 0x7ffffeb, - 0xffffffe, - 0x7ffffec, - 0x7ffffed, - 0x7ffffee, - 0x7ffffef, - 0x7fffff0, - 0x3ffffee, -} - -var huffmanCodeLen = [256]uint8{ - 13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28, - 28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6, - 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10, - 13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6, - 15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5, - 6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28, - 20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23, - 24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24, - 22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23, - 21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23, - 26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25, - 19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27, - 20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23, - 26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26, -} diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go deleted file mode 100644 index 4c5e11ac2..000000000 --- a/vendor/golang.org/x/net/http2/http2.go +++ /dev/null @@ -1,429 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package http2 implements the HTTP/2 protocol. -// -// This package is low-level and intended to be used directly by very -// few people. Most users will use it indirectly through the automatic -// use by the net/http package (from Go 1.6 and later). -// For use in earlier Go versions see ConfigureServer. (Transport support -// requires Go 1.6 or later) -// -// See https://http2.github.io/ for more information on HTTP/2. -// -// See https://http2.golang.org/ for a test server running this code. -package http2 - -import ( - "bufio" - "crypto/tls" - "errors" - "fmt" - "io" - "net/http" - "os" - "strconv" - "strings" - "sync" -) - -var ( - VerboseLogs bool - logFrameWrites bool - logFrameReads bool -) - -func init() { - e := os.Getenv("GODEBUG") - if strings.Contains(e, "http2debug=1") { - VerboseLogs = true - } - if strings.Contains(e, "http2debug=2") { - VerboseLogs = true - logFrameWrites = true - logFrameReads = true - } -} - -const ( - // ClientPreface is the string that must be sent by new - // connections from clients. - ClientPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" - - // SETTINGS_MAX_FRAME_SIZE default - // http://http2.github.io/http2-spec/#rfc.section.6.5.2 - initialMaxFrameSize = 16384 - - // NextProtoTLS is the NPN/ALPN protocol negotiated during - // HTTP/2's TLS setup. - NextProtoTLS = "h2" - - // http://http2.github.io/http2-spec/#SettingValues - initialHeaderTableSize = 4096 - - initialWindowSize = 65535 // 6.9.2 Initial Flow Control Window Size - - defaultMaxReadFrameSize = 1 << 20 -) - -var ( - clientPreface = []byte(ClientPreface) -) - -type streamState int - -const ( - stateIdle streamState = iota - stateOpen - stateHalfClosedLocal - stateHalfClosedRemote - stateResvLocal - stateResvRemote - stateClosed -) - -var stateName = [...]string{ - stateIdle: "Idle", - stateOpen: "Open", - stateHalfClosedLocal: "HalfClosedLocal", - stateHalfClosedRemote: "HalfClosedRemote", - stateResvLocal: "ResvLocal", - stateResvRemote: "ResvRemote", - stateClosed: "Closed", -} - -func (st streamState) String() string { - return stateName[st] -} - -// Setting is a setting parameter: which setting it is, and its value. -type Setting struct { - // ID is which setting is being set. - // See http://http2.github.io/http2-spec/#SettingValues - ID SettingID - - // Val is the value. - Val uint32 -} - -func (s Setting) String() string { - return fmt.Sprintf("[%v = %d]", s.ID, s.Val) -} - -// Valid reports whether the setting is valid. -func (s Setting) Valid() error { - // Limits and error codes from 6.5.2 Defined SETTINGS Parameters - switch s.ID { - case SettingEnablePush: - if s.Val != 1 && s.Val != 0 { - return ConnectionError(ErrCodeProtocol) - } - case SettingInitialWindowSize: - if s.Val > 1<<31-1 { - return ConnectionError(ErrCodeFlowControl) - } - case SettingMaxFrameSize: - if s.Val < 16384 || s.Val > 1<<24-1 { - return ConnectionError(ErrCodeProtocol) - } - } - return nil -} - -// A SettingID is an HTTP/2 setting as defined in -// http://http2.github.io/http2-spec/#iana-settings -type SettingID uint16 - -const ( - SettingHeaderTableSize SettingID = 0x1 - SettingEnablePush SettingID = 0x2 - SettingMaxConcurrentStreams SettingID = 0x3 - SettingInitialWindowSize SettingID = 0x4 - SettingMaxFrameSize SettingID = 0x5 - SettingMaxHeaderListSize SettingID = 0x6 -) - -var settingName = map[SettingID]string{ - SettingHeaderTableSize: "HEADER_TABLE_SIZE", - SettingEnablePush: "ENABLE_PUSH", - SettingMaxConcurrentStreams: "MAX_CONCURRENT_STREAMS", - SettingInitialWindowSize: "INITIAL_WINDOW_SIZE", - SettingMaxFrameSize: "MAX_FRAME_SIZE", - SettingMaxHeaderListSize: "MAX_HEADER_LIST_SIZE", -} - -func (s SettingID) String() string { - if v, ok := settingName[s]; ok { - return v - } - return fmt.Sprintf("UNKNOWN_SETTING_%d", uint16(s)) -} - -var ( - errInvalidHeaderFieldName = errors.New("http2: invalid header field name") - errInvalidHeaderFieldValue = errors.New("http2: invalid header field value") -) - -// validHeaderFieldName reports whether v is a valid header field name (key). -// RFC 7230 says: -// header-field = field-name ":" OWS field-value OWS -// field-name = token -// tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / -// "^" / "_" / " -// Further, http2 says: -// "Just as in HTTP/1.x, header field names are strings of ASCII -// characters that are compared in a case-insensitive -// fashion. However, header field names MUST be converted to -// lowercase prior to their encoding in HTTP/2. " -func validHeaderFieldName(v string) bool { - if len(v) == 0 { - return false - } - for _, r := range v { - if int(r) >= len(isTokenTable) || ('A' <= r && r <= 'Z') { - return false - } - if !isTokenTable[byte(r)] { - return false - } - } - return true -} - -// validHeaderFieldValue reports whether v is a valid header field value. -// -// RFC 7230 says: -// field-value = *( field-content / obs-fold ) -// obj-fold = N/A to http2, and deprecated -// field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] -// field-vchar = VCHAR / obs-text -// obs-text = %x80-FF -// VCHAR = "any visible [USASCII] character" -// -// http2 further says: "Similarly, HTTP/2 allows header field values -// that are not valid. While most of the values that can be encoded -// will not alter header field parsing, carriage return (CR, ASCII -// 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII -// 0x0) might be exploited by an attacker if they are translated -// verbatim. Any request or response that contains a character not -// permitted in a header field value MUST be treated as malformed -// (Section 8.1.2.6). Valid characters are defined by the -// field-content ABNF rule in Section 3.2 of [RFC7230]." -// -// This function does not (yet?) properly handle the rejection of -// strings that begin or end with SP or HTAB. -func validHeaderFieldValue(v string) bool { - for i := 0; i < len(v); i++ { - if b := v[i]; b < ' ' && b != '\t' || b == 0x7f { - return false - } - } - return true -} - -var httpCodeStringCommon = map[int]string{} // n -> strconv.Itoa(n) - -func init() { - for i := 100; i <= 999; i++ { - if v := http.StatusText(i); v != "" { - httpCodeStringCommon[i] = strconv.Itoa(i) - } - } -} - -func httpCodeString(code int) string { - if s, ok := httpCodeStringCommon[code]; ok { - return s - } - return strconv.Itoa(code) -} - -// from pkg io -type stringWriter interface { - WriteString(s string) (n int, err error) -} - -// A gate lets two goroutines coordinate their activities. -type gate chan struct{} - -func (g gate) Done() { g <- struct{}{} } -func (g gate) Wait() { <-g } - -// A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed). -type closeWaiter chan struct{} - -// Init makes a closeWaiter usable. -// It exists because so a closeWaiter value can be placed inside a -// larger struct and have the Mutex and Cond's memory in the same -// allocation. -func (cw *closeWaiter) Init() { - *cw = make(chan struct{}) -} - -// Close marks the closeWaiter as closed and unblocks any waiters. -func (cw closeWaiter) Close() { - close(cw) -} - -// Wait waits for the closeWaiter to become closed. -func (cw closeWaiter) Wait() { - <-cw -} - -// bufferedWriter is a buffered writer that writes to w. -// Its buffered writer is lazily allocated as needed, to minimize -// idle memory usage with many connections. -type bufferedWriter struct { - w io.Writer // immutable - bw *bufio.Writer // non-nil when data is buffered -} - -func newBufferedWriter(w io.Writer) *bufferedWriter { - return &bufferedWriter{w: w} -} - -var bufWriterPool = sync.Pool{ - New: func() interface{} { - // TODO: pick something better? this is a bit under - // (3 x typical 1500 byte MTU) at least. - return bufio.NewWriterSize(nil, 4<<10) - }, -} - -func (w *bufferedWriter) Write(p []byte) (n int, err error) { - if w.bw == nil { - bw := bufWriterPool.Get().(*bufio.Writer) - bw.Reset(w.w) - w.bw = bw - } - return w.bw.Write(p) -} - -func (w *bufferedWriter) Flush() error { - bw := w.bw - if bw == nil { - return nil - } - err := bw.Flush() - bw.Reset(nil) - bufWriterPool.Put(bw) - w.bw = nil - return err -} - -func mustUint31(v int32) uint32 { - if v < 0 || v > 2147483647 { - panic("out of range") - } - return uint32(v) -} - -// bodyAllowedForStatus reports whether a given response status code -// permits a body. See RFC2616, section 4.4. -func bodyAllowedForStatus(status int) bool { - switch { - case status >= 100 && status <= 199: - return false - case status == 204: - return false - case status == 304: - return false - } - return true -} - -type httpError struct { - msg string - timeout bool -} - -func (e *httpError) Error() string { return e.msg } -func (e *httpError) Timeout() bool { return e.timeout } -func (e *httpError) Temporary() bool { return true } - -var errTimeout error = &httpError{msg: "http2: timeout awaiting response headers", timeout: true} - -var isTokenTable = [127]bool{ - '!': true, - '#': true, - '$': true, - '%': true, - '&': true, - '\'': true, - '*': true, - '+': true, - '-': true, - '.': true, - '0': true, - '1': true, - '2': true, - '3': true, - '4': true, - '5': true, - '6': true, - '7': true, - '8': true, - '9': true, - 'A': true, - 'B': true, - 'C': true, - 'D': true, - 'E': true, - 'F': true, - 'G': true, - 'H': true, - 'I': true, - 'J': true, - 'K': true, - 'L': true, - 'M': true, - 'N': true, - 'O': true, - 'P': true, - 'Q': true, - 'R': true, - 'S': true, - 'T': true, - 'U': true, - 'W': true, - 'V': true, - 'X': true, - 'Y': true, - 'Z': true, - '^': true, - '_': true, - '`': true, - 'a': true, - 'b': true, - 'c': true, - 'd': true, - 'e': true, - 'f': true, - 'g': true, - 'h': true, - 'i': true, - 'j': true, - 'k': true, - 'l': true, - 'm': true, - 'n': true, - 'o': true, - 'p': true, - 'q': true, - 'r': true, - 's': true, - 't': true, - 'u': true, - 'v': true, - 'w': true, - 'x': true, - 'y': true, - 'z': true, - '|': true, - '~': true, -} - -type connectionStater interface { - ConnectionState() tls.ConnectionState -} diff --git a/vendor/golang.org/x/net/http2/not_go15.go b/vendor/golang.org/x/net/http2/not_go15.go deleted file mode 100644 index d0fa5c890..000000000 --- a/vendor/golang.org/x/net/http2/not_go15.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.5 - -package http2 - -import "net/http" - -func requestCancel(req *http.Request) <-chan struct{} { return nil } diff --git a/vendor/golang.org/x/net/http2/not_go16.go b/vendor/golang.org/x/net/http2/not_go16.go deleted file mode 100644 index db53c5b8c..000000000 --- a/vendor/golang.org/x/net/http2/not_go16.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.6 - -package http2 - -import "net/http" - -func configureTransport(t1 *http.Transport) (*Transport, error) { - return nil, errTransportVersion -} diff --git a/vendor/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go deleted file mode 100644 index 69446e7a3..000000000 --- a/vendor/golang.org/x/net/http2/pipe.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import ( - "errors" - "io" - "sync" -) - -// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like -// io.Pipe except there are no PipeReader/PipeWriter halves, and the -// underlying buffer is an interface. (io.Pipe is always unbuffered) -type pipe struct { - mu sync.Mutex - c sync.Cond // c.L lazily initialized to &p.mu - b pipeBuffer - err error // read error once empty. non-nil means closed. - breakErr error // immediate read error (caller doesn't see rest of b) - donec chan struct{} // closed on error - readFn func() // optional code to run in Read before error -} - -type pipeBuffer interface { - Len() int - io.Writer - io.Reader -} - -// Read waits until data is available and copies bytes -// from the buffer into p. -func (p *pipe) Read(d []byte) (n int, err error) { - p.mu.Lock() - defer p.mu.Unlock() - if p.c.L == nil { - p.c.L = &p.mu - } - for { - if p.breakErr != nil { - return 0, p.breakErr - } - if p.b.Len() > 0 { - return p.b.Read(d) - } - if p.err != nil { - if p.readFn != nil { - p.readFn() // e.g. copy trailers - p.readFn = nil // not sticky like p.err - } - return 0, p.err - } - p.c.Wait() - } -} - -var errClosedPipeWrite = errors.New("write on closed buffer") - -// Write copies bytes from p into the buffer and wakes a reader. -// It is an error to write more data than the buffer can hold. -func (p *pipe) Write(d []byte) (n int, err error) { - p.mu.Lock() - defer p.mu.Unlock() - if p.c.L == nil { - p.c.L = &p.mu - } - defer p.c.Signal() - if p.err != nil { - return 0, errClosedPipeWrite - } - return p.b.Write(d) -} - -// CloseWithError causes the next Read (waking up a current blocked -// Read if needed) to return the provided err after all data has been -// read. -// -// The error must be non-nil. -func (p *pipe) CloseWithError(err error) { p.closeWithError(&p.err, err, nil) } - -// BreakWithError causes the next Read (waking up a current blocked -// Read if needed) to return the provided err immediately, without -// waiting for unread data. -func (p *pipe) BreakWithError(err error) { p.closeWithError(&p.breakErr, err, nil) } - -// closeWithErrorAndCode is like CloseWithError but also sets some code to run -// in the caller's goroutine before returning the error. -func (p *pipe) closeWithErrorAndCode(err error, fn func()) { p.closeWithError(&p.err, err, fn) } - -func (p *pipe) closeWithError(dst *error, err error, fn func()) { - if err == nil { - panic("err must be non-nil") - } - p.mu.Lock() - defer p.mu.Unlock() - if p.c.L == nil { - p.c.L = &p.mu - } - defer p.c.Signal() - if *dst != nil { - // Already been done. - return - } - p.readFn = fn - *dst = err - p.closeDoneLocked() -} - -// requires p.mu be held. -func (p *pipe) closeDoneLocked() { - if p.donec == nil { - return - } - // Close if unclosed. This isn't racy since we always - // hold p.mu while closing. - select { - case <-p.donec: - default: - close(p.donec) - } -} - -// Err returns the error (if any) first set by BreakWithError or CloseWithError. -func (p *pipe) Err() error { - p.mu.Lock() - defer p.mu.Unlock() - if p.breakErr != nil { - return p.breakErr - } - return p.err -} - -// Done returns a channel which is closed if and when this pipe is closed -// with CloseWithError. -func (p *pipe) Done() <-chan struct{} { - p.mu.Lock() - defer p.mu.Unlock() - if p.donec == nil { - p.donec = make(chan struct{}) - if p.err != nil || p.breakErr != nil { - // Already hit an error. - p.closeDoneLocked() - } - } - return p.donec -} diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go deleted file mode 100644 index 6f4c2bb7c..000000000 --- a/vendor/golang.org/x/net/http2/server.go +++ /dev/null @@ -1,2308 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// TODO: replace all <-sc.doneServing with reads from the stream's cw -// instead, and make sure that on close we close all open -// streams. then remove doneServing? - -// TODO: re-audit GOAWAY support. Consider each incoming frame type and -// whether it should be ignored during graceful shutdown. - -// TODO: disconnect idle clients. GFE seems to do 4 minutes. make -// configurable? or maximum number of idle clients and remove the -// oldest? - -// TODO: turn off the serve goroutine when idle, so -// an idle conn only has the readFrames goroutine active. (which could -// also be optimized probably to pin less memory in crypto/tls). This -// would involve tracking when the serve goroutine is active (atomic -// int32 read/CAS probably?) and starting it up when frames arrive, -// and shutting it down when all handlers exit. the occasional PING -// packets could use time.AfterFunc to call sc.wakeStartServeLoop() -// (which is a no-op if already running) and then queue the PING write -// as normal. The serve loop would then exit in most cases (if no -// Handlers running) and not be woken up again until the PING packet -// returns. - -// TODO (maybe): add a mechanism for Handlers to going into -// half-closed-local mode (rw.(io.Closer) test?) but not exit their -// handler, and continue to be able to read from the -// Request.Body. This would be a somewhat semantic change from HTTP/1 -// (or at least what we expose in net/http), so I'd probably want to -// add it there too. For now, this package says that returning from -// the Handler ServeHTTP function means you're both done reading and -// done writing, without a way to stop just one or the other. - -package http2 - -import ( - "bufio" - "bytes" - "crypto/tls" - "errors" - "fmt" - "io" - "log" - "net" - "net/http" - "net/textproto" - "net/url" - "os" - "reflect" - "runtime" - "sort" - "strconv" - "strings" - "sync" - "time" - - "golang.org/x/net/http2/hpack" -) - -const ( - prefaceTimeout = 10 * time.Second - firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway - handlerChunkWriteSize = 4 << 10 - defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? -) - -var ( - errClientDisconnected = errors.New("client disconnected") - errClosedBody = errors.New("body closed by handler") - errHandlerComplete = errors.New("http2: request body closed due to handler exiting") - errStreamClosed = errors.New("http2: stream closed") -) - -var responseWriterStatePool = sync.Pool{ - New: func() interface{} { - rws := &responseWriterState{} - rws.bw = bufio.NewWriterSize(chunkWriter{rws}, handlerChunkWriteSize) - return rws - }, -} - -// Test hooks. -var ( - testHookOnConn func() - testHookGetServerConn func(*serverConn) - testHookOnPanicMu *sync.Mutex // nil except in tests - testHookOnPanic func(sc *serverConn, panicVal interface{}) (rePanic bool) -) - -// Server is an HTTP/2 server. -type Server struct { - // MaxHandlers limits the number of http.Handler ServeHTTP goroutines - // which may run at a time over all connections. - // Negative or zero no limit. - // TODO: implement - MaxHandlers int - - // MaxConcurrentStreams optionally specifies the number of - // concurrent streams that each client may have open at a - // time. This is unrelated to the number of http.Handler goroutines - // which may be active globally, which is MaxHandlers. - // If zero, MaxConcurrentStreams defaults to at least 100, per - // the HTTP/2 spec's recommendations. - MaxConcurrentStreams uint32 - - // MaxReadFrameSize optionally specifies the largest frame - // this server is willing to read. A valid value is between - // 16k and 16M, inclusive. If zero or otherwise invalid, a - // default value is used. - MaxReadFrameSize uint32 - - // PermitProhibitedCipherSuites, if true, permits the use of - // cipher suites prohibited by the HTTP/2 spec. - PermitProhibitedCipherSuites bool -} - -func (s *Server) maxReadFrameSize() uint32 { - if v := s.MaxReadFrameSize; v >= minMaxFrameSize && v <= maxFrameSize { - return v - } - return defaultMaxReadFrameSize -} - -func (s *Server) maxConcurrentStreams() uint32 { - if v := s.MaxConcurrentStreams; v > 0 { - return v - } - return defaultMaxStreams -} - -// ConfigureServer adds HTTP/2 support to a net/http Server. -// -// The configuration conf may be nil. -// -// ConfigureServer must be called before s begins serving. -func ConfigureServer(s *http.Server, conf *Server) error { - if conf == nil { - conf = new(Server) - } - - if s.TLSConfig == nil { - s.TLSConfig = new(tls.Config) - } else if s.TLSConfig.CipherSuites != nil { - // If they already provided a CipherSuite list, return - // an error if it has a bad order or is missing - // ECDHE_RSA_WITH_AES_128_GCM_SHA256. - const requiredCipher = tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - haveRequired := false - sawBad := false - for i, cs := range s.TLSConfig.CipherSuites { - if cs == requiredCipher { - haveRequired = true - } - if isBadCipher(cs) { - sawBad = true - } else if sawBad { - return 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) - } - } - if !haveRequired { - return fmt.Errorf("http2: TLSConfig.CipherSuites is missing HTTP/2-required TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256") - } - } - - // Note: not setting MinVersion to tls.VersionTLS12, - // as we don't want to interfere with HTTP/1.1 traffic - // on the user's server. We enforce TLS 1.2 later once - // we accept a connection. Ideally this should be done - // during next-proto selection, but using TLS <1.2 with - // HTTP/2 is still the client's bug. - - s.TLSConfig.PreferServerCipherSuites = true - - haveNPN := false - for _, p := range s.TLSConfig.NextProtos { - if p == NextProtoTLS { - haveNPN = true - break - } - } - if !haveNPN { - s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS) - } - // h2-14 is temporary (as of 2015-03-05) while we wait for all browsers - // to switch to "h2". - s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, "h2-14") - - if s.TLSNextProto == nil { - s.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){} - } - protoHandler := func(hs *http.Server, c *tls.Conn, h http.Handler) { - if testHookOnConn != nil { - testHookOnConn() - } - conf.ServeConn(c, &ServeConnOpts{ - Handler: h, - BaseConfig: hs, - }) - } - s.TLSNextProto[NextProtoTLS] = protoHandler - s.TLSNextProto["h2-14"] = protoHandler // temporary; see above. - return nil -} - -// ServeConnOpts are options for the Server.ServeConn method. -type ServeConnOpts struct { - // BaseConfig optionally sets the base configuration - // for values. If nil, defaults are used. - BaseConfig *http.Server - - // Handler specifies which handler to use for processing - // requests. If nil, BaseConfig.Handler is used. If BaseConfig - // or BaseConfig.Handler is nil, http.DefaultServeMux is used. - Handler http.Handler -} - -func (o *ServeConnOpts) baseConfig() *http.Server { - if o != nil && o.BaseConfig != nil { - return o.BaseConfig - } - return new(http.Server) -} - -func (o *ServeConnOpts) handler() http.Handler { - if o != nil { - if o.Handler != nil { - return o.Handler - } - if o.BaseConfig != nil && o.BaseConfig.Handler != nil { - return o.BaseConfig.Handler - } - } - return http.DefaultServeMux -} - -// ServeConn serves HTTP/2 requests on the provided connection and -// blocks until the connection is no longer readable. -// -// ServeConn starts speaking HTTP/2 assuming that c has not had any -// reads or writes. It writes its initial settings frame and expects -// to be able to read the preface and settings frame from the -// client. If c has a ConnectionState method like a *tls.Conn, the -// ConnectionState is used to verify the TLS ciphersuite and to set -// the Request.TLS field in Handlers. -// -// ServeConn does not support h2c by itself. Any h2c support must be -// implemented in terms of providing a suitably-behaving net.Conn. -// -// The opts parameter is optional. If nil, default values are used. -func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { - sc := &serverConn{ - srv: s, - hs: opts.baseConfig(), - conn: c, - remoteAddrStr: c.RemoteAddr().String(), - bw: newBufferedWriter(c), - handler: opts.handler(), - streams: make(map[uint32]*stream), - readFrameCh: make(chan readFrameResult), - wantWriteFrameCh: make(chan frameWriteMsg, 8), - wroteFrameCh: make(chan frameWriteResult, 1), // buffered; one send in writeFrameAsync - bodyReadCh: make(chan bodyReadMsg), // buffering doesn't matter either way - doneServing: make(chan struct{}), - advMaxStreams: s.maxConcurrentStreams(), - writeSched: writeScheduler{ - maxFrameSize: initialMaxFrameSize, - }, - initialWindowSize: initialWindowSize, - headerTableSize: initialHeaderTableSize, - serveG: newGoroutineLock(), - pushEnabled: true, - } - sc.flow.add(initialWindowSize) - sc.inflow.add(initialWindowSize) - sc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf) - sc.hpackDecoder = hpack.NewDecoder(initialHeaderTableSize, nil) - sc.hpackDecoder.SetMaxStringLength(sc.maxHeaderStringLen()) - - fr := NewFramer(sc.bw, c) - fr.SetMaxReadFrameSize(s.maxReadFrameSize()) - sc.framer = fr - - if tc, ok := c.(connectionStater); ok { - sc.tlsState = new(tls.ConnectionState) - *sc.tlsState = tc.ConnectionState() - // 9.2 Use of TLS Features - // An implementation of HTTP/2 over TLS MUST use TLS - // 1.2 or higher with the restrictions on feature set - // and cipher suite described in this section. Due to - // implementation limitations, it might not be - // possible to fail TLS negotiation. An endpoint MUST - // immediately terminate an HTTP/2 connection that - // does not meet the TLS requirements described in - // this section with a connection error (Section - // 5.4.1) of type INADEQUATE_SECURITY. - if sc.tlsState.Version < tls.VersionTLS12 { - sc.rejectConn(ErrCodeInadequateSecurity, "TLS version too low") - return - } - - if sc.tlsState.ServerName == "" { - // Client must use SNI, but we don't enforce that anymore, - // since it was causing problems when connecting to bare IP - // addresses during development. - // - // TODO: optionally enforce? Or enforce at the time we receive - // a new request, and verify the the ServerName matches the :authority? - // But that precludes proxy situations, perhaps. - // - // So for now, do nothing here again. - } - - if !s.PermitProhibitedCipherSuites && isBadCipher(sc.tlsState.CipherSuite) { - // "Endpoints MAY choose to generate a connection error - // (Section 5.4.1) of type INADEQUATE_SECURITY if one of - // the prohibited cipher suites are negotiated." - // - // We choose that. In my opinion, the spec is weak - // here. It also says both parties must support at least - // TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 so there's no - // excuses here. If we really must, we could allow an - // "AllowInsecureWeakCiphers" option on the server later. - // Let's see how it plays out first. - sc.rejectConn(ErrCodeInadequateSecurity, fmt.Sprintf("Prohibited TLS 1.2 Cipher Suite: %x", sc.tlsState.CipherSuite)) - return - } - } - - if hook := testHookGetServerConn; hook != nil { - hook(sc) - } - sc.serve() -} - -// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec. -func isBadCipher(cipher uint16) bool { - switch cipher { - case tls.TLS_RSA_WITH_RC4_128_SHA, - tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA, - tls.TLS_RSA_WITH_AES_128_CBC_SHA, - tls.TLS_RSA_WITH_AES_256_CBC_SHA, - tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, - tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, - tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA, - tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, - tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - // Reject cipher suites from Appendix A. - // "This list includes those cipher suites that do not - // offer an ephemeral key exchange and those that are - // based on the TLS null, stream or block cipher type" - return true - default: - return false - } -} - -func (sc *serverConn) rejectConn(err ErrCode, debug string) { - sc.vlogf("http2: server rejecting conn: %v, %s", err, debug) - // ignoring errors. hanging up anyway. - sc.framer.WriteGoAway(0, err, []byte(debug)) - sc.bw.Flush() - sc.conn.Close() -} - -type serverConn struct { - // Immutable: - srv *Server - hs *http.Server - conn net.Conn - bw *bufferedWriter // writing to conn - handler http.Handler - framer *Framer - hpackDecoder *hpack.Decoder - doneServing chan struct{} // closed when serverConn.serve ends - readFrameCh chan readFrameResult // written by serverConn.readFrames - wantWriteFrameCh chan frameWriteMsg // from handlers -> serve - wroteFrameCh chan frameWriteResult // from writeFrameAsync -> serve, tickles more frame writes - bodyReadCh chan bodyReadMsg // from handlers -> serve - testHookCh chan func(int) // code to run on the serve loop - flow flow // conn-wide (not stream-specific) outbound flow control - inflow flow // conn-wide inbound flow control - tlsState *tls.ConnectionState // shared by all handlers, like net/http - remoteAddrStr string - - // Everything following is owned by the serve loop; use serveG.check(): - serveG goroutineLock // used to verify funcs are on serve() - pushEnabled bool - sawFirstSettings bool // got the initial SETTINGS frame after the preface - needToSendSettingsAck bool - unackedSettings int // how many SETTINGS have we sent without ACKs? - clientMaxStreams uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit) - advMaxStreams uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client - curOpenStreams uint32 // client's number of open streams - maxStreamID uint32 // max ever seen - streams map[uint32]*stream - initialWindowSize int32 - headerTableSize uint32 - peerMaxHeaderListSize uint32 // zero means unknown (default) - canonHeader map[string]string // http2-lower-case -> Go-Canonical-Case - req requestParam // non-zero while reading request headers - writingFrame bool // started write goroutine but haven't heard back on wroteFrameCh - needsFrameFlush bool // last frame write wasn't a flush - writeSched writeScheduler - inGoAway bool // we've started to or sent GOAWAY - needToSendGoAway bool // we need to schedule a GOAWAY frame write - goAwayCode ErrCode - shutdownTimerCh <-chan time.Time // nil until used - shutdownTimer *time.Timer // nil until used - - // Owned by the writeFrameAsync goroutine: - headerWriteBuf bytes.Buffer - hpackEncoder *hpack.Encoder -} - -func (sc *serverConn) maxHeaderStringLen() int { - v := sc.maxHeaderListSize() - if uint32(int(v)) == v { - return int(v) - } - // They had a crazy big number for MaxHeaderBytes anyway, - // so give them unlimited header lengths: - return 0 -} - -func (sc *serverConn) maxHeaderListSize() uint32 { - n := sc.hs.MaxHeaderBytes - if n <= 0 { - n = http.DefaultMaxHeaderBytes - } - // http2's count is in a slightly different unit and includes 32 bytes per pair. - // So, take the net/http.Server value and pad it up a bit, assuming 10 headers. - const perFieldOverhead = 32 // per http2 spec - const typicalHeaders = 10 // conservative - return uint32(n + typicalHeaders*perFieldOverhead) -} - -// requestParam is the state of the next request, initialized over -// potentially several frames HEADERS + zero or more CONTINUATION -// frames. -type requestParam struct { - // stream is non-nil if we're reading (HEADER or CONTINUATION) - // frames for a request (but not DATA). - stream *stream - header http.Header - method, path string - scheme, authority string - sawRegularHeader bool // saw a non-pseudo header already - invalidHeader bool // an invalid header was seen - headerListSize int64 // actually uint32, but easier math this way -} - -// stream represents a stream. This is the minimal metadata needed by -// the serve goroutine. Most of the actual stream state is owned by -// the http.Handler's goroutine in the responseWriter. Because the -// responseWriter's responseWriterState is recycled at the end of a -// handler, this struct intentionally has no pointer to the -// *responseWriter{,State} itself, as the Handler ending nils out the -// responseWriter's state field. -type stream struct { - // immutable: - sc *serverConn - id uint32 - body *pipe // non-nil if expecting DATA frames - cw closeWaiter // closed wait stream transitions to closed state - - // owned by serverConn's serve loop: - bodyBytes int64 // body bytes seen so far - declBodyBytes int64 // or -1 if undeclared - flow flow // limits writing from Handler to client - inflow flow // what the client is allowed to POST/etc to us - parent *stream // or nil - numTrailerValues int64 - weight uint8 - state streamState - sentReset bool // only true once detached from streams map - gotReset bool // only true once detacted from streams map - gotTrailerHeader bool // HEADER frame for trailers was seen - - trailer http.Header // accumulated trailers - reqTrailer http.Header // handler's Request.Trailer -} - -func (sc *serverConn) Framer() *Framer { return sc.framer } -func (sc *serverConn) CloseConn() error { return sc.conn.Close() } -func (sc *serverConn) Flush() error { return sc.bw.Flush() } -func (sc *serverConn) HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) { - return sc.hpackEncoder, &sc.headerWriteBuf -} - -func (sc *serverConn) state(streamID uint32) (streamState, *stream) { - sc.serveG.check() - // http://http2.github.io/http2-spec/#rfc.section.5.1 - if st, ok := sc.streams[streamID]; ok { - return st.state, st - } - // "The first use of a new stream identifier implicitly closes all - // streams in the "idle" state that might have been initiated by - // that peer with a lower-valued stream identifier. For example, if - // a client sends a HEADERS frame on stream 7 without ever sending a - // frame on stream 5, then stream 5 transitions to the "closed" - // state when the first frame for stream 7 is sent or received." - if streamID <= sc.maxStreamID { - return stateClosed, nil - } - return stateIdle, nil -} - -// setConnState calls the net/http ConnState hook for this connection, if configured. -// Note that the net/http package does StateNew and StateClosed for us. -// There is currently no plan for StateHijacked or hijacking HTTP/2 connections. -func (sc *serverConn) setConnState(state http.ConnState) { - if sc.hs.ConnState != nil { - sc.hs.ConnState(sc.conn, state) - } -} - -func (sc *serverConn) vlogf(format string, args ...interface{}) { - if VerboseLogs { - sc.logf(format, args...) - } -} - -func (sc *serverConn) logf(format string, args ...interface{}) { - if lg := sc.hs.ErrorLog; lg != nil { - lg.Printf(format, args...) - } else { - log.Printf(format, args...) - } -} - -// errno returns v's underlying uintptr, else 0. -// -// TODO: remove this helper function once http2 can use build -// tags. See comment in isClosedConnError. -func errno(v error) uintptr { - if rv := reflect.ValueOf(v); rv.Kind() == reflect.Uintptr { - return uintptr(rv.Uint()) - } - return 0 -} - -// isClosedConnError reports whether err is an error from use of a closed -// network connection. -func isClosedConnError(err error) bool { - if err == nil { - return false - } - - // TODO: remove this string search and be more like the Windows - // case below. That might involve modifying the standard library - // to return better error types. - str := err.Error() - if strings.Contains(str, "use of closed network connection") { - return true - } - - // TODO(bradfitz): x/tools/cmd/bundle doesn't really support - // build tags, so I can't make an http2_windows.go file with - // Windows-specific stuff. Fix that and move this, once we - // have a way to bundle this into std's net/http somehow. - if runtime.GOOS == "windows" { - if oe, ok := err.(*net.OpError); ok && oe.Op == "read" { - if se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == "wsarecv" { - const WSAECONNABORTED = 10053 - const WSAECONNRESET = 10054 - if n := errno(se.Err); n == WSAECONNRESET || n == WSAECONNABORTED { - return true - } - } - } - } - return false -} - -func (sc *serverConn) condlogf(err error, format string, args ...interface{}) { - if err == nil { - return - } - if err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) { - // Boring, expected errors. - sc.vlogf(format, args...) - } else { - sc.logf(format, args...) - } -} - -func (sc *serverConn) onNewHeaderField(f hpack.HeaderField) { - sc.serveG.check() - if VerboseLogs { - sc.vlogf("http2: server decoded %v", f) - } - switch { - case !validHeaderFieldValue(f.Value): // f.Name checked _after_ pseudo check, since ':' is invalid - sc.req.invalidHeader = true - case strings.HasPrefix(f.Name, ":"): - if sc.req.sawRegularHeader { - sc.logf("pseudo-header after regular header") - sc.req.invalidHeader = true - return - } - var dst *string - switch f.Name { - case ":method": - dst = &sc.req.method - case ":path": - dst = &sc.req.path - case ":scheme": - dst = &sc.req.scheme - case ":authority": - dst = &sc.req.authority - default: - // 8.1.2.1 Pseudo-Header Fields - // "Endpoints MUST treat a request or response - // that contains undefined or invalid - // pseudo-header fields as malformed (Section - // 8.1.2.6)." - sc.logf("invalid pseudo-header %q", f.Name) - sc.req.invalidHeader = true - return - } - if *dst != "" { - sc.logf("duplicate pseudo-header %q sent", f.Name) - sc.req.invalidHeader = true - return - } - *dst = f.Value - case !validHeaderFieldName(f.Name): - sc.req.invalidHeader = true - default: - sc.req.sawRegularHeader = true - sc.req.header.Add(sc.canonicalHeader(f.Name), f.Value) - const headerFieldOverhead = 32 // per spec - sc.req.headerListSize += int64(len(f.Name)) + int64(len(f.Value)) + headerFieldOverhead - if sc.req.headerListSize > int64(sc.maxHeaderListSize()) { - sc.hpackDecoder.SetEmitEnabled(false) - } - } -} - -func (st *stream) onNewTrailerField(f hpack.HeaderField) { - sc := st.sc - sc.serveG.check() - if VerboseLogs { - sc.vlogf("http2: server decoded trailer %v", f) - } - switch { - case strings.HasPrefix(f.Name, ":"): - sc.req.invalidHeader = true - return - case !validHeaderFieldName(f.Name) || !validHeaderFieldValue(f.Value): - sc.req.invalidHeader = true - return - default: - key := sc.canonicalHeader(f.Name) - if st.trailer != nil { - vv := append(st.trailer[key], f.Value) - st.trailer[key] = vv - - // arbitrary; TODO: read spec about header list size limits wrt trailers - const tooBig = 1000 - if len(vv) >= tooBig { - sc.hpackDecoder.SetEmitEnabled(false) - } - } - } -} - -func (sc *serverConn) canonicalHeader(v string) string { - sc.serveG.check() - cv, ok := commonCanonHeader[v] - if ok { - return cv - } - cv, ok = sc.canonHeader[v] - if ok { - return cv - } - if sc.canonHeader == nil { - sc.canonHeader = make(map[string]string) - } - cv = http.CanonicalHeaderKey(v) - sc.canonHeader[v] = cv - return cv -} - -type readFrameResult struct { - f Frame // valid until readMore is called - err error - - // readMore should be called once the consumer no longer needs or - // retains f. After readMore, f is invalid and more frames can be - // read. - readMore func() -} - -// readFrames is the loop that reads incoming frames. -// It takes care to only read one frame at a time, blocking until the -// consumer is done with the frame. -// It's run on its own goroutine. -func (sc *serverConn) readFrames() { - gate := make(gate) - for { - f, err := sc.framer.ReadFrame() - select { - case sc.readFrameCh <- readFrameResult{f, err, gate.Done}: - case <-sc.doneServing: - return - } - select { - case <-gate: - case <-sc.doneServing: - return - } - if terminalReadFrameError(err) { - return - } - } -} - -// frameWriteResult is the message passed from writeFrameAsync to the serve goroutine. -type frameWriteResult struct { - wm frameWriteMsg // what was written (or attempted) - err error // result of the writeFrame call -} - -// writeFrameAsync runs in its own goroutine and writes a single frame -// and then reports when it's done. -// At most one goroutine can be running writeFrameAsync at a time per -// serverConn. -func (sc *serverConn) writeFrameAsync(wm frameWriteMsg) { - err := wm.write.writeFrame(sc) - sc.wroteFrameCh <- frameWriteResult{wm, err} -} - -func (sc *serverConn) closeAllStreamsOnConnClose() { - sc.serveG.check() - for _, st := range sc.streams { - sc.closeStream(st, errClientDisconnected) - } -} - -func (sc *serverConn) stopShutdownTimer() { - sc.serveG.check() - if t := sc.shutdownTimer; t != nil { - t.Stop() - } -} - -func (sc *serverConn) notePanic() { - // Note: this is for serverConn.serve panicking, not http.Handler code. - if testHookOnPanicMu != nil { - testHookOnPanicMu.Lock() - defer testHookOnPanicMu.Unlock() - } - if testHookOnPanic != nil { - if e := recover(); e != nil { - if testHookOnPanic(sc, e) { - panic(e) - } - } - } -} - -func (sc *serverConn) serve() { - sc.serveG.check() - defer sc.notePanic() - defer sc.conn.Close() - defer sc.closeAllStreamsOnConnClose() - defer sc.stopShutdownTimer() - defer close(sc.doneServing) // unblocks handlers trying to send - - if VerboseLogs { - sc.vlogf("http2: server connection from %v on %p", sc.conn.RemoteAddr(), sc.hs) - } - - sc.writeFrame(frameWriteMsg{ - write: writeSettings{ - {SettingMaxFrameSize, sc.srv.maxReadFrameSize()}, - {SettingMaxConcurrentStreams, sc.advMaxStreams}, - {SettingMaxHeaderListSize, sc.maxHeaderListSize()}, - - // TODO: more actual settings, notably - // SettingInitialWindowSize, but then we also - // want to bump up the conn window size the - // same amount here right after the settings - }, - }) - sc.unackedSettings++ - - if err := sc.readPreface(); err != nil { - sc.condlogf(err, "http2: server: error reading preface from client %v: %v", sc.conn.RemoteAddr(), err) - return - } - // Now that we've got the preface, get us out of the - // "StateNew" state. We can't go directly to idle, though. - // Active means we read some data and anticipate a request. We'll - // do another Active when we get a HEADERS frame. - sc.setConnState(http.StateActive) - sc.setConnState(http.StateIdle) - - go sc.readFrames() // closed by defer sc.conn.Close above - - settingsTimer := time.NewTimer(firstSettingsTimeout) - loopNum := 0 - for { - loopNum++ - select { - case wm := <-sc.wantWriteFrameCh: - sc.writeFrame(wm) - case res := <-sc.wroteFrameCh: - sc.wroteFrame(res) - case res := <-sc.readFrameCh: - if !sc.processFrameFromReader(res) { - return - } - res.readMore() - if settingsTimer.C != nil { - settingsTimer.Stop() - settingsTimer.C = nil - } - case m := <-sc.bodyReadCh: - sc.noteBodyRead(m.st, m.n) - case <-settingsTimer.C: - sc.logf("timeout waiting for SETTINGS frames from %v", sc.conn.RemoteAddr()) - return - case <-sc.shutdownTimerCh: - sc.vlogf("GOAWAY close timer fired; closing conn from %v", sc.conn.RemoteAddr()) - return - case fn := <-sc.testHookCh: - fn(loopNum) - } - } -} - -// readPreface reads the ClientPreface greeting from the peer -// or returns an error on timeout or an invalid greeting. -func (sc *serverConn) readPreface() error { - errc := make(chan error, 1) - go func() { - // Read the client preface - buf := make([]byte, len(ClientPreface)) - if _, err := io.ReadFull(sc.conn, buf); err != nil { - errc <- err - } else if !bytes.Equal(buf, clientPreface) { - errc <- fmt.Errorf("bogus greeting %q", buf) - } else { - errc <- nil - } - }() - timer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server? - defer timer.Stop() - select { - case <-timer.C: - return errors.New("timeout waiting for client preface") - case err := <-errc: - if err == nil { - if VerboseLogs { - sc.vlogf("http2: server: client %v said hello", sc.conn.RemoteAddr()) - } - } - return err - } -} - -var errChanPool = sync.Pool{ - New: func() interface{} { return make(chan error, 1) }, -} - -var writeDataPool = sync.Pool{ - New: func() interface{} { return new(writeData) }, -} - -// writeDataFromHandler writes DATA response frames from a handler on -// the given stream. -func (sc *serverConn) writeDataFromHandler(stream *stream, data []byte, endStream bool) error { - ch := errChanPool.Get().(chan error) - writeArg := writeDataPool.Get().(*writeData) - *writeArg = writeData{stream.id, data, endStream} - err := sc.writeFrameFromHandler(frameWriteMsg{ - write: writeArg, - stream: stream, - done: ch, - }) - if err != nil { - return err - } - var frameWriteDone bool // the frame write is done (successfully or not) - select { - case err = <-ch: - frameWriteDone = true - case <-sc.doneServing: - return errClientDisconnected - case <-stream.cw: - // If both ch and stream.cw were ready (as might - // happen on the final Write after an http.Handler - // ends), prefer the write result. Otherwise this - // might just be us successfully closing the stream. - // The writeFrameAsync and serve goroutines guarantee - // that the ch send will happen before the stream.cw - // close. - select { - case err = <-ch: - frameWriteDone = true - default: - return errStreamClosed - } - } - errChanPool.Put(ch) - if frameWriteDone { - writeDataPool.Put(writeArg) - } - return err -} - -// writeFrameFromHandler sends wm to sc.wantWriteFrameCh, but aborts -// if the connection has gone away. -// -// This must not be run from the serve goroutine itself, else it might -// deadlock writing to sc.wantWriteFrameCh (which is only mildly -// buffered and is read by serve itself). If you're on the serve -// goroutine, call writeFrame instead. -func (sc *serverConn) writeFrameFromHandler(wm frameWriteMsg) error { - sc.serveG.checkNotOn() // NOT - select { - case sc.wantWriteFrameCh <- wm: - return nil - case <-sc.doneServing: - // Serve loop is gone. - // Client has closed their connection to the server. - return errClientDisconnected - } -} - -// writeFrame schedules a frame to write and sends it if there's nothing -// already being written. -// -// There is no pushback here (the serve goroutine never blocks). It's -// the http.Handlers that block, waiting for their previous frames to -// make it onto the wire -// -// If you're not on the serve goroutine, use writeFrameFromHandler instead. -func (sc *serverConn) writeFrame(wm frameWriteMsg) { - sc.serveG.check() - sc.writeSched.add(wm) - sc.scheduleFrameWrite() -} - -// startFrameWrite starts a goroutine to write wm (in a separate -// goroutine since that might block on the network), and updates the -// serve goroutine's state about the world, updated from info in wm. -func (sc *serverConn) startFrameWrite(wm frameWriteMsg) { - sc.serveG.check() - if sc.writingFrame { - panic("internal error: can only be writing one frame at a time") - } - - st := wm.stream - if st != nil { - switch st.state { - case stateHalfClosedLocal: - panic("internal error: attempt to send frame on half-closed-local stream") - case stateClosed: - if st.sentReset || st.gotReset { - // Skip this frame. - sc.scheduleFrameWrite() - return - } - panic(fmt.Sprintf("internal error: attempt to send a write %v on a closed stream", wm)) - } - } - - sc.writingFrame = true - sc.needsFrameFlush = true - go sc.writeFrameAsync(wm) -} - -// errHandlerPanicked is the error given to any callers blocked in a read from -// Request.Body when the main goroutine panics. Since most handlers read in the -// the main ServeHTTP goroutine, this will show up rarely. -var errHandlerPanicked = errors.New("http2: handler panicked") - -// wroteFrame is called on the serve goroutine with the result of -// whatever happened on writeFrameAsync. -func (sc *serverConn) wroteFrame(res frameWriteResult) { - sc.serveG.check() - if !sc.writingFrame { - panic("internal error: expected to be already writing a frame") - } - sc.writingFrame = false - - wm := res.wm - st := wm.stream - - closeStream := endsStream(wm.write) - - if _, ok := wm.write.(handlerPanicRST); ok { - sc.closeStream(st, errHandlerPanicked) - } - - // Reply (if requested) to the blocked ServeHTTP goroutine. - if ch := wm.done; ch != nil { - select { - case ch <- res.err: - default: - panic(fmt.Sprintf("unbuffered done channel passed in for type %T", wm.write)) - } - } - wm.write = nil // prevent use (assume it's tainted after wm.done send) - - if closeStream { - if st == nil { - panic("internal error: expecting non-nil stream") - } - switch st.state { - case stateOpen: - // Here we would go to stateHalfClosedLocal in - // theory, but since our handler is done and - // the net/http package provides no mechanism - // for finishing writing to a ResponseWriter - // while still reading data (see possible TODO - // at top of this file), we go into closed - // state here anyway, after telling the peer - // we're hanging up on them. - st.state = stateHalfClosedLocal // won't last long, but necessary for closeStream via resetStream - errCancel := StreamError{st.id, ErrCodeCancel} - sc.resetStream(errCancel) - case stateHalfClosedRemote: - sc.closeStream(st, errHandlerComplete) - } - } - - sc.scheduleFrameWrite() -} - -// scheduleFrameWrite tickles the frame writing scheduler. -// -// If a frame is already being written, nothing happens. This will be called again -// when the frame is done being written. -// -// If a frame isn't being written we need to send one, the best frame -// to send is selected, preferring first things that aren't -// stream-specific (e.g. ACKing settings), and then finding the -// highest priority stream. -// -// If a frame isn't being written and there's nothing else to send, we -// flush the write buffer. -func (sc *serverConn) scheduleFrameWrite() { - sc.serveG.check() - if sc.writingFrame { - return - } - if sc.needToSendGoAway { - sc.needToSendGoAway = false - sc.startFrameWrite(frameWriteMsg{ - write: &writeGoAway{ - maxStreamID: sc.maxStreamID, - code: sc.goAwayCode, - }, - }) - return - } - if sc.needToSendSettingsAck { - sc.needToSendSettingsAck = false - sc.startFrameWrite(frameWriteMsg{write: writeSettingsAck{}}) - return - } - if !sc.inGoAway { - if wm, ok := sc.writeSched.take(); ok { - sc.startFrameWrite(wm) - return - } - } - if sc.needsFrameFlush { - sc.startFrameWrite(frameWriteMsg{write: flushFrameWriter{}}) - sc.needsFrameFlush = false // after startFrameWrite, since it sets this true - return - } -} - -func (sc *serverConn) goAway(code ErrCode) { - sc.serveG.check() - if sc.inGoAway { - return - } - if code != ErrCodeNo { - sc.shutDownIn(250 * time.Millisecond) - } else { - // TODO: configurable - sc.shutDownIn(1 * time.Second) - } - sc.inGoAway = true - sc.needToSendGoAway = true - sc.goAwayCode = code - sc.scheduleFrameWrite() -} - -func (sc *serverConn) shutDownIn(d time.Duration) { - sc.serveG.check() - sc.shutdownTimer = time.NewTimer(d) - sc.shutdownTimerCh = sc.shutdownTimer.C -} - -func (sc *serverConn) resetStream(se StreamError) { - sc.serveG.check() - sc.writeFrame(frameWriteMsg{write: se}) - if st, ok := sc.streams[se.StreamID]; ok { - st.sentReset = true - sc.closeStream(st, se) - } -} - -// processFrameFromReader processes the serve loop's read from readFrameCh from the -// frame-reading goroutine. -// processFrameFromReader returns whether the connection should be kept open. -func (sc *serverConn) processFrameFromReader(res readFrameResult) bool { - sc.serveG.check() - err := res.err - if err != nil { - if err == ErrFrameTooLarge { - sc.goAway(ErrCodeFrameSize) - return true // goAway will close the loop - } - clientGone := err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) - if clientGone { - // TODO: could we also get into this state if - // the peer does a half close - // (e.g. CloseWrite) because they're done - // sending frames but they're still wanting - // our open replies? Investigate. - // TODO: add CloseWrite to crypto/tls.Conn first - // so we have a way to test this? I suppose - // just for testing we could have a non-TLS mode. - return false - } - } else { - f := res.f - if VerboseLogs { - sc.vlogf("http2: server read frame %v", summarizeFrame(f)) - } - err = sc.processFrame(f) - if err == nil { - return true - } - } - - switch ev := err.(type) { - case StreamError: - sc.resetStream(ev) - return true - case goAwayFlowError: - sc.goAway(ErrCodeFlowControl) - return true - case ConnectionError: - sc.logf("http2: server connection error from %v: %v", sc.conn.RemoteAddr(), ev) - sc.goAway(ErrCode(ev)) - return true // goAway will handle shutdown - default: - if res.err != nil { - sc.vlogf("http2: server closing client connection; error reading frame from client %s: %v", sc.conn.RemoteAddr(), err) - } else { - sc.logf("http2: server closing client connection: %v", err) - } - return false - } -} - -func (sc *serverConn) processFrame(f Frame) error { - sc.serveG.check() - - // First frame received must be SETTINGS. - if !sc.sawFirstSettings { - if _, ok := f.(*SettingsFrame); !ok { - return ConnectionError(ErrCodeProtocol) - } - sc.sawFirstSettings = true - } - - switch f := f.(type) { - case *SettingsFrame: - return sc.processSettings(f) - case *HeadersFrame: - return sc.processHeaders(f) - case *ContinuationFrame: - return sc.processContinuation(f) - case *WindowUpdateFrame: - return sc.processWindowUpdate(f) - case *PingFrame: - return sc.processPing(f) - case *DataFrame: - return sc.processData(f) - case *RSTStreamFrame: - return sc.processResetStream(f) - case *PriorityFrame: - return sc.processPriority(f) - case *PushPromiseFrame: - // A client cannot push. Thus, servers MUST treat the receipt of a PUSH_PROMISE - // frame as a connection error (Section 5.4.1) of type PROTOCOL_ERROR. - return ConnectionError(ErrCodeProtocol) - default: - sc.vlogf("http2: server ignoring frame: %v", f.Header()) - return nil - } -} - -func (sc *serverConn) processPing(f *PingFrame) error { - sc.serveG.check() - if f.IsAck() { - // 6.7 PING: " An endpoint MUST NOT respond to PING frames - // containing this flag." - return nil - } - if f.StreamID != 0 { - // "PING frames are not associated with any individual - // stream. If a PING frame is received with a stream - // identifier field value other than 0x0, the recipient MUST - // respond with a connection error (Section 5.4.1) of type - // PROTOCOL_ERROR." - return ConnectionError(ErrCodeProtocol) - } - sc.writeFrame(frameWriteMsg{write: writePingAck{f}}) - return nil -} - -func (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error { - sc.serveG.check() - switch { - case f.StreamID != 0: // stream-level flow control - st := sc.streams[f.StreamID] - if st == nil { - // "WINDOW_UPDATE can be sent by a peer that has sent a - // frame bearing the END_STREAM flag. This means that a - // receiver could receive a WINDOW_UPDATE frame on a "half - // closed (remote)" or "closed" stream. A receiver MUST - // NOT treat this as an error, see Section 5.1." - return nil - } - if !st.flow.add(int32(f.Increment)) { - return StreamError{f.StreamID, ErrCodeFlowControl} - } - default: // connection-level flow control - if !sc.flow.add(int32(f.Increment)) { - return goAwayFlowError{} - } - } - sc.scheduleFrameWrite() - return nil -} - -func (sc *serverConn) processResetStream(f *RSTStreamFrame) error { - sc.serveG.check() - - state, st := sc.state(f.StreamID) - if state == stateIdle { - // 6.4 "RST_STREAM frames MUST NOT be sent for a - // stream in the "idle" state. If a RST_STREAM frame - // identifying an idle stream is received, the - // recipient MUST treat this as a connection error - // (Section 5.4.1) of type PROTOCOL_ERROR. - return ConnectionError(ErrCodeProtocol) - } - if st != nil { - st.gotReset = true - sc.closeStream(st, StreamError{f.StreamID, f.ErrCode}) - } - return nil -} - -func (sc *serverConn) closeStream(st *stream, err error) { - sc.serveG.check() - if st.state == stateIdle || st.state == stateClosed { - panic(fmt.Sprintf("invariant; can't close stream in state %v", st.state)) - } - st.state = stateClosed - sc.curOpenStreams-- - if sc.curOpenStreams == 0 { - sc.setConnState(http.StateIdle) - } - delete(sc.streams, st.id) - if p := st.body; p != nil { - p.CloseWithError(err) - } - st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc - sc.writeSched.forgetStream(st.id) -} - -func (sc *serverConn) processSettings(f *SettingsFrame) error { - sc.serveG.check() - if f.IsAck() { - sc.unackedSettings-- - if sc.unackedSettings < 0 { - // Why is the peer ACKing settings we never sent? - // The spec doesn't mention this case, but - // hang up on them anyway. - return ConnectionError(ErrCodeProtocol) - } - return nil - } - if err := f.ForeachSetting(sc.processSetting); err != nil { - return err - } - sc.needToSendSettingsAck = true - sc.scheduleFrameWrite() - return nil -} - -func (sc *serverConn) processSetting(s Setting) error { - sc.serveG.check() - if err := s.Valid(); err != nil { - return err - } - if VerboseLogs { - sc.vlogf("http2: server processing setting %v", s) - } - switch s.ID { - case SettingHeaderTableSize: - sc.headerTableSize = s.Val - sc.hpackEncoder.SetMaxDynamicTableSize(s.Val) - case SettingEnablePush: - sc.pushEnabled = s.Val != 0 - case SettingMaxConcurrentStreams: - sc.clientMaxStreams = s.Val - case SettingInitialWindowSize: - return sc.processSettingInitialWindowSize(s.Val) - case SettingMaxFrameSize: - sc.writeSched.maxFrameSize = s.Val - case SettingMaxHeaderListSize: - sc.peerMaxHeaderListSize = s.Val - default: - // Unknown setting: "An endpoint that receives a SETTINGS - // frame with any unknown or unsupported identifier MUST - // ignore that setting." - if VerboseLogs { - sc.vlogf("http2: server ignoring unknown setting %v", s) - } - } - return nil -} - -func (sc *serverConn) processSettingInitialWindowSize(val uint32) error { - sc.serveG.check() - // Note: val already validated to be within range by - // processSetting's Valid call. - - // "A SETTINGS frame can alter the initial flow control window - // size for all current streams. When the value of - // SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver MUST - // adjust the size of all stream flow control windows that it - // maintains by the difference between the new value and the - // old value." - old := sc.initialWindowSize - sc.initialWindowSize = int32(val) - growth := sc.initialWindowSize - old // may be negative - for _, st := range sc.streams { - if !st.flow.add(growth) { - // 6.9.2 Initial Flow Control Window Size - // "An endpoint MUST treat a change to - // SETTINGS_INITIAL_WINDOW_SIZE that causes any flow - // control window to exceed the maximum size as a - // connection error (Section 5.4.1) of type - // FLOW_CONTROL_ERROR." - return ConnectionError(ErrCodeFlowControl) - } - } - return nil -} - -func (sc *serverConn) processData(f *DataFrame) error { - sc.serveG.check() - // "If a DATA frame is received whose stream is not in "open" - // or "half closed (local)" state, the recipient MUST respond - // with a stream error (Section 5.4.2) of type STREAM_CLOSED." - id := f.Header().StreamID - st, ok := sc.streams[id] - if !ok || st.state != stateOpen || st.gotTrailerHeader { - // This includes sending a RST_STREAM if the stream is - // in stateHalfClosedLocal (which currently means that - // the http.Handler returned, so it's done reading & - // done writing). Try to stop the client from sending - // more DATA. - return StreamError{id, ErrCodeStreamClosed} - } - if st.body == nil { - panic("internal error: should have a body in this state") - } - data := f.Data() - - // Sender sending more than they'd declared? - if st.declBodyBytes != -1 && st.bodyBytes+int64(len(data)) > st.declBodyBytes { - st.body.CloseWithError(fmt.Errorf("sender tried to send more than declared Content-Length of %d bytes", st.declBodyBytes)) - return StreamError{id, ErrCodeStreamClosed} - } - if len(data) > 0 { - // Check whether the client has flow control quota. - if int(st.inflow.available()) < len(data) { - return StreamError{id, ErrCodeFlowControl} - } - st.inflow.take(int32(len(data))) - wrote, err := st.body.Write(data) - if err != nil { - return StreamError{id, ErrCodeStreamClosed} - } - if wrote != len(data) { - panic("internal error: bad Writer") - } - st.bodyBytes += int64(len(data)) - } - if f.StreamEnded() { - st.endStream() - } - return nil -} - -// endStream closes a Request.Body's pipe. It is called when a DATA -// frame says a request body is over (or after trailers). -func (st *stream) endStream() { - sc := st.sc - sc.serveG.check() - - if st.declBodyBytes != -1 && st.declBodyBytes != st.bodyBytes { - st.body.CloseWithError(fmt.Errorf("request declared a Content-Length of %d but only wrote %d bytes", - st.declBodyBytes, st.bodyBytes)) - } else { - st.body.closeWithErrorAndCode(io.EOF, st.copyTrailersToHandlerRequest) - st.body.CloseWithError(io.EOF) - } - st.state = stateHalfClosedRemote -} - -// copyTrailersToHandlerRequest is run in the Handler's goroutine in -// its Request.Body.Read just before it gets io.EOF. -func (st *stream) copyTrailersToHandlerRequest() { - for k, vv := range st.trailer { - if _, ok := st.reqTrailer[k]; ok { - // Only copy it over it was pre-declared. - st.reqTrailer[k] = vv - } - } -} - -func (sc *serverConn) processHeaders(f *HeadersFrame) error { - sc.serveG.check() - id := f.Header().StreamID - if sc.inGoAway { - // Ignore. - return nil - } - // http://http2.github.io/http2-spec/#rfc.section.5.1.1 - // Streams initiated by a client MUST use odd-numbered stream - // identifiers. [...] An endpoint that receives an unexpected - // stream identifier MUST respond with a connection error - // (Section 5.4.1) of type PROTOCOL_ERROR. - if id%2 != 1 { - return ConnectionError(ErrCodeProtocol) - } - // A HEADERS frame can be used to create a new stream or - // send a trailer for an open one. If we already have a stream - // open, let it process its own HEADERS frame (trailers at this - // point, if it's valid). - st := sc.streams[f.Header().StreamID] - if st != nil { - return st.processTrailerHeaders(f) - } - - // [...] The identifier of a newly established stream MUST be - // numerically greater than all streams that the initiating - // endpoint has opened or reserved. [...] An endpoint that - // receives an unexpected stream identifier MUST respond with - // a connection error (Section 5.4.1) of type PROTOCOL_ERROR. - if id <= sc.maxStreamID || sc.req.stream != nil { - return ConnectionError(ErrCodeProtocol) - } - - if id > sc.maxStreamID { - sc.maxStreamID = id - } - st = &stream{ - sc: sc, - id: id, - state: stateOpen, - } - if f.StreamEnded() { - st.state = stateHalfClosedRemote - } - st.cw.Init() - - st.flow.conn = &sc.flow // link to conn-level counter - st.flow.add(sc.initialWindowSize) - st.inflow.conn = &sc.inflow // link to conn-level counter - st.inflow.add(initialWindowSize) // TODO: update this when we send a higher initial window size in the initial settings - - sc.streams[id] = st - if f.HasPriority() { - adjustStreamPriority(sc.streams, st.id, f.Priority) - } - sc.curOpenStreams++ - if sc.curOpenStreams == 1 { - sc.setConnState(http.StateActive) - } - sc.req = requestParam{ - stream: st, - header: make(http.Header), - } - sc.hpackDecoder.SetEmitFunc(sc.onNewHeaderField) - sc.hpackDecoder.SetEmitEnabled(true) - return sc.processHeaderBlockFragment(st, f.HeaderBlockFragment(), f.HeadersEnded()) -} - -func (st *stream) processTrailerHeaders(f *HeadersFrame) error { - sc := st.sc - sc.serveG.check() - if st.gotTrailerHeader { - return ConnectionError(ErrCodeProtocol) - } - st.gotTrailerHeader = true - if !f.StreamEnded() { - return StreamError{st.id, ErrCodeProtocol} - } - sc.resetPendingRequest() // we use invalidHeader from it for trailers - return st.processTrailerHeaderBlockFragment(f.HeaderBlockFragment(), f.HeadersEnded()) -} - -func (sc *serverConn) processContinuation(f *ContinuationFrame) error { - sc.serveG.check() - st := sc.streams[f.Header().StreamID] - if st.gotTrailerHeader { - return st.processTrailerHeaderBlockFragment(f.HeaderBlockFragment(), f.HeadersEnded()) - } - return sc.processHeaderBlockFragment(st, f.HeaderBlockFragment(), f.HeadersEnded()) -} - -func (sc *serverConn) processHeaderBlockFragment(st *stream, frag []byte, end bool) error { - sc.serveG.check() - if _, err := sc.hpackDecoder.Write(frag); err != nil { - return ConnectionError(ErrCodeCompression) - } - if !end { - return nil - } - if err := sc.hpackDecoder.Close(); err != nil { - return ConnectionError(ErrCodeCompression) - } - defer sc.resetPendingRequest() - if sc.curOpenStreams > sc.advMaxStreams { - // "Endpoints MUST NOT exceed the limit set by their - // peer. An endpoint that receives a HEADERS frame - // that causes their advertised concurrent stream - // limit to be exceeded MUST treat this as a stream - // error (Section 5.4.2) of type PROTOCOL_ERROR or - // REFUSED_STREAM." - if sc.unackedSettings == 0 { - // They should know better. - return StreamError{st.id, ErrCodeProtocol} - } - // Assume it's a network race, where they just haven't - // received our last SETTINGS update. But actually - // this can't happen yet, because we don't yet provide - // a way for users to adjust server parameters at - // runtime. - return StreamError{st.id, ErrCodeRefusedStream} - } - - rw, req, err := sc.newWriterAndRequest() - if err != nil { - return err - } - st.reqTrailer = req.Trailer - if st.reqTrailer != nil { - st.trailer = make(http.Header) - } - st.body = req.Body.(*requestBody).pipe // may be nil - st.declBodyBytes = req.ContentLength - - handler := sc.handler.ServeHTTP - if !sc.hpackDecoder.EmitEnabled() { - // Their header list was too long. Send a 431 error. - handler = handleHeaderListTooLong - } - - go sc.runHandler(rw, req, handler) - return nil -} - -func (st *stream) processTrailerHeaderBlockFragment(frag []byte, end bool) error { - sc := st.sc - sc.serveG.check() - sc.hpackDecoder.SetEmitFunc(st.onNewTrailerField) - if _, err := sc.hpackDecoder.Write(frag); err != nil { - return ConnectionError(ErrCodeCompression) - } - if !end { - return nil - } - - rp := &sc.req - if rp.invalidHeader { - return StreamError{rp.stream.id, ErrCodeProtocol} - } - - err := sc.hpackDecoder.Close() - st.endStream() - if err != nil { - return ConnectionError(ErrCodeCompression) - } - return nil -} - -func (sc *serverConn) processPriority(f *PriorityFrame) error { - adjustStreamPriority(sc.streams, f.StreamID, f.PriorityParam) - return nil -} - -func adjustStreamPriority(streams map[uint32]*stream, streamID uint32, priority PriorityParam) { - st, ok := streams[streamID] - if !ok { - // TODO: not quite correct (this streamID might - // already exist in the dep tree, but be closed), but - // close enough for now. - return - } - st.weight = priority.Weight - parent := streams[priority.StreamDep] // might be nil - if parent == st { - // if client tries to set this stream to be the parent of itself - // ignore and keep going - return - } - - // section 5.3.3: If a stream is made dependent on one of its - // own dependencies, the formerly dependent stream is first - // moved to be dependent on the reprioritized stream's previous - // parent. The moved dependency retains its weight. - for piter := parent; piter != nil; piter = piter.parent { - if piter == st { - parent.parent = st.parent - break - } - } - st.parent = parent - if priority.Exclusive && (st.parent != nil || priority.StreamDep == 0) { - for _, openStream := range streams { - if openStream != st && openStream.parent == st.parent { - openStream.parent = st - } - } - } -} - -// resetPendingRequest zeros out all state related to a HEADERS frame -// and its zero or more CONTINUATION frames sent to start a new -// request. -func (sc *serverConn) resetPendingRequest() { - sc.serveG.check() - sc.req = requestParam{} -} - -func (sc *serverConn) newWriterAndRequest() (*responseWriter, *http.Request, error) { - sc.serveG.check() - rp := &sc.req - - if rp.invalidHeader { - return nil, nil, StreamError{rp.stream.id, ErrCodeProtocol} - } - - isConnect := rp.method == "CONNECT" - if isConnect { - if rp.path != "" || rp.scheme != "" || rp.authority == "" { - return nil, nil, StreamError{rp.stream.id, ErrCodeProtocol} - } - } else if rp.method == "" || rp.path == "" || - (rp.scheme != "https" && rp.scheme != "http") { - // See 8.1.2.6 Malformed Requests and Responses: - // - // Malformed requests or responses that are detected - // MUST be treated as a stream error (Section 5.4.2) - // of type PROTOCOL_ERROR." - // - // 8.1.2.3 Request Pseudo-Header Fields - // "All HTTP/2 requests MUST include exactly one valid - // value for the :method, :scheme, and :path - // pseudo-header fields" - return nil, nil, StreamError{rp.stream.id, ErrCodeProtocol} - } - - bodyOpen := rp.stream.state == stateOpen - if rp.method == "HEAD" && bodyOpen { - // HEAD requests can't have bodies - return nil, nil, StreamError{rp.stream.id, ErrCodeProtocol} - } - var tlsState *tls.ConnectionState // nil if not scheme https - - if rp.scheme == "https" { - tlsState = sc.tlsState - } - authority := rp.authority - if authority == "" { - authority = rp.header.Get("Host") - } - needsContinue := rp.header.Get("Expect") == "100-continue" - if needsContinue { - rp.header.Del("Expect") - } - // Merge Cookie headers into one "; "-delimited value. - if cookies := rp.header["Cookie"]; len(cookies) > 1 { - rp.header.Set("Cookie", strings.Join(cookies, "; ")) - } - - // Setup Trailers - var trailer http.Header - for _, v := range rp.header["Trailer"] { - for _, key := range strings.Split(v, ",") { - key = http.CanonicalHeaderKey(strings.TrimSpace(key)) - switch key { - case "Transfer-Encoding", "Trailer", "Content-Length": - // Bogus. (copy of http1 rules) - // Ignore. - default: - if trailer == nil { - trailer = make(http.Header) - } - trailer[key] = nil - } - } - } - delete(rp.header, "Trailer") - - body := &requestBody{ - conn: sc, - stream: rp.stream, - needsContinue: needsContinue, - } - var url_ *url.URL - var requestURI string - if isConnect { - url_ = &url.URL{Host: rp.authority} - requestURI = rp.authority // mimic HTTP/1 server behavior - } else { - var err error - url_, err = url.ParseRequestURI(rp.path) - if err != nil { - return nil, nil, StreamError{rp.stream.id, ErrCodeProtocol} - } - requestURI = rp.path - } - req := &http.Request{ - Method: rp.method, - URL: url_, - RemoteAddr: sc.remoteAddrStr, - Header: rp.header, - RequestURI: requestURI, - Proto: "HTTP/2.0", - ProtoMajor: 2, - ProtoMinor: 0, - TLS: tlsState, - Host: authority, - Body: body, - Trailer: trailer, - } - if bodyOpen { - body.pipe = &pipe{ - b: &fixedBuffer{buf: make([]byte, initialWindowSize)}, // TODO: garbage - } - - if vv, ok := rp.header["Content-Length"]; ok { - req.ContentLength, _ = strconv.ParseInt(vv[0], 10, 64) - } else { - req.ContentLength = -1 - } - } - - rws := responseWriterStatePool.Get().(*responseWriterState) - bwSave := rws.bw - *rws = responseWriterState{} // zero all the fields - rws.conn = sc - rws.bw = bwSave - rws.bw.Reset(chunkWriter{rws}) - rws.stream = rp.stream - rws.req = req - rws.body = body - - rw := &responseWriter{rws: rws} - return rw, req, nil -} - -// Run on its own goroutine. -func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) { - didPanic := true - defer func() { - if didPanic { - e := recover() - // Same as net/http: - const size = 64 << 10 - buf := make([]byte, size) - buf = buf[:runtime.Stack(buf, false)] - sc.writeFrameFromHandler(frameWriteMsg{ - write: handlerPanicRST{rw.rws.stream.id}, - stream: rw.rws.stream, - }) - sc.logf("http2: panic serving %v: %v\n%s", sc.conn.RemoteAddr(), e, buf) - return - } - rw.handlerDone() - }() - handler(rw, req) - didPanic = false -} - -func handleHeaderListTooLong(w http.ResponseWriter, r *http.Request) { - // 10.5.1 Limits on Header Block Size: - // .. "A server that receives a larger header block than it is - // willing to handle can send an HTTP 431 (Request Header Fields Too - // Large) status code" - const statusRequestHeaderFieldsTooLarge = 431 // only in Go 1.6+ - w.WriteHeader(statusRequestHeaderFieldsTooLarge) - io.WriteString(w, "

    HTTP Error 431

    Request Header Field(s) Too Large

    ") -} - -// called from handler goroutines. -// h may be nil. -func (sc *serverConn) writeHeaders(st *stream, headerData *writeResHeaders) error { - sc.serveG.checkNotOn() // NOT on - var errc chan error - if headerData.h != nil { - // If there's a header map (which we don't own), so we have to block on - // waiting for this frame to be written, so an http.Flush mid-handler - // writes out the correct value of keys, before a handler later potentially - // mutates it. - errc = errChanPool.Get().(chan error) - } - if err := sc.writeFrameFromHandler(frameWriteMsg{ - write: headerData, - stream: st, - done: errc, - }); err != nil { - return err - } - if errc != nil { - select { - case err := <-errc: - errChanPool.Put(errc) - return err - case <-sc.doneServing: - return errClientDisconnected - case <-st.cw: - return errStreamClosed - } - } - return nil -} - -// called from handler goroutines. -func (sc *serverConn) write100ContinueHeaders(st *stream) { - sc.writeFrameFromHandler(frameWriteMsg{ - write: write100ContinueHeadersFrame{st.id}, - stream: st, - }) -} - -// A bodyReadMsg tells the server loop that the http.Handler read n -// bytes of the DATA from the client on the given stream. -type bodyReadMsg struct { - st *stream - n int -} - -// called from handler goroutines. -// Notes that the handler for the given stream ID read n bytes of its body -// and schedules flow control tokens to be sent. -func (sc *serverConn) noteBodyReadFromHandler(st *stream, n int) { - sc.serveG.checkNotOn() // NOT on - select { - case sc.bodyReadCh <- bodyReadMsg{st, n}: - case <-sc.doneServing: - } -} - -func (sc *serverConn) noteBodyRead(st *stream, n int) { - sc.serveG.check() - sc.sendWindowUpdate(nil, n) // conn-level - if st.state != stateHalfClosedRemote && st.state != stateClosed { - // Don't send this WINDOW_UPDATE if the stream is closed - // remotely. - sc.sendWindowUpdate(st, n) - } -} - -// st may be nil for conn-level -func (sc *serverConn) sendWindowUpdate(st *stream, n int) { - sc.serveG.check() - // "The legal range for the increment to the flow control - // window is 1 to 2^31-1 (2,147,483,647) octets." - // A Go Read call on 64-bit machines could in theory read - // a larger Read than this. Very unlikely, but we handle it here - // rather than elsewhere for now. - const maxUint31 = 1<<31 - 1 - for n >= maxUint31 { - sc.sendWindowUpdate32(st, maxUint31) - n -= maxUint31 - } - sc.sendWindowUpdate32(st, int32(n)) -} - -// st may be nil for conn-level -func (sc *serverConn) sendWindowUpdate32(st *stream, n int32) { - sc.serveG.check() - if n == 0 { - return - } - if n < 0 { - panic("negative update") - } - var streamID uint32 - if st != nil { - streamID = st.id - } - sc.writeFrame(frameWriteMsg{ - write: writeWindowUpdate{streamID: streamID, n: uint32(n)}, - stream: st, - }) - var ok bool - if st == nil { - ok = sc.inflow.add(n) - } else { - ok = st.inflow.add(n) - } - if !ok { - panic("internal error; sent too many window updates without decrements?") - } -} - -type requestBody struct { - stream *stream - conn *serverConn - closed bool - pipe *pipe // non-nil if we have a HTTP entity message body - needsContinue bool // need to send a 100-continue -} - -func (b *requestBody) Close() error { - if b.pipe != nil { - b.pipe.CloseWithError(errClosedBody) - } - b.closed = true - return nil -} - -func (b *requestBody) Read(p []byte) (n int, err error) { - if b.needsContinue { - b.needsContinue = false - b.conn.write100ContinueHeaders(b.stream) - } - if b.pipe == nil { - return 0, io.EOF - } - n, err = b.pipe.Read(p) - if n > 0 { - b.conn.noteBodyReadFromHandler(b.stream, n) - } - return -} - -// responseWriter is the http.ResponseWriter implementation. It's -// intentionally small (1 pointer wide) to minimize garbage. The -// responseWriterState pointer inside is zeroed at the end of a -// request (in handlerDone) and calls on the responseWriter thereafter -// simply crash (caller's mistake), but the much larger responseWriterState -// and buffers are reused between multiple requests. -type responseWriter struct { - rws *responseWriterState -} - -// Optional http.ResponseWriter interfaces implemented. -var ( - _ http.CloseNotifier = (*responseWriter)(nil) - _ http.Flusher = (*responseWriter)(nil) - _ stringWriter = (*responseWriter)(nil) -) - -type responseWriterState struct { - // immutable within a request: - stream *stream - req *http.Request - body *requestBody // to close at end of request, if DATA frames didn't - conn *serverConn - - // TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc - bw *bufio.Writer // writing to a chunkWriter{this *responseWriterState} - - // mutated by http.Handler goroutine: - handlerHeader http.Header // nil until called - snapHeader http.Header // snapshot of handlerHeader at WriteHeader time - trailers []string // set in writeChunk - status int // status code passed to WriteHeader - wroteHeader bool // WriteHeader called (explicitly or implicitly). Not necessarily sent to user yet. - sentHeader bool // have we sent the header frame? - handlerDone bool // handler has finished - - sentContentLen int64 // non-zero if handler set a Content-Length header - wroteBytes int64 - - closeNotifierMu sync.Mutex // guards closeNotifierCh - closeNotifierCh chan bool // nil until first used -} - -type chunkWriter struct{ rws *responseWriterState } - -func (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) } - -func (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) != 0 } - -// declareTrailer is called for each Trailer header when the -// response header is written. It notes that a header will need to be -// written in the trailers at the end of the response. -func (rws *responseWriterState) declareTrailer(k string) { - k = http.CanonicalHeaderKey(k) - switch k { - case "Transfer-Encoding", "Content-Length", "Trailer": - // Forbidden by RFC 2616 14.40. - return - } - if !strSliceContains(rws.trailers, k) { - rws.trailers = append(rws.trailers, k) - } -} - -// writeChunk writes chunks from the bufio.Writer. But because -// bufio.Writer may bypass its chunking, sometimes p may be -// arbitrarily large. -// -// writeChunk is also responsible (on the first chunk) for sending the -// HEADER response. -func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { - if !rws.wroteHeader { - rws.writeHeader(200) - } - - isHeadResp := rws.req.Method == "HEAD" - if !rws.sentHeader { - rws.sentHeader = true - var ctype, clen string - if clen = rws.snapHeader.Get("Content-Length"); clen != "" { - rws.snapHeader.Del("Content-Length") - clen64, err := strconv.ParseInt(clen, 10, 64) - if err == nil && clen64 >= 0 { - rws.sentContentLen = clen64 - } else { - clen = "" - } - } - if clen == "" && rws.handlerDone && bodyAllowedForStatus(rws.status) && (len(p) > 0 || !isHeadResp) { - clen = strconv.Itoa(len(p)) - } - _, hasContentType := rws.snapHeader["Content-Type"] - if !hasContentType && bodyAllowedForStatus(rws.status) { - ctype = http.DetectContentType(p) - } - var date string - if _, ok := rws.snapHeader["Date"]; !ok { - // TODO(bradfitz): be faster here, like net/http? measure. - date = time.Now().UTC().Format(http.TimeFormat) - } - - for _, v := range rws.snapHeader["Trailer"] { - foreachHeaderElement(v, rws.declareTrailer) - } - - endStream := (rws.handlerDone && !rws.hasTrailers() && len(p) == 0) || isHeadResp - err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ - streamID: rws.stream.id, - httpResCode: rws.status, - h: rws.snapHeader, - endStream: endStream, - contentType: ctype, - contentLength: clen, - date: date, - }) - if err != nil { - return 0, err - } - if endStream { - return 0, nil - } - } - if isHeadResp { - return len(p), nil - } - if len(p) == 0 && !rws.handlerDone { - return 0, nil - } - - if rws.handlerDone { - rws.promoteUndeclaredTrailers() - } - - endStream := rws.handlerDone && !rws.hasTrailers() - if len(p) > 0 || endStream { - // only send a 0 byte DATA frame if we're ending the stream. - if err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil { - return 0, err - } - } - - if rws.handlerDone && rws.hasTrailers() { - err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ - streamID: rws.stream.id, - h: rws.handlerHeader, - trailers: rws.trailers, - endStream: true, - }) - return len(p), err - } - return len(p), nil -} - -// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys -// that, if present, signals that the map entry is actually for -// the response trailers, and not the response headers. The prefix -// is stripped after the ServeHTTP call finishes and the values are -// sent in the trailers. -// -// This mechanism is intended only for trailers that are not known -// prior to the headers being written. If the set of trailers is fixed -// or known before the header is written, the normal Go trailers mechanism -// is preferred: -// https://golang.org/pkg/net/http/#ResponseWriter -// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers -const TrailerPrefix = "Trailer:" - -// promoteUndeclaredTrailers permits http.Handlers to set trailers -// after the header has already been flushed. Because the Go -// ResponseWriter interface has no way to set Trailers (only the -// Header), and because we didn't want to expand the ResponseWriter -// interface, and because nobody used trailers, and because RFC 2616 -// says you SHOULD (but not must) predeclare any trailers in the -// header, the official ResponseWriter rules said trailers in Go must -// be predeclared, and then we reuse the same ResponseWriter.Header() -// map to mean both Headers and Trailers. When it's time to write the -// Trailers, we pick out the fields of Headers that were declared as -// trailers. That worked for a while, until we found the first major -// user of Trailers in the wild: gRPC (using them only over http2), -// and gRPC libraries permit setting trailers mid-stream without -// predeclarnig them. So: change of plans. We still permit the old -// way, but we also permit this hack: if a Header() key begins with -// "Trailer:", the suffix of that key is a Trailer. Because ':' is an -// invalid token byte anyway, there is no ambiguity. (And it's already -// filtered out) It's mildly hacky, but not terrible. -// -// This method runs after the Handler is done and promotes any Header -// fields to be trailers. -func (rws *responseWriterState) promoteUndeclaredTrailers() { - for k, vv := range rws.handlerHeader { - if !strings.HasPrefix(k, TrailerPrefix) { - continue - } - trailerKey := strings.TrimPrefix(k, TrailerPrefix) - rws.declareTrailer(trailerKey) - rws.handlerHeader[http.CanonicalHeaderKey(trailerKey)] = vv - } - sort.Strings(rws.trailers) -} - -func (w *responseWriter) Flush() { - rws := w.rws - if rws == nil { - panic("Header called after Handler finished") - } - if rws.bw.Buffered() > 0 { - if err := rws.bw.Flush(); err != nil { - // Ignore the error. The frame writer already knows. - return - } - } else { - // The bufio.Writer won't call chunkWriter.Write - // (writeChunk with zero bytes, so we have to do it - // ourselves to force the HTTP response header and/or - // final DATA frame (with END_STREAM) to be sent. - rws.writeChunk(nil) - } -} - -func (w *responseWriter) CloseNotify() <-chan bool { - rws := w.rws - if rws == nil { - panic("CloseNotify called after Handler finished") - } - rws.closeNotifierMu.Lock() - ch := rws.closeNotifierCh - if ch == nil { - ch = make(chan bool, 1) - rws.closeNotifierCh = ch - go func() { - rws.stream.cw.Wait() // wait for close - ch <- true - }() - } - rws.closeNotifierMu.Unlock() - return ch -} - -func (w *responseWriter) Header() http.Header { - rws := w.rws - if rws == nil { - panic("Header called after Handler finished") - } - if rws.handlerHeader == nil { - rws.handlerHeader = make(http.Header) - } - return rws.handlerHeader -} - -func (w *responseWriter) WriteHeader(code int) { - rws := w.rws - if rws == nil { - panic("WriteHeader called after Handler finished") - } - rws.writeHeader(code) -} - -func (rws *responseWriterState) writeHeader(code int) { - if !rws.wroteHeader { - rws.wroteHeader = true - rws.status = code - if len(rws.handlerHeader) > 0 { - rws.snapHeader = cloneHeader(rws.handlerHeader) - } - } -} - -func cloneHeader(h http.Header) http.Header { - h2 := make(http.Header, len(h)) - for k, vv := range h { - vv2 := make([]string, len(vv)) - copy(vv2, vv) - h2[k] = vv2 - } - return h2 -} - -// The Life Of A Write is like this: -// -// * Handler calls w.Write or w.WriteString -> -// * -> rws.bw (*bufio.Writer) -> -// * (Handler migth call Flush) -// * -> chunkWriter{rws} -// * -> responseWriterState.writeChunk(p []byte) -// * -> responseWriterState.writeChunk (most of the magic; see comment there) -func (w *responseWriter) Write(p []byte) (n int, err error) { - return w.write(len(p), p, "") -} - -func (w *responseWriter) WriteString(s string) (n int, err error) { - return w.write(len(s), nil, s) -} - -// either dataB or dataS is non-zero. -func (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int, err error) { - rws := w.rws - if rws == nil { - panic("Write called after Handler finished") - } - if !rws.wroteHeader { - w.WriteHeader(200) - } - if !bodyAllowedForStatus(rws.status) { - return 0, http.ErrBodyNotAllowed - } - rws.wroteBytes += int64(len(dataB)) + int64(len(dataS)) // only one can be set - if rws.sentContentLen != 0 && rws.wroteBytes > rws.sentContentLen { - // TODO: send a RST_STREAM - return 0, errors.New("http2: handler wrote more than declared Content-Length") - } - - if dataB != nil { - return rws.bw.Write(dataB) - } else { - return rws.bw.WriteString(dataS) - } -} - -func (w *responseWriter) handlerDone() { - rws := w.rws - rws.handlerDone = true - w.Flush() - w.rws = nil - responseWriterStatePool.Put(rws) -} - -// foreachHeaderElement splits v according to the "#rule" construction -// in RFC 2616 section 2.1 and calls fn for each non-empty element. -func foreachHeaderElement(v string, fn func(string)) { - v = textproto.TrimString(v) - if v == "" { - return - } - if !strings.Contains(v, ",") { - fn(v) - return - } - for _, f := range strings.Split(v, ",") { - if f = textproto.TrimString(f); f != "" { - fn(f) - } - } -} diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go deleted file mode 100644 index 8e2e5f2cf..000000000 --- a/vendor/golang.org/x/net/http2/transport.go +++ /dev/null @@ -1,1710 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Transport code. - -package http2 - -import ( - "bufio" - "bytes" - "compress/gzip" - "crypto/tls" - "errors" - "fmt" - "io" - "io/ioutil" - "log" - "net" - "net/http" - "sort" - "strconv" - "strings" - "sync" - "time" - - "golang.org/x/net/http2/hpack" -) - -const ( - // transportDefaultConnFlow is how many connection-level flow control - // tokens we give the server at start-up, past the default 64k. - transportDefaultConnFlow = 1 << 30 - - // transportDefaultStreamFlow is how many stream-level flow - // control tokens we announce to the peer, and how many bytes - // we buffer per stream. - transportDefaultStreamFlow = 4 << 20 - - // transportDefaultStreamMinRefresh is the minimum number of bytes we'll send - // a stream-level WINDOW_UPDATE for at a time. - transportDefaultStreamMinRefresh = 4 << 10 - - defaultUserAgent = "Go-http-client/2.0" -) - -// Transport is an HTTP/2 Transport. -// -// A Transport internally caches connections to servers. It is safe -// for concurrent use by multiple goroutines. -type Transport struct { - // DialTLS specifies an optional dial function for creating - // TLS connections for requests. - // - // If DialTLS is nil, tls.Dial is used. - // - // If the returned net.Conn has a ConnectionState method like tls.Conn, - // it will be used to set http.Response.TLS. - DialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error) - - // TLSClientConfig specifies the TLS configuration to use with - // tls.Client. If nil, the default configuration is used. - TLSClientConfig *tls.Config - - // ConnPool optionally specifies an alternate connection pool to use. - // If nil, the default is used. - ConnPool ClientConnPool - - // DisableCompression, if true, prevents the Transport from - // requesting compression with an "Accept-Encoding: gzip" - // request header when the Request contains no existing - // Accept-Encoding value. If the Transport requests gzip on - // its own and gets a gzipped response, it's transparently - // decoded in the Response.Body. However, if the user - // explicitly requested gzip it is not automatically - // uncompressed. - DisableCompression bool - - // MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to - // send in the initial settings frame. It is how many bytes - // of response headers are allow. Unlike the http2 spec, zero here - // means to use a default limit (currently 10MB). If you actually - // want to advertise an ulimited value to the peer, Transport - // interprets the highest possible value here (0xffffffff or 1<<32-1) - // to mean no limit. - MaxHeaderListSize uint32 - - // t1, if non-nil, is the standard library Transport using - // this transport. Its settings are used (but not its - // RoundTrip method, etc). - t1 *http.Transport - - connPoolOnce sync.Once - connPoolOrDef ClientConnPool // non-nil version of ConnPool -} - -func (t *Transport) maxHeaderListSize() uint32 { - if t.MaxHeaderListSize == 0 { - return 10 << 20 - } - if t.MaxHeaderListSize == 0xffffffff { - return 0 - } - return t.MaxHeaderListSize -} - -func (t *Transport) disableCompression() bool { - return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression) -} - -var errTransportVersion = errors.New("http2: ConfigureTransport is only supported starting at Go 1.6") - -// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2. -// It requires Go 1.6 or later and returns an error if the net/http package is too old -// or if t1 has already been HTTP/2-enabled. -func ConfigureTransport(t1 *http.Transport) error { - _, err := configureTransport(t1) // in configure_transport.go (go1.6) or not_go16.go - return err -} - -func (t *Transport) connPool() ClientConnPool { - t.connPoolOnce.Do(t.initConnPool) - return t.connPoolOrDef -} - -func (t *Transport) initConnPool() { - if t.ConnPool != nil { - t.connPoolOrDef = t.ConnPool - } else { - t.connPoolOrDef = &clientConnPool{t: t} - } -} - -// ClientConn is the state of a single HTTP/2 client connection to an -// HTTP/2 server. -type ClientConn struct { - t *Transport - tconn net.Conn // usually *tls.Conn, except specialized impls - tlsState *tls.ConnectionState // nil only for specialized impls - - // readLoop goroutine fields: - readerDone chan struct{} // closed on error - readerErr error // set before readerDone is closed - - mu sync.Mutex // guards following - cond *sync.Cond // hold mu; broadcast on flow/closed changes - flow flow // our conn-level flow control quota (cs.flow is per stream) - inflow flow // peer's conn-level flow control - closed bool - goAway *GoAwayFrame // if non-nil, the GoAwayFrame we received - streams map[uint32]*clientStream // client-initiated - nextStreamID uint32 - bw *bufio.Writer - br *bufio.Reader - fr *Framer - // Settings from peer: - maxFrameSize uint32 - maxConcurrentStreams uint32 - initialWindowSize uint32 - hbuf bytes.Buffer // HPACK encoder writes into this - henc *hpack.Encoder - freeBuf [][]byte - - wmu sync.Mutex // held while writing; acquire AFTER mu if holding both - werr error // first write error that has occurred -} - -// clientStream is the state for a single HTTP/2 stream. One of these -// is created for each Transport.RoundTrip call. -type clientStream struct { - cc *ClientConn - req *http.Request - ID uint32 - resc chan resAndError - bufPipe pipe // buffered pipe with the flow-controlled response payload - requestedGzip bool - - flow flow // guarded by cc.mu - inflow flow // guarded by cc.mu - bytesRemain int64 // -1 means unknown; owned by transportResponseBody.Read - readErr error // sticky read error; owned by transportResponseBody.Read - stopReqBody error // if non-nil, stop writing req body; guarded by cc.mu - - peerReset chan struct{} // closed on peer reset - resetErr error // populated before peerReset is closed - - done chan struct{} // closed when stream remove from cc.streams map; close calls guarded by cc.mu - - // owned by clientConnReadLoop: - pastHeaders bool // got HEADERS w/ END_HEADERS - pastTrailers bool // got second HEADERS frame w/ END_HEADERS - - trailer http.Header // accumulated trailers - resTrailer *http.Header // client's Response.Trailer -} - -// awaitRequestCancel runs in its own goroutine and waits for the user -// to either cancel a RoundTrip request (using the provided -// Request.Cancel channel), or for the request to be done (any way it -// might be removed from the cc.streams map: peer reset, successful -// completion, TCP connection breakage, etc) -func (cs *clientStream) awaitRequestCancel(cancel <-chan struct{}) { - if cancel == nil { - return - } - select { - case <-cancel: - cs.bufPipe.CloseWithError(errRequestCanceled) - cs.cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) - case <-cs.done: - } -} - -// checkReset reports any error sent in a RST_STREAM frame by the -// server. -func (cs *clientStream) checkReset() error { - select { - case <-cs.peerReset: - return cs.resetErr - default: - return nil - } -} - -func (cs *clientStream) abortRequestBodyWrite(err error) { - if err == nil { - panic("nil error") - } - cc := cs.cc - cc.mu.Lock() - cs.stopReqBody = err - cc.cond.Broadcast() - cc.mu.Unlock() -} - -type stickyErrWriter struct { - w io.Writer - err *error -} - -func (sew stickyErrWriter) Write(p []byte) (n int, err error) { - if *sew.err != nil { - return 0, *sew.err - } - n, err = sew.w.Write(p) - *sew.err = err - return -} - -var ErrNoCachedConn = errors.New("http2: no cached connection was available") - -// RoundTripOpt are options for the Transport.RoundTripOpt method. -type RoundTripOpt struct { - // OnlyCachedConn controls whether RoundTripOpt may - // create a new TCP connection. If set true and - // no cached connection is available, RoundTripOpt - // will return ErrNoCachedConn. - OnlyCachedConn bool -} - -func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) { - return t.RoundTripOpt(req, RoundTripOpt{}) -} - -// authorityAddr returns a given authority (a host/IP, or host:port / ip:port) -// and returns a host:port. The port 443 is added if needed. -func authorityAddr(authority string) (addr string) { - if _, _, err := net.SplitHostPort(authority); err == nil { - return authority - } - return net.JoinHostPort(authority, "443") -} - -// RoundTripOpt is like RoundTrip, but takes options. -func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) { - if req.URL.Scheme != "https" { - return nil, errors.New("http2: unsupported scheme") - } - - addr := authorityAddr(req.URL.Host) - for { - cc, err := t.connPool().GetClientConn(req, addr) - if err != nil { - t.vlogf("http2: Transport failed to get client conn for %s: %v", addr, err) - return nil, err - } - res, err := cc.RoundTrip(req) - if shouldRetryRequest(req, err) { - continue - } - if err != nil { - t.vlogf("RoundTrip failure: %v", err) - return nil, err - } - return res, nil - } -} - -// CloseIdleConnections closes any connections which were previously -// connected from previous requests but are now sitting idle. -// It does not interrupt any connections currently in use. -func (t *Transport) CloseIdleConnections() { - if cp, ok := t.connPool().(*clientConnPool); ok { - cp.closeIdleConnections() - } -} - -var ( - errClientConnClosed = errors.New("http2: client conn is closed") - errClientConnUnusable = errors.New("http2: client conn not usable") -) - -func shouldRetryRequest(req *http.Request, err error) bool { - // TODO: retry GET requests (no bodies) more aggressively, if shutdown - // before response. - return err == errClientConnUnusable -} - -func (t *Transport) dialClientConn(addr string) (*ClientConn, error) { - host, _, err := net.SplitHostPort(addr) - if err != nil { - return nil, err - } - tconn, err := t.dialTLS()("tcp", addr, t.newTLSConfig(host)) - if err != nil { - return nil, err - } - return t.NewClientConn(tconn) -} - -func (t *Transport) newTLSConfig(host string) *tls.Config { - cfg := new(tls.Config) - if t.TLSClientConfig != nil { - *cfg = *t.TLSClientConfig - } - cfg.NextProtos = []string{NextProtoTLS} // TODO: don't override if already in list - cfg.ServerName = host - return cfg -} - -func (t *Transport) dialTLS() func(string, string, *tls.Config) (net.Conn, error) { - if t.DialTLS != nil { - return t.DialTLS - } - return t.dialTLSDefault -} - -func (t *Transport) dialTLSDefault(network, addr string, cfg *tls.Config) (net.Conn, error) { - cn, err := tls.Dial(network, addr, cfg) - if err != nil { - return nil, err - } - if err := cn.Handshake(); err != nil { - return nil, err - } - if !cfg.InsecureSkipVerify { - if err := cn.VerifyHostname(cfg.ServerName); err != nil { - return nil, err - } - } - state := cn.ConnectionState() - if p := state.NegotiatedProtocol; p != NextProtoTLS { - return nil, fmt.Errorf("http2: unexpected ALPN protocol %q; want %q", p, NextProtoTLS) - } - if !state.NegotiatedProtocolIsMutual { - return nil, errors.New("http2: could not negotiate protocol mutually") - } - return cn, nil -} - -// disableKeepAlives reports whether connections should be closed as -// soon as possible after handling the first request. -func (t *Transport) disableKeepAlives() bool { - return t.t1 != nil && t.t1.DisableKeepAlives -} - -func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { - if VerboseLogs { - t.vlogf("http2: Transport creating client conn to %v", c.RemoteAddr()) - } - if _, err := c.Write(clientPreface); err != nil { - t.vlogf("client preface write error: %v", err) - return nil, err - } - - cc := &ClientConn{ - t: t, - tconn: c, - readerDone: make(chan struct{}), - nextStreamID: 1, - maxFrameSize: 16 << 10, // spec default - initialWindowSize: 65535, // spec default - maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough. - streams: make(map[uint32]*clientStream), - } - cc.cond = sync.NewCond(&cc.mu) - cc.flow.add(int32(initialWindowSize)) - - // TODO: adjust this writer size to account for frame size + - // MTU + crypto/tls record padding. - cc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr}) - cc.br = bufio.NewReader(c) - cc.fr = NewFramer(cc.bw, cc.br) - - // TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on - // henc in response to SETTINGS frames? - cc.henc = hpack.NewEncoder(&cc.hbuf) - - if cs, ok := c.(connectionStater); ok { - state := cs.ConnectionState() - cc.tlsState = &state - } - - initialSettings := []Setting{ - Setting{ID: SettingEnablePush, Val: 0}, - Setting{ID: SettingInitialWindowSize, Val: transportDefaultStreamFlow}, - } - if max := t.maxHeaderListSize(); max != 0 { - initialSettings = append(initialSettings, Setting{ID: SettingMaxHeaderListSize, Val: max}) - } - cc.fr.WriteSettings(initialSettings...) - cc.fr.WriteWindowUpdate(0, transportDefaultConnFlow) - cc.inflow.add(transportDefaultConnFlow + initialWindowSize) - cc.bw.Flush() - if cc.werr != nil { - return nil, cc.werr - } - - // Read the obligatory SETTINGS frame - f, err := cc.fr.ReadFrame() - if err != nil { - return nil, err - } - sf, ok := f.(*SettingsFrame) - if !ok { - return nil, fmt.Errorf("expected settings frame, got: %T", f) - } - cc.fr.WriteSettingsAck() - cc.bw.Flush() - - sf.ForeachSetting(func(s Setting) error { - switch s.ID { - case SettingMaxFrameSize: - cc.maxFrameSize = s.Val - case SettingMaxConcurrentStreams: - cc.maxConcurrentStreams = s.Val - case SettingInitialWindowSize: - cc.initialWindowSize = s.Val - default: - // TODO(bradfitz): handle more; at least SETTINGS_HEADER_TABLE_SIZE? - t.vlogf("Unhandled Setting: %v", s) - } - return nil - }) - - go cc.readLoop() - return cc, nil -} - -func (cc *ClientConn) setGoAway(f *GoAwayFrame) { - cc.mu.Lock() - defer cc.mu.Unlock() - cc.goAway = f -} - -func (cc *ClientConn) CanTakeNewRequest() bool { - cc.mu.Lock() - defer cc.mu.Unlock() - return cc.canTakeNewRequestLocked() -} - -func (cc *ClientConn) canTakeNewRequestLocked() bool { - return cc.goAway == nil && !cc.closed && - int64(len(cc.streams)+1) < int64(cc.maxConcurrentStreams) && - cc.nextStreamID < 2147483647 -} - -func (cc *ClientConn) closeIfIdle() { - cc.mu.Lock() - if len(cc.streams) > 0 { - cc.mu.Unlock() - return - } - cc.closed = true - // TODO: do clients send GOAWAY too? maybe? Just Close: - cc.mu.Unlock() - - cc.tconn.Close() -} - -const maxAllocFrameSize = 512 << 10 - -// frameBuffer returns a scratch buffer suitable for writing DATA frames. -// They're capped at the min of the peer's max frame size or 512KB -// (kinda arbitrarily), but definitely capped so we don't allocate 4GB -// bufers. -func (cc *ClientConn) frameScratchBuffer() []byte { - cc.mu.Lock() - size := cc.maxFrameSize - if size > maxAllocFrameSize { - size = maxAllocFrameSize - } - for i, buf := range cc.freeBuf { - if len(buf) >= int(size) { - cc.freeBuf[i] = nil - cc.mu.Unlock() - return buf[:size] - } - } - cc.mu.Unlock() - return make([]byte, size) -} - -func (cc *ClientConn) putFrameScratchBuffer(buf []byte) { - cc.mu.Lock() - defer cc.mu.Unlock() - const maxBufs = 4 // arbitrary; 4 concurrent requests per conn? investigate. - if len(cc.freeBuf) < maxBufs { - cc.freeBuf = append(cc.freeBuf, buf) - return - } - for i, old := range cc.freeBuf { - if old == nil { - cc.freeBuf[i] = buf - return - } - } - // forget about it. -} - -// errRequestCanceled is a copy of net/http's errRequestCanceled because it's not -// exported. At least they'll be DeepEqual for h1-vs-h2 comparisons tests. -var errRequestCanceled = errors.New("net/http: request canceled") - -func commaSeparatedTrailers(req *http.Request) (string, error) { - keys := make([]string, 0, len(req.Trailer)) - for k := range req.Trailer { - k = http.CanonicalHeaderKey(k) - switch k { - case "Transfer-Encoding", "Trailer", "Content-Length": - return "", &badStringError{"invalid Trailer key", k} - } - keys = append(keys, k) - } - if len(keys) > 0 { - sort.Strings(keys) - // TODO: could do better allocation-wise here, but trailers are rare, - // so being lazy for now. - return strings.Join(keys, ","), nil - } - return "", nil -} - -func (cc *ClientConn) responseHeaderTimeout() time.Duration { - if cc.t.t1 != nil { - return cc.t.t1.ResponseHeaderTimeout - } - // No way to do this (yet?) with just an http2.Transport. Probably - // no need. Request.Cancel this is the new way. We only need to support - // this for compatibility with the old http.Transport fields when - // we're doing transparent http2. - return 0 -} - -func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { - trailers, err := commaSeparatedTrailers(req) - if err != nil { - return nil, err - } - hasTrailers := trailers != "" - - var body io.Reader = req.Body - contentLen := req.ContentLength - if req.Body != nil && contentLen == 0 { - // Test to see if it's actually zero or just unset. - var buf [1]byte - n, rerr := io.ReadFull(body, buf[:]) - if rerr != nil && rerr != io.EOF { - contentLen = -1 - body = errorReader{rerr} - } else if n == 1 { - // Oh, guess there is data in this Body Reader after all. - // The ContentLength field just wasn't set. - // Stich the Body back together again, re-attaching our - // consumed byte. - contentLen = -1 - body = io.MultiReader(bytes.NewReader(buf[:]), body) - } else { - // Body is actually empty. - body = nil - } - } - - cc.mu.Lock() - if cc.closed || !cc.canTakeNewRequestLocked() { - cc.mu.Unlock() - return nil, errClientConnUnusable - } - - cs := cc.newStream() - cs.req = req - hasBody := body != nil - - // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? - if !cc.t.disableCompression() && - req.Header.Get("Accept-Encoding") == "" && - req.Header.Get("Range") == "" && - req.Method != "HEAD" { - // Request gzip only, not deflate. Deflate is ambiguous and - // not as universally supported anyway. - // See: http://www.gzip.org/zlib/zlib_faq.html#faq38 - // - // Note that we don't request this for HEAD requests, - // due to a bug in nginx: - // http://trac.nginx.org/nginx/ticket/358 - // https://golang.org/issue/5522 - // - // We don't request gzip if the request is for a range, since - // auto-decoding a portion of a gzipped document will just fail - // anyway. See https://golang.org/issue/8923 - cs.requestedGzip = true - } - - // we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is - // sent by writeRequestBody below, along with any Trailers, - // again in form HEADERS{1}, CONTINUATION{0,}) - hdrs := cc.encodeHeaders(req, cs.requestedGzip, trailers, contentLen) - cc.wmu.Lock() - endStream := !hasBody && !hasTrailers - werr := cc.writeHeaders(cs.ID, endStream, hdrs) - cc.wmu.Unlock() - cc.mu.Unlock() - - if werr != nil { - if hasBody { - req.Body.Close() // per RoundTripper contract - } - cc.forgetStreamID(cs.ID) - // Don't bother sending a RST_STREAM (our write already failed; - // no need to keep writing) - return nil, werr - } - - var respHeaderTimer <-chan time.Time - var bodyCopyErrc chan error // result of body copy - if hasBody { - bodyCopyErrc = make(chan error, 1) - go func() { - bodyCopyErrc <- cs.writeRequestBody(body, req.Body) - }() - } else { - if d := cc.responseHeaderTimeout(); d != 0 { - timer := time.NewTimer(d) - defer timer.Stop() - respHeaderTimer = timer.C - } - } - - readLoopResCh := cs.resc - requestCanceledCh := requestCancel(req) - bodyWritten := false - - for { - select { - case re := <-readLoopResCh: - res := re.res - if re.err != nil || res.StatusCode > 299 { - // On error or status code 3xx, 4xx, 5xx, etc abort any - // ongoing write, assuming that the server doesn't care - // about our request body. If the server replied with 1xx or - // 2xx, however, then assume the server DOES potentially - // want our body (e.g. full-duplex streaming: - // golang.org/issue/13444). If it turns out the server - // doesn't, they'll RST_STREAM us soon enough. This is a - // heuristic to avoid adding knobs to Transport. Hopefully - // we can keep it. - cs.abortRequestBodyWrite(errStopReqBodyWrite) - } - if re.err != nil { - cc.forgetStreamID(cs.ID) - return nil, re.err - } - res.Request = req - res.TLS = cc.tlsState - return res, nil - case <-respHeaderTimer: - cc.forgetStreamID(cs.ID) - if !hasBody || bodyWritten { - cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) - } else { - cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) - } - return nil, errTimeout - case <-requestCanceledCh: - cc.forgetStreamID(cs.ID) - if !hasBody || bodyWritten { - cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) - } else { - cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) - } - return nil, errRequestCanceled - case <-cs.peerReset: - // processResetStream already removed the - // stream from the streams map; no need for - // forgetStreamID. - return nil, cs.resetErr - case err := <-bodyCopyErrc: - if err != nil { - return nil, err - } - bodyWritten = true - if d := cc.responseHeaderTimeout(); d != 0 { - timer := time.NewTimer(d) - defer timer.Stop() - respHeaderTimer = timer.C - } - } - } -} - -// requires cc.wmu be held -func (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, hdrs []byte) error { - first := true // first frame written (HEADERS is first, then CONTINUATION) - frameSize := int(cc.maxFrameSize) - for len(hdrs) > 0 && cc.werr == nil { - chunk := hdrs - if len(chunk) > frameSize { - chunk = chunk[:frameSize] - } - hdrs = hdrs[len(chunk):] - endHeaders := len(hdrs) == 0 - if first { - cc.fr.WriteHeaders(HeadersFrameParam{ - StreamID: streamID, - BlockFragment: chunk, - EndStream: endStream, - EndHeaders: endHeaders, - }) - first = false - } else { - cc.fr.WriteContinuation(streamID, endHeaders, chunk) - } - } - // TODO(bradfitz): this Flush could potentially block (as - // could the WriteHeaders call(s) above), which means they - // wouldn't respond to Request.Cancel being readable. That's - // rare, but this should probably be in a goroutine. - cc.bw.Flush() - return cc.werr -} - -// internal error values; they don't escape to callers -var ( - // abort request body write; don't send cancel - errStopReqBodyWrite = errors.New("http2: aborting request body write") - - // abort request body write, but send stream reset of cancel. - errStopReqBodyWriteAndCancel = errors.New("http2: canceling request") -) - -func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) { - cc := cs.cc - sentEnd := false // whether we sent the final DATA frame w/ END_STREAM - buf := cc.frameScratchBuffer() - defer cc.putFrameScratchBuffer(buf) - - defer func() { - // TODO: write h12Compare test showing whether - // Request.Body is closed by the Transport, - // and in multiple cases: server replies <=299 and >299 - // while still writing request body - cerr := bodyCloser.Close() - if err == nil { - err = cerr - } - }() - - req := cs.req - hasTrailers := req.Trailer != nil - - var sawEOF bool - for !sawEOF { - n, err := body.Read(buf) - if err == io.EOF { - sawEOF = true - err = nil - } else if err != nil { - return err - } - - remain := buf[:n] - for len(remain) > 0 && err == nil { - var allowed int32 - allowed, err = cs.awaitFlowControl(len(remain)) - switch { - case err == errStopReqBodyWrite: - return err - case err == errStopReqBodyWriteAndCancel: - cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) - return err - case err != nil: - return err - } - cc.wmu.Lock() - data := remain[:allowed] - remain = remain[allowed:] - sentEnd = sawEOF && len(remain) == 0 && !hasTrailers - err = cc.fr.WriteData(cs.ID, sentEnd, data) - if err == nil { - // TODO(bradfitz): this flush is for latency, not bandwidth. - // Most requests won't need this. Make this opt-in or opt-out? - // Use some heuristic on the body type? Nagel-like timers? - // Based on 'n'? Only last chunk of this for loop, unless flow control - // tokens are low? For now, always: - err = cc.bw.Flush() - } - cc.wmu.Unlock() - } - if err != nil { - return err - } - } - - cc.wmu.Lock() - if !sentEnd { - var trls []byte - if hasTrailers { - cc.mu.Lock() - trls = cc.encodeTrailers(req) - cc.mu.Unlock() - } - - // Avoid forgetting to send an END_STREAM if the encoded - // trailers are 0 bytes. Both results produce and END_STREAM. - if len(trls) > 0 { - err = cc.writeHeaders(cs.ID, true, trls) - } else { - err = cc.fr.WriteData(cs.ID, true, nil) - } - } - if ferr := cc.bw.Flush(); ferr != nil && err == nil { - err = ferr - } - cc.wmu.Unlock() - - return err -} - -// awaitFlowControl waits for [1, min(maxBytes, cc.cs.maxFrameSize)] flow -// control tokens from the server. -// It returns either the non-zero number of tokens taken or an error -// if the stream is dead. -func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) { - cc := cs.cc - cc.mu.Lock() - defer cc.mu.Unlock() - for { - if cc.closed { - return 0, errClientConnClosed - } - if cs.stopReqBody != nil { - return 0, cs.stopReqBody - } - if err := cs.checkReset(); err != nil { - return 0, err - } - if a := cs.flow.available(); a > 0 { - take := a - if int(take) > maxBytes { - - take = int32(maxBytes) // can't truncate int; take is int32 - } - if take > int32(cc.maxFrameSize) { - take = int32(cc.maxFrameSize) - } - cs.flow.take(take) - return take, nil - } - cc.cond.Wait() - } -} - -type badStringError struct { - what string - str string -} - -func (e *badStringError) Error() string { return fmt.Sprintf("%s %q", e.what, e.str) } - -// requires cc.mu be held. -func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) []byte { - cc.hbuf.Reset() - - host := req.Host - if host == "" { - host = req.URL.Host - } - - // 8.1.2.3 Request Pseudo-Header Fields - // The :path pseudo-header field includes the path and query parts of the - // target URI (the path-absolute production and optionally a '?' character - // followed by the query production (see Sections 3.3 and 3.4 of - // [RFC3986]). - cc.writeHeader(":authority", host) - cc.writeHeader(":method", req.Method) - if req.Method != "CONNECT" { - cc.writeHeader(":path", req.URL.RequestURI()) - cc.writeHeader(":scheme", "https") - } - if trailers != "" { - cc.writeHeader("trailer", trailers) - } - - var didUA bool - for k, vv := range req.Header { - lowKey := strings.ToLower(k) - if lowKey == "host" || lowKey == "content-length" { - continue - } - if lowKey == "user-agent" { - // Match Go's http1 behavior: at most one - // User-Agent. If set to nil or empty string, - // then omit it. Otherwise if not mentioned, - // include the default (below). - didUA = true - if len(vv) < 1 { - continue - } - vv = vv[:1] - if vv[0] == "" { - continue - } - } - for _, v := range vv { - cc.writeHeader(lowKey, v) - } - } - if shouldSendReqContentLength(req.Method, contentLength) { - cc.writeHeader("content-length", strconv.FormatInt(contentLength, 10)) - } - if addGzipHeader { - cc.writeHeader("accept-encoding", "gzip") - } - if !didUA { - cc.writeHeader("user-agent", defaultUserAgent) - } - return cc.hbuf.Bytes() -} - -// shouldSendReqContentLength reports whether the http2.Transport should send -// a "content-length" request header. This logic is basically a copy of the net/http -// transferWriter.shouldSendContentLength. -// The contentLength is the corrected contentLength (so 0 means actually 0, not unknown). -// -1 means unknown. -func shouldSendReqContentLength(method string, contentLength int64) bool { - if contentLength > 0 { - return true - } - if contentLength < 0 { - return false - } - // For zero bodies, whether we send a content-length depends on the method. - // It also kinda doesn't matter for http2 either way, with END_STREAM. - switch method { - case "POST", "PUT", "PATCH": - return true - default: - return false - } -} - -// requires cc.mu be held. -func (cc *ClientConn) encodeTrailers(req *http.Request) []byte { - cc.hbuf.Reset() - for k, vv := range req.Trailer { - // Transfer-Encoding, etc.. have already been filter at the - // start of RoundTrip - lowKey := strings.ToLower(k) - for _, v := range vv { - cc.writeHeader(lowKey, v) - } - } - return cc.hbuf.Bytes() -} - -func (cc *ClientConn) writeHeader(name, value string) { - if VerboseLogs { - log.Printf("http2: Transport encoding header %q = %q", name, value) - } - cc.henc.WriteField(hpack.HeaderField{Name: name, Value: value}) -} - -type resAndError struct { - res *http.Response - err error -} - -// requires cc.mu be held. -func (cc *ClientConn) newStream() *clientStream { - cs := &clientStream{ - cc: cc, - ID: cc.nextStreamID, - resc: make(chan resAndError, 1), - peerReset: make(chan struct{}), - done: make(chan struct{}), - } - cs.flow.add(int32(cc.initialWindowSize)) - cs.flow.setConnFlow(&cc.flow) - cs.inflow.add(transportDefaultStreamFlow) - cs.inflow.setConnFlow(&cc.inflow) - cc.nextStreamID += 2 - cc.streams[cs.ID] = cs - return cs -} - -func (cc *ClientConn) forgetStreamID(id uint32) { - cc.streamByID(id, true) -} - -func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream { - cc.mu.Lock() - defer cc.mu.Unlock() - cs := cc.streams[id] - if andRemove && cs != nil && !cc.closed { - delete(cc.streams, id) - close(cs.done) - } - return cs -} - -// clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop. -type clientConnReadLoop struct { - cc *ClientConn - activeRes map[uint32]*clientStream // keyed by streamID - - hdec *hpack.Decoder - - // Fields reset on each HEADERS: - nextRes *http.Response - sawRegHeader bool // saw non-pseudo header - reqMalformed error // non-nil once known to be malformed - lastHeaderEndsStream bool - headerListSize int64 // actually uint32, but easier math this way -} - -// readLoop runs in its own goroutine and reads and dispatches frames. -func (cc *ClientConn) readLoop() { - rl := &clientConnReadLoop{ - cc: cc, - activeRes: make(map[uint32]*clientStream), - } - rl.hdec = hpack.NewDecoder(initialHeaderTableSize, rl.onNewHeaderField) - - defer rl.cleanup() - cc.readerErr = rl.run() - if ce, ok := cc.readerErr.(ConnectionError); ok { - cc.wmu.Lock() - cc.fr.WriteGoAway(0, ErrCode(ce), nil) - cc.wmu.Unlock() - } -} - -func (rl *clientConnReadLoop) cleanup() { - cc := rl.cc - defer cc.tconn.Close() - defer cc.t.connPool().MarkDead(cc) - defer close(cc.readerDone) - - // Close any response bodies if the server closes prematurely. - // TODO: also do this if we've written the headers but not - // gotten a response yet. - err := cc.readerErr - if err == io.EOF { - err = io.ErrUnexpectedEOF - } - cc.mu.Lock() - for _, cs := range rl.activeRes { - cs.bufPipe.CloseWithError(err) - } - for _, cs := range cc.streams { - select { - case cs.resc <- resAndError{err: err}: - default: - } - close(cs.done) - } - cc.closed = true - cc.cond.Broadcast() - cc.mu.Unlock() -} - -func (rl *clientConnReadLoop) run() error { - cc := rl.cc - closeWhenIdle := cc.t.disableKeepAlives() - gotReply := false // ever saw a reply - for { - f, err := cc.fr.ReadFrame() - if err != nil { - cc.vlogf("Transport readFrame error: (%T) %v", err, err) - } - if se, ok := err.(StreamError); ok { - // TODO: deal with stream errors from the framer. - return se - } else if err != nil { - return err - } - if VerboseLogs { - cc.vlogf("http2: Transport received %s", summarizeFrame(f)) - } - maybeIdle := false // whether frame might transition us to idle - - switch f := f.(type) { - case *HeadersFrame: - err = rl.processHeaders(f) - maybeIdle = true - gotReply = true - case *ContinuationFrame: - err = rl.processContinuation(f) - maybeIdle = true - case *DataFrame: - err = rl.processData(f) - maybeIdle = true - case *GoAwayFrame: - err = rl.processGoAway(f) - maybeIdle = true - case *RSTStreamFrame: - err = rl.processResetStream(f) - maybeIdle = true - case *SettingsFrame: - err = rl.processSettings(f) - case *PushPromiseFrame: - err = rl.processPushPromise(f) - case *WindowUpdateFrame: - err = rl.processWindowUpdate(f) - case *PingFrame: - err = rl.processPing(f) - default: - cc.logf("Transport: unhandled response frame type %T", f) - } - if err != nil { - return err - } - if closeWhenIdle && gotReply && maybeIdle && len(rl.activeRes) == 0 { - cc.closeIfIdle() - } - } -} - -func (rl *clientConnReadLoop) processHeaders(f *HeadersFrame) error { - rl.sawRegHeader = false - rl.reqMalformed = nil - rl.lastHeaderEndsStream = f.StreamEnded() - rl.headerListSize = 0 - rl.nextRes = &http.Response{ - Proto: "HTTP/2.0", - ProtoMajor: 2, - Header: make(http.Header), - } - rl.hdec.SetEmitEnabled(true) - return rl.processHeaderBlockFragment(f.HeaderBlockFragment(), f.StreamID, f.HeadersEnded()) -} - -func (rl *clientConnReadLoop) processContinuation(f *ContinuationFrame) error { - return rl.processHeaderBlockFragment(f.HeaderBlockFragment(), f.StreamID, f.HeadersEnded()) -} - -func (rl *clientConnReadLoop) processHeaderBlockFragment(frag []byte, streamID uint32, finalFrag bool) error { - cc := rl.cc - streamEnded := rl.lastHeaderEndsStream - cs := cc.streamByID(streamID, streamEnded && finalFrag) - if cs == nil { - // We'd get here if we canceled a request while the - // server was mid-way through replying with its - // headers. (The case of a CONTINUATION arriving - // without HEADERS would be rejected earlier by the - // Framer). So if this was just something we canceled, - // ignore it. - return nil - } - if cs.pastHeaders { - rl.hdec.SetEmitFunc(func(f hpack.HeaderField) { rl.onNewTrailerField(cs, f) }) - } else { - rl.hdec.SetEmitFunc(rl.onNewHeaderField) - } - _, err := rl.hdec.Write(frag) - if err != nil { - return ConnectionError(ErrCodeCompression) - } - if finalFrag { - if err := rl.hdec.Close(); err != nil { - return ConnectionError(ErrCodeCompression) - } - } - - if !finalFrag { - return nil - } - - if !cs.pastHeaders { - cs.pastHeaders = true - } else { - // We're dealing with trailers. (and specifically the - // final frame of headers) - if cs.pastTrailers { - // Too many HEADERS frames for this stream. - return ConnectionError(ErrCodeProtocol) - } - cs.pastTrailers = true - if !streamEnded { - // We expect that any header block fragment - // frame for trailers with END_HEADERS also - // has END_STREAM. - return ConnectionError(ErrCodeProtocol) - } - rl.endStream(cs) - return nil - } - - if rl.reqMalformed != nil { - cs.resc <- resAndError{err: rl.reqMalformed} - rl.cc.writeStreamReset(cs.ID, ErrCodeProtocol, rl.reqMalformed) - return nil - } - - res := rl.nextRes - - if res.StatusCode == 100 { - // Just skip 100-continue response headers for now. - // TODO: golang.org/issue/13851 for doing it properly. - cs.pastHeaders = false // do it all again - return nil - } - - if !streamEnded || cs.req.Method == "HEAD" { - res.ContentLength = -1 - if clens := res.Header["Content-Length"]; len(clens) == 1 { - if clen64, err := strconv.ParseInt(clens[0], 10, 64); err == nil { - res.ContentLength = clen64 - } else { - // TODO: care? unlike http/1, it won't mess up our framing, so it's - // more safe smuggling-wise to ignore. - } - } else if len(clens) > 1 { - // TODO: care? unlike http/1, it won't mess up our framing, so it's - // more safe smuggling-wise to ignore. - } - } - - if streamEnded { - res.Body = noBody - } else { - buf := new(bytes.Buffer) // TODO(bradfitz): recycle this garbage - cs.bufPipe = pipe{b: buf} - cs.bytesRemain = res.ContentLength - res.Body = transportResponseBody{cs} - go cs.awaitRequestCancel(requestCancel(cs.req)) - - if cs.requestedGzip && res.Header.Get("Content-Encoding") == "gzip" { - res.Header.Del("Content-Encoding") - res.Header.Del("Content-Length") - res.ContentLength = -1 - res.Body = &gzipReader{body: res.Body} - } - rl.activeRes[cs.ID] = cs - } - - cs.resTrailer = &res.Trailer - cs.resc <- resAndError{res: res} - rl.nextRes = nil // unused now; will be reset next HEADERS frame - return nil -} - -// transportResponseBody is the concrete type of Transport.RoundTrip's -// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body. -// On Close it sends RST_STREAM if EOF wasn't already seen. -type transportResponseBody struct { - cs *clientStream -} - -func (b transportResponseBody) Read(p []byte) (n int, err error) { - cs := b.cs - cc := cs.cc - - if cs.readErr != nil { - return 0, cs.readErr - } - n, err = b.cs.bufPipe.Read(p) - if cs.bytesRemain != -1 { - if int64(n) > cs.bytesRemain { - n = int(cs.bytesRemain) - if err == nil { - err = errors.New("net/http: server replied with more than declared Content-Length; truncated") - cc.writeStreamReset(cs.ID, ErrCodeProtocol, err) - } - cs.readErr = err - return int(cs.bytesRemain), err - } - cs.bytesRemain -= int64(n) - if err == io.EOF && cs.bytesRemain > 0 { - err = io.ErrUnexpectedEOF - cs.readErr = err - return n, err - } - } - if n == 0 { - // No flow control tokens to send back. - return - } - - cc.mu.Lock() - defer cc.mu.Unlock() - - var connAdd, streamAdd int32 - // Check the conn-level first, before the stream-level. - if v := cc.inflow.available(); v < transportDefaultConnFlow/2 { - connAdd = transportDefaultConnFlow - v - cc.inflow.add(connAdd) - } - if err == nil { // No need to refresh if the stream is over or failed. - if v := cs.inflow.available(); v < transportDefaultStreamFlow-transportDefaultStreamMinRefresh { - streamAdd = transportDefaultStreamFlow - v - cs.inflow.add(streamAdd) - } - } - if connAdd != 0 || streamAdd != 0 { - cc.wmu.Lock() - defer cc.wmu.Unlock() - if connAdd != 0 { - cc.fr.WriteWindowUpdate(0, mustUint31(connAdd)) - } - if streamAdd != 0 { - cc.fr.WriteWindowUpdate(cs.ID, mustUint31(streamAdd)) - } - cc.bw.Flush() - } - return -} - -var errClosedResponseBody = errors.New("http2: response body closed") - -func (b transportResponseBody) Close() error { - cs := b.cs - if cs.bufPipe.Err() != io.EOF { - // TODO: write test for this - cs.cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) - } - cs.bufPipe.BreakWithError(errClosedResponseBody) - return nil -} - -func (rl *clientConnReadLoop) processData(f *DataFrame) error { - cc := rl.cc - cs := cc.streamByID(f.StreamID, f.StreamEnded()) - if cs == nil { - cc.mu.Lock() - neverSent := cc.nextStreamID - cc.mu.Unlock() - if f.StreamID >= neverSent { - // We never asked for this. - cc.logf("http2: Transport received unsolicited DATA frame; closing connection") - return ConnectionError(ErrCodeProtocol) - } - // We probably did ask for this, but canceled. Just ignore it. - // TODO: be stricter here? only silently ignore things which - // we canceled, but not things which were closed normally - // by the peer? Tough without accumulating too much state. - return nil - } - if data := f.Data(); len(data) > 0 { - if cs.bufPipe.b == nil { - // Data frame after it's already closed? - cc.logf("http2: Transport received DATA frame for closed stream; closing connection") - return ConnectionError(ErrCodeProtocol) - } - - // Check connection-level flow control. - cc.mu.Lock() - if cs.inflow.available() >= int32(len(data)) { - cs.inflow.take(int32(len(data))) - } else { - cc.mu.Unlock() - return ConnectionError(ErrCodeFlowControl) - } - cc.mu.Unlock() - - if _, err := cs.bufPipe.Write(data); err != nil { - return err - } - } - - if f.StreamEnded() { - rl.endStream(cs) - } - return nil -} - -var errInvalidTrailers = errors.New("http2: invalid trailers") - -func (rl *clientConnReadLoop) endStream(cs *clientStream) { - // TODO: check that any declared content-length matches, like - // server.go's (*stream).endStream method. - err := io.EOF - code := cs.copyTrailers - if rl.reqMalformed != nil { - err = rl.reqMalformed - code = nil - } - cs.bufPipe.closeWithErrorAndCode(err, code) - delete(rl.activeRes, cs.ID) -} - -func (cs *clientStream) copyTrailers() { - for k, vv := range cs.trailer { - t := cs.resTrailer - if *t == nil { - *t = make(http.Header) - } - (*t)[k] = vv - } -} - -func (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error { - cc := rl.cc - cc.t.connPool().MarkDead(cc) - if f.ErrCode != 0 { - // TODO: deal with GOAWAY more. particularly the error code - cc.vlogf("transport got GOAWAY with error code = %v", f.ErrCode) - } - cc.setGoAway(f) - return nil -} - -func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { - cc := rl.cc - cc.mu.Lock() - defer cc.mu.Unlock() - return f.ForeachSetting(func(s Setting) error { - switch s.ID { - case SettingMaxFrameSize: - cc.maxFrameSize = s.Val - case SettingMaxConcurrentStreams: - cc.maxConcurrentStreams = s.Val - case SettingInitialWindowSize: - // TODO: error if this is too large. - - // TODO: adjust flow control of still-open - // frames by the difference of the old initial - // window size and this one. - cc.initialWindowSize = s.Val - default: - // TODO(bradfitz): handle more settings? SETTINGS_HEADER_TABLE_SIZE probably. - cc.vlogf("Unhandled Setting: %v", s) - } - return nil - }) -} - -func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { - cc := rl.cc - cs := cc.streamByID(f.StreamID, false) - if f.StreamID != 0 && cs == nil { - return nil - } - - cc.mu.Lock() - defer cc.mu.Unlock() - - fl := &cc.flow - if cs != nil { - fl = &cs.flow - } - if !fl.add(int32(f.Increment)) { - return ConnectionError(ErrCodeFlowControl) - } - cc.cond.Broadcast() - return nil -} - -func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error { - cs := rl.cc.streamByID(f.StreamID, true) - if cs == nil { - // TODO: return error if server tries to RST_STEAM an idle stream - return nil - } - select { - case <-cs.peerReset: - // Already reset. - // This is the only goroutine - // which closes this, so there - // isn't a race. - default: - err := StreamError{cs.ID, f.ErrCode} - cs.resetErr = err - close(cs.peerReset) - cs.bufPipe.CloseWithError(err) - cs.cc.cond.Broadcast() // wake up checkReset via clientStream.awaitFlowControl - } - delete(rl.activeRes, cs.ID) - return nil -} - -func (rl *clientConnReadLoop) processPing(f *PingFrame) error { - if f.IsAck() { - // 6.7 PING: " An endpoint MUST NOT respond to PING frames - // containing this flag." - return nil - } - cc := rl.cc - cc.wmu.Lock() - defer cc.wmu.Unlock() - if err := cc.fr.WritePing(true, f.Data); err != nil { - return err - } - return cc.bw.Flush() -} - -func (rl *clientConnReadLoop) processPushPromise(f *PushPromiseFrame) error { - // We told the peer we don't want them. - // Spec says: - // "PUSH_PROMISE MUST NOT be sent if the SETTINGS_ENABLE_PUSH - // setting of the peer endpoint is set to 0. An endpoint that - // has set this setting and has received acknowledgement MUST - // treat the receipt of a PUSH_PROMISE frame as a connection - // error (Section 5.4.1) of type PROTOCOL_ERROR." - return ConnectionError(ErrCodeProtocol) -} - -func (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) { - // TODO: do something with err? send it as a debug frame to the peer? - // But that's only in GOAWAY. Invent a new frame type? Is there one already? - cc.wmu.Lock() - cc.fr.WriteRSTStream(streamID, code) - cc.bw.Flush() - cc.wmu.Unlock() -} - -var ( - errResponseHeaderListSize = errors.New("http2: response header list larger than advertised limit") - errPseudoTrailers = errors.New("http2: invalid pseudo header in trailers") -) - -func (rl *clientConnReadLoop) checkHeaderField(f hpack.HeaderField) bool { - if rl.reqMalformed != nil { - return false - } - - const headerFieldOverhead = 32 // per spec - rl.headerListSize += int64(len(f.Name)) + int64(len(f.Value)) + headerFieldOverhead - if max := rl.cc.t.maxHeaderListSize(); max != 0 && rl.headerListSize > int64(max) { - rl.hdec.SetEmitEnabled(false) - rl.reqMalformed = errResponseHeaderListSize - return false - } - - if !validHeaderFieldValue(f.Value) { - rl.reqMalformed = errInvalidHeaderFieldValue - return false - } - - isPseudo := strings.HasPrefix(f.Name, ":") - if isPseudo { - if rl.sawRegHeader { - rl.reqMalformed = errors.New("http2: invalid pseudo header after regular header") - return false - } - } else { - if !validHeaderFieldName(f.Name) { - rl.reqMalformed = errInvalidHeaderFieldName - return false - } - rl.sawRegHeader = true - } - - return true -} - -// onNewHeaderField runs on the readLoop goroutine whenever a new -// hpack header field is decoded. -func (rl *clientConnReadLoop) onNewHeaderField(f hpack.HeaderField) { - cc := rl.cc - if VerboseLogs { - cc.logf("http2: Transport decoded %v", f) - } - - if !rl.checkHeaderField(f) { - return - } - - isPseudo := strings.HasPrefix(f.Name, ":") - if isPseudo { - switch f.Name { - case ":status": - code, err := strconv.Atoi(f.Value) - if err != nil { - rl.reqMalformed = errors.New("http2: invalid :status") - return - } - rl.nextRes.Status = f.Value + " " + http.StatusText(code) - rl.nextRes.StatusCode = code - default: - // "Endpoints MUST NOT generate pseudo-header - // fields other than those defined in this - // document." - rl.reqMalformed = fmt.Errorf("http2: unknown response pseudo header %q", f.Name) - } - return - } - - key := http.CanonicalHeaderKey(f.Name) - if key == "Trailer" { - t := rl.nextRes.Trailer - if t == nil { - t = make(http.Header) - rl.nextRes.Trailer = t - } - foreachHeaderElement(f.Value, func(v string) { - t[http.CanonicalHeaderKey(v)] = nil - }) - } else { - rl.nextRes.Header.Add(key, f.Value) - } -} - -func (rl *clientConnReadLoop) onNewTrailerField(cs *clientStream, f hpack.HeaderField) { - if VerboseLogs { - rl.cc.logf("http2: Transport decoded trailer %v", f) - } - if !rl.checkHeaderField(f) { - return - } - if strings.HasPrefix(f.Name, ":") { - // Pseudo-header fields MUST NOT appear in - // trailers. Endpoints MUST treat a request or - // response that contains undefined or invalid - // pseudo-header fields as malformed. - rl.reqMalformed = errPseudoTrailers - return - } - - key := http.CanonicalHeaderKey(f.Name) - - // The spec says one must predeclare their trailers but in practice - // popular users (which is to say the only user we found) do not so we - // violate the spec and accept all of them. - const acceptAllTrailers = true - if _, ok := (*cs.resTrailer)[key]; ok || acceptAllTrailers { - if cs.trailer == nil { - cs.trailer = make(http.Header) - } - cs.trailer[key] = append(cs.trailer[key], f.Value) - } -} - -func (cc *ClientConn) logf(format string, args ...interface{}) { - cc.t.logf(format, args...) -} - -func (cc *ClientConn) vlogf(format string, args ...interface{}) { - cc.t.vlogf(format, args...) -} - -func (t *Transport) vlogf(format string, args ...interface{}) { - if VerboseLogs { - t.logf(format, args...) - } -} - -func (t *Transport) logf(format string, args ...interface{}) { - log.Printf(format, args...) -} - -var noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil)) - -func strSliceContains(ss []string, s string) bool { - for _, v := range ss { - if v == s { - return true - } - } - return false -} - -type erringRoundTripper struct{ err error } - -func (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err } - -// gzipReader wraps a response body so it can lazily -// call gzip.NewReader on the first call to Read -type gzipReader struct { - body io.ReadCloser // underlying Response.Body - zr io.Reader // lazily-initialized gzip reader -} - -func (gz *gzipReader) Read(p []byte) (n int, err error) { - if gz.zr == nil { - gz.zr, err = gzip.NewReader(gz.body) - if err != nil { - return 0, err - } - } - return gz.zr.Read(p) -} - -func (gz *gzipReader) Close() error { - return gz.body.Close() -} - -type errorReader struct{ err error } - -func (r errorReader) Read(p []byte) (int, error) { return 0, r.err } diff --git a/vendor/golang.org/x/net/http2/write.go b/vendor/golang.org/x/net/http2/write.go deleted file mode 100644 index 5297a4bfe..000000000 --- a/vendor/golang.org/x/net/http2/write.go +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import ( - "bytes" - "fmt" - "log" - "net/http" - "sort" - "time" - - "golang.org/x/net/http2/hpack" -) - -// writeFramer is implemented by any type that is used to write frames. -type writeFramer interface { - writeFrame(writeContext) error -} - -// writeContext is the interface needed by the various frame writer -// types below. All the writeFrame methods below are scheduled via the -// frame writing scheduler (see writeScheduler in writesched.go). -// -// This interface is implemented by *serverConn. -// -// TODO: decide whether to a) use this in the client code (which didn't -// end up using this yet, because it has a simpler design, not -// currently implementing priorities), or b) delete this and -// make the server code a bit more concrete. -type writeContext interface { - Framer() *Framer - Flush() error - CloseConn() error - // HeaderEncoder returns an HPACK encoder that writes to the - // returned buffer. - HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) -} - -// endsStream reports whether the given frame writer w will locally -// close the stream. -func endsStream(w writeFramer) bool { - switch v := w.(type) { - case *writeData: - return v.endStream - case *writeResHeaders: - return v.endStream - case nil: - // This can only happen if the caller reuses w after it's - // been intentionally nil'ed out to prevent use. Keep this - // here to catch future refactoring breaking it. - panic("endsStream called on nil writeFramer") - } - return false -} - -type flushFrameWriter struct{} - -func (flushFrameWriter) writeFrame(ctx writeContext) error { - return ctx.Flush() -} - -type writeSettings []Setting - -func (s writeSettings) writeFrame(ctx writeContext) error { - return ctx.Framer().WriteSettings([]Setting(s)...) -} - -type writeGoAway struct { - maxStreamID uint32 - code ErrCode -} - -func (p *writeGoAway) writeFrame(ctx writeContext) error { - err := ctx.Framer().WriteGoAway(p.maxStreamID, p.code, nil) - if p.code != 0 { - ctx.Flush() // ignore error: we're hanging up on them anyway - time.Sleep(50 * time.Millisecond) - ctx.CloseConn() - } - return err -} - -type writeData struct { - streamID uint32 - p []byte - endStream bool -} - -func (w *writeData) String() string { - return fmt.Sprintf("writeData(stream=%d, p=%d, endStream=%v)", w.streamID, len(w.p), w.endStream) -} - -func (w *writeData) writeFrame(ctx writeContext) error { - return ctx.Framer().WriteData(w.streamID, w.endStream, w.p) -} - -// handlerPanicRST is the message sent from handler goroutines when -// the handler panics. -type handlerPanicRST struct { - StreamID uint32 -} - -func (hp handlerPanicRST) writeFrame(ctx writeContext) error { - return ctx.Framer().WriteRSTStream(hp.StreamID, ErrCodeInternal) -} - -func (se StreamError) writeFrame(ctx writeContext) error { - return ctx.Framer().WriteRSTStream(se.StreamID, se.Code) -} - -type writePingAck struct{ pf *PingFrame } - -func (w writePingAck) writeFrame(ctx writeContext) error { - return ctx.Framer().WritePing(true, w.pf.Data) -} - -type writeSettingsAck struct{} - -func (writeSettingsAck) writeFrame(ctx writeContext) error { - return ctx.Framer().WriteSettingsAck() -} - -// writeResHeaders is a request to write a HEADERS and 0+ CONTINUATION frames -// for HTTP response headers or trailers from a server handler. -type writeResHeaders struct { - streamID uint32 - httpResCode int // 0 means no ":status" line - h http.Header // may be nil - trailers []string // if non-nil, which keys of h to write. nil means all. - endStream bool - - date string - contentType string - contentLength string -} - -func encKV(enc *hpack.Encoder, k, v string) { - if VerboseLogs { - log.Printf("http2: server encoding header %q = %q", k, v) - } - enc.WriteField(hpack.HeaderField{Name: k, Value: v}) -} - -func (w *writeResHeaders) writeFrame(ctx writeContext) error { - enc, buf := ctx.HeaderEncoder() - buf.Reset() - - if w.httpResCode != 0 { - encKV(enc, ":status", httpCodeString(w.httpResCode)) - } - - encodeHeaders(enc, w.h, w.trailers) - - if w.contentType != "" { - encKV(enc, "content-type", w.contentType) - } - if w.contentLength != "" { - encKV(enc, "content-length", w.contentLength) - } - if w.date != "" { - encKV(enc, "date", w.date) - } - - headerBlock := buf.Bytes() - if len(headerBlock) == 0 && w.trailers == nil { - panic("unexpected empty hpack") - } - - // For now we're lazy and just pick the minimum MAX_FRAME_SIZE - // that all peers must support (16KB). Later we could care - // more and send larger frames if the peer advertised it, but - // there's little point. Most headers are small anyway (so we - // generally won't have CONTINUATION frames), and extra frames - // only waste 9 bytes anyway. - const maxFrameSize = 16384 - - first := true - for len(headerBlock) > 0 { - frag := headerBlock - if len(frag) > maxFrameSize { - frag = frag[:maxFrameSize] - } - headerBlock = headerBlock[len(frag):] - endHeaders := len(headerBlock) == 0 - var err error - if first { - first = false - err = ctx.Framer().WriteHeaders(HeadersFrameParam{ - StreamID: w.streamID, - BlockFragment: frag, - EndStream: w.endStream, - EndHeaders: endHeaders, - }) - } else { - err = ctx.Framer().WriteContinuation(w.streamID, endHeaders, frag) - } - if err != nil { - return err - } - } - return nil -} - -type write100ContinueHeadersFrame struct { - streamID uint32 -} - -func (w write100ContinueHeadersFrame) writeFrame(ctx writeContext) error { - enc, buf := ctx.HeaderEncoder() - buf.Reset() - encKV(enc, ":status", "100") - return ctx.Framer().WriteHeaders(HeadersFrameParam{ - StreamID: w.streamID, - BlockFragment: buf.Bytes(), - EndStream: false, - EndHeaders: true, - }) -} - -type writeWindowUpdate struct { - streamID uint32 // or 0 for conn-level - n uint32 -} - -func (wu writeWindowUpdate) writeFrame(ctx writeContext) error { - return ctx.Framer().WriteWindowUpdate(wu.streamID, wu.n) -} - -func encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) { - // TODO: garbage. pool sorters like http1? hot path for 1 key? - if keys == nil { - keys = make([]string, 0, len(h)) - for k := range h { - keys = append(keys, k) - } - sort.Strings(keys) - } - for _, k := range keys { - vv := h[k] - k = lowerHeader(k) - if !validHeaderFieldName(k) { - // TODO: return an error? golang.org/issue/14048 - // For now just omit it. - continue - } - isTE := k == "transfer-encoding" - for _, v := range vv { - if !validHeaderFieldValue(v) { - // TODO: return an error? golang.org/issue/14048 - // For now just omit it. - continue - } - // TODO: more of "8.1.2.2 Connection-Specific Header Fields" - if isTE && v != "trailers" { - continue - } - encKV(enc, k, v) - } - } -} diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go deleted file mode 100644 index c24316ce7..000000000 --- a/vendor/golang.org/x/net/http2/writesched.go +++ /dev/null @@ -1,283 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package http2 - -import "fmt" - -// frameWriteMsg is a request to write a frame. -type frameWriteMsg struct { - // write is the interface value that does the writing, once the - // writeScheduler (below) has decided to select this frame - // to write. The write functions are all defined in write.go. - write writeFramer - - stream *stream // used for prioritization. nil for non-stream frames. - - // done, if non-nil, must be a buffered channel with space for - // 1 message and is sent the return value from write (or an - // earlier error) when the frame has been written. - done chan error -} - -// for debugging only: -func (wm frameWriteMsg) String() string { - var streamID uint32 - if wm.stream != nil { - streamID = wm.stream.id - } - var des string - if s, ok := wm.write.(fmt.Stringer); ok { - des = s.String() - } else { - des = fmt.Sprintf("%T", wm.write) - } - return fmt.Sprintf("[frameWriteMsg stream=%d, ch=%v, type: %v]", streamID, wm.done != nil, des) -} - -// writeScheduler tracks pending frames to write, priorities, and decides -// the next one to use. It is not thread-safe. -type writeScheduler struct { - // zero are frames not associated with a specific stream. - // They're sent before any stream-specific freams. - zero writeQueue - - // maxFrameSize is the maximum size of a DATA frame - // we'll write. Must be non-zero and between 16K-16M. - maxFrameSize uint32 - - // sq contains the stream-specific queues, keyed by stream ID. - // when a stream is idle, it's deleted from the map. - sq map[uint32]*writeQueue - - // canSend is a slice of memory that's reused between frame - // scheduling decisions to hold the list of writeQueues (from sq) - // which have enough flow control data to send. After canSend is - // built, the best is selected. - canSend []*writeQueue - - // pool of empty queues for reuse. - queuePool []*writeQueue -} - -func (ws *writeScheduler) putEmptyQueue(q *writeQueue) { - if len(q.s) != 0 { - panic("queue must be empty") - } - ws.queuePool = append(ws.queuePool, q) -} - -func (ws *writeScheduler) getEmptyQueue() *writeQueue { - ln := len(ws.queuePool) - if ln == 0 { - return new(writeQueue) - } - q := ws.queuePool[ln-1] - ws.queuePool = ws.queuePool[:ln-1] - return q -} - -func (ws *writeScheduler) empty() bool { return ws.zero.empty() && len(ws.sq) == 0 } - -func (ws *writeScheduler) add(wm frameWriteMsg) { - st := wm.stream - if st == nil { - ws.zero.push(wm) - } else { - ws.streamQueue(st.id).push(wm) - } -} - -func (ws *writeScheduler) streamQueue(streamID uint32) *writeQueue { - if q, ok := ws.sq[streamID]; ok { - return q - } - if ws.sq == nil { - ws.sq = make(map[uint32]*writeQueue) - } - q := ws.getEmptyQueue() - ws.sq[streamID] = q - return q -} - -// take returns the most important frame to write and removes it from the scheduler. -// It is illegal to call this if the scheduler is empty or if there are no connection-level -// flow control bytes available. -func (ws *writeScheduler) take() (wm frameWriteMsg, ok bool) { - if ws.maxFrameSize == 0 { - panic("internal error: ws.maxFrameSize not initialized or invalid") - } - - // If there any frames not associated with streams, prefer those first. - // These are usually SETTINGS, etc. - if !ws.zero.empty() { - return ws.zero.shift(), true - } - if len(ws.sq) == 0 { - return - } - - // Next, prioritize frames on streams that aren't DATA frames (no cost). - for id, q := range ws.sq { - if q.firstIsNoCost() { - return ws.takeFrom(id, q) - } - } - - // Now, all that remains are DATA frames with non-zero bytes to - // send. So pick the best one. - if len(ws.canSend) != 0 { - panic("should be empty") - } - for _, q := range ws.sq { - if n := ws.streamWritableBytes(q); n > 0 { - ws.canSend = append(ws.canSend, q) - } - } - if len(ws.canSend) == 0 { - return - } - defer ws.zeroCanSend() - - // TODO: find the best queue - q := ws.canSend[0] - - return ws.takeFrom(q.streamID(), q) -} - -// zeroCanSend is defered from take. -func (ws *writeScheduler) zeroCanSend() { - for i := range ws.canSend { - ws.canSend[i] = nil - } - ws.canSend = ws.canSend[:0] -} - -// streamWritableBytes returns the number of DATA bytes we could write -// from the given queue's stream, if this stream/queue were -// selected. It is an error to call this if q's head isn't a -// *writeData. -func (ws *writeScheduler) streamWritableBytes(q *writeQueue) int32 { - wm := q.head() - ret := wm.stream.flow.available() // max we can write - if ret == 0 { - return 0 - } - if int32(ws.maxFrameSize) < ret { - ret = int32(ws.maxFrameSize) - } - if ret == 0 { - panic("internal error: ws.maxFrameSize not initialized or invalid") - } - wd := wm.write.(*writeData) - if len(wd.p) < int(ret) { - ret = int32(len(wd.p)) - } - return ret -} - -func (ws *writeScheduler) takeFrom(id uint32, q *writeQueue) (wm frameWriteMsg, ok bool) { - wm = q.head() - // If the first item in this queue costs flow control tokens - // and we don't have enough, write as much as we can. - if wd, ok := wm.write.(*writeData); ok && len(wd.p) > 0 { - allowed := wm.stream.flow.available() // max we can write - if allowed == 0 { - // No quota available. Caller can try the next stream. - return frameWriteMsg{}, false - } - if int32(ws.maxFrameSize) < allowed { - allowed = int32(ws.maxFrameSize) - } - // TODO: further restrict the allowed size, because even if - // the peer says it's okay to write 16MB data frames, we might - // want to write smaller ones to properly weight competing - // streams' priorities. - - if len(wd.p) > int(allowed) { - wm.stream.flow.take(allowed) - chunk := wd.p[:allowed] - wd.p = wd.p[allowed:] - // Make up a new write message of a valid size, rather - // than shifting one off the queue. - return frameWriteMsg{ - stream: wm.stream, - write: &writeData{ - streamID: wd.streamID, - p: chunk, - // even if the original had endStream set, there - // arebytes remaining because len(wd.p) > allowed, - // so we know endStream is false: - endStream: false, - }, - // our caller is blocking on the final DATA frame, not - // these intermediates, so no need to wait: - done: nil, - }, true - } - wm.stream.flow.take(int32(len(wd.p))) - } - - q.shift() - if q.empty() { - ws.putEmptyQueue(q) - delete(ws.sq, id) - } - return wm, true -} - -func (ws *writeScheduler) forgetStream(id uint32) { - q, ok := ws.sq[id] - if !ok { - return - } - delete(ws.sq, id) - - // But keep it for others later. - for i := range q.s { - q.s[i] = frameWriteMsg{} - } - q.s = q.s[:0] - ws.putEmptyQueue(q) -} - -type writeQueue struct { - s []frameWriteMsg -} - -// streamID returns the stream ID for a non-empty stream-specific queue. -func (q *writeQueue) streamID() uint32 { return q.s[0].stream.id } - -func (q *writeQueue) empty() bool { return len(q.s) == 0 } - -func (q *writeQueue) push(wm frameWriteMsg) { - q.s = append(q.s, wm) -} - -// head returns the next item that would be removed by shift. -func (q *writeQueue) head() frameWriteMsg { - if len(q.s) == 0 { - panic("invalid use of queue") - } - return q.s[0] -} - -func (q *writeQueue) shift() frameWriteMsg { - if len(q.s) == 0 { - panic("invalid use of queue") - } - wm := q.s[0] - // TODO: less copy-happy queue. - copy(q.s, q.s[1:]) - q.s[len(q.s)-1] = frameWriteMsg{} - q.s = q.s[:len(q.s)-1] - return wm -} - -func (q *writeQueue) firstIsNoCost() bool { - if df, ok := q.s[0].write.(*writeData); ok { - return len(df.p) == 0 - } - return true -} diff --git a/vendor/golang.org/x/net/internal/timeseries/timeseries.go b/vendor/golang.org/x/net/internal/timeseries/timeseries.go deleted file mode 100644 index 3f90b7300..000000000 --- a/vendor/golang.org/x/net/internal/timeseries/timeseries.go +++ /dev/null @@ -1,525 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package timeseries implements a time series structure for stats collection. -package timeseries - -import ( - "fmt" - "log" - "time" -) - -const ( - timeSeriesNumBuckets = 64 - minuteHourSeriesNumBuckets = 60 -) - -var timeSeriesResolutions = []time.Duration{ - 1 * time.Second, - 10 * time.Second, - 1 * time.Minute, - 10 * time.Minute, - 1 * time.Hour, - 6 * time.Hour, - 24 * time.Hour, // 1 day - 7 * 24 * time.Hour, // 1 week - 4 * 7 * 24 * time.Hour, // 4 weeks - 16 * 7 * 24 * time.Hour, // 16 weeks -} - -var minuteHourSeriesResolutions = []time.Duration{ - 1 * time.Second, - 1 * time.Minute, -} - -// An Observable is a kind of data that can be aggregated in a time series. -type Observable interface { - Multiply(ratio float64) // Multiplies the data in self by a given ratio - Add(other Observable) // Adds the data from a different observation to self - Clear() // Clears the observation so it can be reused. - CopyFrom(other Observable) // Copies the contents of a given observation to self -} - -// Float attaches the methods of Observable to a float64. -type Float float64 - -// NewFloat returns a Float. -func NewFloat() Observable { - f := Float(0) - return &f -} - -// String returns the float as a string. -func (f *Float) String() string { return fmt.Sprintf("%g", f.Value()) } - -// Value returns the float's value. -func (f *Float) Value() float64 { return float64(*f) } - -func (f *Float) Multiply(ratio float64) { *f *= Float(ratio) } - -func (f *Float) Add(other Observable) { - o := other.(*Float) - *f += *o -} - -func (f *Float) Clear() { *f = 0 } - -func (f *Float) CopyFrom(other Observable) { - o := other.(*Float) - *f = *o -} - -// A Clock tells the current time. -type Clock interface { - Time() time.Time -} - -type defaultClock int - -var defaultClockInstance defaultClock - -func (defaultClock) Time() time.Time { return time.Now() } - -// Information kept per level. Each level consists of a circular list of -// observations. The start of the level may be derived from end and the -// len(buckets) * sizeInMillis. -type tsLevel struct { - oldest int // index to oldest bucketed Observable - newest int // index to newest bucketed Observable - end time.Time // end timestamp for this level - size time.Duration // duration of the bucketed Observable - buckets []Observable // collections of observations - provider func() Observable // used for creating new Observable -} - -func (l *tsLevel) Clear() { - l.oldest = 0 - l.newest = len(l.buckets) - 1 - l.end = time.Time{} - for i := range l.buckets { - if l.buckets[i] != nil { - l.buckets[i].Clear() - l.buckets[i] = nil - } - } -} - -func (l *tsLevel) InitLevel(size time.Duration, numBuckets int, f func() Observable) { - l.size = size - l.provider = f - l.buckets = make([]Observable, numBuckets) -} - -// Keeps a sequence of levels. Each level is responsible for storing data at -// a given resolution. For example, the first level stores data at a one -// minute resolution while the second level stores data at a one hour -// resolution. - -// Each level is represented by a sequence of buckets. Each bucket spans an -// interval equal to the resolution of the level. New observations are added -// to the last bucket. -type timeSeries struct { - provider func() Observable // make more Observable - numBuckets int // number of buckets in each level - levels []*tsLevel // levels of bucketed Observable - lastAdd time.Time // time of last Observable tracked - total Observable // convenient aggregation of all Observable - clock Clock // Clock for getting current time - pending Observable // observations not yet bucketed - pendingTime time.Time // what time are we keeping in pending - dirty bool // if there are pending observations -} - -// init initializes a level according to the supplied criteria. -func (ts *timeSeries) init(resolutions []time.Duration, f func() Observable, numBuckets int, clock Clock) { - ts.provider = f - ts.numBuckets = numBuckets - ts.clock = clock - ts.levels = make([]*tsLevel, len(resolutions)) - - for i := range resolutions { - if i > 0 && resolutions[i-1] >= resolutions[i] { - log.Print("timeseries: resolutions must be monotonically increasing") - break - } - newLevel := new(tsLevel) - newLevel.InitLevel(resolutions[i], ts.numBuckets, ts.provider) - ts.levels[i] = newLevel - } - - ts.Clear() -} - -// Clear removes all observations from the time series. -func (ts *timeSeries) Clear() { - ts.lastAdd = time.Time{} - ts.total = ts.resetObservation(ts.total) - ts.pending = ts.resetObservation(ts.pending) - ts.pendingTime = time.Time{} - ts.dirty = false - - for i := range ts.levels { - ts.levels[i].Clear() - } -} - -// Add records an observation at the current time. -func (ts *timeSeries) Add(observation Observable) { - ts.AddWithTime(observation, ts.clock.Time()) -} - -// AddWithTime records an observation at the specified time. -func (ts *timeSeries) AddWithTime(observation Observable, t time.Time) { - - smallBucketDuration := ts.levels[0].size - - if t.After(ts.lastAdd) { - ts.lastAdd = t - } - - if t.After(ts.pendingTime) { - ts.advance(t) - ts.mergePendingUpdates() - ts.pendingTime = ts.levels[0].end - ts.pending.CopyFrom(observation) - ts.dirty = true - } else if t.After(ts.pendingTime.Add(-1 * smallBucketDuration)) { - // The observation is close enough to go into the pending bucket. - // This compensates for clock skewing and small scheduling delays - // by letting the update stay in the fast path. - ts.pending.Add(observation) - ts.dirty = true - } else { - ts.mergeValue(observation, t) - } -} - -// mergeValue inserts the observation at the specified time in the past into all levels. -func (ts *timeSeries) mergeValue(observation Observable, t time.Time) { - for _, level := range ts.levels { - index := (ts.numBuckets - 1) - int(level.end.Sub(t)/level.size) - if 0 <= index && index < ts.numBuckets { - bucketNumber := (level.oldest + index) % ts.numBuckets - if level.buckets[bucketNumber] == nil { - level.buckets[bucketNumber] = level.provider() - } - level.buckets[bucketNumber].Add(observation) - } - } - ts.total.Add(observation) -} - -// mergePendingUpdates applies the pending updates into all levels. -func (ts *timeSeries) mergePendingUpdates() { - if ts.dirty { - ts.mergeValue(ts.pending, ts.pendingTime) - ts.pending = ts.resetObservation(ts.pending) - ts.dirty = false - } -} - -// advance cycles the buckets at each level until the latest bucket in -// each level can hold the time specified. -func (ts *timeSeries) advance(t time.Time) { - if !t.After(ts.levels[0].end) { - return - } - for i := 0; i < len(ts.levels); i++ { - level := ts.levels[i] - if !level.end.Before(t) { - break - } - - // If the time is sufficiently far, just clear the level and advance - // directly. - if !t.Before(level.end.Add(level.size * time.Duration(ts.numBuckets))) { - for _, b := range level.buckets { - ts.resetObservation(b) - } - level.end = time.Unix(0, (t.UnixNano()/level.size.Nanoseconds())*level.size.Nanoseconds()) - } - - for t.After(level.end) { - level.end = level.end.Add(level.size) - level.newest = level.oldest - level.oldest = (level.oldest + 1) % ts.numBuckets - ts.resetObservation(level.buckets[level.newest]) - } - - t = level.end - } -} - -// Latest returns the sum of the num latest buckets from the level. -func (ts *timeSeries) Latest(level, num int) Observable { - now := ts.clock.Time() - if ts.levels[0].end.Before(now) { - ts.advance(now) - } - - ts.mergePendingUpdates() - - result := ts.provider() - l := ts.levels[level] - index := l.newest - - for i := 0; i < num; i++ { - if l.buckets[index] != nil { - result.Add(l.buckets[index]) - } - if index == 0 { - index = ts.numBuckets - } - index-- - } - - return result -} - -// LatestBuckets returns a copy of the num latest buckets from level. -func (ts *timeSeries) LatestBuckets(level, num int) []Observable { - if level < 0 || level > len(ts.levels) { - log.Print("timeseries: bad level argument: ", level) - return nil - } - if num < 0 || num >= ts.numBuckets { - log.Print("timeseries: bad num argument: ", num) - return nil - } - - results := make([]Observable, num) - now := ts.clock.Time() - if ts.levels[0].end.Before(now) { - ts.advance(now) - } - - ts.mergePendingUpdates() - - l := ts.levels[level] - index := l.newest - - for i := 0; i < num; i++ { - result := ts.provider() - results[i] = result - if l.buckets[index] != nil { - result.CopyFrom(l.buckets[index]) - } - - if index == 0 { - index = ts.numBuckets - } - index -= 1 - } - return results -} - -// ScaleBy updates observations by scaling by factor. -func (ts *timeSeries) ScaleBy(factor float64) { - for _, l := range ts.levels { - for i := 0; i < ts.numBuckets; i++ { - l.buckets[i].Multiply(factor) - } - } - - ts.total.Multiply(factor) - ts.pending.Multiply(factor) -} - -// Range returns the sum of observations added over the specified time range. -// If start or finish times don't fall on bucket boundaries of the same -// level, then return values are approximate answers. -func (ts *timeSeries) Range(start, finish time.Time) Observable { - return ts.ComputeRange(start, finish, 1)[0] -} - -// Recent returns the sum of observations from the last delta. -func (ts *timeSeries) Recent(delta time.Duration) Observable { - now := ts.clock.Time() - return ts.Range(now.Add(-delta), now) -} - -// Total returns the total of all observations. -func (ts *timeSeries) Total() Observable { - ts.mergePendingUpdates() - return ts.total -} - -// ComputeRange computes a specified number of values into a slice using -// the observations recorded over the specified time period. The return -// values are approximate if the start or finish times don't fall on the -// bucket boundaries at the same level or if the number of buckets spanning -// the range is not an integral multiple of num. -func (ts *timeSeries) ComputeRange(start, finish time.Time, num int) []Observable { - if start.After(finish) { - log.Printf("timeseries: start > finish, %v>%v", start, finish) - return nil - } - - if num < 0 { - log.Printf("timeseries: num < 0, %v", num) - return nil - } - - results := make([]Observable, num) - - for _, l := range ts.levels { - if !start.Before(l.end.Add(-l.size * time.Duration(ts.numBuckets))) { - ts.extract(l, start, finish, num, results) - return results - } - } - - // Failed to find a level that covers the desired range. So just - // extract from the last level, even if it doesn't cover the entire - // desired range. - ts.extract(ts.levels[len(ts.levels)-1], start, finish, num, results) - - return results -} - -// RecentList returns the specified number of values in slice over the most -// recent time period of the specified range. -func (ts *timeSeries) RecentList(delta time.Duration, num int) []Observable { - if delta < 0 { - return nil - } - now := ts.clock.Time() - return ts.ComputeRange(now.Add(-delta), now, num) -} - -// extract returns a slice of specified number of observations from a given -// level over a given range. -func (ts *timeSeries) extract(l *tsLevel, start, finish time.Time, num int, results []Observable) { - ts.mergePendingUpdates() - - srcInterval := l.size - dstInterval := finish.Sub(start) / time.Duration(num) - dstStart := start - srcStart := l.end.Add(-srcInterval * time.Duration(ts.numBuckets)) - - srcIndex := 0 - - // Where should scanning start? - if dstStart.After(srcStart) { - advance := dstStart.Sub(srcStart) / srcInterval - srcIndex += int(advance) - srcStart = srcStart.Add(advance * srcInterval) - } - - // The i'th value is computed as show below. - // interval = (finish/start)/num - // i'th value = sum of observation in range - // [ start + i * interval, - // start + (i + 1) * interval ) - for i := 0; i < num; i++ { - results[i] = ts.resetObservation(results[i]) - dstEnd := dstStart.Add(dstInterval) - for srcIndex < ts.numBuckets && srcStart.Before(dstEnd) { - srcEnd := srcStart.Add(srcInterval) - if srcEnd.After(ts.lastAdd) { - srcEnd = ts.lastAdd - } - - if !srcEnd.Before(dstStart) { - srcValue := l.buckets[(srcIndex+l.oldest)%ts.numBuckets] - if !srcStart.Before(dstStart) && !srcEnd.After(dstEnd) { - // dst completely contains src. - if srcValue != nil { - results[i].Add(srcValue) - } - } else { - // dst partially overlaps src. - overlapStart := maxTime(srcStart, dstStart) - overlapEnd := minTime(srcEnd, dstEnd) - base := srcEnd.Sub(srcStart) - fraction := overlapEnd.Sub(overlapStart).Seconds() / base.Seconds() - - used := ts.provider() - if srcValue != nil { - used.CopyFrom(srcValue) - } - used.Multiply(fraction) - results[i].Add(used) - } - - if srcEnd.After(dstEnd) { - break - } - } - srcIndex++ - srcStart = srcStart.Add(srcInterval) - } - dstStart = dstStart.Add(dstInterval) - } -} - -// resetObservation clears the content so the struct may be reused. -func (ts *timeSeries) resetObservation(observation Observable) Observable { - if observation == nil { - observation = ts.provider() - } else { - observation.Clear() - } - return observation -} - -// TimeSeries tracks data at granularities from 1 second to 16 weeks. -type TimeSeries struct { - timeSeries -} - -// NewTimeSeries creates a new TimeSeries using the function provided for creating new Observable. -func NewTimeSeries(f func() Observable) *TimeSeries { - return NewTimeSeriesWithClock(f, defaultClockInstance) -} - -// NewTimeSeriesWithClock creates a new TimeSeries using the function provided for creating new Observable and the clock for -// assigning timestamps. -func NewTimeSeriesWithClock(f func() Observable, clock Clock) *TimeSeries { - ts := new(TimeSeries) - ts.timeSeries.init(timeSeriesResolutions, f, timeSeriesNumBuckets, clock) - return ts -} - -// MinuteHourSeries tracks data at granularities of 1 minute and 1 hour. -type MinuteHourSeries struct { - timeSeries -} - -// NewMinuteHourSeries creates a new MinuteHourSeries using the function provided for creating new Observable. -func NewMinuteHourSeries(f func() Observable) *MinuteHourSeries { - return NewMinuteHourSeriesWithClock(f, defaultClockInstance) -} - -// NewMinuteHourSeriesWithClock creates a new MinuteHourSeries using the function provided for creating new Observable and the clock for -// assigning timestamps. -func NewMinuteHourSeriesWithClock(f func() Observable, clock Clock) *MinuteHourSeries { - ts := new(MinuteHourSeries) - ts.timeSeries.init(minuteHourSeriesResolutions, f, - minuteHourSeriesNumBuckets, clock) - return ts -} - -func (ts *MinuteHourSeries) Minute() Observable { - return ts.timeSeries.Latest(0, 60) -} - -func (ts *MinuteHourSeries) Hour() Observable { - return ts.timeSeries.Latest(1, 60) -} - -func minTime(a, b time.Time) time.Time { - if a.Before(b) { - return a - } - return b -} - -func maxTime(a, b time.Time) time.Time { - if a.After(b) { - return a - } - return b -} diff --git a/vendor/golang.org/x/net/trace/events.go b/vendor/golang.org/x/net/trace/events.go deleted file mode 100644 index e66c7e328..000000000 --- a/vendor/golang.org/x/net/trace/events.go +++ /dev/null @@ -1,524 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package trace - -import ( - "bytes" - "fmt" - "html/template" - "io" - "log" - "net/http" - "runtime" - "sort" - "strconv" - "strings" - "sync" - "sync/atomic" - "text/tabwriter" - "time" -) - -var eventsTmpl = template.Must(template.New("events").Funcs(template.FuncMap{ - "elapsed": elapsed, - "trimSpace": strings.TrimSpace, -}).Parse(eventsHTML)) - -const maxEventsPerLog = 100 - -type bucket struct { - MaxErrAge time.Duration - String string -} - -var buckets = []bucket{ - {0, "total"}, - {10 * time.Second, "errs<10s"}, - {1 * time.Minute, "errs<1m"}, - {10 * time.Minute, "errs<10m"}, - {1 * time.Hour, "errs<1h"}, - {10 * time.Hour, "errs<10h"}, - {24000 * time.Hour, "errors"}, -} - -// RenderEvents renders the HTML page typically served at /debug/events. -// It does not do any auth checking; see AuthRequest for the default auth check -// used by the handler registered on http.DefaultServeMux. -// req may be nil. -func RenderEvents(w http.ResponseWriter, req *http.Request, sensitive bool) { - now := time.Now() - data := &struct { - Families []string // family names - Buckets []bucket - Counts [][]int // eventLog count per family/bucket - - // Set when a bucket has been selected. - Family string - Bucket int - EventLogs eventLogs - Expanded bool - }{ - Buckets: buckets, - } - - data.Families = make([]string, 0, len(families)) - famMu.RLock() - for name := range families { - data.Families = append(data.Families, name) - } - famMu.RUnlock() - sort.Strings(data.Families) - - // Count the number of eventLogs in each family for each error age. - data.Counts = make([][]int, len(data.Families)) - for i, name := range data.Families { - // TODO(sameer): move this loop under the family lock. - f := getEventFamily(name) - data.Counts[i] = make([]int, len(data.Buckets)) - for j, b := range data.Buckets { - data.Counts[i][j] = f.Count(now, b.MaxErrAge) - } - } - - if req != nil { - var ok bool - data.Family, data.Bucket, ok = parseEventsArgs(req) - if !ok { - // No-op - } else { - data.EventLogs = getEventFamily(data.Family).Copy(now, buckets[data.Bucket].MaxErrAge) - } - if data.EventLogs != nil { - defer data.EventLogs.Free() - sort.Sort(data.EventLogs) - } - if exp, err := strconv.ParseBool(req.FormValue("exp")); err == nil { - data.Expanded = exp - } - } - - famMu.RLock() - defer famMu.RUnlock() - if err := eventsTmpl.Execute(w, data); err != nil { - log.Printf("net/trace: Failed executing template: %v", err) - } -} - -func parseEventsArgs(req *http.Request) (fam string, b int, ok bool) { - fam, bStr := req.FormValue("fam"), req.FormValue("b") - if fam == "" || bStr == "" { - return "", 0, false - } - b, err := strconv.Atoi(bStr) - if err != nil || b < 0 || b >= len(buckets) { - return "", 0, false - } - return fam, b, true -} - -// An EventLog provides a log of events associated with a specific object. -type EventLog interface { - // Printf formats its arguments with fmt.Sprintf and adds the - // result to the event log. - Printf(format string, a ...interface{}) - - // Errorf is like Printf, but it marks this event as an error. - Errorf(format string, a ...interface{}) - - // Finish declares that this event log is complete. - // The event log should not be used after calling this method. - Finish() -} - -// NewEventLog returns a new EventLog with the specified family name -// and title. -func NewEventLog(family, title string) EventLog { - el := newEventLog() - el.ref() - el.Family, el.Title = family, title - el.Start = time.Now() - el.events = make([]logEntry, 0, maxEventsPerLog) - el.stack = make([]uintptr, 32) - n := runtime.Callers(2, el.stack) - el.stack = el.stack[:n] - - getEventFamily(family).add(el) - return el -} - -func (el *eventLog) Finish() { - getEventFamily(el.Family).remove(el) - el.unref() // matches ref in New -} - -var ( - famMu sync.RWMutex - families = make(map[string]*eventFamily) // family name => family -) - -func getEventFamily(fam string) *eventFamily { - famMu.Lock() - defer famMu.Unlock() - f := families[fam] - if f == nil { - f = &eventFamily{} - families[fam] = f - } - return f -} - -type eventFamily struct { - mu sync.RWMutex - eventLogs eventLogs -} - -func (f *eventFamily) add(el *eventLog) { - f.mu.Lock() - f.eventLogs = append(f.eventLogs, el) - f.mu.Unlock() -} - -func (f *eventFamily) remove(el *eventLog) { - f.mu.Lock() - defer f.mu.Unlock() - for i, el0 := range f.eventLogs { - if el == el0 { - copy(f.eventLogs[i:], f.eventLogs[i+1:]) - f.eventLogs = f.eventLogs[:len(f.eventLogs)-1] - return - } - } -} - -func (f *eventFamily) Count(now time.Time, maxErrAge time.Duration) (n int) { - f.mu.RLock() - defer f.mu.RUnlock() - for _, el := range f.eventLogs { - if el.hasRecentError(now, maxErrAge) { - n++ - } - } - return -} - -func (f *eventFamily) Copy(now time.Time, maxErrAge time.Duration) (els eventLogs) { - f.mu.RLock() - defer f.mu.RUnlock() - els = make(eventLogs, 0, len(f.eventLogs)) - for _, el := range f.eventLogs { - if el.hasRecentError(now, maxErrAge) { - el.ref() - els = append(els, el) - } - } - return -} - -type eventLogs []*eventLog - -// Free calls unref on each element of the list. -func (els eventLogs) Free() { - for _, el := range els { - el.unref() - } -} - -// eventLogs may be sorted in reverse chronological order. -func (els eventLogs) Len() int { return len(els) } -func (els eventLogs) Less(i, j int) bool { return els[i].Start.After(els[j].Start) } -func (els eventLogs) Swap(i, j int) { els[i], els[j] = els[j], els[i] } - -// A logEntry is a timestamped log entry in an event log. -type logEntry struct { - When time.Time - Elapsed time.Duration // since previous event in log - NewDay bool // whether this event is on a different day to the previous event - What string - IsErr bool -} - -// WhenString returns a string representation of the elapsed time of the event. -// It will include the date if midnight was crossed. -func (e logEntry) WhenString() string { - if e.NewDay { - return e.When.Format("2006/01/02 15:04:05.000000") - } - return e.When.Format("15:04:05.000000") -} - -// An eventLog represents an active event log. -type eventLog struct { - // Family is the top-level grouping of event logs to which this belongs. - Family string - - // Title is the title of this event log. - Title string - - // Timing information. - Start time.Time - - // Call stack where this event log was created. - stack []uintptr - - // Append-only sequence of events. - // - // TODO(sameer): change this to a ring buffer to avoid the array copy - // when we hit maxEventsPerLog. - mu sync.RWMutex - events []logEntry - LastErrorTime time.Time - discarded int - - refs int32 // how many buckets this is in -} - -func (el *eventLog) reset() { - // Clear all but the mutex. Mutexes may not be copied, even when unlocked. - el.Family = "" - el.Title = "" - el.Start = time.Time{} - el.stack = nil - el.events = nil - el.LastErrorTime = time.Time{} - el.discarded = 0 - el.refs = 0 -} - -func (el *eventLog) hasRecentError(now time.Time, maxErrAge time.Duration) bool { - if maxErrAge == 0 { - return true - } - el.mu.RLock() - defer el.mu.RUnlock() - return now.Sub(el.LastErrorTime) < maxErrAge -} - -// delta returns the elapsed time since the last event or the log start, -// and whether it spans midnight. -// L >= el.mu -func (el *eventLog) delta(t time.Time) (time.Duration, bool) { - if len(el.events) == 0 { - return t.Sub(el.Start), false - } - prev := el.events[len(el.events)-1].When - return t.Sub(prev), prev.Day() != t.Day() - -} - -func (el *eventLog) Printf(format string, a ...interface{}) { - el.printf(false, format, a...) -} - -func (el *eventLog) Errorf(format string, a ...interface{}) { - el.printf(true, format, a...) -} - -func (el *eventLog) printf(isErr bool, format string, a ...interface{}) { - e := logEntry{When: time.Now(), IsErr: isErr, What: fmt.Sprintf(format, a...)} - el.mu.Lock() - e.Elapsed, e.NewDay = el.delta(e.When) - if len(el.events) < maxEventsPerLog { - el.events = append(el.events, e) - } else { - // Discard the oldest event. - if el.discarded == 0 { - // el.discarded starts at two to count for the event it - // is replacing, plus the next one that we are about to - // drop. - el.discarded = 2 - } else { - el.discarded++ - } - // TODO(sameer): if this causes allocations on a critical path, - // change eventLog.What to be a fmt.Stringer, as in trace.go. - el.events[0].What = fmt.Sprintf("(%d events discarded)", el.discarded) - // The timestamp of the discarded meta-event should be - // the time of the last event it is representing. - el.events[0].When = el.events[1].When - copy(el.events[1:], el.events[2:]) - el.events[maxEventsPerLog-1] = e - } - if e.IsErr { - el.LastErrorTime = e.When - } - el.mu.Unlock() -} - -func (el *eventLog) ref() { - atomic.AddInt32(&el.refs, 1) -} - -func (el *eventLog) unref() { - if atomic.AddInt32(&el.refs, -1) == 0 { - freeEventLog(el) - } -} - -func (el *eventLog) When() string { - return el.Start.Format("2006/01/02 15:04:05.000000") -} - -func (el *eventLog) ElapsedTime() string { - elapsed := time.Since(el.Start) - return fmt.Sprintf("%.6f", elapsed.Seconds()) -} - -func (el *eventLog) Stack() string { - buf := new(bytes.Buffer) - tw := tabwriter.NewWriter(buf, 1, 8, 1, '\t', 0) - printStackRecord(tw, el.stack) - tw.Flush() - return buf.String() -} - -// printStackRecord prints the function + source line information -// for a single stack trace. -// Adapted from runtime/pprof/pprof.go. -func printStackRecord(w io.Writer, stk []uintptr) { - for _, pc := range stk { - f := runtime.FuncForPC(pc) - if f == nil { - continue - } - file, line := f.FileLine(pc) - name := f.Name() - // Hide runtime.goexit and any runtime functions at the beginning. - if strings.HasPrefix(name, "runtime.") { - continue - } - fmt.Fprintf(w, "# %s\t%s:%d\n", name, file, line) - } -} - -func (el *eventLog) Events() []logEntry { - el.mu.RLock() - defer el.mu.RUnlock() - return el.events -} - -// freeEventLogs is a freelist of *eventLog -var freeEventLogs = make(chan *eventLog, 1000) - -// newEventLog returns a event log ready to use. -func newEventLog() *eventLog { - select { - case el := <-freeEventLogs: - return el - default: - return new(eventLog) - } -} - -// freeEventLog adds el to freeEventLogs if there's room. -// This is non-blocking. -func freeEventLog(el *eventLog) { - el.reset() - select { - case freeEventLogs <- el: - default: - } -} - -const eventsHTML = ` - - - events - - - - -

    /debug/events

    - - - {{range $i, $fam := .Families}} - - - - {{range $j, $bucket := $.Buckets}} - {{$n := index $.Counts $i $j}} - - {{end}} - - {{end}} -
    {{$fam}} - {{if $n}}{{end}} - [{{$n}} {{$bucket.String}}] - {{if $n}}{{end}} -
    - -{{if $.EventLogs}} -
    -

    Family: {{$.Family}}

    - -{{if $.Expanded}}
    {{end}} -[Summary]{{if $.Expanded}}{{end}} - -{{if not $.Expanded}}{{end}} -[Expanded]{{if not $.Expanded}}{{end}} - - - - {{range $el := $.EventLogs}} - - - - - {{if $.Expanded}} - - - - - - {{range $el.Events}} - - - - - - {{end}} - {{end}} - {{end}} -
    WhenElapsed
    {{$el.When}}{{$el.ElapsedTime}}{{$el.Title}} -
    {{$el.Stack|trimSpace}}
    {{.WhenString}}{{elapsed .Elapsed}}.{{if .IsErr}}E{{else}}.{{end}}. {{.What}}
    -{{end}} - - -` diff --git a/vendor/golang.org/x/net/trace/histogram.go b/vendor/golang.org/x/net/trace/histogram.go deleted file mode 100644 index bb42aa532..000000000 --- a/vendor/golang.org/x/net/trace/histogram.go +++ /dev/null @@ -1,356 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package trace - -// This file implements histogramming for RPC statistics collection. - -import ( - "bytes" - "fmt" - "html/template" - "log" - "math" - - "golang.org/x/net/internal/timeseries" -) - -const ( - bucketCount = 38 -) - -// histogram keeps counts of values in buckets that are spaced -// out in powers of 2: 0-1, 2-3, 4-7... -// histogram implements timeseries.Observable -type histogram struct { - sum int64 // running total of measurements - sumOfSquares float64 // square of running total - buckets []int64 // bucketed values for histogram - value int // holds a single value as an optimization - valueCount int64 // number of values recorded for single value -} - -// AddMeasurement records a value measurement observation to the histogram. -func (h *histogram) addMeasurement(value int64) { - // TODO: assert invariant - h.sum += value - h.sumOfSquares += float64(value) * float64(value) - - bucketIndex := getBucket(value) - - if h.valueCount == 0 || (h.valueCount > 0 && h.value == bucketIndex) { - h.value = bucketIndex - h.valueCount++ - } else { - h.allocateBuckets() - h.buckets[bucketIndex]++ - } -} - -func (h *histogram) allocateBuckets() { - if h.buckets == nil { - h.buckets = make([]int64, bucketCount) - h.buckets[h.value] = h.valueCount - h.value = 0 - h.valueCount = -1 - } -} - -func log2(i int64) int { - n := 0 - for ; i >= 0x100; i >>= 8 { - n += 8 - } - for ; i > 0; i >>= 1 { - n += 1 - } - return n -} - -func getBucket(i int64) (index int) { - index = log2(i) - 1 - if index < 0 { - index = 0 - } - if index >= bucketCount { - index = bucketCount - 1 - } - return -} - -// Total returns the number of recorded observations. -func (h *histogram) total() (total int64) { - if h.valueCount >= 0 { - total = h.valueCount - } - for _, val := range h.buckets { - total += int64(val) - } - return -} - -// Average returns the average value of recorded observations. -func (h *histogram) average() float64 { - t := h.total() - if t == 0 { - return 0 - } - return float64(h.sum) / float64(t) -} - -// Variance returns the variance of recorded observations. -func (h *histogram) variance() float64 { - t := float64(h.total()) - if t == 0 { - return 0 - } - s := float64(h.sum) / t - return h.sumOfSquares/t - s*s -} - -// StandardDeviation returns the standard deviation of recorded observations. -func (h *histogram) standardDeviation() float64 { - return math.Sqrt(h.variance()) -} - -// PercentileBoundary estimates the value that the given fraction of recorded -// observations are less than. -func (h *histogram) percentileBoundary(percentile float64) int64 { - total := h.total() - - // Corner cases (make sure result is strictly less than Total()) - if total == 0 { - return 0 - } else if total == 1 { - return int64(h.average()) - } - - percentOfTotal := round(float64(total) * percentile) - var runningTotal int64 - - for i := range h.buckets { - value := h.buckets[i] - runningTotal += value - if runningTotal == percentOfTotal { - // We hit an exact bucket boundary. If the next bucket has data, it is a - // good estimate of the value. If the bucket is empty, we interpolate the - // midpoint between the next bucket's boundary and the next non-zero - // bucket. If the remaining buckets are all empty, then we use the - // boundary for the next bucket as the estimate. - j := uint8(i + 1) - min := bucketBoundary(j) - if runningTotal < total { - for h.buckets[j] == 0 { - j++ - } - } - max := bucketBoundary(j) - return min + round(float64(max-min)/2) - } else if runningTotal > percentOfTotal { - // The value is in this bucket. Interpolate the value. - delta := runningTotal - percentOfTotal - percentBucket := float64(value-delta) / float64(value) - bucketMin := bucketBoundary(uint8(i)) - nextBucketMin := bucketBoundary(uint8(i + 1)) - bucketSize := nextBucketMin - bucketMin - return bucketMin + round(percentBucket*float64(bucketSize)) - } - } - return bucketBoundary(bucketCount - 1) -} - -// Median returns the estimated median of the observed values. -func (h *histogram) median() int64 { - return h.percentileBoundary(0.5) -} - -// Add adds other to h. -func (h *histogram) Add(other timeseries.Observable) { - o := other.(*histogram) - if o.valueCount == 0 { - // Other histogram is empty - } else if h.valueCount >= 0 && o.valueCount > 0 && h.value == o.value { - // Both have a single bucketed value, aggregate them - h.valueCount += o.valueCount - } else { - // Two different values necessitate buckets in this histogram - h.allocateBuckets() - if o.valueCount >= 0 { - h.buckets[o.value] += o.valueCount - } else { - for i := range h.buckets { - h.buckets[i] += o.buckets[i] - } - } - } - h.sumOfSquares += o.sumOfSquares - h.sum += o.sum -} - -// Clear resets the histogram to an empty state, removing all observed values. -func (h *histogram) Clear() { - h.buckets = nil - h.value = 0 - h.valueCount = 0 - h.sum = 0 - h.sumOfSquares = 0 -} - -// CopyFrom copies from other, which must be a *histogram, into h. -func (h *histogram) CopyFrom(other timeseries.Observable) { - o := other.(*histogram) - if o.valueCount == -1 { - h.allocateBuckets() - copy(h.buckets, o.buckets) - } - h.sum = o.sum - h.sumOfSquares = o.sumOfSquares - h.value = o.value - h.valueCount = o.valueCount -} - -// Multiply scales the histogram by the specified ratio. -func (h *histogram) Multiply(ratio float64) { - if h.valueCount == -1 { - for i := range h.buckets { - h.buckets[i] = int64(float64(h.buckets[i]) * ratio) - } - } else { - h.valueCount = int64(float64(h.valueCount) * ratio) - } - h.sum = int64(float64(h.sum) * ratio) - h.sumOfSquares = h.sumOfSquares * ratio -} - -// New creates a new histogram. -func (h *histogram) New() timeseries.Observable { - r := new(histogram) - r.Clear() - return r -} - -func (h *histogram) String() string { - return fmt.Sprintf("%d, %f, %d, %d, %v", - h.sum, h.sumOfSquares, h.value, h.valueCount, h.buckets) -} - -// round returns the closest int64 to the argument -func round(in float64) int64 { - return int64(math.Floor(in + 0.5)) -} - -// bucketBoundary returns the first value in the bucket. -func bucketBoundary(bucket uint8) int64 { - if bucket == 0 { - return 0 - } - return 1 << bucket -} - -// bucketData holds data about a specific bucket for use in distTmpl. -type bucketData struct { - Lower, Upper int64 - N int64 - Pct, CumulativePct float64 - GraphWidth int -} - -// data holds data about a Distribution for use in distTmpl. -type data struct { - Buckets []*bucketData - Count, Median int64 - Mean, StandardDeviation float64 -} - -// maxHTMLBarWidth is the maximum width of the HTML bar for visualizing buckets. -const maxHTMLBarWidth = 350.0 - -// newData returns data representing h for use in distTmpl. -func (h *histogram) newData() *data { - // Force the allocation of buckets to simplify the rendering implementation - h.allocateBuckets() - // We scale the bars on the right so that the largest bar is - // maxHTMLBarWidth pixels in width. - maxBucket := int64(0) - for _, n := range h.buckets { - if n > maxBucket { - maxBucket = n - } - } - total := h.total() - barsizeMult := maxHTMLBarWidth / float64(maxBucket) - var pctMult float64 - if total == 0 { - pctMult = 1.0 - } else { - pctMult = 100.0 / float64(total) - } - - buckets := make([]*bucketData, len(h.buckets)) - runningTotal := int64(0) - for i, n := range h.buckets { - if n == 0 { - continue - } - runningTotal += n - var upperBound int64 - if i < bucketCount-1 { - upperBound = bucketBoundary(uint8(i + 1)) - } else { - upperBound = math.MaxInt64 - } - buckets[i] = &bucketData{ - Lower: bucketBoundary(uint8(i)), - Upper: upperBound, - N: n, - Pct: float64(n) * pctMult, - CumulativePct: float64(runningTotal) * pctMult, - GraphWidth: int(float64(n) * barsizeMult), - } - } - return &data{ - Buckets: buckets, - Count: total, - Median: h.median(), - Mean: h.average(), - StandardDeviation: h.standardDeviation(), - } -} - -func (h *histogram) html() template.HTML { - buf := new(bytes.Buffer) - if err := distTmpl.Execute(buf, h.newData()); err != nil { - buf.Reset() - log.Printf("net/trace: couldn't execute template: %v", err) - } - return template.HTML(buf.String()) -} - -// Input: data -var distTmpl = template.Must(template.New("distTmpl").Parse(` - - - - - - - -
    Count: {{.Count}}Mean: {{printf "%.0f" .Mean}}StdDev: {{printf "%.0f" .StandardDeviation}}Median: {{.Median}}
    -
    - -{{range $b := .Buckets}} -{{if $b}} - - - - - - - - - -{{end}} -{{end}} -
    [{{.Lower}},{{.Upper}}){{.N}}{{printf "%#.3f" .Pct}}%{{printf "%#.3f" .CumulativePct}}%
    -`)) diff --git a/vendor/golang.org/x/net/trace/trace.go b/vendor/golang.org/x/net/trace/trace.go deleted file mode 100644 index 197402e03..000000000 --- a/vendor/golang.org/x/net/trace/trace.go +++ /dev/null @@ -1,1059 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -Package trace implements tracing of requests and long-lived objects. -It exports HTTP interfaces on /debug/requests and /debug/events. - -A trace.Trace provides tracing for short-lived objects, usually requests. -A request handler might be implemented like this: - - func fooHandler(w http.ResponseWriter, req *http.Request) { - tr := trace.New("mypkg.Foo", req.URL.Path) - defer tr.Finish() - ... - tr.LazyPrintf("some event %q happened", str) - ... - if err := somethingImportant(); err != nil { - tr.LazyPrintf("somethingImportant failed: %v", err) - tr.SetError() - } - } - -The /debug/requests HTTP endpoint organizes the traces by family, -errors, and duration. It also provides histogram of request duration -for each family. - -A trace.EventLog provides tracing for long-lived objects, such as RPC -connections. - - // A Fetcher fetches URL paths for a single domain. - type Fetcher struct { - domain string - events trace.EventLog - } - - func NewFetcher(domain string) *Fetcher { - return &Fetcher{ - domain, - trace.NewEventLog("mypkg.Fetcher", domain), - } - } - - func (f *Fetcher) Fetch(path string) (string, error) { - resp, err := http.Get("http://" + f.domain + "/" + path) - if err != nil { - f.events.Errorf("Get(%q) = %v", path, err) - return "", err - } - f.events.Printf("Get(%q) = %s", path, resp.Status) - ... - } - - func (f *Fetcher) Close() error { - f.events.Finish() - return nil - } - -The /debug/events HTTP endpoint organizes the event logs by family and -by time since the last error. The expanded view displays recent log -entries and the log's call stack. -*/ -package trace - -import ( - "bytes" - "fmt" - "html/template" - "io" - "log" - "net" - "net/http" - "runtime" - "sort" - "strconv" - "sync" - "sync/atomic" - "time" - - "golang.org/x/net/context" - "golang.org/x/net/internal/timeseries" -) - -// DebugUseAfterFinish controls whether to debug uses of Trace values after finishing. -// FOR DEBUGGING ONLY. This will slow down the program. -var DebugUseAfterFinish = false - -// AuthRequest determines whether a specific request is permitted to load the -// /debug/requests or /debug/events pages. -// -// It returns two bools; the first indicates whether the page may be viewed at all, -// and the second indicates whether sensitive events will be shown. -// -// AuthRequest may be replaced by a program to customise its authorisation requirements. -// -// The default AuthRequest function returns (true, true) iff the request comes from localhost/127.0.0.1/[::1]. -var AuthRequest = func(req *http.Request) (any, sensitive bool) { - host, _, err := net.SplitHostPort(req.RemoteAddr) - switch { - case err != nil: // Badly formed address; fail closed. - return false, false - case host == "localhost" || host == "127.0.0.1" || host == "::1": - return true, true - default: - return false, false - } -} - -func init() { - http.HandleFunc("/debug/requests", func(w http.ResponseWriter, req *http.Request) { - any, sensitive := AuthRequest(req) - if !any { - http.Error(w, "not allowed", http.StatusUnauthorized) - return - } - w.Header().Set("Content-Type", "text/html; charset=utf-8") - Render(w, req, sensitive) - }) - http.HandleFunc("/debug/events", func(w http.ResponseWriter, req *http.Request) { - any, sensitive := AuthRequest(req) - if !any { - http.Error(w, "not allowed", http.StatusUnauthorized) - return - } - w.Header().Set("Content-Type", "text/html; charset=utf-8") - RenderEvents(w, req, sensitive) - }) -} - -// Render renders the HTML page typically served at /debug/requests. -// It does not do any auth checking; see AuthRequest for the default auth check -// used by the handler registered on http.DefaultServeMux. -// req may be nil. -func Render(w io.Writer, req *http.Request, sensitive bool) { - data := &struct { - Families []string - ActiveTraceCount map[string]int - CompletedTraces map[string]*family - - // Set when a bucket has been selected. - Traces traceList - Family string - Bucket int - Expanded bool - Traced bool - Active bool - ShowSensitive bool // whether to show sensitive events - - Histogram template.HTML - HistogramWindow string // e.g. "last minute", "last hour", "all time" - - // If non-zero, the set of traces is a partial set, - // and this is the total number. - Total int - }{ - CompletedTraces: completedTraces, - } - - data.ShowSensitive = sensitive - if req != nil { - // Allow show_sensitive=0 to force hiding of sensitive data for testing. - // This only goes one way; you can't use show_sensitive=1 to see things. - if req.FormValue("show_sensitive") == "0" { - data.ShowSensitive = false - } - - if exp, err := strconv.ParseBool(req.FormValue("exp")); err == nil { - data.Expanded = exp - } - if exp, err := strconv.ParseBool(req.FormValue("rtraced")); err == nil { - data.Traced = exp - } - } - - completedMu.RLock() - data.Families = make([]string, 0, len(completedTraces)) - for fam := range completedTraces { - data.Families = append(data.Families, fam) - } - completedMu.RUnlock() - sort.Strings(data.Families) - - // We are careful here to minimize the time spent locking activeMu, - // since that lock is required every time an RPC starts and finishes. - data.ActiveTraceCount = make(map[string]int, len(data.Families)) - activeMu.RLock() - for fam, s := range activeTraces { - data.ActiveTraceCount[fam] = s.Len() - } - activeMu.RUnlock() - - var ok bool - data.Family, data.Bucket, ok = parseArgs(req) - switch { - case !ok: - // No-op - case data.Bucket == -1: - data.Active = true - n := data.ActiveTraceCount[data.Family] - data.Traces = getActiveTraces(data.Family) - if len(data.Traces) < n { - data.Total = n - } - case data.Bucket < bucketsPerFamily: - if b := lookupBucket(data.Family, data.Bucket); b != nil { - data.Traces = b.Copy(data.Traced) - } - default: - if f := getFamily(data.Family, false); f != nil { - var obs timeseries.Observable - f.LatencyMu.RLock() - switch o := data.Bucket - bucketsPerFamily; o { - case 0: - obs = f.Latency.Minute() - data.HistogramWindow = "last minute" - case 1: - obs = f.Latency.Hour() - data.HistogramWindow = "last hour" - case 2: - obs = f.Latency.Total() - data.HistogramWindow = "all time" - } - f.LatencyMu.RUnlock() - if obs != nil { - data.Histogram = obs.(*histogram).html() - } - } - } - - if data.Traces != nil { - defer data.Traces.Free() - sort.Sort(data.Traces) - } - - completedMu.RLock() - defer completedMu.RUnlock() - if err := pageTmpl.ExecuteTemplate(w, "Page", data); err != nil { - log.Printf("net/trace: Failed executing template: %v", err) - } -} - -func parseArgs(req *http.Request) (fam string, b int, ok bool) { - if req == nil { - return "", 0, false - } - fam, bStr := req.FormValue("fam"), req.FormValue("b") - if fam == "" || bStr == "" { - return "", 0, false - } - b, err := strconv.Atoi(bStr) - if err != nil || b < -1 { - return "", 0, false - } - - return fam, b, true -} - -func lookupBucket(fam string, b int) *traceBucket { - f := getFamily(fam, false) - if f == nil || b < 0 || b >= len(f.Buckets) { - return nil - } - return f.Buckets[b] -} - -type contextKeyT string - -var contextKey = contextKeyT("golang.org/x/net/trace.Trace") - -// NewContext returns a copy of the parent context -// and associates it with a Trace. -func NewContext(ctx context.Context, tr Trace) context.Context { - return context.WithValue(ctx, contextKey, tr) -} - -// FromContext returns the Trace bound to the context, if any. -func FromContext(ctx context.Context) (tr Trace, ok bool) { - tr, ok = ctx.Value(contextKey).(Trace) - return -} - -// Trace represents an active request. -type Trace interface { - // LazyLog adds x to the event log. It will be evaluated each time the - // /debug/requests page is rendered. Any memory referenced by x will be - // pinned until the trace is finished and later discarded. - LazyLog(x fmt.Stringer, sensitive bool) - - // LazyPrintf evaluates its arguments with fmt.Sprintf each time the - // /debug/requests page is rendered. Any memory referenced by a will be - // pinned until the trace is finished and later discarded. - LazyPrintf(format string, a ...interface{}) - - // SetError declares that this trace resulted in an error. - SetError() - - // SetRecycler sets a recycler for the trace. - // f will be called for each event passed to LazyLog at a time when - // it is no longer required, whether while the trace is still active - // and the event is discarded, or when a completed trace is discarded. - SetRecycler(f func(interface{})) - - // SetTraceInfo sets the trace info for the trace. - // This is currently unused. - SetTraceInfo(traceID, spanID uint64) - - // SetMaxEvents sets the maximum number of events that will be stored - // in the trace. This has no effect if any events have already been - // added to the trace. - SetMaxEvents(m int) - - // Finish declares that this trace is complete. - // The trace should not be used after calling this method. - Finish() -} - -type lazySprintf struct { - format string - a []interface{} -} - -func (l *lazySprintf) String() string { - return fmt.Sprintf(l.format, l.a...) -} - -// New returns a new Trace with the specified family and title. -func New(family, title string) Trace { - tr := newTrace() - tr.ref() - tr.Family, tr.Title = family, title - tr.Start = time.Now() - tr.events = make([]event, 0, maxEventsPerTrace) - - activeMu.RLock() - s := activeTraces[tr.Family] - activeMu.RUnlock() - if s == nil { - activeMu.Lock() - s = activeTraces[tr.Family] // check again - if s == nil { - s = new(traceSet) - activeTraces[tr.Family] = s - } - activeMu.Unlock() - } - s.Add(tr) - - // Trigger allocation of the completed trace structure for this family. - // This will cause the family to be present in the request page during - // the first trace of this family. We don't care about the return value, - // nor is there any need for this to run inline, so we execute it in its - // own goroutine, but only if the family isn't allocated yet. - completedMu.RLock() - if _, ok := completedTraces[tr.Family]; !ok { - go allocFamily(tr.Family) - } - completedMu.RUnlock() - - return tr -} - -func (tr *trace) Finish() { - tr.Elapsed = time.Now().Sub(tr.Start) - if DebugUseAfterFinish { - buf := make([]byte, 4<<10) // 4 KB should be enough - n := runtime.Stack(buf, false) - tr.finishStack = buf[:n] - } - - activeMu.RLock() - m := activeTraces[tr.Family] - activeMu.RUnlock() - m.Remove(tr) - - f := getFamily(tr.Family, true) - for _, b := range f.Buckets { - if b.Cond.match(tr) { - b.Add(tr) - } - } - // Add a sample of elapsed time as microseconds to the family's timeseries - h := new(histogram) - h.addMeasurement(tr.Elapsed.Nanoseconds() / 1e3) - f.LatencyMu.Lock() - f.Latency.Add(h) - f.LatencyMu.Unlock() - - tr.unref() // matches ref in New -} - -const ( - bucketsPerFamily = 9 - tracesPerBucket = 10 - maxActiveTraces = 20 // Maximum number of active traces to show. - maxEventsPerTrace = 10 - numHistogramBuckets = 38 -) - -var ( - // The active traces. - activeMu sync.RWMutex - activeTraces = make(map[string]*traceSet) // family -> traces - - // Families of completed traces. - completedMu sync.RWMutex - completedTraces = make(map[string]*family) // family -> traces -) - -type traceSet struct { - mu sync.RWMutex - m map[*trace]bool - - // We could avoid the entire map scan in FirstN by having a slice of all the traces - // ordered by start time, and an index into that from the trace struct, with a periodic - // repack of the slice after enough traces finish; we could also use a skip list or similar. - // However, that would shift some of the expense from /debug/requests time to RPC time, - // which is probably the wrong trade-off. -} - -func (ts *traceSet) Len() int { - ts.mu.RLock() - defer ts.mu.RUnlock() - return len(ts.m) -} - -func (ts *traceSet) Add(tr *trace) { - ts.mu.Lock() - if ts.m == nil { - ts.m = make(map[*trace]bool) - } - ts.m[tr] = true - ts.mu.Unlock() -} - -func (ts *traceSet) Remove(tr *trace) { - ts.mu.Lock() - delete(ts.m, tr) - ts.mu.Unlock() -} - -// FirstN returns the first n traces ordered by time. -func (ts *traceSet) FirstN(n int) traceList { - ts.mu.RLock() - defer ts.mu.RUnlock() - - if n > len(ts.m) { - n = len(ts.m) - } - trl := make(traceList, 0, n) - - // Fast path for when no selectivity is needed. - if n == len(ts.m) { - for tr := range ts.m { - tr.ref() - trl = append(trl, tr) - } - sort.Sort(trl) - return trl - } - - // Pick the oldest n traces. - // This is inefficient. See the comment in the traceSet struct. - for tr := range ts.m { - // Put the first n traces into trl in the order they occur. - // When we have n, sort trl, and thereafter maintain its order. - if len(trl) < n { - tr.ref() - trl = append(trl, tr) - if len(trl) == n { - // This is guaranteed to happen exactly once during this loop. - sort.Sort(trl) - } - continue - } - if tr.Start.After(trl[n-1].Start) { - continue - } - - // Find where to insert this one. - tr.ref() - i := sort.Search(n, func(i int) bool { return trl[i].Start.After(tr.Start) }) - trl[n-1].unref() - copy(trl[i+1:], trl[i:]) - trl[i] = tr - } - - return trl -} - -func getActiveTraces(fam string) traceList { - activeMu.RLock() - s := activeTraces[fam] - activeMu.RUnlock() - if s == nil { - return nil - } - return s.FirstN(maxActiveTraces) -} - -func getFamily(fam string, allocNew bool) *family { - completedMu.RLock() - f := completedTraces[fam] - completedMu.RUnlock() - if f == nil && allocNew { - f = allocFamily(fam) - } - return f -} - -func allocFamily(fam string) *family { - completedMu.Lock() - defer completedMu.Unlock() - f := completedTraces[fam] - if f == nil { - f = newFamily() - completedTraces[fam] = f - } - return f -} - -// family represents a set of trace buckets and associated latency information. -type family struct { - // traces may occur in multiple buckets. - Buckets [bucketsPerFamily]*traceBucket - - // latency time series - LatencyMu sync.RWMutex - Latency *timeseries.MinuteHourSeries -} - -func newFamily() *family { - return &family{ - Buckets: [bucketsPerFamily]*traceBucket{ - {Cond: minCond(0)}, - {Cond: minCond(50 * time.Millisecond)}, - {Cond: minCond(100 * time.Millisecond)}, - {Cond: minCond(200 * time.Millisecond)}, - {Cond: minCond(500 * time.Millisecond)}, - {Cond: minCond(1 * time.Second)}, - {Cond: minCond(10 * time.Second)}, - {Cond: minCond(100 * time.Second)}, - {Cond: errorCond{}}, - }, - Latency: timeseries.NewMinuteHourSeries(func() timeseries.Observable { return new(histogram) }), - } -} - -// traceBucket represents a size-capped bucket of historic traces, -// along with a condition for a trace to belong to the bucket. -type traceBucket struct { - Cond cond - - // Ring buffer implementation of a fixed-size FIFO queue. - mu sync.RWMutex - buf [tracesPerBucket]*trace - start int // < tracesPerBucket - length int // <= tracesPerBucket -} - -func (b *traceBucket) Add(tr *trace) { - b.mu.Lock() - defer b.mu.Unlock() - - i := b.start + b.length - if i >= tracesPerBucket { - i -= tracesPerBucket - } - if b.length == tracesPerBucket { - // "Remove" an element from the bucket. - b.buf[i].unref() - b.start++ - if b.start == tracesPerBucket { - b.start = 0 - } - } - b.buf[i] = tr - if b.length < tracesPerBucket { - b.length++ - } - tr.ref() -} - -// Copy returns a copy of the traces in the bucket. -// If tracedOnly is true, only the traces with trace information will be returned. -// The logs will be ref'd before returning; the caller should call -// the Free method when it is done with them. -// TODO(dsymonds): keep track of traced requests in separate buckets. -func (b *traceBucket) Copy(tracedOnly bool) traceList { - b.mu.RLock() - defer b.mu.RUnlock() - - trl := make(traceList, 0, b.length) - for i, x := 0, b.start; i < b.length; i++ { - tr := b.buf[x] - if !tracedOnly || tr.spanID != 0 { - tr.ref() - trl = append(trl, tr) - } - x++ - if x == b.length { - x = 0 - } - } - return trl -} - -func (b *traceBucket) Empty() bool { - b.mu.RLock() - defer b.mu.RUnlock() - return b.length == 0 -} - -// cond represents a condition on a trace. -type cond interface { - match(t *trace) bool - String() string -} - -type minCond time.Duration - -func (m minCond) match(t *trace) bool { return t.Elapsed >= time.Duration(m) } -func (m minCond) String() string { return fmt.Sprintf("≥%gs", time.Duration(m).Seconds()) } - -type errorCond struct{} - -func (e errorCond) match(t *trace) bool { return t.IsError } -func (e errorCond) String() string { return "errors" } - -type traceList []*trace - -// Free calls unref on each element of the list. -func (trl traceList) Free() { - for _, t := range trl { - t.unref() - } -} - -// traceList may be sorted in reverse chronological order. -func (trl traceList) Len() int { return len(trl) } -func (trl traceList) Less(i, j int) bool { return trl[i].Start.After(trl[j].Start) } -func (trl traceList) Swap(i, j int) { trl[i], trl[j] = trl[j], trl[i] } - -// An event is a timestamped log entry in a trace. -type event struct { - When time.Time - Elapsed time.Duration // since previous event in trace - NewDay bool // whether this event is on a different day to the previous event - Recyclable bool // whether this event was passed via LazyLog - What interface{} // string or fmt.Stringer - Sensitive bool // whether this event contains sensitive information -} - -// WhenString returns a string representation of the elapsed time of the event. -// It will include the date if midnight was crossed. -func (e event) WhenString() string { - if e.NewDay { - return e.When.Format("2006/01/02 15:04:05.000000") - } - return e.When.Format("15:04:05.000000") -} - -// discarded represents a number of discarded events. -// It is stored as *discarded to make it easier to update in-place. -type discarded int - -func (d *discarded) String() string { - return fmt.Sprintf("(%d events discarded)", int(*d)) -} - -// trace represents an active or complete request, -// either sent or received by this program. -type trace struct { - // Family is the top-level grouping of traces to which this belongs. - Family string - - // Title is the title of this trace. - Title string - - // Timing information. - Start time.Time - Elapsed time.Duration // zero while active - - // Trace information if non-zero. - traceID uint64 - spanID uint64 - - // Whether this trace resulted in an error. - IsError bool - - // Append-only sequence of events (modulo discards). - mu sync.RWMutex - events []event - - refs int32 // how many buckets this is in - recycler func(interface{}) - disc discarded // scratch space to avoid allocation - - finishStack []byte // where finish was called, if DebugUseAfterFinish is set -} - -func (tr *trace) reset() { - // Clear all but the mutex. Mutexes may not be copied, even when unlocked. - tr.Family = "" - tr.Title = "" - tr.Start = time.Time{} - tr.Elapsed = 0 - tr.traceID = 0 - tr.spanID = 0 - tr.IsError = false - tr.events = nil - tr.refs = 0 - tr.recycler = nil - tr.disc = 0 - tr.finishStack = nil -} - -// delta returns the elapsed time since the last event or the trace start, -// and whether it spans midnight. -// L >= tr.mu -func (tr *trace) delta(t time.Time) (time.Duration, bool) { - if len(tr.events) == 0 { - return t.Sub(tr.Start), false - } - prev := tr.events[len(tr.events)-1].When - return t.Sub(prev), prev.Day() != t.Day() -} - -func (tr *trace) addEvent(x interface{}, recyclable, sensitive bool) { - if DebugUseAfterFinish && tr.finishStack != nil { - buf := make([]byte, 4<<10) // 4 KB should be enough - n := runtime.Stack(buf, false) - log.Printf("net/trace: trace used after finish:\nFinished at:\n%s\nUsed at:\n%s", tr.finishStack, buf[:n]) - } - - /* - NOTE TO DEBUGGERS - - If you are here because your program panicked in this code, - it is almost definitely the fault of code using this package, - and very unlikely to be the fault of this code. - - The most likely scenario is that some code elsewhere is using - a requestz.Trace after its Finish method is called. - You can temporarily set the DebugUseAfterFinish var - to help discover where that is; do not leave that var set, - since it makes this package much less efficient. - */ - - e := event{When: time.Now(), What: x, Recyclable: recyclable, Sensitive: sensitive} - tr.mu.Lock() - e.Elapsed, e.NewDay = tr.delta(e.When) - if len(tr.events) < cap(tr.events) { - tr.events = append(tr.events, e) - } else { - // Discard the middle events. - di := int((cap(tr.events) - 1) / 2) - if d, ok := tr.events[di].What.(*discarded); ok { - (*d)++ - } else { - // disc starts at two to count for the event it is replacing, - // plus the next one that we are about to drop. - tr.disc = 2 - if tr.recycler != nil && tr.events[di].Recyclable { - go tr.recycler(tr.events[di].What) - } - tr.events[di].What = &tr.disc - } - // The timestamp of the discarded meta-event should be - // the time of the last event it is representing. - tr.events[di].When = tr.events[di+1].When - - if tr.recycler != nil && tr.events[di+1].Recyclable { - go tr.recycler(tr.events[di+1].What) - } - copy(tr.events[di+1:], tr.events[di+2:]) - tr.events[cap(tr.events)-1] = e - } - tr.mu.Unlock() -} - -func (tr *trace) LazyLog(x fmt.Stringer, sensitive bool) { - tr.addEvent(x, true, sensitive) -} - -func (tr *trace) LazyPrintf(format string, a ...interface{}) { - tr.addEvent(&lazySprintf{format, a}, false, false) -} - -func (tr *trace) SetError() { tr.IsError = true } - -func (tr *trace) SetRecycler(f func(interface{})) { - tr.recycler = f -} - -func (tr *trace) SetTraceInfo(traceID, spanID uint64) { - tr.traceID, tr.spanID = traceID, spanID -} - -func (tr *trace) SetMaxEvents(m int) { - // Always keep at least three events: first, discarded count, last. - if len(tr.events) == 0 && m > 3 { - tr.events = make([]event, 0, m) - } -} - -func (tr *trace) ref() { - atomic.AddInt32(&tr.refs, 1) -} - -func (tr *trace) unref() { - if atomic.AddInt32(&tr.refs, -1) == 0 { - if tr.recycler != nil { - // freeTrace clears tr, so we hold tr.recycler and tr.events here. - go func(f func(interface{}), es []event) { - for _, e := range es { - if e.Recyclable { - f(e.What) - } - } - }(tr.recycler, tr.events) - } - - freeTrace(tr) - } -} - -func (tr *trace) When() string { - return tr.Start.Format("2006/01/02 15:04:05.000000") -} - -func (tr *trace) ElapsedTime() string { - t := tr.Elapsed - if t == 0 { - // Active trace. - t = time.Since(tr.Start) - } - return fmt.Sprintf("%.6f", t.Seconds()) -} - -func (tr *trace) Events() []event { - tr.mu.RLock() - defer tr.mu.RUnlock() - return tr.events -} - -var traceFreeList = make(chan *trace, 1000) // TODO(dsymonds): Use sync.Pool? - -// newTrace returns a trace ready to use. -func newTrace() *trace { - select { - case tr := <-traceFreeList: - return tr - default: - return new(trace) - } -} - -// freeTrace adds tr to traceFreeList if there's room. -// This is non-blocking. -func freeTrace(tr *trace) { - if DebugUseAfterFinish { - return // never reuse - } - tr.reset() - select { - case traceFreeList <- tr: - default: - } -} - -func elapsed(d time.Duration) string { - b := []byte(fmt.Sprintf("%.6f", d.Seconds())) - - // For subsecond durations, blank all zeros before decimal point, - // and all zeros between the decimal point and the first non-zero digit. - if d < time.Second { - dot := bytes.IndexByte(b, '.') - for i := 0; i < dot; i++ { - b[i] = ' ' - } - for i := dot + 1; i < len(b); i++ { - if b[i] == '0' { - b[i] = ' ' - } else { - break - } - } - } - - return string(b) -} - -var pageTmpl = template.Must(template.New("Page").Funcs(template.FuncMap{ - "elapsed": elapsed, - "add": func(a, b int) int { return a + b }, -}).Parse(pageHTML)) - -const pageHTML = ` -{{template "Prolog" .}} -{{template "StatusTable" .}} -{{template "Epilog" .}} - -{{define "Prolog"}} - - - /debug/requests - - - - -

    /debug/requests

    -{{end}} {{/* end of Prolog */}} - -{{define "StatusTable"}} - - {{range $fam := .Families}} - - - - {{$n := index $.ActiveTraceCount $fam}} - - - {{$f := index $.CompletedTraces $fam}} - {{range $i, $b := $f.Buckets}} - {{$empty := $b.Empty}} - - {{end}} - - {{$nb := len $f.Buckets}} - - - - - - {{end}} -
    {{$fam}} - {{if $n}}{{end}} - [{{$n}} active] - {{if $n}}{{end}} - - {{if not $empty}}{{end}} - [{{.Cond}}] - {{if not $empty}}{{end}} - - [minute] - - [hour] - - [total] -
    -{{end}} {{/* end of StatusTable */}} - -{{define "Epilog"}} -{{if $.Traces}} -
    -

    Family: {{$.Family}}

    - -{{if or $.Expanded $.Traced}} - [Normal/Summary] -{{else}} - [Normal/Summary] -{{end}} - -{{if or (not $.Expanded) $.Traced}} - [Normal/Expanded] -{{else}} - [Normal/Expanded] -{{end}} - -{{if not $.Active}} - {{if or $.Expanded (not $.Traced)}} - [Traced/Summary] - {{else}} - [Traced/Summary] - {{end}} - {{if or (not $.Expanded) (not $.Traced)}} - [Traced/Expanded] - {{else}} - [Traced/Expanded] - {{end}} -{{end}} - -{{if $.Total}} -

    Showing {{len $.Traces}} of {{$.Total}} traces.

    -{{end}} - - - - - {{range $tr := $.Traces}} - - - - - {{/* TODO: include traceID/spanID */}} - - {{if $.Expanded}} - {{range $tr.Events}} - - - - - - {{end}} - {{end}} - {{end}} -
    - {{if $.Active}}Active{{else}}Completed{{end}} Requests -
    WhenElapsed (s)
    {{$tr.When}}{{$tr.ElapsedTime}}{{$tr.Title}}
    {{.WhenString}}{{elapsed .Elapsed}}{{if or $.ShowSensitive (not .Sensitive)}}... {{.What}}{{else}}[redacted]{{end}}
    -{{end}} {{/* if $.Traces */}} - -{{if $.Histogram}} -

    Latency (µs) of {{$.Family}} over {{$.HistogramWindow}}

    -{{$.Histogram}} -{{end}} {{/* if $.Histogram */}} - - - -{{end}} {{/* end of Epilog */}} -` diff --git a/vendor/golang.org/x/oauth2/bitbucket/bitbucket.go b/vendor/golang.org/x/oauth2/bitbucket/bitbucket.go deleted file mode 100644 index 44af1f1a9..000000000 --- a/vendor/golang.org/x/oauth2/bitbucket/bitbucket.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2015 The oauth2 Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package bitbucket provides constants for using OAuth2 to access Bitbucket. -package bitbucket - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is Bitbucket's OAuth 2.0 endpoint. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://bitbucket.org/site/oauth2/authorize", - TokenURL: "https://bitbucket.org/site/oauth2/access_token", -} diff --git a/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go b/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go deleted file mode 100644 index 38be11260..000000000 --- a/vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package clientcredentials implements the OAuth2.0 "client credentials" token flow, -// also known as the "two-legged OAuth 2.0". -// -// This should be used when the client is acting on its own behalf or when the client -// is the resource owner. It may also be used when requesting access to protected -// resources based on an authorization previously arranged with the authorization -// server. -// -// See http://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-4.4 -package clientcredentials // import "golang.org/x/oauth2/clientcredentials" - -import ( - "net/http" - "net/url" - "strings" - - "golang.org/x/net/context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/internal" -) - -// tokenFromInternal maps an *internal.Token struct into -// an *oauth2.Token struct. -func tokenFromInternal(t *internal.Token) *oauth2.Token { - if t == nil { - return nil - } - tk := &oauth2.Token{ - AccessToken: t.AccessToken, - TokenType: t.TokenType, - RefreshToken: t.RefreshToken, - Expiry: t.Expiry, - } - return tk.WithExtra(t.Raw) -} - -// retrieveToken takes a *Config and uses that to retrieve an *internal.Token. -// This token is then mapped from *internal.Token into an *oauth2.Token which is -// returned along with an error. -func retrieveToken(ctx context.Context, c *Config, v url.Values) (*oauth2.Token, error) { - tk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.TokenURL, v) - if err != nil { - return nil, err - } - return tokenFromInternal(tk), nil -} - -// Client Credentials Config describes a 2-legged OAuth2 flow, with both the -// client application information and the server's endpoint URLs. -type Config struct { - // ClientID is the application's ID. - ClientID string - - // ClientSecret is the application's secret. - ClientSecret string - - // TokenURL is the resource server's token endpoint - // URL. This is a constant specific to each server. - TokenURL string - - // Scope specifies optional requested permissions. - Scopes []string -} - -// Token uses client credentials to retrieve a token. -// The HTTP client to use is derived from the context. -// If nil, http.DefaultClient is used. -func (c *Config) Token(ctx context.Context) (*oauth2.Token, error) { - return retrieveToken(ctx, c, url.Values{ - "grant_type": {"client_credentials"}, - "scope": internal.CondVal(strings.Join(c.Scopes, " ")), - }) -} - -// Client returns an HTTP client using the provided token. -// The token will auto-refresh as necessary. The underlying -// HTTP transport will be obtained using the provided context. -// The returned client and its Transport should not be modified. -func (c *Config) Client(ctx context.Context) *http.Client { - return oauth2.NewClient(ctx, c.TokenSource(ctx)) -} - -// TokenSource returns a TokenSource that returns t until t expires, -// automatically refreshing it as necessary using the provided context and the -// client ID and client secret. -// -// Most users will use Config.Client instead. -func (c *Config) TokenSource(ctx context.Context) oauth2.TokenSource { - source := &tokenSource{ - ctx: ctx, - conf: c, - } - return oauth2.ReuseTokenSource(nil, source) -} - -type tokenSource struct { - ctx context.Context - conf *Config -} - -// Token refreshes the token by using a new client credentials request. -// tokens received this way do not include a refresh token -func (c *tokenSource) Token() (*oauth2.Token, error) { - return retrieveToken(c.ctx, c.conf, url.Values{ - "grant_type": {"client_credentials"}, - "scope": internal.CondVal(strings.Join(c.conf.Scopes, " ")), - }) -} diff --git a/vendor/golang.org/x/oauth2/facebook/facebook.go b/vendor/golang.org/x/oauth2/facebook/facebook.go deleted file mode 100644 index 14c801a2a..000000000 --- a/vendor/golang.org/x/oauth2/facebook/facebook.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package facebook provides constants for using OAuth2 to access Facebook. -package facebook // import "golang.org/x/oauth2/facebook" - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is Facebook's OAuth 2.0 endpoint. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://www.facebook.com/dialog/oauth", - TokenURL: "https://graph.facebook.com/oauth/access_token", -} diff --git a/vendor/golang.org/x/oauth2/github/github.go b/vendor/golang.org/x/oauth2/github/github.go deleted file mode 100644 index f2978015b..000000000 --- a/vendor/golang.org/x/oauth2/github/github.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package github provides constants for using OAuth2 to access Github. -package github // import "golang.org/x/oauth2/github" - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is Github's OAuth 2.0 endpoint. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://github.com/login/oauth/authorize", - TokenURL: "https://github.com/login/oauth/access_token", -} diff --git a/vendor/golang.org/x/oauth2/linkedin/linkedin.go b/vendor/golang.org/x/oauth2/linkedin/linkedin.go deleted file mode 100644 index b619f93d2..000000000 --- a/vendor/golang.org/x/oauth2/linkedin/linkedin.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package linkedin provides constants for using OAuth2 to access LinkedIn. -package linkedin // import "golang.org/x/oauth2/linkedin" - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is LinkedIn's OAuth 2.0 endpoint. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://www.linkedin.com/uas/oauth2/authorization", - TokenURL: "https://www.linkedin.com/uas/oauth2/accessToken", -} diff --git a/vendor/golang.org/x/oauth2/microsoft/microsoft.go b/vendor/golang.org/x/oauth2/microsoft/microsoft.go deleted file mode 100644 index f21b3985b..000000000 --- a/vendor/golang.org/x/oauth2/microsoft/microsoft.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2016 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package microsoft provides constants for using OAuth2 to access Windows Live ID. -package microsoft // import "golang.org/x/oauth2/microsoft" - -import ( - "golang.org/x/oauth2" -) - -// LiveConnectEndpoint is Windows's Live ID OAuth 2.0 endpoint. -var LiveConnectEndpoint = oauth2.Endpoint{ - AuthURL: "https://login.live.com/oauth20_authorize.srf", - TokenURL: "https://login.live.com/oauth20_token.srf", -} diff --git a/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go b/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go deleted file mode 100644 index c0d093ccc..000000000 --- a/vendor/golang.org/x/oauth2/odnoklassniki/odnoklassniki.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package odnoklassniki provides constants for using OAuth2 to access Odnoklassniki. -package odnoklassniki // import "golang.org/x/oauth2/odnoklassniki" - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is Odnoklassniki's OAuth 2.0 endpoint. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://www.odnoklassniki.ru/oauth/authorize", - TokenURL: "https://api.odnoklassniki.ru/oauth/token.do", -} diff --git a/vendor/golang.org/x/oauth2/paypal/paypal.go b/vendor/golang.org/x/oauth2/paypal/paypal.go deleted file mode 100644 index 2e713c53c..000000000 --- a/vendor/golang.org/x/oauth2/paypal/paypal.go +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package paypal provides constants for using OAuth2 to access PayPal. -package paypal // import "golang.org/x/oauth2/paypal" - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is PayPal's OAuth 2.0 endpoint in live (production) environment. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://www.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize", - TokenURL: "https://api.paypal.com/v1/identity/openidconnect/tokenservice", -} - -// SandboxEndpoint is PayPal's OAuth 2.0 endpoint in sandbox (testing) environment. -var SandboxEndpoint = oauth2.Endpoint{ - AuthURL: "https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize", - TokenURL: "https://api.sandbox.paypal.com/v1/identity/openidconnect/tokenservice", -} diff --git a/vendor/golang.org/x/oauth2/vk/vk.go b/vendor/golang.org/x/oauth2/vk/vk.go deleted file mode 100644 index bd8e15948..000000000 --- a/vendor/golang.org/x/oauth2/vk/vk.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package vk provides constants for using OAuth2 to access VK.com. -package vk // import "golang.org/x/oauth2/vk" - -import ( - "golang.org/x/oauth2" -) - -// Endpoint is VK's OAuth 2.0 endpoint. -var Endpoint = oauth2.Endpoint{ - AuthURL: "https://oauth.vk.com/authorize", - TokenURL: "https://oauth.vk.com/access_token", -} diff --git a/vendor/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE deleted file mode 100644 index 6a66aea5e..000000000 --- a/vendor/golang.org/x/text/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS 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 -OWNER 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. diff --git a/vendor/golang.org/x/text/PATENTS b/vendor/golang.org/x/text/PATENTS deleted file mode 100644 index 733099041..000000000 --- a/vendor/golang.org/x/text/PATENTS +++ /dev/null @@ -1,22 +0,0 @@ -Additional IP Rights Grant (Patents) - -"This implementation" means the copyrightable works distributed by -Google as part of the Go project. - -Google hereby grants to You a perpetual, worldwide, non-exclusive, -no-charge, royalty-free, irrevocable (except as stated in this section) -patent license to make, have made, use, offer to sell, sell, import, -transfer and otherwise run, modify and propagate the contents of this -implementation of Go, where such license applies only to those patent -claims, both currently owned or controlled by Google and acquired in -the future, licensable by Google that are necessarily infringed by this -implementation of Go. This grant does not include claims that would be -infringed only as a consequence of further modification of this -implementation. If you or your agent or exclusive licensee institute or -order or agree to the institution of patent litigation against any -entity (including a cross-claim or counterclaim in a lawsuit) alleging -that this implementation of Go or any code incorporated within this -implementation of Go constitutes direct or contributory patent -infringement, or inducement of patent infringement, then any patent -rights granted to you under this License for this implementation of Go -shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/text/encoding/charmap/charmap.go b/vendor/golang.org/x/text/encoding/charmap/charmap.go deleted file mode 100644 index 2a953075d..000000000 --- a/vendor/golang.org/x/text/encoding/charmap/charmap.go +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:generate go run maketables.go - -// Package charmap provides simple character encodings such as IBM Code Page 437 -// and Windows 1252. -package charmap - -import ( - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// These encodings vary only in the way clients should interpret them. Their -// coded character set is identical and a single implementation can be shared. -var ( - // ISO8859_6E is the ISO 8859-6E encoding. - ISO8859_6E encoding.Encoding = &iso8859_6E - - // ISO8859_6I is the ISO 8859-6I encoding. - ISO8859_6I encoding.Encoding = &iso8859_6I - - // ISO8859_8E is the ISO 8859-8E encoding. - ISO8859_8E encoding.Encoding = &iso8859_8E - - // ISO8859_8I is the ISO 8859-8I encoding. - ISO8859_8I encoding.Encoding = &iso8859_8I - - iso8859_6E = internal.Encoding{ - ISO8859_6, - "ISO-8859-6E", - identifier.ISO88596E, - } - - iso8859_6I = internal.Encoding{ - ISO8859_6, - "ISO-8859-6I", - identifier.ISO88596I, - } - - iso8859_8E = internal.Encoding{ - ISO8859_8, - "ISO-8859-8E", - identifier.ISO88598E, - } - - iso8859_8I = internal.Encoding{ - ISO8859_8, - "ISO-8859-8I", - identifier.ISO88598I, - } -) - -// All is a list of all defined encodings in this package. -var All = listAll - -// TODO: implement these encodings, in order of importance. -// ASCII, ISO8859_1: Rather common. Close to Windows 1252. -// ISO8859_9: Close to Windows 1254. - -// utf8Enc holds a rune's UTF-8 encoding in data[:len]. -type utf8Enc struct { - len uint8 - data [3]byte -} - -// charmap describes an 8-bit character set encoding. -type charmap struct { - // name is the encoding's name. - name string - // mib is the encoding type of this encoder. - mib identifier.MIB - // asciiSuperset states whether the encoding is a superset of ASCII. - asciiSuperset bool - // low is the lower bound of the encoded byte for a non-ASCII rune. If - // charmap.asciiSuperset is true then this will be 0x80, otherwise 0x00. - low uint8 - // replacement is the encoded replacement character. - replacement byte - // decode is the map from encoded byte to UTF-8. - decode [256]utf8Enc - // encoding is the map from runes to encoded bytes. Each entry is a - // uint32: the high 8 bits are the encoded byte and the low 24 bits are - // the rune. The table entries are sorted by ascending rune. - encode [256]uint32 -} - -func (m *charmap) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: charmapDecoder{charmap: m}} -} - -func (m *charmap) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: charmapEncoder{charmap: m}} -} - -func (m *charmap) String() string { - return m.name -} - -func (m *charmap) ID() (mib identifier.MIB, other string) { - return m.mib, "" -} - -// charmapDecoder implements transform.Transformer by decoding to UTF-8. -type charmapDecoder struct { - transform.NopResetter - charmap *charmap -} - -func (m charmapDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - for i, c := range src { - if m.charmap.asciiSuperset && c < utf8.RuneSelf { - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = c - nDst++ - nSrc = i + 1 - continue - } - - decode := &m.charmap.decode[c] - n := int(decode.len) - if nDst+n > len(dst) { - err = transform.ErrShortDst - break - } - // It's 15% faster to avoid calling copy for these tiny slices. - for j := 0; j < n; j++ { - dst[nDst] = decode.data[j] - nDst++ - } - nSrc = i + 1 - } - return nDst, nSrc, err -} - -// charmapEncoder implements transform.Transformer by encoding from UTF-8. -type charmapEncoder struct { - transform.NopResetter - charmap *charmap -} - -func (m charmapEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for nSrc < len(src) { - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - if m.charmap.asciiSuperset { - nSrc++ - dst[nDst] = uint8(r) - nDst++ - continue - } - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - } else { - err = internal.RepertoireError(m.charmap.replacement) - } - break - } - } - - // Binary search in [low, high) for that rune in the m.charmap.encode table. - for low, high := int(m.charmap.low), 0x100; ; { - if low >= high { - err = internal.RepertoireError(m.charmap.replacement) - break loop - } - mid := (low + high) / 2 - got := m.charmap.encode[mid] - gotRune := rune(got & (1<<24 - 1)) - if gotRune < r { - low = mid + 1 - } else if gotRune > r { - high = mid - } else { - dst[nDst] = byte(got >> 24) - nDst++ - break - } - } - nSrc += size - } - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/encoding/charmap/maketables.go b/vendor/golang.org/x/text/encoding/charmap/maketables.go deleted file mode 100644 index 8e1db0202..000000000 --- a/vendor/golang.org/x/text/encoding/charmap/maketables.go +++ /dev/null @@ -1,492 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -import ( - "bufio" - "fmt" - "log" - "net/http" - "sort" - "strings" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/internal/gen" -) - -const ascii = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" + - "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" + - ` !"#$%&'()*+,-./0123456789:;<=>?` + - `@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` + - "`abcdefghijklmnopqrstuvwxyz{|}~\u007f" - -var encodings = []struct { - name string - mib string - comment string - varName string - replacement byte - mapping string -}{ - { - "IBM Code Page 437", - "PC8CodePage437", - "", - "CodePage437", - encoding.ASCIISub, - "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM437-2.1.2.ucm", - }, - { - "IBM Code Page 850", - "PC850Multilingual", - "", - "CodePage850", - encoding.ASCIISub, - "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM850-2.1.2.ucm", - }, - { - "IBM Code Page 852", - "PCp852", - "", - "CodePage852", - encoding.ASCIISub, - "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM852-2.1.2.ucm", - }, - { - "IBM Code Page 855", - "IBM855", - "", - "CodePage855", - encoding.ASCIISub, - "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM855-2.1.2.ucm", - }, - { - "Windows Code Page 858", // PC latin1 with Euro - "IBM00858", - "", - "CodePage858", - encoding.ASCIISub, - "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-858-2000.ucm", - }, - { - "IBM Code Page 862", - "PC862LatinHebrew", - "", - "CodePage862", - encoding.ASCIISub, - "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM862-2.1.2.ucm", - }, - { - "IBM Code Page 866", - "IBM866", - "", - "CodePage866", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-ibm866.txt", - }, - { - "ISO 8859-2", - "ISOLatin2", - "", - "ISO8859_2", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-2.txt", - }, - { - "ISO 8859-3", - "ISOLatin3", - "", - "ISO8859_3", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-3.txt", - }, - { - "ISO 8859-4", - "ISOLatin4", - "", - "ISO8859_4", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-4.txt", - }, - { - "ISO 8859-5", - "ISOLatinCyrillic", - "", - "ISO8859_5", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-5.txt", - }, - { - "ISO 8859-6", - "ISOLatinArabic", - "", - "ISO8859_6,ISO8859_6E,ISO8859_6I", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-6.txt", - }, - { - "ISO 8859-7", - "ISOLatinGreek", - "", - "ISO8859_7", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-7.txt", - }, - { - "ISO 8859-8", - "ISOLatinHebrew", - "", - "ISO8859_8,ISO8859_8E,ISO8859_8I", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-8.txt", - }, - { - "ISO 8859-10", - "ISOLatin6", - "", - "ISO8859_10", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-10.txt", - }, - { - "ISO 8859-13", - "ISO885913", - "", - "ISO8859_13", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-13.txt", - }, - { - "ISO 8859-14", - "ISO885914", - "", - "ISO8859_14", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-14.txt", - }, - { - "ISO 8859-15", - "ISO885915", - "", - "ISO8859_15", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-15.txt", - }, - { - "ISO 8859-16", - "ISO885916", - "", - "ISO8859_16", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-iso-8859-16.txt", - }, - { - "KOI8-R", - "KOI8R", - "", - "KOI8R", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-koi8-r.txt", - }, - { - "KOI8-U", - "KOI8U", - "", - "KOI8U", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-koi8-u.txt", - }, - { - "Macintosh", - "Macintosh", - "", - "Macintosh", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-macintosh.txt", - }, - { - "Macintosh Cyrillic", - "MacintoshCyrillic", - "", - "MacintoshCyrillic", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-x-mac-cyrillic.txt", - }, - { - "Windows 874", - "Windows874", - "", - "Windows874", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-874.txt", - }, - { - "Windows 1250", - "Windows1250", - "", - "Windows1250", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1250.txt", - }, - { - "Windows 1251", - "Windows1251", - "", - "Windows1251", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1251.txt", - }, - { - "Windows 1252", - "Windows1252", - "", - "Windows1252", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1252.txt", - }, - { - "Windows 1253", - "Windows1253", - "", - "Windows1253", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1253.txt", - }, - { - "Windows 1254", - "Windows1254", - "", - "Windows1254", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1254.txt", - }, - { - "Windows 1255", - "Windows1255", - "", - "Windows1255", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1255.txt", - }, - { - "Windows 1256", - "Windows1256", - "", - "Windows1256", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1256.txt", - }, - { - "Windows 1257", - "Windows1257", - "", - "Windows1257", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1257.txt", - }, - { - "Windows 1258", - "Windows1258", - "", - "Windows1258", - encoding.ASCIISub, - "http://encoding.spec.whatwg.org/index-windows-1258.txt", - }, - { - "X-User-Defined", - "XUserDefined", - "It is defined at http://encoding.spec.whatwg.org/#x-user-defined", - "XUserDefined", - encoding.ASCIISub, - ascii + - "\uf780\uf781\uf782\uf783\uf784\uf785\uf786\uf787" + - "\uf788\uf789\uf78a\uf78b\uf78c\uf78d\uf78e\uf78f" + - "\uf790\uf791\uf792\uf793\uf794\uf795\uf796\uf797" + - "\uf798\uf799\uf79a\uf79b\uf79c\uf79d\uf79e\uf79f" + - "\uf7a0\uf7a1\uf7a2\uf7a3\uf7a4\uf7a5\uf7a6\uf7a7" + - "\uf7a8\uf7a9\uf7aa\uf7ab\uf7ac\uf7ad\uf7ae\uf7af" + - "\uf7b0\uf7b1\uf7b2\uf7b3\uf7b4\uf7b5\uf7b6\uf7b7" + - "\uf7b8\uf7b9\uf7ba\uf7bb\uf7bc\uf7bd\uf7be\uf7bf" + - "\uf7c0\uf7c1\uf7c2\uf7c3\uf7c4\uf7c5\uf7c6\uf7c7" + - "\uf7c8\uf7c9\uf7ca\uf7cb\uf7cc\uf7cd\uf7ce\uf7cf" + - "\uf7d0\uf7d1\uf7d2\uf7d3\uf7d4\uf7d5\uf7d6\uf7d7" + - "\uf7d8\uf7d9\uf7da\uf7db\uf7dc\uf7dd\uf7de\uf7df" + - "\uf7e0\uf7e1\uf7e2\uf7e3\uf7e4\uf7e5\uf7e6\uf7e7" + - "\uf7e8\uf7e9\uf7ea\uf7eb\uf7ec\uf7ed\uf7ee\uf7ef" + - "\uf7f0\uf7f1\uf7f2\uf7f3\uf7f4\uf7f5\uf7f6\uf7f7" + - "\uf7f8\uf7f9\uf7fa\uf7fb\uf7fc\uf7fd\uf7fe\uf7ff", - }, -} - -func getWHATWG(url string) string { - res, err := http.Get(url) - if err != nil { - log.Fatalf("%q: Get: %v", url, err) - } - defer res.Body.Close() - - mapping := make([]rune, 128) - for i := range mapping { - mapping[i] = '\ufffd' - } - - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := 0, 0 - if _, err := fmt.Sscanf(s, "%d\t0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0 || 128 <= x { - log.Fatalf("code %d is out of range", x) - } - if 0x80 <= y && y < 0xa0 { - // We diverge from the WHATWG spec by mapping control characters - // in the range [0x80, 0xa0) to U+FFFD. - continue - } - mapping[x] = rune(y) - } - return ascii + string(mapping) -} - -func getUCM(url string) string { - res, err := http.Get(url) - if err != nil { - log.Fatalf("%q: Get: %v", url, err) - } - defer res.Body.Close() - - mapping := make([]rune, 256) - for i := range mapping { - mapping[i] = '\ufffd' - } - - charsFound := 0 - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - var c byte - var r rune - if _, err := fmt.Sscanf(s, ` \x%x |0`, &r, &c); err != nil { - continue - } - mapping[c] = r - charsFound++ - } - - if charsFound < 200 { - log.Fatalf("%q: only %d characters found (wrong page format?)", url, charsFound) - } - - return string(mapping) -} - -func main() { - mibs := map[string]bool{} - all := []string{} - - w := gen.NewCodeWriter() - defer w.WriteGoFile("tables.go", "charmap") - - printf := func(s string, a ...interface{}) { fmt.Fprintf(w, s, a...) } - - printf("import (\n") - printf("\t\"golang.org/x/text/encoding\"\n") - printf("\t\"golang.org/x/text/encoding/internal/identifier\"\n") - printf(")\n\n") - for _, e := range encodings { - varNames := strings.Split(e.varName, ",") - all = append(all, varNames...) - varName := varNames[0] - switch { - case strings.HasPrefix(e.mapping, "http://encoding.spec.whatwg.org/"): - e.mapping = getWHATWG(e.mapping) - case strings.HasPrefix(e.mapping, "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/"): - e.mapping = getUCM(e.mapping) - } - - asciiSuperset, low := strings.HasPrefix(e.mapping, ascii), 0x00 - if asciiSuperset { - low = 0x80 - } - lvn := 1 - if strings.HasPrefix(varName, "ISO") || strings.HasPrefix(varName, "KOI") { - lvn = 3 - } - lowerVarName := strings.ToLower(varName[:lvn]) + varName[lvn:] - printf("// %s is the %s encoding.\n", varName, e.name) - if e.comment != "" { - printf("//\n// %s\n", e.comment) - } - printf("var %s encoding.Encoding = &%s\n\nvar %s = charmap{\nname: %q,\n", - varName, lowerVarName, lowerVarName, e.name) - if mibs[e.mib] { - log.Fatalf("MIB type %q declared multiple times.", e.mib) - } - printf("mib: identifier.%s,\n", e.mib) - printf("asciiSuperset: %t,\n", asciiSuperset) - printf("low: 0x%02x,\n", low) - printf("replacement: 0x%02x,\n", e.replacement) - - printf("decode: [256]utf8Enc{\n") - i, backMapping := 0, map[rune]byte{} - for _, c := range e.mapping { - if _, ok := backMapping[c]; !ok && c != utf8.RuneError { - backMapping[c] = byte(i) - } - var buf [8]byte - n := utf8.EncodeRune(buf[:], c) - if n > 3 { - panic(fmt.Sprintf("rune %q (%U) is too long", c, c)) - } - printf("{%d,[3]byte{0x%02x,0x%02x,0x%02x}},", n, buf[0], buf[1], buf[2]) - if i%2 == 1 { - printf("\n") - } - i++ - } - printf("},\n") - - printf("encode: [256]uint32{\n") - encode := make([]uint32, 0, 256) - for c, i := range backMapping { - encode = append(encode, uint32(i)<<24|uint32(c)) - } - sort.Sort(byRune(encode)) - for len(encode) < cap(encode) { - encode = append(encode, encode[len(encode)-1]) - } - for i, enc := range encode { - printf("0x%08x,", enc) - if i%8 == 7 { - printf("\n") - } - } - printf("},\n}\n") - - // Add an estimate of the size of a single charmap{} struct value, which - // includes two 256 elem arrays of 4 bytes and some extra fields, which - // align to 3 uint64s on 64-bit architectures. - w.Size += 2*4*256 + 3*8 - } - // TODO: add proper line breaking. - printf("var listAll = []encoding.Encoding{\n%s,\n}\n\n", strings.Join(all, ",\n")) -} - -type byRune []uint32 - -func (b byRune) Len() int { return len(b) } -func (b byRune) Less(i, j int) bool { return b[i]&0xffffff < b[j]&0xffffff } -func (b byRune) Swap(i, j int) { b[i], b[j] = b[j], b[i] } diff --git a/vendor/golang.org/x/text/encoding/charmap/tables.go b/vendor/golang.org/x/text/encoding/charmap/tables.go deleted file mode 100644 index 4143f0662..000000000 --- a/vendor/golang.org/x/text/encoding/charmap/tables.go +++ /dev/null @@ -1,6002 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package charmap - -import ( - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal/identifier" -) - -// CodePage437 is the IBM Code Page 437 encoding. -var CodePage437 encoding.Encoding = &codePage437 - -var codePage437 = charmap{ - name: "IBM Code Page 437", - mib: identifier.PC8CodePage437, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}}, - {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}}, - {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}}, - {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0xa2, 0x00}}, - {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xa7}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}}, - {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}}, - {2, [3]byte{0xc2, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0x90}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}}, - {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}}, - {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}}, - {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}}, - {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}}, - {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}}, - {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}}, - {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}}, - {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}}, - {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}}, - {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}}, - {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}}, - {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}}, - {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}}, - {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}}, - {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}}, - {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}}, - {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}}, - {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xad0000a1, 0x9b0000a2, 0x9c0000a3, 0x9d0000a5, 0xa60000aa, 0xae0000ab, 0xaa0000ac, - 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xe60000b5, 0xfa0000b7, 0xa70000ba, 0xaf0000bb, 0xac0000bc, - 0xab0000bd, 0xa80000bf, 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7, 0x900000c9, 0xa50000d1, - 0x990000d6, 0x9a0000dc, 0xe10000df, 0x850000e0, 0xa00000e1, 0x830000e2, 0x840000e4, 0x860000e5, - 0x910000e6, 0x870000e7, 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed, - 0x8c0000ee, 0x8b0000ef, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0x940000f6, 0xf60000f7, - 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0x980000ff, 0x9f000192, 0xe2000393, 0xe9000398, - 0xe40003a3, 0xe80003a6, 0xea0003a9, 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0, 0xe50003c3, - 0xe70003c4, 0xed0003c6, 0xfc00207f, 0x9e0020a7, 0xf9002219, 0xfb00221a, 0xec00221e, 0xef002229, - 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xa9002310, 0xf4002320, 0xf5002321, 0xc4002500, - 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, - 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555, - 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d, - 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565, - 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580, - 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// CodePage850 is the IBM Code Page 850 encoding. -var CodePage850 encoding.Encoding = &codePage850 - -var codePage850 = charmap{ - name: "IBM Code Page 850", - mib: identifier.PC850Multilingual, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}}, - {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}}, - {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}}, - {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}}, - {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}}, - {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}}, - {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}}, - {2, [3]byte{0xc2, 0xa9, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xc2, 0xa2, 0x00}}, - {2, [3]byte{0xc2, 0xa5, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}}, - {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0x90, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}}, - {2, [3]byte{0xc3, 0x8f, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xc2, 0xa6, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xbe, 0x00}}, - {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9a, 0x00}}, - {2, [3]byte{0xc3, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}}, - {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x97}}, {2, [3]byte{0xc2, 0xbe, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xad0000a1, 0xbd0000a2, 0x9c0000a3, 0xcf0000a4, 0xbe0000a5, 0xdd0000a6, 0xf50000a7, - 0xf90000a8, 0xb80000a9, 0xa60000aa, 0xae0000ab, 0xaa0000ac, 0xf00000ad, 0xa90000ae, 0xee0000af, - 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xfc0000b3, 0xef0000b4, 0xe60000b5, 0xf40000b6, 0xfa0000b7, - 0xf70000b8, 0xfb0000b9, 0xa70000ba, 0xaf0000bb, 0xac0000bc, 0xab0000bd, 0xf30000be, 0xa80000bf, - 0xb70000c0, 0xb50000c1, 0xb60000c2, 0xc70000c3, 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7, - 0xd40000c8, 0x900000c9, 0xd20000ca, 0xd30000cb, 0xde0000cc, 0xd60000cd, 0xd70000ce, 0xd80000cf, - 0xd10000d0, 0xa50000d1, 0xe30000d2, 0xe00000d3, 0xe20000d4, 0xe50000d5, 0x990000d6, 0x9e0000d7, - 0x9d0000d8, 0xeb0000d9, 0xe90000da, 0xea0000db, 0x9a0000dc, 0xed0000dd, 0xe80000de, 0xe10000df, - 0x850000e0, 0xa00000e1, 0x830000e2, 0xc60000e3, 0x840000e4, 0x860000e5, 0x910000e6, 0x870000e7, - 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed, 0x8c0000ee, 0x8b0000ef, - 0xd00000f0, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0xe40000f5, 0x940000f6, 0xf60000f7, - 0x9b0000f8, 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0xec0000fd, 0xe70000fe, 0x980000ff, - 0xd5000131, 0x9f000192, 0xf2002017, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, - 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, - 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569, - 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// CodePage852 is the IBM Code Page 852 encoding. -var CodePage852 encoding.Encoding = &codePage852 - -var codePage852 = charmap{ - name: "IBM Code Page 852", - mib: identifier.PCp852, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}}, - {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc5, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc5, 0x82, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc5, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc5, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}}, - {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc4, 0xb9, 0x00}}, - {2, [3]byte{0xc4, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc4, 0xbd, 0x00}}, - {2, [3]byte{0xc4, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0x9a, 0x00}}, - {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xa4, 0x00}}, - {2, [3]byte{0xc5, 0xa5, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc4, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}}, - {2, [3]byte{0xc4, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc5, 0xbe, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc4, 0x99, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc5, 0xba, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc5, 0x9f, 0x00}}, - {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x9a, 0x00}}, - {2, [3]byte{0xc5, 0x9e, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0xbc, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {2, [3]byte{0xc4, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}}, - {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc4, 0x90, 0x00}}, - {2, [3]byte{0xc4, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x8f, 0x00}}, {2, [3]byte{0xc5, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}}, - {2, [3]byte{0xc4, 0x9b, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xc5, 0xa2, 0x00}}, - {2, [3]byte{0xc5, 0xae, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}}, - {2, [3]byte{0xc5, 0x84, 0x00}}, {2, [3]byte{0xc5, 0x88, 0x00}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0xa1, 0x00}}, - {2, [3]byte{0xc5, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x9a, 0x00}}, - {2, [3]byte{0xc5, 0x95, 0x00}}, {2, [3]byte{0xc5, 0xb0, 0x00}}, - {2, [3]byte{0xc3, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc5, 0xa3, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}}, - {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}}, - {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}}, - {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}}, - {2, [3]byte{0xcb, 0x99, 0x00}}, {2, [3]byte{0xc5, 0xb1, 0x00}}, - {2, [3]byte{0xc5, 0x98, 0x00}}, {2, [3]byte{0xc5, 0x99, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xcf0000a4, 0xf50000a7, 0xf90000a8, 0xae0000ab, 0xaa0000ac, 0xf00000ad, 0xf80000b0, - 0xef0000b4, 0xf70000b8, 0xaf0000bb, 0xb50000c1, 0xb60000c2, 0x8e0000c4, 0x800000c7, 0x900000c9, - 0xd30000cb, 0xd60000cd, 0xd70000ce, 0xe00000d3, 0xe20000d4, 0x990000d6, 0x9e0000d7, 0xe90000da, - 0x9a0000dc, 0xed0000dd, 0xe10000df, 0xa00000e1, 0x830000e2, 0x840000e4, 0x870000e7, 0x820000e9, - 0x890000eb, 0xa10000ed, 0x8c0000ee, 0xa20000f3, 0x930000f4, 0x940000f6, 0xf60000f7, 0xa30000fa, - 0x810000fc, 0xec0000fd, 0xc6000102, 0xc7000103, 0xa4000104, 0xa5000105, 0x8f000106, 0x86000107, - 0xac00010c, 0x9f00010d, 0xd200010e, 0xd400010f, 0xd1000110, 0xd0000111, 0xa8000118, 0xa9000119, - 0xb700011a, 0xd800011b, 0x91000139, 0x9200013a, 0x9500013d, 0x9600013e, 0x9d000141, 0x88000142, - 0xe3000143, 0xe4000144, 0xd5000147, 0xe5000148, 0x8a000150, 0x8b000151, 0xe8000154, 0xea000155, - 0xfc000158, 0xfd000159, 0x9700015a, 0x9800015b, 0xb800015e, 0xad00015f, 0xe6000160, 0xe7000161, - 0xdd000162, 0xee000163, 0x9b000164, 0x9c000165, 0xde00016e, 0x8500016f, 0xeb000170, 0xfb000171, - 0x8d000179, 0xab00017a, 0xbd00017b, 0xbe00017c, 0xa600017d, 0xa700017e, 0xf30002c7, 0xf40002d8, - 0xfa0002d9, 0xf20002db, 0xf10002dd, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, - 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, - 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569, - 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// CodePage855 is the IBM Code Page 855 encoding. -var CodePage855 encoding.Encoding = &codePage855 - -var codePage855 = charmap{ - name: "IBM Code Page 855", - mib: identifier.IBM855, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xd1, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x82, 0x00}}, - {2, [3]byte{0xd1, 0x93, 0x00}}, {2, [3]byte{0xd0, 0x83, 0x00}}, - {2, [3]byte{0xd1, 0x91, 0x00}}, {2, [3]byte{0xd0, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x84, 0x00}}, - {2, [3]byte{0xd1, 0x95, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}}, - {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x86, 0x00}}, - {2, [3]byte{0xd1, 0x97, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}}, - {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x88, 0x00}}, - {2, [3]byte{0xd1, 0x99, 0x00}}, {2, [3]byte{0xd0, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x8a, 0x00}}, - {2, [3]byte{0xd1, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x8b, 0x00}}, - {2, [3]byte{0xd1, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x8c, 0x00}}, - {2, [3]byte{0xd1, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x8e, 0x00}}, - {2, [3]byte{0xd1, 0x9f, 0x00}}, {2, [3]byte{0xd0, 0x8f, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0xae, 0x00}}, - {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd0, 0xaa, 0x00}}, - {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0x90, 0x00}}, - {2, [3]byte{0xd0, 0xb1, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}}, - {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd0, 0xa6, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0x94, 0x00}}, - {2, [3]byte{0xd0, 0xb5, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd0, 0xa4, 0x00}}, - {2, [3]byte{0xd0, 0xb3, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xd1, 0x85, 0x00}}, - {2, [3]byte{0xd0, 0xa5, 0x00}}, {2, [3]byte{0xd0, 0xb8, 0x00}}, - {2, [3]byte{0xd0, 0x98, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xd0, 0xb9, 0x00}}, - {2, [3]byte{0xd0, 0x99, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0x9a, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}}, - {2, [3]byte{0xd0, 0xbb, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}}, - {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0x9c, 0x00}}, - {2, [3]byte{0xd0, 0xbd, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}}, - {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0x9e, 0x00}}, - {2, [3]byte{0xd0, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xd0, 0x9f, 0x00}}, - {2, [3]byte{0xd1, 0x8f, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xd0, 0xaf, 0x00}}, {2, [3]byte{0xd1, 0x80, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd0, 0xa1, 0x00}}, {2, [3]byte{0xd1, 0x82, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd0, 0xa3, 0x00}}, {2, [3]byte{0xd0, 0xb6, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0xb2, 0x00}}, - {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd1, 0x8c, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {3, [3]byte{0xe2, 0x84, 0x96}}, - {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd0, 0xab, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}}, - {2, [3]byte{0xd0, 0x97, 0x00}}, {2, [3]byte{0xd1, 0x88, 0x00}}, - {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}}, - {2, [3]byte{0xd0, 0xad, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd0, 0xa9, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}}, - {2, [3]byte{0xd0, 0xa7, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xcf0000a4, 0xfd0000a7, 0xae0000ab, 0xf00000ad, 0xaf0000bb, 0x85000401, 0x81000402, - 0x83000403, 0x87000404, 0x89000405, 0x8b000406, 0x8d000407, 0x8f000408, 0x91000409, 0x9300040a, - 0x9500040b, 0x9700040c, 0x9900040e, 0x9b00040f, 0xa1000410, 0xa3000411, 0xec000412, 0xad000413, - 0xa7000414, 0xa9000415, 0xea000416, 0xf4000417, 0xb8000418, 0xbe000419, 0xc700041a, 0xd100041b, - 0xd300041c, 0xd500041d, 0xd700041e, 0xdd00041f, 0xe2000420, 0xe4000421, 0xe6000422, 0xe8000423, - 0xab000424, 0xb6000425, 0xa5000426, 0xfc000427, 0xf6000428, 0xfa000429, 0x9f00042a, 0xf200042b, - 0xee00042c, 0xf800042d, 0x9d00042e, 0xe000042f, 0xa0000430, 0xa2000431, 0xeb000432, 0xac000433, - 0xa6000434, 0xa8000435, 0xe9000436, 0xf3000437, 0xb7000438, 0xbd000439, 0xc600043a, 0xd000043b, - 0xd200043c, 0xd400043d, 0xd600043e, 0xd800043f, 0xe1000440, 0xe3000441, 0xe5000442, 0xe7000443, - 0xaa000444, 0xb5000445, 0xa4000446, 0xfb000447, 0xf5000448, 0xf9000449, 0x9e00044a, 0xf100044b, - 0xed00044c, 0xf700044d, 0x9c00044e, 0xde00044f, 0x84000451, 0x80000452, 0x82000453, 0x86000454, - 0x88000455, 0x8a000456, 0x8c000457, 0x8e000458, 0x90000459, 0x9200045a, 0x9400045b, 0x9600045c, - 0x9800045e, 0x9a00045f, 0xef002116, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, - 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, - 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569, - 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// CodePage858 is the Windows Code Page 858 encoding. -var CodePage858 encoding.Encoding = &codePage858 - -var codePage858 = charmap{ - name: "Windows Code Page 858", - mib: identifier.IBM00858, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}}, - {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}}, - {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}}, - {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}}, - {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}}, - {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}}, - {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}}, - {2, [3]byte{0xc2, 0xa9, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xc2, 0xa2, 0x00}}, - {2, [3]byte{0xc2, 0xa5, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}}, - {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0x90, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {3, [3]byte{0xe2, 0x82, 0xac}}, - {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}}, - {2, [3]byte{0xc3, 0x8f, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xc2, 0xa6, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xbe, 0x00}}, - {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9a, 0x00}}, - {2, [3]byte{0xc3, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}}, - {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x97}}, {2, [3]byte{0xc2, 0xbe, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xad0000a1, 0xbd0000a2, 0x9c0000a3, 0xcf0000a4, 0xbe0000a5, 0xdd0000a6, 0xf50000a7, - 0xf90000a8, 0xb80000a9, 0xa60000aa, 0xae0000ab, 0xaa0000ac, 0xf00000ad, 0xa90000ae, 0xee0000af, - 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xfc0000b3, 0xef0000b4, 0xe60000b5, 0xf40000b6, 0xfa0000b7, - 0xf70000b8, 0xfb0000b9, 0xa70000ba, 0xaf0000bb, 0xac0000bc, 0xab0000bd, 0xf30000be, 0xa80000bf, - 0xb70000c0, 0xb50000c1, 0xb60000c2, 0xc70000c3, 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7, - 0xd40000c8, 0x900000c9, 0xd20000ca, 0xd30000cb, 0xde0000cc, 0xd60000cd, 0xd70000ce, 0xd80000cf, - 0xd10000d0, 0xa50000d1, 0xe30000d2, 0xe00000d3, 0xe20000d4, 0xe50000d5, 0x990000d6, 0x9e0000d7, - 0x9d0000d8, 0xeb0000d9, 0xe90000da, 0xea0000db, 0x9a0000dc, 0xed0000dd, 0xe80000de, 0xe10000df, - 0x850000e0, 0xa00000e1, 0x830000e2, 0xc60000e3, 0x840000e4, 0x860000e5, 0x910000e6, 0x870000e7, - 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed, 0x8c0000ee, 0x8b0000ef, - 0xd00000f0, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0xe40000f5, 0x940000f6, 0xf60000f7, - 0x9b0000f8, 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0xec0000fd, 0xe70000fe, 0x980000ff, - 0x9f000192, 0xf2002017, 0xd50020ac, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, - 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, - 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569, - 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// CodePage862 is the IBM Code Page 862 encoding. -var CodePage862 encoding.Encoding = &codePage862 - -var codePage862 = charmap{ - name: "IBM Code Page 862", - mib: identifier.PC862LatinHebrew, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xd7, 0x90, 0x00}}, {2, [3]byte{0xd7, 0x91, 0x00}}, - {2, [3]byte{0xd7, 0x92, 0x00}}, {2, [3]byte{0xd7, 0x93, 0x00}}, - {2, [3]byte{0xd7, 0x94, 0x00}}, {2, [3]byte{0xd7, 0x95, 0x00}}, - {2, [3]byte{0xd7, 0x96, 0x00}}, {2, [3]byte{0xd7, 0x97, 0x00}}, - {2, [3]byte{0xd7, 0x98, 0x00}}, {2, [3]byte{0xd7, 0x99, 0x00}}, - {2, [3]byte{0xd7, 0x9a, 0x00}}, {2, [3]byte{0xd7, 0x9b, 0x00}}, - {2, [3]byte{0xd7, 0x9c, 0x00}}, {2, [3]byte{0xd7, 0x9d, 0x00}}, - {2, [3]byte{0xd7, 0x9e, 0x00}}, {2, [3]byte{0xd7, 0x9f, 0x00}}, - {2, [3]byte{0xd7, 0xa0, 0x00}}, {2, [3]byte{0xd7, 0xa1, 0x00}}, - {2, [3]byte{0xd7, 0xa2, 0x00}}, {2, [3]byte{0xd7, 0xa3, 0x00}}, - {2, [3]byte{0xd7, 0xa4, 0x00}}, {2, [3]byte{0xd7, 0xa5, 0x00}}, - {2, [3]byte{0xd7, 0xa6, 0x00}}, {2, [3]byte{0xd7, 0xa7, 0x00}}, - {2, [3]byte{0xd7, 0xa8, 0x00}}, {2, [3]byte{0xd7, 0xa9, 0x00}}, - {2, [3]byte{0xd7, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xa2, 0x00}}, - {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xa7}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}}, - {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}}, - {2, [3]byte{0xc2, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0x90}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}}, - {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}}, - {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}}, - {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}}, - {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}}, - {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}}, - {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}}, - {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}}, - {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}}, - {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}}, - {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}}, - {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}}, - {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}}, - {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}}, - {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}}, - {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}}, - {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}}, - {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}}, - {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xad0000a1, 0x9b0000a2, 0x9c0000a3, 0x9d0000a5, 0xa60000aa, 0xae0000ab, 0xaa0000ac, - 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xe60000b5, 0xfa0000b7, 0xa70000ba, 0xaf0000bb, 0xac0000bc, - 0xab0000bd, 0xa80000bf, 0xa50000d1, 0xe10000df, 0xa00000e1, 0xa10000ed, 0xa40000f1, 0xa20000f3, - 0xf60000f7, 0xa30000fa, 0x9f000192, 0xe2000393, 0xe9000398, 0xe40003a3, 0xe80003a6, 0xea0003a9, - 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0, 0xe50003c3, 0xe70003c4, 0xed0003c6, 0x800005d0, - 0x810005d1, 0x820005d2, 0x830005d3, 0x840005d4, 0x850005d5, 0x860005d6, 0x870005d7, 0x880005d8, - 0x890005d9, 0x8a0005da, 0x8b0005db, 0x8c0005dc, 0x8d0005dd, 0x8e0005de, 0x8f0005df, 0x900005e0, - 0x910005e1, 0x920005e2, 0x930005e3, 0x940005e4, 0x950005e5, 0x960005e6, 0x970005e7, 0x980005e8, - 0x990005e9, 0x9a0005ea, 0xfc00207f, 0x9e0020a7, 0xf9002219, 0xfb00221a, 0xec00221e, 0xef002229, - 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xa9002310, 0xf4002320, 0xf5002321, 0xc4002500, - 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, - 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555, - 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d, - 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565, - 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580, - 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// CodePage866 is the IBM Code Page 866 encoding. -var CodePage866 encoding.Encoding = &codePage866 - -var codePage866 = charmap{ - name: "IBM Code Page 866", - mib: identifier.IBM866, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}}, - {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}}, - {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}}, - {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}}, - {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}}, - {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}}, - {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}}, - {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}}, - {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}}, - {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}}, - {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}}, - {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}}, - {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}}, - {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}}, - {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}}, - {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}}, - {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}}, - {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}}, - {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}}, - {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}}, - {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}}, - {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}}, - {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}}, - {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}}, - {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}}, - {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}}, - {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}}, - {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}}, - {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}}, - {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}}, - {2, [3]byte{0xd0, 0x81, 0x00}}, {2, [3]byte{0xd1, 0x91, 0x00}}, - {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x94, 0x00}}, - {2, [3]byte{0xd0, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x9e, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}}, - {3, [3]byte{0xe2, 0x84, 0x96}}, {2, [3]byte{0xc2, 0xa4, 0x00}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xff0000a0, 0xfd0000a4, 0xf80000b0, 0xfa0000b7, 0xf0000401, 0xf2000404, 0xf4000407, 0xf600040e, - 0x80000410, 0x81000411, 0x82000412, 0x83000413, 0x84000414, 0x85000415, 0x86000416, 0x87000417, - 0x88000418, 0x89000419, 0x8a00041a, 0x8b00041b, 0x8c00041c, 0x8d00041d, 0x8e00041e, 0x8f00041f, - 0x90000420, 0x91000421, 0x92000422, 0x93000423, 0x94000424, 0x95000425, 0x96000426, 0x97000427, - 0x98000428, 0x99000429, 0x9a00042a, 0x9b00042b, 0x9c00042c, 0x9d00042d, 0x9e00042e, 0x9f00042f, - 0xa0000430, 0xa1000431, 0xa2000432, 0xa3000433, 0xa4000434, 0xa5000435, 0xa6000436, 0xa7000437, - 0xa8000438, 0xa9000439, 0xaa00043a, 0xab00043b, 0xac00043c, 0xad00043d, 0xae00043e, 0xaf00043f, - 0xe0000440, 0xe1000441, 0xe2000442, 0xe3000443, 0xe4000444, 0xe5000445, 0xe6000446, 0xe7000447, - 0xe8000448, 0xe9000449, 0xea00044a, 0xeb00044b, 0xec00044c, 0xed00044d, 0xee00044e, 0xef00044f, - 0xf1000451, 0xf3000454, 0xf5000457, 0xf700045e, 0xfc002116, 0xf9002219, 0xfb00221a, 0xc4002500, - 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, - 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555, - 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d, - 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565, - 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580, - 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0, - }, -} - -// ISO8859_2 is the ISO 8859-2 encoding. -var ISO8859_2 encoding.Encoding = &iso8859_2 - -var iso8859_2 = charmap{ - name: "ISO 8859-2", - mib: identifier.ISOLatin2, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}}, - {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xbd, 0x00}}, - {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc5, 0xa0, 0x00}}, - {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc5, 0xa4, 0x00}}, - {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}}, - {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc4, 0xbe, 0x00}}, - {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xa1, 0x00}}, - {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc5, 0xa5, 0x00}}, - {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}}, - {2, [3]byte{0xc5, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xb9, 0x00}}, - {2, [3]byte{0xc4, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc4, 0x8e, 0x00}}, - {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}}, - {2, [3]byte{0xc5, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x90, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc5, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xae, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xb0, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc5, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc5, 0x95, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xba, 0x00}}, - {2, [3]byte{0xc4, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc4, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc4, 0x8f, 0x00}}, - {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}}, - {2, [3]byte{0xc5, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc5, 0x99, 0x00}}, {2, [3]byte{0xc5, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc5, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}}, - {2, [3]byte{0xc5, 0xa3, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa40000a4, 0xa70000a7, 0xa80000a8, 0xad0000ad, 0xb00000b0, 0xb40000b4, 0xb80000b8, - 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc70000c7, 0xc90000c9, 0xcb0000cb, 0xcd0000cd, 0xce0000ce, - 0xd30000d3, 0xd40000d4, 0xd60000d6, 0xd70000d7, 0xda0000da, 0xdc0000dc, 0xdd0000dd, 0xdf0000df, - 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe70000e7, 0xe90000e9, 0xeb0000eb, 0xed0000ed, 0xee0000ee, - 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf70000f7, 0xfa0000fa, 0xfc0000fc, 0xfd0000fd, 0xc3000102, - 0xe3000103, 0xa1000104, 0xb1000105, 0xc6000106, 0xe6000107, 0xc800010c, 0xe800010d, 0xcf00010e, - 0xef00010f, 0xd0000110, 0xf0000111, 0xca000118, 0xea000119, 0xcc00011a, 0xec00011b, 0xc5000139, - 0xe500013a, 0xa500013d, 0xb500013e, 0xa3000141, 0xb3000142, 0xd1000143, 0xf1000144, 0xd2000147, - 0xf2000148, 0xd5000150, 0xf5000151, 0xc0000154, 0xe0000155, 0xd8000158, 0xf8000159, 0xa600015a, - 0xb600015b, 0xaa00015e, 0xba00015f, 0xa9000160, 0xb9000161, 0xde000162, 0xfe000163, 0xab000164, - 0xbb000165, 0xd900016e, 0xf900016f, 0xdb000170, 0xfb000171, 0xac000179, 0xbc00017a, 0xaf00017b, - 0xbf00017c, 0xae00017d, 0xbe00017e, 0xb70002c7, 0xa20002d8, 0xff0002d9, 0xb20002db, 0xbd0002dd, - 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, - 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, - 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, - 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, - }, -} - -// ISO8859_3 is the ISO 8859-3 encoding. -var ISO8859_3 encoding.Encoding = &iso8859_3 - -var iso8859_3 = charmap{ - name: "ISO 8859-3", - mib: identifier.ISOLatin3, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0xa6, 0x00}}, - {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc4, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc4, 0xb0, 0x00}}, - {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc4, 0x9e, 0x00}}, - {2, [3]byte{0xc4, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc4, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}}, - {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc4, 0x9f, 0x00}}, - {2, [3]byte{0xc4, 0xb5, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xbc, 0x00}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x8a, 0x00}}, - {2, [3]byte{0xc4, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc4, 0xa0, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc4, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xac, 0x00}}, - {2, [3]byte{0xc5, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc3, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc4, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc4, 0x9d, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xad, 0x00}}, - {2, [3]byte{0xc5, 0x9d, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa30000a3, 0xa40000a4, 0xa70000a7, 0xa80000a8, 0xad0000ad, 0xb00000b0, 0xb20000b2, - 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb70000b7, 0xb80000b8, 0xbd0000bd, 0xc00000c0, 0xc10000c1, - 0xc20000c2, 0xc40000c4, 0xc70000c7, 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, - 0xcd0000cd, 0xce0000ce, 0xcf0000cf, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd60000d6, - 0xd70000d7, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe00000e0, 0xe10000e1, - 0xe20000e2, 0xe40000e4, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, - 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf60000f6, - 0xf70000f7, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xc6000108, 0xe6000109, 0xc500010a, - 0xe500010b, 0xd800011c, 0xf800011d, 0xab00011e, 0xbb00011f, 0xd5000120, 0xf5000121, 0xa6000124, - 0xb6000125, 0xa1000126, 0xb1000127, 0xa9000130, 0xb9000131, 0xac000134, 0xbc000135, 0xde00015c, - 0xfe00015d, 0xaa00015e, 0xba00015f, 0xdd00016c, 0xfd00016d, 0xaf00017b, 0xbf00017c, 0xa20002d8, - 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, - 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, - 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, - 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, - 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, - }, -} - -// ISO8859_4 is the ISO 8859-4 encoding. -var ISO8859_4 encoding.Encoding = &iso8859_4 - -var iso8859_4 = charmap{ - name: "ISO 8859-4", - mib: identifier.ISOLatin4, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}}, - {2, [3]byte{0xc4, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0x96, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xa8, 0x00}}, - {2, [3]byte{0xc4, 0xbb, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc5, 0xa0, 0x00}}, - {2, [3]byte{0xc4, 0x92, 0x00}}, {2, [3]byte{0xc4, 0xa2, 0x00}}, - {2, [3]byte{0xc5, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}}, - {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0x97, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc4, 0xa9, 0x00}}, - {2, [3]byte{0xc4, 0xbc, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xa1, 0x00}}, - {2, [3]byte{0xc4, 0x93, 0x00}}, {2, [3]byte{0xc4, 0xa3, 0x00}}, - {2, [3]byte{0xc5, 0xa7, 0x00}}, {2, [3]byte{0xc5, 0x8a, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc4, 0xaa, 0x00}}, - {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x85, 0x00}}, - {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc4, 0xb6, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xb2, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xa8, 0x00}}, - {2, [3]byte{0xc5, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc4, 0x97, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc4, 0xab, 0x00}}, - {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x86, 0x00}}, - {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc4, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xa9, 0x00}}, - {2, [3]byte{0xc5, 0xab, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa40000a4, 0xa70000a7, 0xa80000a8, 0xad0000ad, 0xaf0000af, 0xb00000b0, 0xb40000b4, - 0xb80000b8, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc90000c9, - 0xcb0000cb, 0xcd0000cd, 0xce0000ce, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xd80000d8, - 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, - 0xe50000e5, 0xe60000e6, 0xe90000e9, 0xeb0000eb, 0xed0000ed, 0xee0000ee, 0xf40000f4, 0xf50000f5, - 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xc0000100, 0xe0000101, - 0xa1000104, 0xb1000105, 0xc800010c, 0xe800010d, 0xd0000110, 0xf0000111, 0xaa000112, 0xba000113, - 0xcc000116, 0xec000117, 0xca000118, 0xea000119, 0xab000122, 0xbb000123, 0xa5000128, 0xb5000129, - 0xcf00012a, 0xef00012b, 0xc700012e, 0xe700012f, 0xd3000136, 0xf3000137, 0xa2000138, 0xa600013b, - 0xb600013c, 0xd1000145, 0xf1000146, 0xbd00014a, 0xbf00014b, 0xd200014c, 0xf200014d, 0xa3000156, - 0xb3000157, 0xa9000160, 0xb9000161, 0xac000166, 0xbc000167, 0xdd000168, 0xfd000169, 0xde00016a, - 0xfe00016b, 0xd9000172, 0xf9000173, 0xae00017d, 0xbe00017e, 0xb70002c7, 0xff0002d9, 0xb20002db, - 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, - 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, - 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, - 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, - }, -} - -// ISO8859_5 is the ISO 8859-5 encoding. -var ISO8859_5 encoding.Encoding = &iso8859_5 - -var iso8859_5 = charmap{ - name: "ISO 8859-5", - mib: identifier.ISOLatinCyrillic, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0x81, 0x00}}, - {2, [3]byte{0xd0, 0x82, 0x00}}, {2, [3]byte{0xd0, 0x83, 0x00}}, - {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}}, - {2, [3]byte{0xd0, 0x86, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}}, - {2, [3]byte{0xd0, 0x88, 0x00}}, {2, [3]byte{0xd0, 0x89, 0x00}}, - {2, [3]byte{0xd0, 0x8a, 0x00}}, {2, [3]byte{0xd0, 0x8b, 0x00}}, - {2, [3]byte{0xd0, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0x8f, 0x00}}, - {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}}, - {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}}, - {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}}, - {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}}, - {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}}, - {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}}, - {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}}, - {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}}, - {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}}, - {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}}, - {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}}, - {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}}, - {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}}, - {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}}, - {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}}, - {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}}, - {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}}, - {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}}, - {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}}, - {3, [3]byte{0xe2, 0x84, 0x96}}, {2, [3]byte{0xd1, 0x91, 0x00}}, - {2, [3]byte{0xd1, 0x92, 0x00}}, {2, [3]byte{0xd1, 0x93, 0x00}}, - {2, [3]byte{0xd1, 0x94, 0x00}}, {2, [3]byte{0xd1, 0x95, 0x00}}, - {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}}, - {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd1, 0x99, 0x00}}, - {2, [3]byte{0xd1, 0x9a, 0x00}}, {2, [3]byte{0xd1, 0x9b, 0x00}}, - {2, [3]byte{0xd1, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xd1, 0x9e, 0x00}}, {2, [3]byte{0xd1, 0x9f, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xfd0000a7, 0xad0000ad, 0xa1000401, 0xa2000402, 0xa3000403, 0xa4000404, 0xa5000405, - 0xa6000406, 0xa7000407, 0xa8000408, 0xa9000409, 0xaa00040a, 0xab00040b, 0xac00040c, 0xae00040e, - 0xaf00040f, 0xb0000410, 0xb1000411, 0xb2000412, 0xb3000413, 0xb4000414, 0xb5000415, 0xb6000416, - 0xb7000417, 0xb8000418, 0xb9000419, 0xba00041a, 0xbb00041b, 0xbc00041c, 0xbd00041d, 0xbe00041e, - 0xbf00041f, 0xc0000420, 0xc1000421, 0xc2000422, 0xc3000423, 0xc4000424, 0xc5000425, 0xc6000426, - 0xc7000427, 0xc8000428, 0xc9000429, 0xca00042a, 0xcb00042b, 0xcc00042c, 0xcd00042d, 0xce00042e, - 0xcf00042f, 0xd0000430, 0xd1000431, 0xd2000432, 0xd3000433, 0xd4000434, 0xd5000435, 0xd6000436, - 0xd7000437, 0xd8000438, 0xd9000439, 0xda00043a, 0xdb00043b, 0xdc00043c, 0xdd00043d, 0xde00043e, - 0xdf00043f, 0xe0000440, 0xe1000441, 0xe2000442, 0xe3000443, 0xe4000444, 0xe5000445, 0xe6000446, - 0xe7000447, 0xe8000448, 0xe9000449, 0xea00044a, 0xeb00044b, 0xec00044c, 0xed00044d, 0xee00044e, - 0xef00044f, 0xf1000451, 0xf2000452, 0xf3000453, 0xf4000454, 0xf5000455, 0xf6000456, 0xf7000457, - 0xf8000458, 0xf9000459, 0xfa00045a, 0xfb00045b, 0xfc00045c, 0xfe00045e, 0xff00045f, 0xf0002116, - 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, - 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, - 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, - 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, - }, -} - -// ISO8859_6 is the ISO 8859-6 encoding. -var ISO8859_6 encoding.Encoding = &iso8859_6 - -var iso8859_6 = charmap{ - name: "ISO 8859-6", - mib: identifier.ISOLatinArabic, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xd8, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd8, 0x9b, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd8, 0x9f, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd8, 0xa1, 0x00}}, - {2, [3]byte{0xd8, 0xa2, 0x00}}, {2, [3]byte{0xd8, 0xa3, 0x00}}, - {2, [3]byte{0xd8, 0xa4, 0x00}}, {2, [3]byte{0xd8, 0xa5, 0x00}}, - {2, [3]byte{0xd8, 0xa6, 0x00}}, {2, [3]byte{0xd8, 0xa7, 0x00}}, - {2, [3]byte{0xd8, 0xa8, 0x00}}, {2, [3]byte{0xd8, 0xa9, 0x00}}, - {2, [3]byte{0xd8, 0xaa, 0x00}}, {2, [3]byte{0xd8, 0xab, 0x00}}, - {2, [3]byte{0xd8, 0xac, 0x00}}, {2, [3]byte{0xd8, 0xad, 0x00}}, - {2, [3]byte{0xd8, 0xae, 0x00}}, {2, [3]byte{0xd8, 0xaf, 0x00}}, - {2, [3]byte{0xd8, 0xb0, 0x00}}, {2, [3]byte{0xd8, 0xb1, 0x00}}, - {2, [3]byte{0xd8, 0xb2, 0x00}}, {2, [3]byte{0xd8, 0xb3, 0x00}}, - {2, [3]byte{0xd8, 0xb4, 0x00}}, {2, [3]byte{0xd8, 0xb5, 0x00}}, - {2, [3]byte{0xd8, 0xb6, 0x00}}, {2, [3]byte{0xd8, 0xb7, 0x00}}, - {2, [3]byte{0xd8, 0xb8, 0x00}}, {2, [3]byte{0xd8, 0xb9, 0x00}}, - {2, [3]byte{0xd8, 0xba, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xd9, 0x80, 0x00}}, {2, [3]byte{0xd9, 0x81, 0x00}}, - {2, [3]byte{0xd9, 0x82, 0x00}}, {2, [3]byte{0xd9, 0x83, 0x00}}, - {2, [3]byte{0xd9, 0x84, 0x00}}, {2, [3]byte{0xd9, 0x85, 0x00}}, - {2, [3]byte{0xd9, 0x86, 0x00}}, {2, [3]byte{0xd9, 0x87, 0x00}}, - {2, [3]byte{0xd9, 0x88, 0x00}}, {2, [3]byte{0xd9, 0x89, 0x00}}, - {2, [3]byte{0xd9, 0x8a, 0x00}}, {2, [3]byte{0xd9, 0x8b, 0x00}}, - {2, [3]byte{0xd9, 0x8c, 0x00}}, {2, [3]byte{0xd9, 0x8d, 0x00}}, - {2, [3]byte{0xd9, 0x8e, 0x00}}, {2, [3]byte{0xd9, 0x8f, 0x00}}, - {2, [3]byte{0xd9, 0x90, 0x00}}, {2, [3]byte{0xd9, 0x91, 0x00}}, - {2, [3]byte{0xd9, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa40000a4, 0xad0000ad, 0xac00060c, 0xbb00061b, 0xbf00061f, 0xc1000621, 0xc2000622, - 0xc3000623, 0xc4000624, 0xc5000625, 0xc6000626, 0xc7000627, 0xc8000628, 0xc9000629, 0xca00062a, - 0xcb00062b, 0xcc00062c, 0xcd00062d, 0xce00062e, 0xcf00062f, 0xd0000630, 0xd1000631, 0xd2000632, - 0xd3000633, 0xd4000634, 0xd5000635, 0xd6000636, 0xd7000637, 0xd8000638, 0xd9000639, 0xda00063a, - 0xe0000640, 0xe1000641, 0xe2000642, 0xe3000643, 0xe4000644, 0xe5000645, 0xe6000646, 0xe7000647, - 0xe8000648, 0xe9000649, 0xea00064a, 0xeb00064b, 0xec00064c, 0xed00064d, 0xee00064e, 0xef00064f, - 0xf0000650, 0xf1000651, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, - }, -} - -// ISO8859_7 is the ISO 8859-7 encoding. -var ISO8859_7 encoding.Encoding = &iso8859_7 - -var iso8859_7 = charmap{ - name: "ISO 8859-7", - mib: identifier.ISOLatinGreek, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xe2, 0x82, 0xaf}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xcd, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x95}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xce, 0x84, 0x00}}, {2, [3]byte{0xce, 0x85, 0x00}}, - {2, [3]byte{0xce, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xce, 0x88, 0x00}}, {2, [3]byte{0xce, 0x89, 0x00}}, - {2, [3]byte{0xce, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xce, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xce, 0x8e, 0x00}}, {2, [3]byte{0xce, 0x8f, 0x00}}, - {2, [3]byte{0xce, 0x90, 0x00}}, {2, [3]byte{0xce, 0x91, 0x00}}, - {2, [3]byte{0xce, 0x92, 0x00}}, {2, [3]byte{0xce, 0x93, 0x00}}, - {2, [3]byte{0xce, 0x94, 0x00}}, {2, [3]byte{0xce, 0x95, 0x00}}, - {2, [3]byte{0xce, 0x96, 0x00}}, {2, [3]byte{0xce, 0x97, 0x00}}, - {2, [3]byte{0xce, 0x98, 0x00}}, {2, [3]byte{0xce, 0x99, 0x00}}, - {2, [3]byte{0xce, 0x9a, 0x00}}, {2, [3]byte{0xce, 0x9b, 0x00}}, - {2, [3]byte{0xce, 0x9c, 0x00}}, {2, [3]byte{0xce, 0x9d, 0x00}}, - {2, [3]byte{0xce, 0x9e, 0x00}}, {2, [3]byte{0xce, 0x9f, 0x00}}, - {2, [3]byte{0xce, 0xa0, 0x00}}, {2, [3]byte{0xce, 0xa1, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xce, 0xa3, 0x00}}, - {2, [3]byte{0xce, 0xa4, 0x00}}, {2, [3]byte{0xce, 0xa5, 0x00}}, - {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0xa7, 0x00}}, - {2, [3]byte{0xce, 0xa8, 0x00}}, {2, [3]byte{0xce, 0xa9, 0x00}}, - {2, [3]byte{0xce, 0xaa, 0x00}}, {2, [3]byte{0xce, 0xab, 0x00}}, - {2, [3]byte{0xce, 0xac, 0x00}}, {2, [3]byte{0xce, 0xad, 0x00}}, - {2, [3]byte{0xce, 0xae, 0x00}}, {2, [3]byte{0xce, 0xaf, 0x00}}, - {2, [3]byte{0xce, 0xb0, 0x00}}, {2, [3]byte{0xce, 0xb1, 0x00}}, - {2, [3]byte{0xce, 0xb2, 0x00}}, {2, [3]byte{0xce, 0xb3, 0x00}}, - {2, [3]byte{0xce, 0xb4, 0x00}}, {2, [3]byte{0xce, 0xb5, 0x00}}, - {2, [3]byte{0xce, 0xb6, 0x00}}, {2, [3]byte{0xce, 0xb7, 0x00}}, - {2, [3]byte{0xce, 0xb8, 0x00}}, {2, [3]byte{0xce, 0xb9, 0x00}}, - {2, [3]byte{0xce, 0xba, 0x00}}, {2, [3]byte{0xce, 0xbb, 0x00}}, - {2, [3]byte{0xce, 0xbc, 0x00}}, {2, [3]byte{0xce, 0xbd, 0x00}}, - {2, [3]byte{0xce, 0xbe, 0x00}}, {2, [3]byte{0xce, 0xbf, 0x00}}, - {2, [3]byte{0xcf, 0x80, 0x00}}, {2, [3]byte{0xcf, 0x81, 0x00}}, - {2, [3]byte{0xcf, 0x82, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}}, - {2, [3]byte{0xcf, 0x84, 0x00}}, {2, [3]byte{0xcf, 0x85, 0x00}}, - {2, [3]byte{0xcf, 0x86, 0x00}}, {2, [3]byte{0xcf, 0x87, 0x00}}, - {2, [3]byte{0xcf, 0x88, 0x00}}, {2, [3]byte{0xcf, 0x89, 0x00}}, - {2, [3]byte{0xcf, 0x8a, 0x00}}, {2, [3]byte{0xcf, 0x8b, 0x00}}, - {2, [3]byte{0xcf, 0x8c, 0x00}}, {2, [3]byte{0xcf, 0x8d, 0x00}}, - {2, [3]byte{0xcf, 0x8e, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa30000a3, 0xa60000a6, 0xa70000a7, 0xa80000a8, 0xa90000a9, 0xab0000ab, 0xac0000ac, - 0xad0000ad, 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb70000b7, 0xbb0000bb, 0xbd0000bd, - 0xaa00037a, 0xb4000384, 0xb5000385, 0xb6000386, 0xb8000388, 0xb9000389, 0xba00038a, 0xbc00038c, - 0xbe00038e, 0xbf00038f, 0xc0000390, 0xc1000391, 0xc2000392, 0xc3000393, 0xc4000394, 0xc5000395, - 0xc6000396, 0xc7000397, 0xc8000398, 0xc9000399, 0xca00039a, 0xcb00039b, 0xcc00039c, 0xcd00039d, - 0xce00039e, 0xcf00039f, 0xd00003a0, 0xd10003a1, 0xd30003a3, 0xd40003a4, 0xd50003a5, 0xd60003a6, - 0xd70003a7, 0xd80003a8, 0xd90003a9, 0xda0003aa, 0xdb0003ab, 0xdc0003ac, 0xdd0003ad, 0xde0003ae, - 0xdf0003af, 0xe00003b0, 0xe10003b1, 0xe20003b2, 0xe30003b3, 0xe40003b4, 0xe50003b5, 0xe60003b6, - 0xe70003b7, 0xe80003b8, 0xe90003b9, 0xea0003ba, 0xeb0003bb, 0xec0003bc, 0xed0003bd, 0xee0003be, - 0xef0003bf, 0xf00003c0, 0xf10003c1, 0xf20003c2, 0xf30003c3, 0xf40003c4, 0xf50003c5, 0xf60003c6, - 0xf70003c7, 0xf80003c8, 0xf90003c9, 0xfa0003ca, 0xfb0003cb, 0xfc0003cc, 0xfd0003cd, 0xfe0003ce, - 0xaf002015, 0xa1002018, 0xa2002019, 0xa40020ac, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, - 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, - 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, - 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, - 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, - }, -} - -// ISO8859_8 is the ISO 8859-8 encoding. -var ISO8859_8 encoding.Encoding = &iso8859_8 - -var iso8859_8 = charmap{ - name: "ISO 8859-8", - mib: identifier.ISOLatinHebrew, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x97}}, - {2, [3]byte{0xd7, 0x90, 0x00}}, {2, [3]byte{0xd7, 0x91, 0x00}}, - {2, [3]byte{0xd7, 0x92, 0x00}}, {2, [3]byte{0xd7, 0x93, 0x00}}, - {2, [3]byte{0xd7, 0x94, 0x00}}, {2, [3]byte{0xd7, 0x95, 0x00}}, - {2, [3]byte{0xd7, 0x96, 0x00}}, {2, [3]byte{0xd7, 0x97, 0x00}}, - {2, [3]byte{0xd7, 0x98, 0x00}}, {2, [3]byte{0xd7, 0x99, 0x00}}, - {2, [3]byte{0xd7, 0x9a, 0x00}}, {2, [3]byte{0xd7, 0x9b, 0x00}}, - {2, [3]byte{0xd7, 0x9c, 0x00}}, {2, [3]byte{0xd7, 0x9d, 0x00}}, - {2, [3]byte{0xd7, 0x9e, 0x00}}, {2, [3]byte{0xd7, 0x9f, 0x00}}, - {2, [3]byte{0xd7, 0xa0, 0x00}}, {2, [3]byte{0xd7, 0xa1, 0x00}}, - {2, [3]byte{0xd7, 0xa2, 0x00}}, {2, [3]byte{0xd7, 0xa3, 0x00}}, - {2, [3]byte{0xd7, 0xa4, 0x00}}, {2, [3]byte{0xd7, 0xa5, 0x00}}, - {2, [3]byte{0xd7, 0xa6, 0x00}}, {2, [3]byte{0xd7, 0xa7, 0x00}}, - {2, [3]byte{0xd7, 0xa8, 0x00}}, {2, [3]byte{0xd7, 0xa9, 0x00}}, - {2, [3]byte{0xd7, 0xaa, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x8e}}, - {3, [3]byte{0xe2, 0x80, 0x8f}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8, - 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1, - 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9, - 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xaa0000d7, 0xba0000f7, 0xe00005d0, 0xe10005d1, - 0xe20005d2, 0xe30005d3, 0xe40005d4, 0xe50005d5, 0xe60005d6, 0xe70005d7, 0xe80005d8, 0xe90005d9, - 0xea0005da, 0xeb0005db, 0xec0005dc, 0xed0005dd, 0xee0005de, 0xef0005df, 0xf00005e0, 0xf10005e1, - 0xf20005e2, 0xf30005e3, 0xf40005e4, 0xf50005e5, 0xf60005e6, 0xf70005e7, 0xf80005e8, 0xf90005e9, - 0xfa0005ea, 0xfd00200e, 0xfe00200f, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, - }, -} - -// ISO8859_10 is the ISO 8859-10 encoding. -var ISO8859_10 encoding.Encoding = &iso8859_10 - -var iso8859_10 = charmap{ - name: "ISO 8859-10", - mib: identifier.ISOLatin6, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}}, - {2, [3]byte{0xc4, 0x92, 0x00}}, {2, [3]byte{0xc4, 0xa2, 0x00}}, - {2, [3]byte{0xc4, 0xaa, 0x00}}, {2, [3]byte{0xc4, 0xa8, 0x00}}, - {2, [3]byte{0xc4, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc4, 0xbb, 0x00}}, {2, [3]byte{0xc4, 0x90, 0x00}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0xa6, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc5, 0xaa, 0x00}}, {2, [3]byte{0xc5, 0x8a, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}}, - {2, [3]byte{0xc4, 0x93, 0x00}}, {2, [3]byte{0xc4, 0xa3, 0x00}}, - {2, [3]byte{0xc4, 0xab, 0x00}}, {2, [3]byte{0xc4, 0xa9, 0x00}}, - {2, [3]byte{0xc4, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc4, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0x91, 0x00}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc5, 0xa7, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x95}}, - {2, [3]byte{0xc5, 0xab, 0x00}}, {2, [3]byte{0xc5, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x85, 0x00}}, - {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc5, 0xa8, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xb2, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc4, 0x97, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc5, 0x86, 0x00}}, - {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc5, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}}, - {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc4, 0xb8, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa70000a7, 0xad0000ad, 0xb00000b0, 0xb70000b7, 0xc10000c1, 0xc20000c2, 0xc30000c3, - 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc90000c9, 0xcb0000cb, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, - 0xd00000d0, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd80000d8, 0xda0000da, 0xdb0000db, - 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, - 0xe50000e5, 0xe60000e6, 0xe90000e9, 0xeb0000eb, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf00000f0, - 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf80000f8, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, - 0xfd0000fd, 0xfe0000fe, 0xc0000100, 0xe0000101, 0xa1000104, 0xb1000105, 0xc800010c, 0xe800010d, - 0xa9000110, 0xb9000111, 0xa2000112, 0xb2000113, 0xcc000116, 0xec000117, 0xca000118, 0xea000119, - 0xa3000122, 0xb3000123, 0xa5000128, 0xb5000129, 0xa400012a, 0xb400012b, 0xc700012e, 0xe700012f, - 0xa6000136, 0xb6000137, 0xff000138, 0xa800013b, 0xb800013c, 0xd1000145, 0xf1000146, 0xaf00014a, - 0xbf00014b, 0xd200014c, 0xf200014d, 0xaa000160, 0xba000161, 0xab000166, 0xbb000167, 0xd7000168, - 0xf7000169, 0xae00016a, 0xbe00016b, 0xd9000172, 0xf9000173, 0xac00017d, 0xbc00017e, 0xbd002015, - 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, - 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, - 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, - 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, - }, -} - -// ISO8859_13 is the ISO 8859-13 encoding. -var ISO8859_13 encoding.Encoding = &iso8859_13 - -var iso8859_13 = charmap{ - name: "ISO 8859-13", - mib: identifier.ISO885913, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9d}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9e}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc5, 0x96, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc3, 0x86, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9c}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc5, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}}, - {2, [3]byte{0xc4, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}}, - {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc4, 0x92, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc4, 0x96, 0x00}}, - {2, [3]byte{0xc4, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0xb6, 0x00}}, - {2, [3]byte{0xc4, 0xaa, 0x00}}, {2, [3]byte{0xc4, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}}, - {2, [3]byte{0xc5, 0x85, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc5, 0xb2, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}}, - {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xaa, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc4, 0x85, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc4, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc4, 0x93, 0x00}}, - {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xc4, 0x97, 0x00}}, - {2, [3]byte{0xc4, 0xa3, 0x00}}, {2, [3]byte{0xc4, 0xb7, 0x00}}, - {2, [3]byte{0xc4, 0xab, 0x00}}, {2, [3]byte{0xc4, 0xbc, 0x00}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}}, - {2, [3]byte{0xc5, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc5, 0xb3, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}}, - {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x99}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0xa90000a9, 0xab0000ab, - 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb50000b5, - 0xb60000b6, 0xb70000b7, 0xb90000b9, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xc40000c4, - 0xc50000c5, 0xaf0000c6, 0xc90000c9, 0xd30000d3, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xa80000d8, - 0xdc0000dc, 0xdf0000df, 0xe40000e4, 0xe50000e5, 0xbf0000e6, 0xe90000e9, 0xf30000f3, 0xf50000f5, - 0xf60000f6, 0xf70000f7, 0xb80000f8, 0xfc0000fc, 0xc2000100, 0xe2000101, 0xc0000104, 0xe0000105, - 0xc3000106, 0xe3000107, 0xc800010c, 0xe800010d, 0xc7000112, 0xe7000113, 0xcb000116, 0xeb000117, - 0xc6000118, 0xe6000119, 0xcc000122, 0xec000123, 0xce00012a, 0xee00012b, 0xc100012e, 0xe100012f, - 0xcd000136, 0xed000137, 0xcf00013b, 0xef00013c, 0xd9000141, 0xf9000142, 0xd1000143, 0xf1000144, - 0xd2000145, 0xf2000146, 0xd400014c, 0xf400014d, 0xaa000156, 0xba000157, 0xda00015a, 0xfa00015b, - 0xd0000160, 0xf0000161, 0xdb00016a, 0xfb00016b, 0xd8000172, 0xf8000173, 0xca000179, 0xea00017a, - 0xdd00017b, 0xfd00017c, 0xde00017d, 0xfe00017e, 0xff002019, 0xb400201c, 0xa100201d, 0xa500201e, - 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, - 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, - 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, - 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, - }, -} - -// ISO8859_14 is the ISO 8859-14 encoding. -var ISO8859_14 encoding.Encoding = &iso8859_14 - -var iso8859_14 = charmap{ - name: "ISO 8859-14", - mib: identifier.ISO885914, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe1, 0xb8, 0x82}}, - {3, [3]byte{0xe1, 0xb8, 0x83}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc4, 0x8a, 0x00}}, {2, [3]byte{0xc4, 0x8b, 0x00}}, - {3, [3]byte{0xe1, 0xb8, 0x8a}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {3, [3]byte{0xe1, 0xba, 0x80}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {3, [3]byte{0xe1, 0xba, 0x82}}, {3, [3]byte{0xe1, 0xb8, 0x8b}}, - {3, [3]byte{0xe1, 0xbb, 0xb2}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc5, 0xb8, 0x00}}, - {3, [3]byte{0xe1, 0xb8, 0x9e}}, {3, [3]byte{0xe1, 0xb8, 0x9f}}, - {2, [3]byte{0xc4, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0xa1, 0x00}}, - {3, [3]byte{0xe1, 0xb9, 0x80}}, {3, [3]byte{0xe1, 0xb9, 0x81}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {3, [3]byte{0xe1, 0xb9, 0x96}}, - {3, [3]byte{0xe1, 0xba, 0x81}}, {3, [3]byte{0xe1, 0xb9, 0x97}}, - {3, [3]byte{0xe1, 0xba, 0x83}}, {3, [3]byte{0xe1, 0xb9, 0xa0}}, - {3, [3]byte{0xe1, 0xbb, 0xb3}}, {3, [3]byte{0xe1, 0xba, 0x84}}, - {3, [3]byte{0xe1, 0xba, 0x85}}, {3, [3]byte{0xe1, 0xb9, 0xa1}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc5, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {3, [3]byte{0xe1, 0xb9, 0xaa}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc5, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc5, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {3, [3]byte{0xe1, 0xb9, 0xab}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}}, - {2, [3]byte{0xc5, 0xb7, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa30000a3, 0xa70000a7, 0xa90000a9, 0xad0000ad, 0xae0000ae, 0xb60000b6, 0xc00000c0, - 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, 0xc80000c8, - 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, 0xd10000d1, - 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd80000d8, 0xd90000d9, 0xda0000da, - 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3, - 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, - 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, - 0xf50000f5, 0xf60000f6, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd, - 0xff0000ff, 0xa400010a, 0xa500010b, 0xb2000120, 0xb3000121, 0xd0000174, 0xf0000175, 0xde000176, - 0xfe000177, 0xaf000178, 0xa1001e02, 0xa2001e03, 0xa6001e0a, 0xab001e0b, 0xb0001e1e, 0xb1001e1f, - 0xb4001e40, 0xb5001e41, 0xb7001e56, 0xb9001e57, 0xbb001e60, 0xbf001e61, 0xd7001e6a, 0xf7001e6b, - 0xa8001e80, 0xb8001e81, 0xaa001e82, 0xba001e83, 0xbd001e84, 0xbe001e85, 0xac001ef2, 0xbc001ef3, - 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, - 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, - 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, - 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, - }, -} - -// ISO8859_15 is the ISO 8859-15 encoding. -var ISO8859_15 encoding.Encoding = &iso8859_15 - -var iso8859_15 = charmap{ - name: "ISO 8859-15", - mib: identifier.ISO885915, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xc5, 0x93, 0x00}}, - {2, [3]byte{0xc5, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}}, - {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa50000a5, 0xa70000a7, 0xa90000a9, 0xaa0000aa, - 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1, 0xb20000b2, - 0xb30000b3, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbf0000bf, - 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, - 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, - 0xd00000d0, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, - 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df, - 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, - 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, - 0xf00000f0, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7, - 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd, 0xfe0000fe, 0xff0000ff, - 0xbc000152, 0xbd000153, 0xa6000160, 0xa8000161, 0xbe000178, 0xb400017d, 0xb800017e, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - }, -} - -// ISO8859_16 is the ISO 8859-16 encoding. -var ISO8859_16 encoding.Encoding = &iso8859_16 - -var iso8859_16 = charmap{ - name: "ISO 8859-16", - mib: identifier.ISO885916, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}}, - {2, [3]byte{0xc4, 0x85, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xe2, 0x80, 0x9e}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc8, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9d}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc4, 0x8d, 0x00}}, - {2, [3]byte{0xc8, 0x99, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xc5, 0x93, 0x00}}, - {2, [3]byte{0xc5, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x90, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc5, 0x9a, 0x00}}, - {2, [3]byte{0xc5, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc4, 0x98, 0x00}}, - {2, [3]byte{0xc8, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc5, 0x9b, 0x00}}, - {2, [3]byte{0xc5, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0x99, 0x00}}, - {2, [3]byte{0xc8, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa70000a7, 0xa90000a9, 0xab0000ab, 0xad0000ad, 0xb00000b0, 0xb10000b1, 0xb60000b6, - 0xb70000b7, 0xbb0000bb, 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc60000c6, 0xc70000c7, - 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, - 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd60000d6, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, - 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe60000e6, 0xe70000e7, 0xe80000e8, - 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf20000f2, - 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xff0000ff, - 0xc3000102, 0xe3000103, 0xa1000104, 0xa2000105, 0xc5000106, 0xe5000107, 0xb200010c, 0xb900010d, - 0xd0000110, 0xf0000111, 0xdd000118, 0xfd000119, 0xa3000141, 0xb3000142, 0xd1000143, 0xf1000144, - 0xd5000150, 0xf5000151, 0xbc000152, 0xbd000153, 0xd700015a, 0xf700015b, 0xa6000160, 0xa8000161, - 0xd8000170, 0xf8000171, 0xbe000178, 0xac000179, 0xae00017a, 0xaf00017b, 0xbf00017c, 0xb400017d, - 0xb800017e, 0xaa000218, 0xba000219, 0xde00021a, 0xfe00021b, 0xb500201d, 0xa500201e, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, - }, -} - -// KOI8R is the KOI8-R encoding. -var KOI8R encoding.Encoding = &koi8R - -var koi8R = charmap{ - name: "KOI8-R", - mib: identifier.KOI8R, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x9c}}, {3, [3]byte{0xe2, 0x94, 0xa4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xbc}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x90}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x8c, 0xa0}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {3, [3]byte{0xe2, 0x88, 0x99}}, - {3, [3]byte{0xe2, 0x88, 0x9a}}, {3, [3]byte{0xe2, 0x89, 0x88}}, - {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0xa1}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x90}}, {3, [3]byte{0xe2, 0x95, 0x91}}, - {3, [3]byte{0xe2, 0x95, 0x92}}, {2, [3]byte{0xd1, 0x91, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0x96}}, - {3, [3]byte{0xe2, 0x95, 0x97}}, {3, [3]byte{0xe2, 0x95, 0x98}}, - {3, [3]byte{0xe2, 0x95, 0x99}}, {3, [3]byte{0xe2, 0x95, 0x9a}}, - {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x95, 0x9c}}, - {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9e}}, - {3, [3]byte{0xe2, 0x95, 0x9f}}, {3, [3]byte{0xe2, 0x95, 0xa0}}, - {3, [3]byte{0xe2, 0x95, 0xa1}}, {2, [3]byte{0xd0, 0x81, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {3, [3]byte{0xe2, 0x95, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa5}}, - {3, [3]byte{0xe2, 0x95, 0xa6}}, {3, [3]byte{0xe2, 0x95, 0xa7}}, - {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa9}}, - {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x95, 0xab}}, - {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0xb0, 0x00}}, - {2, [3]byte{0xd0, 0xb1, 0x00}}, {2, [3]byte{0xd1, 0x86, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}}, - {2, [3]byte{0xd1, 0x85, 0x00}}, {2, [3]byte{0xd0, 0xb8, 0x00}}, - {2, [3]byte{0xd0, 0xb9, 0x00}}, {2, [3]byte{0xd0, 0xba, 0x00}}, - {2, [3]byte{0xd0, 0xbb, 0x00}}, {2, [3]byte{0xd0, 0xbc, 0x00}}, - {2, [3]byte{0xd0, 0xbd, 0x00}}, {2, [3]byte{0xd0, 0xbe, 0x00}}, - {2, [3]byte{0xd0, 0xbf, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}}, - {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb2, 0x00}}, - {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd0, 0xb7, 0x00}}, {2, [3]byte{0xd1, 0x88, 0x00}}, - {2, [3]byte{0xd1, 0x8d, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x8a, 0x00}}, - {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0x90, 0x00}}, - {2, [3]byte{0xd0, 0x91, 0x00}}, {2, [3]byte{0xd0, 0xa6, 0x00}}, - {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xd0, 0xa5, 0x00}}, {2, [3]byte{0xd0, 0x98, 0x00}}, - {2, [3]byte{0xd0, 0x99, 0x00}}, {2, [3]byte{0xd0, 0x9a, 0x00}}, - {2, [3]byte{0xd0, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x9c, 0x00}}, - {2, [3]byte{0xd0, 0x9d, 0x00}}, {2, [3]byte{0xd0, 0x9e, 0x00}}, - {2, [3]byte{0xd0, 0x9f, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x92, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}}, - {2, [3]byte{0xd0, 0x97, 0x00}}, {2, [3]byte{0xd0, 0xa8, 0x00}}, - {2, [3]byte{0xd0, 0xad, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0xa7, 0x00}}, {2, [3]byte{0xd0, 0xaa, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0x9a0000a0, 0xbf0000a9, 0x9c0000b0, 0x9d0000b2, 0x9e0000b7, 0x9f0000f7, 0xb3000401, 0xe1000410, - 0xe2000411, 0xf7000412, 0xe7000413, 0xe4000414, 0xe5000415, 0xf6000416, 0xfa000417, 0xe9000418, - 0xea000419, 0xeb00041a, 0xec00041b, 0xed00041c, 0xee00041d, 0xef00041e, 0xf000041f, 0xf2000420, - 0xf3000421, 0xf4000422, 0xf5000423, 0xe6000424, 0xe8000425, 0xe3000426, 0xfe000427, 0xfb000428, - 0xfd000429, 0xff00042a, 0xf900042b, 0xf800042c, 0xfc00042d, 0xe000042e, 0xf100042f, 0xc1000430, - 0xc2000431, 0xd7000432, 0xc7000433, 0xc4000434, 0xc5000435, 0xd6000436, 0xda000437, 0xc9000438, - 0xca000439, 0xcb00043a, 0xcc00043b, 0xcd00043c, 0xce00043d, 0xcf00043e, 0xd000043f, 0xd2000440, - 0xd3000441, 0xd4000442, 0xd5000443, 0xc6000444, 0xc8000445, 0xc3000446, 0xde000447, 0xdb000448, - 0xdd000449, 0xdf00044a, 0xd900044b, 0xd800044c, 0xdc00044d, 0xc000044e, 0xd100044f, 0xa3000451, - 0x95002219, 0x9600221a, 0x97002248, 0x98002264, 0x99002265, 0x93002320, 0x9b002321, 0x80002500, - 0x81002502, 0x8200250c, 0x83002510, 0x84002514, 0x85002518, 0x8600251c, 0x87002524, 0x8800252c, - 0x89002534, 0x8a00253c, 0xa0002550, 0xa1002551, 0xa2002552, 0xa4002553, 0xa5002554, 0xa6002555, - 0xa7002556, 0xa8002557, 0xa9002558, 0xaa002559, 0xab00255a, 0xac00255b, 0xad00255c, 0xae00255d, - 0xaf00255e, 0xb000255f, 0xb1002560, 0xb2002561, 0xb4002562, 0xb5002563, 0xb6002564, 0xb7002565, - 0xb8002566, 0xb9002567, 0xba002568, 0xbb002569, 0xbc00256a, 0xbd00256b, 0xbe00256c, 0x8b002580, - 0x8c002584, 0x8d002588, 0x8e00258c, 0x8f002590, 0x90002591, 0x91002592, 0x92002593, 0x940025a0, - }, -} - -// KOI8U is the KOI8-U encoding. -var KOI8U encoding.Encoding = &koi8U - -var koi8U = charmap{ - name: "KOI8-U", - mib: identifier.KOI8U, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0x82}}, - {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x94, 0x90}}, - {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0x98}}, - {3, [3]byte{0xe2, 0x94, 0x9c}}, {3, [3]byte{0xe2, 0x94, 0xa4}}, - {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0xb4}}, - {3, [3]byte{0xe2, 0x94, 0xbc}}, {3, [3]byte{0xe2, 0x96, 0x80}}, - {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x88}}, - {3, [3]byte{0xe2, 0x96, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x90}}, - {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}}, - {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x8c, 0xa0}}, - {3, [3]byte{0xe2, 0x96, 0xa0}}, {3, [3]byte{0xe2, 0x88, 0x99}}, - {3, [3]byte{0xe2, 0x88, 0x9a}}, {3, [3]byte{0xe2, 0x89, 0x88}}, - {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0xa1}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}}, - {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x90}}, {3, [3]byte{0xe2, 0x95, 0x91}}, - {3, [3]byte{0xe2, 0x95, 0x92}}, {2, [3]byte{0xd1, 0x91, 0x00}}, - {2, [3]byte{0xd1, 0x94, 0x00}}, {3, [3]byte{0xe2, 0x95, 0x94}}, - {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0x97}}, {3, [3]byte{0xe2, 0x95, 0x98}}, - {3, [3]byte{0xe2, 0x95, 0x99}}, {3, [3]byte{0xe2, 0x95, 0x9a}}, - {3, [3]byte{0xe2, 0x95, 0x9b}}, {2, [3]byte{0xd2, 0x91, 0x00}}, - {2, [3]byte{0xd1, 0x9e, 0x00}}, {3, [3]byte{0xe2, 0x95, 0x9e}}, - {3, [3]byte{0xe2, 0x95, 0x9f}}, {3, [3]byte{0xe2, 0x95, 0xa0}}, - {3, [3]byte{0xe2, 0x95, 0xa1}}, {2, [3]byte{0xd0, 0x81, 0x00}}, - {2, [3]byte{0xd0, 0x84, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}}, - {2, [3]byte{0xd0, 0x86, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}}, - {3, [3]byte{0xe2, 0x95, 0xa6}}, {3, [3]byte{0xe2, 0x95, 0xa7}}, - {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa9}}, - {3, [3]byte{0xe2, 0x95, 0xaa}}, {2, [3]byte{0xd2, 0x90, 0x00}}, - {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0xb0, 0x00}}, - {2, [3]byte{0xd0, 0xb1, 0x00}}, {2, [3]byte{0xd1, 0x86, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}}, - {2, [3]byte{0xd1, 0x85, 0x00}}, {2, [3]byte{0xd0, 0xb8, 0x00}}, - {2, [3]byte{0xd0, 0xb9, 0x00}}, {2, [3]byte{0xd0, 0xba, 0x00}}, - {2, [3]byte{0xd0, 0xbb, 0x00}}, {2, [3]byte{0xd0, 0xbc, 0x00}}, - {2, [3]byte{0xd0, 0xbd, 0x00}}, {2, [3]byte{0xd0, 0xbe, 0x00}}, - {2, [3]byte{0xd0, 0xbf, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}}, - {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb2, 0x00}}, - {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd0, 0xb7, 0x00}}, {2, [3]byte{0xd1, 0x88, 0x00}}, - {2, [3]byte{0xd1, 0x8d, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x8a, 0x00}}, - {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0x90, 0x00}}, - {2, [3]byte{0xd0, 0x91, 0x00}}, {2, [3]byte{0xd0, 0xa6, 0x00}}, - {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xd0, 0xa5, 0x00}}, {2, [3]byte{0xd0, 0x98, 0x00}}, - {2, [3]byte{0xd0, 0x99, 0x00}}, {2, [3]byte{0xd0, 0x9a, 0x00}}, - {2, [3]byte{0xd0, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x9c, 0x00}}, - {2, [3]byte{0xd0, 0x9d, 0x00}}, {2, [3]byte{0xd0, 0x9e, 0x00}}, - {2, [3]byte{0xd0, 0x9f, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x92, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}}, - {2, [3]byte{0xd0, 0x97, 0x00}}, {2, [3]byte{0xd0, 0xa8, 0x00}}, - {2, [3]byte{0xd0, 0xad, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0xa7, 0x00}}, {2, [3]byte{0xd0, 0xaa, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0x9a0000a0, 0xbf0000a9, 0x9c0000b0, 0x9d0000b2, 0x9e0000b7, 0x9f0000f7, 0xb3000401, 0xb4000404, - 0xb6000406, 0xb7000407, 0xbe00040e, 0xe1000410, 0xe2000411, 0xf7000412, 0xe7000413, 0xe4000414, - 0xe5000415, 0xf6000416, 0xfa000417, 0xe9000418, 0xea000419, 0xeb00041a, 0xec00041b, 0xed00041c, - 0xee00041d, 0xef00041e, 0xf000041f, 0xf2000420, 0xf3000421, 0xf4000422, 0xf5000423, 0xe6000424, - 0xe8000425, 0xe3000426, 0xfe000427, 0xfb000428, 0xfd000429, 0xff00042a, 0xf900042b, 0xf800042c, - 0xfc00042d, 0xe000042e, 0xf100042f, 0xc1000430, 0xc2000431, 0xd7000432, 0xc7000433, 0xc4000434, - 0xc5000435, 0xd6000436, 0xda000437, 0xc9000438, 0xca000439, 0xcb00043a, 0xcc00043b, 0xcd00043c, - 0xce00043d, 0xcf00043e, 0xd000043f, 0xd2000440, 0xd3000441, 0xd4000442, 0xd5000443, 0xc6000444, - 0xc8000445, 0xc3000446, 0xde000447, 0xdb000448, 0xdd000449, 0xdf00044a, 0xd900044b, 0xd800044c, - 0xdc00044d, 0xc000044e, 0xd100044f, 0xa3000451, 0xa4000454, 0xa6000456, 0xa7000457, 0xae00045e, - 0xbd000490, 0xad000491, 0x95002219, 0x9600221a, 0x97002248, 0x98002264, 0x99002265, 0x93002320, - 0x9b002321, 0x80002500, 0x81002502, 0x8200250c, 0x83002510, 0x84002514, 0x85002518, 0x8600251c, - 0x87002524, 0x8800252c, 0x89002534, 0x8a00253c, 0xa0002550, 0xa1002551, 0xa2002552, 0xa5002554, - 0xa8002557, 0xa9002558, 0xaa002559, 0xab00255a, 0xac00255b, 0xaf00255e, 0xb000255f, 0xb1002560, - 0xb2002561, 0xb5002563, 0xb8002566, 0xb9002567, 0xba002568, 0xbb002569, 0xbc00256a, 0x8b002580, - 0x8c002584, 0x8d002588, 0x8e00258c, 0x8f002590, 0x90002591, 0x91002592, 0x92002593, 0x940025a0, - }, -} - -// Macintosh is the Macintosh encoding. -var Macintosh encoding.Encoding = &macintosh - -var macintosh = charmap{ - name: "Macintosh", - mib: identifier.Macintosh, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x91, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa8, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {2, [3]byte{0xc2, 0xb0, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa7, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {3, [3]byte{0xe2, 0x84, 0xa2}}, {2, [3]byte{0xc2, 0xb4, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {3, [3]byte{0xe2, 0x89, 0xa0}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}}, - {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}}, - {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {3, [3]byte{0xe2, 0x88, 0x82}}, {3, [3]byte{0xe2, 0x88, 0x91}}, - {3, [3]byte{0xe2, 0x88, 0x8f}}, {2, [3]byte{0xcf, 0x80, 0x00}}, - {3, [3]byte{0xe2, 0x88, 0xab}}, {2, [3]byte{0xc2, 0xaa, 0x00}}, - {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xce, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}}, - {2, [3]byte{0xc6, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}}, - {3, [3]byte{0xe2, 0x88, 0x86}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xbb, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}}, - {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xc5, 0x93, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xe2, 0x80, 0x9c}}, {3, [3]byte{0xe2, 0x80, 0x9d}}, - {3, [3]byte{0xe2, 0x80, 0x98}}, {3, [3]byte{0xe2, 0x80, 0x99}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x97, 0x8a}}, - {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc5, 0xb8, 0x00}}, - {3, [3]byte{0xe2, 0x81, 0x84}}, {3, [3]byte{0xe2, 0x82, 0xac}}, - {3, [3]byte{0xe2, 0x80, 0xb9}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {3, [3]byte{0xef, 0xac, 0x81}}, {3, [3]byte{0xef, 0xac, 0x82}}, - {3, [3]byte{0xe2, 0x80, 0xa1}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {3, [3]byte{0xe2, 0x80, 0x9e}}, - {3, [3]byte{0xe2, 0x80, 0xb0}}, {2, [3]byte{0xc3, 0x82, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x8b, 0x00}}, {2, [3]byte{0xc3, 0x88, 0x00}}, - {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}}, - {2, [3]byte{0xc3, 0x8f, 0x00}}, {2, [3]byte{0xc3, 0x8c, 0x00}}, - {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}}, - {3, [3]byte{0xef, 0xa3, 0xbf}}, {2, [3]byte{0xc3, 0x92, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x99, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}}, - {2, [3]byte{0xcb, 0x86, 0x00}}, {2, [3]byte{0xcb, 0x9c, 0x00}}, - {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xcb, 0x98, 0x00}}, - {2, [3]byte{0xcb, 0x99, 0x00}}, {2, [3]byte{0xcb, 0x9a, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}}, - {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xca0000a0, 0xc10000a1, 0xa20000a2, 0xa30000a3, 0xb40000a5, 0xa40000a7, 0xac0000a8, 0xa90000a9, - 0xbb0000aa, 0xc70000ab, 0xc20000ac, 0xa80000ae, 0xf80000af, 0xa10000b0, 0xb10000b1, 0xab0000b4, - 0xb50000b5, 0xa60000b6, 0xe10000b7, 0xfc0000b8, 0xbc0000ba, 0xc80000bb, 0xc00000bf, 0xcb0000c0, - 0xe70000c1, 0xe50000c2, 0xcc0000c3, 0x800000c4, 0x810000c5, 0xae0000c6, 0x820000c7, 0xe90000c8, - 0x830000c9, 0xe60000ca, 0xe80000cb, 0xed0000cc, 0xea0000cd, 0xeb0000ce, 0xec0000cf, 0x840000d1, - 0xf10000d2, 0xee0000d3, 0xef0000d4, 0xcd0000d5, 0x850000d6, 0xaf0000d8, 0xf40000d9, 0xf20000da, - 0xf30000db, 0x860000dc, 0xa70000df, 0x880000e0, 0x870000e1, 0x890000e2, 0x8b0000e3, 0x8a0000e4, - 0x8c0000e5, 0xbe0000e6, 0x8d0000e7, 0x8f0000e8, 0x8e0000e9, 0x900000ea, 0x910000eb, 0x930000ec, - 0x920000ed, 0x940000ee, 0x950000ef, 0x960000f1, 0x980000f2, 0x970000f3, 0x990000f4, 0x9b0000f5, - 0x9a0000f6, 0xd60000f7, 0xbf0000f8, 0x9d0000f9, 0x9c0000fa, 0x9e0000fb, 0x9f0000fc, 0xd80000ff, - 0xf5000131, 0xce000152, 0xcf000153, 0xd9000178, 0xc4000192, 0xf60002c6, 0xff0002c7, 0xf90002d8, - 0xfa0002d9, 0xfb0002da, 0xfe0002db, 0xf70002dc, 0xfd0002dd, 0xbd0003a9, 0xb90003c0, 0xd0002013, - 0xd1002014, 0xd4002018, 0xd5002019, 0xe200201a, 0xd200201c, 0xd300201d, 0xe300201e, 0xa0002020, - 0xe0002021, 0xa5002022, 0xc9002026, 0xe4002030, 0xdc002039, 0xdd00203a, 0xda002044, 0xdb0020ac, - 0xaa002122, 0xb6002202, 0xc6002206, 0xb800220f, 0xb7002211, 0xc300221a, 0xb000221e, 0xba00222b, - 0xc5002248, 0xad002260, 0xb2002264, 0xb3002265, 0xd70025ca, 0xf000f8ff, 0xde00fb01, 0xdf00fb02, - }, -} - -// MacintoshCyrillic is the Macintosh Cyrillic encoding. -var MacintoshCyrillic encoding.Encoding = &macintoshCyrillic - -var macintoshCyrillic = charmap{ - name: "Macintosh Cyrillic", - mib: identifier.MacintoshCyrillic, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}}, - {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}}, - {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}}, - {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}}, - {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}}, - {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}}, - {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}}, - {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}}, - {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {2, [3]byte{0xc2, 0xb0, 0x00}}, - {2, [3]byte{0xd2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa7, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0x86, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {3, [3]byte{0xe2, 0x84, 0xa2}}, {2, [3]byte{0xd0, 0x82, 0x00}}, - {2, [3]byte{0xd1, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x89, 0xa0}}, - {2, [3]byte{0xd0, 0x83, 0x00}}, {2, [3]byte{0xd1, 0x93, 0x00}}, - {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}}, - {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xd2, 0x91, 0x00}}, {2, [3]byte{0xd0, 0x88, 0x00}}, - {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x94, 0x00}}, - {2, [3]byte{0xd0, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x89, 0x00}}, {2, [3]byte{0xd1, 0x99, 0x00}}, - {2, [3]byte{0xd0, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x9a, 0x00}}, - {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}}, - {2, [3]byte{0xc6, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}}, - {3, [3]byte{0xe2, 0x88, 0x86}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xbb, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0x8b, 0x00}}, - {2, [3]byte{0xd1, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x8c, 0x00}}, - {2, [3]byte{0xd1, 0x9c, 0x00}}, {2, [3]byte{0xd1, 0x95, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xe2, 0x80, 0x9c}}, {3, [3]byte{0xe2, 0x80, 0x9d}}, - {3, [3]byte{0xe2, 0x80, 0x98}}, {3, [3]byte{0xe2, 0x80, 0x99}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9e}}, - {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x9e, 0x00}}, - {2, [3]byte{0xd0, 0x8f, 0x00}}, {2, [3]byte{0xd1, 0x9f, 0x00}}, - {3, [3]byte{0xe2, 0x84, 0x96}}, {2, [3]byte{0xd0, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x91, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}}, - {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}}, - {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}}, - {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}}, - {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}}, - {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}}, - {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}}, - {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}}, - {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}}, - {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}}, - {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {3, [3]byte{0xe2, 0x82, 0xac}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xca0000a0, 0xa30000a3, 0xa40000a7, 0xa90000a9, 0xc70000ab, 0xc20000ac, 0xa80000ae, 0xa10000b0, - 0xb10000b1, 0xb50000b5, 0xa60000b6, 0xc80000bb, 0xd60000f7, 0xc4000192, 0xdd000401, 0xab000402, - 0xae000403, 0xb8000404, 0xc1000405, 0xa7000406, 0xba000407, 0xb7000408, 0xbc000409, 0xbe00040a, - 0xcb00040b, 0xcd00040c, 0xd800040e, 0xda00040f, 0x80000410, 0x81000411, 0x82000412, 0x83000413, - 0x84000414, 0x85000415, 0x86000416, 0x87000417, 0x88000418, 0x89000419, 0x8a00041a, 0x8b00041b, - 0x8c00041c, 0x8d00041d, 0x8e00041e, 0x8f00041f, 0x90000420, 0x91000421, 0x92000422, 0x93000423, - 0x94000424, 0x95000425, 0x96000426, 0x97000427, 0x98000428, 0x99000429, 0x9a00042a, 0x9b00042b, - 0x9c00042c, 0x9d00042d, 0x9e00042e, 0x9f00042f, 0xe0000430, 0xe1000431, 0xe2000432, 0xe3000433, - 0xe4000434, 0xe5000435, 0xe6000436, 0xe7000437, 0xe8000438, 0xe9000439, 0xea00043a, 0xeb00043b, - 0xec00043c, 0xed00043d, 0xee00043e, 0xef00043f, 0xf0000440, 0xf1000441, 0xf2000442, 0xf3000443, - 0xf4000444, 0xf5000445, 0xf6000446, 0xf7000447, 0xf8000448, 0xf9000449, 0xfa00044a, 0xfb00044b, - 0xfc00044c, 0xfd00044d, 0xfe00044e, 0xdf00044f, 0xde000451, 0xac000452, 0xaf000453, 0xb9000454, - 0xcf000455, 0xb4000456, 0xbb000457, 0xc0000458, 0xbd000459, 0xbf00045a, 0xcc00045b, 0xce00045c, - 0xd900045e, 0xdb00045f, 0xa2000490, 0xb6000491, 0xd0002013, 0xd1002014, 0xd4002018, 0xd5002019, - 0xd200201c, 0xd300201d, 0xd700201e, 0xa0002020, 0xa5002022, 0xc9002026, 0xff0020ac, 0xdc002116, - 0xaa002122, 0xc6002206, 0xc300221a, 0xb000221e, 0xc5002248, 0xad002260, 0xb2002264, 0xb3002265, - }, -} - -// Windows874 is the Windows 874 encoding. -var Windows874 encoding.Encoding = &windows874 - -var windows874 = charmap{ - name: "Windows 874", - mib: identifier.Windows874, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe0, 0xb8, 0x81}}, - {3, [3]byte{0xe0, 0xb8, 0x82}}, {3, [3]byte{0xe0, 0xb8, 0x83}}, - {3, [3]byte{0xe0, 0xb8, 0x84}}, {3, [3]byte{0xe0, 0xb8, 0x85}}, - {3, [3]byte{0xe0, 0xb8, 0x86}}, {3, [3]byte{0xe0, 0xb8, 0x87}}, - {3, [3]byte{0xe0, 0xb8, 0x88}}, {3, [3]byte{0xe0, 0xb8, 0x89}}, - {3, [3]byte{0xe0, 0xb8, 0x8a}}, {3, [3]byte{0xe0, 0xb8, 0x8b}}, - {3, [3]byte{0xe0, 0xb8, 0x8c}}, {3, [3]byte{0xe0, 0xb8, 0x8d}}, - {3, [3]byte{0xe0, 0xb8, 0x8e}}, {3, [3]byte{0xe0, 0xb8, 0x8f}}, - {3, [3]byte{0xe0, 0xb8, 0x90}}, {3, [3]byte{0xe0, 0xb8, 0x91}}, - {3, [3]byte{0xe0, 0xb8, 0x92}}, {3, [3]byte{0xe0, 0xb8, 0x93}}, - {3, [3]byte{0xe0, 0xb8, 0x94}}, {3, [3]byte{0xe0, 0xb8, 0x95}}, - {3, [3]byte{0xe0, 0xb8, 0x96}}, {3, [3]byte{0xe0, 0xb8, 0x97}}, - {3, [3]byte{0xe0, 0xb8, 0x98}}, {3, [3]byte{0xe0, 0xb8, 0x99}}, - {3, [3]byte{0xe0, 0xb8, 0x9a}}, {3, [3]byte{0xe0, 0xb8, 0x9b}}, - {3, [3]byte{0xe0, 0xb8, 0x9c}}, {3, [3]byte{0xe0, 0xb8, 0x9d}}, - {3, [3]byte{0xe0, 0xb8, 0x9e}}, {3, [3]byte{0xe0, 0xb8, 0x9f}}, - {3, [3]byte{0xe0, 0xb8, 0xa0}}, {3, [3]byte{0xe0, 0xb8, 0xa1}}, - {3, [3]byte{0xe0, 0xb8, 0xa2}}, {3, [3]byte{0xe0, 0xb8, 0xa3}}, - {3, [3]byte{0xe0, 0xb8, 0xa4}}, {3, [3]byte{0xe0, 0xb8, 0xa5}}, - {3, [3]byte{0xe0, 0xb8, 0xa6}}, {3, [3]byte{0xe0, 0xb8, 0xa7}}, - {3, [3]byte{0xe0, 0xb8, 0xa8}}, {3, [3]byte{0xe0, 0xb8, 0xa9}}, - {3, [3]byte{0xe0, 0xb8, 0xaa}}, {3, [3]byte{0xe0, 0xb8, 0xab}}, - {3, [3]byte{0xe0, 0xb8, 0xac}}, {3, [3]byte{0xe0, 0xb8, 0xad}}, - {3, [3]byte{0xe0, 0xb8, 0xae}}, {3, [3]byte{0xe0, 0xb8, 0xaf}}, - {3, [3]byte{0xe0, 0xb8, 0xb0}}, {3, [3]byte{0xe0, 0xb8, 0xb1}}, - {3, [3]byte{0xe0, 0xb8, 0xb2}}, {3, [3]byte{0xe0, 0xb8, 0xb3}}, - {3, [3]byte{0xe0, 0xb8, 0xb4}}, {3, [3]byte{0xe0, 0xb8, 0xb5}}, - {3, [3]byte{0xe0, 0xb8, 0xb6}}, {3, [3]byte{0xe0, 0xb8, 0xb7}}, - {3, [3]byte{0xe0, 0xb8, 0xb8}}, {3, [3]byte{0xe0, 0xb8, 0xb9}}, - {3, [3]byte{0xe0, 0xb8, 0xba}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe0, 0xb8, 0xbf}}, - {3, [3]byte{0xe0, 0xb9, 0x80}}, {3, [3]byte{0xe0, 0xb9, 0x81}}, - {3, [3]byte{0xe0, 0xb9, 0x82}}, {3, [3]byte{0xe0, 0xb9, 0x83}}, - {3, [3]byte{0xe0, 0xb9, 0x84}}, {3, [3]byte{0xe0, 0xb9, 0x85}}, - {3, [3]byte{0xe0, 0xb9, 0x86}}, {3, [3]byte{0xe0, 0xb9, 0x87}}, - {3, [3]byte{0xe0, 0xb9, 0x88}}, {3, [3]byte{0xe0, 0xb9, 0x89}}, - {3, [3]byte{0xe0, 0xb9, 0x8a}}, {3, [3]byte{0xe0, 0xb9, 0x8b}}, - {3, [3]byte{0xe0, 0xb9, 0x8c}}, {3, [3]byte{0xe0, 0xb9, 0x8d}}, - {3, [3]byte{0xe0, 0xb9, 0x8e}}, {3, [3]byte{0xe0, 0xb9, 0x8f}}, - {3, [3]byte{0xe0, 0xb9, 0x90}}, {3, [3]byte{0xe0, 0xb9, 0x91}}, - {3, [3]byte{0xe0, 0xb9, 0x92}}, {3, [3]byte{0xe0, 0xb9, 0x93}}, - {3, [3]byte{0xe0, 0xb9, 0x94}}, {3, [3]byte{0xe0, 0xb9, 0x95}}, - {3, [3]byte{0xe0, 0xb9, 0x96}}, {3, [3]byte{0xe0, 0xb9, 0x97}}, - {3, [3]byte{0xe0, 0xb9, 0x98}}, {3, [3]byte{0xe0, 0xb9, 0x99}}, - {3, [3]byte{0xe0, 0xb9, 0x9a}}, {3, [3]byte{0xe0, 0xb9, 0x9b}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa1000e01, 0xa2000e02, 0xa3000e03, 0xa4000e04, 0xa5000e05, 0xa6000e06, 0xa7000e07, - 0xa8000e08, 0xa9000e09, 0xaa000e0a, 0xab000e0b, 0xac000e0c, 0xad000e0d, 0xae000e0e, 0xaf000e0f, - 0xb0000e10, 0xb1000e11, 0xb2000e12, 0xb3000e13, 0xb4000e14, 0xb5000e15, 0xb6000e16, 0xb7000e17, - 0xb8000e18, 0xb9000e19, 0xba000e1a, 0xbb000e1b, 0xbc000e1c, 0xbd000e1d, 0xbe000e1e, 0xbf000e1f, - 0xc0000e20, 0xc1000e21, 0xc2000e22, 0xc3000e23, 0xc4000e24, 0xc5000e25, 0xc6000e26, 0xc7000e27, - 0xc8000e28, 0xc9000e29, 0xca000e2a, 0xcb000e2b, 0xcc000e2c, 0xcd000e2d, 0xce000e2e, 0xcf000e2f, - 0xd0000e30, 0xd1000e31, 0xd2000e32, 0xd3000e33, 0xd4000e34, 0xd5000e35, 0xd6000e36, 0xd7000e37, - 0xd8000e38, 0xd9000e39, 0xda000e3a, 0xdf000e3f, 0xe0000e40, 0xe1000e41, 0xe2000e42, 0xe3000e43, - 0xe4000e44, 0xe5000e45, 0xe6000e46, 0xe7000e47, 0xe8000e48, 0xe9000e49, 0xea000e4a, 0xeb000e4b, - 0xec000e4c, 0xed000e4d, 0xee000e4e, 0xef000e4f, 0xf0000e50, 0xf1000e51, 0xf2000e52, 0xf3000e53, - 0xf4000e54, 0xf5000e55, 0xf6000e56, 0xf7000e57, 0xf8000e58, 0xf9000e59, 0xfa000e5a, 0xfb000e5b, - 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x9300201c, 0x9400201d, 0x95002022, 0x85002026, - 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, - 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, - 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, - 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, - }, -} - -// Windows1250 is the Windows 1250 encoding. -var Windows1250 encoding.Encoding = &windows1250 - -var windows1250 = charmap{ - name: "Windows 1250", - mib: identifier.Windows1250, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xa4, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc5, 0xb9, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0xa5, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xba, 0x00}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}}, - {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}}, - {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc4, 0xbd, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}}, - {2, [3]byte{0xc4, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}}, - {2, [3]byte{0xc5, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xb9, 0x00}}, - {2, [3]byte{0xc4, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc4, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc4, 0x8e, 0x00}}, - {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}}, - {2, [3]byte{0xc5, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x90, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc5, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xae, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xb0, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc5, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc5, 0x95, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xba, 0x00}}, - {2, [3]byte{0xc4, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc4, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc4, 0x8f, 0x00}}, - {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}}, - {2, [3]byte{0xc5, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc5, 0x99, 0x00}}, {2, [3]byte{0xc5, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc5, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}}, - {2, [3]byte{0xc5, 0xa3, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0xa80000a8, 0xa90000a9, 0xab0000ab, 0xac0000ac, - 0xad0000ad, 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, - 0xb80000b8, 0xbb0000bb, 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc70000c7, 0xc90000c9, 0xcb0000cb, - 0xcd0000cd, 0xce0000ce, 0xd30000d3, 0xd40000d4, 0xd60000d6, 0xd70000d7, 0xda0000da, 0xdc0000dc, - 0xdd0000dd, 0xdf0000df, 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe70000e7, 0xe90000e9, 0xeb0000eb, - 0xed0000ed, 0xee0000ee, 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf70000f7, 0xfa0000fa, 0xfc0000fc, - 0xfd0000fd, 0xc3000102, 0xe3000103, 0xa5000104, 0xb9000105, 0xc6000106, 0xe6000107, 0xc800010c, - 0xe800010d, 0xcf00010e, 0xef00010f, 0xd0000110, 0xf0000111, 0xca000118, 0xea000119, 0xcc00011a, - 0xec00011b, 0xc5000139, 0xe500013a, 0xbc00013d, 0xbe00013e, 0xa3000141, 0xb3000142, 0xd1000143, - 0xf1000144, 0xd2000147, 0xf2000148, 0xd5000150, 0xf5000151, 0xc0000154, 0xe0000155, 0xd8000158, - 0xf8000159, 0x8c00015a, 0x9c00015b, 0xaa00015e, 0xba00015f, 0x8a000160, 0x9a000161, 0xde000162, - 0xfe000163, 0x8d000164, 0x9d000165, 0xd900016e, 0xf900016f, 0xdb000170, 0xfb000171, 0x8f000179, - 0x9f00017a, 0xaf00017b, 0xbf00017c, 0x8e00017d, 0x9e00017e, 0xa10002c7, 0xa20002d8, 0xff0002d9, - 0xb20002db, 0xbd0002dd, 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, - 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, - 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// Windows1251 is the Windows 1251 encoding. -var Windows1251 encoding.Encoding = &windows1251 - -var windows1251 = charmap{ - name: "Windows 1251", - mib: identifier.Windows1251, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {2, [3]byte{0xd0, 0x82, 0x00}}, {2, [3]byte{0xd0, 0x83, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xd1, 0x93, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {2, [3]byte{0xd0, 0x89, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {2, [3]byte{0xd0, 0x8a, 0x00}}, {2, [3]byte{0xd0, 0x8c, 0x00}}, - {2, [3]byte{0xd0, 0x8b, 0x00}}, {2, [3]byte{0xd0, 0x8f, 0x00}}, - {2, [3]byte{0xd1, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {2, [3]byte{0xd1, 0x99, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {2, [3]byte{0xd1, 0x9a, 0x00}}, {2, [3]byte{0xd1, 0x9c, 0x00}}, - {2, [3]byte{0xd1, 0x9b, 0x00}}, {2, [3]byte{0xd1, 0x9f, 0x00}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0x8e, 0x00}}, - {2, [3]byte{0xd1, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x88, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xd2, 0x90, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xd0, 0x81, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xd0, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x96, 0x00}}, - {2, [3]byte{0xd2, 0x91, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xd1, 0x91, 0x00}}, {3, [3]byte{0xe2, 0x84, 0x96}}, - {2, [3]byte{0xd1, 0x94, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}}, - {2, [3]byte{0xd1, 0x95, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}}, - {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}}, - {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}}, - {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}}, - {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}}, - {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}}, - {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}}, - {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}}, - {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}}, - {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}}, - {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}}, - {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}}, - {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}}, - {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}}, - {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}}, - {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}}, - {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}}, - {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}}, - {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}}, - {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}}, - {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}}, - {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}}, - {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}}, - {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}}, - {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}}, - {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}}, - {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}}, - {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}}, - {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}}, - {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}}, - {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}}, - {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, - 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xbb0000bb, 0xa8000401, - 0x80000402, 0x81000403, 0xaa000404, 0xbd000405, 0xb2000406, 0xaf000407, 0xa3000408, 0x8a000409, - 0x8c00040a, 0x8e00040b, 0x8d00040c, 0xa100040e, 0x8f00040f, 0xc0000410, 0xc1000411, 0xc2000412, - 0xc3000413, 0xc4000414, 0xc5000415, 0xc6000416, 0xc7000417, 0xc8000418, 0xc9000419, 0xca00041a, - 0xcb00041b, 0xcc00041c, 0xcd00041d, 0xce00041e, 0xcf00041f, 0xd0000420, 0xd1000421, 0xd2000422, - 0xd3000423, 0xd4000424, 0xd5000425, 0xd6000426, 0xd7000427, 0xd8000428, 0xd9000429, 0xda00042a, - 0xdb00042b, 0xdc00042c, 0xdd00042d, 0xde00042e, 0xdf00042f, 0xe0000430, 0xe1000431, 0xe2000432, - 0xe3000433, 0xe4000434, 0xe5000435, 0xe6000436, 0xe7000437, 0xe8000438, 0xe9000439, 0xea00043a, - 0xeb00043b, 0xec00043c, 0xed00043d, 0xee00043e, 0xef00043f, 0xf0000440, 0xf1000441, 0xf2000442, - 0xf3000443, 0xf4000444, 0xf5000445, 0xf6000446, 0xf7000447, 0xf8000448, 0xf9000449, 0xfa00044a, - 0xfb00044b, 0xfc00044c, 0xfd00044d, 0xfe00044e, 0xff00044f, 0xb8000451, 0x90000452, 0x83000453, - 0xba000454, 0xbe000455, 0xb3000456, 0xbf000457, 0xbc000458, 0x9a000459, 0x9c00045a, 0x9e00045b, - 0x9d00045c, 0xa200045e, 0x9f00045f, 0xa5000490, 0xb4000491, 0x96002013, 0x97002014, 0x91002018, - 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, - 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x880020ac, 0xb9002116, 0x99002122, 0x99002122, - }, -} - -// Windows1252 is the Windows 1252 encoding. -var Windows1252 encoding.Encoding = &windows1252 - -var windows1252 = charmap{ - name: "Windows 1252", - mib: identifier.Windows1252, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}}, - {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}}, - {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, - 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, - 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, - 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf, - 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, - 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, - 0xd00000d0, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, - 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df, - 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, - 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, - 0xf00000f0, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7, - 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd, 0xfe0000fe, 0xff0000ff, - 0x8c000152, 0x9c000153, 0x8a000160, 0x9a000161, 0x9f000178, 0x8e00017d, 0x9e00017e, 0x83000192, - 0x880002c6, 0x980002dc, 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, - 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, - 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// Windows1253 is the Windows 1253 encoding. -var Windows1253 encoding.Encoding = &windows1253 - -var windows1253 = charmap{ - name: "Windows 1253", - mib: identifier.Windows1253, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xce, 0x85, 0x00}}, - {2, [3]byte{0xce, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x95}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xce, 0x84, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xce, 0x88, 0x00}}, {2, [3]byte{0xce, 0x89, 0x00}}, - {2, [3]byte{0xce, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xce, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xce, 0x8e, 0x00}}, {2, [3]byte{0xce, 0x8f, 0x00}}, - {2, [3]byte{0xce, 0x90, 0x00}}, {2, [3]byte{0xce, 0x91, 0x00}}, - {2, [3]byte{0xce, 0x92, 0x00}}, {2, [3]byte{0xce, 0x93, 0x00}}, - {2, [3]byte{0xce, 0x94, 0x00}}, {2, [3]byte{0xce, 0x95, 0x00}}, - {2, [3]byte{0xce, 0x96, 0x00}}, {2, [3]byte{0xce, 0x97, 0x00}}, - {2, [3]byte{0xce, 0x98, 0x00}}, {2, [3]byte{0xce, 0x99, 0x00}}, - {2, [3]byte{0xce, 0x9a, 0x00}}, {2, [3]byte{0xce, 0x9b, 0x00}}, - {2, [3]byte{0xce, 0x9c, 0x00}}, {2, [3]byte{0xce, 0x9d, 0x00}}, - {2, [3]byte{0xce, 0x9e, 0x00}}, {2, [3]byte{0xce, 0x9f, 0x00}}, - {2, [3]byte{0xce, 0xa0, 0x00}}, {2, [3]byte{0xce, 0xa1, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xce, 0xa3, 0x00}}, - {2, [3]byte{0xce, 0xa4, 0x00}}, {2, [3]byte{0xce, 0xa5, 0x00}}, - {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0xa7, 0x00}}, - {2, [3]byte{0xce, 0xa8, 0x00}}, {2, [3]byte{0xce, 0xa9, 0x00}}, - {2, [3]byte{0xce, 0xaa, 0x00}}, {2, [3]byte{0xce, 0xab, 0x00}}, - {2, [3]byte{0xce, 0xac, 0x00}}, {2, [3]byte{0xce, 0xad, 0x00}}, - {2, [3]byte{0xce, 0xae, 0x00}}, {2, [3]byte{0xce, 0xaf, 0x00}}, - {2, [3]byte{0xce, 0xb0, 0x00}}, {2, [3]byte{0xce, 0xb1, 0x00}}, - {2, [3]byte{0xce, 0xb2, 0x00}}, {2, [3]byte{0xce, 0xb3, 0x00}}, - {2, [3]byte{0xce, 0xb4, 0x00}}, {2, [3]byte{0xce, 0xb5, 0x00}}, - {2, [3]byte{0xce, 0xb6, 0x00}}, {2, [3]byte{0xce, 0xb7, 0x00}}, - {2, [3]byte{0xce, 0xb8, 0x00}}, {2, [3]byte{0xce, 0xb9, 0x00}}, - {2, [3]byte{0xce, 0xba, 0x00}}, {2, [3]byte{0xce, 0xbb, 0x00}}, - {2, [3]byte{0xce, 0xbc, 0x00}}, {2, [3]byte{0xce, 0xbd, 0x00}}, - {2, [3]byte{0xce, 0xbe, 0x00}}, {2, [3]byte{0xce, 0xbf, 0x00}}, - {2, [3]byte{0xcf, 0x80, 0x00}}, {2, [3]byte{0xcf, 0x81, 0x00}}, - {2, [3]byte{0xcf, 0x82, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}}, - {2, [3]byte{0xcf, 0x84, 0x00}}, {2, [3]byte{0xcf, 0x85, 0x00}}, - {2, [3]byte{0xcf, 0x86, 0x00}}, {2, [3]byte{0xcf, 0x87, 0x00}}, - {2, [3]byte{0xcf, 0x88, 0x00}}, {2, [3]byte{0xcf, 0x89, 0x00}}, - {2, [3]byte{0xcf, 0x8a, 0x00}}, {2, [3]byte{0xcf, 0x8b, 0x00}}, - {2, [3]byte{0xcf, 0x8c, 0x00}}, {2, [3]byte{0xcf, 0x8d, 0x00}}, - {2, [3]byte{0xcf, 0x8e, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8, 0xa90000a9, - 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, - 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xbb0000bb, 0xbd0000bd, 0x83000192, 0xb4000384, 0xa1000385, - 0xa2000386, 0xb8000388, 0xb9000389, 0xba00038a, 0xbc00038c, 0xbe00038e, 0xbf00038f, 0xc0000390, - 0xc1000391, 0xc2000392, 0xc3000393, 0xc4000394, 0xc5000395, 0xc6000396, 0xc7000397, 0xc8000398, - 0xc9000399, 0xca00039a, 0xcb00039b, 0xcc00039c, 0xcd00039d, 0xce00039e, 0xcf00039f, 0xd00003a0, - 0xd10003a1, 0xd30003a3, 0xd40003a4, 0xd50003a5, 0xd60003a6, 0xd70003a7, 0xd80003a8, 0xd90003a9, - 0xda0003aa, 0xdb0003ab, 0xdc0003ac, 0xdd0003ad, 0xde0003ae, 0xdf0003af, 0xe00003b0, 0xe10003b1, - 0xe20003b2, 0xe30003b3, 0xe40003b4, 0xe50003b5, 0xe60003b6, 0xe70003b7, 0xe80003b8, 0xe90003b9, - 0xea0003ba, 0xeb0003bb, 0xec0003bc, 0xed0003bd, 0xee0003be, 0xef0003bf, 0xf00003c0, 0xf10003c1, - 0xf20003c2, 0xf30003c3, 0xf40003c4, 0xf50003c5, 0xf60003c6, 0xf70003c7, 0xf80003c8, 0xf90003c9, - 0xfa0003ca, 0xfb0003cb, 0xfc0003cc, 0xfd0003cd, 0xfe0003ce, 0x96002013, 0x97002014, 0xaf002015, - 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, - 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// Windows1254 is the Windows 1254 encoding. -var Windows1254 encoding.Encoding = &windows1254 - -var windows1254 = charmap{ - name: "Windows 1254", - mib: identifier.Windows1254, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc4, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc4, 0xb0, 0x00}}, - {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}}, - {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}}, - {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, - 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, - 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, - 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf, - 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, - 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, - 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xd80000d8, - 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, - 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea, - 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3, - 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, - 0xfc0000fc, 0xff0000ff, 0xd000011e, 0xf000011f, 0xdd000130, 0xfd000131, 0x8c000152, 0x9c000153, - 0xde00015e, 0xfe00015f, 0x8a000160, 0x9a000161, 0x9f000178, 0x83000192, 0x880002c6, 0x980002dc, - 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, - 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x800020ac, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// Windows1255 is the Windows 1255 encoding. -var Windows1255 encoding.Encoding = &windows1255 - -var windows1255 = charmap{ - name: "Windows 1255", - mib: identifier.Windows1255, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xaa}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}}, - {2, [3]byte{0xd6, 0xb0, 0x00}}, {2, [3]byte{0xd6, 0xb1, 0x00}}, - {2, [3]byte{0xd6, 0xb2, 0x00}}, {2, [3]byte{0xd6, 0xb3, 0x00}}, - {2, [3]byte{0xd6, 0xb4, 0x00}}, {2, [3]byte{0xd6, 0xb5, 0x00}}, - {2, [3]byte{0xd6, 0xb6, 0x00}}, {2, [3]byte{0xd6, 0xb7, 0x00}}, - {2, [3]byte{0xd6, 0xb8, 0x00}}, {2, [3]byte{0xd6, 0xb9, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd6, 0xbb, 0x00}}, - {2, [3]byte{0xd6, 0xbc, 0x00}}, {2, [3]byte{0xd6, 0xbd, 0x00}}, - {2, [3]byte{0xd6, 0xbe, 0x00}}, {2, [3]byte{0xd6, 0xbf, 0x00}}, - {2, [3]byte{0xd7, 0x80, 0x00}}, {2, [3]byte{0xd7, 0x81, 0x00}}, - {2, [3]byte{0xd7, 0x82, 0x00}}, {2, [3]byte{0xd7, 0x83, 0x00}}, - {2, [3]byte{0xd7, 0xb0, 0x00}}, {2, [3]byte{0xd7, 0xb1, 0x00}}, - {2, [3]byte{0xd7, 0xb2, 0x00}}, {2, [3]byte{0xd7, 0xb3, 0x00}}, - {2, [3]byte{0xd7, 0xb4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xd7, 0x90, 0x00}}, {2, [3]byte{0xd7, 0x91, 0x00}}, - {2, [3]byte{0xd7, 0x92, 0x00}}, {2, [3]byte{0xd7, 0x93, 0x00}}, - {2, [3]byte{0xd7, 0x94, 0x00}}, {2, [3]byte{0xd7, 0x95, 0x00}}, - {2, [3]byte{0xd7, 0x96, 0x00}}, {2, [3]byte{0xd7, 0x97, 0x00}}, - {2, [3]byte{0xd7, 0x98, 0x00}}, {2, [3]byte{0xd7, 0x99, 0x00}}, - {2, [3]byte{0xd7, 0x9a, 0x00}}, {2, [3]byte{0xd7, 0x9b, 0x00}}, - {2, [3]byte{0xd7, 0x9c, 0x00}}, {2, [3]byte{0xd7, 0x9d, 0x00}}, - {2, [3]byte{0xd7, 0x9e, 0x00}}, {2, [3]byte{0xd7, 0x9f, 0x00}}, - {2, [3]byte{0xd7, 0xa0, 0x00}}, {2, [3]byte{0xd7, 0xa1, 0x00}}, - {2, [3]byte{0xd7, 0xa2, 0x00}}, {2, [3]byte{0xd7, 0xa3, 0x00}}, - {2, [3]byte{0xd7, 0xa4, 0x00}}, {2, [3]byte{0xd7, 0xa5, 0x00}}, - {2, [3]byte{0xd7, 0xa6, 0x00}}, {2, [3]byte{0xd7, 0xa7, 0x00}}, - {2, [3]byte{0xd7, 0xa8, 0x00}}, {2, [3]byte{0xd7, 0xa9, 0x00}}, - {2, [3]byte{0xd7, 0xaa, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x8e}}, - {3, [3]byte{0xe2, 0x80, 0x8f}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8, - 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1, - 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9, - 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf, 0xaa0000d7, 0xba0000f7, 0x83000192, - 0x880002c6, 0x980002dc, 0xc00005b0, 0xc10005b1, 0xc20005b2, 0xc30005b3, 0xc40005b4, 0xc50005b5, - 0xc60005b6, 0xc70005b7, 0xc80005b8, 0xc90005b9, 0xcb0005bb, 0xcc0005bc, 0xcd0005bd, 0xce0005be, - 0xcf0005bf, 0xd00005c0, 0xd10005c1, 0xd20005c2, 0xd30005c3, 0xe00005d0, 0xe10005d1, 0xe20005d2, - 0xe30005d3, 0xe40005d4, 0xe50005d5, 0xe60005d6, 0xe70005d7, 0xe80005d8, 0xe90005d9, 0xea0005da, - 0xeb0005db, 0xec0005dc, 0xed0005dd, 0xee0005de, 0xef0005df, 0xf00005e0, 0xf10005e1, 0xf20005e2, - 0xf30005e3, 0xf40005e4, 0xf50005e5, 0xf60005e6, 0xf70005e7, 0xf80005e8, 0xf90005e9, 0xfa0005ea, - 0xd40005f0, 0xd50005f1, 0xd60005f2, 0xd70005f3, 0xd80005f4, 0xfd00200e, 0xfe00200f, 0x96002013, - 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, - 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0xa40020aa, 0x800020ac, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// Windows1256 is the Windows 1256 encoding. -var Windows1256 encoding.Encoding = &windows1256 - -var windows1256 = charmap{ - name: "Windows 1256", - mib: identifier.Windows1256, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {2, [3]byte{0xd9, 0xbe, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {2, [3]byte{0xd9, 0xb9, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xda, 0x86, 0x00}}, - {2, [3]byte{0xda, 0x98, 0x00}}, {2, [3]byte{0xda, 0x88, 0x00}}, - {2, [3]byte{0xda, 0xaf, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {2, [3]byte{0xda, 0xa9, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {2, [3]byte{0xda, 0x91, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x8c}}, - {3, [3]byte{0xe2, 0x80, 0x8d}}, {2, [3]byte{0xda, 0xba, 0x00}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd8, 0x8c, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xda, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xd8, 0x9b, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xd8, 0x9f, 0x00}}, - {2, [3]byte{0xdb, 0x81, 0x00}}, {2, [3]byte{0xd8, 0xa1, 0x00}}, - {2, [3]byte{0xd8, 0xa2, 0x00}}, {2, [3]byte{0xd8, 0xa3, 0x00}}, - {2, [3]byte{0xd8, 0xa4, 0x00}}, {2, [3]byte{0xd8, 0xa5, 0x00}}, - {2, [3]byte{0xd8, 0xa6, 0x00}}, {2, [3]byte{0xd8, 0xa7, 0x00}}, - {2, [3]byte{0xd8, 0xa8, 0x00}}, {2, [3]byte{0xd8, 0xa9, 0x00}}, - {2, [3]byte{0xd8, 0xaa, 0x00}}, {2, [3]byte{0xd8, 0xab, 0x00}}, - {2, [3]byte{0xd8, 0xac, 0x00}}, {2, [3]byte{0xd8, 0xad, 0x00}}, - {2, [3]byte{0xd8, 0xae, 0x00}}, {2, [3]byte{0xd8, 0xaf, 0x00}}, - {2, [3]byte{0xd8, 0xb0, 0x00}}, {2, [3]byte{0xd8, 0xb1, 0x00}}, - {2, [3]byte{0xd8, 0xb2, 0x00}}, {2, [3]byte{0xd8, 0xb3, 0x00}}, - {2, [3]byte{0xd8, 0xb4, 0x00}}, {2, [3]byte{0xd8, 0xb5, 0x00}}, - {2, [3]byte{0xd8, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xd8, 0xb7, 0x00}}, {2, [3]byte{0xd8, 0xb8, 0x00}}, - {2, [3]byte{0xd8, 0xb9, 0x00}}, {2, [3]byte{0xd8, 0xba, 0x00}}, - {2, [3]byte{0xd9, 0x80, 0x00}}, {2, [3]byte{0xd9, 0x81, 0x00}}, - {2, [3]byte{0xd9, 0x82, 0x00}}, {2, [3]byte{0xd9, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xd9, 0x84, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xd9, 0x85, 0x00}}, - {2, [3]byte{0xd9, 0x86, 0x00}}, {2, [3]byte{0xd9, 0x87, 0x00}}, - {2, [3]byte{0xd9, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xd9, 0x89, 0x00}}, {2, [3]byte{0xd9, 0x8a, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xd9, 0x8b, 0x00}}, {2, [3]byte{0xd9, 0x8c, 0x00}}, - {2, [3]byte{0xd9, 0x8d, 0x00}}, {2, [3]byte{0xd9, 0x8e, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xd9, 0x8f, 0x00}}, - {2, [3]byte{0xd9, 0x90, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xd9, 0x91, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xd9, 0x92, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x8e}}, - {3, [3]byte{0xe2, 0x80, 0x8f}}, {2, [3]byte{0xdb, 0x92, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8, - 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1, - 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9, - 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xd70000d7, 0xe00000e0, 0xe20000e2, 0xe70000e7, - 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xee0000ee, 0xef0000ef, 0xf40000f4, 0xf70000f7, - 0xf90000f9, 0xfb0000fb, 0xfc0000fc, 0x8c000152, 0x9c000153, 0x83000192, 0x880002c6, 0xa100060c, - 0xba00061b, 0xbf00061f, 0xc1000621, 0xc2000622, 0xc3000623, 0xc4000624, 0xc5000625, 0xc6000626, - 0xc7000627, 0xc8000628, 0xc9000629, 0xca00062a, 0xcb00062b, 0xcc00062c, 0xcd00062d, 0xce00062e, - 0xcf00062f, 0xd0000630, 0xd1000631, 0xd2000632, 0xd3000633, 0xd4000634, 0xd5000635, 0xd6000636, - 0xd8000637, 0xd9000638, 0xda000639, 0xdb00063a, 0xdc000640, 0xdd000641, 0xde000642, 0xdf000643, - 0xe1000644, 0xe3000645, 0xe4000646, 0xe5000647, 0xe6000648, 0xec000649, 0xed00064a, 0xf000064b, - 0xf100064c, 0xf200064d, 0xf300064e, 0xf500064f, 0xf6000650, 0xf8000651, 0xfa000652, 0x8a000679, - 0x8100067e, 0x8d000686, 0x8f000688, 0x9a000691, 0x8e000698, 0x980006a9, 0x900006af, 0x9f0006ba, - 0xaa0006be, 0xc00006c1, 0xff0006d2, 0x9d00200c, 0x9e00200d, 0xfd00200e, 0xfe00200f, 0x96002013, - 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, - 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x800020ac, 0x99002122, - }, -} - -// Windows1257 is the Windows 1257 encoding. -var Windows1257 encoding.Encoding = &windows1257 - -var windows1257 = charmap{ - name: "Windows 1257", - mib: identifier.Windows1257, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc2, 0xa8, 0x00}}, - {2, [3]byte{0xcb, 0x87, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xcb, 0x9b, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc5, 0x96, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc3, 0x86, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc5, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}}, - {2, [3]byte{0xc4, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}}, - {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc4, 0x92, 0x00}}, - {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc4, 0x96, 0x00}}, - {2, [3]byte{0xc4, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0xb6, 0x00}}, - {2, [3]byte{0xc4, 0xaa, 0x00}}, {2, [3]byte{0xc4, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}}, - {2, [3]byte{0xc5, 0x85, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc5, 0xb2, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}}, - {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xaa, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}}, - {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc4, 0x85, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc4, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc4, 0x93, 0x00}}, - {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xc4, 0x97, 0x00}}, - {2, [3]byte{0xc4, 0xa3, 0x00}}, {2, [3]byte{0xc4, 0xb7, 0x00}}, - {2, [3]byte{0xc4, 0xab, 0x00}}, {2, [3]byte{0xc4, 0xbc, 0x00}}, - {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}}, - {2, [3]byte{0xc5, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc5, 0xb3, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}}, - {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0xab, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}}, - {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0x8d0000a8, 0xa90000a9, - 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0x9d0000af, 0xb00000b0, 0xb10000b1, 0xb20000b2, - 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0x8f0000b8, 0xb90000b9, 0xbb0000bb, - 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xc40000c4, 0xc50000c5, 0xaf0000c6, 0xc90000c9, 0xd30000d3, - 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xa80000d8, 0xdc0000dc, 0xdf0000df, 0xe40000e4, 0xe50000e5, - 0xbf0000e6, 0xe90000e9, 0xf30000f3, 0xf50000f5, 0xf60000f6, 0xf70000f7, 0xb80000f8, 0xfc0000fc, - 0xc2000100, 0xe2000101, 0xc0000104, 0xe0000105, 0xc3000106, 0xe3000107, 0xc800010c, 0xe800010d, - 0xc7000112, 0xe7000113, 0xcb000116, 0xeb000117, 0xc6000118, 0xe6000119, 0xcc000122, 0xec000123, - 0xce00012a, 0xee00012b, 0xc100012e, 0xe100012f, 0xcd000136, 0xed000137, 0xcf00013b, 0xef00013c, - 0xd9000141, 0xf9000142, 0xd1000143, 0xf1000144, 0xd2000145, 0xf2000146, 0xd400014c, 0xf400014d, - 0xaa000156, 0xba000157, 0xda00015a, 0xfa00015b, 0xd0000160, 0xf0000161, 0xdb00016a, 0xfb00016b, - 0xd8000172, 0xf8000173, 0xca000179, 0xea00017a, 0xdd00017b, 0xfd00017c, 0xde00017d, 0xfe00017e, - 0x8e0002c7, 0xff0002d9, 0x9e0002db, 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, - 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, - 0x8b002039, 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// Windows1258 is the Windows 1258 encoding. -var Windows1258 encoding.Encoding = &windows1258 - -var windows1258 = charmap{ - name: "Windows 1258", - mib: identifier.Windows1258, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}}, - {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}}, - {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}}, - {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}}, - {2, [3]byte{0xc5, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}}, - {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}}, - {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}}, - {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}}, - {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}}, - {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}}, - {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xb8, 0x00}}, - {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}}, - {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}}, - {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}}, - {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}}, - {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}}, - {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}}, - {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}}, - {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}}, - {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}}, - {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}}, - {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}}, - {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}}, - {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}}, - {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}}, - {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}}, - {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}}, - {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}}, - {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}}, - {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}}, - {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}}, - {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}}, - {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}}, - {2, [3]byte{0xcc, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}}, - {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}}, - {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}}, - {2, [3]byte{0xcc, 0x89, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}}, - {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc6, 0xa0, 0x00}}, - {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}}, - {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}}, - {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}}, - {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc6, 0xaf, 0x00}}, - {2, [3]byte{0xcc, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}}, - {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}}, - {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}}, - {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}}, - {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}}, - {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}}, - {2, [3]byte{0xcc, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}}, - {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}}, - {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}}, - {2, [3]byte{0xcc, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}}, - {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc6, 0xa1, 0x00}}, - {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}}, - {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}}, - {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}}, - {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc6, 0xb0, 0x00}}, - {3, [3]byte{0xe2, 0x82, 0xab}}, {2, [3]byte{0xc3, 0xbf, 0x00}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, - 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, - 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, - 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf, - 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, 0xc80000c8, - 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, 0xd10000d1, 0xd30000d3, - 0xd40000d4, 0xd60000d6, 0xd70000d7, 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, - 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, - 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, - 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, - 0xfc0000fc, 0xff0000ff, 0xc3000102, 0xe3000103, 0xd0000110, 0xf0000111, 0x8c000152, 0x9c000153, - 0x9f000178, 0x83000192, 0xd50001a0, 0xf50001a1, 0xdd0001af, 0xfd0001b0, 0x880002c6, 0x980002dc, - 0xcc000300, 0xec000301, 0xde000303, 0xd2000309, 0xf2000323, 0x96002013, 0x97002014, 0x91002018, - 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, - 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0xfe0020ab, 0x800020ac, 0x99002122, 0x99002122, - 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, - }, -} - -// XUserDefined is the X-User-Defined encoding. -// -// It is defined at http://encoding.spec.whatwg.org/#x-user-defined -var XUserDefined encoding.Encoding = &xUserDefined - -var xUserDefined = charmap{ - name: "X-User-Defined", - mib: identifier.XUserDefined, - asciiSuperset: true, - low: 0x80, - replacement: 0x1a, - decode: [256]utf8Enc{ - {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}}, - {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}}, - {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}}, - {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}}, - {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}}, - {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}}, - {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}}, - {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}}, - {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}}, - {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}}, - {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}}, - {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}}, - {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}}, - {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}}, - {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}}, - {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}}, - {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}}, - {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}}, - {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}}, - {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}}, - {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}}, - {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}}, - {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}}, - {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}}, - {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}}, - {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}}, - {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}}, - {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}}, - {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}}, - {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}}, - {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}}, - {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}}, - {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}}, - {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}}, - {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}}, - {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}}, - {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}}, - {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}}, - {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}}, - {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}}, - {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}}, - {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}}, - {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}}, - {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}}, - {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}}, - {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}}, - {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}}, - {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}}, - {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}}, - {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}}, - {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}}, - {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}}, - {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}}, - {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}}, - {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}}, - {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}}, - {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}}, - {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}}, - {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}}, - {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}}, - {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}}, - {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}}, - {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}}, - {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}}, - {3, [3]byte{0xef, 0x9e, 0x80}}, {3, [3]byte{0xef, 0x9e, 0x81}}, - {3, [3]byte{0xef, 0x9e, 0x82}}, {3, [3]byte{0xef, 0x9e, 0x83}}, - {3, [3]byte{0xef, 0x9e, 0x84}}, {3, [3]byte{0xef, 0x9e, 0x85}}, - {3, [3]byte{0xef, 0x9e, 0x86}}, {3, [3]byte{0xef, 0x9e, 0x87}}, - {3, [3]byte{0xef, 0x9e, 0x88}}, {3, [3]byte{0xef, 0x9e, 0x89}}, - {3, [3]byte{0xef, 0x9e, 0x8a}}, {3, [3]byte{0xef, 0x9e, 0x8b}}, - {3, [3]byte{0xef, 0x9e, 0x8c}}, {3, [3]byte{0xef, 0x9e, 0x8d}}, - {3, [3]byte{0xef, 0x9e, 0x8e}}, {3, [3]byte{0xef, 0x9e, 0x8f}}, - {3, [3]byte{0xef, 0x9e, 0x90}}, {3, [3]byte{0xef, 0x9e, 0x91}}, - {3, [3]byte{0xef, 0x9e, 0x92}}, {3, [3]byte{0xef, 0x9e, 0x93}}, - {3, [3]byte{0xef, 0x9e, 0x94}}, {3, [3]byte{0xef, 0x9e, 0x95}}, - {3, [3]byte{0xef, 0x9e, 0x96}}, {3, [3]byte{0xef, 0x9e, 0x97}}, - {3, [3]byte{0xef, 0x9e, 0x98}}, {3, [3]byte{0xef, 0x9e, 0x99}}, - {3, [3]byte{0xef, 0x9e, 0x9a}}, {3, [3]byte{0xef, 0x9e, 0x9b}}, - {3, [3]byte{0xef, 0x9e, 0x9c}}, {3, [3]byte{0xef, 0x9e, 0x9d}}, - {3, [3]byte{0xef, 0x9e, 0x9e}}, {3, [3]byte{0xef, 0x9e, 0x9f}}, - {3, [3]byte{0xef, 0x9e, 0xa0}}, {3, [3]byte{0xef, 0x9e, 0xa1}}, - {3, [3]byte{0xef, 0x9e, 0xa2}}, {3, [3]byte{0xef, 0x9e, 0xa3}}, - {3, [3]byte{0xef, 0x9e, 0xa4}}, {3, [3]byte{0xef, 0x9e, 0xa5}}, - {3, [3]byte{0xef, 0x9e, 0xa6}}, {3, [3]byte{0xef, 0x9e, 0xa7}}, - {3, [3]byte{0xef, 0x9e, 0xa8}}, {3, [3]byte{0xef, 0x9e, 0xa9}}, - {3, [3]byte{0xef, 0x9e, 0xaa}}, {3, [3]byte{0xef, 0x9e, 0xab}}, - {3, [3]byte{0xef, 0x9e, 0xac}}, {3, [3]byte{0xef, 0x9e, 0xad}}, - {3, [3]byte{0xef, 0x9e, 0xae}}, {3, [3]byte{0xef, 0x9e, 0xaf}}, - {3, [3]byte{0xef, 0x9e, 0xb0}}, {3, [3]byte{0xef, 0x9e, 0xb1}}, - {3, [3]byte{0xef, 0x9e, 0xb2}}, {3, [3]byte{0xef, 0x9e, 0xb3}}, - {3, [3]byte{0xef, 0x9e, 0xb4}}, {3, [3]byte{0xef, 0x9e, 0xb5}}, - {3, [3]byte{0xef, 0x9e, 0xb6}}, {3, [3]byte{0xef, 0x9e, 0xb7}}, - {3, [3]byte{0xef, 0x9e, 0xb8}}, {3, [3]byte{0xef, 0x9e, 0xb9}}, - {3, [3]byte{0xef, 0x9e, 0xba}}, {3, [3]byte{0xef, 0x9e, 0xbb}}, - {3, [3]byte{0xef, 0x9e, 0xbc}}, {3, [3]byte{0xef, 0x9e, 0xbd}}, - {3, [3]byte{0xef, 0x9e, 0xbe}}, {3, [3]byte{0xef, 0x9e, 0xbf}}, - {3, [3]byte{0xef, 0x9f, 0x80}}, {3, [3]byte{0xef, 0x9f, 0x81}}, - {3, [3]byte{0xef, 0x9f, 0x82}}, {3, [3]byte{0xef, 0x9f, 0x83}}, - {3, [3]byte{0xef, 0x9f, 0x84}}, {3, [3]byte{0xef, 0x9f, 0x85}}, - {3, [3]byte{0xef, 0x9f, 0x86}}, {3, [3]byte{0xef, 0x9f, 0x87}}, - {3, [3]byte{0xef, 0x9f, 0x88}}, {3, [3]byte{0xef, 0x9f, 0x89}}, - {3, [3]byte{0xef, 0x9f, 0x8a}}, {3, [3]byte{0xef, 0x9f, 0x8b}}, - {3, [3]byte{0xef, 0x9f, 0x8c}}, {3, [3]byte{0xef, 0x9f, 0x8d}}, - {3, [3]byte{0xef, 0x9f, 0x8e}}, {3, [3]byte{0xef, 0x9f, 0x8f}}, - {3, [3]byte{0xef, 0x9f, 0x90}}, {3, [3]byte{0xef, 0x9f, 0x91}}, - {3, [3]byte{0xef, 0x9f, 0x92}}, {3, [3]byte{0xef, 0x9f, 0x93}}, - {3, [3]byte{0xef, 0x9f, 0x94}}, {3, [3]byte{0xef, 0x9f, 0x95}}, - {3, [3]byte{0xef, 0x9f, 0x96}}, {3, [3]byte{0xef, 0x9f, 0x97}}, - {3, [3]byte{0xef, 0x9f, 0x98}}, {3, [3]byte{0xef, 0x9f, 0x99}}, - {3, [3]byte{0xef, 0x9f, 0x9a}}, {3, [3]byte{0xef, 0x9f, 0x9b}}, - {3, [3]byte{0xef, 0x9f, 0x9c}}, {3, [3]byte{0xef, 0x9f, 0x9d}}, - {3, [3]byte{0xef, 0x9f, 0x9e}}, {3, [3]byte{0xef, 0x9f, 0x9f}}, - {3, [3]byte{0xef, 0x9f, 0xa0}}, {3, [3]byte{0xef, 0x9f, 0xa1}}, - {3, [3]byte{0xef, 0x9f, 0xa2}}, {3, [3]byte{0xef, 0x9f, 0xa3}}, - {3, [3]byte{0xef, 0x9f, 0xa4}}, {3, [3]byte{0xef, 0x9f, 0xa5}}, - {3, [3]byte{0xef, 0x9f, 0xa6}}, {3, [3]byte{0xef, 0x9f, 0xa7}}, - {3, [3]byte{0xef, 0x9f, 0xa8}}, {3, [3]byte{0xef, 0x9f, 0xa9}}, - {3, [3]byte{0xef, 0x9f, 0xaa}}, {3, [3]byte{0xef, 0x9f, 0xab}}, - {3, [3]byte{0xef, 0x9f, 0xac}}, {3, [3]byte{0xef, 0x9f, 0xad}}, - {3, [3]byte{0xef, 0x9f, 0xae}}, {3, [3]byte{0xef, 0x9f, 0xaf}}, - {3, [3]byte{0xef, 0x9f, 0xb0}}, {3, [3]byte{0xef, 0x9f, 0xb1}}, - {3, [3]byte{0xef, 0x9f, 0xb2}}, {3, [3]byte{0xef, 0x9f, 0xb3}}, - {3, [3]byte{0xef, 0x9f, 0xb4}}, {3, [3]byte{0xef, 0x9f, 0xb5}}, - {3, [3]byte{0xef, 0x9f, 0xb6}}, {3, [3]byte{0xef, 0x9f, 0xb7}}, - {3, [3]byte{0xef, 0x9f, 0xb8}}, {3, [3]byte{0xef, 0x9f, 0xb9}}, - {3, [3]byte{0xef, 0x9f, 0xba}}, {3, [3]byte{0xef, 0x9f, 0xbb}}, - {3, [3]byte{0xef, 0x9f, 0xbc}}, {3, [3]byte{0xef, 0x9f, 0xbd}}, - {3, [3]byte{0xef, 0x9f, 0xbe}}, {3, [3]byte{0xef, 0x9f, 0xbf}}, - }, - encode: [256]uint32{ - 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007, - 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f, - 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017, - 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f, - 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027, - 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f, - 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037, - 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f, - 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047, - 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f, - 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057, - 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f, - 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067, - 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f, - 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077, - 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f, - 0x8000f780, 0x8100f781, 0x8200f782, 0x8300f783, 0x8400f784, 0x8500f785, 0x8600f786, 0x8700f787, - 0x8800f788, 0x8900f789, 0x8a00f78a, 0x8b00f78b, 0x8c00f78c, 0x8d00f78d, 0x8e00f78e, 0x8f00f78f, - 0x9000f790, 0x9100f791, 0x9200f792, 0x9300f793, 0x9400f794, 0x9500f795, 0x9600f796, 0x9700f797, - 0x9800f798, 0x9900f799, 0x9a00f79a, 0x9b00f79b, 0x9c00f79c, 0x9d00f79d, 0x9e00f79e, 0x9f00f79f, - 0xa000f7a0, 0xa100f7a1, 0xa200f7a2, 0xa300f7a3, 0xa400f7a4, 0xa500f7a5, 0xa600f7a6, 0xa700f7a7, - 0xa800f7a8, 0xa900f7a9, 0xaa00f7aa, 0xab00f7ab, 0xac00f7ac, 0xad00f7ad, 0xae00f7ae, 0xaf00f7af, - 0xb000f7b0, 0xb100f7b1, 0xb200f7b2, 0xb300f7b3, 0xb400f7b4, 0xb500f7b5, 0xb600f7b6, 0xb700f7b7, - 0xb800f7b8, 0xb900f7b9, 0xba00f7ba, 0xbb00f7bb, 0xbc00f7bc, 0xbd00f7bd, 0xbe00f7be, 0xbf00f7bf, - 0xc000f7c0, 0xc100f7c1, 0xc200f7c2, 0xc300f7c3, 0xc400f7c4, 0xc500f7c5, 0xc600f7c6, 0xc700f7c7, - 0xc800f7c8, 0xc900f7c9, 0xca00f7ca, 0xcb00f7cb, 0xcc00f7cc, 0xcd00f7cd, 0xce00f7ce, 0xcf00f7cf, - 0xd000f7d0, 0xd100f7d1, 0xd200f7d2, 0xd300f7d3, 0xd400f7d4, 0xd500f7d5, 0xd600f7d6, 0xd700f7d7, - 0xd800f7d8, 0xd900f7d9, 0xda00f7da, 0xdb00f7db, 0xdc00f7dc, 0xdd00f7dd, 0xde00f7de, 0xdf00f7df, - 0xe000f7e0, 0xe100f7e1, 0xe200f7e2, 0xe300f7e3, 0xe400f7e4, 0xe500f7e5, 0xe600f7e6, 0xe700f7e7, - 0xe800f7e8, 0xe900f7e9, 0xea00f7ea, 0xeb00f7eb, 0xec00f7ec, 0xed00f7ed, 0xee00f7ee, 0xef00f7ef, - 0xf000f7f0, 0xf100f7f1, 0xf200f7f2, 0xf300f7f3, 0xf400f7f4, 0xf500f7f5, 0xf600f7f6, 0xf700f7f7, - 0xf800f7f8, 0xf900f7f9, 0xfa00f7fa, 0xfb00f7fb, 0xfc00f7fc, 0xfd00f7fd, 0xfe00f7fe, 0xff00f7ff, - }, -} -var listAll = []encoding.Encoding{ - CodePage437, - CodePage850, - CodePage852, - CodePage855, - CodePage858, - CodePage862, - CodePage866, - ISO8859_2, - ISO8859_3, - ISO8859_4, - ISO8859_5, - ISO8859_6, - ISO8859_6E, - ISO8859_6I, - ISO8859_7, - ISO8859_8, - ISO8859_8E, - ISO8859_8I, - ISO8859_10, - ISO8859_13, - ISO8859_14, - ISO8859_15, - ISO8859_16, - KOI8R, - KOI8U, - Macintosh, - MacintoshCyrillic, - Windows874, - Windows1250, - Windows1251, - Windows1252, - Windows1253, - Windows1254, - Windows1255, - Windows1256, - Windows1257, - Windows1258, - XUserDefined, -} - -// Total table size 70448 bytes (68KiB); checksum: 811C9DC5 diff --git a/vendor/golang.org/x/text/encoding/encoding.go b/vendor/golang.org/x/text/encoding/encoding.go deleted file mode 100644 index 47fcd1fb1..000000000 --- a/vendor/golang.org/x/text/encoding/encoding.go +++ /dev/null @@ -1,335 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package encoding defines an interface for character encodings, such as Shift -// JIS and Windows 1252, that can convert to and from UTF-8. -// -// Encoding implementations are provided in other packages, such as -// golang.org/x/text/encoding/charmap and -// golang.org/x/text/encoding/japanese. -package encoding - -import ( - "errors" - "io" - "strconv" - "unicode/utf8" - - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// TODO: -// - There seems to be some inconsistency in when decoders return errors -// and when not. Also documentation seems to suggest they shouldn't return -// errors at all (except for UTF-16). -// - Encoders seem to rely on or at least benefit from the input being in NFC -// normal form. Perhaps add an example how users could prepare their output. - -// Encoding is a character set encoding that can be transformed to and from -// UTF-8. -type Encoding interface { - // NewDecoder returns a Decoder. - NewDecoder() *Decoder - - // NewEncoder returns an Encoder. - NewEncoder() *Encoder -} - -// A Decoder converts bytes to UTF-8. It implements transform.Transformer. -// -// Transforming source bytes that are not of that encoding will not result in an -// error per se. Each byte that cannot be transcoded will be represented in the -// output by the UTF-8 encoding of '\uFFFD', the replacement rune. -type Decoder struct { - transform.Transformer - - // This forces external creators of Decoders to use names in struct - // initializers, allowing for future extendibility without having to break - // code. - _ struct{} -} - -// Bytes converts the given encoded bytes to UTF-8. It returns the converted -// bytes or 0, err if any error occurred. -func (d *Decoder) Bytes(b []byte) ([]byte, error) { - b, _, err := transform.Bytes(d, b) - if err != nil { - return nil, err - } - return b, nil -} - -// String converts the given encoded string to UTF-8. It returns the converted -// string or 0, err if any error occurred. -func (d *Decoder) String(s string) (string, error) { - s, _, err := transform.String(d, s) - if err != nil { - return "", err - } - return s, nil -} - -// Reader wraps another Reader to decode its bytes. -// -// The Decoder may not be used for any other operation as long as the returned -// Reader is in use. -func (d *Decoder) Reader(r io.Reader) io.Reader { - return transform.NewReader(r, d) -} - -// An Encoder converts bytes from UTF-8. It implements transform.Transformer. -// -// Each rune that cannot be transcoded will result in an error. In this case, -// the transform will consume all source byte up to, not including the offending -// rune. Transforming source bytes that are not valid UTF-8 will be replaced by -// `\uFFFD`. To return early with an error instead, use transform.Chain to -// preprocess the data with a UTF8Validator. -type Encoder struct { - transform.Transformer - - // This forces external creators of Encoders to use names in struct - // initializers, allowing for future extendibility without having to break - // code. - _ struct{} -} - -// Bytes converts bytes from UTF-8. It returns the converted bytes or 0, err if -// any error occurred. -func (e *Encoder) Bytes(b []byte) ([]byte, error) { - b, _, err := transform.Bytes(e, b) - if err != nil { - return nil, err - } - return b, nil -} - -// String converts a string from UTF-8. It returns the converted string or -// 0, err if any error occurred. -func (e *Encoder) String(s string) (string, error) { - s, _, err := transform.String(e, s) - if err != nil { - return "", err - } - return s, nil -} - -// Writer wraps another Writer to encode its UTF-8 output. -// -// The Encoder may not be used for any other operation as long as the returned -// Writer is in use. -func (e *Encoder) Writer(w io.Writer) io.Writer { - return transform.NewWriter(w, e) -} - -// ASCIISub is the ASCII substitute character, as recommended by -// http://unicode.org/reports/tr36/#Text_Comparison -const ASCIISub = '\x1a' - -// Nop is the nop encoding. Its transformed bytes are the same as the source -// bytes; it does not replace invalid UTF-8 sequences. -var Nop Encoding = nop{} - -type nop struct{} - -func (nop) NewDecoder() *Decoder { - return &Decoder{Transformer: transform.Nop} -} -func (nop) NewEncoder() *Encoder { - return &Encoder{Transformer: transform.Nop} -} - -// Replacement is the replacement encoding. Decoding from the replacement -// encoding yields a single '\uFFFD' replacement rune. Encoding from UTF-8 to -// the replacement encoding yields the same as the source bytes except that -// invalid UTF-8 is converted to '\uFFFD'. -// -// It is defined at http://encoding.spec.whatwg.org/#replacement -var Replacement Encoding = replacement{} - -type replacement struct{} - -func (replacement) NewDecoder() *Decoder { - return &Decoder{Transformer: replacementDecoder{}} -} - -func (replacement) NewEncoder() *Encoder { - return &Encoder{Transformer: replacementEncoder{}} -} - -func (replacement) ID() (mib identifier.MIB, other string) { - return identifier.Replacement, "" -} - -type replacementDecoder struct{ transform.NopResetter } - -func (replacementDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - if len(dst) < 3 { - return 0, 0, transform.ErrShortDst - } - if atEOF { - const fffd = "\ufffd" - dst[0] = fffd[0] - dst[1] = fffd[1] - dst[2] = fffd[2] - nDst = 3 - } - return nDst, len(src), nil -} - -type replacementEncoder struct{ transform.NopResetter } - -func (replacementEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - r = '\ufffd' - } - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - return nDst, nSrc, err -} - -// HTMLEscapeUnsupported wraps encoders to replace source runes outside the -// repertoire of the destination encoding with HTML escape sequences. -// -// This wrapper exists to comply to URL and HTML forms requiring a -// non-terminating legacy encoder. The produced sequences may lead to data -// loss as they are indistinguishable from legitimate input. To avoid this -// issue, use UTF-8 encodings whenever possible. -func HTMLEscapeUnsupported(e *Encoder) *Encoder { - return &Encoder{Transformer: &errorHandler{e, errorToHTML}} -} - -// ReplaceUnsupported wraps encoders to replace source runes outside the -// repertoire of the destination encoding with an encoding-specific -// replacement. -// -// This wrapper is only provided for backwards compatibility and legacy -// handling. Its use is strongly discouraged. Use UTF-8 whenever possible. -func ReplaceUnsupported(e *Encoder) *Encoder { - return &Encoder{Transformer: &errorHandler{e, errorToReplacement}} -} - -type errorHandler struct { - *Encoder - handler func(dst []byte, r rune, err repertoireError) (n int, ok bool) -} - -// TODO: consider making this error public in some form. -type repertoireError interface { - Replacement() byte -} - -func (h errorHandler) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - nDst, nSrc, err = h.Transformer.Transform(dst, src, atEOF) - for err != nil { - rerr, ok := err.(repertoireError) - if !ok { - return nDst, nSrc, err - } - r, sz := utf8.DecodeRune(src[nSrc:]) - n, ok := h.handler(dst[nDst:], r, rerr) - if !ok { - return nDst, nSrc, transform.ErrShortDst - } - err = nil - nDst += n - if nSrc += sz; nSrc < len(src) { - var dn, sn int - dn, sn, err = h.Transformer.Transform(dst[nDst:], src[nSrc:], atEOF) - nDst += dn - nSrc += sn - } - } - return nDst, nSrc, err -} - -func errorToHTML(dst []byte, r rune, err repertoireError) (n int, ok bool) { - buf := [8]byte{} - b := strconv.AppendUint(buf[:0], uint64(r), 10) - if n = len(b) + len("&#;"); n >= len(dst) { - return 0, false - } - dst[0] = '&' - dst[1] = '#' - dst[copy(dst[2:], b)+2] = ';' - return n, true -} - -func errorToReplacement(dst []byte, r rune, err repertoireError) (n int, ok bool) { - if len(dst) == 0 { - return 0, false - } - dst[0] = err.Replacement() - return 1, true -} - -// ErrInvalidUTF8 means that a transformer encountered invalid UTF-8. -var ErrInvalidUTF8 = errors.New("encoding: invalid UTF-8") - -// UTF8Validator is a transformer that returns ErrInvalidUTF8 on the first -// input byte that is not valid UTF-8. -var UTF8Validator transform.Transformer = utf8Validator{} - -type utf8Validator struct{ transform.NopResetter } - -func (utf8Validator) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - n := len(src) - if n > len(dst) { - n = len(dst) - } - for i := 0; i < n; { - if c := src[i]; c < utf8.RuneSelf { - dst[i] = c - i++ - continue - } - _, size := utf8.DecodeRune(src[i:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - err = ErrInvalidUTF8 - if !atEOF && !utf8.FullRune(src[i:]) { - err = transform.ErrShortSrc - } - return i, i, err - } - if i+size > len(dst) { - return i, i, transform.ErrShortDst - } - for ; size > 0; size-- { - dst[i] = src[i] - i++ - } - } - if len(src) > len(dst) { - err = transform.ErrShortDst - } - return n, n, err -} diff --git a/vendor/golang.org/x/text/encoding/htmlindex/gen.go b/vendor/golang.org/x/text/encoding/htmlindex/gen.go deleted file mode 100644 index d10e5e09f..000000000 --- a/vendor/golang.org/x/text/encoding/htmlindex/gen.go +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -import ( - "bytes" - "encoding/json" - "fmt" - "log" - "strings" - - "golang.org/x/text/internal/gen" -) - -type group struct { - Encodings []struct { - Labels []string - Name string - } -} - -func main() { - gen.Init() - - r := gen.Open("http://www.w3.org/TR", "w3", "encoding/indexes/encodings.json") - var groups []group - if err := json.NewDecoder(r).Decode(&groups); err != nil { - log.Fatalf("Error reading encodings.json: %v", err) - } - - w := &bytes.Buffer{} - fmt.Fprintln(w, "type htmlEncoding byte") - fmt.Fprintln(w, "const (") - for i, g := range groups { - for _, e := range g.Encodings { - name := consts[e.Name] - if name == "" { - log.Fatalf("No const defined for %s.", e.Name) - } - if i == 0 { - fmt.Fprintf(w, "%s htmlEncoding = iota\n", name) - } else { - fmt.Fprintf(w, "%s\n", name) - } - } - } - fmt.Fprintln(w, "numEncodings") - fmt.Fprint(w, ")\n\n") - - fmt.Fprintln(w, "var canonical = [numEncodings]string{") - for _, g := range groups { - for _, e := range g.Encodings { - fmt.Fprintf(w, "%q,\n", e.Name) - } - } - fmt.Fprint(w, "}\n\n") - - fmt.Fprintln(w, "var nameMap = map[string]htmlEncoding{") - for _, g := range groups { - for _, e := range g.Encodings { - for _, l := range e.Labels { - fmt.Fprintf(w, "%q: %s,\n", l, consts[e.Name]) - } - } - } - fmt.Fprint(w, "}\n\n") - - var tags []string - fmt.Fprintln(w, "var localeMap = []htmlEncoding{") - for _, loc := range locales { - tags = append(tags, loc.tag) - fmt.Fprintf(w, "%s, // %s \n", consts[loc.name], loc.tag) - } - fmt.Fprint(w, "}\n\n") - - fmt.Fprintf(w, "const locales = %q\n", strings.Join(tags, " ")) - - gen.WriteGoFile("tables.go", "htmlindex", w.Bytes()) -} - -// consts maps canonical encoding name to internal constant. -var consts = map[string]string{ - "utf-8": "utf8", - "ibm866": "ibm866", - "iso-8859-2": "iso8859_2", - "iso-8859-3": "iso8859_3", - "iso-8859-4": "iso8859_4", - "iso-8859-5": "iso8859_5", - "iso-8859-6": "iso8859_6", - "iso-8859-7": "iso8859_7", - "iso-8859-8": "iso8859_8", - "iso-8859-8-i": "iso8859_8I", - "iso-8859-10": "iso8859_10", - "iso-8859-13": "iso8859_13", - "iso-8859-14": "iso8859_14", - "iso-8859-15": "iso8859_15", - "iso-8859-16": "iso8859_16", - "koi8-r": "koi8r", - "koi8-u": "koi8u", - "macintosh": "macintosh", - "windows-874": "windows874", - "windows-1250": "windows1250", - "windows-1251": "windows1251", - "windows-1252": "windows1252", - "windows-1253": "windows1253", - "windows-1254": "windows1254", - "windows-1255": "windows1255", - "windows-1256": "windows1256", - "windows-1257": "windows1257", - "windows-1258": "windows1258", - "x-mac-cyrillic": "macintoshCyrillic", - "gbk": "gbk", - "gb18030": "gb18030", - // "hz-gb-2312": "hzgb2312", // Was removed from WhatWG - "big5": "big5", - "euc-jp": "eucjp", - "iso-2022-jp": "iso2022jp", - "shift_jis": "shiftJIS", - "euc-kr": "euckr", - "replacement": "replacement", - "utf-16be": "utf16be", - "utf-16le": "utf16le", - "x-user-defined": "xUserDefined", -} - -// locales is taken from -// https://html.spec.whatwg.org/multipage/syntax.html#encoding-sniffing-algorithm. -var locales = []struct{ tag, name string }{ - {"und", "windows-1252"}, // The default value. - {"ar", "windows-1256"}, - {"ba", "windows-1251"}, - {"be", "windows-1251"}, - {"bg", "windows-1251"}, - {"cs", "windows-1250"}, - {"el", "iso-8859-7"}, - {"et", "windows-1257"}, - {"fa", "windows-1256"}, - {"he", "windows-1255"}, - {"hr", "windows-1250"}, - {"hu", "iso-8859-2"}, - {"ja", "shift_jis"}, - {"kk", "windows-1251"}, - {"ko", "euc-kr"}, - {"ku", "windows-1254"}, - {"ky", "windows-1251"}, - {"lt", "windows-1257"}, - {"lv", "windows-1257"}, - {"mk", "windows-1251"}, - {"pl", "iso-8859-2"}, - {"ru", "windows-1251"}, - {"sah", "windows-1251"}, - {"sk", "windows-1250"}, - {"sl", "iso-8859-2"}, - {"sr", "windows-1251"}, - {"tg", "windows-1251"}, - {"th", "windows-874"}, - {"tr", "windows-1254"}, - {"tt", "windows-1251"}, - {"uk", "windows-1251"}, - {"vi", "windows-1258"}, - {"zh-hans", "gb18030"}, - {"zh-hant", "big5"}, -} diff --git a/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go b/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go deleted file mode 100644 index 70f2ac4bc..000000000 --- a/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:generate go run gen.go - -// Package htmlindex maps character set encoding names to Encodings as -// recommended by the W3C for use in HTML 5. See http://www.w3.org/TR/encoding. -package htmlindex - -// TODO: perhaps have a "bare" version of the index (used by this package) that -// is not pre-loaded with all encodings. Global variables in encodings prevent -// the linker from being able to purge unneeded tables. This means that -// referencing all encodings, as this package does for the default index, links -// in all encodings unconditionally. -// -// This issue can be solved by either solving the linking issue (see -// https://github.com/golang/go/issues/6330) or refactoring the encoding tables -// (e.g. moving the tables to internal packages that do not use global -// variables). - -// TODO: allow canonicalizing names - -import ( - "errors" - "strings" - "sync" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/language" -) - -var ( - errInvalidName = errors.New("htmlindex: invalid encoding name") - errUnknown = errors.New("htmlindex: unknown Encoding") - errUnsupported = errors.New("htmlindex: this encoding is not supported") -) - -var ( - matcherOnce sync.Once - matcher language.Matcher -) - -// LanguageDefault returns the canonical name of the default encoding for a -// given language. -func LanguageDefault(tag language.Tag) string { - matcherOnce.Do(func() { - tags := []language.Tag{} - for _, t := range strings.Split(locales, " ") { - tags = append(tags, language.MustParse(t)) - } - matcher = language.NewMatcher(tags) - }) - _, i, _ := matcher.Match(tag) - return canonical[localeMap[i]] // Default is Windows-1252. -} - -// Get returns an Encoding for one of the names listed in -// http://www.w3.org/TR/encoding using the Default Index. Matching is case- -// insensitive. -func Get(name string) (encoding.Encoding, error) { - x, ok := nameMap[strings.ToLower(strings.TrimSpace(name))] - if !ok { - return nil, errInvalidName - } - return encodings[x], nil -} - -// Name reports the canonical name of the given Encoding. It will return -// an error if e is not associated with a supported encoding scheme. -func Name(e encoding.Encoding) (string, error) { - id, ok := e.(identifier.Interface) - if !ok { - return "", errUnknown - } - mib, _ := id.ID() - if mib == 0 { - return "", errUnknown - } - v, ok := mibMap[mib] - if !ok { - return "", errUnsupported - } - return canonical[v], nil -} diff --git a/vendor/golang.org/x/text/encoding/htmlindex/map.go b/vendor/golang.org/x/text/encoding/htmlindex/map.go deleted file mode 100644 index c61439045..000000000 --- a/vendor/golang.org/x/text/encoding/htmlindex/map.go +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package htmlindex - -import ( - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/charmap" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/encoding/japanese" - "golang.org/x/text/encoding/korean" - "golang.org/x/text/encoding/simplifiedchinese" - "golang.org/x/text/encoding/traditionalchinese" - "golang.org/x/text/encoding/unicode" -) - -// mibMap maps a MIB identifier to an htmlEncoding index. -var mibMap = map[identifier.MIB]htmlEncoding{ - identifier.UTF8: utf8, - identifier.UTF16BE: utf16be, - identifier.UTF16LE: utf16le, - identifier.IBM866: ibm866, - identifier.ISOLatin2: iso8859_2, - identifier.ISOLatin3: iso8859_3, - identifier.ISOLatin4: iso8859_4, - identifier.ISOLatinCyrillic: iso8859_5, - identifier.ISOLatinArabic: iso8859_6, - identifier.ISOLatinGreek: iso8859_7, - identifier.ISOLatinHebrew: iso8859_8, - identifier.ISO88598I: iso8859_8I, - identifier.ISOLatin6: iso8859_10, - identifier.ISO885913: iso8859_13, - identifier.ISO885914: iso8859_14, - identifier.ISO885915: iso8859_15, - identifier.ISO885916: iso8859_16, - identifier.KOI8R: koi8r, - identifier.KOI8U: koi8u, - identifier.Macintosh: macintosh, - identifier.MacintoshCyrillic: macintoshCyrillic, - identifier.Windows874: windows874, - identifier.Windows1250: windows1250, - identifier.Windows1251: windows1251, - identifier.Windows1252: windows1252, - identifier.Windows1253: windows1253, - identifier.Windows1254: windows1254, - identifier.Windows1255: windows1255, - identifier.Windows1256: windows1256, - identifier.Windows1257: windows1257, - identifier.Windows1258: windows1258, - identifier.XUserDefined: xUserDefined, - identifier.GBK: gbk, - identifier.GB18030: gb18030, - identifier.Big5: big5, - identifier.EUCPkdFmtJapanese: eucjp, - identifier.ISO2022JP: iso2022jp, - identifier.ShiftJIS: shiftJIS, - identifier.EUCKR: euckr, - identifier.Replacement: replacement, -} - -// encodings maps the internal htmlEncoding to an Encoding. -// TODO: consider using a reusable index in encoding/internal. -var encodings = [numEncodings]encoding.Encoding{ - utf8: unicode.UTF8, - ibm866: charmap.CodePage866, - iso8859_2: charmap.ISO8859_2, - iso8859_3: charmap.ISO8859_3, - iso8859_4: charmap.ISO8859_4, - iso8859_5: charmap.ISO8859_5, - iso8859_6: charmap.ISO8859_6, - iso8859_7: charmap.ISO8859_7, - iso8859_8: charmap.ISO8859_8, - iso8859_8I: charmap.ISO8859_8I, - iso8859_10: charmap.ISO8859_10, - iso8859_13: charmap.ISO8859_13, - iso8859_14: charmap.ISO8859_14, - iso8859_15: charmap.ISO8859_15, - iso8859_16: charmap.ISO8859_16, - koi8r: charmap.KOI8R, - koi8u: charmap.KOI8U, - macintosh: charmap.Macintosh, - windows874: charmap.Windows874, - windows1250: charmap.Windows1250, - windows1251: charmap.Windows1251, - windows1252: charmap.Windows1252, - windows1253: charmap.Windows1253, - windows1254: charmap.Windows1254, - windows1255: charmap.Windows1255, - windows1256: charmap.Windows1256, - windows1257: charmap.Windows1257, - windows1258: charmap.Windows1258, - macintoshCyrillic: charmap.MacintoshCyrillic, - gbk: simplifiedchinese.GBK, - gb18030: simplifiedchinese.GB18030, - big5: traditionalchinese.Big5, - eucjp: japanese.EUCJP, - iso2022jp: japanese.ISO2022JP, - shiftJIS: japanese.ShiftJIS, - euckr: korean.EUCKR, - replacement: encoding.Replacement, - utf16be: unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM), - utf16le: unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), - xUserDefined: charmap.XUserDefined, -} diff --git a/vendor/golang.org/x/text/encoding/htmlindex/tables.go b/vendor/golang.org/x/text/encoding/htmlindex/tables.go deleted file mode 100644 index 78950d3c3..000000000 --- a/vendor/golang.org/x/text/encoding/htmlindex/tables.go +++ /dev/null @@ -1,352 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package htmlindex - -type htmlEncoding byte - -const ( - utf8 htmlEncoding = iota - ibm866 - iso8859_2 - iso8859_3 - iso8859_4 - iso8859_5 - iso8859_6 - iso8859_7 - iso8859_8 - iso8859_8I - iso8859_10 - iso8859_13 - iso8859_14 - iso8859_15 - iso8859_16 - koi8r - koi8u - macintosh - windows874 - windows1250 - windows1251 - windows1252 - windows1253 - windows1254 - windows1255 - windows1256 - windows1257 - windows1258 - macintoshCyrillic - gbk - gb18030 - big5 - eucjp - iso2022jp - shiftJIS - euckr - replacement - utf16be - utf16le - xUserDefined - numEncodings -) - -var canonical = [numEncodings]string{ - "utf-8", - "ibm866", - "iso-8859-2", - "iso-8859-3", - "iso-8859-4", - "iso-8859-5", - "iso-8859-6", - "iso-8859-7", - "iso-8859-8", - "iso-8859-8-i", - "iso-8859-10", - "iso-8859-13", - "iso-8859-14", - "iso-8859-15", - "iso-8859-16", - "koi8-r", - "koi8-u", - "macintosh", - "windows-874", - "windows-1250", - "windows-1251", - "windows-1252", - "windows-1253", - "windows-1254", - "windows-1255", - "windows-1256", - "windows-1257", - "windows-1258", - "x-mac-cyrillic", - "gbk", - "gb18030", - "big5", - "euc-jp", - "iso-2022-jp", - "shift_jis", - "euc-kr", - "replacement", - "utf-16be", - "utf-16le", - "x-user-defined", -} - -var nameMap = map[string]htmlEncoding{ - "unicode-1-1-utf-8": utf8, - "utf-8": utf8, - "utf8": utf8, - "866": ibm866, - "cp866": ibm866, - "csibm866": ibm866, - "ibm866": ibm866, - "csisolatin2": iso8859_2, - "iso-8859-2": iso8859_2, - "iso-ir-101": iso8859_2, - "iso8859-2": iso8859_2, - "iso88592": iso8859_2, - "iso_8859-2": iso8859_2, - "iso_8859-2:1987": iso8859_2, - "l2": iso8859_2, - "latin2": iso8859_2, - "csisolatin3": iso8859_3, - "iso-8859-3": iso8859_3, - "iso-ir-109": iso8859_3, - "iso8859-3": iso8859_3, - "iso88593": iso8859_3, - "iso_8859-3": iso8859_3, - "iso_8859-3:1988": iso8859_3, - "l3": iso8859_3, - "latin3": iso8859_3, - "csisolatin4": iso8859_4, - "iso-8859-4": iso8859_4, - "iso-ir-110": iso8859_4, - "iso8859-4": iso8859_4, - "iso88594": iso8859_4, - "iso_8859-4": iso8859_4, - "iso_8859-4:1988": iso8859_4, - "l4": iso8859_4, - "latin4": iso8859_4, - "csisolatincyrillic": iso8859_5, - "cyrillic": iso8859_5, - "iso-8859-5": iso8859_5, - "iso-ir-144": iso8859_5, - "iso8859-5": iso8859_5, - "iso88595": iso8859_5, - "iso_8859-5": iso8859_5, - "iso_8859-5:1988": iso8859_5, - "arabic": iso8859_6, - "asmo-708": iso8859_6, - "csiso88596e": iso8859_6, - "csiso88596i": iso8859_6, - "csisolatinarabic": iso8859_6, - "ecma-114": iso8859_6, - "iso-8859-6": iso8859_6, - "iso-8859-6-e": iso8859_6, - "iso-8859-6-i": iso8859_6, - "iso-ir-127": iso8859_6, - "iso8859-6": iso8859_6, - "iso88596": iso8859_6, - "iso_8859-6": iso8859_6, - "iso_8859-6:1987": iso8859_6, - "csisolatingreek": iso8859_7, - "ecma-118": iso8859_7, - "elot_928": iso8859_7, - "greek": iso8859_7, - "greek8": iso8859_7, - "iso-8859-7": iso8859_7, - "iso-ir-126": iso8859_7, - "iso8859-7": iso8859_7, - "iso88597": iso8859_7, - "iso_8859-7": iso8859_7, - "iso_8859-7:1987": iso8859_7, - "sun_eu_greek": iso8859_7, - "csiso88598e": iso8859_8, - "csisolatinhebrew": iso8859_8, - "hebrew": iso8859_8, - "iso-8859-8": iso8859_8, - "iso-8859-8-e": iso8859_8, - "iso-ir-138": iso8859_8, - "iso8859-8": iso8859_8, - "iso88598": iso8859_8, - "iso_8859-8": iso8859_8, - "iso_8859-8:1988": iso8859_8, - "visual": iso8859_8, - "csiso88598i": iso8859_8I, - "iso-8859-8-i": iso8859_8I, - "logical": iso8859_8I, - "csisolatin6": iso8859_10, - "iso-8859-10": iso8859_10, - "iso-ir-157": iso8859_10, - "iso8859-10": iso8859_10, - "iso885910": iso8859_10, - "l6": iso8859_10, - "latin6": iso8859_10, - "iso-8859-13": iso8859_13, - "iso8859-13": iso8859_13, - "iso885913": iso8859_13, - "iso-8859-14": iso8859_14, - "iso8859-14": iso8859_14, - "iso885914": iso8859_14, - "csisolatin9": iso8859_15, - "iso-8859-15": iso8859_15, - "iso8859-15": iso8859_15, - "iso885915": iso8859_15, - "iso_8859-15": iso8859_15, - "l9": iso8859_15, - "iso-8859-16": iso8859_16, - "cskoi8r": koi8r, - "koi": koi8r, - "koi8": koi8r, - "koi8-r": koi8r, - "koi8_r": koi8r, - "koi8-ru": koi8u, - "koi8-u": koi8u, - "csmacintosh": macintosh, - "mac": macintosh, - "macintosh": macintosh, - "x-mac-roman": macintosh, - "dos-874": windows874, - "iso-8859-11": windows874, - "iso8859-11": windows874, - "iso885911": windows874, - "tis-620": windows874, - "windows-874": windows874, - "cp1250": windows1250, - "windows-1250": windows1250, - "x-cp1250": windows1250, - "cp1251": windows1251, - "windows-1251": windows1251, - "x-cp1251": windows1251, - "ansi_x3.4-1968": windows1252, - "ascii": windows1252, - "cp1252": windows1252, - "cp819": windows1252, - "csisolatin1": windows1252, - "ibm819": windows1252, - "iso-8859-1": windows1252, - "iso-ir-100": windows1252, - "iso8859-1": windows1252, - "iso88591": windows1252, - "iso_8859-1": windows1252, - "iso_8859-1:1987": windows1252, - "l1": windows1252, - "latin1": windows1252, - "us-ascii": windows1252, - "windows-1252": windows1252, - "x-cp1252": windows1252, - "cp1253": windows1253, - "windows-1253": windows1253, - "x-cp1253": windows1253, - "cp1254": windows1254, - "csisolatin5": windows1254, - "iso-8859-9": windows1254, - "iso-ir-148": windows1254, - "iso8859-9": windows1254, - "iso88599": windows1254, - "iso_8859-9": windows1254, - "iso_8859-9:1989": windows1254, - "l5": windows1254, - "latin5": windows1254, - "windows-1254": windows1254, - "x-cp1254": windows1254, - "cp1255": windows1255, - "windows-1255": windows1255, - "x-cp1255": windows1255, - "cp1256": windows1256, - "windows-1256": windows1256, - "x-cp1256": windows1256, - "cp1257": windows1257, - "windows-1257": windows1257, - "x-cp1257": windows1257, - "cp1258": windows1258, - "windows-1258": windows1258, - "x-cp1258": windows1258, - "x-mac-cyrillic": macintoshCyrillic, - "x-mac-ukrainian": macintoshCyrillic, - "chinese": gbk, - "csgb2312": gbk, - "csiso58gb231280": gbk, - "gb2312": gbk, - "gb_2312": gbk, - "gb_2312-80": gbk, - "gbk": gbk, - "iso-ir-58": gbk, - "x-gbk": gbk, - "gb18030": gb18030, - "big5": big5, - "big5-hkscs": big5, - "cn-big5": big5, - "csbig5": big5, - "x-x-big5": big5, - "cseucpkdfmtjapanese": eucjp, - "euc-jp": eucjp, - "x-euc-jp": eucjp, - "csiso2022jp": iso2022jp, - "iso-2022-jp": iso2022jp, - "csshiftjis": shiftJIS, - "ms932": shiftJIS, - "ms_kanji": shiftJIS, - "shift-jis": shiftJIS, - "shift_jis": shiftJIS, - "sjis": shiftJIS, - "windows-31j": shiftJIS, - "x-sjis": shiftJIS, - "cseuckr": euckr, - "csksc56011987": euckr, - "euc-kr": euckr, - "iso-ir-149": euckr, - "korean": euckr, - "ks_c_5601-1987": euckr, - "ks_c_5601-1989": euckr, - "ksc5601": euckr, - "ksc_5601": euckr, - "windows-949": euckr, - "csiso2022kr": replacement, - "hz-gb-2312": replacement, - "iso-2022-cn": replacement, - "iso-2022-cn-ext": replacement, - "iso-2022-kr": replacement, - "utf-16be": utf16be, - "utf-16": utf16le, - "utf-16le": utf16le, - "x-user-defined": xUserDefined, -} - -var localeMap = []htmlEncoding{ - windows1252, // und - windows1256, // ar - windows1251, // ba - windows1251, // be - windows1251, // bg - windows1250, // cs - iso8859_7, // el - windows1257, // et - windows1256, // fa - windows1255, // he - windows1250, // hr - iso8859_2, // hu - shiftJIS, // ja - windows1251, // kk - euckr, // ko - windows1254, // ku - windows1251, // ky - windows1257, // lt - windows1257, // lv - windows1251, // mk - iso8859_2, // pl - windows1251, // ru - windows1251, // sah - windows1250, // sk - iso8859_2, // sl - windows1251, // sr - windows1251, // tg - windows874, // th - windows1254, // tr - windows1251, // tt - windows1251, // uk - windows1258, // vi - gb18030, // zh-hans - big5, // zh-hant -} - -const locales = "und ar ba be bg cs el et fa he hr hu ja kk ko ku ky lt lv mk pl ru sah sk sl sr tg th tr tt uk vi zh-hans zh-hant" diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go b/vendor/golang.org/x/text/encoding/internal/identifier/gen.go deleted file mode 100644 index 0c8eba7e5..000000000 --- a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -import ( - "bytes" - "encoding/xml" - "fmt" - "io" - "log" - "strings" - - "golang.org/x/text/internal/gen" -) - -type registry struct { - XMLName xml.Name `xml:"registry"` - Updated string `xml:"updated"` - Registry []struct { - ID string `xml:"id,attr"` - Record []struct { - Name string `xml:"name"` - Xref []struct { - Type string `xml:"type,attr"` - Data string `xml:"data,attr"` - } `xml:"xref"` - Desc struct { - Data string `xml:",innerxml"` - // Any []struct { - // Data string `xml:",chardata"` - // } `xml:",any"` - // Data string `xml:",chardata"` - } `xml:"description,"` - MIB string `xml:"value"` - Alias []string `xml:"alias"` - MIME string `xml:"preferred_alias"` - } `xml:"record"` - } `xml:"registry"` -} - -func main() { - r := gen.OpenIANAFile("assignments/character-sets/character-sets.xml") - reg := ®istry{} - if err := xml.NewDecoder(r).Decode(®); err != nil && err != io.EOF { - log.Fatalf("Error decoding charset registry: %v", err) - } - if len(reg.Registry) == 0 || reg.Registry[0].ID != "character-sets-1" { - log.Fatalf("Unexpected ID %s", reg.Registry[0].ID) - } - - w := &bytes.Buffer{} - fmt.Fprintf(w, "const (\n") - for _, rec := range reg.Registry[0].Record { - constName := "" - for _, a := range rec.Alias { - if strings.HasPrefix(a, "cs") && strings.IndexByte(a, '-') == -1 { - // Some of the constant definitions have comments in them. Strip those. - constName = strings.Title(strings.SplitN(a[2:], "\n", 2)[0]) - } - } - if constName == "" { - switch rec.MIB { - case "2085": - constName = "HZGB2312" // Not listed as alias for some reason. - default: - log.Fatalf("No cs alias defined for %s.", rec.MIB) - } - } - if rec.MIME != "" { - rec.MIME = fmt.Sprintf(" (MIME: %s)", rec.MIME) - } - fmt.Fprintf(w, "// %s is the MIB identifier with IANA name %s%s.\n//\n", constName, rec.Name, rec.MIME) - if len(rec.Desc.Data) > 0 { - fmt.Fprint(w, "// ") - d := xml.NewDecoder(strings.NewReader(rec.Desc.Data)) - inElem := true - attr := "" - for { - t, err := d.Token() - if err != nil { - if err != io.EOF { - log.Fatal(err) - } - break - } - switch x := t.(type) { - case xml.CharData: - attr = "" // Don't need attribute info. - a := bytes.Split([]byte(x), []byte("\n")) - for i, b := range a { - if b = bytes.TrimSpace(b); len(b) != 0 { - if !inElem && i > 0 { - fmt.Fprint(w, "\n// ") - } - inElem = false - fmt.Fprintf(w, "%s ", string(b)) - } - } - case xml.StartElement: - if x.Name.Local == "xref" { - inElem = true - use := false - for _, a := range x.Attr { - if a.Name.Local == "type" { - use = use || a.Value != "person" - } - if a.Name.Local == "data" && use { - attr = a.Value + " " - } - } - } - case xml.EndElement: - inElem = false - fmt.Fprint(w, attr) - } - } - fmt.Fprint(w, "\n") - } - for _, x := range rec.Xref { - switch x.Type { - case "rfc": - fmt.Fprintf(w, "// Reference: %s\n", strings.ToUpper(x.Data)) - case "uri": - fmt.Fprintf(w, "// Reference: %s\n", x.Data) - } - } - fmt.Fprintf(w, "%s MIB = %s\n", constName, rec.MIB) - fmt.Fprintln(w) - } - fmt.Fprintln(w, ")") - - gen.WriteGoFile("mib.go", "identifier", w.Bytes()) -} diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go b/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go deleted file mode 100644 index 2a2da0ef2..000000000 --- a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:generate go run gen.go - -// Package identifier defines the contract between implementations of Encoding -// and Index by defining identifiers that uniquely identify standardized coded -// character sets (CCS) and character encoding schemes (CES), which we will -// together refer to as encodings, for which Encoding implementations provide -// converters to and from UTF-8. This package is typically only of concern to -// implementers of Indexes and Encodings. -// -// One part of the identifier is the MIB code, which is defined by IANA and -// uniquely identifies a CCS or CES. Each code is associated with data that -// references authorities, official documentation as well as aliases and MIME -// names. -// -// Not all CESs are covered by the IANA registry. The "other" string that is -// returned by ID can be used to identify other character sets or versions of -// existing ones. -// -// It is recommended that each package that provides a set of Encodings provide -// the All and Common variables to reference all supported encodings and -// commonly used subset. This allows Index implementations to include all -// available encodings without explicitly referencing or knowing about them. -package identifier - -// Note: this package is internal, but could be made public if there is a need -// for writing third-party Indexes and Encodings. - -// References: -// - http://source.icu-project.org/repos/icu/icu/trunk/source/data/mappings/convrtrs.txt -// - http://www.iana.org/assignments/character-sets/character-sets.xhtml -// - http://www.iana.org/assignments/ianacharset-mib/ianacharset-mib -// - http://www.ietf.org/rfc/rfc2978.txt -// - http://www.unicode.org/reports/tr22/ -// - http://www.w3.org/TR/encoding/ -// - http://www.w3.org/TR/encoding/indexes/encodings.json -// - https://encoding.spec.whatwg.org/ -// - https://tools.ietf.org/html/rfc6657#section-5 - -// Interface can be implemented by Encodings to define the CCS or CES for which -// it implements conversions. -type Interface interface { - // ID returns an encoding identifier. Exactly one of the mib and other - // values should be non-zero. - // - // In the usual case it is only necessary to indicate the MIB code. The - // other string can be used to specify encodings for which there is no MIB, - // such as "x-mac-dingbat". - // - // The other string may only contain the characters a-z, A-Z, 0-9, - and _. - ID() (mib MIB, other string) - - // NOTE: the restrictions on the encoding are to allow extending the syntax - // with additional information such as versions, vendors and other variants. -} - -// A MIB identifies an encoding. It is derived from the IANA MIB codes and adds -// some identifiers for some encodings that are not covered by the IANA -// standard. -// -// See http://www.iana.org/assignments/ianacharset-mib. -type MIB uint16 - -// These additional MIB types are not defined in IANA. They are added because -// they are common and defined within the text repo. -const ( - // Unofficial marks the start of encodings not registered by IANA. - Unofficial MIB = 10000 + iota - - // Replacement is the WhatWG replacement encoding. - Replacement - - // XUserDefined is the code for x-user-defined. - XUserDefined - - // MacintoshCyrillic is the code for x-mac-cyrillic. - MacintoshCyrillic -) diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go b/vendor/golang.org/x/text/encoding/internal/identifier/mib.go deleted file mode 100644 index 915abfa29..000000000 --- a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go +++ /dev/null @@ -1,1621 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package identifier - -const ( - // ASCII is the MIB identifier with IANA name US-ASCII (MIME: US-ASCII). - // - // ANSI X3.4-1986 - // Reference: RFC2046 - ASCII MIB = 3 - - // ISOLatin1 is the MIB identifier with IANA name ISO_8859-1:1987 (MIME: ISO-8859-1). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin1 MIB = 4 - - // ISOLatin2 is the MIB identifier with IANA name ISO_8859-2:1987 (MIME: ISO-8859-2). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin2 MIB = 5 - - // ISOLatin3 is the MIB identifier with IANA name ISO_8859-3:1988 (MIME: ISO-8859-3). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin3 MIB = 6 - - // ISOLatin4 is the MIB identifier with IANA name ISO_8859-4:1988 (MIME: ISO-8859-4). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin4 MIB = 7 - - // ISOLatinCyrillic is the MIB identifier with IANA name ISO_8859-5:1988 (MIME: ISO-8859-5). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatinCyrillic MIB = 8 - - // ISOLatinArabic is the MIB identifier with IANA name ISO_8859-6:1987 (MIME: ISO-8859-6). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatinArabic MIB = 9 - - // ISOLatinGreek is the MIB identifier with IANA name ISO_8859-7:1987 (MIME: ISO-8859-7). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1947 - // Reference: RFC1345 - ISOLatinGreek MIB = 10 - - // ISOLatinHebrew is the MIB identifier with IANA name ISO_8859-8:1988 (MIME: ISO-8859-8). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatinHebrew MIB = 11 - - // ISOLatin5 is the MIB identifier with IANA name ISO_8859-9:1989 (MIME: ISO-8859-9). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin5 MIB = 12 - - // ISOLatin6 is the MIB identifier with IANA name ISO-8859-10 (MIME: ISO-8859-10). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin6 MIB = 13 - - // ISOTextComm is the MIB identifier with IANA name ISO_6937-2-add. - // - // ISO-IR: International Register of Escape Sequences and ISO 6937-2:1983 - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOTextComm MIB = 14 - - // HalfWidthKatakana is the MIB identifier with IANA name JIS_X0201. - // - // JIS X 0201-1976. One byte only, this is equivalent to - // JIS/Roman (similar to ASCII) plus eight-bit half-width - // Katakana - // Reference: RFC1345 - HalfWidthKatakana MIB = 15 - - // JISEncoding is the MIB identifier with IANA name JIS_Encoding. - // - // JIS X 0202-1991. Uses ISO 2022 escape sequences to - // shift code sets as documented in JIS X 0202-1991. - JISEncoding MIB = 16 - - // ShiftJIS is the MIB identifier with IANA name Shift_JIS (MIME: Shift_JIS). - // - // This charset is an extension of csHalfWidthKatakana by - // adding graphic characters in JIS X 0208. The CCS's are - // JIS X0201:1997 and JIS X0208:1997. The - // complete definition is shown in Appendix 1 of JIS - // X0208:1997. - // This charset can be used for the top-level media type "text". - ShiftJIS MIB = 17 - - // EUCPkdFmtJapanese is the MIB identifier with IANA name Extended_UNIX_Code_Packed_Format_for_Japanese (MIME: EUC-JP). - // - // Standardized by OSF, UNIX International, and UNIX Systems - // Laboratories Pacific. Uses ISO 2022 rules to select - // code set 0: US-ASCII (a single 7-bit byte set) - // code set 1: JIS X0208-1990 (a double 8-bit byte set) - // restricted to A0-FF in both bytes - // code set 2: Half Width Katakana (a single 7-bit byte set) - // requiring SS2 as the character prefix - // code set 3: JIS X0212-1990 (a double 7-bit byte set) - // restricted to A0-FF in both bytes - // requiring SS3 as the character prefix - EUCPkdFmtJapanese MIB = 18 - - // EUCFixWidJapanese is the MIB identifier with IANA name Extended_UNIX_Code_Fixed_Width_for_Japanese. - // - // Used in Japan. Each character is 2 octets. - // code set 0: US-ASCII (a single 7-bit byte set) - // 1st byte = 00 - // 2nd byte = 20-7E - // code set 1: JIS X0208-1990 (a double 7-bit byte set) - // restricted to A0-FF in both bytes - // code set 2: Half Width Katakana (a single 7-bit byte set) - // 1st byte = 00 - // 2nd byte = A0-FF - // code set 3: JIS X0212-1990 (a double 7-bit byte set) - // restricted to A0-FF in - // the first byte - // and 21-7E in the second byte - EUCFixWidJapanese MIB = 19 - - // ISO4UnitedKingdom is the MIB identifier with IANA name BS_4730. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO4UnitedKingdom MIB = 20 - - // ISO11SwedishForNames is the MIB identifier with IANA name SEN_850200_C. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO11SwedishForNames MIB = 21 - - // ISO15Italian is the MIB identifier with IANA name IT. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO15Italian MIB = 22 - - // ISO17Spanish is the MIB identifier with IANA name ES. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO17Spanish MIB = 23 - - // ISO21German is the MIB identifier with IANA name DIN_66003. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO21German MIB = 24 - - // ISO60Norwegian1 is the MIB identifier with IANA name NS_4551-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO60Norwegian1 MIB = 25 - - // ISO69French is the MIB identifier with IANA name NF_Z_62-010. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO69French MIB = 26 - - // ISO10646UTF1 is the MIB identifier with IANA name ISO-10646-UTF-1. - // - // Universal Transfer Format (1), this is the multibyte - // encoding, that subsets ASCII-7. It does not have byte - // ordering issues. - ISO10646UTF1 MIB = 27 - - // ISO646basic1983 is the MIB identifier with IANA name ISO_646.basic:1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO646basic1983 MIB = 28 - - // INVARIANT is the MIB identifier with IANA name INVARIANT. - // - // Reference: RFC1345 - INVARIANT MIB = 29 - - // ISO2IntlRefVersion is the MIB identifier with IANA name ISO_646.irv:1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO2IntlRefVersion MIB = 30 - - // NATSSEFI is the MIB identifier with IANA name NATS-SEFI. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSSEFI MIB = 31 - - // NATSSEFIADD is the MIB identifier with IANA name NATS-SEFI-ADD. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSSEFIADD MIB = 32 - - // NATSDANO is the MIB identifier with IANA name NATS-DANO. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSDANO MIB = 33 - - // NATSDANOADD is the MIB identifier with IANA name NATS-DANO-ADD. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSDANOADD MIB = 34 - - // ISO10Swedish is the MIB identifier with IANA name SEN_850200_B. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO10Swedish MIB = 35 - - // KSC56011987 is the MIB identifier with IANA name KS_C_5601-1987. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - KSC56011987 MIB = 36 - - // ISO2022KR is the MIB identifier with IANA name ISO-2022-KR (MIME: ISO-2022-KR). - // - // rfc1557 (see also KS_C_5601-1987) - // Reference: RFC1557 - ISO2022KR MIB = 37 - - // EUCKR is the MIB identifier with IANA name EUC-KR (MIME: EUC-KR). - // - // rfc1557 (see also KS_C_5861-1992) - // Reference: RFC1557 - EUCKR MIB = 38 - - // ISO2022JP is the MIB identifier with IANA name ISO-2022-JP (MIME: ISO-2022-JP). - // - // rfc1468 (see also rfc2237 ) - // Reference: RFC1468 - ISO2022JP MIB = 39 - - // ISO2022JP2 is the MIB identifier with IANA name ISO-2022-JP-2 (MIME: ISO-2022-JP-2). - // - // rfc1554 - // Reference: RFC1554 - ISO2022JP2 MIB = 40 - - // ISO13JISC6220jp is the MIB identifier with IANA name JIS_C6220-1969-jp. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO13JISC6220jp MIB = 41 - - // ISO14JISC6220ro is the MIB identifier with IANA name JIS_C6220-1969-ro. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO14JISC6220ro MIB = 42 - - // ISO16Portuguese is the MIB identifier with IANA name PT. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO16Portuguese MIB = 43 - - // ISO18Greek7Old is the MIB identifier with IANA name greek7-old. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO18Greek7Old MIB = 44 - - // ISO19LatinGreek is the MIB identifier with IANA name latin-greek. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO19LatinGreek MIB = 45 - - // ISO25French is the MIB identifier with IANA name NF_Z_62-010_(1973). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO25French MIB = 46 - - // ISO27LatinGreek1 is the MIB identifier with IANA name Latin-greek-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO27LatinGreek1 MIB = 47 - - // ISO5427Cyrillic is the MIB identifier with IANA name ISO_5427. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO5427Cyrillic MIB = 48 - - // ISO42JISC62261978 is the MIB identifier with IANA name JIS_C6226-1978. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO42JISC62261978 MIB = 49 - - // ISO47BSViewdata is the MIB identifier with IANA name BS_viewdata. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO47BSViewdata MIB = 50 - - // ISO49INIS is the MIB identifier with IANA name INIS. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO49INIS MIB = 51 - - // ISO50INIS8 is the MIB identifier with IANA name INIS-8. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO50INIS8 MIB = 52 - - // ISO51INISCyrillic is the MIB identifier with IANA name INIS-cyrillic. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO51INISCyrillic MIB = 53 - - // ISO54271981 is the MIB identifier with IANA name ISO_5427:1981. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO54271981 MIB = 54 - - // ISO5428Greek is the MIB identifier with IANA name ISO_5428:1980. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO5428Greek MIB = 55 - - // ISO57GB1988 is the MIB identifier with IANA name GB_1988-80. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO57GB1988 MIB = 56 - - // ISO58GB231280 is the MIB identifier with IANA name GB_2312-80. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO58GB231280 MIB = 57 - - // ISO61Norwegian2 is the MIB identifier with IANA name NS_4551-2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO61Norwegian2 MIB = 58 - - // ISO70VideotexSupp1 is the MIB identifier with IANA name videotex-suppl. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO70VideotexSupp1 MIB = 59 - - // ISO84Portuguese2 is the MIB identifier with IANA name PT2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO84Portuguese2 MIB = 60 - - // ISO85Spanish2 is the MIB identifier with IANA name ES2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO85Spanish2 MIB = 61 - - // ISO86Hungarian is the MIB identifier with IANA name MSZ_7795.3. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO86Hungarian MIB = 62 - - // ISO87JISX0208 is the MIB identifier with IANA name JIS_C6226-1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO87JISX0208 MIB = 63 - - // ISO88Greek7 is the MIB identifier with IANA name greek7. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO88Greek7 MIB = 64 - - // ISO89ASMO449 is the MIB identifier with IANA name ASMO_449. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO89ASMO449 MIB = 65 - - // ISO90 is the MIB identifier with IANA name iso-ir-90. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO90 MIB = 66 - - // ISO91JISC62291984a is the MIB identifier with IANA name JIS_C6229-1984-a. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO91JISC62291984a MIB = 67 - - // ISO92JISC62991984b is the MIB identifier with IANA name JIS_C6229-1984-b. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO92JISC62991984b MIB = 68 - - // ISO93JIS62291984badd is the MIB identifier with IANA name JIS_C6229-1984-b-add. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO93JIS62291984badd MIB = 69 - - // ISO94JIS62291984hand is the MIB identifier with IANA name JIS_C6229-1984-hand. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO94JIS62291984hand MIB = 70 - - // ISO95JIS62291984handadd is the MIB identifier with IANA name JIS_C6229-1984-hand-add. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO95JIS62291984handadd MIB = 71 - - // ISO96JISC62291984kana is the MIB identifier with IANA name JIS_C6229-1984-kana. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO96JISC62291984kana MIB = 72 - - // ISO2033 is the MIB identifier with IANA name ISO_2033-1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO2033 MIB = 73 - - // ISO99NAPLPS is the MIB identifier with IANA name ANSI_X3.110-1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO99NAPLPS MIB = 74 - - // ISO102T617bit is the MIB identifier with IANA name T.61-7bit. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO102T617bit MIB = 75 - - // ISO103T618bit is the MIB identifier with IANA name T.61-8bit. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO103T618bit MIB = 76 - - // ISO111ECMACyrillic is the MIB identifier with IANA name ECMA-cyrillic. - // - // ISO registry - // (formerly ECMA - // registry ) - ISO111ECMACyrillic MIB = 77 - - // ISO121Canadian1 is the MIB identifier with IANA name CSA_Z243.4-1985-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO121Canadian1 MIB = 78 - - // ISO122Canadian2 is the MIB identifier with IANA name CSA_Z243.4-1985-2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO122Canadian2 MIB = 79 - - // ISO123CSAZ24341985gr is the MIB identifier with IANA name CSA_Z243.4-1985-gr. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO123CSAZ24341985gr MIB = 80 - - // ISO88596E is the MIB identifier with IANA name ISO_8859-6-E (MIME: ISO-8859-6-E). - // - // rfc1556 - // Reference: RFC1556 - ISO88596E MIB = 81 - - // ISO88596I is the MIB identifier with IANA name ISO_8859-6-I (MIME: ISO-8859-6-I). - // - // rfc1556 - // Reference: RFC1556 - ISO88596I MIB = 82 - - // ISO128T101G2 is the MIB identifier with IANA name T.101-G2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO128T101G2 MIB = 83 - - // ISO88598E is the MIB identifier with IANA name ISO_8859-8-E (MIME: ISO-8859-8-E). - // - // rfc1556 - // Reference: RFC1556 - ISO88598E MIB = 84 - - // ISO88598I is the MIB identifier with IANA name ISO_8859-8-I (MIME: ISO-8859-8-I). - // - // rfc1556 - // Reference: RFC1556 - ISO88598I MIB = 85 - - // ISO139CSN369103 is the MIB identifier with IANA name CSN_369103. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO139CSN369103 MIB = 86 - - // ISO141JUSIB1002 is the MIB identifier with IANA name JUS_I.B1.002. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO141JUSIB1002 MIB = 87 - - // ISO143IECP271 is the MIB identifier with IANA name IEC_P27-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO143IECP271 MIB = 88 - - // ISO146Serbian is the MIB identifier with IANA name JUS_I.B1.003-serb. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO146Serbian MIB = 89 - - // ISO147Macedonian is the MIB identifier with IANA name JUS_I.B1.003-mac. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO147Macedonian MIB = 90 - - // ISO150GreekCCITT is the MIB identifier with IANA name greek-ccitt. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO150GreekCCITT MIB = 91 - - // ISO151Cuba is the MIB identifier with IANA name NC_NC00-10:81. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO151Cuba MIB = 92 - - // ISO6937Add is the MIB identifier with IANA name ISO_6937-2-25. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO6937Add MIB = 93 - - // ISO153GOST1976874 is the MIB identifier with IANA name GOST_19768-74. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO153GOST1976874 MIB = 94 - - // ISO8859Supp is the MIB identifier with IANA name ISO_8859-supp. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO8859Supp MIB = 95 - - // ISO10367Box is the MIB identifier with IANA name ISO_10367-box. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO10367Box MIB = 96 - - // ISO158Lap is the MIB identifier with IANA name latin-lap. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO158Lap MIB = 97 - - // ISO159JISX02121990 is the MIB identifier with IANA name JIS_X0212-1990. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO159JISX02121990 MIB = 98 - - // ISO646Danish is the MIB identifier with IANA name DS_2089. - // - // Danish Standard, DS 2089, February 1974 - // Reference: RFC1345 - ISO646Danish MIB = 99 - - // USDK is the MIB identifier with IANA name us-dk. - // - // Reference: RFC1345 - USDK MIB = 100 - - // DKUS is the MIB identifier with IANA name dk-us. - // - // Reference: RFC1345 - DKUS MIB = 101 - - // KSC5636 is the MIB identifier with IANA name KSC5636. - // - // Reference: RFC1345 - KSC5636 MIB = 102 - - // Unicode11UTF7 is the MIB identifier with IANA name UNICODE-1-1-UTF-7. - // - // rfc1642 - // Reference: RFC1642 - Unicode11UTF7 MIB = 103 - - // ISO2022CN is the MIB identifier with IANA name ISO-2022-CN. - // - // rfc1922 - // Reference: RFC1922 - ISO2022CN MIB = 104 - - // ISO2022CNEXT is the MIB identifier with IANA name ISO-2022-CN-EXT. - // - // rfc1922 - // Reference: RFC1922 - ISO2022CNEXT MIB = 105 - - // UTF8 is the MIB identifier with IANA name UTF-8. - // - // rfc3629 - // Reference: RFC3629 - UTF8 MIB = 106 - - // ISO885913 is the MIB identifier with IANA name ISO-8859-13. - // - // ISO See http://www.iana.org/assignments/charset-reg/ISO-8859-13 http://www.iana.org/assignments/charset-reg/ISO-8859-13 - ISO885913 MIB = 109 - - // ISO885914 is the MIB identifier with IANA name ISO-8859-14. - // - // ISO See http://www.iana.org/assignments/charset-reg/ISO-8859-14 - ISO885914 MIB = 110 - - // ISO885915 is the MIB identifier with IANA name ISO-8859-15. - // - // ISO - // Please see: http://www.iana.org/assignments/charset-reg/ISO-8859-15 - ISO885915 MIB = 111 - - // ISO885916 is the MIB identifier with IANA name ISO-8859-16. - // - // ISO - ISO885916 MIB = 112 - - // GBK is the MIB identifier with IANA name GBK. - // - // Chinese IT Standardization Technical Committee - // Please see: http://www.iana.org/assignments/charset-reg/GBK - GBK MIB = 113 - - // GB18030 is the MIB identifier with IANA name GB18030. - // - // Chinese IT Standardization Technical Committee - // Please see: http://www.iana.org/assignments/charset-reg/GB18030 - GB18030 MIB = 114 - - // OSDEBCDICDF0415 is the MIB identifier with IANA name OSD_EBCDIC_DF04_15. - // - // Fujitsu-Siemens standard mainframe EBCDIC encoding - // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-15 - OSDEBCDICDF0415 MIB = 115 - - // OSDEBCDICDF03IRV is the MIB identifier with IANA name OSD_EBCDIC_DF03_IRV. - // - // Fujitsu-Siemens standard mainframe EBCDIC encoding - // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF03-IRV - OSDEBCDICDF03IRV MIB = 116 - - // OSDEBCDICDF041 is the MIB identifier with IANA name OSD_EBCDIC_DF04_1. - // - // Fujitsu-Siemens standard mainframe EBCDIC encoding - // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-1 - OSDEBCDICDF041 MIB = 117 - - // ISO115481 is the MIB identifier with IANA name ISO-11548-1. - // - // See http://www.iana.org/assignments/charset-reg/ISO-11548-1 - ISO115481 MIB = 118 - - // KZ1048 is the MIB identifier with IANA name KZ-1048. - // - // See http://www.iana.org/assignments/charset-reg/KZ-1048 - KZ1048 MIB = 119 - - // Unicode is the MIB identifier with IANA name ISO-10646-UCS-2. - // - // the 2-octet Basic Multilingual Plane, aka Unicode - // this needs to specify network byte order: the standard - // does not specify (it is a 16-bit integer space) - Unicode MIB = 1000 - - // UCS4 is the MIB identifier with IANA name ISO-10646-UCS-4. - // - // the full code space. (same comment about byte order, - // these are 31-bit numbers. - UCS4 MIB = 1001 - - // UnicodeASCII is the MIB identifier with IANA name ISO-10646-UCS-Basic. - // - // ASCII subset of Unicode. Basic Latin = collection 1 - // See ISO 10646, Appendix A - UnicodeASCII MIB = 1002 - - // UnicodeLatin1 is the MIB identifier with IANA name ISO-10646-Unicode-Latin1. - // - // ISO Latin-1 subset of Unicode. Basic Latin and Latin-1 - // Supplement = collections 1 and 2. See ISO 10646, - // Appendix A. See rfc1815 . - UnicodeLatin1 MIB = 1003 - - // UnicodeJapanese is the MIB identifier with IANA name ISO-10646-J-1. - // - // ISO 10646 Japanese, see rfc1815 . - UnicodeJapanese MIB = 1004 - - // UnicodeIBM1261 is the MIB identifier with IANA name ISO-Unicode-IBM-1261. - // - // IBM Latin-2, -3, -5, Extended Presentation Set, GCSGID: 1261 - UnicodeIBM1261 MIB = 1005 - - // UnicodeIBM1268 is the MIB identifier with IANA name ISO-Unicode-IBM-1268. - // - // IBM Latin-4 Extended Presentation Set, GCSGID: 1268 - UnicodeIBM1268 MIB = 1006 - - // UnicodeIBM1276 is the MIB identifier with IANA name ISO-Unicode-IBM-1276. - // - // IBM Cyrillic Greek Extended Presentation Set, GCSGID: 1276 - UnicodeIBM1276 MIB = 1007 - - // UnicodeIBM1264 is the MIB identifier with IANA name ISO-Unicode-IBM-1264. - // - // IBM Arabic Presentation Set, GCSGID: 1264 - UnicodeIBM1264 MIB = 1008 - - // UnicodeIBM1265 is the MIB identifier with IANA name ISO-Unicode-IBM-1265. - // - // IBM Hebrew Presentation Set, GCSGID: 1265 - UnicodeIBM1265 MIB = 1009 - - // Unicode11 is the MIB identifier with IANA name UNICODE-1-1. - // - // rfc1641 - // Reference: RFC1641 - Unicode11 MIB = 1010 - - // SCSU is the MIB identifier with IANA name SCSU. - // - // SCSU See http://www.iana.org/assignments/charset-reg/SCSU - SCSU MIB = 1011 - - // UTF7 is the MIB identifier with IANA name UTF-7. - // - // rfc2152 - // Reference: RFC2152 - UTF7 MIB = 1012 - - // UTF16BE is the MIB identifier with IANA name UTF-16BE. - // - // rfc2781 - // Reference: RFC2781 - UTF16BE MIB = 1013 - - // UTF16LE is the MIB identifier with IANA name UTF-16LE. - // - // rfc2781 - // Reference: RFC2781 - UTF16LE MIB = 1014 - - // UTF16 is the MIB identifier with IANA name UTF-16. - // - // rfc2781 - // Reference: RFC2781 - UTF16 MIB = 1015 - - // CESU8 is the MIB identifier with IANA name CESU-8. - // - // http://www.unicode.org/unicode/reports/tr26 - CESU8 MIB = 1016 - - // UTF32 is the MIB identifier with IANA name UTF-32. - // - // http://www.unicode.org/unicode/reports/tr19/ - UTF32 MIB = 1017 - - // UTF32BE is the MIB identifier with IANA name UTF-32BE. - // - // http://www.unicode.org/unicode/reports/tr19/ - UTF32BE MIB = 1018 - - // UTF32LE is the MIB identifier with IANA name UTF-32LE. - // - // http://www.unicode.org/unicode/reports/tr19/ - UTF32LE MIB = 1019 - - // BOCU1 is the MIB identifier with IANA name BOCU-1. - // - // http://www.unicode.org/notes/tn6/ - BOCU1 MIB = 1020 - - // Windows30Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.0-Latin-1. - // - // Extended ISO 8859-1 Latin-1 for Windows 3.0. - // PCL Symbol Set id: 9U - Windows30Latin1 MIB = 2000 - - // Windows31Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.1-Latin-1. - // - // Extended ISO 8859-1 Latin-1 for Windows 3.1. - // PCL Symbol Set id: 19U - Windows31Latin1 MIB = 2001 - - // Windows31Latin2 is the MIB identifier with IANA name ISO-8859-2-Windows-Latin-2. - // - // Extended ISO 8859-2. Latin-2 for Windows 3.1. - // PCL Symbol Set id: 9E - Windows31Latin2 MIB = 2002 - - // Windows31Latin5 is the MIB identifier with IANA name ISO-8859-9-Windows-Latin-5. - // - // Extended ISO 8859-9. Latin-5 for Windows 3.1 - // PCL Symbol Set id: 5T - Windows31Latin5 MIB = 2003 - - // HPRoman8 is the MIB identifier with IANA name hp-roman8. - // - // LaserJet IIP Printer User's Manual, - // HP part no 33471-90901, Hewlet-Packard, June 1989. - // Reference: RFC1345 - HPRoman8 MIB = 2004 - - // AdobeStandardEncoding is the MIB identifier with IANA name Adobe-Standard-Encoding. - // - // PostScript Language Reference Manual - // PCL Symbol Set id: 10J - AdobeStandardEncoding MIB = 2005 - - // VenturaUS is the MIB identifier with IANA name Ventura-US. - // - // Ventura US. ASCII plus characters typically used in - // publishing, like pilcrow, copyright, registered, trade mark, - // section, dagger, and double dagger in the range A0 (hex) - // to FF (hex). - // PCL Symbol Set id: 14J - VenturaUS MIB = 2006 - - // VenturaInternational is the MIB identifier with IANA name Ventura-International. - // - // Ventura International. ASCII plus coded characters similar - // to Roman8. - // PCL Symbol Set id: 13J - VenturaInternational MIB = 2007 - - // DECMCS is the MIB identifier with IANA name DEC-MCS. - // - // VAX/VMS User's Manual, - // Order Number: AI-Y517A-TE, April 1986. - // Reference: RFC1345 - DECMCS MIB = 2008 - - // PC850Multilingual is the MIB identifier with IANA name IBM850. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PC850Multilingual MIB = 2009 - - // PC8DanishNorwegian is the MIB identifier with IANA name PC8-Danish-Norwegian. - // - // PC Danish Norwegian - // 8-bit PC set for Danish Norwegian - // PCL Symbol Set id: 11U - PC8DanishNorwegian MIB = 2012 - - // PC862LatinHebrew is the MIB identifier with IANA name IBM862. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PC862LatinHebrew MIB = 2013 - - // PC8Turkish is the MIB identifier with IANA name PC8-Turkish. - // - // PC Latin Turkish. PCL Symbol Set id: 9T - PC8Turkish MIB = 2014 - - // IBMSymbols is the MIB identifier with IANA name IBM-Symbols. - // - // Presentation Set, CPGID: 259 - IBMSymbols MIB = 2015 - - // IBMThai is the MIB identifier with IANA name IBM-Thai. - // - // Presentation Set, CPGID: 838 - IBMThai MIB = 2016 - - // HPLegal is the MIB identifier with IANA name HP-Legal. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 1U - HPLegal MIB = 2017 - - // HPPiFont is the MIB identifier with IANA name HP-Pi-font. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 15U - HPPiFont MIB = 2018 - - // HPMath8 is the MIB identifier with IANA name HP-Math8. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 8M - HPMath8 MIB = 2019 - - // HPPSMath is the MIB identifier with IANA name Adobe-Symbol-Encoding. - // - // PostScript Language Reference Manual - // PCL Symbol Set id: 5M - HPPSMath MIB = 2020 - - // HPDesktop is the MIB identifier with IANA name HP-DeskTop. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 7J - HPDesktop MIB = 2021 - - // VenturaMath is the MIB identifier with IANA name Ventura-Math. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 6M - VenturaMath MIB = 2022 - - // MicrosoftPublishing is the MIB identifier with IANA name Microsoft-Publishing. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 6J - MicrosoftPublishing MIB = 2023 - - // Windows31J is the MIB identifier with IANA name Windows-31J. - // - // Windows Japanese. A further extension of Shift_JIS - // to include NEC special characters (Row 13), NEC - // selection of IBM extensions (Rows 89 to 92), and IBM - // extensions (Rows 115 to 119). The CCS's are - // JIS X0201:1997, JIS X0208:1997, and these extensions. - // This charset can be used for the top-level media type "text", - // but it is of limited or specialized use (see rfc2278 ). - // PCL Symbol Set id: 19K - Windows31J MIB = 2024 - - // GB2312 is the MIB identifier with IANA name GB2312 (MIME: GB2312). - // - // Chinese for People's Republic of China (PRC) mixed one byte, - // two byte set: - // 20-7E = one byte ASCII - // A1-FE = two byte PRC Kanji - // See GB 2312-80 - // PCL Symbol Set Id: 18C - GB2312 MIB = 2025 - - // Big5 is the MIB identifier with IANA name Big5 (MIME: Big5). - // - // Chinese for Taiwan Multi-byte set. - // PCL Symbol Set Id: 18T - Big5 MIB = 2026 - - // Macintosh is the MIB identifier with IANA name macintosh. - // - // The Unicode Standard ver1.0, ISBN 0-201-56788-1, Oct 1991 - // Reference: RFC1345 - Macintosh MIB = 2027 - - // IBM037 is the MIB identifier with IANA name IBM037. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM037 MIB = 2028 - - // IBM038 is the MIB identifier with IANA name IBM038. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM038 MIB = 2029 - - // IBM273 is the MIB identifier with IANA name IBM273. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM273 MIB = 2030 - - // IBM274 is the MIB identifier with IANA name IBM274. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM274 MIB = 2031 - - // IBM275 is the MIB identifier with IANA name IBM275. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM275 MIB = 2032 - - // IBM277 is the MIB identifier with IANA name IBM277. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM277 MIB = 2033 - - // IBM278 is the MIB identifier with IANA name IBM278. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM278 MIB = 2034 - - // IBM280 is the MIB identifier with IANA name IBM280. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM280 MIB = 2035 - - // IBM281 is the MIB identifier with IANA name IBM281. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM281 MIB = 2036 - - // IBM284 is the MIB identifier with IANA name IBM284. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM284 MIB = 2037 - - // IBM285 is the MIB identifier with IANA name IBM285. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM285 MIB = 2038 - - // IBM290 is the MIB identifier with IANA name IBM290. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM290 MIB = 2039 - - // IBM297 is the MIB identifier with IANA name IBM297. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM297 MIB = 2040 - - // IBM420 is the MIB identifier with IANA name IBM420. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990, - // IBM NLS RM p 11-11 - // Reference: RFC1345 - IBM420 MIB = 2041 - - // IBM423 is the MIB identifier with IANA name IBM423. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM423 MIB = 2042 - - // IBM424 is the MIB identifier with IANA name IBM424. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM424 MIB = 2043 - - // PC8CodePage437 is the MIB identifier with IANA name IBM437. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PC8CodePage437 MIB = 2011 - - // IBM500 is the MIB identifier with IANA name IBM500. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM500 MIB = 2044 - - // IBM851 is the MIB identifier with IANA name IBM851. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM851 MIB = 2045 - - // PCp852 is the MIB identifier with IANA name IBM852. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PCp852 MIB = 2010 - - // IBM855 is the MIB identifier with IANA name IBM855. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM855 MIB = 2046 - - // IBM857 is the MIB identifier with IANA name IBM857. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM857 MIB = 2047 - - // IBM860 is the MIB identifier with IANA name IBM860. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM860 MIB = 2048 - - // IBM861 is the MIB identifier with IANA name IBM861. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM861 MIB = 2049 - - // IBM863 is the MIB identifier with IANA name IBM863. - // - // IBM Keyboard layouts and code pages, PN 07G4586 June 1991 - // Reference: RFC1345 - IBM863 MIB = 2050 - - // IBM864 is the MIB identifier with IANA name IBM864. - // - // IBM Keyboard layouts and code pages, PN 07G4586 June 1991 - // Reference: RFC1345 - IBM864 MIB = 2051 - - // IBM865 is the MIB identifier with IANA name IBM865. - // - // IBM DOS 3.3 Ref (Abridged), 94X9575 (Feb 1987) - // Reference: RFC1345 - IBM865 MIB = 2052 - - // IBM868 is the MIB identifier with IANA name IBM868. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM868 MIB = 2053 - - // IBM869 is the MIB identifier with IANA name IBM869. - // - // IBM Keyboard layouts and code pages, PN 07G4586 June 1991 - // Reference: RFC1345 - IBM869 MIB = 2054 - - // IBM870 is the MIB identifier with IANA name IBM870. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM870 MIB = 2055 - - // IBM871 is the MIB identifier with IANA name IBM871. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM871 MIB = 2056 - - // IBM880 is the MIB identifier with IANA name IBM880. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM880 MIB = 2057 - - // IBM891 is the MIB identifier with IANA name IBM891. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM891 MIB = 2058 - - // IBM903 is the MIB identifier with IANA name IBM903. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM903 MIB = 2059 - - // IBBM904 is the MIB identifier with IANA name IBM904. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBBM904 MIB = 2060 - - // IBM905 is the MIB identifier with IANA name IBM905. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM905 MIB = 2061 - - // IBM918 is the MIB identifier with IANA name IBM918. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM918 MIB = 2062 - - // IBM1026 is the MIB identifier with IANA name IBM1026. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM1026 MIB = 2063 - - // IBMEBCDICATDE is the MIB identifier with IANA name EBCDIC-AT-DE. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - IBMEBCDICATDE MIB = 2064 - - // EBCDICATDEA is the MIB identifier with IANA name EBCDIC-AT-DE-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICATDEA MIB = 2065 - - // EBCDICCAFR is the MIB identifier with IANA name EBCDIC-CA-FR. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICCAFR MIB = 2066 - - // EBCDICDKNO is the MIB identifier with IANA name EBCDIC-DK-NO. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICDKNO MIB = 2067 - - // EBCDICDKNOA is the MIB identifier with IANA name EBCDIC-DK-NO-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICDKNOA MIB = 2068 - - // EBCDICFISE is the MIB identifier with IANA name EBCDIC-FI-SE. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICFISE MIB = 2069 - - // EBCDICFISEA is the MIB identifier with IANA name EBCDIC-FI-SE-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICFISEA MIB = 2070 - - // EBCDICFR is the MIB identifier with IANA name EBCDIC-FR. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICFR MIB = 2071 - - // EBCDICIT is the MIB identifier with IANA name EBCDIC-IT. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICIT MIB = 2072 - - // EBCDICPT is the MIB identifier with IANA name EBCDIC-PT. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICPT MIB = 2073 - - // EBCDICES is the MIB identifier with IANA name EBCDIC-ES. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICES MIB = 2074 - - // EBCDICESA is the MIB identifier with IANA name EBCDIC-ES-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICESA MIB = 2075 - - // EBCDICESS is the MIB identifier with IANA name EBCDIC-ES-S. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICESS MIB = 2076 - - // EBCDICUK is the MIB identifier with IANA name EBCDIC-UK. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICUK MIB = 2077 - - // EBCDICUS is the MIB identifier with IANA name EBCDIC-US. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICUS MIB = 2078 - - // Unknown8BiT is the MIB identifier with IANA name UNKNOWN-8BIT. - // - // Reference: RFC1428 - Unknown8BiT MIB = 2079 - - // Mnemonic is the MIB identifier with IANA name MNEMONIC. - // - // rfc1345 , also known as "mnemonic+ascii+38" - // Reference: RFC1345 - Mnemonic MIB = 2080 - - // Mnem is the MIB identifier with IANA name MNEM. - // - // rfc1345 , also known as "mnemonic+ascii+8200" - // Reference: RFC1345 - Mnem MIB = 2081 - - // VISCII is the MIB identifier with IANA name VISCII. - // - // rfc1456 - // Reference: RFC1456 - VISCII MIB = 2082 - - // VIQR is the MIB identifier with IANA name VIQR. - // - // rfc1456 - // Reference: RFC1456 - VIQR MIB = 2083 - - // KOI8R is the MIB identifier with IANA name KOI8-R (MIME: KOI8-R). - // - // rfc1489 , based on GOST-19768-74, ISO-6937/8, - // INIS-Cyrillic, ISO-5427. - // Reference: RFC1489 - KOI8R MIB = 2084 - - // HZGB2312 is the MIB identifier with IANA name HZ-GB-2312. - // - // rfc1842 , rfc1843 rfc1843 rfc1842 - HZGB2312 MIB = 2085 - - // IBM866 is the MIB identifier with IANA name IBM866. - // - // IBM NLDG Volume 2 (SE09-8002-03) August 1994 - IBM866 MIB = 2086 - - // PC775Baltic is the MIB identifier with IANA name IBM775. - // - // HP PCL 5 Comparison Guide (P/N 5021-0329) pp B-13, 1996 - PC775Baltic MIB = 2087 - - // KOI8U is the MIB identifier with IANA name KOI8-U. - // - // rfc2319 - // Reference: RFC2319 - KOI8U MIB = 2088 - - // IBM00858 is the MIB identifier with IANA name IBM00858. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM00858 - IBM00858 MIB = 2089 - - // IBM00924 is the MIB identifier with IANA name IBM00924. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM00924 - IBM00924 MIB = 2090 - - // IBM01140 is the MIB identifier with IANA name IBM01140. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01140 - IBM01140 MIB = 2091 - - // IBM01141 is the MIB identifier with IANA name IBM01141. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01141 - IBM01141 MIB = 2092 - - // IBM01142 is the MIB identifier with IANA name IBM01142. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01142 - IBM01142 MIB = 2093 - - // IBM01143 is the MIB identifier with IANA name IBM01143. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01143 - IBM01143 MIB = 2094 - - // IBM01144 is the MIB identifier with IANA name IBM01144. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01144 - IBM01144 MIB = 2095 - - // IBM01145 is the MIB identifier with IANA name IBM01145. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01145 - IBM01145 MIB = 2096 - - // IBM01146 is the MIB identifier with IANA name IBM01146. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01146 - IBM01146 MIB = 2097 - - // IBM01147 is the MIB identifier with IANA name IBM01147. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01147 - IBM01147 MIB = 2098 - - // IBM01148 is the MIB identifier with IANA name IBM01148. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01148 - IBM01148 MIB = 2099 - - // IBM01149 is the MIB identifier with IANA name IBM01149. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01149 - IBM01149 MIB = 2100 - - // Big5HKSCS is the MIB identifier with IANA name Big5-HKSCS. - // - // See http://www.iana.org/assignments/charset-reg/Big5-HKSCS - Big5HKSCS MIB = 2101 - - // IBM1047 is the MIB identifier with IANA name IBM1047. - // - // IBM1047 (EBCDIC Latin 1/Open Systems) http://www-1.ibm.com/servers/eserver/iseries/software/globalization/pdf/cp01047z.pdf - IBM1047 MIB = 2102 - - // PTCP154 is the MIB identifier with IANA name PTCP154. - // - // See http://www.iana.org/assignments/charset-reg/PTCP154 - PTCP154 MIB = 2103 - - // Amiga1251 is the MIB identifier with IANA name Amiga-1251. - // - // See http://www.amiga.ultranet.ru/Amiga-1251.html - Amiga1251 MIB = 2104 - - // KOI7switched is the MIB identifier with IANA name KOI7-switched. - // - // See http://www.iana.org/assignments/charset-reg/KOI7-switched - KOI7switched MIB = 2105 - - // BRF is the MIB identifier with IANA name BRF. - // - // See http://www.iana.org/assignments/charset-reg/BRF - BRF MIB = 2106 - - // TSCII is the MIB identifier with IANA name TSCII. - // - // See http://www.iana.org/assignments/charset-reg/TSCII - TSCII MIB = 2107 - - // CP51932 is the MIB identifier with IANA name CP51932. - // - // See http://www.iana.org/assignments/charset-reg/CP51932 - CP51932 MIB = 2108 - - // Windows874 is the MIB identifier with IANA name windows-874. - // - // See http://www.iana.org/assignments/charset-reg/windows-874 - Windows874 MIB = 2109 - - // Windows1250 is the MIB identifier with IANA name windows-1250. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1250 - Windows1250 MIB = 2250 - - // Windows1251 is the MIB identifier with IANA name windows-1251. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1251 - Windows1251 MIB = 2251 - - // Windows1252 is the MIB identifier with IANA name windows-1252. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1252 - Windows1252 MIB = 2252 - - // Windows1253 is the MIB identifier with IANA name windows-1253. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1253 - Windows1253 MIB = 2253 - - // Windows1254 is the MIB identifier with IANA name windows-1254. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1254 - Windows1254 MIB = 2254 - - // Windows1255 is the MIB identifier with IANA name windows-1255. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1255 - Windows1255 MIB = 2255 - - // Windows1256 is the MIB identifier with IANA name windows-1256. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1256 - Windows1256 MIB = 2256 - - // Windows1257 is the MIB identifier with IANA name windows-1257. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1257 - Windows1257 MIB = 2257 - - // Windows1258 is the MIB identifier with IANA name windows-1258. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1258 - Windows1258 MIB = 2258 - - // TIS620 is the MIB identifier with IANA name TIS-620. - // - // Thai Industrial Standards Institute (TISI) - TIS620 MIB = 2259 - - // CP50220 is the MIB identifier with IANA name CP50220. - // - // See http://www.iana.org/assignments/charset-reg/CP50220 - CP50220 MIB = 2260 -) diff --git a/vendor/golang.org/x/text/encoding/internal/internal.go b/vendor/golang.org/x/text/encoding/internal/internal.go deleted file mode 100644 index 75a5fd165..000000000 --- a/vendor/golang.org/x/text/encoding/internal/internal.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package internal contains code that is shared among encoding implementations. -package internal - -import ( - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// Encoding is an implementation of the Encoding interface that adds the String -// and ID methods to an existing encoding. -type Encoding struct { - encoding.Encoding - Name string - MIB identifier.MIB -} - -// _ verifies that Encoding implements identifier.Interface. -var _ identifier.Interface = (*Encoding)(nil) - -func (e *Encoding) String() string { - return e.Name -} - -func (e *Encoding) ID() (mib identifier.MIB, other string) { - return e.MIB, "" -} - -// SimpleEncoding is an Encoding that combines two Transformers. -type SimpleEncoding struct { - Decoder transform.Transformer - Encoder transform.Transformer -} - -func (e *SimpleEncoding) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: e.Decoder} -} - -func (e *SimpleEncoding) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: e.Encoder} -} - -// FuncEncoding is an Encoding that combines two functions returning a new -// Transformer. -type FuncEncoding struct { - Decoder func() transform.Transformer - Encoder func() transform.Transformer -} - -func (e FuncEncoding) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: e.Decoder()} -} - -func (e FuncEncoding) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: e.Encoder()} -} - -// A RepertoireError indicates a rune is not in the repertoire of a destination -// encoding. It is associated with an encoding-specific suggested replacement -// byte. -type RepertoireError byte - -// Error implements the error interrface. -func (r RepertoireError) Error() string { - return "encoding: rune not supported by encoding." -} - -// Replacement returns the replacement string associated with this error. -func (r RepertoireError) Replacement() byte { return byte(r) } - -var ErrASCIIReplacement = RepertoireError(encoding.ASCIISub) diff --git a/vendor/golang.org/x/text/encoding/japanese/all.go b/vendor/golang.org/x/text/encoding/japanese/all.go deleted file mode 100644 index 6cfa8de45..000000000 --- a/vendor/golang.org/x/text/encoding/japanese/all.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package japanese - -import ( - "golang.org/x/text/encoding" -) - -// All is a list of all defined encodings in this package. -var All = []encoding.Encoding{EUCJP, ISO2022JP, ShiftJIS} diff --git a/vendor/golang.org/x/text/encoding/japanese/eucjp.go b/vendor/golang.org/x/text/encoding/japanese/eucjp.go deleted file mode 100644 index 40f9b05f3..000000000 --- a/vendor/golang.org/x/text/encoding/japanese/eucjp.go +++ /dev/null @@ -1,211 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package japanese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// EUCJP is the EUC-JP encoding. -var EUCJP encoding.Encoding = &eucJP - -var eucJP = internal.Encoding{ - &internal.SimpleEncoding{eucJPDecoder{}, eucJPEncoder{}}, - "EUC-JP", - identifier.EUCPkdFmtJapanese, -} - -var errInvalidEUCJP = errors.New("japanese: invalid EUC-JP encoding") - -type eucJPDecoder struct{ transform.NopResetter } - -func (eucJPDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - switch c0 := src[nSrc]; { - case c0 < utf8.RuneSelf: - r, size = rune(c0), 1 - - case c0 == 0x8e: - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - if c1 < 0xa1 || 0xdf < c1 { - err = errInvalidEUCJP - break loop - } - r, size = rune(c1)+(0xff61-0xa1), 2 - - case c0 == 0x8f: - if nSrc+2 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - if c1 < 0xa1 || 0xfe < c1 { - err = errInvalidEUCJP - break loop - } - c2 := src[nSrc+2] - if c2 < 0xa1 || 0xfe < c2 { - err = errInvalidEUCJP - break loop - } - r, size = '\ufffd', 3 - if i := int(c1-0xa1)*94 + int(c2-0xa1); i < len(jis0212Decode) { - r = rune(jis0212Decode[i]) - if r == 0 { - r = '\ufffd' - } - } - - case 0xa1 <= c0 && c0 <= 0xfe: - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - if c1 < 0xa1 || 0xfe < c1 { - err = errInvalidEUCJP - break loop - } - r, size = '\ufffd', 2 - if i := int(c0-0xa1)*94 + int(c1-0xa1); i < len(jis0208Decode) { - r = rune(jis0208Decode[i]) - if r == 0 { - r = '\ufffd' - } - } - - default: - err = errInvalidEUCJP - break loop - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidEUCJP - } - return nDst, nSrc, err -} - -type eucJPEncoder struct{ transform.NopResetter } - -func (eucJPEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r != 0 { - goto write2or3 - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r != 0 { - goto write2or3 - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r != 0 { - goto write2or3 - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r != 0 { - goto write2or3 - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r != 0 { - goto write2or3 - } - case encode5Low <= r && r < encode5High: - if 0xff61 <= r && r < 0xffa0 { - goto write2 - } - if r = rune(encode5[r-encode5Low]); r != 0 { - goto write2or3 - } - } - err = internal.ErrASCIIReplacement - break - } - - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - write2or3: - if r>>tableShift == jis0208 { - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - } else { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = 0x8f - nDst++ - } - dst[nDst+0] = 0xa1 + uint8(r>>codeShift)&codeMask - dst[nDst+1] = 0xa1 + uint8(r)&codeMask - nDst += 2 - continue - - write2: - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = 0x8e - dst[nDst+1] = uint8(r - (0xff61 - 0xa1)) - nDst += 2 - continue - } - return nDst, nSrc, err -} - -func init() { - // Check that the hard-coded encode switch covers all tables. - if numEncodeTables != 6 { - panic("bad numEncodeTables") - } -} diff --git a/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go b/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go deleted file mode 100644 index b63e7d5d8..000000000 --- a/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package japanese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// ISO2022JP is the ISO-2022-JP encoding. -var ISO2022JP encoding.Encoding = &iso2022JP - -var iso2022JP = internal.Encoding{ - internal.FuncEncoding{iso2022JPNewDecoder, iso2022JPNewEncoder}, - "ISO-2022-JP", - identifier.ISO2022JP, -} - -func iso2022JPNewDecoder() transform.Transformer { - return new(iso2022JPDecoder) -} - -func iso2022JPNewEncoder() transform.Transformer { - return new(iso2022JPEncoder) -} - -var errInvalidISO2022JP = errors.New("japanese: invalid ISO-2022-JP encoding") - -const ( - asciiState = iota - katakanaState - jis0208State - jis0212State -) - -const asciiEsc = 0x1b - -type iso2022JPDecoder int - -func (d *iso2022JPDecoder) Reset() { - *d = asciiState -} - -func (d *iso2022JPDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - c0 := src[nSrc] - if c0 >= utf8.RuneSelf { - err = errInvalidISO2022JP - break loop - } - - if c0 == asciiEsc { - if nSrc+2 >= len(src) { - err = transform.ErrShortSrc - break loop - } - size = 3 - c1 := src[nSrc+1] - c2 := src[nSrc+2] - switch { - case c1 == '$' && (c2 == '@' || c2 == 'B'): - *d = jis0208State - continue - case c1 == '$' && c2 == '(': - if nSrc+3 >= len(src) { - err = transform.ErrShortSrc - break loop - } - size = 4 - if src[nSrc]+3 == 'D' { - *d = jis0212State - continue - } - case c1 == '(' && (c2 == 'B' || c2 == 'J'): - *d = asciiState - continue - case c1 == '(' && c2 == 'I': - *d = katakanaState - continue - } - err = errInvalidISO2022JP - break loop - } - - switch *d { - case asciiState: - r, size = rune(c0), 1 - - case katakanaState: - if c0 < 0x21 || 0x60 <= c0 { - err = errInvalidISO2022JP - break loop - } - r, size = rune(c0)+(0xff61-0x21), 1 - - default: - if c0 == 0x0a { - *d = asciiState - r, size = rune(c0), 1 - break - } - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - size = 2 - c1 := src[nSrc+1] - i := int(c0-0x21)*94 + int(c1-0x21) - if *d == jis0208State && i < len(jis0208Decode) { - r = rune(jis0208Decode[i]) - } else if *d == jis0212State && i < len(jis0212Decode) { - r = rune(jis0212Decode[i]) - } else { - r = '\ufffd' - break - } - if r == 0 { - r = '\ufffd' - } - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidISO2022JP - } - return nDst, nSrc, err -} - -type iso2022JPEncoder int - -func (e *iso2022JPEncoder) Reset() { - *e = asciiState -} - -func (e *iso2022JPEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - // - // http://encoding.spec.whatwg.org/#iso-2022-jp says that "the index jis0212 - // is not used by the iso-2022-jp encoder due to lack of widespread support". - // - // TODO: do we have to special-case U+00A5 and U+203E, as per - // http://encoding.spec.whatwg.org/#iso-2022-jp - // Doing so would mean that "\u00a5" would not be preserved - // after an encode-decode round trip. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r>>tableShift == jis0208 { - goto writeJIS - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r>>tableShift == jis0208 { - goto writeJIS - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r>>tableShift == jis0208 { - goto writeJIS - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r>>tableShift == jis0208 { - goto writeJIS - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r>>tableShift == jis0208 { - goto writeJIS - } - case encode5Low <= r && r < encode5High: - if 0xff61 <= r && r < 0xffa0 { - goto writeKatakana - } - if r = rune(encode5[r-encode5Low]); r>>tableShift == jis0208 { - goto writeJIS - } - } - - // Switch back to ASCII state in case of error so that an ASCII - // replacement character can be written in the correct state. - if *e != asciiState { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - *e = asciiState - dst[nDst+0] = asciiEsc - dst[nDst+1] = '(' - dst[nDst+2] = 'B' - nDst += 3 - } - err = internal.ErrASCIIReplacement - break - } - - if *e != asciiState { - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - *e = asciiState - dst[nDst+0] = asciiEsc - dst[nDst+1] = '(' - dst[nDst+2] = 'B' - nDst += 3 - } else if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - writeJIS: - if *e != jis0208State { - if nDst+5 > len(dst) { - err = transform.ErrShortDst - break - } - *e = jis0208State - dst[nDst+0] = asciiEsc - dst[nDst+1] = '$' - dst[nDst+2] = 'B' - nDst += 3 - } else if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = 0x21 + uint8(r>>codeShift)&codeMask - dst[nDst+1] = 0x21 + uint8(r)&codeMask - nDst += 2 - continue - - writeKatakana: - if *e != katakanaState { - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - *e = katakanaState - dst[nDst+0] = asciiEsc - dst[nDst+1] = '(' - dst[nDst+2] = 'I' - nDst += 3 - } else if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r - (0xff61 - 0x21)) - nDst++ - continue - } - if atEOF && err == nil && *e != asciiState { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - } else { - *e = asciiState - dst[nDst+0] = asciiEsc - dst[nDst+1] = '(' - dst[nDst+2] = 'B' - nDst += 3 - } - } - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/encoding/japanese/maketables.go b/vendor/golang.org/x/text/encoding/japanese/maketables.go deleted file mode 100644 index d6c10deb0..000000000 --- a/vendor/golang.org/x/text/encoding/japanese/maketables.go +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This program generates tables.go: -// go run maketables.go | gofmt > tables.go - -// TODO: Emoji extensions? -// http://www.unicode.org/faq/emoji_dingbats.html -// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt - -import ( - "bufio" - "fmt" - "log" - "net/http" - "sort" - "strings" -) - -type entry struct { - jisCode, table int -} - -func main() { - fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") - fmt.Printf("// Package japanese provides Japanese encodings such as EUC-JP and Shift JIS.\n") - fmt.Printf(`package japanese // import "golang.org/x/text/encoding/japanese"` + "\n\n") - - reverse := [65536]entry{} - for i := range reverse { - reverse[i].table = -1 - } - - tables := []struct { - url string - name string - }{ - {"http://encoding.spec.whatwg.org/index-jis0208.txt", "0208"}, - {"http://encoding.spec.whatwg.org/index-jis0212.txt", "0212"}, - } - for i, table := range tables { - res, err := http.Get(table.url) - if err != nil { - log.Fatalf("%q: Get: %v", table.url, err) - } - defer res.Body.Close() - - mapping := [65536]uint16{} - - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := 0, uint16(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("%q: could not parse %q", table.url, s) - } - if x < 0 || 120*94 <= x { - log.Fatalf("%q: JIS code %d is out of range", table.url, x) - } - mapping[x] = y - if reverse[y].table == -1 { - reverse[y] = entry{jisCode: x, table: i} - } - } - if err := scanner.Err(); err != nil { - log.Fatalf("%q: scanner error: %v", table.url, err) - } - - fmt.Printf("// jis%sDecode is the decoding table from JIS %s code to Unicode.\n// It is defined at %s\n", - table.name, table.name, table.url) - fmt.Printf("var jis%sDecode = [...]uint16{\n", table.name) - for i, m := range mapping { - if m != 0 { - fmt.Printf("\t%d: 0x%04X,\n", i, m) - } - } - fmt.Printf("}\n\n") - } - - // Any run of at least separation continuous zero entries in the reverse map will - // be a separate encode table. - const separation = 1024 - - intervals := []interval(nil) - low, high := -1, -1 - for i, v := range reverse { - if v.table == -1 { - continue - } - if low < 0 { - low = i - } else if i-high >= separation { - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - low = i - } - high = i + 1 - } - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - sort.Sort(byDecreasingLength(intervals)) - - fmt.Printf("const (\n") - fmt.Printf("\tjis0208 = 1\n") - fmt.Printf("\tjis0212 = 2\n") - fmt.Printf("\tcodeMask = 0x7f\n") - fmt.Printf("\tcodeShift = 7\n") - fmt.Printf("\ttableShift = 14\n") - fmt.Printf(")\n\n") - - fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) - fmt.Printf("// encodeX are the encoding tables from Unicode to JIS code,\n") - fmt.Printf("// sorted by decreasing length.\n") - for i, v := range intervals { - fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) - } - fmt.Printf("//\n") - fmt.Printf("// The high two bits of the value record whether the JIS code comes from the\n") - fmt.Printf("// JIS0208 table (high bits == 1) or the JIS0212 table (high bits == 2).\n") - fmt.Printf("// The low 14 bits are two 7-bit unsigned integers j1 and j2 that form the\n") - fmt.Printf("// JIS code (94*j1 + j2) within that table.\n") - fmt.Printf("\n") - - for i, v := range intervals { - fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) - fmt.Printf("var encode%d = [...]uint16{\n", i) - for j := v.low; j < v.high; j++ { - x := reverse[j] - if x.table == -1 { - continue - } - fmt.Printf("\t%d - %d: jis%s<<14 | 0x%02X<<7 | 0x%02X,\n", - j, v.low, tables[x.table].name, x.jisCode/94, x.jisCode%94) - } - fmt.Printf("}\n\n") - } -} - -// interval is a half-open interval [low, high). -type interval struct { - low, high int -} - -func (i interval) len() int { return i.high - i.low } - -// byDecreasingLength sorts intervals by decreasing length. -type byDecreasingLength []interval - -func (b byDecreasingLength) Len() int { return len(b) } -func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } -func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } diff --git a/vendor/golang.org/x/text/encoding/japanese/shiftjis.go b/vendor/golang.org/x/text/encoding/japanese/shiftjis.go deleted file mode 100644 index 424cb8be0..000000000 --- a/vendor/golang.org/x/text/encoding/japanese/shiftjis.go +++ /dev/null @@ -1,189 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package japanese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// ShiftJIS is the Shift JIS encoding, also known as Code Page 932 and -// Windows-31J. -var ShiftJIS encoding.Encoding = &shiftJIS - -var shiftJIS = internal.Encoding{ - &internal.SimpleEncoding{shiftJISDecoder{}, shiftJISEncoder{}}, - "Shift JIS", - identifier.ShiftJIS, -} - -var errInvalidShiftJIS = errors.New("japanese: invalid Shift JIS encoding") - -type shiftJISDecoder struct{ transform.NopResetter } - -func (shiftJISDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - switch c0 := src[nSrc]; { - case c0 < utf8.RuneSelf: - r, size = rune(c0), 1 - - case 0xa1 <= c0 && c0 < 0xe0: - r, size = rune(c0)+(0xff61-0xa1), 1 - - case (0x81 <= c0 && c0 < 0xa0) || (0xe0 <= c0 && c0 < 0xf0): - if c0 <= 0x9f { - c0 -= 0x70 - } else { - c0 -= 0xb0 - } - c0 = 2*c0 - 0x21 - - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - switch { - case c1 < 0x40: - err = errInvalidShiftJIS - break loop - case c1 < 0x7f: - c0-- - c1 -= 0x40 - case c1 == 0x7f: - err = errInvalidShiftJIS - break loop - case c1 < 0x9f: - c0-- - c1 -= 0x41 - case c1 < 0xfd: - c1 -= 0x9f - default: - err = errInvalidShiftJIS - break loop - } - r, size = '\ufffd', 2 - if i := int(c0)*94 + int(c1); i < len(jis0208Decode) { - r = rune(jis0208Decode[i]) - if r == 0 { - r = '\ufffd' - } - } - - default: - err = errInvalidShiftJIS - break loop - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidShiftJIS - } - return nDst, nSrc, err -} - -type shiftJISEncoder struct{ transform.NopResetter } - -func (shiftJISEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break loop - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r>>tableShift == jis0208 { - goto write2 - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r>>tableShift == jis0208 { - goto write2 - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r>>tableShift == jis0208 { - goto write2 - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r>>tableShift == jis0208 { - goto write2 - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r>>tableShift == jis0208 { - goto write2 - } - case encode5Low <= r && r < encode5High: - if 0xff61 <= r && r < 0xffa0 { - r -= 0xff61 - 0xa1 - goto write1 - } - if r = rune(encode5[r-encode5Low]); r>>tableShift == jis0208 { - goto write2 - } - } - err = internal.ErrASCIIReplacement - break - } - - write1: - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - write2: - j1 := uint8(r>>codeShift) & codeMask - j2 := uint8(r) & codeMask - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break loop - } - if j1 <= 61 { - dst[nDst+0] = 129 + j1/2 - } else { - dst[nDst+0] = 193 + j1/2 - } - if j1&1 == 0 { - dst[nDst+1] = j2 + j2/63 + 64 - } else { - dst[nDst+1] = j2 + 159 - } - nDst += 2 - continue - } - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/encoding/japanese/tables.go b/vendor/golang.org/x/text/encoding/japanese/tables.go deleted file mode 100644 index 1108e83d5..000000000 --- a/vendor/golang.org/x/text/encoding/japanese/tables.go +++ /dev/null @@ -1,26971 +0,0 @@ -// generated by go run maketables.go; DO NOT EDIT - -// Package japanese provides Japanese encodings such as EUC-JP and Shift JIS. -package japanese - -// jis0208Decode is the decoding table from JIS 0208 code to Unicode. -// It is defined at http://encoding.spec.whatwg.org/index-jis0208.txt -var jis0208Decode = [...]uint16{ - 0: 0x3000, - 1: 0x3001, - 2: 0x3002, - 3: 0xFF0C, - 4: 0xFF0E, - 5: 0x30FB, - 6: 0xFF1A, - 7: 0xFF1B, - 8: 0xFF1F, - 9: 0xFF01, - 10: 0x309B, - 11: 0x309C, - 12: 0x00B4, - 13: 0xFF40, - 14: 0x00A8, - 15: 0xFF3E, - 16: 0xFFE3, - 17: 0xFF3F, - 18: 0x30FD, - 19: 0x30FE, - 20: 0x309D, - 21: 0x309E, - 22: 0x3003, - 23: 0x4EDD, - 24: 0x3005, - 25: 0x3006, - 26: 0x3007, - 27: 0x30FC, - 28: 0x2015, - 29: 0x2010, - 30: 0xFF0F, - 31: 0xFF3C, - 32: 0xFF5E, - 33: 0x2225, - 34: 0xFF5C, - 35: 0x2026, - 36: 0x2025, - 37: 0x2018, - 38: 0x2019, - 39: 0x201C, - 40: 0x201D, - 41: 0xFF08, - 42: 0xFF09, - 43: 0x3014, - 44: 0x3015, - 45: 0xFF3B, - 46: 0xFF3D, - 47: 0xFF5B, - 48: 0xFF5D, - 49: 0x3008, - 50: 0x3009, - 51: 0x300A, - 52: 0x300B, - 53: 0x300C, - 54: 0x300D, - 55: 0x300E, - 56: 0x300F, - 57: 0x3010, - 58: 0x3011, - 59: 0xFF0B, - 60: 0xFF0D, - 61: 0x00B1, - 62: 0x00D7, - 63: 0x00F7, - 64: 0xFF1D, - 65: 0x2260, - 66: 0xFF1C, - 67: 0xFF1E, - 68: 0x2266, - 69: 0x2267, - 70: 0x221E, - 71: 0x2234, - 72: 0x2642, - 73: 0x2640, - 74: 0x00B0, - 75: 0x2032, - 76: 0x2033, - 77: 0x2103, - 78: 0xFFE5, - 79: 0xFF04, - 80: 0xFFE0, - 81: 0xFFE1, - 82: 0xFF05, - 83: 0xFF03, - 84: 0xFF06, - 85: 0xFF0A, - 86: 0xFF20, - 87: 0x00A7, - 88: 0x2606, - 89: 0x2605, - 90: 0x25CB, - 91: 0x25CF, - 92: 0x25CE, - 93: 0x25C7, - 94: 0x25C6, - 95: 0x25A1, - 96: 0x25A0, - 97: 0x25B3, - 98: 0x25B2, - 99: 0x25BD, - 100: 0x25BC, - 101: 0x203B, - 102: 0x3012, - 103: 0x2192, - 104: 0x2190, - 105: 0x2191, - 106: 0x2193, - 107: 0x3013, - 119: 0x2208, - 120: 0x220B, - 121: 0x2286, - 122: 0x2287, - 123: 0x2282, - 124: 0x2283, - 125: 0x222A, - 126: 0x2229, - 135: 0x2227, - 136: 0x2228, - 137: 0xFFE2, - 138: 0x21D2, - 139: 0x21D4, - 140: 0x2200, - 141: 0x2203, - 153: 0x2220, - 154: 0x22A5, - 155: 0x2312, - 156: 0x2202, - 157: 0x2207, - 158: 0x2261, - 159: 0x2252, - 160: 0x226A, - 161: 0x226B, - 162: 0x221A, - 163: 0x223D, - 164: 0x221D, - 165: 0x2235, - 166: 0x222B, - 167: 0x222C, - 175: 0x212B, - 176: 0x2030, - 177: 0x266F, - 178: 0x266D, - 179: 0x266A, - 180: 0x2020, - 181: 0x2021, - 182: 0x00B6, - 187: 0x25EF, - 203: 0xFF10, - 204: 0xFF11, - 205: 0xFF12, - 206: 0xFF13, - 207: 0xFF14, - 208: 0xFF15, - 209: 0xFF16, - 210: 0xFF17, - 211: 0xFF18, - 212: 0xFF19, - 220: 0xFF21, - 221: 0xFF22, - 222: 0xFF23, - 223: 0xFF24, - 224: 0xFF25, - 225: 0xFF26, - 226: 0xFF27, - 227: 0xFF28, - 228: 0xFF29, - 229: 0xFF2A, - 230: 0xFF2B, - 231: 0xFF2C, - 232: 0xFF2D, - 233: 0xFF2E, - 234: 0xFF2F, - 235: 0xFF30, - 236: 0xFF31, - 237: 0xFF32, - 238: 0xFF33, - 239: 0xFF34, - 240: 0xFF35, - 241: 0xFF36, - 242: 0xFF37, - 243: 0xFF38, - 244: 0xFF39, - 245: 0xFF3A, - 252: 0xFF41, - 253: 0xFF42, - 254: 0xFF43, - 255: 0xFF44, - 256: 0xFF45, - 257: 0xFF46, - 258: 0xFF47, - 259: 0xFF48, - 260: 0xFF49, - 261: 0xFF4A, - 262: 0xFF4B, - 263: 0xFF4C, - 264: 0xFF4D, - 265: 0xFF4E, - 266: 0xFF4F, - 267: 0xFF50, - 268: 0xFF51, - 269: 0xFF52, - 270: 0xFF53, - 271: 0xFF54, - 272: 0xFF55, - 273: 0xFF56, - 274: 0xFF57, - 275: 0xFF58, - 276: 0xFF59, - 277: 0xFF5A, - 282: 0x3041, - 283: 0x3042, - 284: 0x3043, - 285: 0x3044, - 286: 0x3045, - 287: 0x3046, - 288: 0x3047, - 289: 0x3048, - 290: 0x3049, - 291: 0x304A, - 292: 0x304B, - 293: 0x304C, - 294: 0x304D, - 295: 0x304E, - 296: 0x304F, - 297: 0x3050, - 298: 0x3051, - 299: 0x3052, - 300: 0x3053, - 301: 0x3054, - 302: 0x3055, - 303: 0x3056, - 304: 0x3057, - 305: 0x3058, - 306: 0x3059, - 307: 0x305A, - 308: 0x305B, - 309: 0x305C, - 310: 0x305D, - 311: 0x305E, - 312: 0x305F, - 313: 0x3060, - 314: 0x3061, - 315: 0x3062, - 316: 0x3063, - 317: 0x3064, - 318: 0x3065, - 319: 0x3066, - 320: 0x3067, - 321: 0x3068, - 322: 0x3069, - 323: 0x306A, - 324: 0x306B, - 325: 0x306C, - 326: 0x306D, - 327: 0x306E, - 328: 0x306F, - 329: 0x3070, - 330: 0x3071, - 331: 0x3072, - 332: 0x3073, - 333: 0x3074, - 334: 0x3075, - 335: 0x3076, - 336: 0x3077, - 337: 0x3078, - 338: 0x3079, - 339: 0x307A, - 340: 0x307B, - 341: 0x307C, - 342: 0x307D, - 343: 0x307E, - 344: 0x307F, - 345: 0x3080, - 346: 0x3081, - 347: 0x3082, - 348: 0x3083, - 349: 0x3084, - 350: 0x3085, - 351: 0x3086, - 352: 0x3087, - 353: 0x3088, - 354: 0x3089, - 355: 0x308A, - 356: 0x308B, - 357: 0x308C, - 358: 0x308D, - 359: 0x308E, - 360: 0x308F, - 361: 0x3090, - 362: 0x3091, - 363: 0x3092, - 364: 0x3093, - 376: 0x30A1, - 377: 0x30A2, - 378: 0x30A3, - 379: 0x30A4, - 380: 0x30A5, - 381: 0x30A6, - 382: 0x30A7, - 383: 0x30A8, - 384: 0x30A9, - 385: 0x30AA, - 386: 0x30AB, - 387: 0x30AC, - 388: 0x30AD, - 389: 0x30AE, - 390: 0x30AF, - 391: 0x30B0, - 392: 0x30B1, - 393: 0x30B2, - 394: 0x30B3, - 395: 0x30B4, - 396: 0x30B5, - 397: 0x30B6, - 398: 0x30B7, - 399: 0x30B8, - 400: 0x30B9, - 401: 0x30BA, - 402: 0x30BB, - 403: 0x30BC, - 404: 0x30BD, - 405: 0x30BE, - 406: 0x30BF, - 407: 0x30C0, - 408: 0x30C1, - 409: 0x30C2, - 410: 0x30C3, - 411: 0x30C4, - 412: 0x30C5, - 413: 0x30C6, - 414: 0x30C7, - 415: 0x30C8, - 416: 0x30C9, - 417: 0x30CA, - 418: 0x30CB, - 419: 0x30CC, - 420: 0x30CD, - 421: 0x30CE, - 422: 0x30CF, - 423: 0x30D0, - 424: 0x30D1, - 425: 0x30D2, - 426: 0x30D3, - 427: 0x30D4, - 428: 0x30D5, - 429: 0x30D6, - 430: 0x30D7, - 431: 0x30D8, - 432: 0x30D9, - 433: 0x30DA, - 434: 0x30DB, - 435: 0x30DC, - 436: 0x30DD, - 437: 0x30DE, - 438: 0x30DF, - 439: 0x30E0, - 440: 0x30E1, - 441: 0x30E2, - 442: 0x30E3, - 443: 0x30E4, - 444: 0x30E5, - 445: 0x30E6, - 446: 0x30E7, - 447: 0x30E8, - 448: 0x30E9, - 449: 0x30EA, - 450: 0x30EB, - 451: 0x30EC, - 452: 0x30ED, - 453: 0x30EE, - 454: 0x30EF, - 455: 0x30F0, - 456: 0x30F1, - 457: 0x30F2, - 458: 0x30F3, - 459: 0x30F4, - 460: 0x30F5, - 461: 0x30F6, - 470: 0x0391, - 471: 0x0392, - 472: 0x0393, - 473: 0x0394, - 474: 0x0395, - 475: 0x0396, - 476: 0x0397, - 477: 0x0398, - 478: 0x0399, - 479: 0x039A, - 480: 0x039B, - 481: 0x039C, - 482: 0x039D, - 483: 0x039E, - 484: 0x039F, - 485: 0x03A0, - 486: 0x03A1, - 487: 0x03A3, - 488: 0x03A4, - 489: 0x03A5, - 490: 0x03A6, - 491: 0x03A7, - 492: 0x03A8, - 493: 0x03A9, - 502: 0x03B1, - 503: 0x03B2, - 504: 0x03B3, - 505: 0x03B4, - 506: 0x03B5, - 507: 0x03B6, - 508: 0x03B7, - 509: 0x03B8, - 510: 0x03B9, - 511: 0x03BA, - 512: 0x03BB, - 513: 0x03BC, - 514: 0x03BD, - 515: 0x03BE, - 516: 0x03BF, - 517: 0x03C0, - 518: 0x03C1, - 519: 0x03C3, - 520: 0x03C4, - 521: 0x03C5, - 522: 0x03C6, - 523: 0x03C7, - 524: 0x03C8, - 525: 0x03C9, - 564: 0x0410, - 565: 0x0411, - 566: 0x0412, - 567: 0x0413, - 568: 0x0414, - 569: 0x0415, - 570: 0x0401, - 571: 0x0416, - 572: 0x0417, - 573: 0x0418, - 574: 0x0419, - 575: 0x041A, - 576: 0x041B, - 577: 0x041C, - 578: 0x041D, - 579: 0x041E, - 580: 0x041F, - 581: 0x0420, - 582: 0x0421, - 583: 0x0422, - 584: 0x0423, - 585: 0x0424, - 586: 0x0425, - 587: 0x0426, - 588: 0x0427, - 589: 0x0428, - 590: 0x0429, - 591: 0x042A, - 592: 0x042B, - 593: 0x042C, - 594: 0x042D, - 595: 0x042E, - 596: 0x042F, - 612: 0x0430, - 613: 0x0431, - 614: 0x0432, - 615: 0x0433, - 616: 0x0434, - 617: 0x0435, - 618: 0x0451, - 619: 0x0436, - 620: 0x0437, - 621: 0x0438, - 622: 0x0439, - 623: 0x043A, - 624: 0x043B, - 625: 0x043C, - 626: 0x043D, - 627: 0x043E, - 628: 0x043F, - 629: 0x0440, - 630: 0x0441, - 631: 0x0442, - 632: 0x0443, - 633: 0x0444, - 634: 0x0445, - 635: 0x0446, - 636: 0x0447, - 637: 0x0448, - 638: 0x0449, - 639: 0x044A, - 640: 0x044B, - 641: 0x044C, - 642: 0x044D, - 643: 0x044E, - 644: 0x044F, - 658: 0x2500, - 659: 0x2502, - 660: 0x250C, - 661: 0x2510, - 662: 0x2518, - 663: 0x2514, - 664: 0x251C, - 665: 0x252C, - 666: 0x2524, - 667: 0x2534, - 668: 0x253C, - 669: 0x2501, - 670: 0x2503, - 671: 0x250F, - 672: 0x2513, - 673: 0x251B, - 674: 0x2517, - 675: 0x2523, - 676: 0x2533, - 677: 0x252B, - 678: 0x253B, - 679: 0x254B, - 680: 0x2520, - 681: 0x252F, - 682: 0x2528, - 683: 0x2537, - 684: 0x253F, - 685: 0x251D, - 686: 0x2530, - 687: 0x2525, - 688: 0x2538, - 689: 0x2542, - 1128: 0x2460, - 1129: 0x2461, - 1130: 0x2462, - 1131: 0x2463, - 1132: 0x2464, - 1133: 0x2465, - 1134: 0x2466, - 1135: 0x2467, - 1136: 0x2468, - 1137: 0x2469, - 1138: 0x246A, - 1139: 0x246B, - 1140: 0x246C, - 1141: 0x246D, - 1142: 0x246E, - 1143: 0x246F, - 1144: 0x2470, - 1145: 0x2471, - 1146: 0x2472, - 1147: 0x2473, - 1148: 0x2160, - 1149: 0x2161, - 1150: 0x2162, - 1151: 0x2163, - 1152: 0x2164, - 1153: 0x2165, - 1154: 0x2166, - 1155: 0x2167, - 1156: 0x2168, - 1157: 0x2169, - 1159: 0x3349, - 1160: 0x3314, - 1161: 0x3322, - 1162: 0x334D, - 1163: 0x3318, - 1164: 0x3327, - 1165: 0x3303, - 1166: 0x3336, - 1167: 0x3351, - 1168: 0x3357, - 1169: 0x330D, - 1170: 0x3326, - 1171: 0x3323, - 1172: 0x332B, - 1173: 0x334A, - 1174: 0x333B, - 1175: 0x339C, - 1176: 0x339D, - 1177: 0x339E, - 1178: 0x338E, - 1179: 0x338F, - 1180: 0x33C4, - 1181: 0x33A1, - 1190: 0x337B, - 1191: 0x301D, - 1192: 0x301F, - 1193: 0x2116, - 1194: 0x33CD, - 1195: 0x2121, - 1196: 0x32A4, - 1197: 0x32A5, - 1198: 0x32A6, - 1199: 0x32A7, - 1200: 0x32A8, - 1201: 0x3231, - 1202: 0x3232, - 1203: 0x3239, - 1204: 0x337E, - 1205: 0x337D, - 1206: 0x337C, - 1207: 0x2252, - 1208: 0x2261, - 1209: 0x222B, - 1210: 0x222E, - 1211: 0x2211, - 1212: 0x221A, - 1213: 0x22A5, - 1214: 0x2220, - 1215: 0x221F, - 1216: 0x22BF, - 1217: 0x2235, - 1218: 0x2229, - 1219: 0x222A, - 1410: 0x4E9C, - 1411: 0x5516, - 1412: 0x5A03, - 1413: 0x963F, - 1414: 0x54C0, - 1415: 0x611B, - 1416: 0x6328, - 1417: 0x59F6, - 1418: 0x9022, - 1419: 0x8475, - 1420: 0x831C, - 1421: 0x7A50, - 1422: 0x60AA, - 1423: 0x63E1, - 1424: 0x6E25, - 1425: 0x65ED, - 1426: 0x8466, - 1427: 0x82A6, - 1428: 0x9BF5, - 1429: 0x6893, - 1430: 0x5727, - 1431: 0x65A1, - 1432: 0x6271, - 1433: 0x5B9B, - 1434: 0x59D0, - 1435: 0x867B, - 1436: 0x98F4, - 1437: 0x7D62, - 1438: 0x7DBE, - 1439: 0x9B8E, - 1440: 0x6216, - 1441: 0x7C9F, - 1442: 0x88B7, - 1443: 0x5B89, - 1444: 0x5EB5, - 1445: 0x6309, - 1446: 0x6697, - 1447: 0x6848, - 1448: 0x95C7, - 1449: 0x978D, - 1450: 0x674F, - 1451: 0x4EE5, - 1452: 0x4F0A, - 1453: 0x4F4D, - 1454: 0x4F9D, - 1455: 0x5049, - 1456: 0x56F2, - 1457: 0x5937, - 1458: 0x59D4, - 1459: 0x5A01, - 1460: 0x5C09, - 1461: 0x60DF, - 1462: 0x610F, - 1463: 0x6170, - 1464: 0x6613, - 1465: 0x6905, - 1466: 0x70BA, - 1467: 0x754F, - 1468: 0x7570, - 1469: 0x79FB, - 1470: 0x7DAD, - 1471: 0x7DEF, - 1472: 0x80C3, - 1473: 0x840E, - 1474: 0x8863, - 1475: 0x8B02, - 1476: 0x9055, - 1477: 0x907A, - 1478: 0x533B, - 1479: 0x4E95, - 1480: 0x4EA5, - 1481: 0x57DF, - 1482: 0x80B2, - 1483: 0x90C1, - 1484: 0x78EF, - 1485: 0x4E00, - 1486: 0x58F1, - 1487: 0x6EA2, - 1488: 0x9038, - 1489: 0x7A32, - 1490: 0x8328, - 1491: 0x828B, - 1492: 0x9C2F, - 1493: 0x5141, - 1494: 0x5370, - 1495: 0x54BD, - 1496: 0x54E1, - 1497: 0x56E0, - 1498: 0x59FB, - 1499: 0x5F15, - 1500: 0x98F2, - 1501: 0x6DEB, - 1502: 0x80E4, - 1503: 0x852D, - 1504: 0x9662, - 1505: 0x9670, - 1506: 0x96A0, - 1507: 0x97FB, - 1508: 0x540B, - 1509: 0x53F3, - 1510: 0x5B87, - 1511: 0x70CF, - 1512: 0x7FBD, - 1513: 0x8FC2, - 1514: 0x96E8, - 1515: 0x536F, - 1516: 0x9D5C, - 1517: 0x7ABA, - 1518: 0x4E11, - 1519: 0x7893, - 1520: 0x81FC, - 1521: 0x6E26, - 1522: 0x5618, - 1523: 0x5504, - 1524: 0x6B1D, - 1525: 0x851A, - 1526: 0x9C3B, - 1527: 0x59E5, - 1528: 0x53A9, - 1529: 0x6D66, - 1530: 0x74DC, - 1531: 0x958F, - 1532: 0x5642, - 1533: 0x4E91, - 1534: 0x904B, - 1535: 0x96F2, - 1536: 0x834F, - 1537: 0x990C, - 1538: 0x53E1, - 1539: 0x55B6, - 1540: 0x5B30, - 1541: 0x5F71, - 1542: 0x6620, - 1543: 0x66F3, - 1544: 0x6804, - 1545: 0x6C38, - 1546: 0x6CF3, - 1547: 0x6D29, - 1548: 0x745B, - 1549: 0x76C8, - 1550: 0x7A4E, - 1551: 0x9834, - 1552: 0x82F1, - 1553: 0x885B, - 1554: 0x8A60, - 1555: 0x92ED, - 1556: 0x6DB2, - 1557: 0x75AB, - 1558: 0x76CA, - 1559: 0x99C5, - 1560: 0x60A6, - 1561: 0x8B01, - 1562: 0x8D8A, - 1563: 0x95B2, - 1564: 0x698E, - 1565: 0x53AD, - 1566: 0x5186, - 1567: 0x5712, - 1568: 0x5830, - 1569: 0x5944, - 1570: 0x5BB4, - 1571: 0x5EF6, - 1572: 0x6028, - 1573: 0x63A9, - 1574: 0x63F4, - 1575: 0x6CBF, - 1576: 0x6F14, - 1577: 0x708E, - 1578: 0x7114, - 1579: 0x7159, - 1580: 0x71D5, - 1581: 0x733F, - 1582: 0x7E01, - 1583: 0x8276, - 1584: 0x82D1, - 1585: 0x8597, - 1586: 0x9060, - 1587: 0x925B, - 1588: 0x9D1B, - 1589: 0x5869, - 1590: 0x65BC, - 1591: 0x6C5A, - 1592: 0x7525, - 1593: 0x51F9, - 1594: 0x592E, - 1595: 0x5965, - 1596: 0x5F80, - 1597: 0x5FDC, - 1598: 0x62BC, - 1599: 0x65FA, - 1600: 0x6A2A, - 1601: 0x6B27, - 1602: 0x6BB4, - 1603: 0x738B, - 1604: 0x7FC1, - 1605: 0x8956, - 1606: 0x9D2C, - 1607: 0x9D0E, - 1608: 0x9EC4, - 1609: 0x5CA1, - 1610: 0x6C96, - 1611: 0x837B, - 1612: 0x5104, - 1613: 0x5C4B, - 1614: 0x61B6, - 1615: 0x81C6, - 1616: 0x6876, - 1617: 0x7261, - 1618: 0x4E59, - 1619: 0x4FFA, - 1620: 0x5378, - 1621: 0x6069, - 1622: 0x6E29, - 1623: 0x7A4F, - 1624: 0x97F3, - 1625: 0x4E0B, - 1626: 0x5316, - 1627: 0x4EEE, - 1628: 0x4F55, - 1629: 0x4F3D, - 1630: 0x4FA1, - 1631: 0x4F73, - 1632: 0x52A0, - 1633: 0x53EF, - 1634: 0x5609, - 1635: 0x590F, - 1636: 0x5AC1, - 1637: 0x5BB6, - 1638: 0x5BE1, - 1639: 0x79D1, - 1640: 0x6687, - 1641: 0x679C, - 1642: 0x67B6, - 1643: 0x6B4C, - 1644: 0x6CB3, - 1645: 0x706B, - 1646: 0x73C2, - 1647: 0x798D, - 1648: 0x79BE, - 1649: 0x7A3C, - 1650: 0x7B87, - 1651: 0x82B1, - 1652: 0x82DB, - 1653: 0x8304, - 1654: 0x8377, - 1655: 0x83EF, - 1656: 0x83D3, - 1657: 0x8766, - 1658: 0x8AB2, - 1659: 0x5629, - 1660: 0x8CA8, - 1661: 0x8FE6, - 1662: 0x904E, - 1663: 0x971E, - 1664: 0x868A, - 1665: 0x4FC4, - 1666: 0x5CE8, - 1667: 0x6211, - 1668: 0x7259, - 1669: 0x753B, - 1670: 0x81E5, - 1671: 0x82BD, - 1672: 0x86FE, - 1673: 0x8CC0, - 1674: 0x96C5, - 1675: 0x9913, - 1676: 0x99D5, - 1677: 0x4ECB, - 1678: 0x4F1A, - 1679: 0x89E3, - 1680: 0x56DE, - 1681: 0x584A, - 1682: 0x58CA, - 1683: 0x5EFB, - 1684: 0x5FEB, - 1685: 0x602A, - 1686: 0x6094, - 1687: 0x6062, - 1688: 0x61D0, - 1689: 0x6212, - 1690: 0x62D0, - 1691: 0x6539, - 1692: 0x9B41, - 1693: 0x6666, - 1694: 0x68B0, - 1695: 0x6D77, - 1696: 0x7070, - 1697: 0x754C, - 1698: 0x7686, - 1699: 0x7D75, - 1700: 0x82A5, - 1701: 0x87F9, - 1702: 0x958B, - 1703: 0x968E, - 1704: 0x8C9D, - 1705: 0x51F1, - 1706: 0x52BE, - 1707: 0x5916, - 1708: 0x54B3, - 1709: 0x5BB3, - 1710: 0x5D16, - 1711: 0x6168, - 1712: 0x6982, - 1713: 0x6DAF, - 1714: 0x788D, - 1715: 0x84CB, - 1716: 0x8857, - 1717: 0x8A72, - 1718: 0x93A7, - 1719: 0x9AB8, - 1720: 0x6D6C, - 1721: 0x99A8, - 1722: 0x86D9, - 1723: 0x57A3, - 1724: 0x67FF, - 1725: 0x86CE, - 1726: 0x920E, - 1727: 0x5283, - 1728: 0x5687, - 1729: 0x5404, - 1730: 0x5ED3, - 1731: 0x62E1, - 1732: 0x64B9, - 1733: 0x683C, - 1734: 0x6838, - 1735: 0x6BBB, - 1736: 0x7372, - 1737: 0x78BA, - 1738: 0x7A6B, - 1739: 0x899A, - 1740: 0x89D2, - 1741: 0x8D6B, - 1742: 0x8F03, - 1743: 0x90ED, - 1744: 0x95A3, - 1745: 0x9694, - 1746: 0x9769, - 1747: 0x5B66, - 1748: 0x5CB3, - 1749: 0x697D, - 1750: 0x984D, - 1751: 0x984E, - 1752: 0x639B, - 1753: 0x7B20, - 1754: 0x6A2B, - 1755: 0x6A7F, - 1756: 0x68B6, - 1757: 0x9C0D, - 1758: 0x6F5F, - 1759: 0x5272, - 1760: 0x559D, - 1761: 0x6070, - 1762: 0x62EC, - 1763: 0x6D3B, - 1764: 0x6E07, - 1765: 0x6ED1, - 1766: 0x845B, - 1767: 0x8910, - 1768: 0x8F44, - 1769: 0x4E14, - 1770: 0x9C39, - 1771: 0x53F6, - 1772: 0x691B, - 1773: 0x6A3A, - 1774: 0x9784, - 1775: 0x682A, - 1776: 0x515C, - 1777: 0x7AC3, - 1778: 0x84B2, - 1779: 0x91DC, - 1780: 0x938C, - 1781: 0x565B, - 1782: 0x9D28, - 1783: 0x6822, - 1784: 0x8305, - 1785: 0x8431, - 1786: 0x7CA5, - 1787: 0x5208, - 1788: 0x82C5, - 1789: 0x74E6, - 1790: 0x4E7E, - 1791: 0x4F83, - 1792: 0x51A0, - 1793: 0x5BD2, - 1794: 0x520A, - 1795: 0x52D8, - 1796: 0x52E7, - 1797: 0x5DFB, - 1798: 0x559A, - 1799: 0x582A, - 1800: 0x59E6, - 1801: 0x5B8C, - 1802: 0x5B98, - 1803: 0x5BDB, - 1804: 0x5E72, - 1805: 0x5E79, - 1806: 0x60A3, - 1807: 0x611F, - 1808: 0x6163, - 1809: 0x61BE, - 1810: 0x63DB, - 1811: 0x6562, - 1812: 0x67D1, - 1813: 0x6853, - 1814: 0x68FA, - 1815: 0x6B3E, - 1816: 0x6B53, - 1817: 0x6C57, - 1818: 0x6F22, - 1819: 0x6F97, - 1820: 0x6F45, - 1821: 0x74B0, - 1822: 0x7518, - 1823: 0x76E3, - 1824: 0x770B, - 1825: 0x7AFF, - 1826: 0x7BA1, - 1827: 0x7C21, - 1828: 0x7DE9, - 1829: 0x7F36, - 1830: 0x7FF0, - 1831: 0x809D, - 1832: 0x8266, - 1833: 0x839E, - 1834: 0x89B3, - 1835: 0x8ACC, - 1836: 0x8CAB, - 1837: 0x9084, - 1838: 0x9451, - 1839: 0x9593, - 1840: 0x9591, - 1841: 0x95A2, - 1842: 0x9665, - 1843: 0x97D3, - 1844: 0x9928, - 1845: 0x8218, - 1846: 0x4E38, - 1847: 0x542B, - 1848: 0x5CB8, - 1849: 0x5DCC, - 1850: 0x73A9, - 1851: 0x764C, - 1852: 0x773C, - 1853: 0x5CA9, - 1854: 0x7FEB, - 1855: 0x8D0B, - 1856: 0x96C1, - 1857: 0x9811, - 1858: 0x9854, - 1859: 0x9858, - 1860: 0x4F01, - 1861: 0x4F0E, - 1862: 0x5371, - 1863: 0x559C, - 1864: 0x5668, - 1865: 0x57FA, - 1866: 0x5947, - 1867: 0x5B09, - 1868: 0x5BC4, - 1869: 0x5C90, - 1870: 0x5E0C, - 1871: 0x5E7E, - 1872: 0x5FCC, - 1873: 0x63EE, - 1874: 0x673A, - 1875: 0x65D7, - 1876: 0x65E2, - 1877: 0x671F, - 1878: 0x68CB, - 1879: 0x68C4, - 1880: 0x6A5F, - 1881: 0x5E30, - 1882: 0x6BC5, - 1883: 0x6C17, - 1884: 0x6C7D, - 1885: 0x757F, - 1886: 0x7948, - 1887: 0x5B63, - 1888: 0x7A00, - 1889: 0x7D00, - 1890: 0x5FBD, - 1891: 0x898F, - 1892: 0x8A18, - 1893: 0x8CB4, - 1894: 0x8D77, - 1895: 0x8ECC, - 1896: 0x8F1D, - 1897: 0x98E2, - 1898: 0x9A0E, - 1899: 0x9B3C, - 1900: 0x4E80, - 1901: 0x507D, - 1902: 0x5100, - 1903: 0x5993, - 1904: 0x5B9C, - 1905: 0x622F, - 1906: 0x6280, - 1907: 0x64EC, - 1908: 0x6B3A, - 1909: 0x72A0, - 1910: 0x7591, - 1911: 0x7947, - 1912: 0x7FA9, - 1913: 0x87FB, - 1914: 0x8ABC, - 1915: 0x8B70, - 1916: 0x63AC, - 1917: 0x83CA, - 1918: 0x97A0, - 1919: 0x5409, - 1920: 0x5403, - 1921: 0x55AB, - 1922: 0x6854, - 1923: 0x6A58, - 1924: 0x8A70, - 1925: 0x7827, - 1926: 0x6775, - 1927: 0x9ECD, - 1928: 0x5374, - 1929: 0x5BA2, - 1930: 0x811A, - 1931: 0x8650, - 1932: 0x9006, - 1933: 0x4E18, - 1934: 0x4E45, - 1935: 0x4EC7, - 1936: 0x4F11, - 1937: 0x53CA, - 1938: 0x5438, - 1939: 0x5BAE, - 1940: 0x5F13, - 1941: 0x6025, - 1942: 0x6551, - 1943: 0x673D, - 1944: 0x6C42, - 1945: 0x6C72, - 1946: 0x6CE3, - 1947: 0x7078, - 1948: 0x7403, - 1949: 0x7A76, - 1950: 0x7AAE, - 1951: 0x7B08, - 1952: 0x7D1A, - 1953: 0x7CFE, - 1954: 0x7D66, - 1955: 0x65E7, - 1956: 0x725B, - 1957: 0x53BB, - 1958: 0x5C45, - 1959: 0x5DE8, - 1960: 0x62D2, - 1961: 0x62E0, - 1962: 0x6319, - 1963: 0x6E20, - 1964: 0x865A, - 1965: 0x8A31, - 1966: 0x8DDD, - 1967: 0x92F8, - 1968: 0x6F01, - 1969: 0x79A6, - 1970: 0x9B5A, - 1971: 0x4EA8, - 1972: 0x4EAB, - 1973: 0x4EAC, - 1974: 0x4F9B, - 1975: 0x4FA0, - 1976: 0x50D1, - 1977: 0x5147, - 1978: 0x7AF6, - 1979: 0x5171, - 1980: 0x51F6, - 1981: 0x5354, - 1982: 0x5321, - 1983: 0x537F, - 1984: 0x53EB, - 1985: 0x55AC, - 1986: 0x5883, - 1987: 0x5CE1, - 1988: 0x5F37, - 1989: 0x5F4A, - 1990: 0x602F, - 1991: 0x6050, - 1992: 0x606D, - 1993: 0x631F, - 1994: 0x6559, - 1995: 0x6A4B, - 1996: 0x6CC1, - 1997: 0x72C2, - 1998: 0x72ED, - 1999: 0x77EF, - 2000: 0x80F8, - 2001: 0x8105, - 2002: 0x8208, - 2003: 0x854E, - 2004: 0x90F7, - 2005: 0x93E1, - 2006: 0x97FF, - 2007: 0x9957, - 2008: 0x9A5A, - 2009: 0x4EF0, - 2010: 0x51DD, - 2011: 0x5C2D, - 2012: 0x6681, - 2013: 0x696D, - 2014: 0x5C40, - 2015: 0x66F2, - 2016: 0x6975, - 2017: 0x7389, - 2018: 0x6850, - 2019: 0x7C81, - 2020: 0x50C5, - 2021: 0x52E4, - 2022: 0x5747, - 2023: 0x5DFE, - 2024: 0x9326, - 2025: 0x65A4, - 2026: 0x6B23, - 2027: 0x6B3D, - 2028: 0x7434, - 2029: 0x7981, - 2030: 0x79BD, - 2031: 0x7B4B, - 2032: 0x7DCA, - 2033: 0x82B9, - 2034: 0x83CC, - 2035: 0x887F, - 2036: 0x895F, - 2037: 0x8B39, - 2038: 0x8FD1, - 2039: 0x91D1, - 2040: 0x541F, - 2041: 0x9280, - 2042: 0x4E5D, - 2043: 0x5036, - 2044: 0x53E5, - 2045: 0x533A, - 2046: 0x72D7, - 2047: 0x7396, - 2048: 0x77E9, - 2049: 0x82E6, - 2050: 0x8EAF, - 2051: 0x99C6, - 2052: 0x99C8, - 2053: 0x99D2, - 2054: 0x5177, - 2055: 0x611A, - 2056: 0x865E, - 2057: 0x55B0, - 2058: 0x7A7A, - 2059: 0x5076, - 2060: 0x5BD3, - 2061: 0x9047, - 2062: 0x9685, - 2063: 0x4E32, - 2064: 0x6ADB, - 2065: 0x91E7, - 2066: 0x5C51, - 2067: 0x5C48, - 2068: 0x6398, - 2069: 0x7A9F, - 2070: 0x6C93, - 2071: 0x9774, - 2072: 0x8F61, - 2073: 0x7AAA, - 2074: 0x718A, - 2075: 0x9688, - 2076: 0x7C82, - 2077: 0x6817, - 2078: 0x7E70, - 2079: 0x6851, - 2080: 0x936C, - 2081: 0x52F2, - 2082: 0x541B, - 2083: 0x85AB, - 2084: 0x8A13, - 2085: 0x7FA4, - 2086: 0x8ECD, - 2087: 0x90E1, - 2088: 0x5366, - 2089: 0x8888, - 2090: 0x7941, - 2091: 0x4FC2, - 2092: 0x50BE, - 2093: 0x5211, - 2094: 0x5144, - 2095: 0x5553, - 2096: 0x572D, - 2097: 0x73EA, - 2098: 0x578B, - 2099: 0x5951, - 2100: 0x5F62, - 2101: 0x5F84, - 2102: 0x6075, - 2103: 0x6176, - 2104: 0x6167, - 2105: 0x61A9, - 2106: 0x63B2, - 2107: 0x643A, - 2108: 0x656C, - 2109: 0x666F, - 2110: 0x6842, - 2111: 0x6E13, - 2112: 0x7566, - 2113: 0x7A3D, - 2114: 0x7CFB, - 2115: 0x7D4C, - 2116: 0x7D99, - 2117: 0x7E4B, - 2118: 0x7F6B, - 2119: 0x830E, - 2120: 0x834A, - 2121: 0x86CD, - 2122: 0x8A08, - 2123: 0x8A63, - 2124: 0x8B66, - 2125: 0x8EFD, - 2126: 0x981A, - 2127: 0x9D8F, - 2128: 0x82B8, - 2129: 0x8FCE, - 2130: 0x9BE8, - 2131: 0x5287, - 2132: 0x621F, - 2133: 0x6483, - 2134: 0x6FC0, - 2135: 0x9699, - 2136: 0x6841, - 2137: 0x5091, - 2138: 0x6B20, - 2139: 0x6C7A, - 2140: 0x6F54, - 2141: 0x7A74, - 2142: 0x7D50, - 2143: 0x8840, - 2144: 0x8A23, - 2145: 0x6708, - 2146: 0x4EF6, - 2147: 0x5039, - 2148: 0x5026, - 2149: 0x5065, - 2150: 0x517C, - 2151: 0x5238, - 2152: 0x5263, - 2153: 0x55A7, - 2154: 0x570F, - 2155: 0x5805, - 2156: 0x5ACC, - 2157: 0x5EFA, - 2158: 0x61B2, - 2159: 0x61F8, - 2160: 0x62F3, - 2161: 0x6372, - 2162: 0x691C, - 2163: 0x6A29, - 2164: 0x727D, - 2165: 0x72AC, - 2166: 0x732E, - 2167: 0x7814, - 2168: 0x786F, - 2169: 0x7D79, - 2170: 0x770C, - 2171: 0x80A9, - 2172: 0x898B, - 2173: 0x8B19, - 2174: 0x8CE2, - 2175: 0x8ED2, - 2176: 0x9063, - 2177: 0x9375, - 2178: 0x967A, - 2179: 0x9855, - 2180: 0x9A13, - 2181: 0x9E78, - 2182: 0x5143, - 2183: 0x539F, - 2184: 0x53B3, - 2185: 0x5E7B, - 2186: 0x5F26, - 2187: 0x6E1B, - 2188: 0x6E90, - 2189: 0x7384, - 2190: 0x73FE, - 2191: 0x7D43, - 2192: 0x8237, - 2193: 0x8A00, - 2194: 0x8AFA, - 2195: 0x9650, - 2196: 0x4E4E, - 2197: 0x500B, - 2198: 0x53E4, - 2199: 0x547C, - 2200: 0x56FA, - 2201: 0x59D1, - 2202: 0x5B64, - 2203: 0x5DF1, - 2204: 0x5EAB, - 2205: 0x5F27, - 2206: 0x6238, - 2207: 0x6545, - 2208: 0x67AF, - 2209: 0x6E56, - 2210: 0x72D0, - 2211: 0x7CCA, - 2212: 0x88B4, - 2213: 0x80A1, - 2214: 0x80E1, - 2215: 0x83F0, - 2216: 0x864E, - 2217: 0x8A87, - 2218: 0x8DE8, - 2219: 0x9237, - 2220: 0x96C7, - 2221: 0x9867, - 2222: 0x9F13, - 2223: 0x4E94, - 2224: 0x4E92, - 2225: 0x4F0D, - 2226: 0x5348, - 2227: 0x5449, - 2228: 0x543E, - 2229: 0x5A2F, - 2230: 0x5F8C, - 2231: 0x5FA1, - 2232: 0x609F, - 2233: 0x68A7, - 2234: 0x6A8E, - 2235: 0x745A, - 2236: 0x7881, - 2237: 0x8A9E, - 2238: 0x8AA4, - 2239: 0x8B77, - 2240: 0x9190, - 2241: 0x4E5E, - 2242: 0x9BC9, - 2243: 0x4EA4, - 2244: 0x4F7C, - 2245: 0x4FAF, - 2246: 0x5019, - 2247: 0x5016, - 2248: 0x5149, - 2249: 0x516C, - 2250: 0x529F, - 2251: 0x52B9, - 2252: 0x52FE, - 2253: 0x539A, - 2254: 0x53E3, - 2255: 0x5411, - 2256: 0x540E, - 2257: 0x5589, - 2258: 0x5751, - 2259: 0x57A2, - 2260: 0x597D, - 2261: 0x5B54, - 2262: 0x5B5D, - 2263: 0x5B8F, - 2264: 0x5DE5, - 2265: 0x5DE7, - 2266: 0x5DF7, - 2267: 0x5E78, - 2268: 0x5E83, - 2269: 0x5E9A, - 2270: 0x5EB7, - 2271: 0x5F18, - 2272: 0x6052, - 2273: 0x614C, - 2274: 0x6297, - 2275: 0x62D8, - 2276: 0x63A7, - 2277: 0x653B, - 2278: 0x6602, - 2279: 0x6643, - 2280: 0x66F4, - 2281: 0x676D, - 2282: 0x6821, - 2283: 0x6897, - 2284: 0x69CB, - 2285: 0x6C5F, - 2286: 0x6D2A, - 2287: 0x6D69, - 2288: 0x6E2F, - 2289: 0x6E9D, - 2290: 0x7532, - 2291: 0x7687, - 2292: 0x786C, - 2293: 0x7A3F, - 2294: 0x7CE0, - 2295: 0x7D05, - 2296: 0x7D18, - 2297: 0x7D5E, - 2298: 0x7DB1, - 2299: 0x8015, - 2300: 0x8003, - 2301: 0x80AF, - 2302: 0x80B1, - 2303: 0x8154, - 2304: 0x818F, - 2305: 0x822A, - 2306: 0x8352, - 2307: 0x884C, - 2308: 0x8861, - 2309: 0x8B1B, - 2310: 0x8CA2, - 2311: 0x8CFC, - 2312: 0x90CA, - 2313: 0x9175, - 2314: 0x9271, - 2315: 0x783F, - 2316: 0x92FC, - 2317: 0x95A4, - 2318: 0x964D, - 2319: 0x9805, - 2320: 0x9999, - 2321: 0x9AD8, - 2322: 0x9D3B, - 2323: 0x525B, - 2324: 0x52AB, - 2325: 0x53F7, - 2326: 0x5408, - 2327: 0x58D5, - 2328: 0x62F7, - 2329: 0x6FE0, - 2330: 0x8C6A, - 2331: 0x8F5F, - 2332: 0x9EB9, - 2333: 0x514B, - 2334: 0x523B, - 2335: 0x544A, - 2336: 0x56FD, - 2337: 0x7A40, - 2338: 0x9177, - 2339: 0x9D60, - 2340: 0x9ED2, - 2341: 0x7344, - 2342: 0x6F09, - 2343: 0x8170, - 2344: 0x7511, - 2345: 0x5FFD, - 2346: 0x60DA, - 2347: 0x9AA8, - 2348: 0x72DB, - 2349: 0x8FBC, - 2350: 0x6B64, - 2351: 0x9803, - 2352: 0x4ECA, - 2353: 0x56F0, - 2354: 0x5764, - 2355: 0x58BE, - 2356: 0x5A5A, - 2357: 0x6068, - 2358: 0x61C7, - 2359: 0x660F, - 2360: 0x6606, - 2361: 0x6839, - 2362: 0x68B1, - 2363: 0x6DF7, - 2364: 0x75D5, - 2365: 0x7D3A, - 2366: 0x826E, - 2367: 0x9B42, - 2368: 0x4E9B, - 2369: 0x4F50, - 2370: 0x53C9, - 2371: 0x5506, - 2372: 0x5D6F, - 2373: 0x5DE6, - 2374: 0x5DEE, - 2375: 0x67FB, - 2376: 0x6C99, - 2377: 0x7473, - 2378: 0x7802, - 2379: 0x8A50, - 2380: 0x9396, - 2381: 0x88DF, - 2382: 0x5750, - 2383: 0x5EA7, - 2384: 0x632B, - 2385: 0x50B5, - 2386: 0x50AC, - 2387: 0x518D, - 2388: 0x6700, - 2389: 0x54C9, - 2390: 0x585E, - 2391: 0x59BB, - 2392: 0x5BB0, - 2393: 0x5F69, - 2394: 0x624D, - 2395: 0x63A1, - 2396: 0x683D, - 2397: 0x6B73, - 2398: 0x6E08, - 2399: 0x707D, - 2400: 0x91C7, - 2401: 0x7280, - 2402: 0x7815, - 2403: 0x7826, - 2404: 0x796D, - 2405: 0x658E, - 2406: 0x7D30, - 2407: 0x83DC, - 2408: 0x88C1, - 2409: 0x8F09, - 2410: 0x969B, - 2411: 0x5264, - 2412: 0x5728, - 2413: 0x6750, - 2414: 0x7F6A, - 2415: 0x8CA1, - 2416: 0x51B4, - 2417: 0x5742, - 2418: 0x962A, - 2419: 0x583A, - 2420: 0x698A, - 2421: 0x80B4, - 2422: 0x54B2, - 2423: 0x5D0E, - 2424: 0x57FC, - 2425: 0x7895, - 2426: 0x9DFA, - 2427: 0x4F5C, - 2428: 0x524A, - 2429: 0x548B, - 2430: 0x643E, - 2431: 0x6628, - 2432: 0x6714, - 2433: 0x67F5, - 2434: 0x7A84, - 2435: 0x7B56, - 2436: 0x7D22, - 2437: 0x932F, - 2438: 0x685C, - 2439: 0x9BAD, - 2440: 0x7B39, - 2441: 0x5319, - 2442: 0x518A, - 2443: 0x5237, - 2444: 0x5BDF, - 2445: 0x62F6, - 2446: 0x64AE, - 2447: 0x64E6, - 2448: 0x672D, - 2449: 0x6BBA, - 2450: 0x85A9, - 2451: 0x96D1, - 2452: 0x7690, - 2453: 0x9BD6, - 2454: 0x634C, - 2455: 0x9306, - 2456: 0x9BAB, - 2457: 0x76BF, - 2458: 0x6652, - 2459: 0x4E09, - 2460: 0x5098, - 2461: 0x53C2, - 2462: 0x5C71, - 2463: 0x60E8, - 2464: 0x6492, - 2465: 0x6563, - 2466: 0x685F, - 2467: 0x71E6, - 2468: 0x73CA, - 2469: 0x7523, - 2470: 0x7B97, - 2471: 0x7E82, - 2472: 0x8695, - 2473: 0x8B83, - 2474: 0x8CDB, - 2475: 0x9178, - 2476: 0x9910, - 2477: 0x65AC, - 2478: 0x66AB, - 2479: 0x6B8B, - 2480: 0x4ED5, - 2481: 0x4ED4, - 2482: 0x4F3A, - 2483: 0x4F7F, - 2484: 0x523A, - 2485: 0x53F8, - 2486: 0x53F2, - 2487: 0x55E3, - 2488: 0x56DB, - 2489: 0x58EB, - 2490: 0x59CB, - 2491: 0x59C9, - 2492: 0x59FF, - 2493: 0x5B50, - 2494: 0x5C4D, - 2495: 0x5E02, - 2496: 0x5E2B, - 2497: 0x5FD7, - 2498: 0x601D, - 2499: 0x6307, - 2500: 0x652F, - 2501: 0x5B5C, - 2502: 0x65AF, - 2503: 0x65BD, - 2504: 0x65E8, - 2505: 0x679D, - 2506: 0x6B62, - 2507: 0x6B7B, - 2508: 0x6C0F, - 2509: 0x7345, - 2510: 0x7949, - 2511: 0x79C1, - 2512: 0x7CF8, - 2513: 0x7D19, - 2514: 0x7D2B, - 2515: 0x80A2, - 2516: 0x8102, - 2517: 0x81F3, - 2518: 0x8996, - 2519: 0x8A5E, - 2520: 0x8A69, - 2521: 0x8A66, - 2522: 0x8A8C, - 2523: 0x8AEE, - 2524: 0x8CC7, - 2525: 0x8CDC, - 2526: 0x96CC, - 2527: 0x98FC, - 2528: 0x6B6F, - 2529: 0x4E8B, - 2530: 0x4F3C, - 2531: 0x4F8D, - 2532: 0x5150, - 2533: 0x5B57, - 2534: 0x5BFA, - 2535: 0x6148, - 2536: 0x6301, - 2537: 0x6642, - 2538: 0x6B21, - 2539: 0x6ECB, - 2540: 0x6CBB, - 2541: 0x723E, - 2542: 0x74BD, - 2543: 0x75D4, - 2544: 0x78C1, - 2545: 0x793A, - 2546: 0x800C, - 2547: 0x8033, - 2548: 0x81EA, - 2549: 0x8494, - 2550: 0x8F9E, - 2551: 0x6C50, - 2552: 0x9E7F, - 2553: 0x5F0F, - 2554: 0x8B58, - 2555: 0x9D2B, - 2556: 0x7AFA, - 2557: 0x8EF8, - 2558: 0x5B8D, - 2559: 0x96EB, - 2560: 0x4E03, - 2561: 0x53F1, - 2562: 0x57F7, - 2563: 0x5931, - 2564: 0x5AC9, - 2565: 0x5BA4, - 2566: 0x6089, - 2567: 0x6E7F, - 2568: 0x6F06, - 2569: 0x75BE, - 2570: 0x8CEA, - 2571: 0x5B9F, - 2572: 0x8500, - 2573: 0x7BE0, - 2574: 0x5072, - 2575: 0x67F4, - 2576: 0x829D, - 2577: 0x5C61, - 2578: 0x854A, - 2579: 0x7E1E, - 2580: 0x820E, - 2581: 0x5199, - 2582: 0x5C04, - 2583: 0x6368, - 2584: 0x8D66, - 2585: 0x659C, - 2586: 0x716E, - 2587: 0x793E, - 2588: 0x7D17, - 2589: 0x8005, - 2590: 0x8B1D, - 2591: 0x8ECA, - 2592: 0x906E, - 2593: 0x86C7, - 2594: 0x90AA, - 2595: 0x501F, - 2596: 0x52FA, - 2597: 0x5C3A, - 2598: 0x6753, - 2599: 0x707C, - 2600: 0x7235, - 2601: 0x914C, - 2602: 0x91C8, - 2603: 0x932B, - 2604: 0x82E5, - 2605: 0x5BC2, - 2606: 0x5F31, - 2607: 0x60F9, - 2608: 0x4E3B, - 2609: 0x53D6, - 2610: 0x5B88, - 2611: 0x624B, - 2612: 0x6731, - 2613: 0x6B8A, - 2614: 0x72E9, - 2615: 0x73E0, - 2616: 0x7A2E, - 2617: 0x816B, - 2618: 0x8DA3, - 2619: 0x9152, - 2620: 0x9996, - 2621: 0x5112, - 2622: 0x53D7, - 2623: 0x546A, - 2624: 0x5BFF, - 2625: 0x6388, - 2626: 0x6A39, - 2627: 0x7DAC, - 2628: 0x9700, - 2629: 0x56DA, - 2630: 0x53CE, - 2631: 0x5468, - 2632: 0x5B97, - 2633: 0x5C31, - 2634: 0x5DDE, - 2635: 0x4FEE, - 2636: 0x6101, - 2637: 0x62FE, - 2638: 0x6D32, - 2639: 0x79C0, - 2640: 0x79CB, - 2641: 0x7D42, - 2642: 0x7E4D, - 2643: 0x7FD2, - 2644: 0x81ED, - 2645: 0x821F, - 2646: 0x8490, - 2647: 0x8846, - 2648: 0x8972, - 2649: 0x8B90, - 2650: 0x8E74, - 2651: 0x8F2F, - 2652: 0x9031, - 2653: 0x914B, - 2654: 0x916C, - 2655: 0x96C6, - 2656: 0x919C, - 2657: 0x4EC0, - 2658: 0x4F4F, - 2659: 0x5145, - 2660: 0x5341, - 2661: 0x5F93, - 2662: 0x620E, - 2663: 0x67D4, - 2664: 0x6C41, - 2665: 0x6E0B, - 2666: 0x7363, - 2667: 0x7E26, - 2668: 0x91CD, - 2669: 0x9283, - 2670: 0x53D4, - 2671: 0x5919, - 2672: 0x5BBF, - 2673: 0x6DD1, - 2674: 0x795D, - 2675: 0x7E2E, - 2676: 0x7C9B, - 2677: 0x587E, - 2678: 0x719F, - 2679: 0x51FA, - 2680: 0x8853, - 2681: 0x8FF0, - 2682: 0x4FCA, - 2683: 0x5CFB, - 2684: 0x6625, - 2685: 0x77AC, - 2686: 0x7AE3, - 2687: 0x821C, - 2688: 0x99FF, - 2689: 0x51C6, - 2690: 0x5FAA, - 2691: 0x65EC, - 2692: 0x696F, - 2693: 0x6B89, - 2694: 0x6DF3, - 2695: 0x6E96, - 2696: 0x6F64, - 2697: 0x76FE, - 2698: 0x7D14, - 2699: 0x5DE1, - 2700: 0x9075, - 2701: 0x9187, - 2702: 0x9806, - 2703: 0x51E6, - 2704: 0x521D, - 2705: 0x6240, - 2706: 0x6691, - 2707: 0x66D9, - 2708: 0x6E1A, - 2709: 0x5EB6, - 2710: 0x7DD2, - 2711: 0x7F72, - 2712: 0x66F8, - 2713: 0x85AF, - 2714: 0x85F7, - 2715: 0x8AF8, - 2716: 0x52A9, - 2717: 0x53D9, - 2718: 0x5973, - 2719: 0x5E8F, - 2720: 0x5F90, - 2721: 0x6055, - 2722: 0x92E4, - 2723: 0x9664, - 2724: 0x50B7, - 2725: 0x511F, - 2726: 0x52DD, - 2727: 0x5320, - 2728: 0x5347, - 2729: 0x53EC, - 2730: 0x54E8, - 2731: 0x5546, - 2732: 0x5531, - 2733: 0x5617, - 2734: 0x5968, - 2735: 0x59BE, - 2736: 0x5A3C, - 2737: 0x5BB5, - 2738: 0x5C06, - 2739: 0x5C0F, - 2740: 0x5C11, - 2741: 0x5C1A, - 2742: 0x5E84, - 2743: 0x5E8A, - 2744: 0x5EE0, - 2745: 0x5F70, - 2746: 0x627F, - 2747: 0x6284, - 2748: 0x62DB, - 2749: 0x638C, - 2750: 0x6377, - 2751: 0x6607, - 2752: 0x660C, - 2753: 0x662D, - 2754: 0x6676, - 2755: 0x677E, - 2756: 0x68A2, - 2757: 0x6A1F, - 2758: 0x6A35, - 2759: 0x6CBC, - 2760: 0x6D88, - 2761: 0x6E09, - 2762: 0x6E58, - 2763: 0x713C, - 2764: 0x7126, - 2765: 0x7167, - 2766: 0x75C7, - 2767: 0x7701, - 2768: 0x785D, - 2769: 0x7901, - 2770: 0x7965, - 2771: 0x79F0, - 2772: 0x7AE0, - 2773: 0x7B11, - 2774: 0x7CA7, - 2775: 0x7D39, - 2776: 0x8096, - 2777: 0x83D6, - 2778: 0x848B, - 2779: 0x8549, - 2780: 0x885D, - 2781: 0x88F3, - 2782: 0x8A1F, - 2783: 0x8A3C, - 2784: 0x8A54, - 2785: 0x8A73, - 2786: 0x8C61, - 2787: 0x8CDE, - 2788: 0x91A4, - 2789: 0x9266, - 2790: 0x937E, - 2791: 0x9418, - 2792: 0x969C, - 2793: 0x9798, - 2794: 0x4E0A, - 2795: 0x4E08, - 2796: 0x4E1E, - 2797: 0x4E57, - 2798: 0x5197, - 2799: 0x5270, - 2800: 0x57CE, - 2801: 0x5834, - 2802: 0x58CC, - 2803: 0x5B22, - 2804: 0x5E38, - 2805: 0x60C5, - 2806: 0x64FE, - 2807: 0x6761, - 2808: 0x6756, - 2809: 0x6D44, - 2810: 0x72B6, - 2811: 0x7573, - 2812: 0x7A63, - 2813: 0x84B8, - 2814: 0x8B72, - 2815: 0x91B8, - 2816: 0x9320, - 2817: 0x5631, - 2818: 0x57F4, - 2819: 0x98FE, - 2820: 0x62ED, - 2821: 0x690D, - 2822: 0x6B96, - 2823: 0x71ED, - 2824: 0x7E54, - 2825: 0x8077, - 2826: 0x8272, - 2827: 0x89E6, - 2828: 0x98DF, - 2829: 0x8755, - 2830: 0x8FB1, - 2831: 0x5C3B, - 2832: 0x4F38, - 2833: 0x4FE1, - 2834: 0x4FB5, - 2835: 0x5507, - 2836: 0x5A20, - 2837: 0x5BDD, - 2838: 0x5BE9, - 2839: 0x5FC3, - 2840: 0x614E, - 2841: 0x632F, - 2842: 0x65B0, - 2843: 0x664B, - 2844: 0x68EE, - 2845: 0x699B, - 2846: 0x6D78, - 2847: 0x6DF1, - 2848: 0x7533, - 2849: 0x75B9, - 2850: 0x771F, - 2851: 0x795E, - 2852: 0x79E6, - 2853: 0x7D33, - 2854: 0x81E3, - 2855: 0x82AF, - 2856: 0x85AA, - 2857: 0x89AA, - 2858: 0x8A3A, - 2859: 0x8EAB, - 2860: 0x8F9B, - 2861: 0x9032, - 2862: 0x91DD, - 2863: 0x9707, - 2864: 0x4EBA, - 2865: 0x4EC1, - 2866: 0x5203, - 2867: 0x5875, - 2868: 0x58EC, - 2869: 0x5C0B, - 2870: 0x751A, - 2871: 0x5C3D, - 2872: 0x814E, - 2873: 0x8A0A, - 2874: 0x8FC5, - 2875: 0x9663, - 2876: 0x976D, - 2877: 0x7B25, - 2878: 0x8ACF, - 2879: 0x9808, - 2880: 0x9162, - 2881: 0x56F3, - 2882: 0x53A8, - 2883: 0x9017, - 2884: 0x5439, - 2885: 0x5782, - 2886: 0x5E25, - 2887: 0x63A8, - 2888: 0x6C34, - 2889: 0x708A, - 2890: 0x7761, - 2891: 0x7C8B, - 2892: 0x7FE0, - 2893: 0x8870, - 2894: 0x9042, - 2895: 0x9154, - 2896: 0x9310, - 2897: 0x9318, - 2898: 0x968F, - 2899: 0x745E, - 2900: 0x9AC4, - 2901: 0x5D07, - 2902: 0x5D69, - 2903: 0x6570, - 2904: 0x67A2, - 2905: 0x8DA8, - 2906: 0x96DB, - 2907: 0x636E, - 2908: 0x6749, - 2909: 0x6919, - 2910: 0x83C5, - 2911: 0x9817, - 2912: 0x96C0, - 2913: 0x88FE, - 2914: 0x6F84, - 2915: 0x647A, - 2916: 0x5BF8, - 2917: 0x4E16, - 2918: 0x702C, - 2919: 0x755D, - 2920: 0x662F, - 2921: 0x51C4, - 2922: 0x5236, - 2923: 0x52E2, - 2924: 0x59D3, - 2925: 0x5F81, - 2926: 0x6027, - 2927: 0x6210, - 2928: 0x653F, - 2929: 0x6574, - 2930: 0x661F, - 2931: 0x6674, - 2932: 0x68F2, - 2933: 0x6816, - 2934: 0x6B63, - 2935: 0x6E05, - 2936: 0x7272, - 2937: 0x751F, - 2938: 0x76DB, - 2939: 0x7CBE, - 2940: 0x8056, - 2941: 0x58F0, - 2942: 0x88FD, - 2943: 0x897F, - 2944: 0x8AA0, - 2945: 0x8A93, - 2946: 0x8ACB, - 2947: 0x901D, - 2948: 0x9192, - 2949: 0x9752, - 2950: 0x9759, - 2951: 0x6589, - 2952: 0x7A0E, - 2953: 0x8106, - 2954: 0x96BB, - 2955: 0x5E2D, - 2956: 0x60DC, - 2957: 0x621A, - 2958: 0x65A5, - 2959: 0x6614, - 2960: 0x6790, - 2961: 0x77F3, - 2962: 0x7A4D, - 2963: 0x7C4D, - 2964: 0x7E3E, - 2965: 0x810A, - 2966: 0x8CAC, - 2967: 0x8D64, - 2968: 0x8DE1, - 2969: 0x8E5F, - 2970: 0x78A9, - 2971: 0x5207, - 2972: 0x62D9, - 2973: 0x63A5, - 2974: 0x6442, - 2975: 0x6298, - 2976: 0x8A2D, - 2977: 0x7A83, - 2978: 0x7BC0, - 2979: 0x8AAC, - 2980: 0x96EA, - 2981: 0x7D76, - 2982: 0x820C, - 2983: 0x8749, - 2984: 0x4ED9, - 2985: 0x5148, - 2986: 0x5343, - 2987: 0x5360, - 2988: 0x5BA3, - 2989: 0x5C02, - 2990: 0x5C16, - 2991: 0x5DDD, - 2992: 0x6226, - 2993: 0x6247, - 2994: 0x64B0, - 2995: 0x6813, - 2996: 0x6834, - 2997: 0x6CC9, - 2998: 0x6D45, - 2999: 0x6D17, - 3000: 0x67D3, - 3001: 0x6F5C, - 3002: 0x714E, - 3003: 0x717D, - 3004: 0x65CB, - 3005: 0x7A7F, - 3006: 0x7BAD, - 3007: 0x7DDA, - 3008: 0x7E4A, - 3009: 0x7FA8, - 3010: 0x817A, - 3011: 0x821B, - 3012: 0x8239, - 3013: 0x85A6, - 3014: 0x8A6E, - 3015: 0x8CCE, - 3016: 0x8DF5, - 3017: 0x9078, - 3018: 0x9077, - 3019: 0x92AD, - 3020: 0x9291, - 3021: 0x9583, - 3022: 0x9BAE, - 3023: 0x524D, - 3024: 0x5584, - 3025: 0x6F38, - 3026: 0x7136, - 3027: 0x5168, - 3028: 0x7985, - 3029: 0x7E55, - 3030: 0x81B3, - 3031: 0x7CCE, - 3032: 0x564C, - 3033: 0x5851, - 3034: 0x5CA8, - 3035: 0x63AA, - 3036: 0x66FE, - 3037: 0x66FD, - 3038: 0x695A, - 3039: 0x72D9, - 3040: 0x758F, - 3041: 0x758E, - 3042: 0x790E, - 3043: 0x7956, - 3044: 0x79DF, - 3045: 0x7C97, - 3046: 0x7D20, - 3047: 0x7D44, - 3048: 0x8607, - 3049: 0x8A34, - 3050: 0x963B, - 3051: 0x9061, - 3052: 0x9F20, - 3053: 0x50E7, - 3054: 0x5275, - 3055: 0x53CC, - 3056: 0x53E2, - 3057: 0x5009, - 3058: 0x55AA, - 3059: 0x58EE, - 3060: 0x594F, - 3061: 0x723D, - 3062: 0x5B8B, - 3063: 0x5C64, - 3064: 0x531D, - 3065: 0x60E3, - 3066: 0x60F3, - 3067: 0x635C, - 3068: 0x6383, - 3069: 0x633F, - 3070: 0x63BB, - 3071: 0x64CD, - 3072: 0x65E9, - 3073: 0x66F9, - 3074: 0x5DE3, - 3075: 0x69CD, - 3076: 0x69FD, - 3077: 0x6F15, - 3078: 0x71E5, - 3079: 0x4E89, - 3080: 0x75E9, - 3081: 0x76F8, - 3082: 0x7A93, - 3083: 0x7CDF, - 3084: 0x7DCF, - 3085: 0x7D9C, - 3086: 0x8061, - 3087: 0x8349, - 3088: 0x8358, - 3089: 0x846C, - 3090: 0x84BC, - 3091: 0x85FB, - 3092: 0x88C5, - 3093: 0x8D70, - 3094: 0x9001, - 3095: 0x906D, - 3096: 0x9397, - 3097: 0x971C, - 3098: 0x9A12, - 3099: 0x50CF, - 3100: 0x5897, - 3101: 0x618E, - 3102: 0x81D3, - 3103: 0x8535, - 3104: 0x8D08, - 3105: 0x9020, - 3106: 0x4FC3, - 3107: 0x5074, - 3108: 0x5247, - 3109: 0x5373, - 3110: 0x606F, - 3111: 0x6349, - 3112: 0x675F, - 3113: 0x6E2C, - 3114: 0x8DB3, - 3115: 0x901F, - 3116: 0x4FD7, - 3117: 0x5C5E, - 3118: 0x8CCA, - 3119: 0x65CF, - 3120: 0x7D9A, - 3121: 0x5352, - 3122: 0x8896, - 3123: 0x5176, - 3124: 0x63C3, - 3125: 0x5B58, - 3126: 0x5B6B, - 3127: 0x5C0A, - 3128: 0x640D, - 3129: 0x6751, - 3130: 0x905C, - 3131: 0x4ED6, - 3132: 0x591A, - 3133: 0x592A, - 3134: 0x6C70, - 3135: 0x8A51, - 3136: 0x553E, - 3137: 0x5815, - 3138: 0x59A5, - 3139: 0x60F0, - 3140: 0x6253, - 3141: 0x67C1, - 3142: 0x8235, - 3143: 0x6955, - 3144: 0x9640, - 3145: 0x99C4, - 3146: 0x9A28, - 3147: 0x4F53, - 3148: 0x5806, - 3149: 0x5BFE, - 3150: 0x8010, - 3151: 0x5CB1, - 3152: 0x5E2F, - 3153: 0x5F85, - 3154: 0x6020, - 3155: 0x614B, - 3156: 0x6234, - 3157: 0x66FF, - 3158: 0x6CF0, - 3159: 0x6EDE, - 3160: 0x80CE, - 3161: 0x817F, - 3162: 0x82D4, - 3163: 0x888B, - 3164: 0x8CB8, - 3165: 0x9000, - 3166: 0x902E, - 3167: 0x968A, - 3168: 0x9EDB, - 3169: 0x9BDB, - 3170: 0x4EE3, - 3171: 0x53F0, - 3172: 0x5927, - 3173: 0x7B2C, - 3174: 0x918D, - 3175: 0x984C, - 3176: 0x9DF9, - 3177: 0x6EDD, - 3178: 0x7027, - 3179: 0x5353, - 3180: 0x5544, - 3181: 0x5B85, - 3182: 0x6258, - 3183: 0x629E, - 3184: 0x62D3, - 3185: 0x6CA2, - 3186: 0x6FEF, - 3187: 0x7422, - 3188: 0x8A17, - 3189: 0x9438, - 3190: 0x6FC1, - 3191: 0x8AFE, - 3192: 0x8338, - 3193: 0x51E7, - 3194: 0x86F8, - 3195: 0x53EA, - 3196: 0x53E9, - 3197: 0x4F46, - 3198: 0x9054, - 3199: 0x8FB0, - 3200: 0x596A, - 3201: 0x8131, - 3202: 0x5DFD, - 3203: 0x7AEA, - 3204: 0x8FBF, - 3205: 0x68DA, - 3206: 0x8C37, - 3207: 0x72F8, - 3208: 0x9C48, - 3209: 0x6A3D, - 3210: 0x8AB0, - 3211: 0x4E39, - 3212: 0x5358, - 3213: 0x5606, - 3214: 0x5766, - 3215: 0x62C5, - 3216: 0x63A2, - 3217: 0x65E6, - 3218: 0x6B4E, - 3219: 0x6DE1, - 3220: 0x6E5B, - 3221: 0x70AD, - 3222: 0x77ED, - 3223: 0x7AEF, - 3224: 0x7BAA, - 3225: 0x7DBB, - 3226: 0x803D, - 3227: 0x80C6, - 3228: 0x86CB, - 3229: 0x8A95, - 3230: 0x935B, - 3231: 0x56E3, - 3232: 0x58C7, - 3233: 0x5F3E, - 3234: 0x65AD, - 3235: 0x6696, - 3236: 0x6A80, - 3237: 0x6BB5, - 3238: 0x7537, - 3239: 0x8AC7, - 3240: 0x5024, - 3241: 0x77E5, - 3242: 0x5730, - 3243: 0x5F1B, - 3244: 0x6065, - 3245: 0x667A, - 3246: 0x6C60, - 3247: 0x75F4, - 3248: 0x7A1A, - 3249: 0x7F6E, - 3250: 0x81F4, - 3251: 0x8718, - 3252: 0x9045, - 3253: 0x99B3, - 3254: 0x7BC9, - 3255: 0x755C, - 3256: 0x7AF9, - 3257: 0x7B51, - 3258: 0x84C4, - 3259: 0x9010, - 3260: 0x79E9, - 3261: 0x7A92, - 3262: 0x8336, - 3263: 0x5AE1, - 3264: 0x7740, - 3265: 0x4E2D, - 3266: 0x4EF2, - 3267: 0x5B99, - 3268: 0x5FE0, - 3269: 0x62BD, - 3270: 0x663C, - 3271: 0x67F1, - 3272: 0x6CE8, - 3273: 0x866B, - 3274: 0x8877, - 3275: 0x8A3B, - 3276: 0x914E, - 3277: 0x92F3, - 3278: 0x99D0, - 3279: 0x6A17, - 3280: 0x7026, - 3281: 0x732A, - 3282: 0x82E7, - 3283: 0x8457, - 3284: 0x8CAF, - 3285: 0x4E01, - 3286: 0x5146, - 3287: 0x51CB, - 3288: 0x558B, - 3289: 0x5BF5, - 3290: 0x5E16, - 3291: 0x5E33, - 3292: 0x5E81, - 3293: 0x5F14, - 3294: 0x5F35, - 3295: 0x5F6B, - 3296: 0x5FB4, - 3297: 0x61F2, - 3298: 0x6311, - 3299: 0x66A2, - 3300: 0x671D, - 3301: 0x6F6E, - 3302: 0x7252, - 3303: 0x753A, - 3304: 0x773A, - 3305: 0x8074, - 3306: 0x8139, - 3307: 0x8178, - 3308: 0x8776, - 3309: 0x8ABF, - 3310: 0x8ADC, - 3311: 0x8D85, - 3312: 0x8DF3, - 3313: 0x929A, - 3314: 0x9577, - 3315: 0x9802, - 3316: 0x9CE5, - 3317: 0x52C5, - 3318: 0x6357, - 3319: 0x76F4, - 3320: 0x6715, - 3321: 0x6C88, - 3322: 0x73CD, - 3323: 0x8CC3, - 3324: 0x93AE, - 3325: 0x9673, - 3326: 0x6D25, - 3327: 0x589C, - 3328: 0x690E, - 3329: 0x69CC, - 3330: 0x8FFD, - 3331: 0x939A, - 3332: 0x75DB, - 3333: 0x901A, - 3334: 0x585A, - 3335: 0x6802, - 3336: 0x63B4, - 3337: 0x69FB, - 3338: 0x4F43, - 3339: 0x6F2C, - 3340: 0x67D8, - 3341: 0x8FBB, - 3342: 0x8526, - 3343: 0x7DB4, - 3344: 0x9354, - 3345: 0x693F, - 3346: 0x6F70, - 3347: 0x576A, - 3348: 0x58F7, - 3349: 0x5B2C, - 3350: 0x7D2C, - 3351: 0x722A, - 3352: 0x540A, - 3353: 0x91E3, - 3354: 0x9DB4, - 3355: 0x4EAD, - 3356: 0x4F4E, - 3357: 0x505C, - 3358: 0x5075, - 3359: 0x5243, - 3360: 0x8C9E, - 3361: 0x5448, - 3362: 0x5824, - 3363: 0x5B9A, - 3364: 0x5E1D, - 3365: 0x5E95, - 3366: 0x5EAD, - 3367: 0x5EF7, - 3368: 0x5F1F, - 3369: 0x608C, - 3370: 0x62B5, - 3371: 0x633A, - 3372: 0x63D0, - 3373: 0x68AF, - 3374: 0x6C40, - 3375: 0x7887, - 3376: 0x798E, - 3377: 0x7A0B, - 3378: 0x7DE0, - 3379: 0x8247, - 3380: 0x8A02, - 3381: 0x8AE6, - 3382: 0x8E44, - 3383: 0x9013, - 3384: 0x90B8, - 3385: 0x912D, - 3386: 0x91D8, - 3387: 0x9F0E, - 3388: 0x6CE5, - 3389: 0x6458, - 3390: 0x64E2, - 3391: 0x6575, - 3392: 0x6EF4, - 3393: 0x7684, - 3394: 0x7B1B, - 3395: 0x9069, - 3396: 0x93D1, - 3397: 0x6EBA, - 3398: 0x54F2, - 3399: 0x5FB9, - 3400: 0x64A4, - 3401: 0x8F4D, - 3402: 0x8FED, - 3403: 0x9244, - 3404: 0x5178, - 3405: 0x586B, - 3406: 0x5929, - 3407: 0x5C55, - 3408: 0x5E97, - 3409: 0x6DFB, - 3410: 0x7E8F, - 3411: 0x751C, - 3412: 0x8CBC, - 3413: 0x8EE2, - 3414: 0x985B, - 3415: 0x70B9, - 3416: 0x4F1D, - 3417: 0x6BBF, - 3418: 0x6FB1, - 3419: 0x7530, - 3420: 0x96FB, - 3421: 0x514E, - 3422: 0x5410, - 3423: 0x5835, - 3424: 0x5857, - 3425: 0x59AC, - 3426: 0x5C60, - 3427: 0x5F92, - 3428: 0x6597, - 3429: 0x675C, - 3430: 0x6E21, - 3431: 0x767B, - 3432: 0x83DF, - 3433: 0x8CED, - 3434: 0x9014, - 3435: 0x90FD, - 3436: 0x934D, - 3437: 0x7825, - 3438: 0x783A, - 3439: 0x52AA, - 3440: 0x5EA6, - 3441: 0x571F, - 3442: 0x5974, - 3443: 0x6012, - 3444: 0x5012, - 3445: 0x515A, - 3446: 0x51AC, - 3447: 0x51CD, - 3448: 0x5200, - 3449: 0x5510, - 3450: 0x5854, - 3451: 0x5858, - 3452: 0x5957, - 3453: 0x5B95, - 3454: 0x5CF6, - 3455: 0x5D8B, - 3456: 0x60BC, - 3457: 0x6295, - 3458: 0x642D, - 3459: 0x6771, - 3460: 0x6843, - 3461: 0x68BC, - 3462: 0x68DF, - 3463: 0x76D7, - 3464: 0x6DD8, - 3465: 0x6E6F, - 3466: 0x6D9B, - 3467: 0x706F, - 3468: 0x71C8, - 3469: 0x5F53, - 3470: 0x75D8, - 3471: 0x7977, - 3472: 0x7B49, - 3473: 0x7B54, - 3474: 0x7B52, - 3475: 0x7CD6, - 3476: 0x7D71, - 3477: 0x5230, - 3478: 0x8463, - 3479: 0x8569, - 3480: 0x85E4, - 3481: 0x8A0E, - 3482: 0x8B04, - 3483: 0x8C46, - 3484: 0x8E0F, - 3485: 0x9003, - 3486: 0x900F, - 3487: 0x9419, - 3488: 0x9676, - 3489: 0x982D, - 3490: 0x9A30, - 3491: 0x95D8, - 3492: 0x50CD, - 3493: 0x52D5, - 3494: 0x540C, - 3495: 0x5802, - 3496: 0x5C0E, - 3497: 0x61A7, - 3498: 0x649E, - 3499: 0x6D1E, - 3500: 0x77B3, - 3501: 0x7AE5, - 3502: 0x80F4, - 3503: 0x8404, - 3504: 0x9053, - 3505: 0x9285, - 3506: 0x5CE0, - 3507: 0x9D07, - 3508: 0x533F, - 3509: 0x5F97, - 3510: 0x5FB3, - 3511: 0x6D9C, - 3512: 0x7279, - 3513: 0x7763, - 3514: 0x79BF, - 3515: 0x7BE4, - 3516: 0x6BD2, - 3517: 0x72EC, - 3518: 0x8AAD, - 3519: 0x6803, - 3520: 0x6A61, - 3521: 0x51F8, - 3522: 0x7A81, - 3523: 0x6934, - 3524: 0x5C4A, - 3525: 0x9CF6, - 3526: 0x82EB, - 3527: 0x5BC5, - 3528: 0x9149, - 3529: 0x701E, - 3530: 0x5678, - 3531: 0x5C6F, - 3532: 0x60C7, - 3533: 0x6566, - 3534: 0x6C8C, - 3535: 0x8C5A, - 3536: 0x9041, - 3537: 0x9813, - 3538: 0x5451, - 3539: 0x66C7, - 3540: 0x920D, - 3541: 0x5948, - 3542: 0x90A3, - 3543: 0x5185, - 3544: 0x4E4D, - 3545: 0x51EA, - 3546: 0x8599, - 3547: 0x8B0E, - 3548: 0x7058, - 3549: 0x637A, - 3550: 0x934B, - 3551: 0x6962, - 3552: 0x99B4, - 3553: 0x7E04, - 3554: 0x7577, - 3555: 0x5357, - 3556: 0x6960, - 3557: 0x8EDF, - 3558: 0x96E3, - 3559: 0x6C5D, - 3560: 0x4E8C, - 3561: 0x5C3C, - 3562: 0x5F10, - 3563: 0x8FE9, - 3564: 0x5302, - 3565: 0x8CD1, - 3566: 0x8089, - 3567: 0x8679, - 3568: 0x5EFF, - 3569: 0x65E5, - 3570: 0x4E73, - 3571: 0x5165, - 3572: 0x5982, - 3573: 0x5C3F, - 3574: 0x97EE, - 3575: 0x4EFB, - 3576: 0x598A, - 3577: 0x5FCD, - 3578: 0x8A8D, - 3579: 0x6FE1, - 3580: 0x79B0, - 3581: 0x7962, - 3582: 0x5BE7, - 3583: 0x8471, - 3584: 0x732B, - 3585: 0x71B1, - 3586: 0x5E74, - 3587: 0x5FF5, - 3588: 0x637B, - 3589: 0x649A, - 3590: 0x71C3, - 3591: 0x7C98, - 3592: 0x4E43, - 3593: 0x5EFC, - 3594: 0x4E4B, - 3595: 0x57DC, - 3596: 0x56A2, - 3597: 0x60A9, - 3598: 0x6FC3, - 3599: 0x7D0D, - 3600: 0x80FD, - 3601: 0x8133, - 3602: 0x81BF, - 3603: 0x8FB2, - 3604: 0x8997, - 3605: 0x86A4, - 3606: 0x5DF4, - 3607: 0x628A, - 3608: 0x64AD, - 3609: 0x8987, - 3610: 0x6777, - 3611: 0x6CE2, - 3612: 0x6D3E, - 3613: 0x7436, - 3614: 0x7834, - 3615: 0x5A46, - 3616: 0x7F75, - 3617: 0x82AD, - 3618: 0x99AC, - 3619: 0x4FF3, - 3620: 0x5EC3, - 3621: 0x62DD, - 3622: 0x6392, - 3623: 0x6557, - 3624: 0x676F, - 3625: 0x76C3, - 3626: 0x724C, - 3627: 0x80CC, - 3628: 0x80BA, - 3629: 0x8F29, - 3630: 0x914D, - 3631: 0x500D, - 3632: 0x57F9, - 3633: 0x5A92, - 3634: 0x6885, - 3635: 0x6973, - 3636: 0x7164, - 3637: 0x72FD, - 3638: 0x8CB7, - 3639: 0x58F2, - 3640: 0x8CE0, - 3641: 0x966A, - 3642: 0x9019, - 3643: 0x877F, - 3644: 0x79E4, - 3645: 0x77E7, - 3646: 0x8429, - 3647: 0x4F2F, - 3648: 0x5265, - 3649: 0x535A, - 3650: 0x62CD, - 3651: 0x67CF, - 3652: 0x6CCA, - 3653: 0x767D, - 3654: 0x7B94, - 3655: 0x7C95, - 3656: 0x8236, - 3657: 0x8584, - 3658: 0x8FEB, - 3659: 0x66DD, - 3660: 0x6F20, - 3661: 0x7206, - 3662: 0x7E1B, - 3663: 0x83AB, - 3664: 0x99C1, - 3665: 0x9EA6, - 3666: 0x51FD, - 3667: 0x7BB1, - 3668: 0x7872, - 3669: 0x7BB8, - 3670: 0x8087, - 3671: 0x7B48, - 3672: 0x6AE8, - 3673: 0x5E61, - 3674: 0x808C, - 3675: 0x7551, - 3676: 0x7560, - 3677: 0x516B, - 3678: 0x9262, - 3679: 0x6E8C, - 3680: 0x767A, - 3681: 0x9197, - 3682: 0x9AEA, - 3683: 0x4F10, - 3684: 0x7F70, - 3685: 0x629C, - 3686: 0x7B4F, - 3687: 0x95A5, - 3688: 0x9CE9, - 3689: 0x567A, - 3690: 0x5859, - 3691: 0x86E4, - 3692: 0x96BC, - 3693: 0x4F34, - 3694: 0x5224, - 3695: 0x534A, - 3696: 0x53CD, - 3697: 0x53DB, - 3698: 0x5E06, - 3699: 0x642C, - 3700: 0x6591, - 3701: 0x677F, - 3702: 0x6C3E, - 3703: 0x6C4E, - 3704: 0x7248, - 3705: 0x72AF, - 3706: 0x73ED, - 3707: 0x7554, - 3708: 0x7E41, - 3709: 0x822C, - 3710: 0x85E9, - 3711: 0x8CA9, - 3712: 0x7BC4, - 3713: 0x91C6, - 3714: 0x7169, - 3715: 0x9812, - 3716: 0x98EF, - 3717: 0x633D, - 3718: 0x6669, - 3719: 0x756A, - 3720: 0x76E4, - 3721: 0x78D0, - 3722: 0x8543, - 3723: 0x86EE, - 3724: 0x532A, - 3725: 0x5351, - 3726: 0x5426, - 3727: 0x5983, - 3728: 0x5E87, - 3729: 0x5F7C, - 3730: 0x60B2, - 3731: 0x6249, - 3732: 0x6279, - 3733: 0x62AB, - 3734: 0x6590, - 3735: 0x6BD4, - 3736: 0x6CCC, - 3737: 0x75B2, - 3738: 0x76AE, - 3739: 0x7891, - 3740: 0x79D8, - 3741: 0x7DCB, - 3742: 0x7F77, - 3743: 0x80A5, - 3744: 0x88AB, - 3745: 0x8AB9, - 3746: 0x8CBB, - 3747: 0x907F, - 3748: 0x975E, - 3749: 0x98DB, - 3750: 0x6A0B, - 3751: 0x7C38, - 3752: 0x5099, - 3753: 0x5C3E, - 3754: 0x5FAE, - 3755: 0x6787, - 3756: 0x6BD8, - 3757: 0x7435, - 3758: 0x7709, - 3759: 0x7F8E, - 3760: 0x9F3B, - 3761: 0x67CA, - 3762: 0x7A17, - 3763: 0x5339, - 3764: 0x758B, - 3765: 0x9AED, - 3766: 0x5F66, - 3767: 0x819D, - 3768: 0x83F1, - 3769: 0x8098, - 3770: 0x5F3C, - 3771: 0x5FC5, - 3772: 0x7562, - 3773: 0x7B46, - 3774: 0x903C, - 3775: 0x6867, - 3776: 0x59EB, - 3777: 0x5A9B, - 3778: 0x7D10, - 3779: 0x767E, - 3780: 0x8B2C, - 3781: 0x4FF5, - 3782: 0x5F6A, - 3783: 0x6A19, - 3784: 0x6C37, - 3785: 0x6F02, - 3786: 0x74E2, - 3787: 0x7968, - 3788: 0x8868, - 3789: 0x8A55, - 3790: 0x8C79, - 3791: 0x5EDF, - 3792: 0x63CF, - 3793: 0x75C5, - 3794: 0x79D2, - 3795: 0x82D7, - 3796: 0x9328, - 3797: 0x92F2, - 3798: 0x849C, - 3799: 0x86ED, - 3800: 0x9C2D, - 3801: 0x54C1, - 3802: 0x5F6C, - 3803: 0x658C, - 3804: 0x6D5C, - 3805: 0x7015, - 3806: 0x8CA7, - 3807: 0x8CD3, - 3808: 0x983B, - 3809: 0x654F, - 3810: 0x74F6, - 3811: 0x4E0D, - 3812: 0x4ED8, - 3813: 0x57E0, - 3814: 0x592B, - 3815: 0x5A66, - 3816: 0x5BCC, - 3817: 0x51A8, - 3818: 0x5E03, - 3819: 0x5E9C, - 3820: 0x6016, - 3821: 0x6276, - 3822: 0x6577, - 3823: 0x65A7, - 3824: 0x666E, - 3825: 0x6D6E, - 3826: 0x7236, - 3827: 0x7B26, - 3828: 0x8150, - 3829: 0x819A, - 3830: 0x8299, - 3831: 0x8B5C, - 3832: 0x8CA0, - 3833: 0x8CE6, - 3834: 0x8D74, - 3835: 0x961C, - 3836: 0x9644, - 3837: 0x4FAE, - 3838: 0x64AB, - 3839: 0x6B66, - 3840: 0x821E, - 3841: 0x8461, - 3842: 0x856A, - 3843: 0x90E8, - 3844: 0x5C01, - 3845: 0x6953, - 3846: 0x98A8, - 3847: 0x847A, - 3848: 0x8557, - 3849: 0x4F0F, - 3850: 0x526F, - 3851: 0x5FA9, - 3852: 0x5E45, - 3853: 0x670D, - 3854: 0x798F, - 3855: 0x8179, - 3856: 0x8907, - 3857: 0x8986, - 3858: 0x6DF5, - 3859: 0x5F17, - 3860: 0x6255, - 3861: 0x6CB8, - 3862: 0x4ECF, - 3863: 0x7269, - 3864: 0x9B92, - 3865: 0x5206, - 3866: 0x543B, - 3867: 0x5674, - 3868: 0x58B3, - 3869: 0x61A4, - 3870: 0x626E, - 3871: 0x711A, - 3872: 0x596E, - 3873: 0x7C89, - 3874: 0x7CDE, - 3875: 0x7D1B, - 3876: 0x96F0, - 3877: 0x6587, - 3878: 0x805E, - 3879: 0x4E19, - 3880: 0x4F75, - 3881: 0x5175, - 3882: 0x5840, - 3883: 0x5E63, - 3884: 0x5E73, - 3885: 0x5F0A, - 3886: 0x67C4, - 3887: 0x4E26, - 3888: 0x853D, - 3889: 0x9589, - 3890: 0x965B, - 3891: 0x7C73, - 3892: 0x9801, - 3893: 0x50FB, - 3894: 0x58C1, - 3895: 0x7656, - 3896: 0x78A7, - 3897: 0x5225, - 3898: 0x77A5, - 3899: 0x8511, - 3900: 0x7B86, - 3901: 0x504F, - 3902: 0x5909, - 3903: 0x7247, - 3904: 0x7BC7, - 3905: 0x7DE8, - 3906: 0x8FBA, - 3907: 0x8FD4, - 3908: 0x904D, - 3909: 0x4FBF, - 3910: 0x52C9, - 3911: 0x5A29, - 3912: 0x5F01, - 3913: 0x97AD, - 3914: 0x4FDD, - 3915: 0x8217, - 3916: 0x92EA, - 3917: 0x5703, - 3918: 0x6355, - 3919: 0x6B69, - 3920: 0x752B, - 3921: 0x88DC, - 3922: 0x8F14, - 3923: 0x7A42, - 3924: 0x52DF, - 3925: 0x5893, - 3926: 0x6155, - 3927: 0x620A, - 3928: 0x66AE, - 3929: 0x6BCD, - 3930: 0x7C3F, - 3931: 0x83E9, - 3932: 0x5023, - 3933: 0x4FF8, - 3934: 0x5305, - 3935: 0x5446, - 3936: 0x5831, - 3937: 0x5949, - 3938: 0x5B9D, - 3939: 0x5CF0, - 3940: 0x5CEF, - 3941: 0x5D29, - 3942: 0x5E96, - 3943: 0x62B1, - 3944: 0x6367, - 3945: 0x653E, - 3946: 0x65B9, - 3947: 0x670B, - 3948: 0x6CD5, - 3949: 0x6CE1, - 3950: 0x70F9, - 3951: 0x7832, - 3952: 0x7E2B, - 3953: 0x80DE, - 3954: 0x82B3, - 3955: 0x840C, - 3956: 0x84EC, - 3957: 0x8702, - 3958: 0x8912, - 3959: 0x8A2A, - 3960: 0x8C4A, - 3961: 0x90A6, - 3962: 0x92D2, - 3963: 0x98FD, - 3964: 0x9CF3, - 3965: 0x9D6C, - 3966: 0x4E4F, - 3967: 0x4EA1, - 3968: 0x508D, - 3969: 0x5256, - 3970: 0x574A, - 3971: 0x59A8, - 3972: 0x5E3D, - 3973: 0x5FD8, - 3974: 0x5FD9, - 3975: 0x623F, - 3976: 0x66B4, - 3977: 0x671B, - 3978: 0x67D0, - 3979: 0x68D2, - 3980: 0x5192, - 3981: 0x7D21, - 3982: 0x80AA, - 3983: 0x81A8, - 3984: 0x8B00, - 3985: 0x8C8C, - 3986: 0x8CBF, - 3987: 0x927E, - 3988: 0x9632, - 3989: 0x5420, - 3990: 0x982C, - 3991: 0x5317, - 3992: 0x50D5, - 3993: 0x535C, - 3994: 0x58A8, - 3995: 0x64B2, - 3996: 0x6734, - 3997: 0x7267, - 3998: 0x7766, - 3999: 0x7A46, - 4000: 0x91E6, - 4001: 0x52C3, - 4002: 0x6CA1, - 4003: 0x6B86, - 4004: 0x5800, - 4005: 0x5E4C, - 4006: 0x5954, - 4007: 0x672C, - 4008: 0x7FFB, - 4009: 0x51E1, - 4010: 0x76C6, - 4011: 0x6469, - 4012: 0x78E8, - 4013: 0x9B54, - 4014: 0x9EBB, - 4015: 0x57CB, - 4016: 0x59B9, - 4017: 0x6627, - 4018: 0x679A, - 4019: 0x6BCE, - 4020: 0x54E9, - 4021: 0x69D9, - 4022: 0x5E55, - 4023: 0x819C, - 4024: 0x6795, - 4025: 0x9BAA, - 4026: 0x67FE, - 4027: 0x9C52, - 4028: 0x685D, - 4029: 0x4EA6, - 4030: 0x4FE3, - 4031: 0x53C8, - 4032: 0x62B9, - 4033: 0x672B, - 4034: 0x6CAB, - 4035: 0x8FC4, - 4036: 0x4FAD, - 4037: 0x7E6D, - 4038: 0x9EBF, - 4039: 0x4E07, - 4040: 0x6162, - 4041: 0x6E80, - 4042: 0x6F2B, - 4043: 0x8513, - 4044: 0x5473, - 4045: 0x672A, - 4046: 0x9B45, - 4047: 0x5DF3, - 4048: 0x7B95, - 4049: 0x5CAC, - 4050: 0x5BC6, - 4051: 0x871C, - 4052: 0x6E4A, - 4053: 0x84D1, - 4054: 0x7A14, - 4055: 0x8108, - 4056: 0x5999, - 4057: 0x7C8D, - 4058: 0x6C11, - 4059: 0x7720, - 4060: 0x52D9, - 4061: 0x5922, - 4062: 0x7121, - 4063: 0x725F, - 4064: 0x77DB, - 4065: 0x9727, - 4066: 0x9D61, - 4067: 0x690B, - 4068: 0x5A7F, - 4069: 0x5A18, - 4070: 0x51A5, - 4071: 0x540D, - 4072: 0x547D, - 4073: 0x660E, - 4074: 0x76DF, - 4075: 0x8FF7, - 4076: 0x9298, - 4077: 0x9CF4, - 4078: 0x59EA, - 4079: 0x725D, - 4080: 0x6EC5, - 4081: 0x514D, - 4082: 0x68C9, - 4083: 0x7DBF, - 4084: 0x7DEC, - 4085: 0x9762, - 4086: 0x9EBA, - 4087: 0x6478, - 4088: 0x6A21, - 4089: 0x8302, - 4090: 0x5984, - 4091: 0x5B5F, - 4092: 0x6BDB, - 4093: 0x731B, - 4094: 0x76F2, - 4095: 0x7DB2, - 4096: 0x8017, - 4097: 0x8499, - 4098: 0x5132, - 4099: 0x6728, - 4100: 0x9ED9, - 4101: 0x76EE, - 4102: 0x6762, - 4103: 0x52FF, - 4104: 0x9905, - 4105: 0x5C24, - 4106: 0x623B, - 4107: 0x7C7E, - 4108: 0x8CB0, - 4109: 0x554F, - 4110: 0x60B6, - 4111: 0x7D0B, - 4112: 0x9580, - 4113: 0x5301, - 4114: 0x4E5F, - 4115: 0x51B6, - 4116: 0x591C, - 4117: 0x723A, - 4118: 0x8036, - 4119: 0x91CE, - 4120: 0x5F25, - 4121: 0x77E2, - 4122: 0x5384, - 4123: 0x5F79, - 4124: 0x7D04, - 4125: 0x85AC, - 4126: 0x8A33, - 4127: 0x8E8D, - 4128: 0x9756, - 4129: 0x67F3, - 4130: 0x85AE, - 4131: 0x9453, - 4132: 0x6109, - 4133: 0x6108, - 4134: 0x6CB9, - 4135: 0x7652, - 4136: 0x8AED, - 4137: 0x8F38, - 4138: 0x552F, - 4139: 0x4F51, - 4140: 0x512A, - 4141: 0x52C7, - 4142: 0x53CB, - 4143: 0x5BA5, - 4144: 0x5E7D, - 4145: 0x60A0, - 4146: 0x6182, - 4147: 0x63D6, - 4148: 0x6709, - 4149: 0x67DA, - 4150: 0x6E67, - 4151: 0x6D8C, - 4152: 0x7336, - 4153: 0x7337, - 4154: 0x7531, - 4155: 0x7950, - 4156: 0x88D5, - 4157: 0x8A98, - 4158: 0x904A, - 4159: 0x9091, - 4160: 0x90F5, - 4161: 0x96C4, - 4162: 0x878D, - 4163: 0x5915, - 4164: 0x4E88, - 4165: 0x4F59, - 4166: 0x4E0E, - 4167: 0x8A89, - 4168: 0x8F3F, - 4169: 0x9810, - 4170: 0x50AD, - 4171: 0x5E7C, - 4172: 0x5996, - 4173: 0x5BB9, - 4174: 0x5EB8, - 4175: 0x63DA, - 4176: 0x63FA, - 4177: 0x64C1, - 4178: 0x66DC, - 4179: 0x694A, - 4180: 0x69D8, - 4181: 0x6D0B, - 4182: 0x6EB6, - 4183: 0x7194, - 4184: 0x7528, - 4185: 0x7AAF, - 4186: 0x7F8A, - 4187: 0x8000, - 4188: 0x8449, - 4189: 0x84C9, - 4190: 0x8981, - 4191: 0x8B21, - 4192: 0x8E0A, - 4193: 0x9065, - 4194: 0x967D, - 4195: 0x990A, - 4196: 0x617E, - 4197: 0x6291, - 4198: 0x6B32, - 4199: 0x6C83, - 4200: 0x6D74, - 4201: 0x7FCC, - 4202: 0x7FFC, - 4203: 0x6DC0, - 4204: 0x7F85, - 4205: 0x87BA, - 4206: 0x88F8, - 4207: 0x6765, - 4208: 0x83B1, - 4209: 0x983C, - 4210: 0x96F7, - 4211: 0x6D1B, - 4212: 0x7D61, - 4213: 0x843D, - 4214: 0x916A, - 4215: 0x4E71, - 4216: 0x5375, - 4217: 0x5D50, - 4218: 0x6B04, - 4219: 0x6FEB, - 4220: 0x85CD, - 4221: 0x862D, - 4222: 0x89A7, - 4223: 0x5229, - 4224: 0x540F, - 4225: 0x5C65, - 4226: 0x674E, - 4227: 0x68A8, - 4228: 0x7406, - 4229: 0x7483, - 4230: 0x75E2, - 4231: 0x88CF, - 4232: 0x88E1, - 4233: 0x91CC, - 4234: 0x96E2, - 4235: 0x9678, - 4236: 0x5F8B, - 4237: 0x7387, - 4238: 0x7ACB, - 4239: 0x844E, - 4240: 0x63A0, - 4241: 0x7565, - 4242: 0x5289, - 4243: 0x6D41, - 4244: 0x6E9C, - 4245: 0x7409, - 4246: 0x7559, - 4247: 0x786B, - 4248: 0x7C92, - 4249: 0x9686, - 4250: 0x7ADC, - 4251: 0x9F8D, - 4252: 0x4FB6, - 4253: 0x616E, - 4254: 0x65C5, - 4255: 0x865C, - 4256: 0x4E86, - 4257: 0x4EAE, - 4258: 0x50DA, - 4259: 0x4E21, - 4260: 0x51CC, - 4261: 0x5BEE, - 4262: 0x6599, - 4263: 0x6881, - 4264: 0x6DBC, - 4265: 0x731F, - 4266: 0x7642, - 4267: 0x77AD, - 4268: 0x7A1C, - 4269: 0x7CE7, - 4270: 0x826F, - 4271: 0x8AD2, - 4272: 0x907C, - 4273: 0x91CF, - 4274: 0x9675, - 4275: 0x9818, - 4276: 0x529B, - 4277: 0x7DD1, - 4278: 0x502B, - 4279: 0x5398, - 4280: 0x6797, - 4281: 0x6DCB, - 4282: 0x71D0, - 4283: 0x7433, - 4284: 0x81E8, - 4285: 0x8F2A, - 4286: 0x96A3, - 4287: 0x9C57, - 4288: 0x9E9F, - 4289: 0x7460, - 4290: 0x5841, - 4291: 0x6D99, - 4292: 0x7D2F, - 4293: 0x985E, - 4294: 0x4EE4, - 4295: 0x4F36, - 4296: 0x4F8B, - 4297: 0x51B7, - 4298: 0x52B1, - 4299: 0x5DBA, - 4300: 0x601C, - 4301: 0x73B2, - 4302: 0x793C, - 4303: 0x82D3, - 4304: 0x9234, - 4305: 0x96B7, - 4306: 0x96F6, - 4307: 0x970A, - 4308: 0x9E97, - 4309: 0x9F62, - 4310: 0x66A6, - 4311: 0x6B74, - 4312: 0x5217, - 4313: 0x52A3, - 4314: 0x70C8, - 4315: 0x88C2, - 4316: 0x5EC9, - 4317: 0x604B, - 4318: 0x6190, - 4319: 0x6F23, - 4320: 0x7149, - 4321: 0x7C3E, - 4322: 0x7DF4, - 4323: 0x806F, - 4324: 0x84EE, - 4325: 0x9023, - 4326: 0x932C, - 4327: 0x5442, - 4328: 0x9B6F, - 4329: 0x6AD3, - 4330: 0x7089, - 4331: 0x8CC2, - 4332: 0x8DEF, - 4333: 0x9732, - 4334: 0x52B4, - 4335: 0x5A41, - 4336: 0x5ECA, - 4337: 0x5F04, - 4338: 0x6717, - 4339: 0x697C, - 4340: 0x6994, - 4341: 0x6D6A, - 4342: 0x6F0F, - 4343: 0x7262, - 4344: 0x72FC, - 4345: 0x7BED, - 4346: 0x8001, - 4347: 0x807E, - 4348: 0x874B, - 4349: 0x90CE, - 4350: 0x516D, - 4351: 0x9E93, - 4352: 0x7984, - 4353: 0x808B, - 4354: 0x9332, - 4355: 0x8AD6, - 4356: 0x502D, - 4357: 0x548C, - 4358: 0x8A71, - 4359: 0x6B6A, - 4360: 0x8CC4, - 4361: 0x8107, - 4362: 0x60D1, - 4363: 0x67A0, - 4364: 0x9DF2, - 4365: 0x4E99, - 4366: 0x4E98, - 4367: 0x9C10, - 4368: 0x8A6B, - 4369: 0x85C1, - 4370: 0x8568, - 4371: 0x6900, - 4372: 0x6E7E, - 4373: 0x7897, - 4374: 0x8155, - 4418: 0x5F0C, - 4419: 0x4E10, - 4420: 0x4E15, - 4421: 0x4E2A, - 4422: 0x4E31, - 4423: 0x4E36, - 4424: 0x4E3C, - 4425: 0x4E3F, - 4426: 0x4E42, - 4427: 0x4E56, - 4428: 0x4E58, - 4429: 0x4E82, - 4430: 0x4E85, - 4431: 0x8C6B, - 4432: 0x4E8A, - 4433: 0x8212, - 4434: 0x5F0D, - 4435: 0x4E8E, - 4436: 0x4E9E, - 4437: 0x4E9F, - 4438: 0x4EA0, - 4439: 0x4EA2, - 4440: 0x4EB0, - 4441: 0x4EB3, - 4442: 0x4EB6, - 4443: 0x4ECE, - 4444: 0x4ECD, - 4445: 0x4EC4, - 4446: 0x4EC6, - 4447: 0x4EC2, - 4448: 0x4ED7, - 4449: 0x4EDE, - 4450: 0x4EED, - 4451: 0x4EDF, - 4452: 0x4EF7, - 4453: 0x4F09, - 4454: 0x4F5A, - 4455: 0x4F30, - 4456: 0x4F5B, - 4457: 0x4F5D, - 4458: 0x4F57, - 4459: 0x4F47, - 4460: 0x4F76, - 4461: 0x4F88, - 4462: 0x4F8F, - 4463: 0x4F98, - 4464: 0x4F7B, - 4465: 0x4F69, - 4466: 0x4F70, - 4467: 0x4F91, - 4468: 0x4F6F, - 4469: 0x4F86, - 4470: 0x4F96, - 4471: 0x5118, - 4472: 0x4FD4, - 4473: 0x4FDF, - 4474: 0x4FCE, - 4475: 0x4FD8, - 4476: 0x4FDB, - 4477: 0x4FD1, - 4478: 0x4FDA, - 4479: 0x4FD0, - 4480: 0x4FE4, - 4481: 0x4FE5, - 4482: 0x501A, - 4483: 0x5028, - 4484: 0x5014, - 4485: 0x502A, - 4486: 0x5025, - 4487: 0x5005, - 4488: 0x4F1C, - 4489: 0x4FF6, - 4490: 0x5021, - 4491: 0x5029, - 4492: 0x502C, - 4493: 0x4FFE, - 4494: 0x4FEF, - 4495: 0x5011, - 4496: 0x5006, - 4497: 0x5043, - 4498: 0x5047, - 4499: 0x6703, - 4500: 0x5055, - 4501: 0x5050, - 4502: 0x5048, - 4503: 0x505A, - 4504: 0x5056, - 4505: 0x506C, - 4506: 0x5078, - 4507: 0x5080, - 4508: 0x509A, - 4509: 0x5085, - 4510: 0x50B4, - 4511: 0x50B2, - 4512: 0x50C9, - 4513: 0x50CA, - 4514: 0x50B3, - 4515: 0x50C2, - 4516: 0x50D6, - 4517: 0x50DE, - 4518: 0x50E5, - 4519: 0x50ED, - 4520: 0x50E3, - 4521: 0x50EE, - 4522: 0x50F9, - 4523: 0x50F5, - 4524: 0x5109, - 4525: 0x5101, - 4526: 0x5102, - 4527: 0x5116, - 4528: 0x5115, - 4529: 0x5114, - 4530: 0x511A, - 4531: 0x5121, - 4532: 0x513A, - 4533: 0x5137, - 4534: 0x513C, - 4535: 0x513B, - 4536: 0x513F, - 4537: 0x5140, - 4538: 0x5152, - 4539: 0x514C, - 4540: 0x5154, - 4541: 0x5162, - 4542: 0x7AF8, - 4543: 0x5169, - 4544: 0x516A, - 4545: 0x516E, - 4546: 0x5180, - 4547: 0x5182, - 4548: 0x56D8, - 4549: 0x518C, - 4550: 0x5189, - 4551: 0x518F, - 4552: 0x5191, - 4553: 0x5193, - 4554: 0x5195, - 4555: 0x5196, - 4556: 0x51A4, - 4557: 0x51A6, - 4558: 0x51A2, - 4559: 0x51A9, - 4560: 0x51AA, - 4561: 0x51AB, - 4562: 0x51B3, - 4563: 0x51B1, - 4564: 0x51B2, - 4565: 0x51B0, - 4566: 0x51B5, - 4567: 0x51BD, - 4568: 0x51C5, - 4569: 0x51C9, - 4570: 0x51DB, - 4571: 0x51E0, - 4572: 0x8655, - 4573: 0x51E9, - 4574: 0x51ED, - 4575: 0x51F0, - 4576: 0x51F5, - 4577: 0x51FE, - 4578: 0x5204, - 4579: 0x520B, - 4580: 0x5214, - 4581: 0x520E, - 4582: 0x5227, - 4583: 0x522A, - 4584: 0x522E, - 4585: 0x5233, - 4586: 0x5239, - 4587: 0x524F, - 4588: 0x5244, - 4589: 0x524B, - 4590: 0x524C, - 4591: 0x525E, - 4592: 0x5254, - 4593: 0x526A, - 4594: 0x5274, - 4595: 0x5269, - 4596: 0x5273, - 4597: 0x527F, - 4598: 0x527D, - 4599: 0x528D, - 4600: 0x5294, - 4601: 0x5292, - 4602: 0x5271, - 4603: 0x5288, - 4604: 0x5291, - 4605: 0x8FA8, - 4606: 0x8FA7, - 4607: 0x52AC, - 4608: 0x52AD, - 4609: 0x52BC, - 4610: 0x52B5, - 4611: 0x52C1, - 4612: 0x52CD, - 4613: 0x52D7, - 4614: 0x52DE, - 4615: 0x52E3, - 4616: 0x52E6, - 4617: 0x98ED, - 4618: 0x52E0, - 4619: 0x52F3, - 4620: 0x52F5, - 4621: 0x52F8, - 4622: 0x52F9, - 4623: 0x5306, - 4624: 0x5308, - 4625: 0x7538, - 4626: 0x530D, - 4627: 0x5310, - 4628: 0x530F, - 4629: 0x5315, - 4630: 0x531A, - 4631: 0x5323, - 4632: 0x532F, - 4633: 0x5331, - 4634: 0x5333, - 4635: 0x5338, - 4636: 0x5340, - 4637: 0x5346, - 4638: 0x5345, - 4639: 0x4E17, - 4640: 0x5349, - 4641: 0x534D, - 4642: 0x51D6, - 4643: 0x535E, - 4644: 0x5369, - 4645: 0x536E, - 4646: 0x5918, - 4647: 0x537B, - 4648: 0x5377, - 4649: 0x5382, - 4650: 0x5396, - 4651: 0x53A0, - 4652: 0x53A6, - 4653: 0x53A5, - 4654: 0x53AE, - 4655: 0x53B0, - 4656: 0x53B6, - 4657: 0x53C3, - 4658: 0x7C12, - 4659: 0x96D9, - 4660: 0x53DF, - 4661: 0x66FC, - 4662: 0x71EE, - 4663: 0x53EE, - 4664: 0x53E8, - 4665: 0x53ED, - 4666: 0x53FA, - 4667: 0x5401, - 4668: 0x543D, - 4669: 0x5440, - 4670: 0x542C, - 4671: 0x542D, - 4672: 0x543C, - 4673: 0x542E, - 4674: 0x5436, - 4675: 0x5429, - 4676: 0x541D, - 4677: 0x544E, - 4678: 0x548F, - 4679: 0x5475, - 4680: 0x548E, - 4681: 0x545F, - 4682: 0x5471, - 4683: 0x5477, - 4684: 0x5470, - 4685: 0x5492, - 4686: 0x547B, - 4687: 0x5480, - 4688: 0x5476, - 4689: 0x5484, - 4690: 0x5490, - 4691: 0x5486, - 4692: 0x54C7, - 4693: 0x54A2, - 4694: 0x54B8, - 4695: 0x54A5, - 4696: 0x54AC, - 4697: 0x54C4, - 4698: 0x54C8, - 4699: 0x54A8, - 4700: 0x54AB, - 4701: 0x54C2, - 4702: 0x54A4, - 4703: 0x54BE, - 4704: 0x54BC, - 4705: 0x54D8, - 4706: 0x54E5, - 4707: 0x54E6, - 4708: 0x550F, - 4709: 0x5514, - 4710: 0x54FD, - 4711: 0x54EE, - 4712: 0x54ED, - 4713: 0x54FA, - 4714: 0x54E2, - 4715: 0x5539, - 4716: 0x5540, - 4717: 0x5563, - 4718: 0x554C, - 4719: 0x552E, - 4720: 0x555C, - 4721: 0x5545, - 4722: 0x5556, - 4723: 0x5557, - 4724: 0x5538, - 4725: 0x5533, - 4726: 0x555D, - 4727: 0x5599, - 4728: 0x5580, - 4729: 0x54AF, - 4730: 0x558A, - 4731: 0x559F, - 4732: 0x557B, - 4733: 0x557E, - 4734: 0x5598, - 4735: 0x559E, - 4736: 0x55AE, - 4737: 0x557C, - 4738: 0x5583, - 4739: 0x55A9, - 4740: 0x5587, - 4741: 0x55A8, - 4742: 0x55DA, - 4743: 0x55C5, - 4744: 0x55DF, - 4745: 0x55C4, - 4746: 0x55DC, - 4747: 0x55E4, - 4748: 0x55D4, - 4749: 0x5614, - 4750: 0x55F7, - 4751: 0x5616, - 4752: 0x55FE, - 4753: 0x55FD, - 4754: 0x561B, - 4755: 0x55F9, - 4756: 0x564E, - 4757: 0x5650, - 4758: 0x71DF, - 4759: 0x5634, - 4760: 0x5636, - 4761: 0x5632, - 4762: 0x5638, - 4763: 0x566B, - 4764: 0x5664, - 4765: 0x562F, - 4766: 0x566C, - 4767: 0x566A, - 4768: 0x5686, - 4769: 0x5680, - 4770: 0x568A, - 4771: 0x56A0, - 4772: 0x5694, - 4773: 0x568F, - 4774: 0x56A5, - 4775: 0x56AE, - 4776: 0x56B6, - 4777: 0x56B4, - 4778: 0x56C2, - 4779: 0x56BC, - 4780: 0x56C1, - 4781: 0x56C3, - 4782: 0x56C0, - 4783: 0x56C8, - 4784: 0x56CE, - 4785: 0x56D1, - 4786: 0x56D3, - 4787: 0x56D7, - 4788: 0x56EE, - 4789: 0x56F9, - 4790: 0x5700, - 4791: 0x56FF, - 4792: 0x5704, - 4793: 0x5709, - 4794: 0x5708, - 4795: 0x570B, - 4796: 0x570D, - 4797: 0x5713, - 4798: 0x5718, - 4799: 0x5716, - 4800: 0x55C7, - 4801: 0x571C, - 4802: 0x5726, - 4803: 0x5737, - 4804: 0x5738, - 4805: 0x574E, - 4806: 0x573B, - 4807: 0x5740, - 4808: 0x574F, - 4809: 0x5769, - 4810: 0x57C0, - 4811: 0x5788, - 4812: 0x5761, - 4813: 0x577F, - 4814: 0x5789, - 4815: 0x5793, - 4816: 0x57A0, - 4817: 0x57B3, - 4818: 0x57A4, - 4819: 0x57AA, - 4820: 0x57B0, - 4821: 0x57C3, - 4822: 0x57C6, - 4823: 0x57D4, - 4824: 0x57D2, - 4825: 0x57D3, - 4826: 0x580A, - 4827: 0x57D6, - 4828: 0x57E3, - 4829: 0x580B, - 4830: 0x5819, - 4831: 0x581D, - 4832: 0x5872, - 4833: 0x5821, - 4834: 0x5862, - 4835: 0x584B, - 4836: 0x5870, - 4837: 0x6BC0, - 4838: 0x5852, - 4839: 0x583D, - 4840: 0x5879, - 4841: 0x5885, - 4842: 0x58B9, - 4843: 0x589F, - 4844: 0x58AB, - 4845: 0x58BA, - 4846: 0x58DE, - 4847: 0x58BB, - 4848: 0x58B8, - 4849: 0x58AE, - 4850: 0x58C5, - 4851: 0x58D3, - 4852: 0x58D1, - 4853: 0x58D7, - 4854: 0x58D9, - 4855: 0x58D8, - 4856: 0x58E5, - 4857: 0x58DC, - 4858: 0x58E4, - 4859: 0x58DF, - 4860: 0x58EF, - 4861: 0x58FA, - 4862: 0x58F9, - 4863: 0x58FB, - 4864: 0x58FC, - 4865: 0x58FD, - 4866: 0x5902, - 4867: 0x590A, - 4868: 0x5910, - 4869: 0x591B, - 4870: 0x68A6, - 4871: 0x5925, - 4872: 0x592C, - 4873: 0x592D, - 4874: 0x5932, - 4875: 0x5938, - 4876: 0x593E, - 4877: 0x7AD2, - 4878: 0x5955, - 4879: 0x5950, - 4880: 0x594E, - 4881: 0x595A, - 4882: 0x5958, - 4883: 0x5962, - 4884: 0x5960, - 4885: 0x5967, - 4886: 0x596C, - 4887: 0x5969, - 4888: 0x5978, - 4889: 0x5981, - 4890: 0x599D, - 4891: 0x4F5E, - 4892: 0x4FAB, - 4893: 0x59A3, - 4894: 0x59B2, - 4895: 0x59C6, - 4896: 0x59E8, - 4897: 0x59DC, - 4898: 0x598D, - 4899: 0x59D9, - 4900: 0x59DA, - 4901: 0x5A25, - 4902: 0x5A1F, - 4903: 0x5A11, - 4904: 0x5A1C, - 4905: 0x5A09, - 4906: 0x5A1A, - 4907: 0x5A40, - 4908: 0x5A6C, - 4909: 0x5A49, - 4910: 0x5A35, - 4911: 0x5A36, - 4912: 0x5A62, - 4913: 0x5A6A, - 4914: 0x5A9A, - 4915: 0x5ABC, - 4916: 0x5ABE, - 4917: 0x5ACB, - 4918: 0x5AC2, - 4919: 0x5ABD, - 4920: 0x5AE3, - 4921: 0x5AD7, - 4922: 0x5AE6, - 4923: 0x5AE9, - 4924: 0x5AD6, - 4925: 0x5AFA, - 4926: 0x5AFB, - 4927: 0x5B0C, - 4928: 0x5B0B, - 4929: 0x5B16, - 4930: 0x5B32, - 4931: 0x5AD0, - 4932: 0x5B2A, - 4933: 0x5B36, - 4934: 0x5B3E, - 4935: 0x5B43, - 4936: 0x5B45, - 4937: 0x5B40, - 4938: 0x5B51, - 4939: 0x5B55, - 4940: 0x5B5A, - 4941: 0x5B5B, - 4942: 0x5B65, - 4943: 0x5B69, - 4944: 0x5B70, - 4945: 0x5B73, - 4946: 0x5B75, - 4947: 0x5B78, - 4948: 0x6588, - 4949: 0x5B7A, - 4950: 0x5B80, - 4951: 0x5B83, - 4952: 0x5BA6, - 4953: 0x5BB8, - 4954: 0x5BC3, - 4955: 0x5BC7, - 4956: 0x5BC9, - 4957: 0x5BD4, - 4958: 0x5BD0, - 4959: 0x5BE4, - 4960: 0x5BE6, - 4961: 0x5BE2, - 4962: 0x5BDE, - 4963: 0x5BE5, - 4964: 0x5BEB, - 4965: 0x5BF0, - 4966: 0x5BF6, - 4967: 0x5BF3, - 4968: 0x5C05, - 4969: 0x5C07, - 4970: 0x5C08, - 4971: 0x5C0D, - 4972: 0x5C13, - 4973: 0x5C20, - 4974: 0x5C22, - 4975: 0x5C28, - 4976: 0x5C38, - 4977: 0x5C39, - 4978: 0x5C41, - 4979: 0x5C46, - 4980: 0x5C4E, - 4981: 0x5C53, - 4982: 0x5C50, - 4983: 0x5C4F, - 4984: 0x5B71, - 4985: 0x5C6C, - 4986: 0x5C6E, - 4987: 0x4E62, - 4988: 0x5C76, - 4989: 0x5C79, - 4990: 0x5C8C, - 4991: 0x5C91, - 4992: 0x5C94, - 4993: 0x599B, - 4994: 0x5CAB, - 4995: 0x5CBB, - 4996: 0x5CB6, - 4997: 0x5CBC, - 4998: 0x5CB7, - 4999: 0x5CC5, - 5000: 0x5CBE, - 5001: 0x5CC7, - 5002: 0x5CD9, - 5003: 0x5CE9, - 5004: 0x5CFD, - 5005: 0x5CFA, - 5006: 0x5CED, - 5007: 0x5D8C, - 5008: 0x5CEA, - 5009: 0x5D0B, - 5010: 0x5D15, - 5011: 0x5D17, - 5012: 0x5D5C, - 5013: 0x5D1F, - 5014: 0x5D1B, - 5015: 0x5D11, - 5016: 0x5D14, - 5017: 0x5D22, - 5018: 0x5D1A, - 5019: 0x5D19, - 5020: 0x5D18, - 5021: 0x5D4C, - 5022: 0x5D52, - 5023: 0x5D4E, - 5024: 0x5D4B, - 5025: 0x5D6C, - 5026: 0x5D73, - 5027: 0x5D76, - 5028: 0x5D87, - 5029: 0x5D84, - 5030: 0x5D82, - 5031: 0x5DA2, - 5032: 0x5D9D, - 5033: 0x5DAC, - 5034: 0x5DAE, - 5035: 0x5DBD, - 5036: 0x5D90, - 5037: 0x5DB7, - 5038: 0x5DBC, - 5039: 0x5DC9, - 5040: 0x5DCD, - 5041: 0x5DD3, - 5042: 0x5DD2, - 5043: 0x5DD6, - 5044: 0x5DDB, - 5045: 0x5DEB, - 5046: 0x5DF2, - 5047: 0x5DF5, - 5048: 0x5E0B, - 5049: 0x5E1A, - 5050: 0x5E19, - 5051: 0x5E11, - 5052: 0x5E1B, - 5053: 0x5E36, - 5054: 0x5E37, - 5055: 0x5E44, - 5056: 0x5E43, - 5057: 0x5E40, - 5058: 0x5E4E, - 5059: 0x5E57, - 5060: 0x5E54, - 5061: 0x5E5F, - 5062: 0x5E62, - 5063: 0x5E64, - 5064: 0x5E47, - 5065: 0x5E75, - 5066: 0x5E76, - 5067: 0x5E7A, - 5068: 0x9EBC, - 5069: 0x5E7F, - 5070: 0x5EA0, - 5071: 0x5EC1, - 5072: 0x5EC2, - 5073: 0x5EC8, - 5074: 0x5ED0, - 5075: 0x5ECF, - 5076: 0x5ED6, - 5077: 0x5EE3, - 5078: 0x5EDD, - 5079: 0x5EDA, - 5080: 0x5EDB, - 5081: 0x5EE2, - 5082: 0x5EE1, - 5083: 0x5EE8, - 5084: 0x5EE9, - 5085: 0x5EEC, - 5086: 0x5EF1, - 5087: 0x5EF3, - 5088: 0x5EF0, - 5089: 0x5EF4, - 5090: 0x5EF8, - 5091: 0x5EFE, - 5092: 0x5F03, - 5093: 0x5F09, - 5094: 0x5F5D, - 5095: 0x5F5C, - 5096: 0x5F0B, - 5097: 0x5F11, - 5098: 0x5F16, - 5099: 0x5F29, - 5100: 0x5F2D, - 5101: 0x5F38, - 5102: 0x5F41, - 5103: 0x5F48, - 5104: 0x5F4C, - 5105: 0x5F4E, - 5106: 0x5F2F, - 5107: 0x5F51, - 5108: 0x5F56, - 5109: 0x5F57, - 5110: 0x5F59, - 5111: 0x5F61, - 5112: 0x5F6D, - 5113: 0x5F73, - 5114: 0x5F77, - 5115: 0x5F83, - 5116: 0x5F82, - 5117: 0x5F7F, - 5118: 0x5F8A, - 5119: 0x5F88, - 5120: 0x5F91, - 5121: 0x5F87, - 5122: 0x5F9E, - 5123: 0x5F99, - 5124: 0x5F98, - 5125: 0x5FA0, - 5126: 0x5FA8, - 5127: 0x5FAD, - 5128: 0x5FBC, - 5129: 0x5FD6, - 5130: 0x5FFB, - 5131: 0x5FE4, - 5132: 0x5FF8, - 5133: 0x5FF1, - 5134: 0x5FDD, - 5135: 0x60B3, - 5136: 0x5FFF, - 5137: 0x6021, - 5138: 0x6060, - 5139: 0x6019, - 5140: 0x6010, - 5141: 0x6029, - 5142: 0x600E, - 5143: 0x6031, - 5144: 0x601B, - 5145: 0x6015, - 5146: 0x602B, - 5147: 0x6026, - 5148: 0x600F, - 5149: 0x603A, - 5150: 0x605A, - 5151: 0x6041, - 5152: 0x606A, - 5153: 0x6077, - 5154: 0x605F, - 5155: 0x604A, - 5156: 0x6046, - 5157: 0x604D, - 5158: 0x6063, - 5159: 0x6043, - 5160: 0x6064, - 5161: 0x6042, - 5162: 0x606C, - 5163: 0x606B, - 5164: 0x6059, - 5165: 0x6081, - 5166: 0x608D, - 5167: 0x60E7, - 5168: 0x6083, - 5169: 0x609A, - 5170: 0x6084, - 5171: 0x609B, - 5172: 0x6096, - 5173: 0x6097, - 5174: 0x6092, - 5175: 0x60A7, - 5176: 0x608B, - 5177: 0x60E1, - 5178: 0x60B8, - 5179: 0x60E0, - 5180: 0x60D3, - 5181: 0x60B4, - 5182: 0x5FF0, - 5183: 0x60BD, - 5184: 0x60C6, - 5185: 0x60B5, - 5186: 0x60D8, - 5187: 0x614D, - 5188: 0x6115, - 5189: 0x6106, - 5190: 0x60F6, - 5191: 0x60F7, - 5192: 0x6100, - 5193: 0x60F4, - 5194: 0x60FA, - 5195: 0x6103, - 5196: 0x6121, - 5197: 0x60FB, - 5198: 0x60F1, - 5199: 0x610D, - 5200: 0x610E, - 5201: 0x6147, - 5202: 0x613E, - 5203: 0x6128, - 5204: 0x6127, - 5205: 0x614A, - 5206: 0x613F, - 5207: 0x613C, - 5208: 0x612C, - 5209: 0x6134, - 5210: 0x613D, - 5211: 0x6142, - 5212: 0x6144, - 5213: 0x6173, - 5214: 0x6177, - 5215: 0x6158, - 5216: 0x6159, - 5217: 0x615A, - 5218: 0x616B, - 5219: 0x6174, - 5220: 0x616F, - 5221: 0x6165, - 5222: 0x6171, - 5223: 0x615F, - 5224: 0x615D, - 5225: 0x6153, - 5226: 0x6175, - 5227: 0x6199, - 5228: 0x6196, - 5229: 0x6187, - 5230: 0x61AC, - 5231: 0x6194, - 5232: 0x619A, - 5233: 0x618A, - 5234: 0x6191, - 5235: 0x61AB, - 5236: 0x61AE, - 5237: 0x61CC, - 5238: 0x61CA, - 5239: 0x61C9, - 5240: 0x61F7, - 5241: 0x61C8, - 5242: 0x61C3, - 5243: 0x61C6, - 5244: 0x61BA, - 5245: 0x61CB, - 5246: 0x7F79, - 5247: 0x61CD, - 5248: 0x61E6, - 5249: 0x61E3, - 5250: 0x61F6, - 5251: 0x61FA, - 5252: 0x61F4, - 5253: 0x61FF, - 5254: 0x61FD, - 5255: 0x61FC, - 5256: 0x61FE, - 5257: 0x6200, - 5258: 0x6208, - 5259: 0x6209, - 5260: 0x620D, - 5261: 0x620C, - 5262: 0x6214, - 5263: 0x621B, - 5264: 0x621E, - 5265: 0x6221, - 5266: 0x622A, - 5267: 0x622E, - 5268: 0x6230, - 5269: 0x6232, - 5270: 0x6233, - 5271: 0x6241, - 5272: 0x624E, - 5273: 0x625E, - 5274: 0x6263, - 5275: 0x625B, - 5276: 0x6260, - 5277: 0x6268, - 5278: 0x627C, - 5279: 0x6282, - 5280: 0x6289, - 5281: 0x627E, - 5282: 0x6292, - 5283: 0x6293, - 5284: 0x6296, - 5285: 0x62D4, - 5286: 0x6283, - 5287: 0x6294, - 5288: 0x62D7, - 5289: 0x62D1, - 5290: 0x62BB, - 5291: 0x62CF, - 5292: 0x62FF, - 5293: 0x62C6, - 5294: 0x64D4, - 5295: 0x62C8, - 5296: 0x62DC, - 5297: 0x62CC, - 5298: 0x62CA, - 5299: 0x62C2, - 5300: 0x62C7, - 5301: 0x629B, - 5302: 0x62C9, - 5303: 0x630C, - 5304: 0x62EE, - 5305: 0x62F1, - 5306: 0x6327, - 5307: 0x6302, - 5308: 0x6308, - 5309: 0x62EF, - 5310: 0x62F5, - 5311: 0x6350, - 5312: 0x633E, - 5313: 0x634D, - 5314: 0x641C, - 5315: 0x634F, - 5316: 0x6396, - 5317: 0x638E, - 5318: 0x6380, - 5319: 0x63AB, - 5320: 0x6376, - 5321: 0x63A3, - 5322: 0x638F, - 5323: 0x6389, - 5324: 0x639F, - 5325: 0x63B5, - 5326: 0x636B, - 5327: 0x6369, - 5328: 0x63BE, - 5329: 0x63E9, - 5330: 0x63C0, - 5331: 0x63C6, - 5332: 0x63E3, - 5333: 0x63C9, - 5334: 0x63D2, - 5335: 0x63F6, - 5336: 0x63C4, - 5337: 0x6416, - 5338: 0x6434, - 5339: 0x6406, - 5340: 0x6413, - 5341: 0x6426, - 5342: 0x6436, - 5343: 0x651D, - 5344: 0x6417, - 5345: 0x6428, - 5346: 0x640F, - 5347: 0x6467, - 5348: 0x646F, - 5349: 0x6476, - 5350: 0x644E, - 5351: 0x652A, - 5352: 0x6495, - 5353: 0x6493, - 5354: 0x64A5, - 5355: 0x64A9, - 5356: 0x6488, - 5357: 0x64BC, - 5358: 0x64DA, - 5359: 0x64D2, - 5360: 0x64C5, - 5361: 0x64C7, - 5362: 0x64BB, - 5363: 0x64D8, - 5364: 0x64C2, - 5365: 0x64F1, - 5366: 0x64E7, - 5367: 0x8209, - 5368: 0x64E0, - 5369: 0x64E1, - 5370: 0x62AC, - 5371: 0x64E3, - 5372: 0x64EF, - 5373: 0x652C, - 5374: 0x64F6, - 5375: 0x64F4, - 5376: 0x64F2, - 5377: 0x64FA, - 5378: 0x6500, - 5379: 0x64FD, - 5380: 0x6518, - 5381: 0x651C, - 5382: 0x6505, - 5383: 0x6524, - 5384: 0x6523, - 5385: 0x652B, - 5386: 0x6534, - 5387: 0x6535, - 5388: 0x6537, - 5389: 0x6536, - 5390: 0x6538, - 5391: 0x754B, - 5392: 0x6548, - 5393: 0x6556, - 5394: 0x6555, - 5395: 0x654D, - 5396: 0x6558, - 5397: 0x655E, - 5398: 0x655D, - 5399: 0x6572, - 5400: 0x6578, - 5401: 0x6582, - 5402: 0x6583, - 5403: 0x8B8A, - 5404: 0x659B, - 5405: 0x659F, - 5406: 0x65AB, - 5407: 0x65B7, - 5408: 0x65C3, - 5409: 0x65C6, - 5410: 0x65C1, - 5411: 0x65C4, - 5412: 0x65CC, - 5413: 0x65D2, - 5414: 0x65DB, - 5415: 0x65D9, - 5416: 0x65E0, - 5417: 0x65E1, - 5418: 0x65F1, - 5419: 0x6772, - 5420: 0x660A, - 5421: 0x6603, - 5422: 0x65FB, - 5423: 0x6773, - 5424: 0x6635, - 5425: 0x6636, - 5426: 0x6634, - 5427: 0x661C, - 5428: 0x664F, - 5429: 0x6644, - 5430: 0x6649, - 5431: 0x6641, - 5432: 0x665E, - 5433: 0x665D, - 5434: 0x6664, - 5435: 0x6667, - 5436: 0x6668, - 5437: 0x665F, - 5438: 0x6662, - 5439: 0x6670, - 5440: 0x6683, - 5441: 0x6688, - 5442: 0x668E, - 5443: 0x6689, - 5444: 0x6684, - 5445: 0x6698, - 5446: 0x669D, - 5447: 0x66C1, - 5448: 0x66B9, - 5449: 0x66C9, - 5450: 0x66BE, - 5451: 0x66BC, - 5452: 0x66C4, - 5453: 0x66B8, - 5454: 0x66D6, - 5455: 0x66DA, - 5456: 0x66E0, - 5457: 0x663F, - 5458: 0x66E6, - 5459: 0x66E9, - 5460: 0x66F0, - 5461: 0x66F5, - 5462: 0x66F7, - 5463: 0x670F, - 5464: 0x6716, - 5465: 0x671E, - 5466: 0x6726, - 5467: 0x6727, - 5468: 0x9738, - 5469: 0x672E, - 5470: 0x673F, - 5471: 0x6736, - 5472: 0x6741, - 5473: 0x6738, - 5474: 0x6737, - 5475: 0x6746, - 5476: 0x675E, - 5477: 0x6760, - 5478: 0x6759, - 5479: 0x6763, - 5480: 0x6764, - 5481: 0x6789, - 5482: 0x6770, - 5483: 0x67A9, - 5484: 0x677C, - 5485: 0x676A, - 5486: 0x678C, - 5487: 0x678B, - 5488: 0x67A6, - 5489: 0x67A1, - 5490: 0x6785, - 5491: 0x67B7, - 5492: 0x67EF, - 5493: 0x67B4, - 5494: 0x67EC, - 5495: 0x67B3, - 5496: 0x67E9, - 5497: 0x67B8, - 5498: 0x67E4, - 5499: 0x67DE, - 5500: 0x67DD, - 5501: 0x67E2, - 5502: 0x67EE, - 5503: 0x67B9, - 5504: 0x67CE, - 5505: 0x67C6, - 5506: 0x67E7, - 5507: 0x6A9C, - 5508: 0x681E, - 5509: 0x6846, - 5510: 0x6829, - 5511: 0x6840, - 5512: 0x684D, - 5513: 0x6832, - 5514: 0x684E, - 5515: 0x68B3, - 5516: 0x682B, - 5517: 0x6859, - 5518: 0x6863, - 5519: 0x6877, - 5520: 0x687F, - 5521: 0x689F, - 5522: 0x688F, - 5523: 0x68AD, - 5524: 0x6894, - 5525: 0x689D, - 5526: 0x689B, - 5527: 0x6883, - 5528: 0x6AAE, - 5529: 0x68B9, - 5530: 0x6874, - 5531: 0x68B5, - 5532: 0x68A0, - 5533: 0x68BA, - 5534: 0x690F, - 5535: 0x688D, - 5536: 0x687E, - 5537: 0x6901, - 5538: 0x68CA, - 5539: 0x6908, - 5540: 0x68D8, - 5541: 0x6922, - 5542: 0x6926, - 5543: 0x68E1, - 5544: 0x690C, - 5545: 0x68CD, - 5546: 0x68D4, - 5547: 0x68E7, - 5548: 0x68D5, - 5549: 0x6936, - 5550: 0x6912, - 5551: 0x6904, - 5552: 0x68D7, - 5553: 0x68E3, - 5554: 0x6925, - 5555: 0x68F9, - 5556: 0x68E0, - 5557: 0x68EF, - 5558: 0x6928, - 5559: 0x692A, - 5560: 0x691A, - 5561: 0x6923, - 5562: 0x6921, - 5563: 0x68C6, - 5564: 0x6979, - 5565: 0x6977, - 5566: 0x695C, - 5567: 0x6978, - 5568: 0x696B, - 5569: 0x6954, - 5570: 0x697E, - 5571: 0x696E, - 5572: 0x6939, - 5573: 0x6974, - 5574: 0x693D, - 5575: 0x6959, - 5576: 0x6930, - 5577: 0x6961, - 5578: 0x695E, - 5579: 0x695D, - 5580: 0x6981, - 5581: 0x696A, - 5582: 0x69B2, - 5583: 0x69AE, - 5584: 0x69D0, - 5585: 0x69BF, - 5586: 0x69C1, - 5587: 0x69D3, - 5588: 0x69BE, - 5589: 0x69CE, - 5590: 0x5BE8, - 5591: 0x69CA, - 5592: 0x69DD, - 5593: 0x69BB, - 5594: 0x69C3, - 5595: 0x69A7, - 5596: 0x6A2E, - 5597: 0x6991, - 5598: 0x69A0, - 5599: 0x699C, - 5600: 0x6995, - 5601: 0x69B4, - 5602: 0x69DE, - 5603: 0x69E8, - 5604: 0x6A02, - 5605: 0x6A1B, - 5606: 0x69FF, - 5607: 0x6B0A, - 5608: 0x69F9, - 5609: 0x69F2, - 5610: 0x69E7, - 5611: 0x6A05, - 5612: 0x69B1, - 5613: 0x6A1E, - 5614: 0x69ED, - 5615: 0x6A14, - 5616: 0x69EB, - 5617: 0x6A0A, - 5618: 0x6A12, - 5619: 0x6AC1, - 5620: 0x6A23, - 5621: 0x6A13, - 5622: 0x6A44, - 5623: 0x6A0C, - 5624: 0x6A72, - 5625: 0x6A36, - 5626: 0x6A78, - 5627: 0x6A47, - 5628: 0x6A62, - 5629: 0x6A59, - 5630: 0x6A66, - 5631: 0x6A48, - 5632: 0x6A38, - 5633: 0x6A22, - 5634: 0x6A90, - 5635: 0x6A8D, - 5636: 0x6AA0, - 5637: 0x6A84, - 5638: 0x6AA2, - 5639: 0x6AA3, - 5640: 0x6A97, - 5641: 0x8617, - 5642: 0x6ABB, - 5643: 0x6AC3, - 5644: 0x6AC2, - 5645: 0x6AB8, - 5646: 0x6AB3, - 5647: 0x6AAC, - 5648: 0x6ADE, - 5649: 0x6AD1, - 5650: 0x6ADF, - 5651: 0x6AAA, - 5652: 0x6ADA, - 5653: 0x6AEA, - 5654: 0x6AFB, - 5655: 0x6B05, - 5656: 0x8616, - 5657: 0x6AFA, - 5658: 0x6B12, - 5659: 0x6B16, - 5660: 0x9B31, - 5661: 0x6B1F, - 5662: 0x6B38, - 5663: 0x6B37, - 5664: 0x76DC, - 5665: 0x6B39, - 5666: 0x98EE, - 5667: 0x6B47, - 5668: 0x6B43, - 5669: 0x6B49, - 5670: 0x6B50, - 5671: 0x6B59, - 5672: 0x6B54, - 5673: 0x6B5B, - 5674: 0x6B5F, - 5675: 0x6B61, - 5676: 0x6B78, - 5677: 0x6B79, - 5678: 0x6B7F, - 5679: 0x6B80, - 5680: 0x6B84, - 5681: 0x6B83, - 5682: 0x6B8D, - 5683: 0x6B98, - 5684: 0x6B95, - 5685: 0x6B9E, - 5686: 0x6BA4, - 5687: 0x6BAA, - 5688: 0x6BAB, - 5689: 0x6BAF, - 5690: 0x6BB2, - 5691: 0x6BB1, - 5692: 0x6BB3, - 5693: 0x6BB7, - 5694: 0x6BBC, - 5695: 0x6BC6, - 5696: 0x6BCB, - 5697: 0x6BD3, - 5698: 0x6BDF, - 5699: 0x6BEC, - 5700: 0x6BEB, - 5701: 0x6BF3, - 5702: 0x6BEF, - 5703: 0x9EBE, - 5704: 0x6C08, - 5705: 0x6C13, - 5706: 0x6C14, - 5707: 0x6C1B, - 5708: 0x6C24, - 5709: 0x6C23, - 5710: 0x6C5E, - 5711: 0x6C55, - 5712: 0x6C62, - 5713: 0x6C6A, - 5714: 0x6C82, - 5715: 0x6C8D, - 5716: 0x6C9A, - 5717: 0x6C81, - 5718: 0x6C9B, - 5719: 0x6C7E, - 5720: 0x6C68, - 5721: 0x6C73, - 5722: 0x6C92, - 5723: 0x6C90, - 5724: 0x6CC4, - 5725: 0x6CF1, - 5726: 0x6CD3, - 5727: 0x6CBD, - 5728: 0x6CD7, - 5729: 0x6CC5, - 5730: 0x6CDD, - 5731: 0x6CAE, - 5732: 0x6CB1, - 5733: 0x6CBE, - 5734: 0x6CBA, - 5735: 0x6CDB, - 5736: 0x6CEF, - 5737: 0x6CD9, - 5738: 0x6CEA, - 5739: 0x6D1F, - 5740: 0x884D, - 5741: 0x6D36, - 5742: 0x6D2B, - 5743: 0x6D3D, - 5744: 0x6D38, - 5745: 0x6D19, - 5746: 0x6D35, - 5747: 0x6D33, - 5748: 0x6D12, - 5749: 0x6D0C, - 5750: 0x6D63, - 5751: 0x6D93, - 5752: 0x6D64, - 5753: 0x6D5A, - 5754: 0x6D79, - 5755: 0x6D59, - 5756: 0x6D8E, - 5757: 0x6D95, - 5758: 0x6FE4, - 5759: 0x6D85, - 5760: 0x6DF9, - 5761: 0x6E15, - 5762: 0x6E0A, - 5763: 0x6DB5, - 5764: 0x6DC7, - 5765: 0x6DE6, - 5766: 0x6DB8, - 5767: 0x6DC6, - 5768: 0x6DEC, - 5769: 0x6DDE, - 5770: 0x6DCC, - 5771: 0x6DE8, - 5772: 0x6DD2, - 5773: 0x6DC5, - 5774: 0x6DFA, - 5775: 0x6DD9, - 5776: 0x6DE4, - 5777: 0x6DD5, - 5778: 0x6DEA, - 5779: 0x6DEE, - 5780: 0x6E2D, - 5781: 0x6E6E, - 5782: 0x6E2E, - 5783: 0x6E19, - 5784: 0x6E72, - 5785: 0x6E5F, - 5786: 0x6E3E, - 5787: 0x6E23, - 5788: 0x6E6B, - 5789: 0x6E2B, - 5790: 0x6E76, - 5791: 0x6E4D, - 5792: 0x6E1F, - 5793: 0x6E43, - 5794: 0x6E3A, - 5795: 0x6E4E, - 5796: 0x6E24, - 5797: 0x6EFF, - 5798: 0x6E1D, - 5799: 0x6E38, - 5800: 0x6E82, - 5801: 0x6EAA, - 5802: 0x6E98, - 5803: 0x6EC9, - 5804: 0x6EB7, - 5805: 0x6ED3, - 5806: 0x6EBD, - 5807: 0x6EAF, - 5808: 0x6EC4, - 5809: 0x6EB2, - 5810: 0x6ED4, - 5811: 0x6ED5, - 5812: 0x6E8F, - 5813: 0x6EA5, - 5814: 0x6EC2, - 5815: 0x6E9F, - 5816: 0x6F41, - 5817: 0x6F11, - 5818: 0x704C, - 5819: 0x6EEC, - 5820: 0x6EF8, - 5821: 0x6EFE, - 5822: 0x6F3F, - 5823: 0x6EF2, - 5824: 0x6F31, - 5825: 0x6EEF, - 5826: 0x6F32, - 5827: 0x6ECC, - 5828: 0x6F3E, - 5829: 0x6F13, - 5830: 0x6EF7, - 5831: 0x6F86, - 5832: 0x6F7A, - 5833: 0x6F78, - 5834: 0x6F81, - 5835: 0x6F80, - 5836: 0x6F6F, - 5837: 0x6F5B, - 5838: 0x6FF3, - 5839: 0x6F6D, - 5840: 0x6F82, - 5841: 0x6F7C, - 5842: 0x6F58, - 5843: 0x6F8E, - 5844: 0x6F91, - 5845: 0x6FC2, - 5846: 0x6F66, - 5847: 0x6FB3, - 5848: 0x6FA3, - 5849: 0x6FA1, - 5850: 0x6FA4, - 5851: 0x6FB9, - 5852: 0x6FC6, - 5853: 0x6FAA, - 5854: 0x6FDF, - 5855: 0x6FD5, - 5856: 0x6FEC, - 5857: 0x6FD4, - 5858: 0x6FD8, - 5859: 0x6FF1, - 5860: 0x6FEE, - 5861: 0x6FDB, - 5862: 0x7009, - 5863: 0x700B, - 5864: 0x6FFA, - 5865: 0x7011, - 5866: 0x7001, - 5867: 0x700F, - 5868: 0x6FFE, - 5869: 0x701B, - 5870: 0x701A, - 5871: 0x6F74, - 5872: 0x701D, - 5873: 0x7018, - 5874: 0x701F, - 5875: 0x7030, - 5876: 0x703E, - 5877: 0x7032, - 5878: 0x7051, - 5879: 0x7063, - 5880: 0x7099, - 5881: 0x7092, - 5882: 0x70AF, - 5883: 0x70F1, - 5884: 0x70AC, - 5885: 0x70B8, - 5886: 0x70B3, - 5887: 0x70AE, - 5888: 0x70DF, - 5889: 0x70CB, - 5890: 0x70DD, - 5891: 0x70D9, - 5892: 0x7109, - 5893: 0x70FD, - 5894: 0x711C, - 5895: 0x7119, - 5896: 0x7165, - 5897: 0x7155, - 5898: 0x7188, - 5899: 0x7166, - 5900: 0x7162, - 5901: 0x714C, - 5902: 0x7156, - 5903: 0x716C, - 5904: 0x718F, - 5905: 0x71FB, - 5906: 0x7184, - 5907: 0x7195, - 5908: 0x71A8, - 5909: 0x71AC, - 5910: 0x71D7, - 5911: 0x71B9, - 5912: 0x71BE, - 5913: 0x71D2, - 5914: 0x71C9, - 5915: 0x71D4, - 5916: 0x71CE, - 5917: 0x71E0, - 5918: 0x71EC, - 5919: 0x71E7, - 5920: 0x71F5, - 5921: 0x71FC, - 5922: 0x71F9, - 5923: 0x71FF, - 5924: 0x720D, - 5925: 0x7210, - 5926: 0x721B, - 5927: 0x7228, - 5928: 0x722D, - 5929: 0x722C, - 5930: 0x7230, - 5931: 0x7232, - 5932: 0x723B, - 5933: 0x723C, - 5934: 0x723F, - 5935: 0x7240, - 5936: 0x7246, - 5937: 0x724B, - 5938: 0x7258, - 5939: 0x7274, - 5940: 0x727E, - 5941: 0x7282, - 5942: 0x7281, - 5943: 0x7287, - 5944: 0x7292, - 5945: 0x7296, - 5946: 0x72A2, - 5947: 0x72A7, - 5948: 0x72B9, - 5949: 0x72B2, - 5950: 0x72C3, - 5951: 0x72C6, - 5952: 0x72C4, - 5953: 0x72CE, - 5954: 0x72D2, - 5955: 0x72E2, - 5956: 0x72E0, - 5957: 0x72E1, - 5958: 0x72F9, - 5959: 0x72F7, - 5960: 0x500F, - 5961: 0x7317, - 5962: 0x730A, - 5963: 0x731C, - 5964: 0x7316, - 5965: 0x731D, - 5966: 0x7334, - 5967: 0x732F, - 5968: 0x7329, - 5969: 0x7325, - 5970: 0x733E, - 5971: 0x734E, - 5972: 0x734F, - 5973: 0x9ED8, - 5974: 0x7357, - 5975: 0x736A, - 5976: 0x7368, - 5977: 0x7370, - 5978: 0x7378, - 5979: 0x7375, - 5980: 0x737B, - 5981: 0x737A, - 5982: 0x73C8, - 5983: 0x73B3, - 5984: 0x73CE, - 5985: 0x73BB, - 5986: 0x73C0, - 5987: 0x73E5, - 5988: 0x73EE, - 5989: 0x73DE, - 5990: 0x74A2, - 5991: 0x7405, - 5992: 0x746F, - 5993: 0x7425, - 5994: 0x73F8, - 5995: 0x7432, - 5996: 0x743A, - 5997: 0x7455, - 5998: 0x743F, - 5999: 0x745F, - 6000: 0x7459, - 6001: 0x7441, - 6002: 0x745C, - 6003: 0x7469, - 6004: 0x7470, - 6005: 0x7463, - 6006: 0x746A, - 6007: 0x7476, - 6008: 0x747E, - 6009: 0x748B, - 6010: 0x749E, - 6011: 0x74A7, - 6012: 0x74CA, - 6013: 0x74CF, - 6014: 0x74D4, - 6015: 0x73F1, - 6016: 0x74E0, - 6017: 0x74E3, - 6018: 0x74E7, - 6019: 0x74E9, - 6020: 0x74EE, - 6021: 0x74F2, - 6022: 0x74F0, - 6023: 0x74F1, - 6024: 0x74F8, - 6025: 0x74F7, - 6026: 0x7504, - 6027: 0x7503, - 6028: 0x7505, - 6029: 0x750C, - 6030: 0x750E, - 6031: 0x750D, - 6032: 0x7515, - 6033: 0x7513, - 6034: 0x751E, - 6035: 0x7526, - 6036: 0x752C, - 6037: 0x753C, - 6038: 0x7544, - 6039: 0x754D, - 6040: 0x754A, - 6041: 0x7549, - 6042: 0x755B, - 6043: 0x7546, - 6044: 0x755A, - 6045: 0x7569, - 6046: 0x7564, - 6047: 0x7567, - 6048: 0x756B, - 6049: 0x756D, - 6050: 0x7578, - 6051: 0x7576, - 6052: 0x7586, - 6053: 0x7587, - 6054: 0x7574, - 6055: 0x758A, - 6056: 0x7589, - 6057: 0x7582, - 6058: 0x7594, - 6059: 0x759A, - 6060: 0x759D, - 6061: 0x75A5, - 6062: 0x75A3, - 6063: 0x75C2, - 6064: 0x75B3, - 6065: 0x75C3, - 6066: 0x75B5, - 6067: 0x75BD, - 6068: 0x75B8, - 6069: 0x75BC, - 6070: 0x75B1, - 6071: 0x75CD, - 6072: 0x75CA, - 6073: 0x75D2, - 6074: 0x75D9, - 6075: 0x75E3, - 6076: 0x75DE, - 6077: 0x75FE, - 6078: 0x75FF, - 6079: 0x75FC, - 6080: 0x7601, - 6081: 0x75F0, - 6082: 0x75FA, - 6083: 0x75F2, - 6084: 0x75F3, - 6085: 0x760B, - 6086: 0x760D, - 6087: 0x7609, - 6088: 0x761F, - 6089: 0x7627, - 6090: 0x7620, - 6091: 0x7621, - 6092: 0x7622, - 6093: 0x7624, - 6094: 0x7634, - 6095: 0x7630, - 6096: 0x763B, - 6097: 0x7647, - 6098: 0x7648, - 6099: 0x7646, - 6100: 0x765C, - 6101: 0x7658, - 6102: 0x7661, - 6103: 0x7662, - 6104: 0x7668, - 6105: 0x7669, - 6106: 0x766A, - 6107: 0x7667, - 6108: 0x766C, - 6109: 0x7670, - 6110: 0x7672, - 6111: 0x7676, - 6112: 0x7678, - 6113: 0x767C, - 6114: 0x7680, - 6115: 0x7683, - 6116: 0x7688, - 6117: 0x768B, - 6118: 0x768E, - 6119: 0x7696, - 6120: 0x7693, - 6121: 0x7699, - 6122: 0x769A, - 6123: 0x76B0, - 6124: 0x76B4, - 6125: 0x76B8, - 6126: 0x76B9, - 6127: 0x76BA, - 6128: 0x76C2, - 6129: 0x76CD, - 6130: 0x76D6, - 6131: 0x76D2, - 6132: 0x76DE, - 6133: 0x76E1, - 6134: 0x76E5, - 6135: 0x76E7, - 6136: 0x76EA, - 6137: 0x862F, - 6138: 0x76FB, - 6139: 0x7708, - 6140: 0x7707, - 6141: 0x7704, - 6142: 0x7729, - 6143: 0x7724, - 6144: 0x771E, - 6145: 0x7725, - 6146: 0x7726, - 6147: 0x771B, - 6148: 0x7737, - 6149: 0x7738, - 6150: 0x7747, - 6151: 0x775A, - 6152: 0x7768, - 6153: 0x776B, - 6154: 0x775B, - 6155: 0x7765, - 6156: 0x777F, - 6157: 0x777E, - 6158: 0x7779, - 6159: 0x778E, - 6160: 0x778B, - 6161: 0x7791, - 6162: 0x77A0, - 6163: 0x779E, - 6164: 0x77B0, - 6165: 0x77B6, - 6166: 0x77B9, - 6167: 0x77BF, - 6168: 0x77BC, - 6169: 0x77BD, - 6170: 0x77BB, - 6171: 0x77C7, - 6172: 0x77CD, - 6173: 0x77D7, - 6174: 0x77DA, - 6175: 0x77DC, - 6176: 0x77E3, - 6177: 0x77EE, - 6178: 0x77FC, - 6179: 0x780C, - 6180: 0x7812, - 6181: 0x7926, - 6182: 0x7820, - 6183: 0x792A, - 6184: 0x7845, - 6185: 0x788E, - 6186: 0x7874, - 6187: 0x7886, - 6188: 0x787C, - 6189: 0x789A, - 6190: 0x788C, - 6191: 0x78A3, - 6192: 0x78B5, - 6193: 0x78AA, - 6194: 0x78AF, - 6195: 0x78D1, - 6196: 0x78C6, - 6197: 0x78CB, - 6198: 0x78D4, - 6199: 0x78BE, - 6200: 0x78BC, - 6201: 0x78C5, - 6202: 0x78CA, - 6203: 0x78EC, - 6204: 0x78E7, - 6205: 0x78DA, - 6206: 0x78FD, - 6207: 0x78F4, - 6208: 0x7907, - 6209: 0x7912, - 6210: 0x7911, - 6211: 0x7919, - 6212: 0x792C, - 6213: 0x792B, - 6214: 0x7940, - 6215: 0x7960, - 6216: 0x7957, - 6217: 0x795F, - 6218: 0x795A, - 6219: 0x7955, - 6220: 0x7953, - 6221: 0x797A, - 6222: 0x797F, - 6223: 0x798A, - 6224: 0x799D, - 6225: 0x79A7, - 6226: 0x9F4B, - 6227: 0x79AA, - 6228: 0x79AE, - 6229: 0x79B3, - 6230: 0x79B9, - 6231: 0x79BA, - 6232: 0x79C9, - 6233: 0x79D5, - 6234: 0x79E7, - 6235: 0x79EC, - 6236: 0x79E1, - 6237: 0x79E3, - 6238: 0x7A08, - 6239: 0x7A0D, - 6240: 0x7A18, - 6241: 0x7A19, - 6242: 0x7A20, - 6243: 0x7A1F, - 6244: 0x7980, - 6245: 0x7A31, - 6246: 0x7A3B, - 6247: 0x7A3E, - 6248: 0x7A37, - 6249: 0x7A43, - 6250: 0x7A57, - 6251: 0x7A49, - 6252: 0x7A61, - 6253: 0x7A62, - 6254: 0x7A69, - 6255: 0x9F9D, - 6256: 0x7A70, - 6257: 0x7A79, - 6258: 0x7A7D, - 6259: 0x7A88, - 6260: 0x7A97, - 6261: 0x7A95, - 6262: 0x7A98, - 6263: 0x7A96, - 6264: 0x7AA9, - 6265: 0x7AC8, - 6266: 0x7AB0, - 6267: 0x7AB6, - 6268: 0x7AC5, - 6269: 0x7AC4, - 6270: 0x7ABF, - 6271: 0x9083, - 6272: 0x7AC7, - 6273: 0x7ACA, - 6274: 0x7ACD, - 6275: 0x7ACF, - 6276: 0x7AD5, - 6277: 0x7AD3, - 6278: 0x7AD9, - 6279: 0x7ADA, - 6280: 0x7ADD, - 6281: 0x7AE1, - 6282: 0x7AE2, - 6283: 0x7AE6, - 6284: 0x7AED, - 6285: 0x7AF0, - 6286: 0x7B02, - 6287: 0x7B0F, - 6288: 0x7B0A, - 6289: 0x7B06, - 6290: 0x7B33, - 6291: 0x7B18, - 6292: 0x7B19, - 6293: 0x7B1E, - 6294: 0x7B35, - 6295: 0x7B28, - 6296: 0x7B36, - 6297: 0x7B50, - 6298: 0x7B7A, - 6299: 0x7B04, - 6300: 0x7B4D, - 6301: 0x7B0B, - 6302: 0x7B4C, - 6303: 0x7B45, - 6304: 0x7B75, - 6305: 0x7B65, - 6306: 0x7B74, - 6307: 0x7B67, - 6308: 0x7B70, - 6309: 0x7B71, - 6310: 0x7B6C, - 6311: 0x7B6E, - 6312: 0x7B9D, - 6313: 0x7B98, - 6314: 0x7B9F, - 6315: 0x7B8D, - 6316: 0x7B9C, - 6317: 0x7B9A, - 6318: 0x7B8B, - 6319: 0x7B92, - 6320: 0x7B8F, - 6321: 0x7B5D, - 6322: 0x7B99, - 6323: 0x7BCB, - 6324: 0x7BC1, - 6325: 0x7BCC, - 6326: 0x7BCF, - 6327: 0x7BB4, - 6328: 0x7BC6, - 6329: 0x7BDD, - 6330: 0x7BE9, - 6331: 0x7C11, - 6332: 0x7C14, - 6333: 0x7BE6, - 6334: 0x7BE5, - 6335: 0x7C60, - 6336: 0x7C00, - 6337: 0x7C07, - 6338: 0x7C13, - 6339: 0x7BF3, - 6340: 0x7BF7, - 6341: 0x7C17, - 6342: 0x7C0D, - 6343: 0x7BF6, - 6344: 0x7C23, - 6345: 0x7C27, - 6346: 0x7C2A, - 6347: 0x7C1F, - 6348: 0x7C37, - 6349: 0x7C2B, - 6350: 0x7C3D, - 6351: 0x7C4C, - 6352: 0x7C43, - 6353: 0x7C54, - 6354: 0x7C4F, - 6355: 0x7C40, - 6356: 0x7C50, - 6357: 0x7C58, - 6358: 0x7C5F, - 6359: 0x7C64, - 6360: 0x7C56, - 6361: 0x7C65, - 6362: 0x7C6C, - 6363: 0x7C75, - 6364: 0x7C83, - 6365: 0x7C90, - 6366: 0x7CA4, - 6367: 0x7CAD, - 6368: 0x7CA2, - 6369: 0x7CAB, - 6370: 0x7CA1, - 6371: 0x7CA8, - 6372: 0x7CB3, - 6373: 0x7CB2, - 6374: 0x7CB1, - 6375: 0x7CAE, - 6376: 0x7CB9, - 6377: 0x7CBD, - 6378: 0x7CC0, - 6379: 0x7CC5, - 6380: 0x7CC2, - 6381: 0x7CD8, - 6382: 0x7CD2, - 6383: 0x7CDC, - 6384: 0x7CE2, - 6385: 0x9B3B, - 6386: 0x7CEF, - 6387: 0x7CF2, - 6388: 0x7CF4, - 6389: 0x7CF6, - 6390: 0x7CFA, - 6391: 0x7D06, - 6392: 0x7D02, - 6393: 0x7D1C, - 6394: 0x7D15, - 6395: 0x7D0A, - 6396: 0x7D45, - 6397: 0x7D4B, - 6398: 0x7D2E, - 6399: 0x7D32, - 6400: 0x7D3F, - 6401: 0x7D35, - 6402: 0x7D46, - 6403: 0x7D73, - 6404: 0x7D56, - 6405: 0x7D4E, - 6406: 0x7D72, - 6407: 0x7D68, - 6408: 0x7D6E, - 6409: 0x7D4F, - 6410: 0x7D63, - 6411: 0x7D93, - 6412: 0x7D89, - 6413: 0x7D5B, - 6414: 0x7D8F, - 6415: 0x7D7D, - 6416: 0x7D9B, - 6417: 0x7DBA, - 6418: 0x7DAE, - 6419: 0x7DA3, - 6420: 0x7DB5, - 6421: 0x7DC7, - 6422: 0x7DBD, - 6423: 0x7DAB, - 6424: 0x7E3D, - 6425: 0x7DA2, - 6426: 0x7DAF, - 6427: 0x7DDC, - 6428: 0x7DB8, - 6429: 0x7D9F, - 6430: 0x7DB0, - 6431: 0x7DD8, - 6432: 0x7DDD, - 6433: 0x7DE4, - 6434: 0x7DDE, - 6435: 0x7DFB, - 6436: 0x7DF2, - 6437: 0x7DE1, - 6438: 0x7E05, - 6439: 0x7E0A, - 6440: 0x7E23, - 6441: 0x7E21, - 6442: 0x7E12, - 6443: 0x7E31, - 6444: 0x7E1F, - 6445: 0x7E09, - 6446: 0x7E0B, - 6447: 0x7E22, - 6448: 0x7E46, - 6449: 0x7E66, - 6450: 0x7E3B, - 6451: 0x7E35, - 6452: 0x7E39, - 6453: 0x7E43, - 6454: 0x7E37, - 6455: 0x7E32, - 6456: 0x7E3A, - 6457: 0x7E67, - 6458: 0x7E5D, - 6459: 0x7E56, - 6460: 0x7E5E, - 6461: 0x7E59, - 6462: 0x7E5A, - 6463: 0x7E79, - 6464: 0x7E6A, - 6465: 0x7E69, - 6466: 0x7E7C, - 6467: 0x7E7B, - 6468: 0x7E83, - 6469: 0x7DD5, - 6470: 0x7E7D, - 6471: 0x8FAE, - 6472: 0x7E7F, - 6473: 0x7E88, - 6474: 0x7E89, - 6475: 0x7E8C, - 6476: 0x7E92, - 6477: 0x7E90, - 6478: 0x7E93, - 6479: 0x7E94, - 6480: 0x7E96, - 6481: 0x7E8E, - 6482: 0x7E9B, - 6483: 0x7E9C, - 6484: 0x7F38, - 6485: 0x7F3A, - 6486: 0x7F45, - 6487: 0x7F4C, - 6488: 0x7F4D, - 6489: 0x7F4E, - 6490: 0x7F50, - 6491: 0x7F51, - 6492: 0x7F55, - 6493: 0x7F54, - 6494: 0x7F58, - 6495: 0x7F5F, - 6496: 0x7F60, - 6497: 0x7F68, - 6498: 0x7F69, - 6499: 0x7F67, - 6500: 0x7F78, - 6501: 0x7F82, - 6502: 0x7F86, - 6503: 0x7F83, - 6504: 0x7F88, - 6505: 0x7F87, - 6506: 0x7F8C, - 6507: 0x7F94, - 6508: 0x7F9E, - 6509: 0x7F9D, - 6510: 0x7F9A, - 6511: 0x7FA3, - 6512: 0x7FAF, - 6513: 0x7FB2, - 6514: 0x7FB9, - 6515: 0x7FAE, - 6516: 0x7FB6, - 6517: 0x7FB8, - 6518: 0x8B71, - 6519: 0x7FC5, - 6520: 0x7FC6, - 6521: 0x7FCA, - 6522: 0x7FD5, - 6523: 0x7FD4, - 6524: 0x7FE1, - 6525: 0x7FE6, - 6526: 0x7FE9, - 6527: 0x7FF3, - 6528: 0x7FF9, - 6529: 0x98DC, - 6530: 0x8006, - 6531: 0x8004, - 6532: 0x800B, - 6533: 0x8012, - 6534: 0x8018, - 6535: 0x8019, - 6536: 0x801C, - 6537: 0x8021, - 6538: 0x8028, - 6539: 0x803F, - 6540: 0x803B, - 6541: 0x804A, - 6542: 0x8046, - 6543: 0x8052, - 6544: 0x8058, - 6545: 0x805A, - 6546: 0x805F, - 6547: 0x8062, - 6548: 0x8068, - 6549: 0x8073, - 6550: 0x8072, - 6551: 0x8070, - 6552: 0x8076, - 6553: 0x8079, - 6554: 0x807D, - 6555: 0x807F, - 6556: 0x8084, - 6557: 0x8086, - 6558: 0x8085, - 6559: 0x809B, - 6560: 0x8093, - 6561: 0x809A, - 6562: 0x80AD, - 6563: 0x5190, - 6564: 0x80AC, - 6565: 0x80DB, - 6566: 0x80E5, - 6567: 0x80D9, - 6568: 0x80DD, - 6569: 0x80C4, - 6570: 0x80DA, - 6571: 0x80D6, - 6572: 0x8109, - 6573: 0x80EF, - 6574: 0x80F1, - 6575: 0x811B, - 6576: 0x8129, - 6577: 0x8123, - 6578: 0x812F, - 6579: 0x814B, - 6580: 0x968B, - 6581: 0x8146, - 6582: 0x813E, - 6583: 0x8153, - 6584: 0x8151, - 6585: 0x80FC, - 6586: 0x8171, - 6587: 0x816E, - 6588: 0x8165, - 6589: 0x8166, - 6590: 0x8174, - 6591: 0x8183, - 6592: 0x8188, - 6593: 0x818A, - 6594: 0x8180, - 6595: 0x8182, - 6596: 0x81A0, - 6597: 0x8195, - 6598: 0x81A4, - 6599: 0x81A3, - 6600: 0x815F, - 6601: 0x8193, - 6602: 0x81A9, - 6603: 0x81B0, - 6604: 0x81B5, - 6605: 0x81BE, - 6606: 0x81B8, - 6607: 0x81BD, - 6608: 0x81C0, - 6609: 0x81C2, - 6610: 0x81BA, - 6611: 0x81C9, - 6612: 0x81CD, - 6613: 0x81D1, - 6614: 0x81D9, - 6615: 0x81D8, - 6616: 0x81C8, - 6617: 0x81DA, - 6618: 0x81DF, - 6619: 0x81E0, - 6620: 0x81E7, - 6621: 0x81FA, - 6622: 0x81FB, - 6623: 0x81FE, - 6624: 0x8201, - 6625: 0x8202, - 6626: 0x8205, - 6627: 0x8207, - 6628: 0x820A, - 6629: 0x820D, - 6630: 0x8210, - 6631: 0x8216, - 6632: 0x8229, - 6633: 0x822B, - 6634: 0x8238, - 6635: 0x8233, - 6636: 0x8240, - 6637: 0x8259, - 6638: 0x8258, - 6639: 0x825D, - 6640: 0x825A, - 6641: 0x825F, - 6642: 0x8264, - 6643: 0x8262, - 6644: 0x8268, - 6645: 0x826A, - 6646: 0x826B, - 6647: 0x822E, - 6648: 0x8271, - 6649: 0x8277, - 6650: 0x8278, - 6651: 0x827E, - 6652: 0x828D, - 6653: 0x8292, - 6654: 0x82AB, - 6655: 0x829F, - 6656: 0x82BB, - 6657: 0x82AC, - 6658: 0x82E1, - 6659: 0x82E3, - 6660: 0x82DF, - 6661: 0x82D2, - 6662: 0x82F4, - 6663: 0x82F3, - 6664: 0x82FA, - 6665: 0x8393, - 6666: 0x8303, - 6667: 0x82FB, - 6668: 0x82F9, - 6669: 0x82DE, - 6670: 0x8306, - 6671: 0x82DC, - 6672: 0x8309, - 6673: 0x82D9, - 6674: 0x8335, - 6675: 0x8334, - 6676: 0x8316, - 6677: 0x8332, - 6678: 0x8331, - 6679: 0x8340, - 6680: 0x8339, - 6681: 0x8350, - 6682: 0x8345, - 6683: 0x832F, - 6684: 0x832B, - 6685: 0x8317, - 6686: 0x8318, - 6687: 0x8385, - 6688: 0x839A, - 6689: 0x83AA, - 6690: 0x839F, - 6691: 0x83A2, - 6692: 0x8396, - 6693: 0x8323, - 6694: 0x838E, - 6695: 0x8387, - 6696: 0x838A, - 6697: 0x837C, - 6698: 0x83B5, - 6699: 0x8373, - 6700: 0x8375, - 6701: 0x83A0, - 6702: 0x8389, - 6703: 0x83A8, - 6704: 0x83F4, - 6705: 0x8413, - 6706: 0x83EB, - 6707: 0x83CE, - 6708: 0x83FD, - 6709: 0x8403, - 6710: 0x83D8, - 6711: 0x840B, - 6712: 0x83C1, - 6713: 0x83F7, - 6714: 0x8407, - 6715: 0x83E0, - 6716: 0x83F2, - 6717: 0x840D, - 6718: 0x8422, - 6719: 0x8420, - 6720: 0x83BD, - 6721: 0x8438, - 6722: 0x8506, - 6723: 0x83FB, - 6724: 0x846D, - 6725: 0x842A, - 6726: 0x843C, - 6727: 0x855A, - 6728: 0x8484, - 6729: 0x8477, - 6730: 0x846B, - 6731: 0x84AD, - 6732: 0x846E, - 6733: 0x8482, - 6734: 0x8469, - 6735: 0x8446, - 6736: 0x842C, - 6737: 0x846F, - 6738: 0x8479, - 6739: 0x8435, - 6740: 0x84CA, - 6741: 0x8462, - 6742: 0x84B9, - 6743: 0x84BF, - 6744: 0x849F, - 6745: 0x84D9, - 6746: 0x84CD, - 6747: 0x84BB, - 6748: 0x84DA, - 6749: 0x84D0, - 6750: 0x84C1, - 6751: 0x84C6, - 6752: 0x84D6, - 6753: 0x84A1, - 6754: 0x8521, - 6755: 0x84FF, - 6756: 0x84F4, - 6757: 0x8517, - 6758: 0x8518, - 6759: 0x852C, - 6760: 0x851F, - 6761: 0x8515, - 6762: 0x8514, - 6763: 0x84FC, - 6764: 0x8540, - 6765: 0x8563, - 6766: 0x8558, - 6767: 0x8548, - 6768: 0x8541, - 6769: 0x8602, - 6770: 0x854B, - 6771: 0x8555, - 6772: 0x8580, - 6773: 0x85A4, - 6774: 0x8588, - 6775: 0x8591, - 6776: 0x858A, - 6777: 0x85A8, - 6778: 0x856D, - 6779: 0x8594, - 6780: 0x859B, - 6781: 0x85EA, - 6782: 0x8587, - 6783: 0x859C, - 6784: 0x8577, - 6785: 0x857E, - 6786: 0x8590, - 6787: 0x85C9, - 6788: 0x85BA, - 6789: 0x85CF, - 6790: 0x85B9, - 6791: 0x85D0, - 6792: 0x85D5, - 6793: 0x85DD, - 6794: 0x85E5, - 6795: 0x85DC, - 6796: 0x85F9, - 6797: 0x860A, - 6798: 0x8613, - 6799: 0x860B, - 6800: 0x85FE, - 6801: 0x85FA, - 6802: 0x8606, - 6803: 0x8622, - 6804: 0x861A, - 6805: 0x8630, - 6806: 0x863F, - 6807: 0x864D, - 6808: 0x4E55, - 6809: 0x8654, - 6810: 0x865F, - 6811: 0x8667, - 6812: 0x8671, - 6813: 0x8693, - 6814: 0x86A3, - 6815: 0x86A9, - 6816: 0x86AA, - 6817: 0x868B, - 6818: 0x868C, - 6819: 0x86B6, - 6820: 0x86AF, - 6821: 0x86C4, - 6822: 0x86C6, - 6823: 0x86B0, - 6824: 0x86C9, - 6825: 0x8823, - 6826: 0x86AB, - 6827: 0x86D4, - 6828: 0x86DE, - 6829: 0x86E9, - 6830: 0x86EC, - 6831: 0x86DF, - 6832: 0x86DB, - 6833: 0x86EF, - 6834: 0x8712, - 6835: 0x8706, - 6836: 0x8708, - 6837: 0x8700, - 6838: 0x8703, - 6839: 0x86FB, - 6840: 0x8711, - 6841: 0x8709, - 6842: 0x870D, - 6843: 0x86F9, - 6844: 0x870A, - 6845: 0x8734, - 6846: 0x873F, - 6847: 0x8737, - 6848: 0x873B, - 6849: 0x8725, - 6850: 0x8729, - 6851: 0x871A, - 6852: 0x8760, - 6853: 0x875F, - 6854: 0x8778, - 6855: 0x874C, - 6856: 0x874E, - 6857: 0x8774, - 6858: 0x8757, - 6859: 0x8768, - 6860: 0x876E, - 6861: 0x8759, - 6862: 0x8753, - 6863: 0x8763, - 6864: 0x876A, - 6865: 0x8805, - 6866: 0x87A2, - 6867: 0x879F, - 6868: 0x8782, - 6869: 0x87AF, - 6870: 0x87CB, - 6871: 0x87BD, - 6872: 0x87C0, - 6873: 0x87D0, - 6874: 0x96D6, - 6875: 0x87AB, - 6876: 0x87C4, - 6877: 0x87B3, - 6878: 0x87C7, - 6879: 0x87C6, - 6880: 0x87BB, - 6881: 0x87EF, - 6882: 0x87F2, - 6883: 0x87E0, - 6884: 0x880F, - 6885: 0x880D, - 6886: 0x87FE, - 6887: 0x87F6, - 6888: 0x87F7, - 6889: 0x880E, - 6890: 0x87D2, - 6891: 0x8811, - 6892: 0x8816, - 6893: 0x8815, - 6894: 0x8822, - 6895: 0x8821, - 6896: 0x8831, - 6897: 0x8836, - 6898: 0x8839, - 6899: 0x8827, - 6900: 0x883B, - 6901: 0x8844, - 6902: 0x8842, - 6903: 0x8852, - 6904: 0x8859, - 6905: 0x885E, - 6906: 0x8862, - 6907: 0x886B, - 6908: 0x8881, - 6909: 0x887E, - 6910: 0x889E, - 6911: 0x8875, - 6912: 0x887D, - 6913: 0x88B5, - 6914: 0x8872, - 6915: 0x8882, - 6916: 0x8897, - 6917: 0x8892, - 6918: 0x88AE, - 6919: 0x8899, - 6920: 0x88A2, - 6921: 0x888D, - 6922: 0x88A4, - 6923: 0x88B0, - 6924: 0x88BF, - 6925: 0x88B1, - 6926: 0x88C3, - 6927: 0x88C4, - 6928: 0x88D4, - 6929: 0x88D8, - 6930: 0x88D9, - 6931: 0x88DD, - 6932: 0x88F9, - 6933: 0x8902, - 6934: 0x88FC, - 6935: 0x88F4, - 6936: 0x88E8, - 6937: 0x88F2, - 6938: 0x8904, - 6939: 0x890C, - 6940: 0x890A, - 6941: 0x8913, - 6942: 0x8943, - 6943: 0x891E, - 6944: 0x8925, - 6945: 0x892A, - 6946: 0x892B, - 6947: 0x8941, - 6948: 0x8944, - 6949: 0x893B, - 6950: 0x8936, - 6951: 0x8938, - 6952: 0x894C, - 6953: 0x891D, - 6954: 0x8960, - 6955: 0x895E, - 6956: 0x8966, - 6957: 0x8964, - 6958: 0x896D, - 6959: 0x896A, - 6960: 0x896F, - 6961: 0x8974, - 6962: 0x8977, - 6963: 0x897E, - 6964: 0x8983, - 6965: 0x8988, - 6966: 0x898A, - 6967: 0x8993, - 6968: 0x8998, - 6969: 0x89A1, - 6970: 0x89A9, - 6971: 0x89A6, - 6972: 0x89AC, - 6973: 0x89AF, - 6974: 0x89B2, - 6975: 0x89BA, - 6976: 0x89BD, - 6977: 0x89BF, - 6978: 0x89C0, - 6979: 0x89DA, - 6980: 0x89DC, - 6981: 0x89DD, - 6982: 0x89E7, - 6983: 0x89F4, - 6984: 0x89F8, - 6985: 0x8A03, - 6986: 0x8A16, - 6987: 0x8A10, - 6988: 0x8A0C, - 6989: 0x8A1B, - 6990: 0x8A1D, - 6991: 0x8A25, - 6992: 0x8A36, - 6993: 0x8A41, - 6994: 0x8A5B, - 6995: 0x8A52, - 6996: 0x8A46, - 6997: 0x8A48, - 6998: 0x8A7C, - 6999: 0x8A6D, - 7000: 0x8A6C, - 7001: 0x8A62, - 7002: 0x8A85, - 7003: 0x8A82, - 7004: 0x8A84, - 7005: 0x8AA8, - 7006: 0x8AA1, - 7007: 0x8A91, - 7008: 0x8AA5, - 7009: 0x8AA6, - 7010: 0x8A9A, - 7011: 0x8AA3, - 7012: 0x8AC4, - 7013: 0x8ACD, - 7014: 0x8AC2, - 7015: 0x8ADA, - 7016: 0x8AEB, - 7017: 0x8AF3, - 7018: 0x8AE7, - 7019: 0x8AE4, - 7020: 0x8AF1, - 7021: 0x8B14, - 7022: 0x8AE0, - 7023: 0x8AE2, - 7024: 0x8AF7, - 7025: 0x8ADE, - 7026: 0x8ADB, - 7027: 0x8B0C, - 7028: 0x8B07, - 7029: 0x8B1A, - 7030: 0x8AE1, - 7031: 0x8B16, - 7032: 0x8B10, - 7033: 0x8B17, - 7034: 0x8B20, - 7035: 0x8B33, - 7036: 0x97AB, - 7037: 0x8B26, - 7038: 0x8B2B, - 7039: 0x8B3E, - 7040: 0x8B28, - 7041: 0x8B41, - 7042: 0x8B4C, - 7043: 0x8B4F, - 7044: 0x8B4E, - 7045: 0x8B49, - 7046: 0x8B56, - 7047: 0x8B5B, - 7048: 0x8B5A, - 7049: 0x8B6B, - 7050: 0x8B5F, - 7051: 0x8B6C, - 7052: 0x8B6F, - 7053: 0x8B74, - 7054: 0x8B7D, - 7055: 0x8B80, - 7056: 0x8B8C, - 7057: 0x8B8E, - 7058: 0x8B92, - 7059: 0x8B93, - 7060: 0x8B96, - 7061: 0x8B99, - 7062: 0x8B9A, - 7063: 0x8C3A, - 7064: 0x8C41, - 7065: 0x8C3F, - 7066: 0x8C48, - 7067: 0x8C4C, - 7068: 0x8C4E, - 7069: 0x8C50, - 7070: 0x8C55, - 7071: 0x8C62, - 7072: 0x8C6C, - 7073: 0x8C78, - 7074: 0x8C7A, - 7075: 0x8C82, - 7076: 0x8C89, - 7077: 0x8C85, - 7078: 0x8C8A, - 7079: 0x8C8D, - 7080: 0x8C8E, - 7081: 0x8C94, - 7082: 0x8C7C, - 7083: 0x8C98, - 7084: 0x621D, - 7085: 0x8CAD, - 7086: 0x8CAA, - 7087: 0x8CBD, - 7088: 0x8CB2, - 7089: 0x8CB3, - 7090: 0x8CAE, - 7091: 0x8CB6, - 7092: 0x8CC8, - 7093: 0x8CC1, - 7094: 0x8CE4, - 7095: 0x8CE3, - 7096: 0x8CDA, - 7097: 0x8CFD, - 7098: 0x8CFA, - 7099: 0x8CFB, - 7100: 0x8D04, - 7101: 0x8D05, - 7102: 0x8D0A, - 7103: 0x8D07, - 7104: 0x8D0F, - 7105: 0x8D0D, - 7106: 0x8D10, - 7107: 0x9F4E, - 7108: 0x8D13, - 7109: 0x8CCD, - 7110: 0x8D14, - 7111: 0x8D16, - 7112: 0x8D67, - 7113: 0x8D6D, - 7114: 0x8D71, - 7115: 0x8D73, - 7116: 0x8D81, - 7117: 0x8D99, - 7118: 0x8DC2, - 7119: 0x8DBE, - 7120: 0x8DBA, - 7121: 0x8DCF, - 7122: 0x8DDA, - 7123: 0x8DD6, - 7124: 0x8DCC, - 7125: 0x8DDB, - 7126: 0x8DCB, - 7127: 0x8DEA, - 7128: 0x8DEB, - 7129: 0x8DDF, - 7130: 0x8DE3, - 7131: 0x8DFC, - 7132: 0x8E08, - 7133: 0x8E09, - 7134: 0x8DFF, - 7135: 0x8E1D, - 7136: 0x8E1E, - 7137: 0x8E10, - 7138: 0x8E1F, - 7139: 0x8E42, - 7140: 0x8E35, - 7141: 0x8E30, - 7142: 0x8E34, - 7143: 0x8E4A, - 7144: 0x8E47, - 7145: 0x8E49, - 7146: 0x8E4C, - 7147: 0x8E50, - 7148: 0x8E48, - 7149: 0x8E59, - 7150: 0x8E64, - 7151: 0x8E60, - 7152: 0x8E2A, - 7153: 0x8E63, - 7154: 0x8E55, - 7155: 0x8E76, - 7156: 0x8E72, - 7157: 0x8E7C, - 7158: 0x8E81, - 7159: 0x8E87, - 7160: 0x8E85, - 7161: 0x8E84, - 7162: 0x8E8B, - 7163: 0x8E8A, - 7164: 0x8E93, - 7165: 0x8E91, - 7166: 0x8E94, - 7167: 0x8E99, - 7168: 0x8EAA, - 7169: 0x8EA1, - 7170: 0x8EAC, - 7171: 0x8EB0, - 7172: 0x8EC6, - 7173: 0x8EB1, - 7174: 0x8EBE, - 7175: 0x8EC5, - 7176: 0x8EC8, - 7177: 0x8ECB, - 7178: 0x8EDB, - 7179: 0x8EE3, - 7180: 0x8EFC, - 7181: 0x8EFB, - 7182: 0x8EEB, - 7183: 0x8EFE, - 7184: 0x8F0A, - 7185: 0x8F05, - 7186: 0x8F15, - 7187: 0x8F12, - 7188: 0x8F19, - 7189: 0x8F13, - 7190: 0x8F1C, - 7191: 0x8F1F, - 7192: 0x8F1B, - 7193: 0x8F0C, - 7194: 0x8F26, - 7195: 0x8F33, - 7196: 0x8F3B, - 7197: 0x8F39, - 7198: 0x8F45, - 7199: 0x8F42, - 7200: 0x8F3E, - 7201: 0x8F4C, - 7202: 0x8F49, - 7203: 0x8F46, - 7204: 0x8F4E, - 7205: 0x8F57, - 7206: 0x8F5C, - 7207: 0x8F62, - 7208: 0x8F63, - 7209: 0x8F64, - 7210: 0x8F9C, - 7211: 0x8F9F, - 7212: 0x8FA3, - 7213: 0x8FAD, - 7214: 0x8FAF, - 7215: 0x8FB7, - 7216: 0x8FDA, - 7217: 0x8FE5, - 7218: 0x8FE2, - 7219: 0x8FEA, - 7220: 0x8FEF, - 7221: 0x9087, - 7222: 0x8FF4, - 7223: 0x9005, - 7224: 0x8FF9, - 7225: 0x8FFA, - 7226: 0x9011, - 7227: 0x9015, - 7228: 0x9021, - 7229: 0x900D, - 7230: 0x901E, - 7231: 0x9016, - 7232: 0x900B, - 7233: 0x9027, - 7234: 0x9036, - 7235: 0x9035, - 7236: 0x9039, - 7237: 0x8FF8, - 7238: 0x904F, - 7239: 0x9050, - 7240: 0x9051, - 7241: 0x9052, - 7242: 0x900E, - 7243: 0x9049, - 7244: 0x903E, - 7245: 0x9056, - 7246: 0x9058, - 7247: 0x905E, - 7248: 0x9068, - 7249: 0x906F, - 7250: 0x9076, - 7251: 0x96A8, - 7252: 0x9072, - 7253: 0x9082, - 7254: 0x907D, - 7255: 0x9081, - 7256: 0x9080, - 7257: 0x908A, - 7258: 0x9089, - 7259: 0x908F, - 7260: 0x90A8, - 7261: 0x90AF, - 7262: 0x90B1, - 7263: 0x90B5, - 7264: 0x90E2, - 7265: 0x90E4, - 7266: 0x6248, - 7267: 0x90DB, - 7268: 0x9102, - 7269: 0x9112, - 7270: 0x9119, - 7271: 0x9132, - 7272: 0x9130, - 7273: 0x914A, - 7274: 0x9156, - 7275: 0x9158, - 7276: 0x9163, - 7277: 0x9165, - 7278: 0x9169, - 7279: 0x9173, - 7280: 0x9172, - 7281: 0x918B, - 7282: 0x9189, - 7283: 0x9182, - 7284: 0x91A2, - 7285: 0x91AB, - 7286: 0x91AF, - 7287: 0x91AA, - 7288: 0x91B5, - 7289: 0x91B4, - 7290: 0x91BA, - 7291: 0x91C0, - 7292: 0x91C1, - 7293: 0x91C9, - 7294: 0x91CB, - 7295: 0x91D0, - 7296: 0x91D6, - 7297: 0x91DF, - 7298: 0x91E1, - 7299: 0x91DB, - 7300: 0x91FC, - 7301: 0x91F5, - 7302: 0x91F6, - 7303: 0x921E, - 7304: 0x91FF, - 7305: 0x9214, - 7306: 0x922C, - 7307: 0x9215, - 7308: 0x9211, - 7309: 0x925E, - 7310: 0x9257, - 7311: 0x9245, - 7312: 0x9249, - 7313: 0x9264, - 7314: 0x9248, - 7315: 0x9295, - 7316: 0x923F, - 7317: 0x924B, - 7318: 0x9250, - 7319: 0x929C, - 7320: 0x9296, - 7321: 0x9293, - 7322: 0x929B, - 7323: 0x925A, - 7324: 0x92CF, - 7325: 0x92B9, - 7326: 0x92B7, - 7327: 0x92E9, - 7328: 0x930F, - 7329: 0x92FA, - 7330: 0x9344, - 7331: 0x932E, - 7332: 0x9319, - 7333: 0x9322, - 7334: 0x931A, - 7335: 0x9323, - 7336: 0x933A, - 7337: 0x9335, - 7338: 0x933B, - 7339: 0x935C, - 7340: 0x9360, - 7341: 0x937C, - 7342: 0x936E, - 7343: 0x9356, - 7344: 0x93B0, - 7345: 0x93AC, - 7346: 0x93AD, - 7347: 0x9394, - 7348: 0x93B9, - 7349: 0x93D6, - 7350: 0x93D7, - 7351: 0x93E8, - 7352: 0x93E5, - 7353: 0x93D8, - 7354: 0x93C3, - 7355: 0x93DD, - 7356: 0x93D0, - 7357: 0x93C8, - 7358: 0x93E4, - 7359: 0x941A, - 7360: 0x9414, - 7361: 0x9413, - 7362: 0x9403, - 7363: 0x9407, - 7364: 0x9410, - 7365: 0x9436, - 7366: 0x942B, - 7367: 0x9435, - 7368: 0x9421, - 7369: 0x943A, - 7370: 0x9441, - 7371: 0x9452, - 7372: 0x9444, - 7373: 0x945B, - 7374: 0x9460, - 7375: 0x9462, - 7376: 0x945E, - 7377: 0x946A, - 7378: 0x9229, - 7379: 0x9470, - 7380: 0x9475, - 7381: 0x9477, - 7382: 0x947D, - 7383: 0x945A, - 7384: 0x947C, - 7385: 0x947E, - 7386: 0x9481, - 7387: 0x947F, - 7388: 0x9582, - 7389: 0x9587, - 7390: 0x958A, - 7391: 0x9594, - 7392: 0x9596, - 7393: 0x9598, - 7394: 0x9599, - 7395: 0x95A0, - 7396: 0x95A8, - 7397: 0x95A7, - 7398: 0x95AD, - 7399: 0x95BC, - 7400: 0x95BB, - 7401: 0x95B9, - 7402: 0x95BE, - 7403: 0x95CA, - 7404: 0x6FF6, - 7405: 0x95C3, - 7406: 0x95CD, - 7407: 0x95CC, - 7408: 0x95D5, - 7409: 0x95D4, - 7410: 0x95D6, - 7411: 0x95DC, - 7412: 0x95E1, - 7413: 0x95E5, - 7414: 0x95E2, - 7415: 0x9621, - 7416: 0x9628, - 7417: 0x962E, - 7418: 0x962F, - 7419: 0x9642, - 7420: 0x964C, - 7421: 0x964F, - 7422: 0x964B, - 7423: 0x9677, - 7424: 0x965C, - 7425: 0x965E, - 7426: 0x965D, - 7427: 0x965F, - 7428: 0x9666, - 7429: 0x9672, - 7430: 0x966C, - 7431: 0x968D, - 7432: 0x9698, - 7433: 0x9695, - 7434: 0x9697, - 7435: 0x96AA, - 7436: 0x96A7, - 7437: 0x96B1, - 7438: 0x96B2, - 7439: 0x96B0, - 7440: 0x96B4, - 7441: 0x96B6, - 7442: 0x96B8, - 7443: 0x96B9, - 7444: 0x96CE, - 7445: 0x96CB, - 7446: 0x96C9, - 7447: 0x96CD, - 7448: 0x894D, - 7449: 0x96DC, - 7450: 0x970D, - 7451: 0x96D5, - 7452: 0x96F9, - 7453: 0x9704, - 7454: 0x9706, - 7455: 0x9708, - 7456: 0x9713, - 7457: 0x970E, - 7458: 0x9711, - 7459: 0x970F, - 7460: 0x9716, - 7461: 0x9719, - 7462: 0x9724, - 7463: 0x972A, - 7464: 0x9730, - 7465: 0x9739, - 7466: 0x973D, - 7467: 0x973E, - 7468: 0x9744, - 7469: 0x9746, - 7470: 0x9748, - 7471: 0x9742, - 7472: 0x9749, - 7473: 0x975C, - 7474: 0x9760, - 7475: 0x9764, - 7476: 0x9766, - 7477: 0x9768, - 7478: 0x52D2, - 7479: 0x976B, - 7480: 0x9771, - 7481: 0x9779, - 7482: 0x9785, - 7483: 0x977C, - 7484: 0x9781, - 7485: 0x977A, - 7486: 0x9786, - 7487: 0x978B, - 7488: 0x978F, - 7489: 0x9790, - 7490: 0x979C, - 7491: 0x97A8, - 7492: 0x97A6, - 7493: 0x97A3, - 7494: 0x97B3, - 7495: 0x97B4, - 7496: 0x97C3, - 7497: 0x97C6, - 7498: 0x97C8, - 7499: 0x97CB, - 7500: 0x97DC, - 7501: 0x97ED, - 7502: 0x9F4F, - 7503: 0x97F2, - 7504: 0x7ADF, - 7505: 0x97F6, - 7506: 0x97F5, - 7507: 0x980F, - 7508: 0x980C, - 7509: 0x9838, - 7510: 0x9824, - 7511: 0x9821, - 7512: 0x9837, - 7513: 0x983D, - 7514: 0x9846, - 7515: 0x984F, - 7516: 0x984B, - 7517: 0x986B, - 7518: 0x986F, - 7519: 0x9870, - 7520: 0x9871, - 7521: 0x9874, - 7522: 0x9873, - 7523: 0x98AA, - 7524: 0x98AF, - 7525: 0x98B1, - 7526: 0x98B6, - 7527: 0x98C4, - 7528: 0x98C3, - 7529: 0x98C6, - 7530: 0x98E9, - 7531: 0x98EB, - 7532: 0x9903, - 7533: 0x9909, - 7534: 0x9912, - 7535: 0x9914, - 7536: 0x9918, - 7537: 0x9921, - 7538: 0x991D, - 7539: 0x991E, - 7540: 0x9924, - 7541: 0x9920, - 7542: 0x992C, - 7543: 0x992E, - 7544: 0x993D, - 7545: 0x993E, - 7546: 0x9942, - 7547: 0x9949, - 7548: 0x9945, - 7549: 0x9950, - 7550: 0x994B, - 7551: 0x9951, - 7552: 0x9952, - 7553: 0x994C, - 7554: 0x9955, - 7555: 0x9997, - 7556: 0x9998, - 7557: 0x99A5, - 7558: 0x99AD, - 7559: 0x99AE, - 7560: 0x99BC, - 7561: 0x99DF, - 7562: 0x99DB, - 7563: 0x99DD, - 7564: 0x99D8, - 7565: 0x99D1, - 7566: 0x99ED, - 7567: 0x99EE, - 7568: 0x99F1, - 7569: 0x99F2, - 7570: 0x99FB, - 7571: 0x99F8, - 7572: 0x9A01, - 7573: 0x9A0F, - 7574: 0x9A05, - 7575: 0x99E2, - 7576: 0x9A19, - 7577: 0x9A2B, - 7578: 0x9A37, - 7579: 0x9A45, - 7580: 0x9A42, - 7581: 0x9A40, - 7582: 0x9A43, - 7583: 0x9A3E, - 7584: 0x9A55, - 7585: 0x9A4D, - 7586: 0x9A5B, - 7587: 0x9A57, - 7588: 0x9A5F, - 7589: 0x9A62, - 7590: 0x9A65, - 7591: 0x9A64, - 7592: 0x9A69, - 7593: 0x9A6B, - 7594: 0x9A6A, - 7595: 0x9AAD, - 7596: 0x9AB0, - 7597: 0x9ABC, - 7598: 0x9AC0, - 7599: 0x9ACF, - 7600: 0x9AD1, - 7601: 0x9AD3, - 7602: 0x9AD4, - 7603: 0x9ADE, - 7604: 0x9ADF, - 7605: 0x9AE2, - 7606: 0x9AE3, - 7607: 0x9AE6, - 7608: 0x9AEF, - 7609: 0x9AEB, - 7610: 0x9AEE, - 7611: 0x9AF4, - 7612: 0x9AF1, - 7613: 0x9AF7, - 7614: 0x9AFB, - 7615: 0x9B06, - 7616: 0x9B18, - 7617: 0x9B1A, - 7618: 0x9B1F, - 7619: 0x9B22, - 7620: 0x9B23, - 7621: 0x9B25, - 7622: 0x9B27, - 7623: 0x9B28, - 7624: 0x9B29, - 7625: 0x9B2A, - 7626: 0x9B2E, - 7627: 0x9B2F, - 7628: 0x9B32, - 7629: 0x9B44, - 7630: 0x9B43, - 7631: 0x9B4F, - 7632: 0x9B4D, - 7633: 0x9B4E, - 7634: 0x9B51, - 7635: 0x9B58, - 7636: 0x9B74, - 7637: 0x9B93, - 7638: 0x9B83, - 7639: 0x9B91, - 7640: 0x9B96, - 7641: 0x9B97, - 7642: 0x9B9F, - 7643: 0x9BA0, - 7644: 0x9BA8, - 7645: 0x9BB4, - 7646: 0x9BC0, - 7647: 0x9BCA, - 7648: 0x9BB9, - 7649: 0x9BC6, - 7650: 0x9BCF, - 7651: 0x9BD1, - 7652: 0x9BD2, - 7653: 0x9BE3, - 7654: 0x9BE2, - 7655: 0x9BE4, - 7656: 0x9BD4, - 7657: 0x9BE1, - 7658: 0x9C3A, - 7659: 0x9BF2, - 7660: 0x9BF1, - 7661: 0x9BF0, - 7662: 0x9C15, - 7663: 0x9C14, - 7664: 0x9C09, - 7665: 0x9C13, - 7666: 0x9C0C, - 7667: 0x9C06, - 7668: 0x9C08, - 7669: 0x9C12, - 7670: 0x9C0A, - 7671: 0x9C04, - 7672: 0x9C2E, - 7673: 0x9C1B, - 7674: 0x9C25, - 7675: 0x9C24, - 7676: 0x9C21, - 7677: 0x9C30, - 7678: 0x9C47, - 7679: 0x9C32, - 7680: 0x9C46, - 7681: 0x9C3E, - 7682: 0x9C5A, - 7683: 0x9C60, - 7684: 0x9C67, - 7685: 0x9C76, - 7686: 0x9C78, - 7687: 0x9CE7, - 7688: 0x9CEC, - 7689: 0x9CF0, - 7690: 0x9D09, - 7691: 0x9D08, - 7692: 0x9CEB, - 7693: 0x9D03, - 7694: 0x9D06, - 7695: 0x9D2A, - 7696: 0x9D26, - 7697: 0x9DAF, - 7698: 0x9D23, - 7699: 0x9D1F, - 7700: 0x9D44, - 7701: 0x9D15, - 7702: 0x9D12, - 7703: 0x9D41, - 7704: 0x9D3F, - 7705: 0x9D3E, - 7706: 0x9D46, - 7707: 0x9D48, - 7708: 0x9D5D, - 7709: 0x9D5E, - 7710: 0x9D64, - 7711: 0x9D51, - 7712: 0x9D50, - 7713: 0x9D59, - 7714: 0x9D72, - 7715: 0x9D89, - 7716: 0x9D87, - 7717: 0x9DAB, - 7718: 0x9D6F, - 7719: 0x9D7A, - 7720: 0x9D9A, - 7721: 0x9DA4, - 7722: 0x9DA9, - 7723: 0x9DB2, - 7724: 0x9DC4, - 7725: 0x9DC1, - 7726: 0x9DBB, - 7727: 0x9DB8, - 7728: 0x9DBA, - 7729: 0x9DC6, - 7730: 0x9DCF, - 7731: 0x9DC2, - 7732: 0x9DD9, - 7733: 0x9DD3, - 7734: 0x9DF8, - 7735: 0x9DE6, - 7736: 0x9DED, - 7737: 0x9DEF, - 7738: 0x9DFD, - 7739: 0x9E1A, - 7740: 0x9E1B, - 7741: 0x9E1E, - 7742: 0x9E75, - 7743: 0x9E79, - 7744: 0x9E7D, - 7745: 0x9E81, - 7746: 0x9E88, - 7747: 0x9E8B, - 7748: 0x9E8C, - 7749: 0x9E92, - 7750: 0x9E95, - 7751: 0x9E91, - 7752: 0x9E9D, - 7753: 0x9EA5, - 7754: 0x9EA9, - 7755: 0x9EB8, - 7756: 0x9EAA, - 7757: 0x9EAD, - 7758: 0x9761, - 7759: 0x9ECC, - 7760: 0x9ECE, - 7761: 0x9ECF, - 7762: 0x9ED0, - 7763: 0x9ED4, - 7764: 0x9EDC, - 7765: 0x9EDE, - 7766: 0x9EDD, - 7767: 0x9EE0, - 7768: 0x9EE5, - 7769: 0x9EE8, - 7770: 0x9EEF, - 7771: 0x9EF4, - 7772: 0x9EF6, - 7773: 0x9EF7, - 7774: 0x9EF9, - 7775: 0x9EFB, - 7776: 0x9EFC, - 7777: 0x9EFD, - 7778: 0x9F07, - 7779: 0x9F08, - 7780: 0x76B7, - 7781: 0x9F15, - 7782: 0x9F21, - 7783: 0x9F2C, - 7784: 0x9F3E, - 7785: 0x9F4A, - 7786: 0x9F52, - 7787: 0x9F54, - 7788: 0x9F63, - 7789: 0x9F5F, - 7790: 0x9F60, - 7791: 0x9F61, - 7792: 0x9F66, - 7793: 0x9F67, - 7794: 0x9F6C, - 7795: 0x9F6A, - 7796: 0x9F77, - 7797: 0x9F72, - 7798: 0x9F76, - 7799: 0x9F95, - 7800: 0x9F9C, - 7801: 0x9FA0, - 7802: 0x582F, - 7803: 0x69C7, - 7804: 0x9059, - 7805: 0x7464, - 7806: 0x51DC, - 7807: 0x7199, - 8272: 0x7E8A, - 8273: 0x891C, - 8274: 0x9348, - 8275: 0x9288, - 8276: 0x84DC, - 8277: 0x4FC9, - 8278: 0x70BB, - 8279: 0x6631, - 8280: 0x68C8, - 8281: 0x92F9, - 8282: 0x66FB, - 8283: 0x5F45, - 8284: 0x4E28, - 8285: 0x4EE1, - 8286: 0x4EFC, - 8287: 0x4F00, - 8288: 0x4F03, - 8289: 0x4F39, - 8290: 0x4F56, - 8291: 0x4F92, - 8292: 0x4F8A, - 8293: 0x4F9A, - 8294: 0x4F94, - 8295: 0x4FCD, - 8296: 0x5040, - 8297: 0x5022, - 8298: 0x4FFF, - 8299: 0x501E, - 8300: 0x5046, - 8301: 0x5070, - 8302: 0x5042, - 8303: 0x5094, - 8304: 0x50F4, - 8305: 0x50D8, - 8306: 0x514A, - 8307: 0x5164, - 8308: 0x519D, - 8309: 0x51BE, - 8310: 0x51EC, - 8311: 0x5215, - 8312: 0x529C, - 8313: 0x52A6, - 8314: 0x52C0, - 8315: 0x52DB, - 8316: 0x5300, - 8317: 0x5307, - 8318: 0x5324, - 8319: 0x5372, - 8320: 0x5393, - 8321: 0x53B2, - 8322: 0x53DD, - 8323: 0xFA0E, - 8324: 0x549C, - 8325: 0x548A, - 8326: 0x54A9, - 8327: 0x54FF, - 8328: 0x5586, - 8329: 0x5759, - 8330: 0x5765, - 8331: 0x57AC, - 8332: 0x57C8, - 8333: 0x57C7, - 8334: 0xFA0F, - 8335: 0xFA10, - 8336: 0x589E, - 8337: 0x58B2, - 8338: 0x590B, - 8339: 0x5953, - 8340: 0x595B, - 8341: 0x595D, - 8342: 0x5963, - 8343: 0x59A4, - 8344: 0x59BA, - 8345: 0x5B56, - 8346: 0x5BC0, - 8347: 0x752F, - 8348: 0x5BD8, - 8349: 0x5BEC, - 8350: 0x5C1E, - 8351: 0x5CA6, - 8352: 0x5CBA, - 8353: 0x5CF5, - 8354: 0x5D27, - 8355: 0x5D53, - 8356: 0xFA11, - 8357: 0x5D42, - 8358: 0x5D6D, - 8359: 0x5DB8, - 8360: 0x5DB9, - 8361: 0x5DD0, - 8362: 0x5F21, - 8363: 0x5F34, - 8364: 0x5F67, - 8365: 0x5FB7, - 8366: 0x5FDE, - 8367: 0x605D, - 8368: 0x6085, - 8369: 0x608A, - 8370: 0x60DE, - 8371: 0x60D5, - 8372: 0x6120, - 8373: 0x60F2, - 8374: 0x6111, - 8375: 0x6137, - 8376: 0x6130, - 8377: 0x6198, - 8378: 0x6213, - 8379: 0x62A6, - 8380: 0x63F5, - 8381: 0x6460, - 8382: 0x649D, - 8383: 0x64CE, - 8384: 0x654E, - 8385: 0x6600, - 8386: 0x6615, - 8387: 0x663B, - 8388: 0x6609, - 8389: 0x662E, - 8390: 0x661E, - 8391: 0x6624, - 8392: 0x6665, - 8393: 0x6657, - 8394: 0x6659, - 8395: 0xFA12, - 8396: 0x6673, - 8397: 0x6699, - 8398: 0x66A0, - 8399: 0x66B2, - 8400: 0x66BF, - 8401: 0x66FA, - 8402: 0x670E, - 8403: 0xF929, - 8404: 0x6766, - 8405: 0x67BB, - 8406: 0x6852, - 8407: 0x67C0, - 8408: 0x6801, - 8409: 0x6844, - 8410: 0x68CF, - 8411: 0xFA13, - 8412: 0x6968, - 8413: 0xFA14, - 8414: 0x6998, - 8415: 0x69E2, - 8416: 0x6A30, - 8417: 0x6A6B, - 8418: 0x6A46, - 8419: 0x6A73, - 8420: 0x6A7E, - 8421: 0x6AE2, - 8422: 0x6AE4, - 8423: 0x6BD6, - 8424: 0x6C3F, - 8425: 0x6C5C, - 8426: 0x6C86, - 8427: 0x6C6F, - 8428: 0x6CDA, - 8429: 0x6D04, - 8430: 0x6D87, - 8431: 0x6D6F, - 8432: 0x6D96, - 8433: 0x6DAC, - 8434: 0x6DCF, - 8435: 0x6DF8, - 8436: 0x6DF2, - 8437: 0x6DFC, - 8438: 0x6E39, - 8439: 0x6E5C, - 8440: 0x6E27, - 8441: 0x6E3C, - 8442: 0x6EBF, - 8443: 0x6F88, - 8444: 0x6FB5, - 8445: 0x6FF5, - 8446: 0x7005, - 8447: 0x7007, - 8448: 0x7028, - 8449: 0x7085, - 8450: 0x70AB, - 8451: 0x710F, - 8452: 0x7104, - 8453: 0x715C, - 8454: 0x7146, - 8455: 0x7147, - 8456: 0xFA15, - 8457: 0x71C1, - 8458: 0x71FE, - 8459: 0x72B1, - 8460: 0x72BE, - 8461: 0x7324, - 8462: 0xFA16, - 8463: 0x7377, - 8464: 0x73BD, - 8465: 0x73C9, - 8466: 0x73D6, - 8467: 0x73E3, - 8468: 0x73D2, - 8469: 0x7407, - 8470: 0x73F5, - 8471: 0x7426, - 8472: 0x742A, - 8473: 0x7429, - 8474: 0x742E, - 8475: 0x7462, - 8476: 0x7489, - 8477: 0x749F, - 8478: 0x7501, - 8479: 0x756F, - 8480: 0x7682, - 8481: 0x769C, - 8482: 0x769E, - 8483: 0x769B, - 8484: 0x76A6, - 8485: 0xFA17, - 8486: 0x7746, - 8487: 0x52AF, - 8488: 0x7821, - 8489: 0x784E, - 8490: 0x7864, - 8491: 0x787A, - 8492: 0x7930, - 8493: 0xFA18, - 8494: 0xFA19, - 8495: 0xFA1A, - 8496: 0x7994, - 8497: 0xFA1B, - 8498: 0x799B, - 8499: 0x7AD1, - 8500: 0x7AE7, - 8501: 0xFA1C, - 8502: 0x7AEB, - 8503: 0x7B9E, - 8504: 0xFA1D, - 8505: 0x7D48, - 8506: 0x7D5C, - 8507: 0x7DB7, - 8508: 0x7DA0, - 8509: 0x7DD6, - 8510: 0x7E52, - 8511: 0x7F47, - 8512: 0x7FA1, - 8513: 0xFA1E, - 8514: 0x8301, - 8515: 0x8362, - 8516: 0x837F, - 8517: 0x83C7, - 8518: 0x83F6, - 8519: 0x8448, - 8520: 0x84B4, - 8521: 0x8553, - 8522: 0x8559, - 8523: 0x856B, - 8524: 0xFA1F, - 8525: 0x85B0, - 8526: 0xFA20, - 8527: 0xFA21, - 8528: 0x8807, - 8529: 0x88F5, - 8530: 0x8A12, - 8531: 0x8A37, - 8532: 0x8A79, - 8533: 0x8AA7, - 8534: 0x8ABE, - 8535: 0x8ADF, - 8536: 0xFA22, - 8537: 0x8AF6, - 8538: 0x8B53, - 8539: 0x8B7F, - 8540: 0x8CF0, - 8541: 0x8CF4, - 8542: 0x8D12, - 8543: 0x8D76, - 8544: 0xFA23, - 8545: 0x8ECF, - 8546: 0xFA24, - 8547: 0xFA25, - 8548: 0x9067, - 8549: 0x90DE, - 8550: 0xFA26, - 8551: 0x9115, - 8552: 0x9127, - 8553: 0x91DA, - 8554: 0x91D7, - 8555: 0x91DE, - 8556: 0x91ED, - 8557: 0x91EE, - 8558: 0x91E4, - 8559: 0x91E5, - 8560: 0x9206, - 8561: 0x9210, - 8562: 0x920A, - 8563: 0x923A, - 8564: 0x9240, - 8565: 0x923C, - 8566: 0x924E, - 8567: 0x9259, - 8568: 0x9251, - 8569: 0x9239, - 8570: 0x9267, - 8571: 0x92A7, - 8572: 0x9277, - 8573: 0x9278, - 8574: 0x92E7, - 8575: 0x92D7, - 8576: 0x92D9, - 8577: 0x92D0, - 8578: 0xFA27, - 8579: 0x92D5, - 8580: 0x92E0, - 8581: 0x92D3, - 8582: 0x9325, - 8583: 0x9321, - 8584: 0x92FB, - 8585: 0xFA28, - 8586: 0x931E, - 8587: 0x92FF, - 8588: 0x931D, - 8589: 0x9302, - 8590: 0x9370, - 8591: 0x9357, - 8592: 0x93A4, - 8593: 0x93C6, - 8594: 0x93DE, - 8595: 0x93F8, - 8596: 0x9431, - 8597: 0x9445, - 8598: 0x9448, - 8599: 0x9592, - 8600: 0xF9DC, - 8601: 0xFA29, - 8602: 0x969D, - 8603: 0x96AF, - 8604: 0x9733, - 8605: 0x973B, - 8606: 0x9743, - 8607: 0x974D, - 8608: 0x974F, - 8609: 0x9751, - 8610: 0x9755, - 8611: 0x9857, - 8612: 0x9865, - 8613: 0xFA2A, - 8614: 0xFA2B, - 8615: 0x9927, - 8616: 0xFA2C, - 8617: 0x999E, - 8618: 0x9A4E, - 8619: 0x9AD9, - 8620: 0x9ADC, - 8621: 0x9B75, - 8622: 0x9B72, - 8623: 0x9B8F, - 8624: 0x9BB1, - 8625: 0x9BBB, - 8626: 0x9C00, - 8627: 0x9D70, - 8628: 0x9D6B, - 8629: 0xFA2D, - 8630: 0x9E19, - 8631: 0x9ED1, - 8634: 0x2170, - 8635: 0x2171, - 8636: 0x2172, - 8637: 0x2173, - 8638: 0x2174, - 8639: 0x2175, - 8640: 0x2176, - 8641: 0x2177, - 8642: 0x2178, - 8643: 0x2179, - 8644: 0xFFE2, - 8645: 0xFFE4, - 8646: 0xFF07, - 8647: 0xFF02, - 10716: 0x2170, - 10717: 0x2171, - 10718: 0x2172, - 10719: 0x2173, - 10720: 0x2174, - 10721: 0x2175, - 10722: 0x2176, - 10723: 0x2177, - 10724: 0x2178, - 10725: 0x2179, - 10726: 0x2160, - 10727: 0x2161, - 10728: 0x2162, - 10729: 0x2163, - 10730: 0x2164, - 10731: 0x2165, - 10732: 0x2166, - 10733: 0x2167, - 10734: 0x2168, - 10735: 0x2169, - 10736: 0xFFE2, - 10737: 0xFFE4, - 10738: 0xFF07, - 10739: 0xFF02, - 10740: 0x3231, - 10741: 0x2116, - 10742: 0x2121, - 10743: 0x2235, - 10744: 0x7E8A, - 10745: 0x891C, - 10746: 0x9348, - 10747: 0x9288, - 10748: 0x84DC, - 10749: 0x4FC9, - 10750: 0x70BB, - 10751: 0x6631, - 10752: 0x68C8, - 10753: 0x92F9, - 10754: 0x66FB, - 10755: 0x5F45, - 10756: 0x4E28, - 10757: 0x4EE1, - 10758: 0x4EFC, - 10759: 0x4F00, - 10760: 0x4F03, - 10761: 0x4F39, - 10762: 0x4F56, - 10763: 0x4F92, - 10764: 0x4F8A, - 10765: 0x4F9A, - 10766: 0x4F94, - 10767: 0x4FCD, - 10768: 0x5040, - 10769: 0x5022, - 10770: 0x4FFF, - 10771: 0x501E, - 10772: 0x5046, - 10773: 0x5070, - 10774: 0x5042, - 10775: 0x5094, - 10776: 0x50F4, - 10777: 0x50D8, - 10778: 0x514A, - 10779: 0x5164, - 10780: 0x519D, - 10781: 0x51BE, - 10782: 0x51EC, - 10783: 0x5215, - 10784: 0x529C, - 10785: 0x52A6, - 10786: 0x52C0, - 10787: 0x52DB, - 10788: 0x5300, - 10789: 0x5307, - 10790: 0x5324, - 10791: 0x5372, - 10792: 0x5393, - 10793: 0x53B2, - 10794: 0x53DD, - 10795: 0xFA0E, - 10796: 0x549C, - 10797: 0x548A, - 10798: 0x54A9, - 10799: 0x54FF, - 10800: 0x5586, - 10801: 0x5759, - 10802: 0x5765, - 10803: 0x57AC, - 10804: 0x57C8, - 10805: 0x57C7, - 10806: 0xFA0F, - 10807: 0xFA10, - 10808: 0x589E, - 10809: 0x58B2, - 10810: 0x590B, - 10811: 0x5953, - 10812: 0x595B, - 10813: 0x595D, - 10814: 0x5963, - 10815: 0x59A4, - 10816: 0x59BA, - 10817: 0x5B56, - 10818: 0x5BC0, - 10819: 0x752F, - 10820: 0x5BD8, - 10821: 0x5BEC, - 10822: 0x5C1E, - 10823: 0x5CA6, - 10824: 0x5CBA, - 10825: 0x5CF5, - 10826: 0x5D27, - 10827: 0x5D53, - 10828: 0xFA11, - 10829: 0x5D42, - 10830: 0x5D6D, - 10831: 0x5DB8, - 10832: 0x5DB9, - 10833: 0x5DD0, - 10834: 0x5F21, - 10835: 0x5F34, - 10836: 0x5F67, - 10837: 0x5FB7, - 10838: 0x5FDE, - 10839: 0x605D, - 10840: 0x6085, - 10841: 0x608A, - 10842: 0x60DE, - 10843: 0x60D5, - 10844: 0x6120, - 10845: 0x60F2, - 10846: 0x6111, - 10847: 0x6137, - 10848: 0x6130, - 10849: 0x6198, - 10850: 0x6213, - 10851: 0x62A6, - 10852: 0x63F5, - 10853: 0x6460, - 10854: 0x649D, - 10855: 0x64CE, - 10856: 0x654E, - 10857: 0x6600, - 10858: 0x6615, - 10859: 0x663B, - 10860: 0x6609, - 10861: 0x662E, - 10862: 0x661E, - 10863: 0x6624, - 10864: 0x6665, - 10865: 0x6657, - 10866: 0x6659, - 10867: 0xFA12, - 10868: 0x6673, - 10869: 0x6699, - 10870: 0x66A0, - 10871: 0x66B2, - 10872: 0x66BF, - 10873: 0x66FA, - 10874: 0x670E, - 10875: 0xF929, - 10876: 0x6766, - 10877: 0x67BB, - 10878: 0x6852, - 10879: 0x67C0, - 10880: 0x6801, - 10881: 0x6844, - 10882: 0x68CF, - 10883: 0xFA13, - 10884: 0x6968, - 10885: 0xFA14, - 10886: 0x6998, - 10887: 0x69E2, - 10888: 0x6A30, - 10889: 0x6A6B, - 10890: 0x6A46, - 10891: 0x6A73, - 10892: 0x6A7E, - 10893: 0x6AE2, - 10894: 0x6AE4, - 10895: 0x6BD6, - 10896: 0x6C3F, - 10897: 0x6C5C, - 10898: 0x6C86, - 10899: 0x6C6F, - 10900: 0x6CDA, - 10901: 0x6D04, - 10902: 0x6D87, - 10903: 0x6D6F, - 10904: 0x6D96, - 10905: 0x6DAC, - 10906: 0x6DCF, - 10907: 0x6DF8, - 10908: 0x6DF2, - 10909: 0x6DFC, - 10910: 0x6E39, - 10911: 0x6E5C, - 10912: 0x6E27, - 10913: 0x6E3C, - 10914: 0x6EBF, - 10915: 0x6F88, - 10916: 0x6FB5, - 10917: 0x6FF5, - 10918: 0x7005, - 10919: 0x7007, - 10920: 0x7028, - 10921: 0x7085, - 10922: 0x70AB, - 10923: 0x710F, - 10924: 0x7104, - 10925: 0x715C, - 10926: 0x7146, - 10927: 0x7147, - 10928: 0xFA15, - 10929: 0x71C1, - 10930: 0x71FE, - 10931: 0x72B1, - 10932: 0x72BE, - 10933: 0x7324, - 10934: 0xFA16, - 10935: 0x7377, - 10936: 0x73BD, - 10937: 0x73C9, - 10938: 0x73D6, - 10939: 0x73E3, - 10940: 0x73D2, - 10941: 0x7407, - 10942: 0x73F5, - 10943: 0x7426, - 10944: 0x742A, - 10945: 0x7429, - 10946: 0x742E, - 10947: 0x7462, - 10948: 0x7489, - 10949: 0x749F, - 10950: 0x7501, - 10951: 0x756F, - 10952: 0x7682, - 10953: 0x769C, - 10954: 0x769E, - 10955: 0x769B, - 10956: 0x76A6, - 10957: 0xFA17, - 10958: 0x7746, - 10959: 0x52AF, - 10960: 0x7821, - 10961: 0x784E, - 10962: 0x7864, - 10963: 0x787A, - 10964: 0x7930, - 10965: 0xFA18, - 10966: 0xFA19, - 10967: 0xFA1A, - 10968: 0x7994, - 10969: 0xFA1B, - 10970: 0x799B, - 10971: 0x7AD1, - 10972: 0x7AE7, - 10973: 0xFA1C, - 10974: 0x7AEB, - 10975: 0x7B9E, - 10976: 0xFA1D, - 10977: 0x7D48, - 10978: 0x7D5C, - 10979: 0x7DB7, - 10980: 0x7DA0, - 10981: 0x7DD6, - 10982: 0x7E52, - 10983: 0x7F47, - 10984: 0x7FA1, - 10985: 0xFA1E, - 10986: 0x8301, - 10987: 0x8362, - 10988: 0x837F, - 10989: 0x83C7, - 10990: 0x83F6, - 10991: 0x8448, - 10992: 0x84B4, - 10993: 0x8553, - 10994: 0x8559, - 10995: 0x856B, - 10996: 0xFA1F, - 10997: 0x85B0, - 10998: 0xFA20, - 10999: 0xFA21, - 11000: 0x8807, - 11001: 0x88F5, - 11002: 0x8A12, - 11003: 0x8A37, - 11004: 0x8A79, - 11005: 0x8AA7, - 11006: 0x8ABE, - 11007: 0x8ADF, - 11008: 0xFA22, - 11009: 0x8AF6, - 11010: 0x8B53, - 11011: 0x8B7F, - 11012: 0x8CF0, - 11013: 0x8CF4, - 11014: 0x8D12, - 11015: 0x8D76, - 11016: 0xFA23, - 11017: 0x8ECF, - 11018: 0xFA24, - 11019: 0xFA25, - 11020: 0x9067, - 11021: 0x90DE, - 11022: 0xFA26, - 11023: 0x9115, - 11024: 0x9127, - 11025: 0x91DA, - 11026: 0x91D7, - 11027: 0x91DE, - 11028: 0x91ED, - 11029: 0x91EE, - 11030: 0x91E4, - 11031: 0x91E5, - 11032: 0x9206, - 11033: 0x9210, - 11034: 0x920A, - 11035: 0x923A, - 11036: 0x9240, - 11037: 0x923C, - 11038: 0x924E, - 11039: 0x9259, - 11040: 0x9251, - 11041: 0x9239, - 11042: 0x9267, - 11043: 0x92A7, - 11044: 0x9277, - 11045: 0x9278, - 11046: 0x92E7, - 11047: 0x92D7, - 11048: 0x92D9, - 11049: 0x92D0, - 11050: 0xFA27, - 11051: 0x92D5, - 11052: 0x92E0, - 11053: 0x92D3, - 11054: 0x9325, - 11055: 0x9321, - 11056: 0x92FB, - 11057: 0xFA28, - 11058: 0x931E, - 11059: 0x92FF, - 11060: 0x931D, - 11061: 0x9302, - 11062: 0x9370, - 11063: 0x9357, - 11064: 0x93A4, - 11065: 0x93C6, - 11066: 0x93DE, - 11067: 0x93F8, - 11068: 0x9431, - 11069: 0x9445, - 11070: 0x9448, - 11071: 0x9592, - 11072: 0xF9DC, - 11073: 0xFA29, - 11074: 0x969D, - 11075: 0x96AF, - 11076: 0x9733, - 11077: 0x973B, - 11078: 0x9743, - 11079: 0x974D, - 11080: 0x974F, - 11081: 0x9751, - 11082: 0x9755, - 11083: 0x9857, - 11084: 0x9865, - 11085: 0xFA2A, - 11086: 0xFA2B, - 11087: 0x9927, - 11088: 0xFA2C, - 11089: 0x999E, - 11090: 0x9A4E, - 11091: 0x9AD9, - 11092: 0x9ADC, - 11093: 0x9B75, - 11094: 0x9B72, - 11095: 0x9B8F, - 11096: 0x9BB1, - 11097: 0x9BBB, - 11098: 0x9C00, - 11099: 0x9D70, - 11100: 0x9D6B, - 11101: 0xFA2D, - 11102: 0x9E19, - 11103: 0x9ED1, -} - -// jis0212Decode is the decoding table from JIS 0212 code to Unicode. -// It is defined at http://encoding.spec.whatwg.org/index-jis0212.txt -var jis0212Decode = [...]uint16{ - 108: 0x02D8, - 109: 0x02C7, - 110: 0x00B8, - 111: 0x02D9, - 112: 0x02DD, - 113: 0x00AF, - 114: 0x02DB, - 115: 0x02DA, - 116: 0xFF5E, - 117: 0x0384, - 118: 0x0385, - 127: 0x00A1, - 128: 0x00A6, - 129: 0x00BF, - 168: 0x00BA, - 169: 0x00AA, - 170: 0x00A9, - 171: 0x00AE, - 172: 0x2122, - 173: 0x00A4, - 174: 0x2116, - 534: 0x0386, - 535: 0x0388, - 536: 0x0389, - 537: 0x038A, - 538: 0x03AA, - 540: 0x038C, - 542: 0x038E, - 543: 0x03AB, - 545: 0x038F, - 550: 0x03AC, - 551: 0x03AD, - 552: 0x03AE, - 553: 0x03AF, - 554: 0x03CA, - 555: 0x0390, - 556: 0x03CC, - 557: 0x03C2, - 558: 0x03CD, - 559: 0x03CB, - 560: 0x03B0, - 561: 0x03CE, - 597: 0x0402, - 598: 0x0403, - 599: 0x0404, - 600: 0x0405, - 601: 0x0406, - 602: 0x0407, - 603: 0x0408, - 604: 0x0409, - 605: 0x040A, - 606: 0x040B, - 607: 0x040C, - 608: 0x040E, - 609: 0x040F, - 645: 0x0452, - 646: 0x0453, - 647: 0x0454, - 648: 0x0455, - 649: 0x0456, - 650: 0x0457, - 651: 0x0458, - 652: 0x0459, - 653: 0x045A, - 654: 0x045B, - 655: 0x045C, - 656: 0x045E, - 657: 0x045F, - 752: 0x00C6, - 753: 0x0110, - 755: 0x0126, - 757: 0x0132, - 759: 0x0141, - 760: 0x013F, - 762: 0x014A, - 763: 0x00D8, - 764: 0x0152, - 766: 0x0166, - 767: 0x00DE, - 784: 0x00E6, - 785: 0x0111, - 786: 0x00F0, - 787: 0x0127, - 788: 0x0131, - 789: 0x0133, - 790: 0x0138, - 791: 0x0142, - 792: 0x0140, - 793: 0x0149, - 794: 0x014B, - 795: 0x00F8, - 796: 0x0153, - 797: 0x00DF, - 798: 0x0167, - 799: 0x00FE, - 846: 0x00C1, - 847: 0x00C0, - 848: 0x00C4, - 849: 0x00C2, - 850: 0x0102, - 851: 0x01CD, - 852: 0x0100, - 853: 0x0104, - 854: 0x00C5, - 855: 0x00C3, - 856: 0x0106, - 857: 0x0108, - 858: 0x010C, - 859: 0x00C7, - 860: 0x010A, - 861: 0x010E, - 862: 0x00C9, - 863: 0x00C8, - 864: 0x00CB, - 865: 0x00CA, - 866: 0x011A, - 867: 0x0116, - 868: 0x0112, - 869: 0x0118, - 871: 0x011C, - 872: 0x011E, - 873: 0x0122, - 874: 0x0120, - 875: 0x0124, - 876: 0x00CD, - 877: 0x00CC, - 878: 0x00CF, - 879: 0x00CE, - 880: 0x01CF, - 881: 0x0130, - 882: 0x012A, - 883: 0x012E, - 884: 0x0128, - 885: 0x0134, - 886: 0x0136, - 887: 0x0139, - 888: 0x013D, - 889: 0x013B, - 890: 0x0143, - 891: 0x0147, - 892: 0x0145, - 893: 0x00D1, - 894: 0x00D3, - 895: 0x00D2, - 896: 0x00D6, - 897: 0x00D4, - 898: 0x01D1, - 899: 0x0150, - 900: 0x014C, - 901: 0x00D5, - 902: 0x0154, - 903: 0x0158, - 904: 0x0156, - 905: 0x015A, - 906: 0x015C, - 907: 0x0160, - 908: 0x015E, - 909: 0x0164, - 910: 0x0162, - 911: 0x00DA, - 912: 0x00D9, - 913: 0x00DC, - 914: 0x00DB, - 915: 0x016C, - 916: 0x01D3, - 917: 0x0170, - 918: 0x016A, - 919: 0x0172, - 920: 0x016E, - 921: 0x0168, - 922: 0x01D7, - 923: 0x01DB, - 924: 0x01D9, - 925: 0x01D5, - 926: 0x0174, - 927: 0x00DD, - 928: 0x0178, - 929: 0x0176, - 930: 0x0179, - 931: 0x017D, - 932: 0x017B, - 940: 0x00E1, - 941: 0x00E0, - 942: 0x00E4, - 943: 0x00E2, - 944: 0x0103, - 945: 0x01CE, - 946: 0x0101, - 947: 0x0105, - 948: 0x00E5, - 949: 0x00E3, - 950: 0x0107, - 951: 0x0109, - 952: 0x010D, - 953: 0x00E7, - 954: 0x010B, - 955: 0x010F, - 956: 0x00E9, - 957: 0x00E8, - 958: 0x00EB, - 959: 0x00EA, - 960: 0x011B, - 961: 0x0117, - 962: 0x0113, - 963: 0x0119, - 964: 0x01F5, - 965: 0x011D, - 966: 0x011F, - 968: 0x0121, - 969: 0x0125, - 970: 0x00ED, - 971: 0x00EC, - 972: 0x00EF, - 973: 0x00EE, - 974: 0x01D0, - 976: 0x012B, - 977: 0x012F, - 978: 0x0129, - 979: 0x0135, - 980: 0x0137, - 981: 0x013A, - 982: 0x013E, - 983: 0x013C, - 984: 0x0144, - 985: 0x0148, - 986: 0x0146, - 987: 0x00F1, - 988: 0x00F3, - 989: 0x00F2, - 990: 0x00F6, - 991: 0x00F4, - 992: 0x01D2, - 993: 0x0151, - 994: 0x014D, - 995: 0x00F5, - 996: 0x0155, - 997: 0x0159, - 998: 0x0157, - 999: 0x015B, - 1000: 0x015D, - 1001: 0x0161, - 1002: 0x015F, - 1003: 0x0165, - 1004: 0x0163, - 1005: 0x00FA, - 1006: 0x00F9, - 1007: 0x00FC, - 1008: 0x00FB, - 1009: 0x016D, - 1010: 0x01D4, - 1011: 0x0171, - 1012: 0x016B, - 1013: 0x0173, - 1014: 0x016F, - 1015: 0x0169, - 1016: 0x01D8, - 1017: 0x01DC, - 1018: 0x01DA, - 1019: 0x01D6, - 1020: 0x0175, - 1021: 0x00FD, - 1022: 0x00FF, - 1023: 0x0177, - 1024: 0x017A, - 1025: 0x017E, - 1026: 0x017C, - 1410: 0x4E02, - 1411: 0x4E04, - 1412: 0x4E05, - 1413: 0x4E0C, - 1414: 0x4E12, - 1415: 0x4E1F, - 1416: 0x4E23, - 1417: 0x4E24, - 1418: 0x4E28, - 1419: 0x4E2B, - 1420: 0x4E2E, - 1421: 0x4E2F, - 1422: 0x4E30, - 1423: 0x4E35, - 1424: 0x4E40, - 1425: 0x4E41, - 1426: 0x4E44, - 1427: 0x4E47, - 1428: 0x4E51, - 1429: 0x4E5A, - 1430: 0x4E5C, - 1431: 0x4E63, - 1432: 0x4E68, - 1433: 0x4E69, - 1434: 0x4E74, - 1435: 0x4E75, - 1436: 0x4E79, - 1437: 0x4E7F, - 1438: 0x4E8D, - 1439: 0x4E96, - 1440: 0x4E97, - 1441: 0x4E9D, - 1442: 0x4EAF, - 1443: 0x4EB9, - 1444: 0x4EC3, - 1445: 0x4ED0, - 1446: 0x4EDA, - 1447: 0x4EDB, - 1448: 0x4EE0, - 1449: 0x4EE1, - 1450: 0x4EE2, - 1451: 0x4EE8, - 1452: 0x4EEF, - 1453: 0x4EF1, - 1454: 0x4EF3, - 1455: 0x4EF5, - 1456: 0x4EFD, - 1457: 0x4EFE, - 1458: 0x4EFF, - 1459: 0x4F00, - 1460: 0x4F02, - 1461: 0x4F03, - 1462: 0x4F08, - 1463: 0x4F0B, - 1464: 0x4F0C, - 1465: 0x4F12, - 1466: 0x4F15, - 1467: 0x4F16, - 1468: 0x4F17, - 1469: 0x4F19, - 1470: 0x4F2E, - 1471: 0x4F31, - 1472: 0x4F60, - 1473: 0x4F33, - 1474: 0x4F35, - 1475: 0x4F37, - 1476: 0x4F39, - 1477: 0x4F3B, - 1478: 0x4F3E, - 1479: 0x4F40, - 1480: 0x4F42, - 1481: 0x4F48, - 1482: 0x4F49, - 1483: 0x4F4B, - 1484: 0x4F4C, - 1485: 0x4F52, - 1486: 0x4F54, - 1487: 0x4F56, - 1488: 0x4F58, - 1489: 0x4F5F, - 1490: 0x4F63, - 1491: 0x4F6A, - 1492: 0x4F6C, - 1493: 0x4F6E, - 1494: 0x4F71, - 1495: 0x4F77, - 1496: 0x4F78, - 1497: 0x4F79, - 1498: 0x4F7A, - 1499: 0x4F7D, - 1500: 0x4F7E, - 1501: 0x4F81, - 1502: 0x4F82, - 1503: 0x4F84, - 1504: 0x4F85, - 1505: 0x4F89, - 1506: 0x4F8A, - 1507: 0x4F8C, - 1508: 0x4F8E, - 1509: 0x4F90, - 1510: 0x4F92, - 1511: 0x4F93, - 1512: 0x4F94, - 1513: 0x4F97, - 1514: 0x4F99, - 1515: 0x4F9A, - 1516: 0x4F9E, - 1517: 0x4F9F, - 1518: 0x4FB2, - 1519: 0x4FB7, - 1520: 0x4FB9, - 1521: 0x4FBB, - 1522: 0x4FBC, - 1523: 0x4FBD, - 1524: 0x4FBE, - 1525: 0x4FC0, - 1526: 0x4FC1, - 1527: 0x4FC5, - 1528: 0x4FC6, - 1529: 0x4FC8, - 1530: 0x4FC9, - 1531: 0x4FCB, - 1532: 0x4FCC, - 1533: 0x4FCD, - 1534: 0x4FCF, - 1535: 0x4FD2, - 1536: 0x4FDC, - 1537: 0x4FE0, - 1538: 0x4FE2, - 1539: 0x4FF0, - 1540: 0x4FF2, - 1541: 0x4FFC, - 1542: 0x4FFD, - 1543: 0x4FFF, - 1544: 0x5000, - 1545: 0x5001, - 1546: 0x5004, - 1547: 0x5007, - 1548: 0x500A, - 1549: 0x500C, - 1550: 0x500E, - 1551: 0x5010, - 1552: 0x5013, - 1553: 0x5017, - 1554: 0x5018, - 1555: 0x501B, - 1556: 0x501C, - 1557: 0x501D, - 1558: 0x501E, - 1559: 0x5022, - 1560: 0x5027, - 1561: 0x502E, - 1562: 0x5030, - 1563: 0x5032, - 1564: 0x5033, - 1565: 0x5035, - 1566: 0x5040, - 1567: 0x5041, - 1568: 0x5042, - 1569: 0x5045, - 1570: 0x5046, - 1571: 0x504A, - 1572: 0x504C, - 1573: 0x504E, - 1574: 0x5051, - 1575: 0x5052, - 1576: 0x5053, - 1577: 0x5057, - 1578: 0x5059, - 1579: 0x505F, - 1580: 0x5060, - 1581: 0x5062, - 1582: 0x5063, - 1583: 0x5066, - 1584: 0x5067, - 1585: 0x506A, - 1586: 0x506D, - 1587: 0x5070, - 1588: 0x5071, - 1589: 0x503B, - 1590: 0x5081, - 1591: 0x5083, - 1592: 0x5084, - 1593: 0x5086, - 1594: 0x508A, - 1595: 0x508E, - 1596: 0x508F, - 1597: 0x5090, - 1598: 0x5092, - 1599: 0x5093, - 1600: 0x5094, - 1601: 0x5096, - 1602: 0x509B, - 1603: 0x509C, - 1604: 0x509E, - 1605: 0x509F, - 1606: 0x50A0, - 1607: 0x50A1, - 1608: 0x50A2, - 1609: 0x50AA, - 1610: 0x50AF, - 1611: 0x50B0, - 1612: 0x50B9, - 1613: 0x50BA, - 1614: 0x50BD, - 1615: 0x50C0, - 1616: 0x50C3, - 1617: 0x50C4, - 1618: 0x50C7, - 1619: 0x50CC, - 1620: 0x50CE, - 1621: 0x50D0, - 1622: 0x50D3, - 1623: 0x50D4, - 1624: 0x50D8, - 1625: 0x50DC, - 1626: 0x50DD, - 1627: 0x50DF, - 1628: 0x50E2, - 1629: 0x50E4, - 1630: 0x50E6, - 1631: 0x50E8, - 1632: 0x50E9, - 1633: 0x50EF, - 1634: 0x50F1, - 1635: 0x50F6, - 1636: 0x50FA, - 1637: 0x50FE, - 1638: 0x5103, - 1639: 0x5106, - 1640: 0x5107, - 1641: 0x5108, - 1642: 0x510B, - 1643: 0x510C, - 1644: 0x510D, - 1645: 0x510E, - 1646: 0x50F2, - 1647: 0x5110, - 1648: 0x5117, - 1649: 0x5119, - 1650: 0x511B, - 1651: 0x511C, - 1652: 0x511D, - 1653: 0x511E, - 1654: 0x5123, - 1655: 0x5127, - 1656: 0x5128, - 1657: 0x512C, - 1658: 0x512D, - 1659: 0x512F, - 1660: 0x5131, - 1661: 0x5133, - 1662: 0x5134, - 1663: 0x5135, - 1664: 0x5138, - 1665: 0x5139, - 1666: 0x5142, - 1667: 0x514A, - 1668: 0x514F, - 1669: 0x5153, - 1670: 0x5155, - 1671: 0x5157, - 1672: 0x5158, - 1673: 0x515F, - 1674: 0x5164, - 1675: 0x5166, - 1676: 0x517E, - 1677: 0x5183, - 1678: 0x5184, - 1679: 0x518B, - 1680: 0x518E, - 1681: 0x5198, - 1682: 0x519D, - 1683: 0x51A1, - 1684: 0x51A3, - 1685: 0x51AD, - 1686: 0x51B8, - 1687: 0x51BA, - 1688: 0x51BC, - 1689: 0x51BE, - 1690: 0x51BF, - 1691: 0x51C2, - 1692: 0x51C8, - 1693: 0x51CF, - 1694: 0x51D1, - 1695: 0x51D2, - 1696: 0x51D3, - 1697: 0x51D5, - 1698: 0x51D8, - 1699: 0x51DE, - 1700: 0x51E2, - 1701: 0x51E5, - 1702: 0x51EE, - 1703: 0x51F2, - 1704: 0x51F3, - 1705: 0x51F4, - 1706: 0x51F7, - 1707: 0x5201, - 1708: 0x5202, - 1709: 0x5205, - 1710: 0x5212, - 1711: 0x5213, - 1712: 0x5215, - 1713: 0x5216, - 1714: 0x5218, - 1715: 0x5222, - 1716: 0x5228, - 1717: 0x5231, - 1718: 0x5232, - 1719: 0x5235, - 1720: 0x523C, - 1721: 0x5245, - 1722: 0x5249, - 1723: 0x5255, - 1724: 0x5257, - 1725: 0x5258, - 1726: 0x525A, - 1727: 0x525C, - 1728: 0x525F, - 1729: 0x5260, - 1730: 0x5261, - 1731: 0x5266, - 1732: 0x526E, - 1733: 0x5277, - 1734: 0x5278, - 1735: 0x5279, - 1736: 0x5280, - 1737: 0x5282, - 1738: 0x5285, - 1739: 0x528A, - 1740: 0x528C, - 1741: 0x5293, - 1742: 0x5295, - 1743: 0x5296, - 1744: 0x5297, - 1745: 0x5298, - 1746: 0x529A, - 1747: 0x529C, - 1748: 0x52A4, - 1749: 0x52A5, - 1750: 0x52A6, - 1751: 0x52A7, - 1752: 0x52AF, - 1753: 0x52B0, - 1754: 0x52B6, - 1755: 0x52B7, - 1756: 0x52B8, - 1757: 0x52BA, - 1758: 0x52BB, - 1759: 0x52BD, - 1760: 0x52C0, - 1761: 0x52C4, - 1762: 0x52C6, - 1763: 0x52C8, - 1764: 0x52CC, - 1765: 0x52CF, - 1766: 0x52D1, - 1767: 0x52D4, - 1768: 0x52D6, - 1769: 0x52DB, - 1770: 0x52DC, - 1771: 0x52E1, - 1772: 0x52E5, - 1773: 0x52E8, - 1774: 0x52E9, - 1775: 0x52EA, - 1776: 0x52EC, - 1777: 0x52F0, - 1778: 0x52F1, - 1779: 0x52F4, - 1780: 0x52F6, - 1781: 0x52F7, - 1782: 0x5300, - 1783: 0x5303, - 1784: 0x530A, - 1785: 0x530B, - 1786: 0x530C, - 1787: 0x5311, - 1788: 0x5313, - 1789: 0x5318, - 1790: 0x531B, - 1791: 0x531C, - 1792: 0x531E, - 1793: 0x531F, - 1794: 0x5325, - 1795: 0x5327, - 1796: 0x5328, - 1797: 0x5329, - 1798: 0x532B, - 1799: 0x532C, - 1800: 0x532D, - 1801: 0x5330, - 1802: 0x5332, - 1803: 0x5335, - 1804: 0x533C, - 1805: 0x533D, - 1806: 0x533E, - 1807: 0x5342, - 1808: 0x534C, - 1809: 0x534B, - 1810: 0x5359, - 1811: 0x535B, - 1812: 0x5361, - 1813: 0x5363, - 1814: 0x5365, - 1815: 0x536C, - 1816: 0x536D, - 1817: 0x5372, - 1818: 0x5379, - 1819: 0x537E, - 1820: 0x5383, - 1821: 0x5387, - 1822: 0x5388, - 1823: 0x538E, - 1824: 0x5393, - 1825: 0x5394, - 1826: 0x5399, - 1827: 0x539D, - 1828: 0x53A1, - 1829: 0x53A4, - 1830: 0x53AA, - 1831: 0x53AB, - 1832: 0x53AF, - 1833: 0x53B2, - 1834: 0x53B4, - 1835: 0x53B5, - 1836: 0x53B7, - 1837: 0x53B8, - 1838: 0x53BA, - 1839: 0x53BD, - 1840: 0x53C0, - 1841: 0x53C5, - 1842: 0x53CF, - 1843: 0x53D2, - 1844: 0x53D3, - 1845: 0x53D5, - 1846: 0x53DA, - 1847: 0x53DD, - 1848: 0x53DE, - 1849: 0x53E0, - 1850: 0x53E6, - 1851: 0x53E7, - 1852: 0x53F5, - 1853: 0x5402, - 1854: 0x5413, - 1855: 0x541A, - 1856: 0x5421, - 1857: 0x5427, - 1858: 0x5428, - 1859: 0x542A, - 1860: 0x542F, - 1861: 0x5431, - 1862: 0x5434, - 1863: 0x5435, - 1864: 0x5443, - 1865: 0x5444, - 1866: 0x5447, - 1867: 0x544D, - 1868: 0x544F, - 1869: 0x545E, - 1870: 0x5462, - 1871: 0x5464, - 1872: 0x5466, - 1873: 0x5467, - 1874: 0x5469, - 1875: 0x546B, - 1876: 0x546D, - 1877: 0x546E, - 1878: 0x5474, - 1879: 0x547F, - 1880: 0x5481, - 1881: 0x5483, - 1882: 0x5485, - 1883: 0x5488, - 1884: 0x5489, - 1885: 0x548D, - 1886: 0x5491, - 1887: 0x5495, - 1888: 0x5496, - 1889: 0x549C, - 1890: 0x549F, - 1891: 0x54A1, - 1892: 0x54A6, - 1893: 0x54A7, - 1894: 0x54A9, - 1895: 0x54AA, - 1896: 0x54AD, - 1897: 0x54AE, - 1898: 0x54B1, - 1899: 0x54B7, - 1900: 0x54B9, - 1901: 0x54BA, - 1902: 0x54BB, - 1903: 0x54BF, - 1904: 0x54C6, - 1905: 0x54CA, - 1906: 0x54CD, - 1907: 0x54CE, - 1908: 0x54E0, - 1909: 0x54EA, - 1910: 0x54EC, - 1911: 0x54EF, - 1912: 0x54F6, - 1913: 0x54FC, - 1914: 0x54FE, - 1915: 0x54FF, - 1916: 0x5500, - 1917: 0x5501, - 1918: 0x5505, - 1919: 0x5508, - 1920: 0x5509, - 1921: 0x550C, - 1922: 0x550D, - 1923: 0x550E, - 1924: 0x5515, - 1925: 0x552A, - 1926: 0x552B, - 1927: 0x5532, - 1928: 0x5535, - 1929: 0x5536, - 1930: 0x553B, - 1931: 0x553C, - 1932: 0x553D, - 1933: 0x5541, - 1934: 0x5547, - 1935: 0x5549, - 1936: 0x554A, - 1937: 0x554D, - 1938: 0x5550, - 1939: 0x5551, - 1940: 0x5558, - 1941: 0x555A, - 1942: 0x555B, - 1943: 0x555E, - 1944: 0x5560, - 1945: 0x5561, - 1946: 0x5564, - 1947: 0x5566, - 1948: 0x557F, - 1949: 0x5581, - 1950: 0x5582, - 1951: 0x5586, - 1952: 0x5588, - 1953: 0x558E, - 1954: 0x558F, - 1955: 0x5591, - 1956: 0x5592, - 1957: 0x5593, - 1958: 0x5594, - 1959: 0x5597, - 1960: 0x55A3, - 1961: 0x55A4, - 1962: 0x55AD, - 1963: 0x55B2, - 1964: 0x55BF, - 1965: 0x55C1, - 1966: 0x55C3, - 1967: 0x55C6, - 1968: 0x55C9, - 1969: 0x55CB, - 1970: 0x55CC, - 1971: 0x55CE, - 1972: 0x55D1, - 1973: 0x55D2, - 1974: 0x55D3, - 1975: 0x55D7, - 1976: 0x55D8, - 1977: 0x55DB, - 1978: 0x55DE, - 1979: 0x55E2, - 1980: 0x55E9, - 1981: 0x55F6, - 1982: 0x55FF, - 1983: 0x5605, - 1984: 0x5608, - 1985: 0x560A, - 1986: 0x560D, - 1987: 0x560E, - 1988: 0x560F, - 1989: 0x5610, - 1990: 0x5611, - 1991: 0x5612, - 1992: 0x5619, - 1993: 0x562C, - 1994: 0x5630, - 1995: 0x5633, - 1996: 0x5635, - 1997: 0x5637, - 1998: 0x5639, - 1999: 0x563B, - 2000: 0x563C, - 2001: 0x563D, - 2002: 0x563F, - 2003: 0x5640, - 2004: 0x5641, - 2005: 0x5643, - 2006: 0x5644, - 2007: 0x5646, - 2008: 0x5649, - 2009: 0x564B, - 2010: 0x564D, - 2011: 0x564F, - 2012: 0x5654, - 2013: 0x565E, - 2014: 0x5660, - 2015: 0x5661, - 2016: 0x5662, - 2017: 0x5663, - 2018: 0x5666, - 2019: 0x5669, - 2020: 0x566D, - 2021: 0x566F, - 2022: 0x5671, - 2023: 0x5672, - 2024: 0x5675, - 2025: 0x5684, - 2026: 0x5685, - 2027: 0x5688, - 2028: 0x568B, - 2029: 0x568C, - 2030: 0x5695, - 2031: 0x5699, - 2032: 0x569A, - 2033: 0x569D, - 2034: 0x569E, - 2035: 0x569F, - 2036: 0x56A6, - 2037: 0x56A7, - 2038: 0x56A8, - 2039: 0x56A9, - 2040: 0x56AB, - 2041: 0x56AC, - 2042: 0x56AD, - 2043: 0x56B1, - 2044: 0x56B3, - 2045: 0x56B7, - 2046: 0x56BE, - 2047: 0x56C5, - 2048: 0x56C9, - 2049: 0x56CA, - 2050: 0x56CB, - 2051: 0x56CF, - 2052: 0x56D0, - 2053: 0x56CC, - 2054: 0x56CD, - 2055: 0x56D9, - 2056: 0x56DC, - 2057: 0x56DD, - 2058: 0x56DF, - 2059: 0x56E1, - 2060: 0x56E4, - 2061: 0x56E5, - 2062: 0x56E6, - 2063: 0x56E7, - 2064: 0x56E8, - 2065: 0x56F1, - 2066: 0x56EB, - 2067: 0x56ED, - 2068: 0x56F6, - 2069: 0x56F7, - 2070: 0x5701, - 2071: 0x5702, - 2072: 0x5707, - 2073: 0x570A, - 2074: 0x570C, - 2075: 0x5711, - 2076: 0x5715, - 2077: 0x571A, - 2078: 0x571B, - 2079: 0x571D, - 2080: 0x5720, - 2081: 0x5722, - 2082: 0x5723, - 2083: 0x5724, - 2084: 0x5725, - 2085: 0x5729, - 2086: 0x572A, - 2087: 0x572C, - 2088: 0x572E, - 2089: 0x572F, - 2090: 0x5733, - 2091: 0x5734, - 2092: 0x573D, - 2093: 0x573E, - 2094: 0x573F, - 2095: 0x5745, - 2096: 0x5746, - 2097: 0x574C, - 2098: 0x574D, - 2099: 0x5752, - 2100: 0x5762, - 2101: 0x5765, - 2102: 0x5767, - 2103: 0x5768, - 2104: 0x576B, - 2105: 0x576D, - 2106: 0x576E, - 2107: 0x576F, - 2108: 0x5770, - 2109: 0x5771, - 2110: 0x5773, - 2111: 0x5774, - 2112: 0x5775, - 2113: 0x5777, - 2114: 0x5779, - 2115: 0x577A, - 2116: 0x577B, - 2117: 0x577C, - 2118: 0x577E, - 2119: 0x5781, - 2120: 0x5783, - 2121: 0x578C, - 2122: 0x5794, - 2123: 0x5797, - 2124: 0x5799, - 2125: 0x579A, - 2126: 0x579C, - 2127: 0x579D, - 2128: 0x579E, - 2129: 0x579F, - 2130: 0x57A1, - 2131: 0x5795, - 2132: 0x57A7, - 2133: 0x57A8, - 2134: 0x57A9, - 2135: 0x57AC, - 2136: 0x57B8, - 2137: 0x57BD, - 2138: 0x57C7, - 2139: 0x57C8, - 2140: 0x57CC, - 2141: 0x57CF, - 2142: 0x57D5, - 2143: 0x57DD, - 2144: 0x57DE, - 2145: 0x57E4, - 2146: 0x57E6, - 2147: 0x57E7, - 2148: 0x57E9, - 2149: 0x57ED, - 2150: 0x57F0, - 2151: 0x57F5, - 2152: 0x57F6, - 2153: 0x57F8, - 2154: 0x57FD, - 2155: 0x57FE, - 2156: 0x57FF, - 2157: 0x5803, - 2158: 0x5804, - 2159: 0x5808, - 2160: 0x5809, - 2161: 0x57E1, - 2162: 0x580C, - 2163: 0x580D, - 2164: 0x581B, - 2165: 0x581E, - 2166: 0x581F, - 2167: 0x5820, - 2168: 0x5826, - 2169: 0x5827, - 2170: 0x582D, - 2171: 0x5832, - 2172: 0x5839, - 2173: 0x583F, - 2174: 0x5849, - 2175: 0x584C, - 2176: 0x584D, - 2177: 0x584F, - 2178: 0x5850, - 2179: 0x5855, - 2180: 0x585F, - 2181: 0x5861, - 2182: 0x5864, - 2183: 0x5867, - 2184: 0x5868, - 2185: 0x5878, - 2186: 0x587C, - 2187: 0x587F, - 2188: 0x5880, - 2189: 0x5881, - 2190: 0x5887, - 2191: 0x5888, - 2192: 0x5889, - 2193: 0x588A, - 2194: 0x588C, - 2195: 0x588D, - 2196: 0x588F, - 2197: 0x5890, - 2198: 0x5894, - 2199: 0x5896, - 2200: 0x589D, - 2201: 0x58A0, - 2202: 0x58A1, - 2203: 0x58A2, - 2204: 0x58A6, - 2205: 0x58A9, - 2206: 0x58B1, - 2207: 0x58B2, - 2208: 0x58C4, - 2209: 0x58BC, - 2210: 0x58C2, - 2211: 0x58C8, - 2212: 0x58CD, - 2213: 0x58CE, - 2214: 0x58D0, - 2215: 0x58D2, - 2216: 0x58D4, - 2217: 0x58D6, - 2218: 0x58DA, - 2219: 0x58DD, - 2220: 0x58E1, - 2221: 0x58E2, - 2222: 0x58E9, - 2223: 0x58F3, - 2224: 0x5905, - 2225: 0x5906, - 2226: 0x590B, - 2227: 0x590C, - 2228: 0x5912, - 2229: 0x5913, - 2230: 0x5914, - 2231: 0x8641, - 2232: 0x591D, - 2233: 0x5921, - 2234: 0x5923, - 2235: 0x5924, - 2236: 0x5928, - 2237: 0x592F, - 2238: 0x5930, - 2239: 0x5933, - 2240: 0x5935, - 2241: 0x5936, - 2242: 0x593F, - 2243: 0x5943, - 2244: 0x5946, - 2245: 0x5952, - 2246: 0x5953, - 2247: 0x5959, - 2248: 0x595B, - 2249: 0x595D, - 2250: 0x595E, - 2251: 0x595F, - 2252: 0x5961, - 2253: 0x5963, - 2254: 0x596B, - 2255: 0x596D, - 2256: 0x596F, - 2257: 0x5972, - 2258: 0x5975, - 2259: 0x5976, - 2260: 0x5979, - 2261: 0x597B, - 2262: 0x597C, - 2263: 0x598B, - 2264: 0x598C, - 2265: 0x598E, - 2266: 0x5992, - 2267: 0x5995, - 2268: 0x5997, - 2269: 0x599F, - 2270: 0x59A4, - 2271: 0x59A7, - 2272: 0x59AD, - 2273: 0x59AE, - 2274: 0x59AF, - 2275: 0x59B0, - 2276: 0x59B3, - 2277: 0x59B7, - 2278: 0x59BA, - 2279: 0x59BC, - 2280: 0x59C1, - 2281: 0x59C3, - 2282: 0x59C4, - 2283: 0x59C8, - 2284: 0x59CA, - 2285: 0x59CD, - 2286: 0x59D2, - 2287: 0x59DD, - 2288: 0x59DE, - 2289: 0x59DF, - 2290: 0x59E3, - 2291: 0x59E4, - 2292: 0x59E7, - 2293: 0x59EE, - 2294: 0x59EF, - 2295: 0x59F1, - 2296: 0x59F2, - 2297: 0x59F4, - 2298: 0x59F7, - 2299: 0x5A00, - 2300: 0x5A04, - 2301: 0x5A0C, - 2302: 0x5A0D, - 2303: 0x5A0E, - 2304: 0x5A12, - 2305: 0x5A13, - 2306: 0x5A1E, - 2307: 0x5A23, - 2308: 0x5A24, - 2309: 0x5A27, - 2310: 0x5A28, - 2311: 0x5A2A, - 2312: 0x5A2D, - 2313: 0x5A30, - 2314: 0x5A44, - 2315: 0x5A45, - 2316: 0x5A47, - 2317: 0x5A48, - 2318: 0x5A4C, - 2319: 0x5A50, - 2320: 0x5A55, - 2321: 0x5A5E, - 2322: 0x5A63, - 2323: 0x5A65, - 2324: 0x5A67, - 2325: 0x5A6D, - 2326: 0x5A77, - 2327: 0x5A7A, - 2328: 0x5A7B, - 2329: 0x5A7E, - 2330: 0x5A8B, - 2331: 0x5A90, - 2332: 0x5A93, - 2333: 0x5A96, - 2334: 0x5A99, - 2335: 0x5A9C, - 2336: 0x5A9E, - 2337: 0x5A9F, - 2338: 0x5AA0, - 2339: 0x5AA2, - 2340: 0x5AA7, - 2341: 0x5AAC, - 2342: 0x5AB1, - 2343: 0x5AB2, - 2344: 0x5AB3, - 2345: 0x5AB5, - 2346: 0x5AB8, - 2347: 0x5ABA, - 2348: 0x5ABB, - 2349: 0x5ABF, - 2350: 0x5AC4, - 2351: 0x5AC6, - 2352: 0x5AC8, - 2353: 0x5ACF, - 2354: 0x5ADA, - 2355: 0x5ADC, - 2356: 0x5AE0, - 2357: 0x5AE5, - 2358: 0x5AEA, - 2359: 0x5AEE, - 2360: 0x5AF5, - 2361: 0x5AF6, - 2362: 0x5AFD, - 2363: 0x5B00, - 2364: 0x5B01, - 2365: 0x5B08, - 2366: 0x5B17, - 2367: 0x5B34, - 2368: 0x5B19, - 2369: 0x5B1B, - 2370: 0x5B1D, - 2371: 0x5B21, - 2372: 0x5B25, - 2373: 0x5B2D, - 2374: 0x5B38, - 2375: 0x5B41, - 2376: 0x5B4B, - 2377: 0x5B4C, - 2378: 0x5B52, - 2379: 0x5B56, - 2380: 0x5B5E, - 2381: 0x5B68, - 2382: 0x5B6E, - 2383: 0x5B6F, - 2384: 0x5B7C, - 2385: 0x5B7D, - 2386: 0x5B7E, - 2387: 0x5B7F, - 2388: 0x5B81, - 2389: 0x5B84, - 2390: 0x5B86, - 2391: 0x5B8A, - 2392: 0x5B8E, - 2393: 0x5B90, - 2394: 0x5B91, - 2395: 0x5B93, - 2396: 0x5B94, - 2397: 0x5B96, - 2398: 0x5BA8, - 2399: 0x5BA9, - 2400: 0x5BAC, - 2401: 0x5BAD, - 2402: 0x5BAF, - 2403: 0x5BB1, - 2404: 0x5BB2, - 2405: 0x5BB7, - 2406: 0x5BBA, - 2407: 0x5BBC, - 2408: 0x5BC0, - 2409: 0x5BC1, - 2410: 0x5BCD, - 2411: 0x5BCF, - 2412: 0x5BD6, - 2413: 0x5BD7, - 2414: 0x5BD8, - 2415: 0x5BD9, - 2416: 0x5BDA, - 2417: 0x5BE0, - 2418: 0x5BEF, - 2419: 0x5BF1, - 2420: 0x5BF4, - 2421: 0x5BFD, - 2422: 0x5C0C, - 2423: 0x5C17, - 2424: 0x5C1E, - 2425: 0x5C1F, - 2426: 0x5C23, - 2427: 0x5C26, - 2428: 0x5C29, - 2429: 0x5C2B, - 2430: 0x5C2C, - 2431: 0x5C2E, - 2432: 0x5C30, - 2433: 0x5C32, - 2434: 0x5C35, - 2435: 0x5C36, - 2436: 0x5C59, - 2437: 0x5C5A, - 2438: 0x5C5C, - 2439: 0x5C62, - 2440: 0x5C63, - 2441: 0x5C67, - 2442: 0x5C68, - 2443: 0x5C69, - 2444: 0x5C6D, - 2445: 0x5C70, - 2446: 0x5C74, - 2447: 0x5C75, - 2448: 0x5C7A, - 2449: 0x5C7B, - 2450: 0x5C7C, - 2451: 0x5C7D, - 2452: 0x5C87, - 2453: 0x5C88, - 2454: 0x5C8A, - 2455: 0x5C8F, - 2456: 0x5C92, - 2457: 0x5C9D, - 2458: 0x5C9F, - 2459: 0x5CA0, - 2460: 0x5CA2, - 2461: 0x5CA3, - 2462: 0x5CA6, - 2463: 0x5CAA, - 2464: 0x5CB2, - 2465: 0x5CB4, - 2466: 0x5CB5, - 2467: 0x5CBA, - 2468: 0x5CC9, - 2469: 0x5CCB, - 2470: 0x5CD2, - 2471: 0x5CDD, - 2472: 0x5CD7, - 2473: 0x5CEE, - 2474: 0x5CF1, - 2475: 0x5CF2, - 2476: 0x5CF4, - 2477: 0x5D01, - 2478: 0x5D06, - 2479: 0x5D0D, - 2480: 0x5D12, - 2481: 0x5D2B, - 2482: 0x5D23, - 2483: 0x5D24, - 2484: 0x5D26, - 2485: 0x5D27, - 2486: 0x5D31, - 2487: 0x5D34, - 2488: 0x5D39, - 2489: 0x5D3D, - 2490: 0x5D3F, - 2491: 0x5D42, - 2492: 0x5D43, - 2493: 0x5D46, - 2494: 0x5D48, - 2495: 0x5D55, - 2496: 0x5D51, - 2497: 0x5D59, - 2498: 0x5D4A, - 2499: 0x5D5F, - 2500: 0x5D60, - 2501: 0x5D61, - 2502: 0x5D62, - 2503: 0x5D64, - 2504: 0x5D6A, - 2505: 0x5D6D, - 2506: 0x5D70, - 2507: 0x5D79, - 2508: 0x5D7A, - 2509: 0x5D7E, - 2510: 0x5D7F, - 2511: 0x5D81, - 2512: 0x5D83, - 2513: 0x5D88, - 2514: 0x5D8A, - 2515: 0x5D92, - 2516: 0x5D93, - 2517: 0x5D94, - 2518: 0x5D95, - 2519: 0x5D99, - 2520: 0x5D9B, - 2521: 0x5D9F, - 2522: 0x5DA0, - 2523: 0x5DA7, - 2524: 0x5DAB, - 2525: 0x5DB0, - 2526: 0x5DB4, - 2527: 0x5DB8, - 2528: 0x5DB9, - 2529: 0x5DC3, - 2530: 0x5DC7, - 2531: 0x5DCB, - 2532: 0x5DD0, - 2533: 0x5DCE, - 2534: 0x5DD8, - 2535: 0x5DD9, - 2536: 0x5DE0, - 2537: 0x5DE4, - 2538: 0x5DE9, - 2539: 0x5DF8, - 2540: 0x5DF9, - 2541: 0x5E00, - 2542: 0x5E07, - 2543: 0x5E0D, - 2544: 0x5E12, - 2545: 0x5E14, - 2546: 0x5E15, - 2547: 0x5E18, - 2548: 0x5E1F, - 2549: 0x5E20, - 2550: 0x5E2E, - 2551: 0x5E28, - 2552: 0x5E32, - 2553: 0x5E35, - 2554: 0x5E3E, - 2555: 0x5E4B, - 2556: 0x5E50, - 2557: 0x5E49, - 2558: 0x5E51, - 2559: 0x5E56, - 2560: 0x5E58, - 2561: 0x5E5B, - 2562: 0x5E5C, - 2563: 0x5E5E, - 2564: 0x5E68, - 2565: 0x5E6A, - 2566: 0x5E6B, - 2567: 0x5E6C, - 2568: 0x5E6D, - 2569: 0x5E6E, - 2570: 0x5E70, - 2571: 0x5E80, - 2572: 0x5E8B, - 2573: 0x5E8E, - 2574: 0x5EA2, - 2575: 0x5EA4, - 2576: 0x5EA5, - 2577: 0x5EA8, - 2578: 0x5EAA, - 2579: 0x5EAC, - 2580: 0x5EB1, - 2581: 0x5EB3, - 2582: 0x5EBD, - 2583: 0x5EBE, - 2584: 0x5EBF, - 2585: 0x5EC6, - 2586: 0x5ECC, - 2587: 0x5ECB, - 2588: 0x5ECE, - 2589: 0x5ED1, - 2590: 0x5ED2, - 2591: 0x5ED4, - 2592: 0x5ED5, - 2593: 0x5EDC, - 2594: 0x5EDE, - 2595: 0x5EE5, - 2596: 0x5EEB, - 2597: 0x5F02, - 2598: 0x5F06, - 2599: 0x5F07, - 2600: 0x5F08, - 2601: 0x5F0E, - 2602: 0x5F19, - 2603: 0x5F1C, - 2604: 0x5F1D, - 2605: 0x5F21, - 2606: 0x5F22, - 2607: 0x5F23, - 2608: 0x5F24, - 2609: 0x5F28, - 2610: 0x5F2B, - 2611: 0x5F2C, - 2612: 0x5F2E, - 2613: 0x5F30, - 2614: 0x5F34, - 2615: 0x5F36, - 2616: 0x5F3B, - 2617: 0x5F3D, - 2618: 0x5F3F, - 2619: 0x5F40, - 2620: 0x5F44, - 2621: 0x5F45, - 2622: 0x5F47, - 2623: 0x5F4D, - 2624: 0x5F50, - 2625: 0x5F54, - 2626: 0x5F58, - 2627: 0x5F5B, - 2628: 0x5F60, - 2629: 0x5F63, - 2630: 0x5F64, - 2631: 0x5F67, - 2632: 0x5F6F, - 2633: 0x5F72, - 2634: 0x5F74, - 2635: 0x5F75, - 2636: 0x5F78, - 2637: 0x5F7A, - 2638: 0x5F7D, - 2639: 0x5F7E, - 2640: 0x5F89, - 2641: 0x5F8D, - 2642: 0x5F8F, - 2643: 0x5F96, - 2644: 0x5F9C, - 2645: 0x5F9D, - 2646: 0x5FA2, - 2647: 0x5FA7, - 2648: 0x5FAB, - 2649: 0x5FA4, - 2650: 0x5FAC, - 2651: 0x5FAF, - 2652: 0x5FB0, - 2653: 0x5FB1, - 2654: 0x5FB8, - 2655: 0x5FC4, - 2656: 0x5FC7, - 2657: 0x5FC8, - 2658: 0x5FC9, - 2659: 0x5FCB, - 2660: 0x5FD0, - 2661: 0x5FD1, - 2662: 0x5FD2, - 2663: 0x5FD3, - 2664: 0x5FD4, - 2665: 0x5FDE, - 2666: 0x5FE1, - 2667: 0x5FE2, - 2668: 0x5FE8, - 2669: 0x5FE9, - 2670: 0x5FEA, - 2671: 0x5FEC, - 2672: 0x5FED, - 2673: 0x5FEE, - 2674: 0x5FEF, - 2675: 0x5FF2, - 2676: 0x5FF3, - 2677: 0x5FF6, - 2678: 0x5FFA, - 2679: 0x5FFC, - 2680: 0x6007, - 2681: 0x600A, - 2682: 0x600D, - 2683: 0x6013, - 2684: 0x6014, - 2685: 0x6017, - 2686: 0x6018, - 2687: 0x601A, - 2688: 0x601F, - 2689: 0x6024, - 2690: 0x602D, - 2691: 0x6033, - 2692: 0x6035, - 2693: 0x6040, - 2694: 0x6047, - 2695: 0x6048, - 2696: 0x6049, - 2697: 0x604C, - 2698: 0x6051, - 2699: 0x6054, - 2700: 0x6056, - 2701: 0x6057, - 2702: 0x605D, - 2703: 0x6061, - 2704: 0x6067, - 2705: 0x6071, - 2706: 0x607E, - 2707: 0x607F, - 2708: 0x6082, - 2709: 0x6086, - 2710: 0x6088, - 2711: 0x608A, - 2712: 0x608E, - 2713: 0x6091, - 2714: 0x6093, - 2715: 0x6095, - 2716: 0x6098, - 2717: 0x609D, - 2718: 0x609E, - 2719: 0x60A2, - 2720: 0x60A4, - 2721: 0x60A5, - 2722: 0x60A8, - 2723: 0x60B0, - 2724: 0x60B1, - 2725: 0x60B7, - 2726: 0x60BB, - 2727: 0x60BE, - 2728: 0x60C2, - 2729: 0x60C4, - 2730: 0x60C8, - 2731: 0x60C9, - 2732: 0x60CA, - 2733: 0x60CB, - 2734: 0x60CE, - 2735: 0x60CF, - 2736: 0x60D4, - 2737: 0x60D5, - 2738: 0x60D9, - 2739: 0x60DB, - 2740: 0x60DD, - 2741: 0x60DE, - 2742: 0x60E2, - 2743: 0x60E5, - 2744: 0x60F2, - 2745: 0x60F5, - 2746: 0x60F8, - 2747: 0x60FC, - 2748: 0x60FD, - 2749: 0x6102, - 2750: 0x6107, - 2751: 0x610A, - 2752: 0x610C, - 2753: 0x6110, - 2754: 0x6111, - 2755: 0x6112, - 2756: 0x6113, - 2757: 0x6114, - 2758: 0x6116, - 2759: 0x6117, - 2760: 0x6119, - 2761: 0x611C, - 2762: 0x611E, - 2763: 0x6122, - 2764: 0x612A, - 2765: 0x612B, - 2766: 0x6130, - 2767: 0x6131, - 2768: 0x6135, - 2769: 0x6136, - 2770: 0x6137, - 2771: 0x6139, - 2772: 0x6141, - 2773: 0x6145, - 2774: 0x6146, - 2775: 0x6149, - 2776: 0x615E, - 2777: 0x6160, - 2778: 0x616C, - 2779: 0x6172, - 2780: 0x6178, - 2781: 0x617B, - 2782: 0x617C, - 2783: 0x617F, - 2784: 0x6180, - 2785: 0x6181, - 2786: 0x6183, - 2787: 0x6184, - 2788: 0x618B, - 2789: 0x618D, - 2790: 0x6192, - 2791: 0x6193, - 2792: 0x6197, - 2793: 0x6198, - 2794: 0x619C, - 2795: 0x619D, - 2796: 0x619F, - 2797: 0x61A0, - 2798: 0x61A5, - 2799: 0x61A8, - 2800: 0x61AA, - 2801: 0x61AD, - 2802: 0x61B8, - 2803: 0x61B9, - 2804: 0x61BC, - 2805: 0x61C0, - 2806: 0x61C1, - 2807: 0x61C2, - 2808: 0x61CE, - 2809: 0x61CF, - 2810: 0x61D5, - 2811: 0x61DC, - 2812: 0x61DD, - 2813: 0x61DE, - 2814: 0x61DF, - 2815: 0x61E1, - 2816: 0x61E2, - 2817: 0x61E7, - 2818: 0x61E9, - 2819: 0x61E5, - 2820: 0x61EC, - 2821: 0x61ED, - 2822: 0x61EF, - 2823: 0x6201, - 2824: 0x6203, - 2825: 0x6204, - 2826: 0x6207, - 2827: 0x6213, - 2828: 0x6215, - 2829: 0x621C, - 2830: 0x6220, - 2831: 0x6222, - 2832: 0x6223, - 2833: 0x6227, - 2834: 0x6229, - 2835: 0x622B, - 2836: 0x6239, - 2837: 0x623D, - 2838: 0x6242, - 2839: 0x6243, - 2840: 0x6244, - 2841: 0x6246, - 2842: 0x624C, - 2843: 0x6250, - 2844: 0x6251, - 2845: 0x6252, - 2846: 0x6254, - 2847: 0x6256, - 2848: 0x625A, - 2849: 0x625C, - 2850: 0x6264, - 2851: 0x626D, - 2852: 0x626F, - 2853: 0x6273, - 2854: 0x627A, - 2855: 0x627D, - 2856: 0x628D, - 2857: 0x628E, - 2858: 0x628F, - 2859: 0x6290, - 2860: 0x62A6, - 2861: 0x62A8, - 2862: 0x62B3, - 2863: 0x62B6, - 2864: 0x62B7, - 2865: 0x62BA, - 2866: 0x62BE, - 2867: 0x62BF, - 2868: 0x62C4, - 2869: 0x62CE, - 2870: 0x62D5, - 2871: 0x62D6, - 2872: 0x62DA, - 2873: 0x62EA, - 2874: 0x62F2, - 2875: 0x62F4, - 2876: 0x62FC, - 2877: 0x62FD, - 2878: 0x6303, - 2879: 0x6304, - 2880: 0x630A, - 2881: 0x630B, - 2882: 0x630D, - 2883: 0x6310, - 2884: 0x6313, - 2885: 0x6316, - 2886: 0x6318, - 2887: 0x6329, - 2888: 0x632A, - 2889: 0x632D, - 2890: 0x6335, - 2891: 0x6336, - 2892: 0x6339, - 2893: 0x633C, - 2894: 0x6341, - 2895: 0x6342, - 2896: 0x6343, - 2897: 0x6344, - 2898: 0x6346, - 2899: 0x634A, - 2900: 0x634B, - 2901: 0x634E, - 2902: 0x6352, - 2903: 0x6353, - 2904: 0x6354, - 2905: 0x6358, - 2906: 0x635B, - 2907: 0x6365, - 2908: 0x6366, - 2909: 0x636C, - 2910: 0x636D, - 2911: 0x6371, - 2912: 0x6374, - 2913: 0x6375, - 2914: 0x6378, - 2915: 0x637C, - 2916: 0x637D, - 2917: 0x637F, - 2918: 0x6382, - 2919: 0x6384, - 2920: 0x6387, - 2921: 0x638A, - 2922: 0x6390, - 2923: 0x6394, - 2924: 0x6395, - 2925: 0x6399, - 2926: 0x639A, - 2927: 0x639E, - 2928: 0x63A4, - 2929: 0x63A6, - 2930: 0x63AD, - 2931: 0x63AE, - 2932: 0x63AF, - 2933: 0x63BD, - 2934: 0x63C1, - 2935: 0x63C5, - 2936: 0x63C8, - 2937: 0x63CE, - 2938: 0x63D1, - 2939: 0x63D3, - 2940: 0x63D4, - 2941: 0x63D5, - 2942: 0x63DC, - 2943: 0x63E0, - 2944: 0x63E5, - 2945: 0x63EA, - 2946: 0x63EC, - 2947: 0x63F2, - 2948: 0x63F3, - 2949: 0x63F5, - 2950: 0x63F8, - 2951: 0x63F9, - 2952: 0x6409, - 2953: 0x640A, - 2954: 0x6410, - 2955: 0x6412, - 2956: 0x6414, - 2957: 0x6418, - 2958: 0x641E, - 2959: 0x6420, - 2960: 0x6422, - 2961: 0x6424, - 2962: 0x6425, - 2963: 0x6429, - 2964: 0x642A, - 2965: 0x642F, - 2966: 0x6430, - 2967: 0x6435, - 2968: 0x643D, - 2969: 0x643F, - 2970: 0x644B, - 2971: 0x644F, - 2972: 0x6451, - 2973: 0x6452, - 2974: 0x6453, - 2975: 0x6454, - 2976: 0x645A, - 2977: 0x645B, - 2978: 0x645C, - 2979: 0x645D, - 2980: 0x645F, - 2981: 0x6460, - 2982: 0x6461, - 2983: 0x6463, - 2984: 0x646D, - 2985: 0x6473, - 2986: 0x6474, - 2987: 0x647B, - 2988: 0x647D, - 2989: 0x6485, - 2990: 0x6487, - 2991: 0x648F, - 2992: 0x6490, - 2993: 0x6491, - 2994: 0x6498, - 2995: 0x6499, - 2996: 0x649B, - 2997: 0x649D, - 2998: 0x649F, - 2999: 0x64A1, - 3000: 0x64A3, - 3001: 0x64A6, - 3002: 0x64A8, - 3003: 0x64AC, - 3004: 0x64B3, - 3005: 0x64BD, - 3006: 0x64BE, - 3007: 0x64BF, - 3008: 0x64C4, - 3009: 0x64C9, - 3010: 0x64CA, - 3011: 0x64CB, - 3012: 0x64CC, - 3013: 0x64CE, - 3014: 0x64D0, - 3015: 0x64D1, - 3016: 0x64D5, - 3017: 0x64D7, - 3018: 0x64E4, - 3019: 0x64E5, - 3020: 0x64E9, - 3021: 0x64EA, - 3022: 0x64ED, - 3023: 0x64F0, - 3024: 0x64F5, - 3025: 0x64F7, - 3026: 0x64FB, - 3027: 0x64FF, - 3028: 0x6501, - 3029: 0x6504, - 3030: 0x6508, - 3031: 0x6509, - 3032: 0x650A, - 3033: 0x650F, - 3034: 0x6513, - 3035: 0x6514, - 3036: 0x6516, - 3037: 0x6519, - 3038: 0x651B, - 3039: 0x651E, - 3040: 0x651F, - 3041: 0x6522, - 3042: 0x6526, - 3043: 0x6529, - 3044: 0x652E, - 3045: 0x6531, - 3046: 0x653A, - 3047: 0x653C, - 3048: 0x653D, - 3049: 0x6543, - 3050: 0x6547, - 3051: 0x6549, - 3052: 0x6550, - 3053: 0x6552, - 3054: 0x6554, - 3055: 0x655F, - 3056: 0x6560, - 3057: 0x6567, - 3058: 0x656B, - 3059: 0x657A, - 3060: 0x657D, - 3061: 0x6581, - 3062: 0x6585, - 3063: 0x658A, - 3064: 0x6592, - 3065: 0x6595, - 3066: 0x6598, - 3067: 0x659D, - 3068: 0x65A0, - 3069: 0x65A3, - 3070: 0x65A6, - 3071: 0x65AE, - 3072: 0x65B2, - 3073: 0x65B3, - 3074: 0x65B4, - 3075: 0x65BF, - 3076: 0x65C2, - 3077: 0x65C8, - 3078: 0x65C9, - 3079: 0x65CE, - 3080: 0x65D0, - 3081: 0x65D4, - 3082: 0x65D6, - 3083: 0x65D8, - 3084: 0x65DF, - 3085: 0x65F0, - 3086: 0x65F2, - 3087: 0x65F4, - 3088: 0x65F5, - 3089: 0x65F9, - 3090: 0x65FE, - 3091: 0x65FF, - 3092: 0x6600, - 3093: 0x6604, - 3094: 0x6608, - 3095: 0x6609, - 3096: 0x660D, - 3097: 0x6611, - 3098: 0x6612, - 3099: 0x6615, - 3100: 0x6616, - 3101: 0x661D, - 3102: 0x661E, - 3103: 0x6621, - 3104: 0x6622, - 3105: 0x6623, - 3106: 0x6624, - 3107: 0x6626, - 3108: 0x6629, - 3109: 0x662A, - 3110: 0x662B, - 3111: 0x662C, - 3112: 0x662E, - 3113: 0x6630, - 3114: 0x6631, - 3115: 0x6633, - 3116: 0x6639, - 3117: 0x6637, - 3118: 0x6640, - 3119: 0x6645, - 3120: 0x6646, - 3121: 0x664A, - 3122: 0x664C, - 3123: 0x6651, - 3124: 0x664E, - 3125: 0x6657, - 3126: 0x6658, - 3127: 0x6659, - 3128: 0x665B, - 3129: 0x665C, - 3130: 0x6660, - 3131: 0x6661, - 3132: 0x66FB, - 3133: 0x666A, - 3134: 0x666B, - 3135: 0x666C, - 3136: 0x667E, - 3137: 0x6673, - 3138: 0x6675, - 3139: 0x667F, - 3140: 0x6677, - 3141: 0x6678, - 3142: 0x6679, - 3143: 0x667B, - 3144: 0x6680, - 3145: 0x667C, - 3146: 0x668B, - 3147: 0x668C, - 3148: 0x668D, - 3149: 0x6690, - 3150: 0x6692, - 3151: 0x6699, - 3152: 0x669A, - 3153: 0x669B, - 3154: 0x669C, - 3155: 0x669F, - 3156: 0x66A0, - 3157: 0x66A4, - 3158: 0x66AD, - 3159: 0x66B1, - 3160: 0x66B2, - 3161: 0x66B5, - 3162: 0x66BB, - 3163: 0x66BF, - 3164: 0x66C0, - 3165: 0x66C2, - 3166: 0x66C3, - 3167: 0x66C8, - 3168: 0x66CC, - 3169: 0x66CE, - 3170: 0x66CF, - 3171: 0x66D4, - 3172: 0x66DB, - 3173: 0x66DF, - 3174: 0x66E8, - 3175: 0x66EB, - 3176: 0x66EC, - 3177: 0x66EE, - 3178: 0x66FA, - 3179: 0x6705, - 3180: 0x6707, - 3181: 0x670E, - 3182: 0x6713, - 3183: 0x6719, - 3184: 0x671C, - 3185: 0x6720, - 3186: 0x6722, - 3187: 0x6733, - 3188: 0x673E, - 3189: 0x6745, - 3190: 0x6747, - 3191: 0x6748, - 3192: 0x674C, - 3193: 0x6754, - 3194: 0x6755, - 3195: 0x675D, - 3196: 0x6766, - 3197: 0x676C, - 3198: 0x676E, - 3199: 0x6774, - 3200: 0x6776, - 3201: 0x677B, - 3202: 0x6781, - 3203: 0x6784, - 3204: 0x678E, - 3205: 0x678F, - 3206: 0x6791, - 3207: 0x6793, - 3208: 0x6796, - 3209: 0x6798, - 3210: 0x6799, - 3211: 0x679B, - 3212: 0x67B0, - 3213: 0x67B1, - 3214: 0x67B2, - 3215: 0x67B5, - 3216: 0x67BB, - 3217: 0x67BC, - 3218: 0x67BD, - 3219: 0x67F9, - 3220: 0x67C0, - 3221: 0x67C2, - 3222: 0x67C3, - 3223: 0x67C5, - 3224: 0x67C8, - 3225: 0x67C9, - 3226: 0x67D2, - 3227: 0x67D7, - 3228: 0x67D9, - 3229: 0x67DC, - 3230: 0x67E1, - 3231: 0x67E6, - 3232: 0x67F0, - 3233: 0x67F2, - 3234: 0x67F6, - 3235: 0x67F7, - 3236: 0x6852, - 3237: 0x6814, - 3238: 0x6819, - 3239: 0x681D, - 3240: 0x681F, - 3241: 0x6828, - 3242: 0x6827, - 3243: 0x682C, - 3244: 0x682D, - 3245: 0x682F, - 3246: 0x6830, - 3247: 0x6831, - 3248: 0x6833, - 3249: 0x683B, - 3250: 0x683F, - 3251: 0x6844, - 3252: 0x6845, - 3253: 0x684A, - 3254: 0x684C, - 3255: 0x6855, - 3256: 0x6857, - 3257: 0x6858, - 3258: 0x685B, - 3259: 0x686B, - 3260: 0x686E, - 3261: 0x686F, - 3262: 0x6870, - 3263: 0x6871, - 3264: 0x6872, - 3265: 0x6875, - 3266: 0x6879, - 3267: 0x687A, - 3268: 0x687B, - 3269: 0x687C, - 3270: 0x6882, - 3271: 0x6884, - 3272: 0x6886, - 3273: 0x6888, - 3274: 0x6896, - 3275: 0x6898, - 3276: 0x689A, - 3277: 0x689C, - 3278: 0x68A1, - 3279: 0x68A3, - 3280: 0x68A5, - 3281: 0x68A9, - 3282: 0x68AA, - 3283: 0x68AE, - 3284: 0x68B2, - 3285: 0x68BB, - 3286: 0x68C5, - 3287: 0x68C8, - 3288: 0x68CC, - 3289: 0x68CF, - 3290: 0x68D0, - 3291: 0x68D1, - 3292: 0x68D3, - 3293: 0x68D6, - 3294: 0x68D9, - 3295: 0x68DC, - 3296: 0x68DD, - 3297: 0x68E5, - 3298: 0x68E8, - 3299: 0x68EA, - 3300: 0x68EB, - 3301: 0x68EC, - 3302: 0x68ED, - 3303: 0x68F0, - 3304: 0x68F1, - 3305: 0x68F5, - 3306: 0x68F6, - 3307: 0x68FB, - 3308: 0x68FC, - 3309: 0x68FD, - 3310: 0x6906, - 3311: 0x6909, - 3312: 0x690A, - 3313: 0x6910, - 3314: 0x6911, - 3315: 0x6913, - 3316: 0x6916, - 3317: 0x6917, - 3318: 0x6931, - 3319: 0x6933, - 3320: 0x6935, - 3321: 0x6938, - 3322: 0x693B, - 3323: 0x6942, - 3324: 0x6945, - 3325: 0x6949, - 3326: 0x694E, - 3327: 0x6957, - 3328: 0x695B, - 3329: 0x6963, - 3330: 0x6964, - 3331: 0x6965, - 3332: 0x6966, - 3333: 0x6968, - 3334: 0x6969, - 3335: 0x696C, - 3336: 0x6970, - 3337: 0x6971, - 3338: 0x6972, - 3339: 0x697A, - 3340: 0x697B, - 3341: 0x697F, - 3342: 0x6980, - 3343: 0x698D, - 3344: 0x6992, - 3345: 0x6996, - 3346: 0x6998, - 3347: 0x69A1, - 3348: 0x69A5, - 3349: 0x69A6, - 3350: 0x69A8, - 3351: 0x69AB, - 3352: 0x69AD, - 3353: 0x69AF, - 3354: 0x69B7, - 3355: 0x69B8, - 3356: 0x69BA, - 3357: 0x69BC, - 3358: 0x69C5, - 3359: 0x69C8, - 3360: 0x69D1, - 3361: 0x69D6, - 3362: 0x69D7, - 3363: 0x69E2, - 3364: 0x69E5, - 3365: 0x69EE, - 3366: 0x69EF, - 3367: 0x69F1, - 3368: 0x69F3, - 3369: 0x69F5, - 3370: 0x69FE, - 3371: 0x6A00, - 3372: 0x6A01, - 3373: 0x6A03, - 3374: 0x6A0F, - 3375: 0x6A11, - 3376: 0x6A15, - 3377: 0x6A1A, - 3378: 0x6A1D, - 3379: 0x6A20, - 3380: 0x6A24, - 3381: 0x6A28, - 3382: 0x6A30, - 3383: 0x6A32, - 3384: 0x6A34, - 3385: 0x6A37, - 3386: 0x6A3B, - 3387: 0x6A3E, - 3388: 0x6A3F, - 3389: 0x6A45, - 3390: 0x6A46, - 3391: 0x6A49, - 3392: 0x6A4A, - 3393: 0x6A4E, - 3394: 0x6A50, - 3395: 0x6A51, - 3396: 0x6A52, - 3397: 0x6A55, - 3398: 0x6A56, - 3399: 0x6A5B, - 3400: 0x6A64, - 3401: 0x6A67, - 3402: 0x6A6A, - 3403: 0x6A71, - 3404: 0x6A73, - 3405: 0x6A7E, - 3406: 0x6A81, - 3407: 0x6A83, - 3408: 0x6A86, - 3409: 0x6A87, - 3410: 0x6A89, - 3411: 0x6A8B, - 3412: 0x6A91, - 3413: 0x6A9B, - 3414: 0x6A9D, - 3415: 0x6A9E, - 3416: 0x6A9F, - 3417: 0x6AA5, - 3418: 0x6AAB, - 3419: 0x6AAF, - 3420: 0x6AB0, - 3421: 0x6AB1, - 3422: 0x6AB4, - 3423: 0x6ABD, - 3424: 0x6ABE, - 3425: 0x6ABF, - 3426: 0x6AC6, - 3427: 0x6AC9, - 3428: 0x6AC8, - 3429: 0x6ACC, - 3430: 0x6AD0, - 3431: 0x6AD4, - 3432: 0x6AD5, - 3433: 0x6AD6, - 3434: 0x6ADC, - 3435: 0x6ADD, - 3436: 0x6AE4, - 3437: 0x6AE7, - 3438: 0x6AEC, - 3439: 0x6AF0, - 3440: 0x6AF1, - 3441: 0x6AF2, - 3442: 0x6AFC, - 3443: 0x6AFD, - 3444: 0x6B02, - 3445: 0x6B03, - 3446: 0x6B06, - 3447: 0x6B07, - 3448: 0x6B09, - 3449: 0x6B0F, - 3450: 0x6B10, - 3451: 0x6B11, - 3452: 0x6B17, - 3453: 0x6B1B, - 3454: 0x6B1E, - 3455: 0x6B24, - 3456: 0x6B28, - 3457: 0x6B2B, - 3458: 0x6B2C, - 3459: 0x6B2F, - 3460: 0x6B35, - 3461: 0x6B36, - 3462: 0x6B3B, - 3463: 0x6B3F, - 3464: 0x6B46, - 3465: 0x6B4A, - 3466: 0x6B4D, - 3467: 0x6B52, - 3468: 0x6B56, - 3469: 0x6B58, - 3470: 0x6B5D, - 3471: 0x6B60, - 3472: 0x6B67, - 3473: 0x6B6B, - 3474: 0x6B6E, - 3475: 0x6B70, - 3476: 0x6B75, - 3477: 0x6B7D, - 3478: 0x6B7E, - 3479: 0x6B82, - 3480: 0x6B85, - 3481: 0x6B97, - 3482: 0x6B9B, - 3483: 0x6B9F, - 3484: 0x6BA0, - 3485: 0x6BA2, - 3486: 0x6BA3, - 3487: 0x6BA8, - 3488: 0x6BA9, - 3489: 0x6BAC, - 3490: 0x6BAD, - 3491: 0x6BAE, - 3492: 0x6BB0, - 3493: 0x6BB8, - 3494: 0x6BB9, - 3495: 0x6BBD, - 3496: 0x6BBE, - 3497: 0x6BC3, - 3498: 0x6BC4, - 3499: 0x6BC9, - 3500: 0x6BCC, - 3501: 0x6BD6, - 3502: 0x6BDA, - 3503: 0x6BE1, - 3504: 0x6BE3, - 3505: 0x6BE6, - 3506: 0x6BE7, - 3507: 0x6BEE, - 3508: 0x6BF1, - 3509: 0x6BF7, - 3510: 0x6BF9, - 3511: 0x6BFF, - 3512: 0x6C02, - 3513: 0x6C04, - 3514: 0x6C05, - 3515: 0x6C09, - 3516: 0x6C0D, - 3517: 0x6C0E, - 3518: 0x6C10, - 3519: 0x6C12, - 3520: 0x6C19, - 3521: 0x6C1F, - 3522: 0x6C26, - 3523: 0x6C27, - 3524: 0x6C28, - 3525: 0x6C2C, - 3526: 0x6C2E, - 3527: 0x6C33, - 3528: 0x6C35, - 3529: 0x6C36, - 3530: 0x6C3A, - 3531: 0x6C3B, - 3532: 0x6C3F, - 3533: 0x6C4A, - 3534: 0x6C4B, - 3535: 0x6C4D, - 3536: 0x6C4F, - 3537: 0x6C52, - 3538: 0x6C54, - 3539: 0x6C59, - 3540: 0x6C5B, - 3541: 0x6C5C, - 3542: 0x6C6B, - 3543: 0x6C6D, - 3544: 0x6C6F, - 3545: 0x6C74, - 3546: 0x6C76, - 3547: 0x6C78, - 3548: 0x6C79, - 3549: 0x6C7B, - 3550: 0x6C85, - 3551: 0x6C86, - 3552: 0x6C87, - 3553: 0x6C89, - 3554: 0x6C94, - 3555: 0x6C95, - 3556: 0x6C97, - 3557: 0x6C98, - 3558: 0x6C9C, - 3559: 0x6C9F, - 3560: 0x6CB0, - 3561: 0x6CB2, - 3562: 0x6CB4, - 3563: 0x6CC2, - 3564: 0x6CC6, - 3565: 0x6CCD, - 3566: 0x6CCF, - 3567: 0x6CD0, - 3568: 0x6CD1, - 3569: 0x6CD2, - 3570: 0x6CD4, - 3571: 0x6CD6, - 3572: 0x6CDA, - 3573: 0x6CDC, - 3574: 0x6CE0, - 3575: 0x6CE7, - 3576: 0x6CE9, - 3577: 0x6CEB, - 3578: 0x6CEC, - 3579: 0x6CEE, - 3580: 0x6CF2, - 3581: 0x6CF4, - 3582: 0x6D04, - 3583: 0x6D07, - 3584: 0x6D0A, - 3585: 0x6D0E, - 3586: 0x6D0F, - 3587: 0x6D11, - 3588: 0x6D13, - 3589: 0x6D1A, - 3590: 0x6D26, - 3591: 0x6D27, - 3592: 0x6D28, - 3593: 0x6C67, - 3594: 0x6D2E, - 3595: 0x6D2F, - 3596: 0x6D31, - 3597: 0x6D39, - 3598: 0x6D3C, - 3599: 0x6D3F, - 3600: 0x6D57, - 3601: 0x6D5E, - 3602: 0x6D5F, - 3603: 0x6D61, - 3604: 0x6D65, - 3605: 0x6D67, - 3606: 0x6D6F, - 3607: 0x6D70, - 3608: 0x6D7C, - 3609: 0x6D82, - 3610: 0x6D87, - 3611: 0x6D91, - 3612: 0x6D92, - 3613: 0x6D94, - 3614: 0x6D96, - 3615: 0x6D97, - 3616: 0x6D98, - 3617: 0x6DAA, - 3618: 0x6DAC, - 3619: 0x6DB4, - 3620: 0x6DB7, - 3621: 0x6DB9, - 3622: 0x6DBD, - 3623: 0x6DBF, - 3624: 0x6DC4, - 3625: 0x6DC8, - 3626: 0x6DCA, - 3627: 0x6DCE, - 3628: 0x6DCF, - 3629: 0x6DD6, - 3630: 0x6DDB, - 3631: 0x6DDD, - 3632: 0x6DDF, - 3633: 0x6DE0, - 3634: 0x6DE2, - 3635: 0x6DE5, - 3636: 0x6DE9, - 3637: 0x6DEF, - 3638: 0x6DF0, - 3639: 0x6DF4, - 3640: 0x6DF6, - 3641: 0x6DFC, - 3642: 0x6E00, - 3643: 0x6E04, - 3644: 0x6E1E, - 3645: 0x6E22, - 3646: 0x6E27, - 3647: 0x6E32, - 3648: 0x6E36, - 3649: 0x6E39, - 3650: 0x6E3B, - 3651: 0x6E3C, - 3652: 0x6E44, - 3653: 0x6E45, - 3654: 0x6E48, - 3655: 0x6E49, - 3656: 0x6E4B, - 3657: 0x6E4F, - 3658: 0x6E51, - 3659: 0x6E52, - 3660: 0x6E53, - 3661: 0x6E54, - 3662: 0x6E57, - 3663: 0x6E5C, - 3664: 0x6E5D, - 3665: 0x6E5E, - 3666: 0x6E62, - 3667: 0x6E63, - 3668: 0x6E68, - 3669: 0x6E73, - 3670: 0x6E7B, - 3671: 0x6E7D, - 3672: 0x6E8D, - 3673: 0x6E93, - 3674: 0x6E99, - 3675: 0x6EA0, - 3676: 0x6EA7, - 3677: 0x6EAD, - 3678: 0x6EAE, - 3679: 0x6EB1, - 3680: 0x6EB3, - 3681: 0x6EBB, - 3682: 0x6EBF, - 3683: 0x6EC0, - 3684: 0x6EC1, - 3685: 0x6EC3, - 3686: 0x6EC7, - 3687: 0x6EC8, - 3688: 0x6ECA, - 3689: 0x6ECD, - 3690: 0x6ECE, - 3691: 0x6ECF, - 3692: 0x6EEB, - 3693: 0x6EED, - 3694: 0x6EEE, - 3695: 0x6EF9, - 3696: 0x6EFB, - 3697: 0x6EFD, - 3698: 0x6F04, - 3699: 0x6F08, - 3700: 0x6F0A, - 3701: 0x6F0C, - 3702: 0x6F0D, - 3703: 0x6F16, - 3704: 0x6F18, - 3705: 0x6F1A, - 3706: 0x6F1B, - 3707: 0x6F26, - 3708: 0x6F29, - 3709: 0x6F2A, - 3710: 0x6F2F, - 3711: 0x6F30, - 3712: 0x6F33, - 3713: 0x6F36, - 3714: 0x6F3B, - 3715: 0x6F3C, - 3716: 0x6F2D, - 3717: 0x6F4F, - 3718: 0x6F51, - 3719: 0x6F52, - 3720: 0x6F53, - 3721: 0x6F57, - 3722: 0x6F59, - 3723: 0x6F5A, - 3724: 0x6F5D, - 3725: 0x6F5E, - 3726: 0x6F61, - 3727: 0x6F62, - 3728: 0x6F68, - 3729: 0x6F6C, - 3730: 0x6F7D, - 3731: 0x6F7E, - 3732: 0x6F83, - 3733: 0x6F87, - 3734: 0x6F88, - 3735: 0x6F8B, - 3736: 0x6F8C, - 3737: 0x6F8D, - 3738: 0x6F90, - 3739: 0x6F92, - 3740: 0x6F93, - 3741: 0x6F94, - 3742: 0x6F96, - 3743: 0x6F9A, - 3744: 0x6F9F, - 3745: 0x6FA0, - 3746: 0x6FA5, - 3747: 0x6FA6, - 3748: 0x6FA7, - 3749: 0x6FA8, - 3750: 0x6FAE, - 3751: 0x6FAF, - 3752: 0x6FB0, - 3753: 0x6FB5, - 3754: 0x6FB6, - 3755: 0x6FBC, - 3756: 0x6FC5, - 3757: 0x6FC7, - 3758: 0x6FC8, - 3759: 0x6FCA, - 3760: 0x6FDA, - 3761: 0x6FDE, - 3762: 0x6FE8, - 3763: 0x6FE9, - 3764: 0x6FF0, - 3765: 0x6FF5, - 3766: 0x6FF9, - 3767: 0x6FFC, - 3768: 0x6FFD, - 3769: 0x7000, - 3770: 0x7005, - 3771: 0x7006, - 3772: 0x7007, - 3773: 0x700D, - 3774: 0x7017, - 3775: 0x7020, - 3776: 0x7023, - 3777: 0x702F, - 3778: 0x7034, - 3779: 0x7037, - 3780: 0x7039, - 3781: 0x703C, - 3782: 0x7043, - 3783: 0x7044, - 3784: 0x7048, - 3785: 0x7049, - 3786: 0x704A, - 3787: 0x704B, - 3788: 0x7054, - 3789: 0x7055, - 3790: 0x705D, - 3791: 0x705E, - 3792: 0x704E, - 3793: 0x7064, - 3794: 0x7065, - 3795: 0x706C, - 3796: 0x706E, - 3797: 0x7075, - 3798: 0x7076, - 3799: 0x707E, - 3800: 0x7081, - 3801: 0x7085, - 3802: 0x7086, - 3803: 0x7094, - 3804: 0x7095, - 3805: 0x7096, - 3806: 0x7097, - 3807: 0x7098, - 3808: 0x709B, - 3809: 0x70A4, - 3810: 0x70AB, - 3811: 0x70B0, - 3812: 0x70B1, - 3813: 0x70B4, - 3814: 0x70B7, - 3815: 0x70CA, - 3816: 0x70D1, - 3817: 0x70D3, - 3818: 0x70D4, - 3819: 0x70D5, - 3820: 0x70D6, - 3821: 0x70D8, - 3822: 0x70DC, - 3823: 0x70E4, - 3824: 0x70FA, - 3825: 0x7103, - 3826: 0x7104, - 3827: 0x7105, - 3828: 0x7106, - 3829: 0x7107, - 3830: 0x710B, - 3831: 0x710C, - 3832: 0x710F, - 3833: 0x711E, - 3834: 0x7120, - 3835: 0x712B, - 3836: 0x712D, - 3837: 0x712F, - 3838: 0x7130, - 3839: 0x7131, - 3840: 0x7138, - 3841: 0x7141, - 3842: 0x7145, - 3843: 0x7146, - 3844: 0x7147, - 3845: 0x714A, - 3846: 0x714B, - 3847: 0x7150, - 3848: 0x7152, - 3849: 0x7157, - 3850: 0x715A, - 3851: 0x715C, - 3852: 0x715E, - 3853: 0x7160, - 3854: 0x7168, - 3855: 0x7179, - 3856: 0x7180, - 3857: 0x7185, - 3858: 0x7187, - 3859: 0x718C, - 3860: 0x7192, - 3861: 0x719A, - 3862: 0x719B, - 3863: 0x71A0, - 3864: 0x71A2, - 3865: 0x71AF, - 3866: 0x71B0, - 3867: 0x71B2, - 3868: 0x71B3, - 3869: 0x71BA, - 3870: 0x71BF, - 3871: 0x71C0, - 3872: 0x71C1, - 3873: 0x71C4, - 3874: 0x71CB, - 3875: 0x71CC, - 3876: 0x71D3, - 3877: 0x71D6, - 3878: 0x71D9, - 3879: 0x71DA, - 3880: 0x71DC, - 3881: 0x71F8, - 3882: 0x71FE, - 3883: 0x7200, - 3884: 0x7207, - 3885: 0x7208, - 3886: 0x7209, - 3887: 0x7213, - 3888: 0x7217, - 3889: 0x721A, - 3890: 0x721D, - 3891: 0x721F, - 3892: 0x7224, - 3893: 0x722B, - 3894: 0x722F, - 3895: 0x7234, - 3896: 0x7238, - 3897: 0x7239, - 3898: 0x7241, - 3899: 0x7242, - 3900: 0x7243, - 3901: 0x7245, - 3902: 0x724E, - 3903: 0x724F, - 3904: 0x7250, - 3905: 0x7253, - 3906: 0x7255, - 3907: 0x7256, - 3908: 0x725A, - 3909: 0x725C, - 3910: 0x725E, - 3911: 0x7260, - 3912: 0x7263, - 3913: 0x7268, - 3914: 0x726B, - 3915: 0x726E, - 3916: 0x726F, - 3917: 0x7271, - 3918: 0x7277, - 3919: 0x7278, - 3920: 0x727B, - 3921: 0x727C, - 3922: 0x727F, - 3923: 0x7284, - 3924: 0x7289, - 3925: 0x728D, - 3926: 0x728E, - 3927: 0x7293, - 3928: 0x729B, - 3929: 0x72A8, - 3930: 0x72AD, - 3931: 0x72AE, - 3932: 0x72B1, - 3933: 0x72B4, - 3934: 0x72BE, - 3935: 0x72C1, - 3936: 0x72C7, - 3937: 0x72C9, - 3938: 0x72CC, - 3939: 0x72D5, - 3940: 0x72D6, - 3941: 0x72D8, - 3942: 0x72DF, - 3943: 0x72E5, - 3944: 0x72F3, - 3945: 0x72F4, - 3946: 0x72FA, - 3947: 0x72FB, - 3948: 0x72FE, - 3949: 0x7302, - 3950: 0x7304, - 3951: 0x7305, - 3952: 0x7307, - 3953: 0x730B, - 3954: 0x730D, - 3955: 0x7312, - 3956: 0x7313, - 3957: 0x7318, - 3958: 0x7319, - 3959: 0x731E, - 3960: 0x7322, - 3961: 0x7324, - 3962: 0x7327, - 3963: 0x7328, - 3964: 0x732C, - 3965: 0x7331, - 3966: 0x7332, - 3967: 0x7335, - 3968: 0x733A, - 3969: 0x733B, - 3970: 0x733D, - 3971: 0x7343, - 3972: 0x734D, - 3973: 0x7350, - 3974: 0x7352, - 3975: 0x7356, - 3976: 0x7358, - 3977: 0x735D, - 3978: 0x735E, - 3979: 0x735F, - 3980: 0x7360, - 3981: 0x7366, - 3982: 0x7367, - 3983: 0x7369, - 3984: 0x736B, - 3985: 0x736C, - 3986: 0x736E, - 3987: 0x736F, - 3988: 0x7371, - 3989: 0x7377, - 3990: 0x7379, - 3991: 0x737C, - 3992: 0x7380, - 3993: 0x7381, - 3994: 0x7383, - 3995: 0x7385, - 3996: 0x7386, - 3997: 0x738E, - 3998: 0x7390, - 3999: 0x7393, - 4000: 0x7395, - 4001: 0x7397, - 4002: 0x7398, - 4003: 0x739C, - 4004: 0x739E, - 4005: 0x739F, - 4006: 0x73A0, - 4007: 0x73A2, - 4008: 0x73A5, - 4009: 0x73A6, - 4010: 0x73AA, - 4011: 0x73AB, - 4012: 0x73AD, - 4013: 0x73B5, - 4014: 0x73B7, - 4015: 0x73B9, - 4016: 0x73BC, - 4017: 0x73BD, - 4018: 0x73BF, - 4019: 0x73C5, - 4020: 0x73C6, - 4021: 0x73C9, - 4022: 0x73CB, - 4023: 0x73CC, - 4024: 0x73CF, - 4025: 0x73D2, - 4026: 0x73D3, - 4027: 0x73D6, - 4028: 0x73D9, - 4029: 0x73DD, - 4030: 0x73E1, - 4031: 0x73E3, - 4032: 0x73E6, - 4033: 0x73E7, - 4034: 0x73E9, - 4035: 0x73F4, - 4036: 0x73F5, - 4037: 0x73F7, - 4038: 0x73F9, - 4039: 0x73FA, - 4040: 0x73FB, - 4041: 0x73FD, - 4042: 0x73FF, - 4043: 0x7400, - 4044: 0x7401, - 4045: 0x7404, - 4046: 0x7407, - 4047: 0x740A, - 4048: 0x7411, - 4049: 0x741A, - 4050: 0x741B, - 4051: 0x7424, - 4052: 0x7426, - 4053: 0x7428, - 4054: 0x7429, - 4055: 0x742A, - 4056: 0x742B, - 4057: 0x742C, - 4058: 0x742D, - 4059: 0x742E, - 4060: 0x742F, - 4061: 0x7430, - 4062: 0x7431, - 4063: 0x7439, - 4064: 0x7440, - 4065: 0x7443, - 4066: 0x7444, - 4067: 0x7446, - 4068: 0x7447, - 4069: 0x744B, - 4070: 0x744D, - 4071: 0x7451, - 4072: 0x7452, - 4073: 0x7457, - 4074: 0x745D, - 4075: 0x7462, - 4076: 0x7466, - 4077: 0x7467, - 4078: 0x7468, - 4079: 0x746B, - 4080: 0x746D, - 4081: 0x746E, - 4082: 0x7471, - 4083: 0x7472, - 4084: 0x7480, - 4085: 0x7481, - 4086: 0x7485, - 4087: 0x7486, - 4088: 0x7487, - 4089: 0x7489, - 4090: 0x748F, - 4091: 0x7490, - 4092: 0x7491, - 4093: 0x7492, - 4094: 0x7498, - 4095: 0x7499, - 4096: 0x749A, - 4097: 0x749C, - 4098: 0x749F, - 4099: 0x74A0, - 4100: 0x74A1, - 4101: 0x74A3, - 4102: 0x74A6, - 4103: 0x74A8, - 4104: 0x74A9, - 4105: 0x74AA, - 4106: 0x74AB, - 4107: 0x74AE, - 4108: 0x74AF, - 4109: 0x74B1, - 4110: 0x74B2, - 4111: 0x74B5, - 4112: 0x74B9, - 4113: 0x74BB, - 4114: 0x74BF, - 4115: 0x74C8, - 4116: 0x74C9, - 4117: 0x74CC, - 4118: 0x74D0, - 4119: 0x74D3, - 4120: 0x74D8, - 4121: 0x74DA, - 4122: 0x74DB, - 4123: 0x74DE, - 4124: 0x74DF, - 4125: 0x74E4, - 4126: 0x74E8, - 4127: 0x74EA, - 4128: 0x74EB, - 4129: 0x74EF, - 4130: 0x74F4, - 4131: 0x74FA, - 4132: 0x74FB, - 4133: 0x74FC, - 4134: 0x74FF, - 4135: 0x7506, - 4136: 0x7512, - 4137: 0x7516, - 4138: 0x7517, - 4139: 0x7520, - 4140: 0x7521, - 4141: 0x7524, - 4142: 0x7527, - 4143: 0x7529, - 4144: 0x752A, - 4145: 0x752F, - 4146: 0x7536, - 4147: 0x7539, - 4148: 0x753D, - 4149: 0x753E, - 4150: 0x753F, - 4151: 0x7540, - 4152: 0x7543, - 4153: 0x7547, - 4154: 0x7548, - 4155: 0x754E, - 4156: 0x7550, - 4157: 0x7552, - 4158: 0x7557, - 4159: 0x755E, - 4160: 0x755F, - 4161: 0x7561, - 4162: 0x756F, - 4163: 0x7571, - 4164: 0x7579, - 4165: 0x757A, - 4166: 0x757B, - 4167: 0x757C, - 4168: 0x757D, - 4169: 0x757E, - 4170: 0x7581, - 4171: 0x7585, - 4172: 0x7590, - 4173: 0x7592, - 4174: 0x7593, - 4175: 0x7595, - 4176: 0x7599, - 4177: 0x759C, - 4178: 0x75A2, - 4179: 0x75A4, - 4180: 0x75B4, - 4181: 0x75BA, - 4182: 0x75BF, - 4183: 0x75C0, - 4184: 0x75C1, - 4185: 0x75C4, - 4186: 0x75C6, - 4187: 0x75CC, - 4188: 0x75CE, - 4189: 0x75CF, - 4190: 0x75D7, - 4191: 0x75DC, - 4192: 0x75DF, - 4193: 0x75E0, - 4194: 0x75E1, - 4195: 0x75E4, - 4196: 0x75E7, - 4197: 0x75EC, - 4198: 0x75EE, - 4199: 0x75EF, - 4200: 0x75F1, - 4201: 0x75F9, - 4202: 0x7600, - 4203: 0x7602, - 4204: 0x7603, - 4205: 0x7604, - 4206: 0x7607, - 4207: 0x7608, - 4208: 0x760A, - 4209: 0x760C, - 4210: 0x760F, - 4211: 0x7612, - 4212: 0x7613, - 4213: 0x7615, - 4214: 0x7616, - 4215: 0x7619, - 4216: 0x761B, - 4217: 0x761C, - 4218: 0x761D, - 4219: 0x761E, - 4220: 0x7623, - 4221: 0x7625, - 4222: 0x7626, - 4223: 0x7629, - 4224: 0x762D, - 4225: 0x7632, - 4226: 0x7633, - 4227: 0x7635, - 4228: 0x7638, - 4229: 0x7639, - 4230: 0x763A, - 4231: 0x763C, - 4232: 0x764A, - 4233: 0x7640, - 4234: 0x7641, - 4235: 0x7643, - 4236: 0x7644, - 4237: 0x7645, - 4238: 0x7649, - 4239: 0x764B, - 4240: 0x7655, - 4241: 0x7659, - 4242: 0x765F, - 4243: 0x7664, - 4244: 0x7665, - 4245: 0x766D, - 4246: 0x766E, - 4247: 0x766F, - 4248: 0x7671, - 4249: 0x7674, - 4250: 0x7681, - 4251: 0x7685, - 4252: 0x768C, - 4253: 0x768D, - 4254: 0x7695, - 4255: 0x769B, - 4256: 0x769C, - 4257: 0x769D, - 4258: 0x769F, - 4259: 0x76A0, - 4260: 0x76A2, - 4261: 0x76A3, - 4262: 0x76A4, - 4263: 0x76A5, - 4264: 0x76A6, - 4265: 0x76A7, - 4266: 0x76A8, - 4267: 0x76AA, - 4268: 0x76AD, - 4269: 0x76BD, - 4270: 0x76C1, - 4271: 0x76C5, - 4272: 0x76C9, - 4273: 0x76CB, - 4274: 0x76CC, - 4275: 0x76CE, - 4276: 0x76D4, - 4277: 0x76D9, - 4278: 0x76E0, - 4279: 0x76E6, - 4280: 0x76E8, - 4281: 0x76EC, - 4282: 0x76F0, - 4283: 0x76F1, - 4284: 0x76F6, - 4285: 0x76F9, - 4286: 0x76FC, - 4287: 0x7700, - 4288: 0x7706, - 4289: 0x770A, - 4290: 0x770E, - 4291: 0x7712, - 4292: 0x7714, - 4293: 0x7715, - 4294: 0x7717, - 4295: 0x7719, - 4296: 0x771A, - 4297: 0x771C, - 4298: 0x7722, - 4299: 0x7728, - 4300: 0x772D, - 4301: 0x772E, - 4302: 0x772F, - 4303: 0x7734, - 4304: 0x7735, - 4305: 0x7736, - 4306: 0x7739, - 4307: 0x773D, - 4308: 0x773E, - 4309: 0x7742, - 4310: 0x7745, - 4311: 0x7746, - 4312: 0x774A, - 4313: 0x774D, - 4314: 0x774E, - 4315: 0x774F, - 4316: 0x7752, - 4317: 0x7756, - 4318: 0x7757, - 4319: 0x775C, - 4320: 0x775E, - 4321: 0x775F, - 4322: 0x7760, - 4323: 0x7762, - 4324: 0x7764, - 4325: 0x7767, - 4326: 0x776A, - 4327: 0x776C, - 4328: 0x7770, - 4329: 0x7772, - 4330: 0x7773, - 4331: 0x7774, - 4332: 0x777A, - 4333: 0x777D, - 4334: 0x7780, - 4335: 0x7784, - 4336: 0x778C, - 4337: 0x778D, - 4338: 0x7794, - 4339: 0x7795, - 4340: 0x7796, - 4341: 0x779A, - 4342: 0x779F, - 4343: 0x77A2, - 4344: 0x77A7, - 4345: 0x77AA, - 4346: 0x77AE, - 4347: 0x77AF, - 4348: 0x77B1, - 4349: 0x77B5, - 4350: 0x77BE, - 4351: 0x77C3, - 4352: 0x77C9, - 4353: 0x77D1, - 4354: 0x77D2, - 4355: 0x77D5, - 4356: 0x77D9, - 4357: 0x77DE, - 4358: 0x77DF, - 4359: 0x77E0, - 4360: 0x77E4, - 4361: 0x77E6, - 4362: 0x77EA, - 4363: 0x77EC, - 4364: 0x77F0, - 4365: 0x77F1, - 4366: 0x77F4, - 4367: 0x77F8, - 4368: 0x77FB, - 4369: 0x7805, - 4370: 0x7806, - 4371: 0x7809, - 4372: 0x780D, - 4373: 0x780E, - 4374: 0x7811, - 4375: 0x781D, - 4376: 0x7821, - 4377: 0x7822, - 4378: 0x7823, - 4379: 0x782D, - 4380: 0x782E, - 4381: 0x7830, - 4382: 0x7835, - 4383: 0x7837, - 4384: 0x7843, - 4385: 0x7844, - 4386: 0x7847, - 4387: 0x7848, - 4388: 0x784C, - 4389: 0x784E, - 4390: 0x7852, - 4391: 0x785C, - 4392: 0x785E, - 4393: 0x7860, - 4394: 0x7861, - 4395: 0x7863, - 4396: 0x7864, - 4397: 0x7868, - 4398: 0x786A, - 4399: 0x786E, - 4400: 0x787A, - 4401: 0x787E, - 4402: 0x788A, - 4403: 0x788F, - 4404: 0x7894, - 4405: 0x7898, - 4406: 0x78A1, - 4407: 0x789D, - 4408: 0x789E, - 4409: 0x789F, - 4410: 0x78A4, - 4411: 0x78A8, - 4412: 0x78AC, - 4413: 0x78AD, - 4414: 0x78B0, - 4415: 0x78B1, - 4416: 0x78B2, - 4417: 0x78B3, - 4418: 0x78BB, - 4419: 0x78BD, - 4420: 0x78BF, - 4421: 0x78C7, - 4422: 0x78C8, - 4423: 0x78C9, - 4424: 0x78CC, - 4425: 0x78CE, - 4426: 0x78D2, - 4427: 0x78D3, - 4428: 0x78D5, - 4429: 0x78D6, - 4430: 0x78E4, - 4431: 0x78DB, - 4432: 0x78DF, - 4433: 0x78E0, - 4434: 0x78E1, - 4435: 0x78E6, - 4436: 0x78EA, - 4437: 0x78F2, - 4438: 0x78F3, - 4439: 0x7900, - 4440: 0x78F6, - 4441: 0x78F7, - 4442: 0x78FA, - 4443: 0x78FB, - 4444: 0x78FF, - 4445: 0x7906, - 4446: 0x790C, - 4447: 0x7910, - 4448: 0x791A, - 4449: 0x791C, - 4450: 0x791E, - 4451: 0x791F, - 4452: 0x7920, - 4453: 0x7925, - 4454: 0x7927, - 4455: 0x7929, - 4456: 0x792D, - 4457: 0x7931, - 4458: 0x7934, - 4459: 0x7935, - 4460: 0x793B, - 4461: 0x793D, - 4462: 0x793F, - 4463: 0x7944, - 4464: 0x7945, - 4465: 0x7946, - 4466: 0x794A, - 4467: 0x794B, - 4468: 0x794F, - 4469: 0x7951, - 4470: 0x7954, - 4471: 0x7958, - 4472: 0x795B, - 4473: 0x795C, - 4474: 0x7967, - 4475: 0x7969, - 4476: 0x796B, - 4477: 0x7972, - 4478: 0x7979, - 4479: 0x797B, - 4480: 0x797C, - 4481: 0x797E, - 4482: 0x798B, - 4483: 0x798C, - 4484: 0x7991, - 4485: 0x7993, - 4486: 0x7994, - 4487: 0x7995, - 4488: 0x7996, - 4489: 0x7998, - 4490: 0x799B, - 4491: 0x799C, - 4492: 0x79A1, - 4493: 0x79A8, - 4494: 0x79A9, - 4495: 0x79AB, - 4496: 0x79AF, - 4497: 0x79B1, - 4498: 0x79B4, - 4499: 0x79B8, - 4500: 0x79BB, - 4501: 0x79C2, - 4502: 0x79C4, - 4503: 0x79C7, - 4504: 0x79C8, - 4505: 0x79CA, - 4506: 0x79CF, - 4507: 0x79D4, - 4508: 0x79D6, - 4509: 0x79DA, - 4510: 0x79DD, - 4511: 0x79DE, - 4512: 0x79E0, - 4513: 0x79E2, - 4514: 0x79E5, - 4515: 0x79EA, - 4516: 0x79EB, - 4517: 0x79ED, - 4518: 0x79F1, - 4519: 0x79F8, - 4520: 0x79FC, - 4521: 0x7A02, - 4522: 0x7A03, - 4523: 0x7A07, - 4524: 0x7A09, - 4525: 0x7A0A, - 4526: 0x7A0C, - 4527: 0x7A11, - 4528: 0x7A15, - 4529: 0x7A1B, - 4530: 0x7A1E, - 4531: 0x7A21, - 4532: 0x7A27, - 4533: 0x7A2B, - 4534: 0x7A2D, - 4535: 0x7A2F, - 4536: 0x7A30, - 4537: 0x7A34, - 4538: 0x7A35, - 4539: 0x7A38, - 4540: 0x7A39, - 4541: 0x7A3A, - 4542: 0x7A44, - 4543: 0x7A45, - 4544: 0x7A47, - 4545: 0x7A48, - 4546: 0x7A4C, - 4547: 0x7A55, - 4548: 0x7A56, - 4549: 0x7A59, - 4550: 0x7A5C, - 4551: 0x7A5D, - 4552: 0x7A5F, - 4553: 0x7A60, - 4554: 0x7A65, - 4555: 0x7A67, - 4556: 0x7A6A, - 4557: 0x7A6D, - 4558: 0x7A75, - 4559: 0x7A78, - 4560: 0x7A7E, - 4561: 0x7A80, - 4562: 0x7A82, - 4563: 0x7A85, - 4564: 0x7A86, - 4565: 0x7A8A, - 4566: 0x7A8B, - 4567: 0x7A90, - 4568: 0x7A91, - 4569: 0x7A94, - 4570: 0x7A9E, - 4571: 0x7AA0, - 4572: 0x7AA3, - 4573: 0x7AAC, - 4574: 0x7AB3, - 4575: 0x7AB5, - 4576: 0x7AB9, - 4577: 0x7ABB, - 4578: 0x7ABC, - 4579: 0x7AC6, - 4580: 0x7AC9, - 4581: 0x7ACC, - 4582: 0x7ACE, - 4583: 0x7AD1, - 4584: 0x7ADB, - 4585: 0x7AE8, - 4586: 0x7AE9, - 4587: 0x7AEB, - 4588: 0x7AEC, - 4589: 0x7AF1, - 4590: 0x7AF4, - 4591: 0x7AFB, - 4592: 0x7AFD, - 4593: 0x7AFE, - 4594: 0x7B07, - 4595: 0x7B14, - 4596: 0x7B1F, - 4597: 0x7B23, - 4598: 0x7B27, - 4599: 0x7B29, - 4600: 0x7B2A, - 4601: 0x7B2B, - 4602: 0x7B2D, - 4603: 0x7B2E, - 4604: 0x7B2F, - 4605: 0x7B30, - 4606: 0x7B31, - 4607: 0x7B34, - 4608: 0x7B3D, - 4609: 0x7B3F, - 4610: 0x7B40, - 4611: 0x7B41, - 4612: 0x7B47, - 4613: 0x7B4E, - 4614: 0x7B55, - 4615: 0x7B60, - 4616: 0x7B64, - 4617: 0x7B66, - 4618: 0x7B69, - 4619: 0x7B6A, - 4620: 0x7B6D, - 4621: 0x7B6F, - 4622: 0x7B72, - 4623: 0x7B73, - 4624: 0x7B77, - 4625: 0x7B84, - 4626: 0x7B89, - 4627: 0x7B8E, - 4628: 0x7B90, - 4629: 0x7B91, - 4630: 0x7B96, - 4631: 0x7B9B, - 4632: 0x7B9E, - 4633: 0x7BA0, - 4634: 0x7BA5, - 4635: 0x7BAC, - 4636: 0x7BAF, - 4637: 0x7BB0, - 4638: 0x7BB2, - 4639: 0x7BB5, - 4640: 0x7BB6, - 4641: 0x7BBA, - 4642: 0x7BBB, - 4643: 0x7BBC, - 4644: 0x7BBD, - 4645: 0x7BC2, - 4646: 0x7BC5, - 4647: 0x7BC8, - 4648: 0x7BCA, - 4649: 0x7BD4, - 4650: 0x7BD6, - 4651: 0x7BD7, - 4652: 0x7BD9, - 4653: 0x7BDA, - 4654: 0x7BDB, - 4655: 0x7BE8, - 4656: 0x7BEA, - 4657: 0x7BF2, - 4658: 0x7BF4, - 4659: 0x7BF5, - 4660: 0x7BF8, - 4661: 0x7BF9, - 4662: 0x7BFA, - 4663: 0x7BFC, - 4664: 0x7BFE, - 4665: 0x7C01, - 4666: 0x7C02, - 4667: 0x7C03, - 4668: 0x7C04, - 4669: 0x7C06, - 4670: 0x7C09, - 4671: 0x7C0B, - 4672: 0x7C0C, - 4673: 0x7C0E, - 4674: 0x7C0F, - 4675: 0x7C19, - 4676: 0x7C1B, - 4677: 0x7C20, - 4678: 0x7C25, - 4679: 0x7C26, - 4680: 0x7C28, - 4681: 0x7C2C, - 4682: 0x7C31, - 4683: 0x7C33, - 4684: 0x7C34, - 4685: 0x7C36, - 4686: 0x7C39, - 4687: 0x7C3A, - 4688: 0x7C46, - 4689: 0x7C4A, - 4690: 0x7C55, - 4691: 0x7C51, - 4692: 0x7C52, - 4693: 0x7C53, - 4694: 0x7C59, - 4695: 0x7C5A, - 4696: 0x7C5B, - 4697: 0x7C5C, - 4698: 0x7C5D, - 4699: 0x7C5E, - 4700: 0x7C61, - 4701: 0x7C63, - 4702: 0x7C67, - 4703: 0x7C69, - 4704: 0x7C6D, - 4705: 0x7C6E, - 4706: 0x7C70, - 4707: 0x7C72, - 4708: 0x7C79, - 4709: 0x7C7C, - 4710: 0x7C7D, - 4711: 0x7C86, - 4712: 0x7C87, - 4713: 0x7C8F, - 4714: 0x7C94, - 4715: 0x7C9E, - 4716: 0x7CA0, - 4717: 0x7CA6, - 4718: 0x7CB0, - 4719: 0x7CB6, - 4720: 0x7CB7, - 4721: 0x7CBA, - 4722: 0x7CBB, - 4723: 0x7CBC, - 4724: 0x7CBF, - 4725: 0x7CC4, - 4726: 0x7CC7, - 4727: 0x7CC8, - 4728: 0x7CC9, - 4729: 0x7CCD, - 4730: 0x7CCF, - 4731: 0x7CD3, - 4732: 0x7CD4, - 4733: 0x7CD5, - 4734: 0x7CD7, - 4735: 0x7CD9, - 4736: 0x7CDA, - 4737: 0x7CDD, - 4738: 0x7CE6, - 4739: 0x7CE9, - 4740: 0x7CEB, - 4741: 0x7CF5, - 4742: 0x7D03, - 4743: 0x7D07, - 4744: 0x7D08, - 4745: 0x7D09, - 4746: 0x7D0F, - 4747: 0x7D11, - 4748: 0x7D12, - 4749: 0x7D13, - 4750: 0x7D16, - 4751: 0x7D1D, - 4752: 0x7D1E, - 4753: 0x7D23, - 4754: 0x7D26, - 4755: 0x7D2A, - 4756: 0x7D2D, - 4757: 0x7D31, - 4758: 0x7D3C, - 4759: 0x7D3D, - 4760: 0x7D3E, - 4761: 0x7D40, - 4762: 0x7D41, - 4763: 0x7D47, - 4764: 0x7D48, - 4765: 0x7D4D, - 4766: 0x7D51, - 4767: 0x7D53, - 4768: 0x7D57, - 4769: 0x7D59, - 4770: 0x7D5A, - 4771: 0x7D5C, - 4772: 0x7D5D, - 4773: 0x7D65, - 4774: 0x7D67, - 4775: 0x7D6A, - 4776: 0x7D70, - 4777: 0x7D78, - 4778: 0x7D7A, - 4779: 0x7D7B, - 4780: 0x7D7F, - 4781: 0x7D81, - 4782: 0x7D82, - 4783: 0x7D83, - 4784: 0x7D85, - 4785: 0x7D86, - 4786: 0x7D88, - 4787: 0x7D8B, - 4788: 0x7D8C, - 4789: 0x7D8D, - 4790: 0x7D91, - 4791: 0x7D96, - 4792: 0x7D97, - 4793: 0x7D9D, - 4794: 0x7D9E, - 4795: 0x7DA6, - 4796: 0x7DA7, - 4797: 0x7DAA, - 4798: 0x7DB3, - 4799: 0x7DB6, - 4800: 0x7DB7, - 4801: 0x7DB9, - 4802: 0x7DC2, - 4803: 0x7DC3, - 4804: 0x7DC4, - 4805: 0x7DC5, - 4806: 0x7DC6, - 4807: 0x7DCC, - 4808: 0x7DCD, - 4809: 0x7DCE, - 4810: 0x7DD7, - 4811: 0x7DD9, - 4812: 0x7E00, - 4813: 0x7DE2, - 4814: 0x7DE5, - 4815: 0x7DE6, - 4816: 0x7DEA, - 4817: 0x7DEB, - 4818: 0x7DED, - 4819: 0x7DF1, - 4820: 0x7DF5, - 4821: 0x7DF6, - 4822: 0x7DF9, - 4823: 0x7DFA, - 4824: 0x7E08, - 4825: 0x7E10, - 4826: 0x7E11, - 4827: 0x7E15, - 4828: 0x7E17, - 4829: 0x7E1C, - 4830: 0x7E1D, - 4831: 0x7E20, - 4832: 0x7E27, - 4833: 0x7E28, - 4834: 0x7E2C, - 4835: 0x7E2D, - 4836: 0x7E2F, - 4837: 0x7E33, - 4838: 0x7E36, - 4839: 0x7E3F, - 4840: 0x7E44, - 4841: 0x7E45, - 4842: 0x7E47, - 4843: 0x7E4E, - 4844: 0x7E50, - 4845: 0x7E52, - 4846: 0x7E58, - 4847: 0x7E5F, - 4848: 0x7E61, - 4849: 0x7E62, - 4850: 0x7E65, - 4851: 0x7E6B, - 4852: 0x7E6E, - 4853: 0x7E6F, - 4854: 0x7E73, - 4855: 0x7E78, - 4856: 0x7E7E, - 4857: 0x7E81, - 4858: 0x7E86, - 4859: 0x7E87, - 4860: 0x7E8A, - 4861: 0x7E8D, - 4862: 0x7E91, - 4863: 0x7E95, - 4864: 0x7E98, - 4865: 0x7E9A, - 4866: 0x7E9D, - 4867: 0x7E9E, - 4868: 0x7F3C, - 4869: 0x7F3B, - 4870: 0x7F3D, - 4871: 0x7F3E, - 4872: 0x7F3F, - 4873: 0x7F43, - 4874: 0x7F44, - 4875: 0x7F47, - 4876: 0x7F4F, - 4877: 0x7F52, - 4878: 0x7F53, - 4879: 0x7F5B, - 4880: 0x7F5C, - 4881: 0x7F5D, - 4882: 0x7F61, - 4883: 0x7F63, - 4884: 0x7F64, - 4885: 0x7F65, - 4886: 0x7F66, - 4887: 0x7F6D, - 4888: 0x7F71, - 4889: 0x7F7D, - 4890: 0x7F7E, - 4891: 0x7F7F, - 4892: 0x7F80, - 4893: 0x7F8B, - 4894: 0x7F8D, - 4895: 0x7F8F, - 4896: 0x7F90, - 4897: 0x7F91, - 4898: 0x7F96, - 4899: 0x7F97, - 4900: 0x7F9C, - 4901: 0x7FA1, - 4902: 0x7FA2, - 4903: 0x7FA6, - 4904: 0x7FAA, - 4905: 0x7FAD, - 4906: 0x7FB4, - 4907: 0x7FBC, - 4908: 0x7FBF, - 4909: 0x7FC0, - 4910: 0x7FC3, - 4911: 0x7FC8, - 4912: 0x7FCE, - 4913: 0x7FCF, - 4914: 0x7FDB, - 4915: 0x7FDF, - 4916: 0x7FE3, - 4917: 0x7FE5, - 4918: 0x7FE8, - 4919: 0x7FEC, - 4920: 0x7FEE, - 4921: 0x7FEF, - 4922: 0x7FF2, - 4923: 0x7FFA, - 4924: 0x7FFD, - 4925: 0x7FFE, - 4926: 0x7FFF, - 4927: 0x8007, - 4928: 0x8008, - 4929: 0x800A, - 4930: 0x800D, - 4931: 0x800E, - 4932: 0x800F, - 4933: 0x8011, - 4934: 0x8013, - 4935: 0x8014, - 4936: 0x8016, - 4937: 0x801D, - 4938: 0x801E, - 4939: 0x801F, - 4940: 0x8020, - 4941: 0x8024, - 4942: 0x8026, - 4943: 0x802C, - 4944: 0x802E, - 4945: 0x8030, - 4946: 0x8034, - 4947: 0x8035, - 4948: 0x8037, - 4949: 0x8039, - 4950: 0x803A, - 4951: 0x803C, - 4952: 0x803E, - 4953: 0x8040, - 4954: 0x8044, - 4955: 0x8060, - 4956: 0x8064, - 4957: 0x8066, - 4958: 0x806D, - 4959: 0x8071, - 4960: 0x8075, - 4961: 0x8081, - 4962: 0x8088, - 4963: 0x808E, - 4964: 0x809C, - 4965: 0x809E, - 4966: 0x80A6, - 4967: 0x80A7, - 4968: 0x80AB, - 4969: 0x80B8, - 4970: 0x80B9, - 4971: 0x80C8, - 4972: 0x80CD, - 4973: 0x80CF, - 4974: 0x80D2, - 4975: 0x80D4, - 4976: 0x80D5, - 4977: 0x80D7, - 4978: 0x80D8, - 4979: 0x80E0, - 4980: 0x80ED, - 4981: 0x80EE, - 4982: 0x80F0, - 4983: 0x80F2, - 4984: 0x80F3, - 4985: 0x80F6, - 4986: 0x80F9, - 4987: 0x80FA, - 4988: 0x80FE, - 4989: 0x8103, - 4990: 0x810B, - 4991: 0x8116, - 4992: 0x8117, - 4993: 0x8118, - 4994: 0x811C, - 4995: 0x811E, - 4996: 0x8120, - 4997: 0x8124, - 4998: 0x8127, - 4999: 0x812C, - 5000: 0x8130, - 5001: 0x8135, - 5002: 0x813A, - 5003: 0x813C, - 5004: 0x8145, - 5005: 0x8147, - 5006: 0x814A, - 5007: 0x814C, - 5008: 0x8152, - 5009: 0x8157, - 5010: 0x8160, - 5011: 0x8161, - 5012: 0x8167, - 5013: 0x8168, - 5014: 0x8169, - 5015: 0x816D, - 5016: 0x816F, - 5017: 0x8177, - 5018: 0x8181, - 5019: 0x8190, - 5020: 0x8184, - 5021: 0x8185, - 5022: 0x8186, - 5023: 0x818B, - 5024: 0x818E, - 5025: 0x8196, - 5026: 0x8198, - 5027: 0x819B, - 5028: 0x819E, - 5029: 0x81A2, - 5030: 0x81AE, - 5031: 0x81B2, - 5032: 0x81B4, - 5033: 0x81BB, - 5034: 0x81CB, - 5035: 0x81C3, - 5036: 0x81C5, - 5037: 0x81CA, - 5038: 0x81CE, - 5039: 0x81CF, - 5040: 0x81D5, - 5041: 0x81D7, - 5042: 0x81DB, - 5043: 0x81DD, - 5044: 0x81DE, - 5045: 0x81E1, - 5046: 0x81E4, - 5047: 0x81EB, - 5048: 0x81EC, - 5049: 0x81F0, - 5050: 0x81F1, - 5051: 0x81F2, - 5052: 0x81F5, - 5053: 0x81F6, - 5054: 0x81F8, - 5055: 0x81F9, - 5056: 0x81FD, - 5057: 0x81FF, - 5058: 0x8200, - 5059: 0x8203, - 5060: 0x820F, - 5061: 0x8213, - 5062: 0x8214, - 5063: 0x8219, - 5064: 0x821A, - 5065: 0x821D, - 5066: 0x8221, - 5067: 0x8222, - 5068: 0x8228, - 5069: 0x8232, - 5070: 0x8234, - 5071: 0x823A, - 5072: 0x8243, - 5073: 0x8244, - 5074: 0x8245, - 5075: 0x8246, - 5076: 0x824B, - 5077: 0x824E, - 5078: 0x824F, - 5079: 0x8251, - 5080: 0x8256, - 5081: 0x825C, - 5082: 0x8260, - 5083: 0x8263, - 5084: 0x8267, - 5085: 0x826D, - 5086: 0x8274, - 5087: 0x827B, - 5088: 0x827D, - 5089: 0x827F, - 5090: 0x8280, - 5091: 0x8281, - 5092: 0x8283, - 5093: 0x8284, - 5094: 0x8287, - 5095: 0x8289, - 5096: 0x828A, - 5097: 0x828E, - 5098: 0x8291, - 5099: 0x8294, - 5100: 0x8296, - 5101: 0x8298, - 5102: 0x829A, - 5103: 0x829B, - 5104: 0x82A0, - 5105: 0x82A1, - 5106: 0x82A3, - 5107: 0x82A4, - 5108: 0x82A7, - 5109: 0x82A8, - 5110: 0x82A9, - 5111: 0x82AA, - 5112: 0x82AE, - 5113: 0x82B0, - 5114: 0x82B2, - 5115: 0x82B4, - 5116: 0x82B7, - 5117: 0x82BA, - 5118: 0x82BC, - 5119: 0x82BE, - 5120: 0x82BF, - 5121: 0x82C6, - 5122: 0x82D0, - 5123: 0x82D5, - 5124: 0x82DA, - 5125: 0x82E0, - 5126: 0x82E2, - 5127: 0x82E4, - 5128: 0x82E8, - 5129: 0x82EA, - 5130: 0x82ED, - 5131: 0x82EF, - 5132: 0x82F6, - 5133: 0x82F7, - 5134: 0x82FD, - 5135: 0x82FE, - 5136: 0x8300, - 5137: 0x8301, - 5138: 0x8307, - 5139: 0x8308, - 5140: 0x830A, - 5141: 0x830B, - 5142: 0x8354, - 5143: 0x831B, - 5144: 0x831D, - 5145: 0x831E, - 5146: 0x831F, - 5147: 0x8321, - 5148: 0x8322, - 5149: 0x832C, - 5150: 0x832D, - 5151: 0x832E, - 5152: 0x8330, - 5153: 0x8333, - 5154: 0x8337, - 5155: 0x833A, - 5156: 0x833C, - 5157: 0x833D, - 5158: 0x8342, - 5159: 0x8343, - 5160: 0x8344, - 5161: 0x8347, - 5162: 0x834D, - 5163: 0x834E, - 5164: 0x8351, - 5165: 0x8355, - 5166: 0x8356, - 5167: 0x8357, - 5168: 0x8370, - 5169: 0x8378, - 5170: 0x837D, - 5171: 0x837F, - 5172: 0x8380, - 5173: 0x8382, - 5174: 0x8384, - 5175: 0x8386, - 5176: 0x838D, - 5177: 0x8392, - 5178: 0x8394, - 5179: 0x8395, - 5180: 0x8398, - 5181: 0x8399, - 5182: 0x839B, - 5183: 0x839C, - 5184: 0x839D, - 5185: 0x83A6, - 5186: 0x83A7, - 5187: 0x83A9, - 5188: 0x83AC, - 5189: 0x83BE, - 5190: 0x83BF, - 5191: 0x83C0, - 5192: 0x83C7, - 5193: 0x83C9, - 5194: 0x83CF, - 5195: 0x83D0, - 5196: 0x83D1, - 5197: 0x83D4, - 5198: 0x83DD, - 5199: 0x8353, - 5200: 0x83E8, - 5201: 0x83EA, - 5202: 0x83F6, - 5203: 0x83F8, - 5204: 0x83F9, - 5205: 0x83FC, - 5206: 0x8401, - 5207: 0x8406, - 5208: 0x840A, - 5209: 0x840F, - 5210: 0x8411, - 5211: 0x8415, - 5212: 0x8419, - 5213: 0x83AD, - 5214: 0x842F, - 5215: 0x8439, - 5216: 0x8445, - 5217: 0x8447, - 5218: 0x8448, - 5219: 0x844A, - 5220: 0x844D, - 5221: 0x844F, - 5222: 0x8451, - 5223: 0x8452, - 5224: 0x8456, - 5225: 0x8458, - 5226: 0x8459, - 5227: 0x845A, - 5228: 0x845C, - 5229: 0x8460, - 5230: 0x8464, - 5231: 0x8465, - 5232: 0x8467, - 5233: 0x846A, - 5234: 0x8470, - 5235: 0x8473, - 5236: 0x8474, - 5237: 0x8476, - 5238: 0x8478, - 5239: 0x847C, - 5240: 0x847D, - 5241: 0x8481, - 5242: 0x8485, - 5243: 0x8492, - 5244: 0x8493, - 5245: 0x8495, - 5246: 0x849E, - 5247: 0x84A6, - 5248: 0x84A8, - 5249: 0x84A9, - 5250: 0x84AA, - 5251: 0x84AF, - 5252: 0x84B1, - 5253: 0x84B4, - 5254: 0x84BA, - 5255: 0x84BD, - 5256: 0x84BE, - 5257: 0x84C0, - 5258: 0x84C2, - 5259: 0x84C7, - 5260: 0x84C8, - 5261: 0x84CC, - 5262: 0x84CF, - 5263: 0x84D3, - 5264: 0x84DC, - 5265: 0x84E7, - 5266: 0x84EA, - 5267: 0x84EF, - 5268: 0x84F0, - 5269: 0x84F1, - 5270: 0x84F2, - 5271: 0x84F7, - 5272: 0x8532, - 5273: 0x84FA, - 5274: 0x84FB, - 5275: 0x84FD, - 5276: 0x8502, - 5277: 0x8503, - 5278: 0x8507, - 5279: 0x850C, - 5280: 0x850E, - 5281: 0x8510, - 5282: 0x851C, - 5283: 0x851E, - 5284: 0x8522, - 5285: 0x8523, - 5286: 0x8524, - 5287: 0x8525, - 5288: 0x8527, - 5289: 0x852A, - 5290: 0x852B, - 5291: 0x852F, - 5292: 0x8533, - 5293: 0x8534, - 5294: 0x8536, - 5295: 0x853F, - 5296: 0x8546, - 5297: 0x854F, - 5298: 0x8550, - 5299: 0x8551, - 5300: 0x8552, - 5301: 0x8553, - 5302: 0x8556, - 5303: 0x8559, - 5304: 0x855C, - 5305: 0x855D, - 5306: 0x855E, - 5307: 0x855F, - 5308: 0x8560, - 5309: 0x8561, - 5310: 0x8562, - 5311: 0x8564, - 5312: 0x856B, - 5313: 0x856F, - 5314: 0x8579, - 5315: 0x857A, - 5316: 0x857B, - 5317: 0x857D, - 5318: 0x857F, - 5319: 0x8581, - 5320: 0x8585, - 5321: 0x8586, - 5322: 0x8589, - 5323: 0x858B, - 5324: 0x858C, - 5325: 0x858F, - 5326: 0x8593, - 5327: 0x8598, - 5328: 0x859D, - 5329: 0x859F, - 5330: 0x85A0, - 5331: 0x85A2, - 5332: 0x85A5, - 5333: 0x85A7, - 5334: 0x85B4, - 5335: 0x85B6, - 5336: 0x85B7, - 5337: 0x85B8, - 5338: 0x85BC, - 5339: 0x85BD, - 5340: 0x85BE, - 5341: 0x85BF, - 5342: 0x85C2, - 5343: 0x85C7, - 5344: 0x85CA, - 5345: 0x85CB, - 5346: 0x85CE, - 5347: 0x85AD, - 5348: 0x85D8, - 5349: 0x85DA, - 5350: 0x85DF, - 5351: 0x85E0, - 5352: 0x85E6, - 5353: 0x85E8, - 5354: 0x85ED, - 5355: 0x85F3, - 5356: 0x85F6, - 5357: 0x85FC, - 5358: 0x85FF, - 5359: 0x8600, - 5360: 0x8604, - 5361: 0x8605, - 5362: 0x860D, - 5363: 0x860E, - 5364: 0x8610, - 5365: 0x8611, - 5366: 0x8612, - 5367: 0x8618, - 5368: 0x8619, - 5369: 0x861B, - 5370: 0x861E, - 5371: 0x8621, - 5372: 0x8627, - 5373: 0x8629, - 5374: 0x8636, - 5375: 0x8638, - 5376: 0x863A, - 5377: 0x863C, - 5378: 0x863D, - 5379: 0x8640, - 5380: 0x8642, - 5381: 0x8646, - 5382: 0x8652, - 5383: 0x8653, - 5384: 0x8656, - 5385: 0x8657, - 5386: 0x8658, - 5387: 0x8659, - 5388: 0x865D, - 5389: 0x8660, - 5390: 0x8661, - 5391: 0x8662, - 5392: 0x8663, - 5393: 0x8664, - 5394: 0x8669, - 5395: 0x866C, - 5396: 0x866F, - 5397: 0x8675, - 5398: 0x8676, - 5399: 0x8677, - 5400: 0x867A, - 5401: 0x868D, - 5402: 0x8691, - 5403: 0x8696, - 5404: 0x8698, - 5405: 0x869A, - 5406: 0x869C, - 5407: 0x86A1, - 5408: 0x86A6, - 5409: 0x86A7, - 5410: 0x86A8, - 5411: 0x86AD, - 5412: 0x86B1, - 5413: 0x86B3, - 5414: 0x86B4, - 5415: 0x86B5, - 5416: 0x86B7, - 5417: 0x86B8, - 5418: 0x86B9, - 5419: 0x86BF, - 5420: 0x86C0, - 5421: 0x86C1, - 5422: 0x86C3, - 5423: 0x86C5, - 5424: 0x86D1, - 5425: 0x86D2, - 5426: 0x86D5, - 5427: 0x86D7, - 5428: 0x86DA, - 5429: 0x86DC, - 5430: 0x86E0, - 5431: 0x86E3, - 5432: 0x86E5, - 5433: 0x86E7, - 5434: 0x8688, - 5435: 0x86FA, - 5436: 0x86FC, - 5437: 0x86FD, - 5438: 0x8704, - 5439: 0x8705, - 5440: 0x8707, - 5441: 0x870B, - 5442: 0x870E, - 5443: 0x870F, - 5444: 0x8710, - 5445: 0x8713, - 5446: 0x8714, - 5447: 0x8719, - 5448: 0x871E, - 5449: 0x871F, - 5450: 0x8721, - 5451: 0x8723, - 5452: 0x8728, - 5453: 0x872E, - 5454: 0x872F, - 5455: 0x8731, - 5456: 0x8732, - 5457: 0x8739, - 5458: 0x873A, - 5459: 0x873C, - 5460: 0x873D, - 5461: 0x873E, - 5462: 0x8740, - 5463: 0x8743, - 5464: 0x8745, - 5465: 0x874D, - 5466: 0x8758, - 5467: 0x875D, - 5468: 0x8761, - 5469: 0x8764, - 5470: 0x8765, - 5471: 0x876F, - 5472: 0x8771, - 5473: 0x8772, - 5474: 0x877B, - 5475: 0x8783, - 5476: 0x8784, - 5477: 0x8785, - 5478: 0x8786, - 5479: 0x8787, - 5480: 0x8788, - 5481: 0x8789, - 5482: 0x878B, - 5483: 0x878C, - 5484: 0x8790, - 5485: 0x8793, - 5486: 0x8795, - 5487: 0x8797, - 5488: 0x8798, - 5489: 0x8799, - 5490: 0x879E, - 5491: 0x87A0, - 5492: 0x87A3, - 5493: 0x87A7, - 5494: 0x87AC, - 5495: 0x87AD, - 5496: 0x87AE, - 5497: 0x87B1, - 5498: 0x87B5, - 5499: 0x87BE, - 5500: 0x87BF, - 5501: 0x87C1, - 5502: 0x87C8, - 5503: 0x87C9, - 5504: 0x87CA, - 5505: 0x87CE, - 5506: 0x87D5, - 5507: 0x87D6, - 5508: 0x87D9, - 5509: 0x87DA, - 5510: 0x87DC, - 5511: 0x87DF, - 5512: 0x87E2, - 5513: 0x87E3, - 5514: 0x87E4, - 5515: 0x87EA, - 5516: 0x87EB, - 5517: 0x87ED, - 5518: 0x87F1, - 5519: 0x87F3, - 5520: 0x87F8, - 5521: 0x87FA, - 5522: 0x87FF, - 5523: 0x8801, - 5524: 0x8803, - 5525: 0x8806, - 5526: 0x8809, - 5527: 0x880A, - 5528: 0x880B, - 5529: 0x8810, - 5530: 0x8819, - 5531: 0x8812, - 5532: 0x8813, - 5533: 0x8814, - 5534: 0x8818, - 5535: 0x881A, - 5536: 0x881B, - 5537: 0x881C, - 5538: 0x881E, - 5539: 0x881F, - 5540: 0x8828, - 5541: 0x882D, - 5542: 0x882E, - 5543: 0x8830, - 5544: 0x8832, - 5545: 0x8835, - 5546: 0x883A, - 5547: 0x883C, - 5548: 0x8841, - 5549: 0x8843, - 5550: 0x8845, - 5551: 0x8848, - 5552: 0x8849, - 5553: 0x884A, - 5554: 0x884B, - 5555: 0x884E, - 5556: 0x8851, - 5557: 0x8855, - 5558: 0x8856, - 5559: 0x8858, - 5560: 0x885A, - 5561: 0x885C, - 5562: 0x885F, - 5563: 0x8860, - 5564: 0x8864, - 5565: 0x8869, - 5566: 0x8871, - 5567: 0x8879, - 5568: 0x887B, - 5569: 0x8880, - 5570: 0x8898, - 5571: 0x889A, - 5572: 0x889B, - 5573: 0x889C, - 5574: 0x889F, - 5575: 0x88A0, - 5576: 0x88A8, - 5577: 0x88AA, - 5578: 0x88BA, - 5579: 0x88BD, - 5580: 0x88BE, - 5581: 0x88C0, - 5582: 0x88CA, - 5583: 0x88CB, - 5584: 0x88CC, - 5585: 0x88CD, - 5586: 0x88CE, - 5587: 0x88D1, - 5588: 0x88D2, - 5589: 0x88D3, - 5590: 0x88DB, - 5591: 0x88DE, - 5592: 0x88E7, - 5593: 0x88EF, - 5594: 0x88F0, - 5595: 0x88F1, - 5596: 0x88F5, - 5597: 0x88F7, - 5598: 0x8901, - 5599: 0x8906, - 5600: 0x890D, - 5601: 0x890E, - 5602: 0x890F, - 5603: 0x8915, - 5604: 0x8916, - 5605: 0x8918, - 5606: 0x8919, - 5607: 0x891A, - 5608: 0x891C, - 5609: 0x8920, - 5610: 0x8926, - 5611: 0x8927, - 5612: 0x8928, - 5613: 0x8930, - 5614: 0x8931, - 5615: 0x8932, - 5616: 0x8935, - 5617: 0x8939, - 5618: 0x893A, - 5619: 0x893E, - 5620: 0x8940, - 5621: 0x8942, - 5622: 0x8945, - 5623: 0x8946, - 5624: 0x8949, - 5625: 0x894F, - 5626: 0x8952, - 5627: 0x8957, - 5628: 0x895A, - 5629: 0x895B, - 5630: 0x895C, - 5631: 0x8961, - 5632: 0x8962, - 5633: 0x8963, - 5634: 0x896B, - 5635: 0x896E, - 5636: 0x8970, - 5637: 0x8973, - 5638: 0x8975, - 5639: 0x897A, - 5640: 0x897B, - 5641: 0x897C, - 5642: 0x897D, - 5643: 0x8989, - 5644: 0x898D, - 5645: 0x8990, - 5646: 0x8994, - 5647: 0x8995, - 5648: 0x899B, - 5649: 0x899C, - 5650: 0x899F, - 5651: 0x89A0, - 5652: 0x89A5, - 5653: 0x89B0, - 5654: 0x89B4, - 5655: 0x89B5, - 5656: 0x89B6, - 5657: 0x89B7, - 5658: 0x89BC, - 5659: 0x89D4, - 5660: 0x89D5, - 5661: 0x89D6, - 5662: 0x89D7, - 5663: 0x89D8, - 5664: 0x89E5, - 5665: 0x89E9, - 5666: 0x89EB, - 5667: 0x89ED, - 5668: 0x89F1, - 5669: 0x89F3, - 5670: 0x89F6, - 5671: 0x89F9, - 5672: 0x89FD, - 5673: 0x89FF, - 5674: 0x8A04, - 5675: 0x8A05, - 5676: 0x8A07, - 5677: 0x8A0F, - 5678: 0x8A11, - 5679: 0x8A12, - 5680: 0x8A14, - 5681: 0x8A15, - 5682: 0x8A1E, - 5683: 0x8A20, - 5684: 0x8A22, - 5685: 0x8A24, - 5686: 0x8A26, - 5687: 0x8A2B, - 5688: 0x8A2C, - 5689: 0x8A2F, - 5690: 0x8A35, - 5691: 0x8A37, - 5692: 0x8A3D, - 5693: 0x8A3E, - 5694: 0x8A40, - 5695: 0x8A43, - 5696: 0x8A45, - 5697: 0x8A47, - 5698: 0x8A49, - 5699: 0x8A4D, - 5700: 0x8A4E, - 5701: 0x8A53, - 5702: 0x8A56, - 5703: 0x8A57, - 5704: 0x8A58, - 5705: 0x8A5C, - 5706: 0x8A5D, - 5707: 0x8A61, - 5708: 0x8A65, - 5709: 0x8A67, - 5710: 0x8A75, - 5711: 0x8A76, - 5712: 0x8A77, - 5713: 0x8A79, - 5714: 0x8A7A, - 5715: 0x8A7B, - 5716: 0x8A7E, - 5717: 0x8A7F, - 5718: 0x8A80, - 5719: 0x8A83, - 5720: 0x8A86, - 5721: 0x8A8B, - 5722: 0x8A8F, - 5723: 0x8A90, - 5724: 0x8A92, - 5725: 0x8A96, - 5726: 0x8A97, - 5727: 0x8A99, - 5728: 0x8A9F, - 5729: 0x8AA7, - 5730: 0x8AA9, - 5731: 0x8AAE, - 5732: 0x8AAF, - 5733: 0x8AB3, - 5734: 0x8AB6, - 5735: 0x8AB7, - 5736: 0x8ABB, - 5737: 0x8ABE, - 5738: 0x8AC3, - 5739: 0x8AC6, - 5740: 0x8AC8, - 5741: 0x8AC9, - 5742: 0x8ACA, - 5743: 0x8AD1, - 5744: 0x8AD3, - 5745: 0x8AD4, - 5746: 0x8AD5, - 5747: 0x8AD7, - 5748: 0x8ADD, - 5749: 0x8ADF, - 5750: 0x8AEC, - 5751: 0x8AF0, - 5752: 0x8AF4, - 5753: 0x8AF5, - 5754: 0x8AF6, - 5755: 0x8AFC, - 5756: 0x8AFF, - 5757: 0x8B05, - 5758: 0x8B06, - 5759: 0x8B0B, - 5760: 0x8B11, - 5761: 0x8B1C, - 5762: 0x8B1E, - 5763: 0x8B1F, - 5764: 0x8B0A, - 5765: 0x8B2D, - 5766: 0x8B30, - 5767: 0x8B37, - 5768: 0x8B3C, - 5769: 0x8B42, - 5770: 0x8B43, - 5771: 0x8B44, - 5772: 0x8B45, - 5773: 0x8B46, - 5774: 0x8B48, - 5775: 0x8B52, - 5776: 0x8B53, - 5777: 0x8B54, - 5778: 0x8B59, - 5779: 0x8B4D, - 5780: 0x8B5E, - 5781: 0x8B63, - 5782: 0x8B6D, - 5783: 0x8B76, - 5784: 0x8B78, - 5785: 0x8B79, - 5786: 0x8B7C, - 5787: 0x8B7E, - 5788: 0x8B81, - 5789: 0x8B84, - 5790: 0x8B85, - 5791: 0x8B8B, - 5792: 0x8B8D, - 5793: 0x8B8F, - 5794: 0x8B94, - 5795: 0x8B95, - 5796: 0x8B9C, - 5797: 0x8B9E, - 5798: 0x8B9F, - 5799: 0x8C38, - 5800: 0x8C39, - 5801: 0x8C3D, - 5802: 0x8C3E, - 5803: 0x8C45, - 5804: 0x8C47, - 5805: 0x8C49, - 5806: 0x8C4B, - 5807: 0x8C4F, - 5808: 0x8C51, - 5809: 0x8C53, - 5810: 0x8C54, - 5811: 0x8C57, - 5812: 0x8C58, - 5813: 0x8C5B, - 5814: 0x8C5D, - 5815: 0x8C59, - 5816: 0x8C63, - 5817: 0x8C64, - 5818: 0x8C66, - 5819: 0x8C68, - 5820: 0x8C69, - 5821: 0x8C6D, - 5822: 0x8C73, - 5823: 0x8C75, - 5824: 0x8C76, - 5825: 0x8C7B, - 5826: 0x8C7E, - 5827: 0x8C86, - 5828: 0x8C87, - 5829: 0x8C8B, - 5830: 0x8C90, - 5831: 0x8C92, - 5832: 0x8C93, - 5833: 0x8C99, - 5834: 0x8C9B, - 5835: 0x8C9C, - 5836: 0x8CA4, - 5837: 0x8CB9, - 5838: 0x8CBA, - 5839: 0x8CC5, - 5840: 0x8CC6, - 5841: 0x8CC9, - 5842: 0x8CCB, - 5843: 0x8CCF, - 5844: 0x8CD6, - 5845: 0x8CD5, - 5846: 0x8CD9, - 5847: 0x8CDD, - 5848: 0x8CE1, - 5849: 0x8CE8, - 5850: 0x8CEC, - 5851: 0x8CEF, - 5852: 0x8CF0, - 5853: 0x8CF2, - 5854: 0x8CF5, - 5855: 0x8CF7, - 5856: 0x8CF8, - 5857: 0x8CFE, - 5858: 0x8CFF, - 5859: 0x8D01, - 5860: 0x8D03, - 5861: 0x8D09, - 5862: 0x8D12, - 5863: 0x8D17, - 5864: 0x8D1B, - 5865: 0x8D65, - 5866: 0x8D69, - 5867: 0x8D6C, - 5868: 0x8D6E, - 5869: 0x8D7F, - 5870: 0x8D82, - 5871: 0x8D84, - 5872: 0x8D88, - 5873: 0x8D8D, - 5874: 0x8D90, - 5875: 0x8D91, - 5876: 0x8D95, - 5877: 0x8D9E, - 5878: 0x8D9F, - 5879: 0x8DA0, - 5880: 0x8DA6, - 5881: 0x8DAB, - 5882: 0x8DAC, - 5883: 0x8DAF, - 5884: 0x8DB2, - 5885: 0x8DB5, - 5886: 0x8DB7, - 5887: 0x8DB9, - 5888: 0x8DBB, - 5889: 0x8DC0, - 5890: 0x8DC5, - 5891: 0x8DC6, - 5892: 0x8DC7, - 5893: 0x8DC8, - 5894: 0x8DCA, - 5895: 0x8DCE, - 5896: 0x8DD1, - 5897: 0x8DD4, - 5898: 0x8DD5, - 5899: 0x8DD7, - 5900: 0x8DD9, - 5901: 0x8DE4, - 5902: 0x8DE5, - 5903: 0x8DE7, - 5904: 0x8DEC, - 5905: 0x8DF0, - 5906: 0x8DBC, - 5907: 0x8DF1, - 5908: 0x8DF2, - 5909: 0x8DF4, - 5910: 0x8DFD, - 5911: 0x8E01, - 5912: 0x8E04, - 5913: 0x8E05, - 5914: 0x8E06, - 5915: 0x8E0B, - 5916: 0x8E11, - 5917: 0x8E14, - 5918: 0x8E16, - 5919: 0x8E20, - 5920: 0x8E21, - 5921: 0x8E22, - 5922: 0x8E23, - 5923: 0x8E26, - 5924: 0x8E27, - 5925: 0x8E31, - 5926: 0x8E33, - 5927: 0x8E36, - 5928: 0x8E37, - 5929: 0x8E38, - 5930: 0x8E39, - 5931: 0x8E3D, - 5932: 0x8E40, - 5933: 0x8E41, - 5934: 0x8E4B, - 5935: 0x8E4D, - 5936: 0x8E4E, - 5937: 0x8E4F, - 5938: 0x8E54, - 5939: 0x8E5B, - 5940: 0x8E5C, - 5941: 0x8E5D, - 5942: 0x8E5E, - 5943: 0x8E61, - 5944: 0x8E62, - 5945: 0x8E69, - 5946: 0x8E6C, - 5947: 0x8E6D, - 5948: 0x8E6F, - 5949: 0x8E70, - 5950: 0x8E71, - 5951: 0x8E79, - 5952: 0x8E7A, - 5953: 0x8E7B, - 5954: 0x8E82, - 5955: 0x8E83, - 5956: 0x8E89, - 5957: 0x8E90, - 5958: 0x8E92, - 5959: 0x8E95, - 5960: 0x8E9A, - 5961: 0x8E9B, - 5962: 0x8E9D, - 5963: 0x8E9E, - 5964: 0x8EA2, - 5965: 0x8EA7, - 5966: 0x8EA9, - 5967: 0x8EAD, - 5968: 0x8EAE, - 5969: 0x8EB3, - 5970: 0x8EB5, - 5971: 0x8EBA, - 5972: 0x8EBB, - 5973: 0x8EC0, - 5974: 0x8EC1, - 5975: 0x8EC3, - 5976: 0x8EC4, - 5977: 0x8EC7, - 5978: 0x8ECF, - 5979: 0x8ED1, - 5980: 0x8ED4, - 5981: 0x8EDC, - 5982: 0x8EE8, - 5983: 0x8EEE, - 5984: 0x8EF0, - 5985: 0x8EF1, - 5986: 0x8EF7, - 5987: 0x8EF9, - 5988: 0x8EFA, - 5989: 0x8EED, - 5990: 0x8F00, - 5991: 0x8F02, - 5992: 0x8F07, - 5993: 0x8F08, - 5994: 0x8F0F, - 5995: 0x8F10, - 5996: 0x8F16, - 5997: 0x8F17, - 5998: 0x8F18, - 5999: 0x8F1E, - 6000: 0x8F20, - 6001: 0x8F21, - 6002: 0x8F23, - 6003: 0x8F25, - 6004: 0x8F27, - 6005: 0x8F28, - 6006: 0x8F2C, - 6007: 0x8F2D, - 6008: 0x8F2E, - 6009: 0x8F34, - 6010: 0x8F35, - 6011: 0x8F36, - 6012: 0x8F37, - 6013: 0x8F3A, - 6014: 0x8F40, - 6015: 0x8F41, - 6016: 0x8F43, - 6017: 0x8F47, - 6018: 0x8F4F, - 6019: 0x8F51, - 6020: 0x8F52, - 6021: 0x8F53, - 6022: 0x8F54, - 6023: 0x8F55, - 6024: 0x8F58, - 6025: 0x8F5D, - 6026: 0x8F5E, - 6027: 0x8F65, - 6028: 0x8F9D, - 6029: 0x8FA0, - 6030: 0x8FA1, - 6031: 0x8FA4, - 6032: 0x8FA5, - 6033: 0x8FA6, - 6034: 0x8FB5, - 6035: 0x8FB6, - 6036: 0x8FB8, - 6037: 0x8FBE, - 6038: 0x8FC0, - 6039: 0x8FC1, - 6040: 0x8FC6, - 6041: 0x8FCA, - 6042: 0x8FCB, - 6043: 0x8FCD, - 6044: 0x8FD0, - 6045: 0x8FD2, - 6046: 0x8FD3, - 6047: 0x8FD5, - 6048: 0x8FE0, - 6049: 0x8FE3, - 6050: 0x8FE4, - 6051: 0x8FE8, - 6052: 0x8FEE, - 6053: 0x8FF1, - 6054: 0x8FF5, - 6055: 0x8FF6, - 6056: 0x8FFB, - 6057: 0x8FFE, - 6058: 0x9002, - 6059: 0x9004, - 6060: 0x9008, - 6061: 0x900C, - 6062: 0x9018, - 6063: 0x901B, - 6064: 0x9028, - 6065: 0x9029, - 6066: 0x902F, - 6067: 0x902A, - 6068: 0x902C, - 6069: 0x902D, - 6070: 0x9033, - 6071: 0x9034, - 6072: 0x9037, - 6073: 0x903F, - 6074: 0x9043, - 6075: 0x9044, - 6076: 0x904C, - 6077: 0x905B, - 6078: 0x905D, - 6079: 0x9062, - 6080: 0x9066, - 6081: 0x9067, - 6082: 0x906C, - 6083: 0x9070, - 6084: 0x9074, - 6085: 0x9079, - 6086: 0x9085, - 6087: 0x9088, - 6088: 0x908B, - 6089: 0x908C, - 6090: 0x908E, - 6091: 0x9090, - 6092: 0x9095, - 6093: 0x9097, - 6094: 0x9098, - 6095: 0x9099, - 6096: 0x909B, - 6097: 0x90A0, - 6098: 0x90A1, - 6099: 0x90A2, - 6100: 0x90A5, - 6101: 0x90B0, - 6102: 0x90B2, - 6103: 0x90B3, - 6104: 0x90B4, - 6105: 0x90B6, - 6106: 0x90BD, - 6107: 0x90CC, - 6108: 0x90BE, - 6109: 0x90C3, - 6110: 0x90C4, - 6111: 0x90C5, - 6112: 0x90C7, - 6113: 0x90C8, - 6114: 0x90D5, - 6115: 0x90D7, - 6116: 0x90D8, - 6117: 0x90D9, - 6118: 0x90DC, - 6119: 0x90DD, - 6120: 0x90DF, - 6121: 0x90E5, - 6122: 0x90D2, - 6123: 0x90F6, - 6124: 0x90EB, - 6125: 0x90EF, - 6126: 0x90F0, - 6127: 0x90F4, - 6128: 0x90FE, - 6129: 0x90FF, - 6130: 0x9100, - 6131: 0x9104, - 6132: 0x9105, - 6133: 0x9106, - 6134: 0x9108, - 6135: 0x910D, - 6136: 0x9110, - 6137: 0x9114, - 6138: 0x9116, - 6139: 0x9117, - 6140: 0x9118, - 6141: 0x911A, - 6142: 0x911C, - 6143: 0x911E, - 6144: 0x9120, - 6145: 0x9125, - 6146: 0x9122, - 6147: 0x9123, - 6148: 0x9127, - 6149: 0x9129, - 6150: 0x912E, - 6151: 0x912F, - 6152: 0x9131, - 6153: 0x9134, - 6154: 0x9136, - 6155: 0x9137, - 6156: 0x9139, - 6157: 0x913A, - 6158: 0x913C, - 6159: 0x913D, - 6160: 0x9143, - 6161: 0x9147, - 6162: 0x9148, - 6163: 0x914F, - 6164: 0x9153, - 6165: 0x9157, - 6166: 0x9159, - 6167: 0x915A, - 6168: 0x915B, - 6169: 0x9161, - 6170: 0x9164, - 6171: 0x9167, - 6172: 0x916D, - 6173: 0x9174, - 6174: 0x9179, - 6175: 0x917A, - 6176: 0x917B, - 6177: 0x9181, - 6178: 0x9183, - 6179: 0x9185, - 6180: 0x9186, - 6181: 0x918A, - 6182: 0x918E, - 6183: 0x9191, - 6184: 0x9193, - 6185: 0x9194, - 6186: 0x9195, - 6187: 0x9198, - 6188: 0x919E, - 6189: 0x91A1, - 6190: 0x91A6, - 6191: 0x91A8, - 6192: 0x91AC, - 6193: 0x91AD, - 6194: 0x91AE, - 6195: 0x91B0, - 6196: 0x91B1, - 6197: 0x91B2, - 6198: 0x91B3, - 6199: 0x91B6, - 6200: 0x91BB, - 6201: 0x91BC, - 6202: 0x91BD, - 6203: 0x91BF, - 6204: 0x91C2, - 6205: 0x91C3, - 6206: 0x91C5, - 6207: 0x91D3, - 6208: 0x91D4, - 6209: 0x91D7, - 6210: 0x91D9, - 6211: 0x91DA, - 6212: 0x91DE, - 6213: 0x91E4, - 6214: 0x91E5, - 6215: 0x91E9, - 6216: 0x91EA, - 6217: 0x91EC, - 6218: 0x91ED, - 6219: 0x91EE, - 6220: 0x91EF, - 6221: 0x91F0, - 6222: 0x91F1, - 6223: 0x91F7, - 6224: 0x91F9, - 6225: 0x91FB, - 6226: 0x91FD, - 6227: 0x9200, - 6228: 0x9201, - 6229: 0x9204, - 6230: 0x9205, - 6231: 0x9206, - 6232: 0x9207, - 6233: 0x9209, - 6234: 0x920A, - 6235: 0x920C, - 6236: 0x9210, - 6237: 0x9212, - 6238: 0x9213, - 6239: 0x9216, - 6240: 0x9218, - 6241: 0x921C, - 6242: 0x921D, - 6243: 0x9223, - 6244: 0x9224, - 6245: 0x9225, - 6246: 0x9226, - 6247: 0x9228, - 6248: 0x922E, - 6249: 0x922F, - 6250: 0x9230, - 6251: 0x9233, - 6252: 0x9235, - 6253: 0x9236, - 6254: 0x9238, - 6255: 0x9239, - 6256: 0x923A, - 6257: 0x923C, - 6258: 0x923E, - 6259: 0x9240, - 6260: 0x9242, - 6261: 0x9243, - 6262: 0x9246, - 6263: 0x9247, - 6264: 0x924A, - 6265: 0x924D, - 6266: 0x924E, - 6267: 0x924F, - 6268: 0x9251, - 6269: 0x9258, - 6270: 0x9259, - 6271: 0x925C, - 6272: 0x925D, - 6273: 0x9260, - 6274: 0x9261, - 6275: 0x9265, - 6276: 0x9267, - 6277: 0x9268, - 6278: 0x9269, - 6279: 0x926E, - 6280: 0x926F, - 6281: 0x9270, - 6282: 0x9275, - 6283: 0x9276, - 6284: 0x9277, - 6285: 0x9278, - 6286: 0x9279, - 6287: 0x927B, - 6288: 0x927C, - 6289: 0x927D, - 6290: 0x927F, - 6291: 0x9288, - 6292: 0x9289, - 6293: 0x928A, - 6294: 0x928D, - 6295: 0x928E, - 6296: 0x9292, - 6297: 0x9297, - 6298: 0x9299, - 6299: 0x929F, - 6300: 0x92A0, - 6301: 0x92A4, - 6302: 0x92A5, - 6303: 0x92A7, - 6304: 0x92A8, - 6305: 0x92AB, - 6306: 0x92AF, - 6307: 0x92B2, - 6308: 0x92B6, - 6309: 0x92B8, - 6310: 0x92BA, - 6311: 0x92BB, - 6312: 0x92BC, - 6313: 0x92BD, - 6314: 0x92BF, - 6315: 0x92C0, - 6316: 0x92C1, - 6317: 0x92C2, - 6318: 0x92C3, - 6319: 0x92C5, - 6320: 0x92C6, - 6321: 0x92C7, - 6322: 0x92C8, - 6323: 0x92CB, - 6324: 0x92CC, - 6325: 0x92CD, - 6326: 0x92CE, - 6327: 0x92D0, - 6328: 0x92D3, - 6329: 0x92D5, - 6330: 0x92D7, - 6331: 0x92D8, - 6332: 0x92D9, - 6333: 0x92DC, - 6334: 0x92DD, - 6335: 0x92DF, - 6336: 0x92E0, - 6337: 0x92E1, - 6338: 0x92E3, - 6339: 0x92E5, - 6340: 0x92E7, - 6341: 0x92E8, - 6342: 0x92EC, - 6343: 0x92EE, - 6344: 0x92F0, - 6345: 0x92F9, - 6346: 0x92FB, - 6347: 0x92FF, - 6348: 0x9300, - 6349: 0x9302, - 6350: 0x9308, - 6351: 0x930D, - 6352: 0x9311, - 6353: 0x9314, - 6354: 0x9315, - 6355: 0x931C, - 6356: 0x931D, - 6357: 0x931E, - 6358: 0x931F, - 6359: 0x9321, - 6360: 0x9324, - 6361: 0x9325, - 6362: 0x9327, - 6363: 0x9329, - 6364: 0x932A, - 6365: 0x9333, - 6366: 0x9334, - 6367: 0x9336, - 6368: 0x9337, - 6369: 0x9347, - 6370: 0x9348, - 6371: 0x9349, - 6372: 0x9350, - 6373: 0x9351, - 6374: 0x9352, - 6375: 0x9355, - 6376: 0x9357, - 6377: 0x9358, - 6378: 0x935A, - 6379: 0x935E, - 6380: 0x9364, - 6381: 0x9365, - 6382: 0x9367, - 6383: 0x9369, - 6384: 0x936A, - 6385: 0x936D, - 6386: 0x936F, - 6387: 0x9370, - 6388: 0x9371, - 6389: 0x9373, - 6390: 0x9374, - 6391: 0x9376, - 6392: 0x937A, - 6393: 0x937D, - 6394: 0x937F, - 6395: 0x9380, - 6396: 0x9381, - 6397: 0x9382, - 6398: 0x9388, - 6399: 0x938A, - 6400: 0x938B, - 6401: 0x938D, - 6402: 0x938F, - 6403: 0x9392, - 6404: 0x9395, - 6405: 0x9398, - 6406: 0x939B, - 6407: 0x939E, - 6408: 0x93A1, - 6409: 0x93A3, - 6410: 0x93A4, - 6411: 0x93A6, - 6412: 0x93A8, - 6413: 0x93AB, - 6414: 0x93B4, - 6415: 0x93B5, - 6416: 0x93B6, - 6417: 0x93BA, - 6418: 0x93A9, - 6419: 0x93C1, - 6420: 0x93C4, - 6421: 0x93C5, - 6422: 0x93C6, - 6423: 0x93C7, - 6424: 0x93C9, - 6425: 0x93CA, - 6426: 0x93CB, - 6427: 0x93CC, - 6428: 0x93CD, - 6429: 0x93D3, - 6430: 0x93D9, - 6431: 0x93DC, - 6432: 0x93DE, - 6433: 0x93DF, - 6434: 0x93E2, - 6435: 0x93E6, - 6436: 0x93E7, - 6437: 0x93F9, - 6438: 0x93F7, - 6439: 0x93F8, - 6440: 0x93FA, - 6441: 0x93FB, - 6442: 0x93FD, - 6443: 0x9401, - 6444: 0x9402, - 6445: 0x9404, - 6446: 0x9408, - 6447: 0x9409, - 6448: 0x940D, - 6449: 0x940E, - 6450: 0x940F, - 6451: 0x9415, - 6452: 0x9416, - 6453: 0x9417, - 6454: 0x941F, - 6455: 0x942E, - 6456: 0x942F, - 6457: 0x9431, - 6458: 0x9432, - 6459: 0x9433, - 6460: 0x9434, - 6461: 0x943B, - 6462: 0x943F, - 6463: 0x943D, - 6464: 0x9443, - 6465: 0x9445, - 6466: 0x9448, - 6467: 0x944A, - 6468: 0x944C, - 6469: 0x9455, - 6470: 0x9459, - 6471: 0x945C, - 6472: 0x945F, - 6473: 0x9461, - 6474: 0x9463, - 6475: 0x9468, - 6476: 0x946B, - 6477: 0x946D, - 6478: 0x946E, - 6479: 0x946F, - 6480: 0x9471, - 6481: 0x9472, - 6482: 0x9484, - 6483: 0x9483, - 6484: 0x9578, - 6485: 0x9579, - 6486: 0x957E, - 6487: 0x9584, - 6488: 0x9588, - 6489: 0x958C, - 6490: 0x958D, - 6491: 0x958E, - 6492: 0x959D, - 6493: 0x959E, - 6494: 0x959F, - 6495: 0x95A1, - 6496: 0x95A6, - 6497: 0x95A9, - 6498: 0x95AB, - 6499: 0x95AC, - 6500: 0x95B4, - 6501: 0x95B6, - 6502: 0x95BA, - 6503: 0x95BD, - 6504: 0x95BF, - 6505: 0x95C6, - 6506: 0x95C8, - 6507: 0x95C9, - 6508: 0x95CB, - 6509: 0x95D0, - 6510: 0x95D1, - 6511: 0x95D2, - 6512: 0x95D3, - 6513: 0x95D9, - 6514: 0x95DA, - 6515: 0x95DD, - 6516: 0x95DE, - 6517: 0x95DF, - 6518: 0x95E0, - 6519: 0x95E4, - 6520: 0x95E6, - 6521: 0x961D, - 6522: 0x961E, - 6523: 0x9622, - 6524: 0x9624, - 6525: 0x9625, - 6526: 0x9626, - 6527: 0x962C, - 6528: 0x9631, - 6529: 0x9633, - 6530: 0x9637, - 6531: 0x9638, - 6532: 0x9639, - 6533: 0x963A, - 6534: 0x963C, - 6535: 0x963D, - 6536: 0x9641, - 6537: 0x9652, - 6538: 0x9654, - 6539: 0x9656, - 6540: 0x9657, - 6541: 0x9658, - 6542: 0x9661, - 6543: 0x966E, - 6544: 0x9674, - 6545: 0x967B, - 6546: 0x967C, - 6547: 0x967E, - 6548: 0x967F, - 6549: 0x9681, - 6550: 0x9682, - 6551: 0x9683, - 6552: 0x9684, - 6553: 0x9689, - 6554: 0x9691, - 6555: 0x9696, - 6556: 0x969A, - 6557: 0x969D, - 6558: 0x969F, - 6559: 0x96A4, - 6560: 0x96A5, - 6561: 0x96A6, - 6562: 0x96A9, - 6563: 0x96AE, - 6564: 0x96AF, - 6565: 0x96B3, - 6566: 0x96BA, - 6567: 0x96CA, - 6568: 0x96D2, - 6569: 0x5DB2, - 6570: 0x96D8, - 6571: 0x96DA, - 6572: 0x96DD, - 6573: 0x96DE, - 6574: 0x96DF, - 6575: 0x96E9, - 6576: 0x96EF, - 6577: 0x96F1, - 6578: 0x96FA, - 6579: 0x9702, - 6580: 0x9703, - 6581: 0x9705, - 6582: 0x9709, - 6583: 0x971A, - 6584: 0x971B, - 6585: 0x971D, - 6586: 0x9721, - 6587: 0x9722, - 6588: 0x9723, - 6589: 0x9728, - 6590: 0x9731, - 6591: 0x9733, - 6592: 0x9741, - 6593: 0x9743, - 6594: 0x974A, - 6595: 0x974E, - 6596: 0x974F, - 6597: 0x9755, - 6598: 0x9757, - 6599: 0x9758, - 6600: 0x975A, - 6601: 0x975B, - 6602: 0x9763, - 6603: 0x9767, - 6604: 0x976A, - 6605: 0x976E, - 6606: 0x9773, - 6607: 0x9776, - 6608: 0x9777, - 6609: 0x9778, - 6610: 0x977B, - 6611: 0x977D, - 6612: 0x977F, - 6613: 0x9780, - 6614: 0x9789, - 6615: 0x9795, - 6616: 0x9796, - 6617: 0x9797, - 6618: 0x9799, - 6619: 0x979A, - 6620: 0x979E, - 6621: 0x979F, - 6622: 0x97A2, - 6623: 0x97AC, - 6624: 0x97AE, - 6625: 0x97B1, - 6626: 0x97B2, - 6627: 0x97B5, - 6628: 0x97B6, - 6629: 0x97B8, - 6630: 0x97B9, - 6631: 0x97BA, - 6632: 0x97BC, - 6633: 0x97BE, - 6634: 0x97BF, - 6635: 0x97C1, - 6636: 0x97C4, - 6637: 0x97C5, - 6638: 0x97C7, - 6639: 0x97C9, - 6640: 0x97CA, - 6641: 0x97CC, - 6642: 0x97CD, - 6643: 0x97CE, - 6644: 0x97D0, - 6645: 0x97D1, - 6646: 0x97D4, - 6647: 0x97D7, - 6648: 0x97D8, - 6649: 0x97D9, - 6650: 0x97DD, - 6651: 0x97DE, - 6652: 0x97E0, - 6653: 0x97DB, - 6654: 0x97E1, - 6655: 0x97E4, - 6656: 0x97EF, - 6657: 0x97F1, - 6658: 0x97F4, - 6659: 0x97F7, - 6660: 0x97F8, - 6661: 0x97FA, - 6662: 0x9807, - 6663: 0x980A, - 6664: 0x9819, - 6665: 0x980D, - 6666: 0x980E, - 6667: 0x9814, - 6668: 0x9816, - 6669: 0x981C, - 6670: 0x981E, - 6671: 0x9820, - 6672: 0x9823, - 6673: 0x9826, - 6674: 0x982B, - 6675: 0x982E, - 6676: 0x982F, - 6677: 0x9830, - 6678: 0x9832, - 6679: 0x9833, - 6680: 0x9835, - 6681: 0x9825, - 6682: 0x983E, - 6683: 0x9844, - 6684: 0x9847, - 6685: 0x984A, - 6686: 0x9851, - 6687: 0x9852, - 6688: 0x9853, - 6689: 0x9856, - 6690: 0x9857, - 6691: 0x9859, - 6692: 0x985A, - 6693: 0x9862, - 6694: 0x9863, - 6695: 0x9865, - 6696: 0x9866, - 6697: 0x986A, - 6698: 0x986C, - 6699: 0x98AB, - 6700: 0x98AD, - 6701: 0x98AE, - 6702: 0x98B0, - 6703: 0x98B4, - 6704: 0x98B7, - 6705: 0x98B8, - 6706: 0x98BA, - 6707: 0x98BB, - 6708: 0x98BF, - 6709: 0x98C2, - 6710: 0x98C5, - 6711: 0x98C8, - 6712: 0x98CC, - 6713: 0x98E1, - 6714: 0x98E3, - 6715: 0x98E5, - 6716: 0x98E6, - 6717: 0x98E7, - 6718: 0x98EA, - 6719: 0x98F3, - 6720: 0x98F6, - 6721: 0x9902, - 6722: 0x9907, - 6723: 0x9908, - 6724: 0x9911, - 6725: 0x9915, - 6726: 0x9916, - 6727: 0x9917, - 6728: 0x991A, - 6729: 0x991B, - 6730: 0x991C, - 6731: 0x991F, - 6732: 0x9922, - 6733: 0x9926, - 6734: 0x9927, - 6735: 0x992B, - 6736: 0x9931, - 6737: 0x9932, - 6738: 0x9933, - 6739: 0x9934, - 6740: 0x9935, - 6741: 0x9939, - 6742: 0x993A, - 6743: 0x993B, - 6744: 0x993C, - 6745: 0x9940, - 6746: 0x9941, - 6747: 0x9946, - 6748: 0x9947, - 6749: 0x9948, - 6750: 0x994D, - 6751: 0x994E, - 6752: 0x9954, - 6753: 0x9958, - 6754: 0x9959, - 6755: 0x995B, - 6756: 0x995C, - 6757: 0x995E, - 6758: 0x995F, - 6759: 0x9960, - 6760: 0x999B, - 6761: 0x999D, - 6762: 0x999F, - 6763: 0x99A6, - 6764: 0x99B0, - 6765: 0x99B1, - 6766: 0x99B2, - 6767: 0x99B5, - 6768: 0x99B9, - 6769: 0x99BA, - 6770: 0x99BD, - 6771: 0x99BF, - 6772: 0x99C3, - 6773: 0x99C9, - 6774: 0x99D3, - 6775: 0x99D4, - 6776: 0x99D9, - 6777: 0x99DA, - 6778: 0x99DC, - 6779: 0x99DE, - 6780: 0x99E7, - 6781: 0x99EA, - 6782: 0x99EB, - 6783: 0x99EC, - 6784: 0x99F0, - 6785: 0x99F4, - 6786: 0x99F5, - 6787: 0x99F9, - 6788: 0x99FD, - 6789: 0x99FE, - 6790: 0x9A02, - 6791: 0x9A03, - 6792: 0x9A04, - 6793: 0x9A0B, - 6794: 0x9A0C, - 6795: 0x9A10, - 6796: 0x9A11, - 6797: 0x9A16, - 6798: 0x9A1E, - 6799: 0x9A20, - 6800: 0x9A22, - 6801: 0x9A23, - 6802: 0x9A24, - 6803: 0x9A27, - 6804: 0x9A2D, - 6805: 0x9A2E, - 6806: 0x9A33, - 6807: 0x9A35, - 6808: 0x9A36, - 6809: 0x9A38, - 6810: 0x9A47, - 6811: 0x9A41, - 6812: 0x9A44, - 6813: 0x9A4A, - 6814: 0x9A4B, - 6815: 0x9A4C, - 6816: 0x9A4E, - 6817: 0x9A51, - 6818: 0x9A54, - 6819: 0x9A56, - 6820: 0x9A5D, - 6821: 0x9AAA, - 6822: 0x9AAC, - 6823: 0x9AAE, - 6824: 0x9AAF, - 6825: 0x9AB2, - 6826: 0x9AB4, - 6827: 0x9AB5, - 6828: 0x9AB6, - 6829: 0x9AB9, - 6830: 0x9ABB, - 6831: 0x9ABE, - 6832: 0x9ABF, - 6833: 0x9AC1, - 6834: 0x9AC3, - 6835: 0x9AC6, - 6836: 0x9AC8, - 6837: 0x9ACE, - 6838: 0x9AD0, - 6839: 0x9AD2, - 6840: 0x9AD5, - 6841: 0x9AD6, - 6842: 0x9AD7, - 6843: 0x9ADB, - 6844: 0x9ADC, - 6845: 0x9AE0, - 6846: 0x9AE4, - 6847: 0x9AE5, - 6848: 0x9AE7, - 6849: 0x9AE9, - 6850: 0x9AEC, - 6851: 0x9AF2, - 6852: 0x9AF3, - 6853: 0x9AF5, - 6854: 0x9AF9, - 6855: 0x9AFA, - 6856: 0x9AFD, - 6857: 0x9AFF, - 6858: 0x9B00, - 6859: 0x9B01, - 6860: 0x9B02, - 6861: 0x9B03, - 6862: 0x9B04, - 6863: 0x9B05, - 6864: 0x9B08, - 6865: 0x9B09, - 6866: 0x9B0B, - 6867: 0x9B0C, - 6868: 0x9B0D, - 6869: 0x9B0E, - 6870: 0x9B10, - 6871: 0x9B12, - 6872: 0x9B16, - 6873: 0x9B19, - 6874: 0x9B1B, - 6875: 0x9B1C, - 6876: 0x9B20, - 6877: 0x9B26, - 6878: 0x9B2B, - 6879: 0x9B2D, - 6880: 0x9B33, - 6881: 0x9B34, - 6882: 0x9B35, - 6883: 0x9B37, - 6884: 0x9B39, - 6885: 0x9B3A, - 6886: 0x9B3D, - 6887: 0x9B48, - 6888: 0x9B4B, - 6889: 0x9B4C, - 6890: 0x9B55, - 6891: 0x9B56, - 6892: 0x9B57, - 6893: 0x9B5B, - 6894: 0x9B5E, - 6895: 0x9B61, - 6896: 0x9B63, - 6897: 0x9B65, - 6898: 0x9B66, - 6899: 0x9B68, - 6900: 0x9B6A, - 6901: 0x9B6B, - 6902: 0x9B6C, - 6903: 0x9B6D, - 6904: 0x9B6E, - 6905: 0x9B73, - 6906: 0x9B75, - 6907: 0x9B77, - 6908: 0x9B78, - 6909: 0x9B79, - 6910: 0x9B7F, - 6911: 0x9B80, - 6912: 0x9B84, - 6913: 0x9B85, - 6914: 0x9B86, - 6915: 0x9B87, - 6916: 0x9B89, - 6917: 0x9B8A, - 6918: 0x9B8B, - 6919: 0x9B8D, - 6920: 0x9B8F, - 6921: 0x9B90, - 6922: 0x9B94, - 6923: 0x9B9A, - 6924: 0x9B9D, - 6925: 0x9B9E, - 6926: 0x9BA6, - 6927: 0x9BA7, - 6928: 0x9BA9, - 6929: 0x9BAC, - 6930: 0x9BB0, - 6931: 0x9BB1, - 6932: 0x9BB2, - 6933: 0x9BB7, - 6934: 0x9BB8, - 6935: 0x9BBB, - 6936: 0x9BBC, - 6937: 0x9BBE, - 6938: 0x9BBF, - 6939: 0x9BC1, - 6940: 0x9BC7, - 6941: 0x9BC8, - 6942: 0x9BCE, - 6943: 0x9BD0, - 6944: 0x9BD7, - 6945: 0x9BD8, - 6946: 0x9BDD, - 6947: 0x9BDF, - 6948: 0x9BE5, - 6949: 0x9BE7, - 6950: 0x9BEA, - 6951: 0x9BEB, - 6952: 0x9BEF, - 6953: 0x9BF3, - 6954: 0x9BF7, - 6955: 0x9BF8, - 6956: 0x9BF9, - 6957: 0x9BFA, - 6958: 0x9BFD, - 6959: 0x9BFF, - 6960: 0x9C00, - 6961: 0x9C02, - 6962: 0x9C0B, - 6963: 0x9C0F, - 6964: 0x9C11, - 6965: 0x9C16, - 6966: 0x9C18, - 6967: 0x9C19, - 6968: 0x9C1A, - 6969: 0x9C1C, - 6970: 0x9C1E, - 6971: 0x9C22, - 6972: 0x9C23, - 6973: 0x9C26, - 6974: 0x9C27, - 6975: 0x9C28, - 6976: 0x9C29, - 6977: 0x9C2A, - 6978: 0x9C31, - 6979: 0x9C35, - 6980: 0x9C36, - 6981: 0x9C37, - 6982: 0x9C3D, - 6983: 0x9C41, - 6984: 0x9C43, - 6985: 0x9C44, - 6986: 0x9C45, - 6987: 0x9C49, - 6988: 0x9C4A, - 6989: 0x9C4E, - 6990: 0x9C4F, - 6991: 0x9C50, - 6992: 0x9C53, - 6993: 0x9C54, - 6994: 0x9C56, - 6995: 0x9C58, - 6996: 0x9C5B, - 6997: 0x9C5D, - 6998: 0x9C5E, - 6999: 0x9C5F, - 7000: 0x9C63, - 7001: 0x9C69, - 7002: 0x9C6A, - 7003: 0x9C5C, - 7004: 0x9C6B, - 7005: 0x9C68, - 7006: 0x9C6E, - 7007: 0x9C70, - 7008: 0x9C72, - 7009: 0x9C75, - 7010: 0x9C77, - 7011: 0x9C7B, - 7012: 0x9CE6, - 7013: 0x9CF2, - 7014: 0x9CF7, - 7015: 0x9CF9, - 7016: 0x9D0B, - 7017: 0x9D02, - 7018: 0x9D11, - 7019: 0x9D17, - 7020: 0x9D18, - 7021: 0x9D1C, - 7022: 0x9D1D, - 7023: 0x9D1E, - 7024: 0x9D2F, - 7025: 0x9D30, - 7026: 0x9D32, - 7027: 0x9D33, - 7028: 0x9D34, - 7029: 0x9D3A, - 7030: 0x9D3C, - 7031: 0x9D45, - 7032: 0x9D3D, - 7033: 0x9D42, - 7034: 0x9D43, - 7035: 0x9D47, - 7036: 0x9D4A, - 7037: 0x9D53, - 7038: 0x9D54, - 7039: 0x9D5F, - 7040: 0x9D63, - 7041: 0x9D62, - 7042: 0x9D65, - 7043: 0x9D69, - 7044: 0x9D6A, - 7045: 0x9D6B, - 7046: 0x9D70, - 7047: 0x9D76, - 7048: 0x9D77, - 7049: 0x9D7B, - 7050: 0x9D7C, - 7051: 0x9D7E, - 7052: 0x9D83, - 7053: 0x9D84, - 7054: 0x9D86, - 7055: 0x9D8A, - 7056: 0x9D8D, - 7057: 0x9D8E, - 7058: 0x9D92, - 7059: 0x9D93, - 7060: 0x9D95, - 7061: 0x9D96, - 7062: 0x9D97, - 7063: 0x9D98, - 7064: 0x9DA1, - 7065: 0x9DAA, - 7066: 0x9DAC, - 7067: 0x9DAE, - 7068: 0x9DB1, - 7069: 0x9DB5, - 7070: 0x9DB9, - 7071: 0x9DBC, - 7072: 0x9DBF, - 7073: 0x9DC3, - 7074: 0x9DC7, - 7075: 0x9DC9, - 7076: 0x9DCA, - 7077: 0x9DD4, - 7078: 0x9DD5, - 7079: 0x9DD6, - 7080: 0x9DD7, - 7081: 0x9DDA, - 7082: 0x9DDE, - 7083: 0x9DDF, - 7084: 0x9DE0, - 7085: 0x9DE5, - 7086: 0x9DE7, - 7087: 0x9DE9, - 7088: 0x9DEB, - 7089: 0x9DEE, - 7090: 0x9DF0, - 7091: 0x9DF3, - 7092: 0x9DF4, - 7093: 0x9DFE, - 7094: 0x9E0A, - 7095: 0x9E02, - 7096: 0x9E07, - 7097: 0x9E0E, - 7098: 0x9E10, - 7099: 0x9E11, - 7100: 0x9E12, - 7101: 0x9E15, - 7102: 0x9E16, - 7103: 0x9E19, - 7104: 0x9E1C, - 7105: 0x9E1D, - 7106: 0x9E7A, - 7107: 0x9E7B, - 7108: 0x9E7C, - 7109: 0x9E80, - 7110: 0x9E82, - 7111: 0x9E83, - 7112: 0x9E84, - 7113: 0x9E85, - 7114: 0x9E87, - 7115: 0x9E8E, - 7116: 0x9E8F, - 7117: 0x9E96, - 7118: 0x9E98, - 7119: 0x9E9B, - 7120: 0x9E9E, - 7121: 0x9EA4, - 7122: 0x9EA8, - 7123: 0x9EAC, - 7124: 0x9EAE, - 7125: 0x9EAF, - 7126: 0x9EB0, - 7127: 0x9EB3, - 7128: 0x9EB4, - 7129: 0x9EB5, - 7130: 0x9EC6, - 7131: 0x9EC8, - 7132: 0x9ECB, - 7133: 0x9ED5, - 7134: 0x9EDF, - 7135: 0x9EE4, - 7136: 0x9EE7, - 7137: 0x9EEC, - 7138: 0x9EED, - 7139: 0x9EEE, - 7140: 0x9EF0, - 7141: 0x9EF1, - 7142: 0x9EF2, - 7143: 0x9EF5, - 7144: 0x9EF8, - 7145: 0x9EFF, - 7146: 0x9F02, - 7147: 0x9F03, - 7148: 0x9F09, - 7149: 0x9F0F, - 7150: 0x9F10, - 7151: 0x9F11, - 7152: 0x9F12, - 7153: 0x9F14, - 7154: 0x9F16, - 7155: 0x9F17, - 7156: 0x9F19, - 7157: 0x9F1A, - 7158: 0x9F1B, - 7159: 0x9F1F, - 7160: 0x9F22, - 7161: 0x9F26, - 7162: 0x9F2A, - 7163: 0x9F2B, - 7164: 0x9F2F, - 7165: 0x9F31, - 7166: 0x9F32, - 7167: 0x9F34, - 7168: 0x9F37, - 7169: 0x9F39, - 7170: 0x9F3A, - 7171: 0x9F3C, - 7172: 0x9F3D, - 7173: 0x9F3F, - 7174: 0x9F41, - 7175: 0x9F43, - 7176: 0x9F44, - 7177: 0x9F45, - 7178: 0x9F46, - 7179: 0x9F47, - 7180: 0x9F53, - 7181: 0x9F55, - 7182: 0x9F56, - 7183: 0x9F57, - 7184: 0x9F58, - 7185: 0x9F5A, - 7186: 0x9F5D, - 7187: 0x9F5E, - 7188: 0x9F68, - 7189: 0x9F69, - 7190: 0x9F6D, - 7191: 0x9F6E, - 7192: 0x9F6F, - 7193: 0x9F70, - 7194: 0x9F71, - 7195: 0x9F73, - 7196: 0x9F75, - 7197: 0x9F7A, - 7198: 0x9F7D, - 7199: 0x9F8F, - 7200: 0x9F90, - 7201: 0x9F91, - 7202: 0x9F92, - 7203: 0x9F94, - 7204: 0x9F96, - 7205: 0x9F97, - 7206: 0x9F9E, - 7207: 0x9FA1, - 7208: 0x9FA2, - 7209: 0x9FA3, - 7210: 0x9FA5, -} - -const ( - jis0208 = 1 - jis0212 = 2 - codeMask = 0x7f - codeShift = 7 - tableShift = 14 -) - -const numEncodeTables = 6 - -// encodeX are the encoding tables from Unicode to JIS code, -// sorted by decreasing length. -// encode0: 20902 entries for runes in [19968, 40870). -// encode1: 1632 entries for runes in [ 8208, 9840). -// encode2: 974 entries for runes in [12288, 13262). -// encode3: 959 entries for runes in [ 161, 1120). -// encode4: 261 entries for runes in [63785, 64046). -// encode5: 229 entries for runes in [65281, 65510). -// -// The high two bits of the value record whether the JIS code comes from the -// JIS0208 table (high bits == 1) or the JIS0212 table (high bits == 2). -// The low 14 bits are two 7-bit unsigned integers j1 and j2 that form the -// JIS code (94*j1 + j2) within that table. - -const encode0Low, encode0High = 19968, 40870 - -var encode0 = [...]uint16{ - 19968 - 19968: jis0208<<14 | 0x0F<<7 | 0x4B, - 19969 - 19968: jis0208<<14 | 0x22<<7 | 0x59, - 19970 - 19968: jis0212<<14 | 0x0F<<7 | 0x00, - 19971 - 19968: jis0208<<14 | 0x1B<<7 | 0x16, - 19972 - 19968: jis0212<<14 | 0x0F<<7 | 0x01, - 19973 - 19968: jis0212<<14 | 0x0F<<7 | 0x02, - 19975 - 19968: jis0208<<14 | 0x2A<<7 | 0x5B, - 19976 - 19968: jis0208<<14 | 0x1D<<7 | 0x45, - 19977 - 19968: jis0208<<14 | 0x1A<<7 | 0x0F, - 19978 - 19968: jis0208<<14 | 0x1D<<7 | 0x44, - 19979 - 19968: jis0208<<14 | 0x11<<7 | 0x1B, - 19980 - 19968: jis0212<<14 | 0x0F<<7 | 0x03, - 19981 - 19968: jis0208<<14 | 0x28<<7 | 0x33, - 19982 - 19968: jis0208<<14 | 0x2C<<7 | 0x1E, - 19984 - 19968: jis0208<<14 | 0x2F<<7 | 0x01, - 19985 - 19968: jis0208<<14 | 0x10<<7 | 0x0E, - 19986 - 19968: jis0212<<14 | 0x0F<<7 | 0x04, - 19988 - 19968: jis0208<<14 | 0x12<<7 | 0x4D, - 19989 - 19968: jis0208<<14 | 0x2F<<7 | 0x02, - 19990 - 19968: jis0208<<14 | 0x1F<<7 | 0x03, - 19991 - 19968: jis0208<<14 | 0x31<<7 | 0x21, - 19992 - 19968: jis0208<<14 | 0x14<<7 | 0x35, - 19993 - 19968: jis0208<<14 | 0x29<<7 | 0x19, - 19998 - 19968: jis0208<<14 | 0x1D<<7 | 0x46, - 19999 - 19968: jis0212<<14 | 0x0F<<7 | 0x05, - 20001 - 19968: jis0208<<14 | 0x2D<<7 | 0x1D, - 20003 - 19968: jis0212<<14 | 0x0F<<7 | 0x06, - 20004 - 19968: jis0212<<14 | 0x0F<<7 | 0x07, - 20006 - 19968: jis0208<<14 | 0x29<<7 | 0x21, - 20008 - 19968: jis0208<<14 | 0x58<<7 | 0x0C, - 20010 - 19968: jis0208<<14 | 0x2F<<7 | 0x03, - 20011 - 19968: jis0212<<14 | 0x0F<<7 | 0x09, - 20013 - 19968: jis0208<<14 | 0x22<<7 | 0x45, - 20014 - 19968: jis0212<<14 | 0x0F<<7 | 0x0A, - 20015 - 19968: jis0212<<14 | 0x0F<<7 | 0x0B, - 20016 - 19968: jis0212<<14 | 0x0F<<7 | 0x0C, - 20017 - 19968: jis0208<<14 | 0x2F<<7 | 0x04, - 20018 - 19968: jis0208<<14 | 0x15<<7 | 0x59, - 20021 - 19968: jis0212<<14 | 0x0F<<7 | 0x0D, - 20022 - 19968: jis0208<<14 | 0x2F<<7 | 0x05, - 20024 - 19968: jis0208<<14 | 0x13<<7 | 0x3C, - 20025 - 19968: jis0208<<14 | 0x22<<7 | 0x0F, - 20027 - 19968: jis0208<<14 | 0x1B<<7 | 0x46, - 20028 - 19968: jis0208<<14 | 0x2F<<7 | 0x06, - 20031 - 19968: jis0208<<14 | 0x2F<<7 | 0x07, - 20032 - 19968: jis0212<<14 | 0x0F<<7 | 0x0E, - 20033 - 19968: jis0212<<14 | 0x0F<<7 | 0x0F, - 20034 - 19968: jis0208<<14 | 0x2F<<7 | 0x08, - 20035 - 19968: jis0208<<14 | 0x26<<7 | 0x14, - 20036 - 19968: jis0212<<14 | 0x0F<<7 | 0x10, - 20037 - 19968: jis0208<<14 | 0x14<<7 | 0x36, - 20039 - 19968: jis0212<<14 | 0x0F<<7 | 0x11, - 20043 - 19968: jis0208<<14 | 0x26<<7 | 0x16, - 20045 - 19968: jis0208<<14 | 0x25<<7 | 0x42, - 20046 - 19968: jis0208<<14 | 0x17<<7 | 0x22, - 20047 - 19968: jis0208<<14 | 0x2A<<7 | 0x12, - 20049 - 19968: jis0212<<14 | 0x0F<<7 | 0x12, - 20053 - 19968: jis0208<<14 | 0x48<<7 | 0x28, - 20054 - 19968: jis0208<<14 | 0x2F<<7 | 0x09, - 20055 - 19968: jis0208<<14 | 0x1D<<7 | 0x47, - 20056 - 19968: jis0208<<14 | 0x2F<<7 | 0x0A, - 20057 - 19968: jis0208<<14 | 0x11<<7 | 0x14, - 20058 - 19968: jis0212<<14 | 0x0F<<7 | 0x13, - 20060 - 19968: jis0212<<14 | 0x0F<<7 | 0x14, - 20061 - 19968: jis0208<<14 | 0x15<<7 | 0x44, - 20062 - 19968: jis0208<<14 | 0x17<<7 | 0x4F, - 20063 - 19968: jis0208<<14 | 0x2B<<7 | 0x48, - 20066 - 19968: jis0208<<14 | 0x35<<7 | 0x05, - 20067 - 19968: jis0212<<14 | 0x0F<<7 | 0x15, - 20072 - 19968: jis0212<<14 | 0x0F<<7 | 0x16, - 20073 - 19968: jis0212<<14 | 0x0F<<7 | 0x17, - 20081 - 19968: jis0208<<14 | 0x2C<<7 | 0x4F, - 20083 - 19968: jis0208<<14 | 0x25<<7 | 0x5C, - 20084 - 19968: jis0212<<14 | 0x0F<<7 | 0x18, - 20085 - 19968: jis0212<<14 | 0x0F<<7 | 0x19, - 20089 - 19968: jis0212<<14 | 0x0F<<7 | 0x1A, - 20094 - 19968: jis0208<<14 | 0x13<<7 | 0x04, - 20095 - 19968: jis0212<<14 | 0x0F<<7 | 0x1B, - 20096 - 19968: jis0208<<14 | 0x14<<7 | 0x14, - 20098 - 19968: jis0208<<14 | 0x2F<<7 | 0x0B, - 20101 - 19968: jis0208<<14 | 0x2F<<7 | 0x0C, - 20102 - 19968: jis0208<<14 | 0x2D<<7 | 0x1A, - 20104 - 19968: jis0208<<14 | 0x2C<<7 | 0x1C, - 20105 - 19968: jis0208<<14 | 0x20<<7 | 0x47, - 20106 - 19968: jis0208<<14 | 0x2F<<7 | 0x0E, - 20107 - 19968: jis0208<<14 | 0x1A<<7 | 0x55, - 20108 - 19968: jis0208<<14 | 0x25<<7 | 0x52, - 20109 - 19968: jis0212<<14 | 0x0F<<7 | 0x1C, - 20110 - 19968: jis0208<<14 | 0x2F<<7 | 0x11, - 20113 - 19968: jis0208<<14 | 0x10<<7 | 0x1D, - 20114 - 19968: jis0208<<14 | 0x17<<7 | 0x3E, - 20116 - 19968: jis0208<<14 | 0x17<<7 | 0x3D, - 20117 - 19968: jis0208<<14 | 0x0F<<7 | 0x45, - 20118 - 19968: jis0212<<14 | 0x0F<<7 | 0x1D, - 20119 - 19968: jis0212<<14 | 0x0F<<7 | 0x1E, - 20120 - 19968: jis0208<<14 | 0x2E<<7 | 0x2A, - 20121 - 19968: jis0208<<14 | 0x2E<<7 | 0x29, - 20123 - 19968: jis0208<<14 | 0x19<<7 | 0x12, - 20124 - 19968: jis0208<<14 | 0x0F<<7 | 0x00, - 20125 - 19968: jis0212<<14 | 0x0F<<7 | 0x1F, - 20126 - 19968: jis0208<<14 | 0x2F<<7 | 0x12, - 20127 - 19968: jis0208<<14 | 0x2F<<7 | 0x13, - 20128 - 19968: jis0208<<14 | 0x2F<<7 | 0x14, - 20129 - 19968: jis0208<<14 | 0x2A<<7 | 0x13, - 20130 - 19968: jis0208<<14 | 0x2F<<7 | 0x15, - 20132 - 19968: jis0208<<14 | 0x17<<7 | 0x51, - 20133 - 19968: jis0208<<14 | 0x0F<<7 | 0x46, - 20134 - 19968: jis0208<<14 | 0x2A<<7 | 0x51, - 20136 - 19968: jis0208<<14 | 0x14<<7 | 0x5B, - 20139 - 19968: jis0208<<14 | 0x14<<7 | 0x5C, - 20140 - 19968: jis0208<<14 | 0x14<<7 | 0x5D, - 20141 - 19968: jis0208<<14 | 0x23<<7 | 0x41, - 20142 - 19968: jis0208<<14 | 0x2D<<7 | 0x1B, - 20143 - 19968: jis0212<<14 | 0x0F<<7 | 0x20, - 20144 - 19968: jis0208<<14 | 0x2F<<7 | 0x16, - 20147 - 19968: jis0208<<14 | 0x2F<<7 | 0x17, - 20150 - 19968: jis0208<<14 | 0x2F<<7 | 0x18, - 20153 - 19968: jis0212<<14 | 0x0F<<7 | 0x21, - 20154 - 19968: jis0208<<14 | 0x1E<<7 | 0x2C, - 20160 - 19968: jis0208<<14 | 0x1C<<7 | 0x19, - 20161 - 19968: jis0208<<14 | 0x1E<<7 | 0x2D, - 20162 - 19968: jis0208<<14 | 0x2F<<7 | 0x1D, - 20163 - 19968: jis0212<<14 | 0x0F<<7 | 0x22, - 20164 - 19968: jis0208<<14 | 0x2F<<7 | 0x1B, - 20166 - 19968: jis0208<<14 | 0x2F<<7 | 0x1C, - 20167 - 19968: jis0208<<14 | 0x14<<7 | 0x37, - 20170 - 19968: jis0208<<14 | 0x19<<7 | 0x02, - 20171 - 19968: jis0208<<14 | 0x11<<7 | 0x4F, - 20173 - 19968: jis0208<<14 | 0x2F<<7 | 0x1A, - 20174 - 19968: jis0208<<14 | 0x2F<<7 | 0x19, - 20175 - 19968: jis0208<<14 | 0x29<<7 | 0x08, - 20176 - 19968: jis0212<<14 | 0x0F<<7 | 0x23, - 20180 - 19968: jis0208<<14 | 0x1A<<7 | 0x25, - 20181 - 19968: jis0208<<14 | 0x1A<<7 | 0x24, - 20182 - 19968: jis0208<<14 | 0x21<<7 | 0x1D, - 20183 - 19968: jis0208<<14 | 0x2F<<7 | 0x1E, - 20184 - 19968: jis0208<<14 | 0x28<<7 | 0x34, - 20185 - 19968: jis0208<<14 | 0x1F<<7 | 0x46, - 20186 - 19968: jis0212<<14 | 0x0F<<7 | 0x24, - 20187 - 19968: jis0212<<14 | 0x0F<<7 | 0x25, - 20189 - 19968: jis0208<<14 | 0x00<<7 | 0x17, - 20190 - 19968: jis0208<<14 | 0x2F<<7 | 0x1F, - 20191 - 19968: jis0208<<14 | 0x2F<<7 | 0x21, - 20192 - 19968: jis0212<<14 | 0x0F<<7 | 0x26, - 20193 - 19968: jis0208<<14 | 0x58<<7 | 0x0D, - 20194 - 19968: jis0212<<14 | 0x0F<<7 | 0x28, - 20195 - 19968: jis0208<<14 | 0x21<<7 | 0x44, - 20196 - 19968: jis0208<<14 | 0x2D<<7 | 0x40, - 20197 - 19968: jis0208<<14 | 0x0F<<7 | 0x29, - 20200 - 19968: jis0212<<14 | 0x0F<<7 | 0x29, - 20205 - 19968: jis0208<<14 | 0x2F<<7 | 0x20, - 20206 - 19968: jis0208<<14 | 0x11<<7 | 0x1D, - 20207 - 19968: jis0212<<14 | 0x0F<<7 | 0x2A, - 20208 - 19968: jis0208<<14 | 0x15<<7 | 0x23, - 20209 - 19968: jis0212<<14 | 0x0F<<7 | 0x2B, - 20210 - 19968: jis0208<<14 | 0x22<<7 | 0x46, - 20211 - 19968: jis0212<<14 | 0x0F<<7 | 0x2C, - 20213 - 19968: jis0212<<14 | 0x0F<<7 | 0x2D, - 20214 - 19968: jis0208<<14 | 0x16<<7 | 0x4E, - 20215 - 19968: jis0208<<14 | 0x2F<<7 | 0x22, - 20219 - 19968: jis0208<<14 | 0x26<<7 | 0x03, - 20220 - 19968: jis0208<<14 | 0x58<<7 | 0x0E, - 20221 - 19968: jis0212<<14 | 0x0F<<7 | 0x2E, - 20222 - 19968: jis0212<<14 | 0x0F<<7 | 0x2F, - 20223 - 19968: jis0212<<14 | 0x0F<<7 | 0x30, - 20224 - 19968: jis0208<<14 | 0x58<<7 | 0x0F, - 20225 - 19968: jis0208<<14 | 0x13<<7 | 0x4A, - 20226 - 19968: jis0212<<14 | 0x0F<<7 | 0x32, - 20227 - 19968: jis0208<<14 | 0x58<<7 | 0x10, - 20232 - 19968: jis0212<<14 | 0x0F<<7 | 0x34, - 20233 - 19968: jis0208<<14 | 0x2F<<7 | 0x23, - 20234 - 19968: jis0208<<14 | 0x0F<<7 | 0x2A, - 20235 - 19968: jis0212<<14 | 0x0F<<7 | 0x35, - 20236 - 19968: jis0212<<14 | 0x0F<<7 | 0x36, - 20237 - 19968: jis0208<<14 | 0x17<<7 | 0x3F, - 20238 - 19968: jis0208<<14 | 0x13<<7 | 0x4B, - 20239 - 19968: jis0208<<14 | 0x28<<7 | 0x59, - 20240 - 19968: jis0208<<14 | 0x27<<7 | 0x11, - 20241 - 19968: jis0208<<14 | 0x14<<7 | 0x38, - 20242 - 19968: jis0212<<14 | 0x0F<<7 | 0x37, - 20245 - 19968: jis0212<<14 | 0x0F<<7 | 0x38, - 20246 - 19968: jis0212<<14 | 0x0F<<7 | 0x39, - 20247 - 19968: jis0212<<14 | 0x0F<<7 | 0x3A, - 20249 - 19968: jis0212<<14 | 0x0F<<7 | 0x3B, - 20250 - 19968: jis0208<<14 | 0x11<<7 | 0x50, - 20252 - 19968: jis0208<<14 | 0x2F<<7 | 0x46, - 20253 - 19968: jis0208<<14 | 0x24<<7 | 0x20, - 20270 - 19968: jis0212<<14 | 0x0F<<7 | 0x3C, - 20271 - 19968: jis0208<<14 | 0x26<<7 | 0x4B, - 20272 - 19968: jis0208<<14 | 0x2F<<7 | 0x25, - 20273 - 19968: jis0212<<14 | 0x0F<<7 | 0x3D, - 20275 - 19968: jis0212<<14 | 0x0F<<7 | 0x3F, - 20276 - 19968: jis0208<<14 | 0x27<<7 | 0x1B, - 20277 - 19968: jis0212<<14 | 0x0F<<7 | 0x40, - 20278 - 19968: jis0208<<14 | 0x2D<<7 | 0x41, - 20279 - 19968: jis0212<<14 | 0x0F<<7 | 0x41, - 20280 - 19968: jis0208<<14 | 0x1E<<7 | 0x0C, - 20281 - 19968: jis0208<<14 | 0x58<<7 | 0x11, - 20282 - 19968: jis0208<<14 | 0x1A<<7 | 0x26, - 20283 - 19968: jis0212<<14 | 0x0F<<7 | 0x43, - 20284 - 19968: jis0208<<14 | 0x1A<<7 | 0x56, - 20285 - 19968: jis0208<<14 | 0x11<<7 | 0x1F, - 20286 - 19968: jis0212<<14 | 0x0F<<7 | 0x44, - 20288 - 19968: jis0212<<14 | 0x0F<<7 | 0x45, - 20290 - 19968: jis0212<<14 | 0x0F<<7 | 0x46, - 20291 - 19968: jis0208<<14 | 0x23<<7 | 0x30, - 20294 - 19968: jis0208<<14 | 0x22<<7 | 0x01, - 20295 - 19968: jis0208<<14 | 0x2F<<7 | 0x29, - 20296 - 19968: jis0212<<14 | 0x0F<<7 | 0x47, - 20297 - 19968: jis0212<<14 | 0x0F<<7 | 0x48, - 20299 - 19968: jis0212<<14 | 0x0F<<7 | 0x49, - 20300 - 19968: jis0212<<14 | 0x0F<<7 | 0x4A, - 20301 - 19968: jis0208<<14 | 0x0F<<7 | 0x2B, - 20302 - 19968: jis0208<<14 | 0x23<<7 | 0x42, - 20303 - 19968: jis0208<<14 | 0x1C<<7 | 0x1A, - 20304 - 19968: jis0208<<14 | 0x19<<7 | 0x13, - 20305 - 19968: jis0208<<14 | 0x2C<<7 | 0x03, - 20306 - 19968: jis0212<<14 | 0x0F<<7 | 0x4B, - 20307 - 19968: jis0208<<14 | 0x21<<7 | 0x2D, - 20308 - 19968: jis0212<<14 | 0x0F<<7 | 0x4C, - 20309 - 19968: jis0208<<14 | 0x11<<7 | 0x1E, - 20310 - 19968: jis0208<<14 | 0x58<<7 | 0x12, - 20311 - 19968: jis0208<<14 | 0x2F<<7 | 0x28, - 20312 - 19968: jis0212<<14 | 0x0F<<7 | 0x4E, - 20313 - 19968: jis0208<<14 | 0x2C<<7 | 0x1D, - 20314 - 19968: jis0208<<14 | 0x2F<<7 | 0x24, - 20315 - 19968: jis0208<<14 | 0x2F<<7 | 0x26, - 20316 - 19968: jis0208<<14 | 0x19<<7 | 0x4D, - 20317 - 19968: jis0208<<14 | 0x2F<<7 | 0x27, - 20318 - 19968: jis0208<<14 | 0x34<<7 | 0x03, - 20319 - 19968: jis0212<<14 | 0x0F<<7 | 0x4F, - 20320 - 19968: jis0212<<14 | 0x0F<<7 | 0x3E, - 20323 - 19968: jis0212<<14 | 0x0F<<7 | 0x50, - 20329 - 19968: jis0208<<14 | 0x2F<<7 | 0x2F, - 20330 - 19968: jis0212<<14 | 0x0F<<7 | 0x51, - 20332 - 19968: jis0212<<14 | 0x0F<<7 | 0x52, - 20334 - 19968: jis0212<<14 | 0x0F<<7 | 0x53, - 20335 - 19968: jis0208<<14 | 0x2F<<7 | 0x32, - 20336 - 19968: jis0208<<14 | 0x2F<<7 | 0x30, - 20337 - 19968: jis0212<<14 | 0x0F<<7 | 0x54, - 20339 - 19968: jis0208<<14 | 0x11<<7 | 0x21, - 20341 - 19968: jis0208<<14 | 0x29<<7 | 0x1A, - 20342 - 19968: jis0208<<14 | 0x2F<<7 | 0x2A, - 20343 - 19968: jis0212<<14 | 0x0F<<7 | 0x55, - 20344 - 19968: jis0212<<14 | 0x0F<<7 | 0x56, - 20345 - 19968: jis0212<<14 | 0x0F<<7 | 0x57, - 20346 - 19968: jis0212<<14 | 0x0F<<7 | 0x58, - 20347 - 19968: jis0208<<14 | 0x2F<<7 | 0x2E, - 20348 - 19968: jis0208<<14 | 0x17<<7 | 0x52, - 20349 - 19968: jis0212<<14 | 0x0F<<7 | 0x59, - 20350 - 19968: jis0212<<14 | 0x0F<<7 | 0x5A, - 20351 - 19968: jis0208<<14 | 0x1A<<7 | 0x27, - 20353 - 19968: jis0212<<14 | 0x0F<<7 | 0x5B, - 20354 - 19968: jis0212<<14 | 0x0F<<7 | 0x5C, - 20355 - 19968: jis0208<<14 | 0x13<<7 | 0x05, - 20356 - 19968: jis0212<<14 | 0x0F<<7 | 0x5D, - 20357 - 19968: jis0212<<14 | 0x10<<7 | 0x00, - 20358 - 19968: jis0208<<14 | 0x2F<<7 | 0x33, - 20360 - 19968: jis0208<<14 | 0x2F<<7 | 0x2B, - 20361 - 19968: jis0212<<14 | 0x10<<7 | 0x01, - 20362 - 19968: jis0208<<14 | 0x58<<7 | 0x14, - 20363 - 19968: jis0208<<14 | 0x2D<<7 | 0x42, - 20364 - 19968: jis0212<<14 | 0x10<<7 | 0x03, - 20365 - 19968: jis0208<<14 | 0x1A<<7 | 0x57, - 20366 - 19968: jis0212<<14 | 0x10<<7 | 0x04, - 20367 - 19968: jis0208<<14 | 0x2F<<7 | 0x2C, - 20368 - 19968: jis0212<<14 | 0x10<<7 | 0x05, - 20369 - 19968: jis0208<<14 | 0x2F<<7 | 0x31, - 20370 - 19968: jis0208<<14 | 0x58<<7 | 0x13, - 20371 - 19968: jis0212<<14 | 0x10<<7 | 0x07, - 20372 - 19968: jis0208<<14 | 0x58<<7 | 0x16, - 20374 - 19968: jis0208<<14 | 0x2F<<7 | 0x34, - 20375 - 19968: jis0212<<14 | 0x10<<7 | 0x09, - 20376 - 19968: jis0208<<14 | 0x2F<<7 | 0x2D, - 20377 - 19968: jis0212<<14 | 0x10<<7 | 0x0A, - 20378 - 19968: jis0208<<14 | 0x58<<7 | 0x15, - 20379 - 19968: jis0208<<14 | 0x15<<7 | 0x00, - 20381 - 19968: jis0208<<14 | 0x0F<<7 | 0x2C, - 20382 - 19968: jis0212<<14 | 0x10<<7 | 0x0C, - 20383 - 19968: jis0212<<14 | 0x10<<7 | 0x0D, - 20384 - 19968: jis0208<<14 | 0x15<<7 | 0x01, - 20385 - 19968: jis0208<<14 | 0x11<<7 | 0x20, - 20395 - 19968: jis0208<<14 | 0x34<<7 | 0x04, - 20397 - 19968: jis0208<<14 | 0x2A<<7 | 0x58, - 20398 - 19968: jis0208<<14 | 0x28<<7 | 0x4D, - 20399 - 19968: jis0208<<14 | 0x17<<7 | 0x53, - 20402 - 19968: jis0212<<14 | 0x10<<7 | 0x0E, - 20405 - 19968: jis0208<<14 | 0x1E<<7 | 0x0E, - 20406 - 19968: jis0208<<14 | 0x2D<<7 | 0x16, - 20407 - 19968: jis0212<<14 | 0x10<<7 | 0x0F, - 20409 - 19968: jis0212<<14 | 0x10<<7 | 0x10, - 20411 - 19968: jis0212<<14 | 0x10<<7 | 0x11, - 20412 - 19968: jis0212<<14 | 0x10<<7 | 0x12, - 20413 - 19968: jis0212<<14 | 0x10<<7 | 0x13, - 20414 - 19968: jis0212<<14 | 0x10<<7 | 0x14, - 20415 - 19968: jis0208<<14 | 0x29<<7 | 0x37, - 20416 - 19968: jis0212<<14 | 0x10<<7 | 0x15, - 20417 - 19968: jis0212<<14 | 0x10<<7 | 0x16, - 20418 - 19968: jis0208<<14 | 0x16<<7 | 0x17, - 20419 - 19968: jis0208<<14 | 0x21<<7 | 0x04, - 20420 - 19968: jis0208<<14 | 0x11<<7 | 0x43, - 20421 - 19968: jis0212<<14 | 0x10<<7 | 0x17, - 20422 - 19968: jis0212<<14 | 0x10<<7 | 0x18, - 20424 - 19968: jis0212<<14 | 0x10<<7 | 0x19, - 20425 - 19968: jis0208<<14 | 0x58<<7 | 0x05, - 20426 - 19968: jis0208<<14 | 0x1C<<7 | 0x32, - 20427 - 19968: jis0212<<14 | 0x10<<7 | 0x1B, - 20428 - 19968: jis0212<<14 | 0x10<<7 | 0x1C, - 20429 - 19968: jis0208<<14 | 0x58<<7 | 0x17, - 20430 - 19968: jis0208<<14 | 0x2F<<7 | 0x38, - 20431 - 19968: jis0212<<14 | 0x10<<7 | 0x1E, - 20432 - 19968: jis0208<<14 | 0x2F<<7 | 0x3D, - 20433 - 19968: jis0208<<14 | 0x2F<<7 | 0x3B, - 20434 - 19968: jis0212<<14 | 0x10<<7 | 0x1F, - 20436 - 19968: jis0208<<14 | 0x2F<<7 | 0x36, - 20439 - 19968: jis0208<<14 | 0x21<<7 | 0x0E, - 20440 - 19968: jis0208<<14 | 0x2F<<7 | 0x39, - 20442 - 19968: jis0208<<14 | 0x2F<<7 | 0x3C, - 20443 - 19968: jis0208<<14 | 0x2F<<7 | 0x3A, - 20444 - 19968: jis0212<<14 | 0x10<<7 | 0x20, - 20445 - 19968: jis0208<<14 | 0x29<<7 | 0x3C, - 20447 - 19968: jis0208<<14 | 0x2F<<7 | 0x37, - 20448 - 19968: jis0212<<14 | 0x10<<7 | 0x21, - 20449 - 19968: jis0208<<14 | 0x1E<<7 | 0x0D, - 20450 - 19968: jis0212<<14 | 0x10<<7 | 0x22, - 20451 - 19968: jis0208<<14 | 0x2A<<7 | 0x52, - 20452 - 19968: jis0208<<14 | 0x2F<<7 | 0x3E, - 20453 - 19968: jis0208<<14 | 0x2F<<7 | 0x3F, - 20462 - 19968: jis0208<<14 | 0x1C<<7 | 0x03, - 20463 - 19968: jis0208<<14 | 0x2F<<7 | 0x4C, - 20464 - 19968: jis0212<<14 | 0x10<<7 | 0x23, - 20466 - 19968: jis0212<<14 | 0x10<<7 | 0x24, - 20467 - 19968: jis0208<<14 | 0x26<<7 | 0x2F, - 20469 - 19968: jis0208<<14 | 0x28<<7 | 0x15, - 20470 - 19968: jis0208<<14 | 0x2F<<7 | 0x47, - 20472 - 19968: jis0208<<14 | 0x29<<7 | 0x4F, - 20474 - 19968: jis0208<<14 | 0x11<<7 | 0x15, - 20476 - 19968: jis0212<<14 | 0x10<<7 | 0x25, - 20477 - 19968: jis0212<<14 | 0x10<<7 | 0x26, - 20478 - 19968: jis0208<<14 | 0x2F<<7 | 0x4B, - 20479 - 19968: jis0208<<14 | 0x58<<7 | 0x1A, - 20480 - 19968: jis0212<<14 | 0x10<<7 | 0x28, - 20481 - 19968: jis0212<<14 | 0x10<<7 | 0x29, - 20484 - 19968: jis0212<<14 | 0x10<<7 | 0x2A, - 20485 - 19968: jis0208<<14 | 0x2F<<7 | 0x45, - 20486 - 19968: jis0208<<14 | 0x2F<<7 | 0x4E, - 20487 - 19968: jis0212<<14 | 0x10<<7 | 0x2B, - 20489 - 19968: jis0208<<14 | 0x20<<7 | 0x31, - 20490 - 19968: jis0212<<14 | 0x10<<7 | 0x2C, - 20491 - 19968: jis0208<<14 | 0x17<<7 | 0x23, - 20492 - 19968: jis0212<<14 | 0x10<<7 | 0x2D, - 20493 - 19968: jis0208<<14 | 0x26<<7 | 0x3B, - 20494 - 19968: jis0212<<14 | 0x10<<7 | 0x2E, - 20495 - 19968: jis0208<<14 | 0x3F<<7 | 0x26, - 20496 - 19968: jis0212<<14 | 0x10<<7 | 0x2F, - 20497 - 19968: jis0208<<14 | 0x2F<<7 | 0x4D, - 20498 - 19968: jis0208<<14 | 0x24<<7 | 0x3C, - 20499 - 19968: jis0212<<14 | 0x10<<7 | 0x30, - 20500 - 19968: jis0208<<14 | 0x2F<<7 | 0x42, - 20502 - 19968: jis0208<<14 | 0x17<<7 | 0x55, - 20503 - 19968: jis0212<<14 | 0x10<<7 | 0x31, - 20504 - 19968: jis0212<<14 | 0x10<<7 | 0x32, - 20505 - 19968: jis0208<<14 | 0x17<<7 | 0x54, - 20506 - 19968: jis0208<<14 | 0x2F<<7 | 0x40, - 20507 - 19968: jis0212<<14 | 0x10<<7 | 0x33, - 20508 - 19968: jis0212<<14 | 0x10<<7 | 0x34, - 20509 - 19968: jis0212<<14 | 0x10<<7 | 0x35, - 20510 - 19968: jis0208<<14 | 0x58<<7 | 0x1B, - 20511 - 19968: jis0208<<14 | 0x1B<<7 | 0x39, - 20513 - 19968: jis0208<<14 | 0x2F<<7 | 0x48, - 20514 - 19968: jis0208<<14 | 0x58<<7 | 0x19, - 20515 - 19968: jis0208<<14 | 0x29<<7 | 0x4E, - 20516 - 19968: jis0208<<14 | 0x22<<7 | 0x2C, - 20517 - 19968: jis0208<<14 | 0x2F<<7 | 0x44, - 20518 - 19968: jis0208<<14 | 0x16<<7 | 0x50, - 20519 - 19968: jis0212<<14 | 0x10<<7 | 0x38, - 20520 - 19968: jis0208<<14 | 0x2F<<7 | 0x41, - 20521 - 19968: jis0208<<14 | 0x2F<<7 | 0x49, - 20522 - 19968: jis0208<<14 | 0x2F<<7 | 0x43, - 20523 - 19968: jis0208<<14 | 0x2D<<7 | 0x30, - 20524 - 19968: jis0208<<14 | 0x2F<<7 | 0x4A, - 20525 - 19968: jis0208<<14 | 0x2E<<7 | 0x20, - 20526 - 19968: jis0212<<14 | 0x10<<7 | 0x39, - 20528 - 19968: jis0212<<14 | 0x10<<7 | 0x3A, - 20530 - 19968: jis0212<<14 | 0x10<<7 | 0x3B, - 20531 - 19968: jis0212<<14 | 0x10<<7 | 0x3C, - 20533 - 19968: jis0212<<14 | 0x10<<7 | 0x3D, - 20534 - 19968: jis0208<<14 | 0x15<<7 | 0x45, - 20537 - 19968: jis0208<<14 | 0x16<<7 | 0x4F, - 20539 - 19968: jis0212<<14 | 0x10<<7 | 0x55, - 20544 - 19968: jis0208<<14 | 0x58<<7 | 0x18, - 20545 - 19968: jis0212<<14 | 0x10<<7 | 0x3F, - 20546 - 19968: jis0208<<14 | 0x58<<7 | 0x1E, - 20547 - 19968: jis0208<<14 | 0x2F<<7 | 0x4F, - 20549 - 19968: jis0212<<14 | 0x10<<7 | 0x41, - 20550 - 19968: jis0208<<14 | 0x58<<7 | 0x1C, - 20551 - 19968: jis0208<<14 | 0x2F<<7 | 0x50, - 20552 - 19968: jis0208<<14 | 0x2F<<7 | 0x54, - 20553 - 19968: jis0208<<14 | 0x0F<<7 | 0x2D, - 20554 - 19968: jis0212<<14 | 0x10<<7 | 0x43, - 20556 - 19968: jis0212<<14 | 0x10<<7 | 0x44, - 20558 - 19968: jis0212<<14 | 0x10<<7 | 0x45, - 20559 - 19968: jis0208<<14 | 0x29<<7 | 0x2F, - 20560 - 19968: jis0208<<14 | 0x2F<<7 | 0x53, - 20561 - 19968: jis0212<<14 | 0x10<<7 | 0x46, - 20562 - 19968: jis0212<<14 | 0x10<<7 | 0x47, - 20563 - 19968: jis0212<<14 | 0x10<<7 | 0x48, - 20565 - 19968: jis0208<<14 | 0x2F<<7 | 0x52, - 20566 - 19968: jis0208<<14 | 0x2F<<7 | 0x56, - 20567 - 19968: jis0212<<14 | 0x10<<7 | 0x49, - 20569 - 19968: jis0212<<14 | 0x10<<7 | 0x4A, - 20570 - 19968: jis0208<<14 | 0x2F<<7 | 0x55, - 20572 - 19968: jis0208<<14 | 0x23<<7 | 0x43, - 20575 - 19968: jis0212<<14 | 0x10<<7 | 0x4B, - 20576 - 19968: jis0212<<14 | 0x10<<7 | 0x4C, - 20578 - 19968: jis0212<<14 | 0x10<<7 | 0x4D, - 20579 - 19968: jis0212<<14 | 0x10<<7 | 0x4E, - 20581 - 19968: jis0208<<14 | 0x16<<7 | 0x51, - 20582 - 19968: jis0212<<14 | 0x10<<7 | 0x4F, - 20583 - 19968: jis0212<<14 | 0x10<<7 | 0x50, - 20586 - 19968: jis0212<<14 | 0x10<<7 | 0x51, - 20588 - 19968: jis0208<<14 | 0x2F<<7 | 0x57, - 20589 - 19968: jis0212<<14 | 0x10<<7 | 0x52, - 20592 - 19968: jis0208<<14 | 0x58<<7 | 0x1D, - 20593 - 19968: jis0212<<14 | 0x10<<7 | 0x54, - 20594 - 19968: jis0208<<14 | 0x1B<<7 | 0x24, - 20596 - 19968: jis0208<<14 | 0x21<<7 | 0x05, - 20597 - 19968: jis0208<<14 | 0x23<<7 | 0x44, - 20598 - 19968: jis0208<<14 | 0x15<<7 | 0x55, - 20600 - 19968: jis0208<<14 | 0x2F<<7 | 0x58, - 20605 - 19968: jis0208<<14 | 0x14<<7 | 0x15, - 20608 - 19968: jis0208<<14 | 0x2F<<7 | 0x59, - 20609 - 19968: jis0212<<14 | 0x10<<7 | 0x56, - 20611 - 19968: jis0212<<14 | 0x10<<7 | 0x57, - 20612 - 19968: jis0212<<14 | 0x10<<7 | 0x58, - 20613 - 19968: jis0208<<14 | 0x2F<<7 | 0x5B, - 20614 - 19968: jis0212<<14 | 0x10<<7 | 0x59, - 20618 - 19968: jis0212<<14 | 0x10<<7 | 0x5A, - 20621 - 19968: jis0208<<14 | 0x2A<<7 | 0x14, - 20622 - 19968: jis0212<<14 | 0x10<<7 | 0x5B, - 20623 - 19968: jis0212<<14 | 0x10<<7 | 0x5C, - 20624 - 19968: jis0212<<14 | 0x10<<7 | 0x5D, - 20625 - 19968: jis0208<<14 | 0x16<<7 | 0x45, - 20626 - 19968: jis0212<<14 | 0x11<<7 | 0x00, - 20627 - 19968: jis0212<<14 | 0x11<<7 | 0x01, - 20628 - 19968: jis0208<<14 | 0x58<<7 | 0x1F, - 20630 - 19968: jis0212<<14 | 0x11<<7 | 0x03, - 20632 - 19968: jis0208<<14 | 0x1A<<7 | 0x10, - 20633 - 19968: jis0208<<14 | 0x27<<7 | 0x56, - 20634 - 19968: jis0208<<14 | 0x2F<<7 | 0x5A, - 20635 - 19968: jis0212<<14 | 0x11<<7 | 0x04, - 20636 - 19968: jis0212<<14 | 0x11<<7 | 0x05, - 20638 - 19968: jis0212<<14 | 0x11<<7 | 0x06, - 20639 - 19968: jis0212<<14 | 0x11<<7 | 0x07, - 20640 - 19968: jis0212<<14 | 0x11<<7 | 0x08, - 20641 - 19968: jis0212<<14 | 0x11<<7 | 0x09, - 20642 - 19968: jis0212<<14 | 0x11<<7 | 0x0A, - 20650 - 19968: jis0212<<14 | 0x11<<7 | 0x0B, - 20652 - 19968: jis0208<<14 | 0x19<<7 | 0x24, - 20653 - 19968: jis0208<<14 | 0x2C<<7 | 0x22, - 20655 - 19968: jis0212<<14 | 0x11<<7 | 0x0C, - 20656 - 19968: jis0212<<14 | 0x11<<7 | 0x0D, - 20658 - 19968: jis0208<<14 | 0x2F<<7 | 0x5D, - 20659 - 19968: jis0208<<14 | 0x30<<7 | 0x02, - 20660 - 19968: jis0208<<14 | 0x2F<<7 | 0x5C, - 20661 - 19968: jis0208<<14 | 0x19<<7 | 0x23, - 20663 - 19968: jis0208<<14 | 0x1C<<7 | 0x5C, - 20665 - 19968: jis0212<<14 | 0x11<<7 | 0x0E, - 20666 - 19968: jis0212<<14 | 0x11<<7 | 0x0F, - 20669 - 19968: jis0212<<14 | 0x11<<7 | 0x10, - 20670 - 19968: jis0208<<14 | 0x16<<7 | 0x18, - 20672 - 19968: jis0212<<14 | 0x11<<7 | 0x11, - 20674 - 19968: jis0208<<14 | 0x30<<7 | 0x03, - 20675 - 19968: jis0212<<14 | 0x11<<7 | 0x12, - 20676 - 19968: jis0212<<14 | 0x11<<7 | 0x13, - 20677 - 19968: jis0208<<14 | 0x15<<7 | 0x2E, - 20679 - 19968: jis0212<<14 | 0x11<<7 | 0x14, - 20681 - 19968: jis0208<<14 | 0x30<<7 | 0x00, - 20682 - 19968: jis0208<<14 | 0x30<<7 | 0x01, - 20684 - 19968: jis0212<<14 | 0x11<<7 | 0x15, - 20685 - 19968: jis0208<<14 | 0x25<<7 | 0x0E, - 20686 - 19968: jis0212<<14 | 0x11<<7 | 0x16, - 20687 - 19968: jis0208<<14 | 0x20<<7 | 0x5B, - 20688 - 19968: jis0212<<14 | 0x11<<7 | 0x17, - 20689 - 19968: jis0208<<14 | 0x15<<7 | 0x02, - 20691 - 19968: jis0212<<14 | 0x11<<7 | 0x18, - 20692 - 19968: jis0212<<14 | 0x11<<7 | 0x19, - 20693 - 19968: jis0208<<14 | 0x2A<<7 | 0x2C, - 20694 - 19968: jis0208<<14 | 0x30<<7 | 0x04, - 20696 - 19968: jis0208<<14 | 0x58<<7 | 0x21, - 20698 - 19968: jis0208<<14 | 0x2D<<7 | 0x1C, - 20700 - 19968: jis0212<<14 | 0x11<<7 | 0x1B, - 20701 - 19968: jis0212<<14 | 0x11<<7 | 0x1C, - 20702 - 19968: jis0208<<14 | 0x30<<7 | 0x05, - 20703 - 19968: jis0212<<14 | 0x11<<7 | 0x1D, - 20706 - 19968: jis0212<<14 | 0x11<<7 | 0x1E, - 20707 - 19968: jis0208<<14 | 0x30<<7 | 0x08, - 20708 - 19968: jis0212<<14 | 0x11<<7 | 0x1F, - 20709 - 19968: jis0208<<14 | 0x30<<7 | 0x06, - 20710 - 19968: jis0212<<14 | 0x11<<7 | 0x20, - 20711 - 19968: jis0208<<14 | 0x20<<7 | 0x2D, - 20712 - 19968: jis0212<<14 | 0x11<<7 | 0x21, - 20713 - 19968: jis0212<<14 | 0x11<<7 | 0x22, - 20717 - 19968: jis0208<<14 | 0x30<<7 | 0x07, - 20718 - 19968: jis0208<<14 | 0x30<<7 | 0x09, - 20719 - 19968: jis0212<<14 | 0x11<<7 | 0x23, - 20721 - 19968: jis0212<<14 | 0x11<<7 | 0x24, - 20722 - 19968: jis0212<<14 | 0x11<<7 | 0x30, - 20724 - 19968: jis0208<<14 | 0x58<<7 | 0x20, - 20725 - 19968: jis0208<<14 | 0x30<<7 | 0x0B, - 20726 - 19968: jis0212<<14 | 0x11<<7 | 0x25, - 20729 - 19968: jis0208<<14 | 0x30<<7 | 0x0A, - 20730 - 19968: jis0212<<14 | 0x11<<7 | 0x26, - 20731 - 19968: jis0208<<14 | 0x29<<7 | 0x27, - 20734 - 19968: jis0212<<14 | 0x11<<7 | 0x27, - 20736 - 19968: jis0208<<14 | 0x14<<7 | 0x16, - 20737 - 19968: jis0208<<14 | 0x30<<7 | 0x0D, - 20738 - 19968: jis0208<<14 | 0x30<<7 | 0x0E, - 20739 - 19968: jis0212<<14 | 0x11<<7 | 0x28, - 20740 - 19968: jis0208<<14 | 0x11<<7 | 0x0E, - 20742 - 19968: jis0212<<14 | 0x11<<7 | 0x29, - 20743 - 19968: jis0212<<14 | 0x11<<7 | 0x2A, - 20744 - 19968: jis0212<<14 | 0x11<<7 | 0x2B, - 20745 - 19968: jis0208<<14 | 0x30<<7 | 0x0C, - 20747 - 19968: jis0212<<14 | 0x11<<7 | 0x2C, - 20748 - 19968: jis0212<<14 | 0x11<<7 | 0x2D, - 20749 - 19968: jis0212<<14 | 0x11<<7 | 0x2E, - 20750 - 19968: jis0212<<14 | 0x11<<7 | 0x2F, - 20752 - 19968: jis0212<<14 | 0x11<<7 | 0x31, - 20754 - 19968: jis0208<<14 | 0x1B<<7 | 0x53, - 20756 - 19968: jis0208<<14 | 0x30<<7 | 0x11, - 20757 - 19968: jis0208<<14 | 0x30<<7 | 0x10, - 20758 - 19968: jis0208<<14 | 0x30<<7 | 0x0F, - 20759 - 19968: jis0212<<14 | 0x11<<7 | 0x32, - 20760 - 19968: jis0208<<14 | 0x2F<<7 | 0x35, - 20761 - 19968: jis0212<<14 | 0x11<<7 | 0x33, - 20762 - 19968: jis0208<<14 | 0x30<<7 | 0x12, - 20763 - 19968: jis0212<<14 | 0x11<<7 | 0x34, - 20764 - 19968: jis0212<<14 | 0x11<<7 | 0x35, - 20765 - 19968: jis0212<<14 | 0x11<<7 | 0x36, - 20766 - 19968: jis0212<<14 | 0x11<<7 | 0x37, - 20767 - 19968: jis0208<<14 | 0x1C<<7 | 0x5D, - 20769 - 19968: jis0208<<14 | 0x30<<7 | 0x13, - 20771 - 19968: jis0212<<14 | 0x11<<7 | 0x38, - 20775 - 19968: jis0212<<14 | 0x11<<7 | 0x39, - 20776 - 19968: jis0212<<14 | 0x11<<7 | 0x3A, - 20778 - 19968: jis0208<<14 | 0x2C<<7 | 0x04, - 20780 - 19968: jis0212<<14 | 0x11<<7 | 0x3B, - 20781 - 19968: jis0212<<14 | 0x11<<7 | 0x3C, - 20783 - 19968: jis0212<<14 | 0x11<<7 | 0x3D, - 20785 - 19968: jis0212<<14 | 0x11<<7 | 0x3E, - 20786 - 19968: jis0208<<14 | 0x2B<<7 | 0x38, - 20787 - 19968: jis0212<<14 | 0x11<<7 | 0x3F, - 20788 - 19968: jis0212<<14 | 0x11<<7 | 0x40, - 20789 - 19968: jis0212<<14 | 0x11<<7 | 0x41, - 20791 - 19968: jis0208<<14 | 0x30<<7 | 0x15, - 20792 - 19968: jis0212<<14 | 0x11<<7 | 0x42, - 20793 - 19968: jis0212<<14 | 0x11<<7 | 0x43, - 20794 - 19968: jis0208<<14 | 0x30<<7 | 0x14, - 20795 - 19968: jis0208<<14 | 0x30<<7 | 0x17, - 20796 - 19968: jis0208<<14 | 0x30<<7 | 0x16, - 20799 - 19968: jis0208<<14 | 0x30<<7 | 0x18, - 20800 - 19968: jis0208<<14 | 0x30<<7 | 0x19, - 20801 - 19968: jis0208<<14 | 0x0F<<7 | 0x53, - 20802 - 19968: jis0212<<14 | 0x11<<7 | 0x44, - 20803 - 19968: jis0208<<14 | 0x17<<7 | 0x14, - 20804 - 19968: jis0208<<14 | 0x16<<7 | 0x1A, - 20805 - 19968: jis0208<<14 | 0x1C<<7 | 0x1B, - 20806 - 19968: jis0208<<14 | 0x22<<7 | 0x5A, - 20807 - 19968: jis0208<<14 | 0x15<<7 | 0x03, - 20808 - 19968: jis0208<<14 | 0x1F<<7 | 0x47, - 20809 - 19968: jis0208<<14 | 0x17<<7 | 0x56, - 20810 - 19968: jis0208<<14 | 0x58<<7 | 0x22, - 20811 - 19968: jis0208<<14 | 0x18<<7 | 0x4D, - 20812 - 19968: jis0208<<14 | 0x30<<7 | 0x1B, - 20813 - 19968: jis0208<<14 | 0x2B<<7 | 0x27, - 20814 - 19968: jis0208<<14 | 0x24<<7 | 0x25, - 20815 - 19968: jis0212<<14 | 0x11<<7 | 0x46, - 20816 - 19968: jis0208<<14 | 0x1A<<7 | 0x58, - 20818 - 19968: jis0208<<14 | 0x30<<7 | 0x1A, - 20819 - 19968: jis0212<<14 | 0x11<<7 | 0x47, - 20820 - 19968: jis0208<<14 | 0x30<<7 | 0x1C, - 20821 - 19968: jis0212<<14 | 0x11<<7 | 0x48, - 20823 - 19968: jis0212<<14 | 0x11<<7 | 0x49, - 20824 - 19968: jis0212<<14 | 0x11<<7 | 0x4A, - 20826 - 19968: jis0208<<14 | 0x24<<7 | 0x3D, - 20828 - 19968: jis0208<<14 | 0x12<<7 | 0x54, - 20831 - 19968: jis0212<<14 | 0x11<<7 | 0x4B, - 20834 - 19968: jis0208<<14 | 0x30<<7 | 0x1D, - 20836 - 19968: jis0208<<14 | 0x58<<7 | 0x23, - 20837 - 19968: jis0208<<14 | 0x25<<7 | 0x5D, - 20838 - 19968: jis0212<<14 | 0x11<<7 | 0x4D, - 20840 - 19968: jis0208<<14 | 0x20<<7 | 0x13, - 20841 - 19968: jis0208<<14 | 0x30<<7 | 0x1F, - 20842 - 19968: jis0208<<14 | 0x30<<7 | 0x20, - 20843 - 19968: jis0208<<14 | 0x27<<7 | 0x0B, - 20844 - 19968: jis0208<<14 | 0x17<<7 | 0x57, - 20845 - 19968: jis0208<<14 | 0x2E<<7 | 0x1A, - 20846 - 19968: jis0208<<14 | 0x30<<7 | 0x21, - 20849 - 19968: jis0208<<14 | 0x15<<7 | 0x05, - 20853 - 19968: jis0208<<14 | 0x29<<7 | 0x1B, - 20854 - 19968: jis0208<<14 | 0x21<<7 | 0x15, - 20855 - 19968: jis0208<<14 | 0x15<<7 | 0x50, - 20856 - 19968: jis0208<<14 | 0x24<<7 | 0x14, - 20860 - 19968: jis0208<<14 | 0x16<<7 | 0x52, - 20862 - 19968: jis0212<<14 | 0x11<<7 | 0x4E, - 20864 - 19968: jis0208<<14 | 0x30<<7 | 0x22, - 20866 - 19968: jis0208<<14 | 0x30<<7 | 0x23, - 20867 - 19968: jis0212<<14 | 0x11<<7 | 0x4F, - 20868 - 19968: jis0212<<14 | 0x11<<7 | 0x50, - 20869 - 19968: jis0208<<14 | 0x25<<7 | 0x41, - 20870 - 19968: jis0208<<14 | 0x10<<7 | 0x3E, - 20873 - 19968: jis0208<<14 | 0x30<<7 | 0x26, - 20874 - 19968: jis0208<<14 | 0x19<<7 | 0x5C, - 20875 - 19968: jis0212<<14 | 0x11<<7 | 0x51, - 20876 - 19968: jis0208<<14 | 0x30<<7 | 0x25, - 20877 - 19968: jis0208<<14 | 0x19<<7 | 0x25, - 20878 - 19968: jis0212<<14 | 0x11<<7 | 0x52, - 20879 - 19968: jis0208<<14 | 0x30<<7 | 0x27, - 20880 - 19968: jis0208<<14 | 0x45<<7 | 0x4D, - 20881 - 19968: jis0208<<14 | 0x30<<7 | 0x28, - 20882 - 19968: jis0208<<14 | 0x2A<<7 | 0x20, - 20883 - 19968: jis0208<<14 | 0x30<<7 | 0x29, - 20885 - 19968: jis0208<<14 | 0x30<<7 | 0x2A, - 20886 - 19968: jis0208<<14 | 0x30<<7 | 0x2B, - 20887 - 19968: jis0208<<14 | 0x1D<<7 | 0x48, - 20888 - 19968: jis0212<<14 | 0x11<<7 | 0x53, - 20889 - 19968: jis0208<<14 | 0x1B<<7 | 0x2B, - 20893 - 19968: jis0208<<14 | 0x58<<7 | 0x24, - 20896 - 19968: jis0208<<14 | 0x13<<7 | 0x06, - 20897 - 19968: jis0212<<14 | 0x11<<7 | 0x55, - 20898 - 19968: jis0208<<14 | 0x30<<7 | 0x2E, - 20899 - 19968: jis0212<<14 | 0x11<<7 | 0x56, - 20900 - 19968: jis0208<<14 | 0x30<<7 | 0x2C, - 20901 - 19968: jis0208<<14 | 0x2B<<7 | 0x1C, - 20902 - 19968: jis0208<<14 | 0x30<<7 | 0x2D, - 20904 - 19968: jis0208<<14 | 0x28<<7 | 0x39, - 20905 - 19968: jis0208<<14 | 0x30<<7 | 0x2F, - 20906 - 19968: jis0208<<14 | 0x30<<7 | 0x30, - 20907 - 19968: jis0208<<14 | 0x30<<7 | 0x31, - 20908 - 19968: jis0208<<14 | 0x24<<7 | 0x3E, - 20909 - 19968: jis0212<<14 | 0x11<<7 | 0x57, - 20912 - 19968: jis0208<<14 | 0x30<<7 | 0x35, - 20913 - 19968: jis0208<<14 | 0x30<<7 | 0x33, - 20914 - 19968: jis0208<<14 | 0x30<<7 | 0x34, - 20915 - 19968: jis0208<<14 | 0x30<<7 | 0x32, - 20916 - 19968: jis0208<<14 | 0x19<<7 | 0x42, - 20917 - 19968: jis0208<<14 | 0x30<<7 | 0x36, - 20918 - 19968: jis0208<<14 | 0x2B<<7 | 0x49, - 20919 - 19968: jis0208<<14 | 0x2D<<7 | 0x43, - 20920 - 19968: jis0212<<14 | 0x11<<7 | 0x58, - 20922 - 19968: jis0212<<14 | 0x11<<7 | 0x59, - 20924 - 19968: jis0212<<14 | 0x11<<7 | 0x5A, - 20925 - 19968: jis0208<<14 | 0x30<<7 | 0x37, - 20926 - 19968: jis0208<<14 | 0x58<<7 | 0x25, - 20927 - 19968: jis0212<<14 | 0x11<<7 | 0x5C, - 20930 - 19968: jis0212<<14 | 0x11<<7 | 0x5D, - 20932 - 19968: jis0208<<14 | 0x1F<<7 | 0x07, - 20933 - 19968: jis0208<<14 | 0x30<<7 | 0x38, - 20934 - 19968: jis0208<<14 | 0x1C<<7 | 0x39, - 20936 - 19968: jis0212<<14 | 0x12<<7 | 0x00, - 20937 - 19968: jis0208<<14 | 0x30<<7 | 0x39, - 20939 - 19968: jis0208<<14 | 0x22<<7 | 0x5B, - 20940 - 19968: jis0208<<14 | 0x2D<<7 | 0x1E, - 20941 - 19968: jis0208<<14 | 0x24<<7 | 0x3F, - 20943 - 19968: jis0212<<14 | 0x12<<7 | 0x01, - 20945 - 19968: jis0212<<14 | 0x12<<7 | 0x02, - 20946 - 19968: jis0212<<14 | 0x12<<7 | 0x03, - 20947 - 19968: jis0212<<14 | 0x12<<7 | 0x04, - 20949 - 19968: jis0212<<14 | 0x12<<7 | 0x05, - 20950 - 19968: jis0208<<14 | 0x31<<7 | 0x24, - 20952 - 19968: jis0212<<14 | 0x12<<7 | 0x06, - 20955 - 19968: jis0208<<14 | 0x30<<7 | 0x3A, - 20956 - 19968: jis0208<<14 | 0x53<<7 | 0x04, - 20957 - 19968: jis0208<<14 | 0x15<<7 | 0x24, - 20958 - 19968: jis0212<<14 | 0x12<<7 | 0x07, - 20960 - 19968: jis0208<<14 | 0x30<<7 | 0x3B, - 20961 - 19968: jis0208<<14 | 0x2A<<7 | 0x3D, - 20962 - 19968: jis0212<<14 | 0x12<<7 | 0x08, - 20965 - 19968: jis0212<<14 | 0x12<<7 | 0x09, - 20966 - 19968: jis0208<<14 | 0x1C<<7 | 0x47, - 20967 - 19968: jis0208<<14 | 0x21<<7 | 0x5B, - 20969 - 19968: jis0208<<14 | 0x30<<7 | 0x3D, - 20970 - 19968: jis0208<<14 | 0x25<<7 | 0x43, - 20972 - 19968: jis0208<<14 | 0x58<<7 | 0x26, - 20973 - 19968: jis0208<<14 | 0x30<<7 | 0x3E, - 20974 - 19968: jis0212<<14 | 0x12<<7 | 0x0A, - 20976 - 19968: jis0208<<14 | 0x30<<7 | 0x3F, - 20977 - 19968: jis0208<<14 | 0x12<<7 | 0x0D, - 20978 - 19968: jis0212<<14 | 0x12<<7 | 0x0B, - 20979 - 19968: jis0212<<14 | 0x12<<7 | 0x0C, - 20980 - 19968: jis0212<<14 | 0x12<<7 | 0x0D, - 20981 - 19968: jis0208<<14 | 0x30<<7 | 0x40, - 20982 - 19968: jis0208<<14 | 0x15<<7 | 0x06, - 20983 - 19968: jis0212<<14 | 0x12<<7 | 0x0E, - 20984 - 19968: jis0208<<14 | 0x25<<7 | 0x2B, - 20985 - 19968: jis0208<<14 | 0x10<<7 | 0x59, - 20986 - 19968: jis0208<<14 | 0x1C<<7 | 0x2F, - 20989 - 19968: jis0208<<14 | 0x27<<7 | 0x00, - 20990 - 19968: jis0208<<14 | 0x30<<7 | 0x41, - 20992 - 19968: jis0208<<14 | 0x24<<7 | 0x40, - 20993 - 19968: jis0212<<14 | 0x12<<7 | 0x0F, - 20994 - 19968: jis0212<<14 | 0x12<<7 | 0x10, - 20995 - 19968: jis0208<<14 | 0x1E<<7 | 0x2E, - 20996 - 19968: jis0208<<14 | 0x30<<7 | 0x42, - 20997 - 19968: jis0212<<14 | 0x12<<7 | 0x11, - 20998 - 19968: jis0208<<14 | 0x29<<7 | 0x0B, - 20999 - 19968: jis0208<<14 | 0x1F<<7 | 0x39, - 21000 - 19968: jis0208<<14 | 0x13<<7 | 0x01, - 21002 - 19968: jis0208<<14 | 0x13<<7 | 0x08, - 21003 - 19968: jis0208<<14 | 0x30<<7 | 0x43, - 21006 - 19968: jis0208<<14 | 0x30<<7 | 0x45, - 21009 - 19968: jis0208<<14 | 0x16<<7 | 0x19, - 21010 - 19968: jis0212<<14 | 0x12<<7 | 0x12, - 21011 - 19968: jis0212<<14 | 0x12<<7 | 0x13, - 21012 - 19968: jis0208<<14 | 0x30<<7 | 0x44, - 21013 - 19968: jis0208<<14 | 0x58<<7 | 0x27, - 21014 - 19968: jis0212<<14 | 0x12<<7 | 0x15, - 21015 - 19968: jis0208<<14 | 0x2D<<7 | 0x52, - 21016 - 19968: jis0212<<14 | 0x12<<7 | 0x16, - 21021 - 19968: jis0208<<14 | 0x1C<<7 | 0x48, - 21026 - 19968: jis0212<<14 | 0x12<<7 | 0x17, - 21028 - 19968: jis0208<<14 | 0x27<<7 | 0x1C, - 21029 - 19968: jis0208<<14 | 0x29<<7 | 0x2B, - 21031 - 19968: jis0208<<14 | 0x30<<7 | 0x46, - 21032 - 19968: jis0212<<14 | 0x12<<7 | 0x18, - 21033 - 19968: jis0208<<14 | 0x2C<<7 | 0x57, - 21034 - 19968: jis0208<<14 | 0x30<<7 | 0x47, - 21038 - 19968: jis0208<<14 | 0x30<<7 | 0x48, - 21040 - 19968: jis0208<<14 | 0x24<<7 | 0x5D, - 21041 - 19968: jis0212<<14 | 0x12<<7 | 0x19, - 21042 - 19968: jis0212<<14 | 0x12<<7 | 0x1A, - 21043 - 19968: jis0208<<14 | 0x30<<7 | 0x49, - 21045 - 19968: jis0212<<14 | 0x12<<7 | 0x1B, - 21046 - 19968: jis0208<<14 | 0x1F<<7 | 0x08, - 21047 - 19968: jis0208<<14 | 0x19<<7 | 0x5D, - 21048 - 19968: jis0208<<14 | 0x16<<7 | 0x53, - 21049 - 19968: jis0208<<14 | 0x30<<7 | 0x4A, - 21050 - 19968: jis0208<<14 | 0x1A<<7 | 0x28, - 21051 - 19968: jis0208<<14 | 0x18<<7 | 0x4E, - 21052 - 19968: jis0212<<14 | 0x12<<7 | 0x1C, - 21059 - 19968: jis0208<<14 | 0x23<<7 | 0x45, - 21060 - 19968: jis0208<<14 | 0x30<<7 | 0x4C, - 21061 - 19968: jis0212<<14 | 0x12<<7 | 0x1D, - 21063 - 19968: jis0208<<14 | 0x21<<7 | 0x06, - 21065 - 19968: jis0212<<14 | 0x12<<7 | 0x1E, - 21066 - 19968: jis0208<<14 | 0x19<<7 | 0x4E, - 21067 - 19968: jis0208<<14 | 0x30<<7 | 0x4D, - 21068 - 19968: jis0208<<14 | 0x30<<7 | 0x4E, - 21069 - 19968: jis0208<<14 | 0x20<<7 | 0x0F, - 21071 - 19968: jis0208<<14 | 0x30<<7 | 0x4B, - 21076 - 19968: jis0208<<14 | 0x30<<7 | 0x50, - 21077 - 19968: jis0212<<14 | 0x12<<7 | 0x1F, - 21078 - 19968: jis0208<<14 | 0x2A<<7 | 0x15, - 21079 - 19968: jis0212<<14 | 0x12<<7 | 0x20, - 21080 - 19968: jis0212<<14 | 0x12<<7 | 0x21, - 21082 - 19968: jis0212<<14 | 0x12<<7 | 0x22, - 21083 - 19968: jis0208<<14 | 0x18<<7 | 0x43, - 21084 - 19968: jis0212<<14 | 0x12<<7 | 0x23, - 21086 - 19968: jis0208<<14 | 0x30<<7 | 0x4F, - 21087 - 19968: jis0212<<14 | 0x12<<7 | 0x24, - 21088 - 19968: jis0212<<14 | 0x12<<7 | 0x25, - 21089 - 19968: jis0212<<14 | 0x12<<7 | 0x26, - 21091 - 19968: jis0208<<14 | 0x16<<7 | 0x54, - 21092 - 19968: jis0208<<14 | 0x19<<7 | 0x3D, - 21093 - 19968: jis0208<<14 | 0x26<<7 | 0x4C, - 21094 - 19968: jis0212<<14 | 0x12<<7 | 0x27, - 21097 - 19968: jis0208<<14 | 0x30<<7 | 0x53, - 21098 - 19968: jis0208<<14 | 0x30<<7 | 0x51, - 21102 - 19968: jis0212<<14 | 0x12<<7 | 0x28, - 21103 - 19968: jis0208<<14 | 0x28<<7 | 0x5A, - 21104 - 19968: jis0208<<14 | 0x1D<<7 | 0x49, - 21105 - 19968: jis0208<<14 | 0x30<<7 | 0x5A, - 21106 - 19968: jis0208<<14 | 0x12<<7 | 0x43, - 21107 - 19968: jis0208<<14 | 0x30<<7 | 0x54, - 21108 - 19968: jis0208<<14 | 0x30<<7 | 0x52, - 21109 - 19968: jis0208<<14 | 0x20<<7 | 0x2E, - 21111 - 19968: jis0212<<14 | 0x12<<7 | 0x29, - 21112 - 19968: jis0212<<14 | 0x12<<7 | 0x2A, - 21113 - 19968: jis0212<<14 | 0x12<<7 | 0x2B, - 21117 - 19968: jis0208<<14 | 0x30<<7 | 0x56, - 21119 - 19968: jis0208<<14 | 0x30<<7 | 0x55, - 21120 - 19968: jis0212<<14 | 0x12<<7 | 0x2C, - 21122 - 19968: jis0212<<14 | 0x12<<7 | 0x2D, - 21123 - 19968: jis0208<<14 | 0x12<<7 | 0x23, - 21125 - 19968: jis0212<<14 | 0x12<<7 | 0x2E, - 21127 - 19968: jis0208<<14 | 0x16<<7 | 0x3F, - 21128 - 19968: jis0208<<14 | 0x30<<7 | 0x5B, - 21129 - 19968: jis0208<<14 | 0x2D<<7 | 0x0C, - 21130 - 19968: jis0212<<14 | 0x12<<7 | 0x2F, - 21132 - 19968: jis0212<<14 | 0x12<<7 | 0x30, - 21133 - 19968: jis0208<<14 | 0x30<<7 | 0x57, - 21137 - 19968: jis0208<<14 | 0x30<<7 | 0x5C, - 21138 - 19968: jis0208<<14 | 0x30<<7 | 0x59, - 21139 - 19968: jis0212<<14 | 0x12<<7 | 0x31, - 21140 - 19968: jis0208<<14 | 0x30<<7 | 0x58, - 21141 - 19968: jis0212<<14 | 0x12<<7 | 0x32, - 21142 - 19968: jis0212<<14 | 0x12<<7 | 0x33, - 21143 - 19968: jis0212<<14 | 0x12<<7 | 0x34, - 21144 - 19968: jis0212<<14 | 0x12<<7 | 0x35, - 21146 - 19968: jis0212<<14 | 0x12<<7 | 0x36, - 21147 - 19968: jis0208<<14 | 0x2D<<7 | 0x2E, - 21148 - 19968: jis0208<<14 | 0x58<<7 | 0x28, - 21151 - 19968: jis0208<<14 | 0x17<<7 | 0x58, - 21152 - 19968: jis0208<<14 | 0x11<<7 | 0x22, - 21155 - 19968: jis0208<<14 | 0x2D<<7 | 0x53, - 21156 - 19968: jis0212<<14 | 0x12<<7 | 0x38, - 21157 - 19968: jis0212<<14 | 0x12<<7 | 0x39, - 21158 - 19968: jis0208<<14 | 0x58<<7 | 0x29, - 21159 - 19968: jis0212<<14 | 0x12<<7 | 0x3B, - 21161 - 19968: jis0208<<14 | 0x1C<<7 | 0x54, - 21162 - 19968: jis0208<<14 | 0x24<<7 | 0x37, - 21163 - 19968: jis0208<<14 | 0x18<<7 | 0x44, - 21164 - 19968: jis0208<<14 | 0x31<<7 | 0x01, - 21165 - 19968: jis0208<<14 | 0x31<<7 | 0x02, - 21167 - 19968: jis0208<<14 | 0x5A<<7 | 0x1B, - 21168 - 19968: jis0212<<14 | 0x12<<7 | 0x3D, - 21169 - 19968: jis0208<<14 | 0x2D<<7 | 0x44, - 21172 - 19968: jis0208<<14 | 0x2E<<7 | 0x0A, - 21173 - 19968: jis0208<<14 | 0x31<<7 | 0x04, - 21174 - 19968: jis0212<<14 | 0x12<<7 | 0x3E, - 21175 - 19968: jis0212<<14 | 0x12<<7 | 0x3F, - 21176 - 19968: jis0212<<14 | 0x12<<7 | 0x40, - 21177 - 19968: jis0208<<14 | 0x17<<7 | 0x59, - 21178 - 19968: jis0212<<14 | 0x12<<7 | 0x41, - 21179 - 19968: jis0212<<14 | 0x12<<7 | 0x42, - 21180 - 19968: jis0208<<14 | 0x31<<7 | 0x03, - 21181 - 19968: jis0212<<14 | 0x12<<7 | 0x43, - 21182 - 19968: jis0208<<14 | 0x12<<7 | 0x0E, - 21184 - 19968: jis0208<<14 | 0x58<<7 | 0x2A, - 21185 - 19968: jis0208<<14 | 0x31<<7 | 0x05, - 21187 - 19968: jis0208<<14 | 0x2A<<7 | 0x35, - 21188 - 19968: jis0212<<14 | 0x12<<7 | 0x45, - 21189 - 19968: jis0208<<14 | 0x23<<7 | 0x1B, - 21190 - 19968: jis0212<<14 | 0x12<<7 | 0x46, - 21191 - 19968: jis0208<<14 | 0x2C<<7 | 0x05, - 21192 - 19968: jis0212<<14 | 0x12<<7 | 0x47, - 21193 - 19968: jis0208<<14 | 0x29<<7 | 0x38, - 21196 - 19968: jis0212<<14 | 0x12<<7 | 0x48, - 21197 - 19968: jis0208<<14 | 0x31<<7 | 0x06, - 21199 - 19968: jis0212<<14 | 0x12<<7 | 0x49, - 21201 - 19968: jis0212<<14 | 0x12<<7 | 0x4A, - 21202 - 19968: jis0208<<14 | 0x4F<<7 | 0x34, - 21204 - 19968: jis0212<<14 | 0x12<<7 | 0x4B, - 21205 - 19968: jis0208<<14 | 0x25<<7 | 0x0F, - 21206 - 19968: jis0212<<14 | 0x12<<7 | 0x4C, - 21207 - 19968: jis0208<<14 | 0x31<<7 | 0x07, - 21208 - 19968: jis0208<<14 | 0x13<<7 | 0x09, - 21209 - 19968: jis0208<<14 | 0x2B<<7 | 0x12, - 21211 - 19968: jis0208<<14 | 0x58<<7 | 0x2B, - 21212 - 19968: jis0212<<14 | 0x12<<7 | 0x4E, - 21213 - 19968: jis0208<<14 | 0x1D<<7 | 0x00, - 21214 - 19968: jis0208<<14 | 0x31<<7 | 0x08, - 21215 - 19968: jis0208<<14 | 0x29<<7 | 0x46, - 21216 - 19968: jis0208<<14 | 0x31<<7 | 0x0C, - 21217 - 19968: jis0212<<14 | 0x12<<7 | 0x4F, - 21218 - 19968: jis0208<<14 | 0x1F<<7 | 0x09, - 21219 - 19968: jis0208<<14 | 0x31<<7 | 0x09, - 21220 - 19968: jis0208<<14 | 0x15<<7 | 0x2F, - 21221 - 19968: jis0212<<14 | 0x12<<7 | 0x50, - 21222 - 19968: jis0208<<14 | 0x31<<7 | 0x0A, - 21223 - 19968: jis0208<<14 | 0x13<<7 | 0x0A, - 21224 - 19968: jis0212<<14 | 0x12<<7 | 0x51, - 21225 - 19968: jis0212<<14 | 0x12<<7 | 0x52, - 21226 - 19968: jis0212<<14 | 0x12<<7 | 0x53, - 21228 - 19968: jis0212<<14 | 0x12<<7 | 0x54, - 21232 - 19968: jis0212<<14 | 0x12<<7 | 0x55, - 21233 - 19968: jis0212<<14 | 0x12<<7 | 0x56, - 21234 - 19968: jis0208<<14 | 0x16<<7 | 0x0D, - 21235 - 19968: jis0208<<14 | 0x31<<7 | 0x0D, - 21236 - 19968: jis0212<<14 | 0x12<<7 | 0x57, - 21237 - 19968: jis0208<<14 | 0x31<<7 | 0x0E, - 21238 - 19968: jis0212<<14 | 0x12<<7 | 0x58, - 21239 - 19968: jis0212<<14 | 0x12<<7 | 0x59, - 21240 - 19968: jis0208<<14 | 0x31<<7 | 0x0F, - 21241 - 19968: jis0208<<14 | 0x31<<7 | 0x10, - 21242 - 19968: jis0208<<14 | 0x1B<<7 | 0x3A, - 21246 - 19968: jis0208<<14 | 0x17<<7 | 0x5A, - 21247 - 19968: jis0208<<14 | 0x2B<<7 | 0x3D, - 21248 - 19968: jis0208<<14 | 0x58<<7 | 0x2C, - 21249 - 19968: jis0208<<14 | 0x2B<<7 | 0x47, - 21250 - 19968: jis0208<<14 | 0x25<<7 | 0x56, - 21251 - 19968: jis0212<<14 | 0x12<<7 | 0x5B, - 21253 - 19968: jis0208<<14 | 0x29<<7 | 0x50, - 21254 - 19968: jis0208<<14 | 0x31<<7 | 0x11, - 21255 - 19968: jis0208<<14 | 0x58<<7 | 0x2D, - 21256 - 19968: jis0208<<14 | 0x31<<7 | 0x12, - 21258 - 19968: jis0212<<14 | 0x12<<7 | 0x5C, - 21259 - 19968: jis0212<<14 | 0x12<<7 | 0x5D, - 21260 - 19968: jis0212<<14 | 0x13<<7 | 0x00, - 21261 - 19968: jis0208<<14 | 0x31<<7 | 0x14, - 21263 - 19968: jis0208<<14 | 0x31<<7 | 0x16, - 21264 - 19968: jis0208<<14 | 0x31<<7 | 0x15, - 21265 - 19968: jis0212<<14 | 0x13<<7 | 0x01, - 21267 - 19968: jis0212<<14 | 0x13<<7 | 0x02, - 21269 - 19968: jis0208<<14 | 0x31<<7 | 0x17, - 21270 - 19968: jis0208<<14 | 0x11<<7 | 0x1C, - 21271 - 19968: jis0208<<14 | 0x2A<<7 | 0x2B, - 21272 - 19968: jis0212<<14 | 0x13<<7 | 0x03, - 21273 - 19968: jis0208<<14 | 0x19<<7 | 0x5B, - 21274 - 19968: jis0208<<14 | 0x31<<7 | 0x18, - 21275 - 19968: jis0212<<14 | 0x13<<7 | 0x04, - 21276 - 19968: jis0212<<14 | 0x13<<7 | 0x05, - 21277 - 19968: jis0208<<14 | 0x20<<7 | 0x38, - 21278 - 19968: jis0212<<14 | 0x13<<7 | 0x06, - 21279 - 19968: jis0212<<14 | 0x13<<7 | 0x07, - 21280 - 19968: jis0208<<14 | 0x1D<<7 | 0x01, - 21281 - 19968: jis0208<<14 | 0x15<<7 | 0x08, - 21283 - 19968: jis0208<<14 | 0x31<<7 | 0x19, - 21284 - 19968: jis0208<<14 | 0x58<<7 | 0x2E, - 21285 - 19968: jis0212<<14 | 0x13<<7 | 0x08, - 21287 - 19968: jis0212<<14 | 0x13<<7 | 0x09, - 21288 - 19968: jis0212<<14 | 0x13<<7 | 0x0A, - 21289 - 19968: jis0212<<14 | 0x13<<7 | 0x0B, - 21290 - 19968: jis0208<<14 | 0x27<<7 | 0x3A, - 21291 - 19968: jis0212<<14 | 0x13<<7 | 0x0C, - 21292 - 19968: jis0212<<14 | 0x13<<7 | 0x0D, - 21293 - 19968: jis0212<<14 | 0x13<<7 | 0x0E, - 21295 - 19968: jis0208<<14 | 0x31<<7 | 0x1A, - 21296 - 19968: jis0212<<14 | 0x13<<7 | 0x0F, - 21297 - 19968: jis0208<<14 | 0x31<<7 | 0x1B, - 21298 - 19968: jis0212<<14 | 0x13<<7 | 0x10, - 21299 - 19968: jis0208<<14 | 0x31<<7 | 0x1C, - 21301 - 19968: jis0212<<14 | 0x13<<7 | 0x11, - 21304 - 19968: jis0208<<14 | 0x31<<7 | 0x1D, - 21305 - 19968: jis0208<<14 | 0x28<<7 | 0x03, - 21306 - 19968: jis0208<<14 | 0x15<<7 | 0x47, - 21307 - 19968: jis0208<<14 | 0x0F<<7 | 0x44, - 21308 - 19968: jis0212<<14 | 0x13<<7 | 0x12, - 21309 - 19968: jis0212<<14 | 0x13<<7 | 0x13, - 21310 - 19968: jis0212<<14 | 0x13<<7 | 0x14, - 21311 - 19968: jis0208<<14 | 0x25<<7 | 0x1E, - 21312 - 19968: jis0208<<14 | 0x31<<7 | 0x1E, - 21313 - 19968: jis0208<<14 | 0x1C<<7 | 0x1C, - 21314 - 19968: jis0212<<14 | 0x13<<7 | 0x15, - 21315 - 19968: jis0208<<14 | 0x1F<<7 | 0x48, - 21317 - 19968: jis0208<<14 | 0x31<<7 | 0x20, - 21318 - 19968: jis0208<<14 | 0x31<<7 | 0x1F, - 21319 - 19968: jis0208<<14 | 0x1D<<7 | 0x02, - 21320 - 19968: jis0208<<14 | 0x17<<7 | 0x40, - 21321 - 19968: jis0208<<14 | 0x31<<7 | 0x22, - 21322 - 19968: jis0208<<14 | 0x27<<7 | 0x1D, - 21323 - 19968: jis0212<<14 | 0x13<<7 | 0x17, - 21324 - 19968: jis0212<<14 | 0x13<<7 | 0x16, - 21325 - 19968: jis0208<<14 | 0x31<<7 | 0x23, - 21329 - 19968: jis0208<<14 | 0x27<<7 | 0x3B, - 21330 - 19968: jis0208<<14 | 0x21<<7 | 0x13, - 21331 - 19968: jis0208<<14 | 0x21<<7 | 0x4D, - 21332 - 19968: jis0208<<14 | 0x15<<7 | 0x07, - 21335 - 19968: jis0208<<14 | 0x25<<7 | 0x4D, - 21336 - 19968: jis0208<<14 | 0x22<<7 | 0x10, - 21337 - 19968: jis0212<<14 | 0x13<<7 | 0x18, - 21338 - 19968: jis0208<<14 | 0x26<<7 | 0x4D, - 21339 - 19968: jis0212<<14 | 0x13<<7 | 0x19, - 21340 - 19968: jis0208<<14 | 0x2A<<7 | 0x2D, - 21342 - 19968: jis0208<<14 | 0x31<<7 | 0x25, - 21344 - 19968: jis0208<<14 | 0x1F<<7 | 0x49, - 21345 - 19968: jis0212<<14 | 0x13<<7 | 0x1A, - 21347 - 19968: jis0212<<14 | 0x13<<7 | 0x1B, - 21349 - 19968: jis0212<<14 | 0x13<<7 | 0x1C, - 21350 - 19968: jis0208<<14 | 0x16<<7 | 0x14, - 21353 - 19968: jis0208<<14 | 0x31<<7 | 0x26, - 21356 - 19968: jis0212<<14 | 0x13<<7 | 0x1D, - 21357 - 19968: jis0212<<14 | 0x13<<7 | 0x1E, - 21358 - 19968: jis0208<<14 | 0x31<<7 | 0x27, - 21359 - 19968: jis0208<<14 | 0x10<<7 | 0x0B, - 21360 - 19968: jis0208<<14 | 0x0F<<7 | 0x54, - 21361 - 19968: jis0208<<14 | 0x13<<7 | 0x4C, - 21362 - 19968: jis0208<<14 | 0x58<<7 | 0x2F, - 21363 - 19968: jis0208<<14 | 0x21<<7 | 0x07, - 21364 - 19968: jis0208<<14 | 0x14<<7 | 0x30, - 21365 - 19968: jis0208<<14 | 0x2C<<7 | 0x50, - 21367 - 19968: jis0208<<14 | 0x31<<7 | 0x2A, - 21368 - 19968: jis0208<<14 | 0x11<<7 | 0x16, - 21369 - 19968: jis0212<<14 | 0x13<<7 | 0x20, - 21371 - 19968: jis0208<<14 | 0x31<<7 | 0x29, - 21374 - 19968: jis0212<<14 | 0x13<<7 | 0x21, - 21375 - 19968: jis0208<<14 | 0x15<<7 | 0x09, - 21378 - 19968: jis0208<<14 | 0x31<<7 | 0x2B, - 21379 - 19968: jis0212<<14 | 0x13<<7 | 0x22, - 21380 - 19968: jis0208<<14 | 0x2B<<7 | 0x50, - 21383 - 19968: jis0212<<14 | 0x13<<7 | 0x23, - 21384 - 19968: jis0212<<14 | 0x13<<7 | 0x24, - 21390 - 19968: jis0212<<14 | 0x13<<7 | 0x25, - 21395 - 19968: jis0208<<14 | 0x58<<7 | 0x30, - 21396 - 19968: jis0212<<14 | 0x13<<7 | 0x27, - 21398 - 19968: jis0208<<14 | 0x31<<7 | 0x2C, - 21400 - 19968: jis0208<<14 | 0x2D<<7 | 0x31, - 21401 - 19968: jis0212<<14 | 0x13<<7 | 0x28, - 21402 - 19968: jis0208<<14 | 0x17<<7 | 0x5B, - 21405 - 19968: jis0212<<14 | 0x13<<7 | 0x29, - 21407 - 19968: jis0208<<14 | 0x17<<7 | 0x15, - 21408 - 19968: jis0208<<14 | 0x31<<7 | 0x2D, - 21409 - 19968: jis0212<<14 | 0x13<<7 | 0x2A, - 21412 - 19968: jis0212<<14 | 0x13<<7 | 0x2B, - 21413 - 19968: jis0208<<14 | 0x31<<7 | 0x2F, - 21414 - 19968: jis0208<<14 | 0x31<<7 | 0x2E, - 21416 - 19968: jis0208<<14 | 0x1E<<7 | 0x3E, - 21417 - 19968: jis0208<<14 | 0x10<<7 | 0x18, - 21418 - 19968: jis0212<<14 | 0x13<<7 | 0x2C, - 21419 - 19968: jis0212<<14 | 0x13<<7 | 0x2D, - 21421 - 19968: jis0208<<14 | 0x10<<7 | 0x3D, - 21422 - 19968: jis0208<<14 | 0x31<<7 | 0x30, - 21423 - 19968: jis0212<<14 | 0x13<<7 | 0x2E, - 21424 - 19968: jis0208<<14 | 0x31<<7 | 0x31, - 21426 - 19968: jis0208<<14 | 0x58<<7 | 0x31, - 21427 - 19968: jis0208<<14 | 0x17<<7 | 0x16, - 21428 - 19968: jis0212<<14 | 0x13<<7 | 0x30, - 21429 - 19968: jis0212<<14 | 0x13<<7 | 0x31, - 21430 - 19968: jis0208<<14 | 0x31<<7 | 0x32, - 21431 - 19968: jis0212<<14 | 0x13<<7 | 0x32, - 21432 - 19968: jis0212<<14 | 0x13<<7 | 0x33, - 21434 - 19968: jis0212<<14 | 0x13<<7 | 0x34, - 21435 - 19968: jis0208<<14 | 0x14<<7 | 0x4D, - 21437 - 19968: jis0212<<14 | 0x13<<7 | 0x35, - 21440 - 19968: jis0212<<14 | 0x13<<7 | 0x36, - 21442 - 19968: jis0208<<14 | 0x1A<<7 | 0x11, - 21443 - 19968: jis0208<<14 | 0x31<<7 | 0x33, - 21445 - 19968: jis0212<<14 | 0x13<<7 | 0x37, - 21448 - 19968: jis0208<<14 | 0x2A<<7 | 0x53, - 21449 - 19968: jis0208<<14 | 0x19<<7 | 0x14, - 21450 - 19968: jis0208<<14 | 0x14<<7 | 0x39, - 21451 - 19968: jis0208<<14 | 0x2C<<7 | 0x06, - 21452 - 19968: jis0208<<14 | 0x20<<7 | 0x2F, - 21453 - 19968: jis0208<<14 | 0x27<<7 | 0x1E, - 21454 - 19968: jis0208<<14 | 0x1B<<7 | 0x5C, - 21455 - 19968: jis0212<<14 | 0x13<<7 | 0x38, - 21458 - 19968: jis0212<<14 | 0x13<<7 | 0x39, - 21459 - 19968: jis0212<<14 | 0x13<<7 | 0x3A, - 21460 - 19968: jis0208<<14 | 0x1C<<7 | 0x26, - 21461 - 19968: jis0212<<14 | 0x13<<7 | 0x3B, - 21462 - 19968: jis0208<<14 | 0x1B<<7 | 0x47, - 21463 - 19968: jis0208<<14 | 0x1B<<7 | 0x54, - 21465 - 19968: jis0208<<14 | 0x1C<<7 | 0x55, - 21466 - 19968: jis0212<<14 | 0x13<<7 | 0x3C, - 21467 - 19968: jis0208<<14 | 0x27<<7 | 0x1F, - 21469 - 19968: jis0208<<14 | 0x58<<7 | 0x32, - 21470 - 19968: jis0212<<14 | 0x13<<7 | 0x3E, - 21471 - 19968: jis0208<<14 | 0x31<<7 | 0x36, - 21472 - 19968: jis0212<<14 | 0x13<<7 | 0x3F, - 21473 - 19968: jis0208<<14 | 0x10<<7 | 0x22, - 21474 - 19968: jis0208<<14 | 0x20<<7 | 0x30, - 21475 - 19968: jis0208<<14 | 0x17<<7 | 0x5C, - 21476 - 19968: jis0208<<14 | 0x17<<7 | 0x24, - 21477 - 19968: jis0208<<14 | 0x15<<7 | 0x46, - 21478 - 19968: jis0212<<14 | 0x13<<7 | 0x40, - 21479 - 19968: jis0212<<14 | 0x13<<7 | 0x41, - 21480 - 19968: jis0208<<14 | 0x31<<7 | 0x3A, - 21481 - 19968: jis0208<<14 | 0x22<<7 | 0x00, - 21482 - 19968: jis0208<<14 | 0x21<<7 | 0x5D, - 21483 - 19968: jis0208<<14 | 0x15<<7 | 0x0A, - 21484 - 19968: jis0208<<14 | 0x1D<<7 | 0x03, - 21485 - 19968: jis0208<<14 | 0x31<<7 | 0x3B, - 21486 - 19968: jis0208<<14 | 0x31<<7 | 0x39, - 21487 - 19968: jis0208<<14 | 0x11<<7 | 0x23, - 21488 - 19968: jis0208<<14 | 0x21<<7 | 0x45, - 21489 - 19968: jis0208<<14 | 0x1B<<7 | 0x17, - 21490 - 19968: jis0208<<14 | 0x1A<<7 | 0x2A, - 21491 - 19968: jis0208<<14 | 0x10<<7 | 0x05, - 21493 - 19968: jis0212<<14 | 0x13<<7 | 0x42, - 21494 - 19968: jis0208<<14 | 0x12<<7 | 0x4F, - 21495 - 19968: jis0208<<14 | 0x18<<7 | 0x45, - 21496 - 19968: jis0208<<14 | 0x1A<<7 | 0x29, - 21498 - 19968: jis0208<<14 | 0x31<<7 | 0x3C, - 21505 - 19968: jis0208<<14 | 0x31<<7 | 0x3D, - 21506 - 19968: jis0212<<14 | 0x13<<7 | 0x43, - 21507 - 19968: jis0208<<14 | 0x14<<7 | 0x28, - 21508 - 19968: jis0208<<14 | 0x12<<7 | 0x25, - 21512 - 19968: jis0208<<14 | 0x18<<7 | 0x46, - 21513 - 19968: jis0208<<14 | 0x14<<7 | 0x27, - 21514 - 19968: jis0208<<14 | 0x23<<7 | 0x3E, - 21515 - 19968: jis0208<<14 | 0x10<<7 | 0x04, - 21516 - 19968: jis0208<<14 | 0x25<<7 | 0x10, - 21517 - 19968: jis0208<<14 | 0x2B<<7 | 0x1D, - 21518 - 19968: jis0208<<14 | 0x18<<7 | 0x00, - 21519 - 19968: jis0208<<14 | 0x2C<<7 | 0x58, - 21520 - 19968: jis0208<<14 | 0x24<<7 | 0x26, - 21521 - 19968: jis0208<<14 | 0x17<<7 | 0x5D, - 21523 - 19968: jis0212<<14 | 0x13<<7 | 0x44, - 21530 - 19968: jis0212<<14 | 0x13<<7 | 0x45, - 21531 - 19968: jis0208<<14 | 0x16<<7 | 0x0E, - 21533 - 19968: jis0208<<14 | 0x31<<7 | 0x46, - 21535 - 19968: jis0208<<14 | 0x15<<7 | 0x42, - 21536 - 19968: jis0208<<14 | 0x2A<<7 | 0x29, - 21537 - 19968: jis0212<<14 | 0x13<<7 | 0x46, - 21542 - 19968: jis0208<<14 | 0x27<<7 | 0x3C, - 21543 - 19968: jis0212<<14 | 0x13<<7 | 0x47, - 21544 - 19968: jis0212<<14 | 0x13<<7 | 0x48, - 21545 - 19968: jis0208<<14 | 0x31<<7 | 0x45, - 21546 - 19968: jis0212<<14 | 0x13<<7 | 0x49, - 21547 - 19968: jis0208<<14 | 0x13<<7 | 0x3D, - 21548 - 19968: jis0208<<14 | 0x31<<7 | 0x40, - 21549 - 19968: jis0208<<14 | 0x31<<7 | 0x41, - 21550 - 19968: jis0208<<14 | 0x31<<7 | 0x43, - 21551 - 19968: jis0212<<14 | 0x13<<7 | 0x4A, - 21553 - 19968: jis0212<<14 | 0x13<<7 | 0x4B, - 21556 - 19968: jis0212<<14 | 0x13<<7 | 0x4C, - 21557 - 19968: jis0212<<14 | 0x13<<7 | 0x4D, - 21558 - 19968: jis0208<<14 | 0x31<<7 | 0x44, - 21560 - 19968: jis0208<<14 | 0x14<<7 | 0x3A, - 21561 - 19968: jis0208<<14 | 0x1E<<7 | 0x40, - 21563 - 19968: jis0208<<14 | 0x29<<7 | 0x0C, - 21564 - 19968: jis0208<<14 | 0x31<<7 | 0x42, - 21565 - 19968: jis0208<<14 | 0x31<<7 | 0x3E, - 21566 - 19968: jis0208<<14 | 0x17<<7 | 0x42, - 21568 - 19968: jis0208<<14 | 0x31<<7 | 0x3F, - 21570 - 19968: jis0208<<14 | 0x2E<<7 | 0x03, - 21571 - 19968: jis0212<<14 | 0x13<<7 | 0x4E, - 21572 - 19968: jis0212<<14 | 0x13<<7 | 0x4F, - 21574 - 19968: jis0208<<14 | 0x29<<7 | 0x51, - 21575 - 19968: jis0212<<14 | 0x13<<7 | 0x50, - 21576 - 19968: jis0208<<14 | 0x23<<7 | 0x47, - 21577 - 19968: jis0208<<14 | 0x17<<7 | 0x41, - 21578 - 19968: jis0208<<14 | 0x18<<7 | 0x4F, - 21581 - 19968: jis0212<<14 | 0x13<<7 | 0x51, - 21582 - 19968: jis0208<<14 | 0x31<<7 | 0x47, - 21583 - 19968: jis0212<<14 | 0x13<<7 | 0x52, - 21585 - 19968: jis0208<<14 | 0x25<<7 | 0x3C, - 21598 - 19968: jis0212<<14 | 0x13<<7 | 0x53, - 21599 - 19968: jis0208<<14 | 0x31<<7 | 0x4B, - 21602 - 19968: jis0212<<14 | 0x13<<7 | 0x54, - 21604 - 19968: jis0212<<14 | 0x13<<7 | 0x55, - 21606 - 19968: jis0212<<14 | 0x13<<7 | 0x56, - 21607 - 19968: jis0212<<14 | 0x13<<7 | 0x57, - 21608 - 19968: jis0208<<14 | 0x1B<<7 | 0x5D, - 21609 - 19968: jis0212<<14 | 0x13<<7 | 0x58, - 21610 - 19968: jis0208<<14 | 0x1B<<7 | 0x55, - 21611 - 19968: jis0212<<14 | 0x13<<7 | 0x59, - 21613 - 19968: jis0212<<14 | 0x13<<7 | 0x5A, - 21614 - 19968: jis0212<<14 | 0x13<<7 | 0x5B, - 21616 - 19968: jis0208<<14 | 0x31<<7 | 0x4E, - 21617 - 19968: jis0208<<14 | 0x31<<7 | 0x4C, - 21619 - 19968: jis0208<<14 | 0x2B<<7 | 0x02, - 21620 - 19968: jis0212<<14 | 0x13<<7 | 0x5C, - 21621 - 19968: jis0208<<14 | 0x31<<7 | 0x49, - 21622 - 19968: jis0208<<14 | 0x31<<7 | 0x52, - 21623 - 19968: jis0208<<14 | 0x31<<7 | 0x4D, - 21627 - 19968: jis0208<<14 | 0x31<<7 | 0x50, - 21628 - 19968: jis0208<<14 | 0x17<<7 | 0x25, - 21629 - 19968: jis0208<<14 | 0x2B<<7 | 0x1E, - 21631 - 19968: jis0212<<14 | 0x13<<7 | 0x5D, - 21632 - 19968: jis0208<<14 | 0x31<<7 | 0x51, - 21633 - 19968: jis0212<<14 | 0x14<<7 | 0x00, - 21635 - 19968: jis0212<<14 | 0x14<<7 | 0x01, - 21636 - 19968: jis0208<<14 | 0x31<<7 | 0x53, - 21637 - 19968: jis0212<<14 | 0x14<<7 | 0x02, - 21638 - 19968: jis0208<<14 | 0x31<<7 | 0x55, - 21640 - 19968: jis0212<<14 | 0x14<<7 | 0x03, - 21641 - 19968: jis0212<<14 | 0x14<<7 | 0x04, - 21642 - 19968: jis0208<<14 | 0x58<<7 | 0x35, - 21643 - 19968: jis0208<<14 | 0x19<<7 | 0x4F, - 21644 - 19968: jis0208<<14 | 0x2E<<7 | 0x21, - 21645 - 19968: jis0212<<14 | 0x14<<7 | 0x05, - 21646 - 19968: jis0208<<14 | 0x31<<7 | 0x4A, - 21647 - 19968: jis0208<<14 | 0x31<<7 | 0x48, - 21648 - 19968: jis0208<<14 | 0x31<<7 | 0x54, - 21649 - 19968: jis0212<<14 | 0x14<<7 | 0x06, - 21650 - 19968: jis0208<<14 | 0x31<<7 | 0x4F, - 21653 - 19968: jis0212<<14 | 0x14<<7 | 0x07, - 21654 - 19968: jis0212<<14 | 0x14<<7 | 0x08, - 21660 - 19968: jis0208<<14 | 0x58<<7 | 0x34, - 21663 - 19968: jis0212<<14 | 0x14<<7 | 0x0A, - 21665 - 19968: jis0212<<14 | 0x14<<7 | 0x0B, - 21666 - 19968: jis0208<<14 | 0x31<<7 | 0x57, - 21668 - 19968: jis0208<<14 | 0x32<<7 | 0x02, - 21669 - 19968: jis0208<<14 | 0x31<<7 | 0x59, - 21670 - 19968: jis0212<<14 | 0x14<<7 | 0x0C, - 21671 - 19968: jis0212<<14 | 0x14<<7 | 0x0D, - 21672 - 19968: jis0208<<14 | 0x31<<7 | 0x5D, - 21673 - 19968: jis0208<<14 | 0x58<<7 | 0x36, - 21674 - 19968: jis0212<<14 | 0x14<<7 | 0x0F, - 21675 - 19968: jis0208<<14 | 0x32<<7 | 0x00, - 21676 - 19968: jis0208<<14 | 0x31<<7 | 0x5A, - 21677 - 19968: jis0212<<14 | 0x14<<7 | 0x10, - 21678 - 19968: jis0212<<14 | 0x14<<7 | 0x11, - 21679 - 19968: jis0208<<14 | 0x32<<7 | 0x1D, - 21681 - 19968: jis0212<<14 | 0x14<<7 | 0x12, - 21682 - 19968: jis0208<<14 | 0x19<<7 | 0x48, - 21683 - 19968: jis0208<<14 | 0x12<<7 | 0x10, - 21687 - 19968: jis0212<<14 | 0x14<<7 | 0x13, - 21688 - 19968: jis0208<<14 | 0x31<<7 | 0x58, - 21689 - 19968: jis0212<<14 | 0x14<<7 | 0x14, - 21690 - 19968: jis0212<<14 | 0x14<<7 | 0x15, - 21691 - 19968: jis0212<<14 | 0x14<<7 | 0x16, - 21692 - 19968: jis0208<<14 | 0x32<<7 | 0x04, - 21693 - 19968: jis0208<<14 | 0x0F<<7 | 0x55, - 21694 - 19968: jis0208<<14 | 0x32<<7 | 0x03, - 21695 - 19968: jis0212<<14 | 0x14<<7 | 0x17, - 21696 - 19968: jis0208<<14 | 0x0F<<7 | 0x04, - 21697 - 19968: jis0208<<14 | 0x28<<7 | 0x29, - 21698 - 19968: jis0208<<14 | 0x32<<7 | 0x01, - 21700 - 19968: jis0208<<14 | 0x31<<7 | 0x5B, - 21702 - 19968: jis0212<<14 | 0x14<<7 | 0x18, - 21703 - 19968: jis0208<<14 | 0x31<<7 | 0x56, - 21704 - 19968: jis0208<<14 | 0x31<<7 | 0x5C, - 21705 - 19968: jis0208<<14 | 0x19<<7 | 0x27, - 21706 - 19968: jis0212<<14 | 0x14<<7 | 0x19, - 21709 - 19968: jis0212<<14 | 0x14<<7 | 0x1A, - 21710 - 19968: jis0212<<14 | 0x14<<7 | 0x1B, - 21720 - 19968: jis0208<<14 | 0x32<<7 | 0x05, - 21728 - 19968: jis0212<<14 | 0x14<<7 | 0x1C, - 21729 - 19968: jis0208<<14 | 0x0F<<7 | 0x56, - 21730 - 19968: jis0208<<14 | 0x32<<7 | 0x0E, - 21733 - 19968: jis0208<<14 | 0x32<<7 | 0x06, - 21734 - 19968: jis0208<<14 | 0x32<<7 | 0x07, - 21736 - 19968: jis0208<<14 | 0x1D<<7 | 0x04, - 21737 - 19968: jis0208<<14 | 0x2A<<7 | 0x48, - 21738 - 19968: jis0212<<14 | 0x14<<7 | 0x1D, - 21740 - 19968: jis0212<<14 | 0x14<<7 | 0x1E, - 21741 - 19968: jis0208<<14 | 0x32<<7 | 0x0C, - 21742 - 19968: jis0208<<14 | 0x32<<7 | 0x0B, - 21743 - 19968: jis0212<<14 | 0x14<<7 | 0x1F, - 21746 - 19968: jis0208<<14 | 0x24<<7 | 0x0E, - 21750 - 19968: jis0212<<14 | 0x14<<7 | 0x20, - 21754 - 19968: jis0208<<14 | 0x32<<7 | 0x0D, - 21756 - 19968: jis0212<<14 | 0x14<<7 | 0x21, - 21757 - 19968: jis0208<<14 | 0x32<<7 | 0x0A, - 21758 - 19968: jis0212<<14 | 0x14<<7 | 0x22, - 21759 - 19968: jis0208<<14 | 0x58<<7 | 0x37, - 21760 - 19968: jis0212<<14 | 0x14<<7 | 0x24, - 21761 - 19968: jis0212<<14 | 0x14<<7 | 0x25, - 21764 - 19968: jis0208<<14 | 0x10<<7 | 0x13, - 21765 - 19968: jis0212<<14 | 0x14<<7 | 0x26, - 21766 - 19968: jis0208<<14 | 0x19<<7 | 0x15, - 21767 - 19968: jis0208<<14 | 0x1E<<7 | 0x0F, - 21768 - 19968: jis0212<<14 | 0x14<<7 | 0x27, - 21769 - 19968: jis0212<<14 | 0x14<<7 | 0x28, - 21772 - 19968: jis0212<<14 | 0x14<<7 | 0x29, - 21773 - 19968: jis0212<<14 | 0x14<<7 | 0x2A, - 21774 - 19968: jis0212<<14 | 0x14<<7 | 0x2B, - 21775 - 19968: jis0208<<14 | 0x32<<7 | 0x08, - 21776 - 19968: jis0208<<14 | 0x24<<7 | 0x41, - 21780 - 19968: jis0208<<14 | 0x32<<7 | 0x09, - 21781 - 19968: jis0212<<14 | 0x14<<7 | 0x2C, - 21782 - 19968: jis0208<<14 | 0x0F<<7 | 0x01, - 21802 - 19968: jis0212<<14 | 0x14<<7 | 0x2D, - 21803 - 19968: jis0212<<14 | 0x14<<7 | 0x2E, - 21806 - 19968: jis0208<<14 | 0x32<<7 | 0x13, - 21807 - 19968: jis0208<<14 | 0x2C<<7 | 0x02, - 21809 - 19968: jis0208<<14 | 0x1D<<7 | 0x06, - 21810 - 19968: jis0212<<14 | 0x14<<7 | 0x2F, - 21811 - 19968: jis0208<<14 | 0x32<<7 | 0x19, - 21813 - 19968: jis0212<<14 | 0x14<<7 | 0x30, - 21814 - 19968: jis0212<<14 | 0x14<<7 | 0x31, - 21816 - 19968: jis0208<<14 | 0x32<<7 | 0x18, - 21817 - 19968: jis0208<<14 | 0x32<<7 | 0x0F, - 21819 - 19968: jis0212<<14 | 0x14<<7 | 0x32, - 21820 - 19968: jis0212<<14 | 0x14<<7 | 0x33, - 21821 - 19968: jis0212<<14 | 0x14<<7 | 0x34, - 21822 - 19968: jis0208<<14 | 0x21<<7 | 0x22, - 21824 - 19968: jis0208<<14 | 0x32<<7 | 0x10, - 21825 - 19968: jis0212<<14 | 0x14<<7 | 0x35, - 21828 - 19968: jis0208<<14 | 0x21<<7 | 0x4E, - 21829 - 19968: jis0208<<14 | 0x32<<7 | 0x15, - 21830 - 19968: jis0208<<14 | 0x1D<<7 | 0x05, - 21831 - 19968: jis0212<<14 | 0x14<<7 | 0x36, - 21833 - 19968: jis0212<<14 | 0x14<<7 | 0x37, - 21834 - 19968: jis0212<<14 | 0x14<<7 | 0x38, - 21836 - 19968: jis0208<<14 | 0x32<<7 | 0x12, - 21837 - 19968: jis0212<<14 | 0x14<<7 | 0x39, - 21839 - 19968: jis0208<<14 | 0x2B<<7 | 0x43, - 21840 - 19968: jis0212<<14 | 0x14<<7 | 0x3A, - 21841 - 19968: jis0212<<14 | 0x14<<7 | 0x3B, - 21843 - 19968: jis0208<<14 | 0x16<<7 | 0x1B, - 21846 - 19968: jis0208<<14 | 0x32<<7 | 0x16, - 21847 - 19968: jis0208<<14 | 0x32<<7 | 0x17, - 21848 - 19968: jis0212<<14 | 0x14<<7 | 0x3C, - 21850 - 19968: jis0212<<14 | 0x14<<7 | 0x3D, - 21851 - 19968: jis0212<<14 | 0x14<<7 | 0x3E, - 21852 - 19968: jis0208<<14 | 0x32<<7 | 0x14, - 21853 - 19968: jis0208<<14 | 0x32<<7 | 0x1A, - 21854 - 19968: jis0212<<14 | 0x14<<7 | 0x3F, - 21856 - 19968: jis0212<<14 | 0x14<<7 | 0x40, - 21857 - 19968: jis0212<<14 | 0x14<<7 | 0x41, - 21859 - 19968: jis0208<<14 | 0x32<<7 | 0x11, - 21860 - 19968: jis0212<<14 | 0x14<<7 | 0x42, - 21862 - 19968: jis0212<<14 | 0x14<<7 | 0x43, - 21883 - 19968: jis0208<<14 | 0x32<<7 | 0x20, - 21884 - 19968: jis0208<<14 | 0x32<<7 | 0x25, - 21886 - 19968: jis0208<<14 | 0x32<<7 | 0x21, - 21887 - 19968: jis0212<<14 | 0x14<<7 | 0x44, - 21888 - 19968: jis0208<<14 | 0x32<<7 | 0x1C, - 21889 - 19968: jis0212<<14 | 0x14<<7 | 0x45, - 21890 - 19968: jis0212<<14 | 0x14<<7 | 0x46, - 21891 - 19968: jis0208<<14 | 0x32<<7 | 0x26, - 21892 - 19968: jis0208<<14 | 0x20<<7 | 0x10, - 21894 - 19968: jis0208<<14 | 0x58<<7 | 0x38, - 21895 - 19968: jis0208<<14 | 0x32<<7 | 0x28, - 21896 - 19968: jis0212<<14 | 0x14<<7 | 0x48, - 21897 - 19968: jis0208<<14 | 0x18<<7 | 0x01, - 21898 - 19968: jis0208<<14 | 0x32<<7 | 0x1E, - 21899 - 19968: jis0208<<14 | 0x22<<7 | 0x5C, - 21902 - 19968: jis0212<<14 | 0x14<<7 | 0x49, - 21903 - 19968: jis0212<<14 | 0x14<<7 | 0x4A, - 21905 - 19968: jis0212<<14 | 0x14<<7 | 0x4B, - 21906 - 19968: jis0212<<14 | 0x14<<7 | 0x4C, - 21907 - 19968: jis0212<<14 | 0x14<<7 | 0x4D, - 21908 - 19968: jis0212<<14 | 0x14<<7 | 0x4E, - 21911 - 19968: jis0212<<14 | 0x14<<7 | 0x4F, - 21912 - 19968: jis0208<<14 | 0x32<<7 | 0x22, - 21913 - 19968: jis0208<<14 | 0x32<<7 | 0x1B, - 21914 - 19968: jis0208<<14 | 0x13<<7 | 0x0C, - 21916 - 19968: jis0208<<14 | 0x13<<7 | 0x4D, - 21917 - 19968: jis0208<<14 | 0x12<<7 | 0x44, - 21918 - 19968: jis0208<<14 | 0x32<<7 | 0x23, - 21919 - 19968: jis0208<<14 | 0x32<<7 | 0x1F, - 21923 - 19968: jis0212<<14 | 0x14<<7 | 0x50, - 21924 - 19968: jis0212<<14 | 0x14<<7 | 0x51, - 21927 - 19968: jis0208<<14 | 0x16<<7 | 0x55, - 21928 - 19968: jis0208<<14 | 0x32<<7 | 0x29, - 21929 - 19968: jis0208<<14 | 0x32<<7 | 0x27, - 21930 - 19968: jis0208<<14 | 0x20<<7 | 0x32, - 21931 - 19968: jis0208<<14 | 0x14<<7 | 0x29, - 21932 - 19968: jis0208<<14 | 0x15<<7 | 0x0B, - 21933 - 19968: jis0212<<14 | 0x14<<7 | 0x52, - 21934 - 19968: jis0208<<14 | 0x32<<7 | 0x24, - 21936 - 19968: jis0208<<14 | 0x15<<7 | 0x53, - 21938 - 19968: jis0212<<14 | 0x14<<7 | 0x53, - 21942 - 19968: jis0208<<14 | 0x10<<7 | 0x23, - 21951 - 19968: jis0212<<14 | 0x14<<7 | 0x54, - 21953 - 19968: jis0212<<14 | 0x14<<7 | 0x55, - 21955 - 19968: jis0212<<14 | 0x14<<7 | 0x56, - 21956 - 19968: jis0208<<14 | 0x32<<7 | 0x2D, - 21957 - 19968: jis0208<<14 | 0x32<<7 | 0x2B, - 21958 - 19968: jis0212<<14 | 0x14<<7 | 0x57, - 21959 - 19968: jis0208<<14 | 0x33<<7 | 0x06, - 21961 - 19968: jis0212<<14 | 0x14<<7 | 0x58, - 21963 - 19968: jis0212<<14 | 0x14<<7 | 0x59, - 21964 - 19968: jis0212<<14 | 0x14<<7 | 0x5A, - 21966 - 19968: jis0212<<14 | 0x14<<7 | 0x5B, - 21969 - 19968: jis0212<<14 | 0x14<<7 | 0x5C, - 21970 - 19968: jis0212<<14 | 0x14<<7 | 0x5D, - 21971 - 19968: jis0212<<14 | 0x15<<7 | 0x00, - 21972 - 19968: jis0208<<14 | 0x32<<7 | 0x30, - 21975 - 19968: jis0212<<14 | 0x15<<7 | 0x01, - 21976 - 19968: jis0212<<14 | 0x15<<7 | 0x02, - 21978 - 19968: jis0208<<14 | 0x32<<7 | 0x2A, - 21979 - 19968: jis0212<<14 | 0x15<<7 | 0x03, - 21980 - 19968: jis0208<<14 | 0x32<<7 | 0x2E, - 21982 - 19968: jis0212<<14 | 0x15<<7 | 0x04, - 21983 - 19968: jis0208<<14 | 0x32<<7 | 0x2C, - 21986 - 19968: jis0212<<14 | 0x15<<7 | 0x05, - 21987 - 19968: jis0208<<14 | 0x1A<<7 | 0x2B, - 21988 - 19968: jis0208<<14 | 0x32<<7 | 0x2F, - 21993 - 19968: jis0212<<14 | 0x15<<7 | 0x06, - 22006 - 19968: jis0212<<14 | 0x15<<7 | 0x07, - 22007 - 19968: jis0208<<14 | 0x32<<7 | 0x32, - 22009 - 19968: jis0208<<14 | 0x32<<7 | 0x37, - 22013 - 19968: jis0208<<14 | 0x32<<7 | 0x35, - 22014 - 19968: jis0208<<14 | 0x32<<7 | 0x34, - 22015 - 19968: jis0212<<14 | 0x15<<7 | 0x08, - 22021 - 19968: jis0212<<14 | 0x15<<7 | 0x09, - 22022 - 19968: jis0208<<14 | 0x22<<7 | 0x11, - 22024 - 19968: jis0212<<14 | 0x15<<7 | 0x0A, - 22025 - 19968: jis0208<<14 | 0x11<<7 | 0x24, - 22026 - 19968: jis0212<<14 | 0x15<<7 | 0x0B, - 22029 - 19968: jis0212<<14 | 0x15<<7 | 0x0C, - 22030 - 19968: jis0212<<14 | 0x15<<7 | 0x0D, - 22031 - 19968: jis0212<<14 | 0x15<<7 | 0x0E, - 22032 - 19968: jis0212<<14 | 0x15<<7 | 0x0F, - 22033 - 19968: jis0212<<14 | 0x15<<7 | 0x10, - 22034 - 19968: jis0212<<14 | 0x15<<7 | 0x11, - 22036 - 19968: jis0208<<14 | 0x32<<7 | 0x31, - 22038 - 19968: jis0208<<14 | 0x32<<7 | 0x33, - 22039 - 19968: jis0208<<14 | 0x1D<<7 | 0x07, - 22040 - 19968: jis0208<<14 | 0x10<<7 | 0x12, - 22041 - 19968: jis0212<<14 | 0x15<<7 | 0x12, - 22043 - 19968: jis0208<<14 | 0x32<<7 | 0x36, - 22057 - 19968: jis0208<<14 | 0x11<<7 | 0x3D, - 22060 - 19968: jis0212<<14 | 0x15<<7 | 0x13, - 22063 - 19968: jis0208<<14 | 0x32<<7 | 0x41, - 22064 - 19968: jis0212<<14 | 0x15<<7 | 0x14, - 22065 - 19968: jis0208<<14 | 0x1D<<7 | 0x5B, - 22066 - 19968: jis0208<<14 | 0x32<<7 | 0x3D, - 22067 - 19968: jis0212<<14 | 0x15<<7 | 0x15, - 22068 - 19968: jis0208<<14 | 0x32<<7 | 0x3B, - 22069 - 19968: jis0212<<14 | 0x15<<7 | 0x16, - 22070 - 19968: jis0208<<14 | 0x32<<7 | 0x3C, - 22071 - 19968: jis0212<<14 | 0x15<<7 | 0x17, - 22072 - 19968: jis0208<<14 | 0x32<<7 | 0x3E, - 22073 - 19968: jis0212<<14 | 0x15<<7 | 0x18, - 22075 - 19968: jis0212<<14 | 0x15<<7 | 0x19, - 22076 - 19968: jis0212<<14 | 0x15<<7 | 0x1A, - 22077 - 19968: jis0212<<14 | 0x15<<7 | 0x1B, - 22079 - 19968: jis0212<<14 | 0x15<<7 | 0x1C, - 22080 - 19968: jis0212<<14 | 0x15<<7 | 0x1D, - 22081 - 19968: jis0212<<14 | 0x15<<7 | 0x1E, - 22082 - 19968: jis0208<<14 | 0x10<<7 | 0x1C, - 22083 - 19968: jis0212<<14 | 0x15<<7 | 0x1F, - 22084 - 19968: jis0212<<14 | 0x15<<7 | 0x20, - 22086 - 19968: jis0212<<14 | 0x15<<7 | 0x21, - 22089 - 19968: jis0212<<14 | 0x15<<7 | 0x22, - 22091 - 19968: jis0212<<14 | 0x15<<7 | 0x23, - 22092 - 19968: jis0208<<14 | 0x20<<7 | 0x18, - 22093 - 19968: jis0212<<14 | 0x15<<7 | 0x24, - 22094 - 19968: jis0208<<14 | 0x32<<7 | 0x38, - 22095 - 19968: jis0212<<14 | 0x15<<7 | 0x25, - 22096 - 19968: jis0208<<14 | 0x32<<7 | 0x39, - 22100 - 19968: jis0212<<14 | 0x15<<7 | 0x26, - 22107 - 19968: jis0208<<14 | 0x12<<7 | 0x59, - 22110 - 19968: jis0212<<14 | 0x15<<7 | 0x27, - 22112 - 19968: jis0212<<14 | 0x15<<7 | 0x28, - 22113 - 19968: jis0212<<14 | 0x15<<7 | 0x29, - 22114 - 19968: jis0212<<14 | 0x15<<7 | 0x2A, - 22115 - 19968: jis0212<<14 | 0x15<<7 | 0x2B, - 22116 - 19968: jis0208<<14 | 0x32<<7 | 0x40, - 22118 - 19968: jis0212<<14 | 0x15<<7 | 0x2C, - 22120 - 19968: jis0208<<14 | 0x13<<7 | 0x4E, - 22121 - 19968: jis0212<<14 | 0x15<<7 | 0x2D, - 22122 - 19968: jis0208<<14 | 0x32<<7 | 0x43, - 22123 - 19968: jis0208<<14 | 0x32<<7 | 0x3F, - 22124 - 19968: jis0208<<14 | 0x32<<7 | 0x42, - 22125 - 19968: jis0212<<14 | 0x15<<7 | 0x2E, - 22127 - 19968: jis0212<<14 | 0x15<<7 | 0x2F, - 22129 - 19968: jis0212<<14 | 0x15<<7 | 0x30, - 22130 - 19968: jis0212<<14 | 0x15<<7 | 0x31, - 22132 - 19968: jis0208<<14 | 0x29<<7 | 0x0D, - 22133 - 19968: jis0212<<14 | 0x15<<7 | 0x32, - 22136 - 19968: jis0208<<14 | 0x25<<7 | 0x34, - 22138 - 19968: jis0208<<14 | 0x27<<7 | 0x17, - 22144 - 19968: jis0208<<14 | 0x32<<7 | 0x45, - 22148 - 19968: jis0212<<14 | 0x15<<7 | 0x33, - 22149 - 19968: jis0212<<14 | 0x15<<7 | 0x34, - 22150 - 19968: jis0208<<14 | 0x32<<7 | 0x44, - 22151 - 19968: jis0208<<14 | 0x12<<7 | 0x24, - 22152 - 19968: jis0212<<14 | 0x15<<7 | 0x35, - 22154 - 19968: jis0208<<14 | 0x32<<7 | 0x46, - 22155 - 19968: jis0212<<14 | 0x15<<7 | 0x36, - 22156 - 19968: jis0212<<14 | 0x15<<7 | 0x37, - 22159 - 19968: jis0208<<14 | 0x32<<7 | 0x49, - 22164 - 19968: jis0208<<14 | 0x32<<7 | 0x48, - 22165 - 19968: jis0212<<14 | 0x15<<7 | 0x38, - 22169 - 19968: jis0212<<14 | 0x15<<7 | 0x39, - 22170 - 19968: jis0212<<14 | 0x15<<7 | 0x3A, - 22173 - 19968: jis0212<<14 | 0x15<<7 | 0x3B, - 22174 - 19968: jis0212<<14 | 0x15<<7 | 0x3C, - 22175 - 19968: jis0212<<14 | 0x15<<7 | 0x3D, - 22176 - 19968: jis0208<<14 | 0x32<<7 | 0x47, - 22178 - 19968: jis0208<<14 | 0x26<<7 | 0x18, - 22181 - 19968: jis0208<<14 | 0x32<<7 | 0x4A, - 22182 - 19968: jis0212<<14 | 0x15<<7 | 0x3E, - 22183 - 19968: jis0212<<14 | 0x15<<7 | 0x3F, - 22184 - 19968: jis0212<<14 | 0x15<<7 | 0x40, - 22185 - 19968: jis0212<<14 | 0x15<<7 | 0x41, - 22187 - 19968: jis0212<<14 | 0x15<<7 | 0x42, - 22188 - 19968: jis0212<<14 | 0x15<<7 | 0x43, - 22189 - 19968: jis0212<<14 | 0x15<<7 | 0x44, - 22190 - 19968: jis0208<<14 | 0x32<<7 | 0x4B, - 22193 - 19968: jis0212<<14 | 0x15<<7 | 0x45, - 22195 - 19968: jis0212<<14 | 0x15<<7 | 0x46, - 22196 - 19968: jis0208<<14 | 0x32<<7 | 0x4D, - 22198 - 19968: jis0208<<14 | 0x32<<7 | 0x4C, - 22199 - 19968: jis0212<<14 | 0x15<<7 | 0x47, - 22204 - 19968: jis0208<<14 | 0x32<<7 | 0x4F, - 22206 - 19968: jis0212<<14 | 0x15<<7 | 0x48, - 22208 - 19968: jis0208<<14 | 0x32<<7 | 0x52, - 22209 - 19968: jis0208<<14 | 0x32<<7 | 0x50, - 22210 - 19968: jis0208<<14 | 0x32<<7 | 0x4E, - 22211 - 19968: jis0208<<14 | 0x32<<7 | 0x51, - 22213 - 19968: jis0212<<14 | 0x15<<7 | 0x49, - 22216 - 19968: jis0208<<14 | 0x32<<7 | 0x53, - 22217 - 19968: jis0212<<14 | 0x15<<7 | 0x4A, - 22218 - 19968: jis0212<<14 | 0x15<<7 | 0x4B, - 22219 - 19968: jis0212<<14 | 0x15<<7 | 0x4C, - 22220 - 19968: jis0212<<14 | 0x15<<7 | 0x4F, - 22221 - 19968: jis0212<<14 | 0x15<<7 | 0x50, - 22222 - 19968: jis0208<<14 | 0x32<<7 | 0x54, - 22223 - 19968: jis0212<<14 | 0x15<<7 | 0x4D, - 22224 - 19968: jis0212<<14 | 0x15<<7 | 0x4E, - 22225 - 19968: jis0208<<14 | 0x32<<7 | 0x55, - 22227 - 19968: jis0208<<14 | 0x32<<7 | 0x56, - 22231 - 19968: jis0208<<14 | 0x32<<7 | 0x57, - 22232 - 19968: jis0208<<14 | 0x30<<7 | 0x24, - 22233 - 19968: jis0212<<14 | 0x15<<7 | 0x51, - 22234 - 19968: jis0208<<14 | 0x1B<<7 | 0x5B, - 22235 - 19968: jis0208<<14 | 0x1A<<7 | 0x2C, - 22236 - 19968: jis0212<<14 | 0x15<<7 | 0x52, - 22237 - 19968: jis0212<<14 | 0x15<<7 | 0x53, - 22238 - 19968: jis0208<<14 | 0x11<<7 | 0x52, - 22239 - 19968: jis0212<<14 | 0x15<<7 | 0x54, - 22240 - 19968: jis0208<<14 | 0x0F<<7 | 0x57, - 22241 - 19968: jis0212<<14 | 0x15<<7 | 0x55, - 22243 - 19968: jis0208<<14 | 0x22<<7 | 0x23, - 22244 - 19968: jis0212<<14 | 0x15<<7 | 0x56, - 22245 - 19968: jis0212<<14 | 0x15<<7 | 0x57, - 22246 - 19968: jis0212<<14 | 0x15<<7 | 0x58, - 22247 - 19968: jis0212<<14 | 0x15<<7 | 0x59, - 22248 - 19968: jis0212<<14 | 0x15<<7 | 0x5A, - 22251 - 19968: jis0212<<14 | 0x15<<7 | 0x5C, - 22253 - 19968: jis0212<<14 | 0x15<<7 | 0x5D, - 22254 - 19968: jis0208<<14 | 0x32<<7 | 0x58, - 22256 - 19968: jis0208<<14 | 0x19<<7 | 0x03, - 22257 - 19968: jis0212<<14 | 0x15<<7 | 0x5B, - 22258 - 19968: jis0208<<14 | 0x0F<<7 | 0x2E, - 22259 - 19968: jis0208<<14 | 0x1E<<7 | 0x3D, - 22262 - 19968: jis0212<<14 | 0x16<<7 | 0x00, - 22263 - 19968: jis0212<<14 | 0x16<<7 | 0x01, - 22265 - 19968: jis0208<<14 | 0x32<<7 | 0x59, - 22266 - 19968: jis0208<<14 | 0x17<<7 | 0x26, - 22269 - 19968: jis0208<<14 | 0x18<<7 | 0x50, - 22271 - 19968: jis0208<<14 | 0x32<<7 | 0x5B, - 22272 - 19968: jis0208<<14 | 0x32<<7 | 0x5A, - 22273 - 19968: jis0212<<14 | 0x16<<7 | 0x02, - 22274 - 19968: jis0212<<14 | 0x16<<7 | 0x03, - 22275 - 19968: jis0208<<14 | 0x29<<7 | 0x3F, - 22276 - 19968: jis0208<<14 | 0x32<<7 | 0x5C, - 22279 - 19968: jis0212<<14 | 0x16<<7 | 0x04, - 22280 - 19968: jis0208<<14 | 0x33<<7 | 0x00, - 22281 - 19968: jis0208<<14 | 0x32<<7 | 0x5D, - 22282 - 19968: jis0212<<14 | 0x16<<7 | 0x05, - 22283 - 19968: jis0208<<14 | 0x33<<7 | 0x01, - 22284 - 19968: jis0212<<14 | 0x16<<7 | 0x06, - 22285 - 19968: jis0208<<14 | 0x33<<7 | 0x02, - 22287 - 19968: jis0208<<14 | 0x16<<7 | 0x56, - 22289 - 19968: jis0212<<14 | 0x16<<7 | 0x07, - 22290 - 19968: jis0208<<14 | 0x10<<7 | 0x3F, - 22291 - 19968: jis0208<<14 | 0x33<<7 | 0x03, - 22293 - 19968: jis0212<<14 | 0x16<<7 | 0x08, - 22294 - 19968: jis0208<<14 | 0x33<<7 | 0x05, - 22296 - 19968: jis0208<<14 | 0x33<<7 | 0x04, - 22298 - 19968: jis0212<<14 | 0x16<<7 | 0x09, - 22299 - 19968: jis0212<<14 | 0x16<<7 | 0x0A, - 22300 - 19968: jis0208<<14 | 0x33<<7 | 0x07, - 22301 - 19968: jis0212<<14 | 0x16<<7 | 0x0B, - 22303 - 19968: jis0208<<14 | 0x24<<7 | 0x39, - 22304 - 19968: jis0212<<14 | 0x16<<7 | 0x0C, - 22306 - 19968: jis0212<<14 | 0x16<<7 | 0x0D, - 22307 - 19968: jis0212<<14 | 0x16<<7 | 0x0E, - 22308 - 19968: jis0212<<14 | 0x16<<7 | 0x0F, - 22309 - 19968: jis0212<<14 | 0x16<<7 | 0x10, - 22310 - 19968: jis0208<<14 | 0x33<<7 | 0x08, - 22311 - 19968: jis0208<<14 | 0x0F<<7 | 0x14, - 22312 - 19968: jis0208<<14 | 0x19<<7 | 0x3E, - 22313 - 19968: jis0212<<14 | 0x16<<7 | 0x11, - 22314 - 19968: jis0212<<14 | 0x16<<7 | 0x12, - 22316 - 19968: jis0212<<14 | 0x16<<7 | 0x13, - 22317 - 19968: jis0208<<14 | 0x16<<7 | 0x1C, - 22318 - 19968: jis0212<<14 | 0x16<<7 | 0x14, - 22319 - 19968: jis0212<<14 | 0x16<<7 | 0x15, - 22320 - 19968: jis0208<<14 | 0x22<<7 | 0x2E, - 22323 - 19968: jis0212<<14 | 0x16<<7 | 0x16, - 22324 - 19968: jis0212<<14 | 0x16<<7 | 0x17, - 22327 - 19968: jis0208<<14 | 0x33<<7 | 0x09, - 22328 - 19968: jis0208<<14 | 0x33<<7 | 0x0A, - 22331 - 19968: jis0208<<14 | 0x33<<7 | 0x0C, - 22333 - 19968: jis0212<<14 | 0x16<<7 | 0x18, - 22334 - 19968: jis0212<<14 | 0x16<<7 | 0x19, - 22335 - 19968: jis0212<<14 | 0x16<<7 | 0x1A, - 22336 - 19968: jis0208<<14 | 0x33<<7 | 0x0D, - 22338 - 19968: jis0208<<14 | 0x19<<7 | 0x43, - 22341 - 19968: jis0212<<14 | 0x16<<7 | 0x1B, - 22342 - 19968: jis0212<<14 | 0x16<<7 | 0x1C, - 22343 - 19968: jis0208<<14 | 0x15<<7 | 0x30, - 22346 - 19968: jis0208<<14 | 0x2A<<7 | 0x16, - 22348 - 19968: jis0212<<14 | 0x16<<7 | 0x1D, - 22349 - 19968: jis0212<<14 | 0x16<<7 | 0x1E, - 22350 - 19968: jis0208<<14 | 0x33<<7 | 0x0B, - 22351 - 19968: jis0208<<14 | 0x33<<7 | 0x0E, - 22352 - 19968: jis0208<<14 | 0x19<<7 | 0x20, - 22353 - 19968: jis0208<<14 | 0x18<<7 | 0x02, - 22354 - 19968: jis0212<<14 | 0x16<<7 | 0x1F, - 22361 - 19968: jis0208<<14 | 0x58<<7 | 0x39, - 22369 - 19968: jis0208<<14 | 0x33<<7 | 0x12, - 22370 - 19968: jis0212<<14 | 0x16<<7 | 0x20, - 22372 - 19968: jis0208<<14 | 0x19<<7 | 0x04, - 22373 - 19968: jis0208<<14 | 0x58<<7 | 0x3A, - 22374 - 19968: jis0208<<14 | 0x22<<7 | 0x12, - 22375 - 19968: jis0212<<14 | 0x16<<7 | 0x22, - 22376 - 19968: jis0212<<14 | 0x16<<7 | 0x23, - 22377 - 19968: jis0208<<14 | 0x33<<7 | 0x0F, - 22378 - 19968: jis0208<<14 | 0x23<<7 | 0x39, - 22379 - 19968: jis0212<<14 | 0x16<<7 | 0x24, - 22381 - 19968: jis0212<<14 | 0x16<<7 | 0x25, - 22382 - 19968: jis0212<<14 | 0x16<<7 | 0x26, - 22383 - 19968: jis0212<<14 | 0x16<<7 | 0x27, - 22384 - 19968: jis0212<<14 | 0x16<<7 | 0x28, - 22385 - 19968: jis0212<<14 | 0x16<<7 | 0x29, - 22387 - 19968: jis0212<<14 | 0x16<<7 | 0x2A, - 22388 - 19968: jis0212<<14 | 0x16<<7 | 0x2B, - 22389 - 19968: jis0212<<14 | 0x16<<7 | 0x2C, - 22391 - 19968: jis0212<<14 | 0x16<<7 | 0x2D, - 22393 - 19968: jis0212<<14 | 0x16<<7 | 0x2E, - 22394 - 19968: jis0212<<14 | 0x16<<7 | 0x2F, - 22395 - 19968: jis0212<<14 | 0x16<<7 | 0x30, - 22396 - 19968: jis0212<<14 | 0x16<<7 | 0x31, - 22398 - 19968: jis0212<<14 | 0x16<<7 | 0x32, - 22399 - 19968: jis0208<<14 | 0x33<<7 | 0x13, - 22401 - 19968: jis0212<<14 | 0x16<<7 | 0x33, - 22402 - 19968: jis0208<<14 | 0x1E<<7 | 0x41, - 22403 - 19968: jis0212<<14 | 0x16<<7 | 0x34, - 22408 - 19968: jis0208<<14 | 0x33<<7 | 0x11, - 22409 - 19968: jis0208<<14 | 0x33<<7 | 0x14, - 22411 - 19968: jis0208<<14 | 0x16<<7 | 0x1E, - 22412 - 19968: jis0212<<14 | 0x16<<7 | 0x35, - 22419 - 19968: jis0208<<14 | 0x33<<7 | 0x15, - 22420 - 19968: jis0212<<14 | 0x16<<7 | 0x36, - 22421 - 19968: jis0212<<14 | 0x16<<7 | 0x3F, - 22423 - 19968: jis0212<<14 | 0x16<<7 | 0x37, - 22425 - 19968: jis0212<<14 | 0x16<<7 | 0x38, - 22426 - 19968: jis0212<<14 | 0x16<<7 | 0x39, - 22428 - 19968: jis0212<<14 | 0x16<<7 | 0x3A, - 22429 - 19968: jis0212<<14 | 0x16<<7 | 0x3B, - 22430 - 19968: jis0212<<14 | 0x16<<7 | 0x3C, - 22431 - 19968: jis0212<<14 | 0x16<<7 | 0x3D, - 22432 - 19968: jis0208<<14 | 0x33<<7 | 0x16, - 22433 - 19968: jis0212<<14 | 0x16<<7 | 0x3E, - 22434 - 19968: jis0208<<14 | 0x18<<7 | 0x03, - 22435 - 19968: jis0208<<14 | 0x12<<7 | 0x1F, - 22436 - 19968: jis0208<<14 | 0x33<<7 | 0x18, - 22439 - 19968: jis0212<<14 | 0x16<<7 | 0x40, - 22440 - 19968: jis0212<<14 | 0x16<<7 | 0x41, - 22441 - 19968: jis0212<<14 | 0x16<<7 | 0x42, - 22442 - 19968: jis0208<<14 | 0x33<<7 | 0x19, - 22444 - 19968: jis0208<<14 | 0x58<<7 | 0x3B, - 22448 - 19968: jis0208<<14 | 0x33<<7 | 0x1A, - 22451 - 19968: jis0208<<14 | 0x33<<7 | 0x17, - 22456 - 19968: jis0212<<14 | 0x16<<7 | 0x44, - 22461 - 19968: jis0212<<14 | 0x16<<7 | 0x45, - 22464 - 19968: jis0208<<14 | 0x33<<7 | 0x10, - 22467 - 19968: jis0208<<14 | 0x33<<7 | 0x1B, - 22470 - 19968: jis0208<<14 | 0x33<<7 | 0x1C, - 22471 - 19968: jis0208<<14 | 0x58<<7 | 0x3D, - 22472 - 19968: jis0208<<14 | 0x58<<7 | 0x3C, - 22475 - 19968: jis0208<<14 | 0x2A<<7 | 0x43, - 22476 - 19968: jis0212<<14 | 0x16<<7 | 0x48, - 22478 - 19968: jis0208<<14 | 0x1D<<7 | 0x4A, - 22479 - 19968: jis0212<<14 | 0x16<<7 | 0x49, - 22482 - 19968: jis0208<<14 | 0x33<<7 | 0x1E, - 22483 - 19968: jis0208<<14 | 0x33<<7 | 0x1F, - 22484 - 19968: jis0208<<14 | 0x33<<7 | 0x1D, - 22485 - 19968: jis0212<<14 | 0x16<<7 | 0x4A, - 22486 - 19968: jis0208<<14 | 0x33<<7 | 0x21, - 22492 - 19968: jis0208<<14 | 0x26<<7 | 0x17, - 22493 - 19968: jis0212<<14 | 0x16<<7 | 0x4B, - 22494 - 19968: jis0212<<14 | 0x16<<7 | 0x4C, - 22495 - 19968: jis0208<<14 | 0x0F<<7 | 0x47, - 22496 - 19968: jis0208<<14 | 0x28<<7 | 0x35, - 22497 - 19968: jis0212<<14 | 0x16<<7 | 0x5D, - 22499 - 19968: jis0208<<14 | 0x33<<7 | 0x22, - 22500 - 19968: jis0212<<14 | 0x16<<7 | 0x4D, - 22502 - 19968: jis0212<<14 | 0x16<<7 | 0x4E, - 22503 - 19968: jis0212<<14 | 0x16<<7 | 0x4F, - 22505 - 19968: jis0212<<14 | 0x16<<7 | 0x50, - 22509 - 19968: jis0212<<14 | 0x16<<7 | 0x51, - 22512 - 19968: jis0212<<14 | 0x16<<7 | 0x52, - 22516 - 19968: jis0208<<14 | 0x1D<<7 | 0x5C, - 22517 - 19968: jis0212<<14 | 0x16<<7 | 0x53, - 22518 - 19968: jis0212<<14 | 0x16<<7 | 0x54, - 22519 - 19968: jis0208<<14 | 0x1B<<7 | 0x18, - 22520 - 19968: jis0212<<14 | 0x16<<7 | 0x55, - 22521 - 19968: jis0208<<14 | 0x26<<7 | 0x3C, - 22522 - 19968: jis0208<<14 | 0x13<<7 | 0x4F, - 22524 - 19968: jis0208<<14 | 0x19<<7 | 0x4A, - 22525 - 19968: jis0212<<14 | 0x16<<7 | 0x56, - 22526 - 19968: jis0212<<14 | 0x16<<7 | 0x57, - 22527 - 19968: jis0212<<14 | 0x16<<7 | 0x58, - 22528 - 19968: jis0208<<14 | 0x2A<<7 | 0x38, - 22530 - 19968: jis0208<<14 | 0x25<<7 | 0x11, - 22531 - 19968: jis0212<<14 | 0x16<<7 | 0x59, - 22532 - 19968: jis0212<<14 | 0x16<<7 | 0x5A, - 22533 - 19968: jis0208<<14 | 0x16<<7 | 0x57, - 22534 - 19968: jis0208<<14 | 0x21<<7 | 0x2E, - 22536 - 19968: jis0212<<14 | 0x16<<7 | 0x5B, - 22537 - 19968: jis0212<<14 | 0x16<<7 | 0x5C, - 22538 - 19968: jis0208<<14 | 0x33<<7 | 0x20, - 22539 - 19968: jis0208<<14 | 0x33<<7 | 0x23, - 22540 - 19968: jis0212<<14 | 0x17<<7 | 0x00, - 22541 - 19968: jis0212<<14 | 0x17<<7 | 0x01, - 22549 - 19968: jis0208<<14 | 0x21<<7 | 0x23, - 22553 - 19968: jis0208<<14 | 0x33<<7 | 0x24, - 22555 - 19968: jis0212<<14 | 0x17<<7 | 0x02, - 22557 - 19968: jis0208<<14 | 0x33<<7 | 0x25, - 22558 - 19968: jis0212<<14 | 0x17<<7 | 0x03, - 22559 - 19968: jis0212<<14 | 0x17<<7 | 0x04, - 22560 - 19968: jis0212<<14 | 0x17<<7 | 0x05, - 22561 - 19968: jis0208<<14 | 0x33<<7 | 0x27, - 22564 - 19968: jis0208<<14 | 0x23<<7 | 0x48, - 22566 - 19968: jis0212<<14 | 0x17<<7 | 0x06, - 22567 - 19968: jis0212<<14 | 0x17<<7 | 0x07, - 22570 - 19968: jis0208<<14 | 0x13<<7 | 0x0D, - 22573 - 19968: jis0212<<14 | 0x17<<7 | 0x08, - 22575 - 19968: jis0208<<14 | 0x53<<7 | 0x00, - 22576 - 19968: jis0208<<14 | 0x10<<7 | 0x40, - 22577 - 19968: jis0208<<14 | 0x29<<7 | 0x52, - 22578 - 19968: jis0212<<14 | 0x17<<7 | 0x09, - 22580 - 19968: jis0208<<14 | 0x1D<<7 | 0x4B, - 22581 - 19968: jis0208<<14 | 0x24<<7 | 0x27, - 22585 - 19968: jis0212<<14 | 0x17<<7 | 0x0A, - 22586 - 19968: jis0208<<14 | 0x19<<7 | 0x45, - 22589 - 19968: jis0208<<14 | 0x33<<7 | 0x2D, - 22591 - 19968: jis0212<<14 | 0x17<<7 | 0x0B, - 22592 - 19968: jis0208<<14 | 0x29<<7 | 0x1C, - 22593 - 19968: jis0208<<14 | 0x2D<<7 | 0x3C, - 22601 - 19968: jis0212<<14 | 0x17<<7 | 0x0C, - 22602 - 19968: jis0208<<14 | 0x11<<7 | 0x53, - 22603 - 19968: jis0208<<14 | 0x33<<7 | 0x29, - 22604 - 19968: jis0212<<14 | 0x17<<7 | 0x0D, - 22605 - 19968: jis0212<<14 | 0x17<<7 | 0x0E, - 22607 - 19968: jis0212<<14 | 0x17<<7 | 0x0F, - 22608 - 19968: jis0212<<14 | 0x17<<7 | 0x10, - 22609 - 19968: jis0208<<14 | 0x20<<7 | 0x19, - 22610 - 19968: jis0208<<14 | 0x33<<7 | 0x2C, - 22612 - 19968: jis0208<<14 | 0x24<<7 | 0x42, - 22613 - 19968: jis0212<<14 | 0x17<<7 | 0x11, - 22615 - 19968: jis0208<<14 | 0x24<<7 | 0x28, - 22616 - 19968: jis0208<<14 | 0x24<<7 | 0x43, - 22617 - 19968: jis0208<<14 | 0x27<<7 | 0x18, - 22618 - 19968: jis0208<<14 | 0x23<<7 | 0x2C, - 22622 - 19968: jis0208<<14 | 0x19<<7 | 0x28, - 22623 - 19968: jis0212<<14 | 0x17<<7 | 0x12, - 22625 - 19968: jis0212<<14 | 0x17<<7 | 0x13, - 22626 - 19968: jis0208<<14 | 0x33<<7 | 0x28, - 22628 - 19968: jis0212<<14 | 0x17<<7 | 0x14, - 22631 - 19968: jis0212<<14 | 0x17<<7 | 0x15, - 22632 - 19968: jis0212<<14 | 0x17<<7 | 0x16, - 22633 - 19968: jis0208<<14 | 0x10<<7 | 0x55, - 22635 - 19968: jis0208<<14 | 0x24<<7 | 0x15, - 22640 - 19968: jis0208<<14 | 0x33<<7 | 0x2A, - 22642 - 19968: jis0208<<14 | 0x33<<7 | 0x26, - 22645 - 19968: jis0208<<14 | 0x1E<<7 | 0x2F, - 22648 - 19968: jis0212<<14 | 0x17<<7 | 0x17, - 22649 - 19968: jis0208<<14 | 0x33<<7 | 0x2E, - 22652 - 19968: jis0212<<14 | 0x17<<7 | 0x18, - 22654 - 19968: jis0208<<14 | 0x1C<<7 | 0x2D, - 22655 - 19968: jis0212<<14 | 0x17<<7 | 0x19, - 22656 - 19968: jis0212<<14 | 0x17<<7 | 0x1A, - 22657 - 19968: jis0212<<14 | 0x17<<7 | 0x1B, - 22659 - 19968: jis0208<<14 | 0x15<<7 | 0x0C, - 22661 - 19968: jis0208<<14 | 0x33<<7 | 0x2F, - 22663 - 19968: jis0212<<14 | 0x17<<7 | 0x1C, - 22664 - 19968: jis0212<<14 | 0x17<<7 | 0x1D, - 22665 - 19968: jis0212<<14 | 0x17<<7 | 0x1E, - 22666 - 19968: jis0212<<14 | 0x17<<7 | 0x1F, - 22668 - 19968: jis0212<<14 | 0x17<<7 | 0x20, - 22669 - 19968: jis0212<<14 | 0x17<<7 | 0x21, - 22671 - 19968: jis0212<<14 | 0x17<<7 | 0x22, - 22672 - 19968: jis0212<<14 | 0x17<<7 | 0x23, - 22675 - 19968: jis0208<<14 | 0x29<<7 | 0x47, - 22676 - 19968: jis0212<<14 | 0x17<<7 | 0x24, - 22678 - 19968: jis0212<<14 | 0x17<<7 | 0x25, - 22679 - 19968: jis0208<<14 | 0x20<<7 | 0x5C, - 22684 - 19968: jis0208<<14 | 0x23<<7 | 0x25, - 22685 - 19968: jis0212<<14 | 0x17<<7 | 0x26, - 22686 - 19968: jis0208<<14 | 0x58<<7 | 0x40, - 22687 - 19968: jis0208<<14 | 0x33<<7 | 0x31, - 22688 - 19968: jis0212<<14 | 0x17<<7 | 0x27, - 22689 - 19968: jis0212<<14 | 0x17<<7 | 0x28, - 22690 - 19968: jis0212<<14 | 0x17<<7 | 0x29, - 22694 - 19968: jis0212<<14 | 0x17<<7 | 0x2A, - 22696 - 19968: jis0208<<14 | 0x2A<<7 | 0x2E, - 22697 - 19968: jis0212<<14 | 0x17<<7 | 0x2B, - 22699 - 19968: jis0208<<14 | 0x33<<7 | 0x32, - 22702 - 19968: jis0208<<14 | 0x33<<7 | 0x37, - 22705 - 19968: jis0212<<14 | 0x17<<7 | 0x2C, - 22706 - 19968: jis0208<<14 | 0x58<<7 | 0x41, - 22707 - 19968: jis0208<<14 | 0x29<<7 | 0x0E, - 22712 - 19968: jis0208<<14 | 0x33<<7 | 0x36, - 22713 - 19968: jis0208<<14 | 0x33<<7 | 0x30, - 22714 - 19968: jis0208<<14 | 0x33<<7 | 0x33, - 22715 - 19968: jis0208<<14 | 0x33<<7 | 0x35, - 22716 - 19968: jis0212<<14 | 0x17<<7 | 0x2F, - 22718 - 19968: jis0208<<14 | 0x19<<7 | 0x05, - 22721 - 19968: jis0208<<14 | 0x29<<7 | 0x28, - 22722 - 19968: jis0212<<14 | 0x17<<7 | 0x30, - 22724 - 19968: jis0212<<14 | 0x17<<7 | 0x2E, - 22725 - 19968: jis0208<<14 | 0x33<<7 | 0x38, - 22727 - 19968: jis0208<<14 | 0x22<<7 | 0x24, - 22728 - 19968: jis0212<<14 | 0x17<<7 | 0x31, - 22730 - 19968: jis0208<<14 | 0x11<<7 | 0x54, - 22732 - 19968: jis0208<<14 | 0x1D<<7 | 0x4C, - 22733 - 19968: jis0212<<14 | 0x17<<7 | 0x32, - 22734 - 19968: jis0212<<14 | 0x17<<7 | 0x33, - 22736 - 19968: jis0212<<14 | 0x17<<7 | 0x34, - 22737 - 19968: jis0208<<14 | 0x33<<7 | 0x3A, - 22738 - 19968: jis0212<<14 | 0x17<<7 | 0x35, - 22739 - 19968: jis0208<<14 | 0x33<<7 | 0x39, - 22740 - 19968: jis0212<<14 | 0x17<<7 | 0x36, - 22741 - 19968: jis0208<<14 | 0x18<<7 | 0x47, - 22742 - 19968: jis0212<<14 | 0x17<<7 | 0x37, - 22743 - 19968: jis0208<<14 | 0x33<<7 | 0x3B, - 22744 - 19968: jis0208<<14 | 0x33<<7 | 0x3D, - 22745 - 19968: jis0208<<14 | 0x33<<7 | 0x3C, - 22746 - 19968: jis0212<<14 | 0x17<<7 | 0x38, - 22748 - 19968: jis0208<<14 | 0x33<<7 | 0x3F, - 22749 - 19968: jis0212<<14 | 0x17<<7 | 0x39, - 22750 - 19968: jis0208<<14 | 0x33<<7 | 0x34, - 22751 - 19968: jis0208<<14 | 0x33<<7 | 0x41, - 22753 - 19968: jis0212<<14 | 0x17<<7 | 0x3A, - 22754 - 19968: jis0212<<14 | 0x17<<7 | 0x3B, - 22756 - 19968: jis0208<<14 | 0x33<<7 | 0x40, - 22757 - 19968: jis0208<<14 | 0x33<<7 | 0x3E, - 22761 - 19968: jis0212<<14 | 0x17<<7 | 0x3C, - 22763 - 19968: jis0208<<14 | 0x1A<<7 | 0x2D, - 22764 - 19968: jis0208<<14 | 0x1E<<7 | 0x30, - 22766 - 19968: jis0208<<14 | 0x20<<7 | 0x33, - 22767 - 19968: jis0208<<14 | 0x33<<7 | 0x42, - 22768 - 19968: jis0208<<14 | 0x1F<<7 | 0x1B, - 22769 - 19968: jis0208<<14 | 0x0F<<7 | 0x4C, - 22770 - 19968: jis0208<<14 | 0x26<<7 | 0x43, - 22771 - 19968: jis0212<<14 | 0x17<<7 | 0x3D, - 22775 - 19968: jis0208<<14 | 0x23<<7 | 0x3A, - 22777 - 19968: jis0208<<14 | 0x33<<7 | 0x44, - 22778 - 19968: jis0208<<14 | 0x33<<7 | 0x43, - 22779 - 19968: jis0208<<14 | 0x33<<7 | 0x45, - 22780 - 19968: jis0208<<14 | 0x33<<7 | 0x46, - 22781 - 19968: jis0208<<14 | 0x33<<7 | 0x47, - 22786 - 19968: jis0208<<14 | 0x33<<7 | 0x48, - 22789 - 19968: jis0212<<14 | 0x17<<7 | 0x3E, - 22790 - 19968: jis0212<<14 | 0x17<<7 | 0x3F, - 22793 - 19968: jis0208<<14 | 0x29<<7 | 0x30, - 22794 - 19968: jis0208<<14 | 0x33<<7 | 0x49, - 22795 - 19968: jis0208<<14 | 0x58<<7 | 0x42, - 22796 - 19968: jis0212<<14 | 0x17<<7 | 0x41, - 22799 - 19968: jis0208<<14 | 0x11<<7 | 0x25, - 22800 - 19968: jis0208<<14 | 0x33<<7 | 0x4A, - 22802 - 19968: jis0212<<14 | 0x17<<7 | 0x42, - 22803 - 19968: jis0212<<14 | 0x17<<7 | 0x43, - 22804 - 19968: jis0212<<14 | 0x17<<7 | 0x44, - 22805 - 19968: jis0208<<14 | 0x2C<<7 | 0x1B, - 22806 - 19968: jis0208<<14 | 0x12<<7 | 0x0F, - 22808 - 19968: jis0208<<14 | 0x31<<7 | 0x28, - 22809 - 19968: jis0208<<14 | 0x1C<<7 | 0x27, - 22810 - 19968: jis0208<<14 | 0x21<<7 | 0x1E, - 22811 - 19968: jis0208<<14 | 0x33<<7 | 0x4B, - 22812 - 19968: jis0208<<14 | 0x2B<<7 | 0x4A, - 22813 - 19968: jis0212<<14 | 0x17<<7 | 0x46, - 22817 - 19968: jis0212<<14 | 0x17<<7 | 0x47, - 22818 - 19968: jis0208<<14 | 0x2B<<7 | 0x13, - 22819 - 19968: jis0212<<14 | 0x17<<7 | 0x48, - 22820 - 19968: jis0212<<14 | 0x17<<7 | 0x49, - 22821 - 19968: jis0208<<14 | 0x33<<7 | 0x4D, - 22823 - 19968: jis0208<<14 | 0x21<<7 | 0x46, - 22824 - 19968: jis0212<<14 | 0x17<<7 | 0x4A, - 22825 - 19968: jis0208<<14 | 0x24<<7 | 0x16, - 22826 - 19968: jis0208<<14 | 0x21<<7 | 0x1F, - 22827 - 19968: jis0208<<14 | 0x28<<7 | 0x36, - 22828 - 19968: jis0208<<14 | 0x33<<7 | 0x4E, - 22829 - 19968: jis0208<<14 | 0x33<<7 | 0x4F, - 22830 - 19968: jis0208<<14 | 0x10<<7 | 0x5A, - 22831 - 19968: jis0212<<14 | 0x17<<7 | 0x4B, - 22832 - 19968: jis0212<<14 | 0x17<<7 | 0x4C, - 22833 - 19968: jis0208<<14 | 0x1B<<7 | 0x19, - 22834 - 19968: jis0208<<14 | 0x33<<7 | 0x50, - 22835 - 19968: jis0212<<14 | 0x17<<7 | 0x4D, - 22837 - 19968: jis0212<<14 | 0x17<<7 | 0x4E, - 22838 - 19968: jis0212<<14 | 0x17<<7 | 0x4F, - 22839 - 19968: jis0208<<14 | 0x0F<<7 | 0x2F, - 22840 - 19968: jis0208<<14 | 0x33<<7 | 0x51, - 22846 - 19968: jis0208<<14 | 0x33<<7 | 0x52, - 22847 - 19968: jis0212<<14 | 0x17<<7 | 0x50, - 22851 - 19968: jis0212<<14 | 0x17<<7 | 0x51, - 22852 - 19968: jis0208<<14 | 0x10<<7 | 0x41, - 22854 - 19968: jis0212<<14 | 0x17<<7 | 0x52, - 22855 - 19968: jis0208<<14 | 0x13<<7 | 0x50, - 22856 - 19968: jis0208<<14 | 0x25<<7 | 0x3F, - 22857 - 19968: jis0208<<14 | 0x29<<7 | 0x53, - 22862 - 19968: jis0208<<14 | 0x33<<7 | 0x56, - 22863 - 19968: jis0208<<14 | 0x20<<7 | 0x34, - 22864 - 19968: jis0208<<14 | 0x33<<7 | 0x55, - 22865 - 19968: jis0208<<14 | 0x16<<7 | 0x1F, - 22866 - 19968: jis0212<<14 | 0x17<<7 | 0x53, - 22867 - 19968: jis0208<<14 | 0x58<<7 | 0x43, - 22868 - 19968: jis0208<<14 | 0x2A<<7 | 0x3A, - 22869 - 19968: jis0208<<14 | 0x33<<7 | 0x54, - 22871 - 19968: jis0208<<14 | 0x24<<7 | 0x44, - 22872 - 19968: jis0208<<14 | 0x33<<7 | 0x58, - 22873 - 19968: jis0212<<14 | 0x17<<7 | 0x55, - 22874 - 19968: jis0208<<14 | 0x33<<7 | 0x57, - 22875 - 19968: jis0208<<14 | 0x58<<7 | 0x44, - 22877 - 19968: jis0208<<14 | 0x58<<7 | 0x45, - 22878 - 19968: jis0212<<14 | 0x17<<7 | 0x58, - 22879 - 19968: jis0212<<14 | 0x17<<7 | 0x59, - 22880 - 19968: jis0208<<14 | 0x33<<7 | 0x5A, - 22881 - 19968: jis0212<<14 | 0x17<<7 | 0x5A, - 22882 - 19968: jis0208<<14 | 0x33<<7 | 0x59, - 22883 - 19968: jis0208<<14 | 0x58<<7 | 0x46, - 22885 - 19968: jis0208<<14 | 0x10<<7 | 0x5B, - 22887 - 19968: jis0208<<14 | 0x33<<7 | 0x5B, - 22888 - 19968: jis0208<<14 | 0x1D<<7 | 0x08, - 22889 - 19968: jis0208<<14 | 0x33<<7 | 0x5D, - 22890 - 19968: jis0208<<14 | 0x22<<7 | 0x04, - 22891 - 19968: jis0212<<14 | 0x17<<7 | 0x5C, - 22892 - 19968: jis0208<<14 | 0x33<<7 | 0x5C, - 22893 - 19968: jis0212<<14 | 0x17<<7 | 0x5D, - 22894 - 19968: jis0208<<14 | 0x29<<7 | 0x12, - 22895 - 19968: jis0212<<14 | 0x18<<7 | 0x00, - 22898 - 19968: jis0212<<14 | 0x18<<7 | 0x01, - 22899 - 19968: jis0208<<14 | 0x1C<<7 | 0x56, - 22900 - 19968: jis0208<<14 | 0x24<<7 | 0x3A, - 22901 - 19968: jis0212<<14 | 0x18<<7 | 0x02, - 22902 - 19968: jis0212<<14 | 0x18<<7 | 0x03, - 22904 - 19968: jis0208<<14 | 0x34<<7 | 0x00, - 22905 - 19968: jis0212<<14 | 0x18<<7 | 0x04, - 22907 - 19968: jis0212<<14 | 0x18<<7 | 0x05, - 22908 - 19968: jis0212<<14 | 0x18<<7 | 0x06, - 22909 - 19968: jis0208<<14 | 0x18<<7 | 0x04, - 22913 - 19968: jis0208<<14 | 0x34<<7 | 0x01, - 22914 - 19968: jis0208<<14 | 0x26<<7 | 0x00, - 22915 - 19968: jis0208<<14 | 0x27<<7 | 0x3D, - 22916 - 19968: jis0208<<14 | 0x2B<<7 | 0x30, - 22922 - 19968: jis0208<<14 | 0x26<<7 | 0x04, - 22923 - 19968: jis0212<<14 | 0x18<<7 | 0x07, - 22924 - 19968: jis0212<<14 | 0x18<<7 | 0x08, - 22925 - 19968: jis0208<<14 | 0x34<<7 | 0x0A, - 22926 - 19968: jis0212<<14 | 0x18<<7 | 0x09, - 22930 - 19968: jis0212<<14 | 0x18<<7 | 0x0A, - 22931 - 19968: jis0208<<14 | 0x14<<7 | 0x17, - 22933 - 19968: jis0212<<14 | 0x18<<7 | 0x0B, - 22934 - 19968: jis0208<<14 | 0x2C<<7 | 0x24, - 22935 - 19968: jis0212<<14 | 0x18<<7 | 0x0C, - 22937 - 19968: jis0208<<14 | 0x2B<<7 | 0x0E, - 22939 - 19968: jis0208<<14 | 0x35<<7 | 0x0B, - 22941 - 19968: jis0208<<14 | 0x34<<7 | 0x02, - 22943 - 19968: jis0212<<14 | 0x18<<7 | 0x0D, - 22947 - 19968: jis0208<<14 | 0x34<<7 | 0x05, - 22948 - 19968: jis0208<<14 | 0x58<<7 | 0x47, - 22949 - 19968: jis0208<<14 | 0x21<<7 | 0x24, - 22951 - 19968: jis0212<<14 | 0x18<<7 | 0x0F, - 22952 - 19968: jis0208<<14 | 0x2A<<7 | 0x17, - 22956 - 19968: jis0208<<14 | 0x24<<7 | 0x29, - 22957 - 19968: jis0212<<14 | 0x18<<7 | 0x10, - 22958 - 19968: jis0212<<14 | 0x18<<7 | 0x11, - 22959 - 19968: jis0212<<14 | 0x18<<7 | 0x12, - 22960 - 19968: jis0212<<14 | 0x18<<7 | 0x13, - 22962 - 19968: jis0208<<14 | 0x34<<7 | 0x06, - 22963 - 19968: jis0212<<14 | 0x18<<7 | 0x14, - 22967 - 19968: jis0212<<14 | 0x18<<7 | 0x15, - 22969 - 19968: jis0208<<14 | 0x2A<<7 | 0x44, - 22970 - 19968: jis0208<<14 | 0x58<<7 | 0x48, - 22971 - 19968: jis0208<<14 | 0x19<<7 | 0x29, - 22972 - 19968: jis0212<<14 | 0x18<<7 | 0x17, - 22974 - 19968: jis0208<<14 | 0x1D<<7 | 0x09, - 22977 - 19968: jis0212<<14 | 0x18<<7 | 0x18, - 22979 - 19968: jis0212<<14 | 0x18<<7 | 0x19, - 22980 - 19968: jis0212<<14 | 0x18<<7 | 0x1A, - 22982 - 19968: jis0208<<14 | 0x34<<7 | 0x07, - 22984 - 19968: jis0212<<14 | 0x18<<7 | 0x1B, - 22985 - 19968: jis0208<<14 | 0x1A<<7 | 0x2F, - 22986 - 19968: jis0212<<14 | 0x18<<7 | 0x1C, - 22987 - 19968: jis0208<<14 | 0x1A<<7 | 0x2E, - 22989 - 19968: jis0212<<14 | 0x18<<7 | 0x1D, - 22992 - 19968: jis0208<<14 | 0x0F<<7 | 0x18, - 22993 - 19968: jis0208<<14 | 0x17<<7 | 0x27, - 22994 - 19968: jis0212<<14 | 0x18<<7 | 0x1E, - 22995 - 19968: jis0208<<14 | 0x1F<<7 | 0x0A, - 22996 - 19968: jis0208<<14 | 0x0F<<7 | 0x30, - 23001 - 19968: jis0208<<14 | 0x34<<7 | 0x0B, - 23002 - 19968: jis0208<<14 | 0x34<<7 | 0x0C, - 23004 - 19968: jis0208<<14 | 0x34<<7 | 0x09, - 23005 - 19968: jis0212<<14 | 0x18<<7 | 0x1F, - 23006 - 19968: jis0212<<14 | 0x18<<7 | 0x20, - 23007 - 19968: jis0212<<14 | 0x18<<7 | 0x21, - 23011 - 19968: jis0212<<14 | 0x18<<7 | 0x22, - 23012 - 19968: jis0212<<14 | 0x18<<7 | 0x23, - 23013 - 19968: jis0208<<14 | 0x10<<7 | 0x17, - 23014 - 19968: jis0208<<14 | 0x13<<7 | 0x0E, - 23015 - 19968: jis0212<<14 | 0x18<<7 | 0x24, - 23016 - 19968: jis0208<<14 | 0x34<<7 | 0x08, - 23018 - 19968: jis0208<<14 | 0x2B<<7 | 0x24, - 23019 - 19968: jis0208<<14 | 0x28<<7 | 0x10, - 23022 - 19968: jis0212<<14 | 0x18<<7 | 0x25, - 23023 - 19968: jis0212<<14 | 0x18<<7 | 0x26, - 23025 - 19968: jis0212<<14 | 0x18<<7 | 0x27, - 23026 - 19968: jis0212<<14 | 0x18<<7 | 0x28, - 23028 - 19968: jis0212<<14 | 0x18<<7 | 0x29, - 23030 - 19968: jis0208<<14 | 0x0F<<7 | 0x07, - 23031 - 19968: jis0212<<14 | 0x18<<7 | 0x2A, - 23035 - 19968: jis0208<<14 | 0x0F<<7 | 0x58, - 23039 - 19968: jis0208<<14 | 0x1A<<7 | 0x30, - 23040 - 19968: jis0212<<14 | 0x18<<7 | 0x2B, - 23041 - 19968: jis0208<<14 | 0x0F<<7 | 0x31, - 23043 - 19968: jis0208<<14 | 0x0F<<7 | 0x02, - 23044 - 19968: jis0212<<14 | 0x18<<7 | 0x2C, - 23049 - 19968: jis0208<<14 | 0x34<<7 | 0x11, - 23052 - 19968: jis0212<<14 | 0x18<<7 | 0x2D, - 23053 - 19968: jis0212<<14 | 0x18<<7 | 0x2E, - 23054 - 19968: jis0212<<14 | 0x18<<7 | 0x2F, - 23057 - 19968: jis0208<<14 | 0x34<<7 | 0x0F, - 23058 - 19968: jis0212<<14 | 0x18<<7 | 0x30, - 23059 - 19968: jis0212<<14 | 0x18<<7 | 0x31, - 23064 - 19968: jis0208<<14 | 0x2B<<7 | 0x1B, - 23066 - 19968: jis0208<<14 | 0x34<<7 | 0x12, - 23068 - 19968: jis0208<<14 | 0x34<<7 | 0x10, - 23070 - 19968: jis0212<<14 | 0x18<<7 | 0x32, - 23071 - 19968: jis0208<<14 | 0x34<<7 | 0x0E, - 23072 - 19968: jis0208<<14 | 0x1E<<7 | 0x10, - 23075 - 19968: jis0212<<14 | 0x18<<7 | 0x33, - 23076 - 19968: jis0212<<14 | 0x18<<7 | 0x34, - 23077 - 19968: jis0208<<14 | 0x34<<7 | 0x0D, - 23079 - 19968: jis0212<<14 | 0x18<<7 | 0x35, - 23080 - 19968: jis0212<<14 | 0x18<<7 | 0x36, - 23081 - 19968: jis0208<<14 | 0x29<<7 | 0x39, - 23082 - 19968: jis0212<<14 | 0x18<<7 | 0x37, - 23085 - 19968: jis0212<<14 | 0x18<<7 | 0x38, - 23087 - 19968: jis0208<<14 | 0x17<<7 | 0x43, - 23088 - 19968: jis0212<<14 | 0x18<<7 | 0x39, - 23093 - 19968: jis0208<<14 | 0x34<<7 | 0x16, - 23094 - 19968: jis0208<<14 | 0x34<<7 | 0x17, - 23100 - 19968: jis0208<<14 | 0x1D<<7 | 0x0A, - 23104 - 19968: jis0208<<14 | 0x34<<7 | 0x13, - 23105 - 19968: jis0208<<14 | 0x2E<<7 | 0x0B, - 23108 - 19968: jis0212<<14 | 0x18<<7 | 0x3A, - 23109 - 19968: jis0212<<14 | 0x18<<7 | 0x3B, - 23110 - 19968: jis0208<<14 | 0x26<<7 | 0x2B, - 23111 - 19968: jis0212<<14 | 0x18<<7 | 0x3C, - 23112 - 19968: jis0212<<14 | 0x18<<7 | 0x3D, - 23113 - 19968: jis0208<<14 | 0x34<<7 | 0x15, - 23116 - 19968: jis0212<<14 | 0x18<<7 | 0x3E, - 23120 - 19968: jis0212<<14 | 0x18<<7 | 0x3F, - 23125 - 19968: jis0212<<14 | 0x18<<7 | 0x40, - 23130 - 19968: jis0208<<14 | 0x19<<7 | 0x06, - 23134 - 19968: jis0212<<14 | 0x18<<7 | 0x41, - 23138 - 19968: jis0208<<14 | 0x34<<7 | 0x18, - 23139 - 19968: jis0212<<14 | 0x18<<7 | 0x42, - 23141 - 19968: jis0212<<14 | 0x18<<7 | 0x43, - 23142 - 19968: jis0208<<14 | 0x28<<7 | 0x37, - 23143 - 19968: jis0212<<14 | 0x18<<7 | 0x44, - 23146 - 19968: jis0208<<14 | 0x34<<7 | 0x19, - 23148 - 19968: jis0208<<14 | 0x34<<7 | 0x14, - 23149 - 19968: jis0212<<14 | 0x18<<7 | 0x45, - 23159 - 19968: jis0212<<14 | 0x18<<7 | 0x46, - 23162 - 19968: jis0212<<14 | 0x18<<7 | 0x47, - 23163 - 19968: jis0212<<14 | 0x18<<7 | 0x48, - 23166 - 19968: jis0212<<14 | 0x18<<7 | 0x49, - 23167 - 19968: jis0208<<14 | 0x2B<<7 | 0x1A, - 23179 - 19968: jis0212<<14 | 0x18<<7 | 0x4A, - 23184 - 19968: jis0212<<14 | 0x18<<7 | 0x4B, - 23186 - 19968: jis0208<<14 | 0x26<<7 | 0x3D, - 23187 - 19968: jis0212<<14 | 0x18<<7 | 0x4C, - 23190 - 19968: jis0212<<14 | 0x18<<7 | 0x4D, - 23193 - 19968: jis0212<<14 | 0x18<<7 | 0x4E, - 23194 - 19968: jis0208<<14 | 0x34<<7 | 0x1A, - 23195 - 19968: jis0208<<14 | 0x28<<7 | 0x11, - 23196 - 19968: jis0212<<14 | 0x18<<7 | 0x4F, - 23198 - 19968: jis0212<<14 | 0x18<<7 | 0x50, - 23199 - 19968: jis0212<<14 | 0x18<<7 | 0x51, - 23200 - 19968: jis0212<<14 | 0x18<<7 | 0x52, - 23202 - 19968: jis0212<<14 | 0x18<<7 | 0x53, - 23207 - 19968: jis0212<<14 | 0x18<<7 | 0x54, - 23212 - 19968: jis0212<<14 | 0x18<<7 | 0x55, - 23217 - 19968: jis0212<<14 | 0x18<<7 | 0x56, - 23218 - 19968: jis0212<<14 | 0x18<<7 | 0x57, - 23219 - 19968: jis0212<<14 | 0x18<<7 | 0x58, - 23221 - 19968: jis0212<<14 | 0x18<<7 | 0x59, - 23224 - 19968: jis0212<<14 | 0x18<<7 | 0x5A, - 23226 - 19968: jis0212<<14 | 0x18<<7 | 0x5B, - 23227 - 19968: jis0212<<14 | 0x18<<7 | 0x5C, - 23228 - 19968: jis0208<<14 | 0x34<<7 | 0x1B, - 23229 - 19968: jis0208<<14 | 0x34<<7 | 0x1F, - 23230 - 19968: jis0208<<14 | 0x34<<7 | 0x1C, - 23231 - 19968: jis0212<<14 | 0x18<<7 | 0x5D, - 23233 - 19968: jis0208<<14 | 0x11<<7 | 0x26, - 23234 - 19968: jis0208<<14 | 0x34<<7 | 0x1E, - 23236 - 19968: jis0212<<14 | 0x19<<7 | 0x00, - 23238 - 19968: jis0212<<14 | 0x19<<7 | 0x01, - 23240 - 19968: jis0212<<14 | 0x19<<7 | 0x02, - 23241 - 19968: jis0208<<14 | 0x1B<<7 | 0x1A, - 23243 - 19968: jis0208<<14 | 0x34<<7 | 0x1D, - 23244 - 19968: jis0208<<14 | 0x16<<7 | 0x58, - 23247 - 19968: jis0212<<14 | 0x19<<7 | 0x03, - 23248 - 19968: jis0208<<14 | 0x34<<7 | 0x2B, - 23254 - 19968: jis0208<<14 | 0x34<<7 | 0x24, - 23255 - 19968: jis0208<<14 | 0x34<<7 | 0x21, - 23258 - 19968: jis0212<<14 | 0x19<<7 | 0x04, - 23260 - 19968: jis0212<<14 | 0x19<<7 | 0x05, - 23264 - 19968: jis0212<<14 | 0x19<<7 | 0x06, - 23265 - 19968: jis0208<<14 | 0x22<<7 | 0x43, - 23267 - 19968: jis0208<<14 | 0x34<<7 | 0x20, - 23269 - 19968: jis0212<<14 | 0x19<<7 | 0x07, - 23270 - 19968: jis0208<<14 | 0x34<<7 | 0x22, - 23273 - 19968: jis0208<<14 | 0x34<<7 | 0x23, - 23274 - 19968: jis0212<<14 | 0x19<<7 | 0x08, - 23278 - 19968: jis0212<<14 | 0x19<<7 | 0x09, - 23285 - 19968: jis0212<<14 | 0x19<<7 | 0x0A, - 23286 - 19968: jis0212<<14 | 0x19<<7 | 0x0B, - 23290 - 19968: jis0208<<14 | 0x34<<7 | 0x25, - 23291 - 19968: jis0208<<14 | 0x34<<7 | 0x26, - 23293 - 19968: jis0212<<14 | 0x19<<7 | 0x0C, - 23296 - 19968: jis0212<<14 | 0x19<<7 | 0x0D, - 23297 - 19968: jis0212<<14 | 0x19<<7 | 0x0E, - 23304 - 19968: jis0212<<14 | 0x19<<7 | 0x0F, - 23305 - 19968: jis0208<<14 | 0x13<<7 | 0x51, - 23307 - 19968: jis0208<<14 | 0x34<<7 | 0x28, - 23308 - 19968: jis0208<<14 | 0x34<<7 | 0x27, - 23318 - 19968: jis0208<<14 | 0x34<<7 | 0x29, - 23319 - 19968: jis0212<<14 | 0x19<<7 | 0x10, - 23321 - 19968: jis0212<<14 | 0x19<<7 | 0x12, - 23323 - 19968: jis0212<<14 | 0x19<<7 | 0x13, - 23325 - 19968: jis0212<<14 | 0x19<<7 | 0x14, - 23329 - 19968: jis0212<<14 | 0x19<<7 | 0x15, - 23330 - 19968: jis0208<<14 | 0x1D<<7 | 0x4D, - 23333 - 19968: jis0212<<14 | 0x19<<7 | 0x16, - 23338 - 19968: jis0208<<14 | 0x34<<7 | 0x2C, - 23340 - 19968: jis0208<<14 | 0x23<<7 | 0x3B, - 23341 - 19968: jis0212<<14 | 0x19<<7 | 0x17, - 23344 - 19968: jis0208<<14 | 0x10<<7 | 0x24, - 23346 - 19968: jis0208<<14 | 0x34<<7 | 0x2A, - 23348 - 19968: jis0212<<14 | 0x19<<7 | 0x11, - 23350 - 19968: jis0208<<14 | 0x34<<7 | 0x2D, - 23352 - 19968: jis0212<<14 | 0x19<<7 | 0x18, - 23358 - 19968: jis0208<<14 | 0x34<<7 | 0x2E, - 23360 - 19968: jis0208<<14 | 0x34<<7 | 0x31, - 23361 - 19968: jis0212<<14 | 0x19<<7 | 0x19, - 23363 - 19968: jis0208<<14 | 0x34<<7 | 0x2F, - 23365 - 19968: jis0208<<14 | 0x34<<7 | 0x30, - 23371 - 19968: jis0212<<14 | 0x19<<7 | 0x1A, - 23372 - 19968: jis0212<<14 | 0x19<<7 | 0x1B, - 23376 - 19968: jis0208<<14 | 0x1A<<7 | 0x31, - 23377 - 19968: jis0208<<14 | 0x34<<7 | 0x32, - 23378 - 19968: jis0212<<14 | 0x19<<7 | 0x1C, - 23380 - 19968: jis0208<<14 | 0x18<<7 | 0x05, - 23381 - 19968: jis0208<<14 | 0x34<<7 | 0x33, - 23382 - 19968: jis0208<<14 | 0x58<<7 | 0x49, - 23383 - 19968: jis0208<<14 | 0x1A<<7 | 0x59, - 23384 - 19968: jis0208<<14 | 0x21<<7 | 0x17, - 23386 - 19968: jis0208<<14 | 0x34<<7 | 0x34, - 23387 - 19968: jis0208<<14 | 0x34<<7 | 0x35, - 23388 - 19968: jis0208<<14 | 0x1A<<7 | 0x39, - 23389 - 19968: jis0208<<14 | 0x18<<7 | 0x06, - 23390 - 19968: jis0212<<14 | 0x19<<7 | 0x1E, - 23391 - 19968: jis0208<<14 | 0x2B<<7 | 0x31, - 23395 - 19968: jis0208<<14 | 0x14<<7 | 0x07, - 23396 - 19968: jis0208<<14 | 0x17<<7 | 0x28, - 23397 - 19968: jis0208<<14 | 0x34<<7 | 0x36, - 23398 - 19968: jis0208<<14 | 0x12<<7 | 0x37, - 23400 - 19968: jis0212<<14 | 0x19<<7 | 0x1F, - 23401 - 19968: jis0208<<14 | 0x34<<7 | 0x37, - 23403 - 19968: jis0208<<14 | 0x21<<7 | 0x18, - 23406 - 19968: jis0212<<14 | 0x19<<7 | 0x20, - 23407 - 19968: jis0212<<14 | 0x19<<7 | 0x21, - 23408 - 19968: jis0208<<14 | 0x34<<7 | 0x38, - 23409 - 19968: jis0208<<14 | 0x35<<7 | 0x02, - 23411 - 19968: jis0208<<14 | 0x34<<7 | 0x39, - 23413 - 19968: jis0208<<14 | 0x34<<7 | 0x3A, - 23416 - 19968: jis0208<<14 | 0x34<<7 | 0x3B, - 23418 - 19968: jis0208<<14 | 0x34<<7 | 0x3D, - 23420 - 19968: jis0212<<14 | 0x19<<7 | 0x22, - 23421 - 19968: jis0212<<14 | 0x19<<7 | 0x23, - 23422 - 19968: jis0212<<14 | 0x19<<7 | 0x24, - 23423 - 19968: jis0212<<14 | 0x19<<7 | 0x25, - 23424 - 19968: jis0208<<14 | 0x34<<7 | 0x3E, - 23425 - 19968: jis0212<<14 | 0x19<<7 | 0x26, - 23427 - 19968: jis0208<<14 | 0x34<<7 | 0x3F, - 23428 - 19968: jis0212<<14 | 0x19<<7 | 0x27, - 23429 - 19968: jis0208<<14 | 0x21<<7 | 0x4F, - 23430 - 19968: jis0212<<14 | 0x19<<7 | 0x28, - 23431 - 19968: jis0208<<14 | 0x10<<7 | 0x06, - 23432 - 19968: jis0208<<14 | 0x1B<<7 | 0x48, - 23433 - 19968: jis0208<<14 | 0x0F<<7 | 0x21, - 23434 - 19968: jis0212<<14 | 0x19<<7 | 0x29, - 23435 - 19968: jis0208<<14 | 0x20<<7 | 0x36, - 23436 - 19968: jis0208<<14 | 0x13<<7 | 0x0F, - 23437 - 19968: jis0208<<14 | 0x1B<<7 | 0x14, - 23438 - 19968: jis0212<<14 | 0x19<<7 | 0x2A, - 23439 - 19968: jis0208<<14 | 0x18<<7 | 0x07, - 23440 - 19968: jis0212<<14 | 0x19<<7 | 0x2B, - 23441 - 19968: jis0212<<14 | 0x19<<7 | 0x2C, - 23443 - 19968: jis0212<<14 | 0x19<<7 | 0x2D, - 23444 - 19968: jis0212<<14 | 0x19<<7 | 0x2E, - 23445 - 19968: jis0208<<14 | 0x24<<7 | 0x45, - 23446 - 19968: jis0212<<14 | 0x19<<7 | 0x2F, - 23447 - 19968: jis0208<<14 | 0x1C<<7 | 0x00, - 23448 - 19968: jis0208<<14 | 0x13<<7 | 0x10, - 23449 - 19968: jis0208<<14 | 0x22<<7 | 0x47, - 23450 - 19968: jis0208<<14 | 0x23<<7 | 0x49, - 23451 - 19968: jis0208<<14 | 0x0F<<7 | 0x17, - 23452 - 19968: jis0208<<14 | 0x14<<7 | 0x18, - 23453 - 19968: jis0208<<14 | 0x29<<7 | 0x54, - 23455 - 19968: jis0208<<14 | 0x1B<<7 | 0x21, - 23458 - 19968: jis0208<<14 | 0x14<<7 | 0x31, - 23459 - 19968: jis0208<<14 | 0x1F<<7 | 0x4A, - 23460 - 19968: jis0208<<14 | 0x1B<<7 | 0x1B, - 23461 - 19968: jis0208<<14 | 0x2C<<7 | 0x07, - 23462 - 19968: jis0208<<14 | 0x34<<7 | 0x40, - 23464 - 19968: jis0212<<14 | 0x19<<7 | 0x30, - 23465 - 19968: jis0212<<14 | 0x19<<7 | 0x31, - 23468 - 19968: jis0212<<14 | 0x19<<7 | 0x32, - 23469 - 19968: jis0212<<14 | 0x19<<7 | 0x33, - 23470 - 19968: jis0208<<14 | 0x14<<7 | 0x3B, - 23471 - 19968: jis0212<<14 | 0x19<<7 | 0x34, - 23472 - 19968: jis0208<<14 | 0x19<<7 | 0x2A, - 23473 - 19968: jis0212<<14 | 0x19<<7 | 0x35, - 23474 - 19968: jis0212<<14 | 0x19<<7 | 0x36, - 23475 - 19968: jis0208<<14 | 0x12<<7 | 0x11, - 23476 - 19968: jis0208<<14 | 0x10<<7 | 0x42, - 23477 - 19968: jis0208<<14 | 0x1D<<7 | 0x0B, - 23478 - 19968: jis0208<<14 | 0x11<<7 | 0x27, - 23479 - 19968: jis0212<<14 | 0x19<<7 | 0x37, - 23480 - 19968: jis0208<<14 | 0x34<<7 | 0x41, - 23481 - 19968: jis0208<<14 | 0x2C<<7 | 0x25, - 23482 - 19968: jis0212<<14 | 0x19<<7 | 0x38, - 23484 - 19968: jis0212<<14 | 0x19<<7 | 0x39, - 23487 - 19968: jis0208<<14 | 0x1C<<7 | 0x28, - 23488 - 19968: jis0208<<14 | 0x58<<7 | 0x4A, - 23489 - 19968: jis0212<<14 | 0x19<<7 | 0x3B, - 23490 - 19968: jis0208<<14 | 0x1B<<7 | 0x43, - 23491 - 19968: jis0208<<14 | 0x34<<7 | 0x42, - 23492 - 19968: jis0208<<14 | 0x13<<7 | 0x52, - 23493 - 19968: jis0208<<14 | 0x25<<7 | 0x31, - 23494 - 19968: jis0208<<14 | 0x2B<<7 | 0x08, - 23495 - 19968: jis0208<<14 | 0x34<<7 | 0x43, - 23497 - 19968: jis0208<<14 | 0x34<<7 | 0x44, - 23500 - 19968: jis0208<<14 | 0x28<<7 | 0x38, - 23501 - 19968: jis0212<<14 | 0x19<<7 | 0x3C, - 23503 - 19968: jis0212<<14 | 0x19<<7 | 0x3D, - 23504 - 19968: jis0208<<14 | 0x34<<7 | 0x46, - 23506 - 19968: jis0208<<14 | 0x13<<7 | 0x07, - 23507 - 19968: jis0208<<14 | 0x15<<7 | 0x56, - 23508 - 19968: jis0208<<14 | 0x34<<7 | 0x45, - 23510 - 19968: jis0212<<14 | 0x19<<7 | 0x3E, - 23511 - 19968: jis0212<<14 | 0x19<<7 | 0x3F, - 23512 - 19968: jis0208<<14 | 0x58<<7 | 0x4C, - 23513 - 19968: jis0212<<14 | 0x19<<7 | 0x41, - 23514 - 19968: jis0212<<14 | 0x19<<7 | 0x42, - 23515 - 19968: jis0208<<14 | 0x13<<7 | 0x11, - 23517 - 19968: jis0208<<14 | 0x1E<<7 | 0x11, - 23518 - 19968: jis0208<<14 | 0x34<<7 | 0x4A, - 23519 - 19968: jis0208<<14 | 0x1A<<7 | 0x00, - 23520 - 19968: jis0212<<14 | 0x19<<7 | 0x43, - 23521 - 19968: jis0208<<14 | 0x11<<7 | 0x28, - 23522 - 19968: jis0208<<14 | 0x34<<7 | 0x49, - 23524 - 19968: jis0208<<14 | 0x34<<7 | 0x47, - 23525 - 19968: jis0208<<14 | 0x34<<7 | 0x4B, - 23526 - 19968: jis0208<<14 | 0x34<<7 | 0x48, - 23527 - 19968: jis0208<<14 | 0x26<<7 | 0x0A, - 23528 - 19968: jis0208<<14 | 0x3B<<7 | 0x2C, - 23529 - 19968: jis0208<<14 | 0x1E<<7 | 0x12, - 23531 - 19968: jis0208<<14 | 0x34<<7 | 0x4C, - 23532 - 19968: jis0208<<14 | 0x58<<7 | 0x4D, - 23534 - 19968: jis0208<<14 | 0x2D<<7 | 0x1F, - 23535 - 19968: jis0212<<14 | 0x19<<7 | 0x44, - 23536 - 19968: jis0208<<14 | 0x34<<7 | 0x4D, - 23537 - 19968: jis0212<<14 | 0x19<<7 | 0x45, - 23539 - 19968: jis0208<<14 | 0x34<<7 | 0x4F, - 23540 - 19968: jis0212<<14 | 0x19<<7 | 0x46, - 23541 - 19968: jis0208<<14 | 0x22<<7 | 0x5D, - 23542 - 19968: jis0208<<14 | 0x34<<7 | 0x4E, - 23544 - 19968: jis0208<<14 | 0x1F<<7 | 0x02, - 23546 - 19968: jis0208<<14 | 0x1A<<7 | 0x5A, - 23549 - 19968: jis0212<<14 | 0x19<<7 | 0x47, - 23550 - 19968: jis0208<<14 | 0x21<<7 | 0x2F, - 23551 - 19968: jis0208<<14 | 0x1B<<7 | 0x56, - 23553 - 19968: jis0208<<14 | 0x28<<7 | 0x54, - 23554 - 19968: jis0208<<14 | 0x1F<<7 | 0x4B, - 23556 - 19968: jis0208<<14 | 0x1B<<7 | 0x2C, - 23557 - 19968: jis0208<<14 | 0x34<<7 | 0x50, - 23558 - 19968: jis0208<<14 | 0x1D<<7 | 0x0C, - 23559 - 19968: jis0208<<14 | 0x34<<7 | 0x51, - 23560 - 19968: jis0208<<14 | 0x34<<7 | 0x52, - 23561 - 19968: jis0208<<14 | 0x0F<<7 | 0x32, - 23562 - 19968: jis0208<<14 | 0x21<<7 | 0x19, - 23563 - 19968: jis0208<<14 | 0x1E<<7 | 0x31, - 23564 - 19968: jis0212<<14 | 0x19<<7 | 0x48, - 23565 - 19968: jis0208<<14 | 0x34<<7 | 0x53, - 23566 - 19968: jis0208<<14 | 0x25<<7 | 0x12, - 23567 - 19968: jis0208<<14 | 0x1D<<7 | 0x0D, - 23569 - 19968: jis0208<<14 | 0x1D<<7 | 0x0E, - 23571 - 19968: jis0208<<14 | 0x34<<7 | 0x54, - 23574 - 19968: jis0208<<14 | 0x1F<<7 | 0x4C, - 23575 - 19968: jis0212<<14 | 0x19<<7 | 0x49, - 23578 - 19968: jis0208<<14 | 0x1D<<7 | 0x0F, - 23582 - 19968: jis0208<<14 | 0x58<<7 | 0x4E, - 23583 - 19968: jis0212<<14 | 0x19<<7 | 0x4B, - 23584 - 19968: jis0208<<14 | 0x34<<7 | 0x55, - 23586 - 19968: jis0208<<14 | 0x34<<7 | 0x56, - 23587 - 19968: jis0212<<14 | 0x19<<7 | 0x4C, - 23588 - 19968: jis0208<<14 | 0x2B<<7 | 0x3F, - 23590 - 19968: jis0212<<14 | 0x19<<7 | 0x4D, - 23592 - 19968: jis0208<<14 | 0x34<<7 | 0x57, - 23593 - 19968: jis0212<<14 | 0x19<<7 | 0x4E, - 23595 - 19968: jis0212<<14 | 0x19<<7 | 0x4F, - 23596 - 19968: jis0212<<14 | 0x19<<7 | 0x50, - 23597 - 19968: jis0208<<14 | 0x15<<7 | 0x25, - 23598 - 19968: jis0212<<14 | 0x19<<7 | 0x51, - 23600 - 19968: jis0212<<14 | 0x19<<7 | 0x52, - 23601 - 19968: jis0208<<14 | 0x1C<<7 | 0x01, - 23602 - 19968: jis0212<<14 | 0x19<<7 | 0x53, - 23605 - 19968: jis0212<<14 | 0x19<<7 | 0x54, - 23606 - 19968: jis0212<<14 | 0x19<<7 | 0x55, - 23608 - 19968: jis0208<<14 | 0x34<<7 | 0x58, - 23609 - 19968: jis0208<<14 | 0x34<<7 | 0x59, - 23610 - 19968: jis0208<<14 | 0x1B<<7 | 0x3B, - 23611 - 19968: jis0208<<14 | 0x1E<<7 | 0x0B, - 23612 - 19968: jis0208<<14 | 0x25<<7 | 0x53, - 23613 - 19968: jis0208<<14 | 0x1E<<7 | 0x33, - 23614 - 19968: jis0208<<14 | 0x27<<7 | 0x57, - 23615 - 19968: jis0208<<14 | 0x26<<7 | 0x01, - 23616 - 19968: jis0208<<14 | 0x15<<7 | 0x28, - 23617 - 19968: jis0208<<14 | 0x34<<7 | 0x5A, - 23621 - 19968: jis0208<<14 | 0x14<<7 | 0x4E, - 23622 - 19968: jis0208<<14 | 0x34<<7 | 0x5B, - 23624 - 19968: jis0208<<14 | 0x15<<7 | 0x5D, - 23626 - 19968: jis0208<<14 | 0x25<<7 | 0x2E, - 23627 - 19968: jis0208<<14 | 0x11<<7 | 0x0F, - 23629 - 19968: jis0208<<14 | 0x1A<<7 | 0x32, - 23630 - 19968: jis0208<<14 | 0x34<<7 | 0x5C, - 23631 - 19968: jis0208<<14 | 0x35<<7 | 0x01, - 23632 - 19968: jis0208<<14 | 0x35<<7 | 0x00, - 23633 - 19968: jis0208<<14 | 0x15<<7 | 0x5C, - 23635 - 19968: jis0208<<14 | 0x34<<7 | 0x5D, - 23637 - 19968: jis0208<<14 | 0x24<<7 | 0x17, - 23641 - 19968: jis0212<<14 | 0x19<<7 | 0x56, - 23642 - 19968: jis0212<<14 | 0x19<<7 | 0x57, - 23644 - 19968: jis0212<<14 | 0x19<<7 | 0x58, - 23646 - 19968: jis0208<<14 | 0x21<<7 | 0x0F, - 23648 - 19968: jis0208<<14 | 0x24<<7 | 0x2A, - 23649 - 19968: jis0208<<14 | 0x1B<<7 | 0x27, - 23650 - 19968: jis0212<<14 | 0x19<<7 | 0x59, - 23651 - 19968: jis0212<<14 | 0x19<<7 | 0x5A, - 23652 - 19968: jis0208<<14 | 0x20<<7 | 0x37, - 23653 - 19968: jis0208<<14 | 0x2C<<7 | 0x59, - 23655 - 19968: jis0212<<14 | 0x19<<7 | 0x5B, - 23656 - 19968: jis0212<<14 | 0x19<<7 | 0x5C, - 23657 - 19968: jis0212<<14 | 0x19<<7 | 0x5D, - 23660 - 19968: jis0208<<14 | 0x35<<7 | 0x03, - 23661 - 19968: jis0212<<14 | 0x1A<<7 | 0x00, - 23662 - 19968: jis0208<<14 | 0x35<<7 | 0x04, - 23663 - 19968: jis0208<<14 | 0x25<<7 | 0x35, - 23664 - 19968: jis0212<<14 | 0x1A<<7 | 0x01, - 23665 - 19968: jis0208<<14 | 0x1A<<7 | 0x12, - 23668 - 19968: jis0212<<14 | 0x1A<<7 | 0x02, - 23669 - 19968: jis0212<<14 | 0x1A<<7 | 0x03, - 23670 - 19968: jis0208<<14 | 0x35<<7 | 0x06, - 23673 - 19968: jis0208<<14 | 0x35<<7 | 0x07, - 23674 - 19968: jis0212<<14 | 0x1A<<7 | 0x04, - 23675 - 19968: jis0212<<14 | 0x1A<<7 | 0x05, - 23676 - 19968: jis0212<<14 | 0x1A<<7 | 0x06, - 23677 - 19968: jis0212<<14 | 0x1A<<7 | 0x07, - 23687 - 19968: jis0212<<14 | 0x1A<<7 | 0x08, - 23688 - 19968: jis0212<<14 | 0x1A<<7 | 0x09, - 23690 - 19968: jis0212<<14 | 0x1A<<7 | 0x0A, - 23692 - 19968: jis0208<<14 | 0x35<<7 | 0x08, - 23695 - 19968: jis0212<<14 | 0x1A<<7 | 0x0B, - 23696 - 19968: jis0208<<14 | 0x13<<7 | 0x53, - 23697 - 19968: jis0208<<14 | 0x35<<7 | 0x09, - 23698 - 19968: jis0212<<14 | 0x1A<<7 | 0x0C, - 23700 - 19968: jis0208<<14 | 0x35<<7 | 0x0A, - 23709 - 19968: jis0212<<14 | 0x1A<<7 | 0x0D, - 23711 - 19968: jis0212<<14 | 0x1A<<7 | 0x0E, - 23712 - 19968: jis0212<<14 | 0x1A<<7 | 0x0F, - 23713 - 19968: jis0208<<14 | 0x11<<7 | 0x0B, - 23714 - 19968: jis0212<<14 | 0x1A<<7 | 0x10, - 23715 - 19968: jis0212<<14 | 0x1A<<7 | 0x11, - 23718 - 19968: jis0208<<14 | 0x58<<7 | 0x4F, - 23720 - 19968: jis0208<<14 | 0x20<<7 | 0x1A, - 23721 - 19968: jis0208<<14 | 0x13<<7 | 0x43, - 23722 - 19968: jis0212<<14 | 0x1A<<7 | 0x13, - 23723 - 19968: jis0208<<14 | 0x35<<7 | 0x0C, - 23724 - 19968: jis0208<<14 | 0x2B<<7 | 0x07, - 23729 - 19968: jis0208<<14 | 0x21<<7 | 0x31, - 23730 - 19968: jis0212<<14 | 0x1A<<7 | 0x14, - 23731 - 19968: jis0208<<14 | 0x12<<7 | 0x38, - 23732 - 19968: jis0212<<14 | 0x1A<<7 | 0x15, - 23733 - 19968: jis0212<<14 | 0x1A<<7 | 0x16, - 23734 - 19968: jis0208<<14 | 0x35<<7 | 0x0E, - 23735 - 19968: jis0208<<14 | 0x35<<7 | 0x10, - 23736 - 19968: jis0208<<14 | 0x13<<7 | 0x3E, - 23738 - 19968: jis0208<<14 | 0x58<<7 | 0x50, - 23739 - 19968: jis0208<<14 | 0x35<<7 | 0x0D, - 23740 - 19968: jis0208<<14 | 0x35<<7 | 0x0F, - 23742 - 19968: jis0208<<14 | 0x35<<7 | 0x12, - 23749 - 19968: jis0208<<14 | 0x35<<7 | 0x11, - 23751 - 19968: jis0208<<14 | 0x35<<7 | 0x13, - 23753 - 19968: jis0212<<14 | 0x1A<<7 | 0x18, - 23755 - 19968: jis0212<<14 | 0x1A<<7 | 0x19, - 23762 - 19968: jis0212<<14 | 0x1A<<7 | 0x1A, - 23767 - 19968: jis0212<<14 | 0x1A<<7 | 0x1C, - 23769 - 19968: jis0208<<14 | 0x35<<7 | 0x14, - 23773 - 19968: jis0212<<14 | 0x1A<<7 | 0x1B, - 23776 - 19968: jis0208<<14 | 0x25<<7 | 0x1C, - 23777 - 19968: jis0208<<14 | 0x15<<7 | 0x0D, - 23784 - 19968: jis0208<<14 | 0x11<<7 | 0x44, - 23785 - 19968: jis0208<<14 | 0x35<<7 | 0x15, - 23786 - 19968: jis0208<<14 | 0x35<<7 | 0x1A, - 23789 - 19968: jis0208<<14 | 0x35<<7 | 0x18, - 23790 - 19968: jis0212<<14 | 0x1A<<7 | 0x1D, - 23791 - 19968: jis0208<<14 | 0x29<<7 | 0x56, - 23792 - 19968: jis0208<<14 | 0x29<<7 | 0x55, - 23793 - 19968: jis0212<<14 | 0x1A<<7 | 0x1E, - 23794 - 19968: jis0212<<14 | 0x1A<<7 | 0x1F, - 23796 - 19968: jis0212<<14 | 0x1A<<7 | 0x20, - 23797 - 19968: jis0208<<14 | 0x58<<7 | 0x51, - 23798 - 19968: jis0208<<14 | 0x24<<7 | 0x46, - 23802 - 19968: jis0208<<14 | 0x35<<7 | 0x17, - 23803 - 19968: jis0208<<14 | 0x1C<<7 | 0x33, - 23805 - 19968: jis0208<<14 | 0x35<<7 | 0x16, - 23809 - 19968: jis0212<<14 | 0x1A<<7 | 0x21, - 23814 - 19968: jis0212<<14 | 0x1A<<7 | 0x22, - 23815 - 19968: jis0208<<14 | 0x1E<<7 | 0x51, - 23819 - 19968: jis0208<<14 | 0x35<<7 | 0x1B, - 23821 - 19968: jis0212<<14 | 0x1A<<7 | 0x23, - 23822 - 19968: jis0208<<14 | 0x19<<7 | 0x49, - 23825 - 19968: jis0208<<14 | 0x35<<7 | 0x21, - 23826 - 19968: jis0212<<14 | 0x1A<<7 | 0x24, - 23828 - 19968: jis0208<<14 | 0x35<<7 | 0x22, - 23829 - 19968: jis0208<<14 | 0x35<<7 | 0x1C, - 23830 - 19968: jis0208<<14 | 0x12<<7 | 0x12, - 23831 - 19968: jis0208<<14 | 0x35<<7 | 0x1D, - 23832 - 19968: jis0208<<14 | 0x35<<7 | 0x26, - 23833 - 19968: jis0208<<14 | 0x35<<7 | 0x25, - 23834 - 19968: jis0208<<14 | 0x35<<7 | 0x24, - 23835 - 19968: jis0208<<14 | 0x35<<7 | 0x20, - 23839 - 19968: jis0208<<14 | 0x35<<7 | 0x1F, - 23842 - 19968: jis0208<<14 | 0x35<<7 | 0x23, - 23843 - 19968: jis0212<<14 | 0x1A<<7 | 0x26, - 23844 - 19968: jis0212<<14 | 0x1A<<7 | 0x27, - 23846 - 19968: jis0212<<14 | 0x1A<<7 | 0x28, - 23847 - 19968: jis0208<<14 | 0x58<<7 | 0x52, - 23849 - 19968: jis0208<<14 | 0x29<<7 | 0x57, - 23851 - 19968: jis0212<<14 | 0x1A<<7 | 0x25, - 23857 - 19968: jis0212<<14 | 0x1A<<7 | 0x2A, - 23860 - 19968: jis0212<<14 | 0x1A<<7 | 0x2B, - 23865 - 19968: jis0212<<14 | 0x1A<<7 | 0x2C, - 23869 - 19968: jis0212<<14 | 0x1A<<7 | 0x2D, - 23871 - 19968: jis0212<<14 | 0x1A<<7 | 0x2E, - 23874 - 19968: jis0208<<14 | 0x58<<7 | 0x55, - 23875 - 19968: jis0212<<14 | 0x1A<<7 | 0x30, - 23878 - 19968: jis0212<<14 | 0x1A<<7 | 0x31, - 23880 - 19968: jis0212<<14 | 0x1A<<7 | 0x32, - 23882 - 19968: jis0212<<14 | 0x1A<<7 | 0x36, - 23883 - 19968: jis0208<<14 | 0x35<<7 | 0x2A, - 23884 - 19968: jis0208<<14 | 0x35<<7 | 0x27, - 23886 - 19968: jis0208<<14 | 0x35<<7 | 0x29, - 23888 - 19968: jis0208<<14 | 0x2C<<7 | 0x51, - 23889 - 19968: jis0212<<14 | 0x1A<<7 | 0x34, - 23890 - 19968: jis0208<<14 | 0x35<<7 | 0x28, - 23891 - 19968: jis0208<<14 | 0x58<<7 | 0x53, - 23893 - 19968: jis0212<<14 | 0x1A<<7 | 0x33, - 23897 - 19968: jis0212<<14 | 0x1A<<7 | 0x35, - 23900 - 19968: jis0208<<14 | 0x35<<7 | 0x1E, - 23903 - 19968: jis0212<<14 | 0x1A<<7 | 0x37, - 23904 - 19968: jis0212<<14 | 0x1A<<7 | 0x38, - 23905 - 19968: jis0212<<14 | 0x1A<<7 | 0x39, - 23906 - 19968: jis0212<<14 | 0x1A<<7 | 0x3A, - 23908 - 19968: jis0212<<14 | 0x1A<<7 | 0x3B, - 23913 - 19968: jis0208<<14 | 0x1E<<7 | 0x52, - 23914 - 19968: jis0212<<14 | 0x1A<<7 | 0x3C, - 23916 - 19968: jis0208<<14 | 0x35<<7 | 0x2B, - 23917 - 19968: jis0208<<14 | 0x58<<7 | 0x56, - 23919 - 19968: jis0208<<14 | 0x19<<7 | 0x16, - 23920 - 19968: jis0212<<14 | 0x1A<<7 | 0x3E, - 23923 - 19968: jis0208<<14 | 0x35<<7 | 0x2C, - 23926 - 19968: jis0208<<14 | 0x35<<7 | 0x2D, - 23929 - 19968: jis0212<<14 | 0x1A<<7 | 0x3F, - 23930 - 19968: jis0212<<14 | 0x1A<<7 | 0x40, - 23934 - 19968: jis0212<<14 | 0x1A<<7 | 0x41, - 23935 - 19968: jis0212<<14 | 0x1A<<7 | 0x42, - 23937 - 19968: jis0212<<14 | 0x1A<<7 | 0x43, - 23938 - 19968: jis0208<<14 | 0x35<<7 | 0x30, - 23939 - 19968: jis0212<<14 | 0x1A<<7 | 0x44, - 23940 - 19968: jis0208<<14 | 0x35<<7 | 0x2F, - 23943 - 19968: jis0208<<14 | 0x35<<7 | 0x2E, - 23944 - 19968: jis0212<<14 | 0x1A<<7 | 0x45, - 23946 - 19968: jis0212<<14 | 0x1A<<7 | 0x46, - 23947 - 19968: jis0208<<14 | 0x24<<7 | 0x47, - 23948 - 19968: jis0208<<14 | 0x35<<7 | 0x19, - 23952 - 19968: jis0208<<14 | 0x35<<7 | 0x36, - 23954 - 19968: jis0212<<14 | 0x1A<<7 | 0x47, - 23955 - 19968: jis0212<<14 | 0x1A<<7 | 0x48, - 23956 - 19968: jis0212<<14 | 0x1A<<7 | 0x49, - 23957 - 19968: jis0212<<14 | 0x1A<<7 | 0x4A, - 23961 - 19968: jis0212<<14 | 0x1A<<7 | 0x4B, - 23963 - 19968: jis0212<<14 | 0x1A<<7 | 0x4C, - 23965 - 19968: jis0208<<14 | 0x35<<7 | 0x32, - 23967 - 19968: jis0212<<14 | 0x1A<<7 | 0x4D, - 23968 - 19968: jis0212<<14 | 0x1A<<7 | 0x4E, - 23970 - 19968: jis0208<<14 | 0x35<<7 | 0x31, - 23975 - 19968: jis0212<<14 | 0x1A<<7 | 0x4F, - 23979 - 19968: jis0212<<14 | 0x1A<<7 | 0x50, - 23980 - 19968: jis0208<<14 | 0x35<<7 | 0x33, - 23982 - 19968: jis0208<<14 | 0x35<<7 | 0x34, - 23984 - 19968: jis0212<<14 | 0x1A<<7 | 0x51, - 23986 - 19968: jis0212<<14 | 0x45<<7 | 0x53, - 23988 - 19968: jis0212<<14 | 0x1A<<7 | 0x52, - 23991 - 19968: jis0208<<14 | 0x35<<7 | 0x37, - 23992 - 19968: jis0208<<14 | 0x58<<7 | 0x57, - 23993 - 19968: jis0208<<14 | 0x58<<7 | 0x58, - 23994 - 19968: jis0208<<14 | 0x2D<<7 | 0x45, - 23996 - 19968: jis0208<<14 | 0x35<<7 | 0x38, - 23997 - 19968: jis0208<<14 | 0x35<<7 | 0x35, - 24003 - 19968: jis0212<<14 | 0x1A<<7 | 0x55, - 24007 - 19968: jis0212<<14 | 0x1A<<7 | 0x56, - 24009 - 19968: jis0208<<14 | 0x35<<7 | 0x39, - 24011 - 19968: jis0212<<14 | 0x1A<<7 | 0x57, - 24012 - 19968: jis0208<<14 | 0x13<<7 | 0x3F, - 24013 - 19968: jis0208<<14 | 0x35<<7 | 0x3A, - 24014 - 19968: jis0212<<14 | 0x1A<<7 | 0x59, - 24016 - 19968: jis0208<<14 | 0x58<<7 | 0x59, - 24018 - 19968: jis0208<<14 | 0x35<<7 | 0x3C, - 24019 - 19968: jis0208<<14 | 0x35<<7 | 0x3B, - 24022 - 19968: jis0208<<14 | 0x35<<7 | 0x3D, - 24024 - 19968: jis0212<<14 | 0x1A<<7 | 0x5A, - 24025 - 19968: jis0212<<14 | 0x1A<<7 | 0x5B, - 24027 - 19968: jis0208<<14 | 0x35<<7 | 0x3E, - 24029 - 19968: jis0208<<14 | 0x1F<<7 | 0x4D, - 24030 - 19968: jis0208<<14 | 0x1C<<7 | 0x02, - 24032 - 19968: jis0212<<14 | 0x1A<<7 | 0x5C, - 24033 - 19968: jis0208<<14 | 0x1C<<7 | 0x43, - 24035 - 19968: jis0208<<14 | 0x20<<7 | 0x42, - 24036 - 19968: jis0212<<14 | 0x1A<<7 | 0x5D, - 24037 - 19968: jis0208<<14 | 0x18<<7 | 0x08, - 24038 - 19968: jis0208<<14 | 0x19<<7 | 0x17, - 24039 - 19968: jis0208<<14 | 0x18<<7 | 0x09, - 24040 - 19968: jis0208<<14 | 0x14<<7 | 0x4F, - 24041 - 19968: jis0212<<14 | 0x1B<<7 | 0x00, - 24043 - 19968: jis0208<<14 | 0x35<<7 | 0x3F, - 24046 - 19968: jis0208<<14 | 0x19<<7 | 0x18, - 24049 - 19968: jis0208<<14 | 0x17<<7 | 0x29, - 24050 - 19968: jis0208<<14 | 0x35<<7 | 0x40, - 24051 - 19968: jis0208<<14 | 0x2B<<7 | 0x05, - 24052 - 19968: jis0208<<14 | 0x26<<7 | 0x22, - 24053 - 19968: jis0208<<14 | 0x35<<7 | 0x41, - 24055 - 19968: jis0208<<14 | 0x18<<7 | 0x0A, - 24056 - 19968: jis0212<<14 | 0x1B<<7 | 0x01, - 24057 - 19968: jis0212<<14 | 0x1B<<7 | 0x02, - 24059 - 19968: jis0208<<14 | 0x13<<7 | 0x0B, - 24061 - 19968: jis0208<<14 | 0x22<<7 | 0x06, - 24062 - 19968: jis0208<<14 | 0x15<<7 | 0x31, - 24064 - 19968: jis0212<<14 | 0x1B<<7 | 0x03, - 24066 - 19968: jis0208<<14 | 0x1A<<7 | 0x33, - 24067 - 19968: jis0208<<14 | 0x28<<7 | 0x3A, - 24070 - 19968: jis0208<<14 | 0x27<<7 | 0x20, - 24071 - 19968: jis0212<<14 | 0x1B<<7 | 0x04, - 24075 - 19968: jis0208<<14 | 0x35<<7 | 0x42, - 24076 - 19968: jis0208<<14 | 0x13<<7 | 0x54, - 24077 - 19968: jis0212<<14 | 0x1B<<7 | 0x05, - 24081 - 19968: jis0208<<14 | 0x35<<7 | 0x45, - 24082 - 19968: jis0212<<14 | 0x1B<<7 | 0x06, - 24084 - 19968: jis0212<<14 | 0x1B<<7 | 0x07, - 24085 - 19968: jis0212<<14 | 0x1B<<7 | 0x08, - 24086 - 19968: jis0208<<14 | 0x23<<7 | 0x00, - 24088 - 19968: jis0212<<14 | 0x1B<<7 | 0x09, - 24089 - 19968: jis0208<<14 | 0x35<<7 | 0x44, - 24090 - 19968: jis0208<<14 | 0x35<<7 | 0x43, - 24091 - 19968: jis0208<<14 | 0x35<<7 | 0x46, - 24093 - 19968: jis0208<<14 | 0x23<<7 | 0x4A, - 24095 - 19968: jis0212<<14 | 0x1B<<7 | 0x0A, - 24096 - 19968: jis0212<<14 | 0x1B<<7 | 0x0B, - 24101 - 19968: jis0208<<14 | 0x1E<<7 | 0x42, - 24104 - 19968: jis0212<<14 | 0x1B<<7 | 0x0D, - 24107 - 19968: jis0208<<14 | 0x1A<<7 | 0x34, - 24109 - 19968: jis0208<<14 | 0x1F<<7 | 0x29, - 24110 - 19968: jis0212<<14 | 0x1B<<7 | 0x0C, - 24111 - 19968: jis0208<<14 | 0x21<<7 | 0x32, - 24112 - 19968: jis0208<<14 | 0x14<<7 | 0x01, - 24114 - 19968: jis0212<<14 | 0x1B<<7 | 0x0E, - 24115 - 19968: jis0208<<14 | 0x23<<7 | 0x01, - 24117 - 19968: jis0212<<14 | 0x1B<<7 | 0x0F, - 24118 - 19968: jis0208<<14 | 0x35<<7 | 0x47, - 24119 - 19968: jis0208<<14 | 0x35<<7 | 0x48, - 24120 - 19968: jis0208<<14 | 0x1D<<7 | 0x4E, - 24125 - 19968: jis0208<<14 | 0x2A<<7 | 0x18, - 24126 - 19968: jis0212<<14 | 0x1B<<7 | 0x10, - 24128 - 19968: jis0208<<14 | 0x35<<7 | 0x4B, - 24131 - 19968: jis0208<<14 | 0x35<<7 | 0x4A, - 24132 - 19968: jis0208<<14 | 0x35<<7 | 0x49, - 24133 - 19968: jis0208<<14 | 0x28<<7 | 0x5C, - 24135 - 19968: jis0208<<14 | 0x35<<7 | 0x52, - 24137 - 19968: jis0212<<14 | 0x1B<<7 | 0x13, - 24139 - 19968: jis0212<<14 | 0x1B<<7 | 0x11, - 24140 - 19968: jis0208<<14 | 0x2A<<7 | 0x39, - 24142 - 19968: jis0208<<14 | 0x35<<7 | 0x4C, - 24144 - 19968: jis0212<<14 | 0x1B<<7 | 0x12, - 24145 - 19968: jis0212<<14 | 0x1B<<7 | 0x14, - 24148 - 19968: jis0208<<14 | 0x35<<7 | 0x4E, - 24149 - 19968: jis0208<<14 | 0x2A<<7 | 0x4A, - 24150 - 19968: jis0212<<14 | 0x1B<<7 | 0x15, - 24151 - 19968: jis0208<<14 | 0x35<<7 | 0x4D, - 24152 - 19968: jis0212<<14 | 0x1B<<7 | 0x16, - 24155 - 19968: jis0212<<14 | 0x1B<<7 | 0x17, - 24156 - 19968: jis0212<<14 | 0x1B<<7 | 0x18, - 24158 - 19968: jis0212<<14 | 0x1B<<7 | 0x19, - 24159 - 19968: jis0208<<14 | 0x35<<7 | 0x4F, - 24161 - 19968: jis0208<<14 | 0x27<<7 | 0x07, - 24162 - 19968: jis0208<<14 | 0x35<<7 | 0x50, - 24163 - 19968: jis0208<<14 | 0x29<<7 | 0x1D, - 24164 - 19968: jis0208<<14 | 0x35<<7 | 0x51, - 24168 - 19968: jis0212<<14 | 0x1B<<7 | 0x1A, - 24170 - 19968: jis0212<<14 | 0x1B<<7 | 0x1B, - 24171 - 19968: jis0212<<14 | 0x1B<<7 | 0x1C, - 24172 - 19968: jis0212<<14 | 0x1B<<7 | 0x1D, - 24173 - 19968: jis0212<<14 | 0x1B<<7 | 0x1E, - 24174 - 19968: jis0212<<14 | 0x1B<<7 | 0x1F, - 24176 - 19968: jis0212<<14 | 0x1B<<7 | 0x20, - 24178 - 19968: jis0208<<14 | 0x13<<7 | 0x12, - 24179 - 19968: jis0208<<14 | 0x29<<7 | 0x1E, - 24180 - 19968: jis0208<<14 | 0x26<<7 | 0x0E, - 24181 - 19968: jis0208<<14 | 0x35<<7 | 0x53, - 24182 - 19968: jis0208<<14 | 0x35<<7 | 0x54, - 24184 - 19968: jis0208<<14 | 0x18<<7 | 0x0B, - 24185 - 19968: jis0208<<14 | 0x13<<7 | 0x13, - 24186 - 19968: jis0208<<14 | 0x35<<7 | 0x55, - 24187 - 19968: jis0208<<14 | 0x17<<7 | 0x17, - 24188 - 19968: jis0208<<14 | 0x2C<<7 | 0x23, - 24189 - 19968: jis0208<<14 | 0x2C<<7 | 0x08, - 24190 - 19968: jis0208<<14 | 0x13<<7 | 0x55, - 24191 - 19968: jis0208<<14 | 0x35<<7 | 0x57, - 24192 - 19968: jis0212<<14 | 0x1B<<7 | 0x21, - 24193 - 19968: jis0208<<14 | 0x23<<7 | 0x02, - 24195 - 19968: jis0208<<14 | 0x18<<7 | 0x0C, - 24196 - 19968: jis0208<<14 | 0x1D<<7 | 0x10, - 24199 - 19968: jis0208<<14 | 0x27<<7 | 0x3E, - 24202 - 19968: jis0208<<14 | 0x1D<<7 | 0x11, - 24203 - 19968: jis0212<<14 | 0x1B<<7 | 0x22, - 24206 - 19968: jis0212<<14 | 0x1B<<7 | 0x23, - 24207 - 19968: jis0208<<14 | 0x1C<<7 | 0x57, - 24213 - 19968: jis0208<<14 | 0x23<<7 | 0x4B, - 24214 - 19968: jis0208<<14 | 0x29<<7 | 0x58, - 24215 - 19968: jis0208<<14 | 0x24<<7 | 0x18, - 24218 - 19968: jis0208<<14 | 0x18<<7 | 0x0D, - 24220 - 19968: jis0208<<14 | 0x28<<7 | 0x3B, - 24224 - 19968: jis0208<<14 | 0x35<<7 | 0x58, - 24226 - 19968: jis0212<<14 | 0x1B<<7 | 0x24, - 24228 - 19968: jis0212<<14 | 0x1B<<7 | 0x25, - 24229 - 19968: jis0212<<14 | 0x1B<<7 | 0x26, - 24230 - 19968: jis0208<<14 | 0x24<<7 | 0x38, - 24231 - 19968: jis0208<<14 | 0x19<<7 | 0x21, - 24232 - 19968: jis0212<<14 | 0x1B<<7 | 0x27, - 24234 - 19968: jis0212<<14 | 0x1B<<7 | 0x28, - 24235 - 19968: jis0208<<14 | 0x17<<7 | 0x2A, - 24236 - 19968: jis0212<<14 | 0x1B<<7 | 0x29, - 24237 - 19968: jis0208<<14 | 0x23<<7 | 0x4C, - 24241 - 19968: jis0212<<14 | 0x1B<<7 | 0x2A, - 24243 - 19968: jis0212<<14 | 0x1B<<7 | 0x2B, - 24245 - 19968: jis0208<<14 | 0x0F<<7 | 0x22, - 24246 - 19968: jis0208<<14 | 0x1C<<7 | 0x4D, - 24247 - 19968: jis0208<<14 | 0x18<<7 | 0x0E, - 24248 - 19968: jis0208<<14 | 0x2C<<7 | 0x26, - 24253 - 19968: jis0212<<14 | 0x1B<<7 | 0x2C, - 24254 - 19968: jis0212<<14 | 0x1B<<7 | 0x2D, - 24255 - 19968: jis0212<<14 | 0x1B<<7 | 0x2E, - 24257 - 19968: jis0208<<14 | 0x35<<7 | 0x59, - 24258 - 19968: jis0208<<14 | 0x35<<7 | 0x5A, - 24259 - 19968: jis0208<<14 | 0x26<<7 | 0x30, - 24262 - 19968: jis0212<<14 | 0x1B<<7 | 0x2F, - 24264 - 19968: jis0208<<14 | 0x35<<7 | 0x5B, - 24265 - 19968: jis0208<<14 | 0x2D<<7 | 0x56, - 24266 - 19968: jis0208<<14 | 0x2E<<7 | 0x0C, - 24267 - 19968: jis0212<<14 | 0x1B<<7 | 0x31, - 24268 - 19968: jis0212<<14 | 0x1B<<7 | 0x30, - 24270 - 19968: jis0212<<14 | 0x1B<<7 | 0x32, - 24271 - 19968: jis0208<<14 | 0x35<<7 | 0x5D, - 24272 - 19968: jis0208<<14 | 0x35<<7 | 0x5C, - 24273 - 19968: jis0212<<14 | 0x1B<<7 | 0x33, - 24274 - 19968: jis0212<<14 | 0x1B<<7 | 0x34, - 24275 - 19968: jis0208<<14 | 0x12<<7 | 0x26, - 24276 - 19968: jis0212<<14 | 0x1B<<7 | 0x35, - 24277 - 19968: jis0212<<14 | 0x1B<<7 | 0x36, - 24278 - 19968: jis0208<<14 | 0x36<<7 | 0x00, - 24282 - 19968: jis0208<<14 | 0x36<<7 | 0x03, - 24283 - 19968: jis0208<<14 | 0x36<<7 | 0x04, - 24284 - 19968: jis0212<<14 | 0x1B<<7 | 0x37, - 24285 - 19968: jis0208<<14 | 0x36<<7 | 0x02, - 24286 - 19968: jis0212<<14 | 0x1B<<7 | 0x38, - 24287 - 19968: jis0208<<14 | 0x28<<7 | 0x1F, - 24288 - 19968: jis0208<<14 | 0x1D<<7 | 0x12, - 24289 - 19968: jis0208<<14 | 0x36<<7 | 0x06, - 24290 - 19968: jis0208<<14 | 0x36<<7 | 0x05, - 24291 - 19968: jis0208<<14 | 0x36<<7 | 0x01, - 24293 - 19968: jis0212<<14 | 0x1B<<7 | 0x39, - 24296 - 19968: jis0208<<14 | 0x36<<7 | 0x07, - 24297 - 19968: jis0208<<14 | 0x36<<7 | 0x08, - 24299 - 19968: jis0212<<14 | 0x1B<<7 | 0x3A, - 24300 - 19968: jis0208<<14 | 0x36<<7 | 0x09, - 24304 - 19968: jis0208<<14 | 0x36<<7 | 0x0C, - 24305 - 19968: jis0208<<14 | 0x36<<7 | 0x0A, - 24307 - 19968: jis0208<<14 | 0x36<<7 | 0x0B, - 24308 - 19968: jis0208<<14 | 0x36<<7 | 0x0D, - 24310 - 19968: jis0208<<14 | 0x10<<7 | 0x43, - 24311 - 19968: jis0208<<14 | 0x23<<7 | 0x4D, - 24312 - 19968: jis0208<<14 | 0x36<<7 | 0x0E, - 24314 - 19968: jis0208<<14 | 0x16<<7 | 0x59, - 24315 - 19968: jis0208<<14 | 0x11<<7 | 0x55, - 24316 - 19968: jis0208<<14 | 0x26<<7 | 0x15, - 24318 - 19968: jis0208<<14 | 0x36<<7 | 0x0F, - 24319 - 19968: jis0208<<14 | 0x25<<7 | 0x5A, - 24321 - 19968: jis0208<<14 | 0x29<<7 | 0x3A, - 24322 - 19968: jis0212<<14 | 0x1B<<7 | 0x3B, - 24323 - 19968: jis0208<<14 | 0x36<<7 | 0x10, - 24324 - 19968: jis0208<<14 | 0x2E<<7 | 0x0D, - 24326 - 19968: jis0212<<14 | 0x1B<<7 | 0x3C, - 24327 - 19968: jis0212<<14 | 0x1B<<7 | 0x3D, - 24328 - 19968: jis0212<<14 | 0x1B<<7 | 0x3E, - 24329 - 19968: jis0208<<14 | 0x36<<7 | 0x11, - 24330 - 19968: jis0208<<14 | 0x29<<7 | 0x1F, - 24331 - 19968: jis0208<<14 | 0x36<<7 | 0x14, - 24332 - 19968: jis0208<<14 | 0x2F<<7 | 0x00, - 24333 - 19968: jis0208<<14 | 0x2F<<7 | 0x10, - 24334 - 19968: jis0212<<14 | 0x1B<<7 | 0x3F, - 24335 - 19968: jis0208<<14 | 0x1B<<7 | 0x0F, - 24336 - 19968: jis0208<<14 | 0x25<<7 | 0x54, - 24337 - 19968: jis0208<<14 | 0x36<<7 | 0x15, - 24339 - 19968: jis0208<<14 | 0x14<<7 | 0x3C, - 24340 - 19968: jis0208<<14 | 0x23<<7 | 0x03, - 24341 - 19968: jis0208<<14 | 0x0F<<7 | 0x59, - 24342 - 19968: jis0208<<14 | 0x36<<7 | 0x16, - 24343 - 19968: jis0208<<14 | 0x29<<7 | 0x05, - 24344 - 19968: jis0208<<14 | 0x18<<7 | 0x0F, - 24345 - 19968: jis0212<<14 | 0x1B<<7 | 0x40, - 24347 - 19968: jis0208<<14 | 0x22<<7 | 0x2F, - 24348 - 19968: jis0212<<14 | 0x1B<<7 | 0x41, - 24349 - 19968: jis0212<<14 | 0x1B<<7 | 0x42, - 24351 - 19968: jis0208<<14 | 0x23<<7 | 0x4E, - 24353 - 19968: jis0208<<14 | 0x58<<7 | 0x5A, - 24354 - 19968: jis0212<<14 | 0x1B<<7 | 0x44, - 24355 - 19968: jis0212<<14 | 0x1B<<7 | 0x45, - 24356 - 19968: jis0212<<14 | 0x1B<<7 | 0x46, - 24357 - 19968: jis0208<<14 | 0x2B<<7 | 0x4E, - 24358 - 19968: jis0208<<14 | 0x17<<7 | 0x18, - 24359 - 19968: jis0208<<14 | 0x17<<7 | 0x2B, - 24360 - 19968: jis0212<<14 | 0x1B<<7 | 0x47, - 24361 - 19968: jis0208<<14 | 0x36<<7 | 0x17, - 24363 - 19968: jis0212<<14 | 0x1B<<7 | 0x48, - 24364 - 19968: jis0212<<14 | 0x1B<<7 | 0x49, - 24365 - 19968: jis0208<<14 | 0x36<<7 | 0x18, - 24366 - 19968: jis0212<<14 | 0x1B<<7 | 0x4A, - 24367 - 19968: jis0208<<14 | 0x36<<7 | 0x1E, - 24368 - 19968: jis0212<<14 | 0x1B<<7 | 0x4B, - 24369 - 19968: jis0208<<14 | 0x1B<<7 | 0x44, - 24372 - 19968: jis0208<<14 | 0x58<<7 | 0x5B, - 24373 - 19968: jis0208<<14 | 0x23<<7 | 0x04, - 24374 - 19968: jis0212<<14 | 0x1B<<7 | 0x4D, - 24375 - 19968: jis0208<<14 | 0x15<<7 | 0x0E, - 24376 - 19968: jis0208<<14 | 0x36<<7 | 0x19, - 24379 - 19968: jis0212<<14 | 0x1B<<7 | 0x4E, - 24380 - 19968: jis0208<<14 | 0x28<<7 | 0x0A, - 24381 - 19968: jis0212<<14 | 0x1B<<7 | 0x4F, - 24382 - 19968: jis0208<<14 | 0x22<<7 | 0x25, - 24383 - 19968: jis0212<<14 | 0x1B<<7 | 0x50, - 24384 - 19968: jis0212<<14 | 0x1B<<7 | 0x51, - 24385 - 19968: jis0208<<14 | 0x36<<7 | 0x1A, - 24388 - 19968: jis0212<<14 | 0x1B<<7 | 0x52, - 24389 - 19968: jis0208<<14 | 0x58<<7 | 0x0B, - 24391 - 19968: jis0212<<14 | 0x1B<<7 | 0x54, - 24392 - 19968: jis0208<<14 | 0x36<<7 | 0x1B, - 24394 - 19968: jis0208<<14 | 0x15<<7 | 0x0F, - 24396 - 19968: jis0208<<14 | 0x36<<7 | 0x1C, - 24397 - 19968: jis0212<<14 | 0x1B<<7 | 0x55, - 24398 - 19968: jis0208<<14 | 0x36<<7 | 0x1D, - 24400 - 19968: jis0212<<14 | 0x1B<<7 | 0x56, - 24401 - 19968: jis0208<<14 | 0x36<<7 | 0x1F, - 24403 - 19968: jis0208<<14 | 0x24<<7 | 0x55, - 24404 - 19968: jis0212<<14 | 0x1B<<7 | 0x57, - 24406 - 19968: jis0208<<14 | 0x36<<7 | 0x20, - 24407 - 19968: jis0208<<14 | 0x36<<7 | 0x21, - 24408 - 19968: jis0212<<14 | 0x1B<<7 | 0x58, - 24409 - 19968: jis0208<<14 | 0x36<<7 | 0x22, - 24411 - 19968: jis0212<<14 | 0x1B<<7 | 0x59, - 24412 - 19968: jis0208<<14 | 0x36<<7 | 0x13, - 24413 - 19968: jis0208<<14 | 0x36<<7 | 0x12, - 24416 - 19968: jis0212<<14 | 0x1B<<7 | 0x5A, - 24417 - 19968: jis0208<<14 | 0x36<<7 | 0x23, - 24418 - 19968: jis0208<<14 | 0x16<<7 | 0x20, - 24419 - 19968: jis0212<<14 | 0x1B<<7 | 0x5B, - 24420 - 19968: jis0212<<14 | 0x1B<<7 | 0x5C, - 24422 - 19968: jis0208<<14 | 0x28<<7 | 0x06, - 24423 - 19968: jis0208<<14 | 0x58<<7 | 0x5C, - 24425 - 19968: jis0208<<14 | 0x19<<7 | 0x2B, - 24426 - 19968: jis0208<<14 | 0x28<<7 | 0x16, - 24427 - 19968: jis0208<<14 | 0x23<<7 | 0x05, - 24428 - 19968: jis0208<<14 | 0x28<<7 | 0x2A, - 24429 - 19968: jis0208<<14 | 0x36<<7 | 0x24, - 24431 - 19968: jis0212<<14 | 0x1C<<7 | 0x00, - 24432 - 19968: jis0208<<14 | 0x1D<<7 | 0x13, - 24433 - 19968: jis0208<<14 | 0x10<<7 | 0x25, - 24434 - 19968: jis0212<<14 | 0x1C<<7 | 0x01, - 24435 - 19968: jis0208<<14 | 0x36<<7 | 0x25, - 24436 - 19968: jis0212<<14 | 0x1C<<7 | 0x02, - 24437 - 19968: jis0212<<14 | 0x1C<<7 | 0x03, - 24439 - 19968: jis0208<<14 | 0x36<<7 | 0x26, - 24440 - 19968: jis0212<<14 | 0x1C<<7 | 0x04, - 24441 - 19968: jis0208<<14 | 0x2B<<7 | 0x51, - 24442 - 19968: jis0212<<14 | 0x1C<<7 | 0x05, - 24444 - 19968: jis0208<<14 | 0x27<<7 | 0x3F, - 24445 - 19968: jis0212<<14 | 0x1C<<7 | 0x06, - 24446 - 19968: jis0212<<14 | 0x1C<<7 | 0x07, - 24447 - 19968: jis0208<<14 | 0x36<<7 | 0x29, - 24448 - 19968: jis0208<<14 | 0x10<<7 | 0x5C, - 24449 - 19968: jis0208<<14 | 0x1F<<7 | 0x0B, - 24450 - 19968: jis0208<<14 | 0x36<<7 | 0x28, - 24451 - 19968: jis0208<<14 | 0x36<<7 | 0x27, - 24452 - 19968: jis0208<<14 | 0x16<<7 | 0x21, - 24453 - 19968: jis0208<<14 | 0x21<<7 | 0x33, - 24455 - 19968: jis0208<<14 | 0x36<<7 | 0x2D, - 24456 - 19968: jis0208<<14 | 0x36<<7 | 0x2B, - 24457 - 19968: jis0212<<14 | 0x1C<<7 | 0x08, - 24458 - 19968: jis0208<<14 | 0x36<<7 | 0x2A, - 24459 - 19968: jis0208<<14 | 0x2D<<7 | 0x06, - 24460 - 19968: jis0208<<14 | 0x17<<7 | 0x44, - 24461 - 19968: jis0212<<14 | 0x1C<<7 | 0x09, - 24463 - 19968: jis0212<<14 | 0x1C<<7 | 0x0A, - 24464 - 19968: jis0208<<14 | 0x1C<<7 | 0x58, - 24465 - 19968: jis0208<<14 | 0x36<<7 | 0x2C, - 24466 - 19968: jis0208<<14 | 0x24<<7 | 0x2B, - 24467 - 19968: jis0208<<14 | 0x1C<<7 | 0x1D, - 24470 - 19968: jis0212<<14 | 0x1C<<7 | 0x0B, - 24471 - 19968: jis0208<<14 | 0x25<<7 | 0x1F, - 24472 - 19968: jis0208<<14 | 0x36<<7 | 0x30, - 24473 - 19968: jis0208<<14 | 0x36<<7 | 0x2F, - 24476 - 19968: jis0212<<14 | 0x1C<<7 | 0x0C, - 24477 - 19968: jis0212<<14 | 0x1C<<7 | 0x0D, - 24478 - 19968: jis0208<<14 | 0x36<<7 | 0x2E, - 24480 - 19968: jis0208<<14 | 0x36<<7 | 0x31, - 24481 - 19968: jis0208<<14 | 0x17<<7 | 0x45, - 24482 - 19968: jis0212<<14 | 0x1C<<7 | 0x0E, - 24484 - 19968: jis0212<<14 | 0x1C<<7 | 0x11, - 24487 - 19968: jis0212<<14 | 0x1C<<7 | 0x0F, - 24488 - 19968: jis0208<<14 | 0x36<<7 | 0x32, - 24489 - 19968: jis0208<<14 | 0x28<<7 | 0x5B, - 24490 - 19968: jis0208<<14 | 0x1C<<7 | 0x3A, - 24491 - 19968: jis0212<<14 | 0x1C<<7 | 0x10, - 24492 - 19968: jis0212<<14 | 0x1C<<7 | 0x12, - 24493 - 19968: jis0208<<14 | 0x36<<7 | 0x33, - 24494 - 19968: jis0208<<14 | 0x27<<7 | 0x58, - 24495 - 19968: jis0212<<14 | 0x1C<<7 | 0x13, - 24496 - 19968: jis0212<<14 | 0x1C<<7 | 0x14, - 24497 - 19968: jis0212<<14 | 0x1C<<7 | 0x15, - 24499 - 19968: jis0208<<14 | 0x25<<7 | 0x20, - 24500 - 19968: jis0208<<14 | 0x23<<7 | 0x06, - 24503 - 19968: jis0208<<14 | 0x58<<7 | 0x5D, - 24504 - 19968: jis0212<<14 | 0x1C<<7 | 0x16, - 24505 - 19968: jis0208<<14 | 0x24<<7 | 0x0F, - 24508 - 19968: jis0208<<14 | 0x36<<7 | 0x34, - 24509 - 19968: jis0208<<14 | 0x14<<7 | 0x0A, - 24515 - 19968: jis0208<<14 | 0x1E<<7 | 0x13, - 24516 - 19968: jis0212<<14 | 0x1C<<7 | 0x17, - 24517 - 19968: jis0208<<14 | 0x28<<7 | 0x0B, - 24519 - 19968: jis0212<<14 | 0x1C<<7 | 0x18, - 24520 - 19968: jis0212<<14 | 0x1C<<7 | 0x19, - 24521 - 19968: jis0212<<14 | 0x1C<<7 | 0x1A, - 24523 - 19968: jis0212<<14 | 0x1C<<7 | 0x1B, - 24524 - 19968: jis0208<<14 | 0x13<<7 | 0x56, - 24525 - 19968: jis0208<<14 | 0x26<<7 | 0x05, - 24528 - 19968: jis0212<<14 | 0x1C<<7 | 0x1C, - 24529 - 19968: jis0212<<14 | 0x1C<<7 | 0x1D, - 24530 - 19968: jis0212<<14 | 0x1C<<7 | 0x1E, - 24531 - 19968: jis0212<<14 | 0x1C<<7 | 0x1F, - 24532 - 19968: jis0212<<14 | 0x1C<<7 | 0x20, - 24534 - 19968: jis0208<<14 | 0x36<<7 | 0x35, - 24535 - 19968: jis0208<<14 | 0x1A<<7 | 0x35, - 24536 - 19968: jis0208<<14 | 0x2A<<7 | 0x19, - 24537 - 19968: jis0208<<14 | 0x2A<<7 | 0x1A, - 24540 - 19968: jis0208<<14 | 0x10<<7 | 0x5D, - 24541 - 19968: jis0208<<14 | 0x36<<7 | 0x3A, - 24542 - 19968: jis0208<<14 | 0x59<<7 | 0x00, - 24544 - 19968: jis0208<<14 | 0x22<<7 | 0x48, - 24545 - 19968: jis0212<<14 | 0x1C<<7 | 0x22, - 24546 - 19968: jis0212<<14 | 0x1C<<7 | 0x23, - 24548 - 19968: jis0208<<14 | 0x36<<7 | 0x37, - 24552 - 19968: jis0212<<14 | 0x1C<<7 | 0x24, - 24553 - 19968: jis0212<<14 | 0x1C<<7 | 0x25, - 24554 - 19968: jis0212<<14 | 0x1C<<7 | 0x26, - 24555 - 19968: jis0208<<14 | 0x11<<7 | 0x56, - 24556 - 19968: jis0212<<14 | 0x1C<<7 | 0x27, - 24557 - 19968: jis0212<<14 | 0x1C<<7 | 0x28, - 24558 - 19968: jis0212<<14 | 0x1C<<7 | 0x29, - 24559 - 19968: jis0212<<14 | 0x1C<<7 | 0x2A, - 24560 - 19968: jis0208<<14 | 0x37<<7 | 0x0C, - 24561 - 19968: jis0208<<14 | 0x36<<7 | 0x39, - 24562 - 19968: jis0212<<14 | 0x1C<<7 | 0x2B, - 24563 - 19968: jis0212<<14 | 0x1C<<7 | 0x2C, - 24565 - 19968: jis0208<<14 | 0x26<<7 | 0x0F, - 24566 - 19968: jis0212<<14 | 0x1C<<7 | 0x2D, - 24568 - 19968: jis0208<<14 | 0x36<<7 | 0x38, - 24570 - 19968: jis0212<<14 | 0x1C<<7 | 0x2E, - 24571 - 19968: jis0208<<14 | 0x36<<7 | 0x36, - 24572 - 19968: jis0212<<14 | 0x1C<<7 | 0x2F, - 24573 - 19968: jis0208<<14 | 0x18<<7 | 0x59, - 24575 - 19968: jis0208<<14 | 0x36<<7 | 0x3C, - 24583 - 19968: jis0212<<14 | 0x1C<<7 | 0x30, - 24586 - 19968: jis0212<<14 | 0x1C<<7 | 0x31, - 24589 - 19968: jis0212<<14 | 0x1C<<7 | 0x32, - 24590 - 19968: jis0208<<14 | 0x36<<7 | 0x42, - 24591 - 19968: jis0208<<14 | 0x36<<7 | 0x48, - 24592 - 19968: jis0208<<14 | 0x36<<7 | 0x40, - 24594 - 19968: jis0208<<14 | 0x24<<7 | 0x3B, - 24595 - 19968: jis0212<<14 | 0x1C<<7 | 0x33, - 24596 - 19968: jis0212<<14 | 0x1C<<7 | 0x34, - 24597 - 19968: jis0208<<14 | 0x36<<7 | 0x45, - 24598 - 19968: jis0208<<14 | 0x28<<7 | 0x3C, - 24599 - 19968: jis0212<<14 | 0x1C<<7 | 0x35, - 24600 - 19968: jis0212<<14 | 0x1C<<7 | 0x36, - 24601 - 19968: jis0208<<14 | 0x36<<7 | 0x3F, - 24602 - 19968: jis0212<<14 | 0x1C<<7 | 0x37, - 24603 - 19968: jis0208<<14 | 0x36<<7 | 0x44, - 24604 - 19968: jis0208<<14 | 0x2D<<7 | 0x46, - 24605 - 19968: jis0208<<14 | 0x1A<<7 | 0x36, - 24607 - 19968: jis0212<<14 | 0x1C<<7 | 0x38, - 24608 - 19968: jis0208<<14 | 0x21<<7 | 0x34, - 24609 - 19968: jis0208<<14 | 0x36<<7 | 0x3D, - 24612 - 19968: jis0212<<14 | 0x1C<<7 | 0x39, - 24613 - 19968: jis0208<<14 | 0x14<<7 | 0x3D, - 24614 - 19968: jis0208<<14 | 0x36<<7 | 0x47, - 24615 - 19968: jis0208<<14 | 0x1F<<7 | 0x0C, - 24616 - 19968: jis0208<<14 | 0x10<<7 | 0x44, - 24617 - 19968: jis0208<<14 | 0x36<<7 | 0x41, - 24618 - 19968: jis0208<<14 | 0x11<<7 | 0x57, - 24619 - 19968: jis0208<<14 | 0x36<<7 | 0x46, - 24621 - 19968: jis0212<<14 | 0x1C<<7 | 0x3A, - 24623 - 19968: jis0208<<14 | 0x15<<7 | 0x10, - 24625 - 19968: jis0208<<14 | 0x36<<7 | 0x43, - 24627 - 19968: jis0212<<14 | 0x1C<<7 | 0x3B, - 24629 - 19968: jis0212<<14 | 0x1C<<7 | 0x3C, - 24634 - 19968: jis0208<<14 | 0x36<<7 | 0x49, - 24640 - 19968: jis0212<<14 | 0x1C<<7 | 0x3D, - 24641 - 19968: jis0208<<14 | 0x36<<7 | 0x4B, - 24642 - 19968: jis0208<<14 | 0x36<<7 | 0x55, - 24643 - 19968: jis0208<<14 | 0x36<<7 | 0x53, - 24646 - 19968: jis0208<<14 | 0x36<<7 | 0x50, - 24647 - 19968: jis0212<<14 | 0x1C<<7 | 0x3E, - 24648 - 19968: jis0212<<14 | 0x1C<<7 | 0x3F, - 24649 - 19968: jis0212<<14 | 0x1C<<7 | 0x40, - 24650 - 19968: jis0208<<14 | 0x36<<7 | 0x4F, - 24651 - 19968: jis0208<<14 | 0x2D<<7 | 0x57, - 24652 - 19968: jis0212<<14 | 0x1C<<7 | 0x41, - 24653 - 19968: jis0208<<14 | 0x36<<7 | 0x51, - 24656 - 19968: jis0208<<14 | 0x15<<7 | 0x11, - 24657 - 19968: jis0212<<14 | 0x1C<<7 | 0x42, - 24658 - 19968: jis0208<<14 | 0x18<<7 | 0x10, - 24660 - 19968: jis0212<<14 | 0x1C<<7 | 0x43, - 24661 - 19968: jis0208<<14 | 0x1C<<7 | 0x59, - 24662 - 19968: jis0212<<14 | 0x1C<<7 | 0x44, - 24663 - 19968: jis0212<<14 | 0x1C<<7 | 0x45, - 24665 - 19968: jis0208<<14 | 0x36<<7 | 0x58, - 24666 - 19968: jis0208<<14 | 0x36<<7 | 0x4A, - 24669 - 19968: jis0208<<14 | 0x59<<7 | 0x01, - 24671 - 19968: jis0208<<14 | 0x36<<7 | 0x4E, - 24672 - 19968: jis0208<<14 | 0x36<<7 | 0x3E, - 24673 - 19968: jis0212<<14 | 0x1C<<7 | 0x47, - 24674 - 19968: jis0208<<14 | 0x11<<7 | 0x59, - 24675 - 19968: jis0208<<14 | 0x36<<7 | 0x52, - 24676 - 19968: jis0208<<14 | 0x36<<7 | 0x54, - 24677 - 19968: jis0208<<14 | 0x22<<7 | 0x30, - 24679 - 19968: jis0212<<14 | 0x1C<<7 | 0x48, - 24680 - 19968: jis0208<<14 | 0x19<<7 | 0x07, - 24681 - 19968: jis0208<<14 | 0x11<<7 | 0x17, - 24682 - 19968: jis0208<<14 | 0x36<<7 | 0x4C, - 24683 - 19968: jis0208<<14 | 0x36<<7 | 0x57, - 24684 - 19968: jis0208<<14 | 0x36<<7 | 0x56, - 24685 - 19968: jis0208<<14 | 0x15<<7 | 0x12, - 24687 - 19968: jis0208<<14 | 0x21<<7 | 0x08, - 24688 - 19968: jis0208<<14 | 0x12<<7 | 0x45, - 24689 - 19968: jis0212<<14 | 0x1C<<7 | 0x49, - 24693 - 19968: jis0208<<14 | 0x16<<7 | 0x22, - 24695 - 19968: jis0208<<14 | 0x36<<7 | 0x4D, - 24702 - 19968: jis0212<<14 | 0x1C<<7 | 0x4A, - 24703 - 19968: jis0212<<14 | 0x1C<<7 | 0x4B, - 24705 - 19968: jis0208<<14 | 0x36<<7 | 0x59, - 24706 - 19968: jis0212<<14 | 0x1C<<7 | 0x4C, - 24707 - 19968: jis0208<<14 | 0x36<<7 | 0x5C, - 24708 - 19968: jis0208<<14 | 0x37<<7 | 0x00, - 24709 - 19968: jis0208<<14 | 0x59<<7 | 0x02, - 24710 - 19968: jis0212<<14 | 0x1C<<7 | 0x4D, - 24712 - 19968: jis0212<<14 | 0x1C<<7 | 0x4E, - 24713 - 19968: jis0208<<14 | 0x1B<<7 | 0x1C, - 24714 - 19968: jis0208<<14 | 0x59<<7 | 0x03, - 24715 - 19968: jis0208<<14 | 0x37<<7 | 0x06, - 24716 - 19968: jis0208<<14 | 0x23<<7 | 0x4F, - 24717 - 19968: jis0208<<14 | 0x36<<7 | 0x5A, - 24718 - 19968: jis0212<<14 | 0x1C<<7 | 0x50, - 24721 - 19968: jis0212<<14 | 0x1C<<7 | 0x51, - 24722 - 19968: jis0208<<14 | 0x37<<7 | 0x04, - 24723 - 19968: jis0212<<14 | 0x1C<<7 | 0x52, - 24724 - 19968: jis0208<<14 | 0x11<<7 | 0x58, - 24725 - 19968: jis0212<<14 | 0x1C<<7 | 0x53, - 24726 - 19968: jis0208<<14 | 0x37<<7 | 0x02, - 24727 - 19968: jis0208<<14 | 0x37<<7 | 0x03, - 24728 - 19968: jis0212<<14 | 0x1C<<7 | 0x54, - 24730 - 19968: jis0208<<14 | 0x36<<7 | 0x5D, - 24731 - 19968: jis0208<<14 | 0x37<<7 | 0x01, - 24733 - 19968: jis0212<<14 | 0x1C<<7 | 0x55, - 24734 - 19968: jis0212<<14 | 0x1C<<7 | 0x56, - 24735 - 19968: jis0208<<14 | 0x17<<7 | 0x46, - 24736 - 19968: jis0208<<14 | 0x2C<<7 | 0x09, - 24738 - 19968: jis0212<<14 | 0x1C<<7 | 0x57, - 24739 - 19968: jis0208<<14 | 0x13<<7 | 0x14, - 24740 - 19968: jis0212<<14 | 0x1C<<7 | 0x58, - 24741 - 19968: jis0212<<14 | 0x1C<<7 | 0x59, - 24742 - 19968: jis0208<<14 | 0x10<<7 | 0x38, - 24743 - 19968: jis0208<<14 | 0x37<<7 | 0x05, - 24744 - 19968: jis0212<<14 | 0x1C<<7 | 0x5A, - 24745 - 19968: jis0208<<14 | 0x26<<7 | 0x19, - 24746 - 19968: jis0208<<14 | 0x0F<<7 | 0x0C, - 24752 - 19968: jis0212<<14 | 0x1C<<7 | 0x5B, - 24753 - 19968: jis0212<<14 | 0x1C<<7 | 0x5C, - 24754 - 19968: jis0208<<14 | 0x27<<7 | 0x40, - 24755 - 19968: jis0208<<14 | 0x36<<7 | 0x3B, - 24756 - 19968: jis0208<<14 | 0x37<<7 | 0x0B, - 24757 - 19968: jis0208<<14 | 0x37<<7 | 0x0F, - 24758 - 19968: jis0208<<14 | 0x2B<<7 | 0x44, - 24759 - 19968: jis0212<<14 | 0x1C<<7 | 0x5D, - 24760 - 19968: jis0208<<14 | 0x37<<7 | 0x08, - 24763 - 19968: jis0212<<14 | 0x1D<<7 | 0x00, - 24764 - 19968: jis0208<<14 | 0x24<<7 | 0x48, - 24765 - 19968: jis0208<<14 | 0x37<<7 | 0x0D, - 24766 - 19968: jis0212<<14 | 0x1D<<7 | 0x01, - 24770 - 19968: jis0212<<14 | 0x1D<<7 | 0x02, - 24772 - 19968: jis0212<<14 | 0x1D<<7 | 0x03, - 24773 - 19968: jis0208<<14 | 0x1D<<7 | 0x4F, - 24774 - 19968: jis0208<<14 | 0x37<<7 | 0x0E, - 24775 - 19968: jis0208<<14 | 0x25<<7 | 0x36, - 24776 - 19968: jis0212<<14 | 0x1D<<7 | 0x04, - 24777 - 19968: jis0212<<14 | 0x1D<<7 | 0x05, - 24778 - 19968: jis0212<<14 | 0x1D<<7 | 0x06, - 24779 - 19968: jis0212<<14 | 0x1D<<7 | 0x07, - 24782 - 19968: jis0212<<14 | 0x1D<<7 | 0x08, - 24783 - 19968: jis0212<<14 | 0x1D<<7 | 0x09, - 24785 - 19968: jis0208<<14 | 0x2E<<7 | 0x26, - 24787 - 19968: jis0208<<14 | 0x37<<7 | 0x0A, - 24788 - 19968: jis0212<<14 | 0x1D<<7 | 0x0A, - 24789 - 19968: jis0208<<14 | 0x59<<7 | 0x05, - 24792 - 19968: jis0208<<14 | 0x37<<7 | 0x10, - 24793 - 19968: jis0212<<14 | 0x1D<<7 | 0x0C, - 24794 - 19968: jis0208<<14 | 0x18<<7 | 0x5A, - 24795 - 19968: jis0212<<14 | 0x1D<<7 | 0x0D, - 24796 - 19968: jis0208<<14 | 0x1F<<7 | 0x2A, - 24797 - 19968: jis0212<<14 | 0x1D<<7 | 0x0E, - 24798 - 19968: jis0208<<14 | 0x59<<7 | 0x04, - 24799 - 19968: jis0208<<14 | 0x0F<<7 | 0x33, - 24800 - 19968: jis0208<<14 | 0x37<<7 | 0x09, - 24801 - 19968: jis0208<<14 | 0x37<<7 | 0x07, - 24802 - 19968: jis0212<<14 | 0x1D<<7 | 0x10, - 24803 - 19968: jis0208<<14 | 0x20<<7 | 0x39, - 24805 - 19968: jis0212<<14 | 0x1D<<7 | 0x11, - 24807 - 19968: jis0208<<14 | 0x36<<7 | 0x5B, - 24808 - 19968: jis0208<<14 | 0x1A<<7 | 0x13, - 24816 - 19968: jis0208<<14 | 0x21<<7 | 0x25, - 24817 - 19968: jis0208<<14 | 0x37<<7 | 0x1C, - 24818 - 19968: jis0208<<14 | 0x59<<7 | 0x07, - 24819 - 19968: jis0208<<14 | 0x20<<7 | 0x3A, - 24820 - 19968: jis0208<<14 | 0x37<<7 | 0x17, - 24821 - 19968: jis0212<<14 | 0x1D<<7 | 0x13, - 24822 - 19968: jis0208<<14 | 0x37<<7 | 0x14, - 24823 - 19968: jis0208<<14 | 0x37<<7 | 0x15, - 24824 - 19968: jis0212<<14 | 0x1D<<7 | 0x14, - 24825 - 19968: jis0208<<14 | 0x1B<<7 | 0x45, - 24826 - 19968: jis0208<<14 | 0x37<<7 | 0x18, - 24827 - 19968: jis0208<<14 | 0x37<<7 | 0x1B, - 24828 - 19968: jis0212<<14 | 0x1D<<7 | 0x15, - 24829 - 19968: jis0212<<14 | 0x1D<<7 | 0x16, - 24832 - 19968: jis0208<<14 | 0x37<<7 | 0x16, - 24833 - 19968: jis0208<<14 | 0x1C<<7 | 0x04, - 24834 - 19968: jis0212<<14 | 0x1D<<7 | 0x17, - 24835 - 19968: jis0208<<14 | 0x37<<7 | 0x19, - 24838 - 19968: jis0208<<14 | 0x37<<7 | 0x13, - 24839 - 19968: jis0212<<14 | 0x1D<<7 | 0x18, - 24840 - 19968: jis0208<<14 | 0x2B<<7 | 0x5B, - 24841 - 19968: jis0208<<14 | 0x2B<<7 | 0x5A, - 24842 - 19968: jis0212<<14 | 0x1D<<7 | 0x19, - 24844 - 19968: jis0212<<14 | 0x1D<<7 | 0x1A, - 24845 - 19968: jis0208<<14 | 0x37<<7 | 0x1D, - 24846 - 19968: jis0208<<14 | 0x37<<7 | 0x1E, - 24847 - 19968: jis0208<<14 | 0x0F<<7 | 0x34, - 24848 - 19968: jis0212<<14 | 0x1D<<7 | 0x1B, - 24849 - 19968: jis0208<<14 | 0x59<<7 | 0x08, - 24850 - 19968: jis0212<<14 | 0x1D<<7 | 0x1D, - 24851 - 19968: jis0212<<14 | 0x1D<<7 | 0x1E, - 24852 - 19968: jis0212<<14 | 0x1D<<7 | 0x1F, - 24853 - 19968: jis0208<<14 | 0x37<<7 | 0x12, - 24854 - 19968: jis0212<<14 | 0x1D<<7 | 0x20, - 24855 - 19968: jis0212<<14 | 0x1D<<7 | 0x21, - 24857 - 19968: jis0212<<14 | 0x1D<<7 | 0x22, - 24858 - 19968: jis0208<<14 | 0x15<<7 | 0x51, - 24859 - 19968: jis0208<<14 | 0x0F<<7 | 0x05, - 24860 - 19968: jis0212<<14 | 0x1D<<7 | 0x23, - 24862 - 19968: jis0212<<14 | 0x1D<<7 | 0x24, - 24863 - 19968: jis0208<<14 | 0x13<<7 | 0x15, - 24864 - 19968: jis0208<<14 | 0x59<<7 | 0x06, - 24865 - 19968: jis0208<<14 | 0x37<<7 | 0x1A, - 24866 - 19968: jis0212<<14 | 0x1D<<7 | 0x25, - 24871 - 19968: jis0208<<14 | 0x37<<7 | 0x22, - 24872 - 19968: jis0208<<14 | 0x37<<7 | 0x21, - 24874 - 19968: jis0212<<14 | 0x1D<<7 | 0x26, - 24875 - 19968: jis0212<<14 | 0x1D<<7 | 0x27, - 24876 - 19968: jis0208<<14 | 0x37<<7 | 0x26, - 24880 - 19968: jis0208<<14 | 0x59<<7 | 0x0A, - 24881 - 19968: jis0212<<14 | 0x1D<<7 | 0x29, - 24884 - 19968: jis0208<<14 | 0x37<<7 | 0x27, - 24885 - 19968: jis0212<<14 | 0x1D<<7 | 0x2A, - 24886 - 19968: jis0212<<14 | 0x1D<<7 | 0x2B, - 24887 - 19968: jis0208<<14 | 0x59<<7 | 0x09, - 24889 - 19968: jis0212<<14 | 0x1D<<7 | 0x2D, - 24892 - 19968: jis0208<<14 | 0x37<<7 | 0x25, - 24893 - 19968: jis0208<<14 | 0x37<<7 | 0x28, - 24894 - 19968: jis0208<<14 | 0x37<<7 | 0x20, - 24895 - 19968: jis0208<<14 | 0x37<<7 | 0x24, - 24897 - 19968: jis0212<<14 | 0x1D<<7 | 0x2E, - 24898 - 19968: jis0208<<14 | 0x37<<7 | 0x29, - 24900 - 19968: jis0208<<14 | 0x37<<7 | 0x2A, - 24901 - 19968: jis0212<<14 | 0x1D<<7 | 0x2F, - 24902 - 19968: jis0212<<14 | 0x1D<<7 | 0x30, - 24903 - 19968: jis0208<<14 | 0x37<<7 | 0x1F, - 24904 - 19968: jis0208<<14 | 0x1A<<7 | 0x5B, - 24905 - 19968: jis0212<<14 | 0x1D<<7 | 0x31, - 24906 - 19968: jis0208<<14 | 0x37<<7 | 0x23, - 24907 - 19968: jis0208<<14 | 0x21<<7 | 0x35, - 24908 - 19968: jis0208<<14 | 0x18<<7 | 0x11, - 24909 - 19968: jis0208<<14 | 0x37<<7 | 0x11, - 24910 - 19968: jis0208<<14 | 0x1E<<7 | 0x14, - 24915 - 19968: jis0208<<14 | 0x37<<7 | 0x37, - 24917 - 19968: jis0208<<14 | 0x29<<7 | 0x48, - 24920 - 19968: jis0208<<14 | 0x37<<7 | 0x2D, - 24921 - 19968: jis0208<<14 | 0x37<<7 | 0x2E, - 24922 - 19968: jis0208<<14 | 0x37<<7 | 0x2F, - 24925 - 19968: jis0208<<14 | 0x37<<7 | 0x36, - 24926 - 19968: jis0212<<14 | 0x1D<<7 | 0x32, - 24927 - 19968: jis0208<<14 | 0x37<<7 | 0x35, - 24928 - 19968: jis0212<<14 | 0x1D<<7 | 0x33, - 24930 - 19968: jis0208<<14 | 0x2A<<7 | 0x5C, - 24931 - 19968: jis0208<<14 | 0x13<<7 | 0x16, - 24933 - 19968: jis0208<<14 | 0x37<<7 | 0x33, - 24935 - 19968: jis0208<<14 | 0x16<<7 | 0x24, - 24936 - 19968: jis0208<<14 | 0x12<<7 | 0x13, - 24939 - 19968: jis0208<<14 | 0x37<<7 | 0x30, - 24940 - 19968: jis0212<<14 | 0x1D<<7 | 0x34, - 24942 - 19968: jis0208<<14 | 0x2D<<7 | 0x17, - 24943 - 19968: jis0208<<14 | 0x37<<7 | 0x32, - 24944 - 19968: jis0208<<14 | 0x0F<<7 | 0x35, - 24945 - 19968: jis0208<<14 | 0x37<<7 | 0x34, - 24946 - 19968: jis0212<<14 | 0x1D<<7 | 0x35, - 24947 - 19968: jis0208<<14 | 0x37<<7 | 0x2B, - 24948 - 19968: jis0208<<14 | 0x37<<7 | 0x31, - 24949 - 19968: jis0208<<14 | 0x37<<7 | 0x38, - 24950 - 19968: jis0208<<14 | 0x16<<7 | 0x23, - 24951 - 19968: jis0208<<14 | 0x37<<7 | 0x2C, - 24952 - 19968: jis0212<<14 | 0x1D<<7 | 0x36, - 24955 - 19968: jis0212<<14 | 0x1D<<7 | 0x37, - 24956 - 19968: jis0212<<14 | 0x1D<<7 | 0x38, - 24958 - 19968: jis0208<<14 | 0x2C<<7 | 0x3C, - 24959 - 19968: jis0212<<14 | 0x1D<<7 | 0x39, - 24960 - 19968: jis0212<<14 | 0x1D<<7 | 0x3A, - 24961 - 19968: jis0212<<14 | 0x1D<<7 | 0x3B, - 24962 - 19968: jis0208<<14 | 0x2C<<7 | 0x0A, - 24963 - 19968: jis0212<<14 | 0x1D<<7 | 0x3C, - 24964 - 19968: jis0212<<14 | 0x1D<<7 | 0x3D, - 24967 - 19968: jis0208<<14 | 0x37<<7 | 0x3B, - 24970 - 19968: jis0208<<14 | 0x37<<7 | 0x3F, - 24971 - 19968: jis0212<<14 | 0x1D<<7 | 0x3E, - 24973 - 19968: jis0212<<14 | 0x1D<<7 | 0x3F, - 24974 - 19968: jis0208<<14 | 0x20<<7 | 0x5D, - 24976 - 19968: jis0208<<14 | 0x2D<<7 | 0x58, - 24977 - 19968: jis0208<<14 | 0x37<<7 | 0x40, - 24978 - 19968: jis0212<<14 | 0x1D<<7 | 0x40, - 24979 - 19968: jis0212<<14 | 0x1D<<7 | 0x41, - 24980 - 19968: jis0208<<14 | 0x37<<7 | 0x3D, - 24982 - 19968: jis0208<<14 | 0x37<<7 | 0x3A, - 24983 - 19968: jis0212<<14 | 0x1D<<7 | 0x42, - 24984 - 19968: jis0208<<14 | 0x59<<7 | 0x0B, - 24985 - 19968: jis0208<<14 | 0x37<<7 | 0x39, - 24986 - 19968: jis0208<<14 | 0x37<<7 | 0x3E, - 24988 - 19968: jis0212<<14 | 0x1D<<7 | 0x44, - 24989 - 19968: jis0212<<14 | 0x1D<<7 | 0x45, - 24991 - 19968: jis0212<<14 | 0x1D<<7 | 0x46, - 24992 - 19968: jis0212<<14 | 0x1D<<7 | 0x47, - 24996 - 19968: jis0208<<14 | 0x29<<7 | 0x0F, - 24997 - 19968: jis0212<<14 | 0x1D<<7 | 0x48, - 24999 - 19968: jis0208<<14 | 0x25<<7 | 0x13, - 25000 - 19968: jis0212<<14 | 0x1D<<7 | 0x49, - 25001 - 19968: jis0208<<14 | 0x16<<7 | 0x25, - 25002 - 19968: jis0212<<14 | 0x1D<<7 | 0x4A, - 25003 - 19968: jis0208<<14 | 0x37<<7 | 0x41, - 25004 - 19968: jis0208<<14 | 0x37<<7 | 0x3C, - 25005 - 19968: jis0212<<14 | 0x1D<<7 | 0x4B, - 25006 - 19968: jis0208<<14 | 0x37<<7 | 0x42, - 25010 - 19968: jis0208<<14 | 0x16<<7 | 0x5A, - 25014 - 19968: jis0208<<14 | 0x11<<7 | 0x10, - 25016 - 19968: jis0212<<14 | 0x1D<<7 | 0x4C, - 25017 - 19968: jis0212<<14 | 0x1D<<7 | 0x4D, - 25018 - 19968: jis0208<<14 | 0x37<<7 | 0x4A, - 25020 - 19968: jis0212<<14 | 0x1D<<7 | 0x4E, - 25022 - 19968: jis0208<<14 | 0x13<<7 | 0x17, - 25024 - 19968: jis0212<<14 | 0x1D<<7 | 0x4F, - 25025 - 19968: jis0212<<14 | 0x1D<<7 | 0x50, - 25026 - 19968: jis0212<<14 | 0x1D<<7 | 0x51, - 25027 - 19968: jis0208<<14 | 0x37<<7 | 0x48, - 25030 - 19968: jis0208<<14 | 0x37<<7 | 0x49, - 25031 - 19968: jis0208<<14 | 0x19<<7 | 0x08, - 25032 - 19968: jis0208<<14 | 0x37<<7 | 0x47, - 25033 - 19968: jis0208<<14 | 0x37<<7 | 0x45, - 25034 - 19968: jis0208<<14 | 0x37<<7 | 0x44, - 25035 - 19968: jis0208<<14 | 0x37<<7 | 0x4B, - 25036 - 19968: jis0208<<14 | 0x37<<7 | 0x43, - 25037 - 19968: jis0208<<14 | 0x37<<7 | 0x4D, - 25038 - 19968: jis0212<<14 | 0x1D<<7 | 0x52, - 25039 - 19968: jis0212<<14 | 0x1D<<7 | 0x53, - 25040 - 19968: jis0208<<14 | 0x11<<7 | 0x5A, - 25045 - 19968: jis0212<<14 | 0x1D<<7 | 0x54, - 25052 - 19968: jis0212<<14 | 0x1D<<7 | 0x55, - 25053 - 19968: jis0212<<14 | 0x1D<<7 | 0x56, - 25054 - 19968: jis0212<<14 | 0x1D<<7 | 0x57, - 25055 - 19968: jis0212<<14 | 0x1D<<7 | 0x58, - 25057 - 19968: jis0212<<14 | 0x1D<<7 | 0x59, - 25058 - 19968: jis0212<<14 | 0x1D<<7 | 0x5A, - 25059 - 19968: jis0208<<14 | 0x37<<7 | 0x4F, - 25061 - 19968: jis0212<<14 | 0x1D<<7 | 0x5D, - 25062 - 19968: jis0208<<14 | 0x37<<7 | 0x4E, - 25063 - 19968: jis0212<<14 | 0x1D<<7 | 0x5B, - 25065 - 19968: jis0212<<14 | 0x1D<<7 | 0x5C, - 25068 - 19968: jis0212<<14 | 0x1E<<7 | 0x00, - 25069 - 19968: jis0212<<14 | 0x1E<<7 | 0x01, - 25071 - 19968: jis0212<<14 | 0x1E<<7 | 0x02, - 25074 - 19968: jis0208<<14 | 0x23<<7 | 0x07, - 25076 - 19968: jis0208<<14 | 0x37<<7 | 0x52, - 25078 - 19968: jis0208<<14 | 0x37<<7 | 0x50, - 25079 - 19968: jis0208<<14 | 0x37<<7 | 0x46, - 25080 - 19968: jis0208<<14 | 0x16<<7 | 0x5B, - 25082 - 19968: jis0208<<14 | 0x37<<7 | 0x51, - 25084 - 19968: jis0208<<14 | 0x37<<7 | 0x55, - 25085 - 19968: jis0208<<14 | 0x37<<7 | 0x54, - 25086 - 19968: jis0208<<14 | 0x37<<7 | 0x56, - 25087 - 19968: jis0208<<14 | 0x37<<7 | 0x53, - 25088 - 19968: jis0208<<14 | 0x37<<7 | 0x57, - 25089 - 19968: jis0212<<14 | 0x1E<<7 | 0x03, - 25091 - 19968: jis0212<<14 | 0x1E<<7 | 0x04, - 25092 - 19968: jis0212<<14 | 0x1E<<7 | 0x05, - 25095 - 19968: jis0212<<14 | 0x1E<<7 | 0x06, - 25096 - 19968: jis0208<<14 | 0x37<<7 | 0x58, - 25097 - 19968: jis0208<<14 | 0x37<<7 | 0x59, - 25098 - 19968: jis0208<<14 | 0x29<<7 | 0x49, - 25100 - 19968: jis0208<<14 | 0x37<<7 | 0x5B, - 25101 - 19968: jis0208<<14 | 0x37<<7 | 0x5A, - 25102 - 19968: jis0208<<14 | 0x1C<<7 | 0x1E, - 25104 - 19968: jis0208<<14 | 0x1F<<7 | 0x0D, - 25105 - 19968: jis0208<<14 | 0x11<<7 | 0x45, - 25106 - 19968: jis0208<<14 | 0x11<<7 | 0x5B, - 25107 - 19968: jis0208<<14 | 0x59<<7 | 0x0C, - 25108 - 19968: jis0208<<14 | 0x37<<7 | 0x5C, - 25109 - 19968: jis0212<<14 | 0x1E<<7 | 0x08, - 25110 - 19968: jis0208<<14 | 0x0F<<7 | 0x1E, - 25114 - 19968: jis0208<<14 | 0x1F<<7 | 0x2B, - 25115 - 19968: jis0208<<14 | 0x37<<7 | 0x5D, - 25116 - 19968: jis0212<<14 | 0x1E<<7 | 0x09, - 25117 - 19968: jis0208<<14 | 0x4B<<7 | 0x22, - 25118 - 19968: jis0208<<14 | 0x38<<7 | 0x00, - 25119 - 19968: jis0208<<14 | 0x16<<7 | 0x40, - 25120 - 19968: jis0212<<14 | 0x1E<<7 | 0x0A, - 25121 - 19968: jis0208<<14 | 0x38<<7 | 0x01, - 25122 - 19968: jis0212<<14 | 0x1E<<7 | 0x0B, - 25123 - 19968: jis0212<<14 | 0x1E<<7 | 0x0C, - 25126 - 19968: jis0208<<14 | 0x1F<<7 | 0x4E, - 25127 - 19968: jis0212<<14 | 0x1E<<7 | 0x0D, - 25129 - 19968: jis0212<<14 | 0x1E<<7 | 0x0E, - 25130 - 19968: jis0208<<14 | 0x38<<7 | 0x02, - 25131 - 19968: jis0212<<14 | 0x1E<<7 | 0x0F, - 25134 - 19968: jis0208<<14 | 0x38<<7 | 0x03, - 25135 - 19968: jis0208<<14 | 0x14<<7 | 0x19, - 25136 - 19968: jis0208<<14 | 0x38<<7 | 0x04, - 25138 - 19968: jis0208<<14 | 0x38<<7 | 0x05, - 25139 - 19968: jis0208<<14 | 0x38<<7 | 0x06, - 25140 - 19968: jis0208<<14 | 0x21<<7 | 0x36, - 25144 - 19968: jis0208<<14 | 0x17<<7 | 0x2C, - 25145 - 19968: jis0212<<14 | 0x1E<<7 | 0x10, - 25147 - 19968: jis0208<<14 | 0x2B<<7 | 0x40, - 25149 - 19968: jis0212<<14 | 0x1E<<7 | 0x11, - 25151 - 19968: jis0208<<14 | 0x2A<<7 | 0x1B, - 25152 - 19968: jis0208<<14 | 0x1C<<7 | 0x49, - 25153 - 19968: jis0208<<14 | 0x38<<7 | 0x07, - 25154 - 19968: jis0212<<14 | 0x1E<<7 | 0x12, - 25155 - 19968: jis0212<<14 | 0x1E<<7 | 0x13, - 25156 - 19968: jis0212<<14 | 0x1E<<7 | 0x14, - 25158 - 19968: jis0212<<14 | 0x1E<<7 | 0x15, - 25159 - 19968: jis0208<<14 | 0x1F<<7 | 0x4F, - 25160 - 19968: jis0208<<14 | 0x4D<<7 | 0x1C, - 25161 - 19968: jis0208<<14 | 0x27<<7 | 0x41, - 25163 - 19968: jis0208<<14 | 0x1B<<7 | 0x49, - 25164 - 19968: jis0212<<14 | 0x1E<<7 | 0x16, - 25165 - 19968: jis0208<<14 | 0x19<<7 | 0x2C, - 25166 - 19968: jis0208<<14 | 0x38<<7 | 0x08, - 25168 - 19968: jis0212<<14 | 0x1E<<7 | 0x17, - 25169 - 19968: jis0212<<14 | 0x1E<<7 | 0x18, - 25170 - 19968: jis0212<<14 | 0x1E<<7 | 0x19, - 25171 - 19968: jis0208<<14 | 0x21<<7 | 0x26, - 25172 - 19968: jis0212<<14 | 0x1E<<7 | 0x1A, - 25173 - 19968: jis0208<<14 | 0x29<<7 | 0x06, - 25174 - 19968: jis0212<<14 | 0x1E<<7 | 0x1B, - 25176 - 19968: jis0208<<14 | 0x21<<7 | 0x50, - 25178 - 19968: jis0212<<14 | 0x1E<<7 | 0x1C, - 25179 - 19968: jis0208<<14 | 0x38<<7 | 0x0B, - 25180 - 19968: jis0212<<14 | 0x1E<<7 | 0x1D, - 25182 - 19968: jis0208<<14 | 0x38<<7 | 0x09, - 25184 - 19968: jis0208<<14 | 0x38<<7 | 0x0C, - 25187 - 19968: jis0208<<14 | 0x38<<7 | 0x0A, - 25188 - 19968: jis0212<<14 | 0x1E<<7 | 0x1E, - 25192 - 19968: jis0208<<14 | 0x38<<7 | 0x0D, - 25197 - 19968: jis0212<<14 | 0x1E<<7 | 0x1F, - 25198 - 19968: jis0208<<14 | 0x29<<7 | 0x10, - 25199 - 19968: jis0212<<14 | 0x1E<<7 | 0x20, - 25201 - 19968: jis0208<<14 | 0x0F<<7 | 0x16, - 25203 - 19968: jis0212<<14 | 0x1E<<7 | 0x21, - 25206 - 19968: jis0208<<14 | 0x28<<7 | 0x3D, - 25209 - 19968: jis0208<<14 | 0x27<<7 | 0x42, - 25210 - 19968: jis0212<<14 | 0x1E<<7 | 0x22, - 25212 - 19968: jis0208<<14 | 0x38<<7 | 0x0E, - 25213 - 19968: jis0212<<14 | 0x1E<<7 | 0x23, - 25214 - 19968: jis0208<<14 | 0x38<<7 | 0x11, - 25215 - 19968: jis0208<<14 | 0x1D<<7 | 0x14, - 25216 - 19968: jis0208<<14 | 0x14<<7 | 0x1A, - 25218 - 19968: jis0208<<14 | 0x38<<7 | 0x0F, - 25219 - 19968: jis0208<<14 | 0x38<<7 | 0x16, - 25220 - 19968: jis0208<<14 | 0x1D<<7 | 0x15, - 25225 - 19968: jis0208<<14 | 0x38<<7 | 0x10, - 25226 - 19968: jis0208<<14 | 0x26<<7 | 0x23, - 25229 - 19968: jis0212<<14 | 0x1E<<7 | 0x24, - 25230 - 19968: jis0212<<14 | 0x1E<<7 | 0x25, - 25231 - 19968: jis0212<<14 | 0x1E<<7 | 0x26, - 25232 - 19968: jis0212<<14 | 0x1E<<7 | 0x27, - 25233 - 19968: jis0208<<14 | 0x2C<<7 | 0x3D, - 25234 - 19968: jis0208<<14 | 0x38<<7 | 0x12, - 25235 - 19968: jis0208<<14 | 0x38<<7 | 0x13, - 25236 - 19968: jis0208<<14 | 0x38<<7 | 0x17, - 25237 - 19968: jis0208<<14 | 0x24<<7 | 0x49, - 25238 - 19968: jis0208<<14 | 0x38<<7 | 0x14, - 25239 - 19968: jis0208<<14 | 0x18<<7 | 0x12, - 25240 - 19968: jis0208<<14 | 0x1F<<7 | 0x3D, - 25243 - 19968: jis0208<<14 | 0x38<<7 | 0x25, - 25244 - 19968: jis0208<<14 | 0x27<<7 | 0x13, - 25246 - 19968: jis0208<<14 | 0x21<<7 | 0x51, - 25254 - 19968: jis0208<<14 | 0x59<<7 | 0x0D, - 25256 - 19968: jis0212<<14 | 0x1E<<7 | 0x29, - 25259 - 19968: jis0208<<14 | 0x27<<7 | 0x43, - 25260 - 19968: jis0208<<14 | 0x39<<7 | 0x0C, - 25265 - 19968: jis0208<<14 | 0x29<<7 | 0x59, - 25267 - 19968: jis0212<<14 | 0x1E<<7 | 0x2A, - 25269 - 19968: jis0208<<14 | 0x23<<7 | 0x50, - 25270 - 19968: jis0212<<14 | 0x1E<<7 | 0x2B, - 25271 - 19968: jis0212<<14 | 0x1E<<7 | 0x2C, - 25273 - 19968: jis0208<<14 | 0x2A<<7 | 0x54, - 25274 - 19968: jis0212<<14 | 0x1E<<7 | 0x2D, - 25275 - 19968: jis0208<<14 | 0x38<<7 | 0x1A, - 25276 - 19968: jis0208<<14 | 0x11<<7 | 0x00, - 25277 - 19968: jis0208<<14 | 0x22<<7 | 0x49, - 25278 - 19968: jis0212<<14 | 0x1E<<7 | 0x2E, - 25279 - 19968: jis0212<<14 | 0x1E<<7 | 0x2F, - 25282 - 19968: jis0208<<14 | 0x38<<7 | 0x23, - 25284 - 19968: jis0212<<14 | 0x1E<<7 | 0x30, - 25285 - 19968: jis0208<<14 | 0x22<<7 | 0x13, - 25286 - 19968: jis0208<<14 | 0x38<<7 | 0x1D, - 25287 - 19968: jis0208<<14 | 0x38<<7 | 0x24, - 25288 - 19968: jis0208<<14 | 0x38<<7 | 0x1F, - 25289 - 19968: jis0208<<14 | 0x38<<7 | 0x26, - 25290 - 19968: jis0208<<14 | 0x38<<7 | 0x22, - 25292 - 19968: jis0208<<14 | 0x38<<7 | 0x21, - 25293 - 19968: jis0208<<14 | 0x26<<7 | 0x4E, - 25294 - 19968: jis0212<<14 | 0x1E<<7 | 0x31, - 25295 - 19968: jis0208<<14 | 0x38<<7 | 0x1B, - 25296 - 19968: jis0208<<14 | 0x11<<7 | 0x5C, - 25297 - 19968: jis0208<<14 | 0x38<<7 | 0x19, - 25298 - 19968: jis0208<<14 | 0x14<<7 | 0x50, - 25299 - 19968: jis0208<<14 | 0x21<<7 | 0x52, - 25300 - 19968: jis0208<<14 | 0x38<<7 | 0x15, - 25301 - 19968: jis0212<<14 | 0x1E<<7 | 0x32, - 25302 - 19968: jis0212<<14 | 0x1E<<7 | 0x33, - 25303 - 19968: jis0208<<14 | 0x38<<7 | 0x18, - 25304 - 19968: jis0208<<14 | 0x18<<7 | 0x13, - 25305 - 19968: jis0208<<14 | 0x1F<<7 | 0x3A, - 25306 - 19968: jis0212<<14 | 0x1E<<7 | 0x34, - 25307 - 19968: jis0208<<14 | 0x1D<<7 | 0x16, - 25308 - 19968: jis0208<<14 | 0x38<<7 | 0x20, - 25309 - 19968: jis0208<<14 | 0x26<<7 | 0x31, - 25312 - 19968: jis0208<<14 | 0x14<<7 | 0x51, - 25313 - 19968: jis0208<<14 | 0x12<<7 | 0x27, - 25322 - 19968: jis0212<<14 | 0x1E<<7 | 0x35, - 25324 - 19968: jis0208<<14 | 0x12<<7 | 0x46, - 25325 - 19968: jis0208<<14 | 0x1E<<7 | 0x00, - 25326 - 19968: jis0208<<14 | 0x38<<7 | 0x28, - 25327 - 19968: jis0208<<14 | 0x38<<7 | 0x2D, - 25329 - 19968: jis0208<<14 | 0x38<<7 | 0x29, - 25330 - 19968: jis0212<<14 | 0x1E<<7 | 0x36, - 25331 - 19968: jis0208<<14 | 0x16<<7 | 0x5C, - 25332 - 19968: jis0212<<14 | 0x1E<<7 | 0x37, - 25333 - 19968: jis0208<<14 | 0x38<<7 | 0x2E, - 25334 - 19968: jis0208<<14 | 0x1A<<7 | 0x01, - 25335 - 19968: jis0208<<14 | 0x18<<7 | 0x48, - 25340 - 19968: jis0212<<14 | 0x1E<<7 | 0x38, - 25341 - 19968: jis0212<<14 | 0x1E<<7 | 0x39, - 25342 - 19968: jis0208<<14 | 0x1C<<7 | 0x05, - 25343 - 19968: jis0208<<14 | 0x38<<7 | 0x1C, - 25345 - 19968: jis0208<<14 | 0x1A<<7 | 0x5C, - 25346 - 19968: jis0208<<14 | 0x38<<7 | 0x2B, - 25347 - 19968: jis0212<<14 | 0x1E<<7 | 0x3A, - 25348 - 19968: jis0212<<14 | 0x1E<<7 | 0x3B, - 25351 - 19968: jis0208<<14 | 0x1A<<7 | 0x37, - 25352 - 19968: jis0208<<14 | 0x38<<7 | 0x2C, - 25353 - 19968: jis0208<<14 | 0x0F<<7 | 0x23, - 25354 - 19968: jis0212<<14 | 0x1E<<7 | 0x3C, - 25355 - 19968: jis0212<<14 | 0x1E<<7 | 0x3D, - 25356 - 19968: jis0208<<14 | 0x38<<7 | 0x27, - 25357 - 19968: jis0212<<14 | 0x1E<<7 | 0x3E, - 25360 - 19968: jis0212<<14 | 0x1E<<7 | 0x3F, - 25361 - 19968: jis0208<<14 | 0x23<<7 | 0x08, - 25363 - 19968: jis0212<<14 | 0x1E<<7 | 0x40, - 25366 - 19968: jis0212<<14 | 0x1E<<7 | 0x41, - 25368 - 19968: jis0212<<14 | 0x1E<<7 | 0x42, - 25369 - 19968: jis0208<<14 | 0x14<<7 | 0x52, - 25375 - 19968: jis0208<<14 | 0x15<<7 | 0x13, - 25383 - 19968: jis0208<<14 | 0x38<<7 | 0x2A, - 25384 - 19968: jis0208<<14 | 0x0F<<7 | 0x06, - 25385 - 19968: jis0212<<14 | 0x1E<<7 | 0x43, - 25386 - 19968: jis0212<<14 | 0x1E<<7 | 0x44, - 25387 - 19968: jis0208<<14 | 0x19<<7 | 0x22, - 25389 - 19968: jis0212<<14 | 0x1E<<7 | 0x45, - 25391 - 19968: jis0208<<14 | 0x1E<<7 | 0x15, - 25397 - 19968: jis0212<<14 | 0x1E<<7 | 0x46, - 25398 - 19968: jis0212<<14 | 0x1E<<7 | 0x47, - 25401 - 19968: jis0212<<14 | 0x1E<<7 | 0x48, - 25402 - 19968: jis0208<<14 | 0x23<<7 | 0x51, - 25404 - 19968: jis0212<<14 | 0x1E<<7 | 0x49, - 25405 - 19968: jis0208<<14 | 0x27<<7 | 0x33, - 25406 - 19968: jis0208<<14 | 0x38<<7 | 0x30, - 25407 - 19968: jis0208<<14 | 0x20<<7 | 0x3D, - 25409 - 19968: jis0212<<14 | 0x1E<<7 | 0x4A, - 25410 - 19968: jis0212<<14 | 0x1E<<7 | 0x4B, - 25411 - 19968: jis0212<<14 | 0x1E<<7 | 0x4C, - 25412 - 19968: jis0212<<14 | 0x1E<<7 | 0x4D, - 25414 - 19968: jis0212<<14 | 0x1E<<7 | 0x4E, - 25417 - 19968: jis0208<<14 | 0x21<<7 | 0x09, - 25418 - 19968: jis0212<<14 | 0x1E<<7 | 0x4F, - 25419 - 19968: jis0212<<14 | 0x1E<<7 | 0x50, - 25420 - 19968: jis0208<<14 | 0x1A<<7 | 0x0A, - 25421 - 19968: jis0208<<14 | 0x38<<7 | 0x31, - 25422 - 19968: jis0212<<14 | 0x1E<<7 | 0x51, - 25423 - 19968: jis0208<<14 | 0x38<<7 | 0x33, - 25424 - 19968: jis0208<<14 | 0x38<<7 | 0x2F, - 25426 - 19968: jis0212<<14 | 0x1E<<7 | 0x52, - 25427 - 19968: jis0212<<14 | 0x1E<<7 | 0x53, - 25428 - 19968: jis0212<<14 | 0x1E<<7 | 0x54, - 25429 - 19968: jis0208<<14 | 0x29<<7 | 0x40, - 25431 - 19968: jis0208<<14 | 0x23<<7 | 0x1C, - 25432 - 19968: jis0212<<14 | 0x1E<<7 | 0x55, - 25435 - 19968: jis0212<<14 | 0x1E<<7 | 0x56, - 25436 - 19968: jis0208<<14 | 0x20<<7 | 0x3B, - 25445 - 19968: jis0212<<14 | 0x1E<<7 | 0x57, - 25446 - 19968: jis0212<<14 | 0x1E<<7 | 0x58, - 25447 - 19968: jis0208<<14 | 0x29<<7 | 0x5A, - 25448 - 19968: jis0208<<14 | 0x1B<<7 | 0x2D, - 25449 - 19968: jis0208<<14 | 0x38<<7 | 0x3F, - 25451 - 19968: jis0208<<14 | 0x38<<7 | 0x3E, - 25452 - 19968: jis0212<<14 | 0x1E<<7 | 0x59, - 25453 - 19968: jis0212<<14 | 0x1E<<7 | 0x5A, - 25454 - 19968: jis0208<<14 | 0x1E<<7 | 0x57, - 25457 - 19968: jis0212<<14 | 0x1E<<7 | 0x5B, - 25458 - 19968: jis0208<<14 | 0x16<<7 | 0x5D, - 25460 - 19968: jis0212<<14 | 0x1E<<7 | 0x5C, - 25461 - 19968: jis0212<<14 | 0x1E<<7 | 0x5D, - 25462 - 19968: jis0208<<14 | 0x38<<7 | 0x38, - 25463 - 19968: jis0208<<14 | 0x1D<<7 | 0x18, - 25464 - 19968: jis0212<<14 | 0x1F<<7 | 0x00, - 25466 - 19968: jis0208<<14 | 0x25<<7 | 0x47, - 25467 - 19968: jis0208<<14 | 0x26<<7 | 0x10, - 25468 - 19968: jis0212<<14 | 0x1F<<7 | 0x01, - 25469 - 19968: jis0212<<14 | 0x1F<<7 | 0x02, - 25471 - 19968: jis0212<<14 | 0x1F<<7 | 0x03, - 25472 - 19968: jis0208<<14 | 0x38<<7 | 0x36, - 25474 - 19968: jis0212<<14 | 0x1F<<7 | 0x04, - 25475 - 19968: jis0208<<14 | 0x20<<7 | 0x3C, - 25476 - 19968: jis0212<<14 | 0x1F<<7 | 0x05, - 25479 - 19968: jis0212<<14 | 0x1F<<7 | 0x06, - 25480 - 19968: jis0208<<14 | 0x1B<<7 | 0x57, - 25481 - 19968: jis0208<<14 | 0x38<<7 | 0x3B, - 25482 - 19968: jis0212<<14 | 0x1F<<7 | 0x07, - 25484 - 19968: jis0208<<14 | 0x1D<<7 | 0x17, - 25486 - 19968: jis0208<<14 | 0x38<<7 | 0x35, - 25487 - 19968: jis0208<<14 | 0x38<<7 | 0x3A, - 25488 - 19968: jis0212<<14 | 0x1F<<7 | 0x08, - 25490 - 19968: jis0208<<14 | 0x26<<7 | 0x32, - 25492 - 19968: jis0212<<14 | 0x1F<<7 | 0x09, - 25493 - 19968: jis0212<<14 | 0x1F<<7 | 0x0A, - 25494 - 19968: jis0208<<14 | 0x38<<7 | 0x34, - 25496 - 19968: jis0208<<14 | 0x16<<7 | 0x00, - 25497 - 19968: jis0212<<14 | 0x1F<<7 | 0x0B, - 25498 - 19968: jis0212<<14 | 0x1F<<7 | 0x0C, - 25499 - 19968: jis0208<<14 | 0x12<<7 | 0x3C, - 25502 - 19968: jis0212<<14 | 0x1F<<7 | 0x0D, - 25503 - 19968: jis0208<<14 | 0x38<<7 | 0x3C, - 25504 - 19968: jis0208<<14 | 0x2D<<7 | 0x0A, - 25505 - 19968: jis0208<<14 | 0x19<<7 | 0x2D, - 25506 - 19968: jis0208<<14 | 0x22<<7 | 0x14, - 25507 - 19968: jis0208<<14 | 0x38<<7 | 0x39, - 25508 - 19968: jis0212<<14 | 0x1F<<7 | 0x0E, - 25509 - 19968: jis0208<<14 | 0x1F<<7 | 0x3B, - 25510 - 19968: jis0212<<14 | 0x1F<<7 | 0x0F, - 25511 - 19968: jis0208<<14 | 0x18<<7 | 0x14, - 25512 - 19968: jis0208<<14 | 0x1E<<7 | 0x43, - 25513 - 19968: jis0208<<14 | 0x10<<7 | 0x45, - 25514 - 19968: jis0208<<14 | 0x20<<7 | 0x1B, - 25515 - 19968: jis0208<<14 | 0x38<<7 | 0x37, - 25516 - 19968: jis0208<<14 | 0x14<<7 | 0x24, - 25517 - 19968: jis0212<<14 | 0x1F<<7 | 0x10, - 25518 - 19968: jis0212<<14 | 0x1F<<7 | 0x11, - 25519 - 19968: jis0212<<14 | 0x1F<<7 | 0x12, - 25522 - 19968: jis0208<<14 | 0x16<<7 | 0x26, - 25524 - 19968: jis0208<<14 | 0x23<<7 | 0x2E, - 25525 - 19968: jis0208<<14 | 0x38<<7 | 0x3D, - 25531 - 19968: jis0208<<14 | 0x20<<7 | 0x3E, - 25533 - 19968: jis0212<<14 | 0x1F<<7 | 0x13, - 25534 - 19968: jis0208<<14 | 0x38<<7 | 0x40, - 25536 - 19968: jis0208<<14 | 0x38<<7 | 0x42, - 25537 - 19968: jis0212<<14 | 0x1F<<7 | 0x14, - 25539 - 19968: jis0208<<14 | 0x21<<7 | 0x16, - 25540 - 19968: jis0208<<14 | 0x38<<7 | 0x48, - 25541 - 19968: jis0212<<14 | 0x1F<<7 | 0x15, - 25542 - 19968: jis0208<<14 | 0x38<<7 | 0x43, - 25544 - 19968: jis0212<<14 | 0x1F<<7 | 0x16, - 25545 - 19968: jis0208<<14 | 0x38<<7 | 0x45, - 25550 - 19968: jis0212<<14 | 0x1F<<7 | 0x17, - 25551 - 19968: jis0208<<14 | 0x28<<7 | 0x20, - 25552 - 19968: jis0208<<14 | 0x23<<7 | 0x52, - 25553 - 19968: jis0212<<14 | 0x1F<<7 | 0x18, - 25554 - 19968: jis0208<<14 | 0x38<<7 | 0x46, - 25555 - 19968: jis0212<<14 | 0x1F<<7 | 0x19, - 25556 - 19968: jis0212<<14 | 0x1F<<7 | 0x1A, - 25557 - 19968: jis0212<<14 | 0x1F<<7 | 0x1B, - 25558 - 19968: jis0208<<14 | 0x2C<<7 | 0x0B, - 25562 - 19968: jis0208<<14 | 0x2C<<7 | 0x27, - 25563 - 19968: jis0208<<14 | 0x13<<7 | 0x18, - 25564 - 19968: jis0212<<14 | 0x1F<<7 | 0x1C, - 25568 - 19968: jis0212<<14 | 0x1F<<7 | 0x1D, - 25569 - 19968: jis0208<<14 | 0x0F<<7 | 0x0D, - 25571 - 19968: jis0208<<14 | 0x38<<7 | 0x44, - 25573 - 19968: jis0212<<14 | 0x1F<<7 | 0x1E, - 25577 - 19968: jis0208<<14 | 0x38<<7 | 0x41, - 25578 - 19968: jis0212<<14 | 0x1F<<7 | 0x1F, - 25580 - 19968: jis0212<<14 | 0x1F<<7 | 0x20, - 25582 - 19968: jis0208<<14 | 0x13<<7 | 0x57, - 25586 - 19968: jis0212<<14 | 0x1F<<7 | 0x21, - 25587 - 19968: jis0212<<14 | 0x1F<<7 | 0x22, - 25588 - 19968: jis0208<<14 | 0x10<<7 | 0x46, - 25589 - 19968: jis0208<<14 | 0x59<<7 | 0x0E, - 25590 - 19968: jis0208<<14 | 0x38<<7 | 0x47, - 25592 - 19968: jis0212<<14 | 0x1F<<7 | 0x24, - 25593 - 19968: jis0212<<14 | 0x1F<<7 | 0x25, - 25594 - 19968: jis0208<<14 | 0x2C<<7 | 0x28, - 25606 - 19968: jis0208<<14 | 0x38<<7 | 0x4B, - 25609 - 19968: jis0212<<14 | 0x1F<<7 | 0x26, - 25610 - 19968: jis0212<<14 | 0x1F<<7 | 0x27, - 25613 - 19968: jis0208<<14 | 0x21<<7 | 0x1A, - 25615 - 19968: jis0208<<14 | 0x38<<7 | 0x52, - 25616 - 19968: jis0212<<14 | 0x1F<<7 | 0x28, - 25618 - 19968: jis0212<<14 | 0x1F<<7 | 0x29, - 25619 - 19968: jis0208<<14 | 0x38<<7 | 0x4C, - 25620 - 19968: jis0212<<14 | 0x1F<<7 | 0x2A, - 25622 - 19968: jis0208<<14 | 0x38<<7 | 0x49, - 25623 - 19968: jis0208<<14 | 0x38<<7 | 0x50, - 25624 - 19968: jis0212<<14 | 0x1F<<7 | 0x2B, - 25628 - 19968: jis0208<<14 | 0x38<<7 | 0x32, - 25630 - 19968: jis0212<<14 | 0x1F<<7 | 0x2C, - 25632 - 19968: jis0212<<14 | 0x1F<<7 | 0x2D, - 25634 - 19968: jis0212<<14 | 0x1F<<7 | 0x2E, - 25636 - 19968: jis0212<<14 | 0x1F<<7 | 0x2F, - 25637 - 19968: jis0212<<14 | 0x1F<<7 | 0x30, - 25638 - 19968: jis0208<<14 | 0x38<<7 | 0x4D, - 25640 - 19968: jis0208<<14 | 0x38<<7 | 0x51, - 25641 - 19968: jis0212<<14 | 0x1F<<7 | 0x31, - 25642 - 19968: jis0212<<14 | 0x1F<<7 | 0x32, - 25644 - 19968: jis0208<<14 | 0x27<<7 | 0x21, - 25645 - 19968: jis0208<<14 | 0x24<<7 | 0x4A, - 25647 - 19968: jis0212<<14 | 0x1F<<7 | 0x33, - 25648 - 19968: jis0212<<14 | 0x1F<<7 | 0x34, - 25652 - 19968: jis0208<<14 | 0x38<<7 | 0x4A, - 25653 - 19968: jis0212<<14 | 0x1F<<7 | 0x35, - 25654 - 19968: jis0208<<14 | 0x38<<7 | 0x4E, - 25658 - 19968: jis0208<<14 | 0x16<<7 | 0x27, - 25661 - 19968: jis0212<<14 | 0x1F<<7 | 0x36, - 25662 - 19968: jis0208<<14 | 0x19<<7 | 0x50, - 25663 - 19968: jis0212<<14 | 0x1F<<7 | 0x37, - 25666 - 19968: jis0208<<14 | 0x1F<<7 | 0x3C, - 25675 - 19968: jis0212<<14 | 0x1F<<7 | 0x38, - 25678 - 19968: jis0208<<14 | 0x38<<7 | 0x56, - 25679 - 19968: jis0212<<14 | 0x1F<<7 | 0x39, - 25681 - 19968: jis0212<<14 | 0x1F<<7 | 0x3A, - 25682 - 19968: jis0212<<14 | 0x1F<<7 | 0x3B, - 25683 - 19968: jis0212<<14 | 0x1F<<7 | 0x3C, - 25684 - 19968: jis0212<<14 | 0x1F<<7 | 0x3D, - 25688 - 19968: jis0208<<14 | 0x24<<7 | 0x05, - 25690 - 19968: jis0212<<14 | 0x1F<<7 | 0x3E, - 25691 - 19968: jis0212<<14 | 0x1F<<7 | 0x3F, - 25692 - 19968: jis0212<<14 | 0x1F<<7 | 0x40, - 25693 - 19968: jis0212<<14 | 0x1F<<7 | 0x41, - 25695 - 19968: jis0212<<14 | 0x1F<<7 | 0x42, - 25696 - 19968: jis0208<<14 | 0x59<<7 | 0x0F, - 25697 - 19968: jis0212<<14 | 0x1F<<7 | 0x44, - 25699 - 19968: jis0212<<14 | 0x1F<<7 | 0x45, - 25703 - 19968: jis0208<<14 | 0x38<<7 | 0x53, - 25705 - 19968: jis0208<<14 | 0x2A<<7 | 0x3F, - 25709 - 19968: jis0212<<14 | 0x1F<<7 | 0x46, - 25711 - 19968: jis0208<<14 | 0x38<<7 | 0x54, - 25715 - 19968: jis0212<<14 | 0x1F<<7 | 0x47, - 25716 - 19968: jis0212<<14 | 0x1F<<7 | 0x48, - 25718 - 19968: jis0208<<14 | 0x38<<7 | 0x55, - 25720 - 19968: jis0208<<14 | 0x2B<<7 | 0x2D, - 25722 - 19968: jis0208<<14 | 0x1F<<7 | 0x01, - 25723 - 19968: jis0212<<14 | 0x1F<<7 | 0x49, - 25725 - 19968: jis0212<<14 | 0x1F<<7 | 0x4A, - 25731 - 19968: jis0208<<14 | 0x16<<7 | 0x41, - 25733 - 19968: jis0212<<14 | 0x1F<<7 | 0x4B, - 25735 - 19968: jis0212<<14 | 0x1F<<7 | 0x4C, - 25736 - 19968: jis0208<<14 | 0x38<<7 | 0x5C, - 25743 - 19968: jis0212<<14 | 0x1F<<7 | 0x4D, - 25744 - 19968: jis0212<<14 | 0x1F<<7 | 0x4E, - 25745 - 19968: jis0212<<14 | 0x1F<<7 | 0x4F, - 25746 - 19968: jis0208<<14 | 0x1A<<7 | 0x14, - 25747 - 19968: jis0208<<14 | 0x38<<7 | 0x59, - 25749 - 19968: jis0208<<14 | 0x38<<7 | 0x58, - 25752 - 19968: jis0212<<14 | 0x1F<<7 | 0x50, - 25753 - 19968: jis0212<<14 | 0x1F<<7 | 0x51, - 25754 - 19968: jis0208<<14 | 0x26<<7 | 0x11, - 25755 - 19968: jis0212<<14 | 0x1F<<7 | 0x52, - 25757 - 19968: jis0208<<14 | 0x59<<7 | 0x10, - 25758 - 19968: jis0208<<14 | 0x25<<7 | 0x14, - 25759 - 19968: jis0212<<14 | 0x1F<<7 | 0x54, - 25761 - 19968: jis0212<<14 | 0x1F<<7 | 0x55, - 25763 - 19968: jis0212<<14 | 0x1F<<7 | 0x56, - 25764 - 19968: jis0208<<14 | 0x24<<7 | 0x10, - 25765 - 19968: jis0208<<14 | 0x38<<7 | 0x5A, - 25766 - 19968: jis0212<<14 | 0x1F<<7 | 0x57, - 25768 - 19968: jis0212<<14 | 0x1F<<7 | 0x58, - 25769 - 19968: jis0208<<14 | 0x38<<7 | 0x5B, - 25771 - 19968: jis0208<<14 | 0x28<<7 | 0x4E, - 25772 - 19968: jis0212<<14 | 0x1F<<7 | 0x59, - 25773 - 19968: jis0208<<14 | 0x26<<7 | 0x24, - 25774 - 19968: jis0208<<14 | 0x1A<<7 | 0x02, - 25776 - 19968: jis0208<<14 | 0x1F<<7 | 0x50, - 25778 - 19968: jis0208<<14 | 0x2A<<7 | 0x2F, - 25779 - 19968: jis0212<<14 | 0x1F<<7 | 0x5A, - 25785 - 19968: jis0208<<14 | 0x12<<7 | 0x28, - 25787 - 19968: jis0208<<14 | 0x39<<7 | 0x04, - 25788 - 19968: jis0208<<14 | 0x38<<7 | 0x5D, - 25789 - 19968: jis0212<<14 | 0x1F<<7 | 0x5B, - 25790 - 19968: jis0212<<14 | 0x1F<<7 | 0x5C, - 25791 - 19968: jis0212<<14 | 0x1F<<7 | 0x5D, - 25793 - 19968: jis0208<<14 | 0x2C<<7 | 0x29, - 25794 - 19968: jis0208<<14 | 0x39<<7 | 0x06, - 25796 - 19968: jis0212<<14 | 0x20<<7 | 0x00, - 25797 - 19968: jis0208<<14 | 0x39<<7 | 0x02, - 25799 - 19968: jis0208<<14 | 0x39<<7 | 0x03, - 25801 - 19968: jis0212<<14 | 0x20<<7 | 0x01, - 25802 - 19968: jis0212<<14 | 0x20<<7 | 0x02, - 25803 - 19968: jis0212<<14 | 0x20<<7 | 0x03, - 25804 - 19968: jis0212<<14 | 0x20<<7 | 0x04, - 25805 - 19968: jis0208<<14 | 0x20<<7 | 0x3F, - 25806 - 19968: jis0208<<14 | 0x59<<7 | 0x11, - 25808 - 19968: jis0212<<14 | 0x20<<7 | 0x06, - 25809 - 19968: jis0212<<14 | 0x20<<7 | 0x07, - 25810 - 19968: jis0208<<14 | 0x39<<7 | 0x01, - 25812 - 19968: jis0208<<14 | 0x38<<7 | 0x1E, - 25813 - 19968: jis0212<<14 | 0x20<<7 | 0x08, - 25815 - 19968: jis0212<<14 | 0x20<<7 | 0x09, - 25816 - 19968: jis0208<<14 | 0x39<<7 | 0x05, - 25818 - 19968: jis0208<<14 | 0x39<<7 | 0x00, - 25824 - 19968: jis0208<<14 | 0x39<<7 | 0x0A, - 25825 - 19968: jis0208<<14 | 0x39<<7 | 0x0B, - 25826 - 19968: jis0208<<14 | 0x24<<7 | 0x06, - 25827 - 19968: jis0208<<14 | 0x39<<7 | 0x0D, - 25828 - 19968: jis0212<<14 | 0x20<<7 | 0x0A, - 25829 - 19968: jis0212<<14 | 0x20<<7 | 0x0B, - 25830 - 19968: jis0208<<14 | 0x1A<<7 | 0x03, - 25831 - 19968: jis0208<<14 | 0x39<<7 | 0x08, - 25833 - 19968: jis0212<<14 | 0x20<<7 | 0x0C, - 25834 - 19968: jis0212<<14 | 0x20<<7 | 0x0D, - 25836 - 19968: jis0208<<14 | 0x14<<7 | 0x1B, - 25837 - 19968: jis0212<<14 | 0x20<<7 | 0x0E, - 25839 - 19968: jis0208<<14 | 0x39<<7 | 0x0E, - 25840 - 19968: jis0212<<14 | 0x20<<7 | 0x0F, - 25841 - 19968: jis0208<<14 | 0x39<<7 | 0x07, - 25842 - 19968: jis0208<<14 | 0x39<<7 | 0x12, - 25844 - 19968: jis0208<<14 | 0x39<<7 | 0x11, - 25845 - 19968: jis0212<<14 | 0x20<<7 | 0x10, - 25846 - 19968: jis0208<<14 | 0x39<<7 | 0x10, - 25847 - 19968: jis0212<<14 | 0x20<<7 | 0x11, - 25850 - 19968: jis0208<<14 | 0x39<<7 | 0x13, - 25851 - 19968: jis0212<<14 | 0x20<<7 | 0x12, - 25853 - 19968: jis0208<<14 | 0x39<<7 | 0x15, - 25854 - 19968: jis0208<<14 | 0x1D<<7 | 0x50, - 25855 - 19968: jis0212<<14 | 0x20<<7 | 0x13, - 25856 - 19968: jis0208<<14 | 0x39<<7 | 0x14, - 25857 - 19968: jis0212<<14 | 0x20<<7 | 0x14, - 25860 - 19968: jis0212<<14 | 0x20<<7 | 0x15, - 25861 - 19968: jis0208<<14 | 0x39<<7 | 0x18, - 25864 - 19968: jis0212<<14 | 0x20<<7 | 0x16, - 25865 - 19968: jis0212<<14 | 0x20<<7 | 0x17, - 25866 - 19968: jis0212<<14 | 0x20<<7 | 0x18, - 25871 - 19968: jis0212<<14 | 0x20<<7 | 0x19, - 25875 - 19968: jis0212<<14 | 0x20<<7 | 0x1A, - 25876 - 19968: jis0212<<14 | 0x20<<7 | 0x1B, - 25878 - 19968: jis0212<<14 | 0x20<<7 | 0x1C, - 25880 - 19968: jis0208<<14 | 0x39<<7 | 0x16, - 25881 - 19968: jis0212<<14 | 0x20<<7 | 0x1D, - 25883 - 19968: jis0212<<14 | 0x20<<7 | 0x1E, - 25884 - 19968: jis0208<<14 | 0x39<<7 | 0x17, - 25885 - 19968: jis0208<<14 | 0x38<<7 | 0x4F, - 25886 - 19968: jis0212<<14 | 0x20<<7 | 0x1F, - 25887 - 19968: jis0212<<14 | 0x20<<7 | 0x20, - 25890 - 19968: jis0212<<14 | 0x20<<7 | 0x21, - 25891 - 19968: jis0208<<14 | 0x39<<7 | 0x1A, - 25892 - 19968: jis0208<<14 | 0x39<<7 | 0x19, - 25894 - 19968: jis0212<<14 | 0x20<<7 | 0x22, - 25897 - 19968: jis0212<<14 | 0x20<<7 | 0x23, - 25898 - 19968: jis0208<<14 | 0x38<<7 | 0x57, - 25899 - 19968: jis0208<<14 | 0x39<<7 | 0x1B, - 25900 - 19968: jis0208<<14 | 0x39<<7 | 0x0F, - 25902 - 19968: jis0212<<14 | 0x20<<7 | 0x24, - 25903 - 19968: jis0208<<14 | 0x1A<<7 | 0x38, - 25905 - 19968: jis0212<<14 | 0x20<<7 | 0x25, - 25908 - 19968: jis0208<<14 | 0x39<<7 | 0x1C, - 25909 - 19968: jis0208<<14 | 0x39<<7 | 0x1D, - 25910 - 19968: jis0208<<14 | 0x39<<7 | 0x1F, - 25911 - 19968: jis0208<<14 | 0x39<<7 | 0x1E, - 25912 - 19968: jis0208<<14 | 0x39<<7 | 0x20, - 25913 - 19968: jis0208<<14 | 0x11<<7 | 0x5D, - 25914 - 19968: jis0212<<14 | 0x20<<7 | 0x26, - 25915 - 19968: jis0208<<14 | 0x18<<7 | 0x15, - 25916 - 19968: jis0212<<14 | 0x20<<7 | 0x27, - 25917 - 19968: jis0212<<14 | 0x20<<7 | 0x28, - 25918 - 19968: jis0208<<14 | 0x29<<7 | 0x5B, - 25919 - 19968: jis0208<<14 | 0x1F<<7 | 0x0E, - 25923 - 19968: jis0212<<14 | 0x20<<7 | 0x29, - 25925 - 19968: jis0208<<14 | 0x17<<7 | 0x2D, - 25927 - 19968: jis0212<<14 | 0x20<<7 | 0x2A, - 25928 - 19968: jis0208<<14 | 0x39<<7 | 0x22, - 25929 - 19968: jis0212<<14 | 0x20<<7 | 0x2B, - 25933 - 19968: jis0208<<14 | 0x39<<7 | 0x25, - 25934 - 19968: jis0208<<14 | 0x59<<7 | 0x12, - 25935 - 19968: jis0208<<14 | 0x28<<7 | 0x31, - 25936 - 19968: jis0212<<14 | 0x20<<7 | 0x2C, - 25937 - 19968: jis0208<<14 | 0x14<<7 | 0x3E, - 25938 - 19968: jis0212<<14 | 0x20<<7 | 0x2D, - 25940 - 19968: jis0212<<14 | 0x20<<7 | 0x2E, - 25941 - 19968: jis0208<<14 | 0x39<<7 | 0x24, - 25942 - 19968: jis0208<<14 | 0x39<<7 | 0x23, - 25943 - 19968: jis0208<<14 | 0x26<<7 | 0x33, - 25944 - 19968: jis0208<<14 | 0x39<<7 | 0x26, - 25945 - 19968: jis0208<<14 | 0x15<<7 | 0x14, - 25949 - 19968: jis0208<<14 | 0x39<<7 | 0x28, - 25950 - 19968: jis0208<<14 | 0x39<<7 | 0x27, - 25951 - 19968: jis0212<<14 | 0x20<<7 | 0x2F, - 25952 - 19968: jis0212<<14 | 0x20<<7 | 0x30, - 25954 - 19968: jis0208<<14 | 0x13<<7 | 0x19, - 25955 - 19968: jis0208<<14 | 0x1A<<7 | 0x15, - 25958 - 19968: jis0208<<14 | 0x25<<7 | 0x37, - 25959 - 19968: jis0212<<14 | 0x20<<7 | 0x31, - 25963 - 19968: jis0212<<14 | 0x20<<7 | 0x32, - 25964 - 19968: jis0208<<14 | 0x16<<7 | 0x28, - 25968 - 19968: jis0208<<14 | 0x1E<<7 | 0x53, - 25970 - 19968: jis0208<<14 | 0x39<<7 | 0x29, - 25972 - 19968: jis0208<<14 | 0x1F<<7 | 0x0F, - 25973 - 19968: jis0208<<14 | 0x24<<7 | 0x07, - 25975 - 19968: jis0208<<14 | 0x28<<7 | 0x3E, - 25976 - 19968: jis0208<<14 | 0x39<<7 | 0x2A, - 25978 - 19968: jis0212<<14 | 0x20<<7 | 0x33, - 25981 - 19968: jis0212<<14 | 0x20<<7 | 0x34, - 25985 - 19968: jis0212<<14 | 0x20<<7 | 0x35, - 25986 - 19968: jis0208<<14 | 0x39<<7 | 0x2B, - 25987 - 19968: jis0208<<14 | 0x39<<7 | 0x2C, - 25989 - 19968: jis0212<<14 | 0x20<<7 | 0x36, - 25991 - 19968: jis0208<<14 | 0x29<<7 | 0x17, - 25992 - 19968: jis0208<<14 | 0x34<<7 | 0x3C, - 25993 - 19968: jis0208<<14 | 0x1F<<7 | 0x25, - 25994 - 19968: jis0212<<14 | 0x20<<7 | 0x37, - 25996 - 19968: jis0208<<14 | 0x28<<7 | 0x2B, - 25998 - 19968: jis0208<<14 | 0x19<<7 | 0x37, - 26000 - 19968: jis0208<<14 | 0x27<<7 | 0x44, - 26001 - 19968: jis0208<<14 | 0x27<<7 | 0x22, - 26002 - 19968: jis0212<<14 | 0x20<<7 | 0x38, - 26005 - 19968: jis0212<<14 | 0x20<<7 | 0x39, - 26007 - 19968: jis0208<<14 | 0x24<<7 | 0x2C, - 26008 - 19968: jis0212<<14 | 0x20<<7 | 0x3A, - 26009 - 19968: jis0208<<14 | 0x2D<<7 | 0x20, - 26011 - 19968: jis0208<<14 | 0x39<<7 | 0x2E, - 26012 - 19968: jis0208<<14 | 0x1B<<7 | 0x2F, - 26013 - 19968: jis0212<<14 | 0x20<<7 | 0x3B, - 26015 - 19968: jis0208<<14 | 0x39<<7 | 0x2F, - 26016 - 19968: jis0212<<14 | 0x20<<7 | 0x3C, - 26017 - 19968: jis0208<<14 | 0x0F<<7 | 0x15, - 26019 - 19968: jis0212<<14 | 0x20<<7 | 0x3D, - 26020 - 19968: jis0208<<14 | 0x15<<7 | 0x33, - 26021 - 19968: jis0208<<14 | 0x1F<<7 | 0x2C, - 26022 - 19968: jis0212<<14 | 0x20<<7 | 0x3E, - 26023 - 19968: jis0208<<14 | 0x28<<7 | 0x3F, - 26027 - 19968: jis0208<<14 | 0x39<<7 | 0x30, - 26028 - 19968: jis0208<<14 | 0x1A<<7 | 0x21, - 26029 - 19968: jis0208<<14 | 0x22<<7 | 0x26, - 26030 - 19968: jis0212<<14 | 0x20<<7 | 0x3F, - 26031 - 19968: jis0208<<14 | 0x1A<<7 | 0x3A, - 26032 - 19968: jis0208<<14 | 0x1E<<7 | 0x16, - 26034 - 19968: jis0212<<14 | 0x20<<7 | 0x40, - 26035 - 19968: jis0212<<14 | 0x20<<7 | 0x41, - 26036 - 19968: jis0212<<14 | 0x20<<7 | 0x42, - 26039 - 19968: jis0208<<14 | 0x39<<7 | 0x31, - 26041 - 19968: jis0208<<14 | 0x29<<7 | 0x5C, - 26044 - 19968: jis0208<<14 | 0x10<<7 | 0x56, - 26045 - 19968: jis0208<<14 | 0x1A<<7 | 0x3B, - 26047 - 19968: jis0212<<14 | 0x20<<7 | 0x43, - 26049 - 19968: jis0208<<14 | 0x39<<7 | 0x34, - 26050 - 19968: jis0212<<14 | 0x20<<7 | 0x44, - 26051 - 19968: jis0208<<14 | 0x39<<7 | 0x32, - 26052 - 19968: jis0208<<14 | 0x39<<7 | 0x35, - 26053 - 19968: jis0208<<14 | 0x2D<<7 | 0x18, - 26054 - 19968: jis0208<<14 | 0x39<<7 | 0x33, - 26056 - 19968: jis0212<<14 | 0x20<<7 | 0x45, - 26057 - 19968: jis0212<<14 | 0x20<<7 | 0x46, - 26059 - 19968: jis0208<<14 | 0x1F<<7 | 0x5A, - 26060 - 19968: jis0208<<14 | 0x39<<7 | 0x36, - 26062 - 19968: jis0212<<14 | 0x20<<7 | 0x47, - 26063 - 19968: jis0208<<14 | 0x21<<7 | 0x11, - 26064 - 19968: jis0212<<14 | 0x20<<7 | 0x48, - 26066 - 19968: jis0208<<14 | 0x39<<7 | 0x37, - 26068 - 19968: jis0212<<14 | 0x20<<7 | 0x49, - 26070 - 19968: jis0212<<14 | 0x20<<7 | 0x4A, - 26071 - 19968: jis0208<<14 | 0x13<<7 | 0x59, - 26072 - 19968: jis0212<<14 | 0x20<<7 | 0x4B, - 26073 - 19968: jis0208<<14 | 0x39<<7 | 0x39, - 26075 - 19968: jis0208<<14 | 0x39<<7 | 0x38, - 26079 - 19968: jis0212<<14 | 0x20<<7 | 0x4C, - 26080 - 19968: jis0208<<14 | 0x39<<7 | 0x3A, - 26081 - 19968: jis0208<<14 | 0x39<<7 | 0x3B, - 26082 - 19968: jis0208<<14 | 0x13<<7 | 0x5A, - 26085 - 19968: jis0208<<14 | 0x25<<7 | 0x5B, - 26086 - 19968: jis0208<<14 | 0x22<<7 | 0x15, - 26087 - 19968: jis0208<<14 | 0x14<<7 | 0x4B, - 26088 - 19968: jis0208<<14 | 0x1A<<7 | 0x3C, - 26089 - 19968: jis0208<<14 | 0x20<<7 | 0x40, - 26092 - 19968: jis0208<<14 | 0x1C<<7 | 0x3B, - 26093 - 19968: jis0208<<14 | 0x0F<<7 | 0x0F, - 26096 - 19968: jis0212<<14 | 0x20<<7 | 0x4D, - 26097 - 19968: jis0208<<14 | 0x39<<7 | 0x3C, - 26098 - 19968: jis0212<<14 | 0x20<<7 | 0x4E, - 26100 - 19968: jis0212<<14 | 0x20<<7 | 0x4F, - 26101 - 19968: jis0212<<14 | 0x20<<7 | 0x50, - 26105 - 19968: jis0212<<14 | 0x20<<7 | 0x51, - 26106 - 19968: jis0208<<14 | 0x11<<7 | 0x01, - 26107 - 19968: jis0208<<14 | 0x39<<7 | 0x40, - 26110 - 19968: jis0212<<14 | 0x20<<7 | 0x52, - 26111 - 19968: jis0212<<14 | 0x20<<7 | 0x53, - 26112 - 19968: jis0208<<14 | 0x59<<7 | 0x13, - 26114 - 19968: jis0208<<14 | 0x18<<7 | 0x16, - 26115 - 19968: jis0208<<14 | 0x39<<7 | 0x3F, - 26116 - 19968: jis0212<<14 | 0x20<<7 | 0x55, - 26118 - 19968: jis0208<<14 | 0x19<<7 | 0x0A, - 26119 - 19968: jis0208<<14 | 0x1D<<7 | 0x19, - 26120 - 19968: jis0212<<14 | 0x20<<7 | 0x56, - 26121 - 19968: jis0208<<14 | 0x59<<7 | 0x16, - 26122 - 19968: jis0208<<14 | 0x39<<7 | 0x3E, - 26124 - 19968: jis0208<<14 | 0x1D<<7 | 0x1A, - 26125 - 19968: jis0212<<14 | 0x20<<7 | 0x58, - 26126 - 19968: jis0208<<14 | 0x2B<<7 | 0x1F, - 26127 - 19968: jis0208<<14 | 0x19<<7 | 0x09, - 26129 - 19968: jis0212<<14 | 0x20<<7 | 0x59, - 26130 - 19968: jis0212<<14 | 0x20<<7 | 0x5A, - 26131 - 19968: jis0208<<14 | 0x0F<<7 | 0x36, - 26132 - 19968: jis0208<<14 | 0x1F<<7 | 0x2D, - 26133 - 19968: jis0208<<14 | 0x59<<7 | 0x14, - 26134 - 19968: jis0212<<14 | 0x20<<7 | 0x5C, - 26140 - 19968: jis0208<<14 | 0x39<<7 | 0x45, - 26141 - 19968: jis0212<<14 | 0x20<<7 | 0x5D, - 26142 - 19968: jis0208<<14 | 0x59<<7 | 0x18, - 26143 - 19968: jis0208<<14 | 0x1F<<7 | 0x10, - 26144 - 19968: jis0208<<14 | 0x10<<7 | 0x26, - 26145 - 19968: jis0212<<14 | 0x21<<7 | 0x01, - 26146 - 19968: jis0212<<14 | 0x21<<7 | 0x02, - 26147 - 19968: jis0212<<14 | 0x21<<7 | 0x03, - 26148 - 19968: jis0208<<14 | 0x59<<7 | 0x19, - 26149 - 19968: jis0208<<14 | 0x1C<<7 | 0x34, - 26150 - 19968: jis0212<<14 | 0x21<<7 | 0x05, - 26151 - 19968: jis0208<<14 | 0x2A<<7 | 0x45, - 26152 - 19968: jis0208<<14 | 0x19<<7 | 0x51, - 26153 - 19968: jis0212<<14 | 0x21<<7 | 0x06, - 26154 - 19968: jis0212<<14 | 0x21<<7 | 0x07, - 26155 - 19968: jis0212<<14 | 0x21<<7 | 0x08, - 26156 - 19968: jis0212<<14 | 0x21<<7 | 0x09, - 26157 - 19968: jis0208<<14 | 0x1D<<7 | 0x1B, - 26158 - 19968: jis0208<<14 | 0x59<<7 | 0x17, - 26159 - 19968: jis0208<<14 | 0x1F<<7 | 0x06, - 26160 - 19968: jis0212<<14 | 0x21<<7 | 0x0B, - 26161 - 19968: jis0208<<14 | 0x58<<7 | 0x07, - 26163 - 19968: jis0212<<14 | 0x21<<7 | 0x0D, - 26164 - 19968: jis0208<<14 | 0x39<<7 | 0x44, - 26165 - 19968: jis0208<<14 | 0x39<<7 | 0x42, - 26166 - 19968: jis0208<<14 | 0x39<<7 | 0x43, - 26167 - 19968: jis0212<<14 | 0x21<<7 | 0x0F, - 26169 - 19968: jis0212<<14 | 0x21<<7 | 0x0E, - 26171 - 19968: jis0208<<14 | 0x59<<7 | 0x15, - 26172 - 19968: jis0208<<14 | 0x22<<7 | 0x4A, - 26175 - 19968: jis0208<<14 | 0x3A<<7 | 0x05, - 26176 - 19968: jis0212<<14 | 0x21<<7 | 0x10, - 26177 - 19968: jis0208<<14 | 0x39<<7 | 0x49, - 26178 - 19968: jis0208<<14 | 0x1A<<7 | 0x5D, - 26179 - 19968: jis0208<<14 | 0x18<<7 | 0x17, - 26180 - 19968: jis0208<<14 | 0x39<<7 | 0x47, - 26181 - 19968: jis0212<<14 | 0x21<<7 | 0x11, - 26182 - 19968: jis0212<<14 | 0x21<<7 | 0x12, - 26185 - 19968: jis0208<<14 | 0x39<<7 | 0x48, - 26186 - 19968: jis0212<<14 | 0x21<<7 | 0x13, - 26187 - 19968: jis0208<<14 | 0x1E<<7 | 0x17, - 26188 - 19968: jis0212<<14 | 0x21<<7 | 0x14, - 26190 - 19968: jis0212<<14 | 0x21<<7 | 0x16, - 26191 - 19968: jis0208<<14 | 0x39<<7 | 0x46, - 26193 - 19968: jis0212<<14 | 0x21<<7 | 0x15, - 26194 - 19968: jis0208<<14 | 0x1A<<7 | 0x0E, - 26199 - 19968: jis0208<<14 | 0x59<<7 | 0x1B, - 26200 - 19968: jis0212<<14 | 0x21<<7 | 0x18, - 26201 - 19968: jis0208<<14 | 0x59<<7 | 0x1C, - 26203 - 19968: jis0212<<14 | 0x21<<7 | 0x1A, - 26204 - 19968: jis0212<<14 | 0x21<<7 | 0x1B, - 26205 - 19968: jis0208<<14 | 0x39<<7 | 0x4B, - 26206 - 19968: jis0208<<14 | 0x39<<7 | 0x4A, - 26207 - 19968: jis0208<<14 | 0x39<<7 | 0x4F, - 26208 - 19968: jis0212<<14 | 0x21<<7 | 0x1C, - 26209 - 19968: jis0212<<14 | 0x21<<7 | 0x1D, - 26210 - 19968: jis0208<<14 | 0x39<<7 | 0x50, - 26212 - 19968: jis0208<<14 | 0x39<<7 | 0x4C, - 26213 - 19968: jis0208<<14 | 0x59<<7 | 0x1A, - 26214 - 19968: jis0208<<14 | 0x12<<7 | 0x01, - 26215 - 19968: jis0208<<14 | 0x39<<7 | 0x4D, - 26216 - 19968: jis0208<<14 | 0x39<<7 | 0x4E, - 26217 - 19968: jis0208<<14 | 0x27<<7 | 0x34, - 26218 - 19968: jis0212<<14 | 0x21<<7 | 0x1F, - 26219 - 19968: jis0212<<14 | 0x21<<7 | 0x20, - 26220 - 19968: jis0212<<14 | 0x21<<7 | 0x21, - 26222 - 19968: jis0208<<14 | 0x28<<7 | 0x40, - 26223 - 19968: jis0208<<14 | 0x16<<7 | 0x29, - 26224 - 19968: jis0208<<14 | 0x39<<7 | 0x51, - 26227 - 19968: jis0208<<14 | 0x59<<7 | 0x1E, - 26228 - 19968: jis0208<<14 | 0x1F<<7 | 0x11, - 26229 - 19968: jis0212<<14 | 0x21<<7 | 0x24, - 26230 - 19968: jis0208<<14 | 0x1D<<7 | 0x1C, - 26231 - 19968: jis0212<<14 | 0x21<<7 | 0x26, - 26232 - 19968: jis0212<<14 | 0x21<<7 | 0x27, - 26233 - 19968: jis0212<<14 | 0x21<<7 | 0x28, - 26234 - 19968: jis0208<<14 | 0x22<<7 | 0x31, - 26235 - 19968: jis0212<<14 | 0x21<<7 | 0x29, - 26236 - 19968: jis0212<<14 | 0x21<<7 | 0x2B, - 26238 - 19968: jis0212<<14 | 0x21<<7 | 0x22, - 26239 - 19968: jis0212<<14 | 0x21<<7 | 0x25, - 26240 - 19968: jis0212<<14 | 0x21<<7 | 0x2A, - 26241 - 19968: jis0208<<14 | 0x15<<7 | 0x26, - 26243 - 19968: jis0208<<14 | 0x39<<7 | 0x52, - 26244 - 19968: jis0208<<14 | 0x39<<7 | 0x56, - 26247 - 19968: jis0208<<14 | 0x11<<7 | 0x2A, - 26248 - 19968: jis0208<<14 | 0x39<<7 | 0x53, - 26249 - 19968: jis0208<<14 | 0x39<<7 | 0x55, - 26251 - 19968: jis0212<<14 | 0x21<<7 | 0x2C, - 26252 - 19968: jis0212<<14 | 0x21<<7 | 0x2D, - 26253 - 19968: jis0212<<14 | 0x21<<7 | 0x2E, - 26254 - 19968: jis0208<<14 | 0x39<<7 | 0x54, - 26256 - 19968: jis0212<<14 | 0x21<<7 | 0x2F, - 26257 - 19968: jis0208<<14 | 0x1C<<7 | 0x4A, - 26258 - 19968: jis0212<<14 | 0x21<<7 | 0x30, - 26262 - 19968: jis0208<<14 | 0x22<<7 | 0x27, - 26263 - 19968: jis0208<<14 | 0x0F<<7 | 0x24, - 26264 - 19968: jis0208<<14 | 0x39<<7 | 0x57, - 26265 - 19968: jis0208<<14 | 0x59<<7 | 0x1F, - 26266 - 19968: jis0212<<14 | 0x21<<7 | 0x32, - 26267 - 19968: jis0212<<14 | 0x21<<7 | 0x33, - 26268 - 19968: jis0212<<14 | 0x21<<7 | 0x34, - 26269 - 19968: jis0208<<14 | 0x39<<7 | 0x58, - 26271 - 19968: jis0212<<14 | 0x21<<7 | 0x35, - 26272 - 19968: jis0208<<14 | 0x59<<7 | 0x20, - 26274 - 19968: jis0208<<14 | 0x23<<7 | 0x09, - 26276 - 19968: jis0212<<14 | 0x21<<7 | 0x37, - 26278 - 19968: jis0208<<14 | 0x2D<<7 | 0x50, - 26283 - 19968: jis0208<<14 | 0x1A<<7 | 0x22, - 26285 - 19968: jis0212<<14 | 0x21<<7 | 0x38, - 26286 - 19968: jis0208<<14 | 0x29<<7 | 0x4A, - 26289 - 19968: jis0212<<14 | 0x21<<7 | 0x39, - 26290 - 19968: jis0208<<14 | 0x59<<7 | 0x21, - 26292 - 19968: jis0208<<14 | 0x2A<<7 | 0x1C, - 26293 - 19968: jis0212<<14 | 0x21<<7 | 0x3B, - 26296 - 19968: jis0208<<14 | 0x3A<<7 | 0x01, - 26297 - 19968: jis0208<<14 | 0x39<<7 | 0x5A, - 26299 - 19968: jis0212<<14 | 0x21<<7 | 0x3C, - 26300 - 19968: jis0208<<14 | 0x39<<7 | 0x5D, - 26302 - 19968: jis0208<<14 | 0x39<<7 | 0x5C, - 26303 - 19968: jis0208<<14 | 0x59<<7 | 0x22, - 26304 - 19968: jis0212<<14 | 0x21<<7 | 0x3E, - 26305 - 19968: jis0208<<14 | 0x39<<7 | 0x59, - 26306 - 19968: jis0212<<14 | 0x21<<7 | 0x3F, - 26307 - 19968: jis0212<<14 | 0x21<<7 | 0x40, - 26308 - 19968: jis0208<<14 | 0x3A<<7 | 0x00, - 26311 - 19968: jis0208<<14 | 0x25<<7 | 0x3D, - 26312 - 19968: jis0212<<14 | 0x21<<7 | 0x41, - 26313 - 19968: jis0208<<14 | 0x39<<7 | 0x5B, - 26316 - 19968: jis0212<<14 | 0x21<<7 | 0x42, - 26318 - 19968: jis0212<<14 | 0x21<<7 | 0x43, - 26319 - 19968: jis0212<<14 | 0x21<<7 | 0x44, - 26324 - 19968: jis0212<<14 | 0x21<<7 | 0x45, - 26326 - 19968: jis0208<<14 | 0x3A<<7 | 0x02, - 26329 - 19968: jis0208<<14 | 0x1C<<7 | 0x4B, - 26330 - 19968: jis0208<<14 | 0x3A<<7 | 0x03, - 26331 - 19968: jis0212<<14 | 0x21<<7 | 0x46, - 26332 - 19968: jis0208<<14 | 0x2C<<7 | 0x2A, - 26333 - 19968: jis0208<<14 | 0x26<<7 | 0x57, - 26335 - 19968: jis0212<<14 | 0x21<<7 | 0x47, - 26336 - 19968: jis0208<<14 | 0x3A<<7 | 0x04, - 26342 - 19968: jis0208<<14 | 0x3A<<7 | 0x06, - 26344 - 19968: jis0212<<14 | 0x21<<7 | 0x48, - 26345 - 19968: jis0208<<14 | 0x3A<<7 | 0x07, - 26347 - 19968: jis0212<<14 | 0x21<<7 | 0x49, - 26348 - 19968: jis0212<<14 | 0x21<<7 | 0x4A, - 26350 - 19968: jis0212<<14 | 0x21<<7 | 0x4B, - 26352 - 19968: jis0208<<14 | 0x3A<<7 | 0x08, - 26354 - 19968: jis0208<<14 | 0x15<<7 | 0x29, - 26355 - 19968: jis0208<<14 | 0x10<<7 | 0x27, - 26356 - 19968: jis0208<<14 | 0x18<<7 | 0x18, - 26357 - 19968: jis0208<<14 | 0x3A<<7 | 0x09, - 26359 - 19968: jis0208<<14 | 0x3A<<7 | 0x0A, - 26360 - 19968: jis0208<<14 | 0x1C<<7 | 0x50, - 26361 - 19968: jis0208<<14 | 0x20<<7 | 0x41, - 26362 - 19968: jis0208<<14 | 0x59<<7 | 0x23, - 26363 - 19968: jis0208<<14 | 0x58<<7 | 0x0A, - 26364 - 19968: jis0208<<14 | 0x31<<7 | 0x37, - 26365 - 19968: jis0208<<14 | 0x20<<7 | 0x1D, - 26366 - 19968: jis0208<<14 | 0x20<<7 | 0x1C, - 26367 - 19968: jis0208<<14 | 0x21<<7 | 0x37, - 26368 - 19968: jis0208<<14 | 0x19<<7 | 0x26, - 26371 - 19968: jis0208<<14 | 0x2F<<7 | 0x51, - 26373 - 19968: jis0212<<14 | 0x21<<7 | 0x4D, - 26375 - 19968: jis0212<<14 | 0x21<<7 | 0x4E, - 26376 - 19968: jis0208<<14 | 0x16<<7 | 0x4D, - 26377 - 19968: jis0208<<14 | 0x2C<<7 | 0x0C, - 26379 - 19968: jis0208<<14 | 0x29<<7 | 0x5D, - 26381 - 19968: jis0208<<14 | 0x28<<7 | 0x5D, - 26382 - 19968: jis0208<<14 | 0x59<<7 | 0x24, - 26383 - 19968: jis0208<<14 | 0x3A<<7 | 0x0B, - 26387 - 19968: jis0212<<14 | 0x21<<7 | 0x50, - 26388 - 19968: jis0208<<14 | 0x19<<7 | 0x52, - 26389 - 19968: jis0208<<14 | 0x23<<7 | 0x1E, - 26390 - 19968: jis0208<<14 | 0x3A<<7 | 0x0C, - 26391 - 19968: jis0208<<14 | 0x2E<<7 | 0x0E, - 26393 - 19968: jis0212<<14 | 0x21<<7 | 0x51, - 26395 - 19968: jis0208<<14 | 0x2A<<7 | 0x1D, - 26396 - 19968: jis0212<<14 | 0x21<<7 | 0x52, - 26397 - 19968: jis0208<<14 | 0x23<<7 | 0x0A, - 26398 - 19968: jis0208<<14 | 0x3A<<7 | 0x0D, - 26399 - 19968: jis0208<<14 | 0x13<<7 | 0x5B, - 26400 - 19968: jis0212<<14 | 0x21<<7 | 0x53, - 26402 - 19968: jis0212<<14 | 0x21<<7 | 0x54, - 26406 - 19968: jis0208<<14 | 0x3A<<7 | 0x0E, - 26407 - 19968: jis0208<<14 | 0x3A<<7 | 0x0F, - 26408 - 19968: jis0208<<14 | 0x2B<<7 | 0x39, - 26410 - 19968: jis0208<<14 | 0x2B<<7 | 0x03, - 26411 - 19968: jis0208<<14 | 0x2A<<7 | 0x55, - 26412 - 19968: jis0208<<14 | 0x2A<<7 | 0x3B, - 26413 - 19968: jis0208<<14 | 0x1A<<7 | 0x04, - 26414 - 19968: jis0208<<14 | 0x3A<<7 | 0x11, - 26417 - 19968: jis0208<<14 | 0x1B<<7 | 0x4A, - 26419 - 19968: jis0212<<14 | 0x21<<7 | 0x55, - 26420 - 19968: jis0208<<14 | 0x2A<<7 | 0x30, - 26422 - 19968: jis0208<<14 | 0x3A<<7 | 0x13, - 26423 - 19968: jis0208<<14 | 0x3A<<7 | 0x16, - 26424 - 19968: jis0208<<14 | 0x3A<<7 | 0x15, - 26426 - 19968: jis0208<<14 | 0x13<<7 | 0x58, - 26429 - 19968: jis0208<<14 | 0x14<<7 | 0x3F, - 26430 - 19968: jis0212<<14 | 0x21<<7 | 0x56, - 26431 - 19968: jis0208<<14 | 0x3A<<7 | 0x12, - 26433 - 19968: jis0208<<14 | 0x3A<<7 | 0x14, - 26437 - 19968: jis0212<<14 | 0x21<<7 | 0x57, - 26438 - 19968: jis0208<<14 | 0x3A<<7 | 0x17, - 26439 - 19968: jis0212<<14 | 0x21<<7 | 0x58, - 26440 - 19968: jis0212<<14 | 0x21<<7 | 0x59, - 26441 - 19968: jis0208<<14 | 0x1E<<7 | 0x58, - 26444 - 19968: jis0212<<14 | 0x21<<7 | 0x5A, - 26446 - 19968: jis0208<<14 | 0x2C<<7 | 0x5A, - 26447 - 19968: jis0208<<14 | 0x0F<<7 | 0x28, - 26448 - 19968: jis0208<<14 | 0x19<<7 | 0x3F, - 26449 - 19968: jis0208<<14 | 0x21<<7 | 0x1B, - 26451 - 19968: jis0208<<14 | 0x1B<<7 | 0x3C, - 26452 - 19968: jis0212<<14 | 0x21<<7 | 0x5B, - 26453 - 19968: jis0212<<14 | 0x21<<7 | 0x5C, - 26454 - 19968: jis0208<<14 | 0x1D<<7 | 0x52, - 26457 - 19968: jis0208<<14 | 0x3A<<7 | 0x1A, - 26460 - 19968: jis0208<<14 | 0x24<<7 | 0x2D, - 26461 - 19968: jis0212<<14 | 0x21<<7 | 0x5D, - 26462 - 19968: jis0208<<14 | 0x3A<<7 | 0x18, - 26463 - 19968: jis0208<<14 | 0x21<<7 | 0x0A, - 26464 - 19968: jis0208<<14 | 0x3A<<7 | 0x19, - 26465 - 19968: jis0208<<14 | 0x1D<<7 | 0x51, - 26466 - 19968: jis0208<<14 | 0x2B<<7 | 0x3C, - 26467 - 19968: jis0208<<14 | 0x3A<<7 | 0x1B, - 26468 - 19968: jis0208<<14 | 0x3A<<7 | 0x1C, - 26469 - 19968: jis0208<<14 | 0x2C<<7 | 0x47, - 26470 - 19968: jis0208<<14 | 0x59<<7 | 0x26, - 26474 - 19968: jis0208<<14 | 0x3A<<7 | 0x21, - 26476 - 19968: jis0212<<14 | 0x22<<7 | 0x01, - 26477 - 19968: jis0208<<14 | 0x18<<7 | 0x19, - 26478 - 19968: jis0212<<14 | 0x22<<7 | 0x02, - 26479 - 19968: jis0208<<14 | 0x26<<7 | 0x34, - 26480 - 19968: jis0208<<14 | 0x3A<<7 | 0x1E, - 26481 - 19968: jis0208<<14 | 0x24<<7 | 0x4B, - 26482 - 19968: jis0208<<14 | 0x39<<7 | 0x3D, - 26483 - 19968: jis0208<<14 | 0x39<<7 | 0x41, - 26484 - 19968: jis0212<<14 | 0x22<<7 | 0x03, - 26485 - 19968: jis0208<<14 | 0x14<<7 | 0x2E, - 26486 - 19968: jis0212<<14 | 0x22<<7 | 0x04, - 26487 - 19968: jis0208<<14 | 0x26<<7 | 0x26, - 26491 - 19968: jis0212<<14 | 0x22<<7 | 0x05, - 26492 - 19968: jis0208<<14 | 0x3A<<7 | 0x20, - 26494 - 19968: jis0208<<14 | 0x1D<<7 | 0x1D, - 26495 - 19968: jis0208<<14 | 0x27<<7 | 0x23, - 26497 - 19968: jis0212<<14 | 0x22<<7 | 0x06, - 26500 - 19968: jis0212<<14 | 0x22<<7 | 0x07, - 26501 - 19968: jis0208<<14 | 0x3A<<7 | 0x26, - 26503 - 19968: jis0208<<14 | 0x27<<7 | 0x59, - 26505 - 19968: jis0208<<14 | 0x3A<<7 | 0x1D, - 26507 - 19968: jis0208<<14 | 0x3A<<7 | 0x23, - 26508 - 19968: jis0208<<14 | 0x3A<<7 | 0x22, - 26510 - 19968: jis0212<<14 | 0x22<<7 | 0x08, - 26511 - 19968: jis0212<<14 | 0x22<<7 | 0x09, - 26512 - 19968: jis0208<<14 | 0x1F<<7 | 0x2E, - 26513 - 19968: jis0212<<14 | 0x22<<7 | 0x0A, - 26515 - 19968: jis0212<<14 | 0x22<<7 | 0x0B, - 26517 - 19968: jis0208<<14 | 0x2A<<7 | 0x4C, - 26518 - 19968: jis0212<<14 | 0x22<<7 | 0x0C, - 26519 - 19968: jis0208<<14 | 0x2D<<7 | 0x32, - 26520 - 19968: jis0212<<14 | 0x22<<7 | 0x0D, - 26521 - 19968: jis0212<<14 | 0x22<<7 | 0x0E, - 26522 - 19968: jis0208<<14 | 0x2A<<7 | 0x46, - 26523 - 19968: jis0212<<14 | 0x22<<7 | 0x0F, - 26524 - 19968: jis0208<<14 | 0x11<<7 | 0x2B, - 26525 - 19968: jis0208<<14 | 0x1A<<7 | 0x3D, - 26528 - 19968: jis0208<<14 | 0x2E<<7 | 0x27, - 26529 - 19968: jis0208<<14 | 0x3A<<7 | 0x25, - 26530 - 19968: jis0208<<14 | 0x1E<<7 | 0x54, - 26534 - 19968: jis0208<<14 | 0x3A<<7 | 0x24, - 26537 - 19968: jis0208<<14 | 0x3A<<7 | 0x1F, - 26543 - 19968: jis0208<<14 | 0x17<<7 | 0x2E, - 26544 - 19968: jis0212<<14 | 0x22<<7 | 0x10, - 26545 - 19968: jis0212<<14 | 0x22<<7 | 0x11, - 26546 - 19968: jis0212<<14 | 0x22<<7 | 0x12, - 26547 - 19968: jis0208<<14 | 0x3A<<7 | 0x2B, - 26548 - 19968: jis0208<<14 | 0x3A<<7 | 0x29, - 26549 - 19968: jis0212<<14 | 0x22<<7 | 0x13, - 26550 - 19968: jis0208<<14 | 0x11<<7 | 0x2C, - 26551 - 19968: jis0208<<14 | 0x3A<<7 | 0x27, - 26552 - 19968: jis0208<<14 | 0x3A<<7 | 0x2D, - 26553 - 19968: jis0208<<14 | 0x3A<<7 | 0x33, - 26555 - 19968: jis0208<<14 | 0x59<<7 | 0x27, - 26556 - 19968: jis0212<<14 | 0x22<<7 | 0x15, - 26557 - 19968: jis0212<<14 | 0x22<<7 | 0x16, - 26560 - 19968: jis0208<<14 | 0x59<<7 | 0x29, - 26561 - 19968: jis0208<<14 | 0x21<<7 | 0x27, - 26562 - 19968: jis0212<<14 | 0x22<<7 | 0x19, - 26563 - 19968: jis0212<<14 | 0x22<<7 | 0x1A, - 26564 - 19968: jis0208<<14 | 0x29<<7 | 0x20, - 26565 - 19968: jis0212<<14 | 0x22<<7 | 0x1B, - 26566 - 19968: jis0208<<14 | 0x3A<<7 | 0x35, - 26568 - 19968: jis0212<<14 | 0x22<<7 | 0x1C, - 26569 - 19968: jis0212<<14 | 0x22<<7 | 0x1D, - 26570 - 19968: jis0208<<14 | 0x28<<7 | 0x01, - 26574 - 19968: jis0208<<14 | 0x3A<<7 | 0x34, - 26575 - 19968: jis0208<<14 | 0x26<<7 | 0x4F, - 26576 - 19968: jis0208<<14 | 0x2A<<7 | 0x1E, - 26577 - 19968: jis0208<<14 | 0x13<<7 | 0x1A, - 26578 - 19968: jis0212<<14 | 0x22<<7 | 0x1E, - 26579 - 19968: jis0208<<14 | 0x1F<<7 | 0x56, - 26580 - 19968: jis0208<<14 | 0x1C<<7 | 0x1F, - 26583 - 19968: jis0212<<14 | 0x22<<7 | 0x1F, - 26584 - 19968: jis0208<<14 | 0x23<<7 | 0x32, - 26585 - 19968: jis0212<<14 | 0x22<<7 | 0x20, - 26586 - 19968: jis0208<<14 | 0x2C<<7 | 0x0D, - 26588 - 19968: jis0212<<14 | 0x22<<7 | 0x21, - 26589 - 19968: jis0208<<14 | 0x3A<<7 | 0x30, - 26590 - 19968: jis0208<<14 | 0x3A<<7 | 0x2F, - 26593 - 19968: jis0212<<14 | 0x22<<7 | 0x22, - 26594 - 19968: jis0208<<14 | 0x3A<<7 | 0x31, - 26596 - 19968: jis0208<<14 | 0x3A<<7 | 0x2E, - 26598 - 19968: jis0212<<14 | 0x22<<7 | 0x23, - 26599 - 19968: jis0208<<14 | 0x3A<<7 | 0x36, - 26601 - 19968: jis0208<<14 | 0x3A<<7 | 0x2C, - 26604 - 19968: jis0208<<14 | 0x3A<<7 | 0x2A, - 26606 - 19968: jis0208<<14 | 0x3A<<7 | 0x32, - 26607 - 19968: jis0208<<14 | 0x3A<<7 | 0x28, - 26608 - 19968: jis0212<<14 | 0x22<<7 | 0x24, - 26609 - 19968: jis0208<<14 | 0x22<<7 | 0x4B, - 26610 - 19968: jis0212<<14 | 0x22<<7 | 0x25, - 26611 - 19968: jis0208<<14 | 0x2B<<7 | 0x57, - 26612 - 19968: jis0208<<14 | 0x1B<<7 | 0x25, - 26613 - 19968: jis0208<<14 | 0x19<<7 | 0x53, - 26614 - 19968: jis0212<<14 | 0x22<<7 | 0x26, - 26615 - 19968: jis0212<<14 | 0x22<<7 | 0x27, - 26617 - 19968: jis0212<<14 | 0x22<<7 | 0x17, - 26619 - 19968: jis0208<<14 | 0x19<<7 | 0x19, - 26622 - 19968: jis0208<<14 | 0x2A<<7 | 0x4E, - 26623 - 19968: jis0208<<14 | 0x12<<7 | 0x20, - 26625 - 19968: jis0208<<14 | 0x59<<7 | 0x2A, - 26626 - 19968: jis0208<<14 | 0x23<<7 | 0x2D, - 26627 - 19968: jis0208<<14 | 0x25<<7 | 0x29, - 26628 - 19968: jis0208<<14 | 0x10<<7 | 0x28, - 26643 - 19968: jis0208<<14 | 0x1F<<7 | 0x51, - 26644 - 19968: jis0212<<14 | 0x22<<7 | 0x29, - 26646 - 19968: jis0208<<14 | 0x1F<<7 | 0x13, - 26647 - 19968: jis0208<<14 | 0x16<<7 | 0x09, - 26649 - 19968: jis0212<<14 | 0x22<<7 | 0x2A, - 26653 - 19968: jis0212<<14 | 0x22<<7 | 0x2B, - 26654 - 19968: jis0208<<14 | 0x3A<<7 | 0x38, - 26655 - 19968: jis0212<<14 | 0x22<<7 | 0x2C, - 26657 - 19968: jis0208<<14 | 0x18<<7 | 0x1A, - 26658 - 19968: jis0208<<14 | 0x12<<7 | 0x5B, - 26663 - 19968: jis0212<<14 | 0x22<<7 | 0x2E, - 26664 - 19968: jis0212<<14 | 0x22<<7 | 0x2D, - 26665 - 19968: jis0208<<14 | 0x3A<<7 | 0x3A, - 26666 - 19968: jis0208<<14 | 0x12<<7 | 0x53, - 26667 - 19968: jis0208<<14 | 0x3A<<7 | 0x40, - 26668 - 19968: jis0212<<14 | 0x22<<7 | 0x2F, - 26669 - 19968: jis0212<<14 | 0x22<<7 | 0x30, - 26671 - 19968: jis0212<<14 | 0x22<<7 | 0x31, - 26672 - 19968: jis0212<<14 | 0x22<<7 | 0x32, - 26673 - 19968: jis0212<<14 | 0x22<<7 | 0x33, - 26674 - 19968: jis0208<<14 | 0x3A<<7 | 0x3D, - 26675 - 19968: jis0212<<14 | 0x22<<7 | 0x34, - 26676 - 19968: jis0208<<14 | 0x1F<<7 | 0x52, - 26680 - 19968: jis0208<<14 | 0x12<<7 | 0x2A, - 26681 - 19968: jis0208<<14 | 0x19<<7 | 0x0B, - 26683 - 19968: jis0212<<14 | 0x22<<7 | 0x35, - 26684 - 19968: jis0208<<14 | 0x12<<7 | 0x29, - 26685 - 19968: jis0208<<14 | 0x19<<7 | 0x2E, - 26687 - 19968: jis0212<<14 | 0x22<<7 | 0x36, - 26688 - 19968: jis0208<<14 | 0x3A<<7 | 0x3B, - 26689 - 19968: jis0208<<14 | 0x16<<7 | 0x44, - 26690 - 19968: jis0208<<14 | 0x16<<7 | 0x2A, - 26691 - 19968: jis0208<<14 | 0x24<<7 | 0x4C, - 26692 - 19968: jis0208<<14 | 0x59<<7 | 0x2B, - 26693 - 19968: jis0212<<14 | 0x22<<7 | 0x38, - 26694 - 19968: jis0208<<14 | 0x3A<<7 | 0x39, - 26696 - 19968: jis0208<<14 | 0x0F<<7 | 0x25, - 26698 - 19968: jis0212<<14 | 0x22<<7 | 0x39, - 26700 - 19968: jis0212<<14 | 0x22<<7 | 0x3A, - 26701 - 19968: jis0208<<14 | 0x3A<<7 | 0x3C, - 26702 - 19968: jis0208<<14 | 0x3A<<7 | 0x3E, - 26704 - 19968: jis0208<<14 | 0x15<<7 | 0x2C, - 26705 - 19968: jis0208<<14 | 0x16<<7 | 0x0B, - 26706 - 19968: jis0208<<14 | 0x59<<7 | 0x28, - 26707 - 19968: jis0208<<14 | 0x13<<7 | 0x1B, - 26708 - 19968: jis0208<<14 | 0x14<<7 | 0x2A, - 26709 - 19968: jis0212<<14 | 0x22<<7 | 0x3B, - 26711 - 19968: jis0212<<14 | 0x22<<7 | 0x3C, - 26712 - 19968: jis0212<<14 | 0x22<<7 | 0x3D, - 26713 - 19968: jis0208<<14 | 0x3A<<7 | 0x41, - 26715 - 19968: jis0212<<14 | 0x22<<7 | 0x3E, - 26716 - 19968: jis0208<<14 | 0x19<<7 | 0x58, - 26717 - 19968: jis0208<<14 | 0x2A<<7 | 0x50, - 26719 - 19968: jis0208<<14 | 0x1A<<7 | 0x16, - 26723 - 19968: jis0208<<14 | 0x3A<<7 | 0x42, - 26727 - 19968: jis0208<<14 | 0x28<<7 | 0x0F, - 26731 - 19968: jis0212<<14 | 0x22<<7 | 0x3F, - 26734 - 19968: jis0212<<14 | 0x22<<7 | 0x40, - 26735 - 19968: jis0212<<14 | 0x22<<7 | 0x41, - 26736 - 19968: jis0212<<14 | 0x22<<7 | 0x42, - 26737 - 19968: jis0212<<14 | 0x22<<7 | 0x43, - 26738 - 19968: jis0212<<14 | 0x22<<7 | 0x44, - 26740 - 19968: jis0208<<14 | 0x3A<<7 | 0x4E, - 26741 - 19968: jis0212<<14 | 0x22<<7 | 0x45, - 26742 - 19968: jis0208<<14 | 0x11<<7 | 0x12, - 26743 - 19968: jis0208<<14 | 0x3A<<7 | 0x43, - 26745 - 19968: jis0212<<14 | 0x22<<7 | 0x46, - 26746 - 19968: jis0212<<14 | 0x22<<7 | 0x47, - 26747 - 19968: jis0212<<14 | 0x22<<7 | 0x48, - 26748 - 19968: jis0212<<14 | 0x22<<7 | 0x49, - 26750 - 19968: jis0208<<14 | 0x3A<<7 | 0x54, - 26751 - 19968: jis0208<<14 | 0x3A<<7 | 0x44, - 26753 - 19968: jis0208<<14 | 0x2D<<7 | 0x21, - 26754 - 19968: jis0212<<14 | 0x22<<7 | 0x4A, - 26755 - 19968: jis0208<<14 | 0x3A<<7 | 0x4B, - 26756 - 19968: jis0212<<14 | 0x22<<7 | 0x4B, - 26757 - 19968: jis0208<<14 | 0x26<<7 | 0x3E, - 26758 - 19968: jis0212<<14 | 0x22<<7 | 0x4C, - 26760 - 19968: jis0212<<14 | 0x22<<7 | 0x4D, - 26765 - 19968: jis0208<<14 | 0x3A<<7 | 0x53, - 26767 - 19968: jis0208<<14 | 0x3A<<7 | 0x46, - 26771 - 19968: jis0208<<14 | 0x0F<<7 | 0x13, - 26772 - 19968: jis0208<<14 | 0x3A<<7 | 0x48, - 26774 - 19968: jis0212<<14 | 0x22<<7 | 0x4E, - 26775 - 19968: jis0208<<14 | 0x18<<7 | 0x1B, - 26776 - 19968: jis0212<<14 | 0x22<<7 | 0x4F, - 26778 - 19968: jis0212<<14 | 0x22<<7 | 0x50, - 26779 - 19968: jis0208<<14 | 0x3A<<7 | 0x4A, - 26780 - 19968: jis0212<<14 | 0x22<<7 | 0x51, - 26781 - 19968: jis0208<<14 | 0x3A<<7 | 0x49, - 26783 - 19968: jis0208<<14 | 0x3A<<7 | 0x45, - 26784 - 19968: jis0208<<14 | 0x3A<<7 | 0x50, - 26785 - 19968: jis0212<<14 | 0x22<<7 | 0x52, - 26786 - 19968: jis0208<<14 | 0x1D<<7 | 0x1E, - 26787 - 19968: jis0212<<14 | 0x22<<7 | 0x53, - 26789 - 19968: jis0212<<14 | 0x22<<7 | 0x54, - 26790 - 19968: jis0208<<14 | 0x33<<7 | 0x4C, - 26791 - 19968: jis0208<<14 | 0x17<<7 | 0x47, - 26792 - 19968: jis0208<<14 | 0x2C<<7 | 0x5B, - 26793 - 19968: jis0212<<14 | 0x22<<7 | 0x55, - 26794 - 19968: jis0212<<14 | 0x22<<7 | 0x56, - 26797 - 19968: jis0208<<14 | 0x3A<<7 | 0x47, - 26798 - 19968: jis0212<<14 | 0x22<<7 | 0x57, - 26799 - 19968: jis0208<<14 | 0x23<<7 | 0x53, - 26800 - 19968: jis0208<<14 | 0x12<<7 | 0x02, - 26801 - 19968: jis0208<<14 | 0x19<<7 | 0x0C, - 26802 - 19968: jis0212<<14 | 0x22<<7 | 0x58, - 26803 - 19968: jis0208<<14 | 0x3A<<7 | 0x3F, - 26805 - 19968: jis0208<<14 | 0x3A<<7 | 0x4F, - 26806 - 19968: jis0208<<14 | 0x12<<7 | 0x40, - 26809 - 19968: jis0208<<14 | 0x3A<<7 | 0x4D, - 26810 - 19968: jis0208<<14 | 0x3A<<7 | 0x51, - 26811 - 19968: jis0212<<14 | 0x22<<7 | 0x59, - 26812 - 19968: jis0208<<14 | 0x24<<7 | 0x4D, - 26820 - 19968: jis0208<<14 | 0x13<<7 | 0x5D, - 26821 - 19968: jis0212<<14 | 0x22<<7 | 0x5A, - 26822 - 19968: jis0208<<14 | 0x3B<<7 | 0x11, - 26824 - 19968: jis0208<<14 | 0x58<<7 | 0x08, - 26825 - 19968: jis0208<<14 | 0x2B<<7 | 0x28, - 26826 - 19968: jis0208<<14 | 0x3A<<7 | 0x56, - 26827 - 19968: jis0208<<14 | 0x13<<7 | 0x5C, - 26828 - 19968: jis0212<<14 | 0x22<<7 | 0x5C, - 26829 - 19968: jis0208<<14 | 0x3A<<7 | 0x5D, - 26831 - 19968: jis0208<<14 | 0x59<<7 | 0x2C, - 26832 - 19968: jis0212<<14 | 0x23<<7 | 0x00, - 26833 - 19968: jis0212<<14 | 0x23<<7 | 0x01, - 26834 - 19968: jis0208<<14 | 0x2A<<7 | 0x1F, - 26835 - 19968: jis0212<<14 | 0x23<<7 | 0x02, - 26836 - 19968: jis0208<<14 | 0x3B<<7 | 0x00, - 26837 - 19968: jis0208<<14 | 0x3B<<7 | 0x02, - 26838 - 19968: jis0212<<14 | 0x23<<7 | 0x03, - 26839 - 19968: jis0208<<14 | 0x3B<<7 | 0x06, - 26840 - 19968: jis0208<<14 | 0x3A<<7 | 0x58, - 26841 - 19968: jis0212<<14 | 0x23<<7 | 0x04, - 26842 - 19968: jis0208<<14 | 0x22<<7 | 0x09, - 26844 - 19968: jis0212<<14 | 0x23<<7 | 0x05, - 26845 - 19968: jis0212<<14 | 0x23<<7 | 0x06, - 26847 - 19968: jis0208<<14 | 0x24<<7 | 0x4E, - 26848 - 19968: jis0208<<14 | 0x3B<<7 | 0x0A, - 26849 - 19968: jis0208<<14 | 0x3A<<7 | 0x5B, - 26851 - 19968: jis0208<<14 | 0x3B<<7 | 0x07, - 26853 - 19968: jis0212<<14 | 0x23<<7 | 0x07, - 26855 - 19968: jis0208<<14 | 0x3B<<7 | 0x01, - 26856 - 19968: jis0212<<14 | 0x23<<7 | 0x08, - 26858 - 19968: jis0212<<14 | 0x23<<7 | 0x09, - 26859 - 19968: jis0212<<14 | 0x23<<7 | 0x0A, - 26860 - 19968: jis0212<<14 | 0x23<<7 | 0x0B, - 26861 - 19968: jis0212<<14 | 0x23<<7 | 0x0C, - 26862 - 19968: jis0208<<14 | 0x1E<<7 | 0x18, - 26863 - 19968: jis0208<<14 | 0x3B<<7 | 0x0B, - 26864 - 19968: jis0212<<14 | 0x23<<7 | 0x0D, - 26865 - 19968: jis0212<<14 | 0x23<<7 | 0x0E, - 26866 - 19968: jis0208<<14 | 0x1F<<7 | 0x12, - 26869 - 19968: jis0212<<14 | 0x23<<7 | 0x0F, - 26870 - 19968: jis0212<<14 | 0x23<<7 | 0x10, - 26873 - 19968: jis0208<<14 | 0x3B<<7 | 0x09, - 26874 - 19968: jis0208<<14 | 0x13<<7 | 0x1C, - 26875 - 19968: jis0212<<14 | 0x23<<7 | 0x11, - 26876 - 19968: jis0212<<14 | 0x23<<7 | 0x12, - 26877 - 19968: jis0212<<14 | 0x23<<7 | 0x13, - 26880 - 19968: jis0208<<14 | 0x2E<<7 | 0x2F, - 26881 - 19968: jis0208<<14 | 0x3A<<7 | 0x55, - 26884 - 19968: jis0208<<14 | 0x3B<<7 | 0x05, - 26885 - 19968: jis0208<<14 | 0x0F<<7 | 0x37, - 26886 - 19968: jis0212<<14 | 0x23<<7 | 0x14, - 26888 - 19968: jis0208<<14 | 0x3A<<7 | 0x57, - 26889 - 19968: jis0212<<14 | 0x23<<7 | 0x15, - 26890 - 19968: jis0212<<14 | 0x23<<7 | 0x16, - 26891 - 19968: jis0208<<14 | 0x2B<<7 | 0x19, - 26892 - 19968: jis0208<<14 | 0x3A<<7 | 0x5C, - 26893 - 19968: jis0208<<14 | 0x1E<<7 | 0x01, - 26894 - 19968: jis0208<<14 | 0x23<<7 | 0x26, - 26895 - 19968: jis0208<<14 | 0x3A<<7 | 0x52, - 26896 - 19968: jis0212<<14 | 0x23<<7 | 0x17, - 26897 - 19968: jis0212<<14 | 0x23<<7 | 0x18, - 26898 - 19968: jis0208<<14 | 0x3B<<7 | 0x04, - 26899 - 19968: jis0212<<14 | 0x23<<7 | 0x19, - 26902 - 19968: jis0212<<14 | 0x23<<7 | 0x1A, - 26903 - 19968: jis0212<<14 | 0x23<<7 | 0x1B, - 26905 - 19968: jis0208<<14 | 0x1E<<7 | 0x59, - 26906 - 19968: jis0208<<14 | 0x3B<<7 | 0x0E, - 26907 - 19968: jis0208<<14 | 0x12<<7 | 0x50, - 26908 - 19968: jis0208<<14 | 0x17<<7 | 0x00, - 26913 - 19968: jis0208<<14 | 0x3B<<7 | 0x10, - 26914 - 19968: jis0208<<14 | 0x3A<<7 | 0x59, - 26915 - 19968: jis0208<<14 | 0x3B<<7 | 0x0F, - 26917 - 19968: jis0208<<14 | 0x3B<<7 | 0x08, - 26918 - 19968: jis0208<<14 | 0x3A<<7 | 0x5A, - 26920 - 19968: jis0208<<14 | 0x3B<<7 | 0x0C, - 26922 - 19968: jis0208<<14 | 0x3B<<7 | 0x0D, - 26928 - 19968: jis0208<<14 | 0x3B<<7 | 0x1E, - 26929 - 19968: jis0212<<14 | 0x23<<7 | 0x1C, - 26931 - 19968: jis0212<<14 | 0x23<<7 | 0x1D, - 26932 - 19968: jis0208<<14 | 0x25<<7 | 0x2D, - 26933 - 19968: jis0212<<14 | 0x23<<7 | 0x1E, - 26934 - 19968: jis0208<<14 | 0x3B<<7 | 0x03, - 26936 - 19968: jis0212<<14 | 0x23<<7 | 0x1F, - 26937 - 19968: jis0208<<14 | 0x3B<<7 | 0x1A, - 26939 - 19968: jis0212<<14 | 0x23<<7 | 0x20, - 26941 - 19968: jis0208<<14 | 0x3B<<7 | 0x1C, - 26943 - 19968: jis0208<<14 | 0x23<<7 | 0x37, - 26946 - 19968: jis0212<<14 | 0x23<<7 | 0x21, - 26949 - 19968: jis0212<<14 | 0x23<<7 | 0x22, - 26953 - 19968: jis0212<<14 | 0x23<<7 | 0x23, - 26954 - 19968: jis0208<<14 | 0x2C<<7 | 0x2B, - 26958 - 19968: jis0212<<14 | 0x23<<7 | 0x24, - 26963 - 19968: jis0208<<14 | 0x28<<7 | 0x55, - 26964 - 19968: jis0208<<14 | 0x3B<<7 | 0x17, - 26965 - 19968: jis0208<<14 | 0x21<<7 | 0x29, - 26967 - 19968: jis0212<<14 | 0x23<<7 | 0x25, - 26969 - 19968: jis0208<<14 | 0x3B<<7 | 0x1D, - 26970 - 19968: jis0208<<14 | 0x20<<7 | 0x1E, - 26971 - 19968: jis0212<<14 | 0x23<<7 | 0x26, - 26972 - 19968: jis0208<<14 | 0x3B<<7 | 0x14, - 26973 - 19968: jis0208<<14 | 0x3B<<7 | 0x21, - 26974 - 19968: jis0208<<14 | 0x3B<<7 | 0x20, - 26976 - 19968: jis0208<<14 | 0x25<<7 | 0x4E, - 26977 - 19968: jis0208<<14 | 0x3B<<7 | 0x1F, - 26978 - 19968: jis0208<<14 | 0x25<<7 | 0x49, - 26979 - 19968: jis0212<<14 | 0x23<<7 | 0x27, - 26980 - 19968: jis0212<<14 | 0x23<<7 | 0x28, - 26981 - 19968: jis0212<<14 | 0x23<<7 | 0x29, - 26982 - 19968: jis0212<<14 | 0x23<<7 | 0x2A, - 26984 - 19968: jis0208<<14 | 0x59<<7 | 0x2E, - 26985 - 19968: jis0212<<14 | 0x23<<7 | 0x2C, - 26986 - 19968: jis0208<<14 | 0x3B<<7 | 0x23, - 26987 - 19968: jis0208<<14 | 0x3B<<7 | 0x16, - 26988 - 19968: jis0212<<14 | 0x23<<7 | 0x2D, - 26989 - 19968: jis0208<<14 | 0x15<<7 | 0x27, - 26990 - 19968: jis0208<<14 | 0x3B<<7 | 0x19, - 26991 - 19968: jis0208<<14 | 0x1C<<7 | 0x3C, - 26992 - 19968: jis0212<<14 | 0x23<<7 | 0x2E, - 26993 - 19968: jis0212<<14 | 0x23<<7 | 0x2F, - 26994 - 19968: jis0212<<14 | 0x23<<7 | 0x30, - 26995 - 19968: jis0208<<14 | 0x26<<7 | 0x3F, - 26996 - 19968: jis0208<<14 | 0x3B<<7 | 0x1B, - 26997 - 19968: jis0208<<14 | 0x15<<7 | 0x2A, - 26999 - 19968: jis0208<<14 | 0x3B<<7 | 0x13, - 27000 - 19968: jis0208<<14 | 0x3B<<7 | 0x15, - 27001 - 19968: jis0208<<14 | 0x3B<<7 | 0x12, - 27002 - 19968: jis0212<<14 | 0x23<<7 | 0x31, - 27003 - 19968: jis0212<<14 | 0x23<<7 | 0x32, - 27004 - 19968: jis0208<<14 | 0x2E<<7 | 0x0F, - 27005 - 19968: jis0208<<14 | 0x12<<7 | 0x39, - 27006 - 19968: jis0208<<14 | 0x3B<<7 | 0x18, - 27007 - 19968: jis0212<<14 | 0x23<<7 | 0x33, - 27008 - 19968: jis0212<<14 | 0x23<<7 | 0x34, - 27009 - 19968: jis0208<<14 | 0x3B<<7 | 0x22, - 27010 - 19968: jis0208<<14 | 0x12<<7 | 0x14, - 27018 - 19968: jis0208<<14 | 0x19<<7 | 0x46, - 27021 - 19968: jis0212<<14 | 0x23<<7 | 0x35, - 27022 - 19968: jis0208<<14 | 0x10<<7 | 0x3C, - 27025 - 19968: jis0208<<14 | 0x3B<<7 | 0x33, - 27026 - 19968: jis0212<<14 | 0x23<<7 | 0x36, - 27028 - 19968: jis0208<<14 | 0x2E<<7 | 0x10, - 27029 - 19968: jis0208<<14 | 0x3B<<7 | 0x36, - 27030 - 19968: jis0212<<14 | 0x23<<7 | 0x37, - 27032 - 19968: jis0208<<14 | 0x59<<7 | 0x30, - 27035 - 19968: jis0208<<14 | 0x1E<<7 | 0x19, - 27036 - 19968: jis0208<<14 | 0x3B<<7 | 0x35, - 27040 - 19968: jis0208<<14 | 0x3B<<7 | 0x34, - 27041 - 19968: jis0212<<14 | 0x23<<7 | 0x39, - 27045 - 19968: jis0212<<14 | 0x23<<7 | 0x3A, - 27046 - 19968: jis0212<<14 | 0x23<<7 | 0x3B, - 27047 - 19968: jis0208<<14 | 0x3B<<7 | 0x31, - 27048 - 19968: jis0212<<14 | 0x23<<7 | 0x3C, - 27051 - 19968: jis0212<<14 | 0x23<<7 | 0x3D, - 27053 - 19968: jis0212<<14 | 0x23<<7 | 0x3E, - 27054 - 19968: jis0208<<14 | 0x3B<<7 | 0x25, - 27055 - 19968: jis0212<<14 | 0x23<<7 | 0x3F, - 27057 - 19968: jis0208<<14 | 0x3B<<7 | 0x42, - 27058 - 19968: jis0208<<14 | 0x3B<<7 | 0x24, - 27060 - 19968: jis0208<<14 | 0x3B<<7 | 0x37, - 27063 - 19968: jis0212<<14 | 0x23<<7 | 0x40, - 27064 - 19968: jis0212<<14 | 0x23<<7 | 0x41, - 27066 - 19968: jis0212<<14 | 0x23<<7 | 0x42, - 27067 - 19968: jis0208<<14 | 0x3B<<7 | 0x2F, - 27068 - 19968: jis0212<<14 | 0x23<<7 | 0x43, - 27070 - 19968: jis0208<<14 | 0x3B<<7 | 0x2A, - 27071 - 19968: jis0208<<14 | 0x3B<<7 | 0x27, - 27073 - 19968: jis0208<<14 | 0x3B<<7 | 0x28, - 27075 - 19968: jis0208<<14 | 0x3B<<7 | 0x30, - 27077 - 19968: jis0212<<14 | 0x23<<7 | 0x44, - 27079 - 19968: jis0208<<14 | 0x53<<7 | 0x01, - 27080 - 19968: jis0212<<14 | 0x23<<7 | 0x45, - 27082 - 19968: jis0208<<14 | 0x3B<<7 | 0x2D, - 27083 - 19968: jis0208<<14 | 0x18<<7 | 0x1C, - 27084 - 19968: jis0208<<14 | 0x23<<7 | 0x27, - 27085 - 19968: jis0208<<14 | 0x20<<7 | 0x43, - 27086 - 19968: jis0208<<14 | 0x3B<<7 | 0x2B, - 27088 - 19968: jis0208<<14 | 0x3B<<7 | 0x26, - 27089 - 19968: jis0212<<14 | 0x23<<7 | 0x46, - 27091 - 19968: jis0208<<14 | 0x3B<<7 | 0x29, - 27094 - 19968: jis0212<<14 | 0x23<<7 | 0x47, - 27095 - 19968: jis0212<<14 | 0x23<<7 | 0x48, - 27096 - 19968: jis0208<<14 | 0x2C<<7 | 0x2C, - 27097 - 19968: jis0208<<14 | 0x2A<<7 | 0x49, - 27101 - 19968: jis0208<<14 | 0x3B<<7 | 0x2E, - 27102 - 19968: jis0208<<14 | 0x3B<<7 | 0x38, - 27106 - 19968: jis0208<<14 | 0x59<<7 | 0x31, - 27109 - 19968: jis0212<<14 | 0x23<<7 | 0x4A, - 27111 - 19968: jis0208<<14 | 0x3B<<7 | 0x40, - 27112 - 19968: jis0208<<14 | 0x3B<<7 | 0x39, - 27115 - 19968: jis0208<<14 | 0x3B<<7 | 0x46, - 27117 - 19968: jis0208<<14 | 0x3B<<7 | 0x44, - 27118 - 19968: jis0212<<14 | 0x23<<7 | 0x4B, - 27119 - 19968: jis0212<<14 | 0x23<<7 | 0x4C, - 27121 - 19968: jis0212<<14 | 0x23<<7 | 0x4D, - 27122 - 19968: jis0208<<14 | 0x3B<<7 | 0x3F, - 27123 - 19968: jis0212<<14 | 0x23<<7 | 0x4E, - 27125 - 19968: jis0212<<14 | 0x23<<7 | 0x4F, - 27129 - 19968: jis0208<<14 | 0x3B<<7 | 0x3E, - 27131 - 19968: jis0208<<14 | 0x23<<7 | 0x2F, - 27133 - 19968: jis0208<<14 | 0x20<<7 | 0x44, - 27134 - 19968: jis0212<<14 | 0x23<<7 | 0x50, - 27135 - 19968: jis0208<<14 | 0x3B<<7 | 0x3C, - 27136 - 19968: jis0212<<14 | 0x23<<7 | 0x51, - 27137 - 19968: jis0212<<14 | 0x23<<7 | 0x52, - 27138 - 19968: jis0208<<14 | 0x3B<<7 | 0x3A, - 27139 - 19968: jis0212<<14 | 0x23<<7 | 0x53, - 27141 - 19968: jis0208<<14 | 0x3B<<7 | 0x41, - 27146 - 19968: jis0208<<14 | 0x3B<<7 | 0x47, - 27147 - 19968: jis0208<<14 | 0x27<<7 | 0x54, - 27148 - 19968: jis0208<<14 | 0x3B<<7 | 0x4D, - 27151 - 19968: jis0212<<14 | 0x23<<7 | 0x54, - 27153 - 19968: jis0212<<14 | 0x23<<7 | 0x55, - 27154 - 19968: jis0208<<14 | 0x3B<<7 | 0x48, - 27155 - 19968: jis0208<<14 | 0x3B<<7 | 0x4B, - 27156 - 19968: jis0208<<14 | 0x3B<<7 | 0x45, - 27157 - 19968: jis0212<<14 | 0x23<<7 | 0x56, - 27159 - 19968: jis0208<<14 | 0x22<<7 | 0x53, - 27161 - 19968: jis0208<<14 | 0x28<<7 | 0x17, - 27162 - 19968: jis0212<<14 | 0x23<<7 | 0x57, - 27163 - 19968: jis0208<<14 | 0x3B<<7 | 0x3B, - 27165 - 19968: jis0212<<14 | 0x23<<7 | 0x58, - 27166 - 19968: jis0208<<14 | 0x3B<<7 | 0x43, - 27167 - 19968: jis0208<<14 | 0x1D<<7 | 0x1F, - 27168 - 19968: jis0212<<14 | 0x23<<7 | 0x59, - 27169 - 19968: jis0208<<14 | 0x2B<<7 | 0x2E, - 27170 - 19968: jis0208<<14 | 0x3B<<7 | 0x57, - 27171 - 19968: jis0208<<14 | 0x3B<<7 | 0x4A, - 27172 - 19968: jis0212<<14 | 0x23<<7 | 0x5A, - 27176 - 19968: jis0212<<14 | 0x23<<7 | 0x5B, - 27177 - 19968: jis0208<<14 | 0x17<<7 | 0x01, - 27178 - 19968: jis0208<<14 | 0x11<<7 | 0x02, - 27179 - 19968: jis0208<<14 | 0x12<<7 | 0x3E, - 27182 - 19968: jis0208<<14 | 0x3B<<7 | 0x32, - 27184 - 19968: jis0208<<14 | 0x59<<7 | 0x32, - 27186 - 19968: jis0212<<14 | 0x23<<7 | 0x5D, - 27188 - 19968: jis0212<<14 | 0x24<<7 | 0x00, - 27189 - 19968: jis0208<<14 | 0x1D<<7 | 0x20, - 27190 - 19968: jis0208<<14 | 0x3B<<7 | 0x4F, - 27191 - 19968: jis0212<<14 | 0x24<<7 | 0x01, - 27192 - 19968: jis0208<<14 | 0x3B<<7 | 0x56, - 27193 - 19968: jis0208<<14 | 0x1B<<7 | 0x58, - 27194 - 19968: jis0208<<14 | 0x12<<7 | 0x51, - 27195 - 19968: jis0212<<14 | 0x24<<7 | 0x02, - 27197 - 19968: jis0208<<14 | 0x22<<7 | 0x0D, - 27198 - 19968: jis0212<<14 | 0x24<<7 | 0x03, - 27199 - 19968: jis0212<<14 | 0x24<<7 | 0x04, - 27204 - 19968: jis0208<<14 | 0x3B<<7 | 0x4C, - 27205 - 19968: jis0212<<14 | 0x24<<7 | 0x05, - 27206 - 19968: jis0208<<14 | 0x59<<7 | 0x34, - 27207 - 19968: jis0208<<14 | 0x3B<<7 | 0x51, - 27208 - 19968: jis0208<<14 | 0x3B<<7 | 0x55, - 27209 - 19968: jis0212<<14 | 0x24<<7 | 0x07, - 27210 - 19968: jis0212<<14 | 0x24<<7 | 0x08, - 27211 - 19968: jis0208<<14 | 0x15<<7 | 0x15, - 27214 - 19968: jis0212<<14 | 0x24<<7 | 0x09, - 27216 - 19968: jis0212<<14 | 0x24<<7 | 0x0A, - 27217 - 19968: jis0212<<14 | 0x24<<7 | 0x0B, - 27218 - 19968: jis0212<<14 | 0x24<<7 | 0x0C, - 27221 - 19968: jis0212<<14 | 0x24<<7 | 0x0D, - 27222 - 19968: jis0212<<14 | 0x24<<7 | 0x0E, - 27224 - 19968: jis0208<<14 | 0x14<<7 | 0x2B, - 27225 - 19968: jis0208<<14 | 0x3B<<7 | 0x53, - 27227 - 19968: jis0212<<14 | 0x24<<7 | 0x0F, - 27231 - 19968: jis0208<<14 | 0x14<<7 | 0x00, - 27233 - 19968: jis0208<<14 | 0x25<<7 | 0x2A, - 27234 - 19968: jis0208<<14 | 0x3B<<7 | 0x52, - 27236 - 19968: jis0212<<14 | 0x24<<7 | 0x10, - 27238 - 19968: jis0208<<14 | 0x3B<<7 | 0x54, - 27239 - 19968: jis0212<<14 | 0x24<<7 | 0x11, - 27242 - 19968: jis0212<<14 | 0x24<<7 | 0x12, - 27243 - 19968: jis0208<<14 | 0x59<<7 | 0x33, - 27249 - 19968: jis0212<<14 | 0x24<<7 | 0x13, - 27250 - 19968: jis0208<<14 | 0x3B<<7 | 0x4E, - 27251 - 19968: jis0208<<14 | 0x59<<7 | 0x35, - 27256 - 19968: jis0208<<14 | 0x3B<<7 | 0x50, - 27262 - 19968: jis0208<<14 | 0x59<<7 | 0x36, - 27263 - 19968: jis0208<<14 | 0x12<<7 | 0x3F, - 27264 - 19968: jis0208<<14 | 0x22<<7 | 0x28, - 27265 - 19968: jis0212<<14 | 0x24<<7 | 0x16, - 27267 - 19968: jis0212<<14 | 0x24<<7 | 0x17, - 27268 - 19968: jis0208<<14 | 0x3B<<7 | 0x5B, - 27270 - 19968: jis0212<<14 | 0x24<<7 | 0x18, - 27271 - 19968: jis0212<<14 | 0x24<<7 | 0x19, - 27273 - 19968: jis0212<<14 | 0x24<<7 | 0x1A, - 27275 - 19968: jis0212<<14 | 0x24<<7 | 0x1B, - 27277 - 19968: jis0208<<14 | 0x3B<<7 | 0x59, - 27278 - 19968: jis0208<<14 | 0x17<<7 | 0x48, - 27280 - 19968: jis0208<<14 | 0x3B<<7 | 0x58, - 27281 - 19968: jis0212<<14 | 0x24<<7 | 0x1C, - 27287 - 19968: jis0208<<14 | 0x3C<<7 | 0x00, - 27291 - 19968: jis0212<<14 | 0x24<<7 | 0x1D, - 27292 - 19968: jis0208<<14 | 0x3A<<7 | 0x37, - 27293 - 19968: jis0212<<14 | 0x24<<7 | 0x1E, - 27294 - 19968: jis0212<<14 | 0x24<<7 | 0x1F, - 27295 - 19968: jis0212<<14 | 0x24<<7 | 0x20, - 27296 - 19968: jis0208<<14 | 0x3B<<7 | 0x5A, - 27298 - 19968: jis0208<<14 | 0x3B<<7 | 0x5C, - 27299 - 19968: jis0208<<14 | 0x3B<<7 | 0x5D, - 27301 - 19968: jis0212<<14 | 0x24<<7 | 0x21, - 27306 - 19968: jis0208<<14 | 0x3C<<7 | 0x0B, - 27307 - 19968: jis0212<<14 | 0x24<<7 | 0x22, - 27308 - 19968: jis0208<<14 | 0x3C<<7 | 0x07, - 27310 - 19968: jis0208<<14 | 0x3A<<7 | 0x4C, - 27311 - 19968: jis0212<<14 | 0x24<<7 | 0x23, - 27312 - 19968: jis0212<<14 | 0x24<<7 | 0x24, - 27313 - 19968: jis0212<<14 | 0x24<<7 | 0x25, - 27315 - 19968: jis0208<<14 | 0x3C<<7 | 0x06, - 27316 - 19968: jis0212<<14 | 0x24<<7 | 0x26, - 27320 - 19968: jis0208<<14 | 0x3C<<7 | 0x05, - 27323 - 19968: jis0208<<14 | 0x3C<<7 | 0x02, - 27325 - 19968: jis0212<<14 | 0x24<<7 | 0x27, - 27326 - 19968: jis0212<<14 | 0x24<<7 | 0x28, - 27327 - 19968: jis0212<<14 | 0x24<<7 | 0x29, - 27329 - 19968: jis0208<<14 | 0x3B<<7 | 0x49, - 27330 - 19968: jis0208<<14 | 0x3C<<7 | 0x04, - 27331 - 19968: jis0208<<14 | 0x3C<<7 | 0x03, - 27334 - 19968: jis0212<<14 | 0x24<<7 | 0x2A, - 27336 - 19968: jis0212<<14 | 0x24<<7 | 0x2C, - 27337 - 19968: jis0212<<14 | 0x24<<7 | 0x2B, - 27340 - 19968: jis0212<<14 | 0x24<<7 | 0x2D, - 27344 - 19968: jis0212<<14 | 0x24<<7 | 0x2E, - 27345 - 19968: jis0208<<14 | 0x3C<<7 | 0x09, - 27347 - 19968: jis0208<<14 | 0x2E<<7 | 0x05, - 27348 - 19968: jis0212<<14 | 0x24<<7 | 0x2F, - 27349 - 19968: jis0212<<14 | 0x24<<7 | 0x30, - 27350 - 19968: jis0212<<14 | 0x24<<7 | 0x31, - 27354 - 19968: jis0208<<14 | 0x3C<<7 | 0x0C, - 27355 - 19968: jis0208<<14 | 0x15<<7 | 0x5A, - 27356 - 19968: jis0212<<14 | 0x24<<7 | 0x32, - 27357 - 19968: jis0212<<14 | 0x24<<7 | 0x33, - 27358 - 19968: jis0208<<14 | 0x3C<<7 | 0x08, - 27359 - 19968: jis0208<<14 | 0x3C<<7 | 0x0A, - 27362 - 19968: jis0208<<14 | 0x59<<7 | 0x37, - 27364 - 19968: jis0208<<14 | 0x59<<7 | 0x38, - 27367 - 19968: jis0212<<14 | 0x24<<7 | 0x35, - 27368 - 19968: jis0208<<14 | 0x27<<7 | 0x06, - 27370 - 19968: jis0208<<14 | 0x3C<<7 | 0x0D, - 27372 - 19968: jis0212<<14 | 0x24<<7 | 0x36, - 27376 - 19968: jis0212<<14 | 0x24<<7 | 0x37, - 27377 - 19968: jis0212<<14 | 0x24<<7 | 0x38, - 27378 - 19968: jis0212<<14 | 0x24<<7 | 0x39, - 27386 - 19968: jis0208<<14 | 0x3C<<7 | 0x11, - 27387 - 19968: jis0208<<14 | 0x3C<<7 | 0x0E, - 27388 - 19968: jis0212<<14 | 0x24<<7 | 0x3A, - 27389 - 19968: jis0212<<14 | 0x24<<7 | 0x3B, - 27394 - 19968: jis0212<<14 | 0x24<<7 | 0x3C, - 27395 - 19968: jis0212<<14 | 0x24<<7 | 0x3D, - 27396 - 19968: jis0208<<14 | 0x2C<<7 | 0x52, - 27397 - 19968: jis0208<<14 | 0x3C<<7 | 0x0F, - 27398 - 19968: jis0212<<14 | 0x24<<7 | 0x3E, - 27399 - 19968: jis0212<<14 | 0x24<<7 | 0x3F, - 27401 - 19968: jis0212<<14 | 0x24<<7 | 0x40, - 27402 - 19968: jis0208<<14 | 0x3B<<7 | 0x3D, - 27407 - 19968: jis0212<<14 | 0x24<<7 | 0x41, - 27408 - 19968: jis0212<<14 | 0x24<<7 | 0x42, - 27409 - 19968: jis0212<<14 | 0x24<<7 | 0x43, - 27410 - 19968: jis0208<<14 | 0x3C<<7 | 0x12, - 27414 - 19968: jis0208<<14 | 0x3C<<7 | 0x13, - 27415 - 19968: jis0212<<14 | 0x24<<7 | 0x44, - 27419 - 19968: jis0212<<14 | 0x24<<7 | 0x45, - 27421 - 19968: jis0208<<14 | 0x10<<7 | 0x14, - 27422 - 19968: jis0212<<14 | 0x24<<7 | 0x46, - 27423 - 19968: jis0208<<14 | 0x3C<<7 | 0x15, - 27424 - 19968: jis0208<<14 | 0x16<<7 | 0x46, - 27425 - 19968: jis0208<<14 | 0x1B<<7 | 0x00, - 27427 - 19968: jis0208<<14 | 0x15<<7 | 0x34, - 27428 - 19968: jis0212<<14 | 0x24<<7 | 0x47, - 27431 - 19968: jis0208<<14 | 0x11<<7 | 0x03, - 27432 - 19968: jis0212<<14 | 0x24<<7 | 0x48, - 27435 - 19968: jis0212<<14 | 0x24<<7 | 0x49, - 27436 - 19968: jis0212<<14 | 0x24<<7 | 0x4A, - 27439 - 19968: jis0212<<14 | 0x24<<7 | 0x4B, - 27442 - 19968: jis0208<<14 | 0x2C<<7 | 0x3E, - 27445 - 19968: jis0212<<14 | 0x24<<7 | 0x4C, - 27446 - 19968: jis0212<<14 | 0x24<<7 | 0x4D, - 27447 - 19968: jis0208<<14 | 0x3C<<7 | 0x17, - 27448 - 19968: jis0208<<14 | 0x3C<<7 | 0x16, - 27449 - 19968: jis0208<<14 | 0x3C<<7 | 0x19, - 27450 - 19968: jis0208<<14 | 0x14<<7 | 0x1C, - 27451 - 19968: jis0212<<14 | 0x24<<7 | 0x4E, - 27453 - 19968: jis0208<<14 | 0x15<<7 | 0x35, - 27454 - 19968: jis0208<<14 | 0x13<<7 | 0x1D, - 27455 - 19968: jis0212<<14 | 0x24<<7 | 0x4F, - 27459 - 19968: jis0208<<14 | 0x3C<<7 | 0x1C, - 27462 - 19968: jis0212<<14 | 0x24<<7 | 0x50, - 27463 - 19968: jis0208<<14 | 0x3C<<7 | 0x1B, - 27465 - 19968: jis0208<<14 | 0x3C<<7 | 0x1D, - 27466 - 19968: jis0212<<14 | 0x24<<7 | 0x51, - 27468 - 19968: jis0208<<14 | 0x11<<7 | 0x2D, - 27469 - 19968: jis0212<<14 | 0x24<<7 | 0x52, - 27470 - 19968: jis0208<<14 | 0x22<<7 | 0x16, - 27472 - 19968: jis0208<<14 | 0x3C<<7 | 0x1E, - 27474 - 19968: jis0212<<14 | 0x24<<7 | 0x53, - 27475 - 19968: jis0208<<14 | 0x13<<7 | 0x1E, - 27476 - 19968: jis0208<<14 | 0x3C<<7 | 0x20, - 27478 - 19968: jis0212<<14 | 0x24<<7 | 0x54, - 27480 - 19968: jis0212<<14 | 0x24<<7 | 0x55, - 27481 - 19968: jis0208<<14 | 0x3C<<7 | 0x1F, - 27483 - 19968: jis0208<<14 | 0x3C<<7 | 0x21, - 27485 - 19968: jis0212<<14 | 0x24<<7 | 0x56, - 27487 - 19968: jis0208<<14 | 0x3C<<7 | 0x22, - 27488 - 19968: jis0212<<14 | 0x24<<7 | 0x57, - 27489 - 19968: jis0208<<14 | 0x3C<<7 | 0x23, - 27490 - 19968: jis0208<<14 | 0x1A<<7 | 0x3E, - 27491 - 19968: jis0208<<14 | 0x1F<<7 | 0x14, - 27492 - 19968: jis0208<<14 | 0x19<<7 | 0x00, - 27494 - 19968: jis0208<<14 | 0x28<<7 | 0x4F, - 27495 - 19968: jis0212<<14 | 0x24<<7 | 0x58, - 27497 - 19968: jis0208<<14 | 0x29<<7 | 0x41, - 27498 - 19968: jis0208<<14 | 0x2E<<7 | 0x23, - 27499 - 19968: jis0212<<14 | 0x24<<7 | 0x59, - 27502 - 19968: jis0212<<14 | 0x24<<7 | 0x5A, - 27503 - 19968: jis0208<<14 | 0x1A<<7 | 0x54, - 27504 - 19968: jis0212<<14 | 0x24<<7 | 0x5B, - 27507 - 19968: jis0208<<14 | 0x19<<7 | 0x2F, - 27508 - 19968: jis0208<<14 | 0x2D<<7 | 0x51, - 27509 - 19968: jis0212<<14 | 0x24<<7 | 0x5C, - 27512 - 19968: jis0208<<14 | 0x3C<<7 | 0x24, - 27513 - 19968: jis0208<<14 | 0x3C<<7 | 0x25, - 27515 - 19968: jis0208<<14 | 0x1A<<7 | 0x3F, - 27517 - 19968: jis0212<<14 | 0x24<<7 | 0x5D, - 27518 - 19968: jis0212<<14 | 0x25<<7 | 0x00, - 27519 - 19968: jis0208<<14 | 0x3C<<7 | 0x26, - 27520 - 19968: jis0208<<14 | 0x3C<<7 | 0x27, - 27522 - 19968: jis0212<<14 | 0x25<<7 | 0x01, - 27523 - 19968: jis0208<<14 | 0x3C<<7 | 0x29, - 27524 - 19968: jis0208<<14 | 0x3C<<7 | 0x28, - 27525 - 19968: jis0212<<14 | 0x25<<7 | 0x02, - 27526 - 19968: jis0208<<14 | 0x2A<<7 | 0x37, - 27529 - 19968: jis0208<<14 | 0x1C<<7 | 0x3D, - 27530 - 19968: jis0208<<14 | 0x1B<<7 | 0x4B, - 27531 - 19968: jis0208<<14 | 0x1A<<7 | 0x23, - 27533 - 19968: jis0208<<14 | 0x3C<<7 | 0x2A, - 27541 - 19968: jis0208<<14 | 0x3C<<7 | 0x2C, - 27542 - 19968: jis0208<<14 | 0x1E<<7 | 0x02, - 27543 - 19968: jis0212<<14 | 0x25<<7 | 0x03, - 27544 - 19968: jis0208<<14 | 0x3C<<7 | 0x2B, - 27547 - 19968: jis0212<<14 | 0x25<<7 | 0x04, - 27550 - 19968: jis0208<<14 | 0x3C<<7 | 0x2D, - 27551 - 19968: jis0212<<14 | 0x25<<7 | 0x05, - 27552 - 19968: jis0212<<14 | 0x25<<7 | 0x06, - 27554 - 19968: jis0212<<14 | 0x25<<7 | 0x07, - 27555 - 19968: jis0212<<14 | 0x25<<7 | 0x08, - 27556 - 19968: jis0208<<14 | 0x3C<<7 | 0x2E, - 27560 - 19968: jis0212<<14 | 0x25<<7 | 0x09, - 27561 - 19968: jis0212<<14 | 0x25<<7 | 0x0A, - 27562 - 19968: jis0208<<14 | 0x3C<<7 | 0x2F, - 27563 - 19968: jis0208<<14 | 0x3C<<7 | 0x30, - 27564 - 19968: jis0212<<14 | 0x25<<7 | 0x0B, - 27565 - 19968: jis0212<<14 | 0x25<<7 | 0x0C, - 27566 - 19968: jis0212<<14 | 0x25<<7 | 0x0D, - 27567 - 19968: jis0208<<14 | 0x3C<<7 | 0x31, - 27568 - 19968: jis0212<<14 | 0x25<<7 | 0x0E, - 27569 - 19968: jis0208<<14 | 0x3C<<7 | 0x33, - 27570 - 19968: jis0208<<14 | 0x3C<<7 | 0x32, - 27571 - 19968: jis0208<<14 | 0x3C<<7 | 0x34, - 27572 - 19968: jis0208<<14 | 0x11<<7 | 0x04, - 27573 - 19968: jis0208<<14 | 0x22<<7 | 0x29, - 27575 - 19968: jis0208<<14 | 0x3C<<7 | 0x35, - 27576 - 19968: jis0212<<14 | 0x25<<7 | 0x0F, - 27577 - 19968: jis0212<<14 | 0x25<<7 | 0x10, - 27578 - 19968: jis0208<<14 | 0x1A<<7 | 0x05, - 27579 - 19968: jis0208<<14 | 0x12<<7 | 0x2B, - 27580 - 19968: jis0208<<14 | 0x3C<<7 | 0x36, - 27581 - 19968: jis0212<<14 | 0x25<<7 | 0x11, - 27582 - 19968: jis0212<<14 | 0x25<<7 | 0x12, - 27583 - 19968: jis0208<<14 | 0x24<<7 | 0x21, - 27584 - 19968: jis0208<<14 | 0x33<<7 | 0x2B, - 27587 - 19968: jis0212<<14 | 0x25<<7 | 0x13, - 27588 - 19968: jis0212<<14 | 0x25<<7 | 0x14, - 27589 - 19968: jis0208<<14 | 0x14<<7 | 0x02, - 27590 - 19968: jis0208<<14 | 0x3C<<7 | 0x37, - 27593 - 19968: jis0212<<14 | 0x25<<7 | 0x15, - 27595 - 19968: jis0208<<14 | 0x3C<<7 | 0x38, - 27596 - 19968: jis0212<<14 | 0x25<<7 | 0x16, - 27597 - 19968: jis0208<<14 | 0x29<<7 | 0x4B, - 27598 - 19968: jis0208<<14 | 0x2A<<7 | 0x47, - 27602 - 19968: jis0208<<14 | 0x25<<7 | 0x26, - 27603 - 19968: jis0208<<14 | 0x3C<<7 | 0x39, - 27604 - 19968: jis0208<<14 | 0x27<<7 | 0x45, - 27606 - 19968: jis0208<<14 | 0x59<<7 | 0x39, - 27608 - 19968: jis0208<<14 | 0x27<<7 | 0x5A, - 27610 - 19968: jis0212<<14 | 0x25<<7 | 0x18, - 27611 - 19968: jis0208<<14 | 0x2B<<7 | 0x32, - 27615 - 19968: jis0208<<14 | 0x3C<<7 | 0x3A, - 27617 - 19968: jis0212<<14 | 0x25<<7 | 0x19, - 27619 - 19968: jis0212<<14 | 0x25<<7 | 0x1A, - 27622 - 19968: jis0212<<14 | 0x25<<7 | 0x1B, - 27623 - 19968: jis0212<<14 | 0x25<<7 | 0x1C, - 27627 - 19968: jis0208<<14 | 0x3C<<7 | 0x3C, - 27628 - 19968: jis0208<<14 | 0x3C<<7 | 0x3B, - 27630 - 19968: jis0212<<14 | 0x25<<7 | 0x1D, - 27631 - 19968: jis0208<<14 | 0x3C<<7 | 0x3E, - 27633 - 19968: jis0212<<14 | 0x25<<7 | 0x1E, - 27635 - 19968: jis0208<<14 | 0x3C<<7 | 0x3D, - 27639 - 19968: jis0212<<14 | 0x25<<7 | 0x1F, - 27641 - 19968: jis0212<<14 | 0x25<<7 | 0x20, - 27647 - 19968: jis0212<<14 | 0x25<<7 | 0x21, - 27650 - 19968: jis0212<<14 | 0x25<<7 | 0x22, - 27652 - 19968: jis0212<<14 | 0x25<<7 | 0x23, - 27653 - 19968: jis0212<<14 | 0x25<<7 | 0x24, - 27656 - 19968: jis0208<<14 | 0x3C<<7 | 0x40, - 27657 - 19968: jis0212<<14 | 0x25<<7 | 0x25, - 27661 - 19968: jis0212<<14 | 0x25<<7 | 0x26, - 27662 - 19968: jis0212<<14 | 0x25<<7 | 0x27, - 27663 - 19968: jis0208<<14 | 0x1A<<7 | 0x40, - 27664 - 19968: jis0212<<14 | 0x25<<7 | 0x28, - 27665 - 19968: jis0208<<14 | 0x2B<<7 | 0x10, - 27666 - 19968: jis0212<<14 | 0x25<<7 | 0x29, - 27667 - 19968: jis0208<<14 | 0x3C<<7 | 0x41, - 27668 - 19968: jis0208<<14 | 0x3C<<7 | 0x42, - 27671 - 19968: jis0208<<14 | 0x14<<7 | 0x03, - 27673 - 19968: jis0212<<14 | 0x25<<7 | 0x2A, - 27675 - 19968: jis0208<<14 | 0x3C<<7 | 0x43, - 27679 - 19968: jis0212<<14 | 0x25<<7 | 0x2B, - 27683 - 19968: jis0208<<14 | 0x3C<<7 | 0x45, - 27684 - 19968: jis0208<<14 | 0x3C<<7 | 0x44, - 27686 - 19968: jis0212<<14 | 0x25<<7 | 0x2C, - 27687 - 19968: jis0212<<14 | 0x25<<7 | 0x2D, - 27688 - 19968: jis0212<<14 | 0x25<<7 | 0x2E, - 27692 - 19968: jis0212<<14 | 0x25<<7 | 0x2F, - 27694 - 19968: jis0212<<14 | 0x25<<7 | 0x30, - 27699 - 19968: jis0212<<14 | 0x25<<7 | 0x31, - 27700 - 19968: jis0208<<14 | 0x1E<<7 | 0x44, - 27701 - 19968: jis0212<<14 | 0x25<<7 | 0x32, - 27702 - 19968: jis0212<<14 | 0x25<<7 | 0x33, - 27703 - 19968: jis0208<<14 | 0x28<<7 | 0x18, - 27704 - 19968: jis0208<<14 | 0x10<<7 | 0x29, - 27706 - 19968: jis0212<<14 | 0x25<<7 | 0x34, - 27707 - 19968: jis0212<<14 | 0x25<<7 | 0x35, - 27710 - 19968: jis0208<<14 | 0x27<<7 | 0x24, - 27711 - 19968: jis0208<<14 | 0x59<<7 | 0x3A, - 27712 - 19968: jis0208<<14 | 0x23<<7 | 0x54, - 27713 - 19968: jis0208<<14 | 0x1C<<7 | 0x20, - 27714 - 19968: jis0208<<14 | 0x14<<7 | 0x40, - 27722 - 19968: jis0212<<14 | 0x25<<7 | 0x37, - 27723 - 19968: jis0212<<14 | 0x25<<7 | 0x38, - 27725 - 19968: jis0212<<14 | 0x25<<7 | 0x39, - 27726 - 19968: jis0208<<14 | 0x27<<7 | 0x25, - 27727 - 19968: jis0212<<14 | 0x25<<7 | 0x3A, - 27728 - 19968: jis0208<<14 | 0x1B<<7 | 0x0D, - 27730 - 19968: jis0212<<14 | 0x25<<7 | 0x3B, - 27732 - 19968: jis0212<<14 | 0x25<<7 | 0x3C, - 27733 - 19968: jis0208<<14 | 0x3C<<7 | 0x47, - 27735 - 19968: jis0208<<14 | 0x13<<7 | 0x1F, - 27737 - 19968: jis0212<<14 | 0x25<<7 | 0x3D, - 27738 - 19968: jis0208<<14 | 0x10<<7 | 0x57, - 27739 - 19968: jis0212<<14 | 0x25<<7 | 0x3E, - 27740 - 19968: jis0208<<14 | 0x59<<7 | 0x3B, - 27741 - 19968: jis0208<<14 | 0x25<<7 | 0x51, - 27742 - 19968: jis0208<<14 | 0x3C<<7 | 0x46, - 27743 - 19968: jis0208<<14 | 0x18<<7 | 0x1D, - 27744 - 19968: jis0208<<14 | 0x22<<7 | 0x32, - 27746 - 19968: jis0208<<14 | 0x3C<<7 | 0x48, - 27751 - 19968: jis0212<<14 | 0x26<<7 | 0x15, - 27752 - 19968: jis0208<<14 | 0x3C<<7 | 0x50, - 27754 - 19968: jis0208<<14 | 0x3C<<7 | 0x49, - 27755 - 19968: jis0212<<14 | 0x25<<7 | 0x40, - 27757 - 19968: jis0212<<14 | 0x25<<7 | 0x41, - 27759 - 19968: jis0208<<14 | 0x59<<7 | 0x3D, - 27760 - 19968: jis0208<<14 | 0x21<<7 | 0x20, - 27762 - 19968: jis0208<<14 | 0x14<<7 | 0x41, - 27763 - 19968: jis0208<<14 | 0x3C<<7 | 0x51, - 27764 - 19968: jis0212<<14 | 0x25<<7 | 0x43, - 27766 - 19968: jis0212<<14 | 0x25<<7 | 0x44, - 27768 - 19968: jis0212<<14 | 0x25<<7 | 0x45, - 27769 - 19968: jis0212<<14 | 0x25<<7 | 0x46, - 27770 - 19968: jis0208<<14 | 0x16<<7 | 0x47, - 27771 - 19968: jis0212<<14 | 0x25<<7 | 0x47, - 27773 - 19968: jis0208<<14 | 0x14<<7 | 0x04, - 27774 - 19968: jis0208<<14 | 0x3C<<7 | 0x4F, - 27777 - 19968: jis0208<<14 | 0x3C<<7 | 0x4D, - 27778 - 19968: jis0208<<14 | 0x3C<<7 | 0x4A, - 27779 - 19968: jis0208<<14 | 0x2C<<7 | 0x3F, - 27781 - 19968: jis0212<<14 | 0x25<<7 | 0x48, - 27782 - 19968: jis0208<<14 | 0x59<<7 | 0x3C, - 27783 - 19968: jis0212<<14 | 0x25<<7 | 0x4A, - 27784 - 19968: jis0208<<14 | 0x23<<7 | 0x1F, - 27785 - 19968: jis0212<<14 | 0x25<<7 | 0x4B, - 27788 - 19968: jis0208<<14 | 0x25<<7 | 0x38, - 27789 - 19968: jis0208<<14 | 0x3C<<7 | 0x4B, - 27792 - 19968: jis0208<<14 | 0x3C<<7 | 0x53, - 27794 - 19968: jis0208<<14 | 0x3C<<7 | 0x52, - 27795 - 19968: jis0208<<14 | 0x16<<7 | 0x02, - 27796 - 19968: jis0212<<14 | 0x25<<7 | 0x4C, - 27797 - 19968: jis0212<<14 | 0x25<<7 | 0x4D, - 27798 - 19968: jis0208<<14 | 0x11<<7 | 0x0C, - 27799 - 19968: jis0212<<14 | 0x25<<7 | 0x4E, - 27800 - 19968: jis0212<<14 | 0x25<<7 | 0x4F, - 27801 - 19968: jis0208<<14 | 0x19<<7 | 0x1A, - 27802 - 19968: jis0208<<14 | 0x3C<<7 | 0x4C, - 27803 - 19968: jis0208<<14 | 0x3C<<7 | 0x4E, - 27804 - 19968: jis0212<<14 | 0x25<<7 | 0x50, - 27807 - 19968: jis0212<<14 | 0x25<<7 | 0x51, - 27809 - 19968: jis0208<<14 | 0x2A<<7 | 0x36, - 27810 - 19968: jis0208<<14 | 0x21<<7 | 0x53, - 27819 - 19968: jis0208<<14 | 0x2A<<7 | 0x56, - 27822 - 19968: jis0208<<14 | 0x3C<<7 | 0x5B, - 27824 - 19968: jis0212<<14 | 0x25<<7 | 0x52, - 27825 - 19968: jis0208<<14 | 0x3C<<7 | 0x5C, - 27826 - 19968: jis0212<<14 | 0x25<<7 | 0x53, - 27827 - 19968: jis0208<<14 | 0x11<<7 | 0x2E, - 27828 - 19968: jis0212<<14 | 0x25<<7 | 0x54, - 27832 - 19968: jis0208<<14 | 0x29<<7 | 0x07, - 27833 - 19968: jis0208<<14 | 0x2B<<7 | 0x5C, - 27834 - 19968: jis0208<<14 | 0x3D<<7 | 0x00, - 27835 - 19968: jis0208<<14 | 0x1B<<7 | 0x02, - 27836 - 19968: jis0208<<14 | 0x1D<<7 | 0x21, - 27837 - 19968: jis0208<<14 | 0x3C<<7 | 0x57, - 27838 - 19968: jis0208<<14 | 0x3C<<7 | 0x5D, - 27839 - 19968: jis0208<<14 | 0x10<<7 | 0x47, - 27841 - 19968: jis0208<<14 | 0x15<<7 | 0x16, - 27842 - 19968: jis0212<<14 | 0x25<<7 | 0x55, - 27844 - 19968: jis0208<<14 | 0x3C<<7 | 0x54, - 27845 - 19968: jis0208<<14 | 0x3C<<7 | 0x59, - 27846 - 19968: jis0212<<14 | 0x25<<7 | 0x56, - 27849 - 19968: jis0208<<14 | 0x1F<<7 | 0x53, - 27850 - 19968: jis0208<<14 | 0x26<<7 | 0x50, - 27852 - 19968: jis0208<<14 | 0x27<<7 | 0x46, - 27853 - 19968: jis0212<<14 | 0x25<<7 | 0x57, - 27855 - 19968: jis0212<<14 | 0x25<<7 | 0x58, - 27856 - 19968: jis0212<<14 | 0x25<<7 | 0x59, - 27857 - 19968: jis0212<<14 | 0x25<<7 | 0x5A, - 27858 - 19968: jis0212<<14 | 0x25<<7 | 0x5B, - 27859 - 19968: jis0208<<14 | 0x3C<<7 | 0x56, - 27860 - 19968: jis0212<<14 | 0x25<<7 | 0x5C, - 27861 - 19968: jis0208<<14 | 0x2A<<7 | 0x00, - 27862 - 19968: jis0212<<14 | 0x25<<7 | 0x5D, - 27863 - 19968: jis0208<<14 | 0x3C<<7 | 0x58, - 27865 - 19968: jis0208<<14 | 0x3D<<7 | 0x03, - 27866 - 19968: jis0208<<14 | 0x59<<7 | 0x3E, - 27867 - 19968: jis0208<<14 | 0x3D<<7 | 0x01, - 27868 - 19968: jis0212<<14 | 0x26<<7 | 0x01, - 27869 - 19968: jis0208<<14 | 0x3C<<7 | 0x5A, - 27872 - 19968: jis0212<<14 | 0x26<<7 | 0x02, - 27873 - 19968: jis0208<<14 | 0x2A<<7 | 0x01, - 27874 - 19968: jis0208<<14 | 0x26<<7 | 0x27, - 27875 - 19968: jis0208<<14 | 0x14<<7 | 0x42, - 27877 - 19968: jis0208<<14 | 0x24<<7 | 0x04, - 27879 - 19968: jis0212<<14 | 0x26<<7 | 0x03, - 27880 - 19968: jis0208<<14 | 0x22<<7 | 0x4C, - 27881 - 19968: jis0212<<14 | 0x26<<7 | 0x04, - 27882 - 19968: jis0208<<14 | 0x3D<<7 | 0x04, - 27883 - 19968: jis0212<<14 | 0x26<<7 | 0x05, - 27884 - 19968: jis0212<<14 | 0x26<<7 | 0x06, - 27886 - 19968: jis0212<<14 | 0x26<<7 | 0x07, - 27887 - 19968: jis0208<<14 | 0x3D<<7 | 0x02, - 27888 - 19968: jis0208<<14 | 0x21<<7 | 0x38, - 27889 - 19968: jis0208<<14 | 0x3C<<7 | 0x55, - 27890 - 19968: jis0212<<14 | 0x26<<7 | 0x08, - 27891 - 19968: jis0208<<14 | 0x10<<7 | 0x2A, - 27892 - 19968: jis0212<<14 | 0x26<<7 | 0x09, - 27908 - 19968: jis0208<<14 | 0x59<<7 | 0x3F, - 27911 - 19968: jis0212<<14 | 0x26<<7 | 0x0B, - 27914 - 19968: jis0212<<14 | 0x26<<7 | 0x0C, - 27915 - 19968: jis0208<<14 | 0x2C<<7 | 0x2D, - 27916 - 19968: jis0208<<14 | 0x3D<<7 | 0x0F, - 27918 - 19968: jis0212<<14 | 0x26<<7 | 0x0D, - 27919 - 19968: jis0212<<14 | 0x26<<7 | 0x0E, - 27921 - 19968: jis0212<<14 | 0x26<<7 | 0x0F, - 27922 - 19968: jis0208<<14 | 0x3D<<7 | 0x0E, - 27923 - 19968: jis0212<<14 | 0x26<<7 | 0x10, - 27927 - 19968: jis0208<<14 | 0x1F<<7 | 0x55, - 27929 - 19968: jis0208<<14 | 0x3D<<7 | 0x0B, - 27930 - 19968: jis0212<<14 | 0x26<<7 | 0x11, - 27931 - 19968: jis0208<<14 | 0x2C<<7 | 0x4B, - 27934 - 19968: jis0208<<14 | 0x25<<7 | 0x15, - 27935 - 19968: jis0208<<14 | 0x3D<<7 | 0x05, - 27941 - 19968: jis0208<<14 | 0x23<<7 | 0x24, - 27942 - 19968: jis0212<<14 | 0x26<<7 | 0x12, - 27943 - 19968: jis0212<<14 | 0x26<<7 | 0x13, - 27944 - 19968: jis0212<<14 | 0x26<<7 | 0x14, - 27945 - 19968: jis0208<<14 | 0x10<<7 | 0x2B, - 27946 - 19968: jis0208<<14 | 0x18<<7 | 0x1E, - 27947 - 19968: jis0208<<14 | 0x3D<<7 | 0x08, - 27950 - 19968: jis0212<<14 | 0x26<<7 | 0x16, - 27951 - 19968: jis0212<<14 | 0x26<<7 | 0x17, - 27953 - 19968: jis0212<<14 | 0x26<<7 | 0x18, - 27954 - 19968: jis0208<<14 | 0x1C<<7 | 0x06, - 27955 - 19968: jis0208<<14 | 0x3D<<7 | 0x0D, - 27957 - 19968: jis0208<<14 | 0x3D<<7 | 0x0C, - 27958 - 19968: jis0208<<14 | 0x3D<<7 | 0x07, - 27960 - 19968: jis0208<<14 | 0x3D<<7 | 0x0A, - 27961 - 19968: jis0212<<14 | 0x26<<7 | 0x19, - 27963 - 19968: jis0208<<14 | 0x12<<7 | 0x47, - 27964 - 19968: jis0212<<14 | 0x26<<7 | 0x1A, - 27965 - 19968: jis0208<<14 | 0x3D<<7 | 0x09, - 27966 - 19968: jis0208<<14 | 0x26<<7 | 0x28, - 27967 - 19968: jis0212<<14 | 0x26<<7 | 0x1B, - 27969 - 19968: jis0208<<14 | 0x2D<<7 | 0x0D, - 27972 - 19968: jis0208<<14 | 0x1D<<7 | 0x53, - 27973 - 19968: jis0208<<14 | 0x1F<<7 | 0x54, - 27991 - 19968: jis0212<<14 | 0x26<<7 | 0x1C, - 27993 - 19968: jis0208<<14 | 0x3D<<7 | 0x15, - 27994 - 19968: jis0208<<14 | 0x3D<<7 | 0x13, - 27996 - 19968: jis0208<<14 | 0x28<<7 | 0x2C, - 27998 - 19968: jis0212<<14 | 0x26<<7 | 0x1D, - 27999 - 19968: jis0212<<14 | 0x26<<7 | 0x1E, - 28001 - 19968: jis0212<<14 | 0x26<<7 | 0x1F, - 28003 - 19968: jis0208<<14 | 0x3D<<7 | 0x10, - 28004 - 19968: jis0208<<14 | 0x3D<<7 | 0x12, - 28005 - 19968: jis0212<<14 | 0x26<<7 | 0x20, - 28006 - 19968: jis0208<<14 | 0x10<<7 | 0x19, - 28007 - 19968: jis0212<<14 | 0x26<<7 | 0x21, - 28009 - 19968: jis0208<<14 | 0x18<<7 | 0x1F, - 28010 - 19968: jis0208<<14 | 0x2E<<7 | 0x11, - 28012 - 19968: jis0208<<14 | 0x12<<7 | 0x1C, - 28014 - 19968: jis0208<<14 | 0x28<<7 | 0x41, - 28015 - 19968: jis0208<<14 | 0x59<<7 | 0x41, - 28016 - 19968: jis0212<<14 | 0x26<<7 | 0x23, - 28020 - 19968: jis0208<<14 | 0x2C<<7 | 0x40, - 28023 - 19968: jis0208<<14 | 0x12<<7 | 0x03, - 28024 - 19968: jis0208<<14 | 0x1E<<7 | 0x1A, - 28025 - 19968: jis0208<<14 | 0x3D<<7 | 0x14, - 28028 - 19968: jis0212<<14 | 0x26<<7 | 0x24, - 28034 - 19968: jis0212<<14 | 0x26<<7 | 0x25, - 28037 - 19968: jis0208<<14 | 0x3D<<7 | 0x19, - 28039 - 19968: jis0208<<14 | 0x59<<7 | 0x40, - 28040 - 19968: jis0208<<14 | 0x1D<<7 | 0x22, - 28044 - 19968: jis0208<<14 | 0x2C<<7 | 0x0F, - 28046 - 19968: jis0208<<14 | 0x3D<<7 | 0x16, - 28049 - 19968: jis0212<<14 | 0x26<<7 | 0x27, - 28050 - 19968: jis0212<<14 | 0x26<<7 | 0x28, - 28051 - 19968: jis0208<<14 | 0x3D<<7 | 0x11, - 28052 - 19968: jis0212<<14 | 0x26<<7 | 0x29, - 28053 - 19968: jis0208<<14 | 0x3D<<7 | 0x17, - 28054 - 19968: jis0208<<14 | 0x59<<7 | 0x42, - 28055 - 19968: jis0212<<14 | 0x26<<7 | 0x2B, - 28056 - 19968: jis0212<<14 | 0x26<<7 | 0x2C, - 28057 - 19968: jis0208<<14 | 0x2D<<7 | 0x3D, - 28059 - 19968: jis0208<<14 | 0x24<<7 | 0x52, - 28060 - 19968: jis0208<<14 | 0x25<<7 | 0x21, - 28074 - 19968: jis0212<<14 | 0x26<<7 | 0x2D, - 28076 - 19968: jis0208<<14 | 0x59<<7 | 0x43, - 28079 - 19968: jis0208<<14 | 0x12<<7 | 0x15, - 28082 - 19968: jis0208<<14 | 0x10<<7 | 0x34, - 28084 - 19968: jis0212<<14 | 0x26<<7 | 0x2F, - 28085 - 19968: jis0208<<14 | 0x3D<<7 | 0x1D, - 28087 - 19968: jis0212<<14 | 0x26<<7 | 0x30, - 28088 - 19968: jis0208<<14 | 0x3D<<7 | 0x20, - 28089 - 19968: jis0212<<14 | 0x26<<7 | 0x31, - 28092 - 19968: jis0208<<14 | 0x2D<<7 | 0x22, - 28093 - 19968: jis0212<<14 | 0x26<<7 | 0x32, - 28095 - 19968: jis0212<<14 | 0x26<<7 | 0x33, - 28096 - 19968: jis0208<<14 | 0x2C<<7 | 0x43, - 28100 - 19968: jis0212<<14 | 0x26<<7 | 0x34, - 28101 - 19968: jis0208<<14 | 0x3D<<7 | 0x27, - 28102 - 19968: jis0208<<14 | 0x3D<<7 | 0x21, - 28103 - 19968: jis0208<<14 | 0x3D<<7 | 0x1E, - 28104 - 19968: jis0212<<14 | 0x26<<7 | 0x35, - 28106 - 19968: jis0212<<14 | 0x26<<7 | 0x36, - 28107 - 19968: jis0208<<14 | 0x2D<<7 | 0x33, - 28108 - 19968: jis0208<<14 | 0x3D<<7 | 0x24, - 28110 - 19968: jis0212<<14 | 0x26<<7 | 0x37, - 28111 - 19968: jis0208<<14 | 0x59<<7 | 0x44, - 28113 - 19968: jis0208<<14 | 0x1C<<7 | 0x29, - 28114 - 19968: jis0208<<14 | 0x3D<<7 | 0x26, - 28117 - 19968: jis0208<<14 | 0x3D<<7 | 0x2B, - 28118 - 19968: jis0212<<14 | 0x26<<7 | 0x39, - 28120 - 19968: jis0208<<14 | 0x24<<7 | 0x50, - 28121 - 19968: jis0208<<14 | 0x3D<<7 | 0x29, - 28123 - 19968: jis0212<<14 | 0x26<<7 | 0x3A, - 28125 - 19968: jis0212<<14 | 0x26<<7 | 0x3B, - 28126 - 19968: jis0208<<14 | 0x3D<<7 | 0x23, - 28127 - 19968: jis0212<<14 | 0x26<<7 | 0x3C, - 28128 - 19968: jis0212<<14 | 0x26<<7 | 0x3D, - 28129 - 19968: jis0208<<14 | 0x22<<7 | 0x17, - 28130 - 19968: jis0212<<14 | 0x26<<7 | 0x3E, - 28132 - 19968: jis0208<<14 | 0x3D<<7 | 0x2A, - 28133 - 19968: jis0212<<14 | 0x26<<7 | 0x3F, - 28134 - 19968: jis0208<<14 | 0x3D<<7 | 0x1F, - 28136 - 19968: jis0208<<14 | 0x3D<<7 | 0x25, - 28137 - 19968: jis0212<<14 | 0x26<<7 | 0x40, - 28138 - 19968: jis0208<<14 | 0x3D<<7 | 0x2C, - 28139 - 19968: jis0208<<14 | 0x0F<<7 | 0x5B, - 28140 - 19968: jis0208<<14 | 0x3D<<7 | 0x22, - 28142 - 19968: jis0208<<14 | 0x3D<<7 | 0x2D, - 28143 - 19968: jis0212<<14 | 0x26<<7 | 0x41, - 28144 - 19968: jis0212<<14 | 0x26<<7 | 0x42, - 28145 - 19968: jis0208<<14 | 0x1E<<7 | 0x1B, - 28146 - 19968: jis0208<<14 | 0x59<<7 | 0x46, - 28147 - 19968: jis0208<<14 | 0x1C<<7 | 0x3E, - 28148 - 19968: jis0212<<14 | 0x26<<7 | 0x43, - 28149 - 19968: jis0208<<14 | 0x29<<7 | 0x04, - 28150 - 19968: jis0212<<14 | 0x26<<7 | 0x44, - 28151 - 19968: jis0208<<14 | 0x19<<7 | 0x0D, - 28152 - 19968: jis0208<<14 | 0x59<<7 | 0x45, - 28153 - 19968: jis0208<<14 | 0x3D<<7 | 0x1A, - 28154 - 19968: jis0208<<14 | 0x3D<<7 | 0x28, - 28155 - 19968: jis0208<<14 | 0x24<<7 | 0x19, - 28156 - 19968: jis0208<<14 | 0x59<<7 | 0x47, - 28160 - 19968: jis0212<<14 | 0x26<<7 | 0x46, - 28164 - 19968: jis0212<<14 | 0x26<<7 | 0x47, - 28165 - 19968: jis0208<<14 | 0x1F<<7 | 0x15, - 28167 - 19968: jis0208<<14 | 0x12<<7 | 0x48, - 28168 - 19968: jis0208<<14 | 0x19<<7 | 0x30, - 28169 - 19968: jis0208<<14 | 0x1D<<7 | 0x23, - 28170 - 19968: jis0208<<14 | 0x3D<<7 | 0x1C, - 28171 - 19968: jis0208<<14 | 0x1C<<7 | 0x21, - 28179 - 19968: jis0208<<14 | 0x16<<7 | 0x2B, - 28181 - 19968: jis0208<<14 | 0x3D<<7 | 0x1B, - 28185 - 19968: jis0208<<14 | 0x3D<<7 | 0x31, - 28186 - 19968: jis0208<<14 | 0x1C<<7 | 0x4C, - 28187 - 19968: jis0208<<14 | 0x17<<7 | 0x19, - 28189 - 19968: jis0208<<14 | 0x3D<<7 | 0x40, - 28190 - 19968: jis0212<<14 | 0x26<<7 | 0x48, - 28191 - 19968: jis0208<<14 | 0x3D<<7 | 0x3A, - 28192 - 19968: jis0208<<14 | 0x14<<7 | 0x53, - 28193 - 19968: jis0208<<14 | 0x24<<7 | 0x2E, - 28194 - 19968: jis0212<<14 | 0x26<<7 | 0x49, - 28195 - 19968: jis0208<<14 | 0x3D<<7 | 0x35, - 28196 - 19968: jis0208<<14 | 0x3D<<7 | 0x3E, - 28197 - 19968: jis0208<<14 | 0x0F<<7 | 0x0E, - 28198 - 19968: jis0208<<14 | 0x10<<7 | 0x11, - 28199 - 19968: jis0208<<14 | 0x59<<7 | 0x4A, - 28201 - 19968: jis0208<<14 | 0x11<<7 | 0x18, - 28203 - 19968: jis0208<<14 | 0x3D<<7 | 0x37, - 28204 - 19968: jis0208<<14 | 0x21<<7 | 0x0B, - 28205 - 19968: jis0208<<14 | 0x3D<<7 | 0x2E, - 28206 - 19968: jis0208<<14 | 0x3D<<7 | 0x30, - 28207 - 19968: jis0208<<14 | 0x18<<7 | 0x20, - 28210 - 19968: jis0212<<14 | 0x26<<7 | 0x4B, - 28214 - 19968: jis0212<<14 | 0x26<<7 | 0x4C, - 28216 - 19968: jis0208<<14 | 0x3D<<7 | 0x41, - 28217 - 19968: jis0208<<14 | 0x59<<7 | 0x48, - 28218 - 19968: jis0208<<14 | 0x3D<<7 | 0x3C, - 28219 - 19968: jis0212<<14 | 0x26<<7 | 0x4E, - 28220 - 19968: jis0208<<14 | 0x59<<7 | 0x4B, - 28222 - 19968: jis0208<<14 | 0x3D<<7 | 0x34, - 28227 - 19968: jis0208<<14 | 0x3D<<7 | 0x3B, - 28228 - 19968: jis0212<<14 | 0x26<<7 | 0x50, - 28229 - 19968: jis0212<<14 | 0x26<<7 | 0x51, - 28232 - 19968: jis0212<<14 | 0x26<<7 | 0x52, - 28233 - 19968: jis0212<<14 | 0x26<<7 | 0x53, - 28234 - 19968: jis0208<<14 | 0x2B<<7 | 0x0A, - 28235 - 19968: jis0212<<14 | 0x26<<7 | 0x54, - 28237 - 19968: jis0208<<14 | 0x3D<<7 | 0x39, - 28238 - 19968: jis0208<<14 | 0x3D<<7 | 0x3D, - 28239 - 19968: jis0212<<14 | 0x26<<7 | 0x55, - 28241 - 19968: jis0212<<14 | 0x26<<7 | 0x56, - 28242 - 19968: jis0212<<14 | 0x26<<7 | 0x57, - 28243 - 19968: jis0212<<14 | 0x26<<7 | 0x58, - 28244 - 19968: jis0212<<14 | 0x26<<7 | 0x59, - 28246 - 19968: jis0208<<14 | 0x17<<7 | 0x2F, - 28247 - 19968: jis0212<<14 | 0x26<<7 | 0x5A, - 28248 - 19968: jis0208<<14 | 0x1D<<7 | 0x24, - 28251 - 19968: jis0208<<14 | 0x22<<7 | 0x18, - 28252 - 19968: jis0208<<14 | 0x59<<7 | 0x49, - 28253 - 19968: jis0212<<14 | 0x26<<7 | 0x5C, - 28254 - 19968: jis0212<<14 | 0x26<<7 | 0x5D, - 28255 - 19968: jis0208<<14 | 0x3D<<7 | 0x33, - 28258 - 19968: jis0212<<14 | 0x27<<7 | 0x00, - 28259 - 19968: jis0212<<14 | 0x27<<7 | 0x01, - 28263 - 19968: jis0208<<14 | 0x2C<<7 | 0x0E, - 28264 - 19968: jis0212<<14 | 0x27<<7 | 0x02, - 28267 - 19968: jis0208<<14 | 0x3D<<7 | 0x36, - 28270 - 19968: jis0208<<14 | 0x3D<<7 | 0x2F, - 28271 - 19968: jis0208<<14 | 0x24<<7 | 0x51, - 28274 - 19968: jis0208<<14 | 0x3D<<7 | 0x32, - 28275 - 19968: jis0212<<14 | 0x27<<7 | 0x03, - 28278 - 19968: jis0208<<14 | 0x3D<<7 | 0x38, - 28283 - 19968: jis0212<<14 | 0x27<<7 | 0x04, - 28285 - 19968: jis0212<<14 | 0x27<<7 | 0x05, - 28286 - 19968: jis0208<<14 | 0x2E<<7 | 0x30, - 28287 - 19968: jis0208<<14 | 0x1B<<7 | 0x1D, - 28288 - 19968: jis0208<<14 | 0x2A<<7 | 0x5D, - 28290 - 19968: jis0208<<14 | 0x3D<<7 | 0x42, - 28300 - 19968: jis0208<<14 | 0x27<<7 | 0x0D, - 28301 - 19968: jis0212<<14 | 0x27<<7 | 0x06, - 28303 - 19968: jis0208<<14 | 0x3D<<7 | 0x4E, - 28304 - 19968: jis0208<<14 | 0x17<<7 | 0x1A, - 28307 - 19968: jis0212<<14 | 0x27<<7 | 0x07, - 28310 - 19968: jis0208<<14 | 0x1C<<7 | 0x3F, - 28312 - 19968: jis0208<<14 | 0x3D<<7 | 0x44, - 28313 - 19968: jis0212<<14 | 0x27<<7 | 0x08, - 28316 - 19968: jis0208<<14 | 0x2D<<7 | 0x0E, - 28317 - 19968: jis0208<<14 | 0x18<<7 | 0x21, - 28319 - 19968: jis0208<<14 | 0x3D<<7 | 0x51, - 28320 - 19968: jis0212<<14 | 0x27<<7 | 0x09, - 28322 - 19968: jis0208<<14 | 0x0F<<7 | 0x4D, - 28325 - 19968: jis0208<<14 | 0x3D<<7 | 0x4F, - 28327 - 19968: jis0212<<14 | 0x27<<7 | 0x0A, - 28330 - 19968: jis0208<<14 | 0x3D<<7 | 0x43, - 28333 - 19968: jis0212<<14 | 0x27<<7 | 0x0B, - 28334 - 19968: jis0212<<14 | 0x27<<7 | 0x0C, - 28335 - 19968: jis0208<<14 | 0x3D<<7 | 0x49, - 28337 - 19968: jis0212<<14 | 0x27<<7 | 0x0D, - 28338 - 19968: jis0208<<14 | 0x3D<<7 | 0x4B, - 28339 - 19968: jis0212<<14 | 0x27<<7 | 0x0E, - 28342 - 19968: jis0208<<14 | 0x2C<<7 | 0x2E, - 28343 - 19968: jis0208<<14 | 0x3D<<7 | 0x46, - 28346 - 19968: jis0208<<14 | 0x24<<7 | 0x0D, - 28347 - 19968: jis0212<<14 | 0x27<<7 | 0x0F, - 28349 - 19968: jis0208<<14 | 0x3D<<7 | 0x48, - 28351 - 19968: jis0208<<14 | 0x59<<7 | 0x4C, - 28352 - 19968: jis0212<<14 | 0x27<<7 | 0x11, - 28353 - 19968: jis0212<<14 | 0x27<<7 | 0x12, - 28354 - 19968: jis0208<<14 | 0x3D<<7 | 0x50, - 28355 - 19968: jis0212<<14 | 0x27<<7 | 0x13, - 28356 - 19968: jis0208<<14 | 0x3D<<7 | 0x4A, - 28357 - 19968: jis0208<<14 | 0x2B<<7 | 0x26, - 28359 - 19968: jis0212<<14 | 0x27<<7 | 0x14, - 28360 - 19968: jis0212<<14 | 0x27<<7 | 0x15, - 28361 - 19968: jis0208<<14 | 0x3D<<7 | 0x45, - 28362 - 19968: jis0212<<14 | 0x27<<7 | 0x16, - 28363 - 19968: jis0208<<14 | 0x1B<<7 | 0x01, - 28364 - 19968: jis0208<<14 | 0x3D<<7 | 0x5D, - 28365 - 19968: jis0212<<14 | 0x27<<7 | 0x17, - 28366 - 19968: jis0212<<14 | 0x27<<7 | 0x18, - 28367 - 19968: jis0212<<14 | 0x27<<7 | 0x19, - 28369 - 19968: jis0208<<14 | 0x12<<7 | 0x49, - 28371 - 19968: jis0208<<14 | 0x3D<<7 | 0x47, - 28372 - 19968: jis0208<<14 | 0x3D<<7 | 0x4C, - 28373 - 19968: jis0208<<14 | 0x3D<<7 | 0x4D, - 28381 - 19968: jis0208<<14 | 0x21<<7 | 0x4B, - 28382 - 19968: jis0208<<14 | 0x21<<7 | 0x39, - 28395 - 19968: jis0212<<14 | 0x27<<7 | 0x1A, - 28396 - 19968: jis0208<<14 | 0x3D<<7 | 0x55, - 28397 - 19968: jis0212<<14 | 0x27<<7 | 0x1B, - 28398 - 19968: jis0212<<14 | 0x27<<7 | 0x1C, - 28399 - 19968: jis0208<<14 | 0x3D<<7 | 0x5B, - 28402 - 19968: jis0208<<14 | 0x3D<<7 | 0x59, - 28404 - 19968: jis0208<<14 | 0x24<<7 | 0x08, - 28407 - 19968: jis0208<<14 | 0x3E<<7 | 0x02, - 28408 - 19968: jis0208<<14 | 0x3D<<7 | 0x56, - 28409 - 19968: jis0212<<14 | 0x27<<7 | 0x1D, - 28411 - 19968: jis0212<<14 | 0x27<<7 | 0x1E, - 28413 - 19968: jis0212<<14 | 0x27<<7 | 0x1F, - 28414 - 19968: jis0208<<14 | 0x3D<<7 | 0x57, - 28415 - 19968: jis0208<<14 | 0x3D<<7 | 0x3F, - 28417 - 19968: jis0208<<14 | 0x14<<7 | 0x58, - 28418 - 19968: jis0208<<14 | 0x28<<7 | 0x19, - 28420 - 19968: jis0212<<14 | 0x27<<7 | 0x20, - 28422 - 19968: jis0208<<14 | 0x1B<<7 | 0x1E, - 28424 - 19968: jis0212<<14 | 0x27<<7 | 0x21, - 28425 - 19968: jis0208<<14 | 0x18<<7 | 0x56, - 28426 - 19968: jis0212<<14 | 0x27<<7 | 0x22, - 28428 - 19968: jis0212<<14 | 0x27<<7 | 0x23, - 28429 - 19968: jis0212<<14 | 0x27<<7 | 0x24, - 28431 - 19968: jis0208<<14 | 0x2E<<7 | 0x12, - 28433 - 19968: jis0208<<14 | 0x3D<<7 | 0x53, - 28435 - 19968: jis0208<<14 | 0x3E<<7 | 0x01, - 28436 - 19968: jis0208<<14 | 0x10<<7 | 0x48, - 28437 - 19968: jis0208<<14 | 0x20<<7 | 0x45, - 28438 - 19968: jis0212<<14 | 0x27<<7 | 0x25, - 28440 - 19968: jis0212<<14 | 0x27<<7 | 0x26, - 28442 - 19968: jis0212<<14 | 0x27<<7 | 0x27, - 28443 - 19968: jis0212<<14 | 0x27<<7 | 0x28, - 28448 - 19968: jis0208<<14 | 0x26<<7 | 0x58, - 28450 - 19968: jis0208<<14 | 0x13<<7 | 0x20, - 28451 - 19968: jis0208<<14 | 0x2D<<7 | 0x59, - 28454 - 19968: jis0212<<14 | 0x27<<7 | 0x29, - 28457 - 19968: jis0212<<14 | 0x27<<7 | 0x2A, - 28458 - 19968: jis0212<<14 | 0x27<<7 | 0x2B, - 28459 - 19968: jis0208<<14 | 0x2B<<7 | 0x00, - 28460 - 19968: jis0208<<14 | 0x23<<7 | 0x31, - 28461 - 19968: jis0212<<14 | 0x27<<7 | 0x32, - 28463 - 19968: jis0212<<14 | 0x27<<7 | 0x2C, - 28464 - 19968: jis0212<<14 | 0x27<<7 | 0x2D, - 28465 - 19968: jis0208<<14 | 0x3D<<7 | 0x5A, - 28466 - 19968: jis0208<<14 | 0x3D<<7 | 0x5C, - 28467 - 19968: jis0212<<14 | 0x27<<7 | 0x2E, - 28470 - 19968: jis0212<<14 | 0x27<<7 | 0x2F, - 28472 - 19968: jis0208<<14 | 0x20<<7 | 0x11, - 28475 - 19968: jis0212<<14 | 0x27<<7 | 0x30, - 28476 - 19968: jis0212<<14 | 0x27<<7 | 0x31, - 28478 - 19968: jis0208<<14 | 0x3E<<7 | 0x00, - 28479 - 19968: jis0208<<14 | 0x3D<<7 | 0x58, - 28481 - 19968: jis0208<<14 | 0x3D<<7 | 0x52, - 28485 - 19968: jis0208<<14 | 0x13<<7 | 0x22, - 28495 - 19968: jis0212<<14 | 0x27<<7 | 0x33, - 28497 - 19968: jis0212<<14 | 0x27<<7 | 0x34, - 28498 - 19968: jis0212<<14 | 0x27<<7 | 0x35, - 28499 - 19968: jis0212<<14 | 0x27<<7 | 0x36, - 28500 - 19968: jis0208<<14 | 0x16<<7 | 0x48, - 28503 - 19968: jis0212<<14 | 0x27<<7 | 0x37, - 28504 - 19968: jis0208<<14 | 0x3E<<7 | 0x0E, - 28505 - 19968: jis0212<<14 | 0x27<<7 | 0x38, - 28506 - 19968: jis0212<<14 | 0x27<<7 | 0x39, - 28507 - 19968: jis0208<<14 | 0x3E<<7 | 0x09, - 28508 - 19968: jis0208<<14 | 0x1F<<7 | 0x57, - 28509 - 19968: jis0212<<14 | 0x27<<7 | 0x3A, - 28510 - 19968: jis0212<<14 | 0x27<<7 | 0x3B, - 28511 - 19968: jis0208<<14 | 0x12<<7 | 0x42, - 28513 - 19968: jis0212<<14 | 0x27<<7 | 0x3C, - 28514 - 19968: jis0212<<14 | 0x27<<7 | 0x3D, - 28516 - 19968: jis0208<<14 | 0x1C<<7 | 0x40, - 28518 - 19968: jis0208<<14 | 0x3E<<7 | 0x12, - 28520 - 19968: jis0212<<14 | 0x27<<7 | 0x3E, - 28524 - 19968: jis0212<<14 | 0x27<<7 | 0x3F, - 28525 - 19968: jis0208<<14 | 0x3E<<7 | 0x0B, - 28526 - 19968: jis0208<<14 | 0x23<<7 | 0x0B, - 28527 - 19968: jis0208<<14 | 0x3E<<7 | 0x08, - 28528 - 19968: jis0208<<14 | 0x23<<7 | 0x38, - 28532 - 19968: jis0208<<14 | 0x3E<<7 | 0x2B, - 28536 - 19968: jis0208<<14 | 0x3E<<7 | 0x05, - 28538 - 19968: jis0208<<14 | 0x3E<<7 | 0x04, - 28540 - 19968: jis0208<<14 | 0x3E<<7 | 0x0D, - 28541 - 19968: jis0212<<14 | 0x27<<7 | 0x40, - 28542 - 19968: jis0212<<14 | 0x27<<7 | 0x41, - 28544 - 19968: jis0208<<14 | 0x3E<<7 | 0x07, - 28545 - 19968: jis0208<<14 | 0x3E<<7 | 0x06, - 28546 - 19968: jis0208<<14 | 0x3E<<7 | 0x0C, - 28547 - 19968: jis0212<<14 | 0x27<<7 | 0x42, - 28548 - 19968: jis0208<<14 | 0x1F<<7 | 0x00, - 28550 - 19968: jis0208<<14 | 0x3E<<7 | 0x03, - 28551 - 19968: jis0212<<14 | 0x27<<7 | 0x43, - 28552 - 19968: jis0208<<14 | 0x59<<7 | 0x4D, - 28555 - 19968: jis0212<<14 | 0x27<<7 | 0x45, - 28556 - 19968: jis0212<<14 | 0x27<<7 | 0x46, - 28557 - 19968: jis0212<<14 | 0x27<<7 | 0x47, - 28558 - 19968: jis0208<<14 | 0x3E<<7 | 0x0F, - 28560 - 19968: jis0212<<14 | 0x27<<7 | 0x48, - 28561 - 19968: jis0208<<14 | 0x3E<<7 | 0x10, - 28562 - 19968: jis0212<<14 | 0x27<<7 | 0x49, - 28563 - 19968: jis0212<<14 | 0x27<<7 | 0x4A, - 28564 - 19968: jis0212<<14 | 0x27<<7 | 0x4B, - 28566 - 19968: jis0212<<14 | 0x27<<7 | 0x4C, - 28567 - 19968: jis0208<<14 | 0x13<<7 | 0x21, - 28570 - 19968: jis0212<<14 | 0x27<<7 | 0x4D, - 28575 - 19968: jis0212<<14 | 0x27<<7 | 0x4E, - 28576 - 19968: jis0212<<14 | 0x27<<7 | 0x4F, - 28577 - 19968: jis0208<<14 | 0x3E<<7 | 0x15, - 28579 - 19968: jis0208<<14 | 0x3E<<7 | 0x14, - 28580 - 19968: jis0208<<14 | 0x3E<<7 | 0x16, - 28581 - 19968: jis0212<<14 | 0x27<<7 | 0x50, - 28582 - 19968: jis0212<<14 | 0x27<<7 | 0x51, - 28583 - 19968: jis0212<<14 | 0x27<<7 | 0x52, - 28584 - 19968: jis0212<<14 | 0x27<<7 | 0x53, - 28586 - 19968: jis0208<<14 | 0x3E<<7 | 0x19, - 28590 - 19968: jis0212<<14 | 0x27<<7 | 0x54, - 28591 - 19968: jis0212<<14 | 0x27<<7 | 0x55, - 28592 - 19968: jis0212<<14 | 0x27<<7 | 0x56, - 28593 - 19968: jis0208<<14 | 0x24<<7 | 0x22, - 28595 - 19968: jis0208<<14 | 0x3E<<7 | 0x13, - 28597 - 19968: jis0208<<14 | 0x59<<7 | 0x4E, - 28598 - 19968: jis0212<<14 | 0x27<<7 | 0x58, - 28601 - 19968: jis0208<<14 | 0x3E<<7 | 0x17, - 28604 - 19968: jis0212<<14 | 0x27<<7 | 0x59, - 28608 - 19968: jis0208<<14 | 0x16<<7 | 0x42, - 28609 - 19968: jis0208<<14 | 0x21<<7 | 0x58, - 28610 - 19968: jis0208<<14 | 0x3E<<7 | 0x11, - 28611 - 19968: jis0208<<14 | 0x26<<7 | 0x1A, - 28613 - 19968: jis0212<<14 | 0x27<<7 | 0x5A, - 28614 - 19968: jis0208<<14 | 0x3E<<7 | 0x18, - 28615 - 19968: jis0212<<14 | 0x27<<7 | 0x5B, - 28616 - 19968: jis0212<<14 | 0x27<<7 | 0x5C, - 28618 - 19968: jis0212<<14 | 0x27<<7 | 0x5D, - 28628 - 19968: jis0208<<14 | 0x3E<<7 | 0x1D, - 28629 - 19968: jis0208<<14 | 0x3E<<7 | 0x1B, - 28632 - 19968: jis0208<<14 | 0x3E<<7 | 0x1E, - 28634 - 19968: jis0212<<14 | 0x28<<7 | 0x00, - 28635 - 19968: jis0208<<14 | 0x3E<<7 | 0x21, - 28638 - 19968: jis0212<<14 | 0x28<<7 | 0x01, - 28639 - 19968: jis0208<<14 | 0x3E<<7 | 0x1A, - 28640 - 19968: jis0208<<14 | 0x18<<7 | 0x49, - 28641 - 19968: jis0208<<14 | 0x26<<7 | 0x07, - 28644 - 19968: jis0208<<14 | 0x3D<<7 | 0x18, - 28648 - 19968: jis0212<<14 | 0x28<<7 | 0x02, - 28649 - 19968: jis0212<<14 | 0x28<<7 | 0x03, - 28651 - 19968: jis0208<<14 | 0x2C<<7 | 0x53, - 28652 - 19968: jis0208<<14 | 0x3E<<7 | 0x1C, - 28654 - 19968: jis0208<<14 | 0x3E<<7 | 0x20, - 28655 - 19968: jis0208<<14 | 0x21<<7 | 0x54, - 28656 - 19968: jis0212<<14 | 0x28<<7 | 0x04, - 28657 - 19968: jis0208<<14 | 0x3E<<7 | 0x1F, - 28659 - 19968: jis0208<<14 | 0x3E<<7 | 0x0A, - 28661 - 19968: jis0208<<14 | 0x59<<7 | 0x4F, - 28662 - 19968: jis0208<<14 | 0x4E<<7 | 0x48, - 28665 - 19968: jis0212<<14 | 0x28<<7 | 0x06, - 28666 - 19968: jis0208<<14 | 0x3E<<7 | 0x24, - 28668 - 19968: jis0212<<14 | 0x28<<7 | 0x07, - 28669 - 19968: jis0212<<14 | 0x28<<7 | 0x08, - 28670 - 19968: jis0208<<14 | 0x3E<<7 | 0x28, - 28672 - 19968: jis0212<<14 | 0x28<<7 | 0x09, - 28673 - 19968: jis0208<<14 | 0x3E<<7 | 0x26, - 28677 - 19968: jis0208<<14 | 0x59<<7 | 0x50, - 28678 - 19968: jis0212<<14 | 0x28<<7 | 0x0B, - 28679 - 19968: jis0208<<14 | 0x59<<7 | 0x51, - 28681 - 19968: jis0208<<14 | 0x3E<<7 | 0x22, - 28683 - 19968: jis0208<<14 | 0x3E<<7 | 0x23, - 28685 - 19968: jis0212<<14 | 0x28<<7 | 0x0D, - 28687 - 19968: jis0208<<14 | 0x3E<<7 | 0x27, - 28689 - 19968: jis0208<<14 | 0x3E<<7 | 0x25, - 28693 - 19968: jis0208<<14 | 0x28<<7 | 0x2D, - 28695 - 19968: jis0212<<14 | 0x28<<7 | 0x0E, - 28696 - 19968: jis0208<<14 | 0x3E<<7 | 0x2D, - 28698 - 19968: jis0208<<14 | 0x3E<<7 | 0x2A, - 28699 - 19968: jis0208<<14 | 0x3E<<7 | 0x29, - 28701 - 19968: jis0208<<14 | 0x3E<<7 | 0x2C, - 28702 - 19968: jis0208<<14 | 0x25<<7 | 0x33, - 28703 - 19968: jis0208<<14 | 0x3E<<7 | 0x2E, - 28704 - 19968: jis0212<<14 | 0x28<<7 | 0x0F, - 28707 - 19968: jis0212<<14 | 0x28<<7 | 0x10, - 28710 - 19968: jis0208<<14 | 0x22<<7 | 0x54, - 28711 - 19968: jis0208<<14 | 0x21<<7 | 0x4C, - 28712 - 19968: jis0208<<14 | 0x59<<7 | 0x52, - 28716 - 19968: jis0208<<14 | 0x1F<<7 | 0x04, - 28719 - 19968: jis0212<<14 | 0x28<<7 | 0x11, - 28720 - 19968: jis0208<<14 | 0x3E<<7 | 0x2F, - 28722 - 19968: jis0208<<14 | 0x3E<<7 | 0x31, - 28724 - 19968: jis0212<<14 | 0x28<<7 | 0x12, - 28727 - 19968: jis0212<<14 | 0x28<<7 | 0x13, - 28729 - 19968: jis0212<<14 | 0x28<<7 | 0x14, - 28732 - 19968: jis0212<<14 | 0x28<<7 | 0x15, - 28734 - 19968: jis0208<<14 | 0x3E<<7 | 0x30, - 28739 - 19968: jis0212<<14 | 0x28<<7 | 0x16, - 28740 - 19968: jis0212<<14 | 0x28<<7 | 0x17, - 28744 - 19968: jis0212<<14 | 0x28<<7 | 0x18, - 28745 - 19968: jis0212<<14 | 0x28<<7 | 0x19, - 28746 - 19968: jis0212<<14 | 0x28<<7 | 0x1A, - 28747 - 19968: jis0212<<14 | 0x28<<7 | 0x1B, - 28748 - 19968: jis0208<<14 | 0x3D<<7 | 0x54, - 28750 - 19968: jis0212<<14 | 0x28<<7 | 0x20, - 28753 - 19968: jis0208<<14 | 0x3E<<7 | 0x32, - 28756 - 19968: jis0212<<14 | 0x28<<7 | 0x1C, - 28757 - 19968: jis0212<<14 | 0x28<<7 | 0x1D, - 28760 - 19968: jis0208<<14 | 0x25<<7 | 0x46, - 28765 - 19968: jis0212<<14 | 0x28<<7 | 0x1E, - 28766 - 19968: jis0212<<14 | 0x28<<7 | 0x1F, - 28771 - 19968: jis0208<<14 | 0x3E<<7 | 0x33, - 28772 - 19968: jis0212<<14 | 0x28<<7 | 0x21, - 28773 - 19968: jis0212<<14 | 0x28<<7 | 0x22, - 28779 - 19968: jis0208<<14 | 0x11<<7 | 0x2F, - 28780 - 19968: jis0212<<14 | 0x28<<7 | 0x23, - 28782 - 19968: jis0212<<14 | 0x28<<7 | 0x24, - 28783 - 19968: jis0208<<14 | 0x24<<7 | 0x53, - 28784 - 19968: jis0208<<14 | 0x12<<7 | 0x04, - 28789 - 19968: jis0212<<14 | 0x28<<7 | 0x25, - 28790 - 19968: jis0212<<14 | 0x28<<7 | 0x26, - 28792 - 19968: jis0208<<14 | 0x14<<7 | 0x43, - 28796 - 19968: jis0208<<14 | 0x1B<<7 | 0x3D, - 28797 - 19968: jis0208<<14 | 0x19<<7 | 0x31, - 28798 - 19968: jis0212<<14 | 0x28<<7 | 0x27, - 28801 - 19968: jis0212<<14 | 0x28<<7 | 0x28, - 28805 - 19968: jis0208<<14 | 0x59<<7 | 0x53, - 28806 - 19968: jis0212<<14 | 0x28<<7 | 0x2A, - 28809 - 19968: jis0208<<14 | 0x2E<<7 | 0x06, - 28810 - 19968: jis0208<<14 | 0x1E<<7 | 0x45, - 28814 - 19968: jis0208<<14 | 0x10<<7 | 0x49, - 28818 - 19968: jis0208<<14 | 0x3E<<7 | 0x35, - 28820 - 19968: jis0212<<14 | 0x28<<7 | 0x2B, - 28821 - 19968: jis0212<<14 | 0x28<<7 | 0x2C, - 28822 - 19968: jis0212<<14 | 0x28<<7 | 0x2D, - 28823 - 19968: jis0212<<14 | 0x28<<7 | 0x2E, - 28824 - 19968: jis0212<<14 | 0x28<<7 | 0x2F, - 28825 - 19968: jis0208<<14 | 0x3E<<7 | 0x34, - 28827 - 19968: jis0212<<14 | 0x28<<7 | 0x30, - 28836 - 19968: jis0212<<14 | 0x28<<7 | 0x31, - 28843 - 19968: jis0208<<14 | 0x59<<7 | 0x54, - 28844 - 19968: jis0208<<14 | 0x3E<<7 | 0x38, - 28845 - 19968: jis0208<<14 | 0x22<<7 | 0x19, - 28846 - 19968: jis0208<<14 | 0x3E<<7 | 0x3B, - 28847 - 19968: jis0208<<14 | 0x3E<<7 | 0x36, - 28848 - 19968: jis0212<<14 | 0x28<<7 | 0x33, - 28849 - 19968: jis0212<<14 | 0x28<<7 | 0x34, - 28851 - 19968: jis0208<<14 | 0x3E<<7 | 0x3A, - 28852 - 19968: jis0212<<14 | 0x28<<7 | 0x35, - 28855 - 19968: jis0212<<14 | 0x28<<7 | 0x36, - 28856 - 19968: jis0208<<14 | 0x3E<<7 | 0x39, - 28857 - 19968: jis0208<<14 | 0x24<<7 | 0x1F, - 28858 - 19968: jis0208<<14 | 0x0F<<7 | 0x38, - 28859 - 19968: jis0208<<14 | 0x58<<7 | 0x06, - 28872 - 19968: jis0208<<14 | 0x2D<<7 | 0x54, - 28874 - 19968: jis0212<<14 | 0x28<<7 | 0x37, - 28875 - 19968: jis0208<<14 | 0x3E<<7 | 0x3D, - 28879 - 19968: jis0208<<14 | 0x10<<7 | 0x07, - 28881 - 19968: jis0212<<14 | 0x28<<7 | 0x38, - 28883 - 19968: jis0212<<14 | 0x28<<7 | 0x39, - 28884 - 19968: jis0212<<14 | 0x28<<7 | 0x3A, - 28885 - 19968: jis0212<<14 | 0x28<<7 | 0x3B, - 28886 - 19968: jis0212<<14 | 0x28<<7 | 0x3C, - 28888 - 19968: jis0212<<14 | 0x28<<7 | 0x3D, - 28889 - 19968: jis0208<<14 | 0x3E<<7 | 0x3F, - 28892 - 19968: jis0212<<14 | 0x28<<7 | 0x3E, - 28893 - 19968: jis0208<<14 | 0x3E<<7 | 0x3E, - 28895 - 19968: jis0208<<14 | 0x3E<<7 | 0x3C, - 28900 - 19968: jis0212<<14 | 0x28<<7 | 0x3F, - 28913 - 19968: jis0208<<14 | 0x3E<<7 | 0x37, - 28921 - 19968: jis0208<<14 | 0x2A<<7 | 0x02, - 28922 - 19968: jis0212<<14 | 0x28<<7 | 0x40, - 28925 - 19968: jis0208<<14 | 0x3E<<7 | 0x41, - 28931 - 19968: jis0212<<14 | 0x28<<7 | 0x41, - 28932 - 19968: jis0208<<14 | 0x59<<7 | 0x56, - 28933 - 19968: jis0212<<14 | 0x28<<7 | 0x43, - 28934 - 19968: jis0212<<14 | 0x28<<7 | 0x44, - 28935 - 19968: jis0212<<14 | 0x28<<7 | 0x45, - 28937 - 19968: jis0208<<14 | 0x3E<<7 | 0x40, - 28939 - 19968: jis0212<<14 | 0x28<<7 | 0x46, - 28940 - 19968: jis0212<<14 | 0x28<<7 | 0x47, - 28943 - 19968: jis0208<<14 | 0x59<<7 | 0x55, - 28948 - 19968: jis0208<<14 | 0x10<<7 | 0x4A, - 28953 - 19968: jis0208<<14 | 0x3E<<7 | 0x43, - 28954 - 19968: jis0208<<14 | 0x29<<7 | 0x11, - 28956 - 19968: jis0208<<14 | 0x3E<<7 | 0x42, - 28958 - 19968: jis0212<<14 | 0x28<<7 | 0x49, - 28960 - 19968: jis0212<<14 | 0x28<<7 | 0x4A, - 28961 - 19968: jis0208<<14 | 0x2B<<7 | 0x14, - 28966 - 19968: jis0208<<14 | 0x1D<<7 | 0x26, - 28971 - 19968: jis0212<<14 | 0x28<<7 | 0x4B, - 28973 - 19968: jis0212<<14 | 0x28<<7 | 0x4C, - 28975 - 19968: jis0212<<14 | 0x28<<7 | 0x4D, - 28976 - 19968: jis0212<<14 | 0x28<<7 | 0x4E, - 28977 - 19968: jis0212<<14 | 0x28<<7 | 0x4F, - 28982 - 19968: jis0208<<14 | 0x20<<7 | 0x12, - 28984 - 19968: jis0212<<14 | 0x28<<7 | 0x50, - 28988 - 19968: jis0208<<14 | 0x1D<<7 | 0x25, - 28993 - 19968: jis0212<<14 | 0x28<<7 | 0x51, - 28997 - 19968: jis0212<<14 | 0x28<<7 | 0x52, - 28998 - 19968: jis0208<<14 | 0x59<<7 | 0x58, - 28999 - 19968: jis0208<<14 | 0x59<<7 | 0x59, - 29001 - 19968: jis0208<<14 | 0x2D<<7 | 0x5A, - 29002 - 19968: jis0212<<14 | 0x28<<7 | 0x55, - 29003 - 19968: jis0212<<14 | 0x28<<7 | 0x56, - 29004 - 19968: jis0208<<14 | 0x3E<<7 | 0x49, - 29006 - 19968: jis0208<<14 | 0x1F<<7 | 0x58, - 29008 - 19968: jis0212<<14 | 0x28<<7 | 0x57, - 29010 - 19968: jis0212<<14 | 0x28<<7 | 0x58, - 29013 - 19968: jis0208<<14 | 0x3E<<7 | 0x45, - 29014 - 19968: jis0208<<14 | 0x3E<<7 | 0x4A, - 29015 - 19968: jis0212<<14 | 0x28<<7 | 0x59, - 29017 - 19968: jis0208<<14 | 0x10<<7 | 0x4B, - 29018 - 19968: jis0212<<14 | 0x28<<7 | 0x5A, - 29020 - 19968: jis0208<<14 | 0x59<<7 | 0x57, - 29022 - 19968: jis0212<<14 | 0x28<<7 | 0x5C, - 29024 - 19968: jis0212<<14 | 0x28<<7 | 0x5D, - 29026 - 19968: jis0208<<14 | 0x3E<<7 | 0x48, - 29028 - 19968: jis0208<<14 | 0x26<<7 | 0x40, - 29029 - 19968: jis0208<<14 | 0x3E<<7 | 0x44, - 29030 - 19968: jis0208<<14 | 0x3E<<7 | 0x47, - 29031 - 19968: jis0208<<14 | 0x1D<<7 | 0x27, - 29032 - 19968: jis0212<<14 | 0x29<<7 | 0x00, - 29033 - 19968: jis0208<<14 | 0x27<<7 | 0x30, - 29036 - 19968: jis0208<<14 | 0x3E<<7 | 0x4B, - 29038 - 19968: jis0208<<14 | 0x1B<<7 | 0x30, - 29049 - 19968: jis0212<<14 | 0x29<<7 | 0x01, - 29053 - 19968: jis0208<<14 | 0x1F<<7 | 0x59, - 29056 - 19968: jis0212<<14 | 0x29<<7 | 0x02, - 29060 - 19968: jis0208<<14 | 0x3E<<7 | 0x4E, - 29061 - 19968: jis0212<<14 | 0x29<<7 | 0x03, - 29063 - 19968: jis0212<<14 | 0x29<<7 | 0x04, - 29064 - 19968: jis0208<<14 | 0x3E<<7 | 0x46, - 29066 - 19968: jis0208<<14 | 0x16<<7 | 0x06, - 29068 - 19968: jis0212<<14 | 0x29<<7 | 0x05, - 29071 - 19968: jis0208<<14 | 0x3E<<7 | 0x4C, - 29074 - 19968: jis0212<<14 | 0x29<<7 | 0x06, - 29076 - 19968: jis0208<<14 | 0x2C<<7 | 0x2F, - 29077 - 19968: jis0208<<14 | 0x3E<<7 | 0x4F, - 29081 - 19968: jis0208<<14 | 0x53<<7 | 0x05, - 29082 - 19968: jis0212<<14 | 0x29<<7 | 0x07, - 29083 - 19968: jis0212<<14 | 0x29<<7 | 0x08, - 29087 - 19968: jis0208<<14 | 0x1C<<7 | 0x2E, - 29088 - 19968: jis0212<<14 | 0x29<<7 | 0x09, - 29090 - 19968: jis0212<<14 | 0x29<<7 | 0x0A, - 29096 - 19968: jis0208<<14 | 0x3E<<7 | 0x50, - 29100 - 19968: jis0208<<14 | 0x3E<<7 | 0x51, - 29103 - 19968: jis0212<<14 | 0x29<<7 | 0x0B, - 29104 - 19968: jis0212<<14 | 0x29<<7 | 0x0C, - 29105 - 19968: jis0208<<14 | 0x26<<7 | 0x0D, - 29106 - 19968: jis0212<<14 | 0x29<<7 | 0x0D, - 29107 - 19968: jis0212<<14 | 0x29<<7 | 0x0E, - 29113 - 19968: jis0208<<14 | 0x3E<<7 | 0x53, - 29114 - 19968: jis0212<<14 | 0x29<<7 | 0x0F, - 29118 - 19968: jis0208<<14 | 0x3E<<7 | 0x54, - 29119 - 19968: jis0212<<14 | 0x29<<7 | 0x10, - 29120 - 19968: jis0212<<14 | 0x29<<7 | 0x11, - 29121 - 19968: jis0208<<14 | 0x59<<7 | 0x5B, - 29123 - 19968: jis0208<<14 | 0x26<<7 | 0x12, - 29124 - 19968: jis0212<<14 | 0x29<<7 | 0x13, - 29128 - 19968: jis0208<<14 | 0x24<<7 | 0x54, - 29129 - 19968: jis0208<<14 | 0x3E<<7 | 0x56, - 29131 - 19968: jis0212<<14 | 0x29<<7 | 0x14, - 29132 - 19968: jis0212<<14 | 0x29<<7 | 0x15, - 29134 - 19968: jis0208<<14 | 0x3E<<7 | 0x58, - 29136 - 19968: jis0208<<14 | 0x2D<<7 | 0x34, - 29138 - 19968: jis0208<<14 | 0x3E<<7 | 0x55, - 29139 - 19968: jis0212<<14 | 0x29<<7 | 0x16, - 29140 - 19968: jis0208<<14 | 0x3E<<7 | 0x57, - 29141 - 19968: jis0208<<14 | 0x10<<7 | 0x4C, - 29142 - 19968: jis0212<<14 | 0x29<<7 | 0x17, - 29143 - 19968: jis0208<<14 | 0x3E<<7 | 0x52, - 29145 - 19968: jis0212<<14 | 0x29<<7 | 0x18, - 29146 - 19968: jis0212<<14 | 0x29<<7 | 0x19, - 29148 - 19968: jis0212<<14 | 0x29<<7 | 0x1A, - 29151 - 19968: jis0208<<14 | 0x32<<7 | 0x3A, - 29152 - 19968: jis0208<<14 | 0x3E<<7 | 0x59, - 29157 - 19968: jis0208<<14 | 0x20<<7 | 0x46, - 29158 - 19968: jis0208<<14 | 0x1A<<7 | 0x17, - 29159 - 19968: jis0208<<14 | 0x3E<<7 | 0x5B, - 29164 - 19968: jis0208<<14 | 0x3E<<7 | 0x5A, - 29165 - 19968: jis0208<<14 | 0x1E<<7 | 0x03, - 29166 - 19968: jis0208<<14 | 0x31<<7 | 0x38, - 29173 - 19968: jis0208<<14 | 0x3E<<7 | 0x5C, - 29176 - 19968: jis0212<<14 | 0x29<<7 | 0x1B, - 29177 - 19968: jis0208<<14 | 0x3F<<7 | 0x00, - 29179 - 19968: jis0208<<14 | 0x3E<<7 | 0x4D, - 29180 - 19968: jis0208<<14 | 0x3E<<7 | 0x5D, - 29182 - 19968: jis0208<<14 | 0x59<<7 | 0x5C, - 29183 - 19968: jis0208<<14 | 0x3F<<7 | 0x01, - 29184 - 19968: jis0212<<14 | 0x29<<7 | 0x1D, - 29190 - 19968: jis0208<<14 | 0x26<<7 | 0x59, - 29191 - 19968: jis0212<<14 | 0x29<<7 | 0x1E, - 29192 - 19968: jis0212<<14 | 0x29<<7 | 0x1F, - 29193 - 19968: jis0212<<14 | 0x29<<7 | 0x20, - 29197 - 19968: jis0208<<14 | 0x3F<<7 | 0x02, - 29200 - 19968: jis0208<<14 | 0x3F<<7 | 0x03, - 29203 - 19968: jis0212<<14 | 0x29<<7 | 0x21, - 29207 - 19968: jis0212<<14 | 0x29<<7 | 0x22, - 29210 - 19968: jis0212<<14 | 0x29<<7 | 0x23, - 29211 - 19968: jis0208<<14 | 0x3F<<7 | 0x04, - 29213 - 19968: jis0212<<14 | 0x29<<7 | 0x24, - 29215 - 19968: jis0212<<14 | 0x29<<7 | 0x25, - 29220 - 19968: jis0212<<14 | 0x29<<7 | 0x26, - 29224 - 19968: jis0208<<14 | 0x3F<<7 | 0x05, - 29226 - 19968: jis0208<<14 | 0x23<<7 | 0x3D, - 29227 - 19968: jis0212<<14 | 0x29<<7 | 0x27, - 29228 - 19968: jis0208<<14 | 0x3F<<7 | 0x07, - 29229 - 19968: jis0208<<14 | 0x3F<<7 | 0x06, - 29231 - 19968: jis0212<<14 | 0x29<<7 | 0x28, - 29232 - 19968: jis0208<<14 | 0x3F<<7 | 0x08, - 29234 - 19968: jis0208<<14 | 0x3F<<7 | 0x09, - 29236 - 19968: jis0212<<14 | 0x29<<7 | 0x29, - 29237 - 19968: jis0208<<14 | 0x1B<<7 | 0x3E, - 29238 - 19968: jis0208<<14 | 0x28<<7 | 0x42, - 29240 - 19968: jis0212<<14 | 0x29<<7 | 0x2A, - 29241 - 19968: jis0212<<14 | 0x29<<7 | 0x2B, - 29242 - 19968: jis0208<<14 | 0x2B<<7 | 0x4B, - 29243 - 19968: jis0208<<14 | 0x3F<<7 | 0x0A, - 29244 - 19968: jis0208<<14 | 0x3F<<7 | 0x0B, - 29245 - 19968: jis0208<<14 | 0x20<<7 | 0x35, - 29246 - 19968: jis0208<<14 | 0x1B<<7 | 0x03, - 29247 - 19968: jis0208<<14 | 0x3F<<7 | 0x0C, - 29248 - 19968: jis0208<<14 | 0x3F<<7 | 0x0D, - 29249 - 19968: jis0212<<14 | 0x29<<7 | 0x2C, - 29250 - 19968: jis0212<<14 | 0x29<<7 | 0x2D, - 29251 - 19968: jis0212<<14 | 0x29<<7 | 0x2E, - 29253 - 19968: jis0212<<14 | 0x29<<7 | 0x2F, - 29254 - 19968: jis0208<<14 | 0x3F<<7 | 0x0E, - 29255 - 19968: jis0208<<14 | 0x29<<7 | 0x31, - 29256 - 19968: jis0208<<14 | 0x27<<7 | 0x26, - 29259 - 19968: jis0208<<14 | 0x3F<<7 | 0x0F, - 29260 - 19968: jis0208<<14 | 0x26<<7 | 0x36, - 29262 - 19968: jis0212<<14 | 0x29<<7 | 0x30, - 29263 - 19968: jis0212<<14 | 0x29<<7 | 0x31, - 29264 - 19968: jis0212<<14 | 0x29<<7 | 0x32, - 29266 - 19968: jis0208<<14 | 0x23<<7 | 0x0C, - 29267 - 19968: jis0212<<14 | 0x29<<7 | 0x33, - 29269 - 19968: jis0212<<14 | 0x29<<7 | 0x34, - 29270 - 19968: jis0212<<14 | 0x29<<7 | 0x35, - 29272 - 19968: jis0208<<14 | 0x3F<<7 | 0x10, - 29273 - 19968: jis0208<<14 | 0x11<<7 | 0x46, - 29274 - 19968: jis0212<<14 | 0x29<<7 | 0x36, - 29275 - 19968: jis0208<<14 | 0x14<<7 | 0x4C, - 29276 - 19968: jis0212<<14 | 0x29<<7 | 0x37, - 29277 - 19968: jis0208<<14 | 0x2B<<7 | 0x25, - 29278 - 19968: jis0212<<14 | 0x29<<7 | 0x38, - 29279 - 19968: jis0208<<14 | 0x2B<<7 | 0x15, - 29280 - 19968: jis0212<<14 | 0x29<<7 | 0x39, - 29281 - 19968: jis0208<<14 | 0x11<<7 | 0x13, - 29282 - 19968: jis0208<<14 | 0x2E<<7 | 0x13, - 29283 - 19968: jis0212<<14 | 0x29<<7 | 0x3A, - 29287 - 19968: jis0208<<14 | 0x2A<<7 | 0x31, - 29288 - 19968: jis0212<<14 | 0x29<<7 | 0x3B, - 29289 - 19968: jis0208<<14 | 0x29<<7 | 0x09, - 29291 - 19968: jis0212<<14 | 0x29<<7 | 0x3C, - 29294 - 19968: jis0212<<14 | 0x29<<7 | 0x3D, - 29295 - 19968: jis0212<<14 | 0x29<<7 | 0x3E, - 29297 - 19968: jis0212<<14 | 0x29<<7 | 0x3F, - 29298 - 19968: jis0208<<14 | 0x1F<<7 | 0x16, - 29300 - 19968: jis0208<<14 | 0x3F<<7 | 0x11, - 29303 - 19968: jis0212<<14 | 0x29<<7 | 0x40, - 29304 - 19968: jis0212<<14 | 0x29<<7 | 0x41, - 29305 - 19968: jis0208<<14 | 0x25<<7 | 0x22, - 29307 - 19968: jis0212<<14 | 0x29<<7 | 0x42, - 29308 - 19968: jis0212<<14 | 0x29<<7 | 0x43, - 29309 - 19968: jis0208<<14 | 0x17<<7 | 0x02, - 29310 - 19968: jis0208<<14 | 0x3F<<7 | 0x12, - 29311 - 19968: jis0212<<14 | 0x29<<7 | 0x44, - 29312 - 19968: jis0208<<14 | 0x19<<7 | 0x33, - 29313 - 19968: jis0208<<14 | 0x3F<<7 | 0x14, - 29314 - 19968: jis0208<<14 | 0x3F<<7 | 0x13, - 29316 - 19968: jis0212<<14 | 0x29<<7 | 0x45, - 29319 - 19968: jis0208<<14 | 0x3F<<7 | 0x15, - 29321 - 19968: jis0212<<14 | 0x29<<7 | 0x46, - 29325 - 19968: jis0212<<14 | 0x29<<7 | 0x47, - 29326 - 19968: jis0212<<14 | 0x29<<7 | 0x48, - 29330 - 19968: jis0208<<14 | 0x3F<<7 | 0x16, - 29331 - 19968: jis0212<<14 | 0x29<<7 | 0x49, - 29334 - 19968: jis0208<<14 | 0x3F<<7 | 0x17, - 29339 - 19968: jis0212<<14 | 0x29<<7 | 0x4A, - 29344 - 19968: jis0208<<14 | 0x14<<7 | 0x1D, - 29346 - 19968: jis0208<<14 | 0x3F<<7 | 0x18, - 29351 - 19968: jis0208<<14 | 0x3F<<7 | 0x19, - 29352 - 19968: jis0212<<14 | 0x29<<7 | 0x4B, - 29356 - 19968: jis0208<<14 | 0x17<<7 | 0x03, - 29357 - 19968: jis0212<<14 | 0x29<<7 | 0x4C, - 29358 - 19968: jis0212<<14 | 0x29<<7 | 0x4D, - 29359 - 19968: jis0208<<14 | 0x27<<7 | 0x27, - 29361 - 19968: jis0208<<14 | 0x59<<7 | 0x5D, - 29362 - 19968: jis0208<<14 | 0x3F<<7 | 0x1B, - 29364 - 19968: jis0212<<14 | 0x29<<7 | 0x4F, - 29366 - 19968: jis0208<<14 | 0x1D<<7 | 0x54, - 29369 - 19968: jis0208<<14 | 0x3F<<7 | 0x1A, - 29374 - 19968: jis0208<<14 | 0x5A<<7 | 0x00, - 29377 - 19968: jis0212<<14 | 0x29<<7 | 0x51, - 29378 - 19968: jis0208<<14 | 0x15<<7 | 0x17, - 29379 - 19968: jis0208<<14 | 0x3F<<7 | 0x1C, - 29380 - 19968: jis0208<<14 | 0x3F<<7 | 0x1E, - 29382 - 19968: jis0208<<14 | 0x3F<<7 | 0x1D, - 29383 - 19968: jis0212<<14 | 0x29<<7 | 0x52, - 29385 - 19968: jis0212<<14 | 0x29<<7 | 0x53, - 29388 - 19968: jis0212<<14 | 0x29<<7 | 0x54, - 29390 - 19968: jis0208<<14 | 0x3F<<7 | 0x1F, - 29392 - 19968: jis0208<<14 | 0x17<<7 | 0x30, - 29394 - 19968: jis0208<<14 | 0x3F<<7 | 0x20, - 29397 - 19968: jis0212<<14 | 0x29<<7 | 0x55, - 29398 - 19968: jis0212<<14 | 0x29<<7 | 0x56, - 29399 - 19968: jis0208<<14 | 0x15<<7 | 0x48, - 29400 - 19968: jis0212<<14 | 0x29<<7 | 0x57, - 29401 - 19968: jis0208<<14 | 0x20<<7 | 0x1F, - 29403 - 19968: jis0208<<14 | 0x18<<7 | 0x5C, - 29407 - 19968: jis0212<<14 | 0x29<<7 | 0x58, - 29408 - 19968: jis0208<<14 | 0x3F<<7 | 0x22, - 29409 - 19968: jis0208<<14 | 0x3F<<7 | 0x23, - 29410 - 19968: jis0208<<14 | 0x3F<<7 | 0x21, - 29413 - 19968: jis0212<<14 | 0x29<<7 | 0x59, - 29417 - 19968: jis0208<<14 | 0x1B<<7 | 0x4C, - 29420 - 19968: jis0208<<14 | 0x25<<7 | 0x27, - 29421 - 19968: jis0208<<14 | 0x15<<7 | 0x18, - 29427 - 19968: jis0212<<14 | 0x29<<7 | 0x5A, - 29428 - 19968: jis0212<<14 | 0x29<<7 | 0x5B, - 29431 - 19968: jis0208<<14 | 0x3F<<7 | 0x25, - 29432 - 19968: jis0208<<14 | 0x22<<7 | 0x0B, - 29433 - 19968: jis0208<<14 | 0x3F<<7 | 0x24, - 29434 - 19968: jis0212<<14 | 0x29<<7 | 0x5C, - 29435 - 19968: jis0212<<14 | 0x29<<7 | 0x5D, - 29436 - 19968: jis0208<<14 | 0x2E<<7 | 0x14, - 29437 - 19968: jis0208<<14 | 0x26<<7 | 0x41, - 29438 - 19968: jis0212<<14 | 0x2A<<7 | 0x00, - 29442 - 19968: jis0212<<14 | 0x2A<<7 | 0x01, - 29444 - 19968: jis0212<<14 | 0x2A<<7 | 0x02, - 29445 - 19968: jis0212<<14 | 0x2A<<7 | 0x03, - 29447 - 19968: jis0212<<14 | 0x2A<<7 | 0x04, - 29450 - 19968: jis0208<<14 | 0x3F<<7 | 0x28, - 29451 - 19968: jis0212<<14 | 0x2A<<7 | 0x05, - 29453 - 19968: jis0212<<14 | 0x2A<<7 | 0x06, - 29458 - 19968: jis0212<<14 | 0x2A<<7 | 0x07, - 29459 - 19968: jis0212<<14 | 0x2A<<7 | 0x08, - 29462 - 19968: jis0208<<14 | 0x3F<<7 | 0x2A, - 29463 - 19968: jis0208<<14 | 0x3F<<7 | 0x27, - 29464 - 19968: jis0212<<14 | 0x2A<<7 | 0x09, - 29465 - 19968: jis0212<<14 | 0x2A<<7 | 0x0A, - 29467 - 19968: jis0208<<14 | 0x2B<<7 | 0x33, - 29468 - 19968: jis0208<<14 | 0x3F<<7 | 0x29, - 29469 - 19968: jis0208<<14 | 0x3F<<7 | 0x2B, - 29470 - 19968: jis0212<<14 | 0x2A<<7 | 0x0B, - 29471 - 19968: jis0208<<14 | 0x2D<<7 | 0x23, - 29474 - 19968: jis0212<<14 | 0x2A<<7 | 0x0C, - 29476 - 19968: jis0208<<14 | 0x5A<<7 | 0x01, - 29477 - 19968: jis0208<<14 | 0x3F<<7 | 0x2F, - 29479 - 19968: jis0212<<14 | 0x2A<<7 | 0x0E, - 29480 - 19968: jis0212<<14 | 0x2A<<7 | 0x0F, - 29481 - 19968: jis0208<<14 | 0x3F<<7 | 0x2E, - 29482 - 19968: jis0208<<14 | 0x22<<7 | 0x55, - 29483 - 19968: jis0208<<14 | 0x26<<7 | 0x0C, - 29484 - 19968: jis0212<<14 | 0x2A<<7 | 0x10, - 29486 - 19968: jis0208<<14 | 0x17<<7 | 0x04, - 29487 - 19968: jis0208<<14 | 0x3F<<7 | 0x2D, - 29489 - 19968: jis0212<<14 | 0x2A<<7 | 0x11, - 29490 - 19968: jis0212<<14 | 0x2A<<7 | 0x12, - 29492 - 19968: jis0208<<14 | 0x3F<<7 | 0x2C, - 29493 - 19968: jis0212<<14 | 0x2A<<7 | 0x13, - 29494 - 19968: jis0208<<14 | 0x2C<<7 | 0x10, - 29495 - 19968: jis0208<<14 | 0x2C<<7 | 0x11, - 29498 - 19968: jis0212<<14 | 0x2A<<7 | 0x14, - 29499 - 19968: jis0212<<14 | 0x2A<<7 | 0x15, - 29501 - 19968: jis0212<<14 | 0x2A<<7 | 0x16, - 29502 - 19968: jis0208<<14 | 0x3F<<7 | 0x30, - 29503 - 19968: jis0208<<14 | 0x10<<7 | 0x4D, - 29507 - 19968: jis0212<<14 | 0x2A<<7 | 0x17, - 29508 - 19968: jis0208<<14 | 0x18<<7 | 0x55, - 29509 - 19968: jis0208<<14 | 0x1A<<7 | 0x41, - 29517 - 19968: jis0212<<14 | 0x2A<<7 | 0x18, - 29518 - 19968: jis0208<<14 | 0x3F<<7 | 0x31, - 29519 - 19968: jis0208<<14 | 0x3F<<7 | 0x32, - 29520 - 19968: jis0212<<14 | 0x2A<<7 | 0x19, - 29522 - 19968: jis0212<<14 | 0x2A<<7 | 0x1A, - 29526 - 19968: jis0212<<14 | 0x2A<<7 | 0x1B, - 29527 - 19968: jis0208<<14 | 0x3F<<7 | 0x34, - 29528 - 19968: jis0212<<14 | 0x2A<<7 | 0x1C, - 29533 - 19968: jis0212<<14 | 0x2A<<7 | 0x1D, - 29534 - 19968: jis0212<<14 | 0x2A<<7 | 0x1E, - 29535 - 19968: jis0212<<14 | 0x2A<<7 | 0x1F, - 29536 - 19968: jis0212<<14 | 0x2A<<7 | 0x20, - 29539 - 19968: jis0208<<14 | 0x1C<<7 | 0x22, - 29542 - 19968: jis0212<<14 | 0x2A<<7 | 0x21, - 29543 - 19968: jis0212<<14 | 0x2A<<7 | 0x22, - 29544 - 19968: jis0208<<14 | 0x3F<<7 | 0x36, - 29545 - 19968: jis0212<<14 | 0x2A<<7 | 0x23, - 29546 - 19968: jis0208<<14 | 0x3F<<7 | 0x35, - 29547 - 19968: jis0212<<14 | 0x2A<<7 | 0x24, - 29548 - 19968: jis0212<<14 | 0x2A<<7 | 0x25, - 29550 - 19968: jis0212<<14 | 0x2A<<7 | 0x26, - 29551 - 19968: jis0212<<14 | 0x2A<<7 | 0x27, - 29552 - 19968: jis0208<<14 | 0x3F<<7 | 0x37, - 29553 - 19968: jis0212<<14 | 0x2A<<7 | 0x28, - 29554 - 19968: jis0208<<14 | 0x12<<7 | 0x2C, - 29557 - 19968: jis0208<<14 | 0x3F<<7 | 0x39, - 29559 - 19968: jis0208<<14 | 0x5A<<7 | 0x03, - 29560 - 19968: jis0208<<14 | 0x3F<<7 | 0x38, - 29561 - 19968: jis0212<<14 | 0x2A<<7 | 0x2A, - 29562 - 19968: jis0208<<14 | 0x3F<<7 | 0x3B, - 29563 - 19968: jis0208<<14 | 0x3F<<7 | 0x3A, - 29564 - 19968: jis0212<<14 | 0x2A<<7 | 0x2B, - 29568 - 19968: jis0212<<14 | 0x2A<<7 | 0x2C, - 29569 - 19968: jis0212<<14 | 0x2A<<7 | 0x2D, - 29571 - 19968: jis0212<<14 | 0x2A<<7 | 0x2E, - 29572 - 19968: jis0208<<14 | 0x17<<7 | 0x1B, - 29573 - 19968: jis0212<<14 | 0x2A<<7 | 0x2F, - 29574 - 19968: jis0212<<14 | 0x2A<<7 | 0x30, - 29575 - 19968: jis0208<<14 | 0x2D<<7 | 0x07, - 29577 - 19968: jis0208<<14 | 0x15<<7 | 0x2B, - 29579 - 19968: jis0208<<14 | 0x11<<7 | 0x05, - 29582 - 19968: jis0212<<14 | 0x2A<<7 | 0x31, - 29584 - 19968: jis0212<<14 | 0x2A<<7 | 0x32, - 29587 - 19968: jis0212<<14 | 0x2A<<7 | 0x33, - 29589 - 19968: jis0212<<14 | 0x2A<<7 | 0x34, - 29590 - 19968: jis0208<<14 | 0x15<<7 | 0x49, - 29591 - 19968: jis0212<<14 | 0x2A<<7 | 0x35, - 29592 - 19968: jis0212<<14 | 0x2A<<7 | 0x36, - 29596 - 19968: jis0212<<14 | 0x2A<<7 | 0x37, - 29598 - 19968: jis0212<<14 | 0x2A<<7 | 0x38, - 29599 - 19968: jis0212<<14 | 0x2A<<7 | 0x39, - 29600 - 19968: jis0212<<14 | 0x2A<<7 | 0x3A, - 29602 - 19968: jis0212<<14 | 0x2A<<7 | 0x3B, - 29605 - 19968: jis0212<<14 | 0x2A<<7 | 0x3C, - 29606 - 19968: jis0212<<14 | 0x2A<<7 | 0x3D, - 29609 - 19968: jis0208<<14 | 0x13<<7 | 0x40, - 29610 - 19968: jis0212<<14 | 0x2A<<7 | 0x3E, - 29611 - 19968: jis0212<<14 | 0x2A<<7 | 0x3F, - 29613 - 19968: jis0212<<14 | 0x2A<<7 | 0x40, - 29618 - 19968: jis0208<<14 | 0x2D<<7 | 0x47, - 29619 - 19968: jis0208<<14 | 0x3F<<7 | 0x3D, - 29621 - 19968: jis0212<<14 | 0x2A<<7 | 0x41, - 29623 - 19968: jis0212<<14 | 0x2A<<7 | 0x42, - 29625 - 19968: jis0212<<14 | 0x2A<<7 | 0x43, - 29627 - 19968: jis0208<<14 | 0x3F<<7 | 0x3F, - 29628 - 19968: jis0212<<14 | 0x2A<<7 | 0x44, - 29629 - 19968: jis0208<<14 | 0x5A<<7 | 0x04, - 29631 - 19968: jis0212<<14 | 0x2A<<7 | 0x46, - 29632 - 19968: jis0208<<14 | 0x3F<<7 | 0x40, - 29634 - 19968: jis0208<<14 | 0x11<<7 | 0x30, - 29637 - 19968: jis0212<<14 | 0x2A<<7 | 0x47, - 29638 - 19968: jis0212<<14 | 0x2A<<7 | 0x48, - 29640 - 19968: jis0208<<14 | 0x3F<<7 | 0x3C, - 29641 - 19968: jis0208<<14 | 0x5A<<7 | 0x05, - 29642 - 19968: jis0208<<14 | 0x1A<<7 | 0x18, - 29643 - 19968: jis0212<<14 | 0x2A<<7 | 0x4A, - 29644 - 19968: jis0212<<14 | 0x2A<<7 | 0x4B, - 29645 - 19968: jis0208<<14 | 0x23<<7 | 0x20, - 29646 - 19968: jis0208<<14 | 0x3F<<7 | 0x3E, - 29647 - 19968: jis0212<<14 | 0x2A<<7 | 0x4C, - 29650 - 19968: jis0208<<14 | 0x5A<<7 | 0x08, - 29651 - 19968: jis0212<<14 | 0x2A<<7 | 0x4E, - 29654 - 19968: jis0208<<14 | 0x5A<<7 | 0x06, - 29657 - 19968: jis0212<<14 | 0x2A<<7 | 0x50, - 29661 - 19968: jis0212<<14 | 0x2A<<7 | 0x51, - 29662 - 19968: jis0208<<14 | 0x3F<<7 | 0x43, - 29664 - 19968: jis0208<<14 | 0x1B<<7 | 0x4D, - 29665 - 19968: jis0212<<14 | 0x2A<<7 | 0x52, - 29667 - 19968: jis0208<<14 | 0x5A<<7 | 0x07, - 29669 - 19968: jis0208<<14 | 0x3F<<7 | 0x41, - 29670 - 19968: jis0212<<14 | 0x2A<<7 | 0x54, - 29671 - 19968: jis0212<<14 | 0x2A<<7 | 0x55, - 29673 - 19968: jis0212<<14 | 0x2A<<7 | 0x56, - 29674 - 19968: jis0208<<14 | 0x16<<7 | 0x1D, - 29677 - 19968: jis0208<<14 | 0x27<<7 | 0x28, - 29678 - 19968: jis0208<<14 | 0x3F<<7 | 0x42, - 29681 - 19968: jis0208<<14 | 0x3F<<7 | 0x5D, - 29684 - 19968: jis0212<<14 | 0x2A<<7 | 0x57, - 29685 - 19968: jis0208<<14 | 0x5A<<7 | 0x0A, - 29687 - 19968: jis0212<<14 | 0x2A<<7 | 0x59, - 29688 - 19968: jis0208<<14 | 0x3F<<7 | 0x48, - 29689 - 19968: jis0212<<14 | 0x2A<<7 | 0x5A, - 29690 - 19968: jis0212<<14 | 0x2A<<7 | 0x5B, - 29691 - 19968: jis0212<<14 | 0x2A<<7 | 0x5C, - 29693 - 19968: jis0212<<14 | 0x2A<<7 | 0x5D, - 29694 - 19968: jis0208<<14 | 0x17<<7 | 0x1C, - 29695 - 19968: jis0212<<14 | 0x2B<<7 | 0x00, - 29696 - 19968: jis0212<<14 | 0x2B<<7 | 0x01, - 29697 - 19968: jis0212<<14 | 0x2B<<7 | 0x02, - 29699 - 19968: jis0208<<14 | 0x14<<7 | 0x44, - 29700 - 19968: jis0212<<14 | 0x2B<<7 | 0x03, - 29701 - 19968: jis0208<<14 | 0x3F<<7 | 0x45, - 29702 - 19968: jis0208<<14 | 0x2C<<7 | 0x5C, - 29703 - 19968: jis0208<<14 | 0x5A<<7 | 0x09, - 29705 - 19968: jis0208<<14 | 0x2D<<7 | 0x0F, - 29706 - 19968: jis0212<<14 | 0x2B<<7 | 0x05, - 29713 - 19968: jis0212<<14 | 0x2B<<7 | 0x06, - 29722 - 19968: jis0212<<14 | 0x2B<<7 | 0x07, - 29723 - 19968: jis0212<<14 | 0x2B<<7 | 0x08, - 29730 - 19968: jis0208<<14 | 0x21<<7 | 0x55, - 29732 - 19968: jis0212<<14 | 0x2B<<7 | 0x09, - 29733 - 19968: jis0208<<14 | 0x3F<<7 | 0x47, - 29734 - 19968: jis0208<<14 | 0x5A<<7 | 0x0B, - 29736 - 19968: jis0212<<14 | 0x2B<<7 | 0x0B, - 29737 - 19968: jis0208<<14 | 0x5A<<7 | 0x0D, - 29738 - 19968: jis0208<<14 | 0x5A<<7 | 0x0C, - 29739 - 19968: jis0212<<14 | 0x2B<<7 | 0x0E, - 29740 - 19968: jis0212<<14 | 0x2B<<7 | 0x0F, - 29741 - 19968: jis0212<<14 | 0x2B<<7 | 0x10, - 29742 - 19968: jis0208<<14 | 0x5A<<7 | 0x0E, - 29743 - 19968: jis0212<<14 | 0x2B<<7 | 0x12, - 29744 - 19968: jis0212<<14 | 0x2B<<7 | 0x13, - 29745 - 19968: jis0212<<14 | 0x2B<<7 | 0x14, - 29746 - 19968: jis0208<<14 | 0x3F<<7 | 0x49, - 29747 - 19968: jis0208<<14 | 0x2D<<7 | 0x35, - 29748 - 19968: jis0208<<14 | 0x15<<7 | 0x36, - 29749 - 19968: jis0208<<14 | 0x27<<7 | 0x5B, - 29750 - 19968: jis0208<<14 | 0x26<<7 | 0x29, - 29753 - 19968: jis0212<<14 | 0x2B<<7 | 0x15, - 29754 - 19968: jis0208<<14 | 0x3F<<7 | 0x4A, - 29759 - 19968: jis0208<<14 | 0x3F<<7 | 0x4C, - 29760 - 19968: jis0212<<14 | 0x2B<<7 | 0x16, - 29761 - 19968: jis0208<<14 | 0x3F<<7 | 0x4F, - 29763 - 19968: jis0212<<14 | 0x2B<<7 | 0x17, - 29764 - 19968: jis0212<<14 | 0x2B<<7 | 0x18, - 29766 - 19968: jis0212<<14 | 0x2B<<7 | 0x19, - 29767 - 19968: jis0212<<14 | 0x2B<<7 | 0x1A, - 29771 - 19968: jis0212<<14 | 0x2B<<7 | 0x1B, - 29773 - 19968: jis0212<<14 | 0x2B<<7 | 0x1C, - 29777 - 19968: jis0212<<14 | 0x2B<<7 | 0x1D, - 29778 - 19968: jis0212<<14 | 0x2B<<7 | 0x1E, - 29781 - 19968: jis0208<<14 | 0x3F<<7 | 0x4B, - 29783 - 19968: jis0212<<14 | 0x2B<<7 | 0x1F, - 29785 - 19968: jis0208<<14 | 0x3F<<7 | 0x4E, - 29786 - 19968: jis0208<<14 | 0x17<<7 | 0x49, - 29787 - 19968: jis0208<<14 | 0x10<<7 | 0x2C, - 29788 - 19968: jis0208<<14 | 0x3F<<7 | 0x50, - 29789 - 19968: jis0212<<14 | 0x2B<<7 | 0x20, - 29790 - 19968: jis0208<<14 | 0x1E<<7 | 0x4F, - 29791 - 19968: jis0208<<14 | 0x3F<<7 | 0x4D, - 29792 - 19968: jis0208<<14 | 0x2D<<7 | 0x3B, - 29794 - 19968: jis0208<<14 | 0x5A<<7 | 0x0F, - 29795 - 19968: jis0208<<14 | 0x3F<<7 | 0x53, - 29796 - 19968: jis0208<<14 | 0x53<<7 | 0x03, - 29798 - 19968: jis0212<<14 | 0x2B<<7 | 0x22, - 29799 - 19968: jis0212<<14 | 0x2B<<7 | 0x23, - 29800 - 19968: jis0212<<14 | 0x2B<<7 | 0x24, - 29801 - 19968: jis0208<<14 | 0x3F<<7 | 0x51, - 29802 - 19968: jis0208<<14 | 0x3F<<7 | 0x54, - 29803 - 19968: jis0212<<14 | 0x2B<<7 | 0x25, - 29805 - 19968: jis0212<<14 | 0x2B<<7 | 0x26, - 29806 - 19968: jis0212<<14 | 0x2B<<7 | 0x27, - 29807 - 19968: jis0208<<14 | 0x3F<<7 | 0x46, - 29808 - 19968: jis0208<<14 | 0x3F<<7 | 0x52, - 29809 - 19968: jis0212<<14 | 0x2B<<7 | 0x28, - 29810 - 19968: jis0212<<14 | 0x2B<<7 | 0x29, - 29811 - 19968: jis0208<<14 | 0x19<<7 | 0x1B, - 29814 - 19968: jis0208<<14 | 0x3F<<7 | 0x55, - 29822 - 19968: jis0208<<14 | 0x3F<<7 | 0x56, - 29824 - 19968: jis0212<<14 | 0x2B<<7 | 0x2A, - 29825 - 19968: jis0212<<14 | 0x2B<<7 | 0x2B, - 29827 - 19968: jis0208<<14 | 0x2C<<7 | 0x5D, - 29829 - 19968: jis0212<<14 | 0x2B<<7 | 0x2C, - 29830 - 19968: jis0212<<14 | 0x2B<<7 | 0x2D, - 29831 - 19968: jis0212<<14 | 0x2B<<7 | 0x2E, - 29833 - 19968: jis0208<<14 | 0x5A<<7 | 0x10, - 29835 - 19968: jis0208<<14 | 0x3F<<7 | 0x57, - 29839 - 19968: jis0212<<14 | 0x2B<<7 | 0x30, - 29840 - 19968: jis0212<<14 | 0x2B<<7 | 0x31, - 29841 - 19968: jis0212<<14 | 0x2B<<7 | 0x32, - 29842 - 19968: jis0212<<14 | 0x2B<<7 | 0x33, - 29848 - 19968: jis0212<<14 | 0x2B<<7 | 0x34, - 29849 - 19968: jis0212<<14 | 0x2B<<7 | 0x35, - 29850 - 19968: jis0212<<14 | 0x2B<<7 | 0x36, - 29852 - 19968: jis0212<<14 | 0x2B<<7 | 0x37, - 29854 - 19968: jis0208<<14 | 0x3F<<7 | 0x58, - 29855 - 19968: jis0208<<14 | 0x5A<<7 | 0x11, - 29856 - 19968: jis0212<<14 | 0x2B<<7 | 0x39, - 29857 - 19968: jis0212<<14 | 0x2B<<7 | 0x3A, - 29858 - 19968: jis0208<<14 | 0x3F<<7 | 0x44, - 29859 - 19968: jis0212<<14 | 0x2B<<7 | 0x3B, - 29862 - 19968: jis0212<<14 | 0x2B<<7 | 0x3C, - 29863 - 19968: jis0208<<14 | 0x3F<<7 | 0x59, - 29864 - 19968: jis0212<<14 | 0x2B<<7 | 0x3D, - 29865 - 19968: jis0212<<14 | 0x2B<<7 | 0x3E, - 29866 - 19968: jis0212<<14 | 0x2B<<7 | 0x3F, - 29867 - 19968: jis0212<<14 | 0x2B<<7 | 0x40, - 29870 - 19968: jis0212<<14 | 0x2B<<7 | 0x41, - 29871 - 19968: jis0212<<14 | 0x2B<<7 | 0x42, - 29872 - 19968: jis0208<<14 | 0x13<<7 | 0x23, - 29873 - 19968: jis0212<<14 | 0x2B<<7 | 0x43, - 29874 - 19968: jis0212<<14 | 0x2B<<7 | 0x44, - 29877 - 19968: jis0212<<14 | 0x2B<<7 | 0x45, - 29881 - 19968: jis0212<<14 | 0x2B<<7 | 0x46, - 29883 - 19968: jis0212<<14 | 0x2B<<7 | 0x47, - 29885 - 19968: jis0208<<14 | 0x1B<<7 | 0x04, - 29887 - 19968: jis0212<<14 | 0x2B<<7 | 0x48, - 29896 - 19968: jis0212<<14 | 0x2B<<7 | 0x49, - 29897 - 19968: jis0212<<14 | 0x2B<<7 | 0x4A, - 29898 - 19968: jis0208<<14 | 0x3F<<7 | 0x5A, - 29900 - 19968: jis0212<<14 | 0x2B<<7 | 0x4B, - 29903 - 19968: jis0208<<14 | 0x3F<<7 | 0x5B, - 29904 - 19968: jis0212<<14 | 0x2B<<7 | 0x4C, - 29907 - 19968: jis0212<<14 | 0x2B<<7 | 0x4D, - 29908 - 19968: jis0208<<14 | 0x3F<<7 | 0x5C, - 29912 - 19968: jis0212<<14 | 0x2B<<7 | 0x4E, - 29914 - 19968: jis0212<<14 | 0x2B<<7 | 0x4F, - 29915 - 19968: jis0212<<14 | 0x2B<<7 | 0x50, - 29916 - 19968: jis0208<<14 | 0x10<<7 | 0x1A, - 29918 - 19968: jis0212<<14 | 0x2B<<7 | 0x51, - 29919 - 19968: jis0212<<14 | 0x2B<<7 | 0x52, - 29920 - 19968: jis0208<<14 | 0x40<<7 | 0x00, - 29922 - 19968: jis0208<<14 | 0x28<<7 | 0x1A, - 29923 - 19968: jis0208<<14 | 0x40<<7 | 0x01, - 29924 - 19968: jis0212<<14 | 0x2B<<7 | 0x53, - 29926 - 19968: jis0208<<14 | 0x13<<7 | 0x03, - 29927 - 19968: jis0208<<14 | 0x40<<7 | 0x02, - 29928 - 19968: jis0212<<14 | 0x2B<<7 | 0x54, - 29929 - 19968: jis0208<<14 | 0x40<<7 | 0x03, - 29930 - 19968: jis0212<<14 | 0x2B<<7 | 0x55, - 29931 - 19968: jis0212<<14 | 0x2B<<7 | 0x56, - 29934 - 19968: jis0208<<14 | 0x40<<7 | 0x04, - 29935 - 19968: jis0212<<14 | 0x2B<<7 | 0x57, - 29936 - 19968: jis0208<<14 | 0x40<<7 | 0x06, - 29937 - 19968: jis0208<<14 | 0x40<<7 | 0x07, - 29938 - 19968: jis0208<<14 | 0x40<<7 | 0x05, - 29940 - 19968: jis0212<<14 | 0x2B<<7 | 0x58, - 29942 - 19968: jis0208<<14 | 0x28<<7 | 0x32, - 29943 - 19968: jis0208<<14 | 0x40<<7 | 0x09, - 29944 - 19968: jis0208<<14 | 0x40<<7 | 0x08, - 29946 - 19968: jis0212<<14 | 0x2B<<7 | 0x59, - 29947 - 19968: jis0212<<14 | 0x2B<<7 | 0x5A, - 29948 - 19968: jis0212<<14 | 0x2B<<7 | 0x5B, - 29951 - 19968: jis0212<<14 | 0x2B<<7 | 0x5C, - 29953 - 19968: jis0208<<14 | 0x5A<<7 | 0x12, - 29955 - 19968: jis0208<<14 | 0x40<<7 | 0x0B, - 29956 - 19968: jis0208<<14 | 0x40<<7 | 0x0A, - 29957 - 19968: jis0208<<14 | 0x40<<7 | 0x0C, - 29958 - 19968: jis0212<<14 | 0x2B<<7 | 0x5D, - 29964 - 19968: jis0208<<14 | 0x40<<7 | 0x0D, - 29965 - 19968: jis0208<<14 | 0x40<<7 | 0x0F, - 29966 - 19968: jis0208<<14 | 0x40<<7 | 0x0E, - 29969 - 19968: jis0208<<14 | 0x18<<7 | 0x58, - 29970 - 19968: jis0212<<14 | 0x2C<<7 | 0x00, - 29971 - 19968: jis0208<<14 | 0x40<<7 | 0x11, - 29973 - 19968: jis0208<<14 | 0x40<<7 | 0x10, - 29974 - 19968: jis0212<<14 | 0x2C<<7 | 0x01, - 29975 - 19968: jis0212<<14 | 0x2C<<7 | 0x02, - 29976 - 19968: jis0208<<14 | 0x13<<7 | 0x24, - 29978 - 19968: jis0208<<14 | 0x1E<<7 | 0x32, - 29980 - 19968: jis0208<<14 | 0x24<<7 | 0x1B, - 29982 - 19968: jis0208<<14 | 0x40<<7 | 0x12, - 29983 - 19968: jis0208<<14 | 0x1F<<7 | 0x17, - 29984 - 19968: jis0212<<14 | 0x2C<<7 | 0x03, - 29985 - 19968: jis0212<<14 | 0x2C<<7 | 0x04, - 29987 - 19968: jis0208<<14 | 0x1A<<7 | 0x19, - 29988 - 19968: jis0212<<14 | 0x2C<<7 | 0x05, - 29989 - 19968: jis0208<<14 | 0x10<<7 | 0x58, - 29990 - 19968: jis0208<<14 | 0x40<<7 | 0x13, - 29991 - 19968: jis0212<<14 | 0x2C<<7 | 0x06, - 29992 - 19968: jis0208<<14 | 0x2C<<7 | 0x30, - 29993 - 19968: jis0212<<14 | 0x2C<<7 | 0x07, - 29994 - 19968: jis0212<<14 | 0x2C<<7 | 0x08, - 29995 - 19968: jis0208<<14 | 0x29<<7 | 0x42, - 29996 - 19968: jis0208<<14 | 0x40<<7 | 0x14, - 29999 - 19968: jis0208<<14 | 0x58<<7 | 0x4B, - 30000 - 19968: jis0208<<14 | 0x24<<7 | 0x23, - 30001 - 19968: jis0208<<14 | 0x2C<<7 | 0x12, - 30002 - 19968: jis0208<<14 | 0x18<<7 | 0x22, - 30003 - 19968: jis0208<<14 | 0x1E<<7 | 0x1C, - 30006 - 19968: jis0212<<14 | 0x2C<<7 | 0x0A, - 30007 - 19968: jis0208<<14 | 0x22<<7 | 0x2A, - 30008 - 19968: jis0208<<14 | 0x31<<7 | 0x13, - 30009 - 19968: jis0212<<14 | 0x2C<<7 | 0x0B, - 30010 - 19968: jis0208<<14 | 0x23<<7 | 0x0D, - 30011 - 19968: jis0208<<14 | 0x11<<7 | 0x47, - 30012 - 19968: jis0208<<14 | 0x40<<7 | 0x15, - 30013 - 19968: jis0212<<14 | 0x2C<<7 | 0x0C, - 30014 - 19968: jis0212<<14 | 0x2C<<7 | 0x0D, - 30015 - 19968: jis0212<<14 | 0x2C<<7 | 0x0E, - 30016 - 19968: jis0212<<14 | 0x2C<<7 | 0x0F, - 30019 - 19968: jis0212<<14 | 0x2C<<7 | 0x10, - 30020 - 19968: jis0208<<14 | 0x40<<7 | 0x16, - 30022 - 19968: jis0208<<14 | 0x40<<7 | 0x1B, - 30023 - 19968: jis0212<<14 | 0x2C<<7 | 0x11, - 30024 - 19968: jis0212<<14 | 0x2C<<7 | 0x12, - 30025 - 19968: jis0208<<14 | 0x40<<7 | 0x19, - 30026 - 19968: jis0208<<14 | 0x40<<7 | 0x18, - 30027 - 19968: jis0208<<14 | 0x39<<7 | 0x21, - 30028 - 19968: jis0208<<14 | 0x12<<7 | 0x05, - 30029 - 19968: jis0208<<14 | 0x40<<7 | 0x17, - 30030 - 19968: jis0212<<14 | 0x2C<<7 | 0x13, - 30031 - 19968: jis0208<<14 | 0x0F<<7 | 0x39, - 30032 - 19968: jis0212<<14 | 0x2C<<7 | 0x14, - 30033 - 19968: jis0208<<14 | 0x27<<7 | 0x09, - 30034 - 19968: jis0212<<14 | 0x2C<<7 | 0x15, - 30036 - 19968: jis0208<<14 | 0x27<<7 | 0x29, - 30039 - 19968: jis0212<<14 | 0x2C<<7 | 0x16, - 30041 - 19968: jis0208<<14 | 0x2D<<7 | 0x10, - 30042 - 19968: jis0208<<14 | 0x40<<7 | 0x1C, - 30043 - 19968: jis0208<<14 | 0x40<<7 | 0x1A, - 30044 - 19968: jis0208<<14 | 0x22<<7 | 0x3B, - 30045 - 19968: jis0208<<14 | 0x1F<<7 | 0x05, - 30046 - 19968: jis0212<<14 | 0x2C<<7 | 0x17, - 30047 - 19968: jis0212<<14 | 0x2C<<7 | 0x18, - 30048 - 19968: jis0208<<14 | 0x27<<7 | 0x0A, - 30049 - 19968: jis0212<<14 | 0x2C<<7 | 0x19, - 30050 - 19968: jis0208<<14 | 0x28<<7 | 0x0C, - 30052 - 19968: jis0208<<14 | 0x40<<7 | 0x1E, - 30053 - 19968: jis0208<<14 | 0x2D<<7 | 0x0B, - 30054 - 19968: jis0208<<14 | 0x16<<7 | 0x2C, - 30055 - 19968: jis0208<<14 | 0x40<<7 | 0x1F, - 30057 - 19968: jis0208<<14 | 0x40<<7 | 0x1D, - 30058 - 19968: jis0208<<14 | 0x27<<7 | 0x35, - 30059 - 19968: jis0208<<14 | 0x40<<7 | 0x20, - 30061 - 19968: jis0208<<14 | 0x40<<7 | 0x21, - 30063 - 19968: jis0208<<14 | 0x5A<<7 | 0x13, - 30064 - 19968: jis0208<<14 | 0x0F<<7 | 0x3A, - 30065 - 19968: jis0212<<14 | 0x2C<<7 | 0x1B, - 30067 - 19968: jis0208<<14 | 0x1D<<7 | 0x55, - 30068 - 19968: jis0208<<14 | 0x40<<7 | 0x26, - 30070 - 19968: jis0208<<14 | 0x40<<7 | 0x23, - 30071 - 19968: jis0208<<14 | 0x25<<7 | 0x4C, - 30072 - 19968: jis0208<<14 | 0x40<<7 | 0x22, - 30073 - 19968: jis0212<<14 | 0x2C<<7 | 0x1C, - 30074 - 19968: jis0212<<14 | 0x2C<<7 | 0x1D, - 30075 - 19968: jis0212<<14 | 0x2C<<7 | 0x1E, - 30076 - 19968: jis0212<<14 | 0x2C<<7 | 0x1F, - 30077 - 19968: jis0212<<14 | 0x2C<<7 | 0x20, - 30078 - 19968: jis0212<<14 | 0x2C<<7 | 0x21, - 30079 - 19968: jis0208<<14 | 0x14<<7 | 0x05, - 30081 - 19968: jis0212<<14 | 0x2C<<7 | 0x22, - 30082 - 19968: jis0208<<14 | 0x40<<7 | 0x29, - 30085 - 19968: jis0212<<14 | 0x2C<<7 | 0x23, - 30086 - 19968: jis0208<<14 | 0x40<<7 | 0x24, - 30087 - 19968: jis0208<<14 | 0x40<<7 | 0x25, - 30089 - 19968: jis0208<<14 | 0x40<<7 | 0x28, - 30090 - 19968: jis0208<<14 | 0x40<<7 | 0x27, - 30091 - 19968: jis0208<<14 | 0x28<<7 | 0x04, - 30094 - 19968: jis0208<<14 | 0x20<<7 | 0x21, - 30095 - 19968: jis0208<<14 | 0x20<<7 | 0x20, - 30096 - 19968: jis0212<<14 | 0x2C<<7 | 0x24, - 30097 - 19968: jis0208<<14 | 0x14<<7 | 0x1E, - 30098 - 19968: jis0212<<14 | 0x2C<<7 | 0x25, - 30099 - 19968: jis0212<<14 | 0x2C<<7 | 0x26, - 30100 - 19968: jis0208<<14 | 0x40<<7 | 0x2A, - 30101 - 19968: jis0212<<14 | 0x2C<<7 | 0x27, - 30105 - 19968: jis0212<<14 | 0x2C<<7 | 0x28, - 30106 - 19968: jis0208<<14 | 0x40<<7 | 0x2B, - 30108 - 19968: jis0212<<14 | 0x2C<<7 | 0x29, - 30109 - 19968: jis0208<<14 | 0x40<<7 | 0x2C, - 30114 - 19968: jis0212<<14 | 0x2C<<7 | 0x2A, - 30115 - 19968: jis0208<<14 | 0x40<<7 | 0x2E, - 30116 - 19968: jis0212<<14 | 0x2C<<7 | 0x2B, - 30117 - 19968: jis0208<<14 | 0x40<<7 | 0x2D, - 30123 - 19968: jis0208<<14 | 0x10<<7 | 0x35, - 30129 - 19968: jis0208<<14 | 0x40<<7 | 0x36, - 30130 - 19968: jis0208<<14 | 0x27<<7 | 0x47, - 30131 - 19968: jis0208<<14 | 0x40<<7 | 0x30, - 30132 - 19968: jis0212<<14 | 0x2C<<7 | 0x2C, - 30133 - 19968: jis0208<<14 | 0x40<<7 | 0x32, - 30136 - 19968: jis0208<<14 | 0x40<<7 | 0x34, - 30137 - 19968: jis0208<<14 | 0x1E<<7 | 0x1D, - 30138 - 19968: jis0212<<14 | 0x2C<<7 | 0x2D, - 30140 - 19968: jis0208<<14 | 0x40<<7 | 0x35, - 30141 - 19968: jis0208<<14 | 0x40<<7 | 0x33, - 30142 - 19968: jis0208<<14 | 0x1B<<7 | 0x1F, - 30143 - 19968: jis0212<<14 | 0x2C<<7 | 0x2E, - 30144 - 19968: jis0212<<14 | 0x2C<<7 | 0x2F, - 30145 - 19968: jis0212<<14 | 0x2C<<7 | 0x30, - 30146 - 19968: jis0208<<14 | 0x40<<7 | 0x2F, - 30147 - 19968: jis0208<<14 | 0x40<<7 | 0x31, - 30148 - 19968: jis0212<<14 | 0x2C<<7 | 0x31, - 30149 - 19968: jis0208<<14 | 0x28<<7 | 0x21, - 30150 - 19968: jis0212<<14 | 0x2C<<7 | 0x32, - 30151 - 19968: jis0208<<14 | 0x1D<<7 | 0x28, - 30154 - 19968: jis0208<<14 | 0x40<<7 | 0x38, - 30156 - 19968: jis0212<<14 | 0x2C<<7 | 0x33, - 30157 - 19968: jis0208<<14 | 0x40<<7 | 0x37, - 30158 - 19968: jis0212<<14 | 0x2C<<7 | 0x34, - 30159 - 19968: jis0212<<14 | 0x2C<<7 | 0x35, - 30162 - 19968: jis0208<<14 | 0x40<<7 | 0x39, - 30164 - 19968: jis0208<<14 | 0x1B<<7 | 0x05, - 30165 - 19968: jis0208<<14 | 0x19<<7 | 0x0E, - 30167 - 19968: jis0212<<14 | 0x2C<<7 | 0x36, - 30168 - 19968: jis0208<<14 | 0x24<<7 | 0x56, - 30169 - 19968: jis0208<<14 | 0x40<<7 | 0x3A, - 30171 - 19968: jis0208<<14 | 0x23<<7 | 0x2A, - 30172 - 19968: jis0212<<14 | 0x2C<<7 | 0x37, - 30174 - 19968: jis0208<<14 | 0x40<<7 | 0x3C, - 30175 - 19968: jis0212<<14 | 0x2C<<7 | 0x38, - 30176 - 19968: jis0212<<14 | 0x2C<<7 | 0x39, - 30177 - 19968: jis0212<<14 | 0x2C<<7 | 0x3A, - 30178 - 19968: jis0208<<14 | 0x2D<<7 | 0x00, - 30179 - 19968: jis0208<<14 | 0x40<<7 | 0x3B, - 30180 - 19968: jis0212<<14 | 0x2C<<7 | 0x3B, - 30183 - 19968: jis0212<<14 | 0x2C<<7 | 0x3C, - 30185 - 19968: jis0208<<14 | 0x20<<7 | 0x48, - 30188 - 19968: jis0212<<14 | 0x2C<<7 | 0x3D, - 30190 - 19968: jis0212<<14 | 0x2C<<7 | 0x3E, - 30191 - 19968: jis0212<<14 | 0x2C<<7 | 0x3F, - 30192 - 19968: jis0208<<14 | 0x40<<7 | 0x41, - 30193 - 19968: jis0212<<14 | 0x2C<<7 | 0x40, - 30194 - 19968: jis0208<<14 | 0x40<<7 | 0x43, - 30195 - 19968: jis0208<<14 | 0x40<<7 | 0x44, - 30196 - 19968: jis0208<<14 | 0x22<<7 | 0x33, - 30201 - 19968: jis0212<<14 | 0x2C<<7 | 0x41, - 30202 - 19968: jis0208<<14 | 0x40<<7 | 0x42, - 30204 - 19968: jis0208<<14 | 0x40<<7 | 0x3F, - 30206 - 19968: jis0208<<14 | 0x40<<7 | 0x3D, - 30207 - 19968: jis0208<<14 | 0x40<<7 | 0x3E, - 30208 - 19968: jis0212<<14 | 0x2C<<7 | 0x42, - 30209 - 19968: jis0208<<14 | 0x40<<7 | 0x40, - 30210 - 19968: jis0212<<14 | 0x2C<<7 | 0x43, - 30211 - 19968: jis0212<<14 | 0x2C<<7 | 0x44, - 30212 - 19968: jis0212<<14 | 0x2C<<7 | 0x45, - 30215 - 19968: jis0212<<14 | 0x2C<<7 | 0x46, - 30216 - 19968: jis0212<<14 | 0x2C<<7 | 0x47, - 30217 - 19968: jis0208<<14 | 0x40<<7 | 0x47, - 30218 - 19968: jis0212<<14 | 0x2C<<7 | 0x48, - 30219 - 19968: jis0208<<14 | 0x40<<7 | 0x45, - 30220 - 19968: jis0212<<14 | 0x2C<<7 | 0x49, - 30221 - 19968: jis0208<<14 | 0x40<<7 | 0x46, - 30223 - 19968: jis0212<<14 | 0x2C<<7 | 0x4A, - 30226 - 19968: jis0212<<14 | 0x2C<<7 | 0x4B, - 30227 - 19968: jis0212<<14 | 0x2C<<7 | 0x4C, - 30229 - 19968: jis0212<<14 | 0x2C<<7 | 0x4D, - 30230 - 19968: jis0212<<14 | 0x2C<<7 | 0x4E, - 30233 - 19968: jis0212<<14 | 0x2C<<7 | 0x4F, - 30235 - 19968: jis0212<<14 | 0x2C<<7 | 0x50, - 30236 - 19968: jis0212<<14 | 0x2C<<7 | 0x51, - 30237 - 19968: jis0212<<14 | 0x2C<<7 | 0x52, - 30238 - 19968: jis0212<<14 | 0x2C<<7 | 0x53, - 30239 - 19968: jis0208<<14 | 0x40<<7 | 0x48, - 30240 - 19968: jis0208<<14 | 0x40<<7 | 0x4A, - 30241 - 19968: jis0208<<14 | 0x40<<7 | 0x4B, - 30242 - 19968: jis0208<<14 | 0x40<<7 | 0x4C, - 30243 - 19968: jis0212<<14 | 0x2C<<7 | 0x54, - 30244 - 19968: jis0208<<14 | 0x40<<7 | 0x4D, - 30245 - 19968: jis0212<<14 | 0x2C<<7 | 0x55, - 30246 - 19968: jis0212<<14 | 0x2C<<7 | 0x56, - 30247 - 19968: jis0208<<14 | 0x40<<7 | 0x49, - 30249 - 19968: jis0212<<14 | 0x2C<<7 | 0x57, - 30253 - 19968: jis0212<<14 | 0x2C<<7 | 0x58, - 30256 - 19968: jis0208<<14 | 0x40<<7 | 0x4F, - 30258 - 19968: jis0212<<14 | 0x2C<<7 | 0x59, - 30259 - 19968: jis0212<<14 | 0x2C<<7 | 0x5A, - 30260 - 19968: jis0208<<14 | 0x40<<7 | 0x4E, - 30261 - 19968: jis0212<<14 | 0x2C<<7 | 0x5B, - 30264 - 19968: jis0212<<14 | 0x2C<<7 | 0x5C, - 30265 - 19968: jis0212<<14 | 0x2C<<7 | 0x5D, - 30266 - 19968: jis0212<<14 | 0x2D<<7 | 0x00, - 30267 - 19968: jis0208<<14 | 0x40<<7 | 0x50, - 30268 - 19968: jis0212<<14 | 0x2D<<7 | 0x01, - 30272 - 19968: jis0212<<14 | 0x2D<<7 | 0x03, - 30273 - 19968: jis0212<<14 | 0x2D<<7 | 0x04, - 30274 - 19968: jis0208<<14 | 0x2D<<7 | 0x24, - 30275 - 19968: jis0212<<14 | 0x2D<<7 | 0x05, - 30276 - 19968: jis0212<<14 | 0x2D<<7 | 0x06, - 30277 - 19968: jis0212<<14 | 0x2D<<7 | 0x07, - 30278 - 19968: jis0208<<14 | 0x40<<7 | 0x53, - 30279 - 19968: jis0208<<14 | 0x40<<7 | 0x51, - 30280 - 19968: jis0208<<14 | 0x40<<7 | 0x52, - 30281 - 19968: jis0212<<14 | 0x2D<<7 | 0x08, - 30282 - 19968: jis0212<<14 | 0x2D<<7 | 0x02, - 30283 - 19968: jis0212<<14 | 0x2D<<7 | 0x09, - 30284 - 19968: jis0208<<14 | 0x13<<7 | 0x41, - 30290 - 19968: jis0208<<14 | 0x2B<<7 | 0x5D, - 30293 - 19968: jis0212<<14 | 0x2D<<7 | 0x0A, - 30294 - 19968: jis0208<<14 | 0x29<<7 | 0x29, - 30296 - 19968: jis0208<<14 | 0x40<<7 | 0x55, - 30297 - 19968: jis0212<<14 | 0x2D<<7 | 0x0B, - 30300 - 19968: jis0208<<14 | 0x40<<7 | 0x54, - 30303 - 19968: jis0212<<14 | 0x2D<<7 | 0x0C, - 30305 - 19968: jis0208<<14 | 0x40<<7 | 0x56, - 30306 - 19968: jis0208<<14 | 0x40<<7 | 0x57, - 30308 - 19968: jis0212<<14 | 0x2D<<7 | 0x0D, - 30309 - 19968: jis0212<<14 | 0x2D<<7 | 0x0E, - 30311 - 19968: jis0208<<14 | 0x40<<7 | 0x5B, - 30312 - 19968: jis0208<<14 | 0x40<<7 | 0x58, - 30313 - 19968: jis0208<<14 | 0x40<<7 | 0x59, - 30314 - 19968: jis0208<<14 | 0x40<<7 | 0x5A, - 30316 - 19968: jis0208<<14 | 0x40<<7 | 0x5C, - 30317 - 19968: jis0212<<14 | 0x2D<<7 | 0x0F, - 30318 - 19968: jis0212<<14 | 0x2D<<7 | 0x10, - 30319 - 19968: jis0212<<14 | 0x2D<<7 | 0x11, - 30320 - 19968: jis0208<<14 | 0x40<<7 | 0x5D, - 30321 - 19968: jis0212<<14 | 0x2D<<7 | 0x12, - 30322 - 19968: jis0208<<14 | 0x41<<7 | 0x00, - 30324 - 19968: jis0212<<14 | 0x2D<<7 | 0x13, - 30326 - 19968: jis0208<<14 | 0x41<<7 | 0x01, - 30328 - 19968: jis0208<<14 | 0x41<<7 | 0x02, - 30330 - 19968: jis0208<<14 | 0x27<<7 | 0x0E, - 30331 - 19968: jis0208<<14 | 0x24<<7 | 0x2F, - 30332 - 19968: jis0208<<14 | 0x41<<7 | 0x03, - 30333 - 19968: jis0208<<14 | 0x26<<7 | 0x51, - 30334 - 19968: jis0208<<14 | 0x28<<7 | 0x13, - 30336 - 19968: jis0208<<14 | 0x41<<7 | 0x04, - 30337 - 19968: jis0212<<14 | 0x2D<<7 | 0x14, - 30338 - 19968: jis0208<<14 | 0x5A<<7 | 0x14, - 30339 - 19968: jis0208<<14 | 0x41<<7 | 0x05, - 30340 - 19968: jis0208<<14 | 0x24<<7 | 0x09, - 30341 - 19968: jis0212<<14 | 0x2D<<7 | 0x15, - 30342 - 19968: jis0208<<14 | 0x12<<7 | 0x06, - 30343 - 19968: jis0208<<14 | 0x18<<7 | 0x23, - 30344 - 19968: jis0208<<14 | 0x41<<7 | 0x06, - 30347 - 19968: jis0208<<14 | 0x41<<7 | 0x07, - 30348 - 19968: jis0212<<14 | 0x2D<<7 | 0x16, - 30349 - 19968: jis0212<<14 | 0x2D<<7 | 0x17, - 30350 - 19968: jis0208<<14 | 0x41<<7 | 0x08, - 30352 - 19968: jis0208<<14 | 0x1A<<7 | 0x08, - 30355 - 19968: jis0208<<14 | 0x41<<7 | 0x0A, - 30357 - 19968: jis0212<<14 | 0x2D<<7 | 0x18, - 30358 - 19968: jis0208<<14 | 0x41<<7 | 0x09, - 30361 - 19968: jis0208<<14 | 0x41<<7 | 0x0B, - 30362 - 19968: jis0208<<14 | 0x41<<7 | 0x0C, - 30363 - 19968: jis0208<<14 | 0x5A<<7 | 0x17, - 30364 - 19968: jis0208<<14 | 0x5A<<7 | 0x15, - 30365 - 19968: jis0212<<14 | 0x2D<<7 | 0x1B, - 30366 - 19968: jis0208<<14 | 0x5A<<7 | 0x16, - 30367 - 19968: jis0212<<14 | 0x2D<<7 | 0x1C, - 30368 - 19968: jis0212<<14 | 0x2D<<7 | 0x1D, - 30370 - 19968: jis0212<<14 | 0x2D<<7 | 0x1E, - 30371 - 19968: jis0212<<14 | 0x2D<<7 | 0x1F, - 30372 - 19968: jis0212<<14 | 0x2D<<7 | 0x20, - 30373 - 19968: jis0212<<14 | 0x2D<<7 | 0x21, - 30374 - 19968: jis0208<<14 | 0x5A<<7 | 0x18, - 30375 - 19968: jis0212<<14 | 0x2D<<7 | 0x23, - 30376 - 19968: jis0212<<14 | 0x2D<<7 | 0x24, - 30378 - 19968: jis0212<<14 | 0x2D<<7 | 0x25, - 30381 - 19968: jis0212<<14 | 0x2D<<7 | 0x26, - 30382 - 19968: jis0208<<14 | 0x27<<7 | 0x48, - 30384 - 19968: jis0208<<14 | 0x41<<7 | 0x0D, - 30388 - 19968: jis0208<<14 | 0x41<<7 | 0x0E, - 30391 - 19968: jis0208<<14 | 0x52<<7 | 0x48, - 30392 - 19968: jis0208<<14 | 0x41<<7 | 0x0F, - 30393 - 19968: jis0208<<14 | 0x41<<7 | 0x10, - 30394 - 19968: jis0208<<14 | 0x41<<7 | 0x11, - 30397 - 19968: jis0212<<14 | 0x2D<<7 | 0x27, - 30399 - 19968: jis0208<<14 | 0x1A<<7 | 0x0D, - 30401 - 19968: jis0212<<14 | 0x2D<<7 | 0x28, - 30402 - 19968: jis0208<<14 | 0x41<<7 | 0x12, - 30403 - 19968: jis0208<<14 | 0x26<<7 | 0x35, - 30405 - 19968: jis0212<<14 | 0x2D<<7 | 0x29, - 30406 - 19968: jis0208<<14 | 0x2A<<7 | 0x3E, - 30408 - 19968: jis0208<<14 | 0x10<<7 | 0x2D, - 30409 - 19968: jis0212<<14 | 0x2D<<7 | 0x2A, - 30410 - 19968: jis0208<<14 | 0x10<<7 | 0x36, - 30411 - 19968: jis0212<<14 | 0x2D<<7 | 0x2B, - 30412 - 19968: jis0212<<14 | 0x2D<<7 | 0x2C, - 30413 - 19968: jis0208<<14 | 0x41<<7 | 0x13, - 30414 - 19968: jis0212<<14 | 0x2D<<7 | 0x2D, - 30418 - 19968: jis0208<<14 | 0x41<<7 | 0x15, - 30420 - 19968: jis0212<<14 | 0x2D<<7 | 0x2E, - 30422 - 19968: jis0208<<14 | 0x41<<7 | 0x14, - 30423 - 19968: jis0208<<14 | 0x24<<7 | 0x4F, - 30425 - 19968: jis0212<<14 | 0x2D<<7 | 0x2F, - 30427 - 19968: jis0208<<14 | 0x1F<<7 | 0x18, - 30428 - 19968: jis0208<<14 | 0x3C<<7 | 0x18, - 30430 - 19968: jis0208<<14 | 0x41<<7 | 0x16, - 30431 - 19968: jis0208<<14 | 0x2B<<7 | 0x20, - 30432 - 19968: jis0212<<14 | 0x2D<<7 | 0x30, - 30433 - 19968: jis0208<<14 | 0x41<<7 | 0x17, - 30435 - 19968: jis0208<<14 | 0x13<<7 | 0x25, - 30436 - 19968: jis0208<<14 | 0x27<<7 | 0x36, - 30437 - 19968: jis0208<<14 | 0x41<<7 | 0x18, - 30438 - 19968: jis0212<<14 | 0x2D<<7 | 0x31, - 30439 - 19968: jis0208<<14 | 0x41<<7 | 0x19, - 30440 - 19968: jis0212<<14 | 0x2D<<7 | 0x32, - 30442 - 19968: jis0208<<14 | 0x41<<7 | 0x1A, - 30444 - 19968: jis0212<<14 | 0x2D<<7 | 0x33, - 30446 - 19968: jis0208<<14 | 0x2B<<7 | 0x3B, - 30448 - 19968: jis0212<<14 | 0x2D<<7 | 0x34, - 30449 - 19968: jis0212<<14 | 0x2D<<7 | 0x35, - 30450 - 19968: jis0208<<14 | 0x2B<<7 | 0x34, - 30452 - 19968: jis0208<<14 | 0x23<<7 | 0x1D, - 30454 - 19968: jis0212<<14 | 0x2D<<7 | 0x36, - 30456 - 19968: jis0208<<14 | 0x20<<7 | 0x49, - 30457 - 19968: jis0212<<14 | 0x2D<<7 | 0x37, - 30459 - 19968: jis0208<<14 | 0x41<<7 | 0x1C, - 30460 - 19968: jis0212<<14 | 0x2D<<7 | 0x38, - 30462 - 19968: jis0208<<14 | 0x1C<<7 | 0x41, - 30464 - 19968: jis0212<<14 | 0x2D<<7 | 0x39, - 30465 - 19968: jis0208<<14 | 0x1D<<7 | 0x29, - 30468 - 19968: jis0208<<14 | 0x41<<7 | 0x1F, - 30470 - 19968: jis0212<<14 | 0x2D<<7 | 0x3A, - 30471 - 19968: jis0208<<14 | 0x41<<7 | 0x1E, - 30472 - 19968: jis0208<<14 | 0x41<<7 | 0x1D, - 30473 - 19968: jis0208<<14 | 0x27<<7 | 0x5C, - 30474 - 19968: jis0212<<14 | 0x2D<<7 | 0x3B, - 30475 - 19968: jis0208<<14 | 0x13<<7 | 0x26, - 30476 - 19968: jis0208<<14 | 0x17<<7 | 0x08, - 30478 - 19968: jis0212<<14 | 0x2D<<7 | 0x3C, - 30482 - 19968: jis0212<<14 | 0x2D<<7 | 0x3D, - 30484 - 19968: jis0212<<14 | 0x2D<<7 | 0x3E, - 30485 - 19968: jis0212<<14 | 0x2D<<7 | 0x3F, - 30487 - 19968: jis0212<<14 | 0x2D<<7 | 0x40, - 30489 - 19968: jis0212<<14 | 0x2D<<7 | 0x41, - 30490 - 19968: jis0212<<14 | 0x2D<<7 | 0x42, - 30491 - 19968: jis0208<<14 | 0x41<<7 | 0x25, - 30492 - 19968: jis0212<<14 | 0x2D<<7 | 0x43, - 30494 - 19968: jis0208<<14 | 0x41<<7 | 0x22, - 30495 - 19968: jis0208<<14 | 0x1E<<7 | 0x1E, - 30496 - 19968: jis0208<<14 | 0x2B<<7 | 0x11, - 30498 - 19968: jis0212<<14 | 0x2D<<7 | 0x44, - 30500 - 19968: jis0208<<14 | 0x41<<7 | 0x21, - 30501 - 19968: jis0208<<14 | 0x41<<7 | 0x23, - 30502 - 19968: jis0208<<14 | 0x41<<7 | 0x24, - 30504 - 19968: jis0212<<14 | 0x2D<<7 | 0x45, - 30505 - 19968: jis0208<<14 | 0x41<<7 | 0x20, - 30509 - 19968: jis0212<<14 | 0x2D<<7 | 0x46, - 30510 - 19968: jis0212<<14 | 0x2D<<7 | 0x47, - 30511 - 19968: jis0212<<14 | 0x2D<<7 | 0x48, - 30516 - 19968: jis0212<<14 | 0x2D<<7 | 0x49, - 30517 - 19968: jis0212<<14 | 0x2D<<7 | 0x4A, - 30518 - 19968: jis0212<<14 | 0x2D<<7 | 0x4B, - 30519 - 19968: jis0208<<14 | 0x41<<7 | 0x26, - 30520 - 19968: jis0208<<14 | 0x41<<7 | 0x27, - 30521 - 19968: jis0212<<14 | 0x2D<<7 | 0x4C, - 30522 - 19968: jis0208<<14 | 0x23<<7 | 0x0E, - 30524 - 19968: jis0208<<14 | 0x13<<7 | 0x42, - 30525 - 19968: jis0212<<14 | 0x2D<<7 | 0x4D, - 30526 - 19968: jis0212<<14 | 0x2D<<7 | 0x4E, - 30528 - 19968: jis0208<<14 | 0x22<<7 | 0x44, - 30530 - 19968: jis0212<<14 | 0x2D<<7 | 0x4F, - 30533 - 19968: jis0212<<14 | 0x2D<<7 | 0x50, - 30534 - 19968: jis0208<<14 | 0x5A<<7 | 0x1A, - 30535 - 19968: jis0208<<14 | 0x41<<7 | 0x28, - 30538 - 19968: jis0212<<14 | 0x2D<<7 | 0x52, - 30541 - 19968: jis0212<<14 | 0x2D<<7 | 0x53, - 30542 - 19968: jis0212<<14 | 0x2D<<7 | 0x54, - 30543 - 19968: jis0212<<14 | 0x2D<<7 | 0x55, - 30546 - 19968: jis0212<<14 | 0x2D<<7 | 0x56, - 30550 - 19968: jis0212<<14 | 0x2D<<7 | 0x57, - 30551 - 19968: jis0212<<14 | 0x2D<<7 | 0x58, - 30554 - 19968: jis0208<<14 | 0x41<<7 | 0x29, - 30555 - 19968: jis0208<<14 | 0x41<<7 | 0x2C, - 30556 - 19968: jis0212<<14 | 0x2D<<7 | 0x59, - 30558 - 19968: jis0212<<14 | 0x2D<<7 | 0x5A, - 30559 - 19968: jis0212<<14 | 0x2D<<7 | 0x5B, - 30560 - 19968: jis0212<<14 | 0x2D<<7 | 0x5C, - 30561 - 19968: jis0208<<14 | 0x1E<<7 | 0x46, - 30562 - 19968: jis0212<<14 | 0x2D<<7 | 0x5D, - 30563 - 19968: jis0208<<14 | 0x25<<7 | 0x23, - 30564 - 19968: jis0212<<14 | 0x2E<<7 | 0x00, - 30565 - 19968: jis0208<<14 | 0x41<<7 | 0x2D, - 30566 - 19968: jis0208<<14 | 0x2A<<7 | 0x32, - 30567 - 19968: jis0212<<14 | 0x2E<<7 | 0x01, - 30568 - 19968: jis0208<<14 | 0x41<<7 | 0x2A, - 30570 - 19968: jis0212<<14 | 0x2E<<7 | 0x02, - 30571 - 19968: jis0208<<14 | 0x41<<7 | 0x2B, - 30572 - 19968: jis0212<<14 | 0x2E<<7 | 0x03, - 30576 - 19968: jis0212<<14 | 0x2E<<7 | 0x04, - 30578 - 19968: jis0212<<14 | 0x2E<<7 | 0x05, - 30579 - 19968: jis0212<<14 | 0x2E<<7 | 0x06, - 30580 - 19968: jis0212<<14 | 0x2E<<7 | 0x07, - 30585 - 19968: jis0208<<14 | 0x41<<7 | 0x30, - 30586 - 19968: jis0212<<14 | 0x2E<<7 | 0x08, - 30589 - 19968: jis0212<<14 | 0x2E<<7 | 0x09, - 30590 - 19968: jis0208<<14 | 0x41<<7 | 0x2F, - 30591 - 19968: jis0208<<14 | 0x41<<7 | 0x2E, - 30592 - 19968: jis0212<<14 | 0x2E<<7 | 0x0A, - 30596 - 19968: jis0212<<14 | 0x2E<<7 | 0x0B, - 30603 - 19968: jis0208<<14 | 0x41<<7 | 0x32, - 30604 - 19968: jis0212<<14 | 0x2E<<7 | 0x0C, - 30605 - 19968: jis0212<<14 | 0x2E<<7 | 0x0D, - 30606 - 19968: jis0208<<14 | 0x41<<7 | 0x31, - 30609 - 19968: jis0208<<14 | 0x41<<7 | 0x33, - 30612 - 19968: jis0212<<14 | 0x2E<<7 | 0x0E, - 30613 - 19968: jis0212<<14 | 0x2E<<7 | 0x0F, - 30614 - 19968: jis0212<<14 | 0x2E<<7 | 0x10, - 30618 - 19968: jis0212<<14 | 0x2E<<7 | 0x11, - 30622 - 19968: jis0208<<14 | 0x41<<7 | 0x35, - 30623 - 19968: jis0212<<14 | 0x2E<<7 | 0x12, - 30624 - 19968: jis0208<<14 | 0x41<<7 | 0x34, - 30626 - 19968: jis0212<<14 | 0x2E<<7 | 0x13, - 30629 - 19968: jis0208<<14 | 0x29<<7 | 0x2C, - 30631 - 19968: jis0212<<14 | 0x2E<<7 | 0x14, - 30634 - 19968: jis0212<<14 | 0x2E<<7 | 0x15, - 30636 - 19968: jis0208<<14 | 0x1C<<7 | 0x35, - 30637 - 19968: jis0208<<14 | 0x2D<<7 | 0x25, - 30638 - 19968: jis0212<<14 | 0x2E<<7 | 0x16, - 30639 - 19968: jis0212<<14 | 0x2E<<7 | 0x17, - 30640 - 19968: jis0208<<14 | 0x41<<7 | 0x36, - 30641 - 19968: jis0212<<14 | 0x2E<<7 | 0x18, - 30643 - 19968: jis0208<<14 | 0x25<<7 | 0x16, - 30645 - 19968: jis0212<<14 | 0x2E<<7 | 0x19, - 30646 - 19968: jis0208<<14 | 0x41<<7 | 0x37, - 30649 - 19968: jis0208<<14 | 0x41<<7 | 0x38, - 30651 - 19968: jis0208<<14 | 0x41<<7 | 0x3C, - 30652 - 19968: jis0208<<14 | 0x41<<7 | 0x3A, - 30653 - 19968: jis0208<<14 | 0x41<<7 | 0x3B, - 30654 - 19968: jis0212<<14 | 0x2E<<7 | 0x1A, - 30655 - 19968: jis0208<<14 | 0x41<<7 | 0x39, - 30659 - 19968: jis0212<<14 | 0x2E<<7 | 0x1B, - 30663 - 19968: jis0208<<14 | 0x41<<7 | 0x3D, - 30665 - 19968: jis0212<<14 | 0x2E<<7 | 0x1C, - 30669 - 19968: jis0208<<14 | 0x41<<7 | 0x3E, - 30673 - 19968: jis0212<<14 | 0x2E<<7 | 0x1D, - 30674 - 19968: jis0212<<14 | 0x2E<<7 | 0x1E, - 30677 - 19968: jis0212<<14 | 0x2E<<7 | 0x1F, - 30679 - 19968: jis0208<<14 | 0x41<<7 | 0x3F, - 30681 - 19968: jis0212<<14 | 0x2E<<7 | 0x20, - 30682 - 19968: jis0208<<14 | 0x41<<7 | 0x40, - 30683 - 19968: jis0208<<14 | 0x2B<<7 | 0x16, - 30684 - 19968: jis0208<<14 | 0x41<<7 | 0x41, - 30686 - 19968: jis0212<<14 | 0x2E<<7 | 0x21, - 30687 - 19968: jis0212<<14 | 0x2E<<7 | 0x22, - 30688 - 19968: jis0212<<14 | 0x2E<<7 | 0x23, - 30690 - 19968: jis0208<<14 | 0x2B<<7 | 0x4F, - 30691 - 19968: jis0208<<14 | 0x41<<7 | 0x42, - 30692 - 19968: jis0212<<14 | 0x2E<<7 | 0x24, - 30693 - 19968: jis0208<<14 | 0x22<<7 | 0x2D, - 30694 - 19968: jis0212<<14 | 0x2E<<7 | 0x25, - 30695 - 19968: jis0208<<14 | 0x26<<7 | 0x49, - 30697 - 19968: jis0208<<14 | 0x15<<7 | 0x4A, - 30698 - 19968: jis0212<<14 | 0x2E<<7 | 0x26, - 30700 - 19968: jis0212<<14 | 0x2E<<7 | 0x27, - 30701 - 19968: jis0208<<14 | 0x22<<7 | 0x1A, - 30702 - 19968: jis0208<<14 | 0x41<<7 | 0x43, - 30703 - 19968: jis0208<<14 | 0x15<<7 | 0x19, - 30704 - 19968: jis0212<<14 | 0x2E<<7 | 0x28, - 30705 - 19968: jis0212<<14 | 0x2E<<7 | 0x29, - 30707 - 19968: jis0208<<14 | 0x1F<<7 | 0x2F, - 30708 - 19968: jis0212<<14 | 0x2E<<7 | 0x2A, - 30712 - 19968: jis0212<<14 | 0x2E<<7 | 0x2B, - 30715 - 19968: jis0212<<14 | 0x2E<<7 | 0x2C, - 30716 - 19968: jis0208<<14 | 0x41<<7 | 0x44, - 30722 - 19968: jis0208<<14 | 0x19<<7 | 0x1C, - 30725 - 19968: jis0212<<14 | 0x2E<<7 | 0x2D, - 30726 - 19968: jis0212<<14 | 0x2E<<7 | 0x2E, - 30729 - 19968: jis0212<<14 | 0x2E<<7 | 0x2F, - 30732 - 19968: jis0208<<14 | 0x41<<7 | 0x45, - 30733 - 19968: jis0212<<14 | 0x2E<<7 | 0x30, - 30734 - 19968: jis0212<<14 | 0x2E<<7 | 0x31, - 30737 - 19968: jis0212<<14 | 0x2E<<7 | 0x32, - 30738 - 19968: jis0208<<14 | 0x41<<7 | 0x46, - 30740 - 19968: jis0208<<14 | 0x17<<7 | 0x05, - 30741 - 19968: jis0208<<14 | 0x19<<7 | 0x34, - 30749 - 19968: jis0212<<14 | 0x2E<<7 | 0x33, - 30752 - 19968: jis0208<<14 | 0x41<<7 | 0x48, - 30753 - 19968: jis0208<<14 | 0x5A<<7 | 0x1C, - 30754 - 19968: jis0212<<14 | 0x2E<<7 | 0x35, - 30755 - 19968: jis0212<<14 | 0x2E<<7 | 0x36, - 30757 - 19968: jis0208<<14 | 0x24<<7 | 0x35, - 30758 - 19968: jis0208<<14 | 0x19<<7 | 0x35, - 30759 - 19968: jis0208<<14 | 0x14<<7 | 0x2D, - 30765 - 19968: jis0212<<14 | 0x2E<<7 | 0x37, - 30766 - 19968: jis0212<<14 | 0x2E<<7 | 0x38, - 30768 - 19968: jis0212<<14 | 0x2E<<7 | 0x39, - 30770 - 19968: jis0208<<14 | 0x2A<<7 | 0x03, - 30772 - 19968: jis0208<<14 | 0x26<<7 | 0x2A, - 30773 - 19968: jis0212<<14 | 0x2E<<7 | 0x3A, - 30775 - 19968: jis0212<<14 | 0x2E<<7 | 0x3B, - 30778 - 19968: jis0208<<14 | 0x24<<7 | 0x36, - 30783 - 19968: jis0208<<14 | 0x18<<7 | 0x3B, - 30787 - 19968: jis0212<<14 | 0x2E<<7 | 0x3C, - 30788 - 19968: jis0212<<14 | 0x2E<<7 | 0x3D, - 30789 - 19968: jis0208<<14 | 0x41<<7 | 0x4A, - 30791 - 19968: jis0212<<14 | 0x2E<<7 | 0x3E, - 30792 - 19968: jis0212<<14 | 0x2E<<7 | 0x3F, - 30796 - 19968: jis0212<<14 | 0x2E<<7 | 0x40, - 30798 - 19968: jis0208<<14 | 0x5A<<7 | 0x1D, - 30802 - 19968: jis0212<<14 | 0x2E<<7 | 0x42, - 30812 - 19968: jis0212<<14 | 0x2E<<7 | 0x43, - 30813 - 19968: jis0208<<14 | 0x1D<<7 | 0x2A, - 30814 - 19968: jis0212<<14 | 0x2E<<7 | 0x44, - 30816 - 19968: jis0212<<14 | 0x2E<<7 | 0x45, - 30817 - 19968: jis0212<<14 | 0x2E<<7 | 0x46, - 30819 - 19968: jis0212<<14 | 0x2E<<7 | 0x47, - 30820 - 19968: jis0208<<14 | 0x5A<<7 | 0x1E, - 30824 - 19968: jis0212<<14 | 0x2E<<7 | 0x49, - 30826 - 19968: jis0212<<14 | 0x2E<<7 | 0x4A, - 30827 - 19968: jis0208<<14 | 0x2D<<7 | 0x11, - 30828 - 19968: jis0208<<14 | 0x18<<7 | 0x24, - 30830 - 19968: jis0212<<14 | 0x2E<<7 | 0x4B, - 30831 - 19968: jis0208<<14 | 0x17<<7 | 0x06, - 30834 - 19968: jis0208<<14 | 0x27<<7 | 0x02, - 30836 - 19968: jis0208<<14 | 0x41<<7 | 0x4C, - 30842 - 19968: jis0208<<14 | 0x5A<<7 | 0x1F, - 30844 - 19968: jis0208<<14 | 0x41<<7 | 0x4E, - 30846 - 19968: jis0212<<14 | 0x2E<<7 | 0x4D, - 30849 - 19968: jis0208<<14 | 0x17<<7 | 0x4A, - 30854 - 19968: jis0208<<14 | 0x41<<7 | 0x4D, - 30855 - 19968: jis0208<<14 | 0x23<<7 | 0x55, - 30858 - 19968: jis0212<<14 | 0x2E<<7 | 0x4E, - 30860 - 19968: jis0208<<14 | 0x41<<7 | 0x50, - 30861 - 19968: jis0208<<14 | 0x12<<7 | 0x16, - 30862 - 19968: jis0208<<14 | 0x41<<7 | 0x4B, - 30863 - 19968: jis0212<<14 | 0x2E<<7 | 0x4F, - 30865 - 19968: jis0208<<14 | 0x27<<7 | 0x49, - 30867 - 19968: jis0208<<14 | 0x10<<7 | 0x0F, - 30868 - 19968: jis0212<<14 | 0x2E<<7 | 0x50, - 30869 - 19968: jis0208<<14 | 0x19<<7 | 0x4B, - 30871 - 19968: jis0208<<14 | 0x2E<<7 | 0x31, - 30872 - 19968: jis0212<<14 | 0x2E<<7 | 0x51, - 30874 - 19968: jis0208<<14 | 0x41<<7 | 0x4F, - 30877 - 19968: jis0212<<14 | 0x2E<<7 | 0x53, - 30878 - 19968: jis0212<<14 | 0x2E<<7 | 0x54, - 30879 - 19968: jis0212<<14 | 0x2E<<7 | 0x55, - 30881 - 19968: jis0212<<14 | 0x2E<<7 | 0x52, - 30883 - 19968: jis0208<<14 | 0x41<<7 | 0x51, - 30884 - 19968: jis0212<<14 | 0x2E<<7 | 0x56, - 30887 - 19968: jis0208<<14 | 0x29<<7 | 0x2A, - 30888 - 19968: jis0212<<14 | 0x2E<<7 | 0x57, - 30889 - 19968: jis0208<<14 | 0x1F<<7 | 0x38, - 30890 - 19968: jis0208<<14 | 0x41<<7 | 0x53, - 30892 - 19968: jis0212<<14 | 0x2E<<7 | 0x58, - 30893 - 19968: jis0212<<14 | 0x2E<<7 | 0x59, - 30895 - 19968: jis0208<<14 | 0x41<<7 | 0x54, - 30896 - 19968: jis0212<<14 | 0x2E<<7 | 0x5A, - 30897 - 19968: jis0212<<14 | 0x2E<<7 | 0x5B, - 30898 - 19968: jis0212<<14 | 0x2E<<7 | 0x5C, - 30899 - 19968: jis0212<<14 | 0x2E<<7 | 0x5D, - 30901 - 19968: jis0208<<14 | 0x41<<7 | 0x52, - 30906 - 19968: jis0208<<14 | 0x12<<7 | 0x2D, - 30907 - 19968: jis0212<<14 | 0x2F<<7 | 0x00, - 30908 - 19968: jis0208<<14 | 0x41<<7 | 0x5A, - 30909 - 19968: jis0212<<14 | 0x2F<<7 | 0x01, - 30910 - 19968: jis0208<<14 | 0x41<<7 | 0x59, - 30911 - 19968: jis0212<<14 | 0x2F<<7 | 0x02, - 30913 - 19968: jis0208<<14 | 0x1B<<7 | 0x06, - 30917 - 19968: jis0208<<14 | 0x41<<7 | 0x5B, - 30918 - 19968: jis0208<<14 | 0x41<<7 | 0x56, - 30919 - 19968: jis0212<<14 | 0x2F<<7 | 0x03, - 30920 - 19968: jis0212<<14 | 0x2F<<7 | 0x04, - 30921 - 19968: jis0212<<14 | 0x2F<<7 | 0x05, - 30922 - 19968: jis0208<<14 | 0x41<<7 | 0x5C, - 30923 - 19968: jis0208<<14 | 0x41<<7 | 0x57, - 30924 - 19968: jis0212<<14 | 0x2F<<7 | 0x06, - 30926 - 19968: jis0212<<14 | 0x2F<<7 | 0x07, - 30928 - 19968: jis0208<<14 | 0x27<<7 | 0x37, - 30929 - 19968: jis0208<<14 | 0x41<<7 | 0x55, - 30930 - 19968: jis0212<<14 | 0x2F<<7 | 0x08, - 30931 - 19968: jis0212<<14 | 0x2F<<7 | 0x09, - 30932 - 19968: jis0208<<14 | 0x41<<7 | 0x58, - 30933 - 19968: jis0212<<14 | 0x2F<<7 | 0x0A, - 30934 - 19968: jis0212<<14 | 0x2F<<7 | 0x0B, - 30938 - 19968: jis0208<<14 | 0x42<<7 | 0x01, - 30939 - 19968: jis0212<<14 | 0x2F<<7 | 0x0D, - 30943 - 19968: jis0212<<14 | 0x2F<<7 | 0x0E, - 30944 - 19968: jis0212<<14 | 0x2F<<7 | 0x0F, - 30945 - 19968: jis0212<<14 | 0x2F<<7 | 0x10, - 30948 - 19968: jis0212<<14 | 0x2F<<7 | 0x0C, - 30950 - 19968: jis0212<<14 | 0x2F<<7 | 0x11, - 30951 - 19968: jis0208<<14 | 0x42<<7 | 0x00, - 30952 - 19968: jis0208<<14 | 0x2A<<7 | 0x40, - 30954 - 19968: jis0212<<14 | 0x2F<<7 | 0x12, - 30956 - 19968: jis0208<<14 | 0x41<<7 | 0x5D, - 30959 - 19968: jis0208<<14 | 0x0F<<7 | 0x4A, - 30962 - 19968: jis0212<<14 | 0x2F<<7 | 0x13, - 30963 - 19968: jis0212<<14 | 0x2F<<7 | 0x14, - 30964 - 19968: jis0208<<14 | 0x42<<7 | 0x03, - 30966 - 19968: jis0212<<14 | 0x2F<<7 | 0x16, - 30967 - 19968: jis0212<<14 | 0x2F<<7 | 0x17, - 30970 - 19968: jis0212<<14 | 0x2F<<7 | 0x18, - 30971 - 19968: jis0212<<14 | 0x2F<<7 | 0x19, - 30973 - 19968: jis0208<<14 | 0x42<<7 | 0x02, - 30975 - 19968: jis0212<<14 | 0x2F<<7 | 0x1A, - 30976 - 19968: jis0212<<14 | 0x2F<<7 | 0x15, - 30977 - 19968: jis0208<<14 | 0x1D<<7 | 0x2B, - 30982 - 19968: jis0212<<14 | 0x2F<<7 | 0x1B, - 30983 - 19968: jis0208<<14 | 0x42<<7 | 0x04, - 30988 - 19968: jis0212<<14 | 0x2F<<7 | 0x1C, - 30990 - 19968: jis0208<<14 | 0x20<<7 | 0x22, - 30992 - 19968: jis0212<<14 | 0x2F<<7 | 0x1D, - 30993 - 19968: jis0208<<14 | 0x42<<7 | 0x06, - 30994 - 19968: jis0208<<14 | 0x42<<7 | 0x05, - 31001 - 19968: jis0208<<14 | 0x42<<7 | 0x07, - 31002 - 19968: jis0212<<14 | 0x2F<<7 | 0x1E, - 31004 - 19968: jis0212<<14 | 0x2F<<7 | 0x1F, - 31006 - 19968: jis0212<<14 | 0x2F<<7 | 0x20, - 31007 - 19968: jis0212<<14 | 0x2F<<7 | 0x21, - 31008 - 19968: jis0212<<14 | 0x2F<<7 | 0x22, - 31013 - 19968: jis0212<<14 | 0x2F<<7 | 0x23, - 31014 - 19968: jis0208<<14 | 0x41<<7 | 0x47, - 31015 - 19968: jis0212<<14 | 0x2F<<7 | 0x24, - 31017 - 19968: jis0212<<14 | 0x2F<<7 | 0x25, - 31018 - 19968: jis0208<<14 | 0x41<<7 | 0x49, - 31019 - 19968: jis0208<<14 | 0x42<<7 | 0x09, - 31020 - 19968: jis0208<<14 | 0x42<<7 | 0x08, - 31021 - 19968: jis0212<<14 | 0x2F<<7 | 0x26, - 31024 - 19968: jis0208<<14 | 0x5A<<7 | 0x20, - 31025 - 19968: jis0212<<14 | 0x2F<<7 | 0x27, - 31028 - 19968: jis0212<<14 | 0x2F<<7 | 0x28, - 31029 - 19968: jis0212<<14 | 0x2F<<7 | 0x29, - 31034 - 19968: jis0208<<14 | 0x1B<<7 | 0x07, - 31035 - 19968: jis0212<<14 | 0x2F<<7 | 0x2A, - 31036 - 19968: jis0208<<14 | 0x2D<<7 | 0x48, - 31037 - 19968: jis0212<<14 | 0x2F<<7 | 0x2B, - 31038 - 19968: jis0208<<14 | 0x1B<<7 | 0x31, - 31039 - 19968: jis0212<<14 | 0x2F<<7 | 0x2C, - 31040 - 19968: jis0208<<14 | 0x42<<7 | 0x0A, - 31041 - 19968: jis0208<<14 | 0x16<<7 | 0x16, - 31044 - 19968: jis0212<<14 | 0x2F<<7 | 0x2D, - 31045 - 19968: jis0212<<14 | 0x2F<<7 | 0x2E, - 31046 - 19968: jis0212<<14 | 0x2F<<7 | 0x2F, - 31047 - 19968: jis0208<<14 | 0x14<<7 | 0x1F, - 31048 - 19968: jis0208<<14 | 0x14<<7 | 0x06, - 31049 - 19968: jis0208<<14 | 0x1A<<7 | 0x42, - 31050 - 19968: jis0212<<14 | 0x2F<<7 | 0x30, - 31051 - 19968: jis0212<<14 | 0x2F<<7 | 0x31, - 31055 - 19968: jis0212<<14 | 0x2F<<7 | 0x32, - 31056 - 19968: jis0208<<14 | 0x2C<<7 | 0x13, - 31057 - 19968: jis0212<<14 | 0x2F<<7 | 0x33, - 31059 - 19968: jis0208<<14 | 0x42<<7 | 0x10, - 31060 - 19968: jis0212<<14 | 0x2F<<7 | 0x34, - 31061 - 19968: jis0208<<14 | 0x42<<7 | 0x0F, - 31062 - 19968: jis0208<<14 | 0x20<<7 | 0x23, - 31063 - 19968: jis0208<<14 | 0x42<<7 | 0x0C, - 31064 - 19968: jis0212<<14 | 0x2F<<7 | 0x35, - 31066 - 19968: jis0208<<14 | 0x42<<7 | 0x0E, - 31067 - 19968: jis0212<<14 | 0x2F<<7 | 0x36, - 31068 - 19968: jis0212<<14 | 0x2F<<7 | 0x37, - 31069 - 19968: jis0208<<14 | 0x1C<<7 | 0x2A, - 31070 - 19968: jis0208<<14 | 0x1E<<7 | 0x1F, - 31071 - 19968: jis0208<<14 | 0x42<<7 | 0x0D, - 31072 - 19968: jis0208<<14 | 0x42<<7 | 0x0B, - 31074 - 19968: jis0208<<14 | 0x26<<7 | 0x09, - 31077 - 19968: jis0208<<14 | 0x1D<<7 | 0x2C, - 31079 - 19968: jis0212<<14 | 0x2F<<7 | 0x38, - 31080 - 19968: jis0208<<14 | 0x28<<7 | 0x1B, - 31081 - 19968: jis0212<<14 | 0x2F<<7 | 0x39, - 31083 - 19968: jis0212<<14 | 0x2F<<7 | 0x3A, - 31085 - 19968: jis0208<<14 | 0x19<<7 | 0x36, - 31090 - 19968: jis0212<<14 | 0x2F<<7 | 0x3B, - 31095 - 19968: jis0208<<14 | 0x24<<7 | 0x57, - 31097 - 19968: jis0212<<14 | 0x2F<<7 | 0x3C, - 31098 - 19968: jis0208<<14 | 0x42<<7 | 0x11, - 31099 - 19968: jis0212<<14 | 0x2F<<7 | 0x3D, - 31100 - 19968: jis0212<<14 | 0x2F<<7 | 0x3E, - 31102 - 19968: jis0212<<14 | 0x2F<<7 | 0x3F, - 31103 - 19968: jis0208<<14 | 0x42<<7 | 0x12, - 31104 - 19968: jis0208<<14 | 0x42<<7 | 0x28, - 31105 - 19968: jis0208<<14 | 0x15<<7 | 0x37, - 31108 - 19968: jis0208<<14 | 0x2E<<7 | 0x1C, - 31109 - 19968: jis0208<<14 | 0x20<<7 | 0x14, - 31114 - 19968: jis0208<<14 | 0x42<<7 | 0x13, - 31115 - 19968: jis0212<<14 | 0x2F<<7 | 0x40, - 31116 - 19968: jis0212<<14 | 0x2F<<7 | 0x41, - 31117 - 19968: jis0208<<14 | 0x11<<7 | 0x31, - 31118 - 19968: jis0208<<14 | 0x23<<7 | 0x56, - 31119 - 19968: jis0208<<14 | 0x29<<7 | 0x00, - 31121 - 19968: jis0212<<14 | 0x2F<<7 | 0x42, - 31123 - 19968: jis0212<<14 | 0x2F<<7 | 0x43, - 31124 - 19968: jis0208<<14 | 0x5A<<7 | 0x24, - 31125 - 19968: jis0212<<14 | 0x2F<<7 | 0x45, - 31126 - 19968: jis0212<<14 | 0x2F<<7 | 0x46, - 31128 - 19968: jis0212<<14 | 0x2F<<7 | 0x47, - 31131 - 19968: jis0208<<14 | 0x5A<<7 | 0x26, - 31132 - 19968: jis0212<<14 | 0x2F<<7 | 0x49, - 31133 - 19968: jis0208<<14 | 0x42<<7 | 0x14, - 31137 - 19968: jis0212<<14 | 0x2F<<7 | 0x4A, - 31142 - 19968: jis0208<<14 | 0x14<<7 | 0x59, - 31143 - 19968: jis0208<<14 | 0x42<<7 | 0x15, - 31144 - 19968: jis0212<<14 | 0x2F<<7 | 0x4B, - 31145 - 19968: jis0212<<14 | 0x2F<<7 | 0x4C, - 31146 - 19968: jis0208<<14 | 0x42<<7 | 0x17, - 31147 - 19968: jis0212<<14 | 0x2F<<7 | 0x4D, - 31150 - 19968: jis0208<<14 | 0x42<<7 | 0x18, - 31151 - 19968: jis0212<<14 | 0x2F<<7 | 0x4E, - 31152 - 19968: jis0208<<14 | 0x26<<7 | 0x08, - 31153 - 19968: jis0212<<14 | 0x2F<<7 | 0x4F, - 31155 - 19968: jis0208<<14 | 0x42<<7 | 0x19, - 31156 - 19968: jis0212<<14 | 0x2F<<7 | 0x50, - 31160 - 19968: jis0212<<14 | 0x2F<<7 | 0x51, - 31161 - 19968: jis0208<<14 | 0x42<<7 | 0x1A, - 31162 - 19968: jis0208<<14 | 0x42<<7 | 0x1B, - 31163 - 19968: jis0212<<14 | 0x2F<<7 | 0x52, - 31165 - 19968: jis0208<<14 | 0x15<<7 | 0x38, - 31166 - 19968: jis0208<<14 | 0x11<<7 | 0x32, - 31167 - 19968: jis0208<<14 | 0x25<<7 | 0x24, - 31168 - 19968: jis0208<<14 | 0x1C<<7 | 0x07, - 31169 - 19968: jis0208<<14 | 0x1A<<7 | 0x43, - 31170 - 19968: jis0212<<14 | 0x2F<<7 | 0x53, - 31172 - 19968: jis0212<<14 | 0x2F<<7 | 0x54, - 31175 - 19968: jis0212<<14 | 0x2F<<7 | 0x55, - 31176 - 19968: jis0212<<14 | 0x2F<<7 | 0x56, - 31177 - 19968: jis0208<<14 | 0x42<<7 | 0x1C, - 31178 - 19968: jis0212<<14 | 0x2F<<7 | 0x57, - 31179 - 19968: jis0208<<14 | 0x1C<<7 | 0x08, - 31183 - 19968: jis0212<<14 | 0x2F<<7 | 0x58, - 31185 - 19968: jis0208<<14 | 0x11<<7 | 0x29, - 31186 - 19968: jis0208<<14 | 0x28<<7 | 0x22, - 31188 - 19968: jis0212<<14 | 0x2F<<7 | 0x59, - 31189 - 19968: jis0208<<14 | 0x42<<7 | 0x1D, - 31190 - 19968: jis0212<<14 | 0x2F<<7 | 0x5A, - 31192 - 19968: jis0208<<14 | 0x27<<7 | 0x4A, - 31194 - 19968: jis0212<<14 | 0x2F<<7 | 0x5B, - 31197 - 19968: jis0212<<14 | 0x2F<<7 | 0x5C, - 31198 - 19968: jis0212<<14 | 0x2F<<7 | 0x5D, - 31199 - 19968: jis0208<<14 | 0x20<<7 | 0x24, - 31200 - 19968: jis0212<<14 | 0x30<<7 | 0x00, - 31201 - 19968: jis0208<<14 | 0x42<<7 | 0x20, - 31202 - 19968: jis0212<<14 | 0x30<<7 | 0x01, - 31203 - 19968: jis0208<<14 | 0x42<<7 | 0x21, - 31204 - 19968: jis0208<<14 | 0x26<<7 | 0x48, - 31205 - 19968: jis0212<<14 | 0x30<<7 | 0x02, - 31206 - 19968: jis0208<<14 | 0x1E<<7 | 0x20, - 31207 - 19968: jis0208<<14 | 0x42<<7 | 0x1E, - 31209 - 19968: jis0208<<14 | 0x22<<7 | 0x40, - 31210 - 19968: jis0212<<14 | 0x30<<7 | 0x03, - 31211 - 19968: jis0212<<14 | 0x30<<7 | 0x04, - 31212 - 19968: jis0208<<14 | 0x42<<7 | 0x1F, - 31213 - 19968: jis0212<<14 | 0x30<<7 | 0x05, - 31216 - 19968: jis0208<<14 | 0x1D<<7 | 0x2D, - 31217 - 19968: jis0212<<14 | 0x30<<7 | 0x06, - 31224 - 19968: jis0212<<14 | 0x30<<7 | 0x07, - 31227 - 19968: jis0208<<14 | 0x0F<<7 | 0x3B, - 31228 - 19968: jis0212<<14 | 0x30<<7 | 0x08, - 31232 - 19968: jis0208<<14 | 0x14<<7 | 0x08, - 31234 - 19968: jis0212<<14 | 0x30<<7 | 0x09, - 31235 - 19968: jis0212<<14 | 0x30<<7 | 0x0A, - 31239 - 19968: jis0212<<14 | 0x30<<7 | 0x0B, - 31240 - 19968: jis0208<<14 | 0x42<<7 | 0x22, - 31241 - 19968: jis0212<<14 | 0x30<<7 | 0x0C, - 31242 - 19968: jis0212<<14 | 0x30<<7 | 0x0D, - 31243 - 19968: jis0208<<14 | 0x23<<7 | 0x57, - 31244 - 19968: jis0212<<14 | 0x30<<7 | 0x0E, - 31245 - 19968: jis0208<<14 | 0x42<<7 | 0x23, - 31246 - 19968: jis0208<<14 | 0x1F<<7 | 0x26, - 31249 - 19968: jis0212<<14 | 0x30<<7 | 0x0F, - 31252 - 19968: jis0208<<14 | 0x2B<<7 | 0x0C, - 31253 - 19968: jis0212<<14 | 0x30<<7 | 0x10, - 31255 - 19968: jis0208<<14 | 0x28<<7 | 0x02, - 31256 - 19968: jis0208<<14 | 0x42<<7 | 0x24, - 31257 - 19968: jis0208<<14 | 0x42<<7 | 0x25, - 31258 - 19968: jis0208<<14 | 0x22<<7 | 0x34, - 31259 - 19968: jis0212<<14 | 0x30<<7 | 0x11, - 31260 - 19968: jis0208<<14 | 0x2D<<7 | 0x26, - 31262 - 19968: jis0212<<14 | 0x30<<7 | 0x12, - 31263 - 19968: jis0208<<14 | 0x42<<7 | 0x27, - 31264 - 19968: jis0208<<14 | 0x42<<7 | 0x26, - 31265 - 19968: jis0212<<14 | 0x30<<7 | 0x13, - 31271 - 19968: jis0212<<14 | 0x30<<7 | 0x14, - 31275 - 19968: jis0212<<14 | 0x30<<7 | 0x15, - 31277 - 19968: jis0212<<14 | 0x30<<7 | 0x16, - 31278 - 19968: jis0208<<14 | 0x1B<<7 | 0x4E, - 31279 - 19968: jis0212<<14 | 0x30<<7 | 0x17, - 31280 - 19968: jis0212<<14 | 0x30<<7 | 0x18, - 31281 - 19968: jis0208<<14 | 0x42<<7 | 0x29, - 31282 - 19968: jis0208<<14 | 0x0F<<7 | 0x4F, - 31284 - 19968: jis0212<<14 | 0x30<<7 | 0x19, - 31285 - 19968: jis0212<<14 | 0x30<<7 | 0x1A, - 31287 - 19968: jis0208<<14 | 0x42<<7 | 0x2C, - 31288 - 19968: jis0212<<14 | 0x30<<7 | 0x1B, - 31289 - 19968: jis0212<<14 | 0x30<<7 | 0x1C, - 31290 - 19968: jis0212<<14 | 0x30<<7 | 0x1D, - 31291 - 19968: jis0208<<14 | 0x42<<7 | 0x2A, - 31292 - 19968: jis0208<<14 | 0x11<<7 | 0x33, - 31293 - 19968: jis0208<<14 | 0x16<<7 | 0x2D, - 31294 - 19968: jis0208<<14 | 0x42<<7 | 0x2B, - 31295 - 19968: jis0208<<14 | 0x18<<7 | 0x25, - 31296 - 19968: jis0208<<14 | 0x18<<7 | 0x51, - 31298 - 19968: jis0208<<14 | 0x29<<7 | 0x45, - 31299 - 19968: jis0208<<14 | 0x42<<7 | 0x2D, - 31300 - 19968: jis0212<<14 | 0x30<<7 | 0x1E, - 31301 - 19968: jis0212<<14 | 0x30<<7 | 0x1F, - 31302 - 19968: jis0208<<14 | 0x2A<<7 | 0x33, - 31303 - 19968: jis0212<<14 | 0x30<<7 | 0x20, - 31304 - 19968: jis0212<<14 | 0x30<<7 | 0x21, - 31305 - 19968: jis0208<<14 | 0x42<<7 | 0x2F, - 31308 - 19968: jis0212<<14 | 0x30<<7 | 0x22, - 31309 - 19968: jis0208<<14 | 0x1F<<7 | 0x30, - 31310 - 19968: jis0208<<14 | 0x10<<7 | 0x2E, - 31311 - 19968: jis0208<<14 | 0x11<<7 | 0x19, - 31312 - 19968: jis0208<<14 | 0x0F<<7 | 0x0B, - 31317 - 19968: jis0212<<14 | 0x30<<7 | 0x23, - 31318 - 19968: jis0212<<14 | 0x30<<7 | 0x24, - 31319 - 19968: jis0208<<14 | 0x42<<7 | 0x2E, - 31321 - 19968: jis0212<<14 | 0x30<<7 | 0x25, - 31324 - 19968: jis0212<<14 | 0x30<<7 | 0x26, - 31325 - 19968: jis0212<<14 | 0x30<<7 | 0x27, - 31327 - 19968: jis0212<<14 | 0x30<<7 | 0x28, - 31328 - 19968: jis0212<<14 | 0x30<<7 | 0x29, - 31329 - 19968: jis0208<<14 | 0x42<<7 | 0x30, - 31330 - 19968: jis0208<<14 | 0x42<<7 | 0x31, - 31331 - 19968: jis0208<<14 | 0x1D<<7 | 0x56, - 31333 - 19968: jis0212<<14 | 0x30<<7 | 0x2A, - 31335 - 19968: jis0212<<14 | 0x30<<7 | 0x2B, - 31337 - 19968: jis0208<<14 | 0x42<<7 | 0x32, - 31338 - 19968: jis0212<<14 | 0x30<<7 | 0x2C, - 31339 - 19968: jis0208<<14 | 0x12<<7 | 0x2E, - 31341 - 19968: jis0212<<14 | 0x30<<7 | 0x2D, - 31344 - 19968: jis0208<<14 | 0x42<<7 | 0x34, - 31348 - 19968: jis0208<<14 | 0x16<<7 | 0x49, - 31349 - 19968: jis0212<<14 | 0x30<<7 | 0x2E, - 31350 - 19968: jis0208<<14 | 0x14<<7 | 0x45, - 31352 - 19968: jis0212<<14 | 0x30<<7 | 0x2F, - 31353 - 19968: jis0208<<14 | 0x42<<7 | 0x35, - 31354 - 19968: jis0208<<14 | 0x15<<7 | 0x54, - 31357 - 19968: jis0208<<14 | 0x42<<7 | 0x36, - 31358 - 19968: jis0212<<14 | 0x30<<7 | 0x30, - 31359 - 19968: jis0208<<14 | 0x1F<<7 | 0x5B, - 31360 - 19968: jis0212<<14 | 0x30<<7 | 0x31, - 31361 - 19968: jis0208<<14 | 0x25<<7 | 0x2C, - 31362 - 19968: jis0212<<14 | 0x30<<7 | 0x32, - 31363 - 19968: jis0208<<14 | 0x1F<<7 | 0x3F, - 31364 - 19968: jis0208<<14 | 0x19<<7 | 0x54, - 31365 - 19968: jis0212<<14 | 0x30<<7 | 0x33, - 31366 - 19968: jis0212<<14 | 0x30<<7 | 0x34, - 31368 - 19968: jis0208<<14 | 0x42<<7 | 0x37, - 31370 - 19968: jis0212<<14 | 0x30<<7 | 0x35, - 31371 - 19968: jis0212<<14 | 0x30<<7 | 0x36, - 31376 - 19968: jis0212<<14 | 0x30<<7 | 0x37, - 31377 - 19968: jis0212<<14 | 0x30<<7 | 0x38, - 31378 - 19968: jis0208<<14 | 0x22<<7 | 0x41, - 31379 - 19968: jis0208<<14 | 0x20<<7 | 0x4A, - 31380 - 19968: jis0212<<14 | 0x30<<7 | 0x39, - 31381 - 19968: jis0208<<14 | 0x42<<7 | 0x39, - 31382 - 19968: jis0208<<14 | 0x42<<7 | 0x3B, - 31383 - 19968: jis0208<<14 | 0x42<<7 | 0x38, - 31384 - 19968: jis0208<<14 | 0x42<<7 | 0x3A, - 31390 - 19968: jis0212<<14 | 0x30<<7 | 0x3A, - 31391 - 19968: jis0208<<14 | 0x16<<7 | 0x01, - 31392 - 19968: jis0212<<14 | 0x30<<7 | 0x3B, - 31395 - 19968: jis0212<<14 | 0x30<<7 | 0x3C, - 31401 - 19968: jis0208<<14 | 0x42<<7 | 0x3C, - 31402 - 19968: jis0208<<14 | 0x16<<7 | 0x05, - 31404 - 19968: jis0212<<14 | 0x30<<7 | 0x3D, - 31406 - 19968: jis0208<<14 | 0x14<<7 | 0x46, - 31407 - 19968: jis0208<<14 | 0x2C<<7 | 0x31, - 31408 - 19968: jis0208<<14 | 0x42<<7 | 0x3E, - 31411 - 19968: jis0212<<14 | 0x30<<7 | 0x3E, - 31413 - 19968: jis0212<<14 | 0x30<<7 | 0x3F, - 31414 - 19968: jis0208<<14 | 0x42<<7 | 0x3F, - 31417 - 19968: jis0212<<14 | 0x30<<7 | 0x40, - 31418 - 19968: jis0208<<14 | 0x10<<7 | 0x0D, - 31419 - 19968: jis0212<<14 | 0x30<<7 | 0x41, - 31420 - 19968: jis0212<<14 | 0x30<<7 | 0x42, - 31423 - 19968: jis0208<<14 | 0x42<<7 | 0x42, - 31427 - 19968: jis0208<<14 | 0x12<<7 | 0x55, - 31428 - 19968: jis0208<<14 | 0x42<<7 | 0x41, - 31429 - 19968: jis0208<<14 | 0x42<<7 | 0x40, - 31430 - 19968: jis0212<<14 | 0x30<<7 | 0x43, - 31431 - 19968: jis0208<<14 | 0x42<<7 | 0x44, - 31432 - 19968: jis0208<<14 | 0x42<<7 | 0x3D, - 31433 - 19968: jis0212<<14 | 0x30<<7 | 0x44, - 31434 - 19968: jis0208<<14 | 0x42<<7 | 0x45, - 31435 - 19968: jis0208<<14 | 0x2D<<7 | 0x08, - 31436 - 19968: jis0212<<14 | 0x30<<7 | 0x45, - 31437 - 19968: jis0208<<14 | 0x42<<7 | 0x46, - 31438 - 19968: jis0212<<14 | 0x30<<7 | 0x46, - 31439 - 19968: jis0208<<14 | 0x42<<7 | 0x47, - 31441 - 19968: jis0208<<14 | 0x5A<<7 | 0x27, - 31442 - 19968: jis0208<<14 | 0x33<<7 | 0x53, - 31443 - 19968: jis0208<<14 | 0x42<<7 | 0x49, - 31445 - 19968: jis0208<<14 | 0x42<<7 | 0x48, - 31449 - 19968: jis0208<<14 | 0x42<<7 | 0x4A, - 31450 - 19968: jis0208<<14 | 0x42<<7 | 0x4B, - 31451 - 19968: jis0212<<14 | 0x30<<7 | 0x48, - 31452 - 19968: jis0208<<14 | 0x2D<<7 | 0x14, - 31453 - 19968: jis0208<<14 | 0x42<<7 | 0x4C, - 31455 - 19968: jis0208<<14 | 0x4F<<7 | 0x4E, - 31456 - 19968: jis0208<<14 | 0x1D<<7 | 0x2E, - 31457 - 19968: jis0208<<14 | 0x42<<7 | 0x4D, - 31458 - 19968: jis0208<<14 | 0x42<<7 | 0x4E, - 31459 - 19968: jis0208<<14 | 0x1C<<7 | 0x36, - 31461 - 19968: jis0208<<14 | 0x25<<7 | 0x17, - 31462 - 19968: jis0208<<14 | 0x42<<7 | 0x4F, - 31463 - 19968: jis0208<<14 | 0x5A<<7 | 0x28, - 31464 - 19968: jis0212<<14 | 0x30<<7 | 0x49, - 31465 - 19968: jis0212<<14 | 0x30<<7 | 0x4A, - 31466 - 19968: jis0208<<14 | 0x22<<7 | 0x07, - 31467 - 19968: jis0208<<14 | 0x5A<<7 | 0x2A, - 31468 - 19968: jis0212<<14 | 0x30<<7 | 0x4C, - 31469 - 19968: jis0208<<14 | 0x42<<7 | 0x50, - 31471 - 19968: jis0208<<14 | 0x22<<7 | 0x1B, - 31472 - 19968: jis0208<<14 | 0x42<<7 | 0x51, - 31473 - 19968: jis0212<<14 | 0x30<<7 | 0x4D, - 31476 - 19968: jis0212<<14 | 0x30<<7 | 0x4E, - 31478 - 19968: jis0208<<14 | 0x15<<7 | 0x04, - 31480 - 19968: jis0208<<14 | 0x30<<7 | 0x1E, - 31481 - 19968: jis0208<<14 | 0x22<<7 | 0x3C, - 31482 - 19968: jis0208<<14 | 0x1B<<7 | 0x12, - 31483 - 19968: jis0212<<14 | 0x30<<7 | 0x4F, - 31485 - 19968: jis0212<<14 | 0x30<<7 | 0x50, - 31486 - 19968: jis0212<<14 | 0x30<<7 | 0x51, - 31487 - 19968: jis0208<<14 | 0x13<<7 | 0x27, - 31490 - 19968: jis0208<<14 | 0x42<<7 | 0x52, - 31492 - 19968: jis0208<<14 | 0x43<<7 | 0x01, - 31494 - 19968: jis0208<<14 | 0x42<<7 | 0x55, - 31495 - 19968: jis0212<<14 | 0x30<<7 | 0x52, - 31496 - 19968: jis0208<<14 | 0x14<<7 | 0x47, - 31498 - 19968: jis0208<<14 | 0x42<<7 | 0x54, - 31499 - 19968: jis0208<<14 | 0x43<<7 | 0x03, - 31503 - 19968: jis0208<<14 | 0x42<<7 | 0x53, - 31505 - 19968: jis0208<<14 | 0x1D<<7 | 0x2F, - 31508 - 19968: jis0212<<14 | 0x30<<7 | 0x53, - 31512 - 19968: jis0208<<14 | 0x42<<7 | 0x57, - 31513 - 19968: jis0208<<14 | 0x42<<7 | 0x58, - 31515 - 19968: jis0208<<14 | 0x24<<7 | 0x0A, - 31518 - 19968: jis0208<<14 | 0x42<<7 | 0x59, - 31519 - 19968: jis0212<<14 | 0x30<<7 | 0x54, - 31520 - 19968: jis0208<<14 | 0x12<<7 | 0x3D, - 31523 - 19968: jis0212<<14 | 0x30<<7 | 0x55, - 31525 - 19968: jis0208<<14 | 0x1E<<7 | 0x39, - 31526 - 19968: jis0208<<14 | 0x28<<7 | 0x43, - 31527 - 19968: jis0212<<14 | 0x30<<7 | 0x56, - 31528 - 19968: jis0208<<14 | 0x42<<7 | 0x5B, - 31529 - 19968: jis0212<<14 | 0x30<<7 | 0x57, - 31530 - 19968: jis0212<<14 | 0x30<<7 | 0x58, - 31531 - 19968: jis0212<<14 | 0x30<<7 | 0x59, - 31532 - 19968: jis0208<<14 | 0x21<<7 | 0x47, - 31533 - 19968: jis0212<<14 | 0x30<<7 | 0x5A, - 31534 - 19968: jis0212<<14 | 0x30<<7 | 0x5B, - 31535 - 19968: jis0212<<14 | 0x30<<7 | 0x5C, - 31536 - 19968: jis0212<<14 | 0x30<<7 | 0x5D, - 31537 - 19968: jis0212<<14 | 0x31<<7 | 0x00, - 31539 - 19968: jis0208<<14 | 0x42<<7 | 0x56, - 31540 - 19968: jis0212<<14 | 0x31<<7 | 0x01, - 31541 - 19968: jis0208<<14 | 0x42<<7 | 0x5A, - 31542 - 19968: jis0208<<14 | 0x42<<7 | 0x5C, - 31545 - 19968: jis0208<<14 | 0x19<<7 | 0x5A, - 31549 - 19968: jis0212<<14 | 0x31<<7 | 0x02, - 31551 - 19968: jis0212<<14 | 0x31<<7 | 0x03, - 31552 - 19968: jis0212<<14 | 0x31<<7 | 0x04, - 31553 - 19968: jis0212<<14 | 0x31<<7 | 0x05, - 31557 - 19968: jis0208<<14 | 0x43<<7 | 0x05, - 31558 - 19968: jis0208<<14 | 0x28<<7 | 0x0D, - 31559 - 19968: jis0212<<14 | 0x31<<7 | 0x06, - 31560 - 19968: jis0208<<14 | 0x27<<7 | 0x05, - 31561 - 19968: jis0208<<14 | 0x24<<7 | 0x58, - 31563 - 19968: jis0208<<14 | 0x15<<7 | 0x39, - 31564 - 19968: jis0208<<14 | 0x43<<7 | 0x04, - 31565 - 19968: jis0208<<14 | 0x43<<7 | 0x02, - 31566 - 19968: jis0212<<14 | 0x31<<7 | 0x07, - 31567 - 19968: jis0208<<14 | 0x27<<7 | 0x14, - 31568 - 19968: jis0208<<14 | 0x42<<7 | 0x5D, - 31569 - 19968: jis0208<<14 | 0x22<<7 | 0x3D, - 31570 - 19968: jis0208<<14 | 0x24<<7 | 0x5A, - 31572 - 19968: jis0208<<14 | 0x24<<7 | 0x59, - 31573 - 19968: jis0212<<14 | 0x31<<7 | 0x08, - 31574 - 19968: jis0208<<14 | 0x19<<7 | 0x55, - 31581 - 19968: jis0208<<14 | 0x43<<7 | 0x17, - 31584 - 19968: jis0212<<14 | 0x31<<7 | 0x09, - 31588 - 19968: jis0212<<14 | 0x31<<7 | 0x0A, - 31589 - 19968: jis0208<<14 | 0x43<<7 | 0x07, - 31590 - 19968: jis0212<<14 | 0x31<<7 | 0x0B, - 31591 - 19968: jis0208<<14 | 0x43<<7 | 0x09, - 31593 - 19968: jis0212<<14 | 0x31<<7 | 0x0C, - 31594 - 19968: jis0212<<14 | 0x31<<7 | 0x0D, - 31596 - 19968: jis0208<<14 | 0x43<<7 | 0x0C, - 31597 - 19968: jis0212<<14 | 0x31<<7 | 0x0E, - 31598 - 19968: jis0208<<14 | 0x43<<7 | 0x0D, - 31599 - 19968: jis0212<<14 | 0x31<<7 | 0x0F, - 31600 - 19968: jis0208<<14 | 0x43<<7 | 0x0A, - 31601 - 19968: jis0208<<14 | 0x43<<7 | 0x0B, - 31602 - 19968: jis0212<<14 | 0x31<<7 | 0x10, - 31603 - 19968: jis0212<<14 | 0x31<<7 | 0x11, - 31604 - 19968: jis0208<<14 | 0x43<<7 | 0x08, - 31605 - 19968: jis0208<<14 | 0x43<<7 | 0x06, - 31607 - 19968: jis0212<<14 | 0x31<<7 | 0x12, - 31610 - 19968: jis0208<<14 | 0x43<<7 | 0x00, - 31620 - 19968: jis0212<<14 | 0x31<<7 | 0x13, - 31622 - 19968: jis0208<<14 | 0x29<<7 | 0x2E, - 31623 - 19968: jis0208<<14 | 0x11<<7 | 0x34, - 31625 - 19968: jis0212<<14 | 0x31<<7 | 0x14, - 31627 - 19968: jis0208<<14 | 0x43<<7 | 0x14, - 31629 - 19968: jis0208<<14 | 0x43<<7 | 0x11, - 31630 - 19968: jis0212<<14 | 0x31<<7 | 0x15, - 31631 - 19968: jis0208<<14 | 0x43<<7 | 0x16, - 31632 - 19968: jis0212<<14 | 0x31<<7 | 0x16, - 31633 - 19968: jis0212<<14 | 0x31<<7 | 0x17, - 31634 - 19968: jis0208<<14 | 0x43<<7 | 0x15, - 31636 - 19968: jis0208<<14 | 0x26<<7 | 0x52, - 31637 - 19968: jis0208<<14 | 0x2B<<7 | 0x06, - 31638 - 19968: jis0212<<14 | 0x31<<7 | 0x18, - 31639 - 19968: jis0208<<14 | 0x1A<<7 | 0x1A, - 31640 - 19968: jis0208<<14 | 0x43<<7 | 0x0F, - 31641 - 19968: jis0208<<14 | 0x43<<7 | 0x18, - 31642 - 19968: jis0208<<14 | 0x43<<7 | 0x13, - 31643 - 19968: jis0212<<14 | 0x31<<7 | 0x19, - 31644 - 19968: jis0208<<14 | 0x43<<7 | 0x12, - 31645 - 19968: jis0208<<14 | 0x43<<7 | 0x0E, - 31646 - 19968: jis0208<<14 | 0x5A<<7 | 0x2B, - 31647 - 19968: jis0208<<14 | 0x43<<7 | 0x10, - 31648 - 19968: jis0212<<14 | 0x31<<7 | 0x1B, - 31649 - 19968: jis0208<<14 | 0x13<<7 | 0x28, - 31653 - 19968: jis0212<<14 | 0x31<<7 | 0x1C, - 31658 - 19968: jis0208<<14 | 0x22<<7 | 0x1C, - 31660 - 19968: jis0212<<14 | 0x31<<7 | 0x1D, - 31661 - 19968: jis0208<<14 | 0x1F<<7 | 0x5C, - 31663 - 19968: jis0212<<14 | 0x31<<7 | 0x1E, - 31664 - 19968: jis0212<<14 | 0x31<<7 | 0x1F, - 31665 - 19968: jis0208<<14 | 0x27<<7 | 0x01, - 31666 - 19968: jis0212<<14 | 0x31<<7 | 0x20, - 31668 - 19968: jis0208<<14 | 0x43<<7 | 0x1D, - 31669 - 19968: jis0212<<14 | 0x31<<7 | 0x21, - 31670 - 19968: jis0212<<14 | 0x31<<7 | 0x22, - 31672 - 19968: jis0208<<14 | 0x27<<7 | 0x03, - 31674 - 19968: jis0212<<14 | 0x31<<7 | 0x23, - 31675 - 19968: jis0212<<14 | 0x31<<7 | 0x24, - 31676 - 19968: jis0212<<14 | 0x31<<7 | 0x25, - 31677 - 19968: jis0212<<14 | 0x31<<7 | 0x26, - 31680 - 19968: jis0208<<14 | 0x1F<<7 | 0x40, - 31681 - 19968: jis0208<<14 | 0x43<<7 | 0x1A, - 31682 - 19968: jis0212<<14 | 0x31<<7 | 0x27, - 31684 - 19968: jis0208<<14 | 0x27<<7 | 0x2E, - 31685 - 19968: jis0212<<14 | 0x31<<7 | 0x28, - 31686 - 19968: jis0208<<14 | 0x43<<7 | 0x1E, - 31687 - 19968: jis0208<<14 | 0x29<<7 | 0x32, - 31688 - 19968: jis0212<<14 | 0x31<<7 | 0x29, - 31689 - 19968: jis0208<<14 | 0x22<<7 | 0x3A, - 31690 - 19968: jis0212<<14 | 0x31<<7 | 0x2A, - 31691 - 19968: jis0208<<14 | 0x43<<7 | 0x19, - 31692 - 19968: jis0208<<14 | 0x43<<7 | 0x1B, - 31695 - 19968: jis0208<<14 | 0x43<<7 | 0x1C, - 31700 - 19968: jis0212<<14 | 0x31<<7 | 0x2B, - 31702 - 19968: jis0212<<14 | 0x31<<7 | 0x2C, - 31703 - 19968: jis0212<<14 | 0x31<<7 | 0x2D, - 31705 - 19968: jis0212<<14 | 0x31<<7 | 0x2E, - 31706 - 19968: jis0212<<14 | 0x31<<7 | 0x2F, - 31707 - 19968: jis0212<<14 | 0x31<<7 | 0x30, - 31709 - 19968: jis0208<<14 | 0x43<<7 | 0x1F, - 31712 - 19968: jis0208<<14 | 0x1B<<7 | 0x23, - 31716 - 19968: jis0208<<14 | 0x25<<7 | 0x25, - 31717 - 19968: jis0208<<14 | 0x43<<7 | 0x24, - 31718 - 19968: jis0208<<14 | 0x43<<7 | 0x23, - 31720 - 19968: jis0212<<14 | 0x31<<7 | 0x31, - 31721 - 19968: jis0208<<14 | 0x43<<7 | 0x20, - 31722 - 19968: jis0212<<14 | 0x31<<7 | 0x32, - 31725 - 19968: jis0208<<14 | 0x2E<<7 | 0x15, - 31730 - 19968: jis0212<<14 | 0x31<<7 | 0x33, - 31731 - 19968: jis0208<<14 | 0x43<<7 | 0x29, - 31732 - 19968: jis0212<<14 | 0x31<<7 | 0x34, - 31733 - 19968: jis0212<<14 | 0x31<<7 | 0x35, - 31734 - 19968: jis0208<<14 | 0x43<<7 | 0x2D, - 31735 - 19968: jis0208<<14 | 0x43<<7 | 0x2A, - 31736 - 19968: jis0212<<14 | 0x31<<7 | 0x36, - 31737 - 19968: jis0212<<14 | 0x31<<7 | 0x37, - 31738 - 19968: jis0212<<14 | 0x31<<7 | 0x38, - 31740 - 19968: jis0212<<14 | 0x31<<7 | 0x39, - 31742 - 19968: jis0212<<14 | 0x31<<7 | 0x3A, - 31744 - 19968: jis0208<<14 | 0x43<<7 | 0x26, - 31745 - 19968: jis0212<<14 | 0x31<<7 | 0x3B, - 31746 - 19968: jis0212<<14 | 0x31<<7 | 0x3C, - 31747 - 19968: jis0212<<14 | 0x31<<7 | 0x3D, - 31748 - 19968: jis0212<<14 | 0x31<<7 | 0x3E, - 31750 - 19968: jis0212<<14 | 0x31<<7 | 0x3F, - 31751 - 19968: jis0208<<14 | 0x43<<7 | 0x27, - 31753 - 19968: jis0212<<14 | 0x31<<7 | 0x40, - 31755 - 19968: jis0212<<14 | 0x31<<7 | 0x41, - 31756 - 19968: jis0212<<14 | 0x31<<7 | 0x42, - 31757 - 19968: jis0208<<14 | 0x43<<7 | 0x2C, - 31758 - 19968: jis0212<<14 | 0x31<<7 | 0x43, - 31759 - 19968: jis0212<<14 | 0x31<<7 | 0x44, - 31761 - 19968: jis0208<<14 | 0x43<<7 | 0x21, - 31762 - 19968: jis0208<<14 | 0x31<<7 | 0x34, - 31763 - 19968: jis0208<<14 | 0x43<<7 | 0x28, - 31764 - 19968: jis0208<<14 | 0x43<<7 | 0x22, - 31767 - 19968: jis0208<<14 | 0x43<<7 | 0x2B, - 31769 - 19968: jis0212<<14 | 0x31<<7 | 0x45, - 31771 - 19968: jis0212<<14 | 0x31<<7 | 0x46, - 31775 - 19968: jis0208<<14 | 0x43<<7 | 0x31, - 31776 - 19968: jis0212<<14 | 0x31<<7 | 0x47, - 31777 - 19968: jis0208<<14 | 0x13<<7 | 0x29, - 31779 - 19968: jis0208<<14 | 0x43<<7 | 0x2E, - 31781 - 19968: jis0212<<14 | 0x31<<7 | 0x48, - 31782 - 19968: jis0212<<14 | 0x31<<7 | 0x49, - 31783 - 19968: jis0208<<14 | 0x43<<7 | 0x2F, - 31784 - 19968: jis0212<<14 | 0x31<<7 | 0x4A, - 31786 - 19968: jis0208<<14 | 0x43<<7 | 0x30, - 31787 - 19968: jis0208<<14 | 0x43<<7 | 0x33, - 31788 - 19968: jis0212<<14 | 0x31<<7 | 0x4B, - 31793 - 19968: jis0212<<14 | 0x31<<7 | 0x4C, - 31795 - 19968: jis0212<<14 | 0x31<<7 | 0x4D, - 31796 - 19968: jis0212<<14 | 0x31<<7 | 0x4E, - 31798 - 19968: jis0212<<14 | 0x31<<7 | 0x4F, - 31799 - 19968: jis0208<<14 | 0x43<<7 | 0x32, - 31800 - 19968: jis0208<<14 | 0x27<<7 | 0x55, - 31801 - 19968: jis0212<<14 | 0x31<<7 | 0x50, - 31802 - 19968: jis0212<<14 | 0x31<<7 | 0x51, - 31805 - 19968: jis0208<<14 | 0x43<<7 | 0x34, - 31806 - 19968: jis0208<<14 | 0x2D<<7 | 0x5B, - 31807 - 19968: jis0208<<14 | 0x29<<7 | 0x4C, - 31808 - 19968: jis0208<<14 | 0x43<<7 | 0x39, - 31811 - 19968: jis0208<<14 | 0x43<<7 | 0x36, - 31814 - 19968: jis0212<<14 | 0x31<<7 | 0x52, - 31818 - 19968: jis0212<<14 | 0x31<<7 | 0x53, - 31820 - 19968: jis0208<<14 | 0x43<<7 | 0x35, - 31821 - 19968: jis0208<<14 | 0x1F<<7 | 0x31, - 31823 - 19968: jis0208<<14 | 0x43<<7 | 0x38, - 31824 - 19968: jis0208<<14 | 0x43<<7 | 0x3A, - 31825 - 19968: jis0212<<14 | 0x31<<7 | 0x55, - 31826 - 19968: jis0212<<14 | 0x31<<7 | 0x56, - 31827 - 19968: jis0212<<14 | 0x31<<7 | 0x57, - 31828 - 19968: jis0208<<14 | 0x43<<7 | 0x37, - 31829 - 19968: jis0212<<14 | 0x31<<7 | 0x54, - 31830 - 19968: jis0208<<14 | 0x43<<7 | 0x3E, - 31832 - 19968: jis0208<<14 | 0x43<<7 | 0x3B, - 31833 - 19968: jis0212<<14 | 0x31<<7 | 0x58, - 31834 - 19968: jis0212<<14 | 0x31<<7 | 0x59, - 31835 - 19968: jis0212<<14 | 0x31<<7 | 0x5A, - 31836 - 19968: jis0212<<14 | 0x31<<7 | 0x5B, - 31837 - 19968: jis0212<<14 | 0x31<<7 | 0x5C, - 31838 - 19968: jis0212<<14 | 0x31<<7 | 0x5D, - 31839 - 19968: jis0208<<14 | 0x43<<7 | 0x3C, - 31840 - 19968: jis0208<<14 | 0x43<<7 | 0x25, - 31841 - 19968: jis0212<<14 | 0x32<<7 | 0x00, - 31843 - 19968: jis0212<<14 | 0x32<<7 | 0x01, - 31844 - 19968: jis0208<<14 | 0x43<<7 | 0x3D, - 31845 - 19968: jis0208<<14 | 0x43<<7 | 0x3F, - 31847 - 19968: jis0212<<14 | 0x32<<7 | 0x02, - 31849 - 19968: jis0212<<14 | 0x32<<7 | 0x03, - 31852 - 19968: jis0208<<14 | 0x43<<7 | 0x40, - 31853 - 19968: jis0212<<14 | 0x32<<7 | 0x04, - 31854 - 19968: jis0212<<14 | 0x32<<7 | 0x05, - 31856 - 19968: jis0212<<14 | 0x32<<7 | 0x06, - 31858 - 19968: jis0212<<14 | 0x32<<7 | 0x07, - 31859 - 19968: jis0208<<14 | 0x29<<7 | 0x25, - 31861 - 19968: jis0208<<14 | 0x43<<7 | 0x41, - 31865 - 19968: jis0212<<14 | 0x32<<7 | 0x08, - 31868 - 19968: jis0212<<14 | 0x32<<7 | 0x09, - 31869 - 19968: jis0212<<14 | 0x32<<7 | 0x0A, - 31870 - 19968: jis0208<<14 | 0x2B<<7 | 0x41, - 31873 - 19968: jis0208<<14 | 0x15<<7 | 0x2D, - 31874 - 19968: jis0208<<14 | 0x16<<7 | 0x08, - 31875 - 19968: jis0208<<14 | 0x43<<7 | 0x42, - 31878 - 19968: jis0212<<14 | 0x32<<7 | 0x0B, - 31879 - 19968: jis0212<<14 | 0x32<<7 | 0x0C, - 31881 - 19968: jis0208<<14 | 0x29<<7 | 0x13, - 31883 - 19968: jis0208<<14 | 0x1E<<7 | 0x47, - 31885 - 19968: jis0208<<14 | 0x2B<<7 | 0x0F, - 31887 - 19968: jis0212<<14 | 0x32<<7 | 0x0D, - 31888 - 19968: jis0208<<14 | 0x43<<7 | 0x43, - 31890 - 19968: jis0208<<14 | 0x2D<<7 | 0x12, - 31892 - 19968: jis0212<<14 | 0x32<<7 | 0x0E, - 31893 - 19968: jis0208<<14 | 0x26<<7 | 0x53, - 31895 - 19968: jis0208<<14 | 0x20<<7 | 0x25, - 31896 - 19968: jis0208<<14 | 0x26<<7 | 0x13, - 31899 - 19968: jis0208<<14 | 0x1C<<7 | 0x2C, - 31902 - 19968: jis0212<<14 | 0x32<<7 | 0x0F, - 31903 - 19968: jis0208<<14 | 0x0F<<7 | 0x1F, - 31904 - 19968: jis0212<<14 | 0x32<<7 | 0x10, - 31905 - 19968: jis0208<<14 | 0x43<<7 | 0x48, - 31906 - 19968: jis0208<<14 | 0x43<<7 | 0x46, - 31908 - 19968: jis0208<<14 | 0x43<<7 | 0x44, - 31909 - 19968: jis0208<<14 | 0x13<<7 | 0x00, - 31910 - 19968: jis0212<<14 | 0x32<<7 | 0x11, - 31911 - 19968: jis0208<<14 | 0x1D<<7 | 0x30, - 31912 - 19968: jis0208<<14 | 0x43<<7 | 0x49, - 31915 - 19968: jis0208<<14 | 0x43<<7 | 0x47, - 31917 - 19968: jis0208<<14 | 0x43<<7 | 0x45, - 31918 - 19968: jis0208<<14 | 0x43<<7 | 0x4D, - 31920 - 19968: jis0212<<14 | 0x32<<7 | 0x12, - 31921 - 19968: jis0208<<14 | 0x43<<7 | 0x4C, - 31922 - 19968: jis0208<<14 | 0x43<<7 | 0x4B, - 31923 - 19968: jis0208<<14 | 0x43<<7 | 0x4A, - 31926 - 19968: jis0212<<14 | 0x32<<7 | 0x13, - 31927 - 19968: jis0212<<14 | 0x32<<7 | 0x14, - 31929 - 19968: jis0208<<14 | 0x43<<7 | 0x4E, - 31930 - 19968: jis0212<<14 | 0x32<<7 | 0x15, - 31931 - 19968: jis0212<<14 | 0x32<<7 | 0x16, - 31932 - 19968: jis0212<<14 | 0x32<<7 | 0x17, - 31933 - 19968: jis0208<<14 | 0x43<<7 | 0x4F, - 31934 - 19968: jis0208<<14 | 0x1F<<7 | 0x19, - 31935 - 19968: jis0212<<14 | 0x32<<7 | 0x18, - 31936 - 19968: jis0208<<14 | 0x43<<7 | 0x50, - 31938 - 19968: jis0208<<14 | 0x43<<7 | 0x52, - 31940 - 19968: jis0212<<14 | 0x32<<7 | 0x19, - 31941 - 19968: jis0208<<14 | 0x43<<7 | 0x51, - 31943 - 19968: jis0212<<14 | 0x32<<7 | 0x1A, - 31944 - 19968: jis0212<<14 | 0x32<<7 | 0x1B, - 31945 - 19968: jis0212<<14 | 0x32<<7 | 0x1C, - 31946 - 19968: jis0208<<14 | 0x17<<7 | 0x31, - 31949 - 19968: jis0212<<14 | 0x32<<7 | 0x1D, - 31950 - 19968: jis0208<<14 | 0x20<<7 | 0x17, - 31951 - 19968: jis0212<<14 | 0x32<<7 | 0x1E, - 31954 - 19968: jis0208<<14 | 0x43<<7 | 0x54, - 31955 - 19968: jis0212<<14 | 0x32<<7 | 0x1F, - 31956 - 19968: jis0212<<14 | 0x32<<7 | 0x20, - 31957 - 19968: jis0212<<14 | 0x32<<7 | 0x21, - 31958 - 19968: jis0208<<14 | 0x24<<7 | 0x5B, - 31959 - 19968: jis0212<<14 | 0x32<<7 | 0x22, - 31960 - 19968: jis0208<<14 | 0x43<<7 | 0x53, - 31961 - 19968: jis0212<<14 | 0x32<<7 | 0x23, - 31962 - 19968: jis0212<<14 | 0x32<<7 | 0x24, - 31964 - 19968: jis0208<<14 | 0x43<<7 | 0x55, - 31965 - 19968: jis0212<<14 | 0x32<<7 | 0x25, - 31966 - 19968: jis0208<<14 | 0x29<<7 | 0x14, - 31967 - 19968: jis0208<<14 | 0x20<<7 | 0x4B, - 31968 - 19968: jis0208<<14 | 0x18<<7 | 0x26, - 31970 - 19968: jis0208<<14 | 0x43<<7 | 0x56, - 31974 - 19968: jis0212<<14 | 0x32<<7 | 0x26, - 31975 - 19968: jis0208<<14 | 0x2D<<7 | 0x27, - 31977 - 19968: jis0212<<14 | 0x32<<7 | 0x27, - 31979 - 19968: jis0212<<14 | 0x32<<7 | 0x28, - 31983 - 19968: jis0208<<14 | 0x43<<7 | 0x58, - 31986 - 19968: jis0208<<14 | 0x43<<7 | 0x59, - 31988 - 19968: jis0208<<14 | 0x43<<7 | 0x5A, - 31989 - 19968: jis0212<<14 | 0x32<<7 | 0x29, - 31990 - 19968: jis0208<<14 | 0x43<<7 | 0x5B, - 31992 - 19968: jis0208<<14 | 0x1A<<7 | 0x44, - 31994 - 19968: jis0208<<14 | 0x43<<7 | 0x5C, - 31995 - 19968: jis0208<<14 | 0x16<<7 | 0x2E, - 31998 - 19968: jis0208<<14 | 0x14<<7 | 0x49, - 32000 - 19968: jis0208<<14 | 0x14<<7 | 0x09, - 32002 - 19968: jis0208<<14 | 0x44<<7 | 0x00, - 32003 - 19968: jis0212<<14 | 0x32<<7 | 0x2A, - 32004 - 19968: jis0208<<14 | 0x2B<<7 | 0x52, - 32005 - 19968: jis0208<<14 | 0x18<<7 | 0x27, - 32006 - 19968: jis0208<<14 | 0x43<<7 | 0x5D, - 32007 - 19968: jis0212<<14 | 0x32<<7 | 0x2B, - 32008 - 19968: jis0212<<14 | 0x32<<7 | 0x2C, - 32009 - 19968: jis0212<<14 | 0x32<<7 | 0x2D, - 32010 - 19968: jis0208<<14 | 0x44<<7 | 0x03, - 32011 - 19968: jis0208<<14 | 0x2B<<7 | 0x45, - 32013 - 19968: jis0208<<14 | 0x26<<7 | 0x1B, - 32015 - 19968: jis0212<<14 | 0x32<<7 | 0x2E, - 32016 - 19968: jis0208<<14 | 0x28<<7 | 0x12, - 32017 - 19968: jis0212<<14 | 0x32<<7 | 0x2F, - 32018 - 19968: jis0212<<14 | 0x32<<7 | 0x30, - 32019 - 19968: jis0212<<14 | 0x32<<7 | 0x31, - 32020 - 19968: jis0208<<14 | 0x1C<<7 | 0x42, - 32021 - 19968: jis0208<<14 | 0x44<<7 | 0x02, - 32022 - 19968: jis0212<<14 | 0x32<<7 | 0x32, - 32023 - 19968: jis0208<<14 | 0x1B<<7 | 0x32, - 32024 - 19968: jis0208<<14 | 0x18<<7 | 0x28, - 32025 - 19968: jis0208<<14 | 0x1A<<7 | 0x45, - 32026 - 19968: jis0208<<14 | 0x14<<7 | 0x48, - 32027 - 19968: jis0208<<14 | 0x29<<7 | 0x15, - 32028 - 19968: jis0208<<14 | 0x44<<7 | 0x01, - 32029 - 19968: jis0212<<14 | 0x32<<7 | 0x33, - 32030 - 19968: jis0212<<14 | 0x32<<7 | 0x34, - 32032 - 19968: jis0208<<14 | 0x20<<7 | 0x26, - 32033 - 19968: jis0208<<14 | 0x2A<<7 | 0x21, - 32034 - 19968: jis0208<<14 | 0x19<<7 | 0x56, - 32035 - 19968: jis0212<<14 | 0x32<<7 | 0x35, - 32038 - 19968: jis0212<<14 | 0x32<<7 | 0x36, - 32042 - 19968: jis0212<<14 | 0x32<<7 | 0x37, - 32043 - 19968: jis0208<<14 | 0x1A<<7 | 0x46, - 32044 - 19968: jis0208<<14 | 0x23<<7 | 0x3C, - 32045 - 19968: jis0212<<14 | 0x32<<7 | 0x38, - 32046 - 19968: jis0208<<14 | 0x44<<7 | 0x06, - 32047 - 19968: jis0208<<14 | 0x2D<<7 | 0x3E, - 32048 - 19968: jis0208<<14 | 0x19<<7 | 0x38, - 32049 - 19968: jis0212<<14 | 0x32<<7 | 0x39, - 32050 - 19968: jis0208<<14 | 0x44<<7 | 0x07, - 32051 - 19968: jis0208<<14 | 0x1E<<7 | 0x21, - 32053 - 19968: jis0208<<14 | 0x44<<7 | 0x09, - 32057 - 19968: jis0208<<14 | 0x1D<<7 | 0x31, - 32058 - 19968: jis0208<<14 | 0x19<<7 | 0x0F, - 32060 - 19968: jis0212<<14 | 0x32<<7 | 0x3A, - 32061 - 19968: jis0212<<14 | 0x32<<7 | 0x3B, - 32062 - 19968: jis0212<<14 | 0x32<<7 | 0x3C, - 32063 - 19968: jis0208<<14 | 0x44<<7 | 0x08, - 32064 - 19968: jis0212<<14 | 0x32<<7 | 0x3D, - 32065 - 19968: jis0212<<14 | 0x32<<7 | 0x3E, - 32066 - 19968: jis0208<<14 | 0x1C<<7 | 0x09, - 32067 - 19968: jis0208<<14 | 0x17<<7 | 0x1D, - 32068 - 19968: jis0208<<14 | 0x20<<7 | 0x27, - 32069 - 19968: jis0208<<14 | 0x44<<7 | 0x04, - 32070 - 19968: jis0208<<14 | 0x44<<7 | 0x0A, - 32071 - 19968: jis0212<<14 | 0x32<<7 | 0x3F, - 32072 - 19968: jis0208<<14 | 0x5A<<7 | 0x2D, - 32075 - 19968: jis0208<<14 | 0x44<<7 | 0x05, - 32076 - 19968: jis0208<<14 | 0x16<<7 | 0x2F, - 32077 - 19968: jis0212<<14 | 0x32<<7 | 0x41, - 32078 - 19968: jis0208<<14 | 0x44<<7 | 0x0D, - 32079 - 19968: jis0208<<14 | 0x44<<7 | 0x11, - 32080 - 19968: jis0208<<14 | 0x16<<7 | 0x4A, - 32081 - 19968: jis0212<<14 | 0x32<<7 | 0x42, - 32083 - 19968: jis0212<<14 | 0x32<<7 | 0x43, - 32086 - 19968: jis0208<<14 | 0x44<<7 | 0x0C, - 32087 - 19968: jis0212<<14 | 0x32<<7 | 0x44, - 32089 - 19968: jis0212<<14 | 0x32<<7 | 0x45, - 32090 - 19968: jis0212<<14 | 0x32<<7 | 0x46, - 32091 - 19968: jis0208<<14 | 0x44<<7 | 0x15, - 32092 - 19968: jis0208<<14 | 0x5A<<7 | 0x2E, - 32093 - 19968: jis0212<<14 | 0x32<<7 | 0x48, - 32094 - 19968: jis0208<<14 | 0x18<<7 | 0x29, - 32097 - 19968: jis0208<<14 | 0x2C<<7 | 0x4C, - 32098 - 19968: jis0208<<14 | 0x0F<<7 | 0x1B, - 32099 - 19968: jis0208<<14 | 0x44<<7 | 0x12, - 32101 - 19968: jis0212<<14 | 0x32<<7 | 0x49, - 32102 - 19968: jis0208<<14 | 0x14<<7 | 0x4A, - 32103 - 19968: jis0212<<14 | 0x32<<7 | 0x4A, - 32104 - 19968: jis0208<<14 | 0x44<<7 | 0x0F, - 32106 - 19968: jis0212<<14 | 0x32<<7 | 0x4B, - 32110 - 19968: jis0208<<14 | 0x44<<7 | 0x10, - 32112 - 19968: jis0212<<14 | 0x32<<7 | 0x4C, - 32113 - 19968: jis0208<<14 | 0x24<<7 | 0x5C, - 32114 - 19968: jis0208<<14 | 0x44<<7 | 0x0E, - 32115 - 19968: jis0208<<14 | 0x44<<7 | 0x0B, - 32117 - 19968: jis0208<<14 | 0x12<<7 | 0x07, - 32118 - 19968: jis0208<<14 | 0x1F<<7 | 0x43, - 32120 - 19968: jis0212<<14 | 0x32<<7 | 0x4D, - 32121 - 19968: jis0208<<14 | 0x17<<7 | 0x07, - 32122 - 19968: jis0212<<14 | 0x32<<7 | 0x4E, - 32123 - 19968: jis0212<<14 | 0x32<<7 | 0x4F, - 32125 - 19968: jis0208<<14 | 0x44<<7 | 0x17, - 32127 - 19968: jis0212<<14 | 0x32<<7 | 0x50, - 32129 - 19968: jis0212<<14 | 0x32<<7 | 0x51, - 32130 - 19968: jis0212<<14 | 0x32<<7 | 0x52, - 32131 - 19968: jis0212<<14 | 0x32<<7 | 0x53, - 32133 - 19968: jis0212<<14 | 0x32<<7 | 0x54, - 32134 - 19968: jis0212<<14 | 0x32<<7 | 0x55, - 32136 - 19968: jis0212<<14 | 0x32<<7 | 0x56, - 32137 - 19968: jis0208<<14 | 0x44<<7 | 0x14, - 32139 - 19968: jis0212<<14 | 0x32<<7 | 0x57, - 32140 - 19968: jis0212<<14 | 0x32<<7 | 0x58, - 32141 - 19968: jis0212<<14 | 0x32<<7 | 0x59, - 32143 - 19968: jis0208<<14 | 0x44<<7 | 0x16, - 32145 - 19968: jis0212<<14 | 0x32<<7 | 0x5A, - 32147 - 19968: jis0208<<14 | 0x44<<7 | 0x13, - 32150 - 19968: jis0212<<14 | 0x32<<7 | 0x5B, - 32151 - 19968: jis0212<<14 | 0x32<<7 | 0x5C, - 32153 - 19968: jis0208<<14 | 0x16<<7 | 0x30, - 32154 - 19968: jis0208<<14 | 0x21<<7 | 0x12, - 32155 - 19968: jis0208<<14 | 0x44<<7 | 0x18, - 32156 - 19968: jis0208<<14 | 0x20<<7 | 0x4D, - 32157 - 19968: jis0212<<14 | 0x32<<7 | 0x5D, - 32158 - 19968: jis0212<<14 | 0x33<<7 | 0x00, - 32159 - 19968: jis0208<<14 | 0x44<<7 | 0x25, - 32160 - 19968: jis0208<<14 | 0x5A<<7 | 0x30, - 32162 - 19968: jis0208<<14 | 0x44<<7 | 0x21, - 32163 - 19968: jis0208<<14 | 0x44<<7 | 0x1B, - 32166 - 19968: jis0212<<14 | 0x33<<7 | 0x01, - 32167 - 19968: jis0212<<14 | 0x33<<7 | 0x02, - 32170 - 19968: jis0212<<14 | 0x33<<7 | 0x03, - 32171 - 19968: jis0208<<14 | 0x44<<7 | 0x1F, - 32172 - 19968: jis0208<<14 | 0x1B<<7 | 0x59, - 32173 - 19968: jis0208<<14 | 0x0F<<7 | 0x3C, - 32174 - 19968: jis0208<<14 | 0x44<<7 | 0x1A, - 32175 - 19968: jis0208<<14 | 0x44<<7 | 0x22, - 32176 - 19968: jis0208<<14 | 0x44<<7 | 0x26, - 32177 - 19968: jis0208<<14 | 0x18<<7 | 0x2A, - 32178 - 19968: jis0208<<14 | 0x2B<<7 | 0x35, - 32179 - 19968: jis0212<<14 | 0x33<<7 | 0x04, - 32180 - 19968: jis0208<<14 | 0x23<<7 | 0x35, - 32181 - 19968: jis0208<<14 | 0x44<<7 | 0x1C, - 32182 - 19968: jis0212<<14 | 0x33<<7 | 0x05, - 32183 - 19968: jis0208<<14 | 0x5A<<7 | 0x2F, - 32184 - 19968: jis0208<<14 | 0x44<<7 | 0x24, - 32185 - 19968: jis0212<<14 | 0x33<<7 | 0x07, - 32186 - 19968: jis0208<<14 | 0x44<<7 | 0x19, - 32187 - 19968: jis0208<<14 | 0x22<<7 | 0x1D, - 32189 - 19968: jis0208<<14 | 0x44<<7 | 0x1E, - 32190 - 19968: jis0208<<14 | 0x0F<<7 | 0x1C, - 32191 - 19968: jis0208<<14 | 0x2B<<7 | 0x29, - 32194 - 19968: jis0212<<14 | 0x33<<7 | 0x08, - 32195 - 19968: jis0212<<14 | 0x33<<7 | 0x09, - 32196 - 19968: jis0212<<14 | 0x33<<7 | 0x0A, - 32197 - 19968: jis0212<<14 | 0x33<<7 | 0x0B, - 32198 - 19968: jis0212<<14 | 0x33<<7 | 0x0C, - 32199 - 19968: jis0208<<14 | 0x44<<7 | 0x1D, - 32202 - 19968: jis0208<<14 | 0x15<<7 | 0x3A, - 32203 - 19968: jis0208<<14 | 0x27<<7 | 0x4B, - 32204 - 19968: jis0212<<14 | 0x33<<7 | 0x0D, - 32205 - 19968: jis0212<<14 | 0x33<<7 | 0x0E, - 32206 - 19968: jis0212<<14 | 0x33<<7 | 0x0F, - 32207 - 19968: jis0208<<14 | 0x20<<7 | 0x4C, - 32209 - 19968: jis0208<<14 | 0x2D<<7 | 0x2F, - 32210 - 19968: jis0208<<14 | 0x1C<<7 | 0x4E, - 32213 - 19968: jis0208<<14 | 0x44<<7 | 0x4D, - 32214 - 19968: jis0208<<14 | 0x5A<<7 | 0x31, - 32215 - 19968: jis0212<<14 | 0x33<<7 | 0x10, - 32216 - 19968: jis0208<<14 | 0x44<<7 | 0x27, - 32217 - 19968: jis0212<<14 | 0x33<<7 | 0x11, - 32218 - 19968: jis0208<<14 | 0x1F<<7 | 0x5D, - 32220 - 19968: jis0208<<14 | 0x44<<7 | 0x23, - 32221 - 19968: jis0208<<14 | 0x44<<7 | 0x28, - 32222 - 19968: jis0208<<14 | 0x44<<7 | 0x2A, - 32224 - 19968: jis0208<<14 | 0x23<<7 | 0x58, - 32225 - 19968: jis0208<<14 | 0x44<<7 | 0x2D, - 32226 - 19968: jis0212<<14 | 0x33<<7 | 0x13, - 32228 - 19968: jis0208<<14 | 0x44<<7 | 0x29, - 32229 - 19968: jis0212<<14 | 0x33<<7 | 0x14, - 32230 - 19968: jis0212<<14 | 0x33<<7 | 0x15, - 32232 - 19968: jis0208<<14 | 0x29<<7 | 0x33, - 32233 - 19968: jis0208<<14 | 0x13<<7 | 0x2A, - 32234 - 19968: jis0212<<14 | 0x33<<7 | 0x16, - 32235 - 19968: jis0212<<14 | 0x33<<7 | 0x17, - 32236 - 19968: jis0208<<14 | 0x2B<<7 | 0x2A, - 32237 - 19968: jis0212<<14 | 0x33<<7 | 0x18, - 32239 - 19968: jis0208<<14 | 0x0F<<7 | 0x3D, - 32241 - 19968: jis0212<<14 | 0x33<<7 | 0x19, - 32242 - 19968: jis0208<<14 | 0x44<<7 | 0x2C, - 32244 - 19968: jis0208<<14 | 0x2D<<7 | 0x5C, - 32245 - 19968: jis0212<<14 | 0x33<<7 | 0x1A, - 32246 - 19968: jis0212<<14 | 0x33<<7 | 0x1B, - 32249 - 19968: jis0212<<14 | 0x33<<7 | 0x1C, - 32250 - 19968: jis0212<<14 | 0x33<<7 | 0x1D, - 32251 - 19968: jis0208<<14 | 0x44<<7 | 0x2B, - 32256 - 19968: jis0212<<14 | 0x33<<7 | 0x12, - 32257 - 19968: jis0208<<14 | 0x10<<7 | 0x4E, - 32260 - 19968: jis0208<<14 | 0x25<<7 | 0x4B, - 32261 - 19968: jis0208<<14 | 0x44<<7 | 0x2E, - 32264 - 19968: jis0212<<14 | 0x33<<7 | 0x1E, - 32265 - 19968: jis0208<<14 | 0x44<<7 | 0x35, - 32266 - 19968: jis0208<<14 | 0x44<<7 | 0x2F, - 32267 - 19968: jis0208<<14 | 0x44<<7 | 0x36, - 32272 - 19968: jis0212<<14 | 0x33<<7 | 0x1F, - 32273 - 19968: jis0212<<14 | 0x33<<7 | 0x20, - 32274 - 19968: jis0208<<14 | 0x44<<7 | 0x32, - 32277 - 19968: jis0212<<14 | 0x33<<7 | 0x21, - 32279 - 19968: jis0212<<14 | 0x33<<7 | 0x22, - 32283 - 19968: jis0208<<14 | 0x26<<7 | 0x5A, - 32284 - 19968: jis0212<<14 | 0x33<<7 | 0x23, - 32285 - 19968: jis0212<<14 | 0x33<<7 | 0x24, - 32286 - 19968: jis0208<<14 | 0x1B<<7 | 0x29, - 32287 - 19968: jis0208<<14 | 0x44<<7 | 0x34, - 32288 - 19968: jis0212<<14 | 0x33<<7 | 0x25, - 32289 - 19968: jis0208<<14 | 0x44<<7 | 0x31, - 32290 - 19968: jis0208<<14 | 0x44<<7 | 0x37, - 32291 - 19968: jis0208<<14 | 0x44<<7 | 0x30, - 32294 - 19968: jis0208<<14 | 0x1C<<7 | 0x23, - 32295 - 19968: jis0212<<14 | 0x33<<7 | 0x26, - 32296 - 19968: jis0212<<14 | 0x33<<7 | 0x27, - 32299 - 19968: jis0208<<14 | 0x2A<<7 | 0x04, - 32300 - 19968: jis0212<<14 | 0x33<<7 | 0x28, - 32301 - 19968: jis0212<<14 | 0x33<<7 | 0x29, - 32302 - 19968: jis0208<<14 | 0x1C<<7 | 0x2B, - 32303 - 19968: jis0212<<14 | 0x33<<7 | 0x2A, - 32305 - 19968: jis0208<<14 | 0x44<<7 | 0x33, - 32306 - 19968: jis0208<<14 | 0x44<<7 | 0x3F, - 32307 - 19968: jis0212<<14 | 0x33<<7 | 0x2B, - 32309 - 19968: jis0208<<14 | 0x44<<7 | 0x3B, - 32310 - 19968: jis0212<<14 | 0x33<<7 | 0x2C, - 32311 - 19968: jis0208<<14 | 0x44<<7 | 0x3E, - 32313 - 19968: jis0208<<14 | 0x44<<7 | 0x3C, - 32314 - 19968: jis0208<<14 | 0x44<<7 | 0x40, - 32315 - 19968: jis0208<<14 | 0x44<<7 | 0x3A, - 32317 - 19968: jis0208<<14 | 0x44<<7 | 0x20, - 32318 - 19968: jis0208<<14 | 0x1F<<7 | 0x32, - 32319 - 19968: jis0212<<14 | 0x33<<7 | 0x2D, - 32321 - 19968: jis0208<<14 | 0x27<<7 | 0x2A, - 32323 - 19968: jis0208<<14 | 0x44<<7 | 0x3D, - 32324 - 19968: jis0212<<14 | 0x33<<7 | 0x2E, - 32325 - 19968: jis0212<<14 | 0x33<<7 | 0x2F, - 32326 - 19968: jis0208<<14 | 0x44<<7 | 0x38, - 32327 - 19968: jis0212<<14 | 0x33<<7 | 0x30, - 32330 - 19968: jis0208<<14 | 0x20<<7 | 0x00, - 32331 - 19968: jis0208<<14 | 0x16<<7 | 0x31, - 32333 - 19968: jis0208<<14 | 0x1C<<7 | 0x0A, - 32334 - 19968: jis0212<<14 | 0x33<<7 | 0x31, - 32336 - 19968: jis0212<<14 | 0x33<<7 | 0x32, - 32338 - 19968: jis0208<<14 | 0x5A<<7 | 0x32, - 32340 - 19968: jis0208<<14 | 0x1E<<7 | 0x04, - 32341 - 19968: jis0208<<14 | 0x20<<7 | 0x15, - 32342 - 19968: jis0208<<14 | 0x44<<7 | 0x43, - 32344 - 19968: jis0212<<14 | 0x33<<7 | 0x34, - 32345 - 19968: jis0208<<14 | 0x44<<7 | 0x45, - 32346 - 19968: jis0208<<14 | 0x44<<7 | 0x46, - 32349 - 19968: jis0208<<14 | 0x44<<7 | 0x42, - 32350 - 19968: jis0208<<14 | 0x44<<7 | 0x44, - 32351 - 19968: jis0212<<14 | 0x33<<7 | 0x35, - 32353 - 19968: jis0212<<14 | 0x33<<7 | 0x36, - 32354 - 19968: jis0212<<14 | 0x33<<7 | 0x37, - 32357 - 19968: jis0212<<14 | 0x33<<7 | 0x38, - 32358 - 19968: jis0208<<14 | 0x44<<7 | 0x39, - 32359 - 19968: jis0208<<14 | 0x44<<7 | 0x41, - 32361 - 19968: jis0208<<14 | 0x44<<7 | 0x49, - 32362 - 19968: jis0208<<14 | 0x44<<7 | 0x48, - 32363 - 19968: jis0212<<14 | 0x33<<7 | 0x39, - 32365 - 19968: jis0208<<14 | 0x2A<<7 | 0x59, - 32366 - 19968: jis0212<<14 | 0x33<<7 | 0x3A, - 32367 - 19968: jis0212<<14 | 0x33<<7 | 0x3B, - 32368 - 19968: jis0208<<14 | 0x16<<7 | 0x0A, - 32371 - 19968: jis0212<<14 | 0x33<<7 | 0x3C, - 32376 - 19968: jis0212<<14 | 0x33<<7 | 0x3D, - 32377 - 19968: jis0208<<14 | 0x44<<7 | 0x47, - 32379 - 19968: jis0208<<14 | 0x44<<7 | 0x4B, - 32380 - 19968: jis0208<<14 | 0x44<<7 | 0x4A, - 32381 - 19968: jis0208<<14 | 0x44<<7 | 0x4E, - 32382 - 19968: jis0212<<14 | 0x33<<7 | 0x3E, - 32383 - 19968: jis0208<<14 | 0x44<<7 | 0x50, - 32385 - 19968: jis0212<<14 | 0x33<<7 | 0x3F, - 32386 - 19968: jis0208<<14 | 0x1A<<7 | 0x1B, - 32387 - 19968: jis0208<<14 | 0x44<<7 | 0x4C, - 32390 - 19968: jis0212<<14 | 0x33<<7 | 0x40, - 32391 - 19968: jis0212<<14 | 0x33<<7 | 0x41, - 32392 - 19968: jis0208<<14 | 0x44<<7 | 0x51, - 32393 - 19968: jis0208<<14 | 0x44<<7 | 0x52, - 32394 - 19968: jis0208<<14 | 0x58<<7 | 0x00, - 32396 - 19968: jis0208<<14 | 0x44<<7 | 0x53, - 32397 - 19968: jis0212<<14 | 0x33<<7 | 0x43, - 32398 - 19968: jis0208<<14 | 0x44<<7 | 0x59, - 32399 - 19968: jis0208<<14 | 0x24<<7 | 0x1A, - 32400 - 19968: jis0208<<14 | 0x44<<7 | 0x55, - 32401 - 19968: jis0212<<14 | 0x33<<7 | 0x44, - 32402 - 19968: jis0208<<14 | 0x44<<7 | 0x54, - 32403 - 19968: jis0208<<14 | 0x44<<7 | 0x56, - 32404 - 19968: jis0208<<14 | 0x44<<7 | 0x57, - 32405 - 19968: jis0212<<14 | 0x33<<7 | 0x45, - 32406 - 19968: jis0208<<14 | 0x44<<7 | 0x58, - 32408 - 19968: jis0212<<14 | 0x33<<7 | 0x46, - 32410 - 19968: jis0212<<14 | 0x33<<7 | 0x47, - 32411 - 19968: jis0208<<14 | 0x44<<7 | 0x5A, - 32412 - 19968: jis0208<<14 | 0x44<<7 | 0x5B, - 32413 - 19968: jis0212<<14 | 0x33<<7 | 0x48, - 32414 - 19968: jis0212<<14 | 0x33<<7 | 0x49, - 32566 - 19968: jis0208<<14 | 0x13<<7 | 0x2B, - 32568 - 19968: jis0208<<14 | 0x44<<7 | 0x5C, - 32570 - 19968: jis0208<<14 | 0x44<<7 | 0x5D, - 32571 - 19968: jis0212<<14 | 0x33<<7 | 0x4B, - 32572 - 19968: jis0212<<14 | 0x33<<7 | 0x4A, - 32573 - 19968: jis0212<<14 | 0x33<<7 | 0x4C, - 32574 - 19968: jis0212<<14 | 0x33<<7 | 0x4D, - 32575 - 19968: jis0212<<14 | 0x33<<7 | 0x4E, - 32579 - 19968: jis0212<<14 | 0x33<<7 | 0x4F, - 32580 - 19968: jis0212<<14 | 0x33<<7 | 0x50, - 32581 - 19968: jis0208<<14 | 0x45<<7 | 0x00, - 32583 - 19968: jis0208<<14 | 0x5A<<7 | 0x33, - 32588 - 19968: jis0208<<14 | 0x45<<7 | 0x01, - 32589 - 19968: jis0208<<14 | 0x45<<7 | 0x02, - 32590 - 19968: jis0208<<14 | 0x45<<7 | 0x03, - 32591 - 19968: jis0212<<14 | 0x33<<7 | 0x52, - 32592 - 19968: jis0208<<14 | 0x45<<7 | 0x04, - 32593 - 19968: jis0208<<14 | 0x45<<7 | 0x05, - 32594 - 19968: jis0212<<14 | 0x33<<7 | 0x53, - 32595 - 19968: jis0212<<14 | 0x33<<7 | 0x54, - 32596 - 19968: jis0208<<14 | 0x45<<7 | 0x07, - 32597 - 19968: jis0208<<14 | 0x45<<7 | 0x06, - 32600 - 19968: jis0208<<14 | 0x45<<7 | 0x08, - 32603 - 19968: jis0212<<14 | 0x33<<7 | 0x55, - 32604 - 19968: jis0212<<14 | 0x33<<7 | 0x56, - 32605 - 19968: jis0212<<14 | 0x33<<7 | 0x57, - 32607 - 19968: jis0208<<14 | 0x45<<7 | 0x09, - 32608 - 19968: jis0208<<14 | 0x45<<7 | 0x0A, - 32609 - 19968: jis0212<<14 | 0x33<<7 | 0x58, - 32611 - 19968: jis0212<<14 | 0x33<<7 | 0x59, - 32612 - 19968: jis0212<<14 | 0x33<<7 | 0x5A, - 32613 - 19968: jis0212<<14 | 0x33<<7 | 0x5B, - 32614 - 19968: jis0212<<14 | 0x33<<7 | 0x5C, - 32615 - 19968: jis0208<<14 | 0x45<<7 | 0x0D, - 32616 - 19968: jis0208<<14 | 0x45<<7 | 0x0B, - 32617 - 19968: jis0208<<14 | 0x45<<7 | 0x0C, - 32618 - 19968: jis0208<<14 | 0x19<<7 | 0x40, - 32619 - 19968: jis0208<<14 | 0x16<<7 | 0x32, - 32621 - 19968: jis0212<<14 | 0x33<<7 | 0x5D, - 32622 - 19968: jis0208<<14 | 0x22<<7 | 0x35, - 32624 - 19968: jis0208<<14 | 0x27<<7 | 0x12, - 32625 - 19968: jis0212<<14 | 0x34<<7 | 0x00, - 32626 - 19968: jis0208<<14 | 0x1C<<7 | 0x4F, - 32629 - 19968: jis0208<<14 | 0x26<<7 | 0x2C, - 32631 - 19968: jis0208<<14 | 0x27<<7 | 0x4C, - 32632 - 19968: jis0208<<14 | 0x45<<7 | 0x0E, - 32633 - 19968: jis0208<<14 | 0x37<<7 | 0x4C, - 32637 - 19968: jis0212<<14 | 0x34<<7 | 0x01, - 32638 - 19968: jis0212<<14 | 0x34<<7 | 0x02, - 32639 - 19968: jis0212<<14 | 0x34<<7 | 0x03, - 32640 - 19968: jis0212<<14 | 0x34<<7 | 0x04, - 32642 - 19968: jis0208<<14 | 0x45<<7 | 0x0F, - 32643 - 19968: jis0208<<14 | 0x45<<7 | 0x11, - 32645 - 19968: jis0208<<14 | 0x2C<<7 | 0x44, - 32646 - 19968: jis0208<<14 | 0x45<<7 | 0x10, - 32647 - 19968: jis0208<<14 | 0x45<<7 | 0x13, - 32648 - 19968: jis0208<<14 | 0x45<<7 | 0x12, - 32650 - 19968: jis0208<<14 | 0x2C<<7 | 0x32, - 32651 - 19968: jis0212<<14 | 0x34<<7 | 0x05, - 32652 - 19968: jis0208<<14 | 0x45<<7 | 0x14, - 32653 - 19968: jis0212<<14 | 0x34<<7 | 0x06, - 32654 - 19968: jis0208<<14 | 0x27<<7 | 0x5D, - 32655 - 19968: jis0212<<14 | 0x34<<7 | 0x07, - 32656 - 19968: jis0212<<14 | 0x34<<7 | 0x08, - 32657 - 19968: jis0212<<14 | 0x34<<7 | 0x09, - 32660 - 19968: jis0208<<14 | 0x45<<7 | 0x15, - 32662 - 19968: jis0212<<14 | 0x34<<7 | 0x0A, - 32663 - 19968: jis0212<<14 | 0x34<<7 | 0x0B, - 32666 - 19968: jis0208<<14 | 0x45<<7 | 0x18, - 32668 - 19968: jis0212<<14 | 0x34<<7 | 0x0C, - 32669 - 19968: jis0208<<14 | 0x45<<7 | 0x17, - 32670 - 19968: jis0208<<14 | 0x45<<7 | 0x16, - 32673 - 19968: jis0208<<14 | 0x5A<<7 | 0x34, - 32674 - 19968: jis0212<<14 | 0x34<<7 | 0x0E, - 32675 - 19968: jis0208<<14 | 0x45<<7 | 0x19, - 32676 - 19968: jis0208<<14 | 0x16<<7 | 0x11, - 32678 - 19968: jis0212<<14 | 0x34<<7 | 0x0F, - 32680 - 19968: jis0208<<14 | 0x20<<7 | 0x01, - 32681 - 19968: jis0208<<14 | 0x14<<7 | 0x20, - 32682 - 19968: jis0212<<14 | 0x34<<7 | 0x10, - 32685 - 19968: jis0212<<14 | 0x34<<7 | 0x11, - 32686 - 19968: jis0208<<14 | 0x45<<7 | 0x1D, - 32687 - 19968: jis0208<<14 | 0x45<<7 | 0x1A, - 32690 - 19968: jis0208<<14 | 0x45<<7 | 0x1B, - 32692 - 19968: jis0212<<14 | 0x34<<7 | 0x12, - 32694 - 19968: jis0208<<14 | 0x45<<7 | 0x1E, - 32696 - 19968: jis0208<<14 | 0x45<<7 | 0x1F, - 32697 - 19968: jis0208<<14 | 0x45<<7 | 0x1C, - 32700 - 19968: jis0212<<14 | 0x34<<7 | 0x13, - 32701 - 19968: jis0208<<14 | 0x10<<7 | 0x08, - 32703 - 19968: jis0212<<14 | 0x34<<7 | 0x14, - 32704 - 19968: jis0212<<14 | 0x34<<7 | 0x15, - 32705 - 19968: jis0208<<14 | 0x11<<7 | 0x06, - 32707 - 19968: jis0212<<14 | 0x34<<7 | 0x16, - 32709 - 19968: jis0208<<14 | 0x45<<7 | 0x21, - 32710 - 19968: jis0208<<14 | 0x45<<7 | 0x22, - 32712 - 19968: jis0212<<14 | 0x34<<7 | 0x17, - 32714 - 19968: jis0208<<14 | 0x45<<7 | 0x23, - 32716 - 19968: jis0208<<14 | 0x2C<<7 | 0x41, - 32718 - 19968: jis0212<<14 | 0x34<<7 | 0x18, - 32719 - 19968: jis0212<<14 | 0x34<<7 | 0x19, - 32722 - 19968: jis0208<<14 | 0x1C<<7 | 0x0B, - 32724 - 19968: jis0208<<14 | 0x45<<7 | 0x25, - 32725 - 19968: jis0208<<14 | 0x45<<7 | 0x24, - 32731 - 19968: jis0212<<14 | 0x34<<7 | 0x1A, - 32735 - 19968: jis0212<<14 | 0x34<<7 | 0x1B, - 32736 - 19968: jis0208<<14 | 0x1E<<7 | 0x48, - 32737 - 19968: jis0208<<14 | 0x45<<7 | 0x26, - 32739 - 19968: jis0212<<14 | 0x34<<7 | 0x1C, - 32741 - 19968: jis0212<<14 | 0x34<<7 | 0x1D, - 32742 - 19968: jis0208<<14 | 0x45<<7 | 0x27, - 32744 - 19968: jis0212<<14 | 0x34<<7 | 0x1E, - 32745 - 19968: jis0208<<14 | 0x45<<7 | 0x28, - 32747 - 19968: jis0208<<14 | 0x13<<7 | 0x44, - 32748 - 19968: jis0212<<14 | 0x34<<7 | 0x1F, - 32750 - 19968: jis0212<<14 | 0x34<<7 | 0x20, - 32751 - 19968: jis0212<<14 | 0x34<<7 | 0x21, - 32752 - 19968: jis0208<<14 | 0x13<<7 | 0x2C, - 32754 - 19968: jis0212<<14 | 0x34<<7 | 0x22, - 32755 - 19968: jis0208<<14 | 0x45<<7 | 0x29, - 32761 - 19968: jis0208<<14 | 0x45<<7 | 0x2A, - 32762 - 19968: jis0212<<14 | 0x34<<7 | 0x23, - 32763 - 19968: jis0208<<14 | 0x2A<<7 | 0x3C, - 32764 - 19968: jis0208<<14 | 0x2C<<7 | 0x42, - 32765 - 19968: jis0212<<14 | 0x34<<7 | 0x24, - 32766 - 19968: jis0212<<14 | 0x34<<7 | 0x25, - 32767 - 19968: jis0212<<14 | 0x34<<7 | 0x26, - 32768 - 19968: jis0208<<14 | 0x2C<<7 | 0x33, - 32769 - 19968: jis0208<<14 | 0x2E<<7 | 0x16, - 32771 - 19968: jis0208<<14 | 0x18<<7 | 0x2C, - 32772 - 19968: jis0208<<14 | 0x45<<7 | 0x2D, - 32773 - 19968: jis0208<<14 | 0x1B<<7 | 0x33, - 32774 - 19968: jis0208<<14 | 0x45<<7 | 0x2C, - 32775 - 19968: jis0212<<14 | 0x34<<7 | 0x27, - 32776 - 19968: jis0212<<14 | 0x34<<7 | 0x28, - 32778 - 19968: jis0212<<14 | 0x34<<7 | 0x29, - 32779 - 19968: jis0208<<14 | 0x45<<7 | 0x2E, - 32780 - 19968: jis0208<<14 | 0x1B<<7 | 0x08, - 32781 - 19968: jis0212<<14 | 0x34<<7 | 0x2A, - 32782 - 19968: jis0212<<14 | 0x34<<7 | 0x2B, - 32783 - 19968: jis0212<<14 | 0x34<<7 | 0x2C, - 32784 - 19968: jis0208<<14 | 0x21<<7 | 0x30, - 32785 - 19968: jis0212<<14 | 0x34<<7 | 0x2D, - 32786 - 19968: jis0208<<14 | 0x45<<7 | 0x2F, - 32787 - 19968: jis0212<<14 | 0x34<<7 | 0x2E, - 32788 - 19968: jis0212<<14 | 0x34<<7 | 0x2F, - 32789 - 19968: jis0208<<14 | 0x18<<7 | 0x2B, - 32790 - 19968: jis0212<<14 | 0x34<<7 | 0x30, - 32791 - 19968: jis0208<<14 | 0x2B<<7 | 0x36, - 32792 - 19968: jis0208<<14 | 0x45<<7 | 0x30, - 32793 - 19968: jis0208<<14 | 0x45<<7 | 0x31, - 32796 - 19968: jis0208<<14 | 0x45<<7 | 0x32, - 32797 - 19968: jis0212<<14 | 0x34<<7 | 0x31, - 32798 - 19968: jis0212<<14 | 0x34<<7 | 0x32, - 32799 - 19968: jis0212<<14 | 0x34<<7 | 0x33, - 32800 - 19968: jis0212<<14 | 0x34<<7 | 0x34, - 32801 - 19968: jis0208<<14 | 0x45<<7 | 0x33, - 32804 - 19968: jis0212<<14 | 0x34<<7 | 0x35, - 32806 - 19968: jis0212<<14 | 0x34<<7 | 0x36, - 32808 - 19968: jis0208<<14 | 0x45<<7 | 0x34, - 32812 - 19968: jis0212<<14 | 0x34<<7 | 0x37, - 32814 - 19968: jis0212<<14 | 0x34<<7 | 0x38, - 32816 - 19968: jis0212<<14 | 0x34<<7 | 0x39, - 32819 - 19968: jis0208<<14 | 0x1B<<7 | 0x09, - 32820 - 19968: jis0212<<14 | 0x34<<7 | 0x3A, - 32821 - 19968: jis0212<<14 | 0x34<<7 | 0x3B, - 32822 - 19968: jis0208<<14 | 0x2B<<7 | 0x4C, - 32823 - 19968: jis0212<<14 | 0x34<<7 | 0x3C, - 32825 - 19968: jis0212<<14 | 0x34<<7 | 0x3D, - 32826 - 19968: jis0212<<14 | 0x34<<7 | 0x3E, - 32827 - 19968: jis0208<<14 | 0x45<<7 | 0x36, - 32828 - 19968: jis0212<<14 | 0x34<<7 | 0x3F, - 32829 - 19968: jis0208<<14 | 0x22<<7 | 0x1E, - 32830 - 19968: jis0212<<14 | 0x34<<7 | 0x40, - 32831 - 19968: jis0208<<14 | 0x45<<7 | 0x35, - 32832 - 19968: jis0212<<14 | 0x34<<7 | 0x41, - 32836 - 19968: jis0212<<14 | 0x34<<7 | 0x42, - 32838 - 19968: jis0208<<14 | 0x45<<7 | 0x38, - 32842 - 19968: jis0208<<14 | 0x45<<7 | 0x37, - 32850 - 19968: jis0208<<14 | 0x45<<7 | 0x39, - 32854 - 19968: jis0208<<14 | 0x1F<<7 | 0x1A, - 32856 - 19968: jis0208<<14 | 0x45<<7 | 0x3A, - 32858 - 19968: jis0208<<14 | 0x45<<7 | 0x3B, - 32862 - 19968: jis0208<<14 | 0x29<<7 | 0x18, - 32863 - 19968: jis0208<<14 | 0x45<<7 | 0x3C, - 32864 - 19968: jis0212<<14 | 0x34<<7 | 0x43, - 32865 - 19968: jis0208<<14 | 0x20<<7 | 0x4E, - 32866 - 19968: jis0208<<14 | 0x45<<7 | 0x3D, - 32868 - 19968: jis0212<<14 | 0x34<<7 | 0x44, - 32870 - 19968: jis0212<<14 | 0x34<<7 | 0x45, - 32872 - 19968: jis0208<<14 | 0x45<<7 | 0x3E, - 32877 - 19968: jis0212<<14 | 0x34<<7 | 0x46, - 32879 - 19968: jis0208<<14 | 0x2D<<7 | 0x5D, - 32880 - 19968: jis0208<<14 | 0x45<<7 | 0x41, - 32881 - 19968: jis0212<<14 | 0x34<<7 | 0x47, - 32882 - 19968: jis0208<<14 | 0x45<<7 | 0x40, - 32883 - 19968: jis0208<<14 | 0x45<<7 | 0x3F, - 32884 - 19968: jis0208<<14 | 0x23<<7 | 0x0F, - 32885 - 19968: jis0212<<14 | 0x34<<7 | 0x48, - 32886 - 19968: jis0208<<14 | 0x45<<7 | 0x42, - 32887 - 19968: jis0208<<14 | 0x1E<<7 | 0x05, - 32889 - 19968: jis0208<<14 | 0x45<<7 | 0x43, - 32893 - 19968: jis0208<<14 | 0x45<<7 | 0x44, - 32894 - 19968: jis0208<<14 | 0x2E<<7 | 0x17, - 32895 - 19968: jis0208<<14 | 0x45<<7 | 0x45, - 32897 - 19968: jis0212<<14 | 0x34<<7 | 0x49, - 32900 - 19968: jis0208<<14 | 0x45<<7 | 0x46, - 32901 - 19968: jis0208<<14 | 0x45<<7 | 0x48, - 32902 - 19968: jis0208<<14 | 0x45<<7 | 0x47, - 32903 - 19968: jis0208<<14 | 0x27<<7 | 0x04, - 32904 - 19968: jis0212<<14 | 0x34<<7 | 0x4A, - 32905 - 19968: jis0208<<14 | 0x25<<7 | 0x58, - 32907 - 19968: jis0208<<14 | 0x2E<<7 | 0x1D, - 32908 - 19968: jis0208<<14 | 0x27<<7 | 0x08, - 32910 - 19968: jis0212<<14 | 0x34<<7 | 0x4B, - 32915 - 19968: jis0208<<14 | 0x45<<7 | 0x4A, - 32918 - 19968: jis0208<<14 | 0x1D<<7 | 0x32, - 32920 - 19968: jis0208<<14 | 0x28<<7 | 0x09, - 32922 - 19968: jis0208<<14 | 0x45<<7 | 0x4B, - 32923 - 19968: jis0208<<14 | 0x45<<7 | 0x49, - 32924 - 19968: jis0212<<14 | 0x34<<7 | 0x4C, - 32925 - 19968: jis0208<<14 | 0x13<<7 | 0x2D, - 32926 - 19968: jis0212<<14 | 0x34<<7 | 0x4D, - 32929 - 19968: jis0208<<14 | 0x17<<7 | 0x33, - 32930 - 19968: jis0208<<14 | 0x1A<<7 | 0x47, - 32933 - 19968: jis0208<<14 | 0x27<<7 | 0x4D, - 32934 - 19968: jis0212<<14 | 0x34<<7 | 0x4E, - 32935 - 19968: jis0212<<14 | 0x34<<7 | 0x4F, - 32937 - 19968: jis0208<<14 | 0x17<<7 | 0x09, - 32938 - 19968: jis0208<<14 | 0x2A<<7 | 0x22, - 32939 - 19968: jis0212<<14 | 0x34<<7 | 0x50, - 32940 - 19968: jis0208<<14 | 0x45<<7 | 0x4E, - 32941 - 19968: jis0208<<14 | 0x45<<7 | 0x4C, - 32943 - 19968: jis0208<<14 | 0x18<<7 | 0x2D, - 32945 - 19968: jis0208<<14 | 0x18<<7 | 0x2E, - 32946 - 19968: jis0208<<14 | 0x0F<<7 | 0x48, - 32948 - 19968: jis0208<<14 | 0x19<<7 | 0x47, - 32952 - 19968: jis0212<<14 | 0x34<<7 | 0x51, - 32953 - 19968: jis0212<<14 | 0x34<<7 | 0x52, - 32954 - 19968: jis0208<<14 | 0x26<<7 | 0x38, - 32963 - 19968: jis0208<<14 | 0x0F<<7 | 0x3E, - 32964 - 19968: jis0208<<14 | 0x45<<7 | 0x53, - 32966 - 19968: jis0208<<14 | 0x22<<7 | 0x1F, - 32968 - 19968: jis0212<<14 | 0x34<<7 | 0x53, - 32972 - 19968: jis0208<<14 | 0x26<<7 | 0x37, - 32973 - 19968: jis0212<<14 | 0x34<<7 | 0x54, - 32974 - 19968: jis0208<<14 | 0x21<<7 | 0x3A, - 32975 - 19968: jis0212<<14 | 0x34<<7 | 0x55, - 32978 - 19968: jis0212<<14 | 0x34<<7 | 0x56, - 32980 - 19968: jis0212<<14 | 0x34<<7 | 0x57, - 32981 - 19968: jis0212<<14 | 0x34<<7 | 0x58, - 32982 - 19968: jis0208<<14 | 0x45<<7 | 0x55, - 32983 - 19968: jis0212<<14 | 0x34<<7 | 0x59, - 32984 - 19968: jis0212<<14 | 0x34<<7 | 0x5A, - 32985 - 19968: jis0208<<14 | 0x45<<7 | 0x51, - 32986 - 19968: jis0208<<14 | 0x45<<7 | 0x54, - 32987 - 19968: jis0208<<14 | 0x45<<7 | 0x4F, - 32989 - 19968: jis0208<<14 | 0x45<<7 | 0x52, - 32990 - 19968: jis0208<<14 | 0x2A<<7 | 0x05, - 32992 - 19968: jis0212<<14 | 0x34<<7 | 0x5B, - 32993 - 19968: jis0208<<14 | 0x17<<7 | 0x34, - 32996 - 19968: jis0208<<14 | 0x0F<<7 | 0x5C, - 32997 - 19968: jis0208<<14 | 0x45<<7 | 0x50, - 33005 - 19968: jis0212<<14 | 0x34<<7 | 0x5C, - 33006 - 19968: jis0212<<14 | 0x34<<7 | 0x5D, - 33007 - 19968: jis0208<<14 | 0x45<<7 | 0x57, - 33008 - 19968: jis0212<<14 | 0x35<<7 | 0x00, - 33009 - 19968: jis0208<<14 | 0x45<<7 | 0x58, - 33010 - 19968: jis0212<<14 | 0x35<<7 | 0x01, - 33011 - 19968: jis0212<<14 | 0x35<<7 | 0x02, - 33012 - 19968: jis0208<<14 | 0x25<<7 | 0x18, - 33014 - 19968: jis0212<<14 | 0x35<<7 | 0x03, - 33016 - 19968: jis0208<<14 | 0x15<<7 | 0x1A, - 33017 - 19968: jis0212<<14 | 0x35<<7 | 0x04, - 33018 - 19968: jis0212<<14 | 0x35<<7 | 0x05, - 33020 - 19968: jis0208<<14 | 0x46<<7 | 0x05, - 33021 - 19968: jis0208<<14 | 0x26<<7 | 0x1C, - 33022 - 19968: jis0212<<14 | 0x35<<7 | 0x06, - 33026 - 19968: jis0208<<14 | 0x1A<<7 | 0x48, - 33027 - 19968: jis0212<<14 | 0x35<<7 | 0x07, - 33029 - 19968: jis0208<<14 | 0x15<<7 | 0x1B, - 33030 - 19968: jis0208<<14 | 0x1F<<7 | 0x27, - 33031 - 19968: jis0208<<14 | 0x2E<<7 | 0x25, - 33032 - 19968: jis0208<<14 | 0x2B<<7 | 0x0D, - 33033 - 19968: jis0208<<14 | 0x45<<7 | 0x56, - 33034 - 19968: jis0208<<14 | 0x1F<<7 | 0x33, - 33035 - 19968: jis0212<<14 | 0x35<<7 | 0x08, - 33046 - 19968: jis0212<<14 | 0x35<<7 | 0x09, - 33047 - 19968: jis0212<<14 | 0x35<<7 | 0x0A, - 33048 - 19968: jis0212<<14 | 0x35<<7 | 0x0B, - 33050 - 19968: jis0208<<14 | 0x14<<7 | 0x32, - 33051 - 19968: jis0208<<14 | 0x45<<7 | 0x59, - 33052 - 19968: jis0212<<14 | 0x35<<7 | 0x0C, - 33054 - 19968: jis0212<<14 | 0x35<<7 | 0x0D, - 33056 - 19968: jis0212<<14 | 0x35<<7 | 0x0E, - 33059 - 19968: jis0208<<14 | 0x45<<7 | 0x5B, - 33060 - 19968: jis0212<<14 | 0x35<<7 | 0x0F, - 33063 - 19968: jis0212<<14 | 0x35<<7 | 0x10, - 33065 - 19968: jis0208<<14 | 0x45<<7 | 0x5A, - 33068 - 19968: jis0212<<14 | 0x35<<7 | 0x11, - 33071 - 19968: jis0208<<14 | 0x45<<7 | 0x5C, - 33072 - 19968: jis0212<<14 | 0x35<<7 | 0x12, - 33073 - 19968: jis0208<<14 | 0x22<<7 | 0x05, - 33075 - 19968: jis0208<<14 | 0x26<<7 | 0x1D, - 33077 - 19968: jis0212<<14 | 0x35<<7 | 0x13, - 33081 - 19968: jis0208<<14 | 0x23<<7 | 0x10, - 33082 - 19968: jis0212<<14 | 0x35<<7 | 0x14, - 33084 - 19968: jis0212<<14 | 0x35<<7 | 0x15, - 33086 - 19968: jis0208<<14 | 0x46<<7 | 0x02, - 33093 - 19968: jis0212<<14 | 0x35<<7 | 0x16, - 33094 - 19968: jis0208<<14 | 0x46<<7 | 0x01, - 33095 - 19968: jis0212<<14 | 0x35<<7 | 0x17, - 33098 - 19968: jis0212<<14 | 0x35<<7 | 0x18, - 33099 - 19968: jis0208<<14 | 0x45<<7 | 0x5D, - 33100 - 19968: jis0212<<14 | 0x35<<7 | 0x19, - 33102 - 19968: jis0208<<14 | 0x1E<<7 | 0x34, - 33104 - 19968: jis0208<<14 | 0x28<<7 | 0x44, - 33105 - 19968: jis0208<<14 | 0x46<<7 | 0x04, - 33106 - 19968: jis0212<<14 | 0x35<<7 | 0x1A, - 33107 - 19968: jis0208<<14 | 0x46<<7 | 0x03, - 33108 - 19968: jis0208<<14 | 0x18<<7 | 0x2F, - 33109 - 19968: jis0208<<14 | 0x2E<<7 | 0x32, - 33111 - 19968: jis0212<<14 | 0x35<<7 | 0x1B, - 33119 - 19968: jis0208<<14 | 0x46<<7 | 0x14, - 33120 - 19968: jis0212<<14 | 0x35<<7 | 0x1C, - 33121 - 19968: jis0212<<14 | 0x35<<7 | 0x1D, - 33125 - 19968: jis0208<<14 | 0x46<<7 | 0x08, - 33126 - 19968: jis0208<<14 | 0x46<<7 | 0x09, - 33127 - 19968: jis0212<<14 | 0x35<<7 | 0x1E, - 33128 - 19968: jis0212<<14 | 0x35<<7 | 0x1F, - 33129 - 19968: jis0212<<14 | 0x35<<7 | 0x20, - 33131 - 19968: jis0208<<14 | 0x1B<<7 | 0x4F, - 33133 - 19968: jis0212<<14 | 0x35<<7 | 0x21, - 33134 - 19968: jis0208<<14 | 0x46<<7 | 0x07, - 33135 - 19968: jis0212<<14 | 0x35<<7 | 0x22, - 33136 - 19968: jis0208<<14 | 0x18<<7 | 0x57, - 33137 - 19968: jis0208<<14 | 0x46<<7 | 0x06, - 33140 - 19968: jis0208<<14 | 0x46<<7 | 0x0A, - 33143 - 19968: jis0212<<14 | 0x35<<7 | 0x23, - 33144 - 19968: jis0208<<14 | 0x23<<7 | 0x11, - 33145 - 19968: jis0208<<14 | 0x29<<7 | 0x01, - 33146 - 19968: jis0208<<14 | 0x20<<7 | 0x02, - 33151 - 19968: jis0208<<14 | 0x21<<7 | 0x3B, - 33152 - 19968: jis0208<<14 | 0x46<<7 | 0x0E, - 33153 - 19968: jis0212<<14 | 0x35<<7 | 0x24, - 33154 - 19968: jis0208<<14 | 0x46<<7 | 0x0F, - 33155 - 19968: jis0208<<14 | 0x46<<7 | 0x0B, - 33156 - 19968: jis0212<<14 | 0x35<<7 | 0x26, - 33157 - 19968: jis0212<<14 | 0x35<<7 | 0x27, - 33158 - 19968: jis0212<<14 | 0x35<<7 | 0x28, - 33160 - 19968: jis0208<<14 | 0x46<<7 | 0x0C, - 33162 - 19968: jis0208<<14 | 0x46<<7 | 0x0D, - 33163 - 19968: jis0212<<14 | 0x35<<7 | 0x29, - 33166 - 19968: jis0212<<14 | 0x35<<7 | 0x2A, - 33167 - 19968: jis0208<<14 | 0x18<<7 | 0x30, - 33168 - 19968: jis0212<<14 | 0x35<<7 | 0x25, - 33171 - 19968: jis0208<<14 | 0x46<<7 | 0x15, - 33173 - 19968: jis0208<<14 | 0x46<<7 | 0x11, - 33174 - 19968: jis0212<<14 | 0x35<<7 | 0x2B, - 33176 - 19968: jis0212<<14 | 0x35<<7 | 0x2C, - 33178 - 19968: jis0208<<14 | 0x28<<7 | 0x45, - 33179 - 19968: jis0212<<14 | 0x35<<7 | 0x2D, - 33180 - 19968: jis0208<<14 | 0x2A<<7 | 0x4B, - 33181 - 19968: jis0208<<14 | 0x28<<7 | 0x07, - 33182 - 19968: jis0212<<14 | 0x35<<7 | 0x2E, - 33184 - 19968: jis0208<<14 | 0x46<<7 | 0x10, - 33186 - 19968: jis0212<<14 | 0x35<<7 | 0x2F, - 33187 - 19968: jis0208<<14 | 0x46<<7 | 0x13, - 33188 - 19968: jis0208<<14 | 0x46<<7 | 0x12, - 33192 - 19968: jis0208<<14 | 0x2A<<7 | 0x23, - 33193 - 19968: jis0208<<14 | 0x46<<7 | 0x16, - 33198 - 19968: jis0212<<14 | 0x35<<7 | 0x30, - 33200 - 19968: jis0208<<14 | 0x46<<7 | 0x17, - 33202 - 19968: jis0212<<14 | 0x35<<7 | 0x31, - 33203 - 19968: jis0208<<14 | 0x20<<7 | 0x16, - 33204 - 19968: jis0212<<14 | 0x35<<7 | 0x32, - 33205 - 19968: jis0208<<14 | 0x46<<7 | 0x18, - 33208 - 19968: jis0208<<14 | 0x46<<7 | 0x1A, - 33210 - 19968: jis0208<<14 | 0x46<<7 | 0x1E, - 33211 - 19968: jis0212<<14 | 0x35<<7 | 0x33, - 33213 - 19968: jis0208<<14 | 0x46<<7 | 0x1B, - 33214 - 19968: jis0208<<14 | 0x46<<7 | 0x19, - 33215 - 19968: jis0208<<14 | 0x26<<7 | 0x1E, - 33216 - 19968: jis0208<<14 | 0x46<<7 | 0x1C, - 33218 - 19968: jis0208<<14 | 0x46<<7 | 0x1D, - 33219 - 19968: jis0212<<14 | 0x35<<7 | 0x35, - 33221 - 19968: jis0212<<14 | 0x35<<7 | 0x36, - 33222 - 19968: jis0208<<14 | 0x11<<7 | 0x11, - 33224 - 19968: jis0208<<14 | 0x46<<7 | 0x24, - 33225 - 19968: jis0208<<14 | 0x46<<7 | 0x1F, - 33226 - 19968: jis0212<<14 | 0x35<<7 | 0x37, - 33227 - 19968: jis0212<<14 | 0x35<<7 | 0x34, - 33229 - 19968: jis0208<<14 | 0x46<<7 | 0x20, - 33230 - 19968: jis0212<<14 | 0x35<<7 | 0x38, - 33231 - 19968: jis0212<<14 | 0x35<<7 | 0x39, - 33233 - 19968: jis0208<<14 | 0x46<<7 | 0x21, - 33235 - 19968: jis0208<<14 | 0x21<<7 | 0x00, - 33237 - 19968: jis0212<<14 | 0x35<<7 | 0x3A, - 33239 - 19968: jis0212<<14 | 0x35<<7 | 0x3B, - 33240 - 19968: jis0208<<14 | 0x46<<7 | 0x23, - 33241 - 19968: jis0208<<14 | 0x46<<7 | 0x22, - 33242 - 19968: jis0208<<14 | 0x46<<7 | 0x25, - 33243 - 19968: jis0212<<14 | 0x35<<7 | 0x3C, - 33245 - 19968: jis0212<<14 | 0x35<<7 | 0x3D, - 33246 - 19968: jis0212<<14 | 0x35<<7 | 0x3E, - 33247 - 19968: jis0208<<14 | 0x46<<7 | 0x26, - 33248 - 19968: jis0208<<14 | 0x46<<7 | 0x27, - 33249 - 19968: jis0212<<14 | 0x35<<7 | 0x3F, - 33251 - 19968: jis0208<<14 | 0x1E<<7 | 0x22, - 33252 - 19968: jis0212<<14 | 0x35<<7 | 0x40, - 33253 - 19968: jis0208<<14 | 0x11<<7 | 0x48, - 33255 - 19968: jis0208<<14 | 0x46<<7 | 0x28, - 33256 - 19968: jis0208<<14 | 0x2D<<7 | 0x36, - 33258 - 19968: jis0208<<14 | 0x1B<<7 | 0x0A, - 33259 - 19968: jis0212<<14 | 0x35<<7 | 0x41, - 33260 - 19968: jis0212<<14 | 0x35<<7 | 0x42, - 33261 - 19968: jis0208<<14 | 0x1C<<7 | 0x0C, - 33264 - 19968: jis0212<<14 | 0x35<<7 | 0x43, - 33265 - 19968: jis0212<<14 | 0x35<<7 | 0x44, - 33266 - 19968: jis0212<<14 | 0x35<<7 | 0x45, - 33267 - 19968: jis0208<<14 | 0x1A<<7 | 0x49, - 33268 - 19968: jis0208<<14 | 0x22<<7 | 0x36, - 33269 - 19968: jis0212<<14 | 0x35<<7 | 0x46, - 33270 - 19968: jis0212<<14 | 0x35<<7 | 0x47, - 33272 - 19968: jis0212<<14 | 0x35<<7 | 0x48, - 33273 - 19968: jis0212<<14 | 0x35<<7 | 0x49, - 33274 - 19968: jis0208<<14 | 0x46<<7 | 0x29, - 33275 - 19968: jis0208<<14 | 0x46<<7 | 0x2A, - 33276 - 19968: jis0208<<14 | 0x10<<7 | 0x10, - 33277 - 19968: jis0212<<14 | 0x35<<7 | 0x4A, - 33278 - 19968: jis0208<<14 | 0x46<<7 | 0x2B, - 33279 - 19968: jis0212<<14 | 0x35<<7 | 0x4B, - 33280 - 19968: jis0212<<14 | 0x35<<7 | 0x4C, - 33281 - 19968: jis0208<<14 | 0x46<<7 | 0x2C, - 33282 - 19968: jis0208<<14 | 0x46<<7 | 0x2D, - 33283 - 19968: jis0212<<14 | 0x35<<7 | 0x4D, - 33285 - 19968: jis0208<<14 | 0x46<<7 | 0x2E, - 33287 - 19968: jis0208<<14 | 0x46<<7 | 0x2F, - 33288 - 19968: jis0208<<14 | 0x15<<7 | 0x1C, - 33289 - 19968: jis0208<<14 | 0x39<<7 | 0x09, - 33290 - 19968: jis0208<<14 | 0x46<<7 | 0x30, - 33292 - 19968: jis0208<<14 | 0x1F<<7 | 0x44, - 33293 - 19968: jis0208<<14 | 0x46<<7 | 0x31, - 33294 - 19968: jis0208<<14 | 0x1B<<7 | 0x2A, - 33295 - 19968: jis0212<<14 | 0x35<<7 | 0x4E, - 33296 - 19968: jis0208<<14 | 0x46<<7 | 0x32, - 33298 - 19968: jis0208<<14 | 0x2F<<7 | 0x0F, - 33299 - 19968: jis0212<<14 | 0x35<<7 | 0x4F, - 33300 - 19968: jis0212<<14 | 0x35<<7 | 0x50, - 33302 - 19968: jis0208<<14 | 0x46<<7 | 0x33, - 33303 - 19968: jis0208<<14 | 0x29<<7 | 0x3D, - 33304 - 19968: jis0208<<14 | 0x13<<7 | 0x3B, - 33305 - 19968: jis0212<<14 | 0x35<<7 | 0x51, - 33306 - 19968: jis0212<<14 | 0x35<<7 | 0x52, - 33307 - 19968: jis0208<<14 | 0x20<<7 | 0x03, - 33308 - 19968: jis0208<<14 | 0x1C<<7 | 0x37, - 33309 - 19968: jis0212<<14 | 0x35<<7 | 0x53, - 33310 - 19968: jis0208<<14 | 0x28<<7 | 0x50, - 33311 - 19968: jis0208<<14 | 0x1C<<7 | 0x0D, - 33313 - 19968: jis0212<<14 | 0x35<<7 | 0x54, - 33314 - 19968: jis0212<<14 | 0x35<<7 | 0x55, - 33320 - 19968: jis0212<<14 | 0x35<<7 | 0x56, - 33321 - 19968: jis0208<<14 | 0x46<<7 | 0x34, - 33322 - 19968: jis0208<<14 | 0x18<<7 | 0x31, - 33323 - 19968: jis0208<<14 | 0x46<<7 | 0x35, - 33324 - 19968: jis0208<<14 | 0x27<<7 | 0x2B, - 33326 - 19968: jis0208<<14 | 0x46<<7 | 0x43, - 33330 - 19968: jis0212<<14 | 0x35<<7 | 0x57, - 33331 - 19968: jis0208<<14 | 0x46<<7 | 0x37, - 33332 - 19968: jis0212<<14 | 0x35<<7 | 0x58, - 33333 - 19968: jis0208<<14 | 0x21<<7 | 0x28, - 33334 - 19968: jis0208<<14 | 0x26<<7 | 0x54, - 33335 - 19968: jis0208<<14 | 0x17<<7 | 0x1E, - 33336 - 19968: jis0208<<14 | 0x46<<7 | 0x36, - 33337 - 19968: jis0208<<14 | 0x20<<7 | 0x04, - 33338 - 19968: jis0212<<14 | 0x35<<7 | 0x59, - 33344 - 19968: jis0208<<14 | 0x46<<7 | 0x38, - 33347 - 19968: jis0212<<14 | 0x35<<7 | 0x5A, - 33348 - 19968: jis0212<<14 | 0x35<<7 | 0x5B, - 33349 - 19968: jis0212<<14 | 0x35<<7 | 0x5C, - 33350 - 19968: jis0212<<14 | 0x35<<7 | 0x5D, - 33351 - 19968: jis0208<<14 | 0x23<<7 | 0x59, - 33355 - 19968: jis0212<<14 | 0x36<<7 | 0x00, - 33358 - 19968: jis0212<<14 | 0x36<<7 | 0x01, - 33359 - 19968: jis0212<<14 | 0x36<<7 | 0x02, - 33361 - 19968: jis0212<<14 | 0x36<<7 | 0x03, - 33366 - 19968: jis0212<<14 | 0x36<<7 | 0x04, - 33368 - 19968: jis0208<<14 | 0x46<<7 | 0x3A, - 33369 - 19968: jis0208<<14 | 0x46<<7 | 0x39, - 33370 - 19968: jis0208<<14 | 0x46<<7 | 0x3C, - 33372 - 19968: jis0212<<14 | 0x36<<7 | 0x05, - 33373 - 19968: jis0208<<14 | 0x46<<7 | 0x3B, - 33375 - 19968: jis0208<<14 | 0x46<<7 | 0x3D, - 33376 - 19968: jis0212<<14 | 0x36<<7 | 0x06, - 33378 - 19968: jis0208<<14 | 0x46<<7 | 0x3F, - 33379 - 19968: jis0212<<14 | 0x36<<7 | 0x07, - 33380 - 19968: jis0208<<14 | 0x46<<7 | 0x3E, - 33382 - 19968: jis0208<<14 | 0x13<<7 | 0x2E, - 33383 - 19968: jis0212<<14 | 0x36<<7 | 0x08, - 33384 - 19968: jis0208<<14 | 0x46<<7 | 0x40, - 33386 - 19968: jis0208<<14 | 0x46<<7 | 0x41, - 33387 - 19968: jis0208<<14 | 0x46<<7 | 0x42, - 33389 - 19968: jis0212<<14 | 0x36<<7 | 0x09, - 33390 - 19968: jis0208<<14 | 0x19<<7 | 0x10, - 33391 - 19968: jis0208<<14 | 0x2D<<7 | 0x28, - 33393 - 19968: jis0208<<14 | 0x46<<7 | 0x44, - 33394 - 19968: jis0208<<14 | 0x1E<<7 | 0x06, - 33396 - 19968: jis0212<<14 | 0x36<<7 | 0x0A, - 33398 - 19968: jis0208<<14 | 0x10<<7 | 0x4F, - 33399 - 19968: jis0208<<14 | 0x46<<7 | 0x45, - 33400 - 19968: jis0208<<14 | 0x46<<7 | 0x46, - 33403 - 19968: jis0212<<14 | 0x36<<7 | 0x0B, - 33405 - 19968: jis0212<<14 | 0x36<<7 | 0x0C, - 33406 - 19968: jis0208<<14 | 0x46<<7 | 0x47, - 33407 - 19968: jis0212<<14 | 0x36<<7 | 0x0D, - 33408 - 19968: jis0212<<14 | 0x36<<7 | 0x0E, - 33409 - 19968: jis0212<<14 | 0x36<<7 | 0x0F, - 33411 - 19968: jis0212<<14 | 0x36<<7 | 0x10, - 33412 - 19968: jis0212<<14 | 0x36<<7 | 0x11, - 33415 - 19968: jis0212<<14 | 0x36<<7 | 0x12, - 33417 - 19968: jis0212<<14 | 0x36<<7 | 0x13, - 33418 - 19968: jis0212<<14 | 0x36<<7 | 0x14, - 33419 - 19968: jis0208<<14 | 0x0F<<7 | 0x51, - 33421 - 19968: jis0208<<14 | 0x46<<7 | 0x48, - 33422 - 19968: jis0212<<14 | 0x36<<7 | 0x15, - 33425 - 19968: jis0212<<14 | 0x36<<7 | 0x16, - 33426 - 19968: jis0208<<14 | 0x46<<7 | 0x49, - 33428 - 19968: jis0212<<14 | 0x36<<7 | 0x17, - 33430 - 19968: jis0212<<14 | 0x36<<7 | 0x18, - 33432 - 19968: jis0212<<14 | 0x36<<7 | 0x19, - 33433 - 19968: jis0208<<14 | 0x28<<7 | 0x46, - 33434 - 19968: jis0212<<14 | 0x36<<7 | 0x1A, - 33435 - 19968: jis0212<<14 | 0x36<<7 | 0x1B, - 33437 - 19968: jis0208<<14 | 0x1B<<7 | 0x26, - 33439 - 19968: jis0208<<14 | 0x46<<7 | 0x4B, - 33440 - 19968: jis0212<<14 | 0x36<<7 | 0x1C, - 33441 - 19968: jis0212<<14 | 0x36<<7 | 0x1D, - 33443 - 19968: jis0212<<14 | 0x36<<7 | 0x1E, - 33444 - 19968: jis0212<<14 | 0x36<<7 | 0x1F, - 33445 - 19968: jis0208<<14 | 0x12<<7 | 0x08, - 33446 - 19968: jis0208<<14 | 0x0F<<7 | 0x11, - 33447 - 19968: jis0212<<14 | 0x36<<7 | 0x20, - 33448 - 19968: jis0212<<14 | 0x36<<7 | 0x21, - 33449 - 19968: jis0212<<14 | 0x36<<7 | 0x22, - 33450 - 19968: jis0212<<14 | 0x36<<7 | 0x23, - 33451 - 19968: jis0208<<14 | 0x46<<7 | 0x4A, - 33452 - 19968: jis0208<<14 | 0x46<<7 | 0x4D, - 33453 - 19968: jis0208<<14 | 0x26<<7 | 0x2D, - 33454 - 19968: jis0212<<14 | 0x36<<7 | 0x24, - 33455 - 19968: jis0208<<14 | 0x1E<<7 | 0x23, - 33456 - 19968: jis0212<<14 | 0x36<<7 | 0x25, - 33457 - 19968: jis0208<<14 | 0x11<<7 | 0x35, - 33458 - 19968: jis0212<<14 | 0x36<<7 | 0x26, - 33459 - 19968: jis0208<<14 | 0x2A<<7 | 0x06, - 33460 - 19968: jis0212<<14 | 0x36<<7 | 0x27, - 33463 - 19968: jis0212<<14 | 0x36<<7 | 0x28, - 33464 - 19968: jis0208<<14 | 0x16<<7 | 0x3C, - 33465 - 19968: jis0208<<14 | 0x15<<7 | 0x3B, - 33466 - 19968: jis0212<<14 | 0x36<<7 | 0x29, - 33467 - 19968: jis0208<<14 | 0x46<<7 | 0x4C, - 33468 - 19968: jis0212<<14 | 0x36<<7 | 0x2A, - 33469 - 19968: jis0208<<14 | 0x11<<7 | 0x49, - 33470 - 19968: jis0212<<14 | 0x36<<7 | 0x2B, - 33471 - 19968: jis0212<<14 | 0x36<<7 | 0x2C, - 33477 - 19968: jis0208<<14 | 0x13<<7 | 0x02, - 33478 - 19968: jis0212<<14 | 0x36<<7 | 0x2D, - 33488 - 19968: jis0212<<14 | 0x36<<7 | 0x2E, - 33489 - 19968: jis0208<<14 | 0x10<<7 | 0x50, - 33490 - 19968: jis0208<<14 | 0x46<<7 | 0x51, - 33491 - 19968: jis0208<<14 | 0x2D<<7 | 0x49, - 33492 - 19968: jis0208<<14 | 0x21<<7 | 0x3C, - 33493 - 19968: jis0212<<14 | 0x36<<7 | 0x2F, - 33495 - 19968: jis0208<<14 | 0x28<<7 | 0x23, - 33497 - 19968: jis0208<<14 | 0x46<<7 | 0x5D, - 33498 - 19968: jis0212<<14 | 0x36<<7 | 0x30, - 33499 - 19968: jis0208<<14 | 0x11<<7 | 0x36, - 33500 - 19968: jis0208<<14 | 0x46<<7 | 0x5B, - 33502 - 19968: jis0208<<14 | 0x46<<7 | 0x59, - 33503 - 19968: jis0208<<14 | 0x46<<7 | 0x50, - 33504 - 19968: jis0212<<14 | 0x36<<7 | 0x31, - 33505 - 19968: jis0208<<14 | 0x46<<7 | 0x4E, - 33506 - 19968: jis0212<<14 | 0x36<<7 | 0x32, - 33507 - 19968: jis0208<<14 | 0x46<<7 | 0x4F, - 33508 - 19968: jis0212<<14 | 0x36<<7 | 0x33, - 33509 - 19968: jis0208<<14 | 0x1B<<7 | 0x42, - 33510 - 19968: jis0208<<14 | 0x15<<7 | 0x4B, - 33511 - 19968: jis0208<<14 | 0x22<<7 | 0x56, - 33512 - 19968: jis0212<<14 | 0x36<<7 | 0x34, - 33514 - 19968: jis0212<<14 | 0x36<<7 | 0x35, - 33515 - 19968: jis0208<<14 | 0x25<<7 | 0x30, - 33517 - 19968: jis0212<<14 | 0x36<<7 | 0x36, - 33519 - 19968: jis0212<<14 | 0x36<<7 | 0x37, - 33521 - 19968: jis0208<<14 | 0x10<<7 | 0x30, - 33523 - 19968: jis0208<<14 | 0x46<<7 | 0x53, - 33524 - 19968: jis0208<<14 | 0x46<<7 | 0x52, - 33526 - 19968: jis0212<<14 | 0x36<<7 | 0x38, - 33527 - 19968: jis0212<<14 | 0x36<<7 | 0x39, - 33529 - 19968: jis0208<<14 | 0x46<<7 | 0x58, - 33530 - 19968: jis0208<<14 | 0x46<<7 | 0x54, - 33531 - 19968: jis0208<<14 | 0x46<<7 | 0x57, - 33533 - 19968: jis0212<<14 | 0x36<<7 | 0x3A, - 33534 - 19968: jis0212<<14 | 0x36<<7 | 0x3B, - 33536 - 19968: jis0212<<14 | 0x36<<7 | 0x3C, - 33537 - 19968: jis0208<<14 | 0x5A<<7 | 0x36, - 33538 - 19968: jis0208<<14 | 0x2B<<7 | 0x2F, - 33539 - 19968: jis0208<<14 | 0x46<<7 | 0x56, - 33540 - 19968: jis0208<<14 | 0x11<<7 | 0x37, - 33541 - 19968: jis0208<<14 | 0x12<<7 | 0x5C, - 33542 - 19968: jis0208<<14 | 0x46<<7 | 0x5A, - 33543 - 19968: jis0212<<14 | 0x36<<7 | 0x3E, - 33544 - 19968: jis0212<<14 | 0x36<<7 | 0x3F, - 33545 - 19968: jis0208<<14 | 0x46<<7 | 0x5C, - 33546 - 19968: jis0212<<14 | 0x36<<7 | 0x40, - 33547 - 19968: jis0212<<14 | 0x36<<7 | 0x41, - 33550 - 19968: jis0208<<14 | 0x16<<7 | 0x33, - 33558 - 19968: jis0208<<14 | 0x47<<7 | 0x02, - 33559 - 19968: jis0208<<14 | 0x47<<7 | 0x0B, - 33560 - 19968: jis0208<<14 | 0x47<<7 | 0x0C, - 33563 - 19968: jis0212<<14 | 0x36<<7 | 0x43, - 33564 - 19968: jis0208<<14 | 0x0F<<7 | 0x0A, - 33565 - 19968: jis0212<<14 | 0x36<<7 | 0x44, - 33566 - 19968: jis0212<<14 | 0x36<<7 | 0x45, - 33567 - 19968: jis0212<<14 | 0x36<<7 | 0x46, - 33569 - 19968: jis0212<<14 | 0x36<<7 | 0x47, - 33570 - 19968: jis0212<<14 | 0x36<<7 | 0x48, - 33571 - 19968: jis0208<<14 | 0x47<<7 | 0x13, - 33576 - 19968: jis0208<<14 | 0x0F<<7 | 0x50, - 33579 - 19968: jis0208<<14 | 0x47<<7 | 0x0A, - 33580 - 19968: jis0212<<14 | 0x36<<7 | 0x49, - 33581 - 19968: jis0212<<14 | 0x36<<7 | 0x4A, - 33582 - 19968: jis0212<<14 | 0x36<<7 | 0x4B, - 33583 - 19968: jis0208<<14 | 0x47<<7 | 0x09, - 33584 - 19968: jis0212<<14 | 0x36<<7 | 0x4C, - 33585 - 19968: jis0208<<14 | 0x47<<7 | 0x04, - 33586 - 19968: jis0208<<14 | 0x47<<7 | 0x03, - 33587 - 19968: jis0212<<14 | 0x36<<7 | 0x4D, - 33588 - 19968: jis0208<<14 | 0x47<<7 | 0x01, - 33589 - 19968: jis0208<<14 | 0x47<<7 | 0x00, - 33590 - 19968: jis0208<<14 | 0x22<<7 | 0x42, - 33591 - 19968: jis0212<<14 | 0x36<<7 | 0x4E, - 33592 - 19968: jis0208<<14 | 0x21<<7 | 0x5A, - 33593 - 19968: jis0208<<14 | 0x47<<7 | 0x06, - 33594 - 19968: jis0212<<14 | 0x36<<7 | 0x4F, - 33596 - 19968: jis0212<<14 | 0x36<<7 | 0x50, - 33597 - 19968: jis0212<<14 | 0x36<<7 | 0x51, - 33600 - 19968: jis0208<<14 | 0x47<<7 | 0x05, - 33602 - 19968: jis0212<<14 | 0x36<<7 | 0x52, - 33603 - 19968: jis0212<<14 | 0x36<<7 | 0x53, - 33604 - 19968: jis0212<<14 | 0x36<<7 | 0x54, - 33605 - 19968: jis0208<<14 | 0x47<<7 | 0x08, - 33607 - 19968: jis0212<<14 | 0x36<<7 | 0x55, - 33609 - 19968: jis0208<<14 | 0x20<<7 | 0x4F, - 33610 - 19968: jis0208<<14 | 0x16<<7 | 0x34, - 33613 - 19968: jis0212<<14 | 0x36<<7 | 0x56, - 33614 - 19968: jis0212<<14 | 0x36<<7 | 0x57, - 33615 - 19968: jis0208<<14 | 0x10<<7 | 0x20, - 33616 - 19968: jis0208<<14 | 0x47<<7 | 0x07, - 33617 - 19968: jis0212<<14 | 0x36<<7 | 0x58, - 33618 - 19968: jis0208<<14 | 0x18<<7 | 0x32, - 33619 - 19968: jis0212<<14 | 0x37<<7 | 0x1D, - 33620 - 19968: jis0212<<14 | 0x36<<7 | 0x42, - 33621 - 19968: jis0212<<14 | 0x36<<7 | 0x59, - 33622 - 19968: jis0212<<14 | 0x36<<7 | 0x5A, - 33623 - 19968: jis0212<<14 | 0x36<<7 | 0x5B, - 33624 - 19968: jis0208<<14 | 0x20<<7 | 0x50, - 33634 - 19968: jis0208<<14 | 0x5A<<7 | 0x37, - 33648 - 19968: jis0212<<14 | 0x36<<7 | 0x5C, - 33651 - 19968: jis0208<<14 | 0x47<<7 | 0x19, - 33653 - 19968: jis0208<<14 | 0x47<<7 | 0x1A, - 33655 - 19968: jis0208<<14 | 0x11<<7 | 0x38, - 33656 - 19968: jis0212<<14 | 0x36<<7 | 0x5D, - 33659 - 19968: jis0208<<14 | 0x11<<7 | 0x0D, - 33660 - 19968: jis0208<<14 | 0x47<<7 | 0x17, - 33661 - 19968: jis0212<<14 | 0x37<<7 | 0x00, - 33663 - 19968: jis0208<<14 | 0x5A<<7 | 0x38, - 33664 - 19968: jis0212<<14 | 0x37<<7 | 0x02, - 33666 - 19968: jis0212<<14 | 0x37<<7 | 0x03, - 33668 - 19968: jis0212<<14 | 0x37<<7 | 0x04, - 33669 - 19968: jis0208<<14 | 0x47<<7 | 0x0D, - 33670 - 19968: jis0212<<14 | 0x37<<7 | 0x05, - 33671 - 19968: jis0208<<14 | 0x47<<7 | 0x15, - 33673 - 19968: jis0208<<14 | 0x47<<7 | 0x1C, - 33674 - 19968: jis0208<<14 | 0x47<<7 | 0x16, - 33677 - 19968: jis0212<<14 | 0x37<<7 | 0x06, - 33678 - 19968: jis0208<<14 | 0x47<<7 | 0x14, - 33682 - 19968: jis0212<<14 | 0x37<<7 | 0x07, - 33683 - 19968: jis0208<<14 | 0x46<<7 | 0x55, - 33684 - 19968: jis0212<<14 | 0x37<<7 | 0x08, - 33685 - 19968: jis0212<<14 | 0x37<<7 | 0x09, - 33686 - 19968: jis0208<<14 | 0x47<<7 | 0x12, - 33688 - 19968: jis0212<<14 | 0x37<<7 | 0x0A, - 33689 - 19968: jis0212<<14 | 0x37<<7 | 0x0B, - 33690 - 19968: jis0208<<14 | 0x47<<7 | 0x0E, - 33691 - 19968: jis0212<<14 | 0x37<<7 | 0x0C, - 33692 - 19968: jis0212<<14 | 0x37<<7 | 0x0D, - 33693 - 19968: jis0212<<14 | 0x37<<7 | 0x0E, - 33694 - 19968: jis0208<<14 | 0x13<<7 | 0x2F, - 33695 - 19968: jis0208<<14 | 0x47<<7 | 0x10, - 33696 - 19968: jis0208<<14 | 0x47<<7 | 0x1B, - 33698 - 19968: jis0208<<14 | 0x47<<7 | 0x11, - 33702 - 19968: jis0212<<14 | 0x37<<7 | 0x0F, - 33703 - 19968: jis0212<<14 | 0x37<<7 | 0x10, - 33704 - 19968: jis0208<<14 | 0x47<<7 | 0x1D, - 33705 - 19968: jis0212<<14 | 0x37<<7 | 0x11, - 33706 - 19968: jis0208<<14 | 0x47<<7 | 0x0F, - 33707 - 19968: jis0208<<14 | 0x26<<7 | 0x5B, - 33708 - 19968: jis0212<<14 | 0x37<<7 | 0x12, - 33709 - 19968: jis0212<<14 | 0x37<<7 | 0x2B, - 33713 - 19968: jis0208<<14 | 0x2C<<7 | 0x48, - 33717 - 19968: jis0208<<14 | 0x47<<7 | 0x18, - 33725 - 19968: jis0208<<14 | 0x47<<7 | 0x2E, - 33726 - 19968: jis0212<<14 | 0x37<<7 | 0x13, - 33727 - 19968: jis0212<<14 | 0x37<<7 | 0x14, - 33728 - 19968: jis0212<<14 | 0x37<<7 | 0x15, - 33729 - 19968: jis0208<<14 | 0x47<<7 | 0x26, - 33733 - 19968: jis0208<<14 | 0x1E<<7 | 0x5A, - 33735 - 19968: jis0208<<14 | 0x5A<<7 | 0x39, - 33737 - 19968: jis0212<<14 | 0x37<<7 | 0x17, - 33738 - 19968: jis0208<<14 | 0x14<<7 | 0x25, - 33740 - 19968: jis0208<<14 | 0x15<<7 | 0x3C, - 33742 - 19968: jis0208<<14 | 0x47<<7 | 0x21, - 33743 - 19968: jis0212<<14 | 0x37<<7 | 0x18, - 33744 - 19968: jis0212<<14 | 0x37<<7 | 0x19, - 33745 - 19968: jis0212<<14 | 0x37<<7 | 0x1A, - 33747 - 19968: jis0208<<14 | 0x11<<7 | 0x3A, - 33748 - 19968: jis0212<<14 | 0x37<<7 | 0x1B, - 33750 - 19968: jis0208<<14 | 0x1D<<7 | 0x33, - 33752 - 19968: jis0208<<14 | 0x47<<7 | 0x24, - 33756 - 19968: jis0208<<14 | 0x19<<7 | 0x39, - 33757 - 19968: jis0212<<14 | 0x37<<7 | 0x1C, - 33759 - 19968: jis0208<<14 | 0x24<<7 | 0x30, - 33760 - 19968: jis0208<<14 | 0x47<<7 | 0x29, - 33768 - 19968: jis0212<<14 | 0x37<<7 | 0x1E, - 33769 - 19968: jis0208<<14 | 0x29<<7 | 0x4D, - 33770 - 19968: jis0212<<14 | 0x37<<7 | 0x1F, - 33771 - 19968: jis0208<<14 | 0x47<<7 | 0x20, - 33775 - 19968: jis0208<<14 | 0x11<<7 | 0x39, - 33776 - 19968: jis0208<<14 | 0x17<<7 | 0x35, - 33777 - 19968: jis0208<<14 | 0x28<<7 | 0x08, - 33778 - 19968: jis0208<<14 | 0x47<<7 | 0x2A, - 33780 - 19968: jis0208<<14 | 0x47<<7 | 0x1E, - 33782 - 19968: jis0208<<14 | 0x5A<<7 | 0x3A, - 33783 - 19968: jis0208<<14 | 0x47<<7 | 0x27, - 33784 - 19968: jis0212<<14 | 0x37<<7 | 0x21, - 33785 - 19968: jis0212<<14 | 0x37<<7 | 0x22, - 33787 - 19968: jis0208<<14 | 0x47<<7 | 0x31, - 33788 - 19968: jis0212<<14 | 0x37<<7 | 0x23, - 33789 - 19968: jis0208<<14 | 0x47<<7 | 0x22, - 33793 - 19968: jis0212<<14 | 0x37<<7 | 0x24, - 33795 - 19968: jis0208<<14 | 0x47<<7 | 0x23, - 33796 - 19968: jis0208<<14 | 0x25<<7 | 0x19, - 33798 - 19968: jis0212<<14 | 0x37<<7 | 0x25, - 33799 - 19968: jis0208<<14 | 0x47<<7 | 0x28, - 33802 - 19968: jis0212<<14 | 0x37<<7 | 0x26, - 33803 - 19968: jis0208<<14 | 0x47<<7 | 0x25, - 33804 - 19968: jis0208<<14 | 0x2A<<7 | 0x07, - 33805 - 19968: jis0208<<14 | 0x47<<7 | 0x2B, - 33806 - 19968: jis0208<<14 | 0x0F<<7 | 0x3F, - 33807 - 19968: jis0212<<14 | 0x37<<7 | 0x27, - 33809 - 19968: jis0212<<14 | 0x37<<7 | 0x28, - 33811 - 19968: jis0208<<14 | 0x47<<7 | 0x1F, - 33813 - 19968: jis0212<<14 | 0x37<<7 | 0x29, - 33817 - 19968: jis0212<<14 | 0x37<<7 | 0x2A, - 33824 - 19968: jis0208<<14 | 0x47<<7 | 0x2D, - 33826 - 19968: jis0208<<14 | 0x47<<7 | 0x2C, - 33833 - 19968: jis0208<<14 | 0x26<<7 | 0x4A, - 33834 - 19968: jis0208<<14 | 0x47<<7 | 0x33, - 33836 - 19968: jis0208<<14 | 0x47<<7 | 0x3E, - 33839 - 19968: jis0212<<14 | 0x37<<7 | 0x2C, - 33841 - 19968: jis0208<<14 | 0x12<<7 | 0x5D, - 33845 - 19968: jis0208<<14 | 0x47<<7 | 0x41, - 33848 - 19968: jis0208<<14 | 0x47<<7 | 0x2F, - 33849 - 19968: jis0212<<14 | 0x37<<7 | 0x2D, - 33852 - 19968: jis0208<<14 | 0x47<<7 | 0x34, - 33853 - 19968: jis0208<<14 | 0x2C<<7 | 0x4D, - 33861 - 19968: jis0212<<14 | 0x37<<7 | 0x2E, - 33862 - 19968: jis0208<<14 | 0x47<<7 | 0x3D, - 33863 - 19968: jis0212<<14 | 0x37<<7 | 0x2F, - 33864 - 19968: jis0208<<14 | 0x5A<<7 | 0x3B, - 33865 - 19968: jis0208<<14 | 0x2C<<7 | 0x34, - 33866 - 19968: jis0212<<14 | 0x37<<7 | 0x31, - 33869 - 19968: jis0212<<14 | 0x37<<7 | 0x32, - 33870 - 19968: jis0208<<14 | 0x2D<<7 | 0x09, - 33871 - 19968: jis0212<<14 | 0x37<<7 | 0x33, - 33873 - 19968: jis0212<<14 | 0x37<<7 | 0x34, - 33874 - 19968: jis0212<<14 | 0x37<<7 | 0x35, - 33878 - 19968: jis0212<<14 | 0x37<<7 | 0x36, - 33879 - 19968: jis0208<<14 | 0x22<<7 | 0x57, - 33880 - 19968: jis0212<<14 | 0x37<<7 | 0x37, - 33881 - 19968: jis0212<<14 | 0x37<<7 | 0x38, - 33882 - 19968: jis0212<<14 | 0x37<<7 | 0x39, - 33883 - 19968: jis0208<<14 | 0x12<<7 | 0x4A, - 33884 - 19968: jis0212<<14 | 0x37<<7 | 0x3A, - 33888 - 19968: jis0212<<14 | 0x37<<7 | 0x3B, - 33889 - 19968: jis0208<<14 | 0x28<<7 | 0x51, - 33890 - 19968: jis0208<<14 | 0x47<<7 | 0x43, - 33891 - 19968: jis0208<<14 | 0x25<<7 | 0x00, - 33892 - 19968: jis0212<<14 | 0x37<<7 | 0x3C, - 33893 - 19968: jis0212<<14 | 0x37<<7 | 0x3D, - 33894 - 19968: jis0208<<14 | 0x0F<<7 | 0x10, - 33895 - 19968: jis0212<<14 | 0x37<<7 | 0x3E, - 33897 - 19968: jis0208<<14 | 0x47<<7 | 0x3C, - 33898 - 19968: jis0212<<14 | 0x37<<7 | 0x3F, - 33899 - 19968: jis0208<<14 | 0x47<<7 | 0x38, - 33900 - 19968: jis0208<<14 | 0x20<<7 | 0x51, - 33901 - 19968: jis0208<<14 | 0x47<<7 | 0x32, - 33902 - 19968: jis0208<<14 | 0x47<<7 | 0x3A, - 33903 - 19968: jis0208<<14 | 0x47<<7 | 0x3F, - 33904 - 19968: jis0212<<14 | 0x37<<7 | 0x40, - 33905 - 19968: jis0208<<14 | 0x26<<7 | 0x0B, - 33907 - 19968: jis0212<<14 | 0x37<<7 | 0x41, - 33908 - 19968: jis0212<<14 | 0x37<<7 | 0x42, - 33909 - 19968: jis0208<<14 | 0x0F<<7 | 0x09, - 33910 - 19968: jis0212<<14 | 0x37<<7 | 0x43, - 33911 - 19968: jis0208<<14 | 0x47<<7 | 0x37, - 33912 - 19968: jis0212<<14 | 0x37<<7 | 0x44, - 33913 - 19968: jis0208<<14 | 0x47<<7 | 0x40, - 33914 - 19968: jis0208<<14 | 0x28<<7 | 0x57, - 33916 - 19968: jis0212<<14 | 0x37<<7 | 0x45, - 33917 - 19968: jis0212<<14 | 0x37<<7 | 0x46, - 33921 - 19968: jis0212<<14 | 0x37<<7 | 0x47, - 33922 - 19968: jis0208<<14 | 0x47<<7 | 0x3B, - 33924 - 19968: jis0208<<14 | 0x47<<7 | 0x36, - 33925 - 19968: jis0212<<14 | 0x37<<7 | 0x48, - 33931 - 19968: jis0208<<14 | 0x1D<<7 | 0x34, - 33936 - 19968: jis0208<<14 | 0x1C<<7 | 0x0E, - 33938 - 19968: jis0212<<14 | 0x37<<7 | 0x49, - 33939 - 19968: jis0212<<14 | 0x37<<7 | 0x4A, - 33940 - 19968: jis0208<<14 | 0x1B<<7 | 0x0B, - 33941 - 19968: jis0212<<14 | 0x37<<7 | 0x4B, - 33945 - 19968: jis0208<<14 | 0x2B<<7 | 0x37, - 33948 - 19968: jis0208<<14 | 0x28<<7 | 0x26, - 33950 - 19968: jis0212<<14 | 0x37<<7 | 0x4C, - 33951 - 19968: jis0208<<14 | 0x47<<7 | 0x46, - 33953 - 19968: jis0208<<14 | 0x47<<7 | 0x4F, - 33958 - 19968: jis0212<<14 | 0x37<<7 | 0x4D, - 33960 - 19968: jis0212<<14 | 0x37<<7 | 0x4E, - 33961 - 19968: jis0212<<14 | 0x37<<7 | 0x4F, - 33962 - 19968: jis0212<<14 | 0x37<<7 | 0x50, - 33965 - 19968: jis0208<<14 | 0x47<<7 | 0x39, - 33967 - 19968: jis0212<<14 | 0x37<<7 | 0x51, - 33969 - 19968: jis0212<<14 | 0x37<<7 | 0x52, - 33970 - 19968: jis0208<<14 | 0x12<<7 | 0x56, - 33972 - 19968: jis0208<<14 | 0x5A<<7 | 0x3C, - 33976 - 19968: jis0208<<14 | 0x1D<<7 | 0x57, - 33977 - 19968: jis0208<<14 | 0x47<<7 | 0x44, - 33978 - 19968: jis0212<<14 | 0x37<<7 | 0x54, - 33979 - 19968: jis0208<<14 | 0x47<<7 | 0x49, - 33980 - 19968: jis0208<<14 | 0x20<<7 | 0x52, - 33981 - 19968: jis0212<<14 | 0x37<<7 | 0x55, - 33982 - 19968: jis0212<<14 | 0x37<<7 | 0x56, - 33983 - 19968: jis0208<<14 | 0x47<<7 | 0x45, - 33984 - 19968: jis0212<<14 | 0x37<<7 | 0x57, - 33985 - 19968: jis0208<<14 | 0x47<<7 | 0x4C, - 33986 - 19968: jis0212<<14 | 0x37<<7 | 0x58, - 33988 - 19968: jis0208<<14 | 0x22<<7 | 0x3E, - 33990 - 19968: jis0208<<14 | 0x47<<7 | 0x4D, - 33991 - 19968: jis0212<<14 | 0x37<<7 | 0x59, - 33992 - 19968: jis0212<<14 | 0x37<<7 | 0x5A, - 33993 - 19968: jis0208<<14 | 0x2C<<7 | 0x35, - 33994 - 19968: jis0208<<14 | 0x47<<7 | 0x42, - 33995 - 19968: jis0208<<14 | 0x12<<7 | 0x17, - 33996 - 19968: jis0212<<14 | 0x37<<7 | 0x5B, - 33997 - 19968: jis0208<<14 | 0x47<<7 | 0x48, - 33999 - 19968: jis0212<<14 | 0x37<<7 | 0x5C, - 34000 - 19968: jis0208<<14 | 0x47<<7 | 0x4B, - 34001 - 19968: jis0208<<14 | 0x2B<<7 | 0x0B, - 34003 - 19968: jis0212<<14 | 0x37<<7 | 0x5D, - 34006 - 19968: jis0208<<14 | 0x47<<7 | 0x4E, - 34009 - 19968: jis0208<<14 | 0x47<<7 | 0x47, - 34010 - 19968: jis0208<<14 | 0x47<<7 | 0x4A, - 34012 - 19968: jis0208<<14 | 0x58<<7 | 0x04, - 34023 - 19968: jis0212<<14 | 0x38<<7 | 0x01, - 34026 - 19968: jis0212<<14 | 0x38<<7 | 0x02, - 34028 - 19968: jis0208<<14 | 0x2A<<7 | 0x08, - 34030 - 19968: jis0208<<14 | 0x2E<<7 | 0x00, - 34031 - 19968: jis0212<<14 | 0x38<<7 | 0x03, - 34032 - 19968: jis0212<<14 | 0x38<<7 | 0x04, - 34033 - 19968: jis0212<<14 | 0x38<<7 | 0x05, - 34034 - 19968: jis0212<<14 | 0x38<<7 | 0x06, - 34036 - 19968: jis0208<<14 | 0x47<<7 | 0x52, - 34039 - 19968: jis0212<<14 | 0x38<<7 | 0x07, - 34042 - 19968: jis0212<<14 | 0x38<<7 | 0x09, - 34043 - 19968: jis0212<<14 | 0x38<<7 | 0x0A, - 34044 - 19968: jis0208<<14 | 0x47<<7 | 0x59, - 34045 - 19968: jis0212<<14 | 0x38<<7 | 0x0B, - 34047 - 19968: jis0208<<14 | 0x47<<7 | 0x51, - 34048 - 19968: jis0208<<14 | 0x1B<<7 | 0x22, - 34050 - 19968: jis0212<<14 | 0x38<<7 | 0x0C, - 34051 - 19968: jis0212<<14 | 0x38<<7 | 0x0D, - 34054 - 19968: jis0208<<14 | 0x47<<7 | 0x30, - 34055 - 19968: jis0212<<14 | 0x38<<7 | 0x0E, - 34060 - 19968: jis0212<<14 | 0x38<<7 | 0x0F, - 34062 - 19968: jis0212<<14 | 0x38<<7 | 0x10, - 34064 - 19968: jis0212<<14 | 0x38<<7 | 0x11, - 34065 - 19968: jis0208<<14 | 0x29<<7 | 0x2D, - 34067 - 19968: jis0208<<14 | 0x2B<<7 | 0x01, - 34068 - 19968: jis0208<<14 | 0x47<<7 | 0x58, - 34069 - 19968: jis0208<<14 | 0x47<<7 | 0x57, - 34071 - 19968: jis0208<<14 | 0x47<<7 | 0x53, - 34072 - 19968: jis0208<<14 | 0x47<<7 | 0x54, - 34074 - 19968: jis0208<<14 | 0x10<<7 | 0x15, - 34076 - 19968: jis0212<<14 | 0x38<<7 | 0x12, - 34078 - 19968: jis0212<<14 | 0x38<<7 | 0x13, - 34079 - 19968: jis0208<<14 | 0x47<<7 | 0x56, - 34081 - 19968: jis0208<<14 | 0x47<<7 | 0x50, - 34082 - 19968: jis0212<<14 | 0x38<<7 | 0x14, - 34083 - 19968: jis0212<<14 | 0x38<<7 | 0x15, - 34084 - 19968: jis0212<<14 | 0x38<<7 | 0x16, - 34085 - 19968: jis0212<<14 | 0x38<<7 | 0x17, - 34086 - 19968: jis0208<<14 | 0x23<<7 | 0x34, - 34087 - 19968: jis0212<<14 | 0x38<<7 | 0x18, - 34090 - 19968: jis0212<<14 | 0x38<<7 | 0x19, - 34091 - 19968: jis0212<<14 | 0x38<<7 | 0x1A, - 34092 - 19968: jis0208<<14 | 0x47<<7 | 0x55, - 34093 - 19968: jis0208<<14 | 0x0F<<7 | 0x5D, - 34095 - 19968: jis0212<<14 | 0x38<<7 | 0x1B, - 34098 - 19968: jis0212<<14 | 0x38<<7 | 0x08, - 34099 - 19968: jis0212<<14 | 0x38<<7 | 0x1C, - 34100 - 19968: jis0212<<14 | 0x38<<7 | 0x1D, - 34101 - 19968: jis0208<<14 | 0x21<<7 | 0x01, - 34102 - 19968: jis0212<<14 | 0x38<<7 | 0x1E, - 34109 - 19968: jis0208<<14 | 0x29<<7 | 0x22, - 34111 - 19968: jis0212<<14 | 0x38<<7 | 0x1F, - 34112 - 19968: jis0208<<14 | 0x47<<7 | 0x5A, - 34113 - 19968: jis0208<<14 | 0x48<<7 | 0x00, - 34115 - 19968: jis0208<<14 | 0x27<<7 | 0x38, - 34118 - 19968: jis0212<<14 | 0x38<<7 | 0x20, - 34120 - 19968: jis0208<<14 | 0x47<<7 | 0x5D, - 34121 - 19968: jis0208<<14 | 0x1D<<7 | 0x35, - 34122 - 19968: jis0208<<14 | 0x1B<<7 | 0x28, - 34123 - 19968: jis0208<<14 | 0x48<<7 | 0x02, - 34126 - 19968: jis0208<<14 | 0x15<<7 | 0x1D, - 34127 - 19968: jis0212<<14 | 0x38<<7 | 0x21, - 34128 - 19968: jis0212<<14 | 0x38<<7 | 0x22, - 34129 - 19968: jis0212<<14 | 0x38<<7 | 0x23, - 34130 - 19968: jis0212<<14 | 0x38<<7 | 0x24, - 34131 - 19968: jis0208<<14 | 0x5A<<7 | 0x3D, - 34133 - 19968: jis0208<<14 | 0x48<<7 | 0x03, - 34134 - 19968: jis0212<<14 | 0x38<<7 | 0x26, - 34135 - 19968: jis0208<<14 | 0x28<<7 | 0x58, - 34136 - 19968: jis0208<<14 | 0x47<<7 | 0x5C, - 34137 - 19968: jis0208<<14 | 0x5A<<7 | 0x3E, - 34138 - 19968: jis0208<<14 | 0x47<<7 | 0x35, - 34140 - 19968: jis0212<<14 | 0x38<<7 | 0x28, - 34141 - 19968: jis0212<<14 | 0x38<<7 | 0x29, - 34142 - 19968: jis0212<<14 | 0x38<<7 | 0x2A, - 34143 - 19968: jis0212<<14 | 0x38<<7 | 0x2B, - 34144 - 19968: jis0212<<14 | 0x38<<7 | 0x2C, - 34145 - 19968: jis0212<<14 | 0x38<<7 | 0x2D, - 34146 - 19968: jis0212<<14 | 0x38<<7 | 0x2E, - 34147 - 19968: jis0208<<14 | 0x47<<7 | 0x5B, - 34148 - 19968: jis0212<<14 | 0x38<<7 | 0x2F, - 34152 - 19968: jis0208<<14 | 0x2E<<7 | 0x2E, - 34153 - 19968: jis0208<<14 | 0x25<<7 | 0x01, - 34154 - 19968: jis0208<<14 | 0x28<<7 | 0x52, - 34155 - 19968: jis0208<<14 | 0x5A<<7 | 0x3F, - 34157 - 19968: jis0208<<14 | 0x48<<7 | 0x0A, - 34159 - 19968: jis0212<<14 | 0x38<<7 | 0x31, - 34167 - 19968: jis0208<<14 | 0x48<<7 | 0x10, - 34169 - 19968: jis0212<<14 | 0x38<<7 | 0x32, - 34170 - 19968: jis0212<<14 | 0x38<<7 | 0x33, - 34171 - 19968: jis0212<<14 | 0x38<<7 | 0x34, - 34173 - 19968: jis0212<<14 | 0x38<<7 | 0x35, - 34174 - 19968: jis0208<<14 | 0x48<<7 | 0x11, - 34175 - 19968: jis0212<<14 | 0x38<<7 | 0x36, - 34176 - 19968: jis0208<<14 | 0x48<<7 | 0x04, - 34177 - 19968: jis0212<<14 | 0x38<<7 | 0x37, - 34180 - 19968: jis0208<<14 | 0x26<<7 | 0x55, - 34181 - 19968: jis0212<<14 | 0x38<<7 | 0x38, - 34182 - 19968: jis0212<<14 | 0x38<<7 | 0x39, - 34183 - 19968: jis0208<<14 | 0x48<<7 | 0x0E, - 34184 - 19968: jis0208<<14 | 0x48<<7 | 0x06, - 34185 - 19968: jis0212<<14 | 0x38<<7 | 0x3A, - 34186 - 19968: jis0208<<14 | 0x48<<7 | 0x08, - 34187 - 19968: jis0212<<14 | 0x38<<7 | 0x3B, - 34188 - 19968: jis0212<<14 | 0x38<<7 | 0x3C, - 34191 - 19968: jis0212<<14 | 0x38<<7 | 0x3D, - 34192 - 19968: jis0208<<14 | 0x48<<7 | 0x12, - 34193 - 19968: jis0208<<14 | 0x48<<7 | 0x07, - 34195 - 19968: jis0212<<14 | 0x38<<7 | 0x3E, - 34196 - 19968: jis0208<<14 | 0x48<<7 | 0x0B, - 34199 - 19968: jis0208<<14 | 0x10<<7 | 0x51, - 34200 - 19968: jis0212<<14 | 0x38<<7 | 0x3F, - 34201 - 19968: jis0208<<14 | 0x25<<7 | 0x44, - 34203 - 19968: jis0208<<14 | 0x48<<7 | 0x0C, - 34204 - 19968: jis0208<<14 | 0x48<<7 | 0x0F, - 34205 - 19968: jis0212<<14 | 0x38<<7 | 0x40, - 34207 - 19968: jis0212<<14 | 0x38<<7 | 0x41, - 34208 - 19968: jis0212<<14 | 0x38<<7 | 0x42, - 34210 - 19968: jis0212<<14 | 0x38<<7 | 0x43, - 34212 - 19968: jis0208<<14 | 0x48<<7 | 0x05, - 34213 - 19968: jis0212<<14 | 0x38<<7 | 0x44, - 34214 - 19968: jis0208<<14 | 0x20<<7 | 0x05, - 34215 - 19968: jis0212<<14 | 0x38<<7 | 0x45, - 34216 - 19968: jis0208<<14 | 0x48<<7 | 0x09, - 34217 - 19968: jis0208<<14 | 0x1A<<7 | 0x06, - 34218 - 19968: jis0208<<14 | 0x1E<<7 | 0x24, - 34219 - 19968: jis0208<<14 | 0x16<<7 | 0x0F, - 34220 - 19968: jis0208<<14 | 0x2B<<7 | 0x53, - 34221 - 19968: jis0212<<14 | 0x38<<7 | 0x53, - 34222 - 19968: jis0208<<14 | 0x2B<<7 | 0x58, - 34223 - 19968: jis0208<<14 | 0x1C<<7 | 0x51, - 34224 - 19968: jis0208<<14 | 0x5A<<7 | 0x41, - 34228 - 19968: jis0212<<14 | 0x38<<7 | 0x46, - 34230 - 19968: jis0212<<14 | 0x38<<7 | 0x47, - 34231 - 19968: jis0212<<14 | 0x38<<7 | 0x48, - 34232 - 19968: jis0212<<14 | 0x38<<7 | 0x49, - 34233 - 19968: jis0208<<14 | 0x48<<7 | 0x16, - 34234 - 19968: jis0208<<14 | 0x48<<7 | 0x14, - 34236 - 19968: jis0212<<14 | 0x38<<7 | 0x4A, - 34237 - 19968: jis0212<<14 | 0x38<<7 | 0x4B, - 34238 - 19968: jis0212<<14 | 0x38<<7 | 0x4C, - 34239 - 19968: jis0212<<14 | 0x38<<7 | 0x4D, - 34241 - 19968: jis0208<<14 | 0x2E<<7 | 0x2D, - 34242 - 19968: jis0212<<14 | 0x38<<7 | 0x4E, - 34247 - 19968: jis0212<<14 | 0x38<<7 | 0x4F, - 34249 - 19968: jis0208<<14 | 0x48<<7 | 0x13, - 34250 - 19968: jis0212<<14 | 0x38<<7 | 0x50, - 34251 - 19968: jis0212<<14 | 0x38<<7 | 0x51, - 34253 - 19968: jis0208<<14 | 0x2C<<7 | 0x54, - 34254 - 19968: jis0212<<14 | 0x38<<7 | 0x52, - 34255 - 19968: jis0208<<14 | 0x48<<7 | 0x15, - 34256 - 19968: jis0208<<14 | 0x48<<7 | 0x17, - 34261 - 19968: jis0208<<14 | 0x48<<7 | 0x18, - 34264 - 19968: jis0212<<14 | 0x38<<7 | 0x54, - 34266 - 19968: jis0212<<14 | 0x38<<7 | 0x55, - 34268 - 19968: jis0208<<14 | 0x48<<7 | 0x1B, - 34269 - 19968: jis0208<<14 | 0x48<<7 | 0x19, - 34271 - 19968: jis0212<<14 | 0x38<<7 | 0x56, - 34272 - 19968: jis0212<<14 | 0x38<<7 | 0x57, - 34276 - 19968: jis0208<<14 | 0x25<<7 | 0x02, - 34277 - 19968: jis0208<<14 | 0x48<<7 | 0x1A, - 34278 - 19968: jis0212<<14 | 0x38<<7 | 0x58, - 34280 - 19968: jis0212<<14 | 0x38<<7 | 0x59, - 34281 - 19968: jis0208<<14 | 0x27<<7 | 0x2C, - 34282 - 19968: jis0208<<14 | 0x48<<7 | 0x0D, - 34285 - 19968: jis0212<<14 | 0x38<<7 | 0x5A, - 34291 - 19968: jis0212<<14 | 0x38<<7 | 0x5B, - 34294 - 19968: jis0212<<14 | 0x38<<7 | 0x5C, - 34295 - 19968: jis0208<<14 | 0x1C<<7 | 0x52, - 34297 - 19968: jis0208<<14 | 0x48<<7 | 0x1C, - 34298 - 19968: jis0208<<14 | 0x48<<7 | 0x21, - 34299 - 19968: jis0208<<14 | 0x20<<7 | 0x53, - 34300 - 19968: jis0212<<14 | 0x38<<7 | 0x5D, - 34302 - 19968: jis0208<<14 | 0x48<<7 | 0x20, - 34303 - 19968: jis0212<<14 | 0x39<<7 | 0x00, - 34304 - 19968: jis0212<<14 | 0x39<<7 | 0x01, - 34306 - 19968: jis0208<<14 | 0x48<<7 | 0x01, - 34308 - 19968: jis0212<<14 | 0x39<<7 | 0x02, - 34309 - 19968: jis0212<<14 | 0x39<<7 | 0x03, - 34310 - 19968: jis0208<<14 | 0x48<<7 | 0x22, - 34311 - 19968: jis0208<<14 | 0x20<<7 | 0x28, - 34314 - 19968: jis0208<<14 | 0x48<<7 | 0x1D, - 34315 - 19968: jis0208<<14 | 0x48<<7 | 0x1F, - 34317 - 19968: jis0212<<14 | 0x39<<7 | 0x04, - 34318 - 19968: jis0212<<14 | 0x39<<7 | 0x05, - 34320 - 19968: jis0212<<14 | 0x39<<7 | 0x06, - 34321 - 19968: jis0212<<14 | 0x39<<7 | 0x07, - 34322 - 19968: jis0212<<14 | 0x39<<7 | 0x08, - 34323 - 19968: jis0208<<14 | 0x48<<7 | 0x1E, - 34326 - 19968: jis0208<<14 | 0x3C<<7 | 0x10, - 34327 - 19968: jis0208<<14 | 0x3C<<7 | 0x01, - 34328 - 19968: jis0212<<14 | 0x39<<7 | 0x09, - 34329 - 19968: jis0212<<14 | 0x39<<7 | 0x0A, - 34330 - 19968: jis0208<<14 | 0x48<<7 | 0x24, - 34331 - 19968: jis0212<<14 | 0x39<<7 | 0x0B, - 34334 - 19968: jis0212<<14 | 0x39<<7 | 0x0C, - 34337 - 19968: jis0212<<14 | 0x39<<7 | 0x0D, - 34338 - 19968: jis0208<<14 | 0x48<<7 | 0x23, - 34343 - 19968: jis0212<<14 | 0x39<<7 | 0x0E, - 34345 - 19968: jis0212<<14 | 0x39<<7 | 0x0F, - 34349 - 19968: jis0208<<14 | 0x2C<<7 | 0x55, - 34351 - 19968: jis0208<<14 | 0x41<<7 | 0x1B, - 34352 - 19968: jis0208<<14 | 0x48<<7 | 0x25, - 34358 - 19968: jis0212<<14 | 0x39<<7 | 0x10, - 34360 - 19968: jis0212<<14 | 0x39<<7 | 0x11, - 34362 - 19968: jis0212<<14 | 0x39<<7 | 0x12, - 34364 - 19968: jis0212<<14 | 0x39<<7 | 0x13, - 34365 - 19968: jis0212<<14 | 0x39<<7 | 0x14, - 34367 - 19968: jis0208<<14 | 0x48<<7 | 0x26, - 34368 - 19968: jis0212<<14 | 0x39<<7 | 0x15, - 34369 - 19968: jis0212<<14 | 0x17<<7 | 0x45, - 34370 - 19968: jis0212<<14 | 0x39<<7 | 0x16, - 34374 - 19968: jis0212<<14 | 0x39<<7 | 0x17, - 34381 - 19968: jis0208<<14 | 0x48<<7 | 0x27, - 34382 - 19968: jis0208<<14 | 0x17<<7 | 0x36, - 34384 - 19968: jis0208<<14 | 0x14<<7 | 0x33, - 34386 - 19968: jis0212<<14 | 0x39<<7 | 0x18, - 34387 - 19968: jis0212<<14 | 0x39<<7 | 0x19, - 34388 - 19968: jis0208<<14 | 0x48<<7 | 0x29, - 34389 - 19968: jis0208<<14 | 0x30<<7 | 0x3C, - 34390 - 19968: jis0212<<14 | 0x39<<7 | 0x1A, - 34391 - 19968: jis0212<<14 | 0x39<<7 | 0x1B, - 34392 - 19968: jis0212<<14 | 0x39<<7 | 0x1C, - 34393 - 19968: jis0212<<14 | 0x39<<7 | 0x1D, - 34394 - 19968: jis0208<<14 | 0x14<<7 | 0x54, - 34396 - 19968: jis0208<<14 | 0x2D<<7 | 0x19, - 34397 - 19968: jis0212<<14 | 0x39<<7 | 0x1E, - 34398 - 19968: jis0208<<14 | 0x15<<7 | 0x52, - 34399 - 19968: jis0208<<14 | 0x48<<7 | 0x2A, - 34400 - 19968: jis0212<<14 | 0x39<<7 | 0x1F, - 34401 - 19968: jis0212<<14 | 0x39<<7 | 0x20, - 34402 - 19968: jis0212<<14 | 0x39<<7 | 0x21, - 34403 - 19968: jis0212<<14 | 0x39<<7 | 0x22, - 34404 - 19968: jis0212<<14 | 0x39<<7 | 0x23, - 34407 - 19968: jis0208<<14 | 0x48<<7 | 0x2B, - 34409 - 19968: jis0212<<14 | 0x39<<7 | 0x24, - 34411 - 19968: jis0208<<14 | 0x22<<7 | 0x4D, - 34412 - 19968: jis0212<<14 | 0x39<<7 | 0x25, - 34415 - 19968: jis0212<<14 | 0x39<<7 | 0x26, - 34417 - 19968: jis0208<<14 | 0x48<<7 | 0x2C, - 34421 - 19968: jis0212<<14 | 0x39<<7 | 0x27, - 34422 - 19968: jis0212<<14 | 0x39<<7 | 0x28, - 34423 - 19968: jis0212<<14 | 0x39<<7 | 0x29, - 34425 - 19968: jis0208<<14 | 0x25<<7 | 0x59, - 34426 - 19968: jis0212<<14 | 0x39<<7 | 0x2A, - 34427 - 19968: jis0208<<14 | 0x0F<<7 | 0x19, - 34440 - 19968: jis0212<<14 | 0x39<<7 | 0x4C, - 34442 - 19968: jis0208<<14 | 0x11<<7 | 0x42, - 34443 - 19968: jis0208<<14 | 0x48<<7 | 0x31, - 34444 - 19968: jis0208<<14 | 0x48<<7 | 0x32, - 34445 - 19968: jis0212<<14 | 0x39<<7 | 0x2B, - 34449 - 19968: jis0212<<14 | 0x39<<7 | 0x2C, - 34451 - 19968: jis0208<<14 | 0x48<<7 | 0x2D, - 34453 - 19968: jis0208<<14 | 0x1A<<7 | 0x1C, - 34454 - 19968: jis0212<<14 | 0x39<<7 | 0x2D, - 34456 - 19968: jis0212<<14 | 0x39<<7 | 0x2E, - 34458 - 19968: jis0212<<14 | 0x39<<7 | 0x2F, - 34460 - 19968: jis0212<<14 | 0x39<<7 | 0x30, - 34465 - 19968: jis0212<<14 | 0x39<<7 | 0x31, - 34467 - 19968: jis0208<<14 | 0x48<<7 | 0x2E, - 34468 - 19968: jis0208<<14 | 0x26<<7 | 0x21, - 34470 - 19968: jis0212<<14 | 0x39<<7 | 0x32, - 34471 - 19968: jis0212<<14 | 0x39<<7 | 0x33, - 34472 - 19968: jis0212<<14 | 0x39<<7 | 0x34, - 34473 - 19968: jis0208<<14 | 0x48<<7 | 0x2F, - 34474 - 19968: jis0208<<14 | 0x48<<7 | 0x30, - 34475 - 19968: jis0208<<14 | 0x48<<7 | 0x3A, - 34477 - 19968: jis0212<<14 | 0x39<<7 | 0x35, - 34479 - 19968: jis0208<<14 | 0x48<<7 | 0x34, - 34480 - 19968: jis0208<<14 | 0x48<<7 | 0x37, - 34481 - 19968: jis0212<<14 | 0x39<<7 | 0x36, - 34483 - 19968: jis0212<<14 | 0x39<<7 | 0x37, - 34484 - 19968: jis0212<<14 | 0x39<<7 | 0x38, - 34485 - 19968: jis0212<<14 | 0x39<<7 | 0x39, - 34486 - 19968: jis0208<<14 | 0x48<<7 | 0x33, - 34487 - 19968: jis0212<<14 | 0x39<<7 | 0x3A, - 34488 - 19968: jis0212<<14 | 0x39<<7 | 0x3B, - 34489 - 19968: jis0212<<14 | 0x39<<7 | 0x3C, - 34495 - 19968: jis0212<<14 | 0x39<<7 | 0x3D, - 34496 - 19968: jis0212<<14 | 0x39<<7 | 0x3E, - 34497 - 19968: jis0212<<14 | 0x39<<7 | 0x3F, - 34499 - 19968: jis0212<<14 | 0x39<<7 | 0x40, - 34500 - 19968: jis0208<<14 | 0x48<<7 | 0x35, - 34501 - 19968: jis0212<<14 | 0x39<<7 | 0x41, - 34502 - 19968: jis0208<<14 | 0x48<<7 | 0x36, - 34503 - 19968: jis0208<<14 | 0x1B<<7 | 0x37, - 34505 - 19968: jis0208<<14 | 0x48<<7 | 0x38, - 34507 - 19968: jis0208<<14 | 0x22<<7 | 0x20, - 34509 - 19968: jis0208<<14 | 0x16<<7 | 0x35, - 34510 - 19968: jis0208<<14 | 0x12<<7 | 0x21, - 34513 - 19968: jis0212<<14 | 0x39<<7 | 0x42, - 34514 - 19968: jis0212<<14 | 0x39<<7 | 0x43, - 34516 - 19968: jis0208<<14 | 0x48<<7 | 0x3B, - 34517 - 19968: jis0212<<14 | 0x39<<7 | 0x44, - 34519 - 19968: jis0212<<14 | 0x39<<7 | 0x45, - 34521 - 19968: jis0208<<14 | 0x12<<7 | 0x1E, - 34522 - 19968: jis0212<<14 | 0x39<<7 | 0x46, - 34523 - 19968: jis0208<<14 | 0x48<<7 | 0x40, - 34524 - 19968: jis0212<<14 | 0x39<<7 | 0x47, - 34526 - 19968: jis0208<<14 | 0x48<<7 | 0x3C, - 34527 - 19968: jis0208<<14 | 0x48<<7 | 0x3F, - 34528 - 19968: jis0212<<14 | 0x39<<7 | 0x48, - 34531 - 19968: jis0212<<14 | 0x39<<7 | 0x49, - 34532 - 19968: jis0208<<14 | 0x27<<7 | 0x19, - 34533 - 19968: jis0212<<14 | 0x39<<7 | 0x4A, - 34535 - 19968: jis0212<<14 | 0x39<<7 | 0x4B, - 34537 - 19968: jis0208<<14 | 0x48<<7 | 0x3D, - 34540 - 19968: jis0208<<14 | 0x48<<7 | 0x3E, - 34541 - 19968: jis0208<<14 | 0x28<<7 | 0x27, - 34542 - 19968: jis0208<<14 | 0x27<<7 | 0x39, - 34543 - 19968: jis0208<<14 | 0x48<<7 | 0x41, - 34552 - 19968: jis0208<<14 | 0x21<<7 | 0x5C, - 34553 - 19968: jis0208<<14 | 0x48<<7 | 0x4B, - 34554 - 19968: jis0212<<14 | 0x39<<7 | 0x4D, - 34555 - 19968: jis0208<<14 | 0x48<<7 | 0x47, - 34556 - 19968: jis0212<<14 | 0x39<<7 | 0x4E, - 34557 - 19968: jis0212<<14 | 0x39<<7 | 0x4F, - 34558 - 19968: jis0208<<14 | 0x11<<7 | 0x4A, - 34560 - 19968: jis0208<<14 | 0x48<<7 | 0x45, - 34562 - 19968: jis0208<<14 | 0x2A<<7 | 0x09, - 34563 - 19968: jis0208<<14 | 0x48<<7 | 0x46, - 34564 - 19968: jis0212<<14 | 0x39<<7 | 0x50, - 34565 - 19968: jis0212<<14 | 0x39<<7 | 0x51, - 34566 - 19968: jis0208<<14 | 0x48<<7 | 0x43, - 34567 - 19968: jis0212<<14 | 0x39<<7 | 0x52, - 34568 - 19968: jis0208<<14 | 0x48<<7 | 0x44, - 34569 - 19968: jis0208<<14 | 0x48<<7 | 0x49, - 34570 - 19968: jis0208<<14 | 0x48<<7 | 0x4C, - 34571 - 19968: jis0212<<14 | 0x39<<7 | 0x53, - 34573 - 19968: jis0208<<14 | 0x48<<7 | 0x4A, - 34574 - 19968: jis0212<<14 | 0x39<<7 | 0x54, - 34575 - 19968: jis0212<<14 | 0x39<<7 | 0x55, - 34576 - 19968: jis0212<<14 | 0x39<<7 | 0x56, - 34577 - 19968: jis0208<<14 | 0x48<<7 | 0x48, - 34578 - 19968: jis0208<<14 | 0x48<<7 | 0x42, - 34579 - 19968: jis0212<<14 | 0x39<<7 | 0x57, - 34580 - 19968: jis0212<<14 | 0x39<<7 | 0x58, - 34584 - 19968: jis0208<<14 | 0x22<<7 | 0x37, - 34585 - 19968: jis0212<<14 | 0x39<<7 | 0x59, - 34586 - 19968: jis0208<<14 | 0x48<<7 | 0x53, - 34588 - 19968: jis0208<<14 | 0x2B<<7 | 0x09, - 34590 - 19968: jis0212<<14 | 0x39<<7 | 0x5A, - 34591 - 19968: jis0212<<14 | 0x39<<7 | 0x5B, - 34593 - 19968: jis0212<<14 | 0x39<<7 | 0x5C, - 34595 - 19968: jis0212<<14 | 0x39<<7 | 0x5D, - 34597 - 19968: jis0208<<14 | 0x48<<7 | 0x51, - 34600 - 19968: jis0212<<14 | 0x3A<<7 | 0x00, - 34601 - 19968: jis0208<<14 | 0x48<<7 | 0x52, - 34606 - 19968: jis0212<<14 | 0x3A<<7 | 0x01, - 34607 - 19968: jis0212<<14 | 0x3A<<7 | 0x02, - 34609 - 19968: jis0212<<14 | 0x3A<<7 | 0x03, - 34610 - 19968: jis0212<<14 | 0x3A<<7 | 0x04, - 34612 - 19968: jis0208<<14 | 0x48<<7 | 0x4D, - 34615 - 19968: jis0208<<14 | 0x48<<7 | 0x4F, - 34617 - 19968: jis0212<<14 | 0x3A<<7 | 0x05, - 34618 - 19968: jis0212<<14 | 0x3A<<7 | 0x06, - 34619 - 19968: jis0208<<14 | 0x48<<7 | 0x50, - 34620 - 19968: jis0212<<14 | 0x3A<<7 | 0x07, - 34621 - 19968: jis0212<<14 | 0x3A<<7 | 0x08, - 34622 - 19968: jis0212<<14 | 0x3A<<7 | 0x09, - 34623 - 19968: jis0208<<14 | 0x48<<7 | 0x4E, - 34624 - 19968: jis0212<<14 | 0x3A<<7 | 0x0A, - 34627 - 19968: jis0212<<14 | 0x3A<<7 | 0x0B, - 34629 - 19968: jis0212<<14 | 0x3A<<7 | 0x0C, - 34633 - 19968: jis0208<<14 | 0x1F<<7 | 0x45, - 34635 - 19968: jis0208<<14 | 0x2E<<7 | 0x18, - 34636 - 19968: jis0208<<14 | 0x48<<7 | 0x57, - 34637 - 19968: jis0212<<14 | 0x3A<<7 | 0x0D, - 34638 - 19968: jis0208<<14 | 0x48<<7 | 0x58, - 34643 - 19968: jis0208<<14 | 0x49<<7 | 0x00, - 34645 - 19968: jis0208<<14 | 0x1E<<7 | 0x09, - 34647 - 19968: jis0208<<14 | 0x48<<7 | 0x5A, - 34648 - 19968: jis0212<<14 | 0x3A<<7 | 0x0E, - 34649 - 19968: jis0208<<14 | 0x48<<7 | 0x5D, - 34653 - 19968: jis0212<<14 | 0x3A<<7 | 0x0F, - 34655 - 19968: jis0208<<14 | 0x48<<7 | 0x55, - 34656 - 19968: jis0208<<14 | 0x48<<7 | 0x54, - 34657 - 19968: jis0212<<14 | 0x3A<<7 | 0x10, - 34659 - 19968: jis0208<<14 | 0x49<<7 | 0x01, - 34660 - 19968: jis0212<<14 | 0x3A<<7 | 0x11, - 34661 - 19968: jis0212<<14 | 0x3A<<7 | 0x12, - 34662 - 19968: jis0208<<14 | 0x11<<7 | 0x3B, - 34664 - 19968: jis0208<<14 | 0x48<<7 | 0x5B, - 34666 - 19968: jis0208<<14 | 0x49<<7 | 0x02, - 34670 - 19968: jis0208<<14 | 0x48<<7 | 0x5C, - 34671 - 19968: jis0212<<14 | 0x3A<<7 | 0x13, - 34673 - 19968: jis0212<<14 | 0x3A<<7 | 0x14, - 34674 - 19968: jis0212<<14 | 0x3A<<7 | 0x15, - 34676 - 19968: jis0208<<14 | 0x48<<7 | 0x59, - 34678 - 19968: jis0208<<14 | 0x23<<7 | 0x12, - 34680 - 19968: jis0208<<14 | 0x48<<7 | 0x56, - 34683 - 19968: jis0212<<14 | 0x3A<<7 | 0x16, - 34687 - 19968: jis0208<<14 | 0x26<<7 | 0x47, - 34690 - 19968: jis0208<<14 | 0x49<<7 | 0x06, - 34691 - 19968: jis0212<<14 | 0x3A<<7 | 0x17, - 34692 - 19968: jis0212<<14 | 0x3A<<7 | 0x18, - 34693 - 19968: jis0212<<14 | 0x3A<<7 | 0x19, - 34694 - 19968: jis0212<<14 | 0x3A<<7 | 0x1A, - 34695 - 19968: jis0212<<14 | 0x3A<<7 | 0x1B, - 34696 - 19968: jis0212<<14 | 0x3A<<7 | 0x1C, - 34697 - 19968: jis0212<<14 | 0x3A<<7 | 0x1D, - 34699 - 19968: jis0212<<14 | 0x3A<<7 | 0x1E, - 34700 - 19968: jis0212<<14 | 0x3A<<7 | 0x1F, - 34701 - 19968: jis0208<<14 | 0x2C<<7 | 0x1A, - 34704 - 19968: jis0212<<14 | 0x3A<<7 | 0x20, - 34707 - 19968: jis0212<<14 | 0x3A<<7 | 0x21, - 34709 - 19968: jis0212<<14 | 0x3A<<7 | 0x22, - 34711 - 19968: jis0212<<14 | 0x3A<<7 | 0x23, - 34712 - 19968: jis0212<<14 | 0x3A<<7 | 0x24, - 34713 - 19968: jis0212<<14 | 0x3A<<7 | 0x25, - 34718 - 19968: jis0212<<14 | 0x3A<<7 | 0x26, - 34719 - 19968: jis0208<<14 | 0x49<<7 | 0x05, - 34720 - 19968: jis0212<<14 | 0x3A<<7 | 0x27, - 34722 - 19968: jis0208<<14 | 0x49<<7 | 0x04, - 34723 - 19968: jis0212<<14 | 0x3A<<7 | 0x28, - 34727 - 19968: jis0212<<14 | 0x3A<<7 | 0x29, - 34731 - 19968: jis0208<<14 | 0x49<<7 | 0x0D, - 34732 - 19968: jis0212<<14 | 0x3A<<7 | 0x2A, - 34733 - 19968: jis0212<<14 | 0x3A<<7 | 0x2B, - 34734 - 19968: jis0212<<14 | 0x3A<<7 | 0x2C, - 34735 - 19968: jis0208<<14 | 0x49<<7 | 0x07, - 34737 - 19968: jis0212<<14 | 0x3A<<7 | 0x2D, - 34739 - 19968: jis0208<<14 | 0x49<<7 | 0x0F, - 34741 - 19968: jis0212<<14 | 0x3A<<7 | 0x2E, - 34746 - 19968: jis0208<<14 | 0x2C<<7 | 0x45, - 34747 - 19968: jis0208<<14 | 0x49<<7 | 0x12, - 34749 - 19968: jis0208<<14 | 0x49<<7 | 0x09, - 34750 - 19968: jis0212<<14 | 0x3A<<7 | 0x2F, - 34751 - 19968: jis0212<<14 | 0x3A<<7 | 0x30, - 34752 - 19968: jis0208<<14 | 0x49<<7 | 0x0A, - 34753 - 19968: jis0212<<14 | 0x3A<<7 | 0x31, - 34756 - 19968: jis0208<<14 | 0x49<<7 | 0x0E, - 34758 - 19968: jis0208<<14 | 0x49<<7 | 0x11, - 34759 - 19968: jis0208<<14 | 0x49<<7 | 0x10, - 34760 - 19968: jis0212<<14 | 0x3A<<7 | 0x32, - 34761 - 19968: jis0212<<14 | 0x3A<<7 | 0x33, - 34762 - 19968: jis0212<<14 | 0x3A<<7 | 0x34, - 34763 - 19968: jis0208<<14 | 0x49<<7 | 0x08, - 34766 - 19968: jis0212<<14 | 0x3A<<7 | 0x35, - 34768 - 19968: jis0208<<14 | 0x49<<7 | 0x0B, - 34770 - 19968: jis0208<<14 | 0x49<<7 | 0x1C, - 34773 - 19968: jis0212<<14 | 0x3A<<7 | 0x36, - 34774 - 19968: jis0212<<14 | 0x3A<<7 | 0x37, - 34777 - 19968: jis0212<<14 | 0x3A<<7 | 0x38, - 34778 - 19968: jis0212<<14 | 0x3A<<7 | 0x39, - 34780 - 19968: jis0212<<14 | 0x3A<<7 | 0x3A, - 34783 - 19968: jis0212<<14 | 0x3A<<7 | 0x3B, - 34784 - 19968: jis0208<<14 | 0x49<<7 | 0x15, - 34786 - 19968: jis0212<<14 | 0x3A<<7 | 0x3C, - 34787 - 19968: jis0212<<14 | 0x3A<<7 | 0x3D, - 34788 - 19968: jis0212<<14 | 0x3A<<7 | 0x3E, - 34794 - 19968: jis0212<<14 | 0x3A<<7 | 0x3F, - 34795 - 19968: jis0212<<14 | 0x3A<<7 | 0x40, - 34797 - 19968: jis0212<<14 | 0x3A<<7 | 0x41, - 34799 - 19968: jis0208<<14 | 0x49<<7 | 0x13, - 34801 - 19968: jis0212<<14 | 0x3A<<7 | 0x42, - 34802 - 19968: jis0208<<14 | 0x49<<7 | 0x14, - 34803 - 19968: jis0212<<14 | 0x3A<<7 | 0x43, - 34806 - 19968: jis0208<<14 | 0x49<<7 | 0x19, - 34807 - 19968: jis0208<<14 | 0x49<<7 | 0x1A, - 34808 - 19968: jis0212<<14 | 0x3A<<7 | 0x44, - 34809 - 19968: jis0208<<14 | 0x12<<7 | 0x09, - 34810 - 19968: jis0212<<14 | 0x3A<<7 | 0x45, - 34811 - 19968: jis0208<<14 | 0x14<<7 | 0x21, - 34814 - 19968: jis0208<<14 | 0x49<<7 | 0x18, - 34815 - 19968: jis0212<<14 | 0x3A<<7 | 0x46, - 34817 - 19968: jis0212<<14 | 0x3A<<7 | 0x47, - 34819 - 19968: jis0212<<14 | 0x3A<<7 | 0x48, - 34821 - 19968: jis0208<<14 | 0x49<<7 | 0x03, - 34822 - 19968: jis0212<<14 | 0x3A<<7 | 0x49, - 34823 - 19968: jis0208<<14 | 0x5A<<7 | 0x44, - 34825 - 19968: jis0212<<14 | 0x3A<<7 | 0x4A, - 34826 - 19968: jis0212<<14 | 0x3A<<7 | 0x4B, - 34827 - 19968: jis0212<<14 | 0x3A<<7 | 0x4C, - 34829 - 19968: jis0208<<14 | 0x49<<7 | 0x17, - 34830 - 19968: jis0208<<14 | 0x49<<7 | 0x1B, - 34831 - 19968: jis0208<<14 | 0x49<<7 | 0x16, - 34832 - 19968: jis0212<<14 | 0x3A<<7 | 0x4D, - 34833 - 19968: jis0208<<14 | 0x49<<7 | 0x1D, - 34834 - 19968: jis0212<<14 | 0x3A<<7 | 0x4F, - 34835 - 19968: jis0212<<14 | 0x3A<<7 | 0x50, - 34836 - 19968: jis0212<<14 | 0x3A<<7 | 0x51, - 34837 - 19968: jis0208<<14 | 0x49<<7 | 0x1F, - 34838 - 19968: jis0208<<14 | 0x49<<7 | 0x1E, - 34840 - 19968: jis0212<<14 | 0x3A<<7 | 0x52, - 34841 - 19968: jis0212<<14 | 0x3A<<7 | 0x4E, - 34842 - 19968: jis0212<<14 | 0x3A<<7 | 0x53, - 34843 - 19968: jis0212<<14 | 0x3A<<7 | 0x54, - 34844 - 19968: jis0212<<14 | 0x3A<<7 | 0x55, - 34846 - 19968: jis0212<<14 | 0x3A<<7 | 0x56, - 34847 - 19968: jis0212<<14 | 0x3A<<7 | 0x57, - 34849 - 19968: jis0208<<14 | 0x49<<7 | 0x21, - 34850 - 19968: jis0208<<14 | 0x49<<7 | 0x20, - 34851 - 19968: jis0208<<14 | 0x48<<7 | 0x39, - 34855 - 19968: jis0208<<14 | 0x49<<7 | 0x25, - 34856 - 19968: jis0212<<14 | 0x3A<<7 | 0x58, - 34861 - 19968: jis0212<<14 | 0x3A<<7 | 0x59, - 34862 - 19968: jis0212<<14 | 0x3A<<7 | 0x5A, - 34864 - 19968: jis0212<<14 | 0x3A<<7 | 0x5B, - 34865 - 19968: jis0208<<14 | 0x49<<7 | 0x22, - 34866 - 19968: jis0212<<14 | 0x3A<<7 | 0x5C, - 34869 - 19968: jis0212<<14 | 0x3A<<7 | 0x5D, - 34870 - 19968: jis0208<<14 | 0x49<<7 | 0x23, - 34873 - 19968: jis0208<<14 | 0x49<<7 | 0x24, - 34874 - 19968: jis0212<<14 | 0x3B<<7 | 0x00, - 34875 - 19968: jis0208<<14 | 0x49<<7 | 0x26, - 34876 - 19968: jis0212<<14 | 0x3B<<7 | 0x01, - 34880 - 19968: jis0208<<14 | 0x16<<7 | 0x4B, - 34881 - 19968: jis0212<<14 | 0x3B<<7 | 0x02, - 34882 - 19968: jis0208<<14 | 0x49<<7 | 0x28, - 34883 - 19968: jis0212<<14 | 0x3B<<7 | 0x03, - 34884 - 19968: jis0208<<14 | 0x49<<7 | 0x27, - 34885 - 19968: jis0212<<14 | 0x3B<<7 | 0x04, - 34886 - 19968: jis0208<<14 | 0x1C<<7 | 0x0F, - 34888 - 19968: jis0212<<14 | 0x3B<<7 | 0x05, - 34889 - 19968: jis0212<<14 | 0x3B<<7 | 0x06, - 34890 - 19968: jis0212<<14 | 0x3B<<7 | 0x07, - 34891 - 19968: jis0212<<14 | 0x3B<<7 | 0x08, - 34892 - 19968: jis0208<<14 | 0x18<<7 | 0x33, - 34893 - 19968: jis0208<<14 | 0x3D<<7 | 0x06, - 34894 - 19968: jis0212<<14 | 0x3B<<7 | 0x09, - 34897 - 19968: jis0212<<14 | 0x3B<<7 | 0x0A, - 34898 - 19968: jis0208<<14 | 0x49<<7 | 0x29, - 34899 - 19968: jis0208<<14 | 0x1C<<7 | 0x30, - 34901 - 19968: jis0212<<14 | 0x3B<<7 | 0x0B, - 34902 - 19968: jis0212<<14 | 0x3B<<7 | 0x0C, - 34903 - 19968: jis0208<<14 | 0x12<<7 | 0x18, - 34904 - 19968: jis0212<<14 | 0x3B<<7 | 0x0D, - 34905 - 19968: jis0208<<14 | 0x49<<7 | 0x2A, - 34906 - 19968: jis0212<<14 | 0x3B<<7 | 0x0E, - 34907 - 19968: jis0208<<14 | 0x10<<7 | 0x31, - 34908 - 19968: jis0212<<14 | 0x3B<<7 | 0x0F, - 34909 - 19968: jis0208<<14 | 0x1D<<7 | 0x36, - 34910 - 19968: jis0208<<14 | 0x49<<7 | 0x2B, - 34911 - 19968: jis0212<<14 | 0x3B<<7 | 0x10, - 34912 - 19968: jis0212<<14 | 0x3B<<7 | 0x11, - 34913 - 19968: jis0208<<14 | 0x18<<7 | 0x34, - 34914 - 19968: jis0208<<14 | 0x49<<7 | 0x2C, - 34915 - 19968: jis0208<<14 | 0x0F<<7 | 0x40, - 34916 - 19968: jis0212<<14 | 0x3B<<7 | 0x12, - 34920 - 19968: jis0208<<14 | 0x28<<7 | 0x1C, - 34921 - 19968: jis0212<<14 | 0x3B<<7 | 0x13, - 34923 - 19968: jis0208<<14 | 0x49<<7 | 0x2D, - 34928 - 19968: jis0208<<14 | 0x1E<<7 | 0x49, - 34929 - 19968: jis0212<<14 | 0x3B<<7 | 0x14, - 34930 - 19968: jis0208<<14 | 0x49<<7 | 0x34, - 34933 - 19968: jis0208<<14 | 0x49<<7 | 0x31, - 34935 - 19968: jis0208<<14 | 0x22<<7 | 0x4E, - 34937 - 19968: jis0212<<14 | 0x3B<<7 | 0x15, - 34939 - 19968: jis0212<<14 | 0x3B<<7 | 0x16, - 34941 - 19968: jis0208<<14 | 0x49<<7 | 0x32, - 34942 - 19968: jis0208<<14 | 0x49<<7 | 0x2F, - 34943 - 19968: jis0208<<14 | 0x15<<7 | 0x3D, - 34944 - 19968: jis0212<<14 | 0x3B<<7 | 0x17, - 34945 - 19968: jis0208<<14 | 0x49<<7 | 0x2E, - 34946 - 19968: jis0208<<14 | 0x49<<7 | 0x35, - 34952 - 19968: jis0208<<14 | 0x16<<7 | 0x15, - 34955 - 19968: jis0208<<14 | 0x21<<7 | 0x3D, - 34957 - 19968: jis0208<<14 | 0x49<<7 | 0x3B, - 34962 - 19968: jis0208<<14 | 0x49<<7 | 0x37, - 34966 - 19968: jis0208<<14 | 0x21<<7 | 0x14, - 34967 - 19968: jis0208<<14 | 0x49<<7 | 0x36, - 34968 - 19968: jis0212<<14 | 0x3B<<7 | 0x18, - 34969 - 19968: jis0208<<14 | 0x49<<7 | 0x39, - 34970 - 19968: jis0212<<14 | 0x3B<<7 | 0x19, - 34971 - 19968: jis0212<<14 | 0x3B<<7 | 0x1A, - 34972 - 19968: jis0212<<14 | 0x3B<<7 | 0x1B, - 34974 - 19968: jis0208<<14 | 0x49<<7 | 0x30, - 34975 - 19968: jis0212<<14 | 0x3B<<7 | 0x1C, - 34976 - 19968: jis0212<<14 | 0x3B<<7 | 0x1D, - 34978 - 19968: jis0208<<14 | 0x49<<7 | 0x3A, - 34980 - 19968: jis0208<<14 | 0x49<<7 | 0x3C, - 34984 - 19968: jis0212<<14 | 0x3B<<7 | 0x1E, - 34986 - 19968: jis0212<<14 | 0x3B<<7 | 0x1F, - 34987 - 19968: jis0208<<14 | 0x27<<7 | 0x4E, - 34990 - 19968: jis0208<<14 | 0x49<<7 | 0x38, - 34992 - 19968: jis0208<<14 | 0x49<<7 | 0x3D, - 34993 - 19968: jis0208<<14 | 0x49<<7 | 0x3F, - 34996 - 19968: jis0208<<14 | 0x17<<7 | 0x32, - 34997 - 19968: jis0208<<14 | 0x49<<7 | 0x33, - 34999 - 19968: jis0208<<14 | 0x0F<<7 | 0x20, - 35002 - 19968: jis0212<<14 | 0x3B<<7 | 0x20, - 35005 - 19968: jis0212<<14 | 0x3B<<7 | 0x21, - 35006 - 19968: jis0212<<14 | 0x3B<<7 | 0x22, - 35007 - 19968: jis0208<<14 | 0x49<<7 | 0x3E, - 35008 - 19968: jis0212<<14 | 0x3B<<7 | 0x23, - 35009 - 19968: jis0208<<14 | 0x19<<7 | 0x3A, - 35010 - 19968: jis0208<<14 | 0x2D<<7 | 0x55, - 35011 - 19968: jis0208<<14 | 0x49<<7 | 0x40, - 35012 - 19968: jis0208<<14 | 0x49<<7 | 0x41, - 35013 - 19968: jis0208<<14 | 0x20<<7 | 0x54, - 35018 - 19968: jis0212<<14 | 0x3B<<7 | 0x24, - 35019 - 19968: jis0212<<14 | 0x3B<<7 | 0x25, - 35020 - 19968: jis0212<<14 | 0x3B<<7 | 0x26, - 35021 - 19968: jis0212<<14 | 0x3B<<7 | 0x27, - 35022 - 19968: jis0212<<14 | 0x3B<<7 | 0x28, - 35023 - 19968: jis0208<<14 | 0x2D<<7 | 0x01, - 35025 - 19968: jis0212<<14 | 0x3B<<7 | 0x29, - 35026 - 19968: jis0212<<14 | 0x3B<<7 | 0x2A, - 35027 - 19968: jis0212<<14 | 0x3B<<7 | 0x2B, - 35028 - 19968: jis0208<<14 | 0x49<<7 | 0x42, - 35029 - 19968: jis0208<<14 | 0x2C<<7 | 0x14, - 35032 - 19968: jis0208<<14 | 0x49<<7 | 0x43, - 35033 - 19968: jis0208<<14 | 0x49<<7 | 0x44, - 35035 - 19968: jis0212<<14 | 0x3B<<7 | 0x2C, - 35036 - 19968: jis0208<<14 | 0x29<<7 | 0x43, - 35037 - 19968: jis0208<<14 | 0x49<<7 | 0x45, - 35038 - 19968: jis0212<<14 | 0x3B<<7 | 0x2D, - 35039 - 19968: jis0208<<14 | 0x19<<7 | 0x1F, - 35041 - 19968: jis0208<<14 | 0x2D<<7 | 0x02, - 35047 - 19968: jis0212<<14 | 0x3B<<7 | 0x2E, - 35048 - 19968: jis0208<<14 | 0x49<<7 | 0x4A, - 35055 - 19968: jis0212<<14 | 0x3B<<7 | 0x2F, - 35056 - 19968: jis0212<<14 | 0x3B<<7 | 0x30, - 35057 - 19968: jis0212<<14 | 0x3B<<7 | 0x31, - 35058 - 19968: jis0208<<14 | 0x49<<7 | 0x4B, - 35059 - 19968: jis0208<<14 | 0x1D<<7 | 0x37, - 35060 - 19968: jis0208<<14 | 0x49<<7 | 0x49, - 35061 - 19968: jis0208<<14 | 0x5A<<7 | 0x45, - 35063 - 19968: jis0212<<14 | 0x3B<<7 | 0x33, - 35064 - 19968: jis0208<<14 | 0x2C<<7 | 0x46, - 35065 - 19968: jis0208<<14 | 0x49<<7 | 0x46, - 35068 - 19968: jis0208<<14 | 0x49<<7 | 0x48, - 35069 - 19968: jis0208<<14 | 0x1F<<7 | 0x1C, - 35070 - 19968: jis0208<<14 | 0x1E<<7 | 0x5D, - 35073 - 19968: jis0212<<14 | 0x3B<<7 | 0x34, - 35074 - 19968: jis0208<<14 | 0x49<<7 | 0x47, - 35076 - 19968: jis0208<<14 | 0x49<<7 | 0x4C, - 35078 - 19968: jis0212<<14 | 0x3B<<7 | 0x35, - 35079 - 19968: jis0208<<14 | 0x29<<7 | 0x02, - 35082 - 19968: jis0208<<14 | 0x49<<7 | 0x4E, - 35084 - 19968: jis0208<<14 | 0x49<<7 | 0x4D, - 35085 - 19968: jis0212<<14 | 0x3B<<7 | 0x36, - 35086 - 19968: jis0212<<14 | 0x3B<<7 | 0x37, - 35087 - 19968: jis0212<<14 | 0x3B<<7 | 0x38, - 35088 - 19968: jis0208<<14 | 0x12<<7 | 0x4B, - 35090 - 19968: jis0208<<14 | 0x2A<<7 | 0x0A, - 35091 - 19968: jis0208<<14 | 0x49<<7 | 0x4F, - 35093 - 19968: jis0212<<14 | 0x3B<<7 | 0x39, - 35094 - 19968: jis0212<<14 | 0x3B<<7 | 0x3A, - 35096 - 19968: jis0212<<14 | 0x3B<<7 | 0x3B, - 35097 - 19968: jis0212<<14 | 0x3B<<7 | 0x3C, - 35098 - 19968: jis0212<<14 | 0x3B<<7 | 0x3D, - 35100 - 19968: jis0208<<14 | 0x58<<7 | 0x01, - 35101 - 19968: jis0208<<14 | 0x49<<7 | 0x5B, - 35102 - 19968: jis0208<<14 | 0x49<<7 | 0x51, - 35104 - 19968: jis0212<<14 | 0x3B<<7 | 0x3F, - 35109 - 19968: jis0208<<14 | 0x49<<7 | 0x52, - 35110 - 19968: jis0212<<14 | 0x3B<<7 | 0x40, - 35111 - 19968: jis0212<<14 | 0x3B<<7 | 0x41, - 35112 - 19968: jis0212<<14 | 0x3B<<7 | 0x42, - 35114 - 19968: jis0208<<14 | 0x49<<7 | 0x53, - 35115 - 19968: jis0208<<14 | 0x49<<7 | 0x54, - 35120 - 19968: jis0212<<14 | 0x3B<<7 | 0x43, - 35121 - 19968: jis0212<<14 | 0x3B<<7 | 0x44, - 35122 - 19968: jis0212<<14 | 0x3B<<7 | 0x45, - 35125 - 19968: jis0212<<14 | 0x3B<<7 | 0x46, - 35126 - 19968: jis0208<<14 | 0x49<<7 | 0x58, - 35128 - 19968: jis0208<<14 | 0x49<<7 | 0x59, - 35129 - 19968: jis0212<<14 | 0x3B<<7 | 0x47, - 35130 - 19968: jis0212<<14 | 0x3B<<7 | 0x48, - 35131 - 19968: jis0208<<14 | 0x49<<7 | 0x57, - 35134 - 19968: jis0212<<14 | 0x3B<<7 | 0x49, - 35136 - 19968: jis0212<<14 | 0x3B<<7 | 0x4A, - 35137 - 19968: jis0208<<14 | 0x49<<7 | 0x55, - 35138 - 19968: jis0212<<14 | 0x3B<<7 | 0x4B, - 35139 - 19968: jis0208<<14 | 0x49<<7 | 0x50, - 35140 - 19968: jis0208<<14 | 0x49<<7 | 0x56, - 35141 - 19968: jis0212<<14 | 0x3B<<7 | 0x4C, - 35142 - 19968: jis0212<<14 | 0x3B<<7 | 0x4D, - 35145 - 19968: jis0212<<14 | 0x3B<<7 | 0x4E, - 35148 - 19968: jis0208<<14 | 0x49<<7 | 0x5A, - 35149 - 19968: jis0208<<14 | 0x4F<<7 | 0x16, - 35151 - 19968: jis0212<<14 | 0x3B<<7 | 0x4F, - 35154 - 19968: jis0212<<14 | 0x3B<<7 | 0x50, - 35158 - 19968: jis0208<<14 | 0x11<<7 | 0x07, - 35159 - 19968: jis0212<<14 | 0x3B<<7 | 0x51, - 35162 - 19968: jis0212<<14 | 0x3B<<7 | 0x52, - 35163 - 19968: jis0212<<14 | 0x3B<<7 | 0x53, - 35164 - 19968: jis0212<<14 | 0x3B<<7 | 0x54, - 35166 - 19968: jis0208<<14 | 0x49<<7 | 0x5D, - 35167 - 19968: jis0208<<14 | 0x15<<7 | 0x3E, - 35168 - 19968: jis0208<<14 | 0x49<<7 | 0x5C, - 35169 - 19968: jis0212<<14 | 0x3B<<7 | 0x55, - 35170 - 19968: jis0212<<14 | 0x3B<<7 | 0x56, - 35171 - 19968: jis0212<<14 | 0x3B<<7 | 0x57, - 35172 - 19968: jis0208<<14 | 0x4A<<7 | 0x01, - 35174 - 19968: jis0208<<14 | 0x4A<<7 | 0x00, - 35178 - 19968: jis0208<<14 | 0x4A<<7 | 0x03, - 35179 - 19968: jis0212<<14 | 0x3B<<7 | 0x58, - 35181 - 19968: jis0208<<14 | 0x4A<<7 | 0x02, - 35182 - 19968: jis0212<<14 | 0x3B<<7 | 0x59, - 35183 - 19968: jis0208<<14 | 0x4A<<7 | 0x04, - 35184 - 19968: jis0212<<14 | 0x3B<<7 | 0x5A, - 35186 - 19968: jis0208<<14 | 0x1C<<7 | 0x10, - 35187 - 19968: jis0212<<14 | 0x3B<<7 | 0x5B, - 35188 - 19968: jis0208<<14 | 0x4A<<7 | 0x05, - 35189 - 19968: jis0212<<14 | 0x3B<<7 | 0x5C, - 35191 - 19968: jis0208<<14 | 0x4A<<7 | 0x06, - 35194 - 19968: jis0212<<14 | 0x3B<<7 | 0x5D, - 35195 - 19968: jis0212<<14 | 0x3C<<7 | 0x00, - 35196 - 19968: jis0212<<14 | 0x3C<<7 | 0x01, - 35197 - 19968: jis0212<<14 | 0x3C<<7 | 0x02, - 35198 - 19968: jis0208<<14 | 0x4A<<7 | 0x07, - 35199 - 19968: jis0208<<14 | 0x1F<<7 | 0x1D, - 35201 - 19968: jis0208<<14 | 0x2C<<7 | 0x36, - 35203 - 19968: jis0208<<14 | 0x4A<<7 | 0x08, - 35206 - 19968: jis0208<<14 | 0x29<<7 | 0x03, - 35207 - 19968: jis0208<<14 | 0x26<<7 | 0x25, - 35208 - 19968: jis0208<<14 | 0x4A<<7 | 0x09, - 35209 - 19968: jis0212<<14 | 0x3C<<7 | 0x03, - 35210 - 19968: jis0208<<14 | 0x4A<<7 | 0x0A, - 35211 - 19968: jis0208<<14 | 0x17<<7 | 0x0A, - 35213 - 19968: jis0212<<14 | 0x3C<<7 | 0x04, - 35215 - 19968: jis0208<<14 | 0x14<<7 | 0x0B, - 35216 - 19968: jis0212<<14 | 0x3C<<7 | 0x05, - 35219 - 19968: jis0208<<14 | 0x4A<<7 | 0x0B, - 35220 - 19968: jis0212<<14 | 0x3C<<7 | 0x06, - 35221 - 19968: jis0212<<14 | 0x3C<<7 | 0x07, - 35222 - 19968: jis0208<<14 | 0x1A<<7 | 0x4A, - 35223 - 19968: jis0208<<14 | 0x26<<7 | 0x20, - 35224 - 19968: jis0208<<14 | 0x4A<<7 | 0x0C, - 35226 - 19968: jis0208<<14 | 0x12<<7 | 0x2F, - 35227 - 19968: jis0212<<14 | 0x3C<<7 | 0x08, - 35228 - 19968: jis0212<<14 | 0x3C<<7 | 0x09, - 35231 - 19968: jis0212<<14 | 0x3C<<7 | 0x0A, - 35232 - 19968: jis0212<<14 | 0x3C<<7 | 0x0B, - 35233 - 19968: jis0208<<14 | 0x4A<<7 | 0x0D, - 35237 - 19968: jis0212<<14 | 0x3C<<7 | 0x0C, - 35238 - 19968: jis0208<<14 | 0x4A<<7 | 0x0F, - 35239 - 19968: jis0208<<14 | 0x2C<<7 | 0x56, - 35241 - 19968: jis0208<<14 | 0x4A<<7 | 0x0E, - 35242 - 19968: jis0208<<14 | 0x1E<<7 | 0x25, - 35244 - 19968: jis0208<<14 | 0x4A<<7 | 0x10, - 35247 - 19968: jis0208<<14 | 0x4A<<7 | 0x11, - 35248 - 19968: jis0212<<14 | 0x3C<<7 | 0x0D, - 35250 - 19968: jis0208<<14 | 0x4A<<7 | 0x12, - 35251 - 19968: jis0208<<14 | 0x13<<7 | 0x30, - 35252 - 19968: jis0212<<14 | 0x3C<<7 | 0x0E, - 35253 - 19968: jis0212<<14 | 0x3C<<7 | 0x0F, - 35254 - 19968: jis0212<<14 | 0x3C<<7 | 0x10, - 35255 - 19968: jis0212<<14 | 0x3C<<7 | 0x11, - 35258 - 19968: jis0208<<14 | 0x4A<<7 | 0x13, - 35260 - 19968: jis0212<<14 | 0x3C<<7 | 0x12, - 35261 - 19968: jis0208<<14 | 0x4A<<7 | 0x14, - 35263 - 19968: jis0208<<14 | 0x4A<<7 | 0x15, - 35264 - 19968: jis0208<<14 | 0x4A<<7 | 0x16, - 35282 - 19968: jis0208<<14 | 0x12<<7 | 0x30, - 35284 - 19968: jis0212<<14 | 0x3C<<7 | 0x13, - 35285 - 19968: jis0212<<14 | 0x3C<<7 | 0x14, - 35286 - 19968: jis0212<<14 | 0x3C<<7 | 0x15, - 35287 - 19968: jis0212<<14 | 0x3C<<7 | 0x16, - 35288 - 19968: jis0212<<14 | 0x3C<<7 | 0x17, - 35290 - 19968: jis0208<<14 | 0x4A<<7 | 0x17, - 35292 - 19968: jis0208<<14 | 0x4A<<7 | 0x18, - 35293 - 19968: jis0208<<14 | 0x4A<<7 | 0x19, - 35299 - 19968: jis0208<<14 | 0x11<<7 | 0x51, - 35301 - 19968: jis0212<<14 | 0x3C<<7 | 0x18, - 35302 - 19968: jis0208<<14 | 0x1E<<7 | 0x07, - 35303 - 19968: jis0208<<14 | 0x4A<<7 | 0x1A, - 35305 - 19968: jis0212<<14 | 0x3C<<7 | 0x19, - 35307 - 19968: jis0212<<14 | 0x3C<<7 | 0x1A, - 35309 - 19968: jis0212<<14 | 0x3C<<7 | 0x1B, - 35313 - 19968: jis0212<<14 | 0x3C<<7 | 0x1C, - 35315 - 19968: jis0212<<14 | 0x3C<<7 | 0x1D, - 35316 - 19968: jis0208<<14 | 0x4A<<7 | 0x1B, - 35318 - 19968: jis0212<<14 | 0x3C<<7 | 0x1E, - 35320 - 19968: jis0208<<14 | 0x4A<<7 | 0x1C, - 35321 - 19968: jis0212<<14 | 0x3C<<7 | 0x1F, - 35325 - 19968: jis0212<<14 | 0x3C<<7 | 0x20, - 35327 - 19968: jis0212<<14 | 0x3C<<7 | 0x21, - 35328 - 19968: jis0208<<14 | 0x17<<7 | 0x1F, - 35330 - 19968: jis0208<<14 | 0x23<<7 | 0x5A, - 35331 - 19968: jis0208<<14 | 0x4A<<7 | 0x1D, - 35332 - 19968: jis0212<<14 | 0x3C<<7 | 0x22, - 35333 - 19968: jis0212<<14 | 0x3C<<7 | 0x23, - 35335 - 19968: jis0212<<14 | 0x3C<<7 | 0x24, - 35336 - 19968: jis0208<<14 | 0x16<<7 | 0x36, - 35338 - 19968: jis0208<<14 | 0x1E<<7 | 0x35, - 35340 - 19968: jis0208<<14 | 0x4A<<7 | 0x20, - 35342 - 19968: jis0208<<14 | 0x25<<7 | 0x03, - 35343 - 19968: jis0212<<14 | 0x3C<<7 | 0x25, - 35344 - 19968: jis0208<<14 | 0x4A<<7 | 0x1F, - 35345 - 19968: jis0212<<14 | 0x3C<<7 | 0x26, - 35346 - 19968: jis0208<<14 | 0x5A<<7 | 0x46, - 35347 - 19968: jis0208<<14 | 0x16<<7 | 0x10, - 35348 - 19968: jis0212<<14 | 0x3C<<7 | 0x28, - 35349 - 19968: jis0212<<14 | 0x3C<<7 | 0x29, - 35350 - 19968: jis0208<<14 | 0x4A<<7 | 0x1E, - 35351 - 19968: jis0208<<14 | 0x21<<7 | 0x56, - 35352 - 19968: jis0208<<14 | 0x14<<7 | 0x0C, - 35355 - 19968: jis0208<<14 | 0x4A<<7 | 0x21, - 35357 - 19968: jis0208<<14 | 0x4A<<7 | 0x22, - 35358 - 19968: jis0212<<14 | 0x3C<<7 | 0x2A, - 35359 - 19968: jis0208<<14 | 0x1D<<7 | 0x38, - 35360 - 19968: jis0212<<14 | 0x3C<<7 | 0x2B, - 35362 - 19968: jis0212<<14 | 0x3C<<7 | 0x2C, - 35363 - 19968: jis0208<<14 | 0x16<<7 | 0x4C, - 35364 - 19968: jis0212<<14 | 0x3C<<7 | 0x2D, - 35365 - 19968: jis0208<<14 | 0x4A<<7 | 0x23, - 35366 - 19968: jis0212<<14 | 0x3C<<7 | 0x2E, - 35370 - 19968: jis0208<<14 | 0x2A<<7 | 0x0B, - 35371 - 19968: jis0212<<14 | 0x3C<<7 | 0x2F, - 35372 - 19968: jis0212<<14 | 0x3C<<7 | 0x30, - 35373 - 19968: jis0208<<14 | 0x1F<<7 | 0x3E, - 35375 - 19968: jis0212<<14 | 0x3C<<7 | 0x31, - 35377 - 19968: jis0208<<14 | 0x14<<7 | 0x55, - 35379 - 19968: jis0208<<14 | 0x2B<<7 | 0x54, - 35380 - 19968: jis0208<<14 | 0x20<<7 | 0x29, - 35381 - 19968: jis0212<<14 | 0x3C<<7 | 0x32, - 35382 - 19968: jis0208<<14 | 0x4A<<7 | 0x24, - 35383 - 19968: jis0208<<14 | 0x5A<<7 | 0x47, - 35386 - 19968: jis0208<<14 | 0x1E<<7 | 0x26, - 35387 - 19968: jis0208<<14 | 0x22<<7 | 0x4F, - 35388 - 19968: jis0208<<14 | 0x1D<<7 | 0x39, - 35389 - 19968: jis0212<<14 | 0x3C<<7 | 0x34, - 35390 - 19968: jis0212<<14 | 0x3C<<7 | 0x35, - 35392 - 19968: jis0212<<14 | 0x3C<<7 | 0x36, - 35393 - 19968: jis0208<<14 | 0x4A<<7 | 0x25, - 35395 - 19968: jis0212<<14 | 0x3C<<7 | 0x37, - 35397 - 19968: jis0212<<14 | 0x3C<<7 | 0x38, - 35398 - 19968: jis0208<<14 | 0x4A<<7 | 0x28, - 35399 - 19968: jis0212<<14 | 0x3C<<7 | 0x39, - 35400 - 19968: jis0208<<14 | 0x4A<<7 | 0x29, - 35401 - 19968: jis0212<<14 | 0x3C<<7 | 0x3A, - 35405 - 19968: jis0212<<14 | 0x3C<<7 | 0x3B, - 35406 - 19968: jis0212<<14 | 0x3C<<7 | 0x3C, - 35408 - 19968: jis0208<<14 | 0x19<<7 | 0x1D, - 35409 - 19968: jis0208<<14 | 0x21<<7 | 0x21, - 35410 - 19968: jis0208<<14 | 0x4A<<7 | 0x27, - 35411 - 19968: jis0212<<14 | 0x3C<<7 | 0x3D, - 35412 - 19968: jis0208<<14 | 0x1D<<7 | 0x3A, - 35413 - 19968: jis0208<<14 | 0x28<<7 | 0x1D, - 35414 - 19968: jis0212<<14 | 0x3C<<7 | 0x3E, - 35415 - 19968: jis0212<<14 | 0x3C<<7 | 0x3F, - 35416 - 19968: jis0212<<14 | 0x3C<<7 | 0x40, - 35419 - 19968: jis0208<<14 | 0x4A<<7 | 0x26, - 35420 - 19968: jis0212<<14 | 0x3C<<7 | 0x41, - 35421 - 19968: jis0212<<14 | 0x3C<<7 | 0x42, - 35422 - 19968: jis0208<<14 | 0x1A<<7 | 0x4B, - 35424 - 19968: jis0208<<14 | 0x10<<7 | 0x32, - 35425 - 19968: jis0212<<14 | 0x3C<<7 | 0x43, - 35426 - 19968: jis0208<<14 | 0x4A<<7 | 0x2D, - 35427 - 19968: jis0208<<14 | 0x16<<7 | 0x37, - 35429 - 19968: jis0212<<14 | 0x3C<<7 | 0x44, - 35430 - 19968: jis0208<<14 | 0x1A<<7 | 0x4D, - 35431 - 19968: jis0212<<14 | 0x3C<<7 | 0x45, - 35433 - 19968: jis0208<<14 | 0x1A<<7 | 0x4C, - 35435 - 19968: jis0208<<14 | 0x2E<<7 | 0x2C, - 35436 - 19968: jis0208<<14 | 0x4A<<7 | 0x2C, - 35437 - 19968: jis0208<<14 | 0x4A<<7 | 0x2B, - 35438 - 19968: jis0208<<14 | 0x20<<7 | 0x06, - 35440 - 19968: jis0208<<14 | 0x14<<7 | 0x2C, - 35441 - 19968: jis0208<<14 | 0x2E<<7 | 0x22, - 35442 - 19968: jis0208<<14 | 0x12<<7 | 0x19, - 35443 - 19968: jis0208<<14 | 0x1D<<7 | 0x3B, - 35445 - 19968: jis0212<<14 | 0x3C<<7 | 0x46, - 35446 - 19968: jis0212<<14 | 0x3C<<7 | 0x47, - 35447 - 19968: jis0212<<14 | 0x3C<<7 | 0x48, - 35449 - 19968: jis0208<<14 | 0x5A<<7 | 0x48, - 35450 - 19968: jis0212<<14 | 0x3C<<7 | 0x4A, - 35451 - 19968: jis0212<<14 | 0x3C<<7 | 0x4B, - 35452 - 19968: jis0208<<14 | 0x4A<<7 | 0x2A, - 35454 - 19968: jis0212<<14 | 0x3C<<7 | 0x4C, - 35455 - 19968: jis0212<<14 | 0x3C<<7 | 0x4D, - 35456 - 19968: jis0212<<14 | 0x3C<<7 | 0x4E, - 35458 - 19968: jis0208<<14 | 0x4A<<7 | 0x2F, - 35459 - 19968: jis0212<<14 | 0x3C<<7 | 0x4F, - 35460 - 19968: jis0208<<14 | 0x4A<<7 | 0x30, - 35461 - 19968: jis0208<<14 | 0x4A<<7 | 0x2E, - 35462 - 19968: jis0212<<14 | 0x3C<<7 | 0x50, - 35463 - 19968: jis0208<<14 | 0x17<<7 | 0x37, - 35465 - 19968: jis0208<<14 | 0x2C<<7 | 0x1F, - 35467 - 19968: jis0212<<14 | 0x3C<<7 | 0x51, - 35468 - 19968: jis0208<<14 | 0x1A<<7 | 0x4E, - 35469 - 19968: jis0208<<14 | 0x26<<7 | 0x06, - 35471 - 19968: jis0212<<14 | 0x3C<<7 | 0x52, - 35472 - 19968: jis0212<<14 | 0x3C<<7 | 0x53, - 35473 - 19968: jis0208<<14 | 0x4A<<7 | 0x33, - 35474 - 19968: jis0212<<14 | 0x3C<<7 | 0x54, - 35475 - 19968: jis0208<<14 | 0x1F<<7 | 0x1F, - 35477 - 19968: jis0208<<14 | 0x22<<7 | 0x21, - 35478 - 19968: jis0212<<14 | 0x3C<<7 | 0x55, - 35479 - 19968: jis0212<<14 | 0x3C<<7 | 0x56, - 35480 - 19968: jis0208<<14 | 0x2C<<7 | 0x15, - 35481 - 19968: jis0212<<14 | 0x3C<<7 | 0x57, - 35482 - 19968: jis0208<<14 | 0x4A<<7 | 0x36, - 35486 - 19968: jis0208<<14 | 0x17<<7 | 0x4B, - 35487 - 19968: jis0212<<14 | 0x3C<<7 | 0x58, - 35488 - 19968: jis0208<<14 | 0x1F<<7 | 0x1E, - 35489 - 19968: jis0208<<14 | 0x4A<<7 | 0x32, - 35491 - 19968: jis0208<<14 | 0x4A<<7 | 0x37, - 35492 - 19968: jis0208<<14 | 0x17<<7 | 0x4C, - 35493 - 19968: jis0208<<14 | 0x4A<<7 | 0x34, - 35494 - 19968: jis0208<<14 | 0x4A<<7 | 0x35, - 35495 - 19968: jis0208<<14 | 0x5A<<7 | 0x49, - 35496 - 19968: jis0208<<14 | 0x4A<<7 | 0x31, - 35497 - 19968: jis0212<<14 | 0x3C<<7 | 0x5A, - 35500 - 19968: jis0208<<14 | 0x1F<<7 | 0x41, - 35501 - 19968: jis0208<<14 | 0x25<<7 | 0x28, - 35502 - 19968: jis0212<<14 | 0x3C<<7 | 0x5B, - 35503 - 19968: jis0212<<14 | 0x3C<<7 | 0x5C, - 35504 - 19968: jis0208<<14 | 0x22<<7 | 0x0E, - 35506 - 19968: jis0208<<14 | 0x11<<7 | 0x3C, - 35507 - 19968: jis0212<<14 | 0x3C<<7 | 0x5D, - 35510 - 19968: jis0212<<14 | 0x3D<<7 | 0x00, - 35511 - 19968: jis0212<<14 | 0x3D<<7 | 0x01, - 35513 - 19968: jis0208<<14 | 0x27<<7 | 0x4F, - 35515 - 19968: jis0212<<14 | 0x3D<<7 | 0x02, - 35516 - 19968: jis0208<<14 | 0x14<<7 | 0x22, - 35518 - 19968: jis0208<<14 | 0x5A<<7 | 0x4A, - 35519 - 19968: jis0208<<14 | 0x23<<7 | 0x13, - 35522 - 19968: jis0208<<14 | 0x4A<<7 | 0x3A, - 35523 - 19968: jis0212<<14 | 0x3D<<7 | 0x04, - 35524 - 19968: jis0208<<14 | 0x4A<<7 | 0x38, - 35526 - 19968: jis0212<<14 | 0x3D<<7 | 0x05, - 35527 - 19968: jis0208<<14 | 0x22<<7 | 0x2B, - 35528 - 19968: jis0212<<14 | 0x3D<<7 | 0x06, - 35529 - 19968: jis0212<<14 | 0x3D<<7 | 0x07, - 35530 - 19968: jis0212<<14 | 0x3D<<7 | 0x08, - 35531 - 19968: jis0208<<14 | 0x1F<<7 | 0x20, - 35532 - 19968: jis0208<<14 | 0x13<<7 | 0x31, - 35533 - 19968: jis0208<<14 | 0x4A<<7 | 0x39, - 35535 - 19968: jis0208<<14 | 0x1E<<7 | 0x3A, - 35537 - 19968: jis0212<<14 | 0x3D<<7 | 0x09, - 35538 - 19968: jis0208<<14 | 0x2D<<7 | 0x29, - 35539 - 19968: jis0212<<14 | 0x3D<<7 | 0x0A, - 35540 - 19968: jis0212<<14 | 0x3D<<7 | 0x0B, - 35541 - 19968: jis0212<<14 | 0x3D<<7 | 0x0C, - 35542 - 19968: jis0208<<14 | 0x2E<<7 | 0x1F, - 35543 - 19968: jis0212<<14 | 0x3D<<7 | 0x0D, - 35546 - 19968: jis0208<<14 | 0x4A<<7 | 0x3B, - 35547 - 19968: jis0208<<14 | 0x4A<<7 | 0x46, - 35548 - 19968: jis0208<<14 | 0x23<<7 | 0x14, - 35549 - 19968: jis0212<<14 | 0x3D<<7 | 0x0E, - 35550 - 19968: jis0208<<14 | 0x4A<<7 | 0x45, - 35551 - 19968: jis0208<<14 | 0x5A<<7 | 0x4B, - 35552 - 19968: jis0208<<14 | 0x4A<<7 | 0x42, - 35553 - 19968: jis0208<<14 | 0x4A<<7 | 0x4A, - 35554 - 19968: jis0208<<14 | 0x4A<<7 | 0x43, - 35556 - 19968: jis0208<<14 | 0x4A<<7 | 0x3F, - 35558 - 19968: jis0208<<14 | 0x23<<7 | 0x5B, - 35559 - 19968: jis0208<<14 | 0x4A<<7 | 0x3E, - 35563 - 19968: jis0208<<14 | 0x4A<<7 | 0x3C, - 35564 - 19968: jis0212<<14 | 0x3D<<7 | 0x10, - 35565 - 19968: jis0208<<14 | 0x2C<<7 | 0x00, - 35566 - 19968: jis0208<<14 | 0x1A<<7 | 0x4F, - 35568 - 19968: jis0212<<14 | 0x3D<<7 | 0x11, - 35569 - 19968: jis0208<<14 | 0x4A<<7 | 0x40, - 35571 - 19968: jis0208<<14 | 0x4A<<7 | 0x3D, - 35572 - 19968: jis0212<<14 | 0x3D<<7 | 0x12, - 35573 - 19968: jis0212<<14 | 0x3D<<7 | 0x13, - 35574 - 19968: jis0208<<14 | 0x5A<<7 | 0x4D, - 35575 - 19968: jis0208<<14 | 0x4A<<7 | 0x44, - 35576 - 19968: jis0208<<14 | 0x1C<<7 | 0x53, - 35578 - 19968: jis0208<<14 | 0x17<<7 | 0x20, - 35580 - 19968: jis0212<<14 | 0x3D<<7 | 0x15, - 35582 - 19968: jis0208<<14 | 0x21<<7 | 0x59, - 35583 - 19968: jis0212<<14 | 0x3D<<7 | 0x16, - 35584 - 19968: jis0208<<14 | 0x2A<<7 | 0x24, - 35585 - 19968: jis0208<<14 | 0x10<<7 | 0x39, - 35586 - 19968: jis0208<<14 | 0x0F<<7 | 0x41, - 35588 - 19968: jis0208<<14 | 0x25<<7 | 0x04, - 35589 - 19968: jis0212<<14 | 0x3D<<7 | 0x17, - 35590 - 19968: jis0212<<14 | 0x3D<<7 | 0x18, - 35591 - 19968: jis0208<<14 | 0x4A<<7 | 0x48, - 35594 - 19968: jis0212<<14 | 0x3D<<7 | 0x1E, - 35595 - 19968: jis0212<<14 | 0x3D<<7 | 0x19, - 35596 - 19968: jis0208<<14 | 0x4A<<7 | 0x47, - 35598 - 19968: jis0208<<14 | 0x25<<7 | 0x45, - 35600 - 19968: jis0208<<14 | 0x4A<<7 | 0x4C, - 35601 - 19968: jis0212<<14 | 0x3D<<7 | 0x1A, - 35604 - 19968: jis0208<<14 | 0x4A<<7 | 0x41, - 35606 - 19968: jis0208<<14 | 0x4A<<7 | 0x4B, - 35607 - 19968: jis0208<<14 | 0x4A<<7 | 0x4D, - 35609 - 19968: jis0208<<14 | 0x17<<7 | 0x0B, - 35610 - 19968: jis0208<<14 | 0x4A<<7 | 0x49, - 35611 - 19968: jis0208<<14 | 0x18<<7 | 0x35, - 35612 - 19968: jis0212<<14 | 0x3D<<7 | 0x1B, - 35613 - 19968: jis0208<<14 | 0x1B<<7 | 0x34, - 35614 - 19968: jis0212<<14 | 0x3D<<7 | 0x1C, - 35615 - 19968: jis0212<<14 | 0x3D<<7 | 0x1D, - 35616 - 19968: jis0208<<14 | 0x4A<<7 | 0x4E, - 35617 - 19968: jis0208<<14 | 0x2C<<7 | 0x37, - 35622 - 19968: jis0208<<14 | 0x4A<<7 | 0x51, - 35624 - 19968: jis0208<<14 | 0x4A<<7 | 0x54, - 35627 - 19968: jis0208<<14 | 0x4A<<7 | 0x52, - 35628 - 19968: jis0208<<14 | 0x28<<7 | 0x14, - 35629 - 19968: jis0212<<14 | 0x3D<<7 | 0x1F, - 35632 - 19968: jis0212<<14 | 0x3D<<7 | 0x20, - 35635 - 19968: jis0208<<14 | 0x4A<<7 | 0x4F, - 35639 - 19968: jis0212<<14 | 0x3D<<7 | 0x21, - 35641 - 19968: jis0208<<14 | 0x15<<7 | 0x3F, - 35644 - 19968: jis0212<<14 | 0x3D<<7 | 0x22, - 35646 - 19968: jis0208<<14 | 0x4A<<7 | 0x53, - 35649 - 19968: jis0208<<14 | 0x4A<<7 | 0x55, - 35650 - 19968: jis0212<<14 | 0x3D<<7 | 0x23, - 35651 - 19968: jis0212<<14 | 0x3D<<7 | 0x24, - 35652 - 19968: jis0212<<14 | 0x3D<<7 | 0x25, - 35653 - 19968: jis0212<<14 | 0x3D<<7 | 0x26, - 35654 - 19968: jis0212<<14 | 0x3D<<7 | 0x27, - 35656 - 19968: jis0212<<14 | 0x3D<<7 | 0x28, - 35657 - 19968: jis0208<<14 | 0x4A<<7 | 0x59, - 35660 - 19968: jis0208<<14 | 0x4A<<7 | 0x56, - 35661 - 19968: jis0212<<14 | 0x3D<<7 | 0x2D, - 35662 - 19968: jis0208<<14 | 0x4A<<7 | 0x58, - 35663 - 19968: jis0208<<14 | 0x4A<<7 | 0x57, - 35666 - 19968: jis0212<<14 | 0x3D<<7 | 0x29, - 35667 - 19968: jis0208<<14 | 0x5A<<7 | 0x4E, - 35668 - 19968: jis0212<<14 | 0x3D<<7 | 0x2B, - 35670 - 19968: jis0208<<14 | 0x4A<<7 | 0x5A, - 35672 - 19968: jis0208<<14 | 0x1B<<7 | 0x10, - 35673 - 19968: jis0212<<14 | 0x3D<<7 | 0x2C, - 35674 - 19968: jis0208<<14 | 0x4A<<7 | 0x5C, - 35675 - 19968: jis0208<<14 | 0x4A<<7 | 0x5B, - 35676 - 19968: jis0208<<14 | 0x28<<7 | 0x47, - 35678 - 19968: jis0212<<14 | 0x3D<<7 | 0x2E, - 35679 - 19968: jis0208<<14 | 0x4B<<7 | 0x00, - 35683 - 19968: jis0212<<14 | 0x3D<<7 | 0x2F, - 35686 - 19968: jis0208<<14 | 0x16<<7 | 0x38, - 35691 - 19968: jis0208<<14 | 0x4A<<7 | 0x5D, - 35692 - 19968: jis0208<<14 | 0x4B<<7 | 0x01, - 35693 - 19968: jis0212<<14 | 0x3D<<7 | 0x30, - 35695 - 19968: jis0208<<14 | 0x4B<<7 | 0x02, - 35696 - 19968: jis0208<<14 | 0x14<<7 | 0x23, - 35697 - 19968: jis0208<<14 | 0x45<<7 | 0x20, - 35698 - 19968: jis0208<<14 | 0x1D<<7 | 0x58, - 35700 - 19968: jis0208<<14 | 0x4B<<7 | 0x03, - 35702 - 19968: jis0212<<14 | 0x3D<<7 | 0x31, - 35703 - 19968: jis0208<<14 | 0x17<<7 | 0x4D, - 35704 - 19968: jis0212<<14 | 0x3D<<7 | 0x32, - 35705 - 19968: jis0212<<14 | 0x3D<<7 | 0x33, - 35708 - 19968: jis0212<<14 | 0x3D<<7 | 0x34, - 35709 - 19968: jis0208<<14 | 0x4B<<7 | 0x04, - 35710 - 19968: jis0212<<14 | 0x3D<<7 | 0x35, - 35711 - 19968: jis0208<<14 | 0x5A<<7 | 0x4F, - 35712 - 19968: jis0208<<14 | 0x4B<<7 | 0x05, - 35713 - 19968: jis0212<<14 | 0x3D<<7 | 0x36, - 35715 - 19968: jis0208<<14 | 0x1A<<7 | 0x1D, - 35716 - 19968: jis0212<<14 | 0x3D<<7 | 0x37, - 35717 - 19968: jis0212<<14 | 0x3D<<7 | 0x38, - 35722 - 19968: jis0208<<14 | 0x39<<7 | 0x2D, - 35723 - 19968: jis0212<<14 | 0x3D<<7 | 0x39, - 35724 - 19968: jis0208<<14 | 0x4B<<7 | 0x06, - 35725 - 19968: jis0212<<14 | 0x3D<<7 | 0x3A, - 35726 - 19968: jis0208<<14 | 0x4B<<7 | 0x07, - 35727 - 19968: jis0212<<14 | 0x3D<<7 | 0x3B, - 35728 - 19968: jis0208<<14 | 0x1C<<7 | 0x11, - 35730 - 19968: jis0208<<14 | 0x4B<<7 | 0x08, - 35731 - 19968: jis0208<<14 | 0x4B<<7 | 0x09, - 35732 - 19968: jis0212<<14 | 0x3D<<7 | 0x3C, - 35733 - 19968: jis0212<<14 | 0x3D<<7 | 0x3D, - 35734 - 19968: jis0208<<14 | 0x4B<<7 | 0x0A, - 35737 - 19968: jis0208<<14 | 0x4B<<7 | 0x0B, - 35738 - 19968: jis0208<<14 | 0x4B<<7 | 0x0C, - 35740 - 19968: jis0212<<14 | 0x3D<<7 | 0x3E, - 35742 - 19968: jis0212<<14 | 0x3D<<7 | 0x3F, - 35743 - 19968: jis0212<<14 | 0x3D<<7 | 0x40, - 35895 - 19968: jis0208<<14 | 0x22<<7 | 0x0A, - 35896 - 19968: jis0212<<14 | 0x3D<<7 | 0x41, - 35897 - 19968: jis0212<<14 | 0x3D<<7 | 0x42, - 35898 - 19968: jis0208<<14 | 0x4B<<7 | 0x0D, - 35901 - 19968: jis0212<<14 | 0x3D<<7 | 0x43, - 35902 - 19968: jis0212<<14 | 0x3D<<7 | 0x44, - 35903 - 19968: jis0208<<14 | 0x4B<<7 | 0x0F, - 35905 - 19968: jis0208<<14 | 0x4B<<7 | 0x0E, - 35909 - 19968: jis0212<<14 | 0x3D<<7 | 0x45, - 35910 - 19968: jis0208<<14 | 0x25<<7 | 0x05, - 35911 - 19968: jis0212<<14 | 0x3D<<7 | 0x46, - 35912 - 19968: jis0208<<14 | 0x4B<<7 | 0x10, - 35913 - 19968: jis0212<<14 | 0x3D<<7 | 0x47, - 35914 - 19968: jis0208<<14 | 0x2A<<7 | 0x0C, - 35915 - 19968: jis0212<<14 | 0x3D<<7 | 0x48, - 35916 - 19968: jis0208<<14 | 0x4B<<7 | 0x11, - 35918 - 19968: jis0208<<14 | 0x4B<<7 | 0x12, - 35919 - 19968: jis0212<<14 | 0x3D<<7 | 0x49, - 35920 - 19968: jis0208<<14 | 0x4B<<7 | 0x13, - 35921 - 19968: jis0212<<14 | 0x3D<<7 | 0x4A, - 35923 - 19968: jis0212<<14 | 0x3D<<7 | 0x4B, - 35924 - 19968: jis0212<<14 | 0x3D<<7 | 0x4C, - 35925 - 19968: jis0208<<14 | 0x4B<<7 | 0x14, - 35927 - 19968: jis0212<<14 | 0x3D<<7 | 0x4D, - 35928 - 19968: jis0212<<14 | 0x3D<<7 | 0x4E, - 35929 - 19968: jis0212<<14 | 0x3D<<7 | 0x51, - 35930 - 19968: jis0208<<14 | 0x25<<7 | 0x39, - 35931 - 19968: jis0212<<14 | 0x3D<<7 | 0x4F, - 35933 - 19968: jis0212<<14 | 0x3D<<7 | 0x50, - 35937 - 19968: jis0208<<14 | 0x1D<<7 | 0x3C, - 35938 - 19968: jis0208<<14 | 0x4B<<7 | 0x15, - 35939 - 19968: jis0212<<14 | 0x3D<<7 | 0x52, - 35940 - 19968: jis0212<<14 | 0x3D<<7 | 0x53, - 35942 - 19968: jis0212<<14 | 0x3D<<7 | 0x54, - 35944 - 19968: jis0212<<14 | 0x3D<<7 | 0x55, - 35945 - 19968: jis0212<<14 | 0x3D<<7 | 0x56, - 35946 - 19968: jis0208<<14 | 0x18<<7 | 0x4A, - 35947 - 19968: jis0208<<14 | 0x2F<<7 | 0x0D, - 35948 - 19968: jis0208<<14 | 0x4B<<7 | 0x16, - 35949 - 19968: jis0212<<14 | 0x3D<<7 | 0x57, - 35955 - 19968: jis0212<<14 | 0x3D<<7 | 0x58, - 35957 - 19968: jis0212<<14 | 0x3D<<7 | 0x59, - 35958 - 19968: jis0212<<14 | 0x3D<<7 | 0x5A, - 35960 - 19968: jis0208<<14 | 0x4B<<7 | 0x17, - 35961 - 19968: jis0208<<14 | 0x28<<7 | 0x1E, - 35962 - 19968: jis0208<<14 | 0x4B<<7 | 0x18, - 35963 - 19968: jis0212<<14 | 0x3D<<7 | 0x5B, - 35964 - 19968: jis0208<<14 | 0x4B<<7 | 0x20, - 35966 - 19968: jis0212<<14 | 0x3D<<7 | 0x5C, - 35970 - 19968: jis0208<<14 | 0x4B<<7 | 0x19, - 35973 - 19968: jis0208<<14 | 0x4B<<7 | 0x1B, - 35974 - 19968: jis0212<<14 | 0x3D<<7 | 0x5D, - 35975 - 19968: jis0212<<14 | 0x3E<<7 | 0x00, - 35977 - 19968: jis0208<<14 | 0x4B<<7 | 0x1A, - 35978 - 19968: jis0208<<14 | 0x4B<<7 | 0x1C, - 35979 - 19968: jis0212<<14 | 0x3E<<7 | 0x01, - 35980 - 19968: jis0208<<14 | 0x2A<<7 | 0x25, - 35981 - 19968: jis0208<<14 | 0x4B<<7 | 0x1D, - 35982 - 19968: jis0208<<14 | 0x4B<<7 | 0x1E, - 35984 - 19968: jis0212<<14 | 0x3E<<7 | 0x02, - 35986 - 19968: jis0212<<14 | 0x3E<<7 | 0x03, - 35987 - 19968: jis0212<<14 | 0x3E<<7 | 0x04, - 35988 - 19968: jis0208<<14 | 0x4B<<7 | 0x1F, - 35992 - 19968: jis0208<<14 | 0x4B<<7 | 0x21, - 35993 - 19968: jis0212<<14 | 0x3E<<7 | 0x05, - 35995 - 19968: jis0212<<14 | 0x3E<<7 | 0x06, - 35996 - 19968: jis0212<<14 | 0x3E<<7 | 0x07, - 35997 - 19968: jis0208<<14 | 0x12<<7 | 0x0C, - 35998 - 19968: jis0208<<14 | 0x23<<7 | 0x46, - 36000 - 19968: jis0208<<14 | 0x28<<7 | 0x48, - 36001 - 19968: jis0208<<14 | 0x19<<7 | 0x41, - 36002 - 19968: jis0208<<14 | 0x18<<7 | 0x36, - 36004 - 19968: jis0212<<14 | 0x3E<<7 | 0x08, - 36007 - 19968: jis0208<<14 | 0x28<<7 | 0x2E, - 36008 - 19968: jis0208<<14 | 0x11<<7 | 0x3E, - 36009 - 19968: jis0208<<14 | 0x27<<7 | 0x2D, - 36010 - 19968: jis0208<<14 | 0x4B<<7 | 0x24, - 36011 - 19968: jis0208<<14 | 0x13<<7 | 0x32, - 36012 - 19968: jis0208<<14 | 0x1F<<7 | 0x34, - 36013 - 19968: jis0208<<14 | 0x4B<<7 | 0x23, - 36014 - 19968: jis0208<<14 | 0x4B<<7 | 0x28, - 36015 - 19968: jis0208<<14 | 0x22<<7 | 0x58, - 36016 - 19968: jis0208<<14 | 0x2B<<7 | 0x42, - 36018 - 19968: jis0208<<14 | 0x4B<<7 | 0x26, - 36019 - 19968: jis0208<<14 | 0x4B<<7 | 0x27, - 36020 - 19968: jis0208<<14 | 0x14<<7 | 0x0D, - 36022 - 19968: jis0208<<14 | 0x4B<<7 | 0x29, - 36023 - 19968: jis0208<<14 | 0x26<<7 | 0x42, - 36024 - 19968: jis0208<<14 | 0x21<<7 | 0x3E, - 36025 - 19968: jis0212<<14 | 0x3E<<7 | 0x09, - 36026 - 19968: jis0212<<14 | 0x3E<<7 | 0x0A, - 36027 - 19968: jis0208<<14 | 0x27<<7 | 0x50, - 36028 - 19968: jis0208<<14 | 0x24<<7 | 0x1C, - 36029 - 19968: jis0208<<14 | 0x4B<<7 | 0x25, - 36031 - 19968: jis0208<<14 | 0x2A<<7 | 0x26, - 36032 - 19968: jis0208<<14 | 0x11<<7 | 0x4B, - 36033 - 19968: jis0208<<14 | 0x4B<<7 | 0x2B, - 36034 - 19968: jis0208<<14 | 0x2E<<7 | 0x07, - 36035 - 19968: jis0208<<14 | 0x23<<7 | 0x21, - 36036 - 19968: jis0208<<14 | 0x2E<<7 | 0x24, - 36037 - 19968: jis0212<<14 | 0x3E<<7 | 0x0B, - 36038 - 19968: jis0212<<14 | 0x3E<<7 | 0x0C, - 36039 - 19968: jis0208<<14 | 0x1A<<7 | 0x50, - 36040 - 19968: jis0208<<14 | 0x4B<<7 | 0x2A, - 36041 - 19968: jis0212<<14 | 0x3E<<7 | 0x0D, - 36042 - 19968: jis0208<<14 | 0x21<<7 | 0x10, - 36043 - 19968: jis0212<<14 | 0x3E<<7 | 0x0E, - 36045 - 19968: jis0208<<14 | 0x4B<<7 | 0x3B, - 36046 - 19968: jis0208<<14 | 0x20<<7 | 0x07, - 36047 - 19968: jis0212<<14 | 0x3E<<7 | 0x0F, - 36049 - 19968: jis0208<<14 | 0x25<<7 | 0x57, - 36051 - 19968: jis0208<<14 | 0x28<<7 | 0x2F, - 36053 - 19968: jis0212<<14 | 0x3E<<7 | 0x11, - 36054 - 19968: jis0212<<14 | 0x3E<<7 | 0x10, - 36057 - 19968: jis0212<<14 | 0x3E<<7 | 0x12, - 36058 - 19968: jis0208<<14 | 0x4B<<7 | 0x2E, - 36059 - 19968: jis0208<<14 | 0x1A<<7 | 0x1E, - 36060 - 19968: jis0208<<14 | 0x1A<<7 | 0x51, - 36061 - 19968: jis0212<<14 | 0x3E<<7 | 0x13, - 36062 - 19968: jis0208<<14 | 0x1D<<7 | 0x3D, - 36064 - 19968: jis0208<<14 | 0x26<<7 | 0x44, - 36065 - 19968: jis0212<<14 | 0x3E<<7 | 0x14, - 36066 - 19968: jis0208<<14 | 0x17<<7 | 0x0C, - 36067 - 19968: jis0208<<14 | 0x4B<<7 | 0x2D, - 36068 - 19968: jis0208<<14 | 0x4B<<7 | 0x2C, - 36070 - 19968: jis0208<<14 | 0x28<<7 | 0x49, - 36072 - 19968: jis0212<<14 | 0x3E<<7 | 0x15, - 36074 - 19968: jis0208<<14 | 0x1B<<7 | 0x20, - 36076 - 19968: jis0212<<14 | 0x3E<<7 | 0x16, - 36077 - 19968: jis0208<<14 | 0x24<<7 | 0x31, - 36079 - 19968: jis0212<<14 | 0x3E<<7 | 0x17, - 36080 - 19968: jis0208<<14 | 0x5A<<7 | 0x50, - 36082 - 19968: jis0212<<14 | 0x3E<<7 | 0x19, - 36084 - 19968: jis0208<<14 | 0x5A<<7 | 0x51, - 36085 - 19968: jis0212<<14 | 0x3E<<7 | 0x1A, - 36087 - 19968: jis0212<<14 | 0x3E<<7 | 0x1B, - 36088 - 19968: jis0212<<14 | 0x3E<<7 | 0x1C, - 36090 - 19968: jis0208<<14 | 0x4B<<7 | 0x30, - 36091 - 19968: jis0208<<14 | 0x4B<<7 | 0x31, - 36092 - 19968: jis0208<<14 | 0x18<<7 | 0x37, - 36093 - 19968: jis0208<<14 | 0x4B<<7 | 0x2F, - 36094 - 19968: jis0212<<14 | 0x3E<<7 | 0x1D, - 36095 - 19968: jis0212<<14 | 0x3E<<7 | 0x1E, - 36097 - 19968: jis0212<<14 | 0x3E<<7 | 0x1F, - 36099 - 19968: jis0212<<14 | 0x3E<<7 | 0x20, - 36100 - 19968: jis0208<<14 | 0x4B<<7 | 0x32, - 36101 - 19968: jis0208<<14 | 0x4B<<7 | 0x33, - 36103 - 19968: jis0208<<14 | 0x4B<<7 | 0x35, - 36104 - 19968: jis0208<<14 | 0x21<<7 | 0x02, - 36105 - 19968: jis0212<<14 | 0x3E<<7 | 0x21, - 36106 - 19968: jis0208<<14 | 0x4B<<7 | 0x34, - 36107 - 19968: jis0208<<14 | 0x13<<7 | 0x45, - 36109 - 19968: jis0208<<14 | 0x4B<<7 | 0x37, - 36111 - 19968: jis0208<<14 | 0x4B<<7 | 0x36, - 36112 - 19968: jis0208<<14 | 0x4B<<7 | 0x38, - 36114 - 19968: jis0208<<14 | 0x5A<<7 | 0x52, - 36115 - 19968: jis0208<<14 | 0x4B<<7 | 0x3A, - 36116 - 19968: jis0208<<14 | 0x4B<<7 | 0x3C, - 36118 - 19968: jis0208<<14 | 0x4B<<7 | 0x3D, - 36119 - 19968: jis0212<<14 | 0x3E<<7 | 0x23, - 36123 - 19968: jis0212<<14 | 0x3E<<7 | 0x24, - 36196 - 19968: jis0208<<14 | 0x1F<<7 | 0x35, - 36197 - 19968: jis0212<<14 | 0x3E<<7 | 0x25, - 36198 - 19968: jis0208<<14 | 0x1B<<7 | 0x2E, - 36199 - 19968: jis0208<<14 | 0x4B<<7 | 0x3E, - 36201 - 19968: jis0212<<14 | 0x3E<<7 | 0x26, - 36203 - 19968: jis0208<<14 | 0x12<<7 | 0x31, - 36204 - 19968: jis0212<<14 | 0x3E<<7 | 0x27, - 36205 - 19968: jis0208<<14 | 0x4B<<7 | 0x3F, - 36206 - 19968: jis0212<<14 | 0x3E<<7 | 0x28, - 36208 - 19968: jis0208<<14 | 0x20<<7 | 0x55, - 36209 - 19968: jis0208<<14 | 0x4B<<7 | 0x40, - 36211 - 19968: jis0208<<14 | 0x4B<<7 | 0x41, - 36212 - 19968: jis0208<<14 | 0x28<<7 | 0x4A, - 36214 - 19968: jis0208<<14 | 0x5A<<7 | 0x53, - 36215 - 19968: jis0208<<14 | 0x14<<7 | 0x0E, - 36223 - 19968: jis0212<<14 | 0x3E<<7 | 0x29, - 36225 - 19968: jis0208<<14 | 0x4B<<7 | 0x42, - 36226 - 19968: jis0212<<14 | 0x3E<<7 | 0x2A, - 36228 - 19968: jis0212<<14 | 0x3E<<7 | 0x2B, - 36229 - 19968: jis0208<<14 | 0x23<<7 | 0x15, - 36232 - 19968: jis0212<<14 | 0x3E<<7 | 0x2C, - 36234 - 19968: jis0208<<14 | 0x10<<7 | 0x3A, - 36237 - 19968: jis0212<<14 | 0x3E<<7 | 0x2D, - 36240 - 19968: jis0212<<14 | 0x3E<<7 | 0x2E, - 36241 - 19968: jis0212<<14 | 0x3E<<7 | 0x2F, - 36245 - 19968: jis0212<<14 | 0x3E<<7 | 0x30, - 36249 - 19968: jis0208<<14 | 0x4B<<7 | 0x43, - 36254 - 19968: jis0212<<14 | 0x3E<<7 | 0x31, - 36255 - 19968: jis0212<<14 | 0x3E<<7 | 0x32, - 36256 - 19968: jis0212<<14 | 0x3E<<7 | 0x33, - 36259 - 19968: jis0208<<14 | 0x1B<<7 | 0x50, - 36262 - 19968: jis0212<<14 | 0x3E<<7 | 0x34, - 36264 - 19968: jis0208<<14 | 0x1E<<7 | 0x55, - 36267 - 19968: jis0212<<14 | 0x3E<<7 | 0x35, - 36268 - 19968: jis0212<<14 | 0x3E<<7 | 0x36, - 36271 - 19968: jis0212<<14 | 0x3E<<7 | 0x37, - 36274 - 19968: jis0212<<14 | 0x3E<<7 | 0x38, - 36275 - 19968: jis0208<<14 | 0x21<<7 | 0x0C, - 36277 - 19968: jis0212<<14 | 0x3E<<7 | 0x39, - 36279 - 19968: jis0212<<14 | 0x3E<<7 | 0x3A, - 36281 - 19968: jis0212<<14 | 0x3E<<7 | 0x3B, - 36282 - 19968: jis0208<<14 | 0x4B<<7 | 0x46, - 36283 - 19968: jis0212<<14 | 0x3E<<7 | 0x3C, - 36284 - 19968: jis0212<<14 | 0x3E<<7 | 0x4E, - 36286 - 19968: jis0208<<14 | 0x4B<<7 | 0x45, - 36288 - 19968: jis0212<<14 | 0x3E<<7 | 0x3D, - 36290 - 19968: jis0208<<14 | 0x4B<<7 | 0x44, - 36293 - 19968: jis0212<<14 | 0x3E<<7 | 0x3E, - 36294 - 19968: jis0212<<14 | 0x3E<<7 | 0x3F, - 36295 - 19968: jis0212<<14 | 0x3E<<7 | 0x40, - 36296 - 19968: jis0212<<14 | 0x3E<<7 | 0x41, - 36298 - 19968: jis0212<<14 | 0x3E<<7 | 0x42, - 36299 - 19968: jis0208<<14 | 0x4B<<7 | 0x4C, - 36300 - 19968: jis0208<<14 | 0x4B<<7 | 0x4A, - 36302 - 19968: jis0212<<14 | 0x3E<<7 | 0x43, - 36303 - 19968: jis0208<<14 | 0x4B<<7 | 0x47, - 36305 - 19968: jis0212<<14 | 0x3E<<7 | 0x44, - 36308 - 19968: jis0212<<14 | 0x3E<<7 | 0x45, - 36309 - 19968: jis0212<<14 | 0x3E<<7 | 0x46, - 36310 - 19968: jis0208<<14 | 0x4B<<7 | 0x49, - 36311 - 19968: jis0212<<14 | 0x3E<<7 | 0x47, - 36313 - 19968: jis0212<<14 | 0x3E<<7 | 0x48, - 36314 - 19968: jis0208<<14 | 0x4B<<7 | 0x48, - 36315 - 19968: jis0208<<14 | 0x4B<<7 | 0x4B, - 36317 - 19968: jis0208<<14 | 0x14<<7 | 0x56, - 36319 - 19968: jis0208<<14 | 0x4B<<7 | 0x4F, - 36321 - 19968: jis0208<<14 | 0x1F<<7 | 0x36, - 36323 - 19968: jis0208<<14 | 0x4B<<7 | 0x50, - 36324 - 19968: jis0212<<14 | 0x3E<<7 | 0x49, - 36325 - 19968: jis0212<<14 | 0x3E<<7 | 0x4A, - 36327 - 19968: jis0212<<14 | 0x3E<<7 | 0x4B, - 36328 - 19968: jis0208<<14 | 0x17<<7 | 0x38, - 36330 - 19968: jis0208<<14 | 0x4B<<7 | 0x4D, - 36331 - 19968: jis0208<<14 | 0x4B<<7 | 0x4E, - 36332 - 19968: jis0212<<14 | 0x3E<<7 | 0x4C, - 36335 - 19968: jis0208<<14 | 0x2E<<7 | 0x08, - 36336 - 19968: jis0212<<14 | 0x3E<<7 | 0x4D, - 36337 - 19968: jis0212<<14 | 0x3E<<7 | 0x4F, - 36338 - 19968: jis0212<<14 | 0x3E<<7 | 0x50, - 36339 - 19968: jis0208<<14 | 0x23<<7 | 0x16, - 36340 - 19968: jis0212<<14 | 0x3E<<7 | 0x51, - 36341 - 19968: jis0208<<14 | 0x20<<7 | 0x08, - 36348 - 19968: jis0208<<14 | 0x4B<<7 | 0x51, - 36349 - 19968: jis0212<<14 | 0x3E<<7 | 0x52, - 36351 - 19968: jis0208<<14 | 0x4B<<7 | 0x54, - 36353 - 19968: jis0212<<14 | 0x3E<<7 | 0x53, - 36356 - 19968: jis0212<<14 | 0x3E<<7 | 0x54, - 36357 - 19968: jis0212<<14 | 0x3E<<7 | 0x55, - 36358 - 19968: jis0212<<14 | 0x3E<<7 | 0x56, - 36360 - 19968: jis0208<<14 | 0x4B<<7 | 0x52, - 36361 - 19968: jis0208<<14 | 0x4B<<7 | 0x53, - 36362 - 19968: jis0208<<14 | 0x2C<<7 | 0x38, - 36363 - 19968: jis0212<<14 | 0x3E<<7 | 0x57, - 36367 - 19968: jis0208<<14 | 0x25<<7 | 0x06, - 36368 - 19968: jis0208<<14 | 0x4B<<7 | 0x57, - 36369 - 19968: jis0212<<14 | 0x3E<<7 | 0x58, - 36372 - 19968: jis0212<<14 | 0x3E<<7 | 0x59, - 36374 - 19968: jis0212<<14 | 0x3E<<7 | 0x5A, - 36381 - 19968: jis0208<<14 | 0x4B<<7 | 0x55, - 36382 - 19968: jis0208<<14 | 0x4B<<7 | 0x56, - 36383 - 19968: jis0208<<14 | 0x4B<<7 | 0x58, - 36384 - 19968: jis0212<<14 | 0x3E<<7 | 0x5B, - 36385 - 19968: jis0212<<14 | 0x3E<<7 | 0x5C, - 36386 - 19968: jis0212<<14 | 0x3E<<7 | 0x5D, - 36387 - 19968: jis0212<<14 | 0x3F<<7 | 0x00, - 36390 - 19968: jis0212<<14 | 0x3F<<7 | 0x01, - 36391 - 19968: jis0212<<14 | 0x3F<<7 | 0x02, - 36394 - 19968: jis0208<<14 | 0x4C<<7 | 0x08, - 36400 - 19968: jis0208<<14 | 0x4B<<7 | 0x5B, - 36401 - 19968: jis0212<<14 | 0x3F<<7 | 0x03, - 36403 - 19968: jis0212<<14 | 0x3F<<7 | 0x04, - 36404 - 19968: jis0208<<14 | 0x4B<<7 | 0x5C, - 36405 - 19968: jis0208<<14 | 0x4B<<7 | 0x5A, - 36406 - 19968: jis0212<<14 | 0x3F<<7 | 0x05, - 36407 - 19968: jis0212<<14 | 0x3F<<7 | 0x06, - 36408 - 19968: jis0212<<14 | 0x3F<<7 | 0x07, - 36409 - 19968: jis0212<<14 | 0x3F<<7 | 0x08, - 36413 - 19968: jis0212<<14 | 0x3F<<7 | 0x09, - 36416 - 19968: jis0212<<14 | 0x3F<<7 | 0x0A, - 36417 - 19968: jis0212<<14 | 0x3F<<7 | 0x0B, - 36418 - 19968: jis0208<<14 | 0x4B<<7 | 0x59, - 36420 - 19968: jis0208<<14 | 0x23<<7 | 0x5C, - 36423 - 19968: jis0208<<14 | 0x4C<<7 | 0x00, - 36424 - 19968: jis0208<<14 | 0x4C<<7 | 0x04, - 36425 - 19968: jis0208<<14 | 0x4C<<7 | 0x01, - 36426 - 19968: jis0208<<14 | 0x4B<<7 | 0x5D, - 36427 - 19968: jis0212<<14 | 0x3F<<7 | 0x0C, - 36428 - 19968: jis0208<<14 | 0x4C<<7 | 0x02, - 36429 - 19968: jis0212<<14 | 0x3F<<7 | 0x0D, - 36430 - 19968: jis0212<<14 | 0x3F<<7 | 0x0E, - 36431 - 19968: jis0212<<14 | 0x3F<<7 | 0x0F, - 36432 - 19968: jis0208<<14 | 0x4C<<7 | 0x03, - 36436 - 19968: jis0212<<14 | 0x3F<<7 | 0x10, - 36437 - 19968: jis0208<<14 | 0x4C<<7 | 0x0A, - 36441 - 19968: jis0208<<14 | 0x4C<<7 | 0x05, - 36443 - 19968: jis0212<<14 | 0x3F<<7 | 0x11, - 36444 - 19968: jis0212<<14 | 0x3F<<7 | 0x12, - 36445 - 19968: jis0212<<14 | 0x3F<<7 | 0x13, - 36446 - 19968: jis0212<<14 | 0x3F<<7 | 0x14, - 36447 - 19968: jis0208<<14 | 0x1F<<7 | 0x37, - 36448 - 19968: jis0208<<14 | 0x4C<<7 | 0x07, - 36449 - 19968: jis0212<<14 | 0x3F<<7 | 0x15, - 36450 - 19968: jis0212<<14 | 0x3F<<7 | 0x16, - 36451 - 19968: jis0208<<14 | 0x4C<<7 | 0x09, - 36452 - 19968: jis0208<<14 | 0x4C<<7 | 0x06, - 36457 - 19968: jis0212<<14 | 0x3F<<7 | 0x17, - 36460 - 19968: jis0212<<14 | 0x3F<<7 | 0x18, - 36461 - 19968: jis0212<<14 | 0x3F<<7 | 0x19, - 36463 - 19968: jis0212<<14 | 0x3F<<7 | 0x1A, - 36464 - 19968: jis0212<<14 | 0x3F<<7 | 0x1B, - 36465 - 19968: jis0212<<14 | 0x3F<<7 | 0x1C, - 36466 - 19968: jis0208<<14 | 0x4C<<7 | 0x0C, - 36468 - 19968: jis0208<<14 | 0x1C<<7 | 0x12, - 36470 - 19968: jis0208<<14 | 0x4C<<7 | 0x0B, - 36473 - 19968: jis0212<<14 | 0x3F<<7 | 0x1D, - 36474 - 19968: jis0212<<14 | 0x3F<<7 | 0x1E, - 36475 - 19968: jis0212<<14 | 0x3F<<7 | 0x1F, - 36476 - 19968: jis0208<<14 | 0x4C<<7 | 0x0D, - 36481 - 19968: jis0208<<14 | 0x4C<<7 | 0x0E, - 36482 - 19968: jis0212<<14 | 0x3F<<7 | 0x20, - 36483 - 19968: jis0212<<14 | 0x3F<<7 | 0x21, - 36484 - 19968: jis0208<<14 | 0x4C<<7 | 0x11, - 36485 - 19968: jis0208<<14 | 0x4C<<7 | 0x10, - 36487 - 19968: jis0208<<14 | 0x4C<<7 | 0x0F, - 36489 - 19968: jis0212<<14 | 0x3F<<7 | 0x22, - 36490 - 19968: jis0208<<14 | 0x4C<<7 | 0x13, - 36491 - 19968: jis0208<<14 | 0x4C<<7 | 0x12, - 36493 - 19968: jis0208<<14 | 0x2B<<7 | 0x55, - 36496 - 19968: jis0212<<14 | 0x3F<<7 | 0x23, - 36497 - 19968: jis0208<<14 | 0x4C<<7 | 0x15, - 36498 - 19968: jis0212<<14 | 0x3F<<7 | 0x24, - 36499 - 19968: jis0208<<14 | 0x4C<<7 | 0x14, - 36500 - 19968: jis0208<<14 | 0x4C<<7 | 0x16, - 36501 - 19968: jis0212<<14 | 0x3F<<7 | 0x25, - 36505 - 19968: jis0208<<14 | 0x4C<<7 | 0x17, - 36506 - 19968: jis0212<<14 | 0x3F<<7 | 0x26, - 36507 - 19968: jis0212<<14 | 0x3F<<7 | 0x27, - 36509 - 19968: jis0212<<14 | 0x3F<<7 | 0x28, - 36510 - 19968: jis0212<<14 | 0x3F<<7 | 0x29, - 36513 - 19968: jis0208<<14 | 0x4C<<7 | 0x19, - 36514 - 19968: jis0212<<14 | 0x3F<<7 | 0x2A, - 36519 - 19968: jis0212<<14 | 0x3F<<7 | 0x2B, - 36521 - 19968: jis0212<<14 | 0x3F<<7 | 0x2C, - 36522 - 19968: jis0208<<14 | 0x4C<<7 | 0x18, - 36523 - 19968: jis0208<<14 | 0x1E<<7 | 0x27, - 36524 - 19968: jis0208<<14 | 0x4C<<7 | 0x1A, - 36525 - 19968: jis0212<<14 | 0x3F<<7 | 0x2D, - 36526 - 19968: jis0212<<14 | 0x3F<<7 | 0x2E, - 36527 - 19968: jis0208<<14 | 0x15<<7 | 0x4C, - 36528 - 19968: jis0208<<14 | 0x4C<<7 | 0x1B, - 36529 - 19968: jis0208<<14 | 0x4C<<7 | 0x1D, - 36531 - 19968: jis0212<<14 | 0x3F<<7 | 0x2F, - 36533 - 19968: jis0212<<14 | 0x3F<<7 | 0x30, - 36538 - 19968: jis0212<<14 | 0x3F<<7 | 0x31, - 36539 - 19968: jis0212<<14 | 0x3F<<7 | 0x32, - 36542 - 19968: jis0208<<14 | 0x4C<<7 | 0x1E, - 36544 - 19968: jis0212<<14 | 0x3F<<7 | 0x33, - 36545 - 19968: jis0212<<14 | 0x3F<<7 | 0x34, - 36547 - 19968: jis0212<<14 | 0x3F<<7 | 0x35, - 36548 - 19968: jis0212<<14 | 0x3F<<7 | 0x36, - 36549 - 19968: jis0208<<14 | 0x4C<<7 | 0x1F, - 36550 - 19968: jis0208<<14 | 0x4C<<7 | 0x1C, - 36551 - 19968: jis0212<<14 | 0x3F<<7 | 0x37, - 36552 - 19968: jis0208<<14 | 0x4C<<7 | 0x20, - 36554 - 19968: jis0208<<14 | 0x1B<<7 | 0x35, - 36555 - 19968: jis0208<<14 | 0x4C<<7 | 0x21, - 36556 - 19968: jis0208<<14 | 0x14<<7 | 0x0F, - 36557 - 19968: jis0208<<14 | 0x16<<7 | 0x12, - 36559 - 19968: jis0208<<14 | 0x5A<<7 | 0x55, - 36561 - 19968: jis0212<<14 | 0x3F<<7 | 0x39, - 36562 - 19968: jis0208<<14 | 0x17<<7 | 0x0D, - 36564 - 19968: jis0212<<14 | 0x3F<<7 | 0x3A, - 36571 - 19968: jis0208<<14 | 0x4C<<7 | 0x22, - 36572 - 19968: jis0212<<14 | 0x3F<<7 | 0x3B, - 36575 - 19968: jis0208<<14 | 0x25<<7 | 0x4F, - 36578 - 19968: jis0208<<14 | 0x24<<7 | 0x1D, - 36579 - 19968: jis0208<<14 | 0x4C<<7 | 0x23, - 36584 - 19968: jis0212<<14 | 0x3F<<7 | 0x3C, - 36587 - 19968: jis0208<<14 | 0x4C<<7 | 0x26, - 36589 - 19968: jis0212<<14 | 0x3F<<7 | 0x43, - 36590 - 19968: jis0212<<14 | 0x3F<<7 | 0x3D, - 36592 - 19968: jis0212<<14 | 0x3F<<7 | 0x3E, - 36593 - 19968: jis0212<<14 | 0x3F<<7 | 0x3F, - 36599 - 19968: jis0212<<14 | 0x3F<<7 | 0x40, - 36600 - 19968: jis0208<<14 | 0x1B<<7 | 0x13, - 36601 - 19968: jis0212<<14 | 0x3F<<7 | 0x41, - 36602 - 19968: jis0212<<14 | 0x3F<<7 | 0x42, - 36603 - 19968: jis0208<<14 | 0x4C<<7 | 0x25, - 36604 - 19968: jis0208<<14 | 0x4C<<7 | 0x24, - 36605 - 19968: jis0208<<14 | 0x16<<7 | 0x39, - 36606 - 19968: jis0208<<14 | 0x4C<<7 | 0x27, - 36608 - 19968: jis0212<<14 | 0x3F<<7 | 0x44, - 36610 - 19968: jis0212<<14 | 0x3F<<7 | 0x45, - 36611 - 19968: jis0208<<14 | 0x12<<7 | 0x32, - 36613 - 19968: jis0208<<14 | 0x4C<<7 | 0x29, - 36615 - 19968: jis0212<<14 | 0x3F<<7 | 0x46, - 36616 - 19968: jis0212<<14 | 0x3F<<7 | 0x47, - 36617 - 19968: jis0208<<14 | 0x19<<7 | 0x3B, - 36618 - 19968: jis0208<<14 | 0x4C<<7 | 0x28, - 36620 - 19968: jis0208<<14 | 0x4C<<7 | 0x31, - 36623 - 19968: jis0212<<14 | 0x3F<<7 | 0x48, - 36624 - 19968: jis0212<<14 | 0x3F<<7 | 0x49, - 36626 - 19968: jis0208<<14 | 0x4C<<7 | 0x2B, - 36627 - 19968: jis0208<<14 | 0x4C<<7 | 0x2D, - 36628 - 19968: jis0208<<14 | 0x29<<7 | 0x44, - 36629 - 19968: jis0208<<14 | 0x4C<<7 | 0x2A, - 36630 - 19968: jis0212<<14 | 0x3F<<7 | 0x4A, - 36631 - 19968: jis0212<<14 | 0x3F<<7 | 0x4B, - 36632 - 19968: jis0212<<14 | 0x3F<<7 | 0x4C, - 36633 - 19968: jis0208<<14 | 0x4C<<7 | 0x2C, - 36635 - 19968: jis0208<<14 | 0x4C<<7 | 0x30, - 36636 - 19968: jis0208<<14 | 0x4C<<7 | 0x2E, - 36637 - 19968: jis0208<<14 | 0x14<<7 | 0x10, - 36638 - 19968: jis0212<<14 | 0x3F<<7 | 0x4D, - 36639 - 19968: jis0208<<14 | 0x4C<<7 | 0x2F, - 36640 - 19968: jis0212<<14 | 0x3F<<7 | 0x4E, - 36641 - 19968: jis0212<<14 | 0x3F<<7 | 0x4F, - 36643 - 19968: jis0212<<14 | 0x3F<<7 | 0x50, - 36645 - 19968: jis0212<<14 | 0x3F<<7 | 0x51, - 36646 - 19968: jis0208<<14 | 0x4C<<7 | 0x32, - 36647 - 19968: jis0212<<14 | 0x3F<<7 | 0x52, - 36648 - 19968: jis0212<<14 | 0x3F<<7 | 0x53, - 36649 - 19968: jis0208<<14 | 0x26<<7 | 0x39, - 36650 - 19968: jis0208<<14 | 0x2D<<7 | 0x37, - 36652 - 19968: jis0212<<14 | 0x3F<<7 | 0x54, - 36653 - 19968: jis0212<<14 | 0x3F<<7 | 0x55, - 36654 - 19968: jis0212<<14 | 0x3F<<7 | 0x56, - 36655 - 19968: jis0208<<14 | 0x1C<<7 | 0x13, - 36659 - 19968: jis0208<<14 | 0x4C<<7 | 0x33, - 36660 - 19968: jis0212<<14 | 0x3F<<7 | 0x57, - 36661 - 19968: jis0212<<14 | 0x3F<<7 | 0x58, - 36662 - 19968: jis0212<<14 | 0x3F<<7 | 0x59, - 36663 - 19968: jis0212<<14 | 0x3F<<7 | 0x5A, - 36664 - 19968: jis0208<<14 | 0x2C<<7 | 0x01, - 36665 - 19968: jis0208<<14 | 0x4C<<7 | 0x35, - 36666 - 19968: jis0212<<14 | 0x3F<<7 | 0x5B, - 36667 - 19968: jis0208<<14 | 0x4C<<7 | 0x34, - 36670 - 19968: jis0208<<14 | 0x4C<<7 | 0x38, - 36671 - 19968: jis0208<<14 | 0x2C<<7 | 0x20, - 36672 - 19968: jis0212<<14 | 0x3F<<7 | 0x5C, - 36673 - 19968: jis0212<<14 | 0x3F<<7 | 0x5D, - 36674 - 19968: jis0208<<14 | 0x4C<<7 | 0x37, - 36675 - 19968: jis0212<<14 | 0x40<<7 | 0x00, - 36676 - 19968: jis0208<<14 | 0x12<<7 | 0x4C, - 36677 - 19968: jis0208<<14 | 0x4C<<7 | 0x36, - 36678 - 19968: jis0208<<14 | 0x4C<<7 | 0x3B, - 36679 - 19968: jis0212<<14 | 0x40<<7 | 0x01, - 36681 - 19968: jis0208<<14 | 0x4C<<7 | 0x3A, - 36684 - 19968: jis0208<<14 | 0x4C<<7 | 0x39, - 36685 - 19968: jis0208<<14 | 0x24<<7 | 0x11, - 36686 - 19968: jis0208<<14 | 0x4C<<7 | 0x3C, - 36687 - 19968: jis0212<<14 | 0x40<<7 | 0x02, - 36689 - 19968: jis0212<<14 | 0x40<<7 | 0x03, - 36690 - 19968: jis0212<<14 | 0x40<<7 | 0x04, - 36691 - 19968: jis0212<<14 | 0x40<<7 | 0x05, - 36692 - 19968: jis0212<<14 | 0x40<<7 | 0x06, - 36693 - 19968: jis0212<<14 | 0x40<<7 | 0x07, - 36695 - 19968: jis0208<<14 | 0x4C<<7 | 0x3D, - 36696 - 19968: jis0212<<14 | 0x40<<7 | 0x08, - 36700 - 19968: jis0208<<14 | 0x4C<<7 | 0x3E, - 36701 - 19968: jis0212<<14 | 0x40<<7 | 0x09, - 36702 - 19968: jis0212<<14 | 0x40<<7 | 0x0A, - 36703 - 19968: jis0208<<14 | 0x18<<7 | 0x4B, - 36705 - 19968: jis0208<<14 | 0x16<<7 | 0x04, - 36706 - 19968: jis0208<<14 | 0x4C<<7 | 0x3F, - 36707 - 19968: jis0208<<14 | 0x4C<<7 | 0x40, - 36708 - 19968: jis0208<<14 | 0x4C<<7 | 0x41, - 36709 - 19968: jis0212<<14 | 0x40<<7 | 0x0B, - 36763 - 19968: jis0208<<14 | 0x1E<<7 | 0x28, - 36764 - 19968: jis0208<<14 | 0x4C<<7 | 0x42, - 36765 - 19968: jis0212<<14 | 0x40<<7 | 0x0C, - 36766 - 19968: jis0208<<14 | 0x1B<<7 | 0x0C, - 36767 - 19968: jis0208<<14 | 0x4C<<7 | 0x43, - 36768 - 19968: jis0212<<14 | 0x40<<7 | 0x0D, - 36769 - 19968: jis0212<<14 | 0x40<<7 | 0x0E, - 36771 - 19968: jis0208<<14 | 0x4C<<7 | 0x44, - 36772 - 19968: jis0212<<14 | 0x40<<7 | 0x0F, - 36773 - 19968: jis0212<<14 | 0x40<<7 | 0x10, - 36774 - 19968: jis0212<<14 | 0x40<<7 | 0x11, - 36775 - 19968: jis0208<<14 | 0x31<<7 | 0x00, - 36776 - 19968: jis0208<<14 | 0x30<<7 | 0x5D, - 36781 - 19968: jis0208<<14 | 0x4C<<7 | 0x45, - 36782 - 19968: jis0208<<14 | 0x44<<7 | 0x4F, - 36783 - 19968: jis0208<<14 | 0x4C<<7 | 0x46, - 36784 - 19968: jis0208<<14 | 0x22<<7 | 0x03, - 36785 - 19968: jis0208<<14 | 0x1E<<7 | 0x0A, - 36786 - 19968: jis0208<<14 | 0x26<<7 | 0x1F, - 36789 - 19968: jis0212<<14 | 0x40<<7 | 0x12, - 36790 - 19968: jis0212<<14 | 0x40<<7 | 0x13, - 36791 - 19968: jis0208<<14 | 0x4C<<7 | 0x47, - 36792 - 19968: jis0212<<14 | 0x40<<7 | 0x14, - 36794 - 19968: jis0208<<14 | 0x29<<7 | 0x34, - 36795 - 19968: jis0208<<14 | 0x23<<7 | 0x33, - 36796 - 19968: jis0208<<14 | 0x18<<7 | 0x5D, - 36798 - 19968: jis0212<<14 | 0x40<<7 | 0x15, - 36799 - 19968: jis0208<<14 | 0x22<<7 | 0x08, - 36800 - 19968: jis0212<<14 | 0x40<<7 | 0x16, - 36801 - 19968: jis0212<<14 | 0x40<<7 | 0x17, - 36802 - 19968: jis0208<<14 | 0x10<<7 | 0x09, - 36804 - 19968: jis0208<<14 | 0x2A<<7 | 0x57, - 36805 - 19968: jis0208<<14 | 0x1E<<7 | 0x36, - 36806 - 19968: jis0212<<14 | 0x40<<7 | 0x18, - 36810 - 19968: jis0212<<14 | 0x40<<7 | 0x19, - 36811 - 19968: jis0212<<14 | 0x40<<7 | 0x1A, - 36813 - 19968: jis0212<<14 | 0x40<<7 | 0x1B, - 36814 - 19968: jis0208<<14 | 0x16<<7 | 0x3D, - 36816 - 19968: jis0212<<14 | 0x40<<7 | 0x1C, - 36817 - 19968: jis0208<<14 | 0x15<<7 | 0x40, - 36818 - 19968: jis0212<<14 | 0x40<<7 | 0x1D, - 36819 - 19968: jis0212<<14 | 0x40<<7 | 0x1E, - 36820 - 19968: jis0208<<14 | 0x29<<7 | 0x35, - 36821 - 19968: jis0212<<14 | 0x40<<7 | 0x1F, - 36826 - 19968: jis0208<<14 | 0x4C<<7 | 0x48, - 36832 - 19968: jis0212<<14 | 0x40<<7 | 0x20, - 36834 - 19968: jis0208<<14 | 0x4C<<7 | 0x4A, - 36835 - 19968: jis0212<<14 | 0x40<<7 | 0x21, - 36836 - 19968: jis0212<<14 | 0x40<<7 | 0x22, - 36837 - 19968: jis0208<<14 | 0x4C<<7 | 0x49, - 36838 - 19968: jis0208<<14 | 0x11<<7 | 0x3F, - 36840 - 19968: jis0212<<14 | 0x40<<7 | 0x23, - 36841 - 19968: jis0208<<14 | 0x25<<7 | 0x55, - 36842 - 19968: jis0208<<14 | 0x4C<<7 | 0x4B, - 36843 - 19968: jis0208<<14 | 0x26<<7 | 0x56, - 36845 - 19968: jis0208<<14 | 0x24<<7 | 0x12, - 36846 - 19968: jis0212<<14 | 0x40<<7 | 0x24, - 36847 - 19968: jis0208<<14 | 0x4C<<7 | 0x4C, - 36848 - 19968: jis0208<<14 | 0x1C<<7 | 0x31, - 36849 - 19968: jis0212<<14 | 0x40<<7 | 0x25, - 36852 - 19968: jis0208<<14 | 0x4C<<7 | 0x4E, - 36853 - 19968: jis0212<<14 | 0x40<<7 | 0x26, - 36854 - 19968: jis0212<<14 | 0x40<<7 | 0x27, - 36855 - 19968: jis0208<<14 | 0x2B<<7 | 0x21, - 36856 - 19968: jis0208<<14 | 0x4C<<7 | 0x5D, - 36857 - 19968: jis0208<<14 | 0x4C<<7 | 0x50, - 36858 - 19968: jis0208<<14 | 0x4C<<7 | 0x51, - 36859 - 19968: jis0212<<14 | 0x40<<7 | 0x28, - 36861 - 19968: jis0208<<14 | 0x23<<7 | 0x28, - 36862 - 19968: jis0212<<14 | 0x40<<7 | 0x29, - 36864 - 19968: jis0208<<14 | 0x21<<7 | 0x3F, - 36865 - 19968: jis0208<<14 | 0x20<<7 | 0x56, - 36866 - 19968: jis0212<<14 | 0x40<<7 | 0x2A, - 36867 - 19968: jis0208<<14 | 0x25<<7 | 0x07, - 36868 - 19968: jis0212<<14 | 0x40<<7 | 0x2B, - 36869 - 19968: jis0208<<14 | 0x4C<<7 | 0x4F, - 36870 - 19968: jis0208<<14 | 0x14<<7 | 0x34, - 36872 - 19968: jis0212<<14 | 0x40<<7 | 0x2C, - 36875 - 19968: jis0208<<14 | 0x4C<<7 | 0x58, - 36876 - 19968: jis0212<<14 | 0x40<<7 | 0x2D, - 36877 - 19968: jis0208<<14 | 0x4C<<7 | 0x55, - 36878 - 19968: jis0208<<14 | 0x4D<<7 | 0x04, - 36879 - 19968: jis0208<<14 | 0x25<<7 | 0x08, - 36880 - 19968: jis0208<<14 | 0x22<<7 | 0x3F, - 36881 - 19968: jis0208<<14 | 0x4C<<7 | 0x52, - 36883 - 19968: jis0208<<14 | 0x23<<7 | 0x5D, - 36884 - 19968: jis0208<<14 | 0x24<<7 | 0x32, - 36885 - 19968: jis0208<<14 | 0x4C<<7 | 0x53, - 36886 - 19968: jis0208<<14 | 0x4C<<7 | 0x57, - 36887 - 19968: jis0208<<14 | 0x1E<<7 | 0x3F, - 36888 - 19968: jis0212<<14 | 0x40<<7 | 0x2E, - 36889 - 19968: jis0208<<14 | 0x26<<7 | 0x46, - 36890 - 19968: jis0208<<14 | 0x23<<7 | 0x2B, - 36891 - 19968: jis0212<<14 | 0x40<<7 | 0x2F, - 36893 - 19968: jis0208<<14 | 0x1F<<7 | 0x21, - 36894 - 19968: jis0208<<14 | 0x4C<<7 | 0x56, - 36895 - 19968: jis0208<<14 | 0x21<<7 | 0x0D, - 36896 - 19968: jis0208<<14 | 0x21<<7 | 0x03, - 36897 - 19968: jis0208<<14 | 0x4C<<7 | 0x54, - 36898 - 19968: jis0208<<14 | 0x0F<<7 | 0x08, - 36899 - 19968: jis0208<<14 | 0x2E<<7 | 0x01, - 36903 - 19968: jis0208<<14 | 0x4C<<7 | 0x59, - 36904 - 19968: jis0212<<14 | 0x40<<7 | 0x30, - 36905 - 19968: jis0212<<14 | 0x40<<7 | 0x31, - 36906 - 19968: jis0212<<14 | 0x40<<7 | 0x33, - 36908 - 19968: jis0212<<14 | 0x40<<7 | 0x34, - 36909 - 19968: jis0212<<14 | 0x40<<7 | 0x35, - 36910 - 19968: jis0208<<14 | 0x21<<7 | 0x40, - 36911 - 19968: jis0212<<14 | 0x40<<7 | 0x32, - 36913 - 19968: jis0208<<14 | 0x1C<<7 | 0x14, - 36914 - 19968: jis0208<<14 | 0x1E<<7 | 0x29, - 36915 - 19968: jis0212<<14 | 0x40<<7 | 0x36, - 36916 - 19968: jis0212<<14 | 0x40<<7 | 0x37, - 36917 - 19968: jis0208<<14 | 0x4C<<7 | 0x5B, - 36918 - 19968: jis0208<<14 | 0x4C<<7 | 0x5A, - 36919 - 19968: jis0212<<14 | 0x40<<7 | 0x38, - 36920 - 19968: jis0208<<14 | 0x0F<<7 | 0x4E, - 36921 - 19968: jis0208<<14 | 0x4C<<7 | 0x5C, - 36924 - 19968: jis0208<<14 | 0x28<<7 | 0x0E, - 36926 - 19968: jis0208<<14 | 0x4D<<7 | 0x06, - 36927 - 19968: jis0212<<14 | 0x40<<7 | 0x39, - 36929 - 19968: jis0208<<14 | 0x25<<7 | 0x3A, - 36930 - 19968: jis0208<<14 | 0x1E<<7 | 0x4A, - 36931 - 19968: jis0212<<14 | 0x40<<7 | 0x3A, - 36932 - 19968: jis0212<<14 | 0x40<<7 | 0x3B, - 36933 - 19968: jis0208<<14 | 0x22<<7 | 0x38, - 36935 - 19968: jis0208<<14 | 0x15<<7 | 0x57, - 36937 - 19968: jis0208<<14 | 0x4D<<7 | 0x05, - 36938 - 19968: jis0208<<14 | 0x2C<<7 | 0x16, - 36939 - 19968: jis0208<<14 | 0x10<<7 | 0x1E, - 36940 - 19968: jis0212<<14 | 0x40<<7 | 0x3C, - 36941 - 19968: jis0208<<14 | 0x29<<7 | 0x36, - 36942 - 19968: jis0208<<14 | 0x11<<7 | 0x40, - 36943 - 19968: jis0208<<14 | 0x4D<<7 | 0x00, - 36944 - 19968: jis0208<<14 | 0x4D<<7 | 0x01, - 36945 - 19968: jis0208<<14 | 0x4D<<7 | 0x02, - 36946 - 19968: jis0208<<14 | 0x4D<<7 | 0x03, - 36947 - 19968: jis0208<<14 | 0x25<<7 | 0x1A, - 36948 - 19968: jis0208<<14 | 0x22<<7 | 0x02, - 36949 - 19968: jis0208<<14 | 0x0F<<7 | 0x42, - 36950 - 19968: jis0208<<14 | 0x4D<<7 | 0x07, - 36952 - 19968: jis0208<<14 | 0x4D<<7 | 0x08, - 36953 - 19968: jis0208<<14 | 0x53<<7 | 0x02, - 36955 - 19968: jis0212<<14 | 0x40<<7 | 0x3D, - 36956 - 19968: jis0208<<14 | 0x21<<7 | 0x1C, - 36957 - 19968: jis0212<<14 | 0x40<<7 | 0x3E, - 36958 - 19968: jis0208<<14 | 0x4D<<7 | 0x09, - 36960 - 19968: jis0208<<14 | 0x10<<7 | 0x52, - 36961 - 19968: jis0208<<14 | 0x20<<7 | 0x2B, - 36962 - 19968: jis0212<<14 | 0x40<<7 | 0x3F, - 36963 - 19968: jis0208<<14 | 0x17<<7 | 0x0E, - 36965 - 19968: jis0208<<14 | 0x2C<<7 | 0x39, - 36966 - 19968: jis0212<<14 | 0x40<<7 | 0x40, - 36967 - 19968: jis0208<<14 | 0x5A<<7 | 0x58, - 36968 - 19968: jis0208<<14 | 0x4D<<7 | 0x0A, - 36969 - 19968: jis0208<<14 | 0x24<<7 | 0x0B, - 36972 - 19968: jis0212<<14 | 0x40<<7 | 0x42, - 36973 - 19968: jis0208<<14 | 0x20<<7 | 0x57, - 36974 - 19968: jis0208<<14 | 0x1B<<7 | 0x36, - 36975 - 19968: jis0208<<14 | 0x4D<<7 | 0x0B, - 36976 - 19968: jis0212<<14 | 0x40<<7 | 0x43, - 36978 - 19968: jis0208<<14 | 0x4D<<7 | 0x0E, - 36980 - 19968: jis0212<<14 | 0x40<<7 | 0x44, - 36981 - 19968: jis0208<<14 | 0x1C<<7 | 0x44, - 36982 - 19968: jis0208<<14 | 0x4D<<7 | 0x0C, - 36983 - 19968: jis0208<<14 | 0x20<<7 | 0x0A, - 36984 - 19968: jis0208<<14 | 0x20<<7 | 0x09, - 36985 - 19968: jis0212<<14 | 0x40<<7 | 0x45, - 36986 - 19968: jis0208<<14 | 0x0F<<7 | 0x43, - 36988 - 19968: jis0208<<14 | 0x2D<<7 | 0x2A, - 36989 - 19968: jis0208<<14 | 0x4D<<7 | 0x10, - 36991 - 19968: jis0208<<14 | 0x27<<7 | 0x51, - 36992 - 19968: jis0208<<14 | 0x4D<<7 | 0x12, - 36993 - 19968: jis0208<<14 | 0x4D<<7 | 0x11, - 36994 - 19968: jis0208<<14 | 0x4D<<7 | 0x0F, - 36995 - 19968: jis0208<<14 | 0x42<<7 | 0x43, - 36996 - 19968: jis0208<<14 | 0x13<<7 | 0x33, - 36997 - 19968: jis0212<<14 | 0x40<<7 | 0x46, - 36999 - 19968: jis0208<<14 | 0x4C<<7 | 0x4D, - 37000 - 19968: jis0212<<14 | 0x40<<7 | 0x47, - 37001 - 19968: jis0208<<14 | 0x4D<<7 | 0x14, - 37002 - 19968: jis0208<<14 | 0x4D<<7 | 0x13, - 37003 - 19968: jis0212<<14 | 0x40<<7 | 0x48, - 37004 - 19968: jis0212<<14 | 0x40<<7 | 0x49, - 37006 - 19968: jis0212<<14 | 0x40<<7 | 0x4A, - 37007 - 19968: jis0208<<14 | 0x4D<<7 | 0x15, - 37008 - 19968: jis0212<<14 | 0x40<<7 | 0x4B, - 37009 - 19968: jis0208<<14 | 0x2C<<7 | 0x17, - 37013 - 19968: jis0212<<14 | 0x40<<7 | 0x4C, - 37015 - 19968: jis0212<<14 | 0x40<<7 | 0x4D, - 37016 - 19968: jis0212<<14 | 0x40<<7 | 0x4E, - 37017 - 19968: jis0212<<14 | 0x40<<7 | 0x4F, - 37019 - 19968: jis0212<<14 | 0x40<<7 | 0x50, - 37024 - 19968: jis0212<<14 | 0x40<<7 | 0x51, - 37025 - 19968: jis0212<<14 | 0x40<<7 | 0x52, - 37026 - 19968: jis0212<<14 | 0x40<<7 | 0x53, - 37027 - 19968: jis0208<<14 | 0x25<<7 | 0x40, - 37029 - 19968: jis0212<<14 | 0x40<<7 | 0x54, - 37030 - 19968: jis0208<<14 | 0x2A<<7 | 0x0D, - 37032 - 19968: jis0208<<14 | 0x4D<<7 | 0x16, - 37034 - 19968: jis0208<<14 | 0x1B<<7 | 0x38, - 37039 - 19968: jis0208<<14 | 0x4D<<7 | 0x17, - 37040 - 19968: jis0212<<14 | 0x40<<7 | 0x55, - 37041 - 19968: jis0208<<14 | 0x4D<<7 | 0x18, - 37042 - 19968: jis0212<<14 | 0x40<<7 | 0x56, - 37043 - 19968: jis0212<<14 | 0x40<<7 | 0x57, - 37044 - 19968: jis0212<<14 | 0x40<<7 | 0x58, - 37045 - 19968: jis0208<<14 | 0x4D<<7 | 0x19, - 37046 - 19968: jis0212<<14 | 0x40<<7 | 0x59, - 37048 - 19968: jis0208<<14 | 0x24<<7 | 0x00, - 37053 - 19968: jis0212<<14 | 0x40<<7 | 0x5A, - 37054 - 19968: jis0212<<14 | 0x40<<7 | 0x5C, - 37057 - 19968: jis0208<<14 | 0x0F<<7 | 0x49, - 37059 - 19968: jis0212<<14 | 0x40<<7 | 0x5D, - 37060 - 19968: jis0212<<14 | 0x41<<7 | 0x00, - 37061 - 19968: jis0212<<14 | 0x41<<7 | 0x01, - 37063 - 19968: jis0212<<14 | 0x41<<7 | 0x02, - 37064 - 19968: jis0212<<14 | 0x41<<7 | 0x03, - 37066 - 19968: jis0208<<14 | 0x18<<7 | 0x38, - 37068 - 19968: jis0212<<14 | 0x40<<7 | 0x5B, - 37070 - 19968: jis0208<<14 | 0x2E<<7 | 0x19, - 37074 - 19968: jis0212<<14 | 0x41<<7 | 0x0C, - 37077 - 19968: jis0212<<14 | 0x41<<7 | 0x04, - 37079 - 19968: jis0212<<14 | 0x41<<7 | 0x05, - 37080 - 19968: jis0212<<14 | 0x41<<7 | 0x06, - 37081 - 19968: jis0212<<14 | 0x41<<7 | 0x07, - 37083 - 19968: jis0208<<14 | 0x4D<<7 | 0x1D, - 37084 - 19968: jis0212<<14 | 0x41<<7 | 0x08, - 37085 - 19968: jis0212<<14 | 0x41<<7 | 0x09, - 37086 - 19968: jis0208<<14 | 0x5A<<7 | 0x59, - 37087 - 19968: jis0212<<14 | 0x41<<7 | 0x0A, - 37089 - 19968: jis0208<<14 | 0x16<<7 | 0x13, - 37090 - 19968: jis0208<<14 | 0x4D<<7 | 0x1A, - 37092 - 19968: jis0208<<14 | 0x4D<<7 | 0x1B, - 37093 - 19968: jis0212<<14 | 0x41<<7 | 0x0B, - 37096 - 19968: jis0208<<14 | 0x28<<7 | 0x53, - 37099 - 19968: jis0212<<14 | 0x41<<7 | 0x0E, - 37101 - 19968: jis0208<<14 | 0x12<<7 | 0x33, - 37103 - 19968: jis0212<<14 | 0x41<<7 | 0x0F, - 37104 - 19968: jis0212<<14 | 0x41<<7 | 0x10, - 37108 - 19968: jis0212<<14 | 0x41<<7 | 0x11, - 37109 - 19968: jis0208<<14 | 0x2C<<7 | 0x18, - 37110 - 19968: jis0212<<14 | 0x41<<7 | 0x0D, - 37111 - 19968: jis0208<<14 | 0x15<<7 | 0x1E, - 37117 - 19968: jis0208<<14 | 0x24<<7 | 0x33, - 37118 - 19968: jis0212<<14 | 0x41<<7 | 0x12, - 37119 - 19968: jis0212<<14 | 0x41<<7 | 0x13, - 37120 - 19968: jis0212<<14 | 0x41<<7 | 0x14, - 37122 - 19968: jis0208<<14 | 0x4D<<7 | 0x1E, - 37124 - 19968: jis0212<<14 | 0x41<<7 | 0x15, - 37125 - 19968: jis0212<<14 | 0x41<<7 | 0x16, - 37126 - 19968: jis0212<<14 | 0x41<<7 | 0x17, - 37128 - 19968: jis0212<<14 | 0x41<<7 | 0x18, - 37133 - 19968: jis0212<<14 | 0x41<<7 | 0x19, - 37136 - 19968: jis0212<<14 | 0x41<<7 | 0x1A, - 37138 - 19968: jis0208<<14 | 0x4D<<7 | 0x1F, - 37140 - 19968: jis0212<<14 | 0x41<<7 | 0x1B, - 37141 - 19968: jis0208<<14 | 0x5A<<7 | 0x5B, - 37142 - 19968: jis0212<<14 | 0x41<<7 | 0x1C, - 37143 - 19968: jis0212<<14 | 0x41<<7 | 0x1D, - 37144 - 19968: jis0212<<14 | 0x41<<7 | 0x1E, - 37145 - 19968: jis0208<<14 | 0x4D<<7 | 0x20, - 37146 - 19968: jis0212<<14 | 0x41<<7 | 0x1F, - 37148 - 19968: jis0212<<14 | 0x41<<7 | 0x20, - 37150 - 19968: jis0212<<14 | 0x41<<7 | 0x21, - 37152 - 19968: jis0212<<14 | 0x41<<7 | 0x22, - 37154 - 19968: jis0212<<14 | 0x41<<7 | 0x24, - 37155 - 19968: jis0212<<14 | 0x41<<7 | 0x25, - 37157 - 19968: jis0212<<14 | 0x41<<7 | 0x23, - 37159 - 19968: jis0208<<14 | 0x5A<<7 | 0x5C, - 37161 - 19968: jis0212<<14 | 0x41<<7 | 0x27, - 37165 - 19968: jis0208<<14 | 0x24<<7 | 0x01, - 37166 - 19968: jis0212<<14 | 0x41<<7 | 0x28, - 37167 - 19968: jis0212<<14 | 0x41<<7 | 0x29, - 37168 - 19968: jis0208<<14 | 0x4D<<7 | 0x22, - 37169 - 19968: jis0212<<14 | 0x41<<7 | 0x2A, - 37170 - 19968: jis0208<<14 | 0x4D<<7 | 0x21, - 37172 - 19968: jis0212<<14 | 0x41<<7 | 0x2B, - 37174 - 19968: jis0212<<14 | 0x41<<7 | 0x2C, - 37175 - 19968: jis0212<<14 | 0x41<<7 | 0x2D, - 37177 - 19968: jis0212<<14 | 0x41<<7 | 0x2E, - 37178 - 19968: jis0212<<14 | 0x41<<7 | 0x2F, - 37180 - 19968: jis0212<<14 | 0x41<<7 | 0x30, - 37181 - 19968: jis0212<<14 | 0x41<<7 | 0x31, - 37187 - 19968: jis0212<<14 | 0x41<<7 | 0x32, - 37191 - 19968: jis0212<<14 | 0x41<<7 | 0x33, - 37192 - 19968: jis0212<<14 | 0x41<<7 | 0x34, - 37193 - 19968: jis0208<<14 | 0x25<<7 | 0x32, - 37194 - 19968: jis0208<<14 | 0x4D<<7 | 0x23, - 37195 - 19968: jis0208<<14 | 0x1C<<7 | 0x15, - 37196 - 19968: jis0208<<14 | 0x1B<<7 | 0x3F, - 37197 - 19968: jis0208<<14 | 0x26<<7 | 0x3A, - 37198 - 19968: jis0208<<14 | 0x22<<7 | 0x50, - 37199 - 19968: jis0212<<14 | 0x41<<7 | 0x35, - 37202 - 19968: jis0208<<14 | 0x1B<<7 | 0x51, - 37203 - 19968: jis0212<<14 | 0x41<<7 | 0x36, - 37204 - 19968: jis0208<<14 | 0x1E<<7 | 0x4B, - 37206 - 19968: jis0208<<14 | 0x4D<<7 | 0x24, - 37207 - 19968: jis0212<<14 | 0x41<<7 | 0x37, - 37208 - 19968: jis0208<<14 | 0x4D<<7 | 0x25, - 37209 - 19968: jis0212<<14 | 0x41<<7 | 0x38, - 37210 - 19968: jis0212<<14 | 0x41<<7 | 0x39, - 37211 - 19968: jis0212<<14 | 0x41<<7 | 0x3A, - 37217 - 19968: jis0212<<14 | 0x41<<7 | 0x3B, - 37218 - 19968: jis0208<<14 | 0x1E<<7 | 0x3C, - 37219 - 19968: jis0208<<14 | 0x4D<<7 | 0x26, - 37220 - 19968: jis0212<<14 | 0x41<<7 | 0x3C, - 37221 - 19968: jis0208<<14 | 0x4D<<7 | 0x27, - 37223 - 19968: jis0212<<14 | 0x41<<7 | 0x3D, - 37225 - 19968: jis0208<<14 | 0x4D<<7 | 0x28, - 37226 - 19968: jis0208<<14 | 0x2C<<7 | 0x4E, - 37228 - 19968: jis0208<<14 | 0x1C<<7 | 0x16, - 37229 - 19968: jis0212<<14 | 0x41<<7 | 0x3E, - 37234 - 19968: jis0208<<14 | 0x4D<<7 | 0x2A, - 37235 - 19968: jis0208<<14 | 0x4D<<7 | 0x29, - 37236 - 19968: jis0212<<14 | 0x41<<7 | 0x3F, - 37237 - 19968: jis0208<<14 | 0x18<<7 | 0x39, - 37239 - 19968: jis0208<<14 | 0x18<<7 | 0x52, - 37240 - 19968: jis0208<<14 | 0x1A<<7 | 0x1F, - 37241 - 19968: jis0212<<14 | 0x41<<7 | 0x40, - 37242 - 19968: jis0212<<14 | 0x41<<7 | 0x41, - 37243 - 19968: jis0212<<14 | 0x41<<7 | 0x42, - 37249 - 19968: jis0212<<14 | 0x41<<7 | 0x43, - 37250 - 19968: jis0208<<14 | 0x4D<<7 | 0x2D, - 37251 - 19968: jis0212<<14 | 0x41<<7 | 0x44, - 37253 - 19968: jis0212<<14 | 0x41<<7 | 0x45, - 37254 - 19968: jis0212<<14 | 0x41<<7 | 0x46, - 37255 - 19968: jis0208<<14 | 0x1C<<7 | 0x45, - 37257 - 19968: jis0208<<14 | 0x4D<<7 | 0x2C, - 37258 - 19968: jis0212<<14 | 0x41<<7 | 0x47, - 37259 - 19968: jis0208<<14 | 0x4D<<7 | 0x2B, - 37261 - 19968: jis0208<<14 | 0x21<<7 | 0x48, - 37262 - 19968: jis0212<<14 | 0x41<<7 | 0x48, - 37264 - 19968: jis0208<<14 | 0x17<<7 | 0x4E, - 37265 - 19968: jis0212<<14 | 0x41<<7 | 0x49, - 37266 - 19968: jis0208<<14 | 0x1F<<7 | 0x22, - 37267 - 19968: jis0212<<14 | 0x41<<7 | 0x4A, - 37268 - 19968: jis0212<<14 | 0x41<<7 | 0x4B, - 37269 - 19968: jis0212<<14 | 0x41<<7 | 0x4C, - 37271 - 19968: jis0208<<14 | 0x27<<7 | 0x0F, - 37272 - 19968: jis0212<<14 | 0x41<<7 | 0x4D, - 37276 - 19968: jis0208<<14 | 0x1C<<7 | 0x18, - 37278 - 19968: jis0212<<14 | 0x41<<7 | 0x4E, - 37281 - 19968: jis0212<<14 | 0x41<<7 | 0x4F, - 37282 - 19968: jis0208<<14 | 0x4D<<7 | 0x2E, - 37284 - 19968: jis0208<<14 | 0x1D<<7 | 0x3E, - 37286 - 19968: jis0212<<14 | 0x41<<7 | 0x50, - 37288 - 19968: jis0212<<14 | 0x41<<7 | 0x51, - 37290 - 19968: jis0208<<14 | 0x4D<<7 | 0x31, - 37291 - 19968: jis0208<<14 | 0x4D<<7 | 0x2F, - 37292 - 19968: jis0212<<14 | 0x41<<7 | 0x52, - 37293 - 19968: jis0212<<14 | 0x41<<7 | 0x53, - 37294 - 19968: jis0212<<14 | 0x41<<7 | 0x54, - 37295 - 19968: jis0208<<14 | 0x4D<<7 | 0x30, - 37296 - 19968: jis0212<<14 | 0x41<<7 | 0x55, - 37297 - 19968: jis0212<<14 | 0x41<<7 | 0x56, - 37298 - 19968: jis0212<<14 | 0x41<<7 | 0x57, - 37299 - 19968: jis0212<<14 | 0x41<<7 | 0x58, - 37300 - 19968: jis0208<<14 | 0x4D<<7 | 0x33, - 37301 - 19968: jis0208<<14 | 0x4D<<7 | 0x32, - 37302 - 19968: jis0212<<14 | 0x41<<7 | 0x59, - 37304 - 19968: jis0208<<14 | 0x1D<<7 | 0x59, - 37306 - 19968: jis0208<<14 | 0x4D<<7 | 0x34, - 37307 - 19968: jis0212<<14 | 0x41<<7 | 0x5A, - 37308 - 19968: jis0212<<14 | 0x41<<7 | 0x5B, - 37309 - 19968: jis0212<<14 | 0x41<<7 | 0x5C, - 37311 - 19968: jis0212<<14 | 0x41<<7 | 0x5D, - 37312 - 19968: jis0208<<14 | 0x4D<<7 | 0x35, - 37313 - 19968: jis0208<<14 | 0x4D<<7 | 0x36, - 37314 - 19968: jis0212<<14 | 0x42<<7 | 0x00, - 37315 - 19968: jis0212<<14 | 0x42<<7 | 0x01, - 37317 - 19968: jis0212<<14 | 0x42<<7 | 0x02, - 37318 - 19968: jis0208<<14 | 0x27<<7 | 0x2F, - 37319 - 19968: jis0208<<14 | 0x19<<7 | 0x32, - 37320 - 19968: jis0208<<14 | 0x1B<<7 | 0x40, - 37321 - 19968: jis0208<<14 | 0x4D<<7 | 0x37, - 37323 - 19968: jis0208<<14 | 0x4D<<7 | 0x38, - 37324 - 19968: jis0208<<14 | 0x2D<<7 | 0x03, - 37325 - 19968: jis0208<<14 | 0x1C<<7 | 0x24, - 37326 - 19968: jis0208<<14 | 0x2B<<7 | 0x4D, - 37327 - 19968: jis0208<<14 | 0x2D<<7 | 0x2B, - 37328 - 19968: jis0208<<14 | 0x4D<<7 | 0x39, - 37329 - 19968: jis0208<<14 | 0x15<<7 | 0x41, - 37331 - 19968: jis0212<<14 | 0x42<<7 | 0x03, - 37332 - 19968: jis0212<<14 | 0x42<<7 | 0x04, - 37334 - 19968: jis0208<<14 | 0x4D<<7 | 0x3A, - 37335 - 19968: jis0208<<14 | 0x5B<<7 | 0x00, - 37336 - 19968: jis0208<<14 | 0x24<<7 | 0x02, - 37337 - 19968: jis0212<<14 | 0x42<<7 | 0x06, - 37338 - 19968: jis0208<<14 | 0x5A<<7 | 0x5D, - 37339 - 19968: jis0208<<14 | 0x4D<<7 | 0x3D, - 37340 - 19968: jis0208<<14 | 0x12<<7 | 0x57, - 37341 - 19968: jis0208<<14 | 0x1E<<7 | 0x2A, - 37342 - 19968: jis0208<<14 | 0x5B<<7 | 0x01, - 37343 - 19968: jis0208<<14 | 0x4D<<7 | 0x3B, - 37345 - 19968: jis0208<<14 | 0x4D<<7 | 0x3C, - 37347 - 19968: jis0208<<14 | 0x23<<7 | 0x3F, - 37348 - 19968: jis0208<<14 | 0x5B<<7 | 0x04, - 37349 - 19968: jis0208<<14 | 0x5B<<7 | 0x05, - 37350 - 19968: jis0208<<14 | 0x2A<<7 | 0x34, - 37351 - 19968: jis0208<<14 | 0x15<<7 | 0x5B, - 37353 - 19968: jis0212<<14 | 0x42<<7 | 0x0B, - 37354 - 19968: jis0212<<14 | 0x42<<7 | 0x0C, - 37356 - 19968: jis0212<<14 | 0x42<<7 | 0x0D, - 37357 - 19968: jis0208<<14 | 0x5B<<7 | 0x02, - 37358 - 19968: jis0208<<14 | 0x5B<<7 | 0x03, - 37359 - 19968: jis0212<<14 | 0x42<<7 | 0x10, - 37360 - 19968: jis0212<<14 | 0x42<<7 | 0x11, - 37361 - 19968: jis0212<<14 | 0x42<<7 | 0x12, - 37365 - 19968: jis0208<<14 | 0x4D<<7 | 0x3F, - 37366 - 19968: jis0208<<14 | 0x4D<<7 | 0x40, - 37367 - 19968: jis0212<<14 | 0x42<<7 | 0x13, - 37369 - 19968: jis0212<<14 | 0x42<<7 | 0x14, - 37371 - 19968: jis0212<<14 | 0x42<<7 | 0x15, - 37372 - 19968: jis0208<<14 | 0x4D<<7 | 0x3E, - 37373 - 19968: jis0212<<14 | 0x42<<7 | 0x16, - 37375 - 19968: jis0208<<14 | 0x4D<<7 | 0x42, - 37376 - 19968: jis0212<<14 | 0x42<<7 | 0x17, - 37377 - 19968: jis0212<<14 | 0x42<<7 | 0x18, - 37380 - 19968: jis0212<<14 | 0x42<<7 | 0x19, - 37381 - 19968: jis0212<<14 | 0x42<<7 | 0x1A, - 37382 - 19968: jis0208<<14 | 0x5B<<7 | 0x06, - 37383 - 19968: jis0212<<14 | 0x42<<7 | 0x1C, - 37385 - 19968: jis0212<<14 | 0x42<<7 | 0x1D, - 37386 - 19968: jis0208<<14 | 0x5B<<7 | 0x08, - 37388 - 19968: jis0212<<14 | 0x42<<7 | 0x1F, - 37389 - 19968: jis0208<<14 | 0x25<<7 | 0x3E, - 37390 - 19968: jis0208<<14 | 0x12<<7 | 0x22, - 37392 - 19968: jis0208<<14 | 0x5B<<7 | 0x07, - 37393 - 19968: jis0208<<14 | 0x4D<<7 | 0x46, - 37394 - 19968: jis0212<<14 | 0x42<<7 | 0x21, - 37395 - 19968: jis0212<<14 | 0x42<<7 | 0x22, - 37396 - 19968: jis0208<<14 | 0x4D<<7 | 0x43, - 37397 - 19968: jis0208<<14 | 0x4D<<7 | 0x45, - 37398 - 19968: jis0212<<14 | 0x42<<7 | 0x23, - 37400 - 19968: jis0212<<14 | 0x42<<7 | 0x24, - 37404 - 19968: jis0212<<14 | 0x42<<7 | 0x25, - 37405 - 19968: jis0212<<14 | 0x42<<7 | 0x26, - 37406 - 19968: jis0208<<14 | 0x4D<<7 | 0x41, - 37411 - 19968: jis0212<<14 | 0x42<<7 | 0x27, - 37412 - 19968: jis0212<<14 | 0x42<<7 | 0x28, - 37413 - 19968: jis0212<<14 | 0x42<<7 | 0x29, - 37414 - 19968: jis0212<<14 | 0x42<<7 | 0x2A, - 37416 - 19968: jis0212<<14 | 0x42<<7 | 0x2B, - 37417 - 19968: jis0208<<14 | 0x4E<<7 | 0x2E, - 37420 - 19968: jis0208<<14 | 0x4D<<7 | 0x44, - 37422 - 19968: jis0212<<14 | 0x42<<7 | 0x2C, - 37423 - 19968: jis0212<<14 | 0x42<<7 | 0x2D, - 37424 - 19968: jis0212<<14 | 0x42<<7 | 0x2E, - 37427 - 19968: jis0212<<14 | 0x42<<7 | 0x2F, - 37428 - 19968: jis0208<<14 | 0x2D<<7 | 0x4A, - 37429 - 19968: jis0212<<14 | 0x42<<7 | 0x30, - 37430 - 19968: jis0212<<14 | 0x42<<7 | 0x31, - 37431 - 19968: jis0208<<14 | 0x17<<7 | 0x39, - 37432 - 19968: jis0212<<14 | 0x42<<7 | 0x32, - 37433 - 19968: jis0208<<14 | 0x5B<<7 | 0x0F, - 37434 - 19968: jis0208<<14 | 0x5B<<7 | 0x09, - 37436 - 19968: jis0208<<14 | 0x5B<<7 | 0x0B, - 37438 - 19968: jis0212<<14 | 0x42<<7 | 0x36, - 37439 - 19968: jis0208<<14 | 0x4D<<7 | 0x4E, - 37440 - 19968: jis0208<<14 | 0x5B<<7 | 0x0A, - 37442 - 19968: jis0212<<14 | 0x42<<7 | 0x38, - 37443 - 19968: jis0212<<14 | 0x42<<7 | 0x39, - 37444 - 19968: jis0208<<14 | 0x24<<7 | 0x13, - 37445 - 19968: jis0208<<14 | 0x4D<<7 | 0x49, - 37446 - 19968: jis0212<<14 | 0x42<<7 | 0x3A, - 37447 - 19968: jis0212<<14 | 0x42<<7 | 0x3B, - 37448 - 19968: jis0208<<14 | 0x4D<<7 | 0x4C, - 37449 - 19968: jis0208<<14 | 0x4D<<7 | 0x4A, - 37450 - 19968: jis0212<<14 | 0x42<<7 | 0x3C, - 37451 - 19968: jis0208<<14 | 0x4D<<7 | 0x4F, - 37453 - 19968: jis0212<<14 | 0x42<<7 | 0x3D, - 37454 - 19968: jis0208<<14 | 0x5B<<7 | 0x0C, - 37455 - 19968: jis0212<<14 | 0x42<<7 | 0x3F, - 37456 - 19968: jis0208<<14 | 0x4D<<7 | 0x50, - 37457 - 19968: jis0208<<14 | 0x5B<<7 | 0x0E, - 37463 - 19968: jis0208<<14 | 0x4D<<7 | 0x48, - 37464 - 19968: jis0212<<14 | 0x42<<7 | 0x41, - 37465 - 19968: jis0208<<14 | 0x5B<<7 | 0x0D, - 37466 - 19968: jis0208<<14 | 0x4D<<7 | 0x55, - 37467 - 19968: jis0208<<14 | 0x10<<7 | 0x53, - 37468 - 19968: jis0212<<14 | 0x42<<7 | 0x43, - 37469 - 19968: jis0212<<14 | 0x42<<7 | 0x44, - 37470 - 19968: jis0208<<14 | 0x4D<<7 | 0x47, - 37472 - 19968: jis0212<<14 | 0x42<<7 | 0x45, - 37473 - 19968: jis0212<<14 | 0x42<<7 | 0x46, - 37474 - 19968: jis0208<<14 | 0x27<<7 | 0x0C, - 37476 - 19968: jis0208<<14 | 0x4D<<7 | 0x4B, - 37477 - 19968: jis0212<<14 | 0x42<<7 | 0x47, - 37478 - 19968: jis0208<<14 | 0x1D<<7 | 0x3F, - 37479 - 19968: jis0208<<14 | 0x5B<<7 | 0x10, - 37480 - 19968: jis0212<<14 | 0x42<<7 | 0x49, - 37481 - 19968: jis0212<<14 | 0x42<<7 | 0x4A, - 37486 - 19968: jis0212<<14 | 0x42<<7 | 0x4B, - 37487 - 19968: jis0212<<14 | 0x42<<7 | 0x4C, - 37488 - 19968: jis0212<<14 | 0x42<<7 | 0x4D, - 37489 - 19968: jis0208<<14 | 0x18<<7 | 0x3A, - 37493 - 19968: jis0212<<14 | 0x42<<7 | 0x4E, - 37494 - 19968: jis0212<<14 | 0x42<<7 | 0x4F, - 37495 - 19968: jis0208<<14 | 0x5B<<7 | 0x12, - 37496 - 19968: jis0208<<14 | 0x5B<<7 | 0x13, - 37497 - 19968: jis0212<<14 | 0x42<<7 | 0x52, - 37499 - 19968: jis0212<<14 | 0x42<<7 | 0x53, - 37500 - 19968: jis0212<<14 | 0x42<<7 | 0x54, - 37501 - 19968: jis0212<<14 | 0x42<<7 | 0x55, - 37502 - 19968: jis0208<<14 | 0x2A<<7 | 0x27, - 37503 - 19968: jis0212<<14 | 0x42<<7 | 0x56, - 37504 - 19968: jis0208<<14 | 0x15<<7 | 0x43, - 37507 - 19968: jis0208<<14 | 0x1C<<7 | 0x25, - 37509 - 19968: jis0208<<14 | 0x25<<7 | 0x1B, - 37512 - 19968: jis0208<<14 | 0x58<<7 | 0x03, - 37513 - 19968: jis0212<<14 | 0x42<<7 | 0x58, - 37514 - 19968: jis0212<<14 | 0x42<<7 | 0x59, - 37517 - 19968: jis0212<<14 | 0x42<<7 | 0x5A, - 37518 - 19968: jis0212<<14 | 0x42<<7 | 0x5B, - 37521 - 19968: jis0208<<14 | 0x20<<7 | 0x0C, - 37522 - 19968: jis0212<<14 | 0x42<<7 | 0x5C, - 37523 - 19968: jis0208<<14 | 0x4D<<7 | 0x53, - 37525 - 19968: jis0208<<14 | 0x4D<<7 | 0x4D, - 37526 - 19968: jis0208<<14 | 0x4D<<7 | 0x52, - 37527 - 19968: jis0212<<14 | 0x42<<7 | 0x5D, - 37528 - 19968: jis0208<<14 | 0x2B<<7 | 0x22, - 37529 - 19968: jis0212<<14 | 0x43<<7 | 0x00, - 37530 - 19968: jis0208<<14 | 0x23<<7 | 0x17, - 37531 - 19968: jis0208<<14 | 0x4D<<7 | 0x54, - 37532 - 19968: jis0208<<14 | 0x4D<<7 | 0x51, - 37535 - 19968: jis0212<<14 | 0x43<<7 | 0x01, - 37536 - 19968: jis0212<<14 | 0x43<<7 | 0x02, - 37540 - 19968: jis0212<<14 | 0x43<<7 | 0x03, - 37541 - 19968: jis0212<<14 | 0x43<<7 | 0x04, - 37543 - 19968: jis0208<<14 | 0x5B<<7 | 0x11, - 37544 - 19968: jis0212<<14 | 0x43<<7 | 0x06, - 37547 - 19968: jis0212<<14 | 0x43<<7 | 0x07, - 37549 - 19968: jis0208<<14 | 0x20<<7 | 0x0B, - 37551 - 19968: jis0212<<14 | 0x43<<7 | 0x08, - 37554 - 19968: jis0212<<14 | 0x43<<7 | 0x09, - 37558 - 19968: jis0212<<14 | 0x43<<7 | 0x0A, - 37559 - 19968: jis0208<<14 | 0x4D<<7 | 0x58, - 37560 - 19968: jis0212<<14 | 0x43<<7 | 0x0B, - 37561 - 19968: jis0208<<14 | 0x4D<<7 | 0x57, - 37562 - 19968: jis0212<<14 | 0x43<<7 | 0x0C, - 37563 - 19968: jis0212<<14 | 0x43<<7 | 0x0D, - 37564 - 19968: jis0212<<14 | 0x43<<7 | 0x0E, - 37565 - 19968: jis0212<<14 | 0x43<<7 | 0x0F, - 37567 - 19968: jis0212<<14 | 0x43<<7 | 0x10, - 37568 - 19968: jis0212<<14 | 0x43<<7 | 0x11, - 37569 - 19968: jis0212<<14 | 0x43<<7 | 0x12, - 37570 - 19968: jis0212<<14 | 0x43<<7 | 0x13, - 37571 - 19968: jis0212<<14 | 0x43<<7 | 0x14, - 37573 - 19968: jis0212<<14 | 0x43<<7 | 0x15, - 37574 - 19968: jis0212<<14 | 0x43<<7 | 0x16, - 37575 - 19968: jis0212<<14 | 0x43<<7 | 0x17, - 37576 - 19968: jis0212<<14 | 0x43<<7 | 0x18, - 37579 - 19968: jis0212<<14 | 0x43<<7 | 0x19, - 37580 - 19968: jis0212<<14 | 0x43<<7 | 0x1A, - 37581 - 19968: jis0212<<14 | 0x43<<7 | 0x1B, - 37582 - 19968: jis0212<<14 | 0x43<<7 | 0x1C, - 37583 - 19968: jis0208<<14 | 0x4D<<7 | 0x56, - 37584 - 19968: jis0208<<14 | 0x5B<<7 | 0x17, - 37586 - 19968: jis0208<<14 | 0x2A<<7 | 0x0E, - 37587 - 19968: jis0208<<14 | 0x5B<<7 | 0x1B, - 37589 - 19968: jis0208<<14 | 0x5B<<7 | 0x19, - 37591 - 19968: jis0208<<14 | 0x5B<<7 | 0x15, - 37592 - 19968: jis0212<<14 | 0x43<<7 | 0x21, - 37593 - 19968: jis0208<<14 | 0x5B<<7 | 0x16, - 37596 - 19968: jis0212<<14 | 0x43<<7 | 0x23, - 37597 - 19968: jis0212<<14 | 0x43<<7 | 0x24, - 37599 - 19968: jis0212<<14 | 0x43<<7 | 0x25, - 37600 - 19968: jis0208<<14 | 0x5B<<7 | 0x1A, - 37601 - 19968: jis0212<<14 | 0x43<<7 | 0x27, - 37603 - 19968: jis0212<<14 | 0x43<<7 | 0x28, - 37604 - 19968: jis0208<<14 | 0x1C<<7 | 0x5A, - 37605 - 19968: jis0212<<14 | 0x43<<7 | 0x29, - 37607 - 19968: jis0208<<14 | 0x5B<<7 | 0x14, - 37608 - 19968: jis0212<<14 | 0x43<<7 | 0x2B, - 37609 - 19968: jis0208<<14 | 0x4D<<7 | 0x59, - 37610 - 19968: jis0208<<14 | 0x29<<7 | 0x3E, - 37612 - 19968: jis0212<<14 | 0x43<<7 | 0x2C, - 37613 - 19968: jis0208<<14 | 0x10<<7 | 0x33, - 37614 - 19968: jis0212<<14 | 0x43<<7 | 0x2D, - 37616 - 19968: jis0212<<14 | 0x43<<7 | 0x2E, - 37618 - 19968: jis0208<<14 | 0x28<<7 | 0x25, - 37619 - 19968: jis0208<<14 | 0x22<<7 | 0x51, - 37624 - 19968: jis0208<<14 | 0x14<<7 | 0x57, - 37625 - 19968: jis0208<<14 | 0x58<<7 | 0x09, - 37626 - 19968: jis0208<<14 | 0x4D<<7 | 0x5B, - 37627 - 19968: jis0208<<14 | 0x5B<<7 | 0x1E, - 37628 - 19968: jis0208<<14 | 0x18<<7 | 0x3C, - 37631 - 19968: jis0208<<14 | 0x5B<<7 | 0x21, - 37632 - 19968: jis0212<<14 | 0x43<<7 | 0x32, - 37634 - 19968: jis0208<<14 | 0x5B<<7 | 0x23, - 37638 - 19968: jis0208<<14 | 0x1A<<7 | 0x0B, - 37640 - 19968: jis0212<<14 | 0x43<<7 | 0x34, - 37645 - 19968: jis0212<<14 | 0x43<<7 | 0x35, - 37647 - 19968: jis0208<<14 | 0x4D<<7 | 0x5A, - 37648 - 19968: jis0208<<14 | 0x1E<<7 | 0x4C, - 37649 - 19968: jis0212<<14 | 0x43<<7 | 0x36, - 37652 - 19968: jis0212<<14 | 0x43<<7 | 0x37, - 37653 - 19968: jis0212<<14 | 0x43<<7 | 0x38, - 37656 - 19968: jis0208<<14 | 0x1E<<7 | 0x4D, - 37657 - 19968: jis0208<<14 | 0x4E<<7 | 0x00, - 37658 - 19968: jis0208<<14 | 0x4E<<7 | 0x02, - 37660 - 19968: jis0212<<14 | 0x43<<7 | 0x39, - 37661 - 19968: jis0208<<14 | 0x5B<<7 | 0x22, - 37662 - 19968: jis0208<<14 | 0x5B<<7 | 0x20, - 37663 - 19968: jis0212<<14 | 0x43<<7 | 0x3C, - 37664 - 19968: jis0208<<14 | 0x1D<<7 | 0x5A, - 37665 - 19968: jis0208<<14 | 0x5B<<7 | 0x1D, - 37666 - 19968: jis0208<<14 | 0x4E<<7 | 0x01, - 37667 - 19968: jis0208<<14 | 0x4E<<7 | 0x03, - 37668 - 19968: jis0212<<14 | 0x43<<7 | 0x3E, - 37669 - 19968: jis0208<<14 | 0x5B<<7 | 0x1C, - 37670 - 19968: jis0208<<14 | 0x15<<7 | 0x32, - 37671 - 19968: jis0212<<14 | 0x43<<7 | 0x40, - 37672 - 19968: jis0208<<14 | 0x28<<7 | 0x24, - 37673 - 19968: jis0212<<14 | 0x43<<7 | 0x41, - 37674 - 19968: jis0212<<14 | 0x43<<7 | 0x42, - 37675 - 19968: jis0208<<14 | 0x1B<<7 | 0x41, - 37676 - 19968: jis0208<<14 | 0x2E<<7 | 0x02, - 37678 - 19968: jis0208<<14 | 0x4D<<7 | 0x5D, - 37679 - 19968: jis0208<<14 | 0x19<<7 | 0x57, - 37682 - 19968: jis0208<<14 | 0x2E<<7 | 0x1E, - 37683 - 19968: jis0212<<14 | 0x43<<7 | 0x43, - 37684 - 19968: jis0212<<14 | 0x43<<7 | 0x44, - 37685 - 19968: jis0208<<14 | 0x4E<<7 | 0x05, - 37686 - 19968: jis0212<<14 | 0x43<<7 | 0x45, - 37687 - 19968: jis0212<<14 | 0x43<<7 | 0x46, - 37690 - 19968: jis0208<<14 | 0x4E<<7 | 0x04, - 37691 - 19968: jis0208<<14 | 0x4E<<7 | 0x06, - 37700 - 19968: jis0208<<14 | 0x4D<<7 | 0x5C, - 37703 - 19968: jis0212<<14 | 0x43<<7 | 0x47, - 37704 - 19968: jis0208<<14 | 0x58<<7 | 0x02, - 37705 - 19968: jis0212<<14 | 0x43<<7 | 0x49, - 37707 - 19968: jis0208<<14 | 0x25<<7 | 0x48, - 37709 - 19968: jis0208<<14 | 0x24<<7 | 0x34, - 37712 - 19968: jis0212<<14 | 0x43<<7 | 0x4A, - 37713 - 19968: jis0212<<14 | 0x43<<7 | 0x4B, - 37714 - 19968: jis0212<<14 | 0x43<<7 | 0x4C, - 37716 - 19968: jis0208<<14 | 0x23<<7 | 0x36, - 37717 - 19968: jis0212<<14 | 0x43<<7 | 0x4D, - 37718 - 19968: jis0208<<14 | 0x4E<<7 | 0x0B, - 37719 - 19968: jis0208<<14 | 0x5B<<7 | 0x25, - 37720 - 19968: jis0212<<14 | 0x43<<7 | 0x4F, - 37722 - 19968: jis0212<<14 | 0x43<<7 | 0x50, - 37723 - 19968: jis0208<<14 | 0x22<<7 | 0x22, - 37724 - 19968: jis0208<<14 | 0x4E<<7 | 0x07, - 37726 - 19968: jis0212<<14 | 0x43<<7 | 0x51, - 37728 - 19968: jis0208<<14 | 0x4E<<7 | 0x08, - 37732 - 19968: jis0212<<14 | 0x43<<7 | 0x52, - 37733 - 19968: jis0212<<14 | 0x43<<7 | 0x53, - 37735 - 19968: jis0212<<14 | 0x43<<7 | 0x54, - 37737 - 19968: jis0212<<14 | 0x43<<7 | 0x55, - 37738 - 19968: jis0212<<14 | 0x43<<7 | 0x56, - 37740 - 19968: jis0208<<14 | 0x16<<7 | 0x0C, - 37741 - 19968: jis0212<<14 | 0x43<<7 | 0x57, - 37742 - 19968: jis0208<<14 | 0x4E<<7 | 0x0A, - 37743 - 19968: jis0212<<14 | 0x43<<7 | 0x58, - 37744 - 19968: jis0208<<14 | 0x5B<<7 | 0x24, - 37745 - 19968: jis0212<<14 | 0x43<<7 | 0x5A, - 37747 - 19968: jis0212<<14 | 0x43<<7 | 0x5B, - 37748 - 19968: jis0212<<14 | 0x43<<7 | 0x5C, - 37749 - 19968: jis0208<<14 | 0x17<<7 | 0x0F, - 37750 - 19968: jis0212<<14 | 0x43<<7 | 0x5D, - 37754 - 19968: jis0212<<14 | 0x44<<7 | 0x00, - 37756 - 19968: jis0208<<14 | 0x4E<<7 | 0x09, - 37757 - 19968: jis0212<<14 | 0x44<<7 | 0x01, - 37758 - 19968: jis0208<<14 | 0x1D<<7 | 0x40, - 37759 - 19968: jis0212<<14 | 0x44<<7 | 0x02, - 37760 - 19968: jis0212<<14 | 0x44<<7 | 0x03, - 37761 - 19968: jis0212<<14 | 0x44<<7 | 0x04, - 37762 - 19968: jis0212<<14 | 0x44<<7 | 0x05, - 37768 - 19968: jis0212<<14 | 0x44<<7 | 0x06, - 37770 - 19968: jis0212<<14 | 0x44<<7 | 0x07, - 37771 - 19968: jis0212<<14 | 0x44<<7 | 0x08, - 37772 - 19968: jis0208<<14 | 0x12<<7 | 0x58, - 37773 - 19968: jis0212<<14 | 0x44<<7 | 0x09, - 37775 - 19968: jis0212<<14 | 0x44<<7 | 0x0A, - 37778 - 19968: jis0212<<14 | 0x44<<7 | 0x0B, - 37780 - 19968: jis0208<<14 | 0x4E<<7 | 0x0F, - 37781 - 19968: jis0212<<14 | 0x44<<7 | 0x0C, - 37782 - 19968: jis0208<<14 | 0x19<<7 | 0x1E, - 37783 - 19968: jis0208<<14 | 0x20<<7 | 0x58, - 37784 - 19968: jis0212<<14 | 0x44<<7 | 0x0D, - 37786 - 19968: jis0208<<14 | 0x23<<7 | 0x29, - 37787 - 19968: jis0212<<14 | 0x44<<7 | 0x0E, - 37790 - 19968: jis0212<<14 | 0x44<<7 | 0x0F, - 37793 - 19968: jis0212<<14 | 0x44<<7 | 0x10, - 37795 - 19968: jis0212<<14 | 0x44<<7 | 0x11, - 37796 - 19968: jis0208<<14 | 0x5B<<7 | 0x26, - 37798 - 19968: jis0212<<14 | 0x44<<7 | 0x13, - 37799 - 19968: jis0208<<14 | 0x12<<7 | 0x1A, - 37800 - 19968: jis0212<<14 | 0x44<<7 | 0x14, - 37801 - 19968: jis0212<<14 | 0x44<<7 | 0x1A, - 37803 - 19968: jis0212<<14 | 0x44<<7 | 0x15, - 37804 - 19968: jis0208<<14 | 0x4E<<7 | 0x0D, - 37805 - 19968: jis0208<<14 | 0x4E<<7 | 0x0E, - 37806 - 19968: jis0208<<14 | 0x23<<7 | 0x22, - 37808 - 19968: jis0208<<14 | 0x4E<<7 | 0x0C, - 37812 - 19968: jis0212<<14 | 0x44<<7 | 0x16, - 37813 - 19968: jis0212<<14 | 0x44<<7 | 0x17, - 37814 - 19968: jis0212<<14 | 0x44<<7 | 0x18, - 37817 - 19968: jis0208<<14 | 0x4E<<7 | 0x10, - 37818 - 19968: jis0212<<14 | 0x44<<7 | 0x19, - 37825 - 19968: jis0212<<14 | 0x44<<7 | 0x1B, - 37827 - 19968: jis0208<<14 | 0x4E<<7 | 0x16, - 37828 - 19968: jis0212<<14 | 0x44<<7 | 0x1C, - 37829 - 19968: jis0212<<14 | 0x44<<7 | 0x1D, - 37830 - 19968: jis0208<<14 | 0x5B<<7 | 0x27, - 37831 - 19968: jis0212<<14 | 0x44<<7 | 0x1F, - 37832 - 19968: jis0208<<14 | 0x4E<<7 | 0x19, - 37833 - 19968: jis0212<<14 | 0x44<<7 | 0x20, - 37834 - 19968: jis0212<<14 | 0x44<<7 | 0x21, - 37835 - 19968: jis0212<<14 | 0x44<<7 | 0x22, - 37836 - 19968: jis0212<<14 | 0x44<<7 | 0x23, - 37837 - 19968: jis0212<<14 | 0x44<<7 | 0x24, - 37840 - 19968: jis0208<<14 | 0x4E<<7 | 0x18, - 37841 - 19968: jis0208<<14 | 0x24<<7 | 0x0C, - 37843 - 19968: jis0212<<14 | 0x44<<7 | 0x25, - 37846 - 19968: jis0208<<14 | 0x4E<<7 | 0x11, - 37847 - 19968: jis0208<<14 | 0x4E<<7 | 0x12, - 37848 - 19968: jis0208<<14 | 0x4E<<7 | 0x15, - 37849 - 19968: jis0212<<14 | 0x44<<7 | 0x26, - 37852 - 19968: jis0212<<14 | 0x44<<7 | 0x27, - 37853 - 19968: jis0208<<14 | 0x4E<<7 | 0x17, - 37854 - 19968: jis0208<<14 | 0x5B<<7 | 0x28, - 37855 - 19968: jis0212<<14 | 0x44<<7 | 0x29, - 37857 - 19968: jis0208<<14 | 0x15<<7 | 0x1F, - 37858 - 19968: jis0212<<14 | 0x44<<7 | 0x2A, - 37860 - 19968: jis0208<<14 | 0x4E<<7 | 0x1A, - 37861 - 19968: jis0208<<14 | 0x4E<<7 | 0x14, - 37862 - 19968: jis0212<<14 | 0x44<<7 | 0x2B, - 37863 - 19968: jis0212<<14 | 0x44<<7 | 0x2C, - 37864 - 19968: jis0208<<14 | 0x4E<<7 | 0x13, - 37879 - 19968: jis0212<<14 | 0x44<<7 | 0x2E, - 37880 - 19968: jis0208<<14 | 0x5B<<7 | 0x29, - 37881 - 19968: jis0212<<14 | 0x44<<7 | 0x2D, - 37882 - 19968: jis0212<<14 | 0x44<<7 | 0x30, - 37883 - 19968: jis0212<<14 | 0x44<<7 | 0x31, - 37885 - 19968: jis0212<<14 | 0x44<<7 | 0x32, - 37889 - 19968: jis0212<<14 | 0x44<<7 | 0x33, - 37890 - 19968: jis0212<<14 | 0x44<<7 | 0x34, - 37891 - 19968: jis0208<<14 | 0x4E<<7 | 0x1E, - 37892 - 19968: jis0212<<14 | 0x44<<7 | 0x35, - 37895 - 19968: jis0208<<14 | 0x4E<<7 | 0x1F, - 37896 - 19968: jis0212<<14 | 0x44<<7 | 0x36, - 37897 - 19968: jis0212<<14 | 0x44<<7 | 0x37, - 37901 - 19968: jis0212<<14 | 0x44<<7 | 0x38, - 37902 - 19968: jis0212<<14 | 0x44<<7 | 0x39, - 37903 - 19968: jis0212<<14 | 0x44<<7 | 0x3A, - 37904 - 19968: jis0208<<14 | 0x4E<<7 | 0x20, - 37907 - 19968: jis0208<<14 | 0x4E<<7 | 0x1D, - 37908 - 19968: jis0208<<14 | 0x4E<<7 | 0x1C, - 37909 - 19968: jis0212<<14 | 0x44<<7 | 0x3B, - 37910 - 19968: jis0212<<14 | 0x44<<7 | 0x3C, - 37911 - 19968: jis0212<<14 | 0x44<<7 | 0x3D, - 37912 - 19968: jis0208<<14 | 0x1D<<7 | 0x41, - 37913 - 19968: jis0208<<14 | 0x25<<7 | 0x09, - 37914 - 19968: jis0208<<14 | 0x4E<<7 | 0x1B, - 37919 - 19968: jis0212<<14 | 0x44<<7 | 0x3E, - 37921 - 19968: jis0208<<14 | 0x4E<<7 | 0x24, - 37931 - 19968: jis0208<<14 | 0x4E<<7 | 0x22, - 37934 - 19968: jis0212<<14 | 0x44<<7 | 0x3F, - 37935 - 19968: jis0212<<14 | 0x44<<7 | 0x40, - 37937 - 19968: jis0208<<14 | 0x5B<<7 | 0x2A, - 37938 - 19968: jis0212<<14 | 0x44<<7 | 0x42, - 37939 - 19968: jis0212<<14 | 0x44<<7 | 0x43, - 37940 - 19968: jis0212<<14 | 0x44<<7 | 0x44, - 37941 - 19968: jis0208<<14 | 0x4E<<7 | 0x23, - 37942 - 19968: jis0208<<14 | 0x4E<<7 | 0x21, - 37944 - 19968: jis0208<<14 | 0x21<<7 | 0x57, - 37946 - 19968: jis0208<<14 | 0x4E<<7 | 0x25, - 37947 - 19968: jis0212<<14 | 0x44<<7 | 0x45, - 37949 - 19968: jis0212<<14 | 0x44<<7 | 0x47, - 37951 - 19968: jis0212<<14 | 0x44<<7 | 0x46, - 37953 - 19968: jis0208<<14 | 0x4E<<7 | 0x26, - 37955 - 19968: jis0212<<14 | 0x44<<7 | 0x48, - 37956 - 19968: jis0208<<14 | 0x4E<<7 | 0x28, - 37957 - 19968: jis0208<<14 | 0x5B<<7 | 0x2B, - 37960 - 19968: jis0208<<14 | 0x5B<<7 | 0x2C, - 37962 - 19968: jis0212<<14 | 0x44<<7 | 0x4B, - 37964 - 19968: jis0212<<14 | 0x44<<7 | 0x4C, - 37969 - 19968: jis0208<<14 | 0x13<<7 | 0x34, - 37970 - 19968: jis0208<<14 | 0x4E<<7 | 0x27, - 37971 - 19968: jis0208<<14 | 0x2B<<7 | 0x59, - 37973 - 19968: jis0212<<14 | 0x44<<7 | 0x4D, - 37977 - 19968: jis0212<<14 | 0x44<<7 | 0x4E, - 37978 - 19968: jis0208<<14 | 0x4E<<7 | 0x33, - 37979 - 19968: jis0208<<14 | 0x4E<<7 | 0x29, - 37980 - 19968: jis0212<<14 | 0x44<<7 | 0x4F, - 37982 - 19968: jis0208<<14 | 0x4E<<7 | 0x2C, - 37983 - 19968: jis0212<<14 | 0x44<<7 | 0x50, - 37984 - 19968: jis0208<<14 | 0x4E<<7 | 0x2A, - 37985 - 19968: jis0212<<14 | 0x44<<7 | 0x51, - 37986 - 19968: jis0208<<14 | 0x4E<<7 | 0x2B, - 37987 - 19968: jis0212<<14 | 0x44<<7 | 0x52, - 37992 - 19968: jis0212<<14 | 0x44<<7 | 0x53, - 37994 - 19968: jis0208<<14 | 0x4E<<7 | 0x2D, - 37995 - 19968: jis0212<<14 | 0x44<<7 | 0x54, - 37997 - 19968: jis0212<<14 | 0x44<<7 | 0x55, - 37998 - 19968: jis0212<<14 | 0x44<<7 | 0x56, - 37999 - 19968: jis0212<<14 | 0x44<<7 | 0x57, - 38000 - 19968: jis0208<<14 | 0x4E<<7 | 0x2F, - 38001 - 19968: jis0212<<14 | 0x44<<7 | 0x58, - 38002 - 19968: jis0212<<14 | 0x44<<7 | 0x59, - 38005 - 19968: jis0208<<14 | 0x4E<<7 | 0x30, - 38007 - 19968: jis0208<<14 | 0x4E<<7 | 0x31, - 38012 - 19968: jis0208<<14 | 0x4E<<7 | 0x34, - 38013 - 19968: jis0208<<14 | 0x4E<<7 | 0x32, - 38014 - 19968: jis0208<<14 | 0x4E<<7 | 0x35, - 38015 - 19968: jis0208<<14 | 0x4E<<7 | 0x37, - 38017 - 19968: jis0208<<14 | 0x4E<<7 | 0x36, - 38019 - 19968: jis0212<<14 | 0x44<<7 | 0x5B, - 38020 - 19968: jis0212<<14 | 0x44<<7 | 0x5A, - 38263 - 19968: jis0208<<14 | 0x23<<7 | 0x18, - 38264 - 19968: jis0212<<14 | 0x44<<7 | 0x5C, - 38265 - 19968: jis0212<<14 | 0x44<<7 | 0x5D, - 38270 - 19968: jis0212<<14 | 0x45<<7 | 0x00, - 38272 - 19968: jis0208<<14 | 0x2B<<7 | 0x46, - 38274 - 19968: jis0208<<14 | 0x4E<<7 | 0x38, - 38275 - 19968: jis0208<<14 | 0x20<<7 | 0x0D, - 38276 - 19968: jis0212<<14 | 0x45<<7 | 0x01, - 38279 - 19968: jis0208<<14 | 0x4E<<7 | 0x39, - 38280 - 19968: jis0212<<14 | 0x45<<7 | 0x02, - 38281 - 19968: jis0208<<14 | 0x29<<7 | 0x23, - 38282 - 19968: jis0208<<14 | 0x4E<<7 | 0x3A, - 38283 - 19968: jis0208<<14 | 0x12<<7 | 0x0A, - 38284 - 19968: jis0212<<14 | 0x45<<7 | 0x03, - 38285 - 19968: jis0212<<14 | 0x45<<7 | 0x04, - 38286 - 19968: jis0212<<14 | 0x45<<7 | 0x05, - 38287 - 19968: jis0208<<14 | 0x10<<7 | 0x1B, - 38289 - 19968: jis0208<<14 | 0x13<<7 | 0x36, - 38290 - 19968: jis0208<<14 | 0x5B<<7 | 0x2D, - 38291 - 19968: jis0208<<14 | 0x13<<7 | 0x35, - 38292 - 19968: jis0208<<14 | 0x4E<<7 | 0x3B, - 38294 - 19968: jis0208<<14 | 0x4E<<7 | 0x3C, - 38296 - 19968: jis0208<<14 | 0x4E<<7 | 0x3D, - 38297 - 19968: jis0208<<14 | 0x4E<<7 | 0x3E, - 38301 - 19968: jis0212<<14 | 0x45<<7 | 0x06, - 38302 - 19968: jis0212<<14 | 0x45<<7 | 0x07, - 38303 - 19968: jis0212<<14 | 0x45<<7 | 0x08, - 38304 - 19968: jis0208<<14 | 0x4E<<7 | 0x3F, - 38305 - 19968: jis0212<<14 | 0x45<<7 | 0x09, - 38306 - 19968: jis0208<<14 | 0x13<<7 | 0x37, - 38307 - 19968: jis0208<<14 | 0x12<<7 | 0x34, - 38308 - 19968: jis0208<<14 | 0x18<<7 | 0x3D, - 38309 - 19968: jis0208<<14 | 0x27<<7 | 0x15, - 38310 - 19968: jis0212<<14 | 0x45<<7 | 0x0A, - 38311 - 19968: jis0208<<14 | 0x4E<<7 | 0x41, - 38312 - 19968: jis0208<<14 | 0x4E<<7 | 0x40, - 38313 - 19968: jis0212<<14 | 0x45<<7 | 0x0B, - 38315 - 19968: jis0212<<14 | 0x45<<7 | 0x0C, - 38316 - 19968: jis0212<<14 | 0x45<<7 | 0x0D, - 38317 - 19968: jis0208<<14 | 0x4E<<7 | 0x42, - 38322 - 19968: jis0208<<14 | 0x10<<7 | 0x3B, - 38324 - 19968: jis0212<<14 | 0x45<<7 | 0x0E, - 38326 - 19968: jis0212<<14 | 0x45<<7 | 0x0F, - 38329 - 19968: jis0208<<14 | 0x4E<<7 | 0x45, - 38330 - 19968: jis0212<<14 | 0x45<<7 | 0x10, - 38331 - 19968: jis0208<<14 | 0x4E<<7 | 0x44, - 38332 - 19968: jis0208<<14 | 0x4E<<7 | 0x43, - 38333 - 19968: jis0212<<14 | 0x45<<7 | 0x11, - 38334 - 19968: jis0208<<14 | 0x4E<<7 | 0x46, - 38335 - 19968: jis0212<<14 | 0x45<<7 | 0x12, - 38339 - 19968: jis0208<<14 | 0x4E<<7 | 0x49, - 38342 - 19968: jis0212<<14 | 0x45<<7 | 0x13, - 38343 - 19968: jis0208<<14 | 0x0F<<7 | 0x26, - 38344 - 19968: jis0212<<14 | 0x45<<7 | 0x14, - 38345 - 19968: jis0212<<14 | 0x45<<7 | 0x15, - 38346 - 19968: jis0208<<14 | 0x4E<<7 | 0x47, - 38347 - 19968: jis0212<<14 | 0x45<<7 | 0x16, - 38348 - 19968: jis0208<<14 | 0x4E<<7 | 0x4B, - 38349 - 19968: jis0208<<14 | 0x4E<<7 | 0x4A, - 38352 - 19968: jis0212<<14 | 0x45<<7 | 0x17, - 38353 - 19968: jis0212<<14 | 0x45<<7 | 0x18, - 38354 - 19968: jis0212<<14 | 0x45<<7 | 0x19, - 38355 - 19968: jis0212<<14 | 0x45<<7 | 0x1A, - 38356 - 19968: jis0208<<14 | 0x4E<<7 | 0x4D, - 38357 - 19968: jis0208<<14 | 0x4E<<7 | 0x4C, - 38358 - 19968: jis0208<<14 | 0x4E<<7 | 0x4E, - 38360 - 19968: jis0208<<14 | 0x25<<7 | 0x0D, - 38361 - 19968: jis0212<<14 | 0x45<<7 | 0x1B, - 38362 - 19968: jis0212<<14 | 0x45<<7 | 0x1C, - 38364 - 19968: jis0208<<14 | 0x4E<<7 | 0x4F, - 38365 - 19968: jis0212<<14 | 0x45<<7 | 0x1D, - 38366 - 19968: jis0212<<14 | 0x45<<7 | 0x1E, - 38367 - 19968: jis0212<<14 | 0x45<<7 | 0x1F, - 38368 - 19968: jis0212<<14 | 0x45<<7 | 0x20, - 38369 - 19968: jis0208<<14 | 0x4E<<7 | 0x50, - 38370 - 19968: jis0208<<14 | 0x4E<<7 | 0x52, - 38372 - 19968: jis0212<<14 | 0x45<<7 | 0x21, - 38373 - 19968: jis0208<<14 | 0x4E<<7 | 0x51, - 38374 - 19968: jis0212<<14 | 0x45<<7 | 0x22, - 38428 - 19968: jis0208<<14 | 0x28<<7 | 0x4B, - 38429 - 19968: jis0212<<14 | 0x45<<7 | 0x23, - 38430 - 19968: jis0212<<14 | 0x45<<7 | 0x24, - 38433 - 19968: jis0208<<14 | 0x4E<<7 | 0x53, - 38434 - 19968: jis0212<<14 | 0x45<<7 | 0x25, - 38436 - 19968: jis0212<<14 | 0x45<<7 | 0x26, - 38437 - 19968: jis0212<<14 | 0x45<<7 | 0x27, - 38438 - 19968: jis0212<<14 | 0x45<<7 | 0x28, - 38440 - 19968: jis0208<<14 | 0x4E<<7 | 0x54, - 38442 - 19968: jis0208<<14 | 0x19<<7 | 0x44, - 38444 - 19968: jis0212<<14 | 0x45<<7 | 0x29, - 38446 - 19968: jis0208<<14 | 0x4E<<7 | 0x55, - 38447 - 19968: jis0208<<14 | 0x4E<<7 | 0x56, - 38449 - 19968: jis0212<<14 | 0x45<<7 | 0x2A, - 38450 - 19968: jis0208<<14 | 0x2A<<7 | 0x28, - 38451 - 19968: jis0212<<14 | 0x45<<7 | 0x2B, - 38455 - 19968: jis0212<<14 | 0x45<<7 | 0x2C, - 38456 - 19968: jis0212<<14 | 0x45<<7 | 0x2D, - 38457 - 19968: jis0212<<14 | 0x45<<7 | 0x2E, - 38458 - 19968: jis0212<<14 | 0x45<<7 | 0x2F, - 38459 - 19968: jis0208<<14 | 0x20<<7 | 0x2A, - 38460 - 19968: jis0212<<14 | 0x45<<7 | 0x30, - 38461 - 19968: jis0212<<14 | 0x45<<7 | 0x31, - 38463 - 19968: jis0208<<14 | 0x0F<<7 | 0x03, - 38464 - 19968: jis0208<<14 | 0x21<<7 | 0x2A, - 38465 - 19968: jis0212<<14 | 0x45<<7 | 0x32, - 38466 - 19968: jis0208<<14 | 0x4E<<7 | 0x57, - 38468 - 19968: jis0208<<14 | 0x28<<7 | 0x4C, - 38475 - 19968: jis0208<<14 | 0x4E<<7 | 0x5A, - 38476 - 19968: jis0208<<14 | 0x4E<<7 | 0x58, - 38477 - 19968: jis0208<<14 | 0x18<<7 | 0x3E, - 38479 - 19968: jis0208<<14 | 0x4E<<7 | 0x59, - 38480 - 19968: jis0208<<14 | 0x17<<7 | 0x21, - 38482 - 19968: jis0212<<14 | 0x45<<7 | 0x33, - 38484 - 19968: jis0212<<14 | 0x45<<7 | 0x34, - 38486 - 19968: jis0212<<14 | 0x45<<7 | 0x35, - 38487 - 19968: jis0212<<14 | 0x45<<7 | 0x36, - 38488 - 19968: jis0212<<14 | 0x45<<7 | 0x37, - 38491 - 19968: jis0208<<14 | 0x29<<7 | 0x24, - 38492 - 19968: jis0208<<14 | 0x4E<<7 | 0x5C, - 38493 - 19968: jis0208<<14 | 0x4F<<7 | 0x00, - 38494 - 19968: jis0208<<14 | 0x4E<<7 | 0x5D, - 38495 - 19968: jis0208<<14 | 0x4F<<7 | 0x01, - 38497 - 19968: jis0212<<14 | 0x45<<7 | 0x38, - 38498 - 19968: jis0208<<14 | 0x10<<7 | 0x00, - 38499 - 19968: jis0208<<14 | 0x1E<<7 | 0x37, - 38500 - 19968: jis0208<<14 | 0x1C<<7 | 0x5B, - 38501 - 19968: jis0208<<14 | 0x13<<7 | 0x38, - 38502 - 19968: jis0208<<14 | 0x4F<<7 | 0x02, - 38506 - 19968: jis0208<<14 | 0x26<<7 | 0x45, - 38508 - 19968: jis0208<<14 | 0x4F<<7 | 0x04, - 38510 - 19968: jis0212<<14 | 0x45<<7 | 0x39, - 38512 - 19968: jis0208<<14 | 0x10<<7 | 0x01, - 38514 - 19968: jis0208<<14 | 0x4F<<7 | 0x03, - 38515 - 19968: jis0208<<14 | 0x23<<7 | 0x23, - 38516 - 19968: jis0212<<14 | 0x45<<7 | 0x3A, - 38517 - 19968: jis0208<<14 | 0x2D<<7 | 0x2C, - 38518 - 19968: jis0208<<14 | 0x25<<7 | 0x0A, - 38519 - 19968: jis0208<<14 | 0x4E<<7 | 0x5B, - 38520 - 19968: jis0208<<14 | 0x2D<<7 | 0x05, - 38522 - 19968: jis0208<<14 | 0x17<<7 | 0x10, - 38523 - 19968: jis0212<<14 | 0x45<<7 | 0x3B, - 38524 - 19968: jis0212<<14 | 0x45<<7 | 0x3C, - 38525 - 19968: jis0208<<14 | 0x2C<<7 | 0x3A, - 38526 - 19968: jis0212<<14 | 0x45<<7 | 0x3D, - 38527 - 19968: jis0212<<14 | 0x45<<7 | 0x3E, - 38529 - 19968: jis0212<<14 | 0x45<<7 | 0x3F, - 38530 - 19968: jis0212<<14 | 0x45<<7 | 0x40, - 38531 - 19968: jis0212<<14 | 0x45<<7 | 0x41, - 38532 - 19968: jis0212<<14 | 0x45<<7 | 0x42, - 38533 - 19968: jis0208<<14 | 0x15<<7 | 0x58, - 38534 - 19968: jis0208<<14 | 0x2D<<7 | 0x13, - 38536 - 19968: jis0208<<14 | 0x16<<7 | 0x07, - 38537 - 19968: jis0212<<14 | 0x45<<7 | 0x43, - 38538 - 19968: jis0208<<14 | 0x21<<7 | 0x41, - 38539 - 19968: jis0208<<14 | 0x46<<7 | 0x00, - 38541 - 19968: jis0208<<14 | 0x4F<<7 | 0x05, - 38542 - 19968: jis0208<<14 | 0x12<<7 | 0x0B, - 38543 - 19968: jis0208<<14 | 0x1E<<7 | 0x4E, - 38545 - 19968: jis0212<<14 | 0x45<<7 | 0x44, - 38548 - 19968: jis0208<<14 | 0x12<<7 | 0x35, - 38549 - 19968: jis0208<<14 | 0x4F<<7 | 0x07, - 38550 - 19968: jis0212<<14 | 0x45<<7 | 0x45, - 38551 - 19968: jis0208<<14 | 0x4F<<7 | 0x08, - 38552 - 19968: jis0208<<14 | 0x4F<<7 | 0x06, - 38553 - 19968: jis0208<<14 | 0x16<<7 | 0x43, - 38554 - 19968: jis0212<<14 | 0x45<<7 | 0x46, - 38555 - 19968: jis0208<<14 | 0x19<<7 | 0x3C, - 38556 - 19968: jis0208<<14 | 0x1D<<7 | 0x42, - 38557 - 19968: jis0208<<14 | 0x5B<<7 | 0x30, - 38559 - 19968: jis0212<<14 | 0x45<<7 | 0x48, - 38560 - 19968: jis0208<<14 | 0x10<<7 | 0x02, - 38563 - 19968: jis0208<<14 | 0x2D<<7 | 0x38, - 38564 - 19968: jis0212<<14 | 0x45<<7 | 0x49, - 38565 - 19968: jis0212<<14 | 0x45<<7 | 0x4A, - 38566 - 19968: jis0212<<14 | 0x45<<7 | 0x4B, - 38567 - 19968: jis0208<<14 | 0x4F<<7 | 0x0A, - 38568 - 19968: jis0208<<14 | 0x4D<<7 | 0x0D, - 38569 - 19968: jis0212<<14 | 0x45<<7 | 0x4C, - 38570 - 19968: jis0208<<14 | 0x4F<<7 | 0x09, - 38574 - 19968: jis0212<<14 | 0x45<<7 | 0x4D, - 38575 - 19968: jis0208<<14 | 0x5B<<7 | 0x31, - 38576 - 19968: jis0208<<14 | 0x4F<<7 | 0x0D, - 38577 - 19968: jis0208<<14 | 0x4F<<7 | 0x0B, - 38578 - 19968: jis0208<<14 | 0x4F<<7 | 0x0C, - 38579 - 19968: jis0212<<14 | 0x45<<7 | 0x4F, - 38580 - 19968: jis0208<<14 | 0x4F<<7 | 0x0E, - 38582 - 19968: jis0208<<14 | 0x4F<<7 | 0x0F, - 38583 - 19968: jis0208<<14 | 0x2D<<7 | 0x4B, - 38584 - 19968: jis0208<<14 | 0x4F<<7 | 0x10, - 38585 - 19968: jis0208<<14 | 0x4F<<7 | 0x11, - 38586 - 19968: jis0212<<14 | 0x45<<7 | 0x50, - 38587 - 19968: jis0208<<14 | 0x1F<<7 | 0x28, - 38588 - 19968: jis0208<<14 | 0x27<<7 | 0x1A, - 38592 - 19968: jis0208<<14 | 0x1E<<7 | 0x5C, - 38593 - 19968: jis0208<<14 | 0x13<<7 | 0x46, - 38596 - 19968: jis0208<<14 | 0x2C<<7 | 0x19, - 38597 - 19968: jis0208<<14 | 0x11<<7 | 0x4C, - 38598 - 19968: jis0208<<14 | 0x1C<<7 | 0x17, - 38599 - 19968: jis0208<<14 | 0x17<<7 | 0x3A, - 38601 - 19968: jis0208<<14 | 0x4F<<7 | 0x14, - 38602 - 19968: jis0212<<14 | 0x45<<7 | 0x51, - 38603 - 19968: jis0208<<14 | 0x4F<<7 | 0x13, - 38604 - 19968: jis0208<<14 | 0x1A<<7 | 0x52, - 38605 - 19968: jis0208<<14 | 0x4F<<7 | 0x15, - 38606 - 19968: jis0208<<14 | 0x4F<<7 | 0x12, - 38609 - 19968: jis0208<<14 | 0x1A<<7 | 0x07, - 38610 - 19968: jis0212<<14 | 0x45<<7 | 0x52, - 38613 - 19968: jis0208<<14 | 0x4F<<7 | 0x19, - 38614 - 19968: jis0208<<14 | 0x49<<7 | 0x0C, - 38616 - 19968: jis0212<<14 | 0x45<<7 | 0x54, - 38617 - 19968: jis0208<<14 | 0x31<<7 | 0x35, - 38618 - 19968: jis0212<<14 | 0x45<<7 | 0x55, - 38619 - 19968: jis0208<<14 | 0x1E<<7 | 0x56, - 38620 - 19968: jis0208<<14 | 0x4F<<7 | 0x17, - 38621 - 19968: jis0212<<14 | 0x45<<7 | 0x56, - 38622 - 19968: jis0212<<14 | 0x45<<7 | 0x57, - 38623 - 19968: jis0212<<14 | 0x45<<7 | 0x58, - 38626 - 19968: jis0208<<14 | 0x2D<<7 | 0x04, - 38627 - 19968: jis0208<<14 | 0x25<<7 | 0x50, - 38632 - 19968: jis0208<<14 | 0x10<<7 | 0x0A, - 38633 - 19968: jis0212<<14 | 0x45<<7 | 0x59, - 38634 - 19968: jis0208<<14 | 0x1F<<7 | 0x42, - 38635 - 19968: jis0208<<14 | 0x1B<<7 | 0x15, - 38639 - 19968: jis0212<<14 | 0x45<<7 | 0x5A, - 38640 - 19968: jis0208<<14 | 0x29<<7 | 0x16, - 38641 - 19968: jis0212<<14 | 0x45<<7 | 0x5B, - 38642 - 19968: jis0208<<14 | 0x10<<7 | 0x1F, - 38646 - 19968: jis0208<<14 | 0x2D<<7 | 0x4C, - 38647 - 19968: jis0208<<14 | 0x2C<<7 | 0x4A, - 38649 - 19968: jis0208<<14 | 0x4F<<7 | 0x1A, - 38650 - 19968: jis0212<<14 | 0x45<<7 | 0x5C, - 38651 - 19968: jis0208<<14 | 0x24<<7 | 0x24, - 38656 - 19968: jis0208<<14 | 0x1B<<7 | 0x5A, - 38658 - 19968: jis0212<<14 | 0x45<<7 | 0x5D, - 38659 - 19968: jis0212<<14 | 0x46<<7 | 0x00, - 38660 - 19968: jis0208<<14 | 0x4F<<7 | 0x1B, - 38661 - 19968: jis0212<<14 | 0x46<<7 | 0x01, - 38662 - 19968: jis0208<<14 | 0x4F<<7 | 0x1C, - 38663 - 19968: jis0208<<14 | 0x1E<<7 | 0x2B, - 38664 - 19968: jis0208<<14 | 0x4F<<7 | 0x1D, - 38665 - 19968: jis0212<<14 | 0x46<<7 | 0x02, - 38666 - 19968: jis0208<<14 | 0x2D<<7 | 0x4D, - 38669 - 19968: jis0208<<14 | 0x4F<<7 | 0x18, - 38670 - 19968: jis0208<<14 | 0x4F<<7 | 0x1F, - 38671 - 19968: jis0208<<14 | 0x4F<<7 | 0x21, - 38673 - 19968: jis0208<<14 | 0x4F<<7 | 0x20, - 38675 - 19968: jis0208<<14 | 0x4F<<7 | 0x1E, - 38678 - 19968: jis0208<<14 | 0x4F<<7 | 0x22, - 38681 - 19968: jis0208<<14 | 0x4F<<7 | 0x23, - 38682 - 19968: jis0212<<14 | 0x46<<7 | 0x03, - 38683 - 19968: jis0212<<14 | 0x46<<7 | 0x04, - 38684 - 19968: jis0208<<14 | 0x20<<7 | 0x59, - 38685 - 19968: jis0212<<14 | 0x46<<7 | 0x05, - 38686 - 19968: jis0208<<14 | 0x11<<7 | 0x41, - 38689 - 19968: jis0212<<14 | 0x46<<7 | 0x06, - 38690 - 19968: jis0212<<14 | 0x46<<7 | 0x07, - 38691 - 19968: jis0212<<14 | 0x46<<7 | 0x08, - 38692 - 19968: jis0208<<14 | 0x4F<<7 | 0x24, - 38695 - 19968: jis0208<<14 | 0x2B<<7 | 0x17, - 38696 - 19968: jis0212<<14 | 0x46<<7 | 0x09, - 38698 - 19968: jis0208<<14 | 0x4F<<7 | 0x25, - 38704 - 19968: jis0208<<14 | 0x4F<<7 | 0x26, - 38705 - 19968: jis0212<<14 | 0x46<<7 | 0x0A, - 38706 - 19968: jis0208<<14 | 0x2E<<7 | 0x09, - 38707 - 19968: jis0208<<14 | 0x5B<<7 | 0x32, - 38712 - 19968: jis0208<<14 | 0x3A<<7 | 0x10, - 38713 - 19968: jis0208<<14 | 0x4F<<7 | 0x27, - 38715 - 19968: jis0208<<14 | 0x5B<<7 | 0x33, - 38717 - 19968: jis0208<<14 | 0x4F<<7 | 0x28, - 38718 - 19968: jis0208<<14 | 0x4F<<7 | 0x29, - 38721 - 19968: jis0212<<14 | 0x46<<7 | 0x0C, - 38722 - 19968: jis0208<<14 | 0x4F<<7 | 0x2D, - 38723 - 19968: jis0208<<14 | 0x5B<<7 | 0x34, - 38724 - 19968: jis0208<<14 | 0x4F<<7 | 0x2A, - 38726 - 19968: jis0208<<14 | 0x4F<<7 | 0x2B, - 38728 - 19968: jis0208<<14 | 0x4F<<7 | 0x2C, - 38729 - 19968: jis0208<<14 | 0x4F<<7 | 0x2E, - 38730 - 19968: jis0212<<14 | 0x46<<7 | 0x0E, - 38733 - 19968: jis0208<<14 | 0x5B<<7 | 0x35, - 38734 - 19968: jis0212<<14 | 0x46<<7 | 0x0F, - 38735 - 19968: jis0208<<14 | 0x5B<<7 | 0x36, - 38737 - 19968: jis0208<<14 | 0x5B<<7 | 0x37, - 38738 - 19968: jis0208<<14 | 0x1F<<7 | 0x23, - 38741 - 19968: jis0208<<14 | 0x5B<<7 | 0x38, - 38742 - 19968: jis0208<<14 | 0x2B<<7 | 0x56, - 38743 - 19968: jis0212<<14 | 0x46<<7 | 0x12, - 38744 - 19968: jis0212<<14 | 0x46<<7 | 0x13, - 38745 - 19968: jis0208<<14 | 0x1F<<7 | 0x24, - 38746 - 19968: jis0212<<14 | 0x46<<7 | 0x14, - 38747 - 19968: jis0212<<14 | 0x46<<7 | 0x15, - 38748 - 19968: jis0208<<14 | 0x4F<<7 | 0x2F, - 38750 - 19968: jis0208<<14 | 0x27<<7 | 0x52, - 38752 - 19968: jis0208<<14 | 0x4F<<7 | 0x30, - 38753 - 19968: jis0208<<14 | 0x52<<7 | 0x32, - 38754 - 19968: jis0208<<14 | 0x2B<<7 | 0x2B, - 38755 - 19968: jis0212<<14 | 0x46<<7 | 0x16, - 38756 - 19968: jis0208<<14 | 0x4F<<7 | 0x31, - 38758 - 19968: jis0208<<14 | 0x4F<<7 | 0x32, - 38759 - 19968: jis0212<<14 | 0x46<<7 | 0x17, - 38760 - 19968: jis0208<<14 | 0x4F<<7 | 0x33, - 38761 - 19968: jis0208<<14 | 0x12<<7 | 0x36, - 38762 - 19968: jis0212<<14 | 0x46<<7 | 0x18, - 38763 - 19968: jis0208<<14 | 0x4F<<7 | 0x35, - 38765 - 19968: jis0208<<14 | 0x1E<<7 | 0x38, - 38766 - 19968: jis0212<<14 | 0x46<<7 | 0x19, - 38769 - 19968: jis0208<<14 | 0x4F<<7 | 0x36, - 38771 - 19968: jis0212<<14 | 0x46<<7 | 0x1A, - 38772 - 19968: jis0208<<14 | 0x16<<7 | 0x03, - 38774 - 19968: jis0212<<14 | 0x46<<7 | 0x1B, - 38775 - 19968: jis0212<<14 | 0x46<<7 | 0x1C, - 38776 - 19968: jis0212<<14 | 0x46<<7 | 0x1D, - 38777 - 19968: jis0208<<14 | 0x4F<<7 | 0x37, - 38778 - 19968: jis0208<<14 | 0x4F<<7 | 0x3B, - 38779 - 19968: jis0212<<14 | 0x46<<7 | 0x1E, - 38780 - 19968: jis0208<<14 | 0x4F<<7 | 0x39, - 38781 - 19968: jis0212<<14 | 0x46<<7 | 0x1F, - 38783 - 19968: jis0212<<14 | 0x46<<7 | 0x20, - 38784 - 19968: jis0212<<14 | 0x46<<7 | 0x21, - 38785 - 19968: jis0208<<14 | 0x4F<<7 | 0x3A, - 38788 - 19968: jis0208<<14 | 0x12<<7 | 0x52, - 38789 - 19968: jis0208<<14 | 0x4F<<7 | 0x38, - 38790 - 19968: jis0208<<14 | 0x4F<<7 | 0x3C, - 38793 - 19968: jis0212<<14 | 0x46<<7 | 0x22, - 38795 - 19968: jis0208<<14 | 0x4F<<7 | 0x3D, - 38797 - 19968: jis0208<<14 | 0x0F<<7 | 0x27, - 38799 - 19968: jis0208<<14 | 0x4F<<7 | 0x3E, - 38800 - 19968: jis0208<<14 | 0x4F<<7 | 0x3F, - 38805 - 19968: jis0212<<14 | 0x46<<7 | 0x23, - 38806 - 19968: jis0212<<14 | 0x46<<7 | 0x24, - 38807 - 19968: jis0212<<14 | 0x46<<7 | 0x25, - 38808 - 19968: jis0208<<14 | 0x1D<<7 | 0x43, - 38809 - 19968: jis0212<<14 | 0x46<<7 | 0x26, - 38810 - 19968: jis0212<<14 | 0x46<<7 | 0x27, - 38812 - 19968: jis0208<<14 | 0x4F<<7 | 0x40, - 38814 - 19968: jis0212<<14 | 0x46<<7 | 0x28, - 38815 - 19968: jis0212<<14 | 0x46<<7 | 0x29, - 38816 - 19968: jis0208<<14 | 0x14<<7 | 0x26, - 38818 - 19968: jis0212<<14 | 0x46<<7 | 0x2A, - 38819 - 19968: jis0208<<14 | 0x4F<<7 | 0x43, - 38822 - 19968: jis0208<<14 | 0x4F<<7 | 0x42, - 38824 - 19968: jis0208<<14 | 0x4F<<7 | 0x41, - 38827 - 19968: jis0208<<14 | 0x4A<<7 | 0x50, - 38828 - 19968: jis0212<<14 | 0x46<<7 | 0x2B, - 38829 - 19968: jis0208<<14 | 0x29<<7 | 0x3B, - 38830 - 19968: jis0212<<14 | 0x46<<7 | 0x2C, - 38833 - 19968: jis0212<<14 | 0x46<<7 | 0x2D, - 38834 - 19968: jis0212<<14 | 0x46<<7 | 0x2E, - 38835 - 19968: jis0208<<14 | 0x4F<<7 | 0x44, - 38836 - 19968: jis0208<<14 | 0x4F<<7 | 0x45, - 38837 - 19968: jis0212<<14 | 0x46<<7 | 0x2F, - 38838 - 19968: jis0212<<14 | 0x46<<7 | 0x30, - 38840 - 19968: jis0212<<14 | 0x46<<7 | 0x31, - 38841 - 19968: jis0212<<14 | 0x46<<7 | 0x32, - 38842 - 19968: jis0212<<14 | 0x46<<7 | 0x33, - 38844 - 19968: jis0212<<14 | 0x46<<7 | 0x34, - 38846 - 19968: jis0212<<14 | 0x46<<7 | 0x35, - 38847 - 19968: jis0212<<14 | 0x46<<7 | 0x36, - 38849 - 19968: jis0212<<14 | 0x46<<7 | 0x37, - 38851 - 19968: jis0208<<14 | 0x4F<<7 | 0x46, - 38852 - 19968: jis0212<<14 | 0x46<<7 | 0x38, - 38853 - 19968: jis0212<<14 | 0x46<<7 | 0x39, - 38854 - 19968: jis0208<<14 | 0x4F<<7 | 0x47, - 38855 - 19968: jis0212<<14 | 0x46<<7 | 0x3A, - 38856 - 19968: jis0208<<14 | 0x4F<<7 | 0x48, - 38857 - 19968: jis0212<<14 | 0x46<<7 | 0x3B, - 38858 - 19968: jis0212<<14 | 0x46<<7 | 0x3C, - 38859 - 19968: jis0208<<14 | 0x4F<<7 | 0x49, - 38860 - 19968: jis0212<<14 | 0x46<<7 | 0x3D, - 38861 - 19968: jis0212<<14 | 0x46<<7 | 0x3E, - 38862 - 19968: jis0212<<14 | 0x46<<7 | 0x3F, - 38864 - 19968: jis0212<<14 | 0x46<<7 | 0x40, - 38865 - 19968: jis0212<<14 | 0x46<<7 | 0x41, - 38867 - 19968: jis0208<<14 | 0x13<<7 | 0x39, - 38868 - 19968: jis0212<<14 | 0x46<<7 | 0x42, - 38871 - 19968: jis0212<<14 | 0x46<<7 | 0x43, - 38872 - 19968: jis0212<<14 | 0x46<<7 | 0x44, - 38873 - 19968: jis0212<<14 | 0x46<<7 | 0x45, - 38875 - 19968: jis0212<<14 | 0x46<<7 | 0x49, - 38876 - 19968: jis0208<<14 | 0x4F<<7 | 0x4A, - 38877 - 19968: jis0212<<14 | 0x46<<7 | 0x46, - 38878 - 19968: jis0212<<14 | 0x46<<7 | 0x47, - 38880 - 19968: jis0212<<14 | 0x46<<7 | 0x48, - 38881 - 19968: jis0212<<14 | 0x46<<7 | 0x4A, - 38884 - 19968: jis0212<<14 | 0x46<<7 | 0x4B, - 38893 - 19968: jis0208<<14 | 0x4F<<7 | 0x4B, - 38894 - 19968: jis0208<<14 | 0x26<<7 | 0x02, - 38895 - 19968: jis0212<<14 | 0x46<<7 | 0x4C, - 38897 - 19968: jis0212<<14 | 0x46<<7 | 0x4D, - 38898 - 19968: jis0208<<14 | 0x4F<<7 | 0x4D, - 38899 - 19968: jis0208<<14 | 0x11<<7 | 0x1A, - 38900 - 19968: jis0212<<14 | 0x46<<7 | 0x4E, - 38901 - 19968: jis0208<<14 | 0x4F<<7 | 0x50, - 38902 - 19968: jis0208<<14 | 0x4F<<7 | 0x4F, - 38903 - 19968: jis0212<<14 | 0x46<<7 | 0x4F, - 38904 - 19968: jis0212<<14 | 0x46<<7 | 0x50, - 38906 - 19968: jis0212<<14 | 0x46<<7 | 0x51, - 38907 - 19968: jis0208<<14 | 0x10<<7 | 0x03, - 38911 - 19968: jis0208<<14 | 0x15<<7 | 0x20, - 38913 - 19968: jis0208<<14 | 0x29<<7 | 0x26, - 38914 - 19968: jis0208<<14 | 0x23<<7 | 0x19, - 38915 - 19968: jis0208<<14 | 0x19<<7 | 0x01, - 38917 - 19968: jis0208<<14 | 0x18<<7 | 0x3F, - 38918 - 19968: jis0208<<14 | 0x1C<<7 | 0x46, - 38919 - 19968: jis0212<<14 | 0x46<<7 | 0x52, - 38920 - 19968: jis0208<<14 | 0x1E<<7 | 0x3B, - 38922 - 19968: jis0212<<14 | 0x46<<7 | 0x53, - 38924 - 19968: jis0208<<14 | 0x4F<<7 | 0x52, - 38925 - 19968: jis0212<<14 | 0x46<<7 | 0x55, - 38926 - 19968: jis0212<<14 | 0x46<<7 | 0x56, - 38927 - 19968: jis0208<<14 | 0x4F<<7 | 0x51, - 38928 - 19968: jis0208<<14 | 0x2C<<7 | 0x21, - 38929 - 19968: jis0208<<14 | 0x13<<7 | 0x47, - 38930 - 19968: jis0208<<14 | 0x27<<7 | 0x31, - 38931 - 19968: jis0208<<14 | 0x25<<7 | 0x3B, - 38932 - 19968: jis0212<<14 | 0x46<<7 | 0x57, - 38934 - 19968: jis0212<<14 | 0x46<<7 | 0x58, - 38935 - 19968: jis0208<<14 | 0x1E<<7 | 0x5B, - 38936 - 19968: jis0208<<14 | 0x2D<<7 | 0x2D, - 38937 - 19968: jis0212<<14 | 0x46<<7 | 0x54, - 38938 - 19968: jis0208<<14 | 0x16<<7 | 0x3A, - 38940 - 19968: jis0212<<14 | 0x46<<7 | 0x59, - 38942 - 19968: jis0212<<14 | 0x46<<7 | 0x5A, - 38944 - 19968: jis0212<<14 | 0x46<<7 | 0x5B, - 38945 - 19968: jis0208<<14 | 0x4F<<7 | 0x55, - 38947 - 19968: jis0212<<14 | 0x46<<7 | 0x5C, - 38948 - 19968: jis0208<<14 | 0x4F<<7 | 0x54, - 38949 - 19968: jis0212<<14 | 0x47<<7 | 0x07, - 38950 - 19968: jis0212<<14 | 0x46<<7 | 0x5D, - 38955 - 19968: jis0212<<14 | 0x47<<7 | 0x00, - 38956 - 19968: jis0208<<14 | 0x2A<<7 | 0x2A, - 38957 - 19968: jis0208<<14 | 0x25<<7 | 0x0B, - 38958 - 19968: jis0212<<14 | 0x47<<7 | 0x01, - 38959 - 19968: jis0212<<14 | 0x47<<7 | 0x02, - 38960 - 19968: jis0212<<14 | 0x47<<7 | 0x03, - 38962 - 19968: jis0212<<14 | 0x47<<7 | 0x04, - 38963 - 19968: jis0212<<14 | 0x47<<7 | 0x05, - 38964 - 19968: jis0208<<14 | 0x10<<7 | 0x2F, - 38965 - 19968: jis0212<<14 | 0x47<<7 | 0x06, - 38967 - 19968: jis0208<<14 | 0x4F<<7 | 0x56, - 38968 - 19968: jis0208<<14 | 0x4F<<7 | 0x53, - 38971 - 19968: jis0208<<14 | 0x28<<7 | 0x30, - 38972 - 19968: jis0208<<14 | 0x2C<<7 | 0x49, - 38973 - 19968: jis0208<<14 | 0x4F<<7 | 0x57, - 38974 - 19968: jis0212<<14 | 0x47<<7 | 0x08, - 38980 - 19968: jis0212<<14 | 0x47<<7 | 0x09, - 38982 - 19968: jis0208<<14 | 0x4F<<7 | 0x58, - 38983 - 19968: jis0212<<14 | 0x47<<7 | 0x0A, - 38986 - 19968: jis0212<<14 | 0x47<<7 | 0x0B, - 38987 - 19968: jis0208<<14 | 0x4F<<7 | 0x5A, - 38988 - 19968: jis0208<<14 | 0x21<<7 | 0x49, - 38989 - 19968: jis0208<<14 | 0x12<<7 | 0x3A, - 38990 - 19968: jis0208<<14 | 0x12<<7 | 0x3B, - 38991 - 19968: jis0208<<14 | 0x4F<<7 | 0x59, - 38993 - 19968: jis0212<<14 | 0x47<<7 | 0x0C, - 38994 - 19968: jis0212<<14 | 0x47<<7 | 0x0D, - 38995 - 19968: jis0212<<14 | 0x47<<7 | 0x0E, - 38996 - 19968: jis0208<<14 | 0x13<<7 | 0x48, - 38997 - 19968: jis0208<<14 | 0x17<<7 | 0x11, - 38998 - 19968: jis0212<<14 | 0x47<<7 | 0x0F, - 38999 - 19968: jis0208<<14 | 0x5B<<7 | 0x39, - 39000 - 19968: jis0208<<14 | 0x13<<7 | 0x49, - 39001 - 19968: jis0212<<14 | 0x47<<7 | 0x11, - 39002 - 19968: jis0212<<14 | 0x47<<7 | 0x12, - 39003 - 19968: jis0208<<14 | 0x24<<7 | 0x1E, - 39006 - 19968: jis0208<<14 | 0x2D<<7 | 0x3F, - 39010 - 19968: jis0212<<14 | 0x47<<7 | 0x13, - 39011 - 19968: jis0212<<14 | 0x47<<7 | 0x14, - 39013 - 19968: jis0208<<14 | 0x5B<<7 | 0x3A, - 39014 - 19968: jis0212<<14 | 0x47<<7 | 0x16, - 39015 - 19968: jis0208<<14 | 0x17<<7 | 0x3B, - 39018 - 19968: jis0212<<14 | 0x47<<7 | 0x17, - 39019 - 19968: jis0208<<14 | 0x4F<<7 | 0x5B, - 39020 - 19968: jis0212<<14 | 0x47<<7 | 0x18, - 39023 - 19968: jis0208<<14 | 0x4F<<7 | 0x5C, - 39024 - 19968: jis0208<<14 | 0x4F<<7 | 0x5D, - 39025 - 19968: jis0208<<14 | 0x50<<7 | 0x00, - 39027 - 19968: jis0208<<14 | 0x50<<7 | 0x02, - 39028 - 19968: jis0208<<14 | 0x50<<7 | 0x01, - 39080 - 19968: jis0208<<14 | 0x28<<7 | 0x56, - 39082 - 19968: jis0208<<14 | 0x50<<7 | 0x03, - 39083 - 19968: jis0212<<14 | 0x47<<7 | 0x19, - 39085 - 19968: jis0212<<14 | 0x47<<7 | 0x1A, - 39086 - 19968: jis0212<<14 | 0x47<<7 | 0x1B, - 39087 - 19968: jis0208<<14 | 0x50<<7 | 0x04, - 39088 - 19968: jis0212<<14 | 0x47<<7 | 0x1C, - 39089 - 19968: jis0208<<14 | 0x50<<7 | 0x05, - 39092 - 19968: jis0212<<14 | 0x47<<7 | 0x1D, - 39094 - 19968: jis0208<<14 | 0x50<<7 | 0x06, - 39095 - 19968: jis0212<<14 | 0x47<<7 | 0x1E, - 39096 - 19968: jis0212<<14 | 0x47<<7 | 0x1F, - 39098 - 19968: jis0212<<14 | 0x47<<7 | 0x20, - 39099 - 19968: jis0212<<14 | 0x47<<7 | 0x21, - 39103 - 19968: jis0212<<14 | 0x47<<7 | 0x22, - 39106 - 19968: jis0212<<14 | 0x47<<7 | 0x23, - 39107 - 19968: jis0208<<14 | 0x50<<7 | 0x08, - 39108 - 19968: jis0208<<14 | 0x50<<7 | 0x07, - 39109 - 19968: jis0212<<14 | 0x47<<7 | 0x24, - 39110 - 19968: jis0208<<14 | 0x50<<7 | 0x09, - 39112 - 19968: jis0212<<14 | 0x47<<7 | 0x25, - 39116 - 19968: jis0212<<14 | 0x47<<7 | 0x26, - 39131 - 19968: jis0208<<14 | 0x27<<7 | 0x53, - 39132 - 19968: jis0208<<14 | 0x45<<7 | 0x2B, - 39135 - 19968: jis0208<<14 | 0x1E<<7 | 0x08, - 39137 - 19968: jis0212<<14 | 0x47<<7 | 0x27, - 39138 - 19968: jis0208<<14 | 0x14<<7 | 0x11, - 39139 - 19968: jis0212<<14 | 0x47<<7 | 0x28, - 39141 - 19968: jis0212<<14 | 0x47<<7 | 0x29, - 39142 - 19968: jis0212<<14 | 0x47<<7 | 0x2A, - 39143 - 19968: jis0212<<14 | 0x47<<7 | 0x2B, - 39145 - 19968: jis0208<<14 | 0x50<<7 | 0x0A, - 39146 - 19968: jis0212<<14 | 0x47<<7 | 0x2C, - 39147 - 19968: jis0208<<14 | 0x50<<7 | 0x0B, - 39149 - 19968: jis0208<<14 | 0x31<<7 | 0x0B, - 39150 - 19968: jis0208<<14 | 0x3C<<7 | 0x1A, - 39151 - 19968: jis0208<<14 | 0x27<<7 | 0x32, - 39154 - 19968: jis0208<<14 | 0x0F<<7 | 0x5A, - 39155 - 19968: jis0212<<14 | 0x47<<7 | 0x2D, - 39156 - 19968: jis0208<<14 | 0x0F<<7 | 0x1A, - 39158 - 19968: jis0212<<14 | 0x47<<7 | 0x2E, - 39164 - 19968: jis0208<<14 | 0x1A<<7 | 0x53, - 39165 - 19968: jis0208<<14 | 0x2A<<7 | 0x0F, - 39166 - 19968: jis0208<<14 | 0x1D<<7 | 0x5D, - 39170 - 19968: jis0212<<14 | 0x47<<7 | 0x2F, - 39171 - 19968: jis0208<<14 | 0x50<<7 | 0x0C, - 39173 - 19968: jis0208<<14 | 0x2B<<7 | 0x3E, - 39175 - 19968: jis0212<<14 | 0x47<<7 | 0x30, - 39176 - 19968: jis0212<<14 | 0x47<<7 | 0x31, - 39177 - 19968: jis0208<<14 | 0x50<<7 | 0x0D, - 39178 - 19968: jis0208<<14 | 0x2C<<7 | 0x3B, - 39180 - 19968: jis0208<<14 | 0x10<<7 | 0x21, - 39184 - 19968: jis0208<<14 | 0x1A<<7 | 0x20, - 39185 - 19968: jis0212<<14 | 0x47<<7 | 0x32, - 39186 - 19968: jis0208<<14 | 0x50<<7 | 0x0E, - 39187 - 19968: jis0208<<14 | 0x11<<7 | 0x4D, - 39188 - 19968: jis0208<<14 | 0x50<<7 | 0x0F, - 39189 - 19968: jis0212<<14 | 0x47<<7 | 0x33, - 39190 - 19968: jis0212<<14 | 0x47<<7 | 0x34, - 39191 - 19968: jis0212<<14 | 0x47<<7 | 0x35, - 39192 - 19968: jis0208<<14 | 0x50<<7 | 0x10, - 39194 - 19968: jis0212<<14 | 0x47<<7 | 0x36, - 39195 - 19968: jis0212<<14 | 0x47<<7 | 0x37, - 39196 - 19968: jis0212<<14 | 0x47<<7 | 0x38, - 39197 - 19968: jis0208<<14 | 0x50<<7 | 0x12, - 39198 - 19968: jis0208<<14 | 0x50<<7 | 0x13, - 39199 - 19968: jis0212<<14 | 0x47<<7 | 0x39, - 39200 - 19968: jis0208<<14 | 0x50<<7 | 0x15, - 39201 - 19968: jis0208<<14 | 0x50<<7 | 0x11, - 39202 - 19968: jis0212<<14 | 0x47<<7 | 0x3A, - 39204 - 19968: jis0208<<14 | 0x50<<7 | 0x14, - 39206 - 19968: jis0212<<14 | 0x47<<7 | 0x3B, - 39207 - 19968: jis0208<<14 | 0x5B<<7 | 0x3D, - 39208 - 19968: jis0208<<14 | 0x13<<7 | 0x3A, - 39211 - 19968: jis0212<<14 | 0x47<<7 | 0x3D, - 39212 - 19968: jis0208<<14 | 0x50<<7 | 0x16, - 39214 - 19968: jis0208<<14 | 0x50<<7 | 0x17, - 39217 - 19968: jis0212<<14 | 0x47<<7 | 0x3E, - 39218 - 19968: jis0212<<14 | 0x47<<7 | 0x3F, - 39219 - 19968: jis0212<<14 | 0x47<<7 | 0x40, - 39220 - 19968: jis0212<<14 | 0x47<<7 | 0x41, - 39221 - 19968: jis0212<<14 | 0x47<<7 | 0x42, - 39225 - 19968: jis0212<<14 | 0x47<<7 | 0x43, - 39226 - 19968: jis0212<<14 | 0x47<<7 | 0x44, - 39227 - 19968: jis0212<<14 | 0x47<<7 | 0x45, - 39228 - 19968: jis0212<<14 | 0x47<<7 | 0x46, - 39229 - 19968: jis0208<<14 | 0x50<<7 | 0x18, - 39230 - 19968: jis0208<<14 | 0x50<<7 | 0x19, - 39232 - 19968: jis0212<<14 | 0x47<<7 | 0x47, - 39233 - 19968: jis0212<<14 | 0x47<<7 | 0x48, - 39234 - 19968: jis0208<<14 | 0x50<<7 | 0x1A, - 39237 - 19968: jis0208<<14 | 0x50<<7 | 0x1C, - 39238 - 19968: jis0212<<14 | 0x47<<7 | 0x49, - 39239 - 19968: jis0212<<14 | 0x47<<7 | 0x4A, - 39240 - 19968: jis0212<<14 | 0x47<<7 | 0x4B, - 39241 - 19968: jis0208<<14 | 0x50<<7 | 0x1B, - 39243 - 19968: jis0208<<14 | 0x50<<7 | 0x1E, - 39244 - 19968: jis0208<<14 | 0x50<<7 | 0x21, - 39245 - 19968: jis0212<<14 | 0x47<<7 | 0x4C, - 39246 - 19968: jis0212<<14 | 0x47<<7 | 0x4D, - 39248 - 19968: jis0208<<14 | 0x50<<7 | 0x1D, - 39249 - 19968: jis0208<<14 | 0x50<<7 | 0x1F, - 39250 - 19968: jis0208<<14 | 0x50<<7 | 0x20, - 39252 - 19968: jis0212<<14 | 0x47<<7 | 0x4E, - 39253 - 19968: jis0208<<14 | 0x50<<7 | 0x22, - 39255 - 19968: jis0208<<14 | 0x15<<7 | 0x21, - 39256 - 19968: jis0212<<14 | 0x47<<7 | 0x4F, - 39257 - 19968: jis0212<<14 | 0x47<<7 | 0x50, - 39259 - 19968: jis0212<<14 | 0x47<<7 | 0x51, - 39260 - 19968: jis0212<<14 | 0x47<<7 | 0x52, - 39262 - 19968: jis0212<<14 | 0x47<<7 | 0x53, - 39263 - 19968: jis0212<<14 | 0x47<<7 | 0x54, - 39264 - 19968: jis0212<<14 | 0x47<<7 | 0x55, - 39318 - 19968: jis0208<<14 | 0x1B<<7 | 0x52, - 39319 - 19968: jis0208<<14 | 0x50<<7 | 0x23, - 39320 - 19968: jis0208<<14 | 0x50<<7 | 0x24, - 39321 - 19968: jis0208<<14 | 0x18<<7 | 0x40, - 39323 - 19968: jis0212<<14 | 0x47<<7 | 0x56, - 39325 - 19968: jis0212<<14 | 0x47<<7 | 0x57, - 39326 - 19968: jis0208<<14 | 0x5B<<7 | 0x3F, - 39327 - 19968: jis0212<<14 | 0x47<<7 | 0x58, - 39333 - 19968: jis0208<<14 | 0x50<<7 | 0x25, - 39334 - 19968: jis0212<<14 | 0x47<<7 | 0x59, - 39336 - 19968: jis0208<<14 | 0x12<<7 | 0x1D, - 39340 - 19968: jis0208<<14 | 0x26<<7 | 0x2E, - 39341 - 19968: jis0208<<14 | 0x50<<7 | 0x26, - 39342 - 19968: jis0208<<14 | 0x50<<7 | 0x27, - 39344 - 19968: jis0212<<14 | 0x47<<7 | 0x5A, - 39345 - 19968: jis0212<<14 | 0x47<<7 | 0x5B, - 39346 - 19968: jis0212<<14 | 0x47<<7 | 0x5C, - 39347 - 19968: jis0208<<14 | 0x22<<7 | 0x39, - 39348 - 19968: jis0208<<14 | 0x25<<7 | 0x4A, - 39349 - 19968: jis0212<<14 | 0x47<<7 | 0x5D, - 39353 - 19968: jis0212<<14 | 0x48<<7 | 0x00, - 39354 - 19968: jis0212<<14 | 0x48<<7 | 0x01, - 39356 - 19968: jis0208<<14 | 0x50<<7 | 0x28, - 39357 - 19968: jis0212<<14 | 0x48<<7 | 0x02, - 39359 - 19968: jis0212<<14 | 0x48<<7 | 0x03, - 39361 - 19968: jis0208<<14 | 0x26<<7 | 0x5C, - 39363 - 19968: jis0212<<14 | 0x48<<7 | 0x04, - 39364 - 19968: jis0208<<14 | 0x21<<7 | 0x2B, - 39365 - 19968: jis0208<<14 | 0x10<<7 | 0x37, - 39366 - 19968: jis0208<<14 | 0x15<<7 | 0x4D, - 39368 - 19968: jis0208<<14 | 0x15<<7 | 0x4E, - 39369 - 19968: jis0212<<14 | 0x48<<7 | 0x05, - 39376 - 19968: jis0208<<14 | 0x22<<7 | 0x52, - 39377 - 19968: jis0208<<14 | 0x50<<7 | 0x2D, - 39378 - 19968: jis0208<<14 | 0x15<<7 | 0x4F, - 39379 - 19968: jis0212<<14 | 0x48<<7 | 0x06, - 39380 - 19968: jis0212<<14 | 0x48<<7 | 0x07, - 39381 - 19968: jis0208<<14 | 0x11<<7 | 0x4E, - 39384 - 19968: jis0208<<14 | 0x50<<7 | 0x2C, - 39385 - 19968: jis0212<<14 | 0x48<<7 | 0x08, - 39386 - 19968: jis0212<<14 | 0x48<<7 | 0x09, - 39387 - 19968: jis0208<<14 | 0x50<<7 | 0x2A, - 39388 - 19968: jis0212<<14 | 0x48<<7 | 0x0A, - 39389 - 19968: jis0208<<14 | 0x50<<7 | 0x2B, - 39390 - 19968: jis0212<<14 | 0x48<<7 | 0x0B, - 39391 - 19968: jis0208<<14 | 0x50<<7 | 0x29, - 39394 - 19968: jis0208<<14 | 0x50<<7 | 0x37, - 39399 - 19968: jis0212<<14 | 0x48<<7 | 0x0C, - 39402 - 19968: jis0212<<14 | 0x48<<7 | 0x0D, - 39403 - 19968: jis0212<<14 | 0x48<<7 | 0x0E, - 39404 - 19968: jis0212<<14 | 0x48<<7 | 0x0F, - 39405 - 19968: jis0208<<14 | 0x50<<7 | 0x2E, - 39406 - 19968: jis0208<<14 | 0x50<<7 | 0x2F, - 39408 - 19968: jis0212<<14 | 0x48<<7 | 0x10, - 39409 - 19968: jis0208<<14 | 0x50<<7 | 0x30, - 39410 - 19968: jis0208<<14 | 0x50<<7 | 0x31, - 39412 - 19968: jis0212<<14 | 0x48<<7 | 0x11, - 39413 - 19968: jis0212<<14 | 0x48<<7 | 0x12, - 39416 - 19968: jis0208<<14 | 0x50<<7 | 0x33, - 39417 - 19968: jis0212<<14 | 0x48<<7 | 0x13, - 39419 - 19968: jis0208<<14 | 0x50<<7 | 0x32, - 39421 - 19968: jis0212<<14 | 0x48<<7 | 0x14, - 39422 - 19968: jis0212<<14 | 0x48<<7 | 0x15, - 39423 - 19968: jis0208<<14 | 0x1C<<7 | 0x38, - 39425 - 19968: jis0208<<14 | 0x50<<7 | 0x34, - 39426 - 19968: jis0212<<14 | 0x48<<7 | 0x16, - 39427 - 19968: jis0212<<14 | 0x48<<7 | 0x17, - 39428 - 19968: jis0212<<14 | 0x48<<7 | 0x18, - 39429 - 19968: jis0208<<14 | 0x50<<7 | 0x36, - 39435 - 19968: jis0212<<14 | 0x48<<7 | 0x19, - 39436 - 19968: jis0212<<14 | 0x48<<7 | 0x1A, - 39438 - 19968: jis0208<<14 | 0x14<<7 | 0x12, - 39439 - 19968: jis0208<<14 | 0x50<<7 | 0x35, - 39440 - 19968: jis0212<<14 | 0x48<<7 | 0x1B, - 39441 - 19968: jis0212<<14 | 0x48<<7 | 0x1C, - 39442 - 19968: jis0208<<14 | 0x20<<7 | 0x5A, - 39443 - 19968: jis0208<<14 | 0x17<<7 | 0x12, - 39446 - 19968: jis0212<<14 | 0x48<<7 | 0x1D, - 39449 - 19968: jis0208<<14 | 0x50<<7 | 0x38, - 39454 - 19968: jis0212<<14 | 0x48<<7 | 0x1E, - 39456 - 19968: jis0212<<14 | 0x48<<7 | 0x1F, - 39458 - 19968: jis0212<<14 | 0x48<<7 | 0x20, - 39459 - 19968: jis0212<<14 | 0x48<<7 | 0x21, - 39460 - 19968: jis0212<<14 | 0x48<<7 | 0x22, - 39463 - 19968: jis0212<<14 | 0x48<<7 | 0x23, - 39464 - 19968: jis0208<<14 | 0x21<<7 | 0x2C, - 39467 - 19968: jis0208<<14 | 0x50<<7 | 0x39, - 39469 - 19968: jis0212<<14 | 0x48<<7 | 0x24, - 39470 - 19968: jis0212<<14 | 0x48<<7 | 0x25, - 39472 - 19968: jis0208<<14 | 0x25<<7 | 0x0C, - 39475 - 19968: jis0212<<14 | 0x48<<7 | 0x26, - 39477 - 19968: jis0212<<14 | 0x48<<7 | 0x27, - 39478 - 19968: jis0212<<14 | 0x48<<7 | 0x28, - 39479 - 19968: jis0208<<14 | 0x50<<7 | 0x3A, - 39480 - 19968: jis0212<<14 | 0x48<<7 | 0x29, - 39486 - 19968: jis0208<<14 | 0x50<<7 | 0x3F, - 39488 - 19968: jis0208<<14 | 0x50<<7 | 0x3D, - 39489 - 19968: jis0212<<14 | 0x48<<7 | 0x2B, - 39490 - 19968: jis0208<<14 | 0x50<<7 | 0x3C, - 39491 - 19968: jis0208<<14 | 0x50<<7 | 0x3E, - 39492 - 19968: jis0212<<14 | 0x48<<7 | 0x2C, - 39493 - 19968: jis0208<<14 | 0x50<<7 | 0x3B, - 39495 - 19968: jis0212<<14 | 0x48<<7 | 0x2A, - 39498 - 19968: jis0212<<14 | 0x48<<7 | 0x2D, - 39499 - 19968: jis0212<<14 | 0x48<<7 | 0x2E, - 39500 - 19968: jis0212<<14 | 0x48<<7 | 0x2F, - 39501 - 19968: jis0208<<14 | 0x50<<7 | 0x41, - 39502 - 19968: jis0208<<14 | 0x5B<<7 | 0x40, - 39505 - 19968: jis0212<<14 | 0x48<<7 | 0x31, - 39508 - 19968: jis0212<<14 | 0x48<<7 | 0x32, - 39509 - 19968: jis0208<<14 | 0x50<<7 | 0x40, - 39510 - 19968: jis0212<<14 | 0x48<<7 | 0x33, - 39511 - 19968: jis0208<<14 | 0x50<<7 | 0x43, - 39514 - 19968: jis0208<<14 | 0x15<<7 | 0x22, - 39515 - 19968: jis0208<<14 | 0x50<<7 | 0x42, - 39517 - 19968: jis0212<<14 | 0x48<<7 | 0x34, - 39519 - 19968: jis0208<<14 | 0x50<<7 | 0x44, - 39522 - 19968: jis0208<<14 | 0x50<<7 | 0x45, - 39524 - 19968: jis0208<<14 | 0x50<<7 | 0x47, - 39525 - 19968: jis0208<<14 | 0x50<<7 | 0x46, - 39529 - 19968: jis0208<<14 | 0x50<<7 | 0x48, - 39530 - 19968: jis0208<<14 | 0x50<<7 | 0x4A, - 39531 - 19968: jis0208<<14 | 0x50<<7 | 0x49, - 39592 - 19968: jis0208<<14 | 0x18<<7 | 0x5B, - 39594 - 19968: jis0212<<14 | 0x48<<7 | 0x35, - 39596 - 19968: jis0212<<14 | 0x48<<7 | 0x36, - 39597 - 19968: jis0208<<14 | 0x50<<7 | 0x4B, - 39598 - 19968: jis0212<<14 | 0x48<<7 | 0x37, - 39599 - 19968: jis0212<<14 | 0x48<<7 | 0x38, - 39600 - 19968: jis0208<<14 | 0x50<<7 | 0x4C, - 39602 - 19968: jis0212<<14 | 0x48<<7 | 0x39, - 39604 - 19968: jis0212<<14 | 0x48<<7 | 0x3A, - 39605 - 19968: jis0212<<14 | 0x48<<7 | 0x3B, - 39606 - 19968: jis0212<<14 | 0x48<<7 | 0x3C, - 39608 - 19968: jis0208<<14 | 0x12<<7 | 0x1B, - 39609 - 19968: jis0212<<14 | 0x48<<7 | 0x3D, - 39611 - 19968: jis0212<<14 | 0x48<<7 | 0x3E, - 39612 - 19968: jis0208<<14 | 0x50<<7 | 0x4D, - 39614 - 19968: jis0212<<14 | 0x48<<7 | 0x3F, - 39615 - 19968: jis0212<<14 | 0x48<<7 | 0x40, - 39616 - 19968: jis0208<<14 | 0x50<<7 | 0x4E, - 39617 - 19968: jis0212<<14 | 0x48<<7 | 0x41, - 39619 - 19968: jis0212<<14 | 0x48<<7 | 0x42, - 39620 - 19968: jis0208<<14 | 0x1E<<7 | 0x50, - 39622 - 19968: jis0212<<14 | 0x48<<7 | 0x43, - 39624 - 19968: jis0212<<14 | 0x48<<7 | 0x44, - 39630 - 19968: jis0212<<14 | 0x48<<7 | 0x45, - 39631 - 19968: jis0208<<14 | 0x50<<7 | 0x4F, - 39632 - 19968: jis0212<<14 | 0x48<<7 | 0x46, - 39633 - 19968: jis0208<<14 | 0x50<<7 | 0x50, - 39634 - 19968: jis0212<<14 | 0x48<<7 | 0x47, - 39635 - 19968: jis0208<<14 | 0x50<<7 | 0x51, - 39636 - 19968: jis0208<<14 | 0x50<<7 | 0x52, - 39637 - 19968: jis0212<<14 | 0x48<<7 | 0x48, - 39638 - 19968: jis0212<<14 | 0x48<<7 | 0x49, - 39639 - 19968: jis0212<<14 | 0x48<<7 | 0x4A, - 39640 - 19968: jis0208<<14 | 0x18<<7 | 0x41, - 39641 - 19968: jis0208<<14 | 0x5B<<7 | 0x41, - 39643 - 19968: jis0212<<14 | 0x48<<7 | 0x4B, - 39644 - 19968: jis0208<<14 | 0x5B<<7 | 0x42, - 39646 - 19968: jis0208<<14 | 0x50<<7 | 0x53, - 39647 - 19968: jis0208<<14 | 0x50<<7 | 0x54, - 39648 - 19968: jis0212<<14 | 0x48<<7 | 0x4D, - 39650 - 19968: jis0208<<14 | 0x50<<7 | 0x55, - 39651 - 19968: jis0208<<14 | 0x50<<7 | 0x56, - 39652 - 19968: jis0212<<14 | 0x48<<7 | 0x4E, - 39653 - 19968: jis0212<<14 | 0x48<<7 | 0x4F, - 39654 - 19968: jis0208<<14 | 0x50<<7 | 0x57, - 39655 - 19968: jis0212<<14 | 0x48<<7 | 0x50, - 39657 - 19968: jis0212<<14 | 0x48<<7 | 0x51, - 39658 - 19968: jis0208<<14 | 0x27<<7 | 0x10, - 39659 - 19968: jis0208<<14 | 0x50<<7 | 0x59, - 39660 - 19968: jis0212<<14 | 0x48<<7 | 0x52, - 39661 - 19968: jis0208<<14 | 0x28<<7 | 0x05, - 39662 - 19968: jis0208<<14 | 0x50<<7 | 0x5A, - 39663 - 19968: jis0208<<14 | 0x50<<7 | 0x58, - 39665 - 19968: jis0208<<14 | 0x50<<7 | 0x5C, - 39666 - 19968: jis0212<<14 | 0x48<<7 | 0x53, - 39667 - 19968: jis0212<<14 | 0x48<<7 | 0x54, - 39668 - 19968: jis0208<<14 | 0x50<<7 | 0x5B, - 39669 - 19968: jis0212<<14 | 0x48<<7 | 0x55, - 39671 - 19968: jis0208<<14 | 0x50<<7 | 0x5D, - 39673 - 19968: jis0212<<14 | 0x48<<7 | 0x56, - 39674 - 19968: jis0212<<14 | 0x48<<7 | 0x57, - 39675 - 19968: jis0208<<14 | 0x51<<7 | 0x00, - 39677 - 19968: jis0212<<14 | 0x48<<7 | 0x58, - 39679 - 19968: jis0212<<14 | 0x48<<7 | 0x59, - 39680 - 19968: jis0212<<14 | 0x48<<7 | 0x5A, - 39681 - 19968: jis0212<<14 | 0x48<<7 | 0x5B, - 39682 - 19968: jis0212<<14 | 0x48<<7 | 0x5C, - 39683 - 19968: jis0212<<14 | 0x48<<7 | 0x5D, - 39684 - 19968: jis0212<<14 | 0x49<<7 | 0x00, - 39685 - 19968: jis0212<<14 | 0x49<<7 | 0x01, - 39686 - 19968: jis0208<<14 | 0x51<<7 | 0x01, - 39688 - 19968: jis0212<<14 | 0x49<<7 | 0x02, - 39689 - 19968: jis0212<<14 | 0x49<<7 | 0x03, - 39691 - 19968: jis0212<<14 | 0x49<<7 | 0x04, - 39692 - 19968: jis0212<<14 | 0x49<<7 | 0x05, - 39693 - 19968: jis0212<<14 | 0x49<<7 | 0x06, - 39694 - 19968: jis0212<<14 | 0x49<<7 | 0x07, - 39696 - 19968: jis0212<<14 | 0x49<<7 | 0x08, - 39698 - 19968: jis0212<<14 | 0x49<<7 | 0x09, - 39702 - 19968: jis0212<<14 | 0x49<<7 | 0x0A, - 39704 - 19968: jis0208<<14 | 0x51<<7 | 0x02, - 39705 - 19968: jis0212<<14 | 0x49<<7 | 0x0B, - 39706 - 19968: jis0208<<14 | 0x51<<7 | 0x03, - 39707 - 19968: jis0212<<14 | 0x49<<7 | 0x0C, - 39708 - 19968: jis0212<<14 | 0x49<<7 | 0x0D, - 39711 - 19968: jis0208<<14 | 0x51<<7 | 0x04, - 39712 - 19968: jis0212<<14 | 0x49<<7 | 0x0E, - 39714 - 19968: jis0208<<14 | 0x51<<7 | 0x05, - 39715 - 19968: jis0208<<14 | 0x51<<7 | 0x06, - 39717 - 19968: jis0208<<14 | 0x51<<7 | 0x07, - 39718 - 19968: jis0212<<14 | 0x49<<7 | 0x0F, - 39719 - 19968: jis0208<<14 | 0x51<<7 | 0x08, - 39720 - 19968: jis0208<<14 | 0x51<<7 | 0x09, - 39721 - 19968: jis0208<<14 | 0x51<<7 | 0x0A, - 39722 - 19968: jis0208<<14 | 0x51<<7 | 0x0B, - 39723 - 19968: jis0212<<14 | 0x49<<7 | 0x10, - 39725 - 19968: jis0212<<14 | 0x49<<7 | 0x11, - 39726 - 19968: jis0208<<14 | 0x51<<7 | 0x0C, - 39727 - 19968: jis0208<<14 | 0x51<<7 | 0x0D, - 39729 - 19968: jis0208<<14 | 0x3C<<7 | 0x14, - 39730 - 19968: jis0208<<14 | 0x51<<7 | 0x0E, - 39731 - 19968: jis0212<<14 | 0x49<<7 | 0x12, - 39732 - 19968: jis0212<<14 | 0x49<<7 | 0x13, - 39733 - 19968: jis0212<<14 | 0x49<<7 | 0x14, - 39735 - 19968: jis0212<<14 | 0x49<<7 | 0x15, - 39737 - 19968: jis0212<<14 | 0x49<<7 | 0x16, - 39738 - 19968: jis0212<<14 | 0x49<<7 | 0x17, - 39739 - 19968: jis0208<<14 | 0x43<<7 | 0x57, - 39740 - 19968: jis0208<<14 | 0x14<<7 | 0x13, - 39741 - 19968: jis0212<<14 | 0x49<<7 | 0x18, - 39745 - 19968: jis0208<<14 | 0x12<<7 | 0x00, - 39746 - 19968: jis0208<<14 | 0x19<<7 | 0x11, - 39747 - 19968: jis0208<<14 | 0x51<<7 | 0x10, - 39748 - 19968: jis0208<<14 | 0x51<<7 | 0x0F, - 39749 - 19968: jis0208<<14 | 0x2B<<7 | 0x04, - 39752 - 19968: jis0212<<14 | 0x49<<7 | 0x19, - 39755 - 19968: jis0212<<14 | 0x49<<7 | 0x1A, - 39756 - 19968: jis0212<<14 | 0x49<<7 | 0x1B, - 39757 - 19968: jis0208<<14 | 0x51<<7 | 0x12, - 39758 - 19968: jis0208<<14 | 0x51<<7 | 0x13, - 39759 - 19968: jis0208<<14 | 0x51<<7 | 0x11, - 39761 - 19968: jis0208<<14 | 0x51<<7 | 0x14, - 39764 - 19968: jis0208<<14 | 0x2A<<7 | 0x41, - 39765 - 19968: jis0212<<14 | 0x49<<7 | 0x1C, - 39766 - 19968: jis0212<<14 | 0x49<<7 | 0x1D, - 39767 - 19968: jis0212<<14 | 0x49<<7 | 0x1E, - 39768 - 19968: jis0208<<14 | 0x51<<7 | 0x15, - 39770 - 19968: jis0208<<14 | 0x14<<7 | 0x5A, - 39771 - 19968: jis0212<<14 | 0x49<<7 | 0x1F, - 39774 - 19968: jis0212<<14 | 0x49<<7 | 0x20, - 39777 - 19968: jis0212<<14 | 0x49<<7 | 0x21, - 39779 - 19968: jis0212<<14 | 0x49<<7 | 0x22, - 39781 - 19968: jis0212<<14 | 0x49<<7 | 0x23, - 39782 - 19968: jis0212<<14 | 0x49<<7 | 0x24, - 39784 - 19968: jis0212<<14 | 0x49<<7 | 0x25, - 39786 - 19968: jis0212<<14 | 0x49<<7 | 0x26, - 39787 - 19968: jis0212<<14 | 0x49<<7 | 0x27, - 39788 - 19968: jis0212<<14 | 0x49<<7 | 0x28, - 39789 - 19968: jis0212<<14 | 0x49<<7 | 0x29, - 39790 - 19968: jis0212<<14 | 0x49<<7 | 0x2A, - 39791 - 19968: jis0208<<14 | 0x2E<<7 | 0x04, - 39794 - 19968: jis0208<<14 | 0x5B<<7 | 0x44, - 39795 - 19968: jis0212<<14 | 0x49<<7 | 0x2B, - 39796 - 19968: jis0208<<14 | 0x51<<7 | 0x16, - 39797 - 19968: jis0208<<14 | 0x5B<<7 | 0x43, - 39799 - 19968: jis0212<<14 | 0x49<<7 | 0x2D, - 39800 - 19968: jis0212<<14 | 0x49<<7 | 0x2E, - 39801 - 19968: jis0212<<14 | 0x49<<7 | 0x2F, - 39807 - 19968: jis0212<<14 | 0x49<<7 | 0x30, - 39808 - 19968: jis0212<<14 | 0x49<<7 | 0x31, - 39811 - 19968: jis0208<<14 | 0x51<<7 | 0x18, - 39812 - 19968: jis0212<<14 | 0x49<<7 | 0x32, - 39813 - 19968: jis0212<<14 | 0x49<<7 | 0x33, - 39814 - 19968: jis0212<<14 | 0x49<<7 | 0x34, - 39815 - 19968: jis0212<<14 | 0x49<<7 | 0x35, - 39817 - 19968: jis0212<<14 | 0x49<<7 | 0x36, - 39818 - 19968: jis0212<<14 | 0x49<<7 | 0x37, - 39819 - 19968: jis0212<<14 | 0x49<<7 | 0x38, - 39821 - 19968: jis0212<<14 | 0x49<<7 | 0x39, - 39822 - 19968: jis0208<<14 | 0x0F<<7 | 0x1D, - 39823 - 19968: jis0208<<14 | 0x5B<<7 | 0x45, - 39824 - 19968: jis0212<<14 | 0x49<<7 | 0x3B, - 39825 - 19968: jis0208<<14 | 0x51<<7 | 0x19, - 39826 - 19968: jis0208<<14 | 0x29<<7 | 0x0A, - 39827 - 19968: jis0208<<14 | 0x51<<7 | 0x17, - 39828 - 19968: jis0212<<14 | 0x49<<7 | 0x3C, - 39830 - 19968: jis0208<<14 | 0x51<<7 | 0x1A, - 39831 - 19968: jis0208<<14 | 0x51<<7 | 0x1B, - 39834 - 19968: jis0212<<14 | 0x49<<7 | 0x3D, - 39837 - 19968: jis0212<<14 | 0x49<<7 | 0x3E, - 39838 - 19968: jis0212<<14 | 0x49<<7 | 0x3F, - 39839 - 19968: jis0208<<14 | 0x51<<7 | 0x1C, - 39840 - 19968: jis0208<<14 | 0x51<<7 | 0x1D, - 39846 - 19968: jis0212<<14 | 0x49<<7 | 0x40, - 39847 - 19968: jis0212<<14 | 0x49<<7 | 0x41, - 39848 - 19968: jis0208<<14 | 0x51<<7 | 0x1E, - 39849 - 19968: jis0212<<14 | 0x49<<7 | 0x42, - 39850 - 19968: jis0208<<14 | 0x2A<<7 | 0x4D, - 39851 - 19968: jis0208<<14 | 0x1A<<7 | 0x0C, - 39852 - 19968: jis0212<<14 | 0x49<<7 | 0x43, - 39853 - 19968: jis0208<<14 | 0x19<<7 | 0x59, - 39854 - 19968: jis0208<<14 | 0x20<<7 | 0x0E, - 39856 - 19968: jis0212<<14 | 0x49<<7 | 0x44, - 39857 - 19968: jis0208<<14 | 0x5B<<7 | 0x46, - 39858 - 19968: jis0212<<14 | 0x49<<7 | 0x46, - 39860 - 19968: jis0208<<14 | 0x51<<7 | 0x1F, - 39863 - 19968: jis0212<<14 | 0x49<<7 | 0x47, - 39864 - 19968: jis0212<<14 | 0x49<<7 | 0x48, - 39865 - 19968: jis0208<<14 | 0x51<<7 | 0x22, - 39867 - 19968: jis0208<<14 | 0x5B<<7 | 0x47, - 39868 - 19968: jis0212<<14 | 0x49<<7 | 0x4A, - 39870 - 19968: jis0212<<14 | 0x49<<7 | 0x4B, - 39871 - 19968: jis0212<<14 | 0x49<<7 | 0x4C, - 39872 - 19968: jis0208<<14 | 0x51<<7 | 0x20, - 39873 - 19968: jis0212<<14 | 0x49<<7 | 0x4D, - 39878 - 19968: jis0208<<14 | 0x51<<7 | 0x23, - 39879 - 19968: jis0212<<14 | 0x49<<7 | 0x4E, - 39880 - 19968: jis0212<<14 | 0x49<<7 | 0x4F, - 39881 - 19968: jis0208<<14 | 0x17<<7 | 0x50, - 39882 - 19968: jis0208<<14 | 0x51<<7 | 0x21, - 39886 - 19968: jis0212<<14 | 0x49<<7 | 0x50, - 39887 - 19968: jis0208<<14 | 0x51<<7 | 0x24, - 39888 - 19968: jis0212<<14 | 0x49<<7 | 0x51, - 39889 - 19968: jis0208<<14 | 0x51<<7 | 0x25, - 39890 - 19968: jis0208<<14 | 0x51<<7 | 0x26, - 39892 - 19968: jis0208<<14 | 0x51<<7 | 0x2A, - 39894 - 19968: jis0208<<14 | 0x1A<<7 | 0x09, - 39895 - 19968: jis0212<<14 | 0x49<<7 | 0x52, - 39896 - 19968: jis0212<<14 | 0x49<<7 | 0x53, - 39899 - 19968: jis0208<<14 | 0x21<<7 | 0x43, - 39901 - 19968: jis0212<<14 | 0x49<<7 | 0x54, - 39903 - 19968: jis0212<<14 | 0x49<<7 | 0x55, - 39905 - 19968: jis0208<<14 | 0x51<<7 | 0x2B, - 39906 - 19968: jis0208<<14 | 0x51<<7 | 0x28, - 39907 - 19968: jis0208<<14 | 0x51<<7 | 0x27, - 39908 - 19968: jis0208<<14 | 0x51<<7 | 0x29, - 39909 - 19968: jis0212<<14 | 0x49<<7 | 0x56, - 39911 - 19968: jis0212<<14 | 0x49<<7 | 0x57, - 39912 - 19968: jis0208<<14 | 0x16<<7 | 0x3E, - 39914 - 19968: jis0212<<14 | 0x49<<7 | 0x58, - 39915 - 19968: jis0212<<14 | 0x49<<7 | 0x59, - 39919 - 19968: jis0212<<14 | 0x49<<7 | 0x5A, - 39920 - 19968: jis0208<<14 | 0x51<<7 | 0x2F, - 39921 - 19968: jis0208<<14 | 0x51<<7 | 0x2E, - 39922 - 19968: jis0208<<14 | 0x51<<7 | 0x2D, - 39923 - 19968: jis0212<<14 | 0x49<<7 | 0x5B, - 39925 - 19968: jis0208<<14 | 0x0F<<7 | 0x12, - 39927 - 19968: jis0212<<14 | 0x49<<7 | 0x5C, - 39928 - 19968: jis0212<<14 | 0x49<<7 | 0x5D, - 39929 - 19968: jis0212<<14 | 0x4A<<7 | 0x00, - 39930 - 19968: jis0212<<14 | 0x4A<<7 | 0x01, - 39933 - 19968: jis0212<<14 | 0x4A<<7 | 0x02, - 39935 - 19968: jis0212<<14 | 0x4A<<7 | 0x03, - 39936 - 19968: jis0208<<14 | 0x5B<<7 | 0x48, - 39938 - 19968: jis0212<<14 | 0x4A<<7 | 0x05, - 39940 - 19968: jis0208<<14 | 0x51<<7 | 0x39, - 39942 - 19968: jis0208<<14 | 0x51<<7 | 0x35, - 39944 - 19968: jis0208<<14 | 0x51<<7 | 0x36, - 39945 - 19968: jis0208<<14 | 0x51<<7 | 0x32, - 39946 - 19968: jis0208<<14 | 0x51<<7 | 0x38, - 39947 - 19968: jis0212<<14 | 0x4A<<7 | 0x06, - 39948 - 19968: jis0208<<14 | 0x51<<7 | 0x34, - 39949 - 19968: jis0208<<14 | 0x12<<7 | 0x41, - 39951 - 19968: jis0212<<14 | 0x4A<<7 | 0x07, - 39952 - 19968: jis0208<<14 | 0x2E<<7 | 0x2B, - 39953 - 19968: jis0212<<14 | 0x4A<<7 | 0x08, - 39954 - 19968: jis0208<<14 | 0x51<<7 | 0x37, - 39955 - 19968: jis0208<<14 | 0x51<<7 | 0x33, - 39956 - 19968: jis0208<<14 | 0x51<<7 | 0x31, - 39957 - 19968: jis0208<<14 | 0x51<<7 | 0x30, - 39958 - 19968: jis0212<<14 | 0x4A<<7 | 0x09, - 39960 - 19968: jis0212<<14 | 0x4A<<7 | 0x0A, - 39961 - 19968: jis0212<<14 | 0x4A<<7 | 0x0B, - 39962 - 19968: jis0212<<14 | 0x4A<<7 | 0x0C, - 39963 - 19968: jis0208<<14 | 0x51<<7 | 0x3B, - 39964 - 19968: jis0212<<14 | 0x4A<<7 | 0x0D, - 39966 - 19968: jis0212<<14 | 0x4A<<7 | 0x0E, - 39969 - 19968: jis0208<<14 | 0x51<<7 | 0x3E, - 39970 - 19968: jis0212<<14 | 0x4A<<7 | 0x0F, - 39971 - 19968: jis0212<<14 | 0x4A<<7 | 0x10, - 39972 - 19968: jis0208<<14 | 0x51<<7 | 0x3D, - 39973 - 19968: jis0208<<14 | 0x51<<7 | 0x3C, - 39974 - 19968: jis0212<<14 | 0x4A<<7 | 0x11, - 39975 - 19968: jis0212<<14 | 0x4A<<7 | 0x12, - 39976 - 19968: jis0212<<14 | 0x4A<<7 | 0x13, - 39977 - 19968: jis0212<<14 | 0x4A<<7 | 0x14, - 39978 - 19968: jis0212<<14 | 0x4A<<7 | 0x15, - 39981 - 19968: jis0208<<14 | 0x28<<7 | 0x28, - 39982 - 19968: jis0208<<14 | 0x51<<7 | 0x3A, - 39983 - 19968: jis0208<<14 | 0x0F<<7 | 0x52, - 39984 - 19968: jis0208<<14 | 0x51<<7 | 0x3F, - 39985 - 19968: jis0212<<14 | 0x4A<<7 | 0x16, - 39986 - 19968: jis0208<<14 | 0x51<<7 | 0x41, - 39989 - 19968: jis0212<<14 | 0x4A<<7 | 0x17, - 39990 - 19968: jis0212<<14 | 0x4A<<7 | 0x18, - 39991 - 19968: jis0212<<14 | 0x4A<<7 | 0x19, - 39993 - 19968: jis0208<<14 | 0x12<<7 | 0x4E, - 39994 - 19968: jis0208<<14 | 0x51<<7 | 0x2C, - 39995 - 19968: jis0208<<14 | 0x10<<7 | 0x16, - 39997 - 19968: jis0212<<14 | 0x4A<<7 | 0x1A, - 39998 - 19968: jis0208<<14 | 0x51<<7 | 0x43, - 40001 - 19968: jis0212<<14 | 0x4A<<7 | 0x1B, - 40003 - 19968: jis0212<<14 | 0x4A<<7 | 0x1C, - 40004 - 19968: jis0212<<14 | 0x4A<<7 | 0x1D, - 40005 - 19968: jis0212<<14 | 0x4A<<7 | 0x1E, - 40006 - 19968: jis0208<<14 | 0x51<<7 | 0x42, - 40007 - 19968: jis0208<<14 | 0x51<<7 | 0x40, - 40008 - 19968: jis0208<<14 | 0x22<<7 | 0x0C, - 40009 - 19968: jis0212<<14 | 0x4A<<7 | 0x1F, - 40010 - 19968: jis0212<<14 | 0x4A<<7 | 0x20, - 40014 - 19968: jis0212<<14 | 0x4A<<7 | 0x21, - 40015 - 19968: jis0212<<14 | 0x4A<<7 | 0x22, - 40016 - 19968: jis0212<<14 | 0x4A<<7 | 0x23, - 40018 - 19968: jis0208<<14 | 0x2A<<7 | 0x4F, - 40019 - 19968: jis0212<<14 | 0x4A<<7 | 0x24, - 40020 - 19968: jis0212<<14 | 0x4A<<7 | 0x25, - 40022 - 19968: jis0212<<14 | 0x4A<<7 | 0x26, - 40023 - 19968: jis0208<<14 | 0x2D<<7 | 0x39, - 40024 - 19968: jis0212<<14 | 0x4A<<7 | 0x27, - 40026 - 19968: jis0208<<14 | 0x51<<7 | 0x44, - 40027 - 19968: jis0212<<14 | 0x4A<<7 | 0x28, - 40028 - 19968: jis0212<<14 | 0x4A<<7 | 0x2F, - 40029 - 19968: jis0212<<14 | 0x4A<<7 | 0x29, - 40030 - 19968: jis0212<<14 | 0x4A<<7 | 0x2A, - 40031 - 19968: jis0212<<14 | 0x4A<<7 | 0x2B, - 40032 - 19968: jis0208<<14 | 0x51<<7 | 0x45, - 40035 - 19968: jis0212<<14 | 0x4A<<7 | 0x2C, - 40039 - 19968: jis0208<<14 | 0x51<<7 | 0x46, - 40040 - 19968: jis0212<<14 | 0x4A<<7 | 0x31, - 40041 - 19968: jis0212<<14 | 0x4A<<7 | 0x2D, - 40042 - 19968: jis0212<<14 | 0x4A<<7 | 0x2E, - 40043 - 19968: jis0212<<14 | 0x4A<<7 | 0x30, - 40046 - 19968: jis0212<<14 | 0x4A<<7 | 0x32, - 40048 - 19968: jis0212<<14 | 0x4A<<7 | 0x33, - 40050 - 19968: jis0212<<14 | 0x4A<<7 | 0x34, - 40053 - 19968: jis0212<<14 | 0x4A<<7 | 0x35, - 40054 - 19968: jis0208<<14 | 0x51<<7 | 0x47, - 40055 - 19968: jis0212<<14 | 0x4A<<7 | 0x36, - 40056 - 19968: jis0208<<14 | 0x51<<7 | 0x48, - 40059 - 19968: jis0212<<14 | 0x4A<<7 | 0x37, - 40165 - 19968: jis0208<<14 | 0x23<<7 | 0x1A, - 40166 - 19968: jis0212<<14 | 0x4A<<7 | 0x38, - 40167 - 19968: jis0208<<14 | 0x51<<7 | 0x49, - 40169 - 19968: jis0208<<14 | 0x27<<7 | 0x16, - 40171 - 19968: jis0208<<14 | 0x51<<7 | 0x4E, - 40172 - 19968: jis0208<<14 | 0x51<<7 | 0x4A, - 40176 - 19968: jis0208<<14 | 0x51<<7 | 0x4B, - 40178 - 19968: jis0212<<14 | 0x4A<<7 | 0x39, - 40179 - 19968: jis0208<<14 | 0x2A<<7 | 0x10, - 40180 - 19968: jis0208<<14 | 0x2B<<7 | 0x23, - 40182 - 19968: jis0208<<14 | 0x25<<7 | 0x2F, - 40183 - 19968: jis0212<<14 | 0x4A<<7 | 0x3A, - 40185 - 19968: jis0212<<14 | 0x4A<<7 | 0x3B, - 40194 - 19968: jis0212<<14 | 0x4A<<7 | 0x3D, - 40195 - 19968: jis0208<<14 | 0x51<<7 | 0x4F, - 40198 - 19968: jis0208<<14 | 0x51<<7 | 0x50, - 40199 - 19968: jis0208<<14 | 0x25<<7 | 0x1D, - 40200 - 19968: jis0208<<14 | 0x51<<7 | 0x4D, - 40201 - 19968: jis0208<<14 | 0x51<<7 | 0x4C, - 40203 - 19968: jis0212<<14 | 0x4A<<7 | 0x3C, - 40206 - 19968: jis0208<<14 | 0x11<<7 | 0x09, - 40209 - 19968: jis0212<<14 | 0x4A<<7 | 0x3E, - 40210 - 19968: jis0208<<14 | 0x51<<7 | 0x58, - 40213 - 19968: jis0208<<14 | 0x51<<7 | 0x57, - 40215 - 19968: jis0212<<14 | 0x4A<<7 | 0x3F, - 40216 - 19968: jis0212<<14 | 0x4A<<7 | 0x40, - 40219 - 19968: jis0208<<14 | 0x10<<7 | 0x54, - 40220 - 19968: jis0212<<14 | 0x4A<<7 | 0x41, - 40221 - 19968: jis0212<<14 | 0x4A<<7 | 0x42, - 40222 - 19968: jis0212<<14 | 0x4A<<7 | 0x43, - 40223 - 19968: jis0208<<14 | 0x51<<7 | 0x55, - 40227 - 19968: jis0208<<14 | 0x51<<7 | 0x54, - 40230 - 19968: jis0208<<14 | 0x51<<7 | 0x52, - 40232 - 19968: jis0208<<14 | 0x12<<7 | 0x5A, - 40234 - 19968: jis0208<<14 | 0x51<<7 | 0x51, - 40235 - 19968: jis0208<<14 | 0x1B<<7 | 0x11, - 40236 - 19968: jis0208<<14 | 0x11<<7 | 0x08, - 40239 - 19968: jis0212<<14 | 0x4A<<7 | 0x44, - 40240 - 19968: jis0212<<14 | 0x4A<<7 | 0x45, - 40242 - 19968: jis0212<<14 | 0x4A<<7 | 0x46, - 40243 - 19968: jis0212<<14 | 0x4A<<7 | 0x47, - 40244 - 19968: jis0212<<14 | 0x4A<<7 | 0x48, - 40250 - 19968: jis0212<<14 | 0x4A<<7 | 0x49, - 40251 - 19968: jis0208<<14 | 0x18<<7 | 0x42, - 40252 - 19968: jis0212<<14 | 0x4A<<7 | 0x4A, - 40253 - 19968: jis0212<<14 | 0x4A<<7 | 0x4C, - 40254 - 19968: jis0208<<14 | 0x51<<7 | 0x5B, - 40255 - 19968: jis0208<<14 | 0x51<<7 | 0x5A, - 40257 - 19968: jis0208<<14 | 0x51<<7 | 0x59, - 40258 - 19968: jis0212<<14 | 0x4A<<7 | 0x4D, - 40259 - 19968: jis0212<<14 | 0x4A<<7 | 0x4E, - 40260 - 19968: jis0208<<14 | 0x51<<7 | 0x56, - 40261 - 19968: jis0212<<14 | 0x4A<<7 | 0x4B, - 40262 - 19968: jis0208<<14 | 0x51<<7 | 0x5C, - 40263 - 19968: jis0212<<14 | 0x4A<<7 | 0x4F, - 40264 - 19968: jis0208<<14 | 0x51<<7 | 0x5D, - 40266 - 19968: jis0212<<14 | 0x4A<<7 | 0x50, - 40272 - 19968: jis0208<<14 | 0x52<<7 | 0x04, - 40273 - 19968: jis0208<<14 | 0x52<<7 | 0x03, - 40275 - 19968: jis0212<<14 | 0x4A<<7 | 0x51, - 40276 - 19968: jis0212<<14 | 0x4A<<7 | 0x52, - 40281 - 19968: jis0208<<14 | 0x52<<7 | 0x05, - 40284 - 19968: jis0208<<14 | 0x10<<7 | 0x0C, - 40285 - 19968: jis0208<<14 | 0x52<<7 | 0x00, - 40286 - 19968: jis0208<<14 | 0x52<<7 | 0x01, - 40287 - 19968: jis0212<<14 | 0x4A<<7 | 0x53, - 40288 - 19968: jis0208<<14 | 0x18<<7 | 0x53, - 40289 - 19968: jis0208<<14 | 0x2B<<7 | 0x18, - 40290 - 19968: jis0212<<14 | 0x4A<<7 | 0x55, - 40291 - 19968: jis0212<<14 | 0x4A<<7 | 0x54, - 40292 - 19968: jis0208<<14 | 0x52<<7 | 0x02, - 40293 - 19968: jis0212<<14 | 0x4A<<7 | 0x56, - 40297 - 19968: jis0212<<14 | 0x4A<<7 | 0x57, - 40298 - 19968: jis0212<<14 | 0x4A<<7 | 0x58, - 40299 - 19968: jis0208<<14 | 0x5B<<7 | 0x4A, - 40300 - 19968: jis0208<<14 | 0x2A<<7 | 0x11, - 40303 - 19968: jis0208<<14 | 0x52<<7 | 0x0A, - 40304 - 19968: jis0208<<14 | 0x5B<<7 | 0x49, - 40306 - 19968: jis0208<<14 | 0x52<<7 | 0x06, - 40310 - 19968: jis0212<<14 | 0x4A<<7 | 0x5B, - 40311 - 19968: jis0212<<14 | 0x4A<<7 | 0x5C, - 40314 - 19968: jis0208<<14 | 0x52<<7 | 0x0B, - 40315 - 19968: jis0212<<14 | 0x4A<<7 | 0x5D, - 40316 - 19968: jis0212<<14 | 0x4B<<7 | 0x00, - 40318 - 19968: jis0212<<14 | 0x4B<<7 | 0x01, - 40323 - 19968: jis0212<<14 | 0x4B<<7 | 0x02, - 40324 - 19968: jis0212<<14 | 0x4B<<7 | 0x03, - 40326 - 19968: jis0212<<14 | 0x4B<<7 | 0x04, - 40327 - 19968: jis0208<<14 | 0x52<<7 | 0x08, - 40329 - 19968: jis0208<<14 | 0x52<<7 | 0x07, - 40330 - 19968: jis0212<<14 | 0x4B<<7 | 0x05, - 40333 - 19968: jis0212<<14 | 0x4B<<7 | 0x06, - 40334 - 19968: jis0212<<14 | 0x4B<<7 | 0x07, - 40335 - 19968: jis0208<<14 | 0x16<<7 | 0x3B, - 40338 - 19968: jis0212<<14 | 0x4B<<7 | 0x08, - 40339 - 19968: jis0212<<14 | 0x4B<<7 | 0x09, - 40341 - 19968: jis0212<<14 | 0x4B<<7 | 0x0A, - 40342 - 19968: jis0212<<14 | 0x4B<<7 | 0x0B, - 40343 - 19968: jis0212<<14 | 0x4B<<7 | 0x0C, - 40344 - 19968: jis0212<<14 | 0x4B<<7 | 0x0D, - 40346 - 19968: jis0208<<14 | 0x52<<7 | 0x0C, - 40353 - 19968: jis0212<<14 | 0x4B<<7 | 0x0E, - 40356 - 19968: jis0208<<14 | 0x52<<7 | 0x0D, - 40361 - 19968: jis0208<<14 | 0x52<<7 | 0x0E, - 40362 - 19968: jis0212<<14 | 0x4B<<7 | 0x0F, - 40363 - 19968: jis0208<<14 | 0x52<<7 | 0x09, - 40364 - 19968: jis0212<<14 | 0x4B<<7 | 0x10, - 40366 - 19968: jis0212<<14 | 0x4B<<7 | 0x11, - 40367 - 19968: jis0208<<14 | 0x51<<7 | 0x53, - 40369 - 19968: jis0212<<14 | 0x4B<<7 | 0x12, - 40370 - 19968: jis0208<<14 | 0x52<<7 | 0x0F, - 40372 - 19968: jis0208<<14 | 0x23<<7 | 0x40, - 40373 - 19968: jis0212<<14 | 0x4B<<7 | 0x13, - 40376 - 19968: jis0208<<14 | 0x52<<7 | 0x13, - 40377 - 19968: jis0212<<14 | 0x4B<<7 | 0x14, - 40378 - 19968: jis0208<<14 | 0x52<<7 | 0x14, - 40379 - 19968: jis0208<<14 | 0x52<<7 | 0x12, - 40380 - 19968: jis0212<<14 | 0x4B<<7 | 0x15, - 40383 - 19968: jis0212<<14 | 0x4B<<7 | 0x16, - 40385 - 19968: jis0208<<14 | 0x52<<7 | 0x11, - 40386 - 19968: jis0208<<14 | 0x52<<7 | 0x17, - 40387 - 19968: jis0212<<14 | 0x4B<<7 | 0x17, - 40388 - 19968: jis0208<<14 | 0x52<<7 | 0x10, - 40390 - 19968: jis0208<<14 | 0x52<<7 | 0x15, - 40391 - 19968: jis0212<<14 | 0x4B<<7 | 0x18, - 40393 - 19968: jis0212<<14 | 0x4B<<7 | 0x19, - 40394 - 19968: jis0212<<14 | 0x4B<<7 | 0x1A, - 40399 - 19968: jis0208<<14 | 0x52<<7 | 0x16, - 40403 - 19968: jis0208<<14 | 0x52<<7 | 0x19, - 40404 - 19968: jis0212<<14 | 0x4B<<7 | 0x1B, - 40405 - 19968: jis0212<<14 | 0x4B<<7 | 0x1C, - 40406 - 19968: jis0212<<14 | 0x4B<<7 | 0x1D, - 40407 - 19968: jis0212<<14 | 0x4B<<7 | 0x1E, - 40409 - 19968: jis0208<<14 | 0x52<<7 | 0x18, - 40410 - 19968: jis0212<<14 | 0x4B<<7 | 0x1F, - 40414 - 19968: jis0212<<14 | 0x4B<<7 | 0x20, - 40415 - 19968: jis0212<<14 | 0x4B<<7 | 0x21, - 40416 - 19968: jis0212<<14 | 0x4B<<7 | 0x22, - 40421 - 19968: jis0212<<14 | 0x4B<<7 | 0x23, - 40422 - 19968: jis0208<<14 | 0x52<<7 | 0x1B, - 40423 - 19968: jis0212<<14 | 0x4B<<7 | 0x24, - 40425 - 19968: jis0212<<14 | 0x4B<<7 | 0x25, - 40427 - 19968: jis0212<<14 | 0x4B<<7 | 0x26, - 40429 - 19968: jis0208<<14 | 0x52<<7 | 0x1C, - 40430 - 19968: jis0212<<14 | 0x4B<<7 | 0x27, - 40431 - 19968: jis0208<<14 | 0x52<<7 | 0x1D, - 40432 - 19968: jis0212<<14 | 0x4B<<7 | 0x28, - 40434 - 19968: jis0208<<14 | 0x2E<<7 | 0x28, - 40435 - 19968: jis0212<<14 | 0x4B<<7 | 0x29, - 40436 - 19968: jis0212<<14 | 0x4B<<7 | 0x2A, - 40440 - 19968: jis0208<<14 | 0x52<<7 | 0x1A, - 40441 - 19968: jis0208<<14 | 0x21<<7 | 0x4A, - 40442 - 19968: jis0208<<14 | 0x19<<7 | 0x4C, - 40445 - 19968: jis0208<<14 | 0x52<<7 | 0x1E, - 40446 - 19968: jis0212<<14 | 0x4B<<7 | 0x2B, - 40450 - 19968: jis0212<<14 | 0x4B<<7 | 0x2D, - 40455 - 19968: jis0212<<14 | 0x4B<<7 | 0x2E, - 40458 - 19968: jis0212<<14 | 0x4B<<7 | 0x2C, - 40462 - 19968: jis0212<<14 | 0x4B<<7 | 0x2F, - 40464 - 19968: jis0212<<14 | 0x4B<<7 | 0x30, - 40465 - 19968: jis0212<<14 | 0x4B<<7 | 0x31, - 40466 - 19968: jis0212<<14 | 0x4B<<7 | 0x32, - 40469 - 19968: jis0212<<14 | 0x4B<<7 | 0x33, - 40470 - 19968: jis0212<<14 | 0x4B<<7 | 0x34, - 40473 - 19968: jis0208<<14 | 0x5B<<7 | 0x4C, - 40474 - 19968: jis0208<<14 | 0x52<<7 | 0x1F, - 40475 - 19968: jis0208<<14 | 0x52<<7 | 0x20, - 40476 - 19968: jis0212<<14 | 0x4B<<7 | 0x36, - 40477 - 19968: jis0212<<14 | 0x4B<<7 | 0x37, - 40478 - 19968: jis0208<<14 | 0x52<<7 | 0x21, - 40565 - 19968: jis0208<<14 | 0x52<<7 | 0x22, - 40568 - 19968: jis0208<<14 | 0x17<<7 | 0x13, - 40569 - 19968: jis0208<<14 | 0x52<<7 | 0x23, - 40570 - 19968: jis0212<<14 | 0x4B<<7 | 0x38, - 40571 - 19968: jis0212<<14 | 0x4B<<7 | 0x39, - 40572 - 19968: jis0212<<14 | 0x4B<<7 | 0x3A, - 40573 - 19968: jis0208<<14 | 0x52<<7 | 0x24, - 40575 - 19968: jis0208<<14 | 0x1B<<7 | 0x0E, - 40576 - 19968: jis0212<<14 | 0x4B<<7 | 0x3B, - 40577 - 19968: jis0208<<14 | 0x52<<7 | 0x25, - 40578 - 19968: jis0212<<14 | 0x4B<<7 | 0x3C, - 40579 - 19968: jis0212<<14 | 0x4B<<7 | 0x3D, - 40580 - 19968: jis0212<<14 | 0x4B<<7 | 0x3E, - 40581 - 19968: jis0212<<14 | 0x4B<<7 | 0x3F, - 40583 - 19968: jis0212<<14 | 0x4B<<7 | 0x40, - 40584 - 19968: jis0208<<14 | 0x52<<7 | 0x26, - 40587 - 19968: jis0208<<14 | 0x52<<7 | 0x27, - 40588 - 19968: jis0208<<14 | 0x52<<7 | 0x28, - 40590 - 19968: jis0212<<14 | 0x4B<<7 | 0x41, - 40591 - 19968: jis0212<<14 | 0x4B<<7 | 0x42, - 40593 - 19968: jis0208<<14 | 0x52<<7 | 0x2B, - 40594 - 19968: jis0208<<14 | 0x52<<7 | 0x29, - 40595 - 19968: jis0208<<14 | 0x2E<<7 | 0x1B, - 40597 - 19968: jis0208<<14 | 0x52<<7 | 0x2A, - 40598 - 19968: jis0212<<14 | 0x4B<<7 | 0x43, - 40599 - 19968: jis0208<<14 | 0x2D<<7 | 0x4E, - 40600 - 19968: jis0212<<14 | 0x4B<<7 | 0x44, - 40603 - 19968: jis0212<<14 | 0x4B<<7 | 0x45, - 40605 - 19968: jis0208<<14 | 0x52<<7 | 0x2C, - 40606 - 19968: jis0212<<14 | 0x4B<<7 | 0x46, - 40607 - 19968: jis0208<<14 | 0x2D<<7 | 0x3A, - 40612 - 19968: jis0212<<14 | 0x4B<<7 | 0x47, - 40613 - 19968: jis0208<<14 | 0x52<<7 | 0x2D, - 40614 - 19968: jis0208<<14 | 0x26<<7 | 0x5D, - 40616 - 19968: jis0212<<14 | 0x4B<<7 | 0x48, - 40617 - 19968: jis0208<<14 | 0x52<<7 | 0x2E, - 40618 - 19968: jis0208<<14 | 0x52<<7 | 0x30, - 40620 - 19968: jis0212<<14 | 0x4B<<7 | 0x49, - 40621 - 19968: jis0208<<14 | 0x52<<7 | 0x31, - 40622 - 19968: jis0212<<14 | 0x4B<<7 | 0x4A, - 40623 - 19968: jis0212<<14 | 0x4B<<7 | 0x4B, - 40624 - 19968: jis0212<<14 | 0x4B<<7 | 0x4C, - 40627 - 19968: jis0212<<14 | 0x4B<<7 | 0x4D, - 40628 - 19968: jis0212<<14 | 0x4B<<7 | 0x4E, - 40629 - 19968: jis0212<<14 | 0x4B<<7 | 0x4F, - 40632 - 19968: jis0208<<14 | 0x52<<7 | 0x2F, - 40633 - 19968: jis0208<<14 | 0x18<<7 | 0x4C, - 40634 - 19968: jis0208<<14 | 0x2B<<7 | 0x2C, - 40635 - 19968: jis0208<<14 | 0x2A<<7 | 0x42, - 40636 - 19968: jis0208<<14 | 0x35<<7 | 0x56, - 40638 - 19968: jis0208<<14 | 0x3C<<7 | 0x3F, - 40639 - 19968: jis0208<<14 | 0x2A<<7 | 0x5A, - 40644 - 19968: jis0208<<14 | 0x11<<7 | 0x0A, - 40646 - 19968: jis0212<<14 | 0x4B<<7 | 0x50, - 40648 - 19968: jis0212<<14 | 0x4B<<7 | 0x51, - 40651 - 19968: jis0212<<14 | 0x4B<<7 | 0x52, - 40652 - 19968: jis0208<<14 | 0x52<<7 | 0x33, - 40653 - 19968: jis0208<<14 | 0x14<<7 | 0x2F, - 40654 - 19968: jis0208<<14 | 0x52<<7 | 0x34, - 40655 - 19968: jis0208<<14 | 0x52<<7 | 0x35, - 40656 - 19968: jis0208<<14 | 0x52<<7 | 0x36, - 40657 - 19968: jis0208<<14 | 0x5B<<7 | 0x4D, - 40658 - 19968: jis0208<<14 | 0x18<<7 | 0x54, - 40660 - 19968: jis0208<<14 | 0x52<<7 | 0x37, - 40661 - 19968: jis0212<<14 | 0x4B<<7 | 0x53, - 40664 - 19968: jis0208<<14 | 0x3F<<7 | 0x33, - 40665 - 19968: jis0208<<14 | 0x2B<<7 | 0x3A, - 40667 - 19968: jis0208<<14 | 0x21<<7 | 0x42, - 40668 - 19968: jis0208<<14 | 0x52<<7 | 0x38, - 40669 - 19968: jis0208<<14 | 0x52<<7 | 0x3A, - 40670 - 19968: jis0208<<14 | 0x52<<7 | 0x39, - 40671 - 19968: jis0212<<14 | 0x4B<<7 | 0x54, - 40672 - 19968: jis0208<<14 | 0x52<<7 | 0x3B, - 40676 - 19968: jis0212<<14 | 0x4B<<7 | 0x55, - 40677 - 19968: jis0208<<14 | 0x52<<7 | 0x3C, - 40679 - 19968: jis0212<<14 | 0x4B<<7 | 0x56, - 40680 - 19968: jis0208<<14 | 0x52<<7 | 0x3D, - 40684 - 19968: jis0212<<14 | 0x4B<<7 | 0x57, - 40685 - 19968: jis0212<<14 | 0x4B<<7 | 0x58, - 40686 - 19968: jis0212<<14 | 0x4B<<7 | 0x59, - 40687 - 19968: jis0208<<14 | 0x52<<7 | 0x3E, - 40688 - 19968: jis0212<<14 | 0x4B<<7 | 0x5A, - 40689 - 19968: jis0212<<14 | 0x4B<<7 | 0x5B, - 40690 - 19968: jis0212<<14 | 0x4B<<7 | 0x5C, - 40692 - 19968: jis0208<<14 | 0x52<<7 | 0x3F, - 40693 - 19968: jis0212<<14 | 0x4B<<7 | 0x5D, - 40694 - 19968: jis0208<<14 | 0x52<<7 | 0x40, - 40695 - 19968: jis0208<<14 | 0x52<<7 | 0x41, - 40696 - 19968: jis0212<<14 | 0x4C<<7 | 0x00, - 40697 - 19968: jis0208<<14 | 0x52<<7 | 0x42, - 40699 - 19968: jis0208<<14 | 0x52<<7 | 0x43, - 40700 - 19968: jis0208<<14 | 0x52<<7 | 0x44, - 40701 - 19968: jis0208<<14 | 0x52<<7 | 0x45, - 40703 - 19968: jis0212<<14 | 0x4C<<7 | 0x01, - 40706 - 19968: jis0212<<14 | 0x4C<<7 | 0x02, - 40707 - 19968: jis0212<<14 | 0x4C<<7 | 0x03, - 40711 - 19968: jis0208<<14 | 0x52<<7 | 0x46, - 40712 - 19968: jis0208<<14 | 0x52<<7 | 0x47, - 40713 - 19968: jis0212<<14 | 0x4C<<7 | 0x04, - 40718 - 19968: jis0208<<14 | 0x24<<7 | 0x03, - 40719 - 19968: jis0212<<14 | 0x4C<<7 | 0x05, - 40720 - 19968: jis0212<<14 | 0x4C<<7 | 0x06, - 40721 - 19968: jis0212<<14 | 0x4C<<7 | 0x07, - 40722 - 19968: jis0212<<14 | 0x4C<<7 | 0x08, - 40723 - 19968: jis0208<<14 | 0x17<<7 | 0x3C, - 40724 - 19968: jis0212<<14 | 0x4C<<7 | 0x09, - 40725 - 19968: jis0208<<14 | 0x52<<7 | 0x49, - 40726 - 19968: jis0212<<14 | 0x4C<<7 | 0x0A, - 40727 - 19968: jis0212<<14 | 0x4C<<7 | 0x0B, - 40729 - 19968: jis0212<<14 | 0x4C<<7 | 0x0C, - 40730 - 19968: jis0212<<14 | 0x4C<<7 | 0x0D, - 40731 - 19968: jis0212<<14 | 0x4C<<7 | 0x0E, - 40735 - 19968: jis0212<<14 | 0x4C<<7 | 0x0F, - 40736 - 19968: jis0208<<14 | 0x20<<7 | 0x2C, - 40737 - 19968: jis0208<<14 | 0x52<<7 | 0x4A, - 40738 - 19968: jis0212<<14 | 0x4C<<7 | 0x10, - 40742 - 19968: jis0212<<14 | 0x4C<<7 | 0x11, - 40746 - 19968: jis0212<<14 | 0x4C<<7 | 0x12, - 40747 - 19968: jis0212<<14 | 0x4C<<7 | 0x13, - 40748 - 19968: jis0208<<14 | 0x52<<7 | 0x4B, - 40751 - 19968: jis0212<<14 | 0x4C<<7 | 0x14, - 40753 - 19968: jis0212<<14 | 0x4C<<7 | 0x15, - 40754 - 19968: jis0212<<14 | 0x4C<<7 | 0x16, - 40756 - 19968: jis0212<<14 | 0x4C<<7 | 0x17, - 40759 - 19968: jis0212<<14 | 0x4C<<7 | 0x18, - 40761 - 19968: jis0212<<14 | 0x4C<<7 | 0x19, - 40762 - 19968: jis0212<<14 | 0x4C<<7 | 0x1A, - 40763 - 19968: jis0208<<14 | 0x28<<7 | 0x00, - 40764 - 19968: jis0212<<14 | 0x4C<<7 | 0x1B, - 40765 - 19968: jis0212<<14 | 0x4C<<7 | 0x1C, - 40766 - 19968: jis0208<<14 | 0x52<<7 | 0x4C, - 40767 - 19968: jis0212<<14 | 0x4C<<7 | 0x1D, - 40769 - 19968: jis0212<<14 | 0x4C<<7 | 0x1E, - 40771 - 19968: jis0212<<14 | 0x4C<<7 | 0x1F, - 40772 - 19968: jis0212<<14 | 0x4C<<7 | 0x20, - 40773 - 19968: jis0212<<14 | 0x4C<<7 | 0x21, - 40774 - 19968: jis0212<<14 | 0x4C<<7 | 0x22, - 40775 - 19968: jis0212<<14 | 0x4C<<7 | 0x23, - 40778 - 19968: jis0208<<14 | 0x52<<7 | 0x4D, - 40779 - 19968: jis0208<<14 | 0x42<<7 | 0x16, - 40782 - 19968: jis0208<<14 | 0x4B<<7 | 0x39, - 40783 - 19968: jis0208<<14 | 0x4F<<7 | 0x4C, - 40786 - 19968: jis0208<<14 | 0x52<<7 | 0x4E, - 40787 - 19968: jis0212<<14 | 0x4C<<7 | 0x24, - 40788 - 19968: jis0208<<14 | 0x52<<7 | 0x4F, - 40789 - 19968: jis0212<<14 | 0x4C<<7 | 0x25, - 40790 - 19968: jis0212<<14 | 0x4C<<7 | 0x26, - 40791 - 19968: jis0212<<14 | 0x4C<<7 | 0x27, - 40792 - 19968: jis0212<<14 | 0x4C<<7 | 0x28, - 40794 - 19968: jis0212<<14 | 0x4C<<7 | 0x29, - 40797 - 19968: jis0212<<14 | 0x4C<<7 | 0x2A, - 40798 - 19968: jis0212<<14 | 0x4C<<7 | 0x2B, - 40799 - 19968: jis0208<<14 | 0x52<<7 | 0x51, - 40800 - 19968: jis0208<<14 | 0x52<<7 | 0x52, - 40801 - 19968: jis0208<<14 | 0x52<<7 | 0x53, - 40802 - 19968: jis0208<<14 | 0x2D<<7 | 0x4F, - 40803 - 19968: jis0208<<14 | 0x52<<7 | 0x50, - 40806 - 19968: jis0208<<14 | 0x52<<7 | 0x54, - 40807 - 19968: jis0208<<14 | 0x52<<7 | 0x55, - 40808 - 19968: jis0212<<14 | 0x4C<<7 | 0x2C, - 40809 - 19968: jis0212<<14 | 0x4C<<7 | 0x2D, - 40810 - 19968: jis0208<<14 | 0x52<<7 | 0x57, - 40812 - 19968: jis0208<<14 | 0x52<<7 | 0x56, - 40813 - 19968: jis0212<<14 | 0x4C<<7 | 0x2E, - 40814 - 19968: jis0212<<14 | 0x4C<<7 | 0x2F, - 40815 - 19968: jis0212<<14 | 0x4C<<7 | 0x30, - 40816 - 19968: jis0212<<14 | 0x4C<<7 | 0x31, - 40817 - 19968: jis0212<<14 | 0x4C<<7 | 0x32, - 40818 - 19968: jis0208<<14 | 0x52<<7 | 0x59, - 40819 - 19968: jis0212<<14 | 0x4C<<7 | 0x33, - 40821 - 19968: jis0212<<14 | 0x4C<<7 | 0x34, - 40822 - 19968: jis0208<<14 | 0x52<<7 | 0x5A, - 40823 - 19968: jis0208<<14 | 0x52<<7 | 0x58, - 40826 - 19968: jis0212<<14 | 0x4C<<7 | 0x35, - 40829 - 19968: jis0212<<14 | 0x4C<<7 | 0x36, - 40845 - 19968: jis0208<<14 | 0x2D<<7 | 0x15, - 40847 - 19968: jis0212<<14 | 0x4C<<7 | 0x37, - 40848 - 19968: jis0212<<14 | 0x4C<<7 | 0x38, - 40849 - 19968: jis0212<<14 | 0x4C<<7 | 0x39, - 40850 - 19968: jis0212<<14 | 0x4C<<7 | 0x3A, - 40852 - 19968: jis0212<<14 | 0x4C<<7 | 0x3B, - 40853 - 19968: jis0208<<14 | 0x52<<7 | 0x5B, - 40854 - 19968: jis0212<<14 | 0x4C<<7 | 0x3C, - 40855 - 19968: jis0212<<14 | 0x4C<<7 | 0x3D, - 40860 - 19968: jis0208<<14 | 0x52<<7 | 0x5C, - 40861 - 19968: jis0208<<14 | 0x42<<7 | 0x33, - 40862 - 19968: jis0212<<14 | 0x4C<<7 | 0x3E, - 40864 - 19968: jis0208<<14 | 0x52<<7 | 0x5D, - 40865 - 19968: jis0212<<14 | 0x4C<<7 | 0x3F, - 40866 - 19968: jis0212<<14 | 0x4C<<7 | 0x40, - 40867 - 19968: jis0212<<14 | 0x4C<<7 | 0x41, - 40869 - 19968: jis0212<<14 | 0x4C<<7 | 0x42, -} - -const encode1Low, encode1High = 8208, 9840 - -var encode1 = [...]uint16{ - 8208 - 8208: jis0208<<14 | 0x00<<7 | 0x1D, - 8213 - 8208: jis0208<<14 | 0x00<<7 | 0x1C, - 8216 - 8208: jis0208<<14 | 0x00<<7 | 0x25, - 8217 - 8208: jis0208<<14 | 0x00<<7 | 0x26, - 8220 - 8208: jis0208<<14 | 0x00<<7 | 0x27, - 8221 - 8208: jis0208<<14 | 0x00<<7 | 0x28, - 8224 - 8208: jis0208<<14 | 0x01<<7 | 0x56, - 8225 - 8208: jis0208<<14 | 0x01<<7 | 0x57, - 8229 - 8208: jis0208<<14 | 0x00<<7 | 0x24, - 8230 - 8208: jis0208<<14 | 0x00<<7 | 0x23, - 8240 - 8208: jis0208<<14 | 0x01<<7 | 0x52, - 8242 - 8208: jis0208<<14 | 0x00<<7 | 0x4B, - 8243 - 8208: jis0208<<14 | 0x00<<7 | 0x4C, - 8251 - 8208: jis0208<<14 | 0x01<<7 | 0x07, - 8451 - 8208: jis0208<<14 | 0x00<<7 | 0x4D, - 8470 - 8208: jis0208<<14 | 0x0C<<7 | 0x41, - 8481 - 8208: jis0208<<14 | 0x0C<<7 | 0x43, - 8482 - 8208: jis0212<<14 | 0x01<<7 | 0x4E, - 8491 - 8208: jis0208<<14 | 0x01<<7 | 0x51, - 8544 - 8208: jis0208<<14 | 0x0C<<7 | 0x14, - 8545 - 8208: jis0208<<14 | 0x0C<<7 | 0x15, - 8546 - 8208: jis0208<<14 | 0x0C<<7 | 0x16, - 8547 - 8208: jis0208<<14 | 0x0C<<7 | 0x17, - 8548 - 8208: jis0208<<14 | 0x0C<<7 | 0x18, - 8549 - 8208: jis0208<<14 | 0x0C<<7 | 0x19, - 8550 - 8208: jis0208<<14 | 0x0C<<7 | 0x1A, - 8551 - 8208: jis0208<<14 | 0x0C<<7 | 0x1B, - 8552 - 8208: jis0208<<14 | 0x0C<<7 | 0x1C, - 8553 - 8208: jis0208<<14 | 0x0C<<7 | 0x1D, - 8560 - 8208: jis0208<<14 | 0x5B<<7 | 0x50, - 8561 - 8208: jis0208<<14 | 0x5B<<7 | 0x51, - 8562 - 8208: jis0208<<14 | 0x5B<<7 | 0x52, - 8563 - 8208: jis0208<<14 | 0x5B<<7 | 0x53, - 8564 - 8208: jis0208<<14 | 0x5B<<7 | 0x54, - 8565 - 8208: jis0208<<14 | 0x5B<<7 | 0x55, - 8566 - 8208: jis0208<<14 | 0x5B<<7 | 0x56, - 8567 - 8208: jis0208<<14 | 0x5B<<7 | 0x57, - 8568 - 8208: jis0208<<14 | 0x5B<<7 | 0x58, - 8569 - 8208: jis0208<<14 | 0x5B<<7 | 0x59, - 8592 - 8208: jis0208<<14 | 0x01<<7 | 0x0A, - 8593 - 8208: jis0208<<14 | 0x01<<7 | 0x0B, - 8594 - 8208: jis0208<<14 | 0x01<<7 | 0x09, - 8595 - 8208: jis0208<<14 | 0x01<<7 | 0x0C, - 8658 - 8208: jis0208<<14 | 0x01<<7 | 0x2C, - 8660 - 8208: jis0208<<14 | 0x01<<7 | 0x2D, - 8704 - 8208: jis0208<<14 | 0x01<<7 | 0x2E, - 8706 - 8208: jis0208<<14 | 0x01<<7 | 0x3E, - 8707 - 8208: jis0208<<14 | 0x01<<7 | 0x2F, - 8711 - 8208: jis0208<<14 | 0x01<<7 | 0x3F, - 8712 - 8208: jis0208<<14 | 0x01<<7 | 0x19, - 8715 - 8208: jis0208<<14 | 0x01<<7 | 0x1A, - 8721 - 8208: jis0208<<14 | 0x0C<<7 | 0x53, - 8730 - 8208: jis0208<<14 | 0x01<<7 | 0x44, - 8733 - 8208: jis0208<<14 | 0x01<<7 | 0x46, - 8734 - 8208: jis0208<<14 | 0x00<<7 | 0x46, - 8735 - 8208: jis0208<<14 | 0x0C<<7 | 0x57, - 8736 - 8208: jis0208<<14 | 0x01<<7 | 0x3B, - 8741 - 8208: jis0208<<14 | 0x00<<7 | 0x21, - 8743 - 8208: jis0208<<14 | 0x01<<7 | 0x29, - 8744 - 8208: jis0208<<14 | 0x01<<7 | 0x2A, - 8745 - 8208: jis0208<<14 | 0x01<<7 | 0x20, - 8746 - 8208: jis0208<<14 | 0x01<<7 | 0x1F, - 8747 - 8208: jis0208<<14 | 0x01<<7 | 0x48, - 8748 - 8208: jis0208<<14 | 0x01<<7 | 0x49, - 8750 - 8208: jis0208<<14 | 0x0C<<7 | 0x52, - 8756 - 8208: jis0208<<14 | 0x00<<7 | 0x47, - 8757 - 8208: jis0208<<14 | 0x01<<7 | 0x47, - 8765 - 8208: jis0208<<14 | 0x01<<7 | 0x45, - 8786 - 8208: jis0208<<14 | 0x01<<7 | 0x41, - 8800 - 8208: jis0208<<14 | 0x00<<7 | 0x41, - 8801 - 8208: jis0208<<14 | 0x01<<7 | 0x40, - 8806 - 8208: jis0208<<14 | 0x00<<7 | 0x44, - 8807 - 8208: jis0208<<14 | 0x00<<7 | 0x45, - 8810 - 8208: jis0208<<14 | 0x01<<7 | 0x42, - 8811 - 8208: jis0208<<14 | 0x01<<7 | 0x43, - 8834 - 8208: jis0208<<14 | 0x01<<7 | 0x1D, - 8835 - 8208: jis0208<<14 | 0x01<<7 | 0x1E, - 8838 - 8208: jis0208<<14 | 0x01<<7 | 0x1B, - 8839 - 8208: jis0208<<14 | 0x01<<7 | 0x1C, - 8869 - 8208: jis0208<<14 | 0x01<<7 | 0x3C, - 8895 - 8208: jis0208<<14 | 0x0C<<7 | 0x58, - 8978 - 8208: jis0208<<14 | 0x01<<7 | 0x3D, - 9312 - 8208: jis0208<<14 | 0x0C<<7 | 0x00, - 9313 - 8208: jis0208<<14 | 0x0C<<7 | 0x01, - 9314 - 8208: jis0208<<14 | 0x0C<<7 | 0x02, - 9315 - 8208: jis0208<<14 | 0x0C<<7 | 0x03, - 9316 - 8208: jis0208<<14 | 0x0C<<7 | 0x04, - 9317 - 8208: jis0208<<14 | 0x0C<<7 | 0x05, - 9318 - 8208: jis0208<<14 | 0x0C<<7 | 0x06, - 9319 - 8208: jis0208<<14 | 0x0C<<7 | 0x07, - 9320 - 8208: jis0208<<14 | 0x0C<<7 | 0x08, - 9321 - 8208: jis0208<<14 | 0x0C<<7 | 0x09, - 9322 - 8208: jis0208<<14 | 0x0C<<7 | 0x0A, - 9323 - 8208: jis0208<<14 | 0x0C<<7 | 0x0B, - 9324 - 8208: jis0208<<14 | 0x0C<<7 | 0x0C, - 9325 - 8208: jis0208<<14 | 0x0C<<7 | 0x0D, - 9326 - 8208: jis0208<<14 | 0x0C<<7 | 0x0E, - 9327 - 8208: jis0208<<14 | 0x0C<<7 | 0x0F, - 9328 - 8208: jis0208<<14 | 0x0C<<7 | 0x10, - 9329 - 8208: jis0208<<14 | 0x0C<<7 | 0x11, - 9330 - 8208: jis0208<<14 | 0x0C<<7 | 0x12, - 9331 - 8208: jis0208<<14 | 0x0C<<7 | 0x13, - 9472 - 8208: jis0208<<14 | 0x07<<7 | 0x00, - 9473 - 8208: jis0208<<14 | 0x07<<7 | 0x0B, - 9474 - 8208: jis0208<<14 | 0x07<<7 | 0x01, - 9475 - 8208: jis0208<<14 | 0x07<<7 | 0x0C, - 9484 - 8208: jis0208<<14 | 0x07<<7 | 0x02, - 9487 - 8208: jis0208<<14 | 0x07<<7 | 0x0D, - 9488 - 8208: jis0208<<14 | 0x07<<7 | 0x03, - 9491 - 8208: jis0208<<14 | 0x07<<7 | 0x0E, - 9492 - 8208: jis0208<<14 | 0x07<<7 | 0x05, - 9495 - 8208: jis0208<<14 | 0x07<<7 | 0x10, - 9496 - 8208: jis0208<<14 | 0x07<<7 | 0x04, - 9499 - 8208: jis0208<<14 | 0x07<<7 | 0x0F, - 9500 - 8208: jis0208<<14 | 0x07<<7 | 0x06, - 9501 - 8208: jis0208<<14 | 0x07<<7 | 0x1B, - 9504 - 8208: jis0208<<14 | 0x07<<7 | 0x16, - 9507 - 8208: jis0208<<14 | 0x07<<7 | 0x11, - 9508 - 8208: jis0208<<14 | 0x07<<7 | 0x08, - 9509 - 8208: jis0208<<14 | 0x07<<7 | 0x1D, - 9512 - 8208: jis0208<<14 | 0x07<<7 | 0x18, - 9515 - 8208: jis0208<<14 | 0x07<<7 | 0x13, - 9516 - 8208: jis0208<<14 | 0x07<<7 | 0x07, - 9519 - 8208: jis0208<<14 | 0x07<<7 | 0x17, - 9520 - 8208: jis0208<<14 | 0x07<<7 | 0x1C, - 9523 - 8208: jis0208<<14 | 0x07<<7 | 0x12, - 9524 - 8208: jis0208<<14 | 0x07<<7 | 0x09, - 9527 - 8208: jis0208<<14 | 0x07<<7 | 0x19, - 9528 - 8208: jis0208<<14 | 0x07<<7 | 0x1E, - 9531 - 8208: jis0208<<14 | 0x07<<7 | 0x14, - 9532 - 8208: jis0208<<14 | 0x07<<7 | 0x0A, - 9535 - 8208: jis0208<<14 | 0x07<<7 | 0x1A, - 9538 - 8208: jis0208<<14 | 0x07<<7 | 0x1F, - 9547 - 8208: jis0208<<14 | 0x07<<7 | 0x15, - 9632 - 8208: jis0208<<14 | 0x01<<7 | 0x02, - 9633 - 8208: jis0208<<14 | 0x01<<7 | 0x01, - 9650 - 8208: jis0208<<14 | 0x01<<7 | 0x04, - 9651 - 8208: jis0208<<14 | 0x01<<7 | 0x03, - 9660 - 8208: jis0208<<14 | 0x01<<7 | 0x06, - 9661 - 8208: jis0208<<14 | 0x01<<7 | 0x05, - 9670 - 8208: jis0208<<14 | 0x01<<7 | 0x00, - 9671 - 8208: jis0208<<14 | 0x00<<7 | 0x5D, - 9675 - 8208: jis0208<<14 | 0x00<<7 | 0x5A, - 9678 - 8208: jis0208<<14 | 0x00<<7 | 0x5C, - 9679 - 8208: jis0208<<14 | 0x00<<7 | 0x5B, - 9711 - 8208: jis0208<<14 | 0x01<<7 | 0x5D, - 9733 - 8208: jis0208<<14 | 0x00<<7 | 0x59, - 9734 - 8208: jis0208<<14 | 0x00<<7 | 0x58, - 9792 - 8208: jis0208<<14 | 0x00<<7 | 0x49, - 9794 - 8208: jis0208<<14 | 0x00<<7 | 0x48, - 9834 - 8208: jis0208<<14 | 0x01<<7 | 0x55, - 9837 - 8208: jis0208<<14 | 0x01<<7 | 0x54, - 9839 - 8208: jis0208<<14 | 0x01<<7 | 0x53, -} - -const encode2Low, encode2High = 12288, 13262 - -var encode2 = [...]uint16{ - 12288 - 12288: jis0208<<14 | 0x00<<7 | 0x00, - 12289 - 12288: jis0208<<14 | 0x00<<7 | 0x01, - 12290 - 12288: jis0208<<14 | 0x00<<7 | 0x02, - 12291 - 12288: jis0208<<14 | 0x00<<7 | 0x16, - 12293 - 12288: jis0208<<14 | 0x00<<7 | 0x18, - 12294 - 12288: jis0208<<14 | 0x00<<7 | 0x19, - 12295 - 12288: jis0208<<14 | 0x00<<7 | 0x1A, - 12296 - 12288: jis0208<<14 | 0x00<<7 | 0x31, - 12297 - 12288: jis0208<<14 | 0x00<<7 | 0x32, - 12298 - 12288: jis0208<<14 | 0x00<<7 | 0x33, - 12299 - 12288: jis0208<<14 | 0x00<<7 | 0x34, - 12300 - 12288: jis0208<<14 | 0x00<<7 | 0x35, - 12301 - 12288: jis0208<<14 | 0x00<<7 | 0x36, - 12302 - 12288: jis0208<<14 | 0x00<<7 | 0x37, - 12303 - 12288: jis0208<<14 | 0x00<<7 | 0x38, - 12304 - 12288: jis0208<<14 | 0x00<<7 | 0x39, - 12305 - 12288: jis0208<<14 | 0x00<<7 | 0x3A, - 12306 - 12288: jis0208<<14 | 0x01<<7 | 0x08, - 12307 - 12288: jis0208<<14 | 0x01<<7 | 0x0D, - 12308 - 12288: jis0208<<14 | 0x00<<7 | 0x2B, - 12309 - 12288: jis0208<<14 | 0x00<<7 | 0x2C, - 12317 - 12288: jis0208<<14 | 0x0C<<7 | 0x3F, - 12319 - 12288: jis0208<<14 | 0x0C<<7 | 0x40, - 12353 - 12288: jis0208<<14 | 0x03<<7 | 0x00, - 12354 - 12288: jis0208<<14 | 0x03<<7 | 0x01, - 12355 - 12288: jis0208<<14 | 0x03<<7 | 0x02, - 12356 - 12288: jis0208<<14 | 0x03<<7 | 0x03, - 12357 - 12288: jis0208<<14 | 0x03<<7 | 0x04, - 12358 - 12288: jis0208<<14 | 0x03<<7 | 0x05, - 12359 - 12288: jis0208<<14 | 0x03<<7 | 0x06, - 12360 - 12288: jis0208<<14 | 0x03<<7 | 0x07, - 12361 - 12288: jis0208<<14 | 0x03<<7 | 0x08, - 12362 - 12288: jis0208<<14 | 0x03<<7 | 0x09, - 12363 - 12288: jis0208<<14 | 0x03<<7 | 0x0A, - 12364 - 12288: jis0208<<14 | 0x03<<7 | 0x0B, - 12365 - 12288: jis0208<<14 | 0x03<<7 | 0x0C, - 12366 - 12288: jis0208<<14 | 0x03<<7 | 0x0D, - 12367 - 12288: jis0208<<14 | 0x03<<7 | 0x0E, - 12368 - 12288: jis0208<<14 | 0x03<<7 | 0x0F, - 12369 - 12288: jis0208<<14 | 0x03<<7 | 0x10, - 12370 - 12288: jis0208<<14 | 0x03<<7 | 0x11, - 12371 - 12288: jis0208<<14 | 0x03<<7 | 0x12, - 12372 - 12288: jis0208<<14 | 0x03<<7 | 0x13, - 12373 - 12288: jis0208<<14 | 0x03<<7 | 0x14, - 12374 - 12288: jis0208<<14 | 0x03<<7 | 0x15, - 12375 - 12288: jis0208<<14 | 0x03<<7 | 0x16, - 12376 - 12288: jis0208<<14 | 0x03<<7 | 0x17, - 12377 - 12288: jis0208<<14 | 0x03<<7 | 0x18, - 12378 - 12288: jis0208<<14 | 0x03<<7 | 0x19, - 12379 - 12288: jis0208<<14 | 0x03<<7 | 0x1A, - 12380 - 12288: jis0208<<14 | 0x03<<7 | 0x1B, - 12381 - 12288: jis0208<<14 | 0x03<<7 | 0x1C, - 12382 - 12288: jis0208<<14 | 0x03<<7 | 0x1D, - 12383 - 12288: jis0208<<14 | 0x03<<7 | 0x1E, - 12384 - 12288: jis0208<<14 | 0x03<<7 | 0x1F, - 12385 - 12288: jis0208<<14 | 0x03<<7 | 0x20, - 12386 - 12288: jis0208<<14 | 0x03<<7 | 0x21, - 12387 - 12288: jis0208<<14 | 0x03<<7 | 0x22, - 12388 - 12288: jis0208<<14 | 0x03<<7 | 0x23, - 12389 - 12288: jis0208<<14 | 0x03<<7 | 0x24, - 12390 - 12288: jis0208<<14 | 0x03<<7 | 0x25, - 12391 - 12288: jis0208<<14 | 0x03<<7 | 0x26, - 12392 - 12288: jis0208<<14 | 0x03<<7 | 0x27, - 12393 - 12288: jis0208<<14 | 0x03<<7 | 0x28, - 12394 - 12288: jis0208<<14 | 0x03<<7 | 0x29, - 12395 - 12288: jis0208<<14 | 0x03<<7 | 0x2A, - 12396 - 12288: jis0208<<14 | 0x03<<7 | 0x2B, - 12397 - 12288: jis0208<<14 | 0x03<<7 | 0x2C, - 12398 - 12288: jis0208<<14 | 0x03<<7 | 0x2D, - 12399 - 12288: jis0208<<14 | 0x03<<7 | 0x2E, - 12400 - 12288: jis0208<<14 | 0x03<<7 | 0x2F, - 12401 - 12288: jis0208<<14 | 0x03<<7 | 0x30, - 12402 - 12288: jis0208<<14 | 0x03<<7 | 0x31, - 12403 - 12288: jis0208<<14 | 0x03<<7 | 0x32, - 12404 - 12288: jis0208<<14 | 0x03<<7 | 0x33, - 12405 - 12288: jis0208<<14 | 0x03<<7 | 0x34, - 12406 - 12288: jis0208<<14 | 0x03<<7 | 0x35, - 12407 - 12288: jis0208<<14 | 0x03<<7 | 0x36, - 12408 - 12288: jis0208<<14 | 0x03<<7 | 0x37, - 12409 - 12288: jis0208<<14 | 0x03<<7 | 0x38, - 12410 - 12288: jis0208<<14 | 0x03<<7 | 0x39, - 12411 - 12288: jis0208<<14 | 0x03<<7 | 0x3A, - 12412 - 12288: jis0208<<14 | 0x03<<7 | 0x3B, - 12413 - 12288: jis0208<<14 | 0x03<<7 | 0x3C, - 12414 - 12288: jis0208<<14 | 0x03<<7 | 0x3D, - 12415 - 12288: jis0208<<14 | 0x03<<7 | 0x3E, - 12416 - 12288: jis0208<<14 | 0x03<<7 | 0x3F, - 12417 - 12288: jis0208<<14 | 0x03<<7 | 0x40, - 12418 - 12288: jis0208<<14 | 0x03<<7 | 0x41, - 12419 - 12288: jis0208<<14 | 0x03<<7 | 0x42, - 12420 - 12288: jis0208<<14 | 0x03<<7 | 0x43, - 12421 - 12288: jis0208<<14 | 0x03<<7 | 0x44, - 12422 - 12288: jis0208<<14 | 0x03<<7 | 0x45, - 12423 - 12288: jis0208<<14 | 0x03<<7 | 0x46, - 12424 - 12288: jis0208<<14 | 0x03<<7 | 0x47, - 12425 - 12288: jis0208<<14 | 0x03<<7 | 0x48, - 12426 - 12288: jis0208<<14 | 0x03<<7 | 0x49, - 12427 - 12288: jis0208<<14 | 0x03<<7 | 0x4A, - 12428 - 12288: jis0208<<14 | 0x03<<7 | 0x4B, - 12429 - 12288: jis0208<<14 | 0x03<<7 | 0x4C, - 12430 - 12288: jis0208<<14 | 0x03<<7 | 0x4D, - 12431 - 12288: jis0208<<14 | 0x03<<7 | 0x4E, - 12432 - 12288: jis0208<<14 | 0x03<<7 | 0x4F, - 12433 - 12288: jis0208<<14 | 0x03<<7 | 0x50, - 12434 - 12288: jis0208<<14 | 0x03<<7 | 0x51, - 12435 - 12288: jis0208<<14 | 0x03<<7 | 0x52, - 12443 - 12288: jis0208<<14 | 0x00<<7 | 0x0A, - 12444 - 12288: jis0208<<14 | 0x00<<7 | 0x0B, - 12445 - 12288: jis0208<<14 | 0x00<<7 | 0x14, - 12446 - 12288: jis0208<<14 | 0x00<<7 | 0x15, - 12449 - 12288: jis0208<<14 | 0x04<<7 | 0x00, - 12450 - 12288: jis0208<<14 | 0x04<<7 | 0x01, - 12451 - 12288: jis0208<<14 | 0x04<<7 | 0x02, - 12452 - 12288: jis0208<<14 | 0x04<<7 | 0x03, - 12453 - 12288: jis0208<<14 | 0x04<<7 | 0x04, - 12454 - 12288: jis0208<<14 | 0x04<<7 | 0x05, - 12455 - 12288: jis0208<<14 | 0x04<<7 | 0x06, - 12456 - 12288: jis0208<<14 | 0x04<<7 | 0x07, - 12457 - 12288: jis0208<<14 | 0x04<<7 | 0x08, - 12458 - 12288: jis0208<<14 | 0x04<<7 | 0x09, - 12459 - 12288: jis0208<<14 | 0x04<<7 | 0x0A, - 12460 - 12288: jis0208<<14 | 0x04<<7 | 0x0B, - 12461 - 12288: jis0208<<14 | 0x04<<7 | 0x0C, - 12462 - 12288: jis0208<<14 | 0x04<<7 | 0x0D, - 12463 - 12288: jis0208<<14 | 0x04<<7 | 0x0E, - 12464 - 12288: jis0208<<14 | 0x04<<7 | 0x0F, - 12465 - 12288: jis0208<<14 | 0x04<<7 | 0x10, - 12466 - 12288: jis0208<<14 | 0x04<<7 | 0x11, - 12467 - 12288: jis0208<<14 | 0x04<<7 | 0x12, - 12468 - 12288: jis0208<<14 | 0x04<<7 | 0x13, - 12469 - 12288: jis0208<<14 | 0x04<<7 | 0x14, - 12470 - 12288: jis0208<<14 | 0x04<<7 | 0x15, - 12471 - 12288: jis0208<<14 | 0x04<<7 | 0x16, - 12472 - 12288: jis0208<<14 | 0x04<<7 | 0x17, - 12473 - 12288: jis0208<<14 | 0x04<<7 | 0x18, - 12474 - 12288: jis0208<<14 | 0x04<<7 | 0x19, - 12475 - 12288: jis0208<<14 | 0x04<<7 | 0x1A, - 12476 - 12288: jis0208<<14 | 0x04<<7 | 0x1B, - 12477 - 12288: jis0208<<14 | 0x04<<7 | 0x1C, - 12478 - 12288: jis0208<<14 | 0x04<<7 | 0x1D, - 12479 - 12288: jis0208<<14 | 0x04<<7 | 0x1E, - 12480 - 12288: jis0208<<14 | 0x04<<7 | 0x1F, - 12481 - 12288: jis0208<<14 | 0x04<<7 | 0x20, - 12482 - 12288: jis0208<<14 | 0x04<<7 | 0x21, - 12483 - 12288: jis0208<<14 | 0x04<<7 | 0x22, - 12484 - 12288: jis0208<<14 | 0x04<<7 | 0x23, - 12485 - 12288: jis0208<<14 | 0x04<<7 | 0x24, - 12486 - 12288: jis0208<<14 | 0x04<<7 | 0x25, - 12487 - 12288: jis0208<<14 | 0x04<<7 | 0x26, - 12488 - 12288: jis0208<<14 | 0x04<<7 | 0x27, - 12489 - 12288: jis0208<<14 | 0x04<<7 | 0x28, - 12490 - 12288: jis0208<<14 | 0x04<<7 | 0x29, - 12491 - 12288: jis0208<<14 | 0x04<<7 | 0x2A, - 12492 - 12288: jis0208<<14 | 0x04<<7 | 0x2B, - 12493 - 12288: jis0208<<14 | 0x04<<7 | 0x2C, - 12494 - 12288: jis0208<<14 | 0x04<<7 | 0x2D, - 12495 - 12288: jis0208<<14 | 0x04<<7 | 0x2E, - 12496 - 12288: jis0208<<14 | 0x04<<7 | 0x2F, - 12497 - 12288: jis0208<<14 | 0x04<<7 | 0x30, - 12498 - 12288: jis0208<<14 | 0x04<<7 | 0x31, - 12499 - 12288: jis0208<<14 | 0x04<<7 | 0x32, - 12500 - 12288: jis0208<<14 | 0x04<<7 | 0x33, - 12501 - 12288: jis0208<<14 | 0x04<<7 | 0x34, - 12502 - 12288: jis0208<<14 | 0x04<<7 | 0x35, - 12503 - 12288: jis0208<<14 | 0x04<<7 | 0x36, - 12504 - 12288: jis0208<<14 | 0x04<<7 | 0x37, - 12505 - 12288: jis0208<<14 | 0x04<<7 | 0x38, - 12506 - 12288: jis0208<<14 | 0x04<<7 | 0x39, - 12507 - 12288: jis0208<<14 | 0x04<<7 | 0x3A, - 12508 - 12288: jis0208<<14 | 0x04<<7 | 0x3B, - 12509 - 12288: jis0208<<14 | 0x04<<7 | 0x3C, - 12510 - 12288: jis0208<<14 | 0x04<<7 | 0x3D, - 12511 - 12288: jis0208<<14 | 0x04<<7 | 0x3E, - 12512 - 12288: jis0208<<14 | 0x04<<7 | 0x3F, - 12513 - 12288: jis0208<<14 | 0x04<<7 | 0x40, - 12514 - 12288: jis0208<<14 | 0x04<<7 | 0x41, - 12515 - 12288: jis0208<<14 | 0x04<<7 | 0x42, - 12516 - 12288: jis0208<<14 | 0x04<<7 | 0x43, - 12517 - 12288: jis0208<<14 | 0x04<<7 | 0x44, - 12518 - 12288: jis0208<<14 | 0x04<<7 | 0x45, - 12519 - 12288: jis0208<<14 | 0x04<<7 | 0x46, - 12520 - 12288: jis0208<<14 | 0x04<<7 | 0x47, - 12521 - 12288: jis0208<<14 | 0x04<<7 | 0x48, - 12522 - 12288: jis0208<<14 | 0x04<<7 | 0x49, - 12523 - 12288: jis0208<<14 | 0x04<<7 | 0x4A, - 12524 - 12288: jis0208<<14 | 0x04<<7 | 0x4B, - 12525 - 12288: jis0208<<14 | 0x04<<7 | 0x4C, - 12526 - 12288: jis0208<<14 | 0x04<<7 | 0x4D, - 12527 - 12288: jis0208<<14 | 0x04<<7 | 0x4E, - 12528 - 12288: jis0208<<14 | 0x04<<7 | 0x4F, - 12529 - 12288: jis0208<<14 | 0x04<<7 | 0x50, - 12530 - 12288: jis0208<<14 | 0x04<<7 | 0x51, - 12531 - 12288: jis0208<<14 | 0x04<<7 | 0x52, - 12532 - 12288: jis0208<<14 | 0x04<<7 | 0x53, - 12533 - 12288: jis0208<<14 | 0x04<<7 | 0x54, - 12534 - 12288: jis0208<<14 | 0x04<<7 | 0x55, - 12539 - 12288: jis0208<<14 | 0x00<<7 | 0x05, - 12540 - 12288: jis0208<<14 | 0x00<<7 | 0x1B, - 12541 - 12288: jis0208<<14 | 0x00<<7 | 0x12, - 12542 - 12288: jis0208<<14 | 0x00<<7 | 0x13, - 12849 - 12288: jis0208<<14 | 0x0C<<7 | 0x49, - 12850 - 12288: jis0208<<14 | 0x0C<<7 | 0x4A, - 12857 - 12288: jis0208<<14 | 0x0C<<7 | 0x4B, - 12964 - 12288: jis0208<<14 | 0x0C<<7 | 0x44, - 12965 - 12288: jis0208<<14 | 0x0C<<7 | 0x45, - 12966 - 12288: jis0208<<14 | 0x0C<<7 | 0x46, - 12967 - 12288: jis0208<<14 | 0x0C<<7 | 0x47, - 12968 - 12288: jis0208<<14 | 0x0C<<7 | 0x48, - 13059 - 12288: jis0208<<14 | 0x0C<<7 | 0x25, - 13069 - 12288: jis0208<<14 | 0x0C<<7 | 0x29, - 13076 - 12288: jis0208<<14 | 0x0C<<7 | 0x20, - 13080 - 12288: jis0208<<14 | 0x0C<<7 | 0x23, - 13090 - 12288: jis0208<<14 | 0x0C<<7 | 0x21, - 13091 - 12288: jis0208<<14 | 0x0C<<7 | 0x2B, - 13094 - 12288: jis0208<<14 | 0x0C<<7 | 0x2A, - 13095 - 12288: jis0208<<14 | 0x0C<<7 | 0x24, - 13099 - 12288: jis0208<<14 | 0x0C<<7 | 0x2C, - 13110 - 12288: jis0208<<14 | 0x0C<<7 | 0x26, - 13115 - 12288: jis0208<<14 | 0x0C<<7 | 0x2E, - 13129 - 12288: jis0208<<14 | 0x0C<<7 | 0x1F, - 13130 - 12288: jis0208<<14 | 0x0C<<7 | 0x2D, - 13133 - 12288: jis0208<<14 | 0x0C<<7 | 0x22, - 13137 - 12288: jis0208<<14 | 0x0C<<7 | 0x27, - 13143 - 12288: jis0208<<14 | 0x0C<<7 | 0x28, - 13179 - 12288: jis0208<<14 | 0x0C<<7 | 0x3E, - 13180 - 12288: jis0208<<14 | 0x0C<<7 | 0x4E, - 13181 - 12288: jis0208<<14 | 0x0C<<7 | 0x4D, - 13182 - 12288: jis0208<<14 | 0x0C<<7 | 0x4C, - 13198 - 12288: jis0208<<14 | 0x0C<<7 | 0x32, - 13199 - 12288: jis0208<<14 | 0x0C<<7 | 0x33, - 13212 - 12288: jis0208<<14 | 0x0C<<7 | 0x2F, - 13213 - 12288: jis0208<<14 | 0x0C<<7 | 0x30, - 13214 - 12288: jis0208<<14 | 0x0C<<7 | 0x31, - 13217 - 12288: jis0208<<14 | 0x0C<<7 | 0x35, - 13252 - 12288: jis0208<<14 | 0x0C<<7 | 0x34, - 13261 - 12288: jis0208<<14 | 0x0C<<7 | 0x42, -} - -const encode3Low, encode3High = 161, 1120 - -var encode3 = [...]uint16{ - 161 - 161: jis0212<<14 | 0x01<<7 | 0x21, - 164 - 161: jis0212<<14 | 0x01<<7 | 0x4F, - 166 - 161: jis0212<<14 | 0x01<<7 | 0x22, - 167 - 161: jis0208<<14 | 0x00<<7 | 0x57, - 168 - 161: jis0208<<14 | 0x00<<7 | 0x0E, - 169 - 161: jis0212<<14 | 0x01<<7 | 0x4C, - 170 - 161: jis0212<<14 | 0x01<<7 | 0x4B, - 174 - 161: jis0212<<14 | 0x01<<7 | 0x4D, - 175 - 161: jis0212<<14 | 0x01<<7 | 0x13, - 176 - 161: jis0208<<14 | 0x00<<7 | 0x4A, - 177 - 161: jis0208<<14 | 0x00<<7 | 0x3D, - 180 - 161: jis0208<<14 | 0x00<<7 | 0x0C, - 182 - 161: jis0208<<14 | 0x01<<7 | 0x58, - 184 - 161: jis0212<<14 | 0x01<<7 | 0x10, - 186 - 161: jis0212<<14 | 0x01<<7 | 0x4A, - 191 - 161: jis0212<<14 | 0x01<<7 | 0x23, - 192 - 161: jis0212<<14 | 0x09<<7 | 0x01, - 193 - 161: jis0212<<14 | 0x09<<7 | 0x00, - 194 - 161: jis0212<<14 | 0x09<<7 | 0x03, - 195 - 161: jis0212<<14 | 0x09<<7 | 0x09, - 196 - 161: jis0212<<14 | 0x09<<7 | 0x02, - 197 - 161: jis0212<<14 | 0x09<<7 | 0x08, - 198 - 161: jis0212<<14 | 0x08<<7 | 0x00, - 199 - 161: jis0212<<14 | 0x09<<7 | 0x0D, - 200 - 161: jis0212<<14 | 0x09<<7 | 0x11, - 201 - 161: jis0212<<14 | 0x09<<7 | 0x10, - 202 - 161: jis0212<<14 | 0x09<<7 | 0x13, - 203 - 161: jis0212<<14 | 0x09<<7 | 0x12, - 204 - 161: jis0212<<14 | 0x09<<7 | 0x1F, - 205 - 161: jis0212<<14 | 0x09<<7 | 0x1E, - 206 - 161: jis0212<<14 | 0x09<<7 | 0x21, - 207 - 161: jis0212<<14 | 0x09<<7 | 0x20, - 209 - 161: jis0212<<14 | 0x09<<7 | 0x2F, - 210 - 161: jis0212<<14 | 0x09<<7 | 0x31, - 211 - 161: jis0212<<14 | 0x09<<7 | 0x30, - 212 - 161: jis0212<<14 | 0x09<<7 | 0x33, - 213 - 161: jis0212<<14 | 0x09<<7 | 0x37, - 214 - 161: jis0212<<14 | 0x09<<7 | 0x32, - 215 - 161: jis0208<<14 | 0x00<<7 | 0x3E, - 216 - 161: jis0212<<14 | 0x08<<7 | 0x0B, - 217 - 161: jis0212<<14 | 0x09<<7 | 0x42, - 218 - 161: jis0212<<14 | 0x09<<7 | 0x41, - 219 - 161: jis0212<<14 | 0x09<<7 | 0x44, - 220 - 161: jis0212<<14 | 0x09<<7 | 0x43, - 221 - 161: jis0212<<14 | 0x09<<7 | 0x51, - 222 - 161: jis0212<<14 | 0x08<<7 | 0x0F, - 223 - 161: jis0212<<14 | 0x08<<7 | 0x2D, - 224 - 161: jis0212<<14 | 0x0A<<7 | 0x01, - 225 - 161: jis0212<<14 | 0x0A<<7 | 0x00, - 226 - 161: jis0212<<14 | 0x0A<<7 | 0x03, - 227 - 161: jis0212<<14 | 0x0A<<7 | 0x09, - 228 - 161: jis0212<<14 | 0x0A<<7 | 0x02, - 229 - 161: jis0212<<14 | 0x0A<<7 | 0x08, - 230 - 161: jis0212<<14 | 0x08<<7 | 0x20, - 231 - 161: jis0212<<14 | 0x0A<<7 | 0x0D, - 232 - 161: jis0212<<14 | 0x0A<<7 | 0x11, - 233 - 161: jis0212<<14 | 0x0A<<7 | 0x10, - 234 - 161: jis0212<<14 | 0x0A<<7 | 0x13, - 235 - 161: jis0212<<14 | 0x0A<<7 | 0x12, - 236 - 161: jis0212<<14 | 0x0A<<7 | 0x1F, - 237 - 161: jis0212<<14 | 0x0A<<7 | 0x1E, - 238 - 161: jis0212<<14 | 0x0A<<7 | 0x21, - 239 - 161: jis0212<<14 | 0x0A<<7 | 0x20, - 240 - 161: jis0212<<14 | 0x08<<7 | 0x22, - 241 - 161: jis0212<<14 | 0x0A<<7 | 0x2F, - 242 - 161: jis0212<<14 | 0x0A<<7 | 0x31, - 243 - 161: jis0212<<14 | 0x0A<<7 | 0x30, - 244 - 161: jis0212<<14 | 0x0A<<7 | 0x33, - 245 - 161: jis0212<<14 | 0x0A<<7 | 0x37, - 246 - 161: jis0212<<14 | 0x0A<<7 | 0x32, - 247 - 161: jis0208<<14 | 0x00<<7 | 0x3F, - 248 - 161: jis0212<<14 | 0x08<<7 | 0x2B, - 249 - 161: jis0212<<14 | 0x0A<<7 | 0x42, - 250 - 161: jis0212<<14 | 0x0A<<7 | 0x41, - 251 - 161: jis0212<<14 | 0x0A<<7 | 0x44, - 252 - 161: jis0212<<14 | 0x0A<<7 | 0x43, - 253 - 161: jis0212<<14 | 0x0A<<7 | 0x51, - 254 - 161: jis0212<<14 | 0x08<<7 | 0x2F, - 255 - 161: jis0212<<14 | 0x0A<<7 | 0x52, - 256 - 161: jis0212<<14 | 0x09<<7 | 0x06, - 257 - 161: jis0212<<14 | 0x0A<<7 | 0x06, - 258 - 161: jis0212<<14 | 0x09<<7 | 0x04, - 259 - 161: jis0212<<14 | 0x0A<<7 | 0x04, - 260 - 161: jis0212<<14 | 0x09<<7 | 0x07, - 261 - 161: jis0212<<14 | 0x0A<<7 | 0x07, - 262 - 161: jis0212<<14 | 0x09<<7 | 0x0A, - 263 - 161: jis0212<<14 | 0x0A<<7 | 0x0A, - 264 - 161: jis0212<<14 | 0x09<<7 | 0x0B, - 265 - 161: jis0212<<14 | 0x0A<<7 | 0x0B, - 266 - 161: jis0212<<14 | 0x09<<7 | 0x0E, - 267 - 161: jis0212<<14 | 0x0A<<7 | 0x0E, - 268 - 161: jis0212<<14 | 0x09<<7 | 0x0C, - 269 - 161: jis0212<<14 | 0x0A<<7 | 0x0C, - 270 - 161: jis0212<<14 | 0x09<<7 | 0x0F, - 271 - 161: jis0212<<14 | 0x0A<<7 | 0x0F, - 272 - 161: jis0212<<14 | 0x08<<7 | 0x01, - 273 - 161: jis0212<<14 | 0x08<<7 | 0x21, - 274 - 161: jis0212<<14 | 0x09<<7 | 0x16, - 275 - 161: jis0212<<14 | 0x0A<<7 | 0x16, - 278 - 161: jis0212<<14 | 0x09<<7 | 0x15, - 279 - 161: jis0212<<14 | 0x0A<<7 | 0x15, - 280 - 161: jis0212<<14 | 0x09<<7 | 0x17, - 281 - 161: jis0212<<14 | 0x0A<<7 | 0x17, - 282 - 161: jis0212<<14 | 0x09<<7 | 0x14, - 283 - 161: jis0212<<14 | 0x0A<<7 | 0x14, - 284 - 161: jis0212<<14 | 0x09<<7 | 0x19, - 285 - 161: jis0212<<14 | 0x0A<<7 | 0x19, - 286 - 161: jis0212<<14 | 0x09<<7 | 0x1A, - 287 - 161: jis0212<<14 | 0x0A<<7 | 0x1A, - 288 - 161: jis0212<<14 | 0x09<<7 | 0x1C, - 289 - 161: jis0212<<14 | 0x0A<<7 | 0x1C, - 290 - 161: jis0212<<14 | 0x09<<7 | 0x1B, - 292 - 161: jis0212<<14 | 0x09<<7 | 0x1D, - 293 - 161: jis0212<<14 | 0x0A<<7 | 0x1D, - 294 - 161: jis0212<<14 | 0x08<<7 | 0x03, - 295 - 161: jis0212<<14 | 0x08<<7 | 0x23, - 296 - 161: jis0212<<14 | 0x09<<7 | 0x26, - 297 - 161: jis0212<<14 | 0x0A<<7 | 0x26, - 298 - 161: jis0212<<14 | 0x09<<7 | 0x24, - 299 - 161: jis0212<<14 | 0x0A<<7 | 0x24, - 302 - 161: jis0212<<14 | 0x09<<7 | 0x25, - 303 - 161: jis0212<<14 | 0x0A<<7 | 0x25, - 304 - 161: jis0212<<14 | 0x09<<7 | 0x23, - 305 - 161: jis0212<<14 | 0x08<<7 | 0x24, - 306 - 161: jis0212<<14 | 0x08<<7 | 0x05, - 307 - 161: jis0212<<14 | 0x08<<7 | 0x25, - 308 - 161: jis0212<<14 | 0x09<<7 | 0x27, - 309 - 161: jis0212<<14 | 0x0A<<7 | 0x27, - 310 - 161: jis0212<<14 | 0x09<<7 | 0x28, - 311 - 161: jis0212<<14 | 0x0A<<7 | 0x28, - 312 - 161: jis0212<<14 | 0x08<<7 | 0x26, - 313 - 161: jis0212<<14 | 0x09<<7 | 0x29, - 314 - 161: jis0212<<14 | 0x0A<<7 | 0x29, - 315 - 161: jis0212<<14 | 0x09<<7 | 0x2B, - 316 - 161: jis0212<<14 | 0x0A<<7 | 0x2B, - 317 - 161: jis0212<<14 | 0x09<<7 | 0x2A, - 318 - 161: jis0212<<14 | 0x0A<<7 | 0x2A, - 319 - 161: jis0212<<14 | 0x08<<7 | 0x08, - 320 - 161: jis0212<<14 | 0x08<<7 | 0x28, - 321 - 161: jis0212<<14 | 0x08<<7 | 0x07, - 322 - 161: jis0212<<14 | 0x08<<7 | 0x27, - 323 - 161: jis0212<<14 | 0x09<<7 | 0x2C, - 324 - 161: jis0212<<14 | 0x0A<<7 | 0x2C, - 325 - 161: jis0212<<14 | 0x09<<7 | 0x2E, - 326 - 161: jis0212<<14 | 0x0A<<7 | 0x2E, - 327 - 161: jis0212<<14 | 0x09<<7 | 0x2D, - 328 - 161: jis0212<<14 | 0x0A<<7 | 0x2D, - 329 - 161: jis0212<<14 | 0x08<<7 | 0x29, - 330 - 161: jis0212<<14 | 0x08<<7 | 0x0A, - 331 - 161: jis0212<<14 | 0x08<<7 | 0x2A, - 332 - 161: jis0212<<14 | 0x09<<7 | 0x36, - 333 - 161: jis0212<<14 | 0x0A<<7 | 0x36, - 336 - 161: jis0212<<14 | 0x09<<7 | 0x35, - 337 - 161: jis0212<<14 | 0x0A<<7 | 0x35, - 338 - 161: jis0212<<14 | 0x08<<7 | 0x0C, - 339 - 161: jis0212<<14 | 0x08<<7 | 0x2C, - 340 - 161: jis0212<<14 | 0x09<<7 | 0x38, - 341 - 161: jis0212<<14 | 0x0A<<7 | 0x38, - 342 - 161: jis0212<<14 | 0x09<<7 | 0x3A, - 343 - 161: jis0212<<14 | 0x0A<<7 | 0x3A, - 344 - 161: jis0212<<14 | 0x09<<7 | 0x39, - 345 - 161: jis0212<<14 | 0x0A<<7 | 0x39, - 346 - 161: jis0212<<14 | 0x09<<7 | 0x3B, - 347 - 161: jis0212<<14 | 0x0A<<7 | 0x3B, - 348 - 161: jis0212<<14 | 0x09<<7 | 0x3C, - 349 - 161: jis0212<<14 | 0x0A<<7 | 0x3C, - 350 - 161: jis0212<<14 | 0x09<<7 | 0x3E, - 351 - 161: jis0212<<14 | 0x0A<<7 | 0x3E, - 352 - 161: jis0212<<14 | 0x09<<7 | 0x3D, - 353 - 161: jis0212<<14 | 0x0A<<7 | 0x3D, - 354 - 161: jis0212<<14 | 0x09<<7 | 0x40, - 355 - 161: jis0212<<14 | 0x0A<<7 | 0x40, - 356 - 161: jis0212<<14 | 0x09<<7 | 0x3F, - 357 - 161: jis0212<<14 | 0x0A<<7 | 0x3F, - 358 - 161: jis0212<<14 | 0x08<<7 | 0x0E, - 359 - 161: jis0212<<14 | 0x08<<7 | 0x2E, - 360 - 161: jis0212<<14 | 0x09<<7 | 0x4B, - 361 - 161: jis0212<<14 | 0x0A<<7 | 0x4B, - 362 - 161: jis0212<<14 | 0x09<<7 | 0x48, - 363 - 161: jis0212<<14 | 0x0A<<7 | 0x48, - 364 - 161: jis0212<<14 | 0x09<<7 | 0x45, - 365 - 161: jis0212<<14 | 0x0A<<7 | 0x45, - 366 - 161: jis0212<<14 | 0x09<<7 | 0x4A, - 367 - 161: jis0212<<14 | 0x0A<<7 | 0x4A, - 368 - 161: jis0212<<14 | 0x09<<7 | 0x47, - 369 - 161: jis0212<<14 | 0x0A<<7 | 0x47, - 370 - 161: jis0212<<14 | 0x09<<7 | 0x49, - 371 - 161: jis0212<<14 | 0x0A<<7 | 0x49, - 372 - 161: jis0212<<14 | 0x09<<7 | 0x50, - 373 - 161: jis0212<<14 | 0x0A<<7 | 0x50, - 374 - 161: jis0212<<14 | 0x09<<7 | 0x53, - 375 - 161: jis0212<<14 | 0x0A<<7 | 0x53, - 376 - 161: jis0212<<14 | 0x09<<7 | 0x52, - 377 - 161: jis0212<<14 | 0x09<<7 | 0x54, - 378 - 161: jis0212<<14 | 0x0A<<7 | 0x54, - 379 - 161: jis0212<<14 | 0x09<<7 | 0x56, - 380 - 161: jis0212<<14 | 0x0A<<7 | 0x56, - 381 - 161: jis0212<<14 | 0x09<<7 | 0x55, - 382 - 161: jis0212<<14 | 0x0A<<7 | 0x55, - 461 - 161: jis0212<<14 | 0x09<<7 | 0x05, - 462 - 161: jis0212<<14 | 0x0A<<7 | 0x05, - 463 - 161: jis0212<<14 | 0x09<<7 | 0x22, - 464 - 161: jis0212<<14 | 0x0A<<7 | 0x22, - 465 - 161: jis0212<<14 | 0x09<<7 | 0x34, - 466 - 161: jis0212<<14 | 0x0A<<7 | 0x34, - 467 - 161: jis0212<<14 | 0x09<<7 | 0x46, - 468 - 161: jis0212<<14 | 0x0A<<7 | 0x46, - 469 - 161: jis0212<<14 | 0x09<<7 | 0x4F, - 470 - 161: jis0212<<14 | 0x0A<<7 | 0x4F, - 471 - 161: jis0212<<14 | 0x09<<7 | 0x4C, - 472 - 161: jis0212<<14 | 0x0A<<7 | 0x4C, - 473 - 161: jis0212<<14 | 0x09<<7 | 0x4E, - 474 - 161: jis0212<<14 | 0x0A<<7 | 0x4E, - 475 - 161: jis0212<<14 | 0x09<<7 | 0x4D, - 476 - 161: jis0212<<14 | 0x0A<<7 | 0x4D, - 501 - 161: jis0212<<14 | 0x0A<<7 | 0x18, - 711 - 161: jis0212<<14 | 0x01<<7 | 0x0F, - 728 - 161: jis0212<<14 | 0x01<<7 | 0x0E, - 729 - 161: jis0212<<14 | 0x01<<7 | 0x11, - 730 - 161: jis0212<<14 | 0x01<<7 | 0x15, - 731 - 161: jis0212<<14 | 0x01<<7 | 0x14, - 733 - 161: jis0212<<14 | 0x01<<7 | 0x12, - 900 - 161: jis0212<<14 | 0x01<<7 | 0x17, - 901 - 161: jis0212<<14 | 0x01<<7 | 0x18, - 902 - 161: jis0212<<14 | 0x05<<7 | 0x40, - 904 - 161: jis0212<<14 | 0x05<<7 | 0x41, - 905 - 161: jis0212<<14 | 0x05<<7 | 0x42, - 906 - 161: jis0212<<14 | 0x05<<7 | 0x43, - 908 - 161: jis0212<<14 | 0x05<<7 | 0x46, - 910 - 161: jis0212<<14 | 0x05<<7 | 0x48, - 911 - 161: jis0212<<14 | 0x05<<7 | 0x4B, - 912 - 161: jis0212<<14 | 0x05<<7 | 0x55, - 913 - 161: jis0208<<14 | 0x05<<7 | 0x00, - 914 - 161: jis0208<<14 | 0x05<<7 | 0x01, - 915 - 161: jis0208<<14 | 0x05<<7 | 0x02, - 916 - 161: jis0208<<14 | 0x05<<7 | 0x03, - 917 - 161: jis0208<<14 | 0x05<<7 | 0x04, - 918 - 161: jis0208<<14 | 0x05<<7 | 0x05, - 919 - 161: jis0208<<14 | 0x05<<7 | 0x06, - 920 - 161: jis0208<<14 | 0x05<<7 | 0x07, - 921 - 161: jis0208<<14 | 0x05<<7 | 0x08, - 922 - 161: jis0208<<14 | 0x05<<7 | 0x09, - 923 - 161: jis0208<<14 | 0x05<<7 | 0x0A, - 924 - 161: jis0208<<14 | 0x05<<7 | 0x0B, - 925 - 161: jis0208<<14 | 0x05<<7 | 0x0C, - 926 - 161: jis0208<<14 | 0x05<<7 | 0x0D, - 927 - 161: jis0208<<14 | 0x05<<7 | 0x0E, - 928 - 161: jis0208<<14 | 0x05<<7 | 0x0F, - 929 - 161: jis0208<<14 | 0x05<<7 | 0x10, - 931 - 161: jis0208<<14 | 0x05<<7 | 0x11, - 932 - 161: jis0208<<14 | 0x05<<7 | 0x12, - 933 - 161: jis0208<<14 | 0x05<<7 | 0x13, - 934 - 161: jis0208<<14 | 0x05<<7 | 0x14, - 935 - 161: jis0208<<14 | 0x05<<7 | 0x15, - 936 - 161: jis0208<<14 | 0x05<<7 | 0x16, - 937 - 161: jis0208<<14 | 0x05<<7 | 0x17, - 938 - 161: jis0212<<14 | 0x05<<7 | 0x44, - 939 - 161: jis0212<<14 | 0x05<<7 | 0x49, - 940 - 161: jis0212<<14 | 0x05<<7 | 0x50, - 941 - 161: jis0212<<14 | 0x05<<7 | 0x51, - 942 - 161: jis0212<<14 | 0x05<<7 | 0x52, - 943 - 161: jis0212<<14 | 0x05<<7 | 0x53, - 944 - 161: jis0212<<14 | 0x05<<7 | 0x5A, - 945 - 161: jis0208<<14 | 0x05<<7 | 0x20, - 946 - 161: jis0208<<14 | 0x05<<7 | 0x21, - 947 - 161: jis0208<<14 | 0x05<<7 | 0x22, - 948 - 161: jis0208<<14 | 0x05<<7 | 0x23, - 949 - 161: jis0208<<14 | 0x05<<7 | 0x24, - 950 - 161: jis0208<<14 | 0x05<<7 | 0x25, - 951 - 161: jis0208<<14 | 0x05<<7 | 0x26, - 952 - 161: jis0208<<14 | 0x05<<7 | 0x27, - 953 - 161: jis0208<<14 | 0x05<<7 | 0x28, - 954 - 161: jis0208<<14 | 0x05<<7 | 0x29, - 955 - 161: jis0208<<14 | 0x05<<7 | 0x2A, - 956 - 161: jis0208<<14 | 0x05<<7 | 0x2B, - 957 - 161: jis0208<<14 | 0x05<<7 | 0x2C, - 958 - 161: jis0208<<14 | 0x05<<7 | 0x2D, - 959 - 161: jis0208<<14 | 0x05<<7 | 0x2E, - 960 - 161: jis0208<<14 | 0x05<<7 | 0x2F, - 961 - 161: jis0208<<14 | 0x05<<7 | 0x30, - 962 - 161: jis0212<<14 | 0x05<<7 | 0x57, - 963 - 161: jis0208<<14 | 0x05<<7 | 0x31, - 964 - 161: jis0208<<14 | 0x05<<7 | 0x32, - 965 - 161: jis0208<<14 | 0x05<<7 | 0x33, - 966 - 161: jis0208<<14 | 0x05<<7 | 0x34, - 967 - 161: jis0208<<14 | 0x05<<7 | 0x35, - 968 - 161: jis0208<<14 | 0x05<<7 | 0x36, - 969 - 161: jis0208<<14 | 0x05<<7 | 0x37, - 970 - 161: jis0212<<14 | 0x05<<7 | 0x54, - 971 - 161: jis0212<<14 | 0x05<<7 | 0x59, - 972 - 161: jis0212<<14 | 0x05<<7 | 0x56, - 973 - 161: jis0212<<14 | 0x05<<7 | 0x58, - 974 - 161: jis0212<<14 | 0x05<<7 | 0x5B, - 1025 - 161: jis0208<<14 | 0x06<<7 | 0x06, - 1026 - 161: jis0212<<14 | 0x06<<7 | 0x21, - 1027 - 161: jis0212<<14 | 0x06<<7 | 0x22, - 1028 - 161: jis0212<<14 | 0x06<<7 | 0x23, - 1029 - 161: jis0212<<14 | 0x06<<7 | 0x24, - 1030 - 161: jis0212<<14 | 0x06<<7 | 0x25, - 1031 - 161: jis0212<<14 | 0x06<<7 | 0x26, - 1032 - 161: jis0212<<14 | 0x06<<7 | 0x27, - 1033 - 161: jis0212<<14 | 0x06<<7 | 0x28, - 1034 - 161: jis0212<<14 | 0x06<<7 | 0x29, - 1035 - 161: jis0212<<14 | 0x06<<7 | 0x2A, - 1036 - 161: jis0212<<14 | 0x06<<7 | 0x2B, - 1038 - 161: jis0212<<14 | 0x06<<7 | 0x2C, - 1039 - 161: jis0212<<14 | 0x06<<7 | 0x2D, - 1040 - 161: jis0208<<14 | 0x06<<7 | 0x00, - 1041 - 161: jis0208<<14 | 0x06<<7 | 0x01, - 1042 - 161: jis0208<<14 | 0x06<<7 | 0x02, - 1043 - 161: jis0208<<14 | 0x06<<7 | 0x03, - 1044 - 161: jis0208<<14 | 0x06<<7 | 0x04, - 1045 - 161: jis0208<<14 | 0x06<<7 | 0x05, - 1046 - 161: jis0208<<14 | 0x06<<7 | 0x07, - 1047 - 161: jis0208<<14 | 0x06<<7 | 0x08, - 1048 - 161: jis0208<<14 | 0x06<<7 | 0x09, - 1049 - 161: jis0208<<14 | 0x06<<7 | 0x0A, - 1050 - 161: jis0208<<14 | 0x06<<7 | 0x0B, - 1051 - 161: jis0208<<14 | 0x06<<7 | 0x0C, - 1052 - 161: jis0208<<14 | 0x06<<7 | 0x0D, - 1053 - 161: jis0208<<14 | 0x06<<7 | 0x0E, - 1054 - 161: jis0208<<14 | 0x06<<7 | 0x0F, - 1055 - 161: jis0208<<14 | 0x06<<7 | 0x10, - 1056 - 161: jis0208<<14 | 0x06<<7 | 0x11, - 1057 - 161: jis0208<<14 | 0x06<<7 | 0x12, - 1058 - 161: jis0208<<14 | 0x06<<7 | 0x13, - 1059 - 161: jis0208<<14 | 0x06<<7 | 0x14, - 1060 - 161: jis0208<<14 | 0x06<<7 | 0x15, - 1061 - 161: jis0208<<14 | 0x06<<7 | 0x16, - 1062 - 161: jis0208<<14 | 0x06<<7 | 0x17, - 1063 - 161: jis0208<<14 | 0x06<<7 | 0x18, - 1064 - 161: jis0208<<14 | 0x06<<7 | 0x19, - 1065 - 161: jis0208<<14 | 0x06<<7 | 0x1A, - 1066 - 161: jis0208<<14 | 0x06<<7 | 0x1B, - 1067 - 161: jis0208<<14 | 0x06<<7 | 0x1C, - 1068 - 161: jis0208<<14 | 0x06<<7 | 0x1D, - 1069 - 161: jis0208<<14 | 0x06<<7 | 0x1E, - 1070 - 161: jis0208<<14 | 0x06<<7 | 0x1F, - 1071 - 161: jis0208<<14 | 0x06<<7 | 0x20, - 1072 - 161: jis0208<<14 | 0x06<<7 | 0x30, - 1073 - 161: jis0208<<14 | 0x06<<7 | 0x31, - 1074 - 161: jis0208<<14 | 0x06<<7 | 0x32, - 1075 - 161: jis0208<<14 | 0x06<<7 | 0x33, - 1076 - 161: jis0208<<14 | 0x06<<7 | 0x34, - 1077 - 161: jis0208<<14 | 0x06<<7 | 0x35, - 1078 - 161: jis0208<<14 | 0x06<<7 | 0x37, - 1079 - 161: jis0208<<14 | 0x06<<7 | 0x38, - 1080 - 161: jis0208<<14 | 0x06<<7 | 0x39, - 1081 - 161: jis0208<<14 | 0x06<<7 | 0x3A, - 1082 - 161: jis0208<<14 | 0x06<<7 | 0x3B, - 1083 - 161: jis0208<<14 | 0x06<<7 | 0x3C, - 1084 - 161: jis0208<<14 | 0x06<<7 | 0x3D, - 1085 - 161: jis0208<<14 | 0x06<<7 | 0x3E, - 1086 - 161: jis0208<<14 | 0x06<<7 | 0x3F, - 1087 - 161: jis0208<<14 | 0x06<<7 | 0x40, - 1088 - 161: jis0208<<14 | 0x06<<7 | 0x41, - 1089 - 161: jis0208<<14 | 0x06<<7 | 0x42, - 1090 - 161: jis0208<<14 | 0x06<<7 | 0x43, - 1091 - 161: jis0208<<14 | 0x06<<7 | 0x44, - 1092 - 161: jis0208<<14 | 0x06<<7 | 0x45, - 1093 - 161: jis0208<<14 | 0x06<<7 | 0x46, - 1094 - 161: jis0208<<14 | 0x06<<7 | 0x47, - 1095 - 161: jis0208<<14 | 0x06<<7 | 0x48, - 1096 - 161: jis0208<<14 | 0x06<<7 | 0x49, - 1097 - 161: jis0208<<14 | 0x06<<7 | 0x4A, - 1098 - 161: jis0208<<14 | 0x06<<7 | 0x4B, - 1099 - 161: jis0208<<14 | 0x06<<7 | 0x4C, - 1100 - 161: jis0208<<14 | 0x06<<7 | 0x4D, - 1101 - 161: jis0208<<14 | 0x06<<7 | 0x4E, - 1102 - 161: jis0208<<14 | 0x06<<7 | 0x4F, - 1103 - 161: jis0208<<14 | 0x06<<7 | 0x50, - 1105 - 161: jis0208<<14 | 0x06<<7 | 0x36, - 1106 - 161: jis0212<<14 | 0x06<<7 | 0x51, - 1107 - 161: jis0212<<14 | 0x06<<7 | 0x52, - 1108 - 161: jis0212<<14 | 0x06<<7 | 0x53, - 1109 - 161: jis0212<<14 | 0x06<<7 | 0x54, - 1110 - 161: jis0212<<14 | 0x06<<7 | 0x55, - 1111 - 161: jis0212<<14 | 0x06<<7 | 0x56, - 1112 - 161: jis0212<<14 | 0x06<<7 | 0x57, - 1113 - 161: jis0212<<14 | 0x06<<7 | 0x58, - 1114 - 161: jis0212<<14 | 0x06<<7 | 0x59, - 1115 - 161: jis0212<<14 | 0x06<<7 | 0x5A, - 1116 - 161: jis0212<<14 | 0x06<<7 | 0x5B, - 1118 - 161: jis0212<<14 | 0x06<<7 | 0x5C, - 1119 - 161: jis0212<<14 | 0x06<<7 | 0x5D, -} - -const encode4Low, encode4High = 63785, 64046 - -var encode4 = [...]uint16{ - 63785 - 63785: jis0208<<14 | 0x59<<7 | 0x25, - 63964 - 63785: jis0208<<14 | 0x5B<<7 | 0x2E, - 64014 - 63785: jis0208<<14 | 0x58<<7 | 0x33, - 64015 - 63785: jis0208<<14 | 0x58<<7 | 0x3E, - 64016 - 63785: jis0208<<14 | 0x58<<7 | 0x3F, - 64017 - 63785: jis0208<<14 | 0x58<<7 | 0x54, - 64018 - 63785: jis0208<<14 | 0x59<<7 | 0x1D, - 64019 - 63785: jis0208<<14 | 0x59<<7 | 0x2D, - 64020 - 63785: jis0208<<14 | 0x59<<7 | 0x2F, - 64021 - 63785: jis0208<<14 | 0x59<<7 | 0x5A, - 64022 - 63785: jis0208<<14 | 0x5A<<7 | 0x02, - 64023 - 63785: jis0208<<14 | 0x5A<<7 | 0x19, - 64024 - 63785: jis0208<<14 | 0x5A<<7 | 0x21, - 64025 - 63785: jis0208<<14 | 0x5A<<7 | 0x22, - 64026 - 63785: jis0208<<14 | 0x5A<<7 | 0x23, - 64027 - 63785: jis0208<<14 | 0x5A<<7 | 0x25, - 64028 - 63785: jis0208<<14 | 0x5A<<7 | 0x29, - 64029 - 63785: jis0208<<14 | 0x5A<<7 | 0x2C, - 64030 - 63785: jis0208<<14 | 0x5A<<7 | 0x35, - 64031 - 63785: jis0208<<14 | 0x5A<<7 | 0x40, - 64032 - 63785: jis0208<<14 | 0x5A<<7 | 0x42, - 64033 - 63785: jis0208<<14 | 0x5A<<7 | 0x43, - 64034 - 63785: jis0208<<14 | 0x5A<<7 | 0x4C, - 64035 - 63785: jis0208<<14 | 0x5A<<7 | 0x54, - 64036 - 63785: jis0208<<14 | 0x5A<<7 | 0x56, - 64037 - 63785: jis0208<<14 | 0x5A<<7 | 0x57, - 64038 - 63785: jis0208<<14 | 0x5A<<7 | 0x5A, - 64039 - 63785: jis0208<<14 | 0x5B<<7 | 0x18, - 64040 - 63785: jis0208<<14 | 0x5B<<7 | 0x1F, - 64041 - 63785: jis0208<<14 | 0x5B<<7 | 0x2F, - 64042 - 63785: jis0208<<14 | 0x5B<<7 | 0x3B, - 64043 - 63785: jis0208<<14 | 0x5B<<7 | 0x3C, - 64044 - 63785: jis0208<<14 | 0x5B<<7 | 0x3E, - 64045 - 63785: jis0208<<14 | 0x5B<<7 | 0x4B, -} - -const encode5Low, encode5High = 65281, 65510 - -var encode5 = [...]uint16{ - 65281 - 65281: jis0208<<14 | 0x00<<7 | 0x09, - 65282 - 65281: jis0208<<14 | 0x5B<<7 | 0x5D, - 65283 - 65281: jis0208<<14 | 0x00<<7 | 0x53, - 65284 - 65281: jis0208<<14 | 0x00<<7 | 0x4F, - 65285 - 65281: jis0208<<14 | 0x00<<7 | 0x52, - 65286 - 65281: jis0208<<14 | 0x00<<7 | 0x54, - 65287 - 65281: jis0208<<14 | 0x5B<<7 | 0x5C, - 65288 - 65281: jis0208<<14 | 0x00<<7 | 0x29, - 65289 - 65281: jis0208<<14 | 0x00<<7 | 0x2A, - 65290 - 65281: jis0208<<14 | 0x00<<7 | 0x55, - 65291 - 65281: jis0208<<14 | 0x00<<7 | 0x3B, - 65292 - 65281: jis0208<<14 | 0x00<<7 | 0x03, - 65293 - 65281: jis0208<<14 | 0x00<<7 | 0x3C, - 65294 - 65281: jis0208<<14 | 0x00<<7 | 0x04, - 65295 - 65281: jis0208<<14 | 0x00<<7 | 0x1E, - 65296 - 65281: jis0208<<14 | 0x02<<7 | 0x0F, - 65297 - 65281: jis0208<<14 | 0x02<<7 | 0x10, - 65298 - 65281: jis0208<<14 | 0x02<<7 | 0x11, - 65299 - 65281: jis0208<<14 | 0x02<<7 | 0x12, - 65300 - 65281: jis0208<<14 | 0x02<<7 | 0x13, - 65301 - 65281: jis0208<<14 | 0x02<<7 | 0x14, - 65302 - 65281: jis0208<<14 | 0x02<<7 | 0x15, - 65303 - 65281: jis0208<<14 | 0x02<<7 | 0x16, - 65304 - 65281: jis0208<<14 | 0x02<<7 | 0x17, - 65305 - 65281: jis0208<<14 | 0x02<<7 | 0x18, - 65306 - 65281: jis0208<<14 | 0x00<<7 | 0x06, - 65307 - 65281: jis0208<<14 | 0x00<<7 | 0x07, - 65308 - 65281: jis0208<<14 | 0x00<<7 | 0x42, - 65309 - 65281: jis0208<<14 | 0x00<<7 | 0x40, - 65310 - 65281: jis0208<<14 | 0x00<<7 | 0x43, - 65311 - 65281: jis0208<<14 | 0x00<<7 | 0x08, - 65312 - 65281: jis0208<<14 | 0x00<<7 | 0x56, - 65313 - 65281: jis0208<<14 | 0x02<<7 | 0x20, - 65314 - 65281: jis0208<<14 | 0x02<<7 | 0x21, - 65315 - 65281: jis0208<<14 | 0x02<<7 | 0x22, - 65316 - 65281: jis0208<<14 | 0x02<<7 | 0x23, - 65317 - 65281: jis0208<<14 | 0x02<<7 | 0x24, - 65318 - 65281: jis0208<<14 | 0x02<<7 | 0x25, - 65319 - 65281: jis0208<<14 | 0x02<<7 | 0x26, - 65320 - 65281: jis0208<<14 | 0x02<<7 | 0x27, - 65321 - 65281: jis0208<<14 | 0x02<<7 | 0x28, - 65322 - 65281: jis0208<<14 | 0x02<<7 | 0x29, - 65323 - 65281: jis0208<<14 | 0x02<<7 | 0x2A, - 65324 - 65281: jis0208<<14 | 0x02<<7 | 0x2B, - 65325 - 65281: jis0208<<14 | 0x02<<7 | 0x2C, - 65326 - 65281: jis0208<<14 | 0x02<<7 | 0x2D, - 65327 - 65281: jis0208<<14 | 0x02<<7 | 0x2E, - 65328 - 65281: jis0208<<14 | 0x02<<7 | 0x2F, - 65329 - 65281: jis0208<<14 | 0x02<<7 | 0x30, - 65330 - 65281: jis0208<<14 | 0x02<<7 | 0x31, - 65331 - 65281: jis0208<<14 | 0x02<<7 | 0x32, - 65332 - 65281: jis0208<<14 | 0x02<<7 | 0x33, - 65333 - 65281: jis0208<<14 | 0x02<<7 | 0x34, - 65334 - 65281: jis0208<<14 | 0x02<<7 | 0x35, - 65335 - 65281: jis0208<<14 | 0x02<<7 | 0x36, - 65336 - 65281: jis0208<<14 | 0x02<<7 | 0x37, - 65337 - 65281: jis0208<<14 | 0x02<<7 | 0x38, - 65338 - 65281: jis0208<<14 | 0x02<<7 | 0x39, - 65339 - 65281: jis0208<<14 | 0x00<<7 | 0x2D, - 65340 - 65281: jis0208<<14 | 0x00<<7 | 0x1F, - 65341 - 65281: jis0208<<14 | 0x00<<7 | 0x2E, - 65342 - 65281: jis0208<<14 | 0x00<<7 | 0x0F, - 65343 - 65281: jis0208<<14 | 0x00<<7 | 0x11, - 65344 - 65281: jis0208<<14 | 0x00<<7 | 0x0D, - 65345 - 65281: jis0208<<14 | 0x02<<7 | 0x40, - 65346 - 65281: jis0208<<14 | 0x02<<7 | 0x41, - 65347 - 65281: jis0208<<14 | 0x02<<7 | 0x42, - 65348 - 65281: jis0208<<14 | 0x02<<7 | 0x43, - 65349 - 65281: jis0208<<14 | 0x02<<7 | 0x44, - 65350 - 65281: jis0208<<14 | 0x02<<7 | 0x45, - 65351 - 65281: jis0208<<14 | 0x02<<7 | 0x46, - 65352 - 65281: jis0208<<14 | 0x02<<7 | 0x47, - 65353 - 65281: jis0208<<14 | 0x02<<7 | 0x48, - 65354 - 65281: jis0208<<14 | 0x02<<7 | 0x49, - 65355 - 65281: jis0208<<14 | 0x02<<7 | 0x4A, - 65356 - 65281: jis0208<<14 | 0x02<<7 | 0x4B, - 65357 - 65281: jis0208<<14 | 0x02<<7 | 0x4C, - 65358 - 65281: jis0208<<14 | 0x02<<7 | 0x4D, - 65359 - 65281: jis0208<<14 | 0x02<<7 | 0x4E, - 65360 - 65281: jis0208<<14 | 0x02<<7 | 0x4F, - 65361 - 65281: jis0208<<14 | 0x02<<7 | 0x50, - 65362 - 65281: jis0208<<14 | 0x02<<7 | 0x51, - 65363 - 65281: jis0208<<14 | 0x02<<7 | 0x52, - 65364 - 65281: jis0208<<14 | 0x02<<7 | 0x53, - 65365 - 65281: jis0208<<14 | 0x02<<7 | 0x54, - 65366 - 65281: jis0208<<14 | 0x02<<7 | 0x55, - 65367 - 65281: jis0208<<14 | 0x02<<7 | 0x56, - 65368 - 65281: jis0208<<14 | 0x02<<7 | 0x57, - 65369 - 65281: jis0208<<14 | 0x02<<7 | 0x58, - 65370 - 65281: jis0208<<14 | 0x02<<7 | 0x59, - 65371 - 65281: jis0208<<14 | 0x00<<7 | 0x2F, - 65372 - 65281: jis0208<<14 | 0x00<<7 | 0x22, - 65373 - 65281: jis0208<<14 | 0x00<<7 | 0x30, - 65374 - 65281: jis0208<<14 | 0x00<<7 | 0x20, - 65504 - 65281: jis0208<<14 | 0x00<<7 | 0x50, - 65505 - 65281: jis0208<<14 | 0x00<<7 | 0x51, - 65506 - 65281: jis0208<<14 | 0x01<<7 | 0x2B, - 65507 - 65281: jis0208<<14 | 0x00<<7 | 0x10, - 65508 - 65281: jis0208<<14 | 0x5B<<7 | 0x5B, - 65509 - 65281: jis0208<<14 | 0x00<<7 | 0x4E, -} diff --git a/vendor/golang.org/x/text/encoding/korean/euckr.go b/vendor/golang.org/x/text/encoding/korean/euckr.go deleted file mode 100644 index a4b9ff178..000000000 --- a/vendor/golang.org/x/text/encoding/korean/euckr.go +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package korean - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// All is a list of all defined encodings in this package. -var All = []encoding.Encoding{EUCKR} - -// EUCKR is the EUC-KR encoding, also known as Code Page 949. -var EUCKR encoding.Encoding = &eucKR - -var eucKR = internal.Encoding{ - &internal.SimpleEncoding{eucKRDecoder{}, eucKREncoder{}}, - "EUC-KR", - identifier.EUCKR, -} - -var errInvalidEUCKR = errors.New("korean: invalid EUC-KR encoding") - -type eucKRDecoder struct{ transform.NopResetter } - -func (eucKRDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - switch c0 := src[nSrc]; { - case c0 < utf8.RuneSelf: - r, size = rune(c0), 1 - - case 0x81 <= c0 && c0 < 0xff: - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - if c0 < 0xc7 { - r = 178 * rune(c0-0x81) - switch { - case 0x41 <= c1 && c1 < 0x5b: - r += rune(c1) - (0x41 - 0*26) - case 0x61 <= c1 && c1 < 0x7b: - r += rune(c1) - (0x61 - 1*26) - case 0x81 <= c1 && c1 < 0xff: - r += rune(c1) - (0x81 - 2*26) - default: - err = errInvalidEUCKR - break loop - } - } else if 0xa1 <= c1 && c1 < 0xff { - r = 178*(0xc7-0x81) + rune(c0-0xc7)*94 + rune(c1-0xa1) - } else { - err = errInvalidEUCKR - break loop - } - if int(r) < len(decode) { - r = rune(decode[r]) - if r == 0 { - r = '\ufffd' - } - } else { - r = '\ufffd' - } - size = 2 - - default: - err = errInvalidEUCKR - break loop - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidEUCKR - } - return nDst, nSrc, err -} - -type eucKREncoder struct{ transform.NopResetter } - -func (eucKREncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r != 0 { - goto write2 - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r != 0 { - goto write2 - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r != 0 { - goto write2 - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r != 0 { - goto write2 - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r != 0 { - goto write2 - } - case encode5Low <= r && r < encode5High: - if r = rune(encode5[r-encode5Low]); r != 0 { - goto write2 - } - case encode6Low <= r && r < encode6High: - if r = rune(encode6[r-encode6Low]); r != 0 { - goto write2 - } - } - err = internal.ErrASCIIReplacement - break - } - - write2: - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = uint8(r >> 8) - dst[nDst+1] = uint8(r) - nDst += 2 - continue - } - return nDst, nSrc, err -} - -func init() { - // Check that the hard-coded encode switch covers all tables. - if numEncodeTables != 7 { - panic("bad numEncodeTables") - } -} diff --git a/vendor/golang.org/x/text/encoding/korean/maketables.go b/vendor/golang.org/x/text/encoding/korean/maketables.go deleted file mode 100644 index c84034fb6..000000000 --- a/vendor/golang.org/x/text/encoding/korean/maketables.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This program generates tables.go: -// go run maketables.go | gofmt > tables.go - -import ( - "bufio" - "fmt" - "log" - "net/http" - "sort" - "strings" -) - -func main() { - fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") - fmt.Printf("// Package korean provides Korean encodings such as EUC-KR.\n") - fmt.Printf(`package korean // import "golang.org/x/text/encoding/korean"` + "\n\n") - - res, err := http.Get("http://encoding.spec.whatwg.org/index-euc-kr.txt") - if err != nil { - log.Fatalf("Get: %v", err) - } - defer res.Body.Close() - - mapping := [65536]uint16{} - reverse := [65536]uint16{} - - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := uint16(0), uint16(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0 || 178*(0xc7-0x81)+(0xfe-0xc7)*94+(0xff-0xa1) <= x { - log.Fatalf("EUC-KR code %d is out of range", x) - } - mapping[x] = y - if reverse[y] == 0 { - c0, c1 := uint16(0), uint16(0) - if x < 178*(0xc7-0x81) { - c0 = uint16(x/178) + 0x81 - c1 = uint16(x % 178) - switch { - case c1 < 1*26: - c1 += 0x41 - case c1 < 2*26: - c1 += 0x47 - default: - c1 += 0x4d - } - } else { - x -= 178 * (0xc7 - 0x81) - c0 = uint16(x/94) + 0xc7 - c1 = uint16(x%94) + 0xa1 - } - reverse[y] = c0<<8 | c1 - } - } - if err := scanner.Err(); err != nil { - log.Fatalf("scanner error: %v", err) - } - - fmt.Printf("// decode is the decoding table from EUC-KR code to Unicode.\n") - fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-euc-kr.txt\n") - fmt.Printf("var decode = [...]uint16{\n") - for i, v := range mapping { - if v != 0 { - fmt.Printf("\t%d: 0x%04X,\n", i, v) - } - } - fmt.Printf("}\n\n") - - // Any run of at least separation continuous zero entries in the reverse map will - // be a separate encode table. - const separation = 1024 - - intervals := []interval(nil) - low, high := -1, -1 - for i, v := range reverse { - if v == 0 { - continue - } - if low < 0 { - low = i - } else if i-high >= separation { - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - low = i - } - high = i + 1 - } - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - sort.Sort(byDecreasingLength(intervals)) - - fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) - fmt.Printf("// encodeX are the encoding tables from Unicode to EUC-KR code,\n") - fmt.Printf("// sorted by decreasing length.\n") - for i, v := range intervals { - fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) - } - fmt.Printf("\n") - - for i, v := range intervals { - fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) - fmt.Printf("var encode%d = [...]uint16{\n", i) - for j := v.low; j < v.high; j++ { - x := reverse[j] - if x == 0 { - continue - } - fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) - } - fmt.Printf("}\n\n") - } -} - -// interval is a half-open interval [low, high). -type interval struct { - low, high int -} - -func (i interval) len() int { return i.high - i.low } - -// byDecreasingLength sorts intervals by decreasing length. -type byDecreasingLength []interval - -func (b byDecreasingLength) Len() int { return len(b) } -func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } -func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } diff --git a/vendor/golang.org/x/text/encoding/korean/tables.go b/vendor/golang.org/x/text/encoding/korean/tables.go deleted file mode 100644 index eb8b4517f..000000000 --- a/vendor/golang.org/x/text/encoding/korean/tables.go +++ /dev/null @@ -1,34152 +0,0 @@ -// generated by go run maketables.go; DO NOT EDIT - -// Package korean provides Korean encodings such as EUC-KR. -package korean - -// decode is the decoding table from EUC-KR code to Unicode. -// It is defined at http://encoding.spec.whatwg.org/index-euc-kr.txt -var decode = [...]uint16{ - 0: 0xAC02, - 1: 0xAC03, - 2: 0xAC05, - 3: 0xAC06, - 4: 0xAC0B, - 5: 0xAC0C, - 6: 0xAC0D, - 7: 0xAC0E, - 8: 0xAC0F, - 9: 0xAC18, - 10: 0xAC1E, - 11: 0xAC1F, - 12: 0xAC21, - 13: 0xAC22, - 14: 0xAC23, - 15: 0xAC25, - 16: 0xAC26, - 17: 0xAC27, - 18: 0xAC28, - 19: 0xAC29, - 20: 0xAC2A, - 21: 0xAC2B, - 22: 0xAC2E, - 23: 0xAC32, - 24: 0xAC33, - 25: 0xAC34, - 26: 0xAC35, - 27: 0xAC36, - 28: 0xAC37, - 29: 0xAC3A, - 30: 0xAC3B, - 31: 0xAC3D, - 32: 0xAC3E, - 33: 0xAC3F, - 34: 0xAC41, - 35: 0xAC42, - 36: 0xAC43, - 37: 0xAC44, - 38: 0xAC45, - 39: 0xAC46, - 40: 0xAC47, - 41: 0xAC48, - 42: 0xAC49, - 43: 0xAC4A, - 44: 0xAC4C, - 45: 0xAC4E, - 46: 0xAC4F, - 47: 0xAC50, - 48: 0xAC51, - 49: 0xAC52, - 50: 0xAC53, - 51: 0xAC55, - 52: 0xAC56, - 53: 0xAC57, - 54: 0xAC59, - 55: 0xAC5A, - 56: 0xAC5B, - 57: 0xAC5D, - 58: 0xAC5E, - 59: 0xAC5F, - 60: 0xAC60, - 61: 0xAC61, - 62: 0xAC62, - 63: 0xAC63, - 64: 0xAC64, - 65: 0xAC65, - 66: 0xAC66, - 67: 0xAC67, - 68: 0xAC68, - 69: 0xAC69, - 70: 0xAC6A, - 71: 0xAC6B, - 72: 0xAC6C, - 73: 0xAC6D, - 74: 0xAC6E, - 75: 0xAC6F, - 76: 0xAC72, - 77: 0xAC73, - 78: 0xAC75, - 79: 0xAC76, - 80: 0xAC79, - 81: 0xAC7B, - 82: 0xAC7C, - 83: 0xAC7D, - 84: 0xAC7E, - 85: 0xAC7F, - 86: 0xAC82, - 87: 0xAC87, - 88: 0xAC88, - 89: 0xAC8D, - 90: 0xAC8E, - 91: 0xAC8F, - 92: 0xAC91, - 93: 0xAC92, - 94: 0xAC93, - 95: 0xAC95, - 96: 0xAC96, - 97: 0xAC97, - 98: 0xAC98, - 99: 0xAC99, - 100: 0xAC9A, - 101: 0xAC9B, - 102: 0xAC9E, - 103: 0xACA2, - 104: 0xACA3, - 105: 0xACA4, - 106: 0xACA5, - 107: 0xACA6, - 108: 0xACA7, - 109: 0xACAB, - 110: 0xACAD, - 111: 0xACAE, - 112: 0xACB1, - 113: 0xACB2, - 114: 0xACB3, - 115: 0xACB4, - 116: 0xACB5, - 117: 0xACB6, - 118: 0xACB7, - 119: 0xACBA, - 120: 0xACBE, - 121: 0xACBF, - 122: 0xACC0, - 123: 0xACC2, - 124: 0xACC3, - 125: 0xACC5, - 126: 0xACC6, - 127: 0xACC7, - 128: 0xACC9, - 129: 0xACCA, - 130: 0xACCB, - 131: 0xACCD, - 132: 0xACCE, - 133: 0xACCF, - 134: 0xACD0, - 135: 0xACD1, - 136: 0xACD2, - 137: 0xACD3, - 138: 0xACD4, - 139: 0xACD6, - 140: 0xACD8, - 141: 0xACD9, - 142: 0xACDA, - 143: 0xACDB, - 144: 0xACDC, - 145: 0xACDD, - 146: 0xACDE, - 147: 0xACDF, - 148: 0xACE2, - 149: 0xACE3, - 150: 0xACE5, - 151: 0xACE6, - 152: 0xACE9, - 153: 0xACEB, - 154: 0xACED, - 155: 0xACEE, - 156: 0xACF2, - 157: 0xACF4, - 158: 0xACF7, - 159: 0xACF8, - 160: 0xACF9, - 161: 0xACFA, - 162: 0xACFB, - 163: 0xACFE, - 164: 0xACFF, - 165: 0xAD01, - 166: 0xAD02, - 167: 0xAD03, - 168: 0xAD05, - 169: 0xAD07, - 170: 0xAD08, - 171: 0xAD09, - 172: 0xAD0A, - 173: 0xAD0B, - 174: 0xAD0E, - 175: 0xAD10, - 176: 0xAD12, - 177: 0xAD13, - 178: 0xAD14, - 179: 0xAD15, - 180: 0xAD16, - 181: 0xAD17, - 182: 0xAD19, - 183: 0xAD1A, - 184: 0xAD1B, - 185: 0xAD1D, - 186: 0xAD1E, - 187: 0xAD1F, - 188: 0xAD21, - 189: 0xAD22, - 190: 0xAD23, - 191: 0xAD24, - 192: 0xAD25, - 193: 0xAD26, - 194: 0xAD27, - 195: 0xAD28, - 196: 0xAD2A, - 197: 0xAD2B, - 198: 0xAD2E, - 199: 0xAD2F, - 200: 0xAD30, - 201: 0xAD31, - 202: 0xAD32, - 203: 0xAD33, - 204: 0xAD36, - 205: 0xAD37, - 206: 0xAD39, - 207: 0xAD3A, - 208: 0xAD3B, - 209: 0xAD3D, - 210: 0xAD3E, - 211: 0xAD3F, - 212: 0xAD40, - 213: 0xAD41, - 214: 0xAD42, - 215: 0xAD43, - 216: 0xAD46, - 217: 0xAD48, - 218: 0xAD4A, - 219: 0xAD4B, - 220: 0xAD4C, - 221: 0xAD4D, - 222: 0xAD4E, - 223: 0xAD4F, - 224: 0xAD51, - 225: 0xAD52, - 226: 0xAD53, - 227: 0xAD55, - 228: 0xAD56, - 229: 0xAD57, - 230: 0xAD59, - 231: 0xAD5A, - 232: 0xAD5B, - 233: 0xAD5C, - 234: 0xAD5D, - 235: 0xAD5E, - 236: 0xAD5F, - 237: 0xAD60, - 238: 0xAD62, - 239: 0xAD64, - 240: 0xAD65, - 241: 0xAD66, - 242: 0xAD67, - 243: 0xAD68, - 244: 0xAD69, - 245: 0xAD6A, - 246: 0xAD6B, - 247: 0xAD6E, - 248: 0xAD6F, - 249: 0xAD71, - 250: 0xAD72, - 251: 0xAD77, - 252: 0xAD78, - 253: 0xAD79, - 254: 0xAD7A, - 255: 0xAD7E, - 256: 0xAD80, - 257: 0xAD83, - 258: 0xAD84, - 259: 0xAD85, - 260: 0xAD86, - 261: 0xAD87, - 262: 0xAD8A, - 263: 0xAD8B, - 264: 0xAD8D, - 265: 0xAD8E, - 266: 0xAD8F, - 267: 0xAD91, - 268: 0xAD92, - 269: 0xAD93, - 270: 0xAD94, - 271: 0xAD95, - 272: 0xAD96, - 273: 0xAD97, - 274: 0xAD98, - 275: 0xAD99, - 276: 0xAD9A, - 277: 0xAD9B, - 278: 0xAD9E, - 279: 0xAD9F, - 280: 0xADA0, - 281: 0xADA1, - 282: 0xADA2, - 283: 0xADA3, - 284: 0xADA5, - 285: 0xADA6, - 286: 0xADA7, - 287: 0xADA8, - 288: 0xADA9, - 289: 0xADAA, - 290: 0xADAB, - 291: 0xADAC, - 292: 0xADAD, - 293: 0xADAE, - 294: 0xADAF, - 295: 0xADB0, - 296: 0xADB1, - 297: 0xADB2, - 298: 0xADB3, - 299: 0xADB4, - 300: 0xADB5, - 301: 0xADB6, - 302: 0xADB8, - 303: 0xADB9, - 304: 0xADBA, - 305: 0xADBB, - 306: 0xADBC, - 307: 0xADBD, - 308: 0xADBE, - 309: 0xADBF, - 310: 0xADC2, - 311: 0xADC3, - 312: 0xADC5, - 313: 0xADC6, - 314: 0xADC7, - 315: 0xADC9, - 316: 0xADCA, - 317: 0xADCB, - 318: 0xADCC, - 319: 0xADCD, - 320: 0xADCE, - 321: 0xADCF, - 322: 0xADD2, - 323: 0xADD4, - 324: 0xADD5, - 325: 0xADD6, - 326: 0xADD7, - 327: 0xADD8, - 328: 0xADD9, - 329: 0xADDA, - 330: 0xADDB, - 331: 0xADDD, - 332: 0xADDE, - 333: 0xADDF, - 334: 0xADE1, - 335: 0xADE2, - 336: 0xADE3, - 337: 0xADE5, - 338: 0xADE6, - 339: 0xADE7, - 340: 0xADE8, - 341: 0xADE9, - 342: 0xADEA, - 343: 0xADEB, - 344: 0xADEC, - 345: 0xADED, - 346: 0xADEE, - 347: 0xADEF, - 348: 0xADF0, - 349: 0xADF1, - 350: 0xADF2, - 351: 0xADF3, - 352: 0xADF4, - 353: 0xADF5, - 354: 0xADF6, - 355: 0xADF7, - 356: 0xADFA, - 357: 0xADFB, - 358: 0xADFD, - 359: 0xADFE, - 360: 0xAE02, - 361: 0xAE03, - 362: 0xAE04, - 363: 0xAE05, - 364: 0xAE06, - 365: 0xAE07, - 366: 0xAE0A, - 367: 0xAE0C, - 368: 0xAE0E, - 369: 0xAE0F, - 370: 0xAE10, - 371: 0xAE11, - 372: 0xAE12, - 373: 0xAE13, - 374: 0xAE15, - 375: 0xAE16, - 376: 0xAE17, - 377: 0xAE18, - 378: 0xAE19, - 379: 0xAE1A, - 380: 0xAE1B, - 381: 0xAE1C, - 382: 0xAE1D, - 383: 0xAE1E, - 384: 0xAE1F, - 385: 0xAE20, - 386: 0xAE21, - 387: 0xAE22, - 388: 0xAE23, - 389: 0xAE24, - 390: 0xAE25, - 391: 0xAE26, - 392: 0xAE27, - 393: 0xAE28, - 394: 0xAE29, - 395: 0xAE2A, - 396: 0xAE2B, - 397: 0xAE2C, - 398: 0xAE2D, - 399: 0xAE2E, - 400: 0xAE2F, - 401: 0xAE32, - 402: 0xAE33, - 403: 0xAE35, - 404: 0xAE36, - 405: 0xAE39, - 406: 0xAE3B, - 407: 0xAE3C, - 408: 0xAE3D, - 409: 0xAE3E, - 410: 0xAE3F, - 411: 0xAE42, - 412: 0xAE44, - 413: 0xAE47, - 414: 0xAE48, - 415: 0xAE49, - 416: 0xAE4B, - 417: 0xAE4F, - 418: 0xAE51, - 419: 0xAE52, - 420: 0xAE53, - 421: 0xAE55, - 422: 0xAE57, - 423: 0xAE58, - 424: 0xAE59, - 425: 0xAE5A, - 426: 0xAE5B, - 427: 0xAE5E, - 428: 0xAE62, - 429: 0xAE63, - 430: 0xAE64, - 431: 0xAE66, - 432: 0xAE67, - 433: 0xAE6A, - 434: 0xAE6B, - 435: 0xAE6D, - 436: 0xAE6E, - 437: 0xAE6F, - 438: 0xAE71, - 439: 0xAE72, - 440: 0xAE73, - 441: 0xAE74, - 442: 0xAE75, - 443: 0xAE76, - 444: 0xAE77, - 445: 0xAE7A, - 446: 0xAE7E, - 447: 0xAE7F, - 448: 0xAE80, - 449: 0xAE81, - 450: 0xAE82, - 451: 0xAE83, - 452: 0xAE86, - 453: 0xAE87, - 454: 0xAE88, - 455: 0xAE89, - 456: 0xAE8A, - 457: 0xAE8B, - 458: 0xAE8D, - 459: 0xAE8E, - 460: 0xAE8F, - 461: 0xAE90, - 462: 0xAE91, - 463: 0xAE92, - 464: 0xAE93, - 465: 0xAE94, - 466: 0xAE95, - 467: 0xAE96, - 468: 0xAE97, - 469: 0xAE98, - 470: 0xAE99, - 471: 0xAE9A, - 472: 0xAE9B, - 473: 0xAE9C, - 474: 0xAE9D, - 475: 0xAE9E, - 476: 0xAE9F, - 477: 0xAEA0, - 478: 0xAEA1, - 479: 0xAEA2, - 480: 0xAEA3, - 481: 0xAEA4, - 482: 0xAEA5, - 483: 0xAEA6, - 484: 0xAEA7, - 485: 0xAEA8, - 486: 0xAEA9, - 487: 0xAEAA, - 488: 0xAEAB, - 489: 0xAEAC, - 490: 0xAEAD, - 491: 0xAEAE, - 492: 0xAEAF, - 493: 0xAEB0, - 494: 0xAEB1, - 495: 0xAEB2, - 496: 0xAEB3, - 497: 0xAEB4, - 498: 0xAEB5, - 499: 0xAEB6, - 500: 0xAEB7, - 501: 0xAEB8, - 502: 0xAEB9, - 503: 0xAEBA, - 504: 0xAEBB, - 505: 0xAEBF, - 506: 0xAEC1, - 507: 0xAEC2, - 508: 0xAEC3, - 509: 0xAEC5, - 510: 0xAEC6, - 511: 0xAEC7, - 512: 0xAEC8, - 513: 0xAEC9, - 514: 0xAECA, - 515: 0xAECB, - 516: 0xAECE, - 517: 0xAED2, - 518: 0xAED3, - 519: 0xAED4, - 520: 0xAED5, - 521: 0xAED6, - 522: 0xAED7, - 523: 0xAEDA, - 524: 0xAEDB, - 525: 0xAEDD, - 526: 0xAEDE, - 527: 0xAEDF, - 528: 0xAEE0, - 529: 0xAEE1, - 530: 0xAEE2, - 531: 0xAEE3, - 532: 0xAEE4, - 533: 0xAEE5, - 534: 0xAEE6, - 535: 0xAEE7, - 536: 0xAEE9, - 537: 0xAEEA, - 538: 0xAEEC, - 539: 0xAEEE, - 540: 0xAEEF, - 541: 0xAEF0, - 542: 0xAEF1, - 543: 0xAEF2, - 544: 0xAEF3, - 545: 0xAEF5, - 546: 0xAEF6, - 547: 0xAEF7, - 548: 0xAEF9, - 549: 0xAEFA, - 550: 0xAEFB, - 551: 0xAEFD, - 552: 0xAEFE, - 553: 0xAEFF, - 554: 0xAF00, - 555: 0xAF01, - 556: 0xAF02, - 557: 0xAF03, - 558: 0xAF04, - 559: 0xAF05, - 560: 0xAF06, - 561: 0xAF09, - 562: 0xAF0A, - 563: 0xAF0B, - 564: 0xAF0C, - 565: 0xAF0E, - 566: 0xAF0F, - 567: 0xAF11, - 568: 0xAF12, - 569: 0xAF13, - 570: 0xAF14, - 571: 0xAF15, - 572: 0xAF16, - 573: 0xAF17, - 574: 0xAF18, - 575: 0xAF19, - 576: 0xAF1A, - 577: 0xAF1B, - 578: 0xAF1C, - 579: 0xAF1D, - 580: 0xAF1E, - 581: 0xAF1F, - 582: 0xAF20, - 583: 0xAF21, - 584: 0xAF22, - 585: 0xAF23, - 586: 0xAF24, - 587: 0xAF25, - 588: 0xAF26, - 589: 0xAF27, - 590: 0xAF28, - 591: 0xAF29, - 592: 0xAF2A, - 593: 0xAF2B, - 594: 0xAF2E, - 595: 0xAF2F, - 596: 0xAF31, - 597: 0xAF33, - 598: 0xAF35, - 599: 0xAF36, - 600: 0xAF37, - 601: 0xAF38, - 602: 0xAF39, - 603: 0xAF3A, - 604: 0xAF3B, - 605: 0xAF3E, - 606: 0xAF40, - 607: 0xAF44, - 608: 0xAF45, - 609: 0xAF46, - 610: 0xAF47, - 611: 0xAF4A, - 612: 0xAF4B, - 613: 0xAF4C, - 614: 0xAF4D, - 615: 0xAF4E, - 616: 0xAF4F, - 617: 0xAF51, - 618: 0xAF52, - 619: 0xAF53, - 620: 0xAF54, - 621: 0xAF55, - 622: 0xAF56, - 623: 0xAF57, - 624: 0xAF58, - 625: 0xAF59, - 626: 0xAF5A, - 627: 0xAF5B, - 628: 0xAF5E, - 629: 0xAF5F, - 630: 0xAF60, - 631: 0xAF61, - 632: 0xAF62, - 633: 0xAF63, - 634: 0xAF66, - 635: 0xAF67, - 636: 0xAF68, - 637: 0xAF69, - 638: 0xAF6A, - 639: 0xAF6B, - 640: 0xAF6C, - 641: 0xAF6D, - 642: 0xAF6E, - 643: 0xAF6F, - 644: 0xAF70, - 645: 0xAF71, - 646: 0xAF72, - 647: 0xAF73, - 648: 0xAF74, - 649: 0xAF75, - 650: 0xAF76, - 651: 0xAF77, - 652: 0xAF78, - 653: 0xAF7A, - 654: 0xAF7B, - 655: 0xAF7C, - 656: 0xAF7D, - 657: 0xAF7E, - 658: 0xAF7F, - 659: 0xAF81, - 660: 0xAF82, - 661: 0xAF83, - 662: 0xAF85, - 663: 0xAF86, - 664: 0xAF87, - 665: 0xAF89, - 666: 0xAF8A, - 667: 0xAF8B, - 668: 0xAF8C, - 669: 0xAF8D, - 670: 0xAF8E, - 671: 0xAF8F, - 672: 0xAF92, - 673: 0xAF93, - 674: 0xAF94, - 675: 0xAF96, - 676: 0xAF97, - 677: 0xAF98, - 678: 0xAF99, - 679: 0xAF9A, - 680: 0xAF9B, - 681: 0xAF9D, - 682: 0xAF9E, - 683: 0xAF9F, - 684: 0xAFA0, - 685: 0xAFA1, - 686: 0xAFA2, - 687: 0xAFA3, - 688: 0xAFA4, - 689: 0xAFA5, - 690: 0xAFA6, - 691: 0xAFA7, - 692: 0xAFA8, - 693: 0xAFA9, - 694: 0xAFAA, - 695: 0xAFAB, - 696: 0xAFAC, - 697: 0xAFAD, - 698: 0xAFAE, - 699: 0xAFAF, - 700: 0xAFB0, - 701: 0xAFB1, - 702: 0xAFB2, - 703: 0xAFB3, - 704: 0xAFB4, - 705: 0xAFB5, - 706: 0xAFB6, - 707: 0xAFB7, - 708: 0xAFBA, - 709: 0xAFBB, - 710: 0xAFBD, - 711: 0xAFBE, - 712: 0xAFBF, - 713: 0xAFC1, - 714: 0xAFC2, - 715: 0xAFC3, - 716: 0xAFC4, - 717: 0xAFC5, - 718: 0xAFC6, - 719: 0xAFCA, - 720: 0xAFCC, - 721: 0xAFCF, - 722: 0xAFD0, - 723: 0xAFD1, - 724: 0xAFD2, - 725: 0xAFD3, - 726: 0xAFD5, - 727: 0xAFD6, - 728: 0xAFD7, - 729: 0xAFD8, - 730: 0xAFD9, - 731: 0xAFDA, - 732: 0xAFDB, - 733: 0xAFDD, - 734: 0xAFDE, - 735: 0xAFDF, - 736: 0xAFE0, - 737: 0xAFE1, - 738: 0xAFE2, - 739: 0xAFE3, - 740: 0xAFE4, - 741: 0xAFE5, - 742: 0xAFE6, - 743: 0xAFE7, - 744: 0xAFEA, - 745: 0xAFEB, - 746: 0xAFEC, - 747: 0xAFED, - 748: 0xAFEE, - 749: 0xAFEF, - 750: 0xAFF2, - 751: 0xAFF3, - 752: 0xAFF5, - 753: 0xAFF6, - 754: 0xAFF7, - 755: 0xAFF9, - 756: 0xAFFA, - 757: 0xAFFB, - 758: 0xAFFC, - 759: 0xAFFD, - 760: 0xAFFE, - 761: 0xAFFF, - 762: 0xB002, - 763: 0xB003, - 764: 0xB005, - 765: 0xB006, - 766: 0xB007, - 767: 0xB008, - 768: 0xB009, - 769: 0xB00A, - 770: 0xB00B, - 771: 0xB00D, - 772: 0xB00E, - 773: 0xB00F, - 774: 0xB011, - 775: 0xB012, - 776: 0xB013, - 777: 0xB015, - 778: 0xB016, - 779: 0xB017, - 780: 0xB018, - 781: 0xB019, - 782: 0xB01A, - 783: 0xB01B, - 784: 0xB01E, - 785: 0xB01F, - 786: 0xB020, - 787: 0xB021, - 788: 0xB022, - 789: 0xB023, - 790: 0xB024, - 791: 0xB025, - 792: 0xB026, - 793: 0xB027, - 794: 0xB029, - 795: 0xB02A, - 796: 0xB02B, - 797: 0xB02C, - 798: 0xB02D, - 799: 0xB02E, - 800: 0xB02F, - 801: 0xB030, - 802: 0xB031, - 803: 0xB032, - 804: 0xB033, - 805: 0xB034, - 806: 0xB035, - 807: 0xB036, - 808: 0xB037, - 809: 0xB038, - 810: 0xB039, - 811: 0xB03A, - 812: 0xB03B, - 813: 0xB03C, - 814: 0xB03D, - 815: 0xB03E, - 816: 0xB03F, - 817: 0xB040, - 818: 0xB041, - 819: 0xB042, - 820: 0xB043, - 821: 0xB046, - 822: 0xB047, - 823: 0xB049, - 824: 0xB04B, - 825: 0xB04D, - 826: 0xB04F, - 827: 0xB050, - 828: 0xB051, - 829: 0xB052, - 830: 0xB056, - 831: 0xB058, - 832: 0xB05A, - 833: 0xB05B, - 834: 0xB05C, - 835: 0xB05E, - 836: 0xB05F, - 837: 0xB060, - 838: 0xB061, - 839: 0xB062, - 840: 0xB063, - 841: 0xB064, - 842: 0xB065, - 843: 0xB066, - 844: 0xB067, - 845: 0xB068, - 846: 0xB069, - 847: 0xB06A, - 848: 0xB06B, - 849: 0xB06C, - 850: 0xB06D, - 851: 0xB06E, - 852: 0xB06F, - 853: 0xB070, - 854: 0xB071, - 855: 0xB072, - 856: 0xB073, - 857: 0xB074, - 858: 0xB075, - 859: 0xB076, - 860: 0xB077, - 861: 0xB078, - 862: 0xB079, - 863: 0xB07A, - 864: 0xB07B, - 865: 0xB07E, - 866: 0xB07F, - 867: 0xB081, - 868: 0xB082, - 869: 0xB083, - 870: 0xB085, - 871: 0xB086, - 872: 0xB087, - 873: 0xB088, - 874: 0xB089, - 875: 0xB08A, - 876: 0xB08B, - 877: 0xB08E, - 878: 0xB090, - 879: 0xB092, - 880: 0xB093, - 881: 0xB094, - 882: 0xB095, - 883: 0xB096, - 884: 0xB097, - 885: 0xB09B, - 886: 0xB09D, - 887: 0xB09E, - 888: 0xB0A3, - 889: 0xB0A4, - 890: 0xB0A5, - 891: 0xB0A6, - 892: 0xB0A7, - 893: 0xB0AA, - 894: 0xB0B0, - 895: 0xB0B2, - 896: 0xB0B6, - 897: 0xB0B7, - 898: 0xB0B9, - 899: 0xB0BA, - 900: 0xB0BB, - 901: 0xB0BD, - 902: 0xB0BE, - 903: 0xB0BF, - 904: 0xB0C0, - 905: 0xB0C1, - 906: 0xB0C2, - 907: 0xB0C3, - 908: 0xB0C6, - 909: 0xB0CA, - 910: 0xB0CB, - 911: 0xB0CC, - 912: 0xB0CD, - 913: 0xB0CE, - 914: 0xB0CF, - 915: 0xB0D2, - 916: 0xB0D3, - 917: 0xB0D5, - 918: 0xB0D6, - 919: 0xB0D7, - 920: 0xB0D9, - 921: 0xB0DA, - 922: 0xB0DB, - 923: 0xB0DC, - 924: 0xB0DD, - 925: 0xB0DE, - 926: 0xB0DF, - 927: 0xB0E1, - 928: 0xB0E2, - 929: 0xB0E3, - 930: 0xB0E4, - 931: 0xB0E6, - 932: 0xB0E7, - 933: 0xB0E8, - 934: 0xB0E9, - 935: 0xB0EA, - 936: 0xB0EB, - 937: 0xB0EC, - 938: 0xB0ED, - 939: 0xB0EE, - 940: 0xB0EF, - 941: 0xB0F0, - 942: 0xB0F1, - 943: 0xB0F2, - 944: 0xB0F3, - 945: 0xB0F4, - 946: 0xB0F5, - 947: 0xB0F6, - 948: 0xB0F7, - 949: 0xB0F8, - 950: 0xB0F9, - 951: 0xB0FA, - 952: 0xB0FB, - 953: 0xB0FC, - 954: 0xB0FD, - 955: 0xB0FE, - 956: 0xB0FF, - 957: 0xB100, - 958: 0xB101, - 959: 0xB102, - 960: 0xB103, - 961: 0xB104, - 962: 0xB105, - 963: 0xB106, - 964: 0xB107, - 965: 0xB10A, - 966: 0xB10D, - 967: 0xB10E, - 968: 0xB10F, - 969: 0xB111, - 970: 0xB114, - 971: 0xB115, - 972: 0xB116, - 973: 0xB117, - 974: 0xB11A, - 975: 0xB11E, - 976: 0xB11F, - 977: 0xB120, - 978: 0xB121, - 979: 0xB122, - 980: 0xB126, - 981: 0xB127, - 982: 0xB129, - 983: 0xB12A, - 984: 0xB12B, - 985: 0xB12D, - 986: 0xB12E, - 987: 0xB12F, - 988: 0xB130, - 989: 0xB131, - 990: 0xB132, - 991: 0xB133, - 992: 0xB136, - 993: 0xB13A, - 994: 0xB13B, - 995: 0xB13C, - 996: 0xB13D, - 997: 0xB13E, - 998: 0xB13F, - 999: 0xB142, - 1000: 0xB143, - 1001: 0xB145, - 1002: 0xB146, - 1003: 0xB147, - 1004: 0xB149, - 1005: 0xB14A, - 1006: 0xB14B, - 1007: 0xB14C, - 1008: 0xB14D, - 1009: 0xB14E, - 1010: 0xB14F, - 1011: 0xB152, - 1012: 0xB153, - 1013: 0xB156, - 1014: 0xB157, - 1015: 0xB159, - 1016: 0xB15A, - 1017: 0xB15B, - 1018: 0xB15D, - 1019: 0xB15E, - 1020: 0xB15F, - 1021: 0xB161, - 1022: 0xB162, - 1023: 0xB163, - 1024: 0xB164, - 1025: 0xB165, - 1026: 0xB166, - 1027: 0xB167, - 1028: 0xB168, - 1029: 0xB169, - 1030: 0xB16A, - 1031: 0xB16B, - 1032: 0xB16C, - 1033: 0xB16D, - 1034: 0xB16E, - 1035: 0xB16F, - 1036: 0xB170, - 1037: 0xB171, - 1038: 0xB172, - 1039: 0xB173, - 1040: 0xB174, - 1041: 0xB175, - 1042: 0xB176, - 1043: 0xB177, - 1044: 0xB17A, - 1045: 0xB17B, - 1046: 0xB17D, - 1047: 0xB17E, - 1048: 0xB17F, - 1049: 0xB181, - 1050: 0xB183, - 1051: 0xB184, - 1052: 0xB185, - 1053: 0xB186, - 1054: 0xB187, - 1055: 0xB18A, - 1056: 0xB18C, - 1057: 0xB18E, - 1058: 0xB18F, - 1059: 0xB190, - 1060: 0xB191, - 1061: 0xB195, - 1062: 0xB196, - 1063: 0xB197, - 1064: 0xB199, - 1065: 0xB19A, - 1066: 0xB19B, - 1067: 0xB19D, - 1068: 0xB19E, - 1069: 0xB19F, - 1070: 0xB1A0, - 1071: 0xB1A1, - 1072: 0xB1A2, - 1073: 0xB1A3, - 1074: 0xB1A4, - 1075: 0xB1A5, - 1076: 0xB1A6, - 1077: 0xB1A7, - 1078: 0xB1A9, - 1079: 0xB1AA, - 1080: 0xB1AB, - 1081: 0xB1AC, - 1082: 0xB1AD, - 1083: 0xB1AE, - 1084: 0xB1AF, - 1085: 0xB1B0, - 1086: 0xB1B1, - 1087: 0xB1B2, - 1088: 0xB1B3, - 1089: 0xB1B4, - 1090: 0xB1B5, - 1091: 0xB1B6, - 1092: 0xB1B7, - 1093: 0xB1B8, - 1094: 0xB1B9, - 1095: 0xB1BA, - 1096: 0xB1BB, - 1097: 0xB1BC, - 1098: 0xB1BD, - 1099: 0xB1BE, - 1100: 0xB1BF, - 1101: 0xB1C0, - 1102: 0xB1C1, - 1103: 0xB1C2, - 1104: 0xB1C3, - 1105: 0xB1C4, - 1106: 0xB1C5, - 1107: 0xB1C6, - 1108: 0xB1C7, - 1109: 0xB1C8, - 1110: 0xB1C9, - 1111: 0xB1CA, - 1112: 0xB1CB, - 1113: 0xB1CD, - 1114: 0xB1CE, - 1115: 0xB1CF, - 1116: 0xB1D1, - 1117: 0xB1D2, - 1118: 0xB1D3, - 1119: 0xB1D5, - 1120: 0xB1D6, - 1121: 0xB1D7, - 1122: 0xB1D8, - 1123: 0xB1D9, - 1124: 0xB1DA, - 1125: 0xB1DB, - 1126: 0xB1DE, - 1127: 0xB1E0, - 1128: 0xB1E1, - 1129: 0xB1E2, - 1130: 0xB1E3, - 1131: 0xB1E4, - 1132: 0xB1E5, - 1133: 0xB1E6, - 1134: 0xB1E7, - 1135: 0xB1EA, - 1136: 0xB1EB, - 1137: 0xB1ED, - 1138: 0xB1EE, - 1139: 0xB1EF, - 1140: 0xB1F1, - 1141: 0xB1F2, - 1142: 0xB1F3, - 1143: 0xB1F4, - 1144: 0xB1F5, - 1145: 0xB1F6, - 1146: 0xB1F7, - 1147: 0xB1F8, - 1148: 0xB1FA, - 1149: 0xB1FC, - 1150: 0xB1FE, - 1151: 0xB1FF, - 1152: 0xB200, - 1153: 0xB201, - 1154: 0xB202, - 1155: 0xB203, - 1156: 0xB206, - 1157: 0xB207, - 1158: 0xB209, - 1159: 0xB20A, - 1160: 0xB20D, - 1161: 0xB20E, - 1162: 0xB20F, - 1163: 0xB210, - 1164: 0xB211, - 1165: 0xB212, - 1166: 0xB213, - 1167: 0xB216, - 1168: 0xB218, - 1169: 0xB21A, - 1170: 0xB21B, - 1171: 0xB21C, - 1172: 0xB21D, - 1173: 0xB21E, - 1174: 0xB21F, - 1175: 0xB221, - 1176: 0xB222, - 1177: 0xB223, - 1178: 0xB224, - 1179: 0xB225, - 1180: 0xB226, - 1181: 0xB227, - 1182: 0xB228, - 1183: 0xB229, - 1184: 0xB22A, - 1185: 0xB22B, - 1186: 0xB22C, - 1187: 0xB22D, - 1188: 0xB22E, - 1189: 0xB22F, - 1190: 0xB230, - 1191: 0xB231, - 1192: 0xB232, - 1193: 0xB233, - 1194: 0xB235, - 1195: 0xB236, - 1196: 0xB237, - 1197: 0xB238, - 1198: 0xB239, - 1199: 0xB23A, - 1200: 0xB23B, - 1201: 0xB23D, - 1202: 0xB23E, - 1203: 0xB23F, - 1204: 0xB240, - 1205: 0xB241, - 1206: 0xB242, - 1207: 0xB243, - 1208: 0xB244, - 1209: 0xB245, - 1210: 0xB246, - 1211: 0xB247, - 1212: 0xB248, - 1213: 0xB249, - 1214: 0xB24A, - 1215: 0xB24B, - 1216: 0xB24C, - 1217: 0xB24D, - 1218: 0xB24E, - 1219: 0xB24F, - 1220: 0xB250, - 1221: 0xB251, - 1222: 0xB252, - 1223: 0xB253, - 1224: 0xB254, - 1225: 0xB255, - 1226: 0xB256, - 1227: 0xB257, - 1228: 0xB259, - 1229: 0xB25A, - 1230: 0xB25B, - 1231: 0xB25D, - 1232: 0xB25E, - 1233: 0xB25F, - 1234: 0xB261, - 1235: 0xB262, - 1236: 0xB263, - 1237: 0xB264, - 1238: 0xB265, - 1239: 0xB266, - 1240: 0xB267, - 1241: 0xB26A, - 1242: 0xB26B, - 1243: 0xB26C, - 1244: 0xB26D, - 1245: 0xB26E, - 1246: 0xB26F, - 1247: 0xB270, - 1248: 0xB271, - 1249: 0xB272, - 1250: 0xB273, - 1251: 0xB276, - 1252: 0xB277, - 1253: 0xB278, - 1254: 0xB279, - 1255: 0xB27A, - 1256: 0xB27B, - 1257: 0xB27D, - 1258: 0xB27E, - 1259: 0xB27F, - 1260: 0xB280, - 1261: 0xB281, - 1262: 0xB282, - 1263: 0xB283, - 1264: 0xB286, - 1265: 0xB287, - 1266: 0xB288, - 1267: 0xB28A, - 1268: 0xB28B, - 1269: 0xB28C, - 1270: 0xB28D, - 1271: 0xB28E, - 1272: 0xB28F, - 1273: 0xB292, - 1274: 0xB293, - 1275: 0xB295, - 1276: 0xB296, - 1277: 0xB297, - 1278: 0xB29B, - 1279: 0xB29C, - 1280: 0xB29D, - 1281: 0xB29E, - 1282: 0xB29F, - 1283: 0xB2A2, - 1284: 0xB2A4, - 1285: 0xB2A7, - 1286: 0xB2A8, - 1287: 0xB2A9, - 1288: 0xB2AB, - 1289: 0xB2AD, - 1290: 0xB2AE, - 1291: 0xB2AF, - 1292: 0xB2B1, - 1293: 0xB2B2, - 1294: 0xB2B3, - 1295: 0xB2B5, - 1296: 0xB2B6, - 1297: 0xB2B7, - 1298: 0xB2B8, - 1299: 0xB2B9, - 1300: 0xB2BA, - 1301: 0xB2BB, - 1302: 0xB2BC, - 1303: 0xB2BD, - 1304: 0xB2BE, - 1305: 0xB2BF, - 1306: 0xB2C0, - 1307: 0xB2C1, - 1308: 0xB2C2, - 1309: 0xB2C3, - 1310: 0xB2C4, - 1311: 0xB2C5, - 1312: 0xB2C6, - 1313: 0xB2C7, - 1314: 0xB2CA, - 1315: 0xB2CB, - 1316: 0xB2CD, - 1317: 0xB2CE, - 1318: 0xB2CF, - 1319: 0xB2D1, - 1320: 0xB2D3, - 1321: 0xB2D4, - 1322: 0xB2D5, - 1323: 0xB2D6, - 1324: 0xB2D7, - 1325: 0xB2DA, - 1326: 0xB2DC, - 1327: 0xB2DE, - 1328: 0xB2DF, - 1329: 0xB2E0, - 1330: 0xB2E1, - 1331: 0xB2E3, - 1332: 0xB2E7, - 1333: 0xB2E9, - 1334: 0xB2EA, - 1335: 0xB2F0, - 1336: 0xB2F1, - 1337: 0xB2F2, - 1338: 0xB2F6, - 1339: 0xB2FC, - 1340: 0xB2FD, - 1341: 0xB2FE, - 1342: 0xB302, - 1343: 0xB303, - 1344: 0xB305, - 1345: 0xB306, - 1346: 0xB307, - 1347: 0xB309, - 1348: 0xB30A, - 1349: 0xB30B, - 1350: 0xB30C, - 1351: 0xB30D, - 1352: 0xB30E, - 1353: 0xB30F, - 1354: 0xB312, - 1355: 0xB316, - 1356: 0xB317, - 1357: 0xB318, - 1358: 0xB319, - 1359: 0xB31A, - 1360: 0xB31B, - 1361: 0xB31D, - 1362: 0xB31E, - 1363: 0xB31F, - 1364: 0xB320, - 1365: 0xB321, - 1366: 0xB322, - 1367: 0xB323, - 1368: 0xB324, - 1369: 0xB325, - 1370: 0xB326, - 1371: 0xB327, - 1372: 0xB328, - 1373: 0xB329, - 1374: 0xB32A, - 1375: 0xB32B, - 1376: 0xB32C, - 1377: 0xB32D, - 1378: 0xB32E, - 1379: 0xB32F, - 1380: 0xB330, - 1381: 0xB331, - 1382: 0xB332, - 1383: 0xB333, - 1384: 0xB334, - 1385: 0xB335, - 1386: 0xB336, - 1387: 0xB337, - 1388: 0xB338, - 1389: 0xB339, - 1390: 0xB33A, - 1391: 0xB33B, - 1392: 0xB33C, - 1393: 0xB33D, - 1394: 0xB33E, - 1395: 0xB33F, - 1396: 0xB340, - 1397: 0xB341, - 1398: 0xB342, - 1399: 0xB343, - 1400: 0xB344, - 1401: 0xB345, - 1402: 0xB346, - 1403: 0xB347, - 1404: 0xB348, - 1405: 0xB349, - 1406: 0xB34A, - 1407: 0xB34B, - 1408: 0xB34C, - 1409: 0xB34D, - 1410: 0xB34E, - 1411: 0xB34F, - 1412: 0xB350, - 1413: 0xB351, - 1414: 0xB352, - 1415: 0xB353, - 1416: 0xB357, - 1417: 0xB359, - 1418: 0xB35A, - 1419: 0xB35D, - 1420: 0xB360, - 1421: 0xB361, - 1422: 0xB362, - 1423: 0xB363, - 1424: 0xB366, - 1425: 0xB368, - 1426: 0xB36A, - 1427: 0xB36C, - 1428: 0xB36D, - 1429: 0xB36F, - 1430: 0xB372, - 1431: 0xB373, - 1432: 0xB375, - 1433: 0xB376, - 1434: 0xB377, - 1435: 0xB379, - 1436: 0xB37A, - 1437: 0xB37B, - 1438: 0xB37C, - 1439: 0xB37D, - 1440: 0xB37E, - 1441: 0xB37F, - 1442: 0xB382, - 1443: 0xB386, - 1444: 0xB387, - 1445: 0xB388, - 1446: 0xB389, - 1447: 0xB38A, - 1448: 0xB38B, - 1449: 0xB38D, - 1450: 0xB38E, - 1451: 0xB38F, - 1452: 0xB391, - 1453: 0xB392, - 1454: 0xB393, - 1455: 0xB395, - 1456: 0xB396, - 1457: 0xB397, - 1458: 0xB398, - 1459: 0xB399, - 1460: 0xB39A, - 1461: 0xB39B, - 1462: 0xB39C, - 1463: 0xB39D, - 1464: 0xB39E, - 1465: 0xB39F, - 1466: 0xB3A2, - 1467: 0xB3A3, - 1468: 0xB3A4, - 1469: 0xB3A5, - 1470: 0xB3A6, - 1471: 0xB3A7, - 1472: 0xB3A9, - 1473: 0xB3AA, - 1474: 0xB3AB, - 1475: 0xB3AD, - 1476: 0xB3AE, - 1477: 0xB3AF, - 1478: 0xB3B0, - 1479: 0xB3B1, - 1480: 0xB3B2, - 1481: 0xB3B3, - 1482: 0xB3B4, - 1483: 0xB3B5, - 1484: 0xB3B6, - 1485: 0xB3B7, - 1486: 0xB3B8, - 1487: 0xB3B9, - 1488: 0xB3BA, - 1489: 0xB3BB, - 1490: 0xB3BC, - 1491: 0xB3BD, - 1492: 0xB3BE, - 1493: 0xB3BF, - 1494: 0xB3C0, - 1495: 0xB3C1, - 1496: 0xB3C2, - 1497: 0xB3C3, - 1498: 0xB3C6, - 1499: 0xB3C7, - 1500: 0xB3C9, - 1501: 0xB3CA, - 1502: 0xB3CD, - 1503: 0xB3CF, - 1504: 0xB3D1, - 1505: 0xB3D2, - 1506: 0xB3D3, - 1507: 0xB3D6, - 1508: 0xB3D8, - 1509: 0xB3DA, - 1510: 0xB3DC, - 1511: 0xB3DE, - 1512: 0xB3DF, - 1513: 0xB3E1, - 1514: 0xB3E2, - 1515: 0xB3E3, - 1516: 0xB3E5, - 1517: 0xB3E6, - 1518: 0xB3E7, - 1519: 0xB3E9, - 1520: 0xB3EA, - 1521: 0xB3EB, - 1522: 0xB3EC, - 1523: 0xB3ED, - 1524: 0xB3EE, - 1525: 0xB3EF, - 1526: 0xB3F0, - 1527: 0xB3F1, - 1528: 0xB3F2, - 1529: 0xB3F3, - 1530: 0xB3F4, - 1531: 0xB3F5, - 1532: 0xB3F6, - 1533: 0xB3F7, - 1534: 0xB3F8, - 1535: 0xB3F9, - 1536: 0xB3FA, - 1537: 0xB3FB, - 1538: 0xB3FD, - 1539: 0xB3FE, - 1540: 0xB3FF, - 1541: 0xB400, - 1542: 0xB401, - 1543: 0xB402, - 1544: 0xB403, - 1545: 0xB404, - 1546: 0xB405, - 1547: 0xB406, - 1548: 0xB407, - 1549: 0xB408, - 1550: 0xB409, - 1551: 0xB40A, - 1552: 0xB40B, - 1553: 0xB40C, - 1554: 0xB40D, - 1555: 0xB40E, - 1556: 0xB40F, - 1557: 0xB411, - 1558: 0xB412, - 1559: 0xB413, - 1560: 0xB414, - 1561: 0xB415, - 1562: 0xB416, - 1563: 0xB417, - 1564: 0xB419, - 1565: 0xB41A, - 1566: 0xB41B, - 1567: 0xB41D, - 1568: 0xB41E, - 1569: 0xB41F, - 1570: 0xB421, - 1571: 0xB422, - 1572: 0xB423, - 1573: 0xB424, - 1574: 0xB425, - 1575: 0xB426, - 1576: 0xB427, - 1577: 0xB42A, - 1578: 0xB42C, - 1579: 0xB42D, - 1580: 0xB42E, - 1581: 0xB42F, - 1582: 0xB430, - 1583: 0xB431, - 1584: 0xB432, - 1585: 0xB433, - 1586: 0xB435, - 1587: 0xB436, - 1588: 0xB437, - 1589: 0xB438, - 1590: 0xB439, - 1591: 0xB43A, - 1592: 0xB43B, - 1593: 0xB43C, - 1594: 0xB43D, - 1595: 0xB43E, - 1596: 0xB43F, - 1597: 0xB440, - 1598: 0xB441, - 1599: 0xB442, - 1600: 0xB443, - 1601: 0xB444, - 1602: 0xB445, - 1603: 0xB446, - 1604: 0xB447, - 1605: 0xB448, - 1606: 0xB449, - 1607: 0xB44A, - 1608: 0xB44B, - 1609: 0xB44C, - 1610: 0xB44D, - 1611: 0xB44E, - 1612: 0xB44F, - 1613: 0xB452, - 1614: 0xB453, - 1615: 0xB455, - 1616: 0xB456, - 1617: 0xB457, - 1618: 0xB459, - 1619: 0xB45A, - 1620: 0xB45B, - 1621: 0xB45C, - 1622: 0xB45D, - 1623: 0xB45E, - 1624: 0xB45F, - 1625: 0xB462, - 1626: 0xB464, - 1627: 0xB466, - 1628: 0xB467, - 1629: 0xB468, - 1630: 0xB469, - 1631: 0xB46A, - 1632: 0xB46B, - 1633: 0xB46D, - 1634: 0xB46E, - 1635: 0xB46F, - 1636: 0xB470, - 1637: 0xB471, - 1638: 0xB472, - 1639: 0xB473, - 1640: 0xB474, - 1641: 0xB475, - 1642: 0xB476, - 1643: 0xB477, - 1644: 0xB478, - 1645: 0xB479, - 1646: 0xB47A, - 1647: 0xB47B, - 1648: 0xB47C, - 1649: 0xB47D, - 1650: 0xB47E, - 1651: 0xB47F, - 1652: 0xB481, - 1653: 0xB482, - 1654: 0xB483, - 1655: 0xB484, - 1656: 0xB485, - 1657: 0xB486, - 1658: 0xB487, - 1659: 0xB489, - 1660: 0xB48A, - 1661: 0xB48B, - 1662: 0xB48C, - 1663: 0xB48D, - 1664: 0xB48E, - 1665: 0xB48F, - 1666: 0xB490, - 1667: 0xB491, - 1668: 0xB492, - 1669: 0xB493, - 1670: 0xB494, - 1671: 0xB495, - 1672: 0xB496, - 1673: 0xB497, - 1674: 0xB498, - 1675: 0xB499, - 1676: 0xB49A, - 1677: 0xB49B, - 1678: 0xB49C, - 1679: 0xB49E, - 1680: 0xB49F, - 1681: 0xB4A0, - 1682: 0xB4A1, - 1683: 0xB4A2, - 1684: 0xB4A3, - 1685: 0xB4A5, - 1686: 0xB4A6, - 1687: 0xB4A7, - 1688: 0xB4A9, - 1689: 0xB4AA, - 1690: 0xB4AB, - 1691: 0xB4AD, - 1692: 0xB4AE, - 1693: 0xB4AF, - 1694: 0xB4B0, - 1695: 0xB4B1, - 1696: 0xB4B2, - 1697: 0xB4B3, - 1698: 0xB4B4, - 1699: 0xB4B6, - 1700: 0xB4B8, - 1701: 0xB4BA, - 1702: 0xB4BB, - 1703: 0xB4BC, - 1704: 0xB4BD, - 1705: 0xB4BE, - 1706: 0xB4BF, - 1707: 0xB4C1, - 1708: 0xB4C2, - 1709: 0xB4C3, - 1710: 0xB4C5, - 1711: 0xB4C6, - 1712: 0xB4C7, - 1713: 0xB4C9, - 1714: 0xB4CA, - 1715: 0xB4CB, - 1716: 0xB4CC, - 1717: 0xB4CD, - 1718: 0xB4CE, - 1719: 0xB4CF, - 1720: 0xB4D1, - 1721: 0xB4D2, - 1722: 0xB4D3, - 1723: 0xB4D4, - 1724: 0xB4D6, - 1725: 0xB4D7, - 1726: 0xB4D8, - 1727: 0xB4D9, - 1728: 0xB4DA, - 1729: 0xB4DB, - 1730: 0xB4DE, - 1731: 0xB4DF, - 1732: 0xB4E1, - 1733: 0xB4E2, - 1734: 0xB4E5, - 1735: 0xB4E7, - 1736: 0xB4E8, - 1737: 0xB4E9, - 1738: 0xB4EA, - 1739: 0xB4EB, - 1740: 0xB4EE, - 1741: 0xB4F0, - 1742: 0xB4F2, - 1743: 0xB4F3, - 1744: 0xB4F4, - 1745: 0xB4F5, - 1746: 0xB4F6, - 1747: 0xB4F7, - 1748: 0xB4F9, - 1749: 0xB4FA, - 1750: 0xB4FB, - 1751: 0xB4FC, - 1752: 0xB4FD, - 1753: 0xB4FE, - 1754: 0xB4FF, - 1755: 0xB500, - 1756: 0xB501, - 1757: 0xB502, - 1758: 0xB503, - 1759: 0xB504, - 1760: 0xB505, - 1761: 0xB506, - 1762: 0xB507, - 1763: 0xB508, - 1764: 0xB509, - 1765: 0xB50A, - 1766: 0xB50B, - 1767: 0xB50C, - 1768: 0xB50D, - 1769: 0xB50E, - 1770: 0xB50F, - 1771: 0xB510, - 1772: 0xB511, - 1773: 0xB512, - 1774: 0xB513, - 1775: 0xB516, - 1776: 0xB517, - 1777: 0xB519, - 1778: 0xB51A, - 1779: 0xB51D, - 1780: 0xB51E, - 1781: 0xB51F, - 1782: 0xB520, - 1783: 0xB521, - 1784: 0xB522, - 1785: 0xB523, - 1786: 0xB526, - 1787: 0xB52B, - 1788: 0xB52C, - 1789: 0xB52D, - 1790: 0xB52E, - 1791: 0xB52F, - 1792: 0xB532, - 1793: 0xB533, - 1794: 0xB535, - 1795: 0xB536, - 1796: 0xB537, - 1797: 0xB539, - 1798: 0xB53A, - 1799: 0xB53B, - 1800: 0xB53C, - 1801: 0xB53D, - 1802: 0xB53E, - 1803: 0xB53F, - 1804: 0xB542, - 1805: 0xB546, - 1806: 0xB547, - 1807: 0xB548, - 1808: 0xB549, - 1809: 0xB54A, - 1810: 0xB54E, - 1811: 0xB54F, - 1812: 0xB551, - 1813: 0xB552, - 1814: 0xB553, - 1815: 0xB555, - 1816: 0xB556, - 1817: 0xB557, - 1818: 0xB558, - 1819: 0xB559, - 1820: 0xB55A, - 1821: 0xB55B, - 1822: 0xB55E, - 1823: 0xB562, - 1824: 0xB563, - 1825: 0xB564, - 1826: 0xB565, - 1827: 0xB566, - 1828: 0xB567, - 1829: 0xB568, - 1830: 0xB569, - 1831: 0xB56A, - 1832: 0xB56B, - 1833: 0xB56C, - 1834: 0xB56D, - 1835: 0xB56E, - 1836: 0xB56F, - 1837: 0xB570, - 1838: 0xB571, - 1839: 0xB572, - 1840: 0xB573, - 1841: 0xB574, - 1842: 0xB575, - 1843: 0xB576, - 1844: 0xB577, - 1845: 0xB578, - 1846: 0xB579, - 1847: 0xB57A, - 1848: 0xB57B, - 1849: 0xB57C, - 1850: 0xB57D, - 1851: 0xB57E, - 1852: 0xB57F, - 1853: 0xB580, - 1854: 0xB581, - 1855: 0xB582, - 1856: 0xB583, - 1857: 0xB584, - 1858: 0xB585, - 1859: 0xB586, - 1860: 0xB587, - 1861: 0xB588, - 1862: 0xB589, - 1863: 0xB58A, - 1864: 0xB58B, - 1865: 0xB58C, - 1866: 0xB58D, - 1867: 0xB58E, - 1868: 0xB58F, - 1869: 0xB590, - 1870: 0xB591, - 1871: 0xB592, - 1872: 0xB593, - 1873: 0xB594, - 1874: 0xB595, - 1875: 0xB596, - 1876: 0xB597, - 1877: 0xB598, - 1878: 0xB599, - 1879: 0xB59A, - 1880: 0xB59B, - 1881: 0xB59C, - 1882: 0xB59D, - 1883: 0xB59E, - 1884: 0xB59F, - 1885: 0xB5A2, - 1886: 0xB5A3, - 1887: 0xB5A5, - 1888: 0xB5A6, - 1889: 0xB5A7, - 1890: 0xB5A9, - 1891: 0xB5AC, - 1892: 0xB5AD, - 1893: 0xB5AE, - 1894: 0xB5AF, - 1895: 0xB5B2, - 1896: 0xB5B6, - 1897: 0xB5B7, - 1898: 0xB5B8, - 1899: 0xB5B9, - 1900: 0xB5BA, - 1901: 0xB5BE, - 1902: 0xB5BF, - 1903: 0xB5C1, - 1904: 0xB5C2, - 1905: 0xB5C3, - 1906: 0xB5C5, - 1907: 0xB5C6, - 1908: 0xB5C7, - 1909: 0xB5C8, - 1910: 0xB5C9, - 1911: 0xB5CA, - 1912: 0xB5CB, - 1913: 0xB5CE, - 1914: 0xB5D2, - 1915: 0xB5D3, - 1916: 0xB5D4, - 1917: 0xB5D5, - 1918: 0xB5D6, - 1919: 0xB5D7, - 1920: 0xB5D9, - 1921: 0xB5DA, - 1922: 0xB5DB, - 1923: 0xB5DC, - 1924: 0xB5DD, - 1925: 0xB5DE, - 1926: 0xB5DF, - 1927: 0xB5E0, - 1928: 0xB5E1, - 1929: 0xB5E2, - 1930: 0xB5E3, - 1931: 0xB5E4, - 1932: 0xB5E5, - 1933: 0xB5E6, - 1934: 0xB5E7, - 1935: 0xB5E8, - 1936: 0xB5E9, - 1937: 0xB5EA, - 1938: 0xB5EB, - 1939: 0xB5ED, - 1940: 0xB5EE, - 1941: 0xB5EF, - 1942: 0xB5F0, - 1943: 0xB5F1, - 1944: 0xB5F2, - 1945: 0xB5F3, - 1946: 0xB5F4, - 1947: 0xB5F5, - 1948: 0xB5F6, - 1949: 0xB5F7, - 1950: 0xB5F8, - 1951: 0xB5F9, - 1952: 0xB5FA, - 1953: 0xB5FB, - 1954: 0xB5FC, - 1955: 0xB5FD, - 1956: 0xB5FE, - 1957: 0xB5FF, - 1958: 0xB600, - 1959: 0xB601, - 1960: 0xB602, - 1961: 0xB603, - 1962: 0xB604, - 1963: 0xB605, - 1964: 0xB606, - 1965: 0xB607, - 1966: 0xB608, - 1967: 0xB609, - 1968: 0xB60A, - 1969: 0xB60B, - 1970: 0xB60C, - 1971: 0xB60D, - 1972: 0xB60E, - 1973: 0xB60F, - 1974: 0xB612, - 1975: 0xB613, - 1976: 0xB615, - 1977: 0xB616, - 1978: 0xB617, - 1979: 0xB619, - 1980: 0xB61A, - 1981: 0xB61B, - 1982: 0xB61C, - 1983: 0xB61D, - 1984: 0xB61E, - 1985: 0xB61F, - 1986: 0xB620, - 1987: 0xB621, - 1988: 0xB622, - 1989: 0xB623, - 1990: 0xB624, - 1991: 0xB626, - 1992: 0xB627, - 1993: 0xB628, - 1994: 0xB629, - 1995: 0xB62A, - 1996: 0xB62B, - 1997: 0xB62D, - 1998: 0xB62E, - 1999: 0xB62F, - 2000: 0xB630, - 2001: 0xB631, - 2002: 0xB632, - 2003: 0xB633, - 2004: 0xB635, - 2005: 0xB636, - 2006: 0xB637, - 2007: 0xB638, - 2008: 0xB639, - 2009: 0xB63A, - 2010: 0xB63B, - 2011: 0xB63C, - 2012: 0xB63D, - 2013: 0xB63E, - 2014: 0xB63F, - 2015: 0xB640, - 2016: 0xB641, - 2017: 0xB642, - 2018: 0xB643, - 2019: 0xB644, - 2020: 0xB645, - 2021: 0xB646, - 2022: 0xB647, - 2023: 0xB649, - 2024: 0xB64A, - 2025: 0xB64B, - 2026: 0xB64C, - 2027: 0xB64D, - 2028: 0xB64E, - 2029: 0xB64F, - 2030: 0xB650, - 2031: 0xB651, - 2032: 0xB652, - 2033: 0xB653, - 2034: 0xB654, - 2035: 0xB655, - 2036: 0xB656, - 2037: 0xB657, - 2038: 0xB658, - 2039: 0xB659, - 2040: 0xB65A, - 2041: 0xB65B, - 2042: 0xB65C, - 2043: 0xB65D, - 2044: 0xB65E, - 2045: 0xB65F, - 2046: 0xB660, - 2047: 0xB661, - 2048: 0xB662, - 2049: 0xB663, - 2050: 0xB665, - 2051: 0xB666, - 2052: 0xB667, - 2053: 0xB669, - 2054: 0xB66A, - 2055: 0xB66B, - 2056: 0xB66C, - 2057: 0xB66D, - 2058: 0xB66E, - 2059: 0xB66F, - 2060: 0xB670, - 2061: 0xB671, - 2062: 0xB672, - 2063: 0xB673, - 2064: 0xB674, - 2065: 0xB675, - 2066: 0xB676, - 2067: 0xB677, - 2068: 0xB678, - 2069: 0xB679, - 2070: 0xB67A, - 2071: 0xB67B, - 2072: 0xB67C, - 2073: 0xB67D, - 2074: 0xB67E, - 2075: 0xB67F, - 2076: 0xB680, - 2077: 0xB681, - 2078: 0xB682, - 2079: 0xB683, - 2080: 0xB684, - 2081: 0xB685, - 2082: 0xB686, - 2083: 0xB687, - 2084: 0xB688, - 2085: 0xB689, - 2086: 0xB68A, - 2087: 0xB68B, - 2088: 0xB68C, - 2089: 0xB68D, - 2090: 0xB68E, - 2091: 0xB68F, - 2092: 0xB690, - 2093: 0xB691, - 2094: 0xB692, - 2095: 0xB693, - 2096: 0xB694, - 2097: 0xB695, - 2098: 0xB696, - 2099: 0xB697, - 2100: 0xB698, - 2101: 0xB699, - 2102: 0xB69A, - 2103: 0xB69B, - 2104: 0xB69E, - 2105: 0xB69F, - 2106: 0xB6A1, - 2107: 0xB6A2, - 2108: 0xB6A3, - 2109: 0xB6A5, - 2110: 0xB6A6, - 2111: 0xB6A7, - 2112: 0xB6A8, - 2113: 0xB6A9, - 2114: 0xB6AA, - 2115: 0xB6AD, - 2116: 0xB6AE, - 2117: 0xB6AF, - 2118: 0xB6B0, - 2119: 0xB6B2, - 2120: 0xB6B3, - 2121: 0xB6B4, - 2122: 0xB6B5, - 2123: 0xB6B6, - 2124: 0xB6B7, - 2125: 0xB6B8, - 2126: 0xB6B9, - 2127: 0xB6BA, - 2128: 0xB6BB, - 2129: 0xB6BC, - 2130: 0xB6BD, - 2131: 0xB6BE, - 2132: 0xB6BF, - 2133: 0xB6C0, - 2134: 0xB6C1, - 2135: 0xB6C2, - 2136: 0xB6C3, - 2137: 0xB6C4, - 2138: 0xB6C5, - 2139: 0xB6C6, - 2140: 0xB6C7, - 2141: 0xB6C8, - 2142: 0xB6C9, - 2143: 0xB6CA, - 2144: 0xB6CB, - 2145: 0xB6CC, - 2146: 0xB6CD, - 2147: 0xB6CE, - 2148: 0xB6CF, - 2149: 0xB6D0, - 2150: 0xB6D1, - 2151: 0xB6D2, - 2152: 0xB6D3, - 2153: 0xB6D5, - 2154: 0xB6D6, - 2155: 0xB6D7, - 2156: 0xB6D8, - 2157: 0xB6D9, - 2158: 0xB6DA, - 2159: 0xB6DB, - 2160: 0xB6DC, - 2161: 0xB6DD, - 2162: 0xB6DE, - 2163: 0xB6DF, - 2164: 0xB6E0, - 2165: 0xB6E1, - 2166: 0xB6E2, - 2167: 0xB6E3, - 2168: 0xB6E4, - 2169: 0xB6E5, - 2170: 0xB6E6, - 2171: 0xB6E7, - 2172: 0xB6E8, - 2173: 0xB6E9, - 2174: 0xB6EA, - 2175: 0xB6EB, - 2176: 0xB6EC, - 2177: 0xB6ED, - 2178: 0xB6EE, - 2179: 0xB6EF, - 2180: 0xB6F1, - 2181: 0xB6F2, - 2182: 0xB6F3, - 2183: 0xB6F5, - 2184: 0xB6F6, - 2185: 0xB6F7, - 2186: 0xB6F9, - 2187: 0xB6FA, - 2188: 0xB6FB, - 2189: 0xB6FC, - 2190: 0xB6FD, - 2191: 0xB6FE, - 2192: 0xB6FF, - 2193: 0xB702, - 2194: 0xB703, - 2195: 0xB704, - 2196: 0xB706, - 2197: 0xB707, - 2198: 0xB708, - 2199: 0xB709, - 2200: 0xB70A, - 2201: 0xB70B, - 2202: 0xB70C, - 2203: 0xB70D, - 2204: 0xB70E, - 2205: 0xB70F, - 2206: 0xB710, - 2207: 0xB711, - 2208: 0xB712, - 2209: 0xB713, - 2210: 0xB714, - 2211: 0xB715, - 2212: 0xB716, - 2213: 0xB717, - 2214: 0xB718, - 2215: 0xB719, - 2216: 0xB71A, - 2217: 0xB71B, - 2218: 0xB71C, - 2219: 0xB71D, - 2220: 0xB71E, - 2221: 0xB71F, - 2222: 0xB720, - 2223: 0xB721, - 2224: 0xB722, - 2225: 0xB723, - 2226: 0xB724, - 2227: 0xB725, - 2228: 0xB726, - 2229: 0xB727, - 2230: 0xB72A, - 2231: 0xB72B, - 2232: 0xB72D, - 2233: 0xB72E, - 2234: 0xB731, - 2235: 0xB732, - 2236: 0xB733, - 2237: 0xB734, - 2238: 0xB735, - 2239: 0xB736, - 2240: 0xB737, - 2241: 0xB73A, - 2242: 0xB73C, - 2243: 0xB73D, - 2244: 0xB73E, - 2245: 0xB73F, - 2246: 0xB740, - 2247: 0xB741, - 2248: 0xB742, - 2249: 0xB743, - 2250: 0xB745, - 2251: 0xB746, - 2252: 0xB747, - 2253: 0xB749, - 2254: 0xB74A, - 2255: 0xB74B, - 2256: 0xB74D, - 2257: 0xB74E, - 2258: 0xB74F, - 2259: 0xB750, - 2260: 0xB751, - 2261: 0xB752, - 2262: 0xB753, - 2263: 0xB756, - 2264: 0xB757, - 2265: 0xB758, - 2266: 0xB759, - 2267: 0xB75A, - 2268: 0xB75B, - 2269: 0xB75C, - 2270: 0xB75D, - 2271: 0xB75E, - 2272: 0xB75F, - 2273: 0xB761, - 2274: 0xB762, - 2275: 0xB763, - 2276: 0xB765, - 2277: 0xB766, - 2278: 0xB767, - 2279: 0xB769, - 2280: 0xB76A, - 2281: 0xB76B, - 2282: 0xB76C, - 2283: 0xB76D, - 2284: 0xB76E, - 2285: 0xB76F, - 2286: 0xB772, - 2287: 0xB774, - 2288: 0xB776, - 2289: 0xB777, - 2290: 0xB778, - 2291: 0xB779, - 2292: 0xB77A, - 2293: 0xB77B, - 2294: 0xB77E, - 2295: 0xB77F, - 2296: 0xB781, - 2297: 0xB782, - 2298: 0xB783, - 2299: 0xB785, - 2300: 0xB786, - 2301: 0xB787, - 2302: 0xB788, - 2303: 0xB789, - 2304: 0xB78A, - 2305: 0xB78B, - 2306: 0xB78E, - 2307: 0xB793, - 2308: 0xB794, - 2309: 0xB795, - 2310: 0xB79A, - 2311: 0xB79B, - 2312: 0xB79D, - 2313: 0xB79E, - 2314: 0xB79F, - 2315: 0xB7A1, - 2316: 0xB7A2, - 2317: 0xB7A3, - 2318: 0xB7A4, - 2319: 0xB7A5, - 2320: 0xB7A6, - 2321: 0xB7A7, - 2322: 0xB7AA, - 2323: 0xB7AE, - 2324: 0xB7AF, - 2325: 0xB7B0, - 2326: 0xB7B1, - 2327: 0xB7B2, - 2328: 0xB7B3, - 2329: 0xB7B6, - 2330: 0xB7B7, - 2331: 0xB7B9, - 2332: 0xB7BA, - 2333: 0xB7BB, - 2334: 0xB7BC, - 2335: 0xB7BD, - 2336: 0xB7BE, - 2337: 0xB7BF, - 2338: 0xB7C0, - 2339: 0xB7C1, - 2340: 0xB7C2, - 2341: 0xB7C3, - 2342: 0xB7C4, - 2343: 0xB7C5, - 2344: 0xB7C6, - 2345: 0xB7C8, - 2346: 0xB7CA, - 2347: 0xB7CB, - 2348: 0xB7CC, - 2349: 0xB7CD, - 2350: 0xB7CE, - 2351: 0xB7CF, - 2352: 0xB7D0, - 2353: 0xB7D1, - 2354: 0xB7D2, - 2355: 0xB7D3, - 2356: 0xB7D4, - 2357: 0xB7D5, - 2358: 0xB7D6, - 2359: 0xB7D7, - 2360: 0xB7D8, - 2361: 0xB7D9, - 2362: 0xB7DA, - 2363: 0xB7DB, - 2364: 0xB7DC, - 2365: 0xB7DD, - 2366: 0xB7DE, - 2367: 0xB7DF, - 2368: 0xB7E0, - 2369: 0xB7E1, - 2370: 0xB7E2, - 2371: 0xB7E3, - 2372: 0xB7E4, - 2373: 0xB7E5, - 2374: 0xB7E6, - 2375: 0xB7E7, - 2376: 0xB7E8, - 2377: 0xB7E9, - 2378: 0xB7EA, - 2379: 0xB7EB, - 2380: 0xB7EE, - 2381: 0xB7EF, - 2382: 0xB7F1, - 2383: 0xB7F2, - 2384: 0xB7F3, - 2385: 0xB7F5, - 2386: 0xB7F6, - 2387: 0xB7F7, - 2388: 0xB7F8, - 2389: 0xB7F9, - 2390: 0xB7FA, - 2391: 0xB7FB, - 2392: 0xB7FE, - 2393: 0xB802, - 2394: 0xB803, - 2395: 0xB804, - 2396: 0xB805, - 2397: 0xB806, - 2398: 0xB80A, - 2399: 0xB80B, - 2400: 0xB80D, - 2401: 0xB80E, - 2402: 0xB80F, - 2403: 0xB811, - 2404: 0xB812, - 2405: 0xB813, - 2406: 0xB814, - 2407: 0xB815, - 2408: 0xB816, - 2409: 0xB817, - 2410: 0xB81A, - 2411: 0xB81C, - 2412: 0xB81E, - 2413: 0xB81F, - 2414: 0xB820, - 2415: 0xB821, - 2416: 0xB822, - 2417: 0xB823, - 2418: 0xB826, - 2419: 0xB827, - 2420: 0xB829, - 2421: 0xB82A, - 2422: 0xB82B, - 2423: 0xB82D, - 2424: 0xB82E, - 2425: 0xB82F, - 2426: 0xB830, - 2427: 0xB831, - 2428: 0xB832, - 2429: 0xB833, - 2430: 0xB836, - 2431: 0xB83A, - 2432: 0xB83B, - 2433: 0xB83C, - 2434: 0xB83D, - 2435: 0xB83E, - 2436: 0xB83F, - 2437: 0xB841, - 2438: 0xB842, - 2439: 0xB843, - 2440: 0xB845, - 2441: 0xB846, - 2442: 0xB847, - 2443: 0xB848, - 2444: 0xB849, - 2445: 0xB84A, - 2446: 0xB84B, - 2447: 0xB84C, - 2448: 0xB84D, - 2449: 0xB84E, - 2450: 0xB84F, - 2451: 0xB850, - 2452: 0xB852, - 2453: 0xB854, - 2454: 0xB855, - 2455: 0xB856, - 2456: 0xB857, - 2457: 0xB858, - 2458: 0xB859, - 2459: 0xB85A, - 2460: 0xB85B, - 2461: 0xB85E, - 2462: 0xB85F, - 2463: 0xB861, - 2464: 0xB862, - 2465: 0xB863, - 2466: 0xB865, - 2467: 0xB866, - 2468: 0xB867, - 2469: 0xB868, - 2470: 0xB869, - 2471: 0xB86A, - 2472: 0xB86B, - 2473: 0xB86E, - 2474: 0xB870, - 2475: 0xB872, - 2476: 0xB873, - 2477: 0xB874, - 2478: 0xB875, - 2479: 0xB876, - 2480: 0xB877, - 2481: 0xB879, - 2482: 0xB87A, - 2483: 0xB87B, - 2484: 0xB87D, - 2485: 0xB87E, - 2486: 0xB87F, - 2487: 0xB880, - 2488: 0xB881, - 2489: 0xB882, - 2490: 0xB883, - 2491: 0xB884, - 2492: 0xB885, - 2493: 0xB886, - 2494: 0xB887, - 2495: 0xB888, - 2496: 0xB889, - 2497: 0xB88A, - 2498: 0xB88B, - 2499: 0xB88C, - 2500: 0xB88E, - 2501: 0xB88F, - 2502: 0xB890, - 2503: 0xB891, - 2504: 0xB892, - 2505: 0xB893, - 2506: 0xB894, - 2507: 0xB895, - 2508: 0xB896, - 2509: 0xB897, - 2510: 0xB898, - 2511: 0xB899, - 2512: 0xB89A, - 2513: 0xB89B, - 2514: 0xB89C, - 2515: 0xB89D, - 2516: 0xB89E, - 2517: 0xB89F, - 2518: 0xB8A0, - 2519: 0xB8A1, - 2520: 0xB8A2, - 2521: 0xB8A3, - 2522: 0xB8A4, - 2523: 0xB8A5, - 2524: 0xB8A6, - 2525: 0xB8A7, - 2526: 0xB8A9, - 2527: 0xB8AA, - 2528: 0xB8AB, - 2529: 0xB8AC, - 2530: 0xB8AD, - 2531: 0xB8AE, - 2532: 0xB8AF, - 2533: 0xB8B1, - 2534: 0xB8B2, - 2535: 0xB8B3, - 2536: 0xB8B5, - 2537: 0xB8B6, - 2538: 0xB8B7, - 2539: 0xB8B9, - 2540: 0xB8BA, - 2541: 0xB8BB, - 2542: 0xB8BC, - 2543: 0xB8BD, - 2544: 0xB8BE, - 2545: 0xB8BF, - 2546: 0xB8C2, - 2547: 0xB8C4, - 2548: 0xB8C6, - 2549: 0xB8C7, - 2550: 0xB8C8, - 2551: 0xB8C9, - 2552: 0xB8CA, - 2553: 0xB8CB, - 2554: 0xB8CD, - 2555: 0xB8CE, - 2556: 0xB8CF, - 2557: 0xB8D1, - 2558: 0xB8D2, - 2559: 0xB8D3, - 2560: 0xB8D5, - 2561: 0xB8D6, - 2562: 0xB8D7, - 2563: 0xB8D8, - 2564: 0xB8D9, - 2565: 0xB8DA, - 2566: 0xB8DB, - 2567: 0xB8DC, - 2568: 0xB8DE, - 2569: 0xB8E0, - 2570: 0xB8E2, - 2571: 0xB8E3, - 2572: 0xB8E4, - 2573: 0xB8E5, - 2574: 0xB8E6, - 2575: 0xB8E7, - 2576: 0xB8EA, - 2577: 0xB8EB, - 2578: 0xB8ED, - 2579: 0xB8EE, - 2580: 0xB8EF, - 2581: 0xB8F1, - 2582: 0xB8F2, - 2583: 0xB8F3, - 2584: 0xB8F4, - 2585: 0xB8F5, - 2586: 0xB8F6, - 2587: 0xB8F7, - 2588: 0xB8FA, - 2589: 0xB8FC, - 2590: 0xB8FE, - 2591: 0xB8FF, - 2592: 0xB900, - 2593: 0xB901, - 2594: 0xB902, - 2595: 0xB903, - 2596: 0xB905, - 2597: 0xB906, - 2598: 0xB907, - 2599: 0xB908, - 2600: 0xB909, - 2601: 0xB90A, - 2602: 0xB90B, - 2603: 0xB90C, - 2604: 0xB90D, - 2605: 0xB90E, - 2606: 0xB90F, - 2607: 0xB910, - 2608: 0xB911, - 2609: 0xB912, - 2610: 0xB913, - 2611: 0xB914, - 2612: 0xB915, - 2613: 0xB916, - 2614: 0xB917, - 2615: 0xB919, - 2616: 0xB91A, - 2617: 0xB91B, - 2618: 0xB91C, - 2619: 0xB91D, - 2620: 0xB91E, - 2621: 0xB91F, - 2622: 0xB921, - 2623: 0xB922, - 2624: 0xB923, - 2625: 0xB924, - 2626: 0xB925, - 2627: 0xB926, - 2628: 0xB927, - 2629: 0xB928, - 2630: 0xB929, - 2631: 0xB92A, - 2632: 0xB92B, - 2633: 0xB92C, - 2634: 0xB92D, - 2635: 0xB92E, - 2636: 0xB92F, - 2637: 0xB930, - 2638: 0xB931, - 2639: 0xB932, - 2640: 0xB933, - 2641: 0xB934, - 2642: 0xB935, - 2643: 0xB936, - 2644: 0xB937, - 2645: 0xB938, - 2646: 0xB939, - 2647: 0xB93A, - 2648: 0xB93B, - 2649: 0xB93E, - 2650: 0xB93F, - 2651: 0xB941, - 2652: 0xB942, - 2653: 0xB943, - 2654: 0xB945, - 2655: 0xB946, - 2656: 0xB947, - 2657: 0xB948, - 2658: 0xB949, - 2659: 0xB94A, - 2660: 0xB94B, - 2661: 0xB94D, - 2662: 0xB94E, - 2663: 0xB950, - 2664: 0xB952, - 2665: 0xB953, - 2666: 0xB954, - 2667: 0xB955, - 2668: 0xB956, - 2669: 0xB957, - 2670: 0xB95A, - 2671: 0xB95B, - 2672: 0xB95D, - 2673: 0xB95E, - 2674: 0xB95F, - 2675: 0xB961, - 2676: 0xB962, - 2677: 0xB963, - 2678: 0xB964, - 2679: 0xB965, - 2680: 0xB966, - 2681: 0xB967, - 2682: 0xB96A, - 2683: 0xB96C, - 2684: 0xB96E, - 2685: 0xB96F, - 2686: 0xB970, - 2687: 0xB971, - 2688: 0xB972, - 2689: 0xB973, - 2690: 0xB976, - 2691: 0xB977, - 2692: 0xB979, - 2693: 0xB97A, - 2694: 0xB97B, - 2695: 0xB97D, - 2696: 0xB97E, - 2697: 0xB97F, - 2698: 0xB980, - 2699: 0xB981, - 2700: 0xB982, - 2701: 0xB983, - 2702: 0xB986, - 2703: 0xB988, - 2704: 0xB98B, - 2705: 0xB98C, - 2706: 0xB98F, - 2707: 0xB990, - 2708: 0xB991, - 2709: 0xB992, - 2710: 0xB993, - 2711: 0xB994, - 2712: 0xB995, - 2713: 0xB996, - 2714: 0xB997, - 2715: 0xB998, - 2716: 0xB999, - 2717: 0xB99A, - 2718: 0xB99B, - 2719: 0xB99C, - 2720: 0xB99D, - 2721: 0xB99E, - 2722: 0xB99F, - 2723: 0xB9A0, - 2724: 0xB9A1, - 2725: 0xB9A2, - 2726: 0xB9A3, - 2727: 0xB9A4, - 2728: 0xB9A5, - 2729: 0xB9A6, - 2730: 0xB9A7, - 2731: 0xB9A8, - 2732: 0xB9A9, - 2733: 0xB9AA, - 2734: 0xB9AB, - 2735: 0xB9AE, - 2736: 0xB9AF, - 2737: 0xB9B1, - 2738: 0xB9B2, - 2739: 0xB9B3, - 2740: 0xB9B5, - 2741: 0xB9B6, - 2742: 0xB9B7, - 2743: 0xB9B8, - 2744: 0xB9B9, - 2745: 0xB9BA, - 2746: 0xB9BB, - 2747: 0xB9BE, - 2748: 0xB9C0, - 2749: 0xB9C2, - 2750: 0xB9C3, - 2751: 0xB9C4, - 2752: 0xB9C5, - 2753: 0xB9C6, - 2754: 0xB9C7, - 2755: 0xB9CA, - 2756: 0xB9CB, - 2757: 0xB9CD, - 2758: 0xB9D3, - 2759: 0xB9D4, - 2760: 0xB9D5, - 2761: 0xB9D6, - 2762: 0xB9D7, - 2763: 0xB9DA, - 2764: 0xB9DC, - 2765: 0xB9DF, - 2766: 0xB9E0, - 2767: 0xB9E2, - 2768: 0xB9E6, - 2769: 0xB9E7, - 2770: 0xB9E9, - 2771: 0xB9EA, - 2772: 0xB9EB, - 2773: 0xB9ED, - 2774: 0xB9EE, - 2775: 0xB9EF, - 2776: 0xB9F0, - 2777: 0xB9F1, - 2778: 0xB9F2, - 2779: 0xB9F3, - 2780: 0xB9F6, - 2781: 0xB9FB, - 2782: 0xB9FC, - 2783: 0xB9FD, - 2784: 0xB9FE, - 2785: 0xB9FF, - 2786: 0xBA02, - 2787: 0xBA03, - 2788: 0xBA04, - 2789: 0xBA05, - 2790: 0xBA06, - 2791: 0xBA07, - 2792: 0xBA09, - 2793: 0xBA0A, - 2794: 0xBA0B, - 2795: 0xBA0C, - 2796: 0xBA0D, - 2797: 0xBA0E, - 2798: 0xBA0F, - 2799: 0xBA10, - 2800: 0xBA11, - 2801: 0xBA12, - 2802: 0xBA13, - 2803: 0xBA14, - 2804: 0xBA16, - 2805: 0xBA17, - 2806: 0xBA18, - 2807: 0xBA19, - 2808: 0xBA1A, - 2809: 0xBA1B, - 2810: 0xBA1C, - 2811: 0xBA1D, - 2812: 0xBA1E, - 2813: 0xBA1F, - 2814: 0xBA20, - 2815: 0xBA21, - 2816: 0xBA22, - 2817: 0xBA23, - 2818: 0xBA24, - 2819: 0xBA25, - 2820: 0xBA26, - 2821: 0xBA27, - 2822: 0xBA28, - 2823: 0xBA29, - 2824: 0xBA2A, - 2825: 0xBA2B, - 2826: 0xBA2C, - 2827: 0xBA2D, - 2828: 0xBA2E, - 2829: 0xBA2F, - 2830: 0xBA30, - 2831: 0xBA31, - 2832: 0xBA32, - 2833: 0xBA33, - 2834: 0xBA34, - 2835: 0xBA35, - 2836: 0xBA36, - 2837: 0xBA37, - 2838: 0xBA3A, - 2839: 0xBA3B, - 2840: 0xBA3D, - 2841: 0xBA3E, - 2842: 0xBA3F, - 2843: 0xBA41, - 2844: 0xBA43, - 2845: 0xBA44, - 2846: 0xBA45, - 2847: 0xBA46, - 2848: 0xBA47, - 2849: 0xBA4A, - 2850: 0xBA4C, - 2851: 0xBA4F, - 2852: 0xBA50, - 2853: 0xBA51, - 2854: 0xBA52, - 2855: 0xBA56, - 2856: 0xBA57, - 2857: 0xBA59, - 2858: 0xBA5A, - 2859: 0xBA5B, - 2860: 0xBA5D, - 2861: 0xBA5E, - 2862: 0xBA5F, - 2863: 0xBA60, - 2864: 0xBA61, - 2865: 0xBA62, - 2866: 0xBA63, - 2867: 0xBA66, - 2868: 0xBA6A, - 2869: 0xBA6B, - 2870: 0xBA6C, - 2871: 0xBA6D, - 2872: 0xBA6E, - 2873: 0xBA6F, - 2874: 0xBA72, - 2875: 0xBA73, - 2876: 0xBA75, - 2877: 0xBA76, - 2878: 0xBA77, - 2879: 0xBA79, - 2880: 0xBA7A, - 2881: 0xBA7B, - 2882: 0xBA7C, - 2883: 0xBA7D, - 2884: 0xBA7E, - 2885: 0xBA7F, - 2886: 0xBA80, - 2887: 0xBA81, - 2888: 0xBA82, - 2889: 0xBA86, - 2890: 0xBA88, - 2891: 0xBA89, - 2892: 0xBA8A, - 2893: 0xBA8B, - 2894: 0xBA8D, - 2895: 0xBA8E, - 2896: 0xBA8F, - 2897: 0xBA90, - 2898: 0xBA91, - 2899: 0xBA92, - 2900: 0xBA93, - 2901: 0xBA94, - 2902: 0xBA95, - 2903: 0xBA96, - 2904: 0xBA97, - 2905: 0xBA98, - 2906: 0xBA99, - 2907: 0xBA9A, - 2908: 0xBA9B, - 2909: 0xBA9C, - 2910: 0xBA9D, - 2911: 0xBA9E, - 2912: 0xBA9F, - 2913: 0xBAA0, - 2914: 0xBAA1, - 2915: 0xBAA2, - 2916: 0xBAA3, - 2917: 0xBAA4, - 2918: 0xBAA5, - 2919: 0xBAA6, - 2920: 0xBAA7, - 2921: 0xBAAA, - 2922: 0xBAAD, - 2923: 0xBAAE, - 2924: 0xBAAF, - 2925: 0xBAB1, - 2926: 0xBAB3, - 2927: 0xBAB4, - 2928: 0xBAB5, - 2929: 0xBAB6, - 2930: 0xBAB7, - 2931: 0xBABA, - 2932: 0xBABC, - 2933: 0xBABE, - 2934: 0xBABF, - 2935: 0xBAC0, - 2936: 0xBAC1, - 2937: 0xBAC2, - 2938: 0xBAC3, - 2939: 0xBAC5, - 2940: 0xBAC6, - 2941: 0xBAC7, - 2942: 0xBAC9, - 2943: 0xBACA, - 2944: 0xBACB, - 2945: 0xBACC, - 2946: 0xBACD, - 2947: 0xBACE, - 2948: 0xBACF, - 2949: 0xBAD0, - 2950: 0xBAD1, - 2951: 0xBAD2, - 2952: 0xBAD3, - 2953: 0xBAD4, - 2954: 0xBAD5, - 2955: 0xBAD6, - 2956: 0xBAD7, - 2957: 0xBADA, - 2958: 0xBADB, - 2959: 0xBADC, - 2960: 0xBADD, - 2961: 0xBADE, - 2962: 0xBADF, - 2963: 0xBAE0, - 2964: 0xBAE1, - 2965: 0xBAE2, - 2966: 0xBAE3, - 2967: 0xBAE4, - 2968: 0xBAE5, - 2969: 0xBAE6, - 2970: 0xBAE7, - 2971: 0xBAE8, - 2972: 0xBAE9, - 2973: 0xBAEA, - 2974: 0xBAEB, - 2975: 0xBAEC, - 2976: 0xBAED, - 2977: 0xBAEE, - 2978: 0xBAEF, - 2979: 0xBAF0, - 2980: 0xBAF1, - 2981: 0xBAF2, - 2982: 0xBAF3, - 2983: 0xBAF4, - 2984: 0xBAF5, - 2985: 0xBAF6, - 2986: 0xBAF7, - 2987: 0xBAF8, - 2988: 0xBAF9, - 2989: 0xBAFA, - 2990: 0xBAFB, - 2991: 0xBAFD, - 2992: 0xBAFE, - 2993: 0xBAFF, - 2994: 0xBB01, - 2995: 0xBB02, - 2996: 0xBB03, - 2997: 0xBB05, - 2998: 0xBB06, - 2999: 0xBB07, - 3000: 0xBB08, - 3001: 0xBB09, - 3002: 0xBB0A, - 3003: 0xBB0B, - 3004: 0xBB0C, - 3005: 0xBB0E, - 3006: 0xBB10, - 3007: 0xBB12, - 3008: 0xBB13, - 3009: 0xBB14, - 3010: 0xBB15, - 3011: 0xBB16, - 3012: 0xBB17, - 3013: 0xBB19, - 3014: 0xBB1A, - 3015: 0xBB1B, - 3016: 0xBB1D, - 3017: 0xBB1E, - 3018: 0xBB1F, - 3019: 0xBB21, - 3020: 0xBB22, - 3021: 0xBB23, - 3022: 0xBB24, - 3023: 0xBB25, - 3024: 0xBB26, - 3025: 0xBB27, - 3026: 0xBB28, - 3027: 0xBB2A, - 3028: 0xBB2C, - 3029: 0xBB2D, - 3030: 0xBB2E, - 3031: 0xBB2F, - 3032: 0xBB30, - 3033: 0xBB31, - 3034: 0xBB32, - 3035: 0xBB33, - 3036: 0xBB37, - 3037: 0xBB39, - 3038: 0xBB3A, - 3039: 0xBB3F, - 3040: 0xBB40, - 3041: 0xBB41, - 3042: 0xBB42, - 3043: 0xBB43, - 3044: 0xBB46, - 3045: 0xBB48, - 3046: 0xBB4A, - 3047: 0xBB4B, - 3048: 0xBB4C, - 3049: 0xBB4E, - 3050: 0xBB51, - 3051: 0xBB52, - 3052: 0xBB53, - 3053: 0xBB55, - 3054: 0xBB56, - 3055: 0xBB57, - 3056: 0xBB59, - 3057: 0xBB5A, - 3058: 0xBB5B, - 3059: 0xBB5C, - 3060: 0xBB5D, - 3061: 0xBB5E, - 3062: 0xBB5F, - 3063: 0xBB60, - 3064: 0xBB62, - 3065: 0xBB64, - 3066: 0xBB65, - 3067: 0xBB66, - 3068: 0xBB67, - 3069: 0xBB68, - 3070: 0xBB69, - 3071: 0xBB6A, - 3072: 0xBB6B, - 3073: 0xBB6D, - 3074: 0xBB6E, - 3075: 0xBB6F, - 3076: 0xBB70, - 3077: 0xBB71, - 3078: 0xBB72, - 3079: 0xBB73, - 3080: 0xBB74, - 3081: 0xBB75, - 3082: 0xBB76, - 3083: 0xBB77, - 3084: 0xBB78, - 3085: 0xBB79, - 3086: 0xBB7A, - 3087: 0xBB7B, - 3088: 0xBB7C, - 3089: 0xBB7D, - 3090: 0xBB7E, - 3091: 0xBB7F, - 3092: 0xBB80, - 3093: 0xBB81, - 3094: 0xBB82, - 3095: 0xBB83, - 3096: 0xBB84, - 3097: 0xBB85, - 3098: 0xBB86, - 3099: 0xBB87, - 3100: 0xBB89, - 3101: 0xBB8A, - 3102: 0xBB8B, - 3103: 0xBB8D, - 3104: 0xBB8E, - 3105: 0xBB8F, - 3106: 0xBB91, - 3107: 0xBB92, - 3108: 0xBB93, - 3109: 0xBB94, - 3110: 0xBB95, - 3111: 0xBB96, - 3112: 0xBB97, - 3113: 0xBB98, - 3114: 0xBB99, - 3115: 0xBB9A, - 3116: 0xBB9B, - 3117: 0xBB9C, - 3118: 0xBB9D, - 3119: 0xBB9E, - 3120: 0xBB9F, - 3121: 0xBBA0, - 3122: 0xBBA1, - 3123: 0xBBA2, - 3124: 0xBBA3, - 3125: 0xBBA5, - 3126: 0xBBA6, - 3127: 0xBBA7, - 3128: 0xBBA9, - 3129: 0xBBAA, - 3130: 0xBBAB, - 3131: 0xBBAD, - 3132: 0xBBAE, - 3133: 0xBBAF, - 3134: 0xBBB0, - 3135: 0xBBB1, - 3136: 0xBBB2, - 3137: 0xBBB3, - 3138: 0xBBB5, - 3139: 0xBBB6, - 3140: 0xBBB8, - 3141: 0xBBB9, - 3142: 0xBBBA, - 3143: 0xBBBB, - 3144: 0xBBBC, - 3145: 0xBBBD, - 3146: 0xBBBE, - 3147: 0xBBBF, - 3148: 0xBBC1, - 3149: 0xBBC2, - 3150: 0xBBC3, - 3151: 0xBBC5, - 3152: 0xBBC6, - 3153: 0xBBC7, - 3154: 0xBBC9, - 3155: 0xBBCA, - 3156: 0xBBCB, - 3157: 0xBBCC, - 3158: 0xBBCD, - 3159: 0xBBCE, - 3160: 0xBBCF, - 3161: 0xBBD1, - 3162: 0xBBD2, - 3163: 0xBBD4, - 3164: 0xBBD5, - 3165: 0xBBD6, - 3166: 0xBBD7, - 3167: 0xBBD8, - 3168: 0xBBD9, - 3169: 0xBBDA, - 3170: 0xBBDB, - 3171: 0xBBDC, - 3172: 0xBBDD, - 3173: 0xBBDE, - 3174: 0xBBDF, - 3175: 0xBBE0, - 3176: 0xBBE1, - 3177: 0xBBE2, - 3178: 0xBBE3, - 3179: 0xBBE4, - 3180: 0xBBE5, - 3181: 0xBBE6, - 3182: 0xBBE7, - 3183: 0xBBE8, - 3184: 0xBBE9, - 3185: 0xBBEA, - 3186: 0xBBEB, - 3187: 0xBBEC, - 3188: 0xBBED, - 3189: 0xBBEE, - 3190: 0xBBEF, - 3191: 0xBBF0, - 3192: 0xBBF1, - 3193: 0xBBF2, - 3194: 0xBBF3, - 3195: 0xBBF4, - 3196: 0xBBF5, - 3197: 0xBBF6, - 3198: 0xBBF7, - 3199: 0xBBFA, - 3200: 0xBBFB, - 3201: 0xBBFD, - 3202: 0xBBFE, - 3203: 0xBC01, - 3204: 0xBC03, - 3205: 0xBC04, - 3206: 0xBC05, - 3207: 0xBC06, - 3208: 0xBC07, - 3209: 0xBC0A, - 3210: 0xBC0E, - 3211: 0xBC10, - 3212: 0xBC12, - 3213: 0xBC13, - 3214: 0xBC19, - 3215: 0xBC1A, - 3216: 0xBC20, - 3217: 0xBC21, - 3218: 0xBC22, - 3219: 0xBC23, - 3220: 0xBC26, - 3221: 0xBC28, - 3222: 0xBC2A, - 3223: 0xBC2B, - 3224: 0xBC2C, - 3225: 0xBC2E, - 3226: 0xBC2F, - 3227: 0xBC32, - 3228: 0xBC33, - 3229: 0xBC35, - 3230: 0xBC36, - 3231: 0xBC37, - 3232: 0xBC39, - 3233: 0xBC3A, - 3234: 0xBC3B, - 3235: 0xBC3C, - 3236: 0xBC3D, - 3237: 0xBC3E, - 3238: 0xBC3F, - 3239: 0xBC42, - 3240: 0xBC46, - 3241: 0xBC47, - 3242: 0xBC48, - 3243: 0xBC4A, - 3244: 0xBC4B, - 3245: 0xBC4E, - 3246: 0xBC4F, - 3247: 0xBC51, - 3248: 0xBC52, - 3249: 0xBC53, - 3250: 0xBC54, - 3251: 0xBC55, - 3252: 0xBC56, - 3253: 0xBC57, - 3254: 0xBC58, - 3255: 0xBC59, - 3256: 0xBC5A, - 3257: 0xBC5B, - 3258: 0xBC5C, - 3259: 0xBC5E, - 3260: 0xBC5F, - 3261: 0xBC60, - 3262: 0xBC61, - 3263: 0xBC62, - 3264: 0xBC63, - 3265: 0xBC64, - 3266: 0xBC65, - 3267: 0xBC66, - 3268: 0xBC67, - 3269: 0xBC68, - 3270: 0xBC69, - 3271: 0xBC6A, - 3272: 0xBC6B, - 3273: 0xBC6C, - 3274: 0xBC6D, - 3275: 0xBC6E, - 3276: 0xBC6F, - 3277: 0xBC70, - 3278: 0xBC71, - 3279: 0xBC72, - 3280: 0xBC73, - 3281: 0xBC74, - 3282: 0xBC75, - 3283: 0xBC76, - 3284: 0xBC77, - 3285: 0xBC78, - 3286: 0xBC79, - 3287: 0xBC7A, - 3288: 0xBC7B, - 3289: 0xBC7C, - 3290: 0xBC7D, - 3291: 0xBC7E, - 3292: 0xBC7F, - 3293: 0xBC80, - 3294: 0xBC81, - 3295: 0xBC82, - 3296: 0xBC83, - 3297: 0xBC86, - 3298: 0xBC87, - 3299: 0xBC89, - 3300: 0xBC8A, - 3301: 0xBC8D, - 3302: 0xBC8F, - 3303: 0xBC90, - 3304: 0xBC91, - 3305: 0xBC92, - 3306: 0xBC93, - 3307: 0xBC96, - 3308: 0xBC98, - 3309: 0xBC9B, - 3310: 0xBC9C, - 3311: 0xBC9D, - 3312: 0xBC9E, - 3313: 0xBC9F, - 3314: 0xBCA2, - 3315: 0xBCA3, - 3316: 0xBCA5, - 3317: 0xBCA6, - 3318: 0xBCA9, - 3319: 0xBCAA, - 3320: 0xBCAB, - 3321: 0xBCAC, - 3322: 0xBCAD, - 3323: 0xBCAE, - 3324: 0xBCAF, - 3325: 0xBCB2, - 3326: 0xBCB6, - 3327: 0xBCB7, - 3328: 0xBCB8, - 3329: 0xBCB9, - 3330: 0xBCBA, - 3331: 0xBCBB, - 3332: 0xBCBE, - 3333: 0xBCBF, - 3334: 0xBCC1, - 3335: 0xBCC2, - 3336: 0xBCC3, - 3337: 0xBCC5, - 3338: 0xBCC6, - 3339: 0xBCC7, - 3340: 0xBCC8, - 3341: 0xBCC9, - 3342: 0xBCCA, - 3343: 0xBCCB, - 3344: 0xBCCC, - 3345: 0xBCCE, - 3346: 0xBCD2, - 3347: 0xBCD3, - 3348: 0xBCD4, - 3349: 0xBCD6, - 3350: 0xBCD7, - 3351: 0xBCD9, - 3352: 0xBCDA, - 3353: 0xBCDB, - 3354: 0xBCDD, - 3355: 0xBCDE, - 3356: 0xBCDF, - 3357: 0xBCE0, - 3358: 0xBCE1, - 3359: 0xBCE2, - 3360: 0xBCE3, - 3361: 0xBCE4, - 3362: 0xBCE5, - 3363: 0xBCE6, - 3364: 0xBCE7, - 3365: 0xBCE8, - 3366: 0xBCE9, - 3367: 0xBCEA, - 3368: 0xBCEB, - 3369: 0xBCEC, - 3370: 0xBCED, - 3371: 0xBCEE, - 3372: 0xBCEF, - 3373: 0xBCF0, - 3374: 0xBCF1, - 3375: 0xBCF2, - 3376: 0xBCF3, - 3377: 0xBCF7, - 3378: 0xBCF9, - 3379: 0xBCFA, - 3380: 0xBCFB, - 3381: 0xBCFD, - 3382: 0xBCFE, - 3383: 0xBCFF, - 3384: 0xBD00, - 3385: 0xBD01, - 3386: 0xBD02, - 3387: 0xBD03, - 3388: 0xBD06, - 3389: 0xBD08, - 3390: 0xBD0A, - 3391: 0xBD0B, - 3392: 0xBD0C, - 3393: 0xBD0D, - 3394: 0xBD0E, - 3395: 0xBD0F, - 3396: 0xBD11, - 3397: 0xBD12, - 3398: 0xBD13, - 3399: 0xBD15, - 3400: 0xBD16, - 3401: 0xBD17, - 3402: 0xBD18, - 3403: 0xBD19, - 3404: 0xBD1A, - 3405: 0xBD1B, - 3406: 0xBD1C, - 3407: 0xBD1D, - 3408: 0xBD1E, - 3409: 0xBD1F, - 3410: 0xBD20, - 3411: 0xBD21, - 3412: 0xBD22, - 3413: 0xBD23, - 3414: 0xBD25, - 3415: 0xBD26, - 3416: 0xBD27, - 3417: 0xBD28, - 3418: 0xBD29, - 3419: 0xBD2A, - 3420: 0xBD2B, - 3421: 0xBD2D, - 3422: 0xBD2E, - 3423: 0xBD2F, - 3424: 0xBD30, - 3425: 0xBD31, - 3426: 0xBD32, - 3427: 0xBD33, - 3428: 0xBD34, - 3429: 0xBD35, - 3430: 0xBD36, - 3431: 0xBD37, - 3432: 0xBD38, - 3433: 0xBD39, - 3434: 0xBD3A, - 3435: 0xBD3B, - 3436: 0xBD3C, - 3437: 0xBD3D, - 3438: 0xBD3E, - 3439: 0xBD3F, - 3440: 0xBD41, - 3441: 0xBD42, - 3442: 0xBD43, - 3443: 0xBD44, - 3444: 0xBD45, - 3445: 0xBD46, - 3446: 0xBD47, - 3447: 0xBD4A, - 3448: 0xBD4B, - 3449: 0xBD4D, - 3450: 0xBD4E, - 3451: 0xBD4F, - 3452: 0xBD51, - 3453: 0xBD52, - 3454: 0xBD53, - 3455: 0xBD54, - 3456: 0xBD55, - 3457: 0xBD56, - 3458: 0xBD57, - 3459: 0xBD5A, - 3460: 0xBD5B, - 3461: 0xBD5C, - 3462: 0xBD5D, - 3463: 0xBD5E, - 3464: 0xBD5F, - 3465: 0xBD60, - 3466: 0xBD61, - 3467: 0xBD62, - 3468: 0xBD63, - 3469: 0xBD65, - 3470: 0xBD66, - 3471: 0xBD67, - 3472: 0xBD69, - 3473: 0xBD6A, - 3474: 0xBD6B, - 3475: 0xBD6C, - 3476: 0xBD6D, - 3477: 0xBD6E, - 3478: 0xBD6F, - 3479: 0xBD70, - 3480: 0xBD71, - 3481: 0xBD72, - 3482: 0xBD73, - 3483: 0xBD74, - 3484: 0xBD75, - 3485: 0xBD76, - 3486: 0xBD77, - 3487: 0xBD78, - 3488: 0xBD79, - 3489: 0xBD7A, - 3490: 0xBD7B, - 3491: 0xBD7C, - 3492: 0xBD7D, - 3493: 0xBD7E, - 3494: 0xBD7F, - 3495: 0xBD82, - 3496: 0xBD83, - 3497: 0xBD85, - 3498: 0xBD86, - 3499: 0xBD8B, - 3500: 0xBD8C, - 3501: 0xBD8D, - 3502: 0xBD8E, - 3503: 0xBD8F, - 3504: 0xBD92, - 3505: 0xBD94, - 3506: 0xBD96, - 3507: 0xBD97, - 3508: 0xBD98, - 3509: 0xBD9B, - 3510: 0xBD9D, - 3511: 0xBD9E, - 3512: 0xBD9F, - 3513: 0xBDA0, - 3514: 0xBDA1, - 3515: 0xBDA2, - 3516: 0xBDA3, - 3517: 0xBDA5, - 3518: 0xBDA6, - 3519: 0xBDA7, - 3520: 0xBDA8, - 3521: 0xBDA9, - 3522: 0xBDAA, - 3523: 0xBDAB, - 3524: 0xBDAC, - 3525: 0xBDAD, - 3526: 0xBDAE, - 3527: 0xBDAF, - 3528: 0xBDB1, - 3529: 0xBDB2, - 3530: 0xBDB3, - 3531: 0xBDB4, - 3532: 0xBDB5, - 3533: 0xBDB6, - 3534: 0xBDB7, - 3535: 0xBDB9, - 3536: 0xBDBA, - 3537: 0xBDBB, - 3538: 0xBDBC, - 3539: 0xBDBD, - 3540: 0xBDBE, - 3541: 0xBDBF, - 3542: 0xBDC0, - 3543: 0xBDC1, - 3544: 0xBDC2, - 3545: 0xBDC3, - 3546: 0xBDC4, - 3547: 0xBDC5, - 3548: 0xBDC6, - 3549: 0xBDC7, - 3550: 0xBDC8, - 3551: 0xBDC9, - 3552: 0xBDCA, - 3553: 0xBDCB, - 3554: 0xBDCC, - 3555: 0xBDCD, - 3556: 0xBDCE, - 3557: 0xBDCF, - 3558: 0xBDD0, - 3559: 0xBDD1, - 3560: 0xBDD2, - 3561: 0xBDD3, - 3562: 0xBDD6, - 3563: 0xBDD7, - 3564: 0xBDD9, - 3565: 0xBDDA, - 3566: 0xBDDB, - 3567: 0xBDDD, - 3568: 0xBDDE, - 3569: 0xBDDF, - 3570: 0xBDE0, - 3571: 0xBDE1, - 3572: 0xBDE2, - 3573: 0xBDE3, - 3574: 0xBDE4, - 3575: 0xBDE5, - 3576: 0xBDE6, - 3577: 0xBDE7, - 3578: 0xBDE8, - 3579: 0xBDEA, - 3580: 0xBDEB, - 3581: 0xBDEC, - 3582: 0xBDED, - 3583: 0xBDEE, - 3584: 0xBDEF, - 3585: 0xBDF1, - 3586: 0xBDF2, - 3587: 0xBDF3, - 3588: 0xBDF5, - 3589: 0xBDF6, - 3590: 0xBDF7, - 3591: 0xBDF9, - 3592: 0xBDFA, - 3593: 0xBDFB, - 3594: 0xBDFC, - 3595: 0xBDFD, - 3596: 0xBDFE, - 3597: 0xBDFF, - 3598: 0xBE01, - 3599: 0xBE02, - 3600: 0xBE04, - 3601: 0xBE06, - 3602: 0xBE07, - 3603: 0xBE08, - 3604: 0xBE09, - 3605: 0xBE0A, - 3606: 0xBE0B, - 3607: 0xBE0E, - 3608: 0xBE0F, - 3609: 0xBE11, - 3610: 0xBE12, - 3611: 0xBE13, - 3612: 0xBE15, - 3613: 0xBE16, - 3614: 0xBE17, - 3615: 0xBE18, - 3616: 0xBE19, - 3617: 0xBE1A, - 3618: 0xBE1B, - 3619: 0xBE1E, - 3620: 0xBE20, - 3621: 0xBE21, - 3622: 0xBE22, - 3623: 0xBE23, - 3624: 0xBE24, - 3625: 0xBE25, - 3626: 0xBE26, - 3627: 0xBE27, - 3628: 0xBE28, - 3629: 0xBE29, - 3630: 0xBE2A, - 3631: 0xBE2B, - 3632: 0xBE2C, - 3633: 0xBE2D, - 3634: 0xBE2E, - 3635: 0xBE2F, - 3636: 0xBE30, - 3637: 0xBE31, - 3638: 0xBE32, - 3639: 0xBE33, - 3640: 0xBE34, - 3641: 0xBE35, - 3642: 0xBE36, - 3643: 0xBE37, - 3644: 0xBE38, - 3645: 0xBE39, - 3646: 0xBE3A, - 3647: 0xBE3B, - 3648: 0xBE3C, - 3649: 0xBE3D, - 3650: 0xBE3E, - 3651: 0xBE3F, - 3652: 0xBE40, - 3653: 0xBE41, - 3654: 0xBE42, - 3655: 0xBE43, - 3656: 0xBE46, - 3657: 0xBE47, - 3658: 0xBE49, - 3659: 0xBE4A, - 3660: 0xBE4B, - 3661: 0xBE4D, - 3662: 0xBE4F, - 3663: 0xBE50, - 3664: 0xBE51, - 3665: 0xBE52, - 3666: 0xBE53, - 3667: 0xBE56, - 3668: 0xBE58, - 3669: 0xBE5C, - 3670: 0xBE5D, - 3671: 0xBE5E, - 3672: 0xBE5F, - 3673: 0xBE62, - 3674: 0xBE63, - 3675: 0xBE65, - 3676: 0xBE66, - 3677: 0xBE67, - 3678: 0xBE69, - 3679: 0xBE6B, - 3680: 0xBE6C, - 3681: 0xBE6D, - 3682: 0xBE6E, - 3683: 0xBE6F, - 3684: 0xBE72, - 3685: 0xBE76, - 3686: 0xBE77, - 3687: 0xBE78, - 3688: 0xBE79, - 3689: 0xBE7A, - 3690: 0xBE7E, - 3691: 0xBE7F, - 3692: 0xBE81, - 3693: 0xBE82, - 3694: 0xBE83, - 3695: 0xBE85, - 3696: 0xBE86, - 3697: 0xBE87, - 3698: 0xBE88, - 3699: 0xBE89, - 3700: 0xBE8A, - 3701: 0xBE8B, - 3702: 0xBE8E, - 3703: 0xBE92, - 3704: 0xBE93, - 3705: 0xBE94, - 3706: 0xBE95, - 3707: 0xBE96, - 3708: 0xBE97, - 3709: 0xBE9A, - 3710: 0xBE9B, - 3711: 0xBE9C, - 3712: 0xBE9D, - 3713: 0xBE9E, - 3714: 0xBE9F, - 3715: 0xBEA0, - 3716: 0xBEA1, - 3717: 0xBEA2, - 3718: 0xBEA3, - 3719: 0xBEA4, - 3720: 0xBEA5, - 3721: 0xBEA6, - 3722: 0xBEA7, - 3723: 0xBEA9, - 3724: 0xBEAA, - 3725: 0xBEAB, - 3726: 0xBEAC, - 3727: 0xBEAD, - 3728: 0xBEAE, - 3729: 0xBEAF, - 3730: 0xBEB0, - 3731: 0xBEB1, - 3732: 0xBEB2, - 3733: 0xBEB3, - 3734: 0xBEB4, - 3735: 0xBEB5, - 3736: 0xBEB6, - 3737: 0xBEB7, - 3738: 0xBEB8, - 3739: 0xBEB9, - 3740: 0xBEBA, - 3741: 0xBEBB, - 3742: 0xBEBC, - 3743: 0xBEBD, - 3744: 0xBEBE, - 3745: 0xBEBF, - 3746: 0xBEC0, - 3747: 0xBEC1, - 3748: 0xBEC2, - 3749: 0xBEC3, - 3750: 0xBEC4, - 3751: 0xBEC5, - 3752: 0xBEC6, - 3753: 0xBEC7, - 3754: 0xBEC8, - 3755: 0xBEC9, - 3756: 0xBECA, - 3757: 0xBECB, - 3758: 0xBECC, - 3759: 0xBECD, - 3760: 0xBECE, - 3761: 0xBECF, - 3762: 0xBED2, - 3763: 0xBED3, - 3764: 0xBED5, - 3765: 0xBED6, - 3766: 0xBED9, - 3767: 0xBEDA, - 3768: 0xBEDB, - 3769: 0xBEDC, - 3770: 0xBEDD, - 3771: 0xBEDE, - 3772: 0xBEDF, - 3773: 0xBEE1, - 3774: 0xBEE2, - 3775: 0xBEE6, - 3776: 0xBEE7, - 3777: 0xBEE8, - 3778: 0xBEE9, - 3779: 0xBEEA, - 3780: 0xBEEB, - 3781: 0xBEED, - 3782: 0xBEEE, - 3783: 0xBEEF, - 3784: 0xBEF0, - 3785: 0xBEF1, - 3786: 0xBEF2, - 3787: 0xBEF3, - 3788: 0xBEF4, - 3789: 0xBEF5, - 3790: 0xBEF6, - 3791: 0xBEF7, - 3792: 0xBEF8, - 3793: 0xBEF9, - 3794: 0xBEFA, - 3795: 0xBEFB, - 3796: 0xBEFC, - 3797: 0xBEFD, - 3798: 0xBEFE, - 3799: 0xBEFF, - 3800: 0xBF00, - 3801: 0xBF02, - 3802: 0xBF03, - 3803: 0xBF04, - 3804: 0xBF05, - 3805: 0xBF06, - 3806: 0xBF07, - 3807: 0xBF0A, - 3808: 0xBF0B, - 3809: 0xBF0C, - 3810: 0xBF0D, - 3811: 0xBF0E, - 3812: 0xBF0F, - 3813: 0xBF10, - 3814: 0xBF11, - 3815: 0xBF12, - 3816: 0xBF13, - 3817: 0xBF14, - 3818: 0xBF15, - 3819: 0xBF16, - 3820: 0xBF17, - 3821: 0xBF1A, - 3822: 0xBF1E, - 3823: 0xBF1F, - 3824: 0xBF20, - 3825: 0xBF21, - 3826: 0xBF22, - 3827: 0xBF23, - 3828: 0xBF24, - 3829: 0xBF25, - 3830: 0xBF26, - 3831: 0xBF27, - 3832: 0xBF28, - 3833: 0xBF29, - 3834: 0xBF2A, - 3835: 0xBF2B, - 3836: 0xBF2C, - 3837: 0xBF2D, - 3838: 0xBF2E, - 3839: 0xBF2F, - 3840: 0xBF30, - 3841: 0xBF31, - 3842: 0xBF32, - 3843: 0xBF33, - 3844: 0xBF34, - 3845: 0xBF35, - 3846: 0xBF36, - 3847: 0xBF37, - 3848: 0xBF38, - 3849: 0xBF39, - 3850: 0xBF3A, - 3851: 0xBF3B, - 3852: 0xBF3C, - 3853: 0xBF3D, - 3854: 0xBF3E, - 3855: 0xBF3F, - 3856: 0xBF42, - 3857: 0xBF43, - 3858: 0xBF45, - 3859: 0xBF46, - 3860: 0xBF47, - 3861: 0xBF49, - 3862: 0xBF4A, - 3863: 0xBF4B, - 3864: 0xBF4C, - 3865: 0xBF4D, - 3866: 0xBF4E, - 3867: 0xBF4F, - 3868: 0xBF52, - 3869: 0xBF53, - 3870: 0xBF54, - 3871: 0xBF56, - 3872: 0xBF57, - 3873: 0xBF58, - 3874: 0xBF59, - 3875: 0xBF5A, - 3876: 0xBF5B, - 3877: 0xBF5C, - 3878: 0xBF5D, - 3879: 0xBF5E, - 3880: 0xBF5F, - 3881: 0xBF60, - 3882: 0xBF61, - 3883: 0xBF62, - 3884: 0xBF63, - 3885: 0xBF64, - 3886: 0xBF65, - 3887: 0xBF66, - 3888: 0xBF67, - 3889: 0xBF68, - 3890: 0xBF69, - 3891: 0xBF6A, - 3892: 0xBF6B, - 3893: 0xBF6C, - 3894: 0xBF6D, - 3895: 0xBF6E, - 3896: 0xBF6F, - 3897: 0xBF70, - 3898: 0xBF71, - 3899: 0xBF72, - 3900: 0xBF73, - 3901: 0xBF74, - 3902: 0xBF75, - 3903: 0xBF76, - 3904: 0xBF77, - 3905: 0xBF78, - 3906: 0xBF79, - 3907: 0xBF7A, - 3908: 0xBF7B, - 3909: 0xBF7C, - 3910: 0xBF7D, - 3911: 0xBF7E, - 3912: 0xBF7F, - 3913: 0xBF80, - 3914: 0xBF81, - 3915: 0xBF82, - 3916: 0xBF83, - 3917: 0xBF84, - 3918: 0xBF85, - 3919: 0xBF86, - 3920: 0xBF87, - 3921: 0xBF88, - 3922: 0xBF89, - 3923: 0xBF8A, - 3924: 0xBF8B, - 3925: 0xBF8C, - 3926: 0xBF8D, - 3927: 0xBF8E, - 3928: 0xBF8F, - 3929: 0xBF90, - 3930: 0xBF91, - 3931: 0xBF92, - 3932: 0xBF93, - 3933: 0xBF95, - 3934: 0xBF96, - 3935: 0xBF97, - 3936: 0xBF98, - 3937: 0xBF99, - 3938: 0xBF9A, - 3939: 0xBF9B, - 3940: 0xBF9C, - 3941: 0xBF9D, - 3942: 0xBF9E, - 3943: 0xBF9F, - 3944: 0xBFA0, - 3945: 0xBFA1, - 3946: 0xBFA2, - 3947: 0xBFA3, - 3948: 0xBFA4, - 3949: 0xBFA5, - 3950: 0xBFA6, - 3951: 0xBFA7, - 3952: 0xBFA8, - 3953: 0xBFA9, - 3954: 0xBFAA, - 3955: 0xBFAB, - 3956: 0xBFAC, - 3957: 0xBFAD, - 3958: 0xBFAE, - 3959: 0xBFAF, - 3960: 0xBFB1, - 3961: 0xBFB2, - 3962: 0xBFB3, - 3963: 0xBFB4, - 3964: 0xBFB5, - 3965: 0xBFB6, - 3966: 0xBFB7, - 3967: 0xBFB8, - 3968: 0xBFB9, - 3969: 0xBFBA, - 3970: 0xBFBB, - 3971: 0xBFBC, - 3972: 0xBFBD, - 3973: 0xBFBE, - 3974: 0xBFBF, - 3975: 0xBFC0, - 3976: 0xBFC1, - 3977: 0xBFC2, - 3978: 0xBFC3, - 3979: 0xBFC4, - 3980: 0xBFC6, - 3981: 0xBFC7, - 3982: 0xBFC8, - 3983: 0xBFC9, - 3984: 0xBFCA, - 3985: 0xBFCB, - 3986: 0xBFCE, - 3987: 0xBFCF, - 3988: 0xBFD1, - 3989: 0xBFD2, - 3990: 0xBFD3, - 3991: 0xBFD5, - 3992: 0xBFD6, - 3993: 0xBFD7, - 3994: 0xBFD8, - 3995: 0xBFD9, - 3996: 0xBFDA, - 3997: 0xBFDB, - 3998: 0xBFDD, - 3999: 0xBFDE, - 4000: 0xBFE0, - 4001: 0xBFE2, - 4002: 0xBFE3, - 4003: 0xBFE4, - 4004: 0xBFE5, - 4005: 0xBFE6, - 4006: 0xBFE7, - 4007: 0xBFE8, - 4008: 0xBFE9, - 4009: 0xBFEA, - 4010: 0xBFEB, - 4011: 0xBFEC, - 4012: 0xBFED, - 4013: 0xBFEE, - 4014: 0xBFEF, - 4015: 0xBFF0, - 4016: 0xBFF1, - 4017: 0xBFF2, - 4018: 0xBFF3, - 4019: 0xBFF4, - 4020: 0xBFF5, - 4021: 0xBFF6, - 4022: 0xBFF7, - 4023: 0xBFF8, - 4024: 0xBFF9, - 4025: 0xBFFA, - 4026: 0xBFFB, - 4027: 0xBFFC, - 4028: 0xBFFD, - 4029: 0xBFFE, - 4030: 0xBFFF, - 4031: 0xC000, - 4032: 0xC001, - 4033: 0xC002, - 4034: 0xC003, - 4035: 0xC004, - 4036: 0xC005, - 4037: 0xC006, - 4038: 0xC007, - 4039: 0xC008, - 4040: 0xC009, - 4041: 0xC00A, - 4042: 0xC00B, - 4043: 0xC00C, - 4044: 0xC00D, - 4045: 0xC00E, - 4046: 0xC00F, - 4047: 0xC010, - 4048: 0xC011, - 4049: 0xC012, - 4050: 0xC013, - 4051: 0xC014, - 4052: 0xC015, - 4053: 0xC016, - 4054: 0xC017, - 4055: 0xC018, - 4056: 0xC019, - 4057: 0xC01A, - 4058: 0xC01B, - 4059: 0xC01C, - 4060: 0xC01D, - 4061: 0xC01E, - 4062: 0xC01F, - 4063: 0xC020, - 4064: 0xC021, - 4065: 0xC022, - 4066: 0xC023, - 4067: 0xC024, - 4068: 0xC025, - 4069: 0xC026, - 4070: 0xC027, - 4071: 0xC028, - 4072: 0xC029, - 4073: 0xC02A, - 4074: 0xC02B, - 4075: 0xC02C, - 4076: 0xC02D, - 4077: 0xC02E, - 4078: 0xC02F, - 4079: 0xC030, - 4080: 0xC031, - 4081: 0xC032, - 4082: 0xC033, - 4083: 0xC034, - 4084: 0xC035, - 4085: 0xC036, - 4086: 0xC037, - 4087: 0xC038, - 4088: 0xC039, - 4089: 0xC03A, - 4090: 0xC03B, - 4091: 0xC03D, - 4092: 0xC03E, - 4093: 0xC03F, - 4094: 0xC040, - 4095: 0xC041, - 4096: 0xC042, - 4097: 0xC043, - 4098: 0xC044, - 4099: 0xC045, - 4100: 0xC046, - 4101: 0xC047, - 4102: 0xC048, - 4103: 0xC049, - 4104: 0xC04A, - 4105: 0xC04B, - 4106: 0xC04C, - 4107: 0xC04D, - 4108: 0xC04E, - 4109: 0xC04F, - 4110: 0xC050, - 4111: 0xC052, - 4112: 0xC053, - 4113: 0xC054, - 4114: 0xC055, - 4115: 0xC056, - 4116: 0xC057, - 4117: 0xC059, - 4118: 0xC05A, - 4119: 0xC05B, - 4120: 0xC05D, - 4121: 0xC05E, - 4122: 0xC05F, - 4123: 0xC061, - 4124: 0xC062, - 4125: 0xC063, - 4126: 0xC064, - 4127: 0xC065, - 4128: 0xC066, - 4129: 0xC067, - 4130: 0xC06A, - 4131: 0xC06B, - 4132: 0xC06C, - 4133: 0xC06D, - 4134: 0xC06E, - 4135: 0xC06F, - 4136: 0xC070, - 4137: 0xC071, - 4138: 0xC072, - 4139: 0xC073, - 4140: 0xC074, - 4141: 0xC075, - 4142: 0xC076, - 4143: 0xC077, - 4144: 0xC078, - 4145: 0xC079, - 4146: 0xC07A, - 4147: 0xC07B, - 4148: 0xC07C, - 4149: 0xC07D, - 4150: 0xC07E, - 4151: 0xC07F, - 4152: 0xC080, - 4153: 0xC081, - 4154: 0xC082, - 4155: 0xC083, - 4156: 0xC084, - 4157: 0xC085, - 4158: 0xC086, - 4159: 0xC087, - 4160: 0xC088, - 4161: 0xC089, - 4162: 0xC08A, - 4163: 0xC08B, - 4164: 0xC08C, - 4165: 0xC08D, - 4166: 0xC08E, - 4167: 0xC08F, - 4168: 0xC092, - 4169: 0xC093, - 4170: 0xC095, - 4171: 0xC096, - 4172: 0xC097, - 4173: 0xC099, - 4174: 0xC09A, - 4175: 0xC09B, - 4176: 0xC09C, - 4177: 0xC09D, - 4178: 0xC09E, - 4179: 0xC09F, - 4180: 0xC0A2, - 4181: 0xC0A4, - 4182: 0xC0A6, - 4183: 0xC0A7, - 4184: 0xC0A8, - 4185: 0xC0A9, - 4186: 0xC0AA, - 4187: 0xC0AB, - 4188: 0xC0AE, - 4189: 0xC0B1, - 4190: 0xC0B2, - 4191: 0xC0B7, - 4192: 0xC0B8, - 4193: 0xC0B9, - 4194: 0xC0BA, - 4195: 0xC0BB, - 4196: 0xC0BE, - 4197: 0xC0C2, - 4198: 0xC0C3, - 4199: 0xC0C4, - 4200: 0xC0C6, - 4201: 0xC0C7, - 4202: 0xC0CA, - 4203: 0xC0CB, - 4204: 0xC0CD, - 4205: 0xC0CE, - 4206: 0xC0CF, - 4207: 0xC0D1, - 4208: 0xC0D2, - 4209: 0xC0D3, - 4210: 0xC0D4, - 4211: 0xC0D5, - 4212: 0xC0D6, - 4213: 0xC0D7, - 4214: 0xC0DA, - 4215: 0xC0DE, - 4216: 0xC0DF, - 4217: 0xC0E0, - 4218: 0xC0E1, - 4219: 0xC0E2, - 4220: 0xC0E3, - 4221: 0xC0E6, - 4222: 0xC0E7, - 4223: 0xC0E9, - 4224: 0xC0EA, - 4225: 0xC0EB, - 4226: 0xC0ED, - 4227: 0xC0EE, - 4228: 0xC0EF, - 4229: 0xC0F0, - 4230: 0xC0F1, - 4231: 0xC0F2, - 4232: 0xC0F3, - 4233: 0xC0F6, - 4234: 0xC0F8, - 4235: 0xC0FA, - 4236: 0xC0FB, - 4237: 0xC0FC, - 4238: 0xC0FD, - 4239: 0xC0FE, - 4240: 0xC0FF, - 4241: 0xC101, - 4242: 0xC102, - 4243: 0xC103, - 4244: 0xC105, - 4245: 0xC106, - 4246: 0xC107, - 4247: 0xC109, - 4248: 0xC10A, - 4249: 0xC10B, - 4250: 0xC10C, - 4251: 0xC10D, - 4252: 0xC10E, - 4253: 0xC10F, - 4254: 0xC111, - 4255: 0xC112, - 4256: 0xC113, - 4257: 0xC114, - 4258: 0xC116, - 4259: 0xC117, - 4260: 0xC118, - 4261: 0xC119, - 4262: 0xC11A, - 4263: 0xC11B, - 4264: 0xC121, - 4265: 0xC122, - 4266: 0xC125, - 4267: 0xC128, - 4268: 0xC129, - 4269: 0xC12A, - 4270: 0xC12B, - 4271: 0xC12E, - 4272: 0xC132, - 4273: 0xC133, - 4274: 0xC134, - 4275: 0xC135, - 4276: 0xC137, - 4277: 0xC13A, - 4278: 0xC13B, - 4279: 0xC13D, - 4280: 0xC13E, - 4281: 0xC13F, - 4282: 0xC141, - 4283: 0xC142, - 4284: 0xC143, - 4285: 0xC144, - 4286: 0xC145, - 4287: 0xC146, - 4288: 0xC147, - 4289: 0xC14A, - 4290: 0xC14E, - 4291: 0xC14F, - 4292: 0xC150, - 4293: 0xC151, - 4294: 0xC152, - 4295: 0xC153, - 4296: 0xC156, - 4297: 0xC157, - 4298: 0xC159, - 4299: 0xC15A, - 4300: 0xC15B, - 4301: 0xC15D, - 4302: 0xC15E, - 4303: 0xC15F, - 4304: 0xC160, - 4305: 0xC161, - 4306: 0xC162, - 4307: 0xC163, - 4308: 0xC166, - 4309: 0xC16A, - 4310: 0xC16B, - 4311: 0xC16C, - 4312: 0xC16D, - 4313: 0xC16E, - 4314: 0xC16F, - 4315: 0xC171, - 4316: 0xC172, - 4317: 0xC173, - 4318: 0xC175, - 4319: 0xC176, - 4320: 0xC177, - 4321: 0xC179, - 4322: 0xC17A, - 4323: 0xC17B, - 4324: 0xC17C, - 4325: 0xC17D, - 4326: 0xC17E, - 4327: 0xC17F, - 4328: 0xC180, - 4329: 0xC181, - 4330: 0xC182, - 4331: 0xC183, - 4332: 0xC184, - 4333: 0xC186, - 4334: 0xC187, - 4335: 0xC188, - 4336: 0xC189, - 4337: 0xC18A, - 4338: 0xC18B, - 4339: 0xC18F, - 4340: 0xC191, - 4341: 0xC192, - 4342: 0xC193, - 4343: 0xC195, - 4344: 0xC197, - 4345: 0xC198, - 4346: 0xC199, - 4347: 0xC19A, - 4348: 0xC19B, - 4349: 0xC19E, - 4350: 0xC1A0, - 4351: 0xC1A2, - 4352: 0xC1A3, - 4353: 0xC1A4, - 4354: 0xC1A6, - 4355: 0xC1A7, - 4356: 0xC1AA, - 4357: 0xC1AB, - 4358: 0xC1AD, - 4359: 0xC1AE, - 4360: 0xC1AF, - 4361: 0xC1B1, - 4362: 0xC1B2, - 4363: 0xC1B3, - 4364: 0xC1B4, - 4365: 0xC1B5, - 4366: 0xC1B6, - 4367: 0xC1B7, - 4368: 0xC1B8, - 4369: 0xC1B9, - 4370: 0xC1BA, - 4371: 0xC1BB, - 4372: 0xC1BC, - 4373: 0xC1BE, - 4374: 0xC1BF, - 4375: 0xC1C0, - 4376: 0xC1C1, - 4377: 0xC1C2, - 4378: 0xC1C3, - 4379: 0xC1C5, - 4380: 0xC1C6, - 4381: 0xC1C7, - 4382: 0xC1C9, - 4383: 0xC1CA, - 4384: 0xC1CB, - 4385: 0xC1CD, - 4386: 0xC1CE, - 4387: 0xC1CF, - 4388: 0xC1D0, - 4389: 0xC1D1, - 4390: 0xC1D2, - 4391: 0xC1D3, - 4392: 0xC1D5, - 4393: 0xC1D6, - 4394: 0xC1D9, - 4395: 0xC1DA, - 4396: 0xC1DB, - 4397: 0xC1DC, - 4398: 0xC1DD, - 4399: 0xC1DE, - 4400: 0xC1DF, - 4401: 0xC1E1, - 4402: 0xC1E2, - 4403: 0xC1E3, - 4404: 0xC1E5, - 4405: 0xC1E6, - 4406: 0xC1E7, - 4407: 0xC1E9, - 4408: 0xC1EA, - 4409: 0xC1EB, - 4410: 0xC1EC, - 4411: 0xC1ED, - 4412: 0xC1EE, - 4413: 0xC1EF, - 4414: 0xC1F2, - 4415: 0xC1F4, - 4416: 0xC1F5, - 4417: 0xC1F6, - 4418: 0xC1F7, - 4419: 0xC1F8, - 4420: 0xC1F9, - 4421: 0xC1FA, - 4422: 0xC1FB, - 4423: 0xC1FE, - 4424: 0xC1FF, - 4425: 0xC201, - 4426: 0xC202, - 4427: 0xC203, - 4428: 0xC205, - 4429: 0xC206, - 4430: 0xC207, - 4431: 0xC208, - 4432: 0xC209, - 4433: 0xC20A, - 4434: 0xC20B, - 4435: 0xC20E, - 4436: 0xC210, - 4437: 0xC212, - 4438: 0xC213, - 4439: 0xC214, - 4440: 0xC215, - 4441: 0xC216, - 4442: 0xC217, - 4443: 0xC21A, - 4444: 0xC21B, - 4445: 0xC21D, - 4446: 0xC21E, - 4447: 0xC221, - 4448: 0xC222, - 4449: 0xC223, - 4450: 0xC224, - 4451: 0xC225, - 4452: 0xC226, - 4453: 0xC227, - 4454: 0xC22A, - 4455: 0xC22C, - 4456: 0xC22E, - 4457: 0xC230, - 4458: 0xC233, - 4459: 0xC235, - 4460: 0xC236, - 4461: 0xC237, - 4462: 0xC238, - 4463: 0xC239, - 4464: 0xC23A, - 4465: 0xC23B, - 4466: 0xC23C, - 4467: 0xC23D, - 4468: 0xC23E, - 4469: 0xC23F, - 4470: 0xC240, - 4471: 0xC241, - 4472: 0xC242, - 4473: 0xC243, - 4474: 0xC244, - 4475: 0xC245, - 4476: 0xC246, - 4477: 0xC247, - 4478: 0xC249, - 4479: 0xC24A, - 4480: 0xC24B, - 4481: 0xC24C, - 4482: 0xC24D, - 4483: 0xC24E, - 4484: 0xC24F, - 4485: 0xC252, - 4486: 0xC253, - 4487: 0xC255, - 4488: 0xC256, - 4489: 0xC257, - 4490: 0xC259, - 4491: 0xC25A, - 4492: 0xC25B, - 4493: 0xC25C, - 4494: 0xC25D, - 4495: 0xC25E, - 4496: 0xC25F, - 4497: 0xC261, - 4498: 0xC262, - 4499: 0xC263, - 4500: 0xC264, - 4501: 0xC266, - 4502: 0xC267, - 4503: 0xC268, - 4504: 0xC269, - 4505: 0xC26A, - 4506: 0xC26B, - 4507: 0xC26E, - 4508: 0xC26F, - 4509: 0xC271, - 4510: 0xC272, - 4511: 0xC273, - 4512: 0xC275, - 4513: 0xC276, - 4514: 0xC277, - 4515: 0xC278, - 4516: 0xC279, - 4517: 0xC27A, - 4518: 0xC27B, - 4519: 0xC27E, - 4520: 0xC280, - 4521: 0xC282, - 4522: 0xC283, - 4523: 0xC284, - 4524: 0xC285, - 4525: 0xC286, - 4526: 0xC287, - 4527: 0xC28A, - 4528: 0xC28B, - 4529: 0xC28C, - 4530: 0xC28D, - 4531: 0xC28E, - 4532: 0xC28F, - 4533: 0xC291, - 4534: 0xC292, - 4535: 0xC293, - 4536: 0xC294, - 4537: 0xC295, - 4538: 0xC296, - 4539: 0xC297, - 4540: 0xC299, - 4541: 0xC29A, - 4542: 0xC29C, - 4543: 0xC29E, - 4544: 0xC29F, - 4545: 0xC2A0, - 4546: 0xC2A1, - 4547: 0xC2A2, - 4548: 0xC2A3, - 4549: 0xC2A6, - 4550: 0xC2A7, - 4551: 0xC2A9, - 4552: 0xC2AA, - 4553: 0xC2AB, - 4554: 0xC2AE, - 4555: 0xC2AF, - 4556: 0xC2B0, - 4557: 0xC2B1, - 4558: 0xC2B2, - 4559: 0xC2B3, - 4560: 0xC2B6, - 4561: 0xC2B8, - 4562: 0xC2BA, - 4563: 0xC2BB, - 4564: 0xC2BC, - 4565: 0xC2BD, - 4566: 0xC2BE, - 4567: 0xC2BF, - 4568: 0xC2C0, - 4569: 0xC2C1, - 4570: 0xC2C2, - 4571: 0xC2C3, - 4572: 0xC2C4, - 4573: 0xC2C5, - 4574: 0xC2C6, - 4575: 0xC2C7, - 4576: 0xC2C8, - 4577: 0xC2C9, - 4578: 0xC2CA, - 4579: 0xC2CB, - 4580: 0xC2CC, - 4581: 0xC2CD, - 4582: 0xC2CE, - 4583: 0xC2CF, - 4584: 0xC2D0, - 4585: 0xC2D1, - 4586: 0xC2D2, - 4587: 0xC2D3, - 4588: 0xC2D4, - 4589: 0xC2D5, - 4590: 0xC2D6, - 4591: 0xC2D7, - 4592: 0xC2D8, - 4593: 0xC2D9, - 4594: 0xC2DA, - 4595: 0xC2DB, - 4596: 0xC2DE, - 4597: 0xC2DF, - 4598: 0xC2E1, - 4599: 0xC2E2, - 4600: 0xC2E5, - 4601: 0xC2E6, - 4602: 0xC2E7, - 4603: 0xC2E8, - 4604: 0xC2E9, - 4605: 0xC2EA, - 4606: 0xC2EE, - 4607: 0xC2F0, - 4608: 0xC2F2, - 4609: 0xC2F3, - 4610: 0xC2F4, - 4611: 0xC2F5, - 4612: 0xC2F7, - 4613: 0xC2FA, - 4614: 0xC2FD, - 4615: 0xC2FE, - 4616: 0xC2FF, - 4617: 0xC301, - 4618: 0xC302, - 4619: 0xC303, - 4620: 0xC304, - 4621: 0xC305, - 4622: 0xC306, - 4623: 0xC307, - 4624: 0xC30A, - 4625: 0xC30B, - 4626: 0xC30E, - 4627: 0xC30F, - 4628: 0xC310, - 4629: 0xC311, - 4630: 0xC312, - 4631: 0xC316, - 4632: 0xC317, - 4633: 0xC319, - 4634: 0xC31A, - 4635: 0xC31B, - 4636: 0xC31D, - 4637: 0xC31E, - 4638: 0xC31F, - 4639: 0xC320, - 4640: 0xC321, - 4641: 0xC322, - 4642: 0xC323, - 4643: 0xC326, - 4644: 0xC327, - 4645: 0xC32A, - 4646: 0xC32B, - 4647: 0xC32C, - 4648: 0xC32D, - 4649: 0xC32E, - 4650: 0xC32F, - 4651: 0xC330, - 4652: 0xC331, - 4653: 0xC332, - 4654: 0xC333, - 4655: 0xC334, - 4656: 0xC335, - 4657: 0xC336, - 4658: 0xC337, - 4659: 0xC338, - 4660: 0xC339, - 4661: 0xC33A, - 4662: 0xC33B, - 4663: 0xC33C, - 4664: 0xC33D, - 4665: 0xC33E, - 4666: 0xC33F, - 4667: 0xC340, - 4668: 0xC341, - 4669: 0xC342, - 4670: 0xC343, - 4671: 0xC344, - 4672: 0xC346, - 4673: 0xC347, - 4674: 0xC348, - 4675: 0xC349, - 4676: 0xC34A, - 4677: 0xC34B, - 4678: 0xC34C, - 4679: 0xC34D, - 4680: 0xC34E, - 4681: 0xC34F, - 4682: 0xC350, - 4683: 0xC351, - 4684: 0xC352, - 4685: 0xC353, - 4686: 0xC354, - 4687: 0xC355, - 4688: 0xC356, - 4689: 0xC357, - 4690: 0xC358, - 4691: 0xC359, - 4692: 0xC35A, - 4693: 0xC35B, - 4694: 0xC35C, - 4695: 0xC35D, - 4696: 0xC35E, - 4697: 0xC35F, - 4698: 0xC360, - 4699: 0xC361, - 4700: 0xC362, - 4701: 0xC363, - 4702: 0xC364, - 4703: 0xC365, - 4704: 0xC366, - 4705: 0xC367, - 4706: 0xC36A, - 4707: 0xC36B, - 4708: 0xC36D, - 4709: 0xC36E, - 4710: 0xC36F, - 4711: 0xC371, - 4712: 0xC373, - 4713: 0xC374, - 4714: 0xC375, - 4715: 0xC376, - 4716: 0xC377, - 4717: 0xC37A, - 4718: 0xC37B, - 4719: 0xC37E, - 4720: 0xC37F, - 4721: 0xC380, - 4722: 0xC381, - 4723: 0xC382, - 4724: 0xC383, - 4725: 0xC385, - 4726: 0xC386, - 4727: 0xC387, - 4728: 0xC389, - 4729: 0xC38A, - 4730: 0xC38B, - 4731: 0xC38D, - 4732: 0xC38E, - 4733: 0xC38F, - 4734: 0xC390, - 4735: 0xC391, - 4736: 0xC392, - 4737: 0xC393, - 4738: 0xC394, - 4739: 0xC395, - 4740: 0xC396, - 4741: 0xC397, - 4742: 0xC398, - 4743: 0xC399, - 4744: 0xC39A, - 4745: 0xC39B, - 4746: 0xC39C, - 4747: 0xC39D, - 4748: 0xC39E, - 4749: 0xC39F, - 4750: 0xC3A0, - 4751: 0xC3A1, - 4752: 0xC3A2, - 4753: 0xC3A3, - 4754: 0xC3A4, - 4755: 0xC3A5, - 4756: 0xC3A6, - 4757: 0xC3A7, - 4758: 0xC3A8, - 4759: 0xC3A9, - 4760: 0xC3AA, - 4761: 0xC3AB, - 4762: 0xC3AC, - 4763: 0xC3AD, - 4764: 0xC3AE, - 4765: 0xC3AF, - 4766: 0xC3B0, - 4767: 0xC3B1, - 4768: 0xC3B2, - 4769: 0xC3B3, - 4770: 0xC3B4, - 4771: 0xC3B5, - 4772: 0xC3B6, - 4773: 0xC3B7, - 4774: 0xC3B8, - 4775: 0xC3B9, - 4776: 0xC3BA, - 4777: 0xC3BB, - 4778: 0xC3BC, - 4779: 0xC3BD, - 4780: 0xC3BE, - 4781: 0xC3BF, - 4782: 0xC3C1, - 4783: 0xC3C2, - 4784: 0xC3C3, - 4785: 0xC3C4, - 4786: 0xC3C5, - 4787: 0xC3C6, - 4788: 0xC3C7, - 4789: 0xC3C8, - 4790: 0xC3C9, - 4791: 0xC3CA, - 4792: 0xC3CB, - 4793: 0xC3CC, - 4794: 0xC3CD, - 4795: 0xC3CE, - 4796: 0xC3CF, - 4797: 0xC3D0, - 4798: 0xC3D1, - 4799: 0xC3D2, - 4800: 0xC3D3, - 4801: 0xC3D4, - 4802: 0xC3D5, - 4803: 0xC3D6, - 4804: 0xC3D7, - 4805: 0xC3DA, - 4806: 0xC3DB, - 4807: 0xC3DD, - 4808: 0xC3DE, - 4809: 0xC3E1, - 4810: 0xC3E3, - 4811: 0xC3E4, - 4812: 0xC3E5, - 4813: 0xC3E6, - 4814: 0xC3E7, - 4815: 0xC3EA, - 4816: 0xC3EB, - 4817: 0xC3EC, - 4818: 0xC3EE, - 4819: 0xC3EF, - 4820: 0xC3F0, - 4821: 0xC3F1, - 4822: 0xC3F2, - 4823: 0xC3F3, - 4824: 0xC3F6, - 4825: 0xC3F7, - 4826: 0xC3F9, - 4827: 0xC3FA, - 4828: 0xC3FB, - 4829: 0xC3FC, - 4830: 0xC3FD, - 4831: 0xC3FE, - 4832: 0xC3FF, - 4833: 0xC400, - 4834: 0xC401, - 4835: 0xC402, - 4836: 0xC403, - 4837: 0xC404, - 4838: 0xC405, - 4839: 0xC406, - 4840: 0xC407, - 4841: 0xC409, - 4842: 0xC40A, - 4843: 0xC40B, - 4844: 0xC40C, - 4845: 0xC40D, - 4846: 0xC40E, - 4847: 0xC40F, - 4848: 0xC411, - 4849: 0xC412, - 4850: 0xC413, - 4851: 0xC414, - 4852: 0xC415, - 4853: 0xC416, - 4854: 0xC417, - 4855: 0xC418, - 4856: 0xC419, - 4857: 0xC41A, - 4858: 0xC41B, - 4859: 0xC41C, - 4860: 0xC41D, - 4861: 0xC41E, - 4862: 0xC41F, - 4863: 0xC420, - 4864: 0xC421, - 4865: 0xC422, - 4866: 0xC423, - 4867: 0xC425, - 4868: 0xC426, - 4869: 0xC427, - 4870: 0xC428, - 4871: 0xC429, - 4872: 0xC42A, - 4873: 0xC42B, - 4874: 0xC42D, - 4875: 0xC42E, - 4876: 0xC42F, - 4877: 0xC431, - 4878: 0xC432, - 4879: 0xC433, - 4880: 0xC435, - 4881: 0xC436, - 4882: 0xC437, - 4883: 0xC438, - 4884: 0xC439, - 4885: 0xC43A, - 4886: 0xC43B, - 4887: 0xC43E, - 4888: 0xC43F, - 4889: 0xC440, - 4890: 0xC441, - 4891: 0xC442, - 4892: 0xC443, - 4893: 0xC444, - 4894: 0xC445, - 4895: 0xC446, - 4896: 0xC447, - 4897: 0xC449, - 4898: 0xC44A, - 4899: 0xC44B, - 4900: 0xC44C, - 4901: 0xC44D, - 4902: 0xC44E, - 4903: 0xC44F, - 4904: 0xC450, - 4905: 0xC451, - 4906: 0xC452, - 4907: 0xC453, - 4908: 0xC454, - 4909: 0xC455, - 4910: 0xC456, - 4911: 0xC457, - 4912: 0xC458, - 4913: 0xC459, - 4914: 0xC45A, - 4915: 0xC45B, - 4916: 0xC45C, - 4917: 0xC45D, - 4918: 0xC45E, - 4919: 0xC45F, - 4920: 0xC460, - 4921: 0xC461, - 4922: 0xC462, - 4923: 0xC463, - 4924: 0xC466, - 4925: 0xC467, - 4926: 0xC469, - 4927: 0xC46A, - 4928: 0xC46B, - 4929: 0xC46D, - 4930: 0xC46E, - 4931: 0xC46F, - 4932: 0xC470, - 4933: 0xC471, - 4934: 0xC472, - 4935: 0xC473, - 4936: 0xC476, - 4937: 0xC477, - 4938: 0xC478, - 4939: 0xC47A, - 4940: 0xC47B, - 4941: 0xC47C, - 4942: 0xC47D, - 4943: 0xC47E, - 4944: 0xC47F, - 4945: 0xC481, - 4946: 0xC482, - 4947: 0xC483, - 4948: 0xC484, - 4949: 0xC485, - 4950: 0xC486, - 4951: 0xC487, - 4952: 0xC488, - 4953: 0xC489, - 4954: 0xC48A, - 4955: 0xC48B, - 4956: 0xC48C, - 4957: 0xC48D, - 4958: 0xC48E, - 4959: 0xC48F, - 4960: 0xC490, - 4961: 0xC491, - 4962: 0xC492, - 4963: 0xC493, - 4964: 0xC495, - 4965: 0xC496, - 4966: 0xC497, - 4967: 0xC498, - 4968: 0xC499, - 4969: 0xC49A, - 4970: 0xC49B, - 4971: 0xC49D, - 4972: 0xC49E, - 4973: 0xC49F, - 4974: 0xC4A0, - 4975: 0xC4A1, - 4976: 0xC4A2, - 4977: 0xC4A3, - 4978: 0xC4A4, - 4979: 0xC4A5, - 4980: 0xC4A6, - 4981: 0xC4A7, - 4982: 0xC4A8, - 4983: 0xC4A9, - 4984: 0xC4AA, - 4985: 0xC4AB, - 4986: 0xC4AC, - 4987: 0xC4AD, - 4988: 0xC4AE, - 4989: 0xC4AF, - 4990: 0xC4B0, - 4991: 0xC4B1, - 4992: 0xC4B2, - 4993: 0xC4B3, - 4994: 0xC4B4, - 4995: 0xC4B5, - 4996: 0xC4B6, - 4997: 0xC4B7, - 4998: 0xC4B9, - 4999: 0xC4BA, - 5000: 0xC4BB, - 5001: 0xC4BD, - 5002: 0xC4BE, - 5003: 0xC4BF, - 5004: 0xC4C0, - 5005: 0xC4C1, - 5006: 0xC4C2, - 5007: 0xC4C3, - 5008: 0xC4C4, - 5009: 0xC4C5, - 5010: 0xC4C6, - 5011: 0xC4C7, - 5012: 0xC4C8, - 5013: 0xC4C9, - 5014: 0xC4CA, - 5015: 0xC4CB, - 5016: 0xC4CC, - 5017: 0xC4CD, - 5018: 0xC4CE, - 5019: 0xC4CF, - 5020: 0xC4D0, - 5021: 0xC4D1, - 5022: 0xC4D2, - 5023: 0xC4D3, - 5024: 0xC4D4, - 5025: 0xC4D5, - 5026: 0xC4D6, - 5027: 0xC4D7, - 5028: 0xC4D8, - 5029: 0xC4D9, - 5030: 0xC4DA, - 5031: 0xC4DB, - 5032: 0xC4DC, - 5033: 0xC4DD, - 5034: 0xC4DE, - 5035: 0xC4DF, - 5036: 0xC4E0, - 5037: 0xC4E1, - 5038: 0xC4E2, - 5039: 0xC4E3, - 5040: 0xC4E4, - 5041: 0xC4E5, - 5042: 0xC4E6, - 5043: 0xC4E7, - 5044: 0xC4E8, - 5045: 0xC4EA, - 5046: 0xC4EB, - 5047: 0xC4EC, - 5048: 0xC4ED, - 5049: 0xC4EE, - 5050: 0xC4EF, - 5051: 0xC4F2, - 5052: 0xC4F3, - 5053: 0xC4F5, - 5054: 0xC4F6, - 5055: 0xC4F7, - 5056: 0xC4F9, - 5057: 0xC4FB, - 5058: 0xC4FC, - 5059: 0xC4FD, - 5060: 0xC4FE, - 5061: 0xC502, - 5062: 0xC503, - 5063: 0xC504, - 5064: 0xC505, - 5065: 0xC506, - 5066: 0xC507, - 5067: 0xC508, - 5068: 0xC509, - 5069: 0xC50A, - 5070: 0xC50B, - 5071: 0xC50D, - 5072: 0xC50E, - 5073: 0xC50F, - 5074: 0xC511, - 5075: 0xC512, - 5076: 0xC513, - 5077: 0xC515, - 5078: 0xC516, - 5079: 0xC517, - 5080: 0xC518, - 5081: 0xC519, - 5082: 0xC51A, - 5083: 0xC51B, - 5084: 0xC51D, - 5085: 0xC51E, - 5086: 0xC51F, - 5087: 0xC520, - 5088: 0xC521, - 5089: 0xC522, - 5090: 0xC523, - 5091: 0xC524, - 5092: 0xC525, - 5093: 0xC526, - 5094: 0xC527, - 5095: 0xC52A, - 5096: 0xC52B, - 5097: 0xC52D, - 5098: 0xC52E, - 5099: 0xC52F, - 5100: 0xC531, - 5101: 0xC532, - 5102: 0xC533, - 5103: 0xC534, - 5104: 0xC535, - 5105: 0xC536, - 5106: 0xC537, - 5107: 0xC53A, - 5108: 0xC53C, - 5109: 0xC53E, - 5110: 0xC53F, - 5111: 0xC540, - 5112: 0xC541, - 5113: 0xC542, - 5114: 0xC543, - 5115: 0xC546, - 5116: 0xC547, - 5117: 0xC54B, - 5118: 0xC54F, - 5119: 0xC550, - 5120: 0xC551, - 5121: 0xC552, - 5122: 0xC556, - 5123: 0xC55A, - 5124: 0xC55B, - 5125: 0xC55C, - 5126: 0xC55F, - 5127: 0xC562, - 5128: 0xC563, - 5129: 0xC565, - 5130: 0xC566, - 5131: 0xC567, - 5132: 0xC569, - 5133: 0xC56A, - 5134: 0xC56B, - 5135: 0xC56C, - 5136: 0xC56D, - 5137: 0xC56E, - 5138: 0xC56F, - 5139: 0xC572, - 5140: 0xC576, - 5141: 0xC577, - 5142: 0xC578, - 5143: 0xC579, - 5144: 0xC57A, - 5145: 0xC57B, - 5146: 0xC57E, - 5147: 0xC57F, - 5148: 0xC581, - 5149: 0xC582, - 5150: 0xC583, - 5151: 0xC585, - 5152: 0xC586, - 5153: 0xC588, - 5154: 0xC589, - 5155: 0xC58A, - 5156: 0xC58B, - 5157: 0xC58E, - 5158: 0xC590, - 5159: 0xC592, - 5160: 0xC593, - 5161: 0xC594, - 5162: 0xC596, - 5163: 0xC599, - 5164: 0xC59A, - 5165: 0xC59B, - 5166: 0xC59D, - 5167: 0xC59E, - 5168: 0xC59F, - 5169: 0xC5A1, - 5170: 0xC5A2, - 5171: 0xC5A3, - 5172: 0xC5A4, - 5173: 0xC5A5, - 5174: 0xC5A6, - 5175: 0xC5A7, - 5176: 0xC5A8, - 5177: 0xC5AA, - 5178: 0xC5AB, - 5179: 0xC5AC, - 5180: 0xC5AD, - 5181: 0xC5AE, - 5182: 0xC5AF, - 5183: 0xC5B0, - 5184: 0xC5B1, - 5185: 0xC5B2, - 5186: 0xC5B3, - 5187: 0xC5B6, - 5188: 0xC5B7, - 5189: 0xC5BA, - 5190: 0xC5BF, - 5191: 0xC5C0, - 5192: 0xC5C1, - 5193: 0xC5C2, - 5194: 0xC5C3, - 5195: 0xC5CB, - 5196: 0xC5CD, - 5197: 0xC5CF, - 5198: 0xC5D2, - 5199: 0xC5D3, - 5200: 0xC5D5, - 5201: 0xC5D6, - 5202: 0xC5D7, - 5203: 0xC5D9, - 5204: 0xC5DA, - 5205: 0xC5DB, - 5206: 0xC5DC, - 5207: 0xC5DD, - 5208: 0xC5DE, - 5209: 0xC5DF, - 5210: 0xC5E2, - 5211: 0xC5E4, - 5212: 0xC5E6, - 5213: 0xC5E7, - 5214: 0xC5E8, - 5215: 0xC5E9, - 5216: 0xC5EA, - 5217: 0xC5EB, - 5218: 0xC5EF, - 5219: 0xC5F1, - 5220: 0xC5F2, - 5221: 0xC5F3, - 5222: 0xC5F5, - 5223: 0xC5F8, - 5224: 0xC5F9, - 5225: 0xC5FA, - 5226: 0xC5FB, - 5227: 0xC602, - 5228: 0xC603, - 5229: 0xC604, - 5230: 0xC609, - 5231: 0xC60A, - 5232: 0xC60B, - 5233: 0xC60D, - 5234: 0xC60E, - 5235: 0xC60F, - 5236: 0xC611, - 5237: 0xC612, - 5238: 0xC613, - 5239: 0xC614, - 5240: 0xC615, - 5241: 0xC616, - 5242: 0xC617, - 5243: 0xC61A, - 5244: 0xC61D, - 5245: 0xC61E, - 5246: 0xC61F, - 5247: 0xC620, - 5248: 0xC621, - 5249: 0xC622, - 5250: 0xC623, - 5251: 0xC626, - 5252: 0xC627, - 5253: 0xC629, - 5254: 0xC62A, - 5255: 0xC62B, - 5256: 0xC62F, - 5257: 0xC631, - 5258: 0xC632, - 5259: 0xC636, - 5260: 0xC638, - 5261: 0xC63A, - 5262: 0xC63C, - 5263: 0xC63D, - 5264: 0xC63E, - 5265: 0xC63F, - 5266: 0xC642, - 5267: 0xC643, - 5268: 0xC645, - 5269: 0xC646, - 5270: 0xC647, - 5271: 0xC649, - 5272: 0xC64A, - 5273: 0xC64B, - 5274: 0xC64C, - 5275: 0xC64D, - 5276: 0xC64E, - 5277: 0xC64F, - 5278: 0xC652, - 5279: 0xC656, - 5280: 0xC657, - 5281: 0xC658, - 5282: 0xC659, - 5283: 0xC65A, - 5284: 0xC65B, - 5285: 0xC65E, - 5286: 0xC65F, - 5287: 0xC661, - 5288: 0xC662, - 5289: 0xC663, - 5290: 0xC664, - 5291: 0xC665, - 5292: 0xC666, - 5293: 0xC667, - 5294: 0xC668, - 5295: 0xC669, - 5296: 0xC66A, - 5297: 0xC66B, - 5298: 0xC66D, - 5299: 0xC66E, - 5300: 0xC670, - 5301: 0xC672, - 5302: 0xC673, - 5303: 0xC674, - 5304: 0xC675, - 5305: 0xC676, - 5306: 0xC677, - 5307: 0xC67A, - 5308: 0xC67B, - 5309: 0xC67D, - 5310: 0xC67E, - 5311: 0xC67F, - 5312: 0xC681, - 5313: 0xC682, - 5314: 0xC683, - 5315: 0xC684, - 5316: 0xC685, - 5317: 0xC686, - 5318: 0xC687, - 5319: 0xC68A, - 5320: 0xC68C, - 5321: 0xC68E, - 5322: 0xC68F, - 5323: 0xC690, - 5324: 0xC691, - 5325: 0xC692, - 5326: 0xC693, - 5327: 0xC696, - 5328: 0xC697, - 5329: 0xC699, - 5330: 0xC69A, - 5331: 0xC69B, - 5332: 0xC69D, - 5333: 0xC69E, - 5334: 0xC69F, - 5335: 0xC6A0, - 5336: 0xC6A1, - 5337: 0xC6A2, - 5338: 0xC6A3, - 5339: 0xC6A6, - 5340: 0xC6A8, - 5341: 0xC6AA, - 5342: 0xC6AB, - 5343: 0xC6AC, - 5344: 0xC6AD, - 5345: 0xC6AE, - 5346: 0xC6AF, - 5347: 0xC6B2, - 5348: 0xC6B3, - 5349: 0xC6B5, - 5350: 0xC6B6, - 5351: 0xC6B7, - 5352: 0xC6BB, - 5353: 0xC6BC, - 5354: 0xC6BD, - 5355: 0xC6BE, - 5356: 0xC6BF, - 5357: 0xC6C2, - 5358: 0xC6C4, - 5359: 0xC6C6, - 5360: 0xC6C7, - 5361: 0xC6C8, - 5362: 0xC6C9, - 5363: 0xC6CA, - 5364: 0xC6CB, - 5365: 0xC6CE, - 5366: 0xC6CF, - 5367: 0xC6D1, - 5368: 0xC6D2, - 5369: 0xC6D3, - 5370: 0xC6D5, - 5371: 0xC6D6, - 5372: 0xC6D7, - 5373: 0xC6D8, - 5374: 0xC6D9, - 5375: 0xC6DA, - 5376: 0xC6DB, - 5377: 0xC6DE, - 5378: 0xC6DF, - 5379: 0xC6E2, - 5380: 0xC6E3, - 5381: 0xC6E4, - 5382: 0xC6E5, - 5383: 0xC6E6, - 5384: 0xC6E7, - 5385: 0xC6EA, - 5386: 0xC6EB, - 5387: 0xC6ED, - 5388: 0xC6EE, - 5389: 0xC6EF, - 5390: 0xC6F1, - 5391: 0xC6F2, - 5392: 0xC6F3, - 5393: 0xC6F4, - 5394: 0xC6F5, - 5395: 0xC6F6, - 5396: 0xC6F7, - 5397: 0xC6FA, - 5398: 0xC6FB, - 5399: 0xC6FC, - 5400: 0xC6FE, - 5401: 0xC6FF, - 5402: 0xC700, - 5403: 0xC701, - 5404: 0xC702, - 5405: 0xC703, - 5406: 0xC706, - 5407: 0xC707, - 5408: 0xC709, - 5409: 0xC70A, - 5410: 0xC70B, - 5411: 0xC70D, - 5412: 0xC70E, - 5413: 0xC70F, - 5414: 0xC710, - 5415: 0xC711, - 5416: 0xC712, - 5417: 0xC713, - 5418: 0xC716, - 5419: 0xC718, - 5420: 0xC71A, - 5421: 0xC71B, - 5422: 0xC71C, - 5423: 0xC71D, - 5424: 0xC71E, - 5425: 0xC71F, - 5426: 0xC722, - 5427: 0xC723, - 5428: 0xC725, - 5429: 0xC726, - 5430: 0xC727, - 5431: 0xC729, - 5432: 0xC72A, - 5433: 0xC72B, - 5434: 0xC72C, - 5435: 0xC72D, - 5436: 0xC72E, - 5437: 0xC72F, - 5438: 0xC732, - 5439: 0xC734, - 5440: 0xC736, - 5441: 0xC738, - 5442: 0xC739, - 5443: 0xC73A, - 5444: 0xC73B, - 5445: 0xC73E, - 5446: 0xC73F, - 5447: 0xC741, - 5448: 0xC742, - 5449: 0xC743, - 5450: 0xC745, - 5451: 0xC746, - 5452: 0xC747, - 5453: 0xC748, - 5454: 0xC749, - 5455: 0xC74B, - 5456: 0xC74E, - 5457: 0xC750, - 5458: 0xC759, - 5459: 0xC75A, - 5460: 0xC75B, - 5461: 0xC75D, - 5462: 0xC75E, - 5463: 0xC75F, - 5464: 0xC761, - 5465: 0xC762, - 5466: 0xC763, - 5467: 0xC764, - 5468: 0xC765, - 5469: 0xC766, - 5470: 0xC767, - 5471: 0xC769, - 5472: 0xC76A, - 5473: 0xC76C, - 5474: 0xC76D, - 5475: 0xC76E, - 5476: 0xC76F, - 5477: 0xC770, - 5478: 0xC771, - 5479: 0xC772, - 5480: 0xC773, - 5481: 0xC776, - 5482: 0xC777, - 5483: 0xC779, - 5484: 0xC77A, - 5485: 0xC77B, - 5486: 0xC77F, - 5487: 0xC780, - 5488: 0xC781, - 5489: 0xC782, - 5490: 0xC786, - 5491: 0xC78B, - 5492: 0xC78C, - 5493: 0xC78D, - 5494: 0xC78F, - 5495: 0xC792, - 5496: 0xC793, - 5497: 0xC795, - 5498: 0xC799, - 5499: 0xC79B, - 5500: 0xC79C, - 5501: 0xC79D, - 5502: 0xC79E, - 5503: 0xC79F, - 5504: 0xC7A2, - 5505: 0xC7A7, - 5506: 0xC7A8, - 5507: 0xC7A9, - 5508: 0xC7AA, - 5509: 0xC7AB, - 5510: 0xC7AE, - 5511: 0xC7AF, - 5512: 0xC7B1, - 5513: 0xC7B2, - 5514: 0xC7B3, - 5515: 0xC7B5, - 5516: 0xC7B6, - 5517: 0xC7B7, - 5518: 0xC7B8, - 5519: 0xC7B9, - 5520: 0xC7BA, - 5521: 0xC7BB, - 5522: 0xC7BE, - 5523: 0xC7C2, - 5524: 0xC7C3, - 5525: 0xC7C4, - 5526: 0xC7C5, - 5527: 0xC7C6, - 5528: 0xC7C7, - 5529: 0xC7CA, - 5530: 0xC7CB, - 5531: 0xC7CD, - 5532: 0xC7CF, - 5533: 0xC7D1, - 5534: 0xC7D2, - 5535: 0xC7D3, - 5536: 0xC7D4, - 5537: 0xC7D5, - 5538: 0xC7D6, - 5539: 0xC7D7, - 5540: 0xC7D9, - 5541: 0xC7DA, - 5542: 0xC7DB, - 5543: 0xC7DC, - 5544: 0xC7DE, - 5545: 0xC7DF, - 5546: 0xC7E0, - 5547: 0xC7E1, - 5548: 0xC7E2, - 5549: 0xC7E3, - 5550: 0xC7E5, - 5551: 0xC7E6, - 5552: 0xC7E7, - 5553: 0xC7E9, - 5554: 0xC7EA, - 5555: 0xC7EB, - 5556: 0xC7ED, - 5557: 0xC7EE, - 5558: 0xC7EF, - 5559: 0xC7F0, - 5560: 0xC7F1, - 5561: 0xC7F2, - 5562: 0xC7F3, - 5563: 0xC7F4, - 5564: 0xC7F5, - 5565: 0xC7F6, - 5566: 0xC7F7, - 5567: 0xC7F8, - 5568: 0xC7F9, - 5569: 0xC7FA, - 5570: 0xC7FB, - 5571: 0xC7FC, - 5572: 0xC7FD, - 5573: 0xC7FE, - 5574: 0xC7FF, - 5575: 0xC802, - 5576: 0xC803, - 5577: 0xC805, - 5578: 0xC806, - 5579: 0xC807, - 5580: 0xC809, - 5581: 0xC80B, - 5582: 0xC80C, - 5583: 0xC80D, - 5584: 0xC80E, - 5585: 0xC80F, - 5586: 0xC812, - 5587: 0xC814, - 5588: 0xC817, - 5589: 0xC818, - 5590: 0xC819, - 5591: 0xC81A, - 5592: 0xC81B, - 5593: 0xC81E, - 5594: 0xC81F, - 5595: 0xC821, - 5596: 0xC822, - 5597: 0xC823, - 5598: 0xC825, - 5599: 0xC826, - 5600: 0xC827, - 5601: 0xC828, - 5602: 0xC829, - 5603: 0xC82A, - 5604: 0xC82B, - 5605: 0xC82E, - 5606: 0xC830, - 5607: 0xC832, - 5608: 0xC833, - 5609: 0xC834, - 5610: 0xC835, - 5611: 0xC836, - 5612: 0xC837, - 5613: 0xC839, - 5614: 0xC83A, - 5615: 0xC83B, - 5616: 0xC83D, - 5617: 0xC83E, - 5618: 0xC83F, - 5619: 0xC841, - 5620: 0xC842, - 5621: 0xC843, - 5622: 0xC844, - 5623: 0xC845, - 5624: 0xC846, - 5625: 0xC847, - 5626: 0xC84A, - 5627: 0xC84B, - 5628: 0xC84E, - 5629: 0xC84F, - 5630: 0xC850, - 5631: 0xC851, - 5632: 0xC852, - 5633: 0xC853, - 5634: 0xC855, - 5635: 0xC856, - 5636: 0xC857, - 5637: 0xC858, - 5638: 0xC859, - 5639: 0xC85A, - 5640: 0xC85B, - 5641: 0xC85C, - 5642: 0xC85D, - 5643: 0xC85E, - 5644: 0xC85F, - 5645: 0xC860, - 5646: 0xC861, - 5647: 0xC862, - 5648: 0xC863, - 5649: 0xC864, - 5650: 0xC865, - 5651: 0xC866, - 5652: 0xC867, - 5653: 0xC868, - 5654: 0xC869, - 5655: 0xC86A, - 5656: 0xC86B, - 5657: 0xC86C, - 5658: 0xC86D, - 5659: 0xC86E, - 5660: 0xC86F, - 5661: 0xC872, - 5662: 0xC873, - 5663: 0xC875, - 5664: 0xC876, - 5665: 0xC877, - 5666: 0xC879, - 5667: 0xC87B, - 5668: 0xC87C, - 5669: 0xC87D, - 5670: 0xC87E, - 5671: 0xC87F, - 5672: 0xC882, - 5673: 0xC884, - 5674: 0xC888, - 5675: 0xC889, - 5676: 0xC88A, - 5677: 0xC88E, - 5678: 0xC88F, - 5679: 0xC890, - 5680: 0xC891, - 5681: 0xC892, - 5682: 0xC893, - 5683: 0xC895, - 5684: 0xC896, - 5685: 0xC897, - 5686: 0xC898, - 5687: 0xC899, - 5688: 0xC89A, - 5689: 0xC89B, - 5690: 0xC89C, - 5691: 0xC89E, - 5692: 0xC8A0, - 5693: 0xC8A2, - 5694: 0xC8A3, - 5695: 0xC8A4, - 5696: 0xC8A5, - 5697: 0xC8A6, - 5698: 0xC8A7, - 5699: 0xC8A9, - 5700: 0xC8AA, - 5701: 0xC8AB, - 5702: 0xC8AC, - 5703: 0xC8AD, - 5704: 0xC8AE, - 5705: 0xC8AF, - 5706: 0xC8B0, - 5707: 0xC8B1, - 5708: 0xC8B2, - 5709: 0xC8B3, - 5710: 0xC8B4, - 5711: 0xC8B5, - 5712: 0xC8B6, - 5713: 0xC8B7, - 5714: 0xC8B8, - 5715: 0xC8B9, - 5716: 0xC8BA, - 5717: 0xC8BB, - 5718: 0xC8BE, - 5719: 0xC8BF, - 5720: 0xC8C0, - 5721: 0xC8C1, - 5722: 0xC8C2, - 5723: 0xC8C3, - 5724: 0xC8C5, - 5725: 0xC8C6, - 5726: 0xC8C7, - 5727: 0xC8C9, - 5728: 0xC8CA, - 5729: 0xC8CB, - 5730: 0xC8CD, - 5731: 0xC8CE, - 5732: 0xC8CF, - 5733: 0xC8D0, - 5734: 0xC8D1, - 5735: 0xC8D2, - 5736: 0xC8D3, - 5737: 0xC8D6, - 5738: 0xC8D8, - 5739: 0xC8DA, - 5740: 0xC8DB, - 5741: 0xC8DC, - 5742: 0xC8DD, - 5743: 0xC8DE, - 5744: 0xC8DF, - 5745: 0xC8E2, - 5746: 0xC8E3, - 5747: 0xC8E5, - 5748: 0xC8E6, - 5749: 0xC8E7, - 5750: 0xC8E8, - 5751: 0xC8E9, - 5752: 0xC8EA, - 5753: 0xC8EB, - 5754: 0xC8EC, - 5755: 0xC8ED, - 5756: 0xC8EE, - 5757: 0xC8EF, - 5758: 0xC8F0, - 5759: 0xC8F1, - 5760: 0xC8F2, - 5761: 0xC8F3, - 5762: 0xC8F4, - 5763: 0xC8F6, - 5764: 0xC8F7, - 5765: 0xC8F8, - 5766: 0xC8F9, - 5767: 0xC8FA, - 5768: 0xC8FB, - 5769: 0xC8FE, - 5770: 0xC8FF, - 5771: 0xC901, - 5772: 0xC902, - 5773: 0xC903, - 5774: 0xC907, - 5775: 0xC908, - 5776: 0xC909, - 5777: 0xC90A, - 5778: 0xC90B, - 5779: 0xC90E, - 5780: 0x3000, - 5781: 0x3001, - 5782: 0x3002, - 5783: 0x00B7, - 5784: 0x2025, - 5785: 0x2026, - 5786: 0x00A8, - 5787: 0x3003, - 5788: 0x00AD, - 5789: 0x2015, - 5790: 0x2225, - 5791: 0xFF3C, - 5792: 0x223C, - 5793: 0x2018, - 5794: 0x2019, - 5795: 0x201C, - 5796: 0x201D, - 5797: 0x3014, - 5798: 0x3015, - 5799: 0x3008, - 5800: 0x3009, - 5801: 0x300A, - 5802: 0x300B, - 5803: 0x300C, - 5804: 0x300D, - 5805: 0x300E, - 5806: 0x300F, - 5807: 0x3010, - 5808: 0x3011, - 5809: 0x00B1, - 5810: 0x00D7, - 5811: 0x00F7, - 5812: 0x2260, - 5813: 0x2264, - 5814: 0x2265, - 5815: 0x221E, - 5816: 0x2234, - 5817: 0x00B0, - 5818: 0x2032, - 5819: 0x2033, - 5820: 0x2103, - 5821: 0x212B, - 5822: 0xFFE0, - 5823: 0xFFE1, - 5824: 0xFFE5, - 5825: 0x2642, - 5826: 0x2640, - 5827: 0x2220, - 5828: 0x22A5, - 5829: 0x2312, - 5830: 0x2202, - 5831: 0x2207, - 5832: 0x2261, - 5833: 0x2252, - 5834: 0x00A7, - 5835: 0x203B, - 5836: 0x2606, - 5837: 0x2605, - 5838: 0x25CB, - 5839: 0x25CF, - 5840: 0x25CE, - 5841: 0x25C7, - 5842: 0x25C6, - 5843: 0x25A1, - 5844: 0x25A0, - 5845: 0x25B3, - 5846: 0x25B2, - 5847: 0x25BD, - 5848: 0x25BC, - 5849: 0x2192, - 5850: 0x2190, - 5851: 0x2191, - 5852: 0x2193, - 5853: 0x2194, - 5854: 0x3013, - 5855: 0x226A, - 5856: 0x226B, - 5857: 0x221A, - 5858: 0x223D, - 5859: 0x221D, - 5860: 0x2235, - 5861: 0x222B, - 5862: 0x222C, - 5863: 0x2208, - 5864: 0x220B, - 5865: 0x2286, - 5866: 0x2287, - 5867: 0x2282, - 5868: 0x2283, - 5869: 0x222A, - 5870: 0x2229, - 5871: 0x2227, - 5872: 0x2228, - 5873: 0xFFE2, - 5874: 0xC910, - 5875: 0xC912, - 5876: 0xC913, - 5877: 0xC914, - 5878: 0xC915, - 5879: 0xC916, - 5880: 0xC917, - 5881: 0xC919, - 5882: 0xC91A, - 5883: 0xC91B, - 5884: 0xC91C, - 5885: 0xC91D, - 5886: 0xC91E, - 5887: 0xC91F, - 5888: 0xC920, - 5889: 0xC921, - 5890: 0xC922, - 5891: 0xC923, - 5892: 0xC924, - 5893: 0xC925, - 5894: 0xC926, - 5895: 0xC927, - 5896: 0xC928, - 5897: 0xC929, - 5898: 0xC92A, - 5899: 0xC92B, - 5900: 0xC92D, - 5901: 0xC92E, - 5902: 0xC92F, - 5903: 0xC930, - 5904: 0xC931, - 5905: 0xC932, - 5906: 0xC933, - 5907: 0xC935, - 5908: 0xC936, - 5909: 0xC937, - 5910: 0xC938, - 5911: 0xC939, - 5912: 0xC93A, - 5913: 0xC93B, - 5914: 0xC93C, - 5915: 0xC93D, - 5916: 0xC93E, - 5917: 0xC93F, - 5918: 0xC940, - 5919: 0xC941, - 5920: 0xC942, - 5921: 0xC943, - 5922: 0xC944, - 5923: 0xC945, - 5924: 0xC946, - 5925: 0xC947, - 5926: 0xC948, - 5927: 0xC949, - 5928: 0xC94A, - 5929: 0xC94B, - 5930: 0xC94C, - 5931: 0xC94D, - 5932: 0xC94E, - 5933: 0xC94F, - 5934: 0xC952, - 5935: 0xC953, - 5936: 0xC955, - 5937: 0xC956, - 5938: 0xC957, - 5939: 0xC959, - 5940: 0xC95A, - 5941: 0xC95B, - 5942: 0xC95C, - 5943: 0xC95D, - 5944: 0xC95E, - 5945: 0xC95F, - 5946: 0xC962, - 5947: 0xC964, - 5948: 0xC965, - 5949: 0xC966, - 5950: 0xC967, - 5951: 0xC968, - 5952: 0xC969, - 5953: 0xC96A, - 5954: 0xC96B, - 5955: 0xC96D, - 5956: 0xC96E, - 5957: 0xC96F, - 5958: 0x21D2, - 5959: 0x21D4, - 5960: 0x2200, - 5961: 0x2203, - 5962: 0x00B4, - 5963: 0xFF5E, - 5964: 0x02C7, - 5965: 0x02D8, - 5966: 0x02DD, - 5967: 0x02DA, - 5968: 0x02D9, - 5969: 0x00B8, - 5970: 0x02DB, - 5971: 0x00A1, - 5972: 0x00BF, - 5973: 0x02D0, - 5974: 0x222E, - 5975: 0x2211, - 5976: 0x220F, - 5977: 0x00A4, - 5978: 0x2109, - 5979: 0x2030, - 5980: 0x25C1, - 5981: 0x25C0, - 5982: 0x25B7, - 5983: 0x25B6, - 5984: 0x2664, - 5985: 0x2660, - 5986: 0x2661, - 5987: 0x2665, - 5988: 0x2667, - 5989: 0x2663, - 5990: 0x2299, - 5991: 0x25C8, - 5992: 0x25A3, - 5993: 0x25D0, - 5994: 0x25D1, - 5995: 0x2592, - 5996: 0x25A4, - 5997: 0x25A5, - 5998: 0x25A8, - 5999: 0x25A7, - 6000: 0x25A6, - 6001: 0x25A9, - 6002: 0x2668, - 6003: 0x260F, - 6004: 0x260E, - 6005: 0x261C, - 6006: 0x261E, - 6007: 0x00B6, - 6008: 0x2020, - 6009: 0x2021, - 6010: 0x2195, - 6011: 0x2197, - 6012: 0x2199, - 6013: 0x2196, - 6014: 0x2198, - 6015: 0x266D, - 6016: 0x2669, - 6017: 0x266A, - 6018: 0x266C, - 6019: 0x327F, - 6020: 0x321C, - 6021: 0x2116, - 6022: 0x33C7, - 6023: 0x2122, - 6024: 0x33C2, - 6025: 0x33D8, - 6026: 0x2121, - 6027: 0x20AC, - 6028: 0x00AE, - 6052: 0xC971, - 6053: 0xC972, - 6054: 0xC973, - 6055: 0xC975, - 6056: 0xC976, - 6057: 0xC977, - 6058: 0xC978, - 6059: 0xC979, - 6060: 0xC97A, - 6061: 0xC97B, - 6062: 0xC97D, - 6063: 0xC97E, - 6064: 0xC97F, - 6065: 0xC980, - 6066: 0xC981, - 6067: 0xC982, - 6068: 0xC983, - 6069: 0xC984, - 6070: 0xC985, - 6071: 0xC986, - 6072: 0xC987, - 6073: 0xC98A, - 6074: 0xC98B, - 6075: 0xC98D, - 6076: 0xC98E, - 6077: 0xC98F, - 6078: 0xC991, - 6079: 0xC992, - 6080: 0xC993, - 6081: 0xC994, - 6082: 0xC995, - 6083: 0xC996, - 6084: 0xC997, - 6085: 0xC99A, - 6086: 0xC99C, - 6087: 0xC99E, - 6088: 0xC99F, - 6089: 0xC9A0, - 6090: 0xC9A1, - 6091: 0xC9A2, - 6092: 0xC9A3, - 6093: 0xC9A4, - 6094: 0xC9A5, - 6095: 0xC9A6, - 6096: 0xC9A7, - 6097: 0xC9A8, - 6098: 0xC9A9, - 6099: 0xC9AA, - 6100: 0xC9AB, - 6101: 0xC9AC, - 6102: 0xC9AD, - 6103: 0xC9AE, - 6104: 0xC9AF, - 6105: 0xC9B0, - 6106: 0xC9B1, - 6107: 0xC9B2, - 6108: 0xC9B3, - 6109: 0xC9B4, - 6110: 0xC9B5, - 6111: 0xC9B6, - 6112: 0xC9B7, - 6113: 0xC9B8, - 6114: 0xC9B9, - 6115: 0xC9BA, - 6116: 0xC9BB, - 6117: 0xC9BC, - 6118: 0xC9BD, - 6119: 0xC9BE, - 6120: 0xC9BF, - 6121: 0xC9C2, - 6122: 0xC9C3, - 6123: 0xC9C5, - 6124: 0xC9C6, - 6125: 0xC9C9, - 6126: 0xC9CB, - 6127: 0xC9CC, - 6128: 0xC9CD, - 6129: 0xC9CE, - 6130: 0xC9CF, - 6131: 0xC9D2, - 6132: 0xC9D4, - 6133: 0xC9D7, - 6134: 0xC9D8, - 6135: 0xC9DB, - 6136: 0xFF01, - 6137: 0xFF02, - 6138: 0xFF03, - 6139: 0xFF04, - 6140: 0xFF05, - 6141: 0xFF06, - 6142: 0xFF07, - 6143: 0xFF08, - 6144: 0xFF09, - 6145: 0xFF0A, - 6146: 0xFF0B, - 6147: 0xFF0C, - 6148: 0xFF0D, - 6149: 0xFF0E, - 6150: 0xFF0F, - 6151: 0xFF10, - 6152: 0xFF11, - 6153: 0xFF12, - 6154: 0xFF13, - 6155: 0xFF14, - 6156: 0xFF15, - 6157: 0xFF16, - 6158: 0xFF17, - 6159: 0xFF18, - 6160: 0xFF19, - 6161: 0xFF1A, - 6162: 0xFF1B, - 6163: 0xFF1C, - 6164: 0xFF1D, - 6165: 0xFF1E, - 6166: 0xFF1F, - 6167: 0xFF20, - 6168: 0xFF21, - 6169: 0xFF22, - 6170: 0xFF23, - 6171: 0xFF24, - 6172: 0xFF25, - 6173: 0xFF26, - 6174: 0xFF27, - 6175: 0xFF28, - 6176: 0xFF29, - 6177: 0xFF2A, - 6178: 0xFF2B, - 6179: 0xFF2C, - 6180: 0xFF2D, - 6181: 0xFF2E, - 6182: 0xFF2F, - 6183: 0xFF30, - 6184: 0xFF31, - 6185: 0xFF32, - 6186: 0xFF33, - 6187: 0xFF34, - 6188: 0xFF35, - 6189: 0xFF36, - 6190: 0xFF37, - 6191: 0xFF38, - 6192: 0xFF39, - 6193: 0xFF3A, - 6194: 0xFF3B, - 6195: 0xFFE6, - 6196: 0xFF3D, - 6197: 0xFF3E, - 6198: 0xFF3F, - 6199: 0xFF40, - 6200: 0xFF41, - 6201: 0xFF42, - 6202: 0xFF43, - 6203: 0xFF44, - 6204: 0xFF45, - 6205: 0xFF46, - 6206: 0xFF47, - 6207: 0xFF48, - 6208: 0xFF49, - 6209: 0xFF4A, - 6210: 0xFF4B, - 6211: 0xFF4C, - 6212: 0xFF4D, - 6213: 0xFF4E, - 6214: 0xFF4F, - 6215: 0xFF50, - 6216: 0xFF51, - 6217: 0xFF52, - 6218: 0xFF53, - 6219: 0xFF54, - 6220: 0xFF55, - 6221: 0xFF56, - 6222: 0xFF57, - 6223: 0xFF58, - 6224: 0xFF59, - 6225: 0xFF5A, - 6226: 0xFF5B, - 6227: 0xFF5C, - 6228: 0xFF5D, - 6229: 0xFFE3, - 6230: 0xC9DE, - 6231: 0xC9DF, - 6232: 0xC9E1, - 6233: 0xC9E3, - 6234: 0xC9E5, - 6235: 0xC9E6, - 6236: 0xC9E8, - 6237: 0xC9E9, - 6238: 0xC9EA, - 6239: 0xC9EB, - 6240: 0xC9EE, - 6241: 0xC9F2, - 6242: 0xC9F3, - 6243: 0xC9F4, - 6244: 0xC9F5, - 6245: 0xC9F6, - 6246: 0xC9F7, - 6247: 0xC9FA, - 6248: 0xC9FB, - 6249: 0xC9FD, - 6250: 0xC9FE, - 6251: 0xC9FF, - 6252: 0xCA01, - 6253: 0xCA02, - 6254: 0xCA03, - 6255: 0xCA04, - 6256: 0xCA05, - 6257: 0xCA06, - 6258: 0xCA07, - 6259: 0xCA0A, - 6260: 0xCA0E, - 6261: 0xCA0F, - 6262: 0xCA10, - 6263: 0xCA11, - 6264: 0xCA12, - 6265: 0xCA13, - 6266: 0xCA15, - 6267: 0xCA16, - 6268: 0xCA17, - 6269: 0xCA19, - 6270: 0xCA1A, - 6271: 0xCA1B, - 6272: 0xCA1C, - 6273: 0xCA1D, - 6274: 0xCA1E, - 6275: 0xCA1F, - 6276: 0xCA20, - 6277: 0xCA21, - 6278: 0xCA22, - 6279: 0xCA23, - 6280: 0xCA24, - 6281: 0xCA25, - 6282: 0xCA26, - 6283: 0xCA27, - 6284: 0xCA28, - 6285: 0xCA2A, - 6286: 0xCA2B, - 6287: 0xCA2C, - 6288: 0xCA2D, - 6289: 0xCA2E, - 6290: 0xCA2F, - 6291: 0xCA30, - 6292: 0xCA31, - 6293: 0xCA32, - 6294: 0xCA33, - 6295: 0xCA34, - 6296: 0xCA35, - 6297: 0xCA36, - 6298: 0xCA37, - 6299: 0xCA38, - 6300: 0xCA39, - 6301: 0xCA3A, - 6302: 0xCA3B, - 6303: 0xCA3C, - 6304: 0xCA3D, - 6305: 0xCA3E, - 6306: 0xCA3F, - 6307: 0xCA40, - 6308: 0xCA41, - 6309: 0xCA42, - 6310: 0xCA43, - 6311: 0xCA44, - 6312: 0xCA45, - 6313: 0xCA46, - 6314: 0x3131, - 6315: 0x3132, - 6316: 0x3133, - 6317: 0x3134, - 6318: 0x3135, - 6319: 0x3136, - 6320: 0x3137, - 6321: 0x3138, - 6322: 0x3139, - 6323: 0x313A, - 6324: 0x313B, - 6325: 0x313C, - 6326: 0x313D, - 6327: 0x313E, - 6328: 0x313F, - 6329: 0x3140, - 6330: 0x3141, - 6331: 0x3142, - 6332: 0x3143, - 6333: 0x3144, - 6334: 0x3145, - 6335: 0x3146, - 6336: 0x3147, - 6337: 0x3148, - 6338: 0x3149, - 6339: 0x314A, - 6340: 0x314B, - 6341: 0x314C, - 6342: 0x314D, - 6343: 0x314E, - 6344: 0x314F, - 6345: 0x3150, - 6346: 0x3151, - 6347: 0x3152, - 6348: 0x3153, - 6349: 0x3154, - 6350: 0x3155, - 6351: 0x3156, - 6352: 0x3157, - 6353: 0x3158, - 6354: 0x3159, - 6355: 0x315A, - 6356: 0x315B, - 6357: 0x315C, - 6358: 0x315D, - 6359: 0x315E, - 6360: 0x315F, - 6361: 0x3160, - 6362: 0x3161, - 6363: 0x3162, - 6364: 0x3163, - 6365: 0x3164, - 6366: 0x3165, - 6367: 0x3166, - 6368: 0x3167, - 6369: 0x3168, - 6370: 0x3169, - 6371: 0x316A, - 6372: 0x316B, - 6373: 0x316C, - 6374: 0x316D, - 6375: 0x316E, - 6376: 0x316F, - 6377: 0x3170, - 6378: 0x3171, - 6379: 0x3172, - 6380: 0x3173, - 6381: 0x3174, - 6382: 0x3175, - 6383: 0x3176, - 6384: 0x3177, - 6385: 0x3178, - 6386: 0x3179, - 6387: 0x317A, - 6388: 0x317B, - 6389: 0x317C, - 6390: 0x317D, - 6391: 0x317E, - 6392: 0x317F, - 6393: 0x3180, - 6394: 0x3181, - 6395: 0x3182, - 6396: 0x3183, - 6397: 0x3184, - 6398: 0x3185, - 6399: 0x3186, - 6400: 0x3187, - 6401: 0x3188, - 6402: 0x3189, - 6403: 0x318A, - 6404: 0x318B, - 6405: 0x318C, - 6406: 0x318D, - 6407: 0x318E, - 6408: 0xCA47, - 6409: 0xCA48, - 6410: 0xCA49, - 6411: 0xCA4A, - 6412: 0xCA4B, - 6413: 0xCA4E, - 6414: 0xCA4F, - 6415: 0xCA51, - 6416: 0xCA52, - 6417: 0xCA53, - 6418: 0xCA55, - 6419: 0xCA56, - 6420: 0xCA57, - 6421: 0xCA58, - 6422: 0xCA59, - 6423: 0xCA5A, - 6424: 0xCA5B, - 6425: 0xCA5E, - 6426: 0xCA62, - 6427: 0xCA63, - 6428: 0xCA64, - 6429: 0xCA65, - 6430: 0xCA66, - 6431: 0xCA67, - 6432: 0xCA69, - 6433: 0xCA6A, - 6434: 0xCA6B, - 6435: 0xCA6C, - 6436: 0xCA6D, - 6437: 0xCA6E, - 6438: 0xCA6F, - 6439: 0xCA70, - 6440: 0xCA71, - 6441: 0xCA72, - 6442: 0xCA73, - 6443: 0xCA74, - 6444: 0xCA75, - 6445: 0xCA76, - 6446: 0xCA77, - 6447: 0xCA78, - 6448: 0xCA79, - 6449: 0xCA7A, - 6450: 0xCA7B, - 6451: 0xCA7C, - 6452: 0xCA7E, - 6453: 0xCA7F, - 6454: 0xCA80, - 6455: 0xCA81, - 6456: 0xCA82, - 6457: 0xCA83, - 6458: 0xCA85, - 6459: 0xCA86, - 6460: 0xCA87, - 6461: 0xCA88, - 6462: 0xCA89, - 6463: 0xCA8A, - 6464: 0xCA8B, - 6465: 0xCA8C, - 6466: 0xCA8D, - 6467: 0xCA8E, - 6468: 0xCA8F, - 6469: 0xCA90, - 6470: 0xCA91, - 6471: 0xCA92, - 6472: 0xCA93, - 6473: 0xCA94, - 6474: 0xCA95, - 6475: 0xCA96, - 6476: 0xCA97, - 6477: 0xCA99, - 6478: 0xCA9A, - 6479: 0xCA9B, - 6480: 0xCA9C, - 6481: 0xCA9D, - 6482: 0xCA9E, - 6483: 0xCA9F, - 6484: 0xCAA0, - 6485: 0xCAA1, - 6486: 0xCAA2, - 6487: 0xCAA3, - 6488: 0xCAA4, - 6489: 0xCAA5, - 6490: 0xCAA6, - 6491: 0xCAA7, - 6492: 0x2170, - 6493: 0x2171, - 6494: 0x2172, - 6495: 0x2173, - 6496: 0x2174, - 6497: 0x2175, - 6498: 0x2176, - 6499: 0x2177, - 6500: 0x2178, - 6501: 0x2179, - 6507: 0x2160, - 6508: 0x2161, - 6509: 0x2162, - 6510: 0x2163, - 6511: 0x2164, - 6512: 0x2165, - 6513: 0x2166, - 6514: 0x2167, - 6515: 0x2168, - 6516: 0x2169, - 6524: 0x0391, - 6525: 0x0392, - 6526: 0x0393, - 6527: 0x0394, - 6528: 0x0395, - 6529: 0x0396, - 6530: 0x0397, - 6531: 0x0398, - 6532: 0x0399, - 6533: 0x039A, - 6534: 0x039B, - 6535: 0x039C, - 6536: 0x039D, - 6537: 0x039E, - 6538: 0x039F, - 6539: 0x03A0, - 6540: 0x03A1, - 6541: 0x03A3, - 6542: 0x03A4, - 6543: 0x03A5, - 6544: 0x03A6, - 6545: 0x03A7, - 6546: 0x03A8, - 6547: 0x03A9, - 6556: 0x03B1, - 6557: 0x03B2, - 6558: 0x03B3, - 6559: 0x03B4, - 6560: 0x03B5, - 6561: 0x03B6, - 6562: 0x03B7, - 6563: 0x03B8, - 6564: 0x03B9, - 6565: 0x03BA, - 6566: 0x03BB, - 6567: 0x03BC, - 6568: 0x03BD, - 6569: 0x03BE, - 6570: 0x03BF, - 6571: 0x03C0, - 6572: 0x03C1, - 6573: 0x03C3, - 6574: 0x03C4, - 6575: 0x03C5, - 6576: 0x03C6, - 6577: 0x03C7, - 6578: 0x03C8, - 6579: 0x03C9, - 6586: 0xCAA8, - 6587: 0xCAA9, - 6588: 0xCAAA, - 6589: 0xCAAB, - 6590: 0xCAAC, - 6591: 0xCAAD, - 6592: 0xCAAE, - 6593: 0xCAAF, - 6594: 0xCAB0, - 6595: 0xCAB1, - 6596: 0xCAB2, - 6597: 0xCAB3, - 6598: 0xCAB4, - 6599: 0xCAB5, - 6600: 0xCAB6, - 6601: 0xCAB7, - 6602: 0xCAB8, - 6603: 0xCAB9, - 6604: 0xCABA, - 6605: 0xCABB, - 6606: 0xCABE, - 6607: 0xCABF, - 6608: 0xCAC1, - 6609: 0xCAC2, - 6610: 0xCAC3, - 6611: 0xCAC5, - 6612: 0xCAC6, - 6613: 0xCAC7, - 6614: 0xCAC8, - 6615: 0xCAC9, - 6616: 0xCACA, - 6617: 0xCACB, - 6618: 0xCACE, - 6619: 0xCAD0, - 6620: 0xCAD2, - 6621: 0xCAD4, - 6622: 0xCAD5, - 6623: 0xCAD6, - 6624: 0xCAD7, - 6625: 0xCADA, - 6626: 0xCADB, - 6627: 0xCADC, - 6628: 0xCADD, - 6629: 0xCADE, - 6630: 0xCADF, - 6631: 0xCAE1, - 6632: 0xCAE2, - 6633: 0xCAE3, - 6634: 0xCAE4, - 6635: 0xCAE5, - 6636: 0xCAE6, - 6637: 0xCAE7, - 6638: 0xCAE8, - 6639: 0xCAE9, - 6640: 0xCAEA, - 6641: 0xCAEB, - 6642: 0xCAED, - 6643: 0xCAEE, - 6644: 0xCAEF, - 6645: 0xCAF0, - 6646: 0xCAF1, - 6647: 0xCAF2, - 6648: 0xCAF3, - 6649: 0xCAF5, - 6650: 0xCAF6, - 6651: 0xCAF7, - 6652: 0xCAF8, - 6653: 0xCAF9, - 6654: 0xCAFA, - 6655: 0xCAFB, - 6656: 0xCAFC, - 6657: 0xCAFD, - 6658: 0xCAFE, - 6659: 0xCAFF, - 6660: 0xCB00, - 6661: 0xCB01, - 6662: 0xCB02, - 6663: 0xCB03, - 6664: 0xCB04, - 6665: 0xCB05, - 6666: 0xCB06, - 6667: 0xCB07, - 6668: 0xCB09, - 6669: 0xCB0A, - 6670: 0x2500, - 6671: 0x2502, - 6672: 0x250C, - 6673: 0x2510, - 6674: 0x2518, - 6675: 0x2514, - 6676: 0x251C, - 6677: 0x252C, - 6678: 0x2524, - 6679: 0x2534, - 6680: 0x253C, - 6681: 0x2501, - 6682: 0x2503, - 6683: 0x250F, - 6684: 0x2513, - 6685: 0x251B, - 6686: 0x2517, - 6687: 0x2523, - 6688: 0x2533, - 6689: 0x252B, - 6690: 0x253B, - 6691: 0x254B, - 6692: 0x2520, - 6693: 0x252F, - 6694: 0x2528, - 6695: 0x2537, - 6696: 0x253F, - 6697: 0x251D, - 6698: 0x2530, - 6699: 0x2525, - 6700: 0x2538, - 6701: 0x2542, - 6702: 0x2512, - 6703: 0x2511, - 6704: 0x251A, - 6705: 0x2519, - 6706: 0x2516, - 6707: 0x2515, - 6708: 0x250E, - 6709: 0x250D, - 6710: 0x251E, - 6711: 0x251F, - 6712: 0x2521, - 6713: 0x2522, - 6714: 0x2526, - 6715: 0x2527, - 6716: 0x2529, - 6717: 0x252A, - 6718: 0x252D, - 6719: 0x252E, - 6720: 0x2531, - 6721: 0x2532, - 6722: 0x2535, - 6723: 0x2536, - 6724: 0x2539, - 6725: 0x253A, - 6726: 0x253D, - 6727: 0x253E, - 6728: 0x2540, - 6729: 0x2541, - 6730: 0x2543, - 6731: 0x2544, - 6732: 0x2545, - 6733: 0x2546, - 6734: 0x2547, - 6735: 0x2548, - 6736: 0x2549, - 6737: 0x254A, - 6764: 0xCB0B, - 6765: 0xCB0C, - 6766: 0xCB0D, - 6767: 0xCB0E, - 6768: 0xCB0F, - 6769: 0xCB11, - 6770: 0xCB12, - 6771: 0xCB13, - 6772: 0xCB15, - 6773: 0xCB16, - 6774: 0xCB17, - 6775: 0xCB19, - 6776: 0xCB1A, - 6777: 0xCB1B, - 6778: 0xCB1C, - 6779: 0xCB1D, - 6780: 0xCB1E, - 6781: 0xCB1F, - 6782: 0xCB22, - 6783: 0xCB23, - 6784: 0xCB24, - 6785: 0xCB25, - 6786: 0xCB26, - 6787: 0xCB27, - 6788: 0xCB28, - 6789: 0xCB29, - 6790: 0xCB2A, - 6791: 0xCB2B, - 6792: 0xCB2C, - 6793: 0xCB2D, - 6794: 0xCB2E, - 6795: 0xCB2F, - 6796: 0xCB30, - 6797: 0xCB31, - 6798: 0xCB32, - 6799: 0xCB33, - 6800: 0xCB34, - 6801: 0xCB35, - 6802: 0xCB36, - 6803: 0xCB37, - 6804: 0xCB38, - 6805: 0xCB39, - 6806: 0xCB3A, - 6807: 0xCB3B, - 6808: 0xCB3C, - 6809: 0xCB3D, - 6810: 0xCB3E, - 6811: 0xCB3F, - 6812: 0xCB40, - 6813: 0xCB42, - 6814: 0xCB43, - 6815: 0xCB44, - 6816: 0xCB45, - 6817: 0xCB46, - 6818: 0xCB47, - 6819: 0xCB4A, - 6820: 0xCB4B, - 6821: 0xCB4D, - 6822: 0xCB4E, - 6823: 0xCB4F, - 6824: 0xCB51, - 6825: 0xCB52, - 6826: 0xCB53, - 6827: 0xCB54, - 6828: 0xCB55, - 6829: 0xCB56, - 6830: 0xCB57, - 6831: 0xCB5A, - 6832: 0xCB5B, - 6833: 0xCB5C, - 6834: 0xCB5E, - 6835: 0xCB5F, - 6836: 0xCB60, - 6837: 0xCB61, - 6838: 0xCB62, - 6839: 0xCB63, - 6840: 0xCB65, - 6841: 0xCB66, - 6842: 0xCB67, - 6843: 0xCB68, - 6844: 0xCB69, - 6845: 0xCB6A, - 6846: 0xCB6B, - 6847: 0xCB6C, - 6848: 0x3395, - 6849: 0x3396, - 6850: 0x3397, - 6851: 0x2113, - 6852: 0x3398, - 6853: 0x33C4, - 6854: 0x33A3, - 6855: 0x33A4, - 6856: 0x33A5, - 6857: 0x33A6, - 6858: 0x3399, - 6859: 0x339A, - 6860: 0x339B, - 6861: 0x339C, - 6862: 0x339D, - 6863: 0x339E, - 6864: 0x339F, - 6865: 0x33A0, - 6866: 0x33A1, - 6867: 0x33A2, - 6868: 0x33CA, - 6869: 0x338D, - 6870: 0x338E, - 6871: 0x338F, - 6872: 0x33CF, - 6873: 0x3388, - 6874: 0x3389, - 6875: 0x33C8, - 6876: 0x33A7, - 6877: 0x33A8, - 6878: 0x33B0, - 6879: 0x33B1, - 6880: 0x33B2, - 6881: 0x33B3, - 6882: 0x33B4, - 6883: 0x33B5, - 6884: 0x33B6, - 6885: 0x33B7, - 6886: 0x33B8, - 6887: 0x33B9, - 6888: 0x3380, - 6889: 0x3381, - 6890: 0x3382, - 6891: 0x3383, - 6892: 0x3384, - 6893: 0x33BA, - 6894: 0x33BB, - 6895: 0x33BC, - 6896: 0x33BD, - 6897: 0x33BE, - 6898: 0x33BF, - 6899: 0x3390, - 6900: 0x3391, - 6901: 0x3392, - 6902: 0x3393, - 6903: 0x3394, - 6904: 0x2126, - 6905: 0x33C0, - 6906: 0x33C1, - 6907: 0x338A, - 6908: 0x338B, - 6909: 0x338C, - 6910: 0x33D6, - 6911: 0x33C5, - 6912: 0x33AD, - 6913: 0x33AE, - 6914: 0x33AF, - 6915: 0x33DB, - 6916: 0x33A9, - 6917: 0x33AA, - 6918: 0x33AB, - 6919: 0x33AC, - 6920: 0x33DD, - 6921: 0x33D0, - 6922: 0x33D3, - 6923: 0x33C3, - 6924: 0x33C9, - 6925: 0x33DC, - 6926: 0x33C6, - 6942: 0xCB6D, - 6943: 0xCB6E, - 6944: 0xCB6F, - 6945: 0xCB70, - 6946: 0xCB71, - 6947: 0xCB72, - 6948: 0xCB73, - 6949: 0xCB74, - 6950: 0xCB75, - 6951: 0xCB76, - 6952: 0xCB77, - 6953: 0xCB7A, - 6954: 0xCB7B, - 6955: 0xCB7C, - 6956: 0xCB7D, - 6957: 0xCB7E, - 6958: 0xCB7F, - 6959: 0xCB80, - 6960: 0xCB81, - 6961: 0xCB82, - 6962: 0xCB83, - 6963: 0xCB84, - 6964: 0xCB85, - 6965: 0xCB86, - 6966: 0xCB87, - 6967: 0xCB88, - 6968: 0xCB89, - 6969: 0xCB8A, - 6970: 0xCB8B, - 6971: 0xCB8C, - 6972: 0xCB8D, - 6973: 0xCB8E, - 6974: 0xCB8F, - 6975: 0xCB90, - 6976: 0xCB91, - 6977: 0xCB92, - 6978: 0xCB93, - 6979: 0xCB94, - 6980: 0xCB95, - 6981: 0xCB96, - 6982: 0xCB97, - 6983: 0xCB98, - 6984: 0xCB99, - 6985: 0xCB9A, - 6986: 0xCB9B, - 6987: 0xCB9D, - 6988: 0xCB9E, - 6989: 0xCB9F, - 6990: 0xCBA0, - 6991: 0xCBA1, - 6992: 0xCBA2, - 6993: 0xCBA3, - 6994: 0xCBA4, - 6995: 0xCBA5, - 6996: 0xCBA6, - 6997: 0xCBA7, - 6998: 0xCBA8, - 6999: 0xCBA9, - 7000: 0xCBAA, - 7001: 0xCBAB, - 7002: 0xCBAC, - 7003: 0xCBAD, - 7004: 0xCBAE, - 7005: 0xCBAF, - 7006: 0xCBB0, - 7007: 0xCBB1, - 7008: 0xCBB2, - 7009: 0xCBB3, - 7010: 0xCBB4, - 7011: 0xCBB5, - 7012: 0xCBB6, - 7013: 0xCBB7, - 7014: 0xCBB9, - 7015: 0xCBBA, - 7016: 0xCBBB, - 7017: 0xCBBC, - 7018: 0xCBBD, - 7019: 0xCBBE, - 7020: 0xCBBF, - 7021: 0xCBC0, - 7022: 0xCBC1, - 7023: 0xCBC2, - 7024: 0xCBC3, - 7025: 0xCBC4, - 7026: 0x00C6, - 7027: 0x00D0, - 7028: 0x00AA, - 7029: 0x0126, - 7031: 0x0132, - 7033: 0x013F, - 7034: 0x0141, - 7035: 0x00D8, - 7036: 0x0152, - 7037: 0x00BA, - 7038: 0x00DE, - 7039: 0x0166, - 7040: 0x014A, - 7042: 0x3260, - 7043: 0x3261, - 7044: 0x3262, - 7045: 0x3263, - 7046: 0x3264, - 7047: 0x3265, - 7048: 0x3266, - 7049: 0x3267, - 7050: 0x3268, - 7051: 0x3269, - 7052: 0x326A, - 7053: 0x326B, - 7054: 0x326C, - 7055: 0x326D, - 7056: 0x326E, - 7057: 0x326F, - 7058: 0x3270, - 7059: 0x3271, - 7060: 0x3272, - 7061: 0x3273, - 7062: 0x3274, - 7063: 0x3275, - 7064: 0x3276, - 7065: 0x3277, - 7066: 0x3278, - 7067: 0x3279, - 7068: 0x327A, - 7069: 0x327B, - 7070: 0x24D0, - 7071: 0x24D1, - 7072: 0x24D2, - 7073: 0x24D3, - 7074: 0x24D4, - 7075: 0x24D5, - 7076: 0x24D6, - 7077: 0x24D7, - 7078: 0x24D8, - 7079: 0x24D9, - 7080: 0x24DA, - 7081: 0x24DB, - 7082: 0x24DC, - 7083: 0x24DD, - 7084: 0x24DE, - 7085: 0x24DF, - 7086: 0x24E0, - 7087: 0x24E1, - 7088: 0x24E2, - 7089: 0x24E3, - 7090: 0x24E4, - 7091: 0x24E5, - 7092: 0x24E6, - 7093: 0x24E7, - 7094: 0x24E8, - 7095: 0x24E9, - 7096: 0x2460, - 7097: 0x2461, - 7098: 0x2462, - 7099: 0x2463, - 7100: 0x2464, - 7101: 0x2465, - 7102: 0x2466, - 7103: 0x2467, - 7104: 0x2468, - 7105: 0x2469, - 7106: 0x246A, - 7107: 0x246B, - 7108: 0x246C, - 7109: 0x246D, - 7110: 0x246E, - 7111: 0x00BD, - 7112: 0x2153, - 7113: 0x2154, - 7114: 0x00BC, - 7115: 0x00BE, - 7116: 0x215B, - 7117: 0x215C, - 7118: 0x215D, - 7119: 0x215E, - 7120: 0xCBC5, - 7121: 0xCBC6, - 7122: 0xCBC7, - 7123: 0xCBC8, - 7124: 0xCBC9, - 7125: 0xCBCA, - 7126: 0xCBCB, - 7127: 0xCBCC, - 7128: 0xCBCD, - 7129: 0xCBCE, - 7130: 0xCBCF, - 7131: 0xCBD0, - 7132: 0xCBD1, - 7133: 0xCBD2, - 7134: 0xCBD3, - 7135: 0xCBD5, - 7136: 0xCBD6, - 7137: 0xCBD7, - 7138: 0xCBD8, - 7139: 0xCBD9, - 7140: 0xCBDA, - 7141: 0xCBDB, - 7142: 0xCBDC, - 7143: 0xCBDD, - 7144: 0xCBDE, - 7145: 0xCBDF, - 7146: 0xCBE0, - 7147: 0xCBE1, - 7148: 0xCBE2, - 7149: 0xCBE3, - 7150: 0xCBE5, - 7151: 0xCBE6, - 7152: 0xCBE8, - 7153: 0xCBEA, - 7154: 0xCBEB, - 7155: 0xCBEC, - 7156: 0xCBED, - 7157: 0xCBEE, - 7158: 0xCBEF, - 7159: 0xCBF0, - 7160: 0xCBF1, - 7161: 0xCBF2, - 7162: 0xCBF3, - 7163: 0xCBF4, - 7164: 0xCBF5, - 7165: 0xCBF6, - 7166: 0xCBF7, - 7167: 0xCBF8, - 7168: 0xCBF9, - 7169: 0xCBFA, - 7170: 0xCBFB, - 7171: 0xCBFC, - 7172: 0xCBFD, - 7173: 0xCBFE, - 7174: 0xCBFF, - 7175: 0xCC00, - 7176: 0xCC01, - 7177: 0xCC02, - 7178: 0xCC03, - 7179: 0xCC04, - 7180: 0xCC05, - 7181: 0xCC06, - 7182: 0xCC07, - 7183: 0xCC08, - 7184: 0xCC09, - 7185: 0xCC0A, - 7186: 0xCC0B, - 7187: 0xCC0E, - 7188: 0xCC0F, - 7189: 0xCC11, - 7190: 0xCC12, - 7191: 0xCC13, - 7192: 0xCC15, - 7193: 0xCC16, - 7194: 0xCC17, - 7195: 0xCC18, - 7196: 0xCC19, - 7197: 0xCC1A, - 7198: 0xCC1B, - 7199: 0xCC1E, - 7200: 0xCC1F, - 7201: 0xCC20, - 7202: 0xCC23, - 7203: 0xCC24, - 7204: 0x00E6, - 7205: 0x0111, - 7206: 0x00F0, - 7207: 0x0127, - 7208: 0x0131, - 7209: 0x0133, - 7210: 0x0138, - 7211: 0x0140, - 7212: 0x0142, - 7213: 0x00F8, - 7214: 0x0153, - 7215: 0x00DF, - 7216: 0x00FE, - 7217: 0x0167, - 7218: 0x014B, - 7219: 0x0149, - 7220: 0x3200, - 7221: 0x3201, - 7222: 0x3202, - 7223: 0x3203, - 7224: 0x3204, - 7225: 0x3205, - 7226: 0x3206, - 7227: 0x3207, - 7228: 0x3208, - 7229: 0x3209, - 7230: 0x320A, - 7231: 0x320B, - 7232: 0x320C, - 7233: 0x320D, - 7234: 0x320E, - 7235: 0x320F, - 7236: 0x3210, - 7237: 0x3211, - 7238: 0x3212, - 7239: 0x3213, - 7240: 0x3214, - 7241: 0x3215, - 7242: 0x3216, - 7243: 0x3217, - 7244: 0x3218, - 7245: 0x3219, - 7246: 0x321A, - 7247: 0x321B, - 7248: 0x249C, - 7249: 0x249D, - 7250: 0x249E, - 7251: 0x249F, - 7252: 0x24A0, - 7253: 0x24A1, - 7254: 0x24A2, - 7255: 0x24A3, - 7256: 0x24A4, - 7257: 0x24A5, - 7258: 0x24A6, - 7259: 0x24A7, - 7260: 0x24A8, - 7261: 0x24A9, - 7262: 0x24AA, - 7263: 0x24AB, - 7264: 0x24AC, - 7265: 0x24AD, - 7266: 0x24AE, - 7267: 0x24AF, - 7268: 0x24B0, - 7269: 0x24B1, - 7270: 0x24B2, - 7271: 0x24B3, - 7272: 0x24B4, - 7273: 0x24B5, - 7274: 0x2474, - 7275: 0x2475, - 7276: 0x2476, - 7277: 0x2477, - 7278: 0x2478, - 7279: 0x2479, - 7280: 0x247A, - 7281: 0x247B, - 7282: 0x247C, - 7283: 0x247D, - 7284: 0x247E, - 7285: 0x247F, - 7286: 0x2480, - 7287: 0x2481, - 7288: 0x2482, - 7289: 0x00B9, - 7290: 0x00B2, - 7291: 0x00B3, - 7292: 0x2074, - 7293: 0x207F, - 7294: 0x2081, - 7295: 0x2082, - 7296: 0x2083, - 7297: 0x2084, - 7298: 0xCC25, - 7299: 0xCC26, - 7300: 0xCC2A, - 7301: 0xCC2B, - 7302: 0xCC2D, - 7303: 0xCC2F, - 7304: 0xCC31, - 7305: 0xCC32, - 7306: 0xCC33, - 7307: 0xCC34, - 7308: 0xCC35, - 7309: 0xCC36, - 7310: 0xCC37, - 7311: 0xCC3A, - 7312: 0xCC3F, - 7313: 0xCC40, - 7314: 0xCC41, - 7315: 0xCC42, - 7316: 0xCC43, - 7317: 0xCC46, - 7318: 0xCC47, - 7319: 0xCC49, - 7320: 0xCC4A, - 7321: 0xCC4B, - 7322: 0xCC4D, - 7323: 0xCC4E, - 7324: 0xCC4F, - 7325: 0xCC50, - 7326: 0xCC51, - 7327: 0xCC52, - 7328: 0xCC53, - 7329: 0xCC56, - 7330: 0xCC5A, - 7331: 0xCC5B, - 7332: 0xCC5C, - 7333: 0xCC5D, - 7334: 0xCC5E, - 7335: 0xCC5F, - 7336: 0xCC61, - 7337: 0xCC62, - 7338: 0xCC63, - 7339: 0xCC65, - 7340: 0xCC67, - 7341: 0xCC69, - 7342: 0xCC6A, - 7343: 0xCC6B, - 7344: 0xCC6C, - 7345: 0xCC6D, - 7346: 0xCC6E, - 7347: 0xCC6F, - 7348: 0xCC71, - 7349: 0xCC72, - 7350: 0xCC73, - 7351: 0xCC74, - 7352: 0xCC76, - 7353: 0xCC77, - 7354: 0xCC78, - 7355: 0xCC79, - 7356: 0xCC7A, - 7357: 0xCC7B, - 7358: 0xCC7C, - 7359: 0xCC7D, - 7360: 0xCC7E, - 7361: 0xCC7F, - 7362: 0xCC80, - 7363: 0xCC81, - 7364: 0xCC82, - 7365: 0xCC83, - 7366: 0xCC84, - 7367: 0xCC85, - 7368: 0xCC86, - 7369: 0xCC87, - 7370: 0xCC88, - 7371: 0xCC89, - 7372: 0xCC8A, - 7373: 0xCC8B, - 7374: 0xCC8C, - 7375: 0xCC8D, - 7376: 0xCC8E, - 7377: 0xCC8F, - 7378: 0xCC90, - 7379: 0xCC91, - 7380: 0xCC92, - 7381: 0xCC93, - 7382: 0x3041, - 7383: 0x3042, - 7384: 0x3043, - 7385: 0x3044, - 7386: 0x3045, - 7387: 0x3046, - 7388: 0x3047, - 7389: 0x3048, - 7390: 0x3049, - 7391: 0x304A, - 7392: 0x304B, - 7393: 0x304C, - 7394: 0x304D, - 7395: 0x304E, - 7396: 0x304F, - 7397: 0x3050, - 7398: 0x3051, - 7399: 0x3052, - 7400: 0x3053, - 7401: 0x3054, - 7402: 0x3055, - 7403: 0x3056, - 7404: 0x3057, - 7405: 0x3058, - 7406: 0x3059, - 7407: 0x305A, - 7408: 0x305B, - 7409: 0x305C, - 7410: 0x305D, - 7411: 0x305E, - 7412: 0x305F, - 7413: 0x3060, - 7414: 0x3061, - 7415: 0x3062, - 7416: 0x3063, - 7417: 0x3064, - 7418: 0x3065, - 7419: 0x3066, - 7420: 0x3067, - 7421: 0x3068, - 7422: 0x3069, - 7423: 0x306A, - 7424: 0x306B, - 7425: 0x306C, - 7426: 0x306D, - 7427: 0x306E, - 7428: 0x306F, - 7429: 0x3070, - 7430: 0x3071, - 7431: 0x3072, - 7432: 0x3073, - 7433: 0x3074, - 7434: 0x3075, - 7435: 0x3076, - 7436: 0x3077, - 7437: 0x3078, - 7438: 0x3079, - 7439: 0x307A, - 7440: 0x307B, - 7441: 0x307C, - 7442: 0x307D, - 7443: 0x307E, - 7444: 0x307F, - 7445: 0x3080, - 7446: 0x3081, - 7447: 0x3082, - 7448: 0x3083, - 7449: 0x3084, - 7450: 0x3085, - 7451: 0x3086, - 7452: 0x3087, - 7453: 0x3088, - 7454: 0x3089, - 7455: 0x308A, - 7456: 0x308B, - 7457: 0x308C, - 7458: 0x308D, - 7459: 0x308E, - 7460: 0x308F, - 7461: 0x3090, - 7462: 0x3091, - 7463: 0x3092, - 7464: 0x3093, - 7476: 0xCC94, - 7477: 0xCC95, - 7478: 0xCC96, - 7479: 0xCC97, - 7480: 0xCC9A, - 7481: 0xCC9B, - 7482: 0xCC9D, - 7483: 0xCC9E, - 7484: 0xCC9F, - 7485: 0xCCA1, - 7486: 0xCCA2, - 7487: 0xCCA3, - 7488: 0xCCA4, - 7489: 0xCCA5, - 7490: 0xCCA6, - 7491: 0xCCA7, - 7492: 0xCCAA, - 7493: 0xCCAE, - 7494: 0xCCAF, - 7495: 0xCCB0, - 7496: 0xCCB1, - 7497: 0xCCB2, - 7498: 0xCCB3, - 7499: 0xCCB6, - 7500: 0xCCB7, - 7501: 0xCCB9, - 7502: 0xCCBA, - 7503: 0xCCBB, - 7504: 0xCCBD, - 7505: 0xCCBE, - 7506: 0xCCBF, - 7507: 0xCCC0, - 7508: 0xCCC1, - 7509: 0xCCC2, - 7510: 0xCCC3, - 7511: 0xCCC6, - 7512: 0xCCC8, - 7513: 0xCCCA, - 7514: 0xCCCB, - 7515: 0xCCCC, - 7516: 0xCCCD, - 7517: 0xCCCE, - 7518: 0xCCCF, - 7519: 0xCCD1, - 7520: 0xCCD2, - 7521: 0xCCD3, - 7522: 0xCCD5, - 7523: 0xCCD6, - 7524: 0xCCD7, - 7525: 0xCCD8, - 7526: 0xCCD9, - 7527: 0xCCDA, - 7528: 0xCCDB, - 7529: 0xCCDC, - 7530: 0xCCDD, - 7531: 0xCCDE, - 7532: 0xCCDF, - 7533: 0xCCE0, - 7534: 0xCCE1, - 7535: 0xCCE2, - 7536: 0xCCE3, - 7537: 0xCCE5, - 7538: 0xCCE6, - 7539: 0xCCE7, - 7540: 0xCCE8, - 7541: 0xCCE9, - 7542: 0xCCEA, - 7543: 0xCCEB, - 7544: 0xCCED, - 7545: 0xCCEE, - 7546: 0xCCEF, - 7547: 0xCCF1, - 7548: 0xCCF2, - 7549: 0xCCF3, - 7550: 0xCCF4, - 7551: 0xCCF5, - 7552: 0xCCF6, - 7553: 0xCCF7, - 7554: 0xCCF8, - 7555: 0xCCF9, - 7556: 0xCCFA, - 7557: 0xCCFB, - 7558: 0xCCFC, - 7559: 0xCCFD, - 7560: 0x30A1, - 7561: 0x30A2, - 7562: 0x30A3, - 7563: 0x30A4, - 7564: 0x30A5, - 7565: 0x30A6, - 7566: 0x30A7, - 7567: 0x30A8, - 7568: 0x30A9, - 7569: 0x30AA, - 7570: 0x30AB, - 7571: 0x30AC, - 7572: 0x30AD, - 7573: 0x30AE, - 7574: 0x30AF, - 7575: 0x30B0, - 7576: 0x30B1, - 7577: 0x30B2, - 7578: 0x30B3, - 7579: 0x30B4, - 7580: 0x30B5, - 7581: 0x30B6, - 7582: 0x30B7, - 7583: 0x30B8, - 7584: 0x30B9, - 7585: 0x30BA, - 7586: 0x30BB, - 7587: 0x30BC, - 7588: 0x30BD, - 7589: 0x30BE, - 7590: 0x30BF, - 7591: 0x30C0, - 7592: 0x30C1, - 7593: 0x30C2, - 7594: 0x30C3, - 7595: 0x30C4, - 7596: 0x30C5, - 7597: 0x30C6, - 7598: 0x30C7, - 7599: 0x30C8, - 7600: 0x30C9, - 7601: 0x30CA, - 7602: 0x30CB, - 7603: 0x30CC, - 7604: 0x30CD, - 7605: 0x30CE, - 7606: 0x30CF, - 7607: 0x30D0, - 7608: 0x30D1, - 7609: 0x30D2, - 7610: 0x30D3, - 7611: 0x30D4, - 7612: 0x30D5, - 7613: 0x30D6, - 7614: 0x30D7, - 7615: 0x30D8, - 7616: 0x30D9, - 7617: 0x30DA, - 7618: 0x30DB, - 7619: 0x30DC, - 7620: 0x30DD, - 7621: 0x30DE, - 7622: 0x30DF, - 7623: 0x30E0, - 7624: 0x30E1, - 7625: 0x30E2, - 7626: 0x30E3, - 7627: 0x30E4, - 7628: 0x30E5, - 7629: 0x30E6, - 7630: 0x30E7, - 7631: 0x30E8, - 7632: 0x30E9, - 7633: 0x30EA, - 7634: 0x30EB, - 7635: 0x30EC, - 7636: 0x30ED, - 7637: 0x30EE, - 7638: 0x30EF, - 7639: 0x30F0, - 7640: 0x30F1, - 7641: 0x30F2, - 7642: 0x30F3, - 7643: 0x30F4, - 7644: 0x30F5, - 7645: 0x30F6, - 7654: 0xCCFE, - 7655: 0xCCFF, - 7656: 0xCD00, - 7657: 0xCD02, - 7658: 0xCD03, - 7659: 0xCD04, - 7660: 0xCD05, - 7661: 0xCD06, - 7662: 0xCD07, - 7663: 0xCD0A, - 7664: 0xCD0B, - 7665: 0xCD0D, - 7666: 0xCD0E, - 7667: 0xCD0F, - 7668: 0xCD11, - 7669: 0xCD12, - 7670: 0xCD13, - 7671: 0xCD14, - 7672: 0xCD15, - 7673: 0xCD16, - 7674: 0xCD17, - 7675: 0xCD1A, - 7676: 0xCD1C, - 7677: 0xCD1E, - 7678: 0xCD1F, - 7679: 0xCD20, - 7680: 0xCD21, - 7681: 0xCD22, - 7682: 0xCD23, - 7683: 0xCD25, - 7684: 0xCD26, - 7685: 0xCD27, - 7686: 0xCD29, - 7687: 0xCD2A, - 7688: 0xCD2B, - 7689: 0xCD2D, - 7690: 0xCD2E, - 7691: 0xCD2F, - 7692: 0xCD30, - 7693: 0xCD31, - 7694: 0xCD32, - 7695: 0xCD33, - 7696: 0xCD34, - 7697: 0xCD35, - 7698: 0xCD36, - 7699: 0xCD37, - 7700: 0xCD38, - 7701: 0xCD3A, - 7702: 0xCD3B, - 7703: 0xCD3C, - 7704: 0xCD3D, - 7705: 0xCD3E, - 7706: 0xCD3F, - 7707: 0xCD40, - 7708: 0xCD41, - 7709: 0xCD42, - 7710: 0xCD43, - 7711: 0xCD44, - 7712: 0xCD45, - 7713: 0xCD46, - 7714: 0xCD47, - 7715: 0xCD48, - 7716: 0xCD49, - 7717: 0xCD4A, - 7718: 0xCD4B, - 7719: 0xCD4C, - 7720: 0xCD4D, - 7721: 0xCD4E, - 7722: 0xCD4F, - 7723: 0xCD50, - 7724: 0xCD51, - 7725: 0xCD52, - 7726: 0xCD53, - 7727: 0xCD54, - 7728: 0xCD55, - 7729: 0xCD56, - 7730: 0xCD57, - 7731: 0xCD58, - 7732: 0xCD59, - 7733: 0xCD5A, - 7734: 0xCD5B, - 7735: 0xCD5D, - 7736: 0xCD5E, - 7737: 0xCD5F, - 7738: 0x0410, - 7739: 0x0411, - 7740: 0x0412, - 7741: 0x0413, - 7742: 0x0414, - 7743: 0x0415, - 7744: 0x0401, - 7745: 0x0416, - 7746: 0x0417, - 7747: 0x0418, - 7748: 0x0419, - 7749: 0x041A, - 7750: 0x041B, - 7751: 0x041C, - 7752: 0x041D, - 7753: 0x041E, - 7754: 0x041F, - 7755: 0x0420, - 7756: 0x0421, - 7757: 0x0422, - 7758: 0x0423, - 7759: 0x0424, - 7760: 0x0425, - 7761: 0x0426, - 7762: 0x0427, - 7763: 0x0428, - 7764: 0x0429, - 7765: 0x042A, - 7766: 0x042B, - 7767: 0x042C, - 7768: 0x042D, - 7769: 0x042E, - 7770: 0x042F, - 7786: 0x0430, - 7787: 0x0431, - 7788: 0x0432, - 7789: 0x0433, - 7790: 0x0434, - 7791: 0x0435, - 7792: 0x0451, - 7793: 0x0436, - 7794: 0x0437, - 7795: 0x0438, - 7796: 0x0439, - 7797: 0x043A, - 7798: 0x043B, - 7799: 0x043C, - 7800: 0x043D, - 7801: 0x043E, - 7802: 0x043F, - 7803: 0x0440, - 7804: 0x0441, - 7805: 0x0442, - 7806: 0x0443, - 7807: 0x0444, - 7808: 0x0445, - 7809: 0x0446, - 7810: 0x0447, - 7811: 0x0448, - 7812: 0x0449, - 7813: 0x044A, - 7814: 0x044B, - 7815: 0x044C, - 7816: 0x044D, - 7817: 0x044E, - 7818: 0x044F, - 7832: 0xCD61, - 7833: 0xCD62, - 7834: 0xCD63, - 7835: 0xCD65, - 7836: 0xCD66, - 7837: 0xCD67, - 7838: 0xCD68, - 7839: 0xCD69, - 7840: 0xCD6A, - 7841: 0xCD6B, - 7842: 0xCD6E, - 7843: 0xCD70, - 7844: 0xCD72, - 7845: 0xCD73, - 7846: 0xCD74, - 7847: 0xCD75, - 7848: 0xCD76, - 7849: 0xCD77, - 7850: 0xCD79, - 7851: 0xCD7A, - 7852: 0xCD7B, - 7853: 0xCD7C, - 7854: 0xCD7D, - 7855: 0xCD7E, - 7856: 0xCD7F, - 7857: 0xCD80, - 7858: 0xCD81, - 7859: 0xCD82, - 7860: 0xCD83, - 7861: 0xCD84, - 7862: 0xCD85, - 7863: 0xCD86, - 7864: 0xCD87, - 7865: 0xCD89, - 7866: 0xCD8A, - 7867: 0xCD8B, - 7868: 0xCD8C, - 7869: 0xCD8D, - 7870: 0xCD8E, - 7871: 0xCD8F, - 7872: 0xCD90, - 7873: 0xCD91, - 7874: 0xCD92, - 7875: 0xCD93, - 7876: 0xCD96, - 7877: 0xCD97, - 7878: 0xCD99, - 7879: 0xCD9A, - 7880: 0xCD9B, - 7881: 0xCD9D, - 7882: 0xCD9E, - 7883: 0xCD9F, - 7884: 0xCDA0, - 7885: 0xCDA1, - 7886: 0xCDA2, - 7887: 0xCDA3, - 7888: 0xCDA6, - 7889: 0xCDA8, - 7890: 0xCDAA, - 7891: 0xCDAB, - 7892: 0xCDAC, - 7893: 0xCDAD, - 7894: 0xCDAE, - 7895: 0xCDAF, - 7896: 0xCDB1, - 7897: 0xCDB2, - 7898: 0xCDB3, - 7899: 0xCDB4, - 7900: 0xCDB5, - 7901: 0xCDB6, - 7902: 0xCDB7, - 7903: 0xCDB8, - 7904: 0xCDB9, - 7905: 0xCDBA, - 7906: 0xCDBB, - 7907: 0xCDBC, - 7908: 0xCDBD, - 7909: 0xCDBE, - 7910: 0xCDBF, - 7911: 0xCDC0, - 7912: 0xCDC1, - 7913: 0xCDC2, - 7914: 0xCDC3, - 7915: 0xCDC5, - 8010: 0xCDC6, - 8011: 0xCDC7, - 8012: 0xCDC8, - 8013: 0xCDC9, - 8014: 0xCDCA, - 8015: 0xCDCB, - 8016: 0xCDCD, - 8017: 0xCDCE, - 8018: 0xCDCF, - 8019: 0xCDD1, - 8020: 0xCDD2, - 8021: 0xCDD3, - 8022: 0xCDD4, - 8023: 0xCDD5, - 8024: 0xCDD6, - 8025: 0xCDD7, - 8026: 0xCDD8, - 8027: 0xCDD9, - 8028: 0xCDDA, - 8029: 0xCDDB, - 8030: 0xCDDC, - 8031: 0xCDDD, - 8032: 0xCDDE, - 8033: 0xCDDF, - 8034: 0xCDE0, - 8035: 0xCDE1, - 8036: 0xCDE2, - 8037: 0xCDE3, - 8038: 0xCDE4, - 8039: 0xCDE5, - 8040: 0xCDE6, - 8041: 0xCDE7, - 8042: 0xCDE9, - 8043: 0xCDEA, - 8044: 0xCDEB, - 8045: 0xCDED, - 8046: 0xCDEE, - 8047: 0xCDEF, - 8048: 0xCDF1, - 8049: 0xCDF2, - 8050: 0xCDF3, - 8051: 0xCDF4, - 8052: 0xCDF5, - 8053: 0xCDF6, - 8054: 0xCDF7, - 8055: 0xCDFA, - 8056: 0xCDFC, - 8057: 0xCDFE, - 8058: 0xCDFF, - 8059: 0xCE00, - 8060: 0xCE01, - 8061: 0xCE02, - 8062: 0xCE03, - 8063: 0xCE05, - 8064: 0xCE06, - 8065: 0xCE07, - 8066: 0xCE09, - 8067: 0xCE0A, - 8068: 0xCE0B, - 8069: 0xCE0D, - 8070: 0xCE0E, - 8071: 0xCE0F, - 8072: 0xCE10, - 8073: 0xCE11, - 8074: 0xCE12, - 8075: 0xCE13, - 8076: 0xCE15, - 8077: 0xCE16, - 8078: 0xCE17, - 8079: 0xCE18, - 8080: 0xCE1A, - 8081: 0xCE1B, - 8082: 0xCE1C, - 8083: 0xCE1D, - 8084: 0xCE1E, - 8085: 0xCE1F, - 8086: 0xCE22, - 8087: 0xCE23, - 8088: 0xCE25, - 8089: 0xCE26, - 8090: 0xCE27, - 8091: 0xCE29, - 8092: 0xCE2A, - 8093: 0xCE2B, - 8188: 0xCE2C, - 8189: 0xCE2D, - 8190: 0xCE2E, - 8191: 0xCE2F, - 8192: 0xCE32, - 8193: 0xCE34, - 8194: 0xCE36, - 8195: 0xCE37, - 8196: 0xCE38, - 8197: 0xCE39, - 8198: 0xCE3A, - 8199: 0xCE3B, - 8200: 0xCE3C, - 8201: 0xCE3D, - 8202: 0xCE3E, - 8203: 0xCE3F, - 8204: 0xCE40, - 8205: 0xCE41, - 8206: 0xCE42, - 8207: 0xCE43, - 8208: 0xCE44, - 8209: 0xCE45, - 8210: 0xCE46, - 8211: 0xCE47, - 8212: 0xCE48, - 8213: 0xCE49, - 8214: 0xCE4A, - 8215: 0xCE4B, - 8216: 0xCE4C, - 8217: 0xCE4D, - 8218: 0xCE4E, - 8219: 0xCE4F, - 8220: 0xCE50, - 8221: 0xCE51, - 8222: 0xCE52, - 8223: 0xCE53, - 8224: 0xCE54, - 8225: 0xCE55, - 8226: 0xCE56, - 8227: 0xCE57, - 8228: 0xCE5A, - 8229: 0xCE5B, - 8230: 0xCE5D, - 8231: 0xCE5E, - 8232: 0xCE62, - 8233: 0xCE63, - 8234: 0xCE64, - 8235: 0xCE65, - 8236: 0xCE66, - 8237: 0xCE67, - 8238: 0xCE6A, - 8239: 0xCE6C, - 8240: 0xCE6E, - 8241: 0xCE6F, - 8242: 0xCE70, - 8243: 0xCE71, - 8244: 0xCE72, - 8245: 0xCE73, - 8246: 0xCE76, - 8247: 0xCE77, - 8248: 0xCE79, - 8249: 0xCE7A, - 8250: 0xCE7B, - 8251: 0xCE7D, - 8252: 0xCE7E, - 8253: 0xCE7F, - 8254: 0xCE80, - 8255: 0xCE81, - 8256: 0xCE82, - 8257: 0xCE83, - 8258: 0xCE86, - 8259: 0xCE88, - 8260: 0xCE8A, - 8261: 0xCE8B, - 8262: 0xCE8C, - 8263: 0xCE8D, - 8264: 0xCE8E, - 8265: 0xCE8F, - 8266: 0xCE92, - 8267: 0xCE93, - 8268: 0xCE95, - 8269: 0xCE96, - 8270: 0xCE97, - 8271: 0xCE99, - 8366: 0xCE9A, - 8367: 0xCE9B, - 8368: 0xCE9C, - 8369: 0xCE9D, - 8370: 0xCE9E, - 8371: 0xCE9F, - 8372: 0xCEA2, - 8373: 0xCEA6, - 8374: 0xCEA7, - 8375: 0xCEA8, - 8376: 0xCEA9, - 8377: 0xCEAA, - 8378: 0xCEAB, - 8379: 0xCEAE, - 8380: 0xCEAF, - 8381: 0xCEB0, - 8382: 0xCEB1, - 8383: 0xCEB2, - 8384: 0xCEB3, - 8385: 0xCEB4, - 8386: 0xCEB5, - 8387: 0xCEB6, - 8388: 0xCEB7, - 8389: 0xCEB8, - 8390: 0xCEB9, - 8391: 0xCEBA, - 8392: 0xCEBB, - 8393: 0xCEBC, - 8394: 0xCEBD, - 8395: 0xCEBE, - 8396: 0xCEBF, - 8397: 0xCEC0, - 8398: 0xCEC2, - 8399: 0xCEC3, - 8400: 0xCEC4, - 8401: 0xCEC5, - 8402: 0xCEC6, - 8403: 0xCEC7, - 8404: 0xCEC8, - 8405: 0xCEC9, - 8406: 0xCECA, - 8407: 0xCECB, - 8408: 0xCECC, - 8409: 0xCECD, - 8410: 0xCECE, - 8411: 0xCECF, - 8412: 0xCED0, - 8413: 0xCED1, - 8414: 0xCED2, - 8415: 0xCED3, - 8416: 0xCED4, - 8417: 0xCED5, - 8418: 0xCED6, - 8419: 0xCED7, - 8420: 0xCED8, - 8421: 0xCED9, - 8422: 0xCEDA, - 8423: 0xCEDB, - 8424: 0xCEDC, - 8425: 0xCEDD, - 8426: 0xCEDE, - 8427: 0xCEDF, - 8428: 0xCEE0, - 8429: 0xCEE1, - 8430: 0xCEE2, - 8431: 0xCEE3, - 8432: 0xCEE6, - 8433: 0xCEE7, - 8434: 0xCEE9, - 8435: 0xCEEA, - 8436: 0xCEED, - 8437: 0xCEEE, - 8438: 0xCEEF, - 8439: 0xCEF0, - 8440: 0xCEF1, - 8441: 0xCEF2, - 8442: 0xCEF3, - 8443: 0xCEF6, - 8444: 0xCEFA, - 8445: 0xCEFB, - 8446: 0xCEFC, - 8447: 0xCEFD, - 8448: 0xCEFE, - 8449: 0xCEFF, - 8450: 0xAC00, - 8451: 0xAC01, - 8452: 0xAC04, - 8453: 0xAC07, - 8454: 0xAC08, - 8455: 0xAC09, - 8456: 0xAC0A, - 8457: 0xAC10, - 8458: 0xAC11, - 8459: 0xAC12, - 8460: 0xAC13, - 8461: 0xAC14, - 8462: 0xAC15, - 8463: 0xAC16, - 8464: 0xAC17, - 8465: 0xAC19, - 8466: 0xAC1A, - 8467: 0xAC1B, - 8468: 0xAC1C, - 8469: 0xAC1D, - 8470: 0xAC20, - 8471: 0xAC24, - 8472: 0xAC2C, - 8473: 0xAC2D, - 8474: 0xAC2F, - 8475: 0xAC30, - 8476: 0xAC31, - 8477: 0xAC38, - 8478: 0xAC39, - 8479: 0xAC3C, - 8480: 0xAC40, - 8481: 0xAC4B, - 8482: 0xAC4D, - 8483: 0xAC54, - 8484: 0xAC58, - 8485: 0xAC5C, - 8486: 0xAC70, - 8487: 0xAC71, - 8488: 0xAC74, - 8489: 0xAC77, - 8490: 0xAC78, - 8491: 0xAC7A, - 8492: 0xAC80, - 8493: 0xAC81, - 8494: 0xAC83, - 8495: 0xAC84, - 8496: 0xAC85, - 8497: 0xAC86, - 8498: 0xAC89, - 8499: 0xAC8A, - 8500: 0xAC8B, - 8501: 0xAC8C, - 8502: 0xAC90, - 8503: 0xAC94, - 8504: 0xAC9C, - 8505: 0xAC9D, - 8506: 0xAC9F, - 8507: 0xACA0, - 8508: 0xACA1, - 8509: 0xACA8, - 8510: 0xACA9, - 8511: 0xACAA, - 8512: 0xACAC, - 8513: 0xACAF, - 8514: 0xACB0, - 8515: 0xACB8, - 8516: 0xACB9, - 8517: 0xACBB, - 8518: 0xACBC, - 8519: 0xACBD, - 8520: 0xACC1, - 8521: 0xACC4, - 8522: 0xACC8, - 8523: 0xACCC, - 8524: 0xACD5, - 8525: 0xACD7, - 8526: 0xACE0, - 8527: 0xACE1, - 8528: 0xACE4, - 8529: 0xACE7, - 8530: 0xACE8, - 8531: 0xACEA, - 8532: 0xACEC, - 8533: 0xACEF, - 8534: 0xACF0, - 8535: 0xACF1, - 8536: 0xACF3, - 8537: 0xACF5, - 8538: 0xACF6, - 8539: 0xACFC, - 8540: 0xACFD, - 8541: 0xAD00, - 8542: 0xAD04, - 8543: 0xAD06, - 8544: 0xCF02, - 8545: 0xCF03, - 8546: 0xCF05, - 8547: 0xCF06, - 8548: 0xCF07, - 8549: 0xCF09, - 8550: 0xCF0A, - 8551: 0xCF0B, - 8552: 0xCF0C, - 8553: 0xCF0D, - 8554: 0xCF0E, - 8555: 0xCF0F, - 8556: 0xCF12, - 8557: 0xCF14, - 8558: 0xCF16, - 8559: 0xCF17, - 8560: 0xCF18, - 8561: 0xCF19, - 8562: 0xCF1A, - 8563: 0xCF1B, - 8564: 0xCF1D, - 8565: 0xCF1E, - 8566: 0xCF1F, - 8567: 0xCF21, - 8568: 0xCF22, - 8569: 0xCF23, - 8570: 0xCF25, - 8571: 0xCF26, - 8572: 0xCF27, - 8573: 0xCF28, - 8574: 0xCF29, - 8575: 0xCF2A, - 8576: 0xCF2B, - 8577: 0xCF2E, - 8578: 0xCF32, - 8579: 0xCF33, - 8580: 0xCF34, - 8581: 0xCF35, - 8582: 0xCF36, - 8583: 0xCF37, - 8584: 0xCF39, - 8585: 0xCF3A, - 8586: 0xCF3B, - 8587: 0xCF3C, - 8588: 0xCF3D, - 8589: 0xCF3E, - 8590: 0xCF3F, - 8591: 0xCF40, - 8592: 0xCF41, - 8593: 0xCF42, - 8594: 0xCF43, - 8595: 0xCF44, - 8596: 0xCF45, - 8597: 0xCF46, - 8598: 0xCF47, - 8599: 0xCF48, - 8600: 0xCF49, - 8601: 0xCF4A, - 8602: 0xCF4B, - 8603: 0xCF4C, - 8604: 0xCF4D, - 8605: 0xCF4E, - 8606: 0xCF4F, - 8607: 0xCF50, - 8608: 0xCF51, - 8609: 0xCF52, - 8610: 0xCF53, - 8611: 0xCF56, - 8612: 0xCF57, - 8613: 0xCF59, - 8614: 0xCF5A, - 8615: 0xCF5B, - 8616: 0xCF5D, - 8617: 0xCF5E, - 8618: 0xCF5F, - 8619: 0xCF60, - 8620: 0xCF61, - 8621: 0xCF62, - 8622: 0xCF63, - 8623: 0xCF66, - 8624: 0xCF68, - 8625: 0xCF6A, - 8626: 0xCF6B, - 8627: 0xCF6C, - 8628: 0xAD0C, - 8629: 0xAD0D, - 8630: 0xAD0F, - 8631: 0xAD11, - 8632: 0xAD18, - 8633: 0xAD1C, - 8634: 0xAD20, - 8635: 0xAD29, - 8636: 0xAD2C, - 8637: 0xAD2D, - 8638: 0xAD34, - 8639: 0xAD35, - 8640: 0xAD38, - 8641: 0xAD3C, - 8642: 0xAD44, - 8643: 0xAD45, - 8644: 0xAD47, - 8645: 0xAD49, - 8646: 0xAD50, - 8647: 0xAD54, - 8648: 0xAD58, - 8649: 0xAD61, - 8650: 0xAD63, - 8651: 0xAD6C, - 8652: 0xAD6D, - 8653: 0xAD70, - 8654: 0xAD73, - 8655: 0xAD74, - 8656: 0xAD75, - 8657: 0xAD76, - 8658: 0xAD7B, - 8659: 0xAD7C, - 8660: 0xAD7D, - 8661: 0xAD7F, - 8662: 0xAD81, - 8663: 0xAD82, - 8664: 0xAD88, - 8665: 0xAD89, - 8666: 0xAD8C, - 8667: 0xAD90, - 8668: 0xAD9C, - 8669: 0xAD9D, - 8670: 0xADA4, - 8671: 0xADB7, - 8672: 0xADC0, - 8673: 0xADC1, - 8674: 0xADC4, - 8675: 0xADC8, - 8676: 0xADD0, - 8677: 0xADD1, - 8678: 0xADD3, - 8679: 0xADDC, - 8680: 0xADE0, - 8681: 0xADE4, - 8682: 0xADF8, - 8683: 0xADF9, - 8684: 0xADFC, - 8685: 0xADFF, - 8686: 0xAE00, - 8687: 0xAE01, - 8688: 0xAE08, - 8689: 0xAE09, - 8690: 0xAE0B, - 8691: 0xAE0D, - 8692: 0xAE14, - 8693: 0xAE30, - 8694: 0xAE31, - 8695: 0xAE34, - 8696: 0xAE37, - 8697: 0xAE38, - 8698: 0xAE3A, - 8699: 0xAE40, - 8700: 0xAE41, - 8701: 0xAE43, - 8702: 0xAE45, - 8703: 0xAE46, - 8704: 0xAE4A, - 8705: 0xAE4C, - 8706: 0xAE4D, - 8707: 0xAE4E, - 8708: 0xAE50, - 8709: 0xAE54, - 8710: 0xAE56, - 8711: 0xAE5C, - 8712: 0xAE5D, - 8713: 0xAE5F, - 8714: 0xAE60, - 8715: 0xAE61, - 8716: 0xAE65, - 8717: 0xAE68, - 8718: 0xAE69, - 8719: 0xAE6C, - 8720: 0xAE70, - 8721: 0xAE78, - 8722: 0xCF6D, - 8723: 0xCF6E, - 8724: 0xCF6F, - 8725: 0xCF72, - 8726: 0xCF73, - 8727: 0xCF75, - 8728: 0xCF76, - 8729: 0xCF77, - 8730: 0xCF79, - 8731: 0xCF7A, - 8732: 0xCF7B, - 8733: 0xCF7C, - 8734: 0xCF7D, - 8735: 0xCF7E, - 8736: 0xCF7F, - 8737: 0xCF81, - 8738: 0xCF82, - 8739: 0xCF83, - 8740: 0xCF84, - 8741: 0xCF86, - 8742: 0xCF87, - 8743: 0xCF88, - 8744: 0xCF89, - 8745: 0xCF8A, - 8746: 0xCF8B, - 8747: 0xCF8D, - 8748: 0xCF8E, - 8749: 0xCF8F, - 8750: 0xCF90, - 8751: 0xCF91, - 8752: 0xCF92, - 8753: 0xCF93, - 8754: 0xCF94, - 8755: 0xCF95, - 8756: 0xCF96, - 8757: 0xCF97, - 8758: 0xCF98, - 8759: 0xCF99, - 8760: 0xCF9A, - 8761: 0xCF9B, - 8762: 0xCF9C, - 8763: 0xCF9D, - 8764: 0xCF9E, - 8765: 0xCF9F, - 8766: 0xCFA0, - 8767: 0xCFA2, - 8768: 0xCFA3, - 8769: 0xCFA4, - 8770: 0xCFA5, - 8771: 0xCFA6, - 8772: 0xCFA7, - 8773: 0xCFA9, - 8774: 0xCFAA, - 8775: 0xCFAB, - 8776: 0xCFAC, - 8777: 0xCFAD, - 8778: 0xCFAE, - 8779: 0xCFAF, - 8780: 0xCFB1, - 8781: 0xCFB2, - 8782: 0xCFB3, - 8783: 0xCFB4, - 8784: 0xCFB5, - 8785: 0xCFB6, - 8786: 0xCFB7, - 8787: 0xCFB8, - 8788: 0xCFB9, - 8789: 0xCFBA, - 8790: 0xCFBB, - 8791: 0xCFBC, - 8792: 0xCFBD, - 8793: 0xCFBE, - 8794: 0xCFBF, - 8795: 0xCFC0, - 8796: 0xCFC1, - 8797: 0xCFC2, - 8798: 0xCFC3, - 8799: 0xCFC5, - 8800: 0xCFC6, - 8801: 0xCFC7, - 8802: 0xCFC8, - 8803: 0xCFC9, - 8804: 0xCFCA, - 8805: 0xCFCB, - 8806: 0xAE79, - 8807: 0xAE7B, - 8808: 0xAE7C, - 8809: 0xAE7D, - 8810: 0xAE84, - 8811: 0xAE85, - 8812: 0xAE8C, - 8813: 0xAEBC, - 8814: 0xAEBD, - 8815: 0xAEBE, - 8816: 0xAEC0, - 8817: 0xAEC4, - 8818: 0xAECC, - 8819: 0xAECD, - 8820: 0xAECF, - 8821: 0xAED0, - 8822: 0xAED1, - 8823: 0xAED8, - 8824: 0xAED9, - 8825: 0xAEDC, - 8826: 0xAEE8, - 8827: 0xAEEB, - 8828: 0xAEED, - 8829: 0xAEF4, - 8830: 0xAEF8, - 8831: 0xAEFC, - 8832: 0xAF07, - 8833: 0xAF08, - 8834: 0xAF0D, - 8835: 0xAF10, - 8836: 0xAF2C, - 8837: 0xAF2D, - 8838: 0xAF30, - 8839: 0xAF32, - 8840: 0xAF34, - 8841: 0xAF3C, - 8842: 0xAF3D, - 8843: 0xAF3F, - 8844: 0xAF41, - 8845: 0xAF42, - 8846: 0xAF43, - 8847: 0xAF48, - 8848: 0xAF49, - 8849: 0xAF50, - 8850: 0xAF5C, - 8851: 0xAF5D, - 8852: 0xAF64, - 8853: 0xAF65, - 8854: 0xAF79, - 8855: 0xAF80, - 8856: 0xAF84, - 8857: 0xAF88, - 8858: 0xAF90, - 8859: 0xAF91, - 8860: 0xAF95, - 8861: 0xAF9C, - 8862: 0xAFB8, - 8863: 0xAFB9, - 8864: 0xAFBC, - 8865: 0xAFC0, - 8866: 0xAFC7, - 8867: 0xAFC8, - 8868: 0xAFC9, - 8869: 0xAFCB, - 8870: 0xAFCD, - 8871: 0xAFCE, - 8872: 0xAFD4, - 8873: 0xAFDC, - 8874: 0xAFE8, - 8875: 0xAFE9, - 8876: 0xAFF0, - 8877: 0xAFF1, - 8878: 0xAFF4, - 8879: 0xAFF8, - 8880: 0xB000, - 8881: 0xB001, - 8882: 0xB004, - 8883: 0xB00C, - 8884: 0xB010, - 8885: 0xB014, - 8886: 0xB01C, - 8887: 0xB01D, - 8888: 0xB028, - 8889: 0xB044, - 8890: 0xB045, - 8891: 0xB048, - 8892: 0xB04A, - 8893: 0xB04C, - 8894: 0xB04E, - 8895: 0xB053, - 8896: 0xB054, - 8897: 0xB055, - 8898: 0xB057, - 8899: 0xB059, - 8900: 0xCFCC, - 8901: 0xCFCD, - 8902: 0xCFCE, - 8903: 0xCFCF, - 8904: 0xCFD0, - 8905: 0xCFD1, - 8906: 0xCFD2, - 8907: 0xCFD3, - 8908: 0xCFD4, - 8909: 0xCFD5, - 8910: 0xCFD6, - 8911: 0xCFD7, - 8912: 0xCFD8, - 8913: 0xCFD9, - 8914: 0xCFDA, - 8915: 0xCFDB, - 8916: 0xCFDC, - 8917: 0xCFDD, - 8918: 0xCFDE, - 8919: 0xCFDF, - 8920: 0xCFE2, - 8921: 0xCFE3, - 8922: 0xCFE5, - 8923: 0xCFE6, - 8924: 0xCFE7, - 8925: 0xCFE9, - 8926: 0xCFEA, - 8927: 0xCFEB, - 8928: 0xCFEC, - 8929: 0xCFED, - 8930: 0xCFEE, - 8931: 0xCFEF, - 8932: 0xCFF2, - 8933: 0xCFF4, - 8934: 0xCFF6, - 8935: 0xCFF7, - 8936: 0xCFF8, - 8937: 0xCFF9, - 8938: 0xCFFA, - 8939: 0xCFFB, - 8940: 0xCFFD, - 8941: 0xCFFE, - 8942: 0xCFFF, - 8943: 0xD001, - 8944: 0xD002, - 8945: 0xD003, - 8946: 0xD005, - 8947: 0xD006, - 8948: 0xD007, - 8949: 0xD008, - 8950: 0xD009, - 8951: 0xD00A, - 8952: 0xD00B, - 8953: 0xD00C, - 8954: 0xD00D, - 8955: 0xD00E, - 8956: 0xD00F, - 8957: 0xD010, - 8958: 0xD012, - 8959: 0xD013, - 8960: 0xD014, - 8961: 0xD015, - 8962: 0xD016, - 8963: 0xD017, - 8964: 0xD019, - 8965: 0xD01A, - 8966: 0xD01B, - 8967: 0xD01C, - 8968: 0xD01D, - 8969: 0xD01E, - 8970: 0xD01F, - 8971: 0xD020, - 8972: 0xD021, - 8973: 0xD022, - 8974: 0xD023, - 8975: 0xD024, - 8976: 0xD025, - 8977: 0xD026, - 8978: 0xD027, - 8979: 0xD028, - 8980: 0xD029, - 8981: 0xD02A, - 8982: 0xD02B, - 8983: 0xD02C, - 8984: 0xB05D, - 8985: 0xB07C, - 8986: 0xB07D, - 8987: 0xB080, - 8988: 0xB084, - 8989: 0xB08C, - 8990: 0xB08D, - 8991: 0xB08F, - 8992: 0xB091, - 8993: 0xB098, - 8994: 0xB099, - 8995: 0xB09A, - 8996: 0xB09C, - 8997: 0xB09F, - 8998: 0xB0A0, - 8999: 0xB0A1, - 9000: 0xB0A2, - 9001: 0xB0A8, - 9002: 0xB0A9, - 9003: 0xB0AB, - 9004: 0xB0AC, - 9005: 0xB0AD, - 9006: 0xB0AE, - 9007: 0xB0AF, - 9008: 0xB0B1, - 9009: 0xB0B3, - 9010: 0xB0B4, - 9011: 0xB0B5, - 9012: 0xB0B8, - 9013: 0xB0BC, - 9014: 0xB0C4, - 9015: 0xB0C5, - 9016: 0xB0C7, - 9017: 0xB0C8, - 9018: 0xB0C9, - 9019: 0xB0D0, - 9020: 0xB0D1, - 9021: 0xB0D4, - 9022: 0xB0D8, - 9023: 0xB0E0, - 9024: 0xB0E5, - 9025: 0xB108, - 9026: 0xB109, - 9027: 0xB10B, - 9028: 0xB10C, - 9029: 0xB110, - 9030: 0xB112, - 9031: 0xB113, - 9032: 0xB118, - 9033: 0xB119, - 9034: 0xB11B, - 9035: 0xB11C, - 9036: 0xB11D, - 9037: 0xB123, - 9038: 0xB124, - 9039: 0xB125, - 9040: 0xB128, - 9041: 0xB12C, - 9042: 0xB134, - 9043: 0xB135, - 9044: 0xB137, - 9045: 0xB138, - 9046: 0xB139, - 9047: 0xB140, - 9048: 0xB141, - 9049: 0xB144, - 9050: 0xB148, - 9051: 0xB150, - 9052: 0xB151, - 9053: 0xB154, - 9054: 0xB155, - 9055: 0xB158, - 9056: 0xB15C, - 9057: 0xB160, - 9058: 0xB178, - 9059: 0xB179, - 9060: 0xB17C, - 9061: 0xB180, - 9062: 0xB182, - 9063: 0xB188, - 9064: 0xB189, - 9065: 0xB18B, - 9066: 0xB18D, - 9067: 0xB192, - 9068: 0xB193, - 9069: 0xB194, - 9070: 0xB198, - 9071: 0xB19C, - 9072: 0xB1A8, - 9073: 0xB1CC, - 9074: 0xB1D0, - 9075: 0xB1D4, - 9076: 0xB1DC, - 9077: 0xB1DD, - 9078: 0xD02E, - 9079: 0xD02F, - 9080: 0xD030, - 9081: 0xD031, - 9082: 0xD032, - 9083: 0xD033, - 9084: 0xD036, - 9085: 0xD037, - 9086: 0xD039, - 9087: 0xD03A, - 9088: 0xD03B, - 9089: 0xD03D, - 9090: 0xD03E, - 9091: 0xD03F, - 9092: 0xD040, - 9093: 0xD041, - 9094: 0xD042, - 9095: 0xD043, - 9096: 0xD046, - 9097: 0xD048, - 9098: 0xD04A, - 9099: 0xD04B, - 9100: 0xD04C, - 9101: 0xD04D, - 9102: 0xD04E, - 9103: 0xD04F, - 9104: 0xD051, - 9105: 0xD052, - 9106: 0xD053, - 9107: 0xD055, - 9108: 0xD056, - 9109: 0xD057, - 9110: 0xD059, - 9111: 0xD05A, - 9112: 0xD05B, - 9113: 0xD05C, - 9114: 0xD05D, - 9115: 0xD05E, - 9116: 0xD05F, - 9117: 0xD061, - 9118: 0xD062, - 9119: 0xD063, - 9120: 0xD064, - 9121: 0xD065, - 9122: 0xD066, - 9123: 0xD067, - 9124: 0xD068, - 9125: 0xD069, - 9126: 0xD06A, - 9127: 0xD06B, - 9128: 0xD06E, - 9129: 0xD06F, - 9130: 0xD071, - 9131: 0xD072, - 9132: 0xD073, - 9133: 0xD075, - 9134: 0xD076, - 9135: 0xD077, - 9136: 0xD078, - 9137: 0xD079, - 9138: 0xD07A, - 9139: 0xD07B, - 9140: 0xD07E, - 9141: 0xD07F, - 9142: 0xD080, - 9143: 0xD082, - 9144: 0xD083, - 9145: 0xD084, - 9146: 0xD085, - 9147: 0xD086, - 9148: 0xD087, - 9149: 0xD088, - 9150: 0xD089, - 9151: 0xD08A, - 9152: 0xD08B, - 9153: 0xD08C, - 9154: 0xD08D, - 9155: 0xD08E, - 9156: 0xD08F, - 9157: 0xD090, - 9158: 0xD091, - 9159: 0xD092, - 9160: 0xD093, - 9161: 0xD094, - 9162: 0xB1DF, - 9163: 0xB1E8, - 9164: 0xB1E9, - 9165: 0xB1EC, - 9166: 0xB1F0, - 9167: 0xB1F9, - 9168: 0xB1FB, - 9169: 0xB1FD, - 9170: 0xB204, - 9171: 0xB205, - 9172: 0xB208, - 9173: 0xB20B, - 9174: 0xB20C, - 9175: 0xB214, - 9176: 0xB215, - 9177: 0xB217, - 9178: 0xB219, - 9179: 0xB220, - 9180: 0xB234, - 9181: 0xB23C, - 9182: 0xB258, - 9183: 0xB25C, - 9184: 0xB260, - 9185: 0xB268, - 9186: 0xB269, - 9187: 0xB274, - 9188: 0xB275, - 9189: 0xB27C, - 9190: 0xB284, - 9191: 0xB285, - 9192: 0xB289, - 9193: 0xB290, - 9194: 0xB291, - 9195: 0xB294, - 9196: 0xB298, - 9197: 0xB299, - 9198: 0xB29A, - 9199: 0xB2A0, - 9200: 0xB2A1, - 9201: 0xB2A3, - 9202: 0xB2A5, - 9203: 0xB2A6, - 9204: 0xB2AA, - 9205: 0xB2AC, - 9206: 0xB2B0, - 9207: 0xB2B4, - 9208: 0xB2C8, - 9209: 0xB2C9, - 9210: 0xB2CC, - 9211: 0xB2D0, - 9212: 0xB2D2, - 9213: 0xB2D8, - 9214: 0xB2D9, - 9215: 0xB2DB, - 9216: 0xB2DD, - 9217: 0xB2E2, - 9218: 0xB2E4, - 9219: 0xB2E5, - 9220: 0xB2E6, - 9221: 0xB2E8, - 9222: 0xB2EB, - 9223: 0xB2EC, - 9224: 0xB2ED, - 9225: 0xB2EE, - 9226: 0xB2EF, - 9227: 0xB2F3, - 9228: 0xB2F4, - 9229: 0xB2F5, - 9230: 0xB2F7, - 9231: 0xB2F8, - 9232: 0xB2F9, - 9233: 0xB2FA, - 9234: 0xB2FB, - 9235: 0xB2FF, - 9236: 0xB300, - 9237: 0xB301, - 9238: 0xB304, - 9239: 0xB308, - 9240: 0xB310, - 9241: 0xB311, - 9242: 0xB313, - 9243: 0xB314, - 9244: 0xB315, - 9245: 0xB31C, - 9246: 0xB354, - 9247: 0xB355, - 9248: 0xB356, - 9249: 0xB358, - 9250: 0xB35B, - 9251: 0xB35C, - 9252: 0xB35E, - 9253: 0xB35F, - 9254: 0xB364, - 9255: 0xB365, - 9256: 0xD095, - 9257: 0xD096, - 9258: 0xD097, - 9259: 0xD098, - 9260: 0xD099, - 9261: 0xD09A, - 9262: 0xD09B, - 9263: 0xD09C, - 9264: 0xD09D, - 9265: 0xD09E, - 9266: 0xD09F, - 9267: 0xD0A0, - 9268: 0xD0A1, - 9269: 0xD0A2, - 9270: 0xD0A3, - 9271: 0xD0A6, - 9272: 0xD0A7, - 9273: 0xD0A9, - 9274: 0xD0AA, - 9275: 0xD0AB, - 9276: 0xD0AD, - 9277: 0xD0AE, - 9278: 0xD0AF, - 9279: 0xD0B0, - 9280: 0xD0B1, - 9281: 0xD0B2, - 9282: 0xD0B3, - 9283: 0xD0B6, - 9284: 0xD0B8, - 9285: 0xD0BA, - 9286: 0xD0BB, - 9287: 0xD0BC, - 9288: 0xD0BD, - 9289: 0xD0BE, - 9290: 0xD0BF, - 9291: 0xD0C2, - 9292: 0xD0C3, - 9293: 0xD0C5, - 9294: 0xD0C6, - 9295: 0xD0C7, - 9296: 0xD0CA, - 9297: 0xD0CB, - 9298: 0xD0CC, - 9299: 0xD0CD, - 9300: 0xD0CE, - 9301: 0xD0CF, - 9302: 0xD0D2, - 9303: 0xD0D6, - 9304: 0xD0D7, - 9305: 0xD0D8, - 9306: 0xD0D9, - 9307: 0xD0DA, - 9308: 0xD0DB, - 9309: 0xD0DE, - 9310: 0xD0DF, - 9311: 0xD0E1, - 9312: 0xD0E2, - 9313: 0xD0E3, - 9314: 0xD0E5, - 9315: 0xD0E6, - 9316: 0xD0E7, - 9317: 0xD0E8, - 9318: 0xD0E9, - 9319: 0xD0EA, - 9320: 0xD0EB, - 9321: 0xD0EE, - 9322: 0xD0F2, - 9323: 0xD0F3, - 9324: 0xD0F4, - 9325: 0xD0F5, - 9326: 0xD0F6, - 9327: 0xD0F7, - 9328: 0xD0F9, - 9329: 0xD0FA, - 9330: 0xD0FB, - 9331: 0xD0FC, - 9332: 0xD0FD, - 9333: 0xD0FE, - 9334: 0xD0FF, - 9335: 0xD100, - 9336: 0xD101, - 9337: 0xD102, - 9338: 0xD103, - 9339: 0xD104, - 9340: 0xB367, - 9341: 0xB369, - 9342: 0xB36B, - 9343: 0xB36E, - 9344: 0xB370, - 9345: 0xB371, - 9346: 0xB374, - 9347: 0xB378, - 9348: 0xB380, - 9349: 0xB381, - 9350: 0xB383, - 9351: 0xB384, - 9352: 0xB385, - 9353: 0xB38C, - 9354: 0xB390, - 9355: 0xB394, - 9356: 0xB3A0, - 9357: 0xB3A1, - 9358: 0xB3A8, - 9359: 0xB3AC, - 9360: 0xB3C4, - 9361: 0xB3C5, - 9362: 0xB3C8, - 9363: 0xB3CB, - 9364: 0xB3CC, - 9365: 0xB3CE, - 9366: 0xB3D0, - 9367: 0xB3D4, - 9368: 0xB3D5, - 9369: 0xB3D7, - 9370: 0xB3D9, - 9371: 0xB3DB, - 9372: 0xB3DD, - 9373: 0xB3E0, - 9374: 0xB3E4, - 9375: 0xB3E8, - 9376: 0xB3FC, - 9377: 0xB410, - 9378: 0xB418, - 9379: 0xB41C, - 9380: 0xB420, - 9381: 0xB428, - 9382: 0xB429, - 9383: 0xB42B, - 9384: 0xB434, - 9385: 0xB450, - 9386: 0xB451, - 9387: 0xB454, - 9388: 0xB458, - 9389: 0xB460, - 9390: 0xB461, - 9391: 0xB463, - 9392: 0xB465, - 9393: 0xB46C, - 9394: 0xB480, - 9395: 0xB488, - 9396: 0xB49D, - 9397: 0xB4A4, - 9398: 0xB4A8, - 9399: 0xB4AC, - 9400: 0xB4B5, - 9401: 0xB4B7, - 9402: 0xB4B9, - 9403: 0xB4C0, - 9404: 0xB4C4, - 9405: 0xB4C8, - 9406: 0xB4D0, - 9407: 0xB4D5, - 9408: 0xB4DC, - 9409: 0xB4DD, - 9410: 0xB4E0, - 9411: 0xB4E3, - 9412: 0xB4E4, - 9413: 0xB4E6, - 9414: 0xB4EC, - 9415: 0xB4ED, - 9416: 0xB4EF, - 9417: 0xB4F1, - 9418: 0xB4F8, - 9419: 0xB514, - 9420: 0xB515, - 9421: 0xB518, - 9422: 0xB51B, - 9423: 0xB51C, - 9424: 0xB524, - 9425: 0xB525, - 9426: 0xB527, - 9427: 0xB528, - 9428: 0xB529, - 9429: 0xB52A, - 9430: 0xB530, - 9431: 0xB531, - 9432: 0xB534, - 9433: 0xB538, - 9434: 0xD105, - 9435: 0xD106, - 9436: 0xD107, - 9437: 0xD108, - 9438: 0xD109, - 9439: 0xD10A, - 9440: 0xD10B, - 9441: 0xD10C, - 9442: 0xD10E, - 9443: 0xD10F, - 9444: 0xD110, - 9445: 0xD111, - 9446: 0xD112, - 9447: 0xD113, - 9448: 0xD114, - 9449: 0xD115, - 9450: 0xD116, - 9451: 0xD117, - 9452: 0xD118, - 9453: 0xD119, - 9454: 0xD11A, - 9455: 0xD11B, - 9456: 0xD11C, - 9457: 0xD11D, - 9458: 0xD11E, - 9459: 0xD11F, - 9460: 0xD120, - 9461: 0xD121, - 9462: 0xD122, - 9463: 0xD123, - 9464: 0xD124, - 9465: 0xD125, - 9466: 0xD126, - 9467: 0xD127, - 9468: 0xD128, - 9469: 0xD129, - 9470: 0xD12A, - 9471: 0xD12B, - 9472: 0xD12C, - 9473: 0xD12D, - 9474: 0xD12E, - 9475: 0xD12F, - 9476: 0xD132, - 9477: 0xD133, - 9478: 0xD135, - 9479: 0xD136, - 9480: 0xD137, - 9481: 0xD139, - 9482: 0xD13B, - 9483: 0xD13C, - 9484: 0xD13D, - 9485: 0xD13E, - 9486: 0xD13F, - 9487: 0xD142, - 9488: 0xD146, - 9489: 0xD147, - 9490: 0xD148, - 9491: 0xD149, - 9492: 0xD14A, - 9493: 0xD14B, - 9494: 0xD14E, - 9495: 0xD14F, - 9496: 0xD151, - 9497: 0xD152, - 9498: 0xD153, - 9499: 0xD155, - 9500: 0xD156, - 9501: 0xD157, - 9502: 0xD158, - 9503: 0xD159, - 9504: 0xD15A, - 9505: 0xD15B, - 9506: 0xD15E, - 9507: 0xD160, - 9508: 0xD162, - 9509: 0xD163, - 9510: 0xD164, - 9511: 0xD165, - 9512: 0xD166, - 9513: 0xD167, - 9514: 0xD169, - 9515: 0xD16A, - 9516: 0xD16B, - 9517: 0xD16D, - 9518: 0xB540, - 9519: 0xB541, - 9520: 0xB543, - 9521: 0xB544, - 9522: 0xB545, - 9523: 0xB54B, - 9524: 0xB54C, - 9525: 0xB54D, - 9526: 0xB550, - 9527: 0xB554, - 9528: 0xB55C, - 9529: 0xB55D, - 9530: 0xB55F, - 9531: 0xB560, - 9532: 0xB561, - 9533: 0xB5A0, - 9534: 0xB5A1, - 9535: 0xB5A4, - 9536: 0xB5A8, - 9537: 0xB5AA, - 9538: 0xB5AB, - 9539: 0xB5B0, - 9540: 0xB5B1, - 9541: 0xB5B3, - 9542: 0xB5B4, - 9543: 0xB5B5, - 9544: 0xB5BB, - 9545: 0xB5BC, - 9546: 0xB5BD, - 9547: 0xB5C0, - 9548: 0xB5C4, - 9549: 0xB5CC, - 9550: 0xB5CD, - 9551: 0xB5CF, - 9552: 0xB5D0, - 9553: 0xB5D1, - 9554: 0xB5D8, - 9555: 0xB5EC, - 9556: 0xB610, - 9557: 0xB611, - 9558: 0xB614, - 9559: 0xB618, - 9560: 0xB625, - 9561: 0xB62C, - 9562: 0xB634, - 9563: 0xB648, - 9564: 0xB664, - 9565: 0xB668, - 9566: 0xB69C, - 9567: 0xB69D, - 9568: 0xB6A0, - 9569: 0xB6A4, - 9570: 0xB6AB, - 9571: 0xB6AC, - 9572: 0xB6B1, - 9573: 0xB6D4, - 9574: 0xB6F0, - 9575: 0xB6F4, - 9576: 0xB6F8, - 9577: 0xB700, - 9578: 0xB701, - 9579: 0xB705, - 9580: 0xB728, - 9581: 0xB729, - 9582: 0xB72C, - 9583: 0xB72F, - 9584: 0xB730, - 9585: 0xB738, - 9586: 0xB739, - 9587: 0xB73B, - 9588: 0xB744, - 9589: 0xB748, - 9590: 0xB74C, - 9591: 0xB754, - 9592: 0xB755, - 9593: 0xB760, - 9594: 0xB764, - 9595: 0xB768, - 9596: 0xB770, - 9597: 0xB771, - 9598: 0xB773, - 9599: 0xB775, - 9600: 0xB77C, - 9601: 0xB77D, - 9602: 0xB780, - 9603: 0xB784, - 9604: 0xB78C, - 9605: 0xB78D, - 9606: 0xB78F, - 9607: 0xB790, - 9608: 0xB791, - 9609: 0xB792, - 9610: 0xB796, - 9611: 0xB797, - 9612: 0xD16E, - 9613: 0xD16F, - 9614: 0xD170, - 9615: 0xD171, - 9616: 0xD172, - 9617: 0xD173, - 9618: 0xD174, - 9619: 0xD175, - 9620: 0xD176, - 9621: 0xD177, - 9622: 0xD178, - 9623: 0xD179, - 9624: 0xD17A, - 9625: 0xD17B, - 9626: 0xD17D, - 9627: 0xD17E, - 9628: 0xD17F, - 9629: 0xD180, - 9630: 0xD181, - 9631: 0xD182, - 9632: 0xD183, - 9633: 0xD185, - 9634: 0xD186, - 9635: 0xD187, - 9636: 0xD189, - 9637: 0xD18A, - 9638: 0xD18B, - 9639: 0xD18C, - 9640: 0xD18D, - 9641: 0xD18E, - 9642: 0xD18F, - 9643: 0xD190, - 9644: 0xD191, - 9645: 0xD192, - 9646: 0xD193, - 9647: 0xD194, - 9648: 0xD195, - 9649: 0xD196, - 9650: 0xD197, - 9651: 0xD198, - 9652: 0xD199, - 9653: 0xD19A, - 9654: 0xD19B, - 9655: 0xD19C, - 9656: 0xD19D, - 9657: 0xD19E, - 9658: 0xD19F, - 9659: 0xD1A2, - 9660: 0xD1A3, - 9661: 0xD1A5, - 9662: 0xD1A6, - 9663: 0xD1A7, - 9664: 0xD1A9, - 9665: 0xD1AA, - 9666: 0xD1AB, - 9667: 0xD1AC, - 9668: 0xD1AD, - 9669: 0xD1AE, - 9670: 0xD1AF, - 9671: 0xD1B2, - 9672: 0xD1B4, - 9673: 0xD1B6, - 9674: 0xD1B7, - 9675: 0xD1B8, - 9676: 0xD1B9, - 9677: 0xD1BB, - 9678: 0xD1BD, - 9679: 0xD1BE, - 9680: 0xD1BF, - 9681: 0xD1C1, - 9682: 0xD1C2, - 9683: 0xD1C3, - 9684: 0xD1C4, - 9685: 0xD1C5, - 9686: 0xD1C6, - 9687: 0xD1C7, - 9688: 0xD1C8, - 9689: 0xD1C9, - 9690: 0xD1CA, - 9691: 0xD1CB, - 9692: 0xD1CC, - 9693: 0xD1CD, - 9694: 0xD1CE, - 9695: 0xD1CF, - 9696: 0xB798, - 9697: 0xB799, - 9698: 0xB79C, - 9699: 0xB7A0, - 9700: 0xB7A8, - 9701: 0xB7A9, - 9702: 0xB7AB, - 9703: 0xB7AC, - 9704: 0xB7AD, - 9705: 0xB7B4, - 9706: 0xB7B5, - 9707: 0xB7B8, - 9708: 0xB7C7, - 9709: 0xB7C9, - 9710: 0xB7EC, - 9711: 0xB7ED, - 9712: 0xB7F0, - 9713: 0xB7F4, - 9714: 0xB7FC, - 9715: 0xB7FD, - 9716: 0xB7FF, - 9717: 0xB800, - 9718: 0xB801, - 9719: 0xB807, - 9720: 0xB808, - 9721: 0xB809, - 9722: 0xB80C, - 9723: 0xB810, - 9724: 0xB818, - 9725: 0xB819, - 9726: 0xB81B, - 9727: 0xB81D, - 9728: 0xB824, - 9729: 0xB825, - 9730: 0xB828, - 9731: 0xB82C, - 9732: 0xB834, - 9733: 0xB835, - 9734: 0xB837, - 9735: 0xB838, - 9736: 0xB839, - 9737: 0xB840, - 9738: 0xB844, - 9739: 0xB851, - 9740: 0xB853, - 9741: 0xB85C, - 9742: 0xB85D, - 9743: 0xB860, - 9744: 0xB864, - 9745: 0xB86C, - 9746: 0xB86D, - 9747: 0xB86F, - 9748: 0xB871, - 9749: 0xB878, - 9750: 0xB87C, - 9751: 0xB88D, - 9752: 0xB8A8, - 9753: 0xB8B0, - 9754: 0xB8B4, - 9755: 0xB8B8, - 9756: 0xB8C0, - 9757: 0xB8C1, - 9758: 0xB8C3, - 9759: 0xB8C5, - 9760: 0xB8CC, - 9761: 0xB8D0, - 9762: 0xB8D4, - 9763: 0xB8DD, - 9764: 0xB8DF, - 9765: 0xB8E1, - 9766: 0xB8E8, - 9767: 0xB8E9, - 9768: 0xB8EC, - 9769: 0xB8F0, - 9770: 0xB8F8, - 9771: 0xB8F9, - 9772: 0xB8FB, - 9773: 0xB8FD, - 9774: 0xB904, - 9775: 0xB918, - 9776: 0xB920, - 9777: 0xB93C, - 9778: 0xB93D, - 9779: 0xB940, - 9780: 0xB944, - 9781: 0xB94C, - 9782: 0xB94F, - 9783: 0xB951, - 9784: 0xB958, - 9785: 0xB959, - 9786: 0xB95C, - 9787: 0xB960, - 9788: 0xB968, - 9789: 0xB969, - 9790: 0xD1D0, - 9791: 0xD1D1, - 9792: 0xD1D2, - 9793: 0xD1D3, - 9794: 0xD1D4, - 9795: 0xD1D5, - 9796: 0xD1D6, - 9797: 0xD1D7, - 9798: 0xD1D9, - 9799: 0xD1DA, - 9800: 0xD1DB, - 9801: 0xD1DC, - 9802: 0xD1DD, - 9803: 0xD1DE, - 9804: 0xD1DF, - 9805: 0xD1E0, - 9806: 0xD1E1, - 9807: 0xD1E2, - 9808: 0xD1E3, - 9809: 0xD1E4, - 9810: 0xD1E5, - 9811: 0xD1E6, - 9812: 0xD1E7, - 9813: 0xD1E8, - 9814: 0xD1E9, - 9815: 0xD1EA, - 9816: 0xD1EB, - 9817: 0xD1EC, - 9818: 0xD1ED, - 9819: 0xD1EE, - 9820: 0xD1EF, - 9821: 0xD1F0, - 9822: 0xD1F1, - 9823: 0xD1F2, - 9824: 0xD1F3, - 9825: 0xD1F5, - 9826: 0xD1F6, - 9827: 0xD1F7, - 9828: 0xD1F9, - 9829: 0xD1FA, - 9830: 0xD1FB, - 9831: 0xD1FC, - 9832: 0xD1FD, - 9833: 0xD1FE, - 9834: 0xD1FF, - 9835: 0xD200, - 9836: 0xD201, - 9837: 0xD202, - 9838: 0xD203, - 9839: 0xD204, - 9840: 0xD205, - 9841: 0xD206, - 9842: 0xD208, - 9843: 0xD20A, - 9844: 0xD20B, - 9845: 0xD20C, - 9846: 0xD20D, - 9847: 0xD20E, - 9848: 0xD20F, - 9849: 0xD211, - 9850: 0xD212, - 9851: 0xD213, - 9852: 0xD214, - 9853: 0xD215, - 9854: 0xD216, - 9855: 0xD217, - 9856: 0xD218, - 9857: 0xD219, - 9858: 0xD21A, - 9859: 0xD21B, - 9860: 0xD21C, - 9861: 0xD21D, - 9862: 0xD21E, - 9863: 0xD21F, - 9864: 0xD220, - 9865: 0xD221, - 9866: 0xD222, - 9867: 0xD223, - 9868: 0xD224, - 9869: 0xD225, - 9870: 0xD226, - 9871: 0xD227, - 9872: 0xD228, - 9873: 0xD229, - 9874: 0xB96B, - 9875: 0xB96D, - 9876: 0xB974, - 9877: 0xB975, - 9878: 0xB978, - 9879: 0xB97C, - 9880: 0xB984, - 9881: 0xB985, - 9882: 0xB987, - 9883: 0xB989, - 9884: 0xB98A, - 9885: 0xB98D, - 9886: 0xB98E, - 9887: 0xB9AC, - 9888: 0xB9AD, - 9889: 0xB9B0, - 9890: 0xB9B4, - 9891: 0xB9BC, - 9892: 0xB9BD, - 9893: 0xB9BF, - 9894: 0xB9C1, - 9895: 0xB9C8, - 9896: 0xB9C9, - 9897: 0xB9CC, - 9898: 0xB9CE, - 9899: 0xB9CF, - 9900: 0xB9D0, - 9901: 0xB9D1, - 9902: 0xB9D2, - 9903: 0xB9D8, - 9904: 0xB9D9, - 9905: 0xB9DB, - 9906: 0xB9DD, - 9907: 0xB9DE, - 9908: 0xB9E1, - 9909: 0xB9E3, - 9910: 0xB9E4, - 9911: 0xB9E5, - 9912: 0xB9E8, - 9913: 0xB9EC, - 9914: 0xB9F4, - 9915: 0xB9F5, - 9916: 0xB9F7, - 9917: 0xB9F8, - 9918: 0xB9F9, - 9919: 0xB9FA, - 9920: 0xBA00, - 9921: 0xBA01, - 9922: 0xBA08, - 9923: 0xBA15, - 9924: 0xBA38, - 9925: 0xBA39, - 9926: 0xBA3C, - 9927: 0xBA40, - 9928: 0xBA42, - 9929: 0xBA48, - 9930: 0xBA49, - 9931: 0xBA4B, - 9932: 0xBA4D, - 9933: 0xBA4E, - 9934: 0xBA53, - 9935: 0xBA54, - 9936: 0xBA55, - 9937: 0xBA58, - 9938: 0xBA5C, - 9939: 0xBA64, - 9940: 0xBA65, - 9941: 0xBA67, - 9942: 0xBA68, - 9943: 0xBA69, - 9944: 0xBA70, - 9945: 0xBA71, - 9946: 0xBA74, - 9947: 0xBA78, - 9948: 0xBA83, - 9949: 0xBA84, - 9950: 0xBA85, - 9951: 0xBA87, - 9952: 0xBA8C, - 9953: 0xBAA8, - 9954: 0xBAA9, - 9955: 0xBAAB, - 9956: 0xBAAC, - 9957: 0xBAB0, - 9958: 0xBAB2, - 9959: 0xBAB8, - 9960: 0xBAB9, - 9961: 0xBABB, - 9962: 0xBABD, - 9963: 0xBAC4, - 9964: 0xBAC8, - 9965: 0xBAD8, - 9966: 0xBAD9, - 9967: 0xBAFC, - 9968: 0xD22A, - 9969: 0xD22B, - 9970: 0xD22E, - 9971: 0xD22F, - 9972: 0xD231, - 9973: 0xD232, - 9974: 0xD233, - 9975: 0xD235, - 9976: 0xD236, - 9977: 0xD237, - 9978: 0xD238, - 9979: 0xD239, - 9980: 0xD23A, - 9981: 0xD23B, - 9982: 0xD23E, - 9983: 0xD240, - 9984: 0xD242, - 9985: 0xD243, - 9986: 0xD244, - 9987: 0xD245, - 9988: 0xD246, - 9989: 0xD247, - 9990: 0xD249, - 9991: 0xD24A, - 9992: 0xD24B, - 9993: 0xD24C, - 9994: 0xD24D, - 9995: 0xD24E, - 9996: 0xD24F, - 9997: 0xD250, - 9998: 0xD251, - 9999: 0xD252, - 10000: 0xD253, - 10001: 0xD254, - 10002: 0xD255, - 10003: 0xD256, - 10004: 0xD257, - 10005: 0xD258, - 10006: 0xD259, - 10007: 0xD25A, - 10008: 0xD25B, - 10009: 0xD25D, - 10010: 0xD25E, - 10011: 0xD25F, - 10012: 0xD260, - 10013: 0xD261, - 10014: 0xD262, - 10015: 0xD263, - 10016: 0xD265, - 10017: 0xD266, - 10018: 0xD267, - 10019: 0xD268, - 10020: 0xD269, - 10021: 0xD26A, - 10022: 0xD26B, - 10023: 0xD26C, - 10024: 0xD26D, - 10025: 0xD26E, - 10026: 0xD26F, - 10027: 0xD270, - 10028: 0xD271, - 10029: 0xD272, - 10030: 0xD273, - 10031: 0xD274, - 10032: 0xD275, - 10033: 0xD276, - 10034: 0xD277, - 10035: 0xD278, - 10036: 0xD279, - 10037: 0xD27A, - 10038: 0xD27B, - 10039: 0xD27C, - 10040: 0xD27D, - 10041: 0xD27E, - 10042: 0xD27F, - 10043: 0xD282, - 10044: 0xD283, - 10045: 0xD285, - 10046: 0xD286, - 10047: 0xD287, - 10048: 0xD289, - 10049: 0xD28A, - 10050: 0xD28B, - 10051: 0xD28C, - 10052: 0xBB00, - 10053: 0xBB04, - 10054: 0xBB0D, - 10055: 0xBB0F, - 10056: 0xBB11, - 10057: 0xBB18, - 10058: 0xBB1C, - 10059: 0xBB20, - 10060: 0xBB29, - 10061: 0xBB2B, - 10062: 0xBB34, - 10063: 0xBB35, - 10064: 0xBB36, - 10065: 0xBB38, - 10066: 0xBB3B, - 10067: 0xBB3C, - 10068: 0xBB3D, - 10069: 0xBB3E, - 10070: 0xBB44, - 10071: 0xBB45, - 10072: 0xBB47, - 10073: 0xBB49, - 10074: 0xBB4D, - 10075: 0xBB4F, - 10076: 0xBB50, - 10077: 0xBB54, - 10078: 0xBB58, - 10079: 0xBB61, - 10080: 0xBB63, - 10081: 0xBB6C, - 10082: 0xBB88, - 10083: 0xBB8C, - 10084: 0xBB90, - 10085: 0xBBA4, - 10086: 0xBBA8, - 10087: 0xBBAC, - 10088: 0xBBB4, - 10089: 0xBBB7, - 10090: 0xBBC0, - 10091: 0xBBC4, - 10092: 0xBBC8, - 10093: 0xBBD0, - 10094: 0xBBD3, - 10095: 0xBBF8, - 10096: 0xBBF9, - 10097: 0xBBFC, - 10098: 0xBBFF, - 10099: 0xBC00, - 10100: 0xBC02, - 10101: 0xBC08, - 10102: 0xBC09, - 10103: 0xBC0B, - 10104: 0xBC0C, - 10105: 0xBC0D, - 10106: 0xBC0F, - 10107: 0xBC11, - 10108: 0xBC14, - 10109: 0xBC15, - 10110: 0xBC16, - 10111: 0xBC17, - 10112: 0xBC18, - 10113: 0xBC1B, - 10114: 0xBC1C, - 10115: 0xBC1D, - 10116: 0xBC1E, - 10117: 0xBC1F, - 10118: 0xBC24, - 10119: 0xBC25, - 10120: 0xBC27, - 10121: 0xBC29, - 10122: 0xBC2D, - 10123: 0xBC30, - 10124: 0xBC31, - 10125: 0xBC34, - 10126: 0xBC38, - 10127: 0xBC40, - 10128: 0xBC41, - 10129: 0xBC43, - 10130: 0xBC44, - 10131: 0xBC45, - 10132: 0xBC49, - 10133: 0xBC4C, - 10134: 0xBC4D, - 10135: 0xBC50, - 10136: 0xBC5D, - 10137: 0xBC84, - 10138: 0xBC85, - 10139: 0xBC88, - 10140: 0xBC8B, - 10141: 0xBC8C, - 10142: 0xBC8E, - 10143: 0xBC94, - 10144: 0xBC95, - 10145: 0xBC97, - 10146: 0xD28D, - 10147: 0xD28E, - 10148: 0xD28F, - 10149: 0xD292, - 10150: 0xD293, - 10151: 0xD294, - 10152: 0xD296, - 10153: 0xD297, - 10154: 0xD298, - 10155: 0xD299, - 10156: 0xD29A, - 10157: 0xD29B, - 10158: 0xD29D, - 10159: 0xD29E, - 10160: 0xD29F, - 10161: 0xD2A1, - 10162: 0xD2A2, - 10163: 0xD2A3, - 10164: 0xD2A5, - 10165: 0xD2A6, - 10166: 0xD2A7, - 10167: 0xD2A8, - 10168: 0xD2A9, - 10169: 0xD2AA, - 10170: 0xD2AB, - 10171: 0xD2AD, - 10172: 0xD2AE, - 10173: 0xD2AF, - 10174: 0xD2B0, - 10175: 0xD2B2, - 10176: 0xD2B3, - 10177: 0xD2B4, - 10178: 0xD2B5, - 10179: 0xD2B6, - 10180: 0xD2B7, - 10181: 0xD2BA, - 10182: 0xD2BB, - 10183: 0xD2BD, - 10184: 0xD2BE, - 10185: 0xD2C1, - 10186: 0xD2C3, - 10187: 0xD2C4, - 10188: 0xD2C5, - 10189: 0xD2C6, - 10190: 0xD2C7, - 10191: 0xD2CA, - 10192: 0xD2CC, - 10193: 0xD2CD, - 10194: 0xD2CE, - 10195: 0xD2CF, - 10196: 0xD2D0, - 10197: 0xD2D1, - 10198: 0xD2D2, - 10199: 0xD2D3, - 10200: 0xD2D5, - 10201: 0xD2D6, - 10202: 0xD2D7, - 10203: 0xD2D9, - 10204: 0xD2DA, - 10205: 0xD2DB, - 10206: 0xD2DD, - 10207: 0xD2DE, - 10208: 0xD2DF, - 10209: 0xD2E0, - 10210: 0xD2E1, - 10211: 0xD2E2, - 10212: 0xD2E3, - 10213: 0xD2E6, - 10214: 0xD2E7, - 10215: 0xD2E8, - 10216: 0xD2E9, - 10217: 0xD2EA, - 10218: 0xD2EB, - 10219: 0xD2EC, - 10220: 0xD2ED, - 10221: 0xD2EE, - 10222: 0xD2EF, - 10223: 0xD2F2, - 10224: 0xD2F3, - 10225: 0xD2F5, - 10226: 0xD2F6, - 10227: 0xD2F7, - 10228: 0xD2F9, - 10229: 0xD2FA, - 10230: 0xBC99, - 10231: 0xBC9A, - 10232: 0xBCA0, - 10233: 0xBCA1, - 10234: 0xBCA4, - 10235: 0xBCA7, - 10236: 0xBCA8, - 10237: 0xBCB0, - 10238: 0xBCB1, - 10239: 0xBCB3, - 10240: 0xBCB4, - 10241: 0xBCB5, - 10242: 0xBCBC, - 10243: 0xBCBD, - 10244: 0xBCC0, - 10245: 0xBCC4, - 10246: 0xBCCD, - 10247: 0xBCCF, - 10248: 0xBCD0, - 10249: 0xBCD1, - 10250: 0xBCD5, - 10251: 0xBCD8, - 10252: 0xBCDC, - 10253: 0xBCF4, - 10254: 0xBCF5, - 10255: 0xBCF6, - 10256: 0xBCF8, - 10257: 0xBCFC, - 10258: 0xBD04, - 10259: 0xBD05, - 10260: 0xBD07, - 10261: 0xBD09, - 10262: 0xBD10, - 10263: 0xBD14, - 10264: 0xBD24, - 10265: 0xBD2C, - 10266: 0xBD40, - 10267: 0xBD48, - 10268: 0xBD49, - 10269: 0xBD4C, - 10270: 0xBD50, - 10271: 0xBD58, - 10272: 0xBD59, - 10273: 0xBD64, - 10274: 0xBD68, - 10275: 0xBD80, - 10276: 0xBD81, - 10277: 0xBD84, - 10278: 0xBD87, - 10279: 0xBD88, - 10280: 0xBD89, - 10281: 0xBD8A, - 10282: 0xBD90, - 10283: 0xBD91, - 10284: 0xBD93, - 10285: 0xBD95, - 10286: 0xBD99, - 10287: 0xBD9A, - 10288: 0xBD9C, - 10289: 0xBDA4, - 10290: 0xBDB0, - 10291: 0xBDB8, - 10292: 0xBDD4, - 10293: 0xBDD5, - 10294: 0xBDD8, - 10295: 0xBDDC, - 10296: 0xBDE9, - 10297: 0xBDF0, - 10298: 0xBDF4, - 10299: 0xBDF8, - 10300: 0xBE00, - 10301: 0xBE03, - 10302: 0xBE05, - 10303: 0xBE0C, - 10304: 0xBE0D, - 10305: 0xBE10, - 10306: 0xBE14, - 10307: 0xBE1C, - 10308: 0xBE1D, - 10309: 0xBE1F, - 10310: 0xBE44, - 10311: 0xBE45, - 10312: 0xBE48, - 10313: 0xBE4C, - 10314: 0xBE4E, - 10315: 0xBE54, - 10316: 0xBE55, - 10317: 0xBE57, - 10318: 0xBE59, - 10319: 0xBE5A, - 10320: 0xBE5B, - 10321: 0xBE60, - 10322: 0xBE61, - 10323: 0xBE64, - 10324: 0xD2FB, - 10325: 0xD2FC, - 10326: 0xD2FD, - 10327: 0xD2FE, - 10328: 0xD2FF, - 10329: 0xD302, - 10330: 0xD304, - 10331: 0xD306, - 10332: 0xD307, - 10333: 0xD308, - 10334: 0xD309, - 10335: 0xD30A, - 10336: 0xD30B, - 10337: 0xD30F, - 10338: 0xD311, - 10339: 0xD312, - 10340: 0xD313, - 10341: 0xD315, - 10342: 0xD317, - 10343: 0xD318, - 10344: 0xD319, - 10345: 0xD31A, - 10346: 0xD31B, - 10347: 0xD31E, - 10348: 0xD322, - 10349: 0xD323, - 10350: 0xD324, - 10351: 0xD326, - 10352: 0xD327, - 10353: 0xD32A, - 10354: 0xD32B, - 10355: 0xD32D, - 10356: 0xD32E, - 10357: 0xD32F, - 10358: 0xD331, - 10359: 0xD332, - 10360: 0xD333, - 10361: 0xD334, - 10362: 0xD335, - 10363: 0xD336, - 10364: 0xD337, - 10365: 0xD33A, - 10366: 0xD33E, - 10367: 0xD33F, - 10368: 0xD340, - 10369: 0xD341, - 10370: 0xD342, - 10371: 0xD343, - 10372: 0xD346, - 10373: 0xD347, - 10374: 0xD348, - 10375: 0xD349, - 10376: 0xD34A, - 10377: 0xD34B, - 10378: 0xD34C, - 10379: 0xD34D, - 10380: 0xD34E, - 10381: 0xD34F, - 10382: 0xD350, - 10383: 0xD351, - 10384: 0xD352, - 10385: 0xD353, - 10386: 0xD354, - 10387: 0xD355, - 10388: 0xD356, - 10389: 0xD357, - 10390: 0xD358, - 10391: 0xD359, - 10392: 0xD35A, - 10393: 0xD35B, - 10394: 0xD35C, - 10395: 0xD35D, - 10396: 0xD35E, - 10397: 0xD35F, - 10398: 0xD360, - 10399: 0xD361, - 10400: 0xD362, - 10401: 0xD363, - 10402: 0xD364, - 10403: 0xD365, - 10404: 0xD366, - 10405: 0xD367, - 10406: 0xD368, - 10407: 0xD369, - 10408: 0xBE68, - 10409: 0xBE6A, - 10410: 0xBE70, - 10411: 0xBE71, - 10412: 0xBE73, - 10413: 0xBE74, - 10414: 0xBE75, - 10415: 0xBE7B, - 10416: 0xBE7C, - 10417: 0xBE7D, - 10418: 0xBE80, - 10419: 0xBE84, - 10420: 0xBE8C, - 10421: 0xBE8D, - 10422: 0xBE8F, - 10423: 0xBE90, - 10424: 0xBE91, - 10425: 0xBE98, - 10426: 0xBE99, - 10427: 0xBEA8, - 10428: 0xBED0, - 10429: 0xBED1, - 10430: 0xBED4, - 10431: 0xBED7, - 10432: 0xBED8, - 10433: 0xBEE0, - 10434: 0xBEE3, - 10435: 0xBEE4, - 10436: 0xBEE5, - 10437: 0xBEEC, - 10438: 0xBF01, - 10439: 0xBF08, - 10440: 0xBF09, - 10441: 0xBF18, - 10442: 0xBF19, - 10443: 0xBF1B, - 10444: 0xBF1C, - 10445: 0xBF1D, - 10446: 0xBF40, - 10447: 0xBF41, - 10448: 0xBF44, - 10449: 0xBF48, - 10450: 0xBF50, - 10451: 0xBF51, - 10452: 0xBF55, - 10453: 0xBF94, - 10454: 0xBFB0, - 10455: 0xBFC5, - 10456: 0xBFCC, - 10457: 0xBFCD, - 10458: 0xBFD0, - 10459: 0xBFD4, - 10460: 0xBFDC, - 10461: 0xBFDF, - 10462: 0xBFE1, - 10463: 0xC03C, - 10464: 0xC051, - 10465: 0xC058, - 10466: 0xC05C, - 10467: 0xC060, - 10468: 0xC068, - 10469: 0xC069, - 10470: 0xC090, - 10471: 0xC091, - 10472: 0xC094, - 10473: 0xC098, - 10474: 0xC0A0, - 10475: 0xC0A1, - 10476: 0xC0A3, - 10477: 0xC0A5, - 10478: 0xC0AC, - 10479: 0xC0AD, - 10480: 0xC0AF, - 10481: 0xC0B0, - 10482: 0xC0B3, - 10483: 0xC0B4, - 10484: 0xC0B5, - 10485: 0xC0B6, - 10486: 0xC0BC, - 10487: 0xC0BD, - 10488: 0xC0BF, - 10489: 0xC0C0, - 10490: 0xC0C1, - 10491: 0xC0C5, - 10492: 0xC0C8, - 10493: 0xC0C9, - 10494: 0xC0CC, - 10495: 0xC0D0, - 10496: 0xC0D8, - 10497: 0xC0D9, - 10498: 0xC0DB, - 10499: 0xC0DC, - 10500: 0xC0DD, - 10501: 0xC0E4, - 10502: 0xD36A, - 10503: 0xD36B, - 10504: 0xD36C, - 10505: 0xD36D, - 10506: 0xD36E, - 10507: 0xD36F, - 10508: 0xD370, - 10509: 0xD371, - 10510: 0xD372, - 10511: 0xD373, - 10512: 0xD374, - 10513: 0xD375, - 10514: 0xD376, - 10515: 0xD377, - 10516: 0xD378, - 10517: 0xD379, - 10518: 0xD37A, - 10519: 0xD37B, - 10520: 0xD37E, - 10521: 0xD37F, - 10522: 0xD381, - 10523: 0xD382, - 10524: 0xD383, - 10525: 0xD385, - 10526: 0xD386, - 10527: 0xD387, - 10528: 0xD388, - 10529: 0xD389, - 10530: 0xD38A, - 10531: 0xD38B, - 10532: 0xD38E, - 10533: 0xD392, - 10534: 0xD393, - 10535: 0xD394, - 10536: 0xD395, - 10537: 0xD396, - 10538: 0xD397, - 10539: 0xD39A, - 10540: 0xD39B, - 10541: 0xD39D, - 10542: 0xD39E, - 10543: 0xD39F, - 10544: 0xD3A1, - 10545: 0xD3A2, - 10546: 0xD3A3, - 10547: 0xD3A4, - 10548: 0xD3A5, - 10549: 0xD3A6, - 10550: 0xD3A7, - 10551: 0xD3AA, - 10552: 0xD3AC, - 10553: 0xD3AE, - 10554: 0xD3AF, - 10555: 0xD3B0, - 10556: 0xD3B1, - 10557: 0xD3B2, - 10558: 0xD3B3, - 10559: 0xD3B5, - 10560: 0xD3B6, - 10561: 0xD3B7, - 10562: 0xD3B9, - 10563: 0xD3BA, - 10564: 0xD3BB, - 10565: 0xD3BD, - 10566: 0xD3BE, - 10567: 0xD3BF, - 10568: 0xD3C0, - 10569: 0xD3C1, - 10570: 0xD3C2, - 10571: 0xD3C3, - 10572: 0xD3C6, - 10573: 0xD3C7, - 10574: 0xD3CA, - 10575: 0xD3CB, - 10576: 0xD3CC, - 10577: 0xD3CD, - 10578: 0xD3CE, - 10579: 0xD3CF, - 10580: 0xD3D1, - 10581: 0xD3D2, - 10582: 0xD3D3, - 10583: 0xD3D4, - 10584: 0xD3D5, - 10585: 0xD3D6, - 10586: 0xC0E5, - 10587: 0xC0E8, - 10588: 0xC0EC, - 10589: 0xC0F4, - 10590: 0xC0F5, - 10591: 0xC0F7, - 10592: 0xC0F9, - 10593: 0xC100, - 10594: 0xC104, - 10595: 0xC108, - 10596: 0xC110, - 10597: 0xC115, - 10598: 0xC11C, - 10599: 0xC11D, - 10600: 0xC11E, - 10601: 0xC11F, - 10602: 0xC120, - 10603: 0xC123, - 10604: 0xC124, - 10605: 0xC126, - 10606: 0xC127, - 10607: 0xC12C, - 10608: 0xC12D, - 10609: 0xC12F, - 10610: 0xC130, - 10611: 0xC131, - 10612: 0xC136, - 10613: 0xC138, - 10614: 0xC139, - 10615: 0xC13C, - 10616: 0xC140, - 10617: 0xC148, - 10618: 0xC149, - 10619: 0xC14B, - 10620: 0xC14C, - 10621: 0xC14D, - 10622: 0xC154, - 10623: 0xC155, - 10624: 0xC158, - 10625: 0xC15C, - 10626: 0xC164, - 10627: 0xC165, - 10628: 0xC167, - 10629: 0xC168, - 10630: 0xC169, - 10631: 0xC170, - 10632: 0xC174, - 10633: 0xC178, - 10634: 0xC185, - 10635: 0xC18C, - 10636: 0xC18D, - 10637: 0xC18E, - 10638: 0xC190, - 10639: 0xC194, - 10640: 0xC196, - 10641: 0xC19C, - 10642: 0xC19D, - 10643: 0xC19F, - 10644: 0xC1A1, - 10645: 0xC1A5, - 10646: 0xC1A8, - 10647: 0xC1A9, - 10648: 0xC1AC, - 10649: 0xC1B0, - 10650: 0xC1BD, - 10651: 0xC1C4, - 10652: 0xC1C8, - 10653: 0xC1CC, - 10654: 0xC1D4, - 10655: 0xC1D7, - 10656: 0xC1D8, - 10657: 0xC1E0, - 10658: 0xC1E4, - 10659: 0xC1E8, - 10660: 0xC1F0, - 10661: 0xC1F1, - 10662: 0xC1F3, - 10663: 0xC1FC, - 10664: 0xC1FD, - 10665: 0xC200, - 10666: 0xC204, - 10667: 0xC20C, - 10668: 0xC20D, - 10669: 0xC20F, - 10670: 0xC211, - 10671: 0xC218, - 10672: 0xC219, - 10673: 0xC21C, - 10674: 0xC21F, - 10675: 0xC220, - 10676: 0xC228, - 10677: 0xC229, - 10678: 0xC22B, - 10679: 0xC22D, - 10680: 0xD3D7, - 10681: 0xD3D9, - 10682: 0xD3DA, - 10683: 0xD3DB, - 10684: 0xD3DC, - 10685: 0xD3DD, - 10686: 0xD3DE, - 10687: 0xD3DF, - 10688: 0xD3E0, - 10689: 0xD3E2, - 10690: 0xD3E4, - 10691: 0xD3E5, - 10692: 0xD3E6, - 10693: 0xD3E7, - 10694: 0xD3E8, - 10695: 0xD3E9, - 10696: 0xD3EA, - 10697: 0xD3EB, - 10698: 0xD3EE, - 10699: 0xD3EF, - 10700: 0xD3F1, - 10701: 0xD3F2, - 10702: 0xD3F3, - 10703: 0xD3F5, - 10704: 0xD3F6, - 10705: 0xD3F7, - 10706: 0xD3F8, - 10707: 0xD3F9, - 10708: 0xD3FA, - 10709: 0xD3FB, - 10710: 0xD3FE, - 10711: 0xD400, - 10712: 0xD402, - 10713: 0xD403, - 10714: 0xD404, - 10715: 0xD405, - 10716: 0xD406, - 10717: 0xD407, - 10718: 0xD409, - 10719: 0xD40A, - 10720: 0xD40B, - 10721: 0xD40C, - 10722: 0xD40D, - 10723: 0xD40E, - 10724: 0xD40F, - 10725: 0xD410, - 10726: 0xD411, - 10727: 0xD412, - 10728: 0xD413, - 10729: 0xD414, - 10730: 0xD415, - 10731: 0xD416, - 10732: 0xD417, - 10733: 0xD418, - 10734: 0xD419, - 10735: 0xD41A, - 10736: 0xD41B, - 10737: 0xD41C, - 10738: 0xD41E, - 10739: 0xD41F, - 10740: 0xD420, - 10741: 0xD421, - 10742: 0xD422, - 10743: 0xD423, - 10744: 0xD424, - 10745: 0xD425, - 10746: 0xD426, - 10747: 0xD427, - 10748: 0xD428, - 10749: 0xD429, - 10750: 0xD42A, - 10751: 0xD42B, - 10752: 0xD42C, - 10753: 0xD42D, - 10754: 0xD42E, - 10755: 0xD42F, - 10756: 0xD430, - 10757: 0xD431, - 10758: 0xD432, - 10759: 0xD433, - 10760: 0xD434, - 10761: 0xD435, - 10762: 0xD436, - 10763: 0xD437, - 10764: 0xC22F, - 10765: 0xC231, - 10766: 0xC232, - 10767: 0xC234, - 10768: 0xC248, - 10769: 0xC250, - 10770: 0xC251, - 10771: 0xC254, - 10772: 0xC258, - 10773: 0xC260, - 10774: 0xC265, - 10775: 0xC26C, - 10776: 0xC26D, - 10777: 0xC270, - 10778: 0xC274, - 10779: 0xC27C, - 10780: 0xC27D, - 10781: 0xC27F, - 10782: 0xC281, - 10783: 0xC288, - 10784: 0xC289, - 10785: 0xC290, - 10786: 0xC298, - 10787: 0xC29B, - 10788: 0xC29D, - 10789: 0xC2A4, - 10790: 0xC2A5, - 10791: 0xC2A8, - 10792: 0xC2AC, - 10793: 0xC2AD, - 10794: 0xC2B4, - 10795: 0xC2B5, - 10796: 0xC2B7, - 10797: 0xC2B9, - 10798: 0xC2DC, - 10799: 0xC2DD, - 10800: 0xC2E0, - 10801: 0xC2E3, - 10802: 0xC2E4, - 10803: 0xC2EB, - 10804: 0xC2EC, - 10805: 0xC2ED, - 10806: 0xC2EF, - 10807: 0xC2F1, - 10808: 0xC2F6, - 10809: 0xC2F8, - 10810: 0xC2F9, - 10811: 0xC2FB, - 10812: 0xC2FC, - 10813: 0xC300, - 10814: 0xC308, - 10815: 0xC309, - 10816: 0xC30C, - 10817: 0xC30D, - 10818: 0xC313, - 10819: 0xC314, - 10820: 0xC315, - 10821: 0xC318, - 10822: 0xC31C, - 10823: 0xC324, - 10824: 0xC325, - 10825: 0xC328, - 10826: 0xC329, - 10827: 0xC345, - 10828: 0xC368, - 10829: 0xC369, - 10830: 0xC36C, - 10831: 0xC370, - 10832: 0xC372, - 10833: 0xC378, - 10834: 0xC379, - 10835: 0xC37C, - 10836: 0xC37D, - 10837: 0xC384, - 10838: 0xC388, - 10839: 0xC38C, - 10840: 0xC3C0, - 10841: 0xC3D8, - 10842: 0xC3D9, - 10843: 0xC3DC, - 10844: 0xC3DF, - 10845: 0xC3E0, - 10846: 0xC3E2, - 10847: 0xC3E8, - 10848: 0xC3E9, - 10849: 0xC3ED, - 10850: 0xC3F4, - 10851: 0xC3F5, - 10852: 0xC3F8, - 10853: 0xC408, - 10854: 0xC410, - 10855: 0xC424, - 10856: 0xC42C, - 10857: 0xC430, - 10858: 0xD438, - 10859: 0xD439, - 10860: 0xD43A, - 10861: 0xD43B, - 10862: 0xD43C, - 10863: 0xD43D, - 10864: 0xD43E, - 10865: 0xD43F, - 10866: 0xD441, - 10867: 0xD442, - 10868: 0xD443, - 10869: 0xD445, - 10870: 0xD446, - 10871: 0xD447, - 10872: 0xD448, - 10873: 0xD449, - 10874: 0xD44A, - 10875: 0xD44B, - 10876: 0xD44C, - 10877: 0xD44D, - 10878: 0xD44E, - 10879: 0xD44F, - 10880: 0xD450, - 10881: 0xD451, - 10882: 0xD452, - 10883: 0xD453, - 10884: 0xD454, - 10885: 0xD455, - 10886: 0xD456, - 10887: 0xD457, - 10888: 0xD458, - 10889: 0xD459, - 10890: 0xD45A, - 10891: 0xD45B, - 10892: 0xD45D, - 10893: 0xD45E, - 10894: 0xD45F, - 10895: 0xD461, - 10896: 0xD462, - 10897: 0xD463, - 10898: 0xD465, - 10899: 0xD466, - 10900: 0xD467, - 10901: 0xD468, - 10902: 0xD469, - 10903: 0xD46A, - 10904: 0xD46B, - 10905: 0xD46C, - 10906: 0xD46E, - 10907: 0xD470, - 10908: 0xD471, - 10909: 0xD472, - 10910: 0xD473, - 10911: 0xD474, - 10912: 0xD475, - 10913: 0xD476, - 10914: 0xD477, - 10915: 0xD47A, - 10916: 0xD47B, - 10917: 0xD47D, - 10918: 0xD47E, - 10919: 0xD481, - 10920: 0xD483, - 10921: 0xD484, - 10922: 0xD485, - 10923: 0xD486, - 10924: 0xD487, - 10925: 0xD48A, - 10926: 0xD48C, - 10927: 0xD48E, - 10928: 0xD48F, - 10929: 0xD490, - 10930: 0xD491, - 10931: 0xD492, - 10932: 0xD493, - 10933: 0xD495, - 10934: 0xD496, - 10935: 0xD497, - 10936: 0xD498, - 10937: 0xD499, - 10938: 0xD49A, - 10939: 0xD49B, - 10940: 0xD49C, - 10941: 0xD49D, - 10942: 0xC434, - 10943: 0xC43C, - 10944: 0xC43D, - 10945: 0xC448, - 10946: 0xC464, - 10947: 0xC465, - 10948: 0xC468, - 10949: 0xC46C, - 10950: 0xC474, - 10951: 0xC475, - 10952: 0xC479, - 10953: 0xC480, - 10954: 0xC494, - 10955: 0xC49C, - 10956: 0xC4B8, - 10957: 0xC4BC, - 10958: 0xC4E9, - 10959: 0xC4F0, - 10960: 0xC4F1, - 10961: 0xC4F4, - 10962: 0xC4F8, - 10963: 0xC4FA, - 10964: 0xC4FF, - 10965: 0xC500, - 10966: 0xC501, - 10967: 0xC50C, - 10968: 0xC510, - 10969: 0xC514, - 10970: 0xC51C, - 10971: 0xC528, - 10972: 0xC529, - 10973: 0xC52C, - 10974: 0xC530, - 10975: 0xC538, - 10976: 0xC539, - 10977: 0xC53B, - 10978: 0xC53D, - 10979: 0xC544, - 10980: 0xC545, - 10981: 0xC548, - 10982: 0xC549, - 10983: 0xC54A, - 10984: 0xC54C, - 10985: 0xC54D, - 10986: 0xC54E, - 10987: 0xC553, - 10988: 0xC554, - 10989: 0xC555, - 10990: 0xC557, - 10991: 0xC558, - 10992: 0xC559, - 10993: 0xC55D, - 10994: 0xC55E, - 10995: 0xC560, - 10996: 0xC561, - 10997: 0xC564, - 10998: 0xC568, - 10999: 0xC570, - 11000: 0xC571, - 11001: 0xC573, - 11002: 0xC574, - 11003: 0xC575, - 11004: 0xC57C, - 11005: 0xC57D, - 11006: 0xC580, - 11007: 0xC584, - 11008: 0xC587, - 11009: 0xC58C, - 11010: 0xC58D, - 11011: 0xC58F, - 11012: 0xC591, - 11013: 0xC595, - 11014: 0xC597, - 11015: 0xC598, - 11016: 0xC59C, - 11017: 0xC5A0, - 11018: 0xC5A9, - 11019: 0xC5B4, - 11020: 0xC5B5, - 11021: 0xC5B8, - 11022: 0xC5B9, - 11023: 0xC5BB, - 11024: 0xC5BC, - 11025: 0xC5BD, - 11026: 0xC5BE, - 11027: 0xC5C4, - 11028: 0xC5C5, - 11029: 0xC5C6, - 11030: 0xC5C7, - 11031: 0xC5C8, - 11032: 0xC5C9, - 11033: 0xC5CA, - 11034: 0xC5CC, - 11035: 0xC5CE, - 11036: 0xD49E, - 11037: 0xD49F, - 11038: 0xD4A0, - 11039: 0xD4A1, - 11040: 0xD4A2, - 11041: 0xD4A3, - 11042: 0xD4A4, - 11043: 0xD4A5, - 11044: 0xD4A6, - 11045: 0xD4A7, - 11046: 0xD4A8, - 11047: 0xD4AA, - 11048: 0xD4AB, - 11049: 0xD4AC, - 11050: 0xD4AD, - 11051: 0xD4AE, - 11052: 0xD4AF, - 11053: 0xD4B0, - 11054: 0xD4B1, - 11055: 0xD4B2, - 11056: 0xD4B3, - 11057: 0xD4B4, - 11058: 0xD4B5, - 11059: 0xD4B6, - 11060: 0xD4B7, - 11061: 0xD4B8, - 11062: 0xD4B9, - 11063: 0xD4BA, - 11064: 0xD4BB, - 11065: 0xD4BC, - 11066: 0xD4BD, - 11067: 0xD4BE, - 11068: 0xD4BF, - 11069: 0xD4C0, - 11070: 0xD4C1, - 11071: 0xD4C2, - 11072: 0xD4C3, - 11073: 0xD4C4, - 11074: 0xD4C5, - 11075: 0xD4C6, - 11076: 0xD4C7, - 11077: 0xD4C8, - 11078: 0xD4C9, - 11079: 0xD4CA, - 11080: 0xD4CB, - 11081: 0xD4CD, - 11082: 0xD4CE, - 11083: 0xD4CF, - 11084: 0xD4D1, - 11085: 0xD4D2, - 11086: 0xD4D3, - 11087: 0xD4D5, - 11088: 0xD4D6, - 11089: 0xD4D7, - 11090: 0xD4D8, - 11091: 0xD4D9, - 11092: 0xD4DA, - 11093: 0xD4DB, - 11094: 0xD4DD, - 11095: 0xD4DE, - 11096: 0xD4E0, - 11097: 0xD4E1, - 11098: 0xD4E2, - 11099: 0xD4E3, - 11100: 0xD4E4, - 11101: 0xD4E5, - 11102: 0xD4E6, - 11103: 0xD4E7, - 11104: 0xD4E9, - 11105: 0xD4EA, - 11106: 0xD4EB, - 11107: 0xD4ED, - 11108: 0xD4EE, - 11109: 0xD4EF, - 11110: 0xD4F1, - 11111: 0xD4F2, - 11112: 0xD4F3, - 11113: 0xD4F4, - 11114: 0xD4F5, - 11115: 0xD4F6, - 11116: 0xD4F7, - 11117: 0xD4F9, - 11118: 0xD4FA, - 11119: 0xD4FC, - 11120: 0xC5D0, - 11121: 0xC5D1, - 11122: 0xC5D4, - 11123: 0xC5D8, - 11124: 0xC5E0, - 11125: 0xC5E1, - 11126: 0xC5E3, - 11127: 0xC5E5, - 11128: 0xC5EC, - 11129: 0xC5ED, - 11130: 0xC5EE, - 11131: 0xC5F0, - 11132: 0xC5F4, - 11133: 0xC5F6, - 11134: 0xC5F7, - 11135: 0xC5FC, - 11136: 0xC5FD, - 11137: 0xC5FE, - 11138: 0xC5FF, - 11139: 0xC600, - 11140: 0xC601, - 11141: 0xC605, - 11142: 0xC606, - 11143: 0xC607, - 11144: 0xC608, - 11145: 0xC60C, - 11146: 0xC610, - 11147: 0xC618, - 11148: 0xC619, - 11149: 0xC61B, - 11150: 0xC61C, - 11151: 0xC624, - 11152: 0xC625, - 11153: 0xC628, - 11154: 0xC62C, - 11155: 0xC62D, - 11156: 0xC62E, - 11157: 0xC630, - 11158: 0xC633, - 11159: 0xC634, - 11160: 0xC635, - 11161: 0xC637, - 11162: 0xC639, - 11163: 0xC63B, - 11164: 0xC640, - 11165: 0xC641, - 11166: 0xC644, - 11167: 0xC648, - 11168: 0xC650, - 11169: 0xC651, - 11170: 0xC653, - 11171: 0xC654, - 11172: 0xC655, - 11173: 0xC65C, - 11174: 0xC65D, - 11175: 0xC660, - 11176: 0xC66C, - 11177: 0xC66F, - 11178: 0xC671, - 11179: 0xC678, - 11180: 0xC679, - 11181: 0xC67C, - 11182: 0xC680, - 11183: 0xC688, - 11184: 0xC689, - 11185: 0xC68B, - 11186: 0xC68D, - 11187: 0xC694, - 11188: 0xC695, - 11189: 0xC698, - 11190: 0xC69C, - 11191: 0xC6A4, - 11192: 0xC6A5, - 11193: 0xC6A7, - 11194: 0xC6A9, - 11195: 0xC6B0, - 11196: 0xC6B1, - 11197: 0xC6B4, - 11198: 0xC6B8, - 11199: 0xC6B9, - 11200: 0xC6BA, - 11201: 0xC6C0, - 11202: 0xC6C1, - 11203: 0xC6C3, - 11204: 0xC6C5, - 11205: 0xC6CC, - 11206: 0xC6CD, - 11207: 0xC6D0, - 11208: 0xC6D4, - 11209: 0xC6DC, - 11210: 0xC6DD, - 11211: 0xC6E0, - 11212: 0xC6E1, - 11213: 0xC6E8, - 11214: 0xD4FE, - 11215: 0xD4FF, - 11216: 0xD500, - 11217: 0xD501, - 11218: 0xD502, - 11219: 0xD503, - 11220: 0xD505, - 11221: 0xD506, - 11222: 0xD507, - 11223: 0xD509, - 11224: 0xD50A, - 11225: 0xD50B, - 11226: 0xD50D, - 11227: 0xD50E, - 11228: 0xD50F, - 11229: 0xD510, - 11230: 0xD511, - 11231: 0xD512, - 11232: 0xD513, - 11233: 0xD516, - 11234: 0xD518, - 11235: 0xD519, - 11236: 0xD51A, - 11237: 0xD51B, - 11238: 0xD51C, - 11239: 0xD51D, - 11240: 0xD51E, - 11241: 0xD51F, - 11242: 0xD520, - 11243: 0xD521, - 11244: 0xD522, - 11245: 0xD523, - 11246: 0xD524, - 11247: 0xD525, - 11248: 0xD526, - 11249: 0xD527, - 11250: 0xD528, - 11251: 0xD529, - 11252: 0xD52A, - 11253: 0xD52B, - 11254: 0xD52C, - 11255: 0xD52D, - 11256: 0xD52E, - 11257: 0xD52F, - 11258: 0xD530, - 11259: 0xD531, - 11260: 0xD532, - 11261: 0xD533, - 11262: 0xD534, - 11263: 0xD535, - 11264: 0xD536, - 11265: 0xD537, - 11266: 0xD538, - 11267: 0xD539, - 11268: 0xD53A, - 11269: 0xD53B, - 11270: 0xD53E, - 11271: 0xD53F, - 11272: 0xD541, - 11273: 0xD542, - 11274: 0xD543, - 11275: 0xD545, - 11276: 0xD546, - 11277: 0xD547, - 11278: 0xD548, - 11279: 0xD549, - 11280: 0xD54A, - 11281: 0xD54B, - 11282: 0xD54E, - 11283: 0xD550, - 11284: 0xD552, - 11285: 0xD553, - 11286: 0xD554, - 11287: 0xD555, - 11288: 0xD556, - 11289: 0xD557, - 11290: 0xD55A, - 11291: 0xD55B, - 11292: 0xD55D, - 11293: 0xD55E, - 11294: 0xD55F, - 11295: 0xD561, - 11296: 0xD562, - 11297: 0xD563, - 11298: 0xC6E9, - 11299: 0xC6EC, - 11300: 0xC6F0, - 11301: 0xC6F8, - 11302: 0xC6F9, - 11303: 0xC6FD, - 11304: 0xC704, - 11305: 0xC705, - 11306: 0xC708, - 11307: 0xC70C, - 11308: 0xC714, - 11309: 0xC715, - 11310: 0xC717, - 11311: 0xC719, - 11312: 0xC720, - 11313: 0xC721, - 11314: 0xC724, - 11315: 0xC728, - 11316: 0xC730, - 11317: 0xC731, - 11318: 0xC733, - 11319: 0xC735, - 11320: 0xC737, - 11321: 0xC73C, - 11322: 0xC73D, - 11323: 0xC740, - 11324: 0xC744, - 11325: 0xC74A, - 11326: 0xC74C, - 11327: 0xC74D, - 11328: 0xC74F, - 11329: 0xC751, - 11330: 0xC752, - 11331: 0xC753, - 11332: 0xC754, - 11333: 0xC755, - 11334: 0xC756, - 11335: 0xC757, - 11336: 0xC758, - 11337: 0xC75C, - 11338: 0xC760, - 11339: 0xC768, - 11340: 0xC76B, - 11341: 0xC774, - 11342: 0xC775, - 11343: 0xC778, - 11344: 0xC77C, - 11345: 0xC77D, - 11346: 0xC77E, - 11347: 0xC783, - 11348: 0xC784, - 11349: 0xC785, - 11350: 0xC787, - 11351: 0xC788, - 11352: 0xC789, - 11353: 0xC78A, - 11354: 0xC78E, - 11355: 0xC790, - 11356: 0xC791, - 11357: 0xC794, - 11358: 0xC796, - 11359: 0xC797, - 11360: 0xC798, - 11361: 0xC79A, - 11362: 0xC7A0, - 11363: 0xC7A1, - 11364: 0xC7A3, - 11365: 0xC7A4, - 11366: 0xC7A5, - 11367: 0xC7A6, - 11368: 0xC7AC, - 11369: 0xC7AD, - 11370: 0xC7B0, - 11371: 0xC7B4, - 11372: 0xC7BC, - 11373: 0xC7BD, - 11374: 0xC7BF, - 11375: 0xC7C0, - 11376: 0xC7C1, - 11377: 0xC7C8, - 11378: 0xC7C9, - 11379: 0xC7CC, - 11380: 0xC7CE, - 11381: 0xC7D0, - 11382: 0xC7D8, - 11383: 0xC7DD, - 11384: 0xC7E4, - 11385: 0xC7E8, - 11386: 0xC7EC, - 11387: 0xC800, - 11388: 0xC801, - 11389: 0xC804, - 11390: 0xC808, - 11391: 0xC80A, - 11392: 0xD564, - 11393: 0xD566, - 11394: 0xD567, - 11395: 0xD56A, - 11396: 0xD56C, - 11397: 0xD56E, - 11398: 0xD56F, - 11399: 0xD570, - 11400: 0xD571, - 11401: 0xD572, - 11402: 0xD573, - 11403: 0xD576, - 11404: 0xD577, - 11405: 0xD579, - 11406: 0xD57A, - 11407: 0xD57B, - 11408: 0xD57D, - 11409: 0xD57E, - 11410: 0xD57F, - 11411: 0xD580, - 11412: 0xD581, - 11413: 0xD582, - 11414: 0xD583, - 11415: 0xD586, - 11416: 0xD58A, - 11417: 0xD58B, - 11418: 0xD58C, - 11419: 0xD58D, - 11420: 0xD58E, - 11421: 0xD58F, - 11422: 0xD591, - 11423: 0xD592, - 11424: 0xD593, - 11425: 0xD594, - 11426: 0xD595, - 11427: 0xD596, - 11428: 0xD597, - 11429: 0xD598, - 11430: 0xD599, - 11431: 0xD59A, - 11432: 0xD59B, - 11433: 0xD59C, - 11434: 0xD59D, - 11435: 0xD59E, - 11436: 0xD59F, - 11437: 0xD5A0, - 11438: 0xD5A1, - 11439: 0xD5A2, - 11440: 0xD5A3, - 11441: 0xD5A4, - 11442: 0xD5A6, - 11443: 0xD5A7, - 11444: 0xD5A8, - 11445: 0xD5A9, - 11446: 0xD5AA, - 11447: 0xD5AB, - 11448: 0xD5AC, - 11449: 0xD5AD, - 11450: 0xD5AE, - 11451: 0xD5AF, - 11452: 0xD5B0, - 11453: 0xD5B1, - 11454: 0xD5B2, - 11455: 0xD5B3, - 11456: 0xD5B4, - 11457: 0xD5B5, - 11458: 0xD5B6, - 11459: 0xD5B7, - 11460: 0xD5B8, - 11461: 0xD5B9, - 11462: 0xD5BA, - 11463: 0xD5BB, - 11464: 0xD5BC, - 11465: 0xD5BD, - 11466: 0xD5BE, - 11467: 0xD5BF, - 11468: 0xD5C0, - 11469: 0xD5C1, - 11470: 0xD5C2, - 11471: 0xD5C3, - 11472: 0xD5C4, - 11473: 0xD5C5, - 11474: 0xD5C6, - 11475: 0xD5C7, - 11476: 0xC810, - 11477: 0xC811, - 11478: 0xC813, - 11479: 0xC815, - 11480: 0xC816, - 11481: 0xC81C, - 11482: 0xC81D, - 11483: 0xC820, - 11484: 0xC824, - 11485: 0xC82C, - 11486: 0xC82D, - 11487: 0xC82F, - 11488: 0xC831, - 11489: 0xC838, - 11490: 0xC83C, - 11491: 0xC840, - 11492: 0xC848, - 11493: 0xC849, - 11494: 0xC84C, - 11495: 0xC84D, - 11496: 0xC854, - 11497: 0xC870, - 11498: 0xC871, - 11499: 0xC874, - 11500: 0xC878, - 11501: 0xC87A, - 11502: 0xC880, - 11503: 0xC881, - 11504: 0xC883, - 11505: 0xC885, - 11506: 0xC886, - 11507: 0xC887, - 11508: 0xC88B, - 11509: 0xC88C, - 11510: 0xC88D, - 11511: 0xC894, - 11512: 0xC89D, - 11513: 0xC89F, - 11514: 0xC8A1, - 11515: 0xC8A8, - 11516: 0xC8BC, - 11517: 0xC8BD, - 11518: 0xC8C4, - 11519: 0xC8C8, - 11520: 0xC8CC, - 11521: 0xC8D4, - 11522: 0xC8D5, - 11523: 0xC8D7, - 11524: 0xC8D9, - 11525: 0xC8E0, - 11526: 0xC8E1, - 11527: 0xC8E4, - 11528: 0xC8F5, - 11529: 0xC8FC, - 11530: 0xC8FD, - 11531: 0xC900, - 11532: 0xC904, - 11533: 0xC905, - 11534: 0xC906, - 11535: 0xC90C, - 11536: 0xC90D, - 11537: 0xC90F, - 11538: 0xC911, - 11539: 0xC918, - 11540: 0xC92C, - 11541: 0xC934, - 11542: 0xC950, - 11543: 0xC951, - 11544: 0xC954, - 11545: 0xC958, - 11546: 0xC960, - 11547: 0xC961, - 11548: 0xC963, - 11549: 0xC96C, - 11550: 0xC970, - 11551: 0xC974, - 11552: 0xC97C, - 11553: 0xC988, - 11554: 0xC989, - 11555: 0xC98C, - 11556: 0xC990, - 11557: 0xC998, - 11558: 0xC999, - 11559: 0xC99B, - 11560: 0xC99D, - 11561: 0xC9C0, - 11562: 0xC9C1, - 11563: 0xC9C4, - 11564: 0xC9C7, - 11565: 0xC9C8, - 11566: 0xC9CA, - 11567: 0xC9D0, - 11568: 0xC9D1, - 11569: 0xC9D3, - 11570: 0xD5CA, - 11571: 0xD5CB, - 11572: 0xD5CD, - 11573: 0xD5CE, - 11574: 0xD5CF, - 11575: 0xD5D1, - 11576: 0xD5D3, - 11577: 0xD5D4, - 11578: 0xD5D5, - 11579: 0xD5D6, - 11580: 0xD5D7, - 11581: 0xD5DA, - 11582: 0xD5DC, - 11583: 0xD5DE, - 11584: 0xD5DF, - 11585: 0xD5E0, - 11586: 0xD5E1, - 11587: 0xD5E2, - 11588: 0xD5E3, - 11589: 0xD5E6, - 11590: 0xD5E7, - 11591: 0xD5E9, - 11592: 0xD5EA, - 11593: 0xD5EB, - 11594: 0xD5ED, - 11595: 0xD5EE, - 11596: 0xD5EF, - 11597: 0xD5F0, - 11598: 0xD5F1, - 11599: 0xD5F2, - 11600: 0xD5F3, - 11601: 0xD5F6, - 11602: 0xD5F8, - 11603: 0xD5FA, - 11604: 0xD5FB, - 11605: 0xD5FC, - 11606: 0xD5FD, - 11607: 0xD5FE, - 11608: 0xD5FF, - 11609: 0xD602, - 11610: 0xD603, - 11611: 0xD605, - 11612: 0xD606, - 11613: 0xD607, - 11614: 0xD609, - 11615: 0xD60A, - 11616: 0xD60B, - 11617: 0xD60C, - 11618: 0xD60D, - 11619: 0xD60E, - 11620: 0xD60F, - 11621: 0xD612, - 11622: 0xD616, - 11623: 0xD617, - 11624: 0xD618, - 11625: 0xD619, - 11626: 0xD61A, - 11627: 0xD61B, - 11628: 0xD61D, - 11629: 0xD61E, - 11630: 0xD61F, - 11631: 0xD621, - 11632: 0xD622, - 11633: 0xD623, - 11634: 0xD625, - 11635: 0xD626, - 11636: 0xD627, - 11637: 0xD628, - 11638: 0xD629, - 11639: 0xD62A, - 11640: 0xD62B, - 11641: 0xD62C, - 11642: 0xD62E, - 11643: 0xD62F, - 11644: 0xD630, - 11645: 0xD631, - 11646: 0xD632, - 11647: 0xD633, - 11648: 0xD634, - 11649: 0xD635, - 11650: 0xD636, - 11651: 0xD637, - 11652: 0xD63A, - 11653: 0xD63B, - 11654: 0xC9D5, - 11655: 0xC9D6, - 11656: 0xC9D9, - 11657: 0xC9DA, - 11658: 0xC9DC, - 11659: 0xC9DD, - 11660: 0xC9E0, - 11661: 0xC9E2, - 11662: 0xC9E4, - 11663: 0xC9E7, - 11664: 0xC9EC, - 11665: 0xC9ED, - 11666: 0xC9EF, - 11667: 0xC9F0, - 11668: 0xC9F1, - 11669: 0xC9F8, - 11670: 0xC9F9, - 11671: 0xC9FC, - 11672: 0xCA00, - 11673: 0xCA08, - 11674: 0xCA09, - 11675: 0xCA0B, - 11676: 0xCA0C, - 11677: 0xCA0D, - 11678: 0xCA14, - 11679: 0xCA18, - 11680: 0xCA29, - 11681: 0xCA4C, - 11682: 0xCA4D, - 11683: 0xCA50, - 11684: 0xCA54, - 11685: 0xCA5C, - 11686: 0xCA5D, - 11687: 0xCA5F, - 11688: 0xCA60, - 11689: 0xCA61, - 11690: 0xCA68, - 11691: 0xCA7D, - 11692: 0xCA84, - 11693: 0xCA98, - 11694: 0xCABC, - 11695: 0xCABD, - 11696: 0xCAC0, - 11697: 0xCAC4, - 11698: 0xCACC, - 11699: 0xCACD, - 11700: 0xCACF, - 11701: 0xCAD1, - 11702: 0xCAD3, - 11703: 0xCAD8, - 11704: 0xCAD9, - 11705: 0xCAE0, - 11706: 0xCAEC, - 11707: 0xCAF4, - 11708: 0xCB08, - 11709: 0xCB10, - 11710: 0xCB14, - 11711: 0xCB18, - 11712: 0xCB20, - 11713: 0xCB21, - 11714: 0xCB41, - 11715: 0xCB48, - 11716: 0xCB49, - 11717: 0xCB4C, - 11718: 0xCB50, - 11719: 0xCB58, - 11720: 0xCB59, - 11721: 0xCB5D, - 11722: 0xCB64, - 11723: 0xCB78, - 11724: 0xCB79, - 11725: 0xCB9C, - 11726: 0xCBB8, - 11727: 0xCBD4, - 11728: 0xCBE4, - 11729: 0xCBE7, - 11730: 0xCBE9, - 11731: 0xCC0C, - 11732: 0xCC0D, - 11733: 0xCC10, - 11734: 0xCC14, - 11735: 0xCC1C, - 11736: 0xCC1D, - 11737: 0xCC21, - 11738: 0xCC22, - 11739: 0xCC27, - 11740: 0xCC28, - 11741: 0xCC29, - 11742: 0xCC2C, - 11743: 0xCC2E, - 11744: 0xCC30, - 11745: 0xCC38, - 11746: 0xCC39, - 11747: 0xCC3B, - 11748: 0xD63D, - 11749: 0xD63E, - 11750: 0xD63F, - 11751: 0xD641, - 11752: 0xD642, - 11753: 0xD643, - 11754: 0xD644, - 11755: 0xD646, - 11756: 0xD647, - 11757: 0xD64A, - 11758: 0xD64C, - 11759: 0xD64E, - 11760: 0xD64F, - 11761: 0xD650, - 11762: 0xD652, - 11763: 0xD653, - 11764: 0xD656, - 11765: 0xD657, - 11766: 0xD659, - 11767: 0xD65A, - 11768: 0xD65B, - 11769: 0xD65D, - 11770: 0xD65E, - 11771: 0xD65F, - 11772: 0xD660, - 11773: 0xD661, - 11774: 0xD662, - 11775: 0xD663, - 11776: 0xD664, - 11777: 0xD665, - 11778: 0xD666, - 11779: 0xD668, - 11780: 0xD66A, - 11781: 0xD66B, - 11782: 0xD66C, - 11783: 0xD66D, - 11784: 0xD66E, - 11785: 0xD66F, - 11786: 0xD672, - 11787: 0xD673, - 11788: 0xD675, - 11789: 0xD676, - 11790: 0xD677, - 11791: 0xD678, - 11792: 0xD679, - 11793: 0xD67A, - 11794: 0xD67B, - 11795: 0xD67C, - 11796: 0xD67D, - 11797: 0xD67E, - 11798: 0xD67F, - 11799: 0xD680, - 11800: 0xD681, - 11801: 0xD682, - 11802: 0xD684, - 11803: 0xD686, - 11804: 0xD687, - 11805: 0xD688, - 11806: 0xD689, - 11807: 0xD68A, - 11808: 0xD68B, - 11809: 0xD68E, - 11810: 0xD68F, - 11811: 0xD691, - 11812: 0xD692, - 11813: 0xD693, - 11814: 0xD695, - 11815: 0xD696, - 11816: 0xD697, - 11817: 0xD698, - 11818: 0xD699, - 11819: 0xD69A, - 11820: 0xD69B, - 11821: 0xD69C, - 11822: 0xD69E, - 11823: 0xD6A0, - 11824: 0xD6A2, - 11825: 0xD6A3, - 11826: 0xD6A4, - 11827: 0xD6A5, - 11828: 0xD6A6, - 11829: 0xD6A7, - 11830: 0xD6A9, - 11831: 0xD6AA, - 11832: 0xCC3C, - 11833: 0xCC3D, - 11834: 0xCC3E, - 11835: 0xCC44, - 11836: 0xCC45, - 11837: 0xCC48, - 11838: 0xCC4C, - 11839: 0xCC54, - 11840: 0xCC55, - 11841: 0xCC57, - 11842: 0xCC58, - 11843: 0xCC59, - 11844: 0xCC60, - 11845: 0xCC64, - 11846: 0xCC66, - 11847: 0xCC68, - 11848: 0xCC70, - 11849: 0xCC75, - 11850: 0xCC98, - 11851: 0xCC99, - 11852: 0xCC9C, - 11853: 0xCCA0, - 11854: 0xCCA8, - 11855: 0xCCA9, - 11856: 0xCCAB, - 11857: 0xCCAC, - 11858: 0xCCAD, - 11859: 0xCCB4, - 11860: 0xCCB5, - 11861: 0xCCB8, - 11862: 0xCCBC, - 11863: 0xCCC4, - 11864: 0xCCC5, - 11865: 0xCCC7, - 11866: 0xCCC9, - 11867: 0xCCD0, - 11868: 0xCCD4, - 11869: 0xCCE4, - 11870: 0xCCEC, - 11871: 0xCCF0, - 11872: 0xCD01, - 11873: 0xCD08, - 11874: 0xCD09, - 11875: 0xCD0C, - 11876: 0xCD10, - 11877: 0xCD18, - 11878: 0xCD19, - 11879: 0xCD1B, - 11880: 0xCD1D, - 11881: 0xCD24, - 11882: 0xCD28, - 11883: 0xCD2C, - 11884: 0xCD39, - 11885: 0xCD5C, - 11886: 0xCD60, - 11887: 0xCD64, - 11888: 0xCD6C, - 11889: 0xCD6D, - 11890: 0xCD6F, - 11891: 0xCD71, - 11892: 0xCD78, - 11893: 0xCD88, - 11894: 0xCD94, - 11895: 0xCD95, - 11896: 0xCD98, - 11897: 0xCD9C, - 11898: 0xCDA4, - 11899: 0xCDA5, - 11900: 0xCDA7, - 11901: 0xCDA9, - 11902: 0xCDB0, - 11903: 0xCDC4, - 11904: 0xCDCC, - 11905: 0xCDD0, - 11906: 0xCDE8, - 11907: 0xCDEC, - 11908: 0xCDF0, - 11909: 0xCDF8, - 11910: 0xCDF9, - 11911: 0xCDFB, - 11912: 0xCDFD, - 11913: 0xCE04, - 11914: 0xCE08, - 11915: 0xCE0C, - 11916: 0xCE14, - 11917: 0xCE19, - 11918: 0xCE20, - 11919: 0xCE21, - 11920: 0xCE24, - 11921: 0xCE28, - 11922: 0xCE30, - 11923: 0xCE31, - 11924: 0xCE33, - 11925: 0xCE35, - 11926: 0xD6AB, - 11927: 0xD6AD, - 11928: 0xD6AE, - 11929: 0xD6AF, - 11930: 0xD6B1, - 11931: 0xD6B2, - 11932: 0xD6B3, - 11933: 0xD6B4, - 11934: 0xD6B5, - 11935: 0xD6B6, - 11936: 0xD6B7, - 11937: 0xD6B8, - 11938: 0xD6BA, - 11939: 0xD6BC, - 11940: 0xD6BD, - 11941: 0xD6BE, - 11942: 0xD6BF, - 11943: 0xD6C0, - 11944: 0xD6C1, - 11945: 0xD6C2, - 11946: 0xD6C3, - 11947: 0xD6C6, - 11948: 0xD6C7, - 11949: 0xD6C9, - 11950: 0xD6CA, - 11951: 0xD6CB, - 11952: 0xD6CD, - 11953: 0xD6CE, - 11954: 0xD6CF, - 11955: 0xD6D0, - 11956: 0xD6D2, - 11957: 0xD6D3, - 11958: 0xD6D5, - 11959: 0xD6D6, - 11960: 0xD6D8, - 11961: 0xD6DA, - 11962: 0xD6DB, - 11963: 0xD6DC, - 11964: 0xD6DD, - 11965: 0xD6DE, - 11966: 0xD6DF, - 11967: 0xD6E1, - 11968: 0xD6E2, - 11969: 0xD6E3, - 11970: 0xD6E5, - 11971: 0xD6E6, - 11972: 0xD6E7, - 11973: 0xD6E9, - 11974: 0xD6EA, - 11975: 0xD6EB, - 11976: 0xD6EC, - 11977: 0xD6ED, - 11978: 0xD6EE, - 11979: 0xD6EF, - 11980: 0xD6F1, - 11981: 0xD6F2, - 11982: 0xD6F3, - 11983: 0xD6F4, - 11984: 0xD6F6, - 11985: 0xD6F7, - 11986: 0xD6F8, - 11987: 0xD6F9, - 11988: 0xD6FA, - 11989: 0xD6FB, - 11990: 0xD6FE, - 11991: 0xD6FF, - 11992: 0xD701, - 11993: 0xD702, - 11994: 0xD703, - 11995: 0xD705, - 11996: 0xD706, - 11997: 0xD707, - 11998: 0xD708, - 11999: 0xD709, - 12000: 0xD70A, - 12001: 0xD70B, - 12002: 0xD70C, - 12003: 0xD70D, - 12004: 0xD70E, - 12005: 0xD70F, - 12006: 0xD710, - 12007: 0xD712, - 12008: 0xD713, - 12009: 0xD714, - 12010: 0xCE58, - 12011: 0xCE59, - 12012: 0xCE5C, - 12013: 0xCE5F, - 12014: 0xCE60, - 12015: 0xCE61, - 12016: 0xCE68, - 12017: 0xCE69, - 12018: 0xCE6B, - 12019: 0xCE6D, - 12020: 0xCE74, - 12021: 0xCE75, - 12022: 0xCE78, - 12023: 0xCE7C, - 12024: 0xCE84, - 12025: 0xCE85, - 12026: 0xCE87, - 12027: 0xCE89, - 12028: 0xCE90, - 12029: 0xCE91, - 12030: 0xCE94, - 12031: 0xCE98, - 12032: 0xCEA0, - 12033: 0xCEA1, - 12034: 0xCEA3, - 12035: 0xCEA4, - 12036: 0xCEA5, - 12037: 0xCEAC, - 12038: 0xCEAD, - 12039: 0xCEC1, - 12040: 0xCEE4, - 12041: 0xCEE5, - 12042: 0xCEE8, - 12043: 0xCEEB, - 12044: 0xCEEC, - 12045: 0xCEF4, - 12046: 0xCEF5, - 12047: 0xCEF7, - 12048: 0xCEF8, - 12049: 0xCEF9, - 12050: 0xCF00, - 12051: 0xCF01, - 12052: 0xCF04, - 12053: 0xCF08, - 12054: 0xCF10, - 12055: 0xCF11, - 12056: 0xCF13, - 12057: 0xCF15, - 12058: 0xCF1C, - 12059: 0xCF20, - 12060: 0xCF24, - 12061: 0xCF2C, - 12062: 0xCF2D, - 12063: 0xCF2F, - 12064: 0xCF30, - 12065: 0xCF31, - 12066: 0xCF38, - 12067: 0xCF54, - 12068: 0xCF55, - 12069: 0xCF58, - 12070: 0xCF5C, - 12071: 0xCF64, - 12072: 0xCF65, - 12073: 0xCF67, - 12074: 0xCF69, - 12075: 0xCF70, - 12076: 0xCF71, - 12077: 0xCF74, - 12078: 0xCF78, - 12079: 0xCF80, - 12080: 0xCF85, - 12081: 0xCF8C, - 12082: 0xCFA1, - 12083: 0xCFA8, - 12084: 0xCFB0, - 12085: 0xCFC4, - 12086: 0xCFE0, - 12087: 0xCFE1, - 12088: 0xCFE4, - 12089: 0xCFE8, - 12090: 0xCFF0, - 12091: 0xCFF1, - 12092: 0xCFF3, - 12093: 0xCFF5, - 12094: 0xCFFC, - 12095: 0xD000, - 12096: 0xD004, - 12097: 0xD011, - 12098: 0xD018, - 12099: 0xD02D, - 12100: 0xD034, - 12101: 0xD035, - 12102: 0xD038, - 12103: 0xD03C, - 12104: 0xD715, - 12105: 0xD716, - 12106: 0xD717, - 12107: 0xD71A, - 12108: 0xD71B, - 12109: 0xD71D, - 12110: 0xD71E, - 12111: 0xD71F, - 12112: 0xD721, - 12113: 0xD722, - 12114: 0xD723, - 12115: 0xD724, - 12116: 0xD725, - 12117: 0xD726, - 12118: 0xD727, - 12119: 0xD72A, - 12120: 0xD72C, - 12121: 0xD72E, - 12122: 0xD72F, - 12123: 0xD730, - 12124: 0xD731, - 12125: 0xD732, - 12126: 0xD733, - 12127: 0xD736, - 12128: 0xD737, - 12129: 0xD739, - 12130: 0xD73A, - 12131: 0xD73B, - 12132: 0xD73D, - 12133: 0xD73E, - 12134: 0xD73F, - 12135: 0xD740, - 12136: 0xD741, - 12137: 0xD742, - 12138: 0xD743, - 12139: 0xD745, - 12140: 0xD746, - 12141: 0xD748, - 12142: 0xD74A, - 12143: 0xD74B, - 12144: 0xD74C, - 12145: 0xD74D, - 12146: 0xD74E, - 12147: 0xD74F, - 12148: 0xD752, - 12149: 0xD753, - 12150: 0xD755, - 12151: 0xD75A, - 12152: 0xD75B, - 12153: 0xD75C, - 12154: 0xD75D, - 12155: 0xD75E, - 12156: 0xD75F, - 12157: 0xD762, - 12158: 0xD764, - 12159: 0xD766, - 12160: 0xD767, - 12161: 0xD768, - 12162: 0xD76A, - 12163: 0xD76B, - 12164: 0xD76D, - 12165: 0xD76E, - 12166: 0xD76F, - 12167: 0xD771, - 12168: 0xD772, - 12169: 0xD773, - 12170: 0xD775, - 12171: 0xD776, - 12172: 0xD777, - 12173: 0xD778, - 12174: 0xD779, - 12175: 0xD77A, - 12176: 0xD77B, - 12177: 0xD77E, - 12178: 0xD77F, - 12179: 0xD780, - 12180: 0xD782, - 12181: 0xD783, - 12182: 0xD784, - 12183: 0xD785, - 12184: 0xD786, - 12185: 0xD787, - 12186: 0xD78A, - 12187: 0xD78B, - 12188: 0xD044, - 12189: 0xD045, - 12190: 0xD047, - 12191: 0xD049, - 12192: 0xD050, - 12193: 0xD054, - 12194: 0xD058, - 12195: 0xD060, - 12196: 0xD06C, - 12197: 0xD06D, - 12198: 0xD070, - 12199: 0xD074, - 12200: 0xD07C, - 12201: 0xD07D, - 12202: 0xD081, - 12203: 0xD0A4, - 12204: 0xD0A5, - 12205: 0xD0A8, - 12206: 0xD0AC, - 12207: 0xD0B4, - 12208: 0xD0B5, - 12209: 0xD0B7, - 12210: 0xD0B9, - 12211: 0xD0C0, - 12212: 0xD0C1, - 12213: 0xD0C4, - 12214: 0xD0C8, - 12215: 0xD0C9, - 12216: 0xD0D0, - 12217: 0xD0D1, - 12218: 0xD0D3, - 12219: 0xD0D4, - 12220: 0xD0D5, - 12221: 0xD0DC, - 12222: 0xD0DD, - 12223: 0xD0E0, - 12224: 0xD0E4, - 12225: 0xD0EC, - 12226: 0xD0ED, - 12227: 0xD0EF, - 12228: 0xD0F0, - 12229: 0xD0F1, - 12230: 0xD0F8, - 12231: 0xD10D, - 12232: 0xD130, - 12233: 0xD131, - 12234: 0xD134, - 12235: 0xD138, - 12236: 0xD13A, - 12237: 0xD140, - 12238: 0xD141, - 12239: 0xD143, - 12240: 0xD144, - 12241: 0xD145, - 12242: 0xD14C, - 12243: 0xD14D, - 12244: 0xD150, - 12245: 0xD154, - 12246: 0xD15C, - 12247: 0xD15D, - 12248: 0xD15F, - 12249: 0xD161, - 12250: 0xD168, - 12251: 0xD16C, - 12252: 0xD17C, - 12253: 0xD184, - 12254: 0xD188, - 12255: 0xD1A0, - 12256: 0xD1A1, - 12257: 0xD1A4, - 12258: 0xD1A8, - 12259: 0xD1B0, - 12260: 0xD1B1, - 12261: 0xD1B3, - 12262: 0xD1B5, - 12263: 0xD1BA, - 12264: 0xD1BC, - 12265: 0xD1C0, - 12266: 0xD1D8, - 12267: 0xD1F4, - 12268: 0xD1F8, - 12269: 0xD207, - 12270: 0xD209, - 12271: 0xD210, - 12272: 0xD22C, - 12273: 0xD22D, - 12274: 0xD230, - 12275: 0xD234, - 12276: 0xD23C, - 12277: 0xD23D, - 12278: 0xD23F, - 12279: 0xD241, - 12280: 0xD248, - 12281: 0xD25C, - 12282: 0xD78D, - 12283: 0xD78E, - 12284: 0xD78F, - 12285: 0xD791, - 12286: 0xD792, - 12287: 0xD793, - 12288: 0xD794, - 12289: 0xD795, - 12290: 0xD796, - 12291: 0xD797, - 12292: 0xD79A, - 12293: 0xD79C, - 12294: 0xD79E, - 12295: 0xD79F, - 12296: 0xD7A0, - 12297: 0xD7A1, - 12298: 0xD7A2, - 12299: 0xD7A3, - 12366: 0xD264, - 12367: 0xD280, - 12368: 0xD281, - 12369: 0xD284, - 12370: 0xD288, - 12371: 0xD290, - 12372: 0xD291, - 12373: 0xD295, - 12374: 0xD29C, - 12375: 0xD2A0, - 12376: 0xD2A4, - 12377: 0xD2AC, - 12378: 0xD2B1, - 12379: 0xD2B8, - 12380: 0xD2B9, - 12381: 0xD2BC, - 12382: 0xD2BF, - 12383: 0xD2C0, - 12384: 0xD2C2, - 12385: 0xD2C8, - 12386: 0xD2C9, - 12387: 0xD2CB, - 12388: 0xD2D4, - 12389: 0xD2D8, - 12390: 0xD2DC, - 12391: 0xD2E4, - 12392: 0xD2E5, - 12393: 0xD2F0, - 12394: 0xD2F1, - 12395: 0xD2F4, - 12396: 0xD2F8, - 12397: 0xD300, - 12398: 0xD301, - 12399: 0xD303, - 12400: 0xD305, - 12401: 0xD30C, - 12402: 0xD30D, - 12403: 0xD30E, - 12404: 0xD310, - 12405: 0xD314, - 12406: 0xD316, - 12407: 0xD31C, - 12408: 0xD31D, - 12409: 0xD31F, - 12410: 0xD320, - 12411: 0xD321, - 12412: 0xD325, - 12413: 0xD328, - 12414: 0xD329, - 12415: 0xD32C, - 12416: 0xD330, - 12417: 0xD338, - 12418: 0xD339, - 12419: 0xD33B, - 12420: 0xD33C, - 12421: 0xD33D, - 12422: 0xD344, - 12423: 0xD345, - 12424: 0xD37C, - 12425: 0xD37D, - 12426: 0xD380, - 12427: 0xD384, - 12428: 0xD38C, - 12429: 0xD38D, - 12430: 0xD38F, - 12431: 0xD390, - 12432: 0xD391, - 12433: 0xD398, - 12434: 0xD399, - 12435: 0xD39C, - 12436: 0xD3A0, - 12437: 0xD3A8, - 12438: 0xD3A9, - 12439: 0xD3AB, - 12440: 0xD3AD, - 12441: 0xD3B4, - 12442: 0xD3B8, - 12443: 0xD3BC, - 12444: 0xD3C4, - 12445: 0xD3C5, - 12446: 0xD3C8, - 12447: 0xD3C9, - 12448: 0xD3D0, - 12449: 0xD3D8, - 12450: 0xD3E1, - 12451: 0xD3E3, - 12452: 0xD3EC, - 12453: 0xD3ED, - 12454: 0xD3F0, - 12455: 0xD3F4, - 12456: 0xD3FC, - 12457: 0xD3FD, - 12458: 0xD3FF, - 12459: 0xD401, - 12460: 0xD408, - 12461: 0xD41D, - 12462: 0xD440, - 12463: 0xD444, - 12464: 0xD45C, - 12465: 0xD460, - 12466: 0xD464, - 12467: 0xD46D, - 12468: 0xD46F, - 12469: 0xD478, - 12470: 0xD479, - 12471: 0xD47C, - 12472: 0xD47F, - 12473: 0xD480, - 12474: 0xD482, - 12475: 0xD488, - 12476: 0xD489, - 12477: 0xD48B, - 12478: 0xD48D, - 12479: 0xD494, - 12480: 0xD4A9, - 12481: 0xD4CC, - 12482: 0xD4D0, - 12483: 0xD4D4, - 12484: 0xD4DC, - 12485: 0xD4DF, - 12486: 0xD4E8, - 12487: 0xD4EC, - 12488: 0xD4F0, - 12489: 0xD4F8, - 12490: 0xD4FB, - 12491: 0xD4FD, - 12492: 0xD504, - 12493: 0xD508, - 12494: 0xD50C, - 12495: 0xD514, - 12496: 0xD515, - 12497: 0xD517, - 12498: 0xD53C, - 12499: 0xD53D, - 12500: 0xD540, - 12501: 0xD544, - 12502: 0xD54C, - 12503: 0xD54D, - 12504: 0xD54F, - 12505: 0xD551, - 12506: 0xD558, - 12507: 0xD559, - 12508: 0xD55C, - 12509: 0xD560, - 12510: 0xD565, - 12511: 0xD568, - 12512: 0xD569, - 12513: 0xD56B, - 12514: 0xD56D, - 12515: 0xD574, - 12516: 0xD575, - 12517: 0xD578, - 12518: 0xD57C, - 12519: 0xD584, - 12520: 0xD585, - 12521: 0xD587, - 12522: 0xD588, - 12523: 0xD589, - 12524: 0xD590, - 12525: 0xD5A5, - 12526: 0xD5C8, - 12527: 0xD5C9, - 12528: 0xD5CC, - 12529: 0xD5D0, - 12530: 0xD5D2, - 12531: 0xD5D8, - 12532: 0xD5D9, - 12533: 0xD5DB, - 12534: 0xD5DD, - 12535: 0xD5E4, - 12536: 0xD5E5, - 12537: 0xD5E8, - 12538: 0xD5EC, - 12539: 0xD5F4, - 12540: 0xD5F5, - 12541: 0xD5F7, - 12542: 0xD5F9, - 12543: 0xD600, - 12544: 0xD601, - 12545: 0xD604, - 12546: 0xD608, - 12547: 0xD610, - 12548: 0xD611, - 12549: 0xD613, - 12550: 0xD614, - 12551: 0xD615, - 12552: 0xD61C, - 12553: 0xD620, - 12554: 0xD624, - 12555: 0xD62D, - 12556: 0xD638, - 12557: 0xD639, - 12558: 0xD63C, - 12559: 0xD640, - 12560: 0xD645, - 12561: 0xD648, - 12562: 0xD649, - 12563: 0xD64B, - 12564: 0xD64D, - 12565: 0xD651, - 12566: 0xD654, - 12567: 0xD655, - 12568: 0xD658, - 12569: 0xD65C, - 12570: 0xD667, - 12571: 0xD669, - 12572: 0xD670, - 12573: 0xD671, - 12574: 0xD674, - 12575: 0xD683, - 12576: 0xD685, - 12577: 0xD68C, - 12578: 0xD68D, - 12579: 0xD690, - 12580: 0xD694, - 12581: 0xD69D, - 12582: 0xD69F, - 12583: 0xD6A1, - 12584: 0xD6A8, - 12585: 0xD6AC, - 12586: 0xD6B0, - 12587: 0xD6B9, - 12588: 0xD6BB, - 12589: 0xD6C4, - 12590: 0xD6C5, - 12591: 0xD6C8, - 12592: 0xD6CC, - 12593: 0xD6D1, - 12594: 0xD6D4, - 12595: 0xD6D7, - 12596: 0xD6D9, - 12597: 0xD6E0, - 12598: 0xD6E4, - 12599: 0xD6E8, - 12600: 0xD6F0, - 12601: 0xD6F5, - 12602: 0xD6FC, - 12603: 0xD6FD, - 12604: 0xD700, - 12605: 0xD704, - 12606: 0xD711, - 12607: 0xD718, - 12608: 0xD719, - 12609: 0xD71C, - 12610: 0xD720, - 12611: 0xD728, - 12612: 0xD729, - 12613: 0xD72B, - 12614: 0xD72D, - 12615: 0xD734, - 12616: 0xD735, - 12617: 0xD738, - 12618: 0xD73C, - 12619: 0xD744, - 12620: 0xD747, - 12621: 0xD749, - 12622: 0xD750, - 12623: 0xD751, - 12624: 0xD754, - 12625: 0xD756, - 12626: 0xD757, - 12627: 0xD758, - 12628: 0xD759, - 12629: 0xD760, - 12630: 0xD761, - 12631: 0xD763, - 12632: 0xD765, - 12633: 0xD769, - 12634: 0xD76C, - 12635: 0xD770, - 12636: 0xD774, - 12637: 0xD77C, - 12638: 0xD77D, - 12639: 0xD781, - 12640: 0xD788, - 12641: 0xD789, - 12642: 0xD78C, - 12643: 0xD790, - 12644: 0xD798, - 12645: 0xD799, - 12646: 0xD79B, - 12647: 0xD79D, - 12742: 0x4F3D, - 12743: 0x4F73, - 12744: 0x5047, - 12745: 0x50F9, - 12746: 0x52A0, - 12747: 0x53EF, - 12748: 0x5475, - 12749: 0x54E5, - 12750: 0x5609, - 12751: 0x5AC1, - 12752: 0x5BB6, - 12753: 0x6687, - 12754: 0x67B6, - 12755: 0x67B7, - 12756: 0x67EF, - 12757: 0x6B4C, - 12758: 0x73C2, - 12759: 0x75C2, - 12760: 0x7A3C, - 12761: 0x82DB, - 12762: 0x8304, - 12763: 0x8857, - 12764: 0x8888, - 12765: 0x8A36, - 12766: 0x8CC8, - 12767: 0x8DCF, - 12768: 0x8EFB, - 12769: 0x8FE6, - 12770: 0x99D5, - 12771: 0x523B, - 12772: 0x5374, - 12773: 0x5404, - 12774: 0x606A, - 12775: 0x6164, - 12776: 0x6BBC, - 12777: 0x73CF, - 12778: 0x811A, - 12779: 0x89BA, - 12780: 0x89D2, - 12781: 0x95A3, - 12782: 0x4F83, - 12783: 0x520A, - 12784: 0x58BE, - 12785: 0x5978, - 12786: 0x59E6, - 12787: 0x5E72, - 12788: 0x5E79, - 12789: 0x61C7, - 12790: 0x63C0, - 12791: 0x6746, - 12792: 0x67EC, - 12793: 0x687F, - 12794: 0x6F97, - 12795: 0x764E, - 12796: 0x770B, - 12797: 0x78F5, - 12798: 0x7A08, - 12799: 0x7AFF, - 12800: 0x7C21, - 12801: 0x809D, - 12802: 0x826E, - 12803: 0x8271, - 12804: 0x8AEB, - 12805: 0x9593, - 12806: 0x4E6B, - 12807: 0x559D, - 12808: 0x66F7, - 12809: 0x6E34, - 12810: 0x78A3, - 12811: 0x7AED, - 12812: 0x845B, - 12813: 0x8910, - 12814: 0x874E, - 12815: 0x97A8, - 12816: 0x52D8, - 12817: 0x574E, - 12818: 0x582A, - 12819: 0x5D4C, - 12820: 0x611F, - 12821: 0x61BE, - 12822: 0x6221, - 12823: 0x6562, - 12824: 0x67D1, - 12825: 0x6A44, - 12826: 0x6E1B, - 12827: 0x7518, - 12828: 0x75B3, - 12829: 0x76E3, - 12830: 0x77B0, - 12831: 0x7D3A, - 12832: 0x90AF, - 12833: 0x9451, - 12834: 0x9452, - 12835: 0x9F95, - 12836: 0x5323, - 12837: 0x5CAC, - 12838: 0x7532, - 12839: 0x80DB, - 12840: 0x9240, - 12841: 0x9598, - 12842: 0x525B, - 12843: 0x5808, - 12844: 0x59DC, - 12845: 0x5CA1, - 12846: 0x5D17, - 12847: 0x5EB7, - 12848: 0x5F3A, - 12849: 0x5F4A, - 12850: 0x6177, - 12851: 0x6C5F, - 12852: 0x757A, - 12853: 0x7586, - 12854: 0x7CE0, - 12855: 0x7D73, - 12856: 0x7DB1, - 12857: 0x7F8C, - 12858: 0x8154, - 12859: 0x8221, - 12860: 0x8591, - 12861: 0x8941, - 12862: 0x8B1B, - 12863: 0x92FC, - 12864: 0x964D, - 12865: 0x9C47, - 12866: 0x4ECB, - 12867: 0x4EF7, - 12868: 0x500B, - 12869: 0x51F1, - 12870: 0x584F, - 12871: 0x6137, - 12872: 0x613E, - 12873: 0x6168, - 12874: 0x6539, - 12875: 0x69EA, - 12876: 0x6F11, - 12877: 0x75A5, - 12878: 0x7686, - 12879: 0x76D6, - 12880: 0x7B87, - 12881: 0x82A5, - 12882: 0x84CB, - 12883: 0xF900, - 12884: 0x93A7, - 12885: 0x958B, - 12886: 0x5580, - 12887: 0x5BA2, - 12888: 0x5751, - 12889: 0xF901, - 12890: 0x7CB3, - 12891: 0x7FB9, - 12892: 0x91B5, - 12893: 0x5028, - 12894: 0x53BB, - 12895: 0x5C45, - 12896: 0x5DE8, - 12897: 0x62D2, - 12898: 0x636E, - 12899: 0x64DA, - 12900: 0x64E7, - 12901: 0x6E20, - 12902: 0x70AC, - 12903: 0x795B, - 12904: 0x8DDD, - 12905: 0x8E1E, - 12906: 0xF902, - 12907: 0x907D, - 12908: 0x9245, - 12909: 0x92F8, - 12910: 0x4E7E, - 12911: 0x4EF6, - 12912: 0x5065, - 12913: 0x5DFE, - 12914: 0x5EFA, - 12915: 0x6106, - 12916: 0x6957, - 12917: 0x8171, - 12918: 0x8654, - 12919: 0x8E47, - 12920: 0x9375, - 12921: 0x9A2B, - 12922: 0x4E5E, - 12923: 0x5091, - 12924: 0x6770, - 12925: 0x6840, - 12926: 0x5109, - 12927: 0x528D, - 12928: 0x5292, - 12929: 0x6AA2, - 12930: 0x77BC, - 12931: 0x9210, - 12932: 0x9ED4, - 12933: 0x52AB, - 12934: 0x602F, - 12935: 0x8FF2, - 12936: 0x5048, - 12937: 0x61A9, - 12938: 0x63ED, - 12939: 0x64CA, - 12940: 0x683C, - 12941: 0x6A84, - 12942: 0x6FC0, - 12943: 0x8188, - 12944: 0x89A1, - 12945: 0x9694, - 12946: 0x5805, - 12947: 0x727D, - 12948: 0x72AC, - 12949: 0x7504, - 12950: 0x7D79, - 12951: 0x7E6D, - 12952: 0x80A9, - 12953: 0x898B, - 12954: 0x8B74, - 12955: 0x9063, - 12956: 0x9D51, - 12957: 0x6289, - 12958: 0x6C7A, - 12959: 0x6F54, - 12960: 0x7D50, - 12961: 0x7F3A, - 12962: 0x8A23, - 12963: 0x517C, - 12964: 0x614A, - 12965: 0x7B9D, - 12966: 0x8B19, - 12967: 0x9257, - 12968: 0x938C, - 12969: 0x4EAC, - 12970: 0x4FD3, - 12971: 0x501E, - 12972: 0x50BE, - 12973: 0x5106, - 12974: 0x52C1, - 12975: 0x52CD, - 12976: 0x537F, - 12977: 0x5770, - 12978: 0x5883, - 12979: 0x5E9A, - 12980: 0x5F91, - 12981: 0x6176, - 12982: 0x61AC, - 12983: 0x64CE, - 12984: 0x656C, - 12985: 0x666F, - 12986: 0x66BB, - 12987: 0x66F4, - 12988: 0x6897, - 12989: 0x6D87, - 12990: 0x7085, - 12991: 0x70F1, - 12992: 0x749F, - 12993: 0x74A5, - 12994: 0x74CA, - 12995: 0x75D9, - 12996: 0x786C, - 12997: 0x78EC, - 12998: 0x7ADF, - 12999: 0x7AF6, - 13000: 0x7D45, - 13001: 0x7D93, - 13002: 0x8015, - 13003: 0x803F, - 13004: 0x811B, - 13005: 0x8396, - 13006: 0x8B66, - 13007: 0x8F15, - 13008: 0x9015, - 13009: 0x93E1, - 13010: 0x9803, - 13011: 0x9838, - 13012: 0x9A5A, - 13013: 0x9BE8, - 13014: 0x4FC2, - 13015: 0x5553, - 13016: 0x583A, - 13017: 0x5951, - 13018: 0x5B63, - 13019: 0x5C46, - 13020: 0x60B8, - 13021: 0x6212, - 13022: 0x6842, - 13023: 0x68B0, - 13024: 0x68E8, - 13025: 0x6EAA, - 13026: 0x754C, - 13027: 0x7678, - 13028: 0x78CE, - 13029: 0x7A3D, - 13030: 0x7CFB, - 13031: 0x7E6B, - 13032: 0x7E7C, - 13033: 0x8A08, - 13034: 0x8AA1, - 13035: 0x8C3F, - 13036: 0x968E, - 13037: 0x9DC4, - 13038: 0x53E4, - 13039: 0x53E9, - 13040: 0x544A, - 13041: 0x5471, - 13042: 0x56FA, - 13043: 0x59D1, - 13044: 0x5B64, - 13045: 0x5C3B, - 13046: 0x5EAB, - 13047: 0x62F7, - 13048: 0x6537, - 13049: 0x6545, - 13050: 0x6572, - 13051: 0x66A0, - 13052: 0x67AF, - 13053: 0x69C1, - 13054: 0x6CBD, - 13055: 0x75FC, - 13056: 0x7690, - 13057: 0x777E, - 13058: 0x7A3F, - 13059: 0x7F94, - 13060: 0x8003, - 13061: 0x80A1, - 13062: 0x818F, - 13063: 0x82E6, - 13064: 0x82FD, - 13065: 0x83F0, - 13066: 0x85C1, - 13067: 0x8831, - 13068: 0x88B4, - 13069: 0x8AA5, - 13070: 0xF903, - 13071: 0x8F9C, - 13072: 0x932E, - 13073: 0x96C7, - 13074: 0x9867, - 13075: 0x9AD8, - 13076: 0x9F13, - 13077: 0x54ED, - 13078: 0x659B, - 13079: 0x66F2, - 13080: 0x688F, - 13081: 0x7A40, - 13082: 0x8C37, - 13083: 0x9D60, - 13084: 0x56F0, - 13085: 0x5764, - 13086: 0x5D11, - 13087: 0x6606, - 13088: 0x68B1, - 13089: 0x68CD, - 13090: 0x6EFE, - 13091: 0x7428, - 13092: 0x889E, - 13093: 0x9BE4, - 13094: 0x6C68, - 13095: 0xF904, - 13096: 0x9AA8, - 13097: 0x4F9B, - 13098: 0x516C, - 13099: 0x5171, - 13100: 0x529F, - 13101: 0x5B54, - 13102: 0x5DE5, - 13103: 0x6050, - 13104: 0x606D, - 13105: 0x62F1, - 13106: 0x63A7, - 13107: 0x653B, - 13108: 0x73D9, - 13109: 0x7A7A, - 13110: 0x86A3, - 13111: 0x8CA2, - 13112: 0x978F, - 13113: 0x4E32, - 13114: 0x5BE1, - 13115: 0x6208, - 13116: 0x679C, - 13117: 0x74DC, - 13118: 0x79D1, - 13119: 0x83D3, - 13120: 0x8A87, - 13121: 0x8AB2, - 13122: 0x8DE8, - 13123: 0x904E, - 13124: 0x934B, - 13125: 0x9846, - 13126: 0x5ED3, - 13127: 0x69E8, - 13128: 0x85FF, - 13129: 0x90ED, - 13130: 0xF905, - 13131: 0x51A0, - 13132: 0x5B98, - 13133: 0x5BEC, - 13134: 0x6163, - 13135: 0x68FA, - 13136: 0x6B3E, - 13137: 0x704C, - 13138: 0x742F, - 13139: 0x74D8, - 13140: 0x7BA1, - 13141: 0x7F50, - 13142: 0x83C5, - 13143: 0x89C0, - 13144: 0x8CAB, - 13145: 0x95DC, - 13146: 0x9928, - 13147: 0x522E, - 13148: 0x605D, - 13149: 0x62EC, - 13150: 0x9002, - 13151: 0x4F8A, - 13152: 0x5149, - 13153: 0x5321, - 13154: 0x58D9, - 13155: 0x5EE3, - 13156: 0x66E0, - 13157: 0x6D38, - 13158: 0x709A, - 13159: 0x72C2, - 13160: 0x73D6, - 13161: 0x7B50, - 13162: 0x80F1, - 13163: 0x945B, - 13164: 0x5366, - 13165: 0x639B, - 13166: 0x7F6B, - 13167: 0x4E56, - 13168: 0x5080, - 13169: 0x584A, - 13170: 0x58DE, - 13171: 0x602A, - 13172: 0x6127, - 13173: 0x62D0, - 13174: 0x69D0, - 13175: 0x9B41, - 13176: 0x5B8F, - 13177: 0x7D18, - 13178: 0x80B1, - 13179: 0x8F5F, - 13180: 0x4EA4, - 13181: 0x50D1, - 13182: 0x54AC, - 13183: 0x55AC, - 13184: 0x5B0C, - 13185: 0x5DA0, - 13186: 0x5DE7, - 13187: 0x652A, - 13188: 0x654E, - 13189: 0x6821, - 13190: 0x6A4B, - 13191: 0x72E1, - 13192: 0x768E, - 13193: 0x77EF, - 13194: 0x7D5E, - 13195: 0x7FF9, - 13196: 0x81A0, - 13197: 0x854E, - 13198: 0x86DF, - 13199: 0x8F03, - 13200: 0x8F4E, - 13201: 0x90CA, - 13202: 0x9903, - 13203: 0x9A55, - 13204: 0x9BAB, - 13205: 0x4E18, - 13206: 0x4E45, - 13207: 0x4E5D, - 13208: 0x4EC7, - 13209: 0x4FF1, - 13210: 0x5177, - 13211: 0x52FE, - 13212: 0x5340, - 13213: 0x53E3, - 13214: 0x53E5, - 13215: 0x548E, - 13216: 0x5614, - 13217: 0x5775, - 13218: 0x57A2, - 13219: 0x5BC7, - 13220: 0x5D87, - 13221: 0x5ED0, - 13222: 0x61FC, - 13223: 0x62D8, - 13224: 0x6551, - 13225: 0x67B8, - 13226: 0x67E9, - 13227: 0x69CB, - 13228: 0x6B50, - 13229: 0x6BC6, - 13230: 0x6BEC, - 13231: 0x6C42, - 13232: 0x6E9D, - 13233: 0x7078, - 13234: 0x72D7, - 13235: 0x7396, - 13236: 0x7403, - 13237: 0x77BF, - 13238: 0x77E9, - 13239: 0x7A76, - 13240: 0x7D7F, - 13241: 0x8009, - 13242: 0x81FC, - 13243: 0x8205, - 13244: 0x820A, - 13245: 0x82DF, - 13246: 0x8862, - 13247: 0x8B33, - 13248: 0x8CFC, - 13249: 0x8EC0, - 13250: 0x9011, - 13251: 0x90B1, - 13252: 0x9264, - 13253: 0x92B6, - 13254: 0x99D2, - 13255: 0x9A45, - 13256: 0x9CE9, - 13257: 0x9DD7, - 13258: 0x9F9C, - 13259: 0x570B, - 13260: 0x5C40, - 13261: 0x83CA, - 13262: 0x97A0, - 13263: 0x97AB, - 13264: 0x9EB4, - 13265: 0x541B, - 13266: 0x7A98, - 13267: 0x7FA4, - 13268: 0x88D9, - 13269: 0x8ECD, - 13270: 0x90E1, - 13271: 0x5800, - 13272: 0x5C48, - 13273: 0x6398, - 13274: 0x7A9F, - 13275: 0x5BAE, - 13276: 0x5F13, - 13277: 0x7A79, - 13278: 0x7AAE, - 13279: 0x828E, - 13280: 0x8EAC, - 13281: 0x5026, - 13282: 0x5238, - 13283: 0x52F8, - 13284: 0x5377, - 13285: 0x5708, - 13286: 0x62F3, - 13287: 0x6372, - 13288: 0x6B0A, - 13289: 0x6DC3, - 13290: 0x7737, - 13291: 0x53A5, - 13292: 0x7357, - 13293: 0x8568, - 13294: 0x8E76, - 13295: 0x95D5, - 13296: 0x673A, - 13297: 0x6AC3, - 13298: 0x6F70, - 13299: 0x8A6D, - 13300: 0x8ECC, - 13301: 0x994B, - 13302: 0xF906, - 13303: 0x6677, - 13304: 0x6B78, - 13305: 0x8CB4, - 13306: 0x9B3C, - 13307: 0xF907, - 13308: 0x53EB, - 13309: 0x572D, - 13310: 0x594E, - 13311: 0x63C6, - 13312: 0x69FB, - 13313: 0x73EA, - 13314: 0x7845, - 13315: 0x7ABA, - 13316: 0x7AC5, - 13317: 0x7CFE, - 13318: 0x8475, - 13319: 0x898F, - 13320: 0x8D73, - 13321: 0x9035, - 13322: 0x95A8, - 13323: 0x52FB, - 13324: 0x5747, - 13325: 0x7547, - 13326: 0x7B60, - 13327: 0x83CC, - 13328: 0x921E, - 13329: 0xF908, - 13330: 0x6A58, - 13331: 0x514B, - 13332: 0x524B, - 13333: 0x5287, - 13334: 0x621F, - 13335: 0x68D8, - 13336: 0x6975, - 13337: 0x9699, - 13338: 0x50C5, - 13339: 0x52A4, - 13340: 0x52E4, - 13341: 0x61C3, - 13342: 0x65A4, - 13343: 0x6839, - 13344: 0x69FF, - 13345: 0x747E, - 13346: 0x7B4B, - 13347: 0x82B9, - 13348: 0x83EB, - 13349: 0x89B2, - 13350: 0x8B39, - 13351: 0x8FD1, - 13352: 0x9949, - 13353: 0xF909, - 13354: 0x4ECA, - 13355: 0x5997, - 13356: 0x64D2, - 13357: 0x6611, - 13358: 0x6A8E, - 13359: 0x7434, - 13360: 0x7981, - 13361: 0x79BD, - 13362: 0x82A9, - 13363: 0x887E, - 13364: 0x887F, - 13365: 0x895F, - 13366: 0xF90A, - 13367: 0x9326, - 13368: 0x4F0B, - 13369: 0x53CA, - 13370: 0x6025, - 13371: 0x6271, - 13372: 0x6C72, - 13373: 0x7D1A, - 13374: 0x7D66, - 13375: 0x4E98, - 13376: 0x5162, - 13377: 0x77DC, - 13378: 0x80AF, - 13379: 0x4F01, - 13380: 0x4F0E, - 13381: 0x5176, - 13382: 0x5180, - 13383: 0x55DC, - 13384: 0x5668, - 13385: 0x573B, - 13386: 0x57FA, - 13387: 0x57FC, - 13388: 0x5914, - 13389: 0x5947, - 13390: 0x5993, - 13391: 0x5BC4, - 13392: 0x5C90, - 13393: 0x5D0E, - 13394: 0x5DF1, - 13395: 0x5E7E, - 13396: 0x5FCC, - 13397: 0x6280, - 13398: 0x65D7, - 13399: 0x65E3, - 13400: 0x671E, - 13401: 0x671F, - 13402: 0x675E, - 13403: 0x68CB, - 13404: 0x68C4, - 13405: 0x6A5F, - 13406: 0x6B3A, - 13407: 0x6C23, - 13408: 0x6C7D, - 13409: 0x6C82, - 13410: 0x6DC7, - 13411: 0x7398, - 13412: 0x7426, - 13413: 0x742A, - 13414: 0x7482, - 13415: 0x74A3, - 13416: 0x7578, - 13417: 0x757F, - 13418: 0x7881, - 13419: 0x78EF, - 13420: 0x7941, - 13421: 0x7947, - 13422: 0x7948, - 13423: 0x797A, - 13424: 0x7B95, - 13425: 0x7D00, - 13426: 0x7DBA, - 13427: 0x7F88, - 13428: 0x8006, - 13429: 0x802D, - 13430: 0x808C, - 13431: 0x8A18, - 13432: 0x8B4F, - 13433: 0x8C48, - 13434: 0x8D77, - 13435: 0x9321, - 13436: 0x9324, - 13437: 0x98E2, - 13438: 0x9951, - 13439: 0x9A0E, - 13440: 0x9A0F, - 13441: 0x9A65, - 13442: 0x9E92, - 13443: 0x7DCA, - 13444: 0x4F76, - 13445: 0x5409, - 13446: 0x62EE, - 13447: 0x6854, - 13448: 0x91D1, - 13449: 0x55AB, - 13450: 0x513A, - 13451: 0xF90B, - 13452: 0xF90C, - 13453: 0x5A1C, - 13454: 0x61E6, - 13455: 0xF90D, - 13456: 0x62CF, - 13457: 0x62FF, - 13458: 0xF90E, - 13459: 0xF90F, - 13460: 0xF910, - 13461: 0xF911, - 13462: 0xF912, - 13463: 0xF913, - 13464: 0x90A3, - 13465: 0xF914, - 13466: 0xF915, - 13467: 0xF916, - 13468: 0xF917, - 13469: 0xF918, - 13470: 0x8AFE, - 13471: 0xF919, - 13472: 0xF91A, - 13473: 0xF91B, - 13474: 0xF91C, - 13475: 0x6696, - 13476: 0xF91D, - 13477: 0x7156, - 13478: 0xF91E, - 13479: 0xF91F, - 13480: 0x96E3, - 13481: 0xF920, - 13482: 0x634F, - 13483: 0x637A, - 13484: 0x5357, - 13485: 0xF921, - 13486: 0x678F, - 13487: 0x6960, - 13488: 0x6E73, - 13489: 0xF922, - 13490: 0x7537, - 13491: 0xF923, - 13492: 0xF924, - 13493: 0xF925, - 13494: 0x7D0D, - 13495: 0xF926, - 13496: 0xF927, - 13497: 0x8872, - 13498: 0x56CA, - 13499: 0x5A18, - 13500: 0xF928, - 13501: 0xF929, - 13502: 0xF92A, - 13503: 0xF92B, - 13504: 0xF92C, - 13505: 0x4E43, - 13506: 0xF92D, - 13507: 0x5167, - 13508: 0x5948, - 13509: 0x67F0, - 13510: 0x8010, - 13511: 0xF92E, - 13512: 0x5973, - 13513: 0x5E74, - 13514: 0x649A, - 13515: 0x79CA, - 13516: 0x5FF5, - 13517: 0x606C, - 13518: 0x62C8, - 13519: 0x637B, - 13520: 0x5BE7, - 13521: 0x5BD7, - 13522: 0x52AA, - 13523: 0xF92F, - 13524: 0x5974, - 13525: 0x5F29, - 13526: 0x6012, - 13527: 0xF930, - 13528: 0xF931, - 13529: 0xF932, - 13530: 0x7459, - 13531: 0xF933, - 13532: 0xF934, - 13533: 0xF935, - 13534: 0xF936, - 13535: 0xF937, - 13536: 0xF938, - 13537: 0x99D1, - 13538: 0xF939, - 13539: 0xF93A, - 13540: 0xF93B, - 13541: 0xF93C, - 13542: 0xF93D, - 13543: 0xF93E, - 13544: 0xF93F, - 13545: 0xF940, - 13546: 0xF941, - 13547: 0xF942, - 13548: 0xF943, - 13549: 0x6FC3, - 13550: 0xF944, - 13551: 0xF945, - 13552: 0x81BF, - 13553: 0x8FB2, - 13554: 0x60F1, - 13555: 0xF946, - 13556: 0xF947, - 13557: 0x8166, - 13558: 0xF948, - 13559: 0xF949, - 13560: 0x5C3F, - 13561: 0xF94A, - 13562: 0xF94B, - 13563: 0xF94C, - 13564: 0xF94D, - 13565: 0xF94E, - 13566: 0xF94F, - 13567: 0xF950, - 13568: 0xF951, - 13569: 0x5AE9, - 13570: 0x8A25, - 13571: 0x677B, - 13572: 0x7D10, - 13573: 0xF952, - 13574: 0xF953, - 13575: 0xF954, - 13576: 0xF955, - 13577: 0xF956, - 13578: 0xF957, - 13579: 0x80FD, - 13580: 0xF958, - 13581: 0xF959, - 13582: 0x5C3C, - 13583: 0x6CE5, - 13584: 0x533F, - 13585: 0x6EBA, - 13586: 0x591A, - 13587: 0x8336, - 13588: 0x4E39, - 13589: 0x4EB6, - 13590: 0x4F46, - 13591: 0x55AE, - 13592: 0x5718, - 13593: 0x58C7, - 13594: 0x5F56, - 13595: 0x65B7, - 13596: 0x65E6, - 13597: 0x6A80, - 13598: 0x6BB5, - 13599: 0x6E4D, - 13600: 0x77ED, - 13601: 0x7AEF, - 13602: 0x7C1E, - 13603: 0x7DDE, - 13604: 0x86CB, - 13605: 0x8892, - 13606: 0x9132, - 13607: 0x935B, - 13608: 0x64BB, - 13609: 0x6FBE, - 13610: 0x737A, - 13611: 0x75B8, - 13612: 0x9054, - 13613: 0x5556, - 13614: 0x574D, - 13615: 0x61BA, - 13616: 0x64D4, - 13617: 0x66C7, - 13618: 0x6DE1, - 13619: 0x6E5B, - 13620: 0x6F6D, - 13621: 0x6FB9, - 13622: 0x75F0, - 13623: 0x8043, - 13624: 0x81BD, - 13625: 0x8541, - 13626: 0x8983, - 13627: 0x8AC7, - 13628: 0x8B5A, - 13629: 0x931F, - 13630: 0x6C93, - 13631: 0x7553, - 13632: 0x7B54, - 13633: 0x8E0F, - 13634: 0x905D, - 13635: 0x5510, - 13636: 0x5802, - 13637: 0x5858, - 13638: 0x5E62, - 13639: 0x6207, - 13640: 0x649E, - 13641: 0x68E0, - 13642: 0x7576, - 13643: 0x7CD6, - 13644: 0x87B3, - 13645: 0x9EE8, - 13646: 0x4EE3, - 13647: 0x5788, - 13648: 0x576E, - 13649: 0x5927, - 13650: 0x5C0D, - 13651: 0x5CB1, - 13652: 0x5E36, - 13653: 0x5F85, - 13654: 0x6234, - 13655: 0x64E1, - 13656: 0x73B3, - 13657: 0x81FA, - 13658: 0x888B, - 13659: 0x8CB8, - 13660: 0x968A, - 13661: 0x9EDB, - 13662: 0x5B85, - 13663: 0x5FB7, - 13664: 0x60B3, - 13665: 0x5012, - 13666: 0x5200, - 13667: 0x5230, - 13668: 0x5716, - 13669: 0x5835, - 13670: 0x5857, - 13671: 0x5C0E, - 13672: 0x5C60, - 13673: 0x5CF6, - 13674: 0x5D8B, - 13675: 0x5EA6, - 13676: 0x5F92, - 13677: 0x60BC, - 13678: 0x6311, - 13679: 0x6389, - 13680: 0x6417, - 13681: 0x6843, - 13682: 0x68F9, - 13683: 0x6AC2, - 13684: 0x6DD8, - 13685: 0x6E21, - 13686: 0x6ED4, - 13687: 0x6FE4, - 13688: 0x71FE, - 13689: 0x76DC, - 13690: 0x7779, - 13691: 0x79B1, - 13692: 0x7A3B, - 13693: 0x8404, - 13694: 0x89A9, - 13695: 0x8CED, - 13696: 0x8DF3, - 13697: 0x8E48, - 13698: 0x9003, - 13699: 0x9014, - 13700: 0x9053, - 13701: 0x90FD, - 13702: 0x934D, - 13703: 0x9676, - 13704: 0x97DC, - 13705: 0x6BD2, - 13706: 0x7006, - 13707: 0x7258, - 13708: 0x72A2, - 13709: 0x7368, - 13710: 0x7763, - 13711: 0x79BF, - 13712: 0x7BE4, - 13713: 0x7E9B, - 13714: 0x8B80, - 13715: 0x58A9, - 13716: 0x60C7, - 13717: 0x6566, - 13718: 0x65FD, - 13719: 0x66BE, - 13720: 0x6C8C, - 13721: 0x711E, - 13722: 0x71C9, - 13723: 0x8C5A, - 13724: 0x9813, - 13725: 0x4E6D, - 13726: 0x7A81, - 13727: 0x4EDD, - 13728: 0x51AC, - 13729: 0x51CD, - 13730: 0x52D5, - 13731: 0x540C, - 13732: 0x61A7, - 13733: 0x6771, - 13734: 0x6850, - 13735: 0x68DF, - 13736: 0x6D1E, - 13737: 0x6F7C, - 13738: 0x75BC, - 13739: 0x77B3, - 13740: 0x7AE5, - 13741: 0x80F4, - 13742: 0x8463, - 13743: 0x9285, - 13744: 0x515C, - 13745: 0x6597, - 13746: 0x675C, - 13747: 0x6793, - 13748: 0x75D8, - 13749: 0x7AC7, - 13750: 0x8373, - 13751: 0xF95A, - 13752: 0x8C46, - 13753: 0x9017, - 13754: 0x982D, - 13755: 0x5C6F, - 13756: 0x81C0, - 13757: 0x829A, - 13758: 0x9041, - 13759: 0x906F, - 13760: 0x920D, - 13761: 0x5F97, - 13762: 0x5D9D, - 13763: 0x6A59, - 13764: 0x71C8, - 13765: 0x767B, - 13766: 0x7B49, - 13767: 0x85E4, - 13768: 0x8B04, - 13769: 0x9127, - 13770: 0x9A30, - 13771: 0x5587, - 13772: 0x61F6, - 13773: 0xF95B, - 13774: 0x7669, - 13775: 0x7F85, - 13776: 0x863F, - 13777: 0x87BA, - 13778: 0x88F8, - 13779: 0x908F, - 13780: 0xF95C, - 13781: 0x6D1B, - 13782: 0x70D9, - 13783: 0x73DE, - 13784: 0x7D61, - 13785: 0x843D, - 13786: 0xF95D, - 13787: 0x916A, - 13788: 0x99F1, - 13789: 0xF95E, - 13790: 0x4E82, - 13791: 0x5375, - 13792: 0x6B04, - 13793: 0x6B12, - 13794: 0x703E, - 13795: 0x721B, - 13796: 0x862D, - 13797: 0x9E1E, - 13798: 0x524C, - 13799: 0x8FA3, - 13800: 0x5D50, - 13801: 0x64E5, - 13802: 0x652C, - 13803: 0x6B16, - 13804: 0x6FEB, - 13805: 0x7C43, - 13806: 0x7E9C, - 13807: 0x85CD, - 13808: 0x8964, - 13809: 0x89BD, - 13810: 0x62C9, - 13811: 0x81D8, - 13812: 0x881F, - 13813: 0x5ECA, - 13814: 0x6717, - 13815: 0x6D6A, - 13816: 0x72FC, - 13817: 0x7405, - 13818: 0x746F, - 13819: 0x8782, - 13820: 0x90DE, - 13821: 0x4F86, - 13822: 0x5D0D, - 13823: 0x5FA0, - 13824: 0x840A, - 13825: 0x51B7, - 13826: 0x63A0, - 13827: 0x7565, - 13828: 0x4EAE, - 13829: 0x5006, - 13830: 0x5169, - 13831: 0x51C9, - 13832: 0x6881, - 13833: 0x6A11, - 13834: 0x7CAE, - 13835: 0x7CB1, - 13836: 0x7CE7, - 13837: 0x826F, - 13838: 0x8AD2, - 13839: 0x8F1B, - 13840: 0x91CF, - 13841: 0x4FB6, - 13842: 0x5137, - 13843: 0x52F5, - 13844: 0x5442, - 13845: 0x5EEC, - 13846: 0x616E, - 13847: 0x623E, - 13848: 0x65C5, - 13849: 0x6ADA, - 13850: 0x6FFE, - 13851: 0x792A, - 13852: 0x85DC, - 13853: 0x8823, - 13854: 0x95AD, - 13855: 0x9A62, - 13856: 0x9A6A, - 13857: 0x9E97, - 13858: 0x9ECE, - 13859: 0x529B, - 13860: 0x66C6, - 13861: 0x6B77, - 13862: 0x701D, - 13863: 0x792B, - 13864: 0x8F62, - 13865: 0x9742, - 13866: 0x6190, - 13867: 0x6200, - 13868: 0x6523, - 13869: 0x6F23, - 13870: 0x7149, - 13871: 0x7489, - 13872: 0x7DF4, - 13873: 0x806F, - 13874: 0x84EE, - 13875: 0x8F26, - 13876: 0x9023, - 13877: 0x934A, - 13878: 0x51BD, - 13879: 0x5217, - 13880: 0x52A3, - 13881: 0x6D0C, - 13882: 0x70C8, - 13883: 0x88C2, - 13884: 0x5EC9, - 13885: 0x6582, - 13886: 0x6BAE, - 13887: 0x6FC2, - 13888: 0x7C3E, - 13889: 0x7375, - 13890: 0x4EE4, - 13891: 0x4F36, - 13892: 0x56F9, - 13893: 0xF95F, - 13894: 0x5CBA, - 13895: 0x5DBA, - 13896: 0x601C, - 13897: 0x73B2, - 13898: 0x7B2D, - 13899: 0x7F9A, - 13900: 0x7FCE, - 13901: 0x8046, - 13902: 0x901E, - 13903: 0x9234, - 13904: 0x96F6, - 13905: 0x9748, - 13906: 0x9818, - 13907: 0x9F61, - 13908: 0x4F8B, - 13909: 0x6FA7, - 13910: 0x79AE, - 13911: 0x91B4, - 13912: 0x96B7, - 13913: 0x52DE, - 13914: 0xF960, - 13915: 0x6488, - 13916: 0x64C4, - 13917: 0x6AD3, - 13918: 0x6F5E, - 13919: 0x7018, - 13920: 0x7210, - 13921: 0x76E7, - 13922: 0x8001, - 13923: 0x8606, - 13924: 0x865C, - 13925: 0x8DEF, - 13926: 0x8F05, - 13927: 0x9732, - 13928: 0x9B6F, - 13929: 0x9DFA, - 13930: 0x9E75, - 13931: 0x788C, - 13932: 0x797F, - 13933: 0x7DA0, - 13934: 0x83C9, - 13935: 0x9304, - 13936: 0x9E7F, - 13937: 0x9E93, - 13938: 0x8AD6, - 13939: 0x58DF, - 13940: 0x5F04, - 13941: 0x6727, - 13942: 0x7027, - 13943: 0x74CF, - 13944: 0x7C60, - 13945: 0x807E, - 13946: 0x5121, - 13947: 0x7028, - 13948: 0x7262, - 13949: 0x78CA, - 13950: 0x8CC2, - 13951: 0x8CDA, - 13952: 0x8CF4, - 13953: 0x96F7, - 13954: 0x4E86, - 13955: 0x50DA, - 13956: 0x5BEE, - 13957: 0x5ED6, - 13958: 0x6599, - 13959: 0x71CE, - 13960: 0x7642, - 13961: 0x77AD, - 13962: 0x804A, - 13963: 0x84FC, - 13964: 0x907C, - 13965: 0x9B27, - 13966: 0x9F8D, - 13967: 0x58D8, - 13968: 0x5A41, - 13969: 0x5C62, - 13970: 0x6A13, - 13971: 0x6DDA, - 13972: 0x6F0F, - 13973: 0x763B, - 13974: 0x7D2F, - 13975: 0x7E37, - 13976: 0x851E, - 13977: 0x8938, - 13978: 0x93E4, - 13979: 0x964B, - 13980: 0x5289, - 13981: 0x65D2, - 13982: 0x67F3, - 13983: 0x69B4, - 13984: 0x6D41, - 13985: 0x6E9C, - 13986: 0x700F, - 13987: 0x7409, - 13988: 0x7460, - 13989: 0x7559, - 13990: 0x7624, - 13991: 0x786B, - 13992: 0x8B2C, - 13993: 0x985E, - 13994: 0x516D, - 13995: 0x622E, - 13996: 0x9678, - 13997: 0x4F96, - 13998: 0x502B, - 13999: 0x5D19, - 14000: 0x6DEA, - 14001: 0x7DB8, - 14002: 0x8F2A, - 14003: 0x5F8B, - 14004: 0x6144, - 14005: 0x6817, - 14006: 0xF961, - 14007: 0x9686, - 14008: 0x52D2, - 14009: 0x808B, - 14010: 0x51DC, - 14011: 0x51CC, - 14012: 0x695E, - 14013: 0x7A1C, - 14014: 0x7DBE, - 14015: 0x83F1, - 14016: 0x9675, - 14017: 0x4FDA, - 14018: 0x5229, - 14019: 0x5398, - 14020: 0x540F, - 14021: 0x550E, - 14022: 0x5C65, - 14023: 0x60A7, - 14024: 0x674E, - 14025: 0x68A8, - 14026: 0x6D6C, - 14027: 0x7281, - 14028: 0x72F8, - 14029: 0x7406, - 14030: 0x7483, - 14031: 0xF962, - 14032: 0x75E2, - 14033: 0x7C6C, - 14034: 0x7F79, - 14035: 0x7FB8, - 14036: 0x8389, - 14037: 0x88CF, - 14038: 0x88E1, - 14039: 0x91CC, - 14040: 0x91D0, - 14041: 0x96E2, - 14042: 0x9BC9, - 14043: 0x541D, - 14044: 0x6F7E, - 14045: 0x71D0, - 14046: 0x7498, - 14047: 0x85FA, - 14048: 0x8EAA, - 14049: 0x96A3, - 14050: 0x9C57, - 14051: 0x9E9F, - 14052: 0x6797, - 14053: 0x6DCB, - 14054: 0x7433, - 14055: 0x81E8, - 14056: 0x9716, - 14057: 0x782C, - 14058: 0x7ACB, - 14059: 0x7B20, - 14060: 0x7C92, - 14061: 0x6469, - 14062: 0x746A, - 14063: 0x75F2, - 14064: 0x78BC, - 14065: 0x78E8, - 14066: 0x99AC, - 14067: 0x9B54, - 14068: 0x9EBB, - 14069: 0x5BDE, - 14070: 0x5E55, - 14071: 0x6F20, - 14072: 0x819C, - 14073: 0x83AB, - 14074: 0x9088, - 14075: 0x4E07, - 14076: 0x534D, - 14077: 0x5A29, - 14078: 0x5DD2, - 14079: 0x5F4E, - 14080: 0x6162, - 14081: 0x633D, - 14082: 0x6669, - 14083: 0x66FC, - 14084: 0x6EFF, - 14085: 0x6F2B, - 14086: 0x7063, - 14087: 0x779E, - 14088: 0x842C, - 14089: 0x8513, - 14090: 0x883B, - 14091: 0x8F13, - 14092: 0x9945, - 14093: 0x9C3B, - 14094: 0x551C, - 14095: 0x62B9, - 14096: 0x672B, - 14097: 0x6CAB, - 14098: 0x8309, - 14099: 0x896A, - 14100: 0x977A, - 14101: 0x4EA1, - 14102: 0x5984, - 14103: 0x5FD8, - 14104: 0x5FD9, - 14105: 0x671B, - 14106: 0x7DB2, - 14107: 0x7F54, - 14108: 0x8292, - 14109: 0x832B, - 14110: 0x83BD, - 14111: 0x8F1E, - 14112: 0x9099, - 14113: 0x57CB, - 14114: 0x59B9, - 14115: 0x5A92, - 14116: 0x5BD0, - 14117: 0x6627, - 14118: 0x679A, - 14119: 0x6885, - 14120: 0x6BCF, - 14121: 0x7164, - 14122: 0x7F75, - 14123: 0x8CB7, - 14124: 0x8CE3, - 14125: 0x9081, - 14126: 0x9B45, - 14127: 0x8108, - 14128: 0x8C8A, - 14129: 0x964C, - 14130: 0x9A40, - 14131: 0x9EA5, - 14132: 0x5B5F, - 14133: 0x6C13, - 14134: 0x731B, - 14135: 0x76F2, - 14136: 0x76DF, - 14137: 0x840C, - 14138: 0x51AA, - 14139: 0x8993, - 14140: 0x514D, - 14141: 0x5195, - 14142: 0x52C9, - 14143: 0x68C9, - 14144: 0x6C94, - 14145: 0x7704, - 14146: 0x7720, - 14147: 0x7DBF, - 14148: 0x7DEC, - 14149: 0x9762, - 14150: 0x9EB5, - 14151: 0x6EC5, - 14152: 0x8511, - 14153: 0x51A5, - 14154: 0x540D, - 14155: 0x547D, - 14156: 0x660E, - 14157: 0x669D, - 14158: 0x6927, - 14159: 0x6E9F, - 14160: 0x76BF, - 14161: 0x7791, - 14162: 0x8317, - 14163: 0x84C2, - 14164: 0x879F, - 14165: 0x9169, - 14166: 0x9298, - 14167: 0x9CF4, - 14168: 0x8882, - 14169: 0x4FAE, - 14170: 0x5192, - 14171: 0x52DF, - 14172: 0x59C6, - 14173: 0x5E3D, - 14174: 0x6155, - 14175: 0x6478, - 14176: 0x6479, - 14177: 0x66AE, - 14178: 0x67D0, - 14179: 0x6A21, - 14180: 0x6BCD, - 14181: 0x6BDB, - 14182: 0x725F, - 14183: 0x7261, - 14184: 0x7441, - 14185: 0x7738, - 14186: 0x77DB, - 14187: 0x8017, - 14188: 0x82BC, - 14189: 0x8305, - 14190: 0x8B00, - 14191: 0x8B28, - 14192: 0x8C8C, - 14193: 0x6728, - 14194: 0x6C90, - 14195: 0x7267, - 14196: 0x76EE, - 14197: 0x7766, - 14198: 0x7A46, - 14199: 0x9DA9, - 14200: 0x6B7F, - 14201: 0x6C92, - 14202: 0x5922, - 14203: 0x6726, - 14204: 0x8499, - 14205: 0x536F, - 14206: 0x5893, - 14207: 0x5999, - 14208: 0x5EDF, - 14209: 0x63CF, - 14210: 0x6634, - 14211: 0x6773, - 14212: 0x6E3A, - 14213: 0x732B, - 14214: 0x7AD7, - 14215: 0x82D7, - 14216: 0x9328, - 14217: 0x52D9, - 14218: 0x5DEB, - 14219: 0x61AE, - 14220: 0x61CB, - 14221: 0x620A, - 14222: 0x62C7, - 14223: 0x64AB, - 14224: 0x65E0, - 14225: 0x6959, - 14226: 0x6B66, - 14227: 0x6BCB, - 14228: 0x7121, - 14229: 0x73F7, - 14230: 0x755D, - 14231: 0x7E46, - 14232: 0x821E, - 14233: 0x8302, - 14234: 0x856A, - 14235: 0x8AA3, - 14236: 0x8CBF, - 14237: 0x9727, - 14238: 0x9D61, - 14239: 0x58A8, - 14240: 0x9ED8, - 14241: 0x5011, - 14242: 0x520E, - 14243: 0x543B, - 14244: 0x554F, - 14245: 0x6587, - 14246: 0x6C76, - 14247: 0x7D0A, - 14248: 0x7D0B, - 14249: 0x805E, - 14250: 0x868A, - 14251: 0x9580, - 14252: 0x96EF, - 14253: 0x52FF, - 14254: 0x6C95, - 14255: 0x7269, - 14256: 0x5473, - 14257: 0x5A9A, - 14258: 0x5C3E, - 14259: 0x5D4B, - 14260: 0x5F4C, - 14261: 0x5FAE, - 14262: 0x672A, - 14263: 0x68B6, - 14264: 0x6963, - 14265: 0x6E3C, - 14266: 0x6E44, - 14267: 0x7709, - 14268: 0x7C73, - 14269: 0x7F8E, - 14270: 0x8587, - 14271: 0x8B0E, - 14272: 0x8FF7, - 14273: 0x9761, - 14274: 0x9EF4, - 14275: 0x5CB7, - 14276: 0x60B6, - 14277: 0x610D, - 14278: 0x61AB, - 14279: 0x654F, - 14280: 0x65FB, - 14281: 0x65FC, - 14282: 0x6C11, - 14283: 0x6CEF, - 14284: 0x739F, - 14285: 0x73C9, - 14286: 0x7DE1, - 14287: 0x9594, - 14288: 0x5BC6, - 14289: 0x871C, - 14290: 0x8B10, - 14291: 0x525D, - 14292: 0x535A, - 14293: 0x62CD, - 14294: 0x640F, - 14295: 0x64B2, - 14296: 0x6734, - 14297: 0x6A38, - 14298: 0x6CCA, - 14299: 0x73C0, - 14300: 0x749E, - 14301: 0x7B94, - 14302: 0x7C95, - 14303: 0x7E1B, - 14304: 0x818A, - 14305: 0x8236, - 14306: 0x8584, - 14307: 0x8FEB, - 14308: 0x96F9, - 14309: 0x99C1, - 14310: 0x4F34, - 14311: 0x534A, - 14312: 0x53CD, - 14313: 0x53DB, - 14314: 0x62CC, - 14315: 0x642C, - 14316: 0x6500, - 14317: 0x6591, - 14318: 0x69C3, - 14319: 0x6CEE, - 14320: 0x6F58, - 14321: 0x73ED, - 14322: 0x7554, - 14323: 0x7622, - 14324: 0x76E4, - 14325: 0x76FC, - 14326: 0x78D0, - 14327: 0x78FB, - 14328: 0x792C, - 14329: 0x7D46, - 14330: 0x822C, - 14331: 0x87E0, - 14332: 0x8FD4, - 14333: 0x9812, - 14334: 0x98EF, - 14335: 0x52C3, - 14336: 0x62D4, - 14337: 0x64A5, - 14338: 0x6E24, - 14339: 0x6F51, - 14340: 0x767C, - 14341: 0x8DCB, - 14342: 0x91B1, - 14343: 0x9262, - 14344: 0x9AEE, - 14345: 0x9B43, - 14346: 0x5023, - 14347: 0x508D, - 14348: 0x574A, - 14349: 0x59A8, - 14350: 0x5C28, - 14351: 0x5E47, - 14352: 0x5F77, - 14353: 0x623F, - 14354: 0x653E, - 14355: 0x65B9, - 14356: 0x65C1, - 14357: 0x6609, - 14358: 0x678B, - 14359: 0x699C, - 14360: 0x6EC2, - 14361: 0x78C5, - 14362: 0x7D21, - 14363: 0x80AA, - 14364: 0x8180, - 14365: 0x822B, - 14366: 0x82B3, - 14367: 0x84A1, - 14368: 0x868C, - 14369: 0x8A2A, - 14370: 0x8B17, - 14371: 0x90A6, - 14372: 0x9632, - 14373: 0x9F90, - 14374: 0x500D, - 14375: 0x4FF3, - 14376: 0xF963, - 14377: 0x57F9, - 14378: 0x5F98, - 14379: 0x62DC, - 14380: 0x6392, - 14381: 0x676F, - 14382: 0x6E43, - 14383: 0x7119, - 14384: 0x76C3, - 14385: 0x80CC, - 14386: 0x80DA, - 14387: 0x88F4, - 14388: 0x88F5, - 14389: 0x8919, - 14390: 0x8CE0, - 14391: 0x8F29, - 14392: 0x914D, - 14393: 0x966A, - 14394: 0x4F2F, - 14395: 0x4F70, - 14396: 0x5E1B, - 14397: 0x67CF, - 14398: 0x6822, - 14399: 0x767D, - 14400: 0x767E, - 14401: 0x9B44, - 14402: 0x5E61, - 14403: 0x6A0A, - 14404: 0x7169, - 14405: 0x71D4, - 14406: 0x756A, - 14407: 0xF964, - 14408: 0x7E41, - 14409: 0x8543, - 14410: 0x85E9, - 14411: 0x98DC, - 14412: 0x4F10, - 14413: 0x7B4F, - 14414: 0x7F70, - 14415: 0x95A5, - 14416: 0x51E1, - 14417: 0x5E06, - 14418: 0x68B5, - 14419: 0x6C3E, - 14420: 0x6C4E, - 14421: 0x6CDB, - 14422: 0x72AF, - 14423: 0x7BC4, - 14424: 0x8303, - 14425: 0x6CD5, - 14426: 0x743A, - 14427: 0x50FB, - 14428: 0x5288, - 14429: 0x58C1, - 14430: 0x64D8, - 14431: 0x6A97, - 14432: 0x74A7, - 14433: 0x7656, - 14434: 0x78A7, - 14435: 0x8617, - 14436: 0x95E2, - 14437: 0x9739, - 14438: 0xF965, - 14439: 0x535E, - 14440: 0x5F01, - 14441: 0x8B8A, - 14442: 0x8FA8, - 14443: 0x8FAF, - 14444: 0x908A, - 14445: 0x5225, - 14446: 0x77A5, - 14447: 0x9C49, - 14448: 0x9F08, - 14449: 0x4E19, - 14450: 0x5002, - 14451: 0x5175, - 14452: 0x5C5B, - 14453: 0x5E77, - 14454: 0x661E, - 14455: 0x663A, - 14456: 0x67C4, - 14457: 0x68C5, - 14458: 0x70B3, - 14459: 0x7501, - 14460: 0x75C5, - 14461: 0x79C9, - 14462: 0x7ADD, - 14463: 0x8F27, - 14464: 0x9920, - 14465: 0x9A08, - 14466: 0x4FDD, - 14467: 0x5821, - 14468: 0x5831, - 14469: 0x5BF6, - 14470: 0x666E, - 14471: 0x6B65, - 14472: 0x6D11, - 14473: 0x6E7A, - 14474: 0x6F7D, - 14475: 0x73E4, - 14476: 0x752B, - 14477: 0x83E9, - 14478: 0x88DC, - 14479: 0x8913, - 14480: 0x8B5C, - 14481: 0x8F14, - 14482: 0x4F0F, - 14483: 0x50D5, - 14484: 0x5310, - 14485: 0x535C, - 14486: 0x5B93, - 14487: 0x5FA9, - 14488: 0x670D, - 14489: 0x798F, - 14490: 0x8179, - 14491: 0x832F, - 14492: 0x8514, - 14493: 0x8907, - 14494: 0x8986, - 14495: 0x8F39, - 14496: 0x8F3B, - 14497: 0x99A5, - 14498: 0x9C12, - 14499: 0x672C, - 14500: 0x4E76, - 14501: 0x4FF8, - 14502: 0x5949, - 14503: 0x5C01, - 14504: 0x5CEF, - 14505: 0x5CF0, - 14506: 0x6367, - 14507: 0x68D2, - 14508: 0x70FD, - 14509: 0x71A2, - 14510: 0x742B, - 14511: 0x7E2B, - 14512: 0x84EC, - 14513: 0x8702, - 14514: 0x9022, - 14515: 0x92D2, - 14516: 0x9CF3, - 14517: 0x4E0D, - 14518: 0x4ED8, - 14519: 0x4FEF, - 14520: 0x5085, - 14521: 0x5256, - 14522: 0x526F, - 14523: 0x5426, - 14524: 0x5490, - 14525: 0x57E0, - 14526: 0x592B, - 14527: 0x5A66, - 14528: 0x5B5A, - 14529: 0x5B75, - 14530: 0x5BCC, - 14531: 0x5E9C, - 14532: 0xF966, - 14533: 0x6276, - 14534: 0x6577, - 14535: 0x65A7, - 14536: 0x6D6E, - 14537: 0x6EA5, - 14538: 0x7236, - 14539: 0x7B26, - 14540: 0x7C3F, - 14541: 0x7F36, - 14542: 0x8150, - 14543: 0x8151, - 14544: 0x819A, - 14545: 0x8240, - 14546: 0x8299, - 14547: 0x83A9, - 14548: 0x8A03, - 14549: 0x8CA0, - 14550: 0x8CE6, - 14551: 0x8CFB, - 14552: 0x8D74, - 14553: 0x8DBA, - 14554: 0x90E8, - 14555: 0x91DC, - 14556: 0x961C, - 14557: 0x9644, - 14558: 0x99D9, - 14559: 0x9CE7, - 14560: 0x5317, - 14561: 0x5206, - 14562: 0x5429, - 14563: 0x5674, - 14564: 0x58B3, - 14565: 0x5954, - 14566: 0x596E, - 14567: 0x5FFF, - 14568: 0x61A4, - 14569: 0x626E, - 14570: 0x6610, - 14571: 0x6C7E, - 14572: 0x711A, - 14573: 0x76C6, - 14574: 0x7C89, - 14575: 0x7CDE, - 14576: 0x7D1B, - 14577: 0x82AC, - 14578: 0x8CC1, - 14579: 0x96F0, - 14580: 0xF967, - 14581: 0x4F5B, - 14582: 0x5F17, - 14583: 0x5F7F, - 14584: 0x62C2, - 14585: 0x5D29, - 14586: 0x670B, - 14587: 0x68DA, - 14588: 0x787C, - 14589: 0x7E43, - 14590: 0x9D6C, - 14591: 0x4E15, - 14592: 0x5099, - 14593: 0x5315, - 14594: 0x532A, - 14595: 0x5351, - 14596: 0x5983, - 14597: 0x5A62, - 14598: 0x5E87, - 14599: 0x60B2, - 14600: 0x618A, - 14601: 0x6249, - 14602: 0x6279, - 14603: 0x6590, - 14604: 0x6787, - 14605: 0x69A7, - 14606: 0x6BD4, - 14607: 0x6BD6, - 14608: 0x6BD7, - 14609: 0x6BD8, - 14610: 0x6CB8, - 14611: 0xF968, - 14612: 0x7435, - 14613: 0x75FA, - 14614: 0x7812, - 14615: 0x7891, - 14616: 0x79D5, - 14617: 0x79D8, - 14618: 0x7C83, - 14619: 0x7DCB, - 14620: 0x7FE1, - 14621: 0x80A5, - 14622: 0x813E, - 14623: 0x81C2, - 14624: 0x83F2, - 14625: 0x871A, - 14626: 0x88E8, - 14627: 0x8AB9, - 14628: 0x8B6C, - 14629: 0x8CBB, - 14630: 0x9119, - 14631: 0x975E, - 14632: 0x98DB, - 14633: 0x9F3B, - 14634: 0x56AC, - 14635: 0x5B2A, - 14636: 0x5F6C, - 14637: 0x658C, - 14638: 0x6AB3, - 14639: 0x6BAF, - 14640: 0x6D5C, - 14641: 0x6FF1, - 14642: 0x7015, - 14643: 0x725D, - 14644: 0x73AD, - 14645: 0x8CA7, - 14646: 0x8CD3, - 14647: 0x983B, - 14648: 0x6191, - 14649: 0x6C37, - 14650: 0x8058, - 14651: 0x9A01, - 14652: 0x4E4D, - 14653: 0x4E8B, - 14654: 0x4E9B, - 14655: 0x4ED5, - 14656: 0x4F3A, - 14657: 0x4F3C, - 14658: 0x4F7F, - 14659: 0x4FDF, - 14660: 0x50FF, - 14661: 0x53F2, - 14662: 0x53F8, - 14663: 0x5506, - 14664: 0x55E3, - 14665: 0x56DB, - 14666: 0x58EB, - 14667: 0x5962, - 14668: 0x5A11, - 14669: 0x5BEB, - 14670: 0x5BFA, - 14671: 0x5C04, - 14672: 0x5DF3, - 14673: 0x5E2B, - 14674: 0x5F99, - 14675: 0x601D, - 14676: 0x6368, - 14677: 0x659C, - 14678: 0x65AF, - 14679: 0x67F6, - 14680: 0x67FB, - 14681: 0x68AD, - 14682: 0x6B7B, - 14683: 0x6C99, - 14684: 0x6CD7, - 14685: 0x6E23, - 14686: 0x7009, - 14687: 0x7345, - 14688: 0x7802, - 14689: 0x793E, - 14690: 0x7940, - 14691: 0x7960, - 14692: 0x79C1, - 14693: 0x7BE9, - 14694: 0x7D17, - 14695: 0x7D72, - 14696: 0x8086, - 14697: 0x820D, - 14698: 0x838E, - 14699: 0x84D1, - 14700: 0x86C7, - 14701: 0x88DF, - 14702: 0x8A50, - 14703: 0x8A5E, - 14704: 0x8B1D, - 14705: 0x8CDC, - 14706: 0x8D66, - 14707: 0x8FAD, - 14708: 0x90AA, - 14709: 0x98FC, - 14710: 0x99DF, - 14711: 0x9E9D, - 14712: 0x524A, - 14713: 0xF969, - 14714: 0x6714, - 14715: 0xF96A, - 14716: 0x5098, - 14717: 0x522A, - 14718: 0x5C71, - 14719: 0x6563, - 14720: 0x6C55, - 14721: 0x73CA, - 14722: 0x7523, - 14723: 0x759D, - 14724: 0x7B97, - 14725: 0x849C, - 14726: 0x9178, - 14727: 0x9730, - 14728: 0x4E77, - 14729: 0x6492, - 14730: 0x6BBA, - 14731: 0x715E, - 14732: 0x85A9, - 14733: 0x4E09, - 14734: 0xF96B, - 14735: 0x6749, - 14736: 0x68EE, - 14737: 0x6E17, - 14738: 0x829F, - 14739: 0x8518, - 14740: 0x886B, - 14741: 0x63F7, - 14742: 0x6F81, - 14743: 0x9212, - 14744: 0x98AF, - 14745: 0x4E0A, - 14746: 0x50B7, - 14747: 0x50CF, - 14748: 0x511F, - 14749: 0x5546, - 14750: 0x55AA, - 14751: 0x5617, - 14752: 0x5B40, - 14753: 0x5C19, - 14754: 0x5CE0, - 14755: 0x5E38, - 14756: 0x5E8A, - 14757: 0x5EA0, - 14758: 0x5EC2, - 14759: 0x60F3, - 14760: 0x6851, - 14761: 0x6A61, - 14762: 0x6E58, - 14763: 0x723D, - 14764: 0x7240, - 14765: 0x72C0, - 14766: 0x76F8, - 14767: 0x7965, - 14768: 0x7BB1, - 14769: 0x7FD4, - 14770: 0x88F3, - 14771: 0x89F4, - 14772: 0x8A73, - 14773: 0x8C61, - 14774: 0x8CDE, - 14775: 0x971C, - 14776: 0x585E, - 14777: 0x74BD, - 14778: 0x8CFD, - 14779: 0x55C7, - 14780: 0xF96C, - 14781: 0x7A61, - 14782: 0x7D22, - 14783: 0x8272, - 14784: 0x7272, - 14785: 0x751F, - 14786: 0x7525, - 14787: 0xF96D, - 14788: 0x7B19, - 14789: 0x5885, - 14790: 0x58FB, - 14791: 0x5DBC, - 14792: 0x5E8F, - 14793: 0x5EB6, - 14794: 0x5F90, - 14795: 0x6055, - 14796: 0x6292, - 14797: 0x637F, - 14798: 0x654D, - 14799: 0x6691, - 14800: 0x66D9, - 14801: 0x66F8, - 14802: 0x6816, - 14803: 0x68F2, - 14804: 0x7280, - 14805: 0x745E, - 14806: 0x7B6E, - 14807: 0x7D6E, - 14808: 0x7DD6, - 14809: 0x7F72, - 14810: 0x80E5, - 14811: 0x8212, - 14812: 0x85AF, - 14813: 0x897F, - 14814: 0x8A93, - 14815: 0x901D, - 14816: 0x92E4, - 14817: 0x9ECD, - 14818: 0x9F20, - 14819: 0x5915, - 14820: 0x596D, - 14821: 0x5E2D, - 14822: 0x60DC, - 14823: 0x6614, - 14824: 0x6673, - 14825: 0x6790, - 14826: 0x6C50, - 14827: 0x6DC5, - 14828: 0x6F5F, - 14829: 0x77F3, - 14830: 0x78A9, - 14831: 0x84C6, - 14832: 0x91CB, - 14833: 0x932B, - 14834: 0x4ED9, - 14835: 0x50CA, - 14836: 0x5148, - 14837: 0x5584, - 14838: 0x5B0B, - 14839: 0x5BA3, - 14840: 0x6247, - 14841: 0x657E, - 14842: 0x65CB, - 14843: 0x6E32, - 14844: 0x717D, - 14845: 0x7401, - 14846: 0x7444, - 14847: 0x7487, - 14848: 0x74BF, - 14849: 0x766C, - 14850: 0x79AA, - 14851: 0x7DDA, - 14852: 0x7E55, - 14853: 0x7FA8, - 14854: 0x817A, - 14855: 0x81B3, - 14856: 0x8239, - 14857: 0x861A, - 14858: 0x87EC, - 14859: 0x8A75, - 14860: 0x8DE3, - 14861: 0x9078, - 14862: 0x9291, - 14863: 0x9425, - 14864: 0x994D, - 14865: 0x9BAE, - 14866: 0x5368, - 14867: 0x5C51, - 14868: 0x6954, - 14869: 0x6CC4, - 14870: 0x6D29, - 14871: 0x6E2B, - 14872: 0x820C, - 14873: 0x859B, - 14874: 0x893B, - 14875: 0x8A2D, - 14876: 0x8AAA, - 14877: 0x96EA, - 14878: 0x9F67, - 14879: 0x5261, - 14880: 0x66B9, - 14881: 0x6BB2, - 14882: 0x7E96, - 14883: 0x87FE, - 14884: 0x8D0D, - 14885: 0x9583, - 14886: 0x965D, - 14887: 0x651D, - 14888: 0x6D89, - 14889: 0x71EE, - 14890: 0xF96E, - 14891: 0x57CE, - 14892: 0x59D3, - 14893: 0x5BAC, - 14894: 0x6027, - 14895: 0x60FA, - 14896: 0x6210, - 14897: 0x661F, - 14898: 0x665F, - 14899: 0x7329, - 14900: 0x73F9, - 14901: 0x76DB, - 14902: 0x7701, - 14903: 0x7B6C, - 14904: 0x8056, - 14905: 0x8072, - 14906: 0x8165, - 14907: 0x8AA0, - 14908: 0x9192, - 14909: 0x4E16, - 14910: 0x52E2, - 14911: 0x6B72, - 14912: 0x6D17, - 14913: 0x7A05, - 14914: 0x7B39, - 14915: 0x7D30, - 14916: 0xF96F, - 14917: 0x8CB0, - 14918: 0x53EC, - 14919: 0x562F, - 14920: 0x5851, - 14921: 0x5BB5, - 14922: 0x5C0F, - 14923: 0x5C11, - 14924: 0x5DE2, - 14925: 0x6240, - 14926: 0x6383, - 14927: 0x6414, - 14928: 0x662D, - 14929: 0x68B3, - 14930: 0x6CBC, - 14931: 0x6D88, - 14932: 0x6EAF, - 14933: 0x701F, - 14934: 0x70A4, - 14935: 0x71D2, - 14936: 0x7526, - 14937: 0x758F, - 14938: 0x758E, - 14939: 0x7619, - 14940: 0x7B11, - 14941: 0x7BE0, - 14942: 0x7C2B, - 14943: 0x7D20, - 14944: 0x7D39, - 14945: 0x852C, - 14946: 0x856D, - 14947: 0x8607, - 14948: 0x8A34, - 14949: 0x900D, - 14950: 0x9061, - 14951: 0x90B5, - 14952: 0x92B7, - 14953: 0x97F6, - 14954: 0x9A37, - 14955: 0x4FD7, - 14956: 0x5C6C, - 14957: 0x675F, - 14958: 0x6D91, - 14959: 0x7C9F, - 14960: 0x7E8C, - 14961: 0x8B16, - 14962: 0x8D16, - 14963: 0x901F, - 14964: 0x5B6B, - 14965: 0x5DFD, - 14966: 0x640D, - 14967: 0x84C0, - 14968: 0x905C, - 14969: 0x98E1, - 14970: 0x7387, - 14971: 0x5B8B, - 14972: 0x609A, - 14973: 0x677E, - 14974: 0x6DDE, - 14975: 0x8A1F, - 14976: 0x8AA6, - 14977: 0x9001, - 14978: 0x980C, - 14979: 0x5237, - 14980: 0xF970, - 14981: 0x7051, - 14982: 0x788E, - 14983: 0x9396, - 14984: 0x8870, - 14985: 0x91D7, - 14986: 0x4FEE, - 14987: 0x53D7, - 14988: 0x55FD, - 14989: 0x56DA, - 14990: 0x5782, - 14991: 0x58FD, - 14992: 0x5AC2, - 14993: 0x5B88, - 14994: 0x5CAB, - 14995: 0x5CC0, - 14996: 0x5E25, - 14997: 0x6101, - 14998: 0x620D, - 14999: 0x624B, - 15000: 0x6388, - 15001: 0x641C, - 15002: 0x6536, - 15003: 0x6578, - 15004: 0x6A39, - 15005: 0x6B8A, - 15006: 0x6C34, - 15007: 0x6D19, - 15008: 0x6F31, - 15009: 0x71E7, - 15010: 0x72E9, - 15011: 0x7378, - 15012: 0x7407, - 15013: 0x74B2, - 15014: 0x7626, - 15015: 0x7761, - 15016: 0x79C0, - 15017: 0x7A57, - 15018: 0x7AEA, - 15019: 0x7CB9, - 15020: 0x7D8F, - 15021: 0x7DAC, - 15022: 0x7E61, - 15023: 0x7F9E, - 15024: 0x8129, - 15025: 0x8331, - 15026: 0x8490, - 15027: 0x84DA, - 15028: 0x85EA, - 15029: 0x8896, - 15030: 0x8AB0, - 15031: 0x8B90, - 15032: 0x8F38, - 15033: 0x9042, - 15034: 0x9083, - 15035: 0x916C, - 15036: 0x9296, - 15037: 0x92B9, - 15038: 0x968B, - 15039: 0x96A7, - 15040: 0x96A8, - 15041: 0x96D6, - 15042: 0x9700, - 15043: 0x9808, - 15044: 0x9996, - 15045: 0x9AD3, - 15046: 0x9B1A, - 15047: 0x53D4, - 15048: 0x587E, - 15049: 0x5919, - 15050: 0x5B70, - 15051: 0x5BBF, - 15052: 0x6DD1, - 15053: 0x6F5A, - 15054: 0x719F, - 15055: 0x7421, - 15056: 0x74B9, - 15057: 0x8085, - 15058: 0x83FD, - 15059: 0x5DE1, - 15060: 0x5F87, - 15061: 0x5FAA, - 15062: 0x6042, - 15063: 0x65EC, - 15064: 0x6812, - 15065: 0x696F, - 15066: 0x6A53, - 15067: 0x6B89, - 15068: 0x6D35, - 15069: 0x6DF3, - 15070: 0x73E3, - 15071: 0x76FE, - 15072: 0x77AC, - 15073: 0x7B4D, - 15074: 0x7D14, - 15075: 0x8123, - 15076: 0x821C, - 15077: 0x8340, - 15078: 0x84F4, - 15079: 0x8563, - 15080: 0x8A62, - 15081: 0x8AC4, - 15082: 0x9187, - 15083: 0x931E, - 15084: 0x9806, - 15085: 0x99B4, - 15086: 0x620C, - 15087: 0x8853, - 15088: 0x8FF0, - 15089: 0x9265, - 15090: 0x5D07, - 15091: 0x5D27, - 15092: 0x5D69, - 15093: 0x745F, - 15094: 0x819D, - 15095: 0x8768, - 15096: 0x6FD5, - 15097: 0x62FE, - 15098: 0x7FD2, - 15099: 0x8936, - 15100: 0x8972, - 15101: 0x4E1E, - 15102: 0x4E58, - 15103: 0x50E7, - 15104: 0x52DD, - 15105: 0x5347, - 15106: 0x627F, - 15107: 0x6607, - 15108: 0x7E69, - 15109: 0x8805, - 15110: 0x965E, - 15111: 0x4F8D, - 15112: 0x5319, - 15113: 0x5636, - 15114: 0x59CB, - 15115: 0x5AA4, - 15116: 0x5C38, - 15117: 0x5C4E, - 15118: 0x5C4D, - 15119: 0x5E02, - 15120: 0x5F11, - 15121: 0x6043, - 15122: 0x65BD, - 15123: 0x662F, - 15124: 0x6642, - 15125: 0x67BE, - 15126: 0x67F4, - 15127: 0x731C, - 15128: 0x77E2, - 15129: 0x793A, - 15130: 0x7FC5, - 15131: 0x8494, - 15132: 0x84CD, - 15133: 0x8996, - 15134: 0x8A66, - 15135: 0x8A69, - 15136: 0x8AE1, - 15137: 0x8C55, - 15138: 0x8C7A, - 15139: 0x57F4, - 15140: 0x5BD4, - 15141: 0x5F0F, - 15142: 0x606F, - 15143: 0x62ED, - 15144: 0x690D, - 15145: 0x6B96, - 15146: 0x6E5C, - 15147: 0x7184, - 15148: 0x7BD2, - 15149: 0x8755, - 15150: 0x8B58, - 15151: 0x8EFE, - 15152: 0x98DF, - 15153: 0x98FE, - 15154: 0x4F38, - 15155: 0x4F81, - 15156: 0x4FE1, - 15157: 0x547B, - 15158: 0x5A20, - 15159: 0x5BB8, - 15160: 0x613C, - 15161: 0x65B0, - 15162: 0x6668, - 15163: 0x71FC, - 15164: 0x7533, - 15165: 0x795E, - 15166: 0x7D33, - 15167: 0x814E, - 15168: 0x81E3, - 15169: 0x8398, - 15170: 0x85AA, - 15171: 0x85CE, - 15172: 0x8703, - 15173: 0x8A0A, - 15174: 0x8EAB, - 15175: 0x8F9B, - 15176: 0xF971, - 15177: 0x8FC5, - 15178: 0x5931, - 15179: 0x5BA4, - 15180: 0x5BE6, - 15181: 0x6089, - 15182: 0x5BE9, - 15183: 0x5C0B, - 15184: 0x5FC3, - 15185: 0x6C81, - 15186: 0xF972, - 15187: 0x6DF1, - 15188: 0x700B, - 15189: 0x751A, - 15190: 0x82AF, - 15191: 0x8AF6, - 15192: 0x4EC0, - 15193: 0x5341, - 15194: 0xF973, - 15195: 0x96D9, - 15196: 0x6C0F, - 15197: 0x4E9E, - 15198: 0x4FC4, - 15199: 0x5152, - 15200: 0x555E, - 15201: 0x5A25, - 15202: 0x5CE8, - 15203: 0x6211, - 15204: 0x7259, - 15205: 0x82BD, - 15206: 0x83AA, - 15207: 0x86FE, - 15208: 0x8859, - 15209: 0x8A1D, - 15210: 0x963F, - 15211: 0x96C5, - 15212: 0x9913, - 15213: 0x9D09, - 15214: 0x9D5D, - 15215: 0x580A, - 15216: 0x5CB3, - 15217: 0x5DBD, - 15218: 0x5E44, - 15219: 0x60E1, - 15220: 0x6115, - 15221: 0x63E1, - 15222: 0x6A02, - 15223: 0x6E25, - 15224: 0x9102, - 15225: 0x9354, - 15226: 0x984E, - 15227: 0x9C10, - 15228: 0x9F77, - 15229: 0x5B89, - 15230: 0x5CB8, - 15231: 0x6309, - 15232: 0x664F, - 15233: 0x6848, - 15234: 0x773C, - 15235: 0x96C1, - 15236: 0x978D, - 15237: 0x9854, - 15238: 0x9B9F, - 15239: 0x65A1, - 15240: 0x8B01, - 15241: 0x8ECB, - 15242: 0x95BC, - 15243: 0x5535, - 15244: 0x5CA9, - 15245: 0x5DD6, - 15246: 0x5EB5, - 15247: 0x6697, - 15248: 0x764C, - 15249: 0x83F4, - 15250: 0x95C7, - 15251: 0x58D3, - 15252: 0x62BC, - 15253: 0x72CE, - 15254: 0x9D28, - 15255: 0x4EF0, - 15256: 0x592E, - 15257: 0x600F, - 15258: 0x663B, - 15259: 0x6B83, - 15260: 0x79E7, - 15261: 0x9D26, - 15262: 0x5393, - 15263: 0x54C0, - 15264: 0x57C3, - 15265: 0x5D16, - 15266: 0x611B, - 15267: 0x66D6, - 15268: 0x6DAF, - 15269: 0x788D, - 15270: 0x827E, - 15271: 0x9698, - 15272: 0x9744, - 15273: 0x5384, - 15274: 0x627C, - 15275: 0x6396, - 15276: 0x6DB2, - 15277: 0x7E0A, - 15278: 0x814B, - 15279: 0x984D, - 15280: 0x6AFB, - 15281: 0x7F4C, - 15282: 0x9DAF, - 15283: 0x9E1A, - 15284: 0x4E5F, - 15285: 0x503B, - 15286: 0x51B6, - 15287: 0x591C, - 15288: 0x60F9, - 15289: 0x63F6, - 15290: 0x6930, - 15291: 0x723A, - 15292: 0x8036, - 15293: 0xF974, - 15294: 0x91CE, - 15295: 0x5F31, - 15296: 0xF975, - 15297: 0xF976, - 15298: 0x7D04, - 15299: 0x82E5, - 15300: 0x846F, - 15301: 0x84BB, - 15302: 0x85E5, - 15303: 0x8E8D, - 15304: 0xF977, - 15305: 0x4F6F, - 15306: 0xF978, - 15307: 0xF979, - 15308: 0x58E4, - 15309: 0x5B43, - 15310: 0x6059, - 15311: 0x63DA, - 15312: 0x6518, - 15313: 0x656D, - 15314: 0x6698, - 15315: 0xF97A, - 15316: 0x694A, - 15317: 0x6A23, - 15318: 0x6D0B, - 15319: 0x7001, - 15320: 0x716C, - 15321: 0x75D2, - 15322: 0x760D, - 15323: 0x79B3, - 15324: 0x7A70, - 15325: 0xF97B, - 15326: 0x7F8A, - 15327: 0xF97C, - 15328: 0x8944, - 15329: 0xF97D, - 15330: 0x8B93, - 15331: 0x91C0, - 15332: 0x967D, - 15333: 0xF97E, - 15334: 0x990A, - 15335: 0x5704, - 15336: 0x5FA1, - 15337: 0x65BC, - 15338: 0x6F01, - 15339: 0x7600, - 15340: 0x79A6, - 15341: 0x8A9E, - 15342: 0x99AD, - 15343: 0x9B5A, - 15344: 0x9F6C, - 15345: 0x5104, - 15346: 0x61B6, - 15347: 0x6291, - 15348: 0x6A8D, - 15349: 0x81C6, - 15350: 0x5043, - 15351: 0x5830, - 15352: 0x5F66, - 15353: 0x7109, - 15354: 0x8A00, - 15355: 0x8AFA, - 15356: 0x5B7C, - 15357: 0x8616, - 15358: 0x4FFA, - 15359: 0x513C, - 15360: 0x56B4, - 15361: 0x5944, - 15362: 0x63A9, - 15363: 0x6DF9, - 15364: 0x5DAA, - 15365: 0x696D, - 15366: 0x5186, - 15367: 0x4E88, - 15368: 0x4F59, - 15369: 0xF97F, - 15370: 0xF980, - 15371: 0xF981, - 15372: 0x5982, - 15373: 0xF982, - 15374: 0xF983, - 15375: 0x6B5F, - 15376: 0x6C5D, - 15377: 0xF984, - 15378: 0x74B5, - 15379: 0x7916, - 15380: 0xF985, - 15381: 0x8207, - 15382: 0x8245, - 15383: 0x8339, - 15384: 0x8F3F, - 15385: 0x8F5D, - 15386: 0xF986, - 15387: 0x9918, - 15388: 0xF987, - 15389: 0xF988, - 15390: 0xF989, - 15391: 0x4EA6, - 15392: 0xF98A, - 15393: 0x57DF, - 15394: 0x5F79, - 15395: 0x6613, - 15396: 0xF98B, - 15397: 0xF98C, - 15398: 0x75AB, - 15399: 0x7E79, - 15400: 0x8B6F, - 15401: 0xF98D, - 15402: 0x9006, - 15403: 0x9A5B, - 15404: 0x56A5, - 15405: 0x5827, - 15406: 0x59F8, - 15407: 0x5A1F, - 15408: 0x5BB4, - 15409: 0xF98E, - 15410: 0x5EF6, - 15411: 0xF98F, - 15412: 0xF990, - 15413: 0x6350, - 15414: 0x633B, - 15415: 0xF991, - 15416: 0x693D, - 15417: 0x6C87, - 15418: 0x6CBF, - 15419: 0x6D8E, - 15420: 0x6D93, - 15421: 0x6DF5, - 15422: 0x6F14, - 15423: 0xF992, - 15424: 0x70DF, - 15425: 0x7136, - 15426: 0x7159, - 15427: 0xF993, - 15428: 0x71C3, - 15429: 0x71D5, - 15430: 0xF994, - 15431: 0x784F, - 15432: 0x786F, - 15433: 0xF995, - 15434: 0x7B75, - 15435: 0x7DE3, - 15436: 0xF996, - 15437: 0x7E2F, - 15438: 0xF997, - 15439: 0x884D, - 15440: 0x8EDF, - 15441: 0xF998, - 15442: 0xF999, - 15443: 0xF99A, - 15444: 0x925B, - 15445: 0xF99B, - 15446: 0x9CF6, - 15447: 0xF99C, - 15448: 0xF99D, - 15449: 0xF99E, - 15450: 0x6085, - 15451: 0x6D85, - 15452: 0xF99F, - 15453: 0x71B1, - 15454: 0xF9A0, - 15455: 0xF9A1, - 15456: 0x95B1, - 15457: 0x53AD, - 15458: 0xF9A2, - 15459: 0xF9A3, - 15460: 0xF9A4, - 15461: 0x67D3, - 15462: 0xF9A5, - 15463: 0x708E, - 15464: 0x7130, - 15465: 0x7430, - 15466: 0x8276, - 15467: 0x82D2, - 15468: 0xF9A6, - 15469: 0x95BB, - 15470: 0x9AE5, - 15471: 0x9E7D, - 15472: 0x66C4, - 15473: 0xF9A7, - 15474: 0x71C1, - 15475: 0x8449, - 15476: 0xF9A8, - 15477: 0xF9A9, - 15478: 0x584B, - 15479: 0xF9AA, - 15480: 0xF9AB, - 15481: 0x5DB8, - 15482: 0x5F71, - 15483: 0xF9AC, - 15484: 0x6620, - 15485: 0x668E, - 15486: 0x6979, - 15487: 0x69AE, - 15488: 0x6C38, - 15489: 0x6CF3, - 15490: 0x6E36, - 15491: 0x6F41, - 15492: 0x6FDA, - 15493: 0x701B, - 15494: 0x702F, - 15495: 0x7150, - 15496: 0x71DF, - 15497: 0x7370, - 15498: 0xF9AD, - 15499: 0x745B, - 15500: 0xF9AE, - 15501: 0x74D4, - 15502: 0x76C8, - 15503: 0x7A4E, - 15504: 0x7E93, - 15505: 0xF9AF, - 15506: 0xF9B0, - 15507: 0x82F1, - 15508: 0x8A60, - 15509: 0x8FCE, - 15510: 0xF9B1, - 15511: 0x9348, - 15512: 0xF9B2, - 15513: 0x9719, - 15514: 0xF9B3, - 15515: 0xF9B4, - 15516: 0x4E42, - 15517: 0x502A, - 15518: 0xF9B5, - 15519: 0x5208, - 15520: 0x53E1, - 15521: 0x66F3, - 15522: 0x6C6D, - 15523: 0x6FCA, - 15524: 0x730A, - 15525: 0x777F, - 15526: 0x7A62, - 15527: 0x82AE, - 15528: 0x85DD, - 15529: 0x8602, - 15530: 0xF9B6, - 15531: 0x88D4, - 15532: 0x8A63, - 15533: 0x8B7D, - 15534: 0x8C6B, - 15535: 0xF9B7, - 15536: 0x92B3, - 15537: 0xF9B8, - 15538: 0x9713, - 15539: 0x9810, - 15540: 0x4E94, - 15541: 0x4F0D, - 15542: 0x4FC9, - 15543: 0x50B2, - 15544: 0x5348, - 15545: 0x543E, - 15546: 0x5433, - 15547: 0x55DA, - 15548: 0x5862, - 15549: 0x58BA, - 15550: 0x5967, - 15551: 0x5A1B, - 15552: 0x5BE4, - 15553: 0x609F, - 15554: 0xF9B9, - 15555: 0x61CA, - 15556: 0x6556, - 15557: 0x65FF, - 15558: 0x6664, - 15559: 0x68A7, - 15560: 0x6C5A, - 15561: 0x6FB3, - 15562: 0x70CF, - 15563: 0x71AC, - 15564: 0x7352, - 15565: 0x7B7D, - 15566: 0x8708, - 15567: 0x8AA4, - 15568: 0x9C32, - 15569: 0x9F07, - 15570: 0x5C4B, - 15571: 0x6C83, - 15572: 0x7344, - 15573: 0x7389, - 15574: 0x923A, - 15575: 0x6EAB, - 15576: 0x7465, - 15577: 0x761F, - 15578: 0x7A69, - 15579: 0x7E15, - 15580: 0x860A, - 15581: 0x5140, - 15582: 0x58C5, - 15583: 0x64C1, - 15584: 0x74EE, - 15585: 0x7515, - 15586: 0x7670, - 15587: 0x7FC1, - 15588: 0x9095, - 15589: 0x96CD, - 15590: 0x9954, - 15591: 0x6E26, - 15592: 0x74E6, - 15593: 0x7AA9, - 15594: 0x7AAA, - 15595: 0x81E5, - 15596: 0x86D9, - 15597: 0x8778, - 15598: 0x8A1B, - 15599: 0x5A49, - 15600: 0x5B8C, - 15601: 0x5B9B, - 15602: 0x68A1, - 15603: 0x6900, - 15604: 0x6D63, - 15605: 0x73A9, - 15606: 0x7413, - 15607: 0x742C, - 15608: 0x7897, - 15609: 0x7DE9, - 15610: 0x7FEB, - 15611: 0x8118, - 15612: 0x8155, - 15613: 0x839E, - 15614: 0x8C4C, - 15615: 0x962E, - 15616: 0x9811, - 15617: 0x66F0, - 15618: 0x5F80, - 15619: 0x65FA, - 15620: 0x6789, - 15621: 0x6C6A, - 15622: 0x738B, - 15623: 0x502D, - 15624: 0x5A03, - 15625: 0x6B6A, - 15626: 0x77EE, - 15627: 0x5916, - 15628: 0x5D6C, - 15629: 0x5DCD, - 15630: 0x7325, - 15631: 0x754F, - 15632: 0xF9BA, - 15633: 0xF9BB, - 15634: 0x50E5, - 15635: 0x51F9, - 15636: 0x582F, - 15637: 0x592D, - 15638: 0x5996, - 15639: 0x59DA, - 15640: 0x5BE5, - 15641: 0xF9BC, - 15642: 0xF9BD, - 15643: 0x5DA2, - 15644: 0x62D7, - 15645: 0x6416, - 15646: 0x6493, - 15647: 0x64FE, - 15648: 0xF9BE, - 15649: 0x66DC, - 15650: 0xF9BF, - 15651: 0x6A48, - 15652: 0xF9C0, - 15653: 0x71FF, - 15654: 0x7464, - 15655: 0xF9C1, - 15656: 0x7A88, - 15657: 0x7AAF, - 15658: 0x7E47, - 15659: 0x7E5E, - 15660: 0x8000, - 15661: 0x8170, - 15662: 0xF9C2, - 15663: 0x87EF, - 15664: 0x8981, - 15665: 0x8B20, - 15666: 0x9059, - 15667: 0xF9C3, - 15668: 0x9080, - 15669: 0x9952, - 15670: 0x617E, - 15671: 0x6B32, - 15672: 0x6D74, - 15673: 0x7E1F, - 15674: 0x8925, - 15675: 0x8FB1, - 15676: 0x4FD1, - 15677: 0x50AD, - 15678: 0x5197, - 15679: 0x52C7, - 15680: 0x57C7, - 15681: 0x5889, - 15682: 0x5BB9, - 15683: 0x5EB8, - 15684: 0x6142, - 15685: 0x6995, - 15686: 0x6D8C, - 15687: 0x6E67, - 15688: 0x6EB6, - 15689: 0x7194, - 15690: 0x7462, - 15691: 0x7528, - 15692: 0x752C, - 15693: 0x8073, - 15694: 0x8338, - 15695: 0x84C9, - 15696: 0x8E0A, - 15697: 0x9394, - 15698: 0x93DE, - 15699: 0xF9C4, - 15700: 0x4E8E, - 15701: 0x4F51, - 15702: 0x5076, - 15703: 0x512A, - 15704: 0x53C8, - 15705: 0x53CB, - 15706: 0x53F3, - 15707: 0x5B87, - 15708: 0x5BD3, - 15709: 0x5C24, - 15710: 0x611A, - 15711: 0x6182, - 15712: 0x65F4, - 15713: 0x725B, - 15714: 0x7397, - 15715: 0x7440, - 15716: 0x76C2, - 15717: 0x7950, - 15718: 0x7991, - 15719: 0x79B9, - 15720: 0x7D06, - 15721: 0x7FBD, - 15722: 0x828B, - 15723: 0x85D5, - 15724: 0x865E, - 15725: 0x8FC2, - 15726: 0x9047, - 15727: 0x90F5, - 15728: 0x91EA, - 15729: 0x9685, - 15730: 0x96E8, - 15731: 0x96E9, - 15732: 0x52D6, - 15733: 0x5F67, - 15734: 0x65ED, - 15735: 0x6631, - 15736: 0x682F, - 15737: 0x715C, - 15738: 0x7A36, - 15739: 0x90C1, - 15740: 0x980A, - 15741: 0x4E91, - 15742: 0xF9C5, - 15743: 0x6A52, - 15744: 0x6B9E, - 15745: 0x6F90, - 15746: 0x7189, - 15747: 0x8018, - 15748: 0x82B8, - 15749: 0x8553, - 15750: 0x904B, - 15751: 0x9695, - 15752: 0x96F2, - 15753: 0x97FB, - 15754: 0x851A, - 15755: 0x9B31, - 15756: 0x4E90, - 15757: 0x718A, - 15758: 0x96C4, - 15759: 0x5143, - 15760: 0x539F, - 15761: 0x54E1, - 15762: 0x5713, - 15763: 0x5712, - 15764: 0x57A3, - 15765: 0x5A9B, - 15766: 0x5AC4, - 15767: 0x5BC3, - 15768: 0x6028, - 15769: 0x613F, - 15770: 0x63F4, - 15771: 0x6C85, - 15772: 0x6D39, - 15773: 0x6E72, - 15774: 0x6E90, - 15775: 0x7230, - 15776: 0x733F, - 15777: 0x7457, - 15778: 0x82D1, - 15779: 0x8881, - 15780: 0x8F45, - 15781: 0x9060, - 15782: 0xF9C6, - 15783: 0x9662, - 15784: 0x9858, - 15785: 0x9D1B, - 15786: 0x6708, - 15787: 0x8D8A, - 15788: 0x925E, - 15789: 0x4F4D, - 15790: 0x5049, - 15791: 0x50DE, - 15792: 0x5371, - 15793: 0x570D, - 15794: 0x59D4, - 15795: 0x5A01, - 15796: 0x5C09, - 15797: 0x6170, - 15798: 0x6690, - 15799: 0x6E2D, - 15800: 0x7232, - 15801: 0x744B, - 15802: 0x7DEF, - 15803: 0x80C3, - 15804: 0x840E, - 15805: 0x8466, - 15806: 0x853F, - 15807: 0x875F, - 15808: 0x885B, - 15809: 0x8918, - 15810: 0x8B02, - 15811: 0x9055, - 15812: 0x97CB, - 15813: 0x9B4F, - 15814: 0x4E73, - 15815: 0x4F91, - 15816: 0x5112, - 15817: 0x516A, - 15818: 0xF9C7, - 15819: 0x552F, - 15820: 0x55A9, - 15821: 0x5B7A, - 15822: 0x5BA5, - 15823: 0x5E7C, - 15824: 0x5E7D, - 15825: 0x5EBE, - 15826: 0x60A0, - 15827: 0x60DF, - 15828: 0x6108, - 15829: 0x6109, - 15830: 0x63C4, - 15831: 0x6538, - 15832: 0x6709, - 15833: 0xF9C8, - 15834: 0x67D4, - 15835: 0x67DA, - 15836: 0xF9C9, - 15837: 0x6961, - 15838: 0x6962, - 15839: 0x6CB9, - 15840: 0x6D27, - 15841: 0xF9CA, - 15842: 0x6E38, - 15843: 0xF9CB, - 15844: 0x6FE1, - 15845: 0x7336, - 15846: 0x7337, - 15847: 0xF9CC, - 15848: 0x745C, - 15849: 0x7531, - 15850: 0xF9CD, - 15851: 0x7652, - 15852: 0xF9CE, - 15853: 0xF9CF, - 15854: 0x7DAD, - 15855: 0x81FE, - 15856: 0x8438, - 15857: 0x88D5, - 15858: 0x8A98, - 15859: 0x8ADB, - 15860: 0x8AED, - 15861: 0x8E30, - 15862: 0x8E42, - 15863: 0x904A, - 15864: 0x903E, - 15865: 0x907A, - 15866: 0x9149, - 15867: 0x91C9, - 15868: 0x936E, - 15869: 0xF9D0, - 15870: 0xF9D1, - 15871: 0x5809, - 15872: 0xF9D2, - 15873: 0x6BD3, - 15874: 0x8089, - 15875: 0x80B2, - 15876: 0xF9D3, - 15877: 0xF9D4, - 15878: 0x5141, - 15879: 0x596B, - 15880: 0x5C39, - 15881: 0xF9D5, - 15882: 0xF9D6, - 15883: 0x6F64, - 15884: 0x73A7, - 15885: 0x80E4, - 15886: 0x8D07, - 15887: 0xF9D7, - 15888: 0x9217, - 15889: 0x958F, - 15890: 0xF9D8, - 15891: 0xF9D9, - 15892: 0xF9DA, - 15893: 0xF9DB, - 15894: 0x807F, - 15895: 0x620E, - 15896: 0x701C, - 15897: 0x7D68, - 15898: 0x878D, - 15899: 0xF9DC, - 15900: 0x57A0, - 15901: 0x6069, - 15902: 0x6147, - 15903: 0x6BB7, - 15904: 0x8ABE, - 15905: 0x9280, - 15906: 0x96B1, - 15907: 0x4E59, - 15908: 0x541F, - 15909: 0x6DEB, - 15910: 0x852D, - 15911: 0x9670, - 15912: 0x97F3, - 15913: 0x98EE, - 15914: 0x63D6, - 15915: 0x6CE3, - 15916: 0x9091, - 15917: 0x51DD, - 15918: 0x61C9, - 15919: 0x81BA, - 15920: 0x9DF9, - 15921: 0x4F9D, - 15922: 0x501A, - 15923: 0x5100, - 15924: 0x5B9C, - 15925: 0x610F, - 15926: 0x61FF, - 15927: 0x64EC, - 15928: 0x6905, - 15929: 0x6BC5, - 15930: 0x7591, - 15931: 0x77E3, - 15932: 0x7FA9, - 15933: 0x8264, - 15934: 0x858F, - 15935: 0x87FB, - 15936: 0x8863, - 15937: 0x8ABC, - 15938: 0x8B70, - 15939: 0x91AB, - 15940: 0x4E8C, - 15941: 0x4EE5, - 15942: 0x4F0A, - 15943: 0xF9DD, - 15944: 0xF9DE, - 15945: 0x5937, - 15946: 0x59E8, - 15947: 0xF9DF, - 15948: 0x5DF2, - 15949: 0x5F1B, - 15950: 0x5F5B, - 15951: 0x6021, - 15952: 0xF9E0, - 15953: 0xF9E1, - 15954: 0xF9E2, - 15955: 0xF9E3, - 15956: 0x723E, - 15957: 0x73E5, - 15958: 0xF9E4, - 15959: 0x7570, - 15960: 0x75CD, - 15961: 0xF9E5, - 15962: 0x79FB, - 15963: 0xF9E6, - 15964: 0x800C, - 15965: 0x8033, - 15966: 0x8084, - 15967: 0x82E1, - 15968: 0x8351, - 15969: 0xF9E7, - 15970: 0xF9E8, - 15971: 0x8CBD, - 15972: 0x8CB3, - 15973: 0x9087, - 15974: 0xF9E9, - 15975: 0xF9EA, - 15976: 0x98F4, - 15977: 0x990C, - 15978: 0xF9EB, - 15979: 0xF9EC, - 15980: 0x7037, - 15981: 0x76CA, - 15982: 0x7FCA, - 15983: 0x7FCC, - 15984: 0x7FFC, - 15985: 0x8B1A, - 15986: 0x4EBA, - 15987: 0x4EC1, - 15988: 0x5203, - 15989: 0x5370, - 15990: 0xF9ED, - 15991: 0x54BD, - 15992: 0x56E0, - 15993: 0x59FB, - 15994: 0x5BC5, - 15995: 0x5F15, - 15996: 0x5FCD, - 15997: 0x6E6E, - 15998: 0xF9EE, - 15999: 0xF9EF, - 16000: 0x7D6A, - 16001: 0x8335, - 16002: 0xF9F0, - 16003: 0x8693, - 16004: 0x8A8D, - 16005: 0xF9F1, - 16006: 0x976D, - 16007: 0x9777, - 16008: 0xF9F2, - 16009: 0xF9F3, - 16010: 0x4E00, - 16011: 0x4F5A, - 16012: 0x4F7E, - 16013: 0x58F9, - 16014: 0x65E5, - 16015: 0x6EA2, - 16016: 0x9038, - 16017: 0x93B0, - 16018: 0x99B9, - 16019: 0x4EFB, - 16020: 0x58EC, - 16021: 0x598A, - 16022: 0x59D9, - 16023: 0x6041, - 16024: 0xF9F4, - 16025: 0xF9F5, - 16026: 0x7A14, - 16027: 0xF9F6, - 16028: 0x834F, - 16029: 0x8CC3, - 16030: 0x5165, - 16031: 0x5344, - 16032: 0xF9F7, - 16033: 0xF9F8, - 16034: 0xF9F9, - 16035: 0x4ECD, - 16036: 0x5269, - 16037: 0x5B55, - 16038: 0x82BF, - 16039: 0x4ED4, - 16040: 0x523A, - 16041: 0x54A8, - 16042: 0x59C9, - 16043: 0x59FF, - 16044: 0x5B50, - 16045: 0x5B57, - 16046: 0x5B5C, - 16047: 0x6063, - 16048: 0x6148, - 16049: 0x6ECB, - 16050: 0x7099, - 16051: 0x716E, - 16052: 0x7386, - 16053: 0x74F7, - 16054: 0x75B5, - 16055: 0x78C1, - 16056: 0x7D2B, - 16057: 0x8005, - 16058: 0x81EA, - 16059: 0x8328, - 16060: 0x8517, - 16061: 0x85C9, - 16062: 0x8AEE, - 16063: 0x8CC7, - 16064: 0x96CC, - 16065: 0x4F5C, - 16066: 0x52FA, - 16067: 0x56BC, - 16068: 0x65AB, - 16069: 0x6628, - 16070: 0x707C, - 16071: 0x70B8, - 16072: 0x7235, - 16073: 0x7DBD, - 16074: 0x828D, - 16075: 0x914C, - 16076: 0x96C0, - 16077: 0x9D72, - 16078: 0x5B71, - 16079: 0x68E7, - 16080: 0x6B98, - 16081: 0x6F7A, - 16082: 0x76DE, - 16083: 0x5C91, - 16084: 0x66AB, - 16085: 0x6F5B, - 16086: 0x7BB4, - 16087: 0x7C2A, - 16088: 0x8836, - 16089: 0x96DC, - 16090: 0x4E08, - 16091: 0x4ED7, - 16092: 0x5320, - 16093: 0x5834, - 16094: 0x58BB, - 16095: 0x58EF, - 16096: 0x596C, - 16097: 0x5C07, - 16098: 0x5E33, - 16099: 0x5E84, - 16100: 0x5F35, - 16101: 0x638C, - 16102: 0x66B2, - 16103: 0x6756, - 16104: 0x6A1F, - 16105: 0x6AA3, - 16106: 0x6B0C, - 16107: 0x6F3F, - 16108: 0x7246, - 16109: 0xF9FA, - 16110: 0x7350, - 16111: 0x748B, - 16112: 0x7AE0, - 16113: 0x7CA7, - 16114: 0x8178, - 16115: 0x81DF, - 16116: 0x81E7, - 16117: 0x838A, - 16118: 0x846C, - 16119: 0x8523, - 16120: 0x8594, - 16121: 0x85CF, - 16122: 0x88DD, - 16123: 0x8D13, - 16124: 0x91AC, - 16125: 0x9577, - 16126: 0x969C, - 16127: 0x518D, - 16128: 0x54C9, - 16129: 0x5728, - 16130: 0x5BB0, - 16131: 0x624D, - 16132: 0x6750, - 16133: 0x683D, - 16134: 0x6893, - 16135: 0x6E3D, - 16136: 0x6ED3, - 16137: 0x707D, - 16138: 0x7E21, - 16139: 0x88C1, - 16140: 0x8CA1, - 16141: 0x8F09, - 16142: 0x9F4B, - 16143: 0x9F4E, - 16144: 0x722D, - 16145: 0x7B8F, - 16146: 0x8ACD, - 16147: 0x931A, - 16148: 0x4F47, - 16149: 0x4F4E, - 16150: 0x5132, - 16151: 0x5480, - 16152: 0x59D0, - 16153: 0x5E95, - 16154: 0x62B5, - 16155: 0x6775, - 16156: 0x696E, - 16157: 0x6A17, - 16158: 0x6CAE, - 16159: 0x6E1A, - 16160: 0x72D9, - 16161: 0x732A, - 16162: 0x75BD, - 16163: 0x7BB8, - 16164: 0x7D35, - 16165: 0x82E7, - 16166: 0x83F9, - 16167: 0x8457, - 16168: 0x85F7, - 16169: 0x8A5B, - 16170: 0x8CAF, - 16171: 0x8E87, - 16172: 0x9019, - 16173: 0x90B8, - 16174: 0x96CE, - 16175: 0x9F5F, - 16176: 0x52E3, - 16177: 0x540A, - 16178: 0x5AE1, - 16179: 0x5BC2, - 16180: 0x6458, - 16181: 0x6575, - 16182: 0x6EF4, - 16183: 0x72C4, - 16184: 0xF9FB, - 16185: 0x7684, - 16186: 0x7A4D, - 16187: 0x7B1B, - 16188: 0x7C4D, - 16189: 0x7E3E, - 16190: 0x7FDF, - 16191: 0x837B, - 16192: 0x8B2B, - 16193: 0x8CCA, - 16194: 0x8D64, - 16195: 0x8DE1, - 16196: 0x8E5F, - 16197: 0x8FEA, - 16198: 0x8FF9, - 16199: 0x9069, - 16200: 0x93D1, - 16201: 0x4F43, - 16202: 0x4F7A, - 16203: 0x50B3, - 16204: 0x5168, - 16205: 0x5178, - 16206: 0x524D, - 16207: 0x526A, - 16208: 0x5861, - 16209: 0x587C, - 16210: 0x5960, - 16211: 0x5C08, - 16212: 0x5C55, - 16213: 0x5EDB, - 16214: 0x609B, - 16215: 0x6230, - 16216: 0x6813, - 16217: 0x6BBF, - 16218: 0x6C08, - 16219: 0x6FB1, - 16220: 0x714E, - 16221: 0x7420, - 16222: 0x7530, - 16223: 0x7538, - 16224: 0x7551, - 16225: 0x7672, - 16226: 0x7B4C, - 16227: 0x7B8B, - 16228: 0x7BAD, - 16229: 0x7BC6, - 16230: 0x7E8F, - 16231: 0x8A6E, - 16232: 0x8F3E, - 16233: 0x8F49, - 16234: 0x923F, - 16235: 0x9293, - 16236: 0x9322, - 16237: 0x942B, - 16238: 0x96FB, - 16239: 0x985A, - 16240: 0x986B, - 16241: 0x991E, - 16242: 0x5207, - 16243: 0x622A, - 16244: 0x6298, - 16245: 0x6D59, - 16246: 0x7664, - 16247: 0x7ACA, - 16248: 0x7BC0, - 16249: 0x7D76, - 16250: 0x5360, - 16251: 0x5CBE, - 16252: 0x5E97, - 16253: 0x6F38, - 16254: 0x70B9, - 16255: 0x7C98, - 16256: 0x9711, - 16257: 0x9B8E, - 16258: 0x9EDE, - 16259: 0x63A5, - 16260: 0x647A, - 16261: 0x8776, - 16262: 0x4E01, - 16263: 0x4E95, - 16264: 0x4EAD, - 16265: 0x505C, - 16266: 0x5075, - 16267: 0x5448, - 16268: 0x59C3, - 16269: 0x5B9A, - 16270: 0x5E40, - 16271: 0x5EAD, - 16272: 0x5EF7, - 16273: 0x5F81, - 16274: 0x60C5, - 16275: 0x633A, - 16276: 0x653F, - 16277: 0x6574, - 16278: 0x65CC, - 16279: 0x6676, - 16280: 0x6678, - 16281: 0x67FE, - 16282: 0x6968, - 16283: 0x6A89, - 16284: 0x6B63, - 16285: 0x6C40, - 16286: 0x6DC0, - 16287: 0x6DE8, - 16288: 0x6E1F, - 16289: 0x6E5E, - 16290: 0x701E, - 16291: 0x70A1, - 16292: 0x738E, - 16293: 0x73FD, - 16294: 0x753A, - 16295: 0x775B, - 16296: 0x7887, - 16297: 0x798E, - 16298: 0x7A0B, - 16299: 0x7A7D, - 16300: 0x7CBE, - 16301: 0x7D8E, - 16302: 0x8247, - 16303: 0x8A02, - 16304: 0x8AEA, - 16305: 0x8C9E, - 16306: 0x912D, - 16307: 0x914A, - 16308: 0x91D8, - 16309: 0x9266, - 16310: 0x92CC, - 16311: 0x9320, - 16312: 0x9706, - 16313: 0x9756, - 16314: 0x975C, - 16315: 0x9802, - 16316: 0x9F0E, - 16317: 0x5236, - 16318: 0x5291, - 16319: 0x557C, - 16320: 0x5824, - 16321: 0x5E1D, - 16322: 0x5F1F, - 16323: 0x608C, - 16324: 0x63D0, - 16325: 0x68AF, - 16326: 0x6FDF, - 16327: 0x796D, - 16328: 0x7B2C, - 16329: 0x81CD, - 16330: 0x85BA, - 16331: 0x88FD, - 16332: 0x8AF8, - 16333: 0x8E44, - 16334: 0x918D, - 16335: 0x9664, - 16336: 0x969B, - 16337: 0x973D, - 16338: 0x984C, - 16339: 0x9F4A, - 16340: 0x4FCE, - 16341: 0x5146, - 16342: 0x51CB, - 16343: 0x52A9, - 16344: 0x5632, - 16345: 0x5F14, - 16346: 0x5F6B, - 16347: 0x63AA, - 16348: 0x64CD, - 16349: 0x65E9, - 16350: 0x6641, - 16351: 0x66FA, - 16352: 0x66F9, - 16353: 0x671D, - 16354: 0x689D, - 16355: 0x68D7, - 16356: 0x69FD, - 16357: 0x6F15, - 16358: 0x6F6E, - 16359: 0x7167, - 16360: 0x71E5, - 16361: 0x722A, - 16362: 0x74AA, - 16363: 0x773A, - 16364: 0x7956, - 16365: 0x795A, - 16366: 0x79DF, - 16367: 0x7A20, - 16368: 0x7A95, - 16369: 0x7C97, - 16370: 0x7CDF, - 16371: 0x7D44, - 16372: 0x7E70, - 16373: 0x8087, - 16374: 0x85FB, - 16375: 0x86A4, - 16376: 0x8A54, - 16377: 0x8ABF, - 16378: 0x8D99, - 16379: 0x8E81, - 16380: 0x9020, - 16381: 0x906D, - 16382: 0x91E3, - 16383: 0x963B, - 16384: 0x96D5, - 16385: 0x9CE5, - 16386: 0x65CF, - 16387: 0x7C07, - 16388: 0x8DB3, - 16389: 0x93C3, - 16390: 0x5B58, - 16391: 0x5C0A, - 16392: 0x5352, - 16393: 0x62D9, - 16394: 0x731D, - 16395: 0x5027, - 16396: 0x5B97, - 16397: 0x5F9E, - 16398: 0x60B0, - 16399: 0x616B, - 16400: 0x68D5, - 16401: 0x6DD9, - 16402: 0x742E, - 16403: 0x7A2E, - 16404: 0x7D42, - 16405: 0x7D9C, - 16406: 0x7E31, - 16407: 0x816B, - 16408: 0x8E2A, - 16409: 0x8E35, - 16410: 0x937E, - 16411: 0x9418, - 16412: 0x4F50, - 16413: 0x5750, - 16414: 0x5DE6, - 16415: 0x5EA7, - 16416: 0x632B, - 16417: 0x7F6A, - 16418: 0x4E3B, - 16419: 0x4F4F, - 16420: 0x4F8F, - 16421: 0x505A, - 16422: 0x59DD, - 16423: 0x80C4, - 16424: 0x546A, - 16425: 0x5468, - 16426: 0x55FE, - 16427: 0x594F, - 16428: 0x5B99, - 16429: 0x5DDE, - 16430: 0x5EDA, - 16431: 0x665D, - 16432: 0x6731, - 16433: 0x67F1, - 16434: 0x682A, - 16435: 0x6CE8, - 16436: 0x6D32, - 16437: 0x6E4A, - 16438: 0x6F8D, - 16439: 0x70B7, - 16440: 0x73E0, - 16441: 0x7587, - 16442: 0x7C4C, - 16443: 0x7D02, - 16444: 0x7D2C, - 16445: 0x7DA2, - 16446: 0x821F, - 16447: 0x86DB, - 16448: 0x8A3B, - 16449: 0x8A85, - 16450: 0x8D70, - 16451: 0x8E8A, - 16452: 0x8F33, - 16453: 0x9031, - 16454: 0x914E, - 16455: 0x9152, - 16456: 0x9444, - 16457: 0x99D0, - 16458: 0x7AF9, - 16459: 0x7CA5, - 16460: 0x4FCA, - 16461: 0x5101, - 16462: 0x51C6, - 16463: 0x57C8, - 16464: 0x5BEF, - 16465: 0x5CFB, - 16466: 0x6659, - 16467: 0x6A3D, - 16468: 0x6D5A, - 16469: 0x6E96, - 16470: 0x6FEC, - 16471: 0x710C, - 16472: 0x756F, - 16473: 0x7AE3, - 16474: 0x8822, - 16475: 0x9021, - 16476: 0x9075, - 16477: 0x96CB, - 16478: 0x99FF, - 16479: 0x8301, - 16480: 0x4E2D, - 16481: 0x4EF2, - 16482: 0x8846, - 16483: 0x91CD, - 16484: 0x537D, - 16485: 0x6ADB, - 16486: 0x696B, - 16487: 0x6C41, - 16488: 0x847A, - 16489: 0x589E, - 16490: 0x618E, - 16491: 0x66FE, - 16492: 0x62EF, - 16493: 0x70DD, - 16494: 0x7511, - 16495: 0x75C7, - 16496: 0x7E52, - 16497: 0x84B8, - 16498: 0x8B49, - 16499: 0x8D08, - 16500: 0x4E4B, - 16501: 0x53EA, - 16502: 0x54AB, - 16503: 0x5730, - 16504: 0x5740, - 16505: 0x5FD7, - 16506: 0x6301, - 16507: 0x6307, - 16508: 0x646F, - 16509: 0x652F, - 16510: 0x65E8, - 16511: 0x667A, - 16512: 0x679D, - 16513: 0x67B3, - 16514: 0x6B62, - 16515: 0x6C60, - 16516: 0x6C9A, - 16517: 0x6F2C, - 16518: 0x77E5, - 16519: 0x7825, - 16520: 0x7949, - 16521: 0x7957, - 16522: 0x7D19, - 16523: 0x80A2, - 16524: 0x8102, - 16525: 0x81F3, - 16526: 0x829D, - 16527: 0x82B7, - 16528: 0x8718, - 16529: 0x8A8C, - 16530: 0xF9FC, - 16531: 0x8D04, - 16532: 0x8DBE, - 16533: 0x9072, - 16534: 0x76F4, - 16535: 0x7A19, - 16536: 0x7A37, - 16537: 0x7E54, - 16538: 0x8077, - 16539: 0x5507, - 16540: 0x55D4, - 16541: 0x5875, - 16542: 0x632F, - 16543: 0x6422, - 16544: 0x6649, - 16545: 0x664B, - 16546: 0x686D, - 16547: 0x699B, - 16548: 0x6B84, - 16549: 0x6D25, - 16550: 0x6EB1, - 16551: 0x73CD, - 16552: 0x7468, - 16553: 0x74A1, - 16554: 0x755B, - 16555: 0x75B9, - 16556: 0x76E1, - 16557: 0x771E, - 16558: 0x778B, - 16559: 0x79E6, - 16560: 0x7E09, - 16561: 0x7E1D, - 16562: 0x81FB, - 16563: 0x852F, - 16564: 0x8897, - 16565: 0x8A3A, - 16566: 0x8CD1, - 16567: 0x8EEB, - 16568: 0x8FB0, - 16569: 0x9032, - 16570: 0x93AD, - 16571: 0x9663, - 16572: 0x9673, - 16573: 0x9707, - 16574: 0x4F84, - 16575: 0x53F1, - 16576: 0x59EA, - 16577: 0x5AC9, - 16578: 0x5E19, - 16579: 0x684E, - 16580: 0x74C6, - 16581: 0x75BE, - 16582: 0x79E9, - 16583: 0x7A92, - 16584: 0x81A3, - 16585: 0x86ED, - 16586: 0x8CEA, - 16587: 0x8DCC, - 16588: 0x8FED, - 16589: 0x659F, - 16590: 0x6715, - 16591: 0xF9FD, - 16592: 0x57F7, - 16593: 0x6F57, - 16594: 0x7DDD, - 16595: 0x8F2F, - 16596: 0x93F6, - 16597: 0x96C6, - 16598: 0x5FB5, - 16599: 0x61F2, - 16600: 0x6F84, - 16601: 0x4E14, - 16602: 0x4F98, - 16603: 0x501F, - 16604: 0x53C9, - 16605: 0x55DF, - 16606: 0x5D6F, - 16607: 0x5DEE, - 16608: 0x6B21, - 16609: 0x6B64, - 16610: 0x78CB, - 16611: 0x7B9A, - 16612: 0xF9FE, - 16613: 0x8E49, - 16614: 0x8ECA, - 16615: 0x906E, - 16616: 0x6349, - 16617: 0x643E, - 16618: 0x7740, - 16619: 0x7A84, - 16620: 0x932F, - 16621: 0x947F, - 16622: 0x9F6A, - 16623: 0x64B0, - 16624: 0x6FAF, - 16625: 0x71E6, - 16626: 0x74A8, - 16627: 0x74DA, - 16628: 0x7AC4, - 16629: 0x7C12, - 16630: 0x7E82, - 16631: 0x7CB2, - 16632: 0x7E98, - 16633: 0x8B9A, - 16634: 0x8D0A, - 16635: 0x947D, - 16636: 0x9910, - 16637: 0x994C, - 16638: 0x5239, - 16639: 0x5BDF, - 16640: 0x64E6, - 16641: 0x672D, - 16642: 0x7D2E, - 16643: 0x50ED, - 16644: 0x53C3, - 16645: 0x5879, - 16646: 0x6158, - 16647: 0x6159, - 16648: 0x61FA, - 16649: 0x65AC, - 16650: 0x7AD9, - 16651: 0x8B92, - 16652: 0x8B96, - 16653: 0x5009, - 16654: 0x5021, - 16655: 0x5275, - 16656: 0x5531, - 16657: 0x5A3C, - 16658: 0x5EE0, - 16659: 0x5F70, - 16660: 0x6134, - 16661: 0x655E, - 16662: 0x660C, - 16663: 0x6636, - 16664: 0x66A2, - 16665: 0x69CD, - 16666: 0x6EC4, - 16667: 0x6F32, - 16668: 0x7316, - 16669: 0x7621, - 16670: 0x7A93, - 16671: 0x8139, - 16672: 0x8259, - 16673: 0x83D6, - 16674: 0x84BC, - 16675: 0x50B5, - 16676: 0x57F0, - 16677: 0x5BC0, - 16678: 0x5BE8, - 16679: 0x5F69, - 16680: 0x63A1, - 16681: 0x7826, - 16682: 0x7DB5, - 16683: 0x83DC, - 16684: 0x8521, - 16685: 0x91C7, - 16686: 0x91F5, - 16687: 0x518A, - 16688: 0x67F5, - 16689: 0x7B56, - 16690: 0x8CAC, - 16691: 0x51C4, - 16692: 0x59BB, - 16693: 0x60BD, - 16694: 0x8655, - 16695: 0x501C, - 16696: 0xF9FF, - 16697: 0x5254, - 16698: 0x5C3A, - 16699: 0x617D, - 16700: 0x621A, - 16701: 0x62D3, - 16702: 0x64F2, - 16703: 0x65A5, - 16704: 0x6ECC, - 16705: 0x7620, - 16706: 0x810A, - 16707: 0x8E60, - 16708: 0x965F, - 16709: 0x96BB, - 16710: 0x4EDF, - 16711: 0x5343, - 16712: 0x5598, - 16713: 0x5929, - 16714: 0x5DDD, - 16715: 0x64C5, - 16716: 0x6CC9, - 16717: 0x6DFA, - 16718: 0x7394, - 16719: 0x7A7F, - 16720: 0x821B, - 16721: 0x85A6, - 16722: 0x8CE4, - 16723: 0x8E10, - 16724: 0x9077, - 16725: 0x91E7, - 16726: 0x95E1, - 16727: 0x9621, - 16728: 0x97C6, - 16729: 0x51F8, - 16730: 0x54F2, - 16731: 0x5586, - 16732: 0x5FB9, - 16733: 0x64A4, - 16734: 0x6F88, - 16735: 0x7DB4, - 16736: 0x8F1F, - 16737: 0x8F4D, - 16738: 0x9435, - 16739: 0x50C9, - 16740: 0x5C16, - 16741: 0x6CBE, - 16742: 0x6DFB, - 16743: 0x751B, - 16744: 0x77BB, - 16745: 0x7C3D, - 16746: 0x7C64, - 16747: 0x8A79, - 16748: 0x8AC2, - 16749: 0x581E, - 16750: 0x59BE, - 16751: 0x5E16, - 16752: 0x6377, - 16753: 0x7252, - 16754: 0x758A, - 16755: 0x776B, - 16756: 0x8ADC, - 16757: 0x8CBC, - 16758: 0x8F12, - 16759: 0x5EF3, - 16760: 0x6674, - 16761: 0x6DF8, - 16762: 0x807D, - 16763: 0x83C1, - 16764: 0x8ACB, - 16765: 0x9751, - 16766: 0x9BD6, - 16767: 0xFA00, - 16768: 0x5243, - 16769: 0x66FF, - 16770: 0x6D95, - 16771: 0x6EEF, - 16772: 0x7DE0, - 16773: 0x8AE6, - 16774: 0x902E, - 16775: 0x905E, - 16776: 0x9AD4, - 16777: 0x521D, - 16778: 0x527F, - 16779: 0x54E8, - 16780: 0x6194, - 16781: 0x6284, - 16782: 0x62DB, - 16783: 0x68A2, - 16784: 0x6912, - 16785: 0x695A, - 16786: 0x6A35, - 16787: 0x7092, - 16788: 0x7126, - 16789: 0x785D, - 16790: 0x7901, - 16791: 0x790E, - 16792: 0x79D2, - 16793: 0x7A0D, - 16794: 0x8096, - 16795: 0x8278, - 16796: 0x82D5, - 16797: 0x8349, - 16798: 0x8549, - 16799: 0x8C82, - 16800: 0x8D85, - 16801: 0x9162, - 16802: 0x918B, - 16803: 0x91AE, - 16804: 0x4FC3, - 16805: 0x56D1, - 16806: 0x71ED, - 16807: 0x77D7, - 16808: 0x8700, - 16809: 0x89F8, - 16810: 0x5BF8, - 16811: 0x5FD6, - 16812: 0x6751, - 16813: 0x90A8, - 16814: 0x53E2, - 16815: 0x585A, - 16816: 0x5BF5, - 16817: 0x60A4, - 16818: 0x6181, - 16819: 0x6460, - 16820: 0x7E3D, - 16821: 0x8070, - 16822: 0x8525, - 16823: 0x9283, - 16824: 0x64AE, - 16825: 0x50AC, - 16826: 0x5D14, - 16827: 0x6700, - 16828: 0x589C, - 16829: 0x62BD, - 16830: 0x63A8, - 16831: 0x690E, - 16832: 0x6978, - 16833: 0x6A1E, - 16834: 0x6E6B, - 16835: 0x76BA, - 16836: 0x79CB, - 16837: 0x82BB, - 16838: 0x8429, - 16839: 0x8ACF, - 16840: 0x8DA8, - 16841: 0x8FFD, - 16842: 0x9112, - 16843: 0x914B, - 16844: 0x919C, - 16845: 0x9310, - 16846: 0x9318, - 16847: 0x939A, - 16848: 0x96DB, - 16849: 0x9A36, - 16850: 0x9C0D, - 16851: 0x4E11, - 16852: 0x755C, - 16853: 0x795D, - 16854: 0x7AFA, - 16855: 0x7B51, - 16856: 0x7BC9, - 16857: 0x7E2E, - 16858: 0x84C4, - 16859: 0x8E59, - 16860: 0x8E74, - 16861: 0x8EF8, - 16862: 0x9010, - 16863: 0x6625, - 16864: 0x693F, - 16865: 0x7443, - 16866: 0x51FA, - 16867: 0x672E, - 16868: 0x9EDC, - 16869: 0x5145, - 16870: 0x5FE0, - 16871: 0x6C96, - 16872: 0x87F2, - 16873: 0x885D, - 16874: 0x8877, - 16875: 0x60B4, - 16876: 0x81B5, - 16877: 0x8403, - 16878: 0x8D05, - 16879: 0x53D6, - 16880: 0x5439, - 16881: 0x5634, - 16882: 0x5A36, - 16883: 0x5C31, - 16884: 0x708A, - 16885: 0x7FE0, - 16886: 0x805A, - 16887: 0x8106, - 16888: 0x81ED, - 16889: 0x8DA3, - 16890: 0x9189, - 16891: 0x9A5F, - 16892: 0x9DF2, - 16893: 0x5074, - 16894: 0x4EC4, - 16895: 0x53A0, - 16896: 0x60FB, - 16897: 0x6E2C, - 16898: 0x5C64, - 16899: 0x4F88, - 16900: 0x5024, - 16901: 0x55E4, - 16902: 0x5CD9, - 16903: 0x5E5F, - 16904: 0x6065, - 16905: 0x6894, - 16906: 0x6CBB, - 16907: 0x6DC4, - 16908: 0x71BE, - 16909: 0x75D4, - 16910: 0x75F4, - 16911: 0x7661, - 16912: 0x7A1A, - 16913: 0x7A49, - 16914: 0x7DC7, - 16915: 0x7DFB, - 16916: 0x7F6E, - 16917: 0x81F4, - 16918: 0x86A9, - 16919: 0x8F1C, - 16920: 0x96C9, - 16921: 0x99B3, - 16922: 0x9F52, - 16923: 0x5247, - 16924: 0x52C5, - 16925: 0x98ED, - 16926: 0x89AA, - 16927: 0x4E03, - 16928: 0x67D2, - 16929: 0x6F06, - 16930: 0x4FB5, - 16931: 0x5BE2, - 16932: 0x6795, - 16933: 0x6C88, - 16934: 0x6D78, - 16935: 0x741B, - 16936: 0x7827, - 16937: 0x91DD, - 16938: 0x937C, - 16939: 0x87C4, - 16940: 0x79E4, - 16941: 0x7A31, - 16942: 0x5FEB, - 16943: 0x4ED6, - 16944: 0x54A4, - 16945: 0x553E, - 16946: 0x58AE, - 16947: 0x59A5, - 16948: 0x60F0, - 16949: 0x6253, - 16950: 0x62D6, - 16951: 0x6736, - 16952: 0x6955, - 16953: 0x8235, - 16954: 0x9640, - 16955: 0x99B1, - 16956: 0x99DD, - 16957: 0x502C, - 16958: 0x5353, - 16959: 0x5544, - 16960: 0x577C, - 16961: 0xFA01, - 16962: 0x6258, - 16963: 0xFA02, - 16964: 0x64E2, - 16965: 0x666B, - 16966: 0x67DD, - 16967: 0x6FC1, - 16968: 0x6FEF, - 16969: 0x7422, - 16970: 0x7438, - 16971: 0x8A17, - 16972: 0x9438, - 16973: 0x5451, - 16974: 0x5606, - 16975: 0x5766, - 16976: 0x5F48, - 16977: 0x619A, - 16978: 0x6B4E, - 16979: 0x7058, - 16980: 0x70AD, - 16981: 0x7DBB, - 16982: 0x8A95, - 16983: 0x596A, - 16984: 0x812B, - 16985: 0x63A2, - 16986: 0x7708, - 16987: 0x803D, - 16988: 0x8CAA, - 16989: 0x5854, - 16990: 0x642D, - 16991: 0x69BB, - 16992: 0x5B95, - 16993: 0x5E11, - 16994: 0x6E6F, - 16995: 0xFA03, - 16996: 0x8569, - 16997: 0x514C, - 16998: 0x53F0, - 16999: 0x592A, - 17000: 0x6020, - 17001: 0x614B, - 17002: 0x6B86, - 17003: 0x6C70, - 17004: 0x6CF0, - 17005: 0x7B1E, - 17006: 0x80CE, - 17007: 0x82D4, - 17008: 0x8DC6, - 17009: 0x90B0, - 17010: 0x98B1, - 17011: 0xFA04, - 17012: 0x64C7, - 17013: 0x6FA4, - 17014: 0x6491, - 17015: 0x6504, - 17016: 0x514E, - 17017: 0x5410, - 17018: 0x571F, - 17019: 0x8A0E, - 17020: 0x615F, - 17021: 0x6876, - 17022: 0xFA05, - 17023: 0x75DB, - 17024: 0x7B52, - 17025: 0x7D71, - 17026: 0x901A, - 17027: 0x5806, - 17028: 0x69CC, - 17029: 0x817F, - 17030: 0x892A, - 17031: 0x9000, - 17032: 0x9839, - 17033: 0x5078, - 17034: 0x5957, - 17035: 0x59AC, - 17036: 0x6295, - 17037: 0x900F, - 17038: 0x9B2A, - 17039: 0x615D, - 17040: 0x7279, - 17041: 0x95D6, - 17042: 0x5761, - 17043: 0x5A46, - 17044: 0x5DF4, - 17045: 0x628A, - 17046: 0x64AD, - 17047: 0x64FA, - 17048: 0x6777, - 17049: 0x6CE2, - 17050: 0x6D3E, - 17051: 0x722C, - 17052: 0x7436, - 17053: 0x7834, - 17054: 0x7F77, - 17055: 0x82AD, - 17056: 0x8DDB, - 17057: 0x9817, - 17058: 0x5224, - 17059: 0x5742, - 17060: 0x677F, - 17061: 0x7248, - 17062: 0x74E3, - 17063: 0x8CA9, - 17064: 0x8FA6, - 17065: 0x9211, - 17066: 0x962A, - 17067: 0x516B, - 17068: 0x53ED, - 17069: 0x634C, - 17070: 0x4F69, - 17071: 0x5504, - 17072: 0x6096, - 17073: 0x6557, - 17074: 0x6C9B, - 17075: 0x6D7F, - 17076: 0x724C, - 17077: 0x72FD, - 17078: 0x7A17, - 17079: 0x8987, - 17080: 0x8C9D, - 17081: 0x5F6D, - 17082: 0x6F8E, - 17083: 0x70F9, - 17084: 0x81A8, - 17085: 0x610E, - 17086: 0x4FBF, - 17087: 0x504F, - 17088: 0x6241, - 17089: 0x7247, - 17090: 0x7BC7, - 17091: 0x7DE8, - 17092: 0x7FE9, - 17093: 0x904D, - 17094: 0x97AD, - 17095: 0x9A19, - 17096: 0x8CB6, - 17097: 0x576A, - 17098: 0x5E73, - 17099: 0x67B0, - 17100: 0x840D, - 17101: 0x8A55, - 17102: 0x5420, - 17103: 0x5B16, - 17104: 0x5E63, - 17105: 0x5EE2, - 17106: 0x5F0A, - 17107: 0x6583, - 17108: 0x80BA, - 17109: 0x853D, - 17110: 0x9589, - 17111: 0x965B, - 17112: 0x4F48, - 17113: 0x5305, - 17114: 0x530D, - 17115: 0x530F, - 17116: 0x5486, - 17117: 0x54FA, - 17118: 0x5703, - 17119: 0x5E03, - 17120: 0x6016, - 17121: 0x629B, - 17122: 0x62B1, - 17123: 0x6355, - 17124: 0xFA06, - 17125: 0x6CE1, - 17126: 0x6D66, - 17127: 0x75B1, - 17128: 0x7832, - 17129: 0x80DE, - 17130: 0x812F, - 17131: 0x82DE, - 17132: 0x8461, - 17133: 0x84B2, - 17134: 0x888D, - 17135: 0x8912, - 17136: 0x900B, - 17137: 0x92EA, - 17138: 0x98FD, - 17139: 0x9B91, - 17140: 0x5E45, - 17141: 0x66B4, - 17142: 0x66DD, - 17143: 0x7011, - 17144: 0x7206, - 17145: 0xFA07, - 17146: 0x4FF5, - 17147: 0x527D, - 17148: 0x5F6A, - 17149: 0x6153, - 17150: 0x6753, - 17151: 0x6A19, - 17152: 0x6F02, - 17153: 0x74E2, - 17154: 0x7968, - 17155: 0x8868, - 17156: 0x8C79, - 17157: 0x98C7, - 17158: 0x98C4, - 17159: 0x9A43, - 17160: 0x54C1, - 17161: 0x7A1F, - 17162: 0x6953, - 17163: 0x8AF7, - 17164: 0x8C4A, - 17165: 0x98A8, - 17166: 0x99AE, - 17167: 0x5F7C, - 17168: 0x62AB, - 17169: 0x75B2, - 17170: 0x76AE, - 17171: 0x88AB, - 17172: 0x907F, - 17173: 0x9642, - 17174: 0x5339, - 17175: 0x5F3C, - 17176: 0x5FC5, - 17177: 0x6CCC, - 17178: 0x73CC, - 17179: 0x7562, - 17180: 0x758B, - 17181: 0x7B46, - 17182: 0x82FE, - 17183: 0x999D, - 17184: 0x4E4F, - 17185: 0x903C, - 17186: 0x4E0B, - 17187: 0x4F55, - 17188: 0x53A6, - 17189: 0x590F, - 17190: 0x5EC8, - 17191: 0x6630, - 17192: 0x6CB3, - 17193: 0x7455, - 17194: 0x8377, - 17195: 0x8766, - 17196: 0x8CC0, - 17197: 0x9050, - 17198: 0x971E, - 17199: 0x9C15, - 17200: 0x58D1, - 17201: 0x5B78, - 17202: 0x8650, - 17203: 0x8B14, - 17204: 0x9DB4, - 17205: 0x5BD2, - 17206: 0x6068, - 17207: 0x608D, - 17208: 0x65F1, - 17209: 0x6C57, - 17210: 0x6F22, - 17211: 0x6FA3, - 17212: 0x701A, - 17213: 0x7F55, - 17214: 0x7FF0, - 17215: 0x9591, - 17216: 0x9592, - 17217: 0x9650, - 17218: 0x97D3, - 17219: 0x5272, - 17220: 0x8F44, - 17221: 0x51FD, - 17222: 0x542B, - 17223: 0x54B8, - 17224: 0x5563, - 17225: 0x558A, - 17226: 0x6ABB, - 17227: 0x6DB5, - 17228: 0x7DD8, - 17229: 0x8266, - 17230: 0x929C, - 17231: 0x9677, - 17232: 0x9E79, - 17233: 0x5408, - 17234: 0x54C8, - 17235: 0x76D2, - 17236: 0x86E4, - 17237: 0x95A4, - 17238: 0x95D4, - 17239: 0x965C, - 17240: 0x4EA2, - 17241: 0x4F09, - 17242: 0x59EE, - 17243: 0x5AE6, - 17244: 0x5DF7, - 17245: 0x6052, - 17246: 0x6297, - 17247: 0x676D, - 17248: 0x6841, - 17249: 0x6C86, - 17250: 0x6E2F, - 17251: 0x7F38, - 17252: 0x809B, - 17253: 0x822A, - 17254: 0xFA08, - 17255: 0xFA09, - 17256: 0x9805, - 17257: 0x4EA5, - 17258: 0x5055, - 17259: 0x54B3, - 17260: 0x5793, - 17261: 0x595A, - 17262: 0x5B69, - 17263: 0x5BB3, - 17264: 0x61C8, - 17265: 0x6977, - 17266: 0x6D77, - 17267: 0x7023, - 17268: 0x87F9, - 17269: 0x89E3, - 17270: 0x8A72, - 17271: 0x8AE7, - 17272: 0x9082, - 17273: 0x99ED, - 17274: 0x9AB8, - 17275: 0x52BE, - 17276: 0x6838, - 17277: 0x5016, - 17278: 0x5E78, - 17279: 0x674F, - 17280: 0x8347, - 17281: 0x884C, - 17282: 0x4EAB, - 17283: 0x5411, - 17284: 0x56AE, - 17285: 0x73E6, - 17286: 0x9115, - 17287: 0x97FF, - 17288: 0x9909, - 17289: 0x9957, - 17290: 0x9999, - 17291: 0x5653, - 17292: 0x589F, - 17293: 0x865B, - 17294: 0x8A31, - 17295: 0x61B2, - 17296: 0x6AF6, - 17297: 0x737B, - 17298: 0x8ED2, - 17299: 0x6B47, - 17300: 0x96AA, - 17301: 0x9A57, - 17302: 0x5955, - 17303: 0x7200, - 17304: 0x8D6B, - 17305: 0x9769, - 17306: 0x4FD4, - 17307: 0x5CF4, - 17308: 0x5F26, - 17309: 0x61F8, - 17310: 0x665B, - 17311: 0x6CEB, - 17312: 0x70AB, - 17313: 0x7384, - 17314: 0x73B9, - 17315: 0x73FE, - 17316: 0x7729, - 17317: 0x774D, - 17318: 0x7D43, - 17319: 0x7D62, - 17320: 0x7E23, - 17321: 0x8237, - 17322: 0x8852, - 17323: 0xFA0A, - 17324: 0x8CE2, - 17325: 0x9249, - 17326: 0x986F, - 17327: 0x5B51, - 17328: 0x7A74, - 17329: 0x8840, - 17330: 0x9801, - 17331: 0x5ACC, - 17332: 0x4FE0, - 17333: 0x5354, - 17334: 0x593E, - 17335: 0x5CFD, - 17336: 0x633E, - 17337: 0x6D79, - 17338: 0x72F9, - 17339: 0x8105, - 17340: 0x8107, - 17341: 0x83A2, - 17342: 0x92CF, - 17343: 0x9830, - 17344: 0x4EA8, - 17345: 0x5144, - 17346: 0x5211, - 17347: 0x578B, - 17348: 0x5F62, - 17349: 0x6CC2, - 17350: 0x6ECE, - 17351: 0x7005, - 17352: 0x7050, - 17353: 0x70AF, - 17354: 0x7192, - 17355: 0x73E9, - 17356: 0x7469, - 17357: 0x834A, - 17358: 0x87A2, - 17359: 0x8861, - 17360: 0x9008, - 17361: 0x90A2, - 17362: 0x93A3, - 17363: 0x99A8, - 17364: 0x516E, - 17365: 0x5F57, - 17366: 0x60E0, - 17367: 0x6167, - 17368: 0x66B3, - 17369: 0x8559, - 17370: 0x8E4A, - 17371: 0x91AF, - 17372: 0x978B, - 17373: 0x4E4E, - 17374: 0x4E92, - 17375: 0x547C, - 17376: 0x58D5, - 17377: 0x58FA, - 17378: 0x597D, - 17379: 0x5CB5, - 17380: 0x5F27, - 17381: 0x6236, - 17382: 0x6248, - 17383: 0x660A, - 17384: 0x6667, - 17385: 0x6BEB, - 17386: 0x6D69, - 17387: 0x6DCF, - 17388: 0x6E56, - 17389: 0x6EF8, - 17390: 0x6F94, - 17391: 0x6FE0, - 17392: 0x6FE9, - 17393: 0x705D, - 17394: 0x72D0, - 17395: 0x7425, - 17396: 0x745A, - 17397: 0x74E0, - 17398: 0x7693, - 17399: 0x795C, - 17400: 0x7CCA, - 17401: 0x7E1E, - 17402: 0x80E1, - 17403: 0x82A6, - 17404: 0x846B, - 17405: 0x84BF, - 17406: 0x864E, - 17407: 0x865F, - 17408: 0x8774, - 17409: 0x8B77, - 17410: 0x8C6A, - 17411: 0x93AC, - 17412: 0x9800, - 17413: 0x9865, - 17414: 0x60D1, - 17415: 0x6216, - 17416: 0x9177, - 17417: 0x5A5A, - 17418: 0x660F, - 17419: 0x6DF7, - 17420: 0x6E3E, - 17421: 0x743F, - 17422: 0x9B42, - 17423: 0x5FFD, - 17424: 0x60DA, - 17425: 0x7B0F, - 17426: 0x54C4, - 17427: 0x5F18, - 17428: 0x6C5E, - 17429: 0x6CD3, - 17430: 0x6D2A, - 17431: 0x70D8, - 17432: 0x7D05, - 17433: 0x8679, - 17434: 0x8A0C, - 17435: 0x9D3B, - 17436: 0x5316, - 17437: 0x548C, - 17438: 0x5B05, - 17439: 0x6A3A, - 17440: 0x706B, - 17441: 0x7575, - 17442: 0x798D, - 17443: 0x79BE, - 17444: 0x82B1, - 17445: 0x83EF, - 17446: 0x8A71, - 17447: 0x8B41, - 17448: 0x8CA8, - 17449: 0x9774, - 17450: 0xFA0B, - 17451: 0x64F4, - 17452: 0x652B, - 17453: 0x78BA, - 17454: 0x78BB, - 17455: 0x7A6B, - 17456: 0x4E38, - 17457: 0x559A, - 17458: 0x5950, - 17459: 0x5BA6, - 17460: 0x5E7B, - 17461: 0x60A3, - 17462: 0x63DB, - 17463: 0x6B61, - 17464: 0x6665, - 17465: 0x6853, - 17466: 0x6E19, - 17467: 0x7165, - 17468: 0x74B0, - 17469: 0x7D08, - 17470: 0x9084, - 17471: 0x9A69, - 17472: 0x9C25, - 17473: 0x6D3B, - 17474: 0x6ED1, - 17475: 0x733E, - 17476: 0x8C41, - 17477: 0x95CA, - 17478: 0x51F0, - 17479: 0x5E4C, - 17480: 0x5FA8, - 17481: 0x604D, - 17482: 0x60F6, - 17483: 0x6130, - 17484: 0x614C, - 17485: 0x6643, - 17486: 0x6644, - 17487: 0x69A5, - 17488: 0x6CC1, - 17489: 0x6E5F, - 17490: 0x6EC9, - 17491: 0x6F62, - 17492: 0x714C, - 17493: 0x749C, - 17494: 0x7687, - 17495: 0x7BC1, - 17496: 0x7C27, - 17497: 0x8352, - 17498: 0x8757, - 17499: 0x9051, - 17500: 0x968D, - 17501: 0x9EC3, - 17502: 0x532F, - 17503: 0x56DE, - 17504: 0x5EFB, - 17505: 0x5F8A, - 17506: 0x6062, - 17507: 0x6094, - 17508: 0x61F7, - 17509: 0x6666, - 17510: 0x6703, - 17511: 0x6A9C, - 17512: 0x6DEE, - 17513: 0x6FAE, - 17514: 0x7070, - 17515: 0x736A, - 17516: 0x7E6A, - 17517: 0x81BE, - 17518: 0x8334, - 17519: 0x86D4, - 17520: 0x8AA8, - 17521: 0x8CC4, - 17522: 0x5283, - 17523: 0x7372, - 17524: 0x5B96, - 17525: 0x6A6B, - 17526: 0x9404, - 17527: 0x54EE, - 17528: 0x5686, - 17529: 0x5B5D, - 17530: 0x6548, - 17531: 0x6585, - 17532: 0x66C9, - 17533: 0x689F, - 17534: 0x6D8D, - 17535: 0x6DC6, - 17536: 0x723B, - 17537: 0x80B4, - 17538: 0x9175, - 17539: 0x9A4D, - 17540: 0x4FAF, - 17541: 0x5019, - 17542: 0x539A, - 17543: 0x540E, - 17544: 0x543C, - 17545: 0x5589, - 17546: 0x55C5, - 17547: 0x5E3F, - 17548: 0x5F8C, - 17549: 0x673D, - 17550: 0x7166, - 17551: 0x73DD, - 17552: 0x9005, - 17553: 0x52DB, - 17554: 0x52F3, - 17555: 0x5864, - 17556: 0x58CE, - 17557: 0x7104, - 17558: 0x718F, - 17559: 0x71FB, - 17560: 0x85B0, - 17561: 0x8A13, - 17562: 0x6688, - 17563: 0x85A8, - 17564: 0x55A7, - 17565: 0x6684, - 17566: 0x714A, - 17567: 0x8431, - 17568: 0x5349, - 17569: 0x5599, - 17570: 0x6BC1, - 17571: 0x5F59, - 17572: 0x5FBD, - 17573: 0x63EE, - 17574: 0x6689, - 17575: 0x7147, - 17576: 0x8AF1, - 17577: 0x8F1D, - 17578: 0x9EBE, - 17579: 0x4F11, - 17580: 0x643A, - 17581: 0x70CB, - 17582: 0x7566, - 17583: 0x8667, - 17584: 0x6064, - 17585: 0x8B4E, - 17586: 0x9DF8, - 17587: 0x5147, - 17588: 0x51F6, - 17589: 0x5308, - 17590: 0x6D36, - 17591: 0x80F8, - 17592: 0x9ED1, - 17593: 0x6615, - 17594: 0x6B23, - 17595: 0x7098, - 17596: 0x75D5, - 17597: 0x5403, - 17598: 0x5C79, - 17599: 0x7D07, - 17600: 0x8A16, - 17601: 0x6B20, - 17602: 0x6B3D, - 17603: 0x6B46, - 17604: 0x5438, - 17605: 0x6070, - 17606: 0x6D3D, - 17607: 0x7FD5, - 17608: 0x8208, - 17609: 0x50D6, - 17610: 0x51DE, - 17611: 0x559C, - 17612: 0x566B, - 17613: 0x56CD, - 17614: 0x59EC, - 17615: 0x5B09, - 17616: 0x5E0C, - 17617: 0x6199, - 17618: 0x6198, - 17619: 0x6231, - 17620: 0x665E, - 17621: 0x66E6, - 17622: 0x7199, - 17623: 0x71B9, - 17624: 0x71BA, - 17625: 0x72A7, - 17626: 0x79A7, - 17627: 0x7A00, - 17628: 0x7FB2, - 17629: 0x8A70, -} - -const numEncodeTables = 7 - -// encodeX are the encoding tables from Unicode to EUC-KR code, -// sorted by decreasing length. -// encode0: 20893 entries for runes in [19968, 40861). -// encode1: 11172 entries for runes in [44032, 55204). -// encode2: 1625 entries for runes in [ 8213, 9838). -// encode3: 990 entries for runes in [12288, 13278). -// encode4: 945 entries for runes in [ 161, 1106). -// encode5: 268 entries for runes in [63744, 64012). -// encode6: 230 entries for runes in [65281, 65511). - -const encode0Low, encode0High = 19968, 40861 - -var encode0 = [...]uint16{ - 19968 - 19968: 0xECE9, - 19969 - 19968: 0xEFCB, - 19971 - 19968: 0xF6D2, - 19975 - 19968: 0xD8B2, - 19976 - 19968: 0xEDDB, - 19977 - 19968: 0xDFB2, - 19978 - 19968: 0xDFBE, - 19979 - 19968: 0xF9BB, - 19981 - 19968: 0xDCF4, - 19985 - 19968: 0xF5E4, - 19988 - 19968: 0xF3A6, - 19989 - 19968: 0xDDE0, - 19990 - 19968: 0xE1A6, - 19992 - 19968: 0xCEF8, - 19993 - 19968: 0xDCB0, - 19998 - 19968: 0xE3AA, - 20013 - 19968: 0xF1E9, - 20018 - 19968: 0xCDFA, - 20024 - 19968: 0xFCAF, - 20025 - 19968: 0xD3A1, - 20027 - 19968: 0xF1AB, - 20034 - 19968: 0xE7D1, - 20035 - 19968: 0xD2AC, - 20037 - 19968: 0xCEF9, - 20043 - 19968: 0xF1FD, - 20045 - 19968: 0xDEBF, - 20046 - 19968: 0xFBBA, - 20047 - 19968: 0xF9B9, - 20054 - 19968: 0xCED2, - 20056 - 19968: 0xE3AB, - 20057 - 19968: 0xEBE0, - 20061 - 19968: 0xCEFA, - 20062 - 19968: 0xCBF7, - 20063 - 19968: 0xE5A5, - 20075 - 19968: 0xCAE1, - 20077 - 19968: 0xD4CC, - 20083 - 19968: 0xEAE1, - 20086 - 19968: 0xDCE3, - 20087 - 19968: 0xDFAD, - 20094 - 19968: 0xCBEB, - 20098 - 19968: 0xD5AF, - 20102 - 19968: 0xD6F5, - 20104 - 19968: 0xE5F8, - 20107 - 19968: 0xDEC0, - 20108 - 19968: 0xECA3, - 20110 - 19968: 0xE9CD, - 20112 - 19968: 0xEAA7, - 20113 - 19968: 0xE9F6, - 20114 - 19968: 0xFBBB, - 20116 - 19968: 0xE7E9, - 20117 - 19968: 0xEFCC, - 20120 - 19968: 0xD0E6, - 20123 - 19968: 0xDEC1, - 20126 - 19968: 0xE4AC, - 20129 - 19968: 0xD8CC, - 20130 - 19968: 0xF9F1, - 20132 - 19968: 0xCEDF, - 20133 - 19968: 0xFAA4, - 20134 - 19968: 0xE6B2, - 20136 - 19968: 0xFAFB, - 20139 - 19968: 0xFABD, - 20140 - 19968: 0xCCC8, - 20141 - 19968: 0xEFCD, - 20142 - 19968: 0xD5D5, - 20150 - 19968: 0xD3A2, - 20154 - 19968: 0xECD1, - 20160 - 19968: 0xE4A7, - 20161 - 19968: 0xECD2, - 20164 - 19968: 0xF6B1, - 20167 - 19968: 0xCEFB, - 20170 - 19968: 0xD0D1, - 20171 - 19968: 0xCBBF, - 20173 - 19968: 0xEDA4, - 20180 - 19968: 0xEDA8, - 20181 - 19968: 0xDEC2, - 20182 - 19968: 0xF6E2, - 20183 - 19968: 0xEDDC, - 20184 - 19968: 0xDCF5, - 20185 - 19968: 0xE0B9, - 20189 - 19968: 0xD4CE, - 20191 - 19968: 0xF4B5, - 20195 - 19968: 0xD3DB, - 20196 - 19968: 0xD6B5, - 20197 - 19968: 0xECA4, - 20208 - 19968: 0xE4E6, - 20210 - 19968: 0xF1EA, - 20214 - 19968: 0xCBEC, - 20215 - 19968: 0xCBC0, - 20219 - 19968: 0xECF2, - 20225 - 19968: 0xD0EA, - 20233 - 19968: 0xF9F2, - 20234 - 19968: 0xECA5, - 20235 - 19968: 0xD0DF, - 20237 - 19968: 0xE7EA, - 20238 - 19968: 0xD0EB, - 20239 - 19968: 0xDCD1, - 20240 - 19968: 0xDBE9, - 20241 - 19968: 0xFDCC, - 20271 - 19968: 0xDBD7, - 20276 - 19968: 0xDAE1, - 20278 - 19968: 0xD6B6, - 20280 - 19968: 0xE3DF, - 20282 - 19968: 0xDEC3, - 20284 - 19968: 0xDEC4, - 20285 - 19968: 0xCAA1, - 20291 - 19968: 0xEEEC, - 20294 - 19968: 0xD3A3, - 20295 - 19968: 0xEEB7, - 20296 - 19968: 0xF8CF, - 20301 - 19968: 0xEAC8, - 20302 - 19968: 0xEEB8, - 20303 - 19968: 0xF1AC, - 20304 - 19968: 0xF1A5, - 20305 - 19968: 0xE9CE, - 20309 - 19968: 0xF9BC, - 20313 - 19968: 0xE5F9, - 20314 - 19968: 0xECEA, - 20315 - 19968: 0xDDD6, - 20316 - 19968: 0xEDC2, - 20329 - 19968: 0xF8A5, - 20335 - 19968: 0xE5BA, - 20336 - 19968: 0xDBD8, - 20339 - 19968: 0xCAA2, - 20342 - 19968: 0xD1CD, - 20346 - 19968: 0xEEED, - 20350 - 19968: 0xECEB, - 20351 - 19968: 0xDEC5, - 20353 - 19968: 0xE3E0, - 20355 - 19968: 0xCAC9, - 20356 - 19968: 0xF2E9, - 20358 - 19968: 0xD5CE, - 20360 - 19968: 0xF6B6, - 20362 - 19968: 0xCEC2, - 20363 - 19968: 0xD6C7, - 20365 - 19968: 0xE3B4, - 20367 - 19968: 0xF1AD, - 20369 - 19968: 0xEAE2, - 20374 - 19968: 0xD7C2, - 20376 - 19968: 0xF3A7, - 20379 - 19968: 0xCDEA, - 20381 - 19968: 0xEBEE, - 20398 - 19968: 0xD9B2, - 20399 - 19968: 0xFDA5, - 20405 - 19968: 0xF6D5, - 20406 - 19968: 0xD5E2, - 20415 - 19968: 0xF8B5, - 20418 - 19968: 0xCCF5, - 20419 - 19968: 0xF5B5, - 20420 - 19968: 0xE4AD, - 20425 - 19968: 0xE7EB, - 20426 - 19968: 0xF1D5, - 20430 - 19968: 0xF0BB, - 20433 - 19968: 0xE9B5, - 20435 - 19968: 0xCCC9, - 20436 - 19968: 0xFAD5, - 20439 - 19968: 0xE1D4, - 20442 - 19968: 0xD7D6, - 20445 - 19968: 0xDCC1, - 20447 - 19968: 0xDEC6, - 20448 - 19968: 0xFAEF, - 20449 - 19968: 0xE3E1, - 20462 - 19968: 0xE1F3, - 20463 - 19968: 0xDCF6, - 20465 - 19968: 0xCEFC, - 20467 - 19968: 0xDBC4, - 20469 - 19968: 0xF8F1, - 20472 - 19968: 0xDCE4, - 20474 - 19968: 0xE5EF, - 20482 - 19968: 0xDCB1, - 20486 - 19968: 0xD5D6, - 20489 - 19968: 0xF3DA, - 20491 - 19968: 0xCBC1, - 20493 - 19968: 0xDBC3, - 20497 - 19968: 0xD9FA, - 20498 - 19968: 0xD3EE, - 20502 - 19968: 0xFAB8, - 20505 - 19968: 0xFDA6, - 20506 - 19968: 0xEBEF, - 20508 - 19968: 0xF4A6, - 20510 - 19968: 0xCCCA, - 20511 - 19968: 0xF3A8, - 20513 - 19968: 0xF3DB, - 20515 - 19968: 0xDBA7, - 20516 - 19968: 0xF6B7, - 20518 - 19968: 0xCFE6, - 20519 - 19968: 0xF0F2, - 20520 - 19968: 0xCBDA, - 20522 - 19968: 0xE7D2, - 20523 - 19968: 0xD7C3, - 20524 - 19968: 0xF6F0, - 20525 - 19968: 0xE8DE, - 20539 - 19968: 0xE5A6, - 20547 - 19968: 0xE5E7, - 20551 - 19968: 0xCAA3, - 20552 - 19968: 0xCCA7, - 20553 - 19968: 0xEAC9, - 20559 - 19968: 0xF8B6, - 20565 - 19968: 0xFAA5, - 20570 - 19968: 0xF1AE, - 20572 - 19968: 0xEFCE, - 20581 - 19968: 0xCBED, - 20596 - 19968: 0xF6B0, - 20597 - 19968: 0xEFCF, - 20598 - 19968: 0xE9CF, - 20600 - 19968: 0xF7DE, - 20608 - 19968: 0xCED3, - 20613 - 19968: 0xDCF7, - 20621 - 19968: 0xDBA8, - 20625 - 19968: 0xCBF8, - 20632 - 19968: 0xDFA1, - 20633 - 19968: 0xDDE1, - 20652 - 19968: 0xF5CA, - 20653 - 19968: 0xE9B6, - 20658 - 19968: 0xE7EC, - 20659 - 19968: 0xEEEE, - 20661 - 19968: 0xF3F0, - 20663 - 19968: 0xDFBF, - 20670 - 19968: 0xCCCB, - 20677 - 19968: 0xD0C1, - 20681 - 19968: 0xF4D2, - 20682 - 19968: 0xE0BA, - 20687 - 19968: 0xDFC0, - 20689 - 19968: 0xCEE0, - 20693 - 19968: 0xDCD2, - 20694 - 19968: 0xFDEA, - 20698 - 19968: 0xD6F6, - 20702 - 19968: 0xEACA, - 20709 - 19968: 0xE8E9, - 20711 - 19968: 0xE3AC, - 20717 - 19968: 0xF3D0, - 20729 - 19968: 0xCAA4, - 20731 - 19968: 0xDBF8, - 20735 - 19968: 0xDEC7, - 20736 - 19968: 0xEBF0, - 20737 - 19968: 0xF1D6, - 20740 - 19968: 0xE5E2, - 20742 - 19968: 0xCCCC, - 20745 - 19968: 0xCBFB, - 20754 - 19968: 0xEAE3, - 20767 - 19968: 0xDFC1, - 20769 - 19968: 0xD6ED, - 20778 - 19968: 0xE9D0, - 20786 - 19968: 0xEEB9, - 20791 - 19968: 0xD5E3, - 20794 - 19968: 0xD1D3, - 20796 - 19968: 0xE5F0, - 20800 - 19968: 0xE8B4, - 20801 - 19968: 0xEBC3, - 20803 - 19968: 0xEAAA, - 20804 - 19968: 0xFAFC, - 20805 - 19968: 0xF5F6, - 20806 - 19968: 0xF0BC, - 20807 - 19968: 0xFDD4, - 20808 - 19968: 0xE0BB, - 20809 - 19968: 0xCEC3, - 20811 - 19968: 0xD0BA, - 20812 - 19968: 0xF7BA, - 20813 - 19968: 0xD8F3, - 20814 - 19968: 0xF7CD, - 20818 - 19968: 0xE4AE, - 20828 - 19968: 0xD4DF, - 20834 - 19968: 0xD0E7, - 20837 - 19968: 0xECFD, - 20839 - 19968: 0xD2AE, - 20840 - 19968: 0xEEEF, - 20841 - 19968: 0xD5D7, - 20842 - 19968: 0xEAE4, - 20843 - 19968: 0xF8A2, - 20844 - 19968: 0xCDEB, - 20845 - 19968: 0xD7BF, - 20846 - 19968: 0xFBB1, - 20849 - 19968: 0xCDEC, - 20853 - 19968: 0xDCB2, - 20854 - 19968: 0xD0EC, - 20855 - 19968: 0xCEFD, - 20856 - 19968: 0xEEF0, - 20860 - 19968: 0xCCC2, - 20864 - 19968: 0xD0ED, - 20870 - 19968: 0xE5F7, - 20874 - 19968: 0xF3FC, - 20877 - 19968: 0xEEA2, - 20882 - 19968: 0xD9B3, - 20885 - 19968: 0xD8F4, - 20887 - 19968: 0xE9B7, - 20896 - 19968: 0xCEAE, - 20901 - 19968: 0xD9A2, - 20906 - 19968: 0xD8F1, - 20908 - 19968: 0xD4CF, - 20918 - 19968: 0xE5A7, - 20919 - 19968: 0xD5D2, - 20925 - 19968: 0xD6A9, - 20932 - 19968: 0xF4A2, - 20934 - 19968: 0xF1D7, - 20937 - 19968: 0xD5D8, - 20939 - 19968: 0xF0BD, - 20940 - 19968: 0xD7D0, - 20941 - 19968: 0xD4D0, - 20956 - 19968: 0xD7CF, - 20957 - 19968: 0xEBEA, - 20958 - 19968: 0xFDEB, - 20961 - 19968: 0xDBED, - 20976 - 19968: 0xFCC5, - 20977 - 19968: 0xCBC2, - 20982 - 19968: 0xFDD5, - 20984 - 19968: 0xF4C8, - 20985 - 19968: 0xE8EA, - 20986 - 19968: 0xF5F3, - 20989 - 19968: 0xF9DE, - 20992 - 19968: 0xD3EF, - 20995 - 19968: 0xECD3, - 20998 - 19968: 0xDDC2, - 20999 - 19968: 0xEFB7, - 21000 - 19968: 0xE7D4, - 21002 - 19968: 0xCACA, - 21006 - 19968: 0xD9FB, - 21009 - 19968: 0xFAFD, - 21015 - 19968: 0xD6AA, - 21021 - 19968: 0xF4F8, - 21028 - 19968: 0xF7F7, - 21029 - 19968: 0xDCAC, - 21033 - 19968: 0xD7D7, - 21034 - 19968: 0xDFA2, - 21038 - 19968: 0xCEBE, - 21040 - 19968: 0xD3F0, - 21046 - 19968: 0xF0A4, - 21047 - 19968: 0xE1EC, - 21048 - 19968: 0xCFE7, - 21049 - 19968: 0xF3CB, - 21050 - 19968: 0xEDA9, - 21051 - 19968: 0xCABE, - 21059 - 19968: 0xF4EF, - 21063 - 19968: 0xF6CE, - 21066 - 19968: 0xDEFB, - 21067 - 19968: 0xD0BB, - 21068 - 19968: 0xD5B7, - 21069 - 19968: 0xEEF1, - 21076 - 19968: 0xF4A8, - 21078 - 19968: 0xDCF8, - 21083 - 19968: 0xCBA7, - 21085 - 19968: 0xDACE, - 21089 - 19968: 0xE0E6, - 21097 - 19968: 0xEDA5, - 21098 - 19968: 0xEEF2, - 21103 - 19968: 0xDCF9, - 21106 - 19968: 0xF9DC, - 21109 - 19968: 0xF3DC, - 21117 - 19968: 0xF8F2, - 21119 - 19968: 0xF4F9, - 21123 - 19968: 0xFCF1, - 21127 - 19968: 0xD0BC, - 21128 - 19968: 0xDBF9, - 21129 - 19968: 0xD7B1, - 21133 - 19968: 0xCBFC, - 21137 - 19968: 0xF0A5, - 21138 - 19968: 0xCBFD, - 21147 - 19968: 0xD5F4, - 21151 - 19968: 0xCDED, - 21152 - 19968: 0xCAA5, - 21155 - 19968: 0xD6AB, - 21156 - 19968: 0xD0C2, - 21161 - 19968: 0xF0BE, - 21162 - 19968: 0xD2BD, - 21163 - 19968: 0xCCA4, - 21182 - 19968: 0xFAB6, - 21185 - 19968: 0xCCCD, - 21187 - 19968: 0xDAFA, - 21189 - 19968: 0xF6CF, - 21191 - 19968: 0xE9B8, - 21193 - 19968: 0xD8F5, - 21197 - 19968: 0xCCCE, - 21202 - 19968: 0xD7CD, - 21205 - 19968: 0xD4D1, - 21206 - 19968: 0xE9ED, - 21208 - 19968: 0xCAEB, - 21209 - 19968: 0xD9E2, - 21211 - 19968: 0xFDB2, - 21213 - 19968: 0xE3AD, - 21214 - 19968: 0xD6CC, - 21215 - 19968: 0xD9B4, - 21218 - 19968: 0xE1A7, - 21219 - 19968: 0xEED3, - 21220 - 19968: 0xD0C3, - 21235 - 19968: 0xFDB3, - 21237 - 19968: 0xD5E4, - 21240 - 19968: 0xCFE8, - 21242 - 19968: 0xEDC3, - 21243 - 19968: 0xD0B2, - 21246 - 19968: 0xCEFE, - 21247 - 19968: 0xDAA8, - 21253 - 19968: 0xF8D0, - 21256 - 19968: 0xFDD6, - 21261 - 19968: 0xF8D1, - 21263 - 19968: 0xF8D2, - 21264 - 19968: 0xDCD3, - 21269 - 19968: 0xDDE2, - 21270 - 19968: 0xFBF9, - 21271 - 19968: 0xDDC1, - 21273 - 19968: 0xE3B5, - 21280 - 19968: 0xEDDD, - 21281 - 19968: 0xCEC4, - 21283 - 19968: 0xCBA1, - 21290 - 19968: 0xDDE3, - 21295 - 19968: 0xFCDD, - 21305 - 19968: 0xF9AF, - 21311 - 19968: 0xD2FB, - 21312 - 19968: 0xCFA1, - 21313 - 19968: 0xE4A8, - 21315 - 19968: 0xF4B6, - 21316 - 19968: 0xECFE, - 21319 - 19968: 0xE3AE, - 21320 - 19968: 0xE7ED, - 21321 - 19968: 0xFDC1, - 21322 - 19968: 0xDAE2, - 21325 - 19968: 0xD8B3, - 21329 - 19968: 0xDDE4, - 21330 - 19968: 0xF0EF, - 21331 - 19968: 0xF6F1, - 21332 - 19968: 0xFAF0, - 21335 - 19968: 0xD1F5, - 21338 - 19968: 0xDACF, - 21340 - 19968: 0xDCD4, - 21342 - 19968: 0xDCA6, - 21344 - 19968: 0xEFBF, - 21350 - 19968: 0xCECF, - 21352 - 19968: 0xE0D9, - 21359 - 19968: 0xD9D6, - 21360 - 19968: 0xECD4, - 21361 - 19968: 0xEACB, - 21364 - 19968: 0xCABF, - 21365 - 19968: 0xD5B0, - 21367 - 19968: 0xCFE9, - 21373 - 19968: 0xF1ED, - 21375 - 19968: 0xCCCF, - 21380 - 19968: 0xE4F8, - 21395 - 19968: 0xE4ED, - 21400 - 19968: 0xD7D8, - 21402 - 19968: 0xFDA7, - 21407 - 19968: 0xEAAB, - 21408 - 19968: 0xF6B2, - 21413 - 19968: 0xCFF0, - 21414 - 19968: 0xF9BD, - 21421 - 19968: 0xE6F4, - 21435 - 19968: 0xCBDB, - 21443 - 19968: 0xF3D1, - 21448 - 19968: 0xE9D1, - 21449 - 19968: 0xF3A9, - 21450 - 19968: 0xD0E0, - 21451 - 19968: 0xE9D2, - 21453 - 19968: 0xDAE3, - 21460 - 19968: 0xE2D2, - 21462 - 19968: 0xF6A2, - 21463 - 19968: 0xE1F4, - 21467 - 19968: 0xDAE4, - 21473 - 19968: 0xE7D5, - 21474 - 19968: 0xF5BF, - 21475 - 19968: 0xCFA2, - 21476 - 19968: 0xCDAF, - 21477 - 19968: 0xCFA3, - 21481 - 19968: 0xCDB0, - 21482 - 19968: 0xF1FE, - 21483 - 19968: 0xD0A3, - 21484 - 19968: 0xE1AF, - 21485 - 19968: 0xF8A3, - 21487 - 19968: 0xCAA6, - 21488 - 19968: 0xF7BB, - 21489 - 19968: 0xF2EA, - 21490 - 19968: 0xDEC8, - 21491 - 19968: 0xE9D3, - 21496 - 19968: 0xDEC9, - 21507 - 19968: 0xFDDE, - 21508 - 19968: 0xCAC0, - 21512 - 19968: 0xF9EA, - 21513 - 19968: 0xD1CE, - 21514 - 19968: 0xEED4, - 21516 - 19968: 0xD4D2, - 21517 - 19968: 0xD9A3, - 21518 - 19968: 0xFDA8, - 21519 - 19968: 0xD7D9, - 21520 - 19968: 0xF7CE, - 21521 - 19968: 0xFABE, - 21531 - 19968: 0xCFD6, - 21533 - 19968: 0xD7F0, - 21535 - 19968: 0xEBE1, - 21536 - 19968: 0xF8C5, - 21542 - 19968: 0xDCFA, - 21545 - 19968: 0xDDC3, - 21547 - 19968: 0xF9DF, - 21555 - 19968: 0xE7EF, - 21560 - 19968: 0xFDE5, - 21561 - 19968: 0xF6A3, - 21563 - 19968: 0xD9FC, - 21564 - 19968: 0xFDA9, - 21566 - 19968: 0xE7EE, - 21570 - 19968: 0xD5E5, - 21576 - 19968: 0xEFD0, - 21578 - 19968: 0xCDB1, - 21585 - 19968: 0xF7A2, - 21608 - 19968: 0xF1B2, - 21610 - 19968: 0xF1B1, - 21617 - 19968: 0xCDB2, - 21619 - 19968: 0xDAAB, - 21621 - 19968: 0xCAA7, - 21627 - 19968: 0xE3E2, - 21628 - 19968: 0xFBBC, - 21629 - 19968: 0xD9A4, - 21632 - 19968: 0xEEBA, - 21638 - 19968: 0xF8D3, - 21644 - 19968: 0xFBFA, - 21646 - 19968: 0xCFA4, - 21648 - 19968: 0xDCFB, - 21668 - 19968: 0xF6E3, - 21672 - 19968: 0xEDAA, - 21675 - 19968: 0xF2A1, - 21676 - 19968: 0xCEE1, - 21683 - 19968: 0xFAA6, - 21688 - 19968: 0xF9E0, - 21693 - 19968: 0xECD6, - 21696 - 19968: 0xE4EE, - 21697 - 19968: 0xF9A1, - 21700 - 19968: 0xFBEF, - 21704 - 19968: 0xF9EB, - 21705 - 19968: 0xEEA3, - 21729 - 19968: 0xEAAC, - 21733 - 19968: 0xCAA8, - 21736 - 19968: 0xF4FA, - 21741 - 19968: 0xCDD6, - 21742 - 19968: 0xFCF6, - 21746 - 19968: 0xF4C9, - 21754 - 19968: 0xF8D4, - 21764 - 19968: 0xF8A6, - 21766 - 19968: 0xDECA, - 21767 - 19968: 0xF2C6, - 21774 - 19968: 0xD7DA, - 21776 - 19968: 0xD3D0, - 21788 - 19968: 0xD8C5, - 21807 - 19968: 0xEAE6, - 21809 - 19968: 0xF3DD, - 21813 - 19968: 0xE4DA, - 21822 - 19968: 0xF6E4, - 21828 - 19968: 0xF6F2, - 21830 - 19968: 0xDFC2, - 21839 - 19968: 0xD9FD, - 21843 - 19968: 0xCCF6, - 21846 - 19968: 0xD3BA, - 21854 - 19968: 0xE4AF, - 21859 - 19968: 0xF9E1, - 21884 - 19968: 0xF0A6, - 21888 - 19968: 0xCBD3, - 21892 - 19968: 0xE0BC, - 21894 - 19968: 0xF4CA, - 21895 - 19968: 0xD4FA, - 21897 - 19968: 0xFDAA, - 21898 - 19968: 0xF9E2, - 21912 - 19968: 0xF4B7, - 21913 - 19968: 0xFDC2, - 21914 - 19968: 0xFCB0, - 21916 - 19968: 0xFDEC, - 21917 - 19968: 0xCAE2, - 21927 - 19968: 0xFDBD, - 21929 - 19968: 0xEAE7, - 21930 - 19968: 0xDFC3, - 21931 - 19968: 0xD1D2, - 21932 - 19968: 0xCEE2, - 21934 - 19968: 0xD3A4, - 21957 - 19968: 0xFDAB, - 21959 - 19968: 0xDFE0, - 21972 - 19968: 0xF2C7, - 21978 - 19968: 0xE7F0, - 21980 - 19968: 0xD0EE, - 21983 - 19968: 0xF3AA, - 21987 - 19968: 0xDECB, - 21988 - 19968: 0xF6B8, - 22013 - 19968: 0xE1F5, - 22014 - 19968: 0xF1B3, - 22022 - 19968: 0xF7A3, - 22025 - 19968: 0xCAA9, - 22036 - 19968: 0xCFA5, - 22039 - 19968: 0xDFC4, - 22063 - 19968: 0xE1B0, - 22066 - 19968: 0xF0BF, - 22068 - 19968: 0xF6A4, - 22070 - 19968: 0xE3B6, - 22099 - 19968: 0xFAC6, - 22120 - 19968: 0xD0EF, - 22123 - 19968: 0xFDED, - 22132 - 19968: 0xDDC4, - 22150 - 19968: 0xFCF7, - 22181 - 19968: 0xE6BF, - 22188 - 19968: 0xDEAD, - 22190 - 19968: 0xFABF, - 22196 - 19968: 0xE5F1, - 22204 - 19968: 0xEDC4, - 22218 - 19968: 0xD2A5, - 22221 - 19968: 0xFDEE, - 22225 - 19968: 0xF5B6, - 22234 - 19968: 0xE1F6, - 22235 - 19968: 0xDECC, - 22238 - 19968: 0xFCDE, - 22240 - 19968: 0xECD7, - 22256 - 19968: 0xCDDD, - 22265 - 19968: 0xD6B7, - 22266 - 19968: 0xCDB3, - 22275 - 19968: 0xF8D5, - 22276 - 19968: 0xE5D8, - 22280 - 19968: 0xCFEA, - 22283 - 19968: 0xCFD0, - 22285 - 19968: 0xEACC, - 22290 - 19968: 0xEAAE, - 22291 - 19968: 0xEAAD, - 22294 - 19968: 0xD3F1, - 22296 - 19968: 0xD3A5, - 22303 - 19968: 0xF7CF, - 22312 - 19968: 0xEEA4, - 22317 - 19968: 0xD0A4, - 22320 - 19968: 0xF2A2, - 22331 - 19968: 0xD0F0, - 22336 - 19968: 0xF2A3, - 22338 - 19968: 0xF7F8, - 22343 - 19968: 0xD0B3, - 22346 - 19968: 0xDBA9, - 22349 - 19968: 0xD3BB, - 22350 - 19968: 0xCAEC, - 22352 - 19968: 0xF1A6, - 22353 - 19968: 0xCBD5, - 22369 - 19968: 0xF7E7, - 22372 - 19968: 0xCDDE, - 22374 - 19968: 0xF7A4, - 22378 - 19968: 0xF8C0, - 22382 - 19968: 0xD3DD, - 22384 - 19968: 0xCCD0, - 22389 - 19968: 0xCFA6, - 22396 - 19968: 0xF6F3, - 22402 - 19968: 0xE1F7, - 22408 - 19968: 0xD3DC, - 22411 - 19968: 0xFAFE, - 22419 - 19968: 0xFAA7, - 22432 - 19968: 0xEBD9, - 22434 - 19968: 0xCFA7, - 22435 - 19968: 0xEAAF, - 22467 - 19968: 0xE4EF, - 22471 - 19968: 0xE9B9, - 22472 - 19968: 0xF1D8, - 22475 - 19968: 0xD8D8, - 22478 - 19968: 0xE0F2, - 22495 - 19968: 0xE6B4, - 22496 - 19968: 0xDCFC, - 22512 - 19968: 0xF3F1, - 22516 - 19968: 0xE3D0, - 22519 - 19968: 0xF2FB, - 22521 - 19968: 0xDBC6, - 22522 - 19968: 0xD0F1, - 22524 - 19968: 0xD0F2, - 22528 - 19968: 0xCFDC, - 22530 - 19968: 0xD3D1, - 22533 - 19968: 0xCCB1, - 22534 - 19968: 0xF7D8, - 22536 - 19968: 0xCBA8, - 22537 - 19968: 0xEBBC, - 22538 - 19968: 0xE4BE, - 22558 - 19968: 0xF4DC, - 22561 - 19968: 0xDCC2, - 22564 - 19968: 0xF0A7, - 22567 - 19968: 0xE6C0, - 22570 - 19968: 0xCAED, - 22575 - 19968: 0xE8EB, - 22576 - 19968: 0xE5E8, - 22577 - 19968: 0xDCC3, - 22580 - 19968: 0xEDDE, - 22581 - 19968: 0xD3F2, - 22586 - 19968: 0xCCF7, - 22602 - 19968: 0xCED4, - 22603 - 19968: 0xE7AB, - 22607 - 19968: 0xCBC3, - 22609 - 19968: 0xE1B1, - 22612 - 19968: 0xF7B2, - 22615 - 19968: 0xD3F3, - 22616 - 19968: 0xD3D2, - 22618 - 19968: 0xF5C0, - 22622 - 19968: 0xDFDD, - 22625 - 19968: 0xEEF3, - 22626 - 19968: 0xE7F1, - 22628 - 19968: 0xFDB4, - 22645 - 19968: 0xF2C8, - 22649 - 19968: 0xF3D2, - 22652 - 19968: 0xEEF4, - 22654 - 19968: 0xE2D3, - 22659 - 19968: 0xCCD1, - 22661 - 19968: 0xDFEA, - 22665 - 19968: 0xE9BA, - 22675 - 19968: 0xD9D7, - 22684 - 19968: 0xF5CD, - 22686 - 19968: 0xF1F2, - 22687 - 19968: 0xFAC7, - 22696 - 19968: 0xD9F8, - 22697 - 19968: 0xD4C2, - 22702 - 19968: 0xF6E5, - 22707 - 19968: 0xDDC5, - 22714 - 19968: 0xE7F2, - 22715 - 19968: 0xEDDF, - 22718 - 19968: 0xCACB, - 22721 - 19968: 0xDBFA, - 22725 - 19968: 0xE8B5, - 22727 - 19968: 0xD3A6, - 22734 - 19968: 0xFDB5, - 22737 - 19968: 0xF9C9, - 22739 - 19968: 0xE4E2, - 22741 - 19968: 0xFBBD, - 22744 - 19968: 0xD7A4, - 22745 - 19968: 0xCEC5, - 22750 - 19968: 0xCED5, - 22751 - 19968: 0xD6E6, - 22756 - 19968: 0xE5BD, - 22763 - 19968: 0xDECD, - 22764 - 19968: 0xECF3, - 22767 - 19968: 0xEDE0, - 22777 - 19968: 0xECEC, - 22778 - 19968: 0xFBBE, - 22779 - 19968: 0xDFEB, - 22781 - 19968: 0xE1F8, - 22799 - 19968: 0xF9BE, - 22804 - 19968: 0xD0F3, - 22805 - 19968: 0xE0AA, - 22806 - 19968: 0xE8E2, - 22809 - 19968: 0xE2D4, - 22810 - 19968: 0xD2FD, - 22812 - 19968: 0xE5A8, - 22818 - 19968: 0xD9D3, - 22823 - 19968: 0xD3DE, - 22825 - 19968: 0xF4B8, - 22826 - 19968: 0xF7BC, - 22827 - 19968: 0xDCFD, - 22829 - 19968: 0xE8EC, - 22830 - 19968: 0xE4E7, - 22833 - 19968: 0xE3F7, - 22839 - 19968: 0xECA8, - 22846 - 19968: 0xFAF1, - 22852 - 19968: 0xE5F2, - 22855 - 19968: 0xD0F4, - 22856 - 19968: 0xD2AF, - 22857 - 19968: 0xDCE5, - 22862 - 19968: 0xD0A5, - 22863 - 19968: 0xF1B4, - 22864 - 19968: 0xFCB1, - 22865 - 19968: 0xCCF8, - 22868 - 19968: 0xDDC6, - 22869 - 19968: 0xFAD1, - 22871 - 19968: 0xF7DF, - 22874 - 19968: 0xFAA8, - 22880 - 19968: 0xEEF5, - 22882 - 19968: 0xDECE, - 22887 - 19968: 0xE7F3, - 22890 - 19968: 0xF7AC, - 22891 - 19968: 0xEBC4, - 22892 - 19968: 0xEDE1, - 22893 - 19968: 0xE0AB, - 22894 - 19968: 0xDDC7, - 22899 - 19968: 0xD2B3, - 22900 - 19968: 0xD2BF, - 22904 - 19968: 0xCACC, - 22909 - 19968: 0xFBBF, - 22914 - 19968: 0xE5FD, - 22915 - 19968: 0xDDE5, - 22916 - 19968: 0xD8CD, - 22922 - 19968: 0xECF4, - 22931 - 19968: 0xD0F5, - 22934 - 19968: 0xE8ED, - 22935 - 19968: 0xD0D2, - 22937 - 19968: 0xD9D8, - 22949 - 19968: 0xF6E6, - 22952 - 19968: 0xDBAA, - 22956 - 19968: 0xF7E0, - 22969 - 19968: 0xD8D9, - 22971 - 19968: 0xF4A3, - 22974 - 19968: 0xF4DD, - 22979 - 19968: 0xEFD1, - 22982 - 19968: 0xD9B5, - 22985 - 19968: 0xEDAB, - 22987 - 19968: 0xE3B7, - 22992 - 19968: 0xEEBB, - 22993 - 19968: 0xCDB4, - 22995 - 19968: 0xE0F3, - 22996 - 19968: 0xEACD, - 23001 - 19968: 0xECF5, - 23002 - 19968: 0xE8EE, - 23004 - 19968: 0xCBA9, - 23005 - 19968: 0xF1AF, - 23014 - 19968: 0xCACD, - 23016 - 19968: 0xECA9, - 23018 - 19968: 0xF2EB, - 23020 - 19968: 0xFDEF, - 23022 - 19968: 0xF9F3, - 23032 - 19968: 0xE6C1, - 23035 - 19968: 0xECD8, - 23039 - 19968: 0xEDAC, - 23041 - 19968: 0xEACE, - 23043 - 19968: 0xE8DF, - 23057 - 19968: 0xDECF, - 23064 - 19968: 0xD2A6, - 23067 - 19968: 0xE7F4, - 23068 - 19968: 0xD1D6, - 23071 - 19968: 0xE6C2, - 23072 - 19968: 0xE3E3, - 23077 - 19968: 0xE4B0, - 23081 - 19968: 0xD8B4, - 23094 - 19968: 0xF6A5, - 23100 - 19968: 0xF3DE, - 23105 - 19968: 0xD7A5, - 23110 - 19968: 0xF7E8, - 23113 - 19968: 0xE8C6, - 23130 - 19968: 0xFBE6, - 23138 - 19968: 0xDDE6, - 23142 - 19968: 0xDCFE, - 23186 - 19968: 0xD8DA, - 23194 - 19968: 0xDAAC, - 23195 - 19968: 0xEAB0, - 23204 - 19968: 0xE3B8, - 23233 - 19968: 0xCAAA, - 23234 - 19968: 0xE1F9, - 23236 - 19968: 0xEAB1, - 23241 - 19968: 0xF2EC, - 23244 - 19968: 0xFAEE, - 23265 - 19968: 0xEED5, - 23270 - 19968: 0xF9F4, - 23273 - 19968: 0xD2EC, - 23301 - 19968: 0xFBFB, - 23305 - 19968: 0xFDF0, - 23307 - 19968: 0xE0BD, - 23308 - 19968: 0xCEE3, - 23318 - 19968: 0xF8C6, - 23338 - 19968: 0xDEAE, - 23360 - 19968: 0xDFC5, - 23363 - 19968: 0xE5BE, - 23376 - 19968: 0xEDAD, - 23377 - 19968: 0xFAEA, - 23380 - 19968: 0xCDEE, - 23381 - 19968: 0xEDA6, - 23383 - 19968: 0xEDAE, - 23384 - 19968: 0xF0ED, - 23386 - 19968: 0xDDA1, - 23388 - 19968: 0xEDAF, - 23389 - 19968: 0xFCF8, - 23391 - 19968: 0xD8EB, - 23395 - 19968: 0xCCF9, - 23396 - 19968: 0xCDB5, - 23401 - 19968: 0xFAA9, - 23403 - 19968: 0xE1DD, - 23408 - 19968: 0xE2D5, - 23409 - 19968: 0xEDCF, - 23413 - 19968: 0xDDA2, - 23416 - 19968: 0xF9CA, - 23418 - 19968: 0xEAE8, - 23420 - 19968: 0xE5ED, - 23429 - 19968: 0xD3EB, - 23431 - 19968: 0xE9D4, - 23432 - 19968: 0xE1FA, - 23433 - 19968: 0xE4CC, - 23435 - 19968: 0xE1E4, - 23436 - 19968: 0xE8C7, - 23439 - 19968: 0xCEDB, - 23443 - 19968: 0xDCD5, - 23445 - 19968: 0xF7B5, - 23446 - 19968: 0xFCF3, - 23447 - 19968: 0xF0F3, - 23448 - 19968: 0xCEAF, - 23449 - 19968: 0xF1B5, - 23450 - 19968: 0xEFD2, - 23451 - 19968: 0xE8C8, - 23452 - 19968: 0xEBF1, - 23458 - 19968: 0xCBD4, - 23459 - 19968: 0xE0BE, - 23460 - 19968: 0xE3F8, - 23461 - 19968: 0xEAE9, - 23462 - 19968: 0xFCB2, - 23468 - 19968: 0xE0F4, - 23470 - 19968: 0xCFE0, - 23472 - 19968: 0xEEA5, - 23475 - 19968: 0xFAAA, - 23476 - 19968: 0xE6C3, - 23477 - 19968: 0xE1B2, - 23478 - 19968: 0xCAAB, - 23480 - 19968: 0xE3E4, - 23481 - 19968: 0xE9BB, - 23487 - 19968: 0xE2D6, - 23488 - 19968: 0xF3F2, - 23490 - 19968: 0xEED6, - 23491 - 19968: 0xEAB2, - 23492 - 19968: 0xD0F6, - 23493 - 19968: 0xECD9, - 23494 - 19968: 0xDACB, - 23495 - 19968: 0xCFA8, - 23500 - 19968: 0xDDA3, - 23504 - 19968: 0xD8DB, - 23506 - 19968: 0xF9CE, - 23507 - 19968: 0xE9D5, - 23508 - 19968: 0xE3D1, - 23511 - 19968: 0xD2BC, - 23518 - 19968: 0xD8AC, - 23519 - 19968: 0xF3CC, - 23521 - 19968: 0xCDFB, - 23522 - 19968: 0xF6D6, - 23524 - 19968: 0xE7F5, - 23525 - 19968: 0xE8EF, - 23526 - 19968: 0xE3F9, - 23527 - 19968: 0xD2BB, - 23528 - 19968: 0xF3F3, - 23529 - 19968: 0xE3FB, - 23531 - 19968: 0xDED0, - 23532 - 19968: 0xCEB0, - 23534 - 19968: 0xD6F7, - 23535 - 19968: 0xF1D9, - 23541 - 19968: 0xF5C1, - 23542 - 19968: 0xDCC4, - 23544 - 19968: 0xF5BB, - 23546 - 19968: 0xDED1, - 23553 - 19968: 0xDCE6, - 23556 - 19968: 0xDED2, - 23559 - 19968: 0xEDE2, - 23560 - 19968: 0xEEF6, - 23561 - 19968: 0xEACF, - 23562 - 19968: 0xF0EE, - 23563 - 19968: 0xE3FC, - 23565 - 19968: 0xD3DF, - 23566 - 19968: 0xD3F4, - 23567 - 19968: 0xE1B3, - 23569 - 19968: 0xE1B4, - 23574 - 19968: 0xF4D3, - 23577 - 19968: 0xDFC6, - 23588 - 19968: 0xE9D6, - 23592 - 19968: 0xDBAB, - 23601 - 19968: 0xF6A6, - 23608 - 19968: 0xE3B9, - 23609 - 19968: 0xEBC5, - 23610 - 19968: 0xF4A9, - 23611 - 19968: 0xCDB6, - 23612 - 19968: 0xD2F9, - 23614 - 19968: 0xDAAD, - 23615 - 19968: 0xD2E3, - 23616 - 19968: 0xCFD1, - 23621 - 19968: 0xCBDC, - 23622 - 19968: 0xCCFA, - 23624 - 19968: 0xCFDD, - 23627 - 19968: 0xE8A9, - 23629 - 19968: 0xE3BB, - 23630 - 19968: 0xE3BA, - 23633 - 19968: 0xE0DA, - 23637 - 19968: 0xEEF7, - 23643 - 19968: 0xDCB3, - 23648 - 19968: 0xD3F5, - 23650 - 19968: 0xD7A6, - 23652 - 19968: 0xF6B5, - 23653 - 19968: 0xD7DB, - 23660 - 19968: 0xE1D5, - 23663 - 19968: 0xD4EA, - 23665 - 19968: 0xDFA3, - 23673 - 19968: 0xFDDF, - 23696 - 19968: 0xD0F7, - 23697 - 19968: 0xEDD4, - 23713 - 19968: 0xCBAA, - 23721 - 19968: 0xE4DB, - 23723 - 19968: 0xE1FB, - 23724 - 19968: 0xCBA2, - 23729 - 19968: 0xD3E0, - 23731 - 19968: 0xE4BF, - 23733 - 19968: 0xFBC0, - 23735 - 19968: 0xDABE, - 23736 - 19968: 0xE4CD, - 23738 - 19968: 0xD6B9, - 23742 - 19968: 0xEFC0, - 23744 - 19968: 0xE1FC, - 23769 - 19968: 0xF6B9, - 23776 - 19968: 0xDFC7, - 23784 - 19968: 0xE4B1, - 23791 - 19968: 0xDCE7, - 23792 - 19968: 0xDCE8, - 23796 - 19968: 0xFAD6, - 23798 - 19968: 0xD3F6, - 23803 - 19968: 0xF1DA, - 23805 - 19968: 0xFAF2, - 23815 - 19968: 0xE2FD, - 23821 - 19968: 0xD5CF, - 23822 - 19968: 0xD0F8, - 23825 - 19968: 0xCDDF, - 23828 - 19968: 0xF5CB, - 23830 - 19968: 0xE4F0, - 23831 - 19968: 0xCBAB, - 23833 - 19968: 0xD7C4, - 23847 - 19968: 0xE2FE, - 23849 - 19968: 0xDDDA, - 23883 - 19968: 0xDAAE, - 23884 - 19968: 0xCAEE, - 23888 - 19968: 0xD5B9, - 23913 - 19968: 0xE3A1, - 23916 - 19968: 0xE8E3, - 23919 - 19968: 0xF3AB, - 23943 - 19968: 0xCFA9, - 23947 - 19968: 0xD3F7, - 23965 - 19968: 0xD4F1, - 23968 - 19968: 0xCEE4, - 23970 - 19968: 0xE8F2, - 23978 - 19968: 0xE5F5, - 23992 - 19968: 0xE7AE, - 23994 - 19968: 0xD6BA, - 23996 - 19968: 0xDFEC, - 23997 - 19968: 0xE4C0, - 24013 - 19968: 0xE8E4, - 24018 - 19968: 0xD8B5, - 24022 - 19968: 0xE4DC, - 24029 - 19968: 0xF4B9, - 24030 - 19968: 0xF1B6, - 24033 - 19968: 0xE2DE, - 24034 - 19968: 0xE1B5, - 24037 - 19968: 0xCDEF, - 24038 - 19968: 0xF1A7, - 24039 - 19968: 0xCEE5, - 24040 - 19968: 0xCBDD, - 24043 - 19968: 0xD9E3, - 24046 - 19968: 0xF3AC, - 24049 - 19968: 0xD0F9, - 24050 - 19968: 0xECAB, - 24051 - 19968: 0xDED3, - 24052 - 19968: 0xF7E9, - 24055 - 19968: 0xF9F5, - 24061 - 19968: 0xE1DE, - 24062 - 19968: 0xCBEE, - 24066 - 19968: 0xE3BC, - 24067 - 19968: 0xF8D6, - 24070 - 19968: 0xDBEE, - 24076 - 19968: 0xFDF1, - 24081 - 19968: 0xF7B6, - 24086 - 19968: 0xF4DE, - 24089 - 19968: 0xF2ED, - 24091 - 19968: 0xDBD9, - 24093 - 19968: 0xF0A8, - 24101 - 19968: 0xE1FD, - 24107 - 19968: 0xDED4, - 24109 - 19968: 0xE0AC, - 24115 - 19968: 0xEDE3, - 24118 - 19968: 0xD3E1, - 24120 - 19968: 0xDFC8, - 24125 - 19968: 0xD9B6, - 24127 - 19968: 0xFDAC, - 24128 - 19968: 0xEFD3, - 24132 - 19968: 0xE4C1, - 24133 - 19968: 0xF8EB, - 24135 - 19968: 0xDBAC, - 24140 - 19968: 0xFCC6, - 24149 - 19968: 0xD8AD, - 24159 - 19968: 0xF6BA, - 24161 - 19968: 0xDBDF, - 24162 - 19968: 0xD3D3, - 24163 - 19968: 0xF8C7, - 24178 - 19968: 0xCACE, - 24179 - 19968: 0xF8C1, - 24180 - 19968: 0xD2B4, - 24183 - 19968: 0xDCB4, - 24184 - 19968: 0xFAB9, - 24185 - 19968: 0xCACF, - 24187 - 19968: 0xFCB3, - 24188 - 19968: 0xEAEA, - 24189 - 19968: 0xEAEB, - 24190 - 19968: 0xD0FA, - 24196 - 19968: 0xEDE4, - 24199 - 19968: 0xDDE7, - 24202 - 19968: 0xDFC9, - 24207 - 19968: 0xDFED, - 24213 - 19968: 0xEEBC, - 24215 - 19968: 0xEFC1, - 24218 - 19968: 0xCCD2, - 24220 - 19968: 0xDDA4, - 24224 - 19968: 0xDFCA, - 24230 - 19968: 0xD3F8, - 24231 - 19968: 0xF1A8, - 24235 - 19968: 0xCDB7, - 24237 - 19968: 0xEFD4, - 24245 - 19968: 0xE4DD, - 24246 - 19968: 0xDFEE, - 24247 - 19968: 0xCBAC, - 24248 - 19968: 0xE9BC, - 24254 - 19968: 0xEAEC, - 24258 - 19968: 0xDFCB, - 24264 - 19968: 0xF9BF, - 24265 - 19968: 0xD6AF, - 24266 - 19968: 0xD5C6, - 24272 - 19968: 0xCFAA, - 24275 - 19968: 0xCEA9, - 24278 - 19968: 0xD6F8, - 24282 - 19968: 0xF1B7, - 24283 - 19968: 0xEEF8, - 24287 - 19968: 0xD9D9, - 24288 - 19968: 0xF3DF, - 24290 - 19968: 0xF8C8, - 24291 - 19968: 0xCEC6, - 24300 - 19968: 0xD5E6, - 24307 - 19968: 0xF4E6, - 24310 - 19968: 0xE6C5, - 24311 - 19968: 0xEFD5, - 24314 - 19968: 0xCBEF, - 24315 - 19968: 0xFCDF, - 24321 - 19968: 0xDCA7, - 24324 - 19968: 0xD6E7, - 24330 - 19968: 0xF8C9, - 24335 - 19968: 0xE3D2, - 24337 - 19968: 0xE3BD, - 24339 - 19968: 0xCFE1, - 24340 - 19968: 0xF0C0, - 24341 - 19968: 0xECDA, - 24343 - 19968: 0xDDD7, - 24344 - 19968: 0xFBF0, - 24347 - 19968: 0xECAC, - 24351 - 19968: 0xF0A9, - 24358 - 19968: 0xFAD7, - 24359 - 19968: 0xFBC1, - 24361 - 19968: 0xD2C0, - 24369 - 19968: 0xE5B0, - 24373 - 19968: 0xEDE5, - 24378 - 19968: 0xCBAD, - 24380 - 19968: 0xF9B0, - 24392 - 19968: 0xF7A5, - 24394 - 19968: 0xCBAE, - 24396 - 19968: 0xDAAF, - 24398 - 19968: 0xD8B6, - 24406 - 19968: 0xD3A7, - 24407 - 19968: 0xFBB2, - 24409 - 19968: 0xFDC4, - 24411 - 19968: 0xECAD, - 24418 - 19968: 0xFBA1, - 24422 - 19968: 0xE5E9, - 24423 - 19968: 0xE9EE, - 24425 - 19968: 0xF3F4, - 24426 - 19968: 0xF8F3, - 24427 - 19968: 0xF0C1, - 24428 - 19968: 0xDEAF, - 24429 - 19968: 0xF8B0, - 24432 - 19968: 0xF3E0, - 24433 - 19968: 0xE7AF, - 24439 - 19968: 0xDBAD, - 24441 - 19968: 0xE6B5, - 24444 - 19968: 0xF9A8, - 24447 - 19968: 0xDDD8, - 24448 - 19968: 0xE8D9, - 24449 - 19968: 0xEFD6, - 24453 - 19968: 0xD3E2, - 24455 - 19968: 0xE2DF, - 24458 - 19968: 0xFCE0, - 24459 - 19968: 0xD7C8, - 24460 - 19968: 0xFDAD, - 24464 - 19968: 0xDFEF, - 24465 - 19968: 0xCCD3, - 24466 - 19968: 0xD3F9, - 24471 - 19968: 0xD4F0, - 24472 - 19968: 0xDBC7, - 24473 - 19968: 0xDED5, - 24478 - 19968: 0xF0F4, - 24480 - 19968: 0xD5D0, - 24481 - 19968: 0xE5D9, - 24488 - 19968: 0xFCC7, - 24489 - 19968: 0xDCD6, - 24490 - 19968: 0xE2E0, - 24494 - 19968: 0xDAB0, - 24501 - 19968: 0xF3A3, - 24503 - 19968: 0xD3EC, - 24505 - 19968: 0xF4CB, - 24509 - 19968: 0xFDC5, - 24515 - 19968: 0xE3FD, - 24517 - 19968: 0xF9B1, - 24524 - 19968: 0xD0FB, - 24525 - 19968: 0xECDB, - 24534 - 19968: 0xF5BC, - 24535 - 19968: 0xF2A4, - 24536 - 19968: 0xD8CE, - 24537 - 19968: 0xD8CF, - 24544 - 19968: 0xF5F7, - 24555 - 19968: 0xF6E1, - 24565 - 19968: 0xD2B7, - 24573 - 19968: 0xFBEC, - 24575 - 19968: 0xDDC8, - 24591 - 19968: 0xE4E8, - 24594 - 19968: 0xD2C1, - 24598 - 19968: 0xF8D7, - 24604 - 19968: 0xD6BB, - 24605 - 19968: 0xDED6, - 24608 - 19968: 0xF7BD, - 24609 - 19968: 0xECAE, - 24613 - 19968: 0xD0E1, - 24615 - 19968: 0xE0F5, - 24616 - 19968: 0xEAB3, - 24618 - 19968: 0xCED6, - 24623 - 19968: 0xCCA5, - 24641 - 19968: 0xECF6, - 24642 - 19968: 0xE2E1, - 24643 - 19968: 0xE3BE, - 24653 - 19968: 0xFCC8, - 24656 - 19968: 0xCDF0, - 24658 - 19968: 0xF9F6, - 24661 - 19968: 0xDFF0, - 24665 - 19968: 0xE5BF, - 24669 - 19968: 0xCEBF, - 24674 - 19968: 0xFCE1, - 24675 - 19968: 0xEDB0, - 24676 - 19968: 0xFDD1, - 24677 - 19968: 0xF6BB, - 24680 - 19968: 0xF9CF, - 24681 - 19968: 0xEBDA, - 24682 - 19968: 0xCAC1, - 24684 - 19968: 0xD2B8, - 24685 - 19968: 0xCDF1, - 24687 - 19968: 0xE3D3, - 24688 - 19968: 0xFDE6, - 24709 - 19968: 0xE6ED, - 24713 - 19968: 0xE3FA, - 24716 - 19968: 0xF0AA, - 24717 - 19968: 0xF9D0, - 24724 - 19968: 0xFCE2, - 24726 - 19968: 0xF8A7, - 24730 - 19968: 0xE1E5, - 24731 - 19968: 0xEEF9, - 24735 - 19968: 0xE7F6, - 24736 - 19968: 0xEAED, - 24739 - 19968: 0xFCB4, - 24740 - 19968: 0xF5C2, - 24743 - 19968: 0xD7DC, - 24752 - 19968: 0xF0F5, - 24754 - 19968: 0xDDE8, - 24755 - 19968: 0xD3ED, - 24756 - 19968: 0xF5FC, - 24758 - 19968: 0xDABF, - 24760 - 19968: 0xCCFB, - 24764 - 19968: 0xD3FA, - 24765 - 19968: 0xF4A4, - 24773 - 19968: 0xEFD7, - 24775 - 19968: 0xD4C3, - 24785 - 19968: 0xFBE3, - 24794 - 19968: 0xFBED, - 24796 - 19968: 0xE0AD, - 24799 - 19968: 0xEAEE, - 24800 - 19968: 0xFBB3, - 24801 - 19968: 0xE4C2, - 24816 - 19968: 0xF6E7, - 24817 - 19968: 0xD2DD, - 24819 - 19968: 0xDFCC, - 24822 - 19968: 0xFCC9, - 24825 - 19968: 0xE5A9, - 24826 - 19968: 0xE0F6, - 24827 - 19968: 0xF6B3, - 24833 - 19968: 0xE1FE, - 24838 - 19968: 0xCBF0, - 24840 - 19968: 0xEAEF, - 24841 - 19968: 0xEAF0, - 24845 - 19968: 0xDAC0, - 24846 - 19968: 0xF8B4, - 24847 - 19968: 0xEBF2, - 24853 - 19968: 0xE4C3, - 24858 - 19968: 0xE9D7, - 24859 - 19968: 0xE4F1, - 24863 - 19968: 0xCAEF, - 24871 - 19968: 0xCED7, - 24880 - 19968: 0xFCCA, - 24884 - 19968: 0xF3E1, - 24887 - 19968: 0xCBC4, - 24892 - 19968: 0xE3E5, - 24894 - 19968: 0xCBC5, - 24895 - 19968: 0xEAB4, - 24898 - 19968: 0xE9BD, - 24900 - 19968: 0xD7C9, - 24903 - 19968: 0xEBDB, - 24904 - 19968: 0xEDB1, - 24906 - 19968: 0xCCC3, - 24907 - 19968: 0xF7BE, - 24908 - 19968: 0xFCCB, - 24915 - 19968: 0xF8F4, - 24917 - 19968: 0xD9B7, - 24920 - 19968: 0xF3D3, - 24921 - 19968: 0xF3D4, - 24925 - 19968: 0xF7E4, - 24927 - 19968: 0xF7D1, - 24930 - 19968: 0xD8B7, - 24931 - 19968: 0xCEB1, - 24932 - 19968: 0xCAC2, - 24935 - 19968: 0xFBB4, - 24936 - 19968: 0xCBC6, - 24939 - 19968: 0xF0F6, - 24942 - 19968: 0xD5E7, - 24944 - 19968: 0xEAD0, - 24950 - 19968: 0xCCD4, - 24951 - 19968: 0xCBAF, - 24957 - 19968: 0xF4AA, - 24958 - 19968: 0xE9AF, - 24961 - 19968: 0xF5C3, - 24962 - 19968: 0xE9D8, - 24970 - 19968: 0xDDE9, - 24974 - 19968: 0xF1F3, - 24976 - 19968: 0xD5FB, - 24977 - 19968: 0xDEBB, - 24980 - 19968: 0xF4FB, - 24984 - 19968: 0xFDF3, - 24985 - 19968: 0xFDF2, - 24986 - 19968: 0xF7A6, - 24996 - 19968: 0xDDC9, - 24999 - 19968: 0xD4D3, - 25001 - 19968: 0xCCA8, - 25003 - 19968: 0xDAC1, - 25004 - 19968: 0xCCD5, - 25006 - 19968: 0xD9E4, - 25010 - 19968: 0xFACA, - 25014 - 19968: 0xE5E3, - 25018 - 19968: 0xD3BC, - 25022 - 19968: 0xCAF0, - 25027 - 19968: 0xD0C4, - 25031 - 19968: 0xCAD0, - 25032 - 19968: 0xFAAB, - 25033 - 19968: 0xEBEB, - 25034 - 19968: 0xE7F8, - 25035 - 19968: 0xD9E5, - 25062 - 19968: 0xD1D7, - 25074 - 19968: 0xF3A4, - 25078 - 19968: 0xD4FB, - 25079 - 19968: 0xFCE3, - 25080 - 19968: 0xFAD8, - 25082 - 19968: 0xF3D5, - 25084 - 19968: 0xCFAB, - 25087 - 19968: 0xEBF3, - 25088 - 19968: 0xD5FC, - 25095 - 19968: 0xD3D4, - 25096 - 19968: 0xCDFC, - 25098 - 19968: 0xD9E6, - 25100 - 19968: 0xE2F9, - 25101 - 19968: 0xE2A1, - 25102 - 19968: 0xEBD4, - 25104 - 19968: 0xE0F7, - 25105 - 19968: 0xE4B2, - 25106 - 19968: 0xCCFC, - 25110 - 19968: 0xFBE4, - 25114 - 19968: 0xF4AB, - 25119 - 19968: 0xD0BD, - 25121 - 19968: 0xCAF1, - 25130 - 19968: 0xEFB8, - 25134 - 19968: 0xD7C0, - 25136 - 19968: 0xEEFA, - 25137 - 19968: 0xFDF4, - 25140 - 19968: 0xD3E3, - 25142 - 19968: 0xFBC2, - 25150 - 19968: 0xD5E8, - 25151 - 19968: 0xDBAE, - 25152 - 19968: 0xE1B6, - 25153 - 19968: 0xF8B7, - 25159 - 19968: 0xE0BF, - 25160 - 19968: 0xFBC3, - 25161 - 19968: 0xDDEA, - 25163 - 19968: 0xE2A2, - 25165 - 19968: 0xEEA6, - 25171 - 19968: 0xF6E8, - 25176 - 19968: 0xF6F5, - 25198 - 19968: 0xDDCA, - 25201 - 19968: 0xD0E2, - 25206 - 19968: 0xDDA6, - 25209 - 19968: 0xDDEB, - 25212 - 19968: 0xE4F9, - 25215 - 19968: 0xE3AF, - 25216 - 19968: 0xD0FC, - 25220 - 19968: 0xF4FC, - 25225 - 19968: 0xCCBC, - 25226 - 19968: 0xF7EA, - 25233 - 19968: 0xE5E4, - 25234 - 19968: 0xDFF1, - 25237 - 19968: 0xF7E1, - 25239 - 19968: 0xF9F7, - 25240 - 19968: 0xEFB9, - 25243 - 19968: 0xF8D8, - 25259 - 19968: 0xF9A9, - 25265 - 19968: 0xF8D9, - 25269 - 19968: 0xEEBD, - 25273 - 19968: 0xD8C6, - 25276 - 19968: 0xE4E3, - 25277 - 19968: 0xF5CE, - 25282 - 19968: 0xDDD9, - 25287 - 19968: 0xD9E7, - 25288 - 19968: 0xD2B9, - 25289 - 19968: 0xD5C3, - 25292 - 19968: 0xDAE5, - 25293 - 19968: 0xDAD0, - 25295 - 19968: 0xD1D9, - 25296 - 19968: 0xCED8, - 25298 - 19968: 0xCBDE, - 25299 - 19968: 0xF4AC, - 25300 - 19968: 0xDAFB, - 25302 - 19968: 0xF6E9, - 25303 - 19968: 0xE8F3, - 25304 - 19968: 0xCFAC, - 25305 - 19968: 0xF0F0, - 25307 - 19968: 0xF4FD, - 25308 - 19968: 0xDBC8, - 25324 - 19968: 0xCEC0, - 25325 - 19968: 0xE3D4, - 25326 - 19968: 0xD1CF, - 25327 - 19968: 0xF1F5, - 25329 - 19968: 0xCDF2, - 25331 - 19968: 0xCFEB, - 25335 - 19968: 0xCDB8, - 25342 - 19968: 0xE3A6, - 25343 - 19968: 0xD1DA, - 25345 - 19968: 0xF2A5, - 25351 - 19968: 0xF2A6, - 25353 - 19968: 0xE4CE, - 25361 - 19968: 0xD3FB, - 25387 - 19968: 0xF1A9, - 25391 - 19968: 0xF2C9, - 25402 - 19968: 0xEFD8, - 25403 - 19968: 0xE6C9, - 25405 - 19968: 0xD8B8, - 25406 - 19968: 0xFAF3, - 25417 - 19968: 0xF3B5, - 25420 - 19968: 0xF8A4, - 25423 - 19968: 0xD1F3, - 25424 - 19968: 0xE6C8, - 25429 - 19968: 0xF8DA, - 25447 - 19968: 0xDCE9, - 25448 - 19968: 0xDED7, - 25454 - 19968: 0xCBDF, - 25458 - 19968: 0xCFEC, - 25463 - 19968: 0xF4DF, - 25466 - 19968: 0xD1F4, - 25467 - 19968: 0xD2BA, - 25471 - 19968: 0xDFF2, - 25475 - 19968: 0xE1B7, - 25480 - 19968: 0xE2A3, - 25481 - 19968: 0xD3FC, - 25484 - 19968: 0xEDE6, - 25490 - 19968: 0xDBC9, - 25494 - 19968: 0xE4FA, - 25496 - 19968: 0xCFDE, - 25499 - 19968: 0xCED0, - 25504 - 19968: 0xD5D3, - 25505 - 19968: 0xF3F5, - 25506 - 19968: 0xF7AE, - 25509 - 19968: 0xEFC8, - 25511 - 19968: 0xCDF3, - 25512 - 19968: 0xF5CF, - 25513 - 19968: 0xE5F3, - 25514 - 19968: 0xF0C2, - 25536 - 19968: 0xCAD1, - 25540 - 19968: 0xEAF1, - 25542 - 19968: 0xD0A6, - 25551 - 19968: 0xD9DA, - 25552 - 19968: 0xF0AB, - 25558 - 19968: 0xEBE7, - 25562 - 19968: 0xE5C0, - 25563 - 19968: 0xFCB5, - 25569 - 19968: 0xE4C4, - 25581 - 19968: 0xCCA9, - 25582 - 19968: 0xFDC6, - 25588 - 19968: 0xEAB5, - 25590 - 19968: 0xE5AA, - 25591 - 19968: 0xDFBA, - 25613 - 19968: 0xE1DF, - 25615 - 19968: 0xDAD1, - 25620 - 19968: 0xE1B8, - 25622 - 19968: 0xE8F4, - 25623 - 19968: 0xD3FD, - 25628 - 19968: 0xE2A4, - 25634 - 19968: 0xF2CA, - 25644 - 19968: 0xDAE6, - 25645 - 19968: 0xF7B3, - 25658 - 19968: 0xFDCD, - 25662 - 19968: 0xF3B6, - 25688 - 19968: 0xEED7, - 25696 - 19968: 0xF5C4, - 25705 - 19968: 0xD8A4, - 25711 - 19968: 0xF2A7, - 25720 - 19968: 0xD9B8, - 25721 - 19968: 0xD9B9, - 25722 - 19968: 0xEFC9, - 25736 - 19968: 0xD6CE, - 25745 - 19968: 0xF7CB, - 25746 - 19968: 0xDFAE, - 25747 - 19968: 0xE8F5, - 25754 - 19968: 0xD2B5, - 25758 - 19968: 0xD3D5, - 25764 - 19968: 0xF4CC, - 25765 - 19968: 0xDAFC, - 25771 - 19968: 0xD9E8, - 25773 - 19968: 0xF7EB, - 25774 - 19968: 0xF5C9, - 25776 - 19968: 0xF3BC, - 25778 - 19968: 0xDAD2, - 25787 - 19968: 0xD3B5, - 25793 - 19968: 0xE8B6, - 25796 - 19968: 0xD6CF, - 25797 - 19968: 0xF4BA, - 25799 - 19968: 0xF7C9, - 25802 - 19968: 0xCCAA, - 25805 - 19968: 0xF0C3, - 25806 - 19968: 0xCCD6, - 25810 - 19968: 0xD0D3, - 25812 - 19968: 0xD3BD, - 25816 - 19968: 0xDBFB, - 25818 - 19968: 0xCBE0, - 25825 - 19968: 0xD3E4, - 25826 - 19968: 0xF6F7, - 25829 - 19968: 0xD5BA, - 25830 - 19968: 0xF3CD, - 25831 - 19968: 0xCBE1, - 25836 - 19968: 0xEBF4, - 25842 - 19968: 0xF4AD, - 25844 - 19968: 0xFCAA, - 25850 - 19968: 0xF7EC, - 25854 - 19968: 0xE8F6, - 25856 - 19968: 0xDAE7, - 25860 - 19968: 0xF7CC, - 25880 - 19968: 0xE5C1, - 25885 - 19968: 0xE0EE, - 25891 - 19968: 0xD5FD, - 25898 - 19968: 0xCEE6, - 25899 - 19968: 0xFCAB, - 25900 - 19968: 0xD5BB, - 25903 - 19968: 0xF2A8, - 25910 - 19968: 0xE2A5, - 25911 - 19968: 0xCDB9, - 25912 - 19968: 0xEAF2, - 25913 - 19968: 0xCBC7, - 25915 - 19968: 0xCDF4, - 25918 - 19968: 0xDBAF, - 25919 - 19968: 0xEFD9, - 25925 - 19968: 0xCDBA, - 25928 - 19968: 0xFCF9, - 25933 - 19968: 0xDFF3, - 25934 - 19968: 0xCEE7, - 25935 - 19968: 0xDAC2, - 25937 - 19968: 0xCFAD, - 25942 - 19968: 0xE7F9, - 25943 - 19968: 0xF8A8, - 25950 - 19968: 0xF3E2, - 25954 - 19968: 0xCAF2, - 25955 - 19968: 0xDFA4, - 25958 - 19968: 0xD4C4, - 25964 - 19968: 0xCCD7, - 25965 - 19968: 0xE5C2, - 25970 - 19968: 0xCDBB, - 25972 - 19968: 0xEFDA, - 25973 - 19968: 0xEED8, - 25975 - 19968: 0xDDA7, - 25976 - 19968: 0xE2A6, - 25982 - 19968: 0xE0C0, - 25986 - 19968: 0xD6B0, - 25987 - 19968: 0xF8CA, - 25989 - 19968: 0xFCFA, - 25991 - 19968: 0xD9FE, - 25996 - 19968: 0xDEB0, - 26000 - 19968: 0xDDEC, - 26001 - 19968: 0xDAE8, - 26007 - 19968: 0xD4E0, - 26009 - 19968: 0xD6F9, - 26011 - 19968: 0xCDD7, - 26012 - 19968: 0xDED8, - 26015 - 19968: 0xF2F8, - 26017 - 19968: 0xE4D6, - 26020 - 19968: 0xD0C5, - 26021 - 19968: 0xF4AE, - 26023 - 19968: 0xDDA8, - 26027 - 19968: 0xEDC5, - 26028 - 19968: 0xF3D6, - 26031 - 19968: 0xDED9, - 26032 - 19968: 0xE3E6, - 26039 - 19968: 0xD3A8, - 26041 - 19968: 0xDBB0, - 26044 - 19968: 0xE5DA, - 26045 - 19968: 0xE3BF, - 26049 - 19968: 0xDBB1, - 26053 - 19968: 0xD5E9, - 26059 - 19968: 0xE0C1, - 26060 - 19968: 0xEFDB, - 26063 - 19968: 0xF0E9, - 26066 - 19968: 0xD7B2, - 26071 - 19968: 0xD0FD, - 26080 - 19968: 0xD9E9, - 26083 - 19968: 0xD0FE, - 26085 - 19968: 0xECED, - 26086 - 19968: 0xD3A9, - 26088 - 19968: 0xF2A9, - 26089 - 19968: 0xF0C4, - 26092 - 19968: 0xE2E2, - 26093 - 19968: 0xE9EF, - 26097 - 19968: 0xF9D1, - 26100 - 19968: 0xE9D9, - 26106 - 19968: 0xE8DA, - 26107 - 19968: 0xDAC3, - 26108 - 19968: 0xDAC4, - 26109 - 19968: 0xD4C5, - 26111 - 19968: 0xE7FA, - 26118 - 19968: 0xCDE0, - 26119 - 19968: 0xE3B0, - 26121 - 19968: 0xDBB2, - 26122 - 19968: 0xFBC4, - 26124 - 19968: 0xF3E3, - 26126 - 19968: 0xD9A5, - 26127 - 19968: 0xFBE7, - 26128 - 19968: 0xDDCB, - 26129 - 19968: 0xD0D4, - 26131 - 19968: 0xE6B6, - 26132 - 19968: 0xE0AE, - 26133 - 19968: 0xFDDA, - 26142 - 19968: 0xDCB5, - 26143 - 19968: 0xE0F8, - 26144 - 19968: 0xE7B1, - 26149 - 19968: 0xF5F0, - 26151 - 19968: 0xD8DC, - 26152 - 19968: 0xEDC6, - 26157 - 19968: 0xE1B9, - 26159 - 19968: 0xE3C0, - 26160 - 19968: 0xF9C0, - 26161 - 19968: 0xE9F0, - 26164 - 19968: 0xD9DB, - 26166 - 19968: 0xF3E4, - 26170 - 19968: 0xDCB6, - 26171 - 19968: 0xE4E9, - 26177 - 19968: 0xF0C5, - 26178 - 19968: 0xE3C1, - 26179 - 19968: 0xFCCC, - 26180 - 19968: 0xFCCD, - 26185 - 19968: 0xF2CB, - 26187 - 19968: 0xF2CC, - 26191 - 19968: 0xE4CF, - 26201 - 19968: 0xF1DB, - 26203 - 19968: 0xFAD9, - 26205 - 19968: 0xF1B8, - 26206 - 19968: 0xFDF5, - 26207 - 19968: 0xE0F9, - 26212 - 19968: 0xE7FB, - 26213 - 19968: 0xFCB7, - 26214 - 19968: 0xFCE4, - 26215 - 19968: 0xFBC5, - 26216 - 19968: 0xE3E7, - 26217 - 19968: 0xD8B9, - 26219 - 19968: 0xF6F8, - 26222 - 19968: 0xDCC5, - 26223 - 19968: 0xCCD8, - 26227 - 19968: 0xE0AF, - 26228 - 19968: 0xF4E7, - 26230 - 19968: 0xEFDC, - 26231 - 19968: 0xCFFC, - 26232 - 19968: 0xEFDD, - 26234 - 19968: 0xF2AA, - 26244 - 19968: 0xFDBE, - 26247 - 19968: 0xCAAC, - 26248 - 19968: 0xFDBB, - 26249 - 19968: 0xFDC7, - 26254 - 19968: 0xE7B2, - 26256 - 19968: 0xEAD1, - 26257 - 19968: 0xDFF4, - 26262 - 19968: 0xD1EC, - 26263 - 19968: 0xE4DE, - 26264 - 19968: 0xE5C3, - 26269 - 19968: 0xD9A6, - 26272 - 19968: 0xCDBC, - 26274 - 19968: 0xF3E5, - 26283 - 19968: 0xEDD5, - 26286 - 19968: 0xD9BA, - 26290 - 19968: 0xEDE7, - 26291 - 19968: 0xFBB5, - 26292 - 19968: 0xF8EC, - 26297 - 19968: 0xE0E7, - 26299 - 19968: 0xCCD9, - 26302 - 19968: 0xD4C6, - 26308 - 19968: 0xE7A5, - 26310 - 19968: 0xD5F5, - 26311 - 19968: 0xD3BE, - 26313 - 19968: 0xFCFB, - 26326 - 19968: 0xE4F2, - 26329 - 19968: 0xDFF5, - 26332 - 19968: 0xE8F8, - 26333 - 19968: 0xF8ED, - 26336 - 19968: 0xCEC7, - 26342 - 19968: 0xFDF6, - 26352 - 19968: 0xE8D8, - 26354 - 19968: 0xCDD8, - 26355 - 19968: 0xE7D6, - 26356 - 19968: 0xCCDA, - 26359 - 19968: 0xCAE3, - 26360 - 19968: 0xDFF6, - 26361 - 19968: 0xF0C7, - 26362 - 19968: 0xF0C6, - 26364 - 19968: 0xD8BA, - 26366 - 19968: 0xF1F4, - 26367 - 19968: 0xF4F0, - 26368 - 19968: 0xF5CC, - 26371 - 19968: 0xFCE5, - 26376 - 19968: 0xEAC5, - 26377 - 19968: 0xEAF3, - 26379 - 19968: 0xDDDB, - 26381 - 19968: 0xDCD7, - 26388 - 19968: 0xDEFD, - 26389 - 19968: 0xF2F9, - 26391 - 19968: 0xD5C7, - 26395 - 19968: 0xD8D0, - 26397 - 19968: 0xF0C8, - 26398 - 19968: 0xD1A1, - 26399 - 19968: 0xD1A2, - 26406 - 19968: 0xD9D4, - 26407 - 19968: 0xD6E8, - 26408 - 19968: 0xD9CA, - 26410 - 19968: 0xDAB1, - 26411 - 19968: 0xD8C7, - 26412 - 19968: 0xDCE2, - 26413 - 19968: 0xF3CE, - 26414 - 19968: 0xF5F4, - 26417 - 19968: 0xF1B9, - 26420 - 19968: 0xDAD3, - 26422 - 19968: 0xF6EA, - 26426 - 19968: 0xCFF5, - 26429 - 19968: 0xFDAE, - 26438 - 19968: 0xCAD2, - 26441 - 19968: 0xDFB4, - 26446 - 19968: 0xD7DD, - 26447 - 19968: 0xFABA, - 26448 - 19968: 0xEEA7, - 26449 - 19968: 0xF5BD, - 26451 - 19968: 0xF8F5, - 26454 - 19968: 0xEDE8, - 26460 - 19968: 0xD4E1, - 26462 - 19968: 0xD1A3, - 26463 - 19968: 0xE1D6, - 26477 - 19968: 0xF9F8, - 26479 - 19968: 0xDBCA, - 26480 - 19968: 0xCBF9, - 26481 - 19968: 0xD4D4, - 26483 - 19968: 0xD9DC, - 26485 - 19968: 0xEEBE, - 26487 - 19968: 0xF7ED, - 26491 - 19968: 0xD2EE, - 26494 - 19968: 0xE1E6, - 26495 - 19968: 0xF7F9, - 26503 - 19968: 0xDDED, - 26505 - 19968: 0xE8DB, - 26507 - 19968: 0xDBB3, - 26511 - 19968: 0xD1F7, - 26512 - 19968: 0xE0B0, - 26515 - 19968: 0xD4E2, - 26517 - 19968: 0xF6D7, - 26519 - 19968: 0xD7F9, - 26522 - 19968: 0xD8DD, - 26524 - 19968: 0xCDFD, - 26525 - 19968: 0xF2AB, - 26543 - 19968: 0xCDBD, - 26544 - 19968: 0xF8C2, - 26547 - 19968: 0xF2AC, - 26550 - 19968: 0xCAAD, - 26551 - 19968: 0xCAAE, - 26552 - 19968: 0xCFAE, - 26558 - 19968: 0xE3C2, - 26564 - 19968: 0xDCB7, - 26575 - 19968: 0xDBDA, - 26576 - 19968: 0xD9BB, - 26577 - 19968: 0xCAF3, - 26578 - 19968: 0xF6D3, - 26579 - 19968: 0xE6F8, - 26580 - 19968: 0xEAF5, - 26586 - 19968: 0xEAF6, - 26589 - 19968: 0xF6F9, - 26601 - 19968: 0xCFAF, - 26604 - 19968: 0xCAD3, - 26607 - 19968: 0xCAAF, - 26608 - 19968: 0xD2B0, - 26609 - 19968: 0xF1BA, - 26611 - 19968: 0xD7B3, - 26612 - 19968: 0xE3C3, - 26613 - 19968: 0xF3FD, - 26614 - 19968: 0xDEDA, - 26619 - 19968: 0xDEDB, - 26622 - 19968: 0xEFDE, - 26642 - 19968: 0xE2E3, - 26643 - 19968: 0xEEFB, - 26646 - 19968: 0xDFF7, - 26647 - 19968: 0xD7CA, - 26657 - 19968: 0xCEE8, - 26658 - 19968: 0xDBDB, - 26666 - 19968: 0xF1BB, - 26671 - 19968: 0xE9F1, - 26680 - 19968: 0xFAB7, - 26681 - 19968: 0xD0C6, - 26684 - 19968: 0xCCAB, - 26685 - 19968: 0xEEA8, - 26688 - 19968: 0xCBFA, - 26689 - 19968: 0xF9F9, - 26690 - 19968: 0xCCFD, - 26691 - 19968: 0xD3FE, - 26696 - 19968: 0xE4D0, - 26702 - 19968: 0xF2EE, - 26704 - 19968: 0xD4D5, - 26705 - 19968: 0xDFCD, - 26707 - 19968: 0xFCB8, - 26708 - 19968: 0xD1D0, - 26733 - 19968: 0xF2CD, - 26742 - 19968: 0xF7D2, - 26751 - 19968: 0xCAD4, - 26753 - 19968: 0xD5D9, - 26757 - 19968: 0xD8DE, - 26767 - 19968: 0xCDD9, - 26771 - 19968: 0xEEA9, - 26772 - 19968: 0xF6BC, - 26775 - 19968: 0xCCDB, - 26781 - 19968: 0xF0C9, - 26783 - 19968: 0xFCFC, - 26785 - 19968: 0xE8C9, - 26786 - 19968: 0xF4FE, - 26791 - 19968: 0xE7FC, - 26792 - 19968: 0xD7DE, - 26797 - 19968: 0xDEDC, - 26799 - 19968: 0xF0AC, - 26800 - 19968: 0xCCFE, - 26801 - 19968: 0xCDE1, - 26803 - 19968: 0xE1BA, - 26805 - 19968: 0xDBEF, - 26806 - 19968: 0xDAB2, - 26820 - 19968: 0xD1A5, - 26821 - 19968: 0xDCB8, - 26825 - 19968: 0xD8F6, - 26827 - 19968: 0xD1A4, - 26829 - 19968: 0xCDE2, - 26834 - 19968: 0xDCEA, - 26837 - 19968: 0xF0F7, - 26839 - 19968: 0xF0CA, - 26840 - 19968: 0xD0BE, - 26842 - 19968: 0xDDDC, - 26847 - 19968: 0xD4D6, - 26848 - 19968: 0xD3D6, - 26855 - 19968: 0xEDD0, - 26856 - 19968: 0xCDA1, - 26862 - 19968: 0xDFB5, - 26866 - 19968: 0xDFF8, - 26873 - 19968: 0xD4A1, - 26874 - 19968: 0xCEB2, - 26880 - 19968: 0xE8CA, - 26885 - 19968: 0xEBF5, - 26893 - 19968: 0xE3D5, - 26894 - 19968: 0xF5D0, - 26898 - 19968: 0xF5A1, - 26919 - 19968: 0xD9A7, - 26928 - 19968: 0xE5AB, - 26941 - 19968: 0xE6CB, - 26943 - 19968: 0xF5F1, - 26954 - 19968: 0xE5C5, - 26963 - 19968: 0xF9A3, - 26964 - 19968: 0xE0DB, - 26965 - 19968: 0xF6EB, - 26967 - 19968: 0xCBF1, - 26969 - 19968: 0xD9EA, - 26970 - 19968: 0xF5A2, - 26974 - 19968: 0xD7D1, - 26976 - 19968: 0xD1F8, - 26977 - 19968: 0xEAF8, - 26978 - 19968: 0xEAF9, - 26979 - 19968: 0xDAB3, - 26984 - 19968: 0xEFDF, - 26987 - 19968: 0xF1EF, - 26989 - 19968: 0xE5F6, - 26990 - 19968: 0xEEBF, - 26991 - 19968: 0xE2E4, - 26997 - 19968: 0xD0BF, - 26999 - 19968: 0xFAAC, - 27000 - 19968: 0xF5D1, - 27001 - 19968: 0xE7B3, - 27029 - 19968: 0xE9BE, - 27035 - 19968: 0xF2CE, - 27036 - 19968: 0xDBB4, - 27045 - 19968: 0xFCCE, - 27047 - 19968: 0xDDEE, - 27054 - 19968: 0xE7B4, - 27060 - 19968: 0xD7B4, - 27067 - 19968: 0xF7B4, - 27073 - 19968: 0xCDBE, - 27075 - 19968: 0xDAE9, - 27083 - 19968: 0xCFB0, - 27084 - 19968: 0xF7D9, - 27085 - 19968: 0xF3E6, - 27088 - 19968: 0xCED9, - 27112 - 19968: 0xCEAA, - 27114 - 19968: 0xCBC8, - 27131 - 19968: 0xD0A7, - 27133 - 19968: 0xF0CB, - 27135 - 19968: 0xD0C7, - 27138 - 19968: 0xE4C5, - 27146 - 19968: 0xDBE0, - 27153 - 19968: 0xD5DA, - 27155 - 19968: 0xD7A7, - 27159 - 19968: 0xEEC0, - 27161 - 19968: 0xF8F6, - 27166 - 19968: 0xF5D2, - 27167 - 19968: 0xEDE9, - 27169 - 19968: 0xD9BC, - 27171 - 19968: 0xE5C6, - 27189 - 19968: 0xF5A3, - 27192 - 19968: 0xDAD4, - 27193 - 19968: 0xE2A7, - 27194 - 19968: 0xFBFC, - 27197 - 19968: 0xF1DC, - 27204 - 19968: 0xCAF4, - 27208 - 19968: 0xE8FA, - 27211 - 19968: 0xCEE9, - 27218 - 19968: 0xE9F8, - 27219 - 19968: 0xE2E5, - 27224 - 19968: 0xD0B9, - 27225 - 19968: 0xD4F2, - 27231 - 19968: 0xD1A6, - 27233 - 19968: 0xDFCE, - 27243 - 19968: 0xFCF4, - 27264 - 19968: 0xD3AA, - 27268 - 19968: 0xCCAC, - 27273 - 19968: 0xEFE0, - 27277 - 19968: 0xE5E5, - 27278 - 19968: 0xD0D5, - 27287 - 19968: 0xDBFC, - 27292 - 19968: 0xFCE6, - 27298 - 19968: 0xCBFE, - 27299 - 19968: 0xEDEA, - 27315 - 19968: 0xDEB1, - 27323 - 19968: 0xF9E3, - 27330 - 19968: 0xD4A2, - 27331 - 19968: 0xCFF6, - 27347 - 19968: 0xD6D0, - 27354 - 19968: 0xD5EA, - 27355 - 19968: 0xF1EE, - 27382 - 19968: 0xFACB, - 27387 - 19968: 0xE5A1, - 27396 - 19968: 0xD5B1, - 27402 - 19968: 0xCFED, - 27404 - 19968: 0xEDEB, - 27410 - 19968: 0xD5B2, - 27414 - 19968: 0xD5BC, - 27424 - 19968: 0xFDE2, - 27425 - 19968: 0xF3AD, - 27427 - 19968: 0xFDDB, - 27442 - 19968: 0xE9B0, - 27450 - 19968: 0xD1A7, - 27453 - 19968: 0xFDE3, - 27454 - 19968: 0xCEB3, - 27462 - 19968: 0xFDE4, - 27463 - 19968: 0xFACE, - 27468 - 19968: 0xCAB0, - 27470 - 19968: 0xF7A7, - 27472 - 19968: 0xCFB1, - 27487 - 19968: 0xE6A2, - 27489 - 19968: 0xFCB6, - 27490 - 19968: 0xF2AD, - 27491 - 19968: 0xEFE1, - 27492 - 19968: 0xF3AE, - 27493 - 19968: 0xDCC6, - 27494 - 19968: 0xD9EB, - 27498 - 19968: 0xE8E0, - 27506 - 19968: 0xE1A8, - 27511 - 19968: 0xD5F6, - 27512 - 19968: 0xCFFD, - 27515 - 19968: 0xDEDD, - 27519 - 19968: 0xD9D1, - 27523 - 19968: 0xE4EA, - 27524 - 19968: 0xF2CF, - 27526 - 19968: 0xF7BF, - 27529 - 19968: 0xE2E6, - 27530 - 19968: 0xE2A8, - 27542 - 19968: 0xE3D6, - 27544 - 19968: 0xEDD1, - 27550 - 19968: 0xE9F9, - 27566 - 19968: 0xD6B1, - 27567 - 19968: 0xDEB2, - 27570 - 19968: 0xE0E8, - 27573 - 19968: 0xD3AB, - 27575 - 19968: 0xEBDC, - 27578 - 19968: 0xDFAF, - 27580 - 19968: 0xCAC3, - 27583 - 19968: 0xEEFC, - 27585 - 19968: 0xFDC3, - 27589 - 19968: 0xEBF6, - 27590 - 19968: 0xCFB2, - 27595 - 19968: 0xD9EC, - 27597 - 19968: 0xD9BD, - 27599 - 19968: 0xD8DF, - 27602 - 19968: 0xD4B8, - 27603 - 19968: 0xEBBE, - 27604 - 19968: 0xDDEF, - 27606 - 19968: 0xDDF0, - 27607 - 19968: 0xDDF1, - 27608 - 19968: 0xDDF2, - 27611 - 19968: 0xD9BE, - 27627 - 19968: 0xFBC6, - 27628 - 19968: 0xCFB3, - 27656 - 19968: 0xEEFD, - 27663 - 19968: 0xE4AB, - 27665 - 19968: 0xDAC5, - 27667 - 19968: 0xD8EC, - 27683 - 19968: 0xD1A8, - 27700 - 19968: 0xE2A9, - 27703 - 19968: 0xDEBC, - 27704 - 19968: 0xE7B5, - 27710 - 19968: 0xDBF0, - 27712 - 19968: 0xEFE2, - 27713 - 19968: 0xF1F0, - 27714 - 19968: 0xCFB4, - 27726 - 19968: 0xDBF1, - 27728 - 19968: 0xE0B1, - 27733 - 19968: 0xDFA5, - 27735 - 19968: 0xF9D2, - 27738 - 19968: 0xE7FD, - 27741 - 19968: 0xE6A3, - 27742 - 19968: 0xFBF1, - 27743 - 19968: 0xCBB0, - 27744 - 19968: 0xF2AE, - 27752 - 19968: 0xCDE7, - 27754 - 19968: 0xE8DC, - 27757 - 19968: 0xE7D7, - 27760 - 19968: 0xF7C0, - 27762 - 19968: 0xD0E3, - 27766 - 19968: 0xDAA1, - 27770 - 19968: 0xCCBD, - 27773 - 19968: 0xD1A9, - 27774 - 19968: 0xDDCC, - 27777 - 19968: 0xE3FE, - 27778 - 19968: 0xD1AA, - 27779 - 19968: 0xE8AA, - 27781 - 19968: 0xEAB6, - 27782 - 19968: 0xF9FA, - 27783 - 19968: 0xE6CC, - 27784 - 19968: 0xF6D8, - 27788 - 19968: 0xD4C7, - 27792 - 19968: 0xD9CB, - 27794 - 19968: 0xD9D2, - 27795 - 19968: 0xD3CB, - 27796 - 19968: 0xD8F7, - 27797 - 19968: 0xDAA9, - 27798 - 19968: 0xF5F8, - 27801 - 19968: 0xDEDE, - 27802 - 19968: 0xF2AF, - 27803 - 19968: 0xF8A9, - 27819 - 19968: 0xD8C8, - 27822 - 19968: 0xEEC1, - 27827 - 19968: 0xF9C1, - 27832 - 19968: 0xDDF3, - 27833 - 19968: 0xEAFA, - 27835 - 19968: 0xF6BD, - 27836 - 19968: 0xE1BB, - 27837 - 19968: 0xCDBF, - 27838 - 19968: 0xF4D4, - 27839 - 19968: 0xE6CD, - 27841 - 19968: 0xFCCF, - 27842 - 19968: 0xFBA2, - 27844 - 19968: 0xE0DC, - 27849 - 19968: 0xF4BB, - 27850 - 19968: 0xDAD5, - 27852 - 19968: 0xF9B2, - 27859 - 19968: 0xFBF2, - 27861 - 19968: 0xDBF6, - 27863 - 19968: 0xDEDF, - 27867 - 19968: 0xDBF2, - 27873 - 19968: 0xF8DC, - 27874 - 19968: 0xF7EE, - 27875 - 19968: 0xEBE8, - 27877 - 19968: 0xD2FA, - 27880 - 19968: 0xF1BC, - 27883 - 19968: 0xFADA, - 27886 - 19968: 0xDAEA, - 27887 - 19968: 0xDAC6, - 27888 - 19968: 0xF7C1, - 27891 - 19968: 0xE7B6, - 27915 - 19968: 0xE5C7, - 27916 - 19968: 0xD6AC, - 27921 - 19968: 0xDCC7, - 27927 - 19968: 0xE1A9, - 27929 - 19968: 0xE2AA, - 27931 - 19968: 0xD5A6, - 27934 - 19968: 0xD4D7, - 27941 - 19968: 0xF2D0, - 27943 - 19968: 0xEAFB, - 27945 - 19968: 0xE0DD, - 27946 - 19968: 0xFBF3, - 27954 - 19968: 0xF1BD, - 27957 - 19968: 0xE2E7, - 27958 - 19968: 0xFDD7, - 27960 - 19968: 0xCEC8, - 27961 - 19968: 0xEAB7, - 27963 - 19968: 0xFCC0, - 27965 - 19968: 0xFDE7, - 27966 - 19968: 0xF7EF, - 27969 - 19968: 0xD7B5, - 27993 - 19968: 0xEFBA, - 27994 - 19968: 0xF1DD, - 27996 - 19968: 0xDEB3, - 28003 - 19968: 0xE8CB, - 28006 - 19968: 0xF8DD, - 28009 - 19968: 0xFBC7, - 28010 - 19968: 0xD5C8, - 28012 - 19968: 0xD7DF, - 28014 - 19968: 0xDDA9, - 28020 - 19968: 0xE9B1, - 28023 - 19968: 0xFAAD, - 28024 - 19968: 0xF6D9, - 28025 - 19968: 0xFAF4, - 28031 - 19968: 0xF8AA, - 28037 - 19968: 0xE6EE, - 28039 - 19968: 0xCCDC, - 28040 - 19968: 0xE1BC, - 28041 - 19968: 0xE0EF, - 28044 - 19968: 0xE9BF, - 28045 - 19968: 0xFCFD, - 28046 - 19968: 0xE6CE, - 28049 - 19968: 0xE1D7, - 28051 - 19968: 0xE6CF, - 28053 - 19968: 0xF4F1, - 28079 - 19968: 0xE4F3, - 28082 - 19968: 0xE4FB, - 28085 - 19968: 0xF9E4, - 28096 - 19968: 0xEFE3, - 28099 - 19968: 0xCFEE, - 28100 - 19968: 0xF6BE, - 28101 - 19968: 0xE0B2, - 28102 - 19968: 0xFCFE, - 28103 - 19968: 0xD1AB, - 28107 - 19968: 0xD7FA, - 28111 - 19968: 0xFBC8, - 28113 - 19968: 0xE2D7, - 28120 - 19968: 0xD4A3, - 28121 - 19968: 0xF0F8, - 28122 - 19968: 0xD7A8, - 28126 - 19968: 0xE1E7, - 28129 - 19968: 0xD3BF, - 28136 - 19968: 0xEFE4, - 28138 - 19968: 0xD7C5, - 28139 - 19968: 0xEBE2, - 28142 - 19968: 0xFCE7, - 28145 - 19968: 0xE4A2, - 28147 - 19968: 0xE2E8, - 28149 - 19968: 0xE6D0, - 28151 - 19968: 0xFBE8, - 28152 - 19968: 0xF4E8, - 28153 - 19968: 0xE5F4, - 28154 - 19968: 0xF4BC, - 28155 - 19968: 0xF4D5, - 28183 - 19968: 0xDFB6, - 28185 - 19968: 0xFCB9, - 28186 - 19968: 0xEEC2, - 28187 - 19968: 0xCAF5, - 28191 - 19968: 0xEFE5, - 28192 - 19968: 0xCBE2, - 28193 - 19968: 0xD4A4, - 28195 - 19968: 0xDEE0, - 28196 - 19968: 0xDAFD, - 28197 - 19968: 0xE4C6, - 28198 - 19968: 0xE8BE, - 28203 - 19968: 0xE0DE, - 28204 - 19968: 0xF6B4, - 28205 - 19968: 0xEAD2, - 28207 - 19968: 0xF9FB, - 28210 - 19968: 0xE0C2, - 28212 - 19968: 0xCAE4, - 28214 - 19968: 0xE7B7, - 28216 - 19968: 0xEAFD, - 28218 - 19968: 0xD9DD, - 28220 - 19968: 0xDAB4, - 28221 - 19968: 0xEEAA, - 28222 - 19968: 0xFBE9, - 28227 - 19968: 0xDBCB, - 28228 - 19968: 0xDAB5, - 28234 - 19968: 0xF1BE, - 28237 - 19968: 0xD3AC, - 28246 - 19968: 0xFBC9, - 28248 - 19968: 0xDFCF, - 28251 - 19968: 0xD3C0, - 28252 - 19968: 0xE3D7, - 28254 - 19968: 0xEFE6, - 28255 - 19968: 0xFCD0, - 28263 - 19968: 0xE9C0, - 28267 - 19968: 0xF5D3, - 28270 - 19968: 0xECDC, - 28271 - 19968: 0xF7B7, - 28274 - 19968: 0xEAB8, - 28275 - 19968: 0xD1F9, - 28282 - 19968: 0xDCC8, - 28304 - 19968: 0xEAB9, - 28310 - 19968: 0xF1DE, - 28316 - 19968: 0xD7B6, - 28317 - 19968: 0xCFB5, - 28319 - 19968: 0xD9A8, - 28322 - 19968: 0xECEE, - 28325 - 19968: 0xDDAA, - 28330 - 19968: 0xCDA2, - 28331 - 19968: 0xE8AE, - 28335 - 19968: 0xE1BD, - 28337 - 19968: 0xF2D1, - 28342 - 19968: 0xE9C1, - 28346 - 19968: 0xD2FC, - 28354 - 19968: 0xDBB5, - 28356 - 19968: 0xF3E7, - 28357 - 19968: 0xD8FE, - 28361 - 19968: 0xFCD1, - 28363 - 19968: 0xEDB2, - 28364 - 19968: 0xF4AF, - 28366 - 19968: 0xFBA3, - 28369 - 19968: 0xFCC1, - 28371 - 19968: 0xEEAB, - 28372 - 19968: 0xD4A5, - 28399 - 19968: 0xF4F2, - 28404 - 19968: 0xEED9, - 28408 - 19968: 0xFBCA, - 28414 - 19968: 0xCDE3, - 28415 - 19968: 0xD8BB, - 28417 - 19968: 0xE5DB, - 28418 - 19968: 0xF8F7, - 28422 - 19968: 0xF6D4, - 28431 - 19968: 0xD7A9, - 28433 - 19968: 0xCBC9, - 28436 - 19968: 0xE6D1, - 28437 - 19968: 0xF0CC, - 28448 - 19968: 0xD8AE, - 28450 - 19968: 0xF9D3, - 28451 - 19968: 0xD5FE, - 28459 - 19968: 0xD8BC, - 28460 - 19968: 0xF2B0, - 28465 - 19968: 0xE2AB, - 28466 - 19968: 0xF3E8, - 28472 - 19968: 0xEFC2, - 28479 - 19968: 0xEDEC, - 28481 - 19968: 0xE7B8, - 28497 - 19968: 0xDAFE, - 28500 - 19968: 0xCCBE, - 28503 - 19968: 0xF2FC, - 28504 - 19968: 0xDAEB, - 28506 - 19968: 0xE2D8, - 28507 - 19968: 0xEDD6, - 28510 - 19968: 0xD6D1, - 28511 - 19968: 0xE0B3, - 28514 - 19968: 0xFCD2, - 28516 - 19968: 0xEBC8, - 28525 - 19968: 0xD3C1, - 28526 - 19968: 0xF0CD, - 28528 - 19968: 0xCFF7, - 28538 - 19968: 0xEDD2, - 28540 - 19968: 0xD4D8, - 28541 - 19968: 0xDCC9, - 28542 - 19968: 0xD7F1, - 28545 - 19968: 0xDFBB, - 28548 - 19968: 0xF3A5, - 28552 - 19968: 0xF4CD, - 28557 - 19968: 0xF1BF, - 28558 - 19968: 0xF8B1, - 28560 - 19968: 0xE9FA, - 28564 - 19968: 0xFBCB, - 28567 - 19968: 0xCAD5, - 28579 - 19968: 0xF9D4, - 28580 - 19968: 0xF7CA, - 28583 - 19968: 0xD6C8, - 28590 - 19968: 0xFCE8, - 28591 - 19968: 0xF3BD, - 28593 - 19968: 0xEEFE, - 28595 - 19968: 0xE7FE, - 28601 - 19968: 0xD3C2, - 28606 - 19968: 0xD3B6, - 28608 - 19968: 0xCCAD, - 28609 - 19968: 0xF6FA, - 28610 - 19968: 0xD6B2, - 28611 - 19968: 0xD2D8, - 28618 - 19968: 0xE7D8, - 28629 - 19968: 0xE3A5, - 28634 - 19968: 0xE7B9, - 28639 - 19968: 0xF0AD, - 28640 - 19968: 0xFBCC, - 28641 - 19968: 0xEBA1, - 28644 - 19968: 0xD4A6, - 28649 - 19968: 0xFBCD, - 28651 - 19968: 0xD5BD, - 28652 - 19968: 0xF1DF, - 28655 - 19968: 0xF6FB, - 28657 - 19968: 0xDEB4, - 28670 - 19968: 0xD5EB, - 28673 - 19968: 0xE5C8, - 28677 - 19968: 0xFBA4, - 28678 - 19968: 0xD4B9, - 28681 - 19968: 0xDEE1, - 28683 - 19968: 0xE4A3, - 28687 - 19968: 0xD7B7, - 28689 - 19968: 0xF8EE, - 28693 - 19968: 0xDEB5, - 28696 - 19968: 0xD6D2, - 28698 - 19968: 0xF9D5, - 28699 - 19968: 0xE7BA, - 28700 - 19968: 0xEBD5, - 28701 - 19968: 0xD5F7, - 28702 - 19968: 0xEFE7, - 28703 - 19968: 0xE1BE, - 28707 - 19968: 0xFAAE, - 28711 - 19968: 0xD6E9, - 28712 - 19968: 0xD6EE, - 28719 - 19968: 0xE7BB, - 28727 - 19968: 0xECCB, - 28734 - 19968: 0xD5B3, - 28748 - 19968: 0xCEB4, - 28752 - 19968: 0xFBA5, - 28753 - 19968: 0xE1EE, - 28760 - 19968: 0xF7A8, - 28765 - 19968: 0xFBCE, - 28771 - 19968: 0xD8BD, - 28779 - 19968: 0xFBFD, - 28784 - 19968: 0xFCE9, - 28792 - 19968: 0xCFB6, - 28796 - 19968: 0xEDC7, - 28797 - 19968: 0xEEAC, - 28805 - 19968: 0xCCDD, - 28810 - 19968: 0xF6A7, - 28814 - 19968: 0xE6FA, - 28818 - 19968: 0xF5A4, - 28824 - 19968: 0xFDDC, - 28825 - 19968: 0xEDB3, - 28826 - 19968: 0xCEC9, - 28833 - 19968: 0xEFE8, - 28836 - 19968: 0xE1BF, - 28843 - 19968: 0xFADB, - 28844 - 19968: 0xCBE3, - 28845 - 19968: 0xF7A9, - 28847 - 19968: 0xFBA6, - 28851 - 19968: 0xDCB9, - 28855 - 19968: 0xF1C0, - 28856 - 19968: 0xEDC8, - 28857 - 19968: 0xEFC3, - 28872 - 19968: 0xD6AD, - 28875 - 19968: 0xFDCE, - 28879 - 19968: 0xE8A1, - 28888 - 19968: 0xFBF4, - 28889 - 19968: 0xD5A7, - 28893 - 19968: 0xF1F6, - 28895 - 19968: 0xE6D3, - 28913 - 19968: 0xCCDE, - 28921 - 19968: 0xF8B2, - 28925 - 19968: 0xDCEB, - 28932 - 19968: 0xFDB6, - 28937 - 19968: 0xE5EA, - 28940 - 19968: 0xF1E0, - 28953 - 19968: 0xDBCC, - 28954 - 19968: 0xDDCD, - 28958 - 19968: 0xD4C8, - 28961 - 19968: 0xD9ED, - 28966 - 19968: 0xF5A5, - 28976 - 19968: 0xE6FB, - 28982 - 19968: 0xE6D4, - 28999 - 19968: 0xFDC8, - 29001 - 19968: 0xD6A1, - 29002 - 19968: 0xFDBF, - 29004 - 19968: 0xFCD3, - 29006 - 19968: 0xEFA1, - 29008 - 19968: 0xE7BC, - 29014 - 19968: 0xD1EE, - 29017 - 19968: 0xE6D5, - 29020 - 19968: 0xE9F2, - 29022 - 19968: 0xDFB0, - 29028 - 19968: 0xD8E0, - 29029 - 19968: 0xFCBA, - 29030 - 19968: 0xFDAF, - 29031 - 19968: 0xF0CE, - 29033 - 19968: 0xDBE1, - 29036 - 19968: 0xE5C9, - 29038 - 19968: 0xEDB4, - 29053 - 19968: 0xE0C3, - 29060 - 19968: 0xE3D8, - 29065 - 19968: 0xE9FB, - 29066 - 19968: 0xEAA8, - 29071 - 19968: 0xFDB7, - 29074 - 19968: 0xFBA7, - 29076 - 19968: 0xE9C2, - 29081 - 19968: 0xFDF7, - 29087 - 19968: 0xE2D9, - 29090 - 19968: 0xDCEC, - 29100 - 19968: 0xE8A2, - 29105 - 19968: 0xE6F0, - 29113 - 19968: 0xFDF8, - 29114 - 19968: 0xFDF9, - 29118 - 19968: 0xF6BF, - 29121 - 19968: 0xE7A7, - 29123 - 19968: 0xE6D7, - 29128 - 19968: 0xD4F3, - 29129 - 19968: 0xD4C9, - 29134 - 19968: 0xD6FA, - 29136 - 19968: 0xD7F2, - 29138 - 19968: 0xE1C0, - 29140 - 19968: 0xDBE2, - 29141 - 19968: 0xE6D8, - 29151 - 19968: 0xE7BD, - 29157 - 19968: 0xF0CF, - 29158 - 19968: 0xF3BE, - 29159 - 19968: 0xE2AC, - 29165 - 19968: 0xF5B7, - 29166 - 19968: 0xE0F0, - 29179 - 19968: 0xFDB8, - 29180 - 19968: 0xE3E8, - 29182 - 19968: 0xD4A7, - 29183 - 19968: 0xE8FC, - 29184 - 19968: 0xFAD2, - 29190 - 19968: 0xF8EF, - 29200 - 19968: 0xD6D3, - 29211 - 19968: 0xD5B4, - 29226 - 19968: 0xF0D0, - 29228 - 19968: 0xF7F0, - 29229 - 19968: 0xEEB3, - 29232 - 19968: 0xEABA, - 29234 - 19968: 0xEAD3, - 29237 - 19968: 0xEDC9, - 29238 - 19968: 0xDDAB, - 29242 - 19968: 0xE5AC, - 29243 - 19968: 0xFDA1, - 29245 - 19968: 0xDFD0, - 29246 - 19968: 0xECB3, - 29248 - 19968: 0xDFD1, - 29254 - 19968: 0xEDED, - 29255 - 19968: 0xF8B8, - 29256 - 19968: 0xF7FA, - 29260 - 19968: 0xF8AB, - 29266 - 19968: 0xF4E0, - 29272 - 19968: 0xD4BA, - 29273 - 19968: 0xE4B3, - 29275 - 19968: 0xE9DA, - 29277 - 19968: 0xDEB6, - 29279 - 19968: 0xD9BF, - 29281 - 19968: 0xD9C0, - 29282 - 19968: 0xD6EF, - 29287 - 19968: 0xD9CC, - 29289 - 19968: 0xDAAA, - 29298 - 19968: 0xDFE5, - 29305 - 19968: 0xF7E5, - 29309 - 19968: 0xCCB2, - 29312 - 19968: 0xDFF9, - 29313 - 19968: 0xD7E0, - 29346 - 19968: 0xD4BB, - 29351 - 19968: 0xFDFA, - 29356 - 19968: 0xCCB3, - 29359 - 19968: 0xDBF3, - 29376 - 19968: 0xDFD2, - 29378 - 19968: 0xCECA, - 29380 - 19968: 0xEEDA, - 29390 - 19968: 0xE4E4, - 29392 - 19968: 0xFBCF, - 29399 - 19968: 0xCFB7, - 29401 - 19968: 0xEEC3, - 29409 - 19968: 0xCEEA, - 29417 - 19968: 0xE2AD, - 29432 - 19968: 0xD7E1, - 29433 - 19968: 0xFAF5, - 29436 - 19968: 0xD5C9, - 29437 - 19968: 0xF8AC, - 29450 - 19968: 0xE7D9, - 29462 - 19968: 0xF3E9, - 29467 - 19968: 0xD8ED, - 29468 - 19968: 0xE3C4, - 29469 - 19968: 0xF0F1, - 29477 - 19968: 0xE8E5, - 29481 - 19968: 0xE0FA, - 29482 - 19968: 0xEEC4, - 29483 - 19968: 0xD9DE, - 29494 - 19968: 0xEBA2, - 29495 - 19968: 0xEBA3, - 29502 - 19968: 0xFCC2, - 29503 - 19968: 0xEABB, - 29508 - 19968: 0xE8AB, - 29509 - 19968: 0xDEE2, - 29520 - 19968: 0xEDEF, - 29522 - 19968: 0xE8A3, - 29527 - 19968: 0xCFF1, - 29544 - 19968: 0xD4BC, - 29546 - 19968: 0xFCEA, - 29552 - 19968: 0xE7BE, - 29554 - 19968: 0xFCF2, - 29557 - 19968: 0xD6B4, - 29560 - 19968: 0xE2AE, - 29562 - 19968: 0xD3B7, - 29563 - 19968: 0xFACC, - 29572 - 19968: 0xFADC, - 29574 - 19968: 0xEDB5, - 29575 - 19968: 0xE1E3, - 29577 - 19968: 0xE8AC, - 29579 - 19968: 0xE8DD, - 29582 - 19968: 0xEFE9, - 29588 - 19968: 0xF4BD, - 29590 - 19968: 0xCFB8, - 29591 - 19968: 0xE9DB, - 29592 - 19968: 0xD1AC, - 29599 - 19968: 0xDAC7, - 29607 - 19968: 0xEBC9, - 29609 - 19968: 0xE8CC, - 29613 - 19968: 0xDEB7, - 29618 - 19968: 0xD6BC, - 29619 - 19968: 0xD3E5, - 29625 - 19968: 0xFADD, - 29632 - 19968: 0xDAD6, - 29634 - 19968: 0xCAB1, - 29641 - 19968: 0xDAC8, - 29642 - 19968: 0xDFA6, - 29644 - 19968: 0xF9B3, - 29645 - 19968: 0xF2D2, - 29647 - 19968: 0xCAC4, - 29654 - 19968: 0xCECB, - 29657 - 19968: 0xCDF5, - 29661 - 19968: 0xFDB0, - 29662 - 19968: 0xD5A8, - 29664 - 19968: 0xF1C1, - 29667 - 19968: 0xE2E9, - 29668 - 19968: 0xDCCA, - 29669 - 19968: 0xECB4, - 29670 - 19968: 0xFAC0, - 29673 - 19968: 0xFBA8, - 29674 - 19968: 0xD0A8, - 29677 - 19968: 0xDAEC, - 29687 - 19968: 0xD9EE, - 29689 - 19968: 0xE0FB, - 29693 - 19968: 0xEFEA, - 29694 - 19968: 0xFADE, - 29697 - 19968: 0xE0C4, - 29699 - 19968: 0xCFB9, - 29701 - 19968: 0xD5CA, - 29702 - 19968: 0xD7E2, - 29703 - 19968: 0xE2AF, - 29705 - 19968: 0xD7B8, - 29715 - 19968: 0xE8CD, - 29723 - 19968: 0xF6DA, - 29728 - 19968: 0xEFA2, - 29729 - 19968: 0xE2DA, - 29730 - 19968: 0xF6FC, - 29733 - 19968: 0xFBD0, - 29734 - 19968: 0xD1AD, - 29736 - 19968: 0xCDE4, - 29738 - 19968: 0xD1AE, - 29739 - 19968: 0xDCED, - 29740 - 19968: 0xE8CE, - 29742 - 19968: 0xF0F9, - 29743 - 19968: 0xCEB5, - 29744 - 19968: 0xE6FC, - 29747 - 19968: 0xD7FB, - 29748 - 19968: 0xD0D6, - 29749 - 19968: 0xDDF5, - 29750 - 19968: 0xF7F1, - 29752 - 19968: 0xF6FD, - 29754 - 19968: 0xDBF7, - 29759 - 19968: 0xFBEA, - 29760 - 19968: 0xE9DC, - 29761 - 19968: 0xD9C1, - 29763 - 19968: 0xF5F2, - 29764 - 19968: 0xE0C5, - 29771 - 19968: 0xEAD4, - 29781 - 19968: 0xF9C2, - 29783 - 19968: 0xEABC, - 29785 - 19968: 0xD2C5, - 29786 - 19968: 0xFBD1, - 29787 - 19968: 0xE7C0, - 29788 - 19968: 0xEBA5, - 29790 - 19968: 0xDFFA, - 29791 - 19968: 0xE3A2, - 29792 - 19968: 0xD7B9, - 29794 - 19968: 0xE9C3, - 29796 - 19968: 0xE8FD, - 29797 - 19968: 0xE8AF, - 29800 - 19968: 0xF2D3, - 29801 - 19968: 0xFBA9, - 29802 - 19968: 0xD8A5, - 29807 - 19968: 0xD5CB, - 29822 - 19968: 0xD0C8, - 29826 - 19968: 0xD1AF, - 29827 - 19968: 0xD7E3, - 29831 - 19968: 0xE0C6, - 29833 - 19968: 0xD6A2, - 29835 - 19968: 0xEDF0, - 29848 - 19968: 0xD7F3, - 29852 - 19968: 0xFCD4, - 29854 - 19968: 0xDAD7, - 29855 - 19968: 0xCCDF, - 29857 - 19968: 0xF2D4, - 29859 - 19968: 0xD1B0, - 29861 - 19968: 0xCCE0, - 29863 - 19968: 0xDBFD, - 29864 - 19968: 0xF3BF, - 29866 - 19968: 0xF0D1, - 29872 - 19968: 0xFCBB, - 29874 - 19968: 0xE2B0, - 29877 - 19968: 0xE6A5, - 29881 - 19968: 0xE2DB, - 29885 - 19968: 0xDFDE, - 29887 - 19968: 0xE0C7, - 29894 - 19968: 0xF2EF, - 29898 - 19968: 0xCCE1, - 29903 - 19968: 0xD6EA, - 29908 - 19968: 0xE7C2, - 29912 - 19968: 0xCEB6, - 29914 - 19968: 0xF3C0, - 29916 - 19968: 0xCDFE, - 29920 - 19968: 0xFBD2, - 29922 - 19968: 0xF8F8, - 29923 - 19968: 0xF7FB, - 29926 - 19968: 0xE8BF, - 29934 - 19968: 0xE8B7, - 29943 - 19968: 0xEDB6, - 29953 - 19968: 0xDCBA, - 29956 - 19968: 0xCCB4, - 29969 - 19968: 0xF1F7, - 29973 - 19968: 0xE8B8, - 29976 - 19968: 0xCAF6, - 29978 - 19968: 0xE4A4, - 29979 - 19968: 0xF4D6, - 29983 - 19968: 0xDFE6, - 29987 - 19968: 0xDFA7, - 29989 - 19968: 0xDFE7, - 29990 - 19968: 0xE1C1, - 29992 - 19968: 0xE9C4, - 29995 - 19968: 0xDCCB, - 29996 - 19968: 0xE9C5, - 30000 - 19968: 0xEFA3, - 30001 - 19968: 0xEBA6, - 30002 - 19968: 0xCBA3, - 30003 - 19968: 0xE3E9, - 30007 - 19968: 0xD1FB, - 30008 - 19968: 0xEFA4, - 30010 - 19968: 0xEFEB, - 30023 - 19968: 0xD0B4, - 30028 - 19968: 0xCDA3, - 30031 - 19968: 0xE8E6, - 30033 - 19968: 0xEFA5, - 30035 - 19968: 0xD3CC, - 30036 - 19968: 0xDAED, - 30041 - 19968: 0xD7BA, - 30043 - 19968: 0xF2D5, - 30044 - 19968: 0xF5E5, - 30045 - 19968: 0xD9EF, - 30050 - 19968: 0xF9B4, - 30053 - 19968: 0xD5D4, - 30054 - 19968: 0xFDCF, - 30058 - 19968: 0xDBE3, - 30063 - 19968: 0xF1E1, - 30064 - 19968: 0xECB6, - 30069 - 19968: 0xFBFE, - 30070 - 19968: 0xD3D7, - 30072 - 19968: 0xD1B1, - 30074 - 19968: 0xCBB1, - 30079 - 19968: 0xD1B2, - 30086 - 19968: 0xCBB2, - 30087 - 19968: 0xF1C2, - 30090 - 19968: 0xF4E1, - 30091 - 19968: 0xF9B5, - 30094 - 19968: 0xE1C3, - 30095 - 19968: 0xE1C2, - 30097 - 19968: 0xEBF7, - 30109 - 19968: 0xDFA8, - 30117 - 19968: 0xCBCA, - 30123 - 19968: 0xE6B9, - 30129 - 19968: 0xF8DE, - 30130 - 19968: 0xF9AA, - 30131 - 19968: 0xCAF7, - 30133 - 19968: 0xEDB7, - 30136 - 19968: 0xD3B8, - 30137 - 19968: 0xF2D6, - 30140 - 19968: 0xD4D9, - 30141 - 19968: 0xEEC5, - 30142 - 19968: 0xF2F0, - 30146 - 19968: 0xCAB2, - 30149 - 19968: 0xDCBB, - 30151 - 19968: 0xF1F8, - 30157 - 19968: 0xECB7, - 30162 - 19968: 0xE5CA, - 30164 - 19968: 0xF6C0, - 30165 - 19968: 0xFDDD, - 30168 - 19968: 0xD4E3, - 30169 - 19968: 0xCCE2, - 30171 - 19968: 0xF7D4, - 30178 - 19968: 0xD7E5, - 30192 - 19968: 0xD3C3, - 30194 - 19968: 0xD8A6, - 30196 - 19968: 0xF6C1, - 30202 - 19968: 0xDDF6, - 30204 - 19968: 0xCDC0, - 30208 - 19968: 0xE5DC, - 30221 - 19968: 0xE5CB, - 30233 - 19968: 0xE1C4, - 30239 - 19968: 0xE8B0, - 30240 - 19968: 0xF4B0, - 30241 - 19968: 0xF3EA, - 30242 - 19968: 0xDAEE, - 30244 - 19968: 0xD7BB, - 30246 - 19968: 0xE2B1, - 30267 - 19968: 0xD7AA, - 30274 - 19968: 0xD6FB, - 30284 - 19968: 0xE4DF, - 30286 - 19968: 0xCAD6, - 30290 - 19968: 0xEBA8, - 30294 - 19968: 0xDBFE, - 30305 - 19968: 0xF6C2, - 30308 - 19968: 0xEFBB, - 30313 - 19968: 0xD4FD, - 30316 - 19968: 0xE0C8, - 30320 - 19968: 0xE8B9, - 30322 - 19968: 0xEFA6, - 30328 - 19968: 0xCDA4, - 30331 - 19968: 0xD4F4, - 30332 - 19968: 0xDBA1, - 30333 - 19968: 0xDBDC, - 30334 - 19968: 0xDBDD, - 30340 - 19968: 0xEEDC, - 30342 - 19968: 0xCBCB, - 30343 - 19968: 0xFCD5, - 30350 - 19968: 0xCEEB, - 30352 - 19968: 0xCDC1, - 30355 - 19968: 0xFBD3, - 30382 - 19968: 0xF9AB, - 30394 - 19968: 0xF5D4, - 30399 - 19968: 0xD9A9, - 30402 - 19968: 0xE9DD, - 30403 - 19968: 0xDBCD, - 30406 - 19968: 0xDDCE, - 30408 - 19968: 0xE7C3, - 30410 - 19968: 0xECCC, - 30418 - 19968: 0xF9EC, - 30422 - 19968: 0xCBCC, - 30427 - 19968: 0xE0FC, - 30428 - 19968: 0xD4A8, - 30430 - 19968: 0xEDD3, - 30431 - 19968: 0xD8EF, - 30433 - 19968: 0xF2D7, - 30435 - 19968: 0xCAF8, - 30436 - 19968: 0xDAEF, - 30439 - 19968: 0xD6D4, - 30446 - 19968: 0xD9CD, - 30450 - 19968: 0xD8EE, - 30452 - 19968: 0xF2C1, - 30456 - 19968: 0xDFD3, - 30460 - 19968: 0xDAF0, - 30462 - 19968: 0xE2EA, - 30465 - 19968: 0xE0FD, - 30468 - 19968: 0xD8F8, - 30472 - 19968: 0xF7AF, - 30473 - 19968: 0xDAB6, - 30475 - 19968: 0xCAD7, - 30494 - 19968: 0xF2D8, - 30496 - 19968: 0xD8F9, - 30505 - 19968: 0xFADF, - 30519 - 19968: 0xCFEF, - 30520 - 19968: 0xD9C2, - 30522 - 19968: 0xF0D2, - 30524 - 19968: 0xE4D1, - 30528 - 19968: 0xF3B7, - 30541 - 19968: 0xFAE0, - 30555 - 19968: 0xEFEC, - 30561 - 19968: 0xE2B2, - 30563 - 19968: 0xD4BD, - 30566 - 19968: 0xD9CE, - 30571 - 19968: 0xF4E2, - 30585 - 19968: 0xD4A9, - 30590 - 19968: 0xCDC2, - 30591 - 19968: 0xE7DA, - 30603 - 19968: 0xF2D9, - 30609 - 19968: 0xD9AA, - 30622 - 19968: 0xD8BE, - 30629 - 19968: 0xDCAD, - 30636 - 19968: 0xE2EB, - 30637 - 19968: 0xD6FC, - 30640 - 19968: 0xCAF9, - 30643 - 19968: 0xD4DA, - 30651 - 19968: 0xF4D7, - 30652 - 19968: 0xCCA1, - 30655 - 19968: 0xCFBA, - 30679 - 19968: 0xF5B8, - 30683 - 19968: 0xD9C3, - 30684 - 19968: 0xD0E8, - 30690 - 19968: 0xE3C5, - 30691 - 19968: 0xEBF8, - 30693 - 19968: 0xF2B1, - 30697 - 19968: 0xCFBB, - 30701 - 19968: 0xD3AD, - 30702 - 19968: 0xE8E1, - 30703 - 19968: 0xCEEC, - 30707 - 19968: 0xE0B4, - 30722 - 19968: 0xDEE3, - 30738 - 19968: 0xDDF7, - 30757 - 19968: 0xF2B2, - 30758 - 19968: 0xF3F6, - 30759 - 19968: 0xF6DB, - 30764 - 19968: 0xD7FE, - 30770 - 19968: 0xF8DF, - 30772 - 19968: 0xF7F2, - 30789 - 19968: 0xD0A9, - 30799 - 19968: 0xE6DA, - 30813 - 19968: 0xF5A6, - 30827 - 19968: 0xD7BC, - 30828 - 19968: 0xCCE3, - 30831 - 19968: 0xE6DB, - 30844 - 19968: 0xDDDD, - 30849 - 19968: 0xD1B3, - 30855 - 19968: 0xEFED, - 30860 - 19968: 0xD6DE, - 30861 - 19968: 0xE4F4, - 30862 - 19968: 0xE1EF, - 30865 - 19968: 0xDDF8, - 30871 - 19968: 0xE8CF, - 30883 - 19968: 0xCAE5, - 30887 - 19968: 0xDCA1, - 30889 - 19968: 0xE0B5, - 30906 - 19968: 0xFCAC, - 30907 - 19968: 0xFCAD, - 30908 - 19968: 0xD8A7, - 30913 - 19968: 0xEDB8, - 30917 - 19968: 0xDBB6, - 30922 - 19968: 0xD6F0, - 30923 - 19968: 0xF3AF, - 30926 - 19968: 0xCDA5, - 30928 - 19968: 0xDAF1, - 30952 - 19968: 0xD8A8, - 30956 - 19968: 0xCCE4, - 30959 - 19968: 0xD1B4, - 30965 - 19968: 0xCAD8, - 30971 - 19968: 0xDAF2, - 30977 - 19968: 0xF5A7, - 30990 - 19968: 0xF5A8, - 30998 - 19968: 0xE6A6, - 31018 - 19968: 0xD5EC, - 31019 - 19968: 0xD5F8, - 31020 - 19968: 0xDAF3, - 31034 - 19968: 0xE3C6, - 31038 - 19968: 0xDEE4, - 31040 - 19968: 0xDEE5, - 31041 - 19968: 0xD1B5, - 31047 - 19968: 0xD1B6, - 31048 - 19968: 0xD1B7, - 31049 - 19968: 0xF2B3, - 31056 - 19968: 0xE9DE, - 31062 - 19968: 0xF0D3, - 31063 - 19968: 0xF2B4, - 31066 - 19968: 0xF0D4, - 31067 - 19968: 0xCBE4, - 31068 - 19968: 0xFBD4, - 31069 - 19968: 0xF5E6, - 31070 - 19968: 0xE3EA, - 31072 - 19968: 0xDEE6, - 31077 - 19968: 0xDFD4, - 31080 - 19968: 0xF8F9, - 31085 - 19968: 0xF0AE, - 31098 - 19968: 0xD1B8, - 31103 - 19968: 0xD6DF, - 31105 - 19968: 0xD0D7, - 31117 - 19968: 0xFCA1, - 31118 - 19968: 0xEFEE, - 31119 - 19968: 0xDCD8, - 31121 - 19968: 0xE9DF, - 31142 - 19968: 0xE5DD, - 31143 - 19968: 0xFDFB, - 31146 - 19968: 0xE0C9, - 31150 - 19968: 0xD6C9, - 31153 - 19968: 0xD4AA, - 31155 - 19968: 0xE5CC, - 31161 - 19968: 0xE9E0, - 31165 - 19968: 0xD0D8, - 31166 - 19968: 0xFCA2, - 31167 - 19968: 0xD4BE, - 31168 - 19968: 0xE2B3, - 31169 - 19968: 0xDEE7, - 31177 - 19968: 0xDCBC, - 31178 - 19968: 0xD2B6, - 31179 - 19968: 0xF5D5, - 31185 - 19968: 0xCEA1, - 31186 - 19968: 0xF5A9, - 31189 - 19968: 0xDDF9, - 31192 - 19968: 0xDDFA, - 31199 - 19968: 0xF0D5, - 31204 - 19968: 0xF6DF, - 31206 - 19968: 0xF2DA, - 31207 - 19968: 0xE4EB, - 31209 - 19968: 0xF2F1, - 31227 - 19968: 0xECB9, - 31232 - 19968: 0xFDFC, - 31237 - 19968: 0xE1AA, - 31240 - 19968: 0xCAD9, - 31243 - 19968: 0xEFEF, - 31245 - 19968: 0xF5AA, - 31252 - 19968: 0xECF9, - 31255 - 19968: 0xF8AD, - 31257 - 19968: 0xF2C2, - 31258 - 19968: 0xF6C3, - 31260 - 19968: 0xD7D2, - 31263 - 19968: 0xF9A2, - 31264 - 19968: 0xF0D6, - 31278 - 19968: 0xF0FA, - 31281 - 19968: 0xF6E0, - 31286 - 19968: 0xE9F3, - 31287 - 19968: 0xF2C3, - 31291 - 19968: 0xD4AB, - 31292 - 19968: 0xCAB3, - 31293 - 19968: 0xCDA6, - 31295 - 19968: 0xCDC3, - 31296 - 19968: 0xCDDA, - 31302 - 19968: 0xD9CF, - 31305 - 19968: 0xF6C4, - 31309 - 19968: 0xEEDD, - 31310 - 19968: 0xE7C4, - 31319 - 19968: 0xE2B4, - 31329 - 19968: 0xDFE2, - 31330 - 19968: 0xE7DB, - 31337 - 19968: 0xE8B1, - 31339 - 19968: 0xFCAE, - 31344 - 19968: 0xE5CD, - 31348 - 19968: 0xFAEB, - 31350 - 19968: 0xCFBC, - 31353 - 19968: 0xCFE2, - 31354 - 19968: 0xCDF6, - 31357 - 19968: 0xEFF0, - 31359 - 19968: 0xF4BE, - 31361 - 19968: 0xD4CD, - 31364 - 19968: 0xF3B8, - 31368 - 19968: 0xE9A1, - 31378 - 19968: 0xF2F2, - 31379 - 19968: 0xF3EB, - 31381 - 19968: 0xF0D7, - 31384 - 19968: 0xCFD7, - 31391 - 19968: 0xCFDF, - 31401 - 19968: 0xE8C0, - 31402 - 19968: 0xE8C1, - 31406 - 19968: 0xCFE3, - 31407 - 19968: 0xE9A2, - 31418 - 19968: 0xD0AA, - 31428 - 19968: 0xF3C1, - 31429 - 19968: 0xD0AB, - 31431 - 19968: 0xD4E4, - 31434 - 19968: 0xEFBC, - 31435 - 19968: 0xD8A1, - 31447 - 19968: 0xD9DF, - 31449 - 19968: 0xF3D7, - 31453 - 19968: 0xDCBD, - 31455 - 19968: 0xCCE5, - 31456 - 19968: 0xEDF1, - 31459 - 19968: 0xF1E2, - 31461 - 19968: 0xD4DB, - 31466 - 19968: 0xE2B5, - 31469 - 19968: 0xCAE6, - 31471 - 19968: 0xD3AE, - 31478 - 19968: 0xCCE6, - 31481 - 19968: 0xF1D3, - 31482 - 19968: 0xF5E7, - 31487 - 19968: 0xCADA, - 31503 - 19968: 0xFBEE, - 31505 - 19968: 0xE1C5, - 31513 - 19968: 0xDFE9, - 31515 - 19968: 0xEEDE, - 31518 - 19968: 0xF7C2, - 31520 - 19968: 0xD8A2, - 31526 - 19968: 0xDDAC, - 31532 - 19968: 0xF0AF, - 31533 - 19968: 0xD6BD, - 31545 - 19968: 0xE1AB, - 31558 - 19968: 0xF9B6, - 31561 - 19968: 0xD4F5, - 31563 - 19968: 0xD0C9, - 31564 - 19968: 0xEFA7, - 31565 - 19968: 0xE2EC, - 31567 - 19968: 0xDBEA, - 31568 - 19968: 0xCECC, - 31569 - 19968: 0xF5E8, - 31570 - 19968: 0xF7D5, - 31572 - 19968: 0xD3CD, - 31574 - 19968: 0xF3FE, - 31584 - 19968: 0xD0B5, - 31596 - 19968: 0xE0FE, - 31598 - 19968: 0xDFFB, - 31605 - 19968: 0xE6DD, - 31613 - 19968: 0xE8A4, - 31623 - 19968: 0xCBCD, - 31627 - 19968: 0xEFA8, - 31631 - 19968: 0xEEB4, - 31636 - 19968: 0xDAD8, - 31637 - 19968: 0xD1B9, - 31639 - 19968: 0xDFA9, - 31642 - 19968: 0xF3B0, - 31645 - 19968: 0xCCC4, - 31649 - 19968: 0xCEB7, - 31661 - 19968: 0xEFA9, - 31665 - 19968: 0xDFD5, - 31668 - 19968: 0xEDD7, - 31672 - 19968: 0xEEC6, - 31680 - 19968: 0xEFBD, - 31681 - 19968: 0xFCD6, - 31684 - 19968: 0xDBF4, - 31686 - 19968: 0xEFAA, - 31687 - 19968: 0xF8B9, - 31689 - 19968: 0xF5E9, - 31698 - 19968: 0xE3D9, - 31712 - 19968: 0xE1C6, - 31716 - 19968: 0xD4BF, - 31721 - 19968: 0xDEE8, - 31751 - 19968: 0xF0EA, - 31762 - 19968: 0xF3C2, - 31774 - 19968: 0xD3AF, - 31777 - 19968: 0xCADB, - 31783 - 19968: 0xFCD7, - 31786 - 19968: 0xEDD8, - 31787 - 19968: 0xE1C7, - 31805 - 19968: 0xF4D8, - 31806 - 19968: 0xD6B3, - 31807 - 19968: 0xDDAD, - 31811 - 19968: 0xD5BE, - 31820 - 19968: 0xF1C3, - 31821 - 19968: 0xEEDF, - 31840 - 19968: 0xD6EB, - 31844 - 19968: 0xF4D9, - 31852 - 19968: 0xD7E6, - 31859 - 19968: 0xDAB7, - 31875 - 19968: 0xDDFB, - 31881 - 19968: 0xDDCF, - 31890 - 19968: 0xD8A3, - 31893 - 19968: 0xDAD9, - 31895 - 19968: 0xF0D8, - 31896 - 19968: 0xEFC4, - 31903 - 19968: 0xE1D8, - 31909 - 19968: 0xF1D4, - 31911 - 19968: 0xEDF2, - 31918 - 19968: 0xD5DB, - 31921 - 19968: 0xD5DC, - 31922 - 19968: 0xF3C4, - 31923 - 19968: 0xCBD7, - 31929 - 19968: 0xE2B6, - 31934 - 19968: 0xEFF1, - 31946 - 19968: 0xFBD5, - 31958 - 19968: 0xD3D8, - 31966 - 19968: 0xDDD0, - 31967 - 19968: 0xF0D9, - 31968 - 19968: 0xCBB3, - 31975 - 19968: 0xD5DD, - 31995 - 19968: 0xCDA7, - 31998 - 19968: 0xD0AC, - 32000 - 19968: 0xD1BA, - 32002 - 19968: 0xF1C4, - 32004 - 19968: 0xE5B3, - 32005 - 19968: 0xFBF5, - 32006 - 19968: 0xE9E1, - 32007 - 19968: 0xFDE0, - 32008 - 19968: 0xFCBC, - 32010 - 19968: 0xDAA2, - 32011 - 19968: 0xDAA3, - 32013 - 19968: 0xD2A1, - 32016 - 19968: 0xD2EF, - 32020 - 19968: 0xE2ED, - 32023 - 19968: 0xDEE9, - 32024 - 19968: 0xCEDC, - 32025 - 19968: 0xF2B5, - 32026 - 19968: 0xD0E4, - 32027 - 19968: 0xDDD1, - 32032 - 19968: 0xE1C8, - 32033 - 19968: 0xDBB7, - 32034 - 19968: 0xDFE3, - 32043 - 19968: 0xEDB9, - 32044 - 19968: 0xF1C5, - 32046 - 19968: 0xF3CF, - 32047 - 19968: 0xD7AB, - 32048 - 19968: 0xE1AC, - 32051 - 19968: 0xE3EB, - 32053 - 19968: 0xEEC7, - 32057 - 19968: 0xE1C9, - 32058 - 19968: 0xCAFA, - 32066 - 19968: 0xF0FB, - 32067 - 19968: 0xFAE1, - 32068 - 19968: 0xF0DA, - 32069 - 19968: 0xCCE7, - 32070 - 19968: 0xDAF4, - 32080 - 19968: 0xCCBF, - 32094 - 19968: 0xCEED, - 32097 - 19968: 0xD5A9, - 32098 - 19968: 0xFAE2, - 32102 - 19968: 0xD0E5, - 32104 - 19968: 0xEBD6, - 32106 - 19968: 0xECDF, - 32110 - 19968: 0xDFFC, - 32113 - 19968: 0xF7D6, - 32114 - 19968: 0xDEEA, - 32115 - 19968: 0xCBB4, - 32118 - 19968: 0xEFBE, - 32121 - 19968: 0xCCB5, - 32127 - 19968: 0xCFBD, - 32142 - 19968: 0xEFF2, - 32143 - 19968: 0xE2B7, - 32147 - 19968: 0xCCE8, - 32156 - 19968: 0xF0FC, - 32160 - 19968: 0xD6E0, - 32162 - 19968: 0xF1C6, - 32172 - 19968: 0xE2B8, - 32173 - 19968: 0xEBAB, - 32177 - 19968: 0xCBB5, - 32178 - 19968: 0xD8D1, - 32180 - 19968: 0xF4CE, - 32181 - 19968: 0xF3F7, - 32184 - 19968: 0xD7C6, - 32186 - 19968: 0xD1BB, - 32187 - 19968: 0xF7AA, - 32189 - 19968: 0xEDCA, - 32190 - 19968: 0xD7D3, - 32191 - 19968: 0xD8FA, - 32199 - 19968: 0xF6C5, - 32202 - 19968: 0xD1CC, - 32203 - 19968: 0xDDFC, - 32214 - 19968: 0xDFFD, - 32216 - 19968: 0xF9E5, - 32218 - 19968: 0xE0CA, - 32221 - 19968: 0xF2FD, - 32222 - 19968: 0xD3B0, - 32224 - 19968: 0xF4F3, - 32225 - 19968: 0xDAC9, - 32227 - 19968: 0xE6DE, - 32232 - 19968: 0xF8BA, - 32233 - 19968: 0xE8D0, - 32236 - 19968: 0xD8FB, - 32239 - 19968: 0xEAD5, - 32244 - 19968: 0xD6A3, - 32251 - 19968: 0xF6C6, - 32265 - 19968: 0xF2DB, - 32266 - 19968: 0xE4FC, - 32277 - 19968: 0xE8B2, - 32283 - 19968: 0xDADA, - 32285 - 19968: 0xF2DC, - 32286 - 19968: 0xFBD6, - 32287 - 19968: 0xE9B2, - 32289 - 19968: 0xEEAD, - 32291 - 19968: 0xFAE3, - 32299 - 19968: 0xDCEE, - 32302 - 19968: 0xF5EA, - 32303 - 19968: 0xE6E0, - 32305 - 19968: 0xF0FD, - 32311 - 19968: 0xD7AC, - 32317 - 19968: 0xF5C5, - 32318 - 19968: 0xEEE0, - 32321 - 19968: 0xDBE5, - 32323 - 19968: 0xDDDE, - 32326 - 19968: 0xD9F0, - 32327 - 19968: 0xE9A3, - 32338 - 19968: 0xF1F9, - 32340 - 19968: 0xF2C4, - 32341 - 19968: 0xE0CB, - 32350 - 19968: 0xE9A4, - 32353 - 19968: 0xE2B9, - 32361 - 19968: 0xE3B1, - 32362 - 19968: 0xFCEB, - 32363 - 19968: 0xCDA8, - 32365 - 19968: 0xCCB6, - 32368 - 19968: 0xF0DB, - 32377 - 19968: 0xE6BA, - 32380 - 19968: 0xCDA9, - 32386 - 19968: 0xF3C3, - 32396 - 19968: 0xE1D9, - 32399 - 19968: 0xEFAB, - 32403 - 19968: 0xE7C5, - 32406 - 19968: 0xE0E9, - 32408 - 19968: 0xF3C5, - 32411 - 19968: 0xD4C0, - 32412 - 19968: 0xD5BF, - 32566 - 19968: 0xDDAE, - 32568 - 19968: 0xF9FC, - 32570 - 19968: 0xCCC0, - 32588 - 19968: 0xE5A2, - 32592 - 19968: 0xCEB8, - 32596 - 19968: 0xD8D2, - 32597 - 19968: 0xF9D6, - 32618 - 19968: 0xF1AA, - 32619 - 19968: 0xCED1, - 32622 - 19968: 0xF6C7, - 32624 - 19968: 0xDBEB, - 32626 - 19968: 0xDFFE, - 32629 - 19968: 0xD8E1, - 32631 - 19968: 0xF7F3, - 32633 - 19968: 0xD7E7, - 32645 - 19968: 0xD4FE, - 32648 - 19968: 0xD1BC, - 32650 - 19968: 0xE5CF, - 32652 - 19968: 0xCBB6, - 32654 - 19968: 0xDAB8, - 32660 - 19968: 0xCDC4, - 32666 - 19968: 0xD6BE, - 32670 - 19968: 0xE2BA, - 32676 - 19968: 0xCFD8, - 32680 - 19968: 0xE0CC, - 32681 - 19968: 0xEBF9, - 32690 - 19968: 0xFDFD, - 32696 - 19968: 0xD7E8, - 32697 - 19968: 0xCBD8, - 32701 - 19968: 0xE9E2, - 32705 - 19968: 0xE8BA, - 32709 - 19968: 0xE3C7, - 32714 - 19968: 0xECCD, - 32716 - 19968: 0xECCE, - 32718 - 19968: 0xD6BF, - 32722 - 19968: 0xE3A7, - 32724 - 19968: 0xDFD6, - 32725 - 19968: 0xFDE8, - 32735 - 19968: 0xEEE1, - 32736 - 19968: 0xF6A8, - 32737 - 19968: 0xDDFD, - 32745 - 19968: 0xF8BB, - 32747 - 19968: 0xE8D1, - 32752 - 19968: 0xF9D7, - 32761 - 19968: 0xCEEE, - 32764 - 19968: 0xECCF, - 32768 - 19968: 0xE9A5, - 32769 - 19968: 0xD6D5, - 32771 - 19968: 0xCDC5, - 32773 - 19968: 0xEDBA, - 32774 - 19968: 0xD1BD, - 32777 - 19968: 0xCFBE, - 32780 - 19968: 0xECBB, - 32784 - 19968: 0xD2B1, - 32789 - 19968: 0xCCE9, - 32791 - 19968: 0xD9C4, - 32792 - 19968: 0xE9FC, - 32813 - 19968: 0xD1BE, - 32819 - 19968: 0xECBC, - 32822 - 19968: 0xE5AD, - 32829 - 19968: 0xF7B0, - 32831 - 19968: 0xCCEA, - 32835 - 19968: 0xD3C4, - 32838 - 19968: 0xD6C0, - 32842 - 19968: 0xD6FD, - 32854 - 19968: 0xE1A1, - 32856 - 19968: 0xDEBD, - 32858 - 19968: 0xF6A9, - 32862 - 19968: 0xDAA4, - 32879 - 19968: 0xD6A4, - 32880 - 19968: 0xF5C6, - 32882 - 19968: 0xE1A2, - 32883 - 19968: 0xE9C6, - 32887 - 19968: 0xF2C5, - 32893 - 19968: 0xF4E9, - 32894 - 19968: 0xD6EC, - 32895 - 19968: 0xEBD3, - 32900 - 19968: 0xECBD, - 32901 - 19968: 0xE2DC, - 32902 - 19968: 0xDEEB, - 32903 - 19968: 0xF0DC, - 32905 - 19968: 0xEBBF, - 32907 - 19968: 0xD7CE, - 32908 - 19968: 0xD1BF, - 32918 - 19968: 0xF5AB, - 32923 - 19968: 0xF9FD, - 32925 - 19968: 0xCADC, - 32929 - 19968: 0xCDC6, - 32930 - 19968: 0xF2B6, - 32933 - 19968: 0xDDFE, - 32937 - 19968: 0xCCB7, - 32938 - 19968: 0xDBB8, - 32943 - 19968: 0xD0E9, - 32945 - 19968: 0xCEDD, - 32946 - 19968: 0xEBC0, - 32948 - 19968: 0xFDA2, - 32954 - 19968: 0xF8CB, - 32963 - 19968: 0xEAD6, - 32964 - 19968: 0xF1B0, - 32972 - 19968: 0xDBCE, - 32974 - 19968: 0xF7C3, - 32986 - 19968: 0xDBCF, - 32987 - 19968: 0xCBA4, - 32990 - 19968: 0xF8E0, - 32993 - 19968: 0xFBD7, - 32996 - 19968: 0xEBCA, - 32997 - 19968: 0xE0A1, - 33009 - 19968: 0xCECD, - 33012 - 19968: 0xD4DC, - 33016 - 19968: 0xFDD8, - 33021 - 19968: 0xD2F6, - 33026 - 19968: 0xF2B7, - 33029 - 19968: 0xFAF6, - 33030 - 19968: 0xF6AA, - 33031 - 19968: 0xFAF7, - 33032 - 19968: 0xD8E6, - 33034 - 19968: 0xF4B1, - 33048 - 19968: 0xE8D2, - 33050 - 19968: 0xCAC5, - 33051 - 19968: 0xCCEB, - 33059 - 19968: 0xE2EE, - 33065 - 19968: 0xE2BB, - 33067 - 19968: 0xF7AD, - 33071 - 19968: 0xF8E1, - 33081 - 19968: 0xF3EC, - 33086 - 19968: 0xDEA1, - 33099 - 19968: 0xE4FD, - 33102 - 19968: 0xE3EC, - 33104 - 19968: 0xDDAF, - 33105 - 19968: 0xDDB0, - 33108 - 19968: 0xCBB7, - 33109 - 19968: 0xE8D3, - 33125 - 19968: 0xE1A3, - 33126 - 19968: 0xD2E0, - 33131 - 19968: 0xF0FE, - 33136 - 19968: 0xE9A6, - 33137 - 19968: 0xCBF2, - 33144 - 19968: 0xEDF3, - 33145 - 19968: 0xDCD9, - 33146 - 19968: 0xE0CD, - 33151 - 19968: 0xF7DA, - 33152 - 19968: 0xDBB9, - 33160 - 19968: 0xCCAE, - 33162 - 19968: 0xDADB, - 33167 - 19968: 0xCDC7, - 33178 - 19968: 0xDDB1, - 33180 - 19968: 0xD8AF, - 33181 - 19968: 0xE3A3, - 33184 - 19968: 0xCEEF, - 33187 - 19968: 0xF2F3, - 33192 - 19968: 0xF8B3, - 33203 - 19968: 0xE0CE, - 33205 - 19968: 0xF5FD, - 33210 - 19968: 0xEBEC, - 33213 - 19968: 0xD3C5, - 33214 - 19968: 0xFCEC, - 33215 - 19968: 0xD2DB, - 33216 - 19968: 0xD4EB, - 33218 - 19968: 0xDEA2, - 33222 - 19968: 0xE5E6, - 33229 - 19968: 0xF0B0, - 33240 - 19968: 0xD5C4, - 33247 - 19968: 0xEDF4, - 33251 - 19968: 0xE3ED, - 33253 - 19968: 0xE8C2, - 33255 - 19968: 0xEDF5, - 33256 - 19968: 0xD7FC, - 33258 - 19968: 0xEDBB, - 33261 - 19968: 0xF6AB, - 33267 - 19968: 0xF2B8, - 33268 - 19968: 0xF6C8, - 33274 - 19968: 0xD3E6, - 33275 - 19968: 0xF2DD, - 33276 - 19968: 0xCFBF, - 33278 - 19968: 0xEBAC, - 33285 - 19968: 0xCFC0, - 33287 - 19968: 0xE6A8, - 33288 - 19968: 0xFDE9, - 33290 - 19968: 0xCFC1, - 33292 - 19968: 0xE0DF, - 33293 - 19968: 0xDEEC, - 33298 - 19968: 0xE0A2, - 33307 - 19968: 0xF4BF, - 33308 - 19968: 0xE2EF, - 33310 - 19968: 0xD9F1, - 33311 - 19968: 0xF1C7, - 33313 - 19968: 0xCBB8, - 33322 - 19968: 0xF9FE, - 33323 - 19968: 0xDBBA, - 33324 - 19968: 0xDAF5, - 33333 - 19968: 0xF6EC, - 33334 - 19968: 0xDADC, - 33335 - 19968: 0xFAE4, - 33337 - 19968: 0xE0CF, - 33344 - 19968: 0xDDB2, - 33349 - 19968: 0xE6A9, - 33351 - 19968: 0xEFF3, - 33369 - 19968: 0xF3ED, - 33380 - 19968: 0xEBFA, - 33382 - 19968: 0xF9E6, - 33390 - 19968: 0xCADD, - 33391 - 19968: 0xD5DE, - 33393 - 19968: 0xCADE, - 33394 - 19968: 0xDFE4, - 33398 - 19968: 0xE6FD, - 33400 - 19968: 0xF5AC, - 33406 - 19968: 0xE4F5, - 33419 - 19968: 0xE9E3, - 33421 - 19968: 0xEDCB, - 33422 - 19968: 0xCFE4, - 33426 - 19968: 0xD8D3, - 33433 - 19968: 0xDDB3, - 33434 - 19968: 0xD4EC, - 33437 - 19968: 0xF2B9, - 33439 - 19968: 0xDFB7, - 33445 - 19968: 0xCBCE, - 33446 - 19968: 0xFBD8, - 33449 - 19968: 0xD0D9, - 33452 - 19968: 0xDDD2, - 33453 - 19968: 0xF7F4, - 33454 - 19968: 0xE7DC, - 33455 - 19968: 0xE4A5, - 33457 - 19968: 0xFCA3, - 33459 - 19968: 0xDBBB, - 33463 - 19968: 0xF2BA, - 33464 - 19968: 0xE9FD, - 33465 - 19968: 0xD0CA, - 33467 - 19968: 0xF5D6, - 33468 - 19968: 0xD9C5, - 33469 - 19968: 0xE4B4, - 33471 - 19968: 0xEDA7, - 33489 - 19968: 0xEABD, - 33490 - 19968: 0xE6FE, - 33492 - 19968: 0xF7C4, - 33493 - 19968: 0xF5AD, - 33495 - 19968: 0xD9E0, - 33499 - 19968: 0xCAB4, - 33502 - 19968: 0xF8E2, - 33503 - 19968: 0xCFC2, - 33505 - 19968: 0xECBE, - 33509 - 19968: 0xE5B4, - 33510 - 19968: 0xCDC8, - 33511 - 19968: 0xEEC8, - 33521 - 19968: 0xE7C8, - 33533 - 19968: 0xCDC9, - 33534 - 19968: 0xF9B7, - 33537 - 19968: 0xF1E8, - 33538 - 19968: 0xD9F2, - 33539 - 19968: 0xDBF5, - 33540 - 19968: 0xCAB5, - 33541 - 19968: 0xD9C6, - 33545 - 19968: 0xD8C9, - 33559 - 19968: 0xD9AB, - 33576 - 19968: 0xEDBC, - 33579 - 19968: 0xD8D4, - 33583 - 19968: 0xDCDA, - 33585 - 19968: 0xE2BC, - 33588 - 19968: 0xFCED, - 33589 - 19968: 0xECE0, - 33590 - 19968: 0xD2FE, - 33592 - 19968: 0xE9C7, - 33593 - 19968: 0xE6AA, - 33600 - 19968: 0xE2F0, - 33607 - 19968: 0xFABB, - 33609 - 19968: 0xF5AE, - 33610 - 19968: 0xFBAA, - 33615 - 19968: 0xECFB, - 33617 - 19968: 0xECBF, - 33618 - 19968: 0xFCD8, - 33651 - 19968: 0xD4E5, - 33655 - 19968: 0xF9C3, - 33659 - 19968: 0xEEE2, - 33673 - 19968: 0xD7E9, - 33674 - 19968: 0xEDF6, - 33678 - 19968: 0xDEED, - 33686 - 19968: 0xCCEC, - 33688 - 19968: 0xE3EE, - 33694 - 19968: 0xE8D4, - 33698 - 19968: 0xFAF8, - 33705 - 19968: 0xDDB4, - 33706 - 19968: 0xE4B5, - 33707 - 19968: 0xD8B0, - 33725 - 19968: 0xD8D5, - 33729 - 19968: 0xF4EA, - 33733 - 19968: 0xCEB9, - 33737 - 19968: 0xD6E1, - 33738 - 19968: 0xCFD2, - 33740 - 19968: 0xD0B6, - 33747 - 19968: 0xCEA2, - 33750 - 19968: 0xF3EE, - 33756 - 19968: 0xF3F8, - 33769 - 19968: 0xDCCC, - 33771 - 19968: 0xD0CB, - 33775 - 19968: 0xFCA4, - 33776 - 19968: 0xCDCA, - 33777 - 19968: 0xD7D4, - 33778 - 19968: 0xDEA3, - 33780 - 19968: 0xE4E0, - 33785 - 19968: 0xEEC9, - 33789 - 19968: 0xE2DD, - 33795 - 19968: 0xF5FE, - 33796 - 19968: 0xD4AC, - 33802 - 19968: 0xD5D1, - 33804 - 19968: 0xD8F0, - 33805 - 19968: 0xF8C3, - 33806 - 19968: 0xEAD7, - 33833 - 19968: 0xF5D7, - 33836 - 19968: 0xD8BF, - 33841 - 19968: 0xFDC0, - 33848 - 19968: 0xEBAD, - 33853 - 19968: 0xD5AA, - 33865 - 19968: 0xE7A8, - 33879 - 19968: 0xEECA, - 33883 - 19968: 0xCAE7, - 33889 - 19968: 0xF8E3, - 33891 - 19968: 0xD4DD, - 33894 - 19968: 0xEAD8, - 33899 - 19968: 0xFBD9, - 33900 - 19968: 0xEDF7, - 33903 - 19968: 0xE5B5, - 33909 - 19968: 0xD0AD, - 33914 - 19968: 0xF1F1, - 33936 - 19968: 0xE2BD, - 33940 - 19968: 0xE3C8, - 33945 - 19968: 0xD9D5, - 33948 - 19968: 0xDFAA, - 33953 - 19968: 0xDBBC, - 33970 - 19968: 0xF8E4, - 33976 - 19968: 0xF1FA, - 33979 - 19968: 0xE5B6, - 33980 - 19968: 0xF3EF, - 33983 - 19968: 0xFBDA, - 33984 - 19968: 0xE1E0, - 33986 - 19968: 0xD9AC, - 33988 - 19968: 0xF5EB, - 33990 - 19968: 0xE0B6, - 33993 - 19968: 0xE9C8, - 33995 - 19968: 0xCBCF, - 33997 - 19968: 0xE3C9, - 34001 - 19968: 0xDEEE, - 34010 - 19968: 0xE2BE, - 34028 - 19968: 0xDCEF, - 34030 - 19968: 0xD6A5, - 34036 - 19968: 0xE2F1, - 34044 - 19968: 0xD6FE, - 34065 - 19968: 0xD9A1, - 34067 - 19968: 0xD8C0, - 34068 - 19968: 0xDCDB, - 34071 - 19968: 0xEDBD, - 34072 - 19968: 0xDFB8, - 34074 - 19968: 0xEAA5, - 34078 - 19968: 0xD7AD, - 34081 - 19968: 0xF3F9, - 34083 - 19968: 0xEDF8, - 34085 - 19968: 0xF5C7, - 34092 - 19968: 0xE1CA, - 34093 - 19968: 0xEBE3, - 34095 - 19968: 0xF2DE, - 34109 - 19968: 0xF8CC, - 34111 - 19968: 0xEAD9, - 34113 - 19968: 0xD3C6, - 34115 - 19968: 0xDBE6, - 34121 - 19968: 0xF5AF, - 34126 - 19968: 0xCEF0, - 34131 - 19968: 0xE9FE, - 34137 - 19968: 0xFBB6, - 34147 - 19968: 0xE2F2, - 34152 - 19968: 0xCFF2, - 34153 - 19968: 0xF7B9, - 34154 - 19968: 0xD9F3, - 34157 - 19968: 0xE1CB, - 34180 - 19968: 0xDADD, - 34183 - 19968: 0xDAB9, - 34191 - 19968: 0xEBFB, - 34193 - 19968: 0xCBB9, - 34196 - 19968: 0xEDF9, - 34203 - 19968: 0xE0E0, - 34214 - 19968: 0xF4C0, - 34216 - 19968: 0xFDBC, - 34217 - 19968: 0xDFB1, - 34218 - 19968: 0xE3EF, - 34223 - 19968: 0xE0A3, - 34224 - 19968: 0xFDB9, - 34234 - 19968: 0xF0B1, - 34241 - 19968: 0xCDCB, - 34249 - 19968: 0xEDBE, - 34253 - 19968: 0xD5C0, - 34254 - 19968: 0xE3F0, - 34255 - 19968: 0xEDFA, - 34261 - 19968: 0xE9E4, - 34268 - 19968: 0xD5ED, - 34269 - 19968: 0xE7DD, - 34276 - 19968: 0xD4F6, - 34277 - 19968: 0xE5B7, - 34281 - 19968: 0xDBE7, - 34282 - 19968: 0xE2BF, - 34295 - 19968: 0xEECB, - 34298 - 19968: 0xD7F4, - 34299 - 19968: 0xF0DD, - 34303 - 19968: 0xCEAB, - 34306 - 19968: 0xE7DE, - 34310 - 19968: 0xD6D6, - 34311 - 19968: 0xE1CC, - 34314 - 19968: 0xE8B3, - 34326 - 19968: 0xE5EE, - 34327 - 19968: 0xDCA2, - 34330 - 19968: 0xE0D0, - 34349 - 19968: 0xD5B5, - 34367 - 19968: 0xD5A1, - 34382 - 19968: 0xFBDB, - 34384 - 19968: 0xF9CB, - 34388 - 19968: 0xCBF3, - 34389 - 19968: 0xF4A5, - 34395 - 19968: 0xFAC8, - 34396 - 19968: 0xD6D7, - 34398 - 19968: 0xE9E5, - 34399 - 19968: 0xFBDC, - 34407 - 19968: 0xFDD0, - 34425 - 19968: 0xFBF6, - 34442 - 19968: 0xDAA5, - 34444 - 19968: 0xDBBD, - 34451 - 19968: 0xECE2, - 34467 - 19968: 0xCDF7, - 34468 - 19968: 0xF0DE, - 34473 - 19968: 0xF6C9, - 34503 - 19968: 0xDEEF, - 34507 - 19968: 0xD3B1, - 34516 - 19968: 0xFCEE, - 34521 - 19968: 0xE8C3, - 34523 - 19968: 0xF1C8, - 34527 - 19968: 0xCEF1, - 34532 - 19968: 0xF9ED, - 34541 - 19968: 0xF2F4, - 34558 - 19968: 0xE4B6, - 34560 - 19968: 0xF5B9, - 34562 - 19968: 0xDCF0, - 34563 - 19968: 0xE3F1, - 34568 - 19968: 0xE8A5, - 34584 - 19968: 0xF2BB, - 34586 - 19968: 0xDEA4, - 34588 - 19968: 0xDACC, - 34638 - 19968: 0xCAE9, - 34645 - 19968: 0xE3DA, - 34647 - 19968: 0xFCD9, - 34655 - 19968: 0xEADA, - 34662 - 19968: 0xF9C4, - 34664 - 19968: 0xE3A4, - 34676 - 19968: 0xFBDD, - 34678 - 19968: 0xEFCA, - 34680 - 19968: 0xE8C4, - 34690 - 19968: 0xD5CC, - 34701 - 19968: 0xEBD7, - 34719 - 19968: 0xD9AD, - 34722 - 19968: 0xFBAB, - 34739 - 19968: 0xD3D9, - 34746 - 19968: 0xD5A2, - 34756 - 19968: 0xF6DE, - 34784 - 19968: 0xDAF6, - 34796 - 19968: 0xE0D1, - 34799 - 19968: 0xE9A8, - 34802 - 19968: 0xF5F9, - 34809 - 19968: 0xFAAF, - 34811 - 19968: 0xEBFC, - 34814 - 19968: 0xE0EA, - 34821 - 19968: 0xE3B2, - 34847 - 19968: 0xD5C5, - 34850 - 19968: 0xF1E3, - 34851 - 19968: 0xD5EE, - 34865 - 19968: 0xCDCC, - 34870 - 19968: 0xEDD9, - 34875 - 19968: 0xD8C1, - 34880 - 19968: 0xFAEC, - 34886 - 19968: 0xF1EB, - 34892 - 19968: 0xFABC, - 34893 - 19968: 0xE6E2, - 34898 - 19968: 0xFAE5, - 34899 - 19968: 0xE2FA, - 34903 - 19968: 0xCAB6, - 34905 - 19968: 0xE4B7, - 34907 - 19968: 0xEADB, - 34909 - 19968: 0xF5FA, - 34913 - 19968: 0xFBAC, - 34914 - 19968: 0xCFC3, - 34915 - 19968: 0xEBFD, - 34920 - 19968: 0xF8FA, - 34923 - 19968: 0xDFB9, - 34928 - 19968: 0xE1F1, - 34930 - 19968: 0xD2A4, - 34935 - 19968: 0xF5FB, - 34942 - 19968: 0xD0DA, - 34943 - 19968: 0xD0DB, - 34945 - 19968: 0xEABE, - 34946 - 19968: 0xD9B1, - 34952 - 19968: 0xCAB7, - 34955 - 19968: 0xD3E7, - 34957 - 19968: 0xF8E5, - 34962 - 19968: 0xD3B2, - 34966 - 19968: 0xE2C0, - 34967 - 19968: 0xF2DF, - 34974 - 19968: 0xCDE5, - 34987 - 19968: 0xF9AC, - 34996 - 19968: 0xCDCD, - 35009 - 19968: 0xEEAE, - 35010 - 19968: 0xD6AE, - 35023 - 19968: 0xD7EA, - 35028 - 19968: 0xE7E0, - 35029 - 19968: 0xEBAE, - 35033 - 19968: 0xCFD9, - 35036 - 19968: 0xDCCD, - 35037 - 19968: 0xEDFB, - 35039 - 19968: 0xDEF0, - 35041 - 19968: 0xD7EB, - 35048 - 19968: 0xDEA5, - 35059 - 19968: 0xDFD7, - 35060 - 19968: 0xDBD0, - 35061 - 19968: 0xDBD1, - 35064 - 19968: 0xD5A3, - 35069 - 19968: 0xF0B2, - 35079 - 19968: 0xDCDC, - 35088 - 19968: 0xCAE8, - 35090 - 19968: 0xF8E6, - 35091 - 19968: 0xDCCE, - 35096 - 19968: 0xEADC, - 35097 - 19968: 0xDBD2, - 35109 - 19968: 0xE9B3, - 35114 - 19968: 0xF7DB, - 35126 - 19968: 0xE3A8, - 35128 - 19968: 0xD7AE, - 35131 - 19968: 0xE0E1, - 35137 - 19968: 0xCBBA, - 35140 - 19968: 0xE5D1, - 35167 - 19968: 0xD0DC, - 35172 - 19968: 0xD5C1, - 35178 - 19968: 0xD8CA, - 35186 - 19968: 0xE3A9, - 35199 - 19968: 0xE0A4, - 35201 - 19968: 0xE9A9, - 35203 - 19968: 0xD3C7, - 35206 - 19968: 0xDCDD, - 35207 - 19968: 0xF8AE, - 35211 - 19968: 0xCCB8, - 35215 - 19968: 0xD0AE, - 35219 - 19968: 0xD8F2, - 35222 - 19968: 0xE3CA, - 35233 - 19968: 0xCCAF, - 35241 - 19968: 0xD4AD, - 35242 - 19968: 0xF6D1, - 35250 - 19968: 0xD0CC, - 35258 - 19968: 0xCAC6, - 35261 - 19968: 0xD5C2, - 35264 - 19968: 0xCEBA, - 35282 - 19968: 0xCAC7, - 35299 - 19968: 0xFAB0, - 35316 - 19968: 0xDFD8, - 35320 - 19968: 0xF5BA, - 35328 - 19968: 0xE5EB, - 35330 - 19968: 0xEFF4, - 35331 - 19968: 0xDDB5, - 35336 - 19968: 0xCDAA, - 35338 - 19968: 0xE3F2, - 35340 - 19968: 0xFBF7, - 35342 - 19968: 0xF7D0, - 35347 - 19968: 0xFDBA, - 35350 - 19968: 0xFDE1, - 35351 - 19968: 0xF6FE, - 35352 - 19968: 0xD1C0, - 35355 - 19968: 0xE8C5, - 35357 - 19968: 0xE4B8, - 35359 - 19968: 0xE1E8, - 35363 - 19968: 0xCCC1, - 35365 - 19968: 0xD2ED, - 35370 - 19968: 0xDBBE, - 35373 - 19968: 0xE0E2, - 35377 - 19968: 0xFAC9, - 35380 - 19968: 0xE1CD, - 35382 - 19968: 0xCAB8, - 35386 - 19968: 0xF2E0, - 35387 - 19968: 0xF1C9, - 35408 - 19968: 0xDEF1, - 35412 - 19968: 0xF0DF, - 35413 - 19968: 0xF8C4, - 35419 - 19968: 0xEECC, - 35422 - 19968: 0xDEF2, - 35424 - 19968: 0xE7C9, - 35426 - 19968: 0xE2F3, - 35427 - 19968: 0xE7E1, - 35430 - 19968: 0xE3CB, - 35433 - 19968: 0xE3CC, - 35437 - 19968: 0xCFF8, - 35438 - 19968: 0xEFAC, - 35440 - 19968: 0xFDFE, - 35441 - 19968: 0xFCA5, - 35442 - 19968: 0xFAB1, - 35443 - 19968: 0xDFD9, - 35445 - 19968: 0xE0D2, - 35449 - 19968: 0xF4DA, - 35461 - 19968: 0xF1CA, - 35463 - 19968: 0xCEA3, - 35468 - 19968: 0xF2BC, - 35469 - 19968: 0xECE3, - 35475 - 19968: 0xE0A5, - 35477 - 19968: 0xF7AB, - 35480 - 19968: 0xEBAF, - 35486 - 19968: 0xE5DE, - 35488 - 19968: 0xE1A4, - 35489 - 19968: 0xCDAB, - 35491 - 19968: 0xD9F4, - 35492 - 19968: 0xE8A6, - 35493 - 19968: 0xCDCE, - 35494 - 19968: 0xE1E9, - 35496 - 19968: 0xFCEF, - 35498 - 19968: 0xE0E3, - 35504 - 19968: 0xE2C1, - 35506 - 19968: 0xCEA4, - 35513 - 19968: 0xDEA6, - 35516 - 19968: 0xEBFE, - 35518 - 19968: 0xEBDD, - 35519 - 19968: 0xF0E0, - 35522 - 19968: 0xF4DB, - 35524 - 19968: 0xE2F4, - 35527 - 19968: 0xD3C8, - 35531 - 19968: 0xF4EB, - 35533 - 19968: 0xEEB5, - 35535 - 19968: 0xF5D8, - 35538 - 19968: 0xD5DF, - 35542 - 19968: 0xD6E5, - 35547 - 19968: 0xEBB0, - 35548 - 19968: 0xF4E3, - 35553 - 19968: 0xE3CD, - 35558 - 19968: 0xF4F4, - 35559 - 19968: 0xFAB2, - 35562 - 19968: 0xEFF5, - 35563 - 19968: 0xCADF, - 35565 - 19968: 0xEBB1, - 35566 - 19968: 0xEDBF, - 35569 - 19968: 0xFDC9, - 35574 - 19968: 0xE4A6, - 35575 - 19968: 0xF9A4, - 35576 - 19968: 0xF0B3, - 35578 - 19968: 0xE5EC, - 35582 - 19968: 0xD1E7, - 35584 - 19968: 0xD9C7, - 35585 - 19968: 0xE4D7, - 35586 - 19968: 0xEADD, - 35588 - 19968: 0xD4F7, - 35598 - 19968: 0xDABA, - 35600 - 19968: 0xDACD, - 35604 - 19968: 0xF9CC, - 35606 - 19968: 0xE1DA, - 35607 - 19968: 0xDBBF, - 35609 - 19968: 0xCCC5, - 35610 - 19968: 0xECD0, - 35611 - 19968: 0xCBBB, - 35613 - 19968: 0xDEF3, - 35616 - 19968: 0xE9AA, - 35624 - 19968: 0xD9C8, - 35627 - 19968: 0xEEE3, - 35628 - 19968: 0xD7BD, - 35635 - 19968: 0xCFC4, - 35641 - 19968: 0xD0CD, - 35649 - 19968: 0xFCA6, - 35657 - 19968: 0xF1FB, - 35662 - 19968: 0xFDD2, - 35663 - 19968: 0xD1C1, - 35672 - 19968: 0xE3DB, - 35674 - 19968: 0xD3C9, - 35676 - 19968: 0xDCCF, - 35686 - 19968: 0xCCED, - 35692 - 19968: 0xDEA7, - 35695 - 19968: 0xE6BB, - 35696 - 19968: 0xECA1, - 35700 - 19968: 0xCCB9, - 35703 - 19968: 0xFBDE, - 35709 - 19968: 0xE7E2, - 35712 - 19968: 0xD4C1, - 35722 - 19968: 0xDCA8, - 35728 - 19968: 0xE2C2, - 35730 - 19968: 0xF3D8, - 35731 - 19968: 0xE5D3, - 35734 - 19968: 0xF3D9, - 35738 - 19968: 0xF3C6, - 35895 - 19968: 0xCDDB, - 35903 - 19968: 0xCDAC, - 35905 - 19968: 0xFCC3, - 35910 - 19968: 0xD4E7, - 35912 - 19968: 0xD1C2, - 35914 - 19968: 0xF9A5, - 35916 - 19968: 0xE8D5, - 35925 - 19968: 0xE3CE, - 35930 - 19968: 0xD4CA, - 35937 - 19968: 0xDFDA, - 35946 - 19968: 0xFBDF, - 35947 - 19968: 0xE7E3, - 35961 - 19968: 0xF8FB, - 35962 - 19968: 0xE3CF, - 35970 - 19968: 0xF5B0, - 35978 - 19968: 0xD8E7, - 35980 - 19968: 0xD9C9, - 35997 - 19968: 0xF8AF, - 35998 - 19968: 0xEFF6, - 36000 - 19968: 0xDDB6, - 36001 - 19968: 0xEEAF, - 36002 - 19968: 0xCDF8, - 36007 - 19968: 0xDEB8, - 36008 - 19968: 0xFCA7, - 36009 - 19968: 0xF7FC, - 36010 - 19968: 0xF7B1, - 36011 - 19968: 0xCEBB, - 36012 - 19968: 0xF4A1, - 36015 - 19968: 0xEECD, - 36016 - 19968: 0xE1AE, - 36019 - 19968: 0xECC3, - 36020 - 19968: 0xCFFE, - 36022 - 19968: 0xF8BF, - 36023 - 19968: 0xD8E2, - 36024 - 19968: 0xD3E8, - 36027 - 19968: 0xDEA8, - 36028 - 19968: 0xF4E4, - 36029 - 19968: 0xECC2, - 36031 - 19968: 0xD9F5, - 36032 - 19968: 0xF9C5, - 36033 - 19968: 0xDDD3, - 36034 - 19968: 0xD6F1, - 36035 - 19968: 0xECFC, - 36036 - 19968: 0xFCF0, - 36039 - 19968: 0xEDC0, - 36040 - 19968: 0xCAB9, - 36042 - 19968: 0xEEE4, - 36049 - 19968: 0xF2E1, - 36051 - 19968: 0xDEB9, - 36058 - 19968: 0xD6F2, - 36060 - 19968: 0xDEF4, - 36062 - 19968: 0xDFDB, - 36064 - 19968: 0xDBD3, - 36066 - 19968: 0xFAE7, - 36067 - 19968: 0xD8E3, - 36068 - 19968: 0xF4C1, - 36070 - 19968: 0xDDB7, - 36074 - 19968: 0xF2F5, - 36077 - 19968: 0xD4AE, - 36084 - 19968: 0xD6F3, - 36091 - 19968: 0xDDB8, - 36092 - 19968: 0xCFC5, - 36093 - 19968: 0xDFDF, - 36100 - 19968: 0xF2BE, - 36101 - 19968: 0xF6A1, - 36103 - 19968: 0xEBCB, - 36104 - 19968: 0xF1FC, - 36106 - 19968: 0xF3C7, - 36109 - 19968: 0xE0EB, - 36115 - 19968: 0xEDFC, - 36118 - 19968: 0xE1DB, - 36196 - 19968: 0xEEE5, - 36198 - 19968: 0xDEF5, - 36203 - 19968: 0xFAD3, - 36208 - 19968: 0xF1CB, - 36211 - 19968: 0xD0AF, - 36212 - 19968: 0xDDB9, - 36215 - 19968: 0xD1C3, - 36229 - 19968: 0xF5B1, - 36234 - 19968: 0xEAC6, - 36249 - 19968: 0xF0E1, - 36259 - 19968: 0xF6AC, - 36264 - 19968: 0xF5D9, - 36275 - 19968: 0xF0EB, - 36282 - 19968: 0xDDBA, - 36286 - 19968: 0xF2BF, - 36294 - 19968: 0xF7C5, - 36299 - 19968: 0xDBA2, - 36300 - 19968: 0xF2F6, - 36303 - 19968: 0xCABA, - 36315 - 19968: 0xF7F5, - 36317 - 19968: 0xCBE5, - 36321 - 19968: 0xEEE6, - 36323 - 19968: 0xE0D3, - 36328 - 19968: 0xCEA5, - 36335 - 19968: 0xD6D8, - 36339 - 19968: 0xD4AF, - 36362 - 19968: 0xE9C9, - 36367 - 19968: 0xD3CE, - 36368 - 19968: 0xF4C2, - 36382 - 19968: 0xCBE6, - 36394 - 19968: 0xF1A1, - 36400 - 19968: 0xEBB2, - 36405 - 19968: 0xF1A2, - 36418 - 19968: 0xEBB3, - 36420 - 19968: 0xF0B4, - 36423 - 19968: 0xCBF4, - 36424 - 19968: 0xD4B0, - 36425 - 19968: 0xF3B2, - 36426 - 19968: 0xFBB7, - 36441 - 19968: 0xF5EC, - 36447 - 19968: 0xEEE7, - 36448 - 19968: 0xF4B2, - 36468 - 19968: 0xF5ED, - 36470 - 19968: 0xCFF3, - 36481 - 19968: 0xF0E2, - 36487 - 19968: 0xEECE, - 36490 - 19968: 0xF1CC, - 36493 - 19968: 0xE5B8, - 36522 - 19968: 0xD7F5, - 36523 - 19968: 0xE3F3, - 36524 - 19968: 0xCFE5, - 36544 - 19968: 0xCFC6, - 36554 - 19968: 0xF3B3, - 36555 - 19968: 0xE4D8, - 36556 - 19968: 0xCFF9, - 36557 - 19968: 0xCFDA, - 36562 - 19968: 0xFACD, - 36575 - 19968: 0xE6E3, - 36587 - 19968: 0xF2E2, - 36600 - 19968: 0xF5EE, - 36603 - 19968: 0xCABB, - 36606 - 19968: 0xE3DC, - 36611 - 19968: 0xCEF2, - 36613 - 19968: 0xD6D9, - 36617 - 19968: 0xEEB0, - 36626 - 19968: 0xF4E5, - 36627 - 19968: 0xD8C2, - 36628 - 19968: 0xDCD0, - 36629 - 19968: 0xCCEE, - 36635 - 19968: 0xD5E0, - 36636 - 19968: 0xF6CA, - 36637 - 19968: 0xFDCA, - 36638 - 19968: 0xD8D6, - 36639 - 19968: 0xF4CF, - 36646 - 19968: 0xD6A6, - 36647 - 19968: 0xDCBE, - 36649 - 19968: 0xDBD4, - 36650 - 19968: 0xD7C7, - 36655 - 19968: 0xF2FE, - 36659 - 19968: 0xF1CD, - 36664 - 19968: 0xE2C3, - 36665 - 19968: 0xDCDE, - 36667 - 19968: 0xDCDF, - 36670 - 19968: 0xEFAD, - 36671 - 19968: 0xE6AB, - 36676 - 19968: 0xF9DD, - 36677 - 19968: 0xEABF, - 36681 - 19968: 0xEFAE, - 36685 - 19968: 0xF4D0, - 36686 - 19968: 0xCEF3, - 36701 - 19968: 0xE6AC, - 36703 - 19968: 0xCEDE, - 36706 - 19968: 0xD5F9, - 36763 - 19968: 0xE3F4, - 36764 - 19968: 0xCDD0, - 36771 - 19968: 0xD5B8, - 36774 - 19968: 0xF7FD, - 36776 - 19968: 0xDCA9, - 36781 - 19968: 0xDEF6, - 36783 - 19968: 0xDCAA, - 36784 - 19968: 0xF2E3, - 36785 - 19968: 0xE9B4, - 36786 - 19968: 0xD2DC, - 36802 - 19968: 0xE9E6, - 36805 - 19968: 0xE3F6, - 36814 - 19968: 0xE7CA, - 36817 - 19968: 0xD0CE, - 36820 - 19968: 0xDAF7, - 36838 - 19968: 0xCABC, - 36842 - 19968: 0xEEE8, - 36843 - 19968: 0xDADE, - 36845 - 19968: 0xF2F7, - 36848 - 19968: 0xE2FB, - 36850 - 19968: 0xCCA6, - 36855 - 19968: 0xDABB, - 36857 - 19968: 0xEEE9, - 36861 - 19968: 0xF5DA, - 36864 - 19968: 0xF7DC, - 36865 - 19968: 0xE1EA, - 36866 - 19968: 0xCEC1, - 36867 - 19968: 0xD4B1, - 36869 - 19968: 0xFDB1, - 36870 - 19968: 0xE6BD, - 36872 - 19968: 0xFBAD, - 36875 - 19968: 0xF8E7, - 36877 - 19968: 0xE1CE, - 36879 - 19968: 0xF7E2, - 36880 - 19968: 0xF5EF, - 36881 - 19968: 0xCFC7, - 36884 - 19968: 0xD4B2, - 36885 - 19968: 0xCCEF, - 36887 - 19968: 0xD4E8, - 36889 - 19968: 0xEECF, - 36890 - 19968: 0xF7D7, - 36893 - 19968: 0xE0A6, - 36894 - 19968: 0xD6C1, - 36895 - 19968: 0xE1DC, - 36896 - 19968: 0xF0E3, - 36897 - 19968: 0xF1E4, - 36898 - 19968: 0xDCF1, - 36899 - 19968: 0xD6A7, - 36910 - 19968: 0xF4F5, - 36913 - 19968: 0xF1CE, - 36914 - 19968: 0xF2E4, - 36917 - 19968: 0xD0B0, - 36920 - 19968: 0xECEF, - 36924 - 19968: 0xF9BA, - 36926 - 19968: 0xEBB5, - 36929 - 19968: 0xD4ED, - 36930 - 19968: 0xE2C4, - 36935 - 19968: 0xE9E7, - 36938 - 19968: 0xEBB4, - 36939 - 19968: 0xEAA1, - 36941 - 19968: 0xF8BC, - 36942 - 19968: 0xCEA6, - 36944 - 19968: 0xF9C6, - 36945 - 19968: 0xFCDA, - 36947 - 19968: 0xD4B3, - 36948 - 19968: 0xD3B9, - 36949 - 19968: 0xEADE, - 36953 - 19968: 0xE9AB, - 36956 - 19968: 0xE1E1, - 36957 - 19968: 0xD3CF, - 36958 - 19968: 0xF4F6, - 36960 - 19968: 0xEAC0, - 36961 - 19968: 0xE1CF, - 36963 - 19968: 0xCCBA, - 36969 - 19968: 0xEEEA, - 36973 - 19968: 0xF0E4, - 36974 - 19968: 0xF3B4, - 36975 - 19968: 0xD4EE, - 36978 - 19968: 0xF2C0, - 36981 - 19968: 0xF1E5, - 36983 - 19968: 0xF4C3, - 36984 - 19968: 0xE0D4, - 36986 - 19968: 0xEBB6, - 36988 - 19968: 0xD7A1, - 36989 - 19968: 0xCBE8, - 36991 - 19968: 0xF9AD, - 36992 - 19968: 0xE9AD, - 36993 - 19968: 0xD8E4, - 36994 - 19968: 0xFAB3, - 36995 - 19968: 0xE2C5, - 36996 - 19968: 0xFCBD, - 36999 - 19968: 0xECC4, - 37000 - 19968: 0xD8B1, - 37002 - 19968: 0xDCAB, - 37007 - 19968: 0xD5A4, - 37009 - 19968: 0xEBE9, - 37013 - 19968: 0xE8BB, - 37017 - 19968: 0xD8D7, - 37026 - 19968: 0xFBAE, - 37027 - 19968: 0xD1E1, - 37030 - 19968: 0xDBC0, - 37032 - 19968: 0xF5BE, - 37034 - 19968: 0xDEF7, - 37039 - 19968: 0xCAFB, - 37040 - 19968: 0xF7C6, - 37041 - 19968: 0xCFC8, - 37045 - 19968: 0xE1D0, - 37048 - 19968: 0xEED0, - 37057 - 19968: 0xE9F4, - 37066 - 19968: 0xCEF4, - 37086 - 19968: 0xD5CD, - 37089 - 19968: 0xCFDB, - 37096 - 19968: 0xDDBB, - 37101 - 19968: 0xCEAC, - 37109 - 19968: 0xE9E8, - 37117 - 19968: 0xD4B4, - 37122 - 19968: 0xE4C7, - 37138 - 19968: 0xF5DB, - 37141 - 19968: 0xFAC1, - 37145 - 19968: 0xDEA9, - 37159 - 19968: 0xD4F8, - 37165 - 19968: 0xEFF7, - 37170 - 19968: 0xD3B3, - 37193 - 19968: 0xEBB7, - 37194 - 19968: 0xEFF8, - 37195 - 19968: 0xF5DC, - 37196 - 19968: 0xEDCC, - 37197 - 19968: 0xDBD5, - 37198 - 19968: 0xF1CF, - 37202 - 19968: 0xF1D0, - 37218 - 19968: 0xF5B2, - 37225 - 19968: 0xD9AE, - 37226 - 19968: 0xD5AC, - 37228 - 19968: 0xE2C6, - 37237 - 19968: 0xFDA3, - 37239 - 19968: 0xFBE5, - 37240 - 19968: 0xDFAB, - 37255 - 19968: 0xE2F5, - 37257 - 19968: 0xF6AD, - 37259 - 19968: 0xF5B3, - 37261 - 19968: 0xF0B5, - 37266 - 19968: 0xE1A5, - 37276 - 19968: 0xF5DD, - 37291 - 19968: 0xECA2, - 37292 - 19968: 0xEDFD, - 37294 - 19968: 0xF5B4, - 37295 - 19968: 0xFBB8, - 37297 - 19968: 0xDBA3, - 37300 - 19968: 0xD6CA, - 37301 - 19968: 0xCBD9, - 37312 - 19968: 0xE5D4, - 37319 - 19968: 0xF3FA, - 37321 - 19968: 0xEBB8, - 37323 - 19968: 0xE0B7, - 37324 - 19968: 0xD7EC, - 37325 - 19968: 0xF1EC, - 37326 - 19968: 0xE5AF, - 37327 - 19968: 0xD5E1, - 37328 - 19968: 0xD7ED, - 37329 - 19968: 0xD1D1, - 37335 - 19968: 0xE1F2, - 37336 - 19968: 0xEFF9, - 37340 - 19968: 0xDDBC, - 37341 - 19968: 0xF6DC, - 37347 - 19968: 0xF0E5, - 37351 - 19968: 0xF4C4, - 37354 - 19968: 0xE9E9, - 37365 - 19968: 0xF3FB, - 37389 - 19968: 0xD4EF, - 37392 - 19968: 0xCCA2, - 37393 - 19968: 0xF7FE, - 37394 - 19968: 0xDFBC, - 37399 - 19968: 0xEBCD, - 37406 - 19968: 0xD0B7, - 37428 - 19968: 0xD6C2, - 37434 - 19968: 0xE8AD, - 37439 - 19968: 0xEFAF, - 37440 - 19968: 0xCBA5, - 37445 - 19968: 0xCBE9, - 37449 - 19968: 0xFAE8, - 37463 - 19968: 0xCCC6, - 37467 - 19968: 0xE6E7, - 37470 - 19968: 0xEAC7, - 37474 - 19968: 0xDBA4, - 37476 - 19968: 0xCFC9, - 37477 - 19968: 0xE2FC, - 37478 - 19968: 0xEFFA, - 37504 - 19968: 0xEBDE, - 37507 - 19968: 0xF5C8, - 37509 - 19968: 0xD4DE, - 37521 - 19968: 0xE0D5, - 37523 - 19968: 0xEFB0, - 37526 - 19968: 0xE2C7, - 37528 - 19968: 0xD9AF, - 37532 - 19968: 0xF9E7, - 37555 - 19968: 0xE7E5, - 37558 - 19968: 0xCFCA, - 37559 - 19968: 0xE1D1, - 37561 - 19968: 0xE2C8, - 37580 - 19968: 0xEFFB, - 37583 - 19968: 0xFAF9, - 37586 - 19968: 0xDCF2, - 37604 - 19968: 0xE0A7, - 37610 - 19968: 0xF8E8, - 37624 - 19968: 0xCBEA, - 37628 - 19968: 0xCBBC, - 37636 - 19968: 0xD6E2, - 37648 - 19968: 0xF5DE, - 37656 - 19968: 0xF5DF, - 37658 - 19968: 0xEEB6, - 37662 - 19968: 0xE2F6, - 37663 - 19968: 0xD3CA, - 37664 - 19968: 0xEFFC, - 37665 - 19968: 0xD1C4, - 37666 - 19968: 0xEFB1, - 37668 - 19968: 0xD1C5, - 37670 - 19968: 0xD0DE, - 37672 - 19968: 0xD9E1, - 37675 - 19968: 0xE0B8, - 37678 - 19968: 0xCDD1, - 37679 - 19968: 0xF3B9, - 37704 - 19968: 0xE7CC, - 37706 - 19968: 0xD6A8, - 37707 - 19968: 0xCEA7, - 37709 - 19968: 0xD4B5, - 37716 - 19968: 0xE4C8, - 37723 - 19968: 0xD3B4, - 37742 - 19968: 0xEBB9, - 37749 - 19968: 0xCBF5, - 37756 - 19968: 0xF6DD, - 37758 - 19968: 0xF1A3, - 37772 - 19968: 0xCCC7, - 37780 - 19968: 0xE9CA, - 37782 - 19968: 0xE1F0, - 37786 - 19968: 0xF5E0, - 37795 - 19968: 0xFBAF, - 37799 - 19968: 0xCBD1, - 37804 - 19968: 0xFBE0, - 37805 - 19968: 0xF2E5, - 37808 - 19968: 0xECF0, - 37827 - 19968: 0xF0EC, - 37841 - 19968: 0xEEEB, - 37854 - 19968: 0xE9CB, - 37857 - 19968: 0xCCF0, - 37860 - 19968: 0xD7AF, - 37878 - 19968: 0xF3A1, - 37892 - 19968: 0xFCF5, - 37912 - 19968: 0xF1A4, - 37925 - 19968: 0xE0D6, - 37931 - 19968: 0xEFB2, - 37941 - 19968: 0xF4D1, - 37944 - 19968: 0xF7A1, - 37956 - 19968: 0xF1D1, - 37969 - 19968: 0xCAFC, - 37970 - 19968: 0xCAFD, - 37979 - 19968: 0xCECE, - 38013 - 19968: 0xF3C8, - 38015 - 19968: 0xF3BA, - 38263 - 19968: 0xEDFE, - 38272 - 19968: 0xDAA6, - 38275 - 19968: 0xE0EC, - 38281 - 19968: 0xF8CD, - 38283 - 19968: 0xCBD2, - 38287 - 19968: 0xEBCE, - 38289 - 19968: 0xF9D8, - 38290 - 19968: 0xF9D9, - 38291 - 19968: 0xCAE0, - 38292 - 19968: 0xDACA, - 38296 - 19968: 0xCBA6, - 38307 - 19968: 0xCAC8, - 38308 - 19968: 0xF9EE, - 38309 - 19968: 0xDBEC, - 38312 - 19968: 0xD0B1, - 38317 - 19968: 0xD5EF, - 38321 - 19968: 0xE6F3, - 38331 - 19968: 0xE7A2, - 38332 - 19968: 0xE4D9, - 38343 - 19968: 0xE4E1, - 38346 - 19968: 0xFCC4, - 38356 - 19968: 0xF9EF, - 38357 - 19968: 0xCFF4, - 38358 - 19968: 0xF7E6, - 38364 - 19968: 0xCEBC, - 38369 - 19968: 0xF4C5, - 38370 - 19968: 0xDCA3, - 38428 - 19968: 0xDDBD, - 38433 - 19968: 0xF4C6, - 38442 - 19968: 0xF8A1, - 38446 - 19968: 0xE8D6, - 38450 - 19968: 0xDBC1, - 38459 - 19968: 0xF0E6, - 38463 - 19968: 0xE4B9, - 38464 - 19968: 0xF6ED, - 38466 - 19968: 0xF9AE, - 38468 - 19968: 0xDDBE, - 38475 - 19968: 0xD7B0, - 38476 - 19968: 0xD8E8, - 38477 - 19968: 0xCBBD, - 38480 - 19968: 0xF9DA, - 38491 - 19968: 0xF8CE, - 38492 - 19968: 0xF9F0, - 38493 - 19968: 0xE0ED, - 38494 - 19968: 0xE3B3, - 38495 - 19968: 0xF4B3, - 38498 - 19968: 0xEAC2, - 38499 - 19968: 0xF2E6, - 38500 - 19968: 0xF0B6, - 38506 - 19968: 0xDBD6, - 38512 - 19968: 0xEBE4, - 38515 - 19968: 0xF2E7, - 38517 - 19968: 0xD7D5, - 38518 - 19968: 0xD4B6, - 38519 - 19968: 0xF9E8, - 38520 - 19968: 0xD7C1, - 38525 - 19968: 0xE5D5, - 38533 - 19968: 0xE9EA, - 38534 - 19968: 0xD7CC, - 38538 - 19968: 0xD3E9, - 38539 - 19968: 0xE2C9, - 38541 - 19968: 0xFCDB, - 38542 - 19968: 0xCDAD, - 38548 - 19968: 0xCCB0, - 38549 - 19968: 0xEAA2, - 38552 - 19968: 0xE4F6, - 38553 - 19968: 0xD0C0, - 38555 - 19968: 0xF0B7, - 38556 - 19968: 0xEEA1, - 38563 - 19968: 0xD7F6, - 38567 - 19968: 0xE2CA, - 38568 - 19968: 0xE2CB, - 38570 - 19968: 0xFACF, - 38577 - 19968: 0xEBDF, - 38583 - 19968: 0xD6CB, - 38587 - 19968: 0xF4B4, - 38592 - 19968: 0xEDCD, - 38593 - 19968: 0xE4D2, - 38596 - 19968: 0xEAA9, - 38597 - 19968: 0xE4BA, - 38598 - 19968: 0xF3A2, - 38599 - 19968: 0xCDD2, - 38601 - 19968: 0xF6CB, - 38603 - 19968: 0xF1E6, - 38604 - 19968: 0xEDC1, - 38605 - 19968: 0xE8BC, - 38606 - 19968: 0xEED1, - 38613 - 19968: 0xF0E7, - 38614 - 19968: 0xE2CC, - 38617 - 19968: 0xE4AA, - 38619 - 19968: 0xF5E1, - 38620 - 19968: 0xEDDA, - 38626 - 19968: 0xD7EE, - 38627 - 19968: 0xD1F1, - 38632 - 19968: 0xE9EB, - 38633 - 19968: 0xE9EC, - 38634 - 19968: 0xE0E4, - 38639 - 19968: 0xDAA7, - 38640 - 19968: 0xDDD4, - 38642 - 19968: 0xEAA3, - 38646 - 19968: 0xD6C3, - 38647 - 19968: 0xD6F4, - 38649 - 19968: 0xDADF, - 38651 - 19968: 0xEFB3, - 38656 - 19968: 0xE2CD, - 38662 - 19968: 0xEFFD, - 38663 - 19968: 0xF2E8, - 38673 - 19968: 0xEFC5, - 38675 - 19968: 0xE7E7, - 38678 - 19968: 0xD7FD, - 38681 - 19968: 0xE7CE, - 38684 - 19968: 0xDFDC, - 38686 - 19968: 0xF9C7, - 38695 - 19968: 0xD9F6, - 38704 - 19968: 0xDFAC, - 38706 - 19968: 0xD6DA, - 38713 - 19968: 0xDCA4, - 38717 - 19968: 0xF0B8, - 38722 - 19968: 0xD5FA, - 38724 - 19968: 0xE4F7, - 38728 - 19968: 0xD6C4, - 38737 - 19968: 0xF4EC, - 38742 - 19968: 0xEFFE, - 38748 - 19968: 0xF0A1, - 38750 - 19968: 0xDEAA, - 38753 - 19968: 0xDABC, - 38754 - 19968: 0xD8FC, - 38761 - 19968: 0xFAD4, - 38765 - 19968: 0xECE5, - 38772 - 19968: 0xFCA8, - 38775 - 19968: 0xECE6, - 38778 - 19968: 0xD8CB, - 38795 - 19968: 0xFBB9, - 38797 - 19968: 0xE4D3, - 38799 - 19968: 0xCDF9, - 38816 - 19968: 0xCFD3, - 38824 - 19968: 0xCAEA, - 38827 - 19968: 0xCFD4, - 38829 - 19968: 0xF8BD, - 38854 - 19968: 0xF4C7, - 38859 - 19968: 0xEADF, - 38867 - 19968: 0xF9DB, - 38876 - 19968: 0xD4B7, - 38899 - 19968: 0xEBE5, - 38902 - 19968: 0xE1D2, - 38907 - 19968: 0xEAA4, - 38911 - 19968: 0xFAC2, - 38912 - 19968: 0xFBE1, - 38913 - 19968: 0xFAED, - 38914 - 19968: 0xF0A2, - 38915 - 19968: 0xCCF1, - 38917 - 19968: 0xFAA3, - 38918 - 19968: 0xE2F7, - 38920 - 19968: 0xE2CE, - 38922 - 19968: 0xE9F5, - 38924 - 19968: 0xE1EB, - 38928 - 19968: 0xE7E8, - 38929 - 19968: 0xE8D7, - 38930 - 19968: 0xDAF8, - 38931 - 19968: 0xD4CB, - 38935 - 19968: 0xF7F6, - 38936 - 19968: 0xD6C5, - 38957 - 19968: 0xD4E9, - 38960 - 19968: 0xFAFA, - 38968 - 19968: 0xCCF2, - 38969 - 19968: 0xF7DD, - 38971 - 19968: 0xDEBA, - 38982 - 19968: 0xCEA8, - 38988 - 19968: 0xF0B9, - 38989 - 19968: 0xE4FE, - 38990 - 19968: 0xE4C9, - 38996 - 19968: 0xE4D4, - 39000 - 19968: 0xEAC3, - 39002 - 19968: 0xEFB4, - 39006 - 19968: 0xD7BE, - 39013 - 19968: 0xFBE2, - 39015 - 19968: 0xCDD3, - 39019 - 19968: 0xEFB5, - 39023 - 19968: 0xFAE9, - 39080 - 19968: 0xF9A6, - 39087 - 19968: 0xDFBD, - 39089 - 19968: 0xF7C7, - 39108 - 19968: 0xF8FD, - 39111 - 19968: 0xF8FC, - 39131 - 19968: 0xDEAB, - 39132 - 19968: 0xDBE8, - 39135 - 19968: 0xE3DD, - 39137 - 19968: 0xE1E2, - 39138 - 19968: 0xD1C6, - 39149 - 19968: 0xF6D0, - 39150 - 19968: 0xEBE6, - 39151 - 19968: 0xDAF9, - 39156 - 19968: 0xECC7, - 39164 - 19968: 0xDEF8, - 39165 - 19968: 0xF8E9, - 39166 - 19968: 0xE3DE, - 39171 - 19968: 0xCEF5, - 39177 - 19968: 0xFAC3, - 39178 - 19968: 0xE5D7, - 39180 - 19968: 0xECC8, - 39184 - 19968: 0xF3C9, - 39187 - 19968: 0xE4BB, - 39192 - 19968: 0xE6AE, - 39198 - 19968: 0xEFB6, - 39200 - 19968: 0xDCBF, - 39208 - 19968: 0xCEBD, - 39237 - 19968: 0xD8C3, - 39241 - 19968: 0xD0CF, - 39243 - 19968: 0xCFFA, - 39244 - 19968: 0xF3CA, - 39245 - 19968: 0xE0D7, - 39249 - 19968: 0xD1C7, - 39250 - 19968: 0xE9AE, - 39252 - 19968: 0xE8BD, - 39255 - 19968: 0xFAC4, - 39318 - 19968: 0xE2CF, - 39321 - 19968: 0xFAC5, - 39325 - 19968: 0xF9B8, - 39333 - 19968: 0xDCE0, - 39336 - 19968: 0xFBB0, - 39340 - 19968: 0xD8A9, - 39341 - 19968: 0xE5DF, - 39342 - 19968: 0xF9A7, - 39345 - 19968: 0xF6EE, - 39347 - 19968: 0xF6CC, - 39348 - 19968: 0xE2F8, - 39353 - 19968: 0xECF1, - 39361 - 19968: 0xDAE0, - 39376 - 19968: 0xF1D2, - 39377 - 19968: 0xD2CC, - 39378 - 19968: 0xCFCB, - 39381 - 19968: 0xCABD, - 39385 - 19968: 0xDDBF, - 39389 - 19968: 0xF6EF, - 39391 - 19968: 0xDEF9, - 39405 - 19968: 0xFAB4, - 39409 - 19968: 0xD5AD, - 39423 - 19968: 0xF1E7, - 39425 - 19968: 0xDEBE, - 39432 - 19968: 0xDCC0, - 39438 - 19968: 0xD1C8, - 39439 - 19968: 0xD1C9, - 39449 - 19968: 0xF8BE, - 39467 - 19968: 0xCBF6, - 39472 - 19968: 0xD4F9, - 39478 - 19968: 0xF5E2, - 39479 - 19968: 0xE1D3, - 39488 - 19968: 0xD8E9, - 39491 - 19968: 0xF8FE, - 39493 - 19968: 0xCFCC, - 39501 - 19968: 0xFDA4, - 39509 - 19968: 0xCEF6, - 39511 - 19968: 0xFAD0, - 39514 - 19968: 0xCCF3, - 39515 - 19968: 0xE6BE, - 39519 - 19968: 0xF6AE, - 39522 - 19968: 0xD5F0, - 39525 - 19968: 0xD1CA, - 39529 - 19968: 0xFCBE, - 39530 - 19968: 0xD5F1, - 39592 - 19968: 0xCDE9, - 39608 - 19968: 0xFAB5, - 39635 - 19968: 0xE2D0, - 39636 - 19968: 0xF4F7, - 39640 - 19968: 0xCDD4, - 39653 - 19968: 0xE7A3, - 39662 - 19968: 0xDBA5, - 39706 - 19968: 0xE2D1, - 39719 - 19968: 0xD7A2, - 39722 - 19968: 0xF7E3, - 39729 - 19968: 0xEAA6, - 39740 - 19968: 0xD0A1, - 39745 - 19968: 0xCEDA, - 39746 - 19968: 0xFBEB, - 39747 - 19968: 0xDBA6, - 39748 - 19968: 0xDBDE, - 39749 - 19968: 0xD8E5, - 39759 - 19968: 0xEAE0, - 39764 - 19968: 0xD8AA, - 39770 - 19968: 0xE5E0, - 39791 - 19968: 0xD6DB, - 39822 - 19968: 0xEFC6, - 39825 - 19968: 0xF8EA, - 39839 - 19968: 0xE4D5, - 39851 - 19968: 0xCEF7, - 39854 - 19968: 0xE0D8, - 39881 - 19968: 0xD7EF, - 39894 - 19968: 0xF4ED, - 39908 - 19968: 0xCDE6, - 39912 - 19968: 0xCCF4, - 39949 - 19968: 0xF5E3, - 39952 - 19968: 0xE4CA, - 39954 - 19968: 0xDCE1, - 39957 - 19968: 0xF9C8, - 39973 - 19968: 0xFCBF, - 39986 - 19968: 0xE8A7, - 39995 - 19968: 0xD8C4, - 40007 - 19968: 0xCBBE, - 40009 - 19968: 0xDCAE, - 40023 - 19968: 0xD7F7, - 40165 - 19968: 0xF0E8, - 40167 - 19968: 0xDDC0, - 40169 - 19968: 0xCFCD, - 40179 - 19968: 0xDCF3, - 40180 - 19968: 0xD9B0, - 40182 - 19968: 0xE6E9, - 40201 - 19968: 0xE4BC, - 40219 - 19968: 0xEAC4, - 40230 - 19968: 0xE4EC, - 40232 - 19968: 0xE4E5, - 40251 - 19968: 0xFBF8, - 40273 - 19968: 0xCCBB, - 40285 - 19968: 0xE4BD, - 40288 - 19968: 0xCDDC, - 40289 - 19968: 0xD9F7, - 40300 - 19968: 0xDDDF, - 40306 - 19968: 0xEDCE, - 40361 - 19968: 0xD9D0, - 40367 - 19968: 0xE5A3, - 40372 - 19968: 0xF9CD, - 40388 - 19968: 0xCDAE, - 40407 - 19968: 0xCFCE, - 40434 - 19968: 0xF6AF, - 40440 - 19968: 0xFDD3, - 40441 - 19968: 0xEBED, - 40442 - 19968: 0xD6DC, - 40474 - 19968: 0xE5A4, - 40478 - 19968: 0xD5B6, - 40565 - 19968: 0xD6DD, - 40569 - 19968: 0xF9E9, - 40573 - 19968: 0xE7A4, - 40575 - 19968: 0xD6E3, - 40594 - 19968: 0xD1CB, - 40595 - 19968: 0xD6E4, - 40599 - 19968: 0xD5F2, - 40605 - 19968: 0xDEFA, - 40607 - 19968: 0xD7F8, - 40613 - 19968: 0xD8EA, - 40628 - 19968: 0xCFD5, - 40629 - 19968: 0xD8FD, - 40635 - 19968: 0xD8AB, - 40638 - 19968: 0xFDCB, - 40643 - 19968: 0xFCDC, - 40653 - 19968: 0xE0A8, - 40654 - 19968: 0xD5F3, - 40657 - 19968: 0xFDD9, - 40660 - 19968: 0xCCA3, - 40664 - 19968: 0xD9F9, - 40667 - 19968: 0xD3EA, - 40668 - 19968: 0xF5F5, - 40670 - 19968: 0xEFC7, - 40680 - 19968: 0xD3DA, - 40692 - 19968: 0xDABD, - 40711 - 19968: 0xE8A8, - 40712 - 19968: 0xDCAF, - 40718 - 19968: 0xF0A3, - 40723 - 19968: 0xCDD5, - 40736 - 19968: 0xE0A9, - 40763 - 19968: 0xDEAC, - 40778 - 19968: 0xF0BA, - 40779 - 19968: 0xEEB1, - 40782 - 19968: 0xEEB2, - 40786 - 19968: 0xF6CD, - 40799 - 19968: 0xEED2, - 40801 - 19968: 0xD6C6, - 40807 - 19968: 0xE0E5, - 40810 - 19968: 0xF3BB, - 40812 - 19968: 0xE5E1, - 40823 - 19968: 0xE4CB, - 40845 - 19968: 0xD7A3, - 40848 - 19968: 0xDBC2, - 40853 - 19968: 0xCAFE, - 40860 - 19968: 0xCFCF, -} - -const encode1Low, encode1High = 44032, 55204 - -var encode1 = [...]uint16{ - 44032 - 44032: 0xB0A1, - 44033 - 44032: 0xB0A2, - 44034 - 44032: 0x8141, - 44035 - 44032: 0x8142, - 44036 - 44032: 0xB0A3, - 44037 - 44032: 0x8143, - 44038 - 44032: 0x8144, - 44039 - 44032: 0xB0A4, - 44040 - 44032: 0xB0A5, - 44041 - 44032: 0xB0A6, - 44042 - 44032: 0xB0A7, - 44043 - 44032: 0x8145, - 44044 - 44032: 0x8146, - 44045 - 44032: 0x8147, - 44046 - 44032: 0x8148, - 44047 - 44032: 0x8149, - 44048 - 44032: 0xB0A8, - 44049 - 44032: 0xB0A9, - 44050 - 44032: 0xB0AA, - 44051 - 44032: 0xB0AB, - 44052 - 44032: 0xB0AC, - 44053 - 44032: 0xB0AD, - 44054 - 44032: 0xB0AE, - 44055 - 44032: 0xB0AF, - 44056 - 44032: 0x814A, - 44057 - 44032: 0xB0B0, - 44058 - 44032: 0xB0B1, - 44059 - 44032: 0xB0B2, - 44060 - 44032: 0xB0B3, - 44061 - 44032: 0xB0B4, - 44062 - 44032: 0x814B, - 44063 - 44032: 0x814C, - 44064 - 44032: 0xB0B5, - 44065 - 44032: 0x814D, - 44066 - 44032: 0x814E, - 44067 - 44032: 0x814F, - 44068 - 44032: 0xB0B6, - 44069 - 44032: 0x8150, - 44070 - 44032: 0x8151, - 44071 - 44032: 0x8152, - 44072 - 44032: 0x8153, - 44073 - 44032: 0x8154, - 44074 - 44032: 0x8155, - 44075 - 44032: 0x8156, - 44076 - 44032: 0xB0B7, - 44077 - 44032: 0xB0B8, - 44078 - 44032: 0x8157, - 44079 - 44032: 0xB0B9, - 44080 - 44032: 0xB0BA, - 44081 - 44032: 0xB0BB, - 44082 - 44032: 0x8158, - 44083 - 44032: 0x8159, - 44084 - 44032: 0x815A, - 44085 - 44032: 0x8161, - 44086 - 44032: 0x8162, - 44087 - 44032: 0x8163, - 44088 - 44032: 0xB0BC, - 44089 - 44032: 0xB0BD, - 44090 - 44032: 0x8164, - 44091 - 44032: 0x8165, - 44092 - 44032: 0xB0BE, - 44093 - 44032: 0x8166, - 44094 - 44032: 0x8167, - 44095 - 44032: 0x8168, - 44096 - 44032: 0xB0BF, - 44097 - 44032: 0x8169, - 44098 - 44032: 0x816A, - 44099 - 44032: 0x816B, - 44100 - 44032: 0x816C, - 44101 - 44032: 0x816D, - 44102 - 44032: 0x816E, - 44103 - 44032: 0x816F, - 44104 - 44032: 0x8170, - 44105 - 44032: 0x8171, - 44106 - 44032: 0x8172, - 44107 - 44032: 0xB0C0, - 44108 - 44032: 0x8173, - 44109 - 44032: 0xB0C1, - 44110 - 44032: 0x8174, - 44111 - 44032: 0x8175, - 44112 - 44032: 0x8176, - 44113 - 44032: 0x8177, - 44114 - 44032: 0x8178, - 44115 - 44032: 0x8179, - 44116 - 44032: 0xB0C2, - 44117 - 44032: 0x817A, - 44118 - 44032: 0x8181, - 44119 - 44032: 0x8182, - 44120 - 44032: 0xB0C3, - 44121 - 44032: 0x8183, - 44122 - 44032: 0x8184, - 44123 - 44032: 0x8185, - 44124 - 44032: 0xB0C4, - 44125 - 44032: 0x8186, - 44126 - 44032: 0x8187, - 44127 - 44032: 0x8188, - 44128 - 44032: 0x8189, - 44129 - 44032: 0x818A, - 44130 - 44032: 0x818B, - 44131 - 44032: 0x818C, - 44132 - 44032: 0x818D, - 44133 - 44032: 0x818E, - 44134 - 44032: 0x818F, - 44135 - 44032: 0x8190, - 44136 - 44032: 0x8191, - 44137 - 44032: 0x8192, - 44138 - 44032: 0x8193, - 44139 - 44032: 0x8194, - 44140 - 44032: 0x8195, - 44141 - 44032: 0x8196, - 44142 - 44032: 0x8197, - 44143 - 44032: 0x8198, - 44144 - 44032: 0xB0C5, - 44145 - 44032: 0xB0C6, - 44146 - 44032: 0x8199, - 44147 - 44032: 0x819A, - 44148 - 44032: 0xB0C7, - 44149 - 44032: 0x819B, - 44150 - 44032: 0x819C, - 44151 - 44032: 0xB0C8, - 44152 - 44032: 0xB0C9, - 44153 - 44032: 0x819D, - 44154 - 44032: 0xB0CA, - 44155 - 44032: 0x819E, - 44156 - 44032: 0x819F, - 44157 - 44032: 0x81A0, - 44158 - 44032: 0x81A1, - 44159 - 44032: 0x81A2, - 44160 - 44032: 0xB0CB, - 44161 - 44032: 0xB0CC, - 44162 - 44032: 0x81A3, - 44163 - 44032: 0xB0CD, - 44164 - 44032: 0xB0CE, - 44165 - 44032: 0xB0CF, - 44166 - 44032: 0xB0D0, - 44167 - 44032: 0x81A4, - 44168 - 44032: 0x81A5, - 44169 - 44032: 0xB0D1, - 44170 - 44032: 0xB0D2, - 44171 - 44032: 0xB0D3, - 44172 - 44032: 0xB0D4, - 44173 - 44032: 0x81A6, - 44174 - 44032: 0x81A7, - 44175 - 44032: 0x81A8, - 44176 - 44032: 0xB0D5, - 44177 - 44032: 0x81A9, - 44178 - 44032: 0x81AA, - 44179 - 44032: 0x81AB, - 44180 - 44032: 0xB0D6, - 44181 - 44032: 0x81AC, - 44182 - 44032: 0x81AD, - 44183 - 44032: 0x81AE, - 44184 - 44032: 0x81AF, - 44185 - 44032: 0x81B0, - 44186 - 44032: 0x81B1, - 44187 - 44032: 0x81B2, - 44188 - 44032: 0xB0D7, - 44189 - 44032: 0xB0D8, - 44190 - 44032: 0x81B3, - 44191 - 44032: 0xB0D9, - 44192 - 44032: 0xB0DA, - 44193 - 44032: 0xB0DB, - 44194 - 44032: 0x81B4, - 44195 - 44032: 0x81B5, - 44196 - 44032: 0x81B6, - 44197 - 44032: 0x81B7, - 44198 - 44032: 0x81B8, - 44199 - 44032: 0x81B9, - 44200 - 44032: 0xB0DC, - 44201 - 44032: 0xB0DD, - 44202 - 44032: 0xB0DE, - 44203 - 44032: 0x81BA, - 44204 - 44032: 0xB0DF, - 44205 - 44032: 0x81BB, - 44206 - 44032: 0x81BC, - 44207 - 44032: 0xB0E0, - 44208 - 44032: 0xB0E1, - 44209 - 44032: 0x81BD, - 44210 - 44032: 0x81BE, - 44211 - 44032: 0x81BF, - 44212 - 44032: 0x81C0, - 44213 - 44032: 0x81C1, - 44214 - 44032: 0x81C2, - 44215 - 44032: 0x81C3, - 44216 - 44032: 0xB0E2, - 44217 - 44032: 0xB0E3, - 44218 - 44032: 0x81C4, - 44219 - 44032: 0xB0E4, - 44220 - 44032: 0xB0E5, - 44221 - 44032: 0xB0E6, - 44222 - 44032: 0x81C5, - 44223 - 44032: 0x81C6, - 44224 - 44032: 0x81C7, - 44225 - 44032: 0xB0E7, - 44226 - 44032: 0x81C8, - 44227 - 44032: 0x81C9, - 44228 - 44032: 0xB0E8, - 44229 - 44032: 0x81CA, - 44230 - 44032: 0x81CB, - 44231 - 44032: 0x81CC, - 44232 - 44032: 0xB0E9, - 44233 - 44032: 0x81CD, - 44234 - 44032: 0x81CE, - 44235 - 44032: 0x81CF, - 44236 - 44032: 0xB0EA, - 44237 - 44032: 0x81D0, - 44238 - 44032: 0x81D1, - 44239 - 44032: 0x81D2, - 44240 - 44032: 0x81D3, - 44241 - 44032: 0x81D4, - 44242 - 44032: 0x81D5, - 44243 - 44032: 0x81D6, - 44244 - 44032: 0x81D7, - 44245 - 44032: 0xB0EB, - 44246 - 44032: 0x81D8, - 44247 - 44032: 0xB0EC, - 44248 - 44032: 0x81D9, - 44249 - 44032: 0x81DA, - 44250 - 44032: 0x81DB, - 44251 - 44032: 0x81DC, - 44252 - 44032: 0x81DD, - 44253 - 44032: 0x81DE, - 44254 - 44032: 0x81DF, - 44255 - 44032: 0x81E0, - 44256 - 44032: 0xB0ED, - 44257 - 44032: 0xB0EE, - 44258 - 44032: 0x81E1, - 44259 - 44032: 0x81E2, - 44260 - 44032: 0xB0EF, - 44261 - 44032: 0x81E3, - 44262 - 44032: 0x81E4, - 44263 - 44032: 0xB0F0, - 44264 - 44032: 0xB0F1, - 44265 - 44032: 0x81E5, - 44266 - 44032: 0xB0F2, - 44267 - 44032: 0x81E6, - 44268 - 44032: 0xB0F3, - 44269 - 44032: 0x81E7, - 44270 - 44032: 0x81E8, - 44271 - 44032: 0xB0F4, - 44272 - 44032: 0xB0F5, - 44273 - 44032: 0xB0F6, - 44274 - 44032: 0x81E9, - 44275 - 44032: 0xB0F7, - 44276 - 44032: 0x81EA, - 44277 - 44032: 0xB0F8, - 44278 - 44032: 0xB0F9, - 44279 - 44032: 0x81EB, - 44280 - 44032: 0x81EC, - 44281 - 44032: 0x81ED, - 44282 - 44032: 0x81EE, - 44283 - 44032: 0x81EF, - 44284 - 44032: 0xB0FA, - 44285 - 44032: 0xB0FB, - 44286 - 44032: 0x81F0, - 44287 - 44032: 0x81F1, - 44288 - 44032: 0xB0FC, - 44289 - 44032: 0x81F2, - 44290 - 44032: 0x81F3, - 44291 - 44032: 0x81F4, - 44292 - 44032: 0xB0FD, - 44293 - 44032: 0x81F5, - 44294 - 44032: 0xB0FE, - 44295 - 44032: 0x81F6, - 44296 - 44032: 0x81F7, - 44297 - 44032: 0x81F8, - 44298 - 44032: 0x81F9, - 44299 - 44032: 0x81FA, - 44300 - 44032: 0xB1A1, - 44301 - 44032: 0xB1A2, - 44302 - 44032: 0x81FB, - 44303 - 44032: 0xB1A3, - 44304 - 44032: 0x81FC, - 44305 - 44032: 0xB1A4, - 44306 - 44032: 0x81FD, - 44307 - 44032: 0x81FE, - 44308 - 44032: 0x8241, - 44309 - 44032: 0x8242, - 44310 - 44032: 0x8243, - 44311 - 44032: 0x8244, - 44312 - 44032: 0xB1A5, - 44313 - 44032: 0x8245, - 44314 - 44032: 0x8246, - 44315 - 44032: 0x8247, - 44316 - 44032: 0xB1A6, - 44317 - 44032: 0x8248, - 44318 - 44032: 0x8249, - 44319 - 44032: 0x824A, - 44320 - 44032: 0xB1A7, - 44321 - 44032: 0x824B, - 44322 - 44032: 0x824C, - 44323 - 44032: 0x824D, - 44324 - 44032: 0x824E, - 44325 - 44032: 0x824F, - 44326 - 44032: 0x8250, - 44327 - 44032: 0x8251, - 44328 - 44032: 0x8252, - 44329 - 44032: 0xB1A8, - 44330 - 44032: 0x8253, - 44331 - 44032: 0x8254, - 44332 - 44032: 0xB1A9, - 44333 - 44032: 0xB1AA, - 44334 - 44032: 0x8255, - 44335 - 44032: 0x8256, - 44336 - 44032: 0x8257, - 44337 - 44032: 0x8258, - 44338 - 44032: 0x8259, - 44339 - 44032: 0x825A, - 44340 - 44032: 0xB1AB, - 44341 - 44032: 0xB1AC, - 44342 - 44032: 0x8261, - 44343 - 44032: 0x8262, - 44344 - 44032: 0xB1AD, - 44345 - 44032: 0x8263, - 44346 - 44032: 0x8264, - 44347 - 44032: 0x8265, - 44348 - 44032: 0xB1AE, - 44349 - 44032: 0x8266, - 44350 - 44032: 0x8267, - 44351 - 44032: 0x8268, - 44352 - 44032: 0x8269, - 44353 - 44032: 0x826A, - 44354 - 44032: 0x826B, - 44355 - 44032: 0x826C, - 44356 - 44032: 0xB1AF, - 44357 - 44032: 0xB1B0, - 44358 - 44032: 0x826D, - 44359 - 44032: 0xB1B1, - 44360 - 44032: 0x826E, - 44361 - 44032: 0xB1B2, - 44362 - 44032: 0x826F, - 44363 - 44032: 0x8270, - 44364 - 44032: 0x8271, - 44365 - 44032: 0x8272, - 44366 - 44032: 0x8273, - 44367 - 44032: 0x8274, - 44368 - 44032: 0xB1B3, - 44369 - 44032: 0x8275, - 44370 - 44032: 0x8276, - 44371 - 44032: 0x8277, - 44372 - 44032: 0xB1B4, - 44373 - 44032: 0x8278, - 44374 - 44032: 0x8279, - 44375 - 44032: 0x827A, - 44376 - 44032: 0xB1B5, - 44377 - 44032: 0x8281, - 44378 - 44032: 0x8282, - 44379 - 44032: 0x8283, - 44380 - 44032: 0x8284, - 44381 - 44032: 0x8285, - 44382 - 44032: 0x8286, - 44383 - 44032: 0x8287, - 44384 - 44032: 0x8288, - 44385 - 44032: 0xB1B6, - 44386 - 44032: 0x8289, - 44387 - 44032: 0xB1B7, - 44388 - 44032: 0x828A, - 44389 - 44032: 0x828B, - 44390 - 44032: 0x828C, - 44391 - 44032: 0x828D, - 44392 - 44032: 0x828E, - 44393 - 44032: 0x828F, - 44394 - 44032: 0x8290, - 44395 - 44032: 0x8291, - 44396 - 44032: 0xB1B8, - 44397 - 44032: 0xB1B9, - 44398 - 44032: 0x8292, - 44399 - 44032: 0x8293, - 44400 - 44032: 0xB1BA, - 44401 - 44032: 0x8294, - 44402 - 44032: 0x8295, - 44403 - 44032: 0xB1BB, - 44404 - 44032: 0xB1BC, - 44405 - 44032: 0xB1BD, - 44406 - 44032: 0xB1BE, - 44407 - 44032: 0x8296, - 44408 - 44032: 0x8297, - 44409 - 44032: 0x8298, - 44410 - 44032: 0x8299, - 44411 - 44032: 0xB1BF, - 44412 - 44032: 0xB1C0, - 44413 - 44032: 0xB1C1, - 44414 - 44032: 0x829A, - 44415 - 44032: 0xB1C2, - 44416 - 44032: 0x829B, - 44417 - 44032: 0xB1C3, - 44418 - 44032: 0xB1C4, - 44419 - 44032: 0x829C, - 44420 - 44032: 0x829D, - 44421 - 44032: 0x829E, - 44422 - 44032: 0x829F, - 44423 - 44032: 0x82A0, - 44424 - 44032: 0xB1C5, - 44425 - 44032: 0xB1C6, - 44426 - 44032: 0x82A1, - 44427 - 44032: 0x82A2, - 44428 - 44032: 0xB1C7, - 44429 - 44032: 0x82A3, - 44430 - 44032: 0x82A4, - 44431 - 44032: 0x82A5, - 44432 - 44032: 0xB1C8, - 44433 - 44032: 0x82A6, - 44434 - 44032: 0x82A7, - 44435 - 44032: 0x82A8, - 44436 - 44032: 0x82A9, - 44437 - 44032: 0x82AA, - 44438 - 44032: 0x82AB, - 44439 - 44032: 0x82AC, - 44440 - 44032: 0x82AD, - 44441 - 44032: 0x82AE, - 44442 - 44032: 0x82AF, - 44443 - 44032: 0x82B0, - 44444 - 44032: 0xB1C9, - 44445 - 44032: 0xB1CA, - 44446 - 44032: 0x82B1, - 44447 - 44032: 0x82B2, - 44448 - 44032: 0x82B3, - 44449 - 44032: 0x82B4, - 44450 - 44032: 0x82B5, - 44451 - 44032: 0x82B6, - 44452 - 44032: 0xB1CB, - 44453 - 44032: 0x82B7, - 44454 - 44032: 0x82B8, - 44455 - 44032: 0x82B9, - 44456 - 44032: 0x82BA, - 44457 - 44032: 0x82BB, - 44458 - 44032: 0x82BC, - 44459 - 44032: 0x82BD, - 44460 - 44032: 0x82BE, - 44461 - 44032: 0x82BF, - 44462 - 44032: 0x82C0, - 44463 - 44032: 0x82C1, - 44464 - 44032: 0x82C2, - 44465 - 44032: 0x82C3, - 44466 - 44032: 0x82C4, - 44467 - 44032: 0x82C5, - 44468 - 44032: 0x82C6, - 44469 - 44032: 0x82C7, - 44470 - 44032: 0x82C8, - 44471 - 44032: 0xB1CC, - 44472 - 44032: 0x82C9, - 44473 - 44032: 0x82CA, - 44474 - 44032: 0x82CB, - 44475 - 44032: 0x82CC, - 44476 - 44032: 0x82CD, - 44477 - 44032: 0x82CE, - 44478 - 44032: 0x82CF, - 44479 - 44032: 0x82D0, - 44480 - 44032: 0xB1CD, - 44481 - 44032: 0xB1CE, - 44482 - 44032: 0x82D1, - 44483 - 44032: 0x82D2, - 44484 - 44032: 0xB1CF, - 44485 - 44032: 0x82D3, - 44486 - 44032: 0x82D4, - 44487 - 44032: 0x82D5, - 44488 - 44032: 0xB1D0, - 44489 - 44032: 0x82D6, - 44490 - 44032: 0x82D7, - 44491 - 44032: 0x82D8, - 44492 - 44032: 0x82D9, - 44493 - 44032: 0x82DA, - 44494 - 44032: 0x82DB, - 44495 - 44032: 0x82DC, - 44496 - 44032: 0xB1D1, - 44497 - 44032: 0xB1D2, - 44498 - 44032: 0x82DD, - 44499 - 44032: 0xB1D3, - 44500 - 44032: 0x82DE, - 44501 - 44032: 0x82DF, - 44502 - 44032: 0x82E0, - 44503 - 44032: 0x82E1, - 44504 - 44032: 0x82E2, - 44505 - 44032: 0x82E3, - 44506 - 44032: 0x82E4, - 44507 - 44032: 0x82E5, - 44508 - 44032: 0xB1D4, - 44509 - 44032: 0x82E6, - 44510 - 44032: 0x82E7, - 44511 - 44032: 0x82E8, - 44512 - 44032: 0xB1D5, - 44513 - 44032: 0x82E9, - 44514 - 44032: 0x82EA, - 44515 - 44032: 0x82EB, - 44516 - 44032: 0xB1D6, - 44517 - 44032: 0x82EC, - 44518 - 44032: 0x82ED, - 44519 - 44032: 0x82EE, - 44520 - 44032: 0x82EF, - 44521 - 44032: 0x82F0, - 44522 - 44032: 0x82F1, - 44523 - 44032: 0x82F2, - 44524 - 44032: 0x82F3, - 44525 - 44032: 0x82F4, - 44526 - 44032: 0x82F5, - 44527 - 44032: 0x82F6, - 44528 - 44032: 0x82F7, - 44529 - 44032: 0x82F8, - 44530 - 44032: 0x82F9, - 44531 - 44032: 0x82FA, - 44532 - 44032: 0x82FB, - 44533 - 44032: 0x82FC, - 44534 - 44032: 0x82FD, - 44535 - 44032: 0x82FE, - 44536 - 44032: 0xB1D7, - 44537 - 44032: 0xB1D8, - 44538 - 44032: 0x8341, - 44539 - 44032: 0x8342, - 44540 - 44032: 0xB1D9, - 44541 - 44032: 0x8343, - 44542 - 44032: 0x8344, - 44543 - 44032: 0xB1DA, - 44544 - 44032: 0xB1DB, - 44545 - 44032: 0xB1DC, - 44546 - 44032: 0x8345, - 44547 - 44032: 0x8346, - 44548 - 44032: 0x8347, - 44549 - 44032: 0x8348, - 44550 - 44032: 0x8349, - 44551 - 44032: 0x834A, - 44552 - 44032: 0xB1DD, - 44553 - 44032: 0xB1DE, - 44554 - 44032: 0x834B, - 44555 - 44032: 0xB1DF, - 44556 - 44032: 0x834C, - 44557 - 44032: 0xB1E0, - 44558 - 44032: 0x834D, - 44559 - 44032: 0x834E, - 44560 - 44032: 0x834F, - 44561 - 44032: 0x8350, - 44562 - 44032: 0x8351, - 44563 - 44032: 0x8352, - 44564 - 44032: 0xB1E1, - 44565 - 44032: 0x8353, - 44566 - 44032: 0x8354, - 44567 - 44032: 0x8355, - 44568 - 44032: 0x8356, - 44569 - 44032: 0x8357, - 44570 - 44032: 0x8358, - 44571 - 44032: 0x8359, - 44572 - 44032: 0x835A, - 44573 - 44032: 0x8361, - 44574 - 44032: 0x8362, - 44575 - 44032: 0x8363, - 44576 - 44032: 0x8364, - 44577 - 44032: 0x8365, - 44578 - 44032: 0x8366, - 44579 - 44032: 0x8367, - 44580 - 44032: 0x8368, - 44581 - 44032: 0x8369, - 44582 - 44032: 0x836A, - 44583 - 44032: 0x836B, - 44584 - 44032: 0x836C, - 44585 - 44032: 0x836D, - 44586 - 44032: 0x836E, - 44587 - 44032: 0x836F, - 44588 - 44032: 0x8370, - 44589 - 44032: 0x8371, - 44590 - 44032: 0x8372, - 44591 - 44032: 0x8373, - 44592 - 44032: 0xB1E2, - 44593 - 44032: 0xB1E3, - 44594 - 44032: 0x8374, - 44595 - 44032: 0x8375, - 44596 - 44032: 0xB1E4, - 44597 - 44032: 0x8376, - 44598 - 44032: 0x8377, - 44599 - 44032: 0xB1E5, - 44600 - 44032: 0xB1E6, - 44601 - 44032: 0x8378, - 44602 - 44032: 0xB1E7, - 44603 - 44032: 0x8379, - 44604 - 44032: 0x837A, - 44605 - 44032: 0x8381, - 44606 - 44032: 0x8382, - 44607 - 44032: 0x8383, - 44608 - 44032: 0xB1E8, - 44609 - 44032: 0xB1E9, - 44610 - 44032: 0x8384, - 44611 - 44032: 0xB1EA, - 44612 - 44032: 0x8385, - 44613 - 44032: 0xB1EB, - 44614 - 44032: 0xB1EC, - 44615 - 44032: 0x8386, - 44616 - 44032: 0x8387, - 44617 - 44032: 0x8388, - 44618 - 44032: 0xB1ED, - 44619 - 44032: 0x8389, - 44620 - 44032: 0xB1EE, - 44621 - 44032: 0xB1EF, - 44622 - 44032: 0xB1F0, - 44623 - 44032: 0x838A, - 44624 - 44032: 0xB1F1, - 44625 - 44032: 0x838B, - 44626 - 44032: 0x838C, - 44627 - 44032: 0x838D, - 44628 - 44032: 0xB1F2, - 44629 - 44032: 0x838E, - 44630 - 44032: 0xB1F3, - 44631 - 44032: 0x838F, - 44632 - 44032: 0x8390, - 44633 - 44032: 0x8391, - 44634 - 44032: 0x8392, - 44635 - 44032: 0x8393, - 44636 - 44032: 0xB1F4, - 44637 - 44032: 0xB1F5, - 44638 - 44032: 0x8394, - 44639 - 44032: 0xB1F6, - 44640 - 44032: 0xB1F7, - 44641 - 44032: 0xB1F8, - 44642 - 44032: 0x8395, - 44643 - 44032: 0x8396, - 44644 - 44032: 0x8397, - 44645 - 44032: 0xB1F9, - 44646 - 44032: 0x8398, - 44647 - 44032: 0x8399, - 44648 - 44032: 0xB1FA, - 44649 - 44032: 0xB1FB, - 44650 - 44032: 0x839A, - 44651 - 44032: 0x839B, - 44652 - 44032: 0xB1FC, - 44653 - 44032: 0x839C, - 44654 - 44032: 0x839D, - 44655 - 44032: 0x839E, - 44656 - 44032: 0xB1FD, - 44657 - 44032: 0x839F, - 44658 - 44032: 0x83A0, - 44659 - 44032: 0x83A1, - 44660 - 44032: 0x83A2, - 44661 - 44032: 0x83A3, - 44662 - 44032: 0x83A4, - 44663 - 44032: 0x83A5, - 44664 - 44032: 0xB1FE, - 44665 - 44032: 0xB2A1, - 44666 - 44032: 0x83A6, - 44667 - 44032: 0xB2A2, - 44668 - 44032: 0xB2A3, - 44669 - 44032: 0xB2A4, - 44670 - 44032: 0x83A7, - 44671 - 44032: 0x83A8, - 44672 - 44032: 0x83A9, - 44673 - 44032: 0x83AA, - 44674 - 44032: 0x83AB, - 44675 - 44032: 0x83AC, - 44676 - 44032: 0xB2A5, - 44677 - 44032: 0xB2A6, - 44678 - 44032: 0x83AD, - 44679 - 44032: 0x83AE, - 44680 - 44032: 0x83AF, - 44681 - 44032: 0x83B0, - 44682 - 44032: 0x83B1, - 44683 - 44032: 0x83B2, - 44684 - 44032: 0xB2A7, - 44685 - 44032: 0x83B3, - 44686 - 44032: 0x83B4, - 44687 - 44032: 0x83B5, - 44688 - 44032: 0x83B6, - 44689 - 44032: 0x83B7, - 44690 - 44032: 0x83B8, - 44691 - 44032: 0x83B9, - 44692 - 44032: 0x83BA, - 44693 - 44032: 0x83BB, - 44694 - 44032: 0x83BC, - 44695 - 44032: 0x83BD, - 44696 - 44032: 0x83BE, - 44697 - 44032: 0x83BF, - 44698 - 44032: 0x83C0, - 44699 - 44032: 0x83C1, - 44700 - 44032: 0x83C2, - 44701 - 44032: 0x83C3, - 44702 - 44032: 0x83C4, - 44703 - 44032: 0x83C5, - 44704 - 44032: 0x83C6, - 44705 - 44032: 0x83C7, - 44706 - 44032: 0x83C8, - 44707 - 44032: 0x83C9, - 44708 - 44032: 0x83CA, - 44709 - 44032: 0x83CB, - 44710 - 44032: 0x83CC, - 44711 - 44032: 0x83CD, - 44712 - 44032: 0x83CE, - 44713 - 44032: 0x83CF, - 44714 - 44032: 0x83D0, - 44715 - 44032: 0x83D1, - 44716 - 44032: 0x83D2, - 44717 - 44032: 0x83D3, - 44718 - 44032: 0x83D4, - 44719 - 44032: 0x83D5, - 44720 - 44032: 0x83D6, - 44721 - 44032: 0x83D7, - 44722 - 44032: 0x83D8, - 44723 - 44032: 0x83D9, - 44724 - 44032: 0x83DA, - 44725 - 44032: 0x83DB, - 44726 - 44032: 0x83DC, - 44727 - 44032: 0x83DD, - 44728 - 44032: 0x83DE, - 44729 - 44032: 0x83DF, - 44730 - 44032: 0x83E0, - 44731 - 44032: 0x83E1, - 44732 - 44032: 0xB2A8, - 44733 - 44032: 0xB2A9, - 44734 - 44032: 0xB2AA, - 44735 - 44032: 0x83E2, - 44736 - 44032: 0xB2AB, - 44737 - 44032: 0x83E3, - 44738 - 44032: 0x83E4, - 44739 - 44032: 0x83E5, - 44740 - 44032: 0xB2AC, - 44741 - 44032: 0x83E6, - 44742 - 44032: 0x83E7, - 44743 - 44032: 0x83E8, - 44744 - 44032: 0x83E9, - 44745 - 44032: 0x83EA, - 44746 - 44032: 0x83EB, - 44747 - 44032: 0x83EC, - 44748 - 44032: 0xB2AD, - 44749 - 44032: 0xB2AE, - 44750 - 44032: 0x83ED, - 44751 - 44032: 0xB2AF, - 44752 - 44032: 0xB2B0, - 44753 - 44032: 0xB2B1, - 44754 - 44032: 0x83EE, - 44755 - 44032: 0x83EF, - 44756 - 44032: 0x83F0, - 44757 - 44032: 0x83F1, - 44758 - 44032: 0x83F2, - 44759 - 44032: 0x83F3, - 44760 - 44032: 0xB2B2, - 44761 - 44032: 0xB2B3, - 44762 - 44032: 0x83F4, - 44763 - 44032: 0x83F5, - 44764 - 44032: 0xB2B4, - 44765 - 44032: 0x83F6, - 44766 - 44032: 0x83F7, - 44767 - 44032: 0x83F8, - 44768 - 44032: 0x83F9, - 44769 - 44032: 0x83FA, - 44770 - 44032: 0x83FB, - 44771 - 44032: 0x83FC, - 44772 - 44032: 0x83FD, - 44773 - 44032: 0x83FE, - 44774 - 44032: 0x8441, - 44775 - 44032: 0x8442, - 44776 - 44032: 0xB2B5, - 44777 - 44032: 0x8443, - 44778 - 44032: 0x8444, - 44779 - 44032: 0xB2B6, - 44780 - 44032: 0x8445, - 44781 - 44032: 0xB2B7, - 44782 - 44032: 0x8446, - 44783 - 44032: 0x8447, - 44784 - 44032: 0x8448, - 44785 - 44032: 0x8449, - 44786 - 44032: 0x844A, - 44787 - 44032: 0x844B, - 44788 - 44032: 0xB2B8, - 44789 - 44032: 0x844C, - 44790 - 44032: 0x844D, - 44791 - 44032: 0x844E, - 44792 - 44032: 0xB2B9, - 44793 - 44032: 0x844F, - 44794 - 44032: 0x8450, - 44795 - 44032: 0x8451, - 44796 - 44032: 0xB2BA, - 44797 - 44032: 0x8452, - 44798 - 44032: 0x8453, - 44799 - 44032: 0x8454, - 44800 - 44032: 0x8455, - 44801 - 44032: 0x8456, - 44802 - 44032: 0x8457, - 44803 - 44032: 0x8458, - 44804 - 44032: 0x8459, - 44805 - 44032: 0x845A, - 44806 - 44032: 0x8461, - 44807 - 44032: 0xB2BB, - 44808 - 44032: 0xB2BC, - 44809 - 44032: 0x8462, - 44810 - 44032: 0x8463, - 44811 - 44032: 0x8464, - 44812 - 44032: 0x8465, - 44813 - 44032: 0xB2BD, - 44814 - 44032: 0x8466, - 44815 - 44032: 0x8467, - 44816 - 44032: 0xB2BE, - 44817 - 44032: 0x8468, - 44818 - 44032: 0x8469, - 44819 - 44032: 0x846A, - 44820 - 44032: 0x846B, - 44821 - 44032: 0x846C, - 44822 - 44032: 0x846D, - 44823 - 44032: 0x846E, - 44824 - 44032: 0x846F, - 44825 - 44032: 0x8470, - 44826 - 44032: 0x8471, - 44827 - 44032: 0x8472, - 44828 - 44032: 0x8473, - 44829 - 44032: 0x8474, - 44830 - 44032: 0x8475, - 44831 - 44032: 0x8476, - 44832 - 44032: 0x8477, - 44833 - 44032: 0x8478, - 44834 - 44032: 0x8479, - 44835 - 44032: 0x847A, - 44836 - 44032: 0x8481, - 44837 - 44032: 0x8482, - 44838 - 44032: 0x8483, - 44839 - 44032: 0x8484, - 44840 - 44032: 0x8485, - 44841 - 44032: 0x8486, - 44842 - 44032: 0x8487, - 44843 - 44032: 0x8488, - 44844 - 44032: 0xB2BF, - 44845 - 44032: 0xB2C0, - 44846 - 44032: 0x8489, - 44847 - 44032: 0x848A, - 44848 - 44032: 0xB2C1, - 44849 - 44032: 0x848B, - 44850 - 44032: 0xB2C2, - 44851 - 44032: 0x848C, - 44852 - 44032: 0xB2C3, - 44853 - 44032: 0x848D, - 44854 - 44032: 0x848E, - 44855 - 44032: 0x848F, - 44856 - 44032: 0x8490, - 44857 - 44032: 0x8491, - 44858 - 44032: 0x8492, - 44859 - 44032: 0x8493, - 44860 - 44032: 0xB2C4, - 44861 - 44032: 0xB2C5, - 44862 - 44032: 0x8494, - 44863 - 44032: 0xB2C6, - 44864 - 44032: 0x8495, - 44865 - 44032: 0xB2C7, - 44866 - 44032: 0xB2C8, - 44867 - 44032: 0xB2C9, - 44868 - 44032: 0x8496, - 44869 - 44032: 0x8497, - 44870 - 44032: 0x8498, - 44871 - 44032: 0x8499, - 44872 - 44032: 0xB2CA, - 44873 - 44032: 0xB2CB, - 44874 - 44032: 0x849A, - 44875 - 44032: 0x849B, - 44876 - 44032: 0x849C, - 44877 - 44032: 0x849D, - 44878 - 44032: 0x849E, - 44879 - 44032: 0x849F, - 44880 - 44032: 0xB2CC, - 44881 - 44032: 0x84A0, - 44882 - 44032: 0x84A1, - 44883 - 44032: 0x84A2, - 44884 - 44032: 0x84A3, - 44885 - 44032: 0x84A4, - 44886 - 44032: 0x84A5, - 44887 - 44032: 0x84A6, - 44888 - 44032: 0x84A7, - 44889 - 44032: 0x84A8, - 44890 - 44032: 0x84A9, - 44891 - 44032: 0x84AA, - 44892 - 44032: 0xB2CD, - 44893 - 44032: 0xB2CE, - 44894 - 44032: 0x84AB, - 44895 - 44032: 0x84AC, - 44896 - 44032: 0x84AD, - 44897 - 44032: 0x84AE, - 44898 - 44032: 0x84AF, - 44899 - 44032: 0x84B0, - 44900 - 44032: 0xB2CF, - 44901 - 44032: 0xB2D0, - 44902 - 44032: 0x84B1, - 44903 - 44032: 0x84B2, - 44904 - 44032: 0x84B3, - 44905 - 44032: 0x84B4, - 44906 - 44032: 0x84B5, - 44907 - 44032: 0x84B6, - 44908 - 44032: 0x84B7, - 44909 - 44032: 0x84B8, - 44910 - 44032: 0x84B9, - 44911 - 44032: 0x84BA, - 44912 - 44032: 0x84BB, - 44913 - 44032: 0x84BC, - 44914 - 44032: 0x84BD, - 44915 - 44032: 0x84BE, - 44916 - 44032: 0x84BF, - 44917 - 44032: 0x84C0, - 44918 - 44032: 0x84C1, - 44919 - 44032: 0x84C2, - 44920 - 44032: 0x84C3, - 44921 - 44032: 0xB2D1, - 44922 - 44032: 0x84C4, - 44923 - 44032: 0x84C5, - 44924 - 44032: 0x84C6, - 44925 - 44032: 0x84C7, - 44926 - 44032: 0x84C8, - 44927 - 44032: 0x84C9, - 44928 - 44032: 0xB2D2, - 44929 - 44032: 0x84CA, - 44930 - 44032: 0x84CB, - 44931 - 44032: 0x84CC, - 44932 - 44032: 0xB2D3, - 44933 - 44032: 0x84CD, - 44934 - 44032: 0x84CE, - 44935 - 44032: 0x84CF, - 44936 - 44032: 0xB2D4, - 44937 - 44032: 0x84D0, - 44938 - 44032: 0x84D1, - 44939 - 44032: 0x84D2, - 44940 - 44032: 0x84D3, - 44941 - 44032: 0x84D4, - 44942 - 44032: 0x84D5, - 44943 - 44032: 0x84D6, - 44944 - 44032: 0xB2D5, - 44945 - 44032: 0xB2D6, - 44946 - 44032: 0x84D7, - 44947 - 44032: 0x84D8, - 44948 - 44032: 0x84D9, - 44949 - 44032: 0xB2D7, - 44950 - 44032: 0x84DA, - 44951 - 44032: 0x84DB, - 44952 - 44032: 0x84DC, - 44953 - 44032: 0x84DD, - 44954 - 44032: 0x84DE, - 44955 - 44032: 0x84DF, - 44956 - 44032: 0xB2D8, - 44957 - 44032: 0x84E0, - 44958 - 44032: 0x84E1, - 44959 - 44032: 0x84E2, - 44960 - 44032: 0x84E3, - 44961 - 44032: 0x84E4, - 44962 - 44032: 0x84E5, - 44963 - 44032: 0x84E6, - 44964 - 44032: 0x84E7, - 44965 - 44032: 0x84E8, - 44966 - 44032: 0x84E9, - 44967 - 44032: 0x84EA, - 44968 - 44032: 0x84EB, - 44969 - 44032: 0x84EC, - 44970 - 44032: 0x84ED, - 44971 - 44032: 0x84EE, - 44972 - 44032: 0x84EF, - 44973 - 44032: 0x84F0, - 44974 - 44032: 0x84F1, - 44975 - 44032: 0x84F2, - 44976 - 44032: 0x84F3, - 44977 - 44032: 0x84F4, - 44978 - 44032: 0x84F5, - 44979 - 44032: 0x84F6, - 44980 - 44032: 0x84F7, - 44981 - 44032: 0x84F8, - 44982 - 44032: 0x84F9, - 44983 - 44032: 0x84FA, - 44984 - 44032: 0xB2D9, - 44985 - 44032: 0xB2DA, - 44986 - 44032: 0x84FB, - 44987 - 44032: 0x84FC, - 44988 - 44032: 0xB2DB, - 44989 - 44032: 0x84FD, - 44990 - 44032: 0x84FE, - 44991 - 44032: 0x8541, - 44992 - 44032: 0xB2DC, - 44993 - 44032: 0x8542, - 44994 - 44032: 0x8543, - 44995 - 44032: 0x8544, - 44996 - 44032: 0x8545, - 44997 - 44032: 0x8546, - 44998 - 44032: 0x8547, - 44999 - 44032: 0xB2DD, - 45000 - 44032: 0xB2DE, - 45001 - 44032: 0xB2DF, - 45002 - 44032: 0x8548, - 45003 - 44032: 0xB2E0, - 45004 - 44032: 0x8549, - 45005 - 44032: 0xB2E1, - 45006 - 44032: 0xB2E2, - 45007 - 44032: 0x854A, - 45008 - 44032: 0x854B, - 45009 - 44032: 0x854C, - 45010 - 44032: 0x854D, - 45011 - 44032: 0x854E, - 45012 - 44032: 0xB2E3, - 45013 - 44032: 0x854F, - 45014 - 44032: 0x8550, - 45015 - 44032: 0x8551, - 45016 - 44032: 0x8552, - 45017 - 44032: 0x8553, - 45018 - 44032: 0x8554, - 45019 - 44032: 0x8555, - 45020 - 44032: 0xB2E4, - 45021 - 44032: 0x8556, - 45022 - 44032: 0x8557, - 45023 - 44032: 0x8558, - 45024 - 44032: 0x8559, - 45025 - 44032: 0x855A, - 45026 - 44032: 0x8561, - 45027 - 44032: 0x8562, - 45028 - 44032: 0x8563, - 45029 - 44032: 0x8564, - 45030 - 44032: 0x8565, - 45031 - 44032: 0x8566, - 45032 - 44032: 0xB2E5, - 45033 - 44032: 0xB2E6, - 45034 - 44032: 0x8567, - 45035 - 44032: 0x8568, - 45036 - 44032: 0x8569, - 45037 - 44032: 0x856A, - 45038 - 44032: 0x856B, - 45039 - 44032: 0x856C, - 45040 - 44032: 0xB2E7, - 45041 - 44032: 0xB2E8, - 45042 - 44032: 0x856D, - 45043 - 44032: 0x856E, - 45044 - 44032: 0xB2E9, - 45045 - 44032: 0x856F, - 45046 - 44032: 0x8570, - 45047 - 44032: 0x8571, - 45048 - 44032: 0xB2EA, - 45049 - 44032: 0x8572, - 45050 - 44032: 0x8573, - 45051 - 44032: 0x8574, - 45052 - 44032: 0x8575, - 45053 - 44032: 0x8576, - 45054 - 44032: 0x8577, - 45055 - 44032: 0x8578, - 45056 - 44032: 0xB2EB, - 45057 - 44032: 0xB2EC, - 45058 - 44032: 0x8579, - 45059 - 44032: 0x857A, - 45060 - 44032: 0xB2ED, - 45061 - 44032: 0x8581, - 45062 - 44032: 0x8582, - 45063 - 44032: 0x8583, - 45064 - 44032: 0x8584, - 45065 - 44032: 0x8585, - 45066 - 44032: 0x8586, - 45067 - 44032: 0x8587, - 45068 - 44032: 0xB2EE, - 45069 - 44032: 0x8588, - 45070 - 44032: 0x8589, - 45071 - 44032: 0x858A, - 45072 - 44032: 0xB2EF, - 45073 - 44032: 0x858B, - 45074 - 44032: 0x858C, - 45075 - 44032: 0x858D, - 45076 - 44032: 0xB2F0, - 45077 - 44032: 0x858E, - 45078 - 44032: 0x858F, - 45079 - 44032: 0x8590, - 45080 - 44032: 0x8591, - 45081 - 44032: 0x8592, - 45082 - 44032: 0x8593, - 45083 - 44032: 0x8594, - 45084 - 44032: 0xB2F1, - 45085 - 44032: 0xB2F2, - 45086 - 44032: 0x8595, - 45087 - 44032: 0x8596, - 45088 - 44032: 0x8597, - 45089 - 44032: 0x8598, - 45090 - 44032: 0x8599, - 45091 - 44032: 0x859A, - 45092 - 44032: 0x859B, - 45093 - 44032: 0x859C, - 45094 - 44032: 0x859D, - 45095 - 44032: 0x859E, - 45096 - 44032: 0xB2F3, - 45097 - 44032: 0x859F, - 45098 - 44032: 0x85A0, - 45099 - 44032: 0x85A1, - 45100 - 44032: 0x85A2, - 45101 - 44032: 0x85A3, - 45102 - 44032: 0x85A4, - 45103 - 44032: 0x85A5, - 45104 - 44032: 0x85A6, - 45105 - 44032: 0x85A7, - 45106 - 44032: 0x85A8, - 45107 - 44032: 0x85A9, - 45108 - 44032: 0x85AA, - 45109 - 44032: 0x85AB, - 45110 - 44032: 0x85AC, - 45111 - 44032: 0x85AD, - 45112 - 44032: 0x85AE, - 45113 - 44032: 0x85AF, - 45114 - 44032: 0x85B0, - 45115 - 44032: 0x85B1, - 45116 - 44032: 0x85B2, - 45117 - 44032: 0x85B3, - 45118 - 44032: 0x85B4, - 45119 - 44032: 0x85B5, - 45120 - 44032: 0x85B6, - 45121 - 44032: 0x85B7, - 45122 - 44032: 0x85B8, - 45123 - 44032: 0x85B9, - 45124 - 44032: 0xB2F4, - 45125 - 44032: 0xB2F5, - 45126 - 44032: 0x85BA, - 45127 - 44032: 0x85BB, - 45128 - 44032: 0xB2F6, - 45129 - 44032: 0x85BC, - 45130 - 44032: 0xB2F7, - 45131 - 44032: 0x85BD, - 45132 - 44032: 0xB2F8, - 45133 - 44032: 0x85BE, - 45134 - 44032: 0xB2F9, - 45135 - 44032: 0x85BF, - 45136 - 44032: 0x85C0, - 45137 - 44032: 0x85C1, - 45138 - 44032: 0x85C2, - 45139 - 44032: 0xB2FA, - 45140 - 44032: 0xB2FB, - 45141 - 44032: 0xB2FC, - 45142 - 44032: 0x85C3, - 45143 - 44032: 0xB2FD, - 45144 - 44032: 0x85C4, - 45145 - 44032: 0xB2FE, - 45146 - 44032: 0x85C5, - 45147 - 44032: 0x85C6, - 45148 - 44032: 0x85C7, - 45149 - 44032: 0xB3A1, - 45150 - 44032: 0x85C8, - 45151 - 44032: 0x85C9, - 45152 - 44032: 0x85CA, - 45153 - 44032: 0x85CB, - 45154 - 44032: 0x85CC, - 45155 - 44032: 0x85CD, - 45156 - 44032: 0x85CE, - 45157 - 44032: 0x85CF, - 45158 - 44032: 0x85D0, - 45159 - 44032: 0x85D1, - 45160 - 44032: 0x85D2, - 45161 - 44032: 0x85D3, - 45162 - 44032: 0x85D4, - 45163 - 44032: 0x85D5, - 45164 - 44032: 0x85D6, - 45165 - 44032: 0x85D7, - 45166 - 44032: 0x85D8, - 45167 - 44032: 0x85D9, - 45168 - 44032: 0x85DA, - 45169 - 44032: 0x85DB, - 45170 - 44032: 0x85DC, - 45171 - 44032: 0x85DD, - 45172 - 44032: 0x85DE, - 45173 - 44032: 0x85DF, - 45174 - 44032: 0x85E0, - 45175 - 44032: 0x85E1, - 45176 - 44032: 0x85E2, - 45177 - 44032: 0x85E3, - 45178 - 44032: 0x85E4, - 45179 - 44032: 0x85E5, - 45180 - 44032: 0xB3A2, - 45181 - 44032: 0xB3A3, - 45182 - 44032: 0x85E6, - 45183 - 44032: 0x85E7, - 45184 - 44032: 0xB3A4, - 45185 - 44032: 0x85E8, - 45186 - 44032: 0x85E9, - 45187 - 44032: 0x85EA, - 45188 - 44032: 0xB3A5, - 45189 - 44032: 0x85EB, - 45190 - 44032: 0x85EC, - 45191 - 44032: 0x85ED, - 45192 - 44032: 0x85EE, - 45193 - 44032: 0x85EF, - 45194 - 44032: 0x85F0, - 45195 - 44032: 0x85F1, - 45196 - 44032: 0xB3A6, - 45197 - 44032: 0xB3A7, - 45198 - 44032: 0x85F2, - 45199 - 44032: 0xB3A8, - 45200 - 44032: 0x85F3, - 45201 - 44032: 0xB3A9, - 45202 - 44032: 0x85F4, - 45203 - 44032: 0x85F5, - 45204 - 44032: 0x85F6, - 45205 - 44032: 0x85F7, - 45206 - 44032: 0x85F8, - 45207 - 44032: 0x85F9, - 45208 - 44032: 0xB3AA, - 45209 - 44032: 0xB3AB, - 45210 - 44032: 0xB3AC, - 45211 - 44032: 0x85FA, - 45212 - 44032: 0xB3AD, - 45213 - 44032: 0x85FB, - 45214 - 44032: 0x85FC, - 45215 - 44032: 0xB3AE, - 45216 - 44032: 0xB3AF, - 45217 - 44032: 0xB3B0, - 45218 - 44032: 0xB3B1, - 45219 - 44032: 0x85FD, - 45220 - 44032: 0x85FE, - 45221 - 44032: 0x8641, - 45222 - 44032: 0x8642, - 45223 - 44032: 0x8643, - 45224 - 44032: 0xB3B2, - 45225 - 44032: 0xB3B3, - 45226 - 44032: 0x8644, - 45227 - 44032: 0xB3B4, - 45228 - 44032: 0xB3B5, - 45229 - 44032: 0xB3B6, - 45230 - 44032: 0xB3B7, - 45231 - 44032: 0xB3B8, - 45232 - 44032: 0x8645, - 45233 - 44032: 0xB3B9, - 45234 - 44032: 0x8646, - 45235 - 44032: 0xB3BA, - 45236 - 44032: 0xB3BB, - 45237 - 44032: 0xB3BC, - 45238 - 44032: 0x8647, - 45239 - 44032: 0x8648, - 45240 - 44032: 0xB3BD, - 45241 - 44032: 0x8649, - 45242 - 44032: 0x864A, - 45243 - 44032: 0x864B, - 45244 - 44032: 0xB3BE, - 45245 - 44032: 0x864C, - 45246 - 44032: 0x864D, - 45247 - 44032: 0x864E, - 45248 - 44032: 0x864F, - 45249 - 44032: 0x8650, - 45250 - 44032: 0x8651, - 45251 - 44032: 0x8652, - 45252 - 44032: 0xB3BF, - 45253 - 44032: 0xB3C0, - 45254 - 44032: 0x8653, - 45255 - 44032: 0xB3C1, - 45256 - 44032: 0xB3C2, - 45257 - 44032: 0xB3C3, - 45258 - 44032: 0x8654, - 45259 - 44032: 0x8655, - 45260 - 44032: 0x8656, - 45261 - 44032: 0x8657, - 45262 - 44032: 0x8658, - 45263 - 44032: 0x8659, - 45264 - 44032: 0xB3C4, - 45265 - 44032: 0xB3C5, - 45266 - 44032: 0x865A, - 45267 - 44032: 0x8661, - 45268 - 44032: 0xB3C6, - 45269 - 44032: 0x8662, - 45270 - 44032: 0x8663, - 45271 - 44032: 0x8664, - 45272 - 44032: 0xB3C7, - 45273 - 44032: 0x8665, - 45274 - 44032: 0x8666, - 45275 - 44032: 0x8667, - 45276 - 44032: 0x8668, - 45277 - 44032: 0x8669, - 45278 - 44032: 0x866A, - 45279 - 44032: 0x866B, - 45280 - 44032: 0xB3C8, - 45281 - 44032: 0x866C, - 45282 - 44032: 0x866D, - 45283 - 44032: 0x866E, - 45284 - 44032: 0x866F, - 45285 - 44032: 0xB3C9, - 45286 - 44032: 0x8670, - 45287 - 44032: 0x8671, - 45288 - 44032: 0x8672, - 45289 - 44032: 0x8673, - 45290 - 44032: 0x8674, - 45291 - 44032: 0x8675, - 45292 - 44032: 0x8676, - 45293 - 44032: 0x8677, - 45294 - 44032: 0x8678, - 45295 - 44032: 0x8679, - 45296 - 44032: 0x867A, - 45297 - 44032: 0x8681, - 45298 - 44032: 0x8682, - 45299 - 44032: 0x8683, - 45300 - 44032: 0x8684, - 45301 - 44032: 0x8685, - 45302 - 44032: 0x8686, - 45303 - 44032: 0x8687, - 45304 - 44032: 0x8688, - 45305 - 44032: 0x8689, - 45306 - 44032: 0x868A, - 45307 - 44032: 0x868B, - 45308 - 44032: 0x868C, - 45309 - 44032: 0x868D, - 45310 - 44032: 0x868E, - 45311 - 44032: 0x868F, - 45312 - 44032: 0x8690, - 45313 - 44032: 0x8691, - 45314 - 44032: 0x8692, - 45315 - 44032: 0x8693, - 45316 - 44032: 0x8694, - 45317 - 44032: 0x8695, - 45318 - 44032: 0x8696, - 45319 - 44032: 0x8697, - 45320 - 44032: 0xB3CA, - 45321 - 44032: 0xB3CB, - 45322 - 44032: 0x8698, - 45323 - 44032: 0xB3CC, - 45324 - 44032: 0xB3CD, - 45325 - 44032: 0x8699, - 45326 - 44032: 0x869A, - 45327 - 44032: 0x869B, - 45328 - 44032: 0xB3CE, - 45329 - 44032: 0x869C, - 45330 - 44032: 0xB3CF, - 45331 - 44032: 0xB3D0, - 45332 - 44032: 0x869D, - 45333 - 44032: 0x869E, - 45334 - 44032: 0x869F, - 45335 - 44032: 0x86A0, - 45336 - 44032: 0xB3D1, - 45337 - 44032: 0xB3D2, - 45338 - 44032: 0x86A1, - 45339 - 44032: 0xB3D3, - 45340 - 44032: 0xB3D4, - 45341 - 44032: 0xB3D5, - 45342 - 44032: 0x86A2, - 45343 - 44032: 0x86A3, - 45344 - 44032: 0x86A4, - 45345 - 44032: 0x86A5, - 45346 - 44032: 0x86A6, - 45347 - 44032: 0xB3D6, - 45348 - 44032: 0xB3D7, - 45349 - 44032: 0xB3D8, - 45350 - 44032: 0x86A7, - 45351 - 44032: 0x86A8, - 45352 - 44032: 0xB3D9, - 45353 - 44032: 0x86A9, - 45354 - 44032: 0x86AA, - 45355 - 44032: 0x86AB, - 45356 - 44032: 0xB3DA, - 45357 - 44032: 0x86AC, - 45358 - 44032: 0x86AD, - 45359 - 44032: 0x86AE, - 45360 - 44032: 0x86AF, - 45361 - 44032: 0x86B0, - 45362 - 44032: 0x86B1, - 45363 - 44032: 0x86B2, - 45364 - 44032: 0xB3DB, - 45365 - 44032: 0xB3DC, - 45366 - 44032: 0x86B3, - 45367 - 44032: 0xB3DD, - 45368 - 44032: 0xB3DE, - 45369 - 44032: 0xB3DF, - 45370 - 44032: 0x86B4, - 45371 - 44032: 0x86B5, - 45372 - 44032: 0x86B6, - 45373 - 44032: 0x86B7, - 45374 - 44032: 0x86B8, - 45375 - 44032: 0x86B9, - 45376 - 44032: 0xB3E0, - 45377 - 44032: 0xB3E1, - 45378 - 44032: 0x86BA, - 45379 - 44032: 0x86BB, - 45380 - 44032: 0xB3E2, - 45381 - 44032: 0x86BC, - 45382 - 44032: 0x86BD, - 45383 - 44032: 0x86BE, - 45384 - 44032: 0xB3E3, - 45385 - 44032: 0x86BF, - 45386 - 44032: 0x86C0, - 45387 - 44032: 0x86C1, - 45388 - 44032: 0x86C2, - 45389 - 44032: 0x86C3, - 45390 - 44032: 0x86C4, - 45391 - 44032: 0x86C5, - 45392 - 44032: 0xB3E4, - 45393 - 44032: 0xB3E5, - 45394 - 44032: 0x86C6, - 45395 - 44032: 0x86C7, - 45396 - 44032: 0xB3E6, - 45397 - 44032: 0xB3E7, - 45398 - 44032: 0x86C8, - 45399 - 44032: 0x86C9, - 45400 - 44032: 0xB3E8, - 45401 - 44032: 0x86CA, - 45402 - 44032: 0x86CB, - 45403 - 44032: 0x86CC, - 45404 - 44032: 0xB3E9, - 45405 - 44032: 0x86CD, - 45406 - 44032: 0x86CE, - 45407 - 44032: 0x86CF, - 45408 - 44032: 0xB3EA, - 45409 - 44032: 0x86D0, - 45410 - 44032: 0x86D1, - 45411 - 44032: 0x86D2, - 45412 - 44032: 0x86D3, - 45413 - 44032: 0x86D4, - 45414 - 44032: 0x86D5, - 45415 - 44032: 0x86D6, - 45416 - 44032: 0x86D7, - 45417 - 44032: 0x86D8, - 45418 - 44032: 0x86D9, - 45419 - 44032: 0x86DA, - 45420 - 44032: 0x86DB, - 45421 - 44032: 0x86DC, - 45422 - 44032: 0x86DD, - 45423 - 44032: 0x86DE, - 45424 - 44032: 0x86DF, - 45425 - 44032: 0x86E0, - 45426 - 44032: 0x86E1, - 45427 - 44032: 0x86E2, - 45428 - 44032: 0x86E3, - 45429 - 44032: 0x86E4, - 45430 - 44032: 0x86E5, - 45431 - 44032: 0x86E6, - 45432 - 44032: 0xB3EB, - 45433 - 44032: 0xB3EC, - 45434 - 44032: 0x86E7, - 45435 - 44032: 0x86E8, - 45436 - 44032: 0xB3ED, - 45437 - 44032: 0x86E9, - 45438 - 44032: 0x86EA, - 45439 - 44032: 0x86EB, - 45440 - 44032: 0xB3EE, - 45441 - 44032: 0x86EC, - 45442 - 44032: 0xB3EF, - 45443 - 44032: 0x86ED, - 45444 - 44032: 0x86EE, - 45445 - 44032: 0x86EF, - 45446 - 44032: 0x86F0, - 45447 - 44032: 0x86F1, - 45448 - 44032: 0xB3F0, - 45449 - 44032: 0xB3F1, - 45450 - 44032: 0x86F2, - 45451 - 44032: 0xB3F2, - 45452 - 44032: 0x86F3, - 45453 - 44032: 0xB3F3, - 45454 - 44032: 0x86F4, - 45455 - 44032: 0x86F5, - 45456 - 44032: 0x86F6, - 45457 - 44032: 0x86F7, - 45458 - 44032: 0xB3F4, - 45459 - 44032: 0xB3F5, - 45460 - 44032: 0xB3F6, - 45461 - 44032: 0x86F8, - 45462 - 44032: 0x86F9, - 45463 - 44032: 0x86FA, - 45464 - 44032: 0xB3F7, - 45465 - 44032: 0x86FB, - 45466 - 44032: 0x86FC, - 45467 - 44032: 0x86FD, - 45468 - 44032: 0xB3F8, - 45469 - 44032: 0x86FE, - 45470 - 44032: 0x8741, - 45471 - 44032: 0x8742, - 45472 - 44032: 0x8743, - 45473 - 44032: 0x8744, - 45474 - 44032: 0x8745, - 45475 - 44032: 0x8746, - 45476 - 44032: 0x8747, - 45477 - 44032: 0x8748, - 45478 - 44032: 0x8749, - 45479 - 44032: 0x874A, - 45480 - 44032: 0xB3F9, - 45481 - 44032: 0x874B, - 45482 - 44032: 0x874C, - 45483 - 44032: 0x874D, - 45484 - 44032: 0x874E, - 45485 - 44032: 0x874F, - 45486 - 44032: 0x8750, - 45487 - 44032: 0x8751, - 45488 - 44032: 0x8752, - 45489 - 44032: 0x8753, - 45490 - 44032: 0x8754, - 45491 - 44032: 0x8755, - 45492 - 44032: 0x8756, - 45493 - 44032: 0x8757, - 45494 - 44032: 0x8758, - 45495 - 44032: 0x8759, - 45496 - 44032: 0x875A, - 45497 - 44032: 0x8761, - 45498 - 44032: 0x8762, - 45499 - 44032: 0x8763, - 45500 - 44032: 0x8764, - 45501 - 44032: 0x8765, - 45502 - 44032: 0x8766, - 45503 - 44032: 0x8767, - 45504 - 44032: 0x8768, - 45505 - 44032: 0x8769, - 45506 - 44032: 0x876A, - 45507 - 44032: 0x876B, - 45508 - 44032: 0x876C, - 45509 - 44032: 0x876D, - 45510 - 44032: 0x876E, - 45511 - 44032: 0x876F, - 45512 - 44032: 0x8770, - 45513 - 44032: 0x8771, - 45514 - 44032: 0x8772, - 45515 - 44032: 0x8773, - 45516 - 44032: 0xB3FA, - 45517 - 44032: 0x8774, - 45518 - 44032: 0x8775, - 45519 - 44032: 0x8776, - 45520 - 44032: 0xB3FB, - 45521 - 44032: 0x8777, - 45522 - 44032: 0x8778, - 45523 - 44032: 0x8779, - 45524 - 44032: 0xB3FC, - 45525 - 44032: 0x877A, - 45526 - 44032: 0x8781, - 45527 - 44032: 0x8782, - 45528 - 44032: 0x8783, - 45529 - 44032: 0x8784, - 45530 - 44032: 0x8785, - 45531 - 44032: 0x8786, - 45532 - 44032: 0xB3FD, - 45533 - 44032: 0xB3FE, - 45534 - 44032: 0x8787, - 45535 - 44032: 0xB4A1, - 45536 - 44032: 0x8788, - 45537 - 44032: 0x8789, - 45538 - 44032: 0x878A, - 45539 - 44032: 0x878B, - 45540 - 44032: 0x878C, - 45541 - 44032: 0x878D, - 45542 - 44032: 0x878E, - 45543 - 44032: 0x878F, - 45544 - 44032: 0xB4A2, - 45545 - 44032: 0xB4A3, - 45546 - 44032: 0x8790, - 45547 - 44032: 0x8791, - 45548 - 44032: 0xB4A4, - 45549 - 44032: 0x8792, - 45550 - 44032: 0x8793, - 45551 - 44032: 0x8794, - 45552 - 44032: 0xB4A5, - 45553 - 44032: 0x8795, - 45554 - 44032: 0x8796, - 45555 - 44032: 0x8797, - 45556 - 44032: 0x8798, - 45557 - 44032: 0x8799, - 45558 - 44032: 0x879A, - 45559 - 44032: 0x879B, - 45560 - 44032: 0x879C, - 45561 - 44032: 0xB4A6, - 45562 - 44032: 0x879D, - 45563 - 44032: 0xB4A7, - 45564 - 44032: 0x879E, - 45565 - 44032: 0xB4A8, - 45566 - 44032: 0x879F, - 45567 - 44032: 0x87A0, - 45568 - 44032: 0x87A1, - 45569 - 44032: 0x87A2, - 45570 - 44032: 0x87A3, - 45571 - 44032: 0x87A4, - 45572 - 44032: 0xB4A9, - 45573 - 44032: 0xB4AA, - 45574 - 44032: 0x87A5, - 45575 - 44032: 0x87A6, - 45576 - 44032: 0xB4AB, - 45577 - 44032: 0x87A7, - 45578 - 44032: 0x87A8, - 45579 - 44032: 0xB4AC, - 45580 - 44032: 0xB4AD, - 45581 - 44032: 0x87A9, - 45582 - 44032: 0x87AA, - 45583 - 44032: 0x87AB, - 45584 - 44032: 0x87AC, - 45585 - 44032: 0x87AD, - 45586 - 44032: 0x87AE, - 45587 - 44032: 0x87AF, - 45588 - 44032: 0xB4AE, - 45589 - 44032: 0xB4AF, - 45590 - 44032: 0x87B0, - 45591 - 44032: 0xB4B0, - 45592 - 44032: 0x87B1, - 45593 - 44032: 0xB4B1, - 45594 - 44032: 0x87B2, - 45595 - 44032: 0x87B3, - 45596 - 44032: 0x87B4, - 45597 - 44032: 0x87B5, - 45598 - 44032: 0x87B6, - 45599 - 44032: 0x87B7, - 45600 - 44032: 0xB4B2, - 45601 - 44032: 0x87B8, - 45602 - 44032: 0x87B9, - 45603 - 44032: 0x87BA, - 45604 - 44032: 0x87BB, - 45605 - 44032: 0x87BC, - 45606 - 44032: 0x87BD, - 45607 - 44032: 0x87BE, - 45608 - 44032: 0x87BF, - 45609 - 44032: 0x87C0, - 45610 - 44032: 0x87C1, - 45611 - 44032: 0x87C2, - 45612 - 44032: 0x87C3, - 45613 - 44032: 0x87C4, - 45614 - 44032: 0x87C5, - 45615 - 44032: 0x87C6, - 45616 - 44032: 0x87C7, - 45617 - 44032: 0x87C8, - 45618 - 44032: 0x87C9, - 45619 - 44032: 0x87CA, - 45620 - 44032: 0xB4B3, - 45621 - 44032: 0x87CB, - 45622 - 44032: 0x87CC, - 45623 - 44032: 0x87CD, - 45624 - 44032: 0x87CE, - 45625 - 44032: 0x87CF, - 45626 - 44032: 0x87D0, - 45627 - 44032: 0x87D1, - 45628 - 44032: 0xB4B4, - 45629 - 44032: 0x87D2, - 45630 - 44032: 0x87D3, - 45631 - 44032: 0x87D4, - 45632 - 44032: 0x87D5, - 45633 - 44032: 0x87D6, - 45634 - 44032: 0x87D7, - 45635 - 44032: 0x87D8, - 45636 - 44032: 0x87D9, - 45637 - 44032: 0x87DA, - 45638 - 44032: 0x87DB, - 45639 - 44032: 0x87DC, - 45640 - 44032: 0x87DD, - 45641 - 44032: 0x87DE, - 45642 - 44032: 0x87DF, - 45643 - 44032: 0x87E0, - 45644 - 44032: 0x87E1, - 45645 - 44032: 0x87E2, - 45646 - 44032: 0x87E3, - 45647 - 44032: 0x87E4, - 45648 - 44032: 0x87E5, - 45649 - 44032: 0x87E6, - 45650 - 44032: 0x87E7, - 45651 - 44032: 0x87E8, - 45652 - 44032: 0x87E9, - 45653 - 44032: 0x87EA, - 45654 - 44032: 0x87EB, - 45655 - 44032: 0x87EC, - 45656 - 44032: 0xB4B5, - 45657 - 44032: 0x87ED, - 45658 - 44032: 0x87EE, - 45659 - 44032: 0x87EF, - 45660 - 44032: 0xB4B6, - 45661 - 44032: 0x87F0, - 45662 - 44032: 0x87F1, - 45663 - 44032: 0x87F2, - 45664 - 44032: 0xB4B7, - 45665 - 44032: 0x87F3, - 45666 - 44032: 0x87F4, - 45667 - 44032: 0x87F5, - 45668 - 44032: 0x87F6, - 45669 - 44032: 0x87F7, - 45670 - 44032: 0x87F8, - 45671 - 44032: 0x87F9, - 45672 - 44032: 0xB4B8, - 45673 - 44032: 0xB4B9, - 45674 - 44032: 0x87FA, - 45675 - 44032: 0x87FB, - 45676 - 44032: 0x87FC, - 45677 - 44032: 0x87FD, - 45678 - 44032: 0x87FE, - 45679 - 44032: 0x8841, - 45680 - 44032: 0x8842, - 45681 - 44032: 0x8843, - 45682 - 44032: 0x8844, - 45683 - 44032: 0x8845, - 45684 - 44032: 0xB4BA, - 45685 - 44032: 0xB4BB, - 45686 - 44032: 0x8846, - 45687 - 44032: 0x8847, - 45688 - 44032: 0x8848, - 45689 - 44032: 0x8849, - 45690 - 44032: 0x884A, - 45691 - 44032: 0x884B, - 45692 - 44032: 0xB4BC, - 45693 - 44032: 0x884C, - 45694 - 44032: 0x884D, - 45695 - 44032: 0x884E, - 45696 - 44032: 0x884F, - 45697 - 44032: 0x8850, - 45698 - 44032: 0x8851, - 45699 - 44032: 0x8852, - 45700 - 44032: 0xB4BD, - 45701 - 44032: 0xB4BE, - 45702 - 44032: 0x8853, - 45703 - 44032: 0x8854, - 45704 - 44032: 0x8855, - 45705 - 44032: 0xB4BF, - 45706 - 44032: 0x8856, - 45707 - 44032: 0x8857, - 45708 - 44032: 0x8858, - 45709 - 44032: 0x8859, - 45710 - 44032: 0x885A, - 45711 - 44032: 0x8861, - 45712 - 44032: 0xB4C0, - 45713 - 44032: 0xB4C1, - 45714 - 44032: 0x8862, - 45715 - 44032: 0x8863, - 45716 - 44032: 0xB4C2, - 45717 - 44032: 0x8864, - 45718 - 44032: 0x8865, - 45719 - 44032: 0x8866, - 45720 - 44032: 0xB4C3, - 45721 - 44032: 0xB4C4, - 45722 - 44032: 0xB4C5, - 45723 - 44032: 0x8867, - 45724 - 44032: 0x8868, - 45725 - 44032: 0x8869, - 45726 - 44032: 0x886A, - 45727 - 44032: 0x886B, - 45728 - 44032: 0xB4C6, - 45729 - 44032: 0xB4C7, - 45730 - 44032: 0x886C, - 45731 - 44032: 0xB4C8, - 45732 - 44032: 0x886D, - 45733 - 44032: 0xB4C9, - 45734 - 44032: 0xB4CA, - 45735 - 44032: 0x886E, - 45736 - 44032: 0x886F, - 45737 - 44032: 0x8870, - 45738 - 44032: 0xB4CB, - 45739 - 44032: 0x8871, - 45740 - 44032: 0xB4CC, - 45741 - 44032: 0x8872, - 45742 - 44032: 0x8873, - 45743 - 44032: 0x8874, - 45744 - 44032: 0xB4CD, - 45745 - 44032: 0x8875, - 45746 - 44032: 0x8876, - 45747 - 44032: 0x8877, - 45748 - 44032: 0xB4CE, - 45749 - 44032: 0x8878, - 45750 - 44032: 0x8879, - 45751 - 44032: 0x887A, - 45752 - 44032: 0x8881, - 45753 - 44032: 0x8882, - 45754 - 44032: 0x8883, - 45755 - 44032: 0x8884, - 45756 - 44032: 0x8885, - 45757 - 44032: 0x8886, - 45758 - 44032: 0x8887, - 45759 - 44032: 0x8888, - 45760 - 44032: 0x8889, - 45761 - 44032: 0x888A, - 45762 - 44032: 0x888B, - 45763 - 44032: 0x888C, - 45764 - 44032: 0x888D, - 45765 - 44032: 0x888E, - 45766 - 44032: 0x888F, - 45767 - 44032: 0x8890, - 45768 - 44032: 0xB4CF, - 45769 - 44032: 0xB4D0, - 45770 - 44032: 0x8891, - 45771 - 44032: 0x8892, - 45772 - 44032: 0xB4D1, - 45773 - 44032: 0x8893, - 45774 - 44032: 0x8894, - 45775 - 44032: 0x8895, - 45776 - 44032: 0xB4D2, - 45777 - 44032: 0x8896, - 45778 - 44032: 0xB4D3, - 45779 - 44032: 0x8897, - 45780 - 44032: 0x8898, - 45781 - 44032: 0x8899, - 45782 - 44032: 0x889A, - 45783 - 44032: 0x889B, - 45784 - 44032: 0xB4D4, - 45785 - 44032: 0xB4D5, - 45786 - 44032: 0x889C, - 45787 - 44032: 0xB4D6, - 45788 - 44032: 0x889D, - 45789 - 44032: 0xB4D7, - 45790 - 44032: 0x889E, - 45791 - 44032: 0x889F, - 45792 - 44032: 0x88A0, - 45793 - 44032: 0x88A1, - 45794 - 44032: 0xB4D8, - 45795 - 44032: 0x88A2, - 45796 - 44032: 0xB4D9, - 45797 - 44032: 0xB4DA, - 45798 - 44032: 0xB4DB, - 45799 - 44032: 0x88A3, - 45800 - 44032: 0xB4DC, - 45801 - 44032: 0x88A4, - 45802 - 44032: 0x88A5, - 45803 - 44032: 0xB4DD, - 45804 - 44032: 0xB4DE, - 45805 - 44032: 0xB4DF, - 45806 - 44032: 0xB4E0, - 45807 - 44032: 0xB4E1, - 45808 - 44032: 0x88A6, - 45809 - 44032: 0x88A7, - 45810 - 44032: 0x88A8, - 45811 - 44032: 0xB4E2, - 45812 - 44032: 0xB4E3, - 45813 - 44032: 0xB4E4, - 45814 - 44032: 0x88A9, - 45815 - 44032: 0xB4E5, - 45816 - 44032: 0xB4E6, - 45817 - 44032: 0xB4E7, - 45818 - 44032: 0xB4E8, - 45819 - 44032: 0xB4E9, - 45820 - 44032: 0x88AA, - 45821 - 44032: 0x88AB, - 45822 - 44032: 0x88AC, - 45823 - 44032: 0xB4EA, - 45824 - 44032: 0xB4EB, - 45825 - 44032: 0xB4EC, - 45826 - 44032: 0x88AD, - 45827 - 44032: 0x88AE, - 45828 - 44032: 0xB4ED, - 45829 - 44032: 0x88AF, - 45830 - 44032: 0x88B0, - 45831 - 44032: 0x88B1, - 45832 - 44032: 0xB4EE, - 45833 - 44032: 0x88B2, - 45834 - 44032: 0x88B3, - 45835 - 44032: 0x88B4, - 45836 - 44032: 0x88B5, - 45837 - 44032: 0x88B6, - 45838 - 44032: 0x88B7, - 45839 - 44032: 0x88B8, - 45840 - 44032: 0xB4EF, - 45841 - 44032: 0xB4F0, - 45842 - 44032: 0x88B9, - 45843 - 44032: 0xB4F1, - 45844 - 44032: 0xB4F2, - 45845 - 44032: 0xB4F3, - 45846 - 44032: 0x88BA, - 45847 - 44032: 0x88BB, - 45848 - 44032: 0x88BC, - 45849 - 44032: 0x88BD, - 45850 - 44032: 0x88BE, - 45851 - 44032: 0x88BF, - 45852 - 44032: 0xB4F4, - 45853 - 44032: 0x88C0, - 45854 - 44032: 0x88C1, - 45855 - 44032: 0x88C2, - 45856 - 44032: 0x88C3, - 45857 - 44032: 0x88C4, - 45858 - 44032: 0x88C5, - 45859 - 44032: 0x88C6, - 45860 - 44032: 0x88C7, - 45861 - 44032: 0x88C8, - 45862 - 44032: 0x88C9, - 45863 - 44032: 0x88CA, - 45864 - 44032: 0x88CB, - 45865 - 44032: 0x88CC, - 45866 - 44032: 0x88CD, - 45867 - 44032: 0x88CE, - 45868 - 44032: 0x88CF, - 45869 - 44032: 0x88D0, - 45870 - 44032: 0x88D1, - 45871 - 44032: 0x88D2, - 45872 - 44032: 0x88D3, - 45873 - 44032: 0x88D4, - 45874 - 44032: 0x88D5, - 45875 - 44032: 0x88D6, - 45876 - 44032: 0x88D7, - 45877 - 44032: 0x88D8, - 45878 - 44032: 0x88D9, - 45879 - 44032: 0x88DA, - 45880 - 44032: 0x88DB, - 45881 - 44032: 0x88DC, - 45882 - 44032: 0x88DD, - 45883 - 44032: 0x88DE, - 45884 - 44032: 0x88DF, - 45885 - 44032: 0x88E0, - 45886 - 44032: 0x88E1, - 45887 - 44032: 0x88E2, - 45888 - 44032: 0x88E3, - 45889 - 44032: 0x88E4, - 45890 - 44032: 0x88E5, - 45891 - 44032: 0x88E6, - 45892 - 44032: 0x88E7, - 45893 - 44032: 0x88E8, - 45894 - 44032: 0x88E9, - 45895 - 44032: 0x88EA, - 45896 - 44032: 0x88EB, - 45897 - 44032: 0x88EC, - 45898 - 44032: 0x88ED, - 45899 - 44032: 0x88EE, - 45900 - 44032: 0x88EF, - 45901 - 44032: 0x88F0, - 45902 - 44032: 0x88F1, - 45903 - 44032: 0x88F2, - 45904 - 44032: 0x88F3, - 45905 - 44032: 0x88F4, - 45906 - 44032: 0x88F5, - 45907 - 44032: 0x88F6, - 45908 - 44032: 0xB4F5, - 45909 - 44032: 0xB4F6, - 45910 - 44032: 0xB4F7, - 45911 - 44032: 0x88F7, - 45912 - 44032: 0xB4F8, - 45913 - 44032: 0x88F8, - 45914 - 44032: 0x88F9, - 45915 - 44032: 0xB4F9, - 45916 - 44032: 0xB4FA, - 45917 - 44032: 0x88FA, - 45918 - 44032: 0xB4FB, - 45919 - 44032: 0xB4FC, - 45920 - 44032: 0x88FB, - 45921 - 44032: 0x88FC, - 45922 - 44032: 0x88FD, - 45923 - 44032: 0x88FE, - 45924 - 44032: 0xB4FD, - 45925 - 44032: 0xB4FE, - 45926 - 44032: 0x8941, - 45927 - 44032: 0xB5A1, - 45928 - 44032: 0x8942, - 45929 - 44032: 0xB5A2, - 45930 - 44032: 0x8943, - 45931 - 44032: 0xB5A3, - 45932 - 44032: 0x8944, - 45933 - 44032: 0x8945, - 45934 - 44032: 0xB5A4, - 45935 - 44032: 0x8946, - 45936 - 44032: 0xB5A5, - 45937 - 44032: 0xB5A6, - 45938 - 44032: 0x8947, - 45939 - 44032: 0x8948, - 45940 - 44032: 0xB5A7, - 45941 - 44032: 0x8949, - 45942 - 44032: 0x894A, - 45943 - 44032: 0x894B, - 45944 - 44032: 0xB5A8, - 45945 - 44032: 0x894C, - 45946 - 44032: 0x894D, - 45947 - 44032: 0x894E, - 45948 - 44032: 0x894F, - 45949 - 44032: 0x8950, - 45950 - 44032: 0x8951, - 45951 - 44032: 0x8952, - 45952 - 44032: 0xB5A9, - 45953 - 44032: 0xB5AA, - 45954 - 44032: 0x8953, - 45955 - 44032: 0xB5AB, - 45956 - 44032: 0xB5AC, - 45957 - 44032: 0xB5AD, - 45958 - 44032: 0x8954, - 45959 - 44032: 0x8955, - 45960 - 44032: 0x8956, - 45961 - 44032: 0x8957, - 45962 - 44032: 0x8958, - 45963 - 44032: 0x8959, - 45964 - 44032: 0xB5AE, - 45965 - 44032: 0x895A, - 45966 - 44032: 0x8961, - 45967 - 44032: 0x8962, - 45968 - 44032: 0xB5AF, - 45969 - 44032: 0x8963, - 45970 - 44032: 0x8964, - 45971 - 44032: 0x8965, - 45972 - 44032: 0xB5B0, - 45973 - 44032: 0x8966, - 45974 - 44032: 0x8967, - 45975 - 44032: 0x8968, - 45976 - 44032: 0x8969, - 45977 - 44032: 0x896A, - 45978 - 44032: 0x896B, - 45979 - 44032: 0x896C, - 45980 - 44032: 0x896D, - 45981 - 44032: 0x896E, - 45982 - 44032: 0x896F, - 45983 - 44032: 0x8970, - 45984 - 44032: 0xB5B1, - 45985 - 44032: 0xB5B2, - 45986 - 44032: 0x8971, - 45987 - 44032: 0x8972, - 45988 - 44032: 0x8973, - 45989 - 44032: 0x8974, - 45990 - 44032: 0x8975, - 45991 - 44032: 0x8976, - 45992 - 44032: 0xB5B3, - 45993 - 44032: 0x8977, - 45994 - 44032: 0x8978, - 45995 - 44032: 0x8979, - 45996 - 44032: 0xB5B4, - 45997 - 44032: 0x897A, - 45998 - 44032: 0x8981, - 45999 - 44032: 0x8982, - 46000 - 44032: 0x8983, - 46001 - 44032: 0x8984, - 46002 - 44032: 0x8985, - 46003 - 44032: 0x8986, - 46004 - 44032: 0x8987, - 46005 - 44032: 0x8988, - 46006 - 44032: 0x8989, - 46007 - 44032: 0x898A, - 46008 - 44032: 0x898B, - 46009 - 44032: 0x898C, - 46010 - 44032: 0x898D, - 46011 - 44032: 0x898E, - 46012 - 44032: 0x898F, - 46013 - 44032: 0x8990, - 46014 - 44032: 0x8991, - 46015 - 44032: 0x8992, - 46016 - 44032: 0x8993, - 46017 - 44032: 0x8994, - 46018 - 44032: 0x8995, - 46019 - 44032: 0x8996, - 46020 - 44032: 0xB5B5, - 46021 - 44032: 0xB5B6, - 46022 - 44032: 0x8997, - 46023 - 44032: 0x8998, - 46024 - 44032: 0xB5B7, - 46025 - 44032: 0x8999, - 46026 - 44032: 0x899A, - 46027 - 44032: 0xB5B8, - 46028 - 44032: 0xB5B9, - 46029 - 44032: 0x899B, - 46030 - 44032: 0xB5BA, - 46031 - 44032: 0x899C, - 46032 - 44032: 0xB5BB, - 46033 - 44032: 0x899D, - 46034 - 44032: 0x899E, - 46035 - 44032: 0x899F, - 46036 - 44032: 0xB5BC, - 46037 - 44032: 0xB5BD, - 46038 - 44032: 0x89A0, - 46039 - 44032: 0xB5BE, - 46040 - 44032: 0x89A1, - 46041 - 44032: 0xB5BF, - 46042 - 44032: 0x89A2, - 46043 - 44032: 0xB5C0, - 46044 - 44032: 0x89A3, - 46045 - 44032: 0xB5C1, - 46046 - 44032: 0x89A4, - 46047 - 44032: 0x89A5, - 46048 - 44032: 0xB5C2, - 46049 - 44032: 0x89A6, - 46050 - 44032: 0x89A7, - 46051 - 44032: 0x89A8, - 46052 - 44032: 0xB5C3, - 46053 - 44032: 0x89A9, - 46054 - 44032: 0x89AA, - 46055 - 44032: 0x89AB, - 46056 - 44032: 0xB5C4, - 46057 - 44032: 0x89AC, - 46058 - 44032: 0x89AD, - 46059 - 44032: 0x89AE, - 46060 - 44032: 0x89AF, - 46061 - 44032: 0x89B0, - 46062 - 44032: 0x89B1, - 46063 - 44032: 0x89B2, - 46064 - 44032: 0x89B3, - 46065 - 44032: 0x89B4, - 46066 - 44032: 0x89B5, - 46067 - 44032: 0x89B6, - 46068 - 44032: 0x89B7, - 46069 - 44032: 0x89B8, - 46070 - 44032: 0x89B9, - 46071 - 44032: 0x89BA, - 46072 - 44032: 0x89BB, - 46073 - 44032: 0x89BC, - 46074 - 44032: 0x89BD, - 46075 - 44032: 0x89BE, - 46076 - 44032: 0xB5C5, - 46077 - 44032: 0x89BF, - 46078 - 44032: 0x89C0, - 46079 - 44032: 0x89C1, - 46080 - 44032: 0x89C2, - 46081 - 44032: 0x89C3, - 46082 - 44032: 0x89C4, - 46083 - 44032: 0x89C5, - 46084 - 44032: 0x89C6, - 46085 - 44032: 0x89C7, - 46086 - 44032: 0x89C8, - 46087 - 44032: 0x89C9, - 46088 - 44032: 0x89CA, - 46089 - 44032: 0x89CB, - 46090 - 44032: 0x89CC, - 46091 - 44032: 0x89CD, - 46092 - 44032: 0x89CE, - 46093 - 44032: 0x89CF, - 46094 - 44032: 0x89D0, - 46095 - 44032: 0x89D1, - 46096 - 44032: 0xB5C6, - 46097 - 44032: 0x89D2, - 46098 - 44032: 0x89D3, - 46099 - 44032: 0x89D4, - 46100 - 44032: 0x89D5, - 46101 - 44032: 0x89D6, - 46102 - 44032: 0x89D7, - 46103 - 44032: 0x89D8, - 46104 - 44032: 0xB5C7, - 46105 - 44032: 0x89D9, - 46106 - 44032: 0x89DA, - 46107 - 44032: 0x89DB, - 46108 - 44032: 0xB5C8, - 46109 - 44032: 0x89DC, - 46110 - 44032: 0x89DD, - 46111 - 44032: 0x89DE, - 46112 - 44032: 0xB5C9, - 46113 - 44032: 0x89DF, - 46114 - 44032: 0x89E0, - 46115 - 44032: 0x89E1, - 46116 - 44032: 0x89E2, - 46117 - 44032: 0x89E3, - 46118 - 44032: 0x89E4, - 46119 - 44032: 0x89E5, - 46120 - 44032: 0xB5CA, - 46121 - 44032: 0xB5CB, - 46122 - 44032: 0x89E6, - 46123 - 44032: 0xB5CC, - 46124 - 44032: 0x89E7, - 46125 - 44032: 0x89E8, - 46126 - 44032: 0x89E9, - 46127 - 44032: 0x89EA, - 46128 - 44032: 0x89EB, - 46129 - 44032: 0x89EC, - 46130 - 44032: 0x89ED, - 46131 - 44032: 0x89EE, - 46132 - 44032: 0xB5CD, - 46133 - 44032: 0x89EF, - 46134 - 44032: 0x89F0, - 46135 - 44032: 0x89F1, - 46136 - 44032: 0x89F2, - 46137 - 44032: 0x89F3, - 46138 - 44032: 0x89F4, - 46139 - 44032: 0x89F5, - 46140 - 44032: 0x89F6, - 46141 - 44032: 0x89F7, - 46142 - 44032: 0x89F8, - 46143 - 44032: 0x89F9, - 46144 - 44032: 0x89FA, - 46145 - 44032: 0x89FB, - 46146 - 44032: 0x89FC, - 46147 - 44032: 0x89FD, - 46148 - 44032: 0x89FE, - 46149 - 44032: 0x8A41, - 46150 - 44032: 0x8A42, - 46151 - 44032: 0x8A43, - 46152 - 44032: 0x8A44, - 46153 - 44032: 0x8A45, - 46154 - 44032: 0x8A46, - 46155 - 44032: 0x8A47, - 46156 - 44032: 0x8A48, - 46157 - 44032: 0x8A49, - 46158 - 44032: 0x8A4A, - 46159 - 44032: 0x8A4B, - 46160 - 44032: 0xB5CE, - 46161 - 44032: 0xB5CF, - 46162 - 44032: 0x8A4C, - 46163 - 44032: 0x8A4D, - 46164 - 44032: 0xB5D0, - 46165 - 44032: 0x8A4E, - 46166 - 44032: 0x8A4F, - 46167 - 44032: 0x8A50, - 46168 - 44032: 0xB5D1, - 46169 - 44032: 0x8A51, - 46170 - 44032: 0x8A52, - 46171 - 44032: 0x8A53, - 46172 - 44032: 0x8A54, - 46173 - 44032: 0x8A55, - 46174 - 44032: 0x8A56, - 46175 - 44032: 0x8A57, - 46176 - 44032: 0xB5D2, - 46177 - 44032: 0xB5D3, - 46178 - 44032: 0x8A58, - 46179 - 44032: 0xB5D4, - 46180 - 44032: 0x8A59, - 46181 - 44032: 0xB5D5, - 46182 - 44032: 0x8A5A, - 46183 - 44032: 0x8A61, - 46184 - 44032: 0x8A62, - 46185 - 44032: 0x8A63, - 46186 - 44032: 0x8A64, - 46187 - 44032: 0x8A65, - 46188 - 44032: 0xB5D6, - 46189 - 44032: 0x8A66, - 46190 - 44032: 0x8A67, - 46191 - 44032: 0x8A68, - 46192 - 44032: 0x8A69, - 46193 - 44032: 0x8A6A, - 46194 - 44032: 0x8A6B, - 46195 - 44032: 0x8A6C, - 46196 - 44032: 0x8A6D, - 46197 - 44032: 0x8A6E, - 46198 - 44032: 0x8A6F, - 46199 - 44032: 0x8A70, - 46200 - 44032: 0x8A71, - 46201 - 44032: 0x8A72, - 46202 - 44032: 0x8A73, - 46203 - 44032: 0x8A74, - 46204 - 44032: 0x8A75, - 46205 - 44032: 0x8A76, - 46206 - 44032: 0x8A77, - 46207 - 44032: 0x8A78, - 46208 - 44032: 0xB5D7, - 46209 - 44032: 0x8A79, - 46210 - 44032: 0x8A7A, - 46211 - 44032: 0x8A81, - 46212 - 44032: 0x8A82, - 46213 - 44032: 0x8A83, - 46214 - 44032: 0x8A84, - 46215 - 44032: 0x8A85, - 46216 - 44032: 0xB5D8, - 46217 - 44032: 0x8A86, - 46218 - 44032: 0x8A87, - 46219 - 44032: 0x8A88, - 46220 - 44032: 0x8A89, - 46221 - 44032: 0x8A8A, - 46222 - 44032: 0x8A8B, - 46223 - 44032: 0x8A8C, - 46224 - 44032: 0x8A8D, - 46225 - 44032: 0x8A8E, - 46226 - 44032: 0x8A8F, - 46227 - 44032: 0x8A90, - 46228 - 44032: 0x8A91, - 46229 - 44032: 0x8A92, - 46230 - 44032: 0x8A93, - 46231 - 44032: 0x8A94, - 46232 - 44032: 0x8A95, - 46233 - 44032: 0x8A96, - 46234 - 44032: 0x8A97, - 46235 - 44032: 0x8A98, - 46236 - 44032: 0x8A99, - 46237 - 44032: 0xB5D9, - 46238 - 44032: 0x8A9A, - 46239 - 44032: 0x8A9B, - 46240 - 44032: 0x8A9C, - 46241 - 44032: 0x8A9D, - 46242 - 44032: 0x8A9E, - 46243 - 44032: 0x8A9F, - 46244 - 44032: 0xB5DA, - 46245 - 44032: 0x8AA0, - 46246 - 44032: 0x8AA1, - 46247 - 44032: 0x8AA2, - 46248 - 44032: 0xB5DB, - 46249 - 44032: 0x8AA3, - 46250 - 44032: 0x8AA4, - 46251 - 44032: 0x8AA5, - 46252 - 44032: 0xB5DC, - 46253 - 44032: 0x8AA6, - 46254 - 44032: 0x8AA7, - 46255 - 44032: 0x8AA8, - 46256 - 44032: 0x8AA9, - 46257 - 44032: 0x8AAA, - 46258 - 44032: 0x8AAB, - 46259 - 44032: 0x8AAC, - 46260 - 44032: 0x8AAD, - 46261 - 44032: 0xB5DD, - 46262 - 44032: 0x8AAE, - 46263 - 44032: 0xB5DE, - 46264 - 44032: 0x8AAF, - 46265 - 44032: 0xB5DF, - 46266 - 44032: 0x8AB0, - 46267 - 44032: 0x8AB1, - 46268 - 44032: 0x8AB2, - 46269 - 44032: 0x8AB3, - 46270 - 44032: 0x8AB4, - 46271 - 44032: 0x8AB5, - 46272 - 44032: 0xB5E0, - 46273 - 44032: 0x8AB6, - 46274 - 44032: 0x8AB7, - 46275 - 44032: 0x8AB8, - 46276 - 44032: 0xB5E1, - 46277 - 44032: 0x8AB9, - 46278 - 44032: 0x8ABA, - 46279 - 44032: 0x8ABB, - 46280 - 44032: 0xB5E2, - 46281 - 44032: 0x8ABC, - 46282 - 44032: 0x8ABD, - 46283 - 44032: 0x8ABE, - 46284 - 44032: 0x8ABF, - 46285 - 44032: 0x8AC0, - 46286 - 44032: 0x8AC1, - 46287 - 44032: 0x8AC2, - 46288 - 44032: 0xB5E3, - 46289 - 44032: 0x8AC3, - 46290 - 44032: 0x8AC4, - 46291 - 44032: 0x8AC5, - 46292 - 44032: 0x8AC6, - 46293 - 44032: 0xB5E4, - 46294 - 44032: 0x8AC7, - 46295 - 44032: 0x8AC8, - 46296 - 44032: 0x8AC9, - 46297 - 44032: 0x8ACA, - 46298 - 44032: 0x8ACB, - 46299 - 44032: 0x8ACC, - 46300 - 44032: 0xB5E5, - 46301 - 44032: 0xB5E6, - 46302 - 44032: 0x8ACD, - 46303 - 44032: 0x8ACE, - 46304 - 44032: 0xB5E7, - 46305 - 44032: 0x8ACF, - 46306 - 44032: 0x8AD0, - 46307 - 44032: 0xB5E8, - 46308 - 44032: 0xB5E9, - 46309 - 44032: 0x8AD1, - 46310 - 44032: 0xB5EA, - 46311 - 44032: 0x8AD2, - 46312 - 44032: 0x8AD3, - 46313 - 44032: 0x8AD4, - 46314 - 44032: 0x8AD5, - 46315 - 44032: 0x8AD6, - 46316 - 44032: 0xB5EB, - 46317 - 44032: 0xB5EC, - 46318 - 44032: 0x8AD7, - 46319 - 44032: 0xB5ED, - 46320 - 44032: 0x8AD8, - 46321 - 44032: 0xB5EE, - 46322 - 44032: 0x8AD9, - 46323 - 44032: 0x8ADA, - 46324 - 44032: 0x8ADB, - 46325 - 44032: 0x8ADC, - 46326 - 44032: 0x8ADD, - 46327 - 44032: 0x8ADE, - 46328 - 44032: 0xB5EF, - 46329 - 44032: 0x8ADF, - 46330 - 44032: 0x8AE0, - 46331 - 44032: 0x8AE1, - 46332 - 44032: 0x8AE2, - 46333 - 44032: 0x8AE3, - 46334 - 44032: 0x8AE4, - 46335 - 44032: 0x8AE5, - 46336 - 44032: 0x8AE6, - 46337 - 44032: 0x8AE7, - 46338 - 44032: 0x8AE8, - 46339 - 44032: 0x8AE9, - 46340 - 44032: 0x8AEA, - 46341 - 44032: 0x8AEB, - 46342 - 44032: 0x8AEC, - 46343 - 44032: 0x8AED, - 46344 - 44032: 0x8AEE, - 46345 - 44032: 0x8AEF, - 46346 - 44032: 0x8AF0, - 46347 - 44032: 0x8AF1, - 46348 - 44032: 0x8AF2, - 46349 - 44032: 0x8AF3, - 46350 - 44032: 0x8AF4, - 46351 - 44032: 0x8AF5, - 46352 - 44032: 0x8AF6, - 46353 - 44032: 0x8AF7, - 46354 - 44032: 0x8AF8, - 46355 - 44032: 0x8AF9, - 46356 - 44032: 0xB5F0, - 46357 - 44032: 0xB5F1, - 46358 - 44032: 0x8AFA, - 46359 - 44032: 0x8AFB, - 46360 - 44032: 0xB5F2, - 46361 - 44032: 0x8AFC, - 46362 - 44032: 0x8AFD, - 46363 - 44032: 0xB5F3, - 46364 - 44032: 0xB5F4, - 46365 - 44032: 0x8AFE, - 46366 - 44032: 0x8B41, - 46367 - 44032: 0x8B42, - 46368 - 44032: 0x8B43, - 46369 - 44032: 0x8B44, - 46370 - 44032: 0x8B45, - 46371 - 44032: 0x8B46, - 46372 - 44032: 0xB5F5, - 46373 - 44032: 0xB5F6, - 46374 - 44032: 0x8B47, - 46375 - 44032: 0xB5F7, - 46376 - 44032: 0xB5F8, - 46377 - 44032: 0xB5F9, - 46378 - 44032: 0xB5FA, - 46379 - 44032: 0x8B48, - 46380 - 44032: 0x8B49, - 46381 - 44032: 0x8B4A, - 46382 - 44032: 0x8B4B, - 46383 - 44032: 0x8B4C, - 46384 - 44032: 0xB5FB, - 46385 - 44032: 0xB5FC, - 46386 - 44032: 0x8B4D, - 46387 - 44032: 0x8B4E, - 46388 - 44032: 0xB5FD, - 46389 - 44032: 0x8B4F, - 46390 - 44032: 0x8B50, - 46391 - 44032: 0x8B51, - 46392 - 44032: 0xB5FE, - 46393 - 44032: 0x8B52, - 46394 - 44032: 0x8B53, - 46395 - 44032: 0x8B54, - 46396 - 44032: 0x8B55, - 46397 - 44032: 0x8B56, - 46398 - 44032: 0x8B57, - 46399 - 44032: 0x8B58, - 46400 - 44032: 0xB6A1, - 46401 - 44032: 0xB6A2, - 46402 - 44032: 0x8B59, - 46403 - 44032: 0xB6A3, - 46404 - 44032: 0xB6A4, - 46405 - 44032: 0xB6A5, - 46406 - 44032: 0x8B5A, - 46407 - 44032: 0x8B61, - 46408 - 44032: 0x8B62, - 46409 - 44032: 0x8B63, - 46410 - 44032: 0x8B64, - 46411 - 44032: 0xB6A6, - 46412 - 44032: 0xB6A7, - 46413 - 44032: 0xB6A8, - 46414 - 44032: 0x8B65, - 46415 - 44032: 0x8B66, - 46416 - 44032: 0xB6A9, - 46417 - 44032: 0x8B67, - 46418 - 44032: 0x8B68, - 46419 - 44032: 0x8B69, - 46420 - 44032: 0xB6AA, - 46421 - 44032: 0x8B6A, - 46422 - 44032: 0x8B6B, - 46423 - 44032: 0x8B6C, - 46424 - 44032: 0x8B6D, - 46425 - 44032: 0x8B6E, - 46426 - 44032: 0x8B6F, - 46427 - 44032: 0x8B70, - 46428 - 44032: 0xB6AB, - 46429 - 44032: 0xB6AC, - 46430 - 44032: 0x8B71, - 46431 - 44032: 0xB6AD, - 46432 - 44032: 0xB6AE, - 46433 - 44032: 0xB6AF, - 46434 - 44032: 0x8B72, - 46435 - 44032: 0x8B73, - 46436 - 44032: 0x8B74, - 46437 - 44032: 0x8B75, - 46438 - 44032: 0x8B76, - 46439 - 44032: 0x8B77, - 46440 - 44032: 0x8B78, - 46441 - 44032: 0x8B79, - 46442 - 44032: 0x8B7A, - 46443 - 44032: 0x8B81, - 46444 - 44032: 0x8B82, - 46445 - 44032: 0x8B83, - 46446 - 44032: 0x8B84, - 46447 - 44032: 0x8B85, - 46448 - 44032: 0x8B86, - 46449 - 44032: 0x8B87, - 46450 - 44032: 0x8B88, - 46451 - 44032: 0x8B89, - 46452 - 44032: 0x8B8A, - 46453 - 44032: 0x8B8B, - 46454 - 44032: 0x8B8C, - 46455 - 44032: 0x8B8D, - 46456 - 44032: 0x8B8E, - 46457 - 44032: 0x8B8F, - 46458 - 44032: 0x8B90, - 46459 - 44032: 0x8B91, - 46460 - 44032: 0x8B92, - 46461 - 44032: 0x8B93, - 46462 - 44032: 0x8B94, - 46463 - 44032: 0x8B95, - 46464 - 44032: 0x8B96, - 46465 - 44032: 0x8B97, - 46466 - 44032: 0x8B98, - 46467 - 44032: 0x8B99, - 46468 - 44032: 0x8B9A, - 46469 - 44032: 0x8B9B, - 46470 - 44032: 0x8B9C, - 46471 - 44032: 0x8B9D, - 46472 - 44032: 0x8B9E, - 46473 - 44032: 0x8B9F, - 46474 - 44032: 0x8BA0, - 46475 - 44032: 0x8BA1, - 46476 - 44032: 0x8BA2, - 46477 - 44032: 0x8BA3, - 46478 - 44032: 0x8BA4, - 46479 - 44032: 0x8BA5, - 46480 - 44032: 0x8BA6, - 46481 - 44032: 0x8BA7, - 46482 - 44032: 0x8BA8, - 46483 - 44032: 0x8BA9, - 46484 - 44032: 0x8BAA, - 46485 - 44032: 0x8BAB, - 46486 - 44032: 0x8BAC, - 46487 - 44032: 0x8BAD, - 46488 - 44032: 0x8BAE, - 46489 - 44032: 0x8BAF, - 46490 - 44032: 0x8BB0, - 46491 - 44032: 0x8BB1, - 46492 - 44032: 0x8BB2, - 46493 - 44032: 0x8BB3, - 46494 - 44032: 0x8BB4, - 46495 - 44032: 0x8BB5, - 46496 - 44032: 0xB6B0, - 46497 - 44032: 0xB6B1, - 46498 - 44032: 0x8BB6, - 46499 - 44032: 0x8BB7, - 46500 - 44032: 0xB6B2, - 46501 - 44032: 0x8BB8, - 46502 - 44032: 0x8BB9, - 46503 - 44032: 0x8BBA, - 46504 - 44032: 0xB6B3, - 46505 - 44032: 0x8BBB, - 46506 - 44032: 0xB6B4, - 46507 - 44032: 0xB6B5, - 46508 - 44032: 0x8BBC, - 46509 - 44032: 0x8BBD, - 46510 - 44032: 0x8BBE, - 46511 - 44032: 0x8BBF, - 46512 - 44032: 0xB6B6, - 46513 - 44032: 0xB6B7, - 46514 - 44032: 0x8BC0, - 46515 - 44032: 0xB6B8, - 46516 - 44032: 0xB6B9, - 46517 - 44032: 0xB6BA, - 46518 - 44032: 0x8BC1, - 46519 - 44032: 0x8BC2, - 46520 - 44032: 0x8BC3, - 46521 - 44032: 0x8BC4, - 46522 - 44032: 0x8BC5, - 46523 - 44032: 0xB6BB, - 46524 - 44032: 0xB6BC, - 46525 - 44032: 0xB6BD, - 46526 - 44032: 0x8BC6, - 46527 - 44032: 0x8BC7, - 46528 - 44032: 0xB6BE, - 46529 - 44032: 0x8BC8, - 46530 - 44032: 0x8BC9, - 46531 - 44032: 0x8BCA, - 46532 - 44032: 0xB6BF, - 46533 - 44032: 0x8BCB, - 46534 - 44032: 0x8BCC, - 46535 - 44032: 0x8BCD, - 46536 - 44032: 0x8BCE, - 46537 - 44032: 0x8BCF, - 46538 - 44032: 0x8BD0, - 46539 - 44032: 0x8BD1, - 46540 - 44032: 0xB6C0, - 46541 - 44032: 0xB6C1, - 46542 - 44032: 0x8BD2, - 46543 - 44032: 0xB6C2, - 46544 - 44032: 0xB6C3, - 46545 - 44032: 0xB6C4, - 46546 - 44032: 0x8BD3, - 46547 - 44032: 0x8BD4, - 46548 - 44032: 0x8BD5, - 46549 - 44032: 0x8BD6, - 46550 - 44032: 0x8BD7, - 46551 - 44032: 0x8BD8, - 46552 - 44032: 0xB6C5, - 46553 - 44032: 0x8BD9, - 46554 - 44032: 0x8BDA, - 46555 - 44032: 0x8BDB, - 46556 - 44032: 0x8BDC, - 46557 - 44032: 0x8BDD, - 46558 - 44032: 0x8BDE, - 46559 - 44032: 0x8BDF, - 46560 - 44032: 0x8BE0, - 46561 - 44032: 0x8BE1, - 46562 - 44032: 0x8BE2, - 46563 - 44032: 0x8BE3, - 46564 - 44032: 0x8BE4, - 46565 - 44032: 0x8BE5, - 46566 - 44032: 0x8BE6, - 46567 - 44032: 0x8BE7, - 46568 - 44032: 0x8BE8, - 46569 - 44032: 0x8BE9, - 46570 - 44032: 0x8BEA, - 46571 - 44032: 0x8BEB, - 46572 - 44032: 0xB6C6, - 46573 - 44032: 0x8BEC, - 46574 - 44032: 0x8BED, - 46575 - 44032: 0x8BEE, - 46576 - 44032: 0x8BEF, - 46577 - 44032: 0x8BF0, - 46578 - 44032: 0x8BF1, - 46579 - 44032: 0x8BF2, - 46580 - 44032: 0x8BF3, - 46581 - 44032: 0x8BF4, - 46582 - 44032: 0x8BF5, - 46583 - 44032: 0x8BF6, - 46584 - 44032: 0x8BF7, - 46585 - 44032: 0x8BF8, - 46586 - 44032: 0x8BF9, - 46587 - 44032: 0x8BFA, - 46588 - 44032: 0x8BFB, - 46589 - 44032: 0x8BFC, - 46590 - 44032: 0x8BFD, - 46591 - 44032: 0x8BFE, - 46592 - 44032: 0x8C41, - 46593 - 44032: 0x8C42, - 46594 - 44032: 0x8C43, - 46595 - 44032: 0x8C44, - 46596 - 44032: 0x8C45, - 46597 - 44032: 0x8C46, - 46598 - 44032: 0x8C47, - 46599 - 44032: 0x8C48, - 46600 - 44032: 0x8C49, - 46601 - 44032: 0x8C4A, - 46602 - 44032: 0x8C4B, - 46603 - 44032: 0x8C4C, - 46604 - 44032: 0x8C4D, - 46605 - 44032: 0x8C4E, - 46606 - 44032: 0x8C4F, - 46607 - 44032: 0x8C50, - 46608 - 44032: 0xB6C7, - 46609 - 44032: 0xB6C8, - 46610 - 44032: 0x8C51, - 46611 - 44032: 0x8C52, - 46612 - 44032: 0xB6C9, - 46613 - 44032: 0x8C53, - 46614 - 44032: 0x8C54, - 46615 - 44032: 0x8C55, - 46616 - 44032: 0xB6CA, - 46617 - 44032: 0x8C56, - 46618 - 44032: 0x8C57, - 46619 - 44032: 0x8C58, - 46620 - 44032: 0x8C59, - 46621 - 44032: 0x8C5A, - 46622 - 44032: 0x8C61, - 46623 - 44032: 0x8C62, - 46624 - 44032: 0x8C63, - 46625 - 44032: 0x8C64, - 46626 - 44032: 0x8C65, - 46627 - 44032: 0x8C66, - 46628 - 44032: 0x8C67, - 46629 - 44032: 0xB6CB, - 46630 - 44032: 0x8C68, - 46631 - 44032: 0x8C69, - 46632 - 44032: 0x8C6A, - 46633 - 44032: 0x8C6B, - 46634 - 44032: 0x8C6C, - 46635 - 44032: 0x8C6D, - 46636 - 44032: 0xB6CC, - 46637 - 44032: 0x8C6E, - 46638 - 44032: 0x8C6F, - 46639 - 44032: 0x8C70, - 46640 - 44032: 0x8C71, - 46641 - 44032: 0x8C72, - 46642 - 44032: 0x8C73, - 46643 - 44032: 0x8C74, - 46644 - 44032: 0xB6CD, - 46645 - 44032: 0x8C75, - 46646 - 44032: 0x8C76, - 46647 - 44032: 0x8C77, - 46648 - 44032: 0x8C78, - 46649 - 44032: 0x8C79, - 46650 - 44032: 0x8C7A, - 46651 - 44032: 0x8C81, - 46652 - 44032: 0x8C82, - 46653 - 44032: 0x8C83, - 46654 - 44032: 0x8C84, - 46655 - 44032: 0x8C85, - 46656 - 44032: 0x8C86, - 46657 - 44032: 0x8C87, - 46658 - 44032: 0x8C88, - 46659 - 44032: 0x8C89, - 46660 - 44032: 0x8C8A, - 46661 - 44032: 0x8C8B, - 46662 - 44032: 0x8C8C, - 46663 - 44032: 0x8C8D, - 46664 - 44032: 0xB6CE, - 46665 - 44032: 0x8C8E, - 46666 - 44032: 0x8C8F, - 46667 - 44032: 0x8C90, - 46668 - 44032: 0x8C91, - 46669 - 44032: 0x8C92, - 46670 - 44032: 0x8C93, - 46671 - 44032: 0x8C94, - 46672 - 44032: 0x8C95, - 46673 - 44032: 0x8C96, - 46674 - 44032: 0x8C97, - 46675 - 44032: 0x8C98, - 46676 - 44032: 0x8C99, - 46677 - 44032: 0x8C9A, - 46678 - 44032: 0x8C9B, - 46679 - 44032: 0x8C9C, - 46680 - 44032: 0x8C9D, - 46681 - 44032: 0x8C9E, - 46682 - 44032: 0x8C9F, - 46683 - 44032: 0x8CA0, - 46684 - 44032: 0x8CA1, - 46685 - 44032: 0x8CA2, - 46686 - 44032: 0x8CA3, - 46687 - 44032: 0x8CA4, - 46688 - 44032: 0x8CA5, - 46689 - 44032: 0x8CA6, - 46690 - 44032: 0x8CA7, - 46691 - 44032: 0x8CA8, - 46692 - 44032: 0xB6CF, - 46693 - 44032: 0x8CA9, - 46694 - 44032: 0x8CAA, - 46695 - 44032: 0x8CAB, - 46696 - 44032: 0xB6D0, - 46697 - 44032: 0x8CAC, - 46698 - 44032: 0x8CAD, - 46699 - 44032: 0x8CAE, - 46700 - 44032: 0x8CAF, - 46701 - 44032: 0x8CB0, - 46702 - 44032: 0x8CB1, - 46703 - 44032: 0x8CB2, - 46704 - 44032: 0x8CB3, - 46705 - 44032: 0x8CB4, - 46706 - 44032: 0x8CB5, - 46707 - 44032: 0x8CB6, - 46708 - 44032: 0x8CB7, - 46709 - 44032: 0x8CB8, - 46710 - 44032: 0x8CB9, - 46711 - 44032: 0x8CBA, - 46712 - 44032: 0x8CBB, - 46713 - 44032: 0x8CBC, - 46714 - 44032: 0x8CBD, - 46715 - 44032: 0x8CBE, - 46716 - 44032: 0x8CBF, - 46717 - 44032: 0x8CC0, - 46718 - 44032: 0x8CC1, - 46719 - 44032: 0x8CC2, - 46720 - 44032: 0x8CC3, - 46721 - 44032: 0x8CC4, - 46722 - 44032: 0x8CC5, - 46723 - 44032: 0x8CC6, - 46724 - 44032: 0x8CC7, - 46725 - 44032: 0x8CC8, - 46726 - 44032: 0x8CC9, - 46727 - 44032: 0x8CCA, - 46728 - 44032: 0x8CCB, - 46729 - 44032: 0x8CCC, - 46730 - 44032: 0x8CCD, - 46731 - 44032: 0x8CCE, - 46732 - 44032: 0x8CCF, - 46733 - 44032: 0x8CD0, - 46734 - 44032: 0x8CD1, - 46735 - 44032: 0x8CD2, - 46736 - 44032: 0x8CD3, - 46737 - 44032: 0x8CD4, - 46738 - 44032: 0x8CD5, - 46739 - 44032: 0x8CD6, - 46740 - 44032: 0x8CD7, - 46741 - 44032: 0x8CD8, - 46742 - 44032: 0x8CD9, - 46743 - 44032: 0x8CDA, - 46744 - 44032: 0x8CDB, - 46745 - 44032: 0x8CDC, - 46746 - 44032: 0x8CDD, - 46747 - 44032: 0x8CDE, - 46748 - 44032: 0xB6D1, - 46749 - 44032: 0xB6D2, - 46750 - 44032: 0x8CDF, - 46751 - 44032: 0x8CE0, - 46752 - 44032: 0xB6D3, - 46753 - 44032: 0x8CE1, - 46754 - 44032: 0x8CE2, - 46755 - 44032: 0x8CE3, - 46756 - 44032: 0xB6D4, - 46757 - 44032: 0x8CE4, - 46758 - 44032: 0x8CE5, - 46759 - 44032: 0x8CE6, - 46760 - 44032: 0x8CE7, - 46761 - 44032: 0x8CE8, - 46762 - 44032: 0x8CE9, - 46763 - 44032: 0xB6D5, - 46764 - 44032: 0xB6D6, - 46765 - 44032: 0x8CEA, - 46766 - 44032: 0x8CEB, - 46767 - 44032: 0x8CEC, - 46768 - 44032: 0x8CED, - 46769 - 44032: 0xB6D7, - 46770 - 44032: 0x8CEE, - 46771 - 44032: 0x8CEF, - 46772 - 44032: 0x8CF0, - 46773 - 44032: 0x8CF1, - 46774 - 44032: 0x8CF2, - 46775 - 44032: 0x8CF3, - 46776 - 44032: 0x8CF4, - 46777 - 44032: 0x8CF5, - 46778 - 44032: 0x8CF6, - 46779 - 44032: 0x8CF7, - 46780 - 44032: 0x8CF8, - 46781 - 44032: 0x8CF9, - 46782 - 44032: 0x8CFA, - 46783 - 44032: 0x8CFB, - 46784 - 44032: 0x8CFC, - 46785 - 44032: 0x8CFD, - 46786 - 44032: 0x8CFE, - 46787 - 44032: 0x8D41, - 46788 - 44032: 0x8D42, - 46789 - 44032: 0x8D43, - 46790 - 44032: 0x8D44, - 46791 - 44032: 0x8D45, - 46792 - 44032: 0x8D46, - 46793 - 44032: 0x8D47, - 46794 - 44032: 0x8D48, - 46795 - 44032: 0x8D49, - 46796 - 44032: 0x8D4A, - 46797 - 44032: 0x8D4B, - 46798 - 44032: 0x8D4C, - 46799 - 44032: 0x8D4D, - 46800 - 44032: 0x8D4E, - 46801 - 44032: 0x8D4F, - 46802 - 44032: 0x8D50, - 46803 - 44032: 0x8D51, - 46804 - 44032: 0xB6D8, - 46805 - 44032: 0x8D52, - 46806 - 44032: 0x8D53, - 46807 - 44032: 0x8D54, - 46808 - 44032: 0x8D55, - 46809 - 44032: 0x8D56, - 46810 - 44032: 0x8D57, - 46811 - 44032: 0x8D58, - 46812 - 44032: 0x8D59, - 46813 - 44032: 0x8D5A, - 46814 - 44032: 0x8D61, - 46815 - 44032: 0x8D62, - 46816 - 44032: 0x8D63, - 46817 - 44032: 0x8D64, - 46818 - 44032: 0x8D65, - 46819 - 44032: 0x8D66, - 46820 - 44032: 0x8D67, - 46821 - 44032: 0x8D68, - 46822 - 44032: 0x8D69, - 46823 - 44032: 0x8D6A, - 46824 - 44032: 0x8D6B, - 46825 - 44032: 0x8D6C, - 46826 - 44032: 0x8D6D, - 46827 - 44032: 0x8D6E, - 46828 - 44032: 0x8D6F, - 46829 - 44032: 0x8D70, - 46830 - 44032: 0x8D71, - 46831 - 44032: 0x8D72, - 46832 - 44032: 0xB6D9, - 46833 - 44032: 0x8D73, - 46834 - 44032: 0x8D74, - 46835 - 44032: 0x8D75, - 46836 - 44032: 0xB6DA, - 46837 - 44032: 0x8D76, - 46838 - 44032: 0x8D77, - 46839 - 44032: 0x8D78, - 46840 - 44032: 0xB6DB, - 46841 - 44032: 0x8D79, - 46842 - 44032: 0x8D7A, - 46843 - 44032: 0x8D81, - 46844 - 44032: 0x8D82, - 46845 - 44032: 0x8D83, - 46846 - 44032: 0x8D84, - 46847 - 44032: 0x8D85, - 46848 - 44032: 0xB6DC, - 46849 - 44032: 0xB6DD, - 46850 - 44032: 0x8D86, - 46851 - 44032: 0x8D87, - 46852 - 44032: 0x8D88, - 46853 - 44032: 0xB6DE, - 46854 - 44032: 0x8D89, - 46855 - 44032: 0x8D8A, - 46856 - 44032: 0x8D8B, - 46857 - 44032: 0x8D8C, - 46858 - 44032: 0x8D8D, - 46859 - 44032: 0x8D8E, - 46860 - 44032: 0x8D8F, - 46861 - 44032: 0x8D90, - 46862 - 44032: 0x8D91, - 46863 - 44032: 0x8D92, - 46864 - 44032: 0x8D93, - 46865 - 44032: 0x8D94, - 46866 - 44032: 0x8D95, - 46867 - 44032: 0x8D96, - 46868 - 44032: 0x8D97, - 46869 - 44032: 0x8D98, - 46870 - 44032: 0x8D99, - 46871 - 44032: 0x8D9A, - 46872 - 44032: 0x8D9B, - 46873 - 44032: 0x8D9C, - 46874 - 44032: 0x8D9D, - 46875 - 44032: 0x8D9E, - 46876 - 44032: 0x8D9F, - 46877 - 44032: 0x8DA0, - 46878 - 44032: 0x8DA1, - 46879 - 44032: 0x8DA2, - 46880 - 44032: 0x8DA3, - 46881 - 44032: 0x8DA4, - 46882 - 44032: 0x8DA5, - 46883 - 44032: 0x8DA6, - 46884 - 44032: 0x8DA7, - 46885 - 44032: 0x8DA8, - 46886 - 44032: 0x8DA9, - 46887 - 44032: 0x8DAA, - 46888 - 44032: 0xB6DF, - 46889 - 44032: 0xB6E0, - 46890 - 44032: 0x8DAB, - 46891 - 44032: 0x8DAC, - 46892 - 44032: 0xB6E1, - 46893 - 44032: 0x8DAD, - 46894 - 44032: 0x8DAE, - 46895 - 44032: 0xB6E2, - 46896 - 44032: 0xB6E3, - 46897 - 44032: 0x8DAF, - 46898 - 44032: 0x8DB0, - 46899 - 44032: 0x8DB1, - 46900 - 44032: 0x8DB2, - 46901 - 44032: 0x8DB3, - 46902 - 44032: 0x8DB4, - 46903 - 44032: 0x8DB5, - 46904 - 44032: 0xB6E4, - 46905 - 44032: 0xB6E5, - 46906 - 44032: 0x8DB6, - 46907 - 44032: 0xB6E6, - 46908 - 44032: 0x8DB7, - 46909 - 44032: 0x8DB8, - 46910 - 44032: 0x8DB9, - 46911 - 44032: 0x8DBA, - 46912 - 44032: 0x8DBB, - 46913 - 44032: 0x8DBC, - 46914 - 44032: 0x8DBD, - 46915 - 44032: 0x8DBE, - 46916 - 44032: 0xB6E7, - 46917 - 44032: 0x8DBF, - 46918 - 44032: 0x8DC0, - 46919 - 44032: 0x8DC1, - 46920 - 44032: 0xB6E8, - 46921 - 44032: 0x8DC2, - 46922 - 44032: 0x8DC3, - 46923 - 44032: 0x8DC4, - 46924 - 44032: 0xB6E9, - 46925 - 44032: 0x8DC5, - 46926 - 44032: 0x8DC6, - 46927 - 44032: 0x8DC7, - 46928 - 44032: 0x8DC8, - 46929 - 44032: 0x8DC9, - 46930 - 44032: 0x8DCA, - 46931 - 44032: 0x8DCB, - 46932 - 44032: 0xB6EA, - 46933 - 44032: 0xB6EB, - 46934 - 44032: 0x8DCC, - 46935 - 44032: 0x8DCD, - 46936 - 44032: 0x8DCE, - 46937 - 44032: 0x8DCF, - 46938 - 44032: 0x8DD0, - 46939 - 44032: 0x8DD1, - 46940 - 44032: 0x8DD2, - 46941 - 44032: 0x8DD3, - 46942 - 44032: 0x8DD4, - 46943 - 44032: 0x8DD5, - 46944 - 44032: 0xB6EC, - 46945 - 44032: 0x8DD6, - 46946 - 44032: 0x8DD7, - 46947 - 44032: 0x8DD8, - 46948 - 44032: 0xB6ED, - 46949 - 44032: 0x8DD9, - 46950 - 44032: 0x8DDA, - 46951 - 44032: 0x8DDB, - 46952 - 44032: 0xB6EE, - 46953 - 44032: 0x8DDC, - 46954 - 44032: 0x8DDD, - 46955 - 44032: 0x8DDE, - 46956 - 44032: 0x8DDF, - 46957 - 44032: 0x8DE0, - 46958 - 44032: 0x8DE1, - 46959 - 44032: 0x8DE2, - 46960 - 44032: 0xB6EF, - 46961 - 44032: 0xB6F0, - 46962 - 44032: 0x8DE3, - 46963 - 44032: 0xB6F1, - 46964 - 44032: 0x8DE4, - 46965 - 44032: 0xB6F2, - 46966 - 44032: 0x8DE5, - 46967 - 44032: 0x8DE6, - 46968 - 44032: 0x8DE7, - 46969 - 44032: 0x8DE8, - 46970 - 44032: 0x8DE9, - 46971 - 44032: 0x8DEA, - 46972 - 44032: 0xB6F3, - 46973 - 44032: 0xB6F4, - 46974 - 44032: 0x8DEB, - 46975 - 44032: 0x8DEC, - 46976 - 44032: 0xB6F5, - 46977 - 44032: 0x8DED, - 46978 - 44032: 0x8DEE, - 46979 - 44032: 0x8DEF, - 46980 - 44032: 0xB6F6, - 46981 - 44032: 0x8DF0, - 46982 - 44032: 0x8DF1, - 46983 - 44032: 0x8DF2, - 46984 - 44032: 0x8DF3, - 46985 - 44032: 0x8DF4, - 46986 - 44032: 0x8DF5, - 46987 - 44032: 0x8DF6, - 46988 - 44032: 0xB6F7, - 46989 - 44032: 0xB6F8, - 46990 - 44032: 0x8DF7, - 46991 - 44032: 0xB6F9, - 46992 - 44032: 0xB6FA, - 46993 - 44032: 0xB6FB, - 46994 - 44032: 0xB6FC, - 46995 - 44032: 0x8DF8, - 46996 - 44032: 0x8DF9, - 46997 - 44032: 0x8DFA, - 46998 - 44032: 0xB6FD, - 46999 - 44032: 0xB6FE, - 47000 - 44032: 0xB7A1, - 47001 - 44032: 0xB7A2, - 47002 - 44032: 0x8DFB, - 47003 - 44032: 0x8DFC, - 47004 - 44032: 0xB7A3, - 47005 - 44032: 0x8DFD, - 47006 - 44032: 0x8DFE, - 47007 - 44032: 0x8E41, - 47008 - 44032: 0xB7A4, - 47009 - 44032: 0x8E42, - 47010 - 44032: 0x8E43, - 47011 - 44032: 0x8E44, - 47012 - 44032: 0x8E45, - 47013 - 44032: 0x8E46, - 47014 - 44032: 0x8E47, - 47015 - 44032: 0x8E48, - 47016 - 44032: 0xB7A5, - 47017 - 44032: 0xB7A6, - 47018 - 44032: 0x8E49, - 47019 - 44032: 0xB7A7, - 47020 - 44032: 0xB7A8, - 47021 - 44032: 0xB7A9, - 47022 - 44032: 0x8E4A, - 47023 - 44032: 0x8E4B, - 47024 - 44032: 0x8E4C, - 47025 - 44032: 0x8E4D, - 47026 - 44032: 0x8E4E, - 47027 - 44032: 0x8E4F, - 47028 - 44032: 0xB7AA, - 47029 - 44032: 0xB7AB, - 47030 - 44032: 0x8E50, - 47031 - 44032: 0x8E51, - 47032 - 44032: 0xB7AC, - 47033 - 44032: 0x8E52, - 47034 - 44032: 0x8E53, - 47035 - 44032: 0x8E54, - 47036 - 44032: 0x8E55, - 47037 - 44032: 0x8E56, - 47038 - 44032: 0x8E57, - 47039 - 44032: 0x8E58, - 47040 - 44032: 0x8E59, - 47041 - 44032: 0x8E5A, - 47042 - 44032: 0x8E61, - 47043 - 44032: 0x8E62, - 47044 - 44032: 0x8E63, - 47045 - 44032: 0x8E64, - 47046 - 44032: 0x8E65, - 47047 - 44032: 0xB7AD, - 47048 - 44032: 0x8E66, - 47049 - 44032: 0xB7AE, - 47050 - 44032: 0x8E67, - 47051 - 44032: 0x8E68, - 47052 - 44032: 0x8E69, - 47053 - 44032: 0x8E6A, - 47054 - 44032: 0x8E6B, - 47055 - 44032: 0x8E6C, - 47056 - 44032: 0x8E6D, - 47057 - 44032: 0x8E6E, - 47058 - 44032: 0x8E6F, - 47059 - 44032: 0x8E70, - 47060 - 44032: 0x8E71, - 47061 - 44032: 0x8E72, - 47062 - 44032: 0x8E73, - 47063 - 44032: 0x8E74, - 47064 - 44032: 0x8E75, - 47065 - 44032: 0x8E76, - 47066 - 44032: 0x8E77, - 47067 - 44032: 0x8E78, - 47068 - 44032: 0x8E79, - 47069 - 44032: 0x8E7A, - 47070 - 44032: 0x8E81, - 47071 - 44032: 0x8E82, - 47072 - 44032: 0x8E83, - 47073 - 44032: 0x8E84, - 47074 - 44032: 0x8E85, - 47075 - 44032: 0x8E86, - 47076 - 44032: 0x8E87, - 47077 - 44032: 0x8E88, - 47078 - 44032: 0x8E89, - 47079 - 44032: 0x8E8A, - 47080 - 44032: 0x8E8B, - 47081 - 44032: 0x8E8C, - 47082 - 44032: 0x8E8D, - 47083 - 44032: 0x8E8E, - 47084 - 44032: 0xB7AF, - 47085 - 44032: 0xB7B0, - 47086 - 44032: 0x8E8F, - 47087 - 44032: 0x8E90, - 47088 - 44032: 0xB7B1, - 47089 - 44032: 0x8E91, - 47090 - 44032: 0x8E92, - 47091 - 44032: 0x8E93, - 47092 - 44032: 0xB7B2, - 47093 - 44032: 0x8E94, - 47094 - 44032: 0x8E95, - 47095 - 44032: 0x8E96, - 47096 - 44032: 0x8E97, - 47097 - 44032: 0x8E98, - 47098 - 44032: 0x8E99, - 47099 - 44032: 0x8E9A, - 47100 - 44032: 0xB7B3, - 47101 - 44032: 0xB7B4, - 47102 - 44032: 0x8E9B, - 47103 - 44032: 0xB7B5, - 47104 - 44032: 0xB7B6, - 47105 - 44032: 0xB7B7, - 47106 - 44032: 0x8E9C, - 47107 - 44032: 0x8E9D, - 47108 - 44032: 0x8E9E, - 47109 - 44032: 0x8E9F, - 47110 - 44032: 0x8EA0, - 47111 - 44032: 0xB7B8, - 47112 - 44032: 0xB7B9, - 47113 - 44032: 0xB7BA, - 47114 - 44032: 0x8EA1, - 47115 - 44032: 0x8EA2, - 47116 - 44032: 0xB7BB, - 47117 - 44032: 0x8EA3, - 47118 - 44032: 0x8EA4, - 47119 - 44032: 0x8EA5, - 47120 - 44032: 0xB7BC, - 47121 - 44032: 0x8EA6, - 47122 - 44032: 0x8EA7, - 47123 - 44032: 0x8EA8, - 47124 - 44032: 0x8EA9, - 47125 - 44032: 0x8EAA, - 47126 - 44032: 0x8EAB, - 47127 - 44032: 0x8EAC, - 47128 - 44032: 0xB7BD, - 47129 - 44032: 0xB7BE, - 47130 - 44032: 0x8EAD, - 47131 - 44032: 0xB7BF, - 47132 - 44032: 0x8EAE, - 47133 - 44032: 0xB7C0, - 47134 - 44032: 0x8EAF, - 47135 - 44032: 0x8EB0, - 47136 - 44032: 0x8EB1, - 47137 - 44032: 0x8EB2, - 47138 - 44032: 0x8EB3, - 47139 - 44032: 0x8EB4, - 47140 - 44032: 0xB7C1, - 47141 - 44032: 0xB7C2, - 47142 - 44032: 0x8EB5, - 47143 - 44032: 0x8EB6, - 47144 - 44032: 0xB7C3, - 47145 - 44032: 0x8EB7, - 47146 - 44032: 0x8EB8, - 47147 - 44032: 0x8EB9, - 47148 - 44032: 0xB7C4, - 47149 - 44032: 0x8EBA, - 47150 - 44032: 0x8EBB, - 47151 - 44032: 0x8EBC, - 47152 - 44032: 0x8EBD, - 47153 - 44032: 0x8EBE, - 47154 - 44032: 0x8EBF, - 47155 - 44032: 0x8EC0, - 47156 - 44032: 0xB7C5, - 47157 - 44032: 0xB7C6, - 47158 - 44032: 0x8EC1, - 47159 - 44032: 0xB7C7, - 47160 - 44032: 0xB7C8, - 47161 - 44032: 0xB7C9, - 47162 - 44032: 0x8EC2, - 47163 - 44032: 0x8EC3, - 47164 - 44032: 0x8EC4, - 47165 - 44032: 0x8EC5, - 47166 - 44032: 0x8EC6, - 47167 - 44032: 0x8EC7, - 47168 - 44032: 0xB7CA, - 47169 - 44032: 0x8EC8, - 47170 - 44032: 0x8EC9, - 47171 - 44032: 0x8ECA, - 47172 - 44032: 0xB7CB, - 47173 - 44032: 0x8ECB, - 47174 - 44032: 0x8ECC, - 47175 - 44032: 0x8ECD, - 47176 - 44032: 0x8ECE, - 47177 - 44032: 0x8ECF, - 47178 - 44032: 0x8ED0, - 47179 - 44032: 0x8ED1, - 47180 - 44032: 0x8ED2, - 47181 - 44032: 0x8ED3, - 47182 - 44032: 0x8ED4, - 47183 - 44032: 0x8ED5, - 47184 - 44032: 0x8ED6, - 47185 - 44032: 0xB7CC, - 47186 - 44032: 0x8ED7, - 47187 - 44032: 0xB7CD, - 47188 - 44032: 0x8ED8, - 47189 - 44032: 0x8ED9, - 47190 - 44032: 0x8EDA, - 47191 - 44032: 0x8EDB, - 47192 - 44032: 0x8EDC, - 47193 - 44032: 0x8EDD, - 47194 - 44032: 0x8EDE, - 47195 - 44032: 0x8EDF, - 47196 - 44032: 0xB7CE, - 47197 - 44032: 0xB7CF, - 47198 - 44032: 0x8EE0, - 47199 - 44032: 0x8EE1, - 47200 - 44032: 0xB7D0, - 47201 - 44032: 0x8EE2, - 47202 - 44032: 0x8EE3, - 47203 - 44032: 0x8EE4, - 47204 - 44032: 0xB7D1, - 47205 - 44032: 0x8EE5, - 47206 - 44032: 0x8EE6, - 47207 - 44032: 0x8EE7, - 47208 - 44032: 0x8EE8, - 47209 - 44032: 0x8EE9, - 47210 - 44032: 0x8EEA, - 47211 - 44032: 0x8EEB, - 47212 - 44032: 0xB7D2, - 47213 - 44032: 0xB7D3, - 47214 - 44032: 0x8EEC, - 47215 - 44032: 0xB7D4, - 47216 - 44032: 0x8EED, - 47217 - 44032: 0xB7D5, - 47218 - 44032: 0x8EEE, - 47219 - 44032: 0x8EEF, - 47220 - 44032: 0x8EF0, - 47221 - 44032: 0x8EF1, - 47222 - 44032: 0x8EF2, - 47223 - 44032: 0x8EF3, - 47224 - 44032: 0xB7D6, - 47225 - 44032: 0x8EF4, - 47226 - 44032: 0x8EF5, - 47227 - 44032: 0x8EF6, - 47228 - 44032: 0xB7D7, - 47229 - 44032: 0x8EF7, - 47230 - 44032: 0x8EF8, - 47231 - 44032: 0x8EF9, - 47232 - 44032: 0x8EFA, - 47233 - 44032: 0x8EFB, - 47234 - 44032: 0x8EFC, - 47235 - 44032: 0x8EFD, - 47236 - 44032: 0x8EFE, - 47237 - 44032: 0x8F41, - 47238 - 44032: 0x8F42, - 47239 - 44032: 0x8F43, - 47240 - 44032: 0x8F44, - 47241 - 44032: 0x8F45, - 47242 - 44032: 0x8F46, - 47243 - 44032: 0x8F47, - 47244 - 44032: 0x8F48, - 47245 - 44032: 0xB7D8, - 47246 - 44032: 0x8F49, - 47247 - 44032: 0x8F4A, - 47248 - 44032: 0x8F4B, - 47249 - 44032: 0x8F4C, - 47250 - 44032: 0x8F4D, - 47251 - 44032: 0x8F4E, - 47252 - 44032: 0x8F4F, - 47253 - 44032: 0x8F50, - 47254 - 44032: 0x8F51, - 47255 - 44032: 0x8F52, - 47256 - 44032: 0x8F53, - 47257 - 44032: 0x8F54, - 47258 - 44032: 0x8F55, - 47259 - 44032: 0x8F56, - 47260 - 44032: 0x8F57, - 47261 - 44032: 0x8F58, - 47262 - 44032: 0x8F59, - 47263 - 44032: 0x8F5A, - 47264 - 44032: 0x8F61, - 47265 - 44032: 0x8F62, - 47266 - 44032: 0x8F63, - 47267 - 44032: 0x8F64, - 47268 - 44032: 0x8F65, - 47269 - 44032: 0x8F66, - 47270 - 44032: 0x8F67, - 47271 - 44032: 0x8F68, - 47272 - 44032: 0xB7D9, - 47273 - 44032: 0x8F69, - 47274 - 44032: 0x8F6A, - 47275 - 44032: 0x8F6B, - 47276 - 44032: 0x8F6C, - 47277 - 44032: 0x8F6D, - 47278 - 44032: 0x8F6E, - 47279 - 44032: 0x8F6F, - 47280 - 44032: 0xB7DA, - 47281 - 44032: 0x8F70, - 47282 - 44032: 0x8F71, - 47283 - 44032: 0x8F72, - 47284 - 44032: 0xB7DB, - 47285 - 44032: 0x8F73, - 47286 - 44032: 0x8F74, - 47287 - 44032: 0x8F75, - 47288 - 44032: 0xB7DC, - 47289 - 44032: 0x8F76, - 47290 - 44032: 0x8F77, - 47291 - 44032: 0x8F78, - 47292 - 44032: 0x8F79, - 47293 - 44032: 0x8F7A, - 47294 - 44032: 0x8F81, - 47295 - 44032: 0x8F82, - 47296 - 44032: 0xB7DD, - 47297 - 44032: 0xB7DE, - 47298 - 44032: 0x8F83, - 47299 - 44032: 0xB7DF, - 47300 - 44032: 0x8F84, - 47301 - 44032: 0xB7E0, - 47302 - 44032: 0x8F85, - 47303 - 44032: 0x8F86, - 47304 - 44032: 0x8F87, - 47305 - 44032: 0x8F88, - 47306 - 44032: 0x8F89, - 47307 - 44032: 0x8F8A, - 47308 - 44032: 0xB7E1, - 47309 - 44032: 0x8F8B, - 47310 - 44032: 0x8F8C, - 47311 - 44032: 0x8F8D, - 47312 - 44032: 0xB7E2, - 47313 - 44032: 0x8F8E, - 47314 - 44032: 0x8F8F, - 47315 - 44032: 0x8F90, - 47316 - 44032: 0xB7E3, - 47317 - 44032: 0x8F91, - 47318 - 44032: 0x8F92, - 47319 - 44032: 0x8F93, - 47320 - 44032: 0x8F94, - 47321 - 44032: 0x8F95, - 47322 - 44032: 0x8F96, - 47323 - 44032: 0x8F97, - 47324 - 44032: 0x8F98, - 47325 - 44032: 0xB7E4, - 47326 - 44032: 0x8F99, - 47327 - 44032: 0xB7E5, - 47328 - 44032: 0x8F9A, - 47329 - 44032: 0xB7E6, - 47330 - 44032: 0x8F9B, - 47331 - 44032: 0x8F9C, - 47332 - 44032: 0x8F9D, - 47333 - 44032: 0x8F9E, - 47334 - 44032: 0x8F9F, - 47335 - 44032: 0x8FA0, - 47336 - 44032: 0xB7E7, - 47337 - 44032: 0xB7E8, - 47338 - 44032: 0x8FA1, - 47339 - 44032: 0x8FA2, - 47340 - 44032: 0xB7E9, - 47341 - 44032: 0x8FA3, - 47342 - 44032: 0x8FA4, - 47343 - 44032: 0x8FA5, - 47344 - 44032: 0xB7EA, - 47345 - 44032: 0x8FA6, - 47346 - 44032: 0x8FA7, - 47347 - 44032: 0x8FA8, - 47348 - 44032: 0x8FA9, - 47349 - 44032: 0x8FAA, - 47350 - 44032: 0x8FAB, - 47351 - 44032: 0x8FAC, - 47352 - 44032: 0xB7EB, - 47353 - 44032: 0xB7EC, - 47354 - 44032: 0x8FAD, - 47355 - 44032: 0xB7ED, - 47356 - 44032: 0x8FAE, - 47357 - 44032: 0xB7EE, - 47358 - 44032: 0x8FAF, - 47359 - 44032: 0x8FB0, - 47360 - 44032: 0x8FB1, - 47361 - 44032: 0x8FB2, - 47362 - 44032: 0x8FB3, - 47363 - 44032: 0x8FB4, - 47364 - 44032: 0xB7EF, - 47365 - 44032: 0x8FB5, - 47366 - 44032: 0x8FB6, - 47367 - 44032: 0x8FB7, - 47368 - 44032: 0x8FB8, - 47369 - 44032: 0x8FB9, - 47370 - 44032: 0x8FBA, - 47371 - 44032: 0x8FBB, - 47372 - 44032: 0x8FBC, - 47373 - 44032: 0x8FBD, - 47374 - 44032: 0x8FBE, - 47375 - 44032: 0x8FBF, - 47376 - 44032: 0x8FC0, - 47377 - 44032: 0x8FC1, - 47378 - 44032: 0x8FC2, - 47379 - 44032: 0x8FC3, - 47380 - 44032: 0x8FC4, - 47381 - 44032: 0x8FC5, - 47382 - 44032: 0x8FC6, - 47383 - 44032: 0x8FC7, - 47384 - 44032: 0xB7F0, - 47385 - 44032: 0x8FC8, - 47386 - 44032: 0x8FC9, - 47387 - 44032: 0x8FCA, - 47388 - 44032: 0x8FCB, - 47389 - 44032: 0x8FCC, - 47390 - 44032: 0x8FCD, - 47391 - 44032: 0x8FCE, - 47392 - 44032: 0xB7F1, - 47393 - 44032: 0x8FCF, - 47394 - 44032: 0x8FD0, - 47395 - 44032: 0x8FD1, - 47396 - 44032: 0x8FD2, - 47397 - 44032: 0x8FD3, - 47398 - 44032: 0x8FD4, - 47399 - 44032: 0x8FD5, - 47400 - 44032: 0x8FD6, - 47401 - 44032: 0x8FD7, - 47402 - 44032: 0x8FD8, - 47403 - 44032: 0x8FD9, - 47404 - 44032: 0x8FDA, - 47405 - 44032: 0x8FDB, - 47406 - 44032: 0x8FDC, - 47407 - 44032: 0x8FDD, - 47408 - 44032: 0x8FDE, - 47409 - 44032: 0x8FDF, - 47410 - 44032: 0x8FE0, - 47411 - 44032: 0x8FE1, - 47412 - 44032: 0x8FE2, - 47413 - 44032: 0x8FE3, - 47414 - 44032: 0x8FE4, - 47415 - 44032: 0x8FE5, - 47416 - 44032: 0x8FE6, - 47417 - 44032: 0x8FE7, - 47418 - 44032: 0x8FE8, - 47419 - 44032: 0x8FE9, - 47420 - 44032: 0xB7F2, - 47421 - 44032: 0xB7F3, - 47422 - 44032: 0x8FEA, - 47423 - 44032: 0x8FEB, - 47424 - 44032: 0xB7F4, - 47425 - 44032: 0x8FEC, - 47426 - 44032: 0x8FED, - 47427 - 44032: 0x8FEE, - 47428 - 44032: 0xB7F5, - 47429 - 44032: 0x8FEF, - 47430 - 44032: 0x8FF0, - 47431 - 44032: 0x8FF1, - 47432 - 44032: 0x8FF2, - 47433 - 44032: 0x8FF3, - 47434 - 44032: 0x8FF4, - 47435 - 44032: 0x8FF5, - 47436 - 44032: 0xB7F6, - 47437 - 44032: 0x8FF6, - 47438 - 44032: 0x8FF7, - 47439 - 44032: 0xB7F7, - 47440 - 44032: 0x8FF8, - 47441 - 44032: 0xB7F8, - 47442 - 44032: 0x8FF9, - 47443 - 44032: 0x8FFA, - 47444 - 44032: 0x8FFB, - 47445 - 44032: 0x8FFC, - 47446 - 44032: 0x8FFD, - 47447 - 44032: 0x8FFE, - 47448 - 44032: 0xB7F9, - 47449 - 44032: 0xB7FA, - 47450 - 44032: 0x9041, - 47451 - 44032: 0x9042, - 47452 - 44032: 0xB7FB, - 47453 - 44032: 0x9043, - 47454 - 44032: 0x9044, - 47455 - 44032: 0x9045, - 47456 - 44032: 0xB7FC, - 47457 - 44032: 0x9046, - 47458 - 44032: 0x9047, - 47459 - 44032: 0x9048, - 47460 - 44032: 0x9049, - 47461 - 44032: 0x904A, - 47462 - 44032: 0x904B, - 47463 - 44032: 0x904C, - 47464 - 44032: 0xB7FD, - 47465 - 44032: 0xB7FE, - 47466 - 44032: 0x904D, - 47467 - 44032: 0xB8A1, - 47468 - 44032: 0x904E, - 47469 - 44032: 0xB8A2, - 47470 - 44032: 0x904F, - 47471 - 44032: 0x9050, - 47472 - 44032: 0x9051, - 47473 - 44032: 0x9052, - 47474 - 44032: 0x9053, - 47475 - 44032: 0x9054, - 47476 - 44032: 0xB8A3, - 47477 - 44032: 0xB8A4, - 47478 - 44032: 0x9055, - 47479 - 44032: 0x9056, - 47480 - 44032: 0xB8A5, - 47481 - 44032: 0x9057, - 47482 - 44032: 0x9058, - 47483 - 44032: 0x9059, - 47484 - 44032: 0xB8A6, - 47485 - 44032: 0x905A, - 47486 - 44032: 0x9061, - 47487 - 44032: 0x9062, - 47488 - 44032: 0x9063, - 47489 - 44032: 0x9064, - 47490 - 44032: 0x9065, - 47491 - 44032: 0x9066, - 47492 - 44032: 0xB8A7, - 47493 - 44032: 0xB8A8, - 47494 - 44032: 0x9067, - 47495 - 44032: 0xB8A9, - 47496 - 44032: 0x9068, - 47497 - 44032: 0xB8AA, - 47498 - 44032: 0xB8AB, - 47499 - 44032: 0x9069, - 47500 - 44032: 0x906A, - 47501 - 44032: 0xB8AC, - 47502 - 44032: 0xB8AD, - 47503 - 44032: 0x906B, - 47504 - 44032: 0x906C, - 47505 - 44032: 0x906D, - 47506 - 44032: 0x906E, - 47507 - 44032: 0x906F, - 47508 - 44032: 0x9070, - 47509 - 44032: 0x9071, - 47510 - 44032: 0x9072, - 47511 - 44032: 0x9073, - 47512 - 44032: 0x9074, - 47513 - 44032: 0x9075, - 47514 - 44032: 0x9076, - 47515 - 44032: 0x9077, - 47516 - 44032: 0x9078, - 47517 - 44032: 0x9079, - 47518 - 44032: 0x907A, - 47519 - 44032: 0x9081, - 47520 - 44032: 0x9082, - 47521 - 44032: 0x9083, - 47522 - 44032: 0x9084, - 47523 - 44032: 0x9085, - 47524 - 44032: 0x9086, - 47525 - 44032: 0x9087, - 47526 - 44032: 0x9088, - 47527 - 44032: 0x9089, - 47528 - 44032: 0x908A, - 47529 - 44032: 0x908B, - 47530 - 44032: 0x908C, - 47531 - 44032: 0x908D, - 47532 - 44032: 0xB8AE, - 47533 - 44032: 0xB8AF, - 47534 - 44032: 0x908E, - 47535 - 44032: 0x908F, - 47536 - 44032: 0xB8B0, - 47537 - 44032: 0x9090, - 47538 - 44032: 0x9091, - 47539 - 44032: 0x9092, - 47540 - 44032: 0xB8B1, - 47541 - 44032: 0x9093, - 47542 - 44032: 0x9094, - 47543 - 44032: 0x9095, - 47544 - 44032: 0x9096, - 47545 - 44032: 0x9097, - 47546 - 44032: 0x9098, - 47547 - 44032: 0x9099, - 47548 - 44032: 0xB8B2, - 47549 - 44032: 0xB8B3, - 47550 - 44032: 0x909A, - 47551 - 44032: 0xB8B4, - 47552 - 44032: 0x909B, - 47553 - 44032: 0xB8B5, - 47554 - 44032: 0x909C, - 47555 - 44032: 0x909D, - 47556 - 44032: 0x909E, - 47557 - 44032: 0x909F, - 47558 - 44032: 0x90A0, - 47559 - 44032: 0x90A1, - 47560 - 44032: 0xB8B6, - 47561 - 44032: 0xB8B7, - 47562 - 44032: 0x90A2, - 47563 - 44032: 0x90A3, - 47564 - 44032: 0xB8B8, - 47565 - 44032: 0x90A4, - 47566 - 44032: 0xB8B9, - 47567 - 44032: 0xB8BA, - 47568 - 44032: 0xB8BB, - 47569 - 44032: 0xB8BC, - 47570 - 44032: 0xB8BD, - 47571 - 44032: 0x90A5, - 47572 - 44032: 0x90A6, - 47573 - 44032: 0x90A7, - 47574 - 44032: 0x90A8, - 47575 - 44032: 0x90A9, - 47576 - 44032: 0xB8BE, - 47577 - 44032: 0xB8BF, - 47578 - 44032: 0x90AA, - 47579 - 44032: 0xB8C0, - 47580 - 44032: 0x90AB, - 47581 - 44032: 0xB8C1, - 47582 - 44032: 0xB8C2, - 47583 - 44032: 0x90AC, - 47584 - 44032: 0x90AD, - 47585 - 44032: 0xB8C3, - 47586 - 44032: 0x90AE, - 47587 - 44032: 0xB8C4, - 47588 - 44032: 0xB8C5, - 47589 - 44032: 0xB8C6, - 47590 - 44032: 0x90AF, - 47591 - 44032: 0x90B0, - 47592 - 44032: 0xB8C7, - 47593 - 44032: 0x90B1, - 47594 - 44032: 0x90B2, - 47595 - 44032: 0x90B3, - 47596 - 44032: 0xB8C8, - 47597 - 44032: 0x90B4, - 47598 - 44032: 0x90B5, - 47599 - 44032: 0x90B6, - 47600 - 44032: 0x90B7, - 47601 - 44032: 0x90B8, - 47602 - 44032: 0x90B9, - 47603 - 44032: 0x90BA, - 47604 - 44032: 0xB8C9, - 47605 - 44032: 0xB8CA, - 47606 - 44032: 0x90BB, - 47607 - 44032: 0xB8CB, - 47608 - 44032: 0xB8CC, - 47609 - 44032: 0xB8CD, - 47610 - 44032: 0xB8CE, - 47611 - 44032: 0x90BC, - 47612 - 44032: 0x90BD, - 47613 - 44032: 0x90BE, - 47614 - 44032: 0x90BF, - 47615 - 44032: 0x90C0, - 47616 - 44032: 0xB8CF, - 47617 - 44032: 0xB8D0, - 47618 - 44032: 0x90C1, - 47619 - 44032: 0x90C2, - 47620 - 44032: 0x90C3, - 47621 - 44032: 0x90C4, - 47622 - 44032: 0x90C5, - 47623 - 44032: 0x90C6, - 47624 - 44032: 0xB8D1, - 47625 - 44032: 0x90C7, - 47626 - 44032: 0x90C8, - 47627 - 44032: 0x90C9, - 47628 - 44032: 0x90CA, - 47629 - 44032: 0x90CB, - 47630 - 44032: 0x90CC, - 47631 - 44032: 0x90CD, - 47632 - 44032: 0x90CE, - 47633 - 44032: 0x90CF, - 47634 - 44032: 0x90D0, - 47635 - 44032: 0x90D1, - 47636 - 44032: 0x90D2, - 47637 - 44032: 0xB8D2, - 47638 - 44032: 0x90D3, - 47639 - 44032: 0x90D4, - 47640 - 44032: 0x90D5, - 47641 - 44032: 0x90D6, - 47642 - 44032: 0x90D7, - 47643 - 44032: 0x90D8, - 47644 - 44032: 0x90D9, - 47645 - 44032: 0x90DA, - 47646 - 44032: 0x90DB, - 47647 - 44032: 0x90DC, - 47648 - 44032: 0x90DD, - 47649 - 44032: 0x90DE, - 47650 - 44032: 0x90DF, - 47651 - 44032: 0x90E0, - 47652 - 44032: 0x90E1, - 47653 - 44032: 0x90E2, - 47654 - 44032: 0x90E3, - 47655 - 44032: 0x90E4, - 47656 - 44032: 0x90E5, - 47657 - 44032: 0x90E6, - 47658 - 44032: 0x90E7, - 47659 - 44032: 0x90E8, - 47660 - 44032: 0x90E9, - 47661 - 44032: 0x90EA, - 47662 - 44032: 0x90EB, - 47663 - 44032: 0x90EC, - 47664 - 44032: 0x90ED, - 47665 - 44032: 0x90EE, - 47666 - 44032: 0x90EF, - 47667 - 44032: 0x90F0, - 47668 - 44032: 0x90F1, - 47669 - 44032: 0x90F2, - 47670 - 44032: 0x90F3, - 47671 - 44032: 0x90F4, - 47672 - 44032: 0xB8D3, - 47673 - 44032: 0xB8D4, - 47674 - 44032: 0x90F5, - 47675 - 44032: 0x90F6, - 47676 - 44032: 0xB8D5, - 47677 - 44032: 0x90F7, - 47678 - 44032: 0x90F8, - 47679 - 44032: 0x90F9, - 47680 - 44032: 0xB8D6, - 47681 - 44032: 0x90FA, - 47682 - 44032: 0xB8D7, - 47683 - 44032: 0x90FB, - 47684 - 44032: 0x90FC, - 47685 - 44032: 0x90FD, - 47686 - 44032: 0x90FE, - 47687 - 44032: 0x9141, - 47688 - 44032: 0xB8D8, - 47689 - 44032: 0xB8D9, - 47690 - 44032: 0x9142, - 47691 - 44032: 0xB8DA, - 47692 - 44032: 0x9143, - 47693 - 44032: 0xB8DB, - 47694 - 44032: 0xB8DC, - 47695 - 44032: 0x9144, - 47696 - 44032: 0x9145, - 47697 - 44032: 0x9146, - 47698 - 44032: 0x9147, - 47699 - 44032: 0xB8DD, - 47700 - 44032: 0xB8DE, - 47701 - 44032: 0xB8DF, - 47702 - 44032: 0x9148, - 47703 - 44032: 0x9149, - 47704 - 44032: 0xB8E0, - 47705 - 44032: 0x914A, - 47706 - 44032: 0x914B, - 47707 - 44032: 0x914C, - 47708 - 44032: 0xB8E1, - 47709 - 44032: 0x914D, - 47710 - 44032: 0x914E, - 47711 - 44032: 0x914F, - 47712 - 44032: 0x9150, - 47713 - 44032: 0x9151, - 47714 - 44032: 0x9152, - 47715 - 44032: 0x9153, - 47716 - 44032: 0xB8E2, - 47717 - 44032: 0xB8E3, - 47718 - 44032: 0x9154, - 47719 - 44032: 0xB8E4, - 47720 - 44032: 0xB8E5, - 47721 - 44032: 0xB8E6, - 47722 - 44032: 0x9155, - 47723 - 44032: 0x9156, - 47724 - 44032: 0x9157, - 47725 - 44032: 0x9158, - 47726 - 44032: 0x9159, - 47727 - 44032: 0x915A, - 47728 - 44032: 0xB8E7, - 47729 - 44032: 0xB8E8, - 47730 - 44032: 0x9161, - 47731 - 44032: 0x9162, - 47732 - 44032: 0xB8E9, - 47733 - 44032: 0x9163, - 47734 - 44032: 0x9164, - 47735 - 44032: 0x9165, - 47736 - 44032: 0xB8EA, - 47737 - 44032: 0x9166, - 47738 - 44032: 0x9167, - 47739 - 44032: 0x9168, - 47740 - 44032: 0x9169, - 47741 - 44032: 0x916A, - 47742 - 44032: 0x916B, - 47743 - 44032: 0x916C, - 47744 - 44032: 0x916D, - 47745 - 44032: 0x916E, - 47746 - 44032: 0x916F, - 47747 - 44032: 0xB8EB, - 47748 - 44032: 0xB8EC, - 47749 - 44032: 0xB8ED, - 47750 - 44032: 0x9170, - 47751 - 44032: 0xB8EE, - 47752 - 44032: 0x9171, - 47753 - 44032: 0x9172, - 47754 - 44032: 0x9173, - 47755 - 44032: 0x9174, - 47756 - 44032: 0xB8EF, - 47757 - 44032: 0x9175, - 47758 - 44032: 0x9176, - 47759 - 44032: 0x9177, - 47760 - 44032: 0x9178, - 47761 - 44032: 0x9179, - 47762 - 44032: 0x917A, - 47763 - 44032: 0x9181, - 47764 - 44032: 0x9182, - 47765 - 44032: 0x9183, - 47766 - 44032: 0x9184, - 47767 - 44032: 0x9185, - 47768 - 44032: 0x9186, - 47769 - 44032: 0x9187, - 47770 - 44032: 0x9188, - 47771 - 44032: 0x9189, - 47772 - 44032: 0x918A, - 47773 - 44032: 0x918B, - 47774 - 44032: 0x918C, - 47775 - 44032: 0x918D, - 47776 - 44032: 0x918E, - 47777 - 44032: 0x918F, - 47778 - 44032: 0x9190, - 47779 - 44032: 0x9191, - 47780 - 44032: 0x9192, - 47781 - 44032: 0x9193, - 47782 - 44032: 0x9194, - 47783 - 44032: 0x9195, - 47784 - 44032: 0xB8F0, - 47785 - 44032: 0xB8F1, - 47786 - 44032: 0x9196, - 47787 - 44032: 0xB8F2, - 47788 - 44032: 0xB8F3, - 47789 - 44032: 0x9197, - 47790 - 44032: 0x9198, - 47791 - 44032: 0x9199, - 47792 - 44032: 0xB8F4, - 47793 - 44032: 0x919A, - 47794 - 44032: 0xB8F5, - 47795 - 44032: 0x919B, - 47796 - 44032: 0x919C, - 47797 - 44032: 0x919D, - 47798 - 44032: 0x919E, - 47799 - 44032: 0x919F, - 47800 - 44032: 0xB8F6, - 47801 - 44032: 0xB8F7, - 47802 - 44032: 0x91A0, - 47803 - 44032: 0xB8F8, - 47804 - 44032: 0x91A1, - 47805 - 44032: 0xB8F9, - 47806 - 44032: 0x91A2, - 47807 - 44032: 0x91A3, - 47808 - 44032: 0x91A4, - 47809 - 44032: 0x91A5, - 47810 - 44032: 0x91A6, - 47811 - 44032: 0x91A7, - 47812 - 44032: 0xB8FA, - 47813 - 44032: 0x91A8, - 47814 - 44032: 0x91A9, - 47815 - 44032: 0x91AA, - 47816 - 44032: 0xB8FB, - 47817 - 44032: 0x91AB, - 47818 - 44032: 0x91AC, - 47819 - 44032: 0x91AD, - 47820 - 44032: 0x91AE, - 47821 - 44032: 0x91AF, - 47822 - 44032: 0x91B0, - 47823 - 44032: 0x91B1, - 47824 - 44032: 0x91B2, - 47825 - 44032: 0x91B3, - 47826 - 44032: 0x91B4, - 47827 - 44032: 0x91B5, - 47828 - 44032: 0x91B6, - 47829 - 44032: 0x91B7, - 47830 - 44032: 0x91B8, - 47831 - 44032: 0x91B9, - 47832 - 44032: 0xB8FC, - 47833 - 44032: 0xB8FD, - 47834 - 44032: 0x91BA, - 47835 - 44032: 0x91BB, - 47836 - 44032: 0x91BC, - 47837 - 44032: 0x91BD, - 47838 - 44032: 0x91BE, - 47839 - 44032: 0x91BF, - 47840 - 44032: 0x91C0, - 47841 - 44032: 0x91C1, - 47842 - 44032: 0x91C2, - 47843 - 44032: 0x91C3, - 47844 - 44032: 0x91C4, - 47845 - 44032: 0x91C5, - 47846 - 44032: 0x91C6, - 47847 - 44032: 0x91C7, - 47848 - 44032: 0x91C8, - 47849 - 44032: 0x91C9, - 47850 - 44032: 0x91CA, - 47851 - 44032: 0x91CB, - 47852 - 44032: 0x91CC, - 47853 - 44032: 0x91CD, - 47854 - 44032: 0x91CE, - 47855 - 44032: 0x91CF, - 47856 - 44032: 0x91D0, - 47857 - 44032: 0x91D1, - 47858 - 44032: 0x91D2, - 47859 - 44032: 0x91D3, - 47860 - 44032: 0x91D4, - 47861 - 44032: 0x91D5, - 47862 - 44032: 0x91D6, - 47863 - 44032: 0x91D7, - 47864 - 44032: 0x91D8, - 47865 - 44032: 0x91D9, - 47866 - 44032: 0x91DA, - 47867 - 44032: 0x91DB, - 47868 - 44032: 0xB8FE, - 47869 - 44032: 0x91DC, - 47870 - 44032: 0x91DD, - 47871 - 44032: 0x91DE, - 47872 - 44032: 0xB9A1, - 47873 - 44032: 0x91DF, - 47874 - 44032: 0x91E0, - 47875 - 44032: 0x91E1, - 47876 - 44032: 0xB9A2, - 47877 - 44032: 0x91E2, - 47878 - 44032: 0x91E3, - 47879 - 44032: 0x91E4, - 47880 - 44032: 0x91E5, - 47881 - 44032: 0x91E6, - 47882 - 44032: 0x91E7, - 47883 - 44032: 0x91E8, - 47884 - 44032: 0x91E9, - 47885 - 44032: 0xB9A3, - 47886 - 44032: 0x91EA, - 47887 - 44032: 0xB9A4, - 47888 - 44032: 0x91EB, - 47889 - 44032: 0xB9A5, - 47890 - 44032: 0x91EC, - 47891 - 44032: 0x91ED, - 47892 - 44032: 0x91EE, - 47893 - 44032: 0x91EF, - 47894 - 44032: 0x91F0, - 47895 - 44032: 0x91F1, - 47896 - 44032: 0xB9A6, - 47897 - 44032: 0x91F2, - 47898 - 44032: 0x91F3, - 47899 - 44032: 0x91F4, - 47900 - 44032: 0xB9A7, - 47901 - 44032: 0x91F5, - 47902 - 44032: 0x91F6, - 47903 - 44032: 0x91F7, - 47904 - 44032: 0xB9A8, - 47905 - 44032: 0x91F8, - 47906 - 44032: 0x91F9, - 47907 - 44032: 0x91FA, - 47908 - 44032: 0x91FB, - 47909 - 44032: 0x91FC, - 47910 - 44032: 0x91FD, - 47911 - 44032: 0x91FE, - 47912 - 44032: 0x9241, - 47913 - 44032: 0xB9A9, - 47914 - 44032: 0x9242, - 47915 - 44032: 0xB9AA, - 47916 - 44032: 0x9243, - 47917 - 44032: 0x9244, - 47918 - 44032: 0x9245, - 47919 - 44032: 0x9246, - 47920 - 44032: 0x9247, - 47921 - 44032: 0x9248, - 47922 - 44032: 0x9249, - 47923 - 44032: 0x924A, - 47924 - 44032: 0xB9AB, - 47925 - 44032: 0xB9AC, - 47926 - 44032: 0xB9AD, - 47927 - 44032: 0x924B, - 47928 - 44032: 0xB9AE, - 47929 - 44032: 0x924C, - 47930 - 44032: 0x924D, - 47931 - 44032: 0xB9AF, - 47932 - 44032: 0xB9B0, - 47933 - 44032: 0xB9B1, - 47934 - 44032: 0xB9B2, - 47935 - 44032: 0x924E, - 47936 - 44032: 0x924F, - 47937 - 44032: 0x9250, - 47938 - 44032: 0x9251, - 47939 - 44032: 0x9252, - 47940 - 44032: 0xB9B3, - 47941 - 44032: 0xB9B4, - 47942 - 44032: 0x9253, - 47943 - 44032: 0xB9B5, - 47944 - 44032: 0x9254, - 47945 - 44032: 0xB9B6, - 47946 - 44032: 0x9255, - 47947 - 44032: 0x9256, - 47948 - 44032: 0x9257, - 47949 - 44032: 0xB9B7, - 47950 - 44032: 0x9258, - 47951 - 44032: 0xB9B8, - 47952 - 44032: 0xB9B9, - 47953 - 44032: 0x9259, - 47954 - 44032: 0x925A, - 47955 - 44032: 0x9261, - 47956 - 44032: 0xB9BA, - 47957 - 44032: 0x9262, - 47958 - 44032: 0x9263, - 47959 - 44032: 0x9264, - 47960 - 44032: 0xB9BB, - 47961 - 44032: 0x9265, - 47962 - 44032: 0x9266, - 47963 - 44032: 0x9267, - 47964 - 44032: 0x9268, - 47965 - 44032: 0x9269, - 47966 - 44032: 0x926A, - 47967 - 44032: 0x926B, - 47968 - 44032: 0x926C, - 47969 - 44032: 0xB9BC, - 47970 - 44032: 0x926D, - 47971 - 44032: 0xB9BD, - 47972 - 44032: 0x926E, - 47973 - 44032: 0x926F, - 47974 - 44032: 0x9270, - 47975 - 44032: 0x9271, - 47976 - 44032: 0x9272, - 47977 - 44032: 0x9273, - 47978 - 44032: 0x9274, - 47979 - 44032: 0x9275, - 47980 - 44032: 0xB9BE, - 47981 - 44032: 0x9276, - 47982 - 44032: 0x9277, - 47983 - 44032: 0x9278, - 47984 - 44032: 0x9279, - 47985 - 44032: 0x927A, - 47986 - 44032: 0x9281, - 47987 - 44032: 0x9282, - 47988 - 44032: 0x9283, - 47989 - 44032: 0x9284, - 47990 - 44032: 0x9285, - 47991 - 44032: 0x9286, - 47992 - 44032: 0x9287, - 47993 - 44032: 0x9288, - 47994 - 44032: 0x9289, - 47995 - 44032: 0x928A, - 47996 - 44032: 0x928B, - 47997 - 44032: 0x928C, - 47998 - 44032: 0x928D, - 47999 - 44032: 0x928E, - 48000 - 44032: 0x928F, - 48001 - 44032: 0x9290, - 48002 - 44032: 0x9291, - 48003 - 44032: 0x9292, - 48004 - 44032: 0x9293, - 48005 - 44032: 0x9294, - 48006 - 44032: 0x9295, - 48007 - 44032: 0x9296, - 48008 - 44032: 0xB9BF, - 48009 - 44032: 0x9297, - 48010 - 44032: 0x9298, - 48011 - 44032: 0x9299, - 48012 - 44032: 0xB9C0, - 48013 - 44032: 0x929A, - 48014 - 44032: 0x929B, - 48015 - 44032: 0x929C, - 48016 - 44032: 0xB9C1, - 48017 - 44032: 0x929D, - 48018 - 44032: 0x929E, - 48019 - 44032: 0x929F, - 48020 - 44032: 0x92A0, - 48021 - 44032: 0x92A1, - 48022 - 44032: 0x92A2, - 48023 - 44032: 0x92A3, - 48024 - 44032: 0x92A4, - 48025 - 44032: 0x92A5, - 48026 - 44032: 0x92A6, - 48027 - 44032: 0x92A7, - 48028 - 44032: 0x92A8, - 48029 - 44032: 0x92A9, - 48030 - 44032: 0x92AA, - 48031 - 44032: 0x92AB, - 48032 - 44032: 0x92AC, - 48033 - 44032: 0x92AD, - 48034 - 44032: 0x92AE, - 48035 - 44032: 0x92AF, - 48036 - 44032: 0xB9C2, - 48037 - 44032: 0x92B0, - 48038 - 44032: 0x92B1, - 48039 - 44032: 0x92B2, - 48040 - 44032: 0xB9C3, - 48041 - 44032: 0x92B3, - 48042 - 44032: 0x92B4, - 48043 - 44032: 0x92B5, - 48044 - 44032: 0xB9C4, - 48045 - 44032: 0x92B6, - 48046 - 44032: 0x92B7, - 48047 - 44032: 0x92B8, - 48048 - 44032: 0x92B9, - 48049 - 44032: 0x92BA, - 48050 - 44032: 0x92BB, - 48051 - 44032: 0x92BC, - 48052 - 44032: 0xB9C5, - 48053 - 44032: 0x92BD, - 48054 - 44032: 0x92BE, - 48055 - 44032: 0xB9C6, - 48056 - 44032: 0x92BF, - 48057 - 44032: 0x92C0, - 48058 - 44032: 0x92C1, - 48059 - 44032: 0x92C2, - 48060 - 44032: 0x92C3, - 48061 - 44032: 0x92C4, - 48062 - 44032: 0x92C5, - 48063 - 44032: 0x92C6, - 48064 - 44032: 0xB9C7, - 48065 - 44032: 0x92C7, - 48066 - 44032: 0x92C8, - 48067 - 44032: 0x92C9, - 48068 - 44032: 0xB9C8, - 48069 - 44032: 0x92CA, - 48070 - 44032: 0x92CB, - 48071 - 44032: 0x92CC, - 48072 - 44032: 0xB9C9, - 48073 - 44032: 0x92CD, - 48074 - 44032: 0x92CE, - 48075 - 44032: 0x92CF, - 48076 - 44032: 0x92D0, - 48077 - 44032: 0x92D1, - 48078 - 44032: 0x92D2, - 48079 - 44032: 0x92D3, - 48080 - 44032: 0xB9CA, - 48081 - 44032: 0x92D4, - 48082 - 44032: 0x92D5, - 48083 - 44032: 0xB9CB, - 48084 - 44032: 0x92D6, - 48085 - 44032: 0x92D7, - 48086 - 44032: 0x92D8, - 48087 - 44032: 0x92D9, - 48088 - 44032: 0x92DA, - 48089 - 44032: 0x92DB, - 48090 - 44032: 0x92DC, - 48091 - 44032: 0x92DD, - 48092 - 44032: 0x92DE, - 48093 - 44032: 0x92DF, - 48094 - 44032: 0x92E0, - 48095 - 44032: 0x92E1, - 48096 - 44032: 0x92E2, - 48097 - 44032: 0x92E3, - 48098 - 44032: 0x92E4, - 48099 - 44032: 0x92E5, - 48100 - 44032: 0x92E6, - 48101 - 44032: 0x92E7, - 48102 - 44032: 0x92E8, - 48103 - 44032: 0x92E9, - 48104 - 44032: 0x92EA, - 48105 - 44032: 0x92EB, - 48106 - 44032: 0x92EC, - 48107 - 44032: 0x92ED, - 48108 - 44032: 0x92EE, - 48109 - 44032: 0x92EF, - 48110 - 44032: 0x92F0, - 48111 - 44032: 0x92F1, - 48112 - 44032: 0x92F2, - 48113 - 44032: 0x92F3, - 48114 - 44032: 0x92F4, - 48115 - 44032: 0x92F5, - 48116 - 44032: 0x92F6, - 48117 - 44032: 0x92F7, - 48118 - 44032: 0x92F8, - 48119 - 44032: 0x92F9, - 48120 - 44032: 0xB9CC, - 48121 - 44032: 0xB9CD, - 48122 - 44032: 0x92FA, - 48123 - 44032: 0x92FB, - 48124 - 44032: 0xB9CE, - 48125 - 44032: 0x92FC, - 48126 - 44032: 0x92FD, - 48127 - 44032: 0xB9CF, - 48128 - 44032: 0xB9D0, - 48129 - 44032: 0x92FE, - 48130 - 44032: 0xB9D1, - 48131 - 44032: 0x9341, - 48132 - 44032: 0x9342, - 48133 - 44032: 0x9343, - 48134 - 44032: 0x9344, - 48135 - 44032: 0x9345, - 48136 - 44032: 0xB9D2, - 48137 - 44032: 0xB9D3, - 48138 - 44032: 0x9346, - 48139 - 44032: 0xB9D4, - 48140 - 44032: 0xB9D5, - 48141 - 44032: 0xB9D6, - 48142 - 44032: 0x9347, - 48143 - 44032: 0xB9D7, - 48144 - 44032: 0x9348, - 48145 - 44032: 0xB9D8, - 48146 - 44032: 0x9349, - 48147 - 44032: 0x934A, - 48148 - 44032: 0xB9D9, - 48149 - 44032: 0xB9DA, - 48150 - 44032: 0xB9DB, - 48151 - 44032: 0xB9DC, - 48152 - 44032: 0xB9DD, - 48153 - 44032: 0x934B, - 48154 - 44032: 0x934C, - 48155 - 44032: 0xB9DE, - 48156 - 44032: 0xB9DF, - 48157 - 44032: 0xB9E0, - 48158 - 44032: 0xB9E1, - 48159 - 44032: 0xB9E2, - 48160 - 44032: 0x934D, - 48161 - 44032: 0x934E, - 48162 - 44032: 0x934F, - 48163 - 44032: 0x9350, - 48164 - 44032: 0xB9E3, - 48165 - 44032: 0xB9E4, - 48166 - 44032: 0x9351, - 48167 - 44032: 0xB9E5, - 48168 - 44032: 0x9352, - 48169 - 44032: 0xB9E6, - 48170 - 44032: 0x9353, - 48171 - 44032: 0x9354, - 48172 - 44032: 0x9355, - 48173 - 44032: 0xB9E7, - 48174 - 44032: 0x9356, - 48175 - 44032: 0x9357, - 48176 - 44032: 0xB9E8, - 48177 - 44032: 0xB9E9, - 48178 - 44032: 0x9358, - 48179 - 44032: 0x9359, - 48180 - 44032: 0xB9EA, - 48181 - 44032: 0x935A, - 48182 - 44032: 0x9361, - 48183 - 44032: 0x9362, - 48184 - 44032: 0xB9EB, - 48185 - 44032: 0x9363, - 48186 - 44032: 0x9364, - 48187 - 44032: 0x9365, - 48188 - 44032: 0x9366, - 48189 - 44032: 0x9367, - 48190 - 44032: 0x9368, - 48191 - 44032: 0x9369, - 48192 - 44032: 0xB9EC, - 48193 - 44032: 0xB9ED, - 48194 - 44032: 0x936A, - 48195 - 44032: 0xB9EE, - 48196 - 44032: 0xB9EF, - 48197 - 44032: 0xB9F0, - 48198 - 44032: 0x936B, - 48199 - 44032: 0x936C, - 48200 - 44032: 0x936D, - 48201 - 44032: 0xB9F1, - 48202 - 44032: 0x936E, - 48203 - 44032: 0x936F, - 48204 - 44032: 0xB9F2, - 48205 - 44032: 0xB9F3, - 48206 - 44032: 0x9370, - 48207 - 44032: 0x9371, - 48208 - 44032: 0xB9F4, - 48209 - 44032: 0x9372, - 48210 - 44032: 0x9373, - 48211 - 44032: 0x9374, - 48212 - 44032: 0x9375, - 48213 - 44032: 0x9376, - 48214 - 44032: 0x9377, - 48215 - 44032: 0x9378, - 48216 - 44032: 0x9379, - 48217 - 44032: 0x937A, - 48218 - 44032: 0x9381, - 48219 - 44032: 0x9382, - 48220 - 44032: 0x9383, - 48221 - 44032: 0xB9F5, - 48222 - 44032: 0x9384, - 48223 - 44032: 0x9385, - 48224 - 44032: 0x9386, - 48225 - 44032: 0x9387, - 48226 - 44032: 0x9388, - 48227 - 44032: 0x9389, - 48228 - 44032: 0x938A, - 48229 - 44032: 0x938B, - 48230 - 44032: 0x938C, - 48231 - 44032: 0x938D, - 48232 - 44032: 0x938E, - 48233 - 44032: 0x938F, - 48234 - 44032: 0x9390, - 48235 - 44032: 0x9391, - 48236 - 44032: 0x9392, - 48237 - 44032: 0x9393, - 48238 - 44032: 0x9394, - 48239 - 44032: 0x9395, - 48240 - 44032: 0x9396, - 48241 - 44032: 0x9397, - 48242 - 44032: 0x9398, - 48243 - 44032: 0x9399, - 48244 - 44032: 0x939A, - 48245 - 44032: 0x939B, - 48246 - 44032: 0x939C, - 48247 - 44032: 0x939D, - 48248 - 44032: 0x939E, - 48249 - 44032: 0x939F, - 48250 - 44032: 0x93A0, - 48251 - 44032: 0x93A1, - 48252 - 44032: 0x93A2, - 48253 - 44032: 0x93A3, - 48254 - 44032: 0x93A4, - 48255 - 44032: 0x93A5, - 48256 - 44032: 0x93A6, - 48257 - 44032: 0x93A7, - 48258 - 44032: 0x93A8, - 48259 - 44032: 0x93A9, - 48260 - 44032: 0xB9F6, - 48261 - 44032: 0xB9F7, - 48262 - 44032: 0x93AA, - 48263 - 44032: 0x93AB, - 48264 - 44032: 0xB9F8, - 48265 - 44032: 0x93AC, - 48266 - 44032: 0x93AD, - 48267 - 44032: 0xB9F9, - 48268 - 44032: 0xB9FA, - 48269 - 44032: 0x93AE, - 48270 - 44032: 0xB9FB, - 48271 - 44032: 0x93AF, - 48272 - 44032: 0x93B0, - 48273 - 44032: 0x93B1, - 48274 - 44032: 0x93B2, - 48275 - 44032: 0x93B3, - 48276 - 44032: 0xB9FC, - 48277 - 44032: 0xB9FD, - 48278 - 44032: 0x93B4, - 48279 - 44032: 0xB9FE, - 48280 - 44032: 0x93B5, - 48281 - 44032: 0xBAA1, - 48282 - 44032: 0xBAA2, - 48283 - 44032: 0x93B6, - 48284 - 44032: 0x93B7, - 48285 - 44032: 0x93B8, - 48286 - 44032: 0x93B9, - 48287 - 44032: 0x93BA, - 48288 - 44032: 0xBAA3, - 48289 - 44032: 0xBAA4, - 48290 - 44032: 0x93BB, - 48291 - 44032: 0x93BC, - 48292 - 44032: 0xBAA5, - 48293 - 44032: 0x93BD, - 48294 - 44032: 0x93BE, - 48295 - 44032: 0xBAA6, - 48296 - 44032: 0xBAA7, - 48297 - 44032: 0x93BF, - 48298 - 44032: 0x93C0, - 48299 - 44032: 0x93C1, - 48300 - 44032: 0x93C2, - 48301 - 44032: 0x93C3, - 48302 - 44032: 0x93C4, - 48303 - 44032: 0x93C5, - 48304 - 44032: 0xBAA8, - 48305 - 44032: 0xBAA9, - 48306 - 44032: 0x93C6, - 48307 - 44032: 0xBAAA, - 48308 - 44032: 0xBAAB, - 48309 - 44032: 0xBAAC, - 48310 - 44032: 0x93C7, - 48311 - 44032: 0x93C8, - 48312 - 44032: 0x93C9, - 48313 - 44032: 0x93CA, - 48314 - 44032: 0x93CB, - 48315 - 44032: 0x93CC, - 48316 - 44032: 0xBAAD, - 48317 - 44032: 0xBAAE, - 48318 - 44032: 0x93CD, - 48319 - 44032: 0x93CE, - 48320 - 44032: 0xBAAF, - 48321 - 44032: 0x93CF, - 48322 - 44032: 0x93D0, - 48323 - 44032: 0x93D1, - 48324 - 44032: 0xBAB0, - 48325 - 44032: 0x93D2, - 48326 - 44032: 0x93D3, - 48327 - 44032: 0x93D4, - 48328 - 44032: 0x93D5, - 48329 - 44032: 0x93D6, - 48330 - 44032: 0x93D7, - 48331 - 44032: 0x93D8, - 48332 - 44032: 0x93D9, - 48333 - 44032: 0xBAB1, - 48334 - 44032: 0x93DA, - 48335 - 44032: 0xBAB2, - 48336 - 44032: 0xBAB3, - 48337 - 44032: 0xBAB4, - 48338 - 44032: 0x93DB, - 48339 - 44032: 0x93DC, - 48340 - 44032: 0x93DD, - 48341 - 44032: 0xBAB5, - 48342 - 44032: 0x93DE, - 48343 - 44032: 0x93DF, - 48344 - 44032: 0xBAB6, - 48345 - 44032: 0x93E0, - 48346 - 44032: 0x93E1, - 48347 - 44032: 0x93E2, - 48348 - 44032: 0xBAB7, - 48349 - 44032: 0x93E3, - 48350 - 44032: 0x93E4, - 48351 - 44032: 0x93E5, - 48352 - 44032: 0x93E6, - 48353 - 44032: 0x93E7, - 48354 - 44032: 0x93E8, - 48355 - 44032: 0x93E9, - 48356 - 44032: 0x93EA, - 48357 - 44032: 0x93EB, - 48358 - 44032: 0x93EC, - 48359 - 44032: 0x93ED, - 48360 - 44032: 0x93EE, - 48361 - 44032: 0x93EF, - 48362 - 44032: 0x93F0, - 48363 - 44032: 0x93F1, - 48364 - 44032: 0x93F2, - 48365 - 44032: 0x93F3, - 48366 - 44032: 0x93F4, - 48367 - 44032: 0x93F5, - 48368 - 44032: 0x93F6, - 48369 - 44032: 0x93F7, - 48370 - 44032: 0x93F8, - 48371 - 44032: 0x93F9, - 48372 - 44032: 0xBAB8, - 48373 - 44032: 0xBAB9, - 48374 - 44032: 0xBABA, - 48375 - 44032: 0x93FA, - 48376 - 44032: 0xBABB, - 48377 - 44032: 0x93FB, - 48378 - 44032: 0x93FC, - 48379 - 44032: 0x93FD, - 48380 - 44032: 0xBABC, - 48381 - 44032: 0x93FE, - 48382 - 44032: 0x9441, - 48383 - 44032: 0x9442, - 48384 - 44032: 0x9443, - 48385 - 44032: 0x9444, - 48386 - 44032: 0x9445, - 48387 - 44032: 0x9446, - 48388 - 44032: 0xBABD, - 48389 - 44032: 0xBABE, - 48390 - 44032: 0x9447, - 48391 - 44032: 0xBABF, - 48392 - 44032: 0x9448, - 48393 - 44032: 0xBAC0, - 48394 - 44032: 0x9449, - 48395 - 44032: 0x944A, - 48396 - 44032: 0x944B, - 48397 - 44032: 0x944C, - 48398 - 44032: 0x944D, - 48399 - 44032: 0x944E, - 48400 - 44032: 0xBAC1, - 48401 - 44032: 0x944F, - 48402 - 44032: 0x9450, - 48403 - 44032: 0x9451, - 48404 - 44032: 0xBAC2, - 48405 - 44032: 0x9452, - 48406 - 44032: 0x9453, - 48407 - 44032: 0x9454, - 48408 - 44032: 0x9455, - 48409 - 44032: 0x9456, - 48410 - 44032: 0x9457, - 48411 - 44032: 0x9458, - 48412 - 44032: 0x9459, - 48413 - 44032: 0x945A, - 48414 - 44032: 0x9461, - 48415 - 44032: 0x9462, - 48416 - 44032: 0x9463, - 48417 - 44032: 0x9464, - 48418 - 44032: 0x9465, - 48419 - 44032: 0x9466, - 48420 - 44032: 0xBAC3, - 48421 - 44032: 0x9467, - 48422 - 44032: 0x9468, - 48423 - 44032: 0x9469, - 48424 - 44032: 0x946A, - 48425 - 44032: 0x946B, - 48426 - 44032: 0x946C, - 48427 - 44032: 0x946D, - 48428 - 44032: 0xBAC4, - 48429 - 44032: 0x946E, - 48430 - 44032: 0x946F, - 48431 - 44032: 0x9470, - 48432 - 44032: 0x9471, - 48433 - 44032: 0x9472, - 48434 - 44032: 0x9473, - 48435 - 44032: 0x9474, - 48436 - 44032: 0x9475, - 48437 - 44032: 0x9476, - 48438 - 44032: 0x9477, - 48439 - 44032: 0x9478, - 48440 - 44032: 0x9479, - 48441 - 44032: 0x947A, - 48442 - 44032: 0x9481, - 48443 - 44032: 0x9482, - 48444 - 44032: 0x9483, - 48445 - 44032: 0x9484, - 48446 - 44032: 0x9485, - 48447 - 44032: 0x9486, - 48448 - 44032: 0xBAC5, - 48449 - 44032: 0x9487, - 48450 - 44032: 0x9488, - 48451 - 44032: 0x9489, - 48452 - 44032: 0x948A, - 48453 - 44032: 0x948B, - 48454 - 44032: 0x948C, - 48455 - 44032: 0x948D, - 48456 - 44032: 0xBAC6, - 48457 - 44032: 0xBAC7, - 48458 - 44032: 0x948E, - 48459 - 44032: 0x948F, - 48460 - 44032: 0xBAC8, - 48461 - 44032: 0x9490, - 48462 - 44032: 0x9491, - 48463 - 44032: 0x9492, - 48464 - 44032: 0xBAC9, - 48465 - 44032: 0x9493, - 48466 - 44032: 0x9494, - 48467 - 44032: 0x9495, - 48468 - 44032: 0x9496, - 48469 - 44032: 0x9497, - 48470 - 44032: 0x9498, - 48471 - 44032: 0x9499, - 48472 - 44032: 0xBACA, - 48473 - 44032: 0xBACB, - 48474 - 44032: 0x949A, - 48475 - 44032: 0x949B, - 48476 - 44032: 0x949C, - 48477 - 44032: 0x949D, - 48478 - 44032: 0x949E, - 48479 - 44032: 0x949F, - 48480 - 44032: 0x94A0, - 48481 - 44032: 0x94A1, - 48482 - 44032: 0x94A2, - 48483 - 44032: 0x94A3, - 48484 - 44032: 0xBACC, - 48485 - 44032: 0x94A4, - 48486 - 44032: 0x94A5, - 48487 - 44032: 0x94A6, - 48488 - 44032: 0xBACD, - 48489 - 44032: 0x94A7, - 48490 - 44032: 0x94A8, - 48491 - 44032: 0x94A9, - 48492 - 44032: 0x94AA, - 48493 - 44032: 0x94AB, - 48494 - 44032: 0x94AC, - 48495 - 44032: 0x94AD, - 48496 - 44032: 0x94AE, - 48497 - 44032: 0x94AF, - 48498 - 44032: 0x94B0, - 48499 - 44032: 0x94B1, - 48500 - 44032: 0x94B2, - 48501 - 44032: 0x94B3, - 48502 - 44032: 0x94B4, - 48503 - 44032: 0x94B5, - 48504 - 44032: 0x94B6, - 48505 - 44032: 0x94B7, - 48506 - 44032: 0x94B8, - 48507 - 44032: 0x94B9, - 48508 - 44032: 0x94BA, - 48509 - 44032: 0x94BB, - 48510 - 44032: 0x94BC, - 48511 - 44032: 0x94BD, - 48512 - 44032: 0xBACE, - 48513 - 44032: 0xBACF, - 48514 - 44032: 0x94BE, - 48515 - 44032: 0x94BF, - 48516 - 44032: 0xBAD0, - 48517 - 44032: 0x94C0, - 48518 - 44032: 0x94C1, - 48519 - 44032: 0xBAD1, - 48520 - 44032: 0xBAD2, - 48521 - 44032: 0xBAD3, - 48522 - 44032: 0xBAD4, - 48523 - 44032: 0x94C2, - 48524 - 44032: 0x94C3, - 48525 - 44032: 0x94C4, - 48526 - 44032: 0x94C5, - 48527 - 44032: 0x94C6, - 48528 - 44032: 0xBAD5, - 48529 - 44032: 0xBAD6, - 48530 - 44032: 0x94C7, - 48531 - 44032: 0xBAD7, - 48532 - 44032: 0x94C8, - 48533 - 44032: 0xBAD8, - 48534 - 44032: 0x94C9, - 48535 - 44032: 0x94CA, - 48536 - 44032: 0x94CB, - 48537 - 44032: 0xBAD9, - 48538 - 44032: 0xBADA, - 48539 - 44032: 0x94CC, - 48540 - 44032: 0xBADB, - 48541 - 44032: 0x94CD, - 48542 - 44032: 0x94CE, - 48543 - 44032: 0x94CF, - 48544 - 44032: 0x94D0, - 48545 - 44032: 0x94D1, - 48546 - 44032: 0x94D2, - 48547 - 44032: 0x94D3, - 48548 - 44032: 0xBADC, - 48549 - 44032: 0x94D4, - 48550 - 44032: 0x94D5, - 48551 - 44032: 0x94D6, - 48552 - 44032: 0x94D7, - 48553 - 44032: 0x94D8, - 48554 - 44032: 0x94D9, - 48555 - 44032: 0x94DA, - 48556 - 44032: 0x94DB, - 48557 - 44032: 0x94DC, - 48558 - 44032: 0x94DD, - 48559 - 44032: 0x94DE, - 48560 - 44032: 0xBADD, - 48561 - 44032: 0x94DF, - 48562 - 44032: 0x94E0, - 48563 - 44032: 0x94E1, - 48564 - 44032: 0x94E2, - 48565 - 44032: 0x94E3, - 48566 - 44032: 0x94E4, - 48567 - 44032: 0x94E5, - 48568 - 44032: 0xBADE, - 48569 - 44032: 0x94E6, - 48570 - 44032: 0x94E7, - 48571 - 44032: 0x94E8, - 48572 - 44032: 0x94E9, - 48573 - 44032: 0x94EA, - 48574 - 44032: 0x94EB, - 48575 - 44032: 0x94EC, - 48576 - 44032: 0x94ED, - 48577 - 44032: 0x94EE, - 48578 - 44032: 0x94EF, - 48579 - 44032: 0x94F0, - 48580 - 44032: 0x94F1, - 48581 - 44032: 0x94F2, - 48582 - 44032: 0x94F3, - 48583 - 44032: 0x94F4, - 48584 - 44032: 0x94F5, - 48585 - 44032: 0x94F6, - 48586 - 44032: 0x94F7, - 48587 - 44032: 0x94F8, - 48588 - 44032: 0x94F9, - 48589 - 44032: 0x94FA, - 48590 - 44032: 0x94FB, - 48591 - 44032: 0x94FC, - 48592 - 44032: 0x94FD, - 48593 - 44032: 0x94FE, - 48594 - 44032: 0x9541, - 48595 - 44032: 0x9542, - 48596 - 44032: 0xBADF, - 48597 - 44032: 0xBAE0, - 48598 - 44032: 0x9543, - 48599 - 44032: 0x9544, - 48600 - 44032: 0xBAE1, - 48601 - 44032: 0x9545, - 48602 - 44032: 0x9546, - 48603 - 44032: 0x9547, - 48604 - 44032: 0xBAE2, - 48605 - 44032: 0x9548, - 48606 - 44032: 0x9549, - 48607 - 44032: 0x954A, - 48608 - 44032: 0x954B, - 48609 - 44032: 0x954C, - 48610 - 44032: 0x954D, - 48611 - 44032: 0x954E, - 48612 - 44032: 0x954F, - 48613 - 44032: 0x9550, - 48614 - 44032: 0x9551, - 48615 - 44032: 0x9552, - 48616 - 44032: 0x9553, - 48617 - 44032: 0xBAE3, - 48618 - 44032: 0x9554, - 48619 - 44032: 0x9555, - 48620 - 44032: 0x9556, - 48621 - 44032: 0x9557, - 48622 - 44032: 0x9558, - 48623 - 44032: 0x9559, - 48624 - 44032: 0xBAE4, - 48625 - 44032: 0x955A, - 48626 - 44032: 0x9561, - 48627 - 44032: 0x9562, - 48628 - 44032: 0xBAE5, - 48629 - 44032: 0x9563, - 48630 - 44032: 0x9564, - 48631 - 44032: 0x9565, - 48632 - 44032: 0xBAE6, - 48633 - 44032: 0x9566, - 48634 - 44032: 0x9567, - 48635 - 44032: 0x9568, - 48636 - 44032: 0x9569, - 48637 - 44032: 0x956A, - 48638 - 44032: 0x956B, - 48639 - 44032: 0x956C, - 48640 - 44032: 0xBAE7, - 48641 - 44032: 0x956D, - 48642 - 44032: 0x956E, - 48643 - 44032: 0xBAE8, - 48644 - 44032: 0x956F, - 48645 - 44032: 0xBAE9, - 48646 - 44032: 0x9570, - 48647 - 44032: 0x9571, - 48648 - 44032: 0x9572, - 48649 - 44032: 0x9573, - 48650 - 44032: 0x9574, - 48651 - 44032: 0x9575, - 48652 - 44032: 0xBAEA, - 48653 - 44032: 0xBAEB, - 48654 - 44032: 0x9576, - 48655 - 44032: 0x9577, - 48656 - 44032: 0xBAEC, - 48657 - 44032: 0x9578, - 48658 - 44032: 0x9579, - 48659 - 44032: 0x957A, - 48660 - 44032: 0xBAED, - 48661 - 44032: 0x9581, - 48662 - 44032: 0x9582, - 48663 - 44032: 0x9583, - 48664 - 44032: 0x9584, - 48665 - 44032: 0x9585, - 48666 - 44032: 0x9586, - 48667 - 44032: 0x9587, - 48668 - 44032: 0xBAEE, - 48669 - 44032: 0xBAEF, - 48670 - 44032: 0x9588, - 48671 - 44032: 0xBAF0, - 48672 - 44032: 0x9589, - 48673 - 44032: 0x958A, - 48674 - 44032: 0x958B, - 48675 - 44032: 0x958C, - 48676 - 44032: 0x958D, - 48677 - 44032: 0x958E, - 48678 - 44032: 0x958F, - 48679 - 44032: 0x9590, - 48680 - 44032: 0x9591, - 48681 - 44032: 0x9592, - 48682 - 44032: 0x9593, - 48683 - 44032: 0x9594, - 48684 - 44032: 0x9595, - 48685 - 44032: 0x9596, - 48686 - 44032: 0x9597, - 48687 - 44032: 0x9598, - 48688 - 44032: 0x9599, - 48689 - 44032: 0x959A, - 48690 - 44032: 0x959B, - 48691 - 44032: 0x959C, - 48692 - 44032: 0x959D, - 48693 - 44032: 0x959E, - 48694 - 44032: 0x959F, - 48695 - 44032: 0x95A0, - 48696 - 44032: 0x95A1, - 48697 - 44032: 0x95A2, - 48698 - 44032: 0x95A3, - 48699 - 44032: 0x95A4, - 48700 - 44032: 0x95A5, - 48701 - 44032: 0x95A6, - 48702 - 44032: 0x95A7, - 48703 - 44032: 0x95A8, - 48704 - 44032: 0x95A9, - 48705 - 44032: 0x95AA, - 48706 - 44032: 0x95AB, - 48707 - 44032: 0x95AC, - 48708 - 44032: 0xBAF1, - 48709 - 44032: 0xBAF2, - 48710 - 44032: 0x95AD, - 48711 - 44032: 0x95AE, - 48712 - 44032: 0xBAF3, - 48713 - 44032: 0x95AF, - 48714 - 44032: 0x95B0, - 48715 - 44032: 0x95B1, - 48716 - 44032: 0xBAF4, - 48717 - 44032: 0x95B2, - 48718 - 44032: 0xBAF5, - 48719 - 44032: 0x95B3, - 48720 - 44032: 0x95B4, - 48721 - 44032: 0x95B5, - 48722 - 44032: 0x95B6, - 48723 - 44032: 0x95B7, - 48724 - 44032: 0xBAF6, - 48725 - 44032: 0xBAF7, - 48726 - 44032: 0x95B8, - 48727 - 44032: 0xBAF8, - 48728 - 44032: 0x95B9, - 48729 - 44032: 0xBAF9, - 48730 - 44032: 0xBAFA, - 48731 - 44032: 0xBAFB, - 48732 - 44032: 0x95BA, - 48733 - 44032: 0x95BB, - 48734 - 44032: 0x95BC, - 48735 - 44032: 0x95BD, - 48736 - 44032: 0xBAFC, - 48737 - 44032: 0xBAFD, - 48738 - 44032: 0x95BE, - 48739 - 44032: 0x95BF, - 48740 - 44032: 0xBAFE, - 48741 - 44032: 0x95C0, - 48742 - 44032: 0x95C1, - 48743 - 44032: 0x95C2, - 48744 - 44032: 0xBBA1, - 48745 - 44032: 0x95C3, - 48746 - 44032: 0xBBA2, - 48747 - 44032: 0x95C4, - 48748 - 44032: 0x95C5, - 48749 - 44032: 0x95C6, - 48750 - 44032: 0x95C7, - 48751 - 44032: 0x95C8, - 48752 - 44032: 0xBBA3, - 48753 - 44032: 0xBBA4, - 48754 - 44032: 0x95C9, - 48755 - 44032: 0xBBA5, - 48756 - 44032: 0xBBA6, - 48757 - 44032: 0xBBA7, - 48758 - 44032: 0x95CA, - 48759 - 44032: 0x95CB, - 48760 - 44032: 0x95CC, - 48761 - 44032: 0x95CD, - 48762 - 44032: 0x95CE, - 48763 - 44032: 0xBBA8, - 48764 - 44032: 0xBBA9, - 48765 - 44032: 0xBBAA, - 48766 - 44032: 0x95CF, - 48767 - 44032: 0x95D0, - 48768 - 44032: 0xBBAB, - 48769 - 44032: 0x95D1, - 48770 - 44032: 0x95D2, - 48771 - 44032: 0x95D3, - 48772 - 44032: 0xBBAC, - 48773 - 44032: 0x95D4, - 48774 - 44032: 0x95D5, - 48775 - 44032: 0x95D6, - 48776 - 44032: 0x95D7, - 48777 - 44032: 0x95D8, - 48778 - 44032: 0x95D9, - 48779 - 44032: 0x95DA, - 48780 - 44032: 0xBBAD, - 48781 - 44032: 0xBBAE, - 48782 - 44032: 0x95DB, - 48783 - 44032: 0xBBAF, - 48784 - 44032: 0xBBB0, - 48785 - 44032: 0xBBB1, - 48786 - 44032: 0x95DC, - 48787 - 44032: 0x95DD, - 48788 - 44032: 0x95DE, - 48789 - 44032: 0x95DF, - 48790 - 44032: 0x95E0, - 48791 - 44032: 0x95E1, - 48792 - 44032: 0xBBB2, - 48793 - 44032: 0xBBB3, - 48794 - 44032: 0x95E2, - 48795 - 44032: 0x95E3, - 48796 - 44032: 0x95E4, - 48797 - 44032: 0x95E5, - 48798 - 44032: 0x95E6, - 48799 - 44032: 0x95E7, - 48800 - 44032: 0x95E8, - 48801 - 44032: 0x95E9, - 48802 - 44032: 0x95EA, - 48803 - 44032: 0x95EB, - 48804 - 44032: 0x95EC, - 48805 - 44032: 0x95ED, - 48806 - 44032: 0x95EE, - 48807 - 44032: 0x95EF, - 48808 - 44032: 0xBBB4, - 48809 - 44032: 0x95F0, - 48810 - 44032: 0x95F1, - 48811 - 44032: 0x95F2, - 48812 - 44032: 0x95F3, - 48813 - 44032: 0x95F4, - 48814 - 44032: 0x95F5, - 48815 - 44032: 0x95F6, - 48816 - 44032: 0x95F7, - 48817 - 44032: 0x95F8, - 48818 - 44032: 0x95F9, - 48819 - 44032: 0x95FA, - 48820 - 44032: 0x95FB, - 48821 - 44032: 0x95FC, - 48822 - 44032: 0x95FD, - 48823 - 44032: 0x95FE, - 48824 - 44032: 0x9641, - 48825 - 44032: 0x9642, - 48826 - 44032: 0x9643, - 48827 - 44032: 0x9644, - 48828 - 44032: 0x9645, - 48829 - 44032: 0x9646, - 48830 - 44032: 0x9647, - 48831 - 44032: 0x9648, - 48832 - 44032: 0x9649, - 48833 - 44032: 0x964A, - 48834 - 44032: 0x964B, - 48835 - 44032: 0x964C, - 48836 - 44032: 0x964D, - 48837 - 44032: 0x964E, - 48838 - 44032: 0x964F, - 48839 - 44032: 0x9650, - 48840 - 44032: 0x9651, - 48841 - 44032: 0x9652, - 48842 - 44032: 0x9653, - 48843 - 44032: 0x9654, - 48844 - 44032: 0x9655, - 48845 - 44032: 0x9656, - 48846 - 44032: 0x9657, - 48847 - 44032: 0x9658, - 48848 - 44032: 0xBBB5, - 48849 - 44032: 0xBBB6, - 48850 - 44032: 0x9659, - 48851 - 44032: 0x965A, - 48852 - 44032: 0xBBB7, - 48853 - 44032: 0x9661, - 48854 - 44032: 0x9662, - 48855 - 44032: 0xBBB8, - 48856 - 44032: 0xBBB9, - 48857 - 44032: 0x9663, - 48858 - 44032: 0x9664, - 48859 - 44032: 0x9665, - 48860 - 44032: 0x9666, - 48861 - 44032: 0x9667, - 48862 - 44032: 0x9668, - 48863 - 44032: 0x9669, - 48864 - 44032: 0xBBBA, - 48865 - 44032: 0x966A, - 48866 - 44032: 0x966B, - 48867 - 44032: 0xBBBB, - 48868 - 44032: 0xBBBC, - 48869 - 44032: 0xBBBD, - 48870 - 44032: 0x966C, - 48871 - 44032: 0x966D, - 48872 - 44032: 0x966E, - 48873 - 44032: 0x966F, - 48874 - 44032: 0x9670, - 48875 - 44032: 0x9671, - 48876 - 44032: 0xBBBE, - 48877 - 44032: 0x9672, - 48878 - 44032: 0x9673, - 48879 - 44032: 0x9674, - 48880 - 44032: 0x9675, - 48881 - 44032: 0x9676, - 48882 - 44032: 0x9677, - 48883 - 44032: 0x9678, - 48884 - 44032: 0x9679, - 48885 - 44032: 0x967A, - 48886 - 44032: 0x9681, - 48887 - 44032: 0x9682, - 48888 - 44032: 0x9683, - 48889 - 44032: 0x9684, - 48890 - 44032: 0x9685, - 48891 - 44032: 0x9686, - 48892 - 44032: 0x9687, - 48893 - 44032: 0x9688, - 48894 - 44032: 0x9689, - 48895 - 44032: 0x968A, - 48896 - 44032: 0x968B, - 48897 - 44032: 0xBBBF, - 48898 - 44032: 0x968C, - 48899 - 44032: 0x968D, - 48900 - 44032: 0x968E, - 48901 - 44032: 0x968F, - 48902 - 44032: 0x9690, - 48903 - 44032: 0x9691, - 48904 - 44032: 0xBBC0, - 48905 - 44032: 0xBBC1, - 48906 - 44032: 0x9692, - 48907 - 44032: 0x9693, - 48908 - 44032: 0x9694, - 48909 - 44032: 0x9695, - 48910 - 44032: 0x9696, - 48911 - 44032: 0x9697, - 48912 - 44032: 0x9698, - 48913 - 44032: 0x9699, - 48914 - 44032: 0x969A, - 48915 - 44032: 0x969B, - 48916 - 44032: 0x969C, - 48917 - 44032: 0x969D, - 48918 - 44032: 0x969E, - 48919 - 44032: 0x969F, - 48920 - 44032: 0xBBC2, - 48921 - 44032: 0xBBC3, - 48922 - 44032: 0x96A0, - 48923 - 44032: 0xBBC4, - 48924 - 44032: 0xBBC5, - 48925 - 44032: 0xBBC6, - 48926 - 44032: 0x96A1, - 48927 - 44032: 0x96A2, - 48928 - 44032: 0x96A3, - 48929 - 44032: 0x96A4, - 48930 - 44032: 0x96A5, - 48931 - 44032: 0x96A6, - 48932 - 44032: 0x96A7, - 48933 - 44032: 0x96A8, - 48934 - 44032: 0x96A9, - 48935 - 44032: 0x96AA, - 48936 - 44032: 0x96AB, - 48937 - 44032: 0x96AC, - 48938 - 44032: 0x96AD, - 48939 - 44032: 0x96AE, - 48940 - 44032: 0x96AF, - 48941 - 44032: 0x96B0, - 48942 - 44032: 0x96B1, - 48943 - 44032: 0x96B2, - 48944 - 44032: 0x96B3, - 48945 - 44032: 0x96B4, - 48946 - 44032: 0x96B5, - 48947 - 44032: 0x96B6, - 48948 - 44032: 0x96B7, - 48949 - 44032: 0x96B8, - 48950 - 44032: 0x96B9, - 48951 - 44032: 0x96BA, - 48952 - 44032: 0x96BB, - 48953 - 44032: 0x96BC, - 48954 - 44032: 0x96BD, - 48955 - 44032: 0x96BE, - 48956 - 44032: 0x96BF, - 48957 - 44032: 0x96C0, - 48958 - 44032: 0x96C1, - 48959 - 44032: 0x96C2, - 48960 - 44032: 0xBBC7, - 48961 - 44032: 0xBBC8, - 48962 - 44032: 0x96C3, - 48963 - 44032: 0x96C4, - 48964 - 44032: 0xBBC9, - 48965 - 44032: 0x96C5, - 48966 - 44032: 0x96C6, - 48967 - 44032: 0x96C7, - 48968 - 44032: 0xBBCA, - 48969 - 44032: 0x96C8, - 48970 - 44032: 0x96C9, - 48971 - 44032: 0x96CA, - 48972 - 44032: 0x96CB, - 48973 - 44032: 0x96CC, - 48974 - 44032: 0x96CD, - 48975 - 44032: 0x96CE, - 48976 - 44032: 0xBBCB, - 48977 - 44032: 0xBBCC, - 48978 - 44032: 0x96CF, - 48979 - 44032: 0x96D0, - 48980 - 44032: 0x96D1, - 48981 - 44032: 0xBBCD, - 48982 - 44032: 0x96D2, - 48983 - 44032: 0x96D3, - 48984 - 44032: 0x96D4, - 48985 - 44032: 0x96D5, - 48986 - 44032: 0x96D6, - 48987 - 44032: 0x96D7, - 48988 - 44032: 0x96D8, - 48989 - 44032: 0x96D9, - 48990 - 44032: 0x96DA, - 48991 - 44032: 0x96DB, - 48992 - 44032: 0x96DC, - 48993 - 44032: 0x96DD, - 48994 - 44032: 0x96DE, - 48995 - 44032: 0x96DF, - 48996 - 44032: 0x96E0, - 48997 - 44032: 0x96E1, - 48998 - 44032: 0x96E2, - 48999 - 44032: 0x96E3, - 49000 - 44032: 0x96E4, - 49001 - 44032: 0x96E5, - 49002 - 44032: 0x96E6, - 49003 - 44032: 0x96E7, - 49004 - 44032: 0x96E8, - 49005 - 44032: 0x96E9, - 49006 - 44032: 0x96EA, - 49007 - 44032: 0x96EB, - 49008 - 44032: 0x96EC, - 49009 - 44032: 0x96ED, - 49010 - 44032: 0x96EE, - 49011 - 44032: 0x96EF, - 49012 - 44032: 0x96F0, - 49013 - 44032: 0x96F1, - 49014 - 44032: 0x96F2, - 49015 - 44032: 0x96F3, - 49016 - 44032: 0x96F4, - 49017 - 44032: 0x96F5, - 49018 - 44032: 0x96F6, - 49019 - 44032: 0x96F7, - 49020 - 44032: 0x96F8, - 49021 - 44032: 0x96F9, - 49022 - 44032: 0x96FA, - 49023 - 44032: 0x96FB, - 49024 - 44032: 0x96FC, - 49025 - 44032: 0x96FD, - 49026 - 44032: 0x96FE, - 49027 - 44032: 0x9741, - 49028 - 44032: 0x9742, - 49029 - 44032: 0x9743, - 49030 - 44032: 0x9744, - 49031 - 44032: 0x9745, - 49032 - 44032: 0x9746, - 49033 - 44032: 0x9747, - 49034 - 44032: 0x9748, - 49035 - 44032: 0x9749, - 49036 - 44032: 0x974A, - 49037 - 44032: 0x974B, - 49038 - 44032: 0x974C, - 49039 - 44032: 0x974D, - 49040 - 44032: 0x974E, - 49041 - 44032: 0x974F, - 49042 - 44032: 0x9750, - 49043 - 44032: 0x9751, - 49044 - 44032: 0xBBCE, - 49045 - 44032: 0x9752, - 49046 - 44032: 0x9753, - 49047 - 44032: 0x9754, - 49048 - 44032: 0x9755, - 49049 - 44032: 0x9756, - 49050 - 44032: 0x9757, - 49051 - 44032: 0x9758, - 49052 - 44032: 0x9759, - 49053 - 44032: 0x975A, - 49054 - 44032: 0x9761, - 49055 - 44032: 0x9762, - 49056 - 44032: 0x9763, - 49057 - 44032: 0x9764, - 49058 - 44032: 0x9765, - 49059 - 44032: 0x9766, - 49060 - 44032: 0x9767, - 49061 - 44032: 0x9768, - 49062 - 44032: 0x9769, - 49063 - 44032: 0x976A, - 49064 - 44032: 0x976B, - 49065 - 44032: 0x976C, - 49066 - 44032: 0x976D, - 49067 - 44032: 0x976E, - 49068 - 44032: 0x976F, - 49069 - 44032: 0x9770, - 49070 - 44032: 0x9771, - 49071 - 44032: 0x9772, - 49072 - 44032: 0xBBCF, - 49073 - 44032: 0x9773, - 49074 - 44032: 0x9774, - 49075 - 44032: 0x9775, - 49076 - 44032: 0x9776, - 49077 - 44032: 0x9777, - 49078 - 44032: 0x9778, - 49079 - 44032: 0x9779, - 49080 - 44032: 0x977A, - 49081 - 44032: 0x9781, - 49082 - 44032: 0x9782, - 49083 - 44032: 0x9783, - 49084 - 44032: 0x9784, - 49085 - 44032: 0x9785, - 49086 - 44032: 0x9786, - 49087 - 44032: 0x9787, - 49088 - 44032: 0x9788, - 49089 - 44032: 0x9789, - 49090 - 44032: 0x978A, - 49091 - 44032: 0x978B, - 49092 - 44032: 0x978C, - 49093 - 44032: 0xBBD0, - 49094 - 44032: 0x978D, - 49095 - 44032: 0x978E, - 49096 - 44032: 0x978F, - 49097 - 44032: 0x9790, - 49098 - 44032: 0x9791, - 49099 - 44032: 0x9792, - 49100 - 44032: 0xBBD1, - 49101 - 44032: 0xBBD2, - 49102 - 44032: 0x9793, - 49103 - 44032: 0x9794, - 49104 - 44032: 0xBBD3, - 49105 - 44032: 0x9795, - 49106 - 44032: 0x9796, - 49107 - 44032: 0x9797, - 49108 - 44032: 0xBBD4, - 49109 - 44032: 0x9798, - 49110 - 44032: 0x9799, - 49111 - 44032: 0x979A, - 49112 - 44032: 0x979B, - 49113 - 44032: 0x979C, - 49114 - 44032: 0x979D, - 49115 - 44032: 0x979E, - 49116 - 44032: 0xBBD5, - 49117 - 44032: 0x979F, - 49118 - 44032: 0x97A0, - 49119 - 44032: 0xBBD6, - 49120 - 44032: 0x97A1, - 49121 - 44032: 0xBBD7, - 49122 - 44032: 0x97A2, - 49123 - 44032: 0x97A3, - 49124 - 44032: 0x97A4, - 49125 - 44032: 0x97A5, - 49126 - 44032: 0x97A6, - 49127 - 44032: 0x97A7, - 49128 - 44032: 0x97A8, - 49129 - 44032: 0x97A9, - 49130 - 44032: 0x97AA, - 49131 - 44032: 0x97AB, - 49132 - 44032: 0x97AC, - 49133 - 44032: 0x97AD, - 49134 - 44032: 0x97AE, - 49135 - 44032: 0x97AF, - 49136 - 44032: 0x97B0, - 49137 - 44032: 0x97B1, - 49138 - 44032: 0x97B2, - 49139 - 44032: 0x97B3, - 49140 - 44032: 0x97B4, - 49141 - 44032: 0x97B5, - 49142 - 44032: 0x97B6, - 49143 - 44032: 0x97B7, - 49144 - 44032: 0x97B8, - 49145 - 44032: 0x97B9, - 49146 - 44032: 0x97BA, - 49147 - 44032: 0x97BB, - 49148 - 44032: 0x97BC, - 49149 - 44032: 0x97BD, - 49150 - 44032: 0x97BE, - 49151 - 44032: 0x97BF, - 49152 - 44032: 0x97C0, - 49153 - 44032: 0x97C1, - 49154 - 44032: 0x97C2, - 49155 - 44032: 0x97C3, - 49156 - 44032: 0x97C4, - 49157 - 44032: 0x97C5, - 49158 - 44032: 0x97C6, - 49159 - 44032: 0x97C7, - 49160 - 44032: 0x97C8, - 49161 - 44032: 0x97C9, - 49162 - 44032: 0x97CA, - 49163 - 44032: 0x97CB, - 49164 - 44032: 0x97CC, - 49165 - 44032: 0x97CD, - 49166 - 44032: 0x97CE, - 49167 - 44032: 0x97CF, - 49168 - 44032: 0x97D0, - 49169 - 44032: 0x97D1, - 49170 - 44032: 0x97D2, - 49171 - 44032: 0x97D3, - 49172 - 44032: 0x97D4, - 49173 - 44032: 0x97D5, - 49174 - 44032: 0x97D6, - 49175 - 44032: 0x97D7, - 49176 - 44032: 0x97D8, - 49177 - 44032: 0x97D9, - 49178 - 44032: 0x97DA, - 49179 - 44032: 0x97DB, - 49180 - 44032: 0x97DC, - 49181 - 44032: 0x97DD, - 49182 - 44032: 0x97DE, - 49183 - 44032: 0x97DF, - 49184 - 44032: 0x97E0, - 49185 - 44032: 0x97E1, - 49186 - 44032: 0x97E2, - 49187 - 44032: 0x97E3, - 49188 - 44032: 0x97E4, - 49189 - 44032: 0x97E5, - 49190 - 44032: 0x97E6, - 49191 - 44032: 0x97E7, - 49192 - 44032: 0x97E8, - 49193 - 44032: 0x97E9, - 49194 - 44032: 0x97EA, - 49195 - 44032: 0x97EB, - 49196 - 44032: 0x97EC, - 49197 - 44032: 0x97ED, - 49198 - 44032: 0x97EE, - 49199 - 44032: 0x97EF, - 49200 - 44032: 0x97F0, - 49201 - 44032: 0x97F1, - 49202 - 44032: 0x97F2, - 49203 - 44032: 0x97F3, - 49204 - 44032: 0x97F4, - 49205 - 44032: 0x97F5, - 49206 - 44032: 0x97F6, - 49207 - 44032: 0x97F7, - 49208 - 44032: 0x97F8, - 49209 - 44032: 0x97F9, - 49210 - 44032: 0x97FA, - 49211 - 44032: 0x97FB, - 49212 - 44032: 0xBBD8, - 49213 - 44032: 0x97FC, - 49214 - 44032: 0x97FD, - 49215 - 44032: 0x97FE, - 49216 - 44032: 0x9841, - 49217 - 44032: 0x9842, - 49218 - 44032: 0x9843, - 49219 - 44032: 0x9844, - 49220 - 44032: 0x9845, - 49221 - 44032: 0x9846, - 49222 - 44032: 0x9847, - 49223 - 44032: 0x9848, - 49224 - 44032: 0x9849, - 49225 - 44032: 0x984A, - 49226 - 44032: 0x984B, - 49227 - 44032: 0x984C, - 49228 - 44032: 0x984D, - 49229 - 44032: 0x984E, - 49230 - 44032: 0x984F, - 49231 - 44032: 0x9850, - 49232 - 44032: 0x9851, - 49233 - 44032: 0xBBD9, - 49234 - 44032: 0x9852, - 49235 - 44032: 0x9853, - 49236 - 44032: 0x9854, - 49237 - 44032: 0x9855, - 49238 - 44032: 0x9856, - 49239 - 44032: 0x9857, - 49240 - 44032: 0xBBDA, - 49241 - 44032: 0x9858, - 49242 - 44032: 0x9859, - 49243 - 44032: 0x985A, - 49244 - 44032: 0xBBDB, - 49245 - 44032: 0x9861, - 49246 - 44032: 0x9862, - 49247 - 44032: 0x9863, - 49248 - 44032: 0xBBDC, - 49249 - 44032: 0x9864, - 49250 - 44032: 0x9865, - 49251 - 44032: 0x9866, - 49252 - 44032: 0x9867, - 49253 - 44032: 0x9868, - 49254 - 44032: 0x9869, - 49255 - 44032: 0x986A, - 49256 - 44032: 0xBBDD, - 49257 - 44032: 0xBBDE, - 49258 - 44032: 0x986B, - 49259 - 44032: 0x986C, - 49260 - 44032: 0x986D, - 49261 - 44032: 0x986E, - 49262 - 44032: 0x986F, - 49263 - 44032: 0x9870, - 49264 - 44032: 0x9871, - 49265 - 44032: 0x9872, - 49266 - 44032: 0x9873, - 49267 - 44032: 0x9874, - 49268 - 44032: 0x9875, - 49269 - 44032: 0x9876, - 49270 - 44032: 0x9877, - 49271 - 44032: 0x9878, - 49272 - 44032: 0x9879, - 49273 - 44032: 0x987A, - 49274 - 44032: 0x9881, - 49275 - 44032: 0x9882, - 49276 - 44032: 0x9883, - 49277 - 44032: 0x9884, - 49278 - 44032: 0x9885, - 49279 - 44032: 0x9886, - 49280 - 44032: 0x9887, - 49281 - 44032: 0x9888, - 49282 - 44032: 0x9889, - 49283 - 44032: 0x988A, - 49284 - 44032: 0x988B, - 49285 - 44032: 0x988C, - 49286 - 44032: 0x988D, - 49287 - 44032: 0x988E, - 49288 - 44032: 0x988F, - 49289 - 44032: 0x9890, - 49290 - 44032: 0x9891, - 49291 - 44032: 0x9892, - 49292 - 44032: 0x9893, - 49293 - 44032: 0x9894, - 49294 - 44032: 0x9895, - 49295 - 44032: 0x9896, - 49296 - 44032: 0xBBDF, - 49297 - 44032: 0xBBE0, - 49298 - 44032: 0x9897, - 49299 - 44032: 0x9898, - 49300 - 44032: 0xBBE1, - 49301 - 44032: 0x9899, - 49302 - 44032: 0x989A, - 49303 - 44032: 0x989B, - 49304 - 44032: 0xBBE2, - 49305 - 44032: 0x989C, - 49306 - 44032: 0x989D, - 49307 - 44032: 0x989E, - 49308 - 44032: 0x989F, - 49309 - 44032: 0x98A0, - 49310 - 44032: 0x98A1, - 49311 - 44032: 0x98A2, - 49312 - 44032: 0xBBE3, - 49313 - 44032: 0xBBE4, - 49314 - 44032: 0x98A3, - 49315 - 44032: 0xBBE5, - 49316 - 44032: 0x98A4, - 49317 - 44032: 0xBBE6, - 49318 - 44032: 0x98A5, - 49319 - 44032: 0x98A6, - 49320 - 44032: 0x98A7, - 49321 - 44032: 0x98A8, - 49322 - 44032: 0x98A9, - 49323 - 44032: 0x98AA, - 49324 - 44032: 0xBBE7, - 49325 - 44032: 0xBBE8, - 49326 - 44032: 0x98AB, - 49327 - 44032: 0xBBE9, - 49328 - 44032: 0xBBEA, - 49329 - 44032: 0x98AC, - 49330 - 44032: 0x98AD, - 49331 - 44032: 0xBBEB, - 49332 - 44032: 0xBBEC, - 49333 - 44032: 0xBBED, - 49334 - 44032: 0xBBEE, - 49335 - 44032: 0x98AE, - 49336 - 44032: 0x98AF, - 49337 - 44032: 0x98B0, - 49338 - 44032: 0x98B1, - 49339 - 44032: 0x98B2, - 49340 - 44032: 0xBBEF, - 49341 - 44032: 0xBBF0, - 49342 - 44032: 0x98B3, - 49343 - 44032: 0xBBF1, - 49344 - 44032: 0xBBF2, - 49345 - 44032: 0xBBF3, - 49346 - 44032: 0x98B4, - 49347 - 44032: 0x98B5, - 49348 - 44032: 0x98B6, - 49349 - 44032: 0xBBF4, - 49350 - 44032: 0x98B7, - 49351 - 44032: 0x98B8, - 49352 - 44032: 0xBBF5, - 49353 - 44032: 0xBBF6, - 49354 - 44032: 0x98B9, - 49355 - 44032: 0x98BA, - 49356 - 44032: 0xBBF7, - 49357 - 44032: 0x98BB, - 49358 - 44032: 0x98BC, - 49359 - 44032: 0x98BD, - 49360 - 44032: 0xBBF8, - 49361 - 44032: 0x98BE, - 49362 - 44032: 0x98BF, - 49363 - 44032: 0x98C0, - 49364 - 44032: 0x98C1, - 49365 - 44032: 0x98C2, - 49366 - 44032: 0x98C3, - 49367 - 44032: 0x98C4, - 49368 - 44032: 0xBBF9, - 49369 - 44032: 0xBBFA, - 49370 - 44032: 0x98C5, - 49371 - 44032: 0xBBFB, - 49372 - 44032: 0xBBFC, - 49373 - 44032: 0xBBFD, - 49374 - 44032: 0x98C6, - 49375 - 44032: 0x98C7, - 49376 - 44032: 0x98C8, - 49377 - 44032: 0x98C9, - 49378 - 44032: 0x98CA, - 49379 - 44032: 0x98CB, - 49380 - 44032: 0xBBFE, - 49381 - 44032: 0xBCA1, - 49382 - 44032: 0x98CC, - 49383 - 44032: 0x98CD, - 49384 - 44032: 0xBCA2, - 49385 - 44032: 0x98CE, - 49386 - 44032: 0x98CF, - 49387 - 44032: 0x98D0, - 49388 - 44032: 0xBCA3, - 49389 - 44032: 0x98D1, - 49390 - 44032: 0x98D2, - 49391 - 44032: 0x98D3, - 49392 - 44032: 0x98D4, - 49393 - 44032: 0x98D5, - 49394 - 44032: 0x98D6, - 49395 - 44032: 0x98D7, - 49396 - 44032: 0xBCA4, - 49397 - 44032: 0xBCA5, - 49398 - 44032: 0x98D8, - 49399 - 44032: 0xBCA6, - 49400 - 44032: 0x98D9, - 49401 - 44032: 0xBCA7, - 49402 - 44032: 0x98DA, - 49403 - 44032: 0x98DB, - 49404 - 44032: 0x98DC, - 49405 - 44032: 0x98DD, - 49406 - 44032: 0x98DE, - 49407 - 44032: 0x98DF, - 49408 - 44032: 0xBCA8, - 49409 - 44032: 0x98E0, - 49410 - 44032: 0x98E1, - 49411 - 44032: 0x98E2, - 49412 - 44032: 0xBCA9, - 49413 - 44032: 0x98E3, - 49414 - 44032: 0x98E4, - 49415 - 44032: 0x98E5, - 49416 - 44032: 0xBCAA, - 49417 - 44032: 0x98E6, - 49418 - 44032: 0x98E7, - 49419 - 44032: 0x98E8, - 49420 - 44032: 0x98E9, - 49421 - 44032: 0x98EA, - 49422 - 44032: 0x98EB, - 49423 - 44032: 0x98EC, - 49424 - 44032: 0xBCAB, - 49425 - 44032: 0x98ED, - 49426 - 44032: 0x98EE, - 49427 - 44032: 0x98EF, - 49428 - 44032: 0x98F0, - 49429 - 44032: 0xBCAC, - 49430 - 44032: 0x98F1, - 49431 - 44032: 0x98F2, - 49432 - 44032: 0x98F3, - 49433 - 44032: 0x98F4, - 49434 - 44032: 0x98F5, - 49435 - 44032: 0x98F6, - 49436 - 44032: 0xBCAD, - 49437 - 44032: 0xBCAE, - 49438 - 44032: 0xBCAF, - 49439 - 44032: 0xBCB0, - 49440 - 44032: 0xBCB1, - 49441 - 44032: 0x98F7, - 49442 - 44032: 0x98F8, - 49443 - 44032: 0xBCB2, - 49444 - 44032: 0xBCB3, - 49445 - 44032: 0x98F9, - 49446 - 44032: 0xBCB4, - 49447 - 44032: 0xBCB5, - 49448 - 44032: 0x98FA, - 49449 - 44032: 0x98FB, - 49450 - 44032: 0x98FC, - 49451 - 44032: 0x98FD, - 49452 - 44032: 0xBCB6, - 49453 - 44032: 0xBCB7, - 49454 - 44032: 0x98FE, - 49455 - 44032: 0xBCB8, - 49456 - 44032: 0xBCB9, - 49457 - 44032: 0xBCBA, - 49458 - 44032: 0x9941, - 49459 - 44032: 0x9942, - 49460 - 44032: 0x9943, - 49461 - 44032: 0x9944, - 49462 - 44032: 0xBCBB, - 49463 - 44032: 0x9945, - 49464 - 44032: 0xBCBC, - 49465 - 44032: 0xBCBD, - 49466 - 44032: 0x9946, - 49467 - 44032: 0x9947, - 49468 - 44032: 0xBCBE, - 49469 - 44032: 0x9948, - 49470 - 44032: 0x9949, - 49471 - 44032: 0x994A, - 49472 - 44032: 0xBCBF, - 49473 - 44032: 0x994B, - 49474 - 44032: 0x994C, - 49475 - 44032: 0x994D, - 49476 - 44032: 0x994E, - 49477 - 44032: 0x994F, - 49478 - 44032: 0x9950, - 49479 - 44032: 0x9951, - 49480 - 44032: 0xBCC0, - 49481 - 44032: 0xBCC1, - 49482 - 44032: 0x9952, - 49483 - 44032: 0xBCC2, - 49484 - 44032: 0xBCC3, - 49485 - 44032: 0xBCC4, - 49486 - 44032: 0x9953, - 49487 - 44032: 0x9954, - 49488 - 44032: 0x9955, - 49489 - 44032: 0x9956, - 49490 - 44032: 0x9957, - 49491 - 44032: 0x9958, - 49492 - 44032: 0xBCC5, - 49493 - 44032: 0xBCC6, - 49494 - 44032: 0x9959, - 49495 - 44032: 0x995A, - 49496 - 44032: 0xBCC7, - 49497 - 44032: 0x9961, - 49498 - 44032: 0x9962, - 49499 - 44032: 0x9963, - 49500 - 44032: 0xBCC8, - 49501 - 44032: 0x9964, - 49502 - 44032: 0x9965, - 49503 - 44032: 0x9966, - 49504 - 44032: 0x9967, - 49505 - 44032: 0x9968, - 49506 - 44032: 0x9969, - 49507 - 44032: 0x996A, - 49508 - 44032: 0xBCC9, - 49509 - 44032: 0xBCCA, - 49510 - 44032: 0x996B, - 49511 - 44032: 0xBCCB, - 49512 - 44032: 0xBCCC, - 49513 - 44032: 0xBCCD, - 49514 - 44032: 0x996C, - 49515 - 44032: 0x996D, - 49516 - 44032: 0x996E, - 49517 - 44032: 0x996F, - 49518 - 44032: 0x9970, - 49519 - 44032: 0x9971, - 49520 - 44032: 0xBCCE, - 49521 - 44032: 0x9972, - 49522 - 44032: 0x9973, - 49523 - 44032: 0x9974, - 49524 - 44032: 0xBCCF, - 49525 - 44032: 0x9975, - 49526 - 44032: 0x9976, - 49527 - 44032: 0x9977, - 49528 - 44032: 0xBCD0, - 49529 - 44032: 0x9978, - 49530 - 44032: 0x9979, - 49531 - 44032: 0x997A, - 49532 - 44032: 0x9981, - 49533 - 44032: 0x9982, - 49534 - 44032: 0x9983, - 49535 - 44032: 0x9984, - 49536 - 44032: 0x9985, - 49537 - 44032: 0x9986, - 49538 - 44032: 0x9987, - 49539 - 44032: 0x9988, - 49540 - 44032: 0x9989, - 49541 - 44032: 0xBCD1, - 49542 - 44032: 0x998A, - 49543 - 44032: 0x998B, - 49544 - 44032: 0x998C, - 49545 - 44032: 0x998D, - 49546 - 44032: 0x998E, - 49547 - 44032: 0x998F, - 49548 - 44032: 0xBCD2, - 49549 - 44032: 0xBCD3, - 49550 - 44032: 0xBCD4, - 49551 - 44032: 0x9990, - 49552 - 44032: 0xBCD5, - 49553 - 44032: 0x9991, - 49554 - 44032: 0x9992, - 49555 - 44032: 0x9993, - 49556 - 44032: 0xBCD6, - 49557 - 44032: 0x9994, - 49558 - 44032: 0xBCD7, - 49559 - 44032: 0x9995, - 49560 - 44032: 0x9996, - 49561 - 44032: 0x9997, - 49562 - 44032: 0x9998, - 49563 - 44032: 0x9999, - 49564 - 44032: 0xBCD8, - 49565 - 44032: 0xBCD9, - 49566 - 44032: 0x999A, - 49567 - 44032: 0xBCDA, - 49568 - 44032: 0x999B, - 49569 - 44032: 0xBCDB, - 49570 - 44032: 0x999C, - 49571 - 44032: 0x999D, - 49572 - 44032: 0x999E, - 49573 - 44032: 0xBCDC, - 49574 - 44032: 0x999F, - 49575 - 44032: 0x99A0, - 49576 - 44032: 0xBCDD, - 49577 - 44032: 0xBCDE, - 49578 - 44032: 0x99A1, - 49579 - 44032: 0x99A2, - 49580 - 44032: 0xBCDF, - 49581 - 44032: 0x99A3, - 49582 - 44032: 0x99A4, - 49583 - 44032: 0x99A5, - 49584 - 44032: 0xBCE0, - 49585 - 44032: 0x99A6, - 49586 - 44032: 0x99A7, - 49587 - 44032: 0x99A8, - 49588 - 44032: 0x99A9, - 49589 - 44032: 0x99AA, - 49590 - 44032: 0x99AB, - 49591 - 44032: 0x99AC, - 49592 - 44032: 0x99AD, - 49593 - 44032: 0x99AE, - 49594 - 44032: 0x99AF, - 49595 - 44032: 0x99B0, - 49596 - 44032: 0x99B1, - 49597 - 44032: 0xBCE1, - 49598 - 44032: 0x99B2, - 49599 - 44032: 0x99B3, - 49600 - 44032: 0x99B4, - 49601 - 44032: 0x99B5, - 49602 - 44032: 0x99B6, - 49603 - 44032: 0x99B7, - 49604 - 44032: 0xBCE2, - 49605 - 44032: 0x99B8, - 49606 - 44032: 0x99B9, - 49607 - 44032: 0x99BA, - 49608 - 44032: 0xBCE3, - 49609 - 44032: 0x99BB, - 49610 - 44032: 0x99BC, - 49611 - 44032: 0x99BD, - 49612 - 44032: 0xBCE4, - 49613 - 44032: 0x99BE, - 49614 - 44032: 0x99BF, - 49615 - 44032: 0x99C0, - 49616 - 44032: 0x99C1, - 49617 - 44032: 0x99C2, - 49618 - 44032: 0x99C3, - 49619 - 44032: 0x99C4, - 49620 - 44032: 0xBCE5, - 49621 - 44032: 0x99C5, - 49622 - 44032: 0x99C6, - 49623 - 44032: 0xBCE6, - 49624 - 44032: 0xBCE7, - 49625 - 44032: 0x99C7, - 49626 - 44032: 0x99C8, - 49627 - 44032: 0x99C9, - 49628 - 44032: 0x99CA, - 49629 - 44032: 0x99CB, - 49630 - 44032: 0x99CC, - 49631 - 44032: 0x99CD, - 49632 - 44032: 0xBCE8, - 49633 - 44032: 0x99CE, - 49634 - 44032: 0x99CF, - 49635 - 44032: 0x99D0, - 49636 - 44032: 0xBCE9, - 49637 - 44032: 0x99D1, - 49638 - 44032: 0x99D2, - 49639 - 44032: 0x99D3, - 49640 - 44032: 0xBCEA, - 49641 - 44032: 0x99D4, - 49642 - 44032: 0x99D5, - 49643 - 44032: 0x99D6, - 49644 - 44032: 0x99D7, - 49645 - 44032: 0x99D8, - 49646 - 44032: 0x99D9, - 49647 - 44032: 0x99DA, - 49648 - 44032: 0xBCEB, - 49649 - 44032: 0xBCEC, - 49650 - 44032: 0x99DB, - 49651 - 44032: 0xBCED, - 49652 - 44032: 0x99DC, - 49653 - 44032: 0x99DD, - 49654 - 44032: 0x99DE, - 49655 - 44032: 0x99DF, - 49656 - 44032: 0x99E0, - 49657 - 44032: 0x99E1, - 49658 - 44032: 0x99E2, - 49659 - 44032: 0x99E3, - 49660 - 44032: 0xBCEE, - 49661 - 44032: 0xBCEF, - 49662 - 44032: 0x99E4, - 49663 - 44032: 0x99E5, - 49664 - 44032: 0xBCF0, - 49665 - 44032: 0x99E6, - 49666 - 44032: 0x99E7, - 49667 - 44032: 0x99E8, - 49668 - 44032: 0xBCF1, - 49669 - 44032: 0x99E9, - 49670 - 44032: 0x99EA, - 49671 - 44032: 0x99EB, - 49672 - 44032: 0x99EC, - 49673 - 44032: 0x99ED, - 49674 - 44032: 0x99EE, - 49675 - 44032: 0x99EF, - 49676 - 44032: 0xBCF2, - 49677 - 44032: 0xBCF3, - 49678 - 44032: 0x99F0, - 49679 - 44032: 0xBCF4, - 49680 - 44032: 0x99F1, - 49681 - 44032: 0xBCF5, - 49682 - 44032: 0x99F2, - 49683 - 44032: 0x99F3, - 49684 - 44032: 0x99F4, - 49685 - 44032: 0x99F5, - 49686 - 44032: 0x99F6, - 49687 - 44032: 0x99F7, - 49688 - 44032: 0xBCF6, - 49689 - 44032: 0xBCF7, - 49690 - 44032: 0x99F8, - 49691 - 44032: 0x99F9, - 49692 - 44032: 0xBCF8, - 49693 - 44032: 0x99FA, - 49694 - 44032: 0x99FB, - 49695 - 44032: 0xBCF9, - 49696 - 44032: 0xBCFA, - 49697 - 44032: 0x99FC, - 49698 - 44032: 0x99FD, - 49699 - 44032: 0x99FE, - 49700 - 44032: 0x9A41, - 49701 - 44032: 0x9A42, - 49702 - 44032: 0x9A43, - 49703 - 44032: 0x9A44, - 49704 - 44032: 0xBCFB, - 49705 - 44032: 0xBCFC, - 49706 - 44032: 0x9A45, - 49707 - 44032: 0xBCFD, - 49708 - 44032: 0x9A46, - 49709 - 44032: 0xBCFE, - 49710 - 44032: 0x9A47, - 49711 - 44032: 0xBDA1, - 49712 - 44032: 0x9A48, - 49713 - 44032: 0xBDA2, - 49714 - 44032: 0xBDA3, - 49715 - 44032: 0x9A49, - 49716 - 44032: 0xBDA4, - 49717 - 44032: 0x9A4A, - 49718 - 44032: 0x9A4B, - 49719 - 44032: 0x9A4C, - 49720 - 44032: 0x9A4D, - 49721 - 44032: 0x9A4E, - 49722 - 44032: 0x9A4F, - 49723 - 44032: 0x9A50, - 49724 - 44032: 0x9A51, - 49725 - 44032: 0x9A52, - 49726 - 44032: 0x9A53, - 49727 - 44032: 0x9A54, - 49728 - 44032: 0x9A55, - 49729 - 44032: 0x9A56, - 49730 - 44032: 0x9A57, - 49731 - 44032: 0x9A58, - 49732 - 44032: 0x9A59, - 49733 - 44032: 0x9A5A, - 49734 - 44032: 0x9A61, - 49735 - 44032: 0x9A62, - 49736 - 44032: 0xBDA5, - 49737 - 44032: 0x9A63, - 49738 - 44032: 0x9A64, - 49739 - 44032: 0x9A65, - 49740 - 44032: 0x9A66, - 49741 - 44032: 0x9A67, - 49742 - 44032: 0x9A68, - 49743 - 44032: 0x9A69, - 49744 - 44032: 0xBDA6, - 49745 - 44032: 0xBDA7, - 49746 - 44032: 0x9A6A, - 49747 - 44032: 0x9A6B, - 49748 - 44032: 0xBDA8, - 49749 - 44032: 0x9A6C, - 49750 - 44032: 0x9A6D, - 49751 - 44032: 0x9A6E, - 49752 - 44032: 0xBDA9, - 49753 - 44032: 0x9A6F, - 49754 - 44032: 0x9A70, - 49755 - 44032: 0x9A71, - 49756 - 44032: 0x9A72, - 49757 - 44032: 0x9A73, - 49758 - 44032: 0x9A74, - 49759 - 44032: 0x9A75, - 49760 - 44032: 0xBDAA, - 49761 - 44032: 0x9A76, - 49762 - 44032: 0x9A77, - 49763 - 44032: 0x9A78, - 49764 - 44032: 0x9A79, - 49765 - 44032: 0xBDAB, - 49766 - 44032: 0x9A7A, - 49767 - 44032: 0x9A81, - 49768 - 44032: 0x9A82, - 49769 - 44032: 0x9A83, - 49770 - 44032: 0x9A84, - 49771 - 44032: 0x9A85, - 49772 - 44032: 0xBDAC, - 49773 - 44032: 0xBDAD, - 49774 - 44032: 0x9A86, - 49775 - 44032: 0x9A87, - 49776 - 44032: 0xBDAE, - 49777 - 44032: 0x9A88, - 49778 - 44032: 0x9A89, - 49779 - 44032: 0x9A8A, - 49780 - 44032: 0xBDAF, - 49781 - 44032: 0x9A8B, - 49782 - 44032: 0x9A8C, - 49783 - 44032: 0x9A8D, - 49784 - 44032: 0x9A8E, - 49785 - 44032: 0x9A8F, - 49786 - 44032: 0x9A90, - 49787 - 44032: 0x9A91, - 49788 - 44032: 0xBDB0, - 49789 - 44032: 0xBDB1, - 49790 - 44032: 0x9A92, - 49791 - 44032: 0xBDB2, - 49792 - 44032: 0x9A93, - 49793 - 44032: 0xBDB3, - 49794 - 44032: 0x9A94, - 49795 - 44032: 0x9A95, - 49796 - 44032: 0x9A96, - 49797 - 44032: 0x9A97, - 49798 - 44032: 0x9A98, - 49799 - 44032: 0x9A99, - 49800 - 44032: 0xBDB4, - 49801 - 44032: 0xBDB5, - 49802 - 44032: 0x9A9A, - 49803 - 44032: 0x9A9B, - 49804 - 44032: 0x9A9C, - 49805 - 44032: 0x9A9D, - 49806 - 44032: 0x9A9E, - 49807 - 44032: 0x9A9F, - 49808 - 44032: 0xBDB6, - 49809 - 44032: 0x9AA0, - 49810 - 44032: 0x9AA1, - 49811 - 44032: 0x9AA2, - 49812 - 44032: 0x9AA3, - 49813 - 44032: 0x9AA4, - 49814 - 44032: 0x9AA5, - 49815 - 44032: 0x9AA6, - 49816 - 44032: 0xBDB7, - 49817 - 44032: 0x9AA7, - 49818 - 44032: 0x9AA8, - 49819 - 44032: 0xBDB8, - 49820 - 44032: 0x9AA9, - 49821 - 44032: 0xBDB9, - 49822 - 44032: 0x9AAA, - 49823 - 44032: 0x9AAB, - 49824 - 44032: 0x9AAC, - 49825 - 44032: 0x9AAD, - 49826 - 44032: 0x9AAE, - 49827 - 44032: 0x9AAF, - 49828 - 44032: 0xBDBA, - 49829 - 44032: 0xBDBB, - 49830 - 44032: 0x9AB0, - 49831 - 44032: 0x9AB1, - 49832 - 44032: 0xBDBC, - 49833 - 44032: 0x9AB2, - 49834 - 44032: 0x9AB3, - 49835 - 44032: 0x9AB4, - 49836 - 44032: 0xBDBD, - 49837 - 44032: 0xBDBE, - 49838 - 44032: 0x9AB5, - 49839 - 44032: 0x9AB6, - 49840 - 44032: 0x9AB7, - 49841 - 44032: 0x9AB8, - 49842 - 44032: 0x9AB9, - 49843 - 44032: 0x9ABA, - 49844 - 44032: 0xBDBF, - 49845 - 44032: 0xBDC0, - 49846 - 44032: 0x9ABB, - 49847 - 44032: 0xBDC1, - 49848 - 44032: 0x9ABC, - 49849 - 44032: 0xBDC2, - 49850 - 44032: 0x9ABD, - 49851 - 44032: 0x9ABE, - 49852 - 44032: 0x9ABF, - 49853 - 44032: 0x9AC0, - 49854 - 44032: 0x9AC1, - 49855 - 44032: 0x9AC2, - 49856 - 44032: 0x9AC3, - 49857 - 44032: 0x9AC4, - 49858 - 44032: 0x9AC5, - 49859 - 44032: 0x9AC6, - 49860 - 44032: 0x9AC7, - 49861 - 44032: 0x9AC8, - 49862 - 44032: 0x9AC9, - 49863 - 44032: 0x9ACA, - 49864 - 44032: 0x9ACB, - 49865 - 44032: 0x9ACC, - 49866 - 44032: 0x9ACD, - 49867 - 44032: 0x9ACE, - 49868 - 44032: 0x9ACF, - 49869 - 44032: 0x9AD0, - 49870 - 44032: 0x9AD1, - 49871 - 44032: 0x9AD2, - 49872 - 44032: 0x9AD3, - 49873 - 44032: 0x9AD4, - 49874 - 44032: 0x9AD5, - 49875 - 44032: 0x9AD6, - 49876 - 44032: 0x9AD7, - 49877 - 44032: 0x9AD8, - 49878 - 44032: 0x9AD9, - 49879 - 44032: 0x9ADA, - 49880 - 44032: 0x9ADB, - 49881 - 44032: 0x9ADC, - 49882 - 44032: 0x9ADD, - 49883 - 44032: 0x9ADE, - 49884 - 44032: 0xBDC3, - 49885 - 44032: 0xBDC4, - 49886 - 44032: 0x9ADF, - 49887 - 44032: 0x9AE0, - 49888 - 44032: 0xBDC5, - 49889 - 44032: 0x9AE1, - 49890 - 44032: 0x9AE2, - 49891 - 44032: 0xBDC6, - 49892 - 44032: 0xBDC7, - 49893 - 44032: 0x9AE3, - 49894 - 44032: 0x9AE4, - 49895 - 44032: 0x9AE5, - 49896 - 44032: 0x9AE6, - 49897 - 44032: 0x9AE7, - 49898 - 44032: 0x9AE8, - 49899 - 44032: 0xBDC8, - 49900 - 44032: 0xBDC9, - 49901 - 44032: 0xBDCA, - 49902 - 44032: 0x9AE9, - 49903 - 44032: 0xBDCB, - 49904 - 44032: 0x9AEA, - 49905 - 44032: 0xBDCC, - 49906 - 44032: 0x9AEB, - 49907 - 44032: 0x9AEC, - 49908 - 44032: 0x9AED, - 49909 - 44032: 0x9AEE, - 49910 - 44032: 0xBDCD, - 49911 - 44032: 0x9AEF, - 49912 - 44032: 0xBDCE, - 49913 - 44032: 0xBDCF, - 49914 - 44032: 0x9AF0, - 49915 - 44032: 0xBDD0, - 49916 - 44032: 0xBDD1, - 49917 - 44032: 0x9AF1, - 49918 - 44032: 0x9AF2, - 49919 - 44032: 0x9AF3, - 49920 - 44032: 0xBDD2, - 49921 - 44032: 0x9AF4, - 49922 - 44032: 0x9AF5, - 49923 - 44032: 0x9AF6, - 49924 - 44032: 0x9AF7, - 49925 - 44032: 0x9AF8, - 49926 - 44032: 0x9AF9, - 49927 - 44032: 0x9AFA, - 49928 - 44032: 0xBDD3, - 49929 - 44032: 0xBDD4, - 49930 - 44032: 0x9AFB, - 49931 - 44032: 0x9AFC, - 49932 - 44032: 0xBDD5, - 49933 - 44032: 0xBDD6, - 49934 - 44032: 0x9AFD, - 49935 - 44032: 0x9AFE, - 49936 - 44032: 0x9B41, - 49937 - 44032: 0x9B42, - 49938 - 44032: 0x9B43, - 49939 - 44032: 0xBDD7, - 49940 - 44032: 0xBDD8, - 49941 - 44032: 0xBDD9, - 49942 - 44032: 0x9B44, - 49943 - 44032: 0x9B45, - 49944 - 44032: 0xBDDA, - 49945 - 44032: 0x9B46, - 49946 - 44032: 0x9B47, - 49947 - 44032: 0x9B48, - 49948 - 44032: 0xBDDB, - 49949 - 44032: 0x9B49, - 49950 - 44032: 0x9B4A, - 49951 - 44032: 0x9B4B, - 49952 - 44032: 0x9B4C, - 49953 - 44032: 0x9B4D, - 49954 - 44032: 0x9B4E, - 49955 - 44032: 0x9B4F, - 49956 - 44032: 0xBDDC, - 49957 - 44032: 0xBDDD, - 49958 - 44032: 0x9B50, - 49959 - 44032: 0x9B51, - 49960 - 44032: 0xBDDE, - 49961 - 44032: 0xBDDF, - 49962 - 44032: 0x9B52, - 49963 - 44032: 0x9B53, - 49964 - 44032: 0x9B54, - 49965 - 44032: 0x9B55, - 49966 - 44032: 0x9B56, - 49967 - 44032: 0x9B57, - 49968 - 44032: 0x9B58, - 49969 - 44032: 0x9B59, - 49970 - 44032: 0x9B5A, - 49971 - 44032: 0x9B61, - 49972 - 44032: 0x9B62, - 49973 - 44032: 0x9B63, - 49974 - 44032: 0x9B64, - 49975 - 44032: 0x9B65, - 49976 - 44032: 0x9B66, - 49977 - 44032: 0x9B67, - 49978 - 44032: 0x9B68, - 49979 - 44032: 0x9B69, - 49980 - 44032: 0x9B6A, - 49981 - 44032: 0x9B6B, - 49982 - 44032: 0x9B6C, - 49983 - 44032: 0x9B6D, - 49984 - 44032: 0x9B6E, - 49985 - 44032: 0x9B6F, - 49986 - 44032: 0x9B70, - 49987 - 44032: 0x9B71, - 49988 - 44032: 0x9B72, - 49989 - 44032: 0xBDE0, - 49990 - 44032: 0x9B73, - 49991 - 44032: 0x9B74, - 49992 - 44032: 0x9B75, - 49993 - 44032: 0x9B76, - 49994 - 44032: 0x9B77, - 49995 - 44032: 0x9B78, - 49996 - 44032: 0x9B79, - 49997 - 44032: 0x9B7A, - 49998 - 44032: 0x9B81, - 49999 - 44032: 0x9B82, - 50000 - 44032: 0x9B83, - 50001 - 44032: 0x9B84, - 50002 - 44032: 0x9B85, - 50003 - 44032: 0x9B86, - 50004 - 44032: 0x9B87, - 50005 - 44032: 0x9B88, - 50006 - 44032: 0x9B89, - 50007 - 44032: 0x9B8A, - 50008 - 44032: 0x9B8B, - 50009 - 44032: 0x9B8C, - 50010 - 44032: 0x9B8D, - 50011 - 44032: 0x9B8E, - 50012 - 44032: 0x9B8F, - 50013 - 44032: 0x9B90, - 50014 - 44032: 0x9B91, - 50015 - 44032: 0x9B92, - 50016 - 44032: 0x9B93, - 50017 - 44032: 0x9B94, - 50018 - 44032: 0x9B95, - 50019 - 44032: 0x9B96, - 50020 - 44032: 0x9B97, - 50021 - 44032: 0x9B98, - 50022 - 44032: 0x9B99, - 50023 - 44032: 0x9B9A, - 50024 - 44032: 0xBDE1, - 50025 - 44032: 0xBDE2, - 50026 - 44032: 0x9B9B, - 50027 - 44032: 0x9B9C, - 50028 - 44032: 0xBDE3, - 50029 - 44032: 0x9B9D, - 50030 - 44032: 0x9B9E, - 50031 - 44032: 0x9B9F, - 50032 - 44032: 0xBDE4, - 50033 - 44032: 0x9BA0, - 50034 - 44032: 0xBDE5, - 50035 - 44032: 0x9BA1, - 50036 - 44032: 0x9BA2, - 50037 - 44032: 0x9BA3, - 50038 - 44032: 0x9BA4, - 50039 - 44032: 0x9BA5, - 50040 - 44032: 0xBDE6, - 50041 - 44032: 0xBDE7, - 50042 - 44032: 0x9BA6, - 50043 - 44032: 0x9BA7, - 50044 - 44032: 0xBDE8, - 50045 - 44032: 0xBDE9, - 50046 - 44032: 0x9BA8, - 50047 - 44032: 0x9BA9, - 50048 - 44032: 0x9BAA, - 50049 - 44032: 0x9BAB, - 50050 - 44032: 0x9BAC, - 50051 - 44032: 0x9BAD, - 50052 - 44032: 0xBDEA, - 50053 - 44032: 0x9BAE, - 50054 - 44032: 0x9BAF, - 50055 - 44032: 0x9BB0, - 50056 - 44032: 0xBDEB, - 50057 - 44032: 0x9BB1, - 50058 - 44032: 0x9BB2, - 50059 - 44032: 0x9BB3, - 50060 - 44032: 0xBDEC, - 50061 - 44032: 0x9BB4, - 50062 - 44032: 0x9BB5, - 50063 - 44032: 0x9BB6, - 50064 - 44032: 0x9BB7, - 50065 - 44032: 0x9BB8, - 50066 - 44032: 0x9BB9, - 50067 - 44032: 0x9BBA, - 50068 - 44032: 0x9BBB, - 50069 - 44032: 0x9BBC, - 50070 - 44032: 0x9BBD, - 50071 - 44032: 0x9BBE, - 50072 - 44032: 0x9BBF, - 50073 - 44032: 0x9BC0, - 50074 - 44032: 0x9BC1, - 50075 - 44032: 0x9BC2, - 50076 - 44032: 0x9BC3, - 50077 - 44032: 0x9BC4, - 50078 - 44032: 0x9BC5, - 50079 - 44032: 0x9BC6, - 50080 - 44032: 0x9BC7, - 50081 - 44032: 0x9BC8, - 50082 - 44032: 0x9BC9, - 50083 - 44032: 0x9BCA, - 50084 - 44032: 0x9BCB, - 50085 - 44032: 0x9BCC, - 50086 - 44032: 0x9BCD, - 50087 - 44032: 0x9BCE, - 50088 - 44032: 0x9BCF, - 50089 - 44032: 0x9BD0, - 50090 - 44032: 0x9BD1, - 50091 - 44032: 0x9BD2, - 50092 - 44032: 0x9BD3, - 50093 - 44032: 0x9BD4, - 50094 - 44032: 0x9BD5, - 50095 - 44032: 0x9BD6, - 50096 - 44032: 0x9BD7, - 50097 - 44032: 0x9BD8, - 50098 - 44032: 0x9BD9, - 50099 - 44032: 0x9BDA, - 50100 - 44032: 0x9BDB, - 50101 - 44032: 0x9BDC, - 50102 - 44032: 0x9BDD, - 50103 - 44032: 0x9BDE, - 50104 - 44032: 0x9BDF, - 50105 - 44032: 0x9BE0, - 50106 - 44032: 0x9BE1, - 50107 - 44032: 0x9BE2, - 50108 - 44032: 0x9BE3, - 50109 - 44032: 0x9BE4, - 50110 - 44032: 0x9BE5, - 50111 - 44032: 0x9BE6, - 50112 - 44032: 0xBDED, - 50113 - 44032: 0x9BE7, - 50114 - 44032: 0x9BE8, - 50115 - 44032: 0x9BE9, - 50116 - 44032: 0x9BEA, - 50117 - 44032: 0x9BEB, - 50118 - 44032: 0x9BEC, - 50119 - 44032: 0x9BED, - 50120 - 44032: 0x9BEE, - 50121 - 44032: 0x9BEF, - 50122 - 44032: 0x9BF0, - 50123 - 44032: 0x9BF1, - 50124 - 44032: 0x9BF2, - 50125 - 44032: 0x9BF3, - 50126 - 44032: 0x9BF4, - 50127 - 44032: 0x9BF5, - 50128 - 44032: 0x9BF6, - 50129 - 44032: 0x9BF7, - 50130 - 44032: 0x9BF8, - 50131 - 44032: 0x9BF9, - 50132 - 44032: 0x9BFA, - 50133 - 44032: 0x9BFB, - 50134 - 44032: 0x9BFC, - 50135 - 44032: 0x9BFD, - 50136 - 44032: 0xBDEE, - 50137 - 44032: 0xBDEF, - 50138 - 44032: 0x9BFE, - 50139 - 44032: 0x9C41, - 50140 - 44032: 0xBDF0, - 50141 - 44032: 0x9C42, - 50142 - 44032: 0x9C43, - 50143 - 44032: 0xBDF1, - 50144 - 44032: 0xBDF2, - 50145 - 44032: 0x9C44, - 50146 - 44032: 0xBDF3, - 50147 - 44032: 0x9C45, - 50148 - 44032: 0x9C46, - 50149 - 44032: 0x9C47, - 50150 - 44032: 0x9C48, - 50151 - 44032: 0x9C49, - 50152 - 44032: 0xBDF4, - 50153 - 44032: 0xBDF5, - 50154 - 44032: 0x9C4A, - 50155 - 44032: 0x9C4B, - 50156 - 44032: 0x9C4C, - 50157 - 44032: 0xBDF6, - 50158 - 44032: 0x9C4D, - 50159 - 44032: 0x9C4E, - 50160 - 44032: 0x9C4F, - 50161 - 44032: 0x9C50, - 50162 - 44032: 0x9C51, - 50163 - 44032: 0x9C52, - 50164 - 44032: 0xBDF7, - 50165 - 44032: 0xBDF8, - 50166 - 44032: 0x9C53, - 50167 - 44032: 0x9C54, - 50168 - 44032: 0xBDF9, - 50169 - 44032: 0x9C55, - 50170 - 44032: 0x9C56, - 50171 - 44032: 0x9C57, - 50172 - 44032: 0x9C58, - 50173 - 44032: 0x9C59, - 50174 - 44032: 0x9C5A, - 50175 - 44032: 0x9C61, - 50176 - 44032: 0x9C62, - 50177 - 44032: 0x9C63, - 50178 - 44032: 0x9C64, - 50179 - 44032: 0x9C65, - 50180 - 44032: 0x9C66, - 50181 - 44032: 0x9C67, - 50182 - 44032: 0x9C68, - 50183 - 44032: 0x9C69, - 50184 - 44032: 0xBDFA, - 50185 - 44032: 0x9C6A, - 50186 - 44032: 0x9C6B, - 50187 - 44032: 0x9C6C, - 50188 - 44032: 0x9C6D, - 50189 - 44032: 0x9C6E, - 50190 - 44032: 0x9C6F, - 50191 - 44032: 0x9C70, - 50192 - 44032: 0xBDFB, - 50193 - 44032: 0x9C71, - 50194 - 44032: 0x9C72, - 50195 - 44032: 0x9C73, - 50196 - 44032: 0x9C74, - 50197 - 44032: 0x9C75, - 50198 - 44032: 0x9C76, - 50199 - 44032: 0x9C77, - 50200 - 44032: 0x9C78, - 50201 - 44032: 0x9C79, - 50202 - 44032: 0x9C7A, - 50203 - 44032: 0x9C81, - 50204 - 44032: 0x9C82, - 50205 - 44032: 0x9C83, - 50206 - 44032: 0x9C84, - 50207 - 44032: 0x9C85, - 50208 - 44032: 0x9C86, - 50209 - 44032: 0x9C87, - 50210 - 44032: 0x9C88, - 50211 - 44032: 0x9C89, - 50212 - 44032: 0xBDFC, - 50213 - 44032: 0x9C8A, - 50214 - 44032: 0x9C8B, - 50215 - 44032: 0x9C8C, - 50216 - 44032: 0x9C8D, - 50217 - 44032: 0x9C8E, - 50218 - 44032: 0x9C8F, - 50219 - 44032: 0x9C90, - 50220 - 44032: 0xBDFD, - 50221 - 44032: 0x9C91, - 50222 - 44032: 0x9C92, - 50223 - 44032: 0x9C93, - 50224 - 44032: 0xBDFE, - 50225 - 44032: 0x9C94, - 50226 - 44032: 0x9C95, - 50227 - 44032: 0x9C96, - 50228 - 44032: 0xBEA1, - 50229 - 44032: 0x9C97, - 50230 - 44032: 0x9C98, - 50231 - 44032: 0x9C99, - 50232 - 44032: 0x9C9A, - 50233 - 44032: 0x9C9B, - 50234 - 44032: 0x9C9C, - 50235 - 44032: 0x9C9D, - 50236 - 44032: 0xBEA2, - 50237 - 44032: 0xBEA3, - 50238 - 44032: 0x9C9E, - 50239 - 44032: 0x9C9F, - 50240 - 44032: 0x9CA0, - 50241 - 44032: 0x9CA1, - 50242 - 44032: 0x9CA2, - 50243 - 44032: 0x9CA3, - 50244 - 44032: 0x9CA4, - 50245 - 44032: 0x9CA5, - 50246 - 44032: 0x9CA6, - 50247 - 44032: 0x9CA7, - 50248 - 44032: 0xBEA4, - 50249 - 44032: 0x9CA8, - 50250 - 44032: 0x9CA9, - 50251 - 44032: 0x9CAA, - 50252 - 44032: 0x9CAB, - 50253 - 44032: 0x9CAC, - 50254 - 44032: 0x9CAD, - 50255 - 44032: 0x9CAE, - 50256 - 44032: 0x9CAF, - 50257 - 44032: 0x9CB0, - 50258 - 44032: 0x9CB1, - 50259 - 44032: 0x9CB2, - 50260 - 44032: 0x9CB3, - 50261 - 44032: 0x9CB4, - 50262 - 44032: 0x9CB5, - 50263 - 44032: 0x9CB6, - 50264 - 44032: 0x9CB7, - 50265 - 44032: 0x9CB8, - 50266 - 44032: 0x9CB9, - 50267 - 44032: 0x9CBA, - 50268 - 44032: 0x9CBB, - 50269 - 44032: 0x9CBC, - 50270 - 44032: 0x9CBD, - 50271 - 44032: 0x9CBE, - 50272 - 44032: 0x9CBF, - 50273 - 44032: 0x9CC0, - 50274 - 44032: 0x9CC1, - 50275 - 44032: 0x9CC2, - 50276 - 44032: 0xBEA5, - 50277 - 44032: 0xBEA6, - 50278 - 44032: 0x9CC3, - 50279 - 44032: 0x9CC4, - 50280 - 44032: 0xBEA7, - 50281 - 44032: 0x9CC5, - 50282 - 44032: 0x9CC6, - 50283 - 44032: 0x9CC7, - 50284 - 44032: 0xBEA8, - 50285 - 44032: 0x9CC8, - 50286 - 44032: 0x9CC9, - 50287 - 44032: 0x9CCA, - 50288 - 44032: 0x9CCB, - 50289 - 44032: 0x9CCC, - 50290 - 44032: 0x9CCD, - 50291 - 44032: 0x9CCE, - 50292 - 44032: 0xBEA9, - 50293 - 44032: 0xBEAA, - 50294 - 44032: 0x9CCF, - 50295 - 44032: 0x9CD0, - 50296 - 44032: 0x9CD1, - 50297 - 44032: 0xBEAB, - 50298 - 44032: 0x9CD2, - 50299 - 44032: 0x9CD3, - 50300 - 44032: 0x9CD4, - 50301 - 44032: 0x9CD5, - 50302 - 44032: 0x9CD6, - 50303 - 44032: 0x9CD7, - 50304 - 44032: 0xBEAC, - 50305 - 44032: 0x9CD8, - 50306 - 44032: 0x9CD9, - 50307 - 44032: 0x9CDA, - 50308 - 44032: 0x9CDB, - 50309 - 44032: 0x9CDC, - 50310 - 44032: 0x9CDD, - 50311 - 44032: 0x9CDE, - 50312 - 44032: 0x9CDF, - 50313 - 44032: 0x9CE0, - 50314 - 44032: 0x9CE1, - 50315 - 44032: 0x9CE2, - 50316 - 44032: 0x9CE3, - 50317 - 44032: 0x9CE4, - 50318 - 44032: 0x9CE5, - 50319 - 44032: 0x9CE6, - 50320 - 44032: 0x9CE7, - 50321 - 44032: 0x9CE8, - 50322 - 44032: 0x9CE9, - 50323 - 44032: 0x9CEA, - 50324 - 44032: 0xBEAD, - 50325 - 44032: 0x9CEB, - 50326 - 44032: 0x9CEC, - 50327 - 44032: 0x9CED, - 50328 - 44032: 0x9CEE, - 50329 - 44032: 0x9CEF, - 50330 - 44032: 0x9CF0, - 50331 - 44032: 0x9CF1, - 50332 - 44032: 0xBEAE, - 50333 - 44032: 0x9CF2, - 50334 - 44032: 0x9CF3, - 50335 - 44032: 0x9CF4, - 50336 - 44032: 0x9CF5, - 50337 - 44032: 0x9CF6, - 50338 - 44032: 0x9CF7, - 50339 - 44032: 0x9CF8, - 50340 - 44032: 0x9CF9, - 50341 - 44032: 0x9CFA, - 50342 - 44032: 0x9CFB, - 50343 - 44032: 0x9CFC, - 50344 - 44032: 0x9CFD, - 50345 - 44032: 0x9CFE, - 50346 - 44032: 0x9D41, - 50347 - 44032: 0x9D42, - 50348 - 44032: 0x9D43, - 50349 - 44032: 0x9D44, - 50350 - 44032: 0x9D45, - 50351 - 44032: 0x9D46, - 50352 - 44032: 0x9D47, - 50353 - 44032: 0x9D48, - 50354 - 44032: 0x9D49, - 50355 - 44032: 0x9D4A, - 50356 - 44032: 0x9D4B, - 50357 - 44032: 0x9D4C, - 50358 - 44032: 0x9D4D, - 50359 - 44032: 0x9D4E, - 50360 - 44032: 0xBEAF, - 50361 - 44032: 0x9D4F, - 50362 - 44032: 0x9D50, - 50363 - 44032: 0x9D51, - 50364 - 44032: 0xBEB0, - 50365 - 44032: 0x9D52, - 50366 - 44032: 0x9D53, - 50367 - 44032: 0x9D54, - 50368 - 44032: 0x9D55, - 50369 - 44032: 0x9D56, - 50370 - 44032: 0x9D57, - 50371 - 44032: 0x9D58, - 50372 - 44032: 0x9D59, - 50373 - 44032: 0x9D5A, - 50374 - 44032: 0x9D61, - 50375 - 44032: 0x9D62, - 50376 - 44032: 0x9D63, - 50377 - 44032: 0x9D64, - 50378 - 44032: 0x9D65, - 50379 - 44032: 0x9D66, - 50380 - 44032: 0x9D67, - 50381 - 44032: 0x9D68, - 50382 - 44032: 0x9D69, - 50383 - 44032: 0x9D6A, - 50384 - 44032: 0x9D6B, - 50385 - 44032: 0x9D6C, - 50386 - 44032: 0x9D6D, - 50387 - 44032: 0x9D6E, - 50388 - 44032: 0x9D6F, - 50389 - 44032: 0x9D70, - 50390 - 44032: 0x9D71, - 50391 - 44032: 0x9D72, - 50392 - 44032: 0x9D73, - 50393 - 44032: 0x9D74, - 50394 - 44032: 0x9D75, - 50395 - 44032: 0x9D76, - 50396 - 44032: 0x9D77, - 50397 - 44032: 0x9D78, - 50398 - 44032: 0x9D79, - 50399 - 44032: 0x9D7A, - 50400 - 44032: 0x9D81, - 50401 - 44032: 0x9D82, - 50402 - 44032: 0x9D83, - 50403 - 44032: 0x9D84, - 50404 - 44032: 0x9D85, - 50405 - 44032: 0x9D86, - 50406 - 44032: 0x9D87, - 50407 - 44032: 0x9D88, - 50408 - 44032: 0x9D89, - 50409 - 44032: 0xBEB1, - 50410 - 44032: 0x9D8A, - 50411 - 44032: 0x9D8B, - 50412 - 44032: 0x9D8C, - 50413 - 44032: 0x9D8D, - 50414 - 44032: 0x9D8E, - 50415 - 44032: 0x9D8F, - 50416 - 44032: 0xBEB2, - 50417 - 44032: 0xBEB3, - 50418 - 44032: 0x9D90, - 50419 - 44032: 0x9D91, - 50420 - 44032: 0xBEB4, - 50421 - 44032: 0x9D92, - 50422 - 44032: 0x9D93, - 50423 - 44032: 0x9D94, - 50424 - 44032: 0xBEB5, - 50425 - 44032: 0x9D95, - 50426 - 44032: 0xBEB6, - 50427 - 44032: 0x9D96, - 50428 - 44032: 0x9D97, - 50429 - 44032: 0x9D98, - 50430 - 44032: 0x9D99, - 50431 - 44032: 0xBEB7, - 50432 - 44032: 0xBEB8, - 50433 - 44032: 0xBEB9, - 50434 - 44032: 0x9D9A, - 50435 - 44032: 0x9D9B, - 50436 - 44032: 0x9D9C, - 50437 - 44032: 0x9D9D, - 50438 - 44032: 0x9D9E, - 50439 - 44032: 0x9D9F, - 50440 - 44032: 0x9DA0, - 50441 - 44032: 0x9DA1, - 50442 - 44032: 0x9DA2, - 50443 - 44032: 0x9DA3, - 50444 - 44032: 0xBEBA, - 50445 - 44032: 0x9DA4, - 50446 - 44032: 0x9DA5, - 50447 - 44032: 0x9DA6, - 50448 - 44032: 0xBEBB, - 50449 - 44032: 0x9DA7, - 50450 - 44032: 0x9DA8, - 50451 - 44032: 0x9DA9, - 50452 - 44032: 0xBEBC, - 50453 - 44032: 0x9DAA, - 50454 - 44032: 0x9DAB, - 50455 - 44032: 0x9DAC, - 50456 - 44032: 0x9DAD, - 50457 - 44032: 0x9DAE, - 50458 - 44032: 0x9DAF, - 50459 - 44032: 0x9DB0, - 50460 - 44032: 0xBEBD, - 50461 - 44032: 0x9DB1, - 50462 - 44032: 0x9DB2, - 50463 - 44032: 0x9DB3, - 50464 - 44032: 0x9DB4, - 50465 - 44032: 0x9DB5, - 50466 - 44032: 0x9DB6, - 50467 - 44032: 0x9DB7, - 50468 - 44032: 0x9DB8, - 50469 - 44032: 0x9DB9, - 50470 - 44032: 0x9DBA, - 50471 - 44032: 0x9DBB, - 50472 - 44032: 0xBEBE, - 50473 - 44032: 0xBEBF, - 50474 - 44032: 0x9DBC, - 50475 - 44032: 0x9DBD, - 50476 - 44032: 0xBEC0, - 50477 - 44032: 0x9DBE, - 50478 - 44032: 0x9DBF, - 50479 - 44032: 0x9DC0, - 50480 - 44032: 0xBEC1, - 50481 - 44032: 0x9DC1, - 50482 - 44032: 0x9DC2, - 50483 - 44032: 0x9DC3, - 50484 - 44032: 0x9DC4, - 50485 - 44032: 0x9DC5, - 50486 - 44032: 0x9DC6, - 50487 - 44032: 0x9DC7, - 50488 - 44032: 0xBEC2, - 50489 - 44032: 0xBEC3, - 50490 - 44032: 0x9DC8, - 50491 - 44032: 0xBEC4, - 50492 - 44032: 0x9DC9, - 50493 - 44032: 0xBEC5, - 50494 - 44032: 0x9DCA, - 50495 - 44032: 0x9DCB, - 50496 - 44032: 0x9DCC, - 50497 - 44032: 0x9DCD, - 50498 - 44032: 0x9DCE, - 50499 - 44032: 0x9DCF, - 50500 - 44032: 0xBEC6, - 50501 - 44032: 0xBEC7, - 50502 - 44032: 0x9DD0, - 50503 - 44032: 0x9DD1, - 50504 - 44032: 0xBEC8, - 50505 - 44032: 0xBEC9, - 50506 - 44032: 0xBECA, - 50507 - 44032: 0x9DD2, - 50508 - 44032: 0xBECB, - 50509 - 44032: 0xBECC, - 50510 - 44032: 0xBECD, - 50511 - 44032: 0x9DD3, - 50512 - 44032: 0x9DD4, - 50513 - 44032: 0x9DD5, - 50514 - 44032: 0x9DD6, - 50515 - 44032: 0xBECE, - 50516 - 44032: 0xBECF, - 50517 - 44032: 0xBED0, - 50518 - 44032: 0x9DD7, - 50519 - 44032: 0xBED1, - 50520 - 44032: 0xBED2, - 50521 - 44032: 0xBED3, - 50522 - 44032: 0x9DD8, - 50523 - 44032: 0x9DD9, - 50524 - 44032: 0x9DDA, - 50525 - 44032: 0xBED4, - 50526 - 44032: 0xBED5, - 50527 - 44032: 0x9DDB, - 50528 - 44032: 0xBED6, - 50529 - 44032: 0xBED7, - 50530 - 44032: 0x9DDC, - 50531 - 44032: 0x9DDD, - 50532 - 44032: 0xBED8, - 50533 - 44032: 0x9DDE, - 50534 - 44032: 0x9DDF, - 50535 - 44032: 0x9DE0, - 50536 - 44032: 0xBED9, - 50537 - 44032: 0x9DE1, - 50538 - 44032: 0x9DE2, - 50539 - 44032: 0x9DE3, - 50540 - 44032: 0x9DE4, - 50541 - 44032: 0x9DE5, - 50542 - 44032: 0x9DE6, - 50543 - 44032: 0x9DE7, - 50544 - 44032: 0xBEDA, - 50545 - 44032: 0xBEDB, - 50546 - 44032: 0x9DE8, - 50547 - 44032: 0xBEDC, - 50548 - 44032: 0xBEDD, - 50549 - 44032: 0xBEDE, - 50550 - 44032: 0x9DE9, - 50551 - 44032: 0x9DEA, - 50552 - 44032: 0x9DEB, - 50553 - 44032: 0x9DEC, - 50554 - 44032: 0x9DED, - 50555 - 44032: 0x9DEE, - 50556 - 44032: 0xBEDF, - 50557 - 44032: 0xBEE0, - 50558 - 44032: 0x9DEF, - 50559 - 44032: 0x9DF0, - 50560 - 44032: 0xBEE1, - 50561 - 44032: 0x9DF1, - 50562 - 44032: 0x9DF2, - 50563 - 44032: 0x9DF3, - 50564 - 44032: 0xBEE2, - 50565 - 44032: 0x9DF4, - 50566 - 44032: 0x9DF5, - 50567 - 44032: 0xBEE3, - 50568 - 44032: 0x9DF6, - 50569 - 44032: 0x9DF7, - 50570 - 44032: 0x9DF8, - 50571 - 44032: 0x9DF9, - 50572 - 44032: 0xBEE4, - 50573 - 44032: 0xBEE5, - 50574 - 44032: 0x9DFA, - 50575 - 44032: 0xBEE6, - 50576 - 44032: 0x9DFB, - 50577 - 44032: 0xBEE7, - 50578 - 44032: 0x9DFC, - 50579 - 44032: 0x9DFD, - 50580 - 44032: 0x9DFE, - 50581 - 44032: 0xBEE8, - 50582 - 44032: 0x9E41, - 50583 - 44032: 0xBEE9, - 50584 - 44032: 0xBEEA, - 50585 - 44032: 0x9E42, - 50586 - 44032: 0x9E43, - 50587 - 44032: 0x9E44, - 50588 - 44032: 0xBEEB, - 50589 - 44032: 0x9E45, - 50590 - 44032: 0x9E46, - 50591 - 44032: 0x9E47, - 50592 - 44032: 0xBEEC, - 50593 - 44032: 0x9E48, - 50594 - 44032: 0x9E49, - 50595 - 44032: 0x9E4A, - 50596 - 44032: 0x9E4B, - 50597 - 44032: 0x9E4C, - 50598 - 44032: 0x9E4D, - 50599 - 44032: 0x9E4E, - 50600 - 44032: 0x9E4F, - 50601 - 44032: 0xBEED, - 50602 - 44032: 0x9E50, - 50603 - 44032: 0x9E51, - 50604 - 44032: 0x9E52, - 50605 - 44032: 0x9E53, - 50606 - 44032: 0x9E54, - 50607 - 44032: 0x9E55, - 50608 - 44032: 0x9E56, - 50609 - 44032: 0x9E57, - 50610 - 44032: 0x9E58, - 50611 - 44032: 0x9E59, - 50612 - 44032: 0xBEEE, - 50613 - 44032: 0xBEEF, - 50614 - 44032: 0x9E5A, - 50615 - 44032: 0x9E61, - 50616 - 44032: 0xBEF0, - 50617 - 44032: 0xBEF1, - 50618 - 44032: 0x9E62, - 50619 - 44032: 0xBEF2, - 50620 - 44032: 0xBEF3, - 50621 - 44032: 0xBEF4, - 50622 - 44032: 0xBEF5, - 50623 - 44032: 0x9E63, - 50624 - 44032: 0x9E64, - 50625 - 44032: 0x9E65, - 50626 - 44032: 0x9E66, - 50627 - 44032: 0x9E67, - 50628 - 44032: 0xBEF6, - 50629 - 44032: 0xBEF7, - 50630 - 44032: 0xBEF8, - 50631 - 44032: 0xBEF9, - 50632 - 44032: 0xBEFA, - 50633 - 44032: 0xBEFB, - 50634 - 44032: 0xBEFC, - 50635 - 44032: 0x9E68, - 50636 - 44032: 0xBEFD, - 50637 - 44032: 0x9E69, - 50638 - 44032: 0xBEFE, - 50639 - 44032: 0x9E6A, - 50640 - 44032: 0xBFA1, - 50641 - 44032: 0xBFA2, - 50642 - 44032: 0x9E6B, - 50643 - 44032: 0x9E6C, - 50644 - 44032: 0xBFA3, - 50645 - 44032: 0x9E6D, - 50646 - 44032: 0x9E6E, - 50647 - 44032: 0x9E6F, - 50648 - 44032: 0xBFA4, - 50649 - 44032: 0x9E70, - 50650 - 44032: 0x9E71, - 50651 - 44032: 0x9E72, - 50652 - 44032: 0x9E73, - 50653 - 44032: 0x9E74, - 50654 - 44032: 0x9E75, - 50655 - 44032: 0x9E76, - 50656 - 44032: 0xBFA5, - 50657 - 44032: 0xBFA6, - 50658 - 44032: 0x9E77, - 50659 - 44032: 0xBFA7, - 50660 - 44032: 0x9E78, - 50661 - 44032: 0xBFA8, - 50662 - 44032: 0x9E79, - 50663 - 44032: 0x9E7A, - 50664 - 44032: 0x9E81, - 50665 - 44032: 0x9E82, - 50666 - 44032: 0x9E83, - 50667 - 44032: 0x9E84, - 50668 - 44032: 0xBFA9, - 50669 - 44032: 0xBFAA, - 50670 - 44032: 0xBFAB, - 50671 - 44032: 0x9E85, - 50672 - 44032: 0xBFAC, - 50673 - 44032: 0x9E86, - 50674 - 44032: 0x9E87, - 50675 - 44032: 0x9E88, - 50676 - 44032: 0xBFAD, - 50677 - 44032: 0x9E89, - 50678 - 44032: 0xBFAE, - 50679 - 44032: 0xBFAF, - 50680 - 44032: 0x9E8A, - 50681 - 44032: 0x9E8B, - 50682 - 44032: 0x9E8C, - 50683 - 44032: 0x9E8D, - 50684 - 44032: 0xBFB0, - 50685 - 44032: 0xBFB1, - 50686 - 44032: 0xBFB2, - 50687 - 44032: 0xBFB3, - 50688 - 44032: 0xBFB4, - 50689 - 44032: 0xBFB5, - 50690 - 44032: 0x9E8E, - 50691 - 44032: 0x9E8F, - 50692 - 44032: 0x9E90, - 50693 - 44032: 0xBFB6, - 50694 - 44032: 0xBFB7, - 50695 - 44032: 0xBFB8, - 50696 - 44032: 0xBFB9, - 50697 - 44032: 0x9E91, - 50698 - 44032: 0x9E92, - 50699 - 44032: 0x9E93, - 50700 - 44032: 0xBFBA, - 50701 - 44032: 0x9E94, - 50702 - 44032: 0x9E95, - 50703 - 44032: 0x9E96, - 50704 - 44032: 0xBFBB, - 50705 - 44032: 0x9E97, - 50706 - 44032: 0x9E98, - 50707 - 44032: 0x9E99, - 50708 - 44032: 0x9E9A, - 50709 - 44032: 0x9E9B, - 50710 - 44032: 0x9E9C, - 50711 - 44032: 0x9E9D, - 50712 - 44032: 0xBFBC, - 50713 - 44032: 0xBFBD, - 50714 - 44032: 0x9E9E, - 50715 - 44032: 0xBFBE, - 50716 - 44032: 0xBFBF, - 50717 - 44032: 0x9E9F, - 50718 - 44032: 0x9EA0, - 50719 - 44032: 0x9EA1, - 50720 - 44032: 0x9EA2, - 50721 - 44032: 0x9EA3, - 50722 - 44032: 0x9EA4, - 50723 - 44032: 0x9EA5, - 50724 - 44032: 0xBFC0, - 50725 - 44032: 0xBFC1, - 50726 - 44032: 0x9EA6, - 50727 - 44032: 0x9EA7, - 50728 - 44032: 0xBFC2, - 50729 - 44032: 0x9EA8, - 50730 - 44032: 0x9EA9, - 50731 - 44032: 0x9EAA, - 50732 - 44032: 0xBFC3, - 50733 - 44032: 0xBFC4, - 50734 - 44032: 0xBFC5, - 50735 - 44032: 0x9EAB, - 50736 - 44032: 0xBFC6, - 50737 - 44032: 0x9EAC, - 50738 - 44032: 0x9EAD, - 50739 - 44032: 0xBFC7, - 50740 - 44032: 0xBFC8, - 50741 - 44032: 0xBFC9, - 50742 - 44032: 0x9EAE, - 50743 - 44032: 0xBFCA, - 50744 - 44032: 0x9EAF, - 50745 - 44032: 0xBFCB, - 50746 - 44032: 0x9EB0, - 50747 - 44032: 0xBFCC, - 50748 - 44032: 0x9EB1, - 50749 - 44032: 0x9EB2, - 50750 - 44032: 0x9EB3, - 50751 - 44032: 0x9EB4, - 50752 - 44032: 0xBFCD, - 50753 - 44032: 0xBFCE, - 50754 - 44032: 0x9EB5, - 50755 - 44032: 0x9EB6, - 50756 - 44032: 0xBFCF, - 50757 - 44032: 0x9EB7, - 50758 - 44032: 0x9EB8, - 50759 - 44032: 0x9EB9, - 50760 - 44032: 0xBFD0, - 50761 - 44032: 0x9EBA, - 50762 - 44032: 0x9EBB, - 50763 - 44032: 0x9EBC, - 50764 - 44032: 0x9EBD, - 50765 - 44032: 0x9EBE, - 50766 - 44032: 0x9EBF, - 50767 - 44032: 0x9EC0, - 50768 - 44032: 0xBFD1, - 50769 - 44032: 0xBFD2, - 50770 - 44032: 0x9EC1, - 50771 - 44032: 0xBFD3, - 50772 - 44032: 0xBFD4, - 50773 - 44032: 0xBFD5, - 50774 - 44032: 0x9EC2, - 50775 - 44032: 0x9EC3, - 50776 - 44032: 0x9EC4, - 50777 - 44032: 0x9EC5, - 50778 - 44032: 0x9EC6, - 50779 - 44032: 0x9EC7, - 50780 - 44032: 0xBFD6, - 50781 - 44032: 0xBFD7, - 50782 - 44032: 0x9EC8, - 50783 - 44032: 0x9EC9, - 50784 - 44032: 0xBFD8, - 50785 - 44032: 0x9ECA, - 50786 - 44032: 0x9ECB, - 50787 - 44032: 0x9ECC, - 50788 - 44032: 0x9ECD, - 50789 - 44032: 0x9ECE, - 50790 - 44032: 0x9ECF, - 50791 - 44032: 0x9ED0, - 50792 - 44032: 0x9ED1, - 50793 - 44032: 0x9ED2, - 50794 - 44032: 0x9ED3, - 50795 - 44032: 0x9ED4, - 50796 - 44032: 0xBFD9, - 50797 - 44032: 0x9ED5, - 50798 - 44032: 0x9ED6, - 50799 - 44032: 0xBFDA, - 50800 - 44032: 0x9ED7, - 50801 - 44032: 0xBFDB, - 50802 - 44032: 0x9ED8, - 50803 - 44032: 0x9ED9, - 50804 - 44032: 0x9EDA, - 50805 - 44032: 0x9EDB, - 50806 - 44032: 0x9EDC, - 50807 - 44032: 0x9EDD, - 50808 - 44032: 0xBFDC, - 50809 - 44032: 0xBFDD, - 50810 - 44032: 0x9EDE, - 50811 - 44032: 0x9EDF, - 50812 - 44032: 0xBFDE, - 50813 - 44032: 0x9EE0, - 50814 - 44032: 0x9EE1, - 50815 - 44032: 0x9EE2, - 50816 - 44032: 0xBFDF, - 50817 - 44032: 0x9EE3, - 50818 - 44032: 0x9EE4, - 50819 - 44032: 0x9EE5, - 50820 - 44032: 0x9EE6, - 50821 - 44032: 0x9EE7, - 50822 - 44032: 0x9EE8, - 50823 - 44032: 0x9EE9, - 50824 - 44032: 0xBFE0, - 50825 - 44032: 0xBFE1, - 50826 - 44032: 0x9EEA, - 50827 - 44032: 0xBFE2, - 50828 - 44032: 0x9EEB, - 50829 - 44032: 0xBFE3, - 50830 - 44032: 0x9EEC, - 50831 - 44032: 0x9EED, - 50832 - 44032: 0x9EEE, - 50833 - 44032: 0x9EEF, - 50834 - 44032: 0x9EF0, - 50835 - 44032: 0x9EF1, - 50836 - 44032: 0xBFE4, - 50837 - 44032: 0xBFE5, - 50838 - 44032: 0x9EF2, - 50839 - 44032: 0x9EF3, - 50840 - 44032: 0xBFE6, - 50841 - 44032: 0x9EF4, - 50842 - 44032: 0x9EF5, - 50843 - 44032: 0x9EF6, - 50844 - 44032: 0xBFE7, - 50845 - 44032: 0x9EF7, - 50846 - 44032: 0x9EF8, - 50847 - 44032: 0x9EF9, - 50848 - 44032: 0x9EFA, - 50849 - 44032: 0x9EFB, - 50850 - 44032: 0x9EFC, - 50851 - 44032: 0x9EFD, - 50852 - 44032: 0xBFE8, - 50853 - 44032: 0xBFE9, - 50854 - 44032: 0x9EFE, - 50855 - 44032: 0xBFEA, - 50856 - 44032: 0x9F41, - 50857 - 44032: 0xBFEB, - 50858 - 44032: 0x9F42, - 50859 - 44032: 0x9F43, - 50860 - 44032: 0x9F44, - 50861 - 44032: 0x9F45, - 50862 - 44032: 0x9F46, - 50863 - 44032: 0x9F47, - 50864 - 44032: 0xBFEC, - 50865 - 44032: 0xBFED, - 50866 - 44032: 0x9F48, - 50867 - 44032: 0x9F49, - 50868 - 44032: 0xBFEE, - 50869 - 44032: 0x9F4A, - 50870 - 44032: 0x9F4B, - 50871 - 44032: 0x9F4C, - 50872 - 44032: 0xBFEF, - 50873 - 44032: 0xBFF0, - 50874 - 44032: 0xBFF1, - 50875 - 44032: 0x9F4D, - 50876 - 44032: 0x9F4E, - 50877 - 44032: 0x9F4F, - 50878 - 44032: 0x9F50, - 50879 - 44032: 0x9F51, - 50880 - 44032: 0xBFF2, - 50881 - 44032: 0xBFF3, - 50882 - 44032: 0x9F52, - 50883 - 44032: 0xBFF4, - 50884 - 44032: 0x9F53, - 50885 - 44032: 0xBFF5, - 50886 - 44032: 0x9F54, - 50887 - 44032: 0x9F55, - 50888 - 44032: 0x9F56, - 50889 - 44032: 0x9F57, - 50890 - 44032: 0x9F58, - 50891 - 44032: 0x9F59, - 50892 - 44032: 0xBFF6, - 50893 - 44032: 0xBFF7, - 50894 - 44032: 0x9F5A, - 50895 - 44032: 0x9F61, - 50896 - 44032: 0xBFF8, - 50897 - 44032: 0x9F62, - 50898 - 44032: 0x9F63, - 50899 - 44032: 0x9F64, - 50900 - 44032: 0xBFF9, - 50901 - 44032: 0x9F65, - 50902 - 44032: 0x9F66, - 50903 - 44032: 0x9F67, - 50904 - 44032: 0x9F68, - 50905 - 44032: 0x9F69, - 50906 - 44032: 0x9F6A, - 50907 - 44032: 0x9F6B, - 50908 - 44032: 0xBFFA, - 50909 - 44032: 0xBFFB, - 50910 - 44032: 0x9F6C, - 50911 - 44032: 0x9F6D, - 50912 - 44032: 0xBFFC, - 50913 - 44032: 0xBFFD, - 50914 - 44032: 0x9F6E, - 50915 - 44032: 0x9F6F, - 50916 - 44032: 0x9F70, - 50917 - 44032: 0x9F71, - 50918 - 44032: 0x9F72, - 50919 - 44032: 0x9F73, - 50920 - 44032: 0xBFFE, - 50921 - 44032: 0xC0A1, - 50922 - 44032: 0x9F74, - 50923 - 44032: 0x9F75, - 50924 - 44032: 0xC0A2, - 50925 - 44032: 0x9F76, - 50926 - 44032: 0x9F77, - 50927 - 44032: 0x9F78, - 50928 - 44032: 0xC0A3, - 50929 - 44032: 0x9F79, - 50930 - 44032: 0x9F7A, - 50931 - 44032: 0x9F81, - 50932 - 44032: 0x9F82, - 50933 - 44032: 0x9F83, - 50934 - 44032: 0x9F84, - 50935 - 44032: 0x9F85, - 50936 - 44032: 0xC0A4, - 50937 - 44032: 0xC0A5, - 50938 - 44032: 0x9F86, - 50939 - 44032: 0x9F87, - 50940 - 44032: 0x9F88, - 50941 - 44032: 0xC0A6, - 50942 - 44032: 0x9F89, - 50943 - 44032: 0x9F8A, - 50944 - 44032: 0x9F8B, - 50945 - 44032: 0x9F8C, - 50946 - 44032: 0x9F8D, - 50947 - 44032: 0x9F8E, - 50948 - 44032: 0xC0A7, - 50949 - 44032: 0xC0A8, - 50950 - 44032: 0x9F8F, - 50951 - 44032: 0x9F90, - 50952 - 44032: 0xC0A9, - 50953 - 44032: 0x9F91, - 50954 - 44032: 0x9F92, - 50955 - 44032: 0x9F93, - 50956 - 44032: 0xC0AA, - 50957 - 44032: 0x9F94, - 50958 - 44032: 0x9F95, - 50959 - 44032: 0x9F96, - 50960 - 44032: 0x9F97, - 50961 - 44032: 0x9F98, - 50962 - 44032: 0x9F99, - 50963 - 44032: 0x9F9A, - 50964 - 44032: 0xC0AB, - 50965 - 44032: 0xC0AC, - 50966 - 44032: 0x9F9B, - 50967 - 44032: 0xC0AD, - 50968 - 44032: 0x9F9C, - 50969 - 44032: 0xC0AE, - 50970 - 44032: 0x9F9D, - 50971 - 44032: 0x9F9E, - 50972 - 44032: 0x9F9F, - 50973 - 44032: 0x9FA0, - 50974 - 44032: 0x9FA1, - 50975 - 44032: 0x9FA2, - 50976 - 44032: 0xC0AF, - 50977 - 44032: 0xC0B0, - 50978 - 44032: 0x9FA3, - 50979 - 44032: 0x9FA4, - 50980 - 44032: 0xC0B1, - 50981 - 44032: 0x9FA5, - 50982 - 44032: 0x9FA6, - 50983 - 44032: 0x9FA7, - 50984 - 44032: 0xC0B2, - 50985 - 44032: 0x9FA8, - 50986 - 44032: 0x9FA9, - 50987 - 44032: 0x9FAA, - 50988 - 44032: 0x9FAB, - 50989 - 44032: 0x9FAC, - 50990 - 44032: 0x9FAD, - 50991 - 44032: 0x9FAE, - 50992 - 44032: 0xC0B3, - 50993 - 44032: 0xC0B4, - 50994 - 44032: 0x9FAF, - 50995 - 44032: 0xC0B5, - 50996 - 44032: 0x9FB0, - 50997 - 44032: 0xC0B6, - 50998 - 44032: 0x9FB1, - 50999 - 44032: 0xC0B7, - 51000 - 44032: 0x9FB2, - 51001 - 44032: 0x9FB3, - 51002 - 44032: 0x9FB4, - 51003 - 44032: 0x9FB5, - 51004 - 44032: 0xC0B8, - 51005 - 44032: 0xC0B9, - 51006 - 44032: 0x9FB6, - 51007 - 44032: 0x9FB7, - 51008 - 44032: 0xC0BA, - 51009 - 44032: 0x9FB8, - 51010 - 44032: 0x9FB9, - 51011 - 44032: 0x9FBA, - 51012 - 44032: 0xC0BB, - 51013 - 44032: 0x9FBB, - 51014 - 44032: 0x9FBC, - 51015 - 44032: 0x9FBD, - 51016 - 44032: 0x9FBE, - 51017 - 44032: 0x9FBF, - 51018 - 44032: 0xC0BC, - 51019 - 44032: 0x9FC0, - 51020 - 44032: 0xC0BD, - 51021 - 44032: 0xC0BE, - 51022 - 44032: 0x9FC1, - 51023 - 44032: 0xC0BF, - 51024 - 44032: 0x9FC2, - 51025 - 44032: 0xC0C0, - 51026 - 44032: 0xC0C1, - 51027 - 44032: 0xC0C2, - 51028 - 44032: 0xC0C3, - 51029 - 44032: 0xC0C4, - 51030 - 44032: 0xC0C5, - 51031 - 44032: 0xC0C6, - 51032 - 44032: 0xC0C7, - 51033 - 44032: 0x9FC3, - 51034 - 44032: 0x9FC4, - 51035 - 44032: 0x9FC5, - 51036 - 44032: 0xC0C8, - 51037 - 44032: 0x9FC6, - 51038 - 44032: 0x9FC7, - 51039 - 44032: 0x9FC8, - 51040 - 44032: 0xC0C9, - 51041 - 44032: 0x9FC9, - 51042 - 44032: 0x9FCA, - 51043 - 44032: 0x9FCB, - 51044 - 44032: 0x9FCC, - 51045 - 44032: 0x9FCD, - 51046 - 44032: 0x9FCE, - 51047 - 44032: 0x9FCF, - 51048 - 44032: 0xC0CA, - 51049 - 44032: 0x9FD0, - 51050 - 44032: 0x9FD1, - 51051 - 44032: 0xC0CB, - 51052 - 44032: 0x9FD2, - 51053 - 44032: 0x9FD3, - 51054 - 44032: 0x9FD4, - 51055 - 44032: 0x9FD5, - 51056 - 44032: 0x9FD6, - 51057 - 44032: 0x9FD7, - 51058 - 44032: 0x9FD8, - 51059 - 44032: 0x9FD9, - 51060 - 44032: 0xC0CC, - 51061 - 44032: 0xC0CD, - 51062 - 44032: 0x9FDA, - 51063 - 44032: 0x9FDB, - 51064 - 44032: 0xC0CE, - 51065 - 44032: 0x9FDC, - 51066 - 44032: 0x9FDD, - 51067 - 44032: 0x9FDE, - 51068 - 44032: 0xC0CF, - 51069 - 44032: 0xC0D0, - 51070 - 44032: 0xC0D1, - 51071 - 44032: 0x9FDF, - 51072 - 44032: 0x9FE0, - 51073 - 44032: 0x9FE1, - 51074 - 44032: 0x9FE2, - 51075 - 44032: 0xC0D2, - 51076 - 44032: 0xC0D3, - 51077 - 44032: 0xC0D4, - 51078 - 44032: 0x9FE3, - 51079 - 44032: 0xC0D5, - 51080 - 44032: 0xC0D6, - 51081 - 44032: 0xC0D7, - 51082 - 44032: 0xC0D8, - 51083 - 44032: 0x9FE4, - 51084 - 44032: 0x9FE5, - 51085 - 44032: 0x9FE6, - 51086 - 44032: 0xC0D9, - 51087 - 44032: 0x9FE7, - 51088 - 44032: 0xC0DA, - 51089 - 44032: 0xC0DB, - 51090 - 44032: 0x9FE8, - 51091 - 44032: 0x9FE9, - 51092 - 44032: 0xC0DC, - 51093 - 44032: 0x9FEA, - 51094 - 44032: 0xC0DD, - 51095 - 44032: 0xC0DE, - 51096 - 44032: 0xC0DF, - 51097 - 44032: 0x9FEB, - 51098 - 44032: 0xC0E0, - 51099 - 44032: 0x9FEC, - 51100 - 44032: 0x9FED, - 51101 - 44032: 0x9FEE, - 51102 - 44032: 0x9FEF, - 51103 - 44032: 0x9FF0, - 51104 - 44032: 0xC0E1, - 51105 - 44032: 0xC0E2, - 51106 - 44032: 0x9FF1, - 51107 - 44032: 0xC0E3, - 51108 - 44032: 0xC0E4, - 51109 - 44032: 0xC0E5, - 51110 - 44032: 0xC0E6, - 51111 - 44032: 0x9FF2, - 51112 - 44032: 0x9FF3, - 51113 - 44032: 0x9FF4, - 51114 - 44032: 0x9FF5, - 51115 - 44032: 0x9FF6, - 51116 - 44032: 0xC0E7, - 51117 - 44032: 0xC0E8, - 51118 - 44032: 0x9FF7, - 51119 - 44032: 0x9FF8, - 51120 - 44032: 0xC0E9, - 51121 - 44032: 0x9FF9, - 51122 - 44032: 0x9FFA, - 51123 - 44032: 0x9FFB, - 51124 - 44032: 0xC0EA, - 51125 - 44032: 0x9FFC, - 51126 - 44032: 0x9FFD, - 51127 - 44032: 0x9FFE, - 51128 - 44032: 0xA041, - 51129 - 44032: 0xA042, - 51130 - 44032: 0xA043, - 51131 - 44032: 0xA044, - 51132 - 44032: 0xC0EB, - 51133 - 44032: 0xC0EC, - 51134 - 44032: 0xA045, - 51135 - 44032: 0xC0ED, - 51136 - 44032: 0xC0EE, - 51137 - 44032: 0xC0EF, - 51138 - 44032: 0xA046, - 51139 - 44032: 0xA047, - 51140 - 44032: 0xA048, - 51141 - 44032: 0xA049, - 51142 - 44032: 0xA04A, - 51143 - 44032: 0xA04B, - 51144 - 44032: 0xC0F0, - 51145 - 44032: 0xC0F1, - 51146 - 44032: 0xA04C, - 51147 - 44032: 0xA04D, - 51148 - 44032: 0xC0F2, - 51149 - 44032: 0xA04E, - 51150 - 44032: 0xC0F3, - 51151 - 44032: 0xA04F, - 51152 - 44032: 0xC0F4, - 51153 - 44032: 0xA050, - 51154 - 44032: 0xA051, - 51155 - 44032: 0xA052, - 51156 - 44032: 0xA053, - 51157 - 44032: 0xA054, - 51158 - 44032: 0xA055, - 51159 - 44032: 0xA056, - 51160 - 44032: 0xC0F5, - 51161 - 44032: 0xA057, - 51162 - 44032: 0xA058, - 51163 - 44032: 0xA059, - 51164 - 44032: 0xA05A, - 51165 - 44032: 0xC0F6, - 51166 - 44032: 0xA061, - 51167 - 44032: 0xA062, - 51168 - 44032: 0xA063, - 51169 - 44032: 0xA064, - 51170 - 44032: 0xA065, - 51171 - 44032: 0xA066, - 51172 - 44032: 0xC0F7, - 51173 - 44032: 0xA067, - 51174 - 44032: 0xA068, - 51175 - 44032: 0xA069, - 51176 - 44032: 0xC0F8, - 51177 - 44032: 0xA06A, - 51178 - 44032: 0xA06B, - 51179 - 44032: 0xA06C, - 51180 - 44032: 0xC0F9, - 51181 - 44032: 0xA06D, - 51182 - 44032: 0xA06E, - 51183 - 44032: 0xA06F, - 51184 - 44032: 0xA070, - 51185 - 44032: 0xA071, - 51186 - 44032: 0xA072, - 51187 - 44032: 0xA073, - 51188 - 44032: 0xA074, - 51189 - 44032: 0xA075, - 51190 - 44032: 0xA076, - 51191 - 44032: 0xA077, - 51192 - 44032: 0xA078, - 51193 - 44032: 0xA079, - 51194 - 44032: 0xA07A, - 51195 - 44032: 0xA081, - 51196 - 44032: 0xA082, - 51197 - 44032: 0xA083, - 51198 - 44032: 0xA084, - 51199 - 44032: 0xA085, - 51200 - 44032: 0xC0FA, - 51201 - 44032: 0xC0FB, - 51202 - 44032: 0xA086, - 51203 - 44032: 0xA087, - 51204 - 44032: 0xC0FC, - 51205 - 44032: 0xA088, - 51206 - 44032: 0xA089, - 51207 - 44032: 0xA08A, - 51208 - 44032: 0xC0FD, - 51209 - 44032: 0xA08B, - 51210 - 44032: 0xC0FE, - 51211 - 44032: 0xA08C, - 51212 - 44032: 0xA08D, - 51213 - 44032: 0xA08E, - 51214 - 44032: 0xA08F, - 51215 - 44032: 0xA090, - 51216 - 44032: 0xC1A1, - 51217 - 44032: 0xC1A2, - 51218 - 44032: 0xA091, - 51219 - 44032: 0xC1A3, - 51220 - 44032: 0xA092, - 51221 - 44032: 0xC1A4, - 51222 - 44032: 0xC1A5, - 51223 - 44032: 0xA093, - 51224 - 44032: 0xA094, - 51225 - 44032: 0xA095, - 51226 - 44032: 0xA096, - 51227 - 44032: 0xA097, - 51228 - 44032: 0xC1A6, - 51229 - 44032: 0xC1A7, - 51230 - 44032: 0xA098, - 51231 - 44032: 0xA099, - 51232 - 44032: 0xC1A8, - 51233 - 44032: 0xA09A, - 51234 - 44032: 0xA09B, - 51235 - 44032: 0xA09C, - 51236 - 44032: 0xC1A9, - 51237 - 44032: 0xA09D, - 51238 - 44032: 0xA09E, - 51239 - 44032: 0xA09F, - 51240 - 44032: 0xA0A0, - 51241 - 44032: 0xA0A1, - 51242 - 44032: 0xA0A2, - 51243 - 44032: 0xA0A3, - 51244 - 44032: 0xC1AA, - 51245 - 44032: 0xC1AB, - 51246 - 44032: 0xA0A4, - 51247 - 44032: 0xC1AC, - 51248 - 44032: 0xA0A5, - 51249 - 44032: 0xC1AD, - 51250 - 44032: 0xA0A6, - 51251 - 44032: 0xA0A7, - 51252 - 44032: 0xA0A8, - 51253 - 44032: 0xA0A9, - 51254 - 44032: 0xA0AA, - 51255 - 44032: 0xA0AB, - 51256 - 44032: 0xC1AE, - 51257 - 44032: 0xA0AC, - 51258 - 44032: 0xA0AD, - 51259 - 44032: 0xA0AE, - 51260 - 44032: 0xC1AF, - 51261 - 44032: 0xA0AF, - 51262 - 44032: 0xA0B0, - 51263 - 44032: 0xA0B1, - 51264 - 44032: 0xC1B0, - 51265 - 44032: 0xA0B2, - 51266 - 44032: 0xA0B3, - 51267 - 44032: 0xA0B4, - 51268 - 44032: 0xA0B5, - 51269 - 44032: 0xA0B6, - 51270 - 44032: 0xA0B7, - 51271 - 44032: 0xA0B8, - 51272 - 44032: 0xC1B1, - 51273 - 44032: 0xC1B2, - 51274 - 44032: 0xA0B9, - 51275 - 44032: 0xA0BA, - 51276 - 44032: 0xC1B3, - 51277 - 44032: 0xC1B4, - 51278 - 44032: 0xA0BB, - 51279 - 44032: 0xA0BC, - 51280 - 44032: 0xA0BD, - 51281 - 44032: 0xA0BE, - 51282 - 44032: 0xA0BF, - 51283 - 44032: 0xA0C0, - 51284 - 44032: 0xC1B5, - 51285 - 44032: 0xA0C1, - 51286 - 44032: 0xA0C2, - 51287 - 44032: 0xA0C3, - 51288 - 44032: 0xA0C4, - 51289 - 44032: 0xA0C5, - 51290 - 44032: 0xA0C6, - 51291 - 44032: 0xA0C7, - 51292 - 44032: 0xA0C8, - 51293 - 44032: 0xA0C9, - 51294 - 44032: 0xA0CA, - 51295 - 44032: 0xA0CB, - 51296 - 44032: 0xA0CC, - 51297 - 44032: 0xA0CD, - 51298 - 44032: 0xA0CE, - 51299 - 44032: 0xA0CF, - 51300 - 44032: 0xA0D0, - 51301 - 44032: 0xA0D1, - 51302 - 44032: 0xA0D2, - 51303 - 44032: 0xA0D3, - 51304 - 44032: 0xA0D4, - 51305 - 44032: 0xA0D5, - 51306 - 44032: 0xA0D6, - 51307 - 44032: 0xA0D7, - 51308 - 44032: 0xA0D8, - 51309 - 44032: 0xA0D9, - 51310 - 44032: 0xA0DA, - 51311 - 44032: 0xA0DB, - 51312 - 44032: 0xC1B6, - 51313 - 44032: 0xC1B7, - 51314 - 44032: 0xA0DC, - 51315 - 44032: 0xA0DD, - 51316 - 44032: 0xC1B8, - 51317 - 44032: 0xA0DE, - 51318 - 44032: 0xA0DF, - 51319 - 44032: 0xA0E0, - 51320 - 44032: 0xC1B9, - 51321 - 44032: 0xA0E1, - 51322 - 44032: 0xC1BA, - 51323 - 44032: 0xA0E2, - 51324 - 44032: 0xA0E3, - 51325 - 44032: 0xA0E4, - 51326 - 44032: 0xA0E5, - 51327 - 44032: 0xA0E6, - 51328 - 44032: 0xC1BB, - 51329 - 44032: 0xC1BC, - 51330 - 44032: 0xA0E7, - 51331 - 44032: 0xC1BD, - 51332 - 44032: 0xA0E8, - 51333 - 44032: 0xC1BE, - 51334 - 44032: 0xC1BF, - 51335 - 44032: 0xC1C0, - 51336 - 44032: 0xA0E9, - 51337 - 44032: 0xA0EA, - 51338 - 44032: 0xA0EB, - 51339 - 44032: 0xC1C1, - 51340 - 44032: 0xC1C2, - 51341 - 44032: 0xC1C3, - 51342 - 44032: 0xA0EC, - 51343 - 44032: 0xA0ED, - 51344 - 44032: 0xA0EE, - 51345 - 44032: 0xA0EF, - 51346 - 44032: 0xA0F0, - 51347 - 44032: 0xA0F1, - 51348 - 44032: 0xC1C4, - 51349 - 44032: 0xA0F2, - 51350 - 44032: 0xA0F3, - 51351 - 44032: 0xA0F4, - 51352 - 44032: 0xA0F5, - 51353 - 44032: 0xA0F6, - 51354 - 44032: 0xA0F7, - 51355 - 44032: 0xA0F8, - 51356 - 44032: 0xA0F9, - 51357 - 44032: 0xC1C5, - 51358 - 44032: 0xA0FA, - 51359 - 44032: 0xC1C6, - 51360 - 44032: 0xA0FB, - 51361 - 44032: 0xC1C7, - 51362 - 44032: 0xA0FC, - 51363 - 44032: 0xA0FD, - 51364 - 44032: 0xA0FE, - 51365 - 44032: 0xA141, - 51366 - 44032: 0xA142, - 51367 - 44032: 0xA143, - 51368 - 44032: 0xC1C8, - 51369 - 44032: 0xA144, - 51370 - 44032: 0xA145, - 51371 - 44032: 0xA146, - 51372 - 44032: 0xA147, - 51373 - 44032: 0xA148, - 51374 - 44032: 0xA149, - 51375 - 44032: 0xA14A, - 51376 - 44032: 0xA14B, - 51377 - 44032: 0xA14C, - 51378 - 44032: 0xA14D, - 51379 - 44032: 0xA14E, - 51380 - 44032: 0xA14F, - 51381 - 44032: 0xA150, - 51382 - 44032: 0xA151, - 51383 - 44032: 0xA152, - 51384 - 44032: 0xA153, - 51385 - 44032: 0xA154, - 51386 - 44032: 0xA155, - 51387 - 44032: 0xA156, - 51388 - 44032: 0xC1C9, - 51389 - 44032: 0xC1CA, - 51390 - 44032: 0xA157, - 51391 - 44032: 0xA158, - 51392 - 44032: 0xA159, - 51393 - 44032: 0xA15A, - 51394 - 44032: 0xA161, - 51395 - 44032: 0xA162, - 51396 - 44032: 0xC1CB, - 51397 - 44032: 0xA163, - 51398 - 44032: 0xA164, - 51399 - 44032: 0xA165, - 51400 - 44032: 0xC1CC, - 51401 - 44032: 0xA166, - 51402 - 44032: 0xA167, - 51403 - 44032: 0xA168, - 51404 - 44032: 0xC1CD, - 51405 - 44032: 0xA169, - 51406 - 44032: 0xA16A, - 51407 - 44032: 0xA16B, - 51408 - 44032: 0xA16C, - 51409 - 44032: 0xA16D, - 51410 - 44032: 0xA16E, - 51411 - 44032: 0xA16F, - 51412 - 44032: 0xC1CE, - 51413 - 44032: 0xC1CF, - 51414 - 44032: 0xA170, - 51415 - 44032: 0xC1D0, - 51416 - 44032: 0xA171, - 51417 - 44032: 0xC1D1, - 51418 - 44032: 0xA172, - 51419 - 44032: 0xA173, - 51420 - 44032: 0xA174, - 51421 - 44032: 0xA175, - 51422 - 44032: 0xA176, - 51423 - 44032: 0xA177, - 51424 - 44032: 0xC1D2, - 51425 - 44032: 0xC1D3, - 51426 - 44032: 0xA178, - 51427 - 44032: 0xA179, - 51428 - 44032: 0xC1D4, - 51429 - 44032: 0xA17A, - 51430 - 44032: 0xA181, - 51431 - 44032: 0xA182, - 51432 - 44032: 0xA183, - 51433 - 44032: 0xA184, - 51434 - 44032: 0xA185, - 51435 - 44032: 0xA186, - 51436 - 44032: 0xA187, - 51437 - 44032: 0xA188, - 51438 - 44032: 0xA189, - 51439 - 44032: 0xA18A, - 51440 - 44032: 0xA18B, - 51441 - 44032: 0xA18C, - 51442 - 44032: 0xA18D, - 51443 - 44032: 0xA18E, - 51444 - 44032: 0xA18F, - 51445 - 44032: 0xC1D5, - 51446 - 44032: 0xA190, - 51447 - 44032: 0xA191, - 51448 - 44032: 0xA192, - 51449 - 44032: 0xA193, - 51450 - 44032: 0xA194, - 51451 - 44032: 0xA195, - 51452 - 44032: 0xC1D6, - 51453 - 44032: 0xC1D7, - 51454 - 44032: 0xA196, - 51455 - 44032: 0xA197, - 51456 - 44032: 0xC1D8, - 51457 - 44032: 0xA198, - 51458 - 44032: 0xA199, - 51459 - 44032: 0xA19A, - 51460 - 44032: 0xC1D9, - 51461 - 44032: 0xC1DA, - 51462 - 44032: 0xC1DB, - 51463 - 44032: 0xA19B, - 51464 - 44032: 0xA19C, - 51465 - 44032: 0xA19D, - 51466 - 44032: 0xA19E, - 51467 - 44032: 0xA19F, - 51468 - 44032: 0xC1DC, - 51469 - 44032: 0xC1DD, - 51470 - 44032: 0xA1A0, - 51471 - 44032: 0xC1DE, - 51472 - 44032: 0xA241, - 51473 - 44032: 0xC1DF, - 51474 - 44032: 0xA242, - 51475 - 44032: 0xA243, - 51476 - 44032: 0xA244, - 51477 - 44032: 0xA245, - 51478 - 44032: 0xA246, - 51479 - 44032: 0xA247, - 51480 - 44032: 0xC1E0, - 51481 - 44032: 0xA248, - 51482 - 44032: 0xA249, - 51483 - 44032: 0xA24A, - 51484 - 44032: 0xA24B, - 51485 - 44032: 0xA24C, - 51486 - 44032: 0xA24D, - 51487 - 44032: 0xA24E, - 51488 - 44032: 0xA24F, - 51489 - 44032: 0xA250, - 51490 - 44032: 0xA251, - 51491 - 44032: 0xA252, - 51492 - 44032: 0xA253, - 51493 - 44032: 0xA254, - 51494 - 44032: 0xA255, - 51495 - 44032: 0xA256, - 51496 - 44032: 0xA257, - 51497 - 44032: 0xA258, - 51498 - 44032: 0xA259, - 51499 - 44032: 0xA25A, - 51500 - 44032: 0xC1E1, - 51501 - 44032: 0xA261, - 51502 - 44032: 0xA262, - 51503 - 44032: 0xA263, - 51504 - 44032: 0xA264, - 51505 - 44032: 0xA265, - 51506 - 44032: 0xA266, - 51507 - 44032: 0xA267, - 51508 - 44032: 0xC1E2, - 51509 - 44032: 0xA268, - 51510 - 44032: 0xA269, - 51511 - 44032: 0xA26A, - 51512 - 44032: 0xA26B, - 51513 - 44032: 0xA26C, - 51514 - 44032: 0xA26D, - 51515 - 44032: 0xA26E, - 51516 - 44032: 0xA26F, - 51517 - 44032: 0xA270, - 51518 - 44032: 0xA271, - 51519 - 44032: 0xA272, - 51520 - 44032: 0xA273, - 51521 - 44032: 0xA274, - 51522 - 44032: 0xA275, - 51523 - 44032: 0xA276, - 51524 - 44032: 0xA277, - 51525 - 44032: 0xA278, - 51526 - 44032: 0xA279, - 51527 - 44032: 0xA27A, - 51528 - 44032: 0xA281, - 51529 - 44032: 0xA282, - 51530 - 44032: 0xA283, - 51531 - 44032: 0xA284, - 51532 - 44032: 0xA285, - 51533 - 44032: 0xA286, - 51534 - 44032: 0xA287, - 51535 - 44032: 0xA288, - 51536 - 44032: 0xC1E3, - 51537 - 44032: 0xC1E4, - 51538 - 44032: 0xA289, - 51539 - 44032: 0xA28A, - 51540 - 44032: 0xC1E5, - 51541 - 44032: 0xA28B, - 51542 - 44032: 0xA28C, - 51543 - 44032: 0xA28D, - 51544 - 44032: 0xC1E6, - 51545 - 44032: 0xA28E, - 51546 - 44032: 0xA28F, - 51547 - 44032: 0xA290, - 51548 - 44032: 0xA291, - 51549 - 44032: 0xA292, - 51550 - 44032: 0xA293, - 51551 - 44032: 0xA294, - 51552 - 44032: 0xC1E7, - 51553 - 44032: 0xC1E8, - 51554 - 44032: 0xA295, - 51555 - 44032: 0xC1E9, - 51556 - 44032: 0xA296, - 51557 - 44032: 0xA297, - 51558 - 44032: 0xA298, - 51559 - 44032: 0xA299, - 51560 - 44032: 0xA29A, - 51561 - 44032: 0xA29B, - 51562 - 44032: 0xA29C, - 51563 - 44032: 0xA29D, - 51564 - 44032: 0xC1EA, - 51565 - 44032: 0xA29E, - 51566 - 44032: 0xA29F, - 51567 - 44032: 0xA2A0, - 51568 - 44032: 0xC1EB, - 51569 - 44032: 0xA341, - 51570 - 44032: 0xA342, - 51571 - 44032: 0xA343, - 51572 - 44032: 0xC1EC, - 51573 - 44032: 0xA344, - 51574 - 44032: 0xA345, - 51575 - 44032: 0xA346, - 51576 - 44032: 0xA347, - 51577 - 44032: 0xA348, - 51578 - 44032: 0xA349, - 51579 - 44032: 0xA34A, - 51580 - 44032: 0xC1ED, - 51581 - 44032: 0xA34B, - 51582 - 44032: 0xA34C, - 51583 - 44032: 0xA34D, - 51584 - 44032: 0xA34E, - 51585 - 44032: 0xA34F, - 51586 - 44032: 0xA350, - 51587 - 44032: 0xA351, - 51588 - 44032: 0xA352, - 51589 - 44032: 0xA353, - 51590 - 44032: 0xA354, - 51591 - 44032: 0xA355, - 51592 - 44032: 0xC1EE, - 51593 - 44032: 0xC1EF, - 51594 - 44032: 0xA356, - 51595 - 44032: 0xA357, - 51596 - 44032: 0xC1F0, - 51597 - 44032: 0xA358, - 51598 - 44032: 0xA359, - 51599 - 44032: 0xA35A, - 51600 - 44032: 0xC1F1, - 51601 - 44032: 0xA361, - 51602 - 44032: 0xA362, - 51603 - 44032: 0xA363, - 51604 - 44032: 0xA364, - 51605 - 44032: 0xA365, - 51606 - 44032: 0xA366, - 51607 - 44032: 0xA367, - 51608 - 44032: 0xC1F2, - 51609 - 44032: 0xC1F3, - 51610 - 44032: 0xA368, - 51611 - 44032: 0xC1F4, - 51612 - 44032: 0xA369, - 51613 - 44032: 0xC1F5, - 51614 - 44032: 0xA36A, - 51615 - 44032: 0xA36B, - 51616 - 44032: 0xA36C, - 51617 - 44032: 0xA36D, - 51618 - 44032: 0xA36E, - 51619 - 44032: 0xA36F, - 51620 - 44032: 0xA370, - 51621 - 44032: 0xA371, - 51622 - 44032: 0xA372, - 51623 - 44032: 0xA373, - 51624 - 44032: 0xA374, - 51625 - 44032: 0xA375, - 51626 - 44032: 0xA376, - 51627 - 44032: 0xA377, - 51628 - 44032: 0xA378, - 51629 - 44032: 0xA379, - 51630 - 44032: 0xA37A, - 51631 - 44032: 0xA381, - 51632 - 44032: 0xA382, - 51633 - 44032: 0xA383, - 51634 - 44032: 0xA384, - 51635 - 44032: 0xA385, - 51636 - 44032: 0xA386, - 51637 - 44032: 0xA387, - 51638 - 44032: 0xA388, - 51639 - 44032: 0xA389, - 51640 - 44032: 0xA38A, - 51641 - 44032: 0xA38B, - 51642 - 44032: 0xA38C, - 51643 - 44032: 0xA38D, - 51644 - 44032: 0xA38E, - 51645 - 44032: 0xA38F, - 51646 - 44032: 0xA390, - 51647 - 44032: 0xA391, - 51648 - 44032: 0xC1F6, - 51649 - 44032: 0xC1F7, - 51650 - 44032: 0xA392, - 51651 - 44032: 0xA393, - 51652 - 44032: 0xC1F8, - 51653 - 44032: 0xA394, - 51654 - 44032: 0xA395, - 51655 - 44032: 0xC1F9, - 51656 - 44032: 0xC1FA, - 51657 - 44032: 0xA396, - 51658 - 44032: 0xC1FB, - 51659 - 44032: 0xA397, - 51660 - 44032: 0xA398, - 51661 - 44032: 0xA399, - 51662 - 44032: 0xA39A, - 51663 - 44032: 0xA39B, - 51664 - 44032: 0xC1FC, - 51665 - 44032: 0xC1FD, - 51666 - 44032: 0xA39C, - 51667 - 44032: 0xC1FE, - 51668 - 44032: 0xA39D, - 51669 - 44032: 0xC2A1, - 51670 - 44032: 0xC2A2, - 51671 - 44032: 0xA39E, - 51672 - 44032: 0xA39F, - 51673 - 44032: 0xC2A3, - 51674 - 44032: 0xC2A4, - 51675 - 44032: 0xA3A0, - 51676 - 44032: 0xC2A5, - 51677 - 44032: 0xC2A6, - 51678 - 44032: 0xA441, - 51679 - 44032: 0xA442, - 51680 - 44032: 0xC2A7, - 51681 - 44032: 0xA443, - 51682 - 44032: 0xC2A8, - 51683 - 44032: 0xA444, - 51684 - 44032: 0xC2A9, - 51685 - 44032: 0xA445, - 51686 - 44032: 0xA446, - 51687 - 44032: 0xC2AA, - 51688 - 44032: 0xA447, - 51689 - 44032: 0xA448, - 51690 - 44032: 0xA449, - 51691 - 44032: 0xA44A, - 51692 - 44032: 0xC2AB, - 51693 - 44032: 0xC2AC, - 51694 - 44032: 0xA44B, - 51695 - 44032: 0xC2AD, - 51696 - 44032: 0xC2AE, - 51697 - 44032: 0xC2AF, - 51698 - 44032: 0xA44C, - 51699 - 44032: 0xA44D, - 51700 - 44032: 0xA44E, - 51701 - 44032: 0xA44F, - 51702 - 44032: 0xA450, - 51703 - 44032: 0xA451, - 51704 - 44032: 0xC2B0, - 51705 - 44032: 0xC2B1, - 51706 - 44032: 0xA452, - 51707 - 44032: 0xA453, - 51708 - 44032: 0xC2B2, - 51709 - 44032: 0xA454, - 51710 - 44032: 0xA455, - 51711 - 44032: 0xA456, - 51712 - 44032: 0xC2B3, - 51713 - 44032: 0xA457, - 51714 - 44032: 0xA458, - 51715 - 44032: 0xA459, - 51716 - 44032: 0xA45A, - 51717 - 44032: 0xA461, - 51718 - 44032: 0xA462, - 51719 - 44032: 0xA463, - 51720 - 44032: 0xC2B4, - 51721 - 44032: 0xC2B5, - 51722 - 44032: 0xA464, - 51723 - 44032: 0xC2B6, - 51724 - 44032: 0xC2B7, - 51725 - 44032: 0xC2B8, - 51726 - 44032: 0xA465, - 51727 - 44032: 0xA466, - 51728 - 44032: 0xA467, - 51729 - 44032: 0xA468, - 51730 - 44032: 0xA469, - 51731 - 44032: 0xA46A, - 51732 - 44032: 0xC2B9, - 51733 - 44032: 0xA46B, - 51734 - 44032: 0xA46C, - 51735 - 44032: 0xA46D, - 51736 - 44032: 0xC2BA, - 51737 - 44032: 0xA46E, - 51738 - 44032: 0xA46F, - 51739 - 44032: 0xA470, - 51740 - 44032: 0xA471, - 51741 - 44032: 0xA472, - 51742 - 44032: 0xA473, - 51743 - 44032: 0xA474, - 51744 - 44032: 0xA475, - 51745 - 44032: 0xA476, - 51746 - 44032: 0xA477, - 51747 - 44032: 0xA478, - 51748 - 44032: 0xA479, - 51749 - 44032: 0xA47A, - 51750 - 44032: 0xA481, - 51751 - 44032: 0xA482, - 51752 - 44032: 0xA483, - 51753 - 44032: 0xC2BB, - 51754 - 44032: 0xA484, - 51755 - 44032: 0xA485, - 51756 - 44032: 0xA486, - 51757 - 44032: 0xA487, - 51758 - 44032: 0xA488, - 51759 - 44032: 0xA489, - 51760 - 44032: 0xA48A, - 51761 - 44032: 0xA48B, - 51762 - 44032: 0xA48C, - 51763 - 44032: 0xA48D, - 51764 - 44032: 0xA48E, - 51765 - 44032: 0xA48F, - 51766 - 44032: 0xA490, - 51767 - 44032: 0xA491, - 51768 - 44032: 0xA492, - 51769 - 44032: 0xA493, - 51770 - 44032: 0xA494, - 51771 - 44032: 0xA495, - 51772 - 44032: 0xA496, - 51773 - 44032: 0xA497, - 51774 - 44032: 0xA498, - 51775 - 44032: 0xA499, - 51776 - 44032: 0xA49A, - 51777 - 44032: 0xA49B, - 51778 - 44032: 0xA49C, - 51779 - 44032: 0xA49D, - 51780 - 44032: 0xA49E, - 51781 - 44032: 0xA49F, - 51782 - 44032: 0xA4A0, - 51783 - 44032: 0xA541, - 51784 - 44032: 0xA542, - 51785 - 44032: 0xA543, - 51786 - 44032: 0xA544, - 51787 - 44032: 0xA545, - 51788 - 44032: 0xC2BC, - 51789 - 44032: 0xC2BD, - 51790 - 44032: 0xA546, - 51791 - 44032: 0xA547, - 51792 - 44032: 0xC2BE, - 51793 - 44032: 0xA548, - 51794 - 44032: 0xA549, - 51795 - 44032: 0xA54A, - 51796 - 44032: 0xC2BF, - 51797 - 44032: 0xA54B, - 51798 - 44032: 0xA54C, - 51799 - 44032: 0xA54D, - 51800 - 44032: 0xA54E, - 51801 - 44032: 0xA54F, - 51802 - 44032: 0xA550, - 51803 - 44032: 0xA551, - 51804 - 44032: 0xC2C0, - 51805 - 44032: 0xC2C1, - 51806 - 44032: 0xA552, - 51807 - 44032: 0xC2C2, - 51808 - 44032: 0xC2C3, - 51809 - 44032: 0xC2C4, - 51810 - 44032: 0xA553, - 51811 - 44032: 0xA554, - 51812 - 44032: 0xA555, - 51813 - 44032: 0xA556, - 51814 - 44032: 0xA557, - 51815 - 44032: 0xA558, - 51816 - 44032: 0xC2C5, - 51817 - 44032: 0xA559, - 51818 - 44032: 0xA55A, - 51819 - 44032: 0xA561, - 51820 - 44032: 0xA562, - 51821 - 44032: 0xA563, - 51822 - 44032: 0xA564, - 51823 - 44032: 0xA565, - 51824 - 44032: 0xA566, - 51825 - 44032: 0xA567, - 51826 - 44032: 0xA568, - 51827 - 44032: 0xA569, - 51828 - 44032: 0xA56A, - 51829 - 44032: 0xA56B, - 51830 - 44032: 0xA56C, - 51831 - 44032: 0xA56D, - 51832 - 44032: 0xA56E, - 51833 - 44032: 0xA56F, - 51834 - 44032: 0xA570, - 51835 - 44032: 0xA571, - 51836 - 44032: 0xA572, - 51837 - 44032: 0xC2C6, - 51838 - 44032: 0xA573, - 51839 - 44032: 0xA574, - 51840 - 44032: 0xA575, - 51841 - 44032: 0xA576, - 51842 - 44032: 0xA577, - 51843 - 44032: 0xA578, - 51844 - 44032: 0xC2C7, - 51845 - 44032: 0xA579, - 51846 - 44032: 0xA57A, - 51847 - 44032: 0xA581, - 51848 - 44032: 0xA582, - 51849 - 44032: 0xA583, - 51850 - 44032: 0xA584, - 51851 - 44032: 0xA585, - 51852 - 44032: 0xA586, - 51853 - 44032: 0xA587, - 51854 - 44032: 0xA588, - 51855 - 44032: 0xA589, - 51856 - 44032: 0xA58A, - 51857 - 44032: 0xA58B, - 51858 - 44032: 0xA58C, - 51859 - 44032: 0xA58D, - 51860 - 44032: 0xA58E, - 51861 - 44032: 0xA58F, - 51862 - 44032: 0xA590, - 51863 - 44032: 0xA591, - 51864 - 44032: 0xC2C8, - 51865 - 44032: 0xA592, - 51866 - 44032: 0xA593, - 51867 - 44032: 0xA594, - 51868 - 44032: 0xA595, - 51869 - 44032: 0xA596, - 51870 - 44032: 0xA597, - 51871 - 44032: 0xA598, - 51872 - 44032: 0xA599, - 51873 - 44032: 0xA59A, - 51874 - 44032: 0xA59B, - 51875 - 44032: 0xA59C, - 51876 - 44032: 0xA59D, - 51877 - 44032: 0xA59E, - 51878 - 44032: 0xA59F, - 51879 - 44032: 0xA5A0, - 51880 - 44032: 0xA641, - 51881 - 44032: 0xA642, - 51882 - 44032: 0xA643, - 51883 - 44032: 0xA644, - 51884 - 44032: 0xA645, - 51885 - 44032: 0xA646, - 51886 - 44032: 0xA647, - 51887 - 44032: 0xA648, - 51888 - 44032: 0xA649, - 51889 - 44032: 0xA64A, - 51890 - 44032: 0xA64B, - 51891 - 44032: 0xA64C, - 51892 - 44032: 0xA64D, - 51893 - 44032: 0xA64E, - 51894 - 44032: 0xA64F, - 51895 - 44032: 0xA650, - 51896 - 44032: 0xA651, - 51897 - 44032: 0xA652, - 51898 - 44032: 0xA653, - 51899 - 44032: 0xA654, - 51900 - 44032: 0xC2C9, - 51901 - 44032: 0xC2CA, - 51902 - 44032: 0xA655, - 51903 - 44032: 0xA656, - 51904 - 44032: 0xC2CB, - 51905 - 44032: 0xA657, - 51906 - 44032: 0xA658, - 51907 - 44032: 0xA659, - 51908 - 44032: 0xC2CC, - 51909 - 44032: 0xA65A, - 51910 - 44032: 0xA661, - 51911 - 44032: 0xA662, - 51912 - 44032: 0xA663, - 51913 - 44032: 0xA664, - 51914 - 44032: 0xA665, - 51915 - 44032: 0xA666, - 51916 - 44032: 0xC2CD, - 51917 - 44032: 0xC2CE, - 51918 - 44032: 0xA667, - 51919 - 44032: 0xC2CF, - 51920 - 44032: 0xA668, - 51921 - 44032: 0xC2D0, - 51922 - 44032: 0xA669, - 51923 - 44032: 0xC2D1, - 51924 - 44032: 0xA66A, - 51925 - 44032: 0xA66B, - 51926 - 44032: 0xA66C, - 51927 - 44032: 0xA66D, - 51928 - 44032: 0xC2D2, - 51929 - 44032: 0xC2D3, - 51930 - 44032: 0xA66E, - 51931 - 44032: 0xA66F, - 51932 - 44032: 0xA670, - 51933 - 44032: 0xA671, - 51934 - 44032: 0xA672, - 51935 - 44032: 0xA673, - 51936 - 44032: 0xC2D4, - 51937 - 44032: 0xA674, - 51938 - 44032: 0xA675, - 51939 - 44032: 0xA676, - 51940 - 44032: 0xA677, - 51941 - 44032: 0xA678, - 51942 - 44032: 0xA679, - 51943 - 44032: 0xA67A, - 51944 - 44032: 0xA681, - 51945 - 44032: 0xA682, - 51946 - 44032: 0xA683, - 51947 - 44032: 0xA684, - 51948 - 44032: 0xC2D5, - 51949 - 44032: 0xA685, - 51950 - 44032: 0xA686, - 51951 - 44032: 0xA687, - 51952 - 44032: 0xA688, - 51953 - 44032: 0xA689, - 51954 - 44032: 0xA68A, - 51955 - 44032: 0xA68B, - 51956 - 44032: 0xC2D6, - 51957 - 44032: 0xA68C, - 51958 - 44032: 0xA68D, - 51959 - 44032: 0xA68E, - 51960 - 44032: 0xA68F, - 51961 - 44032: 0xA690, - 51962 - 44032: 0xA691, - 51963 - 44032: 0xA692, - 51964 - 44032: 0xA693, - 51965 - 44032: 0xA694, - 51966 - 44032: 0xA695, - 51967 - 44032: 0xA696, - 51968 - 44032: 0xA697, - 51969 - 44032: 0xA698, - 51970 - 44032: 0xA699, - 51971 - 44032: 0xA69A, - 51972 - 44032: 0xA69B, - 51973 - 44032: 0xA69C, - 51974 - 44032: 0xA69D, - 51975 - 44032: 0xA69E, - 51976 - 44032: 0xC2D7, - 51977 - 44032: 0xA69F, - 51978 - 44032: 0xA6A0, - 51979 - 44032: 0xA741, - 51980 - 44032: 0xA742, - 51981 - 44032: 0xA743, - 51982 - 44032: 0xA744, - 51983 - 44032: 0xA745, - 51984 - 44032: 0xC2D8, - 51985 - 44032: 0xA746, - 51986 - 44032: 0xA747, - 51987 - 44032: 0xA748, - 51988 - 44032: 0xC2D9, - 51989 - 44032: 0xA749, - 51990 - 44032: 0xA74A, - 51991 - 44032: 0xA74B, - 51992 - 44032: 0xC2DA, - 51993 - 44032: 0xA74C, - 51994 - 44032: 0xA74D, - 51995 - 44032: 0xA74E, - 51996 - 44032: 0xA74F, - 51997 - 44032: 0xA750, - 51998 - 44032: 0xA751, - 51999 - 44032: 0xA752, - 52000 - 44032: 0xC2DB, - 52001 - 44032: 0xC2DC, - 52002 - 44032: 0xA753, - 52003 - 44032: 0xA754, - 52004 - 44032: 0xA755, - 52005 - 44032: 0xA756, - 52006 - 44032: 0xA757, - 52007 - 44032: 0xA758, - 52008 - 44032: 0xA759, - 52009 - 44032: 0xA75A, - 52010 - 44032: 0xA761, - 52011 - 44032: 0xA762, - 52012 - 44032: 0xA763, - 52013 - 44032: 0xA764, - 52014 - 44032: 0xA765, - 52015 - 44032: 0xA766, - 52016 - 44032: 0xA767, - 52017 - 44032: 0xA768, - 52018 - 44032: 0xA769, - 52019 - 44032: 0xA76A, - 52020 - 44032: 0xA76B, - 52021 - 44032: 0xA76C, - 52022 - 44032: 0xA76D, - 52023 - 44032: 0xA76E, - 52024 - 44032: 0xA76F, - 52025 - 44032: 0xA770, - 52026 - 44032: 0xA771, - 52027 - 44032: 0xA772, - 52028 - 44032: 0xA773, - 52029 - 44032: 0xA774, - 52030 - 44032: 0xA775, - 52031 - 44032: 0xA776, - 52032 - 44032: 0xA777, - 52033 - 44032: 0xC2DD, - 52034 - 44032: 0xA778, - 52035 - 44032: 0xA779, - 52036 - 44032: 0xA77A, - 52037 - 44032: 0xA781, - 52038 - 44032: 0xA782, - 52039 - 44032: 0xA783, - 52040 - 44032: 0xC2DE, - 52041 - 44032: 0xC2DF, - 52042 - 44032: 0xA784, - 52043 - 44032: 0xA785, - 52044 - 44032: 0xC2E0, - 52045 - 44032: 0xA786, - 52046 - 44032: 0xA787, - 52047 - 44032: 0xA788, - 52048 - 44032: 0xC2E1, - 52049 - 44032: 0xA789, - 52050 - 44032: 0xA78A, - 52051 - 44032: 0xA78B, - 52052 - 44032: 0xA78C, - 52053 - 44032: 0xA78D, - 52054 - 44032: 0xA78E, - 52055 - 44032: 0xA78F, - 52056 - 44032: 0xC2E2, - 52057 - 44032: 0xC2E3, - 52058 - 44032: 0xA790, - 52059 - 44032: 0xA791, - 52060 - 44032: 0xA792, - 52061 - 44032: 0xC2E4, - 52062 - 44032: 0xA793, - 52063 - 44032: 0xA794, - 52064 - 44032: 0xA795, - 52065 - 44032: 0xA796, - 52066 - 44032: 0xA797, - 52067 - 44032: 0xA798, - 52068 - 44032: 0xC2E5, - 52069 - 44032: 0xA799, - 52070 - 44032: 0xA79A, - 52071 - 44032: 0xA79B, - 52072 - 44032: 0xA79C, - 52073 - 44032: 0xA79D, - 52074 - 44032: 0xA79E, - 52075 - 44032: 0xA79F, - 52076 - 44032: 0xA7A0, - 52077 - 44032: 0xA841, - 52078 - 44032: 0xA842, - 52079 - 44032: 0xA843, - 52080 - 44032: 0xA844, - 52081 - 44032: 0xA845, - 52082 - 44032: 0xA846, - 52083 - 44032: 0xA847, - 52084 - 44032: 0xA848, - 52085 - 44032: 0xA849, - 52086 - 44032: 0xA84A, - 52087 - 44032: 0xA84B, - 52088 - 44032: 0xC2E6, - 52089 - 44032: 0xC2E7, - 52090 - 44032: 0xA84C, - 52091 - 44032: 0xA84D, - 52092 - 44032: 0xA84E, - 52093 - 44032: 0xA84F, - 52094 - 44032: 0xA850, - 52095 - 44032: 0xA851, - 52096 - 44032: 0xA852, - 52097 - 44032: 0xA853, - 52098 - 44032: 0xA854, - 52099 - 44032: 0xA855, - 52100 - 44032: 0xA856, - 52101 - 44032: 0xA857, - 52102 - 44032: 0xA858, - 52103 - 44032: 0xA859, - 52104 - 44032: 0xA85A, - 52105 - 44032: 0xA861, - 52106 - 44032: 0xA862, - 52107 - 44032: 0xA863, - 52108 - 44032: 0xA864, - 52109 - 44032: 0xA865, - 52110 - 44032: 0xA866, - 52111 - 44032: 0xA867, - 52112 - 44032: 0xA868, - 52113 - 44032: 0xA869, - 52114 - 44032: 0xA86A, - 52115 - 44032: 0xA86B, - 52116 - 44032: 0xA86C, - 52117 - 44032: 0xA86D, - 52118 - 44032: 0xA86E, - 52119 - 44032: 0xA86F, - 52120 - 44032: 0xA870, - 52121 - 44032: 0xA871, - 52122 - 44032: 0xA872, - 52123 - 44032: 0xA873, - 52124 - 44032: 0xC2E8, - 52125 - 44032: 0xA874, - 52126 - 44032: 0xA875, - 52127 - 44032: 0xA876, - 52128 - 44032: 0xA877, - 52129 - 44032: 0xA878, - 52130 - 44032: 0xA879, - 52131 - 44032: 0xA87A, - 52132 - 44032: 0xA881, - 52133 - 44032: 0xA882, - 52134 - 44032: 0xA883, - 52135 - 44032: 0xA884, - 52136 - 44032: 0xA885, - 52137 - 44032: 0xA886, - 52138 - 44032: 0xA887, - 52139 - 44032: 0xA888, - 52140 - 44032: 0xA889, - 52141 - 44032: 0xA88A, - 52142 - 44032: 0xA88B, - 52143 - 44032: 0xA88C, - 52144 - 44032: 0xA88D, - 52145 - 44032: 0xA88E, - 52146 - 44032: 0xA88F, - 52147 - 44032: 0xA890, - 52148 - 44032: 0xA891, - 52149 - 44032: 0xA892, - 52150 - 44032: 0xA893, - 52151 - 44032: 0xA894, - 52152 - 44032: 0xC2E9, - 52153 - 44032: 0xA895, - 52154 - 44032: 0xA896, - 52155 - 44032: 0xA897, - 52156 - 44032: 0xA898, - 52157 - 44032: 0xA899, - 52158 - 44032: 0xA89A, - 52159 - 44032: 0xA89B, - 52160 - 44032: 0xA89C, - 52161 - 44032: 0xA89D, - 52162 - 44032: 0xA89E, - 52163 - 44032: 0xA89F, - 52164 - 44032: 0xA8A0, - 52165 - 44032: 0xA941, - 52166 - 44032: 0xA942, - 52167 - 44032: 0xA943, - 52168 - 44032: 0xA944, - 52169 - 44032: 0xA945, - 52170 - 44032: 0xA946, - 52171 - 44032: 0xA947, - 52172 - 44032: 0xA948, - 52173 - 44032: 0xA949, - 52174 - 44032: 0xA94A, - 52175 - 44032: 0xA94B, - 52176 - 44032: 0xA94C, - 52177 - 44032: 0xA94D, - 52178 - 44032: 0xA94E, - 52179 - 44032: 0xA94F, - 52180 - 44032: 0xC2EA, - 52181 - 44032: 0xA950, - 52182 - 44032: 0xA951, - 52183 - 44032: 0xA952, - 52184 - 44032: 0xA953, - 52185 - 44032: 0xA954, - 52186 - 44032: 0xA955, - 52187 - 44032: 0xA956, - 52188 - 44032: 0xA957, - 52189 - 44032: 0xA958, - 52190 - 44032: 0xA959, - 52191 - 44032: 0xA95A, - 52192 - 44032: 0xA961, - 52193 - 44032: 0xA962, - 52194 - 44032: 0xA963, - 52195 - 44032: 0xA964, - 52196 - 44032: 0xC2EB, - 52197 - 44032: 0xA965, - 52198 - 44032: 0xA966, - 52199 - 44032: 0xC2EC, - 52200 - 44032: 0xA967, - 52201 - 44032: 0xC2ED, - 52202 - 44032: 0xA968, - 52203 - 44032: 0xA969, - 52204 - 44032: 0xA96A, - 52205 - 44032: 0xA96B, - 52206 - 44032: 0xA96C, - 52207 - 44032: 0xA96D, - 52208 - 44032: 0xA96E, - 52209 - 44032: 0xA96F, - 52210 - 44032: 0xA970, - 52211 - 44032: 0xA971, - 52212 - 44032: 0xA972, - 52213 - 44032: 0xA973, - 52214 - 44032: 0xA974, - 52215 - 44032: 0xA975, - 52216 - 44032: 0xA976, - 52217 - 44032: 0xA977, - 52218 - 44032: 0xA978, - 52219 - 44032: 0xA979, - 52220 - 44032: 0xA97A, - 52221 - 44032: 0xA981, - 52222 - 44032: 0xA982, - 52223 - 44032: 0xA983, - 52224 - 44032: 0xA984, - 52225 - 44032: 0xA985, - 52226 - 44032: 0xA986, - 52227 - 44032: 0xA987, - 52228 - 44032: 0xA988, - 52229 - 44032: 0xA989, - 52230 - 44032: 0xA98A, - 52231 - 44032: 0xA98B, - 52232 - 44032: 0xA98C, - 52233 - 44032: 0xA98D, - 52234 - 44032: 0xA98E, - 52235 - 44032: 0xA98F, - 52236 - 44032: 0xC2EE, - 52237 - 44032: 0xC2EF, - 52238 - 44032: 0xA990, - 52239 - 44032: 0xA991, - 52240 - 44032: 0xC2F0, - 52241 - 44032: 0xA992, - 52242 - 44032: 0xA993, - 52243 - 44032: 0xA994, - 52244 - 44032: 0xC2F1, - 52245 - 44032: 0xA995, - 52246 - 44032: 0xA996, - 52247 - 44032: 0xA997, - 52248 - 44032: 0xA998, - 52249 - 44032: 0xA999, - 52250 - 44032: 0xA99A, - 52251 - 44032: 0xA99B, - 52252 - 44032: 0xC2F2, - 52253 - 44032: 0xC2F3, - 52254 - 44032: 0xA99C, - 52255 - 44032: 0xA99D, - 52256 - 44032: 0xA99E, - 52257 - 44032: 0xC2F4, - 52258 - 44032: 0xC2F5, - 52259 - 44032: 0xA99F, - 52260 - 44032: 0xA9A0, - 52261 - 44032: 0xAA41, - 52262 - 44032: 0xAA42, - 52263 - 44032: 0xC2F6, - 52264 - 44032: 0xC2F7, - 52265 - 44032: 0xC2F8, - 52266 - 44032: 0xAA43, - 52267 - 44032: 0xAA44, - 52268 - 44032: 0xC2F9, - 52269 - 44032: 0xAA45, - 52270 - 44032: 0xC2FA, - 52271 - 44032: 0xAA46, - 52272 - 44032: 0xC2FB, - 52273 - 44032: 0xAA47, - 52274 - 44032: 0xAA48, - 52275 - 44032: 0xAA49, - 52276 - 44032: 0xAA4A, - 52277 - 44032: 0xAA4B, - 52278 - 44032: 0xAA4C, - 52279 - 44032: 0xAA4D, - 52280 - 44032: 0xC2FC, - 52281 - 44032: 0xC2FD, - 52282 - 44032: 0xAA4E, - 52283 - 44032: 0xC2FE, - 52284 - 44032: 0xC3A1, - 52285 - 44032: 0xC3A2, - 52286 - 44032: 0xC3A3, - 52287 - 44032: 0xAA4F, - 52288 - 44032: 0xAA50, - 52289 - 44032: 0xAA51, - 52290 - 44032: 0xAA52, - 52291 - 44032: 0xAA53, - 52292 - 44032: 0xC3A4, - 52293 - 44032: 0xC3A5, - 52294 - 44032: 0xAA54, - 52295 - 44032: 0xAA55, - 52296 - 44032: 0xC3A6, - 52297 - 44032: 0xAA56, - 52298 - 44032: 0xAA57, - 52299 - 44032: 0xAA58, - 52300 - 44032: 0xC3A7, - 52301 - 44032: 0xAA59, - 52302 - 44032: 0xAA5A, - 52303 - 44032: 0xAA61, - 52304 - 44032: 0xAA62, - 52305 - 44032: 0xAA63, - 52306 - 44032: 0xAA64, - 52307 - 44032: 0xAA65, - 52308 - 44032: 0xC3A8, - 52309 - 44032: 0xC3A9, - 52310 - 44032: 0xAA66, - 52311 - 44032: 0xC3AA, - 52312 - 44032: 0xC3AB, - 52313 - 44032: 0xC3AC, - 52314 - 44032: 0xAA67, - 52315 - 44032: 0xAA68, - 52316 - 44032: 0xAA69, - 52317 - 44032: 0xAA6A, - 52318 - 44032: 0xAA6B, - 52319 - 44032: 0xAA6C, - 52320 - 44032: 0xC3AD, - 52321 - 44032: 0xAA6D, - 52322 - 44032: 0xAA6E, - 52323 - 44032: 0xAA6F, - 52324 - 44032: 0xC3AE, - 52325 - 44032: 0xAA70, - 52326 - 44032: 0xC3AF, - 52327 - 44032: 0xAA71, - 52328 - 44032: 0xC3B0, - 52329 - 44032: 0xAA72, - 52330 - 44032: 0xAA73, - 52331 - 44032: 0xAA74, - 52332 - 44032: 0xAA75, - 52333 - 44032: 0xAA76, - 52334 - 44032: 0xAA77, - 52335 - 44032: 0xAA78, - 52336 - 44032: 0xC3B1, - 52337 - 44032: 0xAA79, - 52338 - 44032: 0xAA7A, - 52339 - 44032: 0xAA81, - 52340 - 44032: 0xAA82, - 52341 - 44032: 0xC3B2, - 52342 - 44032: 0xAA83, - 52343 - 44032: 0xAA84, - 52344 - 44032: 0xAA85, - 52345 - 44032: 0xAA86, - 52346 - 44032: 0xAA87, - 52347 - 44032: 0xAA88, - 52348 - 44032: 0xAA89, - 52349 - 44032: 0xAA8A, - 52350 - 44032: 0xAA8B, - 52351 - 44032: 0xAA8C, - 52352 - 44032: 0xAA8D, - 52353 - 44032: 0xAA8E, - 52354 - 44032: 0xAA8F, - 52355 - 44032: 0xAA90, - 52356 - 44032: 0xAA91, - 52357 - 44032: 0xAA92, - 52358 - 44032: 0xAA93, - 52359 - 44032: 0xAA94, - 52360 - 44032: 0xAA95, - 52361 - 44032: 0xAA96, - 52362 - 44032: 0xAA97, - 52363 - 44032: 0xAA98, - 52364 - 44032: 0xAA99, - 52365 - 44032: 0xAA9A, - 52366 - 44032: 0xAA9B, - 52367 - 44032: 0xAA9C, - 52368 - 44032: 0xAA9D, - 52369 - 44032: 0xAA9E, - 52370 - 44032: 0xAA9F, - 52371 - 44032: 0xAAA0, - 52372 - 44032: 0xAB41, - 52373 - 44032: 0xAB42, - 52374 - 44032: 0xAB43, - 52375 - 44032: 0xAB44, - 52376 - 44032: 0xC3B3, - 52377 - 44032: 0xC3B4, - 52378 - 44032: 0xAB45, - 52379 - 44032: 0xAB46, - 52380 - 44032: 0xC3B5, - 52381 - 44032: 0xAB47, - 52382 - 44032: 0xAB48, - 52383 - 44032: 0xAB49, - 52384 - 44032: 0xC3B6, - 52385 - 44032: 0xAB4A, - 52386 - 44032: 0xAB4B, - 52387 - 44032: 0xAB4C, - 52388 - 44032: 0xAB4D, - 52389 - 44032: 0xAB4E, - 52390 - 44032: 0xAB4F, - 52391 - 44032: 0xAB50, - 52392 - 44032: 0xC3B7, - 52393 - 44032: 0xC3B8, - 52394 - 44032: 0xAB51, - 52395 - 44032: 0xC3B9, - 52396 - 44032: 0xC3BA, - 52397 - 44032: 0xC3BB, - 52398 - 44032: 0xAB52, - 52399 - 44032: 0xAB53, - 52400 - 44032: 0xAB54, - 52401 - 44032: 0xAB55, - 52402 - 44032: 0xAB56, - 52403 - 44032: 0xAB57, - 52404 - 44032: 0xC3BC, - 52405 - 44032: 0xC3BD, - 52406 - 44032: 0xAB58, - 52407 - 44032: 0xAB59, - 52408 - 44032: 0xC3BE, - 52409 - 44032: 0xAB5A, - 52410 - 44032: 0xAB61, - 52411 - 44032: 0xAB62, - 52412 - 44032: 0xC3BF, - 52413 - 44032: 0xAB63, - 52414 - 44032: 0xAB64, - 52415 - 44032: 0xAB65, - 52416 - 44032: 0xAB66, - 52417 - 44032: 0xAB67, - 52418 - 44032: 0xAB68, - 52419 - 44032: 0xAB69, - 52420 - 44032: 0xC3C0, - 52421 - 44032: 0xC3C1, - 52422 - 44032: 0xAB6A, - 52423 - 44032: 0xC3C2, - 52424 - 44032: 0xAB6B, - 52425 - 44032: 0xC3C3, - 52426 - 44032: 0xAB6C, - 52427 - 44032: 0xAB6D, - 52428 - 44032: 0xAB6E, - 52429 - 44032: 0xAB6F, - 52430 - 44032: 0xAB70, - 52431 - 44032: 0xAB71, - 52432 - 44032: 0xC3C4, - 52433 - 44032: 0xAB72, - 52434 - 44032: 0xAB73, - 52435 - 44032: 0xAB74, - 52436 - 44032: 0xC3C5, - 52437 - 44032: 0xAB75, - 52438 - 44032: 0xAB76, - 52439 - 44032: 0xAB77, - 52440 - 44032: 0xAB78, - 52441 - 44032: 0xAB79, - 52442 - 44032: 0xAB7A, - 52443 - 44032: 0xAB81, - 52444 - 44032: 0xAB82, - 52445 - 44032: 0xAB83, - 52446 - 44032: 0xAB84, - 52447 - 44032: 0xAB85, - 52448 - 44032: 0xAB86, - 52449 - 44032: 0xAB87, - 52450 - 44032: 0xAB88, - 52451 - 44032: 0xAB89, - 52452 - 44032: 0xC3C6, - 52453 - 44032: 0xAB8A, - 52454 - 44032: 0xAB8B, - 52455 - 44032: 0xAB8C, - 52456 - 44032: 0xAB8D, - 52457 - 44032: 0xAB8E, - 52458 - 44032: 0xAB8F, - 52459 - 44032: 0xAB90, - 52460 - 44032: 0xC3C7, - 52461 - 44032: 0xAB91, - 52462 - 44032: 0xAB92, - 52463 - 44032: 0xAB93, - 52464 - 44032: 0xC3C8, - 52465 - 44032: 0xAB94, - 52466 - 44032: 0xAB95, - 52467 - 44032: 0xAB96, - 52468 - 44032: 0xAB97, - 52469 - 44032: 0xAB98, - 52470 - 44032: 0xAB99, - 52471 - 44032: 0xAB9A, - 52472 - 44032: 0xAB9B, - 52473 - 44032: 0xAB9C, - 52474 - 44032: 0xAB9D, - 52475 - 44032: 0xAB9E, - 52476 - 44032: 0xAB9F, - 52477 - 44032: 0xABA0, - 52478 - 44032: 0xAC41, - 52479 - 44032: 0xAC42, - 52480 - 44032: 0xAC43, - 52481 - 44032: 0xC3C9, - 52482 - 44032: 0xAC44, - 52483 - 44032: 0xAC45, - 52484 - 44032: 0xAC46, - 52485 - 44032: 0xAC47, - 52486 - 44032: 0xAC48, - 52487 - 44032: 0xAC49, - 52488 - 44032: 0xC3CA, - 52489 - 44032: 0xC3CB, - 52490 - 44032: 0xAC4A, - 52491 - 44032: 0xAC4B, - 52492 - 44032: 0xC3CC, - 52493 - 44032: 0xAC4C, - 52494 - 44032: 0xAC4D, - 52495 - 44032: 0xAC4E, - 52496 - 44032: 0xC3CD, - 52497 - 44032: 0xAC4F, - 52498 - 44032: 0xAC50, - 52499 - 44032: 0xAC51, - 52500 - 44032: 0xAC52, - 52501 - 44032: 0xAC53, - 52502 - 44032: 0xAC54, - 52503 - 44032: 0xAC55, - 52504 - 44032: 0xC3CE, - 52505 - 44032: 0xC3CF, - 52506 - 44032: 0xAC56, - 52507 - 44032: 0xC3D0, - 52508 - 44032: 0xAC57, - 52509 - 44032: 0xC3D1, - 52510 - 44032: 0xAC58, - 52511 - 44032: 0xAC59, - 52512 - 44032: 0xAC5A, - 52513 - 44032: 0xAC61, - 52514 - 44032: 0xAC62, - 52515 - 44032: 0xAC63, - 52516 - 44032: 0xC3D2, - 52517 - 44032: 0xAC64, - 52518 - 44032: 0xAC65, - 52519 - 44032: 0xAC66, - 52520 - 44032: 0xC3D3, - 52521 - 44032: 0xAC67, - 52522 - 44032: 0xAC68, - 52523 - 44032: 0xAC69, - 52524 - 44032: 0xC3D4, - 52525 - 44032: 0xAC6A, - 52526 - 44032: 0xAC6B, - 52527 - 44032: 0xAC6C, - 52528 - 44032: 0xAC6D, - 52529 - 44032: 0xAC6E, - 52530 - 44032: 0xAC6F, - 52531 - 44032: 0xAC70, - 52532 - 44032: 0xAC71, - 52533 - 44032: 0xAC72, - 52534 - 44032: 0xAC73, - 52535 - 44032: 0xAC74, - 52536 - 44032: 0xAC75, - 52537 - 44032: 0xC3D5, - 52538 - 44032: 0xAC76, - 52539 - 44032: 0xAC77, - 52540 - 44032: 0xAC78, - 52541 - 44032: 0xAC79, - 52542 - 44032: 0xAC7A, - 52543 - 44032: 0xAC81, - 52544 - 44032: 0xAC82, - 52545 - 44032: 0xAC83, - 52546 - 44032: 0xAC84, - 52547 - 44032: 0xAC85, - 52548 - 44032: 0xAC86, - 52549 - 44032: 0xAC87, - 52550 - 44032: 0xAC88, - 52551 - 44032: 0xAC89, - 52552 - 44032: 0xAC8A, - 52553 - 44032: 0xAC8B, - 52554 - 44032: 0xAC8C, - 52555 - 44032: 0xAC8D, - 52556 - 44032: 0xAC8E, - 52557 - 44032: 0xAC8F, - 52558 - 44032: 0xAC90, - 52559 - 44032: 0xAC91, - 52560 - 44032: 0xAC92, - 52561 - 44032: 0xAC93, - 52562 - 44032: 0xAC94, - 52563 - 44032: 0xAC95, - 52564 - 44032: 0xAC96, - 52565 - 44032: 0xAC97, - 52566 - 44032: 0xAC98, - 52567 - 44032: 0xAC99, - 52568 - 44032: 0xAC9A, - 52569 - 44032: 0xAC9B, - 52570 - 44032: 0xAC9C, - 52571 - 44032: 0xAC9D, - 52572 - 44032: 0xC3D6, - 52573 - 44032: 0xAC9E, - 52574 - 44032: 0xAC9F, - 52575 - 44032: 0xACA0, - 52576 - 44032: 0xC3D7, - 52577 - 44032: 0xAD41, - 52578 - 44032: 0xAD42, - 52579 - 44032: 0xAD43, - 52580 - 44032: 0xC3D8, - 52581 - 44032: 0xAD44, - 52582 - 44032: 0xAD45, - 52583 - 44032: 0xAD46, - 52584 - 44032: 0xAD47, - 52585 - 44032: 0xAD48, - 52586 - 44032: 0xAD49, - 52587 - 44032: 0xAD4A, - 52588 - 44032: 0xC3D9, - 52589 - 44032: 0xC3DA, - 52590 - 44032: 0xAD4B, - 52591 - 44032: 0xC3DB, - 52592 - 44032: 0xAD4C, - 52593 - 44032: 0xC3DC, - 52594 - 44032: 0xAD4D, - 52595 - 44032: 0xAD4E, - 52596 - 44032: 0xAD4F, - 52597 - 44032: 0xAD50, - 52598 - 44032: 0xAD51, - 52599 - 44032: 0xAD52, - 52600 - 44032: 0xC3DD, - 52601 - 44032: 0xAD53, - 52602 - 44032: 0xAD54, - 52603 - 44032: 0xAD55, - 52604 - 44032: 0xAD56, - 52605 - 44032: 0xAD57, - 52606 - 44032: 0xAD58, - 52607 - 44032: 0xAD59, - 52608 - 44032: 0xAD5A, - 52609 - 44032: 0xAD61, - 52610 - 44032: 0xAD62, - 52611 - 44032: 0xAD63, - 52612 - 44032: 0xAD64, - 52613 - 44032: 0xAD65, - 52614 - 44032: 0xAD66, - 52615 - 44032: 0xAD67, - 52616 - 44032: 0xC3DE, - 52617 - 44032: 0xAD68, - 52618 - 44032: 0xAD69, - 52619 - 44032: 0xAD6A, - 52620 - 44032: 0xAD6B, - 52621 - 44032: 0xAD6C, - 52622 - 44032: 0xAD6D, - 52623 - 44032: 0xAD6E, - 52624 - 44032: 0xAD6F, - 52625 - 44032: 0xAD70, - 52626 - 44032: 0xAD71, - 52627 - 44032: 0xAD72, - 52628 - 44032: 0xC3DF, - 52629 - 44032: 0xC3E0, - 52630 - 44032: 0xAD73, - 52631 - 44032: 0xAD74, - 52632 - 44032: 0xC3E1, - 52633 - 44032: 0xAD75, - 52634 - 44032: 0xAD76, - 52635 - 44032: 0xAD77, - 52636 - 44032: 0xC3E2, - 52637 - 44032: 0xAD78, - 52638 - 44032: 0xAD79, - 52639 - 44032: 0xAD7A, - 52640 - 44032: 0xAD81, - 52641 - 44032: 0xAD82, - 52642 - 44032: 0xAD83, - 52643 - 44032: 0xAD84, - 52644 - 44032: 0xC3E3, - 52645 - 44032: 0xC3E4, - 52646 - 44032: 0xAD85, - 52647 - 44032: 0xC3E5, - 52648 - 44032: 0xAD86, - 52649 - 44032: 0xC3E6, - 52650 - 44032: 0xAD87, - 52651 - 44032: 0xAD88, - 52652 - 44032: 0xAD89, - 52653 - 44032: 0xAD8A, - 52654 - 44032: 0xAD8B, - 52655 - 44032: 0xAD8C, - 52656 - 44032: 0xC3E7, - 52657 - 44032: 0xAD8D, - 52658 - 44032: 0xAD8E, - 52659 - 44032: 0xAD8F, - 52660 - 44032: 0xAD90, - 52661 - 44032: 0xAD91, - 52662 - 44032: 0xAD92, - 52663 - 44032: 0xAD93, - 52664 - 44032: 0xAD94, - 52665 - 44032: 0xAD95, - 52666 - 44032: 0xAD96, - 52667 - 44032: 0xAD97, - 52668 - 44032: 0xAD98, - 52669 - 44032: 0xAD99, - 52670 - 44032: 0xAD9A, - 52671 - 44032: 0xAD9B, - 52672 - 44032: 0xAD9C, - 52673 - 44032: 0xAD9D, - 52674 - 44032: 0xAD9E, - 52675 - 44032: 0xAD9F, - 52676 - 44032: 0xC3E8, - 52677 - 44032: 0xADA0, - 52678 - 44032: 0xAE41, - 52679 - 44032: 0xAE42, - 52680 - 44032: 0xAE43, - 52681 - 44032: 0xAE44, - 52682 - 44032: 0xAE45, - 52683 - 44032: 0xAE46, - 52684 - 44032: 0xC3E9, - 52685 - 44032: 0xAE47, - 52686 - 44032: 0xAE48, - 52687 - 44032: 0xAE49, - 52688 - 44032: 0xC3EA, - 52689 - 44032: 0xAE4A, - 52690 - 44032: 0xAE4B, - 52691 - 44032: 0xAE4C, - 52692 - 44032: 0xAE4D, - 52693 - 44032: 0xAE4E, - 52694 - 44032: 0xAE4F, - 52695 - 44032: 0xAE50, - 52696 - 44032: 0xAE51, - 52697 - 44032: 0xAE52, - 52698 - 44032: 0xAE53, - 52699 - 44032: 0xAE54, - 52700 - 44032: 0xAE55, - 52701 - 44032: 0xAE56, - 52702 - 44032: 0xAE57, - 52703 - 44032: 0xAE58, - 52704 - 44032: 0xAE59, - 52705 - 44032: 0xAE5A, - 52706 - 44032: 0xAE61, - 52707 - 44032: 0xAE62, - 52708 - 44032: 0xAE63, - 52709 - 44032: 0xAE64, - 52710 - 44032: 0xAE65, - 52711 - 44032: 0xAE66, - 52712 - 44032: 0xC3EB, - 52713 - 44032: 0xAE67, - 52714 - 44032: 0xAE68, - 52715 - 44032: 0xAE69, - 52716 - 44032: 0xC3EC, - 52717 - 44032: 0xAE6A, - 52718 - 44032: 0xAE6B, - 52719 - 44032: 0xAE6C, - 52720 - 44032: 0xC3ED, - 52721 - 44032: 0xAE6D, - 52722 - 44032: 0xAE6E, - 52723 - 44032: 0xAE6F, - 52724 - 44032: 0xAE70, - 52725 - 44032: 0xAE71, - 52726 - 44032: 0xAE72, - 52727 - 44032: 0xAE73, - 52728 - 44032: 0xC3EE, - 52729 - 44032: 0xC3EF, - 52730 - 44032: 0xAE74, - 52731 - 44032: 0xC3F0, - 52732 - 44032: 0xAE75, - 52733 - 44032: 0xC3F1, - 52734 - 44032: 0xAE76, - 52735 - 44032: 0xAE77, - 52736 - 44032: 0xAE78, - 52737 - 44032: 0xAE79, - 52738 - 44032: 0xAE7A, - 52739 - 44032: 0xAE81, - 52740 - 44032: 0xC3F2, - 52741 - 44032: 0xAE82, - 52742 - 44032: 0xAE83, - 52743 - 44032: 0xAE84, - 52744 - 44032: 0xC3F3, - 52745 - 44032: 0xAE85, - 52746 - 44032: 0xAE86, - 52747 - 44032: 0xAE87, - 52748 - 44032: 0xC3F4, - 52749 - 44032: 0xAE88, - 52750 - 44032: 0xAE89, - 52751 - 44032: 0xAE8A, - 52752 - 44032: 0xAE8B, - 52753 - 44032: 0xAE8C, - 52754 - 44032: 0xAE8D, - 52755 - 44032: 0xAE8E, - 52756 - 44032: 0xC3F5, - 52757 - 44032: 0xAE8F, - 52758 - 44032: 0xAE90, - 52759 - 44032: 0xAE91, - 52760 - 44032: 0xAE92, - 52761 - 44032: 0xC3F6, - 52762 - 44032: 0xAE93, - 52763 - 44032: 0xAE94, - 52764 - 44032: 0xAE95, - 52765 - 44032: 0xAE96, - 52766 - 44032: 0xAE97, - 52767 - 44032: 0xAE98, - 52768 - 44032: 0xC3F7, - 52769 - 44032: 0xC3F8, - 52770 - 44032: 0xAE99, - 52771 - 44032: 0xAE9A, - 52772 - 44032: 0xC3F9, - 52773 - 44032: 0xAE9B, - 52774 - 44032: 0xAE9C, - 52775 - 44032: 0xAE9D, - 52776 - 44032: 0xC3FA, - 52777 - 44032: 0xAE9E, - 52778 - 44032: 0xAE9F, - 52779 - 44032: 0xAEA0, - 52780 - 44032: 0xAF41, - 52781 - 44032: 0xAF42, - 52782 - 44032: 0xAF43, - 52783 - 44032: 0xAF44, - 52784 - 44032: 0xC3FB, - 52785 - 44032: 0xC3FC, - 52786 - 44032: 0xAF45, - 52787 - 44032: 0xC3FD, - 52788 - 44032: 0xAF46, - 52789 - 44032: 0xC3FE, - 52790 - 44032: 0xAF47, - 52791 - 44032: 0xAF48, - 52792 - 44032: 0xAF49, - 52793 - 44032: 0xAF4A, - 52794 - 44032: 0xAF4B, - 52795 - 44032: 0xAF4C, - 52796 - 44032: 0xAF4D, - 52797 - 44032: 0xAF4E, - 52798 - 44032: 0xAF4F, - 52799 - 44032: 0xAF50, - 52800 - 44032: 0xAF51, - 52801 - 44032: 0xAF52, - 52802 - 44032: 0xAF53, - 52803 - 44032: 0xAF54, - 52804 - 44032: 0xAF55, - 52805 - 44032: 0xAF56, - 52806 - 44032: 0xAF57, - 52807 - 44032: 0xAF58, - 52808 - 44032: 0xAF59, - 52809 - 44032: 0xAF5A, - 52810 - 44032: 0xAF61, - 52811 - 44032: 0xAF62, - 52812 - 44032: 0xAF63, - 52813 - 44032: 0xAF64, - 52814 - 44032: 0xAF65, - 52815 - 44032: 0xAF66, - 52816 - 44032: 0xAF67, - 52817 - 44032: 0xAF68, - 52818 - 44032: 0xAF69, - 52819 - 44032: 0xAF6A, - 52820 - 44032: 0xAF6B, - 52821 - 44032: 0xAF6C, - 52822 - 44032: 0xAF6D, - 52823 - 44032: 0xAF6E, - 52824 - 44032: 0xC4A1, - 52825 - 44032: 0xC4A2, - 52826 - 44032: 0xAF6F, - 52827 - 44032: 0xAF70, - 52828 - 44032: 0xC4A3, - 52829 - 44032: 0xAF71, - 52830 - 44032: 0xAF72, - 52831 - 44032: 0xC4A4, - 52832 - 44032: 0xC4A5, - 52833 - 44032: 0xC4A6, - 52834 - 44032: 0xAF73, - 52835 - 44032: 0xAF74, - 52836 - 44032: 0xAF75, - 52837 - 44032: 0xAF76, - 52838 - 44032: 0xAF77, - 52839 - 44032: 0xAF78, - 52840 - 44032: 0xC4A7, - 52841 - 44032: 0xC4A8, - 52842 - 44032: 0xAF79, - 52843 - 44032: 0xC4A9, - 52844 - 44032: 0xAF7A, - 52845 - 44032: 0xC4AA, - 52846 - 44032: 0xAF81, - 52847 - 44032: 0xAF82, - 52848 - 44032: 0xAF83, - 52849 - 44032: 0xAF84, - 52850 - 44032: 0xAF85, - 52851 - 44032: 0xAF86, - 52852 - 44032: 0xC4AB, - 52853 - 44032: 0xC4AC, - 52854 - 44032: 0xAF87, - 52855 - 44032: 0xAF88, - 52856 - 44032: 0xC4AD, - 52857 - 44032: 0xAF89, - 52858 - 44032: 0xAF8A, - 52859 - 44032: 0xAF8B, - 52860 - 44032: 0xC4AE, - 52861 - 44032: 0xAF8C, - 52862 - 44032: 0xAF8D, - 52863 - 44032: 0xAF8E, - 52864 - 44032: 0xAF8F, - 52865 - 44032: 0xAF90, - 52866 - 44032: 0xAF91, - 52867 - 44032: 0xAF92, - 52868 - 44032: 0xC4AF, - 52869 - 44032: 0xC4B0, - 52870 - 44032: 0xAF93, - 52871 - 44032: 0xC4B1, - 52872 - 44032: 0xAF94, - 52873 - 44032: 0xC4B2, - 52874 - 44032: 0xAF95, - 52875 - 44032: 0xAF96, - 52876 - 44032: 0xAF97, - 52877 - 44032: 0xAF98, - 52878 - 44032: 0xAF99, - 52879 - 44032: 0xAF9A, - 52880 - 44032: 0xC4B3, - 52881 - 44032: 0xC4B4, - 52882 - 44032: 0xAF9B, - 52883 - 44032: 0xAF9C, - 52884 - 44032: 0xC4B5, - 52885 - 44032: 0xAF9D, - 52886 - 44032: 0xAF9E, - 52887 - 44032: 0xAF9F, - 52888 - 44032: 0xC4B6, - 52889 - 44032: 0xAFA0, - 52890 - 44032: 0xB041, - 52891 - 44032: 0xB042, - 52892 - 44032: 0xB043, - 52893 - 44032: 0xB044, - 52894 - 44032: 0xB045, - 52895 - 44032: 0xB046, - 52896 - 44032: 0xC4B7, - 52897 - 44032: 0xC4B8, - 52898 - 44032: 0xB047, - 52899 - 44032: 0xC4B9, - 52900 - 44032: 0xC4BA, - 52901 - 44032: 0xC4BB, - 52902 - 44032: 0xB048, - 52903 - 44032: 0xB049, - 52904 - 44032: 0xB04A, - 52905 - 44032: 0xB04B, - 52906 - 44032: 0xB04C, - 52907 - 44032: 0xB04D, - 52908 - 44032: 0xC4BC, - 52909 - 44032: 0xC4BD, - 52910 - 44032: 0xB04E, - 52911 - 44032: 0xB04F, - 52912 - 44032: 0xB050, - 52913 - 44032: 0xB051, - 52914 - 44032: 0xB052, - 52915 - 44032: 0xB053, - 52916 - 44032: 0xB054, - 52917 - 44032: 0xB055, - 52918 - 44032: 0xB056, - 52919 - 44032: 0xB057, - 52920 - 44032: 0xB058, - 52921 - 44032: 0xB059, - 52922 - 44032: 0xB05A, - 52923 - 44032: 0xB061, - 52924 - 44032: 0xB062, - 52925 - 44032: 0xB063, - 52926 - 44032: 0xB064, - 52927 - 44032: 0xB065, - 52928 - 44032: 0xB066, - 52929 - 44032: 0xC4BE, - 52930 - 44032: 0xB067, - 52931 - 44032: 0xB068, - 52932 - 44032: 0xB069, - 52933 - 44032: 0xB06A, - 52934 - 44032: 0xB06B, - 52935 - 44032: 0xB06C, - 52936 - 44032: 0xB06D, - 52937 - 44032: 0xB06E, - 52938 - 44032: 0xB06F, - 52939 - 44032: 0xB070, - 52940 - 44032: 0xB071, - 52941 - 44032: 0xB072, - 52942 - 44032: 0xB073, - 52943 - 44032: 0xB074, - 52944 - 44032: 0xB075, - 52945 - 44032: 0xB076, - 52946 - 44032: 0xB077, - 52947 - 44032: 0xB078, - 52948 - 44032: 0xB079, - 52949 - 44032: 0xB07A, - 52950 - 44032: 0xB081, - 52951 - 44032: 0xB082, - 52952 - 44032: 0xB083, - 52953 - 44032: 0xB084, - 52954 - 44032: 0xB085, - 52955 - 44032: 0xB086, - 52956 - 44032: 0xB087, - 52957 - 44032: 0xB088, - 52958 - 44032: 0xB089, - 52959 - 44032: 0xB08A, - 52960 - 44032: 0xB08B, - 52961 - 44032: 0xB08C, - 52962 - 44032: 0xB08D, - 52963 - 44032: 0xB08E, - 52964 - 44032: 0xC4BF, - 52965 - 44032: 0xC4C0, - 52966 - 44032: 0xB08F, - 52967 - 44032: 0xB090, - 52968 - 44032: 0xC4C1, - 52969 - 44032: 0xB091, - 52970 - 44032: 0xB092, - 52971 - 44032: 0xC4C2, - 52972 - 44032: 0xC4C3, - 52973 - 44032: 0xB093, - 52974 - 44032: 0xB094, - 52975 - 44032: 0xB095, - 52976 - 44032: 0xB096, - 52977 - 44032: 0xB097, - 52978 - 44032: 0xB098, - 52979 - 44032: 0xB099, - 52980 - 44032: 0xC4C4, - 52981 - 44032: 0xC4C5, - 52982 - 44032: 0xB09A, - 52983 - 44032: 0xC4C6, - 52984 - 44032: 0xC4C7, - 52985 - 44032: 0xC4C8, - 52986 - 44032: 0xB09B, - 52987 - 44032: 0xB09C, - 52988 - 44032: 0xB09D, - 52989 - 44032: 0xB09E, - 52990 - 44032: 0xB09F, - 52991 - 44032: 0xB0A0, - 52992 - 44032: 0xC4C9, - 52993 - 44032: 0xC4CA, - 52994 - 44032: 0xB141, - 52995 - 44032: 0xB142, - 52996 - 44032: 0xC4CB, - 52997 - 44032: 0xB143, - 52998 - 44032: 0xB144, - 52999 - 44032: 0xB145, - 53000 - 44032: 0xC4CC, - 53001 - 44032: 0xB146, - 53002 - 44032: 0xB147, - 53003 - 44032: 0xB148, - 53004 - 44032: 0xB149, - 53005 - 44032: 0xB14A, - 53006 - 44032: 0xB14B, - 53007 - 44032: 0xB14C, - 53008 - 44032: 0xC4CD, - 53009 - 44032: 0xC4CE, - 53010 - 44032: 0xB14D, - 53011 - 44032: 0xC4CF, - 53012 - 44032: 0xB14E, - 53013 - 44032: 0xC4D0, - 53014 - 44032: 0xB14F, - 53015 - 44032: 0xB150, - 53016 - 44032: 0xB151, - 53017 - 44032: 0xB152, - 53018 - 44032: 0xB153, - 53019 - 44032: 0xB154, - 53020 - 44032: 0xC4D1, - 53021 - 44032: 0xB155, - 53022 - 44032: 0xB156, - 53023 - 44032: 0xB157, - 53024 - 44032: 0xC4D2, - 53025 - 44032: 0xB158, - 53026 - 44032: 0xB159, - 53027 - 44032: 0xB15A, - 53028 - 44032: 0xC4D3, - 53029 - 44032: 0xB161, - 53030 - 44032: 0xB162, - 53031 - 44032: 0xB163, - 53032 - 44032: 0xB164, - 53033 - 44032: 0xB165, - 53034 - 44032: 0xB166, - 53035 - 44032: 0xB167, - 53036 - 44032: 0xC4D4, - 53037 - 44032: 0xC4D5, - 53038 - 44032: 0xB168, - 53039 - 44032: 0xC4D6, - 53040 - 44032: 0xC4D7, - 53041 - 44032: 0xC4D8, - 53042 - 44032: 0xB169, - 53043 - 44032: 0xB16A, - 53044 - 44032: 0xB16B, - 53045 - 44032: 0xB16C, - 53046 - 44032: 0xB16D, - 53047 - 44032: 0xB16E, - 53048 - 44032: 0xC4D9, - 53049 - 44032: 0xB16F, - 53050 - 44032: 0xB170, - 53051 - 44032: 0xB171, - 53052 - 44032: 0xB172, - 53053 - 44032: 0xB173, - 53054 - 44032: 0xB174, - 53055 - 44032: 0xB175, - 53056 - 44032: 0xB176, - 53057 - 44032: 0xB177, - 53058 - 44032: 0xB178, - 53059 - 44032: 0xB179, - 53060 - 44032: 0xB17A, - 53061 - 44032: 0xB181, - 53062 - 44032: 0xB182, - 53063 - 44032: 0xB183, - 53064 - 44032: 0xB184, - 53065 - 44032: 0xB185, - 53066 - 44032: 0xB186, - 53067 - 44032: 0xB187, - 53068 - 44032: 0xB188, - 53069 - 44032: 0xB189, - 53070 - 44032: 0xB18A, - 53071 - 44032: 0xB18B, - 53072 - 44032: 0xB18C, - 53073 - 44032: 0xB18D, - 53074 - 44032: 0xB18E, - 53075 - 44032: 0xB18F, - 53076 - 44032: 0xC4DA, - 53077 - 44032: 0xC4DB, - 53078 - 44032: 0xB190, - 53079 - 44032: 0xB191, - 53080 - 44032: 0xC4DC, - 53081 - 44032: 0xB192, - 53082 - 44032: 0xB193, - 53083 - 44032: 0xB194, - 53084 - 44032: 0xC4DD, - 53085 - 44032: 0xB195, - 53086 - 44032: 0xB196, - 53087 - 44032: 0xB197, - 53088 - 44032: 0xB198, - 53089 - 44032: 0xB199, - 53090 - 44032: 0xB19A, - 53091 - 44032: 0xB19B, - 53092 - 44032: 0xC4DE, - 53093 - 44032: 0xC4DF, - 53094 - 44032: 0xB19C, - 53095 - 44032: 0xC4E0, - 53096 - 44032: 0xB19D, - 53097 - 44032: 0xC4E1, - 53098 - 44032: 0xB19E, - 53099 - 44032: 0xB19F, - 53100 - 44032: 0xB1A0, - 53101 - 44032: 0xB241, - 53102 - 44032: 0xB242, - 53103 - 44032: 0xB243, - 53104 - 44032: 0xC4E2, - 53105 - 44032: 0xC4E3, - 53106 - 44032: 0xB244, - 53107 - 44032: 0xB245, - 53108 - 44032: 0xC4E4, - 53109 - 44032: 0xB246, - 53110 - 44032: 0xB247, - 53111 - 44032: 0xB248, - 53112 - 44032: 0xC4E5, - 53113 - 44032: 0xB249, - 53114 - 44032: 0xB24A, - 53115 - 44032: 0xB24B, - 53116 - 44032: 0xB24C, - 53117 - 44032: 0xB24D, - 53118 - 44032: 0xB24E, - 53119 - 44032: 0xB24F, - 53120 - 44032: 0xC4E6, - 53121 - 44032: 0xB250, - 53122 - 44032: 0xB251, - 53123 - 44032: 0xB252, - 53124 - 44032: 0xB253, - 53125 - 44032: 0xC4E7, - 53126 - 44032: 0xB254, - 53127 - 44032: 0xB255, - 53128 - 44032: 0xB256, - 53129 - 44032: 0xB257, - 53130 - 44032: 0xB258, - 53131 - 44032: 0xB259, - 53132 - 44032: 0xC4E8, - 53133 - 44032: 0xB25A, - 53134 - 44032: 0xB261, - 53135 - 44032: 0xB262, - 53136 - 44032: 0xB263, - 53137 - 44032: 0xB264, - 53138 - 44032: 0xB265, - 53139 - 44032: 0xB266, - 53140 - 44032: 0xB267, - 53141 - 44032: 0xB268, - 53142 - 44032: 0xB269, - 53143 - 44032: 0xB26A, - 53144 - 44032: 0xB26B, - 53145 - 44032: 0xB26C, - 53146 - 44032: 0xB26D, - 53147 - 44032: 0xB26E, - 53148 - 44032: 0xB26F, - 53149 - 44032: 0xB270, - 53150 - 44032: 0xB271, - 53151 - 44032: 0xB272, - 53152 - 44032: 0xB273, - 53153 - 44032: 0xC4E9, - 53154 - 44032: 0xB274, - 53155 - 44032: 0xB275, - 53156 - 44032: 0xB276, - 53157 - 44032: 0xB277, - 53158 - 44032: 0xB278, - 53159 - 44032: 0xB279, - 53160 - 44032: 0xC4EA, - 53161 - 44032: 0xB27A, - 53162 - 44032: 0xB281, - 53163 - 44032: 0xB282, - 53164 - 44032: 0xB283, - 53165 - 44032: 0xB284, - 53166 - 44032: 0xB285, - 53167 - 44032: 0xB286, - 53168 - 44032: 0xC4EB, - 53169 - 44032: 0xB287, - 53170 - 44032: 0xB288, - 53171 - 44032: 0xB289, - 53172 - 44032: 0xB28A, - 53173 - 44032: 0xB28B, - 53174 - 44032: 0xB28C, - 53175 - 44032: 0xB28D, - 53176 - 44032: 0xB28E, - 53177 - 44032: 0xB28F, - 53178 - 44032: 0xB290, - 53179 - 44032: 0xB291, - 53180 - 44032: 0xB292, - 53181 - 44032: 0xB293, - 53182 - 44032: 0xB294, - 53183 - 44032: 0xB295, - 53184 - 44032: 0xB296, - 53185 - 44032: 0xB297, - 53186 - 44032: 0xB298, - 53187 - 44032: 0xB299, - 53188 - 44032: 0xC4EC, - 53189 - 44032: 0xB29A, - 53190 - 44032: 0xB29B, - 53191 - 44032: 0xB29C, - 53192 - 44032: 0xB29D, - 53193 - 44032: 0xB29E, - 53194 - 44032: 0xB29F, - 53195 - 44032: 0xB2A0, - 53196 - 44032: 0xB341, - 53197 - 44032: 0xB342, - 53198 - 44032: 0xB343, - 53199 - 44032: 0xB344, - 53200 - 44032: 0xB345, - 53201 - 44032: 0xB346, - 53202 - 44032: 0xB347, - 53203 - 44032: 0xB348, - 53204 - 44032: 0xB349, - 53205 - 44032: 0xB34A, - 53206 - 44032: 0xB34B, - 53207 - 44032: 0xB34C, - 53208 - 44032: 0xB34D, - 53209 - 44032: 0xB34E, - 53210 - 44032: 0xB34F, - 53211 - 44032: 0xB350, - 53212 - 44032: 0xB351, - 53213 - 44032: 0xB352, - 53214 - 44032: 0xB353, - 53215 - 44032: 0xB354, - 53216 - 44032: 0xC4ED, - 53217 - 44032: 0xC4EE, - 53218 - 44032: 0xB355, - 53219 - 44032: 0xB356, - 53220 - 44032: 0xC4EF, - 53221 - 44032: 0xB357, - 53222 - 44032: 0xB358, - 53223 - 44032: 0xB359, - 53224 - 44032: 0xC4F0, - 53225 - 44032: 0xB35A, - 53226 - 44032: 0xB361, - 53227 - 44032: 0xB362, - 53228 - 44032: 0xB363, - 53229 - 44032: 0xB364, - 53230 - 44032: 0xB365, - 53231 - 44032: 0xB366, - 53232 - 44032: 0xC4F1, - 53233 - 44032: 0xC4F2, - 53234 - 44032: 0xB367, - 53235 - 44032: 0xC4F3, - 53236 - 44032: 0xB368, - 53237 - 44032: 0xC4F4, - 53238 - 44032: 0xB369, - 53239 - 44032: 0xB36A, - 53240 - 44032: 0xB36B, - 53241 - 44032: 0xB36C, - 53242 - 44032: 0xB36D, - 53243 - 44032: 0xB36E, - 53244 - 44032: 0xC4F5, - 53245 - 44032: 0xB36F, - 53246 - 44032: 0xB370, - 53247 - 44032: 0xB371, - 53248 - 44032: 0xC4F6, - 53249 - 44032: 0xB372, - 53250 - 44032: 0xB373, - 53251 - 44032: 0xB374, - 53252 - 44032: 0xC4F7, - 53253 - 44032: 0xB375, - 53254 - 44032: 0xB376, - 53255 - 44032: 0xB377, - 53256 - 44032: 0xB378, - 53257 - 44032: 0xB379, - 53258 - 44032: 0xB37A, - 53259 - 44032: 0xB381, - 53260 - 44032: 0xB382, - 53261 - 44032: 0xB383, - 53262 - 44032: 0xB384, - 53263 - 44032: 0xB385, - 53264 - 44032: 0xB386, - 53265 - 44032: 0xC4F8, - 53266 - 44032: 0xB387, - 53267 - 44032: 0xB388, - 53268 - 44032: 0xB389, - 53269 - 44032: 0xB38A, - 53270 - 44032: 0xB38B, - 53271 - 44032: 0xB38C, - 53272 - 44032: 0xC4F9, - 53273 - 44032: 0xB38D, - 53274 - 44032: 0xB38E, - 53275 - 44032: 0xB38F, - 53276 - 44032: 0xB390, - 53277 - 44032: 0xB391, - 53278 - 44032: 0xB392, - 53279 - 44032: 0xB393, - 53280 - 44032: 0xB394, - 53281 - 44032: 0xB395, - 53282 - 44032: 0xB396, - 53283 - 44032: 0xB397, - 53284 - 44032: 0xB398, - 53285 - 44032: 0xB399, - 53286 - 44032: 0xB39A, - 53287 - 44032: 0xB39B, - 53288 - 44032: 0xB39C, - 53289 - 44032: 0xB39D, - 53290 - 44032: 0xB39E, - 53291 - 44032: 0xB39F, - 53292 - 44032: 0xB3A0, - 53293 - 44032: 0xC4FA, - 53294 - 44032: 0xB441, - 53295 - 44032: 0xB442, - 53296 - 44032: 0xB443, - 53297 - 44032: 0xB444, - 53298 - 44032: 0xB445, - 53299 - 44032: 0xB446, - 53300 - 44032: 0xC4FB, - 53301 - 44032: 0xC4FC, - 53302 - 44032: 0xB447, - 53303 - 44032: 0xB448, - 53304 - 44032: 0xC4FD, - 53305 - 44032: 0xB449, - 53306 - 44032: 0xB44A, - 53307 - 44032: 0xB44B, - 53308 - 44032: 0xC4FE, - 53309 - 44032: 0xB44C, - 53310 - 44032: 0xB44D, - 53311 - 44032: 0xB44E, - 53312 - 44032: 0xB44F, - 53313 - 44032: 0xB450, - 53314 - 44032: 0xB451, - 53315 - 44032: 0xB452, - 53316 - 44032: 0xC5A1, - 53317 - 44032: 0xC5A2, - 53318 - 44032: 0xB453, - 53319 - 44032: 0xC5A3, - 53320 - 44032: 0xB454, - 53321 - 44032: 0xC5A4, - 53322 - 44032: 0xB455, - 53323 - 44032: 0xB456, - 53324 - 44032: 0xB457, - 53325 - 44032: 0xB458, - 53326 - 44032: 0xB459, - 53327 - 44032: 0xB45A, - 53328 - 44032: 0xC5A5, - 53329 - 44032: 0xB461, - 53330 - 44032: 0xB462, - 53331 - 44032: 0xB463, - 53332 - 44032: 0xC5A6, - 53333 - 44032: 0xB464, - 53334 - 44032: 0xB465, - 53335 - 44032: 0xB466, - 53336 - 44032: 0xC5A7, - 53337 - 44032: 0xB467, - 53338 - 44032: 0xB468, - 53339 - 44032: 0xB469, - 53340 - 44032: 0xB46A, - 53341 - 44032: 0xB46B, - 53342 - 44032: 0xB46C, - 53343 - 44032: 0xB46D, - 53344 - 44032: 0xC5A8, - 53345 - 44032: 0xB46E, - 53346 - 44032: 0xB46F, - 53347 - 44032: 0xB470, - 53348 - 44032: 0xB471, - 53349 - 44032: 0xB472, - 53350 - 44032: 0xB473, - 53351 - 44032: 0xB474, - 53352 - 44032: 0xB475, - 53353 - 44032: 0xB476, - 53354 - 44032: 0xB477, - 53355 - 44032: 0xB478, - 53356 - 44032: 0xC5A9, - 53357 - 44032: 0xC5AA, - 53358 - 44032: 0xB479, - 53359 - 44032: 0xB47A, - 53360 - 44032: 0xC5AB, - 53361 - 44032: 0xB481, - 53362 - 44032: 0xB482, - 53363 - 44032: 0xB483, - 53364 - 44032: 0xC5AC, - 53365 - 44032: 0xB484, - 53366 - 44032: 0xB485, - 53367 - 44032: 0xB486, - 53368 - 44032: 0xB487, - 53369 - 44032: 0xB488, - 53370 - 44032: 0xB489, - 53371 - 44032: 0xB48A, - 53372 - 44032: 0xC5AD, - 53373 - 44032: 0xC5AE, - 53374 - 44032: 0xB48B, - 53375 - 44032: 0xB48C, - 53376 - 44032: 0xB48D, - 53377 - 44032: 0xC5AF, - 53378 - 44032: 0xB48E, - 53379 - 44032: 0xB48F, - 53380 - 44032: 0xB490, - 53381 - 44032: 0xB491, - 53382 - 44032: 0xB492, - 53383 - 44032: 0xB493, - 53384 - 44032: 0xB494, - 53385 - 44032: 0xB495, - 53386 - 44032: 0xB496, - 53387 - 44032: 0xB497, - 53388 - 44032: 0xB498, - 53389 - 44032: 0xB499, - 53390 - 44032: 0xB49A, - 53391 - 44032: 0xB49B, - 53392 - 44032: 0xB49C, - 53393 - 44032: 0xB49D, - 53394 - 44032: 0xB49E, - 53395 - 44032: 0xB49F, - 53396 - 44032: 0xB4A0, - 53397 - 44032: 0xB541, - 53398 - 44032: 0xB542, - 53399 - 44032: 0xB543, - 53400 - 44032: 0xB544, - 53401 - 44032: 0xB545, - 53402 - 44032: 0xB546, - 53403 - 44032: 0xB547, - 53404 - 44032: 0xB548, - 53405 - 44032: 0xB549, - 53406 - 44032: 0xB54A, - 53407 - 44032: 0xB54B, - 53408 - 44032: 0xB54C, - 53409 - 44032: 0xB54D, - 53410 - 44032: 0xB54E, - 53411 - 44032: 0xB54F, - 53412 - 44032: 0xC5B0, - 53413 - 44032: 0xC5B1, - 53414 - 44032: 0xB550, - 53415 - 44032: 0xB551, - 53416 - 44032: 0xC5B2, - 53417 - 44032: 0xB552, - 53418 - 44032: 0xB553, - 53419 - 44032: 0xB554, - 53420 - 44032: 0xC5B3, - 53421 - 44032: 0xB555, - 53422 - 44032: 0xB556, - 53423 - 44032: 0xB557, - 53424 - 44032: 0xB558, - 53425 - 44032: 0xB559, - 53426 - 44032: 0xB55A, - 53427 - 44032: 0xB561, - 53428 - 44032: 0xC5B4, - 53429 - 44032: 0xC5B5, - 53430 - 44032: 0xB562, - 53431 - 44032: 0xC5B6, - 53432 - 44032: 0xB563, - 53433 - 44032: 0xC5B7, - 53434 - 44032: 0xB564, - 53435 - 44032: 0xB565, - 53436 - 44032: 0xB566, - 53437 - 44032: 0xB567, - 53438 - 44032: 0xB568, - 53439 - 44032: 0xB569, - 53440 - 44032: 0xC5B8, - 53441 - 44032: 0xC5B9, - 53442 - 44032: 0xB56A, - 53443 - 44032: 0xB56B, - 53444 - 44032: 0xC5BA, - 53445 - 44032: 0xB56C, - 53446 - 44032: 0xB56D, - 53447 - 44032: 0xB56E, - 53448 - 44032: 0xC5BB, - 53449 - 44032: 0xC5BC, - 53450 - 44032: 0xB56F, - 53451 - 44032: 0xB570, - 53452 - 44032: 0xB571, - 53453 - 44032: 0xB572, - 53454 - 44032: 0xB573, - 53455 - 44032: 0xB574, - 53456 - 44032: 0xC5BD, - 53457 - 44032: 0xC5BE, - 53458 - 44032: 0xB575, - 53459 - 44032: 0xC5BF, - 53460 - 44032: 0xC5C0, - 53461 - 44032: 0xC5C1, - 53462 - 44032: 0xB576, - 53463 - 44032: 0xB577, - 53464 - 44032: 0xB578, - 53465 - 44032: 0xB579, - 53466 - 44032: 0xB57A, - 53467 - 44032: 0xB581, - 53468 - 44032: 0xC5C2, - 53469 - 44032: 0xC5C3, - 53470 - 44032: 0xB582, - 53471 - 44032: 0xB583, - 53472 - 44032: 0xC5C4, - 53473 - 44032: 0xB584, - 53474 - 44032: 0xB585, - 53475 - 44032: 0xB586, - 53476 - 44032: 0xC5C5, - 53477 - 44032: 0xB587, - 53478 - 44032: 0xB588, - 53479 - 44032: 0xB589, - 53480 - 44032: 0xB58A, - 53481 - 44032: 0xB58B, - 53482 - 44032: 0xB58C, - 53483 - 44032: 0xB58D, - 53484 - 44032: 0xC5C6, - 53485 - 44032: 0xC5C7, - 53486 - 44032: 0xB58E, - 53487 - 44032: 0xC5C8, - 53488 - 44032: 0xC5C9, - 53489 - 44032: 0xC5CA, - 53490 - 44032: 0xB58F, - 53491 - 44032: 0xB590, - 53492 - 44032: 0xB591, - 53493 - 44032: 0xB592, - 53494 - 44032: 0xB593, - 53495 - 44032: 0xB594, - 53496 - 44032: 0xC5CB, - 53497 - 44032: 0xB595, - 53498 - 44032: 0xB596, - 53499 - 44032: 0xB597, - 53500 - 44032: 0xB598, - 53501 - 44032: 0xB599, - 53502 - 44032: 0xB59A, - 53503 - 44032: 0xB59B, - 53504 - 44032: 0xB59C, - 53505 - 44032: 0xB59D, - 53506 - 44032: 0xB59E, - 53507 - 44032: 0xB59F, - 53508 - 44032: 0xB5A0, - 53509 - 44032: 0xB641, - 53510 - 44032: 0xB642, - 53511 - 44032: 0xB643, - 53512 - 44032: 0xB644, - 53513 - 44032: 0xB645, - 53514 - 44032: 0xB646, - 53515 - 44032: 0xB647, - 53516 - 44032: 0xB648, - 53517 - 44032: 0xC5CC, - 53518 - 44032: 0xB649, - 53519 - 44032: 0xB64A, - 53520 - 44032: 0xB64B, - 53521 - 44032: 0xB64C, - 53522 - 44032: 0xB64D, - 53523 - 44032: 0xB64E, - 53524 - 44032: 0xB64F, - 53525 - 44032: 0xB650, - 53526 - 44032: 0xB651, - 53527 - 44032: 0xB652, - 53528 - 44032: 0xB653, - 53529 - 44032: 0xB654, - 53530 - 44032: 0xB655, - 53531 - 44032: 0xB656, - 53532 - 44032: 0xB657, - 53533 - 44032: 0xB658, - 53534 - 44032: 0xB659, - 53535 - 44032: 0xB65A, - 53536 - 44032: 0xB661, - 53537 - 44032: 0xB662, - 53538 - 44032: 0xB663, - 53539 - 44032: 0xB664, - 53540 - 44032: 0xB665, - 53541 - 44032: 0xB666, - 53542 - 44032: 0xB667, - 53543 - 44032: 0xB668, - 53544 - 44032: 0xB669, - 53545 - 44032: 0xB66A, - 53546 - 44032: 0xB66B, - 53547 - 44032: 0xB66C, - 53548 - 44032: 0xB66D, - 53549 - 44032: 0xB66E, - 53550 - 44032: 0xB66F, - 53551 - 44032: 0xB670, - 53552 - 44032: 0xC5CD, - 53553 - 44032: 0xC5CE, - 53554 - 44032: 0xB671, - 53555 - 44032: 0xB672, - 53556 - 44032: 0xC5CF, - 53557 - 44032: 0xB673, - 53558 - 44032: 0xB674, - 53559 - 44032: 0xB675, - 53560 - 44032: 0xC5D0, - 53561 - 44032: 0xB676, - 53562 - 44032: 0xC5D1, - 53563 - 44032: 0xB677, - 53564 - 44032: 0xB678, - 53565 - 44032: 0xB679, - 53566 - 44032: 0xB67A, - 53567 - 44032: 0xB681, - 53568 - 44032: 0xC5D2, - 53569 - 44032: 0xC5D3, - 53570 - 44032: 0xB682, - 53571 - 44032: 0xC5D4, - 53572 - 44032: 0xC5D5, - 53573 - 44032: 0xC5D6, - 53574 - 44032: 0xB683, - 53575 - 44032: 0xB684, - 53576 - 44032: 0xB685, - 53577 - 44032: 0xB686, - 53578 - 44032: 0xB687, - 53579 - 44032: 0xB688, - 53580 - 44032: 0xC5D7, - 53581 - 44032: 0xC5D8, - 53582 - 44032: 0xB689, - 53583 - 44032: 0xB68A, - 53584 - 44032: 0xC5D9, - 53585 - 44032: 0xB68B, - 53586 - 44032: 0xB68C, - 53587 - 44032: 0xB68D, - 53588 - 44032: 0xC5DA, - 53589 - 44032: 0xB68E, - 53590 - 44032: 0xB68F, - 53591 - 44032: 0xB690, - 53592 - 44032: 0xB691, - 53593 - 44032: 0xB692, - 53594 - 44032: 0xB693, - 53595 - 44032: 0xB694, - 53596 - 44032: 0xC5DB, - 53597 - 44032: 0xC5DC, - 53598 - 44032: 0xB695, - 53599 - 44032: 0xC5DD, - 53600 - 44032: 0xB696, - 53601 - 44032: 0xC5DE, - 53602 - 44032: 0xB697, - 53603 - 44032: 0xB698, - 53604 - 44032: 0xB699, - 53605 - 44032: 0xB69A, - 53606 - 44032: 0xB69B, - 53607 - 44032: 0xB69C, - 53608 - 44032: 0xC5DF, - 53609 - 44032: 0xB69D, - 53610 - 44032: 0xB69E, - 53611 - 44032: 0xB69F, - 53612 - 44032: 0xC5E0, - 53613 - 44032: 0xB6A0, - 53614 - 44032: 0xB741, - 53615 - 44032: 0xB742, - 53616 - 44032: 0xB743, - 53617 - 44032: 0xB744, - 53618 - 44032: 0xB745, - 53619 - 44032: 0xB746, - 53620 - 44032: 0xB747, - 53621 - 44032: 0xB748, - 53622 - 44032: 0xB749, - 53623 - 44032: 0xB74A, - 53624 - 44032: 0xB74B, - 53625 - 44032: 0xB74C, - 53626 - 44032: 0xB74D, - 53627 - 44032: 0xB74E, - 53628 - 44032: 0xC5E1, - 53629 - 44032: 0xB74F, - 53630 - 44032: 0xB750, - 53631 - 44032: 0xB751, - 53632 - 44032: 0xB752, - 53633 - 44032: 0xB753, - 53634 - 44032: 0xB754, - 53635 - 44032: 0xB755, - 53636 - 44032: 0xC5E2, - 53637 - 44032: 0xB756, - 53638 - 44032: 0xB757, - 53639 - 44032: 0xB758, - 53640 - 44032: 0xC5E3, - 53641 - 44032: 0xB759, - 53642 - 44032: 0xB75A, - 53643 - 44032: 0xB761, - 53644 - 44032: 0xB762, - 53645 - 44032: 0xB763, - 53646 - 44032: 0xB764, - 53647 - 44032: 0xB765, - 53648 - 44032: 0xB766, - 53649 - 44032: 0xB767, - 53650 - 44032: 0xB768, - 53651 - 44032: 0xB769, - 53652 - 44032: 0xB76A, - 53653 - 44032: 0xB76B, - 53654 - 44032: 0xB76C, - 53655 - 44032: 0xB76D, - 53656 - 44032: 0xB76E, - 53657 - 44032: 0xB76F, - 53658 - 44032: 0xB770, - 53659 - 44032: 0xB771, - 53660 - 44032: 0xB772, - 53661 - 44032: 0xB773, - 53662 - 44032: 0xB774, - 53663 - 44032: 0xB775, - 53664 - 44032: 0xC5E4, - 53665 - 44032: 0xC5E5, - 53666 - 44032: 0xB776, - 53667 - 44032: 0xB777, - 53668 - 44032: 0xC5E6, - 53669 - 44032: 0xB778, - 53670 - 44032: 0xB779, - 53671 - 44032: 0xB77A, - 53672 - 44032: 0xC5E7, - 53673 - 44032: 0xB781, - 53674 - 44032: 0xB782, - 53675 - 44032: 0xB783, - 53676 - 44032: 0xB784, - 53677 - 44032: 0xB785, - 53678 - 44032: 0xB786, - 53679 - 44032: 0xB787, - 53680 - 44032: 0xC5E8, - 53681 - 44032: 0xC5E9, - 53682 - 44032: 0xB788, - 53683 - 44032: 0xC5EA, - 53684 - 44032: 0xB789, - 53685 - 44032: 0xC5EB, - 53686 - 44032: 0xB78A, - 53687 - 44032: 0xB78B, - 53688 - 44032: 0xB78C, - 53689 - 44032: 0xB78D, - 53690 - 44032: 0xC5EC, - 53691 - 44032: 0xB78E, - 53692 - 44032: 0xC5ED, - 53693 - 44032: 0xB78F, - 53694 - 44032: 0xB790, - 53695 - 44032: 0xB791, - 53696 - 44032: 0xC5EE, - 53697 - 44032: 0xB792, - 53698 - 44032: 0xB793, - 53699 - 44032: 0xB794, - 53700 - 44032: 0xB795, - 53701 - 44032: 0xB796, - 53702 - 44032: 0xB797, - 53703 - 44032: 0xB798, - 53704 - 44032: 0xB799, - 53705 - 44032: 0xB79A, - 53706 - 44032: 0xB79B, - 53707 - 44032: 0xB79C, - 53708 - 44032: 0xB79D, - 53709 - 44032: 0xB79E, - 53710 - 44032: 0xB79F, - 53711 - 44032: 0xB7A0, - 53712 - 44032: 0xB841, - 53713 - 44032: 0xB842, - 53714 - 44032: 0xB843, - 53715 - 44032: 0xB844, - 53716 - 44032: 0xB845, - 53717 - 44032: 0xB846, - 53718 - 44032: 0xB847, - 53719 - 44032: 0xB848, - 53720 - 44032: 0xC5EF, - 53721 - 44032: 0xB849, - 53722 - 44032: 0xB84A, - 53723 - 44032: 0xB84B, - 53724 - 44032: 0xB84C, - 53725 - 44032: 0xB84D, - 53726 - 44032: 0xB84E, - 53727 - 44032: 0xB84F, - 53728 - 44032: 0xB850, - 53729 - 44032: 0xB851, - 53730 - 44032: 0xB852, - 53731 - 44032: 0xB853, - 53732 - 44032: 0xB854, - 53733 - 44032: 0xB855, - 53734 - 44032: 0xB856, - 53735 - 44032: 0xB857, - 53736 - 44032: 0xB858, - 53737 - 44032: 0xB859, - 53738 - 44032: 0xB85A, - 53739 - 44032: 0xB861, - 53740 - 44032: 0xB862, - 53741 - 44032: 0xB863, - 53742 - 44032: 0xB864, - 53743 - 44032: 0xB865, - 53744 - 44032: 0xB866, - 53745 - 44032: 0xB867, - 53746 - 44032: 0xB868, - 53747 - 44032: 0xB869, - 53748 - 44032: 0xC5F0, - 53749 - 44032: 0xB86A, - 53750 - 44032: 0xB86B, - 53751 - 44032: 0xB86C, - 53752 - 44032: 0xC5F1, - 53753 - 44032: 0xB86D, - 53754 - 44032: 0xB86E, - 53755 - 44032: 0xB86F, - 53756 - 44032: 0xB870, - 53757 - 44032: 0xB871, - 53758 - 44032: 0xB872, - 53759 - 44032: 0xB873, - 53760 - 44032: 0xB874, - 53761 - 44032: 0xB875, - 53762 - 44032: 0xB876, - 53763 - 44032: 0xB877, - 53764 - 44032: 0xB878, - 53765 - 44032: 0xB879, - 53766 - 44032: 0xB87A, - 53767 - 44032: 0xC5F2, - 53768 - 44032: 0xB881, - 53769 - 44032: 0xC5F3, - 53770 - 44032: 0xB882, - 53771 - 44032: 0xB883, - 53772 - 44032: 0xB884, - 53773 - 44032: 0xB885, - 53774 - 44032: 0xB886, - 53775 - 44032: 0xB887, - 53776 - 44032: 0xC5F4, - 53777 - 44032: 0xB888, - 53778 - 44032: 0xB889, - 53779 - 44032: 0xB88A, - 53780 - 44032: 0xB88B, - 53781 - 44032: 0xB88C, - 53782 - 44032: 0xB88D, - 53783 - 44032: 0xB88E, - 53784 - 44032: 0xB88F, - 53785 - 44032: 0xB890, - 53786 - 44032: 0xB891, - 53787 - 44032: 0xB892, - 53788 - 44032: 0xB893, - 53789 - 44032: 0xB894, - 53790 - 44032: 0xB895, - 53791 - 44032: 0xB896, - 53792 - 44032: 0xB897, - 53793 - 44032: 0xB898, - 53794 - 44032: 0xB899, - 53795 - 44032: 0xB89A, - 53796 - 44032: 0xB89B, - 53797 - 44032: 0xB89C, - 53798 - 44032: 0xB89D, - 53799 - 44032: 0xB89E, - 53800 - 44032: 0xB89F, - 53801 - 44032: 0xB8A0, - 53802 - 44032: 0xB941, - 53803 - 44032: 0xB942, - 53804 - 44032: 0xC5F5, - 53805 - 44032: 0xC5F6, - 53806 - 44032: 0xB943, - 53807 - 44032: 0xB944, - 53808 - 44032: 0xC5F7, - 53809 - 44032: 0xB945, - 53810 - 44032: 0xB946, - 53811 - 44032: 0xB947, - 53812 - 44032: 0xC5F8, - 53813 - 44032: 0xB948, - 53814 - 44032: 0xB949, - 53815 - 44032: 0xB94A, - 53816 - 44032: 0xB94B, - 53817 - 44032: 0xB94C, - 53818 - 44032: 0xB94D, - 53819 - 44032: 0xB94E, - 53820 - 44032: 0xC5F9, - 53821 - 44032: 0xC5FA, - 53822 - 44032: 0xB94F, - 53823 - 44032: 0xC5FB, - 53824 - 44032: 0xB950, - 53825 - 44032: 0xC5FC, - 53826 - 44032: 0xB951, - 53827 - 44032: 0xB952, - 53828 - 44032: 0xB953, - 53829 - 44032: 0xB954, - 53830 - 44032: 0xB955, - 53831 - 44032: 0xB956, - 53832 - 44032: 0xC5FD, - 53833 - 44032: 0xB957, - 53834 - 44032: 0xB958, - 53835 - 44032: 0xB959, - 53836 - 44032: 0xB95A, - 53837 - 44032: 0xB961, - 53838 - 44032: 0xB962, - 53839 - 44032: 0xB963, - 53840 - 44032: 0xB964, - 53841 - 44032: 0xB965, - 53842 - 44032: 0xB966, - 53843 - 44032: 0xB967, - 53844 - 44032: 0xB968, - 53845 - 44032: 0xB969, - 53846 - 44032: 0xB96A, - 53847 - 44032: 0xB96B, - 53848 - 44032: 0xB96C, - 53849 - 44032: 0xB96D, - 53850 - 44032: 0xB96E, - 53851 - 44032: 0xB96F, - 53852 - 44032: 0xC5FE, - 53853 - 44032: 0xB970, - 53854 - 44032: 0xB971, - 53855 - 44032: 0xB972, - 53856 - 44032: 0xB973, - 53857 - 44032: 0xB974, - 53858 - 44032: 0xB975, - 53859 - 44032: 0xB976, - 53860 - 44032: 0xC6A1, - 53861 - 44032: 0xB977, - 53862 - 44032: 0xB978, - 53863 - 44032: 0xB979, - 53864 - 44032: 0xB97A, - 53865 - 44032: 0xB981, - 53866 - 44032: 0xB982, - 53867 - 44032: 0xB983, - 53868 - 44032: 0xB984, - 53869 - 44032: 0xB985, - 53870 - 44032: 0xB986, - 53871 - 44032: 0xB987, - 53872 - 44032: 0xB988, - 53873 - 44032: 0xB989, - 53874 - 44032: 0xB98A, - 53875 - 44032: 0xB98B, - 53876 - 44032: 0xB98C, - 53877 - 44032: 0xB98D, - 53878 - 44032: 0xB98E, - 53879 - 44032: 0xB98F, - 53880 - 44032: 0xB990, - 53881 - 44032: 0xB991, - 53882 - 44032: 0xB992, - 53883 - 44032: 0xB993, - 53884 - 44032: 0xB994, - 53885 - 44032: 0xB995, - 53886 - 44032: 0xB996, - 53887 - 44032: 0xB997, - 53888 - 44032: 0xC6A2, - 53889 - 44032: 0xC6A3, - 53890 - 44032: 0xB998, - 53891 - 44032: 0xB999, - 53892 - 44032: 0xC6A4, - 53893 - 44032: 0xB99A, - 53894 - 44032: 0xB99B, - 53895 - 44032: 0xB99C, - 53896 - 44032: 0xC6A5, - 53897 - 44032: 0xB99D, - 53898 - 44032: 0xB99E, - 53899 - 44032: 0xB99F, - 53900 - 44032: 0xB9A0, - 53901 - 44032: 0xBA41, - 53902 - 44032: 0xBA42, - 53903 - 44032: 0xBA43, - 53904 - 44032: 0xC6A6, - 53905 - 44032: 0xC6A7, - 53906 - 44032: 0xBA44, - 53907 - 44032: 0xBA45, - 53908 - 44032: 0xBA46, - 53909 - 44032: 0xC6A8, - 53910 - 44032: 0xBA47, - 53911 - 44032: 0xBA48, - 53912 - 44032: 0xBA49, - 53913 - 44032: 0xBA4A, - 53914 - 44032: 0xBA4B, - 53915 - 44032: 0xBA4C, - 53916 - 44032: 0xC6A9, - 53917 - 44032: 0xBA4D, - 53918 - 44032: 0xBA4E, - 53919 - 44032: 0xBA4F, - 53920 - 44032: 0xC6AA, - 53921 - 44032: 0xBA50, - 53922 - 44032: 0xBA51, - 53923 - 44032: 0xBA52, - 53924 - 44032: 0xC6AB, - 53925 - 44032: 0xBA53, - 53926 - 44032: 0xBA54, - 53927 - 44032: 0xBA55, - 53928 - 44032: 0xBA56, - 53929 - 44032: 0xBA57, - 53930 - 44032: 0xBA58, - 53931 - 44032: 0xBA59, - 53932 - 44032: 0xC6AC, - 53933 - 44032: 0xBA5A, - 53934 - 44032: 0xBA61, - 53935 - 44032: 0xBA62, - 53936 - 44032: 0xBA63, - 53937 - 44032: 0xC6AD, - 53938 - 44032: 0xBA64, - 53939 - 44032: 0xBA65, - 53940 - 44032: 0xBA66, - 53941 - 44032: 0xBA67, - 53942 - 44032: 0xBA68, - 53943 - 44032: 0xBA69, - 53944 - 44032: 0xC6AE, - 53945 - 44032: 0xC6AF, - 53946 - 44032: 0xBA6A, - 53947 - 44032: 0xBA6B, - 53948 - 44032: 0xC6B0, - 53949 - 44032: 0xBA6C, - 53950 - 44032: 0xBA6D, - 53951 - 44032: 0xC6B1, - 53952 - 44032: 0xC6B2, - 53953 - 44032: 0xBA6E, - 53954 - 44032: 0xC6B3, - 53955 - 44032: 0xBA6F, - 53956 - 44032: 0xBA70, - 53957 - 44032: 0xBA71, - 53958 - 44032: 0xBA72, - 53959 - 44032: 0xBA73, - 53960 - 44032: 0xC6B4, - 53961 - 44032: 0xC6B5, - 53962 - 44032: 0xBA74, - 53963 - 44032: 0xC6B6, - 53964 - 44032: 0xBA75, - 53965 - 44032: 0xBA76, - 53966 - 44032: 0xBA77, - 53967 - 44032: 0xBA78, - 53968 - 44032: 0xBA79, - 53969 - 44032: 0xBA7A, - 53970 - 44032: 0xBA81, - 53971 - 44032: 0xBA82, - 53972 - 44032: 0xC6B7, - 53973 - 44032: 0xBA83, - 53974 - 44032: 0xBA84, - 53975 - 44032: 0xBA85, - 53976 - 44032: 0xC6B8, - 53977 - 44032: 0xBA86, - 53978 - 44032: 0xBA87, - 53979 - 44032: 0xBA88, - 53980 - 44032: 0xC6B9, - 53981 - 44032: 0xBA89, - 53982 - 44032: 0xBA8A, - 53983 - 44032: 0xBA8B, - 53984 - 44032: 0xBA8C, - 53985 - 44032: 0xBA8D, - 53986 - 44032: 0xBA8E, - 53987 - 44032: 0xBA8F, - 53988 - 44032: 0xC6BA, - 53989 - 44032: 0xC6BB, - 53990 - 44032: 0xBA90, - 53991 - 44032: 0xBA91, - 53992 - 44032: 0xBA92, - 53993 - 44032: 0xBA93, - 53994 - 44032: 0xBA94, - 53995 - 44032: 0xBA95, - 53996 - 44032: 0xBA96, - 53997 - 44032: 0xBA97, - 53998 - 44032: 0xBA98, - 53999 - 44032: 0xBA99, - 54000 - 44032: 0xC6BC, - 54001 - 44032: 0xC6BD, - 54002 - 44032: 0xBA9A, - 54003 - 44032: 0xBA9B, - 54004 - 44032: 0xC6BE, - 54005 - 44032: 0xBA9C, - 54006 - 44032: 0xBA9D, - 54007 - 44032: 0xBA9E, - 54008 - 44032: 0xC6BF, - 54009 - 44032: 0xBA9F, - 54010 - 44032: 0xBAA0, - 54011 - 44032: 0xBB41, - 54012 - 44032: 0xBB42, - 54013 - 44032: 0xBB43, - 54014 - 44032: 0xBB44, - 54015 - 44032: 0xBB45, - 54016 - 44032: 0xC6C0, - 54017 - 44032: 0xC6C1, - 54018 - 44032: 0xBB46, - 54019 - 44032: 0xC6C2, - 54020 - 44032: 0xBB47, - 54021 - 44032: 0xC6C3, - 54022 - 44032: 0xBB48, - 54023 - 44032: 0xBB49, - 54024 - 44032: 0xBB4A, - 54025 - 44032: 0xBB4B, - 54026 - 44032: 0xBB4C, - 54027 - 44032: 0xBB4D, - 54028 - 44032: 0xC6C4, - 54029 - 44032: 0xC6C5, - 54030 - 44032: 0xC6C6, - 54031 - 44032: 0xBB4E, - 54032 - 44032: 0xC6C7, - 54033 - 44032: 0xBB4F, - 54034 - 44032: 0xBB50, - 54035 - 44032: 0xBB51, - 54036 - 44032: 0xC6C8, - 54037 - 44032: 0xBB52, - 54038 - 44032: 0xC6C9, - 54039 - 44032: 0xBB53, - 54040 - 44032: 0xBB54, - 54041 - 44032: 0xBB55, - 54042 - 44032: 0xBB56, - 54043 - 44032: 0xBB57, - 54044 - 44032: 0xC6CA, - 54045 - 44032: 0xC6CB, - 54046 - 44032: 0xBB58, - 54047 - 44032: 0xC6CC, - 54048 - 44032: 0xC6CD, - 54049 - 44032: 0xC6CE, - 54050 - 44032: 0xBB59, - 54051 - 44032: 0xBB5A, - 54052 - 44032: 0xBB61, - 54053 - 44032: 0xC6CF, - 54054 - 44032: 0xBB62, - 54055 - 44032: 0xBB63, - 54056 - 44032: 0xC6D0, - 54057 - 44032: 0xC6D1, - 54058 - 44032: 0xBB64, - 54059 - 44032: 0xBB65, - 54060 - 44032: 0xC6D2, - 54061 - 44032: 0xBB66, - 54062 - 44032: 0xBB67, - 54063 - 44032: 0xBB68, - 54064 - 44032: 0xC6D3, - 54065 - 44032: 0xBB69, - 54066 - 44032: 0xBB6A, - 54067 - 44032: 0xBB6B, - 54068 - 44032: 0xBB6C, - 54069 - 44032: 0xBB6D, - 54070 - 44032: 0xBB6E, - 54071 - 44032: 0xBB6F, - 54072 - 44032: 0xC6D4, - 54073 - 44032: 0xC6D5, - 54074 - 44032: 0xBB70, - 54075 - 44032: 0xC6D6, - 54076 - 44032: 0xC6D7, - 54077 - 44032: 0xC6D8, - 54078 - 44032: 0xBB71, - 54079 - 44032: 0xBB72, - 54080 - 44032: 0xBB73, - 54081 - 44032: 0xBB74, - 54082 - 44032: 0xBB75, - 54083 - 44032: 0xBB76, - 54084 - 44032: 0xC6D9, - 54085 - 44032: 0xC6DA, - 54086 - 44032: 0xBB77, - 54087 - 44032: 0xBB78, - 54088 - 44032: 0xBB79, - 54089 - 44032: 0xBB7A, - 54090 - 44032: 0xBB81, - 54091 - 44032: 0xBB82, - 54092 - 44032: 0xBB83, - 54093 - 44032: 0xBB84, - 54094 - 44032: 0xBB85, - 54095 - 44032: 0xBB86, - 54096 - 44032: 0xBB87, - 54097 - 44032: 0xBB88, - 54098 - 44032: 0xBB89, - 54099 - 44032: 0xBB8A, - 54100 - 44032: 0xBB8B, - 54101 - 44032: 0xBB8C, - 54102 - 44032: 0xBB8D, - 54103 - 44032: 0xBB8E, - 54104 - 44032: 0xBB8F, - 54105 - 44032: 0xBB90, - 54106 - 44032: 0xBB91, - 54107 - 44032: 0xBB92, - 54108 - 44032: 0xBB93, - 54109 - 44032: 0xBB94, - 54110 - 44032: 0xBB95, - 54111 - 44032: 0xBB96, - 54112 - 44032: 0xBB97, - 54113 - 44032: 0xBB98, - 54114 - 44032: 0xBB99, - 54115 - 44032: 0xBB9A, - 54116 - 44032: 0xBB9B, - 54117 - 44032: 0xBB9C, - 54118 - 44032: 0xBB9D, - 54119 - 44032: 0xBB9E, - 54120 - 44032: 0xBB9F, - 54121 - 44032: 0xBBA0, - 54122 - 44032: 0xBC41, - 54123 - 44032: 0xBC42, - 54124 - 44032: 0xBC43, - 54125 - 44032: 0xBC44, - 54126 - 44032: 0xBC45, - 54127 - 44032: 0xBC46, - 54128 - 44032: 0xBC47, - 54129 - 44032: 0xBC48, - 54130 - 44032: 0xBC49, - 54131 - 44032: 0xBC4A, - 54132 - 44032: 0xBC4B, - 54133 - 44032: 0xBC4C, - 54134 - 44032: 0xBC4D, - 54135 - 44032: 0xBC4E, - 54136 - 44032: 0xBC4F, - 54137 - 44032: 0xBC50, - 54138 - 44032: 0xBC51, - 54139 - 44032: 0xBC52, - 54140 - 44032: 0xC6DB, - 54141 - 44032: 0xC6DC, - 54142 - 44032: 0xBC53, - 54143 - 44032: 0xBC54, - 54144 - 44032: 0xC6DD, - 54145 - 44032: 0xBC55, - 54146 - 44032: 0xBC56, - 54147 - 44032: 0xBC57, - 54148 - 44032: 0xC6DE, - 54149 - 44032: 0xBC58, - 54150 - 44032: 0xBC59, - 54151 - 44032: 0xBC5A, - 54152 - 44032: 0xBC61, - 54153 - 44032: 0xBC62, - 54154 - 44032: 0xBC63, - 54155 - 44032: 0xBC64, - 54156 - 44032: 0xC6DF, - 54157 - 44032: 0xC6E0, - 54158 - 44032: 0xBC65, - 54159 - 44032: 0xC6E1, - 54160 - 44032: 0xC6E2, - 54161 - 44032: 0xC6E3, - 54162 - 44032: 0xBC66, - 54163 - 44032: 0xBC67, - 54164 - 44032: 0xBC68, - 54165 - 44032: 0xBC69, - 54166 - 44032: 0xBC6A, - 54167 - 44032: 0xBC6B, - 54168 - 44032: 0xC6E4, - 54169 - 44032: 0xC6E5, - 54170 - 44032: 0xBC6C, - 54171 - 44032: 0xBC6D, - 54172 - 44032: 0xC6E6, - 54173 - 44032: 0xBC6E, - 54174 - 44032: 0xBC6F, - 54175 - 44032: 0xBC70, - 54176 - 44032: 0xC6E7, - 54177 - 44032: 0xBC71, - 54178 - 44032: 0xBC72, - 54179 - 44032: 0xBC73, - 54180 - 44032: 0xBC74, - 54181 - 44032: 0xBC75, - 54182 - 44032: 0xBC76, - 54183 - 44032: 0xBC77, - 54184 - 44032: 0xC6E8, - 54185 - 44032: 0xC6E9, - 54186 - 44032: 0xBC78, - 54187 - 44032: 0xC6EA, - 54188 - 44032: 0xBC79, - 54189 - 44032: 0xC6EB, - 54190 - 44032: 0xBC7A, - 54191 - 44032: 0xBC81, - 54192 - 44032: 0xBC82, - 54193 - 44032: 0xBC83, - 54194 - 44032: 0xBC84, - 54195 - 44032: 0xBC85, - 54196 - 44032: 0xC6EC, - 54197 - 44032: 0xBC86, - 54198 - 44032: 0xBC87, - 54199 - 44032: 0xBC88, - 54200 - 44032: 0xC6ED, - 54201 - 44032: 0xBC89, - 54202 - 44032: 0xBC8A, - 54203 - 44032: 0xBC8B, - 54204 - 44032: 0xC6EE, - 54205 - 44032: 0xBC8C, - 54206 - 44032: 0xBC8D, - 54207 - 44032: 0xBC8E, - 54208 - 44032: 0xBC8F, - 54209 - 44032: 0xBC90, - 54210 - 44032: 0xBC91, - 54211 - 44032: 0xBC92, - 54212 - 44032: 0xC6EF, - 54213 - 44032: 0xC6F0, - 54214 - 44032: 0xBC93, - 54215 - 44032: 0xBC94, - 54216 - 44032: 0xC6F1, - 54217 - 44032: 0xC6F2, - 54218 - 44032: 0xBC95, - 54219 - 44032: 0xBC96, - 54220 - 44032: 0xBC97, - 54221 - 44032: 0xBC98, - 54222 - 44032: 0xBC99, - 54223 - 44032: 0xBC9A, - 54224 - 44032: 0xC6F3, - 54225 - 44032: 0xBC9B, - 54226 - 44032: 0xBC9C, - 54227 - 44032: 0xBC9D, - 54228 - 44032: 0xBC9E, - 54229 - 44032: 0xBC9F, - 54230 - 44032: 0xBCA0, - 54231 - 44032: 0xBD41, - 54232 - 44032: 0xC6F4, - 54233 - 44032: 0xBD42, - 54234 - 44032: 0xBD43, - 54235 - 44032: 0xBD44, - 54236 - 44032: 0xBD45, - 54237 - 44032: 0xBD46, - 54238 - 44032: 0xBD47, - 54239 - 44032: 0xBD48, - 54240 - 44032: 0xBD49, - 54241 - 44032: 0xC6F5, - 54242 - 44032: 0xBD4A, - 54243 - 44032: 0xC6F6, - 54244 - 44032: 0xBD4B, - 54245 - 44032: 0xBD4C, - 54246 - 44032: 0xBD4D, - 54247 - 44032: 0xBD4E, - 54248 - 44032: 0xBD4F, - 54249 - 44032: 0xBD50, - 54250 - 44032: 0xBD51, - 54251 - 44032: 0xBD52, - 54252 - 44032: 0xC6F7, - 54253 - 44032: 0xC6F8, - 54254 - 44032: 0xBD53, - 54255 - 44032: 0xBD54, - 54256 - 44032: 0xC6F9, - 54257 - 44032: 0xBD55, - 54258 - 44032: 0xBD56, - 54259 - 44032: 0xBD57, - 54260 - 44032: 0xC6FA, - 54261 - 44032: 0xBD58, - 54262 - 44032: 0xBD59, - 54263 - 44032: 0xBD5A, - 54264 - 44032: 0xBD61, - 54265 - 44032: 0xBD62, - 54266 - 44032: 0xBD63, - 54267 - 44032: 0xBD64, - 54268 - 44032: 0xC6FB, - 54269 - 44032: 0xC6FC, - 54270 - 44032: 0xBD65, - 54271 - 44032: 0xC6FD, - 54272 - 44032: 0xBD66, - 54273 - 44032: 0xC6FE, - 54274 - 44032: 0xBD67, - 54275 - 44032: 0xBD68, - 54276 - 44032: 0xBD69, - 54277 - 44032: 0xBD6A, - 54278 - 44032: 0xBD6B, - 54279 - 44032: 0xBD6C, - 54280 - 44032: 0xC7A1, - 54281 - 44032: 0xBD6D, - 54282 - 44032: 0xBD6E, - 54283 - 44032: 0xBD6F, - 54284 - 44032: 0xBD70, - 54285 - 44032: 0xBD71, - 54286 - 44032: 0xBD72, - 54287 - 44032: 0xBD73, - 54288 - 44032: 0xBD74, - 54289 - 44032: 0xBD75, - 54290 - 44032: 0xBD76, - 54291 - 44032: 0xBD77, - 54292 - 44032: 0xBD78, - 54293 - 44032: 0xBD79, - 54294 - 44032: 0xBD7A, - 54295 - 44032: 0xBD81, - 54296 - 44032: 0xBD82, - 54297 - 44032: 0xBD83, - 54298 - 44032: 0xBD84, - 54299 - 44032: 0xBD85, - 54300 - 44032: 0xBD86, - 54301 - 44032: 0xC7A2, - 54302 - 44032: 0xBD87, - 54303 - 44032: 0xBD88, - 54304 - 44032: 0xBD89, - 54305 - 44032: 0xBD8A, - 54306 - 44032: 0xBD8B, - 54307 - 44032: 0xBD8C, - 54308 - 44032: 0xBD8D, - 54309 - 44032: 0xBD8E, - 54310 - 44032: 0xBD8F, - 54311 - 44032: 0xBD90, - 54312 - 44032: 0xBD91, - 54313 - 44032: 0xBD92, - 54314 - 44032: 0xBD93, - 54315 - 44032: 0xBD94, - 54316 - 44032: 0xBD95, - 54317 - 44032: 0xBD96, - 54318 - 44032: 0xBD97, - 54319 - 44032: 0xBD98, - 54320 - 44032: 0xBD99, - 54321 - 44032: 0xBD9A, - 54322 - 44032: 0xBD9B, - 54323 - 44032: 0xBD9C, - 54324 - 44032: 0xBD9D, - 54325 - 44032: 0xBD9E, - 54326 - 44032: 0xBD9F, - 54327 - 44032: 0xBDA0, - 54328 - 44032: 0xBE41, - 54329 - 44032: 0xBE42, - 54330 - 44032: 0xBE43, - 54331 - 44032: 0xBE44, - 54332 - 44032: 0xBE45, - 54333 - 44032: 0xBE46, - 54334 - 44032: 0xBE47, - 54335 - 44032: 0xBE48, - 54336 - 44032: 0xC7A3, - 54337 - 44032: 0xBE49, - 54338 - 44032: 0xBE4A, - 54339 - 44032: 0xBE4B, - 54340 - 44032: 0xC7A4, - 54341 - 44032: 0xBE4C, - 54342 - 44032: 0xBE4D, - 54343 - 44032: 0xBE4E, - 54344 - 44032: 0xBE4F, - 54345 - 44032: 0xBE50, - 54346 - 44032: 0xBE51, - 54347 - 44032: 0xBE52, - 54348 - 44032: 0xBE53, - 54349 - 44032: 0xBE54, - 54350 - 44032: 0xBE55, - 54351 - 44032: 0xBE56, - 54352 - 44032: 0xBE57, - 54353 - 44032: 0xBE58, - 54354 - 44032: 0xBE59, - 54355 - 44032: 0xBE5A, - 54356 - 44032: 0xBE61, - 54357 - 44032: 0xBE62, - 54358 - 44032: 0xBE63, - 54359 - 44032: 0xBE64, - 54360 - 44032: 0xBE65, - 54361 - 44032: 0xBE66, - 54362 - 44032: 0xBE67, - 54363 - 44032: 0xBE68, - 54364 - 44032: 0xC7A5, - 54365 - 44032: 0xBE69, - 54366 - 44032: 0xBE6A, - 54367 - 44032: 0xBE6B, - 54368 - 44032: 0xC7A6, - 54369 - 44032: 0xBE6C, - 54370 - 44032: 0xBE6D, - 54371 - 44032: 0xBE6E, - 54372 - 44032: 0xC7A7, - 54373 - 44032: 0xBE6F, - 54374 - 44032: 0xBE70, - 54375 - 44032: 0xBE71, - 54376 - 44032: 0xBE72, - 54377 - 44032: 0xBE73, - 54378 - 44032: 0xBE74, - 54379 - 44032: 0xBE75, - 54380 - 44032: 0xBE76, - 54381 - 44032: 0xC7A8, - 54382 - 44032: 0xBE77, - 54383 - 44032: 0xC7A9, - 54384 - 44032: 0xBE78, - 54385 - 44032: 0xBE79, - 54386 - 44032: 0xBE7A, - 54387 - 44032: 0xBE81, - 54388 - 44032: 0xBE82, - 54389 - 44032: 0xBE83, - 54390 - 44032: 0xBE84, - 54391 - 44032: 0xBE85, - 54392 - 44032: 0xC7AA, - 54393 - 44032: 0xC7AB, - 54394 - 44032: 0xBE86, - 54395 - 44032: 0xBE87, - 54396 - 44032: 0xC7AC, - 54397 - 44032: 0xBE88, - 54398 - 44032: 0xBE89, - 54399 - 44032: 0xC7AD, - 54400 - 44032: 0xC7AE, - 54401 - 44032: 0xBE8A, - 54402 - 44032: 0xC7AF, - 54403 - 44032: 0xBE8B, - 54404 - 44032: 0xBE8C, - 54405 - 44032: 0xBE8D, - 54406 - 44032: 0xBE8E, - 54407 - 44032: 0xBE8F, - 54408 - 44032: 0xC7B0, - 54409 - 44032: 0xC7B1, - 54410 - 44032: 0xBE90, - 54411 - 44032: 0xC7B2, - 54412 - 44032: 0xBE91, - 54413 - 44032: 0xC7B3, - 54414 - 44032: 0xBE92, - 54415 - 44032: 0xBE93, - 54416 - 44032: 0xBE94, - 54417 - 44032: 0xBE95, - 54418 - 44032: 0xBE96, - 54419 - 44032: 0xBE97, - 54420 - 44032: 0xC7B4, - 54421 - 44032: 0xBE98, - 54422 - 44032: 0xBE99, - 54423 - 44032: 0xBE9A, - 54424 - 44032: 0xBE9B, - 54425 - 44032: 0xBE9C, - 54426 - 44032: 0xBE9D, - 54427 - 44032: 0xBE9E, - 54428 - 44032: 0xBE9F, - 54429 - 44032: 0xBEA0, - 54430 - 44032: 0xBF41, - 54431 - 44032: 0xBF42, - 54432 - 44032: 0xBF43, - 54433 - 44032: 0xBF44, - 54434 - 44032: 0xBF45, - 54435 - 44032: 0xBF46, - 54436 - 44032: 0xBF47, - 54437 - 44032: 0xBF48, - 54438 - 44032: 0xBF49, - 54439 - 44032: 0xBF4A, - 54440 - 44032: 0xBF4B, - 54441 - 44032: 0xC7B5, - 54442 - 44032: 0xBF4C, - 54443 - 44032: 0xBF4D, - 54444 - 44032: 0xBF4E, - 54445 - 44032: 0xBF4F, - 54446 - 44032: 0xBF50, - 54447 - 44032: 0xBF51, - 54448 - 44032: 0xBF52, - 54449 - 44032: 0xBF53, - 54450 - 44032: 0xBF54, - 54451 - 44032: 0xBF55, - 54452 - 44032: 0xBF56, - 54453 - 44032: 0xBF57, - 54454 - 44032: 0xBF58, - 54455 - 44032: 0xBF59, - 54456 - 44032: 0xBF5A, - 54457 - 44032: 0xBF61, - 54458 - 44032: 0xBF62, - 54459 - 44032: 0xBF63, - 54460 - 44032: 0xBF64, - 54461 - 44032: 0xBF65, - 54462 - 44032: 0xBF66, - 54463 - 44032: 0xBF67, - 54464 - 44032: 0xBF68, - 54465 - 44032: 0xBF69, - 54466 - 44032: 0xBF6A, - 54467 - 44032: 0xBF6B, - 54468 - 44032: 0xBF6C, - 54469 - 44032: 0xBF6D, - 54470 - 44032: 0xBF6E, - 54471 - 44032: 0xBF6F, - 54472 - 44032: 0xBF70, - 54473 - 44032: 0xBF71, - 54474 - 44032: 0xBF72, - 54475 - 44032: 0xBF73, - 54476 - 44032: 0xC7B6, - 54477 - 44032: 0xBF74, - 54478 - 44032: 0xBF75, - 54479 - 44032: 0xBF76, - 54480 - 44032: 0xC7B7, - 54481 - 44032: 0xBF77, - 54482 - 44032: 0xBF78, - 54483 - 44032: 0xBF79, - 54484 - 44032: 0xC7B8, - 54485 - 44032: 0xBF7A, - 54486 - 44032: 0xBF81, - 54487 - 44032: 0xBF82, - 54488 - 44032: 0xBF83, - 54489 - 44032: 0xBF84, - 54490 - 44032: 0xBF85, - 54491 - 44032: 0xBF86, - 54492 - 44032: 0xC7B9, - 54493 - 44032: 0xBF87, - 54494 - 44032: 0xBF88, - 54495 - 44032: 0xC7BA, - 54496 - 44032: 0xBF89, - 54497 - 44032: 0xBF8A, - 54498 - 44032: 0xBF8B, - 54499 - 44032: 0xBF8C, - 54500 - 44032: 0xBF8D, - 54501 - 44032: 0xBF8E, - 54502 - 44032: 0xBF8F, - 54503 - 44032: 0xBF90, - 54504 - 44032: 0xC7BB, - 54505 - 44032: 0xBF91, - 54506 - 44032: 0xBF92, - 54507 - 44032: 0xBF93, - 54508 - 44032: 0xC7BC, - 54509 - 44032: 0xBF94, - 54510 - 44032: 0xBF95, - 54511 - 44032: 0xBF96, - 54512 - 44032: 0xC7BD, - 54513 - 44032: 0xBF97, - 54514 - 44032: 0xBF98, - 54515 - 44032: 0xBF99, - 54516 - 44032: 0xBF9A, - 54517 - 44032: 0xBF9B, - 54518 - 44032: 0xBF9C, - 54519 - 44032: 0xBF9D, - 54520 - 44032: 0xC7BE, - 54521 - 44032: 0xBF9E, - 54522 - 44032: 0xBF9F, - 54523 - 44032: 0xC7BF, - 54524 - 44032: 0xBFA0, - 54525 - 44032: 0xC7C0, - 54526 - 44032: 0xC041, - 54527 - 44032: 0xC042, - 54528 - 44032: 0xC043, - 54529 - 44032: 0xC044, - 54530 - 44032: 0xC045, - 54531 - 44032: 0xC046, - 54532 - 44032: 0xC7C1, - 54533 - 44032: 0xC047, - 54534 - 44032: 0xC048, - 54535 - 44032: 0xC049, - 54536 - 44032: 0xC7C2, - 54537 - 44032: 0xC04A, - 54538 - 44032: 0xC04B, - 54539 - 44032: 0xC04C, - 54540 - 44032: 0xC7C3, - 54541 - 44032: 0xC04D, - 54542 - 44032: 0xC04E, - 54543 - 44032: 0xC04F, - 54544 - 44032: 0xC050, - 54545 - 44032: 0xC051, - 54546 - 44032: 0xC052, - 54547 - 44032: 0xC053, - 54548 - 44032: 0xC7C4, - 54549 - 44032: 0xC7C5, - 54550 - 44032: 0xC054, - 54551 - 44032: 0xC7C6, - 54552 - 44032: 0xC055, - 54553 - 44032: 0xC056, - 54554 - 44032: 0xC057, - 54555 - 44032: 0xC058, - 54556 - 44032: 0xC059, - 54557 - 44032: 0xC05A, - 54558 - 44032: 0xC061, - 54559 - 44032: 0xC062, - 54560 - 44032: 0xC063, - 54561 - 44032: 0xC064, - 54562 - 44032: 0xC065, - 54563 - 44032: 0xC066, - 54564 - 44032: 0xC067, - 54565 - 44032: 0xC068, - 54566 - 44032: 0xC069, - 54567 - 44032: 0xC06A, - 54568 - 44032: 0xC06B, - 54569 - 44032: 0xC06C, - 54570 - 44032: 0xC06D, - 54571 - 44032: 0xC06E, - 54572 - 44032: 0xC06F, - 54573 - 44032: 0xC070, - 54574 - 44032: 0xC071, - 54575 - 44032: 0xC072, - 54576 - 44032: 0xC073, - 54577 - 44032: 0xC074, - 54578 - 44032: 0xC075, - 54579 - 44032: 0xC076, - 54580 - 44032: 0xC077, - 54581 - 44032: 0xC078, - 54582 - 44032: 0xC079, - 54583 - 44032: 0xC07A, - 54584 - 44032: 0xC081, - 54585 - 44032: 0xC082, - 54586 - 44032: 0xC083, - 54587 - 44032: 0xC084, - 54588 - 44032: 0xC7C7, - 54589 - 44032: 0xC7C8, - 54590 - 44032: 0xC085, - 54591 - 44032: 0xC086, - 54592 - 44032: 0xC7C9, - 54593 - 44032: 0xC087, - 54594 - 44032: 0xC088, - 54595 - 44032: 0xC089, - 54596 - 44032: 0xC7CA, - 54597 - 44032: 0xC08A, - 54598 - 44032: 0xC08B, - 54599 - 44032: 0xC08C, - 54600 - 44032: 0xC08D, - 54601 - 44032: 0xC08E, - 54602 - 44032: 0xC08F, - 54603 - 44032: 0xC090, - 54604 - 44032: 0xC7CB, - 54605 - 44032: 0xC7CC, - 54606 - 44032: 0xC091, - 54607 - 44032: 0xC7CD, - 54608 - 44032: 0xC092, - 54609 - 44032: 0xC7CE, - 54610 - 44032: 0xC093, - 54611 - 44032: 0xC094, - 54612 - 44032: 0xC095, - 54613 - 44032: 0xC096, - 54614 - 44032: 0xC097, - 54615 - 44032: 0xC098, - 54616 - 44032: 0xC7CF, - 54617 - 44032: 0xC7D0, - 54618 - 44032: 0xC099, - 54619 - 44032: 0xC09A, - 54620 - 44032: 0xC7D1, - 54621 - 44032: 0xC09B, - 54622 - 44032: 0xC09C, - 54623 - 44032: 0xC09D, - 54624 - 44032: 0xC7D2, - 54625 - 44032: 0xC09E, - 54626 - 44032: 0xC09F, - 54627 - 44032: 0xC0A0, - 54628 - 44032: 0xC141, - 54629 - 44032: 0xC7D3, - 54630 - 44032: 0xC142, - 54631 - 44032: 0xC143, - 54632 - 44032: 0xC7D4, - 54633 - 44032: 0xC7D5, - 54634 - 44032: 0xC144, - 54635 - 44032: 0xC7D6, - 54636 - 44032: 0xC145, - 54637 - 44032: 0xC7D7, - 54638 - 44032: 0xC146, - 54639 - 44032: 0xC147, - 54640 - 44032: 0xC148, - 54641 - 44032: 0xC149, - 54642 - 44032: 0xC14A, - 54643 - 44032: 0xC14B, - 54644 - 44032: 0xC7D8, - 54645 - 44032: 0xC7D9, - 54646 - 44032: 0xC14C, - 54647 - 44032: 0xC14D, - 54648 - 44032: 0xC7DA, - 54649 - 44032: 0xC14E, - 54650 - 44032: 0xC14F, - 54651 - 44032: 0xC150, - 54652 - 44032: 0xC7DB, - 54653 - 44032: 0xC151, - 54654 - 44032: 0xC152, - 54655 - 44032: 0xC153, - 54656 - 44032: 0xC154, - 54657 - 44032: 0xC155, - 54658 - 44032: 0xC156, - 54659 - 44032: 0xC157, - 54660 - 44032: 0xC7DC, - 54661 - 44032: 0xC7DD, - 54662 - 44032: 0xC158, - 54663 - 44032: 0xC7DE, - 54664 - 44032: 0xC7DF, - 54665 - 44032: 0xC7E0, - 54666 - 44032: 0xC159, - 54667 - 44032: 0xC15A, - 54668 - 44032: 0xC161, - 54669 - 44032: 0xC162, - 54670 - 44032: 0xC163, - 54671 - 44032: 0xC164, - 54672 - 44032: 0xC7E1, - 54673 - 44032: 0xC165, - 54674 - 44032: 0xC166, - 54675 - 44032: 0xC167, - 54676 - 44032: 0xC168, - 54677 - 44032: 0xC169, - 54678 - 44032: 0xC16A, - 54679 - 44032: 0xC16B, - 54680 - 44032: 0xC16C, - 54681 - 44032: 0xC16D, - 54682 - 44032: 0xC16E, - 54683 - 44032: 0xC16F, - 54684 - 44032: 0xC170, - 54685 - 44032: 0xC171, - 54686 - 44032: 0xC172, - 54687 - 44032: 0xC173, - 54688 - 44032: 0xC174, - 54689 - 44032: 0xC175, - 54690 - 44032: 0xC176, - 54691 - 44032: 0xC177, - 54692 - 44032: 0xC178, - 54693 - 44032: 0xC7E2, - 54694 - 44032: 0xC179, - 54695 - 44032: 0xC17A, - 54696 - 44032: 0xC181, - 54697 - 44032: 0xC182, - 54698 - 44032: 0xC183, - 54699 - 44032: 0xC184, - 54700 - 44032: 0xC185, - 54701 - 44032: 0xC186, - 54702 - 44032: 0xC187, - 54703 - 44032: 0xC188, - 54704 - 44032: 0xC189, - 54705 - 44032: 0xC18A, - 54706 - 44032: 0xC18B, - 54707 - 44032: 0xC18C, - 54708 - 44032: 0xC18D, - 54709 - 44032: 0xC18E, - 54710 - 44032: 0xC18F, - 54711 - 44032: 0xC190, - 54712 - 44032: 0xC191, - 54713 - 44032: 0xC192, - 54714 - 44032: 0xC193, - 54715 - 44032: 0xC194, - 54716 - 44032: 0xC195, - 54717 - 44032: 0xC196, - 54718 - 44032: 0xC197, - 54719 - 44032: 0xC198, - 54720 - 44032: 0xC199, - 54721 - 44032: 0xC19A, - 54722 - 44032: 0xC19B, - 54723 - 44032: 0xC19C, - 54724 - 44032: 0xC19D, - 54725 - 44032: 0xC19E, - 54726 - 44032: 0xC19F, - 54727 - 44032: 0xC1A0, - 54728 - 44032: 0xC7E3, - 54729 - 44032: 0xC7E4, - 54730 - 44032: 0xC241, - 54731 - 44032: 0xC242, - 54732 - 44032: 0xC7E5, - 54733 - 44032: 0xC243, - 54734 - 44032: 0xC244, - 54735 - 44032: 0xC245, - 54736 - 44032: 0xC7E6, - 54737 - 44032: 0xC246, - 54738 - 44032: 0xC7E7, - 54739 - 44032: 0xC247, - 54740 - 44032: 0xC248, - 54741 - 44032: 0xC249, - 54742 - 44032: 0xC24A, - 54743 - 44032: 0xC24B, - 54744 - 44032: 0xC7E8, - 54745 - 44032: 0xC7E9, - 54746 - 44032: 0xC24C, - 54747 - 44032: 0xC7EA, - 54748 - 44032: 0xC24D, - 54749 - 44032: 0xC7EB, - 54750 - 44032: 0xC24E, - 54751 - 44032: 0xC24F, - 54752 - 44032: 0xC250, - 54753 - 44032: 0xC251, - 54754 - 44032: 0xC252, - 54755 - 44032: 0xC253, - 54756 - 44032: 0xC7EC, - 54757 - 44032: 0xC7ED, - 54758 - 44032: 0xC254, - 54759 - 44032: 0xC255, - 54760 - 44032: 0xC7EE, - 54761 - 44032: 0xC256, - 54762 - 44032: 0xC257, - 54763 - 44032: 0xC258, - 54764 - 44032: 0xC7EF, - 54765 - 44032: 0xC259, - 54766 - 44032: 0xC25A, - 54767 - 44032: 0xC261, - 54768 - 44032: 0xC262, - 54769 - 44032: 0xC263, - 54770 - 44032: 0xC264, - 54771 - 44032: 0xC265, - 54772 - 44032: 0xC7F0, - 54773 - 44032: 0xC7F1, - 54774 - 44032: 0xC266, - 54775 - 44032: 0xC7F2, - 54776 - 44032: 0xC267, - 54777 - 44032: 0xC7F3, - 54778 - 44032: 0xC268, - 54779 - 44032: 0xC269, - 54780 - 44032: 0xC26A, - 54781 - 44032: 0xC26B, - 54782 - 44032: 0xC26C, - 54783 - 44032: 0xC26D, - 54784 - 44032: 0xC7F4, - 54785 - 44032: 0xC7F5, - 54786 - 44032: 0xC26E, - 54787 - 44032: 0xC26F, - 54788 - 44032: 0xC7F6, - 54789 - 44032: 0xC270, - 54790 - 44032: 0xC271, - 54791 - 44032: 0xC272, - 54792 - 44032: 0xC7F7, - 54793 - 44032: 0xC273, - 54794 - 44032: 0xC274, - 54795 - 44032: 0xC275, - 54796 - 44032: 0xC276, - 54797 - 44032: 0xC277, - 54798 - 44032: 0xC278, - 54799 - 44032: 0xC279, - 54800 - 44032: 0xC7F8, - 54801 - 44032: 0xC7F9, - 54802 - 44032: 0xC27A, - 54803 - 44032: 0xC7FA, - 54804 - 44032: 0xC7FB, - 54805 - 44032: 0xC7FC, - 54806 - 44032: 0xC281, - 54807 - 44032: 0xC282, - 54808 - 44032: 0xC283, - 54809 - 44032: 0xC284, - 54810 - 44032: 0xC285, - 54811 - 44032: 0xC286, - 54812 - 44032: 0xC7FD, - 54813 - 44032: 0xC287, - 54814 - 44032: 0xC288, - 54815 - 44032: 0xC289, - 54816 - 44032: 0xC7FE, - 54817 - 44032: 0xC28A, - 54818 - 44032: 0xC28B, - 54819 - 44032: 0xC28C, - 54820 - 44032: 0xC8A1, - 54821 - 44032: 0xC28D, - 54822 - 44032: 0xC28E, - 54823 - 44032: 0xC28F, - 54824 - 44032: 0xC290, - 54825 - 44032: 0xC291, - 54826 - 44032: 0xC292, - 54827 - 44032: 0xC293, - 54828 - 44032: 0xC294, - 54829 - 44032: 0xC8A2, - 54830 - 44032: 0xC295, - 54831 - 44032: 0xC296, - 54832 - 44032: 0xC297, - 54833 - 44032: 0xC298, - 54834 - 44032: 0xC299, - 54835 - 44032: 0xC29A, - 54836 - 44032: 0xC29B, - 54837 - 44032: 0xC29C, - 54838 - 44032: 0xC29D, - 54839 - 44032: 0xC29E, - 54840 - 44032: 0xC8A3, - 54841 - 44032: 0xC8A4, - 54842 - 44032: 0xC29F, - 54843 - 44032: 0xC2A0, - 54844 - 44032: 0xC8A5, - 54845 - 44032: 0xC341, - 54846 - 44032: 0xC342, - 54847 - 44032: 0xC343, - 54848 - 44032: 0xC8A6, - 54849 - 44032: 0xC344, - 54850 - 44032: 0xC345, - 54851 - 44032: 0xC346, - 54852 - 44032: 0xC347, - 54853 - 44032: 0xC8A7, - 54854 - 44032: 0xC348, - 54855 - 44032: 0xC349, - 54856 - 44032: 0xC8A8, - 54857 - 44032: 0xC8A9, - 54858 - 44032: 0xC34A, - 54859 - 44032: 0xC8AA, - 54860 - 44032: 0xC34B, - 54861 - 44032: 0xC8AB, - 54862 - 44032: 0xC34C, - 54863 - 44032: 0xC34D, - 54864 - 44032: 0xC34E, - 54865 - 44032: 0xC8AC, - 54866 - 44032: 0xC34F, - 54867 - 44032: 0xC350, - 54868 - 44032: 0xC8AD, - 54869 - 44032: 0xC8AE, - 54870 - 44032: 0xC351, - 54871 - 44032: 0xC352, - 54872 - 44032: 0xC8AF, - 54873 - 44032: 0xC353, - 54874 - 44032: 0xC354, - 54875 - 44032: 0xC355, - 54876 - 44032: 0xC8B0, - 54877 - 44032: 0xC356, - 54878 - 44032: 0xC357, - 54879 - 44032: 0xC358, - 54880 - 44032: 0xC359, - 54881 - 44032: 0xC35A, - 54882 - 44032: 0xC361, - 54883 - 44032: 0xC362, - 54884 - 44032: 0xC363, - 54885 - 44032: 0xC364, - 54886 - 44032: 0xC365, - 54887 - 44032: 0xC8B1, - 54888 - 44032: 0xC366, - 54889 - 44032: 0xC8B2, - 54890 - 44032: 0xC367, - 54891 - 44032: 0xC368, - 54892 - 44032: 0xC369, - 54893 - 44032: 0xC36A, - 54894 - 44032: 0xC36B, - 54895 - 44032: 0xC36C, - 54896 - 44032: 0xC8B3, - 54897 - 44032: 0xC8B4, - 54898 - 44032: 0xC36D, - 54899 - 44032: 0xC36E, - 54900 - 44032: 0xC8B5, - 54901 - 44032: 0xC36F, - 54902 - 44032: 0xC370, - 54903 - 44032: 0xC371, - 54904 - 44032: 0xC372, - 54905 - 44032: 0xC373, - 54906 - 44032: 0xC374, - 54907 - 44032: 0xC375, - 54908 - 44032: 0xC376, - 54909 - 44032: 0xC377, - 54910 - 44032: 0xC378, - 54911 - 44032: 0xC379, - 54912 - 44032: 0xC37A, - 54913 - 44032: 0xC381, - 54914 - 44032: 0xC382, - 54915 - 44032: 0xC8B6, - 54916 - 44032: 0xC383, - 54917 - 44032: 0xC8B7, - 54918 - 44032: 0xC384, - 54919 - 44032: 0xC385, - 54920 - 44032: 0xC386, - 54921 - 44032: 0xC387, - 54922 - 44032: 0xC388, - 54923 - 44032: 0xC389, - 54924 - 44032: 0xC8B8, - 54925 - 44032: 0xC8B9, - 54926 - 44032: 0xC38A, - 54927 - 44032: 0xC38B, - 54928 - 44032: 0xC8BA, - 54929 - 44032: 0xC38C, - 54930 - 44032: 0xC38D, - 54931 - 44032: 0xC38E, - 54932 - 44032: 0xC8BB, - 54933 - 44032: 0xC38F, - 54934 - 44032: 0xC390, - 54935 - 44032: 0xC391, - 54936 - 44032: 0xC392, - 54937 - 44032: 0xC393, - 54938 - 44032: 0xC394, - 54939 - 44032: 0xC395, - 54940 - 44032: 0xC396, - 54941 - 44032: 0xC8BC, - 54942 - 44032: 0xC397, - 54943 - 44032: 0xC8BD, - 54944 - 44032: 0xC398, - 54945 - 44032: 0xC8BE, - 54946 - 44032: 0xC399, - 54947 - 44032: 0xC39A, - 54948 - 44032: 0xC39B, - 54949 - 44032: 0xC39C, - 54950 - 44032: 0xC39D, - 54951 - 44032: 0xC39E, - 54952 - 44032: 0xC8BF, - 54953 - 44032: 0xC39F, - 54954 - 44032: 0xC3A0, - 54955 - 44032: 0xC441, - 54956 - 44032: 0xC8C0, - 54957 - 44032: 0xC442, - 54958 - 44032: 0xC443, - 54959 - 44032: 0xC444, - 54960 - 44032: 0xC8C1, - 54961 - 44032: 0xC445, - 54962 - 44032: 0xC446, - 54963 - 44032: 0xC447, - 54964 - 44032: 0xC448, - 54965 - 44032: 0xC449, - 54966 - 44032: 0xC44A, - 54967 - 44032: 0xC44B, - 54968 - 44032: 0xC44C, - 54969 - 44032: 0xC8C2, - 54970 - 44032: 0xC44D, - 54971 - 44032: 0xC8C3, - 54972 - 44032: 0xC44E, - 54973 - 44032: 0xC44F, - 54974 - 44032: 0xC450, - 54975 - 44032: 0xC451, - 54976 - 44032: 0xC452, - 54977 - 44032: 0xC453, - 54978 - 44032: 0xC454, - 54979 - 44032: 0xC455, - 54980 - 44032: 0xC8C4, - 54981 - 44032: 0xC8C5, - 54982 - 44032: 0xC456, - 54983 - 44032: 0xC457, - 54984 - 44032: 0xC8C6, - 54985 - 44032: 0xC458, - 54986 - 44032: 0xC459, - 54987 - 44032: 0xC45A, - 54988 - 44032: 0xC8C7, - 54989 - 44032: 0xC461, - 54990 - 44032: 0xC462, - 54991 - 44032: 0xC463, - 54992 - 44032: 0xC464, - 54993 - 44032: 0xC8C8, - 54994 - 44032: 0xC465, - 54995 - 44032: 0xC466, - 54996 - 44032: 0xC8C9, - 54997 - 44032: 0xC467, - 54998 - 44032: 0xC468, - 54999 - 44032: 0xC8CA, - 55000 - 44032: 0xC469, - 55001 - 44032: 0xC8CB, - 55002 - 44032: 0xC46A, - 55003 - 44032: 0xC46B, - 55004 - 44032: 0xC46C, - 55005 - 44032: 0xC46D, - 55006 - 44032: 0xC46E, - 55007 - 44032: 0xC46F, - 55008 - 44032: 0xC8CC, - 55009 - 44032: 0xC470, - 55010 - 44032: 0xC471, - 55011 - 44032: 0xC472, - 55012 - 44032: 0xC8CD, - 55013 - 44032: 0xC473, - 55014 - 44032: 0xC474, - 55015 - 44032: 0xC475, - 55016 - 44032: 0xC8CE, - 55017 - 44032: 0xC476, - 55018 - 44032: 0xC477, - 55019 - 44032: 0xC478, - 55020 - 44032: 0xC479, - 55021 - 44032: 0xC47A, - 55022 - 44032: 0xC481, - 55023 - 44032: 0xC482, - 55024 - 44032: 0xC8CF, - 55025 - 44032: 0xC483, - 55026 - 44032: 0xC484, - 55027 - 44032: 0xC485, - 55028 - 44032: 0xC486, - 55029 - 44032: 0xC8D0, - 55030 - 44032: 0xC487, - 55031 - 44032: 0xC488, - 55032 - 44032: 0xC489, - 55033 - 44032: 0xC48A, - 55034 - 44032: 0xC48B, - 55035 - 44032: 0xC48C, - 55036 - 44032: 0xC8D1, - 55037 - 44032: 0xC8D2, - 55038 - 44032: 0xC48D, - 55039 - 44032: 0xC48E, - 55040 - 44032: 0xC8D3, - 55041 - 44032: 0xC48F, - 55042 - 44032: 0xC490, - 55043 - 44032: 0xC491, - 55044 - 44032: 0xC8D4, - 55045 - 44032: 0xC492, - 55046 - 44032: 0xC493, - 55047 - 44032: 0xC494, - 55048 - 44032: 0xC495, - 55049 - 44032: 0xC496, - 55050 - 44032: 0xC497, - 55051 - 44032: 0xC498, - 55052 - 44032: 0xC499, - 55053 - 44032: 0xC49A, - 55054 - 44032: 0xC49B, - 55055 - 44032: 0xC49C, - 55056 - 44032: 0xC49D, - 55057 - 44032: 0xC8D5, - 55058 - 44032: 0xC49E, - 55059 - 44032: 0xC49F, - 55060 - 44032: 0xC4A0, - 55061 - 44032: 0xC541, - 55062 - 44032: 0xC542, - 55063 - 44032: 0xC543, - 55064 - 44032: 0xC8D6, - 55065 - 44032: 0xC8D7, - 55066 - 44032: 0xC544, - 55067 - 44032: 0xC545, - 55068 - 44032: 0xC8D8, - 55069 - 44032: 0xC546, - 55070 - 44032: 0xC547, - 55071 - 44032: 0xC548, - 55072 - 44032: 0xC8D9, - 55073 - 44032: 0xC549, - 55074 - 44032: 0xC54A, - 55075 - 44032: 0xC54B, - 55076 - 44032: 0xC54C, - 55077 - 44032: 0xC54D, - 55078 - 44032: 0xC54E, - 55079 - 44032: 0xC54F, - 55080 - 44032: 0xC8DA, - 55081 - 44032: 0xC8DB, - 55082 - 44032: 0xC550, - 55083 - 44032: 0xC8DC, - 55084 - 44032: 0xC551, - 55085 - 44032: 0xC8DD, - 55086 - 44032: 0xC552, - 55087 - 44032: 0xC553, - 55088 - 44032: 0xC554, - 55089 - 44032: 0xC555, - 55090 - 44032: 0xC556, - 55091 - 44032: 0xC557, - 55092 - 44032: 0xC8DE, - 55093 - 44032: 0xC8DF, - 55094 - 44032: 0xC558, - 55095 - 44032: 0xC559, - 55096 - 44032: 0xC8E0, - 55097 - 44032: 0xC55A, - 55098 - 44032: 0xC561, - 55099 - 44032: 0xC562, - 55100 - 44032: 0xC8E1, - 55101 - 44032: 0xC563, - 55102 - 44032: 0xC564, - 55103 - 44032: 0xC565, - 55104 - 44032: 0xC566, - 55105 - 44032: 0xC567, - 55106 - 44032: 0xC568, - 55107 - 44032: 0xC569, - 55108 - 44032: 0xC8E2, - 55109 - 44032: 0xC56A, - 55110 - 44032: 0xC56B, - 55111 - 44032: 0xC8E3, - 55112 - 44032: 0xC56C, - 55113 - 44032: 0xC8E4, - 55114 - 44032: 0xC56D, - 55115 - 44032: 0xC56E, - 55116 - 44032: 0xC56F, - 55117 - 44032: 0xC570, - 55118 - 44032: 0xC571, - 55119 - 44032: 0xC572, - 55120 - 44032: 0xC8E5, - 55121 - 44032: 0xC8E6, - 55122 - 44032: 0xC573, - 55123 - 44032: 0xC574, - 55124 - 44032: 0xC8E7, - 55125 - 44032: 0xC575, - 55126 - 44032: 0xC8E8, - 55127 - 44032: 0xC8E9, - 55128 - 44032: 0xC8EA, - 55129 - 44032: 0xC8EB, - 55130 - 44032: 0xC576, - 55131 - 44032: 0xC577, - 55132 - 44032: 0xC578, - 55133 - 44032: 0xC579, - 55134 - 44032: 0xC57A, - 55135 - 44032: 0xC581, - 55136 - 44032: 0xC8EC, - 55137 - 44032: 0xC8ED, - 55138 - 44032: 0xC582, - 55139 - 44032: 0xC8EE, - 55140 - 44032: 0xC583, - 55141 - 44032: 0xC8EF, - 55142 - 44032: 0xC584, - 55143 - 44032: 0xC585, - 55144 - 44032: 0xC586, - 55145 - 44032: 0xC8F0, - 55146 - 44032: 0xC587, - 55147 - 44032: 0xC588, - 55148 - 44032: 0xC8F1, - 55149 - 44032: 0xC589, - 55150 - 44032: 0xC58A, - 55151 - 44032: 0xC58B, - 55152 - 44032: 0xC8F2, - 55153 - 44032: 0xC58C, - 55154 - 44032: 0xC58D, - 55155 - 44032: 0xC58E, - 55156 - 44032: 0xC8F3, - 55157 - 44032: 0xC58F, - 55158 - 44032: 0xC590, - 55159 - 44032: 0xC591, - 55160 - 44032: 0xC592, - 55161 - 44032: 0xC593, - 55162 - 44032: 0xC594, - 55163 - 44032: 0xC595, - 55164 - 44032: 0xC8F4, - 55165 - 44032: 0xC8F5, - 55166 - 44032: 0xC596, - 55167 - 44032: 0xC597, - 55168 - 44032: 0xC598, - 55169 - 44032: 0xC8F6, - 55170 - 44032: 0xC599, - 55171 - 44032: 0xC59A, - 55172 - 44032: 0xC59B, - 55173 - 44032: 0xC59C, - 55174 - 44032: 0xC59D, - 55175 - 44032: 0xC59E, - 55176 - 44032: 0xC8F7, - 55177 - 44032: 0xC8F8, - 55178 - 44032: 0xC59F, - 55179 - 44032: 0xC5A0, - 55180 - 44032: 0xC8F9, - 55181 - 44032: 0xC641, - 55182 - 44032: 0xC642, - 55183 - 44032: 0xC643, - 55184 - 44032: 0xC8FA, - 55185 - 44032: 0xC644, - 55186 - 44032: 0xC645, - 55187 - 44032: 0xC646, - 55188 - 44032: 0xC647, - 55189 - 44032: 0xC648, - 55190 - 44032: 0xC649, - 55191 - 44032: 0xC64A, - 55192 - 44032: 0xC8FB, - 55193 - 44032: 0xC8FC, - 55194 - 44032: 0xC64B, - 55195 - 44032: 0xC8FD, - 55196 - 44032: 0xC64C, - 55197 - 44032: 0xC8FE, - 55198 - 44032: 0xC64D, - 55199 - 44032: 0xC64E, - 55200 - 44032: 0xC64F, - 55201 - 44032: 0xC650, - 55202 - 44032: 0xC651, - 55203 - 44032: 0xC652, -} - -const encode2Low, encode2High = 8213, 9838 - -var encode2 = [...]uint16{ - 8213 - 8213: 0xA1AA, - 8216 - 8213: 0xA1AE, - 8217 - 8213: 0xA1AF, - 8220 - 8213: 0xA1B0, - 8221 - 8213: 0xA1B1, - 8224 - 8213: 0xA2D3, - 8225 - 8213: 0xA2D4, - 8229 - 8213: 0xA1A5, - 8230 - 8213: 0xA1A6, - 8240 - 8213: 0xA2B6, - 8242 - 8213: 0xA1C7, - 8243 - 8213: 0xA1C8, - 8251 - 8213: 0xA1D8, - 8308 - 8213: 0xA9F9, - 8319 - 8213: 0xA9FA, - 8321 - 8213: 0xA9FB, - 8322 - 8213: 0xA9FC, - 8323 - 8213: 0xA9FD, - 8324 - 8213: 0xA9FE, - 8364 - 8213: 0xA2E6, - 8451 - 8213: 0xA1C9, - 8457 - 8213: 0xA2B5, - 8467 - 8213: 0xA7A4, - 8470 - 8213: 0xA2E0, - 8481 - 8213: 0xA2E5, - 8482 - 8213: 0xA2E2, - 8486 - 8213: 0xA7D9, - 8491 - 8213: 0xA1CA, - 8531 - 8213: 0xA8F7, - 8532 - 8213: 0xA8F8, - 8539 - 8213: 0xA8FB, - 8540 - 8213: 0xA8FC, - 8541 - 8213: 0xA8FD, - 8542 - 8213: 0xA8FE, - 8544 - 8213: 0xA5B0, - 8545 - 8213: 0xA5B1, - 8546 - 8213: 0xA5B2, - 8547 - 8213: 0xA5B3, - 8548 - 8213: 0xA5B4, - 8549 - 8213: 0xA5B5, - 8550 - 8213: 0xA5B6, - 8551 - 8213: 0xA5B7, - 8552 - 8213: 0xA5B8, - 8553 - 8213: 0xA5B9, - 8560 - 8213: 0xA5A1, - 8561 - 8213: 0xA5A2, - 8562 - 8213: 0xA5A3, - 8563 - 8213: 0xA5A4, - 8564 - 8213: 0xA5A5, - 8565 - 8213: 0xA5A6, - 8566 - 8213: 0xA5A7, - 8567 - 8213: 0xA5A8, - 8568 - 8213: 0xA5A9, - 8569 - 8213: 0xA5AA, - 8592 - 8213: 0xA1E7, - 8593 - 8213: 0xA1E8, - 8594 - 8213: 0xA1E6, - 8595 - 8213: 0xA1E9, - 8596 - 8213: 0xA1EA, - 8597 - 8213: 0xA2D5, - 8598 - 8213: 0xA2D8, - 8599 - 8213: 0xA2D6, - 8600 - 8213: 0xA2D9, - 8601 - 8213: 0xA2D7, - 8658 - 8213: 0xA2A1, - 8660 - 8213: 0xA2A2, - 8704 - 8213: 0xA2A3, - 8706 - 8213: 0xA1D3, - 8707 - 8213: 0xA2A4, - 8711 - 8213: 0xA1D4, - 8712 - 8213: 0xA1F4, - 8715 - 8213: 0xA1F5, - 8719 - 8213: 0xA2B3, - 8721 - 8213: 0xA2B2, - 8730 - 8213: 0xA1EE, - 8733 - 8213: 0xA1F0, - 8734 - 8213: 0xA1C4, - 8736 - 8213: 0xA1D0, - 8741 - 8213: 0xA1AB, - 8743 - 8213: 0xA1FC, - 8744 - 8213: 0xA1FD, - 8745 - 8213: 0xA1FB, - 8746 - 8213: 0xA1FA, - 8747 - 8213: 0xA1F2, - 8748 - 8213: 0xA1F3, - 8750 - 8213: 0xA2B1, - 8756 - 8213: 0xA1C5, - 8757 - 8213: 0xA1F1, - 8764 - 8213: 0xA1AD, - 8765 - 8213: 0xA1EF, - 8786 - 8213: 0xA1D6, - 8800 - 8213: 0xA1C1, - 8801 - 8213: 0xA1D5, - 8804 - 8213: 0xA1C2, - 8805 - 8213: 0xA1C3, - 8810 - 8213: 0xA1EC, - 8811 - 8213: 0xA1ED, - 8834 - 8213: 0xA1F8, - 8835 - 8213: 0xA1F9, - 8838 - 8213: 0xA1F6, - 8839 - 8213: 0xA1F7, - 8857 - 8213: 0xA2C1, - 8869 - 8213: 0xA1D1, - 8978 - 8213: 0xA1D2, - 9312 - 8213: 0xA8E7, - 9313 - 8213: 0xA8E8, - 9314 - 8213: 0xA8E9, - 9315 - 8213: 0xA8EA, - 9316 - 8213: 0xA8EB, - 9317 - 8213: 0xA8EC, - 9318 - 8213: 0xA8ED, - 9319 - 8213: 0xA8EE, - 9320 - 8213: 0xA8EF, - 9321 - 8213: 0xA8F0, - 9322 - 8213: 0xA8F1, - 9323 - 8213: 0xA8F2, - 9324 - 8213: 0xA8F3, - 9325 - 8213: 0xA8F4, - 9326 - 8213: 0xA8F5, - 9332 - 8213: 0xA9E7, - 9333 - 8213: 0xA9E8, - 9334 - 8213: 0xA9E9, - 9335 - 8213: 0xA9EA, - 9336 - 8213: 0xA9EB, - 9337 - 8213: 0xA9EC, - 9338 - 8213: 0xA9ED, - 9339 - 8213: 0xA9EE, - 9340 - 8213: 0xA9EF, - 9341 - 8213: 0xA9F0, - 9342 - 8213: 0xA9F1, - 9343 - 8213: 0xA9F2, - 9344 - 8213: 0xA9F3, - 9345 - 8213: 0xA9F4, - 9346 - 8213: 0xA9F5, - 9372 - 8213: 0xA9CD, - 9373 - 8213: 0xA9CE, - 9374 - 8213: 0xA9CF, - 9375 - 8213: 0xA9D0, - 9376 - 8213: 0xA9D1, - 9377 - 8213: 0xA9D2, - 9378 - 8213: 0xA9D3, - 9379 - 8213: 0xA9D4, - 9380 - 8213: 0xA9D5, - 9381 - 8213: 0xA9D6, - 9382 - 8213: 0xA9D7, - 9383 - 8213: 0xA9D8, - 9384 - 8213: 0xA9D9, - 9385 - 8213: 0xA9DA, - 9386 - 8213: 0xA9DB, - 9387 - 8213: 0xA9DC, - 9388 - 8213: 0xA9DD, - 9389 - 8213: 0xA9DE, - 9390 - 8213: 0xA9DF, - 9391 - 8213: 0xA9E0, - 9392 - 8213: 0xA9E1, - 9393 - 8213: 0xA9E2, - 9394 - 8213: 0xA9E3, - 9395 - 8213: 0xA9E4, - 9396 - 8213: 0xA9E5, - 9397 - 8213: 0xA9E6, - 9424 - 8213: 0xA8CD, - 9425 - 8213: 0xA8CE, - 9426 - 8213: 0xA8CF, - 9427 - 8213: 0xA8D0, - 9428 - 8213: 0xA8D1, - 9429 - 8213: 0xA8D2, - 9430 - 8213: 0xA8D3, - 9431 - 8213: 0xA8D4, - 9432 - 8213: 0xA8D5, - 9433 - 8213: 0xA8D6, - 9434 - 8213: 0xA8D7, - 9435 - 8213: 0xA8D8, - 9436 - 8213: 0xA8D9, - 9437 - 8213: 0xA8DA, - 9438 - 8213: 0xA8DB, - 9439 - 8213: 0xA8DC, - 9440 - 8213: 0xA8DD, - 9441 - 8213: 0xA8DE, - 9442 - 8213: 0xA8DF, - 9443 - 8213: 0xA8E0, - 9444 - 8213: 0xA8E1, - 9445 - 8213: 0xA8E2, - 9446 - 8213: 0xA8E3, - 9447 - 8213: 0xA8E4, - 9448 - 8213: 0xA8E5, - 9449 - 8213: 0xA8E6, - 9472 - 8213: 0xA6A1, - 9473 - 8213: 0xA6AC, - 9474 - 8213: 0xA6A2, - 9475 - 8213: 0xA6AD, - 9484 - 8213: 0xA6A3, - 9485 - 8213: 0xA6C8, - 9486 - 8213: 0xA6C7, - 9487 - 8213: 0xA6AE, - 9488 - 8213: 0xA6A4, - 9489 - 8213: 0xA6C2, - 9490 - 8213: 0xA6C1, - 9491 - 8213: 0xA6AF, - 9492 - 8213: 0xA6A6, - 9493 - 8213: 0xA6C6, - 9494 - 8213: 0xA6C5, - 9495 - 8213: 0xA6B1, - 9496 - 8213: 0xA6A5, - 9497 - 8213: 0xA6C4, - 9498 - 8213: 0xA6C3, - 9499 - 8213: 0xA6B0, - 9500 - 8213: 0xA6A7, - 9501 - 8213: 0xA6BC, - 9502 - 8213: 0xA6C9, - 9503 - 8213: 0xA6CA, - 9504 - 8213: 0xA6B7, - 9505 - 8213: 0xA6CB, - 9506 - 8213: 0xA6CC, - 9507 - 8213: 0xA6B2, - 9508 - 8213: 0xA6A9, - 9509 - 8213: 0xA6BE, - 9510 - 8213: 0xA6CD, - 9511 - 8213: 0xA6CE, - 9512 - 8213: 0xA6B9, - 9513 - 8213: 0xA6CF, - 9514 - 8213: 0xA6D0, - 9515 - 8213: 0xA6B4, - 9516 - 8213: 0xA6A8, - 9517 - 8213: 0xA6D1, - 9518 - 8213: 0xA6D2, - 9519 - 8213: 0xA6B8, - 9520 - 8213: 0xA6BD, - 9521 - 8213: 0xA6D3, - 9522 - 8213: 0xA6D4, - 9523 - 8213: 0xA6B3, - 9524 - 8213: 0xA6AA, - 9525 - 8213: 0xA6D5, - 9526 - 8213: 0xA6D6, - 9527 - 8213: 0xA6BA, - 9528 - 8213: 0xA6BF, - 9529 - 8213: 0xA6D7, - 9530 - 8213: 0xA6D8, - 9531 - 8213: 0xA6B5, - 9532 - 8213: 0xA6AB, - 9533 - 8213: 0xA6D9, - 9534 - 8213: 0xA6DA, - 9535 - 8213: 0xA6BB, - 9536 - 8213: 0xA6DB, - 9537 - 8213: 0xA6DC, - 9538 - 8213: 0xA6C0, - 9539 - 8213: 0xA6DD, - 9540 - 8213: 0xA6DE, - 9541 - 8213: 0xA6DF, - 9542 - 8213: 0xA6E0, - 9543 - 8213: 0xA6E1, - 9544 - 8213: 0xA6E2, - 9545 - 8213: 0xA6E3, - 9546 - 8213: 0xA6E4, - 9547 - 8213: 0xA6B6, - 9618 - 8213: 0xA2C6, - 9632 - 8213: 0xA1E1, - 9633 - 8213: 0xA1E0, - 9635 - 8213: 0xA2C3, - 9636 - 8213: 0xA2C7, - 9637 - 8213: 0xA2C8, - 9638 - 8213: 0xA2CB, - 9639 - 8213: 0xA2CA, - 9640 - 8213: 0xA2C9, - 9641 - 8213: 0xA2CC, - 9650 - 8213: 0xA1E3, - 9651 - 8213: 0xA1E2, - 9654 - 8213: 0xA2BA, - 9655 - 8213: 0xA2B9, - 9660 - 8213: 0xA1E5, - 9661 - 8213: 0xA1E4, - 9664 - 8213: 0xA2B8, - 9665 - 8213: 0xA2B7, - 9670 - 8213: 0xA1DF, - 9671 - 8213: 0xA1DE, - 9672 - 8213: 0xA2C2, - 9675 - 8213: 0xA1DB, - 9678 - 8213: 0xA1DD, - 9679 - 8213: 0xA1DC, - 9680 - 8213: 0xA2C4, - 9681 - 8213: 0xA2C5, - 9733 - 8213: 0xA1DA, - 9734 - 8213: 0xA1D9, - 9742 - 8213: 0xA2CF, - 9743 - 8213: 0xA2CE, - 9756 - 8213: 0xA2D0, - 9758 - 8213: 0xA2D1, - 9792 - 8213: 0xA1CF, - 9794 - 8213: 0xA1CE, - 9824 - 8213: 0xA2BC, - 9825 - 8213: 0xA2BD, - 9827 - 8213: 0xA2C0, - 9828 - 8213: 0xA2BB, - 9829 - 8213: 0xA2BE, - 9831 - 8213: 0xA2BF, - 9832 - 8213: 0xA2CD, - 9833 - 8213: 0xA2DB, - 9834 - 8213: 0xA2DC, - 9836 - 8213: 0xA2DD, - 9837 - 8213: 0xA2DA, -} - -const encode3Low, encode3High = 12288, 13278 - -var encode3 = [...]uint16{ - 12288 - 12288: 0xA1A1, - 12289 - 12288: 0xA1A2, - 12290 - 12288: 0xA1A3, - 12291 - 12288: 0xA1A8, - 12296 - 12288: 0xA1B4, - 12297 - 12288: 0xA1B5, - 12298 - 12288: 0xA1B6, - 12299 - 12288: 0xA1B7, - 12300 - 12288: 0xA1B8, - 12301 - 12288: 0xA1B9, - 12302 - 12288: 0xA1BA, - 12303 - 12288: 0xA1BB, - 12304 - 12288: 0xA1BC, - 12305 - 12288: 0xA1BD, - 12307 - 12288: 0xA1EB, - 12308 - 12288: 0xA1B2, - 12309 - 12288: 0xA1B3, - 12353 - 12288: 0xAAA1, - 12354 - 12288: 0xAAA2, - 12355 - 12288: 0xAAA3, - 12356 - 12288: 0xAAA4, - 12357 - 12288: 0xAAA5, - 12358 - 12288: 0xAAA6, - 12359 - 12288: 0xAAA7, - 12360 - 12288: 0xAAA8, - 12361 - 12288: 0xAAA9, - 12362 - 12288: 0xAAAA, - 12363 - 12288: 0xAAAB, - 12364 - 12288: 0xAAAC, - 12365 - 12288: 0xAAAD, - 12366 - 12288: 0xAAAE, - 12367 - 12288: 0xAAAF, - 12368 - 12288: 0xAAB0, - 12369 - 12288: 0xAAB1, - 12370 - 12288: 0xAAB2, - 12371 - 12288: 0xAAB3, - 12372 - 12288: 0xAAB4, - 12373 - 12288: 0xAAB5, - 12374 - 12288: 0xAAB6, - 12375 - 12288: 0xAAB7, - 12376 - 12288: 0xAAB8, - 12377 - 12288: 0xAAB9, - 12378 - 12288: 0xAABA, - 12379 - 12288: 0xAABB, - 12380 - 12288: 0xAABC, - 12381 - 12288: 0xAABD, - 12382 - 12288: 0xAABE, - 12383 - 12288: 0xAABF, - 12384 - 12288: 0xAAC0, - 12385 - 12288: 0xAAC1, - 12386 - 12288: 0xAAC2, - 12387 - 12288: 0xAAC3, - 12388 - 12288: 0xAAC4, - 12389 - 12288: 0xAAC5, - 12390 - 12288: 0xAAC6, - 12391 - 12288: 0xAAC7, - 12392 - 12288: 0xAAC8, - 12393 - 12288: 0xAAC9, - 12394 - 12288: 0xAACA, - 12395 - 12288: 0xAACB, - 12396 - 12288: 0xAACC, - 12397 - 12288: 0xAACD, - 12398 - 12288: 0xAACE, - 12399 - 12288: 0xAACF, - 12400 - 12288: 0xAAD0, - 12401 - 12288: 0xAAD1, - 12402 - 12288: 0xAAD2, - 12403 - 12288: 0xAAD3, - 12404 - 12288: 0xAAD4, - 12405 - 12288: 0xAAD5, - 12406 - 12288: 0xAAD6, - 12407 - 12288: 0xAAD7, - 12408 - 12288: 0xAAD8, - 12409 - 12288: 0xAAD9, - 12410 - 12288: 0xAADA, - 12411 - 12288: 0xAADB, - 12412 - 12288: 0xAADC, - 12413 - 12288: 0xAADD, - 12414 - 12288: 0xAADE, - 12415 - 12288: 0xAADF, - 12416 - 12288: 0xAAE0, - 12417 - 12288: 0xAAE1, - 12418 - 12288: 0xAAE2, - 12419 - 12288: 0xAAE3, - 12420 - 12288: 0xAAE4, - 12421 - 12288: 0xAAE5, - 12422 - 12288: 0xAAE6, - 12423 - 12288: 0xAAE7, - 12424 - 12288: 0xAAE8, - 12425 - 12288: 0xAAE9, - 12426 - 12288: 0xAAEA, - 12427 - 12288: 0xAAEB, - 12428 - 12288: 0xAAEC, - 12429 - 12288: 0xAAED, - 12430 - 12288: 0xAAEE, - 12431 - 12288: 0xAAEF, - 12432 - 12288: 0xAAF0, - 12433 - 12288: 0xAAF1, - 12434 - 12288: 0xAAF2, - 12435 - 12288: 0xAAF3, - 12449 - 12288: 0xABA1, - 12450 - 12288: 0xABA2, - 12451 - 12288: 0xABA3, - 12452 - 12288: 0xABA4, - 12453 - 12288: 0xABA5, - 12454 - 12288: 0xABA6, - 12455 - 12288: 0xABA7, - 12456 - 12288: 0xABA8, - 12457 - 12288: 0xABA9, - 12458 - 12288: 0xABAA, - 12459 - 12288: 0xABAB, - 12460 - 12288: 0xABAC, - 12461 - 12288: 0xABAD, - 12462 - 12288: 0xABAE, - 12463 - 12288: 0xABAF, - 12464 - 12288: 0xABB0, - 12465 - 12288: 0xABB1, - 12466 - 12288: 0xABB2, - 12467 - 12288: 0xABB3, - 12468 - 12288: 0xABB4, - 12469 - 12288: 0xABB5, - 12470 - 12288: 0xABB6, - 12471 - 12288: 0xABB7, - 12472 - 12288: 0xABB8, - 12473 - 12288: 0xABB9, - 12474 - 12288: 0xABBA, - 12475 - 12288: 0xABBB, - 12476 - 12288: 0xABBC, - 12477 - 12288: 0xABBD, - 12478 - 12288: 0xABBE, - 12479 - 12288: 0xABBF, - 12480 - 12288: 0xABC0, - 12481 - 12288: 0xABC1, - 12482 - 12288: 0xABC2, - 12483 - 12288: 0xABC3, - 12484 - 12288: 0xABC4, - 12485 - 12288: 0xABC5, - 12486 - 12288: 0xABC6, - 12487 - 12288: 0xABC7, - 12488 - 12288: 0xABC8, - 12489 - 12288: 0xABC9, - 12490 - 12288: 0xABCA, - 12491 - 12288: 0xABCB, - 12492 - 12288: 0xABCC, - 12493 - 12288: 0xABCD, - 12494 - 12288: 0xABCE, - 12495 - 12288: 0xABCF, - 12496 - 12288: 0xABD0, - 12497 - 12288: 0xABD1, - 12498 - 12288: 0xABD2, - 12499 - 12288: 0xABD3, - 12500 - 12288: 0xABD4, - 12501 - 12288: 0xABD5, - 12502 - 12288: 0xABD6, - 12503 - 12288: 0xABD7, - 12504 - 12288: 0xABD8, - 12505 - 12288: 0xABD9, - 12506 - 12288: 0xABDA, - 12507 - 12288: 0xABDB, - 12508 - 12288: 0xABDC, - 12509 - 12288: 0xABDD, - 12510 - 12288: 0xABDE, - 12511 - 12288: 0xABDF, - 12512 - 12288: 0xABE0, - 12513 - 12288: 0xABE1, - 12514 - 12288: 0xABE2, - 12515 - 12288: 0xABE3, - 12516 - 12288: 0xABE4, - 12517 - 12288: 0xABE5, - 12518 - 12288: 0xABE6, - 12519 - 12288: 0xABE7, - 12520 - 12288: 0xABE8, - 12521 - 12288: 0xABE9, - 12522 - 12288: 0xABEA, - 12523 - 12288: 0xABEB, - 12524 - 12288: 0xABEC, - 12525 - 12288: 0xABED, - 12526 - 12288: 0xABEE, - 12527 - 12288: 0xABEF, - 12528 - 12288: 0xABF0, - 12529 - 12288: 0xABF1, - 12530 - 12288: 0xABF2, - 12531 - 12288: 0xABF3, - 12532 - 12288: 0xABF4, - 12533 - 12288: 0xABF5, - 12534 - 12288: 0xABF6, - 12593 - 12288: 0xA4A1, - 12594 - 12288: 0xA4A2, - 12595 - 12288: 0xA4A3, - 12596 - 12288: 0xA4A4, - 12597 - 12288: 0xA4A5, - 12598 - 12288: 0xA4A6, - 12599 - 12288: 0xA4A7, - 12600 - 12288: 0xA4A8, - 12601 - 12288: 0xA4A9, - 12602 - 12288: 0xA4AA, - 12603 - 12288: 0xA4AB, - 12604 - 12288: 0xA4AC, - 12605 - 12288: 0xA4AD, - 12606 - 12288: 0xA4AE, - 12607 - 12288: 0xA4AF, - 12608 - 12288: 0xA4B0, - 12609 - 12288: 0xA4B1, - 12610 - 12288: 0xA4B2, - 12611 - 12288: 0xA4B3, - 12612 - 12288: 0xA4B4, - 12613 - 12288: 0xA4B5, - 12614 - 12288: 0xA4B6, - 12615 - 12288: 0xA4B7, - 12616 - 12288: 0xA4B8, - 12617 - 12288: 0xA4B9, - 12618 - 12288: 0xA4BA, - 12619 - 12288: 0xA4BB, - 12620 - 12288: 0xA4BC, - 12621 - 12288: 0xA4BD, - 12622 - 12288: 0xA4BE, - 12623 - 12288: 0xA4BF, - 12624 - 12288: 0xA4C0, - 12625 - 12288: 0xA4C1, - 12626 - 12288: 0xA4C2, - 12627 - 12288: 0xA4C3, - 12628 - 12288: 0xA4C4, - 12629 - 12288: 0xA4C5, - 12630 - 12288: 0xA4C6, - 12631 - 12288: 0xA4C7, - 12632 - 12288: 0xA4C8, - 12633 - 12288: 0xA4C9, - 12634 - 12288: 0xA4CA, - 12635 - 12288: 0xA4CB, - 12636 - 12288: 0xA4CC, - 12637 - 12288: 0xA4CD, - 12638 - 12288: 0xA4CE, - 12639 - 12288: 0xA4CF, - 12640 - 12288: 0xA4D0, - 12641 - 12288: 0xA4D1, - 12642 - 12288: 0xA4D2, - 12643 - 12288: 0xA4D3, - 12644 - 12288: 0xA4D4, - 12645 - 12288: 0xA4D5, - 12646 - 12288: 0xA4D6, - 12647 - 12288: 0xA4D7, - 12648 - 12288: 0xA4D8, - 12649 - 12288: 0xA4D9, - 12650 - 12288: 0xA4DA, - 12651 - 12288: 0xA4DB, - 12652 - 12288: 0xA4DC, - 12653 - 12288: 0xA4DD, - 12654 - 12288: 0xA4DE, - 12655 - 12288: 0xA4DF, - 12656 - 12288: 0xA4E0, - 12657 - 12288: 0xA4E1, - 12658 - 12288: 0xA4E2, - 12659 - 12288: 0xA4E3, - 12660 - 12288: 0xA4E4, - 12661 - 12288: 0xA4E5, - 12662 - 12288: 0xA4E6, - 12663 - 12288: 0xA4E7, - 12664 - 12288: 0xA4E8, - 12665 - 12288: 0xA4E9, - 12666 - 12288: 0xA4EA, - 12667 - 12288: 0xA4EB, - 12668 - 12288: 0xA4EC, - 12669 - 12288: 0xA4ED, - 12670 - 12288: 0xA4EE, - 12671 - 12288: 0xA4EF, - 12672 - 12288: 0xA4F0, - 12673 - 12288: 0xA4F1, - 12674 - 12288: 0xA4F2, - 12675 - 12288: 0xA4F3, - 12676 - 12288: 0xA4F4, - 12677 - 12288: 0xA4F5, - 12678 - 12288: 0xA4F6, - 12679 - 12288: 0xA4F7, - 12680 - 12288: 0xA4F8, - 12681 - 12288: 0xA4F9, - 12682 - 12288: 0xA4FA, - 12683 - 12288: 0xA4FB, - 12684 - 12288: 0xA4FC, - 12685 - 12288: 0xA4FD, - 12686 - 12288: 0xA4FE, - 12800 - 12288: 0xA9B1, - 12801 - 12288: 0xA9B2, - 12802 - 12288: 0xA9B3, - 12803 - 12288: 0xA9B4, - 12804 - 12288: 0xA9B5, - 12805 - 12288: 0xA9B6, - 12806 - 12288: 0xA9B7, - 12807 - 12288: 0xA9B8, - 12808 - 12288: 0xA9B9, - 12809 - 12288: 0xA9BA, - 12810 - 12288: 0xA9BB, - 12811 - 12288: 0xA9BC, - 12812 - 12288: 0xA9BD, - 12813 - 12288: 0xA9BE, - 12814 - 12288: 0xA9BF, - 12815 - 12288: 0xA9C0, - 12816 - 12288: 0xA9C1, - 12817 - 12288: 0xA9C2, - 12818 - 12288: 0xA9C3, - 12819 - 12288: 0xA9C4, - 12820 - 12288: 0xA9C5, - 12821 - 12288: 0xA9C6, - 12822 - 12288: 0xA9C7, - 12823 - 12288: 0xA9C8, - 12824 - 12288: 0xA9C9, - 12825 - 12288: 0xA9CA, - 12826 - 12288: 0xA9CB, - 12827 - 12288: 0xA9CC, - 12828 - 12288: 0xA2DF, - 12896 - 12288: 0xA8B1, - 12897 - 12288: 0xA8B2, - 12898 - 12288: 0xA8B3, - 12899 - 12288: 0xA8B4, - 12900 - 12288: 0xA8B5, - 12901 - 12288: 0xA8B6, - 12902 - 12288: 0xA8B7, - 12903 - 12288: 0xA8B8, - 12904 - 12288: 0xA8B9, - 12905 - 12288: 0xA8BA, - 12906 - 12288: 0xA8BB, - 12907 - 12288: 0xA8BC, - 12908 - 12288: 0xA8BD, - 12909 - 12288: 0xA8BE, - 12910 - 12288: 0xA8BF, - 12911 - 12288: 0xA8C0, - 12912 - 12288: 0xA8C1, - 12913 - 12288: 0xA8C2, - 12914 - 12288: 0xA8C3, - 12915 - 12288: 0xA8C4, - 12916 - 12288: 0xA8C5, - 12917 - 12288: 0xA8C6, - 12918 - 12288: 0xA8C7, - 12919 - 12288: 0xA8C8, - 12920 - 12288: 0xA8C9, - 12921 - 12288: 0xA8CA, - 12922 - 12288: 0xA8CB, - 12923 - 12288: 0xA8CC, - 12927 - 12288: 0xA2DE, - 13184 - 12288: 0xA7C9, - 13185 - 12288: 0xA7CA, - 13186 - 12288: 0xA7CB, - 13187 - 12288: 0xA7CC, - 13188 - 12288: 0xA7CD, - 13192 - 12288: 0xA7BA, - 13193 - 12288: 0xA7BB, - 13194 - 12288: 0xA7DC, - 13195 - 12288: 0xA7DD, - 13196 - 12288: 0xA7DE, - 13197 - 12288: 0xA7B6, - 13198 - 12288: 0xA7B7, - 13199 - 12288: 0xA7B8, - 13200 - 12288: 0xA7D4, - 13201 - 12288: 0xA7D5, - 13202 - 12288: 0xA7D6, - 13203 - 12288: 0xA7D7, - 13204 - 12288: 0xA7D8, - 13205 - 12288: 0xA7A1, - 13206 - 12288: 0xA7A2, - 13207 - 12288: 0xA7A3, - 13208 - 12288: 0xA7A5, - 13209 - 12288: 0xA7AB, - 13210 - 12288: 0xA7AC, - 13211 - 12288: 0xA7AD, - 13212 - 12288: 0xA7AE, - 13213 - 12288: 0xA7AF, - 13214 - 12288: 0xA7B0, - 13215 - 12288: 0xA7B1, - 13216 - 12288: 0xA7B2, - 13217 - 12288: 0xA7B3, - 13218 - 12288: 0xA7B4, - 13219 - 12288: 0xA7A7, - 13220 - 12288: 0xA7A8, - 13221 - 12288: 0xA7A9, - 13222 - 12288: 0xA7AA, - 13223 - 12288: 0xA7BD, - 13224 - 12288: 0xA7BE, - 13225 - 12288: 0xA7E5, - 13226 - 12288: 0xA7E6, - 13227 - 12288: 0xA7E7, - 13228 - 12288: 0xA7E8, - 13229 - 12288: 0xA7E1, - 13230 - 12288: 0xA7E2, - 13231 - 12288: 0xA7E3, - 13232 - 12288: 0xA7BF, - 13233 - 12288: 0xA7C0, - 13234 - 12288: 0xA7C1, - 13235 - 12288: 0xA7C2, - 13236 - 12288: 0xA7C3, - 13237 - 12288: 0xA7C4, - 13238 - 12288: 0xA7C5, - 13239 - 12288: 0xA7C6, - 13240 - 12288: 0xA7C7, - 13241 - 12288: 0xA7C8, - 13242 - 12288: 0xA7CE, - 13243 - 12288: 0xA7CF, - 13244 - 12288: 0xA7D0, - 13245 - 12288: 0xA7D1, - 13246 - 12288: 0xA7D2, - 13247 - 12288: 0xA7D3, - 13248 - 12288: 0xA7DA, - 13249 - 12288: 0xA7DB, - 13250 - 12288: 0xA2E3, - 13251 - 12288: 0xA7EC, - 13252 - 12288: 0xA7A6, - 13253 - 12288: 0xA7E0, - 13254 - 12288: 0xA7EF, - 13255 - 12288: 0xA2E1, - 13256 - 12288: 0xA7BC, - 13257 - 12288: 0xA7ED, - 13258 - 12288: 0xA7B5, - 13263 - 12288: 0xA7B9, - 13264 - 12288: 0xA7EA, - 13267 - 12288: 0xA7EB, - 13270 - 12288: 0xA7DF, - 13272 - 12288: 0xA2E4, - 13275 - 12288: 0xA7E4, - 13276 - 12288: 0xA7EE, - 13277 - 12288: 0xA7E9, -} - -const encode4Low, encode4High = 161, 1106 - -var encode4 = [...]uint16{ - 161 - 161: 0xA2AE, - 164 - 161: 0xA2B4, - 167 - 161: 0xA1D7, - 168 - 161: 0xA1A7, - 170 - 161: 0xA8A3, - 173 - 161: 0xA1A9, - 174 - 161: 0xA2E7, - 176 - 161: 0xA1C6, - 177 - 161: 0xA1BE, - 178 - 161: 0xA9F7, - 179 - 161: 0xA9F8, - 180 - 161: 0xA2A5, - 182 - 161: 0xA2D2, - 183 - 161: 0xA1A4, - 184 - 161: 0xA2AC, - 185 - 161: 0xA9F6, - 186 - 161: 0xA8AC, - 188 - 161: 0xA8F9, - 189 - 161: 0xA8F6, - 190 - 161: 0xA8FA, - 191 - 161: 0xA2AF, - 198 - 161: 0xA8A1, - 208 - 161: 0xA8A2, - 215 - 161: 0xA1BF, - 216 - 161: 0xA8AA, - 222 - 161: 0xA8AD, - 223 - 161: 0xA9AC, - 230 - 161: 0xA9A1, - 240 - 161: 0xA9A3, - 247 - 161: 0xA1C0, - 248 - 161: 0xA9AA, - 254 - 161: 0xA9AD, - 273 - 161: 0xA9A2, - 294 - 161: 0xA8A4, - 295 - 161: 0xA9A4, - 305 - 161: 0xA9A5, - 306 - 161: 0xA8A6, - 307 - 161: 0xA9A6, - 312 - 161: 0xA9A7, - 319 - 161: 0xA8A8, - 320 - 161: 0xA9A8, - 321 - 161: 0xA8A9, - 322 - 161: 0xA9A9, - 329 - 161: 0xA9B0, - 330 - 161: 0xA8AF, - 331 - 161: 0xA9AF, - 338 - 161: 0xA8AB, - 339 - 161: 0xA9AB, - 358 - 161: 0xA8AE, - 359 - 161: 0xA9AE, - 711 - 161: 0xA2A7, - 720 - 161: 0xA2B0, - 728 - 161: 0xA2A8, - 729 - 161: 0xA2AB, - 730 - 161: 0xA2AA, - 731 - 161: 0xA2AD, - 733 - 161: 0xA2A9, - 913 - 161: 0xA5C1, - 914 - 161: 0xA5C2, - 915 - 161: 0xA5C3, - 916 - 161: 0xA5C4, - 917 - 161: 0xA5C5, - 918 - 161: 0xA5C6, - 919 - 161: 0xA5C7, - 920 - 161: 0xA5C8, - 921 - 161: 0xA5C9, - 922 - 161: 0xA5CA, - 923 - 161: 0xA5CB, - 924 - 161: 0xA5CC, - 925 - 161: 0xA5CD, - 926 - 161: 0xA5CE, - 927 - 161: 0xA5CF, - 928 - 161: 0xA5D0, - 929 - 161: 0xA5D1, - 931 - 161: 0xA5D2, - 932 - 161: 0xA5D3, - 933 - 161: 0xA5D4, - 934 - 161: 0xA5D5, - 935 - 161: 0xA5D6, - 936 - 161: 0xA5D7, - 937 - 161: 0xA5D8, - 945 - 161: 0xA5E1, - 946 - 161: 0xA5E2, - 947 - 161: 0xA5E3, - 948 - 161: 0xA5E4, - 949 - 161: 0xA5E5, - 950 - 161: 0xA5E6, - 951 - 161: 0xA5E7, - 952 - 161: 0xA5E8, - 953 - 161: 0xA5E9, - 954 - 161: 0xA5EA, - 955 - 161: 0xA5EB, - 956 - 161: 0xA5EC, - 957 - 161: 0xA5ED, - 958 - 161: 0xA5EE, - 959 - 161: 0xA5EF, - 960 - 161: 0xA5F0, - 961 - 161: 0xA5F1, - 963 - 161: 0xA5F2, - 964 - 161: 0xA5F3, - 965 - 161: 0xA5F4, - 966 - 161: 0xA5F5, - 967 - 161: 0xA5F6, - 968 - 161: 0xA5F7, - 969 - 161: 0xA5F8, - 1025 - 161: 0xACA7, - 1040 - 161: 0xACA1, - 1041 - 161: 0xACA2, - 1042 - 161: 0xACA3, - 1043 - 161: 0xACA4, - 1044 - 161: 0xACA5, - 1045 - 161: 0xACA6, - 1046 - 161: 0xACA8, - 1047 - 161: 0xACA9, - 1048 - 161: 0xACAA, - 1049 - 161: 0xACAB, - 1050 - 161: 0xACAC, - 1051 - 161: 0xACAD, - 1052 - 161: 0xACAE, - 1053 - 161: 0xACAF, - 1054 - 161: 0xACB0, - 1055 - 161: 0xACB1, - 1056 - 161: 0xACB2, - 1057 - 161: 0xACB3, - 1058 - 161: 0xACB4, - 1059 - 161: 0xACB5, - 1060 - 161: 0xACB6, - 1061 - 161: 0xACB7, - 1062 - 161: 0xACB8, - 1063 - 161: 0xACB9, - 1064 - 161: 0xACBA, - 1065 - 161: 0xACBB, - 1066 - 161: 0xACBC, - 1067 - 161: 0xACBD, - 1068 - 161: 0xACBE, - 1069 - 161: 0xACBF, - 1070 - 161: 0xACC0, - 1071 - 161: 0xACC1, - 1072 - 161: 0xACD1, - 1073 - 161: 0xACD2, - 1074 - 161: 0xACD3, - 1075 - 161: 0xACD4, - 1076 - 161: 0xACD5, - 1077 - 161: 0xACD6, - 1078 - 161: 0xACD8, - 1079 - 161: 0xACD9, - 1080 - 161: 0xACDA, - 1081 - 161: 0xACDB, - 1082 - 161: 0xACDC, - 1083 - 161: 0xACDD, - 1084 - 161: 0xACDE, - 1085 - 161: 0xACDF, - 1086 - 161: 0xACE0, - 1087 - 161: 0xACE1, - 1088 - 161: 0xACE2, - 1089 - 161: 0xACE3, - 1090 - 161: 0xACE4, - 1091 - 161: 0xACE5, - 1092 - 161: 0xACE6, - 1093 - 161: 0xACE7, - 1094 - 161: 0xACE8, - 1095 - 161: 0xACE9, - 1096 - 161: 0xACEA, - 1097 - 161: 0xACEB, - 1098 - 161: 0xACEC, - 1099 - 161: 0xACED, - 1100 - 161: 0xACEE, - 1101 - 161: 0xACEF, - 1102 - 161: 0xACF0, - 1103 - 161: 0xACF1, - 1105 - 161: 0xACD7, -} - -const encode5Low, encode5High = 63744, 64012 - -var encode5 = [...]uint16{ - 63744 - 63744: 0xCBD0, - 63745 - 63744: 0xCBD6, - 63746 - 63744: 0xCBE7, - 63747 - 63744: 0xCDCF, - 63748 - 63744: 0xCDE8, - 63749 - 63744: 0xCEAD, - 63750 - 63744: 0xCFFB, - 63751 - 63744: 0xD0A2, - 63752 - 63744: 0xD0B8, - 63753 - 63744: 0xD0D0, - 63754 - 63744: 0xD0DD, - 63755 - 63744: 0xD1D4, - 63756 - 63744: 0xD1D5, - 63757 - 63744: 0xD1D8, - 63758 - 63744: 0xD1DB, - 63759 - 63744: 0xD1DC, - 63760 - 63744: 0xD1DD, - 63761 - 63744: 0xD1DE, - 63762 - 63744: 0xD1DF, - 63763 - 63744: 0xD1E0, - 63764 - 63744: 0xD1E2, - 63765 - 63744: 0xD1E3, - 63766 - 63744: 0xD1E4, - 63767 - 63744: 0xD1E5, - 63768 - 63744: 0xD1E6, - 63769 - 63744: 0xD1E8, - 63770 - 63744: 0xD1E9, - 63771 - 63744: 0xD1EA, - 63772 - 63744: 0xD1EB, - 63773 - 63744: 0xD1ED, - 63774 - 63744: 0xD1EF, - 63775 - 63744: 0xD1F0, - 63776 - 63744: 0xD1F2, - 63777 - 63744: 0xD1F6, - 63778 - 63744: 0xD1FA, - 63779 - 63744: 0xD1FC, - 63780 - 63744: 0xD1FD, - 63781 - 63744: 0xD1FE, - 63782 - 63744: 0xD2A2, - 63783 - 63744: 0xD2A3, - 63784 - 63744: 0xD2A7, - 63785 - 63744: 0xD2A8, - 63786 - 63744: 0xD2A9, - 63787 - 63744: 0xD2AA, - 63788 - 63744: 0xD2AB, - 63789 - 63744: 0xD2AD, - 63790 - 63744: 0xD2B2, - 63791 - 63744: 0xD2BE, - 63792 - 63744: 0xD2C2, - 63793 - 63744: 0xD2C3, - 63794 - 63744: 0xD2C4, - 63795 - 63744: 0xD2C6, - 63796 - 63744: 0xD2C7, - 63797 - 63744: 0xD2C8, - 63798 - 63744: 0xD2C9, - 63799 - 63744: 0xD2CA, - 63800 - 63744: 0xD2CB, - 63801 - 63744: 0xD2CD, - 63802 - 63744: 0xD2CE, - 63803 - 63744: 0xD2CF, - 63804 - 63744: 0xD2D0, - 63805 - 63744: 0xD2D1, - 63806 - 63744: 0xD2D2, - 63807 - 63744: 0xD2D3, - 63808 - 63744: 0xD2D4, - 63809 - 63744: 0xD2D5, - 63810 - 63744: 0xD2D6, - 63811 - 63744: 0xD2D7, - 63812 - 63744: 0xD2D9, - 63813 - 63744: 0xD2DA, - 63814 - 63744: 0xD2DE, - 63815 - 63744: 0xD2DF, - 63816 - 63744: 0xD2E1, - 63817 - 63744: 0xD2E2, - 63818 - 63744: 0xD2E4, - 63819 - 63744: 0xD2E5, - 63820 - 63744: 0xD2E6, - 63821 - 63744: 0xD2E7, - 63822 - 63744: 0xD2E8, - 63823 - 63744: 0xD2E9, - 63824 - 63744: 0xD2EA, - 63825 - 63744: 0xD2EB, - 63826 - 63744: 0xD2F0, - 63827 - 63744: 0xD2F1, - 63828 - 63744: 0xD2F2, - 63829 - 63744: 0xD2F3, - 63830 - 63744: 0xD2F4, - 63831 - 63744: 0xD2F5, - 63832 - 63744: 0xD2F7, - 63833 - 63744: 0xD2F8, - 63834 - 63744: 0xD4E6, - 63835 - 63744: 0xD4FC, - 63836 - 63744: 0xD5A5, - 63837 - 63744: 0xD5AB, - 63838 - 63744: 0xD5AE, - 63839 - 63744: 0xD6B8, - 63840 - 63744: 0xD6CD, - 63841 - 63744: 0xD7CB, - 63842 - 63744: 0xD7E4, - 63843 - 63744: 0xDBC5, - 63844 - 63744: 0xDBE4, - 63845 - 63744: 0xDCA5, - 63846 - 63744: 0xDDA5, - 63847 - 63744: 0xDDD5, - 63848 - 63744: 0xDDF4, - 63849 - 63744: 0xDEFC, - 63850 - 63744: 0xDEFE, - 63851 - 63744: 0xDFB3, - 63852 - 63744: 0xDFE1, - 63853 - 63744: 0xDFE8, - 63854 - 63744: 0xE0F1, - 63855 - 63744: 0xE1AD, - 63856 - 63744: 0xE1ED, - 63857 - 63744: 0xE3F5, - 63858 - 63744: 0xE4A1, - 63859 - 63744: 0xE4A9, - 63860 - 63744: 0xE5AE, - 63861 - 63744: 0xE5B1, - 63862 - 63744: 0xE5B2, - 63863 - 63744: 0xE5B9, - 63864 - 63744: 0xE5BB, - 63865 - 63744: 0xE5BC, - 63866 - 63744: 0xE5C4, - 63867 - 63744: 0xE5CE, - 63868 - 63744: 0xE5D0, - 63869 - 63744: 0xE5D2, - 63870 - 63744: 0xE5D6, - 63871 - 63744: 0xE5FA, - 63872 - 63744: 0xE5FB, - 63873 - 63744: 0xE5FC, - 63874 - 63744: 0xE5FE, - 63875 - 63744: 0xE6A1, - 63876 - 63744: 0xE6A4, - 63877 - 63744: 0xE6A7, - 63878 - 63744: 0xE6AD, - 63879 - 63744: 0xE6AF, - 63880 - 63744: 0xE6B0, - 63881 - 63744: 0xE6B1, - 63882 - 63744: 0xE6B3, - 63883 - 63744: 0xE6B7, - 63884 - 63744: 0xE6B8, - 63885 - 63744: 0xE6BC, - 63886 - 63744: 0xE6C4, - 63887 - 63744: 0xE6C6, - 63888 - 63744: 0xE6C7, - 63889 - 63744: 0xE6CA, - 63890 - 63744: 0xE6D2, - 63891 - 63744: 0xE6D6, - 63892 - 63744: 0xE6D9, - 63893 - 63744: 0xE6DC, - 63894 - 63744: 0xE6DF, - 63895 - 63744: 0xE6E1, - 63896 - 63744: 0xE6E4, - 63897 - 63744: 0xE6E5, - 63898 - 63744: 0xE6E6, - 63899 - 63744: 0xE6E8, - 63900 - 63744: 0xE6EA, - 63901 - 63744: 0xE6EB, - 63902 - 63744: 0xE6EC, - 63903 - 63744: 0xE6EF, - 63904 - 63744: 0xE6F1, - 63905 - 63744: 0xE6F2, - 63906 - 63744: 0xE6F5, - 63907 - 63744: 0xE6F6, - 63908 - 63744: 0xE6F7, - 63909 - 63744: 0xE6F9, - 63910 - 63744: 0xE7A1, - 63911 - 63744: 0xE7A6, - 63912 - 63744: 0xE7A9, - 63913 - 63744: 0xE7AA, - 63914 - 63744: 0xE7AC, - 63915 - 63744: 0xE7AD, - 63916 - 63744: 0xE7B0, - 63917 - 63744: 0xE7BF, - 63918 - 63744: 0xE7C1, - 63919 - 63744: 0xE7C6, - 63920 - 63744: 0xE7C7, - 63921 - 63744: 0xE7CB, - 63922 - 63744: 0xE7CD, - 63923 - 63744: 0xE7CF, - 63924 - 63744: 0xE7D0, - 63925 - 63744: 0xE7D3, - 63926 - 63744: 0xE7DF, - 63927 - 63744: 0xE7E4, - 63928 - 63744: 0xE7E6, - 63929 - 63744: 0xE7F7, - 63930 - 63744: 0xE8E7, - 63931 - 63744: 0xE8E8, - 63932 - 63744: 0xE8F0, - 63933 - 63744: 0xE8F1, - 63934 - 63744: 0xE8F7, - 63935 - 63744: 0xE8F9, - 63936 - 63744: 0xE8FB, - 63937 - 63744: 0xE8FE, - 63938 - 63744: 0xE9A7, - 63939 - 63744: 0xE9AC, - 63940 - 63744: 0xE9CC, - 63941 - 63744: 0xE9F7, - 63942 - 63744: 0xEAC1, - 63943 - 63744: 0xEAE5, - 63944 - 63744: 0xEAF4, - 63945 - 63744: 0xEAF7, - 63946 - 63744: 0xEAFC, - 63947 - 63744: 0xEAFE, - 63948 - 63744: 0xEBA4, - 63949 - 63744: 0xEBA7, - 63950 - 63744: 0xEBA9, - 63951 - 63744: 0xEBAA, - 63952 - 63744: 0xEBBA, - 63953 - 63744: 0xEBBB, - 63954 - 63744: 0xEBBD, - 63955 - 63744: 0xEBC1, - 63956 - 63744: 0xEBC2, - 63957 - 63744: 0xEBC6, - 63958 - 63744: 0xEBC7, - 63959 - 63744: 0xEBCC, - 63960 - 63744: 0xEBCF, - 63961 - 63744: 0xEBD0, - 63962 - 63744: 0xEBD1, - 63963 - 63744: 0xEBD2, - 63964 - 63744: 0xEBD8, - 63965 - 63744: 0xECA6, - 63966 - 63744: 0xECA7, - 63967 - 63744: 0xECAA, - 63968 - 63744: 0xECAF, - 63969 - 63744: 0xECB0, - 63970 - 63744: 0xECB1, - 63971 - 63744: 0xECB2, - 63972 - 63744: 0xECB5, - 63973 - 63744: 0xECB8, - 63974 - 63744: 0xECBA, - 63975 - 63744: 0xECC0, - 63976 - 63744: 0xECC1, - 63977 - 63744: 0xECC5, - 63978 - 63744: 0xECC6, - 63979 - 63744: 0xECC9, - 63980 - 63744: 0xECCA, - 63981 - 63744: 0xECD5, - 63982 - 63744: 0xECDD, - 63983 - 63744: 0xECDE, - 63984 - 63744: 0xECE1, - 63985 - 63744: 0xECE4, - 63986 - 63744: 0xECE7, - 63987 - 63744: 0xECE8, - 63988 - 63744: 0xECF7, - 63989 - 63744: 0xECF8, - 63990 - 63744: 0xECFA, - 63991 - 63744: 0xEDA1, - 63992 - 63744: 0xEDA2, - 63993 - 63744: 0xEDA3, - 63994 - 63744: 0xEDEE, - 63995 - 63744: 0xEEDB, - 63996 - 63744: 0xF2BD, - 63997 - 63744: 0xF2FA, - 63998 - 63744: 0xF3B1, - 63999 - 63744: 0xF4A7, - 64000 - 63744: 0xF4EE, - 64001 - 63744: 0xF6F4, - 64002 - 63744: 0xF6F6, - 64003 - 63744: 0xF7B8, - 64004 - 63744: 0xF7C8, - 64005 - 63744: 0xF7D3, - 64006 - 63744: 0xF8DB, - 64007 - 63744: 0xF8F0, - 64008 - 63744: 0xFAA1, - 64009 - 63744: 0xFAA2, - 64010 - 63744: 0xFAE6, - 64011 - 63744: 0xFCA9, -} - -const encode6Low, encode6High = 65281, 65511 - -var encode6 = [...]uint16{ - 65281 - 65281: 0xA3A1, - 65282 - 65281: 0xA3A2, - 65283 - 65281: 0xA3A3, - 65284 - 65281: 0xA3A4, - 65285 - 65281: 0xA3A5, - 65286 - 65281: 0xA3A6, - 65287 - 65281: 0xA3A7, - 65288 - 65281: 0xA3A8, - 65289 - 65281: 0xA3A9, - 65290 - 65281: 0xA3AA, - 65291 - 65281: 0xA3AB, - 65292 - 65281: 0xA3AC, - 65293 - 65281: 0xA3AD, - 65294 - 65281: 0xA3AE, - 65295 - 65281: 0xA3AF, - 65296 - 65281: 0xA3B0, - 65297 - 65281: 0xA3B1, - 65298 - 65281: 0xA3B2, - 65299 - 65281: 0xA3B3, - 65300 - 65281: 0xA3B4, - 65301 - 65281: 0xA3B5, - 65302 - 65281: 0xA3B6, - 65303 - 65281: 0xA3B7, - 65304 - 65281: 0xA3B8, - 65305 - 65281: 0xA3B9, - 65306 - 65281: 0xA3BA, - 65307 - 65281: 0xA3BB, - 65308 - 65281: 0xA3BC, - 65309 - 65281: 0xA3BD, - 65310 - 65281: 0xA3BE, - 65311 - 65281: 0xA3BF, - 65312 - 65281: 0xA3C0, - 65313 - 65281: 0xA3C1, - 65314 - 65281: 0xA3C2, - 65315 - 65281: 0xA3C3, - 65316 - 65281: 0xA3C4, - 65317 - 65281: 0xA3C5, - 65318 - 65281: 0xA3C6, - 65319 - 65281: 0xA3C7, - 65320 - 65281: 0xA3C8, - 65321 - 65281: 0xA3C9, - 65322 - 65281: 0xA3CA, - 65323 - 65281: 0xA3CB, - 65324 - 65281: 0xA3CC, - 65325 - 65281: 0xA3CD, - 65326 - 65281: 0xA3CE, - 65327 - 65281: 0xA3CF, - 65328 - 65281: 0xA3D0, - 65329 - 65281: 0xA3D1, - 65330 - 65281: 0xA3D2, - 65331 - 65281: 0xA3D3, - 65332 - 65281: 0xA3D4, - 65333 - 65281: 0xA3D5, - 65334 - 65281: 0xA3D6, - 65335 - 65281: 0xA3D7, - 65336 - 65281: 0xA3D8, - 65337 - 65281: 0xA3D9, - 65338 - 65281: 0xA3DA, - 65339 - 65281: 0xA3DB, - 65340 - 65281: 0xA1AC, - 65341 - 65281: 0xA3DD, - 65342 - 65281: 0xA3DE, - 65343 - 65281: 0xA3DF, - 65344 - 65281: 0xA3E0, - 65345 - 65281: 0xA3E1, - 65346 - 65281: 0xA3E2, - 65347 - 65281: 0xA3E3, - 65348 - 65281: 0xA3E4, - 65349 - 65281: 0xA3E5, - 65350 - 65281: 0xA3E6, - 65351 - 65281: 0xA3E7, - 65352 - 65281: 0xA3E8, - 65353 - 65281: 0xA3E9, - 65354 - 65281: 0xA3EA, - 65355 - 65281: 0xA3EB, - 65356 - 65281: 0xA3EC, - 65357 - 65281: 0xA3ED, - 65358 - 65281: 0xA3EE, - 65359 - 65281: 0xA3EF, - 65360 - 65281: 0xA3F0, - 65361 - 65281: 0xA3F1, - 65362 - 65281: 0xA3F2, - 65363 - 65281: 0xA3F3, - 65364 - 65281: 0xA3F4, - 65365 - 65281: 0xA3F5, - 65366 - 65281: 0xA3F6, - 65367 - 65281: 0xA3F7, - 65368 - 65281: 0xA3F8, - 65369 - 65281: 0xA3F9, - 65370 - 65281: 0xA3FA, - 65371 - 65281: 0xA3FB, - 65372 - 65281: 0xA3FC, - 65373 - 65281: 0xA3FD, - 65374 - 65281: 0xA2A6, - 65504 - 65281: 0xA1CB, - 65505 - 65281: 0xA1CC, - 65506 - 65281: 0xA1FE, - 65507 - 65281: 0xA3FE, - 65509 - 65281: 0xA1CD, - 65510 - 65281: 0xA3DC, -} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go deleted file mode 100644 index 5ecc526cf..000000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package simplifiedchinese - -import ( - "golang.org/x/text/encoding" -) - -// All is a list of all defined encodings in this package. -var All = []encoding.Encoding{GB18030, GBK, HZGB2312} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go deleted file mode 100644 index e0b15bbcc..000000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go +++ /dev/null @@ -1,281 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package simplifiedchinese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -var ( - // GB18030 is the GB18030 encoding. - GB18030 encoding.Encoding = &gbk18030 - // GBK is the GBK encoding. It encodes an extension of the GB2312 character set - // and is also known as Code Page 936. - GBK encoding.Encoding = &gbk -) - -var gbk = internal.Encoding{ - &internal.SimpleEncoding{ - gbkDecoder{gb18030: false}, - gbkEncoder{gb18030: false}, - }, - "GBK", - identifier.GBK, -} - -var gbk18030 = internal.Encoding{ - &internal.SimpleEncoding{ - gbkDecoder{gb18030: true}, - gbkEncoder{gb18030: true}, - }, - "GB18030", - identifier.GB18030, -} - -var ( - errInvalidGB18030 = errors.New("simplifiedchinese: invalid GB18030 encoding") - errInvalidGBK = errors.New("simplifiedchinese: invalid GBK encoding") -) - -type gbkDecoder struct { - transform.NopResetter - gb18030 bool -} - -func (d gbkDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - switch c0 := src[nSrc]; { - case c0 < utf8.RuneSelf: - r, size = rune(c0), 1 - - // Microsoft's Code Page 936 extends GBK 1.0 to encode the euro sign U+20AC - // as 0x80. The HTML5 specification at http://encoding.spec.whatwg.org/#gbk - // says to treat "gbk" as Code Page 936. - case c0 == 0x80: - r, size = '€', 1 - - case c0 < 0xff: - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - switch { - case 0x40 <= c1 && c1 < 0x7f: - c1 -= 0x40 - case 0x80 <= c1 && c1 < 0xff: - c1 -= 0x41 - case d.gb18030 && 0x30 <= c1 && c1 < 0x40: - if nSrc+3 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c2 := src[nSrc+2] - if c2 < 0x81 || 0xff <= c2 { - err = errInvalidGB18030 - break loop - } - c3 := src[nSrc+3] - if c3 < 0x30 || 0x3a <= c3 { - err = errInvalidGB18030 - break loop - } - size = 4 - r = ((rune(c0-0x81)*10+rune(c1-0x30))*126+rune(c2-0x81))*10 + rune(c3-0x30) - if r < 39420 { - i, j := 0, len(gb18030) - for i < j { - h := i + (j-i)/2 - if r >= rune(gb18030[h][0]) { - i = h + 1 - } else { - j = h - } - } - dec := &gb18030[i-1] - r += rune(dec[1]) - rune(dec[0]) - goto write - } - r -= 189000 - if 0 <= r && r < 0x100000 { - r += 0x10000 - goto write - } - err = errInvalidGB18030 - break loop - default: - if d.gb18030 { - err = errInvalidGB18030 - } else { - err = errInvalidGBK - } - break loop - } - r, size = '\ufffd', 2 - if i := int(c0-0x81)*190 + int(c1); i < len(decode) { - r = rune(decode[i]) - if r == 0 { - r = '\ufffd' - } - } - - default: - if d.gb18030 { - err = errInvalidGB18030 - } else { - err = errInvalidGBK - } - break loop - } - - write: - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - if d.gb18030 { - err = errInvalidGB18030 - } else { - err = errInvalidGBK - } - } - return nDst, nSrc, err -} - -type gbkEncoder struct { - transform.NopResetter - gb18030 bool -} - -func (e gbkEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, r2, size := rune(0), rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r2 = rune(encode0[r-encode0Low]); r2 != 0 { - goto write2 - } - case encode1Low <= r && r < encode1High: - // Microsoft's Code Page 936 extends GBK 1.0 to encode the euro sign U+20AC - // as 0x80. The HTML5 specification at http://encoding.spec.whatwg.org/#gbk - // says to treat "gbk" as Code Page 936. - if r == '€' { - r = 0x80 - goto write1 - } - if r2 = rune(encode1[r-encode1Low]); r2 != 0 { - goto write2 - } - case encode2Low <= r && r < encode2High: - if r2 = rune(encode2[r-encode2Low]); r2 != 0 { - goto write2 - } - case encode3Low <= r && r < encode3High: - if r2 = rune(encode3[r-encode3Low]); r2 != 0 { - goto write2 - } - case encode4Low <= r && r < encode4High: - if r2 = rune(encode4[r-encode4Low]); r2 != 0 { - goto write2 - } - } - - if e.gb18030 { - if r < 0x10000 { - i, j := 0, len(gb18030) - for i < j { - h := i + (j-i)/2 - if r >= rune(gb18030[h][1]) { - i = h + 1 - } else { - j = h - } - } - dec := &gb18030[i-1] - r += rune(dec[0]) - rune(dec[1]) - goto write4 - } else if r < 0x110000 { - r += 189000 - 0x10000 - goto write4 - } - } - err = internal.ErrASCIIReplacement - break - } - - write1: - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - write2: - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = uint8(r2 >> 8) - dst[nDst+1] = uint8(r2) - nDst += 2 - continue - - write4: - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+3] = uint8(r%10 + 0x30) - r /= 10 - dst[nDst+2] = uint8(r%126 + 0x81) - r /= 126 - dst[nDst+1] = uint8(r%10 + 0x30) - r /= 10 - dst[nDst+0] = uint8(r + 0x81) - nDst += 4 - continue - } - return nDst, nSrc, err -} - -func init() { - // Check that the hard-coded encode switch covers all tables. - if numEncodeTables != 5 { - panic("bad numEncodeTables") - } -} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go deleted file mode 100644 index 85de6b1e6..000000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go +++ /dev/null @@ -1,240 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package simplifiedchinese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// HZGB2312 is the HZ-GB2312 encoding. -var HZGB2312 encoding.Encoding = &hzGB2312 - -var hzGB2312 = internal.Encoding{ - internal.FuncEncoding{hzGB2312NewDecoder, hzGB2312NewEncoder}, - "HZ-GB2312", - identifier.HZGB2312, -} - -func hzGB2312NewDecoder() transform.Transformer { - return new(hzGB2312Decoder) -} - -func hzGB2312NewEncoder() transform.Transformer { - return new(hzGB2312Encoder) -} - -var errInvalidHZGB2312 = errors.New("simplifiedchinese: invalid HZ-GB2312 encoding") - -const ( - asciiState = iota - gbState -) - -type hzGB2312Decoder int - -func (d *hzGB2312Decoder) Reset() { - *d = asciiState -} - -func (d *hzGB2312Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - c0 := src[nSrc] - if c0 >= utf8.RuneSelf { - err = errInvalidHZGB2312 - break loop - } - - if c0 == '~' { - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - size = 2 - switch src[nSrc+1] { - case '{': - *d = gbState - continue - case '}': - *d = asciiState - continue - case '~': - if nDst >= len(dst) { - err = transform.ErrShortDst - break loop - } - dst[nDst] = '~' - nDst++ - continue - case '\n': - continue - default: - err = errInvalidHZGB2312 - break loop - } - } - - if *d == asciiState { - r, size = rune(c0), 1 - } else { - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 { - err = errInvalidHZGB2312 - break loop - } - - r, size = '\ufffd', 2 - if i := int(c0-0x01)*190 + int(c1+0x3f); i < len(decode) { - r = rune(decode[i]) - if r == 0 { - r = '\ufffd' - } - } - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidHZGB2312 - } - return nDst, nSrc, err -} - -type hzGB2312Encoder int - -func (d *hzGB2312Encoder) Reset() { - *d = asciiState -} - -func (e *hzGB2312Encoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - if r == '~' { - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = '~' - dst[nDst+1] = '~' - nDst += 2 - continue - } else if *e != asciiState { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - *e = asciiState - dst[nDst+0] = '~' - dst[nDst+1] = '}' - nDst += 2 - } else if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst += 1 - continue - - } - - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r != 0 { - goto writeGB - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r != 0 { - goto writeGB - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r != 0 { - goto writeGB - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r != 0 { - goto writeGB - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r != 0 { - goto writeGB - } - } - - terminateInASCIIState: - // Switch back to ASCII state in case of error so that an ASCII - // replacement character can be written in the correct state. - if *e != asciiState { - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = '~' - dst[nDst+1] = '}' - nDst += 2 - } - err = internal.ErrASCIIReplacement - break - - writeGB: - c0 := uint8(r>>8) - 0x80 - c1 := uint8(r) - 0x80 - if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 { - goto terminateInASCIIState - } - if *e == asciiState { - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - *e = gbState - dst[nDst+0] = '~' - dst[nDst+1] = '{' - nDst += 2 - } else if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = c0 - dst[nDst+1] = c1 - nDst += 2 - continue - } - // TODO: should one always terminate in ASCII state to make it safe to - // concatenate two HZ-GB2312-encoded strings? - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go deleted file mode 100644 index 55016c786..000000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This program generates tables.go: -// go run maketables.go | gofmt > tables.go - -import ( - "bufio" - "fmt" - "log" - "net/http" - "sort" - "strings" -) - -func main() { - fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") - fmt.Printf("// Package simplifiedchinese provides Simplified Chinese encodings such as GBK.\n") - fmt.Printf(`package simplifiedchinese // import "golang.org/x/text/encoding/simplifiedchinese"` + "\n\n") - - printGB18030() - printGBK() -} - -func printGB18030() { - res, err := http.Get("http://encoding.spec.whatwg.org/index-gb18030.txt") - if err != nil { - log.Fatalf("Get: %v", err) - } - defer res.Body.Close() - - fmt.Printf("// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt\n") - fmt.Printf("var gb18030 = [...][2]uint16{\n") - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := uint32(0), uint32(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0x10000 && y < 0x10000 { - fmt.Printf("\t{0x%04x, 0x%04x},\n", x, y) - } - } - fmt.Printf("}\n\n") -} - -func printGBK() { - res, err := http.Get("http://encoding.spec.whatwg.org/index-gbk.txt") - if err != nil { - log.Fatalf("Get: %v", err) - } - defer res.Body.Close() - - mapping := [65536]uint16{} - reverse := [65536]uint16{} - - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := uint16(0), uint16(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0 || 126*190 <= x { - log.Fatalf("GBK code %d is out of range", x) - } - mapping[x] = y - if reverse[y] == 0 { - c0, c1 := x/190, x%190 - if c1 >= 0x3f { - c1++ - } - reverse[y] = (0x81+c0)<<8 | (0x40 + c1) - } - } - if err := scanner.Err(); err != nil { - log.Fatalf("scanner error: %v", err) - } - - fmt.Printf("// decode is the decoding table from GBK code to Unicode.\n") - fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt\n") - fmt.Printf("var decode = [...]uint16{\n") - for i, v := range mapping { - if v != 0 { - fmt.Printf("\t%d: 0x%04X,\n", i, v) - } - } - fmt.Printf("}\n\n") - - // Any run of at least separation continuous zero entries in the reverse map will - // be a separate encode table. - const separation = 1024 - - intervals := []interval(nil) - low, high := -1, -1 - for i, v := range reverse { - if v == 0 { - continue - } - if low < 0 { - low = i - } else if i-high >= separation { - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - low = i - } - high = i + 1 - } - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - sort.Sort(byDecreasingLength(intervals)) - - fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) - fmt.Printf("// encodeX are the encoding tables from Unicode to GBK code,\n") - fmt.Printf("// sorted by decreasing length.\n") - for i, v := range intervals { - fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) - } - fmt.Printf("\n") - - for i, v := range intervals { - fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) - fmt.Printf("var encode%d = [...]uint16{\n", i) - for j := v.low; j < v.high; j++ { - x := reverse[j] - if x == 0 { - continue - } - fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) - } - fmt.Printf("}\n\n") - } -} - -// interval is a half-open interval [low, high). -type interval struct { - low, high int -} - -func (i interval) len() int { return i.high - i.low } - -// byDecreasingLength sorts intervals by decreasing length. -type byDecreasingLength []interval - -func (b byDecreasingLength) Len() int { return len(b) } -func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } -func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go deleted file mode 100644 index fac299d2f..000000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go +++ /dev/null @@ -1,43999 +0,0 @@ -// generated by go run maketables.go; DO NOT EDIT - -// Package simplifiedchinese provides Simplified Chinese encodings such as GBK. -package simplifiedchinese - -// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt -var gb18030 = [...][2]uint16{ - {0x0000, 0x0080}, - {0x0024, 0x00a5}, - {0x0026, 0x00a9}, - {0x002d, 0x00b2}, - {0x0032, 0x00b8}, - {0x0051, 0x00d8}, - {0x0059, 0x00e2}, - {0x005f, 0x00eb}, - {0x0060, 0x00ee}, - {0x0064, 0x00f4}, - {0x0067, 0x00f8}, - {0x0068, 0x00fb}, - {0x0069, 0x00fd}, - {0x006d, 0x0102}, - {0x007e, 0x0114}, - {0x0085, 0x011c}, - {0x0094, 0x012c}, - {0x00ac, 0x0145}, - {0x00af, 0x0149}, - {0x00b3, 0x014e}, - {0x00d0, 0x016c}, - {0x0132, 0x01cf}, - {0x0133, 0x01d1}, - {0x0134, 0x01d3}, - {0x0135, 0x01d5}, - {0x0136, 0x01d7}, - {0x0137, 0x01d9}, - {0x0138, 0x01db}, - {0x0139, 0x01dd}, - {0x0155, 0x01fa}, - {0x01ac, 0x0252}, - {0x01bb, 0x0262}, - {0x0220, 0x02c8}, - {0x0221, 0x02cc}, - {0x022e, 0x02da}, - {0x02e5, 0x03a2}, - {0x02e6, 0x03aa}, - {0x02ed, 0x03c2}, - {0x02ee, 0x03ca}, - {0x0325, 0x0402}, - {0x0333, 0x0450}, - {0x0334, 0x0452}, - {0x1ef2, 0x2011}, - {0x1ef4, 0x2017}, - {0x1ef5, 0x201a}, - {0x1ef7, 0x201e}, - {0x1efe, 0x2027}, - {0x1f07, 0x2031}, - {0x1f08, 0x2034}, - {0x1f09, 0x2036}, - {0x1f0e, 0x203c}, - {0x1f7e, 0x20ad}, - {0x1fd4, 0x2104}, - {0x1fd5, 0x2106}, - {0x1fd8, 0x210a}, - {0x1fe4, 0x2117}, - {0x1fee, 0x2122}, - {0x202c, 0x216c}, - {0x2030, 0x217a}, - {0x2046, 0x2194}, - {0x2048, 0x219a}, - {0x20b6, 0x2209}, - {0x20bc, 0x2210}, - {0x20bd, 0x2212}, - {0x20c0, 0x2216}, - {0x20c4, 0x221b}, - {0x20c6, 0x2221}, - {0x20c8, 0x2224}, - {0x20c9, 0x2226}, - {0x20ca, 0x222c}, - {0x20cc, 0x222f}, - {0x20d1, 0x2238}, - {0x20d6, 0x223e}, - {0x20e0, 0x2249}, - {0x20e3, 0x224d}, - {0x20e8, 0x2253}, - {0x20f5, 0x2262}, - {0x20f7, 0x2268}, - {0x20fd, 0x2270}, - {0x2122, 0x2296}, - {0x2125, 0x229a}, - {0x2130, 0x22a6}, - {0x2149, 0x22c0}, - {0x219b, 0x2313}, - {0x22e8, 0x246a}, - {0x22f2, 0x249c}, - {0x2356, 0x254c}, - {0x235a, 0x2574}, - {0x2367, 0x2590}, - {0x236a, 0x2596}, - {0x2374, 0x25a2}, - {0x2384, 0x25b4}, - {0x238c, 0x25be}, - {0x2394, 0x25c8}, - {0x2397, 0x25cc}, - {0x2399, 0x25d0}, - {0x23ab, 0x25e6}, - {0x23ca, 0x2607}, - {0x23cc, 0x260a}, - {0x2402, 0x2641}, - {0x2403, 0x2643}, - {0x2c41, 0x2e82}, - {0x2c43, 0x2e85}, - {0x2c46, 0x2e89}, - {0x2c48, 0x2e8d}, - {0x2c52, 0x2e98}, - {0x2c61, 0x2ea8}, - {0x2c63, 0x2eab}, - {0x2c66, 0x2eaf}, - {0x2c6a, 0x2eb4}, - {0x2c6c, 0x2eb8}, - {0x2c6f, 0x2ebc}, - {0x2c7d, 0x2ecb}, - {0x2da2, 0x2ffc}, - {0x2da6, 0x3004}, - {0x2da7, 0x3018}, - {0x2dac, 0x301f}, - {0x2dae, 0x302a}, - {0x2dc2, 0x303f}, - {0x2dc4, 0x3094}, - {0x2dcb, 0x309f}, - {0x2dcd, 0x30f7}, - {0x2dd2, 0x30ff}, - {0x2dd8, 0x312a}, - {0x2ece, 0x322a}, - {0x2ed5, 0x3232}, - {0x2f46, 0x32a4}, - {0x3030, 0x3390}, - {0x303c, 0x339f}, - {0x303e, 0x33a2}, - {0x3060, 0x33c5}, - {0x3069, 0x33cf}, - {0x306b, 0x33d3}, - {0x306d, 0x33d6}, - {0x30de, 0x3448}, - {0x3109, 0x3474}, - {0x3233, 0x359f}, - {0x32a2, 0x360f}, - {0x32ad, 0x361b}, - {0x35aa, 0x3919}, - {0x35ff, 0x396f}, - {0x365f, 0x39d1}, - {0x366d, 0x39e0}, - {0x3700, 0x3a74}, - {0x37da, 0x3b4f}, - {0x38f9, 0x3c6f}, - {0x396a, 0x3ce1}, - {0x3cdf, 0x4057}, - {0x3de7, 0x4160}, - {0x3fbe, 0x4338}, - {0x4032, 0x43ad}, - {0x4036, 0x43b2}, - {0x4061, 0x43de}, - {0x4159, 0x44d7}, - {0x42ce, 0x464d}, - {0x42e2, 0x4662}, - {0x43a3, 0x4724}, - {0x43a8, 0x472a}, - {0x43fa, 0x477d}, - {0x440a, 0x478e}, - {0x45c3, 0x4948}, - {0x45f5, 0x497b}, - {0x45f7, 0x497e}, - {0x45fb, 0x4984}, - {0x45fc, 0x4987}, - {0x4610, 0x499c}, - {0x4613, 0x49a0}, - {0x4629, 0x49b8}, - {0x48e8, 0x4c78}, - {0x490f, 0x4ca4}, - {0x497e, 0x4d1a}, - {0x4a12, 0x4daf}, - {0x4a63, 0x9fa6}, - {0x82bd, 0xe76c}, - {0x82be, 0xe7c8}, - {0x82bf, 0xe7e7}, - {0x82cc, 0xe815}, - {0x82cd, 0xe819}, - {0x82d2, 0xe81f}, - {0x82d9, 0xe827}, - {0x82dd, 0xe82d}, - {0x82e1, 0xe833}, - {0x82e9, 0xe83c}, - {0x82f0, 0xe844}, - {0x8300, 0xe856}, - {0x830e, 0xe865}, - {0x93d5, 0xf92d}, - {0x9421, 0xf97a}, - {0x943c, 0xf996}, - {0x948d, 0xf9e8}, - {0x9496, 0xf9f2}, - {0x94b0, 0xfa10}, - {0x94b1, 0xfa12}, - {0x94b2, 0xfa15}, - {0x94b5, 0xfa19}, - {0x94bb, 0xfa22}, - {0x94bc, 0xfa25}, - {0x94be, 0xfa2a}, - {0x98c4, 0xfe32}, - {0x98c5, 0xfe45}, - {0x98c9, 0xfe53}, - {0x98ca, 0xfe58}, - {0x98cb, 0xfe67}, - {0x98cc, 0xfe6c}, - {0x9961, 0xff5f}, - {0x99e2, 0xffe6}, -} - -// decode is the decoding table from GBK code to Unicode. -// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt -var decode = [...]uint16{ - 0: 0x4E02, - 1: 0x4E04, - 2: 0x4E05, - 3: 0x4E06, - 4: 0x4E0F, - 5: 0x4E12, - 6: 0x4E17, - 7: 0x4E1F, - 8: 0x4E20, - 9: 0x4E21, - 10: 0x4E23, - 11: 0x4E26, - 12: 0x4E29, - 13: 0x4E2E, - 14: 0x4E2F, - 15: 0x4E31, - 16: 0x4E33, - 17: 0x4E35, - 18: 0x4E37, - 19: 0x4E3C, - 20: 0x4E40, - 21: 0x4E41, - 22: 0x4E42, - 23: 0x4E44, - 24: 0x4E46, - 25: 0x4E4A, - 26: 0x4E51, - 27: 0x4E55, - 28: 0x4E57, - 29: 0x4E5A, - 30: 0x4E5B, - 31: 0x4E62, - 32: 0x4E63, - 33: 0x4E64, - 34: 0x4E65, - 35: 0x4E67, - 36: 0x4E68, - 37: 0x4E6A, - 38: 0x4E6B, - 39: 0x4E6C, - 40: 0x4E6D, - 41: 0x4E6E, - 42: 0x4E6F, - 43: 0x4E72, - 44: 0x4E74, - 45: 0x4E75, - 46: 0x4E76, - 47: 0x4E77, - 48: 0x4E78, - 49: 0x4E79, - 50: 0x4E7A, - 51: 0x4E7B, - 52: 0x4E7C, - 53: 0x4E7D, - 54: 0x4E7F, - 55: 0x4E80, - 56: 0x4E81, - 57: 0x4E82, - 58: 0x4E83, - 59: 0x4E84, - 60: 0x4E85, - 61: 0x4E87, - 62: 0x4E8A, - 63: 0x4E90, - 64: 0x4E96, - 65: 0x4E97, - 66: 0x4E99, - 67: 0x4E9C, - 68: 0x4E9D, - 69: 0x4E9E, - 70: 0x4EA3, - 71: 0x4EAA, - 72: 0x4EAF, - 73: 0x4EB0, - 74: 0x4EB1, - 75: 0x4EB4, - 76: 0x4EB6, - 77: 0x4EB7, - 78: 0x4EB8, - 79: 0x4EB9, - 80: 0x4EBC, - 81: 0x4EBD, - 82: 0x4EBE, - 83: 0x4EC8, - 84: 0x4ECC, - 85: 0x4ECF, - 86: 0x4ED0, - 87: 0x4ED2, - 88: 0x4EDA, - 89: 0x4EDB, - 90: 0x4EDC, - 91: 0x4EE0, - 92: 0x4EE2, - 93: 0x4EE6, - 94: 0x4EE7, - 95: 0x4EE9, - 96: 0x4EED, - 97: 0x4EEE, - 98: 0x4EEF, - 99: 0x4EF1, - 100: 0x4EF4, - 101: 0x4EF8, - 102: 0x4EF9, - 103: 0x4EFA, - 104: 0x4EFC, - 105: 0x4EFE, - 106: 0x4F00, - 107: 0x4F02, - 108: 0x4F03, - 109: 0x4F04, - 110: 0x4F05, - 111: 0x4F06, - 112: 0x4F07, - 113: 0x4F08, - 114: 0x4F0B, - 115: 0x4F0C, - 116: 0x4F12, - 117: 0x4F13, - 118: 0x4F14, - 119: 0x4F15, - 120: 0x4F16, - 121: 0x4F1C, - 122: 0x4F1D, - 123: 0x4F21, - 124: 0x4F23, - 125: 0x4F28, - 126: 0x4F29, - 127: 0x4F2C, - 128: 0x4F2D, - 129: 0x4F2E, - 130: 0x4F31, - 131: 0x4F33, - 132: 0x4F35, - 133: 0x4F37, - 134: 0x4F39, - 135: 0x4F3B, - 136: 0x4F3E, - 137: 0x4F3F, - 138: 0x4F40, - 139: 0x4F41, - 140: 0x4F42, - 141: 0x4F44, - 142: 0x4F45, - 143: 0x4F47, - 144: 0x4F48, - 145: 0x4F49, - 146: 0x4F4A, - 147: 0x4F4B, - 148: 0x4F4C, - 149: 0x4F52, - 150: 0x4F54, - 151: 0x4F56, - 152: 0x4F61, - 153: 0x4F62, - 154: 0x4F66, - 155: 0x4F68, - 156: 0x4F6A, - 157: 0x4F6B, - 158: 0x4F6D, - 159: 0x4F6E, - 160: 0x4F71, - 161: 0x4F72, - 162: 0x4F75, - 163: 0x4F77, - 164: 0x4F78, - 165: 0x4F79, - 166: 0x4F7A, - 167: 0x4F7D, - 168: 0x4F80, - 169: 0x4F81, - 170: 0x4F82, - 171: 0x4F85, - 172: 0x4F86, - 173: 0x4F87, - 174: 0x4F8A, - 175: 0x4F8C, - 176: 0x4F8E, - 177: 0x4F90, - 178: 0x4F92, - 179: 0x4F93, - 180: 0x4F95, - 181: 0x4F96, - 182: 0x4F98, - 183: 0x4F99, - 184: 0x4F9A, - 185: 0x4F9C, - 186: 0x4F9E, - 187: 0x4F9F, - 188: 0x4FA1, - 189: 0x4FA2, - 190: 0x4FA4, - 191: 0x4FAB, - 192: 0x4FAD, - 193: 0x4FB0, - 194: 0x4FB1, - 195: 0x4FB2, - 196: 0x4FB3, - 197: 0x4FB4, - 198: 0x4FB6, - 199: 0x4FB7, - 200: 0x4FB8, - 201: 0x4FB9, - 202: 0x4FBA, - 203: 0x4FBB, - 204: 0x4FBC, - 205: 0x4FBD, - 206: 0x4FBE, - 207: 0x4FC0, - 208: 0x4FC1, - 209: 0x4FC2, - 210: 0x4FC6, - 211: 0x4FC7, - 212: 0x4FC8, - 213: 0x4FC9, - 214: 0x4FCB, - 215: 0x4FCC, - 216: 0x4FCD, - 217: 0x4FD2, - 218: 0x4FD3, - 219: 0x4FD4, - 220: 0x4FD5, - 221: 0x4FD6, - 222: 0x4FD9, - 223: 0x4FDB, - 224: 0x4FE0, - 225: 0x4FE2, - 226: 0x4FE4, - 227: 0x4FE5, - 228: 0x4FE7, - 229: 0x4FEB, - 230: 0x4FEC, - 231: 0x4FF0, - 232: 0x4FF2, - 233: 0x4FF4, - 234: 0x4FF5, - 235: 0x4FF6, - 236: 0x4FF7, - 237: 0x4FF9, - 238: 0x4FFB, - 239: 0x4FFC, - 240: 0x4FFD, - 241: 0x4FFF, - 242: 0x5000, - 243: 0x5001, - 244: 0x5002, - 245: 0x5003, - 246: 0x5004, - 247: 0x5005, - 248: 0x5006, - 249: 0x5007, - 250: 0x5008, - 251: 0x5009, - 252: 0x500A, - 253: 0x500B, - 254: 0x500E, - 255: 0x5010, - 256: 0x5011, - 257: 0x5013, - 258: 0x5015, - 259: 0x5016, - 260: 0x5017, - 261: 0x501B, - 262: 0x501D, - 263: 0x501E, - 264: 0x5020, - 265: 0x5022, - 266: 0x5023, - 267: 0x5024, - 268: 0x5027, - 269: 0x502B, - 270: 0x502F, - 271: 0x5030, - 272: 0x5031, - 273: 0x5032, - 274: 0x5033, - 275: 0x5034, - 276: 0x5035, - 277: 0x5036, - 278: 0x5037, - 279: 0x5038, - 280: 0x5039, - 281: 0x503B, - 282: 0x503D, - 283: 0x503F, - 284: 0x5040, - 285: 0x5041, - 286: 0x5042, - 287: 0x5044, - 288: 0x5045, - 289: 0x5046, - 290: 0x5049, - 291: 0x504A, - 292: 0x504B, - 293: 0x504D, - 294: 0x5050, - 295: 0x5051, - 296: 0x5052, - 297: 0x5053, - 298: 0x5054, - 299: 0x5056, - 300: 0x5057, - 301: 0x5058, - 302: 0x5059, - 303: 0x505B, - 304: 0x505D, - 305: 0x505E, - 306: 0x505F, - 307: 0x5060, - 308: 0x5061, - 309: 0x5062, - 310: 0x5063, - 311: 0x5064, - 312: 0x5066, - 313: 0x5067, - 314: 0x5068, - 315: 0x5069, - 316: 0x506A, - 317: 0x506B, - 318: 0x506D, - 319: 0x506E, - 320: 0x506F, - 321: 0x5070, - 322: 0x5071, - 323: 0x5072, - 324: 0x5073, - 325: 0x5074, - 326: 0x5075, - 327: 0x5078, - 328: 0x5079, - 329: 0x507A, - 330: 0x507C, - 331: 0x507D, - 332: 0x5081, - 333: 0x5082, - 334: 0x5083, - 335: 0x5084, - 336: 0x5086, - 337: 0x5087, - 338: 0x5089, - 339: 0x508A, - 340: 0x508B, - 341: 0x508C, - 342: 0x508E, - 343: 0x508F, - 344: 0x5090, - 345: 0x5091, - 346: 0x5092, - 347: 0x5093, - 348: 0x5094, - 349: 0x5095, - 350: 0x5096, - 351: 0x5097, - 352: 0x5098, - 353: 0x5099, - 354: 0x509A, - 355: 0x509B, - 356: 0x509C, - 357: 0x509D, - 358: 0x509E, - 359: 0x509F, - 360: 0x50A0, - 361: 0x50A1, - 362: 0x50A2, - 363: 0x50A4, - 364: 0x50A6, - 365: 0x50AA, - 366: 0x50AB, - 367: 0x50AD, - 368: 0x50AE, - 369: 0x50AF, - 370: 0x50B0, - 371: 0x50B1, - 372: 0x50B3, - 373: 0x50B4, - 374: 0x50B5, - 375: 0x50B6, - 376: 0x50B7, - 377: 0x50B8, - 378: 0x50B9, - 379: 0x50BC, - 380: 0x50BD, - 381: 0x50BE, - 382: 0x50BF, - 383: 0x50C0, - 384: 0x50C1, - 385: 0x50C2, - 386: 0x50C3, - 387: 0x50C4, - 388: 0x50C5, - 389: 0x50C6, - 390: 0x50C7, - 391: 0x50C8, - 392: 0x50C9, - 393: 0x50CA, - 394: 0x50CB, - 395: 0x50CC, - 396: 0x50CD, - 397: 0x50CE, - 398: 0x50D0, - 399: 0x50D1, - 400: 0x50D2, - 401: 0x50D3, - 402: 0x50D4, - 403: 0x50D5, - 404: 0x50D7, - 405: 0x50D8, - 406: 0x50D9, - 407: 0x50DB, - 408: 0x50DC, - 409: 0x50DD, - 410: 0x50DE, - 411: 0x50DF, - 412: 0x50E0, - 413: 0x50E1, - 414: 0x50E2, - 415: 0x50E3, - 416: 0x50E4, - 417: 0x50E5, - 418: 0x50E8, - 419: 0x50E9, - 420: 0x50EA, - 421: 0x50EB, - 422: 0x50EF, - 423: 0x50F0, - 424: 0x50F1, - 425: 0x50F2, - 426: 0x50F4, - 427: 0x50F6, - 428: 0x50F7, - 429: 0x50F8, - 430: 0x50F9, - 431: 0x50FA, - 432: 0x50FC, - 433: 0x50FD, - 434: 0x50FE, - 435: 0x50FF, - 436: 0x5100, - 437: 0x5101, - 438: 0x5102, - 439: 0x5103, - 440: 0x5104, - 441: 0x5105, - 442: 0x5108, - 443: 0x5109, - 444: 0x510A, - 445: 0x510C, - 446: 0x510D, - 447: 0x510E, - 448: 0x510F, - 449: 0x5110, - 450: 0x5111, - 451: 0x5113, - 452: 0x5114, - 453: 0x5115, - 454: 0x5116, - 455: 0x5117, - 456: 0x5118, - 457: 0x5119, - 458: 0x511A, - 459: 0x511B, - 460: 0x511C, - 461: 0x511D, - 462: 0x511E, - 463: 0x511F, - 464: 0x5120, - 465: 0x5122, - 466: 0x5123, - 467: 0x5124, - 468: 0x5125, - 469: 0x5126, - 470: 0x5127, - 471: 0x5128, - 472: 0x5129, - 473: 0x512A, - 474: 0x512B, - 475: 0x512C, - 476: 0x512D, - 477: 0x512E, - 478: 0x512F, - 479: 0x5130, - 480: 0x5131, - 481: 0x5132, - 482: 0x5133, - 483: 0x5134, - 484: 0x5135, - 485: 0x5136, - 486: 0x5137, - 487: 0x5138, - 488: 0x5139, - 489: 0x513A, - 490: 0x513B, - 491: 0x513C, - 492: 0x513D, - 493: 0x513E, - 494: 0x5142, - 495: 0x5147, - 496: 0x514A, - 497: 0x514C, - 498: 0x514E, - 499: 0x514F, - 500: 0x5150, - 501: 0x5152, - 502: 0x5153, - 503: 0x5157, - 504: 0x5158, - 505: 0x5159, - 506: 0x515B, - 507: 0x515D, - 508: 0x515E, - 509: 0x515F, - 510: 0x5160, - 511: 0x5161, - 512: 0x5163, - 513: 0x5164, - 514: 0x5166, - 515: 0x5167, - 516: 0x5169, - 517: 0x516A, - 518: 0x516F, - 519: 0x5172, - 520: 0x517A, - 521: 0x517E, - 522: 0x517F, - 523: 0x5183, - 524: 0x5184, - 525: 0x5186, - 526: 0x5187, - 527: 0x518A, - 528: 0x518B, - 529: 0x518E, - 530: 0x518F, - 531: 0x5190, - 532: 0x5191, - 533: 0x5193, - 534: 0x5194, - 535: 0x5198, - 536: 0x519A, - 537: 0x519D, - 538: 0x519E, - 539: 0x519F, - 540: 0x51A1, - 541: 0x51A3, - 542: 0x51A6, - 543: 0x51A7, - 544: 0x51A8, - 545: 0x51A9, - 546: 0x51AA, - 547: 0x51AD, - 548: 0x51AE, - 549: 0x51B4, - 550: 0x51B8, - 551: 0x51B9, - 552: 0x51BA, - 553: 0x51BE, - 554: 0x51BF, - 555: 0x51C1, - 556: 0x51C2, - 557: 0x51C3, - 558: 0x51C5, - 559: 0x51C8, - 560: 0x51CA, - 561: 0x51CD, - 562: 0x51CE, - 563: 0x51D0, - 564: 0x51D2, - 565: 0x51D3, - 566: 0x51D4, - 567: 0x51D5, - 568: 0x51D6, - 569: 0x51D7, - 570: 0x51D8, - 571: 0x51D9, - 572: 0x51DA, - 573: 0x51DC, - 574: 0x51DE, - 575: 0x51DF, - 576: 0x51E2, - 577: 0x51E3, - 578: 0x51E5, - 579: 0x51E6, - 580: 0x51E7, - 581: 0x51E8, - 582: 0x51E9, - 583: 0x51EA, - 584: 0x51EC, - 585: 0x51EE, - 586: 0x51F1, - 587: 0x51F2, - 588: 0x51F4, - 589: 0x51F7, - 590: 0x51FE, - 591: 0x5204, - 592: 0x5205, - 593: 0x5209, - 594: 0x520B, - 595: 0x520C, - 596: 0x520F, - 597: 0x5210, - 598: 0x5213, - 599: 0x5214, - 600: 0x5215, - 601: 0x521C, - 602: 0x521E, - 603: 0x521F, - 604: 0x5221, - 605: 0x5222, - 606: 0x5223, - 607: 0x5225, - 608: 0x5226, - 609: 0x5227, - 610: 0x522A, - 611: 0x522C, - 612: 0x522F, - 613: 0x5231, - 614: 0x5232, - 615: 0x5234, - 616: 0x5235, - 617: 0x523C, - 618: 0x523E, - 619: 0x5244, - 620: 0x5245, - 621: 0x5246, - 622: 0x5247, - 623: 0x5248, - 624: 0x5249, - 625: 0x524B, - 626: 0x524E, - 627: 0x524F, - 628: 0x5252, - 629: 0x5253, - 630: 0x5255, - 631: 0x5257, - 632: 0x5258, - 633: 0x5259, - 634: 0x525A, - 635: 0x525B, - 636: 0x525D, - 637: 0x525F, - 638: 0x5260, - 639: 0x5262, - 640: 0x5263, - 641: 0x5264, - 642: 0x5266, - 643: 0x5268, - 644: 0x526B, - 645: 0x526C, - 646: 0x526D, - 647: 0x526E, - 648: 0x5270, - 649: 0x5271, - 650: 0x5273, - 651: 0x5274, - 652: 0x5275, - 653: 0x5276, - 654: 0x5277, - 655: 0x5278, - 656: 0x5279, - 657: 0x527A, - 658: 0x527B, - 659: 0x527C, - 660: 0x527E, - 661: 0x5280, - 662: 0x5283, - 663: 0x5284, - 664: 0x5285, - 665: 0x5286, - 666: 0x5287, - 667: 0x5289, - 668: 0x528A, - 669: 0x528B, - 670: 0x528C, - 671: 0x528D, - 672: 0x528E, - 673: 0x528F, - 674: 0x5291, - 675: 0x5292, - 676: 0x5294, - 677: 0x5295, - 678: 0x5296, - 679: 0x5297, - 680: 0x5298, - 681: 0x5299, - 682: 0x529A, - 683: 0x529C, - 684: 0x52A4, - 685: 0x52A5, - 686: 0x52A6, - 687: 0x52A7, - 688: 0x52AE, - 689: 0x52AF, - 690: 0x52B0, - 691: 0x52B4, - 692: 0x52B5, - 693: 0x52B6, - 694: 0x52B7, - 695: 0x52B8, - 696: 0x52B9, - 697: 0x52BA, - 698: 0x52BB, - 699: 0x52BC, - 700: 0x52BD, - 701: 0x52C0, - 702: 0x52C1, - 703: 0x52C2, - 704: 0x52C4, - 705: 0x52C5, - 706: 0x52C6, - 707: 0x52C8, - 708: 0x52CA, - 709: 0x52CC, - 710: 0x52CD, - 711: 0x52CE, - 712: 0x52CF, - 713: 0x52D1, - 714: 0x52D3, - 715: 0x52D4, - 716: 0x52D5, - 717: 0x52D7, - 718: 0x52D9, - 719: 0x52DA, - 720: 0x52DB, - 721: 0x52DC, - 722: 0x52DD, - 723: 0x52DE, - 724: 0x52E0, - 725: 0x52E1, - 726: 0x52E2, - 727: 0x52E3, - 728: 0x52E5, - 729: 0x52E6, - 730: 0x52E7, - 731: 0x52E8, - 732: 0x52E9, - 733: 0x52EA, - 734: 0x52EB, - 735: 0x52EC, - 736: 0x52ED, - 737: 0x52EE, - 738: 0x52EF, - 739: 0x52F1, - 740: 0x52F2, - 741: 0x52F3, - 742: 0x52F4, - 743: 0x52F5, - 744: 0x52F6, - 745: 0x52F7, - 746: 0x52F8, - 747: 0x52FB, - 748: 0x52FC, - 749: 0x52FD, - 750: 0x5301, - 751: 0x5302, - 752: 0x5303, - 753: 0x5304, - 754: 0x5307, - 755: 0x5309, - 756: 0x530A, - 757: 0x530B, - 758: 0x530C, - 759: 0x530E, - 760: 0x5311, - 761: 0x5312, - 762: 0x5313, - 763: 0x5314, - 764: 0x5318, - 765: 0x531B, - 766: 0x531C, - 767: 0x531E, - 768: 0x531F, - 769: 0x5322, - 770: 0x5324, - 771: 0x5325, - 772: 0x5327, - 773: 0x5328, - 774: 0x5329, - 775: 0x532B, - 776: 0x532C, - 777: 0x532D, - 778: 0x532F, - 779: 0x5330, - 780: 0x5331, - 781: 0x5332, - 782: 0x5333, - 783: 0x5334, - 784: 0x5335, - 785: 0x5336, - 786: 0x5337, - 787: 0x5338, - 788: 0x533C, - 789: 0x533D, - 790: 0x5340, - 791: 0x5342, - 792: 0x5344, - 793: 0x5346, - 794: 0x534B, - 795: 0x534C, - 796: 0x534D, - 797: 0x5350, - 798: 0x5354, - 799: 0x5358, - 800: 0x5359, - 801: 0x535B, - 802: 0x535D, - 803: 0x5365, - 804: 0x5368, - 805: 0x536A, - 806: 0x536C, - 807: 0x536D, - 808: 0x5372, - 809: 0x5376, - 810: 0x5379, - 811: 0x537B, - 812: 0x537C, - 813: 0x537D, - 814: 0x537E, - 815: 0x5380, - 816: 0x5381, - 817: 0x5383, - 818: 0x5387, - 819: 0x5388, - 820: 0x538A, - 821: 0x538E, - 822: 0x538F, - 823: 0x5390, - 824: 0x5391, - 825: 0x5392, - 826: 0x5393, - 827: 0x5394, - 828: 0x5396, - 829: 0x5397, - 830: 0x5399, - 831: 0x539B, - 832: 0x539C, - 833: 0x539E, - 834: 0x53A0, - 835: 0x53A1, - 836: 0x53A4, - 837: 0x53A7, - 838: 0x53AA, - 839: 0x53AB, - 840: 0x53AC, - 841: 0x53AD, - 842: 0x53AF, - 843: 0x53B0, - 844: 0x53B1, - 845: 0x53B2, - 846: 0x53B3, - 847: 0x53B4, - 848: 0x53B5, - 849: 0x53B7, - 850: 0x53B8, - 851: 0x53B9, - 852: 0x53BA, - 853: 0x53BC, - 854: 0x53BD, - 855: 0x53BE, - 856: 0x53C0, - 857: 0x53C3, - 858: 0x53C4, - 859: 0x53C5, - 860: 0x53C6, - 861: 0x53C7, - 862: 0x53CE, - 863: 0x53CF, - 864: 0x53D0, - 865: 0x53D2, - 866: 0x53D3, - 867: 0x53D5, - 868: 0x53DA, - 869: 0x53DC, - 870: 0x53DD, - 871: 0x53DE, - 872: 0x53E1, - 873: 0x53E2, - 874: 0x53E7, - 875: 0x53F4, - 876: 0x53FA, - 877: 0x53FE, - 878: 0x53FF, - 879: 0x5400, - 880: 0x5402, - 881: 0x5405, - 882: 0x5407, - 883: 0x540B, - 884: 0x5414, - 885: 0x5418, - 886: 0x5419, - 887: 0x541A, - 888: 0x541C, - 889: 0x5422, - 890: 0x5424, - 891: 0x5425, - 892: 0x542A, - 893: 0x5430, - 894: 0x5433, - 895: 0x5436, - 896: 0x5437, - 897: 0x543A, - 898: 0x543D, - 899: 0x543F, - 900: 0x5441, - 901: 0x5442, - 902: 0x5444, - 903: 0x5445, - 904: 0x5447, - 905: 0x5449, - 906: 0x544C, - 907: 0x544D, - 908: 0x544E, - 909: 0x544F, - 910: 0x5451, - 911: 0x545A, - 912: 0x545D, - 913: 0x545E, - 914: 0x545F, - 915: 0x5460, - 916: 0x5461, - 917: 0x5463, - 918: 0x5465, - 919: 0x5467, - 920: 0x5469, - 921: 0x546A, - 922: 0x546B, - 923: 0x546C, - 924: 0x546D, - 925: 0x546E, - 926: 0x546F, - 927: 0x5470, - 928: 0x5474, - 929: 0x5479, - 930: 0x547A, - 931: 0x547E, - 932: 0x547F, - 933: 0x5481, - 934: 0x5483, - 935: 0x5485, - 936: 0x5487, - 937: 0x5488, - 938: 0x5489, - 939: 0x548A, - 940: 0x548D, - 941: 0x5491, - 942: 0x5493, - 943: 0x5497, - 944: 0x5498, - 945: 0x549C, - 946: 0x549E, - 947: 0x549F, - 948: 0x54A0, - 949: 0x54A1, - 950: 0x54A2, - 951: 0x54A5, - 952: 0x54AE, - 953: 0x54B0, - 954: 0x54B2, - 955: 0x54B5, - 956: 0x54B6, - 957: 0x54B7, - 958: 0x54B9, - 959: 0x54BA, - 960: 0x54BC, - 961: 0x54BE, - 962: 0x54C3, - 963: 0x54C5, - 964: 0x54CA, - 965: 0x54CB, - 966: 0x54D6, - 967: 0x54D8, - 968: 0x54DB, - 969: 0x54E0, - 970: 0x54E1, - 971: 0x54E2, - 972: 0x54E3, - 973: 0x54E4, - 974: 0x54EB, - 975: 0x54EC, - 976: 0x54EF, - 977: 0x54F0, - 978: 0x54F1, - 979: 0x54F4, - 980: 0x54F5, - 981: 0x54F6, - 982: 0x54F7, - 983: 0x54F8, - 984: 0x54F9, - 985: 0x54FB, - 986: 0x54FE, - 987: 0x5500, - 988: 0x5502, - 989: 0x5503, - 990: 0x5504, - 991: 0x5505, - 992: 0x5508, - 993: 0x550A, - 994: 0x550B, - 995: 0x550C, - 996: 0x550D, - 997: 0x550E, - 998: 0x5512, - 999: 0x5513, - 1000: 0x5515, - 1001: 0x5516, - 1002: 0x5517, - 1003: 0x5518, - 1004: 0x5519, - 1005: 0x551A, - 1006: 0x551C, - 1007: 0x551D, - 1008: 0x551E, - 1009: 0x551F, - 1010: 0x5521, - 1011: 0x5525, - 1012: 0x5526, - 1013: 0x5528, - 1014: 0x5529, - 1015: 0x552B, - 1016: 0x552D, - 1017: 0x5532, - 1018: 0x5534, - 1019: 0x5535, - 1020: 0x5536, - 1021: 0x5538, - 1022: 0x5539, - 1023: 0x553A, - 1024: 0x553B, - 1025: 0x553D, - 1026: 0x5540, - 1027: 0x5542, - 1028: 0x5545, - 1029: 0x5547, - 1030: 0x5548, - 1031: 0x554B, - 1032: 0x554C, - 1033: 0x554D, - 1034: 0x554E, - 1035: 0x554F, - 1036: 0x5551, - 1037: 0x5552, - 1038: 0x5553, - 1039: 0x5554, - 1040: 0x5557, - 1041: 0x5558, - 1042: 0x5559, - 1043: 0x555A, - 1044: 0x555B, - 1045: 0x555D, - 1046: 0x555E, - 1047: 0x555F, - 1048: 0x5560, - 1049: 0x5562, - 1050: 0x5563, - 1051: 0x5568, - 1052: 0x5569, - 1053: 0x556B, - 1054: 0x556F, - 1055: 0x5570, - 1056: 0x5571, - 1057: 0x5572, - 1058: 0x5573, - 1059: 0x5574, - 1060: 0x5579, - 1061: 0x557A, - 1062: 0x557D, - 1063: 0x557F, - 1064: 0x5585, - 1065: 0x5586, - 1066: 0x558C, - 1067: 0x558D, - 1068: 0x558E, - 1069: 0x5590, - 1070: 0x5592, - 1071: 0x5593, - 1072: 0x5595, - 1073: 0x5596, - 1074: 0x5597, - 1075: 0x559A, - 1076: 0x559B, - 1077: 0x559E, - 1078: 0x55A0, - 1079: 0x55A1, - 1080: 0x55A2, - 1081: 0x55A3, - 1082: 0x55A4, - 1083: 0x55A5, - 1084: 0x55A6, - 1085: 0x55A8, - 1086: 0x55A9, - 1087: 0x55AA, - 1088: 0x55AB, - 1089: 0x55AC, - 1090: 0x55AD, - 1091: 0x55AE, - 1092: 0x55AF, - 1093: 0x55B0, - 1094: 0x55B2, - 1095: 0x55B4, - 1096: 0x55B6, - 1097: 0x55B8, - 1098: 0x55BA, - 1099: 0x55BC, - 1100: 0x55BF, - 1101: 0x55C0, - 1102: 0x55C1, - 1103: 0x55C2, - 1104: 0x55C3, - 1105: 0x55C6, - 1106: 0x55C7, - 1107: 0x55C8, - 1108: 0x55CA, - 1109: 0x55CB, - 1110: 0x55CE, - 1111: 0x55CF, - 1112: 0x55D0, - 1113: 0x55D5, - 1114: 0x55D7, - 1115: 0x55D8, - 1116: 0x55D9, - 1117: 0x55DA, - 1118: 0x55DB, - 1119: 0x55DE, - 1120: 0x55E0, - 1121: 0x55E2, - 1122: 0x55E7, - 1123: 0x55E9, - 1124: 0x55ED, - 1125: 0x55EE, - 1126: 0x55F0, - 1127: 0x55F1, - 1128: 0x55F4, - 1129: 0x55F6, - 1130: 0x55F8, - 1131: 0x55F9, - 1132: 0x55FA, - 1133: 0x55FB, - 1134: 0x55FC, - 1135: 0x55FF, - 1136: 0x5602, - 1137: 0x5603, - 1138: 0x5604, - 1139: 0x5605, - 1140: 0x5606, - 1141: 0x5607, - 1142: 0x560A, - 1143: 0x560B, - 1144: 0x560D, - 1145: 0x5610, - 1146: 0x5611, - 1147: 0x5612, - 1148: 0x5613, - 1149: 0x5614, - 1150: 0x5615, - 1151: 0x5616, - 1152: 0x5617, - 1153: 0x5619, - 1154: 0x561A, - 1155: 0x561C, - 1156: 0x561D, - 1157: 0x5620, - 1158: 0x5621, - 1159: 0x5622, - 1160: 0x5625, - 1161: 0x5626, - 1162: 0x5628, - 1163: 0x5629, - 1164: 0x562A, - 1165: 0x562B, - 1166: 0x562E, - 1167: 0x562F, - 1168: 0x5630, - 1169: 0x5633, - 1170: 0x5635, - 1171: 0x5637, - 1172: 0x5638, - 1173: 0x563A, - 1174: 0x563C, - 1175: 0x563D, - 1176: 0x563E, - 1177: 0x5640, - 1178: 0x5641, - 1179: 0x5642, - 1180: 0x5643, - 1181: 0x5644, - 1182: 0x5645, - 1183: 0x5646, - 1184: 0x5647, - 1185: 0x5648, - 1186: 0x5649, - 1187: 0x564A, - 1188: 0x564B, - 1189: 0x564F, - 1190: 0x5650, - 1191: 0x5651, - 1192: 0x5652, - 1193: 0x5653, - 1194: 0x5655, - 1195: 0x5656, - 1196: 0x565A, - 1197: 0x565B, - 1198: 0x565D, - 1199: 0x565E, - 1200: 0x565F, - 1201: 0x5660, - 1202: 0x5661, - 1203: 0x5663, - 1204: 0x5665, - 1205: 0x5666, - 1206: 0x5667, - 1207: 0x566D, - 1208: 0x566E, - 1209: 0x566F, - 1210: 0x5670, - 1211: 0x5672, - 1212: 0x5673, - 1213: 0x5674, - 1214: 0x5675, - 1215: 0x5677, - 1216: 0x5678, - 1217: 0x5679, - 1218: 0x567A, - 1219: 0x567D, - 1220: 0x567E, - 1221: 0x567F, - 1222: 0x5680, - 1223: 0x5681, - 1224: 0x5682, - 1225: 0x5683, - 1226: 0x5684, - 1227: 0x5687, - 1228: 0x5688, - 1229: 0x5689, - 1230: 0x568A, - 1231: 0x568B, - 1232: 0x568C, - 1233: 0x568D, - 1234: 0x5690, - 1235: 0x5691, - 1236: 0x5692, - 1237: 0x5694, - 1238: 0x5695, - 1239: 0x5696, - 1240: 0x5697, - 1241: 0x5698, - 1242: 0x5699, - 1243: 0x569A, - 1244: 0x569B, - 1245: 0x569C, - 1246: 0x569D, - 1247: 0x569E, - 1248: 0x569F, - 1249: 0x56A0, - 1250: 0x56A1, - 1251: 0x56A2, - 1252: 0x56A4, - 1253: 0x56A5, - 1254: 0x56A6, - 1255: 0x56A7, - 1256: 0x56A8, - 1257: 0x56A9, - 1258: 0x56AA, - 1259: 0x56AB, - 1260: 0x56AC, - 1261: 0x56AD, - 1262: 0x56AE, - 1263: 0x56B0, - 1264: 0x56B1, - 1265: 0x56B2, - 1266: 0x56B3, - 1267: 0x56B4, - 1268: 0x56B5, - 1269: 0x56B6, - 1270: 0x56B8, - 1271: 0x56B9, - 1272: 0x56BA, - 1273: 0x56BB, - 1274: 0x56BD, - 1275: 0x56BE, - 1276: 0x56BF, - 1277: 0x56C0, - 1278: 0x56C1, - 1279: 0x56C2, - 1280: 0x56C3, - 1281: 0x56C4, - 1282: 0x56C5, - 1283: 0x56C6, - 1284: 0x56C7, - 1285: 0x56C8, - 1286: 0x56C9, - 1287: 0x56CB, - 1288: 0x56CC, - 1289: 0x56CD, - 1290: 0x56CE, - 1291: 0x56CF, - 1292: 0x56D0, - 1293: 0x56D1, - 1294: 0x56D2, - 1295: 0x56D3, - 1296: 0x56D5, - 1297: 0x56D6, - 1298: 0x56D8, - 1299: 0x56D9, - 1300: 0x56DC, - 1301: 0x56E3, - 1302: 0x56E5, - 1303: 0x56E6, - 1304: 0x56E7, - 1305: 0x56E8, - 1306: 0x56E9, - 1307: 0x56EA, - 1308: 0x56EC, - 1309: 0x56EE, - 1310: 0x56EF, - 1311: 0x56F2, - 1312: 0x56F3, - 1313: 0x56F6, - 1314: 0x56F7, - 1315: 0x56F8, - 1316: 0x56FB, - 1317: 0x56FC, - 1318: 0x5700, - 1319: 0x5701, - 1320: 0x5702, - 1321: 0x5705, - 1322: 0x5707, - 1323: 0x570B, - 1324: 0x570C, - 1325: 0x570D, - 1326: 0x570E, - 1327: 0x570F, - 1328: 0x5710, - 1329: 0x5711, - 1330: 0x5712, - 1331: 0x5713, - 1332: 0x5714, - 1333: 0x5715, - 1334: 0x5716, - 1335: 0x5717, - 1336: 0x5718, - 1337: 0x5719, - 1338: 0x571A, - 1339: 0x571B, - 1340: 0x571D, - 1341: 0x571E, - 1342: 0x5720, - 1343: 0x5721, - 1344: 0x5722, - 1345: 0x5724, - 1346: 0x5725, - 1347: 0x5726, - 1348: 0x5727, - 1349: 0x572B, - 1350: 0x5731, - 1351: 0x5732, - 1352: 0x5734, - 1353: 0x5735, - 1354: 0x5736, - 1355: 0x5737, - 1356: 0x5738, - 1357: 0x573C, - 1358: 0x573D, - 1359: 0x573F, - 1360: 0x5741, - 1361: 0x5743, - 1362: 0x5744, - 1363: 0x5745, - 1364: 0x5746, - 1365: 0x5748, - 1366: 0x5749, - 1367: 0x574B, - 1368: 0x5752, - 1369: 0x5753, - 1370: 0x5754, - 1371: 0x5755, - 1372: 0x5756, - 1373: 0x5758, - 1374: 0x5759, - 1375: 0x5762, - 1376: 0x5763, - 1377: 0x5765, - 1378: 0x5767, - 1379: 0x576C, - 1380: 0x576E, - 1381: 0x5770, - 1382: 0x5771, - 1383: 0x5772, - 1384: 0x5774, - 1385: 0x5775, - 1386: 0x5778, - 1387: 0x5779, - 1388: 0x577A, - 1389: 0x577D, - 1390: 0x577E, - 1391: 0x577F, - 1392: 0x5780, - 1393: 0x5781, - 1394: 0x5787, - 1395: 0x5788, - 1396: 0x5789, - 1397: 0x578A, - 1398: 0x578D, - 1399: 0x578E, - 1400: 0x578F, - 1401: 0x5790, - 1402: 0x5791, - 1403: 0x5794, - 1404: 0x5795, - 1405: 0x5796, - 1406: 0x5797, - 1407: 0x5798, - 1408: 0x5799, - 1409: 0x579A, - 1410: 0x579C, - 1411: 0x579D, - 1412: 0x579E, - 1413: 0x579F, - 1414: 0x57A5, - 1415: 0x57A8, - 1416: 0x57AA, - 1417: 0x57AC, - 1418: 0x57AF, - 1419: 0x57B0, - 1420: 0x57B1, - 1421: 0x57B3, - 1422: 0x57B5, - 1423: 0x57B6, - 1424: 0x57B7, - 1425: 0x57B9, - 1426: 0x57BA, - 1427: 0x57BB, - 1428: 0x57BC, - 1429: 0x57BD, - 1430: 0x57BE, - 1431: 0x57BF, - 1432: 0x57C0, - 1433: 0x57C1, - 1434: 0x57C4, - 1435: 0x57C5, - 1436: 0x57C6, - 1437: 0x57C7, - 1438: 0x57C8, - 1439: 0x57C9, - 1440: 0x57CA, - 1441: 0x57CC, - 1442: 0x57CD, - 1443: 0x57D0, - 1444: 0x57D1, - 1445: 0x57D3, - 1446: 0x57D6, - 1447: 0x57D7, - 1448: 0x57DB, - 1449: 0x57DC, - 1450: 0x57DE, - 1451: 0x57E1, - 1452: 0x57E2, - 1453: 0x57E3, - 1454: 0x57E5, - 1455: 0x57E6, - 1456: 0x57E7, - 1457: 0x57E8, - 1458: 0x57E9, - 1459: 0x57EA, - 1460: 0x57EB, - 1461: 0x57EC, - 1462: 0x57EE, - 1463: 0x57F0, - 1464: 0x57F1, - 1465: 0x57F2, - 1466: 0x57F3, - 1467: 0x57F5, - 1468: 0x57F6, - 1469: 0x57F7, - 1470: 0x57FB, - 1471: 0x57FC, - 1472: 0x57FE, - 1473: 0x57FF, - 1474: 0x5801, - 1475: 0x5803, - 1476: 0x5804, - 1477: 0x5805, - 1478: 0x5808, - 1479: 0x5809, - 1480: 0x580A, - 1481: 0x580C, - 1482: 0x580E, - 1483: 0x580F, - 1484: 0x5810, - 1485: 0x5812, - 1486: 0x5813, - 1487: 0x5814, - 1488: 0x5816, - 1489: 0x5817, - 1490: 0x5818, - 1491: 0x581A, - 1492: 0x581B, - 1493: 0x581C, - 1494: 0x581D, - 1495: 0x581F, - 1496: 0x5822, - 1497: 0x5823, - 1498: 0x5825, - 1499: 0x5826, - 1500: 0x5827, - 1501: 0x5828, - 1502: 0x5829, - 1503: 0x582B, - 1504: 0x582C, - 1505: 0x582D, - 1506: 0x582E, - 1507: 0x582F, - 1508: 0x5831, - 1509: 0x5832, - 1510: 0x5833, - 1511: 0x5834, - 1512: 0x5836, - 1513: 0x5837, - 1514: 0x5838, - 1515: 0x5839, - 1516: 0x583A, - 1517: 0x583B, - 1518: 0x583C, - 1519: 0x583D, - 1520: 0x583E, - 1521: 0x583F, - 1522: 0x5840, - 1523: 0x5841, - 1524: 0x5842, - 1525: 0x5843, - 1526: 0x5845, - 1527: 0x5846, - 1528: 0x5847, - 1529: 0x5848, - 1530: 0x5849, - 1531: 0x584A, - 1532: 0x584B, - 1533: 0x584E, - 1534: 0x584F, - 1535: 0x5850, - 1536: 0x5852, - 1537: 0x5853, - 1538: 0x5855, - 1539: 0x5856, - 1540: 0x5857, - 1541: 0x5859, - 1542: 0x585A, - 1543: 0x585B, - 1544: 0x585C, - 1545: 0x585D, - 1546: 0x585F, - 1547: 0x5860, - 1548: 0x5861, - 1549: 0x5862, - 1550: 0x5863, - 1551: 0x5864, - 1552: 0x5866, - 1553: 0x5867, - 1554: 0x5868, - 1555: 0x5869, - 1556: 0x586A, - 1557: 0x586D, - 1558: 0x586E, - 1559: 0x586F, - 1560: 0x5870, - 1561: 0x5871, - 1562: 0x5872, - 1563: 0x5873, - 1564: 0x5874, - 1565: 0x5875, - 1566: 0x5876, - 1567: 0x5877, - 1568: 0x5878, - 1569: 0x5879, - 1570: 0x587A, - 1571: 0x587B, - 1572: 0x587C, - 1573: 0x587D, - 1574: 0x587F, - 1575: 0x5882, - 1576: 0x5884, - 1577: 0x5886, - 1578: 0x5887, - 1579: 0x5888, - 1580: 0x588A, - 1581: 0x588B, - 1582: 0x588C, - 1583: 0x588D, - 1584: 0x588E, - 1585: 0x588F, - 1586: 0x5890, - 1587: 0x5891, - 1588: 0x5894, - 1589: 0x5895, - 1590: 0x5896, - 1591: 0x5897, - 1592: 0x5898, - 1593: 0x589B, - 1594: 0x589C, - 1595: 0x589D, - 1596: 0x58A0, - 1597: 0x58A1, - 1598: 0x58A2, - 1599: 0x58A3, - 1600: 0x58A4, - 1601: 0x58A5, - 1602: 0x58A6, - 1603: 0x58A7, - 1604: 0x58AA, - 1605: 0x58AB, - 1606: 0x58AC, - 1607: 0x58AD, - 1608: 0x58AE, - 1609: 0x58AF, - 1610: 0x58B0, - 1611: 0x58B1, - 1612: 0x58B2, - 1613: 0x58B3, - 1614: 0x58B4, - 1615: 0x58B5, - 1616: 0x58B6, - 1617: 0x58B7, - 1618: 0x58B8, - 1619: 0x58B9, - 1620: 0x58BA, - 1621: 0x58BB, - 1622: 0x58BD, - 1623: 0x58BE, - 1624: 0x58BF, - 1625: 0x58C0, - 1626: 0x58C2, - 1627: 0x58C3, - 1628: 0x58C4, - 1629: 0x58C6, - 1630: 0x58C7, - 1631: 0x58C8, - 1632: 0x58C9, - 1633: 0x58CA, - 1634: 0x58CB, - 1635: 0x58CC, - 1636: 0x58CD, - 1637: 0x58CE, - 1638: 0x58CF, - 1639: 0x58D0, - 1640: 0x58D2, - 1641: 0x58D3, - 1642: 0x58D4, - 1643: 0x58D6, - 1644: 0x58D7, - 1645: 0x58D8, - 1646: 0x58D9, - 1647: 0x58DA, - 1648: 0x58DB, - 1649: 0x58DC, - 1650: 0x58DD, - 1651: 0x58DE, - 1652: 0x58DF, - 1653: 0x58E0, - 1654: 0x58E1, - 1655: 0x58E2, - 1656: 0x58E3, - 1657: 0x58E5, - 1658: 0x58E6, - 1659: 0x58E7, - 1660: 0x58E8, - 1661: 0x58E9, - 1662: 0x58EA, - 1663: 0x58ED, - 1664: 0x58EF, - 1665: 0x58F1, - 1666: 0x58F2, - 1667: 0x58F4, - 1668: 0x58F5, - 1669: 0x58F7, - 1670: 0x58F8, - 1671: 0x58FA, - 1672: 0x58FB, - 1673: 0x58FC, - 1674: 0x58FD, - 1675: 0x58FE, - 1676: 0x58FF, - 1677: 0x5900, - 1678: 0x5901, - 1679: 0x5903, - 1680: 0x5905, - 1681: 0x5906, - 1682: 0x5908, - 1683: 0x5909, - 1684: 0x590A, - 1685: 0x590B, - 1686: 0x590C, - 1687: 0x590E, - 1688: 0x5910, - 1689: 0x5911, - 1690: 0x5912, - 1691: 0x5913, - 1692: 0x5917, - 1693: 0x5918, - 1694: 0x591B, - 1695: 0x591D, - 1696: 0x591E, - 1697: 0x5920, - 1698: 0x5921, - 1699: 0x5922, - 1700: 0x5923, - 1701: 0x5926, - 1702: 0x5928, - 1703: 0x592C, - 1704: 0x5930, - 1705: 0x5932, - 1706: 0x5933, - 1707: 0x5935, - 1708: 0x5936, - 1709: 0x593B, - 1710: 0x593D, - 1711: 0x593E, - 1712: 0x593F, - 1713: 0x5940, - 1714: 0x5943, - 1715: 0x5945, - 1716: 0x5946, - 1717: 0x594A, - 1718: 0x594C, - 1719: 0x594D, - 1720: 0x5950, - 1721: 0x5952, - 1722: 0x5953, - 1723: 0x5959, - 1724: 0x595B, - 1725: 0x595C, - 1726: 0x595D, - 1727: 0x595E, - 1728: 0x595F, - 1729: 0x5961, - 1730: 0x5963, - 1731: 0x5964, - 1732: 0x5966, - 1733: 0x5967, - 1734: 0x5968, - 1735: 0x5969, - 1736: 0x596A, - 1737: 0x596B, - 1738: 0x596C, - 1739: 0x596D, - 1740: 0x596E, - 1741: 0x596F, - 1742: 0x5970, - 1743: 0x5971, - 1744: 0x5972, - 1745: 0x5975, - 1746: 0x5977, - 1747: 0x597A, - 1748: 0x597B, - 1749: 0x597C, - 1750: 0x597E, - 1751: 0x597F, - 1752: 0x5980, - 1753: 0x5985, - 1754: 0x5989, - 1755: 0x598B, - 1756: 0x598C, - 1757: 0x598E, - 1758: 0x598F, - 1759: 0x5990, - 1760: 0x5991, - 1761: 0x5994, - 1762: 0x5995, - 1763: 0x5998, - 1764: 0x599A, - 1765: 0x599B, - 1766: 0x599C, - 1767: 0x599D, - 1768: 0x599F, - 1769: 0x59A0, - 1770: 0x59A1, - 1771: 0x59A2, - 1772: 0x59A6, - 1773: 0x59A7, - 1774: 0x59AC, - 1775: 0x59AD, - 1776: 0x59B0, - 1777: 0x59B1, - 1778: 0x59B3, - 1779: 0x59B4, - 1780: 0x59B5, - 1781: 0x59B6, - 1782: 0x59B7, - 1783: 0x59B8, - 1784: 0x59BA, - 1785: 0x59BC, - 1786: 0x59BD, - 1787: 0x59BF, - 1788: 0x59C0, - 1789: 0x59C1, - 1790: 0x59C2, - 1791: 0x59C3, - 1792: 0x59C4, - 1793: 0x59C5, - 1794: 0x59C7, - 1795: 0x59C8, - 1796: 0x59C9, - 1797: 0x59CC, - 1798: 0x59CD, - 1799: 0x59CE, - 1800: 0x59CF, - 1801: 0x59D5, - 1802: 0x59D6, - 1803: 0x59D9, - 1804: 0x59DB, - 1805: 0x59DE, - 1806: 0x59DF, - 1807: 0x59E0, - 1808: 0x59E1, - 1809: 0x59E2, - 1810: 0x59E4, - 1811: 0x59E6, - 1812: 0x59E7, - 1813: 0x59E9, - 1814: 0x59EA, - 1815: 0x59EB, - 1816: 0x59ED, - 1817: 0x59EE, - 1818: 0x59EF, - 1819: 0x59F0, - 1820: 0x59F1, - 1821: 0x59F2, - 1822: 0x59F3, - 1823: 0x59F4, - 1824: 0x59F5, - 1825: 0x59F6, - 1826: 0x59F7, - 1827: 0x59F8, - 1828: 0x59FA, - 1829: 0x59FC, - 1830: 0x59FD, - 1831: 0x59FE, - 1832: 0x5A00, - 1833: 0x5A02, - 1834: 0x5A0A, - 1835: 0x5A0B, - 1836: 0x5A0D, - 1837: 0x5A0E, - 1838: 0x5A0F, - 1839: 0x5A10, - 1840: 0x5A12, - 1841: 0x5A14, - 1842: 0x5A15, - 1843: 0x5A16, - 1844: 0x5A17, - 1845: 0x5A19, - 1846: 0x5A1A, - 1847: 0x5A1B, - 1848: 0x5A1D, - 1849: 0x5A1E, - 1850: 0x5A21, - 1851: 0x5A22, - 1852: 0x5A24, - 1853: 0x5A26, - 1854: 0x5A27, - 1855: 0x5A28, - 1856: 0x5A2A, - 1857: 0x5A2B, - 1858: 0x5A2C, - 1859: 0x5A2D, - 1860: 0x5A2E, - 1861: 0x5A2F, - 1862: 0x5A30, - 1863: 0x5A33, - 1864: 0x5A35, - 1865: 0x5A37, - 1866: 0x5A38, - 1867: 0x5A39, - 1868: 0x5A3A, - 1869: 0x5A3B, - 1870: 0x5A3D, - 1871: 0x5A3E, - 1872: 0x5A3F, - 1873: 0x5A41, - 1874: 0x5A42, - 1875: 0x5A43, - 1876: 0x5A44, - 1877: 0x5A45, - 1878: 0x5A47, - 1879: 0x5A48, - 1880: 0x5A4B, - 1881: 0x5A4C, - 1882: 0x5A4D, - 1883: 0x5A4E, - 1884: 0x5A4F, - 1885: 0x5A50, - 1886: 0x5A51, - 1887: 0x5A52, - 1888: 0x5A53, - 1889: 0x5A54, - 1890: 0x5A56, - 1891: 0x5A57, - 1892: 0x5A58, - 1893: 0x5A59, - 1894: 0x5A5B, - 1895: 0x5A5C, - 1896: 0x5A5D, - 1897: 0x5A5E, - 1898: 0x5A5F, - 1899: 0x5A60, - 1900: 0x5A61, - 1901: 0x5A63, - 1902: 0x5A64, - 1903: 0x5A65, - 1904: 0x5A66, - 1905: 0x5A68, - 1906: 0x5A69, - 1907: 0x5A6B, - 1908: 0x5A6C, - 1909: 0x5A6D, - 1910: 0x5A6E, - 1911: 0x5A6F, - 1912: 0x5A70, - 1913: 0x5A71, - 1914: 0x5A72, - 1915: 0x5A73, - 1916: 0x5A78, - 1917: 0x5A79, - 1918: 0x5A7B, - 1919: 0x5A7C, - 1920: 0x5A7D, - 1921: 0x5A7E, - 1922: 0x5A80, - 1923: 0x5A81, - 1924: 0x5A82, - 1925: 0x5A83, - 1926: 0x5A84, - 1927: 0x5A85, - 1928: 0x5A86, - 1929: 0x5A87, - 1930: 0x5A88, - 1931: 0x5A89, - 1932: 0x5A8A, - 1933: 0x5A8B, - 1934: 0x5A8C, - 1935: 0x5A8D, - 1936: 0x5A8E, - 1937: 0x5A8F, - 1938: 0x5A90, - 1939: 0x5A91, - 1940: 0x5A93, - 1941: 0x5A94, - 1942: 0x5A95, - 1943: 0x5A96, - 1944: 0x5A97, - 1945: 0x5A98, - 1946: 0x5A99, - 1947: 0x5A9C, - 1948: 0x5A9D, - 1949: 0x5A9E, - 1950: 0x5A9F, - 1951: 0x5AA0, - 1952: 0x5AA1, - 1953: 0x5AA2, - 1954: 0x5AA3, - 1955: 0x5AA4, - 1956: 0x5AA5, - 1957: 0x5AA6, - 1958: 0x5AA7, - 1959: 0x5AA8, - 1960: 0x5AA9, - 1961: 0x5AAB, - 1962: 0x5AAC, - 1963: 0x5AAD, - 1964: 0x5AAE, - 1965: 0x5AAF, - 1966: 0x5AB0, - 1967: 0x5AB1, - 1968: 0x5AB4, - 1969: 0x5AB6, - 1970: 0x5AB7, - 1971: 0x5AB9, - 1972: 0x5ABA, - 1973: 0x5ABB, - 1974: 0x5ABC, - 1975: 0x5ABD, - 1976: 0x5ABF, - 1977: 0x5AC0, - 1978: 0x5AC3, - 1979: 0x5AC4, - 1980: 0x5AC5, - 1981: 0x5AC6, - 1982: 0x5AC7, - 1983: 0x5AC8, - 1984: 0x5ACA, - 1985: 0x5ACB, - 1986: 0x5ACD, - 1987: 0x5ACE, - 1988: 0x5ACF, - 1989: 0x5AD0, - 1990: 0x5AD1, - 1991: 0x5AD3, - 1992: 0x5AD5, - 1993: 0x5AD7, - 1994: 0x5AD9, - 1995: 0x5ADA, - 1996: 0x5ADB, - 1997: 0x5ADD, - 1998: 0x5ADE, - 1999: 0x5ADF, - 2000: 0x5AE2, - 2001: 0x5AE4, - 2002: 0x5AE5, - 2003: 0x5AE7, - 2004: 0x5AE8, - 2005: 0x5AEA, - 2006: 0x5AEC, - 2007: 0x5AED, - 2008: 0x5AEE, - 2009: 0x5AEF, - 2010: 0x5AF0, - 2011: 0x5AF2, - 2012: 0x5AF3, - 2013: 0x5AF4, - 2014: 0x5AF5, - 2015: 0x5AF6, - 2016: 0x5AF7, - 2017: 0x5AF8, - 2018: 0x5AF9, - 2019: 0x5AFA, - 2020: 0x5AFB, - 2021: 0x5AFC, - 2022: 0x5AFD, - 2023: 0x5AFE, - 2024: 0x5AFF, - 2025: 0x5B00, - 2026: 0x5B01, - 2027: 0x5B02, - 2028: 0x5B03, - 2029: 0x5B04, - 2030: 0x5B05, - 2031: 0x5B06, - 2032: 0x5B07, - 2033: 0x5B08, - 2034: 0x5B0A, - 2035: 0x5B0B, - 2036: 0x5B0C, - 2037: 0x5B0D, - 2038: 0x5B0E, - 2039: 0x5B0F, - 2040: 0x5B10, - 2041: 0x5B11, - 2042: 0x5B12, - 2043: 0x5B13, - 2044: 0x5B14, - 2045: 0x5B15, - 2046: 0x5B18, - 2047: 0x5B19, - 2048: 0x5B1A, - 2049: 0x5B1B, - 2050: 0x5B1C, - 2051: 0x5B1D, - 2052: 0x5B1E, - 2053: 0x5B1F, - 2054: 0x5B20, - 2055: 0x5B21, - 2056: 0x5B22, - 2057: 0x5B23, - 2058: 0x5B24, - 2059: 0x5B25, - 2060: 0x5B26, - 2061: 0x5B27, - 2062: 0x5B28, - 2063: 0x5B29, - 2064: 0x5B2A, - 2065: 0x5B2B, - 2066: 0x5B2C, - 2067: 0x5B2D, - 2068: 0x5B2E, - 2069: 0x5B2F, - 2070: 0x5B30, - 2071: 0x5B31, - 2072: 0x5B33, - 2073: 0x5B35, - 2074: 0x5B36, - 2075: 0x5B38, - 2076: 0x5B39, - 2077: 0x5B3A, - 2078: 0x5B3B, - 2079: 0x5B3C, - 2080: 0x5B3D, - 2081: 0x5B3E, - 2082: 0x5B3F, - 2083: 0x5B41, - 2084: 0x5B42, - 2085: 0x5B43, - 2086: 0x5B44, - 2087: 0x5B45, - 2088: 0x5B46, - 2089: 0x5B47, - 2090: 0x5B48, - 2091: 0x5B49, - 2092: 0x5B4A, - 2093: 0x5B4B, - 2094: 0x5B4C, - 2095: 0x5B4D, - 2096: 0x5B4E, - 2097: 0x5B4F, - 2098: 0x5B52, - 2099: 0x5B56, - 2100: 0x5B5E, - 2101: 0x5B60, - 2102: 0x5B61, - 2103: 0x5B67, - 2104: 0x5B68, - 2105: 0x5B6B, - 2106: 0x5B6D, - 2107: 0x5B6E, - 2108: 0x5B6F, - 2109: 0x5B72, - 2110: 0x5B74, - 2111: 0x5B76, - 2112: 0x5B77, - 2113: 0x5B78, - 2114: 0x5B79, - 2115: 0x5B7B, - 2116: 0x5B7C, - 2117: 0x5B7E, - 2118: 0x5B7F, - 2119: 0x5B82, - 2120: 0x5B86, - 2121: 0x5B8A, - 2122: 0x5B8D, - 2123: 0x5B8E, - 2124: 0x5B90, - 2125: 0x5B91, - 2126: 0x5B92, - 2127: 0x5B94, - 2128: 0x5B96, - 2129: 0x5B9F, - 2130: 0x5BA7, - 2131: 0x5BA8, - 2132: 0x5BA9, - 2133: 0x5BAC, - 2134: 0x5BAD, - 2135: 0x5BAE, - 2136: 0x5BAF, - 2137: 0x5BB1, - 2138: 0x5BB2, - 2139: 0x5BB7, - 2140: 0x5BBA, - 2141: 0x5BBB, - 2142: 0x5BBC, - 2143: 0x5BC0, - 2144: 0x5BC1, - 2145: 0x5BC3, - 2146: 0x5BC8, - 2147: 0x5BC9, - 2148: 0x5BCA, - 2149: 0x5BCB, - 2150: 0x5BCD, - 2151: 0x5BCE, - 2152: 0x5BCF, - 2153: 0x5BD1, - 2154: 0x5BD4, - 2155: 0x5BD5, - 2156: 0x5BD6, - 2157: 0x5BD7, - 2158: 0x5BD8, - 2159: 0x5BD9, - 2160: 0x5BDA, - 2161: 0x5BDB, - 2162: 0x5BDC, - 2163: 0x5BE0, - 2164: 0x5BE2, - 2165: 0x5BE3, - 2166: 0x5BE6, - 2167: 0x5BE7, - 2168: 0x5BE9, - 2169: 0x5BEA, - 2170: 0x5BEB, - 2171: 0x5BEC, - 2172: 0x5BED, - 2173: 0x5BEF, - 2174: 0x5BF1, - 2175: 0x5BF2, - 2176: 0x5BF3, - 2177: 0x5BF4, - 2178: 0x5BF5, - 2179: 0x5BF6, - 2180: 0x5BF7, - 2181: 0x5BFD, - 2182: 0x5BFE, - 2183: 0x5C00, - 2184: 0x5C02, - 2185: 0x5C03, - 2186: 0x5C05, - 2187: 0x5C07, - 2188: 0x5C08, - 2189: 0x5C0B, - 2190: 0x5C0C, - 2191: 0x5C0D, - 2192: 0x5C0E, - 2193: 0x5C10, - 2194: 0x5C12, - 2195: 0x5C13, - 2196: 0x5C17, - 2197: 0x5C19, - 2198: 0x5C1B, - 2199: 0x5C1E, - 2200: 0x5C1F, - 2201: 0x5C20, - 2202: 0x5C21, - 2203: 0x5C23, - 2204: 0x5C26, - 2205: 0x5C28, - 2206: 0x5C29, - 2207: 0x5C2A, - 2208: 0x5C2B, - 2209: 0x5C2D, - 2210: 0x5C2E, - 2211: 0x5C2F, - 2212: 0x5C30, - 2213: 0x5C32, - 2214: 0x5C33, - 2215: 0x5C35, - 2216: 0x5C36, - 2217: 0x5C37, - 2218: 0x5C43, - 2219: 0x5C44, - 2220: 0x5C46, - 2221: 0x5C47, - 2222: 0x5C4C, - 2223: 0x5C4D, - 2224: 0x5C52, - 2225: 0x5C53, - 2226: 0x5C54, - 2227: 0x5C56, - 2228: 0x5C57, - 2229: 0x5C58, - 2230: 0x5C5A, - 2231: 0x5C5B, - 2232: 0x5C5C, - 2233: 0x5C5D, - 2234: 0x5C5F, - 2235: 0x5C62, - 2236: 0x5C64, - 2237: 0x5C67, - 2238: 0x5C68, - 2239: 0x5C69, - 2240: 0x5C6A, - 2241: 0x5C6B, - 2242: 0x5C6C, - 2243: 0x5C6D, - 2244: 0x5C70, - 2245: 0x5C72, - 2246: 0x5C73, - 2247: 0x5C74, - 2248: 0x5C75, - 2249: 0x5C76, - 2250: 0x5C77, - 2251: 0x5C78, - 2252: 0x5C7B, - 2253: 0x5C7C, - 2254: 0x5C7D, - 2255: 0x5C7E, - 2256: 0x5C80, - 2257: 0x5C83, - 2258: 0x5C84, - 2259: 0x5C85, - 2260: 0x5C86, - 2261: 0x5C87, - 2262: 0x5C89, - 2263: 0x5C8A, - 2264: 0x5C8B, - 2265: 0x5C8E, - 2266: 0x5C8F, - 2267: 0x5C92, - 2268: 0x5C93, - 2269: 0x5C95, - 2270: 0x5C9D, - 2271: 0x5C9E, - 2272: 0x5C9F, - 2273: 0x5CA0, - 2274: 0x5CA1, - 2275: 0x5CA4, - 2276: 0x5CA5, - 2277: 0x5CA6, - 2278: 0x5CA7, - 2279: 0x5CA8, - 2280: 0x5CAA, - 2281: 0x5CAE, - 2282: 0x5CAF, - 2283: 0x5CB0, - 2284: 0x5CB2, - 2285: 0x5CB4, - 2286: 0x5CB6, - 2287: 0x5CB9, - 2288: 0x5CBA, - 2289: 0x5CBB, - 2290: 0x5CBC, - 2291: 0x5CBE, - 2292: 0x5CC0, - 2293: 0x5CC2, - 2294: 0x5CC3, - 2295: 0x5CC5, - 2296: 0x5CC6, - 2297: 0x5CC7, - 2298: 0x5CC8, - 2299: 0x5CC9, - 2300: 0x5CCA, - 2301: 0x5CCC, - 2302: 0x5CCD, - 2303: 0x5CCE, - 2304: 0x5CCF, - 2305: 0x5CD0, - 2306: 0x5CD1, - 2307: 0x5CD3, - 2308: 0x5CD4, - 2309: 0x5CD5, - 2310: 0x5CD6, - 2311: 0x5CD7, - 2312: 0x5CD8, - 2313: 0x5CDA, - 2314: 0x5CDB, - 2315: 0x5CDC, - 2316: 0x5CDD, - 2317: 0x5CDE, - 2318: 0x5CDF, - 2319: 0x5CE0, - 2320: 0x5CE2, - 2321: 0x5CE3, - 2322: 0x5CE7, - 2323: 0x5CE9, - 2324: 0x5CEB, - 2325: 0x5CEC, - 2326: 0x5CEE, - 2327: 0x5CEF, - 2328: 0x5CF1, - 2329: 0x5CF2, - 2330: 0x5CF3, - 2331: 0x5CF4, - 2332: 0x5CF5, - 2333: 0x5CF6, - 2334: 0x5CF7, - 2335: 0x5CF8, - 2336: 0x5CF9, - 2337: 0x5CFA, - 2338: 0x5CFC, - 2339: 0x5CFD, - 2340: 0x5CFE, - 2341: 0x5CFF, - 2342: 0x5D00, - 2343: 0x5D01, - 2344: 0x5D04, - 2345: 0x5D05, - 2346: 0x5D08, - 2347: 0x5D09, - 2348: 0x5D0A, - 2349: 0x5D0B, - 2350: 0x5D0C, - 2351: 0x5D0D, - 2352: 0x5D0F, - 2353: 0x5D10, - 2354: 0x5D11, - 2355: 0x5D12, - 2356: 0x5D13, - 2357: 0x5D15, - 2358: 0x5D17, - 2359: 0x5D18, - 2360: 0x5D19, - 2361: 0x5D1A, - 2362: 0x5D1C, - 2363: 0x5D1D, - 2364: 0x5D1F, - 2365: 0x5D20, - 2366: 0x5D21, - 2367: 0x5D22, - 2368: 0x5D23, - 2369: 0x5D25, - 2370: 0x5D28, - 2371: 0x5D2A, - 2372: 0x5D2B, - 2373: 0x5D2C, - 2374: 0x5D2F, - 2375: 0x5D30, - 2376: 0x5D31, - 2377: 0x5D32, - 2378: 0x5D33, - 2379: 0x5D35, - 2380: 0x5D36, - 2381: 0x5D37, - 2382: 0x5D38, - 2383: 0x5D39, - 2384: 0x5D3A, - 2385: 0x5D3B, - 2386: 0x5D3C, - 2387: 0x5D3F, - 2388: 0x5D40, - 2389: 0x5D41, - 2390: 0x5D42, - 2391: 0x5D43, - 2392: 0x5D44, - 2393: 0x5D45, - 2394: 0x5D46, - 2395: 0x5D48, - 2396: 0x5D49, - 2397: 0x5D4D, - 2398: 0x5D4E, - 2399: 0x5D4F, - 2400: 0x5D50, - 2401: 0x5D51, - 2402: 0x5D52, - 2403: 0x5D53, - 2404: 0x5D54, - 2405: 0x5D55, - 2406: 0x5D56, - 2407: 0x5D57, - 2408: 0x5D59, - 2409: 0x5D5A, - 2410: 0x5D5C, - 2411: 0x5D5E, - 2412: 0x5D5F, - 2413: 0x5D60, - 2414: 0x5D61, - 2415: 0x5D62, - 2416: 0x5D63, - 2417: 0x5D64, - 2418: 0x5D65, - 2419: 0x5D66, - 2420: 0x5D67, - 2421: 0x5D68, - 2422: 0x5D6A, - 2423: 0x5D6D, - 2424: 0x5D6E, - 2425: 0x5D70, - 2426: 0x5D71, - 2427: 0x5D72, - 2428: 0x5D73, - 2429: 0x5D75, - 2430: 0x5D76, - 2431: 0x5D77, - 2432: 0x5D78, - 2433: 0x5D79, - 2434: 0x5D7A, - 2435: 0x5D7B, - 2436: 0x5D7C, - 2437: 0x5D7D, - 2438: 0x5D7E, - 2439: 0x5D7F, - 2440: 0x5D80, - 2441: 0x5D81, - 2442: 0x5D83, - 2443: 0x5D84, - 2444: 0x5D85, - 2445: 0x5D86, - 2446: 0x5D87, - 2447: 0x5D88, - 2448: 0x5D89, - 2449: 0x5D8A, - 2450: 0x5D8B, - 2451: 0x5D8C, - 2452: 0x5D8D, - 2453: 0x5D8E, - 2454: 0x5D8F, - 2455: 0x5D90, - 2456: 0x5D91, - 2457: 0x5D92, - 2458: 0x5D93, - 2459: 0x5D94, - 2460: 0x5D95, - 2461: 0x5D96, - 2462: 0x5D97, - 2463: 0x5D98, - 2464: 0x5D9A, - 2465: 0x5D9B, - 2466: 0x5D9C, - 2467: 0x5D9E, - 2468: 0x5D9F, - 2469: 0x5DA0, - 2470: 0x5DA1, - 2471: 0x5DA2, - 2472: 0x5DA3, - 2473: 0x5DA4, - 2474: 0x5DA5, - 2475: 0x5DA6, - 2476: 0x5DA7, - 2477: 0x5DA8, - 2478: 0x5DA9, - 2479: 0x5DAA, - 2480: 0x5DAB, - 2481: 0x5DAC, - 2482: 0x5DAD, - 2483: 0x5DAE, - 2484: 0x5DAF, - 2485: 0x5DB0, - 2486: 0x5DB1, - 2487: 0x5DB2, - 2488: 0x5DB3, - 2489: 0x5DB4, - 2490: 0x5DB5, - 2491: 0x5DB6, - 2492: 0x5DB8, - 2493: 0x5DB9, - 2494: 0x5DBA, - 2495: 0x5DBB, - 2496: 0x5DBC, - 2497: 0x5DBD, - 2498: 0x5DBE, - 2499: 0x5DBF, - 2500: 0x5DC0, - 2501: 0x5DC1, - 2502: 0x5DC2, - 2503: 0x5DC3, - 2504: 0x5DC4, - 2505: 0x5DC6, - 2506: 0x5DC7, - 2507: 0x5DC8, - 2508: 0x5DC9, - 2509: 0x5DCA, - 2510: 0x5DCB, - 2511: 0x5DCC, - 2512: 0x5DCE, - 2513: 0x5DCF, - 2514: 0x5DD0, - 2515: 0x5DD1, - 2516: 0x5DD2, - 2517: 0x5DD3, - 2518: 0x5DD4, - 2519: 0x5DD5, - 2520: 0x5DD6, - 2521: 0x5DD7, - 2522: 0x5DD8, - 2523: 0x5DD9, - 2524: 0x5DDA, - 2525: 0x5DDC, - 2526: 0x5DDF, - 2527: 0x5DE0, - 2528: 0x5DE3, - 2529: 0x5DE4, - 2530: 0x5DEA, - 2531: 0x5DEC, - 2532: 0x5DED, - 2533: 0x5DF0, - 2534: 0x5DF5, - 2535: 0x5DF6, - 2536: 0x5DF8, - 2537: 0x5DF9, - 2538: 0x5DFA, - 2539: 0x5DFB, - 2540: 0x5DFC, - 2541: 0x5DFF, - 2542: 0x5E00, - 2543: 0x5E04, - 2544: 0x5E07, - 2545: 0x5E09, - 2546: 0x5E0A, - 2547: 0x5E0B, - 2548: 0x5E0D, - 2549: 0x5E0E, - 2550: 0x5E12, - 2551: 0x5E13, - 2552: 0x5E17, - 2553: 0x5E1E, - 2554: 0x5E1F, - 2555: 0x5E20, - 2556: 0x5E21, - 2557: 0x5E22, - 2558: 0x5E23, - 2559: 0x5E24, - 2560: 0x5E25, - 2561: 0x5E28, - 2562: 0x5E29, - 2563: 0x5E2A, - 2564: 0x5E2B, - 2565: 0x5E2C, - 2566: 0x5E2F, - 2567: 0x5E30, - 2568: 0x5E32, - 2569: 0x5E33, - 2570: 0x5E34, - 2571: 0x5E35, - 2572: 0x5E36, - 2573: 0x5E39, - 2574: 0x5E3A, - 2575: 0x5E3E, - 2576: 0x5E3F, - 2577: 0x5E40, - 2578: 0x5E41, - 2579: 0x5E43, - 2580: 0x5E46, - 2581: 0x5E47, - 2582: 0x5E48, - 2583: 0x5E49, - 2584: 0x5E4A, - 2585: 0x5E4B, - 2586: 0x5E4D, - 2587: 0x5E4E, - 2588: 0x5E4F, - 2589: 0x5E50, - 2590: 0x5E51, - 2591: 0x5E52, - 2592: 0x5E53, - 2593: 0x5E56, - 2594: 0x5E57, - 2595: 0x5E58, - 2596: 0x5E59, - 2597: 0x5E5A, - 2598: 0x5E5C, - 2599: 0x5E5D, - 2600: 0x5E5F, - 2601: 0x5E60, - 2602: 0x5E63, - 2603: 0x5E64, - 2604: 0x5E65, - 2605: 0x5E66, - 2606: 0x5E67, - 2607: 0x5E68, - 2608: 0x5E69, - 2609: 0x5E6A, - 2610: 0x5E6B, - 2611: 0x5E6C, - 2612: 0x5E6D, - 2613: 0x5E6E, - 2614: 0x5E6F, - 2615: 0x5E70, - 2616: 0x5E71, - 2617: 0x5E75, - 2618: 0x5E77, - 2619: 0x5E79, - 2620: 0x5E7E, - 2621: 0x5E81, - 2622: 0x5E82, - 2623: 0x5E83, - 2624: 0x5E85, - 2625: 0x5E88, - 2626: 0x5E89, - 2627: 0x5E8C, - 2628: 0x5E8D, - 2629: 0x5E8E, - 2630: 0x5E92, - 2631: 0x5E98, - 2632: 0x5E9B, - 2633: 0x5E9D, - 2634: 0x5EA1, - 2635: 0x5EA2, - 2636: 0x5EA3, - 2637: 0x5EA4, - 2638: 0x5EA8, - 2639: 0x5EA9, - 2640: 0x5EAA, - 2641: 0x5EAB, - 2642: 0x5EAC, - 2643: 0x5EAE, - 2644: 0x5EAF, - 2645: 0x5EB0, - 2646: 0x5EB1, - 2647: 0x5EB2, - 2648: 0x5EB4, - 2649: 0x5EBA, - 2650: 0x5EBB, - 2651: 0x5EBC, - 2652: 0x5EBD, - 2653: 0x5EBF, - 2654: 0x5EC0, - 2655: 0x5EC1, - 2656: 0x5EC2, - 2657: 0x5EC3, - 2658: 0x5EC4, - 2659: 0x5EC5, - 2660: 0x5EC6, - 2661: 0x5EC7, - 2662: 0x5EC8, - 2663: 0x5ECB, - 2664: 0x5ECC, - 2665: 0x5ECD, - 2666: 0x5ECE, - 2667: 0x5ECF, - 2668: 0x5ED0, - 2669: 0x5ED4, - 2670: 0x5ED5, - 2671: 0x5ED7, - 2672: 0x5ED8, - 2673: 0x5ED9, - 2674: 0x5EDA, - 2675: 0x5EDC, - 2676: 0x5EDD, - 2677: 0x5EDE, - 2678: 0x5EDF, - 2679: 0x5EE0, - 2680: 0x5EE1, - 2681: 0x5EE2, - 2682: 0x5EE3, - 2683: 0x5EE4, - 2684: 0x5EE5, - 2685: 0x5EE6, - 2686: 0x5EE7, - 2687: 0x5EE9, - 2688: 0x5EEB, - 2689: 0x5EEC, - 2690: 0x5EED, - 2691: 0x5EEE, - 2692: 0x5EEF, - 2693: 0x5EF0, - 2694: 0x5EF1, - 2695: 0x5EF2, - 2696: 0x5EF3, - 2697: 0x5EF5, - 2698: 0x5EF8, - 2699: 0x5EF9, - 2700: 0x5EFB, - 2701: 0x5EFC, - 2702: 0x5EFD, - 2703: 0x5F05, - 2704: 0x5F06, - 2705: 0x5F07, - 2706: 0x5F09, - 2707: 0x5F0C, - 2708: 0x5F0D, - 2709: 0x5F0E, - 2710: 0x5F10, - 2711: 0x5F12, - 2712: 0x5F14, - 2713: 0x5F16, - 2714: 0x5F19, - 2715: 0x5F1A, - 2716: 0x5F1C, - 2717: 0x5F1D, - 2718: 0x5F1E, - 2719: 0x5F21, - 2720: 0x5F22, - 2721: 0x5F23, - 2722: 0x5F24, - 2723: 0x5F28, - 2724: 0x5F2B, - 2725: 0x5F2C, - 2726: 0x5F2E, - 2727: 0x5F30, - 2728: 0x5F32, - 2729: 0x5F33, - 2730: 0x5F34, - 2731: 0x5F35, - 2732: 0x5F36, - 2733: 0x5F37, - 2734: 0x5F38, - 2735: 0x5F3B, - 2736: 0x5F3D, - 2737: 0x5F3E, - 2738: 0x5F3F, - 2739: 0x5F41, - 2740: 0x5F42, - 2741: 0x5F43, - 2742: 0x5F44, - 2743: 0x5F45, - 2744: 0x5F46, - 2745: 0x5F47, - 2746: 0x5F48, - 2747: 0x5F49, - 2748: 0x5F4A, - 2749: 0x5F4B, - 2750: 0x5F4C, - 2751: 0x5F4D, - 2752: 0x5F4E, - 2753: 0x5F4F, - 2754: 0x5F51, - 2755: 0x5F54, - 2756: 0x5F59, - 2757: 0x5F5A, - 2758: 0x5F5B, - 2759: 0x5F5C, - 2760: 0x5F5E, - 2761: 0x5F5F, - 2762: 0x5F60, - 2763: 0x5F63, - 2764: 0x5F65, - 2765: 0x5F67, - 2766: 0x5F68, - 2767: 0x5F6B, - 2768: 0x5F6E, - 2769: 0x5F6F, - 2770: 0x5F72, - 2771: 0x5F74, - 2772: 0x5F75, - 2773: 0x5F76, - 2774: 0x5F78, - 2775: 0x5F7A, - 2776: 0x5F7D, - 2777: 0x5F7E, - 2778: 0x5F7F, - 2779: 0x5F83, - 2780: 0x5F86, - 2781: 0x5F8D, - 2782: 0x5F8E, - 2783: 0x5F8F, - 2784: 0x5F91, - 2785: 0x5F93, - 2786: 0x5F94, - 2787: 0x5F96, - 2788: 0x5F9A, - 2789: 0x5F9B, - 2790: 0x5F9D, - 2791: 0x5F9E, - 2792: 0x5F9F, - 2793: 0x5FA0, - 2794: 0x5FA2, - 2795: 0x5FA3, - 2796: 0x5FA4, - 2797: 0x5FA5, - 2798: 0x5FA6, - 2799: 0x5FA7, - 2800: 0x5FA9, - 2801: 0x5FAB, - 2802: 0x5FAC, - 2803: 0x5FAF, - 2804: 0x5FB0, - 2805: 0x5FB1, - 2806: 0x5FB2, - 2807: 0x5FB3, - 2808: 0x5FB4, - 2809: 0x5FB6, - 2810: 0x5FB8, - 2811: 0x5FB9, - 2812: 0x5FBA, - 2813: 0x5FBB, - 2814: 0x5FBE, - 2815: 0x5FBF, - 2816: 0x5FC0, - 2817: 0x5FC1, - 2818: 0x5FC2, - 2819: 0x5FC7, - 2820: 0x5FC8, - 2821: 0x5FCA, - 2822: 0x5FCB, - 2823: 0x5FCE, - 2824: 0x5FD3, - 2825: 0x5FD4, - 2826: 0x5FD5, - 2827: 0x5FDA, - 2828: 0x5FDB, - 2829: 0x5FDC, - 2830: 0x5FDE, - 2831: 0x5FDF, - 2832: 0x5FE2, - 2833: 0x5FE3, - 2834: 0x5FE5, - 2835: 0x5FE6, - 2836: 0x5FE8, - 2837: 0x5FE9, - 2838: 0x5FEC, - 2839: 0x5FEF, - 2840: 0x5FF0, - 2841: 0x5FF2, - 2842: 0x5FF3, - 2843: 0x5FF4, - 2844: 0x5FF6, - 2845: 0x5FF7, - 2846: 0x5FF9, - 2847: 0x5FFA, - 2848: 0x5FFC, - 2849: 0x6007, - 2850: 0x6008, - 2851: 0x6009, - 2852: 0x600B, - 2853: 0x600C, - 2854: 0x6010, - 2855: 0x6011, - 2856: 0x6013, - 2857: 0x6017, - 2858: 0x6018, - 2859: 0x601A, - 2860: 0x601E, - 2861: 0x601F, - 2862: 0x6022, - 2863: 0x6023, - 2864: 0x6024, - 2865: 0x602C, - 2866: 0x602D, - 2867: 0x602E, - 2868: 0x6030, - 2869: 0x6031, - 2870: 0x6032, - 2871: 0x6033, - 2872: 0x6034, - 2873: 0x6036, - 2874: 0x6037, - 2875: 0x6038, - 2876: 0x6039, - 2877: 0x603A, - 2878: 0x603D, - 2879: 0x603E, - 2880: 0x6040, - 2881: 0x6044, - 2882: 0x6045, - 2883: 0x6046, - 2884: 0x6047, - 2885: 0x6048, - 2886: 0x6049, - 2887: 0x604A, - 2888: 0x604C, - 2889: 0x604E, - 2890: 0x604F, - 2891: 0x6051, - 2892: 0x6053, - 2893: 0x6054, - 2894: 0x6056, - 2895: 0x6057, - 2896: 0x6058, - 2897: 0x605B, - 2898: 0x605C, - 2899: 0x605E, - 2900: 0x605F, - 2901: 0x6060, - 2902: 0x6061, - 2903: 0x6065, - 2904: 0x6066, - 2905: 0x606E, - 2906: 0x6071, - 2907: 0x6072, - 2908: 0x6074, - 2909: 0x6075, - 2910: 0x6077, - 2911: 0x607E, - 2912: 0x6080, - 2913: 0x6081, - 2914: 0x6082, - 2915: 0x6085, - 2916: 0x6086, - 2917: 0x6087, - 2918: 0x6088, - 2919: 0x608A, - 2920: 0x608B, - 2921: 0x608E, - 2922: 0x608F, - 2923: 0x6090, - 2924: 0x6091, - 2925: 0x6093, - 2926: 0x6095, - 2927: 0x6097, - 2928: 0x6098, - 2929: 0x6099, - 2930: 0x609C, - 2931: 0x609E, - 2932: 0x60A1, - 2933: 0x60A2, - 2934: 0x60A4, - 2935: 0x60A5, - 2936: 0x60A7, - 2937: 0x60A9, - 2938: 0x60AA, - 2939: 0x60AE, - 2940: 0x60B0, - 2941: 0x60B3, - 2942: 0x60B5, - 2943: 0x60B6, - 2944: 0x60B7, - 2945: 0x60B9, - 2946: 0x60BA, - 2947: 0x60BD, - 2948: 0x60BE, - 2949: 0x60BF, - 2950: 0x60C0, - 2951: 0x60C1, - 2952: 0x60C2, - 2953: 0x60C3, - 2954: 0x60C4, - 2955: 0x60C7, - 2956: 0x60C8, - 2957: 0x60C9, - 2958: 0x60CC, - 2959: 0x60CD, - 2960: 0x60CE, - 2961: 0x60CF, - 2962: 0x60D0, - 2963: 0x60D2, - 2964: 0x60D3, - 2965: 0x60D4, - 2966: 0x60D6, - 2967: 0x60D7, - 2968: 0x60D9, - 2969: 0x60DB, - 2970: 0x60DE, - 2971: 0x60E1, - 2972: 0x60E2, - 2973: 0x60E3, - 2974: 0x60E4, - 2975: 0x60E5, - 2976: 0x60EA, - 2977: 0x60F1, - 2978: 0x60F2, - 2979: 0x60F5, - 2980: 0x60F7, - 2981: 0x60F8, - 2982: 0x60FB, - 2983: 0x60FC, - 2984: 0x60FD, - 2985: 0x60FE, - 2986: 0x60FF, - 2987: 0x6102, - 2988: 0x6103, - 2989: 0x6104, - 2990: 0x6105, - 2991: 0x6107, - 2992: 0x610A, - 2993: 0x610B, - 2994: 0x610C, - 2995: 0x6110, - 2996: 0x6111, - 2997: 0x6112, - 2998: 0x6113, - 2999: 0x6114, - 3000: 0x6116, - 3001: 0x6117, - 3002: 0x6118, - 3003: 0x6119, - 3004: 0x611B, - 3005: 0x611C, - 3006: 0x611D, - 3007: 0x611E, - 3008: 0x6121, - 3009: 0x6122, - 3010: 0x6125, - 3011: 0x6128, - 3012: 0x6129, - 3013: 0x612A, - 3014: 0x612C, - 3015: 0x612D, - 3016: 0x612E, - 3017: 0x612F, - 3018: 0x6130, - 3019: 0x6131, - 3020: 0x6132, - 3021: 0x6133, - 3022: 0x6134, - 3023: 0x6135, - 3024: 0x6136, - 3025: 0x6137, - 3026: 0x6138, - 3027: 0x6139, - 3028: 0x613A, - 3029: 0x613B, - 3030: 0x613C, - 3031: 0x613D, - 3032: 0x613E, - 3033: 0x6140, - 3034: 0x6141, - 3035: 0x6142, - 3036: 0x6143, - 3037: 0x6144, - 3038: 0x6145, - 3039: 0x6146, - 3040: 0x6147, - 3041: 0x6149, - 3042: 0x614B, - 3043: 0x614D, - 3044: 0x614F, - 3045: 0x6150, - 3046: 0x6152, - 3047: 0x6153, - 3048: 0x6154, - 3049: 0x6156, - 3050: 0x6157, - 3051: 0x6158, - 3052: 0x6159, - 3053: 0x615A, - 3054: 0x615B, - 3055: 0x615C, - 3056: 0x615E, - 3057: 0x615F, - 3058: 0x6160, - 3059: 0x6161, - 3060: 0x6163, - 3061: 0x6164, - 3062: 0x6165, - 3063: 0x6166, - 3064: 0x6169, - 3065: 0x616A, - 3066: 0x616B, - 3067: 0x616C, - 3068: 0x616D, - 3069: 0x616E, - 3070: 0x616F, - 3071: 0x6171, - 3072: 0x6172, - 3073: 0x6173, - 3074: 0x6174, - 3075: 0x6176, - 3076: 0x6178, - 3077: 0x6179, - 3078: 0x617A, - 3079: 0x617B, - 3080: 0x617C, - 3081: 0x617D, - 3082: 0x617E, - 3083: 0x617F, - 3084: 0x6180, - 3085: 0x6181, - 3086: 0x6182, - 3087: 0x6183, - 3088: 0x6184, - 3089: 0x6185, - 3090: 0x6186, - 3091: 0x6187, - 3092: 0x6188, - 3093: 0x6189, - 3094: 0x618A, - 3095: 0x618C, - 3096: 0x618D, - 3097: 0x618F, - 3098: 0x6190, - 3099: 0x6191, - 3100: 0x6192, - 3101: 0x6193, - 3102: 0x6195, - 3103: 0x6196, - 3104: 0x6197, - 3105: 0x6198, - 3106: 0x6199, - 3107: 0x619A, - 3108: 0x619B, - 3109: 0x619C, - 3110: 0x619E, - 3111: 0x619F, - 3112: 0x61A0, - 3113: 0x61A1, - 3114: 0x61A2, - 3115: 0x61A3, - 3116: 0x61A4, - 3117: 0x61A5, - 3118: 0x61A6, - 3119: 0x61AA, - 3120: 0x61AB, - 3121: 0x61AD, - 3122: 0x61AE, - 3123: 0x61AF, - 3124: 0x61B0, - 3125: 0x61B1, - 3126: 0x61B2, - 3127: 0x61B3, - 3128: 0x61B4, - 3129: 0x61B5, - 3130: 0x61B6, - 3131: 0x61B8, - 3132: 0x61B9, - 3133: 0x61BA, - 3134: 0x61BB, - 3135: 0x61BC, - 3136: 0x61BD, - 3137: 0x61BF, - 3138: 0x61C0, - 3139: 0x61C1, - 3140: 0x61C3, - 3141: 0x61C4, - 3142: 0x61C5, - 3143: 0x61C6, - 3144: 0x61C7, - 3145: 0x61C9, - 3146: 0x61CC, - 3147: 0x61CD, - 3148: 0x61CE, - 3149: 0x61CF, - 3150: 0x61D0, - 3151: 0x61D3, - 3152: 0x61D5, - 3153: 0x61D6, - 3154: 0x61D7, - 3155: 0x61D8, - 3156: 0x61D9, - 3157: 0x61DA, - 3158: 0x61DB, - 3159: 0x61DC, - 3160: 0x61DD, - 3161: 0x61DE, - 3162: 0x61DF, - 3163: 0x61E0, - 3164: 0x61E1, - 3165: 0x61E2, - 3166: 0x61E3, - 3167: 0x61E4, - 3168: 0x61E5, - 3169: 0x61E7, - 3170: 0x61E8, - 3171: 0x61E9, - 3172: 0x61EA, - 3173: 0x61EB, - 3174: 0x61EC, - 3175: 0x61ED, - 3176: 0x61EE, - 3177: 0x61EF, - 3178: 0x61F0, - 3179: 0x61F1, - 3180: 0x61F2, - 3181: 0x61F3, - 3182: 0x61F4, - 3183: 0x61F6, - 3184: 0x61F7, - 3185: 0x61F8, - 3186: 0x61F9, - 3187: 0x61FA, - 3188: 0x61FB, - 3189: 0x61FC, - 3190: 0x61FD, - 3191: 0x61FE, - 3192: 0x6200, - 3193: 0x6201, - 3194: 0x6202, - 3195: 0x6203, - 3196: 0x6204, - 3197: 0x6205, - 3198: 0x6207, - 3199: 0x6209, - 3200: 0x6213, - 3201: 0x6214, - 3202: 0x6219, - 3203: 0x621C, - 3204: 0x621D, - 3205: 0x621E, - 3206: 0x6220, - 3207: 0x6223, - 3208: 0x6226, - 3209: 0x6227, - 3210: 0x6228, - 3211: 0x6229, - 3212: 0x622B, - 3213: 0x622D, - 3214: 0x622F, - 3215: 0x6230, - 3216: 0x6231, - 3217: 0x6232, - 3218: 0x6235, - 3219: 0x6236, - 3220: 0x6238, - 3221: 0x6239, - 3222: 0x623A, - 3223: 0x623B, - 3224: 0x623C, - 3225: 0x6242, - 3226: 0x6244, - 3227: 0x6245, - 3228: 0x6246, - 3229: 0x624A, - 3230: 0x624F, - 3231: 0x6250, - 3232: 0x6255, - 3233: 0x6256, - 3234: 0x6257, - 3235: 0x6259, - 3236: 0x625A, - 3237: 0x625C, - 3238: 0x625D, - 3239: 0x625E, - 3240: 0x625F, - 3241: 0x6260, - 3242: 0x6261, - 3243: 0x6262, - 3244: 0x6264, - 3245: 0x6265, - 3246: 0x6268, - 3247: 0x6271, - 3248: 0x6272, - 3249: 0x6274, - 3250: 0x6275, - 3251: 0x6277, - 3252: 0x6278, - 3253: 0x627A, - 3254: 0x627B, - 3255: 0x627D, - 3256: 0x6281, - 3257: 0x6282, - 3258: 0x6283, - 3259: 0x6285, - 3260: 0x6286, - 3261: 0x6287, - 3262: 0x6288, - 3263: 0x628B, - 3264: 0x628C, - 3265: 0x628D, - 3266: 0x628E, - 3267: 0x628F, - 3268: 0x6290, - 3269: 0x6294, - 3270: 0x6299, - 3271: 0x629C, - 3272: 0x629D, - 3273: 0x629E, - 3274: 0x62A3, - 3275: 0x62A6, - 3276: 0x62A7, - 3277: 0x62A9, - 3278: 0x62AA, - 3279: 0x62AD, - 3280: 0x62AE, - 3281: 0x62AF, - 3282: 0x62B0, - 3283: 0x62B2, - 3284: 0x62B3, - 3285: 0x62B4, - 3286: 0x62B6, - 3287: 0x62B7, - 3288: 0x62B8, - 3289: 0x62BA, - 3290: 0x62BE, - 3291: 0x62C0, - 3292: 0x62C1, - 3293: 0x62C3, - 3294: 0x62CB, - 3295: 0x62CF, - 3296: 0x62D1, - 3297: 0x62D5, - 3298: 0x62DD, - 3299: 0x62DE, - 3300: 0x62E0, - 3301: 0x62E1, - 3302: 0x62E4, - 3303: 0x62EA, - 3304: 0x62EB, - 3305: 0x62F0, - 3306: 0x62F2, - 3307: 0x62F5, - 3308: 0x62F8, - 3309: 0x62F9, - 3310: 0x62FA, - 3311: 0x62FB, - 3312: 0x6300, - 3313: 0x6303, - 3314: 0x6304, - 3315: 0x6305, - 3316: 0x6306, - 3317: 0x630A, - 3318: 0x630B, - 3319: 0x630C, - 3320: 0x630D, - 3321: 0x630F, - 3322: 0x6310, - 3323: 0x6312, - 3324: 0x6313, - 3325: 0x6314, - 3326: 0x6315, - 3327: 0x6317, - 3328: 0x6318, - 3329: 0x6319, - 3330: 0x631C, - 3331: 0x6326, - 3332: 0x6327, - 3333: 0x6329, - 3334: 0x632C, - 3335: 0x632D, - 3336: 0x632E, - 3337: 0x6330, - 3338: 0x6331, - 3339: 0x6333, - 3340: 0x6334, - 3341: 0x6335, - 3342: 0x6336, - 3343: 0x6337, - 3344: 0x6338, - 3345: 0x633B, - 3346: 0x633C, - 3347: 0x633E, - 3348: 0x633F, - 3349: 0x6340, - 3350: 0x6341, - 3351: 0x6344, - 3352: 0x6347, - 3353: 0x6348, - 3354: 0x634A, - 3355: 0x6351, - 3356: 0x6352, - 3357: 0x6353, - 3358: 0x6354, - 3359: 0x6356, - 3360: 0x6357, - 3361: 0x6358, - 3362: 0x6359, - 3363: 0x635A, - 3364: 0x635B, - 3365: 0x635C, - 3366: 0x635D, - 3367: 0x6360, - 3368: 0x6364, - 3369: 0x6365, - 3370: 0x6366, - 3371: 0x6368, - 3372: 0x636A, - 3373: 0x636B, - 3374: 0x636C, - 3375: 0x636F, - 3376: 0x6370, - 3377: 0x6372, - 3378: 0x6373, - 3379: 0x6374, - 3380: 0x6375, - 3381: 0x6378, - 3382: 0x6379, - 3383: 0x637C, - 3384: 0x637D, - 3385: 0x637E, - 3386: 0x637F, - 3387: 0x6381, - 3388: 0x6383, - 3389: 0x6384, - 3390: 0x6385, - 3391: 0x6386, - 3392: 0x638B, - 3393: 0x638D, - 3394: 0x6391, - 3395: 0x6393, - 3396: 0x6394, - 3397: 0x6395, - 3398: 0x6397, - 3399: 0x6399, - 3400: 0x639A, - 3401: 0x639B, - 3402: 0x639C, - 3403: 0x639D, - 3404: 0x639E, - 3405: 0x639F, - 3406: 0x63A1, - 3407: 0x63A4, - 3408: 0x63A6, - 3409: 0x63AB, - 3410: 0x63AF, - 3411: 0x63B1, - 3412: 0x63B2, - 3413: 0x63B5, - 3414: 0x63B6, - 3415: 0x63B9, - 3416: 0x63BB, - 3417: 0x63BD, - 3418: 0x63BF, - 3419: 0x63C0, - 3420: 0x63C1, - 3421: 0x63C2, - 3422: 0x63C3, - 3423: 0x63C5, - 3424: 0x63C7, - 3425: 0x63C8, - 3426: 0x63CA, - 3427: 0x63CB, - 3428: 0x63CC, - 3429: 0x63D1, - 3430: 0x63D3, - 3431: 0x63D4, - 3432: 0x63D5, - 3433: 0x63D7, - 3434: 0x63D8, - 3435: 0x63D9, - 3436: 0x63DA, - 3437: 0x63DB, - 3438: 0x63DC, - 3439: 0x63DD, - 3440: 0x63DF, - 3441: 0x63E2, - 3442: 0x63E4, - 3443: 0x63E5, - 3444: 0x63E6, - 3445: 0x63E7, - 3446: 0x63E8, - 3447: 0x63EB, - 3448: 0x63EC, - 3449: 0x63EE, - 3450: 0x63EF, - 3451: 0x63F0, - 3452: 0x63F1, - 3453: 0x63F3, - 3454: 0x63F5, - 3455: 0x63F7, - 3456: 0x63F9, - 3457: 0x63FA, - 3458: 0x63FB, - 3459: 0x63FC, - 3460: 0x63FE, - 3461: 0x6403, - 3462: 0x6404, - 3463: 0x6406, - 3464: 0x6407, - 3465: 0x6408, - 3466: 0x6409, - 3467: 0x640A, - 3468: 0x640D, - 3469: 0x640E, - 3470: 0x6411, - 3471: 0x6412, - 3472: 0x6415, - 3473: 0x6416, - 3474: 0x6417, - 3475: 0x6418, - 3476: 0x6419, - 3477: 0x641A, - 3478: 0x641D, - 3479: 0x641F, - 3480: 0x6422, - 3481: 0x6423, - 3482: 0x6424, - 3483: 0x6425, - 3484: 0x6427, - 3485: 0x6428, - 3486: 0x6429, - 3487: 0x642B, - 3488: 0x642E, - 3489: 0x642F, - 3490: 0x6430, - 3491: 0x6431, - 3492: 0x6432, - 3493: 0x6433, - 3494: 0x6435, - 3495: 0x6436, - 3496: 0x6437, - 3497: 0x6438, - 3498: 0x6439, - 3499: 0x643B, - 3500: 0x643C, - 3501: 0x643E, - 3502: 0x6440, - 3503: 0x6442, - 3504: 0x6443, - 3505: 0x6449, - 3506: 0x644B, - 3507: 0x644C, - 3508: 0x644D, - 3509: 0x644E, - 3510: 0x644F, - 3511: 0x6450, - 3512: 0x6451, - 3513: 0x6453, - 3514: 0x6455, - 3515: 0x6456, - 3516: 0x6457, - 3517: 0x6459, - 3518: 0x645A, - 3519: 0x645B, - 3520: 0x645C, - 3521: 0x645D, - 3522: 0x645F, - 3523: 0x6460, - 3524: 0x6461, - 3525: 0x6462, - 3526: 0x6463, - 3527: 0x6464, - 3528: 0x6465, - 3529: 0x6466, - 3530: 0x6468, - 3531: 0x646A, - 3532: 0x646B, - 3533: 0x646C, - 3534: 0x646E, - 3535: 0x646F, - 3536: 0x6470, - 3537: 0x6471, - 3538: 0x6472, - 3539: 0x6473, - 3540: 0x6474, - 3541: 0x6475, - 3542: 0x6476, - 3543: 0x6477, - 3544: 0x647B, - 3545: 0x647C, - 3546: 0x647D, - 3547: 0x647E, - 3548: 0x647F, - 3549: 0x6480, - 3550: 0x6481, - 3551: 0x6483, - 3552: 0x6486, - 3553: 0x6488, - 3554: 0x6489, - 3555: 0x648A, - 3556: 0x648B, - 3557: 0x648C, - 3558: 0x648D, - 3559: 0x648E, - 3560: 0x648F, - 3561: 0x6490, - 3562: 0x6493, - 3563: 0x6494, - 3564: 0x6497, - 3565: 0x6498, - 3566: 0x649A, - 3567: 0x649B, - 3568: 0x649C, - 3569: 0x649D, - 3570: 0x649F, - 3571: 0x64A0, - 3572: 0x64A1, - 3573: 0x64A2, - 3574: 0x64A3, - 3575: 0x64A5, - 3576: 0x64A6, - 3577: 0x64A7, - 3578: 0x64A8, - 3579: 0x64AA, - 3580: 0x64AB, - 3581: 0x64AF, - 3582: 0x64B1, - 3583: 0x64B2, - 3584: 0x64B3, - 3585: 0x64B4, - 3586: 0x64B6, - 3587: 0x64B9, - 3588: 0x64BB, - 3589: 0x64BD, - 3590: 0x64BE, - 3591: 0x64BF, - 3592: 0x64C1, - 3593: 0x64C3, - 3594: 0x64C4, - 3595: 0x64C6, - 3596: 0x64C7, - 3597: 0x64C8, - 3598: 0x64C9, - 3599: 0x64CA, - 3600: 0x64CB, - 3601: 0x64CC, - 3602: 0x64CF, - 3603: 0x64D1, - 3604: 0x64D3, - 3605: 0x64D4, - 3606: 0x64D5, - 3607: 0x64D6, - 3608: 0x64D9, - 3609: 0x64DA, - 3610: 0x64DB, - 3611: 0x64DC, - 3612: 0x64DD, - 3613: 0x64DF, - 3614: 0x64E0, - 3615: 0x64E1, - 3616: 0x64E3, - 3617: 0x64E5, - 3618: 0x64E7, - 3619: 0x64E8, - 3620: 0x64E9, - 3621: 0x64EA, - 3622: 0x64EB, - 3623: 0x64EC, - 3624: 0x64ED, - 3625: 0x64EE, - 3626: 0x64EF, - 3627: 0x64F0, - 3628: 0x64F1, - 3629: 0x64F2, - 3630: 0x64F3, - 3631: 0x64F4, - 3632: 0x64F5, - 3633: 0x64F6, - 3634: 0x64F7, - 3635: 0x64F8, - 3636: 0x64F9, - 3637: 0x64FA, - 3638: 0x64FB, - 3639: 0x64FC, - 3640: 0x64FD, - 3641: 0x64FE, - 3642: 0x64FF, - 3643: 0x6501, - 3644: 0x6502, - 3645: 0x6503, - 3646: 0x6504, - 3647: 0x6505, - 3648: 0x6506, - 3649: 0x6507, - 3650: 0x6508, - 3651: 0x650A, - 3652: 0x650B, - 3653: 0x650C, - 3654: 0x650D, - 3655: 0x650E, - 3656: 0x650F, - 3657: 0x6510, - 3658: 0x6511, - 3659: 0x6513, - 3660: 0x6514, - 3661: 0x6515, - 3662: 0x6516, - 3663: 0x6517, - 3664: 0x6519, - 3665: 0x651A, - 3666: 0x651B, - 3667: 0x651C, - 3668: 0x651D, - 3669: 0x651E, - 3670: 0x651F, - 3671: 0x6520, - 3672: 0x6521, - 3673: 0x6522, - 3674: 0x6523, - 3675: 0x6524, - 3676: 0x6526, - 3677: 0x6527, - 3678: 0x6528, - 3679: 0x6529, - 3680: 0x652A, - 3681: 0x652C, - 3682: 0x652D, - 3683: 0x6530, - 3684: 0x6531, - 3685: 0x6532, - 3686: 0x6533, - 3687: 0x6537, - 3688: 0x653A, - 3689: 0x653C, - 3690: 0x653D, - 3691: 0x6540, - 3692: 0x6541, - 3693: 0x6542, - 3694: 0x6543, - 3695: 0x6544, - 3696: 0x6546, - 3697: 0x6547, - 3698: 0x654A, - 3699: 0x654B, - 3700: 0x654D, - 3701: 0x654E, - 3702: 0x6550, - 3703: 0x6552, - 3704: 0x6553, - 3705: 0x6554, - 3706: 0x6557, - 3707: 0x6558, - 3708: 0x655A, - 3709: 0x655C, - 3710: 0x655F, - 3711: 0x6560, - 3712: 0x6561, - 3713: 0x6564, - 3714: 0x6565, - 3715: 0x6567, - 3716: 0x6568, - 3717: 0x6569, - 3718: 0x656A, - 3719: 0x656D, - 3720: 0x656E, - 3721: 0x656F, - 3722: 0x6571, - 3723: 0x6573, - 3724: 0x6575, - 3725: 0x6576, - 3726: 0x6578, - 3727: 0x6579, - 3728: 0x657A, - 3729: 0x657B, - 3730: 0x657C, - 3731: 0x657D, - 3732: 0x657E, - 3733: 0x657F, - 3734: 0x6580, - 3735: 0x6581, - 3736: 0x6582, - 3737: 0x6583, - 3738: 0x6584, - 3739: 0x6585, - 3740: 0x6586, - 3741: 0x6588, - 3742: 0x6589, - 3743: 0x658A, - 3744: 0x658D, - 3745: 0x658E, - 3746: 0x658F, - 3747: 0x6592, - 3748: 0x6594, - 3749: 0x6595, - 3750: 0x6596, - 3751: 0x6598, - 3752: 0x659A, - 3753: 0x659D, - 3754: 0x659E, - 3755: 0x65A0, - 3756: 0x65A2, - 3757: 0x65A3, - 3758: 0x65A6, - 3759: 0x65A8, - 3760: 0x65AA, - 3761: 0x65AC, - 3762: 0x65AE, - 3763: 0x65B1, - 3764: 0x65B2, - 3765: 0x65B3, - 3766: 0x65B4, - 3767: 0x65B5, - 3768: 0x65B6, - 3769: 0x65B7, - 3770: 0x65B8, - 3771: 0x65BA, - 3772: 0x65BB, - 3773: 0x65BE, - 3774: 0x65BF, - 3775: 0x65C0, - 3776: 0x65C2, - 3777: 0x65C7, - 3778: 0x65C8, - 3779: 0x65C9, - 3780: 0x65CA, - 3781: 0x65CD, - 3782: 0x65D0, - 3783: 0x65D1, - 3784: 0x65D3, - 3785: 0x65D4, - 3786: 0x65D5, - 3787: 0x65D8, - 3788: 0x65D9, - 3789: 0x65DA, - 3790: 0x65DB, - 3791: 0x65DC, - 3792: 0x65DD, - 3793: 0x65DE, - 3794: 0x65DF, - 3795: 0x65E1, - 3796: 0x65E3, - 3797: 0x65E4, - 3798: 0x65EA, - 3799: 0x65EB, - 3800: 0x65F2, - 3801: 0x65F3, - 3802: 0x65F4, - 3803: 0x65F5, - 3804: 0x65F8, - 3805: 0x65F9, - 3806: 0x65FB, - 3807: 0x65FC, - 3808: 0x65FD, - 3809: 0x65FE, - 3810: 0x65FF, - 3811: 0x6601, - 3812: 0x6604, - 3813: 0x6605, - 3814: 0x6607, - 3815: 0x6608, - 3816: 0x6609, - 3817: 0x660B, - 3818: 0x660D, - 3819: 0x6610, - 3820: 0x6611, - 3821: 0x6612, - 3822: 0x6616, - 3823: 0x6617, - 3824: 0x6618, - 3825: 0x661A, - 3826: 0x661B, - 3827: 0x661C, - 3828: 0x661E, - 3829: 0x6621, - 3830: 0x6622, - 3831: 0x6623, - 3832: 0x6624, - 3833: 0x6626, - 3834: 0x6629, - 3835: 0x662A, - 3836: 0x662B, - 3837: 0x662C, - 3838: 0x662E, - 3839: 0x6630, - 3840: 0x6632, - 3841: 0x6633, - 3842: 0x6637, - 3843: 0x6638, - 3844: 0x6639, - 3845: 0x663A, - 3846: 0x663B, - 3847: 0x663D, - 3848: 0x663F, - 3849: 0x6640, - 3850: 0x6642, - 3851: 0x6644, - 3852: 0x6645, - 3853: 0x6646, - 3854: 0x6647, - 3855: 0x6648, - 3856: 0x6649, - 3857: 0x664A, - 3858: 0x664D, - 3859: 0x664E, - 3860: 0x6650, - 3861: 0x6651, - 3862: 0x6658, - 3863: 0x6659, - 3864: 0x665B, - 3865: 0x665C, - 3866: 0x665D, - 3867: 0x665E, - 3868: 0x6660, - 3869: 0x6662, - 3870: 0x6663, - 3871: 0x6665, - 3872: 0x6667, - 3873: 0x6669, - 3874: 0x666A, - 3875: 0x666B, - 3876: 0x666C, - 3877: 0x666D, - 3878: 0x6671, - 3879: 0x6672, - 3880: 0x6673, - 3881: 0x6675, - 3882: 0x6678, - 3883: 0x6679, - 3884: 0x667B, - 3885: 0x667C, - 3886: 0x667D, - 3887: 0x667F, - 3888: 0x6680, - 3889: 0x6681, - 3890: 0x6683, - 3891: 0x6685, - 3892: 0x6686, - 3893: 0x6688, - 3894: 0x6689, - 3895: 0x668A, - 3896: 0x668B, - 3897: 0x668D, - 3898: 0x668E, - 3899: 0x668F, - 3900: 0x6690, - 3901: 0x6692, - 3902: 0x6693, - 3903: 0x6694, - 3904: 0x6695, - 3905: 0x6698, - 3906: 0x6699, - 3907: 0x669A, - 3908: 0x669B, - 3909: 0x669C, - 3910: 0x669E, - 3911: 0x669F, - 3912: 0x66A0, - 3913: 0x66A1, - 3914: 0x66A2, - 3915: 0x66A3, - 3916: 0x66A4, - 3917: 0x66A5, - 3918: 0x66A6, - 3919: 0x66A9, - 3920: 0x66AA, - 3921: 0x66AB, - 3922: 0x66AC, - 3923: 0x66AD, - 3924: 0x66AF, - 3925: 0x66B0, - 3926: 0x66B1, - 3927: 0x66B2, - 3928: 0x66B3, - 3929: 0x66B5, - 3930: 0x66B6, - 3931: 0x66B7, - 3932: 0x66B8, - 3933: 0x66BA, - 3934: 0x66BB, - 3935: 0x66BC, - 3936: 0x66BD, - 3937: 0x66BF, - 3938: 0x66C0, - 3939: 0x66C1, - 3940: 0x66C2, - 3941: 0x66C3, - 3942: 0x66C4, - 3943: 0x66C5, - 3944: 0x66C6, - 3945: 0x66C7, - 3946: 0x66C8, - 3947: 0x66C9, - 3948: 0x66CA, - 3949: 0x66CB, - 3950: 0x66CC, - 3951: 0x66CD, - 3952: 0x66CE, - 3953: 0x66CF, - 3954: 0x66D0, - 3955: 0x66D1, - 3956: 0x66D2, - 3957: 0x66D3, - 3958: 0x66D4, - 3959: 0x66D5, - 3960: 0x66D6, - 3961: 0x66D7, - 3962: 0x66D8, - 3963: 0x66DA, - 3964: 0x66DE, - 3965: 0x66DF, - 3966: 0x66E0, - 3967: 0x66E1, - 3968: 0x66E2, - 3969: 0x66E3, - 3970: 0x66E4, - 3971: 0x66E5, - 3972: 0x66E7, - 3973: 0x66E8, - 3974: 0x66EA, - 3975: 0x66EB, - 3976: 0x66EC, - 3977: 0x66ED, - 3978: 0x66EE, - 3979: 0x66EF, - 3980: 0x66F1, - 3981: 0x66F5, - 3982: 0x66F6, - 3983: 0x66F8, - 3984: 0x66FA, - 3985: 0x66FB, - 3986: 0x66FD, - 3987: 0x6701, - 3988: 0x6702, - 3989: 0x6703, - 3990: 0x6704, - 3991: 0x6705, - 3992: 0x6706, - 3993: 0x6707, - 3994: 0x670C, - 3995: 0x670E, - 3996: 0x670F, - 3997: 0x6711, - 3998: 0x6712, - 3999: 0x6713, - 4000: 0x6716, - 4001: 0x6718, - 4002: 0x6719, - 4003: 0x671A, - 4004: 0x671C, - 4005: 0x671E, - 4006: 0x6720, - 4007: 0x6721, - 4008: 0x6722, - 4009: 0x6723, - 4010: 0x6724, - 4011: 0x6725, - 4012: 0x6727, - 4013: 0x6729, - 4014: 0x672E, - 4015: 0x6730, - 4016: 0x6732, - 4017: 0x6733, - 4018: 0x6736, - 4019: 0x6737, - 4020: 0x6738, - 4021: 0x6739, - 4022: 0x673B, - 4023: 0x673C, - 4024: 0x673E, - 4025: 0x673F, - 4026: 0x6741, - 4027: 0x6744, - 4028: 0x6745, - 4029: 0x6747, - 4030: 0x674A, - 4031: 0x674B, - 4032: 0x674D, - 4033: 0x6752, - 4034: 0x6754, - 4035: 0x6755, - 4036: 0x6757, - 4037: 0x6758, - 4038: 0x6759, - 4039: 0x675A, - 4040: 0x675B, - 4041: 0x675D, - 4042: 0x6762, - 4043: 0x6763, - 4044: 0x6764, - 4045: 0x6766, - 4046: 0x6767, - 4047: 0x676B, - 4048: 0x676C, - 4049: 0x676E, - 4050: 0x6771, - 4051: 0x6774, - 4052: 0x6776, - 4053: 0x6778, - 4054: 0x6779, - 4055: 0x677A, - 4056: 0x677B, - 4057: 0x677D, - 4058: 0x6780, - 4059: 0x6782, - 4060: 0x6783, - 4061: 0x6785, - 4062: 0x6786, - 4063: 0x6788, - 4064: 0x678A, - 4065: 0x678C, - 4066: 0x678D, - 4067: 0x678E, - 4068: 0x678F, - 4069: 0x6791, - 4070: 0x6792, - 4071: 0x6793, - 4072: 0x6794, - 4073: 0x6796, - 4074: 0x6799, - 4075: 0x679B, - 4076: 0x679F, - 4077: 0x67A0, - 4078: 0x67A1, - 4079: 0x67A4, - 4080: 0x67A6, - 4081: 0x67A9, - 4082: 0x67AC, - 4083: 0x67AE, - 4084: 0x67B1, - 4085: 0x67B2, - 4086: 0x67B4, - 4087: 0x67B9, - 4088: 0x67BA, - 4089: 0x67BB, - 4090: 0x67BC, - 4091: 0x67BD, - 4092: 0x67BE, - 4093: 0x67BF, - 4094: 0x67C0, - 4095: 0x67C2, - 4096: 0x67C5, - 4097: 0x67C6, - 4098: 0x67C7, - 4099: 0x67C8, - 4100: 0x67C9, - 4101: 0x67CA, - 4102: 0x67CB, - 4103: 0x67CC, - 4104: 0x67CD, - 4105: 0x67CE, - 4106: 0x67D5, - 4107: 0x67D6, - 4108: 0x67D7, - 4109: 0x67DB, - 4110: 0x67DF, - 4111: 0x67E1, - 4112: 0x67E3, - 4113: 0x67E4, - 4114: 0x67E6, - 4115: 0x67E7, - 4116: 0x67E8, - 4117: 0x67EA, - 4118: 0x67EB, - 4119: 0x67ED, - 4120: 0x67EE, - 4121: 0x67F2, - 4122: 0x67F5, - 4123: 0x67F6, - 4124: 0x67F7, - 4125: 0x67F8, - 4126: 0x67F9, - 4127: 0x67FA, - 4128: 0x67FB, - 4129: 0x67FC, - 4130: 0x67FE, - 4131: 0x6801, - 4132: 0x6802, - 4133: 0x6803, - 4134: 0x6804, - 4135: 0x6806, - 4136: 0x680D, - 4137: 0x6810, - 4138: 0x6812, - 4139: 0x6814, - 4140: 0x6815, - 4141: 0x6818, - 4142: 0x6819, - 4143: 0x681A, - 4144: 0x681B, - 4145: 0x681C, - 4146: 0x681E, - 4147: 0x681F, - 4148: 0x6820, - 4149: 0x6822, - 4150: 0x6823, - 4151: 0x6824, - 4152: 0x6825, - 4153: 0x6826, - 4154: 0x6827, - 4155: 0x6828, - 4156: 0x682B, - 4157: 0x682C, - 4158: 0x682D, - 4159: 0x682E, - 4160: 0x682F, - 4161: 0x6830, - 4162: 0x6831, - 4163: 0x6834, - 4164: 0x6835, - 4165: 0x6836, - 4166: 0x683A, - 4167: 0x683B, - 4168: 0x683F, - 4169: 0x6847, - 4170: 0x684B, - 4171: 0x684D, - 4172: 0x684F, - 4173: 0x6852, - 4174: 0x6856, - 4175: 0x6857, - 4176: 0x6858, - 4177: 0x6859, - 4178: 0x685A, - 4179: 0x685B, - 4180: 0x685C, - 4181: 0x685D, - 4182: 0x685E, - 4183: 0x685F, - 4184: 0x686A, - 4185: 0x686C, - 4186: 0x686D, - 4187: 0x686E, - 4188: 0x686F, - 4189: 0x6870, - 4190: 0x6871, - 4191: 0x6872, - 4192: 0x6873, - 4193: 0x6875, - 4194: 0x6878, - 4195: 0x6879, - 4196: 0x687A, - 4197: 0x687B, - 4198: 0x687C, - 4199: 0x687D, - 4200: 0x687E, - 4201: 0x687F, - 4202: 0x6880, - 4203: 0x6882, - 4204: 0x6884, - 4205: 0x6887, - 4206: 0x6888, - 4207: 0x6889, - 4208: 0x688A, - 4209: 0x688B, - 4210: 0x688C, - 4211: 0x688D, - 4212: 0x688E, - 4213: 0x6890, - 4214: 0x6891, - 4215: 0x6892, - 4216: 0x6894, - 4217: 0x6895, - 4218: 0x6896, - 4219: 0x6898, - 4220: 0x6899, - 4221: 0x689A, - 4222: 0x689B, - 4223: 0x689C, - 4224: 0x689D, - 4225: 0x689E, - 4226: 0x689F, - 4227: 0x68A0, - 4228: 0x68A1, - 4229: 0x68A3, - 4230: 0x68A4, - 4231: 0x68A5, - 4232: 0x68A9, - 4233: 0x68AA, - 4234: 0x68AB, - 4235: 0x68AC, - 4236: 0x68AE, - 4237: 0x68B1, - 4238: 0x68B2, - 4239: 0x68B4, - 4240: 0x68B6, - 4241: 0x68B7, - 4242: 0x68B8, - 4243: 0x68B9, - 4244: 0x68BA, - 4245: 0x68BB, - 4246: 0x68BC, - 4247: 0x68BD, - 4248: 0x68BE, - 4249: 0x68BF, - 4250: 0x68C1, - 4251: 0x68C3, - 4252: 0x68C4, - 4253: 0x68C5, - 4254: 0x68C6, - 4255: 0x68C7, - 4256: 0x68C8, - 4257: 0x68CA, - 4258: 0x68CC, - 4259: 0x68CE, - 4260: 0x68CF, - 4261: 0x68D0, - 4262: 0x68D1, - 4263: 0x68D3, - 4264: 0x68D4, - 4265: 0x68D6, - 4266: 0x68D7, - 4267: 0x68D9, - 4268: 0x68DB, - 4269: 0x68DC, - 4270: 0x68DD, - 4271: 0x68DE, - 4272: 0x68DF, - 4273: 0x68E1, - 4274: 0x68E2, - 4275: 0x68E4, - 4276: 0x68E5, - 4277: 0x68E6, - 4278: 0x68E7, - 4279: 0x68E8, - 4280: 0x68E9, - 4281: 0x68EA, - 4282: 0x68EB, - 4283: 0x68EC, - 4284: 0x68ED, - 4285: 0x68EF, - 4286: 0x68F2, - 4287: 0x68F3, - 4288: 0x68F4, - 4289: 0x68F6, - 4290: 0x68F7, - 4291: 0x68F8, - 4292: 0x68FB, - 4293: 0x68FD, - 4294: 0x68FE, - 4295: 0x68FF, - 4296: 0x6900, - 4297: 0x6902, - 4298: 0x6903, - 4299: 0x6904, - 4300: 0x6906, - 4301: 0x6907, - 4302: 0x6908, - 4303: 0x6909, - 4304: 0x690A, - 4305: 0x690C, - 4306: 0x690F, - 4307: 0x6911, - 4308: 0x6913, - 4309: 0x6914, - 4310: 0x6915, - 4311: 0x6916, - 4312: 0x6917, - 4313: 0x6918, - 4314: 0x6919, - 4315: 0x691A, - 4316: 0x691B, - 4317: 0x691C, - 4318: 0x691D, - 4319: 0x691E, - 4320: 0x6921, - 4321: 0x6922, - 4322: 0x6923, - 4323: 0x6925, - 4324: 0x6926, - 4325: 0x6927, - 4326: 0x6928, - 4327: 0x6929, - 4328: 0x692A, - 4329: 0x692B, - 4330: 0x692C, - 4331: 0x692E, - 4332: 0x692F, - 4333: 0x6931, - 4334: 0x6932, - 4335: 0x6933, - 4336: 0x6935, - 4337: 0x6936, - 4338: 0x6937, - 4339: 0x6938, - 4340: 0x693A, - 4341: 0x693B, - 4342: 0x693C, - 4343: 0x693E, - 4344: 0x6940, - 4345: 0x6941, - 4346: 0x6943, - 4347: 0x6944, - 4348: 0x6945, - 4349: 0x6946, - 4350: 0x6947, - 4351: 0x6948, - 4352: 0x6949, - 4353: 0x694A, - 4354: 0x694B, - 4355: 0x694C, - 4356: 0x694D, - 4357: 0x694E, - 4358: 0x694F, - 4359: 0x6950, - 4360: 0x6951, - 4361: 0x6952, - 4362: 0x6953, - 4363: 0x6955, - 4364: 0x6956, - 4365: 0x6958, - 4366: 0x6959, - 4367: 0x695B, - 4368: 0x695C, - 4369: 0x695F, - 4370: 0x6961, - 4371: 0x6962, - 4372: 0x6964, - 4373: 0x6965, - 4374: 0x6967, - 4375: 0x6968, - 4376: 0x6969, - 4377: 0x696A, - 4378: 0x696C, - 4379: 0x696D, - 4380: 0x696F, - 4381: 0x6970, - 4382: 0x6972, - 4383: 0x6973, - 4384: 0x6974, - 4385: 0x6975, - 4386: 0x6976, - 4387: 0x697A, - 4388: 0x697B, - 4389: 0x697D, - 4390: 0x697E, - 4391: 0x697F, - 4392: 0x6981, - 4393: 0x6983, - 4394: 0x6985, - 4395: 0x698A, - 4396: 0x698B, - 4397: 0x698C, - 4398: 0x698E, - 4399: 0x698F, - 4400: 0x6990, - 4401: 0x6991, - 4402: 0x6992, - 4403: 0x6993, - 4404: 0x6996, - 4405: 0x6997, - 4406: 0x6999, - 4407: 0x699A, - 4408: 0x699D, - 4409: 0x699E, - 4410: 0x699F, - 4411: 0x69A0, - 4412: 0x69A1, - 4413: 0x69A2, - 4414: 0x69A3, - 4415: 0x69A4, - 4416: 0x69A5, - 4417: 0x69A6, - 4418: 0x69A9, - 4419: 0x69AA, - 4420: 0x69AC, - 4421: 0x69AE, - 4422: 0x69AF, - 4423: 0x69B0, - 4424: 0x69B2, - 4425: 0x69B3, - 4426: 0x69B5, - 4427: 0x69B6, - 4428: 0x69B8, - 4429: 0x69B9, - 4430: 0x69BA, - 4431: 0x69BC, - 4432: 0x69BD, - 4433: 0x69BE, - 4434: 0x69BF, - 4435: 0x69C0, - 4436: 0x69C2, - 4437: 0x69C3, - 4438: 0x69C4, - 4439: 0x69C5, - 4440: 0x69C6, - 4441: 0x69C7, - 4442: 0x69C8, - 4443: 0x69C9, - 4444: 0x69CB, - 4445: 0x69CD, - 4446: 0x69CF, - 4447: 0x69D1, - 4448: 0x69D2, - 4449: 0x69D3, - 4450: 0x69D5, - 4451: 0x69D6, - 4452: 0x69D7, - 4453: 0x69D8, - 4454: 0x69D9, - 4455: 0x69DA, - 4456: 0x69DC, - 4457: 0x69DD, - 4458: 0x69DE, - 4459: 0x69E1, - 4460: 0x69E2, - 4461: 0x69E3, - 4462: 0x69E4, - 4463: 0x69E5, - 4464: 0x69E6, - 4465: 0x69E7, - 4466: 0x69E8, - 4467: 0x69E9, - 4468: 0x69EA, - 4469: 0x69EB, - 4470: 0x69EC, - 4471: 0x69EE, - 4472: 0x69EF, - 4473: 0x69F0, - 4474: 0x69F1, - 4475: 0x69F3, - 4476: 0x69F4, - 4477: 0x69F5, - 4478: 0x69F6, - 4479: 0x69F7, - 4480: 0x69F8, - 4481: 0x69F9, - 4482: 0x69FA, - 4483: 0x69FB, - 4484: 0x69FC, - 4485: 0x69FE, - 4486: 0x6A00, - 4487: 0x6A01, - 4488: 0x6A02, - 4489: 0x6A03, - 4490: 0x6A04, - 4491: 0x6A05, - 4492: 0x6A06, - 4493: 0x6A07, - 4494: 0x6A08, - 4495: 0x6A09, - 4496: 0x6A0B, - 4497: 0x6A0C, - 4498: 0x6A0D, - 4499: 0x6A0E, - 4500: 0x6A0F, - 4501: 0x6A10, - 4502: 0x6A11, - 4503: 0x6A12, - 4504: 0x6A13, - 4505: 0x6A14, - 4506: 0x6A15, - 4507: 0x6A16, - 4508: 0x6A19, - 4509: 0x6A1A, - 4510: 0x6A1B, - 4511: 0x6A1C, - 4512: 0x6A1D, - 4513: 0x6A1E, - 4514: 0x6A20, - 4515: 0x6A22, - 4516: 0x6A23, - 4517: 0x6A24, - 4518: 0x6A25, - 4519: 0x6A26, - 4520: 0x6A27, - 4521: 0x6A29, - 4522: 0x6A2B, - 4523: 0x6A2C, - 4524: 0x6A2D, - 4525: 0x6A2E, - 4526: 0x6A30, - 4527: 0x6A32, - 4528: 0x6A33, - 4529: 0x6A34, - 4530: 0x6A36, - 4531: 0x6A37, - 4532: 0x6A38, - 4533: 0x6A39, - 4534: 0x6A3A, - 4535: 0x6A3B, - 4536: 0x6A3C, - 4537: 0x6A3F, - 4538: 0x6A40, - 4539: 0x6A41, - 4540: 0x6A42, - 4541: 0x6A43, - 4542: 0x6A45, - 4543: 0x6A46, - 4544: 0x6A48, - 4545: 0x6A49, - 4546: 0x6A4A, - 4547: 0x6A4B, - 4548: 0x6A4C, - 4549: 0x6A4D, - 4550: 0x6A4E, - 4551: 0x6A4F, - 4552: 0x6A51, - 4553: 0x6A52, - 4554: 0x6A53, - 4555: 0x6A54, - 4556: 0x6A55, - 4557: 0x6A56, - 4558: 0x6A57, - 4559: 0x6A5A, - 4560: 0x6A5C, - 4561: 0x6A5D, - 4562: 0x6A5E, - 4563: 0x6A5F, - 4564: 0x6A60, - 4565: 0x6A62, - 4566: 0x6A63, - 4567: 0x6A64, - 4568: 0x6A66, - 4569: 0x6A67, - 4570: 0x6A68, - 4571: 0x6A69, - 4572: 0x6A6A, - 4573: 0x6A6B, - 4574: 0x6A6C, - 4575: 0x6A6D, - 4576: 0x6A6E, - 4577: 0x6A6F, - 4578: 0x6A70, - 4579: 0x6A72, - 4580: 0x6A73, - 4581: 0x6A74, - 4582: 0x6A75, - 4583: 0x6A76, - 4584: 0x6A77, - 4585: 0x6A78, - 4586: 0x6A7A, - 4587: 0x6A7B, - 4588: 0x6A7D, - 4589: 0x6A7E, - 4590: 0x6A7F, - 4591: 0x6A81, - 4592: 0x6A82, - 4593: 0x6A83, - 4594: 0x6A85, - 4595: 0x6A86, - 4596: 0x6A87, - 4597: 0x6A88, - 4598: 0x6A89, - 4599: 0x6A8A, - 4600: 0x6A8B, - 4601: 0x6A8C, - 4602: 0x6A8D, - 4603: 0x6A8F, - 4604: 0x6A92, - 4605: 0x6A93, - 4606: 0x6A94, - 4607: 0x6A95, - 4608: 0x6A96, - 4609: 0x6A98, - 4610: 0x6A99, - 4611: 0x6A9A, - 4612: 0x6A9B, - 4613: 0x6A9C, - 4614: 0x6A9D, - 4615: 0x6A9E, - 4616: 0x6A9F, - 4617: 0x6AA1, - 4618: 0x6AA2, - 4619: 0x6AA3, - 4620: 0x6AA4, - 4621: 0x6AA5, - 4622: 0x6AA6, - 4623: 0x6AA7, - 4624: 0x6AA8, - 4625: 0x6AAA, - 4626: 0x6AAD, - 4627: 0x6AAE, - 4628: 0x6AAF, - 4629: 0x6AB0, - 4630: 0x6AB1, - 4631: 0x6AB2, - 4632: 0x6AB3, - 4633: 0x6AB4, - 4634: 0x6AB5, - 4635: 0x6AB6, - 4636: 0x6AB7, - 4637: 0x6AB8, - 4638: 0x6AB9, - 4639: 0x6ABA, - 4640: 0x6ABB, - 4641: 0x6ABC, - 4642: 0x6ABD, - 4643: 0x6ABE, - 4644: 0x6ABF, - 4645: 0x6AC0, - 4646: 0x6AC1, - 4647: 0x6AC2, - 4648: 0x6AC3, - 4649: 0x6AC4, - 4650: 0x6AC5, - 4651: 0x6AC6, - 4652: 0x6AC7, - 4653: 0x6AC8, - 4654: 0x6AC9, - 4655: 0x6ACA, - 4656: 0x6ACB, - 4657: 0x6ACC, - 4658: 0x6ACD, - 4659: 0x6ACE, - 4660: 0x6ACF, - 4661: 0x6AD0, - 4662: 0x6AD1, - 4663: 0x6AD2, - 4664: 0x6AD3, - 4665: 0x6AD4, - 4666: 0x6AD5, - 4667: 0x6AD6, - 4668: 0x6AD7, - 4669: 0x6AD8, - 4670: 0x6AD9, - 4671: 0x6ADA, - 4672: 0x6ADB, - 4673: 0x6ADC, - 4674: 0x6ADD, - 4675: 0x6ADE, - 4676: 0x6ADF, - 4677: 0x6AE0, - 4678: 0x6AE1, - 4679: 0x6AE2, - 4680: 0x6AE3, - 4681: 0x6AE4, - 4682: 0x6AE5, - 4683: 0x6AE6, - 4684: 0x6AE7, - 4685: 0x6AE8, - 4686: 0x6AE9, - 4687: 0x6AEA, - 4688: 0x6AEB, - 4689: 0x6AEC, - 4690: 0x6AED, - 4691: 0x6AEE, - 4692: 0x6AEF, - 4693: 0x6AF0, - 4694: 0x6AF1, - 4695: 0x6AF2, - 4696: 0x6AF3, - 4697: 0x6AF4, - 4698: 0x6AF5, - 4699: 0x6AF6, - 4700: 0x6AF7, - 4701: 0x6AF8, - 4702: 0x6AF9, - 4703: 0x6AFA, - 4704: 0x6AFB, - 4705: 0x6AFC, - 4706: 0x6AFD, - 4707: 0x6AFE, - 4708: 0x6AFF, - 4709: 0x6B00, - 4710: 0x6B01, - 4711: 0x6B02, - 4712: 0x6B03, - 4713: 0x6B04, - 4714: 0x6B05, - 4715: 0x6B06, - 4716: 0x6B07, - 4717: 0x6B08, - 4718: 0x6B09, - 4719: 0x6B0A, - 4720: 0x6B0B, - 4721: 0x6B0C, - 4722: 0x6B0D, - 4723: 0x6B0E, - 4724: 0x6B0F, - 4725: 0x6B10, - 4726: 0x6B11, - 4727: 0x6B12, - 4728: 0x6B13, - 4729: 0x6B14, - 4730: 0x6B15, - 4731: 0x6B16, - 4732: 0x6B17, - 4733: 0x6B18, - 4734: 0x6B19, - 4735: 0x6B1A, - 4736: 0x6B1B, - 4737: 0x6B1C, - 4738: 0x6B1D, - 4739: 0x6B1E, - 4740: 0x6B1F, - 4741: 0x6B25, - 4742: 0x6B26, - 4743: 0x6B28, - 4744: 0x6B29, - 4745: 0x6B2A, - 4746: 0x6B2B, - 4747: 0x6B2C, - 4748: 0x6B2D, - 4749: 0x6B2E, - 4750: 0x6B2F, - 4751: 0x6B30, - 4752: 0x6B31, - 4753: 0x6B33, - 4754: 0x6B34, - 4755: 0x6B35, - 4756: 0x6B36, - 4757: 0x6B38, - 4758: 0x6B3B, - 4759: 0x6B3C, - 4760: 0x6B3D, - 4761: 0x6B3F, - 4762: 0x6B40, - 4763: 0x6B41, - 4764: 0x6B42, - 4765: 0x6B44, - 4766: 0x6B45, - 4767: 0x6B48, - 4768: 0x6B4A, - 4769: 0x6B4B, - 4770: 0x6B4D, - 4771: 0x6B4E, - 4772: 0x6B4F, - 4773: 0x6B50, - 4774: 0x6B51, - 4775: 0x6B52, - 4776: 0x6B53, - 4777: 0x6B54, - 4778: 0x6B55, - 4779: 0x6B56, - 4780: 0x6B57, - 4781: 0x6B58, - 4782: 0x6B5A, - 4783: 0x6B5B, - 4784: 0x6B5C, - 4785: 0x6B5D, - 4786: 0x6B5E, - 4787: 0x6B5F, - 4788: 0x6B60, - 4789: 0x6B61, - 4790: 0x6B68, - 4791: 0x6B69, - 4792: 0x6B6B, - 4793: 0x6B6C, - 4794: 0x6B6D, - 4795: 0x6B6E, - 4796: 0x6B6F, - 4797: 0x6B70, - 4798: 0x6B71, - 4799: 0x6B72, - 4800: 0x6B73, - 4801: 0x6B74, - 4802: 0x6B75, - 4803: 0x6B76, - 4804: 0x6B77, - 4805: 0x6B78, - 4806: 0x6B7A, - 4807: 0x6B7D, - 4808: 0x6B7E, - 4809: 0x6B7F, - 4810: 0x6B80, - 4811: 0x6B85, - 4812: 0x6B88, - 4813: 0x6B8C, - 4814: 0x6B8E, - 4815: 0x6B8F, - 4816: 0x6B90, - 4817: 0x6B91, - 4818: 0x6B94, - 4819: 0x6B95, - 4820: 0x6B97, - 4821: 0x6B98, - 4822: 0x6B99, - 4823: 0x6B9C, - 4824: 0x6B9D, - 4825: 0x6B9E, - 4826: 0x6B9F, - 4827: 0x6BA0, - 4828: 0x6BA2, - 4829: 0x6BA3, - 4830: 0x6BA4, - 4831: 0x6BA5, - 4832: 0x6BA6, - 4833: 0x6BA7, - 4834: 0x6BA8, - 4835: 0x6BA9, - 4836: 0x6BAB, - 4837: 0x6BAC, - 4838: 0x6BAD, - 4839: 0x6BAE, - 4840: 0x6BAF, - 4841: 0x6BB0, - 4842: 0x6BB1, - 4843: 0x6BB2, - 4844: 0x6BB6, - 4845: 0x6BB8, - 4846: 0x6BB9, - 4847: 0x6BBA, - 4848: 0x6BBB, - 4849: 0x6BBC, - 4850: 0x6BBD, - 4851: 0x6BBE, - 4852: 0x6BC0, - 4853: 0x6BC3, - 4854: 0x6BC4, - 4855: 0x6BC6, - 4856: 0x6BC7, - 4857: 0x6BC8, - 4858: 0x6BC9, - 4859: 0x6BCA, - 4860: 0x6BCC, - 4861: 0x6BCE, - 4862: 0x6BD0, - 4863: 0x6BD1, - 4864: 0x6BD8, - 4865: 0x6BDA, - 4866: 0x6BDC, - 4867: 0x6BDD, - 4868: 0x6BDE, - 4869: 0x6BDF, - 4870: 0x6BE0, - 4871: 0x6BE2, - 4872: 0x6BE3, - 4873: 0x6BE4, - 4874: 0x6BE5, - 4875: 0x6BE6, - 4876: 0x6BE7, - 4877: 0x6BE8, - 4878: 0x6BE9, - 4879: 0x6BEC, - 4880: 0x6BED, - 4881: 0x6BEE, - 4882: 0x6BF0, - 4883: 0x6BF1, - 4884: 0x6BF2, - 4885: 0x6BF4, - 4886: 0x6BF6, - 4887: 0x6BF7, - 4888: 0x6BF8, - 4889: 0x6BFA, - 4890: 0x6BFB, - 4891: 0x6BFC, - 4892: 0x6BFE, - 4893: 0x6BFF, - 4894: 0x6C00, - 4895: 0x6C01, - 4896: 0x6C02, - 4897: 0x6C03, - 4898: 0x6C04, - 4899: 0x6C08, - 4900: 0x6C09, - 4901: 0x6C0A, - 4902: 0x6C0B, - 4903: 0x6C0C, - 4904: 0x6C0E, - 4905: 0x6C12, - 4906: 0x6C17, - 4907: 0x6C1C, - 4908: 0x6C1D, - 4909: 0x6C1E, - 4910: 0x6C20, - 4911: 0x6C23, - 4912: 0x6C25, - 4913: 0x6C2B, - 4914: 0x6C2C, - 4915: 0x6C2D, - 4916: 0x6C31, - 4917: 0x6C33, - 4918: 0x6C36, - 4919: 0x6C37, - 4920: 0x6C39, - 4921: 0x6C3A, - 4922: 0x6C3B, - 4923: 0x6C3C, - 4924: 0x6C3E, - 4925: 0x6C3F, - 4926: 0x6C43, - 4927: 0x6C44, - 4928: 0x6C45, - 4929: 0x6C48, - 4930: 0x6C4B, - 4931: 0x6C4C, - 4932: 0x6C4D, - 4933: 0x6C4E, - 4934: 0x6C4F, - 4935: 0x6C51, - 4936: 0x6C52, - 4937: 0x6C53, - 4938: 0x6C56, - 4939: 0x6C58, - 4940: 0x6C59, - 4941: 0x6C5A, - 4942: 0x6C62, - 4943: 0x6C63, - 4944: 0x6C65, - 4945: 0x6C66, - 4946: 0x6C67, - 4947: 0x6C6B, - 4948: 0x6C6C, - 4949: 0x6C6D, - 4950: 0x6C6E, - 4951: 0x6C6F, - 4952: 0x6C71, - 4953: 0x6C73, - 4954: 0x6C75, - 4955: 0x6C77, - 4956: 0x6C78, - 4957: 0x6C7A, - 4958: 0x6C7B, - 4959: 0x6C7C, - 4960: 0x6C7F, - 4961: 0x6C80, - 4962: 0x6C84, - 4963: 0x6C87, - 4964: 0x6C8A, - 4965: 0x6C8B, - 4966: 0x6C8D, - 4967: 0x6C8E, - 4968: 0x6C91, - 4969: 0x6C92, - 4970: 0x6C95, - 4971: 0x6C96, - 4972: 0x6C97, - 4973: 0x6C98, - 4974: 0x6C9A, - 4975: 0x6C9C, - 4976: 0x6C9D, - 4977: 0x6C9E, - 4978: 0x6CA0, - 4979: 0x6CA2, - 4980: 0x6CA8, - 4981: 0x6CAC, - 4982: 0x6CAF, - 4983: 0x6CB0, - 4984: 0x6CB4, - 4985: 0x6CB5, - 4986: 0x6CB6, - 4987: 0x6CB7, - 4988: 0x6CBA, - 4989: 0x6CC0, - 4990: 0x6CC1, - 4991: 0x6CC2, - 4992: 0x6CC3, - 4993: 0x6CC6, - 4994: 0x6CC7, - 4995: 0x6CC8, - 4996: 0x6CCB, - 4997: 0x6CCD, - 4998: 0x6CCE, - 4999: 0x6CCF, - 5000: 0x6CD1, - 5001: 0x6CD2, - 5002: 0x6CD8, - 5003: 0x6CD9, - 5004: 0x6CDA, - 5005: 0x6CDC, - 5006: 0x6CDD, - 5007: 0x6CDF, - 5008: 0x6CE4, - 5009: 0x6CE6, - 5010: 0x6CE7, - 5011: 0x6CE9, - 5012: 0x6CEC, - 5013: 0x6CED, - 5014: 0x6CF2, - 5015: 0x6CF4, - 5016: 0x6CF9, - 5017: 0x6CFF, - 5018: 0x6D00, - 5019: 0x6D02, - 5020: 0x6D03, - 5021: 0x6D05, - 5022: 0x6D06, - 5023: 0x6D08, - 5024: 0x6D09, - 5025: 0x6D0A, - 5026: 0x6D0D, - 5027: 0x6D0F, - 5028: 0x6D10, - 5029: 0x6D11, - 5030: 0x6D13, - 5031: 0x6D14, - 5032: 0x6D15, - 5033: 0x6D16, - 5034: 0x6D18, - 5035: 0x6D1C, - 5036: 0x6D1D, - 5037: 0x6D1F, - 5038: 0x6D20, - 5039: 0x6D21, - 5040: 0x6D22, - 5041: 0x6D23, - 5042: 0x6D24, - 5043: 0x6D26, - 5044: 0x6D28, - 5045: 0x6D29, - 5046: 0x6D2C, - 5047: 0x6D2D, - 5048: 0x6D2F, - 5049: 0x6D30, - 5050: 0x6D34, - 5051: 0x6D36, - 5052: 0x6D37, - 5053: 0x6D38, - 5054: 0x6D3A, - 5055: 0x6D3F, - 5056: 0x6D40, - 5057: 0x6D42, - 5058: 0x6D44, - 5059: 0x6D49, - 5060: 0x6D4C, - 5061: 0x6D50, - 5062: 0x6D55, - 5063: 0x6D56, - 5064: 0x6D57, - 5065: 0x6D58, - 5066: 0x6D5B, - 5067: 0x6D5D, - 5068: 0x6D5F, - 5069: 0x6D61, - 5070: 0x6D62, - 5071: 0x6D64, - 5072: 0x6D65, - 5073: 0x6D67, - 5074: 0x6D68, - 5075: 0x6D6B, - 5076: 0x6D6C, - 5077: 0x6D6D, - 5078: 0x6D70, - 5079: 0x6D71, - 5080: 0x6D72, - 5081: 0x6D73, - 5082: 0x6D75, - 5083: 0x6D76, - 5084: 0x6D79, - 5085: 0x6D7A, - 5086: 0x6D7B, - 5087: 0x6D7D, - 5088: 0x6D7E, - 5089: 0x6D7F, - 5090: 0x6D80, - 5091: 0x6D81, - 5092: 0x6D83, - 5093: 0x6D84, - 5094: 0x6D86, - 5095: 0x6D87, - 5096: 0x6D8A, - 5097: 0x6D8B, - 5098: 0x6D8D, - 5099: 0x6D8F, - 5100: 0x6D90, - 5101: 0x6D92, - 5102: 0x6D96, - 5103: 0x6D97, - 5104: 0x6D98, - 5105: 0x6D99, - 5106: 0x6D9A, - 5107: 0x6D9C, - 5108: 0x6DA2, - 5109: 0x6DA5, - 5110: 0x6DAC, - 5111: 0x6DAD, - 5112: 0x6DB0, - 5113: 0x6DB1, - 5114: 0x6DB3, - 5115: 0x6DB4, - 5116: 0x6DB6, - 5117: 0x6DB7, - 5118: 0x6DB9, - 5119: 0x6DBA, - 5120: 0x6DBB, - 5121: 0x6DBC, - 5122: 0x6DBD, - 5123: 0x6DBE, - 5124: 0x6DC1, - 5125: 0x6DC2, - 5126: 0x6DC3, - 5127: 0x6DC8, - 5128: 0x6DC9, - 5129: 0x6DCA, - 5130: 0x6DCD, - 5131: 0x6DCE, - 5132: 0x6DCF, - 5133: 0x6DD0, - 5134: 0x6DD2, - 5135: 0x6DD3, - 5136: 0x6DD4, - 5137: 0x6DD5, - 5138: 0x6DD7, - 5139: 0x6DDA, - 5140: 0x6DDB, - 5141: 0x6DDC, - 5142: 0x6DDF, - 5143: 0x6DE2, - 5144: 0x6DE3, - 5145: 0x6DE5, - 5146: 0x6DE7, - 5147: 0x6DE8, - 5148: 0x6DE9, - 5149: 0x6DEA, - 5150: 0x6DED, - 5151: 0x6DEF, - 5152: 0x6DF0, - 5153: 0x6DF2, - 5154: 0x6DF4, - 5155: 0x6DF5, - 5156: 0x6DF6, - 5157: 0x6DF8, - 5158: 0x6DFA, - 5159: 0x6DFD, - 5160: 0x6DFE, - 5161: 0x6DFF, - 5162: 0x6E00, - 5163: 0x6E01, - 5164: 0x6E02, - 5165: 0x6E03, - 5166: 0x6E04, - 5167: 0x6E06, - 5168: 0x6E07, - 5169: 0x6E08, - 5170: 0x6E09, - 5171: 0x6E0B, - 5172: 0x6E0F, - 5173: 0x6E12, - 5174: 0x6E13, - 5175: 0x6E15, - 5176: 0x6E18, - 5177: 0x6E19, - 5178: 0x6E1B, - 5179: 0x6E1C, - 5180: 0x6E1E, - 5181: 0x6E1F, - 5182: 0x6E22, - 5183: 0x6E26, - 5184: 0x6E27, - 5185: 0x6E28, - 5186: 0x6E2A, - 5187: 0x6E2C, - 5188: 0x6E2E, - 5189: 0x6E30, - 5190: 0x6E31, - 5191: 0x6E33, - 5192: 0x6E35, - 5193: 0x6E36, - 5194: 0x6E37, - 5195: 0x6E39, - 5196: 0x6E3B, - 5197: 0x6E3C, - 5198: 0x6E3D, - 5199: 0x6E3E, - 5200: 0x6E3F, - 5201: 0x6E40, - 5202: 0x6E41, - 5203: 0x6E42, - 5204: 0x6E45, - 5205: 0x6E46, - 5206: 0x6E47, - 5207: 0x6E48, - 5208: 0x6E49, - 5209: 0x6E4A, - 5210: 0x6E4B, - 5211: 0x6E4C, - 5212: 0x6E4F, - 5213: 0x6E50, - 5214: 0x6E51, - 5215: 0x6E52, - 5216: 0x6E55, - 5217: 0x6E57, - 5218: 0x6E59, - 5219: 0x6E5A, - 5220: 0x6E5C, - 5221: 0x6E5D, - 5222: 0x6E5E, - 5223: 0x6E60, - 5224: 0x6E61, - 5225: 0x6E62, - 5226: 0x6E63, - 5227: 0x6E64, - 5228: 0x6E65, - 5229: 0x6E66, - 5230: 0x6E67, - 5231: 0x6E68, - 5232: 0x6E69, - 5233: 0x6E6A, - 5234: 0x6E6C, - 5235: 0x6E6D, - 5236: 0x6E6F, - 5237: 0x6E70, - 5238: 0x6E71, - 5239: 0x6E72, - 5240: 0x6E73, - 5241: 0x6E74, - 5242: 0x6E75, - 5243: 0x6E76, - 5244: 0x6E77, - 5245: 0x6E78, - 5246: 0x6E79, - 5247: 0x6E7A, - 5248: 0x6E7B, - 5249: 0x6E7C, - 5250: 0x6E7D, - 5251: 0x6E80, - 5252: 0x6E81, - 5253: 0x6E82, - 5254: 0x6E84, - 5255: 0x6E87, - 5256: 0x6E88, - 5257: 0x6E8A, - 5258: 0x6E8B, - 5259: 0x6E8C, - 5260: 0x6E8D, - 5261: 0x6E8E, - 5262: 0x6E91, - 5263: 0x6E92, - 5264: 0x6E93, - 5265: 0x6E94, - 5266: 0x6E95, - 5267: 0x6E96, - 5268: 0x6E97, - 5269: 0x6E99, - 5270: 0x6E9A, - 5271: 0x6E9B, - 5272: 0x6E9D, - 5273: 0x6E9E, - 5274: 0x6EA0, - 5275: 0x6EA1, - 5276: 0x6EA3, - 5277: 0x6EA4, - 5278: 0x6EA6, - 5279: 0x6EA8, - 5280: 0x6EA9, - 5281: 0x6EAB, - 5282: 0x6EAC, - 5283: 0x6EAD, - 5284: 0x6EAE, - 5285: 0x6EB0, - 5286: 0x6EB3, - 5287: 0x6EB5, - 5288: 0x6EB8, - 5289: 0x6EB9, - 5290: 0x6EBC, - 5291: 0x6EBE, - 5292: 0x6EBF, - 5293: 0x6EC0, - 5294: 0x6EC3, - 5295: 0x6EC4, - 5296: 0x6EC5, - 5297: 0x6EC6, - 5298: 0x6EC8, - 5299: 0x6EC9, - 5300: 0x6ECA, - 5301: 0x6ECC, - 5302: 0x6ECD, - 5303: 0x6ECE, - 5304: 0x6ED0, - 5305: 0x6ED2, - 5306: 0x6ED6, - 5307: 0x6ED8, - 5308: 0x6ED9, - 5309: 0x6EDB, - 5310: 0x6EDC, - 5311: 0x6EDD, - 5312: 0x6EE3, - 5313: 0x6EE7, - 5314: 0x6EEA, - 5315: 0x6EEB, - 5316: 0x6EEC, - 5317: 0x6EED, - 5318: 0x6EEE, - 5319: 0x6EEF, - 5320: 0x6EF0, - 5321: 0x6EF1, - 5322: 0x6EF2, - 5323: 0x6EF3, - 5324: 0x6EF5, - 5325: 0x6EF6, - 5326: 0x6EF7, - 5327: 0x6EF8, - 5328: 0x6EFA, - 5329: 0x6EFB, - 5330: 0x6EFC, - 5331: 0x6EFD, - 5332: 0x6EFE, - 5333: 0x6EFF, - 5334: 0x6F00, - 5335: 0x6F01, - 5336: 0x6F03, - 5337: 0x6F04, - 5338: 0x6F05, - 5339: 0x6F07, - 5340: 0x6F08, - 5341: 0x6F0A, - 5342: 0x6F0B, - 5343: 0x6F0C, - 5344: 0x6F0D, - 5345: 0x6F0E, - 5346: 0x6F10, - 5347: 0x6F11, - 5348: 0x6F12, - 5349: 0x6F16, - 5350: 0x6F17, - 5351: 0x6F18, - 5352: 0x6F19, - 5353: 0x6F1A, - 5354: 0x6F1B, - 5355: 0x6F1C, - 5356: 0x6F1D, - 5357: 0x6F1E, - 5358: 0x6F1F, - 5359: 0x6F21, - 5360: 0x6F22, - 5361: 0x6F23, - 5362: 0x6F25, - 5363: 0x6F26, - 5364: 0x6F27, - 5365: 0x6F28, - 5366: 0x6F2C, - 5367: 0x6F2E, - 5368: 0x6F30, - 5369: 0x6F32, - 5370: 0x6F34, - 5371: 0x6F35, - 5372: 0x6F37, - 5373: 0x6F38, - 5374: 0x6F39, - 5375: 0x6F3A, - 5376: 0x6F3B, - 5377: 0x6F3C, - 5378: 0x6F3D, - 5379: 0x6F3F, - 5380: 0x6F40, - 5381: 0x6F41, - 5382: 0x6F42, - 5383: 0x6F43, - 5384: 0x6F44, - 5385: 0x6F45, - 5386: 0x6F48, - 5387: 0x6F49, - 5388: 0x6F4A, - 5389: 0x6F4C, - 5390: 0x6F4E, - 5391: 0x6F4F, - 5392: 0x6F50, - 5393: 0x6F51, - 5394: 0x6F52, - 5395: 0x6F53, - 5396: 0x6F54, - 5397: 0x6F55, - 5398: 0x6F56, - 5399: 0x6F57, - 5400: 0x6F59, - 5401: 0x6F5A, - 5402: 0x6F5B, - 5403: 0x6F5D, - 5404: 0x6F5F, - 5405: 0x6F60, - 5406: 0x6F61, - 5407: 0x6F63, - 5408: 0x6F64, - 5409: 0x6F65, - 5410: 0x6F67, - 5411: 0x6F68, - 5412: 0x6F69, - 5413: 0x6F6A, - 5414: 0x6F6B, - 5415: 0x6F6C, - 5416: 0x6F6F, - 5417: 0x6F70, - 5418: 0x6F71, - 5419: 0x6F73, - 5420: 0x6F75, - 5421: 0x6F76, - 5422: 0x6F77, - 5423: 0x6F79, - 5424: 0x6F7B, - 5425: 0x6F7D, - 5426: 0x6F7E, - 5427: 0x6F7F, - 5428: 0x6F80, - 5429: 0x6F81, - 5430: 0x6F82, - 5431: 0x6F83, - 5432: 0x6F85, - 5433: 0x6F86, - 5434: 0x6F87, - 5435: 0x6F8A, - 5436: 0x6F8B, - 5437: 0x6F8F, - 5438: 0x6F90, - 5439: 0x6F91, - 5440: 0x6F92, - 5441: 0x6F93, - 5442: 0x6F94, - 5443: 0x6F95, - 5444: 0x6F96, - 5445: 0x6F97, - 5446: 0x6F98, - 5447: 0x6F99, - 5448: 0x6F9A, - 5449: 0x6F9B, - 5450: 0x6F9D, - 5451: 0x6F9E, - 5452: 0x6F9F, - 5453: 0x6FA0, - 5454: 0x6FA2, - 5455: 0x6FA3, - 5456: 0x6FA4, - 5457: 0x6FA5, - 5458: 0x6FA6, - 5459: 0x6FA8, - 5460: 0x6FA9, - 5461: 0x6FAA, - 5462: 0x6FAB, - 5463: 0x6FAC, - 5464: 0x6FAD, - 5465: 0x6FAE, - 5466: 0x6FAF, - 5467: 0x6FB0, - 5468: 0x6FB1, - 5469: 0x6FB2, - 5470: 0x6FB4, - 5471: 0x6FB5, - 5472: 0x6FB7, - 5473: 0x6FB8, - 5474: 0x6FBA, - 5475: 0x6FBB, - 5476: 0x6FBC, - 5477: 0x6FBD, - 5478: 0x6FBE, - 5479: 0x6FBF, - 5480: 0x6FC1, - 5481: 0x6FC3, - 5482: 0x6FC4, - 5483: 0x6FC5, - 5484: 0x6FC6, - 5485: 0x6FC7, - 5486: 0x6FC8, - 5487: 0x6FCA, - 5488: 0x6FCB, - 5489: 0x6FCC, - 5490: 0x6FCD, - 5491: 0x6FCE, - 5492: 0x6FCF, - 5493: 0x6FD0, - 5494: 0x6FD3, - 5495: 0x6FD4, - 5496: 0x6FD5, - 5497: 0x6FD6, - 5498: 0x6FD7, - 5499: 0x6FD8, - 5500: 0x6FD9, - 5501: 0x6FDA, - 5502: 0x6FDB, - 5503: 0x6FDC, - 5504: 0x6FDD, - 5505: 0x6FDF, - 5506: 0x6FE2, - 5507: 0x6FE3, - 5508: 0x6FE4, - 5509: 0x6FE5, - 5510: 0x6FE6, - 5511: 0x6FE7, - 5512: 0x6FE8, - 5513: 0x6FE9, - 5514: 0x6FEA, - 5515: 0x6FEB, - 5516: 0x6FEC, - 5517: 0x6FED, - 5518: 0x6FF0, - 5519: 0x6FF1, - 5520: 0x6FF2, - 5521: 0x6FF3, - 5522: 0x6FF4, - 5523: 0x6FF5, - 5524: 0x6FF6, - 5525: 0x6FF7, - 5526: 0x6FF8, - 5527: 0x6FF9, - 5528: 0x6FFA, - 5529: 0x6FFB, - 5530: 0x6FFC, - 5531: 0x6FFD, - 5532: 0x6FFE, - 5533: 0x6FFF, - 5534: 0x7000, - 5535: 0x7001, - 5536: 0x7002, - 5537: 0x7003, - 5538: 0x7004, - 5539: 0x7005, - 5540: 0x7006, - 5541: 0x7007, - 5542: 0x7008, - 5543: 0x7009, - 5544: 0x700A, - 5545: 0x700B, - 5546: 0x700C, - 5547: 0x700D, - 5548: 0x700E, - 5549: 0x700F, - 5550: 0x7010, - 5551: 0x7012, - 5552: 0x7013, - 5553: 0x7014, - 5554: 0x7015, - 5555: 0x7016, - 5556: 0x7017, - 5557: 0x7018, - 5558: 0x7019, - 5559: 0x701C, - 5560: 0x701D, - 5561: 0x701E, - 5562: 0x701F, - 5563: 0x7020, - 5564: 0x7021, - 5565: 0x7022, - 5566: 0x7024, - 5567: 0x7025, - 5568: 0x7026, - 5569: 0x7027, - 5570: 0x7028, - 5571: 0x7029, - 5572: 0x702A, - 5573: 0x702B, - 5574: 0x702C, - 5575: 0x702D, - 5576: 0x702E, - 5577: 0x702F, - 5578: 0x7030, - 5579: 0x7031, - 5580: 0x7032, - 5581: 0x7033, - 5582: 0x7034, - 5583: 0x7036, - 5584: 0x7037, - 5585: 0x7038, - 5586: 0x703A, - 5587: 0x703B, - 5588: 0x703C, - 5589: 0x703D, - 5590: 0x703E, - 5591: 0x703F, - 5592: 0x7040, - 5593: 0x7041, - 5594: 0x7042, - 5595: 0x7043, - 5596: 0x7044, - 5597: 0x7045, - 5598: 0x7046, - 5599: 0x7047, - 5600: 0x7048, - 5601: 0x7049, - 5602: 0x704A, - 5603: 0x704B, - 5604: 0x704D, - 5605: 0x704E, - 5606: 0x7050, - 5607: 0x7051, - 5608: 0x7052, - 5609: 0x7053, - 5610: 0x7054, - 5611: 0x7055, - 5612: 0x7056, - 5613: 0x7057, - 5614: 0x7058, - 5615: 0x7059, - 5616: 0x705A, - 5617: 0x705B, - 5618: 0x705C, - 5619: 0x705D, - 5620: 0x705F, - 5621: 0x7060, - 5622: 0x7061, - 5623: 0x7062, - 5624: 0x7063, - 5625: 0x7064, - 5626: 0x7065, - 5627: 0x7066, - 5628: 0x7067, - 5629: 0x7068, - 5630: 0x7069, - 5631: 0x706A, - 5632: 0x706E, - 5633: 0x7071, - 5634: 0x7072, - 5635: 0x7073, - 5636: 0x7074, - 5637: 0x7077, - 5638: 0x7079, - 5639: 0x707A, - 5640: 0x707B, - 5641: 0x707D, - 5642: 0x7081, - 5643: 0x7082, - 5644: 0x7083, - 5645: 0x7084, - 5646: 0x7086, - 5647: 0x7087, - 5648: 0x7088, - 5649: 0x708B, - 5650: 0x708C, - 5651: 0x708D, - 5652: 0x708F, - 5653: 0x7090, - 5654: 0x7091, - 5655: 0x7093, - 5656: 0x7097, - 5657: 0x7098, - 5658: 0x709A, - 5659: 0x709B, - 5660: 0x709E, - 5661: 0x709F, - 5662: 0x70A0, - 5663: 0x70A1, - 5664: 0x70A2, - 5665: 0x70A3, - 5666: 0x70A4, - 5667: 0x70A5, - 5668: 0x70A6, - 5669: 0x70A7, - 5670: 0x70A8, - 5671: 0x70A9, - 5672: 0x70AA, - 5673: 0x70B0, - 5674: 0x70B2, - 5675: 0x70B4, - 5676: 0x70B5, - 5677: 0x70B6, - 5678: 0x70BA, - 5679: 0x70BE, - 5680: 0x70BF, - 5681: 0x70C4, - 5682: 0x70C5, - 5683: 0x70C6, - 5684: 0x70C7, - 5685: 0x70C9, - 5686: 0x70CB, - 5687: 0x70CC, - 5688: 0x70CD, - 5689: 0x70CE, - 5690: 0x70CF, - 5691: 0x70D0, - 5692: 0x70D1, - 5693: 0x70D2, - 5694: 0x70D3, - 5695: 0x70D4, - 5696: 0x70D5, - 5697: 0x70D6, - 5698: 0x70D7, - 5699: 0x70DA, - 5700: 0x70DC, - 5701: 0x70DD, - 5702: 0x70DE, - 5703: 0x70E0, - 5704: 0x70E1, - 5705: 0x70E2, - 5706: 0x70E3, - 5707: 0x70E5, - 5708: 0x70EA, - 5709: 0x70EE, - 5710: 0x70F0, - 5711: 0x70F1, - 5712: 0x70F2, - 5713: 0x70F3, - 5714: 0x70F4, - 5715: 0x70F5, - 5716: 0x70F6, - 5717: 0x70F8, - 5718: 0x70FA, - 5719: 0x70FB, - 5720: 0x70FC, - 5721: 0x70FE, - 5722: 0x70FF, - 5723: 0x7100, - 5724: 0x7101, - 5725: 0x7102, - 5726: 0x7103, - 5727: 0x7104, - 5728: 0x7105, - 5729: 0x7106, - 5730: 0x7107, - 5731: 0x7108, - 5732: 0x710B, - 5733: 0x710C, - 5734: 0x710D, - 5735: 0x710E, - 5736: 0x710F, - 5737: 0x7111, - 5738: 0x7112, - 5739: 0x7114, - 5740: 0x7117, - 5741: 0x711B, - 5742: 0x711C, - 5743: 0x711D, - 5744: 0x711E, - 5745: 0x711F, - 5746: 0x7120, - 5747: 0x7121, - 5748: 0x7122, - 5749: 0x7123, - 5750: 0x7124, - 5751: 0x7125, - 5752: 0x7127, - 5753: 0x7128, - 5754: 0x7129, - 5755: 0x712A, - 5756: 0x712B, - 5757: 0x712C, - 5758: 0x712D, - 5759: 0x712E, - 5760: 0x7132, - 5761: 0x7133, - 5762: 0x7134, - 5763: 0x7135, - 5764: 0x7137, - 5765: 0x7138, - 5766: 0x7139, - 5767: 0x713A, - 5768: 0x713B, - 5769: 0x713C, - 5770: 0x713D, - 5771: 0x713E, - 5772: 0x713F, - 5773: 0x7140, - 5774: 0x7141, - 5775: 0x7142, - 5776: 0x7143, - 5777: 0x7144, - 5778: 0x7146, - 5779: 0x7147, - 5780: 0x7148, - 5781: 0x7149, - 5782: 0x714B, - 5783: 0x714D, - 5784: 0x714F, - 5785: 0x7150, - 5786: 0x7151, - 5787: 0x7152, - 5788: 0x7153, - 5789: 0x7154, - 5790: 0x7155, - 5791: 0x7156, - 5792: 0x7157, - 5793: 0x7158, - 5794: 0x7159, - 5795: 0x715A, - 5796: 0x715B, - 5797: 0x715D, - 5798: 0x715F, - 5799: 0x7160, - 5800: 0x7161, - 5801: 0x7162, - 5802: 0x7163, - 5803: 0x7165, - 5804: 0x7169, - 5805: 0x716A, - 5806: 0x716B, - 5807: 0x716C, - 5808: 0x716D, - 5809: 0x716F, - 5810: 0x7170, - 5811: 0x7171, - 5812: 0x7174, - 5813: 0x7175, - 5814: 0x7176, - 5815: 0x7177, - 5816: 0x7179, - 5817: 0x717B, - 5818: 0x717C, - 5819: 0x717E, - 5820: 0x717F, - 5821: 0x7180, - 5822: 0x7181, - 5823: 0x7182, - 5824: 0x7183, - 5825: 0x7185, - 5826: 0x7186, - 5827: 0x7187, - 5828: 0x7188, - 5829: 0x7189, - 5830: 0x718B, - 5831: 0x718C, - 5832: 0x718D, - 5833: 0x718E, - 5834: 0x7190, - 5835: 0x7191, - 5836: 0x7192, - 5837: 0x7193, - 5838: 0x7195, - 5839: 0x7196, - 5840: 0x7197, - 5841: 0x719A, - 5842: 0x719B, - 5843: 0x719C, - 5844: 0x719D, - 5845: 0x719E, - 5846: 0x71A1, - 5847: 0x71A2, - 5848: 0x71A3, - 5849: 0x71A4, - 5850: 0x71A5, - 5851: 0x71A6, - 5852: 0x71A7, - 5853: 0x71A9, - 5854: 0x71AA, - 5855: 0x71AB, - 5856: 0x71AD, - 5857: 0x71AE, - 5858: 0x71AF, - 5859: 0x71B0, - 5860: 0x71B1, - 5861: 0x71B2, - 5862: 0x71B4, - 5863: 0x71B6, - 5864: 0x71B7, - 5865: 0x71B8, - 5866: 0x71BA, - 5867: 0x71BB, - 5868: 0x71BC, - 5869: 0x71BD, - 5870: 0x71BE, - 5871: 0x71BF, - 5872: 0x71C0, - 5873: 0x71C1, - 5874: 0x71C2, - 5875: 0x71C4, - 5876: 0x71C5, - 5877: 0x71C6, - 5878: 0x71C7, - 5879: 0x71C8, - 5880: 0x71C9, - 5881: 0x71CA, - 5882: 0x71CB, - 5883: 0x71CC, - 5884: 0x71CD, - 5885: 0x71CF, - 5886: 0x71D0, - 5887: 0x71D1, - 5888: 0x71D2, - 5889: 0x71D3, - 5890: 0x71D6, - 5891: 0x71D7, - 5892: 0x71D8, - 5893: 0x71D9, - 5894: 0x71DA, - 5895: 0x71DB, - 5896: 0x71DC, - 5897: 0x71DD, - 5898: 0x71DE, - 5899: 0x71DF, - 5900: 0x71E1, - 5901: 0x71E2, - 5902: 0x71E3, - 5903: 0x71E4, - 5904: 0x71E6, - 5905: 0x71E8, - 5906: 0x71E9, - 5907: 0x71EA, - 5908: 0x71EB, - 5909: 0x71EC, - 5910: 0x71ED, - 5911: 0x71EF, - 5912: 0x71F0, - 5913: 0x71F1, - 5914: 0x71F2, - 5915: 0x71F3, - 5916: 0x71F4, - 5917: 0x71F5, - 5918: 0x71F6, - 5919: 0x71F7, - 5920: 0x71F8, - 5921: 0x71FA, - 5922: 0x71FB, - 5923: 0x71FC, - 5924: 0x71FD, - 5925: 0x71FE, - 5926: 0x71FF, - 5927: 0x7200, - 5928: 0x7201, - 5929: 0x7202, - 5930: 0x7203, - 5931: 0x7204, - 5932: 0x7205, - 5933: 0x7207, - 5934: 0x7208, - 5935: 0x7209, - 5936: 0x720A, - 5937: 0x720B, - 5938: 0x720C, - 5939: 0x720D, - 5940: 0x720E, - 5941: 0x720F, - 5942: 0x7210, - 5943: 0x7211, - 5944: 0x7212, - 5945: 0x7213, - 5946: 0x7214, - 5947: 0x7215, - 5948: 0x7216, - 5949: 0x7217, - 5950: 0x7218, - 5951: 0x7219, - 5952: 0x721A, - 5953: 0x721B, - 5954: 0x721C, - 5955: 0x721E, - 5956: 0x721F, - 5957: 0x7220, - 5958: 0x7221, - 5959: 0x7222, - 5960: 0x7223, - 5961: 0x7224, - 5962: 0x7225, - 5963: 0x7226, - 5964: 0x7227, - 5965: 0x7229, - 5966: 0x722B, - 5967: 0x722D, - 5968: 0x722E, - 5969: 0x722F, - 5970: 0x7232, - 5971: 0x7233, - 5972: 0x7234, - 5973: 0x723A, - 5974: 0x723C, - 5975: 0x723E, - 5976: 0x7240, - 5977: 0x7241, - 5978: 0x7242, - 5979: 0x7243, - 5980: 0x7244, - 5981: 0x7245, - 5982: 0x7246, - 5983: 0x7249, - 5984: 0x724A, - 5985: 0x724B, - 5986: 0x724E, - 5987: 0x724F, - 5988: 0x7250, - 5989: 0x7251, - 5990: 0x7253, - 5991: 0x7254, - 5992: 0x7255, - 5993: 0x7257, - 5994: 0x7258, - 5995: 0x725A, - 5996: 0x725C, - 5997: 0x725E, - 5998: 0x7260, - 5999: 0x7263, - 6000: 0x7264, - 6001: 0x7265, - 6002: 0x7268, - 6003: 0x726A, - 6004: 0x726B, - 6005: 0x726C, - 6006: 0x726D, - 6007: 0x7270, - 6008: 0x7271, - 6009: 0x7273, - 6010: 0x7274, - 6011: 0x7276, - 6012: 0x7277, - 6013: 0x7278, - 6014: 0x727B, - 6015: 0x727C, - 6016: 0x727D, - 6017: 0x7282, - 6018: 0x7283, - 6019: 0x7285, - 6020: 0x7286, - 6021: 0x7287, - 6022: 0x7288, - 6023: 0x7289, - 6024: 0x728C, - 6025: 0x728E, - 6026: 0x7290, - 6027: 0x7291, - 6028: 0x7293, - 6029: 0x7294, - 6030: 0x7295, - 6031: 0x7296, - 6032: 0x7297, - 6033: 0x7298, - 6034: 0x7299, - 6035: 0x729A, - 6036: 0x729B, - 6037: 0x729C, - 6038: 0x729D, - 6039: 0x729E, - 6040: 0x72A0, - 6041: 0x72A1, - 6042: 0x72A2, - 6043: 0x72A3, - 6044: 0x72A4, - 6045: 0x72A5, - 6046: 0x72A6, - 6047: 0x72A7, - 6048: 0x72A8, - 6049: 0x72A9, - 6050: 0x72AA, - 6051: 0x72AB, - 6052: 0x72AE, - 6053: 0x72B1, - 6054: 0x72B2, - 6055: 0x72B3, - 6056: 0x72B5, - 6057: 0x72BA, - 6058: 0x72BB, - 6059: 0x72BC, - 6060: 0x72BD, - 6061: 0x72BE, - 6062: 0x72BF, - 6063: 0x72C0, - 6064: 0x72C5, - 6065: 0x72C6, - 6066: 0x72C7, - 6067: 0x72C9, - 6068: 0x72CA, - 6069: 0x72CB, - 6070: 0x72CC, - 6071: 0x72CF, - 6072: 0x72D1, - 6073: 0x72D3, - 6074: 0x72D4, - 6075: 0x72D5, - 6076: 0x72D6, - 6077: 0x72D8, - 6078: 0x72DA, - 6079: 0x72DB, - 6176: 0x3000, - 6177: 0x3001, - 6178: 0x3002, - 6179: 0x00B7, - 6180: 0x02C9, - 6181: 0x02C7, - 6182: 0x00A8, - 6183: 0x3003, - 6184: 0x3005, - 6185: 0x2014, - 6186: 0xFF5E, - 6187: 0x2016, - 6188: 0x2026, - 6189: 0x2018, - 6190: 0x2019, - 6191: 0x201C, - 6192: 0x201D, - 6193: 0x3014, - 6194: 0x3015, - 6195: 0x3008, - 6196: 0x3009, - 6197: 0x300A, - 6198: 0x300B, - 6199: 0x300C, - 6200: 0x300D, - 6201: 0x300E, - 6202: 0x300F, - 6203: 0x3016, - 6204: 0x3017, - 6205: 0x3010, - 6206: 0x3011, - 6207: 0x00B1, - 6208: 0x00D7, - 6209: 0x00F7, - 6210: 0x2236, - 6211: 0x2227, - 6212: 0x2228, - 6213: 0x2211, - 6214: 0x220F, - 6215: 0x222A, - 6216: 0x2229, - 6217: 0x2208, - 6218: 0x2237, - 6219: 0x221A, - 6220: 0x22A5, - 6221: 0x2225, - 6222: 0x2220, - 6223: 0x2312, - 6224: 0x2299, - 6225: 0x222B, - 6226: 0x222E, - 6227: 0x2261, - 6228: 0x224C, - 6229: 0x2248, - 6230: 0x223D, - 6231: 0x221D, - 6232: 0x2260, - 6233: 0x226E, - 6234: 0x226F, - 6235: 0x2264, - 6236: 0x2265, - 6237: 0x221E, - 6238: 0x2235, - 6239: 0x2234, - 6240: 0x2642, - 6241: 0x2640, - 6242: 0x00B0, - 6243: 0x2032, - 6244: 0x2033, - 6245: 0x2103, - 6246: 0xFF04, - 6247: 0x00A4, - 6248: 0xFFE0, - 6249: 0xFFE1, - 6250: 0x2030, - 6251: 0x00A7, - 6252: 0x2116, - 6253: 0x2606, - 6254: 0x2605, - 6255: 0x25CB, - 6256: 0x25CF, - 6257: 0x25CE, - 6258: 0x25C7, - 6259: 0x25C6, - 6260: 0x25A1, - 6261: 0x25A0, - 6262: 0x25B3, - 6263: 0x25B2, - 6264: 0x203B, - 6265: 0x2192, - 6266: 0x2190, - 6267: 0x2191, - 6268: 0x2193, - 6269: 0x3013, - 6366: 0x2170, - 6367: 0x2171, - 6368: 0x2172, - 6369: 0x2173, - 6370: 0x2174, - 6371: 0x2175, - 6372: 0x2176, - 6373: 0x2177, - 6374: 0x2178, - 6375: 0x2179, - 6382: 0x2488, - 6383: 0x2489, - 6384: 0x248A, - 6385: 0x248B, - 6386: 0x248C, - 6387: 0x248D, - 6388: 0x248E, - 6389: 0x248F, - 6390: 0x2490, - 6391: 0x2491, - 6392: 0x2492, - 6393: 0x2493, - 6394: 0x2494, - 6395: 0x2495, - 6396: 0x2496, - 6397: 0x2497, - 6398: 0x2498, - 6399: 0x2499, - 6400: 0x249A, - 6401: 0x249B, - 6402: 0x2474, - 6403: 0x2475, - 6404: 0x2476, - 6405: 0x2477, - 6406: 0x2478, - 6407: 0x2479, - 6408: 0x247A, - 6409: 0x247B, - 6410: 0x247C, - 6411: 0x247D, - 6412: 0x247E, - 6413: 0x247F, - 6414: 0x2480, - 6415: 0x2481, - 6416: 0x2482, - 6417: 0x2483, - 6418: 0x2484, - 6419: 0x2485, - 6420: 0x2486, - 6421: 0x2487, - 6422: 0x2460, - 6423: 0x2461, - 6424: 0x2462, - 6425: 0x2463, - 6426: 0x2464, - 6427: 0x2465, - 6428: 0x2466, - 6429: 0x2467, - 6430: 0x2468, - 6431: 0x2469, - 6432: 0x20AC, - 6434: 0x3220, - 6435: 0x3221, - 6436: 0x3222, - 6437: 0x3223, - 6438: 0x3224, - 6439: 0x3225, - 6440: 0x3226, - 6441: 0x3227, - 6442: 0x3228, - 6443: 0x3229, - 6446: 0x2160, - 6447: 0x2161, - 6448: 0x2162, - 6449: 0x2163, - 6450: 0x2164, - 6451: 0x2165, - 6452: 0x2166, - 6453: 0x2167, - 6454: 0x2168, - 6455: 0x2169, - 6456: 0x216A, - 6457: 0x216B, - 6555: 0x3000, - 6556: 0xFF01, - 6557: 0xFF02, - 6558: 0xFF03, - 6559: 0xFFE5, - 6560: 0xFF05, - 6561: 0xFF06, - 6562: 0xFF07, - 6563: 0xFF08, - 6564: 0xFF09, - 6565: 0xFF0A, - 6566: 0xFF0B, - 6567: 0xFF0C, - 6568: 0xFF0D, - 6569: 0xFF0E, - 6570: 0xFF0F, - 6571: 0xFF10, - 6572: 0xFF11, - 6573: 0xFF12, - 6574: 0xFF13, - 6575: 0xFF14, - 6576: 0xFF15, - 6577: 0xFF16, - 6578: 0xFF17, - 6579: 0xFF18, - 6580: 0xFF19, - 6581: 0xFF1A, - 6582: 0xFF1B, - 6583: 0xFF1C, - 6584: 0xFF1D, - 6585: 0xFF1E, - 6586: 0xFF1F, - 6587: 0xFF20, - 6588: 0xFF21, - 6589: 0xFF22, - 6590: 0xFF23, - 6591: 0xFF24, - 6592: 0xFF25, - 6593: 0xFF26, - 6594: 0xFF27, - 6595: 0xFF28, - 6596: 0xFF29, - 6597: 0xFF2A, - 6598: 0xFF2B, - 6599: 0xFF2C, - 6600: 0xFF2D, - 6601: 0xFF2E, - 6602: 0xFF2F, - 6603: 0xFF30, - 6604: 0xFF31, - 6605: 0xFF32, - 6606: 0xFF33, - 6607: 0xFF34, - 6608: 0xFF35, - 6609: 0xFF36, - 6610: 0xFF37, - 6611: 0xFF38, - 6612: 0xFF39, - 6613: 0xFF3A, - 6614: 0xFF3B, - 6615: 0xFF3C, - 6616: 0xFF3D, - 6617: 0xFF3E, - 6618: 0xFF3F, - 6619: 0xFF40, - 6620: 0xFF41, - 6621: 0xFF42, - 6622: 0xFF43, - 6623: 0xFF44, - 6624: 0xFF45, - 6625: 0xFF46, - 6626: 0xFF47, - 6627: 0xFF48, - 6628: 0xFF49, - 6629: 0xFF4A, - 6630: 0xFF4B, - 6631: 0xFF4C, - 6632: 0xFF4D, - 6633: 0xFF4E, - 6634: 0xFF4F, - 6635: 0xFF50, - 6636: 0xFF51, - 6637: 0xFF52, - 6638: 0xFF53, - 6639: 0xFF54, - 6640: 0xFF55, - 6641: 0xFF56, - 6642: 0xFF57, - 6643: 0xFF58, - 6644: 0xFF59, - 6645: 0xFF5A, - 6646: 0xFF5B, - 6647: 0xFF5C, - 6648: 0xFF5D, - 6649: 0xFFE3, - 6746: 0x3041, - 6747: 0x3042, - 6748: 0x3043, - 6749: 0x3044, - 6750: 0x3045, - 6751: 0x3046, - 6752: 0x3047, - 6753: 0x3048, - 6754: 0x3049, - 6755: 0x304A, - 6756: 0x304B, - 6757: 0x304C, - 6758: 0x304D, - 6759: 0x304E, - 6760: 0x304F, - 6761: 0x3050, - 6762: 0x3051, - 6763: 0x3052, - 6764: 0x3053, - 6765: 0x3054, - 6766: 0x3055, - 6767: 0x3056, - 6768: 0x3057, - 6769: 0x3058, - 6770: 0x3059, - 6771: 0x305A, - 6772: 0x305B, - 6773: 0x305C, - 6774: 0x305D, - 6775: 0x305E, - 6776: 0x305F, - 6777: 0x3060, - 6778: 0x3061, - 6779: 0x3062, - 6780: 0x3063, - 6781: 0x3064, - 6782: 0x3065, - 6783: 0x3066, - 6784: 0x3067, - 6785: 0x3068, - 6786: 0x3069, - 6787: 0x306A, - 6788: 0x306B, - 6789: 0x306C, - 6790: 0x306D, - 6791: 0x306E, - 6792: 0x306F, - 6793: 0x3070, - 6794: 0x3071, - 6795: 0x3072, - 6796: 0x3073, - 6797: 0x3074, - 6798: 0x3075, - 6799: 0x3076, - 6800: 0x3077, - 6801: 0x3078, - 6802: 0x3079, - 6803: 0x307A, - 6804: 0x307B, - 6805: 0x307C, - 6806: 0x307D, - 6807: 0x307E, - 6808: 0x307F, - 6809: 0x3080, - 6810: 0x3081, - 6811: 0x3082, - 6812: 0x3083, - 6813: 0x3084, - 6814: 0x3085, - 6815: 0x3086, - 6816: 0x3087, - 6817: 0x3088, - 6818: 0x3089, - 6819: 0x308A, - 6820: 0x308B, - 6821: 0x308C, - 6822: 0x308D, - 6823: 0x308E, - 6824: 0x308F, - 6825: 0x3090, - 6826: 0x3091, - 6827: 0x3092, - 6828: 0x3093, - 6936: 0x30A1, - 6937: 0x30A2, - 6938: 0x30A3, - 6939: 0x30A4, - 6940: 0x30A5, - 6941: 0x30A6, - 6942: 0x30A7, - 6943: 0x30A8, - 6944: 0x30A9, - 6945: 0x30AA, - 6946: 0x30AB, - 6947: 0x30AC, - 6948: 0x30AD, - 6949: 0x30AE, - 6950: 0x30AF, - 6951: 0x30B0, - 6952: 0x30B1, - 6953: 0x30B2, - 6954: 0x30B3, - 6955: 0x30B4, - 6956: 0x30B5, - 6957: 0x30B6, - 6958: 0x30B7, - 6959: 0x30B8, - 6960: 0x30B9, - 6961: 0x30BA, - 6962: 0x30BB, - 6963: 0x30BC, - 6964: 0x30BD, - 6965: 0x30BE, - 6966: 0x30BF, - 6967: 0x30C0, - 6968: 0x30C1, - 6969: 0x30C2, - 6970: 0x30C3, - 6971: 0x30C4, - 6972: 0x30C5, - 6973: 0x30C6, - 6974: 0x30C7, - 6975: 0x30C8, - 6976: 0x30C9, - 6977: 0x30CA, - 6978: 0x30CB, - 6979: 0x30CC, - 6980: 0x30CD, - 6981: 0x30CE, - 6982: 0x30CF, - 6983: 0x30D0, - 6984: 0x30D1, - 6985: 0x30D2, - 6986: 0x30D3, - 6987: 0x30D4, - 6988: 0x30D5, - 6989: 0x30D6, - 6990: 0x30D7, - 6991: 0x30D8, - 6992: 0x30D9, - 6993: 0x30DA, - 6994: 0x30DB, - 6995: 0x30DC, - 6996: 0x30DD, - 6997: 0x30DE, - 6998: 0x30DF, - 6999: 0x30E0, - 7000: 0x30E1, - 7001: 0x30E2, - 7002: 0x30E3, - 7003: 0x30E4, - 7004: 0x30E5, - 7005: 0x30E6, - 7006: 0x30E7, - 7007: 0x30E8, - 7008: 0x30E9, - 7009: 0x30EA, - 7010: 0x30EB, - 7011: 0x30EC, - 7012: 0x30ED, - 7013: 0x30EE, - 7014: 0x30EF, - 7015: 0x30F0, - 7016: 0x30F1, - 7017: 0x30F2, - 7018: 0x30F3, - 7019: 0x30F4, - 7020: 0x30F5, - 7021: 0x30F6, - 7126: 0x0391, - 7127: 0x0392, - 7128: 0x0393, - 7129: 0x0394, - 7130: 0x0395, - 7131: 0x0396, - 7132: 0x0397, - 7133: 0x0398, - 7134: 0x0399, - 7135: 0x039A, - 7136: 0x039B, - 7137: 0x039C, - 7138: 0x039D, - 7139: 0x039E, - 7140: 0x039F, - 7141: 0x03A0, - 7142: 0x03A1, - 7143: 0x03A3, - 7144: 0x03A4, - 7145: 0x03A5, - 7146: 0x03A6, - 7147: 0x03A7, - 7148: 0x03A8, - 7149: 0x03A9, - 7158: 0x03B1, - 7159: 0x03B2, - 7160: 0x03B3, - 7161: 0x03B4, - 7162: 0x03B5, - 7163: 0x03B6, - 7164: 0x03B7, - 7165: 0x03B8, - 7166: 0x03B9, - 7167: 0x03BA, - 7168: 0x03BB, - 7169: 0x03BC, - 7170: 0x03BD, - 7171: 0x03BE, - 7172: 0x03BF, - 7173: 0x03C0, - 7174: 0x03C1, - 7175: 0x03C3, - 7176: 0x03C4, - 7177: 0x03C5, - 7178: 0x03C6, - 7179: 0x03C7, - 7180: 0x03C8, - 7181: 0x03C9, - 7189: 0xFE35, - 7190: 0xFE36, - 7191: 0xFE39, - 7192: 0xFE3A, - 7193: 0xFE3F, - 7194: 0xFE40, - 7195: 0xFE3D, - 7196: 0xFE3E, - 7197: 0xFE41, - 7198: 0xFE42, - 7199: 0xFE43, - 7200: 0xFE44, - 7203: 0xFE3B, - 7204: 0xFE3C, - 7205: 0xFE37, - 7206: 0xFE38, - 7207: 0xFE31, - 7209: 0xFE33, - 7210: 0xFE34, - 7316: 0x0410, - 7317: 0x0411, - 7318: 0x0412, - 7319: 0x0413, - 7320: 0x0414, - 7321: 0x0415, - 7322: 0x0401, - 7323: 0x0416, - 7324: 0x0417, - 7325: 0x0418, - 7326: 0x0419, - 7327: 0x041A, - 7328: 0x041B, - 7329: 0x041C, - 7330: 0x041D, - 7331: 0x041E, - 7332: 0x041F, - 7333: 0x0420, - 7334: 0x0421, - 7335: 0x0422, - 7336: 0x0423, - 7337: 0x0424, - 7338: 0x0425, - 7339: 0x0426, - 7340: 0x0427, - 7341: 0x0428, - 7342: 0x0429, - 7343: 0x042A, - 7344: 0x042B, - 7345: 0x042C, - 7346: 0x042D, - 7347: 0x042E, - 7348: 0x042F, - 7364: 0x0430, - 7365: 0x0431, - 7366: 0x0432, - 7367: 0x0433, - 7368: 0x0434, - 7369: 0x0435, - 7370: 0x0451, - 7371: 0x0436, - 7372: 0x0437, - 7373: 0x0438, - 7374: 0x0439, - 7375: 0x043A, - 7376: 0x043B, - 7377: 0x043C, - 7378: 0x043D, - 7379: 0x043E, - 7380: 0x043F, - 7381: 0x0440, - 7382: 0x0441, - 7383: 0x0442, - 7384: 0x0443, - 7385: 0x0444, - 7386: 0x0445, - 7387: 0x0446, - 7388: 0x0447, - 7389: 0x0448, - 7390: 0x0449, - 7391: 0x044A, - 7392: 0x044B, - 7393: 0x044C, - 7394: 0x044D, - 7395: 0x044E, - 7396: 0x044F, - 7410: 0x02CA, - 7411: 0x02CB, - 7412: 0x02D9, - 7413: 0x2013, - 7414: 0x2015, - 7415: 0x2025, - 7416: 0x2035, - 7417: 0x2105, - 7418: 0x2109, - 7419: 0x2196, - 7420: 0x2197, - 7421: 0x2198, - 7422: 0x2199, - 7423: 0x2215, - 7424: 0x221F, - 7425: 0x2223, - 7426: 0x2252, - 7427: 0x2266, - 7428: 0x2267, - 7429: 0x22BF, - 7430: 0x2550, - 7431: 0x2551, - 7432: 0x2552, - 7433: 0x2553, - 7434: 0x2554, - 7435: 0x2555, - 7436: 0x2556, - 7437: 0x2557, - 7438: 0x2558, - 7439: 0x2559, - 7440: 0x255A, - 7441: 0x255B, - 7442: 0x255C, - 7443: 0x255D, - 7444: 0x255E, - 7445: 0x255F, - 7446: 0x2560, - 7447: 0x2561, - 7448: 0x2562, - 7449: 0x2563, - 7450: 0x2564, - 7451: 0x2565, - 7452: 0x2566, - 7453: 0x2567, - 7454: 0x2568, - 7455: 0x2569, - 7456: 0x256A, - 7457: 0x256B, - 7458: 0x256C, - 7459: 0x256D, - 7460: 0x256E, - 7461: 0x256F, - 7462: 0x2570, - 7463: 0x2571, - 7464: 0x2572, - 7465: 0x2573, - 7466: 0x2581, - 7467: 0x2582, - 7468: 0x2583, - 7469: 0x2584, - 7470: 0x2585, - 7471: 0x2586, - 7472: 0x2587, - 7473: 0x2588, - 7474: 0x2589, - 7475: 0x258A, - 7476: 0x258B, - 7477: 0x258C, - 7478: 0x258D, - 7479: 0x258E, - 7480: 0x258F, - 7481: 0x2593, - 7482: 0x2594, - 7483: 0x2595, - 7484: 0x25BC, - 7485: 0x25BD, - 7486: 0x25E2, - 7487: 0x25E3, - 7488: 0x25E4, - 7489: 0x25E5, - 7490: 0x2609, - 7491: 0x2295, - 7492: 0x3012, - 7493: 0x301D, - 7494: 0x301E, - 7506: 0x0101, - 7507: 0x00E1, - 7508: 0x01CE, - 7509: 0x00E0, - 7510: 0x0113, - 7511: 0x00E9, - 7512: 0x011B, - 7513: 0x00E8, - 7514: 0x012B, - 7515: 0x00ED, - 7516: 0x01D0, - 7517: 0x00EC, - 7518: 0x014D, - 7519: 0x00F3, - 7520: 0x01D2, - 7521: 0x00F2, - 7522: 0x016B, - 7523: 0x00FA, - 7524: 0x01D4, - 7525: 0x00F9, - 7526: 0x01D6, - 7527: 0x01D8, - 7528: 0x01DA, - 7529: 0x01DC, - 7530: 0x00FC, - 7531: 0x00EA, - 7532: 0x0251, - 7534: 0x0144, - 7535: 0x0148, - 7536: 0x01F9, - 7537: 0x0261, - 7542: 0x3105, - 7543: 0x3106, - 7544: 0x3107, - 7545: 0x3108, - 7546: 0x3109, - 7547: 0x310A, - 7548: 0x310B, - 7549: 0x310C, - 7550: 0x310D, - 7551: 0x310E, - 7552: 0x310F, - 7553: 0x3110, - 7554: 0x3111, - 7555: 0x3112, - 7556: 0x3113, - 7557: 0x3114, - 7558: 0x3115, - 7559: 0x3116, - 7560: 0x3117, - 7561: 0x3118, - 7562: 0x3119, - 7563: 0x311A, - 7564: 0x311B, - 7565: 0x311C, - 7566: 0x311D, - 7567: 0x311E, - 7568: 0x311F, - 7569: 0x3120, - 7570: 0x3121, - 7571: 0x3122, - 7572: 0x3123, - 7573: 0x3124, - 7574: 0x3125, - 7575: 0x3126, - 7576: 0x3127, - 7577: 0x3128, - 7578: 0x3129, - 7600: 0x3021, - 7601: 0x3022, - 7602: 0x3023, - 7603: 0x3024, - 7604: 0x3025, - 7605: 0x3026, - 7606: 0x3027, - 7607: 0x3028, - 7608: 0x3029, - 7609: 0x32A3, - 7610: 0x338E, - 7611: 0x338F, - 7612: 0x339C, - 7613: 0x339D, - 7614: 0x339E, - 7615: 0x33A1, - 7616: 0x33C4, - 7617: 0x33CE, - 7618: 0x33D1, - 7619: 0x33D2, - 7620: 0x33D5, - 7621: 0xFE30, - 7622: 0xFFE2, - 7623: 0xFFE4, - 7625: 0x2121, - 7626: 0x3231, - 7628: 0x2010, - 7632: 0x30FC, - 7633: 0x309B, - 7634: 0x309C, - 7635: 0x30FD, - 7636: 0x30FE, - 7637: 0x3006, - 7638: 0x309D, - 7639: 0x309E, - 7640: 0xFE49, - 7641: 0xFE4A, - 7642: 0xFE4B, - 7643: 0xFE4C, - 7644: 0xFE4D, - 7645: 0xFE4E, - 7646: 0xFE4F, - 7647: 0xFE50, - 7648: 0xFE51, - 7649: 0xFE52, - 7650: 0xFE54, - 7651: 0xFE55, - 7652: 0xFE56, - 7653: 0xFE57, - 7654: 0xFE59, - 7655: 0xFE5A, - 7656: 0xFE5B, - 7657: 0xFE5C, - 7658: 0xFE5D, - 7659: 0xFE5E, - 7660: 0xFE5F, - 7661: 0xFE60, - 7662: 0xFE61, - 7663: 0xFE62, - 7664: 0xFE63, - 7665: 0xFE64, - 7666: 0xFE65, - 7667: 0xFE66, - 7668: 0xFE68, - 7669: 0xFE69, - 7670: 0xFE6A, - 7671: 0xFE6B, - 7672: 0x303E, - 7673: 0x2FF0, - 7674: 0x2FF1, - 7675: 0x2FF2, - 7676: 0x2FF3, - 7677: 0x2FF4, - 7678: 0x2FF5, - 7679: 0x2FF6, - 7680: 0x2FF7, - 7681: 0x2FF8, - 7682: 0x2FF9, - 7683: 0x2FFA, - 7684: 0x2FFB, - 7685: 0x3007, - 7699: 0x2500, - 7700: 0x2501, - 7701: 0x2502, - 7702: 0x2503, - 7703: 0x2504, - 7704: 0x2505, - 7705: 0x2506, - 7706: 0x2507, - 7707: 0x2508, - 7708: 0x2509, - 7709: 0x250A, - 7710: 0x250B, - 7711: 0x250C, - 7712: 0x250D, - 7713: 0x250E, - 7714: 0x250F, - 7715: 0x2510, - 7716: 0x2511, - 7717: 0x2512, - 7718: 0x2513, - 7719: 0x2514, - 7720: 0x2515, - 7721: 0x2516, - 7722: 0x2517, - 7723: 0x2518, - 7724: 0x2519, - 7725: 0x251A, - 7726: 0x251B, - 7727: 0x251C, - 7728: 0x251D, - 7729: 0x251E, - 7730: 0x251F, - 7731: 0x2520, - 7732: 0x2521, - 7733: 0x2522, - 7734: 0x2523, - 7735: 0x2524, - 7736: 0x2525, - 7737: 0x2526, - 7738: 0x2527, - 7739: 0x2528, - 7740: 0x2529, - 7741: 0x252A, - 7742: 0x252B, - 7743: 0x252C, - 7744: 0x252D, - 7745: 0x252E, - 7746: 0x252F, - 7747: 0x2530, - 7748: 0x2531, - 7749: 0x2532, - 7750: 0x2533, - 7751: 0x2534, - 7752: 0x2535, - 7753: 0x2536, - 7754: 0x2537, - 7755: 0x2538, - 7756: 0x2539, - 7757: 0x253A, - 7758: 0x253B, - 7759: 0x253C, - 7760: 0x253D, - 7761: 0x253E, - 7762: 0x253F, - 7763: 0x2540, - 7764: 0x2541, - 7765: 0x2542, - 7766: 0x2543, - 7767: 0x2544, - 7768: 0x2545, - 7769: 0x2546, - 7770: 0x2547, - 7771: 0x2548, - 7772: 0x2549, - 7773: 0x254A, - 7774: 0x254B, - 7790: 0x72DC, - 7791: 0x72DD, - 7792: 0x72DF, - 7793: 0x72E2, - 7794: 0x72E3, - 7795: 0x72E4, - 7796: 0x72E5, - 7797: 0x72E6, - 7798: 0x72E7, - 7799: 0x72EA, - 7800: 0x72EB, - 7801: 0x72F5, - 7802: 0x72F6, - 7803: 0x72F9, - 7804: 0x72FD, - 7805: 0x72FE, - 7806: 0x72FF, - 7807: 0x7300, - 7808: 0x7302, - 7809: 0x7304, - 7810: 0x7305, - 7811: 0x7306, - 7812: 0x7307, - 7813: 0x7308, - 7814: 0x7309, - 7815: 0x730B, - 7816: 0x730C, - 7817: 0x730D, - 7818: 0x730F, - 7819: 0x7310, - 7820: 0x7311, - 7821: 0x7312, - 7822: 0x7314, - 7823: 0x7318, - 7824: 0x7319, - 7825: 0x731A, - 7826: 0x731F, - 7827: 0x7320, - 7828: 0x7323, - 7829: 0x7324, - 7830: 0x7326, - 7831: 0x7327, - 7832: 0x7328, - 7833: 0x732D, - 7834: 0x732F, - 7835: 0x7330, - 7836: 0x7332, - 7837: 0x7333, - 7838: 0x7335, - 7839: 0x7336, - 7840: 0x733A, - 7841: 0x733B, - 7842: 0x733C, - 7843: 0x733D, - 7844: 0x7340, - 7845: 0x7341, - 7846: 0x7342, - 7847: 0x7343, - 7848: 0x7344, - 7849: 0x7345, - 7850: 0x7346, - 7851: 0x7347, - 7852: 0x7348, - 7853: 0x7349, - 7854: 0x734A, - 7855: 0x734B, - 7856: 0x734C, - 7857: 0x734E, - 7858: 0x734F, - 7859: 0x7351, - 7860: 0x7353, - 7861: 0x7354, - 7862: 0x7355, - 7863: 0x7356, - 7864: 0x7358, - 7865: 0x7359, - 7866: 0x735A, - 7867: 0x735B, - 7868: 0x735C, - 7869: 0x735D, - 7870: 0x735E, - 7871: 0x735F, - 7872: 0x7361, - 7873: 0x7362, - 7874: 0x7363, - 7875: 0x7364, - 7876: 0x7365, - 7877: 0x7366, - 7878: 0x7367, - 7879: 0x7368, - 7880: 0x7369, - 7881: 0x736A, - 7882: 0x736B, - 7883: 0x736E, - 7884: 0x7370, - 7885: 0x7371, - 7980: 0x7372, - 7981: 0x7373, - 7982: 0x7374, - 7983: 0x7375, - 7984: 0x7376, - 7985: 0x7377, - 7986: 0x7378, - 7987: 0x7379, - 7988: 0x737A, - 7989: 0x737B, - 7990: 0x737C, - 7991: 0x737D, - 7992: 0x737F, - 7993: 0x7380, - 7994: 0x7381, - 7995: 0x7382, - 7996: 0x7383, - 7997: 0x7385, - 7998: 0x7386, - 7999: 0x7388, - 8000: 0x738A, - 8001: 0x738C, - 8002: 0x738D, - 8003: 0x738F, - 8004: 0x7390, - 8005: 0x7392, - 8006: 0x7393, - 8007: 0x7394, - 8008: 0x7395, - 8009: 0x7397, - 8010: 0x7398, - 8011: 0x7399, - 8012: 0x739A, - 8013: 0x739C, - 8014: 0x739D, - 8015: 0x739E, - 8016: 0x73A0, - 8017: 0x73A1, - 8018: 0x73A3, - 8019: 0x73A4, - 8020: 0x73A5, - 8021: 0x73A6, - 8022: 0x73A7, - 8023: 0x73A8, - 8024: 0x73AA, - 8025: 0x73AC, - 8026: 0x73AD, - 8027: 0x73B1, - 8028: 0x73B4, - 8029: 0x73B5, - 8030: 0x73B6, - 8031: 0x73B8, - 8032: 0x73B9, - 8033: 0x73BC, - 8034: 0x73BD, - 8035: 0x73BE, - 8036: 0x73BF, - 8037: 0x73C1, - 8038: 0x73C3, - 8039: 0x73C4, - 8040: 0x73C5, - 8041: 0x73C6, - 8042: 0x73C7, - 8043: 0x73CB, - 8044: 0x73CC, - 8045: 0x73CE, - 8046: 0x73D2, - 8047: 0x73D3, - 8048: 0x73D4, - 8049: 0x73D5, - 8050: 0x73D6, - 8051: 0x73D7, - 8052: 0x73D8, - 8053: 0x73DA, - 8054: 0x73DB, - 8055: 0x73DC, - 8056: 0x73DD, - 8057: 0x73DF, - 8058: 0x73E1, - 8059: 0x73E2, - 8060: 0x73E3, - 8061: 0x73E4, - 8062: 0x73E6, - 8063: 0x73E8, - 8064: 0x73EA, - 8065: 0x73EB, - 8066: 0x73EC, - 8067: 0x73EE, - 8068: 0x73EF, - 8069: 0x73F0, - 8070: 0x73F1, - 8071: 0x73F3, - 8072: 0x73F4, - 8073: 0x73F5, - 8074: 0x73F6, - 8075: 0x73F7, - 8170: 0x73F8, - 8171: 0x73F9, - 8172: 0x73FA, - 8173: 0x73FB, - 8174: 0x73FC, - 8175: 0x73FD, - 8176: 0x73FE, - 8177: 0x73FF, - 8178: 0x7400, - 8179: 0x7401, - 8180: 0x7402, - 8181: 0x7404, - 8182: 0x7407, - 8183: 0x7408, - 8184: 0x740B, - 8185: 0x740C, - 8186: 0x740D, - 8187: 0x740E, - 8188: 0x7411, - 8189: 0x7412, - 8190: 0x7413, - 8191: 0x7414, - 8192: 0x7415, - 8193: 0x7416, - 8194: 0x7417, - 8195: 0x7418, - 8196: 0x7419, - 8197: 0x741C, - 8198: 0x741D, - 8199: 0x741E, - 8200: 0x741F, - 8201: 0x7420, - 8202: 0x7421, - 8203: 0x7423, - 8204: 0x7424, - 8205: 0x7427, - 8206: 0x7429, - 8207: 0x742B, - 8208: 0x742D, - 8209: 0x742F, - 8210: 0x7431, - 8211: 0x7432, - 8212: 0x7437, - 8213: 0x7438, - 8214: 0x7439, - 8215: 0x743A, - 8216: 0x743B, - 8217: 0x743D, - 8218: 0x743E, - 8219: 0x743F, - 8220: 0x7440, - 8221: 0x7442, - 8222: 0x7443, - 8223: 0x7444, - 8224: 0x7445, - 8225: 0x7446, - 8226: 0x7447, - 8227: 0x7448, - 8228: 0x7449, - 8229: 0x744A, - 8230: 0x744B, - 8231: 0x744C, - 8232: 0x744D, - 8233: 0x744E, - 8234: 0x744F, - 8235: 0x7450, - 8236: 0x7451, - 8237: 0x7452, - 8238: 0x7453, - 8239: 0x7454, - 8240: 0x7456, - 8241: 0x7458, - 8242: 0x745D, - 8243: 0x7460, - 8244: 0x7461, - 8245: 0x7462, - 8246: 0x7463, - 8247: 0x7464, - 8248: 0x7465, - 8249: 0x7466, - 8250: 0x7467, - 8251: 0x7468, - 8252: 0x7469, - 8253: 0x746A, - 8254: 0x746B, - 8255: 0x746C, - 8256: 0x746E, - 8257: 0x746F, - 8258: 0x7471, - 8259: 0x7472, - 8260: 0x7473, - 8261: 0x7474, - 8262: 0x7475, - 8263: 0x7478, - 8264: 0x7479, - 8265: 0x747A, - 8360: 0x747B, - 8361: 0x747C, - 8362: 0x747D, - 8363: 0x747F, - 8364: 0x7482, - 8365: 0x7484, - 8366: 0x7485, - 8367: 0x7486, - 8368: 0x7488, - 8369: 0x7489, - 8370: 0x748A, - 8371: 0x748C, - 8372: 0x748D, - 8373: 0x748F, - 8374: 0x7491, - 8375: 0x7492, - 8376: 0x7493, - 8377: 0x7494, - 8378: 0x7495, - 8379: 0x7496, - 8380: 0x7497, - 8381: 0x7498, - 8382: 0x7499, - 8383: 0x749A, - 8384: 0x749B, - 8385: 0x749D, - 8386: 0x749F, - 8387: 0x74A0, - 8388: 0x74A1, - 8389: 0x74A2, - 8390: 0x74A3, - 8391: 0x74A4, - 8392: 0x74A5, - 8393: 0x74A6, - 8394: 0x74AA, - 8395: 0x74AB, - 8396: 0x74AC, - 8397: 0x74AD, - 8398: 0x74AE, - 8399: 0x74AF, - 8400: 0x74B0, - 8401: 0x74B1, - 8402: 0x74B2, - 8403: 0x74B3, - 8404: 0x74B4, - 8405: 0x74B5, - 8406: 0x74B6, - 8407: 0x74B7, - 8408: 0x74B8, - 8409: 0x74B9, - 8410: 0x74BB, - 8411: 0x74BC, - 8412: 0x74BD, - 8413: 0x74BE, - 8414: 0x74BF, - 8415: 0x74C0, - 8416: 0x74C1, - 8417: 0x74C2, - 8418: 0x74C3, - 8419: 0x74C4, - 8420: 0x74C5, - 8421: 0x74C6, - 8422: 0x74C7, - 8423: 0x74C8, - 8424: 0x74C9, - 8425: 0x74CA, - 8426: 0x74CB, - 8427: 0x74CC, - 8428: 0x74CD, - 8429: 0x74CE, - 8430: 0x74CF, - 8431: 0x74D0, - 8432: 0x74D1, - 8433: 0x74D3, - 8434: 0x74D4, - 8435: 0x74D5, - 8436: 0x74D6, - 8437: 0x74D7, - 8438: 0x74D8, - 8439: 0x74D9, - 8440: 0x74DA, - 8441: 0x74DB, - 8442: 0x74DD, - 8443: 0x74DF, - 8444: 0x74E1, - 8445: 0x74E5, - 8446: 0x74E7, - 8447: 0x74E8, - 8448: 0x74E9, - 8449: 0x74EA, - 8450: 0x74EB, - 8451: 0x74EC, - 8452: 0x74ED, - 8453: 0x74F0, - 8454: 0x74F1, - 8455: 0x74F2, - 8550: 0x74F3, - 8551: 0x74F5, - 8552: 0x74F8, - 8553: 0x74F9, - 8554: 0x74FA, - 8555: 0x74FB, - 8556: 0x74FC, - 8557: 0x74FD, - 8558: 0x74FE, - 8559: 0x7500, - 8560: 0x7501, - 8561: 0x7502, - 8562: 0x7503, - 8563: 0x7505, - 8564: 0x7506, - 8565: 0x7507, - 8566: 0x7508, - 8567: 0x7509, - 8568: 0x750A, - 8569: 0x750B, - 8570: 0x750C, - 8571: 0x750E, - 8572: 0x7510, - 8573: 0x7512, - 8574: 0x7514, - 8575: 0x7515, - 8576: 0x7516, - 8577: 0x7517, - 8578: 0x751B, - 8579: 0x751D, - 8580: 0x751E, - 8581: 0x7520, - 8582: 0x7521, - 8583: 0x7522, - 8584: 0x7523, - 8585: 0x7524, - 8586: 0x7526, - 8587: 0x7527, - 8588: 0x752A, - 8589: 0x752E, - 8590: 0x7534, - 8591: 0x7536, - 8592: 0x7539, - 8593: 0x753C, - 8594: 0x753D, - 8595: 0x753F, - 8596: 0x7541, - 8597: 0x7542, - 8598: 0x7543, - 8599: 0x7544, - 8600: 0x7546, - 8601: 0x7547, - 8602: 0x7549, - 8603: 0x754A, - 8604: 0x754D, - 8605: 0x7550, - 8606: 0x7551, - 8607: 0x7552, - 8608: 0x7553, - 8609: 0x7555, - 8610: 0x7556, - 8611: 0x7557, - 8612: 0x7558, - 8613: 0x755D, - 8614: 0x755E, - 8615: 0x755F, - 8616: 0x7560, - 8617: 0x7561, - 8618: 0x7562, - 8619: 0x7563, - 8620: 0x7564, - 8621: 0x7567, - 8622: 0x7568, - 8623: 0x7569, - 8624: 0x756B, - 8625: 0x756C, - 8626: 0x756D, - 8627: 0x756E, - 8628: 0x756F, - 8629: 0x7570, - 8630: 0x7571, - 8631: 0x7573, - 8632: 0x7575, - 8633: 0x7576, - 8634: 0x7577, - 8635: 0x757A, - 8636: 0x757B, - 8637: 0x757C, - 8638: 0x757D, - 8639: 0x757E, - 8640: 0x7580, - 8641: 0x7581, - 8642: 0x7582, - 8643: 0x7584, - 8644: 0x7585, - 8645: 0x7587, - 8740: 0x7588, - 8741: 0x7589, - 8742: 0x758A, - 8743: 0x758C, - 8744: 0x758D, - 8745: 0x758E, - 8746: 0x7590, - 8747: 0x7593, - 8748: 0x7595, - 8749: 0x7598, - 8750: 0x759B, - 8751: 0x759C, - 8752: 0x759E, - 8753: 0x75A2, - 8754: 0x75A6, - 8755: 0x75A7, - 8756: 0x75A8, - 8757: 0x75A9, - 8758: 0x75AA, - 8759: 0x75AD, - 8760: 0x75B6, - 8761: 0x75B7, - 8762: 0x75BA, - 8763: 0x75BB, - 8764: 0x75BF, - 8765: 0x75C0, - 8766: 0x75C1, - 8767: 0x75C6, - 8768: 0x75CB, - 8769: 0x75CC, - 8770: 0x75CE, - 8771: 0x75CF, - 8772: 0x75D0, - 8773: 0x75D1, - 8774: 0x75D3, - 8775: 0x75D7, - 8776: 0x75D9, - 8777: 0x75DA, - 8778: 0x75DC, - 8779: 0x75DD, - 8780: 0x75DF, - 8781: 0x75E0, - 8782: 0x75E1, - 8783: 0x75E5, - 8784: 0x75E9, - 8785: 0x75EC, - 8786: 0x75ED, - 8787: 0x75EE, - 8788: 0x75EF, - 8789: 0x75F2, - 8790: 0x75F3, - 8791: 0x75F5, - 8792: 0x75F6, - 8793: 0x75F7, - 8794: 0x75F8, - 8795: 0x75FA, - 8796: 0x75FB, - 8797: 0x75FD, - 8798: 0x75FE, - 8799: 0x7602, - 8800: 0x7604, - 8801: 0x7606, - 8802: 0x7607, - 8803: 0x7608, - 8804: 0x7609, - 8805: 0x760B, - 8806: 0x760D, - 8807: 0x760E, - 8808: 0x760F, - 8809: 0x7611, - 8810: 0x7612, - 8811: 0x7613, - 8812: 0x7614, - 8813: 0x7616, - 8814: 0x761A, - 8815: 0x761C, - 8816: 0x761D, - 8817: 0x761E, - 8818: 0x7621, - 8819: 0x7623, - 8820: 0x7627, - 8821: 0x7628, - 8822: 0x762C, - 8823: 0x762E, - 8824: 0x762F, - 8825: 0x7631, - 8826: 0x7632, - 8827: 0x7636, - 8828: 0x7637, - 8829: 0x7639, - 8830: 0x763A, - 8831: 0x763B, - 8832: 0x763D, - 8833: 0x7641, - 8834: 0x7642, - 8835: 0x7644, - 8930: 0x7645, - 8931: 0x7646, - 8932: 0x7647, - 8933: 0x7648, - 8934: 0x7649, - 8935: 0x764A, - 8936: 0x764B, - 8937: 0x764E, - 8938: 0x764F, - 8939: 0x7650, - 8940: 0x7651, - 8941: 0x7652, - 8942: 0x7653, - 8943: 0x7655, - 8944: 0x7657, - 8945: 0x7658, - 8946: 0x7659, - 8947: 0x765A, - 8948: 0x765B, - 8949: 0x765D, - 8950: 0x765F, - 8951: 0x7660, - 8952: 0x7661, - 8953: 0x7662, - 8954: 0x7664, - 8955: 0x7665, - 8956: 0x7666, - 8957: 0x7667, - 8958: 0x7668, - 8959: 0x7669, - 8960: 0x766A, - 8961: 0x766C, - 8962: 0x766D, - 8963: 0x766E, - 8964: 0x7670, - 8965: 0x7671, - 8966: 0x7672, - 8967: 0x7673, - 8968: 0x7674, - 8969: 0x7675, - 8970: 0x7676, - 8971: 0x7677, - 8972: 0x7679, - 8973: 0x767A, - 8974: 0x767C, - 8975: 0x767F, - 8976: 0x7680, - 8977: 0x7681, - 8978: 0x7683, - 8979: 0x7685, - 8980: 0x7689, - 8981: 0x768A, - 8982: 0x768C, - 8983: 0x768D, - 8984: 0x768F, - 8985: 0x7690, - 8986: 0x7692, - 8987: 0x7694, - 8988: 0x7695, - 8989: 0x7697, - 8990: 0x7698, - 8991: 0x769A, - 8992: 0x769B, - 8993: 0x769C, - 8994: 0x769D, - 8995: 0x769E, - 8996: 0x769F, - 8997: 0x76A0, - 8998: 0x76A1, - 8999: 0x76A2, - 9000: 0x76A3, - 9001: 0x76A5, - 9002: 0x76A6, - 9003: 0x76A7, - 9004: 0x76A8, - 9005: 0x76A9, - 9006: 0x76AA, - 9007: 0x76AB, - 9008: 0x76AC, - 9009: 0x76AD, - 9010: 0x76AF, - 9011: 0x76B0, - 9012: 0x76B3, - 9013: 0x76B5, - 9014: 0x76B6, - 9015: 0x76B7, - 9016: 0x76B8, - 9017: 0x76B9, - 9018: 0x76BA, - 9019: 0x76BB, - 9020: 0x76BC, - 9021: 0x76BD, - 9022: 0x76BE, - 9023: 0x76C0, - 9024: 0x76C1, - 9025: 0x76C3, - 9026: 0x554A, - 9027: 0x963F, - 9028: 0x57C3, - 9029: 0x6328, - 9030: 0x54CE, - 9031: 0x5509, - 9032: 0x54C0, - 9033: 0x7691, - 9034: 0x764C, - 9035: 0x853C, - 9036: 0x77EE, - 9037: 0x827E, - 9038: 0x788D, - 9039: 0x7231, - 9040: 0x9698, - 9041: 0x978D, - 9042: 0x6C28, - 9043: 0x5B89, - 9044: 0x4FFA, - 9045: 0x6309, - 9046: 0x6697, - 9047: 0x5CB8, - 9048: 0x80FA, - 9049: 0x6848, - 9050: 0x80AE, - 9051: 0x6602, - 9052: 0x76CE, - 9053: 0x51F9, - 9054: 0x6556, - 9055: 0x71AC, - 9056: 0x7FF1, - 9057: 0x8884, - 9058: 0x50B2, - 9059: 0x5965, - 9060: 0x61CA, - 9061: 0x6FB3, - 9062: 0x82AD, - 9063: 0x634C, - 9064: 0x6252, - 9065: 0x53ED, - 9066: 0x5427, - 9067: 0x7B06, - 9068: 0x516B, - 9069: 0x75A4, - 9070: 0x5DF4, - 9071: 0x62D4, - 9072: 0x8DCB, - 9073: 0x9776, - 9074: 0x628A, - 9075: 0x8019, - 9076: 0x575D, - 9077: 0x9738, - 9078: 0x7F62, - 9079: 0x7238, - 9080: 0x767D, - 9081: 0x67CF, - 9082: 0x767E, - 9083: 0x6446, - 9084: 0x4F70, - 9085: 0x8D25, - 9086: 0x62DC, - 9087: 0x7A17, - 9088: 0x6591, - 9089: 0x73ED, - 9090: 0x642C, - 9091: 0x6273, - 9092: 0x822C, - 9093: 0x9881, - 9094: 0x677F, - 9095: 0x7248, - 9096: 0x626E, - 9097: 0x62CC, - 9098: 0x4F34, - 9099: 0x74E3, - 9100: 0x534A, - 9101: 0x529E, - 9102: 0x7ECA, - 9103: 0x90A6, - 9104: 0x5E2E, - 9105: 0x6886, - 9106: 0x699C, - 9107: 0x8180, - 9108: 0x7ED1, - 9109: 0x68D2, - 9110: 0x78C5, - 9111: 0x868C, - 9112: 0x9551, - 9113: 0x508D, - 9114: 0x8C24, - 9115: 0x82DE, - 9116: 0x80DE, - 9117: 0x5305, - 9118: 0x8912, - 9119: 0x5265, - 9120: 0x76C4, - 9121: 0x76C7, - 9122: 0x76C9, - 9123: 0x76CB, - 9124: 0x76CC, - 9125: 0x76D3, - 9126: 0x76D5, - 9127: 0x76D9, - 9128: 0x76DA, - 9129: 0x76DC, - 9130: 0x76DD, - 9131: 0x76DE, - 9132: 0x76E0, - 9133: 0x76E1, - 9134: 0x76E2, - 9135: 0x76E3, - 9136: 0x76E4, - 9137: 0x76E6, - 9138: 0x76E7, - 9139: 0x76E8, - 9140: 0x76E9, - 9141: 0x76EA, - 9142: 0x76EB, - 9143: 0x76EC, - 9144: 0x76ED, - 9145: 0x76F0, - 9146: 0x76F3, - 9147: 0x76F5, - 9148: 0x76F6, - 9149: 0x76F7, - 9150: 0x76FA, - 9151: 0x76FB, - 9152: 0x76FD, - 9153: 0x76FF, - 9154: 0x7700, - 9155: 0x7702, - 9156: 0x7703, - 9157: 0x7705, - 9158: 0x7706, - 9159: 0x770A, - 9160: 0x770C, - 9161: 0x770E, - 9162: 0x770F, - 9163: 0x7710, - 9164: 0x7711, - 9165: 0x7712, - 9166: 0x7713, - 9167: 0x7714, - 9168: 0x7715, - 9169: 0x7716, - 9170: 0x7717, - 9171: 0x7718, - 9172: 0x771B, - 9173: 0x771C, - 9174: 0x771D, - 9175: 0x771E, - 9176: 0x7721, - 9177: 0x7723, - 9178: 0x7724, - 9179: 0x7725, - 9180: 0x7727, - 9181: 0x772A, - 9182: 0x772B, - 9183: 0x772C, - 9184: 0x772E, - 9185: 0x7730, - 9186: 0x7731, - 9187: 0x7732, - 9188: 0x7733, - 9189: 0x7734, - 9190: 0x7739, - 9191: 0x773B, - 9192: 0x773D, - 9193: 0x773E, - 9194: 0x773F, - 9195: 0x7742, - 9196: 0x7744, - 9197: 0x7745, - 9198: 0x7746, - 9199: 0x7748, - 9200: 0x7749, - 9201: 0x774A, - 9202: 0x774B, - 9203: 0x774C, - 9204: 0x774D, - 9205: 0x774E, - 9206: 0x774F, - 9207: 0x7752, - 9208: 0x7753, - 9209: 0x7754, - 9210: 0x7755, - 9211: 0x7756, - 9212: 0x7757, - 9213: 0x7758, - 9214: 0x7759, - 9215: 0x775C, - 9216: 0x8584, - 9217: 0x96F9, - 9218: 0x4FDD, - 9219: 0x5821, - 9220: 0x9971, - 9221: 0x5B9D, - 9222: 0x62B1, - 9223: 0x62A5, - 9224: 0x66B4, - 9225: 0x8C79, - 9226: 0x9C8D, - 9227: 0x7206, - 9228: 0x676F, - 9229: 0x7891, - 9230: 0x60B2, - 9231: 0x5351, - 9232: 0x5317, - 9233: 0x8F88, - 9234: 0x80CC, - 9235: 0x8D1D, - 9236: 0x94A1, - 9237: 0x500D, - 9238: 0x72C8, - 9239: 0x5907, - 9240: 0x60EB, - 9241: 0x7119, - 9242: 0x88AB, - 9243: 0x5954, - 9244: 0x82EF, - 9245: 0x672C, - 9246: 0x7B28, - 9247: 0x5D29, - 9248: 0x7EF7, - 9249: 0x752D, - 9250: 0x6CF5, - 9251: 0x8E66, - 9252: 0x8FF8, - 9253: 0x903C, - 9254: 0x9F3B, - 9255: 0x6BD4, - 9256: 0x9119, - 9257: 0x7B14, - 9258: 0x5F7C, - 9259: 0x78A7, - 9260: 0x84D6, - 9261: 0x853D, - 9262: 0x6BD5, - 9263: 0x6BD9, - 9264: 0x6BD6, - 9265: 0x5E01, - 9266: 0x5E87, - 9267: 0x75F9, - 9268: 0x95ED, - 9269: 0x655D, - 9270: 0x5F0A, - 9271: 0x5FC5, - 9272: 0x8F9F, - 9273: 0x58C1, - 9274: 0x81C2, - 9275: 0x907F, - 9276: 0x965B, - 9277: 0x97AD, - 9278: 0x8FB9, - 9279: 0x7F16, - 9280: 0x8D2C, - 9281: 0x6241, - 9282: 0x4FBF, - 9283: 0x53D8, - 9284: 0x535E, - 9285: 0x8FA8, - 9286: 0x8FA9, - 9287: 0x8FAB, - 9288: 0x904D, - 9289: 0x6807, - 9290: 0x5F6A, - 9291: 0x8198, - 9292: 0x8868, - 9293: 0x9CD6, - 9294: 0x618B, - 9295: 0x522B, - 9296: 0x762A, - 9297: 0x5F6C, - 9298: 0x658C, - 9299: 0x6FD2, - 9300: 0x6EE8, - 9301: 0x5BBE, - 9302: 0x6448, - 9303: 0x5175, - 9304: 0x51B0, - 9305: 0x67C4, - 9306: 0x4E19, - 9307: 0x79C9, - 9308: 0x997C, - 9309: 0x70B3, - 9310: 0x775D, - 9311: 0x775E, - 9312: 0x775F, - 9313: 0x7760, - 9314: 0x7764, - 9315: 0x7767, - 9316: 0x7769, - 9317: 0x776A, - 9318: 0x776D, - 9319: 0x776E, - 9320: 0x776F, - 9321: 0x7770, - 9322: 0x7771, - 9323: 0x7772, - 9324: 0x7773, - 9325: 0x7774, - 9326: 0x7775, - 9327: 0x7776, - 9328: 0x7777, - 9329: 0x7778, - 9330: 0x777A, - 9331: 0x777B, - 9332: 0x777C, - 9333: 0x7781, - 9334: 0x7782, - 9335: 0x7783, - 9336: 0x7786, - 9337: 0x7787, - 9338: 0x7788, - 9339: 0x7789, - 9340: 0x778A, - 9341: 0x778B, - 9342: 0x778F, - 9343: 0x7790, - 9344: 0x7793, - 9345: 0x7794, - 9346: 0x7795, - 9347: 0x7796, - 9348: 0x7797, - 9349: 0x7798, - 9350: 0x7799, - 9351: 0x779A, - 9352: 0x779B, - 9353: 0x779C, - 9354: 0x779D, - 9355: 0x779E, - 9356: 0x77A1, - 9357: 0x77A3, - 9358: 0x77A4, - 9359: 0x77A6, - 9360: 0x77A8, - 9361: 0x77AB, - 9362: 0x77AD, - 9363: 0x77AE, - 9364: 0x77AF, - 9365: 0x77B1, - 9366: 0x77B2, - 9367: 0x77B4, - 9368: 0x77B6, - 9369: 0x77B7, - 9370: 0x77B8, - 9371: 0x77B9, - 9372: 0x77BA, - 9373: 0x77BC, - 9374: 0x77BE, - 9375: 0x77C0, - 9376: 0x77C1, - 9377: 0x77C2, - 9378: 0x77C3, - 9379: 0x77C4, - 9380: 0x77C5, - 9381: 0x77C6, - 9382: 0x77C7, - 9383: 0x77C8, - 9384: 0x77C9, - 9385: 0x77CA, - 9386: 0x77CB, - 9387: 0x77CC, - 9388: 0x77CE, - 9389: 0x77CF, - 9390: 0x77D0, - 9391: 0x77D1, - 9392: 0x77D2, - 9393: 0x77D3, - 9394: 0x77D4, - 9395: 0x77D5, - 9396: 0x77D6, - 9397: 0x77D8, - 9398: 0x77D9, - 9399: 0x77DA, - 9400: 0x77DD, - 9401: 0x77DE, - 9402: 0x77DF, - 9403: 0x77E0, - 9404: 0x77E1, - 9405: 0x77E4, - 9406: 0x75C5, - 9407: 0x5E76, - 9408: 0x73BB, - 9409: 0x83E0, - 9410: 0x64AD, - 9411: 0x62E8, - 9412: 0x94B5, - 9413: 0x6CE2, - 9414: 0x535A, - 9415: 0x52C3, - 9416: 0x640F, - 9417: 0x94C2, - 9418: 0x7B94, - 9419: 0x4F2F, - 9420: 0x5E1B, - 9421: 0x8236, - 9422: 0x8116, - 9423: 0x818A, - 9424: 0x6E24, - 9425: 0x6CCA, - 9426: 0x9A73, - 9427: 0x6355, - 9428: 0x535C, - 9429: 0x54FA, - 9430: 0x8865, - 9431: 0x57E0, - 9432: 0x4E0D, - 9433: 0x5E03, - 9434: 0x6B65, - 9435: 0x7C3F, - 9436: 0x90E8, - 9437: 0x6016, - 9438: 0x64E6, - 9439: 0x731C, - 9440: 0x88C1, - 9441: 0x6750, - 9442: 0x624D, - 9443: 0x8D22, - 9444: 0x776C, - 9445: 0x8E29, - 9446: 0x91C7, - 9447: 0x5F69, - 9448: 0x83DC, - 9449: 0x8521, - 9450: 0x9910, - 9451: 0x53C2, - 9452: 0x8695, - 9453: 0x6B8B, - 9454: 0x60ED, - 9455: 0x60E8, - 9456: 0x707F, - 9457: 0x82CD, - 9458: 0x8231, - 9459: 0x4ED3, - 9460: 0x6CA7, - 9461: 0x85CF, - 9462: 0x64CD, - 9463: 0x7CD9, - 9464: 0x69FD, - 9465: 0x66F9, - 9466: 0x8349, - 9467: 0x5395, - 9468: 0x7B56, - 9469: 0x4FA7, - 9470: 0x518C, - 9471: 0x6D4B, - 9472: 0x5C42, - 9473: 0x8E6D, - 9474: 0x63D2, - 9475: 0x53C9, - 9476: 0x832C, - 9477: 0x8336, - 9478: 0x67E5, - 9479: 0x78B4, - 9480: 0x643D, - 9481: 0x5BDF, - 9482: 0x5C94, - 9483: 0x5DEE, - 9484: 0x8BE7, - 9485: 0x62C6, - 9486: 0x67F4, - 9487: 0x8C7A, - 9488: 0x6400, - 9489: 0x63BA, - 9490: 0x8749, - 9491: 0x998B, - 9492: 0x8C17, - 9493: 0x7F20, - 9494: 0x94F2, - 9495: 0x4EA7, - 9496: 0x9610, - 9497: 0x98A4, - 9498: 0x660C, - 9499: 0x7316, - 9500: 0x77E6, - 9501: 0x77E8, - 9502: 0x77EA, - 9503: 0x77EF, - 9504: 0x77F0, - 9505: 0x77F1, - 9506: 0x77F2, - 9507: 0x77F4, - 9508: 0x77F5, - 9509: 0x77F7, - 9510: 0x77F9, - 9511: 0x77FA, - 9512: 0x77FB, - 9513: 0x77FC, - 9514: 0x7803, - 9515: 0x7804, - 9516: 0x7805, - 9517: 0x7806, - 9518: 0x7807, - 9519: 0x7808, - 9520: 0x780A, - 9521: 0x780B, - 9522: 0x780E, - 9523: 0x780F, - 9524: 0x7810, - 9525: 0x7813, - 9526: 0x7815, - 9527: 0x7819, - 9528: 0x781B, - 9529: 0x781E, - 9530: 0x7820, - 9531: 0x7821, - 9532: 0x7822, - 9533: 0x7824, - 9534: 0x7828, - 9535: 0x782A, - 9536: 0x782B, - 9537: 0x782E, - 9538: 0x782F, - 9539: 0x7831, - 9540: 0x7832, - 9541: 0x7833, - 9542: 0x7835, - 9543: 0x7836, - 9544: 0x783D, - 9545: 0x783F, - 9546: 0x7841, - 9547: 0x7842, - 9548: 0x7843, - 9549: 0x7844, - 9550: 0x7846, - 9551: 0x7848, - 9552: 0x7849, - 9553: 0x784A, - 9554: 0x784B, - 9555: 0x784D, - 9556: 0x784F, - 9557: 0x7851, - 9558: 0x7853, - 9559: 0x7854, - 9560: 0x7858, - 9561: 0x7859, - 9562: 0x785A, - 9563: 0x785B, - 9564: 0x785C, - 9565: 0x785E, - 9566: 0x785F, - 9567: 0x7860, - 9568: 0x7861, - 9569: 0x7862, - 9570: 0x7863, - 9571: 0x7864, - 9572: 0x7865, - 9573: 0x7866, - 9574: 0x7867, - 9575: 0x7868, - 9576: 0x7869, - 9577: 0x786F, - 9578: 0x7870, - 9579: 0x7871, - 9580: 0x7872, - 9581: 0x7873, - 9582: 0x7874, - 9583: 0x7875, - 9584: 0x7876, - 9585: 0x7878, - 9586: 0x7879, - 9587: 0x787A, - 9588: 0x787B, - 9589: 0x787D, - 9590: 0x787E, - 9591: 0x787F, - 9592: 0x7880, - 9593: 0x7881, - 9594: 0x7882, - 9595: 0x7883, - 9596: 0x573A, - 9597: 0x5C1D, - 9598: 0x5E38, - 9599: 0x957F, - 9600: 0x507F, - 9601: 0x80A0, - 9602: 0x5382, - 9603: 0x655E, - 9604: 0x7545, - 9605: 0x5531, - 9606: 0x5021, - 9607: 0x8D85, - 9608: 0x6284, - 9609: 0x949E, - 9610: 0x671D, - 9611: 0x5632, - 9612: 0x6F6E, - 9613: 0x5DE2, - 9614: 0x5435, - 9615: 0x7092, - 9616: 0x8F66, - 9617: 0x626F, - 9618: 0x64A4, - 9619: 0x63A3, - 9620: 0x5F7B, - 9621: 0x6F88, - 9622: 0x90F4, - 9623: 0x81E3, - 9624: 0x8FB0, - 9625: 0x5C18, - 9626: 0x6668, - 9627: 0x5FF1, - 9628: 0x6C89, - 9629: 0x9648, - 9630: 0x8D81, - 9631: 0x886C, - 9632: 0x6491, - 9633: 0x79F0, - 9634: 0x57CE, - 9635: 0x6A59, - 9636: 0x6210, - 9637: 0x5448, - 9638: 0x4E58, - 9639: 0x7A0B, - 9640: 0x60E9, - 9641: 0x6F84, - 9642: 0x8BDA, - 9643: 0x627F, - 9644: 0x901E, - 9645: 0x9A8B, - 9646: 0x79E4, - 9647: 0x5403, - 9648: 0x75F4, - 9649: 0x6301, - 9650: 0x5319, - 9651: 0x6C60, - 9652: 0x8FDF, - 9653: 0x5F1B, - 9654: 0x9A70, - 9655: 0x803B, - 9656: 0x9F7F, - 9657: 0x4F88, - 9658: 0x5C3A, - 9659: 0x8D64, - 9660: 0x7FC5, - 9661: 0x65A5, - 9662: 0x70BD, - 9663: 0x5145, - 9664: 0x51B2, - 9665: 0x866B, - 9666: 0x5D07, - 9667: 0x5BA0, - 9668: 0x62BD, - 9669: 0x916C, - 9670: 0x7574, - 9671: 0x8E0C, - 9672: 0x7A20, - 9673: 0x6101, - 9674: 0x7B79, - 9675: 0x4EC7, - 9676: 0x7EF8, - 9677: 0x7785, - 9678: 0x4E11, - 9679: 0x81ED, - 9680: 0x521D, - 9681: 0x51FA, - 9682: 0x6A71, - 9683: 0x53A8, - 9684: 0x8E87, - 9685: 0x9504, - 9686: 0x96CF, - 9687: 0x6EC1, - 9688: 0x9664, - 9689: 0x695A, - 9690: 0x7884, - 9691: 0x7885, - 9692: 0x7886, - 9693: 0x7888, - 9694: 0x788A, - 9695: 0x788B, - 9696: 0x788F, - 9697: 0x7890, - 9698: 0x7892, - 9699: 0x7894, - 9700: 0x7895, - 9701: 0x7896, - 9702: 0x7899, - 9703: 0x789D, - 9704: 0x789E, - 9705: 0x78A0, - 9706: 0x78A2, - 9707: 0x78A4, - 9708: 0x78A6, - 9709: 0x78A8, - 9710: 0x78A9, - 9711: 0x78AA, - 9712: 0x78AB, - 9713: 0x78AC, - 9714: 0x78AD, - 9715: 0x78AE, - 9716: 0x78AF, - 9717: 0x78B5, - 9718: 0x78B6, - 9719: 0x78B7, - 9720: 0x78B8, - 9721: 0x78BA, - 9722: 0x78BB, - 9723: 0x78BC, - 9724: 0x78BD, - 9725: 0x78BF, - 9726: 0x78C0, - 9727: 0x78C2, - 9728: 0x78C3, - 9729: 0x78C4, - 9730: 0x78C6, - 9731: 0x78C7, - 9732: 0x78C8, - 9733: 0x78CC, - 9734: 0x78CD, - 9735: 0x78CE, - 9736: 0x78CF, - 9737: 0x78D1, - 9738: 0x78D2, - 9739: 0x78D3, - 9740: 0x78D6, - 9741: 0x78D7, - 9742: 0x78D8, - 9743: 0x78DA, - 9744: 0x78DB, - 9745: 0x78DC, - 9746: 0x78DD, - 9747: 0x78DE, - 9748: 0x78DF, - 9749: 0x78E0, - 9750: 0x78E1, - 9751: 0x78E2, - 9752: 0x78E3, - 9753: 0x78E4, - 9754: 0x78E5, - 9755: 0x78E6, - 9756: 0x78E7, - 9757: 0x78E9, - 9758: 0x78EA, - 9759: 0x78EB, - 9760: 0x78ED, - 9761: 0x78EE, - 9762: 0x78EF, - 9763: 0x78F0, - 9764: 0x78F1, - 9765: 0x78F3, - 9766: 0x78F5, - 9767: 0x78F6, - 9768: 0x78F8, - 9769: 0x78F9, - 9770: 0x78FB, - 9771: 0x78FC, - 9772: 0x78FD, - 9773: 0x78FE, - 9774: 0x78FF, - 9775: 0x7900, - 9776: 0x7902, - 9777: 0x7903, - 9778: 0x7904, - 9779: 0x7906, - 9780: 0x7907, - 9781: 0x7908, - 9782: 0x7909, - 9783: 0x790A, - 9784: 0x790B, - 9785: 0x790C, - 9786: 0x7840, - 9787: 0x50A8, - 9788: 0x77D7, - 9789: 0x6410, - 9790: 0x89E6, - 9791: 0x5904, - 9792: 0x63E3, - 9793: 0x5DDD, - 9794: 0x7A7F, - 9795: 0x693D, - 9796: 0x4F20, - 9797: 0x8239, - 9798: 0x5598, - 9799: 0x4E32, - 9800: 0x75AE, - 9801: 0x7A97, - 9802: 0x5E62, - 9803: 0x5E8A, - 9804: 0x95EF, - 9805: 0x521B, - 9806: 0x5439, - 9807: 0x708A, - 9808: 0x6376, - 9809: 0x9524, - 9810: 0x5782, - 9811: 0x6625, - 9812: 0x693F, - 9813: 0x9187, - 9814: 0x5507, - 9815: 0x6DF3, - 9816: 0x7EAF, - 9817: 0x8822, - 9818: 0x6233, - 9819: 0x7EF0, - 9820: 0x75B5, - 9821: 0x8328, - 9822: 0x78C1, - 9823: 0x96CC, - 9824: 0x8F9E, - 9825: 0x6148, - 9826: 0x74F7, - 9827: 0x8BCD, - 9828: 0x6B64, - 9829: 0x523A, - 9830: 0x8D50, - 9831: 0x6B21, - 9832: 0x806A, - 9833: 0x8471, - 9834: 0x56F1, - 9835: 0x5306, - 9836: 0x4ECE, - 9837: 0x4E1B, - 9838: 0x51D1, - 9839: 0x7C97, - 9840: 0x918B, - 9841: 0x7C07, - 9842: 0x4FC3, - 9843: 0x8E7F, - 9844: 0x7BE1, - 9845: 0x7A9C, - 9846: 0x6467, - 9847: 0x5D14, - 9848: 0x50AC, - 9849: 0x8106, - 9850: 0x7601, - 9851: 0x7CB9, - 9852: 0x6DEC, - 9853: 0x7FE0, - 9854: 0x6751, - 9855: 0x5B58, - 9856: 0x5BF8, - 9857: 0x78CB, - 9858: 0x64AE, - 9859: 0x6413, - 9860: 0x63AA, - 9861: 0x632B, - 9862: 0x9519, - 9863: 0x642D, - 9864: 0x8FBE, - 9865: 0x7B54, - 9866: 0x7629, - 9867: 0x6253, - 9868: 0x5927, - 9869: 0x5446, - 9870: 0x6B79, - 9871: 0x50A3, - 9872: 0x6234, - 9873: 0x5E26, - 9874: 0x6B86, - 9875: 0x4EE3, - 9876: 0x8D37, - 9877: 0x888B, - 9878: 0x5F85, - 9879: 0x902E, - 9880: 0x790D, - 9881: 0x790E, - 9882: 0x790F, - 9883: 0x7910, - 9884: 0x7911, - 9885: 0x7912, - 9886: 0x7914, - 9887: 0x7915, - 9888: 0x7916, - 9889: 0x7917, - 9890: 0x7918, - 9891: 0x7919, - 9892: 0x791A, - 9893: 0x791B, - 9894: 0x791C, - 9895: 0x791D, - 9896: 0x791F, - 9897: 0x7920, - 9898: 0x7921, - 9899: 0x7922, - 9900: 0x7923, - 9901: 0x7925, - 9902: 0x7926, - 9903: 0x7927, - 9904: 0x7928, - 9905: 0x7929, - 9906: 0x792A, - 9907: 0x792B, - 9908: 0x792C, - 9909: 0x792D, - 9910: 0x792E, - 9911: 0x792F, - 9912: 0x7930, - 9913: 0x7931, - 9914: 0x7932, - 9915: 0x7933, - 9916: 0x7935, - 9917: 0x7936, - 9918: 0x7937, - 9919: 0x7938, - 9920: 0x7939, - 9921: 0x793D, - 9922: 0x793F, - 9923: 0x7942, - 9924: 0x7943, - 9925: 0x7944, - 9926: 0x7945, - 9927: 0x7947, - 9928: 0x794A, - 9929: 0x794B, - 9930: 0x794C, - 9931: 0x794D, - 9932: 0x794E, - 9933: 0x794F, - 9934: 0x7950, - 9935: 0x7951, - 9936: 0x7952, - 9937: 0x7954, - 9938: 0x7955, - 9939: 0x7958, - 9940: 0x7959, - 9941: 0x7961, - 9942: 0x7963, - 9943: 0x7964, - 9944: 0x7966, - 9945: 0x7969, - 9946: 0x796A, - 9947: 0x796B, - 9948: 0x796C, - 9949: 0x796E, - 9950: 0x7970, - 9951: 0x7971, - 9952: 0x7972, - 9953: 0x7973, - 9954: 0x7974, - 9955: 0x7975, - 9956: 0x7976, - 9957: 0x7979, - 9958: 0x797B, - 9959: 0x797C, - 9960: 0x797D, - 9961: 0x797E, - 9962: 0x797F, - 9963: 0x7982, - 9964: 0x7983, - 9965: 0x7986, - 9966: 0x7987, - 9967: 0x7988, - 9968: 0x7989, - 9969: 0x798B, - 9970: 0x798C, - 9971: 0x798D, - 9972: 0x798E, - 9973: 0x7990, - 9974: 0x7991, - 9975: 0x7992, - 9976: 0x6020, - 9977: 0x803D, - 9978: 0x62C5, - 9979: 0x4E39, - 9980: 0x5355, - 9981: 0x90F8, - 9982: 0x63B8, - 9983: 0x80C6, - 9984: 0x65E6, - 9985: 0x6C2E, - 9986: 0x4F46, - 9987: 0x60EE, - 9988: 0x6DE1, - 9989: 0x8BDE, - 9990: 0x5F39, - 9991: 0x86CB, - 9992: 0x5F53, - 9993: 0x6321, - 9994: 0x515A, - 9995: 0x8361, - 9996: 0x6863, - 9997: 0x5200, - 9998: 0x6363, - 9999: 0x8E48, - 10000: 0x5012, - 10001: 0x5C9B, - 10002: 0x7977, - 10003: 0x5BFC, - 10004: 0x5230, - 10005: 0x7A3B, - 10006: 0x60BC, - 10007: 0x9053, - 10008: 0x76D7, - 10009: 0x5FB7, - 10010: 0x5F97, - 10011: 0x7684, - 10012: 0x8E6C, - 10013: 0x706F, - 10014: 0x767B, - 10015: 0x7B49, - 10016: 0x77AA, - 10017: 0x51F3, - 10018: 0x9093, - 10019: 0x5824, - 10020: 0x4F4E, - 10021: 0x6EF4, - 10022: 0x8FEA, - 10023: 0x654C, - 10024: 0x7B1B, - 10025: 0x72C4, - 10026: 0x6DA4, - 10027: 0x7FDF, - 10028: 0x5AE1, - 10029: 0x62B5, - 10030: 0x5E95, - 10031: 0x5730, - 10032: 0x8482, - 10033: 0x7B2C, - 10034: 0x5E1D, - 10035: 0x5F1F, - 10036: 0x9012, - 10037: 0x7F14, - 10038: 0x98A0, - 10039: 0x6382, - 10040: 0x6EC7, - 10041: 0x7898, - 10042: 0x70B9, - 10043: 0x5178, - 10044: 0x975B, - 10045: 0x57AB, - 10046: 0x7535, - 10047: 0x4F43, - 10048: 0x7538, - 10049: 0x5E97, - 10050: 0x60E6, - 10051: 0x5960, - 10052: 0x6DC0, - 10053: 0x6BBF, - 10054: 0x7889, - 10055: 0x53FC, - 10056: 0x96D5, - 10057: 0x51CB, - 10058: 0x5201, - 10059: 0x6389, - 10060: 0x540A, - 10061: 0x9493, - 10062: 0x8C03, - 10063: 0x8DCC, - 10064: 0x7239, - 10065: 0x789F, - 10066: 0x8776, - 10067: 0x8FED, - 10068: 0x8C0D, - 10069: 0x53E0, - 10070: 0x7993, - 10071: 0x7994, - 10072: 0x7995, - 10073: 0x7996, - 10074: 0x7997, - 10075: 0x7998, - 10076: 0x7999, - 10077: 0x799B, - 10078: 0x799C, - 10079: 0x799D, - 10080: 0x799E, - 10081: 0x799F, - 10082: 0x79A0, - 10083: 0x79A1, - 10084: 0x79A2, - 10085: 0x79A3, - 10086: 0x79A4, - 10087: 0x79A5, - 10088: 0x79A6, - 10089: 0x79A8, - 10090: 0x79A9, - 10091: 0x79AA, - 10092: 0x79AB, - 10093: 0x79AC, - 10094: 0x79AD, - 10095: 0x79AE, - 10096: 0x79AF, - 10097: 0x79B0, - 10098: 0x79B1, - 10099: 0x79B2, - 10100: 0x79B4, - 10101: 0x79B5, - 10102: 0x79B6, - 10103: 0x79B7, - 10104: 0x79B8, - 10105: 0x79BC, - 10106: 0x79BF, - 10107: 0x79C2, - 10108: 0x79C4, - 10109: 0x79C5, - 10110: 0x79C7, - 10111: 0x79C8, - 10112: 0x79CA, - 10113: 0x79CC, - 10114: 0x79CE, - 10115: 0x79CF, - 10116: 0x79D0, - 10117: 0x79D3, - 10118: 0x79D4, - 10119: 0x79D6, - 10120: 0x79D7, - 10121: 0x79D9, - 10122: 0x79DA, - 10123: 0x79DB, - 10124: 0x79DC, - 10125: 0x79DD, - 10126: 0x79DE, - 10127: 0x79E0, - 10128: 0x79E1, - 10129: 0x79E2, - 10130: 0x79E5, - 10131: 0x79E8, - 10132: 0x79EA, - 10133: 0x79EC, - 10134: 0x79EE, - 10135: 0x79F1, - 10136: 0x79F2, - 10137: 0x79F3, - 10138: 0x79F4, - 10139: 0x79F5, - 10140: 0x79F6, - 10141: 0x79F7, - 10142: 0x79F9, - 10143: 0x79FA, - 10144: 0x79FC, - 10145: 0x79FE, - 10146: 0x79FF, - 10147: 0x7A01, - 10148: 0x7A04, - 10149: 0x7A05, - 10150: 0x7A07, - 10151: 0x7A08, - 10152: 0x7A09, - 10153: 0x7A0A, - 10154: 0x7A0C, - 10155: 0x7A0F, - 10156: 0x7A10, - 10157: 0x7A11, - 10158: 0x7A12, - 10159: 0x7A13, - 10160: 0x7A15, - 10161: 0x7A16, - 10162: 0x7A18, - 10163: 0x7A19, - 10164: 0x7A1B, - 10165: 0x7A1C, - 10166: 0x4E01, - 10167: 0x76EF, - 10168: 0x53EE, - 10169: 0x9489, - 10170: 0x9876, - 10171: 0x9F0E, - 10172: 0x952D, - 10173: 0x5B9A, - 10174: 0x8BA2, - 10175: 0x4E22, - 10176: 0x4E1C, - 10177: 0x51AC, - 10178: 0x8463, - 10179: 0x61C2, - 10180: 0x52A8, - 10181: 0x680B, - 10182: 0x4F97, - 10183: 0x606B, - 10184: 0x51BB, - 10185: 0x6D1E, - 10186: 0x515C, - 10187: 0x6296, - 10188: 0x6597, - 10189: 0x9661, - 10190: 0x8C46, - 10191: 0x9017, - 10192: 0x75D8, - 10193: 0x90FD, - 10194: 0x7763, - 10195: 0x6BD2, - 10196: 0x728A, - 10197: 0x72EC, - 10198: 0x8BFB, - 10199: 0x5835, - 10200: 0x7779, - 10201: 0x8D4C, - 10202: 0x675C, - 10203: 0x9540, - 10204: 0x809A, - 10205: 0x5EA6, - 10206: 0x6E21, - 10207: 0x5992, - 10208: 0x7AEF, - 10209: 0x77ED, - 10210: 0x953B, - 10211: 0x6BB5, - 10212: 0x65AD, - 10213: 0x7F0E, - 10214: 0x5806, - 10215: 0x5151, - 10216: 0x961F, - 10217: 0x5BF9, - 10218: 0x58A9, - 10219: 0x5428, - 10220: 0x8E72, - 10221: 0x6566, - 10222: 0x987F, - 10223: 0x56E4, - 10224: 0x949D, - 10225: 0x76FE, - 10226: 0x9041, - 10227: 0x6387, - 10228: 0x54C6, - 10229: 0x591A, - 10230: 0x593A, - 10231: 0x579B, - 10232: 0x8EB2, - 10233: 0x6735, - 10234: 0x8DFA, - 10235: 0x8235, - 10236: 0x5241, - 10237: 0x60F0, - 10238: 0x5815, - 10239: 0x86FE, - 10240: 0x5CE8, - 10241: 0x9E45, - 10242: 0x4FC4, - 10243: 0x989D, - 10244: 0x8BB9, - 10245: 0x5A25, - 10246: 0x6076, - 10247: 0x5384, - 10248: 0x627C, - 10249: 0x904F, - 10250: 0x9102, - 10251: 0x997F, - 10252: 0x6069, - 10253: 0x800C, - 10254: 0x513F, - 10255: 0x8033, - 10256: 0x5C14, - 10257: 0x9975, - 10258: 0x6D31, - 10259: 0x4E8C, - 10260: 0x7A1D, - 10261: 0x7A1F, - 10262: 0x7A21, - 10263: 0x7A22, - 10264: 0x7A24, - 10265: 0x7A25, - 10266: 0x7A26, - 10267: 0x7A27, - 10268: 0x7A28, - 10269: 0x7A29, - 10270: 0x7A2A, - 10271: 0x7A2B, - 10272: 0x7A2C, - 10273: 0x7A2D, - 10274: 0x7A2E, - 10275: 0x7A2F, - 10276: 0x7A30, - 10277: 0x7A31, - 10278: 0x7A32, - 10279: 0x7A34, - 10280: 0x7A35, - 10281: 0x7A36, - 10282: 0x7A38, - 10283: 0x7A3A, - 10284: 0x7A3E, - 10285: 0x7A40, - 10286: 0x7A41, - 10287: 0x7A42, - 10288: 0x7A43, - 10289: 0x7A44, - 10290: 0x7A45, - 10291: 0x7A47, - 10292: 0x7A48, - 10293: 0x7A49, - 10294: 0x7A4A, - 10295: 0x7A4B, - 10296: 0x7A4C, - 10297: 0x7A4D, - 10298: 0x7A4E, - 10299: 0x7A4F, - 10300: 0x7A50, - 10301: 0x7A52, - 10302: 0x7A53, - 10303: 0x7A54, - 10304: 0x7A55, - 10305: 0x7A56, - 10306: 0x7A58, - 10307: 0x7A59, - 10308: 0x7A5A, - 10309: 0x7A5B, - 10310: 0x7A5C, - 10311: 0x7A5D, - 10312: 0x7A5E, - 10313: 0x7A5F, - 10314: 0x7A60, - 10315: 0x7A61, - 10316: 0x7A62, - 10317: 0x7A63, - 10318: 0x7A64, - 10319: 0x7A65, - 10320: 0x7A66, - 10321: 0x7A67, - 10322: 0x7A68, - 10323: 0x7A69, - 10324: 0x7A6A, - 10325: 0x7A6B, - 10326: 0x7A6C, - 10327: 0x7A6D, - 10328: 0x7A6E, - 10329: 0x7A6F, - 10330: 0x7A71, - 10331: 0x7A72, - 10332: 0x7A73, - 10333: 0x7A75, - 10334: 0x7A7B, - 10335: 0x7A7C, - 10336: 0x7A7D, - 10337: 0x7A7E, - 10338: 0x7A82, - 10339: 0x7A85, - 10340: 0x7A87, - 10341: 0x7A89, - 10342: 0x7A8A, - 10343: 0x7A8B, - 10344: 0x7A8C, - 10345: 0x7A8E, - 10346: 0x7A8F, - 10347: 0x7A90, - 10348: 0x7A93, - 10349: 0x7A94, - 10350: 0x7A99, - 10351: 0x7A9A, - 10352: 0x7A9B, - 10353: 0x7A9E, - 10354: 0x7AA1, - 10355: 0x7AA2, - 10356: 0x8D30, - 10357: 0x53D1, - 10358: 0x7F5A, - 10359: 0x7B4F, - 10360: 0x4F10, - 10361: 0x4E4F, - 10362: 0x9600, - 10363: 0x6CD5, - 10364: 0x73D0, - 10365: 0x85E9, - 10366: 0x5E06, - 10367: 0x756A, - 10368: 0x7FFB, - 10369: 0x6A0A, - 10370: 0x77FE, - 10371: 0x9492, - 10372: 0x7E41, - 10373: 0x51E1, - 10374: 0x70E6, - 10375: 0x53CD, - 10376: 0x8FD4, - 10377: 0x8303, - 10378: 0x8D29, - 10379: 0x72AF, - 10380: 0x996D, - 10381: 0x6CDB, - 10382: 0x574A, - 10383: 0x82B3, - 10384: 0x65B9, - 10385: 0x80AA, - 10386: 0x623F, - 10387: 0x9632, - 10388: 0x59A8, - 10389: 0x4EFF, - 10390: 0x8BBF, - 10391: 0x7EBA, - 10392: 0x653E, - 10393: 0x83F2, - 10394: 0x975E, - 10395: 0x5561, - 10396: 0x98DE, - 10397: 0x80A5, - 10398: 0x532A, - 10399: 0x8BFD, - 10400: 0x5420, - 10401: 0x80BA, - 10402: 0x5E9F, - 10403: 0x6CB8, - 10404: 0x8D39, - 10405: 0x82AC, - 10406: 0x915A, - 10407: 0x5429, - 10408: 0x6C1B, - 10409: 0x5206, - 10410: 0x7EB7, - 10411: 0x575F, - 10412: 0x711A, - 10413: 0x6C7E, - 10414: 0x7C89, - 10415: 0x594B, - 10416: 0x4EFD, - 10417: 0x5FFF, - 10418: 0x6124, - 10419: 0x7CAA, - 10420: 0x4E30, - 10421: 0x5C01, - 10422: 0x67AB, - 10423: 0x8702, - 10424: 0x5CF0, - 10425: 0x950B, - 10426: 0x98CE, - 10427: 0x75AF, - 10428: 0x70FD, - 10429: 0x9022, - 10430: 0x51AF, - 10431: 0x7F1D, - 10432: 0x8BBD, - 10433: 0x5949, - 10434: 0x51E4, - 10435: 0x4F5B, - 10436: 0x5426, - 10437: 0x592B, - 10438: 0x6577, - 10439: 0x80A4, - 10440: 0x5B75, - 10441: 0x6276, - 10442: 0x62C2, - 10443: 0x8F90, - 10444: 0x5E45, - 10445: 0x6C1F, - 10446: 0x7B26, - 10447: 0x4F0F, - 10448: 0x4FD8, - 10449: 0x670D, - 10450: 0x7AA3, - 10451: 0x7AA4, - 10452: 0x7AA7, - 10453: 0x7AA9, - 10454: 0x7AAA, - 10455: 0x7AAB, - 10456: 0x7AAE, - 10457: 0x7AAF, - 10458: 0x7AB0, - 10459: 0x7AB1, - 10460: 0x7AB2, - 10461: 0x7AB4, - 10462: 0x7AB5, - 10463: 0x7AB6, - 10464: 0x7AB7, - 10465: 0x7AB8, - 10466: 0x7AB9, - 10467: 0x7ABA, - 10468: 0x7ABB, - 10469: 0x7ABC, - 10470: 0x7ABD, - 10471: 0x7ABE, - 10472: 0x7AC0, - 10473: 0x7AC1, - 10474: 0x7AC2, - 10475: 0x7AC3, - 10476: 0x7AC4, - 10477: 0x7AC5, - 10478: 0x7AC6, - 10479: 0x7AC7, - 10480: 0x7AC8, - 10481: 0x7AC9, - 10482: 0x7ACA, - 10483: 0x7ACC, - 10484: 0x7ACD, - 10485: 0x7ACE, - 10486: 0x7ACF, - 10487: 0x7AD0, - 10488: 0x7AD1, - 10489: 0x7AD2, - 10490: 0x7AD3, - 10491: 0x7AD4, - 10492: 0x7AD5, - 10493: 0x7AD7, - 10494: 0x7AD8, - 10495: 0x7ADA, - 10496: 0x7ADB, - 10497: 0x7ADC, - 10498: 0x7ADD, - 10499: 0x7AE1, - 10500: 0x7AE2, - 10501: 0x7AE4, - 10502: 0x7AE7, - 10503: 0x7AE8, - 10504: 0x7AE9, - 10505: 0x7AEA, - 10506: 0x7AEB, - 10507: 0x7AEC, - 10508: 0x7AEE, - 10509: 0x7AF0, - 10510: 0x7AF1, - 10511: 0x7AF2, - 10512: 0x7AF3, - 10513: 0x7AF4, - 10514: 0x7AF5, - 10515: 0x7AF6, - 10516: 0x7AF7, - 10517: 0x7AF8, - 10518: 0x7AFB, - 10519: 0x7AFC, - 10520: 0x7AFE, - 10521: 0x7B00, - 10522: 0x7B01, - 10523: 0x7B02, - 10524: 0x7B05, - 10525: 0x7B07, - 10526: 0x7B09, - 10527: 0x7B0C, - 10528: 0x7B0D, - 10529: 0x7B0E, - 10530: 0x7B10, - 10531: 0x7B12, - 10532: 0x7B13, - 10533: 0x7B16, - 10534: 0x7B17, - 10535: 0x7B18, - 10536: 0x7B1A, - 10537: 0x7B1C, - 10538: 0x7B1D, - 10539: 0x7B1F, - 10540: 0x7B21, - 10541: 0x7B22, - 10542: 0x7B23, - 10543: 0x7B27, - 10544: 0x7B29, - 10545: 0x7B2D, - 10546: 0x6D6E, - 10547: 0x6DAA, - 10548: 0x798F, - 10549: 0x88B1, - 10550: 0x5F17, - 10551: 0x752B, - 10552: 0x629A, - 10553: 0x8F85, - 10554: 0x4FEF, - 10555: 0x91DC, - 10556: 0x65A7, - 10557: 0x812F, - 10558: 0x8151, - 10559: 0x5E9C, - 10560: 0x8150, - 10561: 0x8D74, - 10562: 0x526F, - 10563: 0x8986, - 10564: 0x8D4B, - 10565: 0x590D, - 10566: 0x5085, - 10567: 0x4ED8, - 10568: 0x961C, - 10569: 0x7236, - 10570: 0x8179, - 10571: 0x8D1F, - 10572: 0x5BCC, - 10573: 0x8BA3, - 10574: 0x9644, - 10575: 0x5987, - 10576: 0x7F1A, - 10577: 0x5490, - 10578: 0x5676, - 10579: 0x560E, - 10580: 0x8BE5, - 10581: 0x6539, - 10582: 0x6982, - 10583: 0x9499, - 10584: 0x76D6, - 10585: 0x6E89, - 10586: 0x5E72, - 10587: 0x7518, - 10588: 0x6746, - 10589: 0x67D1, - 10590: 0x7AFF, - 10591: 0x809D, - 10592: 0x8D76, - 10593: 0x611F, - 10594: 0x79C6, - 10595: 0x6562, - 10596: 0x8D63, - 10597: 0x5188, - 10598: 0x521A, - 10599: 0x94A2, - 10600: 0x7F38, - 10601: 0x809B, - 10602: 0x7EB2, - 10603: 0x5C97, - 10604: 0x6E2F, - 10605: 0x6760, - 10606: 0x7BD9, - 10607: 0x768B, - 10608: 0x9AD8, - 10609: 0x818F, - 10610: 0x7F94, - 10611: 0x7CD5, - 10612: 0x641E, - 10613: 0x9550, - 10614: 0x7A3F, - 10615: 0x544A, - 10616: 0x54E5, - 10617: 0x6B4C, - 10618: 0x6401, - 10619: 0x6208, - 10620: 0x9E3D, - 10621: 0x80F3, - 10622: 0x7599, - 10623: 0x5272, - 10624: 0x9769, - 10625: 0x845B, - 10626: 0x683C, - 10627: 0x86E4, - 10628: 0x9601, - 10629: 0x9694, - 10630: 0x94EC, - 10631: 0x4E2A, - 10632: 0x5404, - 10633: 0x7ED9, - 10634: 0x6839, - 10635: 0x8DDF, - 10636: 0x8015, - 10637: 0x66F4, - 10638: 0x5E9A, - 10639: 0x7FB9, - 10640: 0x7B2F, - 10641: 0x7B30, - 10642: 0x7B32, - 10643: 0x7B34, - 10644: 0x7B35, - 10645: 0x7B36, - 10646: 0x7B37, - 10647: 0x7B39, - 10648: 0x7B3B, - 10649: 0x7B3D, - 10650: 0x7B3F, - 10651: 0x7B40, - 10652: 0x7B41, - 10653: 0x7B42, - 10654: 0x7B43, - 10655: 0x7B44, - 10656: 0x7B46, - 10657: 0x7B48, - 10658: 0x7B4A, - 10659: 0x7B4D, - 10660: 0x7B4E, - 10661: 0x7B53, - 10662: 0x7B55, - 10663: 0x7B57, - 10664: 0x7B59, - 10665: 0x7B5C, - 10666: 0x7B5E, - 10667: 0x7B5F, - 10668: 0x7B61, - 10669: 0x7B63, - 10670: 0x7B64, - 10671: 0x7B65, - 10672: 0x7B66, - 10673: 0x7B67, - 10674: 0x7B68, - 10675: 0x7B69, - 10676: 0x7B6A, - 10677: 0x7B6B, - 10678: 0x7B6C, - 10679: 0x7B6D, - 10680: 0x7B6F, - 10681: 0x7B70, - 10682: 0x7B73, - 10683: 0x7B74, - 10684: 0x7B76, - 10685: 0x7B78, - 10686: 0x7B7A, - 10687: 0x7B7C, - 10688: 0x7B7D, - 10689: 0x7B7F, - 10690: 0x7B81, - 10691: 0x7B82, - 10692: 0x7B83, - 10693: 0x7B84, - 10694: 0x7B86, - 10695: 0x7B87, - 10696: 0x7B88, - 10697: 0x7B89, - 10698: 0x7B8A, - 10699: 0x7B8B, - 10700: 0x7B8C, - 10701: 0x7B8E, - 10702: 0x7B8F, - 10703: 0x7B91, - 10704: 0x7B92, - 10705: 0x7B93, - 10706: 0x7B96, - 10707: 0x7B98, - 10708: 0x7B99, - 10709: 0x7B9A, - 10710: 0x7B9B, - 10711: 0x7B9E, - 10712: 0x7B9F, - 10713: 0x7BA0, - 10714: 0x7BA3, - 10715: 0x7BA4, - 10716: 0x7BA5, - 10717: 0x7BAE, - 10718: 0x7BAF, - 10719: 0x7BB0, - 10720: 0x7BB2, - 10721: 0x7BB3, - 10722: 0x7BB5, - 10723: 0x7BB6, - 10724: 0x7BB7, - 10725: 0x7BB9, - 10726: 0x7BBA, - 10727: 0x7BBB, - 10728: 0x7BBC, - 10729: 0x7BBD, - 10730: 0x7BBE, - 10731: 0x7BBF, - 10732: 0x7BC0, - 10733: 0x7BC2, - 10734: 0x7BC3, - 10735: 0x7BC4, - 10736: 0x57C2, - 10737: 0x803F, - 10738: 0x6897, - 10739: 0x5DE5, - 10740: 0x653B, - 10741: 0x529F, - 10742: 0x606D, - 10743: 0x9F9A, - 10744: 0x4F9B, - 10745: 0x8EAC, - 10746: 0x516C, - 10747: 0x5BAB, - 10748: 0x5F13, - 10749: 0x5DE9, - 10750: 0x6C5E, - 10751: 0x62F1, - 10752: 0x8D21, - 10753: 0x5171, - 10754: 0x94A9, - 10755: 0x52FE, - 10756: 0x6C9F, - 10757: 0x82DF, - 10758: 0x72D7, - 10759: 0x57A2, - 10760: 0x6784, - 10761: 0x8D2D, - 10762: 0x591F, - 10763: 0x8F9C, - 10764: 0x83C7, - 10765: 0x5495, - 10766: 0x7B8D, - 10767: 0x4F30, - 10768: 0x6CBD, - 10769: 0x5B64, - 10770: 0x59D1, - 10771: 0x9F13, - 10772: 0x53E4, - 10773: 0x86CA, - 10774: 0x9AA8, - 10775: 0x8C37, - 10776: 0x80A1, - 10777: 0x6545, - 10778: 0x987E, - 10779: 0x56FA, - 10780: 0x96C7, - 10781: 0x522E, - 10782: 0x74DC, - 10783: 0x5250, - 10784: 0x5BE1, - 10785: 0x6302, - 10786: 0x8902, - 10787: 0x4E56, - 10788: 0x62D0, - 10789: 0x602A, - 10790: 0x68FA, - 10791: 0x5173, - 10792: 0x5B98, - 10793: 0x51A0, - 10794: 0x89C2, - 10795: 0x7BA1, - 10796: 0x9986, - 10797: 0x7F50, - 10798: 0x60EF, - 10799: 0x704C, - 10800: 0x8D2F, - 10801: 0x5149, - 10802: 0x5E7F, - 10803: 0x901B, - 10804: 0x7470, - 10805: 0x89C4, - 10806: 0x572D, - 10807: 0x7845, - 10808: 0x5F52, - 10809: 0x9F9F, - 10810: 0x95FA, - 10811: 0x8F68, - 10812: 0x9B3C, - 10813: 0x8BE1, - 10814: 0x7678, - 10815: 0x6842, - 10816: 0x67DC, - 10817: 0x8DEA, - 10818: 0x8D35, - 10819: 0x523D, - 10820: 0x8F8A, - 10821: 0x6EDA, - 10822: 0x68CD, - 10823: 0x9505, - 10824: 0x90ED, - 10825: 0x56FD, - 10826: 0x679C, - 10827: 0x88F9, - 10828: 0x8FC7, - 10829: 0x54C8, - 10830: 0x7BC5, - 10831: 0x7BC8, - 10832: 0x7BC9, - 10833: 0x7BCA, - 10834: 0x7BCB, - 10835: 0x7BCD, - 10836: 0x7BCE, - 10837: 0x7BCF, - 10838: 0x7BD0, - 10839: 0x7BD2, - 10840: 0x7BD4, - 10841: 0x7BD5, - 10842: 0x7BD6, - 10843: 0x7BD7, - 10844: 0x7BD8, - 10845: 0x7BDB, - 10846: 0x7BDC, - 10847: 0x7BDE, - 10848: 0x7BDF, - 10849: 0x7BE0, - 10850: 0x7BE2, - 10851: 0x7BE3, - 10852: 0x7BE4, - 10853: 0x7BE7, - 10854: 0x7BE8, - 10855: 0x7BE9, - 10856: 0x7BEB, - 10857: 0x7BEC, - 10858: 0x7BED, - 10859: 0x7BEF, - 10860: 0x7BF0, - 10861: 0x7BF2, - 10862: 0x7BF3, - 10863: 0x7BF4, - 10864: 0x7BF5, - 10865: 0x7BF6, - 10866: 0x7BF8, - 10867: 0x7BF9, - 10868: 0x7BFA, - 10869: 0x7BFB, - 10870: 0x7BFD, - 10871: 0x7BFF, - 10872: 0x7C00, - 10873: 0x7C01, - 10874: 0x7C02, - 10875: 0x7C03, - 10876: 0x7C04, - 10877: 0x7C05, - 10878: 0x7C06, - 10879: 0x7C08, - 10880: 0x7C09, - 10881: 0x7C0A, - 10882: 0x7C0D, - 10883: 0x7C0E, - 10884: 0x7C10, - 10885: 0x7C11, - 10886: 0x7C12, - 10887: 0x7C13, - 10888: 0x7C14, - 10889: 0x7C15, - 10890: 0x7C17, - 10891: 0x7C18, - 10892: 0x7C19, - 10893: 0x7C1A, - 10894: 0x7C1B, - 10895: 0x7C1C, - 10896: 0x7C1D, - 10897: 0x7C1E, - 10898: 0x7C20, - 10899: 0x7C21, - 10900: 0x7C22, - 10901: 0x7C23, - 10902: 0x7C24, - 10903: 0x7C25, - 10904: 0x7C28, - 10905: 0x7C29, - 10906: 0x7C2B, - 10907: 0x7C2C, - 10908: 0x7C2D, - 10909: 0x7C2E, - 10910: 0x7C2F, - 10911: 0x7C30, - 10912: 0x7C31, - 10913: 0x7C32, - 10914: 0x7C33, - 10915: 0x7C34, - 10916: 0x7C35, - 10917: 0x7C36, - 10918: 0x7C37, - 10919: 0x7C39, - 10920: 0x7C3A, - 10921: 0x7C3B, - 10922: 0x7C3C, - 10923: 0x7C3D, - 10924: 0x7C3E, - 10925: 0x7C42, - 10926: 0x9AB8, - 10927: 0x5B69, - 10928: 0x6D77, - 10929: 0x6C26, - 10930: 0x4EA5, - 10931: 0x5BB3, - 10932: 0x9A87, - 10933: 0x9163, - 10934: 0x61A8, - 10935: 0x90AF, - 10936: 0x97E9, - 10937: 0x542B, - 10938: 0x6DB5, - 10939: 0x5BD2, - 10940: 0x51FD, - 10941: 0x558A, - 10942: 0x7F55, - 10943: 0x7FF0, - 10944: 0x64BC, - 10945: 0x634D, - 10946: 0x65F1, - 10947: 0x61BE, - 10948: 0x608D, - 10949: 0x710A, - 10950: 0x6C57, - 10951: 0x6C49, - 10952: 0x592F, - 10953: 0x676D, - 10954: 0x822A, - 10955: 0x58D5, - 10956: 0x568E, - 10957: 0x8C6A, - 10958: 0x6BEB, - 10959: 0x90DD, - 10960: 0x597D, - 10961: 0x8017, - 10962: 0x53F7, - 10963: 0x6D69, - 10964: 0x5475, - 10965: 0x559D, - 10966: 0x8377, - 10967: 0x83CF, - 10968: 0x6838, - 10969: 0x79BE, - 10970: 0x548C, - 10971: 0x4F55, - 10972: 0x5408, - 10973: 0x76D2, - 10974: 0x8C89, - 10975: 0x9602, - 10976: 0x6CB3, - 10977: 0x6DB8, - 10978: 0x8D6B, - 10979: 0x8910, - 10980: 0x9E64, - 10981: 0x8D3A, - 10982: 0x563F, - 10983: 0x9ED1, - 10984: 0x75D5, - 10985: 0x5F88, - 10986: 0x72E0, - 10987: 0x6068, - 10988: 0x54FC, - 10989: 0x4EA8, - 10990: 0x6A2A, - 10991: 0x8861, - 10992: 0x6052, - 10993: 0x8F70, - 10994: 0x54C4, - 10995: 0x70D8, - 10996: 0x8679, - 10997: 0x9E3F, - 10998: 0x6D2A, - 10999: 0x5B8F, - 11000: 0x5F18, - 11001: 0x7EA2, - 11002: 0x5589, - 11003: 0x4FAF, - 11004: 0x7334, - 11005: 0x543C, - 11006: 0x539A, - 11007: 0x5019, - 11008: 0x540E, - 11009: 0x547C, - 11010: 0x4E4E, - 11011: 0x5FFD, - 11012: 0x745A, - 11013: 0x58F6, - 11014: 0x846B, - 11015: 0x80E1, - 11016: 0x8774, - 11017: 0x72D0, - 11018: 0x7CCA, - 11019: 0x6E56, - 11020: 0x7C43, - 11021: 0x7C44, - 11022: 0x7C45, - 11023: 0x7C46, - 11024: 0x7C47, - 11025: 0x7C48, - 11026: 0x7C49, - 11027: 0x7C4A, - 11028: 0x7C4B, - 11029: 0x7C4C, - 11030: 0x7C4E, - 11031: 0x7C4F, - 11032: 0x7C50, - 11033: 0x7C51, - 11034: 0x7C52, - 11035: 0x7C53, - 11036: 0x7C54, - 11037: 0x7C55, - 11038: 0x7C56, - 11039: 0x7C57, - 11040: 0x7C58, - 11041: 0x7C59, - 11042: 0x7C5A, - 11043: 0x7C5B, - 11044: 0x7C5C, - 11045: 0x7C5D, - 11046: 0x7C5E, - 11047: 0x7C5F, - 11048: 0x7C60, - 11049: 0x7C61, - 11050: 0x7C62, - 11051: 0x7C63, - 11052: 0x7C64, - 11053: 0x7C65, - 11054: 0x7C66, - 11055: 0x7C67, - 11056: 0x7C68, - 11057: 0x7C69, - 11058: 0x7C6A, - 11059: 0x7C6B, - 11060: 0x7C6C, - 11061: 0x7C6D, - 11062: 0x7C6E, - 11063: 0x7C6F, - 11064: 0x7C70, - 11065: 0x7C71, - 11066: 0x7C72, - 11067: 0x7C75, - 11068: 0x7C76, - 11069: 0x7C77, - 11070: 0x7C78, - 11071: 0x7C79, - 11072: 0x7C7A, - 11073: 0x7C7E, - 11074: 0x7C7F, - 11075: 0x7C80, - 11076: 0x7C81, - 11077: 0x7C82, - 11078: 0x7C83, - 11079: 0x7C84, - 11080: 0x7C85, - 11081: 0x7C86, - 11082: 0x7C87, - 11083: 0x7C88, - 11084: 0x7C8A, - 11085: 0x7C8B, - 11086: 0x7C8C, - 11087: 0x7C8D, - 11088: 0x7C8E, - 11089: 0x7C8F, - 11090: 0x7C90, - 11091: 0x7C93, - 11092: 0x7C94, - 11093: 0x7C96, - 11094: 0x7C99, - 11095: 0x7C9A, - 11096: 0x7C9B, - 11097: 0x7CA0, - 11098: 0x7CA1, - 11099: 0x7CA3, - 11100: 0x7CA6, - 11101: 0x7CA7, - 11102: 0x7CA8, - 11103: 0x7CA9, - 11104: 0x7CAB, - 11105: 0x7CAC, - 11106: 0x7CAD, - 11107: 0x7CAF, - 11108: 0x7CB0, - 11109: 0x7CB4, - 11110: 0x7CB5, - 11111: 0x7CB6, - 11112: 0x7CB7, - 11113: 0x7CB8, - 11114: 0x7CBA, - 11115: 0x7CBB, - 11116: 0x5F27, - 11117: 0x864E, - 11118: 0x552C, - 11119: 0x62A4, - 11120: 0x4E92, - 11121: 0x6CAA, - 11122: 0x6237, - 11123: 0x82B1, - 11124: 0x54D7, - 11125: 0x534E, - 11126: 0x733E, - 11127: 0x6ED1, - 11128: 0x753B, - 11129: 0x5212, - 11130: 0x5316, - 11131: 0x8BDD, - 11132: 0x69D0, - 11133: 0x5F8A, - 11134: 0x6000, - 11135: 0x6DEE, - 11136: 0x574F, - 11137: 0x6B22, - 11138: 0x73AF, - 11139: 0x6853, - 11140: 0x8FD8, - 11141: 0x7F13, - 11142: 0x6362, - 11143: 0x60A3, - 11144: 0x5524, - 11145: 0x75EA, - 11146: 0x8C62, - 11147: 0x7115, - 11148: 0x6DA3, - 11149: 0x5BA6, - 11150: 0x5E7B, - 11151: 0x8352, - 11152: 0x614C, - 11153: 0x9EC4, - 11154: 0x78FA, - 11155: 0x8757, - 11156: 0x7C27, - 11157: 0x7687, - 11158: 0x51F0, - 11159: 0x60F6, - 11160: 0x714C, - 11161: 0x6643, - 11162: 0x5E4C, - 11163: 0x604D, - 11164: 0x8C0E, - 11165: 0x7070, - 11166: 0x6325, - 11167: 0x8F89, - 11168: 0x5FBD, - 11169: 0x6062, - 11170: 0x86D4, - 11171: 0x56DE, - 11172: 0x6BC1, - 11173: 0x6094, - 11174: 0x6167, - 11175: 0x5349, - 11176: 0x60E0, - 11177: 0x6666, - 11178: 0x8D3F, - 11179: 0x79FD, - 11180: 0x4F1A, - 11181: 0x70E9, - 11182: 0x6C47, - 11183: 0x8BB3, - 11184: 0x8BF2, - 11185: 0x7ED8, - 11186: 0x8364, - 11187: 0x660F, - 11188: 0x5A5A, - 11189: 0x9B42, - 11190: 0x6D51, - 11191: 0x6DF7, - 11192: 0x8C41, - 11193: 0x6D3B, - 11194: 0x4F19, - 11195: 0x706B, - 11196: 0x83B7, - 11197: 0x6216, - 11198: 0x60D1, - 11199: 0x970D, - 11200: 0x8D27, - 11201: 0x7978, - 11202: 0x51FB, - 11203: 0x573E, - 11204: 0x57FA, - 11205: 0x673A, - 11206: 0x7578, - 11207: 0x7A3D, - 11208: 0x79EF, - 11209: 0x7B95, - 11210: 0x7CBF, - 11211: 0x7CC0, - 11212: 0x7CC2, - 11213: 0x7CC3, - 11214: 0x7CC4, - 11215: 0x7CC6, - 11216: 0x7CC9, - 11217: 0x7CCB, - 11218: 0x7CCE, - 11219: 0x7CCF, - 11220: 0x7CD0, - 11221: 0x7CD1, - 11222: 0x7CD2, - 11223: 0x7CD3, - 11224: 0x7CD4, - 11225: 0x7CD8, - 11226: 0x7CDA, - 11227: 0x7CDB, - 11228: 0x7CDD, - 11229: 0x7CDE, - 11230: 0x7CE1, - 11231: 0x7CE2, - 11232: 0x7CE3, - 11233: 0x7CE4, - 11234: 0x7CE5, - 11235: 0x7CE6, - 11236: 0x7CE7, - 11237: 0x7CE9, - 11238: 0x7CEA, - 11239: 0x7CEB, - 11240: 0x7CEC, - 11241: 0x7CED, - 11242: 0x7CEE, - 11243: 0x7CF0, - 11244: 0x7CF1, - 11245: 0x7CF2, - 11246: 0x7CF3, - 11247: 0x7CF4, - 11248: 0x7CF5, - 11249: 0x7CF6, - 11250: 0x7CF7, - 11251: 0x7CF9, - 11252: 0x7CFA, - 11253: 0x7CFC, - 11254: 0x7CFD, - 11255: 0x7CFE, - 11256: 0x7CFF, - 11257: 0x7D00, - 11258: 0x7D01, - 11259: 0x7D02, - 11260: 0x7D03, - 11261: 0x7D04, - 11262: 0x7D05, - 11263: 0x7D06, - 11264: 0x7D07, - 11265: 0x7D08, - 11266: 0x7D09, - 11267: 0x7D0B, - 11268: 0x7D0C, - 11269: 0x7D0D, - 11270: 0x7D0E, - 11271: 0x7D0F, - 11272: 0x7D10, - 11273: 0x7D11, - 11274: 0x7D12, - 11275: 0x7D13, - 11276: 0x7D14, - 11277: 0x7D15, - 11278: 0x7D16, - 11279: 0x7D17, - 11280: 0x7D18, - 11281: 0x7D19, - 11282: 0x7D1A, - 11283: 0x7D1B, - 11284: 0x7D1C, - 11285: 0x7D1D, - 11286: 0x7D1E, - 11287: 0x7D1F, - 11288: 0x7D21, - 11289: 0x7D23, - 11290: 0x7D24, - 11291: 0x7D25, - 11292: 0x7D26, - 11293: 0x7D28, - 11294: 0x7D29, - 11295: 0x7D2A, - 11296: 0x7D2C, - 11297: 0x7D2D, - 11298: 0x7D2E, - 11299: 0x7D30, - 11300: 0x7D31, - 11301: 0x7D32, - 11302: 0x7D33, - 11303: 0x7D34, - 11304: 0x7D35, - 11305: 0x7D36, - 11306: 0x808C, - 11307: 0x9965, - 11308: 0x8FF9, - 11309: 0x6FC0, - 11310: 0x8BA5, - 11311: 0x9E21, - 11312: 0x59EC, - 11313: 0x7EE9, - 11314: 0x7F09, - 11315: 0x5409, - 11316: 0x6781, - 11317: 0x68D8, - 11318: 0x8F91, - 11319: 0x7C4D, - 11320: 0x96C6, - 11321: 0x53CA, - 11322: 0x6025, - 11323: 0x75BE, - 11324: 0x6C72, - 11325: 0x5373, - 11326: 0x5AC9, - 11327: 0x7EA7, - 11328: 0x6324, - 11329: 0x51E0, - 11330: 0x810A, - 11331: 0x5DF1, - 11332: 0x84DF, - 11333: 0x6280, - 11334: 0x5180, - 11335: 0x5B63, - 11336: 0x4F0E, - 11337: 0x796D, - 11338: 0x5242, - 11339: 0x60B8, - 11340: 0x6D4E, - 11341: 0x5BC4, - 11342: 0x5BC2, - 11343: 0x8BA1, - 11344: 0x8BB0, - 11345: 0x65E2, - 11346: 0x5FCC, - 11347: 0x9645, - 11348: 0x5993, - 11349: 0x7EE7, - 11350: 0x7EAA, - 11351: 0x5609, - 11352: 0x67B7, - 11353: 0x5939, - 11354: 0x4F73, - 11355: 0x5BB6, - 11356: 0x52A0, - 11357: 0x835A, - 11358: 0x988A, - 11359: 0x8D3E, - 11360: 0x7532, - 11361: 0x94BE, - 11362: 0x5047, - 11363: 0x7A3C, - 11364: 0x4EF7, - 11365: 0x67B6, - 11366: 0x9A7E, - 11367: 0x5AC1, - 11368: 0x6B7C, - 11369: 0x76D1, - 11370: 0x575A, - 11371: 0x5C16, - 11372: 0x7B3A, - 11373: 0x95F4, - 11374: 0x714E, - 11375: 0x517C, - 11376: 0x80A9, - 11377: 0x8270, - 11378: 0x5978, - 11379: 0x7F04, - 11380: 0x8327, - 11381: 0x68C0, - 11382: 0x67EC, - 11383: 0x78B1, - 11384: 0x7877, - 11385: 0x62E3, - 11386: 0x6361, - 11387: 0x7B80, - 11388: 0x4FED, - 11389: 0x526A, - 11390: 0x51CF, - 11391: 0x8350, - 11392: 0x69DB, - 11393: 0x9274, - 11394: 0x8DF5, - 11395: 0x8D31, - 11396: 0x89C1, - 11397: 0x952E, - 11398: 0x7BAD, - 11399: 0x4EF6, - 11400: 0x7D37, - 11401: 0x7D38, - 11402: 0x7D39, - 11403: 0x7D3A, - 11404: 0x7D3B, - 11405: 0x7D3C, - 11406: 0x7D3D, - 11407: 0x7D3E, - 11408: 0x7D3F, - 11409: 0x7D40, - 11410: 0x7D41, - 11411: 0x7D42, - 11412: 0x7D43, - 11413: 0x7D44, - 11414: 0x7D45, - 11415: 0x7D46, - 11416: 0x7D47, - 11417: 0x7D48, - 11418: 0x7D49, - 11419: 0x7D4A, - 11420: 0x7D4B, - 11421: 0x7D4C, - 11422: 0x7D4D, - 11423: 0x7D4E, - 11424: 0x7D4F, - 11425: 0x7D50, - 11426: 0x7D51, - 11427: 0x7D52, - 11428: 0x7D53, - 11429: 0x7D54, - 11430: 0x7D55, - 11431: 0x7D56, - 11432: 0x7D57, - 11433: 0x7D58, - 11434: 0x7D59, - 11435: 0x7D5A, - 11436: 0x7D5B, - 11437: 0x7D5C, - 11438: 0x7D5D, - 11439: 0x7D5E, - 11440: 0x7D5F, - 11441: 0x7D60, - 11442: 0x7D61, - 11443: 0x7D62, - 11444: 0x7D63, - 11445: 0x7D64, - 11446: 0x7D65, - 11447: 0x7D66, - 11448: 0x7D67, - 11449: 0x7D68, - 11450: 0x7D69, - 11451: 0x7D6A, - 11452: 0x7D6B, - 11453: 0x7D6C, - 11454: 0x7D6D, - 11455: 0x7D6F, - 11456: 0x7D70, - 11457: 0x7D71, - 11458: 0x7D72, - 11459: 0x7D73, - 11460: 0x7D74, - 11461: 0x7D75, - 11462: 0x7D76, - 11463: 0x7D78, - 11464: 0x7D79, - 11465: 0x7D7A, - 11466: 0x7D7B, - 11467: 0x7D7C, - 11468: 0x7D7D, - 11469: 0x7D7E, - 11470: 0x7D7F, - 11471: 0x7D80, - 11472: 0x7D81, - 11473: 0x7D82, - 11474: 0x7D83, - 11475: 0x7D84, - 11476: 0x7D85, - 11477: 0x7D86, - 11478: 0x7D87, - 11479: 0x7D88, - 11480: 0x7D89, - 11481: 0x7D8A, - 11482: 0x7D8B, - 11483: 0x7D8C, - 11484: 0x7D8D, - 11485: 0x7D8E, - 11486: 0x7D8F, - 11487: 0x7D90, - 11488: 0x7D91, - 11489: 0x7D92, - 11490: 0x7D93, - 11491: 0x7D94, - 11492: 0x7D95, - 11493: 0x7D96, - 11494: 0x7D97, - 11495: 0x7D98, - 11496: 0x5065, - 11497: 0x8230, - 11498: 0x5251, - 11499: 0x996F, - 11500: 0x6E10, - 11501: 0x6E85, - 11502: 0x6DA7, - 11503: 0x5EFA, - 11504: 0x50F5, - 11505: 0x59DC, - 11506: 0x5C06, - 11507: 0x6D46, - 11508: 0x6C5F, - 11509: 0x7586, - 11510: 0x848B, - 11511: 0x6868, - 11512: 0x5956, - 11513: 0x8BB2, - 11514: 0x5320, - 11515: 0x9171, - 11516: 0x964D, - 11517: 0x8549, - 11518: 0x6912, - 11519: 0x7901, - 11520: 0x7126, - 11521: 0x80F6, - 11522: 0x4EA4, - 11523: 0x90CA, - 11524: 0x6D47, - 11525: 0x9A84, - 11526: 0x5A07, - 11527: 0x56BC, - 11528: 0x6405, - 11529: 0x94F0, - 11530: 0x77EB, - 11531: 0x4FA5, - 11532: 0x811A, - 11533: 0x72E1, - 11534: 0x89D2, - 11535: 0x997A, - 11536: 0x7F34, - 11537: 0x7EDE, - 11538: 0x527F, - 11539: 0x6559, - 11540: 0x9175, - 11541: 0x8F7F, - 11542: 0x8F83, - 11543: 0x53EB, - 11544: 0x7A96, - 11545: 0x63ED, - 11546: 0x63A5, - 11547: 0x7686, - 11548: 0x79F8, - 11549: 0x8857, - 11550: 0x9636, - 11551: 0x622A, - 11552: 0x52AB, - 11553: 0x8282, - 11554: 0x6854, - 11555: 0x6770, - 11556: 0x6377, - 11557: 0x776B, - 11558: 0x7AED, - 11559: 0x6D01, - 11560: 0x7ED3, - 11561: 0x89E3, - 11562: 0x59D0, - 11563: 0x6212, - 11564: 0x85C9, - 11565: 0x82A5, - 11566: 0x754C, - 11567: 0x501F, - 11568: 0x4ECB, - 11569: 0x75A5, - 11570: 0x8BEB, - 11571: 0x5C4A, - 11572: 0x5DFE, - 11573: 0x7B4B, - 11574: 0x65A4, - 11575: 0x91D1, - 11576: 0x4ECA, - 11577: 0x6D25, - 11578: 0x895F, - 11579: 0x7D27, - 11580: 0x9526, - 11581: 0x4EC5, - 11582: 0x8C28, - 11583: 0x8FDB, - 11584: 0x9773, - 11585: 0x664B, - 11586: 0x7981, - 11587: 0x8FD1, - 11588: 0x70EC, - 11589: 0x6D78, - 11590: 0x7D99, - 11591: 0x7D9A, - 11592: 0x7D9B, - 11593: 0x7D9C, - 11594: 0x7D9D, - 11595: 0x7D9E, - 11596: 0x7D9F, - 11597: 0x7DA0, - 11598: 0x7DA1, - 11599: 0x7DA2, - 11600: 0x7DA3, - 11601: 0x7DA4, - 11602: 0x7DA5, - 11603: 0x7DA7, - 11604: 0x7DA8, - 11605: 0x7DA9, - 11606: 0x7DAA, - 11607: 0x7DAB, - 11608: 0x7DAC, - 11609: 0x7DAD, - 11610: 0x7DAF, - 11611: 0x7DB0, - 11612: 0x7DB1, - 11613: 0x7DB2, - 11614: 0x7DB3, - 11615: 0x7DB4, - 11616: 0x7DB5, - 11617: 0x7DB6, - 11618: 0x7DB7, - 11619: 0x7DB8, - 11620: 0x7DB9, - 11621: 0x7DBA, - 11622: 0x7DBB, - 11623: 0x7DBC, - 11624: 0x7DBD, - 11625: 0x7DBE, - 11626: 0x7DBF, - 11627: 0x7DC0, - 11628: 0x7DC1, - 11629: 0x7DC2, - 11630: 0x7DC3, - 11631: 0x7DC4, - 11632: 0x7DC5, - 11633: 0x7DC6, - 11634: 0x7DC7, - 11635: 0x7DC8, - 11636: 0x7DC9, - 11637: 0x7DCA, - 11638: 0x7DCB, - 11639: 0x7DCC, - 11640: 0x7DCD, - 11641: 0x7DCE, - 11642: 0x7DCF, - 11643: 0x7DD0, - 11644: 0x7DD1, - 11645: 0x7DD2, - 11646: 0x7DD3, - 11647: 0x7DD4, - 11648: 0x7DD5, - 11649: 0x7DD6, - 11650: 0x7DD7, - 11651: 0x7DD8, - 11652: 0x7DD9, - 11653: 0x7DDA, - 11654: 0x7DDB, - 11655: 0x7DDC, - 11656: 0x7DDD, - 11657: 0x7DDE, - 11658: 0x7DDF, - 11659: 0x7DE0, - 11660: 0x7DE1, - 11661: 0x7DE2, - 11662: 0x7DE3, - 11663: 0x7DE4, - 11664: 0x7DE5, - 11665: 0x7DE6, - 11666: 0x7DE7, - 11667: 0x7DE8, - 11668: 0x7DE9, - 11669: 0x7DEA, - 11670: 0x7DEB, - 11671: 0x7DEC, - 11672: 0x7DED, - 11673: 0x7DEE, - 11674: 0x7DEF, - 11675: 0x7DF0, - 11676: 0x7DF1, - 11677: 0x7DF2, - 11678: 0x7DF3, - 11679: 0x7DF4, - 11680: 0x7DF5, - 11681: 0x7DF6, - 11682: 0x7DF7, - 11683: 0x7DF8, - 11684: 0x7DF9, - 11685: 0x7DFA, - 11686: 0x5C3D, - 11687: 0x52B2, - 11688: 0x8346, - 11689: 0x5162, - 11690: 0x830E, - 11691: 0x775B, - 11692: 0x6676, - 11693: 0x9CB8, - 11694: 0x4EAC, - 11695: 0x60CA, - 11696: 0x7CBE, - 11697: 0x7CB3, - 11698: 0x7ECF, - 11699: 0x4E95, - 11700: 0x8B66, - 11701: 0x666F, - 11702: 0x9888, - 11703: 0x9759, - 11704: 0x5883, - 11705: 0x656C, - 11706: 0x955C, - 11707: 0x5F84, - 11708: 0x75C9, - 11709: 0x9756, - 11710: 0x7ADF, - 11711: 0x7ADE, - 11712: 0x51C0, - 11713: 0x70AF, - 11714: 0x7A98, - 11715: 0x63EA, - 11716: 0x7A76, - 11717: 0x7EA0, - 11718: 0x7396, - 11719: 0x97ED, - 11720: 0x4E45, - 11721: 0x7078, - 11722: 0x4E5D, - 11723: 0x9152, - 11724: 0x53A9, - 11725: 0x6551, - 11726: 0x65E7, - 11727: 0x81FC, - 11728: 0x8205, - 11729: 0x548E, - 11730: 0x5C31, - 11731: 0x759A, - 11732: 0x97A0, - 11733: 0x62D8, - 11734: 0x72D9, - 11735: 0x75BD, - 11736: 0x5C45, - 11737: 0x9A79, - 11738: 0x83CA, - 11739: 0x5C40, - 11740: 0x5480, - 11741: 0x77E9, - 11742: 0x4E3E, - 11743: 0x6CAE, - 11744: 0x805A, - 11745: 0x62D2, - 11746: 0x636E, - 11747: 0x5DE8, - 11748: 0x5177, - 11749: 0x8DDD, - 11750: 0x8E1E, - 11751: 0x952F, - 11752: 0x4FF1, - 11753: 0x53E5, - 11754: 0x60E7, - 11755: 0x70AC, - 11756: 0x5267, - 11757: 0x6350, - 11758: 0x9E43, - 11759: 0x5A1F, - 11760: 0x5026, - 11761: 0x7737, - 11762: 0x5377, - 11763: 0x7EE2, - 11764: 0x6485, - 11765: 0x652B, - 11766: 0x6289, - 11767: 0x6398, - 11768: 0x5014, - 11769: 0x7235, - 11770: 0x89C9, - 11771: 0x51B3, - 11772: 0x8BC0, - 11773: 0x7EDD, - 11774: 0x5747, - 11775: 0x83CC, - 11776: 0x94A7, - 11777: 0x519B, - 11778: 0x541B, - 11779: 0x5CFB, - 11780: 0x7DFB, - 11781: 0x7DFC, - 11782: 0x7DFD, - 11783: 0x7DFE, - 11784: 0x7DFF, - 11785: 0x7E00, - 11786: 0x7E01, - 11787: 0x7E02, - 11788: 0x7E03, - 11789: 0x7E04, - 11790: 0x7E05, - 11791: 0x7E06, - 11792: 0x7E07, - 11793: 0x7E08, - 11794: 0x7E09, - 11795: 0x7E0A, - 11796: 0x7E0B, - 11797: 0x7E0C, - 11798: 0x7E0D, - 11799: 0x7E0E, - 11800: 0x7E0F, - 11801: 0x7E10, - 11802: 0x7E11, - 11803: 0x7E12, - 11804: 0x7E13, - 11805: 0x7E14, - 11806: 0x7E15, - 11807: 0x7E16, - 11808: 0x7E17, - 11809: 0x7E18, - 11810: 0x7E19, - 11811: 0x7E1A, - 11812: 0x7E1B, - 11813: 0x7E1C, - 11814: 0x7E1D, - 11815: 0x7E1E, - 11816: 0x7E1F, - 11817: 0x7E20, - 11818: 0x7E21, - 11819: 0x7E22, - 11820: 0x7E23, - 11821: 0x7E24, - 11822: 0x7E25, - 11823: 0x7E26, - 11824: 0x7E27, - 11825: 0x7E28, - 11826: 0x7E29, - 11827: 0x7E2A, - 11828: 0x7E2B, - 11829: 0x7E2C, - 11830: 0x7E2D, - 11831: 0x7E2E, - 11832: 0x7E2F, - 11833: 0x7E30, - 11834: 0x7E31, - 11835: 0x7E32, - 11836: 0x7E33, - 11837: 0x7E34, - 11838: 0x7E35, - 11839: 0x7E36, - 11840: 0x7E37, - 11841: 0x7E38, - 11842: 0x7E39, - 11843: 0x7E3A, - 11844: 0x7E3C, - 11845: 0x7E3D, - 11846: 0x7E3E, - 11847: 0x7E3F, - 11848: 0x7E40, - 11849: 0x7E42, - 11850: 0x7E43, - 11851: 0x7E44, - 11852: 0x7E45, - 11853: 0x7E46, - 11854: 0x7E48, - 11855: 0x7E49, - 11856: 0x7E4A, - 11857: 0x7E4B, - 11858: 0x7E4C, - 11859: 0x7E4D, - 11860: 0x7E4E, - 11861: 0x7E4F, - 11862: 0x7E50, - 11863: 0x7E51, - 11864: 0x7E52, - 11865: 0x7E53, - 11866: 0x7E54, - 11867: 0x7E55, - 11868: 0x7E56, - 11869: 0x7E57, - 11870: 0x7E58, - 11871: 0x7E59, - 11872: 0x7E5A, - 11873: 0x7E5B, - 11874: 0x7E5C, - 11875: 0x7E5D, - 11876: 0x4FCA, - 11877: 0x7AE3, - 11878: 0x6D5A, - 11879: 0x90E1, - 11880: 0x9A8F, - 11881: 0x5580, - 11882: 0x5496, - 11883: 0x5361, - 11884: 0x54AF, - 11885: 0x5F00, - 11886: 0x63E9, - 11887: 0x6977, - 11888: 0x51EF, - 11889: 0x6168, - 11890: 0x520A, - 11891: 0x582A, - 11892: 0x52D8, - 11893: 0x574E, - 11894: 0x780D, - 11895: 0x770B, - 11896: 0x5EB7, - 11897: 0x6177, - 11898: 0x7CE0, - 11899: 0x625B, - 11900: 0x6297, - 11901: 0x4EA2, - 11902: 0x7095, - 11903: 0x8003, - 11904: 0x62F7, - 11905: 0x70E4, - 11906: 0x9760, - 11907: 0x5777, - 11908: 0x82DB, - 11909: 0x67EF, - 11910: 0x68F5, - 11911: 0x78D5, - 11912: 0x9897, - 11913: 0x79D1, - 11914: 0x58F3, - 11915: 0x54B3, - 11916: 0x53EF, - 11917: 0x6E34, - 11918: 0x514B, - 11919: 0x523B, - 11920: 0x5BA2, - 11921: 0x8BFE, - 11922: 0x80AF, - 11923: 0x5543, - 11924: 0x57A6, - 11925: 0x6073, - 11926: 0x5751, - 11927: 0x542D, - 11928: 0x7A7A, - 11929: 0x6050, - 11930: 0x5B54, - 11931: 0x63A7, - 11932: 0x62A0, - 11933: 0x53E3, - 11934: 0x6263, - 11935: 0x5BC7, - 11936: 0x67AF, - 11937: 0x54ED, - 11938: 0x7A9F, - 11939: 0x82E6, - 11940: 0x9177, - 11941: 0x5E93, - 11942: 0x88E4, - 11943: 0x5938, - 11944: 0x57AE, - 11945: 0x630E, - 11946: 0x8DE8, - 11947: 0x80EF, - 11948: 0x5757, - 11949: 0x7B77, - 11950: 0x4FA9, - 11951: 0x5FEB, - 11952: 0x5BBD, - 11953: 0x6B3E, - 11954: 0x5321, - 11955: 0x7B50, - 11956: 0x72C2, - 11957: 0x6846, - 11958: 0x77FF, - 11959: 0x7736, - 11960: 0x65F7, - 11961: 0x51B5, - 11962: 0x4E8F, - 11963: 0x76D4, - 11964: 0x5CBF, - 11965: 0x7AA5, - 11966: 0x8475, - 11967: 0x594E, - 11968: 0x9B41, - 11969: 0x5080, - 11970: 0x7E5E, - 11971: 0x7E5F, - 11972: 0x7E60, - 11973: 0x7E61, - 11974: 0x7E62, - 11975: 0x7E63, - 11976: 0x7E64, - 11977: 0x7E65, - 11978: 0x7E66, - 11979: 0x7E67, - 11980: 0x7E68, - 11981: 0x7E69, - 11982: 0x7E6A, - 11983: 0x7E6B, - 11984: 0x7E6C, - 11985: 0x7E6D, - 11986: 0x7E6E, - 11987: 0x7E6F, - 11988: 0x7E70, - 11989: 0x7E71, - 11990: 0x7E72, - 11991: 0x7E73, - 11992: 0x7E74, - 11993: 0x7E75, - 11994: 0x7E76, - 11995: 0x7E77, - 11996: 0x7E78, - 11997: 0x7E79, - 11998: 0x7E7A, - 11999: 0x7E7B, - 12000: 0x7E7C, - 12001: 0x7E7D, - 12002: 0x7E7E, - 12003: 0x7E7F, - 12004: 0x7E80, - 12005: 0x7E81, - 12006: 0x7E83, - 12007: 0x7E84, - 12008: 0x7E85, - 12009: 0x7E86, - 12010: 0x7E87, - 12011: 0x7E88, - 12012: 0x7E89, - 12013: 0x7E8A, - 12014: 0x7E8B, - 12015: 0x7E8C, - 12016: 0x7E8D, - 12017: 0x7E8E, - 12018: 0x7E8F, - 12019: 0x7E90, - 12020: 0x7E91, - 12021: 0x7E92, - 12022: 0x7E93, - 12023: 0x7E94, - 12024: 0x7E95, - 12025: 0x7E96, - 12026: 0x7E97, - 12027: 0x7E98, - 12028: 0x7E99, - 12029: 0x7E9A, - 12030: 0x7E9C, - 12031: 0x7E9D, - 12032: 0x7E9E, - 12033: 0x7EAE, - 12034: 0x7EB4, - 12035: 0x7EBB, - 12036: 0x7EBC, - 12037: 0x7ED6, - 12038: 0x7EE4, - 12039: 0x7EEC, - 12040: 0x7EF9, - 12041: 0x7F0A, - 12042: 0x7F10, - 12043: 0x7F1E, - 12044: 0x7F37, - 12045: 0x7F39, - 12046: 0x7F3B, - 12047: 0x7F3C, - 12048: 0x7F3D, - 12049: 0x7F3E, - 12050: 0x7F3F, - 12051: 0x7F40, - 12052: 0x7F41, - 12053: 0x7F43, - 12054: 0x7F46, - 12055: 0x7F47, - 12056: 0x7F48, - 12057: 0x7F49, - 12058: 0x7F4A, - 12059: 0x7F4B, - 12060: 0x7F4C, - 12061: 0x7F4D, - 12062: 0x7F4E, - 12063: 0x7F4F, - 12064: 0x7F52, - 12065: 0x7F53, - 12066: 0x9988, - 12067: 0x6127, - 12068: 0x6E83, - 12069: 0x5764, - 12070: 0x6606, - 12071: 0x6346, - 12072: 0x56F0, - 12073: 0x62EC, - 12074: 0x6269, - 12075: 0x5ED3, - 12076: 0x9614, - 12077: 0x5783, - 12078: 0x62C9, - 12079: 0x5587, - 12080: 0x8721, - 12081: 0x814A, - 12082: 0x8FA3, - 12083: 0x5566, - 12084: 0x83B1, - 12085: 0x6765, - 12086: 0x8D56, - 12087: 0x84DD, - 12088: 0x5A6A, - 12089: 0x680F, - 12090: 0x62E6, - 12091: 0x7BEE, - 12092: 0x9611, - 12093: 0x5170, - 12094: 0x6F9C, - 12095: 0x8C30, - 12096: 0x63FD, - 12097: 0x89C8, - 12098: 0x61D2, - 12099: 0x7F06, - 12100: 0x70C2, - 12101: 0x6EE5, - 12102: 0x7405, - 12103: 0x6994, - 12104: 0x72FC, - 12105: 0x5ECA, - 12106: 0x90CE, - 12107: 0x6717, - 12108: 0x6D6A, - 12109: 0x635E, - 12110: 0x52B3, - 12111: 0x7262, - 12112: 0x8001, - 12113: 0x4F6C, - 12114: 0x59E5, - 12115: 0x916A, - 12116: 0x70D9, - 12117: 0x6D9D, - 12118: 0x52D2, - 12119: 0x4E50, - 12120: 0x96F7, - 12121: 0x956D, - 12122: 0x857E, - 12123: 0x78CA, - 12124: 0x7D2F, - 12125: 0x5121, - 12126: 0x5792, - 12127: 0x64C2, - 12128: 0x808B, - 12129: 0x7C7B, - 12130: 0x6CEA, - 12131: 0x68F1, - 12132: 0x695E, - 12133: 0x51B7, - 12134: 0x5398, - 12135: 0x68A8, - 12136: 0x7281, - 12137: 0x9ECE, - 12138: 0x7BF1, - 12139: 0x72F8, - 12140: 0x79BB, - 12141: 0x6F13, - 12142: 0x7406, - 12143: 0x674E, - 12144: 0x91CC, - 12145: 0x9CA4, - 12146: 0x793C, - 12147: 0x8389, - 12148: 0x8354, - 12149: 0x540F, - 12150: 0x6817, - 12151: 0x4E3D, - 12152: 0x5389, - 12153: 0x52B1, - 12154: 0x783E, - 12155: 0x5386, - 12156: 0x5229, - 12157: 0x5088, - 12158: 0x4F8B, - 12159: 0x4FD0, - 12160: 0x7F56, - 12161: 0x7F59, - 12162: 0x7F5B, - 12163: 0x7F5C, - 12164: 0x7F5D, - 12165: 0x7F5E, - 12166: 0x7F60, - 12167: 0x7F63, - 12168: 0x7F64, - 12169: 0x7F65, - 12170: 0x7F66, - 12171: 0x7F67, - 12172: 0x7F6B, - 12173: 0x7F6C, - 12174: 0x7F6D, - 12175: 0x7F6F, - 12176: 0x7F70, - 12177: 0x7F73, - 12178: 0x7F75, - 12179: 0x7F76, - 12180: 0x7F77, - 12181: 0x7F78, - 12182: 0x7F7A, - 12183: 0x7F7B, - 12184: 0x7F7C, - 12185: 0x7F7D, - 12186: 0x7F7F, - 12187: 0x7F80, - 12188: 0x7F82, - 12189: 0x7F83, - 12190: 0x7F84, - 12191: 0x7F85, - 12192: 0x7F86, - 12193: 0x7F87, - 12194: 0x7F88, - 12195: 0x7F89, - 12196: 0x7F8B, - 12197: 0x7F8D, - 12198: 0x7F8F, - 12199: 0x7F90, - 12200: 0x7F91, - 12201: 0x7F92, - 12202: 0x7F93, - 12203: 0x7F95, - 12204: 0x7F96, - 12205: 0x7F97, - 12206: 0x7F98, - 12207: 0x7F99, - 12208: 0x7F9B, - 12209: 0x7F9C, - 12210: 0x7FA0, - 12211: 0x7FA2, - 12212: 0x7FA3, - 12213: 0x7FA5, - 12214: 0x7FA6, - 12215: 0x7FA8, - 12216: 0x7FA9, - 12217: 0x7FAA, - 12218: 0x7FAB, - 12219: 0x7FAC, - 12220: 0x7FAD, - 12221: 0x7FAE, - 12222: 0x7FB1, - 12223: 0x7FB3, - 12224: 0x7FB4, - 12225: 0x7FB5, - 12226: 0x7FB6, - 12227: 0x7FB7, - 12228: 0x7FBA, - 12229: 0x7FBB, - 12230: 0x7FBE, - 12231: 0x7FC0, - 12232: 0x7FC2, - 12233: 0x7FC3, - 12234: 0x7FC4, - 12235: 0x7FC6, - 12236: 0x7FC7, - 12237: 0x7FC8, - 12238: 0x7FC9, - 12239: 0x7FCB, - 12240: 0x7FCD, - 12241: 0x7FCF, - 12242: 0x7FD0, - 12243: 0x7FD1, - 12244: 0x7FD2, - 12245: 0x7FD3, - 12246: 0x7FD6, - 12247: 0x7FD7, - 12248: 0x7FD9, - 12249: 0x7FDA, - 12250: 0x7FDB, - 12251: 0x7FDC, - 12252: 0x7FDD, - 12253: 0x7FDE, - 12254: 0x7FE2, - 12255: 0x7FE3, - 12256: 0x75E2, - 12257: 0x7ACB, - 12258: 0x7C92, - 12259: 0x6CA5, - 12260: 0x96B6, - 12261: 0x529B, - 12262: 0x7483, - 12263: 0x54E9, - 12264: 0x4FE9, - 12265: 0x8054, - 12266: 0x83B2, - 12267: 0x8FDE, - 12268: 0x9570, - 12269: 0x5EC9, - 12270: 0x601C, - 12271: 0x6D9F, - 12272: 0x5E18, - 12273: 0x655B, - 12274: 0x8138, - 12275: 0x94FE, - 12276: 0x604B, - 12277: 0x70BC, - 12278: 0x7EC3, - 12279: 0x7CAE, - 12280: 0x51C9, - 12281: 0x6881, - 12282: 0x7CB1, - 12283: 0x826F, - 12284: 0x4E24, - 12285: 0x8F86, - 12286: 0x91CF, - 12287: 0x667E, - 12288: 0x4EAE, - 12289: 0x8C05, - 12290: 0x64A9, - 12291: 0x804A, - 12292: 0x50DA, - 12293: 0x7597, - 12294: 0x71CE, - 12295: 0x5BE5, - 12296: 0x8FBD, - 12297: 0x6F66, - 12298: 0x4E86, - 12299: 0x6482, - 12300: 0x9563, - 12301: 0x5ED6, - 12302: 0x6599, - 12303: 0x5217, - 12304: 0x88C2, - 12305: 0x70C8, - 12306: 0x52A3, - 12307: 0x730E, - 12308: 0x7433, - 12309: 0x6797, - 12310: 0x78F7, - 12311: 0x9716, - 12312: 0x4E34, - 12313: 0x90BB, - 12314: 0x9CDE, - 12315: 0x6DCB, - 12316: 0x51DB, - 12317: 0x8D41, - 12318: 0x541D, - 12319: 0x62CE, - 12320: 0x73B2, - 12321: 0x83F1, - 12322: 0x96F6, - 12323: 0x9F84, - 12324: 0x94C3, - 12325: 0x4F36, - 12326: 0x7F9A, - 12327: 0x51CC, - 12328: 0x7075, - 12329: 0x9675, - 12330: 0x5CAD, - 12331: 0x9886, - 12332: 0x53E6, - 12333: 0x4EE4, - 12334: 0x6E9C, - 12335: 0x7409, - 12336: 0x69B4, - 12337: 0x786B, - 12338: 0x998F, - 12339: 0x7559, - 12340: 0x5218, - 12341: 0x7624, - 12342: 0x6D41, - 12343: 0x67F3, - 12344: 0x516D, - 12345: 0x9F99, - 12346: 0x804B, - 12347: 0x5499, - 12348: 0x7B3C, - 12349: 0x7ABF, - 12350: 0x7FE4, - 12351: 0x7FE7, - 12352: 0x7FE8, - 12353: 0x7FEA, - 12354: 0x7FEB, - 12355: 0x7FEC, - 12356: 0x7FED, - 12357: 0x7FEF, - 12358: 0x7FF2, - 12359: 0x7FF4, - 12360: 0x7FF5, - 12361: 0x7FF6, - 12362: 0x7FF7, - 12363: 0x7FF8, - 12364: 0x7FF9, - 12365: 0x7FFA, - 12366: 0x7FFD, - 12367: 0x7FFE, - 12368: 0x7FFF, - 12369: 0x8002, - 12370: 0x8007, - 12371: 0x8008, - 12372: 0x8009, - 12373: 0x800A, - 12374: 0x800E, - 12375: 0x800F, - 12376: 0x8011, - 12377: 0x8013, - 12378: 0x801A, - 12379: 0x801B, - 12380: 0x801D, - 12381: 0x801E, - 12382: 0x801F, - 12383: 0x8021, - 12384: 0x8023, - 12385: 0x8024, - 12386: 0x802B, - 12387: 0x802C, - 12388: 0x802D, - 12389: 0x802E, - 12390: 0x802F, - 12391: 0x8030, - 12392: 0x8032, - 12393: 0x8034, - 12394: 0x8039, - 12395: 0x803A, - 12396: 0x803C, - 12397: 0x803E, - 12398: 0x8040, - 12399: 0x8041, - 12400: 0x8044, - 12401: 0x8045, - 12402: 0x8047, - 12403: 0x8048, - 12404: 0x8049, - 12405: 0x804E, - 12406: 0x804F, - 12407: 0x8050, - 12408: 0x8051, - 12409: 0x8053, - 12410: 0x8055, - 12411: 0x8056, - 12412: 0x8057, - 12413: 0x8059, - 12414: 0x805B, - 12415: 0x805C, - 12416: 0x805D, - 12417: 0x805E, - 12418: 0x805F, - 12419: 0x8060, - 12420: 0x8061, - 12421: 0x8062, - 12422: 0x8063, - 12423: 0x8064, - 12424: 0x8065, - 12425: 0x8066, - 12426: 0x8067, - 12427: 0x8068, - 12428: 0x806B, - 12429: 0x806C, - 12430: 0x806D, - 12431: 0x806E, - 12432: 0x806F, - 12433: 0x8070, - 12434: 0x8072, - 12435: 0x8073, - 12436: 0x8074, - 12437: 0x8075, - 12438: 0x8076, - 12439: 0x8077, - 12440: 0x8078, - 12441: 0x8079, - 12442: 0x807A, - 12443: 0x807B, - 12444: 0x807C, - 12445: 0x807D, - 12446: 0x9686, - 12447: 0x5784, - 12448: 0x62E2, - 12449: 0x9647, - 12450: 0x697C, - 12451: 0x5A04, - 12452: 0x6402, - 12453: 0x7BD3, - 12454: 0x6F0F, - 12455: 0x964B, - 12456: 0x82A6, - 12457: 0x5362, - 12458: 0x9885, - 12459: 0x5E90, - 12460: 0x7089, - 12461: 0x63B3, - 12462: 0x5364, - 12463: 0x864F, - 12464: 0x9C81, - 12465: 0x9E93, - 12466: 0x788C, - 12467: 0x9732, - 12468: 0x8DEF, - 12469: 0x8D42, - 12470: 0x9E7F, - 12471: 0x6F5E, - 12472: 0x7984, - 12473: 0x5F55, - 12474: 0x9646, - 12475: 0x622E, - 12476: 0x9A74, - 12477: 0x5415, - 12478: 0x94DD, - 12479: 0x4FA3, - 12480: 0x65C5, - 12481: 0x5C65, - 12482: 0x5C61, - 12483: 0x7F15, - 12484: 0x8651, - 12485: 0x6C2F, - 12486: 0x5F8B, - 12487: 0x7387, - 12488: 0x6EE4, - 12489: 0x7EFF, - 12490: 0x5CE6, - 12491: 0x631B, - 12492: 0x5B6A, - 12493: 0x6EE6, - 12494: 0x5375, - 12495: 0x4E71, - 12496: 0x63A0, - 12497: 0x7565, - 12498: 0x62A1, - 12499: 0x8F6E, - 12500: 0x4F26, - 12501: 0x4ED1, - 12502: 0x6CA6, - 12503: 0x7EB6, - 12504: 0x8BBA, - 12505: 0x841D, - 12506: 0x87BA, - 12507: 0x7F57, - 12508: 0x903B, - 12509: 0x9523, - 12510: 0x7BA9, - 12511: 0x9AA1, - 12512: 0x88F8, - 12513: 0x843D, - 12514: 0x6D1B, - 12515: 0x9A86, - 12516: 0x7EDC, - 12517: 0x5988, - 12518: 0x9EBB, - 12519: 0x739B, - 12520: 0x7801, - 12521: 0x8682, - 12522: 0x9A6C, - 12523: 0x9A82, - 12524: 0x561B, - 12525: 0x5417, - 12526: 0x57CB, - 12527: 0x4E70, - 12528: 0x9EA6, - 12529: 0x5356, - 12530: 0x8FC8, - 12531: 0x8109, - 12532: 0x7792, - 12533: 0x9992, - 12534: 0x86EE, - 12535: 0x6EE1, - 12536: 0x8513, - 12537: 0x66FC, - 12538: 0x6162, - 12539: 0x6F2B, - 12540: 0x807E, - 12541: 0x8081, - 12542: 0x8082, - 12543: 0x8085, - 12544: 0x8088, - 12545: 0x808A, - 12546: 0x808D, - 12547: 0x808E, - 12548: 0x808F, - 12549: 0x8090, - 12550: 0x8091, - 12551: 0x8092, - 12552: 0x8094, - 12553: 0x8095, - 12554: 0x8097, - 12555: 0x8099, - 12556: 0x809E, - 12557: 0x80A3, - 12558: 0x80A6, - 12559: 0x80A7, - 12560: 0x80A8, - 12561: 0x80AC, - 12562: 0x80B0, - 12563: 0x80B3, - 12564: 0x80B5, - 12565: 0x80B6, - 12566: 0x80B8, - 12567: 0x80B9, - 12568: 0x80BB, - 12569: 0x80C5, - 12570: 0x80C7, - 12571: 0x80C8, - 12572: 0x80C9, - 12573: 0x80CA, - 12574: 0x80CB, - 12575: 0x80CF, - 12576: 0x80D0, - 12577: 0x80D1, - 12578: 0x80D2, - 12579: 0x80D3, - 12580: 0x80D4, - 12581: 0x80D5, - 12582: 0x80D8, - 12583: 0x80DF, - 12584: 0x80E0, - 12585: 0x80E2, - 12586: 0x80E3, - 12587: 0x80E6, - 12588: 0x80EE, - 12589: 0x80F5, - 12590: 0x80F7, - 12591: 0x80F9, - 12592: 0x80FB, - 12593: 0x80FE, - 12594: 0x80FF, - 12595: 0x8100, - 12596: 0x8101, - 12597: 0x8103, - 12598: 0x8104, - 12599: 0x8105, - 12600: 0x8107, - 12601: 0x8108, - 12602: 0x810B, - 12603: 0x810C, - 12604: 0x8115, - 12605: 0x8117, - 12606: 0x8119, - 12607: 0x811B, - 12608: 0x811C, - 12609: 0x811D, - 12610: 0x811F, - 12611: 0x8120, - 12612: 0x8121, - 12613: 0x8122, - 12614: 0x8123, - 12615: 0x8124, - 12616: 0x8125, - 12617: 0x8126, - 12618: 0x8127, - 12619: 0x8128, - 12620: 0x8129, - 12621: 0x812A, - 12622: 0x812B, - 12623: 0x812D, - 12624: 0x812E, - 12625: 0x8130, - 12626: 0x8133, - 12627: 0x8134, - 12628: 0x8135, - 12629: 0x8137, - 12630: 0x8139, - 12631: 0x813A, - 12632: 0x813B, - 12633: 0x813C, - 12634: 0x813D, - 12635: 0x813F, - 12636: 0x8C29, - 12637: 0x8292, - 12638: 0x832B, - 12639: 0x76F2, - 12640: 0x6C13, - 12641: 0x5FD9, - 12642: 0x83BD, - 12643: 0x732B, - 12644: 0x8305, - 12645: 0x951A, - 12646: 0x6BDB, - 12647: 0x77DB, - 12648: 0x94C6, - 12649: 0x536F, - 12650: 0x8302, - 12651: 0x5192, - 12652: 0x5E3D, - 12653: 0x8C8C, - 12654: 0x8D38, - 12655: 0x4E48, - 12656: 0x73AB, - 12657: 0x679A, - 12658: 0x6885, - 12659: 0x9176, - 12660: 0x9709, - 12661: 0x7164, - 12662: 0x6CA1, - 12663: 0x7709, - 12664: 0x5A92, - 12665: 0x9541, - 12666: 0x6BCF, - 12667: 0x7F8E, - 12668: 0x6627, - 12669: 0x5BD0, - 12670: 0x59B9, - 12671: 0x5A9A, - 12672: 0x95E8, - 12673: 0x95F7, - 12674: 0x4EEC, - 12675: 0x840C, - 12676: 0x8499, - 12677: 0x6AAC, - 12678: 0x76DF, - 12679: 0x9530, - 12680: 0x731B, - 12681: 0x68A6, - 12682: 0x5B5F, - 12683: 0x772F, - 12684: 0x919A, - 12685: 0x9761, - 12686: 0x7CDC, - 12687: 0x8FF7, - 12688: 0x8C1C, - 12689: 0x5F25, - 12690: 0x7C73, - 12691: 0x79D8, - 12692: 0x89C5, - 12693: 0x6CCC, - 12694: 0x871C, - 12695: 0x5BC6, - 12696: 0x5E42, - 12697: 0x68C9, - 12698: 0x7720, - 12699: 0x7EF5, - 12700: 0x5195, - 12701: 0x514D, - 12702: 0x52C9, - 12703: 0x5A29, - 12704: 0x7F05, - 12705: 0x9762, - 12706: 0x82D7, - 12707: 0x63CF, - 12708: 0x7784, - 12709: 0x85D0, - 12710: 0x79D2, - 12711: 0x6E3A, - 12712: 0x5E99, - 12713: 0x5999, - 12714: 0x8511, - 12715: 0x706D, - 12716: 0x6C11, - 12717: 0x62BF, - 12718: 0x76BF, - 12719: 0x654F, - 12720: 0x60AF, - 12721: 0x95FD, - 12722: 0x660E, - 12723: 0x879F, - 12724: 0x9E23, - 12725: 0x94ED, - 12726: 0x540D, - 12727: 0x547D, - 12728: 0x8C2C, - 12729: 0x6478, - 12730: 0x8140, - 12731: 0x8141, - 12732: 0x8142, - 12733: 0x8143, - 12734: 0x8144, - 12735: 0x8145, - 12736: 0x8147, - 12737: 0x8149, - 12738: 0x814D, - 12739: 0x814E, - 12740: 0x814F, - 12741: 0x8152, - 12742: 0x8156, - 12743: 0x8157, - 12744: 0x8158, - 12745: 0x815B, - 12746: 0x815C, - 12747: 0x815D, - 12748: 0x815E, - 12749: 0x815F, - 12750: 0x8161, - 12751: 0x8162, - 12752: 0x8163, - 12753: 0x8164, - 12754: 0x8166, - 12755: 0x8168, - 12756: 0x816A, - 12757: 0x816B, - 12758: 0x816C, - 12759: 0x816F, - 12760: 0x8172, - 12761: 0x8173, - 12762: 0x8175, - 12763: 0x8176, - 12764: 0x8177, - 12765: 0x8178, - 12766: 0x8181, - 12767: 0x8183, - 12768: 0x8184, - 12769: 0x8185, - 12770: 0x8186, - 12771: 0x8187, - 12772: 0x8189, - 12773: 0x818B, - 12774: 0x818C, - 12775: 0x818D, - 12776: 0x818E, - 12777: 0x8190, - 12778: 0x8192, - 12779: 0x8193, - 12780: 0x8194, - 12781: 0x8195, - 12782: 0x8196, - 12783: 0x8197, - 12784: 0x8199, - 12785: 0x819A, - 12786: 0x819E, - 12787: 0x819F, - 12788: 0x81A0, - 12789: 0x81A1, - 12790: 0x81A2, - 12791: 0x81A4, - 12792: 0x81A5, - 12793: 0x81A7, - 12794: 0x81A9, - 12795: 0x81AB, - 12796: 0x81AC, - 12797: 0x81AD, - 12798: 0x81AE, - 12799: 0x81AF, - 12800: 0x81B0, - 12801: 0x81B1, - 12802: 0x81B2, - 12803: 0x81B4, - 12804: 0x81B5, - 12805: 0x81B6, - 12806: 0x81B7, - 12807: 0x81B8, - 12808: 0x81B9, - 12809: 0x81BC, - 12810: 0x81BD, - 12811: 0x81BE, - 12812: 0x81BF, - 12813: 0x81C4, - 12814: 0x81C5, - 12815: 0x81C7, - 12816: 0x81C8, - 12817: 0x81C9, - 12818: 0x81CB, - 12819: 0x81CD, - 12820: 0x81CE, - 12821: 0x81CF, - 12822: 0x81D0, - 12823: 0x81D1, - 12824: 0x81D2, - 12825: 0x81D3, - 12826: 0x6479, - 12827: 0x8611, - 12828: 0x6A21, - 12829: 0x819C, - 12830: 0x78E8, - 12831: 0x6469, - 12832: 0x9B54, - 12833: 0x62B9, - 12834: 0x672B, - 12835: 0x83AB, - 12836: 0x58A8, - 12837: 0x9ED8, - 12838: 0x6CAB, - 12839: 0x6F20, - 12840: 0x5BDE, - 12841: 0x964C, - 12842: 0x8C0B, - 12843: 0x725F, - 12844: 0x67D0, - 12845: 0x62C7, - 12846: 0x7261, - 12847: 0x4EA9, - 12848: 0x59C6, - 12849: 0x6BCD, - 12850: 0x5893, - 12851: 0x66AE, - 12852: 0x5E55, - 12853: 0x52DF, - 12854: 0x6155, - 12855: 0x6728, - 12856: 0x76EE, - 12857: 0x7766, - 12858: 0x7267, - 12859: 0x7A46, - 12860: 0x62FF, - 12861: 0x54EA, - 12862: 0x5450, - 12863: 0x94A0, - 12864: 0x90A3, - 12865: 0x5A1C, - 12866: 0x7EB3, - 12867: 0x6C16, - 12868: 0x4E43, - 12869: 0x5976, - 12870: 0x8010, - 12871: 0x5948, - 12872: 0x5357, - 12873: 0x7537, - 12874: 0x96BE, - 12875: 0x56CA, - 12876: 0x6320, - 12877: 0x8111, - 12878: 0x607C, - 12879: 0x95F9, - 12880: 0x6DD6, - 12881: 0x5462, - 12882: 0x9981, - 12883: 0x5185, - 12884: 0x5AE9, - 12885: 0x80FD, - 12886: 0x59AE, - 12887: 0x9713, - 12888: 0x502A, - 12889: 0x6CE5, - 12890: 0x5C3C, - 12891: 0x62DF, - 12892: 0x4F60, - 12893: 0x533F, - 12894: 0x817B, - 12895: 0x9006, - 12896: 0x6EBA, - 12897: 0x852B, - 12898: 0x62C8, - 12899: 0x5E74, - 12900: 0x78BE, - 12901: 0x64B5, - 12902: 0x637B, - 12903: 0x5FF5, - 12904: 0x5A18, - 12905: 0x917F, - 12906: 0x9E1F, - 12907: 0x5C3F, - 12908: 0x634F, - 12909: 0x8042, - 12910: 0x5B7D, - 12911: 0x556E, - 12912: 0x954A, - 12913: 0x954D, - 12914: 0x6D85, - 12915: 0x60A8, - 12916: 0x67E0, - 12917: 0x72DE, - 12918: 0x51DD, - 12919: 0x5B81, - 12920: 0x81D4, - 12921: 0x81D5, - 12922: 0x81D6, - 12923: 0x81D7, - 12924: 0x81D8, - 12925: 0x81D9, - 12926: 0x81DA, - 12927: 0x81DB, - 12928: 0x81DC, - 12929: 0x81DD, - 12930: 0x81DE, - 12931: 0x81DF, - 12932: 0x81E0, - 12933: 0x81E1, - 12934: 0x81E2, - 12935: 0x81E4, - 12936: 0x81E5, - 12937: 0x81E6, - 12938: 0x81E8, - 12939: 0x81E9, - 12940: 0x81EB, - 12941: 0x81EE, - 12942: 0x81EF, - 12943: 0x81F0, - 12944: 0x81F1, - 12945: 0x81F2, - 12946: 0x81F5, - 12947: 0x81F6, - 12948: 0x81F7, - 12949: 0x81F8, - 12950: 0x81F9, - 12951: 0x81FA, - 12952: 0x81FD, - 12953: 0x81FF, - 12954: 0x8203, - 12955: 0x8207, - 12956: 0x8208, - 12957: 0x8209, - 12958: 0x820A, - 12959: 0x820B, - 12960: 0x820E, - 12961: 0x820F, - 12962: 0x8211, - 12963: 0x8213, - 12964: 0x8215, - 12965: 0x8216, - 12966: 0x8217, - 12967: 0x8218, - 12968: 0x8219, - 12969: 0x821A, - 12970: 0x821D, - 12971: 0x8220, - 12972: 0x8224, - 12973: 0x8225, - 12974: 0x8226, - 12975: 0x8227, - 12976: 0x8229, - 12977: 0x822E, - 12978: 0x8232, - 12979: 0x823A, - 12980: 0x823C, - 12981: 0x823D, - 12982: 0x823F, - 12983: 0x8240, - 12984: 0x8241, - 12985: 0x8242, - 12986: 0x8243, - 12987: 0x8245, - 12988: 0x8246, - 12989: 0x8248, - 12990: 0x824A, - 12991: 0x824C, - 12992: 0x824D, - 12993: 0x824E, - 12994: 0x8250, - 12995: 0x8251, - 12996: 0x8252, - 12997: 0x8253, - 12998: 0x8254, - 12999: 0x8255, - 13000: 0x8256, - 13001: 0x8257, - 13002: 0x8259, - 13003: 0x825B, - 13004: 0x825C, - 13005: 0x825D, - 13006: 0x825E, - 13007: 0x8260, - 13008: 0x8261, - 13009: 0x8262, - 13010: 0x8263, - 13011: 0x8264, - 13012: 0x8265, - 13013: 0x8266, - 13014: 0x8267, - 13015: 0x8269, - 13016: 0x62E7, - 13017: 0x6CDE, - 13018: 0x725B, - 13019: 0x626D, - 13020: 0x94AE, - 13021: 0x7EBD, - 13022: 0x8113, - 13023: 0x6D53, - 13024: 0x519C, - 13025: 0x5F04, - 13026: 0x5974, - 13027: 0x52AA, - 13028: 0x6012, - 13029: 0x5973, - 13030: 0x6696, - 13031: 0x8650, - 13032: 0x759F, - 13033: 0x632A, - 13034: 0x61E6, - 13035: 0x7CEF, - 13036: 0x8BFA, - 13037: 0x54E6, - 13038: 0x6B27, - 13039: 0x9E25, - 13040: 0x6BB4, - 13041: 0x85D5, - 13042: 0x5455, - 13043: 0x5076, - 13044: 0x6CA4, - 13045: 0x556A, - 13046: 0x8DB4, - 13047: 0x722C, - 13048: 0x5E15, - 13049: 0x6015, - 13050: 0x7436, - 13051: 0x62CD, - 13052: 0x6392, - 13053: 0x724C, - 13054: 0x5F98, - 13055: 0x6E43, - 13056: 0x6D3E, - 13057: 0x6500, - 13058: 0x6F58, - 13059: 0x76D8, - 13060: 0x78D0, - 13061: 0x76FC, - 13062: 0x7554, - 13063: 0x5224, - 13064: 0x53DB, - 13065: 0x4E53, - 13066: 0x5E9E, - 13067: 0x65C1, - 13068: 0x802A, - 13069: 0x80D6, - 13070: 0x629B, - 13071: 0x5486, - 13072: 0x5228, - 13073: 0x70AE, - 13074: 0x888D, - 13075: 0x8DD1, - 13076: 0x6CE1, - 13077: 0x5478, - 13078: 0x80DA, - 13079: 0x57F9, - 13080: 0x88F4, - 13081: 0x8D54, - 13082: 0x966A, - 13083: 0x914D, - 13084: 0x4F69, - 13085: 0x6C9B, - 13086: 0x55B7, - 13087: 0x76C6, - 13088: 0x7830, - 13089: 0x62A8, - 13090: 0x70F9, - 13091: 0x6F8E, - 13092: 0x5F6D, - 13093: 0x84EC, - 13094: 0x68DA, - 13095: 0x787C, - 13096: 0x7BF7, - 13097: 0x81A8, - 13098: 0x670B, - 13099: 0x9E4F, - 13100: 0x6367, - 13101: 0x78B0, - 13102: 0x576F, - 13103: 0x7812, - 13104: 0x9739, - 13105: 0x6279, - 13106: 0x62AB, - 13107: 0x5288, - 13108: 0x7435, - 13109: 0x6BD7, - 13110: 0x826A, - 13111: 0x826B, - 13112: 0x826C, - 13113: 0x826D, - 13114: 0x8271, - 13115: 0x8275, - 13116: 0x8276, - 13117: 0x8277, - 13118: 0x8278, - 13119: 0x827B, - 13120: 0x827C, - 13121: 0x8280, - 13122: 0x8281, - 13123: 0x8283, - 13124: 0x8285, - 13125: 0x8286, - 13126: 0x8287, - 13127: 0x8289, - 13128: 0x828C, - 13129: 0x8290, - 13130: 0x8293, - 13131: 0x8294, - 13132: 0x8295, - 13133: 0x8296, - 13134: 0x829A, - 13135: 0x829B, - 13136: 0x829E, - 13137: 0x82A0, - 13138: 0x82A2, - 13139: 0x82A3, - 13140: 0x82A7, - 13141: 0x82B2, - 13142: 0x82B5, - 13143: 0x82B6, - 13144: 0x82BA, - 13145: 0x82BB, - 13146: 0x82BC, - 13147: 0x82BF, - 13148: 0x82C0, - 13149: 0x82C2, - 13150: 0x82C3, - 13151: 0x82C5, - 13152: 0x82C6, - 13153: 0x82C9, - 13154: 0x82D0, - 13155: 0x82D6, - 13156: 0x82D9, - 13157: 0x82DA, - 13158: 0x82DD, - 13159: 0x82E2, - 13160: 0x82E7, - 13161: 0x82E8, - 13162: 0x82E9, - 13163: 0x82EA, - 13164: 0x82EC, - 13165: 0x82ED, - 13166: 0x82EE, - 13167: 0x82F0, - 13168: 0x82F2, - 13169: 0x82F3, - 13170: 0x82F5, - 13171: 0x82F6, - 13172: 0x82F8, - 13173: 0x82FA, - 13174: 0x82FC, - 13175: 0x82FD, - 13176: 0x82FE, - 13177: 0x82FF, - 13178: 0x8300, - 13179: 0x830A, - 13180: 0x830B, - 13181: 0x830D, - 13182: 0x8310, - 13183: 0x8312, - 13184: 0x8313, - 13185: 0x8316, - 13186: 0x8318, - 13187: 0x8319, - 13188: 0x831D, - 13189: 0x831E, - 13190: 0x831F, - 13191: 0x8320, - 13192: 0x8321, - 13193: 0x8322, - 13194: 0x8323, - 13195: 0x8324, - 13196: 0x8325, - 13197: 0x8326, - 13198: 0x8329, - 13199: 0x832A, - 13200: 0x832E, - 13201: 0x8330, - 13202: 0x8332, - 13203: 0x8337, - 13204: 0x833B, - 13205: 0x833D, - 13206: 0x5564, - 13207: 0x813E, - 13208: 0x75B2, - 13209: 0x76AE, - 13210: 0x5339, - 13211: 0x75DE, - 13212: 0x50FB, - 13213: 0x5C41, - 13214: 0x8B6C, - 13215: 0x7BC7, - 13216: 0x504F, - 13217: 0x7247, - 13218: 0x9A97, - 13219: 0x98D8, - 13220: 0x6F02, - 13221: 0x74E2, - 13222: 0x7968, - 13223: 0x6487, - 13224: 0x77A5, - 13225: 0x62FC, - 13226: 0x9891, - 13227: 0x8D2B, - 13228: 0x54C1, - 13229: 0x8058, - 13230: 0x4E52, - 13231: 0x576A, - 13232: 0x82F9, - 13233: 0x840D, - 13234: 0x5E73, - 13235: 0x51ED, - 13236: 0x74F6, - 13237: 0x8BC4, - 13238: 0x5C4F, - 13239: 0x5761, - 13240: 0x6CFC, - 13241: 0x9887, - 13242: 0x5A46, - 13243: 0x7834, - 13244: 0x9B44, - 13245: 0x8FEB, - 13246: 0x7C95, - 13247: 0x5256, - 13248: 0x6251, - 13249: 0x94FA, - 13250: 0x4EC6, - 13251: 0x8386, - 13252: 0x8461, - 13253: 0x83E9, - 13254: 0x84B2, - 13255: 0x57D4, - 13256: 0x6734, - 13257: 0x5703, - 13258: 0x666E, - 13259: 0x6D66, - 13260: 0x8C31, - 13261: 0x66DD, - 13262: 0x7011, - 13263: 0x671F, - 13264: 0x6B3A, - 13265: 0x6816, - 13266: 0x621A, - 13267: 0x59BB, - 13268: 0x4E03, - 13269: 0x51C4, - 13270: 0x6F06, - 13271: 0x67D2, - 13272: 0x6C8F, - 13273: 0x5176, - 13274: 0x68CB, - 13275: 0x5947, - 13276: 0x6B67, - 13277: 0x7566, - 13278: 0x5D0E, - 13279: 0x8110, - 13280: 0x9F50, - 13281: 0x65D7, - 13282: 0x7948, - 13283: 0x7941, - 13284: 0x9A91, - 13285: 0x8D77, - 13286: 0x5C82, - 13287: 0x4E5E, - 13288: 0x4F01, - 13289: 0x542F, - 13290: 0x5951, - 13291: 0x780C, - 13292: 0x5668, - 13293: 0x6C14, - 13294: 0x8FC4, - 13295: 0x5F03, - 13296: 0x6C7D, - 13297: 0x6CE3, - 13298: 0x8BAB, - 13299: 0x6390, - 13300: 0x833E, - 13301: 0x833F, - 13302: 0x8341, - 13303: 0x8342, - 13304: 0x8344, - 13305: 0x8345, - 13306: 0x8348, - 13307: 0x834A, - 13308: 0x834B, - 13309: 0x834C, - 13310: 0x834D, - 13311: 0x834E, - 13312: 0x8353, - 13313: 0x8355, - 13314: 0x8356, - 13315: 0x8357, - 13316: 0x8358, - 13317: 0x8359, - 13318: 0x835D, - 13319: 0x8362, - 13320: 0x8370, - 13321: 0x8371, - 13322: 0x8372, - 13323: 0x8373, - 13324: 0x8374, - 13325: 0x8375, - 13326: 0x8376, - 13327: 0x8379, - 13328: 0x837A, - 13329: 0x837E, - 13330: 0x837F, - 13331: 0x8380, - 13332: 0x8381, - 13333: 0x8382, - 13334: 0x8383, - 13335: 0x8384, - 13336: 0x8387, - 13337: 0x8388, - 13338: 0x838A, - 13339: 0x838B, - 13340: 0x838C, - 13341: 0x838D, - 13342: 0x838F, - 13343: 0x8390, - 13344: 0x8391, - 13345: 0x8394, - 13346: 0x8395, - 13347: 0x8396, - 13348: 0x8397, - 13349: 0x8399, - 13350: 0x839A, - 13351: 0x839D, - 13352: 0x839F, - 13353: 0x83A1, - 13354: 0x83A2, - 13355: 0x83A3, - 13356: 0x83A4, - 13357: 0x83A5, - 13358: 0x83A6, - 13359: 0x83A7, - 13360: 0x83AC, - 13361: 0x83AD, - 13362: 0x83AE, - 13363: 0x83AF, - 13364: 0x83B5, - 13365: 0x83BB, - 13366: 0x83BE, - 13367: 0x83BF, - 13368: 0x83C2, - 13369: 0x83C3, - 13370: 0x83C4, - 13371: 0x83C6, - 13372: 0x83C8, - 13373: 0x83C9, - 13374: 0x83CB, - 13375: 0x83CD, - 13376: 0x83CE, - 13377: 0x83D0, - 13378: 0x83D1, - 13379: 0x83D2, - 13380: 0x83D3, - 13381: 0x83D5, - 13382: 0x83D7, - 13383: 0x83D9, - 13384: 0x83DA, - 13385: 0x83DB, - 13386: 0x83DE, - 13387: 0x83E2, - 13388: 0x83E3, - 13389: 0x83E4, - 13390: 0x83E6, - 13391: 0x83E7, - 13392: 0x83E8, - 13393: 0x83EB, - 13394: 0x83EC, - 13395: 0x83ED, - 13396: 0x6070, - 13397: 0x6D3D, - 13398: 0x7275, - 13399: 0x6266, - 13400: 0x948E, - 13401: 0x94C5, - 13402: 0x5343, - 13403: 0x8FC1, - 13404: 0x7B7E, - 13405: 0x4EDF, - 13406: 0x8C26, - 13407: 0x4E7E, - 13408: 0x9ED4, - 13409: 0x94B1, - 13410: 0x94B3, - 13411: 0x524D, - 13412: 0x6F5C, - 13413: 0x9063, - 13414: 0x6D45, - 13415: 0x8C34, - 13416: 0x5811, - 13417: 0x5D4C, - 13418: 0x6B20, - 13419: 0x6B49, - 13420: 0x67AA, - 13421: 0x545B, - 13422: 0x8154, - 13423: 0x7F8C, - 13424: 0x5899, - 13425: 0x8537, - 13426: 0x5F3A, - 13427: 0x62A2, - 13428: 0x6A47, - 13429: 0x9539, - 13430: 0x6572, - 13431: 0x6084, - 13432: 0x6865, - 13433: 0x77A7, - 13434: 0x4E54, - 13435: 0x4FA8, - 13436: 0x5DE7, - 13437: 0x9798, - 13438: 0x64AC, - 13439: 0x7FD8, - 13440: 0x5CED, - 13441: 0x4FCF, - 13442: 0x7A8D, - 13443: 0x5207, - 13444: 0x8304, - 13445: 0x4E14, - 13446: 0x602F, - 13447: 0x7A83, - 13448: 0x94A6, - 13449: 0x4FB5, - 13450: 0x4EB2, - 13451: 0x79E6, - 13452: 0x7434, - 13453: 0x52E4, - 13454: 0x82B9, - 13455: 0x64D2, - 13456: 0x79BD, - 13457: 0x5BDD, - 13458: 0x6C81, - 13459: 0x9752, - 13460: 0x8F7B, - 13461: 0x6C22, - 13462: 0x503E, - 13463: 0x537F, - 13464: 0x6E05, - 13465: 0x64CE, - 13466: 0x6674, - 13467: 0x6C30, - 13468: 0x60C5, - 13469: 0x9877, - 13470: 0x8BF7, - 13471: 0x5E86, - 13472: 0x743C, - 13473: 0x7A77, - 13474: 0x79CB, - 13475: 0x4E18, - 13476: 0x90B1, - 13477: 0x7403, - 13478: 0x6C42, - 13479: 0x56DA, - 13480: 0x914B, - 13481: 0x6CC5, - 13482: 0x8D8B, - 13483: 0x533A, - 13484: 0x86C6, - 13485: 0x66F2, - 13486: 0x8EAF, - 13487: 0x5C48, - 13488: 0x9A71, - 13489: 0x6E20, - 13490: 0x83EE, - 13491: 0x83EF, - 13492: 0x83F3, - 13493: 0x83F4, - 13494: 0x83F5, - 13495: 0x83F6, - 13496: 0x83F7, - 13497: 0x83FA, - 13498: 0x83FB, - 13499: 0x83FC, - 13500: 0x83FE, - 13501: 0x83FF, - 13502: 0x8400, - 13503: 0x8402, - 13504: 0x8405, - 13505: 0x8407, - 13506: 0x8408, - 13507: 0x8409, - 13508: 0x840A, - 13509: 0x8410, - 13510: 0x8412, - 13511: 0x8413, - 13512: 0x8414, - 13513: 0x8415, - 13514: 0x8416, - 13515: 0x8417, - 13516: 0x8419, - 13517: 0x841A, - 13518: 0x841B, - 13519: 0x841E, - 13520: 0x841F, - 13521: 0x8420, - 13522: 0x8421, - 13523: 0x8422, - 13524: 0x8423, - 13525: 0x8429, - 13526: 0x842A, - 13527: 0x842B, - 13528: 0x842C, - 13529: 0x842D, - 13530: 0x842E, - 13531: 0x842F, - 13532: 0x8430, - 13533: 0x8432, - 13534: 0x8433, - 13535: 0x8434, - 13536: 0x8435, - 13537: 0x8436, - 13538: 0x8437, - 13539: 0x8439, - 13540: 0x843A, - 13541: 0x843B, - 13542: 0x843E, - 13543: 0x843F, - 13544: 0x8440, - 13545: 0x8441, - 13546: 0x8442, - 13547: 0x8443, - 13548: 0x8444, - 13549: 0x8445, - 13550: 0x8447, - 13551: 0x8448, - 13552: 0x8449, - 13553: 0x844A, - 13554: 0x844B, - 13555: 0x844C, - 13556: 0x844D, - 13557: 0x844E, - 13558: 0x844F, - 13559: 0x8450, - 13560: 0x8452, - 13561: 0x8453, - 13562: 0x8454, - 13563: 0x8455, - 13564: 0x8456, - 13565: 0x8458, - 13566: 0x845D, - 13567: 0x845E, - 13568: 0x845F, - 13569: 0x8460, - 13570: 0x8462, - 13571: 0x8464, - 13572: 0x8465, - 13573: 0x8466, - 13574: 0x8467, - 13575: 0x8468, - 13576: 0x846A, - 13577: 0x846E, - 13578: 0x846F, - 13579: 0x8470, - 13580: 0x8472, - 13581: 0x8474, - 13582: 0x8477, - 13583: 0x8479, - 13584: 0x847B, - 13585: 0x847C, - 13586: 0x53D6, - 13587: 0x5A36, - 13588: 0x9F8B, - 13589: 0x8DA3, - 13590: 0x53BB, - 13591: 0x5708, - 13592: 0x98A7, - 13593: 0x6743, - 13594: 0x919B, - 13595: 0x6CC9, - 13596: 0x5168, - 13597: 0x75CA, - 13598: 0x62F3, - 13599: 0x72AC, - 13600: 0x5238, - 13601: 0x529D, - 13602: 0x7F3A, - 13603: 0x7094, - 13604: 0x7638, - 13605: 0x5374, - 13606: 0x9E4A, - 13607: 0x69B7, - 13608: 0x786E, - 13609: 0x96C0, - 13610: 0x88D9, - 13611: 0x7FA4, - 13612: 0x7136, - 13613: 0x71C3, - 13614: 0x5189, - 13615: 0x67D3, - 13616: 0x74E4, - 13617: 0x58E4, - 13618: 0x6518, - 13619: 0x56B7, - 13620: 0x8BA9, - 13621: 0x9976, - 13622: 0x6270, - 13623: 0x7ED5, - 13624: 0x60F9, - 13625: 0x70ED, - 13626: 0x58EC, - 13627: 0x4EC1, - 13628: 0x4EBA, - 13629: 0x5FCD, - 13630: 0x97E7, - 13631: 0x4EFB, - 13632: 0x8BA4, - 13633: 0x5203, - 13634: 0x598A, - 13635: 0x7EAB, - 13636: 0x6254, - 13637: 0x4ECD, - 13638: 0x65E5, - 13639: 0x620E, - 13640: 0x8338, - 13641: 0x84C9, - 13642: 0x8363, - 13643: 0x878D, - 13644: 0x7194, - 13645: 0x6EB6, - 13646: 0x5BB9, - 13647: 0x7ED2, - 13648: 0x5197, - 13649: 0x63C9, - 13650: 0x67D4, - 13651: 0x8089, - 13652: 0x8339, - 13653: 0x8815, - 13654: 0x5112, - 13655: 0x5B7A, - 13656: 0x5982, - 13657: 0x8FB1, - 13658: 0x4E73, - 13659: 0x6C5D, - 13660: 0x5165, - 13661: 0x8925, - 13662: 0x8F6F, - 13663: 0x962E, - 13664: 0x854A, - 13665: 0x745E, - 13666: 0x9510, - 13667: 0x95F0, - 13668: 0x6DA6, - 13669: 0x82E5, - 13670: 0x5F31, - 13671: 0x6492, - 13672: 0x6D12, - 13673: 0x8428, - 13674: 0x816E, - 13675: 0x9CC3, - 13676: 0x585E, - 13677: 0x8D5B, - 13678: 0x4E09, - 13679: 0x53C1, - 13680: 0x847D, - 13681: 0x847E, - 13682: 0x847F, - 13683: 0x8480, - 13684: 0x8481, - 13685: 0x8483, - 13686: 0x8484, - 13687: 0x8485, - 13688: 0x8486, - 13689: 0x848A, - 13690: 0x848D, - 13691: 0x848F, - 13692: 0x8490, - 13693: 0x8491, - 13694: 0x8492, - 13695: 0x8493, - 13696: 0x8494, - 13697: 0x8495, - 13698: 0x8496, - 13699: 0x8498, - 13700: 0x849A, - 13701: 0x849B, - 13702: 0x849D, - 13703: 0x849E, - 13704: 0x849F, - 13705: 0x84A0, - 13706: 0x84A2, - 13707: 0x84A3, - 13708: 0x84A4, - 13709: 0x84A5, - 13710: 0x84A6, - 13711: 0x84A7, - 13712: 0x84A8, - 13713: 0x84A9, - 13714: 0x84AA, - 13715: 0x84AB, - 13716: 0x84AC, - 13717: 0x84AD, - 13718: 0x84AE, - 13719: 0x84B0, - 13720: 0x84B1, - 13721: 0x84B3, - 13722: 0x84B5, - 13723: 0x84B6, - 13724: 0x84B7, - 13725: 0x84BB, - 13726: 0x84BC, - 13727: 0x84BE, - 13728: 0x84C0, - 13729: 0x84C2, - 13730: 0x84C3, - 13731: 0x84C5, - 13732: 0x84C6, - 13733: 0x84C7, - 13734: 0x84C8, - 13735: 0x84CB, - 13736: 0x84CC, - 13737: 0x84CE, - 13738: 0x84CF, - 13739: 0x84D2, - 13740: 0x84D4, - 13741: 0x84D5, - 13742: 0x84D7, - 13743: 0x84D8, - 13744: 0x84D9, - 13745: 0x84DA, - 13746: 0x84DB, - 13747: 0x84DC, - 13748: 0x84DE, - 13749: 0x84E1, - 13750: 0x84E2, - 13751: 0x84E4, - 13752: 0x84E7, - 13753: 0x84E8, - 13754: 0x84E9, - 13755: 0x84EA, - 13756: 0x84EB, - 13757: 0x84ED, - 13758: 0x84EE, - 13759: 0x84EF, - 13760: 0x84F1, - 13761: 0x84F2, - 13762: 0x84F3, - 13763: 0x84F4, - 13764: 0x84F5, - 13765: 0x84F6, - 13766: 0x84F7, - 13767: 0x84F8, - 13768: 0x84F9, - 13769: 0x84FA, - 13770: 0x84FB, - 13771: 0x84FD, - 13772: 0x84FE, - 13773: 0x8500, - 13774: 0x8501, - 13775: 0x8502, - 13776: 0x4F1E, - 13777: 0x6563, - 13778: 0x6851, - 13779: 0x55D3, - 13780: 0x4E27, - 13781: 0x6414, - 13782: 0x9A9A, - 13783: 0x626B, - 13784: 0x5AC2, - 13785: 0x745F, - 13786: 0x8272, - 13787: 0x6DA9, - 13788: 0x68EE, - 13789: 0x50E7, - 13790: 0x838E, - 13791: 0x7802, - 13792: 0x6740, - 13793: 0x5239, - 13794: 0x6C99, - 13795: 0x7EB1, - 13796: 0x50BB, - 13797: 0x5565, - 13798: 0x715E, - 13799: 0x7B5B, - 13800: 0x6652, - 13801: 0x73CA, - 13802: 0x82EB, - 13803: 0x6749, - 13804: 0x5C71, - 13805: 0x5220, - 13806: 0x717D, - 13807: 0x886B, - 13808: 0x95EA, - 13809: 0x9655, - 13810: 0x64C5, - 13811: 0x8D61, - 13812: 0x81B3, - 13813: 0x5584, - 13814: 0x6C55, - 13815: 0x6247, - 13816: 0x7F2E, - 13817: 0x5892, - 13818: 0x4F24, - 13819: 0x5546, - 13820: 0x8D4F, - 13821: 0x664C, - 13822: 0x4E0A, - 13823: 0x5C1A, - 13824: 0x88F3, - 13825: 0x68A2, - 13826: 0x634E, - 13827: 0x7A0D, - 13828: 0x70E7, - 13829: 0x828D, - 13830: 0x52FA, - 13831: 0x97F6, - 13832: 0x5C11, - 13833: 0x54E8, - 13834: 0x90B5, - 13835: 0x7ECD, - 13836: 0x5962, - 13837: 0x8D4A, - 13838: 0x86C7, - 13839: 0x820C, - 13840: 0x820D, - 13841: 0x8D66, - 13842: 0x6444, - 13843: 0x5C04, - 13844: 0x6151, - 13845: 0x6D89, - 13846: 0x793E, - 13847: 0x8BBE, - 13848: 0x7837, - 13849: 0x7533, - 13850: 0x547B, - 13851: 0x4F38, - 13852: 0x8EAB, - 13853: 0x6DF1, - 13854: 0x5A20, - 13855: 0x7EC5, - 13856: 0x795E, - 13857: 0x6C88, - 13858: 0x5BA1, - 13859: 0x5A76, - 13860: 0x751A, - 13861: 0x80BE, - 13862: 0x614E, - 13863: 0x6E17, - 13864: 0x58F0, - 13865: 0x751F, - 13866: 0x7525, - 13867: 0x7272, - 13868: 0x5347, - 13869: 0x7EF3, - 13870: 0x8503, - 13871: 0x8504, - 13872: 0x8505, - 13873: 0x8506, - 13874: 0x8507, - 13875: 0x8508, - 13876: 0x8509, - 13877: 0x850A, - 13878: 0x850B, - 13879: 0x850D, - 13880: 0x850E, - 13881: 0x850F, - 13882: 0x8510, - 13883: 0x8512, - 13884: 0x8514, - 13885: 0x8515, - 13886: 0x8516, - 13887: 0x8518, - 13888: 0x8519, - 13889: 0x851B, - 13890: 0x851C, - 13891: 0x851D, - 13892: 0x851E, - 13893: 0x8520, - 13894: 0x8522, - 13895: 0x8523, - 13896: 0x8524, - 13897: 0x8525, - 13898: 0x8526, - 13899: 0x8527, - 13900: 0x8528, - 13901: 0x8529, - 13902: 0x852A, - 13903: 0x852D, - 13904: 0x852E, - 13905: 0x852F, - 13906: 0x8530, - 13907: 0x8531, - 13908: 0x8532, - 13909: 0x8533, - 13910: 0x8534, - 13911: 0x8535, - 13912: 0x8536, - 13913: 0x853E, - 13914: 0x853F, - 13915: 0x8540, - 13916: 0x8541, - 13917: 0x8542, - 13918: 0x8544, - 13919: 0x8545, - 13920: 0x8546, - 13921: 0x8547, - 13922: 0x854B, - 13923: 0x854C, - 13924: 0x854D, - 13925: 0x854E, - 13926: 0x854F, - 13927: 0x8550, - 13928: 0x8551, - 13929: 0x8552, - 13930: 0x8553, - 13931: 0x8554, - 13932: 0x8555, - 13933: 0x8557, - 13934: 0x8558, - 13935: 0x855A, - 13936: 0x855B, - 13937: 0x855C, - 13938: 0x855D, - 13939: 0x855F, - 13940: 0x8560, - 13941: 0x8561, - 13942: 0x8562, - 13943: 0x8563, - 13944: 0x8565, - 13945: 0x8566, - 13946: 0x8567, - 13947: 0x8569, - 13948: 0x856A, - 13949: 0x856B, - 13950: 0x856C, - 13951: 0x856D, - 13952: 0x856E, - 13953: 0x856F, - 13954: 0x8570, - 13955: 0x8571, - 13956: 0x8573, - 13957: 0x8575, - 13958: 0x8576, - 13959: 0x8577, - 13960: 0x8578, - 13961: 0x857C, - 13962: 0x857D, - 13963: 0x857F, - 13964: 0x8580, - 13965: 0x8581, - 13966: 0x7701, - 13967: 0x76DB, - 13968: 0x5269, - 13969: 0x80DC, - 13970: 0x5723, - 13971: 0x5E08, - 13972: 0x5931, - 13973: 0x72EE, - 13974: 0x65BD, - 13975: 0x6E7F, - 13976: 0x8BD7, - 13977: 0x5C38, - 13978: 0x8671, - 13979: 0x5341, - 13980: 0x77F3, - 13981: 0x62FE, - 13982: 0x65F6, - 13983: 0x4EC0, - 13984: 0x98DF, - 13985: 0x8680, - 13986: 0x5B9E, - 13987: 0x8BC6, - 13988: 0x53F2, - 13989: 0x77E2, - 13990: 0x4F7F, - 13991: 0x5C4E, - 13992: 0x9A76, - 13993: 0x59CB, - 13994: 0x5F0F, - 13995: 0x793A, - 13996: 0x58EB, - 13997: 0x4E16, - 13998: 0x67FF, - 13999: 0x4E8B, - 14000: 0x62ED, - 14001: 0x8A93, - 14002: 0x901D, - 14003: 0x52BF, - 14004: 0x662F, - 14005: 0x55DC, - 14006: 0x566C, - 14007: 0x9002, - 14008: 0x4ED5, - 14009: 0x4F8D, - 14010: 0x91CA, - 14011: 0x9970, - 14012: 0x6C0F, - 14013: 0x5E02, - 14014: 0x6043, - 14015: 0x5BA4, - 14016: 0x89C6, - 14017: 0x8BD5, - 14018: 0x6536, - 14019: 0x624B, - 14020: 0x9996, - 14021: 0x5B88, - 14022: 0x5BFF, - 14023: 0x6388, - 14024: 0x552E, - 14025: 0x53D7, - 14026: 0x7626, - 14027: 0x517D, - 14028: 0x852C, - 14029: 0x67A2, - 14030: 0x68B3, - 14031: 0x6B8A, - 14032: 0x6292, - 14033: 0x8F93, - 14034: 0x53D4, - 14035: 0x8212, - 14036: 0x6DD1, - 14037: 0x758F, - 14038: 0x4E66, - 14039: 0x8D4E, - 14040: 0x5B70, - 14041: 0x719F, - 14042: 0x85AF, - 14043: 0x6691, - 14044: 0x66D9, - 14045: 0x7F72, - 14046: 0x8700, - 14047: 0x9ECD, - 14048: 0x9F20, - 14049: 0x5C5E, - 14050: 0x672F, - 14051: 0x8FF0, - 14052: 0x6811, - 14053: 0x675F, - 14054: 0x620D, - 14055: 0x7AD6, - 14056: 0x5885, - 14057: 0x5EB6, - 14058: 0x6570, - 14059: 0x6F31, - 14060: 0x8582, - 14061: 0x8583, - 14062: 0x8586, - 14063: 0x8588, - 14064: 0x8589, - 14065: 0x858A, - 14066: 0x858B, - 14067: 0x858C, - 14068: 0x858D, - 14069: 0x858E, - 14070: 0x8590, - 14071: 0x8591, - 14072: 0x8592, - 14073: 0x8593, - 14074: 0x8594, - 14075: 0x8595, - 14076: 0x8596, - 14077: 0x8597, - 14078: 0x8598, - 14079: 0x8599, - 14080: 0x859A, - 14081: 0x859D, - 14082: 0x859E, - 14083: 0x859F, - 14084: 0x85A0, - 14085: 0x85A1, - 14086: 0x85A2, - 14087: 0x85A3, - 14088: 0x85A5, - 14089: 0x85A6, - 14090: 0x85A7, - 14091: 0x85A9, - 14092: 0x85AB, - 14093: 0x85AC, - 14094: 0x85AD, - 14095: 0x85B1, - 14096: 0x85B2, - 14097: 0x85B3, - 14098: 0x85B4, - 14099: 0x85B5, - 14100: 0x85B6, - 14101: 0x85B8, - 14102: 0x85BA, - 14103: 0x85BB, - 14104: 0x85BC, - 14105: 0x85BD, - 14106: 0x85BE, - 14107: 0x85BF, - 14108: 0x85C0, - 14109: 0x85C2, - 14110: 0x85C3, - 14111: 0x85C4, - 14112: 0x85C5, - 14113: 0x85C6, - 14114: 0x85C7, - 14115: 0x85C8, - 14116: 0x85CA, - 14117: 0x85CB, - 14118: 0x85CC, - 14119: 0x85CD, - 14120: 0x85CE, - 14121: 0x85D1, - 14122: 0x85D2, - 14123: 0x85D4, - 14124: 0x85D6, - 14125: 0x85D7, - 14126: 0x85D8, - 14127: 0x85D9, - 14128: 0x85DA, - 14129: 0x85DB, - 14130: 0x85DD, - 14131: 0x85DE, - 14132: 0x85DF, - 14133: 0x85E0, - 14134: 0x85E1, - 14135: 0x85E2, - 14136: 0x85E3, - 14137: 0x85E5, - 14138: 0x85E6, - 14139: 0x85E7, - 14140: 0x85E8, - 14141: 0x85EA, - 14142: 0x85EB, - 14143: 0x85EC, - 14144: 0x85ED, - 14145: 0x85EE, - 14146: 0x85EF, - 14147: 0x85F0, - 14148: 0x85F1, - 14149: 0x85F2, - 14150: 0x85F3, - 14151: 0x85F4, - 14152: 0x85F5, - 14153: 0x85F6, - 14154: 0x85F7, - 14155: 0x85F8, - 14156: 0x6055, - 14157: 0x5237, - 14158: 0x800D, - 14159: 0x6454, - 14160: 0x8870, - 14161: 0x7529, - 14162: 0x5E05, - 14163: 0x6813, - 14164: 0x62F4, - 14165: 0x971C, - 14166: 0x53CC, - 14167: 0x723D, - 14168: 0x8C01, - 14169: 0x6C34, - 14170: 0x7761, - 14171: 0x7A0E, - 14172: 0x542E, - 14173: 0x77AC, - 14174: 0x987A, - 14175: 0x821C, - 14176: 0x8BF4, - 14177: 0x7855, - 14178: 0x6714, - 14179: 0x70C1, - 14180: 0x65AF, - 14181: 0x6495, - 14182: 0x5636, - 14183: 0x601D, - 14184: 0x79C1, - 14185: 0x53F8, - 14186: 0x4E1D, - 14187: 0x6B7B, - 14188: 0x8086, - 14189: 0x5BFA, - 14190: 0x55E3, - 14191: 0x56DB, - 14192: 0x4F3A, - 14193: 0x4F3C, - 14194: 0x9972, - 14195: 0x5DF3, - 14196: 0x677E, - 14197: 0x8038, - 14198: 0x6002, - 14199: 0x9882, - 14200: 0x9001, - 14201: 0x5B8B, - 14202: 0x8BBC, - 14203: 0x8BF5, - 14204: 0x641C, - 14205: 0x8258, - 14206: 0x64DE, - 14207: 0x55FD, - 14208: 0x82CF, - 14209: 0x9165, - 14210: 0x4FD7, - 14211: 0x7D20, - 14212: 0x901F, - 14213: 0x7C9F, - 14214: 0x50F3, - 14215: 0x5851, - 14216: 0x6EAF, - 14217: 0x5BBF, - 14218: 0x8BC9, - 14219: 0x8083, - 14220: 0x9178, - 14221: 0x849C, - 14222: 0x7B97, - 14223: 0x867D, - 14224: 0x968B, - 14225: 0x968F, - 14226: 0x7EE5, - 14227: 0x9AD3, - 14228: 0x788E, - 14229: 0x5C81, - 14230: 0x7A57, - 14231: 0x9042, - 14232: 0x96A7, - 14233: 0x795F, - 14234: 0x5B59, - 14235: 0x635F, - 14236: 0x7B0B, - 14237: 0x84D1, - 14238: 0x68AD, - 14239: 0x5506, - 14240: 0x7F29, - 14241: 0x7410, - 14242: 0x7D22, - 14243: 0x9501, - 14244: 0x6240, - 14245: 0x584C, - 14246: 0x4ED6, - 14247: 0x5B83, - 14248: 0x5979, - 14249: 0x5854, - 14250: 0x85F9, - 14251: 0x85FA, - 14252: 0x85FC, - 14253: 0x85FD, - 14254: 0x85FE, - 14255: 0x8600, - 14256: 0x8601, - 14257: 0x8602, - 14258: 0x8603, - 14259: 0x8604, - 14260: 0x8606, - 14261: 0x8607, - 14262: 0x8608, - 14263: 0x8609, - 14264: 0x860A, - 14265: 0x860B, - 14266: 0x860C, - 14267: 0x860D, - 14268: 0x860E, - 14269: 0x860F, - 14270: 0x8610, - 14271: 0x8612, - 14272: 0x8613, - 14273: 0x8614, - 14274: 0x8615, - 14275: 0x8617, - 14276: 0x8618, - 14277: 0x8619, - 14278: 0x861A, - 14279: 0x861B, - 14280: 0x861C, - 14281: 0x861D, - 14282: 0x861E, - 14283: 0x861F, - 14284: 0x8620, - 14285: 0x8621, - 14286: 0x8622, - 14287: 0x8623, - 14288: 0x8624, - 14289: 0x8625, - 14290: 0x8626, - 14291: 0x8628, - 14292: 0x862A, - 14293: 0x862B, - 14294: 0x862C, - 14295: 0x862D, - 14296: 0x862E, - 14297: 0x862F, - 14298: 0x8630, - 14299: 0x8631, - 14300: 0x8632, - 14301: 0x8633, - 14302: 0x8634, - 14303: 0x8635, - 14304: 0x8636, - 14305: 0x8637, - 14306: 0x8639, - 14307: 0x863A, - 14308: 0x863B, - 14309: 0x863D, - 14310: 0x863E, - 14311: 0x863F, - 14312: 0x8640, - 14313: 0x8641, - 14314: 0x8642, - 14315: 0x8643, - 14316: 0x8644, - 14317: 0x8645, - 14318: 0x8646, - 14319: 0x8647, - 14320: 0x8648, - 14321: 0x8649, - 14322: 0x864A, - 14323: 0x864B, - 14324: 0x864C, - 14325: 0x8652, - 14326: 0x8653, - 14327: 0x8655, - 14328: 0x8656, - 14329: 0x8657, - 14330: 0x8658, - 14331: 0x8659, - 14332: 0x865B, - 14333: 0x865C, - 14334: 0x865D, - 14335: 0x865F, - 14336: 0x8660, - 14337: 0x8661, - 14338: 0x8663, - 14339: 0x8664, - 14340: 0x8665, - 14341: 0x8666, - 14342: 0x8667, - 14343: 0x8668, - 14344: 0x8669, - 14345: 0x866A, - 14346: 0x736D, - 14347: 0x631E, - 14348: 0x8E4B, - 14349: 0x8E0F, - 14350: 0x80CE, - 14351: 0x82D4, - 14352: 0x62AC, - 14353: 0x53F0, - 14354: 0x6CF0, - 14355: 0x915E, - 14356: 0x592A, - 14357: 0x6001, - 14358: 0x6C70, - 14359: 0x574D, - 14360: 0x644A, - 14361: 0x8D2A, - 14362: 0x762B, - 14363: 0x6EE9, - 14364: 0x575B, - 14365: 0x6A80, - 14366: 0x75F0, - 14367: 0x6F6D, - 14368: 0x8C2D, - 14369: 0x8C08, - 14370: 0x5766, - 14371: 0x6BEF, - 14372: 0x8892, - 14373: 0x78B3, - 14374: 0x63A2, - 14375: 0x53F9, - 14376: 0x70AD, - 14377: 0x6C64, - 14378: 0x5858, - 14379: 0x642A, - 14380: 0x5802, - 14381: 0x68E0, - 14382: 0x819B, - 14383: 0x5510, - 14384: 0x7CD6, - 14385: 0x5018, - 14386: 0x8EBA, - 14387: 0x6DCC, - 14388: 0x8D9F, - 14389: 0x70EB, - 14390: 0x638F, - 14391: 0x6D9B, - 14392: 0x6ED4, - 14393: 0x7EE6, - 14394: 0x8404, - 14395: 0x6843, - 14396: 0x9003, - 14397: 0x6DD8, - 14398: 0x9676, - 14399: 0x8BA8, - 14400: 0x5957, - 14401: 0x7279, - 14402: 0x85E4, - 14403: 0x817E, - 14404: 0x75BC, - 14405: 0x8A8A, - 14406: 0x68AF, - 14407: 0x5254, - 14408: 0x8E22, - 14409: 0x9511, - 14410: 0x63D0, - 14411: 0x9898, - 14412: 0x8E44, - 14413: 0x557C, - 14414: 0x4F53, - 14415: 0x66FF, - 14416: 0x568F, - 14417: 0x60D5, - 14418: 0x6D95, - 14419: 0x5243, - 14420: 0x5C49, - 14421: 0x5929, - 14422: 0x6DFB, - 14423: 0x586B, - 14424: 0x7530, - 14425: 0x751C, - 14426: 0x606C, - 14427: 0x8214, - 14428: 0x8146, - 14429: 0x6311, - 14430: 0x6761, - 14431: 0x8FE2, - 14432: 0x773A, - 14433: 0x8DF3, - 14434: 0x8D34, - 14435: 0x94C1, - 14436: 0x5E16, - 14437: 0x5385, - 14438: 0x542C, - 14439: 0x70C3, - 14440: 0x866D, - 14441: 0x866F, - 14442: 0x8670, - 14443: 0x8672, - 14444: 0x8673, - 14445: 0x8674, - 14446: 0x8675, - 14447: 0x8676, - 14448: 0x8677, - 14449: 0x8678, - 14450: 0x8683, - 14451: 0x8684, - 14452: 0x8685, - 14453: 0x8686, - 14454: 0x8687, - 14455: 0x8688, - 14456: 0x8689, - 14457: 0x868E, - 14458: 0x868F, - 14459: 0x8690, - 14460: 0x8691, - 14461: 0x8692, - 14462: 0x8694, - 14463: 0x8696, - 14464: 0x8697, - 14465: 0x8698, - 14466: 0x8699, - 14467: 0x869A, - 14468: 0x869B, - 14469: 0x869E, - 14470: 0x869F, - 14471: 0x86A0, - 14472: 0x86A1, - 14473: 0x86A2, - 14474: 0x86A5, - 14475: 0x86A6, - 14476: 0x86AB, - 14477: 0x86AD, - 14478: 0x86AE, - 14479: 0x86B2, - 14480: 0x86B3, - 14481: 0x86B7, - 14482: 0x86B8, - 14483: 0x86B9, - 14484: 0x86BB, - 14485: 0x86BC, - 14486: 0x86BD, - 14487: 0x86BE, - 14488: 0x86BF, - 14489: 0x86C1, - 14490: 0x86C2, - 14491: 0x86C3, - 14492: 0x86C5, - 14493: 0x86C8, - 14494: 0x86CC, - 14495: 0x86CD, - 14496: 0x86D2, - 14497: 0x86D3, - 14498: 0x86D5, - 14499: 0x86D6, - 14500: 0x86D7, - 14501: 0x86DA, - 14502: 0x86DC, - 14503: 0x86DD, - 14504: 0x86E0, - 14505: 0x86E1, - 14506: 0x86E2, - 14507: 0x86E3, - 14508: 0x86E5, - 14509: 0x86E6, - 14510: 0x86E7, - 14511: 0x86E8, - 14512: 0x86EA, - 14513: 0x86EB, - 14514: 0x86EC, - 14515: 0x86EF, - 14516: 0x86F5, - 14517: 0x86F6, - 14518: 0x86F7, - 14519: 0x86FA, - 14520: 0x86FB, - 14521: 0x86FC, - 14522: 0x86FD, - 14523: 0x86FF, - 14524: 0x8701, - 14525: 0x8704, - 14526: 0x8705, - 14527: 0x8706, - 14528: 0x870B, - 14529: 0x870C, - 14530: 0x870E, - 14531: 0x870F, - 14532: 0x8710, - 14533: 0x8711, - 14534: 0x8714, - 14535: 0x8716, - 14536: 0x6C40, - 14537: 0x5EF7, - 14538: 0x505C, - 14539: 0x4EAD, - 14540: 0x5EAD, - 14541: 0x633A, - 14542: 0x8247, - 14543: 0x901A, - 14544: 0x6850, - 14545: 0x916E, - 14546: 0x77B3, - 14547: 0x540C, - 14548: 0x94DC, - 14549: 0x5F64, - 14550: 0x7AE5, - 14551: 0x6876, - 14552: 0x6345, - 14553: 0x7B52, - 14554: 0x7EDF, - 14555: 0x75DB, - 14556: 0x5077, - 14557: 0x6295, - 14558: 0x5934, - 14559: 0x900F, - 14560: 0x51F8, - 14561: 0x79C3, - 14562: 0x7A81, - 14563: 0x56FE, - 14564: 0x5F92, - 14565: 0x9014, - 14566: 0x6D82, - 14567: 0x5C60, - 14568: 0x571F, - 14569: 0x5410, - 14570: 0x5154, - 14571: 0x6E4D, - 14572: 0x56E2, - 14573: 0x63A8, - 14574: 0x9893, - 14575: 0x817F, - 14576: 0x8715, - 14577: 0x892A, - 14578: 0x9000, - 14579: 0x541E, - 14580: 0x5C6F, - 14581: 0x81C0, - 14582: 0x62D6, - 14583: 0x6258, - 14584: 0x8131, - 14585: 0x9E35, - 14586: 0x9640, - 14587: 0x9A6E, - 14588: 0x9A7C, - 14589: 0x692D, - 14590: 0x59A5, - 14591: 0x62D3, - 14592: 0x553E, - 14593: 0x6316, - 14594: 0x54C7, - 14595: 0x86D9, - 14596: 0x6D3C, - 14597: 0x5A03, - 14598: 0x74E6, - 14599: 0x889C, - 14600: 0x6B6A, - 14601: 0x5916, - 14602: 0x8C4C, - 14603: 0x5F2F, - 14604: 0x6E7E, - 14605: 0x73A9, - 14606: 0x987D, - 14607: 0x4E38, - 14608: 0x70F7, - 14609: 0x5B8C, - 14610: 0x7897, - 14611: 0x633D, - 14612: 0x665A, - 14613: 0x7696, - 14614: 0x60CB, - 14615: 0x5B9B, - 14616: 0x5A49, - 14617: 0x4E07, - 14618: 0x8155, - 14619: 0x6C6A, - 14620: 0x738B, - 14621: 0x4EA1, - 14622: 0x6789, - 14623: 0x7F51, - 14624: 0x5F80, - 14625: 0x65FA, - 14626: 0x671B, - 14627: 0x5FD8, - 14628: 0x5984, - 14629: 0x5A01, - 14630: 0x8719, - 14631: 0x871B, - 14632: 0x871D, - 14633: 0x871F, - 14634: 0x8720, - 14635: 0x8724, - 14636: 0x8726, - 14637: 0x8727, - 14638: 0x8728, - 14639: 0x872A, - 14640: 0x872B, - 14641: 0x872C, - 14642: 0x872D, - 14643: 0x872F, - 14644: 0x8730, - 14645: 0x8732, - 14646: 0x8733, - 14647: 0x8735, - 14648: 0x8736, - 14649: 0x8738, - 14650: 0x8739, - 14651: 0x873A, - 14652: 0x873C, - 14653: 0x873D, - 14654: 0x8740, - 14655: 0x8741, - 14656: 0x8742, - 14657: 0x8743, - 14658: 0x8744, - 14659: 0x8745, - 14660: 0x8746, - 14661: 0x874A, - 14662: 0x874B, - 14663: 0x874D, - 14664: 0x874F, - 14665: 0x8750, - 14666: 0x8751, - 14667: 0x8752, - 14668: 0x8754, - 14669: 0x8755, - 14670: 0x8756, - 14671: 0x8758, - 14672: 0x875A, - 14673: 0x875B, - 14674: 0x875C, - 14675: 0x875D, - 14676: 0x875E, - 14677: 0x875F, - 14678: 0x8761, - 14679: 0x8762, - 14680: 0x8766, - 14681: 0x8767, - 14682: 0x8768, - 14683: 0x8769, - 14684: 0x876A, - 14685: 0x876B, - 14686: 0x876C, - 14687: 0x876D, - 14688: 0x876F, - 14689: 0x8771, - 14690: 0x8772, - 14691: 0x8773, - 14692: 0x8775, - 14693: 0x8777, - 14694: 0x8778, - 14695: 0x8779, - 14696: 0x877A, - 14697: 0x877F, - 14698: 0x8780, - 14699: 0x8781, - 14700: 0x8784, - 14701: 0x8786, - 14702: 0x8787, - 14703: 0x8789, - 14704: 0x878A, - 14705: 0x878C, - 14706: 0x878E, - 14707: 0x878F, - 14708: 0x8790, - 14709: 0x8791, - 14710: 0x8792, - 14711: 0x8794, - 14712: 0x8795, - 14713: 0x8796, - 14714: 0x8798, - 14715: 0x8799, - 14716: 0x879A, - 14717: 0x879B, - 14718: 0x879C, - 14719: 0x879D, - 14720: 0x879E, - 14721: 0x87A0, - 14722: 0x87A1, - 14723: 0x87A2, - 14724: 0x87A3, - 14725: 0x87A4, - 14726: 0x5DCD, - 14727: 0x5FAE, - 14728: 0x5371, - 14729: 0x97E6, - 14730: 0x8FDD, - 14731: 0x6845, - 14732: 0x56F4, - 14733: 0x552F, - 14734: 0x60DF, - 14735: 0x4E3A, - 14736: 0x6F4D, - 14737: 0x7EF4, - 14738: 0x82C7, - 14739: 0x840E, - 14740: 0x59D4, - 14741: 0x4F1F, - 14742: 0x4F2A, - 14743: 0x5C3E, - 14744: 0x7EAC, - 14745: 0x672A, - 14746: 0x851A, - 14747: 0x5473, - 14748: 0x754F, - 14749: 0x80C3, - 14750: 0x5582, - 14751: 0x9B4F, - 14752: 0x4F4D, - 14753: 0x6E2D, - 14754: 0x8C13, - 14755: 0x5C09, - 14756: 0x6170, - 14757: 0x536B, - 14758: 0x761F, - 14759: 0x6E29, - 14760: 0x868A, - 14761: 0x6587, - 14762: 0x95FB, - 14763: 0x7EB9, - 14764: 0x543B, - 14765: 0x7A33, - 14766: 0x7D0A, - 14767: 0x95EE, - 14768: 0x55E1, - 14769: 0x7FC1, - 14770: 0x74EE, - 14771: 0x631D, - 14772: 0x8717, - 14773: 0x6DA1, - 14774: 0x7A9D, - 14775: 0x6211, - 14776: 0x65A1, - 14777: 0x5367, - 14778: 0x63E1, - 14779: 0x6C83, - 14780: 0x5DEB, - 14781: 0x545C, - 14782: 0x94A8, - 14783: 0x4E4C, - 14784: 0x6C61, - 14785: 0x8BEC, - 14786: 0x5C4B, - 14787: 0x65E0, - 14788: 0x829C, - 14789: 0x68A7, - 14790: 0x543E, - 14791: 0x5434, - 14792: 0x6BCB, - 14793: 0x6B66, - 14794: 0x4E94, - 14795: 0x6342, - 14796: 0x5348, - 14797: 0x821E, - 14798: 0x4F0D, - 14799: 0x4FAE, - 14800: 0x575E, - 14801: 0x620A, - 14802: 0x96FE, - 14803: 0x6664, - 14804: 0x7269, - 14805: 0x52FF, - 14806: 0x52A1, - 14807: 0x609F, - 14808: 0x8BEF, - 14809: 0x6614, - 14810: 0x7199, - 14811: 0x6790, - 14812: 0x897F, - 14813: 0x7852, - 14814: 0x77FD, - 14815: 0x6670, - 14816: 0x563B, - 14817: 0x5438, - 14818: 0x9521, - 14819: 0x727A, - 14820: 0x87A5, - 14821: 0x87A6, - 14822: 0x87A7, - 14823: 0x87A9, - 14824: 0x87AA, - 14825: 0x87AE, - 14826: 0x87B0, - 14827: 0x87B1, - 14828: 0x87B2, - 14829: 0x87B4, - 14830: 0x87B6, - 14831: 0x87B7, - 14832: 0x87B8, - 14833: 0x87B9, - 14834: 0x87BB, - 14835: 0x87BC, - 14836: 0x87BE, - 14837: 0x87BF, - 14838: 0x87C1, - 14839: 0x87C2, - 14840: 0x87C3, - 14841: 0x87C4, - 14842: 0x87C5, - 14843: 0x87C7, - 14844: 0x87C8, - 14845: 0x87C9, - 14846: 0x87CC, - 14847: 0x87CD, - 14848: 0x87CE, - 14849: 0x87CF, - 14850: 0x87D0, - 14851: 0x87D4, - 14852: 0x87D5, - 14853: 0x87D6, - 14854: 0x87D7, - 14855: 0x87D8, - 14856: 0x87D9, - 14857: 0x87DA, - 14858: 0x87DC, - 14859: 0x87DD, - 14860: 0x87DE, - 14861: 0x87DF, - 14862: 0x87E1, - 14863: 0x87E2, - 14864: 0x87E3, - 14865: 0x87E4, - 14866: 0x87E6, - 14867: 0x87E7, - 14868: 0x87E8, - 14869: 0x87E9, - 14870: 0x87EB, - 14871: 0x87EC, - 14872: 0x87ED, - 14873: 0x87EF, - 14874: 0x87F0, - 14875: 0x87F1, - 14876: 0x87F2, - 14877: 0x87F3, - 14878: 0x87F4, - 14879: 0x87F5, - 14880: 0x87F6, - 14881: 0x87F7, - 14882: 0x87F8, - 14883: 0x87FA, - 14884: 0x87FB, - 14885: 0x87FC, - 14886: 0x87FD, - 14887: 0x87FF, - 14888: 0x8800, - 14889: 0x8801, - 14890: 0x8802, - 14891: 0x8804, - 14892: 0x8805, - 14893: 0x8806, - 14894: 0x8807, - 14895: 0x8808, - 14896: 0x8809, - 14897: 0x880B, - 14898: 0x880C, - 14899: 0x880D, - 14900: 0x880E, - 14901: 0x880F, - 14902: 0x8810, - 14903: 0x8811, - 14904: 0x8812, - 14905: 0x8814, - 14906: 0x8817, - 14907: 0x8818, - 14908: 0x8819, - 14909: 0x881A, - 14910: 0x881C, - 14911: 0x881D, - 14912: 0x881E, - 14913: 0x881F, - 14914: 0x8820, - 14915: 0x8823, - 14916: 0x7A00, - 14917: 0x606F, - 14918: 0x5E0C, - 14919: 0x6089, - 14920: 0x819D, - 14921: 0x5915, - 14922: 0x60DC, - 14923: 0x7184, - 14924: 0x70EF, - 14925: 0x6EAA, - 14926: 0x6C50, - 14927: 0x7280, - 14928: 0x6A84, - 14929: 0x88AD, - 14930: 0x5E2D, - 14931: 0x4E60, - 14932: 0x5AB3, - 14933: 0x559C, - 14934: 0x94E3, - 14935: 0x6D17, - 14936: 0x7CFB, - 14937: 0x9699, - 14938: 0x620F, - 14939: 0x7EC6, - 14940: 0x778E, - 14941: 0x867E, - 14942: 0x5323, - 14943: 0x971E, - 14944: 0x8F96, - 14945: 0x6687, - 14946: 0x5CE1, - 14947: 0x4FA0, - 14948: 0x72ED, - 14949: 0x4E0B, - 14950: 0x53A6, - 14951: 0x590F, - 14952: 0x5413, - 14953: 0x6380, - 14954: 0x9528, - 14955: 0x5148, - 14956: 0x4ED9, - 14957: 0x9C9C, - 14958: 0x7EA4, - 14959: 0x54B8, - 14960: 0x8D24, - 14961: 0x8854, - 14962: 0x8237, - 14963: 0x95F2, - 14964: 0x6D8E, - 14965: 0x5F26, - 14966: 0x5ACC, - 14967: 0x663E, - 14968: 0x9669, - 14969: 0x73B0, - 14970: 0x732E, - 14971: 0x53BF, - 14972: 0x817A, - 14973: 0x9985, - 14974: 0x7FA1, - 14975: 0x5BAA, - 14976: 0x9677, - 14977: 0x9650, - 14978: 0x7EBF, - 14979: 0x76F8, - 14980: 0x53A2, - 14981: 0x9576, - 14982: 0x9999, - 14983: 0x7BB1, - 14984: 0x8944, - 14985: 0x6E58, - 14986: 0x4E61, - 14987: 0x7FD4, - 14988: 0x7965, - 14989: 0x8BE6, - 14990: 0x60F3, - 14991: 0x54CD, - 14992: 0x4EAB, - 14993: 0x9879, - 14994: 0x5DF7, - 14995: 0x6A61, - 14996: 0x50CF, - 14997: 0x5411, - 14998: 0x8C61, - 14999: 0x8427, - 15000: 0x785D, - 15001: 0x9704, - 15002: 0x524A, - 15003: 0x54EE, - 15004: 0x56A3, - 15005: 0x9500, - 15006: 0x6D88, - 15007: 0x5BB5, - 15008: 0x6DC6, - 15009: 0x6653, - 15010: 0x8824, - 15011: 0x8825, - 15012: 0x8826, - 15013: 0x8827, - 15014: 0x8828, - 15015: 0x8829, - 15016: 0x882A, - 15017: 0x882B, - 15018: 0x882C, - 15019: 0x882D, - 15020: 0x882E, - 15021: 0x882F, - 15022: 0x8830, - 15023: 0x8831, - 15024: 0x8833, - 15025: 0x8834, - 15026: 0x8835, - 15027: 0x8836, - 15028: 0x8837, - 15029: 0x8838, - 15030: 0x883A, - 15031: 0x883B, - 15032: 0x883D, - 15033: 0x883E, - 15034: 0x883F, - 15035: 0x8841, - 15036: 0x8842, - 15037: 0x8843, - 15038: 0x8846, - 15039: 0x8847, - 15040: 0x8848, - 15041: 0x8849, - 15042: 0x884A, - 15043: 0x884B, - 15044: 0x884E, - 15045: 0x884F, - 15046: 0x8850, - 15047: 0x8851, - 15048: 0x8852, - 15049: 0x8853, - 15050: 0x8855, - 15051: 0x8856, - 15052: 0x8858, - 15053: 0x885A, - 15054: 0x885B, - 15055: 0x885C, - 15056: 0x885D, - 15057: 0x885E, - 15058: 0x885F, - 15059: 0x8860, - 15060: 0x8866, - 15061: 0x8867, - 15062: 0x886A, - 15063: 0x886D, - 15064: 0x886F, - 15065: 0x8871, - 15066: 0x8873, - 15067: 0x8874, - 15068: 0x8875, - 15069: 0x8876, - 15070: 0x8878, - 15071: 0x8879, - 15072: 0x887A, - 15073: 0x887B, - 15074: 0x887C, - 15075: 0x8880, - 15076: 0x8883, - 15077: 0x8886, - 15078: 0x8887, - 15079: 0x8889, - 15080: 0x888A, - 15081: 0x888C, - 15082: 0x888E, - 15083: 0x888F, - 15084: 0x8890, - 15085: 0x8891, - 15086: 0x8893, - 15087: 0x8894, - 15088: 0x8895, - 15089: 0x8897, - 15090: 0x8898, - 15091: 0x8899, - 15092: 0x889A, - 15093: 0x889B, - 15094: 0x889D, - 15095: 0x889E, - 15096: 0x889F, - 15097: 0x88A0, - 15098: 0x88A1, - 15099: 0x88A3, - 15100: 0x88A5, - 15101: 0x88A6, - 15102: 0x88A7, - 15103: 0x88A8, - 15104: 0x88A9, - 15105: 0x88AA, - 15106: 0x5C0F, - 15107: 0x5B5D, - 15108: 0x6821, - 15109: 0x8096, - 15110: 0x5578, - 15111: 0x7B11, - 15112: 0x6548, - 15113: 0x6954, - 15114: 0x4E9B, - 15115: 0x6B47, - 15116: 0x874E, - 15117: 0x978B, - 15118: 0x534F, - 15119: 0x631F, - 15120: 0x643A, - 15121: 0x90AA, - 15122: 0x659C, - 15123: 0x80C1, - 15124: 0x8C10, - 15125: 0x5199, - 15126: 0x68B0, - 15127: 0x5378, - 15128: 0x87F9, - 15129: 0x61C8, - 15130: 0x6CC4, - 15131: 0x6CFB, - 15132: 0x8C22, - 15133: 0x5C51, - 15134: 0x85AA, - 15135: 0x82AF, - 15136: 0x950C, - 15137: 0x6B23, - 15138: 0x8F9B, - 15139: 0x65B0, - 15140: 0x5FFB, - 15141: 0x5FC3, - 15142: 0x4FE1, - 15143: 0x8845, - 15144: 0x661F, - 15145: 0x8165, - 15146: 0x7329, - 15147: 0x60FA, - 15148: 0x5174, - 15149: 0x5211, - 15150: 0x578B, - 15151: 0x5F62, - 15152: 0x90A2, - 15153: 0x884C, - 15154: 0x9192, - 15155: 0x5E78, - 15156: 0x674F, - 15157: 0x6027, - 15158: 0x59D3, - 15159: 0x5144, - 15160: 0x51F6, - 15161: 0x80F8, - 15162: 0x5308, - 15163: 0x6C79, - 15164: 0x96C4, - 15165: 0x718A, - 15166: 0x4F11, - 15167: 0x4FEE, - 15168: 0x7F9E, - 15169: 0x673D, - 15170: 0x55C5, - 15171: 0x9508, - 15172: 0x79C0, - 15173: 0x8896, - 15174: 0x7EE3, - 15175: 0x589F, - 15176: 0x620C, - 15177: 0x9700, - 15178: 0x865A, - 15179: 0x5618, - 15180: 0x987B, - 15181: 0x5F90, - 15182: 0x8BB8, - 15183: 0x84C4, - 15184: 0x9157, - 15185: 0x53D9, - 15186: 0x65ED, - 15187: 0x5E8F, - 15188: 0x755C, - 15189: 0x6064, - 15190: 0x7D6E, - 15191: 0x5A7F, - 15192: 0x7EEA, - 15193: 0x7EED, - 15194: 0x8F69, - 15195: 0x55A7, - 15196: 0x5BA3, - 15197: 0x60AC, - 15198: 0x65CB, - 15199: 0x7384, - 15200: 0x88AC, - 15201: 0x88AE, - 15202: 0x88AF, - 15203: 0x88B0, - 15204: 0x88B2, - 15205: 0x88B3, - 15206: 0x88B4, - 15207: 0x88B5, - 15208: 0x88B6, - 15209: 0x88B8, - 15210: 0x88B9, - 15211: 0x88BA, - 15212: 0x88BB, - 15213: 0x88BD, - 15214: 0x88BE, - 15215: 0x88BF, - 15216: 0x88C0, - 15217: 0x88C3, - 15218: 0x88C4, - 15219: 0x88C7, - 15220: 0x88C8, - 15221: 0x88CA, - 15222: 0x88CB, - 15223: 0x88CC, - 15224: 0x88CD, - 15225: 0x88CF, - 15226: 0x88D0, - 15227: 0x88D1, - 15228: 0x88D3, - 15229: 0x88D6, - 15230: 0x88D7, - 15231: 0x88DA, - 15232: 0x88DB, - 15233: 0x88DC, - 15234: 0x88DD, - 15235: 0x88DE, - 15236: 0x88E0, - 15237: 0x88E1, - 15238: 0x88E6, - 15239: 0x88E7, - 15240: 0x88E9, - 15241: 0x88EA, - 15242: 0x88EB, - 15243: 0x88EC, - 15244: 0x88ED, - 15245: 0x88EE, - 15246: 0x88EF, - 15247: 0x88F2, - 15248: 0x88F5, - 15249: 0x88F6, - 15250: 0x88F7, - 15251: 0x88FA, - 15252: 0x88FB, - 15253: 0x88FD, - 15254: 0x88FF, - 15255: 0x8900, - 15256: 0x8901, - 15257: 0x8903, - 15258: 0x8904, - 15259: 0x8905, - 15260: 0x8906, - 15261: 0x8907, - 15262: 0x8908, - 15263: 0x8909, - 15264: 0x890B, - 15265: 0x890C, - 15266: 0x890D, - 15267: 0x890E, - 15268: 0x890F, - 15269: 0x8911, - 15270: 0x8914, - 15271: 0x8915, - 15272: 0x8916, - 15273: 0x8917, - 15274: 0x8918, - 15275: 0x891C, - 15276: 0x891D, - 15277: 0x891E, - 15278: 0x891F, - 15279: 0x8920, - 15280: 0x8922, - 15281: 0x8923, - 15282: 0x8924, - 15283: 0x8926, - 15284: 0x8927, - 15285: 0x8928, - 15286: 0x8929, - 15287: 0x892C, - 15288: 0x892D, - 15289: 0x892E, - 15290: 0x892F, - 15291: 0x8931, - 15292: 0x8932, - 15293: 0x8933, - 15294: 0x8935, - 15295: 0x8937, - 15296: 0x9009, - 15297: 0x7663, - 15298: 0x7729, - 15299: 0x7EDA, - 15300: 0x9774, - 15301: 0x859B, - 15302: 0x5B66, - 15303: 0x7A74, - 15304: 0x96EA, - 15305: 0x8840, - 15306: 0x52CB, - 15307: 0x718F, - 15308: 0x5FAA, - 15309: 0x65EC, - 15310: 0x8BE2, - 15311: 0x5BFB, - 15312: 0x9A6F, - 15313: 0x5DE1, - 15314: 0x6B89, - 15315: 0x6C5B, - 15316: 0x8BAD, - 15317: 0x8BAF, - 15318: 0x900A, - 15319: 0x8FC5, - 15320: 0x538B, - 15321: 0x62BC, - 15322: 0x9E26, - 15323: 0x9E2D, - 15324: 0x5440, - 15325: 0x4E2B, - 15326: 0x82BD, - 15327: 0x7259, - 15328: 0x869C, - 15329: 0x5D16, - 15330: 0x8859, - 15331: 0x6DAF, - 15332: 0x96C5, - 15333: 0x54D1, - 15334: 0x4E9A, - 15335: 0x8BB6, - 15336: 0x7109, - 15337: 0x54BD, - 15338: 0x9609, - 15339: 0x70DF, - 15340: 0x6DF9, - 15341: 0x76D0, - 15342: 0x4E25, - 15343: 0x7814, - 15344: 0x8712, - 15345: 0x5CA9, - 15346: 0x5EF6, - 15347: 0x8A00, - 15348: 0x989C, - 15349: 0x960E, - 15350: 0x708E, - 15351: 0x6CBF, - 15352: 0x5944, - 15353: 0x63A9, - 15354: 0x773C, - 15355: 0x884D, - 15356: 0x6F14, - 15357: 0x8273, - 15358: 0x5830, - 15359: 0x71D5, - 15360: 0x538C, - 15361: 0x781A, - 15362: 0x96C1, - 15363: 0x5501, - 15364: 0x5F66, - 15365: 0x7130, - 15366: 0x5BB4, - 15367: 0x8C1A, - 15368: 0x9A8C, - 15369: 0x6B83, - 15370: 0x592E, - 15371: 0x9E2F, - 15372: 0x79E7, - 15373: 0x6768, - 15374: 0x626C, - 15375: 0x4F6F, - 15376: 0x75A1, - 15377: 0x7F8A, - 15378: 0x6D0B, - 15379: 0x9633, - 15380: 0x6C27, - 15381: 0x4EF0, - 15382: 0x75D2, - 15383: 0x517B, - 15384: 0x6837, - 15385: 0x6F3E, - 15386: 0x9080, - 15387: 0x8170, - 15388: 0x5996, - 15389: 0x7476, - 15390: 0x8938, - 15391: 0x8939, - 15392: 0x893A, - 15393: 0x893B, - 15394: 0x893C, - 15395: 0x893D, - 15396: 0x893E, - 15397: 0x893F, - 15398: 0x8940, - 15399: 0x8942, - 15400: 0x8943, - 15401: 0x8945, - 15402: 0x8946, - 15403: 0x8947, - 15404: 0x8948, - 15405: 0x8949, - 15406: 0x894A, - 15407: 0x894B, - 15408: 0x894C, - 15409: 0x894D, - 15410: 0x894E, - 15411: 0x894F, - 15412: 0x8950, - 15413: 0x8951, - 15414: 0x8952, - 15415: 0x8953, - 15416: 0x8954, - 15417: 0x8955, - 15418: 0x8956, - 15419: 0x8957, - 15420: 0x8958, - 15421: 0x8959, - 15422: 0x895A, - 15423: 0x895B, - 15424: 0x895C, - 15425: 0x895D, - 15426: 0x8960, - 15427: 0x8961, - 15428: 0x8962, - 15429: 0x8963, - 15430: 0x8964, - 15431: 0x8965, - 15432: 0x8967, - 15433: 0x8968, - 15434: 0x8969, - 15435: 0x896A, - 15436: 0x896B, - 15437: 0x896C, - 15438: 0x896D, - 15439: 0x896E, - 15440: 0x896F, - 15441: 0x8970, - 15442: 0x8971, - 15443: 0x8972, - 15444: 0x8973, - 15445: 0x8974, - 15446: 0x8975, - 15447: 0x8976, - 15448: 0x8977, - 15449: 0x8978, - 15450: 0x8979, - 15451: 0x897A, - 15452: 0x897C, - 15453: 0x897D, - 15454: 0x897E, - 15455: 0x8980, - 15456: 0x8982, - 15457: 0x8984, - 15458: 0x8985, - 15459: 0x8987, - 15460: 0x8988, - 15461: 0x8989, - 15462: 0x898A, - 15463: 0x898B, - 15464: 0x898C, - 15465: 0x898D, - 15466: 0x898E, - 15467: 0x898F, - 15468: 0x8990, - 15469: 0x8991, - 15470: 0x8992, - 15471: 0x8993, - 15472: 0x8994, - 15473: 0x8995, - 15474: 0x8996, - 15475: 0x8997, - 15476: 0x8998, - 15477: 0x8999, - 15478: 0x899A, - 15479: 0x899B, - 15480: 0x899C, - 15481: 0x899D, - 15482: 0x899E, - 15483: 0x899F, - 15484: 0x89A0, - 15485: 0x89A1, - 15486: 0x6447, - 15487: 0x5C27, - 15488: 0x9065, - 15489: 0x7A91, - 15490: 0x8C23, - 15491: 0x59DA, - 15492: 0x54AC, - 15493: 0x8200, - 15494: 0x836F, - 15495: 0x8981, - 15496: 0x8000, - 15497: 0x6930, - 15498: 0x564E, - 15499: 0x8036, - 15500: 0x7237, - 15501: 0x91CE, - 15502: 0x51B6, - 15503: 0x4E5F, - 15504: 0x9875, - 15505: 0x6396, - 15506: 0x4E1A, - 15507: 0x53F6, - 15508: 0x66F3, - 15509: 0x814B, - 15510: 0x591C, - 15511: 0x6DB2, - 15512: 0x4E00, - 15513: 0x58F9, - 15514: 0x533B, - 15515: 0x63D6, - 15516: 0x94F1, - 15517: 0x4F9D, - 15518: 0x4F0A, - 15519: 0x8863, - 15520: 0x9890, - 15521: 0x5937, - 15522: 0x9057, - 15523: 0x79FB, - 15524: 0x4EEA, - 15525: 0x80F0, - 15526: 0x7591, - 15527: 0x6C82, - 15528: 0x5B9C, - 15529: 0x59E8, - 15530: 0x5F5D, - 15531: 0x6905, - 15532: 0x8681, - 15533: 0x501A, - 15534: 0x5DF2, - 15535: 0x4E59, - 15536: 0x77E3, - 15537: 0x4EE5, - 15538: 0x827A, - 15539: 0x6291, - 15540: 0x6613, - 15541: 0x9091, - 15542: 0x5C79, - 15543: 0x4EBF, - 15544: 0x5F79, - 15545: 0x81C6, - 15546: 0x9038, - 15547: 0x8084, - 15548: 0x75AB, - 15549: 0x4EA6, - 15550: 0x88D4, - 15551: 0x610F, - 15552: 0x6BC5, - 15553: 0x5FC6, - 15554: 0x4E49, - 15555: 0x76CA, - 15556: 0x6EA2, - 15557: 0x8BE3, - 15558: 0x8BAE, - 15559: 0x8C0A, - 15560: 0x8BD1, - 15561: 0x5F02, - 15562: 0x7FFC, - 15563: 0x7FCC, - 15564: 0x7ECE, - 15565: 0x8335, - 15566: 0x836B, - 15567: 0x56E0, - 15568: 0x6BB7, - 15569: 0x97F3, - 15570: 0x9634, - 15571: 0x59FB, - 15572: 0x541F, - 15573: 0x94F6, - 15574: 0x6DEB, - 15575: 0x5BC5, - 15576: 0x996E, - 15577: 0x5C39, - 15578: 0x5F15, - 15579: 0x9690, - 15580: 0x89A2, - 15581: 0x89A3, - 15582: 0x89A4, - 15583: 0x89A5, - 15584: 0x89A6, - 15585: 0x89A7, - 15586: 0x89A8, - 15587: 0x89A9, - 15588: 0x89AA, - 15589: 0x89AB, - 15590: 0x89AC, - 15591: 0x89AD, - 15592: 0x89AE, - 15593: 0x89AF, - 15594: 0x89B0, - 15595: 0x89B1, - 15596: 0x89B2, - 15597: 0x89B3, - 15598: 0x89B4, - 15599: 0x89B5, - 15600: 0x89B6, - 15601: 0x89B7, - 15602: 0x89B8, - 15603: 0x89B9, - 15604: 0x89BA, - 15605: 0x89BB, - 15606: 0x89BC, - 15607: 0x89BD, - 15608: 0x89BE, - 15609: 0x89BF, - 15610: 0x89C0, - 15611: 0x89C3, - 15612: 0x89CD, - 15613: 0x89D3, - 15614: 0x89D4, - 15615: 0x89D5, - 15616: 0x89D7, - 15617: 0x89D8, - 15618: 0x89D9, - 15619: 0x89DB, - 15620: 0x89DD, - 15621: 0x89DF, - 15622: 0x89E0, - 15623: 0x89E1, - 15624: 0x89E2, - 15625: 0x89E4, - 15626: 0x89E7, - 15627: 0x89E8, - 15628: 0x89E9, - 15629: 0x89EA, - 15630: 0x89EC, - 15631: 0x89ED, - 15632: 0x89EE, - 15633: 0x89F0, - 15634: 0x89F1, - 15635: 0x89F2, - 15636: 0x89F4, - 15637: 0x89F5, - 15638: 0x89F6, - 15639: 0x89F7, - 15640: 0x89F8, - 15641: 0x89F9, - 15642: 0x89FA, - 15643: 0x89FB, - 15644: 0x89FC, - 15645: 0x89FD, - 15646: 0x89FE, - 15647: 0x89FF, - 15648: 0x8A01, - 15649: 0x8A02, - 15650: 0x8A03, - 15651: 0x8A04, - 15652: 0x8A05, - 15653: 0x8A06, - 15654: 0x8A08, - 15655: 0x8A09, - 15656: 0x8A0A, - 15657: 0x8A0B, - 15658: 0x8A0C, - 15659: 0x8A0D, - 15660: 0x8A0E, - 15661: 0x8A0F, - 15662: 0x8A10, - 15663: 0x8A11, - 15664: 0x8A12, - 15665: 0x8A13, - 15666: 0x8A14, - 15667: 0x8A15, - 15668: 0x8A16, - 15669: 0x8A17, - 15670: 0x8A18, - 15671: 0x8A19, - 15672: 0x8A1A, - 15673: 0x8A1B, - 15674: 0x8A1C, - 15675: 0x8A1D, - 15676: 0x5370, - 15677: 0x82F1, - 15678: 0x6A31, - 15679: 0x5A74, - 15680: 0x9E70, - 15681: 0x5E94, - 15682: 0x7F28, - 15683: 0x83B9, - 15684: 0x8424, - 15685: 0x8425, - 15686: 0x8367, - 15687: 0x8747, - 15688: 0x8FCE, - 15689: 0x8D62, - 15690: 0x76C8, - 15691: 0x5F71, - 15692: 0x9896, - 15693: 0x786C, - 15694: 0x6620, - 15695: 0x54DF, - 15696: 0x62E5, - 15697: 0x4F63, - 15698: 0x81C3, - 15699: 0x75C8, - 15700: 0x5EB8, - 15701: 0x96CD, - 15702: 0x8E0A, - 15703: 0x86F9, - 15704: 0x548F, - 15705: 0x6CF3, - 15706: 0x6D8C, - 15707: 0x6C38, - 15708: 0x607F, - 15709: 0x52C7, - 15710: 0x7528, - 15711: 0x5E7D, - 15712: 0x4F18, - 15713: 0x60A0, - 15714: 0x5FE7, - 15715: 0x5C24, - 15716: 0x7531, - 15717: 0x90AE, - 15718: 0x94C0, - 15719: 0x72B9, - 15720: 0x6CB9, - 15721: 0x6E38, - 15722: 0x9149, - 15723: 0x6709, - 15724: 0x53CB, - 15725: 0x53F3, - 15726: 0x4F51, - 15727: 0x91C9, - 15728: 0x8BF1, - 15729: 0x53C8, - 15730: 0x5E7C, - 15731: 0x8FC2, - 15732: 0x6DE4, - 15733: 0x4E8E, - 15734: 0x76C2, - 15735: 0x6986, - 15736: 0x865E, - 15737: 0x611A, - 15738: 0x8206, - 15739: 0x4F59, - 15740: 0x4FDE, - 15741: 0x903E, - 15742: 0x9C7C, - 15743: 0x6109, - 15744: 0x6E1D, - 15745: 0x6E14, - 15746: 0x9685, - 15747: 0x4E88, - 15748: 0x5A31, - 15749: 0x96E8, - 15750: 0x4E0E, - 15751: 0x5C7F, - 15752: 0x79B9, - 15753: 0x5B87, - 15754: 0x8BED, - 15755: 0x7FBD, - 15756: 0x7389, - 15757: 0x57DF, - 15758: 0x828B, - 15759: 0x90C1, - 15760: 0x5401, - 15761: 0x9047, - 15762: 0x55BB, - 15763: 0x5CEA, - 15764: 0x5FA1, - 15765: 0x6108, - 15766: 0x6B32, - 15767: 0x72F1, - 15768: 0x80B2, - 15769: 0x8A89, - 15770: 0x8A1E, - 15771: 0x8A1F, - 15772: 0x8A20, - 15773: 0x8A21, - 15774: 0x8A22, - 15775: 0x8A23, - 15776: 0x8A24, - 15777: 0x8A25, - 15778: 0x8A26, - 15779: 0x8A27, - 15780: 0x8A28, - 15781: 0x8A29, - 15782: 0x8A2A, - 15783: 0x8A2B, - 15784: 0x8A2C, - 15785: 0x8A2D, - 15786: 0x8A2E, - 15787: 0x8A2F, - 15788: 0x8A30, - 15789: 0x8A31, - 15790: 0x8A32, - 15791: 0x8A33, - 15792: 0x8A34, - 15793: 0x8A35, - 15794: 0x8A36, - 15795: 0x8A37, - 15796: 0x8A38, - 15797: 0x8A39, - 15798: 0x8A3A, - 15799: 0x8A3B, - 15800: 0x8A3C, - 15801: 0x8A3D, - 15802: 0x8A3F, - 15803: 0x8A40, - 15804: 0x8A41, - 15805: 0x8A42, - 15806: 0x8A43, - 15807: 0x8A44, - 15808: 0x8A45, - 15809: 0x8A46, - 15810: 0x8A47, - 15811: 0x8A49, - 15812: 0x8A4A, - 15813: 0x8A4B, - 15814: 0x8A4C, - 15815: 0x8A4D, - 15816: 0x8A4E, - 15817: 0x8A4F, - 15818: 0x8A50, - 15819: 0x8A51, - 15820: 0x8A52, - 15821: 0x8A53, - 15822: 0x8A54, - 15823: 0x8A55, - 15824: 0x8A56, - 15825: 0x8A57, - 15826: 0x8A58, - 15827: 0x8A59, - 15828: 0x8A5A, - 15829: 0x8A5B, - 15830: 0x8A5C, - 15831: 0x8A5D, - 15832: 0x8A5E, - 15833: 0x8A5F, - 15834: 0x8A60, - 15835: 0x8A61, - 15836: 0x8A62, - 15837: 0x8A63, - 15838: 0x8A64, - 15839: 0x8A65, - 15840: 0x8A66, - 15841: 0x8A67, - 15842: 0x8A68, - 15843: 0x8A69, - 15844: 0x8A6A, - 15845: 0x8A6B, - 15846: 0x8A6C, - 15847: 0x8A6D, - 15848: 0x8A6E, - 15849: 0x8A6F, - 15850: 0x8A70, - 15851: 0x8A71, - 15852: 0x8A72, - 15853: 0x8A73, - 15854: 0x8A74, - 15855: 0x8A75, - 15856: 0x8A76, - 15857: 0x8A77, - 15858: 0x8A78, - 15859: 0x8A7A, - 15860: 0x8A7B, - 15861: 0x8A7C, - 15862: 0x8A7D, - 15863: 0x8A7E, - 15864: 0x8A7F, - 15865: 0x8A80, - 15866: 0x6D74, - 15867: 0x5BD3, - 15868: 0x88D5, - 15869: 0x9884, - 15870: 0x8C6B, - 15871: 0x9A6D, - 15872: 0x9E33, - 15873: 0x6E0A, - 15874: 0x51A4, - 15875: 0x5143, - 15876: 0x57A3, - 15877: 0x8881, - 15878: 0x539F, - 15879: 0x63F4, - 15880: 0x8F95, - 15881: 0x56ED, - 15882: 0x5458, - 15883: 0x5706, - 15884: 0x733F, - 15885: 0x6E90, - 15886: 0x7F18, - 15887: 0x8FDC, - 15888: 0x82D1, - 15889: 0x613F, - 15890: 0x6028, - 15891: 0x9662, - 15892: 0x66F0, - 15893: 0x7EA6, - 15894: 0x8D8A, - 15895: 0x8DC3, - 15896: 0x94A5, - 15897: 0x5CB3, - 15898: 0x7CA4, - 15899: 0x6708, - 15900: 0x60A6, - 15901: 0x9605, - 15902: 0x8018, - 15903: 0x4E91, - 15904: 0x90E7, - 15905: 0x5300, - 15906: 0x9668, - 15907: 0x5141, - 15908: 0x8FD0, - 15909: 0x8574, - 15910: 0x915D, - 15911: 0x6655, - 15912: 0x97F5, - 15913: 0x5B55, - 15914: 0x531D, - 15915: 0x7838, - 15916: 0x6742, - 15917: 0x683D, - 15918: 0x54C9, - 15919: 0x707E, - 15920: 0x5BB0, - 15921: 0x8F7D, - 15922: 0x518D, - 15923: 0x5728, - 15924: 0x54B1, - 15925: 0x6512, - 15926: 0x6682, - 15927: 0x8D5E, - 15928: 0x8D43, - 15929: 0x810F, - 15930: 0x846C, - 15931: 0x906D, - 15932: 0x7CDF, - 15933: 0x51FF, - 15934: 0x85FB, - 15935: 0x67A3, - 15936: 0x65E9, - 15937: 0x6FA1, - 15938: 0x86A4, - 15939: 0x8E81, - 15940: 0x566A, - 15941: 0x9020, - 15942: 0x7682, - 15943: 0x7076, - 15944: 0x71E5, - 15945: 0x8D23, - 15946: 0x62E9, - 15947: 0x5219, - 15948: 0x6CFD, - 15949: 0x8D3C, - 15950: 0x600E, - 15951: 0x589E, - 15952: 0x618E, - 15953: 0x66FE, - 15954: 0x8D60, - 15955: 0x624E, - 15956: 0x55B3, - 15957: 0x6E23, - 15958: 0x672D, - 15959: 0x8F67, - 15960: 0x8A81, - 15961: 0x8A82, - 15962: 0x8A83, - 15963: 0x8A84, - 15964: 0x8A85, - 15965: 0x8A86, - 15966: 0x8A87, - 15967: 0x8A88, - 15968: 0x8A8B, - 15969: 0x8A8C, - 15970: 0x8A8D, - 15971: 0x8A8E, - 15972: 0x8A8F, - 15973: 0x8A90, - 15974: 0x8A91, - 15975: 0x8A92, - 15976: 0x8A94, - 15977: 0x8A95, - 15978: 0x8A96, - 15979: 0x8A97, - 15980: 0x8A98, - 15981: 0x8A99, - 15982: 0x8A9A, - 15983: 0x8A9B, - 15984: 0x8A9C, - 15985: 0x8A9D, - 15986: 0x8A9E, - 15987: 0x8A9F, - 15988: 0x8AA0, - 15989: 0x8AA1, - 15990: 0x8AA2, - 15991: 0x8AA3, - 15992: 0x8AA4, - 15993: 0x8AA5, - 15994: 0x8AA6, - 15995: 0x8AA7, - 15996: 0x8AA8, - 15997: 0x8AA9, - 15998: 0x8AAA, - 15999: 0x8AAB, - 16000: 0x8AAC, - 16001: 0x8AAD, - 16002: 0x8AAE, - 16003: 0x8AAF, - 16004: 0x8AB0, - 16005: 0x8AB1, - 16006: 0x8AB2, - 16007: 0x8AB3, - 16008: 0x8AB4, - 16009: 0x8AB5, - 16010: 0x8AB6, - 16011: 0x8AB7, - 16012: 0x8AB8, - 16013: 0x8AB9, - 16014: 0x8ABA, - 16015: 0x8ABB, - 16016: 0x8ABC, - 16017: 0x8ABD, - 16018: 0x8ABE, - 16019: 0x8ABF, - 16020: 0x8AC0, - 16021: 0x8AC1, - 16022: 0x8AC2, - 16023: 0x8AC3, - 16024: 0x8AC4, - 16025: 0x8AC5, - 16026: 0x8AC6, - 16027: 0x8AC7, - 16028: 0x8AC8, - 16029: 0x8AC9, - 16030: 0x8ACA, - 16031: 0x8ACB, - 16032: 0x8ACC, - 16033: 0x8ACD, - 16034: 0x8ACE, - 16035: 0x8ACF, - 16036: 0x8AD0, - 16037: 0x8AD1, - 16038: 0x8AD2, - 16039: 0x8AD3, - 16040: 0x8AD4, - 16041: 0x8AD5, - 16042: 0x8AD6, - 16043: 0x8AD7, - 16044: 0x8AD8, - 16045: 0x8AD9, - 16046: 0x8ADA, - 16047: 0x8ADB, - 16048: 0x8ADC, - 16049: 0x8ADD, - 16050: 0x8ADE, - 16051: 0x8ADF, - 16052: 0x8AE0, - 16053: 0x8AE1, - 16054: 0x8AE2, - 16055: 0x8AE3, - 16056: 0x94E1, - 16057: 0x95F8, - 16058: 0x7728, - 16059: 0x6805, - 16060: 0x69A8, - 16061: 0x548B, - 16062: 0x4E4D, - 16063: 0x70B8, - 16064: 0x8BC8, - 16065: 0x6458, - 16066: 0x658B, - 16067: 0x5B85, - 16068: 0x7A84, - 16069: 0x503A, - 16070: 0x5BE8, - 16071: 0x77BB, - 16072: 0x6BE1, - 16073: 0x8A79, - 16074: 0x7C98, - 16075: 0x6CBE, - 16076: 0x76CF, - 16077: 0x65A9, - 16078: 0x8F97, - 16079: 0x5D2D, - 16080: 0x5C55, - 16081: 0x8638, - 16082: 0x6808, - 16083: 0x5360, - 16084: 0x6218, - 16085: 0x7AD9, - 16086: 0x6E5B, - 16087: 0x7EFD, - 16088: 0x6A1F, - 16089: 0x7AE0, - 16090: 0x5F70, - 16091: 0x6F33, - 16092: 0x5F20, - 16093: 0x638C, - 16094: 0x6DA8, - 16095: 0x6756, - 16096: 0x4E08, - 16097: 0x5E10, - 16098: 0x8D26, - 16099: 0x4ED7, - 16100: 0x80C0, - 16101: 0x7634, - 16102: 0x969C, - 16103: 0x62DB, - 16104: 0x662D, - 16105: 0x627E, - 16106: 0x6CBC, - 16107: 0x8D75, - 16108: 0x7167, - 16109: 0x7F69, - 16110: 0x5146, - 16111: 0x8087, - 16112: 0x53EC, - 16113: 0x906E, - 16114: 0x6298, - 16115: 0x54F2, - 16116: 0x86F0, - 16117: 0x8F99, - 16118: 0x8005, - 16119: 0x9517, - 16120: 0x8517, - 16121: 0x8FD9, - 16122: 0x6D59, - 16123: 0x73CD, - 16124: 0x659F, - 16125: 0x771F, - 16126: 0x7504, - 16127: 0x7827, - 16128: 0x81FB, - 16129: 0x8D1E, - 16130: 0x9488, - 16131: 0x4FA6, - 16132: 0x6795, - 16133: 0x75B9, - 16134: 0x8BCA, - 16135: 0x9707, - 16136: 0x632F, - 16137: 0x9547, - 16138: 0x9635, - 16139: 0x84B8, - 16140: 0x6323, - 16141: 0x7741, - 16142: 0x5F81, - 16143: 0x72F0, - 16144: 0x4E89, - 16145: 0x6014, - 16146: 0x6574, - 16147: 0x62EF, - 16148: 0x6B63, - 16149: 0x653F, - 16150: 0x8AE4, - 16151: 0x8AE5, - 16152: 0x8AE6, - 16153: 0x8AE7, - 16154: 0x8AE8, - 16155: 0x8AE9, - 16156: 0x8AEA, - 16157: 0x8AEB, - 16158: 0x8AEC, - 16159: 0x8AED, - 16160: 0x8AEE, - 16161: 0x8AEF, - 16162: 0x8AF0, - 16163: 0x8AF1, - 16164: 0x8AF2, - 16165: 0x8AF3, - 16166: 0x8AF4, - 16167: 0x8AF5, - 16168: 0x8AF6, - 16169: 0x8AF7, - 16170: 0x8AF8, - 16171: 0x8AF9, - 16172: 0x8AFA, - 16173: 0x8AFB, - 16174: 0x8AFC, - 16175: 0x8AFD, - 16176: 0x8AFE, - 16177: 0x8AFF, - 16178: 0x8B00, - 16179: 0x8B01, - 16180: 0x8B02, - 16181: 0x8B03, - 16182: 0x8B04, - 16183: 0x8B05, - 16184: 0x8B06, - 16185: 0x8B08, - 16186: 0x8B09, - 16187: 0x8B0A, - 16188: 0x8B0B, - 16189: 0x8B0C, - 16190: 0x8B0D, - 16191: 0x8B0E, - 16192: 0x8B0F, - 16193: 0x8B10, - 16194: 0x8B11, - 16195: 0x8B12, - 16196: 0x8B13, - 16197: 0x8B14, - 16198: 0x8B15, - 16199: 0x8B16, - 16200: 0x8B17, - 16201: 0x8B18, - 16202: 0x8B19, - 16203: 0x8B1A, - 16204: 0x8B1B, - 16205: 0x8B1C, - 16206: 0x8B1D, - 16207: 0x8B1E, - 16208: 0x8B1F, - 16209: 0x8B20, - 16210: 0x8B21, - 16211: 0x8B22, - 16212: 0x8B23, - 16213: 0x8B24, - 16214: 0x8B25, - 16215: 0x8B27, - 16216: 0x8B28, - 16217: 0x8B29, - 16218: 0x8B2A, - 16219: 0x8B2B, - 16220: 0x8B2C, - 16221: 0x8B2D, - 16222: 0x8B2E, - 16223: 0x8B2F, - 16224: 0x8B30, - 16225: 0x8B31, - 16226: 0x8B32, - 16227: 0x8B33, - 16228: 0x8B34, - 16229: 0x8B35, - 16230: 0x8B36, - 16231: 0x8B37, - 16232: 0x8B38, - 16233: 0x8B39, - 16234: 0x8B3A, - 16235: 0x8B3B, - 16236: 0x8B3C, - 16237: 0x8B3D, - 16238: 0x8B3E, - 16239: 0x8B3F, - 16240: 0x8B40, - 16241: 0x8B41, - 16242: 0x8B42, - 16243: 0x8B43, - 16244: 0x8B44, - 16245: 0x8B45, - 16246: 0x5E27, - 16247: 0x75C7, - 16248: 0x90D1, - 16249: 0x8BC1, - 16250: 0x829D, - 16251: 0x679D, - 16252: 0x652F, - 16253: 0x5431, - 16254: 0x8718, - 16255: 0x77E5, - 16256: 0x80A2, - 16257: 0x8102, - 16258: 0x6C41, - 16259: 0x4E4B, - 16260: 0x7EC7, - 16261: 0x804C, - 16262: 0x76F4, - 16263: 0x690D, - 16264: 0x6B96, - 16265: 0x6267, - 16266: 0x503C, - 16267: 0x4F84, - 16268: 0x5740, - 16269: 0x6307, - 16270: 0x6B62, - 16271: 0x8DBE, - 16272: 0x53EA, - 16273: 0x65E8, - 16274: 0x7EB8, - 16275: 0x5FD7, - 16276: 0x631A, - 16277: 0x63B7, - 16278: 0x81F3, - 16279: 0x81F4, - 16280: 0x7F6E, - 16281: 0x5E1C, - 16282: 0x5CD9, - 16283: 0x5236, - 16284: 0x667A, - 16285: 0x79E9, - 16286: 0x7A1A, - 16287: 0x8D28, - 16288: 0x7099, - 16289: 0x75D4, - 16290: 0x6EDE, - 16291: 0x6CBB, - 16292: 0x7A92, - 16293: 0x4E2D, - 16294: 0x76C5, - 16295: 0x5FE0, - 16296: 0x949F, - 16297: 0x8877, - 16298: 0x7EC8, - 16299: 0x79CD, - 16300: 0x80BF, - 16301: 0x91CD, - 16302: 0x4EF2, - 16303: 0x4F17, - 16304: 0x821F, - 16305: 0x5468, - 16306: 0x5DDE, - 16307: 0x6D32, - 16308: 0x8BCC, - 16309: 0x7CA5, - 16310: 0x8F74, - 16311: 0x8098, - 16312: 0x5E1A, - 16313: 0x5492, - 16314: 0x76B1, - 16315: 0x5B99, - 16316: 0x663C, - 16317: 0x9AA4, - 16318: 0x73E0, - 16319: 0x682A, - 16320: 0x86DB, - 16321: 0x6731, - 16322: 0x732A, - 16323: 0x8BF8, - 16324: 0x8BDB, - 16325: 0x9010, - 16326: 0x7AF9, - 16327: 0x70DB, - 16328: 0x716E, - 16329: 0x62C4, - 16330: 0x77A9, - 16331: 0x5631, - 16332: 0x4E3B, - 16333: 0x8457, - 16334: 0x67F1, - 16335: 0x52A9, - 16336: 0x86C0, - 16337: 0x8D2E, - 16338: 0x94F8, - 16339: 0x7B51, - 16340: 0x8B46, - 16341: 0x8B47, - 16342: 0x8B48, - 16343: 0x8B49, - 16344: 0x8B4A, - 16345: 0x8B4B, - 16346: 0x8B4C, - 16347: 0x8B4D, - 16348: 0x8B4E, - 16349: 0x8B4F, - 16350: 0x8B50, - 16351: 0x8B51, - 16352: 0x8B52, - 16353: 0x8B53, - 16354: 0x8B54, - 16355: 0x8B55, - 16356: 0x8B56, - 16357: 0x8B57, - 16358: 0x8B58, - 16359: 0x8B59, - 16360: 0x8B5A, - 16361: 0x8B5B, - 16362: 0x8B5C, - 16363: 0x8B5D, - 16364: 0x8B5E, - 16365: 0x8B5F, - 16366: 0x8B60, - 16367: 0x8B61, - 16368: 0x8B62, - 16369: 0x8B63, - 16370: 0x8B64, - 16371: 0x8B65, - 16372: 0x8B67, - 16373: 0x8B68, - 16374: 0x8B69, - 16375: 0x8B6A, - 16376: 0x8B6B, - 16377: 0x8B6D, - 16378: 0x8B6E, - 16379: 0x8B6F, - 16380: 0x8B70, - 16381: 0x8B71, - 16382: 0x8B72, - 16383: 0x8B73, - 16384: 0x8B74, - 16385: 0x8B75, - 16386: 0x8B76, - 16387: 0x8B77, - 16388: 0x8B78, - 16389: 0x8B79, - 16390: 0x8B7A, - 16391: 0x8B7B, - 16392: 0x8B7C, - 16393: 0x8B7D, - 16394: 0x8B7E, - 16395: 0x8B7F, - 16396: 0x8B80, - 16397: 0x8B81, - 16398: 0x8B82, - 16399: 0x8B83, - 16400: 0x8B84, - 16401: 0x8B85, - 16402: 0x8B86, - 16403: 0x8B87, - 16404: 0x8B88, - 16405: 0x8B89, - 16406: 0x8B8A, - 16407: 0x8B8B, - 16408: 0x8B8C, - 16409: 0x8B8D, - 16410: 0x8B8E, - 16411: 0x8B8F, - 16412: 0x8B90, - 16413: 0x8B91, - 16414: 0x8B92, - 16415: 0x8B93, - 16416: 0x8B94, - 16417: 0x8B95, - 16418: 0x8B96, - 16419: 0x8B97, - 16420: 0x8B98, - 16421: 0x8B99, - 16422: 0x8B9A, - 16423: 0x8B9B, - 16424: 0x8B9C, - 16425: 0x8B9D, - 16426: 0x8B9E, - 16427: 0x8B9F, - 16428: 0x8BAC, - 16429: 0x8BB1, - 16430: 0x8BBB, - 16431: 0x8BC7, - 16432: 0x8BD0, - 16433: 0x8BEA, - 16434: 0x8C09, - 16435: 0x8C1E, - 16436: 0x4F4F, - 16437: 0x6CE8, - 16438: 0x795D, - 16439: 0x9A7B, - 16440: 0x6293, - 16441: 0x722A, - 16442: 0x62FD, - 16443: 0x4E13, - 16444: 0x7816, - 16445: 0x8F6C, - 16446: 0x64B0, - 16447: 0x8D5A, - 16448: 0x7BC6, - 16449: 0x6869, - 16450: 0x5E84, - 16451: 0x88C5, - 16452: 0x5986, - 16453: 0x649E, - 16454: 0x58EE, - 16455: 0x72B6, - 16456: 0x690E, - 16457: 0x9525, - 16458: 0x8FFD, - 16459: 0x8D58, - 16460: 0x5760, - 16461: 0x7F00, - 16462: 0x8C06, - 16463: 0x51C6, - 16464: 0x6349, - 16465: 0x62D9, - 16466: 0x5353, - 16467: 0x684C, - 16468: 0x7422, - 16469: 0x8301, - 16470: 0x914C, - 16471: 0x5544, - 16472: 0x7740, - 16473: 0x707C, - 16474: 0x6D4A, - 16475: 0x5179, - 16476: 0x54A8, - 16477: 0x8D44, - 16478: 0x59FF, - 16479: 0x6ECB, - 16480: 0x6DC4, - 16481: 0x5B5C, - 16482: 0x7D2B, - 16483: 0x4ED4, - 16484: 0x7C7D, - 16485: 0x6ED3, - 16486: 0x5B50, - 16487: 0x81EA, - 16488: 0x6E0D, - 16489: 0x5B57, - 16490: 0x9B03, - 16491: 0x68D5, - 16492: 0x8E2A, - 16493: 0x5B97, - 16494: 0x7EFC, - 16495: 0x603B, - 16496: 0x7EB5, - 16497: 0x90B9, - 16498: 0x8D70, - 16499: 0x594F, - 16500: 0x63CD, - 16501: 0x79DF, - 16502: 0x8DB3, - 16503: 0x5352, - 16504: 0x65CF, - 16505: 0x7956, - 16506: 0x8BC5, - 16507: 0x963B, - 16508: 0x7EC4, - 16509: 0x94BB, - 16510: 0x7E82, - 16511: 0x5634, - 16512: 0x9189, - 16513: 0x6700, - 16514: 0x7F6A, - 16515: 0x5C0A, - 16516: 0x9075, - 16517: 0x6628, - 16518: 0x5DE6, - 16519: 0x4F50, - 16520: 0x67DE, - 16521: 0x505A, - 16522: 0x4F5C, - 16523: 0x5750, - 16524: 0x5EA7, - 16530: 0x8C38, - 16531: 0x8C39, - 16532: 0x8C3A, - 16533: 0x8C3B, - 16534: 0x8C3C, - 16535: 0x8C3D, - 16536: 0x8C3E, - 16537: 0x8C3F, - 16538: 0x8C40, - 16539: 0x8C42, - 16540: 0x8C43, - 16541: 0x8C44, - 16542: 0x8C45, - 16543: 0x8C48, - 16544: 0x8C4A, - 16545: 0x8C4B, - 16546: 0x8C4D, - 16547: 0x8C4E, - 16548: 0x8C4F, - 16549: 0x8C50, - 16550: 0x8C51, - 16551: 0x8C52, - 16552: 0x8C53, - 16553: 0x8C54, - 16554: 0x8C56, - 16555: 0x8C57, - 16556: 0x8C58, - 16557: 0x8C59, - 16558: 0x8C5B, - 16559: 0x8C5C, - 16560: 0x8C5D, - 16561: 0x8C5E, - 16562: 0x8C5F, - 16563: 0x8C60, - 16564: 0x8C63, - 16565: 0x8C64, - 16566: 0x8C65, - 16567: 0x8C66, - 16568: 0x8C67, - 16569: 0x8C68, - 16570: 0x8C69, - 16571: 0x8C6C, - 16572: 0x8C6D, - 16573: 0x8C6E, - 16574: 0x8C6F, - 16575: 0x8C70, - 16576: 0x8C71, - 16577: 0x8C72, - 16578: 0x8C74, - 16579: 0x8C75, - 16580: 0x8C76, - 16581: 0x8C77, - 16582: 0x8C7B, - 16583: 0x8C7C, - 16584: 0x8C7D, - 16585: 0x8C7E, - 16586: 0x8C7F, - 16587: 0x8C80, - 16588: 0x8C81, - 16589: 0x8C83, - 16590: 0x8C84, - 16591: 0x8C86, - 16592: 0x8C87, - 16593: 0x8C88, - 16594: 0x8C8B, - 16595: 0x8C8D, - 16596: 0x8C8E, - 16597: 0x8C8F, - 16598: 0x8C90, - 16599: 0x8C91, - 16600: 0x8C92, - 16601: 0x8C93, - 16602: 0x8C95, - 16603: 0x8C96, - 16604: 0x8C97, - 16605: 0x8C99, - 16606: 0x8C9A, - 16607: 0x8C9B, - 16608: 0x8C9C, - 16609: 0x8C9D, - 16610: 0x8C9E, - 16611: 0x8C9F, - 16612: 0x8CA0, - 16613: 0x8CA1, - 16614: 0x8CA2, - 16615: 0x8CA3, - 16616: 0x8CA4, - 16617: 0x8CA5, - 16618: 0x8CA6, - 16619: 0x8CA7, - 16620: 0x8CA8, - 16621: 0x8CA9, - 16622: 0x8CAA, - 16623: 0x8CAB, - 16624: 0x8CAC, - 16625: 0x8CAD, - 16626: 0x4E8D, - 16627: 0x4E0C, - 16628: 0x5140, - 16629: 0x4E10, - 16630: 0x5EFF, - 16631: 0x5345, - 16632: 0x4E15, - 16633: 0x4E98, - 16634: 0x4E1E, - 16635: 0x9B32, - 16636: 0x5B6C, - 16637: 0x5669, - 16638: 0x4E28, - 16639: 0x79BA, - 16640: 0x4E3F, - 16641: 0x5315, - 16642: 0x4E47, - 16643: 0x592D, - 16644: 0x723B, - 16645: 0x536E, - 16646: 0x6C10, - 16647: 0x56DF, - 16648: 0x80E4, - 16649: 0x9997, - 16650: 0x6BD3, - 16651: 0x777E, - 16652: 0x9F17, - 16653: 0x4E36, - 16654: 0x4E9F, - 16655: 0x9F10, - 16656: 0x4E5C, - 16657: 0x4E69, - 16658: 0x4E93, - 16659: 0x8288, - 16660: 0x5B5B, - 16661: 0x556C, - 16662: 0x560F, - 16663: 0x4EC4, - 16664: 0x538D, - 16665: 0x539D, - 16666: 0x53A3, - 16667: 0x53A5, - 16668: 0x53AE, - 16669: 0x9765, - 16670: 0x8D5D, - 16671: 0x531A, - 16672: 0x53F5, - 16673: 0x5326, - 16674: 0x532E, - 16675: 0x533E, - 16676: 0x8D5C, - 16677: 0x5366, - 16678: 0x5363, - 16679: 0x5202, - 16680: 0x5208, - 16681: 0x520E, - 16682: 0x522D, - 16683: 0x5233, - 16684: 0x523F, - 16685: 0x5240, - 16686: 0x524C, - 16687: 0x525E, - 16688: 0x5261, - 16689: 0x525C, - 16690: 0x84AF, - 16691: 0x527D, - 16692: 0x5282, - 16693: 0x5281, - 16694: 0x5290, - 16695: 0x5293, - 16696: 0x5182, - 16697: 0x7F54, - 16698: 0x4EBB, - 16699: 0x4EC3, - 16700: 0x4EC9, - 16701: 0x4EC2, - 16702: 0x4EE8, - 16703: 0x4EE1, - 16704: 0x4EEB, - 16705: 0x4EDE, - 16706: 0x4F1B, - 16707: 0x4EF3, - 16708: 0x4F22, - 16709: 0x4F64, - 16710: 0x4EF5, - 16711: 0x4F25, - 16712: 0x4F27, - 16713: 0x4F09, - 16714: 0x4F2B, - 16715: 0x4F5E, - 16716: 0x4F67, - 16717: 0x6538, - 16718: 0x4F5A, - 16719: 0x4F5D, - 16720: 0x8CAE, - 16721: 0x8CAF, - 16722: 0x8CB0, - 16723: 0x8CB1, - 16724: 0x8CB2, - 16725: 0x8CB3, - 16726: 0x8CB4, - 16727: 0x8CB5, - 16728: 0x8CB6, - 16729: 0x8CB7, - 16730: 0x8CB8, - 16731: 0x8CB9, - 16732: 0x8CBA, - 16733: 0x8CBB, - 16734: 0x8CBC, - 16735: 0x8CBD, - 16736: 0x8CBE, - 16737: 0x8CBF, - 16738: 0x8CC0, - 16739: 0x8CC1, - 16740: 0x8CC2, - 16741: 0x8CC3, - 16742: 0x8CC4, - 16743: 0x8CC5, - 16744: 0x8CC6, - 16745: 0x8CC7, - 16746: 0x8CC8, - 16747: 0x8CC9, - 16748: 0x8CCA, - 16749: 0x8CCB, - 16750: 0x8CCC, - 16751: 0x8CCD, - 16752: 0x8CCE, - 16753: 0x8CCF, - 16754: 0x8CD0, - 16755: 0x8CD1, - 16756: 0x8CD2, - 16757: 0x8CD3, - 16758: 0x8CD4, - 16759: 0x8CD5, - 16760: 0x8CD6, - 16761: 0x8CD7, - 16762: 0x8CD8, - 16763: 0x8CD9, - 16764: 0x8CDA, - 16765: 0x8CDB, - 16766: 0x8CDC, - 16767: 0x8CDD, - 16768: 0x8CDE, - 16769: 0x8CDF, - 16770: 0x8CE0, - 16771: 0x8CE1, - 16772: 0x8CE2, - 16773: 0x8CE3, - 16774: 0x8CE4, - 16775: 0x8CE5, - 16776: 0x8CE6, - 16777: 0x8CE7, - 16778: 0x8CE8, - 16779: 0x8CE9, - 16780: 0x8CEA, - 16781: 0x8CEB, - 16782: 0x8CEC, - 16783: 0x8CED, - 16784: 0x8CEE, - 16785: 0x8CEF, - 16786: 0x8CF0, - 16787: 0x8CF1, - 16788: 0x8CF2, - 16789: 0x8CF3, - 16790: 0x8CF4, - 16791: 0x8CF5, - 16792: 0x8CF6, - 16793: 0x8CF7, - 16794: 0x8CF8, - 16795: 0x8CF9, - 16796: 0x8CFA, - 16797: 0x8CFB, - 16798: 0x8CFC, - 16799: 0x8CFD, - 16800: 0x8CFE, - 16801: 0x8CFF, - 16802: 0x8D00, - 16803: 0x8D01, - 16804: 0x8D02, - 16805: 0x8D03, - 16806: 0x8D04, - 16807: 0x8D05, - 16808: 0x8D06, - 16809: 0x8D07, - 16810: 0x8D08, - 16811: 0x8D09, - 16812: 0x8D0A, - 16813: 0x8D0B, - 16814: 0x8D0C, - 16815: 0x8D0D, - 16816: 0x4F5F, - 16817: 0x4F57, - 16818: 0x4F32, - 16819: 0x4F3D, - 16820: 0x4F76, - 16821: 0x4F74, - 16822: 0x4F91, - 16823: 0x4F89, - 16824: 0x4F83, - 16825: 0x4F8F, - 16826: 0x4F7E, - 16827: 0x4F7B, - 16828: 0x4FAA, - 16829: 0x4F7C, - 16830: 0x4FAC, - 16831: 0x4F94, - 16832: 0x4FE6, - 16833: 0x4FE8, - 16834: 0x4FEA, - 16835: 0x4FC5, - 16836: 0x4FDA, - 16837: 0x4FE3, - 16838: 0x4FDC, - 16839: 0x4FD1, - 16840: 0x4FDF, - 16841: 0x4FF8, - 16842: 0x5029, - 16843: 0x504C, - 16844: 0x4FF3, - 16845: 0x502C, - 16846: 0x500F, - 16847: 0x502E, - 16848: 0x502D, - 16849: 0x4FFE, - 16850: 0x501C, - 16851: 0x500C, - 16852: 0x5025, - 16853: 0x5028, - 16854: 0x507E, - 16855: 0x5043, - 16856: 0x5055, - 16857: 0x5048, - 16858: 0x504E, - 16859: 0x506C, - 16860: 0x507B, - 16861: 0x50A5, - 16862: 0x50A7, - 16863: 0x50A9, - 16864: 0x50BA, - 16865: 0x50D6, - 16866: 0x5106, - 16867: 0x50ED, - 16868: 0x50EC, - 16869: 0x50E6, - 16870: 0x50EE, - 16871: 0x5107, - 16872: 0x510B, - 16873: 0x4EDD, - 16874: 0x6C3D, - 16875: 0x4F58, - 16876: 0x4F65, - 16877: 0x4FCE, - 16878: 0x9FA0, - 16879: 0x6C46, - 16880: 0x7C74, - 16881: 0x516E, - 16882: 0x5DFD, - 16883: 0x9EC9, - 16884: 0x9998, - 16885: 0x5181, - 16886: 0x5914, - 16887: 0x52F9, - 16888: 0x530D, - 16889: 0x8A07, - 16890: 0x5310, - 16891: 0x51EB, - 16892: 0x5919, - 16893: 0x5155, - 16894: 0x4EA0, - 16895: 0x5156, - 16896: 0x4EB3, - 16897: 0x886E, - 16898: 0x88A4, - 16899: 0x4EB5, - 16900: 0x8114, - 16901: 0x88D2, - 16902: 0x7980, - 16903: 0x5B34, - 16904: 0x8803, - 16905: 0x7FB8, - 16906: 0x51AB, - 16907: 0x51B1, - 16908: 0x51BD, - 16909: 0x51BC, - 16910: 0x8D0E, - 16911: 0x8D0F, - 16912: 0x8D10, - 16913: 0x8D11, - 16914: 0x8D12, - 16915: 0x8D13, - 16916: 0x8D14, - 16917: 0x8D15, - 16918: 0x8D16, - 16919: 0x8D17, - 16920: 0x8D18, - 16921: 0x8D19, - 16922: 0x8D1A, - 16923: 0x8D1B, - 16924: 0x8D1C, - 16925: 0x8D20, - 16926: 0x8D51, - 16927: 0x8D52, - 16928: 0x8D57, - 16929: 0x8D5F, - 16930: 0x8D65, - 16931: 0x8D68, - 16932: 0x8D69, - 16933: 0x8D6A, - 16934: 0x8D6C, - 16935: 0x8D6E, - 16936: 0x8D6F, - 16937: 0x8D71, - 16938: 0x8D72, - 16939: 0x8D78, - 16940: 0x8D79, - 16941: 0x8D7A, - 16942: 0x8D7B, - 16943: 0x8D7C, - 16944: 0x8D7D, - 16945: 0x8D7E, - 16946: 0x8D7F, - 16947: 0x8D80, - 16948: 0x8D82, - 16949: 0x8D83, - 16950: 0x8D86, - 16951: 0x8D87, - 16952: 0x8D88, - 16953: 0x8D89, - 16954: 0x8D8C, - 16955: 0x8D8D, - 16956: 0x8D8E, - 16957: 0x8D8F, - 16958: 0x8D90, - 16959: 0x8D92, - 16960: 0x8D93, - 16961: 0x8D95, - 16962: 0x8D96, - 16963: 0x8D97, - 16964: 0x8D98, - 16965: 0x8D99, - 16966: 0x8D9A, - 16967: 0x8D9B, - 16968: 0x8D9C, - 16969: 0x8D9D, - 16970: 0x8D9E, - 16971: 0x8DA0, - 16972: 0x8DA1, - 16973: 0x8DA2, - 16974: 0x8DA4, - 16975: 0x8DA5, - 16976: 0x8DA6, - 16977: 0x8DA7, - 16978: 0x8DA8, - 16979: 0x8DA9, - 16980: 0x8DAA, - 16981: 0x8DAB, - 16982: 0x8DAC, - 16983: 0x8DAD, - 16984: 0x8DAE, - 16985: 0x8DAF, - 16986: 0x8DB0, - 16987: 0x8DB2, - 16988: 0x8DB6, - 16989: 0x8DB7, - 16990: 0x8DB9, - 16991: 0x8DBB, - 16992: 0x8DBD, - 16993: 0x8DC0, - 16994: 0x8DC1, - 16995: 0x8DC2, - 16996: 0x8DC5, - 16997: 0x8DC7, - 16998: 0x8DC8, - 16999: 0x8DC9, - 17000: 0x8DCA, - 17001: 0x8DCD, - 17002: 0x8DD0, - 17003: 0x8DD2, - 17004: 0x8DD3, - 17005: 0x8DD4, - 17006: 0x51C7, - 17007: 0x5196, - 17008: 0x51A2, - 17009: 0x51A5, - 17010: 0x8BA0, - 17011: 0x8BA6, - 17012: 0x8BA7, - 17013: 0x8BAA, - 17014: 0x8BB4, - 17015: 0x8BB5, - 17016: 0x8BB7, - 17017: 0x8BC2, - 17018: 0x8BC3, - 17019: 0x8BCB, - 17020: 0x8BCF, - 17021: 0x8BCE, - 17022: 0x8BD2, - 17023: 0x8BD3, - 17024: 0x8BD4, - 17025: 0x8BD6, - 17026: 0x8BD8, - 17027: 0x8BD9, - 17028: 0x8BDC, - 17029: 0x8BDF, - 17030: 0x8BE0, - 17031: 0x8BE4, - 17032: 0x8BE8, - 17033: 0x8BE9, - 17034: 0x8BEE, - 17035: 0x8BF0, - 17036: 0x8BF3, - 17037: 0x8BF6, - 17038: 0x8BF9, - 17039: 0x8BFC, - 17040: 0x8BFF, - 17041: 0x8C00, - 17042: 0x8C02, - 17043: 0x8C04, - 17044: 0x8C07, - 17045: 0x8C0C, - 17046: 0x8C0F, - 17047: 0x8C11, - 17048: 0x8C12, - 17049: 0x8C14, - 17050: 0x8C15, - 17051: 0x8C16, - 17052: 0x8C19, - 17053: 0x8C1B, - 17054: 0x8C18, - 17055: 0x8C1D, - 17056: 0x8C1F, - 17057: 0x8C20, - 17058: 0x8C21, - 17059: 0x8C25, - 17060: 0x8C27, - 17061: 0x8C2A, - 17062: 0x8C2B, - 17063: 0x8C2E, - 17064: 0x8C2F, - 17065: 0x8C32, - 17066: 0x8C33, - 17067: 0x8C35, - 17068: 0x8C36, - 17069: 0x5369, - 17070: 0x537A, - 17071: 0x961D, - 17072: 0x9622, - 17073: 0x9621, - 17074: 0x9631, - 17075: 0x962A, - 17076: 0x963D, - 17077: 0x963C, - 17078: 0x9642, - 17079: 0x9649, - 17080: 0x9654, - 17081: 0x965F, - 17082: 0x9667, - 17083: 0x966C, - 17084: 0x9672, - 17085: 0x9674, - 17086: 0x9688, - 17087: 0x968D, - 17088: 0x9697, - 17089: 0x96B0, - 17090: 0x9097, - 17091: 0x909B, - 17092: 0x909D, - 17093: 0x9099, - 17094: 0x90AC, - 17095: 0x90A1, - 17096: 0x90B4, - 17097: 0x90B3, - 17098: 0x90B6, - 17099: 0x90BA, - 17100: 0x8DD5, - 17101: 0x8DD8, - 17102: 0x8DD9, - 17103: 0x8DDC, - 17104: 0x8DE0, - 17105: 0x8DE1, - 17106: 0x8DE2, - 17107: 0x8DE5, - 17108: 0x8DE6, - 17109: 0x8DE7, - 17110: 0x8DE9, - 17111: 0x8DED, - 17112: 0x8DEE, - 17113: 0x8DF0, - 17114: 0x8DF1, - 17115: 0x8DF2, - 17116: 0x8DF4, - 17117: 0x8DF6, - 17118: 0x8DFC, - 17119: 0x8DFE, - 17120: 0x8DFF, - 17121: 0x8E00, - 17122: 0x8E01, - 17123: 0x8E02, - 17124: 0x8E03, - 17125: 0x8E04, - 17126: 0x8E06, - 17127: 0x8E07, - 17128: 0x8E08, - 17129: 0x8E0B, - 17130: 0x8E0D, - 17131: 0x8E0E, - 17132: 0x8E10, - 17133: 0x8E11, - 17134: 0x8E12, - 17135: 0x8E13, - 17136: 0x8E15, - 17137: 0x8E16, - 17138: 0x8E17, - 17139: 0x8E18, - 17140: 0x8E19, - 17141: 0x8E1A, - 17142: 0x8E1B, - 17143: 0x8E1C, - 17144: 0x8E20, - 17145: 0x8E21, - 17146: 0x8E24, - 17147: 0x8E25, - 17148: 0x8E26, - 17149: 0x8E27, - 17150: 0x8E28, - 17151: 0x8E2B, - 17152: 0x8E2D, - 17153: 0x8E30, - 17154: 0x8E32, - 17155: 0x8E33, - 17156: 0x8E34, - 17157: 0x8E36, - 17158: 0x8E37, - 17159: 0x8E38, - 17160: 0x8E3B, - 17161: 0x8E3C, - 17162: 0x8E3E, - 17163: 0x8E3F, - 17164: 0x8E43, - 17165: 0x8E45, - 17166: 0x8E46, - 17167: 0x8E4C, - 17168: 0x8E4D, - 17169: 0x8E4E, - 17170: 0x8E4F, - 17171: 0x8E50, - 17172: 0x8E53, - 17173: 0x8E54, - 17174: 0x8E55, - 17175: 0x8E56, - 17176: 0x8E57, - 17177: 0x8E58, - 17178: 0x8E5A, - 17179: 0x8E5B, - 17180: 0x8E5C, - 17181: 0x8E5D, - 17182: 0x8E5E, - 17183: 0x8E5F, - 17184: 0x8E60, - 17185: 0x8E61, - 17186: 0x8E62, - 17187: 0x8E63, - 17188: 0x8E64, - 17189: 0x8E65, - 17190: 0x8E67, - 17191: 0x8E68, - 17192: 0x8E6A, - 17193: 0x8E6B, - 17194: 0x8E6E, - 17195: 0x8E71, - 17196: 0x90B8, - 17197: 0x90B0, - 17198: 0x90CF, - 17199: 0x90C5, - 17200: 0x90BE, - 17201: 0x90D0, - 17202: 0x90C4, - 17203: 0x90C7, - 17204: 0x90D3, - 17205: 0x90E6, - 17206: 0x90E2, - 17207: 0x90DC, - 17208: 0x90D7, - 17209: 0x90DB, - 17210: 0x90EB, - 17211: 0x90EF, - 17212: 0x90FE, - 17213: 0x9104, - 17214: 0x9122, - 17215: 0x911E, - 17216: 0x9123, - 17217: 0x9131, - 17218: 0x912F, - 17219: 0x9139, - 17220: 0x9143, - 17221: 0x9146, - 17222: 0x520D, - 17223: 0x5942, - 17224: 0x52A2, - 17225: 0x52AC, - 17226: 0x52AD, - 17227: 0x52BE, - 17228: 0x54FF, - 17229: 0x52D0, - 17230: 0x52D6, - 17231: 0x52F0, - 17232: 0x53DF, - 17233: 0x71EE, - 17234: 0x77CD, - 17235: 0x5EF4, - 17236: 0x51F5, - 17237: 0x51FC, - 17238: 0x9B2F, - 17239: 0x53B6, - 17240: 0x5F01, - 17241: 0x755A, - 17242: 0x5DEF, - 17243: 0x574C, - 17244: 0x57A9, - 17245: 0x57A1, - 17246: 0x587E, - 17247: 0x58BC, - 17248: 0x58C5, - 17249: 0x58D1, - 17250: 0x5729, - 17251: 0x572C, - 17252: 0x572A, - 17253: 0x5733, - 17254: 0x5739, - 17255: 0x572E, - 17256: 0x572F, - 17257: 0x575C, - 17258: 0x573B, - 17259: 0x5742, - 17260: 0x5769, - 17261: 0x5785, - 17262: 0x576B, - 17263: 0x5786, - 17264: 0x577C, - 17265: 0x577B, - 17266: 0x5768, - 17267: 0x576D, - 17268: 0x5776, - 17269: 0x5773, - 17270: 0x57AD, - 17271: 0x57A4, - 17272: 0x578C, - 17273: 0x57B2, - 17274: 0x57CF, - 17275: 0x57A7, - 17276: 0x57B4, - 17277: 0x5793, - 17278: 0x57A0, - 17279: 0x57D5, - 17280: 0x57D8, - 17281: 0x57DA, - 17282: 0x57D9, - 17283: 0x57D2, - 17284: 0x57B8, - 17285: 0x57F4, - 17286: 0x57EF, - 17287: 0x57F8, - 17288: 0x57E4, - 17289: 0x57DD, - 17290: 0x8E73, - 17291: 0x8E75, - 17292: 0x8E77, - 17293: 0x8E78, - 17294: 0x8E79, - 17295: 0x8E7A, - 17296: 0x8E7B, - 17297: 0x8E7D, - 17298: 0x8E7E, - 17299: 0x8E80, - 17300: 0x8E82, - 17301: 0x8E83, - 17302: 0x8E84, - 17303: 0x8E86, - 17304: 0x8E88, - 17305: 0x8E89, - 17306: 0x8E8A, - 17307: 0x8E8B, - 17308: 0x8E8C, - 17309: 0x8E8D, - 17310: 0x8E8E, - 17311: 0x8E91, - 17312: 0x8E92, - 17313: 0x8E93, - 17314: 0x8E95, - 17315: 0x8E96, - 17316: 0x8E97, - 17317: 0x8E98, - 17318: 0x8E99, - 17319: 0x8E9A, - 17320: 0x8E9B, - 17321: 0x8E9D, - 17322: 0x8E9F, - 17323: 0x8EA0, - 17324: 0x8EA1, - 17325: 0x8EA2, - 17326: 0x8EA3, - 17327: 0x8EA4, - 17328: 0x8EA5, - 17329: 0x8EA6, - 17330: 0x8EA7, - 17331: 0x8EA8, - 17332: 0x8EA9, - 17333: 0x8EAA, - 17334: 0x8EAD, - 17335: 0x8EAE, - 17336: 0x8EB0, - 17337: 0x8EB1, - 17338: 0x8EB3, - 17339: 0x8EB4, - 17340: 0x8EB5, - 17341: 0x8EB6, - 17342: 0x8EB7, - 17343: 0x8EB8, - 17344: 0x8EB9, - 17345: 0x8EBB, - 17346: 0x8EBC, - 17347: 0x8EBD, - 17348: 0x8EBE, - 17349: 0x8EBF, - 17350: 0x8EC0, - 17351: 0x8EC1, - 17352: 0x8EC2, - 17353: 0x8EC3, - 17354: 0x8EC4, - 17355: 0x8EC5, - 17356: 0x8EC6, - 17357: 0x8EC7, - 17358: 0x8EC8, - 17359: 0x8EC9, - 17360: 0x8ECA, - 17361: 0x8ECB, - 17362: 0x8ECC, - 17363: 0x8ECD, - 17364: 0x8ECF, - 17365: 0x8ED0, - 17366: 0x8ED1, - 17367: 0x8ED2, - 17368: 0x8ED3, - 17369: 0x8ED4, - 17370: 0x8ED5, - 17371: 0x8ED6, - 17372: 0x8ED7, - 17373: 0x8ED8, - 17374: 0x8ED9, - 17375: 0x8EDA, - 17376: 0x8EDB, - 17377: 0x8EDC, - 17378: 0x8EDD, - 17379: 0x8EDE, - 17380: 0x8EDF, - 17381: 0x8EE0, - 17382: 0x8EE1, - 17383: 0x8EE2, - 17384: 0x8EE3, - 17385: 0x8EE4, - 17386: 0x580B, - 17387: 0x580D, - 17388: 0x57FD, - 17389: 0x57ED, - 17390: 0x5800, - 17391: 0x581E, - 17392: 0x5819, - 17393: 0x5844, - 17394: 0x5820, - 17395: 0x5865, - 17396: 0x586C, - 17397: 0x5881, - 17398: 0x5889, - 17399: 0x589A, - 17400: 0x5880, - 17401: 0x99A8, - 17402: 0x9F19, - 17403: 0x61FF, - 17404: 0x8279, - 17405: 0x827D, - 17406: 0x827F, - 17407: 0x828F, - 17408: 0x828A, - 17409: 0x82A8, - 17410: 0x8284, - 17411: 0x828E, - 17412: 0x8291, - 17413: 0x8297, - 17414: 0x8299, - 17415: 0x82AB, - 17416: 0x82B8, - 17417: 0x82BE, - 17418: 0x82B0, - 17419: 0x82C8, - 17420: 0x82CA, - 17421: 0x82E3, - 17422: 0x8298, - 17423: 0x82B7, - 17424: 0x82AE, - 17425: 0x82CB, - 17426: 0x82CC, - 17427: 0x82C1, - 17428: 0x82A9, - 17429: 0x82B4, - 17430: 0x82A1, - 17431: 0x82AA, - 17432: 0x829F, - 17433: 0x82C4, - 17434: 0x82CE, - 17435: 0x82A4, - 17436: 0x82E1, - 17437: 0x8309, - 17438: 0x82F7, - 17439: 0x82E4, - 17440: 0x830F, - 17441: 0x8307, - 17442: 0x82DC, - 17443: 0x82F4, - 17444: 0x82D2, - 17445: 0x82D8, - 17446: 0x830C, - 17447: 0x82FB, - 17448: 0x82D3, - 17449: 0x8311, - 17450: 0x831A, - 17451: 0x8306, - 17452: 0x8314, - 17453: 0x8315, - 17454: 0x82E0, - 17455: 0x82D5, - 17456: 0x831C, - 17457: 0x8351, - 17458: 0x835B, - 17459: 0x835C, - 17460: 0x8308, - 17461: 0x8392, - 17462: 0x833C, - 17463: 0x8334, - 17464: 0x8331, - 17465: 0x839B, - 17466: 0x835E, - 17467: 0x832F, - 17468: 0x834F, - 17469: 0x8347, - 17470: 0x8343, - 17471: 0x835F, - 17472: 0x8340, - 17473: 0x8317, - 17474: 0x8360, - 17475: 0x832D, - 17476: 0x833A, - 17477: 0x8333, - 17478: 0x8366, - 17479: 0x8365, - 17480: 0x8EE5, - 17481: 0x8EE6, - 17482: 0x8EE7, - 17483: 0x8EE8, - 17484: 0x8EE9, - 17485: 0x8EEA, - 17486: 0x8EEB, - 17487: 0x8EEC, - 17488: 0x8EED, - 17489: 0x8EEE, - 17490: 0x8EEF, - 17491: 0x8EF0, - 17492: 0x8EF1, - 17493: 0x8EF2, - 17494: 0x8EF3, - 17495: 0x8EF4, - 17496: 0x8EF5, - 17497: 0x8EF6, - 17498: 0x8EF7, - 17499: 0x8EF8, - 17500: 0x8EF9, - 17501: 0x8EFA, - 17502: 0x8EFB, - 17503: 0x8EFC, - 17504: 0x8EFD, - 17505: 0x8EFE, - 17506: 0x8EFF, - 17507: 0x8F00, - 17508: 0x8F01, - 17509: 0x8F02, - 17510: 0x8F03, - 17511: 0x8F04, - 17512: 0x8F05, - 17513: 0x8F06, - 17514: 0x8F07, - 17515: 0x8F08, - 17516: 0x8F09, - 17517: 0x8F0A, - 17518: 0x8F0B, - 17519: 0x8F0C, - 17520: 0x8F0D, - 17521: 0x8F0E, - 17522: 0x8F0F, - 17523: 0x8F10, - 17524: 0x8F11, - 17525: 0x8F12, - 17526: 0x8F13, - 17527: 0x8F14, - 17528: 0x8F15, - 17529: 0x8F16, - 17530: 0x8F17, - 17531: 0x8F18, - 17532: 0x8F19, - 17533: 0x8F1A, - 17534: 0x8F1B, - 17535: 0x8F1C, - 17536: 0x8F1D, - 17537: 0x8F1E, - 17538: 0x8F1F, - 17539: 0x8F20, - 17540: 0x8F21, - 17541: 0x8F22, - 17542: 0x8F23, - 17543: 0x8F24, - 17544: 0x8F25, - 17545: 0x8F26, - 17546: 0x8F27, - 17547: 0x8F28, - 17548: 0x8F29, - 17549: 0x8F2A, - 17550: 0x8F2B, - 17551: 0x8F2C, - 17552: 0x8F2D, - 17553: 0x8F2E, - 17554: 0x8F2F, - 17555: 0x8F30, - 17556: 0x8F31, - 17557: 0x8F32, - 17558: 0x8F33, - 17559: 0x8F34, - 17560: 0x8F35, - 17561: 0x8F36, - 17562: 0x8F37, - 17563: 0x8F38, - 17564: 0x8F39, - 17565: 0x8F3A, - 17566: 0x8F3B, - 17567: 0x8F3C, - 17568: 0x8F3D, - 17569: 0x8F3E, - 17570: 0x8F3F, - 17571: 0x8F40, - 17572: 0x8F41, - 17573: 0x8F42, - 17574: 0x8F43, - 17575: 0x8F44, - 17576: 0x8368, - 17577: 0x831B, - 17578: 0x8369, - 17579: 0x836C, - 17580: 0x836A, - 17581: 0x836D, - 17582: 0x836E, - 17583: 0x83B0, - 17584: 0x8378, - 17585: 0x83B3, - 17586: 0x83B4, - 17587: 0x83A0, - 17588: 0x83AA, - 17589: 0x8393, - 17590: 0x839C, - 17591: 0x8385, - 17592: 0x837C, - 17593: 0x83B6, - 17594: 0x83A9, - 17595: 0x837D, - 17596: 0x83B8, - 17597: 0x837B, - 17598: 0x8398, - 17599: 0x839E, - 17600: 0x83A8, - 17601: 0x83BA, - 17602: 0x83BC, - 17603: 0x83C1, - 17604: 0x8401, - 17605: 0x83E5, - 17606: 0x83D8, - 17607: 0x5807, - 17608: 0x8418, - 17609: 0x840B, - 17610: 0x83DD, - 17611: 0x83FD, - 17612: 0x83D6, - 17613: 0x841C, - 17614: 0x8438, - 17615: 0x8411, - 17616: 0x8406, - 17617: 0x83D4, - 17618: 0x83DF, - 17619: 0x840F, - 17620: 0x8403, - 17621: 0x83F8, - 17622: 0x83F9, - 17623: 0x83EA, - 17624: 0x83C5, - 17625: 0x83C0, - 17626: 0x8426, - 17627: 0x83F0, - 17628: 0x83E1, - 17629: 0x845C, - 17630: 0x8451, - 17631: 0x845A, - 17632: 0x8459, - 17633: 0x8473, - 17634: 0x8487, - 17635: 0x8488, - 17636: 0x847A, - 17637: 0x8489, - 17638: 0x8478, - 17639: 0x843C, - 17640: 0x8446, - 17641: 0x8469, - 17642: 0x8476, - 17643: 0x848C, - 17644: 0x848E, - 17645: 0x8431, - 17646: 0x846D, - 17647: 0x84C1, - 17648: 0x84CD, - 17649: 0x84D0, - 17650: 0x84E6, - 17651: 0x84BD, - 17652: 0x84D3, - 17653: 0x84CA, - 17654: 0x84BF, - 17655: 0x84BA, - 17656: 0x84E0, - 17657: 0x84A1, - 17658: 0x84B9, - 17659: 0x84B4, - 17660: 0x8497, - 17661: 0x84E5, - 17662: 0x84E3, - 17663: 0x850C, - 17664: 0x750D, - 17665: 0x8538, - 17666: 0x84F0, - 17667: 0x8539, - 17668: 0x851F, - 17669: 0x853A, - 17670: 0x8F45, - 17671: 0x8F46, - 17672: 0x8F47, - 17673: 0x8F48, - 17674: 0x8F49, - 17675: 0x8F4A, - 17676: 0x8F4B, - 17677: 0x8F4C, - 17678: 0x8F4D, - 17679: 0x8F4E, - 17680: 0x8F4F, - 17681: 0x8F50, - 17682: 0x8F51, - 17683: 0x8F52, - 17684: 0x8F53, - 17685: 0x8F54, - 17686: 0x8F55, - 17687: 0x8F56, - 17688: 0x8F57, - 17689: 0x8F58, - 17690: 0x8F59, - 17691: 0x8F5A, - 17692: 0x8F5B, - 17693: 0x8F5C, - 17694: 0x8F5D, - 17695: 0x8F5E, - 17696: 0x8F5F, - 17697: 0x8F60, - 17698: 0x8F61, - 17699: 0x8F62, - 17700: 0x8F63, - 17701: 0x8F64, - 17702: 0x8F65, - 17703: 0x8F6A, - 17704: 0x8F80, - 17705: 0x8F8C, - 17706: 0x8F92, - 17707: 0x8F9D, - 17708: 0x8FA0, - 17709: 0x8FA1, - 17710: 0x8FA2, - 17711: 0x8FA4, - 17712: 0x8FA5, - 17713: 0x8FA6, - 17714: 0x8FA7, - 17715: 0x8FAA, - 17716: 0x8FAC, - 17717: 0x8FAD, - 17718: 0x8FAE, - 17719: 0x8FAF, - 17720: 0x8FB2, - 17721: 0x8FB3, - 17722: 0x8FB4, - 17723: 0x8FB5, - 17724: 0x8FB7, - 17725: 0x8FB8, - 17726: 0x8FBA, - 17727: 0x8FBB, - 17728: 0x8FBC, - 17729: 0x8FBF, - 17730: 0x8FC0, - 17731: 0x8FC3, - 17732: 0x8FC6, - 17733: 0x8FC9, - 17734: 0x8FCA, - 17735: 0x8FCB, - 17736: 0x8FCC, - 17737: 0x8FCD, - 17738: 0x8FCF, - 17739: 0x8FD2, - 17740: 0x8FD6, - 17741: 0x8FD7, - 17742: 0x8FDA, - 17743: 0x8FE0, - 17744: 0x8FE1, - 17745: 0x8FE3, - 17746: 0x8FE7, - 17747: 0x8FEC, - 17748: 0x8FEF, - 17749: 0x8FF1, - 17750: 0x8FF2, - 17751: 0x8FF4, - 17752: 0x8FF5, - 17753: 0x8FF6, - 17754: 0x8FFA, - 17755: 0x8FFB, - 17756: 0x8FFC, - 17757: 0x8FFE, - 17758: 0x8FFF, - 17759: 0x9007, - 17760: 0x9008, - 17761: 0x900C, - 17762: 0x900E, - 17763: 0x9013, - 17764: 0x9015, - 17765: 0x9018, - 17766: 0x8556, - 17767: 0x853B, - 17768: 0x84FF, - 17769: 0x84FC, - 17770: 0x8559, - 17771: 0x8548, - 17772: 0x8568, - 17773: 0x8564, - 17774: 0x855E, - 17775: 0x857A, - 17776: 0x77A2, - 17777: 0x8543, - 17778: 0x8572, - 17779: 0x857B, - 17780: 0x85A4, - 17781: 0x85A8, - 17782: 0x8587, - 17783: 0x858F, - 17784: 0x8579, - 17785: 0x85AE, - 17786: 0x859C, - 17787: 0x8585, - 17788: 0x85B9, - 17789: 0x85B7, - 17790: 0x85B0, - 17791: 0x85D3, - 17792: 0x85C1, - 17793: 0x85DC, - 17794: 0x85FF, - 17795: 0x8627, - 17796: 0x8605, - 17797: 0x8629, - 17798: 0x8616, - 17799: 0x863C, - 17800: 0x5EFE, - 17801: 0x5F08, - 17802: 0x593C, - 17803: 0x5941, - 17804: 0x8037, - 17805: 0x5955, - 17806: 0x595A, - 17807: 0x5958, - 17808: 0x530F, - 17809: 0x5C22, - 17810: 0x5C25, - 17811: 0x5C2C, - 17812: 0x5C34, - 17813: 0x624C, - 17814: 0x626A, - 17815: 0x629F, - 17816: 0x62BB, - 17817: 0x62CA, - 17818: 0x62DA, - 17819: 0x62D7, - 17820: 0x62EE, - 17821: 0x6322, - 17822: 0x62F6, - 17823: 0x6339, - 17824: 0x634B, - 17825: 0x6343, - 17826: 0x63AD, - 17827: 0x63F6, - 17828: 0x6371, - 17829: 0x637A, - 17830: 0x638E, - 17831: 0x63B4, - 17832: 0x636D, - 17833: 0x63AC, - 17834: 0x638A, - 17835: 0x6369, - 17836: 0x63AE, - 17837: 0x63BC, - 17838: 0x63F2, - 17839: 0x63F8, - 17840: 0x63E0, - 17841: 0x63FF, - 17842: 0x63C4, - 17843: 0x63DE, - 17844: 0x63CE, - 17845: 0x6452, - 17846: 0x63C6, - 17847: 0x63BE, - 17848: 0x6445, - 17849: 0x6441, - 17850: 0x640B, - 17851: 0x641B, - 17852: 0x6420, - 17853: 0x640C, - 17854: 0x6426, - 17855: 0x6421, - 17856: 0x645E, - 17857: 0x6484, - 17858: 0x646D, - 17859: 0x6496, - 17860: 0x9019, - 17861: 0x901C, - 17862: 0x9023, - 17863: 0x9024, - 17864: 0x9025, - 17865: 0x9027, - 17866: 0x9028, - 17867: 0x9029, - 17868: 0x902A, - 17869: 0x902B, - 17870: 0x902C, - 17871: 0x9030, - 17872: 0x9031, - 17873: 0x9032, - 17874: 0x9033, - 17875: 0x9034, - 17876: 0x9037, - 17877: 0x9039, - 17878: 0x903A, - 17879: 0x903D, - 17880: 0x903F, - 17881: 0x9040, - 17882: 0x9043, - 17883: 0x9045, - 17884: 0x9046, - 17885: 0x9048, - 17886: 0x9049, - 17887: 0x904A, - 17888: 0x904B, - 17889: 0x904C, - 17890: 0x904E, - 17891: 0x9054, - 17892: 0x9055, - 17893: 0x9056, - 17894: 0x9059, - 17895: 0x905A, - 17896: 0x905C, - 17897: 0x905D, - 17898: 0x905E, - 17899: 0x905F, - 17900: 0x9060, - 17901: 0x9061, - 17902: 0x9064, - 17903: 0x9066, - 17904: 0x9067, - 17905: 0x9069, - 17906: 0x906A, - 17907: 0x906B, - 17908: 0x906C, - 17909: 0x906F, - 17910: 0x9070, - 17911: 0x9071, - 17912: 0x9072, - 17913: 0x9073, - 17914: 0x9076, - 17915: 0x9077, - 17916: 0x9078, - 17917: 0x9079, - 17918: 0x907A, - 17919: 0x907B, - 17920: 0x907C, - 17921: 0x907E, - 17922: 0x9081, - 17923: 0x9084, - 17924: 0x9085, - 17925: 0x9086, - 17926: 0x9087, - 17927: 0x9089, - 17928: 0x908A, - 17929: 0x908C, - 17930: 0x908D, - 17931: 0x908E, - 17932: 0x908F, - 17933: 0x9090, - 17934: 0x9092, - 17935: 0x9094, - 17936: 0x9096, - 17937: 0x9098, - 17938: 0x909A, - 17939: 0x909C, - 17940: 0x909E, - 17941: 0x909F, - 17942: 0x90A0, - 17943: 0x90A4, - 17944: 0x90A5, - 17945: 0x90A7, - 17946: 0x90A8, - 17947: 0x90A9, - 17948: 0x90AB, - 17949: 0x90AD, - 17950: 0x90B2, - 17951: 0x90B7, - 17952: 0x90BC, - 17953: 0x90BD, - 17954: 0x90BF, - 17955: 0x90C0, - 17956: 0x647A, - 17957: 0x64B7, - 17958: 0x64B8, - 17959: 0x6499, - 17960: 0x64BA, - 17961: 0x64C0, - 17962: 0x64D0, - 17963: 0x64D7, - 17964: 0x64E4, - 17965: 0x64E2, - 17966: 0x6509, - 17967: 0x6525, - 17968: 0x652E, - 17969: 0x5F0B, - 17970: 0x5FD2, - 17971: 0x7519, - 17972: 0x5F11, - 17973: 0x535F, - 17974: 0x53F1, - 17975: 0x53FD, - 17976: 0x53E9, - 17977: 0x53E8, - 17978: 0x53FB, - 17979: 0x5412, - 17980: 0x5416, - 17981: 0x5406, - 17982: 0x544B, - 17983: 0x5452, - 17984: 0x5453, - 17985: 0x5454, - 17986: 0x5456, - 17987: 0x5443, - 17988: 0x5421, - 17989: 0x5457, - 17990: 0x5459, - 17991: 0x5423, - 17992: 0x5432, - 17993: 0x5482, - 17994: 0x5494, - 17995: 0x5477, - 17996: 0x5471, - 17997: 0x5464, - 17998: 0x549A, - 17999: 0x549B, - 18000: 0x5484, - 18001: 0x5476, - 18002: 0x5466, - 18003: 0x549D, - 18004: 0x54D0, - 18005: 0x54AD, - 18006: 0x54C2, - 18007: 0x54B4, - 18008: 0x54D2, - 18009: 0x54A7, - 18010: 0x54A6, - 18011: 0x54D3, - 18012: 0x54D4, - 18013: 0x5472, - 18014: 0x54A3, - 18015: 0x54D5, - 18016: 0x54BB, - 18017: 0x54BF, - 18018: 0x54CC, - 18019: 0x54D9, - 18020: 0x54DA, - 18021: 0x54DC, - 18022: 0x54A9, - 18023: 0x54AA, - 18024: 0x54A4, - 18025: 0x54DD, - 18026: 0x54CF, - 18027: 0x54DE, - 18028: 0x551B, - 18029: 0x54E7, - 18030: 0x5520, - 18031: 0x54FD, - 18032: 0x5514, - 18033: 0x54F3, - 18034: 0x5522, - 18035: 0x5523, - 18036: 0x550F, - 18037: 0x5511, - 18038: 0x5527, - 18039: 0x552A, - 18040: 0x5567, - 18041: 0x558F, - 18042: 0x55B5, - 18043: 0x5549, - 18044: 0x556D, - 18045: 0x5541, - 18046: 0x5555, - 18047: 0x553F, - 18048: 0x5550, - 18049: 0x553C, - 18050: 0x90C2, - 18051: 0x90C3, - 18052: 0x90C6, - 18053: 0x90C8, - 18054: 0x90C9, - 18055: 0x90CB, - 18056: 0x90CC, - 18057: 0x90CD, - 18058: 0x90D2, - 18059: 0x90D4, - 18060: 0x90D5, - 18061: 0x90D6, - 18062: 0x90D8, - 18063: 0x90D9, - 18064: 0x90DA, - 18065: 0x90DE, - 18066: 0x90DF, - 18067: 0x90E0, - 18068: 0x90E3, - 18069: 0x90E4, - 18070: 0x90E5, - 18071: 0x90E9, - 18072: 0x90EA, - 18073: 0x90EC, - 18074: 0x90EE, - 18075: 0x90F0, - 18076: 0x90F1, - 18077: 0x90F2, - 18078: 0x90F3, - 18079: 0x90F5, - 18080: 0x90F6, - 18081: 0x90F7, - 18082: 0x90F9, - 18083: 0x90FA, - 18084: 0x90FB, - 18085: 0x90FC, - 18086: 0x90FF, - 18087: 0x9100, - 18088: 0x9101, - 18089: 0x9103, - 18090: 0x9105, - 18091: 0x9106, - 18092: 0x9107, - 18093: 0x9108, - 18094: 0x9109, - 18095: 0x910A, - 18096: 0x910B, - 18097: 0x910C, - 18098: 0x910D, - 18099: 0x910E, - 18100: 0x910F, - 18101: 0x9110, - 18102: 0x9111, - 18103: 0x9112, - 18104: 0x9113, - 18105: 0x9114, - 18106: 0x9115, - 18107: 0x9116, - 18108: 0x9117, - 18109: 0x9118, - 18110: 0x911A, - 18111: 0x911B, - 18112: 0x911C, - 18113: 0x911D, - 18114: 0x911F, - 18115: 0x9120, - 18116: 0x9121, - 18117: 0x9124, - 18118: 0x9125, - 18119: 0x9126, - 18120: 0x9127, - 18121: 0x9128, - 18122: 0x9129, - 18123: 0x912A, - 18124: 0x912B, - 18125: 0x912C, - 18126: 0x912D, - 18127: 0x912E, - 18128: 0x9130, - 18129: 0x9132, - 18130: 0x9133, - 18131: 0x9134, - 18132: 0x9135, - 18133: 0x9136, - 18134: 0x9137, - 18135: 0x9138, - 18136: 0x913A, - 18137: 0x913B, - 18138: 0x913C, - 18139: 0x913D, - 18140: 0x913E, - 18141: 0x913F, - 18142: 0x9140, - 18143: 0x9141, - 18144: 0x9142, - 18145: 0x9144, - 18146: 0x5537, - 18147: 0x5556, - 18148: 0x5575, - 18149: 0x5576, - 18150: 0x5577, - 18151: 0x5533, - 18152: 0x5530, - 18153: 0x555C, - 18154: 0x558B, - 18155: 0x55D2, - 18156: 0x5583, - 18157: 0x55B1, - 18158: 0x55B9, - 18159: 0x5588, - 18160: 0x5581, - 18161: 0x559F, - 18162: 0x557E, - 18163: 0x55D6, - 18164: 0x5591, - 18165: 0x557B, - 18166: 0x55DF, - 18167: 0x55BD, - 18168: 0x55BE, - 18169: 0x5594, - 18170: 0x5599, - 18171: 0x55EA, - 18172: 0x55F7, - 18173: 0x55C9, - 18174: 0x561F, - 18175: 0x55D1, - 18176: 0x55EB, - 18177: 0x55EC, - 18178: 0x55D4, - 18179: 0x55E6, - 18180: 0x55DD, - 18181: 0x55C4, - 18182: 0x55EF, - 18183: 0x55E5, - 18184: 0x55F2, - 18185: 0x55F3, - 18186: 0x55CC, - 18187: 0x55CD, - 18188: 0x55E8, - 18189: 0x55F5, - 18190: 0x55E4, - 18191: 0x8F94, - 18192: 0x561E, - 18193: 0x5608, - 18194: 0x560C, - 18195: 0x5601, - 18196: 0x5624, - 18197: 0x5623, - 18198: 0x55FE, - 18199: 0x5600, - 18200: 0x5627, - 18201: 0x562D, - 18202: 0x5658, - 18203: 0x5639, - 18204: 0x5657, - 18205: 0x562C, - 18206: 0x564D, - 18207: 0x5662, - 18208: 0x5659, - 18209: 0x565C, - 18210: 0x564C, - 18211: 0x5654, - 18212: 0x5686, - 18213: 0x5664, - 18214: 0x5671, - 18215: 0x566B, - 18216: 0x567B, - 18217: 0x567C, - 18218: 0x5685, - 18219: 0x5693, - 18220: 0x56AF, - 18221: 0x56D4, - 18222: 0x56D7, - 18223: 0x56DD, - 18224: 0x56E1, - 18225: 0x56F5, - 18226: 0x56EB, - 18227: 0x56F9, - 18228: 0x56FF, - 18229: 0x5704, - 18230: 0x570A, - 18231: 0x5709, - 18232: 0x571C, - 18233: 0x5E0F, - 18234: 0x5E19, - 18235: 0x5E14, - 18236: 0x5E11, - 18237: 0x5E31, - 18238: 0x5E3B, - 18239: 0x5E3C, - 18240: 0x9145, - 18241: 0x9147, - 18242: 0x9148, - 18243: 0x9151, - 18244: 0x9153, - 18245: 0x9154, - 18246: 0x9155, - 18247: 0x9156, - 18248: 0x9158, - 18249: 0x9159, - 18250: 0x915B, - 18251: 0x915C, - 18252: 0x915F, - 18253: 0x9160, - 18254: 0x9166, - 18255: 0x9167, - 18256: 0x9168, - 18257: 0x916B, - 18258: 0x916D, - 18259: 0x9173, - 18260: 0x917A, - 18261: 0x917B, - 18262: 0x917C, - 18263: 0x9180, - 18264: 0x9181, - 18265: 0x9182, - 18266: 0x9183, - 18267: 0x9184, - 18268: 0x9186, - 18269: 0x9188, - 18270: 0x918A, - 18271: 0x918E, - 18272: 0x918F, - 18273: 0x9193, - 18274: 0x9194, - 18275: 0x9195, - 18276: 0x9196, - 18277: 0x9197, - 18278: 0x9198, - 18279: 0x9199, - 18280: 0x919C, - 18281: 0x919D, - 18282: 0x919E, - 18283: 0x919F, - 18284: 0x91A0, - 18285: 0x91A1, - 18286: 0x91A4, - 18287: 0x91A5, - 18288: 0x91A6, - 18289: 0x91A7, - 18290: 0x91A8, - 18291: 0x91A9, - 18292: 0x91AB, - 18293: 0x91AC, - 18294: 0x91B0, - 18295: 0x91B1, - 18296: 0x91B2, - 18297: 0x91B3, - 18298: 0x91B6, - 18299: 0x91B7, - 18300: 0x91B8, - 18301: 0x91B9, - 18302: 0x91BB, - 18303: 0x91BC, - 18304: 0x91BD, - 18305: 0x91BE, - 18306: 0x91BF, - 18307: 0x91C0, - 18308: 0x91C1, - 18309: 0x91C2, - 18310: 0x91C3, - 18311: 0x91C4, - 18312: 0x91C5, - 18313: 0x91C6, - 18314: 0x91C8, - 18315: 0x91CB, - 18316: 0x91D0, - 18317: 0x91D2, - 18318: 0x91D3, - 18319: 0x91D4, - 18320: 0x91D5, - 18321: 0x91D6, - 18322: 0x91D7, - 18323: 0x91D8, - 18324: 0x91D9, - 18325: 0x91DA, - 18326: 0x91DB, - 18327: 0x91DD, - 18328: 0x91DE, - 18329: 0x91DF, - 18330: 0x91E0, - 18331: 0x91E1, - 18332: 0x91E2, - 18333: 0x91E3, - 18334: 0x91E4, - 18335: 0x91E5, - 18336: 0x5E37, - 18337: 0x5E44, - 18338: 0x5E54, - 18339: 0x5E5B, - 18340: 0x5E5E, - 18341: 0x5E61, - 18342: 0x5C8C, - 18343: 0x5C7A, - 18344: 0x5C8D, - 18345: 0x5C90, - 18346: 0x5C96, - 18347: 0x5C88, - 18348: 0x5C98, - 18349: 0x5C99, - 18350: 0x5C91, - 18351: 0x5C9A, - 18352: 0x5C9C, - 18353: 0x5CB5, - 18354: 0x5CA2, - 18355: 0x5CBD, - 18356: 0x5CAC, - 18357: 0x5CAB, - 18358: 0x5CB1, - 18359: 0x5CA3, - 18360: 0x5CC1, - 18361: 0x5CB7, - 18362: 0x5CC4, - 18363: 0x5CD2, - 18364: 0x5CE4, - 18365: 0x5CCB, - 18366: 0x5CE5, - 18367: 0x5D02, - 18368: 0x5D03, - 18369: 0x5D27, - 18370: 0x5D26, - 18371: 0x5D2E, - 18372: 0x5D24, - 18373: 0x5D1E, - 18374: 0x5D06, - 18375: 0x5D1B, - 18376: 0x5D58, - 18377: 0x5D3E, - 18378: 0x5D34, - 18379: 0x5D3D, - 18380: 0x5D6C, - 18381: 0x5D5B, - 18382: 0x5D6F, - 18383: 0x5D5D, - 18384: 0x5D6B, - 18385: 0x5D4B, - 18386: 0x5D4A, - 18387: 0x5D69, - 18388: 0x5D74, - 18389: 0x5D82, - 18390: 0x5D99, - 18391: 0x5D9D, - 18392: 0x8C73, - 18393: 0x5DB7, - 18394: 0x5DC5, - 18395: 0x5F73, - 18396: 0x5F77, - 18397: 0x5F82, - 18398: 0x5F87, - 18399: 0x5F89, - 18400: 0x5F8C, - 18401: 0x5F95, - 18402: 0x5F99, - 18403: 0x5F9C, - 18404: 0x5FA8, - 18405: 0x5FAD, - 18406: 0x5FB5, - 18407: 0x5FBC, - 18408: 0x8862, - 18409: 0x5F61, - 18410: 0x72AD, - 18411: 0x72B0, - 18412: 0x72B4, - 18413: 0x72B7, - 18414: 0x72B8, - 18415: 0x72C3, - 18416: 0x72C1, - 18417: 0x72CE, - 18418: 0x72CD, - 18419: 0x72D2, - 18420: 0x72E8, - 18421: 0x72EF, - 18422: 0x72E9, - 18423: 0x72F2, - 18424: 0x72F4, - 18425: 0x72F7, - 18426: 0x7301, - 18427: 0x72F3, - 18428: 0x7303, - 18429: 0x72FA, - 18430: 0x91E6, - 18431: 0x91E7, - 18432: 0x91E8, - 18433: 0x91E9, - 18434: 0x91EA, - 18435: 0x91EB, - 18436: 0x91EC, - 18437: 0x91ED, - 18438: 0x91EE, - 18439: 0x91EF, - 18440: 0x91F0, - 18441: 0x91F1, - 18442: 0x91F2, - 18443: 0x91F3, - 18444: 0x91F4, - 18445: 0x91F5, - 18446: 0x91F6, - 18447: 0x91F7, - 18448: 0x91F8, - 18449: 0x91F9, - 18450: 0x91FA, - 18451: 0x91FB, - 18452: 0x91FC, - 18453: 0x91FD, - 18454: 0x91FE, - 18455: 0x91FF, - 18456: 0x9200, - 18457: 0x9201, - 18458: 0x9202, - 18459: 0x9203, - 18460: 0x9204, - 18461: 0x9205, - 18462: 0x9206, - 18463: 0x9207, - 18464: 0x9208, - 18465: 0x9209, - 18466: 0x920A, - 18467: 0x920B, - 18468: 0x920C, - 18469: 0x920D, - 18470: 0x920E, - 18471: 0x920F, - 18472: 0x9210, - 18473: 0x9211, - 18474: 0x9212, - 18475: 0x9213, - 18476: 0x9214, - 18477: 0x9215, - 18478: 0x9216, - 18479: 0x9217, - 18480: 0x9218, - 18481: 0x9219, - 18482: 0x921A, - 18483: 0x921B, - 18484: 0x921C, - 18485: 0x921D, - 18486: 0x921E, - 18487: 0x921F, - 18488: 0x9220, - 18489: 0x9221, - 18490: 0x9222, - 18491: 0x9223, - 18492: 0x9224, - 18493: 0x9225, - 18494: 0x9226, - 18495: 0x9227, - 18496: 0x9228, - 18497: 0x9229, - 18498: 0x922A, - 18499: 0x922B, - 18500: 0x922C, - 18501: 0x922D, - 18502: 0x922E, - 18503: 0x922F, - 18504: 0x9230, - 18505: 0x9231, - 18506: 0x9232, - 18507: 0x9233, - 18508: 0x9234, - 18509: 0x9235, - 18510: 0x9236, - 18511: 0x9237, - 18512: 0x9238, - 18513: 0x9239, - 18514: 0x923A, - 18515: 0x923B, - 18516: 0x923C, - 18517: 0x923D, - 18518: 0x923E, - 18519: 0x923F, - 18520: 0x9240, - 18521: 0x9241, - 18522: 0x9242, - 18523: 0x9243, - 18524: 0x9244, - 18525: 0x9245, - 18526: 0x72FB, - 18527: 0x7317, - 18528: 0x7313, - 18529: 0x7321, - 18530: 0x730A, - 18531: 0x731E, - 18532: 0x731D, - 18533: 0x7315, - 18534: 0x7322, - 18535: 0x7339, - 18536: 0x7325, - 18537: 0x732C, - 18538: 0x7338, - 18539: 0x7331, - 18540: 0x7350, - 18541: 0x734D, - 18542: 0x7357, - 18543: 0x7360, - 18544: 0x736C, - 18545: 0x736F, - 18546: 0x737E, - 18547: 0x821B, - 18548: 0x5925, - 18549: 0x98E7, - 18550: 0x5924, - 18551: 0x5902, - 18552: 0x9963, - 18553: 0x9967, - 18554: 0x9968, - 18555: 0x9969, - 18556: 0x996A, - 18557: 0x996B, - 18558: 0x996C, - 18559: 0x9974, - 18560: 0x9977, - 18561: 0x997D, - 18562: 0x9980, - 18563: 0x9984, - 18564: 0x9987, - 18565: 0x998A, - 18566: 0x998D, - 18567: 0x9990, - 18568: 0x9991, - 18569: 0x9993, - 18570: 0x9994, - 18571: 0x9995, - 18572: 0x5E80, - 18573: 0x5E91, - 18574: 0x5E8B, - 18575: 0x5E96, - 18576: 0x5EA5, - 18577: 0x5EA0, - 18578: 0x5EB9, - 18579: 0x5EB5, - 18580: 0x5EBE, - 18581: 0x5EB3, - 18582: 0x8D53, - 18583: 0x5ED2, - 18584: 0x5ED1, - 18585: 0x5EDB, - 18586: 0x5EE8, - 18587: 0x5EEA, - 18588: 0x81BA, - 18589: 0x5FC4, - 18590: 0x5FC9, - 18591: 0x5FD6, - 18592: 0x5FCF, - 18593: 0x6003, - 18594: 0x5FEE, - 18595: 0x6004, - 18596: 0x5FE1, - 18597: 0x5FE4, - 18598: 0x5FFE, - 18599: 0x6005, - 18600: 0x6006, - 18601: 0x5FEA, - 18602: 0x5FED, - 18603: 0x5FF8, - 18604: 0x6019, - 18605: 0x6035, - 18606: 0x6026, - 18607: 0x601B, - 18608: 0x600F, - 18609: 0x600D, - 18610: 0x6029, - 18611: 0x602B, - 18612: 0x600A, - 18613: 0x603F, - 18614: 0x6021, - 18615: 0x6078, - 18616: 0x6079, - 18617: 0x607B, - 18618: 0x607A, - 18619: 0x6042, - 18620: 0x9246, - 18621: 0x9247, - 18622: 0x9248, - 18623: 0x9249, - 18624: 0x924A, - 18625: 0x924B, - 18626: 0x924C, - 18627: 0x924D, - 18628: 0x924E, - 18629: 0x924F, - 18630: 0x9250, - 18631: 0x9251, - 18632: 0x9252, - 18633: 0x9253, - 18634: 0x9254, - 18635: 0x9255, - 18636: 0x9256, - 18637: 0x9257, - 18638: 0x9258, - 18639: 0x9259, - 18640: 0x925A, - 18641: 0x925B, - 18642: 0x925C, - 18643: 0x925D, - 18644: 0x925E, - 18645: 0x925F, - 18646: 0x9260, - 18647: 0x9261, - 18648: 0x9262, - 18649: 0x9263, - 18650: 0x9264, - 18651: 0x9265, - 18652: 0x9266, - 18653: 0x9267, - 18654: 0x9268, - 18655: 0x9269, - 18656: 0x926A, - 18657: 0x926B, - 18658: 0x926C, - 18659: 0x926D, - 18660: 0x926E, - 18661: 0x926F, - 18662: 0x9270, - 18663: 0x9271, - 18664: 0x9272, - 18665: 0x9273, - 18666: 0x9275, - 18667: 0x9276, - 18668: 0x9277, - 18669: 0x9278, - 18670: 0x9279, - 18671: 0x927A, - 18672: 0x927B, - 18673: 0x927C, - 18674: 0x927D, - 18675: 0x927E, - 18676: 0x927F, - 18677: 0x9280, - 18678: 0x9281, - 18679: 0x9282, - 18680: 0x9283, - 18681: 0x9284, - 18682: 0x9285, - 18683: 0x9286, - 18684: 0x9287, - 18685: 0x9288, - 18686: 0x9289, - 18687: 0x928A, - 18688: 0x928B, - 18689: 0x928C, - 18690: 0x928D, - 18691: 0x928F, - 18692: 0x9290, - 18693: 0x9291, - 18694: 0x9292, - 18695: 0x9293, - 18696: 0x9294, - 18697: 0x9295, - 18698: 0x9296, - 18699: 0x9297, - 18700: 0x9298, - 18701: 0x9299, - 18702: 0x929A, - 18703: 0x929B, - 18704: 0x929C, - 18705: 0x929D, - 18706: 0x929E, - 18707: 0x929F, - 18708: 0x92A0, - 18709: 0x92A1, - 18710: 0x92A2, - 18711: 0x92A3, - 18712: 0x92A4, - 18713: 0x92A5, - 18714: 0x92A6, - 18715: 0x92A7, - 18716: 0x606A, - 18717: 0x607D, - 18718: 0x6096, - 18719: 0x609A, - 18720: 0x60AD, - 18721: 0x609D, - 18722: 0x6083, - 18723: 0x6092, - 18724: 0x608C, - 18725: 0x609B, - 18726: 0x60EC, - 18727: 0x60BB, - 18728: 0x60B1, - 18729: 0x60DD, - 18730: 0x60D8, - 18731: 0x60C6, - 18732: 0x60DA, - 18733: 0x60B4, - 18734: 0x6120, - 18735: 0x6126, - 18736: 0x6115, - 18737: 0x6123, - 18738: 0x60F4, - 18739: 0x6100, - 18740: 0x610E, - 18741: 0x612B, - 18742: 0x614A, - 18743: 0x6175, - 18744: 0x61AC, - 18745: 0x6194, - 18746: 0x61A7, - 18747: 0x61B7, - 18748: 0x61D4, - 18749: 0x61F5, - 18750: 0x5FDD, - 18751: 0x96B3, - 18752: 0x95E9, - 18753: 0x95EB, - 18754: 0x95F1, - 18755: 0x95F3, - 18756: 0x95F5, - 18757: 0x95F6, - 18758: 0x95FC, - 18759: 0x95FE, - 18760: 0x9603, - 18761: 0x9604, - 18762: 0x9606, - 18763: 0x9608, - 18764: 0x960A, - 18765: 0x960B, - 18766: 0x960C, - 18767: 0x960D, - 18768: 0x960F, - 18769: 0x9612, - 18770: 0x9615, - 18771: 0x9616, - 18772: 0x9617, - 18773: 0x9619, - 18774: 0x961A, - 18775: 0x4E2C, - 18776: 0x723F, - 18777: 0x6215, - 18778: 0x6C35, - 18779: 0x6C54, - 18780: 0x6C5C, - 18781: 0x6C4A, - 18782: 0x6CA3, - 18783: 0x6C85, - 18784: 0x6C90, - 18785: 0x6C94, - 18786: 0x6C8C, - 18787: 0x6C68, - 18788: 0x6C69, - 18789: 0x6C74, - 18790: 0x6C76, - 18791: 0x6C86, - 18792: 0x6CA9, - 18793: 0x6CD0, - 18794: 0x6CD4, - 18795: 0x6CAD, - 18796: 0x6CF7, - 18797: 0x6CF8, - 18798: 0x6CF1, - 18799: 0x6CD7, - 18800: 0x6CB2, - 18801: 0x6CE0, - 18802: 0x6CD6, - 18803: 0x6CFA, - 18804: 0x6CEB, - 18805: 0x6CEE, - 18806: 0x6CB1, - 18807: 0x6CD3, - 18808: 0x6CEF, - 18809: 0x6CFE, - 18810: 0x92A8, - 18811: 0x92A9, - 18812: 0x92AA, - 18813: 0x92AB, - 18814: 0x92AC, - 18815: 0x92AD, - 18816: 0x92AF, - 18817: 0x92B0, - 18818: 0x92B1, - 18819: 0x92B2, - 18820: 0x92B3, - 18821: 0x92B4, - 18822: 0x92B5, - 18823: 0x92B6, - 18824: 0x92B7, - 18825: 0x92B8, - 18826: 0x92B9, - 18827: 0x92BA, - 18828: 0x92BB, - 18829: 0x92BC, - 18830: 0x92BD, - 18831: 0x92BE, - 18832: 0x92BF, - 18833: 0x92C0, - 18834: 0x92C1, - 18835: 0x92C2, - 18836: 0x92C3, - 18837: 0x92C4, - 18838: 0x92C5, - 18839: 0x92C6, - 18840: 0x92C7, - 18841: 0x92C9, - 18842: 0x92CA, - 18843: 0x92CB, - 18844: 0x92CC, - 18845: 0x92CD, - 18846: 0x92CE, - 18847: 0x92CF, - 18848: 0x92D0, - 18849: 0x92D1, - 18850: 0x92D2, - 18851: 0x92D3, - 18852: 0x92D4, - 18853: 0x92D5, - 18854: 0x92D6, - 18855: 0x92D7, - 18856: 0x92D8, - 18857: 0x92D9, - 18858: 0x92DA, - 18859: 0x92DB, - 18860: 0x92DC, - 18861: 0x92DD, - 18862: 0x92DE, - 18863: 0x92DF, - 18864: 0x92E0, - 18865: 0x92E1, - 18866: 0x92E2, - 18867: 0x92E3, - 18868: 0x92E4, - 18869: 0x92E5, - 18870: 0x92E6, - 18871: 0x92E7, - 18872: 0x92E8, - 18873: 0x92E9, - 18874: 0x92EA, - 18875: 0x92EB, - 18876: 0x92EC, - 18877: 0x92ED, - 18878: 0x92EE, - 18879: 0x92EF, - 18880: 0x92F0, - 18881: 0x92F1, - 18882: 0x92F2, - 18883: 0x92F3, - 18884: 0x92F4, - 18885: 0x92F5, - 18886: 0x92F6, - 18887: 0x92F7, - 18888: 0x92F8, - 18889: 0x92F9, - 18890: 0x92FA, - 18891: 0x92FB, - 18892: 0x92FC, - 18893: 0x92FD, - 18894: 0x92FE, - 18895: 0x92FF, - 18896: 0x9300, - 18897: 0x9301, - 18898: 0x9302, - 18899: 0x9303, - 18900: 0x9304, - 18901: 0x9305, - 18902: 0x9306, - 18903: 0x9307, - 18904: 0x9308, - 18905: 0x9309, - 18906: 0x6D39, - 18907: 0x6D27, - 18908: 0x6D0C, - 18909: 0x6D43, - 18910: 0x6D48, - 18911: 0x6D07, - 18912: 0x6D04, - 18913: 0x6D19, - 18914: 0x6D0E, - 18915: 0x6D2B, - 18916: 0x6D4D, - 18917: 0x6D2E, - 18918: 0x6D35, - 18919: 0x6D1A, - 18920: 0x6D4F, - 18921: 0x6D52, - 18922: 0x6D54, - 18923: 0x6D33, - 18924: 0x6D91, - 18925: 0x6D6F, - 18926: 0x6D9E, - 18927: 0x6DA0, - 18928: 0x6D5E, - 18929: 0x6D93, - 18930: 0x6D94, - 18931: 0x6D5C, - 18932: 0x6D60, - 18933: 0x6D7C, - 18934: 0x6D63, - 18935: 0x6E1A, - 18936: 0x6DC7, - 18937: 0x6DC5, - 18938: 0x6DDE, - 18939: 0x6E0E, - 18940: 0x6DBF, - 18941: 0x6DE0, - 18942: 0x6E11, - 18943: 0x6DE6, - 18944: 0x6DDD, - 18945: 0x6DD9, - 18946: 0x6E16, - 18947: 0x6DAB, - 18948: 0x6E0C, - 18949: 0x6DAE, - 18950: 0x6E2B, - 18951: 0x6E6E, - 18952: 0x6E4E, - 18953: 0x6E6B, - 18954: 0x6EB2, - 18955: 0x6E5F, - 18956: 0x6E86, - 18957: 0x6E53, - 18958: 0x6E54, - 18959: 0x6E32, - 18960: 0x6E25, - 18961: 0x6E44, - 18962: 0x6EDF, - 18963: 0x6EB1, - 18964: 0x6E98, - 18965: 0x6EE0, - 18966: 0x6F2D, - 18967: 0x6EE2, - 18968: 0x6EA5, - 18969: 0x6EA7, - 18970: 0x6EBD, - 18971: 0x6EBB, - 18972: 0x6EB7, - 18973: 0x6ED7, - 18974: 0x6EB4, - 18975: 0x6ECF, - 18976: 0x6E8F, - 18977: 0x6EC2, - 18978: 0x6E9F, - 18979: 0x6F62, - 18980: 0x6F46, - 18981: 0x6F47, - 18982: 0x6F24, - 18983: 0x6F15, - 18984: 0x6EF9, - 18985: 0x6F2F, - 18986: 0x6F36, - 18987: 0x6F4B, - 18988: 0x6F74, - 18989: 0x6F2A, - 18990: 0x6F09, - 18991: 0x6F29, - 18992: 0x6F89, - 18993: 0x6F8D, - 18994: 0x6F8C, - 18995: 0x6F78, - 18996: 0x6F72, - 18997: 0x6F7C, - 18998: 0x6F7A, - 18999: 0x6FD1, - 19000: 0x930A, - 19001: 0x930B, - 19002: 0x930C, - 19003: 0x930D, - 19004: 0x930E, - 19005: 0x930F, - 19006: 0x9310, - 19007: 0x9311, - 19008: 0x9312, - 19009: 0x9313, - 19010: 0x9314, - 19011: 0x9315, - 19012: 0x9316, - 19013: 0x9317, - 19014: 0x9318, - 19015: 0x9319, - 19016: 0x931A, - 19017: 0x931B, - 19018: 0x931C, - 19019: 0x931D, - 19020: 0x931E, - 19021: 0x931F, - 19022: 0x9320, - 19023: 0x9321, - 19024: 0x9322, - 19025: 0x9323, - 19026: 0x9324, - 19027: 0x9325, - 19028: 0x9326, - 19029: 0x9327, - 19030: 0x9328, - 19031: 0x9329, - 19032: 0x932A, - 19033: 0x932B, - 19034: 0x932C, - 19035: 0x932D, - 19036: 0x932E, - 19037: 0x932F, - 19038: 0x9330, - 19039: 0x9331, - 19040: 0x9332, - 19041: 0x9333, - 19042: 0x9334, - 19043: 0x9335, - 19044: 0x9336, - 19045: 0x9337, - 19046: 0x9338, - 19047: 0x9339, - 19048: 0x933A, - 19049: 0x933B, - 19050: 0x933C, - 19051: 0x933D, - 19052: 0x933F, - 19053: 0x9340, - 19054: 0x9341, - 19055: 0x9342, - 19056: 0x9343, - 19057: 0x9344, - 19058: 0x9345, - 19059: 0x9346, - 19060: 0x9347, - 19061: 0x9348, - 19062: 0x9349, - 19063: 0x934A, - 19064: 0x934B, - 19065: 0x934C, - 19066: 0x934D, - 19067: 0x934E, - 19068: 0x934F, - 19069: 0x9350, - 19070: 0x9351, - 19071: 0x9352, - 19072: 0x9353, - 19073: 0x9354, - 19074: 0x9355, - 19075: 0x9356, - 19076: 0x9357, - 19077: 0x9358, - 19078: 0x9359, - 19079: 0x935A, - 19080: 0x935B, - 19081: 0x935C, - 19082: 0x935D, - 19083: 0x935E, - 19084: 0x935F, - 19085: 0x9360, - 19086: 0x9361, - 19087: 0x9362, - 19088: 0x9363, - 19089: 0x9364, - 19090: 0x9365, - 19091: 0x9366, - 19092: 0x9367, - 19093: 0x9368, - 19094: 0x9369, - 19095: 0x936B, - 19096: 0x6FC9, - 19097: 0x6FA7, - 19098: 0x6FB9, - 19099: 0x6FB6, - 19100: 0x6FC2, - 19101: 0x6FE1, - 19102: 0x6FEE, - 19103: 0x6FDE, - 19104: 0x6FE0, - 19105: 0x6FEF, - 19106: 0x701A, - 19107: 0x7023, - 19108: 0x701B, - 19109: 0x7039, - 19110: 0x7035, - 19111: 0x704F, - 19112: 0x705E, - 19113: 0x5B80, - 19114: 0x5B84, - 19115: 0x5B95, - 19116: 0x5B93, - 19117: 0x5BA5, - 19118: 0x5BB8, - 19119: 0x752F, - 19120: 0x9A9E, - 19121: 0x6434, - 19122: 0x5BE4, - 19123: 0x5BEE, - 19124: 0x8930, - 19125: 0x5BF0, - 19126: 0x8E47, - 19127: 0x8B07, - 19128: 0x8FB6, - 19129: 0x8FD3, - 19130: 0x8FD5, - 19131: 0x8FE5, - 19132: 0x8FEE, - 19133: 0x8FE4, - 19134: 0x8FE9, - 19135: 0x8FE6, - 19136: 0x8FF3, - 19137: 0x8FE8, - 19138: 0x9005, - 19139: 0x9004, - 19140: 0x900B, - 19141: 0x9026, - 19142: 0x9011, - 19143: 0x900D, - 19144: 0x9016, - 19145: 0x9021, - 19146: 0x9035, - 19147: 0x9036, - 19148: 0x902D, - 19149: 0x902F, - 19150: 0x9044, - 19151: 0x9051, - 19152: 0x9052, - 19153: 0x9050, - 19154: 0x9068, - 19155: 0x9058, - 19156: 0x9062, - 19157: 0x905B, - 19158: 0x66B9, - 19159: 0x9074, - 19160: 0x907D, - 19161: 0x9082, - 19162: 0x9088, - 19163: 0x9083, - 19164: 0x908B, - 19165: 0x5F50, - 19166: 0x5F57, - 19167: 0x5F56, - 19168: 0x5F58, - 19169: 0x5C3B, - 19170: 0x54AB, - 19171: 0x5C50, - 19172: 0x5C59, - 19173: 0x5B71, - 19174: 0x5C63, - 19175: 0x5C66, - 19176: 0x7FBC, - 19177: 0x5F2A, - 19178: 0x5F29, - 19179: 0x5F2D, - 19180: 0x8274, - 19181: 0x5F3C, - 19182: 0x9B3B, - 19183: 0x5C6E, - 19184: 0x5981, - 19185: 0x5983, - 19186: 0x598D, - 19187: 0x59A9, - 19188: 0x59AA, - 19189: 0x59A3, - 19190: 0x936C, - 19191: 0x936D, - 19192: 0x936E, - 19193: 0x936F, - 19194: 0x9370, - 19195: 0x9371, - 19196: 0x9372, - 19197: 0x9373, - 19198: 0x9374, - 19199: 0x9375, - 19200: 0x9376, - 19201: 0x9377, - 19202: 0x9378, - 19203: 0x9379, - 19204: 0x937A, - 19205: 0x937B, - 19206: 0x937C, - 19207: 0x937D, - 19208: 0x937E, - 19209: 0x937F, - 19210: 0x9380, - 19211: 0x9381, - 19212: 0x9382, - 19213: 0x9383, - 19214: 0x9384, - 19215: 0x9385, - 19216: 0x9386, - 19217: 0x9387, - 19218: 0x9388, - 19219: 0x9389, - 19220: 0x938A, - 19221: 0x938B, - 19222: 0x938C, - 19223: 0x938D, - 19224: 0x938E, - 19225: 0x9390, - 19226: 0x9391, - 19227: 0x9392, - 19228: 0x9393, - 19229: 0x9394, - 19230: 0x9395, - 19231: 0x9396, - 19232: 0x9397, - 19233: 0x9398, - 19234: 0x9399, - 19235: 0x939A, - 19236: 0x939B, - 19237: 0x939C, - 19238: 0x939D, - 19239: 0x939E, - 19240: 0x939F, - 19241: 0x93A0, - 19242: 0x93A1, - 19243: 0x93A2, - 19244: 0x93A3, - 19245: 0x93A4, - 19246: 0x93A5, - 19247: 0x93A6, - 19248: 0x93A7, - 19249: 0x93A8, - 19250: 0x93A9, - 19251: 0x93AA, - 19252: 0x93AB, - 19253: 0x93AC, - 19254: 0x93AD, - 19255: 0x93AE, - 19256: 0x93AF, - 19257: 0x93B0, - 19258: 0x93B1, - 19259: 0x93B2, - 19260: 0x93B3, - 19261: 0x93B4, - 19262: 0x93B5, - 19263: 0x93B6, - 19264: 0x93B7, - 19265: 0x93B8, - 19266: 0x93B9, - 19267: 0x93BA, - 19268: 0x93BB, - 19269: 0x93BC, - 19270: 0x93BD, - 19271: 0x93BE, - 19272: 0x93BF, - 19273: 0x93C0, - 19274: 0x93C1, - 19275: 0x93C2, - 19276: 0x93C3, - 19277: 0x93C4, - 19278: 0x93C5, - 19279: 0x93C6, - 19280: 0x93C7, - 19281: 0x93C8, - 19282: 0x93C9, - 19283: 0x93CB, - 19284: 0x93CC, - 19285: 0x93CD, - 19286: 0x5997, - 19287: 0x59CA, - 19288: 0x59AB, - 19289: 0x599E, - 19290: 0x59A4, - 19291: 0x59D2, - 19292: 0x59B2, - 19293: 0x59AF, - 19294: 0x59D7, - 19295: 0x59BE, - 19296: 0x5A05, - 19297: 0x5A06, - 19298: 0x59DD, - 19299: 0x5A08, - 19300: 0x59E3, - 19301: 0x59D8, - 19302: 0x59F9, - 19303: 0x5A0C, - 19304: 0x5A09, - 19305: 0x5A32, - 19306: 0x5A34, - 19307: 0x5A11, - 19308: 0x5A23, - 19309: 0x5A13, - 19310: 0x5A40, - 19311: 0x5A67, - 19312: 0x5A4A, - 19313: 0x5A55, - 19314: 0x5A3C, - 19315: 0x5A62, - 19316: 0x5A75, - 19317: 0x80EC, - 19318: 0x5AAA, - 19319: 0x5A9B, - 19320: 0x5A77, - 19321: 0x5A7A, - 19322: 0x5ABE, - 19323: 0x5AEB, - 19324: 0x5AB2, - 19325: 0x5AD2, - 19326: 0x5AD4, - 19327: 0x5AB8, - 19328: 0x5AE0, - 19329: 0x5AE3, - 19330: 0x5AF1, - 19331: 0x5AD6, - 19332: 0x5AE6, - 19333: 0x5AD8, - 19334: 0x5ADC, - 19335: 0x5B09, - 19336: 0x5B17, - 19337: 0x5B16, - 19338: 0x5B32, - 19339: 0x5B37, - 19340: 0x5B40, - 19341: 0x5C15, - 19342: 0x5C1C, - 19343: 0x5B5A, - 19344: 0x5B65, - 19345: 0x5B73, - 19346: 0x5B51, - 19347: 0x5B53, - 19348: 0x5B62, - 19349: 0x9A75, - 19350: 0x9A77, - 19351: 0x9A78, - 19352: 0x9A7A, - 19353: 0x9A7F, - 19354: 0x9A7D, - 19355: 0x9A80, - 19356: 0x9A81, - 19357: 0x9A85, - 19358: 0x9A88, - 19359: 0x9A8A, - 19360: 0x9A90, - 19361: 0x9A92, - 19362: 0x9A93, - 19363: 0x9A96, - 19364: 0x9A98, - 19365: 0x9A9B, - 19366: 0x9A9C, - 19367: 0x9A9D, - 19368: 0x9A9F, - 19369: 0x9AA0, - 19370: 0x9AA2, - 19371: 0x9AA3, - 19372: 0x9AA5, - 19373: 0x9AA7, - 19374: 0x7E9F, - 19375: 0x7EA1, - 19376: 0x7EA3, - 19377: 0x7EA5, - 19378: 0x7EA8, - 19379: 0x7EA9, - 19380: 0x93CE, - 19381: 0x93CF, - 19382: 0x93D0, - 19383: 0x93D1, - 19384: 0x93D2, - 19385: 0x93D3, - 19386: 0x93D4, - 19387: 0x93D5, - 19388: 0x93D7, - 19389: 0x93D8, - 19390: 0x93D9, - 19391: 0x93DA, - 19392: 0x93DB, - 19393: 0x93DC, - 19394: 0x93DD, - 19395: 0x93DE, - 19396: 0x93DF, - 19397: 0x93E0, - 19398: 0x93E1, - 19399: 0x93E2, - 19400: 0x93E3, - 19401: 0x93E4, - 19402: 0x93E5, - 19403: 0x93E6, - 19404: 0x93E7, - 19405: 0x93E8, - 19406: 0x93E9, - 19407: 0x93EA, - 19408: 0x93EB, - 19409: 0x93EC, - 19410: 0x93ED, - 19411: 0x93EE, - 19412: 0x93EF, - 19413: 0x93F0, - 19414: 0x93F1, - 19415: 0x93F2, - 19416: 0x93F3, - 19417: 0x93F4, - 19418: 0x93F5, - 19419: 0x93F6, - 19420: 0x93F7, - 19421: 0x93F8, - 19422: 0x93F9, - 19423: 0x93FA, - 19424: 0x93FB, - 19425: 0x93FC, - 19426: 0x93FD, - 19427: 0x93FE, - 19428: 0x93FF, - 19429: 0x9400, - 19430: 0x9401, - 19431: 0x9402, - 19432: 0x9403, - 19433: 0x9404, - 19434: 0x9405, - 19435: 0x9406, - 19436: 0x9407, - 19437: 0x9408, - 19438: 0x9409, - 19439: 0x940A, - 19440: 0x940B, - 19441: 0x940C, - 19442: 0x940D, - 19443: 0x940E, - 19444: 0x940F, - 19445: 0x9410, - 19446: 0x9411, - 19447: 0x9412, - 19448: 0x9413, - 19449: 0x9414, - 19450: 0x9415, - 19451: 0x9416, - 19452: 0x9417, - 19453: 0x9418, - 19454: 0x9419, - 19455: 0x941A, - 19456: 0x941B, - 19457: 0x941C, - 19458: 0x941D, - 19459: 0x941E, - 19460: 0x941F, - 19461: 0x9420, - 19462: 0x9421, - 19463: 0x9422, - 19464: 0x9423, - 19465: 0x9424, - 19466: 0x9425, - 19467: 0x9426, - 19468: 0x9427, - 19469: 0x9428, - 19470: 0x9429, - 19471: 0x942A, - 19472: 0x942B, - 19473: 0x942C, - 19474: 0x942D, - 19475: 0x942E, - 19476: 0x7EAD, - 19477: 0x7EB0, - 19478: 0x7EBE, - 19479: 0x7EC0, - 19480: 0x7EC1, - 19481: 0x7EC2, - 19482: 0x7EC9, - 19483: 0x7ECB, - 19484: 0x7ECC, - 19485: 0x7ED0, - 19486: 0x7ED4, - 19487: 0x7ED7, - 19488: 0x7EDB, - 19489: 0x7EE0, - 19490: 0x7EE1, - 19491: 0x7EE8, - 19492: 0x7EEB, - 19493: 0x7EEE, - 19494: 0x7EEF, - 19495: 0x7EF1, - 19496: 0x7EF2, - 19497: 0x7F0D, - 19498: 0x7EF6, - 19499: 0x7EFA, - 19500: 0x7EFB, - 19501: 0x7EFE, - 19502: 0x7F01, - 19503: 0x7F02, - 19504: 0x7F03, - 19505: 0x7F07, - 19506: 0x7F08, - 19507: 0x7F0B, - 19508: 0x7F0C, - 19509: 0x7F0F, - 19510: 0x7F11, - 19511: 0x7F12, - 19512: 0x7F17, - 19513: 0x7F19, - 19514: 0x7F1C, - 19515: 0x7F1B, - 19516: 0x7F1F, - 19517: 0x7F21, - 19518: 0x7F22, - 19519: 0x7F23, - 19520: 0x7F24, - 19521: 0x7F25, - 19522: 0x7F26, - 19523: 0x7F27, - 19524: 0x7F2A, - 19525: 0x7F2B, - 19526: 0x7F2C, - 19527: 0x7F2D, - 19528: 0x7F2F, - 19529: 0x7F30, - 19530: 0x7F31, - 19531: 0x7F32, - 19532: 0x7F33, - 19533: 0x7F35, - 19534: 0x5E7A, - 19535: 0x757F, - 19536: 0x5DDB, - 19537: 0x753E, - 19538: 0x9095, - 19539: 0x738E, - 19540: 0x7391, - 19541: 0x73AE, - 19542: 0x73A2, - 19543: 0x739F, - 19544: 0x73CF, - 19545: 0x73C2, - 19546: 0x73D1, - 19547: 0x73B7, - 19548: 0x73B3, - 19549: 0x73C0, - 19550: 0x73C9, - 19551: 0x73C8, - 19552: 0x73E5, - 19553: 0x73D9, - 19554: 0x987C, - 19555: 0x740A, - 19556: 0x73E9, - 19557: 0x73E7, - 19558: 0x73DE, - 19559: 0x73BA, - 19560: 0x73F2, - 19561: 0x740F, - 19562: 0x742A, - 19563: 0x745B, - 19564: 0x7426, - 19565: 0x7425, - 19566: 0x7428, - 19567: 0x7430, - 19568: 0x742E, - 19569: 0x742C, - 19570: 0x942F, - 19571: 0x9430, - 19572: 0x9431, - 19573: 0x9432, - 19574: 0x9433, - 19575: 0x9434, - 19576: 0x9435, - 19577: 0x9436, - 19578: 0x9437, - 19579: 0x9438, - 19580: 0x9439, - 19581: 0x943A, - 19582: 0x943B, - 19583: 0x943C, - 19584: 0x943D, - 19585: 0x943F, - 19586: 0x9440, - 19587: 0x9441, - 19588: 0x9442, - 19589: 0x9443, - 19590: 0x9444, - 19591: 0x9445, - 19592: 0x9446, - 19593: 0x9447, - 19594: 0x9448, - 19595: 0x9449, - 19596: 0x944A, - 19597: 0x944B, - 19598: 0x944C, - 19599: 0x944D, - 19600: 0x944E, - 19601: 0x944F, - 19602: 0x9450, - 19603: 0x9451, - 19604: 0x9452, - 19605: 0x9453, - 19606: 0x9454, - 19607: 0x9455, - 19608: 0x9456, - 19609: 0x9457, - 19610: 0x9458, - 19611: 0x9459, - 19612: 0x945A, - 19613: 0x945B, - 19614: 0x945C, - 19615: 0x945D, - 19616: 0x945E, - 19617: 0x945F, - 19618: 0x9460, - 19619: 0x9461, - 19620: 0x9462, - 19621: 0x9463, - 19622: 0x9464, - 19623: 0x9465, - 19624: 0x9466, - 19625: 0x9467, - 19626: 0x9468, - 19627: 0x9469, - 19628: 0x946A, - 19629: 0x946C, - 19630: 0x946D, - 19631: 0x946E, - 19632: 0x946F, - 19633: 0x9470, - 19634: 0x9471, - 19635: 0x9472, - 19636: 0x9473, - 19637: 0x9474, - 19638: 0x9475, - 19639: 0x9476, - 19640: 0x9477, - 19641: 0x9478, - 19642: 0x9479, - 19643: 0x947A, - 19644: 0x947B, - 19645: 0x947C, - 19646: 0x947D, - 19647: 0x947E, - 19648: 0x947F, - 19649: 0x9480, - 19650: 0x9481, - 19651: 0x9482, - 19652: 0x9483, - 19653: 0x9484, - 19654: 0x9491, - 19655: 0x9496, - 19656: 0x9498, - 19657: 0x94C7, - 19658: 0x94CF, - 19659: 0x94D3, - 19660: 0x94D4, - 19661: 0x94DA, - 19662: 0x94E6, - 19663: 0x94FB, - 19664: 0x951C, - 19665: 0x9520, - 19666: 0x741B, - 19667: 0x741A, - 19668: 0x7441, - 19669: 0x745C, - 19670: 0x7457, - 19671: 0x7455, - 19672: 0x7459, - 19673: 0x7477, - 19674: 0x746D, - 19675: 0x747E, - 19676: 0x749C, - 19677: 0x748E, - 19678: 0x7480, - 19679: 0x7481, - 19680: 0x7487, - 19681: 0x748B, - 19682: 0x749E, - 19683: 0x74A8, - 19684: 0x74A9, - 19685: 0x7490, - 19686: 0x74A7, - 19687: 0x74D2, - 19688: 0x74BA, - 19689: 0x97EA, - 19690: 0x97EB, - 19691: 0x97EC, - 19692: 0x674C, - 19693: 0x6753, - 19694: 0x675E, - 19695: 0x6748, - 19696: 0x6769, - 19697: 0x67A5, - 19698: 0x6787, - 19699: 0x676A, - 19700: 0x6773, - 19701: 0x6798, - 19702: 0x67A7, - 19703: 0x6775, - 19704: 0x67A8, - 19705: 0x679E, - 19706: 0x67AD, - 19707: 0x678B, - 19708: 0x6777, - 19709: 0x677C, - 19710: 0x67F0, - 19711: 0x6809, - 19712: 0x67D8, - 19713: 0x680A, - 19714: 0x67E9, - 19715: 0x67B0, - 19716: 0x680C, - 19717: 0x67D9, - 19718: 0x67B5, - 19719: 0x67DA, - 19720: 0x67B3, - 19721: 0x67DD, - 19722: 0x6800, - 19723: 0x67C3, - 19724: 0x67B8, - 19725: 0x67E2, - 19726: 0x680E, - 19727: 0x67C1, - 19728: 0x67FD, - 19729: 0x6832, - 19730: 0x6833, - 19731: 0x6860, - 19732: 0x6861, - 19733: 0x684E, - 19734: 0x6862, - 19735: 0x6844, - 19736: 0x6864, - 19737: 0x6883, - 19738: 0x681D, - 19739: 0x6855, - 19740: 0x6866, - 19741: 0x6841, - 19742: 0x6867, - 19743: 0x6840, - 19744: 0x683E, - 19745: 0x684A, - 19746: 0x6849, - 19747: 0x6829, - 19748: 0x68B5, - 19749: 0x688F, - 19750: 0x6874, - 19751: 0x6877, - 19752: 0x6893, - 19753: 0x686B, - 19754: 0x68C2, - 19755: 0x696E, - 19756: 0x68FC, - 19757: 0x691F, - 19758: 0x6920, - 19759: 0x68F9, - 19760: 0x9527, - 19761: 0x9533, - 19762: 0x953D, - 19763: 0x9543, - 19764: 0x9548, - 19765: 0x954B, - 19766: 0x9555, - 19767: 0x955A, - 19768: 0x9560, - 19769: 0x956E, - 19770: 0x9574, - 19771: 0x9575, - 19772: 0x9577, - 19773: 0x9578, - 19774: 0x9579, - 19775: 0x957A, - 19776: 0x957B, - 19777: 0x957C, - 19778: 0x957D, - 19779: 0x957E, - 19780: 0x9580, - 19781: 0x9581, - 19782: 0x9582, - 19783: 0x9583, - 19784: 0x9584, - 19785: 0x9585, - 19786: 0x9586, - 19787: 0x9587, - 19788: 0x9588, - 19789: 0x9589, - 19790: 0x958A, - 19791: 0x958B, - 19792: 0x958C, - 19793: 0x958D, - 19794: 0x958E, - 19795: 0x958F, - 19796: 0x9590, - 19797: 0x9591, - 19798: 0x9592, - 19799: 0x9593, - 19800: 0x9594, - 19801: 0x9595, - 19802: 0x9596, - 19803: 0x9597, - 19804: 0x9598, - 19805: 0x9599, - 19806: 0x959A, - 19807: 0x959B, - 19808: 0x959C, - 19809: 0x959D, - 19810: 0x959E, - 19811: 0x959F, - 19812: 0x95A0, - 19813: 0x95A1, - 19814: 0x95A2, - 19815: 0x95A3, - 19816: 0x95A4, - 19817: 0x95A5, - 19818: 0x95A6, - 19819: 0x95A7, - 19820: 0x95A8, - 19821: 0x95A9, - 19822: 0x95AA, - 19823: 0x95AB, - 19824: 0x95AC, - 19825: 0x95AD, - 19826: 0x95AE, - 19827: 0x95AF, - 19828: 0x95B0, - 19829: 0x95B1, - 19830: 0x95B2, - 19831: 0x95B3, - 19832: 0x95B4, - 19833: 0x95B5, - 19834: 0x95B6, - 19835: 0x95B7, - 19836: 0x95B8, - 19837: 0x95B9, - 19838: 0x95BA, - 19839: 0x95BB, - 19840: 0x95BC, - 19841: 0x95BD, - 19842: 0x95BE, - 19843: 0x95BF, - 19844: 0x95C0, - 19845: 0x95C1, - 19846: 0x95C2, - 19847: 0x95C3, - 19848: 0x95C4, - 19849: 0x95C5, - 19850: 0x95C6, - 19851: 0x95C7, - 19852: 0x95C8, - 19853: 0x95C9, - 19854: 0x95CA, - 19855: 0x95CB, - 19856: 0x6924, - 19857: 0x68F0, - 19858: 0x690B, - 19859: 0x6901, - 19860: 0x6957, - 19861: 0x68E3, - 19862: 0x6910, - 19863: 0x6971, - 19864: 0x6939, - 19865: 0x6960, - 19866: 0x6942, - 19867: 0x695D, - 19868: 0x6984, - 19869: 0x696B, - 19870: 0x6980, - 19871: 0x6998, - 19872: 0x6978, - 19873: 0x6934, - 19874: 0x69CC, - 19875: 0x6987, - 19876: 0x6988, - 19877: 0x69CE, - 19878: 0x6989, - 19879: 0x6966, - 19880: 0x6963, - 19881: 0x6979, - 19882: 0x699B, - 19883: 0x69A7, - 19884: 0x69BB, - 19885: 0x69AB, - 19886: 0x69AD, - 19887: 0x69D4, - 19888: 0x69B1, - 19889: 0x69C1, - 19890: 0x69CA, - 19891: 0x69DF, - 19892: 0x6995, - 19893: 0x69E0, - 19894: 0x698D, - 19895: 0x69FF, - 19896: 0x6A2F, - 19897: 0x69ED, - 19898: 0x6A17, - 19899: 0x6A18, - 19900: 0x6A65, - 19901: 0x69F2, - 19902: 0x6A44, - 19903: 0x6A3E, - 19904: 0x6AA0, - 19905: 0x6A50, - 19906: 0x6A5B, - 19907: 0x6A35, - 19908: 0x6A8E, - 19909: 0x6A79, - 19910: 0x6A3D, - 19911: 0x6A28, - 19912: 0x6A58, - 19913: 0x6A7C, - 19914: 0x6A91, - 19915: 0x6A90, - 19916: 0x6AA9, - 19917: 0x6A97, - 19918: 0x6AAB, - 19919: 0x7337, - 19920: 0x7352, - 19921: 0x6B81, - 19922: 0x6B82, - 19923: 0x6B87, - 19924: 0x6B84, - 19925: 0x6B92, - 19926: 0x6B93, - 19927: 0x6B8D, - 19928: 0x6B9A, - 19929: 0x6B9B, - 19930: 0x6BA1, - 19931: 0x6BAA, - 19932: 0x8F6B, - 19933: 0x8F6D, - 19934: 0x8F71, - 19935: 0x8F72, - 19936: 0x8F73, - 19937: 0x8F75, - 19938: 0x8F76, - 19939: 0x8F78, - 19940: 0x8F77, - 19941: 0x8F79, - 19942: 0x8F7A, - 19943: 0x8F7C, - 19944: 0x8F7E, - 19945: 0x8F81, - 19946: 0x8F82, - 19947: 0x8F84, - 19948: 0x8F87, - 19949: 0x8F8B, - 19950: 0x95CC, - 19951: 0x95CD, - 19952: 0x95CE, - 19953: 0x95CF, - 19954: 0x95D0, - 19955: 0x95D1, - 19956: 0x95D2, - 19957: 0x95D3, - 19958: 0x95D4, - 19959: 0x95D5, - 19960: 0x95D6, - 19961: 0x95D7, - 19962: 0x95D8, - 19963: 0x95D9, - 19964: 0x95DA, - 19965: 0x95DB, - 19966: 0x95DC, - 19967: 0x95DD, - 19968: 0x95DE, - 19969: 0x95DF, - 19970: 0x95E0, - 19971: 0x95E1, - 19972: 0x95E2, - 19973: 0x95E3, - 19974: 0x95E4, - 19975: 0x95E5, - 19976: 0x95E6, - 19977: 0x95E7, - 19978: 0x95EC, - 19979: 0x95FF, - 19980: 0x9607, - 19981: 0x9613, - 19982: 0x9618, - 19983: 0x961B, - 19984: 0x961E, - 19985: 0x9620, - 19986: 0x9623, - 19987: 0x9624, - 19988: 0x9625, - 19989: 0x9626, - 19990: 0x9627, - 19991: 0x9628, - 19992: 0x9629, - 19993: 0x962B, - 19994: 0x962C, - 19995: 0x962D, - 19996: 0x962F, - 19997: 0x9630, - 19998: 0x9637, - 19999: 0x9638, - 20000: 0x9639, - 20001: 0x963A, - 20002: 0x963E, - 20003: 0x9641, - 20004: 0x9643, - 20005: 0x964A, - 20006: 0x964E, - 20007: 0x964F, - 20008: 0x9651, - 20009: 0x9652, - 20010: 0x9653, - 20011: 0x9656, - 20012: 0x9657, - 20013: 0x9658, - 20014: 0x9659, - 20015: 0x965A, - 20016: 0x965C, - 20017: 0x965D, - 20018: 0x965E, - 20019: 0x9660, - 20020: 0x9663, - 20021: 0x9665, - 20022: 0x9666, - 20023: 0x966B, - 20024: 0x966D, - 20025: 0x966E, - 20026: 0x966F, - 20027: 0x9670, - 20028: 0x9671, - 20029: 0x9673, - 20030: 0x9678, - 20031: 0x9679, - 20032: 0x967A, - 20033: 0x967B, - 20034: 0x967C, - 20035: 0x967D, - 20036: 0x967E, - 20037: 0x967F, - 20038: 0x9680, - 20039: 0x9681, - 20040: 0x9682, - 20041: 0x9683, - 20042: 0x9684, - 20043: 0x9687, - 20044: 0x9689, - 20045: 0x968A, - 20046: 0x8F8D, - 20047: 0x8F8E, - 20048: 0x8F8F, - 20049: 0x8F98, - 20050: 0x8F9A, - 20051: 0x8ECE, - 20052: 0x620B, - 20053: 0x6217, - 20054: 0x621B, - 20055: 0x621F, - 20056: 0x6222, - 20057: 0x6221, - 20058: 0x6225, - 20059: 0x6224, - 20060: 0x622C, - 20061: 0x81E7, - 20062: 0x74EF, - 20063: 0x74F4, - 20064: 0x74FF, - 20065: 0x750F, - 20066: 0x7511, - 20067: 0x7513, - 20068: 0x6534, - 20069: 0x65EE, - 20070: 0x65EF, - 20071: 0x65F0, - 20072: 0x660A, - 20073: 0x6619, - 20074: 0x6772, - 20075: 0x6603, - 20076: 0x6615, - 20077: 0x6600, - 20078: 0x7085, - 20079: 0x66F7, - 20080: 0x661D, - 20081: 0x6634, - 20082: 0x6631, - 20083: 0x6636, - 20084: 0x6635, - 20085: 0x8006, - 20086: 0x665F, - 20087: 0x6654, - 20088: 0x6641, - 20089: 0x664F, - 20090: 0x6656, - 20091: 0x6661, - 20092: 0x6657, - 20093: 0x6677, - 20094: 0x6684, - 20095: 0x668C, - 20096: 0x66A7, - 20097: 0x669D, - 20098: 0x66BE, - 20099: 0x66DB, - 20100: 0x66DC, - 20101: 0x66E6, - 20102: 0x66E9, - 20103: 0x8D32, - 20104: 0x8D33, - 20105: 0x8D36, - 20106: 0x8D3B, - 20107: 0x8D3D, - 20108: 0x8D40, - 20109: 0x8D45, - 20110: 0x8D46, - 20111: 0x8D48, - 20112: 0x8D49, - 20113: 0x8D47, - 20114: 0x8D4D, - 20115: 0x8D55, - 20116: 0x8D59, - 20117: 0x89C7, - 20118: 0x89CA, - 20119: 0x89CB, - 20120: 0x89CC, - 20121: 0x89CE, - 20122: 0x89CF, - 20123: 0x89D0, - 20124: 0x89D1, - 20125: 0x726E, - 20126: 0x729F, - 20127: 0x725D, - 20128: 0x7266, - 20129: 0x726F, - 20130: 0x727E, - 20131: 0x727F, - 20132: 0x7284, - 20133: 0x728B, - 20134: 0x728D, - 20135: 0x728F, - 20136: 0x7292, - 20137: 0x6308, - 20138: 0x6332, - 20139: 0x63B0, - 20140: 0x968C, - 20141: 0x968E, - 20142: 0x9691, - 20143: 0x9692, - 20144: 0x9693, - 20145: 0x9695, - 20146: 0x9696, - 20147: 0x969A, - 20148: 0x969B, - 20149: 0x969D, - 20150: 0x969E, - 20151: 0x969F, - 20152: 0x96A0, - 20153: 0x96A1, - 20154: 0x96A2, - 20155: 0x96A3, - 20156: 0x96A4, - 20157: 0x96A5, - 20158: 0x96A6, - 20159: 0x96A8, - 20160: 0x96A9, - 20161: 0x96AA, - 20162: 0x96AB, - 20163: 0x96AC, - 20164: 0x96AD, - 20165: 0x96AE, - 20166: 0x96AF, - 20167: 0x96B1, - 20168: 0x96B2, - 20169: 0x96B4, - 20170: 0x96B5, - 20171: 0x96B7, - 20172: 0x96B8, - 20173: 0x96BA, - 20174: 0x96BB, - 20175: 0x96BF, - 20176: 0x96C2, - 20177: 0x96C3, - 20178: 0x96C8, - 20179: 0x96CA, - 20180: 0x96CB, - 20181: 0x96D0, - 20182: 0x96D1, - 20183: 0x96D3, - 20184: 0x96D4, - 20185: 0x96D6, - 20186: 0x96D7, - 20187: 0x96D8, - 20188: 0x96D9, - 20189: 0x96DA, - 20190: 0x96DB, - 20191: 0x96DC, - 20192: 0x96DD, - 20193: 0x96DE, - 20194: 0x96DF, - 20195: 0x96E1, - 20196: 0x96E2, - 20197: 0x96E3, - 20198: 0x96E4, - 20199: 0x96E5, - 20200: 0x96E6, - 20201: 0x96E7, - 20202: 0x96EB, - 20203: 0x96EC, - 20204: 0x96ED, - 20205: 0x96EE, - 20206: 0x96F0, - 20207: 0x96F1, - 20208: 0x96F2, - 20209: 0x96F4, - 20210: 0x96F5, - 20211: 0x96F8, - 20212: 0x96FA, - 20213: 0x96FB, - 20214: 0x96FC, - 20215: 0x96FD, - 20216: 0x96FF, - 20217: 0x9702, - 20218: 0x9703, - 20219: 0x9705, - 20220: 0x970A, - 20221: 0x970B, - 20222: 0x970C, - 20223: 0x9710, - 20224: 0x9711, - 20225: 0x9712, - 20226: 0x9714, - 20227: 0x9715, - 20228: 0x9717, - 20229: 0x9718, - 20230: 0x9719, - 20231: 0x971A, - 20232: 0x971B, - 20233: 0x971D, - 20234: 0x971F, - 20235: 0x9720, - 20236: 0x643F, - 20237: 0x64D8, - 20238: 0x8004, - 20239: 0x6BEA, - 20240: 0x6BF3, - 20241: 0x6BFD, - 20242: 0x6BF5, - 20243: 0x6BF9, - 20244: 0x6C05, - 20245: 0x6C07, - 20246: 0x6C06, - 20247: 0x6C0D, - 20248: 0x6C15, - 20249: 0x6C18, - 20250: 0x6C19, - 20251: 0x6C1A, - 20252: 0x6C21, - 20253: 0x6C29, - 20254: 0x6C24, - 20255: 0x6C2A, - 20256: 0x6C32, - 20257: 0x6535, - 20258: 0x6555, - 20259: 0x656B, - 20260: 0x724D, - 20261: 0x7252, - 20262: 0x7256, - 20263: 0x7230, - 20264: 0x8662, - 20265: 0x5216, - 20266: 0x809F, - 20267: 0x809C, - 20268: 0x8093, - 20269: 0x80BC, - 20270: 0x670A, - 20271: 0x80BD, - 20272: 0x80B1, - 20273: 0x80AB, - 20274: 0x80AD, - 20275: 0x80B4, - 20276: 0x80B7, - 20277: 0x80E7, - 20278: 0x80E8, - 20279: 0x80E9, - 20280: 0x80EA, - 20281: 0x80DB, - 20282: 0x80C2, - 20283: 0x80C4, - 20284: 0x80D9, - 20285: 0x80CD, - 20286: 0x80D7, - 20287: 0x6710, - 20288: 0x80DD, - 20289: 0x80EB, - 20290: 0x80F1, - 20291: 0x80F4, - 20292: 0x80ED, - 20293: 0x810D, - 20294: 0x810E, - 20295: 0x80F2, - 20296: 0x80FC, - 20297: 0x6715, - 20298: 0x8112, - 20299: 0x8C5A, - 20300: 0x8136, - 20301: 0x811E, - 20302: 0x812C, - 20303: 0x8118, - 20304: 0x8132, - 20305: 0x8148, - 20306: 0x814C, - 20307: 0x8153, - 20308: 0x8174, - 20309: 0x8159, - 20310: 0x815A, - 20311: 0x8171, - 20312: 0x8160, - 20313: 0x8169, - 20314: 0x817C, - 20315: 0x817D, - 20316: 0x816D, - 20317: 0x8167, - 20318: 0x584D, - 20319: 0x5AB5, - 20320: 0x8188, - 20321: 0x8182, - 20322: 0x8191, - 20323: 0x6ED5, - 20324: 0x81A3, - 20325: 0x81AA, - 20326: 0x81CC, - 20327: 0x6726, - 20328: 0x81CA, - 20329: 0x81BB, - 20330: 0x9721, - 20331: 0x9722, - 20332: 0x9723, - 20333: 0x9724, - 20334: 0x9725, - 20335: 0x9726, - 20336: 0x9727, - 20337: 0x9728, - 20338: 0x9729, - 20339: 0x972B, - 20340: 0x972C, - 20341: 0x972E, - 20342: 0x972F, - 20343: 0x9731, - 20344: 0x9733, - 20345: 0x9734, - 20346: 0x9735, - 20347: 0x9736, - 20348: 0x9737, - 20349: 0x973A, - 20350: 0x973B, - 20351: 0x973C, - 20352: 0x973D, - 20353: 0x973F, - 20354: 0x9740, - 20355: 0x9741, - 20356: 0x9742, - 20357: 0x9743, - 20358: 0x9744, - 20359: 0x9745, - 20360: 0x9746, - 20361: 0x9747, - 20362: 0x9748, - 20363: 0x9749, - 20364: 0x974A, - 20365: 0x974B, - 20366: 0x974C, - 20367: 0x974D, - 20368: 0x974E, - 20369: 0x974F, - 20370: 0x9750, - 20371: 0x9751, - 20372: 0x9754, - 20373: 0x9755, - 20374: 0x9757, - 20375: 0x9758, - 20376: 0x975A, - 20377: 0x975C, - 20378: 0x975D, - 20379: 0x975F, - 20380: 0x9763, - 20381: 0x9764, - 20382: 0x9766, - 20383: 0x9767, - 20384: 0x9768, - 20385: 0x976A, - 20386: 0x976B, - 20387: 0x976C, - 20388: 0x976D, - 20389: 0x976E, - 20390: 0x976F, - 20391: 0x9770, - 20392: 0x9771, - 20393: 0x9772, - 20394: 0x9775, - 20395: 0x9777, - 20396: 0x9778, - 20397: 0x9779, - 20398: 0x977A, - 20399: 0x977B, - 20400: 0x977D, - 20401: 0x977E, - 20402: 0x977F, - 20403: 0x9780, - 20404: 0x9781, - 20405: 0x9782, - 20406: 0x9783, - 20407: 0x9784, - 20408: 0x9786, - 20409: 0x9787, - 20410: 0x9788, - 20411: 0x9789, - 20412: 0x978A, - 20413: 0x978C, - 20414: 0x978E, - 20415: 0x978F, - 20416: 0x9790, - 20417: 0x9793, - 20418: 0x9795, - 20419: 0x9796, - 20420: 0x9797, - 20421: 0x9799, - 20422: 0x979A, - 20423: 0x979B, - 20424: 0x979C, - 20425: 0x979D, - 20426: 0x81C1, - 20427: 0x81A6, - 20428: 0x6B24, - 20429: 0x6B37, - 20430: 0x6B39, - 20431: 0x6B43, - 20432: 0x6B46, - 20433: 0x6B59, - 20434: 0x98D1, - 20435: 0x98D2, - 20436: 0x98D3, - 20437: 0x98D5, - 20438: 0x98D9, - 20439: 0x98DA, - 20440: 0x6BB3, - 20441: 0x5F40, - 20442: 0x6BC2, - 20443: 0x89F3, - 20444: 0x6590, - 20445: 0x9F51, - 20446: 0x6593, - 20447: 0x65BC, - 20448: 0x65C6, - 20449: 0x65C4, - 20450: 0x65C3, - 20451: 0x65CC, - 20452: 0x65CE, - 20453: 0x65D2, - 20454: 0x65D6, - 20455: 0x7080, - 20456: 0x709C, - 20457: 0x7096, - 20458: 0x709D, - 20459: 0x70BB, - 20460: 0x70C0, - 20461: 0x70B7, - 20462: 0x70AB, - 20463: 0x70B1, - 20464: 0x70E8, - 20465: 0x70CA, - 20466: 0x7110, - 20467: 0x7113, - 20468: 0x7116, - 20469: 0x712F, - 20470: 0x7131, - 20471: 0x7173, - 20472: 0x715C, - 20473: 0x7168, - 20474: 0x7145, - 20475: 0x7172, - 20476: 0x714A, - 20477: 0x7178, - 20478: 0x717A, - 20479: 0x7198, - 20480: 0x71B3, - 20481: 0x71B5, - 20482: 0x71A8, - 20483: 0x71A0, - 20484: 0x71E0, - 20485: 0x71D4, - 20486: 0x71E7, - 20487: 0x71F9, - 20488: 0x721D, - 20489: 0x7228, - 20490: 0x706C, - 20491: 0x7118, - 20492: 0x7166, - 20493: 0x71B9, - 20494: 0x623E, - 20495: 0x623D, - 20496: 0x6243, - 20497: 0x6248, - 20498: 0x6249, - 20499: 0x793B, - 20500: 0x7940, - 20501: 0x7946, - 20502: 0x7949, - 20503: 0x795B, - 20504: 0x795C, - 20505: 0x7953, - 20506: 0x795A, - 20507: 0x7962, - 20508: 0x7957, - 20509: 0x7960, - 20510: 0x796F, - 20511: 0x7967, - 20512: 0x797A, - 20513: 0x7985, - 20514: 0x798A, - 20515: 0x799A, - 20516: 0x79A7, - 20517: 0x79B3, - 20518: 0x5FD1, - 20519: 0x5FD0, - 20520: 0x979E, - 20521: 0x979F, - 20522: 0x97A1, - 20523: 0x97A2, - 20524: 0x97A4, - 20525: 0x97A5, - 20526: 0x97A6, - 20527: 0x97A7, - 20528: 0x97A8, - 20529: 0x97A9, - 20530: 0x97AA, - 20531: 0x97AC, - 20532: 0x97AE, - 20533: 0x97B0, - 20534: 0x97B1, - 20535: 0x97B3, - 20536: 0x97B5, - 20537: 0x97B6, - 20538: 0x97B7, - 20539: 0x97B8, - 20540: 0x97B9, - 20541: 0x97BA, - 20542: 0x97BB, - 20543: 0x97BC, - 20544: 0x97BD, - 20545: 0x97BE, - 20546: 0x97BF, - 20547: 0x97C0, - 20548: 0x97C1, - 20549: 0x97C2, - 20550: 0x97C3, - 20551: 0x97C4, - 20552: 0x97C5, - 20553: 0x97C6, - 20554: 0x97C7, - 20555: 0x97C8, - 20556: 0x97C9, - 20557: 0x97CA, - 20558: 0x97CB, - 20559: 0x97CC, - 20560: 0x97CD, - 20561: 0x97CE, - 20562: 0x97CF, - 20563: 0x97D0, - 20564: 0x97D1, - 20565: 0x97D2, - 20566: 0x97D3, - 20567: 0x97D4, - 20568: 0x97D5, - 20569: 0x97D6, - 20570: 0x97D7, - 20571: 0x97D8, - 20572: 0x97D9, - 20573: 0x97DA, - 20574: 0x97DB, - 20575: 0x97DC, - 20576: 0x97DD, - 20577: 0x97DE, - 20578: 0x97DF, - 20579: 0x97E0, - 20580: 0x97E1, - 20581: 0x97E2, - 20582: 0x97E3, - 20583: 0x97E4, - 20584: 0x97E5, - 20585: 0x97E8, - 20586: 0x97EE, - 20587: 0x97EF, - 20588: 0x97F0, - 20589: 0x97F1, - 20590: 0x97F2, - 20591: 0x97F4, - 20592: 0x97F7, - 20593: 0x97F8, - 20594: 0x97F9, - 20595: 0x97FA, - 20596: 0x97FB, - 20597: 0x97FC, - 20598: 0x97FD, - 20599: 0x97FE, - 20600: 0x97FF, - 20601: 0x9800, - 20602: 0x9801, - 20603: 0x9802, - 20604: 0x9803, - 20605: 0x9804, - 20606: 0x9805, - 20607: 0x9806, - 20608: 0x9807, - 20609: 0x9808, - 20610: 0x9809, - 20611: 0x980A, - 20612: 0x980B, - 20613: 0x980C, - 20614: 0x980D, - 20615: 0x980E, - 20616: 0x603C, - 20617: 0x605D, - 20618: 0x605A, - 20619: 0x6067, - 20620: 0x6041, - 20621: 0x6059, - 20622: 0x6063, - 20623: 0x60AB, - 20624: 0x6106, - 20625: 0x610D, - 20626: 0x615D, - 20627: 0x61A9, - 20628: 0x619D, - 20629: 0x61CB, - 20630: 0x61D1, - 20631: 0x6206, - 20632: 0x8080, - 20633: 0x807F, - 20634: 0x6C93, - 20635: 0x6CF6, - 20636: 0x6DFC, - 20637: 0x77F6, - 20638: 0x77F8, - 20639: 0x7800, - 20640: 0x7809, - 20641: 0x7817, - 20642: 0x7818, - 20643: 0x7811, - 20644: 0x65AB, - 20645: 0x782D, - 20646: 0x781C, - 20647: 0x781D, - 20648: 0x7839, - 20649: 0x783A, - 20650: 0x783B, - 20651: 0x781F, - 20652: 0x783C, - 20653: 0x7825, - 20654: 0x782C, - 20655: 0x7823, - 20656: 0x7829, - 20657: 0x784E, - 20658: 0x786D, - 20659: 0x7856, - 20660: 0x7857, - 20661: 0x7826, - 20662: 0x7850, - 20663: 0x7847, - 20664: 0x784C, - 20665: 0x786A, - 20666: 0x789B, - 20667: 0x7893, - 20668: 0x789A, - 20669: 0x7887, - 20670: 0x789C, - 20671: 0x78A1, - 20672: 0x78A3, - 20673: 0x78B2, - 20674: 0x78B9, - 20675: 0x78A5, - 20676: 0x78D4, - 20677: 0x78D9, - 20678: 0x78C9, - 20679: 0x78EC, - 20680: 0x78F2, - 20681: 0x7905, - 20682: 0x78F4, - 20683: 0x7913, - 20684: 0x7924, - 20685: 0x791E, - 20686: 0x7934, - 20687: 0x9F9B, - 20688: 0x9EF9, - 20689: 0x9EFB, - 20690: 0x9EFC, - 20691: 0x76F1, - 20692: 0x7704, - 20693: 0x770D, - 20694: 0x76F9, - 20695: 0x7707, - 20696: 0x7708, - 20697: 0x771A, - 20698: 0x7722, - 20699: 0x7719, - 20700: 0x772D, - 20701: 0x7726, - 20702: 0x7735, - 20703: 0x7738, - 20704: 0x7750, - 20705: 0x7751, - 20706: 0x7747, - 20707: 0x7743, - 20708: 0x775A, - 20709: 0x7768, - 20710: 0x980F, - 20711: 0x9810, - 20712: 0x9811, - 20713: 0x9812, - 20714: 0x9813, - 20715: 0x9814, - 20716: 0x9815, - 20717: 0x9816, - 20718: 0x9817, - 20719: 0x9818, - 20720: 0x9819, - 20721: 0x981A, - 20722: 0x981B, - 20723: 0x981C, - 20724: 0x981D, - 20725: 0x981E, - 20726: 0x981F, - 20727: 0x9820, - 20728: 0x9821, - 20729: 0x9822, - 20730: 0x9823, - 20731: 0x9824, - 20732: 0x9825, - 20733: 0x9826, - 20734: 0x9827, - 20735: 0x9828, - 20736: 0x9829, - 20737: 0x982A, - 20738: 0x982B, - 20739: 0x982C, - 20740: 0x982D, - 20741: 0x982E, - 20742: 0x982F, - 20743: 0x9830, - 20744: 0x9831, - 20745: 0x9832, - 20746: 0x9833, - 20747: 0x9834, - 20748: 0x9835, - 20749: 0x9836, - 20750: 0x9837, - 20751: 0x9838, - 20752: 0x9839, - 20753: 0x983A, - 20754: 0x983B, - 20755: 0x983C, - 20756: 0x983D, - 20757: 0x983E, - 20758: 0x983F, - 20759: 0x9840, - 20760: 0x9841, - 20761: 0x9842, - 20762: 0x9843, - 20763: 0x9844, - 20764: 0x9845, - 20765: 0x9846, - 20766: 0x9847, - 20767: 0x9848, - 20768: 0x9849, - 20769: 0x984A, - 20770: 0x984B, - 20771: 0x984C, - 20772: 0x984D, - 20773: 0x984E, - 20774: 0x984F, - 20775: 0x9850, - 20776: 0x9851, - 20777: 0x9852, - 20778: 0x9853, - 20779: 0x9854, - 20780: 0x9855, - 20781: 0x9856, - 20782: 0x9857, - 20783: 0x9858, - 20784: 0x9859, - 20785: 0x985A, - 20786: 0x985B, - 20787: 0x985C, - 20788: 0x985D, - 20789: 0x985E, - 20790: 0x985F, - 20791: 0x9860, - 20792: 0x9861, - 20793: 0x9862, - 20794: 0x9863, - 20795: 0x9864, - 20796: 0x9865, - 20797: 0x9866, - 20798: 0x9867, - 20799: 0x9868, - 20800: 0x9869, - 20801: 0x986A, - 20802: 0x986B, - 20803: 0x986C, - 20804: 0x986D, - 20805: 0x986E, - 20806: 0x7762, - 20807: 0x7765, - 20808: 0x777F, - 20809: 0x778D, - 20810: 0x777D, - 20811: 0x7780, - 20812: 0x778C, - 20813: 0x7791, - 20814: 0x779F, - 20815: 0x77A0, - 20816: 0x77B0, - 20817: 0x77B5, - 20818: 0x77BD, - 20819: 0x753A, - 20820: 0x7540, - 20821: 0x754E, - 20822: 0x754B, - 20823: 0x7548, - 20824: 0x755B, - 20825: 0x7572, - 20826: 0x7579, - 20827: 0x7583, - 20828: 0x7F58, - 20829: 0x7F61, - 20830: 0x7F5F, - 20831: 0x8A48, - 20832: 0x7F68, - 20833: 0x7F74, - 20834: 0x7F71, - 20835: 0x7F79, - 20836: 0x7F81, - 20837: 0x7F7E, - 20838: 0x76CD, - 20839: 0x76E5, - 20840: 0x8832, - 20841: 0x9485, - 20842: 0x9486, - 20843: 0x9487, - 20844: 0x948B, - 20845: 0x948A, - 20846: 0x948C, - 20847: 0x948D, - 20848: 0x948F, - 20849: 0x9490, - 20850: 0x9494, - 20851: 0x9497, - 20852: 0x9495, - 20853: 0x949A, - 20854: 0x949B, - 20855: 0x949C, - 20856: 0x94A3, - 20857: 0x94A4, - 20858: 0x94AB, - 20859: 0x94AA, - 20860: 0x94AD, - 20861: 0x94AC, - 20862: 0x94AF, - 20863: 0x94B0, - 20864: 0x94B2, - 20865: 0x94B4, - 20866: 0x94B6, - 20867: 0x94B7, - 20868: 0x94B8, - 20869: 0x94B9, - 20870: 0x94BA, - 20871: 0x94BC, - 20872: 0x94BD, - 20873: 0x94BF, - 20874: 0x94C4, - 20875: 0x94C8, - 20876: 0x94C9, - 20877: 0x94CA, - 20878: 0x94CB, - 20879: 0x94CC, - 20880: 0x94CD, - 20881: 0x94CE, - 20882: 0x94D0, - 20883: 0x94D1, - 20884: 0x94D2, - 20885: 0x94D5, - 20886: 0x94D6, - 20887: 0x94D7, - 20888: 0x94D9, - 20889: 0x94D8, - 20890: 0x94DB, - 20891: 0x94DE, - 20892: 0x94DF, - 20893: 0x94E0, - 20894: 0x94E2, - 20895: 0x94E4, - 20896: 0x94E5, - 20897: 0x94E7, - 20898: 0x94E8, - 20899: 0x94EA, - 20900: 0x986F, - 20901: 0x9870, - 20902: 0x9871, - 20903: 0x9872, - 20904: 0x9873, - 20905: 0x9874, - 20906: 0x988B, - 20907: 0x988E, - 20908: 0x9892, - 20909: 0x9895, - 20910: 0x9899, - 20911: 0x98A3, - 20912: 0x98A8, - 20913: 0x98A9, - 20914: 0x98AA, - 20915: 0x98AB, - 20916: 0x98AC, - 20917: 0x98AD, - 20918: 0x98AE, - 20919: 0x98AF, - 20920: 0x98B0, - 20921: 0x98B1, - 20922: 0x98B2, - 20923: 0x98B3, - 20924: 0x98B4, - 20925: 0x98B5, - 20926: 0x98B6, - 20927: 0x98B7, - 20928: 0x98B8, - 20929: 0x98B9, - 20930: 0x98BA, - 20931: 0x98BB, - 20932: 0x98BC, - 20933: 0x98BD, - 20934: 0x98BE, - 20935: 0x98BF, - 20936: 0x98C0, - 20937: 0x98C1, - 20938: 0x98C2, - 20939: 0x98C3, - 20940: 0x98C4, - 20941: 0x98C5, - 20942: 0x98C6, - 20943: 0x98C7, - 20944: 0x98C8, - 20945: 0x98C9, - 20946: 0x98CA, - 20947: 0x98CB, - 20948: 0x98CC, - 20949: 0x98CD, - 20950: 0x98CF, - 20951: 0x98D0, - 20952: 0x98D4, - 20953: 0x98D6, - 20954: 0x98D7, - 20955: 0x98DB, - 20956: 0x98DC, - 20957: 0x98DD, - 20958: 0x98E0, - 20959: 0x98E1, - 20960: 0x98E2, - 20961: 0x98E3, - 20962: 0x98E4, - 20963: 0x98E5, - 20964: 0x98E6, - 20965: 0x98E9, - 20966: 0x98EA, - 20967: 0x98EB, - 20968: 0x98EC, - 20969: 0x98ED, - 20970: 0x98EE, - 20971: 0x98EF, - 20972: 0x98F0, - 20973: 0x98F1, - 20974: 0x98F2, - 20975: 0x98F3, - 20976: 0x98F4, - 20977: 0x98F5, - 20978: 0x98F6, - 20979: 0x98F7, - 20980: 0x98F8, - 20981: 0x98F9, - 20982: 0x98FA, - 20983: 0x98FB, - 20984: 0x98FC, - 20985: 0x98FD, - 20986: 0x98FE, - 20987: 0x98FF, - 20988: 0x9900, - 20989: 0x9901, - 20990: 0x9902, - 20991: 0x9903, - 20992: 0x9904, - 20993: 0x9905, - 20994: 0x9906, - 20995: 0x9907, - 20996: 0x94E9, - 20997: 0x94EB, - 20998: 0x94EE, - 20999: 0x94EF, - 21000: 0x94F3, - 21001: 0x94F4, - 21002: 0x94F5, - 21003: 0x94F7, - 21004: 0x94F9, - 21005: 0x94FC, - 21006: 0x94FD, - 21007: 0x94FF, - 21008: 0x9503, - 21009: 0x9502, - 21010: 0x9506, - 21011: 0x9507, - 21012: 0x9509, - 21013: 0x950A, - 21014: 0x950D, - 21015: 0x950E, - 21016: 0x950F, - 21017: 0x9512, - 21018: 0x9513, - 21019: 0x9514, - 21020: 0x9515, - 21021: 0x9516, - 21022: 0x9518, - 21023: 0x951B, - 21024: 0x951D, - 21025: 0x951E, - 21026: 0x951F, - 21027: 0x9522, - 21028: 0x952A, - 21029: 0x952B, - 21030: 0x9529, - 21031: 0x952C, - 21032: 0x9531, - 21033: 0x9532, - 21034: 0x9534, - 21035: 0x9536, - 21036: 0x9537, - 21037: 0x9538, - 21038: 0x953C, - 21039: 0x953E, - 21040: 0x953F, - 21041: 0x9542, - 21042: 0x9535, - 21043: 0x9544, - 21044: 0x9545, - 21045: 0x9546, - 21046: 0x9549, - 21047: 0x954C, - 21048: 0x954E, - 21049: 0x954F, - 21050: 0x9552, - 21051: 0x9553, - 21052: 0x9554, - 21053: 0x9556, - 21054: 0x9557, - 21055: 0x9558, - 21056: 0x9559, - 21057: 0x955B, - 21058: 0x955E, - 21059: 0x955F, - 21060: 0x955D, - 21061: 0x9561, - 21062: 0x9562, - 21063: 0x9564, - 21064: 0x9565, - 21065: 0x9566, - 21066: 0x9567, - 21067: 0x9568, - 21068: 0x9569, - 21069: 0x956A, - 21070: 0x956B, - 21071: 0x956C, - 21072: 0x956F, - 21073: 0x9571, - 21074: 0x9572, - 21075: 0x9573, - 21076: 0x953A, - 21077: 0x77E7, - 21078: 0x77EC, - 21079: 0x96C9, - 21080: 0x79D5, - 21081: 0x79ED, - 21082: 0x79E3, - 21083: 0x79EB, - 21084: 0x7A06, - 21085: 0x5D47, - 21086: 0x7A03, - 21087: 0x7A02, - 21088: 0x7A1E, - 21089: 0x7A14, - 21090: 0x9908, - 21091: 0x9909, - 21092: 0x990A, - 21093: 0x990B, - 21094: 0x990C, - 21095: 0x990E, - 21096: 0x990F, - 21097: 0x9911, - 21098: 0x9912, - 21099: 0x9913, - 21100: 0x9914, - 21101: 0x9915, - 21102: 0x9916, - 21103: 0x9917, - 21104: 0x9918, - 21105: 0x9919, - 21106: 0x991A, - 21107: 0x991B, - 21108: 0x991C, - 21109: 0x991D, - 21110: 0x991E, - 21111: 0x991F, - 21112: 0x9920, - 21113: 0x9921, - 21114: 0x9922, - 21115: 0x9923, - 21116: 0x9924, - 21117: 0x9925, - 21118: 0x9926, - 21119: 0x9927, - 21120: 0x9928, - 21121: 0x9929, - 21122: 0x992A, - 21123: 0x992B, - 21124: 0x992C, - 21125: 0x992D, - 21126: 0x992F, - 21127: 0x9930, - 21128: 0x9931, - 21129: 0x9932, - 21130: 0x9933, - 21131: 0x9934, - 21132: 0x9935, - 21133: 0x9936, - 21134: 0x9937, - 21135: 0x9938, - 21136: 0x9939, - 21137: 0x993A, - 21138: 0x993B, - 21139: 0x993C, - 21140: 0x993D, - 21141: 0x993E, - 21142: 0x993F, - 21143: 0x9940, - 21144: 0x9941, - 21145: 0x9942, - 21146: 0x9943, - 21147: 0x9944, - 21148: 0x9945, - 21149: 0x9946, - 21150: 0x9947, - 21151: 0x9948, - 21152: 0x9949, - 21153: 0x994A, - 21154: 0x994B, - 21155: 0x994C, - 21156: 0x994D, - 21157: 0x994E, - 21158: 0x994F, - 21159: 0x9950, - 21160: 0x9951, - 21161: 0x9952, - 21162: 0x9953, - 21163: 0x9956, - 21164: 0x9957, - 21165: 0x9958, - 21166: 0x9959, - 21167: 0x995A, - 21168: 0x995B, - 21169: 0x995C, - 21170: 0x995D, - 21171: 0x995E, - 21172: 0x995F, - 21173: 0x9960, - 21174: 0x9961, - 21175: 0x9962, - 21176: 0x9964, - 21177: 0x9966, - 21178: 0x9973, - 21179: 0x9978, - 21180: 0x9979, - 21181: 0x997B, - 21182: 0x997E, - 21183: 0x9982, - 21184: 0x9983, - 21185: 0x9989, - 21186: 0x7A39, - 21187: 0x7A37, - 21188: 0x7A51, - 21189: 0x9ECF, - 21190: 0x99A5, - 21191: 0x7A70, - 21192: 0x7688, - 21193: 0x768E, - 21194: 0x7693, - 21195: 0x7699, - 21196: 0x76A4, - 21197: 0x74DE, - 21198: 0x74E0, - 21199: 0x752C, - 21200: 0x9E20, - 21201: 0x9E22, - 21202: 0x9E28, - 21203: 0x9E29, - 21204: 0x9E2A, - 21205: 0x9E2B, - 21206: 0x9E2C, - 21207: 0x9E32, - 21208: 0x9E31, - 21209: 0x9E36, - 21210: 0x9E38, - 21211: 0x9E37, - 21212: 0x9E39, - 21213: 0x9E3A, - 21214: 0x9E3E, - 21215: 0x9E41, - 21216: 0x9E42, - 21217: 0x9E44, - 21218: 0x9E46, - 21219: 0x9E47, - 21220: 0x9E48, - 21221: 0x9E49, - 21222: 0x9E4B, - 21223: 0x9E4C, - 21224: 0x9E4E, - 21225: 0x9E51, - 21226: 0x9E55, - 21227: 0x9E57, - 21228: 0x9E5A, - 21229: 0x9E5B, - 21230: 0x9E5C, - 21231: 0x9E5E, - 21232: 0x9E63, - 21233: 0x9E66, - 21234: 0x9E67, - 21235: 0x9E68, - 21236: 0x9E69, - 21237: 0x9E6A, - 21238: 0x9E6B, - 21239: 0x9E6C, - 21240: 0x9E71, - 21241: 0x9E6D, - 21242: 0x9E73, - 21243: 0x7592, - 21244: 0x7594, - 21245: 0x7596, - 21246: 0x75A0, - 21247: 0x759D, - 21248: 0x75AC, - 21249: 0x75A3, - 21250: 0x75B3, - 21251: 0x75B4, - 21252: 0x75B8, - 21253: 0x75C4, - 21254: 0x75B1, - 21255: 0x75B0, - 21256: 0x75C3, - 21257: 0x75C2, - 21258: 0x75D6, - 21259: 0x75CD, - 21260: 0x75E3, - 21261: 0x75E8, - 21262: 0x75E6, - 21263: 0x75E4, - 21264: 0x75EB, - 21265: 0x75E7, - 21266: 0x7603, - 21267: 0x75F1, - 21268: 0x75FC, - 21269: 0x75FF, - 21270: 0x7610, - 21271: 0x7600, - 21272: 0x7605, - 21273: 0x760C, - 21274: 0x7617, - 21275: 0x760A, - 21276: 0x7625, - 21277: 0x7618, - 21278: 0x7615, - 21279: 0x7619, - 21280: 0x998C, - 21281: 0x998E, - 21282: 0x999A, - 21283: 0x999B, - 21284: 0x999C, - 21285: 0x999D, - 21286: 0x999E, - 21287: 0x999F, - 21288: 0x99A0, - 21289: 0x99A1, - 21290: 0x99A2, - 21291: 0x99A3, - 21292: 0x99A4, - 21293: 0x99A6, - 21294: 0x99A7, - 21295: 0x99A9, - 21296: 0x99AA, - 21297: 0x99AB, - 21298: 0x99AC, - 21299: 0x99AD, - 21300: 0x99AE, - 21301: 0x99AF, - 21302: 0x99B0, - 21303: 0x99B1, - 21304: 0x99B2, - 21305: 0x99B3, - 21306: 0x99B4, - 21307: 0x99B5, - 21308: 0x99B6, - 21309: 0x99B7, - 21310: 0x99B8, - 21311: 0x99B9, - 21312: 0x99BA, - 21313: 0x99BB, - 21314: 0x99BC, - 21315: 0x99BD, - 21316: 0x99BE, - 21317: 0x99BF, - 21318: 0x99C0, - 21319: 0x99C1, - 21320: 0x99C2, - 21321: 0x99C3, - 21322: 0x99C4, - 21323: 0x99C5, - 21324: 0x99C6, - 21325: 0x99C7, - 21326: 0x99C8, - 21327: 0x99C9, - 21328: 0x99CA, - 21329: 0x99CB, - 21330: 0x99CC, - 21331: 0x99CD, - 21332: 0x99CE, - 21333: 0x99CF, - 21334: 0x99D0, - 21335: 0x99D1, - 21336: 0x99D2, - 21337: 0x99D3, - 21338: 0x99D4, - 21339: 0x99D5, - 21340: 0x99D6, - 21341: 0x99D7, - 21342: 0x99D8, - 21343: 0x99D9, - 21344: 0x99DA, - 21345: 0x99DB, - 21346: 0x99DC, - 21347: 0x99DD, - 21348: 0x99DE, - 21349: 0x99DF, - 21350: 0x99E0, - 21351: 0x99E1, - 21352: 0x99E2, - 21353: 0x99E3, - 21354: 0x99E4, - 21355: 0x99E5, - 21356: 0x99E6, - 21357: 0x99E7, - 21358: 0x99E8, - 21359: 0x99E9, - 21360: 0x99EA, - 21361: 0x99EB, - 21362: 0x99EC, - 21363: 0x99ED, - 21364: 0x99EE, - 21365: 0x99EF, - 21366: 0x99F0, - 21367: 0x99F1, - 21368: 0x99F2, - 21369: 0x99F3, - 21370: 0x99F4, - 21371: 0x99F5, - 21372: 0x99F6, - 21373: 0x99F7, - 21374: 0x99F8, - 21375: 0x99F9, - 21376: 0x761B, - 21377: 0x763C, - 21378: 0x7622, - 21379: 0x7620, - 21380: 0x7640, - 21381: 0x762D, - 21382: 0x7630, - 21383: 0x763F, - 21384: 0x7635, - 21385: 0x7643, - 21386: 0x763E, - 21387: 0x7633, - 21388: 0x764D, - 21389: 0x765E, - 21390: 0x7654, - 21391: 0x765C, - 21392: 0x7656, - 21393: 0x766B, - 21394: 0x766F, - 21395: 0x7FCA, - 21396: 0x7AE6, - 21397: 0x7A78, - 21398: 0x7A79, - 21399: 0x7A80, - 21400: 0x7A86, - 21401: 0x7A88, - 21402: 0x7A95, - 21403: 0x7AA6, - 21404: 0x7AA0, - 21405: 0x7AAC, - 21406: 0x7AA8, - 21407: 0x7AAD, - 21408: 0x7AB3, - 21409: 0x8864, - 21410: 0x8869, - 21411: 0x8872, - 21412: 0x887D, - 21413: 0x887F, - 21414: 0x8882, - 21415: 0x88A2, - 21416: 0x88C6, - 21417: 0x88B7, - 21418: 0x88BC, - 21419: 0x88C9, - 21420: 0x88E2, - 21421: 0x88CE, - 21422: 0x88E3, - 21423: 0x88E5, - 21424: 0x88F1, - 21425: 0x891A, - 21426: 0x88FC, - 21427: 0x88E8, - 21428: 0x88FE, - 21429: 0x88F0, - 21430: 0x8921, - 21431: 0x8919, - 21432: 0x8913, - 21433: 0x891B, - 21434: 0x890A, - 21435: 0x8934, - 21436: 0x892B, - 21437: 0x8936, - 21438: 0x8941, - 21439: 0x8966, - 21440: 0x897B, - 21441: 0x758B, - 21442: 0x80E5, - 21443: 0x76B2, - 21444: 0x76B4, - 21445: 0x77DC, - 21446: 0x8012, - 21447: 0x8014, - 21448: 0x8016, - 21449: 0x801C, - 21450: 0x8020, - 21451: 0x8022, - 21452: 0x8025, - 21453: 0x8026, - 21454: 0x8027, - 21455: 0x8029, - 21456: 0x8028, - 21457: 0x8031, - 21458: 0x800B, - 21459: 0x8035, - 21460: 0x8043, - 21461: 0x8046, - 21462: 0x804D, - 21463: 0x8052, - 21464: 0x8069, - 21465: 0x8071, - 21466: 0x8983, - 21467: 0x9878, - 21468: 0x9880, - 21469: 0x9883, - 21470: 0x99FA, - 21471: 0x99FB, - 21472: 0x99FC, - 21473: 0x99FD, - 21474: 0x99FE, - 21475: 0x99FF, - 21476: 0x9A00, - 21477: 0x9A01, - 21478: 0x9A02, - 21479: 0x9A03, - 21480: 0x9A04, - 21481: 0x9A05, - 21482: 0x9A06, - 21483: 0x9A07, - 21484: 0x9A08, - 21485: 0x9A09, - 21486: 0x9A0A, - 21487: 0x9A0B, - 21488: 0x9A0C, - 21489: 0x9A0D, - 21490: 0x9A0E, - 21491: 0x9A0F, - 21492: 0x9A10, - 21493: 0x9A11, - 21494: 0x9A12, - 21495: 0x9A13, - 21496: 0x9A14, - 21497: 0x9A15, - 21498: 0x9A16, - 21499: 0x9A17, - 21500: 0x9A18, - 21501: 0x9A19, - 21502: 0x9A1A, - 21503: 0x9A1B, - 21504: 0x9A1C, - 21505: 0x9A1D, - 21506: 0x9A1E, - 21507: 0x9A1F, - 21508: 0x9A20, - 21509: 0x9A21, - 21510: 0x9A22, - 21511: 0x9A23, - 21512: 0x9A24, - 21513: 0x9A25, - 21514: 0x9A26, - 21515: 0x9A27, - 21516: 0x9A28, - 21517: 0x9A29, - 21518: 0x9A2A, - 21519: 0x9A2B, - 21520: 0x9A2C, - 21521: 0x9A2D, - 21522: 0x9A2E, - 21523: 0x9A2F, - 21524: 0x9A30, - 21525: 0x9A31, - 21526: 0x9A32, - 21527: 0x9A33, - 21528: 0x9A34, - 21529: 0x9A35, - 21530: 0x9A36, - 21531: 0x9A37, - 21532: 0x9A38, - 21533: 0x9A39, - 21534: 0x9A3A, - 21535: 0x9A3B, - 21536: 0x9A3C, - 21537: 0x9A3D, - 21538: 0x9A3E, - 21539: 0x9A3F, - 21540: 0x9A40, - 21541: 0x9A41, - 21542: 0x9A42, - 21543: 0x9A43, - 21544: 0x9A44, - 21545: 0x9A45, - 21546: 0x9A46, - 21547: 0x9A47, - 21548: 0x9A48, - 21549: 0x9A49, - 21550: 0x9A4A, - 21551: 0x9A4B, - 21552: 0x9A4C, - 21553: 0x9A4D, - 21554: 0x9A4E, - 21555: 0x9A4F, - 21556: 0x9A50, - 21557: 0x9A51, - 21558: 0x9A52, - 21559: 0x9A53, - 21560: 0x9A54, - 21561: 0x9A55, - 21562: 0x9A56, - 21563: 0x9A57, - 21564: 0x9A58, - 21565: 0x9A59, - 21566: 0x9889, - 21567: 0x988C, - 21568: 0x988D, - 21569: 0x988F, - 21570: 0x9894, - 21571: 0x989A, - 21572: 0x989B, - 21573: 0x989E, - 21574: 0x989F, - 21575: 0x98A1, - 21576: 0x98A2, - 21577: 0x98A5, - 21578: 0x98A6, - 21579: 0x864D, - 21580: 0x8654, - 21581: 0x866C, - 21582: 0x866E, - 21583: 0x867F, - 21584: 0x867A, - 21585: 0x867C, - 21586: 0x867B, - 21587: 0x86A8, - 21588: 0x868D, - 21589: 0x868B, - 21590: 0x86AC, - 21591: 0x869D, - 21592: 0x86A7, - 21593: 0x86A3, - 21594: 0x86AA, - 21595: 0x8693, - 21596: 0x86A9, - 21597: 0x86B6, - 21598: 0x86C4, - 21599: 0x86B5, - 21600: 0x86CE, - 21601: 0x86B0, - 21602: 0x86BA, - 21603: 0x86B1, - 21604: 0x86AF, - 21605: 0x86C9, - 21606: 0x86CF, - 21607: 0x86B4, - 21608: 0x86E9, - 21609: 0x86F1, - 21610: 0x86F2, - 21611: 0x86ED, - 21612: 0x86F3, - 21613: 0x86D0, - 21614: 0x8713, - 21615: 0x86DE, - 21616: 0x86F4, - 21617: 0x86DF, - 21618: 0x86D8, - 21619: 0x86D1, - 21620: 0x8703, - 21621: 0x8707, - 21622: 0x86F8, - 21623: 0x8708, - 21624: 0x870A, - 21625: 0x870D, - 21626: 0x8709, - 21627: 0x8723, - 21628: 0x873B, - 21629: 0x871E, - 21630: 0x8725, - 21631: 0x872E, - 21632: 0x871A, - 21633: 0x873E, - 21634: 0x8748, - 21635: 0x8734, - 21636: 0x8731, - 21637: 0x8729, - 21638: 0x8737, - 21639: 0x873F, - 21640: 0x8782, - 21641: 0x8722, - 21642: 0x877D, - 21643: 0x877E, - 21644: 0x877B, - 21645: 0x8760, - 21646: 0x8770, - 21647: 0x874C, - 21648: 0x876E, - 21649: 0x878B, - 21650: 0x8753, - 21651: 0x8763, - 21652: 0x877C, - 21653: 0x8764, - 21654: 0x8759, - 21655: 0x8765, - 21656: 0x8793, - 21657: 0x87AF, - 21658: 0x87A8, - 21659: 0x87D2, - 21660: 0x9A5A, - 21661: 0x9A5B, - 21662: 0x9A5C, - 21663: 0x9A5D, - 21664: 0x9A5E, - 21665: 0x9A5F, - 21666: 0x9A60, - 21667: 0x9A61, - 21668: 0x9A62, - 21669: 0x9A63, - 21670: 0x9A64, - 21671: 0x9A65, - 21672: 0x9A66, - 21673: 0x9A67, - 21674: 0x9A68, - 21675: 0x9A69, - 21676: 0x9A6A, - 21677: 0x9A6B, - 21678: 0x9A72, - 21679: 0x9A83, - 21680: 0x9A89, - 21681: 0x9A8D, - 21682: 0x9A8E, - 21683: 0x9A94, - 21684: 0x9A95, - 21685: 0x9A99, - 21686: 0x9AA6, - 21687: 0x9AA9, - 21688: 0x9AAA, - 21689: 0x9AAB, - 21690: 0x9AAC, - 21691: 0x9AAD, - 21692: 0x9AAE, - 21693: 0x9AAF, - 21694: 0x9AB2, - 21695: 0x9AB3, - 21696: 0x9AB4, - 21697: 0x9AB5, - 21698: 0x9AB9, - 21699: 0x9ABB, - 21700: 0x9ABD, - 21701: 0x9ABE, - 21702: 0x9ABF, - 21703: 0x9AC3, - 21704: 0x9AC4, - 21705: 0x9AC6, - 21706: 0x9AC7, - 21707: 0x9AC8, - 21708: 0x9AC9, - 21709: 0x9ACA, - 21710: 0x9ACD, - 21711: 0x9ACE, - 21712: 0x9ACF, - 21713: 0x9AD0, - 21714: 0x9AD2, - 21715: 0x9AD4, - 21716: 0x9AD5, - 21717: 0x9AD6, - 21718: 0x9AD7, - 21719: 0x9AD9, - 21720: 0x9ADA, - 21721: 0x9ADB, - 21722: 0x9ADC, - 21723: 0x9ADD, - 21724: 0x9ADE, - 21725: 0x9AE0, - 21726: 0x9AE2, - 21727: 0x9AE3, - 21728: 0x9AE4, - 21729: 0x9AE5, - 21730: 0x9AE7, - 21731: 0x9AE8, - 21732: 0x9AE9, - 21733: 0x9AEA, - 21734: 0x9AEC, - 21735: 0x9AEE, - 21736: 0x9AF0, - 21737: 0x9AF1, - 21738: 0x9AF2, - 21739: 0x9AF3, - 21740: 0x9AF4, - 21741: 0x9AF5, - 21742: 0x9AF6, - 21743: 0x9AF7, - 21744: 0x9AF8, - 21745: 0x9AFA, - 21746: 0x9AFC, - 21747: 0x9AFD, - 21748: 0x9AFE, - 21749: 0x9AFF, - 21750: 0x9B00, - 21751: 0x9B01, - 21752: 0x9B02, - 21753: 0x9B04, - 21754: 0x9B05, - 21755: 0x9B06, - 21756: 0x87C6, - 21757: 0x8788, - 21758: 0x8785, - 21759: 0x87AD, - 21760: 0x8797, - 21761: 0x8783, - 21762: 0x87AB, - 21763: 0x87E5, - 21764: 0x87AC, - 21765: 0x87B5, - 21766: 0x87B3, - 21767: 0x87CB, - 21768: 0x87D3, - 21769: 0x87BD, - 21770: 0x87D1, - 21771: 0x87C0, - 21772: 0x87CA, - 21773: 0x87DB, - 21774: 0x87EA, - 21775: 0x87E0, - 21776: 0x87EE, - 21777: 0x8816, - 21778: 0x8813, - 21779: 0x87FE, - 21780: 0x880A, - 21781: 0x881B, - 21782: 0x8821, - 21783: 0x8839, - 21784: 0x883C, - 21785: 0x7F36, - 21786: 0x7F42, - 21787: 0x7F44, - 21788: 0x7F45, - 21789: 0x8210, - 21790: 0x7AFA, - 21791: 0x7AFD, - 21792: 0x7B08, - 21793: 0x7B03, - 21794: 0x7B04, - 21795: 0x7B15, - 21796: 0x7B0A, - 21797: 0x7B2B, - 21798: 0x7B0F, - 21799: 0x7B47, - 21800: 0x7B38, - 21801: 0x7B2A, - 21802: 0x7B19, - 21803: 0x7B2E, - 21804: 0x7B31, - 21805: 0x7B20, - 21806: 0x7B25, - 21807: 0x7B24, - 21808: 0x7B33, - 21809: 0x7B3E, - 21810: 0x7B1E, - 21811: 0x7B58, - 21812: 0x7B5A, - 21813: 0x7B45, - 21814: 0x7B75, - 21815: 0x7B4C, - 21816: 0x7B5D, - 21817: 0x7B60, - 21818: 0x7B6E, - 21819: 0x7B7B, - 21820: 0x7B62, - 21821: 0x7B72, - 21822: 0x7B71, - 21823: 0x7B90, - 21824: 0x7BA6, - 21825: 0x7BA7, - 21826: 0x7BB8, - 21827: 0x7BAC, - 21828: 0x7B9D, - 21829: 0x7BA8, - 21830: 0x7B85, - 21831: 0x7BAA, - 21832: 0x7B9C, - 21833: 0x7BA2, - 21834: 0x7BAB, - 21835: 0x7BB4, - 21836: 0x7BD1, - 21837: 0x7BC1, - 21838: 0x7BCC, - 21839: 0x7BDD, - 21840: 0x7BDA, - 21841: 0x7BE5, - 21842: 0x7BE6, - 21843: 0x7BEA, - 21844: 0x7C0C, - 21845: 0x7BFE, - 21846: 0x7BFC, - 21847: 0x7C0F, - 21848: 0x7C16, - 21849: 0x7C0B, - 21850: 0x9B07, - 21851: 0x9B09, - 21852: 0x9B0A, - 21853: 0x9B0B, - 21854: 0x9B0C, - 21855: 0x9B0D, - 21856: 0x9B0E, - 21857: 0x9B10, - 21858: 0x9B11, - 21859: 0x9B12, - 21860: 0x9B14, - 21861: 0x9B15, - 21862: 0x9B16, - 21863: 0x9B17, - 21864: 0x9B18, - 21865: 0x9B19, - 21866: 0x9B1A, - 21867: 0x9B1B, - 21868: 0x9B1C, - 21869: 0x9B1D, - 21870: 0x9B1E, - 21871: 0x9B20, - 21872: 0x9B21, - 21873: 0x9B22, - 21874: 0x9B24, - 21875: 0x9B25, - 21876: 0x9B26, - 21877: 0x9B27, - 21878: 0x9B28, - 21879: 0x9B29, - 21880: 0x9B2A, - 21881: 0x9B2B, - 21882: 0x9B2C, - 21883: 0x9B2D, - 21884: 0x9B2E, - 21885: 0x9B30, - 21886: 0x9B31, - 21887: 0x9B33, - 21888: 0x9B34, - 21889: 0x9B35, - 21890: 0x9B36, - 21891: 0x9B37, - 21892: 0x9B38, - 21893: 0x9B39, - 21894: 0x9B3A, - 21895: 0x9B3D, - 21896: 0x9B3E, - 21897: 0x9B3F, - 21898: 0x9B40, - 21899: 0x9B46, - 21900: 0x9B4A, - 21901: 0x9B4B, - 21902: 0x9B4C, - 21903: 0x9B4E, - 21904: 0x9B50, - 21905: 0x9B52, - 21906: 0x9B53, - 21907: 0x9B55, - 21908: 0x9B56, - 21909: 0x9B57, - 21910: 0x9B58, - 21911: 0x9B59, - 21912: 0x9B5A, - 21913: 0x9B5B, - 21914: 0x9B5C, - 21915: 0x9B5D, - 21916: 0x9B5E, - 21917: 0x9B5F, - 21918: 0x9B60, - 21919: 0x9B61, - 21920: 0x9B62, - 21921: 0x9B63, - 21922: 0x9B64, - 21923: 0x9B65, - 21924: 0x9B66, - 21925: 0x9B67, - 21926: 0x9B68, - 21927: 0x9B69, - 21928: 0x9B6A, - 21929: 0x9B6B, - 21930: 0x9B6C, - 21931: 0x9B6D, - 21932: 0x9B6E, - 21933: 0x9B6F, - 21934: 0x9B70, - 21935: 0x9B71, - 21936: 0x9B72, - 21937: 0x9B73, - 21938: 0x9B74, - 21939: 0x9B75, - 21940: 0x9B76, - 21941: 0x9B77, - 21942: 0x9B78, - 21943: 0x9B79, - 21944: 0x9B7A, - 21945: 0x9B7B, - 21946: 0x7C1F, - 21947: 0x7C2A, - 21948: 0x7C26, - 21949: 0x7C38, - 21950: 0x7C41, - 21951: 0x7C40, - 21952: 0x81FE, - 21953: 0x8201, - 21954: 0x8202, - 21955: 0x8204, - 21956: 0x81EC, - 21957: 0x8844, - 21958: 0x8221, - 21959: 0x8222, - 21960: 0x8223, - 21961: 0x822D, - 21962: 0x822F, - 21963: 0x8228, - 21964: 0x822B, - 21965: 0x8238, - 21966: 0x823B, - 21967: 0x8233, - 21968: 0x8234, - 21969: 0x823E, - 21970: 0x8244, - 21971: 0x8249, - 21972: 0x824B, - 21973: 0x824F, - 21974: 0x825A, - 21975: 0x825F, - 21976: 0x8268, - 21977: 0x887E, - 21978: 0x8885, - 21979: 0x8888, - 21980: 0x88D8, - 21981: 0x88DF, - 21982: 0x895E, - 21983: 0x7F9D, - 21984: 0x7F9F, - 21985: 0x7FA7, - 21986: 0x7FAF, - 21987: 0x7FB0, - 21988: 0x7FB2, - 21989: 0x7C7C, - 21990: 0x6549, - 21991: 0x7C91, - 21992: 0x7C9D, - 21993: 0x7C9C, - 21994: 0x7C9E, - 21995: 0x7CA2, - 21996: 0x7CB2, - 21997: 0x7CBC, - 21998: 0x7CBD, - 21999: 0x7CC1, - 22000: 0x7CC7, - 22001: 0x7CCC, - 22002: 0x7CCD, - 22003: 0x7CC8, - 22004: 0x7CC5, - 22005: 0x7CD7, - 22006: 0x7CE8, - 22007: 0x826E, - 22008: 0x66A8, - 22009: 0x7FBF, - 22010: 0x7FCE, - 22011: 0x7FD5, - 22012: 0x7FE5, - 22013: 0x7FE1, - 22014: 0x7FE6, - 22015: 0x7FE9, - 22016: 0x7FEE, - 22017: 0x7FF3, - 22018: 0x7CF8, - 22019: 0x7D77, - 22020: 0x7DA6, - 22021: 0x7DAE, - 22022: 0x7E47, - 22023: 0x7E9B, - 22024: 0x9EB8, - 22025: 0x9EB4, - 22026: 0x8D73, - 22027: 0x8D84, - 22028: 0x8D94, - 22029: 0x8D91, - 22030: 0x8DB1, - 22031: 0x8D67, - 22032: 0x8D6D, - 22033: 0x8C47, - 22034: 0x8C49, - 22035: 0x914A, - 22036: 0x9150, - 22037: 0x914E, - 22038: 0x914F, - 22039: 0x9164, - 22040: 0x9B7C, - 22041: 0x9B7D, - 22042: 0x9B7E, - 22043: 0x9B7F, - 22044: 0x9B80, - 22045: 0x9B81, - 22046: 0x9B82, - 22047: 0x9B83, - 22048: 0x9B84, - 22049: 0x9B85, - 22050: 0x9B86, - 22051: 0x9B87, - 22052: 0x9B88, - 22053: 0x9B89, - 22054: 0x9B8A, - 22055: 0x9B8B, - 22056: 0x9B8C, - 22057: 0x9B8D, - 22058: 0x9B8E, - 22059: 0x9B8F, - 22060: 0x9B90, - 22061: 0x9B91, - 22062: 0x9B92, - 22063: 0x9B93, - 22064: 0x9B94, - 22065: 0x9B95, - 22066: 0x9B96, - 22067: 0x9B97, - 22068: 0x9B98, - 22069: 0x9B99, - 22070: 0x9B9A, - 22071: 0x9B9B, - 22072: 0x9B9C, - 22073: 0x9B9D, - 22074: 0x9B9E, - 22075: 0x9B9F, - 22076: 0x9BA0, - 22077: 0x9BA1, - 22078: 0x9BA2, - 22079: 0x9BA3, - 22080: 0x9BA4, - 22081: 0x9BA5, - 22082: 0x9BA6, - 22083: 0x9BA7, - 22084: 0x9BA8, - 22085: 0x9BA9, - 22086: 0x9BAA, - 22087: 0x9BAB, - 22088: 0x9BAC, - 22089: 0x9BAD, - 22090: 0x9BAE, - 22091: 0x9BAF, - 22092: 0x9BB0, - 22093: 0x9BB1, - 22094: 0x9BB2, - 22095: 0x9BB3, - 22096: 0x9BB4, - 22097: 0x9BB5, - 22098: 0x9BB6, - 22099: 0x9BB7, - 22100: 0x9BB8, - 22101: 0x9BB9, - 22102: 0x9BBA, - 22103: 0x9BBB, - 22104: 0x9BBC, - 22105: 0x9BBD, - 22106: 0x9BBE, - 22107: 0x9BBF, - 22108: 0x9BC0, - 22109: 0x9BC1, - 22110: 0x9BC2, - 22111: 0x9BC3, - 22112: 0x9BC4, - 22113: 0x9BC5, - 22114: 0x9BC6, - 22115: 0x9BC7, - 22116: 0x9BC8, - 22117: 0x9BC9, - 22118: 0x9BCA, - 22119: 0x9BCB, - 22120: 0x9BCC, - 22121: 0x9BCD, - 22122: 0x9BCE, - 22123: 0x9BCF, - 22124: 0x9BD0, - 22125: 0x9BD1, - 22126: 0x9BD2, - 22127: 0x9BD3, - 22128: 0x9BD4, - 22129: 0x9BD5, - 22130: 0x9BD6, - 22131: 0x9BD7, - 22132: 0x9BD8, - 22133: 0x9BD9, - 22134: 0x9BDA, - 22135: 0x9BDB, - 22136: 0x9162, - 22137: 0x9161, - 22138: 0x9170, - 22139: 0x9169, - 22140: 0x916F, - 22141: 0x917D, - 22142: 0x917E, - 22143: 0x9172, - 22144: 0x9174, - 22145: 0x9179, - 22146: 0x918C, - 22147: 0x9185, - 22148: 0x9190, - 22149: 0x918D, - 22150: 0x9191, - 22151: 0x91A2, - 22152: 0x91A3, - 22153: 0x91AA, - 22154: 0x91AD, - 22155: 0x91AE, - 22156: 0x91AF, - 22157: 0x91B5, - 22158: 0x91B4, - 22159: 0x91BA, - 22160: 0x8C55, - 22161: 0x9E7E, - 22162: 0x8DB8, - 22163: 0x8DEB, - 22164: 0x8E05, - 22165: 0x8E59, - 22166: 0x8E69, - 22167: 0x8DB5, - 22168: 0x8DBF, - 22169: 0x8DBC, - 22170: 0x8DBA, - 22171: 0x8DC4, - 22172: 0x8DD6, - 22173: 0x8DD7, - 22174: 0x8DDA, - 22175: 0x8DDE, - 22176: 0x8DCE, - 22177: 0x8DCF, - 22178: 0x8DDB, - 22179: 0x8DC6, - 22180: 0x8DEC, - 22181: 0x8DF7, - 22182: 0x8DF8, - 22183: 0x8DE3, - 22184: 0x8DF9, - 22185: 0x8DFB, - 22186: 0x8DE4, - 22187: 0x8E09, - 22188: 0x8DFD, - 22189: 0x8E14, - 22190: 0x8E1D, - 22191: 0x8E1F, - 22192: 0x8E2C, - 22193: 0x8E2E, - 22194: 0x8E23, - 22195: 0x8E2F, - 22196: 0x8E3A, - 22197: 0x8E40, - 22198: 0x8E39, - 22199: 0x8E35, - 22200: 0x8E3D, - 22201: 0x8E31, - 22202: 0x8E49, - 22203: 0x8E41, - 22204: 0x8E42, - 22205: 0x8E51, - 22206: 0x8E52, - 22207: 0x8E4A, - 22208: 0x8E70, - 22209: 0x8E76, - 22210: 0x8E7C, - 22211: 0x8E6F, - 22212: 0x8E74, - 22213: 0x8E85, - 22214: 0x8E8F, - 22215: 0x8E94, - 22216: 0x8E90, - 22217: 0x8E9C, - 22218: 0x8E9E, - 22219: 0x8C78, - 22220: 0x8C82, - 22221: 0x8C8A, - 22222: 0x8C85, - 22223: 0x8C98, - 22224: 0x8C94, - 22225: 0x659B, - 22226: 0x89D6, - 22227: 0x89DE, - 22228: 0x89DA, - 22229: 0x89DC, - 22230: 0x9BDC, - 22231: 0x9BDD, - 22232: 0x9BDE, - 22233: 0x9BDF, - 22234: 0x9BE0, - 22235: 0x9BE1, - 22236: 0x9BE2, - 22237: 0x9BE3, - 22238: 0x9BE4, - 22239: 0x9BE5, - 22240: 0x9BE6, - 22241: 0x9BE7, - 22242: 0x9BE8, - 22243: 0x9BE9, - 22244: 0x9BEA, - 22245: 0x9BEB, - 22246: 0x9BEC, - 22247: 0x9BED, - 22248: 0x9BEE, - 22249: 0x9BEF, - 22250: 0x9BF0, - 22251: 0x9BF1, - 22252: 0x9BF2, - 22253: 0x9BF3, - 22254: 0x9BF4, - 22255: 0x9BF5, - 22256: 0x9BF6, - 22257: 0x9BF7, - 22258: 0x9BF8, - 22259: 0x9BF9, - 22260: 0x9BFA, - 22261: 0x9BFB, - 22262: 0x9BFC, - 22263: 0x9BFD, - 22264: 0x9BFE, - 22265: 0x9BFF, - 22266: 0x9C00, - 22267: 0x9C01, - 22268: 0x9C02, - 22269: 0x9C03, - 22270: 0x9C04, - 22271: 0x9C05, - 22272: 0x9C06, - 22273: 0x9C07, - 22274: 0x9C08, - 22275: 0x9C09, - 22276: 0x9C0A, - 22277: 0x9C0B, - 22278: 0x9C0C, - 22279: 0x9C0D, - 22280: 0x9C0E, - 22281: 0x9C0F, - 22282: 0x9C10, - 22283: 0x9C11, - 22284: 0x9C12, - 22285: 0x9C13, - 22286: 0x9C14, - 22287: 0x9C15, - 22288: 0x9C16, - 22289: 0x9C17, - 22290: 0x9C18, - 22291: 0x9C19, - 22292: 0x9C1A, - 22293: 0x9C1B, - 22294: 0x9C1C, - 22295: 0x9C1D, - 22296: 0x9C1E, - 22297: 0x9C1F, - 22298: 0x9C20, - 22299: 0x9C21, - 22300: 0x9C22, - 22301: 0x9C23, - 22302: 0x9C24, - 22303: 0x9C25, - 22304: 0x9C26, - 22305: 0x9C27, - 22306: 0x9C28, - 22307: 0x9C29, - 22308: 0x9C2A, - 22309: 0x9C2B, - 22310: 0x9C2C, - 22311: 0x9C2D, - 22312: 0x9C2E, - 22313: 0x9C2F, - 22314: 0x9C30, - 22315: 0x9C31, - 22316: 0x9C32, - 22317: 0x9C33, - 22318: 0x9C34, - 22319: 0x9C35, - 22320: 0x9C36, - 22321: 0x9C37, - 22322: 0x9C38, - 22323: 0x9C39, - 22324: 0x9C3A, - 22325: 0x9C3B, - 22326: 0x89E5, - 22327: 0x89EB, - 22328: 0x89EF, - 22329: 0x8A3E, - 22330: 0x8B26, - 22331: 0x9753, - 22332: 0x96E9, - 22333: 0x96F3, - 22334: 0x96EF, - 22335: 0x9706, - 22336: 0x9701, - 22337: 0x9708, - 22338: 0x970F, - 22339: 0x970E, - 22340: 0x972A, - 22341: 0x972D, - 22342: 0x9730, - 22343: 0x973E, - 22344: 0x9F80, - 22345: 0x9F83, - 22346: 0x9F85, - 22347: 0x9F86, - 22348: 0x9F87, - 22349: 0x9F88, - 22350: 0x9F89, - 22351: 0x9F8A, - 22352: 0x9F8C, - 22353: 0x9EFE, - 22354: 0x9F0B, - 22355: 0x9F0D, - 22356: 0x96B9, - 22357: 0x96BC, - 22358: 0x96BD, - 22359: 0x96CE, - 22360: 0x96D2, - 22361: 0x77BF, - 22362: 0x96E0, - 22363: 0x928E, - 22364: 0x92AE, - 22365: 0x92C8, - 22366: 0x933E, - 22367: 0x936A, - 22368: 0x93CA, - 22369: 0x938F, - 22370: 0x943E, - 22371: 0x946B, - 22372: 0x9C7F, - 22373: 0x9C82, - 22374: 0x9C85, - 22375: 0x9C86, - 22376: 0x9C87, - 22377: 0x9C88, - 22378: 0x7A23, - 22379: 0x9C8B, - 22380: 0x9C8E, - 22381: 0x9C90, - 22382: 0x9C91, - 22383: 0x9C92, - 22384: 0x9C94, - 22385: 0x9C95, - 22386: 0x9C9A, - 22387: 0x9C9B, - 22388: 0x9C9E, - 22389: 0x9C9F, - 22390: 0x9CA0, - 22391: 0x9CA1, - 22392: 0x9CA2, - 22393: 0x9CA3, - 22394: 0x9CA5, - 22395: 0x9CA6, - 22396: 0x9CA7, - 22397: 0x9CA8, - 22398: 0x9CA9, - 22399: 0x9CAB, - 22400: 0x9CAD, - 22401: 0x9CAE, - 22402: 0x9CB0, - 22403: 0x9CB1, - 22404: 0x9CB2, - 22405: 0x9CB3, - 22406: 0x9CB4, - 22407: 0x9CB5, - 22408: 0x9CB6, - 22409: 0x9CB7, - 22410: 0x9CBA, - 22411: 0x9CBB, - 22412: 0x9CBC, - 22413: 0x9CBD, - 22414: 0x9CC4, - 22415: 0x9CC5, - 22416: 0x9CC6, - 22417: 0x9CC7, - 22418: 0x9CCA, - 22419: 0x9CCB, - 22420: 0x9C3C, - 22421: 0x9C3D, - 22422: 0x9C3E, - 22423: 0x9C3F, - 22424: 0x9C40, - 22425: 0x9C41, - 22426: 0x9C42, - 22427: 0x9C43, - 22428: 0x9C44, - 22429: 0x9C45, - 22430: 0x9C46, - 22431: 0x9C47, - 22432: 0x9C48, - 22433: 0x9C49, - 22434: 0x9C4A, - 22435: 0x9C4B, - 22436: 0x9C4C, - 22437: 0x9C4D, - 22438: 0x9C4E, - 22439: 0x9C4F, - 22440: 0x9C50, - 22441: 0x9C51, - 22442: 0x9C52, - 22443: 0x9C53, - 22444: 0x9C54, - 22445: 0x9C55, - 22446: 0x9C56, - 22447: 0x9C57, - 22448: 0x9C58, - 22449: 0x9C59, - 22450: 0x9C5A, - 22451: 0x9C5B, - 22452: 0x9C5C, - 22453: 0x9C5D, - 22454: 0x9C5E, - 22455: 0x9C5F, - 22456: 0x9C60, - 22457: 0x9C61, - 22458: 0x9C62, - 22459: 0x9C63, - 22460: 0x9C64, - 22461: 0x9C65, - 22462: 0x9C66, - 22463: 0x9C67, - 22464: 0x9C68, - 22465: 0x9C69, - 22466: 0x9C6A, - 22467: 0x9C6B, - 22468: 0x9C6C, - 22469: 0x9C6D, - 22470: 0x9C6E, - 22471: 0x9C6F, - 22472: 0x9C70, - 22473: 0x9C71, - 22474: 0x9C72, - 22475: 0x9C73, - 22476: 0x9C74, - 22477: 0x9C75, - 22478: 0x9C76, - 22479: 0x9C77, - 22480: 0x9C78, - 22481: 0x9C79, - 22482: 0x9C7A, - 22483: 0x9C7B, - 22484: 0x9C7D, - 22485: 0x9C7E, - 22486: 0x9C80, - 22487: 0x9C83, - 22488: 0x9C84, - 22489: 0x9C89, - 22490: 0x9C8A, - 22491: 0x9C8C, - 22492: 0x9C8F, - 22493: 0x9C93, - 22494: 0x9C96, - 22495: 0x9C97, - 22496: 0x9C98, - 22497: 0x9C99, - 22498: 0x9C9D, - 22499: 0x9CAA, - 22500: 0x9CAC, - 22501: 0x9CAF, - 22502: 0x9CB9, - 22503: 0x9CBE, - 22504: 0x9CBF, - 22505: 0x9CC0, - 22506: 0x9CC1, - 22507: 0x9CC2, - 22508: 0x9CC8, - 22509: 0x9CC9, - 22510: 0x9CD1, - 22511: 0x9CD2, - 22512: 0x9CDA, - 22513: 0x9CDB, - 22514: 0x9CE0, - 22515: 0x9CE1, - 22516: 0x9CCC, - 22517: 0x9CCD, - 22518: 0x9CCE, - 22519: 0x9CCF, - 22520: 0x9CD0, - 22521: 0x9CD3, - 22522: 0x9CD4, - 22523: 0x9CD5, - 22524: 0x9CD7, - 22525: 0x9CD8, - 22526: 0x9CD9, - 22527: 0x9CDC, - 22528: 0x9CDD, - 22529: 0x9CDF, - 22530: 0x9CE2, - 22531: 0x977C, - 22532: 0x9785, - 22533: 0x9791, - 22534: 0x9792, - 22535: 0x9794, - 22536: 0x97AF, - 22537: 0x97AB, - 22538: 0x97A3, - 22539: 0x97B2, - 22540: 0x97B4, - 22541: 0x9AB1, - 22542: 0x9AB0, - 22543: 0x9AB7, - 22544: 0x9E58, - 22545: 0x9AB6, - 22546: 0x9ABA, - 22547: 0x9ABC, - 22548: 0x9AC1, - 22549: 0x9AC0, - 22550: 0x9AC5, - 22551: 0x9AC2, - 22552: 0x9ACB, - 22553: 0x9ACC, - 22554: 0x9AD1, - 22555: 0x9B45, - 22556: 0x9B43, - 22557: 0x9B47, - 22558: 0x9B49, - 22559: 0x9B48, - 22560: 0x9B4D, - 22561: 0x9B51, - 22562: 0x98E8, - 22563: 0x990D, - 22564: 0x992E, - 22565: 0x9955, - 22566: 0x9954, - 22567: 0x9ADF, - 22568: 0x9AE1, - 22569: 0x9AE6, - 22570: 0x9AEF, - 22571: 0x9AEB, - 22572: 0x9AFB, - 22573: 0x9AED, - 22574: 0x9AF9, - 22575: 0x9B08, - 22576: 0x9B0F, - 22577: 0x9B13, - 22578: 0x9B1F, - 22579: 0x9B23, - 22580: 0x9EBD, - 22581: 0x9EBE, - 22582: 0x7E3B, - 22583: 0x9E82, - 22584: 0x9E87, - 22585: 0x9E88, - 22586: 0x9E8B, - 22587: 0x9E92, - 22588: 0x93D6, - 22589: 0x9E9D, - 22590: 0x9E9F, - 22591: 0x9EDB, - 22592: 0x9EDC, - 22593: 0x9EDD, - 22594: 0x9EE0, - 22595: 0x9EDF, - 22596: 0x9EE2, - 22597: 0x9EE9, - 22598: 0x9EE7, - 22599: 0x9EE5, - 22600: 0x9EEA, - 22601: 0x9EEF, - 22602: 0x9F22, - 22603: 0x9F2C, - 22604: 0x9F2F, - 22605: 0x9F39, - 22606: 0x9F37, - 22607: 0x9F3D, - 22608: 0x9F3E, - 22609: 0x9F44, - 22610: 0x9CE3, - 22611: 0x9CE4, - 22612: 0x9CE5, - 22613: 0x9CE6, - 22614: 0x9CE7, - 22615: 0x9CE8, - 22616: 0x9CE9, - 22617: 0x9CEA, - 22618: 0x9CEB, - 22619: 0x9CEC, - 22620: 0x9CED, - 22621: 0x9CEE, - 22622: 0x9CEF, - 22623: 0x9CF0, - 22624: 0x9CF1, - 22625: 0x9CF2, - 22626: 0x9CF3, - 22627: 0x9CF4, - 22628: 0x9CF5, - 22629: 0x9CF6, - 22630: 0x9CF7, - 22631: 0x9CF8, - 22632: 0x9CF9, - 22633: 0x9CFA, - 22634: 0x9CFB, - 22635: 0x9CFC, - 22636: 0x9CFD, - 22637: 0x9CFE, - 22638: 0x9CFF, - 22639: 0x9D00, - 22640: 0x9D01, - 22641: 0x9D02, - 22642: 0x9D03, - 22643: 0x9D04, - 22644: 0x9D05, - 22645: 0x9D06, - 22646: 0x9D07, - 22647: 0x9D08, - 22648: 0x9D09, - 22649: 0x9D0A, - 22650: 0x9D0B, - 22651: 0x9D0C, - 22652: 0x9D0D, - 22653: 0x9D0E, - 22654: 0x9D0F, - 22655: 0x9D10, - 22656: 0x9D11, - 22657: 0x9D12, - 22658: 0x9D13, - 22659: 0x9D14, - 22660: 0x9D15, - 22661: 0x9D16, - 22662: 0x9D17, - 22663: 0x9D18, - 22664: 0x9D19, - 22665: 0x9D1A, - 22666: 0x9D1B, - 22667: 0x9D1C, - 22668: 0x9D1D, - 22669: 0x9D1E, - 22670: 0x9D1F, - 22671: 0x9D20, - 22672: 0x9D21, - 22673: 0x9D22, - 22674: 0x9D23, - 22675: 0x9D24, - 22676: 0x9D25, - 22677: 0x9D26, - 22678: 0x9D27, - 22679: 0x9D28, - 22680: 0x9D29, - 22681: 0x9D2A, - 22682: 0x9D2B, - 22683: 0x9D2C, - 22684: 0x9D2D, - 22685: 0x9D2E, - 22686: 0x9D2F, - 22687: 0x9D30, - 22688: 0x9D31, - 22689: 0x9D32, - 22690: 0x9D33, - 22691: 0x9D34, - 22692: 0x9D35, - 22693: 0x9D36, - 22694: 0x9D37, - 22695: 0x9D38, - 22696: 0x9D39, - 22697: 0x9D3A, - 22698: 0x9D3B, - 22699: 0x9D3C, - 22700: 0x9D3D, - 22701: 0x9D3E, - 22702: 0x9D3F, - 22703: 0x9D40, - 22704: 0x9D41, - 22705: 0x9D42, - 22800: 0x9D43, - 22801: 0x9D44, - 22802: 0x9D45, - 22803: 0x9D46, - 22804: 0x9D47, - 22805: 0x9D48, - 22806: 0x9D49, - 22807: 0x9D4A, - 22808: 0x9D4B, - 22809: 0x9D4C, - 22810: 0x9D4D, - 22811: 0x9D4E, - 22812: 0x9D4F, - 22813: 0x9D50, - 22814: 0x9D51, - 22815: 0x9D52, - 22816: 0x9D53, - 22817: 0x9D54, - 22818: 0x9D55, - 22819: 0x9D56, - 22820: 0x9D57, - 22821: 0x9D58, - 22822: 0x9D59, - 22823: 0x9D5A, - 22824: 0x9D5B, - 22825: 0x9D5C, - 22826: 0x9D5D, - 22827: 0x9D5E, - 22828: 0x9D5F, - 22829: 0x9D60, - 22830: 0x9D61, - 22831: 0x9D62, - 22832: 0x9D63, - 22833: 0x9D64, - 22834: 0x9D65, - 22835: 0x9D66, - 22836: 0x9D67, - 22837: 0x9D68, - 22838: 0x9D69, - 22839: 0x9D6A, - 22840: 0x9D6B, - 22841: 0x9D6C, - 22842: 0x9D6D, - 22843: 0x9D6E, - 22844: 0x9D6F, - 22845: 0x9D70, - 22846: 0x9D71, - 22847: 0x9D72, - 22848: 0x9D73, - 22849: 0x9D74, - 22850: 0x9D75, - 22851: 0x9D76, - 22852: 0x9D77, - 22853: 0x9D78, - 22854: 0x9D79, - 22855: 0x9D7A, - 22856: 0x9D7B, - 22857: 0x9D7C, - 22858: 0x9D7D, - 22859: 0x9D7E, - 22860: 0x9D7F, - 22861: 0x9D80, - 22862: 0x9D81, - 22863: 0x9D82, - 22864: 0x9D83, - 22865: 0x9D84, - 22866: 0x9D85, - 22867: 0x9D86, - 22868: 0x9D87, - 22869: 0x9D88, - 22870: 0x9D89, - 22871: 0x9D8A, - 22872: 0x9D8B, - 22873: 0x9D8C, - 22874: 0x9D8D, - 22875: 0x9D8E, - 22876: 0x9D8F, - 22877: 0x9D90, - 22878: 0x9D91, - 22879: 0x9D92, - 22880: 0x9D93, - 22881: 0x9D94, - 22882: 0x9D95, - 22883: 0x9D96, - 22884: 0x9D97, - 22885: 0x9D98, - 22886: 0x9D99, - 22887: 0x9D9A, - 22888: 0x9D9B, - 22889: 0x9D9C, - 22890: 0x9D9D, - 22891: 0x9D9E, - 22892: 0x9D9F, - 22893: 0x9DA0, - 22894: 0x9DA1, - 22895: 0x9DA2, - 22990: 0x9DA3, - 22991: 0x9DA4, - 22992: 0x9DA5, - 22993: 0x9DA6, - 22994: 0x9DA7, - 22995: 0x9DA8, - 22996: 0x9DA9, - 22997: 0x9DAA, - 22998: 0x9DAB, - 22999: 0x9DAC, - 23000: 0x9DAD, - 23001: 0x9DAE, - 23002: 0x9DAF, - 23003: 0x9DB0, - 23004: 0x9DB1, - 23005: 0x9DB2, - 23006: 0x9DB3, - 23007: 0x9DB4, - 23008: 0x9DB5, - 23009: 0x9DB6, - 23010: 0x9DB7, - 23011: 0x9DB8, - 23012: 0x9DB9, - 23013: 0x9DBA, - 23014: 0x9DBB, - 23015: 0x9DBC, - 23016: 0x9DBD, - 23017: 0x9DBE, - 23018: 0x9DBF, - 23019: 0x9DC0, - 23020: 0x9DC1, - 23021: 0x9DC2, - 23022: 0x9DC3, - 23023: 0x9DC4, - 23024: 0x9DC5, - 23025: 0x9DC6, - 23026: 0x9DC7, - 23027: 0x9DC8, - 23028: 0x9DC9, - 23029: 0x9DCA, - 23030: 0x9DCB, - 23031: 0x9DCC, - 23032: 0x9DCD, - 23033: 0x9DCE, - 23034: 0x9DCF, - 23035: 0x9DD0, - 23036: 0x9DD1, - 23037: 0x9DD2, - 23038: 0x9DD3, - 23039: 0x9DD4, - 23040: 0x9DD5, - 23041: 0x9DD6, - 23042: 0x9DD7, - 23043: 0x9DD8, - 23044: 0x9DD9, - 23045: 0x9DDA, - 23046: 0x9DDB, - 23047: 0x9DDC, - 23048: 0x9DDD, - 23049: 0x9DDE, - 23050: 0x9DDF, - 23051: 0x9DE0, - 23052: 0x9DE1, - 23053: 0x9DE2, - 23054: 0x9DE3, - 23055: 0x9DE4, - 23056: 0x9DE5, - 23057: 0x9DE6, - 23058: 0x9DE7, - 23059: 0x9DE8, - 23060: 0x9DE9, - 23061: 0x9DEA, - 23062: 0x9DEB, - 23063: 0x9DEC, - 23064: 0x9DED, - 23065: 0x9DEE, - 23066: 0x9DEF, - 23067: 0x9DF0, - 23068: 0x9DF1, - 23069: 0x9DF2, - 23070: 0x9DF3, - 23071: 0x9DF4, - 23072: 0x9DF5, - 23073: 0x9DF6, - 23074: 0x9DF7, - 23075: 0x9DF8, - 23076: 0x9DF9, - 23077: 0x9DFA, - 23078: 0x9DFB, - 23079: 0x9DFC, - 23080: 0x9DFD, - 23081: 0x9DFE, - 23082: 0x9DFF, - 23083: 0x9E00, - 23084: 0x9E01, - 23085: 0x9E02, - 23180: 0x9E03, - 23181: 0x9E04, - 23182: 0x9E05, - 23183: 0x9E06, - 23184: 0x9E07, - 23185: 0x9E08, - 23186: 0x9E09, - 23187: 0x9E0A, - 23188: 0x9E0B, - 23189: 0x9E0C, - 23190: 0x9E0D, - 23191: 0x9E0E, - 23192: 0x9E0F, - 23193: 0x9E10, - 23194: 0x9E11, - 23195: 0x9E12, - 23196: 0x9E13, - 23197: 0x9E14, - 23198: 0x9E15, - 23199: 0x9E16, - 23200: 0x9E17, - 23201: 0x9E18, - 23202: 0x9E19, - 23203: 0x9E1A, - 23204: 0x9E1B, - 23205: 0x9E1C, - 23206: 0x9E1D, - 23207: 0x9E1E, - 23208: 0x9E24, - 23209: 0x9E27, - 23210: 0x9E2E, - 23211: 0x9E30, - 23212: 0x9E34, - 23213: 0x9E3B, - 23214: 0x9E3C, - 23215: 0x9E40, - 23216: 0x9E4D, - 23217: 0x9E50, - 23218: 0x9E52, - 23219: 0x9E53, - 23220: 0x9E54, - 23221: 0x9E56, - 23222: 0x9E59, - 23223: 0x9E5D, - 23224: 0x9E5F, - 23225: 0x9E60, - 23226: 0x9E61, - 23227: 0x9E62, - 23228: 0x9E65, - 23229: 0x9E6E, - 23230: 0x9E6F, - 23231: 0x9E72, - 23232: 0x9E74, - 23233: 0x9E75, - 23234: 0x9E76, - 23235: 0x9E77, - 23236: 0x9E78, - 23237: 0x9E79, - 23238: 0x9E7A, - 23239: 0x9E7B, - 23240: 0x9E7C, - 23241: 0x9E7D, - 23242: 0x9E80, - 23243: 0x9E81, - 23244: 0x9E83, - 23245: 0x9E84, - 23246: 0x9E85, - 23247: 0x9E86, - 23248: 0x9E89, - 23249: 0x9E8A, - 23250: 0x9E8C, - 23251: 0x9E8D, - 23252: 0x9E8E, - 23253: 0x9E8F, - 23254: 0x9E90, - 23255: 0x9E91, - 23256: 0x9E94, - 23257: 0x9E95, - 23258: 0x9E96, - 23259: 0x9E97, - 23260: 0x9E98, - 23261: 0x9E99, - 23262: 0x9E9A, - 23263: 0x9E9B, - 23264: 0x9E9C, - 23265: 0x9E9E, - 23266: 0x9EA0, - 23267: 0x9EA1, - 23268: 0x9EA2, - 23269: 0x9EA3, - 23270: 0x9EA4, - 23271: 0x9EA5, - 23272: 0x9EA7, - 23273: 0x9EA8, - 23274: 0x9EA9, - 23275: 0x9EAA, - 23370: 0x9EAB, - 23371: 0x9EAC, - 23372: 0x9EAD, - 23373: 0x9EAE, - 23374: 0x9EAF, - 23375: 0x9EB0, - 23376: 0x9EB1, - 23377: 0x9EB2, - 23378: 0x9EB3, - 23379: 0x9EB5, - 23380: 0x9EB6, - 23381: 0x9EB7, - 23382: 0x9EB9, - 23383: 0x9EBA, - 23384: 0x9EBC, - 23385: 0x9EBF, - 23386: 0x9EC0, - 23387: 0x9EC1, - 23388: 0x9EC2, - 23389: 0x9EC3, - 23390: 0x9EC5, - 23391: 0x9EC6, - 23392: 0x9EC7, - 23393: 0x9EC8, - 23394: 0x9ECA, - 23395: 0x9ECB, - 23396: 0x9ECC, - 23397: 0x9ED0, - 23398: 0x9ED2, - 23399: 0x9ED3, - 23400: 0x9ED5, - 23401: 0x9ED6, - 23402: 0x9ED7, - 23403: 0x9ED9, - 23404: 0x9EDA, - 23405: 0x9EDE, - 23406: 0x9EE1, - 23407: 0x9EE3, - 23408: 0x9EE4, - 23409: 0x9EE6, - 23410: 0x9EE8, - 23411: 0x9EEB, - 23412: 0x9EEC, - 23413: 0x9EED, - 23414: 0x9EEE, - 23415: 0x9EF0, - 23416: 0x9EF1, - 23417: 0x9EF2, - 23418: 0x9EF3, - 23419: 0x9EF4, - 23420: 0x9EF5, - 23421: 0x9EF6, - 23422: 0x9EF7, - 23423: 0x9EF8, - 23424: 0x9EFA, - 23425: 0x9EFD, - 23426: 0x9EFF, - 23427: 0x9F00, - 23428: 0x9F01, - 23429: 0x9F02, - 23430: 0x9F03, - 23431: 0x9F04, - 23432: 0x9F05, - 23433: 0x9F06, - 23434: 0x9F07, - 23435: 0x9F08, - 23436: 0x9F09, - 23437: 0x9F0A, - 23438: 0x9F0C, - 23439: 0x9F0F, - 23440: 0x9F11, - 23441: 0x9F12, - 23442: 0x9F14, - 23443: 0x9F15, - 23444: 0x9F16, - 23445: 0x9F18, - 23446: 0x9F1A, - 23447: 0x9F1B, - 23448: 0x9F1C, - 23449: 0x9F1D, - 23450: 0x9F1E, - 23451: 0x9F1F, - 23452: 0x9F21, - 23453: 0x9F23, - 23454: 0x9F24, - 23455: 0x9F25, - 23456: 0x9F26, - 23457: 0x9F27, - 23458: 0x9F28, - 23459: 0x9F29, - 23460: 0x9F2A, - 23461: 0x9F2B, - 23462: 0x9F2D, - 23463: 0x9F2E, - 23464: 0x9F30, - 23465: 0x9F31, - 23560: 0x9F32, - 23561: 0x9F33, - 23562: 0x9F34, - 23563: 0x9F35, - 23564: 0x9F36, - 23565: 0x9F38, - 23566: 0x9F3A, - 23567: 0x9F3C, - 23568: 0x9F3F, - 23569: 0x9F40, - 23570: 0x9F41, - 23571: 0x9F42, - 23572: 0x9F43, - 23573: 0x9F45, - 23574: 0x9F46, - 23575: 0x9F47, - 23576: 0x9F48, - 23577: 0x9F49, - 23578: 0x9F4A, - 23579: 0x9F4B, - 23580: 0x9F4C, - 23581: 0x9F4D, - 23582: 0x9F4E, - 23583: 0x9F4F, - 23584: 0x9F52, - 23585: 0x9F53, - 23586: 0x9F54, - 23587: 0x9F55, - 23588: 0x9F56, - 23589: 0x9F57, - 23590: 0x9F58, - 23591: 0x9F59, - 23592: 0x9F5A, - 23593: 0x9F5B, - 23594: 0x9F5C, - 23595: 0x9F5D, - 23596: 0x9F5E, - 23597: 0x9F5F, - 23598: 0x9F60, - 23599: 0x9F61, - 23600: 0x9F62, - 23601: 0x9F63, - 23602: 0x9F64, - 23603: 0x9F65, - 23604: 0x9F66, - 23605: 0x9F67, - 23606: 0x9F68, - 23607: 0x9F69, - 23608: 0x9F6A, - 23609: 0x9F6B, - 23610: 0x9F6C, - 23611: 0x9F6D, - 23612: 0x9F6E, - 23613: 0x9F6F, - 23614: 0x9F70, - 23615: 0x9F71, - 23616: 0x9F72, - 23617: 0x9F73, - 23618: 0x9F74, - 23619: 0x9F75, - 23620: 0x9F76, - 23621: 0x9F77, - 23622: 0x9F78, - 23623: 0x9F79, - 23624: 0x9F7A, - 23625: 0x9F7B, - 23626: 0x9F7C, - 23627: 0x9F7D, - 23628: 0x9F7E, - 23629: 0x9F81, - 23630: 0x9F82, - 23631: 0x9F8D, - 23632: 0x9F8E, - 23633: 0x9F8F, - 23634: 0x9F90, - 23635: 0x9F91, - 23636: 0x9F92, - 23637: 0x9F93, - 23638: 0x9F94, - 23639: 0x9F95, - 23640: 0x9F96, - 23641: 0x9F97, - 23642: 0x9F98, - 23643: 0x9F9C, - 23644: 0x9F9D, - 23645: 0x9F9E, - 23646: 0x9FA1, - 23647: 0x9FA2, - 23648: 0x9FA3, - 23649: 0x9FA4, - 23650: 0x9FA5, - 23651: 0xF92C, - 23652: 0xF979, - 23653: 0xF995, - 23654: 0xF9E7, - 23655: 0xF9F1, - 23750: 0xFA0C, - 23751: 0xFA0D, - 23752: 0xFA0E, - 23753: 0xFA0F, - 23754: 0xFA11, - 23755: 0xFA13, - 23756: 0xFA14, - 23757: 0xFA18, - 23758: 0xFA1F, - 23759: 0xFA20, - 23760: 0xFA21, - 23761: 0xFA23, - 23762: 0xFA24, - 23763: 0xFA27, - 23764: 0xFA28, - 23765: 0xFA29, - 23766: 0x2E81, - 23770: 0x2E84, - 23771: 0x3473, - 23772: 0x3447, - 23773: 0x2E88, - 23774: 0x2E8B, - 23776: 0x359E, - 23777: 0x361A, - 23778: 0x360E, - 23779: 0x2E8C, - 23780: 0x2E97, - 23781: 0x396E, - 23782: 0x3918, - 23784: 0x39CF, - 23785: 0x39DF, - 23786: 0x3A73, - 23787: 0x39D0, - 23790: 0x3B4E, - 23791: 0x3C6E, - 23792: 0x3CE0, - 23793: 0x2EA7, - 23796: 0x2EAA, - 23797: 0x4056, - 23798: 0x415F, - 23799: 0x2EAE, - 23800: 0x4337, - 23801: 0x2EB3, - 23802: 0x2EB6, - 23803: 0x2EB7, - 23805: 0x43B1, - 23806: 0x43AC, - 23807: 0x2EBB, - 23808: 0x43DD, - 23809: 0x44D6, - 23810: 0x4661, - 23811: 0x464C, - 23813: 0x4723, - 23814: 0x4729, - 23815: 0x477C, - 23816: 0x478D, - 23817: 0x2ECA, - 23818: 0x4947, - 23819: 0x497A, - 23820: 0x497D, - 23821: 0x4982, - 23822: 0x4983, - 23823: 0x4985, - 23824: 0x4986, - 23825: 0x499F, - 23826: 0x499B, - 23827: 0x49B7, - 23828: 0x49B6, - 23831: 0x4CA3, - 23832: 0x4C9F, - 23833: 0x4CA0, - 23834: 0x4CA1, - 23835: 0x4C77, - 23836: 0x4CA2, - 23837: 0x4D13, - 23838: 0x4D14, - 23839: 0x4D15, - 23840: 0x4D16, - 23841: 0x4D17, - 23842: 0x4D18, - 23843: 0x4D19, - 23844: 0x4DAE, -} - -const numEncodeTables = 5 - -// encodeX are the encoding tables from Unicode to GBK code, -// sorted by decreasing length. -// encode0: 28965 entries for runes in [11905, 40870). -// encode1: 1587 entries for runes in [ 8208, 9795). -// encode2: 942 entries for runes in [ 164, 1106). -// encode3: 438 entries for runes in [65072, 65510). -// encode4: 254 entries for runes in [63788, 64042). - -const encode0Low, encode0High = 11905, 40870 - -var encode0 = [...]uint16{ - 11905 - 11905: 0xFE50, - 11908 - 11905: 0xFE54, - 11912 - 11905: 0xFE57, - 11915 - 11905: 0xFE58, - 11916 - 11905: 0xFE5D, - 11927 - 11905: 0xFE5E, - 11943 - 11905: 0xFE6B, - 11946 - 11905: 0xFE6E, - 11950 - 11905: 0xFE71, - 11955 - 11905: 0xFE73, - 11958 - 11905: 0xFE74, - 11959 - 11905: 0xFE75, - 11963 - 11905: 0xFE79, - 11978 - 11905: 0xFE84, - 12272 - 11905: 0xA98A, - 12273 - 11905: 0xA98B, - 12274 - 11905: 0xA98C, - 12275 - 11905: 0xA98D, - 12276 - 11905: 0xA98E, - 12277 - 11905: 0xA98F, - 12278 - 11905: 0xA990, - 12279 - 11905: 0xA991, - 12280 - 11905: 0xA992, - 12281 - 11905: 0xA993, - 12282 - 11905: 0xA994, - 12283 - 11905: 0xA995, - 12288 - 11905: 0xA1A1, - 12289 - 11905: 0xA1A2, - 12290 - 11905: 0xA1A3, - 12291 - 11905: 0xA1A8, - 12293 - 11905: 0xA1A9, - 12294 - 11905: 0xA965, - 12295 - 11905: 0xA996, - 12296 - 11905: 0xA1B4, - 12297 - 11905: 0xA1B5, - 12298 - 11905: 0xA1B6, - 12299 - 11905: 0xA1B7, - 12300 - 11905: 0xA1B8, - 12301 - 11905: 0xA1B9, - 12302 - 11905: 0xA1BA, - 12303 - 11905: 0xA1BB, - 12304 - 11905: 0xA1BE, - 12305 - 11905: 0xA1BF, - 12306 - 11905: 0xA893, - 12307 - 11905: 0xA1FE, - 12308 - 11905: 0xA1B2, - 12309 - 11905: 0xA1B3, - 12310 - 11905: 0xA1BC, - 12311 - 11905: 0xA1BD, - 12317 - 11905: 0xA894, - 12318 - 11905: 0xA895, - 12321 - 11905: 0xA940, - 12322 - 11905: 0xA941, - 12323 - 11905: 0xA942, - 12324 - 11905: 0xA943, - 12325 - 11905: 0xA944, - 12326 - 11905: 0xA945, - 12327 - 11905: 0xA946, - 12328 - 11905: 0xA947, - 12329 - 11905: 0xA948, - 12350 - 11905: 0xA989, - 12353 - 11905: 0xA4A1, - 12354 - 11905: 0xA4A2, - 12355 - 11905: 0xA4A3, - 12356 - 11905: 0xA4A4, - 12357 - 11905: 0xA4A5, - 12358 - 11905: 0xA4A6, - 12359 - 11905: 0xA4A7, - 12360 - 11905: 0xA4A8, - 12361 - 11905: 0xA4A9, - 12362 - 11905: 0xA4AA, - 12363 - 11905: 0xA4AB, - 12364 - 11905: 0xA4AC, - 12365 - 11905: 0xA4AD, - 12366 - 11905: 0xA4AE, - 12367 - 11905: 0xA4AF, - 12368 - 11905: 0xA4B0, - 12369 - 11905: 0xA4B1, - 12370 - 11905: 0xA4B2, - 12371 - 11905: 0xA4B3, - 12372 - 11905: 0xA4B4, - 12373 - 11905: 0xA4B5, - 12374 - 11905: 0xA4B6, - 12375 - 11905: 0xA4B7, - 12376 - 11905: 0xA4B8, - 12377 - 11905: 0xA4B9, - 12378 - 11905: 0xA4BA, - 12379 - 11905: 0xA4BB, - 12380 - 11905: 0xA4BC, - 12381 - 11905: 0xA4BD, - 12382 - 11905: 0xA4BE, - 12383 - 11905: 0xA4BF, - 12384 - 11905: 0xA4C0, - 12385 - 11905: 0xA4C1, - 12386 - 11905: 0xA4C2, - 12387 - 11905: 0xA4C3, - 12388 - 11905: 0xA4C4, - 12389 - 11905: 0xA4C5, - 12390 - 11905: 0xA4C6, - 12391 - 11905: 0xA4C7, - 12392 - 11905: 0xA4C8, - 12393 - 11905: 0xA4C9, - 12394 - 11905: 0xA4CA, - 12395 - 11905: 0xA4CB, - 12396 - 11905: 0xA4CC, - 12397 - 11905: 0xA4CD, - 12398 - 11905: 0xA4CE, - 12399 - 11905: 0xA4CF, - 12400 - 11905: 0xA4D0, - 12401 - 11905: 0xA4D1, - 12402 - 11905: 0xA4D2, - 12403 - 11905: 0xA4D3, - 12404 - 11905: 0xA4D4, - 12405 - 11905: 0xA4D5, - 12406 - 11905: 0xA4D6, - 12407 - 11905: 0xA4D7, - 12408 - 11905: 0xA4D8, - 12409 - 11905: 0xA4D9, - 12410 - 11905: 0xA4DA, - 12411 - 11905: 0xA4DB, - 12412 - 11905: 0xA4DC, - 12413 - 11905: 0xA4DD, - 12414 - 11905: 0xA4DE, - 12415 - 11905: 0xA4DF, - 12416 - 11905: 0xA4E0, - 12417 - 11905: 0xA4E1, - 12418 - 11905: 0xA4E2, - 12419 - 11905: 0xA4E3, - 12420 - 11905: 0xA4E4, - 12421 - 11905: 0xA4E5, - 12422 - 11905: 0xA4E6, - 12423 - 11905: 0xA4E7, - 12424 - 11905: 0xA4E8, - 12425 - 11905: 0xA4E9, - 12426 - 11905: 0xA4EA, - 12427 - 11905: 0xA4EB, - 12428 - 11905: 0xA4EC, - 12429 - 11905: 0xA4ED, - 12430 - 11905: 0xA4EE, - 12431 - 11905: 0xA4EF, - 12432 - 11905: 0xA4F0, - 12433 - 11905: 0xA4F1, - 12434 - 11905: 0xA4F2, - 12435 - 11905: 0xA4F3, - 12443 - 11905: 0xA961, - 12444 - 11905: 0xA962, - 12445 - 11905: 0xA966, - 12446 - 11905: 0xA967, - 12449 - 11905: 0xA5A1, - 12450 - 11905: 0xA5A2, - 12451 - 11905: 0xA5A3, - 12452 - 11905: 0xA5A4, - 12453 - 11905: 0xA5A5, - 12454 - 11905: 0xA5A6, - 12455 - 11905: 0xA5A7, - 12456 - 11905: 0xA5A8, - 12457 - 11905: 0xA5A9, - 12458 - 11905: 0xA5AA, - 12459 - 11905: 0xA5AB, - 12460 - 11905: 0xA5AC, - 12461 - 11905: 0xA5AD, - 12462 - 11905: 0xA5AE, - 12463 - 11905: 0xA5AF, - 12464 - 11905: 0xA5B0, - 12465 - 11905: 0xA5B1, - 12466 - 11905: 0xA5B2, - 12467 - 11905: 0xA5B3, - 12468 - 11905: 0xA5B4, - 12469 - 11905: 0xA5B5, - 12470 - 11905: 0xA5B6, - 12471 - 11905: 0xA5B7, - 12472 - 11905: 0xA5B8, - 12473 - 11905: 0xA5B9, - 12474 - 11905: 0xA5BA, - 12475 - 11905: 0xA5BB, - 12476 - 11905: 0xA5BC, - 12477 - 11905: 0xA5BD, - 12478 - 11905: 0xA5BE, - 12479 - 11905: 0xA5BF, - 12480 - 11905: 0xA5C0, - 12481 - 11905: 0xA5C1, - 12482 - 11905: 0xA5C2, - 12483 - 11905: 0xA5C3, - 12484 - 11905: 0xA5C4, - 12485 - 11905: 0xA5C5, - 12486 - 11905: 0xA5C6, - 12487 - 11905: 0xA5C7, - 12488 - 11905: 0xA5C8, - 12489 - 11905: 0xA5C9, - 12490 - 11905: 0xA5CA, - 12491 - 11905: 0xA5CB, - 12492 - 11905: 0xA5CC, - 12493 - 11905: 0xA5CD, - 12494 - 11905: 0xA5CE, - 12495 - 11905: 0xA5CF, - 12496 - 11905: 0xA5D0, - 12497 - 11905: 0xA5D1, - 12498 - 11905: 0xA5D2, - 12499 - 11905: 0xA5D3, - 12500 - 11905: 0xA5D4, - 12501 - 11905: 0xA5D5, - 12502 - 11905: 0xA5D6, - 12503 - 11905: 0xA5D7, - 12504 - 11905: 0xA5D8, - 12505 - 11905: 0xA5D9, - 12506 - 11905: 0xA5DA, - 12507 - 11905: 0xA5DB, - 12508 - 11905: 0xA5DC, - 12509 - 11905: 0xA5DD, - 12510 - 11905: 0xA5DE, - 12511 - 11905: 0xA5DF, - 12512 - 11905: 0xA5E0, - 12513 - 11905: 0xA5E1, - 12514 - 11905: 0xA5E2, - 12515 - 11905: 0xA5E3, - 12516 - 11905: 0xA5E4, - 12517 - 11905: 0xA5E5, - 12518 - 11905: 0xA5E6, - 12519 - 11905: 0xA5E7, - 12520 - 11905: 0xA5E8, - 12521 - 11905: 0xA5E9, - 12522 - 11905: 0xA5EA, - 12523 - 11905: 0xA5EB, - 12524 - 11905: 0xA5EC, - 12525 - 11905: 0xA5ED, - 12526 - 11905: 0xA5EE, - 12527 - 11905: 0xA5EF, - 12528 - 11905: 0xA5F0, - 12529 - 11905: 0xA5F1, - 12530 - 11905: 0xA5F2, - 12531 - 11905: 0xA5F3, - 12532 - 11905: 0xA5F4, - 12533 - 11905: 0xA5F5, - 12534 - 11905: 0xA5F6, - 12540 - 11905: 0xA960, - 12541 - 11905: 0xA963, - 12542 - 11905: 0xA964, - 12549 - 11905: 0xA8C5, - 12550 - 11905: 0xA8C6, - 12551 - 11905: 0xA8C7, - 12552 - 11905: 0xA8C8, - 12553 - 11905: 0xA8C9, - 12554 - 11905: 0xA8CA, - 12555 - 11905: 0xA8CB, - 12556 - 11905: 0xA8CC, - 12557 - 11905: 0xA8CD, - 12558 - 11905: 0xA8CE, - 12559 - 11905: 0xA8CF, - 12560 - 11905: 0xA8D0, - 12561 - 11905: 0xA8D1, - 12562 - 11905: 0xA8D2, - 12563 - 11905: 0xA8D3, - 12564 - 11905: 0xA8D4, - 12565 - 11905: 0xA8D5, - 12566 - 11905: 0xA8D6, - 12567 - 11905: 0xA8D7, - 12568 - 11905: 0xA8D8, - 12569 - 11905: 0xA8D9, - 12570 - 11905: 0xA8DA, - 12571 - 11905: 0xA8DB, - 12572 - 11905: 0xA8DC, - 12573 - 11905: 0xA8DD, - 12574 - 11905: 0xA8DE, - 12575 - 11905: 0xA8DF, - 12576 - 11905: 0xA8E0, - 12577 - 11905: 0xA8E1, - 12578 - 11905: 0xA8E2, - 12579 - 11905: 0xA8E3, - 12580 - 11905: 0xA8E4, - 12581 - 11905: 0xA8E5, - 12582 - 11905: 0xA8E6, - 12583 - 11905: 0xA8E7, - 12584 - 11905: 0xA8E8, - 12585 - 11905: 0xA8E9, - 12832 - 11905: 0xA2E5, - 12833 - 11905: 0xA2E6, - 12834 - 11905: 0xA2E7, - 12835 - 11905: 0xA2E8, - 12836 - 11905: 0xA2E9, - 12837 - 11905: 0xA2EA, - 12838 - 11905: 0xA2EB, - 12839 - 11905: 0xA2EC, - 12840 - 11905: 0xA2ED, - 12841 - 11905: 0xA2EE, - 12849 - 11905: 0xA95A, - 12963 - 11905: 0xA949, - 13198 - 11905: 0xA94A, - 13199 - 11905: 0xA94B, - 13212 - 11905: 0xA94C, - 13213 - 11905: 0xA94D, - 13214 - 11905: 0xA94E, - 13217 - 11905: 0xA94F, - 13252 - 11905: 0xA950, - 13262 - 11905: 0xA951, - 13265 - 11905: 0xA952, - 13266 - 11905: 0xA953, - 13269 - 11905: 0xA954, - 13383 - 11905: 0xFE56, - 13427 - 11905: 0xFE55, - 13726 - 11905: 0xFE5A, - 13838 - 11905: 0xFE5C, - 13850 - 11905: 0xFE5B, - 14616 - 11905: 0xFE60, - 14702 - 11905: 0xFE5F, - 14799 - 11905: 0xFE62, - 14800 - 11905: 0xFE65, - 14815 - 11905: 0xFE63, - 14963 - 11905: 0xFE64, - 15182 - 11905: 0xFE68, - 15470 - 11905: 0xFE69, - 15584 - 11905: 0xFE6A, - 16470 - 11905: 0xFE6F, - 16735 - 11905: 0xFE70, - 17207 - 11905: 0xFE72, - 17324 - 11905: 0xFE78, - 17329 - 11905: 0xFE77, - 17373 - 11905: 0xFE7A, - 17622 - 11905: 0xFE7B, - 17996 - 11905: 0xFE7D, - 18017 - 11905: 0xFE7C, - 18211 - 11905: 0xFE80, - 18217 - 11905: 0xFE81, - 18300 - 11905: 0xFE82, - 18317 - 11905: 0xFE83, - 18759 - 11905: 0xFE85, - 18810 - 11905: 0xFE86, - 18813 - 11905: 0xFE87, - 18818 - 11905: 0xFE88, - 18819 - 11905: 0xFE89, - 18821 - 11905: 0xFE8A, - 18822 - 11905: 0xFE8B, - 18843 - 11905: 0xFE8D, - 18847 - 11905: 0xFE8C, - 18870 - 11905: 0xFE8F, - 18871 - 11905: 0xFE8E, - 19575 - 11905: 0xFE96, - 19615 - 11905: 0xFE93, - 19616 - 11905: 0xFE94, - 19617 - 11905: 0xFE95, - 19618 - 11905: 0xFE97, - 19619 - 11905: 0xFE92, - 19731 - 11905: 0xFE98, - 19732 - 11905: 0xFE99, - 19733 - 11905: 0xFE9A, - 19734 - 11905: 0xFE9B, - 19735 - 11905: 0xFE9C, - 19736 - 11905: 0xFE9D, - 19737 - 11905: 0xFE9E, - 19886 - 11905: 0xFE9F, - 19968 - 11905: 0xD2BB, - 19969 - 11905: 0xB6A1, - 19970 - 11905: 0x8140, - 19971 - 11905: 0xC6DF, - 19972 - 11905: 0x8141, - 19973 - 11905: 0x8142, - 19974 - 11905: 0x8143, - 19975 - 11905: 0xCDF2, - 19976 - 11905: 0xD5C9, - 19977 - 11905: 0xC8FD, - 19978 - 11905: 0xC9CF, - 19979 - 11905: 0xCFC2, - 19980 - 11905: 0xD8A2, - 19981 - 11905: 0xB2BB, - 19982 - 11905: 0xD3EB, - 19983 - 11905: 0x8144, - 19984 - 11905: 0xD8A4, - 19985 - 11905: 0xB3F3, - 19986 - 11905: 0x8145, - 19987 - 11905: 0xD7A8, - 19988 - 11905: 0xC7D2, - 19989 - 11905: 0xD8A7, - 19990 - 11905: 0xCAC0, - 19991 - 11905: 0x8146, - 19992 - 11905: 0xC7F0, - 19993 - 11905: 0xB1FB, - 19994 - 11905: 0xD2B5, - 19995 - 11905: 0xB4D4, - 19996 - 11905: 0xB6AB, - 19997 - 11905: 0xCBBF, - 19998 - 11905: 0xD8A9, - 19999 - 11905: 0x8147, - 20000 - 11905: 0x8148, - 20001 - 11905: 0x8149, - 20002 - 11905: 0xB6AA, - 20003 - 11905: 0x814A, - 20004 - 11905: 0xC1BD, - 20005 - 11905: 0xD1CF, - 20006 - 11905: 0x814B, - 20007 - 11905: 0xC9A5, - 20008 - 11905: 0xD8AD, - 20009 - 11905: 0x814C, - 20010 - 11905: 0xB8F6, - 20011 - 11905: 0xD1BE, - 20012 - 11905: 0xE3DC, - 20013 - 11905: 0xD6D0, - 20014 - 11905: 0x814D, - 20015 - 11905: 0x814E, - 20016 - 11905: 0xB7E1, - 20017 - 11905: 0x814F, - 20018 - 11905: 0xB4AE, - 20019 - 11905: 0x8150, - 20020 - 11905: 0xC1D9, - 20021 - 11905: 0x8151, - 20022 - 11905: 0xD8BC, - 20023 - 11905: 0x8152, - 20024 - 11905: 0xCDE8, - 20025 - 11905: 0xB5A4, - 20026 - 11905: 0xCEAA, - 20027 - 11905: 0xD6F7, - 20028 - 11905: 0x8153, - 20029 - 11905: 0xC0F6, - 20030 - 11905: 0xBED9, - 20031 - 11905: 0xD8AF, - 20032 - 11905: 0x8154, - 20033 - 11905: 0x8155, - 20034 - 11905: 0x8156, - 20035 - 11905: 0xC4CB, - 20036 - 11905: 0x8157, - 20037 - 11905: 0xBEC3, - 20038 - 11905: 0x8158, - 20039 - 11905: 0xD8B1, - 20040 - 11905: 0xC3B4, - 20041 - 11905: 0xD2E5, - 20042 - 11905: 0x8159, - 20043 - 11905: 0xD6AE, - 20044 - 11905: 0xCEDA, - 20045 - 11905: 0xD5A7, - 20046 - 11905: 0xBAF5, - 20047 - 11905: 0xB7A6, - 20048 - 11905: 0xC0D6, - 20049 - 11905: 0x815A, - 20050 - 11905: 0xC6B9, - 20051 - 11905: 0xC5D2, - 20052 - 11905: 0xC7C7, - 20053 - 11905: 0x815B, - 20054 - 11905: 0xB9D4, - 20055 - 11905: 0x815C, - 20056 - 11905: 0xB3CB, - 20057 - 11905: 0xD2D2, - 20058 - 11905: 0x815D, - 20059 - 11905: 0x815E, - 20060 - 11905: 0xD8BF, - 20061 - 11905: 0xBEC5, - 20062 - 11905: 0xC6F2, - 20063 - 11905: 0xD2B2, - 20064 - 11905: 0xCFB0, - 20065 - 11905: 0xCFE7, - 20066 - 11905: 0x815F, - 20067 - 11905: 0x8160, - 20068 - 11905: 0x8161, - 20069 - 11905: 0x8162, - 20070 - 11905: 0xCAE9, - 20071 - 11905: 0x8163, - 20072 - 11905: 0x8164, - 20073 - 11905: 0xD8C0, - 20074 - 11905: 0x8165, - 20075 - 11905: 0x8166, - 20076 - 11905: 0x8167, - 20077 - 11905: 0x8168, - 20078 - 11905: 0x8169, - 20079 - 11905: 0x816A, - 20080 - 11905: 0xC2F2, - 20081 - 11905: 0xC2D2, - 20082 - 11905: 0x816B, - 20083 - 11905: 0xC8E9, - 20084 - 11905: 0x816C, - 20085 - 11905: 0x816D, - 20086 - 11905: 0x816E, - 20087 - 11905: 0x816F, - 20088 - 11905: 0x8170, - 20089 - 11905: 0x8171, - 20090 - 11905: 0x8172, - 20091 - 11905: 0x8173, - 20092 - 11905: 0x8174, - 20093 - 11905: 0x8175, - 20094 - 11905: 0xC7AC, - 20095 - 11905: 0x8176, - 20096 - 11905: 0x8177, - 20097 - 11905: 0x8178, - 20098 - 11905: 0x8179, - 20099 - 11905: 0x817A, - 20100 - 11905: 0x817B, - 20101 - 11905: 0x817C, - 20102 - 11905: 0xC1CB, - 20103 - 11905: 0x817D, - 20104 - 11905: 0xD3E8, - 20105 - 11905: 0xD5F9, - 20106 - 11905: 0x817E, - 20107 - 11905: 0xCAC2, - 20108 - 11905: 0xB6FE, - 20109 - 11905: 0xD8A1, - 20110 - 11905: 0xD3DA, - 20111 - 11905: 0xBFF7, - 20112 - 11905: 0x8180, - 20113 - 11905: 0xD4C6, - 20114 - 11905: 0xBBA5, - 20115 - 11905: 0xD8C1, - 20116 - 11905: 0xCEE5, - 20117 - 11905: 0xBEAE, - 20118 - 11905: 0x8181, - 20119 - 11905: 0x8182, - 20120 - 11905: 0xD8A8, - 20121 - 11905: 0x8183, - 20122 - 11905: 0xD1C7, - 20123 - 11905: 0xD0A9, - 20124 - 11905: 0x8184, - 20125 - 11905: 0x8185, - 20126 - 11905: 0x8186, - 20127 - 11905: 0xD8BD, - 20128 - 11905: 0xD9EF, - 20129 - 11905: 0xCDF6, - 20130 - 11905: 0xBFBA, - 20131 - 11905: 0x8187, - 20132 - 11905: 0xBDBB, - 20133 - 11905: 0xBAA5, - 20134 - 11905: 0xD2E0, - 20135 - 11905: 0xB2FA, - 20136 - 11905: 0xBAE0, - 20137 - 11905: 0xC4B6, - 20138 - 11905: 0x8188, - 20139 - 11905: 0xCFED, - 20140 - 11905: 0xBEA9, - 20141 - 11905: 0xCDA4, - 20142 - 11905: 0xC1C1, - 20143 - 11905: 0x8189, - 20144 - 11905: 0x818A, - 20145 - 11905: 0x818B, - 20146 - 11905: 0xC7D7, - 20147 - 11905: 0xD9F1, - 20148 - 11905: 0x818C, - 20149 - 11905: 0xD9F4, - 20150 - 11905: 0x818D, - 20151 - 11905: 0x818E, - 20152 - 11905: 0x818F, - 20153 - 11905: 0x8190, - 20154 - 11905: 0xC8CB, - 20155 - 11905: 0xD8E9, - 20156 - 11905: 0x8191, - 20157 - 11905: 0x8192, - 20158 - 11905: 0x8193, - 20159 - 11905: 0xD2DA, - 20160 - 11905: 0xCAB2, - 20161 - 11905: 0xC8CA, - 20162 - 11905: 0xD8EC, - 20163 - 11905: 0xD8EA, - 20164 - 11905: 0xD8C6, - 20165 - 11905: 0xBDF6, - 20166 - 11905: 0xC6CD, - 20167 - 11905: 0xB3F0, - 20168 - 11905: 0x8194, - 20169 - 11905: 0xD8EB, - 20170 - 11905: 0xBDF1, - 20171 - 11905: 0xBDE9, - 20172 - 11905: 0x8195, - 20173 - 11905: 0xC8D4, - 20174 - 11905: 0xB4D3, - 20175 - 11905: 0x8196, - 20176 - 11905: 0x8197, - 20177 - 11905: 0xC2D8, - 20178 - 11905: 0x8198, - 20179 - 11905: 0xB2D6, - 20180 - 11905: 0xD7D0, - 20181 - 11905: 0xCACB, - 20182 - 11905: 0xCBFB, - 20183 - 11905: 0xD5CC, - 20184 - 11905: 0xB8B6, - 20185 - 11905: 0xCFC9, - 20186 - 11905: 0x8199, - 20187 - 11905: 0x819A, - 20188 - 11905: 0x819B, - 20189 - 11905: 0xD9DA, - 20190 - 11905: 0xD8F0, - 20191 - 11905: 0xC7AA, - 20192 - 11905: 0x819C, - 20193 - 11905: 0xD8EE, - 20194 - 11905: 0x819D, - 20195 - 11905: 0xB4FA, - 20196 - 11905: 0xC1EE, - 20197 - 11905: 0xD2D4, - 20198 - 11905: 0x819E, - 20199 - 11905: 0x819F, - 20200 - 11905: 0xD8ED, - 20201 - 11905: 0x81A0, - 20202 - 11905: 0xD2C7, - 20203 - 11905: 0xD8EF, - 20204 - 11905: 0xC3C7, - 20205 - 11905: 0x81A1, - 20206 - 11905: 0x81A2, - 20207 - 11905: 0x81A3, - 20208 - 11905: 0xD1F6, - 20209 - 11905: 0x81A4, - 20210 - 11905: 0xD6D9, - 20211 - 11905: 0xD8F2, - 20212 - 11905: 0x81A5, - 20213 - 11905: 0xD8F5, - 20214 - 11905: 0xBCFE, - 20215 - 11905: 0xBCDB, - 20216 - 11905: 0x81A6, - 20217 - 11905: 0x81A7, - 20218 - 11905: 0x81A8, - 20219 - 11905: 0xC8CE, - 20220 - 11905: 0x81A9, - 20221 - 11905: 0xB7DD, - 20222 - 11905: 0x81AA, - 20223 - 11905: 0xB7C2, - 20224 - 11905: 0x81AB, - 20225 - 11905: 0xC6F3, - 20226 - 11905: 0x81AC, - 20227 - 11905: 0x81AD, - 20228 - 11905: 0x81AE, - 20229 - 11905: 0x81AF, - 20230 - 11905: 0x81B0, - 20231 - 11905: 0x81B1, - 20232 - 11905: 0x81B2, - 20233 - 11905: 0xD8F8, - 20234 - 11905: 0xD2C1, - 20235 - 11905: 0x81B3, - 20236 - 11905: 0x81B4, - 20237 - 11905: 0xCEE9, - 20238 - 11905: 0xBCBF, - 20239 - 11905: 0xB7FC, - 20240 - 11905: 0xB7A5, - 20241 - 11905: 0xD0DD, - 20242 - 11905: 0x81B5, - 20243 - 11905: 0x81B6, - 20244 - 11905: 0x81B7, - 20245 - 11905: 0x81B8, - 20246 - 11905: 0x81B9, - 20247 - 11905: 0xD6DA, - 20248 - 11905: 0xD3C5, - 20249 - 11905: 0xBBEF, - 20250 - 11905: 0xBBE1, - 20251 - 11905: 0xD8F1, - 20252 - 11905: 0x81BA, - 20253 - 11905: 0x81BB, - 20254 - 11905: 0xC9A1, - 20255 - 11905: 0xCEB0, - 20256 - 11905: 0xB4AB, - 20257 - 11905: 0x81BC, - 20258 - 11905: 0xD8F3, - 20259 - 11905: 0x81BD, - 20260 - 11905: 0xC9CB, - 20261 - 11905: 0xD8F6, - 20262 - 11905: 0xC2D7, - 20263 - 11905: 0xD8F7, - 20264 - 11905: 0x81BE, - 20265 - 11905: 0x81BF, - 20266 - 11905: 0xCEB1, - 20267 - 11905: 0xD8F9, - 20268 - 11905: 0x81C0, - 20269 - 11905: 0x81C1, - 20270 - 11905: 0x81C2, - 20271 - 11905: 0xB2AE, - 20272 - 11905: 0xB9C0, - 20273 - 11905: 0x81C3, - 20274 - 11905: 0xD9A3, - 20275 - 11905: 0x81C4, - 20276 - 11905: 0xB0E9, - 20277 - 11905: 0x81C5, - 20278 - 11905: 0xC1E6, - 20279 - 11905: 0x81C6, - 20280 - 11905: 0xC9EC, - 20281 - 11905: 0x81C7, - 20282 - 11905: 0xCBC5, - 20283 - 11905: 0x81C8, - 20284 - 11905: 0xCBC6, - 20285 - 11905: 0xD9A4, - 20286 - 11905: 0x81C9, - 20287 - 11905: 0x81CA, - 20288 - 11905: 0x81CB, - 20289 - 11905: 0x81CC, - 20290 - 11905: 0x81CD, - 20291 - 11905: 0xB5E8, - 20292 - 11905: 0x81CE, - 20293 - 11905: 0x81CF, - 20294 - 11905: 0xB5AB, - 20295 - 11905: 0x81D0, - 20296 - 11905: 0x81D1, - 20297 - 11905: 0x81D2, - 20298 - 11905: 0x81D3, - 20299 - 11905: 0x81D4, - 20300 - 11905: 0x81D5, - 20301 - 11905: 0xCEBB, - 20302 - 11905: 0xB5CD, - 20303 - 11905: 0xD7A1, - 20304 - 11905: 0xD7F4, - 20305 - 11905: 0xD3D3, - 20306 - 11905: 0x81D6, - 20307 - 11905: 0xCCE5, - 20308 - 11905: 0x81D7, - 20309 - 11905: 0xBACE, - 20310 - 11905: 0x81D8, - 20311 - 11905: 0xD9A2, - 20312 - 11905: 0xD9DC, - 20313 - 11905: 0xD3E0, - 20314 - 11905: 0xD8FD, - 20315 - 11905: 0xB7F0, - 20316 - 11905: 0xD7F7, - 20317 - 11905: 0xD8FE, - 20318 - 11905: 0xD8FA, - 20319 - 11905: 0xD9A1, - 20320 - 11905: 0xC4E3, - 20321 - 11905: 0x81D9, - 20322 - 11905: 0x81DA, - 20323 - 11905: 0xD3B6, - 20324 - 11905: 0xD8F4, - 20325 - 11905: 0xD9DD, - 20326 - 11905: 0x81DB, - 20327 - 11905: 0xD8FB, - 20328 - 11905: 0x81DC, - 20329 - 11905: 0xC5E5, - 20330 - 11905: 0x81DD, - 20331 - 11905: 0x81DE, - 20332 - 11905: 0xC0D0, - 20333 - 11905: 0x81DF, - 20334 - 11905: 0x81E0, - 20335 - 11905: 0xD1F0, - 20336 - 11905: 0xB0DB, - 20337 - 11905: 0x81E1, - 20338 - 11905: 0x81E2, - 20339 - 11905: 0xBCD1, - 20340 - 11905: 0xD9A6, - 20341 - 11905: 0x81E3, - 20342 - 11905: 0xD9A5, - 20343 - 11905: 0x81E4, - 20344 - 11905: 0x81E5, - 20345 - 11905: 0x81E6, - 20346 - 11905: 0x81E7, - 20347 - 11905: 0xD9AC, - 20348 - 11905: 0xD9AE, - 20349 - 11905: 0x81E8, - 20350 - 11905: 0xD9AB, - 20351 - 11905: 0xCAB9, - 20352 - 11905: 0x81E9, - 20353 - 11905: 0x81EA, - 20354 - 11905: 0x81EB, - 20355 - 11905: 0xD9A9, - 20356 - 11905: 0xD6B6, - 20357 - 11905: 0x81EC, - 20358 - 11905: 0x81ED, - 20359 - 11905: 0x81EE, - 20360 - 11905: 0xB3DE, - 20361 - 11905: 0xD9A8, - 20362 - 11905: 0x81EF, - 20363 - 11905: 0xC0FD, - 20364 - 11905: 0x81F0, - 20365 - 11905: 0xCACC, - 20366 - 11905: 0x81F1, - 20367 - 11905: 0xD9AA, - 20368 - 11905: 0x81F2, - 20369 - 11905: 0xD9A7, - 20370 - 11905: 0x81F3, - 20371 - 11905: 0x81F4, - 20372 - 11905: 0xD9B0, - 20373 - 11905: 0x81F5, - 20374 - 11905: 0x81F6, - 20375 - 11905: 0xB6B1, - 20376 - 11905: 0x81F7, - 20377 - 11905: 0x81F8, - 20378 - 11905: 0x81F9, - 20379 - 11905: 0xB9A9, - 20380 - 11905: 0x81FA, - 20381 - 11905: 0xD2C0, - 20382 - 11905: 0x81FB, - 20383 - 11905: 0x81FC, - 20384 - 11905: 0xCFC0, - 20385 - 11905: 0x81FD, - 20386 - 11905: 0x81FE, - 20387 - 11905: 0xC2C2, - 20388 - 11905: 0x8240, - 20389 - 11905: 0xBDC4, - 20390 - 11905: 0xD5EC, - 20391 - 11905: 0xB2E0, - 20392 - 11905: 0xC7C8, - 20393 - 11905: 0xBFEB, - 20394 - 11905: 0xD9AD, - 20395 - 11905: 0x8241, - 20396 - 11905: 0xD9AF, - 20397 - 11905: 0x8242, - 20398 - 11905: 0xCEEA, - 20399 - 11905: 0xBAEE, - 20400 - 11905: 0x8243, - 20401 - 11905: 0x8244, - 20402 - 11905: 0x8245, - 20403 - 11905: 0x8246, - 20404 - 11905: 0x8247, - 20405 - 11905: 0xC7D6, - 20406 - 11905: 0x8248, - 20407 - 11905: 0x8249, - 20408 - 11905: 0x824A, - 20409 - 11905: 0x824B, - 20410 - 11905: 0x824C, - 20411 - 11905: 0x824D, - 20412 - 11905: 0x824E, - 20413 - 11905: 0x824F, - 20414 - 11905: 0x8250, - 20415 - 11905: 0xB1E3, - 20416 - 11905: 0x8251, - 20417 - 11905: 0x8252, - 20418 - 11905: 0x8253, - 20419 - 11905: 0xB4D9, - 20420 - 11905: 0xB6ED, - 20421 - 11905: 0xD9B4, - 20422 - 11905: 0x8254, - 20423 - 11905: 0x8255, - 20424 - 11905: 0x8256, - 20425 - 11905: 0x8257, - 20426 - 11905: 0xBFA1, - 20427 - 11905: 0x8258, - 20428 - 11905: 0x8259, - 20429 - 11905: 0x825A, - 20430 - 11905: 0xD9DE, - 20431 - 11905: 0xC7CE, - 20432 - 11905: 0xC0FE, - 20433 - 11905: 0xD9B8, - 20434 - 11905: 0x825B, - 20435 - 11905: 0x825C, - 20436 - 11905: 0x825D, - 20437 - 11905: 0x825E, - 20438 - 11905: 0x825F, - 20439 - 11905: 0xCBD7, - 20440 - 11905: 0xB7FD, - 20441 - 11905: 0x8260, - 20442 - 11905: 0xD9B5, - 20443 - 11905: 0x8261, - 20444 - 11905: 0xD9B7, - 20445 - 11905: 0xB1A3, - 20446 - 11905: 0xD3E1, - 20447 - 11905: 0xD9B9, - 20448 - 11905: 0x8262, - 20449 - 11905: 0xD0C5, - 20450 - 11905: 0x8263, - 20451 - 11905: 0xD9B6, - 20452 - 11905: 0x8264, - 20453 - 11905: 0x8265, - 20454 - 11905: 0xD9B1, - 20455 - 11905: 0x8266, - 20456 - 11905: 0xD9B2, - 20457 - 11905: 0xC1A9, - 20458 - 11905: 0xD9B3, - 20459 - 11905: 0x8267, - 20460 - 11905: 0x8268, - 20461 - 11905: 0xBCF3, - 20462 - 11905: 0xD0DE, - 20463 - 11905: 0xB8A9, - 20464 - 11905: 0x8269, - 20465 - 11905: 0xBEE3, - 20466 - 11905: 0x826A, - 20467 - 11905: 0xD9BD, - 20468 - 11905: 0x826B, - 20469 - 11905: 0x826C, - 20470 - 11905: 0x826D, - 20471 - 11905: 0x826E, - 20472 - 11905: 0xD9BA, - 20473 - 11905: 0x826F, - 20474 - 11905: 0xB0B3, - 20475 - 11905: 0x8270, - 20476 - 11905: 0x8271, - 20477 - 11905: 0x8272, - 20478 - 11905: 0xD9C2, - 20479 - 11905: 0x8273, - 20480 - 11905: 0x8274, - 20481 - 11905: 0x8275, - 20482 - 11905: 0x8276, - 20483 - 11905: 0x8277, - 20484 - 11905: 0x8278, - 20485 - 11905: 0x8279, - 20486 - 11905: 0x827A, - 20487 - 11905: 0x827B, - 20488 - 11905: 0x827C, - 20489 - 11905: 0x827D, - 20490 - 11905: 0x827E, - 20491 - 11905: 0x8280, - 20492 - 11905: 0xD9C4, - 20493 - 11905: 0xB1B6, - 20494 - 11905: 0x8281, - 20495 - 11905: 0xD9BF, - 20496 - 11905: 0x8282, - 20497 - 11905: 0x8283, - 20498 - 11905: 0xB5B9, - 20499 - 11905: 0x8284, - 20500 - 11905: 0xBEF3, - 20501 - 11905: 0x8285, - 20502 - 11905: 0x8286, - 20503 - 11905: 0x8287, - 20504 - 11905: 0xCCC8, - 20505 - 11905: 0xBAF2, - 20506 - 11905: 0xD2D0, - 20507 - 11905: 0x8288, - 20508 - 11905: 0xD9C3, - 20509 - 11905: 0x8289, - 20510 - 11905: 0x828A, - 20511 - 11905: 0xBDE8, - 20512 - 11905: 0x828B, - 20513 - 11905: 0xB3AB, - 20514 - 11905: 0x828C, - 20515 - 11905: 0x828D, - 20516 - 11905: 0x828E, - 20517 - 11905: 0xD9C5, - 20518 - 11905: 0xBEEB, - 20519 - 11905: 0x828F, - 20520 - 11905: 0xD9C6, - 20521 - 11905: 0xD9BB, - 20522 - 11905: 0xC4DF, - 20523 - 11905: 0x8290, - 20524 - 11905: 0xD9BE, - 20525 - 11905: 0xD9C1, - 20526 - 11905: 0xD9C0, - 20527 - 11905: 0x8291, - 20528 - 11905: 0x8292, - 20529 - 11905: 0x8293, - 20530 - 11905: 0x8294, - 20531 - 11905: 0x8295, - 20532 - 11905: 0x8296, - 20533 - 11905: 0x8297, - 20534 - 11905: 0x8298, - 20535 - 11905: 0x8299, - 20536 - 11905: 0x829A, - 20537 - 11905: 0x829B, - 20538 - 11905: 0xD5AE, - 20539 - 11905: 0x829C, - 20540 - 11905: 0xD6B5, - 20541 - 11905: 0x829D, - 20542 - 11905: 0xC7E3, - 20543 - 11905: 0x829E, - 20544 - 11905: 0x829F, - 20545 - 11905: 0x82A0, - 20546 - 11905: 0x82A1, - 20547 - 11905: 0xD9C8, - 20548 - 11905: 0x82A2, - 20549 - 11905: 0x82A3, - 20550 - 11905: 0x82A4, - 20551 - 11905: 0xBCD9, - 20552 - 11905: 0xD9CA, - 20553 - 11905: 0x82A5, - 20554 - 11905: 0x82A6, - 20555 - 11905: 0x82A7, - 20556 - 11905: 0xD9BC, - 20557 - 11905: 0x82A8, - 20558 - 11905: 0xD9CB, - 20559 - 11905: 0xC6AB, - 20560 - 11905: 0x82A9, - 20561 - 11905: 0x82AA, - 20562 - 11905: 0x82AB, - 20563 - 11905: 0x82AC, - 20564 - 11905: 0x82AD, - 20565 - 11905: 0xD9C9, - 20566 - 11905: 0x82AE, - 20567 - 11905: 0x82AF, - 20568 - 11905: 0x82B0, - 20569 - 11905: 0x82B1, - 20570 - 11905: 0xD7F6, - 20571 - 11905: 0x82B2, - 20572 - 11905: 0xCDA3, - 20573 - 11905: 0x82B3, - 20574 - 11905: 0x82B4, - 20575 - 11905: 0x82B5, - 20576 - 11905: 0x82B6, - 20577 - 11905: 0x82B7, - 20578 - 11905: 0x82B8, - 20579 - 11905: 0x82B9, - 20580 - 11905: 0x82BA, - 20581 - 11905: 0xBDA1, - 20582 - 11905: 0x82BB, - 20583 - 11905: 0x82BC, - 20584 - 11905: 0x82BD, - 20585 - 11905: 0x82BE, - 20586 - 11905: 0x82BF, - 20587 - 11905: 0x82C0, - 20588 - 11905: 0xD9CC, - 20589 - 11905: 0x82C1, - 20590 - 11905: 0x82C2, - 20591 - 11905: 0x82C3, - 20592 - 11905: 0x82C4, - 20593 - 11905: 0x82C5, - 20594 - 11905: 0x82C6, - 20595 - 11905: 0x82C7, - 20596 - 11905: 0x82C8, - 20597 - 11905: 0x82C9, - 20598 - 11905: 0xC5BC, - 20599 - 11905: 0xCDB5, - 20600 - 11905: 0x82CA, - 20601 - 11905: 0x82CB, - 20602 - 11905: 0x82CC, - 20603 - 11905: 0xD9CD, - 20604 - 11905: 0x82CD, - 20605 - 11905: 0x82CE, - 20606 - 11905: 0xD9C7, - 20607 - 11905: 0xB3A5, - 20608 - 11905: 0xBFFE, - 20609 - 11905: 0x82CF, - 20610 - 11905: 0x82D0, - 20611 - 11905: 0x82D1, - 20612 - 11905: 0x82D2, - 20613 - 11905: 0xB8B5, - 20614 - 11905: 0x82D3, - 20615 - 11905: 0x82D4, - 20616 - 11905: 0xC0FC, - 20617 - 11905: 0x82D5, - 20618 - 11905: 0x82D6, - 20619 - 11905: 0x82D7, - 20620 - 11905: 0x82D8, - 20621 - 11905: 0xB0F8, - 20622 - 11905: 0x82D9, - 20623 - 11905: 0x82DA, - 20624 - 11905: 0x82DB, - 20625 - 11905: 0x82DC, - 20626 - 11905: 0x82DD, - 20627 - 11905: 0x82DE, - 20628 - 11905: 0x82DF, - 20629 - 11905: 0x82E0, - 20630 - 11905: 0x82E1, - 20631 - 11905: 0x82E2, - 20632 - 11905: 0x82E3, - 20633 - 11905: 0x82E4, - 20634 - 11905: 0x82E5, - 20635 - 11905: 0x82E6, - 20636 - 11905: 0x82E7, - 20637 - 11905: 0x82E8, - 20638 - 11905: 0x82E9, - 20639 - 11905: 0x82EA, - 20640 - 11905: 0x82EB, - 20641 - 11905: 0x82EC, - 20642 - 11905: 0x82ED, - 20643 - 11905: 0xB4F6, - 20644 - 11905: 0x82EE, - 20645 - 11905: 0xD9CE, - 20646 - 11905: 0x82EF, - 20647 - 11905: 0xD9CF, - 20648 - 11905: 0xB4A2, - 20649 - 11905: 0xD9D0, - 20650 - 11905: 0x82F0, - 20651 - 11905: 0x82F1, - 20652 - 11905: 0xB4DF, - 20653 - 11905: 0x82F2, - 20654 - 11905: 0x82F3, - 20655 - 11905: 0x82F4, - 20656 - 11905: 0x82F5, - 20657 - 11905: 0x82F6, - 20658 - 11905: 0xB0C1, - 20659 - 11905: 0x82F7, - 20660 - 11905: 0x82F8, - 20661 - 11905: 0x82F9, - 20662 - 11905: 0x82FA, - 20663 - 11905: 0x82FB, - 20664 - 11905: 0x82FC, - 20665 - 11905: 0x82FD, - 20666 - 11905: 0xD9D1, - 20667 - 11905: 0xC9B5, - 20668 - 11905: 0x82FE, - 20669 - 11905: 0x8340, - 20670 - 11905: 0x8341, - 20671 - 11905: 0x8342, - 20672 - 11905: 0x8343, - 20673 - 11905: 0x8344, - 20674 - 11905: 0x8345, - 20675 - 11905: 0x8346, - 20676 - 11905: 0x8347, - 20677 - 11905: 0x8348, - 20678 - 11905: 0x8349, - 20679 - 11905: 0x834A, - 20680 - 11905: 0x834B, - 20681 - 11905: 0x834C, - 20682 - 11905: 0x834D, - 20683 - 11905: 0x834E, - 20684 - 11905: 0x834F, - 20685 - 11905: 0x8350, - 20686 - 11905: 0x8351, - 20687 - 11905: 0xCFF1, - 20688 - 11905: 0x8352, - 20689 - 11905: 0x8353, - 20690 - 11905: 0x8354, - 20691 - 11905: 0x8355, - 20692 - 11905: 0x8356, - 20693 - 11905: 0x8357, - 20694 - 11905: 0xD9D2, - 20695 - 11905: 0x8358, - 20696 - 11905: 0x8359, - 20697 - 11905: 0x835A, - 20698 - 11905: 0xC1C5, - 20699 - 11905: 0x835B, - 20700 - 11905: 0x835C, - 20701 - 11905: 0x835D, - 20702 - 11905: 0x835E, - 20703 - 11905: 0x835F, - 20704 - 11905: 0x8360, - 20705 - 11905: 0x8361, - 20706 - 11905: 0x8362, - 20707 - 11905: 0x8363, - 20708 - 11905: 0x8364, - 20709 - 11905: 0x8365, - 20710 - 11905: 0xD9D6, - 20711 - 11905: 0xC9AE, - 20712 - 11905: 0x8366, - 20713 - 11905: 0x8367, - 20714 - 11905: 0x8368, - 20715 - 11905: 0x8369, - 20716 - 11905: 0xD9D5, - 20717 - 11905: 0xD9D4, - 20718 - 11905: 0xD9D7, - 20719 - 11905: 0x836A, - 20720 - 11905: 0x836B, - 20721 - 11905: 0x836C, - 20722 - 11905: 0x836D, - 20723 - 11905: 0xCBDB, - 20724 - 11905: 0x836E, - 20725 - 11905: 0xBDA9, - 20726 - 11905: 0x836F, - 20727 - 11905: 0x8370, - 20728 - 11905: 0x8371, - 20729 - 11905: 0x8372, - 20730 - 11905: 0x8373, - 20731 - 11905: 0xC6A7, - 20732 - 11905: 0x8374, - 20733 - 11905: 0x8375, - 20734 - 11905: 0x8376, - 20735 - 11905: 0x8377, - 20736 - 11905: 0x8378, - 20737 - 11905: 0x8379, - 20738 - 11905: 0x837A, - 20739 - 11905: 0x837B, - 20740 - 11905: 0x837C, - 20741 - 11905: 0x837D, - 20742 - 11905: 0xD9D3, - 20743 - 11905: 0xD9D8, - 20744 - 11905: 0x837E, - 20745 - 11905: 0x8380, - 20746 - 11905: 0x8381, - 20747 - 11905: 0xD9D9, - 20748 - 11905: 0x8382, - 20749 - 11905: 0x8383, - 20750 - 11905: 0x8384, - 20751 - 11905: 0x8385, - 20752 - 11905: 0x8386, - 20753 - 11905: 0x8387, - 20754 - 11905: 0xC8E5, - 20755 - 11905: 0x8388, - 20756 - 11905: 0x8389, - 20757 - 11905: 0x838A, - 20758 - 11905: 0x838B, - 20759 - 11905: 0x838C, - 20760 - 11905: 0x838D, - 20761 - 11905: 0x838E, - 20762 - 11905: 0x838F, - 20763 - 11905: 0x8390, - 20764 - 11905: 0x8391, - 20765 - 11905: 0x8392, - 20766 - 11905: 0x8393, - 20767 - 11905: 0x8394, - 20768 - 11905: 0x8395, - 20769 - 11905: 0xC0DC, - 20770 - 11905: 0x8396, - 20771 - 11905: 0x8397, - 20772 - 11905: 0x8398, - 20773 - 11905: 0x8399, - 20774 - 11905: 0x839A, - 20775 - 11905: 0x839B, - 20776 - 11905: 0x839C, - 20777 - 11905: 0x839D, - 20778 - 11905: 0x839E, - 20779 - 11905: 0x839F, - 20780 - 11905: 0x83A0, - 20781 - 11905: 0x83A1, - 20782 - 11905: 0x83A2, - 20783 - 11905: 0x83A3, - 20784 - 11905: 0x83A4, - 20785 - 11905: 0x83A5, - 20786 - 11905: 0x83A6, - 20787 - 11905: 0x83A7, - 20788 - 11905: 0x83A8, - 20789 - 11905: 0x83A9, - 20790 - 11905: 0x83AA, - 20791 - 11905: 0x83AB, - 20792 - 11905: 0x83AC, - 20793 - 11905: 0x83AD, - 20794 - 11905: 0x83AE, - 20795 - 11905: 0x83AF, - 20796 - 11905: 0x83B0, - 20797 - 11905: 0x83B1, - 20798 - 11905: 0x83B2, - 20799 - 11905: 0xB6F9, - 20800 - 11905: 0xD8A3, - 20801 - 11905: 0xD4CA, - 20802 - 11905: 0x83B3, - 20803 - 11905: 0xD4AA, - 20804 - 11905: 0xD0D6, - 20805 - 11905: 0xB3E4, - 20806 - 11905: 0xD5D7, - 20807 - 11905: 0x83B4, - 20808 - 11905: 0xCFC8, - 20809 - 11905: 0xB9E2, - 20810 - 11905: 0x83B5, - 20811 - 11905: 0xBFCB, - 20812 - 11905: 0x83B6, - 20813 - 11905: 0xC3E2, - 20814 - 11905: 0x83B7, - 20815 - 11905: 0x83B8, - 20816 - 11905: 0x83B9, - 20817 - 11905: 0xB6D2, - 20818 - 11905: 0x83BA, - 20819 - 11905: 0x83BB, - 20820 - 11905: 0xCDC3, - 20821 - 11905: 0xD9EE, - 20822 - 11905: 0xD9F0, - 20823 - 11905: 0x83BC, - 20824 - 11905: 0x83BD, - 20825 - 11905: 0x83BE, - 20826 - 11905: 0xB5B3, - 20827 - 11905: 0x83BF, - 20828 - 11905: 0xB6B5, - 20829 - 11905: 0x83C0, - 20830 - 11905: 0x83C1, - 20831 - 11905: 0x83C2, - 20832 - 11905: 0x83C3, - 20833 - 11905: 0x83C4, - 20834 - 11905: 0xBEA4, - 20835 - 11905: 0x83C5, - 20836 - 11905: 0x83C6, - 20837 - 11905: 0xC8EB, - 20838 - 11905: 0x83C7, - 20839 - 11905: 0x83C8, - 20840 - 11905: 0xC8AB, - 20841 - 11905: 0x83C9, - 20842 - 11905: 0x83CA, - 20843 - 11905: 0xB0CB, - 20844 - 11905: 0xB9AB, - 20845 - 11905: 0xC1F9, - 20846 - 11905: 0xD9E2, - 20847 - 11905: 0x83CB, - 20848 - 11905: 0xC0BC, - 20849 - 11905: 0xB9B2, - 20850 - 11905: 0x83CC, - 20851 - 11905: 0xB9D8, - 20852 - 11905: 0xD0CB, - 20853 - 11905: 0xB1F8, - 20854 - 11905: 0xC6E4, - 20855 - 11905: 0xBEDF, - 20856 - 11905: 0xB5E4, - 20857 - 11905: 0xD7C8, - 20858 - 11905: 0x83CD, - 20859 - 11905: 0xD1F8, - 20860 - 11905: 0xBCE6, - 20861 - 11905: 0xCADE, - 20862 - 11905: 0x83CE, - 20863 - 11905: 0x83CF, - 20864 - 11905: 0xBCBD, - 20865 - 11905: 0xD9E6, - 20866 - 11905: 0xD8E7, - 20867 - 11905: 0x83D0, - 20868 - 11905: 0x83D1, - 20869 - 11905: 0xC4DA, - 20870 - 11905: 0x83D2, - 20871 - 11905: 0x83D3, - 20872 - 11905: 0xB8D4, - 20873 - 11905: 0xC8BD, - 20874 - 11905: 0x83D4, - 20875 - 11905: 0x83D5, - 20876 - 11905: 0xB2E1, - 20877 - 11905: 0xD4D9, - 20878 - 11905: 0x83D6, - 20879 - 11905: 0x83D7, - 20880 - 11905: 0x83D8, - 20881 - 11905: 0x83D9, - 20882 - 11905: 0xC3B0, - 20883 - 11905: 0x83DA, - 20884 - 11905: 0x83DB, - 20885 - 11905: 0xC3E1, - 20886 - 11905: 0xDAA2, - 20887 - 11905: 0xC8DF, - 20888 - 11905: 0x83DC, - 20889 - 11905: 0xD0B4, - 20890 - 11905: 0x83DD, - 20891 - 11905: 0xBEFC, - 20892 - 11905: 0xC5A9, - 20893 - 11905: 0x83DE, - 20894 - 11905: 0x83DF, - 20895 - 11905: 0x83E0, - 20896 - 11905: 0xB9DA, - 20897 - 11905: 0x83E1, - 20898 - 11905: 0xDAA3, - 20899 - 11905: 0x83E2, - 20900 - 11905: 0xD4A9, - 20901 - 11905: 0xDAA4, - 20902 - 11905: 0x83E3, - 20903 - 11905: 0x83E4, - 20904 - 11905: 0x83E5, - 20905 - 11905: 0x83E6, - 20906 - 11905: 0x83E7, - 20907 - 11905: 0xD9FB, - 20908 - 11905: 0xB6AC, - 20909 - 11905: 0x83E8, - 20910 - 11905: 0x83E9, - 20911 - 11905: 0xB7EB, - 20912 - 11905: 0xB1F9, - 20913 - 11905: 0xD9FC, - 20914 - 11905: 0xB3E5, - 20915 - 11905: 0xBEF6, - 20916 - 11905: 0x83EA, - 20917 - 11905: 0xBFF6, - 20918 - 11905: 0xD2B1, - 20919 - 11905: 0xC0E4, - 20920 - 11905: 0x83EB, - 20921 - 11905: 0x83EC, - 20922 - 11905: 0x83ED, - 20923 - 11905: 0xB6B3, - 20924 - 11905: 0xD9FE, - 20925 - 11905: 0xD9FD, - 20926 - 11905: 0x83EE, - 20927 - 11905: 0x83EF, - 20928 - 11905: 0xBEBB, - 20929 - 11905: 0x83F0, - 20930 - 11905: 0x83F1, - 20931 - 11905: 0x83F2, - 20932 - 11905: 0xC6E0, - 20933 - 11905: 0x83F3, - 20934 - 11905: 0xD7BC, - 20935 - 11905: 0xDAA1, - 20936 - 11905: 0x83F4, - 20937 - 11905: 0xC1B9, - 20938 - 11905: 0x83F5, - 20939 - 11905: 0xB5F2, - 20940 - 11905: 0xC1E8, - 20941 - 11905: 0x83F6, - 20942 - 11905: 0x83F7, - 20943 - 11905: 0xBCF5, - 20944 - 11905: 0x83F8, - 20945 - 11905: 0xB4D5, - 20946 - 11905: 0x83F9, - 20947 - 11905: 0x83FA, - 20948 - 11905: 0x83FB, - 20949 - 11905: 0x83FC, - 20950 - 11905: 0x83FD, - 20951 - 11905: 0x83FE, - 20952 - 11905: 0x8440, - 20953 - 11905: 0x8441, - 20954 - 11905: 0x8442, - 20955 - 11905: 0xC1DD, - 20956 - 11905: 0x8443, - 20957 - 11905: 0xC4FD, - 20958 - 11905: 0x8444, - 20959 - 11905: 0x8445, - 20960 - 11905: 0xBCB8, - 20961 - 11905: 0xB7B2, - 20962 - 11905: 0x8446, - 20963 - 11905: 0x8447, - 20964 - 11905: 0xB7EF, - 20965 - 11905: 0x8448, - 20966 - 11905: 0x8449, - 20967 - 11905: 0x844A, - 20968 - 11905: 0x844B, - 20969 - 11905: 0x844C, - 20970 - 11905: 0x844D, - 20971 - 11905: 0xD9EC, - 20972 - 11905: 0x844E, - 20973 - 11905: 0xC6BE, - 20974 - 11905: 0x844F, - 20975 - 11905: 0xBFAD, - 20976 - 11905: 0xBBCB, - 20977 - 11905: 0x8450, - 20978 - 11905: 0x8451, - 20979 - 11905: 0xB5CA, - 20980 - 11905: 0x8452, - 20981 - 11905: 0xDBC9, - 20982 - 11905: 0xD0D7, - 20983 - 11905: 0x8453, - 20984 - 11905: 0xCDB9, - 20985 - 11905: 0xB0BC, - 20986 - 11905: 0xB3F6, - 20987 - 11905: 0xBBF7, - 20988 - 11905: 0xDBCA, - 20989 - 11905: 0xBAAF, - 20990 - 11905: 0x8454, - 20991 - 11905: 0xD4E4, - 20992 - 11905: 0xB5B6, - 20993 - 11905: 0xB5F3, - 20994 - 11905: 0xD8D6, - 20995 - 11905: 0xC8D0, - 20996 - 11905: 0x8455, - 20997 - 11905: 0x8456, - 20998 - 11905: 0xB7D6, - 20999 - 11905: 0xC7D0, - 21000 - 11905: 0xD8D7, - 21001 - 11905: 0x8457, - 21002 - 11905: 0xBFAF, - 21003 - 11905: 0x8458, - 21004 - 11905: 0x8459, - 21005 - 11905: 0xDBBB, - 21006 - 11905: 0xD8D8, - 21007 - 11905: 0x845A, - 21008 - 11905: 0x845B, - 21009 - 11905: 0xD0CC, - 21010 - 11905: 0xBBAE, - 21011 - 11905: 0x845C, - 21012 - 11905: 0x845D, - 21013 - 11905: 0x845E, - 21014 - 11905: 0xEBBE, - 21015 - 11905: 0xC1D0, - 21016 - 11905: 0xC1F5, - 21017 - 11905: 0xD4F2, - 21018 - 11905: 0xB8D5, - 21019 - 11905: 0xB4B4, - 21020 - 11905: 0x845F, - 21021 - 11905: 0xB3F5, - 21022 - 11905: 0x8460, - 21023 - 11905: 0x8461, - 21024 - 11905: 0xC9BE, - 21025 - 11905: 0x8462, - 21026 - 11905: 0x8463, - 21027 - 11905: 0x8464, - 21028 - 11905: 0xC5D0, - 21029 - 11905: 0x8465, - 21030 - 11905: 0x8466, - 21031 - 11905: 0x8467, - 21032 - 11905: 0xC5D9, - 21033 - 11905: 0xC0FB, - 21034 - 11905: 0x8468, - 21035 - 11905: 0xB1F0, - 21036 - 11905: 0x8469, - 21037 - 11905: 0xD8D9, - 21038 - 11905: 0xB9CE, - 21039 - 11905: 0x846A, - 21040 - 11905: 0xB5BD, - 21041 - 11905: 0x846B, - 21042 - 11905: 0x846C, - 21043 - 11905: 0xD8DA, - 21044 - 11905: 0x846D, - 21045 - 11905: 0x846E, - 21046 - 11905: 0xD6C6, - 21047 - 11905: 0xCBA2, - 21048 - 11905: 0xC8AF, - 21049 - 11905: 0xC9B2, - 21050 - 11905: 0xB4CC, - 21051 - 11905: 0xBFCC, - 21052 - 11905: 0x846F, - 21053 - 11905: 0xB9F4, - 21054 - 11905: 0x8470, - 21055 - 11905: 0xD8DB, - 21056 - 11905: 0xD8DC, - 21057 - 11905: 0xB6E7, - 21058 - 11905: 0xBCC1, - 21059 - 11905: 0xCCEA, - 21060 - 11905: 0x8471, - 21061 - 11905: 0x8472, - 21062 - 11905: 0x8473, - 21063 - 11905: 0x8474, - 21064 - 11905: 0x8475, - 21065 - 11905: 0x8476, - 21066 - 11905: 0xCFF7, - 21067 - 11905: 0x8477, - 21068 - 11905: 0xD8DD, - 21069 - 11905: 0xC7B0, - 21070 - 11905: 0x8478, - 21071 - 11905: 0x8479, - 21072 - 11905: 0xB9D0, - 21073 - 11905: 0xBDA3, - 21074 - 11905: 0x847A, - 21075 - 11905: 0x847B, - 21076 - 11905: 0xCCDE, - 21077 - 11905: 0x847C, - 21078 - 11905: 0xC6CA, - 21079 - 11905: 0x847D, - 21080 - 11905: 0x847E, - 21081 - 11905: 0x8480, - 21082 - 11905: 0x8481, - 21083 - 11905: 0x8482, - 21084 - 11905: 0xD8E0, - 21085 - 11905: 0x8483, - 21086 - 11905: 0xD8DE, - 21087 - 11905: 0x8484, - 21088 - 11905: 0x8485, - 21089 - 11905: 0xD8DF, - 21090 - 11905: 0x8486, - 21091 - 11905: 0x8487, - 21092 - 11905: 0x8488, - 21093 - 11905: 0xB0FE, - 21094 - 11905: 0x8489, - 21095 - 11905: 0xBEE7, - 21096 - 11905: 0x848A, - 21097 - 11905: 0xCAA3, - 21098 - 11905: 0xBCF4, - 21099 - 11905: 0x848B, - 21100 - 11905: 0x848C, - 21101 - 11905: 0x848D, - 21102 - 11905: 0x848E, - 21103 - 11905: 0xB8B1, - 21104 - 11905: 0x848F, - 21105 - 11905: 0x8490, - 21106 - 11905: 0xB8EE, - 21107 - 11905: 0x8491, - 21108 - 11905: 0x8492, - 21109 - 11905: 0x8493, - 21110 - 11905: 0x8494, - 21111 - 11905: 0x8495, - 21112 - 11905: 0x8496, - 21113 - 11905: 0x8497, - 21114 - 11905: 0x8498, - 21115 - 11905: 0x8499, - 21116 - 11905: 0x849A, - 21117 - 11905: 0xD8E2, - 21118 - 11905: 0x849B, - 21119 - 11905: 0xBDCB, - 21120 - 11905: 0x849C, - 21121 - 11905: 0xD8E4, - 21122 - 11905: 0xD8E3, - 21123 - 11905: 0x849D, - 21124 - 11905: 0x849E, - 21125 - 11905: 0x849F, - 21126 - 11905: 0x84A0, - 21127 - 11905: 0x84A1, - 21128 - 11905: 0xC5FC, - 21129 - 11905: 0x84A2, - 21130 - 11905: 0x84A3, - 21131 - 11905: 0x84A4, - 21132 - 11905: 0x84A5, - 21133 - 11905: 0x84A6, - 21134 - 11905: 0x84A7, - 21135 - 11905: 0x84A8, - 21136 - 11905: 0xD8E5, - 21137 - 11905: 0x84A9, - 21138 - 11905: 0x84AA, - 21139 - 11905: 0xD8E6, - 21140 - 11905: 0x84AB, - 21141 - 11905: 0x84AC, - 21142 - 11905: 0x84AD, - 21143 - 11905: 0x84AE, - 21144 - 11905: 0x84AF, - 21145 - 11905: 0x84B0, - 21146 - 11905: 0x84B1, - 21147 - 11905: 0xC1A6, - 21148 - 11905: 0x84B2, - 21149 - 11905: 0xC8B0, - 21150 - 11905: 0xB0EC, - 21151 - 11905: 0xB9A6, - 21152 - 11905: 0xBCD3, - 21153 - 11905: 0xCEF1, - 21154 - 11905: 0xDBBD, - 21155 - 11905: 0xC1D3, - 21156 - 11905: 0x84B3, - 21157 - 11905: 0x84B4, - 21158 - 11905: 0x84B5, - 21159 - 11905: 0x84B6, - 21160 - 11905: 0xB6AF, - 21161 - 11905: 0xD6FA, - 21162 - 11905: 0xC5AC, - 21163 - 11905: 0xBDD9, - 21164 - 11905: 0xDBBE, - 21165 - 11905: 0xDBBF, - 21166 - 11905: 0x84B7, - 21167 - 11905: 0x84B8, - 21168 - 11905: 0x84B9, - 21169 - 11905: 0xC0F8, - 21170 - 11905: 0xBEA2, - 21171 - 11905: 0xC0CD, - 21172 - 11905: 0x84BA, - 21173 - 11905: 0x84BB, - 21174 - 11905: 0x84BC, - 21175 - 11905: 0x84BD, - 21176 - 11905: 0x84BE, - 21177 - 11905: 0x84BF, - 21178 - 11905: 0x84C0, - 21179 - 11905: 0x84C1, - 21180 - 11905: 0x84C2, - 21181 - 11905: 0x84C3, - 21182 - 11905: 0xDBC0, - 21183 - 11905: 0xCAC6, - 21184 - 11905: 0x84C4, - 21185 - 11905: 0x84C5, - 21186 - 11905: 0x84C6, - 21187 - 11905: 0xB2AA, - 21188 - 11905: 0x84C7, - 21189 - 11905: 0x84C8, - 21190 - 11905: 0x84C9, - 21191 - 11905: 0xD3C2, - 21192 - 11905: 0x84CA, - 21193 - 11905: 0xC3E3, - 21194 - 11905: 0x84CB, - 21195 - 11905: 0xD1AB, - 21196 - 11905: 0x84CC, - 21197 - 11905: 0x84CD, - 21198 - 11905: 0x84CE, - 21199 - 11905: 0x84CF, - 21200 - 11905: 0xDBC2, - 21201 - 11905: 0x84D0, - 21202 - 11905: 0xC0D5, - 21203 - 11905: 0x84D1, - 21204 - 11905: 0x84D2, - 21205 - 11905: 0x84D3, - 21206 - 11905: 0xDBC3, - 21207 - 11905: 0x84D4, - 21208 - 11905: 0xBFB1, - 21209 - 11905: 0x84D5, - 21210 - 11905: 0x84D6, - 21211 - 11905: 0x84D7, - 21212 - 11905: 0x84D8, - 21213 - 11905: 0x84D9, - 21214 - 11905: 0x84DA, - 21215 - 11905: 0xC4BC, - 21216 - 11905: 0x84DB, - 21217 - 11905: 0x84DC, - 21218 - 11905: 0x84DD, - 21219 - 11905: 0x84DE, - 21220 - 11905: 0xC7DA, - 21221 - 11905: 0x84DF, - 21222 - 11905: 0x84E0, - 21223 - 11905: 0x84E1, - 21224 - 11905: 0x84E2, - 21225 - 11905: 0x84E3, - 21226 - 11905: 0x84E4, - 21227 - 11905: 0x84E5, - 21228 - 11905: 0x84E6, - 21229 - 11905: 0x84E7, - 21230 - 11905: 0x84E8, - 21231 - 11905: 0x84E9, - 21232 - 11905: 0xDBC4, - 21233 - 11905: 0x84EA, - 21234 - 11905: 0x84EB, - 21235 - 11905: 0x84EC, - 21236 - 11905: 0x84ED, - 21237 - 11905: 0x84EE, - 21238 - 11905: 0x84EF, - 21239 - 11905: 0x84F0, - 21240 - 11905: 0x84F1, - 21241 - 11905: 0xD9E8, - 21242 - 11905: 0xC9D7, - 21243 - 11905: 0x84F2, - 21244 - 11905: 0x84F3, - 21245 - 11905: 0x84F4, - 21246 - 11905: 0xB9B4, - 21247 - 11905: 0xCEF0, - 21248 - 11905: 0xD4C8, - 21249 - 11905: 0x84F5, - 21250 - 11905: 0x84F6, - 21251 - 11905: 0x84F7, - 21252 - 11905: 0x84F8, - 21253 - 11905: 0xB0FC, - 21254 - 11905: 0xB4D2, - 21255 - 11905: 0x84F9, - 21256 - 11905: 0xD0D9, - 21257 - 11905: 0x84FA, - 21258 - 11905: 0x84FB, - 21259 - 11905: 0x84FC, - 21260 - 11905: 0x84FD, - 21261 - 11905: 0xD9E9, - 21262 - 11905: 0x84FE, - 21263 - 11905: 0xDECB, - 21264 - 11905: 0xD9EB, - 21265 - 11905: 0x8540, - 21266 - 11905: 0x8541, - 21267 - 11905: 0x8542, - 21268 - 11905: 0x8543, - 21269 - 11905: 0xD8B0, - 21270 - 11905: 0xBBAF, - 21271 - 11905: 0xB1B1, - 21272 - 11905: 0x8544, - 21273 - 11905: 0xB3D7, - 21274 - 11905: 0xD8CE, - 21275 - 11905: 0x8545, - 21276 - 11905: 0x8546, - 21277 - 11905: 0xD4D1, - 21278 - 11905: 0x8547, - 21279 - 11905: 0x8548, - 21280 - 11905: 0xBDB3, - 21281 - 11905: 0xBFEF, - 21282 - 11905: 0x8549, - 21283 - 11905: 0xCFBB, - 21284 - 11905: 0x854A, - 21285 - 11905: 0x854B, - 21286 - 11905: 0xD8D0, - 21287 - 11905: 0x854C, - 21288 - 11905: 0x854D, - 21289 - 11905: 0x854E, - 21290 - 11905: 0xB7CB, - 21291 - 11905: 0x854F, - 21292 - 11905: 0x8550, - 21293 - 11905: 0x8551, - 21294 - 11905: 0xD8D1, - 21295 - 11905: 0x8552, - 21296 - 11905: 0x8553, - 21297 - 11905: 0x8554, - 21298 - 11905: 0x8555, - 21299 - 11905: 0x8556, - 21300 - 11905: 0x8557, - 21301 - 11905: 0x8558, - 21302 - 11905: 0x8559, - 21303 - 11905: 0x855A, - 21304 - 11905: 0x855B, - 21305 - 11905: 0xC6A5, - 21306 - 11905: 0xC7F8, - 21307 - 11905: 0xD2BD, - 21308 - 11905: 0x855C, - 21309 - 11905: 0x855D, - 21310 - 11905: 0xD8D2, - 21311 - 11905: 0xC4E4, - 21312 - 11905: 0x855E, - 21313 - 11905: 0xCAAE, - 21314 - 11905: 0x855F, - 21315 - 11905: 0xC7A7, - 21316 - 11905: 0x8560, - 21317 - 11905: 0xD8A6, - 21318 - 11905: 0x8561, - 21319 - 11905: 0xC9FD, - 21320 - 11905: 0xCEE7, - 21321 - 11905: 0xBBDC, - 21322 - 11905: 0xB0EB, - 21323 - 11905: 0x8562, - 21324 - 11905: 0x8563, - 21325 - 11905: 0x8564, - 21326 - 11905: 0xBBAA, - 21327 - 11905: 0xD0AD, - 21328 - 11905: 0x8565, - 21329 - 11905: 0xB1B0, - 21330 - 11905: 0xD7E4, - 21331 - 11905: 0xD7BF, - 21332 - 11905: 0x8566, - 21333 - 11905: 0xB5A5, - 21334 - 11905: 0xC2F4, - 21335 - 11905: 0xC4CF, - 21336 - 11905: 0x8567, - 21337 - 11905: 0x8568, - 21338 - 11905: 0xB2A9, - 21339 - 11905: 0x8569, - 21340 - 11905: 0xB2B7, - 21341 - 11905: 0x856A, - 21342 - 11905: 0xB1E5, - 21343 - 11905: 0xDFB2, - 21344 - 11905: 0xD5BC, - 21345 - 11905: 0xBFA8, - 21346 - 11905: 0xC2AC, - 21347 - 11905: 0xD8D5, - 21348 - 11905: 0xC2B1, - 21349 - 11905: 0x856B, - 21350 - 11905: 0xD8D4, - 21351 - 11905: 0xCED4, - 21352 - 11905: 0x856C, - 21353 - 11905: 0xDAE0, - 21354 - 11905: 0x856D, - 21355 - 11905: 0xCEC0, - 21356 - 11905: 0x856E, - 21357 - 11905: 0x856F, - 21358 - 11905: 0xD8B4, - 21359 - 11905: 0xC3AE, - 21360 - 11905: 0xD3A1, - 21361 - 11905: 0xCEA3, - 21362 - 11905: 0x8570, - 21363 - 11905: 0xBCB4, - 21364 - 11905: 0xC8B4, - 21365 - 11905: 0xC2D1, - 21366 - 11905: 0x8571, - 21367 - 11905: 0xBEED, - 21368 - 11905: 0xD0B6, - 21369 - 11905: 0x8572, - 21370 - 11905: 0xDAE1, - 21371 - 11905: 0x8573, - 21372 - 11905: 0x8574, - 21373 - 11905: 0x8575, - 21374 - 11905: 0x8576, - 21375 - 11905: 0xC7E4, - 21376 - 11905: 0x8577, - 21377 - 11905: 0x8578, - 21378 - 11905: 0xB3A7, - 21379 - 11905: 0x8579, - 21380 - 11905: 0xB6F2, - 21381 - 11905: 0xCCFC, - 21382 - 11905: 0xC0FA, - 21383 - 11905: 0x857A, - 21384 - 11905: 0x857B, - 21385 - 11905: 0xC0F7, - 21386 - 11905: 0x857C, - 21387 - 11905: 0xD1B9, - 21388 - 11905: 0xD1E1, - 21389 - 11905: 0xD8C7, - 21390 - 11905: 0x857D, - 21391 - 11905: 0x857E, - 21392 - 11905: 0x8580, - 21393 - 11905: 0x8581, - 21394 - 11905: 0x8582, - 21395 - 11905: 0x8583, - 21396 - 11905: 0x8584, - 21397 - 11905: 0xB2DE, - 21398 - 11905: 0x8585, - 21399 - 11905: 0x8586, - 21400 - 11905: 0xC0E5, - 21401 - 11905: 0x8587, - 21402 - 11905: 0xBAF1, - 21403 - 11905: 0x8588, - 21404 - 11905: 0x8589, - 21405 - 11905: 0xD8C8, - 21406 - 11905: 0x858A, - 21407 - 11905: 0xD4AD, - 21408 - 11905: 0x858B, - 21409 - 11905: 0x858C, - 21410 - 11905: 0xCFE1, - 21411 - 11905: 0xD8C9, - 21412 - 11905: 0x858D, - 21413 - 11905: 0xD8CA, - 21414 - 11905: 0xCFC3, - 21415 - 11905: 0x858E, - 21416 - 11905: 0xB3F8, - 21417 - 11905: 0xBEC7, - 21418 - 11905: 0x858F, - 21419 - 11905: 0x8590, - 21420 - 11905: 0x8591, - 21421 - 11905: 0x8592, - 21422 - 11905: 0xD8CB, - 21423 - 11905: 0x8593, - 21424 - 11905: 0x8594, - 21425 - 11905: 0x8595, - 21426 - 11905: 0x8596, - 21427 - 11905: 0x8597, - 21428 - 11905: 0x8598, - 21429 - 11905: 0x8599, - 21430 - 11905: 0xDBCC, - 21431 - 11905: 0x859A, - 21432 - 11905: 0x859B, - 21433 - 11905: 0x859C, - 21434 - 11905: 0x859D, - 21435 - 11905: 0xC8A5, - 21436 - 11905: 0x859E, - 21437 - 11905: 0x859F, - 21438 - 11905: 0x85A0, - 21439 - 11905: 0xCFD8, - 21440 - 11905: 0x85A1, - 21441 - 11905: 0xC8FE, - 21442 - 11905: 0xB2CE, - 21443 - 11905: 0x85A2, - 21444 - 11905: 0x85A3, - 21445 - 11905: 0x85A4, - 21446 - 11905: 0x85A5, - 21447 - 11905: 0x85A6, - 21448 - 11905: 0xD3D6, - 21449 - 11905: 0xB2E6, - 21450 - 11905: 0xBCB0, - 21451 - 11905: 0xD3D1, - 21452 - 11905: 0xCBAB, - 21453 - 11905: 0xB7B4, - 21454 - 11905: 0x85A7, - 21455 - 11905: 0x85A8, - 21456 - 11905: 0x85A9, - 21457 - 11905: 0xB7A2, - 21458 - 11905: 0x85AA, - 21459 - 11905: 0x85AB, - 21460 - 11905: 0xCAE5, - 21461 - 11905: 0x85AC, - 21462 - 11905: 0xC8A1, - 21463 - 11905: 0xCADC, - 21464 - 11905: 0xB1E4, - 21465 - 11905: 0xD0F0, - 21466 - 11905: 0x85AD, - 21467 - 11905: 0xC5D1, - 21468 - 11905: 0x85AE, - 21469 - 11905: 0x85AF, - 21470 - 11905: 0x85B0, - 21471 - 11905: 0xDBC5, - 21472 - 11905: 0xB5FE, - 21473 - 11905: 0x85B1, - 21474 - 11905: 0x85B2, - 21475 - 11905: 0xBFDA, - 21476 - 11905: 0xB9C5, - 21477 - 11905: 0xBEE4, - 21478 - 11905: 0xC1ED, - 21479 - 11905: 0x85B3, - 21480 - 11905: 0xDFB6, - 21481 - 11905: 0xDFB5, - 21482 - 11905: 0xD6BB, - 21483 - 11905: 0xBDD0, - 21484 - 11905: 0xD5D9, - 21485 - 11905: 0xB0C8, - 21486 - 11905: 0xB6A3, - 21487 - 11905: 0xBFC9, - 21488 - 11905: 0xCCA8, - 21489 - 11905: 0xDFB3, - 21490 - 11905: 0xCAB7, - 21491 - 11905: 0xD3D2, - 21492 - 11905: 0x85B4, - 21493 - 11905: 0xD8CF, - 21494 - 11905: 0xD2B6, - 21495 - 11905: 0xBAC5, - 21496 - 11905: 0xCBBE, - 21497 - 11905: 0xCCBE, - 21498 - 11905: 0x85B5, - 21499 - 11905: 0xDFB7, - 21500 - 11905: 0xB5F0, - 21501 - 11905: 0xDFB4, - 21502 - 11905: 0x85B6, - 21503 - 11905: 0x85B7, - 21504 - 11905: 0x85B8, - 21505 - 11905: 0xD3F5, - 21506 - 11905: 0x85B9, - 21507 - 11905: 0xB3D4, - 21508 - 11905: 0xB8F7, - 21509 - 11905: 0x85BA, - 21510 - 11905: 0xDFBA, - 21511 - 11905: 0x85BB, - 21512 - 11905: 0xBACF, - 21513 - 11905: 0xBCAA, - 21514 - 11905: 0xB5F5, - 21515 - 11905: 0x85BC, - 21516 - 11905: 0xCDAC, - 21517 - 11905: 0xC3FB, - 21518 - 11905: 0xBAF3, - 21519 - 11905: 0xC0F4, - 21520 - 11905: 0xCDC2, - 21521 - 11905: 0xCFF2, - 21522 - 11905: 0xDFB8, - 21523 - 11905: 0xCFC5, - 21524 - 11905: 0x85BD, - 21525 - 11905: 0xC2C0, - 21526 - 11905: 0xDFB9, - 21527 - 11905: 0xC2F0, - 21528 - 11905: 0x85BE, - 21529 - 11905: 0x85BF, - 21530 - 11905: 0x85C0, - 21531 - 11905: 0xBEFD, - 21532 - 11905: 0x85C1, - 21533 - 11905: 0xC1DF, - 21534 - 11905: 0xCDCC, - 21535 - 11905: 0xD2F7, - 21536 - 11905: 0xB7CD, - 21537 - 11905: 0xDFC1, - 21538 - 11905: 0x85C2, - 21539 - 11905: 0xDFC4, - 21540 - 11905: 0x85C3, - 21541 - 11905: 0x85C4, - 21542 - 11905: 0xB7F1, - 21543 - 11905: 0xB0C9, - 21544 - 11905: 0xB6D6, - 21545 - 11905: 0xB7D4, - 21546 - 11905: 0x85C5, - 21547 - 11905: 0xBAAC, - 21548 - 11905: 0xCCFD, - 21549 - 11905: 0xBFD4, - 21550 - 11905: 0xCBB1, - 21551 - 11905: 0xC6F4, - 21552 - 11905: 0x85C6, - 21553 - 11905: 0xD6A8, - 21554 - 11905: 0xDFC5, - 21555 - 11905: 0x85C7, - 21556 - 11905: 0xCEE2, - 21557 - 11905: 0xB3B3, - 21558 - 11905: 0x85C8, - 21559 - 11905: 0x85C9, - 21560 - 11905: 0xCEFC, - 21561 - 11905: 0xB4B5, - 21562 - 11905: 0x85CA, - 21563 - 11905: 0xCEC7, - 21564 - 11905: 0xBAF0, - 21565 - 11905: 0x85CB, - 21566 - 11905: 0xCEE1, - 21567 - 11905: 0x85CC, - 21568 - 11905: 0xD1BD, - 21569 - 11905: 0x85CD, - 21570 - 11905: 0x85CE, - 21571 - 11905: 0xDFC0, - 21572 - 11905: 0x85CF, - 21573 - 11905: 0x85D0, - 21574 - 11905: 0xB4F4, - 21575 - 11905: 0x85D1, - 21576 - 11905: 0xB3CA, - 21577 - 11905: 0x85D2, - 21578 - 11905: 0xB8E6, - 21579 - 11905: 0xDFBB, - 21580 - 11905: 0x85D3, - 21581 - 11905: 0x85D4, - 21582 - 11905: 0x85D5, - 21583 - 11905: 0x85D6, - 21584 - 11905: 0xC4C5, - 21585 - 11905: 0x85D7, - 21586 - 11905: 0xDFBC, - 21587 - 11905: 0xDFBD, - 21588 - 11905: 0xDFBE, - 21589 - 11905: 0xC5BB, - 21590 - 11905: 0xDFBF, - 21591 - 11905: 0xDFC2, - 21592 - 11905: 0xD4B1, - 21593 - 11905: 0xDFC3, - 21594 - 11905: 0x85D8, - 21595 - 11905: 0xC7BA, - 21596 - 11905: 0xCED8, - 21597 - 11905: 0x85D9, - 21598 - 11905: 0x85DA, - 21599 - 11905: 0x85DB, - 21600 - 11905: 0x85DC, - 21601 - 11905: 0x85DD, - 21602 - 11905: 0xC4D8, - 21603 - 11905: 0x85DE, - 21604 - 11905: 0xDFCA, - 21605 - 11905: 0x85DF, - 21606 - 11905: 0xDFCF, - 21607 - 11905: 0x85E0, - 21608 - 11905: 0xD6DC, - 21609 - 11905: 0x85E1, - 21610 - 11905: 0x85E2, - 21611 - 11905: 0x85E3, - 21612 - 11905: 0x85E4, - 21613 - 11905: 0x85E5, - 21614 - 11905: 0x85E6, - 21615 - 11905: 0x85E7, - 21616 - 11905: 0x85E8, - 21617 - 11905: 0xDFC9, - 21618 - 11905: 0xDFDA, - 21619 - 11905: 0xCEB6, - 21620 - 11905: 0x85E9, - 21621 - 11905: 0xBAC7, - 21622 - 11905: 0xDFCE, - 21623 - 11905: 0xDFC8, - 21624 - 11905: 0xC5DE, - 21625 - 11905: 0x85EA, - 21626 - 11905: 0x85EB, - 21627 - 11905: 0xC9EB, - 21628 - 11905: 0xBAF4, - 21629 - 11905: 0xC3FC, - 21630 - 11905: 0x85EC, - 21631 - 11905: 0x85ED, - 21632 - 11905: 0xBED7, - 21633 - 11905: 0x85EE, - 21634 - 11905: 0xDFC6, - 21635 - 11905: 0x85EF, - 21636 - 11905: 0xDFCD, - 21637 - 11905: 0x85F0, - 21638 - 11905: 0xC5D8, - 21639 - 11905: 0x85F1, - 21640 - 11905: 0x85F2, - 21641 - 11905: 0x85F3, - 21642 - 11905: 0x85F4, - 21643 - 11905: 0xD5A6, - 21644 - 11905: 0xBACD, - 21645 - 11905: 0x85F5, - 21646 - 11905: 0xBECC, - 21647 - 11905: 0xD3BD, - 21648 - 11905: 0xB8C0, - 21649 - 11905: 0x85F6, - 21650 - 11905: 0xD6E4, - 21651 - 11905: 0x85F7, - 21652 - 11905: 0xDFC7, - 21653 - 11905: 0xB9BE, - 21654 - 11905: 0xBFA7, - 21655 - 11905: 0x85F8, - 21656 - 11905: 0x85F9, - 21657 - 11905: 0xC1FC, - 21658 - 11905: 0xDFCB, - 21659 - 11905: 0xDFCC, - 21660 - 11905: 0x85FA, - 21661 - 11905: 0xDFD0, - 21662 - 11905: 0x85FB, - 21663 - 11905: 0x85FC, - 21664 - 11905: 0x85FD, - 21665 - 11905: 0x85FE, - 21666 - 11905: 0x8640, - 21667 - 11905: 0xDFDB, - 21668 - 11905: 0xDFE5, - 21669 - 11905: 0x8641, - 21670 - 11905: 0xDFD7, - 21671 - 11905: 0xDFD6, - 21672 - 11905: 0xD7C9, - 21673 - 11905: 0xDFE3, - 21674 - 11905: 0xDFE4, - 21675 - 11905: 0xE5EB, - 21676 - 11905: 0xD2A7, - 21677 - 11905: 0xDFD2, - 21678 - 11905: 0x8642, - 21679 - 11905: 0xBFA9, - 21680 - 11905: 0x8643, - 21681 - 11905: 0xD4DB, - 21682 - 11905: 0x8644, - 21683 - 11905: 0xBFC8, - 21684 - 11905: 0xDFD4, - 21685 - 11905: 0x8645, - 21686 - 11905: 0x8646, - 21687 - 11905: 0x8647, - 21688 - 11905: 0xCFCC, - 21689 - 11905: 0x8648, - 21690 - 11905: 0x8649, - 21691 - 11905: 0xDFDD, - 21692 - 11905: 0x864A, - 21693 - 11905: 0xD1CA, - 21694 - 11905: 0x864B, - 21695 - 11905: 0xDFDE, - 21696 - 11905: 0xB0A7, - 21697 - 11905: 0xC6B7, - 21698 - 11905: 0xDFD3, - 21699 - 11905: 0x864C, - 21700 - 11905: 0xBAE5, - 21701 - 11905: 0x864D, - 21702 - 11905: 0xB6DF, - 21703 - 11905: 0xCDDB, - 21704 - 11905: 0xB9FE, - 21705 - 11905: 0xD4D5, - 21706 - 11905: 0x864E, - 21707 - 11905: 0x864F, - 21708 - 11905: 0xDFDF, - 21709 - 11905: 0xCFEC, - 21710 - 11905: 0xB0A5, - 21711 - 11905: 0xDFE7, - 21712 - 11905: 0xDFD1, - 21713 - 11905: 0xD1C6, - 21714 - 11905: 0xDFD5, - 21715 - 11905: 0xDFD8, - 21716 - 11905: 0xDFD9, - 21717 - 11905: 0xDFDC, - 21718 - 11905: 0x8650, - 21719 - 11905: 0xBBA9, - 21720 - 11905: 0x8651, - 21721 - 11905: 0xDFE0, - 21722 - 11905: 0xDFE1, - 21723 - 11905: 0x8652, - 21724 - 11905: 0xDFE2, - 21725 - 11905: 0xDFE6, - 21726 - 11905: 0xDFE8, - 21727 - 11905: 0xD3B4, - 21728 - 11905: 0x8653, - 21729 - 11905: 0x8654, - 21730 - 11905: 0x8655, - 21731 - 11905: 0x8656, - 21732 - 11905: 0x8657, - 21733 - 11905: 0xB8E7, - 21734 - 11905: 0xC5B6, - 21735 - 11905: 0xDFEA, - 21736 - 11905: 0xC9DA, - 21737 - 11905: 0xC1A8, - 21738 - 11905: 0xC4C4, - 21739 - 11905: 0x8658, - 21740 - 11905: 0x8659, - 21741 - 11905: 0xBFDE, - 21742 - 11905: 0xCFF8, - 21743 - 11905: 0x865A, - 21744 - 11905: 0x865B, - 21745 - 11905: 0x865C, - 21746 - 11905: 0xD5DC, - 21747 - 11905: 0xDFEE, - 21748 - 11905: 0x865D, - 21749 - 11905: 0x865E, - 21750 - 11905: 0x865F, - 21751 - 11905: 0x8660, - 21752 - 11905: 0x8661, - 21753 - 11905: 0x8662, - 21754 - 11905: 0xB2B8, - 21755 - 11905: 0x8663, - 21756 - 11905: 0xBADF, - 21757 - 11905: 0xDFEC, - 21758 - 11905: 0x8664, - 21759 - 11905: 0xDBC1, - 21760 - 11905: 0x8665, - 21761 - 11905: 0xD1E4, - 21762 - 11905: 0x8666, - 21763 - 11905: 0x8667, - 21764 - 11905: 0x8668, - 21765 - 11905: 0x8669, - 21766 - 11905: 0xCBF4, - 21767 - 11905: 0xB4BD, - 21768 - 11905: 0x866A, - 21769 - 11905: 0xB0A6, - 21770 - 11905: 0x866B, - 21771 - 11905: 0x866C, - 21772 - 11905: 0x866D, - 21773 - 11905: 0x866E, - 21774 - 11905: 0x866F, - 21775 - 11905: 0xDFF1, - 21776 - 11905: 0xCCC6, - 21777 - 11905: 0xDFF2, - 21778 - 11905: 0x8670, - 21779 - 11905: 0x8671, - 21780 - 11905: 0xDFED, - 21781 - 11905: 0x8672, - 21782 - 11905: 0x8673, - 21783 - 11905: 0x8674, - 21784 - 11905: 0x8675, - 21785 - 11905: 0x8676, - 21786 - 11905: 0x8677, - 21787 - 11905: 0xDFE9, - 21788 - 11905: 0x8678, - 21789 - 11905: 0x8679, - 21790 - 11905: 0x867A, - 21791 - 11905: 0x867B, - 21792 - 11905: 0xDFEB, - 21793 - 11905: 0x867C, - 21794 - 11905: 0xDFEF, - 21795 - 11905: 0xDFF0, - 21796 - 11905: 0xBBBD, - 21797 - 11905: 0x867D, - 21798 - 11905: 0x867E, - 21799 - 11905: 0xDFF3, - 21800 - 11905: 0x8680, - 21801 - 11905: 0x8681, - 21802 - 11905: 0xDFF4, - 21803 - 11905: 0x8682, - 21804 - 11905: 0xBBA3, - 21805 - 11905: 0x8683, - 21806 - 11905: 0xCADB, - 21807 - 11905: 0xCEA8, - 21808 - 11905: 0xE0A7, - 21809 - 11905: 0xB3AA, - 21810 - 11905: 0x8684, - 21811 - 11905: 0xE0A6, - 21812 - 11905: 0x8685, - 21813 - 11905: 0x8686, - 21814 - 11905: 0x8687, - 21815 - 11905: 0xE0A1, - 21816 - 11905: 0x8688, - 21817 - 11905: 0x8689, - 21818 - 11905: 0x868A, - 21819 - 11905: 0x868B, - 21820 - 11905: 0xDFFE, - 21821 - 11905: 0x868C, - 21822 - 11905: 0xCDD9, - 21823 - 11905: 0xDFFC, - 21824 - 11905: 0x868D, - 21825 - 11905: 0xDFFA, - 21826 - 11905: 0x868E, - 21827 - 11905: 0xBFD0, - 21828 - 11905: 0xD7C4, - 21829 - 11905: 0x868F, - 21830 - 11905: 0xC9CC, - 21831 - 11905: 0x8690, - 21832 - 11905: 0x8691, - 21833 - 11905: 0xDFF8, - 21834 - 11905: 0xB0A1, - 21835 - 11905: 0x8692, - 21836 - 11905: 0x8693, - 21837 - 11905: 0x8694, - 21838 - 11905: 0x8695, - 21839 - 11905: 0x8696, - 21840 - 11905: 0xDFFD, - 21841 - 11905: 0x8697, - 21842 - 11905: 0x8698, - 21843 - 11905: 0x8699, - 21844 - 11905: 0x869A, - 21845 - 11905: 0xDFFB, - 21846 - 11905: 0xE0A2, - 21847 - 11905: 0x869B, - 21848 - 11905: 0x869C, - 21849 - 11905: 0x869D, - 21850 - 11905: 0x869E, - 21851 - 11905: 0x869F, - 21852 - 11905: 0xE0A8, - 21853 - 11905: 0x86A0, - 21854 - 11905: 0x86A1, - 21855 - 11905: 0x86A2, - 21856 - 11905: 0x86A3, - 21857 - 11905: 0xB7C8, - 21858 - 11905: 0x86A4, - 21859 - 11905: 0x86A5, - 21860 - 11905: 0xC6A1, - 21861 - 11905: 0xC9B6, - 21862 - 11905: 0xC0B2, - 21863 - 11905: 0xDFF5, - 21864 - 11905: 0x86A6, - 21865 - 11905: 0x86A7, - 21866 - 11905: 0xC5BE, - 21867 - 11905: 0x86A8, - 21868 - 11905: 0xD8C4, - 21869 - 11905: 0xDFF9, - 21870 - 11905: 0xC4F6, - 21871 - 11905: 0x86A9, - 21872 - 11905: 0x86AA, - 21873 - 11905: 0x86AB, - 21874 - 11905: 0x86AC, - 21875 - 11905: 0x86AD, - 21876 - 11905: 0x86AE, - 21877 - 11905: 0xE0A3, - 21878 - 11905: 0xE0A4, - 21879 - 11905: 0xE0A5, - 21880 - 11905: 0xD0A5, - 21881 - 11905: 0x86AF, - 21882 - 11905: 0x86B0, - 21883 - 11905: 0xE0B4, - 21884 - 11905: 0xCCE4, - 21885 - 11905: 0x86B1, - 21886 - 11905: 0xE0B1, - 21887 - 11905: 0x86B2, - 21888 - 11905: 0xBFA6, - 21889 - 11905: 0xE0AF, - 21890 - 11905: 0xCEB9, - 21891 - 11905: 0xE0AB, - 21892 - 11905: 0xC9C6, - 21893 - 11905: 0x86B3, - 21894 - 11905: 0x86B4, - 21895 - 11905: 0xC0AE, - 21896 - 11905: 0xE0AE, - 21897 - 11905: 0xBAED, - 21898 - 11905: 0xBAB0, - 21899 - 11905: 0xE0A9, - 21900 - 11905: 0x86B5, - 21901 - 11905: 0x86B6, - 21902 - 11905: 0x86B7, - 21903 - 11905: 0xDFF6, - 21904 - 11905: 0x86B8, - 21905 - 11905: 0xE0B3, - 21906 - 11905: 0x86B9, - 21907 - 11905: 0x86BA, - 21908 - 11905: 0xE0B8, - 21909 - 11905: 0x86BB, - 21910 - 11905: 0x86BC, - 21911 - 11905: 0x86BD, - 21912 - 11905: 0xB4AD, - 21913 - 11905: 0xE0B9, - 21914 - 11905: 0x86BE, - 21915 - 11905: 0x86BF, - 21916 - 11905: 0xCFB2, - 21917 - 11905: 0xBAC8, - 21918 - 11905: 0x86C0, - 21919 - 11905: 0xE0B0, - 21920 - 11905: 0x86C1, - 21921 - 11905: 0x86C2, - 21922 - 11905: 0x86C3, - 21923 - 11905: 0x86C4, - 21924 - 11905: 0x86C5, - 21925 - 11905: 0x86C6, - 21926 - 11905: 0x86C7, - 21927 - 11905: 0xD0FA, - 21928 - 11905: 0x86C8, - 21929 - 11905: 0x86C9, - 21930 - 11905: 0x86CA, - 21931 - 11905: 0x86CB, - 21932 - 11905: 0x86CC, - 21933 - 11905: 0x86CD, - 21934 - 11905: 0x86CE, - 21935 - 11905: 0x86CF, - 21936 - 11905: 0x86D0, - 21937 - 11905: 0xE0AC, - 21938 - 11905: 0x86D1, - 21939 - 11905: 0xD4FB, - 21940 - 11905: 0x86D2, - 21941 - 11905: 0xDFF7, - 21942 - 11905: 0x86D3, - 21943 - 11905: 0xC5E7, - 21944 - 11905: 0x86D4, - 21945 - 11905: 0xE0AD, - 21946 - 11905: 0x86D5, - 21947 - 11905: 0xD3F7, - 21948 - 11905: 0x86D6, - 21949 - 11905: 0xE0B6, - 21950 - 11905: 0xE0B7, - 21951 - 11905: 0x86D7, - 21952 - 11905: 0x86D8, - 21953 - 11905: 0x86D9, - 21954 - 11905: 0x86DA, - 21955 - 11905: 0x86DB, - 21956 - 11905: 0xE0C4, - 21957 - 11905: 0xD0E1, - 21958 - 11905: 0x86DC, - 21959 - 11905: 0x86DD, - 21960 - 11905: 0x86DE, - 21961 - 11905: 0xE0BC, - 21962 - 11905: 0x86DF, - 21963 - 11905: 0x86E0, - 21964 - 11905: 0xE0C9, - 21965 - 11905: 0xE0CA, - 21966 - 11905: 0x86E1, - 21967 - 11905: 0x86E2, - 21968 - 11905: 0x86E3, - 21969 - 11905: 0xE0BE, - 21970 - 11905: 0xE0AA, - 21971 - 11905: 0xC9A4, - 21972 - 11905: 0xE0C1, - 21973 - 11905: 0x86E4, - 21974 - 11905: 0xE0B2, - 21975 - 11905: 0x86E5, - 21976 - 11905: 0x86E6, - 21977 - 11905: 0x86E7, - 21978 - 11905: 0x86E8, - 21979 - 11905: 0x86E9, - 21980 - 11905: 0xCAC8, - 21981 - 11905: 0xE0C3, - 21982 - 11905: 0x86EA, - 21983 - 11905: 0xE0B5, - 21984 - 11905: 0x86EB, - 21985 - 11905: 0xCECB, - 21986 - 11905: 0x86EC, - 21987 - 11905: 0xCBC3, - 21988 - 11905: 0xE0CD, - 21989 - 11905: 0xE0C6, - 21990 - 11905: 0xE0C2, - 21991 - 11905: 0x86ED, - 21992 - 11905: 0xE0CB, - 21993 - 11905: 0x86EE, - 21994 - 11905: 0xE0BA, - 21995 - 11905: 0xE0BF, - 21996 - 11905: 0xE0C0, - 21997 - 11905: 0x86EF, - 21998 - 11905: 0x86F0, - 21999 - 11905: 0xE0C5, - 22000 - 11905: 0x86F1, - 22001 - 11905: 0x86F2, - 22002 - 11905: 0xE0C7, - 22003 - 11905: 0xE0C8, - 22004 - 11905: 0x86F3, - 22005 - 11905: 0xE0CC, - 22006 - 11905: 0x86F4, - 22007 - 11905: 0xE0BB, - 22008 - 11905: 0x86F5, - 22009 - 11905: 0x86F6, - 22010 - 11905: 0x86F7, - 22011 - 11905: 0x86F8, - 22012 - 11905: 0x86F9, - 22013 - 11905: 0xCBD4, - 22014 - 11905: 0xE0D5, - 22015 - 11905: 0x86FA, - 22016 - 11905: 0xE0D6, - 22017 - 11905: 0xE0D2, - 22018 - 11905: 0x86FB, - 22019 - 11905: 0x86FC, - 22020 - 11905: 0x86FD, - 22021 - 11905: 0x86FE, - 22022 - 11905: 0x8740, - 22023 - 11905: 0x8741, - 22024 - 11905: 0xE0D0, - 22025 - 11905: 0xBCCE, - 22026 - 11905: 0x8742, - 22027 - 11905: 0x8743, - 22028 - 11905: 0xE0D1, - 22029 - 11905: 0x8744, - 22030 - 11905: 0xB8C2, - 22031 - 11905: 0xD8C5, - 22032 - 11905: 0x8745, - 22033 - 11905: 0x8746, - 22034 - 11905: 0x8747, - 22035 - 11905: 0x8748, - 22036 - 11905: 0x8749, - 22037 - 11905: 0x874A, - 22038 - 11905: 0x874B, - 22039 - 11905: 0x874C, - 22040 - 11905: 0xD0EA, - 22041 - 11905: 0x874D, - 22042 - 11905: 0x874E, - 22043 - 11905: 0xC2EF, - 22044 - 11905: 0x874F, - 22045 - 11905: 0x8750, - 22046 - 11905: 0xE0CF, - 22047 - 11905: 0xE0BD, - 22048 - 11905: 0x8751, - 22049 - 11905: 0x8752, - 22050 - 11905: 0x8753, - 22051 - 11905: 0xE0D4, - 22052 - 11905: 0xE0D3, - 22053 - 11905: 0x8754, - 22054 - 11905: 0x8755, - 22055 - 11905: 0xE0D7, - 22056 - 11905: 0x8756, - 22057 - 11905: 0x8757, - 22058 - 11905: 0x8758, - 22059 - 11905: 0x8759, - 22060 - 11905: 0xE0DC, - 22061 - 11905: 0xE0D8, - 22062 - 11905: 0x875A, - 22063 - 11905: 0x875B, - 22064 - 11905: 0x875C, - 22065 - 11905: 0xD6F6, - 22066 - 11905: 0xB3B0, - 22067 - 11905: 0x875D, - 22068 - 11905: 0xD7EC, - 22069 - 11905: 0x875E, - 22070 - 11905: 0xCBBB, - 22071 - 11905: 0x875F, - 22072 - 11905: 0x8760, - 22073 - 11905: 0xE0DA, - 22074 - 11905: 0x8761, - 22075 - 11905: 0xCEFB, - 22076 - 11905: 0x8762, - 22077 - 11905: 0x8763, - 22078 - 11905: 0x8764, - 22079 - 11905: 0xBAD9, - 22080 - 11905: 0x8765, - 22081 - 11905: 0x8766, - 22082 - 11905: 0x8767, - 22083 - 11905: 0x8768, - 22084 - 11905: 0x8769, - 22085 - 11905: 0x876A, - 22086 - 11905: 0x876B, - 22087 - 11905: 0x876C, - 22088 - 11905: 0x876D, - 22089 - 11905: 0x876E, - 22090 - 11905: 0x876F, - 22091 - 11905: 0x8770, - 22092 - 11905: 0xE0E1, - 22093 - 11905: 0xE0DD, - 22094 - 11905: 0xD2AD, - 22095 - 11905: 0x8771, - 22096 - 11905: 0x8772, - 22097 - 11905: 0x8773, - 22098 - 11905: 0x8774, - 22099 - 11905: 0x8775, - 22100 - 11905: 0xE0E2, - 22101 - 11905: 0x8776, - 22102 - 11905: 0x8777, - 22103 - 11905: 0xE0DB, - 22104 - 11905: 0xE0D9, - 22105 - 11905: 0xE0DF, - 22106 - 11905: 0x8778, - 22107 - 11905: 0x8779, - 22108 - 11905: 0xE0E0, - 22109 - 11905: 0x877A, - 22110 - 11905: 0x877B, - 22111 - 11905: 0x877C, - 22112 - 11905: 0x877D, - 22113 - 11905: 0x877E, - 22114 - 11905: 0xE0DE, - 22115 - 11905: 0x8780, - 22116 - 11905: 0xE0E4, - 22117 - 11905: 0x8781, - 22118 - 11905: 0x8782, - 22119 - 11905: 0x8783, - 22120 - 11905: 0xC6F7, - 22121 - 11905: 0xD8AC, - 22122 - 11905: 0xD4EB, - 22123 - 11905: 0xE0E6, - 22124 - 11905: 0xCAC9, - 22125 - 11905: 0x8784, - 22126 - 11905: 0x8785, - 22127 - 11905: 0x8786, - 22128 - 11905: 0x8787, - 22129 - 11905: 0xE0E5, - 22130 - 11905: 0x8788, - 22131 - 11905: 0x8789, - 22132 - 11905: 0x878A, - 22133 - 11905: 0x878B, - 22134 - 11905: 0xB8C1, - 22135 - 11905: 0x878C, - 22136 - 11905: 0x878D, - 22137 - 11905: 0x878E, - 22138 - 11905: 0x878F, - 22139 - 11905: 0xE0E7, - 22140 - 11905: 0xE0E8, - 22141 - 11905: 0x8790, - 22142 - 11905: 0x8791, - 22143 - 11905: 0x8792, - 22144 - 11905: 0x8793, - 22145 - 11905: 0x8794, - 22146 - 11905: 0x8795, - 22147 - 11905: 0x8796, - 22148 - 11905: 0x8797, - 22149 - 11905: 0xE0E9, - 22150 - 11905: 0xE0E3, - 22151 - 11905: 0x8798, - 22152 - 11905: 0x8799, - 22153 - 11905: 0x879A, - 22154 - 11905: 0x879B, - 22155 - 11905: 0x879C, - 22156 - 11905: 0x879D, - 22157 - 11905: 0x879E, - 22158 - 11905: 0xBABF, - 22159 - 11905: 0xCCE7, - 22160 - 11905: 0x879F, - 22161 - 11905: 0x87A0, - 22162 - 11905: 0x87A1, - 22163 - 11905: 0xE0EA, - 22164 - 11905: 0x87A2, - 22165 - 11905: 0x87A3, - 22166 - 11905: 0x87A4, - 22167 - 11905: 0x87A5, - 22168 - 11905: 0x87A6, - 22169 - 11905: 0x87A7, - 22170 - 11905: 0x87A8, - 22171 - 11905: 0x87A9, - 22172 - 11905: 0x87AA, - 22173 - 11905: 0x87AB, - 22174 - 11905: 0x87AC, - 22175 - 11905: 0x87AD, - 22176 - 11905: 0x87AE, - 22177 - 11905: 0x87AF, - 22178 - 11905: 0x87B0, - 22179 - 11905: 0xCFF9, - 22180 - 11905: 0x87B1, - 22181 - 11905: 0x87B2, - 22182 - 11905: 0x87B3, - 22183 - 11905: 0x87B4, - 22184 - 11905: 0x87B5, - 22185 - 11905: 0x87B6, - 22186 - 11905: 0x87B7, - 22187 - 11905: 0x87B8, - 22188 - 11905: 0x87B9, - 22189 - 11905: 0x87BA, - 22190 - 11905: 0x87BB, - 22191 - 11905: 0xE0EB, - 22192 - 11905: 0x87BC, - 22193 - 11905: 0x87BD, - 22194 - 11905: 0x87BE, - 22195 - 11905: 0x87BF, - 22196 - 11905: 0x87C0, - 22197 - 11905: 0x87C1, - 22198 - 11905: 0x87C2, - 22199 - 11905: 0xC8C2, - 22200 - 11905: 0x87C3, - 22201 - 11905: 0x87C4, - 22202 - 11905: 0x87C5, - 22203 - 11905: 0x87C6, - 22204 - 11905: 0xBDC0, - 22205 - 11905: 0x87C7, - 22206 - 11905: 0x87C8, - 22207 - 11905: 0x87C9, - 22208 - 11905: 0x87CA, - 22209 - 11905: 0x87CB, - 22210 - 11905: 0x87CC, - 22211 - 11905: 0x87CD, - 22212 - 11905: 0x87CE, - 22213 - 11905: 0x87CF, - 22214 - 11905: 0x87D0, - 22215 - 11905: 0x87D1, - 22216 - 11905: 0x87D2, - 22217 - 11905: 0x87D3, - 22218 - 11905: 0xC4D2, - 22219 - 11905: 0x87D4, - 22220 - 11905: 0x87D5, - 22221 - 11905: 0x87D6, - 22222 - 11905: 0x87D7, - 22223 - 11905: 0x87D8, - 22224 - 11905: 0x87D9, - 22225 - 11905: 0x87DA, - 22226 - 11905: 0x87DB, - 22227 - 11905: 0x87DC, - 22228 - 11905: 0xE0EC, - 22229 - 11905: 0x87DD, - 22230 - 11905: 0x87DE, - 22231 - 11905: 0xE0ED, - 22232 - 11905: 0x87DF, - 22233 - 11905: 0x87E0, - 22234 - 11905: 0xC7F4, - 22235 - 11905: 0xCBC4, - 22236 - 11905: 0x87E1, - 22237 - 11905: 0xE0EE, - 22238 - 11905: 0xBBD8, - 22239 - 11905: 0xD8B6, - 22240 - 11905: 0xD2F2, - 22241 - 11905: 0xE0EF, - 22242 - 11905: 0xCDC5, - 22243 - 11905: 0x87E2, - 22244 - 11905: 0xB6DA, - 22245 - 11905: 0x87E3, - 22246 - 11905: 0x87E4, - 22247 - 11905: 0x87E5, - 22248 - 11905: 0x87E6, - 22249 - 11905: 0x87E7, - 22250 - 11905: 0x87E8, - 22251 - 11905: 0xE0F1, - 22252 - 11905: 0x87E9, - 22253 - 11905: 0xD4B0, - 22254 - 11905: 0x87EA, - 22255 - 11905: 0x87EB, - 22256 - 11905: 0xC0A7, - 22257 - 11905: 0xB4D1, - 22258 - 11905: 0x87EC, - 22259 - 11905: 0x87ED, - 22260 - 11905: 0xCEA7, - 22261 - 11905: 0xE0F0, - 22262 - 11905: 0x87EE, - 22263 - 11905: 0x87EF, - 22264 - 11905: 0x87F0, - 22265 - 11905: 0xE0F2, - 22266 - 11905: 0xB9CC, - 22267 - 11905: 0x87F1, - 22268 - 11905: 0x87F2, - 22269 - 11905: 0xB9FA, - 22270 - 11905: 0xCDBC, - 22271 - 11905: 0xE0F3, - 22272 - 11905: 0x87F3, - 22273 - 11905: 0x87F4, - 22274 - 11905: 0x87F5, - 22275 - 11905: 0xC6D4, - 22276 - 11905: 0xE0F4, - 22277 - 11905: 0x87F6, - 22278 - 11905: 0xD4B2, - 22279 - 11905: 0x87F7, - 22280 - 11905: 0xC8A6, - 22281 - 11905: 0xE0F6, - 22282 - 11905: 0xE0F5, - 22283 - 11905: 0x87F8, - 22284 - 11905: 0x87F9, - 22285 - 11905: 0x87FA, - 22286 - 11905: 0x87FB, - 22287 - 11905: 0x87FC, - 22288 - 11905: 0x87FD, - 22289 - 11905: 0x87FE, - 22290 - 11905: 0x8840, - 22291 - 11905: 0x8841, - 22292 - 11905: 0x8842, - 22293 - 11905: 0x8843, - 22294 - 11905: 0x8844, - 22295 - 11905: 0x8845, - 22296 - 11905: 0x8846, - 22297 - 11905: 0x8847, - 22298 - 11905: 0x8848, - 22299 - 11905: 0x8849, - 22300 - 11905: 0xE0F7, - 22301 - 11905: 0x884A, - 22302 - 11905: 0x884B, - 22303 - 11905: 0xCDC1, - 22304 - 11905: 0x884C, - 22305 - 11905: 0x884D, - 22306 - 11905: 0x884E, - 22307 - 11905: 0xCAA5, - 22308 - 11905: 0x884F, - 22309 - 11905: 0x8850, - 22310 - 11905: 0x8851, - 22311 - 11905: 0x8852, - 22312 - 11905: 0xD4DA, - 22313 - 11905: 0xDBD7, - 22314 - 11905: 0xDBD9, - 22315 - 11905: 0x8853, - 22316 - 11905: 0xDBD8, - 22317 - 11905: 0xB9E7, - 22318 - 11905: 0xDBDC, - 22319 - 11905: 0xDBDD, - 22320 - 11905: 0xB5D8, - 22321 - 11905: 0x8854, - 22322 - 11905: 0x8855, - 22323 - 11905: 0xDBDA, - 22324 - 11905: 0x8856, - 22325 - 11905: 0x8857, - 22326 - 11905: 0x8858, - 22327 - 11905: 0x8859, - 22328 - 11905: 0x885A, - 22329 - 11905: 0xDBDB, - 22330 - 11905: 0xB3A1, - 22331 - 11905: 0xDBDF, - 22332 - 11905: 0x885B, - 22333 - 11905: 0x885C, - 22334 - 11905: 0xBBF8, - 22335 - 11905: 0x885D, - 22336 - 11905: 0xD6B7, - 22337 - 11905: 0x885E, - 22338 - 11905: 0xDBE0, - 22339 - 11905: 0x885F, - 22340 - 11905: 0x8860, - 22341 - 11905: 0x8861, - 22342 - 11905: 0x8862, - 22343 - 11905: 0xBEF9, - 22344 - 11905: 0x8863, - 22345 - 11905: 0x8864, - 22346 - 11905: 0xB7BB, - 22347 - 11905: 0x8865, - 22348 - 11905: 0xDBD0, - 22349 - 11905: 0xCCAE, - 22350 - 11905: 0xBFB2, - 22351 - 11905: 0xBBB5, - 22352 - 11905: 0xD7F8, - 22353 - 11905: 0xBFD3, - 22354 - 11905: 0x8866, - 22355 - 11905: 0x8867, - 22356 - 11905: 0x8868, - 22357 - 11905: 0x8869, - 22358 - 11905: 0x886A, - 22359 - 11905: 0xBFE9, - 22360 - 11905: 0x886B, - 22361 - 11905: 0x886C, - 22362 - 11905: 0xBCE1, - 22363 - 11905: 0xCCB3, - 22364 - 11905: 0xDBDE, - 22365 - 11905: 0xB0D3, - 22366 - 11905: 0xCEEB, - 22367 - 11905: 0xB7D8, - 22368 - 11905: 0xD7B9, - 22369 - 11905: 0xC6C2, - 22370 - 11905: 0x886D, - 22371 - 11905: 0x886E, - 22372 - 11905: 0xC0A4, - 22373 - 11905: 0x886F, - 22374 - 11905: 0xCCB9, - 22375 - 11905: 0x8870, - 22376 - 11905: 0xDBE7, - 22377 - 11905: 0xDBE1, - 22378 - 11905: 0xC6BA, - 22379 - 11905: 0xDBE3, - 22380 - 11905: 0x8871, - 22381 - 11905: 0xDBE8, - 22382 - 11905: 0x8872, - 22383 - 11905: 0xC5F7, - 22384 - 11905: 0x8873, - 22385 - 11905: 0x8874, - 22386 - 11905: 0x8875, - 22387 - 11905: 0xDBEA, - 22388 - 11905: 0x8876, - 22389 - 11905: 0x8877, - 22390 - 11905: 0xDBE9, - 22391 - 11905: 0xBFC0, - 22392 - 11905: 0x8878, - 22393 - 11905: 0x8879, - 22394 - 11905: 0x887A, - 22395 - 11905: 0xDBE6, - 22396 - 11905: 0xDBE5, - 22397 - 11905: 0x887B, - 22398 - 11905: 0x887C, - 22399 - 11905: 0x887D, - 22400 - 11905: 0x887E, - 22401 - 11905: 0x8880, - 22402 - 11905: 0xB4B9, - 22403 - 11905: 0xC0AC, - 22404 - 11905: 0xC2A2, - 22405 - 11905: 0xDBE2, - 22406 - 11905: 0xDBE4, - 22407 - 11905: 0x8881, - 22408 - 11905: 0x8882, - 22409 - 11905: 0x8883, - 22410 - 11905: 0x8884, - 22411 - 11905: 0xD0CD, - 22412 - 11905: 0xDBED, - 22413 - 11905: 0x8885, - 22414 - 11905: 0x8886, - 22415 - 11905: 0x8887, - 22416 - 11905: 0x8888, - 22417 - 11905: 0x8889, - 22418 - 11905: 0xC0DD, - 22419 - 11905: 0xDBF2, - 22420 - 11905: 0x888A, - 22421 - 11905: 0x888B, - 22422 - 11905: 0x888C, - 22423 - 11905: 0x888D, - 22424 - 11905: 0x888E, - 22425 - 11905: 0x888F, - 22426 - 11905: 0x8890, - 22427 - 11905: 0xB6E2, - 22428 - 11905: 0x8891, - 22429 - 11905: 0x8892, - 22430 - 11905: 0x8893, - 22431 - 11905: 0x8894, - 22432 - 11905: 0xDBF3, - 22433 - 11905: 0xDBD2, - 22434 - 11905: 0xB9B8, - 22435 - 11905: 0xD4AB, - 22436 - 11905: 0xDBEC, - 22437 - 11905: 0x8895, - 22438 - 11905: 0xBFD1, - 22439 - 11905: 0xDBF0, - 22440 - 11905: 0x8896, - 22441 - 11905: 0xDBD1, - 22442 - 11905: 0x8897, - 22443 - 11905: 0xB5E6, - 22444 - 11905: 0x8898, - 22445 - 11905: 0xDBEB, - 22446 - 11905: 0xBFE5, - 22447 - 11905: 0x8899, - 22448 - 11905: 0x889A, - 22449 - 11905: 0x889B, - 22450 - 11905: 0xDBEE, - 22451 - 11905: 0x889C, - 22452 - 11905: 0xDBF1, - 22453 - 11905: 0x889D, - 22454 - 11905: 0x889E, - 22455 - 11905: 0x889F, - 22456 - 11905: 0xDBF9, - 22457 - 11905: 0x88A0, - 22458 - 11905: 0x88A1, - 22459 - 11905: 0x88A2, - 22460 - 11905: 0x88A3, - 22461 - 11905: 0x88A4, - 22462 - 11905: 0x88A5, - 22463 - 11905: 0x88A6, - 22464 - 11905: 0x88A7, - 22465 - 11905: 0x88A8, - 22466 - 11905: 0xB9A1, - 22467 - 11905: 0xB0A3, - 22468 - 11905: 0x88A9, - 22469 - 11905: 0x88AA, - 22470 - 11905: 0x88AB, - 22471 - 11905: 0x88AC, - 22472 - 11905: 0x88AD, - 22473 - 11905: 0x88AE, - 22474 - 11905: 0x88AF, - 22475 - 11905: 0xC2F1, - 22476 - 11905: 0x88B0, - 22477 - 11905: 0x88B1, - 22478 - 11905: 0xB3C7, - 22479 - 11905: 0xDBEF, - 22480 - 11905: 0x88B2, - 22481 - 11905: 0x88B3, - 22482 - 11905: 0xDBF8, - 22483 - 11905: 0x88B4, - 22484 - 11905: 0xC6D2, - 22485 - 11905: 0xDBF4, - 22486 - 11905: 0x88B5, - 22487 - 11905: 0x88B6, - 22488 - 11905: 0xDBF5, - 22489 - 11905: 0xDBF7, - 22490 - 11905: 0xDBF6, - 22491 - 11905: 0x88B7, - 22492 - 11905: 0x88B8, - 22493 - 11905: 0xDBFE, - 22494 - 11905: 0x88B9, - 22495 - 11905: 0xD3F2, - 22496 - 11905: 0xB2BA, - 22497 - 11905: 0x88BA, - 22498 - 11905: 0x88BB, - 22499 - 11905: 0x88BC, - 22500 - 11905: 0xDBFD, - 22501 - 11905: 0x88BD, - 22502 - 11905: 0x88BE, - 22503 - 11905: 0x88BF, - 22504 - 11905: 0x88C0, - 22505 - 11905: 0x88C1, - 22506 - 11905: 0x88C2, - 22507 - 11905: 0x88C3, - 22508 - 11905: 0x88C4, - 22509 - 11905: 0xDCA4, - 22510 - 11905: 0x88C5, - 22511 - 11905: 0xDBFB, - 22512 - 11905: 0x88C6, - 22513 - 11905: 0x88C7, - 22514 - 11905: 0x88C8, - 22515 - 11905: 0x88C9, - 22516 - 11905: 0xDBFA, - 22517 - 11905: 0x88CA, - 22518 - 11905: 0x88CB, - 22519 - 11905: 0x88CC, - 22520 - 11905: 0xDBFC, - 22521 - 11905: 0xC5E0, - 22522 - 11905: 0xBBF9, - 22523 - 11905: 0x88CD, - 22524 - 11905: 0x88CE, - 22525 - 11905: 0xDCA3, - 22526 - 11905: 0x88CF, - 22527 - 11905: 0x88D0, - 22528 - 11905: 0xDCA5, - 22529 - 11905: 0x88D1, - 22530 - 11905: 0xCCC3, - 22531 - 11905: 0x88D2, - 22532 - 11905: 0x88D3, - 22533 - 11905: 0x88D4, - 22534 - 11905: 0xB6D1, - 22535 - 11905: 0xDDC0, - 22536 - 11905: 0x88D5, - 22537 - 11905: 0x88D6, - 22538 - 11905: 0x88D7, - 22539 - 11905: 0xDCA1, - 22540 - 11905: 0x88D8, - 22541 - 11905: 0xDCA2, - 22542 - 11905: 0x88D9, - 22543 - 11905: 0x88DA, - 22544 - 11905: 0x88DB, - 22545 - 11905: 0xC7B5, - 22546 - 11905: 0x88DC, - 22547 - 11905: 0x88DD, - 22548 - 11905: 0x88DE, - 22549 - 11905: 0xB6E9, - 22550 - 11905: 0x88DF, - 22551 - 11905: 0x88E0, - 22552 - 11905: 0x88E1, - 22553 - 11905: 0xDCA7, - 22554 - 11905: 0x88E2, - 22555 - 11905: 0x88E3, - 22556 - 11905: 0x88E4, - 22557 - 11905: 0x88E5, - 22558 - 11905: 0xDCA6, - 22559 - 11905: 0x88E6, - 22560 - 11905: 0xDCA9, - 22561 - 11905: 0xB1A4, - 22562 - 11905: 0x88E7, - 22563 - 11905: 0x88E8, - 22564 - 11905: 0xB5CC, - 22565 - 11905: 0x88E9, - 22566 - 11905: 0x88EA, - 22567 - 11905: 0x88EB, - 22568 - 11905: 0x88EC, - 22569 - 11905: 0x88ED, - 22570 - 11905: 0xBFB0, - 22571 - 11905: 0x88EE, - 22572 - 11905: 0x88EF, - 22573 - 11905: 0x88F0, - 22574 - 11905: 0x88F1, - 22575 - 11905: 0x88F2, - 22576 - 11905: 0xD1DF, - 22577 - 11905: 0x88F3, - 22578 - 11905: 0x88F4, - 22579 - 11905: 0x88F5, - 22580 - 11905: 0x88F6, - 22581 - 11905: 0xB6C2, - 22582 - 11905: 0x88F7, - 22583 - 11905: 0x88F8, - 22584 - 11905: 0x88F9, - 22585 - 11905: 0x88FA, - 22586 - 11905: 0x88FB, - 22587 - 11905: 0x88FC, - 22588 - 11905: 0x88FD, - 22589 - 11905: 0x88FE, - 22590 - 11905: 0x8940, - 22591 - 11905: 0x8941, - 22592 - 11905: 0x8942, - 22593 - 11905: 0x8943, - 22594 - 11905: 0x8944, - 22595 - 11905: 0x8945, - 22596 - 11905: 0xDCA8, - 22597 - 11905: 0x8946, - 22598 - 11905: 0x8947, - 22599 - 11905: 0x8948, - 22600 - 11905: 0x8949, - 22601 - 11905: 0x894A, - 22602 - 11905: 0x894B, - 22603 - 11905: 0x894C, - 22604 - 11905: 0xCBFA, - 22605 - 11905: 0xEBF3, - 22606 - 11905: 0x894D, - 22607 - 11905: 0x894E, - 22608 - 11905: 0x894F, - 22609 - 11905: 0xCBDC, - 22610 - 11905: 0x8950, - 22611 - 11905: 0x8951, - 22612 - 11905: 0xCBFE, - 22613 - 11905: 0x8952, - 22614 - 11905: 0x8953, - 22615 - 11905: 0x8954, - 22616 - 11905: 0xCCC1, - 22617 - 11905: 0x8955, - 22618 - 11905: 0x8956, - 22619 - 11905: 0x8957, - 22620 - 11905: 0x8958, - 22621 - 11905: 0x8959, - 22622 - 11905: 0xC8FB, - 22623 - 11905: 0x895A, - 22624 - 11905: 0x895B, - 22625 - 11905: 0x895C, - 22626 - 11905: 0x895D, - 22627 - 11905: 0x895E, - 22628 - 11905: 0x895F, - 22629 - 11905: 0xDCAA, - 22630 - 11905: 0x8960, - 22631 - 11905: 0x8961, - 22632 - 11905: 0x8962, - 22633 - 11905: 0x8963, - 22634 - 11905: 0x8964, - 22635 - 11905: 0xCCEE, - 22636 - 11905: 0xDCAB, - 22637 - 11905: 0x8965, - 22638 - 11905: 0x8966, - 22639 - 11905: 0x8967, - 22640 - 11905: 0x8968, - 22641 - 11905: 0x8969, - 22642 - 11905: 0x896A, - 22643 - 11905: 0x896B, - 22644 - 11905: 0x896C, - 22645 - 11905: 0x896D, - 22646 - 11905: 0x896E, - 22647 - 11905: 0x896F, - 22648 - 11905: 0x8970, - 22649 - 11905: 0x8971, - 22650 - 11905: 0x8972, - 22651 - 11905: 0x8973, - 22652 - 11905: 0x8974, - 22653 - 11905: 0x8975, - 22654 - 11905: 0xDBD3, - 22655 - 11905: 0x8976, - 22656 - 11905: 0xDCAF, - 22657 - 11905: 0xDCAC, - 22658 - 11905: 0x8977, - 22659 - 11905: 0xBEB3, - 22660 - 11905: 0x8978, - 22661 - 11905: 0xCAFB, - 22662 - 11905: 0x8979, - 22663 - 11905: 0x897A, - 22664 - 11905: 0x897B, - 22665 - 11905: 0xDCAD, - 22666 - 11905: 0x897C, - 22667 - 11905: 0x897D, - 22668 - 11905: 0x897E, - 22669 - 11905: 0x8980, - 22670 - 11905: 0x8981, - 22671 - 11905: 0x8982, - 22672 - 11905: 0x8983, - 22673 - 11905: 0x8984, - 22674 - 11905: 0xC9CA, - 22675 - 11905: 0xC4B9, - 22676 - 11905: 0x8985, - 22677 - 11905: 0x8986, - 22678 - 11905: 0x8987, - 22679 - 11905: 0x8988, - 22680 - 11905: 0x8989, - 22681 - 11905: 0xC7BD, - 22682 - 11905: 0xDCAE, - 22683 - 11905: 0x898A, - 22684 - 11905: 0x898B, - 22685 - 11905: 0x898C, - 22686 - 11905: 0xD4F6, - 22687 - 11905: 0xD0E6, - 22688 - 11905: 0x898D, - 22689 - 11905: 0x898E, - 22690 - 11905: 0x898F, - 22691 - 11905: 0x8990, - 22692 - 11905: 0x8991, - 22693 - 11905: 0x8992, - 22694 - 11905: 0x8993, - 22695 - 11905: 0x8994, - 22696 - 11905: 0xC4AB, - 22697 - 11905: 0xB6D5, - 22698 - 11905: 0x8995, - 22699 - 11905: 0x8996, - 22700 - 11905: 0x8997, - 22701 - 11905: 0x8998, - 22702 - 11905: 0x8999, - 22703 - 11905: 0x899A, - 22704 - 11905: 0x899B, - 22705 - 11905: 0x899C, - 22706 - 11905: 0x899D, - 22707 - 11905: 0x899E, - 22708 - 11905: 0x899F, - 22709 - 11905: 0x89A0, - 22710 - 11905: 0x89A1, - 22711 - 11905: 0x89A2, - 22712 - 11905: 0x89A3, - 22713 - 11905: 0x89A4, - 22714 - 11905: 0x89A5, - 22715 - 11905: 0x89A6, - 22716 - 11905: 0xDBD4, - 22717 - 11905: 0x89A7, - 22718 - 11905: 0x89A8, - 22719 - 11905: 0x89A9, - 22720 - 11905: 0x89AA, - 22721 - 11905: 0xB1DA, - 22722 - 11905: 0x89AB, - 22723 - 11905: 0x89AC, - 22724 - 11905: 0x89AD, - 22725 - 11905: 0xDBD5, - 22726 - 11905: 0x89AE, - 22727 - 11905: 0x89AF, - 22728 - 11905: 0x89B0, - 22729 - 11905: 0x89B1, - 22730 - 11905: 0x89B2, - 22731 - 11905: 0x89B3, - 22732 - 11905: 0x89B4, - 22733 - 11905: 0x89B5, - 22734 - 11905: 0x89B6, - 22735 - 11905: 0x89B7, - 22736 - 11905: 0x89B8, - 22737 - 11905: 0xDBD6, - 22738 - 11905: 0x89B9, - 22739 - 11905: 0x89BA, - 22740 - 11905: 0x89BB, - 22741 - 11905: 0xBABE, - 22742 - 11905: 0x89BC, - 22743 - 11905: 0x89BD, - 22744 - 11905: 0x89BE, - 22745 - 11905: 0x89BF, - 22746 - 11905: 0x89C0, - 22747 - 11905: 0x89C1, - 22748 - 11905: 0x89C2, - 22749 - 11905: 0x89C3, - 22750 - 11905: 0x89C4, - 22751 - 11905: 0x89C5, - 22752 - 11905: 0x89C6, - 22753 - 11905: 0x89C7, - 22754 - 11905: 0x89C8, - 22755 - 11905: 0x89C9, - 22756 - 11905: 0xC8C0, - 22757 - 11905: 0x89CA, - 22758 - 11905: 0x89CB, - 22759 - 11905: 0x89CC, - 22760 - 11905: 0x89CD, - 22761 - 11905: 0x89CE, - 22762 - 11905: 0x89CF, - 22763 - 11905: 0xCABF, - 22764 - 11905: 0xC8C9, - 22765 - 11905: 0x89D0, - 22766 - 11905: 0xD7B3, - 22767 - 11905: 0x89D1, - 22768 - 11905: 0xC9F9, - 22769 - 11905: 0x89D2, - 22770 - 11905: 0x89D3, - 22771 - 11905: 0xBFC7, - 22772 - 11905: 0x89D4, - 22773 - 11905: 0x89D5, - 22774 - 11905: 0xBAF8, - 22775 - 11905: 0x89D6, - 22776 - 11905: 0x89D7, - 22777 - 11905: 0xD2BC, - 22778 - 11905: 0x89D8, - 22779 - 11905: 0x89D9, - 22780 - 11905: 0x89DA, - 22781 - 11905: 0x89DB, - 22782 - 11905: 0x89DC, - 22783 - 11905: 0x89DD, - 22784 - 11905: 0x89DE, - 22785 - 11905: 0x89DF, - 22786 - 11905: 0xE2BA, - 22787 - 11905: 0x89E0, - 22788 - 11905: 0xB4A6, - 22789 - 11905: 0x89E1, - 22790 - 11905: 0x89E2, - 22791 - 11905: 0xB1B8, - 22792 - 11905: 0x89E3, - 22793 - 11905: 0x89E4, - 22794 - 11905: 0x89E5, - 22795 - 11905: 0x89E6, - 22796 - 11905: 0x89E7, - 22797 - 11905: 0xB8B4, - 22798 - 11905: 0x89E8, - 22799 - 11905: 0xCFC4, - 22800 - 11905: 0x89E9, - 22801 - 11905: 0x89EA, - 22802 - 11905: 0x89EB, - 22803 - 11905: 0x89EC, - 22804 - 11905: 0xD9E7, - 22805 - 11905: 0xCFA6, - 22806 - 11905: 0xCDE2, - 22807 - 11905: 0x89ED, - 22808 - 11905: 0x89EE, - 22809 - 11905: 0xD9ED, - 22810 - 11905: 0xB6E0, - 22811 - 11905: 0x89EF, - 22812 - 11905: 0xD2B9, - 22813 - 11905: 0x89F0, - 22814 - 11905: 0x89F1, - 22815 - 11905: 0xB9BB, - 22816 - 11905: 0x89F2, - 22817 - 11905: 0x89F3, - 22818 - 11905: 0x89F4, - 22819 - 11905: 0x89F5, - 22820 - 11905: 0xE2B9, - 22821 - 11905: 0xE2B7, - 22822 - 11905: 0x89F6, - 22823 - 11905: 0xB4F3, - 22824 - 11905: 0x89F7, - 22825 - 11905: 0xCCEC, - 22826 - 11905: 0xCCAB, - 22827 - 11905: 0xB7F2, - 22828 - 11905: 0x89F8, - 22829 - 11905: 0xD8B2, - 22830 - 11905: 0xD1EB, - 22831 - 11905: 0xBABB, - 22832 - 11905: 0x89F9, - 22833 - 11905: 0xCAA7, - 22834 - 11905: 0x89FA, - 22835 - 11905: 0x89FB, - 22836 - 11905: 0xCDB7, - 22837 - 11905: 0x89FC, - 22838 - 11905: 0x89FD, - 22839 - 11905: 0xD2C4, - 22840 - 11905: 0xBFE4, - 22841 - 11905: 0xBCD0, - 22842 - 11905: 0xB6E1, - 22843 - 11905: 0x89FE, - 22844 - 11905: 0xDEC5, - 22845 - 11905: 0x8A40, - 22846 - 11905: 0x8A41, - 22847 - 11905: 0x8A42, - 22848 - 11905: 0x8A43, - 22849 - 11905: 0xDEC6, - 22850 - 11905: 0xDBBC, - 22851 - 11905: 0x8A44, - 22852 - 11905: 0xD1D9, - 22853 - 11905: 0x8A45, - 22854 - 11905: 0x8A46, - 22855 - 11905: 0xC6E6, - 22856 - 11905: 0xC4CE, - 22857 - 11905: 0xB7EE, - 22858 - 11905: 0x8A47, - 22859 - 11905: 0xB7DC, - 22860 - 11905: 0x8A48, - 22861 - 11905: 0x8A49, - 22862 - 11905: 0xBFFC, - 22863 - 11905: 0xD7E0, - 22864 - 11905: 0x8A4A, - 22865 - 11905: 0xC6F5, - 22866 - 11905: 0x8A4B, - 22867 - 11905: 0x8A4C, - 22868 - 11905: 0xB1BC, - 22869 - 11905: 0xDEC8, - 22870 - 11905: 0xBDB1, - 22871 - 11905: 0xCCD7, - 22872 - 11905: 0xDECA, - 22873 - 11905: 0x8A4D, - 22874 - 11905: 0xDEC9, - 22875 - 11905: 0x8A4E, - 22876 - 11905: 0x8A4F, - 22877 - 11905: 0x8A50, - 22878 - 11905: 0x8A51, - 22879 - 11905: 0x8A52, - 22880 - 11905: 0xB5EC, - 22881 - 11905: 0x8A53, - 22882 - 11905: 0xC9DD, - 22883 - 11905: 0x8A54, - 22884 - 11905: 0x8A55, - 22885 - 11905: 0xB0C2, - 22886 - 11905: 0x8A56, - 22887 - 11905: 0x8A57, - 22888 - 11905: 0x8A58, - 22889 - 11905: 0x8A59, - 22890 - 11905: 0x8A5A, - 22891 - 11905: 0x8A5B, - 22892 - 11905: 0x8A5C, - 22893 - 11905: 0x8A5D, - 22894 - 11905: 0x8A5E, - 22895 - 11905: 0x8A5F, - 22896 - 11905: 0x8A60, - 22897 - 11905: 0x8A61, - 22898 - 11905: 0x8A62, - 22899 - 11905: 0xC5AE, - 22900 - 11905: 0xC5AB, - 22901 - 11905: 0x8A63, - 22902 - 11905: 0xC4CC, - 22903 - 11905: 0x8A64, - 22904 - 11905: 0xBCE9, - 22905 - 11905: 0xCBFD, - 22906 - 11905: 0x8A65, - 22907 - 11905: 0x8A66, - 22908 - 11905: 0x8A67, - 22909 - 11905: 0xBAC3, - 22910 - 11905: 0x8A68, - 22911 - 11905: 0x8A69, - 22912 - 11905: 0x8A6A, - 22913 - 11905: 0xE5F9, - 22914 - 11905: 0xC8E7, - 22915 - 11905: 0xE5FA, - 22916 - 11905: 0xCDFD, - 22917 - 11905: 0x8A6B, - 22918 - 11905: 0xD7B1, - 22919 - 11905: 0xB8BE, - 22920 - 11905: 0xC2E8, - 22921 - 11905: 0x8A6C, - 22922 - 11905: 0xC8D1, - 22923 - 11905: 0x8A6D, - 22924 - 11905: 0x8A6E, - 22925 - 11905: 0xE5FB, - 22926 - 11905: 0x8A6F, - 22927 - 11905: 0x8A70, - 22928 - 11905: 0x8A71, - 22929 - 11905: 0x8A72, - 22930 - 11905: 0xB6CA, - 22931 - 11905: 0xBCCB, - 22932 - 11905: 0x8A73, - 22933 - 11905: 0x8A74, - 22934 - 11905: 0xD1FD, - 22935 - 11905: 0xE6A1, - 22936 - 11905: 0x8A75, - 22937 - 11905: 0xC3EE, - 22938 - 11905: 0x8A76, - 22939 - 11905: 0x8A77, - 22940 - 11905: 0x8A78, - 22941 - 11905: 0x8A79, - 22942 - 11905: 0xE6A4, - 22943 - 11905: 0x8A7A, - 22944 - 11905: 0x8A7B, - 22945 - 11905: 0x8A7C, - 22946 - 11905: 0x8A7D, - 22947 - 11905: 0xE5FE, - 22948 - 11905: 0xE6A5, - 22949 - 11905: 0xCDD7, - 22950 - 11905: 0x8A7E, - 22951 - 11905: 0x8A80, - 22952 - 11905: 0xB7C1, - 22953 - 11905: 0xE5FC, - 22954 - 11905: 0xE5FD, - 22955 - 11905: 0xE6A3, - 22956 - 11905: 0x8A81, - 22957 - 11905: 0x8A82, - 22958 - 11905: 0xC4DD, - 22959 - 11905: 0xE6A8, - 22960 - 11905: 0x8A83, - 22961 - 11905: 0x8A84, - 22962 - 11905: 0xE6A7, - 22963 - 11905: 0x8A85, - 22964 - 11905: 0x8A86, - 22965 - 11905: 0x8A87, - 22966 - 11905: 0x8A88, - 22967 - 11905: 0x8A89, - 22968 - 11905: 0x8A8A, - 22969 - 11905: 0xC3C3, - 22970 - 11905: 0x8A8B, - 22971 - 11905: 0xC6DE, - 22972 - 11905: 0x8A8C, - 22973 - 11905: 0x8A8D, - 22974 - 11905: 0xE6AA, - 22975 - 11905: 0x8A8E, - 22976 - 11905: 0x8A8F, - 22977 - 11905: 0x8A90, - 22978 - 11905: 0x8A91, - 22979 - 11905: 0x8A92, - 22980 - 11905: 0x8A93, - 22981 - 11905: 0x8A94, - 22982 - 11905: 0xC4B7, - 22983 - 11905: 0x8A95, - 22984 - 11905: 0x8A96, - 22985 - 11905: 0x8A97, - 22986 - 11905: 0xE6A2, - 22987 - 11905: 0xCABC, - 22988 - 11905: 0x8A98, - 22989 - 11905: 0x8A99, - 22990 - 11905: 0x8A9A, - 22991 - 11905: 0x8A9B, - 22992 - 11905: 0xBDE3, - 22993 - 11905: 0xB9C3, - 22994 - 11905: 0xE6A6, - 22995 - 11905: 0xD0D5, - 22996 - 11905: 0xCEAF, - 22997 - 11905: 0x8A9C, - 22998 - 11905: 0x8A9D, - 22999 - 11905: 0xE6A9, - 23000 - 11905: 0xE6B0, - 23001 - 11905: 0x8A9E, - 23002 - 11905: 0xD2A6, - 23003 - 11905: 0x8A9F, - 23004 - 11905: 0xBDAA, - 23005 - 11905: 0xE6AD, - 23006 - 11905: 0x8AA0, - 23007 - 11905: 0x8AA1, - 23008 - 11905: 0x8AA2, - 23009 - 11905: 0x8AA3, - 23010 - 11905: 0x8AA4, - 23011 - 11905: 0xE6AF, - 23012 - 11905: 0x8AA5, - 23013 - 11905: 0xC0D1, - 23014 - 11905: 0x8AA6, - 23015 - 11905: 0x8AA7, - 23016 - 11905: 0xD2CC, - 23017 - 11905: 0x8AA8, - 23018 - 11905: 0x8AA9, - 23019 - 11905: 0x8AAA, - 23020 - 11905: 0xBCA7, - 23021 - 11905: 0x8AAB, - 23022 - 11905: 0x8AAC, - 23023 - 11905: 0x8AAD, - 23024 - 11905: 0x8AAE, - 23025 - 11905: 0x8AAF, - 23026 - 11905: 0x8AB0, - 23027 - 11905: 0x8AB1, - 23028 - 11905: 0x8AB2, - 23029 - 11905: 0x8AB3, - 23030 - 11905: 0x8AB4, - 23031 - 11905: 0x8AB5, - 23032 - 11905: 0x8AB6, - 23033 - 11905: 0xE6B1, - 23034 - 11905: 0x8AB7, - 23035 - 11905: 0xD2F6, - 23036 - 11905: 0x8AB8, - 23037 - 11905: 0x8AB9, - 23038 - 11905: 0x8ABA, - 23039 - 11905: 0xD7CB, - 23040 - 11905: 0x8ABB, - 23041 - 11905: 0xCDFE, - 23042 - 11905: 0x8ABC, - 23043 - 11905: 0xCDDE, - 23044 - 11905: 0xC2A6, - 23045 - 11905: 0xE6AB, - 23046 - 11905: 0xE6AC, - 23047 - 11905: 0xBDBF, - 23048 - 11905: 0xE6AE, - 23049 - 11905: 0xE6B3, - 23050 - 11905: 0x8ABD, - 23051 - 11905: 0x8ABE, - 23052 - 11905: 0xE6B2, - 23053 - 11905: 0x8ABF, - 23054 - 11905: 0x8AC0, - 23055 - 11905: 0x8AC1, - 23056 - 11905: 0x8AC2, - 23057 - 11905: 0xE6B6, - 23058 - 11905: 0x8AC3, - 23059 - 11905: 0xE6B8, - 23060 - 11905: 0x8AC4, - 23061 - 11905: 0x8AC5, - 23062 - 11905: 0x8AC6, - 23063 - 11905: 0x8AC7, - 23064 - 11905: 0xC4EF, - 23065 - 11905: 0x8AC8, - 23066 - 11905: 0x8AC9, - 23067 - 11905: 0x8ACA, - 23068 - 11905: 0xC4C8, - 23069 - 11905: 0x8ACB, - 23070 - 11905: 0x8ACC, - 23071 - 11905: 0xBEEA, - 23072 - 11905: 0xC9EF, - 23073 - 11905: 0x8ACD, - 23074 - 11905: 0x8ACE, - 23075 - 11905: 0xE6B7, - 23076 - 11905: 0x8ACF, - 23077 - 11905: 0xB6F0, - 23078 - 11905: 0x8AD0, - 23079 - 11905: 0x8AD1, - 23080 - 11905: 0x8AD2, - 23081 - 11905: 0xC3E4, - 23082 - 11905: 0x8AD3, - 23083 - 11905: 0x8AD4, - 23084 - 11905: 0x8AD5, - 23085 - 11905: 0x8AD6, - 23086 - 11905: 0x8AD7, - 23087 - 11905: 0x8AD8, - 23088 - 11905: 0x8AD9, - 23089 - 11905: 0xD3E9, - 23090 - 11905: 0xE6B4, - 23091 - 11905: 0x8ADA, - 23092 - 11905: 0xE6B5, - 23093 - 11905: 0x8ADB, - 23094 - 11905: 0xC8A2, - 23095 - 11905: 0x8ADC, - 23096 - 11905: 0x8ADD, - 23097 - 11905: 0x8ADE, - 23098 - 11905: 0x8ADF, - 23099 - 11905: 0x8AE0, - 23100 - 11905: 0xE6BD, - 23101 - 11905: 0x8AE1, - 23102 - 11905: 0x8AE2, - 23103 - 11905: 0x8AE3, - 23104 - 11905: 0xE6B9, - 23105 - 11905: 0x8AE4, - 23106 - 11905: 0x8AE5, - 23107 - 11905: 0x8AE6, - 23108 - 11905: 0x8AE7, - 23109 - 11905: 0x8AE8, - 23110 - 11905: 0xC6C5, - 23111 - 11905: 0x8AE9, - 23112 - 11905: 0x8AEA, - 23113 - 11905: 0xCDF1, - 23114 - 11905: 0xE6BB, - 23115 - 11905: 0x8AEB, - 23116 - 11905: 0x8AEC, - 23117 - 11905: 0x8AED, - 23118 - 11905: 0x8AEE, - 23119 - 11905: 0x8AEF, - 23120 - 11905: 0x8AF0, - 23121 - 11905: 0x8AF1, - 23122 - 11905: 0x8AF2, - 23123 - 11905: 0x8AF3, - 23124 - 11905: 0x8AF4, - 23125 - 11905: 0xE6BC, - 23126 - 11905: 0x8AF5, - 23127 - 11905: 0x8AF6, - 23128 - 11905: 0x8AF7, - 23129 - 11905: 0x8AF8, - 23130 - 11905: 0xBBE9, - 23131 - 11905: 0x8AF9, - 23132 - 11905: 0x8AFA, - 23133 - 11905: 0x8AFB, - 23134 - 11905: 0x8AFC, - 23135 - 11905: 0x8AFD, - 23136 - 11905: 0x8AFE, - 23137 - 11905: 0x8B40, - 23138 - 11905: 0xE6BE, - 23139 - 11905: 0x8B41, - 23140 - 11905: 0x8B42, - 23141 - 11905: 0x8B43, - 23142 - 11905: 0x8B44, - 23143 - 11905: 0xE6BA, - 23144 - 11905: 0x8B45, - 23145 - 11905: 0x8B46, - 23146 - 11905: 0xC0B7, - 23147 - 11905: 0x8B47, - 23148 - 11905: 0x8B48, - 23149 - 11905: 0x8B49, - 23150 - 11905: 0x8B4A, - 23151 - 11905: 0x8B4B, - 23152 - 11905: 0x8B4C, - 23153 - 11905: 0x8B4D, - 23154 - 11905: 0x8B4E, - 23155 - 11905: 0x8B4F, - 23156 - 11905: 0xD3A4, - 23157 - 11905: 0xE6BF, - 23158 - 11905: 0xC9F4, - 23159 - 11905: 0xE6C3, - 23160 - 11905: 0x8B50, - 23161 - 11905: 0x8B51, - 23162 - 11905: 0xE6C4, - 23163 - 11905: 0x8B52, - 23164 - 11905: 0x8B53, - 23165 - 11905: 0x8B54, - 23166 - 11905: 0x8B55, - 23167 - 11905: 0xD0F6, - 23168 - 11905: 0x8B56, - 23169 - 11905: 0x8B57, - 23170 - 11905: 0x8B58, - 23171 - 11905: 0x8B59, - 23172 - 11905: 0x8B5A, - 23173 - 11905: 0x8B5B, - 23174 - 11905: 0x8B5C, - 23175 - 11905: 0x8B5D, - 23176 - 11905: 0x8B5E, - 23177 - 11905: 0x8B5F, - 23178 - 11905: 0x8B60, - 23179 - 11905: 0x8B61, - 23180 - 11905: 0x8B62, - 23181 - 11905: 0x8B63, - 23182 - 11905: 0x8B64, - 23183 - 11905: 0x8B65, - 23184 - 11905: 0x8B66, - 23185 - 11905: 0x8B67, - 23186 - 11905: 0xC3BD, - 23187 - 11905: 0x8B68, - 23188 - 11905: 0x8B69, - 23189 - 11905: 0x8B6A, - 23190 - 11905: 0x8B6B, - 23191 - 11905: 0x8B6C, - 23192 - 11905: 0x8B6D, - 23193 - 11905: 0x8B6E, - 23194 - 11905: 0xC3C4, - 23195 - 11905: 0xE6C2, - 23196 - 11905: 0x8B6F, - 23197 - 11905: 0x8B70, - 23198 - 11905: 0x8B71, - 23199 - 11905: 0x8B72, - 23200 - 11905: 0x8B73, - 23201 - 11905: 0x8B74, - 23202 - 11905: 0x8B75, - 23203 - 11905: 0x8B76, - 23204 - 11905: 0x8B77, - 23205 - 11905: 0x8B78, - 23206 - 11905: 0x8B79, - 23207 - 11905: 0x8B7A, - 23208 - 11905: 0x8B7B, - 23209 - 11905: 0x8B7C, - 23210 - 11905: 0xE6C1, - 23211 - 11905: 0x8B7D, - 23212 - 11905: 0x8B7E, - 23213 - 11905: 0x8B80, - 23214 - 11905: 0x8B81, - 23215 - 11905: 0x8B82, - 23216 - 11905: 0x8B83, - 23217 - 11905: 0x8B84, - 23218 - 11905: 0xE6C7, - 23219 - 11905: 0xCFB1, - 23220 - 11905: 0x8B85, - 23221 - 11905: 0xEBF4, - 23222 - 11905: 0x8B86, - 23223 - 11905: 0x8B87, - 23224 - 11905: 0xE6CA, - 23225 - 11905: 0x8B88, - 23226 - 11905: 0x8B89, - 23227 - 11905: 0x8B8A, - 23228 - 11905: 0x8B8B, - 23229 - 11905: 0x8B8C, - 23230 - 11905: 0xE6C5, - 23231 - 11905: 0x8B8D, - 23232 - 11905: 0x8B8E, - 23233 - 11905: 0xBCDE, - 23234 - 11905: 0xC9A9, - 23235 - 11905: 0x8B8F, - 23236 - 11905: 0x8B90, - 23237 - 11905: 0x8B91, - 23238 - 11905: 0x8B92, - 23239 - 11905: 0x8B93, - 23240 - 11905: 0x8B94, - 23241 - 11905: 0xBCB5, - 23242 - 11905: 0x8B95, - 23243 - 11905: 0x8B96, - 23244 - 11905: 0xCFD3, - 23245 - 11905: 0x8B97, - 23246 - 11905: 0x8B98, - 23247 - 11905: 0x8B99, - 23248 - 11905: 0x8B9A, - 23249 - 11905: 0x8B9B, - 23250 - 11905: 0xE6C8, - 23251 - 11905: 0x8B9C, - 23252 - 11905: 0xE6C9, - 23253 - 11905: 0x8B9D, - 23254 - 11905: 0xE6CE, - 23255 - 11905: 0x8B9E, - 23256 - 11905: 0xE6D0, - 23257 - 11905: 0x8B9F, - 23258 - 11905: 0x8BA0, - 23259 - 11905: 0x8BA1, - 23260 - 11905: 0xE6D1, - 23261 - 11905: 0x8BA2, - 23262 - 11905: 0x8BA3, - 23263 - 11905: 0x8BA4, - 23264 - 11905: 0xE6CB, - 23265 - 11905: 0xB5D5, - 23266 - 11905: 0x8BA5, - 23267 - 11905: 0xE6CC, - 23268 - 11905: 0x8BA6, - 23269 - 11905: 0x8BA7, - 23270 - 11905: 0xE6CF, - 23271 - 11905: 0x8BA8, - 23272 - 11905: 0x8BA9, - 23273 - 11905: 0xC4DB, - 23274 - 11905: 0x8BAA, - 23275 - 11905: 0xE6C6, - 23276 - 11905: 0x8BAB, - 23277 - 11905: 0x8BAC, - 23278 - 11905: 0x8BAD, - 23279 - 11905: 0x8BAE, - 23280 - 11905: 0x8BAF, - 23281 - 11905: 0xE6CD, - 23282 - 11905: 0x8BB0, - 23283 - 11905: 0x8BB1, - 23284 - 11905: 0x8BB2, - 23285 - 11905: 0x8BB3, - 23286 - 11905: 0x8BB4, - 23287 - 11905: 0x8BB5, - 23288 - 11905: 0x8BB6, - 23289 - 11905: 0x8BB7, - 23290 - 11905: 0x8BB8, - 23291 - 11905: 0x8BB9, - 23292 - 11905: 0x8BBA, - 23293 - 11905: 0x8BBB, - 23294 - 11905: 0x8BBC, - 23295 - 11905: 0x8BBD, - 23296 - 11905: 0x8BBE, - 23297 - 11905: 0x8BBF, - 23298 - 11905: 0x8BC0, - 23299 - 11905: 0x8BC1, - 23300 - 11905: 0x8BC2, - 23301 - 11905: 0x8BC3, - 23302 - 11905: 0x8BC4, - 23303 - 11905: 0x8BC5, - 23304 - 11905: 0x8BC6, - 23305 - 11905: 0xE6D2, - 23306 - 11905: 0x8BC7, - 23307 - 11905: 0x8BC8, - 23308 - 11905: 0x8BC9, - 23309 - 11905: 0x8BCA, - 23310 - 11905: 0x8BCB, - 23311 - 11905: 0x8BCC, - 23312 - 11905: 0x8BCD, - 23313 - 11905: 0x8BCE, - 23314 - 11905: 0x8BCF, - 23315 - 11905: 0x8BD0, - 23316 - 11905: 0x8BD1, - 23317 - 11905: 0x8BD2, - 23318 - 11905: 0xE6D4, - 23319 - 11905: 0xE6D3, - 23320 - 11905: 0x8BD3, - 23321 - 11905: 0x8BD4, - 23322 - 11905: 0x8BD5, - 23323 - 11905: 0x8BD6, - 23324 - 11905: 0x8BD7, - 23325 - 11905: 0x8BD8, - 23326 - 11905: 0x8BD9, - 23327 - 11905: 0x8BDA, - 23328 - 11905: 0x8BDB, - 23329 - 11905: 0x8BDC, - 23330 - 11905: 0x8BDD, - 23331 - 11905: 0x8BDE, - 23332 - 11905: 0x8BDF, - 23333 - 11905: 0x8BE0, - 23334 - 11905: 0x8BE1, - 23335 - 11905: 0x8BE2, - 23336 - 11905: 0x8BE3, - 23337 - 11905: 0x8BE4, - 23338 - 11905: 0x8BE5, - 23339 - 11905: 0x8BE6, - 23340 - 11905: 0x8BE7, - 23341 - 11905: 0x8BE8, - 23342 - 11905: 0x8BE9, - 23343 - 11905: 0x8BEA, - 23344 - 11905: 0x8BEB, - 23345 - 11905: 0x8BEC, - 23346 - 11905: 0xE6D5, - 23347 - 11905: 0x8BED, - 23348 - 11905: 0xD9F8, - 23349 - 11905: 0x8BEE, - 23350 - 11905: 0x8BEF, - 23351 - 11905: 0xE6D6, - 23352 - 11905: 0x8BF0, - 23353 - 11905: 0x8BF1, - 23354 - 11905: 0x8BF2, - 23355 - 11905: 0x8BF3, - 23356 - 11905: 0x8BF4, - 23357 - 11905: 0x8BF5, - 23358 - 11905: 0x8BF6, - 23359 - 11905: 0x8BF7, - 23360 - 11905: 0xE6D7, - 23361 - 11905: 0x8BF8, - 23362 - 11905: 0x8BF9, - 23363 - 11905: 0x8BFA, - 23364 - 11905: 0x8BFB, - 23365 - 11905: 0x8BFC, - 23366 - 11905: 0x8BFD, - 23367 - 11905: 0x8BFE, - 23368 - 11905: 0x8C40, - 23369 - 11905: 0x8C41, - 23370 - 11905: 0x8C42, - 23371 - 11905: 0x8C43, - 23372 - 11905: 0x8C44, - 23373 - 11905: 0x8C45, - 23374 - 11905: 0x8C46, - 23375 - 11905: 0x8C47, - 23376 - 11905: 0xD7D3, - 23377 - 11905: 0xE6DD, - 23378 - 11905: 0x8C48, - 23379 - 11905: 0xE6DE, - 23380 - 11905: 0xBFD7, - 23381 - 11905: 0xD4D0, - 23382 - 11905: 0x8C49, - 23383 - 11905: 0xD7D6, - 23384 - 11905: 0xB4E6, - 23385 - 11905: 0xCBEF, - 23386 - 11905: 0xE6DA, - 23387 - 11905: 0xD8C3, - 23388 - 11905: 0xD7CE, - 23389 - 11905: 0xD0A2, - 23390 - 11905: 0x8C4A, - 23391 - 11905: 0xC3CF, - 23392 - 11905: 0x8C4B, - 23393 - 11905: 0x8C4C, - 23394 - 11905: 0xE6DF, - 23395 - 11905: 0xBCBE, - 23396 - 11905: 0xB9C2, - 23397 - 11905: 0xE6DB, - 23398 - 11905: 0xD1A7, - 23399 - 11905: 0x8C4D, - 23400 - 11905: 0x8C4E, - 23401 - 11905: 0xBAA2, - 23402 - 11905: 0xC2CF, - 23403 - 11905: 0x8C4F, - 23404 - 11905: 0xD8AB, - 23405 - 11905: 0x8C50, - 23406 - 11905: 0x8C51, - 23407 - 11905: 0x8C52, - 23408 - 11905: 0xCAEB, - 23409 - 11905: 0xE5EE, - 23410 - 11905: 0x8C53, - 23411 - 11905: 0xE6DC, - 23412 - 11905: 0x8C54, - 23413 - 11905: 0xB7F5, - 23414 - 11905: 0x8C55, - 23415 - 11905: 0x8C56, - 23416 - 11905: 0x8C57, - 23417 - 11905: 0x8C58, - 23418 - 11905: 0xC8E6, - 23419 - 11905: 0x8C59, - 23420 - 11905: 0x8C5A, - 23421 - 11905: 0xC4F5, - 23422 - 11905: 0x8C5B, - 23423 - 11905: 0x8C5C, - 23424 - 11905: 0xE5B2, - 23425 - 11905: 0xC4FE, - 23426 - 11905: 0x8C5D, - 23427 - 11905: 0xCBFC, - 23428 - 11905: 0xE5B3, - 23429 - 11905: 0xD5AC, - 23430 - 11905: 0x8C5E, - 23431 - 11905: 0xD3EE, - 23432 - 11905: 0xCAD8, - 23433 - 11905: 0xB0B2, - 23434 - 11905: 0x8C5F, - 23435 - 11905: 0xCBCE, - 23436 - 11905: 0xCDEA, - 23437 - 11905: 0x8C60, - 23438 - 11905: 0x8C61, - 23439 - 11905: 0xBAEA, - 23440 - 11905: 0x8C62, - 23441 - 11905: 0x8C63, - 23442 - 11905: 0x8C64, - 23443 - 11905: 0xE5B5, - 23444 - 11905: 0x8C65, - 23445 - 11905: 0xE5B4, - 23446 - 11905: 0x8C66, - 23447 - 11905: 0xD7DA, - 23448 - 11905: 0xB9D9, - 23449 - 11905: 0xD6E6, - 23450 - 11905: 0xB6A8, - 23451 - 11905: 0xCDF0, - 23452 - 11905: 0xD2CB, - 23453 - 11905: 0xB1A6, - 23454 - 11905: 0xCAB5, - 23455 - 11905: 0x8C67, - 23456 - 11905: 0xB3E8, - 23457 - 11905: 0xC9F3, - 23458 - 11905: 0xBFCD, - 23459 - 11905: 0xD0FB, - 23460 - 11905: 0xCAD2, - 23461 - 11905: 0xE5B6, - 23462 - 11905: 0xBBC2, - 23463 - 11905: 0x8C68, - 23464 - 11905: 0x8C69, - 23465 - 11905: 0x8C6A, - 23466 - 11905: 0xCFDC, - 23467 - 11905: 0xB9AC, - 23468 - 11905: 0x8C6B, - 23469 - 11905: 0x8C6C, - 23470 - 11905: 0x8C6D, - 23471 - 11905: 0x8C6E, - 23472 - 11905: 0xD4D7, - 23473 - 11905: 0x8C6F, - 23474 - 11905: 0x8C70, - 23475 - 11905: 0xBAA6, - 23476 - 11905: 0xD1E7, - 23477 - 11905: 0xCFFC, - 23478 - 11905: 0xBCD2, - 23479 - 11905: 0x8C71, - 23480 - 11905: 0xE5B7, - 23481 - 11905: 0xC8DD, - 23482 - 11905: 0x8C72, - 23483 - 11905: 0x8C73, - 23484 - 11905: 0x8C74, - 23485 - 11905: 0xBFED, - 23486 - 11905: 0xB1F6, - 23487 - 11905: 0xCBDE, - 23488 - 11905: 0x8C75, - 23489 - 11905: 0x8C76, - 23490 - 11905: 0xBCC5, - 23491 - 11905: 0x8C77, - 23492 - 11905: 0xBCC4, - 23493 - 11905: 0xD2FA, - 23494 - 11905: 0xC3DC, - 23495 - 11905: 0xBFDC, - 23496 - 11905: 0x8C78, - 23497 - 11905: 0x8C79, - 23498 - 11905: 0x8C7A, - 23499 - 11905: 0x8C7B, - 23500 - 11905: 0xB8BB, - 23501 - 11905: 0x8C7C, - 23502 - 11905: 0x8C7D, - 23503 - 11905: 0x8C7E, - 23504 - 11905: 0xC3C2, - 23505 - 11905: 0x8C80, - 23506 - 11905: 0xBAAE, - 23507 - 11905: 0xD4A2, - 23508 - 11905: 0x8C81, - 23509 - 11905: 0x8C82, - 23510 - 11905: 0x8C83, - 23511 - 11905: 0x8C84, - 23512 - 11905: 0x8C85, - 23513 - 11905: 0x8C86, - 23514 - 11905: 0x8C87, - 23515 - 11905: 0x8C88, - 23516 - 11905: 0x8C89, - 23517 - 11905: 0xC7DE, - 23518 - 11905: 0xC4AF, - 23519 - 11905: 0xB2EC, - 23520 - 11905: 0x8C8A, - 23521 - 11905: 0xB9D1, - 23522 - 11905: 0x8C8B, - 23523 - 11905: 0x8C8C, - 23524 - 11905: 0xE5BB, - 23525 - 11905: 0xC1C8, - 23526 - 11905: 0x8C8D, - 23527 - 11905: 0x8C8E, - 23528 - 11905: 0xD5AF, - 23529 - 11905: 0x8C8F, - 23530 - 11905: 0x8C90, - 23531 - 11905: 0x8C91, - 23532 - 11905: 0x8C92, - 23533 - 11905: 0x8C93, - 23534 - 11905: 0xE5BC, - 23535 - 11905: 0x8C94, - 23536 - 11905: 0xE5BE, - 23537 - 11905: 0x8C95, - 23538 - 11905: 0x8C96, - 23539 - 11905: 0x8C97, - 23540 - 11905: 0x8C98, - 23541 - 11905: 0x8C99, - 23542 - 11905: 0x8C9A, - 23543 - 11905: 0x8C9B, - 23544 - 11905: 0xB4E7, - 23545 - 11905: 0xB6D4, - 23546 - 11905: 0xCBC2, - 23547 - 11905: 0xD1B0, - 23548 - 11905: 0xB5BC, - 23549 - 11905: 0x8C9C, - 23550 - 11905: 0x8C9D, - 23551 - 11905: 0xCAD9, - 23552 - 11905: 0x8C9E, - 23553 - 11905: 0xB7E2, - 23554 - 11905: 0x8C9F, - 23555 - 11905: 0x8CA0, - 23556 - 11905: 0xC9E4, - 23557 - 11905: 0x8CA1, - 23558 - 11905: 0xBDAB, - 23559 - 11905: 0x8CA2, - 23560 - 11905: 0x8CA3, - 23561 - 11905: 0xCEBE, - 23562 - 11905: 0xD7F0, - 23563 - 11905: 0x8CA4, - 23564 - 11905: 0x8CA5, - 23565 - 11905: 0x8CA6, - 23566 - 11905: 0x8CA7, - 23567 - 11905: 0xD0A1, - 23568 - 11905: 0x8CA8, - 23569 - 11905: 0xC9D9, - 23570 - 11905: 0x8CA9, - 23571 - 11905: 0x8CAA, - 23572 - 11905: 0xB6FB, - 23573 - 11905: 0xE6D8, - 23574 - 11905: 0xBCE2, - 23575 - 11905: 0x8CAB, - 23576 - 11905: 0xB3BE, - 23577 - 11905: 0x8CAC, - 23578 - 11905: 0xC9D0, - 23579 - 11905: 0x8CAD, - 23580 - 11905: 0xE6D9, - 23581 - 11905: 0xB3A2, - 23582 - 11905: 0x8CAE, - 23583 - 11905: 0x8CAF, - 23584 - 11905: 0x8CB0, - 23585 - 11905: 0x8CB1, - 23586 - 11905: 0xDECC, - 23587 - 11905: 0x8CB2, - 23588 - 11905: 0xD3C8, - 23589 - 11905: 0xDECD, - 23590 - 11905: 0x8CB3, - 23591 - 11905: 0xD2A2, - 23592 - 11905: 0x8CB4, - 23593 - 11905: 0x8CB5, - 23594 - 11905: 0x8CB6, - 23595 - 11905: 0x8CB7, - 23596 - 11905: 0xDECE, - 23597 - 11905: 0x8CB8, - 23598 - 11905: 0x8CB9, - 23599 - 11905: 0x8CBA, - 23600 - 11905: 0x8CBB, - 23601 - 11905: 0xBECD, - 23602 - 11905: 0x8CBC, - 23603 - 11905: 0x8CBD, - 23604 - 11905: 0xDECF, - 23605 - 11905: 0x8CBE, - 23606 - 11905: 0x8CBF, - 23607 - 11905: 0x8CC0, - 23608 - 11905: 0xCAAC, - 23609 - 11905: 0xD2FC, - 23610 - 11905: 0xB3DF, - 23611 - 11905: 0xE5EA, - 23612 - 11905: 0xC4E1, - 23613 - 11905: 0xBEA1, - 23614 - 11905: 0xCEB2, - 23615 - 11905: 0xC4F2, - 23616 - 11905: 0xBED6, - 23617 - 11905: 0xC6A8, - 23618 - 11905: 0xB2E3, - 23619 - 11905: 0x8CC1, - 23620 - 11905: 0x8CC2, - 23621 - 11905: 0xBED3, - 23622 - 11905: 0x8CC3, - 23623 - 11905: 0x8CC4, - 23624 - 11905: 0xC7FC, - 23625 - 11905: 0xCCEB, - 23626 - 11905: 0xBDEC, - 23627 - 11905: 0xCEDD, - 23628 - 11905: 0x8CC5, - 23629 - 11905: 0x8CC6, - 23630 - 11905: 0xCABA, - 23631 - 11905: 0xC6C1, - 23632 - 11905: 0xE5EC, - 23633 - 11905: 0xD0BC, - 23634 - 11905: 0x8CC7, - 23635 - 11905: 0x8CC8, - 23636 - 11905: 0x8CC9, - 23637 - 11905: 0xD5B9, - 23638 - 11905: 0x8CCA, - 23639 - 11905: 0x8CCB, - 23640 - 11905: 0x8CCC, - 23641 - 11905: 0xE5ED, - 23642 - 11905: 0x8CCD, - 23643 - 11905: 0x8CCE, - 23644 - 11905: 0x8CCF, - 23645 - 11905: 0x8CD0, - 23646 - 11905: 0xCAF4, - 23647 - 11905: 0x8CD1, - 23648 - 11905: 0xCDC0, - 23649 - 11905: 0xC2C5, - 23650 - 11905: 0x8CD2, - 23651 - 11905: 0xE5EF, - 23652 - 11905: 0x8CD3, - 23653 - 11905: 0xC2C4, - 23654 - 11905: 0xE5F0, - 23655 - 11905: 0x8CD4, - 23656 - 11905: 0x8CD5, - 23657 - 11905: 0x8CD6, - 23658 - 11905: 0x8CD7, - 23659 - 11905: 0x8CD8, - 23660 - 11905: 0x8CD9, - 23661 - 11905: 0x8CDA, - 23662 - 11905: 0xE5F8, - 23663 - 11905: 0xCDCD, - 23664 - 11905: 0x8CDB, - 23665 - 11905: 0xC9BD, - 23666 - 11905: 0x8CDC, - 23667 - 11905: 0x8CDD, - 23668 - 11905: 0x8CDE, - 23669 - 11905: 0x8CDF, - 23670 - 11905: 0x8CE0, - 23671 - 11905: 0x8CE1, - 23672 - 11905: 0x8CE2, - 23673 - 11905: 0xD2D9, - 23674 - 11905: 0xE1A8, - 23675 - 11905: 0x8CE3, - 23676 - 11905: 0x8CE4, - 23677 - 11905: 0x8CE5, - 23678 - 11905: 0x8CE6, - 23679 - 11905: 0xD3EC, - 23680 - 11905: 0x8CE7, - 23681 - 11905: 0xCBEA, - 23682 - 11905: 0xC6F1, - 23683 - 11905: 0x8CE8, - 23684 - 11905: 0x8CE9, - 23685 - 11905: 0x8CEA, - 23686 - 11905: 0x8CEB, - 23687 - 11905: 0x8CEC, - 23688 - 11905: 0xE1AC, - 23689 - 11905: 0x8CED, - 23690 - 11905: 0x8CEE, - 23691 - 11905: 0x8CEF, - 23692 - 11905: 0xE1A7, - 23693 - 11905: 0xE1A9, - 23694 - 11905: 0x8CF0, - 23695 - 11905: 0x8CF1, - 23696 - 11905: 0xE1AA, - 23697 - 11905: 0xE1AF, - 23698 - 11905: 0x8CF2, - 23699 - 11905: 0x8CF3, - 23700 - 11905: 0xB2ED, - 23701 - 11905: 0x8CF4, - 23702 - 11905: 0xE1AB, - 23703 - 11905: 0xB8DA, - 23704 - 11905: 0xE1AD, - 23705 - 11905: 0xE1AE, - 23706 - 11905: 0xE1B0, - 23707 - 11905: 0xB5BA, - 23708 - 11905: 0xE1B1, - 23709 - 11905: 0x8CF5, - 23710 - 11905: 0x8CF6, - 23711 - 11905: 0x8CF7, - 23712 - 11905: 0x8CF8, - 23713 - 11905: 0x8CF9, - 23714 - 11905: 0xE1B3, - 23715 - 11905: 0xE1B8, - 23716 - 11905: 0x8CFA, - 23717 - 11905: 0x8CFB, - 23718 - 11905: 0x8CFC, - 23719 - 11905: 0x8CFD, - 23720 - 11905: 0x8CFE, - 23721 - 11905: 0xD1D2, - 23722 - 11905: 0x8D40, - 23723 - 11905: 0xE1B6, - 23724 - 11905: 0xE1B5, - 23725 - 11905: 0xC1EB, - 23726 - 11905: 0x8D41, - 23727 - 11905: 0x8D42, - 23728 - 11905: 0x8D43, - 23729 - 11905: 0xE1B7, - 23730 - 11905: 0x8D44, - 23731 - 11905: 0xD4C0, - 23732 - 11905: 0x8D45, - 23733 - 11905: 0xE1B2, - 23734 - 11905: 0x8D46, - 23735 - 11905: 0xE1BA, - 23736 - 11905: 0xB0B6, - 23737 - 11905: 0x8D47, - 23738 - 11905: 0x8D48, - 23739 - 11905: 0x8D49, - 23740 - 11905: 0x8D4A, - 23741 - 11905: 0xE1B4, - 23742 - 11905: 0x8D4B, - 23743 - 11905: 0xBFF9, - 23744 - 11905: 0x8D4C, - 23745 - 11905: 0xE1B9, - 23746 - 11905: 0x8D4D, - 23747 - 11905: 0x8D4E, - 23748 - 11905: 0xE1BB, - 23749 - 11905: 0x8D4F, - 23750 - 11905: 0x8D50, - 23751 - 11905: 0x8D51, - 23752 - 11905: 0x8D52, - 23753 - 11905: 0x8D53, - 23754 - 11905: 0x8D54, - 23755 - 11905: 0xE1BE, - 23756 - 11905: 0x8D55, - 23757 - 11905: 0x8D56, - 23758 - 11905: 0x8D57, - 23759 - 11905: 0x8D58, - 23760 - 11905: 0x8D59, - 23761 - 11905: 0x8D5A, - 23762 - 11905: 0xE1BC, - 23763 - 11905: 0x8D5B, - 23764 - 11905: 0x8D5C, - 23765 - 11905: 0x8D5D, - 23766 - 11905: 0x8D5E, - 23767 - 11905: 0x8D5F, - 23768 - 11905: 0x8D60, - 23769 - 11905: 0xD6C5, - 23770 - 11905: 0x8D61, - 23771 - 11905: 0x8D62, - 23772 - 11905: 0x8D63, - 23773 - 11905: 0x8D64, - 23774 - 11905: 0x8D65, - 23775 - 11905: 0x8D66, - 23776 - 11905: 0x8D67, - 23777 - 11905: 0xCFBF, - 23778 - 11905: 0x8D68, - 23779 - 11905: 0x8D69, - 23780 - 11905: 0xE1BD, - 23781 - 11905: 0xE1BF, - 23782 - 11905: 0xC2CD, - 23783 - 11905: 0x8D6A, - 23784 - 11905: 0xB6EB, - 23785 - 11905: 0x8D6B, - 23786 - 11905: 0xD3F8, - 23787 - 11905: 0x8D6C, - 23788 - 11905: 0x8D6D, - 23789 - 11905: 0xC7CD, - 23790 - 11905: 0x8D6E, - 23791 - 11905: 0x8D6F, - 23792 - 11905: 0xB7E5, - 23793 - 11905: 0x8D70, - 23794 - 11905: 0x8D71, - 23795 - 11905: 0x8D72, - 23796 - 11905: 0x8D73, - 23797 - 11905: 0x8D74, - 23798 - 11905: 0x8D75, - 23799 - 11905: 0x8D76, - 23800 - 11905: 0x8D77, - 23801 - 11905: 0x8D78, - 23802 - 11905: 0x8D79, - 23803 - 11905: 0xBEFE, - 23804 - 11905: 0x8D7A, - 23805 - 11905: 0x8D7B, - 23806 - 11905: 0x8D7C, - 23807 - 11905: 0x8D7D, - 23808 - 11905: 0x8D7E, - 23809 - 11905: 0x8D80, - 23810 - 11905: 0xE1C0, - 23811 - 11905: 0xE1C1, - 23812 - 11905: 0x8D81, - 23813 - 11905: 0x8D82, - 23814 - 11905: 0xE1C7, - 23815 - 11905: 0xB3E7, - 23816 - 11905: 0x8D83, - 23817 - 11905: 0x8D84, - 23818 - 11905: 0x8D85, - 23819 - 11905: 0x8D86, - 23820 - 11905: 0x8D87, - 23821 - 11905: 0x8D88, - 23822 - 11905: 0xC6E9, - 23823 - 11905: 0x8D89, - 23824 - 11905: 0x8D8A, - 23825 - 11905: 0x8D8B, - 23826 - 11905: 0x8D8C, - 23827 - 11905: 0x8D8D, - 23828 - 11905: 0xB4DE, - 23829 - 11905: 0x8D8E, - 23830 - 11905: 0xD1C2, - 23831 - 11905: 0x8D8F, - 23832 - 11905: 0x8D90, - 23833 - 11905: 0x8D91, - 23834 - 11905: 0x8D92, - 23835 - 11905: 0xE1C8, - 23836 - 11905: 0x8D93, - 23837 - 11905: 0x8D94, - 23838 - 11905: 0xE1C6, - 23839 - 11905: 0x8D95, - 23840 - 11905: 0x8D96, - 23841 - 11905: 0x8D97, - 23842 - 11905: 0x8D98, - 23843 - 11905: 0x8D99, - 23844 - 11905: 0xE1C5, - 23845 - 11905: 0x8D9A, - 23846 - 11905: 0xE1C3, - 23847 - 11905: 0xE1C2, - 23848 - 11905: 0x8D9B, - 23849 - 11905: 0xB1C0, - 23850 - 11905: 0x8D9C, - 23851 - 11905: 0x8D9D, - 23852 - 11905: 0x8D9E, - 23853 - 11905: 0xD5B8, - 23854 - 11905: 0xE1C4, - 23855 - 11905: 0x8D9F, - 23856 - 11905: 0x8DA0, - 23857 - 11905: 0x8DA1, - 23858 - 11905: 0x8DA2, - 23859 - 11905: 0x8DA3, - 23860 - 11905: 0xE1CB, - 23861 - 11905: 0x8DA4, - 23862 - 11905: 0x8DA5, - 23863 - 11905: 0x8DA6, - 23864 - 11905: 0x8DA7, - 23865 - 11905: 0x8DA8, - 23866 - 11905: 0x8DA9, - 23867 - 11905: 0x8DAA, - 23868 - 11905: 0x8DAB, - 23869 - 11905: 0xE1CC, - 23870 - 11905: 0xE1CA, - 23871 - 11905: 0x8DAC, - 23872 - 11905: 0x8DAD, - 23873 - 11905: 0x8DAE, - 23874 - 11905: 0x8DAF, - 23875 - 11905: 0x8DB0, - 23876 - 11905: 0x8DB1, - 23877 - 11905: 0x8DB2, - 23878 - 11905: 0x8DB3, - 23879 - 11905: 0xEFFA, - 23880 - 11905: 0x8DB4, - 23881 - 11905: 0x8DB5, - 23882 - 11905: 0xE1D3, - 23883 - 11905: 0xE1D2, - 23884 - 11905: 0xC7B6, - 23885 - 11905: 0x8DB6, - 23886 - 11905: 0x8DB7, - 23887 - 11905: 0x8DB8, - 23888 - 11905: 0x8DB9, - 23889 - 11905: 0x8DBA, - 23890 - 11905: 0x8DBB, - 23891 - 11905: 0x8DBC, - 23892 - 11905: 0x8DBD, - 23893 - 11905: 0x8DBE, - 23894 - 11905: 0x8DBF, - 23895 - 11905: 0x8DC0, - 23896 - 11905: 0xE1C9, - 23897 - 11905: 0x8DC1, - 23898 - 11905: 0x8DC2, - 23899 - 11905: 0xE1CE, - 23900 - 11905: 0x8DC3, - 23901 - 11905: 0xE1D0, - 23902 - 11905: 0x8DC4, - 23903 - 11905: 0x8DC5, - 23904 - 11905: 0x8DC6, - 23905 - 11905: 0x8DC7, - 23906 - 11905: 0x8DC8, - 23907 - 11905: 0x8DC9, - 23908 - 11905: 0x8DCA, - 23909 - 11905: 0x8DCB, - 23910 - 11905: 0x8DCC, - 23911 - 11905: 0x8DCD, - 23912 - 11905: 0x8DCE, - 23913 - 11905: 0xE1D4, - 23914 - 11905: 0x8DCF, - 23915 - 11905: 0xE1D1, - 23916 - 11905: 0xE1CD, - 23917 - 11905: 0x8DD0, - 23918 - 11905: 0x8DD1, - 23919 - 11905: 0xE1CF, - 23920 - 11905: 0x8DD2, - 23921 - 11905: 0x8DD3, - 23922 - 11905: 0x8DD4, - 23923 - 11905: 0x8DD5, - 23924 - 11905: 0xE1D5, - 23925 - 11905: 0x8DD6, - 23926 - 11905: 0x8DD7, - 23927 - 11905: 0x8DD8, - 23928 - 11905: 0x8DD9, - 23929 - 11905: 0x8DDA, - 23930 - 11905: 0x8DDB, - 23931 - 11905: 0x8DDC, - 23932 - 11905: 0x8DDD, - 23933 - 11905: 0x8DDE, - 23934 - 11905: 0x8DDF, - 23935 - 11905: 0x8DE0, - 23936 - 11905: 0x8DE1, - 23937 - 11905: 0x8DE2, - 23938 - 11905: 0xE1D6, - 23939 - 11905: 0x8DE3, - 23940 - 11905: 0x8DE4, - 23941 - 11905: 0x8DE5, - 23942 - 11905: 0x8DE6, - 23943 - 11905: 0x8DE7, - 23944 - 11905: 0x8DE8, - 23945 - 11905: 0x8DE9, - 23946 - 11905: 0x8DEA, - 23947 - 11905: 0x8DEB, - 23948 - 11905: 0x8DEC, - 23949 - 11905: 0x8DED, - 23950 - 11905: 0x8DEE, - 23951 - 11905: 0x8DEF, - 23952 - 11905: 0x8DF0, - 23953 - 11905: 0x8DF1, - 23954 - 11905: 0x8DF2, - 23955 - 11905: 0x8DF3, - 23956 - 11905: 0x8DF4, - 23957 - 11905: 0x8DF5, - 23958 - 11905: 0x8DF6, - 23959 - 11905: 0x8DF7, - 23960 - 11905: 0x8DF8, - 23961 - 11905: 0xE1D7, - 23962 - 11905: 0x8DF9, - 23963 - 11905: 0x8DFA, - 23964 - 11905: 0x8DFB, - 23965 - 11905: 0xE1D8, - 23966 - 11905: 0x8DFC, - 23967 - 11905: 0x8DFD, - 23968 - 11905: 0x8DFE, - 23969 - 11905: 0x8E40, - 23970 - 11905: 0x8E41, - 23971 - 11905: 0x8E42, - 23972 - 11905: 0x8E43, - 23973 - 11905: 0x8E44, - 23974 - 11905: 0x8E45, - 23975 - 11905: 0x8E46, - 23976 - 11905: 0x8E47, - 23977 - 11905: 0x8E48, - 23978 - 11905: 0x8E49, - 23979 - 11905: 0x8E4A, - 23980 - 11905: 0x8E4B, - 23981 - 11905: 0x8E4C, - 23982 - 11905: 0x8E4D, - 23983 - 11905: 0x8E4E, - 23984 - 11905: 0x8E4F, - 23985 - 11905: 0x8E50, - 23986 - 11905: 0x8E51, - 23987 - 11905: 0x8E52, - 23988 - 11905: 0x8E53, - 23989 - 11905: 0x8E54, - 23990 - 11905: 0x8E55, - 23991 - 11905: 0xE1DA, - 23992 - 11905: 0x8E56, - 23993 - 11905: 0x8E57, - 23994 - 11905: 0x8E58, - 23995 - 11905: 0x8E59, - 23996 - 11905: 0x8E5A, - 23997 - 11905: 0x8E5B, - 23998 - 11905: 0x8E5C, - 23999 - 11905: 0x8E5D, - 24000 - 11905: 0x8E5E, - 24001 - 11905: 0x8E5F, - 24002 - 11905: 0x8E60, - 24003 - 11905: 0x8E61, - 24004 - 11905: 0x8E62, - 24005 - 11905: 0xE1DB, - 24006 - 11905: 0x8E63, - 24007 - 11905: 0x8E64, - 24008 - 11905: 0x8E65, - 24009 - 11905: 0x8E66, - 24010 - 11905: 0x8E67, - 24011 - 11905: 0x8E68, - 24012 - 11905: 0x8E69, - 24013 - 11905: 0xCEA1, - 24014 - 11905: 0x8E6A, - 24015 - 11905: 0x8E6B, - 24016 - 11905: 0x8E6C, - 24017 - 11905: 0x8E6D, - 24018 - 11905: 0x8E6E, - 24019 - 11905: 0x8E6F, - 24020 - 11905: 0x8E70, - 24021 - 11905: 0x8E71, - 24022 - 11905: 0x8E72, - 24023 - 11905: 0x8E73, - 24024 - 11905: 0x8E74, - 24025 - 11905: 0x8E75, - 24026 - 11905: 0x8E76, - 24027 - 11905: 0xE7DD, - 24028 - 11905: 0x8E77, - 24029 - 11905: 0xB4A8, - 24030 - 11905: 0xD6DD, - 24031 - 11905: 0x8E78, - 24032 - 11905: 0x8E79, - 24033 - 11905: 0xD1B2, - 24034 - 11905: 0xB3B2, - 24035 - 11905: 0x8E7A, - 24036 - 11905: 0x8E7B, - 24037 - 11905: 0xB9A4, - 24038 - 11905: 0xD7F3, - 24039 - 11905: 0xC7C9, - 24040 - 11905: 0xBEDE, - 24041 - 11905: 0xB9AE, - 24042 - 11905: 0x8E7C, - 24043 - 11905: 0xCED7, - 24044 - 11905: 0x8E7D, - 24045 - 11905: 0x8E7E, - 24046 - 11905: 0xB2EE, - 24047 - 11905: 0xDBCF, - 24048 - 11905: 0x8E80, - 24049 - 11905: 0xBCBA, - 24050 - 11905: 0xD2D1, - 24051 - 11905: 0xCBC8, - 24052 - 11905: 0xB0CD, - 24053 - 11905: 0x8E81, - 24054 - 11905: 0x8E82, - 24055 - 11905: 0xCFEF, - 24056 - 11905: 0x8E83, - 24057 - 11905: 0x8E84, - 24058 - 11905: 0x8E85, - 24059 - 11905: 0x8E86, - 24060 - 11905: 0x8E87, - 24061 - 11905: 0xD9E3, - 24062 - 11905: 0xBDED, - 24063 - 11905: 0x8E88, - 24064 - 11905: 0x8E89, - 24065 - 11905: 0xB1D2, - 24066 - 11905: 0xCAD0, - 24067 - 11905: 0xB2BC, - 24068 - 11905: 0x8E8A, - 24069 - 11905: 0xCBA7, - 24070 - 11905: 0xB7AB, - 24071 - 11905: 0x8E8B, - 24072 - 11905: 0xCAA6, - 24073 - 11905: 0x8E8C, - 24074 - 11905: 0x8E8D, - 24075 - 11905: 0x8E8E, - 24076 - 11905: 0xCFA3, - 24077 - 11905: 0x8E8F, - 24078 - 11905: 0x8E90, - 24079 - 11905: 0xE0F8, - 24080 - 11905: 0xD5CA, - 24081 - 11905: 0xE0FB, - 24082 - 11905: 0x8E91, - 24083 - 11905: 0x8E92, - 24084 - 11905: 0xE0FA, - 24085 - 11905: 0xC5C1, - 24086 - 11905: 0xCCFB, - 24087 - 11905: 0x8E93, - 24088 - 11905: 0xC1B1, - 24089 - 11905: 0xE0F9, - 24090 - 11905: 0xD6E3, - 24091 - 11905: 0xB2AF, - 24092 - 11905: 0xD6C4, - 24093 - 11905: 0xB5DB, - 24094 - 11905: 0x8E94, - 24095 - 11905: 0x8E95, - 24096 - 11905: 0x8E96, - 24097 - 11905: 0x8E97, - 24098 - 11905: 0x8E98, - 24099 - 11905: 0x8E99, - 24100 - 11905: 0x8E9A, - 24101 - 11905: 0x8E9B, - 24102 - 11905: 0xB4F8, - 24103 - 11905: 0xD6A1, - 24104 - 11905: 0x8E9C, - 24105 - 11905: 0x8E9D, - 24106 - 11905: 0x8E9E, - 24107 - 11905: 0x8E9F, - 24108 - 11905: 0x8EA0, - 24109 - 11905: 0xCFAF, - 24110 - 11905: 0xB0EF, - 24111 - 11905: 0x8EA1, - 24112 - 11905: 0x8EA2, - 24113 - 11905: 0xE0FC, - 24114 - 11905: 0x8EA3, - 24115 - 11905: 0x8EA4, - 24116 - 11905: 0x8EA5, - 24117 - 11905: 0x8EA6, - 24118 - 11905: 0x8EA7, - 24119 - 11905: 0xE1A1, - 24120 - 11905: 0xB3A3, - 24121 - 11905: 0x8EA8, - 24122 - 11905: 0x8EA9, - 24123 - 11905: 0xE0FD, - 24124 - 11905: 0xE0FE, - 24125 - 11905: 0xC3B1, - 24126 - 11905: 0x8EAA, - 24127 - 11905: 0x8EAB, - 24128 - 11905: 0x8EAC, - 24129 - 11905: 0x8EAD, - 24130 - 11905: 0xC3DD, - 24131 - 11905: 0x8EAE, - 24132 - 11905: 0xE1A2, - 24133 - 11905: 0xB7F9, - 24134 - 11905: 0x8EAF, - 24135 - 11905: 0x8EB0, - 24136 - 11905: 0x8EB1, - 24137 - 11905: 0x8EB2, - 24138 - 11905: 0x8EB3, - 24139 - 11905: 0x8EB4, - 24140 - 11905: 0xBBCF, - 24141 - 11905: 0x8EB5, - 24142 - 11905: 0x8EB6, - 24143 - 11905: 0x8EB7, - 24144 - 11905: 0x8EB8, - 24145 - 11905: 0x8EB9, - 24146 - 11905: 0x8EBA, - 24147 - 11905: 0x8EBB, - 24148 - 11905: 0xE1A3, - 24149 - 11905: 0xC4BB, - 24150 - 11905: 0x8EBC, - 24151 - 11905: 0x8EBD, - 24152 - 11905: 0x8EBE, - 24153 - 11905: 0x8EBF, - 24154 - 11905: 0x8EC0, - 24155 - 11905: 0xE1A4, - 24156 - 11905: 0x8EC1, - 24157 - 11905: 0x8EC2, - 24158 - 11905: 0xE1A5, - 24159 - 11905: 0x8EC3, - 24160 - 11905: 0x8EC4, - 24161 - 11905: 0xE1A6, - 24162 - 11905: 0xB4B1, - 24163 - 11905: 0x8EC5, - 24164 - 11905: 0x8EC6, - 24165 - 11905: 0x8EC7, - 24166 - 11905: 0x8EC8, - 24167 - 11905: 0x8EC9, - 24168 - 11905: 0x8ECA, - 24169 - 11905: 0x8ECB, - 24170 - 11905: 0x8ECC, - 24171 - 11905: 0x8ECD, - 24172 - 11905: 0x8ECE, - 24173 - 11905: 0x8ECF, - 24174 - 11905: 0x8ED0, - 24175 - 11905: 0x8ED1, - 24176 - 11905: 0x8ED2, - 24177 - 11905: 0x8ED3, - 24178 - 11905: 0xB8C9, - 24179 - 11905: 0xC6BD, - 24180 - 11905: 0xC4EA, - 24181 - 11905: 0x8ED4, - 24182 - 11905: 0xB2A2, - 24183 - 11905: 0x8ED5, - 24184 - 11905: 0xD0D2, - 24185 - 11905: 0x8ED6, - 24186 - 11905: 0xE7DB, - 24187 - 11905: 0xBBC3, - 24188 - 11905: 0xD3D7, - 24189 - 11905: 0xD3C4, - 24190 - 11905: 0x8ED7, - 24191 - 11905: 0xB9E3, - 24192 - 11905: 0xE2CF, - 24193 - 11905: 0x8ED8, - 24194 - 11905: 0x8ED9, - 24195 - 11905: 0x8EDA, - 24196 - 11905: 0xD7AF, - 24197 - 11905: 0x8EDB, - 24198 - 11905: 0xC7EC, - 24199 - 11905: 0xB1D3, - 24200 - 11905: 0x8EDC, - 24201 - 11905: 0x8EDD, - 24202 - 11905: 0xB4B2, - 24203 - 11905: 0xE2D1, - 24204 - 11905: 0x8EDE, - 24205 - 11905: 0x8EDF, - 24206 - 11905: 0x8EE0, - 24207 - 11905: 0xD0F2, - 24208 - 11905: 0xC2AE, - 24209 - 11905: 0xE2D0, - 24210 - 11905: 0x8EE1, - 24211 - 11905: 0xBFE2, - 24212 - 11905: 0xD3A6, - 24213 - 11905: 0xB5D7, - 24214 - 11905: 0xE2D2, - 24215 - 11905: 0xB5EA, - 24216 - 11905: 0x8EE2, - 24217 - 11905: 0xC3ED, - 24218 - 11905: 0xB8FD, - 24219 - 11905: 0x8EE3, - 24220 - 11905: 0xB8AE, - 24221 - 11905: 0x8EE4, - 24222 - 11905: 0xC5D3, - 24223 - 11905: 0xB7CF, - 24224 - 11905: 0xE2D4, - 24225 - 11905: 0x8EE5, - 24226 - 11905: 0x8EE6, - 24227 - 11905: 0x8EE7, - 24228 - 11905: 0x8EE8, - 24229 - 11905: 0xE2D3, - 24230 - 11905: 0xB6C8, - 24231 - 11905: 0xD7F9, - 24232 - 11905: 0x8EE9, - 24233 - 11905: 0x8EEA, - 24234 - 11905: 0x8EEB, - 24235 - 11905: 0x8EEC, - 24236 - 11905: 0x8EED, - 24237 - 11905: 0xCDA5, - 24238 - 11905: 0x8EEE, - 24239 - 11905: 0x8EEF, - 24240 - 11905: 0x8EF0, - 24241 - 11905: 0x8EF1, - 24242 - 11905: 0x8EF2, - 24243 - 11905: 0xE2D8, - 24244 - 11905: 0x8EF3, - 24245 - 11905: 0xE2D6, - 24246 - 11905: 0xCAFC, - 24247 - 11905: 0xBFB5, - 24248 - 11905: 0xD3B9, - 24249 - 11905: 0xE2D5, - 24250 - 11905: 0x8EF4, - 24251 - 11905: 0x8EF5, - 24252 - 11905: 0x8EF6, - 24253 - 11905: 0x8EF7, - 24254 - 11905: 0xE2D7, - 24255 - 11905: 0x8EF8, - 24256 - 11905: 0x8EF9, - 24257 - 11905: 0x8EFA, - 24258 - 11905: 0x8EFB, - 24259 - 11905: 0x8EFC, - 24260 - 11905: 0x8EFD, - 24261 - 11905: 0x8EFE, - 24262 - 11905: 0x8F40, - 24263 - 11905: 0x8F41, - 24264 - 11905: 0x8F42, - 24265 - 11905: 0xC1AE, - 24266 - 11905: 0xC0C8, - 24267 - 11905: 0x8F43, - 24268 - 11905: 0x8F44, - 24269 - 11905: 0x8F45, - 24270 - 11905: 0x8F46, - 24271 - 11905: 0x8F47, - 24272 - 11905: 0x8F48, - 24273 - 11905: 0xE2DB, - 24274 - 11905: 0xE2DA, - 24275 - 11905: 0xC0AA, - 24276 - 11905: 0x8F49, - 24277 - 11905: 0x8F4A, - 24278 - 11905: 0xC1CE, - 24279 - 11905: 0x8F4B, - 24280 - 11905: 0x8F4C, - 24281 - 11905: 0x8F4D, - 24282 - 11905: 0x8F4E, - 24283 - 11905: 0xE2DC, - 24284 - 11905: 0x8F4F, - 24285 - 11905: 0x8F50, - 24286 - 11905: 0x8F51, - 24287 - 11905: 0x8F52, - 24288 - 11905: 0x8F53, - 24289 - 11905: 0x8F54, - 24290 - 11905: 0x8F55, - 24291 - 11905: 0x8F56, - 24292 - 11905: 0x8F57, - 24293 - 11905: 0x8F58, - 24294 - 11905: 0x8F59, - 24295 - 11905: 0x8F5A, - 24296 - 11905: 0xE2DD, - 24297 - 11905: 0x8F5B, - 24298 - 11905: 0xE2DE, - 24299 - 11905: 0x8F5C, - 24300 - 11905: 0x8F5D, - 24301 - 11905: 0x8F5E, - 24302 - 11905: 0x8F5F, - 24303 - 11905: 0x8F60, - 24304 - 11905: 0x8F61, - 24305 - 11905: 0x8F62, - 24306 - 11905: 0x8F63, - 24307 - 11905: 0x8F64, - 24308 - 11905: 0xDBC8, - 24309 - 11905: 0x8F65, - 24310 - 11905: 0xD1D3, - 24311 - 11905: 0xCDA2, - 24312 - 11905: 0x8F66, - 24313 - 11905: 0x8F67, - 24314 - 11905: 0xBDA8, - 24315 - 11905: 0x8F68, - 24316 - 11905: 0x8F69, - 24317 - 11905: 0x8F6A, - 24318 - 11905: 0xDEC3, - 24319 - 11905: 0xD8A5, - 24320 - 11905: 0xBFAA, - 24321 - 11905: 0xDBCD, - 24322 - 11905: 0xD2EC, - 24323 - 11905: 0xC6FA, - 24324 - 11905: 0xC5AA, - 24325 - 11905: 0x8F6B, - 24326 - 11905: 0x8F6C, - 24327 - 11905: 0x8F6D, - 24328 - 11905: 0xDEC4, - 24329 - 11905: 0x8F6E, - 24330 - 11905: 0xB1D7, - 24331 - 11905: 0xDFAE, - 24332 - 11905: 0x8F6F, - 24333 - 11905: 0x8F70, - 24334 - 11905: 0x8F71, - 24335 - 11905: 0xCABD, - 24336 - 11905: 0x8F72, - 24337 - 11905: 0xDFB1, - 24338 - 11905: 0x8F73, - 24339 - 11905: 0xB9AD, - 24340 - 11905: 0x8F74, - 24341 - 11905: 0xD2FD, - 24342 - 11905: 0x8F75, - 24343 - 11905: 0xB8A5, - 24344 - 11905: 0xBAEB, - 24345 - 11905: 0x8F76, - 24346 - 11905: 0x8F77, - 24347 - 11905: 0xB3DA, - 24348 - 11905: 0x8F78, - 24349 - 11905: 0x8F79, - 24350 - 11905: 0x8F7A, - 24351 - 11905: 0xB5DC, - 24352 - 11905: 0xD5C5, - 24353 - 11905: 0x8F7B, - 24354 - 11905: 0x8F7C, - 24355 - 11905: 0x8F7D, - 24356 - 11905: 0x8F7E, - 24357 - 11905: 0xC3D6, - 24358 - 11905: 0xCFD2, - 24359 - 11905: 0xBBA1, - 24360 - 11905: 0x8F80, - 24361 - 11905: 0xE5F3, - 24362 - 11905: 0xE5F2, - 24363 - 11905: 0x8F81, - 24364 - 11905: 0x8F82, - 24365 - 11905: 0xE5F4, - 24366 - 11905: 0x8F83, - 24367 - 11905: 0xCDE4, - 24368 - 11905: 0x8F84, - 24369 - 11905: 0xC8F5, - 24370 - 11905: 0x8F85, - 24371 - 11905: 0x8F86, - 24372 - 11905: 0x8F87, - 24373 - 11905: 0x8F88, - 24374 - 11905: 0x8F89, - 24375 - 11905: 0x8F8A, - 24376 - 11905: 0x8F8B, - 24377 - 11905: 0xB5AF, - 24378 - 11905: 0xC7BF, - 24379 - 11905: 0x8F8C, - 24380 - 11905: 0xE5F6, - 24381 - 11905: 0x8F8D, - 24382 - 11905: 0x8F8E, - 24383 - 11905: 0x8F8F, - 24384 - 11905: 0xECB0, - 24385 - 11905: 0x8F90, - 24386 - 11905: 0x8F91, - 24387 - 11905: 0x8F92, - 24388 - 11905: 0x8F93, - 24389 - 11905: 0x8F94, - 24390 - 11905: 0x8F95, - 24391 - 11905: 0x8F96, - 24392 - 11905: 0x8F97, - 24393 - 11905: 0x8F98, - 24394 - 11905: 0x8F99, - 24395 - 11905: 0x8F9A, - 24396 - 11905: 0x8F9B, - 24397 - 11905: 0x8F9C, - 24398 - 11905: 0x8F9D, - 24399 - 11905: 0x8F9E, - 24400 - 11905: 0xE5E6, - 24401 - 11905: 0x8F9F, - 24402 - 11905: 0xB9E9, - 24403 - 11905: 0xB5B1, - 24404 - 11905: 0x8FA0, - 24405 - 11905: 0xC2BC, - 24406 - 11905: 0xE5E8, - 24407 - 11905: 0xE5E7, - 24408 - 11905: 0xE5E9, - 24409 - 11905: 0x8FA1, - 24410 - 11905: 0x8FA2, - 24411 - 11905: 0x8FA3, - 24412 - 11905: 0x8FA4, - 24413 - 11905: 0xD2CD, - 24414 - 11905: 0x8FA5, - 24415 - 11905: 0x8FA6, - 24416 - 11905: 0x8FA7, - 24417 - 11905: 0xE1EA, - 24418 - 11905: 0xD0CE, - 24419 - 11905: 0x8FA8, - 24420 - 11905: 0xCDAE, - 24421 - 11905: 0x8FA9, - 24422 - 11905: 0xD1E5, - 24423 - 11905: 0x8FAA, - 24424 - 11905: 0x8FAB, - 24425 - 11905: 0xB2CA, - 24426 - 11905: 0xB1EB, - 24427 - 11905: 0x8FAC, - 24428 - 11905: 0xB1F2, - 24429 - 11905: 0xC5ED, - 24430 - 11905: 0x8FAD, - 24431 - 11905: 0x8FAE, - 24432 - 11905: 0xD5C3, - 24433 - 11905: 0xD3B0, - 24434 - 11905: 0x8FAF, - 24435 - 11905: 0xE1DC, - 24436 - 11905: 0x8FB0, - 24437 - 11905: 0x8FB1, - 24438 - 11905: 0x8FB2, - 24439 - 11905: 0xE1DD, - 24440 - 11905: 0x8FB3, - 24441 - 11905: 0xD2DB, - 24442 - 11905: 0x8FB4, - 24443 - 11905: 0xB3B9, - 24444 - 11905: 0xB1CB, - 24445 - 11905: 0x8FB5, - 24446 - 11905: 0x8FB6, - 24447 - 11905: 0x8FB7, - 24448 - 11905: 0xCDF9, - 24449 - 11905: 0xD5F7, - 24450 - 11905: 0xE1DE, - 24451 - 11905: 0x8FB8, - 24452 - 11905: 0xBEB6, - 24453 - 11905: 0xB4FD, - 24454 - 11905: 0x8FB9, - 24455 - 11905: 0xE1DF, - 24456 - 11905: 0xBADC, - 24457 - 11905: 0xE1E0, - 24458 - 11905: 0xBBB2, - 24459 - 11905: 0xC2C9, - 24460 - 11905: 0xE1E1, - 24461 - 11905: 0x8FBA, - 24462 - 11905: 0x8FBB, - 24463 - 11905: 0x8FBC, - 24464 - 11905: 0xD0EC, - 24465 - 11905: 0x8FBD, - 24466 - 11905: 0xCDBD, - 24467 - 11905: 0x8FBE, - 24468 - 11905: 0x8FBF, - 24469 - 11905: 0xE1E2, - 24470 - 11905: 0x8FC0, - 24471 - 11905: 0xB5C3, - 24472 - 11905: 0xC5C7, - 24473 - 11905: 0xE1E3, - 24474 - 11905: 0x8FC1, - 24475 - 11905: 0x8FC2, - 24476 - 11905: 0xE1E4, - 24477 - 11905: 0x8FC3, - 24478 - 11905: 0x8FC4, - 24479 - 11905: 0x8FC5, - 24480 - 11905: 0x8FC6, - 24481 - 11905: 0xD3F9, - 24482 - 11905: 0x8FC7, - 24483 - 11905: 0x8FC8, - 24484 - 11905: 0x8FC9, - 24485 - 11905: 0x8FCA, - 24486 - 11905: 0x8FCB, - 24487 - 11905: 0x8FCC, - 24488 - 11905: 0xE1E5, - 24489 - 11905: 0x8FCD, - 24490 - 11905: 0xD1AD, - 24491 - 11905: 0x8FCE, - 24492 - 11905: 0x8FCF, - 24493 - 11905: 0xE1E6, - 24494 - 11905: 0xCEA2, - 24495 - 11905: 0x8FD0, - 24496 - 11905: 0x8FD1, - 24497 - 11905: 0x8FD2, - 24498 - 11905: 0x8FD3, - 24499 - 11905: 0x8FD4, - 24500 - 11905: 0x8FD5, - 24501 - 11905: 0xE1E7, - 24502 - 11905: 0x8FD6, - 24503 - 11905: 0xB5C2, - 24504 - 11905: 0x8FD7, - 24505 - 11905: 0x8FD8, - 24506 - 11905: 0x8FD9, - 24507 - 11905: 0x8FDA, - 24508 - 11905: 0xE1E8, - 24509 - 11905: 0xBBD5, - 24510 - 11905: 0x8FDB, - 24511 - 11905: 0x8FDC, - 24512 - 11905: 0x8FDD, - 24513 - 11905: 0x8FDE, - 24514 - 11905: 0x8FDF, - 24515 - 11905: 0xD0C4, - 24516 - 11905: 0xE2E0, - 24517 - 11905: 0xB1D8, - 24518 - 11905: 0xD2E4, - 24519 - 11905: 0x8FE0, - 24520 - 11905: 0x8FE1, - 24521 - 11905: 0xE2E1, - 24522 - 11905: 0x8FE2, - 24523 - 11905: 0x8FE3, - 24524 - 11905: 0xBCC9, - 24525 - 11905: 0xC8CC, - 24526 - 11905: 0x8FE4, - 24527 - 11905: 0xE2E3, - 24528 - 11905: 0xECFE, - 24529 - 11905: 0xECFD, - 24530 - 11905: 0xDFAF, - 24531 - 11905: 0x8FE5, - 24532 - 11905: 0x8FE6, - 24533 - 11905: 0x8FE7, - 24534 - 11905: 0xE2E2, - 24535 - 11905: 0xD6BE, - 24536 - 11905: 0xCDFC, - 24537 - 11905: 0xC3A6, - 24538 - 11905: 0x8FE8, - 24539 - 11905: 0x8FE9, - 24540 - 11905: 0x8FEA, - 24541 - 11905: 0xE3C3, - 24542 - 11905: 0x8FEB, - 24543 - 11905: 0x8FEC, - 24544 - 11905: 0xD6D2, - 24545 - 11905: 0xE2E7, - 24546 - 11905: 0x8FED, - 24547 - 11905: 0x8FEE, - 24548 - 11905: 0xE2E8, - 24549 - 11905: 0x8FEF, - 24550 - 11905: 0x8FF0, - 24551 - 11905: 0xD3C7, - 24552 - 11905: 0x8FF1, - 24553 - 11905: 0x8FF2, - 24554 - 11905: 0xE2EC, - 24555 - 11905: 0xBFEC, - 24556 - 11905: 0x8FF3, - 24557 - 11905: 0xE2ED, - 24558 - 11905: 0xE2E5, - 24559 - 11905: 0x8FF4, - 24560 - 11905: 0x8FF5, - 24561 - 11905: 0xB3C0, - 24562 - 11905: 0x8FF6, - 24563 - 11905: 0x8FF7, - 24564 - 11905: 0x8FF8, - 24565 - 11905: 0xC4EE, - 24566 - 11905: 0x8FF9, - 24567 - 11905: 0x8FFA, - 24568 - 11905: 0xE2EE, - 24569 - 11905: 0x8FFB, - 24570 - 11905: 0x8FFC, - 24571 - 11905: 0xD0C3, - 24572 - 11905: 0x8FFD, - 24573 - 11905: 0xBAF6, - 24574 - 11905: 0xE2E9, - 24575 - 11905: 0xB7DE, - 24576 - 11905: 0xBBB3, - 24577 - 11905: 0xCCAC, - 24578 - 11905: 0xCBCB, - 24579 - 11905: 0xE2E4, - 24580 - 11905: 0xE2E6, - 24581 - 11905: 0xE2EA, - 24582 - 11905: 0xE2EB, - 24583 - 11905: 0x8FFE, - 24584 - 11905: 0x9040, - 24585 - 11905: 0x9041, - 24586 - 11905: 0xE2F7, - 24587 - 11905: 0x9042, - 24588 - 11905: 0x9043, - 24589 - 11905: 0xE2F4, - 24590 - 11905: 0xD4F5, - 24591 - 11905: 0xE2F3, - 24592 - 11905: 0x9044, - 24593 - 11905: 0x9045, - 24594 - 11905: 0xC5AD, - 24595 - 11905: 0x9046, - 24596 - 11905: 0xD5FA, - 24597 - 11905: 0xC5C2, - 24598 - 11905: 0xB2C0, - 24599 - 11905: 0x9047, - 24600 - 11905: 0x9048, - 24601 - 11905: 0xE2EF, - 24602 - 11905: 0x9049, - 24603 - 11905: 0xE2F2, - 24604 - 11905: 0xC1AF, - 24605 - 11905: 0xCBBC, - 24606 - 11905: 0x904A, - 24607 - 11905: 0x904B, - 24608 - 11905: 0xB5A1, - 24609 - 11905: 0xE2F9, - 24610 - 11905: 0x904C, - 24611 - 11905: 0x904D, - 24612 - 11905: 0x904E, - 24613 - 11905: 0xBCB1, - 24614 - 11905: 0xE2F1, - 24615 - 11905: 0xD0D4, - 24616 - 11905: 0xD4B9, - 24617 - 11905: 0xE2F5, - 24618 - 11905: 0xB9D6, - 24619 - 11905: 0xE2F6, - 24620 - 11905: 0x904F, - 24621 - 11905: 0x9050, - 24622 - 11905: 0x9051, - 24623 - 11905: 0xC7D3, - 24624 - 11905: 0x9052, - 24625 - 11905: 0x9053, - 24626 - 11905: 0x9054, - 24627 - 11905: 0x9055, - 24628 - 11905: 0x9056, - 24629 - 11905: 0xE2F0, - 24630 - 11905: 0x9057, - 24631 - 11905: 0x9058, - 24632 - 11905: 0x9059, - 24633 - 11905: 0x905A, - 24634 - 11905: 0x905B, - 24635 - 11905: 0xD7DC, - 24636 - 11905: 0xEDA1, - 24637 - 11905: 0x905C, - 24638 - 11905: 0x905D, - 24639 - 11905: 0xE2F8, - 24640 - 11905: 0x905E, - 24641 - 11905: 0xEDA5, - 24642 - 11905: 0xE2FE, - 24643 - 11905: 0xCAD1, - 24644 - 11905: 0x905F, - 24645 - 11905: 0x9060, - 24646 - 11905: 0x9061, - 24647 - 11905: 0x9062, - 24648 - 11905: 0x9063, - 24649 - 11905: 0x9064, - 24650 - 11905: 0x9065, - 24651 - 11905: 0xC1B5, - 24652 - 11905: 0x9066, - 24653 - 11905: 0xBBD0, - 24654 - 11905: 0x9067, - 24655 - 11905: 0x9068, - 24656 - 11905: 0xBFD6, - 24657 - 11905: 0x9069, - 24658 - 11905: 0xBAE3, - 24659 - 11905: 0x906A, - 24660 - 11905: 0x906B, - 24661 - 11905: 0xCBA1, - 24662 - 11905: 0x906C, - 24663 - 11905: 0x906D, - 24664 - 11905: 0x906E, - 24665 - 11905: 0xEDA6, - 24666 - 11905: 0xEDA3, - 24667 - 11905: 0x906F, - 24668 - 11905: 0x9070, - 24669 - 11905: 0xEDA2, - 24670 - 11905: 0x9071, - 24671 - 11905: 0x9072, - 24672 - 11905: 0x9073, - 24673 - 11905: 0x9074, - 24674 - 11905: 0xBBD6, - 24675 - 11905: 0xEDA7, - 24676 - 11905: 0xD0F4, - 24677 - 11905: 0x9075, - 24678 - 11905: 0x9076, - 24679 - 11905: 0xEDA4, - 24680 - 11905: 0xBADE, - 24681 - 11905: 0xB6F7, - 24682 - 11905: 0xE3A1, - 24683 - 11905: 0xB6B2, - 24684 - 11905: 0xCCF1, - 24685 - 11905: 0xB9A7, - 24686 - 11905: 0x9077, - 24687 - 11905: 0xCFA2, - 24688 - 11905: 0xC7A1, - 24689 - 11905: 0x9078, - 24690 - 11905: 0x9079, - 24691 - 11905: 0xBFD2, - 24692 - 11905: 0x907A, - 24693 - 11905: 0x907B, - 24694 - 11905: 0xB6F1, - 24695 - 11905: 0x907C, - 24696 - 11905: 0xE2FA, - 24697 - 11905: 0xE2FB, - 24698 - 11905: 0xE2FD, - 24699 - 11905: 0xE2FC, - 24700 - 11905: 0xC4D5, - 24701 - 11905: 0xE3A2, - 24702 - 11905: 0x907D, - 24703 - 11905: 0xD3C1, - 24704 - 11905: 0x907E, - 24705 - 11905: 0x9080, - 24706 - 11905: 0x9081, - 24707 - 11905: 0xE3A7, - 24708 - 11905: 0xC7C4, - 24709 - 11905: 0x9082, - 24710 - 11905: 0x9083, - 24711 - 11905: 0x9084, - 24712 - 11905: 0x9085, - 24713 - 11905: 0xCFA4, - 24714 - 11905: 0x9086, - 24715 - 11905: 0x9087, - 24716 - 11905: 0xE3A9, - 24717 - 11905: 0xBAB7, - 24718 - 11905: 0x9088, - 24719 - 11905: 0x9089, - 24720 - 11905: 0x908A, - 24721 - 11905: 0x908B, - 24722 - 11905: 0xE3A8, - 24723 - 11905: 0x908C, - 24724 - 11905: 0xBBDA, - 24725 - 11905: 0x908D, - 24726 - 11905: 0xE3A3, - 24727 - 11905: 0x908E, - 24728 - 11905: 0x908F, - 24729 - 11905: 0x9090, - 24730 - 11905: 0xE3A4, - 24731 - 11905: 0xE3AA, - 24732 - 11905: 0x9091, - 24733 - 11905: 0xE3A6, - 24734 - 11905: 0x9092, - 24735 - 11905: 0xCEF2, - 24736 - 11905: 0xD3C6, - 24737 - 11905: 0x9093, - 24738 - 11905: 0x9094, - 24739 - 11905: 0xBBBC, - 24740 - 11905: 0x9095, - 24741 - 11905: 0x9096, - 24742 - 11905: 0xD4C3, - 24743 - 11905: 0x9097, - 24744 - 11905: 0xC4FA, - 24745 - 11905: 0x9098, - 24746 - 11905: 0x9099, - 24747 - 11905: 0xEDA8, - 24748 - 11905: 0xD0FC, - 24749 - 11905: 0xE3A5, - 24750 - 11905: 0x909A, - 24751 - 11905: 0xC3F5, - 24752 - 11905: 0x909B, - 24753 - 11905: 0xE3AD, - 24754 - 11905: 0xB1AF, - 24755 - 11905: 0x909C, - 24756 - 11905: 0xE3B2, - 24757 - 11905: 0x909D, - 24758 - 11905: 0x909E, - 24759 - 11905: 0x909F, - 24760 - 11905: 0xBCC2, - 24761 - 11905: 0x90A0, - 24762 - 11905: 0x90A1, - 24763 - 11905: 0xE3AC, - 24764 - 11905: 0xB5BF, - 24765 - 11905: 0x90A2, - 24766 - 11905: 0x90A3, - 24767 - 11905: 0x90A4, - 24768 - 11905: 0x90A5, - 24769 - 11905: 0x90A6, - 24770 - 11905: 0x90A7, - 24771 - 11905: 0x90A8, - 24772 - 11905: 0x90A9, - 24773 - 11905: 0xC7E9, - 24774 - 11905: 0xE3B0, - 24775 - 11905: 0x90AA, - 24776 - 11905: 0x90AB, - 24777 - 11905: 0x90AC, - 24778 - 11905: 0xBEAA, - 24779 - 11905: 0xCDEF, - 24780 - 11905: 0x90AD, - 24781 - 11905: 0x90AE, - 24782 - 11905: 0x90AF, - 24783 - 11905: 0x90B0, - 24784 - 11905: 0x90B1, - 24785 - 11905: 0xBBF3, - 24786 - 11905: 0x90B2, - 24787 - 11905: 0x90B3, - 24788 - 11905: 0x90B4, - 24789 - 11905: 0xCCE8, - 24790 - 11905: 0x90B5, - 24791 - 11905: 0x90B6, - 24792 - 11905: 0xE3AF, - 24793 - 11905: 0x90B7, - 24794 - 11905: 0xE3B1, - 24795 - 11905: 0x90B8, - 24796 - 11905: 0xCFA7, - 24797 - 11905: 0xE3AE, - 24798 - 11905: 0x90B9, - 24799 - 11905: 0xCEA9, - 24800 - 11905: 0xBBDD, - 24801 - 11905: 0x90BA, - 24802 - 11905: 0x90BB, - 24803 - 11905: 0x90BC, - 24804 - 11905: 0x90BD, - 24805 - 11905: 0x90BE, - 24806 - 11905: 0xB5EB, - 24807 - 11905: 0xBEE5, - 24808 - 11905: 0xB2D2, - 24809 - 11905: 0xB3CD, - 24810 - 11905: 0x90BF, - 24811 - 11905: 0xB1B9, - 24812 - 11905: 0xE3AB, - 24813 - 11905: 0xB2D1, - 24814 - 11905: 0xB5AC, - 24815 - 11905: 0xB9DF, - 24816 - 11905: 0xB6E8, - 24817 - 11905: 0x90C0, - 24818 - 11905: 0x90C1, - 24819 - 11905: 0xCFEB, - 24820 - 11905: 0xE3B7, - 24821 - 11905: 0x90C2, - 24822 - 11905: 0xBBCC, - 24823 - 11905: 0x90C3, - 24824 - 11905: 0x90C4, - 24825 - 11905: 0xC8C7, - 24826 - 11905: 0xD0CA, - 24827 - 11905: 0x90C5, - 24828 - 11905: 0x90C6, - 24829 - 11905: 0x90C7, - 24830 - 11905: 0x90C8, - 24831 - 11905: 0x90C9, - 24832 - 11905: 0xE3B8, - 24833 - 11905: 0xB3EE, - 24834 - 11905: 0x90CA, - 24835 - 11905: 0x90CB, - 24836 - 11905: 0x90CC, - 24837 - 11905: 0x90CD, - 24838 - 11905: 0xEDA9, - 24839 - 11905: 0x90CE, - 24840 - 11905: 0xD3FA, - 24841 - 11905: 0xD3E4, - 24842 - 11905: 0x90CF, - 24843 - 11905: 0x90D0, - 24844 - 11905: 0x90D1, - 24845 - 11905: 0xEDAA, - 24846 - 11905: 0xE3B9, - 24847 - 11905: 0xD2E2, - 24848 - 11905: 0x90D2, - 24849 - 11905: 0x90D3, - 24850 - 11905: 0x90D4, - 24851 - 11905: 0x90D5, - 24852 - 11905: 0x90D6, - 24853 - 11905: 0xE3B5, - 24854 - 11905: 0x90D7, - 24855 - 11905: 0x90D8, - 24856 - 11905: 0x90D9, - 24857 - 11905: 0x90DA, - 24858 - 11905: 0xD3DE, - 24859 - 11905: 0x90DB, - 24860 - 11905: 0x90DC, - 24861 - 11905: 0x90DD, - 24862 - 11905: 0x90DE, - 24863 - 11905: 0xB8D0, - 24864 - 11905: 0xE3B3, - 24865 - 11905: 0x90DF, - 24866 - 11905: 0x90E0, - 24867 - 11905: 0xE3B6, - 24868 - 11905: 0xB7DF, - 24869 - 11905: 0x90E1, - 24870 - 11905: 0xE3B4, - 24871 - 11905: 0xC0A2, - 24872 - 11905: 0x90E2, - 24873 - 11905: 0x90E3, - 24874 - 11905: 0x90E4, - 24875 - 11905: 0xE3BA, - 24876 - 11905: 0x90E5, - 24877 - 11905: 0x90E6, - 24878 - 11905: 0x90E7, - 24879 - 11905: 0x90E8, - 24880 - 11905: 0x90E9, - 24881 - 11905: 0x90EA, - 24882 - 11905: 0x90EB, - 24883 - 11905: 0x90EC, - 24884 - 11905: 0x90ED, - 24885 - 11905: 0x90EE, - 24886 - 11905: 0x90EF, - 24887 - 11905: 0x90F0, - 24888 - 11905: 0x90F1, - 24889 - 11905: 0x90F2, - 24890 - 11905: 0x90F3, - 24891 - 11905: 0x90F4, - 24892 - 11905: 0x90F5, - 24893 - 11905: 0x90F6, - 24894 - 11905: 0x90F7, - 24895 - 11905: 0xD4B8, - 24896 - 11905: 0x90F8, - 24897 - 11905: 0x90F9, - 24898 - 11905: 0x90FA, - 24899 - 11905: 0x90FB, - 24900 - 11905: 0x90FC, - 24901 - 11905: 0x90FD, - 24902 - 11905: 0x90FE, - 24903 - 11905: 0x9140, - 24904 - 11905: 0xB4C8, - 24905 - 11905: 0x9141, - 24906 - 11905: 0xE3BB, - 24907 - 11905: 0x9142, - 24908 - 11905: 0xBBC5, - 24909 - 11905: 0x9143, - 24910 - 11905: 0xC9F7, - 24911 - 11905: 0x9144, - 24912 - 11905: 0x9145, - 24913 - 11905: 0xC9E5, - 24914 - 11905: 0x9146, - 24915 - 11905: 0x9147, - 24916 - 11905: 0x9148, - 24917 - 11905: 0xC4BD, - 24918 - 11905: 0x9149, - 24919 - 11905: 0x914A, - 24920 - 11905: 0x914B, - 24921 - 11905: 0x914C, - 24922 - 11905: 0x914D, - 24923 - 11905: 0x914E, - 24924 - 11905: 0x914F, - 24925 - 11905: 0xEDAB, - 24926 - 11905: 0x9150, - 24927 - 11905: 0x9151, - 24928 - 11905: 0x9152, - 24929 - 11905: 0x9153, - 24930 - 11905: 0xC2FD, - 24931 - 11905: 0x9154, - 24932 - 11905: 0x9155, - 24933 - 11905: 0x9156, - 24934 - 11905: 0x9157, - 24935 - 11905: 0xBBDB, - 24936 - 11905: 0xBFAE, - 24937 - 11905: 0x9158, - 24938 - 11905: 0x9159, - 24939 - 11905: 0x915A, - 24940 - 11905: 0x915B, - 24941 - 11905: 0x915C, - 24942 - 11905: 0x915D, - 24943 - 11905: 0x915E, - 24944 - 11905: 0xCEBF, - 24945 - 11905: 0x915F, - 24946 - 11905: 0x9160, - 24947 - 11905: 0x9161, - 24948 - 11905: 0x9162, - 24949 - 11905: 0xE3BC, - 24950 - 11905: 0x9163, - 24951 - 11905: 0xBFB6, - 24952 - 11905: 0x9164, - 24953 - 11905: 0x9165, - 24954 - 11905: 0x9166, - 24955 - 11905: 0x9167, - 24956 - 11905: 0x9168, - 24957 - 11905: 0x9169, - 24958 - 11905: 0x916A, - 24959 - 11905: 0x916B, - 24960 - 11905: 0x916C, - 24961 - 11905: 0x916D, - 24962 - 11905: 0x916E, - 24963 - 11905: 0x916F, - 24964 - 11905: 0x9170, - 24965 - 11905: 0x9171, - 24966 - 11905: 0x9172, - 24967 - 11905: 0x9173, - 24968 - 11905: 0x9174, - 24969 - 11905: 0x9175, - 24970 - 11905: 0x9176, - 24971 - 11905: 0xB1EF, - 24972 - 11905: 0x9177, - 24973 - 11905: 0x9178, - 24974 - 11905: 0xD4F7, - 24975 - 11905: 0x9179, - 24976 - 11905: 0x917A, - 24977 - 11905: 0x917B, - 24978 - 11905: 0x917C, - 24979 - 11905: 0x917D, - 24980 - 11905: 0xE3BE, - 24981 - 11905: 0x917E, - 24982 - 11905: 0x9180, - 24983 - 11905: 0x9181, - 24984 - 11905: 0x9182, - 24985 - 11905: 0x9183, - 24986 - 11905: 0x9184, - 24987 - 11905: 0x9185, - 24988 - 11905: 0x9186, - 24989 - 11905: 0xEDAD, - 24990 - 11905: 0x9187, - 24991 - 11905: 0x9188, - 24992 - 11905: 0x9189, - 24993 - 11905: 0x918A, - 24994 - 11905: 0x918B, - 24995 - 11905: 0x918C, - 24996 - 11905: 0x918D, - 24997 - 11905: 0x918E, - 24998 - 11905: 0x918F, - 24999 - 11905: 0xE3BF, - 25000 - 11905: 0xBAA9, - 25001 - 11905: 0xEDAC, - 25002 - 11905: 0x9190, - 25003 - 11905: 0x9191, - 25004 - 11905: 0xE3BD, - 25005 - 11905: 0x9192, - 25006 - 11905: 0x9193, - 25007 - 11905: 0x9194, - 25008 - 11905: 0x9195, - 25009 - 11905: 0x9196, - 25010 - 11905: 0x9197, - 25011 - 11905: 0x9198, - 25012 - 11905: 0x9199, - 25013 - 11905: 0x919A, - 25014 - 11905: 0x919B, - 25015 - 11905: 0xE3C0, - 25016 - 11905: 0x919C, - 25017 - 11905: 0x919D, - 25018 - 11905: 0x919E, - 25019 - 11905: 0x919F, - 25020 - 11905: 0x91A0, - 25021 - 11905: 0x91A1, - 25022 - 11905: 0xBAB6, - 25023 - 11905: 0x91A2, - 25024 - 11905: 0x91A3, - 25025 - 11905: 0x91A4, - 25026 - 11905: 0xB6AE, - 25027 - 11905: 0x91A5, - 25028 - 11905: 0x91A6, - 25029 - 11905: 0x91A7, - 25030 - 11905: 0x91A8, - 25031 - 11905: 0x91A9, - 25032 - 11905: 0xD0B8, - 25033 - 11905: 0x91AA, - 25034 - 11905: 0xB0C3, - 25035 - 11905: 0xEDAE, - 25036 - 11905: 0x91AB, - 25037 - 11905: 0x91AC, - 25038 - 11905: 0x91AD, - 25039 - 11905: 0x91AE, - 25040 - 11905: 0x91AF, - 25041 - 11905: 0xEDAF, - 25042 - 11905: 0xC0C1, - 25043 - 11905: 0x91B0, - 25044 - 11905: 0xE3C1, - 25045 - 11905: 0x91B1, - 25046 - 11905: 0x91B2, - 25047 - 11905: 0x91B3, - 25048 - 11905: 0x91B4, - 25049 - 11905: 0x91B5, - 25050 - 11905: 0x91B6, - 25051 - 11905: 0x91B7, - 25052 - 11905: 0x91B8, - 25053 - 11905: 0x91B9, - 25054 - 11905: 0x91BA, - 25055 - 11905: 0x91BB, - 25056 - 11905: 0x91BC, - 25057 - 11905: 0x91BD, - 25058 - 11905: 0x91BE, - 25059 - 11905: 0x91BF, - 25060 - 11905: 0x91C0, - 25061 - 11905: 0x91C1, - 25062 - 11905: 0xC5B3, - 25063 - 11905: 0x91C2, - 25064 - 11905: 0x91C3, - 25065 - 11905: 0x91C4, - 25066 - 11905: 0x91C5, - 25067 - 11905: 0x91C6, - 25068 - 11905: 0x91C7, - 25069 - 11905: 0x91C8, - 25070 - 11905: 0x91C9, - 25071 - 11905: 0x91CA, - 25072 - 11905: 0x91CB, - 25073 - 11905: 0x91CC, - 25074 - 11905: 0x91CD, - 25075 - 11905: 0x91CE, - 25076 - 11905: 0x91CF, - 25077 - 11905: 0xE3C2, - 25078 - 11905: 0x91D0, - 25079 - 11905: 0x91D1, - 25080 - 11905: 0x91D2, - 25081 - 11905: 0x91D3, - 25082 - 11905: 0x91D4, - 25083 - 11905: 0x91D5, - 25084 - 11905: 0x91D6, - 25085 - 11905: 0x91D7, - 25086 - 11905: 0x91D8, - 25087 - 11905: 0xDCB2, - 25088 - 11905: 0x91D9, - 25089 - 11905: 0x91DA, - 25090 - 11905: 0x91DB, - 25091 - 11905: 0x91DC, - 25092 - 11905: 0x91DD, - 25093 - 11905: 0x91DE, - 25094 - 11905: 0xEDB0, - 25095 - 11905: 0x91DF, - 25096 - 11905: 0xB8EA, - 25097 - 11905: 0x91E0, - 25098 - 11905: 0xCEEC, - 25099 - 11905: 0xEAA7, - 25100 - 11905: 0xD0E7, - 25101 - 11905: 0xCAF9, - 25102 - 11905: 0xC8D6, - 25103 - 11905: 0xCFB7, - 25104 - 11905: 0xB3C9, - 25105 - 11905: 0xCED2, - 25106 - 11905: 0xBDE4, - 25107 - 11905: 0x91E1, - 25108 - 11905: 0x91E2, - 25109 - 11905: 0xE3DE, - 25110 - 11905: 0xBBF2, - 25111 - 11905: 0xEAA8, - 25112 - 11905: 0xD5BD, - 25113 - 11905: 0x91E3, - 25114 - 11905: 0xC6DD, - 25115 - 11905: 0xEAA9, - 25116 - 11905: 0x91E4, - 25117 - 11905: 0x91E5, - 25118 - 11905: 0x91E6, - 25119 - 11905: 0xEAAA, - 25120 - 11905: 0x91E7, - 25121 - 11905: 0xEAAC, - 25122 - 11905: 0xEAAB, - 25123 - 11905: 0x91E8, - 25124 - 11905: 0xEAAE, - 25125 - 11905: 0xEAAD, - 25126 - 11905: 0x91E9, - 25127 - 11905: 0x91EA, - 25128 - 11905: 0x91EB, - 25129 - 11905: 0x91EC, - 25130 - 11905: 0xBDD8, - 25131 - 11905: 0x91ED, - 25132 - 11905: 0xEAAF, - 25133 - 11905: 0x91EE, - 25134 - 11905: 0xC2BE, - 25135 - 11905: 0x91EF, - 25136 - 11905: 0x91F0, - 25137 - 11905: 0x91F1, - 25138 - 11905: 0x91F2, - 25139 - 11905: 0xB4C1, - 25140 - 11905: 0xB4F7, - 25141 - 11905: 0x91F3, - 25142 - 11905: 0x91F4, - 25143 - 11905: 0xBBA7, - 25144 - 11905: 0x91F5, - 25145 - 11905: 0x91F6, - 25146 - 11905: 0x91F7, - 25147 - 11905: 0x91F8, - 25148 - 11905: 0x91F9, - 25149 - 11905: 0xECE6, - 25150 - 11905: 0xECE5, - 25151 - 11905: 0xB7BF, - 25152 - 11905: 0xCBF9, - 25153 - 11905: 0xB1E2, - 25154 - 11905: 0x91FA, - 25155 - 11905: 0xECE7, - 25156 - 11905: 0x91FB, - 25157 - 11905: 0x91FC, - 25158 - 11905: 0x91FD, - 25159 - 11905: 0xC9C8, - 25160 - 11905: 0xECE8, - 25161 - 11905: 0xECE9, - 25162 - 11905: 0x91FE, - 25163 - 11905: 0xCAD6, - 25164 - 11905: 0xDED0, - 25165 - 11905: 0xB2C5, - 25166 - 11905: 0xD4FA, - 25167 - 11905: 0x9240, - 25168 - 11905: 0x9241, - 25169 - 11905: 0xC6CB, - 25170 - 11905: 0xB0C7, - 25171 - 11905: 0xB4F2, - 25172 - 11905: 0xC8D3, - 25173 - 11905: 0x9242, - 25174 - 11905: 0x9243, - 25175 - 11905: 0x9244, - 25176 - 11905: 0xCDD0, - 25177 - 11905: 0x9245, - 25178 - 11905: 0x9246, - 25179 - 11905: 0xBFB8, - 25180 - 11905: 0x9247, - 25181 - 11905: 0x9248, - 25182 - 11905: 0x9249, - 25183 - 11905: 0x924A, - 25184 - 11905: 0x924B, - 25185 - 11905: 0x924C, - 25186 - 11905: 0x924D, - 25187 - 11905: 0xBFDB, - 25188 - 11905: 0x924E, - 25189 - 11905: 0x924F, - 25190 - 11905: 0xC7A4, - 25191 - 11905: 0xD6B4, - 25192 - 11905: 0x9250, - 25193 - 11905: 0xC0A9, - 25194 - 11905: 0xDED1, - 25195 - 11905: 0xC9A8, - 25196 - 11905: 0xD1EF, - 25197 - 11905: 0xC5A4, - 25198 - 11905: 0xB0E7, - 25199 - 11905: 0xB3B6, - 25200 - 11905: 0xC8C5, - 25201 - 11905: 0x9251, - 25202 - 11905: 0x9252, - 25203 - 11905: 0xB0E2, - 25204 - 11905: 0x9253, - 25205 - 11905: 0x9254, - 25206 - 11905: 0xB7F6, - 25207 - 11905: 0x9255, - 25208 - 11905: 0x9256, - 25209 - 11905: 0xC5FA, - 25210 - 11905: 0x9257, - 25211 - 11905: 0x9258, - 25212 - 11905: 0xB6F3, - 25213 - 11905: 0x9259, - 25214 - 11905: 0xD5D2, - 25215 - 11905: 0xB3D0, - 25216 - 11905: 0xBCBC, - 25217 - 11905: 0x925A, - 25218 - 11905: 0x925B, - 25219 - 11905: 0x925C, - 25220 - 11905: 0xB3AD, - 25221 - 11905: 0x925D, - 25222 - 11905: 0x925E, - 25223 - 11905: 0x925F, - 25224 - 11905: 0x9260, - 25225 - 11905: 0xBEF1, - 25226 - 11905: 0xB0D1, - 25227 - 11905: 0x9261, - 25228 - 11905: 0x9262, - 25229 - 11905: 0x9263, - 25230 - 11905: 0x9264, - 25231 - 11905: 0x9265, - 25232 - 11905: 0x9266, - 25233 - 11905: 0xD2D6, - 25234 - 11905: 0xCAE3, - 25235 - 11905: 0xD7A5, - 25236 - 11905: 0x9267, - 25237 - 11905: 0xCDB6, - 25238 - 11905: 0xB6B6, - 25239 - 11905: 0xBFB9, - 25240 - 11905: 0xD5DB, - 25241 - 11905: 0x9268, - 25242 - 11905: 0xB8A7, - 25243 - 11905: 0xC5D7, - 25244 - 11905: 0x9269, - 25245 - 11905: 0x926A, - 25246 - 11905: 0x926B, - 25247 - 11905: 0xDED2, - 25248 - 11905: 0xBFD9, - 25249 - 11905: 0xC2D5, - 25250 - 11905: 0xC7C0, - 25251 - 11905: 0x926C, - 25252 - 11905: 0xBBA4, - 25253 - 11905: 0xB1A8, - 25254 - 11905: 0x926D, - 25255 - 11905: 0x926E, - 25256 - 11905: 0xC5EA, - 25257 - 11905: 0x926F, - 25258 - 11905: 0x9270, - 25259 - 11905: 0xC5FB, - 25260 - 11905: 0xCCA7, - 25261 - 11905: 0x9271, - 25262 - 11905: 0x9272, - 25263 - 11905: 0x9273, - 25264 - 11905: 0x9274, - 25265 - 11905: 0xB1A7, - 25266 - 11905: 0x9275, - 25267 - 11905: 0x9276, - 25268 - 11905: 0x9277, - 25269 - 11905: 0xB5D6, - 25270 - 11905: 0x9278, - 25271 - 11905: 0x9279, - 25272 - 11905: 0x927A, - 25273 - 11905: 0xC4A8, - 25274 - 11905: 0x927B, - 25275 - 11905: 0xDED3, - 25276 - 11905: 0xD1BA, - 25277 - 11905: 0xB3E9, - 25278 - 11905: 0x927C, - 25279 - 11905: 0xC3F2, - 25280 - 11905: 0x927D, - 25281 - 11905: 0x927E, - 25282 - 11905: 0xB7F7, - 25283 - 11905: 0x9280, - 25284 - 11905: 0xD6F4, - 25285 - 11905: 0xB5A3, - 25286 - 11905: 0xB2F0, - 25287 - 11905: 0xC4B4, - 25288 - 11905: 0xC4E9, - 25289 - 11905: 0xC0AD, - 25290 - 11905: 0xDED4, - 25291 - 11905: 0x9281, - 25292 - 11905: 0xB0E8, - 25293 - 11905: 0xC5C4, - 25294 - 11905: 0xC1E0, - 25295 - 11905: 0x9282, - 25296 - 11905: 0xB9D5, - 25297 - 11905: 0x9283, - 25298 - 11905: 0xBEDC, - 25299 - 11905: 0xCDD8, - 25300 - 11905: 0xB0CE, - 25301 - 11905: 0x9284, - 25302 - 11905: 0xCDCF, - 25303 - 11905: 0xDED6, - 25304 - 11905: 0xBED0, - 25305 - 11905: 0xD7BE, - 25306 - 11905: 0xDED5, - 25307 - 11905: 0xD5D0, - 25308 - 11905: 0xB0DD, - 25309 - 11905: 0x9285, - 25310 - 11905: 0x9286, - 25311 - 11905: 0xC4E2, - 25312 - 11905: 0x9287, - 25313 - 11905: 0x9288, - 25314 - 11905: 0xC2A3, - 25315 - 11905: 0xBCF0, - 25316 - 11905: 0x9289, - 25317 - 11905: 0xD3B5, - 25318 - 11905: 0xC0B9, - 25319 - 11905: 0xC5A1, - 25320 - 11905: 0xB2A6, - 25321 - 11905: 0xD4F1, - 25322 - 11905: 0x928A, - 25323 - 11905: 0x928B, - 25324 - 11905: 0xC0A8, - 25325 - 11905: 0xCAC3, - 25326 - 11905: 0xDED7, - 25327 - 11905: 0xD5FC, - 25328 - 11905: 0x928C, - 25329 - 11905: 0xB9B0, - 25330 - 11905: 0x928D, - 25331 - 11905: 0xC8AD, - 25332 - 11905: 0xCBA9, - 25333 - 11905: 0x928E, - 25334 - 11905: 0xDED9, - 25335 - 11905: 0xBFBD, - 25336 - 11905: 0x928F, - 25337 - 11905: 0x9290, - 25338 - 11905: 0x9291, - 25339 - 11905: 0x9292, - 25340 - 11905: 0xC6B4, - 25341 - 11905: 0xD7A7, - 25342 - 11905: 0xCAB0, - 25343 - 11905: 0xC4C3, - 25344 - 11905: 0x9293, - 25345 - 11905: 0xB3D6, - 25346 - 11905: 0xB9D2, - 25347 - 11905: 0x9294, - 25348 - 11905: 0x9295, - 25349 - 11905: 0x9296, - 25350 - 11905: 0x9297, - 25351 - 11905: 0xD6B8, - 25352 - 11905: 0xEAFC, - 25353 - 11905: 0xB0B4, - 25354 - 11905: 0x9298, - 25355 - 11905: 0x9299, - 25356 - 11905: 0x929A, - 25357 - 11905: 0x929B, - 25358 - 11905: 0xBFE6, - 25359 - 11905: 0x929C, - 25360 - 11905: 0x929D, - 25361 - 11905: 0xCCF4, - 25362 - 11905: 0x929E, - 25363 - 11905: 0x929F, - 25364 - 11905: 0x92A0, - 25365 - 11905: 0x92A1, - 25366 - 11905: 0xCDDA, - 25367 - 11905: 0x92A2, - 25368 - 11905: 0x92A3, - 25369 - 11905: 0x92A4, - 25370 - 11905: 0xD6BF, - 25371 - 11905: 0xC2CE, - 25372 - 11905: 0x92A5, - 25373 - 11905: 0xCECE, - 25374 - 11905: 0xCCA2, - 25375 - 11905: 0xD0AE, - 25376 - 11905: 0xC4D3, - 25377 - 11905: 0xB5B2, - 25378 - 11905: 0xDED8, - 25379 - 11905: 0xD5F5, - 25380 - 11905: 0xBCB7, - 25381 - 11905: 0xBBD3, - 25382 - 11905: 0x92A6, - 25383 - 11905: 0x92A7, - 25384 - 11905: 0xB0A4, - 25385 - 11905: 0x92A8, - 25386 - 11905: 0xC5B2, - 25387 - 11905: 0xB4EC, - 25388 - 11905: 0x92A9, - 25389 - 11905: 0x92AA, - 25390 - 11905: 0x92AB, - 25391 - 11905: 0xD5F1, - 25392 - 11905: 0x92AC, - 25393 - 11905: 0x92AD, - 25394 - 11905: 0xEAFD, - 25395 - 11905: 0x92AE, - 25396 - 11905: 0x92AF, - 25397 - 11905: 0x92B0, - 25398 - 11905: 0x92B1, - 25399 - 11905: 0x92B2, - 25400 - 11905: 0x92B3, - 25401 - 11905: 0xDEDA, - 25402 - 11905: 0xCDA6, - 25403 - 11905: 0x92B4, - 25404 - 11905: 0x92B5, - 25405 - 11905: 0xCDEC, - 25406 - 11905: 0x92B6, - 25407 - 11905: 0x92B7, - 25408 - 11905: 0x92B8, - 25409 - 11905: 0x92B9, - 25410 - 11905: 0xCEE6, - 25411 - 11905: 0xDEDC, - 25412 - 11905: 0x92BA, - 25413 - 11905: 0xCDB1, - 25414 - 11905: 0xC0A6, - 25415 - 11905: 0x92BB, - 25416 - 11905: 0x92BC, - 25417 - 11905: 0xD7BD, - 25418 - 11905: 0x92BD, - 25419 - 11905: 0xDEDB, - 25420 - 11905: 0xB0C6, - 25421 - 11905: 0xBAB4, - 25422 - 11905: 0xC9D3, - 25423 - 11905: 0xC4F3, - 25424 - 11905: 0xBEE8, - 25425 - 11905: 0x92BE, - 25426 - 11905: 0x92BF, - 25427 - 11905: 0x92C0, - 25428 - 11905: 0x92C1, - 25429 - 11905: 0xB2B6, - 25430 - 11905: 0x92C2, - 25431 - 11905: 0x92C3, - 25432 - 11905: 0x92C4, - 25433 - 11905: 0x92C5, - 25434 - 11905: 0x92C6, - 25435 - 11905: 0x92C7, - 25436 - 11905: 0x92C8, - 25437 - 11905: 0x92C9, - 25438 - 11905: 0xC0CC, - 25439 - 11905: 0xCBF0, - 25440 - 11905: 0x92CA, - 25441 - 11905: 0xBCF1, - 25442 - 11905: 0xBBBB, - 25443 - 11905: 0xB5B7, - 25444 - 11905: 0x92CB, - 25445 - 11905: 0x92CC, - 25446 - 11905: 0x92CD, - 25447 - 11905: 0xC5F5, - 25448 - 11905: 0x92CE, - 25449 - 11905: 0xDEE6, - 25450 - 11905: 0x92CF, - 25451 - 11905: 0x92D0, - 25452 - 11905: 0x92D1, - 25453 - 11905: 0xDEE3, - 25454 - 11905: 0xBEDD, - 25455 - 11905: 0x92D2, - 25456 - 11905: 0x92D3, - 25457 - 11905: 0xDEDF, - 25458 - 11905: 0x92D4, - 25459 - 11905: 0x92D5, - 25460 - 11905: 0x92D6, - 25461 - 11905: 0x92D7, - 25462 - 11905: 0xB4B7, - 25463 - 11905: 0xBDDD, - 25464 - 11905: 0x92D8, - 25465 - 11905: 0x92D9, - 25466 - 11905: 0xDEE0, - 25467 - 11905: 0xC4ED, - 25468 - 11905: 0x92DA, - 25469 - 11905: 0x92DB, - 25470 - 11905: 0x92DC, - 25471 - 11905: 0x92DD, - 25472 - 11905: 0xCFC6, - 25473 - 11905: 0x92DE, - 25474 - 11905: 0xB5E0, - 25475 - 11905: 0x92DF, - 25476 - 11905: 0x92E0, - 25477 - 11905: 0x92E1, - 25478 - 11905: 0x92E2, - 25479 - 11905: 0xB6DE, - 25480 - 11905: 0xCADA, - 25481 - 11905: 0xB5F4, - 25482 - 11905: 0xDEE5, - 25483 - 11905: 0x92E3, - 25484 - 11905: 0xD5C6, - 25485 - 11905: 0x92E4, - 25486 - 11905: 0xDEE1, - 25487 - 11905: 0xCCCD, - 25488 - 11905: 0xC6FE, - 25489 - 11905: 0x92E5, - 25490 - 11905: 0xC5C5, - 25491 - 11905: 0x92E6, - 25492 - 11905: 0x92E7, - 25493 - 11905: 0x92E8, - 25494 - 11905: 0xD2B4, - 25495 - 11905: 0x92E9, - 25496 - 11905: 0xBEF2, - 25497 - 11905: 0x92EA, - 25498 - 11905: 0x92EB, - 25499 - 11905: 0x92EC, - 25500 - 11905: 0x92ED, - 25501 - 11905: 0x92EE, - 25502 - 11905: 0x92EF, - 25503 - 11905: 0x92F0, - 25504 - 11905: 0xC2D3, - 25505 - 11905: 0x92F1, - 25506 - 11905: 0xCCBD, - 25507 - 11905: 0xB3B8, - 25508 - 11905: 0x92F2, - 25509 - 11905: 0xBDD3, - 25510 - 11905: 0x92F3, - 25511 - 11905: 0xBFD8, - 25512 - 11905: 0xCDC6, - 25513 - 11905: 0xD1DA, - 25514 - 11905: 0xB4EB, - 25515 - 11905: 0x92F4, - 25516 - 11905: 0xDEE4, - 25517 - 11905: 0xDEDD, - 25518 - 11905: 0xDEE7, - 25519 - 11905: 0x92F5, - 25520 - 11905: 0xEAFE, - 25521 - 11905: 0x92F6, - 25522 - 11905: 0x92F7, - 25523 - 11905: 0xC2B0, - 25524 - 11905: 0xDEE2, - 25525 - 11905: 0x92F8, - 25526 - 11905: 0x92F9, - 25527 - 11905: 0xD6C0, - 25528 - 11905: 0xB5A7, - 25529 - 11905: 0x92FA, - 25530 - 11905: 0xB2F4, - 25531 - 11905: 0x92FB, - 25532 - 11905: 0xDEE8, - 25533 - 11905: 0x92FC, - 25534 - 11905: 0xDEF2, - 25535 - 11905: 0x92FD, - 25536 - 11905: 0x92FE, - 25537 - 11905: 0x9340, - 25538 - 11905: 0x9341, - 25539 - 11905: 0x9342, - 25540 - 11905: 0xDEED, - 25541 - 11905: 0x9343, - 25542 - 11905: 0xDEF1, - 25543 - 11905: 0x9344, - 25544 - 11905: 0x9345, - 25545 - 11905: 0xC8E0, - 25546 - 11905: 0x9346, - 25547 - 11905: 0x9347, - 25548 - 11905: 0x9348, - 25549 - 11905: 0xD7E1, - 25550 - 11905: 0xDEEF, - 25551 - 11905: 0xC3E8, - 25552 - 11905: 0xCCE1, - 25553 - 11905: 0x9349, - 25554 - 11905: 0xB2E5, - 25555 - 11905: 0x934A, - 25556 - 11905: 0x934B, - 25557 - 11905: 0x934C, - 25558 - 11905: 0xD2BE, - 25559 - 11905: 0x934D, - 25560 - 11905: 0x934E, - 25561 - 11905: 0x934F, - 25562 - 11905: 0x9350, - 25563 - 11905: 0x9351, - 25564 - 11905: 0x9352, - 25565 - 11905: 0x9353, - 25566 - 11905: 0xDEEE, - 25567 - 11905: 0x9354, - 25568 - 11905: 0xDEEB, - 25569 - 11905: 0xCED5, - 25570 - 11905: 0x9355, - 25571 - 11905: 0xB4A7, - 25572 - 11905: 0x9356, - 25573 - 11905: 0x9357, - 25574 - 11905: 0x9358, - 25575 - 11905: 0x9359, - 25576 - 11905: 0x935A, - 25577 - 11905: 0xBFAB, - 25578 - 11905: 0xBEBE, - 25579 - 11905: 0x935B, - 25580 - 11905: 0x935C, - 25581 - 11905: 0xBDD2, - 25582 - 11905: 0x935D, - 25583 - 11905: 0x935E, - 25584 - 11905: 0x935F, - 25585 - 11905: 0x9360, - 25586 - 11905: 0xDEE9, - 25587 - 11905: 0x9361, - 25588 - 11905: 0xD4AE, - 25589 - 11905: 0x9362, - 25590 - 11905: 0xDEDE, - 25591 - 11905: 0x9363, - 25592 - 11905: 0xDEEA, - 25593 - 11905: 0x9364, - 25594 - 11905: 0x9365, - 25595 - 11905: 0x9366, - 25596 - 11905: 0x9367, - 25597 - 11905: 0xC0BF, - 25598 - 11905: 0x9368, - 25599 - 11905: 0xDEEC, - 25600 - 11905: 0xB2F3, - 25601 - 11905: 0xB8E9, - 25602 - 11905: 0xC2A7, - 25603 - 11905: 0x9369, - 25604 - 11905: 0x936A, - 25605 - 11905: 0xBDC1, - 25606 - 11905: 0x936B, - 25607 - 11905: 0x936C, - 25608 - 11905: 0x936D, - 25609 - 11905: 0x936E, - 25610 - 11905: 0x936F, - 25611 - 11905: 0xDEF5, - 25612 - 11905: 0xDEF8, - 25613 - 11905: 0x9370, - 25614 - 11905: 0x9371, - 25615 - 11905: 0xB2AB, - 25616 - 11905: 0xB4A4, - 25617 - 11905: 0x9372, - 25618 - 11905: 0x9373, - 25619 - 11905: 0xB4EA, - 25620 - 11905: 0xC9A6, - 25621 - 11905: 0x9374, - 25622 - 11905: 0x9375, - 25623 - 11905: 0x9376, - 25624 - 11905: 0x9377, - 25625 - 11905: 0x9378, - 25626 - 11905: 0x9379, - 25627 - 11905: 0xDEF6, - 25628 - 11905: 0xCBD1, - 25629 - 11905: 0x937A, - 25630 - 11905: 0xB8E3, - 25631 - 11905: 0x937B, - 25632 - 11905: 0xDEF7, - 25633 - 11905: 0xDEFA, - 25634 - 11905: 0x937C, - 25635 - 11905: 0x937D, - 25636 - 11905: 0x937E, - 25637 - 11905: 0x9380, - 25638 - 11905: 0xDEF9, - 25639 - 11905: 0x9381, - 25640 - 11905: 0x9382, - 25641 - 11905: 0x9383, - 25642 - 11905: 0xCCC2, - 25643 - 11905: 0x9384, - 25644 - 11905: 0xB0E1, - 25645 - 11905: 0xB4EE, - 25646 - 11905: 0x9385, - 25647 - 11905: 0x9386, - 25648 - 11905: 0x9387, - 25649 - 11905: 0x9388, - 25650 - 11905: 0x9389, - 25651 - 11905: 0x938A, - 25652 - 11905: 0xE5BA, - 25653 - 11905: 0x938B, - 25654 - 11905: 0x938C, - 25655 - 11905: 0x938D, - 25656 - 11905: 0x938E, - 25657 - 11905: 0x938F, - 25658 - 11905: 0xD0AF, - 25659 - 11905: 0x9390, - 25660 - 11905: 0x9391, - 25661 - 11905: 0xB2EB, - 25662 - 11905: 0x9392, - 25663 - 11905: 0xEBA1, - 25664 - 11905: 0x9393, - 25665 - 11905: 0xDEF4, - 25666 - 11905: 0x9394, - 25667 - 11905: 0x9395, - 25668 - 11905: 0xC9E3, - 25669 - 11905: 0xDEF3, - 25670 - 11905: 0xB0DA, - 25671 - 11905: 0xD2A1, - 25672 - 11905: 0xB1F7, - 25673 - 11905: 0x9396, - 25674 - 11905: 0xCCAF, - 25675 - 11905: 0x9397, - 25676 - 11905: 0x9398, - 25677 - 11905: 0x9399, - 25678 - 11905: 0x939A, - 25679 - 11905: 0x939B, - 25680 - 11905: 0x939C, - 25681 - 11905: 0x939D, - 25682 - 11905: 0xDEF0, - 25683 - 11905: 0x939E, - 25684 - 11905: 0xCBA4, - 25685 - 11905: 0x939F, - 25686 - 11905: 0x93A0, - 25687 - 11905: 0x93A1, - 25688 - 11905: 0xD5AA, - 25689 - 11905: 0x93A2, - 25690 - 11905: 0x93A3, - 25691 - 11905: 0x93A4, - 25692 - 11905: 0x93A5, - 25693 - 11905: 0x93A6, - 25694 - 11905: 0xDEFB, - 25695 - 11905: 0x93A7, - 25696 - 11905: 0x93A8, - 25697 - 11905: 0x93A9, - 25698 - 11905: 0x93AA, - 25699 - 11905: 0x93AB, - 25700 - 11905: 0x93AC, - 25701 - 11905: 0x93AD, - 25702 - 11905: 0x93AE, - 25703 - 11905: 0xB4DD, - 25704 - 11905: 0x93AF, - 25705 - 11905: 0xC4A6, - 25706 - 11905: 0x93B0, - 25707 - 11905: 0x93B1, - 25708 - 11905: 0x93B2, - 25709 - 11905: 0xDEFD, - 25710 - 11905: 0x93B3, - 25711 - 11905: 0x93B4, - 25712 - 11905: 0x93B5, - 25713 - 11905: 0x93B6, - 25714 - 11905: 0x93B7, - 25715 - 11905: 0x93B8, - 25716 - 11905: 0x93B9, - 25717 - 11905: 0x93BA, - 25718 - 11905: 0x93BB, - 25719 - 11905: 0x93BC, - 25720 - 11905: 0xC3FE, - 25721 - 11905: 0xC4A1, - 25722 - 11905: 0xDFA1, - 25723 - 11905: 0x93BD, - 25724 - 11905: 0x93BE, - 25725 - 11905: 0x93BF, - 25726 - 11905: 0x93C0, - 25727 - 11905: 0x93C1, - 25728 - 11905: 0x93C2, - 25729 - 11905: 0x93C3, - 25730 - 11905: 0xC1CC, - 25731 - 11905: 0x93C4, - 25732 - 11905: 0xDEFC, - 25733 - 11905: 0xBEEF, - 25734 - 11905: 0x93C5, - 25735 - 11905: 0xC6B2, - 25736 - 11905: 0x93C6, - 25737 - 11905: 0x93C7, - 25738 - 11905: 0x93C8, - 25739 - 11905: 0x93C9, - 25740 - 11905: 0x93CA, - 25741 - 11905: 0x93CB, - 25742 - 11905: 0x93CC, - 25743 - 11905: 0x93CD, - 25744 - 11905: 0x93CE, - 25745 - 11905: 0xB3C5, - 25746 - 11905: 0xC8F6, - 25747 - 11905: 0x93CF, - 25748 - 11905: 0x93D0, - 25749 - 11905: 0xCBBA, - 25750 - 11905: 0xDEFE, - 25751 - 11905: 0x93D1, - 25752 - 11905: 0x93D2, - 25753 - 11905: 0xDFA4, - 25754 - 11905: 0x93D3, - 25755 - 11905: 0x93D4, - 25756 - 11905: 0x93D5, - 25757 - 11905: 0x93D6, - 25758 - 11905: 0xD7B2, - 25759 - 11905: 0x93D7, - 25760 - 11905: 0x93D8, - 25761 - 11905: 0x93D9, - 25762 - 11905: 0x93DA, - 25763 - 11905: 0x93DB, - 25764 - 11905: 0xB3B7, - 25765 - 11905: 0x93DC, - 25766 - 11905: 0x93DD, - 25767 - 11905: 0x93DE, - 25768 - 11905: 0x93DF, - 25769 - 11905: 0xC1C3, - 25770 - 11905: 0x93E0, - 25771 - 11905: 0x93E1, - 25772 - 11905: 0xC7CB, - 25773 - 11905: 0xB2A5, - 25774 - 11905: 0xB4E9, - 25775 - 11905: 0x93E2, - 25776 - 11905: 0xD7AB, - 25777 - 11905: 0x93E3, - 25778 - 11905: 0x93E4, - 25779 - 11905: 0x93E5, - 25780 - 11905: 0x93E6, - 25781 - 11905: 0xC4EC, - 25782 - 11905: 0x93E7, - 25783 - 11905: 0xDFA2, - 25784 - 11905: 0xDFA3, - 25785 - 11905: 0x93E8, - 25786 - 11905: 0xDFA5, - 25787 - 11905: 0x93E9, - 25788 - 11905: 0xBAB3, - 25789 - 11905: 0x93EA, - 25790 - 11905: 0x93EB, - 25791 - 11905: 0x93EC, - 25792 - 11905: 0xDFA6, - 25793 - 11905: 0x93ED, - 25794 - 11905: 0xC0DE, - 25795 - 11905: 0x93EE, - 25796 - 11905: 0x93EF, - 25797 - 11905: 0xC9C3, - 25798 - 11905: 0x93F0, - 25799 - 11905: 0x93F1, - 25800 - 11905: 0x93F2, - 25801 - 11905: 0x93F3, - 25802 - 11905: 0x93F4, - 25803 - 11905: 0x93F5, - 25804 - 11905: 0x93F6, - 25805 - 11905: 0xB2D9, - 25806 - 11905: 0xC7E6, - 25807 - 11905: 0x93F7, - 25808 - 11905: 0xDFA7, - 25809 - 11905: 0x93F8, - 25810 - 11905: 0xC7DC, - 25811 - 11905: 0x93F9, - 25812 - 11905: 0x93FA, - 25813 - 11905: 0x93FB, - 25814 - 11905: 0x93FC, - 25815 - 11905: 0xDFA8, - 25816 - 11905: 0xEBA2, - 25817 - 11905: 0x93FD, - 25818 - 11905: 0x93FE, - 25819 - 11905: 0x9440, - 25820 - 11905: 0x9441, - 25821 - 11905: 0x9442, - 25822 - 11905: 0xCBD3, - 25823 - 11905: 0x9443, - 25824 - 11905: 0x9444, - 25825 - 11905: 0x9445, - 25826 - 11905: 0xDFAA, - 25827 - 11905: 0x9446, - 25828 - 11905: 0xDFA9, - 25829 - 11905: 0x9447, - 25830 - 11905: 0xB2C1, - 25831 - 11905: 0x9448, - 25832 - 11905: 0x9449, - 25833 - 11905: 0x944A, - 25834 - 11905: 0x944B, - 25835 - 11905: 0x944C, - 25836 - 11905: 0x944D, - 25837 - 11905: 0x944E, - 25838 - 11905: 0x944F, - 25839 - 11905: 0x9450, - 25840 - 11905: 0x9451, - 25841 - 11905: 0x9452, - 25842 - 11905: 0x9453, - 25843 - 11905: 0x9454, - 25844 - 11905: 0x9455, - 25845 - 11905: 0x9456, - 25846 - 11905: 0x9457, - 25847 - 11905: 0x9458, - 25848 - 11905: 0x9459, - 25849 - 11905: 0x945A, - 25850 - 11905: 0x945B, - 25851 - 11905: 0x945C, - 25852 - 11905: 0x945D, - 25853 - 11905: 0x945E, - 25854 - 11905: 0x945F, - 25855 - 11905: 0x9460, - 25856 - 11905: 0xC5CA, - 25857 - 11905: 0x9461, - 25858 - 11905: 0x9462, - 25859 - 11905: 0x9463, - 25860 - 11905: 0x9464, - 25861 - 11905: 0x9465, - 25862 - 11905: 0x9466, - 25863 - 11905: 0x9467, - 25864 - 11905: 0x9468, - 25865 - 11905: 0xDFAB, - 25866 - 11905: 0x9469, - 25867 - 11905: 0x946A, - 25868 - 11905: 0x946B, - 25869 - 11905: 0x946C, - 25870 - 11905: 0x946D, - 25871 - 11905: 0x946E, - 25872 - 11905: 0x946F, - 25873 - 11905: 0x9470, - 25874 - 11905: 0xD4DC, - 25875 - 11905: 0x9471, - 25876 - 11905: 0x9472, - 25877 - 11905: 0x9473, - 25878 - 11905: 0x9474, - 25879 - 11905: 0x9475, - 25880 - 11905: 0xC8C1, - 25881 - 11905: 0x9476, - 25882 - 11905: 0x9477, - 25883 - 11905: 0x9478, - 25884 - 11905: 0x9479, - 25885 - 11905: 0x947A, - 25886 - 11905: 0x947B, - 25887 - 11905: 0x947C, - 25888 - 11905: 0x947D, - 25889 - 11905: 0x947E, - 25890 - 11905: 0x9480, - 25891 - 11905: 0x9481, - 25892 - 11905: 0x9482, - 25893 - 11905: 0xDFAC, - 25894 - 11905: 0x9483, - 25895 - 11905: 0x9484, - 25896 - 11905: 0x9485, - 25897 - 11905: 0x9486, - 25898 - 11905: 0x9487, - 25899 - 11905: 0xBEF0, - 25900 - 11905: 0x9488, - 25901 - 11905: 0x9489, - 25902 - 11905: 0xDFAD, - 25903 - 11905: 0xD6A7, - 25904 - 11905: 0x948A, - 25905 - 11905: 0x948B, - 25906 - 11905: 0x948C, - 25907 - 11905: 0x948D, - 25908 - 11905: 0xEAB7, - 25909 - 11905: 0xEBB6, - 25910 - 11905: 0xCAD5, - 25911 - 11905: 0x948E, - 25912 - 11905: 0xD8FC, - 25913 - 11905: 0xB8C4, - 25914 - 11905: 0x948F, - 25915 - 11905: 0xB9A5, - 25916 - 11905: 0x9490, - 25917 - 11905: 0x9491, - 25918 - 11905: 0xB7C5, - 25919 - 11905: 0xD5FE, - 25920 - 11905: 0x9492, - 25921 - 11905: 0x9493, - 25922 - 11905: 0x9494, - 25923 - 11905: 0x9495, - 25924 - 11905: 0x9496, - 25925 - 11905: 0xB9CA, - 25926 - 11905: 0x9497, - 25927 - 11905: 0x9498, - 25928 - 11905: 0xD0A7, - 25929 - 11905: 0xF4CD, - 25930 - 11905: 0x9499, - 25931 - 11905: 0x949A, - 25932 - 11905: 0xB5D0, - 25933 - 11905: 0x949B, - 25934 - 11905: 0x949C, - 25935 - 11905: 0xC3F4, - 25936 - 11905: 0x949D, - 25937 - 11905: 0xBEC8, - 25938 - 11905: 0x949E, - 25939 - 11905: 0x949F, - 25940 - 11905: 0x94A0, - 25941 - 11905: 0xEBB7, - 25942 - 11905: 0xB0BD, - 25943 - 11905: 0x94A1, - 25944 - 11905: 0x94A2, - 25945 - 11905: 0xBDCC, - 25946 - 11905: 0x94A3, - 25947 - 11905: 0xC1B2, - 25948 - 11905: 0x94A4, - 25949 - 11905: 0xB1D6, - 25950 - 11905: 0xB3A8, - 25951 - 11905: 0x94A5, - 25952 - 11905: 0x94A6, - 25953 - 11905: 0x94A7, - 25954 - 11905: 0xB8D2, - 25955 - 11905: 0xC9A2, - 25956 - 11905: 0x94A8, - 25957 - 11905: 0x94A9, - 25958 - 11905: 0xB6D8, - 25959 - 11905: 0x94AA, - 25960 - 11905: 0x94AB, - 25961 - 11905: 0x94AC, - 25962 - 11905: 0x94AD, - 25963 - 11905: 0xEBB8, - 25964 - 11905: 0xBEB4, - 25965 - 11905: 0x94AE, - 25966 - 11905: 0x94AF, - 25967 - 11905: 0x94B0, - 25968 - 11905: 0xCAFD, - 25969 - 11905: 0x94B1, - 25970 - 11905: 0xC7C3, - 25971 - 11905: 0x94B2, - 25972 - 11905: 0xD5FB, - 25973 - 11905: 0x94B3, - 25974 - 11905: 0x94B4, - 25975 - 11905: 0xB7F3, - 25976 - 11905: 0x94B5, - 25977 - 11905: 0x94B6, - 25978 - 11905: 0x94B7, - 25979 - 11905: 0x94B8, - 25980 - 11905: 0x94B9, - 25981 - 11905: 0x94BA, - 25982 - 11905: 0x94BB, - 25983 - 11905: 0x94BC, - 25984 - 11905: 0x94BD, - 25985 - 11905: 0x94BE, - 25986 - 11905: 0x94BF, - 25987 - 11905: 0x94C0, - 25988 - 11905: 0x94C1, - 25989 - 11905: 0x94C2, - 25990 - 11905: 0x94C3, - 25991 - 11905: 0xCEC4, - 25992 - 11905: 0x94C4, - 25993 - 11905: 0x94C5, - 25994 - 11905: 0x94C6, - 25995 - 11905: 0xD5AB, - 25996 - 11905: 0xB1F3, - 25997 - 11905: 0x94C7, - 25998 - 11905: 0x94C8, - 25999 - 11905: 0x94C9, - 26000 - 11905: 0xECB3, - 26001 - 11905: 0xB0DF, - 26002 - 11905: 0x94CA, - 26003 - 11905: 0xECB5, - 26004 - 11905: 0x94CB, - 26005 - 11905: 0x94CC, - 26006 - 11905: 0x94CD, - 26007 - 11905: 0xB6B7, - 26008 - 11905: 0x94CE, - 26009 - 11905: 0xC1CF, - 26010 - 11905: 0x94CF, - 26011 - 11905: 0xF5FA, - 26012 - 11905: 0xD0B1, - 26013 - 11905: 0x94D0, - 26014 - 11905: 0x94D1, - 26015 - 11905: 0xD5E5, - 26016 - 11905: 0x94D2, - 26017 - 11905: 0xCED3, - 26018 - 11905: 0x94D3, - 26019 - 11905: 0x94D4, - 26020 - 11905: 0xBDEF, - 26021 - 11905: 0xB3E2, - 26022 - 11905: 0x94D5, - 26023 - 11905: 0xB8AB, - 26024 - 11905: 0x94D6, - 26025 - 11905: 0xD5B6, - 26026 - 11905: 0x94D7, - 26027 - 11905: 0xEDBD, - 26028 - 11905: 0x94D8, - 26029 - 11905: 0xB6CF, - 26030 - 11905: 0x94D9, - 26031 - 11905: 0xCBB9, - 26032 - 11905: 0xD0C2, - 26033 - 11905: 0x94DA, - 26034 - 11905: 0x94DB, - 26035 - 11905: 0x94DC, - 26036 - 11905: 0x94DD, - 26037 - 11905: 0x94DE, - 26038 - 11905: 0x94DF, - 26039 - 11905: 0x94E0, - 26040 - 11905: 0x94E1, - 26041 - 11905: 0xB7BD, - 26042 - 11905: 0x94E2, - 26043 - 11905: 0x94E3, - 26044 - 11905: 0xECB6, - 26045 - 11905: 0xCAA9, - 26046 - 11905: 0x94E4, - 26047 - 11905: 0x94E5, - 26048 - 11905: 0x94E6, - 26049 - 11905: 0xC5D4, - 26050 - 11905: 0x94E7, - 26051 - 11905: 0xECB9, - 26052 - 11905: 0xECB8, - 26053 - 11905: 0xC2C3, - 26054 - 11905: 0xECB7, - 26055 - 11905: 0x94E8, - 26056 - 11905: 0x94E9, - 26057 - 11905: 0x94EA, - 26058 - 11905: 0x94EB, - 26059 - 11905: 0xD0FD, - 26060 - 11905: 0xECBA, - 26061 - 11905: 0x94EC, - 26062 - 11905: 0xECBB, - 26063 - 11905: 0xD7E5, - 26064 - 11905: 0x94ED, - 26065 - 11905: 0x94EE, - 26066 - 11905: 0xECBC, - 26067 - 11905: 0x94EF, - 26068 - 11905: 0x94F0, - 26069 - 11905: 0x94F1, - 26070 - 11905: 0xECBD, - 26071 - 11905: 0xC6EC, - 26072 - 11905: 0x94F2, - 26073 - 11905: 0x94F3, - 26074 - 11905: 0x94F4, - 26075 - 11905: 0x94F5, - 26076 - 11905: 0x94F6, - 26077 - 11905: 0x94F7, - 26078 - 11905: 0x94F8, - 26079 - 11905: 0x94F9, - 26080 - 11905: 0xCEDE, - 26081 - 11905: 0x94FA, - 26082 - 11905: 0xBCC8, - 26083 - 11905: 0x94FB, - 26084 - 11905: 0x94FC, - 26085 - 11905: 0xC8D5, - 26086 - 11905: 0xB5A9, - 26087 - 11905: 0xBEC9, - 26088 - 11905: 0xD6BC, - 26089 - 11905: 0xD4E7, - 26090 - 11905: 0x94FD, - 26091 - 11905: 0x94FE, - 26092 - 11905: 0xD1AE, - 26093 - 11905: 0xD0F1, - 26094 - 11905: 0xEAB8, - 26095 - 11905: 0xEAB9, - 26096 - 11905: 0xEABA, - 26097 - 11905: 0xBAB5, - 26098 - 11905: 0x9540, - 26099 - 11905: 0x9541, - 26100 - 11905: 0x9542, - 26101 - 11905: 0x9543, - 26102 - 11905: 0xCAB1, - 26103 - 11905: 0xBFF5, - 26104 - 11905: 0x9544, - 26105 - 11905: 0x9545, - 26106 - 11905: 0xCDFA, - 26107 - 11905: 0x9546, - 26108 - 11905: 0x9547, - 26109 - 11905: 0x9548, - 26110 - 11905: 0x9549, - 26111 - 11905: 0x954A, - 26112 - 11905: 0xEAC0, - 26113 - 11905: 0x954B, - 26114 - 11905: 0xB0BA, - 26115 - 11905: 0xEABE, - 26116 - 11905: 0x954C, - 26117 - 11905: 0x954D, - 26118 - 11905: 0xC0A5, - 26119 - 11905: 0x954E, - 26120 - 11905: 0x954F, - 26121 - 11905: 0x9550, - 26122 - 11905: 0xEABB, - 26123 - 11905: 0x9551, - 26124 - 11905: 0xB2FD, - 26125 - 11905: 0x9552, - 26126 - 11905: 0xC3F7, - 26127 - 11905: 0xBBE8, - 26128 - 11905: 0x9553, - 26129 - 11905: 0x9554, - 26130 - 11905: 0x9555, - 26131 - 11905: 0xD2D7, - 26132 - 11905: 0xCEF4, - 26133 - 11905: 0xEABF, - 26134 - 11905: 0x9556, - 26135 - 11905: 0x9557, - 26136 - 11905: 0x9558, - 26137 - 11905: 0xEABC, - 26138 - 11905: 0x9559, - 26139 - 11905: 0x955A, - 26140 - 11905: 0x955B, - 26141 - 11905: 0xEAC3, - 26142 - 11905: 0x955C, - 26143 - 11905: 0xD0C7, - 26144 - 11905: 0xD3B3, - 26145 - 11905: 0x955D, - 26146 - 11905: 0x955E, - 26147 - 11905: 0x955F, - 26148 - 11905: 0x9560, - 26149 - 11905: 0xB4BA, - 26150 - 11905: 0x9561, - 26151 - 11905: 0xC3C1, - 26152 - 11905: 0xD7F2, - 26153 - 11905: 0x9562, - 26154 - 11905: 0x9563, - 26155 - 11905: 0x9564, - 26156 - 11905: 0x9565, - 26157 - 11905: 0xD5D1, - 26158 - 11905: 0x9566, - 26159 - 11905: 0xCAC7, - 26160 - 11905: 0x9567, - 26161 - 11905: 0xEAC5, - 26162 - 11905: 0x9568, - 26163 - 11905: 0x9569, - 26164 - 11905: 0xEAC4, - 26165 - 11905: 0xEAC7, - 26166 - 11905: 0xEAC6, - 26167 - 11905: 0x956A, - 26168 - 11905: 0x956B, - 26169 - 11905: 0x956C, - 26170 - 11905: 0x956D, - 26171 - 11905: 0x956E, - 26172 - 11905: 0xD6E7, - 26173 - 11905: 0x956F, - 26174 - 11905: 0xCFD4, - 26175 - 11905: 0x9570, - 26176 - 11905: 0x9571, - 26177 - 11905: 0xEACB, - 26178 - 11905: 0x9572, - 26179 - 11905: 0xBBCE, - 26180 - 11905: 0x9573, - 26181 - 11905: 0x9574, - 26182 - 11905: 0x9575, - 26183 - 11905: 0x9576, - 26184 - 11905: 0x9577, - 26185 - 11905: 0x9578, - 26186 - 11905: 0x9579, - 26187 - 11905: 0xBDFA, - 26188 - 11905: 0xC9CE, - 26189 - 11905: 0x957A, - 26190 - 11905: 0x957B, - 26191 - 11905: 0xEACC, - 26192 - 11905: 0x957C, - 26193 - 11905: 0x957D, - 26194 - 11905: 0xC9B9, - 26195 - 11905: 0xCFFE, - 26196 - 11905: 0xEACA, - 26197 - 11905: 0xD4CE, - 26198 - 11905: 0xEACD, - 26199 - 11905: 0xEACF, - 26200 - 11905: 0x957E, - 26201 - 11905: 0x9580, - 26202 - 11905: 0xCDED, - 26203 - 11905: 0x9581, - 26204 - 11905: 0x9582, - 26205 - 11905: 0x9583, - 26206 - 11905: 0x9584, - 26207 - 11905: 0xEAC9, - 26208 - 11905: 0x9585, - 26209 - 11905: 0xEACE, - 26210 - 11905: 0x9586, - 26211 - 11905: 0x9587, - 26212 - 11905: 0xCEEE, - 26213 - 11905: 0x9588, - 26214 - 11905: 0xBBDE, - 26215 - 11905: 0x9589, - 26216 - 11905: 0xB3BF, - 26217 - 11905: 0x958A, - 26218 - 11905: 0x958B, - 26219 - 11905: 0x958C, - 26220 - 11905: 0x958D, - 26221 - 11905: 0x958E, - 26222 - 11905: 0xC6D5, - 26223 - 11905: 0xBEB0, - 26224 - 11905: 0xCEFA, - 26225 - 11905: 0x958F, - 26226 - 11905: 0x9590, - 26227 - 11905: 0x9591, - 26228 - 11905: 0xC7E7, - 26229 - 11905: 0x9592, - 26230 - 11905: 0xBEA7, - 26231 - 11905: 0xEAD0, - 26232 - 11905: 0x9593, - 26233 - 11905: 0x9594, - 26234 - 11905: 0xD6C7, - 26235 - 11905: 0x9595, - 26236 - 11905: 0x9596, - 26237 - 11905: 0x9597, - 26238 - 11905: 0xC1C0, - 26239 - 11905: 0x9598, - 26240 - 11905: 0x9599, - 26241 - 11905: 0x959A, - 26242 - 11905: 0xD4DD, - 26243 - 11905: 0x959B, - 26244 - 11905: 0xEAD1, - 26245 - 11905: 0x959C, - 26246 - 11905: 0x959D, - 26247 - 11905: 0xCFBE, - 26248 - 11905: 0x959E, - 26249 - 11905: 0x959F, - 26250 - 11905: 0x95A0, - 26251 - 11905: 0x95A1, - 26252 - 11905: 0xEAD2, - 26253 - 11905: 0x95A2, - 26254 - 11905: 0x95A3, - 26255 - 11905: 0x95A4, - 26256 - 11905: 0x95A5, - 26257 - 11905: 0xCAEE, - 26258 - 11905: 0x95A6, - 26259 - 11905: 0x95A7, - 26260 - 11905: 0x95A8, - 26261 - 11905: 0x95A9, - 26262 - 11905: 0xC5AF, - 26263 - 11905: 0xB0B5, - 26264 - 11905: 0x95AA, - 26265 - 11905: 0x95AB, - 26266 - 11905: 0x95AC, - 26267 - 11905: 0x95AD, - 26268 - 11905: 0x95AE, - 26269 - 11905: 0xEAD4, - 26270 - 11905: 0x95AF, - 26271 - 11905: 0x95B0, - 26272 - 11905: 0x95B1, - 26273 - 11905: 0x95B2, - 26274 - 11905: 0x95B3, - 26275 - 11905: 0x95B4, - 26276 - 11905: 0x95B5, - 26277 - 11905: 0x95B6, - 26278 - 11905: 0x95B7, - 26279 - 11905: 0xEAD3, - 26280 - 11905: 0xF4DF, - 26281 - 11905: 0x95B8, - 26282 - 11905: 0x95B9, - 26283 - 11905: 0x95BA, - 26284 - 11905: 0x95BB, - 26285 - 11905: 0x95BC, - 26286 - 11905: 0xC4BA, - 26287 - 11905: 0x95BD, - 26288 - 11905: 0x95BE, - 26289 - 11905: 0x95BF, - 26290 - 11905: 0x95C0, - 26291 - 11905: 0x95C1, - 26292 - 11905: 0xB1A9, - 26293 - 11905: 0x95C2, - 26294 - 11905: 0x95C3, - 26295 - 11905: 0x95C4, - 26296 - 11905: 0x95C5, - 26297 - 11905: 0xE5DF, - 26298 - 11905: 0x95C6, - 26299 - 11905: 0x95C7, - 26300 - 11905: 0x95C8, - 26301 - 11905: 0x95C9, - 26302 - 11905: 0xEAD5, - 26303 - 11905: 0x95CA, - 26304 - 11905: 0x95CB, - 26305 - 11905: 0x95CC, - 26306 - 11905: 0x95CD, - 26307 - 11905: 0x95CE, - 26308 - 11905: 0x95CF, - 26309 - 11905: 0x95D0, - 26310 - 11905: 0x95D1, - 26311 - 11905: 0x95D2, - 26312 - 11905: 0x95D3, - 26313 - 11905: 0x95D4, - 26314 - 11905: 0x95D5, - 26315 - 11905: 0x95D6, - 26316 - 11905: 0x95D7, - 26317 - 11905: 0x95D8, - 26318 - 11905: 0x95D9, - 26319 - 11905: 0x95DA, - 26320 - 11905: 0x95DB, - 26321 - 11905: 0x95DC, - 26322 - 11905: 0x95DD, - 26323 - 11905: 0x95DE, - 26324 - 11905: 0x95DF, - 26325 - 11905: 0x95E0, - 26326 - 11905: 0x95E1, - 26327 - 11905: 0x95E2, - 26328 - 11905: 0x95E3, - 26329 - 11905: 0xCAEF, - 26330 - 11905: 0x95E4, - 26331 - 11905: 0xEAD6, - 26332 - 11905: 0xEAD7, - 26333 - 11905: 0xC6D8, - 26334 - 11905: 0x95E5, - 26335 - 11905: 0x95E6, - 26336 - 11905: 0x95E7, - 26337 - 11905: 0x95E8, - 26338 - 11905: 0x95E9, - 26339 - 11905: 0x95EA, - 26340 - 11905: 0x95EB, - 26341 - 11905: 0x95EC, - 26342 - 11905: 0xEAD8, - 26343 - 11905: 0x95ED, - 26344 - 11905: 0x95EE, - 26345 - 11905: 0xEAD9, - 26346 - 11905: 0x95EF, - 26347 - 11905: 0x95F0, - 26348 - 11905: 0x95F1, - 26349 - 11905: 0x95F2, - 26350 - 11905: 0x95F3, - 26351 - 11905: 0x95F4, - 26352 - 11905: 0xD4BB, - 26353 - 11905: 0x95F5, - 26354 - 11905: 0xC7FA, - 26355 - 11905: 0xD2B7, - 26356 - 11905: 0xB8FC, - 26357 - 11905: 0x95F6, - 26358 - 11905: 0x95F7, - 26359 - 11905: 0xEAC2, - 26360 - 11905: 0x95F8, - 26361 - 11905: 0xB2DC, - 26362 - 11905: 0x95F9, - 26363 - 11905: 0x95FA, - 26364 - 11905: 0xC2FC, - 26365 - 11905: 0x95FB, - 26366 - 11905: 0xD4F8, - 26367 - 11905: 0xCCE6, - 26368 - 11905: 0xD7EE, - 26369 - 11905: 0x95FC, - 26370 - 11905: 0x95FD, - 26371 - 11905: 0x95FE, - 26372 - 11905: 0x9640, - 26373 - 11905: 0x9641, - 26374 - 11905: 0x9642, - 26375 - 11905: 0x9643, - 26376 - 11905: 0xD4C2, - 26377 - 11905: 0xD3D0, - 26378 - 11905: 0xEBC3, - 26379 - 11905: 0xC5F3, - 26380 - 11905: 0x9644, - 26381 - 11905: 0xB7FE, - 26382 - 11905: 0x9645, - 26383 - 11905: 0x9646, - 26384 - 11905: 0xEBD4, - 26385 - 11905: 0x9647, - 26386 - 11905: 0x9648, - 26387 - 11905: 0x9649, - 26388 - 11905: 0xCBB7, - 26389 - 11905: 0xEBDE, - 26390 - 11905: 0x964A, - 26391 - 11905: 0xC0CA, - 26392 - 11905: 0x964B, - 26393 - 11905: 0x964C, - 26394 - 11905: 0x964D, - 26395 - 11905: 0xCDFB, - 26396 - 11905: 0x964E, - 26397 - 11905: 0xB3AF, - 26398 - 11905: 0x964F, - 26399 - 11905: 0xC6DA, - 26400 - 11905: 0x9650, - 26401 - 11905: 0x9651, - 26402 - 11905: 0x9652, - 26403 - 11905: 0x9653, - 26404 - 11905: 0x9654, - 26405 - 11905: 0x9655, - 26406 - 11905: 0xEBFC, - 26407 - 11905: 0x9656, - 26408 - 11905: 0xC4BE, - 26409 - 11905: 0x9657, - 26410 - 11905: 0xCEB4, - 26411 - 11905: 0xC4A9, - 26412 - 11905: 0xB1BE, - 26413 - 11905: 0xD4FD, - 26414 - 11905: 0x9658, - 26415 - 11905: 0xCAF5, - 26416 - 11905: 0x9659, - 26417 - 11905: 0xD6EC, - 26418 - 11905: 0x965A, - 26419 - 11905: 0x965B, - 26420 - 11905: 0xC6D3, - 26421 - 11905: 0xB6E4, - 26422 - 11905: 0x965C, - 26423 - 11905: 0x965D, - 26424 - 11905: 0x965E, - 26425 - 11905: 0x965F, - 26426 - 11905: 0xBBFA, - 26427 - 11905: 0x9660, - 26428 - 11905: 0x9661, - 26429 - 11905: 0xD0E0, - 26430 - 11905: 0x9662, - 26431 - 11905: 0x9663, - 26432 - 11905: 0xC9B1, - 26433 - 11905: 0x9664, - 26434 - 11905: 0xD4D3, - 26435 - 11905: 0xC8A8, - 26436 - 11905: 0x9665, - 26437 - 11905: 0x9666, - 26438 - 11905: 0xB8CB, - 26439 - 11905: 0x9667, - 26440 - 11905: 0xE8BE, - 26441 - 11905: 0xC9BC, - 26442 - 11905: 0x9668, - 26443 - 11905: 0x9669, - 26444 - 11905: 0xE8BB, - 26445 - 11905: 0x966A, - 26446 - 11905: 0xC0EE, - 26447 - 11905: 0xD0D3, - 26448 - 11905: 0xB2C4, - 26449 - 11905: 0xB4E5, - 26450 - 11905: 0x966B, - 26451 - 11905: 0xE8BC, - 26452 - 11905: 0x966C, - 26453 - 11905: 0x966D, - 26454 - 11905: 0xD5C8, - 26455 - 11905: 0x966E, - 26456 - 11905: 0x966F, - 26457 - 11905: 0x9670, - 26458 - 11905: 0x9671, - 26459 - 11905: 0x9672, - 26460 - 11905: 0xB6C5, - 26461 - 11905: 0x9673, - 26462 - 11905: 0xE8BD, - 26463 - 11905: 0xCAF8, - 26464 - 11905: 0xB8DC, - 26465 - 11905: 0xCCF5, - 26466 - 11905: 0x9674, - 26467 - 11905: 0x9675, - 26468 - 11905: 0x9676, - 26469 - 11905: 0xC0B4, - 26470 - 11905: 0x9677, - 26471 - 11905: 0x9678, - 26472 - 11905: 0xD1EE, - 26473 - 11905: 0xE8BF, - 26474 - 11905: 0xE8C2, - 26475 - 11905: 0x9679, - 26476 - 11905: 0x967A, - 26477 - 11905: 0xBABC, - 26478 - 11905: 0x967B, - 26479 - 11905: 0xB1AD, - 26480 - 11905: 0xBDDC, - 26481 - 11905: 0x967C, - 26482 - 11905: 0xEABD, - 26483 - 11905: 0xE8C3, - 26484 - 11905: 0x967D, - 26485 - 11905: 0xE8C6, - 26486 - 11905: 0x967E, - 26487 - 11905: 0xE8CB, - 26488 - 11905: 0x9680, - 26489 - 11905: 0x9681, - 26490 - 11905: 0x9682, - 26491 - 11905: 0x9683, - 26492 - 11905: 0xE8CC, - 26493 - 11905: 0x9684, - 26494 - 11905: 0xCBC9, - 26495 - 11905: 0xB0E5, - 26496 - 11905: 0x9685, - 26497 - 11905: 0xBCAB, - 26498 - 11905: 0x9686, - 26499 - 11905: 0x9687, - 26500 - 11905: 0xB9B9, - 26501 - 11905: 0x9688, - 26502 - 11905: 0x9689, - 26503 - 11905: 0xE8C1, - 26504 - 11905: 0x968A, - 26505 - 11905: 0xCDF7, - 26506 - 11905: 0x968B, - 26507 - 11905: 0xE8CA, - 26508 - 11905: 0x968C, - 26509 - 11905: 0x968D, - 26510 - 11905: 0x968E, - 26511 - 11905: 0x968F, - 26512 - 11905: 0xCEF6, - 26513 - 11905: 0x9690, - 26514 - 11905: 0x9691, - 26515 - 11905: 0x9692, - 26516 - 11905: 0x9693, - 26517 - 11905: 0xD5ED, - 26518 - 11905: 0x9694, - 26519 - 11905: 0xC1D6, - 26520 - 11905: 0xE8C4, - 26521 - 11905: 0x9695, - 26522 - 11905: 0xC3B6, - 26523 - 11905: 0x9696, - 26524 - 11905: 0xB9FB, - 26525 - 11905: 0xD6A6, - 26526 - 11905: 0xE8C8, - 26527 - 11905: 0x9697, - 26528 - 11905: 0x9698, - 26529 - 11905: 0x9699, - 26530 - 11905: 0xCAE0, - 26531 - 11905: 0xD4E6, - 26532 - 11905: 0x969A, - 26533 - 11905: 0xE8C0, - 26534 - 11905: 0x969B, - 26535 - 11905: 0xE8C5, - 26536 - 11905: 0xE8C7, - 26537 - 11905: 0x969C, - 26538 - 11905: 0xC7B9, - 26539 - 11905: 0xB7E3, - 26540 - 11905: 0x969D, - 26541 - 11905: 0xE8C9, - 26542 - 11905: 0x969E, - 26543 - 11905: 0xBFDD, - 26544 - 11905: 0xE8D2, - 26545 - 11905: 0x969F, - 26546 - 11905: 0x96A0, - 26547 - 11905: 0xE8D7, - 26548 - 11905: 0x96A1, - 26549 - 11905: 0xE8D5, - 26550 - 11905: 0xBCDC, - 26551 - 11905: 0xBCCF, - 26552 - 11905: 0xE8DB, - 26553 - 11905: 0x96A2, - 26554 - 11905: 0x96A3, - 26555 - 11905: 0x96A4, - 26556 - 11905: 0x96A5, - 26557 - 11905: 0x96A6, - 26558 - 11905: 0x96A7, - 26559 - 11905: 0x96A8, - 26560 - 11905: 0x96A9, - 26561 - 11905: 0xE8DE, - 26562 - 11905: 0x96AA, - 26563 - 11905: 0xE8DA, - 26564 - 11905: 0xB1FA, - 26565 - 11905: 0x96AB, - 26566 - 11905: 0x96AC, - 26567 - 11905: 0x96AD, - 26568 - 11905: 0x96AE, - 26569 - 11905: 0x96AF, - 26570 - 11905: 0x96B0, - 26571 - 11905: 0x96B1, - 26572 - 11905: 0x96B2, - 26573 - 11905: 0x96B3, - 26574 - 11905: 0x96B4, - 26575 - 11905: 0xB0D8, - 26576 - 11905: 0xC4B3, - 26577 - 11905: 0xB8CC, - 26578 - 11905: 0xC6E2, - 26579 - 11905: 0xC8BE, - 26580 - 11905: 0xC8E1, - 26581 - 11905: 0x96B5, - 26582 - 11905: 0x96B6, - 26583 - 11905: 0x96B7, - 26584 - 11905: 0xE8CF, - 26585 - 11905: 0xE8D4, - 26586 - 11905: 0xE8D6, - 26587 - 11905: 0x96B8, - 26588 - 11905: 0xB9F1, - 26589 - 11905: 0xE8D8, - 26590 - 11905: 0xD7F5, - 26591 - 11905: 0x96B9, - 26592 - 11905: 0xC4FB, - 26593 - 11905: 0x96BA, - 26594 - 11905: 0xE8DC, - 26595 - 11905: 0x96BB, - 26596 - 11905: 0x96BC, - 26597 - 11905: 0xB2E9, - 26598 - 11905: 0x96BD, - 26599 - 11905: 0x96BE, - 26600 - 11905: 0x96BF, - 26601 - 11905: 0xE8D1, - 26602 - 11905: 0x96C0, - 26603 - 11905: 0x96C1, - 26604 - 11905: 0xBCED, - 26605 - 11905: 0x96C2, - 26606 - 11905: 0x96C3, - 26607 - 11905: 0xBFC2, - 26608 - 11905: 0xE8CD, - 26609 - 11905: 0xD6F9, - 26610 - 11905: 0x96C4, - 26611 - 11905: 0xC1F8, - 26612 - 11905: 0xB2F1, - 26613 - 11905: 0x96C5, - 26614 - 11905: 0x96C6, - 26615 - 11905: 0x96C7, - 26616 - 11905: 0x96C8, - 26617 - 11905: 0x96C9, - 26618 - 11905: 0x96CA, - 26619 - 11905: 0x96CB, - 26620 - 11905: 0x96CC, - 26621 - 11905: 0xE8DF, - 26622 - 11905: 0x96CD, - 26623 - 11905: 0xCAC1, - 26624 - 11905: 0xE8D9, - 26625 - 11905: 0x96CE, - 26626 - 11905: 0x96CF, - 26627 - 11905: 0x96D0, - 26628 - 11905: 0x96D1, - 26629 - 11905: 0xD5A4, - 26630 - 11905: 0x96D2, - 26631 - 11905: 0xB1EA, - 26632 - 11905: 0xD5BB, - 26633 - 11905: 0xE8CE, - 26634 - 11905: 0xE8D0, - 26635 - 11905: 0xB6B0, - 26636 - 11905: 0xE8D3, - 26637 - 11905: 0x96D3, - 26638 - 11905: 0xE8DD, - 26639 - 11905: 0xC0B8, - 26640 - 11905: 0x96D4, - 26641 - 11905: 0xCAF7, - 26642 - 11905: 0x96D5, - 26643 - 11905: 0xCBA8, - 26644 - 11905: 0x96D6, - 26645 - 11905: 0x96D7, - 26646 - 11905: 0xC6DC, - 26647 - 11905: 0xC0F5, - 26648 - 11905: 0x96D8, - 26649 - 11905: 0x96D9, - 26650 - 11905: 0x96DA, - 26651 - 11905: 0x96DB, - 26652 - 11905: 0x96DC, - 26653 - 11905: 0xE8E9, - 26654 - 11905: 0x96DD, - 26655 - 11905: 0x96DE, - 26656 - 11905: 0x96DF, - 26657 - 11905: 0xD0A3, - 26658 - 11905: 0x96E0, - 26659 - 11905: 0x96E1, - 26660 - 11905: 0x96E2, - 26661 - 11905: 0x96E3, - 26662 - 11905: 0x96E4, - 26663 - 11905: 0x96E5, - 26664 - 11905: 0x96E6, - 26665 - 11905: 0xE8F2, - 26666 - 11905: 0xD6EA, - 26667 - 11905: 0x96E7, - 26668 - 11905: 0x96E8, - 26669 - 11905: 0x96E9, - 26670 - 11905: 0x96EA, - 26671 - 11905: 0x96EB, - 26672 - 11905: 0x96EC, - 26673 - 11905: 0x96ED, - 26674 - 11905: 0xE8E0, - 26675 - 11905: 0xE8E1, - 26676 - 11905: 0x96EE, - 26677 - 11905: 0x96EF, - 26678 - 11905: 0x96F0, - 26679 - 11905: 0xD1F9, - 26680 - 11905: 0xBACB, - 26681 - 11905: 0xB8F9, - 26682 - 11905: 0x96F1, - 26683 - 11905: 0x96F2, - 26684 - 11905: 0xB8F1, - 26685 - 11905: 0xD4D4, - 26686 - 11905: 0xE8EF, - 26687 - 11905: 0x96F3, - 26688 - 11905: 0xE8EE, - 26689 - 11905: 0xE8EC, - 26690 - 11905: 0xB9F0, - 26691 - 11905: 0xCCD2, - 26692 - 11905: 0xE8E6, - 26693 - 11905: 0xCEA6, - 26694 - 11905: 0xBFF2, - 26695 - 11905: 0x96F4, - 26696 - 11905: 0xB0B8, - 26697 - 11905: 0xE8F1, - 26698 - 11905: 0xE8F0, - 26699 - 11905: 0x96F5, - 26700 - 11905: 0xD7C0, - 26701 - 11905: 0x96F6, - 26702 - 11905: 0xE8E4, - 26703 - 11905: 0x96F7, - 26704 - 11905: 0xCDA9, - 26705 - 11905: 0xC9A3, - 26706 - 11905: 0x96F8, - 26707 - 11905: 0xBBB8, - 26708 - 11905: 0xBDDB, - 26709 - 11905: 0xE8EA, - 26710 - 11905: 0x96F9, - 26711 - 11905: 0x96FA, - 26712 - 11905: 0x96FB, - 26713 - 11905: 0x96FC, - 26714 - 11905: 0x96FD, - 26715 - 11905: 0x96FE, - 26716 - 11905: 0x9740, - 26717 - 11905: 0x9741, - 26718 - 11905: 0x9742, - 26719 - 11905: 0x9743, - 26720 - 11905: 0xE8E2, - 26721 - 11905: 0xE8E3, - 26722 - 11905: 0xE8E5, - 26723 - 11905: 0xB5B5, - 26724 - 11905: 0xE8E7, - 26725 - 11905: 0xC7C5, - 26726 - 11905: 0xE8EB, - 26727 - 11905: 0xE8ED, - 26728 - 11905: 0xBDB0, - 26729 - 11905: 0xD7AE, - 26730 - 11905: 0x9744, - 26731 - 11905: 0xE8F8, - 26732 - 11905: 0x9745, - 26733 - 11905: 0x9746, - 26734 - 11905: 0x9747, - 26735 - 11905: 0x9748, - 26736 - 11905: 0x9749, - 26737 - 11905: 0x974A, - 26738 - 11905: 0x974B, - 26739 - 11905: 0x974C, - 26740 - 11905: 0xE8F5, - 26741 - 11905: 0x974D, - 26742 - 11905: 0xCDB0, - 26743 - 11905: 0xE8F6, - 26744 - 11905: 0x974E, - 26745 - 11905: 0x974F, - 26746 - 11905: 0x9750, - 26747 - 11905: 0x9751, - 26748 - 11905: 0x9752, - 26749 - 11905: 0x9753, - 26750 - 11905: 0x9754, - 26751 - 11905: 0x9755, - 26752 - 11905: 0x9756, - 26753 - 11905: 0xC1BA, - 26754 - 11905: 0x9757, - 26755 - 11905: 0xE8E8, - 26756 - 11905: 0x9758, - 26757 - 11905: 0xC3B7, - 26758 - 11905: 0xB0F0, - 26759 - 11905: 0x9759, - 26760 - 11905: 0x975A, - 26761 - 11905: 0x975B, - 26762 - 11905: 0x975C, - 26763 - 11905: 0x975D, - 26764 - 11905: 0x975E, - 26765 - 11905: 0x975F, - 26766 - 11905: 0x9760, - 26767 - 11905: 0xE8F4, - 26768 - 11905: 0x9761, - 26769 - 11905: 0x9762, - 26770 - 11905: 0x9763, - 26771 - 11905: 0xE8F7, - 26772 - 11905: 0x9764, - 26773 - 11905: 0x9765, - 26774 - 11905: 0x9766, - 26775 - 11905: 0xB9A3, - 26776 - 11905: 0x9767, - 26777 - 11905: 0x9768, - 26778 - 11905: 0x9769, - 26779 - 11905: 0x976A, - 26780 - 11905: 0x976B, - 26781 - 11905: 0x976C, - 26782 - 11905: 0x976D, - 26783 - 11905: 0x976E, - 26784 - 11905: 0x976F, - 26785 - 11905: 0x9770, - 26786 - 11905: 0xC9D2, - 26787 - 11905: 0x9771, - 26788 - 11905: 0x9772, - 26789 - 11905: 0x9773, - 26790 - 11905: 0xC3CE, - 26791 - 11905: 0xCEE0, - 26792 - 11905: 0xC0E6, - 26793 - 11905: 0x9774, - 26794 - 11905: 0x9775, - 26795 - 11905: 0x9776, - 26796 - 11905: 0x9777, - 26797 - 11905: 0xCBF3, - 26798 - 11905: 0x9778, - 26799 - 11905: 0xCCDD, - 26800 - 11905: 0xD0B5, - 26801 - 11905: 0x9779, - 26802 - 11905: 0x977A, - 26803 - 11905: 0xCAE1, - 26804 - 11905: 0x977B, - 26805 - 11905: 0xE8F3, - 26806 - 11905: 0x977C, - 26807 - 11905: 0x977D, - 26808 - 11905: 0x977E, - 26809 - 11905: 0x9780, - 26810 - 11905: 0x9781, - 26811 - 11905: 0x9782, - 26812 - 11905: 0x9783, - 26813 - 11905: 0x9784, - 26814 - 11905: 0x9785, - 26815 - 11905: 0x9786, - 26816 - 11905: 0xBCEC, - 26817 - 11905: 0x9787, - 26818 - 11905: 0xE8F9, - 26819 - 11905: 0x9788, - 26820 - 11905: 0x9789, - 26821 - 11905: 0x978A, - 26822 - 11905: 0x978B, - 26823 - 11905: 0x978C, - 26824 - 11905: 0x978D, - 26825 - 11905: 0xC3DE, - 26826 - 11905: 0x978E, - 26827 - 11905: 0xC6E5, - 26828 - 11905: 0x978F, - 26829 - 11905: 0xB9F7, - 26830 - 11905: 0x9790, - 26831 - 11905: 0x9791, - 26832 - 11905: 0x9792, - 26833 - 11905: 0x9793, - 26834 - 11905: 0xB0F4, - 26835 - 11905: 0x9794, - 26836 - 11905: 0x9795, - 26837 - 11905: 0xD7D8, - 26838 - 11905: 0x9796, - 26839 - 11905: 0x9797, - 26840 - 11905: 0xBCAC, - 26841 - 11905: 0x9798, - 26842 - 11905: 0xC5EF, - 26843 - 11905: 0x9799, - 26844 - 11905: 0x979A, - 26845 - 11905: 0x979B, - 26846 - 11905: 0x979C, - 26847 - 11905: 0x979D, - 26848 - 11905: 0xCCC4, - 26849 - 11905: 0x979E, - 26850 - 11905: 0x979F, - 26851 - 11905: 0xE9A6, - 26852 - 11905: 0x97A0, - 26853 - 11905: 0x97A1, - 26854 - 11905: 0x97A2, - 26855 - 11905: 0x97A3, - 26856 - 11905: 0x97A4, - 26857 - 11905: 0x97A5, - 26858 - 11905: 0x97A6, - 26859 - 11905: 0x97A7, - 26860 - 11905: 0x97A8, - 26861 - 11905: 0x97A9, - 26862 - 11905: 0xC9AD, - 26863 - 11905: 0x97AA, - 26864 - 11905: 0xE9A2, - 26865 - 11905: 0xC0E2, - 26866 - 11905: 0x97AB, - 26867 - 11905: 0x97AC, - 26868 - 11905: 0x97AD, - 26869 - 11905: 0xBFC3, - 26870 - 11905: 0x97AE, - 26871 - 11905: 0x97AF, - 26872 - 11905: 0x97B0, - 26873 - 11905: 0xE8FE, - 26874 - 11905: 0xB9D7, - 26875 - 11905: 0x97B1, - 26876 - 11905: 0xE8FB, - 26877 - 11905: 0x97B2, - 26878 - 11905: 0x97B3, - 26879 - 11905: 0x97B4, - 26880 - 11905: 0x97B5, - 26881 - 11905: 0xE9A4, - 26882 - 11905: 0x97B6, - 26883 - 11905: 0x97B7, - 26884 - 11905: 0x97B8, - 26885 - 11905: 0xD2CE, - 26886 - 11905: 0x97B9, - 26887 - 11905: 0x97BA, - 26888 - 11905: 0x97BB, - 26889 - 11905: 0x97BC, - 26890 - 11905: 0x97BD, - 26891 - 11905: 0xE9A3, - 26892 - 11905: 0x97BE, - 26893 - 11905: 0xD6B2, - 26894 - 11905: 0xD7B5, - 26895 - 11905: 0x97BF, - 26896 - 11905: 0xE9A7, - 26897 - 11905: 0x97C0, - 26898 - 11905: 0xBDB7, - 26899 - 11905: 0x97C1, - 26900 - 11905: 0x97C2, - 26901 - 11905: 0x97C3, - 26902 - 11905: 0x97C4, - 26903 - 11905: 0x97C5, - 26904 - 11905: 0x97C6, - 26905 - 11905: 0x97C7, - 26906 - 11905: 0x97C8, - 26907 - 11905: 0x97C9, - 26908 - 11905: 0x97CA, - 26909 - 11905: 0x97CB, - 26910 - 11905: 0x97CC, - 26911 - 11905: 0xE8FC, - 26912 - 11905: 0xE8FD, - 26913 - 11905: 0x97CD, - 26914 - 11905: 0x97CE, - 26915 - 11905: 0x97CF, - 26916 - 11905: 0xE9A1, - 26917 - 11905: 0x97D0, - 26918 - 11905: 0x97D1, - 26919 - 11905: 0x97D2, - 26920 - 11905: 0x97D3, - 26921 - 11905: 0x97D4, - 26922 - 11905: 0x97D5, - 26923 - 11905: 0x97D6, - 26924 - 11905: 0x97D7, - 26925 - 11905: 0xCDD6, - 26926 - 11905: 0x97D8, - 26927 - 11905: 0x97D9, - 26928 - 11905: 0xD2AC, - 26929 - 11905: 0x97DA, - 26930 - 11905: 0x97DB, - 26931 - 11905: 0x97DC, - 26932 - 11905: 0xE9B2, - 26933 - 11905: 0x97DD, - 26934 - 11905: 0x97DE, - 26935 - 11905: 0x97DF, - 26936 - 11905: 0x97E0, - 26937 - 11905: 0xE9A9, - 26938 - 11905: 0x97E1, - 26939 - 11905: 0x97E2, - 26940 - 11905: 0x97E3, - 26941 - 11905: 0xB4AA, - 26942 - 11905: 0x97E4, - 26943 - 11905: 0xB4BB, - 26944 - 11905: 0x97E5, - 26945 - 11905: 0x97E6, - 26946 - 11905: 0xE9AB, - 26947 - 11905: 0x97E7, - 26948 - 11905: 0x97E8, - 26949 - 11905: 0x97E9, - 26950 - 11905: 0x97EA, - 26951 - 11905: 0x97EB, - 26952 - 11905: 0x97EC, - 26953 - 11905: 0x97ED, - 26954 - 11905: 0x97EE, - 26955 - 11905: 0x97EF, - 26956 - 11905: 0x97F0, - 26957 - 11905: 0x97F1, - 26958 - 11905: 0x97F2, - 26959 - 11905: 0x97F3, - 26960 - 11905: 0x97F4, - 26961 - 11905: 0x97F5, - 26962 - 11905: 0x97F6, - 26963 - 11905: 0x97F7, - 26964 - 11905: 0xD0A8, - 26965 - 11905: 0x97F8, - 26966 - 11905: 0x97F9, - 26967 - 11905: 0xE9A5, - 26968 - 11905: 0x97FA, - 26969 - 11905: 0x97FB, - 26970 - 11905: 0xB3FE, - 26971 - 11905: 0x97FC, - 26972 - 11905: 0x97FD, - 26973 - 11905: 0xE9AC, - 26974 - 11905: 0xC0E3, - 26975 - 11905: 0x97FE, - 26976 - 11905: 0xE9AA, - 26977 - 11905: 0x9840, - 26978 - 11905: 0x9841, - 26979 - 11905: 0xE9B9, - 26980 - 11905: 0x9842, - 26981 - 11905: 0x9843, - 26982 - 11905: 0xE9B8, - 26983 - 11905: 0x9844, - 26984 - 11905: 0x9845, - 26985 - 11905: 0x9846, - 26986 - 11905: 0x9847, - 26987 - 11905: 0xE9AE, - 26988 - 11905: 0x9848, - 26989 - 11905: 0x9849, - 26990 - 11905: 0xE8FA, - 26991 - 11905: 0x984A, - 26992 - 11905: 0x984B, - 26993 - 11905: 0xE9A8, - 26994 - 11905: 0x984C, - 26995 - 11905: 0x984D, - 26996 - 11905: 0x984E, - 26997 - 11905: 0x984F, - 26998 - 11905: 0x9850, - 26999 - 11905: 0xBFAC, - 27000 - 11905: 0xE9B1, - 27001 - 11905: 0xE9BA, - 27002 - 11905: 0x9851, - 27003 - 11905: 0x9852, - 27004 - 11905: 0xC2A5, - 27005 - 11905: 0x9853, - 27006 - 11905: 0x9854, - 27007 - 11905: 0x9855, - 27008 - 11905: 0xE9AF, - 27009 - 11905: 0x9856, - 27010 - 11905: 0xB8C5, - 27011 - 11905: 0x9857, - 27012 - 11905: 0xE9AD, - 27013 - 11905: 0x9858, - 27014 - 11905: 0xD3DC, - 27015 - 11905: 0xE9B4, - 27016 - 11905: 0xE9B5, - 27017 - 11905: 0xE9B7, - 27018 - 11905: 0x9859, - 27019 - 11905: 0x985A, - 27020 - 11905: 0x985B, - 27021 - 11905: 0xE9C7, - 27022 - 11905: 0x985C, - 27023 - 11905: 0x985D, - 27024 - 11905: 0x985E, - 27025 - 11905: 0x985F, - 27026 - 11905: 0x9860, - 27027 - 11905: 0x9861, - 27028 - 11905: 0xC0C6, - 27029 - 11905: 0xE9C5, - 27030 - 11905: 0x9862, - 27031 - 11905: 0x9863, - 27032 - 11905: 0xE9B0, - 27033 - 11905: 0x9864, - 27034 - 11905: 0x9865, - 27035 - 11905: 0xE9BB, - 27036 - 11905: 0xB0F1, - 27037 - 11905: 0x9866, - 27038 - 11905: 0x9867, - 27039 - 11905: 0x9868, - 27040 - 11905: 0x9869, - 27041 - 11905: 0x986A, - 27042 - 11905: 0x986B, - 27043 - 11905: 0x986C, - 27044 - 11905: 0x986D, - 27045 - 11905: 0x986E, - 27046 - 11905: 0x986F, - 27047 - 11905: 0xE9BC, - 27048 - 11905: 0xD5A5, - 27049 - 11905: 0x9870, - 27050 - 11905: 0x9871, - 27051 - 11905: 0xE9BE, - 27052 - 11905: 0x9872, - 27053 - 11905: 0xE9BF, - 27054 - 11905: 0x9873, - 27055 - 11905: 0x9874, - 27056 - 11905: 0x9875, - 27057 - 11905: 0xE9C1, - 27058 - 11905: 0x9876, - 27059 - 11905: 0x9877, - 27060 - 11905: 0xC1F1, - 27061 - 11905: 0x9878, - 27062 - 11905: 0x9879, - 27063 - 11905: 0xC8B6, - 27064 - 11905: 0x987A, - 27065 - 11905: 0x987B, - 27066 - 11905: 0x987C, - 27067 - 11905: 0xE9BD, - 27068 - 11905: 0x987D, - 27069 - 11905: 0x987E, - 27070 - 11905: 0x9880, - 27071 - 11905: 0x9881, - 27072 - 11905: 0x9882, - 27073 - 11905: 0xE9C2, - 27074 - 11905: 0x9883, - 27075 - 11905: 0x9884, - 27076 - 11905: 0x9885, - 27077 - 11905: 0x9886, - 27078 - 11905: 0x9887, - 27079 - 11905: 0x9888, - 27080 - 11905: 0x9889, - 27081 - 11905: 0x988A, - 27082 - 11905: 0xE9C3, - 27083 - 11905: 0x988B, - 27084 - 11905: 0xE9B3, - 27085 - 11905: 0x988C, - 27086 - 11905: 0xE9B6, - 27087 - 11905: 0x988D, - 27088 - 11905: 0xBBB1, - 27089 - 11905: 0x988E, - 27090 - 11905: 0x988F, - 27091 - 11905: 0x9890, - 27092 - 11905: 0xE9C0, - 27093 - 11905: 0x9891, - 27094 - 11905: 0x9892, - 27095 - 11905: 0x9893, - 27096 - 11905: 0x9894, - 27097 - 11905: 0x9895, - 27098 - 11905: 0x9896, - 27099 - 11905: 0xBCF7, - 27100 - 11905: 0x9897, - 27101 - 11905: 0x9898, - 27102 - 11905: 0x9899, - 27103 - 11905: 0xE9C4, - 27104 - 11905: 0xE9C6, - 27105 - 11905: 0x989A, - 27106 - 11905: 0x989B, - 27107 - 11905: 0x989C, - 27108 - 11905: 0x989D, - 27109 - 11905: 0x989E, - 27110 - 11905: 0x989F, - 27111 - 11905: 0x98A0, - 27112 - 11905: 0x98A1, - 27113 - 11905: 0x98A2, - 27114 - 11905: 0x98A3, - 27115 - 11905: 0x98A4, - 27116 - 11905: 0x98A5, - 27117 - 11905: 0xE9CA, - 27118 - 11905: 0x98A6, - 27119 - 11905: 0x98A7, - 27120 - 11905: 0x98A8, - 27121 - 11905: 0x98A9, - 27122 - 11905: 0xE9CE, - 27123 - 11905: 0x98AA, - 27124 - 11905: 0x98AB, - 27125 - 11905: 0x98AC, - 27126 - 11905: 0x98AD, - 27127 - 11905: 0x98AE, - 27128 - 11905: 0x98AF, - 27129 - 11905: 0x98B0, - 27130 - 11905: 0x98B1, - 27131 - 11905: 0x98B2, - 27132 - 11905: 0x98B3, - 27133 - 11905: 0xB2DB, - 27134 - 11905: 0x98B4, - 27135 - 11905: 0xE9C8, - 27136 - 11905: 0x98B5, - 27137 - 11905: 0x98B6, - 27138 - 11905: 0x98B7, - 27139 - 11905: 0x98B8, - 27140 - 11905: 0x98B9, - 27141 - 11905: 0x98BA, - 27142 - 11905: 0x98BB, - 27143 - 11905: 0x98BC, - 27144 - 11905: 0x98BD, - 27145 - 11905: 0x98BE, - 27146 - 11905: 0xB7AE, - 27147 - 11905: 0x98BF, - 27148 - 11905: 0x98C0, - 27149 - 11905: 0x98C1, - 27150 - 11905: 0x98C2, - 27151 - 11905: 0x98C3, - 27152 - 11905: 0x98C4, - 27153 - 11905: 0x98C5, - 27154 - 11905: 0x98C6, - 27155 - 11905: 0x98C7, - 27156 - 11905: 0x98C8, - 27157 - 11905: 0x98C9, - 27158 - 11905: 0x98CA, - 27159 - 11905: 0xE9CB, - 27160 - 11905: 0xE9CC, - 27161 - 11905: 0x98CB, - 27162 - 11905: 0x98CC, - 27163 - 11905: 0x98CD, - 27164 - 11905: 0x98CE, - 27165 - 11905: 0x98CF, - 27166 - 11905: 0x98D0, - 27167 - 11905: 0xD5C1, - 27168 - 11905: 0x98D1, - 27169 - 11905: 0xC4A3, - 27170 - 11905: 0x98D2, - 27171 - 11905: 0x98D3, - 27172 - 11905: 0x98D4, - 27173 - 11905: 0x98D5, - 27174 - 11905: 0x98D6, - 27175 - 11905: 0x98D7, - 27176 - 11905: 0xE9D8, - 27177 - 11905: 0x98D8, - 27178 - 11905: 0xBAE1, - 27179 - 11905: 0x98D9, - 27180 - 11905: 0x98DA, - 27181 - 11905: 0x98DB, - 27182 - 11905: 0x98DC, - 27183 - 11905: 0xE9C9, - 27184 - 11905: 0x98DD, - 27185 - 11905: 0xD3A3, - 27186 - 11905: 0x98DE, - 27187 - 11905: 0x98DF, - 27188 - 11905: 0x98E0, - 27189 - 11905: 0xE9D4, - 27190 - 11905: 0x98E1, - 27191 - 11905: 0x98E2, - 27192 - 11905: 0x98E3, - 27193 - 11905: 0x98E4, - 27194 - 11905: 0x98E5, - 27195 - 11905: 0x98E6, - 27196 - 11905: 0x98E7, - 27197 - 11905: 0xE9D7, - 27198 - 11905: 0xE9D0, - 27199 - 11905: 0x98E8, - 27200 - 11905: 0x98E9, - 27201 - 11905: 0x98EA, - 27202 - 11905: 0x98EB, - 27203 - 11905: 0x98EC, - 27204 - 11905: 0xE9CF, - 27205 - 11905: 0x98ED, - 27206 - 11905: 0x98EE, - 27207 - 11905: 0xC7C1, - 27208 - 11905: 0x98EF, - 27209 - 11905: 0x98F0, - 27210 - 11905: 0x98F1, - 27211 - 11905: 0x98F2, - 27212 - 11905: 0x98F3, - 27213 - 11905: 0x98F4, - 27214 - 11905: 0x98F5, - 27215 - 11905: 0x98F6, - 27216 - 11905: 0xE9D2, - 27217 - 11905: 0x98F7, - 27218 - 11905: 0x98F8, - 27219 - 11905: 0x98F9, - 27220 - 11905: 0x98FA, - 27221 - 11905: 0x98FB, - 27222 - 11905: 0x98FC, - 27223 - 11905: 0x98FD, - 27224 - 11905: 0xE9D9, - 27225 - 11905: 0xB3C8, - 27226 - 11905: 0x98FE, - 27227 - 11905: 0xE9D3, - 27228 - 11905: 0x9940, - 27229 - 11905: 0x9941, - 27230 - 11905: 0x9942, - 27231 - 11905: 0x9943, - 27232 - 11905: 0x9944, - 27233 - 11905: 0xCFF0, - 27234 - 11905: 0x9945, - 27235 - 11905: 0x9946, - 27236 - 11905: 0x9947, - 27237 - 11905: 0xE9CD, - 27238 - 11905: 0x9948, - 27239 - 11905: 0x9949, - 27240 - 11905: 0x994A, - 27241 - 11905: 0x994B, - 27242 - 11905: 0x994C, - 27243 - 11905: 0x994D, - 27244 - 11905: 0x994E, - 27245 - 11905: 0x994F, - 27246 - 11905: 0x9950, - 27247 - 11905: 0x9951, - 27248 - 11905: 0x9952, - 27249 - 11905: 0xB3F7, - 27250 - 11905: 0x9953, - 27251 - 11905: 0x9954, - 27252 - 11905: 0x9955, - 27253 - 11905: 0x9956, - 27254 - 11905: 0x9957, - 27255 - 11905: 0x9958, - 27256 - 11905: 0x9959, - 27257 - 11905: 0xE9D6, - 27258 - 11905: 0x995A, - 27259 - 11905: 0x995B, - 27260 - 11905: 0xE9DA, - 27261 - 11905: 0x995C, - 27262 - 11905: 0x995D, - 27263 - 11905: 0x995E, - 27264 - 11905: 0xCCB4, - 27265 - 11905: 0x995F, - 27266 - 11905: 0x9960, - 27267 - 11905: 0x9961, - 27268 - 11905: 0xCFAD, - 27269 - 11905: 0x9962, - 27270 - 11905: 0x9963, - 27271 - 11905: 0x9964, - 27272 - 11905: 0x9965, - 27273 - 11905: 0x9966, - 27274 - 11905: 0x9967, - 27275 - 11905: 0x9968, - 27276 - 11905: 0x9969, - 27277 - 11905: 0x996A, - 27278 - 11905: 0xE9D5, - 27279 - 11905: 0x996B, - 27280 - 11905: 0xE9DC, - 27281 - 11905: 0xE9DB, - 27282 - 11905: 0x996C, - 27283 - 11905: 0x996D, - 27284 - 11905: 0x996E, - 27285 - 11905: 0x996F, - 27286 - 11905: 0x9970, - 27287 - 11905: 0xE9DE, - 27288 - 11905: 0x9971, - 27289 - 11905: 0x9972, - 27290 - 11905: 0x9973, - 27291 - 11905: 0x9974, - 27292 - 11905: 0x9975, - 27293 - 11905: 0x9976, - 27294 - 11905: 0x9977, - 27295 - 11905: 0x9978, - 27296 - 11905: 0xE9D1, - 27297 - 11905: 0x9979, - 27298 - 11905: 0x997A, - 27299 - 11905: 0x997B, - 27300 - 11905: 0x997C, - 27301 - 11905: 0x997D, - 27302 - 11905: 0x997E, - 27303 - 11905: 0x9980, - 27304 - 11905: 0x9981, - 27305 - 11905: 0xE9DD, - 27306 - 11905: 0x9982, - 27307 - 11905: 0xE9DF, - 27308 - 11905: 0xC3CA, - 27309 - 11905: 0x9983, - 27310 - 11905: 0x9984, - 27311 - 11905: 0x9985, - 27312 - 11905: 0x9986, - 27313 - 11905: 0x9987, - 27314 - 11905: 0x9988, - 27315 - 11905: 0x9989, - 27316 - 11905: 0x998A, - 27317 - 11905: 0x998B, - 27318 - 11905: 0x998C, - 27319 - 11905: 0x998D, - 27320 - 11905: 0x998E, - 27321 - 11905: 0x998F, - 27322 - 11905: 0x9990, - 27323 - 11905: 0x9991, - 27324 - 11905: 0x9992, - 27325 - 11905: 0x9993, - 27326 - 11905: 0x9994, - 27327 - 11905: 0x9995, - 27328 - 11905: 0x9996, - 27329 - 11905: 0x9997, - 27330 - 11905: 0x9998, - 27331 - 11905: 0x9999, - 27332 - 11905: 0x999A, - 27333 - 11905: 0x999B, - 27334 - 11905: 0x999C, - 27335 - 11905: 0x999D, - 27336 - 11905: 0x999E, - 27337 - 11905: 0x999F, - 27338 - 11905: 0x99A0, - 27339 - 11905: 0x99A1, - 27340 - 11905: 0x99A2, - 27341 - 11905: 0x99A3, - 27342 - 11905: 0x99A4, - 27343 - 11905: 0x99A5, - 27344 - 11905: 0x99A6, - 27345 - 11905: 0x99A7, - 27346 - 11905: 0x99A8, - 27347 - 11905: 0x99A9, - 27348 - 11905: 0x99AA, - 27349 - 11905: 0x99AB, - 27350 - 11905: 0x99AC, - 27351 - 11905: 0x99AD, - 27352 - 11905: 0x99AE, - 27353 - 11905: 0x99AF, - 27354 - 11905: 0x99B0, - 27355 - 11905: 0x99B1, - 27356 - 11905: 0x99B2, - 27357 - 11905: 0x99B3, - 27358 - 11905: 0x99B4, - 27359 - 11905: 0x99B5, - 27360 - 11905: 0x99B6, - 27361 - 11905: 0x99B7, - 27362 - 11905: 0x99B8, - 27363 - 11905: 0x99B9, - 27364 - 11905: 0x99BA, - 27365 - 11905: 0x99BB, - 27366 - 11905: 0x99BC, - 27367 - 11905: 0x99BD, - 27368 - 11905: 0x99BE, - 27369 - 11905: 0x99BF, - 27370 - 11905: 0x99C0, - 27371 - 11905: 0x99C1, - 27372 - 11905: 0x99C2, - 27373 - 11905: 0x99C3, - 27374 - 11905: 0x99C4, - 27375 - 11905: 0x99C5, - 27376 - 11905: 0x99C6, - 27377 - 11905: 0x99C7, - 27378 - 11905: 0x99C8, - 27379 - 11905: 0x99C9, - 27380 - 11905: 0x99CA, - 27381 - 11905: 0x99CB, - 27382 - 11905: 0x99CC, - 27383 - 11905: 0x99CD, - 27384 - 11905: 0x99CE, - 27385 - 11905: 0x99CF, - 27386 - 11905: 0x99D0, - 27387 - 11905: 0x99D1, - 27388 - 11905: 0x99D2, - 27389 - 11905: 0x99D3, - 27390 - 11905: 0x99D4, - 27391 - 11905: 0x99D5, - 27392 - 11905: 0x99D6, - 27393 - 11905: 0x99D7, - 27394 - 11905: 0x99D8, - 27395 - 11905: 0x99D9, - 27396 - 11905: 0x99DA, - 27397 - 11905: 0x99DB, - 27398 - 11905: 0x99DC, - 27399 - 11905: 0x99DD, - 27400 - 11905: 0x99DE, - 27401 - 11905: 0x99DF, - 27402 - 11905: 0x99E0, - 27403 - 11905: 0x99E1, - 27404 - 11905: 0x99E2, - 27405 - 11905: 0x99E3, - 27406 - 11905: 0x99E4, - 27407 - 11905: 0x99E5, - 27408 - 11905: 0x99E6, - 27409 - 11905: 0x99E7, - 27410 - 11905: 0x99E8, - 27411 - 11905: 0x99E9, - 27412 - 11905: 0x99EA, - 27413 - 11905: 0x99EB, - 27414 - 11905: 0x99EC, - 27415 - 11905: 0x99ED, - 27416 - 11905: 0x99EE, - 27417 - 11905: 0x99EF, - 27418 - 11905: 0x99F0, - 27419 - 11905: 0x99F1, - 27420 - 11905: 0x99F2, - 27421 - 11905: 0x99F3, - 27422 - 11905: 0x99F4, - 27423 - 11905: 0x99F5, - 27424 - 11905: 0xC7B7, - 27425 - 11905: 0xB4CE, - 27426 - 11905: 0xBBB6, - 27427 - 11905: 0xD0C0, - 27428 - 11905: 0xECA3, - 27429 - 11905: 0x99F6, - 27430 - 11905: 0x99F7, - 27431 - 11905: 0xC5B7, - 27432 - 11905: 0x99F8, - 27433 - 11905: 0x99F9, - 27434 - 11905: 0x99FA, - 27435 - 11905: 0x99FB, - 27436 - 11905: 0x99FC, - 27437 - 11905: 0x99FD, - 27438 - 11905: 0x99FE, - 27439 - 11905: 0x9A40, - 27440 - 11905: 0x9A41, - 27441 - 11905: 0x9A42, - 27442 - 11905: 0xD3FB, - 27443 - 11905: 0x9A43, - 27444 - 11905: 0x9A44, - 27445 - 11905: 0x9A45, - 27446 - 11905: 0x9A46, - 27447 - 11905: 0xECA4, - 27448 - 11905: 0x9A47, - 27449 - 11905: 0xECA5, - 27450 - 11905: 0xC6DB, - 27451 - 11905: 0x9A48, - 27452 - 11905: 0x9A49, - 27453 - 11905: 0x9A4A, - 27454 - 11905: 0xBFEE, - 27455 - 11905: 0x9A4B, - 27456 - 11905: 0x9A4C, - 27457 - 11905: 0x9A4D, - 27458 - 11905: 0x9A4E, - 27459 - 11905: 0xECA6, - 27460 - 11905: 0x9A4F, - 27461 - 11905: 0x9A50, - 27462 - 11905: 0xECA7, - 27463 - 11905: 0xD0AA, - 27464 - 11905: 0x9A51, - 27465 - 11905: 0xC7B8, - 27466 - 11905: 0x9A52, - 27467 - 11905: 0x9A53, - 27468 - 11905: 0xB8E8, - 27469 - 11905: 0x9A54, - 27470 - 11905: 0x9A55, - 27471 - 11905: 0x9A56, - 27472 - 11905: 0x9A57, - 27473 - 11905: 0x9A58, - 27474 - 11905: 0x9A59, - 27475 - 11905: 0x9A5A, - 27476 - 11905: 0x9A5B, - 27477 - 11905: 0x9A5C, - 27478 - 11905: 0x9A5D, - 27479 - 11905: 0x9A5E, - 27480 - 11905: 0x9A5F, - 27481 - 11905: 0xECA8, - 27482 - 11905: 0x9A60, - 27483 - 11905: 0x9A61, - 27484 - 11905: 0x9A62, - 27485 - 11905: 0x9A63, - 27486 - 11905: 0x9A64, - 27487 - 11905: 0x9A65, - 27488 - 11905: 0x9A66, - 27489 - 11905: 0x9A67, - 27490 - 11905: 0xD6B9, - 27491 - 11905: 0xD5FD, - 27492 - 11905: 0xB4CB, - 27493 - 11905: 0xB2BD, - 27494 - 11905: 0xCEE4, - 27495 - 11905: 0xC6E7, - 27496 - 11905: 0x9A68, - 27497 - 11905: 0x9A69, - 27498 - 11905: 0xCDE1, - 27499 - 11905: 0x9A6A, - 27500 - 11905: 0x9A6B, - 27501 - 11905: 0x9A6C, - 27502 - 11905: 0x9A6D, - 27503 - 11905: 0x9A6E, - 27504 - 11905: 0x9A6F, - 27505 - 11905: 0x9A70, - 27506 - 11905: 0x9A71, - 27507 - 11905: 0x9A72, - 27508 - 11905: 0x9A73, - 27509 - 11905: 0x9A74, - 27510 - 11905: 0x9A75, - 27511 - 11905: 0x9A76, - 27512 - 11905: 0x9A77, - 27513 - 11905: 0xB4F5, - 27514 - 11905: 0x9A78, - 27515 - 11905: 0xCBC0, - 27516 - 11905: 0xBCDF, - 27517 - 11905: 0x9A79, - 27518 - 11905: 0x9A7A, - 27519 - 11905: 0x9A7B, - 27520 - 11905: 0x9A7C, - 27521 - 11905: 0xE9E2, - 27522 - 11905: 0xE9E3, - 27523 - 11905: 0xD1EA, - 27524 - 11905: 0xE9E5, - 27525 - 11905: 0x9A7D, - 27526 - 11905: 0xB4F9, - 27527 - 11905: 0xE9E4, - 27528 - 11905: 0x9A7E, - 27529 - 11905: 0xD1B3, - 27530 - 11905: 0xCAE2, - 27531 - 11905: 0xB2D0, - 27532 - 11905: 0x9A80, - 27533 - 11905: 0xE9E8, - 27534 - 11905: 0x9A81, - 27535 - 11905: 0x9A82, - 27536 - 11905: 0x9A83, - 27537 - 11905: 0x9A84, - 27538 - 11905: 0xE9E6, - 27539 - 11905: 0xE9E7, - 27540 - 11905: 0x9A85, - 27541 - 11905: 0x9A86, - 27542 - 11905: 0xD6B3, - 27543 - 11905: 0x9A87, - 27544 - 11905: 0x9A88, - 27545 - 11905: 0x9A89, - 27546 - 11905: 0xE9E9, - 27547 - 11905: 0xE9EA, - 27548 - 11905: 0x9A8A, - 27549 - 11905: 0x9A8B, - 27550 - 11905: 0x9A8C, - 27551 - 11905: 0x9A8D, - 27552 - 11905: 0x9A8E, - 27553 - 11905: 0xE9EB, - 27554 - 11905: 0x9A8F, - 27555 - 11905: 0x9A90, - 27556 - 11905: 0x9A91, - 27557 - 11905: 0x9A92, - 27558 - 11905: 0x9A93, - 27559 - 11905: 0x9A94, - 27560 - 11905: 0x9A95, - 27561 - 11905: 0x9A96, - 27562 - 11905: 0xE9EC, - 27563 - 11905: 0x9A97, - 27564 - 11905: 0x9A98, - 27565 - 11905: 0x9A99, - 27566 - 11905: 0x9A9A, - 27567 - 11905: 0x9A9B, - 27568 - 11905: 0x9A9C, - 27569 - 11905: 0x9A9D, - 27570 - 11905: 0x9A9E, - 27571 - 11905: 0xECAF, - 27572 - 11905: 0xC5B9, - 27573 - 11905: 0xB6CE, - 27574 - 11905: 0x9A9F, - 27575 - 11905: 0xD2F3, - 27576 - 11905: 0x9AA0, - 27577 - 11905: 0x9AA1, - 27578 - 11905: 0x9AA2, - 27579 - 11905: 0x9AA3, - 27580 - 11905: 0x9AA4, - 27581 - 11905: 0x9AA5, - 27582 - 11905: 0x9AA6, - 27583 - 11905: 0xB5EE, - 27584 - 11905: 0x9AA7, - 27585 - 11905: 0xBBD9, - 27586 - 11905: 0xECB1, - 27587 - 11905: 0x9AA8, - 27588 - 11905: 0x9AA9, - 27589 - 11905: 0xD2E3, - 27590 - 11905: 0x9AAA, - 27591 - 11905: 0x9AAB, - 27592 - 11905: 0x9AAC, - 27593 - 11905: 0x9AAD, - 27594 - 11905: 0x9AAE, - 27595 - 11905: 0xCEE3, - 27596 - 11905: 0x9AAF, - 27597 - 11905: 0xC4B8, - 27598 - 11905: 0x9AB0, - 27599 - 11905: 0xC3BF, - 27600 - 11905: 0x9AB1, - 27601 - 11905: 0x9AB2, - 27602 - 11905: 0xB6BE, - 27603 - 11905: 0xD8B9, - 27604 - 11905: 0xB1C8, - 27605 - 11905: 0xB1CF, - 27606 - 11905: 0xB1D1, - 27607 - 11905: 0xC5FE, - 27608 - 11905: 0x9AB3, - 27609 - 11905: 0xB1D0, - 27610 - 11905: 0x9AB4, - 27611 - 11905: 0xC3AB, - 27612 - 11905: 0x9AB5, - 27613 - 11905: 0x9AB6, - 27614 - 11905: 0x9AB7, - 27615 - 11905: 0x9AB8, - 27616 - 11905: 0x9AB9, - 27617 - 11905: 0xD5B1, - 27618 - 11905: 0x9ABA, - 27619 - 11905: 0x9ABB, - 27620 - 11905: 0x9ABC, - 27621 - 11905: 0x9ABD, - 27622 - 11905: 0x9ABE, - 27623 - 11905: 0x9ABF, - 27624 - 11905: 0x9AC0, - 27625 - 11905: 0x9AC1, - 27626 - 11905: 0xEBA4, - 27627 - 11905: 0xBAC1, - 27628 - 11905: 0x9AC2, - 27629 - 11905: 0x9AC3, - 27630 - 11905: 0x9AC4, - 27631 - 11905: 0xCCBA, - 27632 - 11905: 0x9AC5, - 27633 - 11905: 0x9AC6, - 27634 - 11905: 0x9AC7, - 27635 - 11905: 0xEBA5, - 27636 - 11905: 0x9AC8, - 27637 - 11905: 0xEBA7, - 27638 - 11905: 0x9AC9, - 27639 - 11905: 0x9ACA, - 27640 - 11905: 0x9ACB, - 27641 - 11905: 0xEBA8, - 27642 - 11905: 0x9ACC, - 27643 - 11905: 0x9ACD, - 27644 - 11905: 0x9ACE, - 27645 - 11905: 0xEBA6, - 27646 - 11905: 0x9ACF, - 27647 - 11905: 0x9AD0, - 27648 - 11905: 0x9AD1, - 27649 - 11905: 0x9AD2, - 27650 - 11905: 0x9AD3, - 27651 - 11905: 0x9AD4, - 27652 - 11905: 0x9AD5, - 27653 - 11905: 0xEBA9, - 27654 - 11905: 0xEBAB, - 27655 - 11905: 0xEBAA, - 27656 - 11905: 0x9AD6, - 27657 - 11905: 0x9AD7, - 27658 - 11905: 0x9AD8, - 27659 - 11905: 0x9AD9, - 27660 - 11905: 0x9ADA, - 27661 - 11905: 0xEBAC, - 27662 - 11905: 0x9ADB, - 27663 - 11905: 0xCACF, - 27664 - 11905: 0xD8B5, - 27665 - 11905: 0xC3F1, - 27666 - 11905: 0x9ADC, - 27667 - 11905: 0xC3A5, - 27668 - 11905: 0xC6F8, - 27669 - 11905: 0xEBAD, - 27670 - 11905: 0xC4CA, - 27671 - 11905: 0x9ADD, - 27672 - 11905: 0xEBAE, - 27673 - 11905: 0xEBAF, - 27674 - 11905: 0xEBB0, - 27675 - 11905: 0xB7D5, - 27676 - 11905: 0x9ADE, - 27677 - 11905: 0x9ADF, - 27678 - 11905: 0x9AE0, - 27679 - 11905: 0xB7FA, - 27680 - 11905: 0x9AE1, - 27681 - 11905: 0xEBB1, - 27682 - 11905: 0xC7E2, - 27683 - 11905: 0x9AE2, - 27684 - 11905: 0xEBB3, - 27685 - 11905: 0x9AE3, - 27686 - 11905: 0xBAA4, - 27687 - 11905: 0xD1F5, - 27688 - 11905: 0xB0B1, - 27689 - 11905: 0xEBB2, - 27690 - 11905: 0xEBB4, - 27691 - 11905: 0x9AE4, - 27692 - 11905: 0x9AE5, - 27693 - 11905: 0x9AE6, - 27694 - 11905: 0xB5AA, - 27695 - 11905: 0xC2C8, - 27696 - 11905: 0xC7E8, - 27697 - 11905: 0x9AE7, - 27698 - 11905: 0xEBB5, - 27699 - 11905: 0x9AE8, - 27700 - 11905: 0xCBAE, - 27701 - 11905: 0xE3DF, - 27702 - 11905: 0x9AE9, - 27703 - 11905: 0x9AEA, - 27704 - 11905: 0xD3C0, - 27705 - 11905: 0x9AEB, - 27706 - 11905: 0x9AEC, - 27707 - 11905: 0x9AED, - 27708 - 11905: 0x9AEE, - 27709 - 11905: 0xD9DB, - 27710 - 11905: 0x9AEF, - 27711 - 11905: 0x9AF0, - 27712 - 11905: 0xCDA1, - 27713 - 11905: 0xD6AD, - 27714 - 11905: 0xC7F3, - 27715 - 11905: 0x9AF1, - 27716 - 11905: 0x9AF2, - 27717 - 11905: 0x9AF3, - 27718 - 11905: 0xD9E0, - 27719 - 11905: 0xBBE3, - 27720 - 11905: 0x9AF4, - 27721 - 11905: 0xBABA, - 27722 - 11905: 0xE3E2, - 27723 - 11905: 0x9AF5, - 27724 - 11905: 0x9AF6, - 27725 - 11905: 0x9AF7, - 27726 - 11905: 0x9AF8, - 27727 - 11905: 0x9AF9, - 27728 - 11905: 0xCFAB, - 27729 - 11905: 0x9AFA, - 27730 - 11905: 0x9AFB, - 27731 - 11905: 0x9AFC, - 27732 - 11905: 0xE3E0, - 27733 - 11905: 0xC9C7, - 27734 - 11905: 0x9AFD, - 27735 - 11905: 0xBAB9, - 27736 - 11905: 0x9AFE, - 27737 - 11905: 0x9B40, - 27738 - 11905: 0x9B41, - 27739 - 11905: 0xD1B4, - 27740 - 11905: 0xE3E1, - 27741 - 11905: 0xC8EA, - 27742 - 11905: 0xB9AF, - 27743 - 11905: 0xBDAD, - 27744 - 11905: 0xB3D8, - 27745 - 11905: 0xCEDB, - 27746 - 11905: 0x9B42, - 27747 - 11905: 0x9B43, - 27748 - 11905: 0xCCC0, - 27749 - 11905: 0x9B44, - 27750 - 11905: 0x9B45, - 27751 - 11905: 0x9B46, - 27752 - 11905: 0xE3E8, - 27753 - 11905: 0xE3E9, - 27754 - 11905: 0xCDF4, - 27755 - 11905: 0x9B47, - 27756 - 11905: 0x9B48, - 27757 - 11905: 0x9B49, - 27758 - 11905: 0x9B4A, - 27759 - 11905: 0x9B4B, - 27760 - 11905: 0xCCAD, - 27761 - 11905: 0x9B4C, - 27762 - 11905: 0xBCB3, - 27763 - 11905: 0x9B4D, - 27764 - 11905: 0xE3EA, - 27765 - 11905: 0x9B4E, - 27766 - 11905: 0xE3EB, - 27767 - 11905: 0x9B4F, - 27768 - 11905: 0x9B50, - 27769 - 11905: 0xD0DA, - 27770 - 11905: 0x9B51, - 27771 - 11905: 0x9B52, - 27772 - 11905: 0x9B53, - 27773 - 11905: 0xC6FB, - 27774 - 11905: 0xB7DA, - 27775 - 11905: 0x9B54, - 27776 - 11905: 0x9B55, - 27777 - 11905: 0xC7DF, - 27778 - 11905: 0xD2CA, - 27779 - 11905: 0xCED6, - 27780 - 11905: 0x9B56, - 27781 - 11905: 0xE3E4, - 27782 - 11905: 0xE3EC, - 27783 - 11905: 0x9B57, - 27784 - 11905: 0xC9F2, - 27785 - 11905: 0xB3C1, - 27786 - 11905: 0x9B58, - 27787 - 11905: 0x9B59, - 27788 - 11905: 0xE3E7, - 27789 - 11905: 0x9B5A, - 27790 - 11905: 0x9B5B, - 27791 - 11905: 0xC6E3, - 27792 - 11905: 0xE3E5, - 27793 - 11905: 0x9B5C, - 27794 - 11905: 0x9B5D, - 27795 - 11905: 0xEDB3, - 27796 - 11905: 0xE3E6, - 27797 - 11905: 0x9B5E, - 27798 - 11905: 0x9B5F, - 27799 - 11905: 0x9B60, - 27800 - 11905: 0x9B61, - 27801 - 11905: 0xC9B3, - 27802 - 11905: 0x9B62, - 27803 - 11905: 0xC5E6, - 27804 - 11905: 0x9B63, - 27805 - 11905: 0x9B64, - 27806 - 11905: 0x9B65, - 27807 - 11905: 0xB9B5, - 27808 - 11905: 0x9B66, - 27809 - 11905: 0xC3BB, - 27810 - 11905: 0x9B67, - 27811 - 11905: 0xE3E3, - 27812 - 11905: 0xC5BD, - 27813 - 11905: 0xC1A4, - 27814 - 11905: 0xC2D9, - 27815 - 11905: 0xB2D7, - 27816 - 11905: 0x9B68, - 27817 - 11905: 0xE3ED, - 27818 - 11905: 0xBBA6, - 27819 - 11905: 0xC4AD, - 27820 - 11905: 0x9B69, - 27821 - 11905: 0xE3F0, - 27822 - 11905: 0xBEDA, - 27823 - 11905: 0x9B6A, - 27824 - 11905: 0x9B6B, - 27825 - 11905: 0xE3FB, - 27826 - 11905: 0xE3F5, - 27827 - 11905: 0xBAD3, - 27828 - 11905: 0x9B6C, - 27829 - 11905: 0x9B6D, - 27830 - 11905: 0x9B6E, - 27831 - 11905: 0x9B6F, - 27832 - 11905: 0xB7D0, - 27833 - 11905: 0xD3CD, - 27834 - 11905: 0x9B70, - 27835 - 11905: 0xD6CE, - 27836 - 11905: 0xD5D3, - 27837 - 11905: 0xB9C1, - 27838 - 11905: 0xD5B4, - 27839 - 11905: 0xD1D8, - 27840 - 11905: 0x9B71, - 27841 - 11905: 0x9B72, - 27842 - 11905: 0x9B73, - 27843 - 11905: 0x9B74, - 27844 - 11905: 0xD0B9, - 27845 - 11905: 0xC7F6, - 27846 - 11905: 0x9B75, - 27847 - 11905: 0x9B76, - 27848 - 11905: 0x9B77, - 27849 - 11905: 0xC8AA, - 27850 - 11905: 0xB2B4, - 27851 - 11905: 0x9B78, - 27852 - 11905: 0xC3DA, - 27853 - 11905: 0x9B79, - 27854 - 11905: 0x9B7A, - 27855 - 11905: 0x9B7B, - 27856 - 11905: 0xE3EE, - 27857 - 11905: 0x9B7C, - 27858 - 11905: 0x9B7D, - 27859 - 11905: 0xE3FC, - 27860 - 11905: 0xE3EF, - 27861 - 11905: 0xB7A8, - 27862 - 11905: 0xE3F7, - 27863 - 11905: 0xE3F4, - 27864 - 11905: 0x9B7E, - 27865 - 11905: 0x9B80, - 27866 - 11905: 0x9B81, - 27867 - 11905: 0xB7BA, - 27868 - 11905: 0x9B82, - 27869 - 11905: 0x9B83, - 27870 - 11905: 0xC5A2, - 27871 - 11905: 0x9B84, - 27872 - 11905: 0xE3F6, - 27873 - 11905: 0xC5DD, - 27874 - 11905: 0xB2A8, - 27875 - 11905: 0xC6FC, - 27876 - 11905: 0x9B85, - 27877 - 11905: 0xC4E0, - 27878 - 11905: 0x9B86, - 27879 - 11905: 0x9B87, - 27880 - 11905: 0xD7A2, - 27881 - 11905: 0x9B88, - 27882 - 11905: 0xC0E1, - 27883 - 11905: 0xE3F9, - 27884 - 11905: 0x9B89, - 27885 - 11905: 0x9B8A, - 27886 - 11905: 0xE3FA, - 27887 - 11905: 0xE3FD, - 27888 - 11905: 0xCCA9, - 27889 - 11905: 0xE3F3, - 27890 - 11905: 0x9B8B, - 27891 - 11905: 0xD3BE, - 27892 - 11905: 0x9B8C, - 27893 - 11905: 0xB1C3, - 27894 - 11905: 0xEDB4, - 27895 - 11905: 0xE3F1, - 27896 - 11905: 0xE3F2, - 27897 - 11905: 0x9B8D, - 27898 - 11905: 0xE3F8, - 27899 - 11905: 0xD0BA, - 27900 - 11905: 0xC6C3, - 27901 - 11905: 0xD4F3, - 27902 - 11905: 0xE3FE, - 27903 - 11905: 0x9B8E, - 27904 - 11905: 0x9B8F, - 27905 - 11905: 0xBDE0, - 27906 - 11905: 0x9B90, - 27907 - 11905: 0x9B91, - 27908 - 11905: 0xE4A7, - 27909 - 11905: 0x9B92, - 27910 - 11905: 0x9B93, - 27911 - 11905: 0xE4A6, - 27912 - 11905: 0x9B94, - 27913 - 11905: 0x9B95, - 27914 - 11905: 0x9B96, - 27915 - 11905: 0xD1F3, - 27916 - 11905: 0xE4A3, - 27917 - 11905: 0x9B97, - 27918 - 11905: 0xE4A9, - 27919 - 11905: 0x9B98, - 27920 - 11905: 0x9B99, - 27921 - 11905: 0x9B9A, - 27922 - 11905: 0xC8F7, - 27923 - 11905: 0x9B9B, - 27924 - 11905: 0x9B9C, - 27925 - 11905: 0x9B9D, - 27926 - 11905: 0x9B9E, - 27927 - 11905: 0xCFB4, - 27928 - 11905: 0x9B9F, - 27929 - 11905: 0xE4A8, - 27930 - 11905: 0xE4AE, - 27931 - 11905: 0xC2E5, - 27932 - 11905: 0x9BA0, - 27933 - 11905: 0x9BA1, - 27934 - 11905: 0xB6B4, - 27935 - 11905: 0x9BA2, - 27936 - 11905: 0x9BA3, - 27937 - 11905: 0x9BA4, - 27938 - 11905: 0x9BA5, - 27939 - 11905: 0x9BA6, - 27940 - 11905: 0x9BA7, - 27941 - 11905: 0xBDF2, - 27942 - 11905: 0x9BA8, - 27943 - 11905: 0xE4A2, - 27944 - 11905: 0x9BA9, - 27945 - 11905: 0x9BAA, - 27946 - 11905: 0xBAE9, - 27947 - 11905: 0xE4AA, - 27948 - 11905: 0x9BAB, - 27949 - 11905: 0x9BAC, - 27950 - 11905: 0xE4AC, - 27951 - 11905: 0x9BAD, - 27952 - 11905: 0x9BAE, - 27953 - 11905: 0xB6FD, - 27954 - 11905: 0xD6DE, - 27955 - 11905: 0xE4B2, - 27956 - 11905: 0x9BAF, - 27957 - 11905: 0xE4AD, - 27958 - 11905: 0x9BB0, - 27959 - 11905: 0x9BB1, - 27960 - 11905: 0x9BB2, - 27961 - 11905: 0xE4A1, - 27962 - 11905: 0x9BB3, - 27963 - 11905: 0xBBEE, - 27964 - 11905: 0xCDDD, - 27965 - 11905: 0xC7A2, - 27966 - 11905: 0xC5C9, - 27967 - 11905: 0x9BB4, - 27968 - 11905: 0x9BB5, - 27969 - 11905: 0xC1F7, - 27970 - 11905: 0x9BB6, - 27971 - 11905: 0xE4A4, - 27972 - 11905: 0x9BB7, - 27973 - 11905: 0xC7B3, - 27974 - 11905: 0xBDAC, - 27975 - 11905: 0xBDBD, - 27976 - 11905: 0xE4A5, - 27977 - 11905: 0x9BB8, - 27978 - 11905: 0xD7C7, - 27979 - 11905: 0xB2E2, - 27980 - 11905: 0x9BB9, - 27981 - 11905: 0xE4AB, - 27982 - 11905: 0xBCC3, - 27983 - 11905: 0xE4AF, - 27984 - 11905: 0x9BBA, - 27985 - 11905: 0xBBEB, - 27986 - 11905: 0xE4B0, - 27987 - 11905: 0xC5A8, - 27988 - 11905: 0xE4B1, - 27989 - 11905: 0x9BBB, - 27990 - 11905: 0x9BBC, - 27991 - 11905: 0x9BBD, - 27992 - 11905: 0x9BBE, - 27993 - 11905: 0xD5E3, - 27994 - 11905: 0xBFA3, - 27995 - 11905: 0x9BBF, - 27996 - 11905: 0xE4BA, - 27997 - 11905: 0x9BC0, - 27998 - 11905: 0xE4B7, - 27999 - 11905: 0x9BC1, - 28000 - 11905: 0xE4BB, - 28001 - 11905: 0x9BC2, - 28002 - 11905: 0x9BC3, - 28003 - 11905: 0xE4BD, - 28004 - 11905: 0x9BC4, - 28005 - 11905: 0x9BC5, - 28006 - 11905: 0xC6D6, - 28007 - 11905: 0x9BC6, - 28008 - 11905: 0x9BC7, - 28009 - 11905: 0xBAC6, - 28010 - 11905: 0xC0CB, - 28011 - 11905: 0x9BC8, - 28012 - 11905: 0x9BC9, - 28013 - 11905: 0x9BCA, - 28014 - 11905: 0xB8A1, - 28015 - 11905: 0xE4B4, - 28016 - 11905: 0x9BCB, - 28017 - 11905: 0x9BCC, - 28018 - 11905: 0x9BCD, - 28019 - 11905: 0x9BCE, - 28020 - 11905: 0xD4A1, - 28021 - 11905: 0x9BCF, - 28022 - 11905: 0x9BD0, - 28023 - 11905: 0xBAA3, - 28024 - 11905: 0xBDFE, - 28025 - 11905: 0x9BD1, - 28026 - 11905: 0x9BD2, - 28027 - 11905: 0x9BD3, - 28028 - 11905: 0xE4BC, - 28029 - 11905: 0x9BD4, - 28030 - 11905: 0x9BD5, - 28031 - 11905: 0x9BD6, - 28032 - 11905: 0x9BD7, - 28033 - 11905: 0x9BD8, - 28034 - 11905: 0xCDBF, - 28035 - 11905: 0x9BD9, - 28036 - 11905: 0x9BDA, - 28037 - 11905: 0xC4F9, - 28038 - 11905: 0x9BDB, - 28039 - 11905: 0x9BDC, - 28040 - 11905: 0xCFFB, - 28041 - 11905: 0xC9E6, - 28042 - 11905: 0x9BDD, - 28043 - 11905: 0x9BDE, - 28044 - 11905: 0xD3BF, - 28045 - 11905: 0x9BDF, - 28046 - 11905: 0xCFD1, - 28047 - 11905: 0x9BE0, - 28048 - 11905: 0x9BE1, - 28049 - 11905: 0xE4B3, - 28050 - 11905: 0x9BE2, - 28051 - 11905: 0xE4B8, - 28052 - 11905: 0xE4B9, - 28053 - 11905: 0xCCE9, - 28054 - 11905: 0x9BE3, - 28055 - 11905: 0x9BE4, - 28056 - 11905: 0x9BE5, - 28057 - 11905: 0x9BE6, - 28058 - 11905: 0x9BE7, - 28059 - 11905: 0xCCCE, - 28060 - 11905: 0x9BE8, - 28061 - 11905: 0xC0D4, - 28062 - 11905: 0xE4B5, - 28063 - 11905: 0xC1B0, - 28064 - 11905: 0xE4B6, - 28065 - 11905: 0xCED0, - 28066 - 11905: 0x9BE9, - 28067 - 11905: 0xBBC1, - 28068 - 11905: 0xB5D3, - 28069 - 11905: 0x9BEA, - 28070 - 11905: 0xC8F3, - 28071 - 11905: 0xBDA7, - 28072 - 11905: 0xD5C7, - 28073 - 11905: 0xC9AC, - 28074 - 11905: 0xB8A2, - 28075 - 11905: 0xE4CA, - 28076 - 11905: 0x9BEB, - 28077 - 11905: 0x9BEC, - 28078 - 11905: 0xE4CC, - 28079 - 11905: 0xD1C4, - 28080 - 11905: 0x9BED, - 28081 - 11905: 0x9BEE, - 28082 - 11905: 0xD2BA, - 28083 - 11905: 0x9BEF, - 28084 - 11905: 0x9BF0, - 28085 - 11905: 0xBAAD, - 28086 - 11905: 0x9BF1, - 28087 - 11905: 0x9BF2, - 28088 - 11905: 0xBAD4, - 28089 - 11905: 0x9BF3, - 28090 - 11905: 0x9BF4, - 28091 - 11905: 0x9BF5, - 28092 - 11905: 0x9BF6, - 28093 - 11905: 0x9BF7, - 28094 - 11905: 0x9BF8, - 28095 - 11905: 0xE4C3, - 28096 - 11905: 0xB5ED, - 28097 - 11905: 0x9BF9, - 28098 - 11905: 0x9BFA, - 28099 - 11905: 0x9BFB, - 28100 - 11905: 0xD7CD, - 28101 - 11905: 0xE4C0, - 28102 - 11905: 0xCFFD, - 28103 - 11905: 0xE4BF, - 28104 - 11905: 0x9BFC, - 28105 - 11905: 0x9BFD, - 28106 - 11905: 0x9BFE, - 28107 - 11905: 0xC1DC, - 28108 - 11905: 0xCCCA, - 28109 - 11905: 0x9C40, - 28110 - 11905: 0x9C41, - 28111 - 11905: 0x9C42, - 28112 - 11905: 0x9C43, - 28113 - 11905: 0xCAE7, - 28114 - 11905: 0x9C44, - 28115 - 11905: 0x9C45, - 28116 - 11905: 0x9C46, - 28117 - 11905: 0x9C47, - 28118 - 11905: 0xC4D7, - 28119 - 11905: 0x9C48, - 28120 - 11905: 0xCCD4, - 28121 - 11905: 0xE4C8, - 28122 - 11905: 0x9C49, - 28123 - 11905: 0x9C4A, - 28124 - 11905: 0x9C4B, - 28125 - 11905: 0xE4C7, - 28126 - 11905: 0xE4C1, - 28127 - 11905: 0x9C4C, - 28128 - 11905: 0xE4C4, - 28129 - 11905: 0xB5AD, - 28130 - 11905: 0x9C4D, - 28131 - 11905: 0x9C4E, - 28132 - 11905: 0xD3D9, - 28133 - 11905: 0x9C4F, - 28134 - 11905: 0xE4C6, - 28135 - 11905: 0x9C50, - 28136 - 11905: 0x9C51, - 28137 - 11905: 0x9C52, - 28138 - 11905: 0x9C53, - 28139 - 11905: 0xD2F9, - 28140 - 11905: 0xB4E3, - 28141 - 11905: 0x9C54, - 28142 - 11905: 0xBBB4, - 28143 - 11905: 0x9C55, - 28144 - 11905: 0x9C56, - 28145 - 11905: 0xC9EE, - 28146 - 11905: 0x9C57, - 28147 - 11905: 0xB4BE, - 28148 - 11905: 0x9C58, - 28149 - 11905: 0x9C59, - 28150 - 11905: 0x9C5A, - 28151 - 11905: 0xBBEC, - 28152 - 11905: 0x9C5B, - 28153 - 11905: 0xD1CD, - 28154 - 11905: 0x9C5C, - 28155 - 11905: 0xCCED, - 28156 - 11905: 0xEDB5, - 28157 - 11905: 0x9C5D, - 28158 - 11905: 0x9C5E, - 28159 - 11905: 0x9C5F, - 28160 - 11905: 0x9C60, - 28161 - 11905: 0x9C61, - 28162 - 11905: 0x9C62, - 28163 - 11905: 0x9C63, - 28164 - 11905: 0x9C64, - 28165 - 11905: 0xC7E5, - 28166 - 11905: 0x9C65, - 28167 - 11905: 0x9C66, - 28168 - 11905: 0x9C67, - 28169 - 11905: 0x9C68, - 28170 - 11905: 0xD4A8, - 28171 - 11905: 0x9C69, - 28172 - 11905: 0xE4CB, - 28173 - 11905: 0xD7D5, - 28174 - 11905: 0xE4C2, - 28175 - 11905: 0x9C6A, - 28176 - 11905: 0xBDA5, - 28177 - 11905: 0xE4C5, - 28178 - 11905: 0x9C6B, - 28179 - 11905: 0x9C6C, - 28180 - 11905: 0xD3E6, - 28181 - 11905: 0x9C6D, - 28182 - 11905: 0xE4C9, - 28183 - 11905: 0xC9F8, - 28184 - 11905: 0x9C6E, - 28185 - 11905: 0x9C6F, - 28186 - 11905: 0xE4BE, - 28187 - 11905: 0x9C70, - 28188 - 11905: 0x9C71, - 28189 - 11905: 0xD3E5, - 28190 - 11905: 0x9C72, - 28191 - 11905: 0x9C73, - 28192 - 11905: 0xC7FE, - 28193 - 11905: 0xB6C9, - 28194 - 11905: 0x9C74, - 28195 - 11905: 0xD4FC, - 28196 - 11905: 0xB2B3, - 28197 - 11905: 0xE4D7, - 28198 - 11905: 0x9C75, - 28199 - 11905: 0x9C76, - 28200 - 11905: 0x9C77, - 28201 - 11905: 0xCEC2, - 28202 - 11905: 0x9C78, - 28203 - 11905: 0xE4CD, - 28204 - 11905: 0x9C79, - 28205 - 11905: 0xCEBC, - 28206 - 11905: 0x9C7A, - 28207 - 11905: 0xB8DB, - 28208 - 11905: 0x9C7B, - 28209 - 11905: 0x9C7C, - 28210 - 11905: 0xE4D6, - 28211 - 11905: 0x9C7D, - 28212 - 11905: 0xBFCA, - 28213 - 11905: 0x9C7E, - 28214 - 11905: 0x9C80, - 28215 - 11905: 0x9C81, - 28216 - 11905: 0xD3CE, - 28217 - 11905: 0x9C82, - 28218 - 11905: 0xC3EC, - 28219 - 11905: 0x9C83, - 28220 - 11905: 0x9C84, - 28221 - 11905: 0x9C85, - 28222 - 11905: 0x9C86, - 28223 - 11905: 0x9C87, - 28224 - 11905: 0x9C88, - 28225 - 11905: 0x9C89, - 28226 - 11905: 0x9C8A, - 28227 - 11905: 0xC5C8, - 28228 - 11905: 0xE4D8, - 28229 - 11905: 0x9C8B, - 28230 - 11905: 0x9C8C, - 28231 - 11905: 0x9C8D, - 28232 - 11905: 0x9C8E, - 28233 - 11905: 0x9C8F, - 28234 - 11905: 0x9C90, - 28235 - 11905: 0x9C91, - 28236 - 11905: 0x9C92, - 28237 - 11905: 0xCDC4, - 28238 - 11905: 0xE4CF, - 28239 - 11905: 0x9C93, - 28240 - 11905: 0x9C94, - 28241 - 11905: 0x9C95, - 28242 - 11905: 0x9C96, - 28243 - 11905: 0xE4D4, - 28244 - 11905: 0xE4D5, - 28245 - 11905: 0x9C97, - 28246 - 11905: 0xBAFE, - 28247 - 11905: 0x9C98, - 28248 - 11905: 0xCFE6, - 28249 - 11905: 0x9C99, - 28250 - 11905: 0x9C9A, - 28251 - 11905: 0xD5BF, - 28252 - 11905: 0x9C9B, - 28253 - 11905: 0x9C9C, - 28254 - 11905: 0x9C9D, - 28255 - 11905: 0xE4D2, - 28256 - 11905: 0x9C9E, - 28257 - 11905: 0x9C9F, - 28258 - 11905: 0x9CA0, - 28259 - 11905: 0x9CA1, - 28260 - 11905: 0x9CA2, - 28261 - 11905: 0x9CA3, - 28262 - 11905: 0x9CA4, - 28263 - 11905: 0x9CA5, - 28264 - 11905: 0x9CA6, - 28265 - 11905: 0x9CA7, - 28266 - 11905: 0x9CA8, - 28267 - 11905: 0xE4D0, - 28268 - 11905: 0x9CA9, - 28269 - 11905: 0x9CAA, - 28270 - 11905: 0xE4CE, - 28271 - 11905: 0x9CAB, - 28272 - 11905: 0x9CAC, - 28273 - 11905: 0x9CAD, - 28274 - 11905: 0x9CAE, - 28275 - 11905: 0x9CAF, - 28276 - 11905: 0x9CB0, - 28277 - 11905: 0x9CB1, - 28278 - 11905: 0x9CB2, - 28279 - 11905: 0x9CB3, - 28280 - 11905: 0x9CB4, - 28281 - 11905: 0x9CB5, - 28282 - 11905: 0x9CB6, - 28283 - 11905: 0x9CB7, - 28284 - 11905: 0x9CB8, - 28285 - 11905: 0x9CB9, - 28286 - 11905: 0xCDE5, - 28287 - 11905: 0xCAAA, - 28288 - 11905: 0x9CBA, - 28289 - 11905: 0x9CBB, - 28290 - 11905: 0x9CBC, - 28291 - 11905: 0xC0A3, - 28292 - 11905: 0x9CBD, - 28293 - 11905: 0xBDA6, - 28294 - 11905: 0xE4D3, - 28295 - 11905: 0x9CBE, - 28296 - 11905: 0x9CBF, - 28297 - 11905: 0xB8C8, - 28298 - 11905: 0x9CC0, - 28299 - 11905: 0x9CC1, - 28300 - 11905: 0x9CC2, - 28301 - 11905: 0x9CC3, - 28302 - 11905: 0x9CC4, - 28303 - 11905: 0xE4E7, - 28304 - 11905: 0xD4B4, - 28305 - 11905: 0x9CC5, - 28306 - 11905: 0x9CC6, - 28307 - 11905: 0x9CC7, - 28308 - 11905: 0x9CC8, - 28309 - 11905: 0x9CC9, - 28310 - 11905: 0x9CCA, - 28311 - 11905: 0x9CCB, - 28312 - 11905: 0xE4DB, - 28313 - 11905: 0x9CCC, - 28314 - 11905: 0x9CCD, - 28315 - 11905: 0x9CCE, - 28316 - 11905: 0xC1EF, - 28317 - 11905: 0x9CCF, - 28318 - 11905: 0x9CD0, - 28319 - 11905: 0xE4E9, - 28320 - 11905: 0x9CD1, - 28321 - 11905: 0x9CD2, - 28322 - 11905: 0xD2E7, - 28323 - 11905: 0x9CD3, - 28324 - 11905: 0x9CD4, - 28325 - 11905: 0xE4DF, - 28326 - 11905: 0x9CD5, - 28327 - 11905: 0xE4E0, - 28328 - 11905: 0x9CD6, - 28329 - 11905: 0x9CD7, - 28330 - 11905: 0xCFAA, - 28331 - 11905: 0x9CD8, - 28332 - 11905: 0x9CD9, - 28333 - 11905: 0x9CDA, - 28334 - 11905: 0x9CDB, - 28335 - 11905: 0xCBDD, - 28336 - 11905: 0x9CDC, - 28337 - 11905: 0xE4DA, - 28338 - 11905: 0xE4D1, - 28339 - 11905: 0x9CDD, - 28340 - 11905: 0xE4E5, - 28341 - 11905: 0x9CDE, - 28342 - 11905: 0xC8DC, - 28343 - 11905: 0xE4E3, - 28344 - 11905: 0x9CDF, - 28345 - 11905: 0x9CE0, - 28346 - 11905: 0xC4E7, - 28347 - 11905: 0xE4E2, - 28348 - 11905: 0x9CE1, - 28349 - 11905: 0xE4E1, - 28350 - 11905: 0x9CE2, - 28351 - 11905: 0x9CE3, - 28352 - 11905: 0x9CE4, - 28353 - 11905: 0xB3FC, - 28354 - 11905: 0xE4E8, - 28355 - 11905: 0x9CE5, - 28356 - 11905: 0x9CE6, - 28357 - 11905: 0x9CE7, - 28358 - 11905: 0x9CE8, - 28359 - 11905: 0xB5E1, - 28360 - 11905: 0x9CE9, - 28361 - 11905: 0x9CEA, - 28362 - 11905: 0x9CEB, - 28363 - 11905: 0xD7CC, - 28364 - 11905: 0x9CEC, - 28365 - 11905: 0x9CED, - 28366 - 11905: 0x9CEE, - 28367 - 11905: 0xE4E6, - 28368 - 11905: 0x9CEF, - 28369 - 11905: 0xBBAC, - 28370 - 11905: 0x9CF0, - 28371 - 11905: 0xD7D2, - 28372 - 11905: 0xCCCF, - 28373 - 11905: 0xEBF8, - 28374 - 11905: 0x9CF1, - 28375 - 11905: 0xE4E4, - 28376 - 11905: 0x9CF2, - 28377 - 11905: 0x9CF3, - 28378 - 11905: 0xB9F6, - 28379 - 11905: 0x9CF4, - 28380 - 11905: 0x9CF5, - 28381 - 11905: 0x9CF6, - 28382 - 11905: 0xD6CD, - 28383 - 11905: 0xE4D9, - 28384 - 11905: 0xE4DC, - 28385 - 11905: 0xC2FA, - 28386 - 11905: 0xE4DE, - 28387 - 11905: 0x9CF7, - 28388 - 11905: 0xC2CB, - 28389 - 11905: 0xC0C4, - 28390 - 11905: 0xC2D0, - 28391 - 11905: 0x9CF8, - 28392 - 11905: 0xB1F5, - 28393 - 11905: 0xCCB2, - 28394 - 11905: 0x9CF9, - 28395 - 11905: 0x9CFA, - 28396 - 11905: 0x9CFB, - 28397 - 11905: 0x9CFC, - 28398 - 11905: 0x9CFD, - 28399 - 11905: 0x9CFE, - 28400 - 11905: 0x9D40, - 28401 - 11905: 0x9D41, - 28402 - 11905: 0x9D42, - 28403 - 11905: 0x9D43, - 28404 - 11905: 0xB5CE, - 28405 - 11905: 0x9D44, - 28406 - 11905: 0x9D45, - 28407 - 11905: 0x9D46, - 28408 - 11905: 0x9D47, - 28409 - 11905: 0xE4EF, - 28410 - 11905: 0x9D48, - 28411 - 11905: 0x9D49, - 28412 - 11905: 0x9D4A, - 28413 - 11905: 0x9D4B, - 28414 - 11905: 0x9D4C, - 28415 - 11905: 0x9D4D, - 28416 - 11905: 0x9D4E, - 28417 - 11905: 0x9D4F, - 28418 - 11905: 0xC6AF, - 28419 - 11905: 0x9D50, - 28420 - 11905: 0x9D51, - 28421 - 11905: 0x9D52, - 28422 - 11905: 0xC6E1, - 28423 - 11905: 0x9D53, - 28424 - 11905: 0x9D54, - 28425 - 11905: 0xE4F5, - 28426 - 11905: 0x9D55, - 28427 - 11905: 0x9D56, - 28428 - 11905: 0x9D57, - 28429 - 11905: 0x9D58, - 28430 - 11905: 0x9D59, - 28431 - 11905: 0xC2A9, - 28432 - 11905: 0x9D5A, - 28433 - 11905: 0x9D5B, - 28434 - 11905: 0x9D5C, - 28435 - 11905: 0xC0EC, - 28436 - 11905: 0xD1DD, - 28437 - 11905: 0xE4EE, - 28438 - 11905: 0x9D5D, - 28439 - 11905: 0x9D5E, - 28440 - 11905: 0x9D5F, - 28441 - 11905: 0x9D60, - 28442 - 11905: 0x9D61, - 28443 - 11905: 0x9D62, - 28444 - 11905: 0x9D63, - 28445 - 11905: 0x9D64, - 28446 - 11905: 0x9D65, - 28447 - 11905: 0x9D66, - 28448 - 11905: 0xC4AE, - 28449 - 11905: 0x9D67, - 28450 - 11905: 0x9D68, - 28451 - 11905: 0x9D69, - 28452 - 11905: 0xE4ED, - 28453 - 11905: 0x9D6A, - 28454 - 11905: 0x9D6B, - 28455 - 11905: 0x9D6C, - 28456 - 11905: 0x9D6D, - 28457 - 11905: 0xE4F6, - 28458 - 11905: 0xE4F4, - 28459 - 11905: 0xC2FE, - 28460 - 11905: 0x9D6E, - 28461 - 11905: 0xE4DD, - 28462 - 11905: 0x9D6F, - 28463 - 11905: 0xE4F0, - 28464 - 11905: 0x9D70, - 28465 - 11905: 0xCAFE, - 28466 - 11905: 0x9D71, - 28467 - 11905: 0xD5C4, - 28468 - 11905: 0x9D72, - 28469 - 11905: 0x9D73, - 28470 - 11905: 0xE4F1, - 28471 - 11905: 0x9D74, - 28472 - 11905: 0x9D75, - 28473 - 11905: 0x9D76, - 28474 - 11905: 0x9D77, - 28475 - 11905: 0x9D78, - 28476 - 11905: 0x9D79, - 28477 - 11905: 0x9D7A, - 28478 - 11905: 0xD1FA, - 28479 - 11905: 0x9D7B, - 28480 - 11905: 0x9D7C, - 28481 - 11905: 0x9D7D, - 28482 - 11905: 0x9D7E, - 28483 - 11905: 0x9D80, - 28484 - 11905: 0x9D81, - 28485 - 11905: 0x9D82, - 28486 - 11905: 0xE4EB, - 28487 - 11905: 0xE4EC, - 28488 - 11905: 0x9D83, - 28489 - 11905: 0x9D84, - 28490 - 11905: 0x9D85, - 28491 - 11905: 0xE4F2, - 28492 - 11905: 0x9D86, - 28493 - 11905: 0xCEAB, - 28494 - 11905: 0x9D87, - 28495 - 11905: 0x9D88, - 28496 - 11905: 0x9D89, - 28497 - 11905: 0x9D8A, - 28498 - 11905: 0x9D8B, - 28499 - 11905: 0x9D8C, - 28500 - 11905: 0x9D8D, - 28501 - 11905: 0x9D8E, - 28502 - 11905: 0x9D8F, - 28503 - 11905: 0x9D90, - 28504 - 11905: 0xC5CB, - 28505 - 11905: 0x9D91, - 28506 - 11905: 0x9D92, - 28507 - 11905: 0x9D93, - 28508 - 11905: 0xC7B1, - 28509 - 11905: 0x9D94, - 28510 - 11905: 0xC2BA, - 28511 - 11905: 0x9D95, - 28512 - 11905: 0x9D96, - 28513 - 11905: 0x9D97, - 28514 - 11905: 0xE4EA, - 28515 - 11905: 0x9D98, - 28516 - 11905: 0x9D99, - 28517 - 11905: 0x9D9A, - 28518 - 11905: 0xC1CA, - 28519 - 11905: 0x9D9B, - 28520 - 11905: 0x9D9C, - 28521 - 11905: 0x9D9D, - 28522 - 11905: 0x9D9E, - 28523 - 11905: 0x9D9F, - 28524 - 11905: 0x9DA0, - 28525 - 11905: 0xCCB6, - 28526 - 11905: 0xB3B1, - 28527 - 11905: 0x9DA1, - 28528 - 11905: 0x9DA2, - 28529 - 11905: 0x9DA3, - 28530 - 11905: 0xE4FB, - 28531 - 11905: 0x9DA4, - 28532 - 11905: 0xE4F3, - 28533 - 11905: 0x9DA5, - 28534 - 11905: 0x9DA6, - 28535 - 11905: 0x9DA7, - 28536 - 11905: 0xE4FA, - 28537 - 11905: 0x9DA8, - 28538 - 11905: 0xE4FD, - 28539 - 11905: 0x9DA9, - 28540 - 11905: 0xE4FC, - 28541 - 11905: 0x9DAA, - 28542 - 11905: 0x9DAB, - 28543 - 11905: 0x9DAC, - 28544 - 11905: 0x9DAD, - 28545 - 11905: 0x9DAE, - 28546 - 11905: 0x9DAF, - 28547 - 11905: 0x9DB0, - 28548 - 11905: 0xB3CE, - 28549 - 11905: 0x9DB1, - 28550 - 11905: 0x9DB2, - 28551 - 11905: 0x9DB3, - 28552 - 11905: 0xB3BA, - 28553 - 11905: 0xE4F7, - 28554 - 11905: 0x9DB4, - 28555 - 11905: 0x9DB5, - 28556 - 11905: 0xE4F9, - 28557 - 11905: 0xE4F8, - 28558 - 11905: 0xC5EC, - 28559 - 11905: 0x9DB6, - 28560 - 11905: 0x9DB7, - 28561 - 11905: 0x9DB8, - 28562 - 11905: 0x9DB9, - 28563 - 11905: 0x9DBA, - 28564 - 11905: 0x9DBB, - 28565 - 11905: 0x9DBC, - 28566 - 11905: 0x9DBD, - 28567 - 11905: 0x9DBE, - 28568 - 11905: 0x9DBF, - 28569 - 11905: 0x9DC0, - 28570 - 11905: 0x9DC1, - 28571 - 11905: 0x9DC2, - 28572 - 11905: 0xC0BD, - 28573 - 11905: 0x9DC3, - 28574 - 11905: 0x9DC4, - 28575 - 11905: 0x9DC5, - 28576 - 11905: 0x9DC6, - 28577 - 11905: 0xD4E8, - 28578 - 11905: 0x9DC7, - 28579 - 11905: 0x9DC8, - 28580 - 11905: 0x9DC9, - 28581 - 11905: 0x9DCA, - 28582 - 11905: 0x9DCB, - 28583 - 11905: 0xE5A2, - 28584 - 11905: 0x9DCC, - 28585 - 11905: 0x9DCD, - 28586 - 11905: 0x9DCE, - 28587 - 11905: 0x9DCF, - 28588 - 11905: 0x9DD0, - 28589 - 11905: 0x9DD1, - 28590 - 11905: 0x9DD2, - 28591 - 11905: 0x9DD3, - 28592 - 11905: 0x9DD4, - 28593 - 11905: 0x9DD5, - 28594 - 11905: 0x9DD6, - 28595 - 11905: 0xB0C4, - 28596 - 11905: 0x9DD7, - 28597 - 11905: 0x9DD8, - 28598 - 11905: 0xE5A4, - 28599 - 11905: 0x9DD9, - 28600 - 11905: 0x9DDA, - 28601 - 11905: 0xE5A3, - 28602 - 11905: 0x9DDB, - 28603 - 11905: 0x9DDC, - 28604 - 11905: 0x9DDD, - 28605 - 11905: 0x9DDE, - 28606 - 11905: 0x9DDF, - 28607 - 11905: 0x9DE0, - 28608 - 11905: 0xBCA4, - 28609 - 11905: 0x9DE1, - 28610 - 11905: 0xE5A5, - 28611 - 11905: 0x9DE2, - 28612 - 11905: 0x9DE3, - 28613 - 11905: 0x9DE4, - 28614 - 11905: 0x9DE5, - 28615 - 11905: 0x9DE6, - 28616 - 11905: 0x9DE7, - 28617 - 11905: 0xE5A1, - 28618 - 11905: 0x9DE8, - 28619 - 11905: 0x9DE9, - 28620 - 11905: 0x9DEA, - 28621 - 11905: 0x9DEB, - 28622 - 11905: 0x9DEC, - 28623 - 11905: 0x9DED, - 28624 - 11905: 0x9DEE, - 28625 - 11905: 0xE4FE, - 28626 - 11905: 0xB1F4, - 28627 - 11905: 0x9DEF, - 28628 - 11905: 0x9DF0, - 28629 - 11905: 0x9DF1, - 28630 - 11905: 0x9DF2, - 28631 - 11905: 0x9DF3, - 28632 - 11905: 0x9DF4, - 28633 - 11905: 0x9DF5, - 28634 - 11905: 0x9DF6, - 28635 - 11905: 0x9DF7, - 28636 - 11905: 0x9DF8, - 28637 - 11905: 0x9DF9, - 28638 - 11905: 0xE5A8, - 28639 - 11905: 0x9DFA, - 28640 - 11905: 0xE5A9, - 28641 - 11905: 0xE5A6, - 28642 - 11905: 0x9DFB, - 28643 - 11905: 0x9DFC, - 28644 - 11905: 0x9DFD, - 28645 - 11905: 0x9DFE, - 28646 - 11905: 0x9E40, - 28647 - 11905: 0x9E41, - 28648 - 11905: 0x9E42, - 28649 - 11905: 0x9E43, - 28650 - 11905: 0x9E44, - 28651 - 11905: 0x9E45, - 28652 - 11905: 0x9E46, - 28653 - 11905: 0x9E47, - 28654 - 11905: 0xE5A7, - 28655 - 11905: 0xE5AA, - 28656 - 11905: 0x9E48, - 28657 - 11905: 0x9E49, - 28658 - 11905: 0x9E4A, - 28659 - 11905: 0x9E4B, - 28660 - 11905: 0x9E4C, - 28661 - 11905: 0x9E4D, - 28662 - 11905: 0x9E4E, - 28663 - 11905: 0x9E4F, - 28664 - 11905: 0x9E50, - 28665 - 11905: 0x9E51, - 28666 - 11905: 0x9E52, - 28667 - 11905: 0x9E53, - 28668 - 11905: 0x9E54, - 28669 - 11905: 0x9E55, - 28670 - 11905: 0x9E56, - 28671 - 11905: 0x9E57, - 28672 - 11905: 0x9E58, - 28673 - 11905: 0x9E59, - 28674 - 11905: 0x9E5A, - 28675 - 11905: 0x9E5B, - 28676 - 11905: 0x9E5C, - 28677 - 11905: 0x9E5D, - 28678 - 11905: 0x9E5E, - 28679 - 11905: 0x9E5F, - 28680 - 11905: 0x9E60, - 28681 - 11905: 0x9E61, - 28682 - 11905: 0x9E62, - 28683 - 11905: 0x9E63, - 28684 - 11905: 0x9E64, - 28685 - 11905: 0x9E65, - 28686 - 11905: 0x9E66, - 28687 - 11905: 0x9E67, - 28688 - 11905: 0x9E68, - 28689 - 11905: 0xC6D9, - 28690 - 11905: 0x9E69, - 28691 - 11905: 0x9E6A, - 28692 - 11905: 0x9E6B, - 28693 - 11905: 0x9E6C, - 28694 - 11905: 0x9E6D, - 28695 - 11905: 0x9E6E, - 28696 - 11905: 0x9E6F, - 28697 - 11905: 0x9E70, - 28698 - 11905: 0xE5AB, - 28699 - 11905: 0xE5AD, - 28700 - 11905: 0x9E71, - 28701 - 11905: 0x9E72, - 28702 - 11905: 0x9E73, - 28703 - 11905: 0x9E74, - 28704 - 11905: 0x9E75, - 28705 - 11905: 0x9E76, - 28706 - 11905: 0x9E77, - 28707 - 11905: 0xE5AC, - 28708 - 11905: 0x9E78, - 28709 - 11905: 0x9E79, - 28710 - 11905: 0x9E7A, - 28711 - 11905: 0x9E7B, - 28712 - 11905: 0x9E7C, - 28713 - 11905: 0x9E7D, - 28714 - 11905: 0x9E7E, - 28715 - 11905: 0x9E80, - 28716 - 11905: 0x9E81, - 28717 - 11905: 0x9E82, - 28718 - 11905: 0x9E83, - 28719 - 11905: 0x9E84, - 28720 - 11905: 0x9E85, - 28721 - 11905: 0x9E86, - 28722 - 11905: 0x9E87, - 28723 - 11905: 0x9E88, - 28724 - 11905: 0x9E89, - 28725 - 11905: 0xE5AF, - 28726 - 11905: 0x9E8A, - 28727 - 11905: 0x9E8B, - 28728 - 11905: 0x9E8C, - 28729 - 11905: 0xE5AE, - 28730 - 11905: 0x9E8D, - 28731 - 11905: 0x9E8E, - 28732 - 11905: 0x9E8F, - 28733 - 11905: 0x9E90, - 28734 - 11905: 0x9E91, - 28735 - 11905: 0x9E92, - 28736 - 11905: 0x9E93, - 28737 - 11905: 0x9E94, - 28738 - 11905: 0x9E95, - 28739 - 11905: 0x9E96, - 28740 - 11905: 0x9E97, - 28741 - 11905: 0x9E98, - 28742 - 11905: 0x9E99, - 28743 - 11905: 0x9E9A, - 28744 - 11905: 0x9E9B, - 28745 - 11905: 0x9E9C, - 28746 - 11905: 0x9E9D, - 28747 - 11905: 0x9E9E, - 28748 - 11905: 0xB9E0, - 28749 - 11905: 0x9E9F, - 28750 - 11905: 0x9EA0, - 28751 - 11905: 0xE5B0, - 28752 - 11905: 0x9EA1, - 28753 - 11905: 0x9EA2, - 28754 - 11905: 0x9EA3, - 28755 - 11905: 0x9EA4, - 28756 - 11905: 0x9EA5, - 28757 - 11905: 0x9EA6, - 28758 - 11905: 0x9EA7, - 28759 - 11905: 0x9EA8, - 28760 - 11905: 0x9EA9, - 28761 - 11905: 0x9EAA, - 28762 - 11905: 0x9EAB, - 28763 - 11905: 0x9EAC, - 28764 - 11905: 0x9EAD, - 28765 - 11905: 0x9EAE, - 28766 - 11905: 0xE5B1, - 28767 - 11905: 0x9EAF, - 28768 - 11905: 0x9EB0, - 28769 - 11905: 0x9EB1, - 28770 - 11905: 0x9EB2, - 28771 - 11905: 0x9EB3, - 28772 - 11905: 0x9EB4, - 28773 - 11905: 0x9EB5, - 28774 - 11905: 0x9EB6, - 28775 - 11905: 0x9EB7, - 28776 - 11905: 0x9EB8, - 28777 - 11905: 0x9EB9, - 28778 - 11905: 0x9EBA, - 28779 - 11905: 0xBBF0, - 28780 - 11905: 0xECE1, - 28781 - 11905: 0xC3F0, - 28782 - 11905: 0x9EBB, - 28783 - 11905: 0xB5C6, - 28784 - 11905: 0xBBD2, - 28785 - 11905: 0x9EBC, - 28786 - 11905: 0x9EBD, - 28787 - 11905: 0x9EBE, - 28788 - 11905: 0x9EBF, - 28789 - 11905: 0xC1E9, - 28790 - 11905: 0xD4EE, - 28791 - 11905: 0x9EC0, - 28792 - 11905: 0xBEC4, - 28793 - 11905: 0x9EC1, - 28794 - 11905: 0x9EC2, - 28795 - 11905: 0x9EC3, - 28796 - 11905: 0xD7C6, - 28797 - 11905: 0x9EC4, - 28798 - 11905: 0xD4D6, - 28799 - 11905: 0xB2D3, - 28800 - 11905: 0xECBE, - 28801 - 11905: 0x9EC5, - 28802 - 11905: 0x9EC6, - 28803 - 11905: 0x9EC7, - 28804 - 11905: 0x9EC8, - 28805 - 11905: 0xEAC1, - 28806 - 11905: 0x9EC9, - 28807 - 11905: 0x9ECA, - 28808 - 11905: 0x9ECB, - 28809 - 11905: 0xC2AF, - 28810 - 11905: 0xB4B6, - 28811 - 11905: 0x9ECC, - 28812 - 11905: 0x9ECD, - 28813 - 11905: 0x9ECE, - 28814 - 11905: 0xD1D7, - 28815 - 11905: 0x9ECF, - 28816 - 11905: 0x9ED0, - 28817 - 11905: 0x9ED1, - 28818 - 11905: 0xB3B4, - 28819 - 11905: 0x9ED2, - 28820 - 11905: 0xC8B2, - 28821 - 11905: 0xBFBB, - 28822 - 11905: 0xECC0, - 28823 - 11905: 0x9ED3, - 28824 - 11905: 0x9ED4, - 28825 - 11905: 0xD6CB, - 28826 - 11905: 0x9ED5, - 28827 - 11905: 0x9ED6, - 28828 - 11905: 0xECBF, - 28829 - 11905: 0xECC1, - 28830 - 11905: 0x9ED7, - 28831 - 11905: 0x9ED8, - 28832 - 11905: 0x9ED9, - 28833 - 11905: 0x9EDA, - 28834 - 11905: 0x9EDB, - 28835 - 11905: 0x9EDC, - 28836 - 11905: 0x9EDD, - 28837 - 11905: 0x9EDE, - 28838 - 11905: 0x9EDF, - 28839 - 11905: 0x9EE0, - 28840 - 11905: 0x9EE1, - 28841 - 11905: 0x9EE2, - 28842 - 11905: 0x9EE3, - 28843 - 11905: 0xECC5, - 28844 - 11905: 0xBEE6, - 28845 - 11905: 0xCCBF, - 28846 - 11905: 0xC5DA, - 28847 - 11905: 0xBEBC, - 28848 - 11905: 0x9EE4, - 28849 - 11905: 0xECC6, - 28850 - 11905: 0x9EE5, - 28851 - 11905: 0xB1FE, - 28852 - 11905: 0x9EE6, - 28853 - 11905: 0x9EE7, - 28854 - 11905: 0x9EE8, - 28855 - 11905: 0xECC4, - 28856 - 11905: 0xD5A8, - 28857 - 11905: 0xB5E3, - 28858 - 11905: 0x9EE9, - 28859 - 11905: 0xECC2, - 28860 - 11905: 0xC1B6, - 28861 - 11905: 0xB3E3, - 28862 - 11905: 0x9EEA, - 28863 - 11905: 0x9EEB, - 28864 - 11905: 0xECC3, - 28865 - 11905: 0xCBB8, - 28866 - 11905: 0xC0C3, - 28867 - 11905: 0xCCFE, - 28868 - 11905: 0x9EEC, - 28869 - 11905: 0x9EED, - 28870 - 11905: 0x9EEE, - 28871 - 11905: 0x9EEF, - 28872 - 11905: 0xC1D2, - 28873 - 11905: 0x9EF0, - 28874 - 11905: 0xECC8, - 28875 - 11905: 0x9EF1, - 28876 - 11905: 0x9EF2, - 28877 - 11905: 0x9EF3, - 28878 - 11905: 0x9EF4, - 28879 - 11905: 0x9EF5, - 28880 - 11905: 0x9EF6, - 28881 - 11905: 0x9EF7, - 28882 - 11905: 0x9EF8, - 28883 - 11905: 0x9EF9, - 28884 - 11905: 0x9EFA, - 28885 - 11905: 0x9EFB, - 28886 - 11905: 0x9EFC, - 28887 - 11905: 0x9EFD, - 28888 - 11905: 0xBAE6, - 28889 - 11905: 0xC0D3, - 28890 - 11905: 0x9EFE, - 28891 - 11905: 0xD6F2, - 28892 - 11905: 0x9F40, - 28893 - 11905: 0x9F41, - 28894 - 11905: 0x9F42, - 28895 - 11905: 0xD1CC, - 28896 - 11905: 0x9F43, - 28897 - 11905: 0x9F44, - 28898 - 11905: 0x9F45, - 28899 - 11905: 0x9F46, - 28900 - 11905: 0xBFBE, - 28901 - 11905: 0x9F47, - 28902 - 11905: 0xB7B3, - 28903 - 11905: 0xC9D5, - 28904 - 11905: 0xECC7, - 28905 - 11905: 0xBBE2, - 28906 - 11905: 0x9F48, - 28907 - 11905: 0xCCCC, - 28908 - 11905: 0xBDFD, - 28909 - 11905: 0xC8C8, - 28910 - 11905: 0x9F49, - 28911 - 11905: 0xCFA9, - 28912 - 11905: 0x9F4A, - 28913 - 11905: 0x9F4B, - 28914 - 11905: 0x9F4C, - 28915 - 11905: 0x9F4D, - 28916 - 11905: 0x9F4E, - 28917 - 11905: 0x9F4F, - 28918 - 11905: 0x9F50, - 28919 - 11905: 0xCDE9, - 28920 - 11905: 0x9F51, - 28921 - 11905: 0xC5EB, - 28922 - 11905: 0x9F52, - 28923 - 11905: 0x9F53, - 28924 - 11905: 0x9F54, - 28925 - 11905: 0xB7E9, - 28926 - 11905: 0x9F55, - 28927 - 11905: 0x9F56, - 28928 - 11905: 0x9F57, - 28929 - 11905: 0x9F58, - 28930 - 11905: 0x9F59, - 28931 - 11905: 0x9F5A, - 28932 - 11905: 0x9F5B, - 28933 - 11905: 0x9F5C, - 28934 - 11905: 0x9F5D, - 28935 - 11905: 0x9F5E, - 28936 - 11905: 0x9F5F, - 28937 - 11905: 0xD1C9, - 28938 - 11905: 0xBAB8, - 28939 - 11905: 0x9F60, - 28940 - 11905: 0x9F61, - 28941 - 11905: 0x9F62, - 28942 - 11905: 0x9F63, - 28943 - 11905: 0x9F64, - 28944 - 11905: 0xECC9, - 28945 - 11905: 0x9F65, - 28946 - 11905: 0x9F66, - 28947 - 11905: 0xECCA, - 28948 - 11905: 0x9F67, - 28949 - 11905: 0xBBC0, - 28950 - 11905: 0xECCB, - 28951 - 11905: 0x9F68, - 28952 - 11905: 0xECE2, - 28953 - 11905: 0xB1BA, - 28954 - 11905: 0xB7D9, - 28955 - 11905: 0x9F69, - 28956 - 11905: 0x9F6A, - 28957 - 11905: 0x9F6B, - 28958 - 11905: 0x9F6C, - 28959 - 11905: 0x9F6D, - 28960 - 11905: 0x9F6E, - 28961 - 11905: 0x9F6F, - 28962 - 11905: 0x9F70, - 28963 - 11905: 0x9F71, - 28964 - 11905: 0x9F72, - 28965 - 11905: 0x9F73, - 28966 - 11905: 0xBDB9, - 28967 - 11905: 0x9F74, - 28968 - 11905: 0x9F75, - 28969 - 11905: 0x9F76, - 28970 - 11905: 0x9F77, - 28971 - 11905: 0x9F78, - 28972 - 11905: 0x9F79, - 28973 - 11905: 0x9F7A, - 28974 - 11905: 0x9F7B, - 28975 - 11905: 0xECCC, - 28976 - 11905: 0xD1E6, - 28977 - 11905: 0xECCD, - 28978 - 11905: 0x9F7C, - 28979 - 11905: 0x9F7D, - 28980 - 11905: 0x9F7E, - 28981 - 11905: 0x9F80, - 28982 - 11905: 0xC8BB, - 28983 - 11905: 0x9F81, - 28984 - 11905: 0x9F82, - 28985 - 11905: 0x9F83, - 28986 - 11905: 0x9F84, - 28987 - 11905: 0x9F85, - 28988 - 11905: 0x9F86, - 28989 - 11905: 0x9F87, - 28990 - 11905: 0x9F88, - 28991 - 11905: 0x9F89, - 28992 - 11905: 0x9F8A, - 28993 - 11905: 0x9F8B, - 28994 - 11905: 0x9F8C, - 28995 - 11905: 0x9F8D, - 28996 - 11905: 0x9F8E, - 28997 - 11905: 0xECD1, - 28998 - 11905: 0x9F8F, - 28999 - 11905: 0x9F90, - 29000 - 11905: 0x9F91, - 29001 - 11905: 0x9F92, - 29002 - 11905: 0xECD3, - 29003 - 11905: 0x9F93, - 29004 - 11905: 0xBBCD, - 29005 - 11905: 0x9F94, - 29006 - 11905: 0xBCE5, - 29007 - 11905: 0x9F95, - 29008 - 11905: 0x9F96, - 29009 - 11905: 0x9F97, - 29010 - 11905: 0x9F98, - 29011 - 11905: 0x9F99, - 29012 - 11905: 0x9F9A, - 29013 - 11905: 0x9F9B, - 29014 - 11905: 0x9F9C, - 29015 - 11905: 0x9F9D, - 29016 - 11905: 0x9F9E, - 29017 - 11905: 0x9F9F, - 29018 - 11905: 0x9FA0, - 29019 - 11905: 0x9FA1, - 29020 - 11905: 0xECCF, - 29021 - 11905: 0x9FA2, - 29022 - 11905: 0xC9B7, - 29023 - 11905: 0x9FA3, - 29024 - 11905: 0x9FA4, - 29025 - 11905: 0x9FA5, - 29026 - 11905: 0x9FA6, - 29027 - 11905: 0x9FA7, - 29028 - 11905: 0xC3BA, - 29029 - 11905: 0x9FA8, - 29030 - 11905: 0xECE3, - 29031 - 11905: 0xD5D5, - 29032 - 11905: 0xECD0, - 29033 - 11905: 0x9FA9, - 29034 - 11905: 0x9FAA, - 29035 - 11905: 0x9FAB, - 29036 - 11905: 0x9FAC, - 29037 - 11905: 0x9FAD, - 29038 - 11905: 0xD6F3, - 29039 - 11905: 0x9FAE, - 29040 - 11905: 0x9FAF, - 29041 - 11905: 0x9FB0, - 29042 - 11905: 0xECD2, - 29043 - 11905: 0xECCE, - 29044 - 11905: 0x9FB1, - 29045 - 11905: 0x9FB2, - 29046 - 11905: 0x9FB3, - 29047 - 11905: 0x9FB4, - 29048 - 11905: 0xECD4, - 29049 - 11905: 0x9FB5, - 29050 - 11905: 0xECD5, - 29051 - 11905: 0x9FB6, - 29052 - 11905: 0x9FB7, - 29053 - 11905: 0xC9BF, - 29054 - 11905: 0x9FB8, - 29055 - 11905: 0x9FB9, - 29056 - 11905: 0x9FBA, - 29057 - 11905: 0x9FBB, - 29058 - 11905: 0x9FBC, - 29059 - 11905: 0x9FBD, - 29060 - 11905: 0xCFA8, - 29061 - 11905: 0x9FBE, - 29062 - 11905: 0x9FBF, - 29063 - 11905: 0x9FC0, - 29064 - 11905: 0x9FC1, - 29065 - 11905: 0x9FC2, - 29066 - 11905: 0xD0DC, - 29067 - 11905: 0x9FC3, - 29068 - 11905: 0x9FC4, - 29069 - 11905: 0x9FC5, - 29070 - 11905: 0x9FC6, - 29071 - 11905: 0xD1AC, - 29072 - 11905: 0x9FC7, - 29073 - 11905: 0x9FC8, - 29074 - 11905: 0x9FC9, - 29075 - 11905: 0x9FCA, - 29076 - 11905: 0xC8DB, - 29077 - 11905: 0x9FCB, - 29078 - 11905: 0x9FCC, - 29079 - 11905: 0x9FCD, - 29080 - 11905: 0xECD6, - 29081 - 11905: 0xCEF5, - 29082 - 11905: 0x9FCE, - 29083 - 11905: 0x9FCF, - 29084 - 11905: 0x9FD0, - 29085 - 11905: 0x9FD1, - 29086 - 11905: 0x9FD2, - 29087 - 11905: 0xCAEC, - 29088 - 11905: 0xECDA, - 29089 - 11905: 0x9FD3, - 29090 - 11905: 0x9FD4, - 29091 - 11905: 0x9FD5, - 29092 - 11905: 0x9FD6, - 29093 - 11905: 0x9FD7, - 29094 - 11905: 0x9FD8, - 29095 - 11905: 0x9FD9, - 29096 - 11905: 0xECD9, - 29097 - 11905: 0x9FDA, - 29098 - 11905: 0x9FDB, - 29099 - 11905: 0x9FDC, - 29100 - 11905: 0xB0BE, - 29101 - 11905: 0x9FDD, - 29102 - 11905: 0x9FDE, - 29103 - 11905: 0x9FDF, - 29104 - 11905: 0x9FE0, - 29105 - 11905: 0x9FE1, - 29106 - 11905: 0x9FE2, - 29107 - 11905: 0xECD7, - 29108 - 11905: 0x9FE3, - 29109 - 11905: 0xECD8, - 29110 - 11905: 0x9FE4, - 29111 - 11905: 0x9FE5, - 29112 - 11905: 0x9FE6, - 29113 - 11905: 0xECE4, - 29114 - 11905: 0x9FE7, - 29115 - 11905: 0x9FE8, - 29116 - 11905: 0x9FE9, - 29117 - 11905: 0x9FEA, - 29118 - 11905: 0x9FEB, - 29119 - 11905: 0x9FEC, - 29120 - 11905: 0x9FED, - 29121 - 11905: 0x9FEE, - 29122 - 11905: 0x9FEF, - 29123 - 11905: 0xC8BC, - 29124 - 11905: 0x9FF0, - 29125 - 11905: 0x9FF1, - 29126 - 11905: 0x9FF2, - 29127 - 11905: 0x9FF3, - 29128 - 11905: 0x9FF4, - 29129 - 11905: 0x9FF5, - 29130 - 11905: 0x9FF6, - 29131 - 11905: 0x9FF7, - 29132 - 11905: 0x9FF8, - 29133 - 11905: 0x9FF9, - 29134 - 11905: 0xC1C7, - 29135 - 11905: 0x9FFA, - 29136 - 11905: 0x9FFB, - 29137 - 11905: 0x9FFC, - 29138 - 11905: 0x9FFD, - 29139 - 11905: 0x9FFE, - 29140 - 11905: 0xECDC, - 29141 - 11905: 0xD1E0, - 29142 - 11905: 0xA040, - 29143 - 11905: 0xA041, - 29144 - 11905: 0xA042, - 29145 - 11905: 0xA043, - 29146 - 11905: 0xA044, - 29147 - 11905: 0xA045, - 29148 - 11905: 0xA046, - 29149 - 11905: 0xA047, - 29150 - 11905: 0xA048, - 29151 - 11905: 0xA049, - 29152 - 11905: 0xECDB, - 29153 - 11905: 0xA04A, - 29154 - 11905: 0xA04B, - 29155 - 11905: 0xA04C, - 29156 - 11905: 0xA04D, - 29157 - 11905: 0xD4EF, - 29158 - 11905: 0xA04E, - 29159 - 11905: 0xECDD, - 29160 - 11905: 0xA04F, - 29161 - 11905: 0xA050, - 29162 - 11905: 0xA051, - 29163 - 11905: 0xA052, - 29164 - 11905: 0xA053, - 29165 - 11905: 0xA054, - 29166 - 11905: 0xDBC6, - 29167 - 11905: 0xA055, - 29168 - 11905: 0xA056, - 29169 - 11905: 0xA057, - 29170 - 11905: 0xA058, - 29171 - 11905: 0xA059, - 29172 - 11905: 0xA05A, - 29173 - 11905: 0xA05B, - 29174 - 11905: 0xA05C, - 29175 - 11905: 0xA05D, - 29176 - 11905: 0xA05E, - 29177 - 11905: 0xECDE, - 29178 - 11905: 0xA05F, - 29179 - 11905: 0xA060, - 29180 - 11905: 0xA061, - 29181 - 11905: 0xA062, - 29182 - 11905: 0xA063, - 29183 - 11905: 0xA064, - 29184 - 11905: 0xA065, - 29185 - 11905: 0xA066, - 29186 - 11905: 0xA067, - 29187 - 11905: 0xA068, - 29188 - 11905: 0xA069, - 29189 - 11905: 0xA06A, - 29190 - 11905: 0xB1AC, - 29191 - 11905: 0xA06B, - 29192 - 11905: 0xA06C, - 29193 - 11905: 0xA06D, - 29194 - 11905: 0xA06E, - 29195 - 11905: 0xA06F, - 29196 - 11905: 0xA070, - 29197 - 11905: 0xA071, - 29198 - 11905: 0xA072, - 29199 - 11905: 0xA073, - 29200 - 11905: 0xA074, - 29201 - 11905: 0xA075, - 29202 - 11905: 0xA076, - 29203 - 11905: 0xA077, - 29204 - 11905: 0xA078, - 29205 - 11905: 0xA079, - 29206 - 11905: 0xA07A, - 29207 - 11905: 0xA07B, - 29208 - 11905: 0xA07C, - 29209 - 11905: 0xA07D, - 29210 - 11905: 0xA07E, - 29211 - 11905: 0xA080, - 29212 - 11905: 0xA081, - 29213 - 11905: 0xECDF, - 29214 - 11905: 0xA082, - 29215 - 11905: 0xA083, - 29216 - 11905: 0xA084, - 29217 - 11905: 0xA085, - 29218 - 11905: 0xA086, - 29219 - 11905: 0xA087, - 29220 - 11905: 0xA088, - 29221 - 11905: 0xA089, - 29222 - 11905: 0xA08A, - 29223 - 11905: 0xA08B, - 29224 - 11905: 0xECE0, - 29225 - 11905: 0xA08C, - 29226 - 11905: 0xD7A6, - 29227 - 11905: 0xA08D, - 29228 - 11905: 0xC5C0, - 29229 - 11905: 0xA08E, - 29230 - 11905: 0xA08F, - 29231 - 11905: 0xA090, - 29232 - 11905: 0xEBBC, - 29233 - 11905: 0xB0AE, - 29234 - 11905: 0xA091, - 29235 - 11905: 0xA092, - 29236 - 11905: 0xA093, - 29237 - 11905: 0xBEF4, - 29238 - 11905: 0xB8B8, - 29239 - 11905: 0xD2AF, - 29240 - 11905: 0xB0D6, - 29241 - 11905: 0xB5F9, - 29242 - 11905: 0xA094, - 29243 - 11905: 0xD8B3, - 29244 - 11905: 0xA095, - 29245 - 11905: 0xCBAC, - 29246 - 11905: 0xA096, - 29247 - 11905: 0xE3DD, - 29248 - 11905: 0xA097, - 29249 - 11905: 0xA098, - 29250 - 11905: 0xA099, - 29251 - 11905: 0xA09A, - 29252 - 11905: 0xA09B, - 29253 - 11905: 0xA09C, - 29254 - 11905: 0xA09D, - 29255 - 11905: 0xC6AC, - 29256 - 11905: 0xB0E6, - 29257 - 11905: 0xA09E, - 29258 - 11905: 0xA09F, - 29259 - 11905: 0xA0A0, - 29260 - 11905: 0xC5C6, - 29261 - 11905: 0xEBB9, - 29262 - 11905: 0xA0A1, - 29263 - 11905: 0xA0A2, - 29264 - 11905: 0xA0A3, - 29265 - 11905: 0xA0A4, - 29266 - 11905: 0xEBBA, - 29267 - 11905: 0xA0A5, - 29268 - 11905: 0xA0A6, - 29269 - 11905: 0xA0A7, - 29270 - 11905: 0xEBBB, - 29271 - 11905: 0xA0A8, - 29272 - 11905: 0xA0A9, - 29273 - 11905: 0xD1C0, - 29274 - 11905: 0xA0AA, - 29275 - 11905: 0xC5A3, - 29276 - 11905: 0xA0AB, - 29277 - 11905: 0xEAF2, - 29278 - 11905: 0xA0AC, - 29279 - 11905: 0xC4B2, - 29280 - 11905: 0xA0AD, - 29281 - 11905: 0xC4B5, - 29282 - 11905: 0xC0CE, - 29283 - 11905: 0xA0AE, - 29284 - 11905: 0xA0AF, - 29285 - 11905: 0xA0B0, - 29286 - 11905: 0xEAF3, - 29287 - 11905: 0xC4C1, - 29288 - 11905: 0xA0B1, - 29289 - 11905: 0xCEEF, - 29290 - 11905: 0xA0B2, - 29291 - 11905: 0xA0B3, - 29292 - 11905: 0xA0B4, - 29293 - 11905: 0xA0B5, - 29294 - 11905: 0xEAF0, - 29295 - 11905: 0xEAF4, - 29296 - 11905: 0xA0B6, - 29297 - 11905: 0xA0B7, - 29298 - 11905: 0xC9FC, - 29299 - 11905: 0xA0B8, - 29300 - 11905: 0xA0B9, - 29301 - 11905: 0xC7A3, - 29302 - 11905: 0xA0BA, - 29303 - 11905: 0xA0BB, - 29304 - 11905: 0xA0BC, - 29305 - 11905: 0xCCD8, - 29306 - 11905: 0xCEFE, - 29307 - 11905: 0xA0BD, - 29308 - 11905: 0xA0BE, - 29309 - 11905: 0xA0BF, - 29310 - 11905: 0xEAF5, - 29311 - 11905: 0xEAF6, - 29312 - 11905: 0xCFAC, - 29313 - 11905: 0xC0E7, - 29314 - 11905: 0xA0C0, - 29315 - 11905: 0xA0C1, - 29316 - 11905: 0xEAF7, - 29317 - 11905: 0xA0C2, - 29318 - 11905: 0xA0C3, - 29319 - 11905: 0xA0C4, - 29320 - 11905: 0xA0C5, - 29321 - 11905: 0xA0C6, - 29322 - 11905: 0xB6BF, - 29323 - 11905: 0xEAF8, - 29324 - 11905: 0xA0C7, - 29325 - 11905: 0xEAF9, - 29326 - 11905: 0xA0C8, - 29327 - 11905: 0xEAFA, - 29328 - 11905: 0xA0C9, - 29329 - 11905: 0xA0CA, - 29330 - 11905: 0xEAFB, - 29331 - 11905: 0xA0CB, - 29332 - 11905: 0xA0CC, - 29333 - 11905: 0xA0CD, - 29334 - 11905: 0xA0CE, - 29335 - 11905: 0xA0CF, - 29336 - 11905: 0xA0D0, - 29337 - 11905: 0xA0D1, - 29338 - 11905: 0xA0D2, - 29339 - 11905: 0xA0D3, - 29340 - 11905: 0xA0D4, - 29341 - 11905: 0xA0D5, - 29342 - 11905: 0xA0D6, - 29343 - 11905: 0xEAF1, - 29344 - 11905: 0xA0D7, - 29345 - 11905: 0xA0D8, - 29346 - 11905: 0xA0D9, - 29347 - 11905: 0xA0DA, - 29348 - 11905: 0xA0DB, - 29349 - 11905: 0xA0DC, - 29350 - 11905: 0xA0DD, - 29351 - 11905: 0xA0DE, - 29352 - 11905: 0xA0DF, - 29353 - 11905: 0xA0E0, - 29354 - 11905: 0xA0E1, - 29355 - 11905: 0xA0E2, - 29356 - 11905: 0xC8AE, - 29357 - 11905: 0xE1EB, - 29358 - 11905: 0xA0E3, - 29359 - 11905: 0xB7B8, - 29360 - 11905: 0xE1EC, - 29361 - 11905: 0xA0E4, - 29362 - 11905: 0xA0E5, - 29363 - 11905: 0xA0E6, - 29364 - 11905: 0xE1ED, - 29365 - 11905: 0xA0E7, - 29366 - 11905: 0xD7B4, - 29367 - 11905: 0xE1EE, - 29368 - 11905: 0xE1EF, - 29369 - 11905: 0xD3CC, - 29370 - 11905: 0xA0E8, - 29371 - 11905: 0xA0E9, - 29372 - 11905: 0xA0EA, - 29373 - 11905: 0xA0EB, - 29374 - 11905: 0xA0EC, - 29375 - 11905: 0xA0ED, - 29376 - 11905: 0xA0EE, - 29377 - 11905: 0xE1F1, - 29378 - 11905: 0xBFF1, - 29379 - 11905: 0xE1F0, - 29380 - 11905: 0xB5D2, - 29381 - 11905: 0xA0EF, - 29382 - 11905: 0xA0F0, - 29383 - 11905: 0xA0F1, - 29384 - 11905: 0xB1B7, - 29385 - 11905: 0xA0F2, - 29386 - 11905: 0xA0F3, - 29387 - 11905: 0xA0F4, - 29388 - 11905: 0xA0F5, - 29389 - 11905: 0xE1F3, - 29390 - 11905: 0xE1F2, - 29391 - 11905: 0xA0F6, - 29392 - 11905: 0xBAFC, - 29393 - 11905: 0xA0F7, - 29394 - 11905: 0xE1F4, - 29395 - 11905: 0xA0F8, - 29396 - 11905: 0xA0F9, - 29397 - 11905: 0xA0FA, - 29398 - 11905: 0xA0FB, - 29399 - 11905: 0xB9B7, - 29400 - 11905: 0xA0FC, - 29401 - 11905: 0xBED1, - 29402 - 11905: 0xA0FD, - 29403 - 11905: 0xA0FE, - 29404 - 11905: 0xAA40, - 29405 - 11905: 0xAA41, - 29406 - 11905: 0xC4FC, - 29407 - 11905: 0xAA42, - 29408 - 11905: 0xBADD, - 29409 - 11905: 0xBDC6, - 29410 - 11905: 0xAA43, - 29411 - 11905: 0xAA44, - 29412 - 11905: 0xAA45, - 29413 - 11905: 0xAA46, - 29414 - 11905: 0xAA47, - 29415 - 11905: 0xAA48, - 29416 - 11905: 0xE1F5, - 29417 - 11905: 0xE1F7, - 29418 - 11905: 0xAA49, - 29419 - 11905: 0xAA4A, - 29420 - 11905: 0xB6C0, - 29421 - 11905: 0xCFC1, - 29422 - 11905: 0xCAA8, - 29423 - 11905: 0xE1F6, - 29424 - 11905: 0xD5F8, - 29425 - 11905: 0xD3FC, - 29426 - 11905: 0xE1F8, - 29427 - 11905: 0xE1FC, - 29428 - 11905: 0xE1F9, - 29429 - 11905: 0xAA4B, - 29430 - 11905: 0xAA4C, - 29431 - 11905: 0xE1FA, - 29432 - 11905: 0xC0EA, - 29433 - 11905: 0xAA4D, - 29434 - 11905: 0xE1FE, - 29435 - 11905: 0xE2A1, - 29436 - 11905: 0xC0C7, - 29437 - 11905: 0xAA4E, - 29438 - 11905: 0xAA4F, - 29439 - 11905: 0xAA50, - 29440 - 11905: 0xAA51, - 29441 - 11905: 0xE1FB, - 29442 - 11905: 0xAA52, - 29443 - 11905: 0xE1FD, - 29444 - 11905: 0xAA53, - 29445 - 11905: 0xAA54, - 29446 - 11905: 0xAA55, - 29447 - 11905: 0xAA56, - 29448 - 11905: 0xAA57, - 29449 - 11905: 0xAA58, - 29450 - 11905: 0xE2A5, - 29451 - 11905: 0xAA59, - 29452 - 11905: 0xAA5A, - 29453 - 11905: 0xAA5B, - 29454 - 11905: 0xC1D4, - 29455 - 11905: 0xAA5C, - 29456 - 11905: 0xAA5D, - 29457 - 11905: 0xAA5E, - 29458 - 11905: 0xAA5F, - 29459 - 11905: 0xE2A3, - 29460 - 11905: 0xAA60, - 29461 - 11905: 0xE2A8, - 29462 - 11905: 0xB2FE, - 29463 - 11905: 0xE2A2, - 29464 - 11905: 0xAA61, - 29465 - 11905: 0xAA62, - 29466 - 11905: 0xAA63, - 29467 - 11905: 0xC3CD, - 29468 - 11905: 0xB2C2, - 29469 - 11905: 0xE2A7, - 29470 - 11905: 0xE2A6, - 29471 - 11905: 0xAA64, - 29472 - 11905: 0xAA65, - 29473 - 11905: 0xE2A4, - 29474 - 11905: 0xE2A9, - 29475 - 11905: 0xAA66, - 29476 - 11905: 0xAA67, - 29477 - 11905: 0xE2AB, - 29478 - 11905: 0xAA68, - 29479 - 11905: 0xAA69, - 29480 - 11905: 0xAA6A, - 29481 - 11905: 0xD0C9, - 29482 - 11905: 0xD6ED, - 29483 - 11905: 0xC3A8, - 29484 - 11905: 0xE2AC, - 29485 - 11905: 0xAA6B, - 29486 - 11905: 0xCFD7, - 29487 - 11905: 0xAA6C, - 29488 - 11905: 0xAA6D, - 29489 - 11905: 0xE2AE, - 29490 - 11905: 0xAA6E, - 29491 - 11905: 0xAA6F, - 29492 - 11905: 0xBAEF, - 29493 - 11905: 0xAA70, - 29494 - 11905: 0xAA71, - 29495 - 11905: 0xE9E0, - 29496 - 11905: 0xE2AD, - 29497 - 11905: 0xE2AA, - 29498 - 11905: 0xAA72, - 29499 - 11905: 0xAA73, - 29500 - 11905: 0xAA74, - 29501 - 11905: 0xAA75, - 29502 - 11905: 0xBBAB, - 29503 - 11905: 0xD4B3, - 29504 - 11905: 0xAA76, - 29505 - 11905: 0xAA77, - 29506 - 11905: 0xAA78, - 29507 - 11905: 0xAA79, - 29508 - 11905: 0xAA7A, - 29509 - 11905: 0xAA7B, - 29510 - 11905: 0xAA7C, - 29511 - 11905: 0xAA7D, - 29512 - 11905: 0xAA7E, - 29513 - 11905: 0xAA80, - 29514 - 11905: 0xAA81, - 29515 - 11905: 0xAA82, - 29516 - 11905: 0xAA83, - 29517 - 11905: 0xE2B0, - 29518 - 11905: 0xAA84, - 29519 - 11905: 0xAA85, - 29520 - 11905: 0xE2AF, - 29521 - 11905: 0xAA86, - 29522 - 11905: 0xE9E1, - 29523 - 11905: 0xAA87, - 29524 - 11905: 0xAA88, - 29525 - 11905: 0xAA89, - 29526 - 11905: 0xAA8A, - 29527 - 11905: 0xE2B1, - 29528 - 11905: 0xAA8B, - 29529 - 11905: 0xAA8C, - 29530 - 11905: 0xAA8D, - 29531 - 11905: 0xAA8E, - 29532 - 11905: 0xAA8F, - 29533 - 11905: 0xAA90, - 29534 - 11905: 0xAA91, - 29535 - 11905: 0xAA92, - 29536 - 11905: 0xE2B2, - 29537 - 11905: 0xAA93, - 29538 - 11905: 0xAA94, - 29539 - 11905: 0xAA95, - 29540 - 11905: 0xAA96, - 29541 - 11905: 0xAA97, - 29542 - 11905: 0xAA98, - 29543 - 11905: 0xAA99, - 29544 - 11905: 0xAA9A, - 29545 - 11905: 0xAA9B, - 29546 - 11905: 0xAA9C, - 29547 - 11905: 0xAA9D, - 29548 - 11905: 0xE2B3, - 29549 - 11905: 0xCCA1, - 29550 - 11905: 0xAA9E, - 29551 - 11905: 0xE2B4, - 29552 - 11905: 0xAA9F, - 29553 - 11905: 0xAAA0, - 29554 - 11905: 0xAB40, - 29555 - 11905: 0xAB41, - 29556 - 11905: 0xAB42, - 29557 - 11905: 0xAB43, - 29558 - 11905: 0xAB44, - 29559 - 11905: 0xAB45, - 29560 - 11905: 0xAB46, - 29561 - 11905: 0xAB47, - 29562 - 11905: 0xAB48, - 29563 - 11905: 0xAB49, - 29564 - 11905: 0xAB4A, - 29565 - 11905: 0xAB4B, - 29566 - 11905: 0xE2B5, - 29567 - 11905: 0xAB4C, - 29568 - 11905: 0xAB4D, - 29569 - 11905: 0xAB4E, - 29570 - 11905: 0xAB4F, - 29571 - 11905: 0xAB50, - 29572 - 11905: 0xD0FE, - 29573 - 11905: 0xAB51, - 29574 - 11905: 0xAB52, - 29575 - 11905: 0xC2CA, - 29576 - 11905: 0xAB53, - 29577 - 11905: 0xD3F1, - 29578 - 11905: 0xAB54, - 29579 - 11905: 0xCDF5, - 29580 - 11905: 0xAB55, - 29581 - 11905: 0xAB56, - 29582 - 11905: 0xE7E0, - 29583 - 11905: 0xAB57, - 29584 - 11905: 0xAB58, - 29585 - 11905: 0xE7E1, - 29586 - 11905: 0xAB59, - 29587 - 11905: 0xAB5A, - 29588 - 11905: 0xAB5B, - 29589 - 11905: 0xAB5C, - 29590 - 11905: 0xBEC1, - 29591 - 11905: 0xAB5D, - 29592 - 11905: 0xAB5E, - 29593 - 11905: 0xAB5F, - 29594 - 11905: 0xAB60, - 29595 - 11905: 0xC2EA, - 29596 - 11905: 0xAB61, - 29597 - 11905: 0xAB62, - 29598 - 11905: 0xAB63, - 29599 - 11905: 0xE7E4, - 29600 - 11905: 0xAB64, - 29601 - 11905: 0xAB65, - 29602 - 11905: 0xE7E3, - 29603 - 11905: 0xAB66, - 29604 - 11905: 0xAB67, - 29605 - 11905: 0xAB68, - 29606 - 11905: 0xAB69, - 29607 - 11905: 0xAB6A, - 29608 - 11905: 0xAB6B, - 29609 - 11905: 0xCDE6, - 29610 - 11905: 0xAB6C, - 29611 - 11905: 0xC3B5, - 29612 - 11905: 0xAB6D, - 29613 - 11905: 0xAB6E, - 29614 - 11905: 0xE7E2, - 29615 - 11905: 0xBBB7, - 29616 - 11905: 0xCFD6, - 29617 - 11905: 0xAB6F, - 29618 - 11905: 0xC1E1, - 29619 - 11905: 0xE7E9, - 29620 - 11905: 0xAB70, - 29621 - 11905: 0xAB71, - 29622 - 11905: 0xAB72, - 29623 - 11905: 0xE7E8, - 29624 - 11905: 0xAB73, - 29625 - 11905: 0xAB74, - 29626 - 11905: 0xE7F4, - 29627 - 11905: 0xB2A3, - 29628 - 11905: 0xAB75, - 29629 - 11905: 0xAB76, - 29630 - 11905: 0xAB77, - 29631 - 11905: 0xAB78, - 29632 - 11905: 0xE7EA, - 29633 - 11905: 0xAB79, - 29634 - 11905: 0xE7E6, - 29635 - 11905: 0xAB7A, - 29636 - 11905: 0xAB7B, - 29637 - 11905: 0xAB7C, - 29638 - 11905: 0xAB7D, - 29639 - 11905: 0xAB7E, - 29640 - 11905: 0xE7EC, - 29641 - 11905: 0xE7EB, - 29642 - 11905: 0xC9BA, - 29643 - 11905: 0xAB80, - 29644 - 11905: 0xAB81, - 29645 - 11905: 0xD5E4, - 29646 - 11905: 0xAB82, - 29647 - 11905: 0xE7E5, - 29648 - 11905: 0xB7A9, - 29649 - 11905: 0xE7E7, - 29650 - 11905: 0xAB83, - 29651 - 11905: 0xAB84, - 29652 - 11905: 0xAB85, - 29653 - 11905: 0xAB86, - 29654 - 11905: 0xAB87, - 29655 - 11905: 0xAB88, - 29656 - 11905: 0xAB89, - 29657 - 11905: 0xE7EE, - 29658 - 11905: 0xAB8A, - 29659 - 11905: 0xAB8B, - 29660 - 11905: 0xAB8C, - 29661 - 11905: 0xAB8D, - 29662 - 11905: 0xE7F3, - 29663 - 11905: 0xAB8E, - 29664 - 11905: 0xD6E9, - 29665 - 11905: 0xAB8F, - 29666 - 11905: 0xAB90, - 29667 - 11905: 0xAB91, - 29668 - 11905: 0xAB92, - 29669 - 11905: 0xE7ED, - 29670 - 11905: 0xAB93, - 29671 - 11905: 0xE7F2, - 29672 - 11905: 0xAB94, - 29673 - 11905: 0xE7F1, - 29674 - 11905: 0xAB95, - 29675 - 11905: 0xAB96, - 29676 - 11905: 0xAB97, - 29677 - 11905: 0xB0E0, - 29678 - 11905: 0xAB98, - 29679 - 11905: 0xAB99, - 29680 - 11905: 0xAB9A, - 29681 - 11905: 0xAB9B, - 29682 - 11905: 0xE7F5, - 29683 - 11905: 0xAB9C, - 29684 - 11905: 0xAB9D, - 29685 - 11905: 0xAB9E, - 29686 - 11905: 0xAB9F, - 29687 - 11905: 0xABA0, - 29688 - 11905: 0xAC40, - 29689 - 11905: 0xAC41, - 29690 - 11905: 0xAC42, - 29691 - 11905: 0xAC43, - 29692 - 11905: 0xAC44, - 29693 - 11905: 0xAC45, - 29694 - 11905: 0xAC46, - 29695 - 11905: 0xAC47, - 29696 - 11905: 0xAC48, - 29697 - 11905: 0xAC49, - 29698 - 11905: 0xAC4A, - 29699 - 11905: 0xC7F2, - 29700 - 11905: 0xAC4B, - 29701 - 11905: 0xC0C5, - 29702 - 11905: 0xC0ED, - 29703 - 11905: 0xAC4C, - 29704 - 11905: 0xAC4D, - 29705 - 11905: 0xC1F0, - 29706 - 11905: 0xE7F0, - 29707 - 11905: 0xAC4E, - 29708 - 11905: 0xAC4F, - 29709 - 11905: 0xAC50, - 29710 - 11905: 0xAC51, - 29711 - 11905: 0xE7F6, - 29712 - 11905: 0xCBF6, - 29713 - 11905: 0xAC52, - 29714 - 11905: 0xAC53, - 29715 - 11905: 0xAC54, - 29716 - 11905: 0xAC55, - 29717 - 11905: 0xAC56, - 29718 - 11905: 0xAC57, - 29719 - 11905: 0xAC58, - 29720 - 11905: 0xAC59, - 29721 - 11905: 0xAC5A, - 29722 - 11905: 0xE8A2, - 29723 - 11905: 0xE8A1, - 29724 - 11905: 0xAC5B, - 29725 - 11905: 0xAC5C, - 29726 - 11905: 0xAC5D, - 29727 - 11905: 0xAC5E, - 29728 - 11905: 0xAC5F, - 29729 - 11905: 0xAC60, - 29730 - 11905: 0xD7C1, - 29731 - 11905: 0xAC61, - 29732 - 11905: 0xAC62, - 29733 - 11905: 0xE7FA, - 29734 - 11905: 0xE7F9, - 29735 - 11905: 0xAC63, - 29736 - 11905: 0xE7FB, - 29737 - 11905: 0xAC64, - 29738 - 11905: 0xE7F7, - 29739 - 11905: 0xAC65, - 29740 - 11905: 0xE7FE, - 29741 - 11905: 0xAC66, - 29742 - 11905: 0xE7FD, - 29743 - 11905: 0xAC67, - 29744 - 11905: 0xE7FC, - 29745 - 11905: 0xAC68, - 29746 - 11905: 0xAC69, - 29747 - 11905: 0xC1D5, - 29748 - 11905: 0xC7D9, - 29749 - 11905: 0xC5FD, - 29750 - 11905: 0xC5C3, - 29751 - 11905: 0xAC6A, - 29752 - 11905: 0xAC6B, - 29753 - 11905: 0xAC6C, - 29754 - 11905: 0xAC6D, - 29755 - 11905: 0xAC6E, - 29756 - 11905: 0xC7ED, - 29757 - 11905: 0xAC6F, - 29758 - 11905: 0xAC70, - 29759 - 11905: 0xAC71, - 29760 - 11905: 0xAC72, - 29761 - 11905: 0xE8A3, - 29762 - 11905: 0xAC73, - 29763 - 11905: 0xAC74, - 29764 - 11905: 0xAC75, - 29765 - 11905: 0xAC76, - 29766 - 11905: 0xAC77, - 29767 - 11905: 0xAC78, - 29768 - 11905: 0xAC79, - 29769 - 11905: 0xAC7A, - 29770 - 11905: 0xAC7B, - 29771 - 11905: 0xAC7C, - 29772 - 11905: 0xAC7D, - 29773 - 11905: 0xAC7E, - 29774 - 11905: 0xAC80, - 29775 - 11905: 0xAC81, - 29776 - 11905: 0xAC82, - 29777 - 11905: 0xAC83, - 29778 - 11905: 0xAC84, - 29779 - 11905: 0xAC85, - 29780 - 11905: 0xAC86, - 29781 - 11905: 0xE8A6, - 29782 - 11905: 0xAC87, - 29783 - 11905: 0xE8A5, - 29784 - 11905: 0xAC88, - 29785 - 11905: 0xE8A7, - 29786 - 11905: 0xBAF7, - 29787 - 11905: 0xE7F8, - 29788 - 11905: 0xE8A4, - 29789 - 11905: 0xAC89, - 29790 - 11905: 0xC8F0, - 29791 - 11905: 0xC9AA, - 29792 - 11905: 0xAC8A, - 29793 - 11905: 0xAC8B, - 29794 - 11905: 0xAC8C, - 29795 - 11905: 0xAC8D, - 29796 - 11905: 0xAC8E, - 29797 - 11905: 0xAC8F, - 29798 - 11905: 0xAC90, - 29799 - 11905: 0xAC91, - 29800 - 11905: 0xAC92, - 29801 - 11905: 0xAC93, - 29802 - 11905: 0xAC94, - 29803 - 11905: 0xAC95, - 29804 - 11905: 0xAC96, - 29805 - 11905: 0xE8A9, - 29806 - 11905: 0xAC97, - 29807 - 11905: 0xAC98, - 29808 - 11905: 0xB9E5, - 29809 - 11905: 0xAC99, - 29810 - 11905: 0xAC9A, - 29811 - 11905: 0xAC9B, - 29812 - 11905: 0xAC9C, - 29813 - 11905: 0xAC9D, - 29814 - 11905: 0xD1FE, - 29815 - 11905: 0xE8A8, - 29816 - 11905: 0xAC9E, - 29817 - 11905: 0xAC9F, - 29818 - 11905: 0xACA0, - 29819 - 11905: 0xAD40, - 29820 - 11905: 0xAD41, - 29821 - 11905: 0xAD42, - 29822 - 11905: 0xE8AA, - 29823 - 11905: 0xAD43, - 29824 - 11905: 0xE8AD, - 29825 - 11905: 0xE8AE, - 29826 - 11905: 0xAD44, - 29827 - 11905: 0xC1A7, - 29828 - 11905: 0xAD45, - 29829 - 11905: 0xAD46, - 29830 - 11905: 0xAD47, - 29831 - 11905: 0xE8AF, - 29832 - 11905: 0xAD48, - 29833 - 11905: 0xAD49, - 29834 - 11905: 0xAD4A, - 29835 - 11905: 0xE8B0, - 29836 - 11905: 0xAD4B, - 29837 - 11905: 0xAD4C, - 29838 - 11905: 0xE8AC, - 29839 - 11905: 0xAD4D, - 29840 - 11905: 0xE8B4, - 29841 - 11905: 0xAD4E, - 29842 - 11905: 0xAD4F, - 29843 - 11905: 0xAD50, - 29844 - 11905: 0xAD51, - 29845 - 11905: 0xAD52, - 29846 - 11905: 0xAD53, - 29847 - 11905: 0xAD54, - 29848 - 11905: 0xAD55, - 29849 - 11905: 0xAD56, - 29850 - 11905: 0xAD57, - 29851 - 11905: 0xAD58, - 29852 - 11905: 0xE8AB, - 29853 - 11905: 0xAD59, - 29854 - 11905: 0xE8B1, - 29855 - 11905: 0xAD5A, - 29856 - 11905: 0xAD5B, - 29857 - 11905: 0xAD5C, - 29858 - 11905: 0xAD5D, - 29859 - 11905: 0xAD5E, - 29860 - 11905: 0xAD5F, - 29861 - 11905: 0xAD60, - 29862 - 11905: 0xAD61, - 29863 - 11905: 0xE8B5, - 29864 - 11905: 0xE8B2, - 29865 - 11905: 0xE8B3, - 29866 - 11905: 0xAD62, - 29867 - 11905: 0xAD63, - 29868 - 11905: 0xAD64, - 29869 - 11905: 0xAD65, - 29870 - 11905: 0xAD66, - 29871 - 11905: 0xAD67, - 29872 - 11905: 0xAD68, - 29873 - 11905: 0xAD69, - 29874 - 11905: 0xAD6A, - 29875 - 11905: 0xAD6B, - 29876 - 11905: 0xAD6C, - 29877 - 11905: 0xAD6D, - 29878 - 11905: 0xAD6E, - 29879 - 11905: 0xAD6F, - 29880 - 11905: 0xAD70, - 29881 - 11905: 0xAD71, - 29882 - 11905: 0xE8B7, - 29883 - 11905: 0xAD72, - 29884 - 11905: 0xAD73, - 29885 - 11905: 0xAD74, - 29886 - 11905: 0xAD75, - 29887 - 11905: 0xAD76, - 29888 - 11905: 0xAD77, - 29889 - 11905: 0xAD78, - 29890 - 11905: 0xAD79, - 29891 - 11905: 0xAD7A, - 29892 - 11905: 0xAD7B, - 29893 - 11905: 0xAD7C, - 29894 - 11905: 0xAD7D, - 29895 - 11905: 0xAD7E, - 29896 - 11905: 0xAD80, - 29897 - 11905: 0xAD81, - 29898 - 11905: 0xAD82, - 29899 - 11905: 0xAD83, - 29900 - 11905: 0xAD84, - 29901 - 11905: 0xAD85, - 29902 - 11905: 0xAD86, - 29903 - 11905: 0xAD87, - 29904 - 11905: 0xAD88, - 29905 - 11905: 0xAD89, - 29906 - 11905: 0xE8B6, - 29907 - 11905: 0xAD8A, - 29908 - 11905: 0xAD8B, - 29909 - 11905: 0xAD8C, - 29910 - 11905: 0xAD8D, - 29911 - 11905: 0xAD8E, - 29912 - 11905: 0xAD8F, - 29913 - 11905: 0xAD90, - 29914 - 11905: 0xAD91, - 29915 - 11905: 0xAD92, - 29916 - 11905: 0xB9CF, - 29917 - 11905: 0xAD93, - 29918 - 11905: 0xF0AC, - 29919 - 11905: 0xAD94, - 29920 - 11905: 0xF0AD, - 29921 - 11905: 0xAD95, - 29922 - 11905: 0xC6B0, - 29923 - 11905: 0xB0EA, - 29924 - 11905: 0xC8BF, - 29925 - 11905: 0xAD96, - 29926 - 11905: 0xCDDF, - 29927 - 11905: 0xAD97, - 29928 - 11905: 0xAD98, - 29929 - 11905: 0xAD99, - 29930 - 11905: 0xAD9A, - 29931 - 11905: 0xAD9B, - 29932 - 11905: 0xAD9C, - 29933 - 11905: 0xAD9D, - 29934 - 11905: 0xCECD, - 29935 - 11905: 0xEAB1, - 29936 - 11905: 0xAD9E, - 29937 - 11905: 0xAD9F, - 29938 - 11905: 0xADA0, - 29939 - 11905: 0xAE40, - 29940 - 11905: 0xEAB2, - 29941 - 11905: 0xAE41, - 29942 - 11905: 0xC6BF, - 29943 - 11905: 0xB4C9, - 29944 - 11905: 0xAE42, - 29945 - 11905: 0xAE43, - 29946 - 11905: 0xAE44, - 29947 - 11905: 0xAE45, - 29948 - 11905: 0xAE46, - 29949 - 11905: 0xAE47, - 29950 - 11905: 0xAE48, - 29951 - 11905: 0xEAB3, - 29952 - 11905: 0xAE49, - 29953 - 11905: 0xAE4A, - 29954 - 11905: 0xAE4B, - 29955 - 11905: 0xAE4C, - 29956 - 11905: 0xD5E7, - 29957 - 11905: 0xAE4D, - 29958 - 11905: 0xAE4E, - 29959 - 11905: 0xAE4F, - 29960 - 11905: 0xAE50, - 29961 - 11905: 0xAE51, - 29962 - 11905: 0xAE52, - 29963 - 11905: 0xAE53, - 29964 - 11905: 0xAE54, - 29965 - 11905: 0xDDF9, - 29966 - 11905: 0xAE55, - 29967 - 11905: 0xEAB4, - 29968 - 11905: 0xAE56, - 29969 - 11905: 0xEAB5, - 29970 - 11905: 0xAE57, - 29971 - 11905: 0xEAB6, - 29972 - 11905: 0xAE58, - 29973 - 11905: 0xAE59, - 29974 - 11905: 0xAE5A, - 29975 - 11905: 0xAE5B, - 29976 - 11905: 0xB8CA, - 29977 - 11905: 0xDFB0, - 29978 - 11905: 0xC9F5, - 29979 - 11905: 0xAE5C, - 29980 - 11905: 0xCCF0, - 29981 - 11905: 0xAE5D, - 29982 - 11905: 0xAE5E, - 29983 - 11905: 0xC9FA, - 29984 - 11905: 0xAE5F, - 29985 - 11905: 0xAE60, - 29986 - 11905: 0xAE61, - 29987 - 11905: 0xAE62, - 29988 - 11905: 0xAE63, - 29989 - 11905: 0xC9FB, - 29990 - 11905: 0xAE64, - 29991 - 11905: 0xAE65, - 29992 - 11905: 0xD3C3, - 29993 - 11905: 0xCBA6, - 29994 - 11905: 0xAE66, - 29995 - 11905: 0xB8A6, - 29996 - 11905: 0xF0AE, - 29997 - 11905: 0xB1C2, - 29998 - 11905: 0xAE67, - 29999 - 11905: 0xE5B8, - 30000 - 11905: 0xCCEF, - 30001 - 11905: 0xD3C9, - 30002 - 11905: 0xBCD7, - 30003 - 11905: 0xC9EA, - 30004 - 11905: 0xAE68, - 30005 - 11905: 0xB5E7, - 30006 - 11905: 0xAE69, - 30007 - 11905: 0xC4D0, - 30008 - 11905: 0xB5E9, - 30009 - 11905: 0xAE6A, - 30010 - 11905: 0xEEAE, - 30011 - 11905: 0xBBAD, - 30012 - 11905: 0xAE6B, - 30013 - 11905: 0xAE6C, - 30014 - 11905: 0xE7DE, - 30015 - 11905: 0xAE6D, - 30016 - 11905: 0xEEAF, - 30017 - 11905: 0xAE6E, - 30018 - 11905: 0xAE6F, - 30019 - 11905: 0xAE70, - 30020 - 11905: 0xAE71, - 30021 - 11905: 0xB3A9, - 30022 - 11905: 0xAE72, - 30023 - 11905: 0xAE73, - 30024 - 11905: 0xEEB2, - 30025 - 11905: 0xAE74, - 30026 - 11905: 0xAE75, - 30027 - 11905: 0xEEB1, - 30028 - 11905: 0xBDE7, - 30029 - 11905: 0xAE76, - 30030 - 11905: 0xEEB0, - 30031 - 11905: 0xCEB7, - 30032 - 11905: 0xAE77, - 30033 - 11905: 0xAE78, - 30034 - 11905: 0xAE79, - 30035 - 11905: 0xAE7A, - 30036 - 11905: 0xC5CF, - 30037 - 11905: 0xAE7B, - 30038 - 11905: 0xAE7C, - 30039 - 11905: 0xAE7D, - 30040 - 11905: 0xAE7E, - 30041 - 11905: 0xC1F4, - 30042 - 11905: 0xDBCE, - 30043 - 11905: 0xEEB3, - 30044 - 11905: 0xD0F3, - 30045 - 11905: 0xAE80, - 30046 - 11905: 0xAE81, - 30047 - 11905: 0xAE82, - 30048 - 11905: 0xAE83, - 30049 - 11905: 0xAE84, - 30050 - 11905: 0xAE85, - 30051 - 11905: 0xAE86, - 30052 - 11905: 0xAE87, - 30053 - 11905: 0xC2D4, - 30054 - 11905: 0xC6E8, - 30055 - 11905: 0xAE88, - 30056 - 11905: 0xAE89, - 30057 - 11905: 0xAE8A, - 30058 - 11905: 0xB7AC, - 30059 - 11905: 0xAE8B, - 30060 - 11905: 0xAE8C, - 30061 - 11905: 0xAE8D, - 30062 - 11905: 0xAE8E, - 30063 - 11905: 0xAE8F, - 30064 - 11905: 0xAE90, - 30065 - 11905: 0xAE91, - 30066 - 11905: 0xEEB4, - 30067 - 11905: 0xAE92, - 30068 - 11905: 0xB3EB, - 30069 - 11905: 0xAE93, - 30070 - 11905: 0xAE94, - 30071 - 11905: 0xAE95, - 30072 - 11905: 0xBBFB, - 30073 - 11905: 0xEEB5, - 30074 - 11905: 0xAE96, - 30075 - 11905: 0xAE97, - 30076 - 11905: 0xAE98, - 30077 - 11905: 0xAE99, - 30078 - 11905: 0xAE9A, - 30079 - 11905: 0xE7DC, - 30080 - 11905: 0xAE9B, - 30081 - 11905: 0xAE9C, - 30082 - 11905: 0xAE9D, - 30083 - 11905: 0xEEB6, - 30084 - 11905: 0xAE9E, - 30085 - 11905: 0xAE9F, - 30086 - 11905: 0xBDAE, - 30087 - 11905: 0xAEA0, - 30088 - 11905: 0xAF40, - 30089 - 11905: 0xAF41, - 30090 - 11905: 0xAF42, - 30091 - 11905: 0xF1E2, - 30092 - 11905: 0xAF43, - 30093 - 11905: 0xAF44, - 30094 - 11905: 0xAF45, - 30095 - 11905: 0xCAE8, - 30096 - 11905: 0xAF46, - 30097 - 11905: 0xD2C9, - 30098 - 11905: 0xF0DA, - 30099 - 11905: 0xAF47, - 30100 - 11905: 0xF0DB, - 30101 - 11905: 0xAF48, - 30102 - 11905: 0xF0DC, - 30103 - 11905: 0xC1C6, - 30104 - 11905: 0xAF49, - 30105 - 11905: 0xB8ED, - 30106 - 11905: 0xBECE, - 30107 - 11905: 0xAF4A, - 30108 - 11905: 0xAF4B, - 30109 - 11905: 0xF0DE, - 30110 - 11905: 0xAF4C, - 30111 - 11905: 0xC5B1, - 30112 - 11905: 0xF0DD, - 30113 - 11905: 0xD1F1, - 30114 - 11905: 0xAF4D, - 30115 - 11905: 0xF0E0, - 30116 - 11905: 0xB0CC, - 30117 - 11905: 0xBDEA, - 30118 - 11905: 0xAF4E, - 30119 - 11905: 0xAF4F, - 30120 - 11905: 0xAF50, - 30121 - 11905: 0xAF51, - 30122 - 11905: 0xAF52, - 30123 - 11905: 0xD2DF, - 30124 - 11905: 0xF0DF, - 30125 - 11905: 0xAF53, - 30126 - 11905: 0xB4AF, - 30127 - 11905: 0xB7E8, - 30128 - 11905: 0xF0E6, - 30129 - 11905: 0xF0E5, - 30130 - 11905: 0xC6A3, - 30131 - 11905: 0xF0E1, - 30132 - 11905: 0xF0E2, - 30133 - 11905: 0xB4C3, - 30134 - 11905: 0xAF54, - 30135 - 11905: 0xAF55, - 30136 - 11905: 0xF0E3, - 30137 - 11905: 0xD5EE, - 30138 - 11905: 0xAF56, - 30139 - 11905: 0xAF57, - 30140 - 11905: 0xCCDB, - 30141 - 11905: 0xBED2, - 30142 - 11905: 0xBCB2, - 30143 - 11905: 0xAF58, - 30144 - 11905: 0xAF59, - 30145 - 11905: 0xAF5A, - 30146 - 11905: 0xF0E8, - 30147 - 11905: 0xF0E7, - 30148 - 11905: 0xF0E4, - 30149 - 11905: 0xB2A1, - 30150 - 11905: 0xAF5B, - 30151 - 11905: 0xD6A2, - 30152 - 11905: 0xD3B8, - 30153 - 11905: 0xBEB7, - 30154 - 11905: 0xC8AC, - 30155 - 11905: 0xAF5C, - 30156 - 11905: 0xAF5D, - 30157 - 11905: 0xF0EA, - 30158 - 11905: 0xAF5E, - 30159 - 11905: 0xAF5F, - 30160 - 11905: 0xAF60, - 30161 - 11905: 0xAF61, - 30162 - 11905: 0xD1F7, - 30163 - 11905: 0xAF62, - 30164 - 11905: 0xD6CC, - 30165 - 11905: 0xBADB, - 30166 - 11905: 0xF0E9, - 30167 - 11905: 0xAF63, - 30168 - 11905: 0xB6BB, - 30169 - 11905: 0xAF64, - 30170 - 11905: 0xAF65, - 30171 - 11905: 0xCDB4, - 30172 - 11905: 0xAF66, - 30173 - 11905: 0xAF67, - 30174 - 11905: 0xC6A6, - 30175 - 11905: 0xAF68, - 30176 - 11905: 0xAF69, - 30177 - 11905: 0xAF6A, - 30178 - 11905: 0xC1A1, - 30179 - 11905: 0xF0EB, - 30180 - 11905: 0xF0EE, - 30181 - 11905: 0xAF6B, - 30182 - 11905: 0xF0ED, - 30183 - 11905: 0xF0F0, - 30184 - 11905: 0xF0EC, - 30185 - 11905: 0xAF6C, - 30186 - 11905: 0xBBBE, - 30187 - 11905: 0xF0EF, - 30188 - 11905: 0xAF6D, - 30189 - 11905: 0xAF6E, - 30190 - 11905: 0xAF6F, - 30191 - 11905: 0xAF70, - 30192 - 11905: 0xCCB5, - 30193 - 11905: 0xF0F2, - 30194 - 11905: 0xAF71, - 30195 - 11905: 0xAF72, - 30196 - 11905: 0xB3D5, - 30197 - 11905: 0xAF73, - 30198 - 11905: 0xAF74, - 30199 - 11905: 0xAF75, - 30200 - 11905: 0xAF76, - 30201 - 11905: 0xB1D4, - 30202 - 11905: 0xAF77, - 30203 - 11905: 0xAF78, - 30204 - 11905: 0xF0F3, - 30205 - 11905: 0xAF79, - 30206 - 11905: 0xAF7A, - 30207 - 11905: 0xF0F4, - 30208 - 11905: 0xF0F6, - 30209 - 11905: 0xB4E1, - 30210 - 11905: 0xAF7B, - 30211 - 11905: 0xF0F1, - 30212 - 11905: 0xAF7C, - 30213 - 11905: 0xF0F7, - 30214 - 11905: 0xAF7D, - 30215 - 11905: 0xAF7E, - 30216 - 11905: 0xAF80, - 30217 - 11905: 0xAF81, - 30218 - 11905: 0xF0FA, - 30219 - 11905: 0xAF82, - 30220 - 11905: 0xF0F8, - 30221 - 11905: 0xAF83, - 30222 - 11905: 0xAF84, - 30223 - 11905: 0xAF85, - 30224 - 11905: 0xF0F5, - 30225 - 11905: 0xAF86, - 30226 - 11905: 0xAF87, - 30227 - 11905: 0xAF88, - 30228 - 11905: 0xAF89, - 30229 - 11905: 0xF0FD, - 30230 - 11905: 0xAF8A, - 30231 - 11905: 0xF0F9, - 30232 - 11905: 0xF0FC, - 30233 - 11905: 0xF0FE, - 30234 - 11905: 0xAF8B, - 30235 - 11905: 0xF1A1, - 30236 - 11905: 0xAF8C, - 30237 - 11905: 0xAF8D, - 30238 - 11905: 0xAF8E, - 30239 - 11905: 0xCEC1, - 30240 - 11905: 0xF1A4, - 30241 - 11905: 0xAF8F, - 30242 - 11905: 0xF1A3, - 30243 - 11905: 0xAF90, - 30244 - 11905: 0xC1F6, - 30245 - 11905: 0xF0FB, - 30246 - 11905: 0xCADD, - 30247 - 11905: 0xAF91, - 30248 - 11905: 0xAF92, - 30249 - 11905: 0xB4F1, - 30250 - 11905: 0xB1F1, - 30251 - 11905: 0xCCB1, - 30252 - 11905: 0xAF93, - 30253 - 11905: 0xF1A6, - 30254 - 11905: 0xAF94, - 30255 - 11905: 0xAF95, - 30256 - 11905: 0xF1A7, - 30257 - 11905: 0xAF96, - 30258 - 11905: 0xAF97, - 30259 - 11905: 0xF1AC, - 30260 - 11905: 0xD5CE, - 30261 - 11905: 0xF1A9, - 30262 - 11905: 0xAF98, - 30263 - 11905: 0xAF99, - 30264 - 11905: 0xC8B3, - 30265 - 11905: 0xAF9A, - 30266 - 11905: 0xAF9B, - 30267 - 11905: 0xAF9C, - 30268 - 11905: 0xF1A2, - 30269 - 11905: 0xAF9D, - 30270 - 11905: 0xF1AB, - 30271 - 11905: 0xF1A8, - 30272 - 11905: 0xF1A5, - 30273 - 11905: 0xAF9E, - 30274 - 11905: 0xAF9F, - 30275 - 11905: 0xF1AA, - 30276 - 11905: 0xAFA0, - 30277 - 11905: 0xB040, - 30278 - 11905: 0xB041, - 30279 - 11905: 0xB042, - 30280 - 11905: 0xB043, - 30281 - 11905: 0xB044, - 30282 - 11905: 0xB045, - 30283 - 11905: 0xB046, - 30284 - 11905: 0xB0A9, - 30285 - 11905: 0xF1AD, - 30286 - 11905: 0xB047, - 30287 - 11905: 0xB048, - 30288 - 11905: 0xB049, - 30289 - 11905: 0xB04A, - 30290 - 11905: 0xB04B, - 30291 - 11905: 0xB04C, - 30292 - 11905: 0xF1AF, - 30293 - 11905: 0xB04D, - 30294 - 11905: 0xF1B1, - 30295 - 11905: 0xB04E, - 30296 - 11905: 0xB04F, - 30297 - 11905: 0xB050, - 30298 - 11905: 0xB051, - 30299 - 11905: 0xB052, - 30300 - 11905: 0xF1B0, - 30301 - 11905: 0xB053, - 30302 - 11905: 0xF1AE, - 30303 - 11905: 0xB054, - 30304 - 11905: 0xB055, - 30305 - 11905: 0xB056, - 30306 - 11905: 0xB057, - 30307 - 11905: 0xD1A2, - 30308 - 11905: 0xB058, - 30309 - 11905: 0xB059, - 30310 - 11905: 0xB05A, - 30311 - 11905: 0xB05B, - 30312 - 11905: 0xB05C, - 30313 - 11905: 0xB05D, - 30314 - 11905: 0xB05E, - 30315 - 11905: 0xF1B2, - 30316 - 11905: 0xB05F, - 30317 - 11905: 0xB060, - 30318 - 11905: 0xB061, - 30319 - 11905: 0xF1B3, - 30320 - 11905: 0xB062, - 30321 - 11905: 0xB063, - 30322 - 11905: 0xB064, - 30323 - 11905: 0xB065, - 30324 - 11905: 0xB066, - 30325 - 11905: 0xB067, - 30326 - 11905: 0xB068, - 30327 - 11905: 0xB069, - 30328 - 11905: 0xB9EF, - 30329 - 11905: 0xB06A, - 30330 - 11905: 0xB06B, - 30331 - 11905: 0xB5C7, - 30332 - 11905: 0xB06C, - 30333 - 11905: 0xB0D7, - 30334 - 11905: 0xB0D9, - 30335 - 11905: 0xB06D, - 30336 - 11905: 0xB06E, - 30337 - 11905: 0xB06F, - 30338 - 11905: 0xD4ED, - 30339 - 11905: 0xB070, - 30340 - 11905: 0xB5C4, - 30341 - 11905: 0xB071, - 30342 - 11905: 0xBDD4, - 30343 - 11905: 0xBBCA, - 30344 - 11905: 0xF0A7, - 30345 - 11905: 0xB072, - 30346 - 11905: 0xB073, - 30347 - 11905: 0xB8DE, - 30348 - 11905: 0xB074, - 30349 - 11905: 0xB075, - 30350 - 11905: 0xF0A8, - 30351 - 11905: 0xB076, - 30352 - 11905: 0xB077, - 30353 - 11905: 0xB0A8, - 30354 - 11905: 0xB078, - 30355 - 11905: 0xF0A9, - 30356 - 11905: 0xB079, - 30357 - 11905: 0xB07A, - 30358 - 11905: 0xCDEE, - 30359 - 11905: 0xB07B, - 30360 - 11905: 0xB07C, - 30361 - 11905: 0xF0AA, - 30362 - 11905: 0xB07D, - 30363 - 11905: 0xB07E, - 30364 - 11905: 0xB080, - 30365 - 11905: 0xB081, - 30366 - 11905: 0xB082, - 30367 - 11905: 0xB083, - 30368 - 11905: 0xB084, - 30369 - 11905: 0xB085, - 30370 - 11905: 0xB086, - 30371 - 11905: 0xB087, - 30372 - 11905: 0xF0AB, - 30373 - 11905: 0xB088, - 30374 - 11905: 0xB089, - 30375 - 11905: 0xB08A, - 30376 - 11905: 0xB08B, - 30377 - 11905: 0xB08C, - 30378 - 11905: 0xB08D, - 30379 - 11905: 0xB08E, - 30380 - 11905: 0xB08F, - 30381 - 11905: 0xB090, - 30382 - 11905: 0xC6A4, - 30383 - 11905: 0xB091, - 30384 - 11905: 0xB092, - 30385 - 11905: 0xD6E5, - 30386 - 11905: 0xF1E4, - 30387 - 11905: 0xB093, - 30388 - 11905: 0xF1E5, - 30389 - 11905: 0xB094, - 30390 - 11905: 0xB095, - 30391 - 11905: 0xB096, - 30392 - 11905: 0xB097, - 30393 - 11905: 0xB098, - 30394 - 11905: 0xB099, - 30395 - 11905: 0xB09A, - 30396 - 11905: 0xB09B, - 30397 - 11905: 0xB09C, - 30398 - 11905: 0xB09D, - 30399 - 11905: 0xC3F3, - 30400 - 11905: 0xB09E, - 30401 - 11905: 0xB09F, - 30402 - 11905: 0xD3DB, - 30403 - 11905: 0xB0A0, - 30404 - 11905: 0xB140, - 30405 - 11905: 0xD6D1, - 30406 - 11905: 0xC5E8, - 30407 - 11905: 0xB141, - 30408 - 11905: 0xD3AF, - 30409 - 11905: 0xB142, - 30410 - 11905: 0xD2E6, - 30411 - 11905: 0xB143, - 30412 - 11905: 0xB144, - 30413 - 11905: 0xEEC1, - 30414 - 11905: 0xB0BB, - 30415 - 11905: 0xD5B5, - 30416 - 11905: 0xD1CE, - 30417 - 11905: 0xBCE0, - 30418 - 11905: 0xBAD0, - 30419 - 11905: 0xB145, - 30420 - 11905: 0xBFF8, - 30421 - 11905: 0xB146, - 30422 - 11905: 0xB8C7, - 30423 - 11905: 0xB5C1, - 30424 - 11905: 0xC5CC, - 30425 - 11905: 0xB147, - 30426 - 11905: 0xB148, - 30427 - 11905: 0xCAA2, - 30428 - 11905: 0xB149, - 30429 - 11905: 0xB14A, - 30430 - 11905: 0xB14B, - 30431 - 11905: 0xC3CB, - 30432 - 11905: 0xB14C, - 30433 - 11905: 0xB14D, - 30434 - 11905: 0xB14E, - 30435 - 11905: 0xB14F, - 30436 - 11905: 0xB150, - 30437 - 11905: 0xEEC2, - 30438 - 11905: 0xB151, - 30439 - 11905: 0xB152, - 30440 - 11905: 0xB153, - 30441 - 11905: 0xB154, - 30442 - 11905: 0xB155, - 30443 - 11905: 0xB156, - 30444 - 11905: 0xB157, - 30445 - 11905: 0xB158, - 30446 - 11905: 0xC4BF, - 30447 - 11905: 0xB6A2, - 30448 - 11905: 0xB159, - 30449 - 11905: 0xEDEC, - 30450 - 11905: 0xC3A4, - 30451 - 11905: 0xB15A, - 30452 - 11905: 0xD6B1, - 30453 - 11905: 0xB15B, - 30454 - 11905: 0xB15C, - 30455 - 11905: 0xB15D, - 30456 - 11905: 0xCFE0, - 30457 - 11905: 0xEDEF, - 30458 - 11905: 0xB15E, - 30459 - 11905: 0xB15F, - 30460 - 11905: 0xC5CE, - 30461 - 11905: 0xB160, - 30462 - 11905: 0xB6DC, - 30463 - 11905: 0xB161, - 30464 - 11905: 0xB162, - 30465 - 11905: 0xCAA1, - 30466 - 11905: 0xB163, - 30467 - 11905: 0xB164, - 30468 - 11905: 0xEDED, - 30469 - 11905: 0xB165, - 30470 - 11905: 0xB166, - 30471 - 11905: 0xEDF0, - 30472 - 11905: 0xEDF1, - 30473 - 11905: 0xC3BC, - 30474 - 11905: 0xB167, - 30475 - 11905: 0xBFB4, - 30476 - 11905: 0xB168, - 30477 - 11905: 0xEDEE, - 30478 - 11905: 0xB169, - 30479 - 11905: 0xB16A, - 30480 - 11905: 0xB16B, - 30481 - 11905: 0xB16C, - 30482 - 11905: 0xB16D, - 30483 - 11905: 0xB16E, - 30484 - 11905: 0xB16F, - 30485 - 11905: 0xB170, - 30486 - 11905: 0xB171, - 30487 - 11905: 0xB172, - 30488 - 11905: 0xB173, - 30489 - 11905: 0xEDF4, - 30490 - 11905: 0xEDF2, - 30491 - 11905: 0xB174, - 30492 - 11905: 0xB175, - 30493 - 11905: 0xB176, - 30494 - 11905: 0xB177, - 30495 - 11905: 0xD5E6, - 30496 - 11905: 0xC3DF, - 30497 - 11905: 0xB178, - 30498 - 11905: 0xEDF3, - 30499 - 11905: 0xB179, - 30500 - 11905: 0xB17A, - 30501 - 11905: 0xB17B, - 30502 - 11905: 0xEDF6, - 30503 - 11905: 0xB17C, - 30504 - 11905: 0xD5A3, - 30505 - 11905: 0xD1A3, - 30506 - 11905: 0xB17D, - 30507 - 11905: 0xB17E, - 30508 - 11905: 0xB180, - 30509 - 11905: 0xEDF5, - 30510 - 11905: 0xB181, - 30511 - 11905: 0xC3D0, - 30512 - 11905: 0xB182, - 30513 - 11905: 0xB183, - 30514 - 11905: 0xB184, - 30515 - 11905: 0xB185, - 30516 - 11905: 0xB186, - 30517 - 11905: 0xEDF7, - 30518 - 11905: 0xBFF4, - 30519 - 11905: 0xBEEC, - 30520 - 11905: 0xEDF8, - 30521 - 11905: 0xB187, - 30522 - 11905: 0xCCF7, - 30523 - 11905: 0xB188, - 30524 - 11905: 0xD1DB, - 30525 - 11905: 0xB189, - 30526 - 11905: 0xB18A, - 30527 - 11905: 0xB18B, - 30528 - 11905: 0xD7C5, - 30529 - 11905: 0xD5F6, - 30530 - 11905: 0xB18C, - 30531 - 11905: 0xEDFC, - 30532 - 11905: 0xB18D, - 30533 - 11905: 0xB18E, - 30534 - 11905: 0xB18F, - 30535 - 11905: 0xEDFB, - 30536 - 11905: 0xB190, - 30537 - 11905: 0xB191, - 30538 - 11905: 0xB192, - 30539 - 11905: 0xB193, - 30540 - 11905: 0xB194, - 30541 - 11905: 0xB195, - 30542 - 11905: 0xB196, - 30543 - 11905: 0xB197, - 30544 - 11905: 0xEDF9, - 30545 - 11905: 0xEDFA, - 30546 - 11905: 0xB198, - 30547 - 11905: 0xB199, - 30548 - 11905: 0xB19A, - 30549 - 11905: 0xB19B, - 30550 - 11905: 0xB19C, - 30551 - 11905: 0xB19D, - 30552 - 11905: 0xB19E, - 30553 - 11905: 0xB19F, - 30554 - 11905: 0xEDFD, - 30555 - 11905: 0xBEA6, - 30556 - 11905: 0xB1A0, - 30557 - 11905: 0xB240, - 30558 - 11905: 0xB241, - 30559 - 11905: 0xB242, - 30560 - 11905: 0xB243, - 30561 - 11905: 0xCBAF, - 30562 - 11905: 0xEEA1, - 30563 - 11905: 0xB6BD, - 30564 - 11905: 0xB244, - 30565 - 11905: 0xEEA2, - 30566 - 11905: 0xC4C0, - 30567 - 11905: 0xB245, - 30568 - 11905: 0xEDFE, - 30569 - 11905: 0xB246, - 30570 - 11905: 0xB247, - 30571 - 11905: 0xBDDE, - 30572 - 11905: 0xB2C7, - 30573 - 11905: 0xB248, - 30574 - 11905: 0xB249, - 30575 - 11905: 0xB24A, - 30576 - 11905: 0xB24B, - 30577 - 11905: 0xB24C, - 30578 - 11905: 0xB24D, - 30579 - 11905: 0xB24E, - 30580 - 11905: 0xB24F, - 30581 - 11905: 0xB250, - 30582 - 11905: 0xB251, - 30583 - 11905: 0xB252, - 30584 - 11905: 0xB253, - 30585 - 11905: 0xB6C3, - 30586 - 11905: 0xB254, - 30587 - 11905: 0xB255, - 30588 - 11905: 0xB256, - 30589 - 11905: 0xEEA5, - 30590 - 11905: 0xD8BA, - 30591 - 11905: 0xEEA3, - 30592 - 11905: 0xEEA6, - 30593 - 11905: 0xB257, - 30594 - 11905: 0xB258, - 30595 - 11905: 0xB259, - 30596 - 11905: 0xC3E9, - 30597 - 11905: 0xB3F2, - 30598 - 11905: 0xB25A, - 30599 - 11905: 0xB25B, - 30600 - 11905: 0xB25C, - 30601 - 11905: 0xB25D, - 30602 - 11905: 0xB25E, - 30603 - 11905: 0xB25F, - 30604 - 11905: 0xEEA7, - 30605 - 11905: 0xEEA4, - 30606 - 11905: 0xCFB9, - 30607 - 11905: 0xB260, - 30608 - 11905: 0xB261, - 30609 - 11905: 0xEEA8, - 30610 - 11905: 0xC2F7, - 30611 - 11905: 0xB262, - 30612 - 11905: 0xB263, - 30613 - 11905: 0xB264, - 30614 - 11905: 0xB265, - 30615 - 11905: 0xB266, - 30616 - 11905: 0xB267, - 30617 - 11905: 0xB268, - 30618 - 11905: 0xB269, - 30619 - 11905: 0xB26A, - 30620 - 11905: 0xB26B, - 30621 - 11905: 0xB26C, - 30622 - 11905: 0xB26D, - 30623 - 11905: 0xEEA9, - 30624 - 11905: 0xEEAA, - 30625 - 11905: 0xB26E, - 30626 - 11905: 0xDEAB, - 30627 - 11905: 0xB26F, - 30628 - 11905: 0xB270, - 30629 - 11905: 0xC6B3, - 30630 - 11905: 0xB271, - 30631 - 11905: 0xC7C6, - 30632 - 11905: 0xB272, - 30633 - 11905: 0xD6F5, - 30634 - 11905: 0xB5C9, - 30635 - 11905: 0xB273, - 30636 - 11905: 0xCBB2, - 30637 - 11905: 0xB274, - 30638 - 11905: 0xB275, - 30639 - 11905: 0xB276, - 30640 - 11905: 0xEEAB, - 30641 - 11905: 0xB277, - 30642 - 11905: 0xB278, - 30643 - 11905: 0xCDAB, - 30644 - 11905: 0xB279, - 30645 - 11905: 0xEEAC, - 30646 - 11905: 0xB27A, - 30647 - 11905: 0xB27B, - 30648 - 11905: 0xB27C, - 30649 - 11905: 0xB27D, - 30650 - 11905: 0xB27E, - 30651 - 11905: 0xD5B0, - 30652 - 11905: 0xB280, - 30653 - 11905: 0xEEAD, - 30654 - 11905: 0xB281, - 30655 - 11905: 0xF6C4, - 30656 - 11905: 0xB282, - 30657 - 11905: 0xB283, - 30658 - 11905: 0xB284, - 30659 - 11905: 0xB285, - 30660 - 11905: 0xB286, - 30661 - 11905: 0xB287, - 30662 - 11905: 0xB288, - 30663 - 11905: 0xB289, - 30664 - 11905: 0xB28A, - 30665 - 11905: 0xB28B, - 30666 - 11905: 0xB28C, - 30667 - 11905: 0xB28D, - 30668 - 11905: 0xB28E, - 30669 - 11905: 0xDBC7, - 30670 - 11905: 0xB28F, - 30671 - 11905: 0xB290, - 30672 - 11905: 0xB291, - 30673 - 11905: 0xB292, - 30674 - 11905: 0xB293, - 30675 - 11905: 0xB294, - 30676 - 11905: 0xB295, - 30677 - 11905: 0xB296, - 30678 - 11905: 0xB297, - 30679 - 11905: 0xB4A3, - 30680 - 11905: 0xB298, - 30681 - 11905: 0xB299, - 30682 - 11905: 0xB29A, - 30683 - 11905: 0xC3AC, - 30684 - 11905: 0xF1E6, - 30685 - 11905: 0xB29B, - 30686 - 11905: 0xB29C, - 30687 - 11905: 0xB29D, - 30688 - 11905: 0xB29E, - 30689 - 11905: 0xB29F, - 30690 - 11905: 0xCAB8, - 30691 - 11905: 0xD2D3, - 30692 - 11905: 0xB2A0, - 30693 - 11905: 0xD6AA, - 30694 - 11905: 0xB340, - 30695 - 11905: 0xEFF2, - 30696 - 11905: 0xB341, - 30697 - 11905: 0xBED8, - 30698 - 11905: 0xB342, - 30699 - 11905: 0xBDC3, - 30700 - 11905: 0xEFF3, - 30701 - 11905: 0xB6CC, - 30702 - 11905: 0xB0AB, - 30703 - 11905: 0xB343, - 30704 - 11905: 0xB344, - 30705 - 11905: 0xB345, - 30706 - 11905: 0xB346, - 30707 - 11905: 0xCAAF, - 30708 - 11905: 0xB347, - 30709 - 11905: 0xB348, - 30710 - 11905: 0xEDB6, - 30711 - 11905: 0xB349, - 30712 - 11905: 0xEDB7, - 30713 - 11905: 0xB34A, - 30714 - 11905: 0xB34B, - 30715 - 11905: 0xB34C, - 30716 - 11905: 0xB34D, - 30717 - 11905: 0xCEF9, - 30718 - 11905: 0xB7AF, - 30719 - 11905: 0xBFF3, - 30720 - 11905: 0xEDB8, - 30721 - 11905: 0xC2EB, - 30722 - 11905: 0xC9B0, - 30723 - 11905: 0xB34E, - 30724 - 11905: 0xB34F, - 30725 - 11905: 0xB350, - 30726 - 11905: 0xB351, - 30727 - 11905: 0xB352, - 30728 - 11905: 0xB353, - 30729 - 11905: 0xEDB9, - 30730 - 11905: 0xB354, - 30731 - 11905: 0xB355, - 30732 - 11905: 0xC6F6, - 30733 - 11905: 0xBFB3, - 30734 - 11905: 0xB356, - 30735 - 11905: 0xB357, - 30736 - 11905: 0xB358, - 30737 - 11905: 0xEDBC, - 30738 - 11905: 0xC5F8, - 30739 - 11905: 0xB359, - 30740 - 11905: 0xD1D0, - 30741 - 11905: 0xB35A, - 30742 - 11905: 0xD7A9, - 30743 - 11905: 0xEDBA, - 30744 - 11905: 0xEDBB, - 30745 - 11905: 0xB35B, - 30746 - 11905: 0xD1E2, - 30747 - 11905: 0xB35C, - 30748 - 11905: 0xEDBF, - 30749 - 11905: 0xEDC0, - 30750 - 11905: 0xB35D, - 30751 - 11905: 0xEDC4, - 30752 - 11905: 0xB35E, - 30753 - 11905: 0xB35F, - 30754 - 11905: 0xB360, - 30755 - 11905: 0xEDC8, - 30756 - 11905: 0xB361, - 30757 - 11905: 0xEDC6, - 30758 - 11905: 0xEDCE, - 30759 - 11905: 0xD5E8, - 30760 - 11905: 0xB362, - 30761 - 11905: 0xEDC9, - 30762 - 11905: 0xB363, - 30763 - 11905: 0xB364, - 30764 - 11905: 0xEDC7, - 30765 - 11905: 0xEDBE, - 30766 - 11905: 0xB365, - 30767 - 11905: 0xB366, - 30768 - 11905: 0xC5E9, - 30769 - 11905: 0xB367, - 30770 - 11905: 0xB368, - 30771 - 11905: 0xB369, - 30772 - 11905: 0xC6C6, - 30773 - 11905: 0xB36A, - 30774 - 11905: 0xB36B, - 30775 - 11905: 0xC9E9, - 30776 - 11905: 0xD4D2, - 30777 - 11905: 0xEDC1, - 30778 - 11905: 0xEDC2, - 30779 - 11905: 0xEDC3, - 30780 - 11905: 0xEDC5, - 30781 - 11905: 0xB36C, - 30782 - 11905: 0xC0F9, - 30783 - 11905: 0xB36D, - 30784 - 11905: 0xB4A1, - 30785 - 11905: 0xB36E, - 30786 - 11905: 0xB36F, - 30787 - 11905: 0xB370, - 30788 - 11905: 0xB371, - 30789 - 11905: 0xB9E8, - 30790 - 11905: 0xB372, - 30791 - 11905: 0xEDD0, - 30792 - 11905: 0xB373, - 30793 - 11905: 0xB374, - 30794 - 11905: 0xB375, - 30795 - 11905: 0xB376, - 30796 - 11905: 0xEDD1, - 30797 - 11905: 0xB377, - 30798 - 11905: 0xEDCA, - 30799 - 11905: 0xB378, - 30800 - 11905: 0xEDCF, - 30801 - 11905: 0xB379, - 30802 - 11905: 0xCEF8, - 30803 - 11905: 0xB37A, - 30804 - 11905: 0xB37B, - 30805 - 11905: 0xCBB6, - 30806 - 11905: 0xEDCC, - 30807 - 11905: 0xEDCD, - 30808 - 11905: 0xB37C, - 30809 - 11905: 0xB37D, - 30810 - 11905: 0xB37E, - 30811 - 11905: 0xB380, - 30812 - 11905: 0xB381, - 30813 - 11905: 0xCFF5, - 30814 - 11905: 0xB382, - 30815 - 11905: 0xB383, - 30816 - 11905: 0xB384, - 30817 - 11905: 0xB385, - 30818 - 11905: 0xB386, - 30819 - 11905: 0xB387, - 30820 - 11905: 0xB388, - 30821 - 11905: 0xB389, - 30822 - 11905: 0xB38A, - 30823 - 11905: 0xB38B, - 30824 - 11905: 0xB38C, - 30825 - 11905: 0xB38D, - 30826 - 11905: 0xEDD2, - 30827 - 11905: 0xC1F2, - 30828 - 11905: 0xD3B2, - 30829 - 11905: 0xEDCB, - 30830 - 11905: 0xC8B7, - 30831 - 11905: 0xB38E, - 30832 - 11905: 0xB38F, - 30833 - 11905: 0xB390, - 30834 - 11905: 0xB391, - 30835 - 11905: 0xB392, - 30836 - 11905: 0xB393, - 30837 - 11905: 0xB394, - 30838 - 11905: 0xB395, - 30839 - 11905: 0xBCEF, - 30840 - 11905: 0xB396, - 30841 - 11905: 0xB397, - 30842 - 11905: 0xB398, - 30843 - 11905: 0xB399, - 30844 - 11905: 0xC5F0, - 30845 - 11905: 0xB39A, - 30846 - 11905: 0xB39B, - 30847 - 11905: 0xB39C, - 30848 - 11905: 0xB39D, - 30849 - 11905: 0xB39E, - 30850 - 11905: 0xB39F, - 30851 - 11905: 0xB3A0, - 30852 - 11905: 0xB440, - 30853 - 11905: 0xB441, - 30854 - 11905: 0xB442, - 30855 - 11905: 0xEDD6, - 30856 - 11905: 0xB443, - 30857 - 11905: 0xB5EF, - 30858 - 11905: 0xB444, - 30859 - 11905: 0xB445, - 30860 - 11905: 0xC2B5, - 30861 - 11905: 0xB0AD, - 30862 - 11905: 0xCBE9, - 30863 - 11905: 0xB446, - 30864 - 11905: 0xB447, - 30865 - 11905: 0xB1AE, - 30866 - 11905: 0xB448, - 30867 - 11905: 0xEDD4, - 30868 - 11905: 0xB449, - 30869 - 11905: 0xB44A, - 30870 - 11905: 0xB44B, - 30871 - 11905: 0xCDEB, - 30872 - 11905: 0xB5E2, - 30873 - 11905: 0xB44C, - 30874 - 11905: 0xEDD5, - 30875 - 11905: 0xEDD3, - 30876 - 11905: 0xEDD7, - 30877 - 11905: 0xB44D, - 30878 - 11905: 0xB44E, - 30879 - 11905: 0xB5FA, - 30880 - 11905: 0xB44F, - 30881 - 11905: 0xEDD8, - 30882 - 11905: 0xB450, - 30883 - 11905: 0xEDD9, - 30884 - 11905: 0xB451, - 30885 - 11905: 0xEDDC, - 30886 - 11905: 0xB452, - 30887 - 11905: 0xB1CC, - 30888 - 11905: 0xB453, - 30889 - 11905: 0xB454, - 30890 - 11905: 0xB455, - 30891 - 11905: 0xB456, - 30892 - 11905: 0xB457, - 30893 - 11905: 0xB458, - 30894 - 11905: 0xB459, - 30895 - 11905: 0xB45A, - 30896 - 11905: 0xC5F6, - 30897 - 11905: 0xBCEE, - 30898 - 11905: 0xEDDA, - 30899 - 11905: 0xCCBC, - 30900 - 11905: 0xB2EA, - 30901 - 11905: 0xB45B, - 30902 - 11905: 0xB45C, - 30903 - 11905: 0xB45D, - 30904 - 11905: 0xB45E, - 30905 - 11905: 0xEDDB, - 30906 - 11905: 0xB45F, - 30907 - 11905: 0xB460, - 30908 - 11905: 0xB461, - 30909 - 11905: 0xB462, - 30910 - 11905: 0xC4EB, - 30911 - 11905: 0xB463, - 30912 - 11905: 0xB464, - 30913 - 11905: 0xB4C5, - 30914 - 11905: 0xB465, - 30915 - 11905: 0xB466, - 30916 - 11905: 0xB467, - 30917 - 11905: 0xB0F5, - 30918 - 11905: 0xB468, - 30919 - 11905: 0xB469, - 30920 - 11905: 0xB46A, - 30921 - 11905: 0xEDDF, - 30922 - 11905: 0xC0DA, - 30923 - 11905: 0xB4E8, - 30924 - 11905: 0xB46B, - 30925 - 11905: 0xB46C, - 30926 - 11905: 0xB46D, - 30927 - 11905: 0xB46E, - 30928 - 11905: 0xC5CD, - 30929 - 11905: 0xB46F, - 30930 - 11905: 0xB470, - 30931 - 11905: 0xB471, - 30932 - 11905: 0xEDDD, - 30933 - 11905: 0xBFC4, - 30934 - 11905: 0xB472, - 30935 - 11905: 0xB473, - 30936 - 11905: 0xB474, - 30937 - 11905: 0xEDDE, - 30938 - 11905: 0xB475, - 30939 - 11905: 0xB476, - 30940 - 11905: 0xB477, - 30941 - 11905: 0xB478, - 30942 - 11905: 0xB479, - 30943 - 11905: 0xB47A, - 30944 - 11905: 0xB47B, - 30945 - 11905: 0xB47C, - 30946 - 11905: 0xB47D, - 30947 - 11905: 0xB47E, - 30948 - 11905: 0xB480, - 30949 - 11905: 0xB481, - 30950 - 11905: 0xB482, - 30951 - 11905: 0xB483, - 30952 - 11905: 0xC4A5, - 30953 - 11905: 0xB484, - 30954 - 11905: 0xB485, - 30955 - 11905: 0xB486, - 30956 - 11905: 0xEDE0, - 30957 - 11905: 0xB487, - 30958 - 11905: 0xB488, - 30959 - 11905: 0xB489, - 30960 - 11905: 0xB48A, - 30961 - 11905: 0xB48B, - 30962 - 11905: 0xEDE1, - 30963 - 11905: 0xB48C, - 30964 - 11905: 0xEDE3, - 30965 - 11905: 0xB48D, - 30966 - 11905: 0xB48E, - 30967 - 11905: 0xC1D7, - 30968 - 11905: 0xB48F, - 30969 - 11905: 0xB490, - 30970 - 11905: 0xBBC7, - 30971 - 11905: 0xB491, - 30972 - 11905: 0xB492, - 30973 - 11905: 0xB493, - 30974 - 11905: 0xB494, - 30975 - 11905: 0xB495, - 30976 - 11905: 0xB496, - 30977 - 11905: 0xBDB8, - 30978 - 11905: 0xB497, - 30979 - 11905: 0xB498, - 30980 - 11905: 0xB499, - 30981 - 11905: 0xEDE2, - 30982 - 11905: 0xB49A, - 30983 - 11905: 0xB49B, - 30984 - 11905: 0xB49C, - 30985 - 11905: 0xB49D, - 30986 - 11905: 0xB49E, - 30987 - 11905: 0xB49F, - 30988 - 11905: 0xB4A0, - 30989 - 11905: 0xB540, - 30990 - 11905: 0xB541, - 30991 - 11905: 0xB542, - 30992 - 11905: 0xB543, - 30993 - 11905: 0xB544, - 30994 - 11905: 0xB545, - 30995 - 11905: 0xEDE4, - 30996 - 11905: 0xB546, - 30997 - 11905: 0xB547, - 30998 - 11905: 0xB548, - 30999 - 11905: 0xB549, - 31000 - 11905: 0xB54A, - 31001 - 11905: 0xB54B, - 31002 - 11905: 0xB54C, - 31003 - 11905: 0xB54D, - 31004 - 11905: 0xB54E, - 31005 - 11905: 0xB54F, - 31006 - 11905: 0xEDE6, - 31007 - 11905: 0xB550, - 31008 - 11905: 0xB551, - 31009 - 11905: 0xB552, - 31010 - 11905: 0xB553, - 31011 - 11905: 0xB554, - 31012 - 11905: 0xEDE5, - 31013 - 11905: 0xB555, - 31014 - 11905: 0xB556, - 31015 - 11905: 0xB557, - 31016 - 11905: 0xB558, - 31017 - 11905: 0xB559, - 31018 - 11905: 0xB55A, - 31019 - 11905: 0xB55B, - 31020 - 11905: 0xB55C, - 31021 - 11905: 0xB55D, - 31022 - 11905: 0xB55E, - 31023 - 11905: 0xB55F, - 31024 - 11905: 0xB560, - 31025 - 11905: 0xB561, - 31026 - 11905: 0xB562, - 31027 - 11905: 0xB563, - 31028 - 11905: 0xEDE7, - 31029 - 11905: 0xB564, - 31030 - 11905: 0xB565, - 31031 - 11905: 0xB566, - 31032 - 11905: 0xB567, - 31033 - 11905: 0xB568, - 31034 - 11905: 0xCABE, - 31035 - 11905: 0xECEA, - 31036 - 11905: 0xC0F1, - 31037 - 11905: 0xB569, - 31038 - 11905: 0xC9E7, - 31039 - 11905: 0xB56A, - 31040 - 11905: 0xECEB, - 31041 - 11905: 0xC6EE, - 31042 - 11905: 0xB56B, - 31043 - 11905: 0xB56C, - 31044 - 11905: 0xB56D, - 31045 - 11905: 0xB56E, - 31046 - 11905: 0xECEC, - 31047 - 11905: 0xB56F, - 31048 - 11905: 0xC6ED, - 31049 - 11905: 0xECED, - 31050 - 11905: 0xB570, - 31051 - 11905: 0xB571, - 31052 - 11905: 0xB572, - 31053 - 11905: 0xB573, - 31054 - 11905: 0xB574, - 31055 - 11905: 0xB575, - 31056 - 11905: 0xB576, - 31057 - 11905: 0xB577, - 31058 - 11905: 0xB578, - 31059 - 11905: 0xECF0, - 31060 - 11905: 0xB579, - 31061 - 11905: 0xB57A, - 31062 - 11905: 0xD7E6, - 31063 - 11905: 0xECF3, - 31064 - 11905: 0xB57B, - 31065 - 11905: 0xB57C, - 31066 - 11905: 0xECF1, - 31067 - 11905: 0xECEE, - 31068 - 11905: 0xECEF, - 31069 - 11905: 0xD7A3, - 31070 - 11905: 0xC9F1, - 31071 - 11905: 0xCBEE, - 31072 - 11905: 0xECF4, - 31073 - 11905: 0xB57D, - 31074 - 11905: 0xECF2, - 31075 - 11905: 0xB57E, - 31076 - 11905: 0xB580, - 31077 - 11905: 0xCFE9, - 31078 - 11905: 0xB581, - 31079 - 11905: 0xECF6, - 31080 - 11905: 0xC6B1, - 31081 - 11905: 0xB582, - 31082 - 11905: 0xB583, - 31083 - 11905: 0xB584, - 31084 - 11905: 0xB585, - 31085 - 11905: 0xBCC0, - 31086 - 11905: 0xB586, - 31087 - 11905: 0xECF5, - 31088 - 11905: 0xB587, - 31089 - 11905: 0xB588, - 31090 - 11905: 0xB589, - 31091 - 11905: 0xB58A, - 31092 - 11905: 0xB58B, - 31093 - 11905: 0xB58C, - 31094 - 11905: 0xB58D, - 31095 - 11905: 0xB5BB, - 31096 - 11905: 0xBBF6, - 31097 - 11905: 0xB58E, - 31098 - 11905: 0xECF7, - 31099 - 11905: 0xB58F, - 31100 - 11905: 0xB590, - 31101 - 11905: 0xB591, - 31102 - 11905: 0xB592, - 31103 - 11905: 0xB593, - 31104 - 11905: 0xD9F7, - 31105 - 11905: 0xBDFB, - 31106 - 11905: 0xB594, - 31107 - 11905: 0xB595, - 31108 - 11905: 0xC2BB, - 31109 - 11905: 0xECF8, - 31110 - 11905: 0xB596, - 31111 - 11905: 0xB597, - 31112 - 11905: 0xB598, - 31113 - 11905: 0xB599, - 31114 - 11905: 0xECF9, - 31115 - 11905: 0xB59A, - 31116 - 11905: 0xB59B, - 31117 - 11905: 0xB59C, - 31118 - 11905: 0xB59D, - 31119 - 11905: 0xB8A3, - 31120 - 11905: 0xB59E, - 31121 - 11905: 0xB59F, - 31122 - 11905: 0xB5A0, - 31123 - 11905: 0xB640, - 31124 - 11905: 0xB641, - 31125 - 11905: 0xB642, - 31126 - 11905: 0xB643, - 31127 - 11905: 0xB644, - 31128 - 11905: 0xB645, - 31129 - 11905: 0xB646, - 31130 - 11905: 0xECFA, - 31131 - 11905: 0xB647, - 31132 - 11905: 0xB648, - 31133 - 11905: 0xB649, - 31134 - 11905: 0xB64A, - 31135 - 11905: 0xB64B, - 31136 - 11905: 0xB64C, - 31137 - 11905: 0xB64D, - 31138 - 11905: 0xB64E, - 31139 - 11905: 0xB64F, - 31140 - 11905: 0xB650, - 31141 - 11905: 0xB651, - 31142 - 11905: 0xB652, - 31143 - 11905: 0xECFB, - 31144 - 11905: 0xB653, - 31145 - 11905: 0xB654, - 31146 - 11905: 0xB655, - 31147 - 11905: 0xB656, - 31148 - 11905: 0xB657, - 31149 - 11905: 0xB658, - 31150 - 11905: 0xB659, - 31151 - 11905: 0xB65A, - 31152 - 11905: 0xB65B, - 31153 - 11905: 0xB65C, - 31154 - 11905: 0xB65D, - 31155 - 11905: 0xECFC, - 31156 - 11905: 0xB65E, - 31157 - 11905: 0xB65F, - 31158 - 11905: 0xB660, - 31159 - 11905: 0xB661, - 31160 - 11905: 0xB662, - 31161 - 11905: 0xD3ED, - 31162 - 11905: 0xD8AE, - 31163 - 11905: 0xC0EB, - 31164 - 11905: 0xB663, - 31165 - 11905: 0xC7DD, - 31166 - 11905: 0xBACC, - 31167 - 11905: 0xB664, - 31168 - 11905: 0xD0E3, - 31169 - 11905: 0xCBBD, - 31170 - 11905: 0xB665, - 31171 - 11905: 0xCDBA, - 31172 - 11905: 0xB666, - 31173 - 11905: 0xB667, - 31174 - 11905: 0xB8D1, - 31175 - 11905: 0xB668, - 31176 - 11905: 0xB669, - 31177 - 11905: 0xB1FC, - 31178 - 11905: 0xB66A, - 31179 - 11905: 0xC7EF, - 31180 - 11905: 0xB66B, - 31181 - 11905: 0xD6D6, - 31182 - 11905: 0xB66C, - 31183 - 11905: 0xB66D, - 31184 - 11905: 0xB66E, - 31185 - 11905: 0xBFC6, - 31186 - 11905: 0xC3EB, - 31187 - 11905: 0xB66F, - 31188 - 11905: 0xB670, - 31189 - 11905: 0xEFF5, - 31190 - 11905: 0xB671, - 31191 - 11905: 0xB672, - 31192 - 11905: 0xC3D8, - 31193 - 11905: 0xB673, - 31194 - 11905: 0xB674, - 31195 - 11905: 0xB675, - 31196 - 11905: 0xB676, - 31197 - 11905: 0xB677, - 31198 - 11905: 0xB678, - 31199 - 11905: 0xD7E2, - 31200 - 11905: 0xB679, - 31201 - 11905: 0xB67A, - 31202 - 11905: 0xB67B, - 31203 - 11905: 0xEFF7, - 31204 - 11905: 0xB3D3, - 31205 - 11905: 0xB67C, - 31206 - 11905: 0xC7D8, - 31207 - 11905: 0xD1ED, - 31208 - 11905: 0xB67D, - 31209 - 11905: 0xD6C8, - 31210 - 11905: 0xB67E, - 31211 - 11905: 0xEFF8, - 31212 - 11905: 0xB680, - 31213 - 11905: 0xEFF6, - 31214 - 11905: 0xB681, - 31215 - 11905: 0xBBFD, - 31216 - 11905: 0xB3C6, - 31217 - 11905: 0xB682, - 31218 - 11905: 0xB683, - 31219 - 11905: 0xB684, - 31220 - 11905: 0xB685, - 31221 - 11905: 0xB686, - 31222 - 11905: 0xB687, - 31223 - 11905: 0xB688, - 31224 - 11905: 0xBDD5, - 31225 - 11905: 0xB689, - 31226 - 11905: 0xB68A, - 31227 - 11905: 0xD2C6, - 31228 - 11905: 0xB68B, - 31229 - 11905: 0xBBE0, - 31230 - 11905: 0xB68C, - 31231 - 11905: 0xB68D, - 31232 - 11905: 0xCFA1, - 31233 - 11905: 0xB68E, - 31234 - 11905: 0xEFFC, - 31235 - 11905: 0xEFFB, - 31236 - 11905: 0xB68F, - 31237 - 11905: 0xB690, - 31238 - 11905: 0xEFF9, - 31239 - 11905: 0xB691, - 31240 - 11905: 0xB692, - 31241 - 11905: 0xB693, - 31242 - 11905: 0xB694, - 31243 - 11905: 0xB3CC, - 31244 - 11905: 0xB695, - 31245 - 11905: 0xC9D4, - 31246 - 11905: 0xCBB0, - 31247 - 11905: 0xB696, - 31248 - 11905: 0xB697, - 31249 - 11905: 0xB698, - 31250 - 11905: 0xB699, - 31251 - 11905: 0xB69A, - 31252 - 11905: 0xEFFE, - 31253 - 11905: 0xB69B, - 31254 - 11905: 0xB69C, - 31255 - 11905: 0xB0DE, - 31256 - 11905: 0xB69D, - 31257 - 11905: 0xB69E, - 31258 - 11905: 0xD6C9, - 31259 - 11905: 0xB69F, - 31260 - 11905: 0xB6A0, - 31261 - 11905: 0xB740, - 31262 - 11905: 0xEFFD, - 31263 - 11905: 0xB741, - 31264 - 11905: 0xB3ED, - 31265 - 11905: 0xB742, - 31266 - 11905: 0xB743, - 31267 - 11905: 0xF6D5, - 31268 - 11905: 0xB744, - 31269 - 11905: 0xB745, - 31270 - 11905: 0xB746, - 31271 - 11905: 0xB747, - 31272 - 11905: 0xB748, - 31273 - 11905: 0xB749, - 31274 - 11905: 0xB74A, - 31275 - 11905: 0xB74B, - 31276 - 11905: 0xB74C, - 31277 - 11905: 0xB74D, - 31278 - 11905: 0xB74E, - 31279 - 11905: 0xB74F, - 31280 - 11905: 0xB750, - 31281 - 11905: 0xB751, - 31282 - 11905: 0xB752, - 31283 - 11905: 0xCEC8, - 31284 - 11905: 0xB753, - 31285 - 11905: 0xB754, - 31286 - 11905: 0xB755, - 31287 - 11905: 0xF0A2, - 31288 - 11905: 0xB756, - 31289 - 11905: 0xF0A1, - 31290 - 11905: 0xB757, - 31291 - 11905: 0xB5BE, - 31292 - 11905: 0xBCDA, - 31293 - 11905: 0xBBFC, - 31294 - 11905: 0xB758, - 31295 - 11905: 0xB8E5, - 31296 - 11905: 0xB759, - 31297 - 11905: 0xB75A, - 31298 - 11905: 0xB75B, - 31299 - 11905: 0xB75C, - 31300 - 11905: 0xB75D, - 31301 - 11905: 0xB75E, - 31302 - 11905: 0xC4C2, - 31303 - 11905: 0xB75F, - 31304 - 11905: 0xB760, - 31305 - 11905: 0xB761, - 31306 - 11905: 0xB762, - 31307 - 11905: 0xB763, - 31308 - 11905: 0xB764, - 31309 - 11905: 0xB765, - 31310 - 11905: 0xB766, - 31311 - 11905: 0xB767, - 31312 - 11905: 0xB768, - 31313 - 11905: 0xF0A3, - 31314 - 11905: 0xB769, - 31315 - 11905: 0xB76A, - 31316 - 11905: 0xB76B, - 31317 - 11905: 0xB76C, - 31318 - 11905: 0xB76D, - 31319 - 11905: 0xCBEB, - 31320 - 11905: 0xB76E, - 31321 - 11905: 0xB76F, - 31322 - 11905: 0xB770, - 31323 - 11905: 0xB771, - 31324 - 11905: 0xB772, - 31325 - 11905: 0xB773, - 31326 - 11905: 0xB774, - 31327 - 11905: 0xB775, - 31328 - 11905: 0xB776, - 31329 - 11905: 0xB777, - 31330 - 11905: 0xB778, - 31331 - 11905: 0xB779, - 31332 - 11905: 0xB77A, - 31333 - 11905: 0xB77B, - 31334 - 11905: 0xB77C, - 31335 - 11905: 0xB77D, - 31336 - 11905: 0xB77E, - 31337 - 11905: 0xB780, - 31338 - 11905: 0xB781, - 31339 - 11905: 0xB782, - 31340 - 11905: 0xB783, - 31341 - 11905: 0xB784, - 31342 - 11905: 0xB785, - 31343 - 11905: 0xB786, - 31344 - 11905: 0xF0A6, - 31345 - 11905: 0xB787, - 31346 - 11905: 0xB788, - 31347 - 11905: 0xB789, - 31348 - 11905: 0xD1A8, - 31349 - 11905: 0xB78A, - 31350 - 11905: 0xBEBF, - 31351 - 11905: 0xC7EE, - 31352 - 11905: 0xF1B6, - 31353 - 11905: 0xF1B7, - 31354 - 11905: 0xBFD5, - 31355 - 11905: 0xB78B, - 31356 - 11905: 0xB78C, - 31357 - 11905: 0xB78D, - 31358 - 11905: 0xB78E, - 31359 - 11905: 0xB4A9, - 31360 - 11905: 0xF1B8, - 31361 - 11905: 0xCDBB, - 31362 - 11905: 0xB78F, - 31363 - 11905: 0xC7D4, - 31364 - 11905: 0xD5AD, - 31365 - 11905: 0xB790, - 31366 - 11905: 0xF1B9, - 31367 - 11905: 0xB791, - 31368 - 11905: 0xF1BA, - 31369 - 11905: 0xB792, - 31370 - 11905: 0xB793, - 31371 - 11905: 0xB794, - 31372 - 11905: 0xB795, - 31373 - 11905: 0xC7CF, - 31374 - 11905: 0xB796, - 31375 - 11905: 0xB797, - 31376 - 11905: 0xB798, - 31377 - 11905: 0xD2A4, - 31378 - 11905: 0xD6CF, - 31379 - 11905: 0xB799, - 31380 - 11905: 0xB79A, - 31381 - 11905: 0xF1BB, - 31382 - 11905: 0xBDD1, - 31383 - 11905: 0xB4B0, - 31384 - 11905: 0xBEBD, - 31385 - 11905: 0xB79B, - 31386 - 11905: 0xB79C, - 31387 - 11905: 0xB79D, - 31388 - 11905: 0xB4DC, - 31389 - 11905: 0xCED1, - 31390 - 11905: 0xB79E, - 31391 - 11905: 0xBFDF, - 31392 - 11905: 0xF1BD, - 31393 - 11905: 0xB79F, - 31394 - 11905: 0xB7A0, - 31395 - 11905: 0xB840, - 31396 - 11905: 0xB841, - 31397 - 11905: 0xBFFA, - 31398 - 11905: 0xF1BC, - 31399 - 11905: 0xB842, - 31400 - 11905: 0xF1BF, - 31401 - 11905: 0xB843, - 31402 - 11905: 0xB844, - 31403 - 11905: 0xB845, - 31404 - 11905: 0xF1BE, - 31405 - 11905: 0xF1C0, - 31406 - 11905: 0xB846, - 31407 - 11905: 0xB847, - 31408 - 11905: 0xB848, - 31409 - 11905: 0xB849, - 31410 - 11905: 0xB84A, - 31411 - 11905: 0xF1C1, - 31412 - 11905: 0xB84B, - 31413 - 11905: 0xB84C, - 31414 - 11905: 0xB84D, - 31415 - 11905: 0xB84E, - 31416 - 11905: 0xB84F, - 31417 - 11905: 0xB850, - 31418 - 11905: 0xB851, - 31419 - 11905: 0xB852, - 31420 - 11905: 0xB853, - 31421 - 11905: 0xB854, - 31422 - 11905: 0xB855, - 31423 - 11905: 0xC1FE, - 31424 - 11905: 0xB856, - 31425 - 11905: 0xB857, - 31426 - 11905: 0xB858, - 31427 - 11905: 0xB859, - 31428 - 11905: 0xB85A, - 31429 - 11905: 0xB85B, - 31430 - 11905: 0xB85C, - 31431 - 11905: 0xB85D, - 31432 - 11905: 0xB85E, - 31433 - 11905: 0xB85F, - 31434 - 11905: 0xB860, - 31435 - 11905: 0xC1A2, - 31436 - 11905: 0xB861, - 31437 - 11905: 0xB862, - 31438 - 11905: 0xB863, - 31439 - 11905: 0xB864, - 31440 - 11905: 0xB865, - 31441 - 11905: 0xB866, - 31442 - 11905: 0xB867, - 31443 - 11905: 0xB868, - 31444 - 11905: 0xB869, - 31445 - 11905: 0xB86A, - 31446 - 11905: 0xCAFA, - 31447 - 11905: 0xB86B, - 31448 - 11905: 0xB86C, - 31449 - 11905: 0xD5BE, - 31450 - 11905: 0xB86D, - 31451 - 11905: 0xB86E, - 31452 - 11905: 0xB86F, - 31453 - 11905: 0xB870, - 31454 - 11905: 0xBEBA, - 31455 - 11905: 0xBEB9, - 31456 - 11905: 0xD5C2, - 31457 - 11905: 0xB871, - 31458 - 11905: 0xB872, - 31459 - 11905: 0xBFA2, - 31460 - 11905: 0xB873, - 31461 - 11905: 0xCDAF, - 31462 - 11905: 0xF1B5, - 31463 - 11905: 0xB874, - 31464 - 11905: 0xB875, - 31465 - 11905: 0xB876, - 31466 - 11905: 0xB877, - 31467 - 11905: 0xB878, - 31468 - 11905: 0xB879, - 31469 - 11905: 0xBDDF, - 31470 - 11905: 0xB87A, - 31471 - 11905: 0xB6CB, - 31472 - 11905: 0xB87B, - 31473 - 11905: 0xB87C, - 31474 - 11905: 0xB87D, - 31475 - 11905: 0xB87E, - 31476 - 11905: 0xB880, - 31477 - 11905: 0xB881, - 31478 - 11905: 0xB882, - 31479 - 11905: 0xB883, - 31480 - 11905: 0xB884, - 31481 - 11905: 0xD6F1, - 31482 - 11905: 0xF3C3, - 31483 - 11905: 0xB885, - 31484 - 11905: 0xB886, - 31485 - 11905: 0xF3C4, - 31486 - 11905: 0xB887, - 31487 - 11905: 0xB8CD, - 31488 - 11905: 0xB888, - 31489 - 11905: 0xB889, - 31490 - 11905: 0xB88A, - 31491 - 11905: 0xF3C6, - 31492 - 11905: 0xF3C7, - 31493 - 11905: 0xB88B, - 31494 - 11905: 0xB0CA, - 31495 - 11905: 0xB88C, - 31496 - 11905: 0xF3C5, - 31497 - 11905: 0xB88D, - 31498 - 11905: 0xF3C9, - 31499 - 11905: 0xCBF1, - 31500 - 11905: 0xB88E, - 31501 - 11905: 0xB88F, - 31502 - 11905: 0xB890, - 31503 - 11905: 0xF3CB, - 31504 - 11905: 0xB891, - 31505 - 11905: 0xD0A6, - 31506 - 11905: 0xB892, - 31507 - 11905: 0xB893, - 31508 - 11905: 0xB1CA, - 31509 - 11905: 0xF3C8, - 31510 - 11905: 0xB894, - 31511 - 11905: 0xB895, - 31512 - 11905: 0xB896, - 31513 - 11905: 0xF3CF, - 31514 - 11905: 0xB897, - 31515 - 11905: 0xB5D1, - 31516 - 11905: 0xB898, - 31517 - 11905: 0xB899, - 31518 - 11905: 0xF3D7, - 31519 - 11905: 0xB89A, - 31520 - 11905: 0xF3D2, - 31521 - 11905: 0xB89B, - 31522 - 11905: 0xB89C, - 31523 - 11905: 0xB89D, - 31524 - 11905: 0xF3D4, - 31525 - 11905: 0xF3D3, - 31526 - 11905: 0xB7FB, - 31527 - 11905: 0xB89E, - 31528 - 11905: 0xB1BF, - 31529 - 11905: 0xB89F, - 31530 - 11905: 0xF3CE, - 31531 - 11905: 0xF3CA, - 31532 - 11905: 0xB5DA, - 31533 - 11905: 0xB8A0, - 31534 - 11905: 0xF3D0, - 31535 - 11905: 0xB940, - 31536 - 11905: 0xB941, - 31537 - 11905: 0xF3D1, - 31538 - 11905: 0xB942, - 31539 - 11905: 0xF3D5, - 31540 - 11905: 0xB943, - 31541 - 11905: 0xB944, - 31542 - 11905: 0xB945, - 31543 - 11905: 0xB946, - 31544 - 11905: 0xF3CD, - 31545 - 11905: 0xB947, - 31546 - 11905: 0xBCE3, - 31547 - 11905: 0xB948, - 31548 - 11905: 0xC1FD, - 31549 - 11905: 0xB949, - 31550 - 11905: 0xF3D6, - 31551 - 11905: 0xB94A, - 31552 - 11905: 0xB94B, - 31553 - 11905: 0xB94C, - 31554 - 11905: 0xB94D, - 31555 - 11905: 0xB94E, - 31556 - 11905: 0xB94F, - 31557 - 11905: 0xF3DA, - 31558 - 11905: 0xB950, - 31559 - 11905: 0xF3CC, - 31560 - 11905: 0xB951, - 31561 - 11905: 0xB5C8, - 31562 - 11905: 0xB952, - 31563 - 11905: 0xBDEE, - 31564 - 11905: 0xF3DC, - 31565 - 11905: 0xB953, - 31566 - 11905: 0xB954, - 31567 - 11905: 0xB7A4, - 31568 - 11905: 0xBFF0, - 31569 - 11905: 0xD6FE, - 31570 - 11905: 0xCDB2, - 31571 - 11905: 0xB955, - 31572 - 11905: 0xB4F0, - 31573 - 11905: 0xB956, - 31574 - 11905: 0xB2DF, - 31575 - 11905: 0xB957, - 31576 - 11905: 0xF3D8, - 31577 - 11905: 0xB958, - 31578 - 11905: 0xF3D9, - 31579 - 11905: 0xC9B8, - 31580 - 11905: 0xB959, - 31581 - 11905: 0xF3DD, - 31582 - 11905: 0xB95A, - 31583 - 11905: 0xB95B, - 31584 - 11905: 0xF3DE, - 31585 - 11905: 0xB95C, - 31586 - 11905: 0xF3E1, - 31587 - 11905: 0xB95D, - 31588 - 11905: 0xB95E, - 31589 - 11905: 0xB95F, - 31590 - 11905: 0xB960, - 31591 - 11905: 0xB961, - 31592 - 11905: 0xB962, - 31593 - 11905: 0xB963, - 31594 - 11905: 0xB964, - 31595 - 11905: 0xB965, - 31596 - 11905: 0xB966, - 31597 - 11905: 0xB967, - 31598 - 11905: 0xF3DF, - 31599 - 11905: 0xB968, - 31600 - 11905: 0xB969, - 31601 - 11905: 0xF3E3, - 31602 - 11905: 0xF3E2, - 31603 - 11905: 0xB96A, - 31604 - 11905: 0xB96B, - 31605 - 11905: 0xF3DB, - 31606 - 11905: 0xB96C, - 31607 - 11905: 0xBFEA, - 31608 - 11905: 0xB96D, - 31609 - 11905: 0xB3EF, - 31610 - 11905: 0xB96E, - 31611 - 11905: 0xF3E0, - 31612 - 11905: 0xB96F, - 31613 - 11905: 0xB970, - 31614 - 11905: 0xC7A9, - 31615 - 11905: 0xB971, - 31616 - 11905: 0xBCF2, - 31617 - 11905: 0xB972, - 31618 - 11905: 0xB973, - 31619 - 11905: 0xB974, - 31620 - 11905: 0xB975, - 31621 - 11905: 0xF3EB, - 31622 - 11905: 0xB976, - 31623 - 11905: 0xB977, - 31624 - 11905: 0xB978, - 31625 - 11905: 0xB979, - 31626 - 11905: 0xB97A, - 31627 - 11905: 0xB97B, - 31628 - 11905: 0xB97C, - 31629 - 11905: 0xB9BF, - 31630 - 11905: 0xB97D, - 31631 - 11905: 0xB97E, - 31632 - 11905: 0xF3E4, - 31633 - 11905: 0xB980, - 31634 - 11905: 0xB981, - 31635 - 11905: 0xB982, - 31636 - 11905: 0xB2AD, - 31637 - 11905: 0xBBFE, - 31638 - 11905: 0xB983, - 31639 - 11905: 0xCBE3, - 31640 - 11905: 0xB984, - 31641 - 11905: 0xB985, - 31642 - 11905: 0xB986, - 31643 - 11905: 0xB987, - 31644 - 11905: 0xF3ED, - 31645 - 11905: 0xF3E9, - 31646 - 11905: 0xB988, - 31647 - 11905: 0xB989, - 31648 - 11905: 0xB98A, - 31649 - 11905: 0xB9DC, - 31650 - 11905: 0xF3EE, - 31651 - 11905: 0xB98B, - 31652 - 11905: 0xB98C, - 31653 - 11905: 0xB98D, - 31654 - 11905: 0xF3E5, - 31655 - 11905: 0xF3E6, - 31656 - 11905: 0xF3EA, - 31657 - 11905: 0xC2E1, - 31658 - 11905: 0xF3EC, - 31659 - 11905: 0xF3EF, - 31660 - 11905: 0xF3E8, - 31661 - 11905: 0xBCFD, - 31662 - 11905: 0xB98E, - 31663 - 11905: 0xB98F, - 31664 - 11905: 0xB990, - 31665 - 11905: 0xCFE4, - 31666 - 11905: 0xB991, - 31667 - 11905: 0xB992, - 31668 - 11905: 0xF3F0, - 31669 - 11905: 0xB993, - 31670 - 11905: 0xB994, - 31671 - 11905: 0xB995, - 31672 - 11905: 0xF3E7, - 31673 - 11905: 0xB996, - 31674 - 11905: 0xB997, - 31675 - 11905: 0xB998, - 31676 - 11905: 0xB999, - 31677 - 11905: 0xB99A, - 31678 - 11905: 0xB99B, - 31679 - 11905: 0xB99C, - 31680 - 11905: 0xB99D, - 31681 - 11905: 0xF3F2, - 31682 - 11905: 0xB99E, - 31683 - 11905: 0xB99F, - 31684 - 11905: 0xB9A0, - 31685 - 11905: 0xBA40, - 31686 - 11905: 0xD7AD, - 31687 - 11905: 0xC6AA, - 31688 - 11905: 0xBA41, - 31689 - 11905: 0xBA42, - 31690 - 11905: 0xBA43, - 31691 - 11905: 0xBA44, - 31692 - 11905: 0xF3F3, - 31693 - 11905: 0xBA45, - 31694 - 11905: 0xBA46, - 31695 - 11905: 0xBA47, - 31696 - 11905: 0xBA48, - 31697 - 11905: 0xF3F1, - 31698 - 11905: 0xBA49, - 31699 - 11905: 0xC2A8, - 31700 - 11905: 0xBA4A, - 31701 - 11905: 0xBA4B, - 31702 - 11905: 0xBA4C, - 31703 - 11905: 0xBA4D, - 31704 - 11905: 0xBA4E, - 31705 - 11905: 0xB8DD, - 31706 - 11905: 0xF3F5, - 31707 - 11905: 0xBA4F, - 31708 - 11905: 0xBA50, - 31709 - 11905: 0xF3F4, - 31710 - 11905: 0xBA51, - 31711 - 11905: 0xBA52, - 31712 - 11905: 0xBA53, - 31713 - 11905: 0xB4DB, - 31714 - 11905: 0xBA54, - 31715 - 11905: 0xBA55, - 31716 - 11905: 0xBA56, - 31717 - 11905: 0xF3F6, - 31718 - 11905: 0xF3F7, - 31719 - 11905: 0xBA57, - 31720 - 11905: 0xBA58, - 31721 - 11905: 0xBA59, - 31722 - 11905: 0xF3F8, - 31723 - 11905: 0xBA5A, - 31724 - 11905: 0xBA5B, - 31725 - 11905: 0xBA5C, - 31726 - 11905: 0xC0BA, - 31727 - 11905: 0xBA5D, - 31728 - 11905: 0xBA5E, - 31729 - 11905: 0xC0E9, - 31730 - 11905: 0xBA5F, - 31731 - 11905: 0xBA60, - 31732 - 11905: 0xBA61, - 31733 - 11905: 0xBA62, - 31734 - 11905: 0xBA63, - 31735 - 11905: 0xC5F1, - 31736 - 11905: 0xBA64, - 31737 - 11905: 0xBA65, - 31738 - 11905: 0xBA66, - 31739 - 11905: 0xBA67, - 31740 - 11905: 0xF3FB, - 31741 - 11905: 0xBA68, - 31742 - 11905: 0xF3FA, - 31743 - 11905: 0xBA69, - 31744 - 11905: 0xBA6A, - 31745 - 11905: 0xBA6B, - 31746 - 11905: 0xBA6C, - 31747 - 11905: 0xBA6D, - 31748 - 11905: 0xBA6E, - 31749 - 11905: 0xBA6F, - 31750 - 11905: 0xBA70, - 31751 - 11905: 0xB4D8, - 31752 - 11905: 0xBA71, - 31753 - 11905: 0xBA72, - 31754 - 11905: 0xBA73, - 31755 - 11905: 0xF3FE, - 31756 - 11905: 0xF3F9, - 31757 - 11905: 0xBA74, - 31758 - 11905: 0xBA75, - 31759 - 11905: 0xF3FC, - 31760 - 11905: 0xBA76, - 31761 - 11905: 0xBA77, - 31762 - 11905: 0xBA78, - 31763 - 11905: 0xBA79, - 31764 - 11905: 0xBA7A, - 31765 - 11905: 0xBA7B, - 31766 - 11905: 0xF3FD, - 31767 - 11905: 0xBA7C, - 31768 - 11905: 0xBA7D, - 31769 - 11905: 0xBA7E, - 31770 - 11905: 0xBA80, - 31771 - 11905: 0xBA81, - 31772 - 11905: 0xBA82, - 31773 - 11905: 0xBA83, - 31774 - 11905: 0xBA84, - 31775 - 11905: 0xF4A1, - 31776 - 11905: 0xBA85, - 31777 - 11905: 0xBA86, - 31778 - 11905: 0xBA87, - 31779 - 11905: 0xBA88, - 31780 - 11905: 0xBA89, - 31781 - 11905: 0xBA8A, - 31782 - 11905: 0xF4A3, - 31783 - 11905: 0xBBC9, - 31784 - 11905: 0xBA8B, - 31785 - 11905: 0xBA8C, - 31786 - 11905: 0xF4A2, - 31787 - 11905: 0xBA8D, - 31788 - 11905: 0xBA8E, - 31789 - 11905: 0xBA8F, - 31790 - 11905: 0xBA90, - 31791 - 11905: 0xBA91, - 31792 - 11905: 0xBA92, - 31793 - 11905: 0xBA93, - 31794 - 11905: 0xBA94, - 31795 - 11905: 0xBA95, - 31796 - 11905: 0xBA96, - 31797 - 11905: 0xBA97, - 31798 - 11905: 0xBA98, - 31799 - 11905: 0xBA99, - 31800 - 11905: 0xF4A4, - 31801 - 11905: 0xBA9A, - 31802 - 11905: 0xBA9B, - 31803 - 11905: 0xBA9C, - 31804 - 11905: 0xBA9D, - 31805 - 11905: 0xBA9E, - 31806 - 11905: 0xBA9F, - 31807 - 11905: 0xB2BE, - 31808 - 11905: 0xF4A6, - 31809 - 11905: 0xF4A5, - 31810 - 11905: 0xBAA0, - 31811 - 11905: 0xBB40, - 31812 - 11905: 0xBB41, - 31813 - 11905: 0xBB42, - 31814 - 11905: 0xBB43, - 31815 - 11905: 0xBB44, - 31816 - 11905: 0xBB45, - 31817 - 11905: 0xBB46, - 31818 - 11905: 0xBB47, - 31819 - 11905: 0xBB48, - 31820 - 11905: 0xBB49, - 31821 - 11905: 0xBCAE, - 31822 - 11905: 0xBB4A, - 31823 - 11905: 0xBB4B, - 31824 - 11905: 0xBB4C, - 31825 - 11905: 0xBB4D, - 31826 - 11905: 0xBB4E, - 31827 - 11905: 0xBB4F, - 31828 - 11905: 0xBB50, - 31829 - 11905: 0xBB51, - 31830 - 11905: 0xBB52, - 31831 - 11905: 0xBB53, - 31832 - 11905: 0xBB54, - 31833 - 11905: 0xBB55, - 31834 - 11905: 0xBB56, - 31835 - 11905: 0xBB57, - 31836 - 11905: 0xBB58, - 31837 - 11905: 0xBB59, - 31838 - 11905: 0xBB5A, - 31839 - 11905: 0xBB5B, - 31840 - 11905: 0xBB5C, - 31841 - 11905: 0xBB5D, - 31842 - 11905: 0xBB5E, - 31843 - 11905: 0xBB5F, - 31844 - 11905: 0xBB60, - 31845 - 11905: 0xBB61, - 31846 - 11905: 0xBB62, - 31847 - 11905: 0xBB63, - 31848 - 11905: 0xBB64, - 31849 - 11905: 0xBB65, - 31850 - 11905: 0xBB66, - 31851 - 11905: 0xBB67, - 31852 - 11905: 0xBB68, - 31853 - 11905: 0xBB69, - 31854 - 11905: 0xBB6A, - 31855 - 11905: 0xBB6B, - 31856 - 11905: 0xBB6C, - 31857 - 11905: 0xBB6D, - 31858 - 11905: 0xBB6E, - 31859 - 11905: 0xC3D7, - 31860 - 11905: 0xD9E1, - 31861 - 11905: 0xBB6F, - 31862 - 11905: 0xBB70, - 31863 - 11905: 0xBB71, - 31864 - 11905: 0xBB72, - 31865 - 11905: 0xBB73, - 31866 - 11905: 0xBB74, - 31867 - 11905: 0xC0E0, - 31868 - 11905: 0xF4CC, - 31869 - 11905: 0xD7D1, - 31870 - 11905: 0xBB75, - 31871 - 11905: 0xBB76, - 31872 - 11905: 0xBB77, - 31873 - 11905: 0xBB78, - 31874 - 11905: 0xBB79, - 31875 - 11905: 0xBB7A, - 31876 - 11905: 0xBB7B, - 31877 - 11905: 0xBB7C, - 31878 - 11905: 0xBB7D, - 31879 - 11905: 0xBB7E, - 31880 - 11905: 0xBB80, - 31881 - 11905: 0xB7DB, - 31882 - 11905: 0xBB81, - 31883 - 11905: 0xBB82, - 31884 - 11905: 0xBB83, - 31885 - 11905: 0xBB84, - 31886 - 11905: 0xBB85, - 31887 - 11905: 0xBB86, - 31888 - 11905: 0xBB87, - 31889 - 11905: 0xF4CE, - 31890 - 11905: 0xC1A3, - 31891 - 11905: 0xBB88, - 31892 - 11905: 0xBB89, - 31893 - 11905: 0xC6C9, - 31894 - 11905: 0xBB8A, - 31895 - 11905: 0xB4D6, - 31896 - 11905: 0xD5B3, - 31897 - 11905: 0xBB8B, - 31898 - 11905: 0xBB8C, - 31899 - 11905: 0xBB8D, - 31900 - 11905: 0xF4D0, - 31901 - 11905: 0xF4CF, - 31902 - 11905: 0xF4D1, - 31903 - 11905: 0xCBDA, - 31904 - 11905: 0xBB8E, - 31905 - 11905: 0xBB8F, - 31906 - 11905: 0xF4D2, - 31907 - 11905: 0xBB90, - 31908 - 11905: 0xD4C1, - 31909 - 11905: 0xD6E0, - 31910 - 11905: 0xBB91, - 31911 - 11905: 0xBB92, - 31912 - 11905: 0xBB93, - 31913 - 11905: 0xBB94, - 31914 - 11905: 0xB7E0, - 31915 - 11905: 0xBB95, - 31916 - 11905: 0xBB96, - 31917 - 11905: 0xBB97, - 31918 - 11905: 0xC1B8, - 31919 - 11905: 0xBB98, - 31920 - 11905: 0xBB99, - 31921 - 11905: 0xC1BB, - 31922 - 11905: 0xF4D3, - 31923 - 11905: 0xBEAC, - 31924 - 11905: 0xBB9A, - 31925 - 11905: 0xBB9B, - 31926 - 11905: 0xBB9C, - 31927 - 11905: 0xBB9D, - 31928 - 11905: 0xBB9E, - 31929 - 11905: 0xB4E2, - 31930 - 11905: 0xBB9F, - 31931 - 11905: 0xBBA0, - 31932 - 11905: 0xF4D4, - 31933 - 11905: 0xF4D5, - 31934 - 11905: 0xBEAB, - 31935 - 11905: 0xBC40, - 31936 - 11905: 0xBC41, - 31937 - 11905: 0xF4D6, - 31938 - 11905: 0xBC42, - 31939 - 11905: 0xBC43, - 31940 - 11905: 0xBC44, - 31941 - 11905: 0xF4DB, - 31942 - 11905: 0xBC45, - 31943 - 11905: 0xF4D7, - 31944 - 11905: 0xF4DA, - 31945 - 11905: 0xBC46, - 31946 - 11905: 0xBAFD, - 31947 - 11905: 0xBC47, - 31948 - 11905: 0xF4D8, - 31949 - 11905: 0xF4D9, - 31950 - 11905: 0xBC48, - 31951 - 11905: 0xBC49, - 31952 - 11905: 0xBC4A, - 31953 - 11905: 0xBC4B, - 31954 - 11905: 0xBC4C, - 31955 - 11905: 0xBC4D, - 31956 - 11905: 0xBC4E, - 31957 - 11905: 0xB8E2, - 31958 - 11905: 0xCCC7, - 31959 - 11905: 0xF4DC, - 31960 - 11905: 0xBC4F, - 31961 - 11905: 0xB2DA, - 31962 - 11905: 0xBC50, - 31963 - 11905: 0xBC51, - 31964 - 11905: 0xC3D3, - 31965 - 11905: 0xBC52, - 31966 - 11905: 0xBC53, - 31967 - 11905: 0xD4E3, - 31968 - 11905: 0xBFB7, - 31969 - 11905: 0xBC54, - 31970 - 11905: 0xBC55, - 31971 - 11905: 0xBC56, - 31972 - 11905: 0xBC57, - 31973 - 11905: 0xBC58, - 31974 - 11905: 0xBC59, - 31975 - 11905: 0xBC5A, - 31976 - 11905: 0xF4DD, - 31977 - 11905: 0xBC5B, - 31978 - 11905: 0xBC5C, - 31979 - 11905: 0xBC5D, - 31980 - 11905: 0xBC5E, - 31981 - 11905: 0xBC5F, - 31982 - 11905: 0xBC60, - 31983 - 11905: 0xC5B4, - 31984 - 11905: 0xBC61, - 31985 - 11905: 0xBC62, - 31986 - 11905: 0xBC63, - 31987 - 11905: 0xBC64, - 31988 - 11905: 0xBC65, - 31989 - 11905: 0xBC66, - 31990 - 11905: 0xBC67, - 31991 - 11905: 0xBC68, - 31992 - 11905: 0xF4E9, - 31993 - 11905: 0xBC69, - 31994 - 11905: 0xBC6A, - 31995 - 11905: 0xCFB5, - 31996 - 11905: 0xBC6B, - 31997 - 11905: 0xBC6C, - 31998 - 11905: 0xBC6D, - 31999 - 11905: 0xBC6E, - 32000 - 11905: 0xBC6F, - 32001 - 11905: 0xBC70, - 32002 - 11905: 0xBC71, - 32003 - 11905: 0xBC72, - 32004 - 11905: 0xBC73, - 32005 - 11905: 0xBC74, - 32006 - 11905: 0xBC75, - 32007 - 11905: 0xBC76, - 32008 - 11905: 0xBC77, - 32009 - 11905: 0xBC78, - 32010 - 11905: 0xCEC9, - 32011 - 11905: 0xBC79, - 32012 - 11905: 0xBC7A, - 32013 - 11905: 0xBC7B, - 32014 - 11905: 0xBC7C, - 32015 - 11905: 0xBC7D, - 32016 - 11905: 0xBC7E, - 32017 - 11905: 0xBC80, - 32018 - 11905: 0xBC81, - 32019 - 11905: 0xBC82, - 32020 - 11905: 0xBC83, - 32021 - 11905: 0xBC84, - 32022 - 11905: 0xBC85, - 32023 - 11905: 0xBC86, - 32024 - 11905: 0xBC87, - 32025 - 11905: 0xBC88, - 32026 - 11905: 0xBC89, - 32027 - 11905: 0xBC8A, - 32028 - 11905: 0xBC8B, - 32029 - 11905: 0xBC8C, - 32030 - 11905: 0xBC8D, - 32031 - 11905: 0xBC8E, - 32032 - 11905: 0xCBD8, - 32033 - 11905: 0xBC8F, - 32034 - 11905: 0xCBF7, - 32035 - 11905: 0xBC90, - 32036 - 11905: 0xBC91, - 32037 - 11905: 0xBC92, - 32038 - 11905: 0xBC93, - 32039 - 11905: 0xBDF4, - 32040 - 11905: 0xBC94, - 32041 - 11905: 0xBC95, - 32042 - 11905: 0xBC96, - 32043 - 11905: 0xD7CF, - 32044 - 11905: 0xBC97, - 32045 - 11905: 0xBC98, - 32046 - 11905: 0xBC99, - 32047 - 11905: 0xC0DB, - 32048 - 11905: 0xBC9A, - 32049 - 11905: 0xBC9B, - 32050 - 11905: 0xBC9C, - 32051 - 11905: 0xBC9D, - 32052 - 11905: 0xBC9E, - 32053 - 11905: 0xBC9F, - 32054 - 11905: 0xBCA0, - 32055 - 11905: 0xBD40, - 32056 - 11905: 0xBD41, - 32057 - 11905: 0xBD42, - 32058 - 11905: 0xBD43, - 32059 - 11905: 0xBD44, - 32060 - 11905: 0xBD45, - 32061 - 11905: 0xBD46, - 32062 - 11905: 0xBD47, - 32063 - 11905: 0xBD48, - 32064 - 11905: 0xBD49, - 32065 - 11905: 0xBD4A, - 32066 - 11905: 0xBD4B, - 32067 - 11905: 0xBD4C, - 32068 - 11905: 0xBD4D, - 32069 - 11905: 0xBD4E, - 32070 - 11905: 0xBD4F, - 32071 - 11905: 0xBD50, - 32072 - 11905: 0xBD51, - 32073 - 11905: 0xBD52, - 32074 - 11905: 0xBD53, - 32075 - 11905: 0xBD54, - 32076 - 11905: 0xBD55, - 32077 - 11905: 0xBD56, - 32078 - 11905: 0xBD57, - 32079 - 11905: 0xBD58, - 32080 - 11905: 0xBD59, - 32081 - 11905: 0xBD5A, - 32082 - 11905: 0xBD5B, - 32083 - 11905: 0xBD5C, - 32084 - 11905: 0xBD5D, - 32085 - 11905: 0xBD5E, - 32086 - 11905: 0xBD5F, - 32087 - 11905: 0xBD60, - 32088 - 11905: 0xBD61, - 32089 - 11905: 0xBD62, - 32090 - 11905: 0xBD63, - 32091 - 11905: 0xBD64, - 32092 - 11905: 0xBD65, - 32093 - 11905: 0xBD66, - 32094 - 11905: 0xBD67, - 32095 - 11905: 0xBD68, - 32096 - 11905: 0xBD69, - 32097 - 11905: 0xBD6A, - 32098 - 11905: 0xBD6B, - 32099 - 11905: 0xBD6C, - 32100 - 11905: 0xBD6D, - 32101 - 11905: 0xBD6E, - 32102 - 11905: 0xBD6F, - 32103 - 11905: 0xBD70, - 32104 - 11905: 0xBD71, - 32105 - 11905: 0xBD72, - 32106 - 11905: 0xBD73, - 32107 - 11905: 0xBD74, - 32108 - 11905: 0xBD75, - 32109 - 11905: 0xBD76, - 32110 - 11905: 0xD0F5, - 32111 - 11905: 0xBD77, - 32112 - 11905: 0xBD78, - 32113 - 11905: 0xBD79, - 32114 - 11905: 0xBD7A, - 32115 - 11905: 0xBD7B, - 32116 - 11905: 0xBD7C, - 32117 - 11905: 0xBD7D, - 32118 - 11905: 0xBD7E, - 32119 - 11905: 0xF4EA, - 32120 - 11905: 0xBD80, - 32121 - 11905: 0xBD81, - 32122 - 11905: 0xBD82, - 32123 - 11905: 0xBD83, - 32124 - 11905: 0xBD84, - 32125 - 11905: 0xBD85, - 32126 - 11905: 0xBD86, - 32127 - 11905: 0xBD87, - 32128 - 11905: 0xBD88, - 32129 - 11905: 0xBD89, - 32130 - 11905: 0xBD8A, - 32131 - 11905: 0xBD8B, - 32132 - 11905: 0xBD8C, - 32133 - 11905: 0xBD8D, - 32134 - 11905: 0xBD8E, - 32135 - 11905: 0xBD8F, - 32136 - 11905: 0xBD90, - 32137 - 11905: 0xBD91, - 32138 - 11905: 0xBD92, - 32139 - 11905: 0xBD93, - 32140 - 11905: 0xBD94, - 32141 - 11905: 0xBD95, - 32142 - 11905: 0xBD96, - 32143 - 11905: 0xBD97, - 32144 - 11905: 0xBD98, - 32145 - 11905: 0xBD99, - 32146 - 11905: 0xBD9A, - 32147 - 11905: 0xBD9B, - 32148 - 11905: 0xBD9C, - 32149 - 11905: 0xBD9D, - 32150 - 11905: 0xBD9E, - 32151 - 11905: 0xBD9F, - 32152 - 11905: 0xBDA0, - 32153 - 11905: 0xBE40, - 32154 - 11905: 0xBE41, - 32155 - 11905: 0xBE42, - 32156 - 11905: 0xBE43, - 32157 - 11905: 0xBE44, - 32158 - 11905: 0xBE45, - 32159 - 11905: 0xBE46, - 32160 - 11905: 0xBE47, - 32161 - 11905: 0xBE48, - 32162 - 11905: 0xBE49, - 32163 - 11905: 0xBE4A, - 32164 - 11905: 0xBE4B, - 32165 - 11905: 0xBE4C, - 32166 - 11905: 0xF4EB, - 32167 - 11905: 0xBE4D, - 32168 - 11905: 0xBE4E, - 32169 - 11905: 0xBE4F, - 32170 - 11905: 0xBE50, - 32171 - 11905: 0xBE51, - 32172 - 11905: 0xBE52, - 32173 - 11905: 0xBE53, - 32174 - 11905: 0xF4EC, - 32175 - 11905: 0xBE54, - 32176 - 11905: 0xBE55, - 32177 - 11905: 0xBE56, - 32178 - 11905: 0xBE57, - 32179 - 11905: 0xBE58, - 32180 - 11905: 0xBE59, - 32181 - 11905: 0xBE5A, - 32182 - 11905: 0xBE5B, - 32183 - 11905: 0xBE5C, - 32184 - 11905: 0xBE5D, - 32185 - 11905: 0xBE5E, - 32186 - 11905: 0xBE5F, - 32187 - 11905: 0xBE60, - 32188 - 11905: 0xBE61, - 32189 - 11905: 0xBE62, - 32190 - 11905: 0xBE63, - 32191 - 11905: 0xBE64, - 32192 - 11905: 0xBE65, - 32193 - 11905: 0xBE66, - 32194 - 11905: 0xBE67, - 32195 - 11905: 0xBE68, - 32196 - 11905: 0xBE69, - 32197 - 11905: 0xBE6A, - 32198 - 11905: 0xBE6B, - 32199 - 11905: 0xBE6C, - 32200 - 11905: 0xBE6D, - 32201 - 11905: 0xBE6E, - 32202 - 11905: 0xBE6F, - 32203 - 11905: 0xBE70, - 32204 - 11905: 0xBE71, - 32205 - 11905: 0xBE72, - 32206 - 11905: 0xBE73, - 32207 - 11905: 0xBE74, - 32208 - 11905: 0xBE75, - 32209 - 11905: 0xBE76, - 32210 - 11905: 0xBE77, - 32211 - 11905: 0xBE78, - 32212 - 11905: 0xBE79, - 32213 - 11905: 0xBE7A, - 32214 - 11905: 0xBE7B, - 32215 - 11905: 0xBE7C, - 32216 - 11905: 0xBE7D, - 32217 - 11905: 0xBE7E, - 32218 - 11905: 0xBE80, - 32219 - 11905: 0xBE81, - 32220 - 11905: 0xBE82, - 32221 - 11905: 0xBE83, - 32222 - 11905: 0xBE84, - 32223 - 11905: 0xBE85, - 32224 - 11905: 0xBE86, - 32225 - 11905: 0xBE87, - 32226 - 11905: 0xBE88, - 32227 - 11905: 0xBE89, - 32228 - 11905: 0xBE8A, - 32229 - 11905: 0xBE8B, - 32230 - 11905: 0xBE8C, - 32231 - 11905: 0xBE8D, - 32232 - 11905: 0xBE8E, - 32233 - 11905: 0xBE8F, - 32234 - 11905: 0xBE90, - 32235 - 11905: 0xBE91, - 32236 - 11905: 0xBE92, - 32237 - 11905: 0xBE93, - 32238 - 11905: 0xBE94, - 32239 - 11905: 0xBE95, - 32240 - 11905: 0xBE96, - 32241 - 11905: 0xBE97, - 32242 - 11905: 0xBE98, - 32243 - 11905: 0xBE99, - 32244 - 11905: 0xBE9A, - 32245 - 11905: 0xBE9B, - 32246 - 11905: 0xBE9C, - 32247 - 11905: 0xBE9D, - 32248 - 11905: 0xBE9E, - 32249 - 11905: 0xBE9F, - 32250 - 11905: 0xBEA0, - 32251 - 11905: 0xBF40, - 32252 - 11905: 0xBF41, - 32253 - 11905: 0xBF42, - 32254 - 11905: 0xBF43, - 32255 - 11905: 0xBF44, - 32256 - 11905: 0xBF45, - 32257 - 11905: 0xBF46, - 32258 - 11905: 0xBF47, - 32259 - 11905: 0xBF48, - 32260 - 11905: 0xBF49, - 32261 - 11905: 0xBF4A, - 32262 - 11905: 0xBF4B, - 32263 - 11905: 0xBF4C, - 32264 - 11905: 0xBF4D, - 32265 - 11905: 0xBF4E, - 32266 - 11905: 0xBF4F, - 32267 - 11905: 0xBF50, - 32268 - 11905: 0xBF51, - 32269 - 11905: 0xBF52, - 32270 - 11905: 0xBF53, - 32271 - 11905: 0xBF54, - 32272 - 11905: 0xBF55, - 32273 - 11905: 0xBF56, - 32274 - 11905: 0xBF57, - 32275 - 11905: 0xBF58, - 32276 - 11905: 0xBF59, - 32277 - 11905: 0xBF5A, - 32278 - 11905: 0xBF5B, - 32279 - 11905: 0xBF5C, - 32280 - 11905: 0xBF5D, - 32281 - 11905: 0xBF5E, - 32282 - 11905: 0xBF5F, - 32283 - 11905: 0xBF60, - 32284 - 11905: 0xBF61, - 32285 - 11905: 0xBF62, - 32286 - 11905: 0xBF63, - 32287 - 11905: 0xBF64, - 32288 - 11905: 0xBF65, - 32289 - 11905: 0xBF66, - 32290 - 11905: 0xBF67, - 32291 - 11905: 0xBF68, - 32292 - 11905: 0xBF69, - 32293 - 11905: 0xBF6A, - 32294 - 11905: 0xBF6B, - 32295 - 11905: 0xBF6C, - 32296 - 11905: 0xBF6D, - 32297 - 11905: 0xBF6E, - 32298 - 11905: 0xBF6F, - 32299 - 11905: 0xBF70, - 32300 - 11905: 0xBF71, - 32301 - 11905: 0xBF72, - 32302 - 11905: 0xBF73, - 32303 - 11905: 0xBF74, - 32304 - 11905: 0xBF75, - 32305 - 11905: 0xBF76, - 32306 - 11905: 0xBF77, - 32307 - 11905: 0xBF78, - 32308 - 11905: 0xBF79, - 32309 - 11905: 0xBF7A, - 32310 - 11905: 0xBF7B, - 32311 - 11905: 0xBF7C, - 32312 - 11905: 0xBF7D, - 32313 - 11905: 0xBF7E, - 32314 - 11905: 0xBF80, - 32315 - 11905: 0xF7E3, - 32316 - 11905: 0xBF81, - 32317 - 11905: 0xBF82, - 32318 - 11905: 0xBF83, - 32319 - 11905: 0xBF84, - 32320 - 11905: 0xBF85, - 32321 - 11905: 0xB7B1, - 32322 - 11905: 0xBF86, - 32323 - 11905: 0xBF87, - 32324 - 11905: 0xBF88, - 32325 - 11905: 0xBF89, - 32326 - 11905: 0xBF8A, - 32327 - 11905: 0xF4ED, - 32328 - 11905: 0xBF8B, - 32329 - 11905: 0xBF8C, - 32330 - 11905: 0xBF8D, - 32331 - 11905: 0xBF8E, - 32332 - 11905: 0xBF8F, - 32333 - 11905: 0xBF90, - 32334 - 11905: 0xBF91, - 32335 - 11905: 0xBF92, - 32336 - 11905: 0xBF93, - 32337 - 11905: 0xBF94, - 32338 - 11905: 0xBF95, - 32339 - 11905: 0xBF96, - 32340 - 11905: 0xBF97, - 32341 - 11905: 0xBF98, - 32342 - 11905: 0xBF99, - 32343 - 11905: 0xBF9A, - 32344 - 11905: 0xBF9B, - 32345 - 11905: 0xBF9C, - 32346 - 11905: 0xBF9D, - 32347 - 11905: 0xBF9E, - 32348 - 11905: 0xBF9F, - 32349 - 11905: 0xBFA0, - 32350 - 11905: 0xC040, - 32351 - 11905: 0xC041, - 32352 - 11905: 0xC042, - 32353 - 11905: 0xC043, - 32354 - 11905: 0xC044, - 32355 - 11905: 0xC045, - 32356 - 11905: 0xC046, - 32357 - 11905: 0xC047, - 32358 - 11905: 0xC048, - 32359 - 11905: 0xC049, - 32360 - 11905: 0xC04A, - 32361 - 11905: 0xC04B, - 32362 - 11905: 0xC04C, - 32363 - 11905: 0xC04D, - 32364 - 11905: 0xC04E, - 32365 - 11905: 0xC04F, - 32366 - 11905: 0xC050, - 32367 - 11905: 0xC051, - 32368 - 11905: 0xC052, - 32369 - 11905: 0xC053, - 32370 - 11905: 0xC054, - 32371 - 11905: 0xC055, - 32372 - 11905: 0xC056, - 32373 - 11905: 0xC057, - 32374 - 11905: 0xC058, - 32375 - 11905: 0xC059, - 32376 - 11905: 0xC05A, - 32377 - 11905: 0xC05B, - 32378 - 11905: 0xC05C, - 32379 - 11905: 0xC05D, - 32380 - 11905: 0xC05E, - 32381 - 11905: 0xC05F, - 32382 - 11905: 0xC060, - 32383 - 11905: 0xC061, - 32384 - 11905: 0xC062, - 32385 - 11905: 0xC063, - 32386 - 11905: 0xD7EB, - 32387 - 11905: 0xC064, - 32388 - 11905: 0xC065, - 32389 - 11905: 0xC066, - 32390 - 11905: 0xC067, - 32391 - 11905: 0xC068, - 32392 - 11905: 0xC069, - 32393 - 11905: 0xC06A, - 32394 - 11905: 0xC06B, - 32395 - 11905: 0xC06C, - 32396 - 11905: 0xC06D, - 32397 - 11905: 0xC06E, - 32398 - 11905: 0xC06F, - 32399 - 11905: 0xC070, - 32400 - 11905: 0xC071, - 32401 - 11905: 0xC072, - 32402 - 11905: 0xC073, - 32403 - 11905: 0xC074, - 32404 - 11905: 0xC075, - 32405 - 11905: 0xC076, - 32406 - 11905: 0xC077, - 32407 - 11905: 0xC078, - 32408 - 11905: 0xC079, - 32409 - 11905: 0xC07A, - 32410 - 11905: 0xC07B, - 32411 - 11905: 0xF4EE, - 32412 - 11905: 0xC07C, - 32413 - 11905: 0xC07D, - 32414 - 11905: 0xC07E, - 32415 - 11905: 0xE6F9, - 32416 - 11905: 0xBEC0, - 32417 - 11905: 0xE6FA, - 32418 - 11905: 0xBAEC, - 32419 - 11905: 0xE6FB, - 32420 - 11905: 0xCFCB, - 32421 - 11905: 0xE6FC, - 32422 - 11905: 0xD4BC, - 32423 - 11905: 0xBCB6, - 32424 - 11905: 0xE6FD, - 32425 - 11905: 0xE6FE, - 32426 - 11905: 0xBCCD, - 32427 - 11905: 0xC8D2, - 32428 - 11905: 0xCEB3, - 32429 - 11905: 0xE7A1, - 32430 - 11905: 0xC080, - 32431 - 11905: 0xB4BF, - 32432 - 11905: 0xE7A2, - 32433 - 11905: 0xC9B4, - 32434 - 11905: 0xB8D9, - 32435 - 11905: 0xC4C9, - 32436 - 11905: 0xC081, - 32437 - 11905: 0xD7DD, - 32438 - 11905: 0xC2DA, - 32439 - 11905: 0xB7D7, - 32440 - 11905: 0xD6BD, - 32441 - 11905: 0xCEC6, - 32442 - 11905: 0xB7C4, - 32443 - 11905: 0xC082, - 32444 - 11905: 0xC083, - 32445 - 11905: 0xC5A6, - 32446 - 11905: 0xE7A3, - 32447 - 11905: 0xCFDF, - 32448 - 11905: 0xE7A4, - 32449 - 11905: 0xE7A5, - 32450 - 11905: 0xE7A6, - 32451 - 11905: 0xC1B7, - 32452 - 11905: 0xD7E9, - 32453 - 11905: 0xC9F0, - 32454 - 11905: 0xCFB8, - 32455 - 11905: 0xD6AF, - 32456 - 11905: 0xD6D5, - 32457 - 11905: 0xE7A7, - 32458 - 11905: 0xB0ED, - 32459 - 11905: 0xE7A8, - 32460 - 11905: 0xE7A9, - 32461 - 11905: 0xC9DC, - 32462 - 11905: 0xD2EF, - 32463 - 11905: 0xBEAD, - 32464 - 11905: 0xE7AA, - 32465 - 11905: 0xB0F3, - 32466 - 11905: 0xC8DE, - 32467 - 11905: 0xBDE1, - 32468 - 11905: 0xE7AB, - 32469 - 11905: 0xC8C6, - 32470 - 11905: 0xC084, - 32471 - 11905: 0xE7AC, - 32472 - 11905: 0xBBE6, - 32473 - 11905: 0xB8F8, - 32474 - 11905: 0xD1A4, - 32475 - 11905: 0xE7AD, - 32476 - 11905: 0xC2E7, - 32477 - 11905: 0xBEF8, - 32478 - 11905: 0xBDCA, - 32479 - 11905: 0xCDB3, - 32480 - 11905: 0xE7AE, - 32481 - 11905: 0xE7AF, - 32482 - 11905: 0xBEEE, - 32483 - 11905: 0xD0E5, - 32484 - 11905: 0xC085, - 32485 - 11905: 0xCBE7, - 32486 - 11905: 0xCCD0, - 32487 - 11905: 0xBCCC, - 32488 - 11905: 0xE7B0, - 32489 - 11905: 0xBCA8, - 32490 - 11905: 0xD0F7, - 32491 - 11905: 0xE7B1, - 32492 - 11905: 0xC086, - 32493 - 11905: 0xD0F8, - 32494 - 11905: 0xE7B2, - 32495 - 11905: 0xE7B3, - 32496 - 11905: 0xB4C2, - 32497 - 11905: 0xE7B4, - 32498 - 11905: 0xE7B5, - 32499 - 11905: 0xC9FE, - 32500 - 11905: 0xCEAC, - 32501 - 11905: 0xC3E0, - 32502 - 11905: 0xE7B7, - 32503 - 11905: 0xB1C1, - 32504 - 11905: 0xB3F1, - 32505 - 11905: 0xC087, - 32506 - 11905: 0xE7B8, - 32507 - 11905: 0xE7B9, - 32508 - 11905: 0xD7DB, - 32509 - 11905: 0xD5C0, - 32510 - 11905: 0xE7BA, - 32511 - 11905: 0xC2CC, - 32512 - 11905: 0xD7BA, - 32513 - 11905: 0xE7BB, - 32514 - 11905: 0xE7BC, - 32515 - 11905: 0xE7BD, - 32516 - 11905: 0xBCEA, - 32517 - 11905: 0xC3E5, - 32518 - 11905: 0xC0C2, - 32519 - 11905: 0xE7BE, - 32520 - 11905: 0xE7BF, - 32521 - 11905: 0xBCA9, - 32522 - 11905: 0xC088, - 32523 - 11905: 0xE7C0, - 32524 - 11905: 0xE7C1, - 32525 - 11905: 0xE7B6, - 32526 - 11905: 0xB6D0, - 32527 - 11905: 0xE7C2, - 32528 - 11905: 0xC089, - 32529 - 11905: 0xE7C3, - 32530 - 11905: 0xE7C4, - 32531 - 11905: 0xBBBA, - 32532 - 11905: 0xB5DE, - 32533 - 11905: 0xC2C6, - 32534 - 11905: 0xB1E0, - 32535 - 11905: 0xE7C5, - 32536 - 11905: 0xD4B5, - 32537 - 11905: 0xE7C6, - 32538 - 11905: 0xB8BF, - 32539 - 11905: 0xE7C8, - 32540 - 11905: 0xE7C7, - 32541 - 11905: 0xB7EC, - 32542 - 11905: 0xC08A, - 32543 - 11905: 0xE7C9, - 32544 - 11905: 0xB2F8, - 32545 - 11905: 0xE7CA, - 32546 - 11905: 0xE7CB, - 32547 - 11905: 0xE7CC, - 32548 - 11905: 0xE7CD, - 32549 - 11905: 0xE7CE, - 32550 - 11905: 0xE7CF, - 32551 - 11905: 0xE7D0, - 32552 - 11905: 0xD3A7, - 32553 - 11905: 0xCBF5, - 32554 - 11905: 0xE7D1, - 32555 - 11905: 0xE7D2, - 32556 - 11905: 0xE7D3, - 32557 - 11905: 0xE7D4, - 32558 - 11905: 0xC9C9, - 32559 - 11905: 0xE7D5, - 32560 - 11905: 0xE7D6, - 32561 - 11905: 0xE7D7, - 32562 - 11905: 0xE7D8, - 32563 - 11905: 0xE7D9, - 32564 - 11905: 0xBDC9, - 32565 - 11905: 0xE7DA, - 32566 - 11905: 0xF3BE, - 32567 - 11905: 0xC08B, - 32568 - 11905: 0xB8D7, - 32569 - 11905: 0xC08C, - 32570 - 11905: 0xC8B1, - 32571 - 11905: 0xC08D, - 32572 - 11905: 0xC08E, - 32573 - 11905: 0xC08F, - 32574 - 11905: 0xC090, - 32575 - 11905: 0xC091, - 32576 - 11905: 0xC092, - 32577 - 11905: 0xC093, - 32578 - 11905: 0xF3BF, - 32579 - 11905: 0xC094, - 32580 - 11905: 0xF3C0, - 32581 - 11905: 0xF3C1, - 32582 - 11905: 0xC095, - 32583 - 11905: 0xC096, - 32584 - 11905: 0xC097, - 32585 - 11905: 0xC098, - 32586 - 11905: 0xC099, - 32587 - 11905: 0xC09A, - 32588 - 11905: 0xC09B, - 32589 - 11905: 0xC09C, - 32590 - 11905: 0xC09D, - 32591 - 11905: 0xC09E, - 32592 - 11905: 0xB9DE, - 32593 - 11905: 0xCDF8, - 32594 - 11905: 0xC09F, - 32595 - 11905: 0xC0A0, - 32596 - 11905: 0xD8E8, - 32597 - 11905: 0xBAB1, - 32598 - 11905: 0xC140, - 32599 - 11905: 0xC2DE, - 32600 - 11905: 0xEEB7, - 32601 - 11905: 0xC141, - 32602 - 11905: 0xB7A3, - 32603 - 11905: 0xC142, - 32604 - 11905: 0xC143, - 32605 - 11905: 0xC144, - 32606 - 11905: 0xC145, - 32607 - 11905: 0xEEB9, - 32608 - 11905: 0xC146, - 32609 - 11905: 0xEEB8, - 32610 - 11905: 0xB0D5, - 32611 - 11905: 0xC147, - 32612 - 11905: 0xC148, - 32613 - 11905: 0xC149, - 32614 - 11905: 0xC14A, - 32615 - 11905: 0xC14B, - 32616 - 11905: 0xEEBB, - 32617 - 11905: 0xD5D6, - 32618 - 11905: 0xD7EF, - 32619 - 11905: 0xC14C, - 32620 - 11905: 0xC14D, - 32621 - 11905: 0xC14E, - 32622 - 11905: 0xD6C3, - 32623 - 11905: 0xC14F, - 32624 - 11905: 0xC150, - 32625 - 11905: 0xEEBD, - 32626 - 11905: 0xCAF0, - 32627 - 11905: 0xC151, - 32628 - 11905: 0xEEBC, - 32629 - 11905: 0xC152, - 32630 - 11905: 0xC153, - 32631 - 11905: 0xC154, - 32632 - 11905: 0xC155, - 32633 - 11905: 0xEEBE, - 32634 - 11905: 0xC156, - 32635 - 11905: 0xC157, - 32636 - 11905: 0xC158, - 32637 - 11905: 0xC159, - 32638 - 11905: 0xEEC0, - 32639 - 11905: 0xC15A, - 32640 - 11905: 0xC15B, - 32641 - 11905: 0xEEBF, - 32642 - 11905: 0xC15C, - 32643 - 11905: 0xC15D, - 32644 - 11905: 0xC15E, - 32645 - 11905: 0xC15F, - 32646 - 11905: 0xC160, - 32647 - 11905: 0xC161, - 32648 - 11905: 0xC162, - 32649 - 11905: 0xC163, - 32650 - 11905: 0xD1F2, - 32651 - 11905: 0xC164, - 32652 - 11905: 0xC7BC, - 32653 - 11905: 0xC165, - 32654 - 11905: 0xC3C0, - 32655 - 11905: 0xC166, - 32656 - 11905: 0xC167, - 32657 - 11905: 0xC168, - 32658 - 11905: 0xC169, - 32659 - 11905: 0xC16A, - 32660 - 11905: 0xB8E1, - 32661 - 11905: 0xC16B, - 32662 - 11905: 0xC16C, - 32663 - 11905: 0xC16D, - 32664 - 11905: 0xC16E, - 32665 - 11905: 0xC16F, - 32666 - 11905: 0xC1E7, - 32667 - 11905: 0xC170, - 32668 - 11905: 0xC171, - 32669 - 11905: 0xF4C6, - 32670 - 11905: 0xD0DF, - 32671 - 11905: 0xF4C7, - 32672 - 11905: 0xC172, - 32673 - 11905: 0xCFDB, - 32674 - 11905: 0xC173, - 32675 - 11905: 0xC174, - 32676 - 11905: 0xC8BA, - 32677 - 11905: 0xC175, - 32678 - 11905: 0xC176, - 32679 - 11905: 0xF4C8, - 32680 - 11905: 0xC177, - 32681 - 11905: 0xC178, - 32682 - 11905: 0xC179, - 32683 - 11905: 0xC17A, - 32684 - 11905: 0xC17B, - 32685 - 11905: 0xC17C, - 32686 - 11905: 0xC17D, - 32687 - 11905: 0xF4C9, - 32688 - 11905: 0xF4CA, - 32689 - 11905: 0xC17E, - 32690 - 11905: 0xF4CB, - 32691 - 11905: 0xC180, - 32692 - 11905: 0xC181, - 32693 - 11905: 0xC182, - 32694 - 11905: 0xC183, - 32695 - 11905: 0xC184, - 32696 - 11905: 0xD9FA, - 32697 - 11905: 0xB8FE, - 32698 - 11905: 0xC185, - 32699 - 11905: 0xC186, - 32700 - 11905: 0xE5F1, - 32701 - 11905: 0xD3F0, - 32702 - 11905: 0xC187, - 32703 - 11905: 0xF4E0, - 32704 - 11905: 0xC188, - 32705 - 11905: 0xCECC, - 32706 - 11905: 0xC189, - 32707 - 11905: 0xC18A, - 32708 - 11905: 0xC18B, - 32709 - 11905: 0xB3E1, - 32710 - 11905: 0xC18C, - 32711 - 11905: 0xC18D, - 32712 - 11905: 0xC18E, - 32713 - 11905: 0xC18F, - 32714 - 11905: 0xF1B4, - 32715 - 11905: 0xC190, - 32716 - 11905: 0xD2EE, - 32717 - 11905: 0xC191, - 32718 - 11905: 0xF4E1, - 32719 - 11905: 0xC192, - 32720 - 11905: 0xC193, - 32721 - 11905: 0xC194, - 32722 - 11905: 0xC195, - 32723 - 11905: 0xC196, - 32724 - 11905: 0xCFE8, - 32725 - 11905: 0xF4E2, - 32726 - 11905: 0xC197, - 32727 - 11905: 0xC198, - 32728 - 11905: 0xC7CC, - 32729 - 11905: 0xC199, - 32730 - 11905: 0xC19A, - 32731 - 11905: 0xC19B, - 32732 - 11905: 0xC19C, - 32733 - 11905: 0xC19D, - 32734 - 11905: 0xC19E, - 32735 - 11905: 0xB5D4, - 32736 - 11905: 0xB4E4, - 32737 - 11905: 0xF4E4, - 32738 - 11905: 0xC19F, - 32739 - 11905: 0xC1A0, - 32740 - 11905: 0xC240, - 32741 - 11905: 0xF4E3, - 32742 - 11905: 0xF4E5, - 32743 - 11905: 0xC241, - 32744 - 11905: 0xC242, - 32745 - 11905: 0xF4E6, - 32746 - 11905: 0xC243, - 32747 - 11905: 0xC244, - 32748 - 11905: 0xC245, - 32749 - 11905: 0xC246, - 32750 - 11905: 0xF4E7, - 32751 - 11905: 0xC247, - 32752 - 11905: 0xBAB2, - 32753 - 11905: 0xB0BF, - 32754 - 11905: 0xC248, - 32755 - 11905: 0xF4E8, - 32756 - 11905: 0xC249, - 32757 - 11905: 0xC24A, - 32758 - 11905: 0xC24B, - 32759 - 11905: 0xC24C, - 32760 - 11905: 0xC24D, - 32761 - 11905: 0xC24E, - 32762 - 11905: 0xC24F, - 32763 - 11905: 0xB7AD, - 32764 - 11905: 0xD2ED, - 32765 - 11905: 0xC250, - 32766 - 11905: 0xC251, - 32767 - 11905: 0xC252, - 32768 - 11905: 0xD2AB, - 32769 - 11905: 0xC0CF, - 32770 - 11905: 0xC253, - 32771 - 11905: 0xBFBC, - 32772 - 11905: 0xEBA3, - 32773 - 11905: 0xD5DF, - 32774 - 11905: 0xEAC8, - 32775 - 11905: 0xC254, - 32776 - 11905: 0xC255, - 32777 - 11905: 0xC256, - 32778 - 11905: 0xC257, - 32779 - 11905: 0xF1F3, - 32780 - 11905: 0xB6F8, - 32781 - 11905: 0xCBA3, - 32782 - 11905: 0xC258, - 32783 - 11905: 0xC259, - 32784 - 11905: 0xC4CD, - 32785 - 11905: 0xC25A, - 32786 - 11905: 0xF1E7, - 32787 - 11905: 0xC25B, - 32788 - 11905: 0xF1E8, - 32789 - 11905: 0xB8FB, - 32790 - 11905: 0xF1E9, - 32791 - 11905: 0xBAC4, - 32792 - 11905: 0xD4C5, - 32793 - 11905: 0xB0D2, - 32794 - 11905: 0xC25C, - 32795 - 11905: 0xC25D, - 32796 - 11905: 0xF1EA, - 32797 - 11905: 0xC25E, - 32798 - 11905: 0xC25F, - 32799 - 11905: 0xC260, - 32800 - 11905: 0xF1EB, - 32801 - 11905: 0xC261, - 32802 - 11905: 0xF1EC, - 32803 - 11905: 0xC262, - 32804 - 11905: 0xC263, - 32805 - 11905: 0xF1ED, - 32806 - 11905: 0xF1EE, - 32807 - 11905: 0xF1EF, - 32808 - 11905: 0xF1F1, - 32809 - 11905: 0xF1F0, - 32810 - 11905: 0xC5D5, - 32811 - 11905: 0xC264, - 32812 - 11905: 0xC265, - 32813 - 11905: 0xC266, - 32814 - 11905: 0xC267, - 32815 - 11905: 0xC268, - 32816 - 11905: 0xC269, - 32817 - 11905: 0xF1F2, - 32818 - 11905: 0xC26A, - 32819 - 11905: 0xB6FA, - 32820 - 11905: 0xC26B, - 32821 - 11905: 0xF1F4, - 32822 - 11905: 0xD2AE, - 32823 - 11905: 0xDEC7, - 32824 - 11905: 0xCBCA, - 32825 - 11905: 0xC26C, - 32826 - 11905: 0xC26D, - 32827 - 11905: 0xB3DC, - 32828 - 11905: 0xC26E, - 32829 - 11905: 0xB5A2, - 32830 - 11905: 0xC26F, - 32831 - 11905: 0xB9A2, - 32832 - 11905: 0xC270, - 32833 - 11905: 0xC271, - 32834 - 11905: 0xC4F4, - 32835 - 11905: 0xF1F5, - 32836 - 11905: 0xC272, - 32837 - 11905: 0xC273, - 32838 - 11905: 0xF1F6, - 32839 - 11905: 0xC274, - 32840 - 11905: 0xC275, - 32841 - 11905: 0xC276, - 32842 - 11905: 0xC1C4, - 32843 - 11905: 0xC1FB, - 32844 - 11905: 0xD6B0, - 32845 - 11905: 0xF1F7, - 32846 - 11905: 0xC277, - 32847 - 11905: 0xC278, - 32848 - 11905: 0xC279, - 32849 - 11905: 0xC27A, - 32850 - 11905: 0xF1F8, - 32851 - 11905: 0xC27B, - 32852 - 11905: 0xC1AA, - 32853 - 11905: 0xC27C, - 32854 - 11905: 0xC27D, - 32855 - 11905: 0xC27E, - 32856 - 11905: 0xC6B8, - 32857 - 11905: 0xC280, - 32858 - 11905: 0xBEDB, - 32859 - 11905: 0xC281, - 32860 - 11905: 0xC282, - 32861 - 11905: 0xC283, - 32862 - 11905: 0xC284, - 32863 - 11905: 0xC285, - 32864 - 11905: 0xC286, - 32865 - 11905: 0xC287, - 32866 - 11905: 0xC288, - 32867 - 11905: 0xC289, - 32868 - 11905: 0xC28A, - 32869 - 11905: 0xC28B, - 32870 - 11905: 0xC28C, - 32871 - 11905: 0xC28D, - 32872 - 11905: 0xC28E, - 32873 - 11905: 0xF1F9, - 32874 - 11905: 0xB4CF, - 32875 - 11905: 0xC28F, - 32876 - 11905: 0xC290, - 32877 - 11905: 0xC291, - 32878 - 11905: 0xC292, - 32879 - 11905: 0xC293, - 32880 - 11905: 0xC294, - 32881 - 11905: 0xF1FA, - 32882 - 11905: 0xC295, - 32883 - 11905: 0xC296, - 32884 - 11905: 0xC297, - 32885 - 11905: 0xC298, - 32886 - 11905: 0xC299, - 32887 - 11905: 0xC29A, - 32888 - 11905: 0xC29B, - 32889 - 11905: 0xC29C, - 32890 - 11905: 0xC29D, - 32891 - 11905: 0xC29E, - 32892 - 11905: 0xC29F, - 32893 - 11905: 0xC2A0, - 32894 - 11905: 0xC340, - 32895 - 11905: 0xEDB2, - 32896 - 11905: 0xEDB1, - 32897 - 11905: 0xC341, - 32898 - 11905: 0xC342, - 32899 - 11905: 0xCBE0, - 32900 - 11905: 0xD2DE, - 32901 - 11905: 0xC343, - 32902 - 11905: 0xCBC1, - 32903 - 11905: 0xD5D8, - 32904 - 11905: 0xC344, - 32905 - 11905: 0xC8E2, - 32906 - 11905: 0xC345, - 32907 - 11905: 0xC0DF, - 32908 - 11905: 0xBCA1, - 32909 - 11905: 0xC346, - 32910 - 11905: 0xC347, - 32911 - 11905: 0xC348, - 32912 - 11905: 0xC349, - 32913 - 11905: 0xC34A, - 32914 - 11905: 0xC34B, - 32915 - 11905: 0xEBC1, - 32916 - 11905: 0xC34C, - 32917 - 11905: 0xC34D, - 32918 - 11905: 0xD0A4, - 32919 - 11905: 0xC34E, - 32920 - 11905: 0xD6E2, - 32921 - 11905: 0xC34F, - 32922 - 11905: 0xB6C7, - 32923 - 11905: 0xB8D8, - 32924 - 11905: 0xEBC0, - 32925 - 11905: 0xB8CE, - 32926 - 11905: 0xC350, - 32927 - 11905: 0xEBBF, - 32928 - 11905: 0xB3A6, - 32929 - 11905: 0xB9C9, - 32930 - 11905: 0xD6AB, - 32931 - 11905: 0xC351, - 32932 - 11905: 0xB7F4, - 32933 - 11905: 0xB7CA, - 32934 - 11905: 0xC352, - 32935 - 11905: 0xC353, - 32936 - 11905: 0xC354, - 32937 - 11905: 0xBCE7, - 32938 - 11905: 0xB7BE, - 32939 - 11905: 0xEBC6, - 32940 - 11905: 0xC355, - 32941 - 11905: 0xEBC7, - 32942 - 11905: 0xB0B9, - 32943 - 11905: 0xBFCF, - 32944 - 11905: 0xC356, - 32945 - 11905: 0xEBC5, - 32946 - 11905: 0xD3FD, - 32947 - 11905: 0xC357, - 32948 - 11905: 0xEBC8, - 32949 - 11905: 0xC358, - 32950 - 11905: 0xC359, - 32951 - 11905: 0xEBC9, - 32952 - 11905: 0xC35A, - 32953 - 11905: 0xC35B, - 32954 - 11905: 0xB7CE, - 32955 - 11905: 0xC35C, - 32956 - 11905: 0xEBC2, - 32957 - 11905: 0xEBC4, - 32958 - 11905: 0xC9F6, - 32959 - 11905: 0xD6D7, - 32960 - 11905: 0xD5CD, - 32961 - 11905: 0xD0B2, - 32962 - 11905: 0xEBCF, - 32963 - 11905: 0xCEB8, - 32964 - 11905: 0xEBD0, - 32965 - 11905: 0xC35D, - 32966 - 11905: 0xB5A8, - 32967 - 11905: 0xC35E, - 32968 - 11905: 0xC35F, - 32969 - 11905: 0xC360, - 32970 - 11905: 0xC361, - 32971 - 11905: 0xC362, - 32972 - 11905: 0xB1B3, - 32973 - 11905: 0xEBD2, - 32974 - 11905: 0xCCA5, - 32975 - 11905: 0xC363, - 32976 - 11905: 0xC364, - 32977 - 11905: 0xC365, - 32978 - 11905: 0xC366, - 32979 - 11905: 0xC367, - 32980 - 11905: 0xC368, - 32981 - 11905: 0xC369, - 32982 - 11905: 0xC5D6, - 32983 - 11905: 0xEBD3, - 32984 - 11905: 0xC36A, - 32985 - 11905: 0xEBD1, - 32986 - 11905: 0xC5DF, - 32987 - 11905: 0xEBCE, - 32988 - 11905: 0xCAA4, - 32989 - 11905: 0xEBD5, - 32990 - 11905: 0xB0FB, - 32991 - 11905: 0xC36B, - 32992 - 11905: 0xC36C, - 32993 - 11905: 0xBAFA, - 32994 - 11905: 0xC36D, - 32995 - 11905: 0xC36E, - 32996 - 11905: 0xD8B7, - 32997 - 11905: 0xF1E3, - 32998 - 11905: 0xC36F, - 32999 - 11905: 0xEBCA, - 33000 - 11905: 0xEBCB, - 33001 - 11905: 0xEBCC, - 33002 - 11905: 0xEBCD, - 33003 - 11905: 0xEBD6, - 33004 - 11905: 0xE6C0, - 33005 - 11905: 0xEBD9, - 33006 - 11905: 0xC370, - 33007 - 11905: 0xBFE8, - 33008 - 11905: 0xD2C8, - 33009 - 11905: 0xEBD7, - 33010 - 11905: 0xEBDC, - 33011 - 11905: 0xB8EC, - 33012 - 11905: 0xEBD8, - 33013 - 11905: 0xC371, - 33014 - 11905: 0xBDBA, - 33015 - 11905: 0xC372, - 33016 - 11905: 0xD0D8, - 33017 - 11905: 0xC373, - 33018 - 11905: 0xB0B7, - 33019 - 11905: 0xC374, - 33020 - 11905: 0xEBDD, - 33021 - 11905: 0xC4DC, - 33022 - 11905: 0xC375, - 33023 - 11905: 0xC376, - 33024 - 11905: 0xC377, - 33025 - 11905: 0xC378, - 33026 - 11905: 0xD6AC, - 33027 - 11905: 0xC379, - 33028 - 11905: 0xC37A, - 33029 - 11905: 0xC37B, - 33030 - 11905: 0xB4E0, - 33031 - 11905: 0xC37C, - 33032 - 11905: 0xC37D, - 33033 - 11905: 0xC2F6, - 33034 - 11905: 0xBCB9, - 33035 - 11905: 0xC37E, - 33036 - 11905: 0xC380, - 33037 - 11905: 0xEBDA, - 33038 - 11905: 0xEBDB, - 33039 - 11905: 0xD4E0, - 33040 - 11905: 0xC6EA, - 33041 - 11905: 0xC4D4, - 33042 - 11905: 0xEBDF, - 33043 - 11905: 0xC5A7, - 33044 - 11905: 0xD9F5, - 33045 - 11905: 0xC381, - 33046 - 11905: 0xB2B1, - 33047 - 11905: 0xC382, - 33048 - 11905: 0xEBE4, - 33049 - 11905: 0xC383, - 33050 - 11905: 0xBDC5, - 33051 - 11905: 0xC384, - 33052 - 11905: 0xC385, - 33053 - 11905: 0xC386, - 33054 - 11905: 0xEBE2, - 33055 - 11905: 0xC387, - 33056 - 11905: 0xC388, - 33057 - 11905: 0xC389, - 33058 - 11905: 0xC38A, - 33059 - 11905: 0xC38B, - 33060 - 11905: 0xC38C, - 33061 - 11905: 0xC38D, - 33062 - 11905: 0xC38E, - 33063 - 11905: 0xC38F, - 33064 - 11905: 0xC390, - 33065 - 11905: 0xC391, - 33066 - 11905: 0xC392, - 33067 - 11905: 0xC393, - 33068 - 11905: 0xEBE3, - 33069 - 11905: 0xC394, - 33070 - 11905: 0xC395, - 33071 - 11905: 0xB8AC, - 33072 - 11905: 0xC396, - 33073 - 11905: 0xCDD1, - 33074 - 11905: 0xEBE5, - 33075 - 11905: 0xC397, - 33076 - 11905: 0xC398, - 33077 - 11905: 0xC399, - 33078 - 11905: 0xEBE1, - 33079 - 11905: 0xC39A, - 33080 - 11905: 0xC1B3, - 33081 - 11905: 0xC39B, - 33082 - 11905: 0xC39C, - 33083 - 11905: 0xC39D, - 33084 - 11905: 0xC39E, - 33085 - 11905: 0xC39F, - 33086 - 11905: 0xC6A2, - 33087 - 11905: 0xC3A0, - 33088 - 11905: 0xC440, - 33089 - 11905: 0xC441, - 33090 - 11905: 0xC442, - 33091 - 11905: 0xC443, - 33092 - 11905: 0xC444, - 33093 - 11905: 0xC445, - 33094 - 11905: 0xCCF3, - 33095 - 11905: 0xC446, - 33096 - 11905: 0xEBE6, - 33097 - 11905: 0xC447, - 33098 - 11905: 0xC0B0, - 33099 - 11905: 0xD2B8, - 33100 - 11905: 0xEBE7, - 33101 - 11905: 0xC448, - 33102 - 11905: 0xC449, - 33103 - 11905: 0xC44A, - 33104 - 11905: 0xB8AF, - 33105 - 11905: 0xB8AD, - 33106 - 11905: 0xC44B, - 33107 - 11905: 0xEBE8, - 33108 - 11905: 0xC7BB, - 33109 - 11905: 0xCDF3, - 33110 - 11905: 0xC44C, - 33111 - 11905: 0xC44D, - 33112 - 11905: 0xC44E, - 33113 - 11905: 0xEBEA, - 33114 - 11905: 0xEBEB, - 33115 - 11905: 0xC44F, - 33116 - 11905: 0xC450, - 33117 - 11905: 0xC451, - 33118 - 11905: 0xC452, - 33119 - 11905: 0xC453, - 33120 - 11905: 0xEBED, - 33121 - 11905: 0xC454, - 33122 - 11905: 0xC455, - 33123 - 11905: 0xC456, - 33124 - 11905: 0xC457, - 33125 - 11905: 0xD0C8, - 33126 - 11905: 0xC458, - 33127 - 11905: 0xEBF2, - 33128 - 11905: 0xC459, - 33129 - 11905: 0xEBEE, - 33130 - 11905: 0xC45A, - 33131 - 11905: 0xC45B, - 33132 - 11905: 0xC45C, - 33133 - 11905: 0xEBF1, - 33134 - 11905: 0xC8F9, - 33135 - 11905: 0xC45D, - 33136 - 11905: 0xD1FC, - 33137 - 11905: 0xEBEC, - 33138 - 11905: 0xC45E, - 33139 - 11905: 0xC45F, - 33140 - 11905: 0xEBE9, - 33141 - 11905: 0xC460, - 33142 - 11905: 0xC461, - 33143 - 11905: 0xC462, - 33144 - 11905: 0xC463, - 33145 - 11905: 0xB8B9, - 33146 - 11905: 0xCFD9, - 33147 - 11905: 0xC4E5, - 33148 - 11905: 0xEBEF, - 33149 - 11905: 0xEBF0, - 33150 - 11905: 0xCCDA, - 33151 - 11905: 0xCDC8, - 33152 - 11905: 0xB0F2, - 33153 - 11905: 0xC464, - 33154 - 11905: 0xEBF6, - 33155 - 11905: 0xC465, - 33156 - 11905: 0xC466, - 33157 - 11905: 0xC467, - 33158 - 11905: 0xC468, - 33159 - 11905: 0xC469, - 33160 - 11905: 0xEBF5, - 33161 - 11905: 0xC46A, - 33162 - 11905: 0xB2B2, - 33163 - 11905: 0xC46B, - 33164 - 11905: 0xC46C, - 33165 - 11905: 0xC46D, - 33166 - 11905: 0xC46E, - 33167 - 11905: 0xB8E0, - 33168 - 11905: 0xC46F, - 33169 - 11905: 0xEBF7, - 33170 - 11905: 0xC470, - 33171 - 11905: 0xC471, - 33172 - 11905: 0xC472, - 33173 - 11905: 0xC473, - 33174 - 11905: 0xC474, - 33175 - 11905: 0xC475, - 33176 - 11905: 0xB1EC, - 33177 - 11905: 0xC476, - 33178 - 11905: 0xC477, - 33179 - 11905: 0xCCC5, - 33180 - 11905: 0xC4A4, - 33181 - 11905: 0xCFA5, - 33182 - 11905: 0xC478, - 33183 - 11905: 0xC479, - 33184 - 11905: 0xC47A, - 33185 - 11905: 0xC47B, - 33186 - 11905: 0xC47C, - 33187 - 11905: 0xEBF9, - 33188 - 11905: 0xC47D, - 33189 - 11905: 0xC47E, - 33190 - 11905: 0xECA2, - 33191 - 11905: 0xC480, - 33192 - 11905: 0xC5F2, - 33193 - 11905: 0xC481, - 33194 - 11905: 0xEBFA, - 33195 - 11905: 0xC482, - 33196 - 11905: 0xC483, - 33197 - 11905: 0xC484, - 33198 - 11905: 0xC485, - 33199 - 11905: 0xC486, - 33200 - 11905: 0xC487, - 33201 - 11905: 0xC488, - 33202 - 11905: 0xC489, - 33203 - 11905: 0xC9C5, - 33204 - 11905: 0xC48A, - 33205 - 11905: 0xC48B, - 33206 - 11905: 0xC48C, - 33207 - 11905: 0xC48D, - 33208 - 11905: 0xC48E, - 33209 - 11905: 0xC48F, - 33210 - 11905: 0xE2DF, - 33211 - 11905: 0xEBFE, - 33212 - 11905: 0xC490, - 33213 - 11905: 0xC491, - 33214 - 11905: 0xC492, - 33215 - 11905: 0xC493, - 33216 - 11905: 0xCDCE, - 33217 - 11905: 0xECA1, - 33218 - 11905: 0xB1DB, - 33219 - 11905: 0xD3B7, - 33220 - 11905: 0xC494, - 33221 - 11905: 0xC495, - 33222 - 11905: 0xD2DC, - 33223 - 11905: 0xC496, - 33224 - 11905: 0xC497, - 33225 - 11905: 0xC498, - 33226 - 11905: 0xEBFD, - 33227 - 11905: 0xC499, - 33228 - 11905: 0xEBFB, - 33229 - 11905: 0xC49A, - 33230 - 11905: 0xC49B, - 33231 - 11905: 0xC49C, - 33232 - 11905: 0xC49D, - 33233 - 11905: 0xC49E, - 33234 - 11905: 0xC49F, - 33235 - 11905: 0xC4A0, - 33236 - 11905: 0xC540, - 33237 - 11905: 0xC541, - 33238 - 11905: 0xC542, - 33239 - 11905: 0xC543, - 33240 - 11905: 0xC544, - 33241 - 11905: 0xC545, - 33242 - 11905: 0xC546, - 33243 - 11905: 0xC547, - 33244 - 11905: 0xC548, - 33245 - 11905: 0xC549, - 33246 - 11905: 0xC54A, - 33247 - 11905: 0xC54B, - 33248 - 11905: 0xC54C, - 33249 - 11905: 0xC54D, - 33250 - 11905: 0xC54E, - 33251 - 11905: 0xB3BC, - 33252 - 11905: 0xC54F, - 33253 - 11905: 0xC550, - 33254 - 11905: 0xC551, - 33255 - 11905: 0xEAB0, - 33256 - 11905: 0xC552, - 33257 - 11905: 0xC553, - 33258 - 11905: 0xD7D4, - 33259 - 11905: 0xC554, - 33260 - 11905: 0xF4AB, - 33261 - 11905: 0xB3F4, - 33262 - 11905: 0xC555, - 33263 - 11905: 0xC556, - 33264 - 11905: 0xC557, - 33265 - 11905: 0xC558, - 33266 - 11905: 0xC559, - 33267 - 11905: 0xD6C1, - 33268 - 11905: 0xD6C2, - 33269 - 11905: 0xC55A, - 33270 - 11905: 0xC55B, - 33271 - 11905: 0xC55C, - 33272 - 11905: 0xC55D, - 33273 - 11905: 0xC55E, - 33274 - 11905: 0xC55F, - 33275 - 11905: 0xD5E9, - 33276 - 11905: 0xBECA, - 33277 - 11905: 0xC560, - 33278 - 11905: 0xF4A7, - 33279 - 11905: 0xC561, - 33280 - 11905: 0xD2A8, - 33281 - 11905: 0xF4A8, - 33282 - 11905: 0xF4A9, - 33283 - 11905: 0xC562, - 33284 - 11905: 0xF4AA, - 33285 - 11905: 0xBECB, - 33286 - 11905: 0xD3DF, - 33287 - 11905: 0xC563, - 33288 - 11905: 0xC564, - 33289 - 11905: 0xC565, - 33290 - 11905: 0xC566, - 33291 - 11905: 0xC567, - 33292 - 11905: 0xC9E0, - 33293 - 11905: 0xC9E1, - 33294 - 11905: 0xC568, - 33295 - 11905: 0xC569, - 33296 - 11905: 0xF3C2, - 33297 - 11905: 0xC56A, - 33298 - 11905: 0xCAE6, - 33299 - 11905: 0xC56B, - 33300 - 11905: 0xCCF2, - 33301 - 11905: 0xC56C, - 33302 - 11905: 0xC56D, - 33303 - 11905: 0xC56E, - 33304 - 11905: 0xC56F, - 33305 - 11905: 0xC570, - 33306 - 11905: 0xC571, - 33307 - 11905: 0xE2B6, - 33308 - 11905: 0xCBB4, - 33309 - 11905: 0xC572, - 33310 - 11905: 0xCEE8, - 33311 - 11905: 0xD6DB, - 33312 - 11905: 0xC573, - 33313 - 11905: 0xF4AD, - 33314 - 11905: 0xF4AE, - 33315 - 11905: 0xF4AF, - 33316 - 11905: 0xC574, - 33317 - 11905: 0xC575, - 33318 - 11905: 0xC576, - 33319 - 11905: 0xC577, - 33320 - 11905: 0xF4B2, - 33321 - 11905: 0xC578, - 33322 - 11905: 0xBABD, - 33323 - 11905: 0xF4B3, - 33324 - 11905: 0xB0E3, - 33325 - 11905: 0xF4B0, - 33326 - 11905: 0xC579, - 33327 - 11905: 0xF4B1, - 33328 - 11905: 0xBDA2, - 33329 - 11905: 0xB2D5, - 33330 - 11905: 0xC57A, - 33331 - 11905: 0xF4B6, - 33332 - 11905: 0xF4B7, - 33333 - 11905: 0xB6E6, - 33334 - 11905: 0xB2B0, - 33335 - 11905: 0xCFCF, - 33336 - 11905: 0xF4B4, - 33337 - 11905: 0xB4AC, - 33338 - 11905: 0xC57B, - 33339 - 11905: 0xF4B5, - 33340 - 11905: 0xC57C, - 33341 - 11905: 0xC57D, - 33342 - 11905: 0xF4B8, - 33343 - 11905: 0xC57E, - 33344 - 11905: 0xC580, - 33345 - 11905: 0xC581, - 33346 - 11905: 0xC582, - 33347 - 11905: 0xC583, - 33348 - 11905: 0xF4B9, - 33349 - 11905: 0xC584, - 33350 - 11905: 0xC585, - 33351 - 11905: 0xCDA7, - 33352 - 11905: 0xC586, - 33353 - 11905: 0xF4BA, - 33354 - 11905: 0xC587, - 33355 - 11905: 0xF4BB, - 33356 - 11905: 0xC588, - 33357 - 11905: 0xC589, - 33358 - 11905: 0xC58A, - 33359 - 11905: 0xF4BC, - 33360 - 11905: 0xC58B, - 33361 - 11905: 0xC58C, - 33362 - 11905: 0xC58D, - 33363 - 11905: 0xC58E, - 33364 - 11905: 0xC58F, - 33365 - 11905: 0xC590, - 33366 - 11905: 0xC591, - 33367 - 11905: 0xC592, - 33368 - 11905: 0xCBD2, - 33369 - 11905: 0xC593, - 33370 - 11905: 0xF4BD, - 33371 - 11905: 0xC594, - 33372 - 11905: 0xC595, - 33373 - 11905: 0xC596, - 33374 - 11905: 0xC597, - 33375 - 11905: 0xF4BE, - 33376 - 11905: 0xC598, - 33377 - 11905: 0xC599, - 33378 - 11905: 0xC59A, - 33379 - 11905: 0xC59B, - 33380 - 11905: 0xC59C, - 33381 - 11905: 0xC59D, - 33382 - 11905: 0xC59E, - 33383 - 11905: 0xC59F, - 33384 - 11905: 0xF4BF, - 33385 - 11905: 0xC5A0, - 33386 - 11905: 0xC640, - 33387 - 11905: 0xC641, - 33388 - 11905: 0xC642, - 33389 - 11905: 0xC643, - 33390 - 11905: 0xF4DE, - 33391 - 11905: 0xC1BC, - 33392 - 11905: 0xBCE8, - 33393 - 11905: 0xC644, - 33394 - 11905: 0xC9AB, - 33395 - 11905: 0xD1DE, - 33396 - 11905: 0xE5F5, - 33397 - 11905: 0xC645, - 33398 - 11905: 0xC646, - 33399 - 11905: 0xC647, - 33400 - 11905: 0xC648, - 33401 - 11905: 0xDCB3, - 33402 - 11905: 0xD2D5, - 33403 - 11905: 0xC649, - 33404 - 11905: 0xC64A, - 33405 - 11905: 0xDCB4, - 33406 - 11905: 0xB0AC, - 33407 - 11905: 0xDCB5, - 33408 - 11905: 0xC64B, - 33409 - 11905: 0xC64C, - 33410 - 11905: 0xBDDA, - 33411 - 11905: 0xC64D, - 33412 - 11905: 0xDCB9, - 33413 - 11905: 0xC64E, - 33414 - 11905: 0xC64F, - 33415 - 11905: 0xC650, - 33416 - 11905: 0xD8C2, - 33417 - 11905: 0xC651, - 33418 - 11905: 0xDCB7, - 33419 - 11905: 0xD3F3, - 33420 - 11905: 0xC652, - 33421 - 11905: 0xC9D6, - 33422 - 11905: 0xDCBA, - 33423 - 11905: 0xDCB6, - 33424 - 11905: 0xC653, - 33425 - 11905: 0xDCBB, - 33426 - 11905: 0xC3A2, - 33427 - 11905: 0xC654, - 33428 - 11905: 0xC655, - 33429 - 11905: 0xC656, - 33430 - 11905: 0xC657, - 33431 - 11905: 0xDCBC, - 33432 - 11905: 0xDCC5, - 33433 - 11905: 0xDCBD, - 33434 - 11905: 0xC658, - 33435 - 11905: 0xC659, - 33436 - 11905: 0xCEDF, - 33437 - 11905: 0xD6A5, - 33438 - 11905: 0xC65A, - 33439 - 11905: 0xDCCF, - 33440 - 11905: 0xC65B, - 33441 - 11905: 0xDCCD, - 33442 - 11905: 0xC65C, - 33443 - 11905: 0xC65D, - 33444 - 11905: 0xDCD2, - 33445 - 11905: 0xBDE6, - 33446 - 11905: 0xC2AB, - 33447 - 11905: 0xC65E, - 33448 - 11905: 0xDCB8, - 33449 - 11905: 0xDCCB, - 33450 - 11905: 0xDCCE, - 33451 - 11905: 0xDCBE, - 33452 - 11905: 0xB7D2, - 33453 - 11905: 0xB0C5, - 33454 - 11905: 0xDCC7, - 33455 - 11905: 0xD0BE, - 33456 - 11905: 0xDCC1, - 33457 - 11905: 0xBBA8, - 33458 - 11905: 0xC65F, - 33459 - 11905: 0xB7BC, - 33460 - 11905: 0xDCCC, - 33461 - 11905: 0xC660, - 33462 - 11905: 0xC661, - 33463 - 11905: 0xDCC6, - 33464 - 11905: 0xDCBF, - 33465 - 11905: 0xC7DB, - 33466 - 11905: 0xC662, - 33467 - 11905: 0xC663, - 33468 - 11905: 0xC664, - 33469 - 11905: 0xD1BF, - 33470 - 11905: 0xDCC0, - 33471 - 11905: 0xC665, - 33472 - 11905: 0xC666, - 33473 - 11905: 0xDCCA, - 33474 - 11905: 0xC667, - 33475 - 11905: 0xC668, - 33476 - 11905: 0xDCD0, - 33477 - 11905: 0xC669, - 33478 - 11905: 0xC66A, - 33479 - 11905: 0xCEAD, - 33480 - 11905: 0xDCC2, - 33481 - 11905: 0xC66B, - 33482 - 11905: 0xDCC3, - 33483 - 11905: 0xDCC8, - 33484 - 11905: 0xDCC9, - 33485 - 11905: 0xB2D4, - 33486 - 11905: 0xDCD1, - 33487 - 11905: 0xCBD5, - 33488 - 11905: 0xC66C, - 33489 - 11905: 0xD4B7, - 33490 - 11905: 0xDCDB, - 33491 - 11905: 0xDCDF, - 33492 - 11905: 0xCCA6, - 33493 - 11905: 0xDCE6, - 33494 - 11905: 0xC66D, - 33495 - 11905: 0xC3E7, - 33496 - 11905: 0xDCDC, - 33497 - 11905: 0xC66E, - 33498 - 11905: 0xC66F, - 33499 - 11905: 0xBFC1, - 33500 - 11905: 0xDCD9, - 33501 - 11905: 0xC670, - 33502 - 11905: 0xB0FA, - 33503 - 11905: 0xB9B6, - 33504 - 11905: 0xDCE5, - 33505 - 11905: 0xDCD3, - 33506 - 11905: 0xC671, - 33507 - 11905: 0xDCC4, - 33508 - 11905: 0xDCD6, - 33509 - 11905: 0xC8F4, - 33510 - 11905: 0xBFE0, - 33511 - 11905: 0xC672, - 33512 - 11905: 0xC673, - 33513 - 11905: 0xC674, - 33514 - 11905: 0xC675, - 33515 - 11905: 0xC9BB, - 33516 - 11905: 0xC676, - 33517 - 11905: 0xC677, - 33518 - 11905: 0xC678, - 33519 - 11905: 0xB1BD, - 33520 - 11905: 0xC679, - 33521 - 11905: 0xD3A2, - 33522 - 11905: 0xC67A, - 33523 - 11905: 0xC67B, - 33524 - 11905: 0xDCDA, - 33525 - 11905: 0xC67C, - 33526 - 11905: 0xC67D, - 33527 - 11905: 0xDCD5, - 33528 - 11905: 0xC67E, - 33529 - 11905: 0xC6BB, - 33530 - 11905: 0xC680, - 33531 - 11905: 0xDCDE, - 33532 - 11905: 0xC681, - 33533 - 11905: 0xC682, - 33534 - 11905: 0xC683, - 33535 - 11905: 0xC684, - 33536 - 11905: 0xC685, - 33537 - 11905: 0xD7C2, - 33538 - 11905: 0xC3AF, - 33539 - 11905: 0xB7B6, - 33540 - 11905: 0xC7D1, - 33541 - 11905: 0xC3A9, - 33542 - 11905: 0xDCE2, - 33543 - 11905: 0xDCD8, - 33544 - 11905: 0xDCEB, - 33545 - 11905: 0xDCD4, - 33546 - 11905: 0xC686, - 33547 - 11905: 0xC687, - 33548 - 11905: 0xDCDD, - 33549 - 11905: 0xC688, - 33550 - 11905: 0xBEA5, - 33551 - 11905: 0xDCD7, - 33552 - 11905: 0xC689, - 33553 - 11905: 0xDCE0, - 33554 - 11905: 0xC68A, - 33555 - 11905: 0xC68B, - 33556 - 11905: 0xDCE3, - 33557 - 11905: 0xDCE4, - 33558 - 11905: 0xC68C, - 33559 - 11905: 0xDCF8, - 33560 - 11905: 0xC68D, - 33561 - 11905: 0xC68E, - 33562 - 11905: 0xDCE1, - 33563 - 11905: 0xDDA2, - 33564 - 11905: 0xDCE7, - 33565 - 11905: 0xC68F, - 33566 - 11905: 0xC690, - 33567 - 11905: 0xC691, - 33568 - 11905: 0xC692, - 33569 - 11905: 0xC693, - 33570 - 11905: 0xC694, - 33571 - 11905: 0xC695, - 33572 - 11905: 0xC696, - 33573 - 11905: 0xC697, - 33574 - 11905: 0xC698, - 33575 - 11905: 0xBCEB, - 33576 - 11905: 0xB4C4, - 33577 - 11905: 0xC699, - 33578 - 11905: 0xC69A, - 33579 - 11905: 0xC3A3, - 33580 - 11905: 0xB2E7, - 33581 - 11905: 0xDCFA, - 33582 - 11905: 0xC69B, - 33583 - 11905: 0xDCF2, - 33584 - 11905: 0xC69C, - 33585 - 11905: 0xDCEF, - 33586 - 11905: 0xC69D, - 33587 - 11905: 0xDCFC, - 33588 - 11905: 0xDCEE, - 33589 - 11905: 0xD2F0, - 33590 - 11905: 0xB2E8, - 33591 - 11905: 0xC69E, - 33592 - 11905: 0xC8D7, - 33593 - 11905: 0xC8E3, - 33594 - 11905: 0xDCFB, - 33595 - 11905: 0xC69F, - 33596 - 11905: 0xDCED, - 33597 - 11905: 0xC6A0, - 33598 - 11905: 0xC740, - 33599 - 11905: 0xC741, - 33600 - 11905: 0xDCF7, - 33601 - 11905: 0xC742, - 33602 - 11905: 0xC743, - 33603 - 11905: 0xDCF5, - 33604 - 11905: 0xC744, - 33605 - 11905: 0xC745, - 33606 - 11905: 0xBEA3, - 33607 - 11905: 0xDCF4, - 33608 - 11905: 0xC746, - 33609 - 11905: 0xB2DD, - 33610 - 11905: 0xC747, - 33611 - 11905: 0xC748, - 33612 - 11905: 0xC749, - 33613 - 11905: 0xC74A, - 33614 - 11905: 0xC74B, - 33615 - 11905: 0xDCF3, - 33616 - 11905: 0xBCF6, - 33617 - 11905: 0xDCE8, - 33618 - 11905: 0xBBC4, - 33619 - 11905: 0xC74C, - 33620 - 11905: 0xC0F3, - 33621 - 11905: 0xC74D, - 33622 - 11905: 0xC74E, - 33623 - 11905: 0xC74F, - 33624 - 11905: 0xC750, - 33625 - 11905: 0xC751, - 33626 - 11905: 0xBCD4, - 33627 - 11905: 0xDCE9, - 33628 - 11905: 0xDCEA, - 33629 - 11905: 0xC752, - 33630 - 11905: 0xDCF1, - 33631 - 11905: 0xDCF6, - 33632 - 11905: 0xDCF9, - 33633 - 11905: 0xB5B4, - 33634 - 11905: 0xC753, - 33635 - 11905: 0xC8D9, - 33636 - 11905: 0xBBE7, - 33637 - 11905: 0xDCFE, - 33638 - 11905: 0xDCFD, - 33639 - 11905: 0xD3AB, - 33640 - 11905: 0xDDA1, - 33641 - 11905: 0xDDA3, - 33642 - 11905: 0xDDA5, - 33643 - 11905: 0xD2F1, - 33644 - 11905: 0xDDA4, - 33645 - 11905: 0xDDA6, - 33646 - 11905: 0xDDA7, - 33647 - 11905: 0xD2A9, - 33648 - 11905: 0xC754, - 33649 - 11905: 0xC755, - 33650 - 11905: 0xC756, - 33651 - 11905: 0xC757, - 33652 - 11905: 0xC758, - 33653 - 11905: 0xC759, - 33654 - 11905: 0xC75A, - 33655 - 11905: 0xBAC9, - 33656 - 11905: 0xDDA9, - 33657 - 11905: 0xC75B, - 33658 - 11905: 0xC75C, - 33659 - 11905: 0xDDB6, - 33660 - 11905: 0xDDB1, - 33661 - 11905: 0xDDB4, - 33662 - 11905: 0xC75D, - 33663 - 11905: 0xC75E, - 33664 - 11905: 0xC75F, - 33665 - 11905: 0xC760, - 33666 - 11905: 0xC761, - 33667 - 11905: 0xC762, - 33668 - 11905: 0xC763, - 33669 - 11905: 0xDDB0, - 33670 - 11905: 0xC6CE, - 33671 - 11905: 0xC764, - 33672 - 11905: 0xC765, - 33673 - 11905: 0xC0F2, - 33674 - 11905: 0xC766, - 33675 - 11905: 0xC767, - 33676 - 11905: 0xC768, - 33677 - 11905: 0xC769, - 33678 - 11905: 0xC9AF, - 33679 - 11905: 0xC76A, - 33680 - 11905: 0xC76B, - 33681 - 11905: 0xC76C, - 33682 - 11905: 0xDCEC, - 33683 - 11905: 0xDDAE, - 33684 - 11905: 0xC76D, - 33685 - 11905: 0xC76E, - 33686 - 11905: 0xC76F, - 33687 - 11905: 0xC770, - 33688 - 11905: 0xDDB7, - 33689 - 11905: 0xC771, - 33690 - 11905: 0xC772, - 33691 - 11905: 0xDCF0, - 33692 - 11905: 0xDDAF, - 33693 - 11905: 0xC773, - 33694 - 11905: 0xDDB8, - 33695 - 11905: 0xC774, - 33696 - 11905: 0xDDAC, - 33697 - 11905: 0xC775, - 33698 - 11905: 0xC776, - 33699 - 11905: 0xC777, - 33700 - 11905: 0xC778, - 33701 - 11905: 0xC779, - 33702 - 11905: 0xC77A, - 33703 - 11905: 0xC77B, - 33704 - 11905: 0xDDB9, - 33705 - 11905: 0xDDB3, - 33706 - 11905: 0xDDAD, - 33707 - 11905: 0xC4AA, - 33708 - 11905: 0xC77C, - 33709 - 11905: 0xC77D, - 33710 - 11905: 0xC77E, - 33711 - 11905: 0xC780, - 33712 - 11905: 0xDDA8, - 33713 - 11905: 0xC0B3, - 33714 - 11905: 0xC1AB, - 33715 - 11905: 0xDDAA, - 33716 - 11905: 0xDDAB, - 33717 - 11905: 0xC781, - 33718 - 11905: 0xDDB2, - 33719 - 11905: 0xBBF1, - 33720 - 11905: 0xDDB5, - 33721 - 11905: 0xD3A8, - 33722 - 11905: 0xDDBA, - 33723 - 11905: 0xC782, - 33724 - 11905: 0xDDBB, - 33725 - 11905: 0xC3A7, - 33726 - 11905: 0xC783, - 33727 - 11905: 0xC784, - 33728 - 11905: 0xDDD2, - 33729 - 11905: 0xDDBC, - 33730 - 11905: 0xC785, - 33731 - 11905: 0xC786, - 33732 - 11905: 0xC787, - 33733 - 11905: 0xDDD1, - 33734 - 11905: 0xC788, - 33735 - 11905: 0xB9BD, - 33736 - 11905: 0xC789, - 33737 - 11905: 0xC78A, - 33738 - 11905: 0xBED5, - 33739 - 11905: 0xC78B, - 33740 - 11905: 0xBEFA, - 33741 - 11905: 0xC78C, - 33742 - 11905: 0xC78D, - 33743 - 11905: 0xBACA, - 33744 - 11905: 0xC78E, - 33745 - 11905: 0xC78F, - 33746 - 11905: 0xC790, - 33747 - 11905: 0xC791, - 33748 - 11905: 0xDDCA, - 33749 - 11905: 0xC792, - 33750 - 11905: 0xDDC5, - 33751 - 11905: 0xC793, - 33752 - 11905: 0xDDBF, - 33753 - 11905: 0xC794, - 33754 - 11905: 0xC795, - 33755 - 11905: 0xC796, - 33756 - 11905: 0xB2CB, - 33757 - 11905: 0xDDC3, - 33758 - 11905: 0xC797, - 33759 - 11905: 0xDDCB, - 33760 - 11905: 0xB2A4, - 33761 - 11905: 0xDDD5, - 33762 - 11905: 0xC798, - 33763 - 11905: 0xC799, - 33764 - 11905: 0xC79A, - 33765 - 11905: 0xDDBE, - 33766 - 11905: 0xC79B, - 33767 - 11905: 0xC79C, - 33768 - 11905: 0xC79D, - 33769 - 11905: 0xC6D0, - 33770 - 11905: 0xDDD0, - 33771 - 11905: 0xC79E, - 33772 - 11905: 0xC79F, - 33773 - 11905: 0xC7A0, - 33774 - 11905: 0xC840, - 33775 - 11905: 0xC841, - 33776 - 11905: 0xDDD4, - 33777 - 11905: 0xC1E2, - 33778 - 11905: 0xB7C6, - 33779 - 11905: 0xC842, - 33780 - 11905: 0xC843, - 33781 - 11905: 0xC844, - 33782 - 11905: 0xC845, - 33783 - 11905: 0xC846, - 33784 - 11905: 0xDDCE, - 33785 - 11905: 0xDDCF, - 33786 - 11905: 0xC847, - 33787 - 11905: 0xC848, - 33788 - 11905: 0xC849, - 33789 - 11905: 0xDDC4, - 33790 - 11905: 0xC84A, - 33791 - 11905: 0xC84B, - 33792 - 11905: 0xC84C, - 33793 - 11905: 0xDDBD, - 33794 - 11905: 0xC84D, - 33795 - 11905: 0xDDCD, - 33796 - 11905: 0xCCD1, - 33797 - 11905: 0xC84E, - 33798 - 11905: 0xDDC9, - 33799 - 11905: 0xC84F, - 33800 - 11905: 0xC850, - 33801 - 11905: 0xC851, - 33802 - 11905: 0xC852, - 33803 - 11905: 0xDDC2, - 33804 - 11905: 0xC3C8, - 33805 - 11905: 0xC6BC, - 33806 - 11905: 0xCEAE, - 33807 - 11905: 0xDDCC, - 33808 - 11905: 0xC853, - 33809 - 11905: 0xDDC8, - 33810 - 11905: 0xC854, - 33811 - 11905: 0xC855, - 33812 - 11905: 0xC856, - 33813 - 11905: 0xC857, - 33814 - 11905: 0xC858, - 33815 - 11905: 0xC859, - 33816 - 11905: 0xDDC1, - 33817 - 11905: 0xC85A, - 33818 - 11905: 0xC85B, - 33819 - 11905: 0xC85C, - 33820 - 11905: 0xDDC6, - 33821 - 11905: 0xC2DC, - 33822 - 11905: 0xC85D, - 33823 - 11905: 0xC85E, - 33824 - 11905: 0xC85F, - 33825 - 11905: 0xC860, - 33826 - 11905: 0xC861, - 33827 - 11905: 0xC862, - 33828 - 11905: 0xD3A9, - 33829 - 11905: 0xD3AA, - 33830 - 11905: 0xDDD3, - 33831 - 11905: 0xCFF4, - 33832 - 11905: 0xC8F8, - 33833 - 11905: 0xC863, - 33834 - 11905: 0xC864, - 33835 - 11905: 0xC865, - 33836 - 11905: 0xC866, - 33837 - 11905: 0xC867, - 33838 - 11905: 0xC868, - 33839 - 11905: 0xC869, - 33840 - 11905: 0xC86A, - 33841 - 11905: 0xDDE6, - 33842 - 11905: 0xC86B, - 33843 - 11905: 0xC86C, - 33844 - 11905: 0xC86D, - 33845 - 11905: 0xC86E, - 33846 - 11905: 0xC86F, - 33847 - 11905: 0xC870, - 33848 - 11905: 0xDDC7, - 33849 - 11905: 0xC871, - 33850 - 11905: 0xC872, - 33851 - 11905: 0xC873, - 33852 - 11905: 0xDDE0, - 33853 - 11905: 0xC2E4, - 33854 - 11905: 0xC874, - 33855 - 11905: 0xC875, - 33856 - 11905: 0xC876, - 33857 - 11905: 0xC877, - 33858 - 11905: 0xC878, - 33859 - 11905: 0xC879, - 33860 - 11905: 0xC87A, - 33861 - 11905: 0xC87B, - 33862 - 11905: 0xDDE1, - 33863 - 11905: 0xC87C, - 33864 - 11905: 0xC87D, - 33865 - 11905: 0xC87E, - 33866 - 11905: 0xC880, - 33867 - 11905: 0xC881, - 33868 - 11905: 0xC882, - 33869 - 11905: 0xC883, - 33870 - 11905: 0xC884, - 33871 - 11905: 0xC885, - 33872 - 11905: 0xC886, - 33873 - 11905: 0xDDD7, - 33874 - 11905: 0xC887, - 33875 - 11905: 0xC888, - 33876 - 11905: 0xC889, - 33877 - 11905: 0xC88A, - 33878 - 11905: 0xC88B, - 33879 - 11905: 0xD6F8, - 33880 - 11905: 0xC88C, - 33881 - 11905: 0xDDD9, - 33882 - 11905: 0xDDD8, - 33883 - 11905: 0xB8F0, - 33884 - 11905: 0xDDD6, - 33885 - 11905: 0xC88D, - 33886 - 11905: 0xC88E, - 33887 - 11905: 0xC88F, - 33888 - 11905: 0xC890, - 33889 - 11905: 0xC6CF, - 33890 - 11905: 0xC891, - 33891 - 11905: 0xB6AD, - 33892 - 11905: 0xC892, - 33893 - 11905: 0xC893, - 33894 - 11905: 0xC894, - 33895 - 11905: 0xC895, - 33896 - 11905: 0xC896, - 33897 - 11905: 0xDDE2, - 33898 - 11905: 0xC897, - 33899 - 11905: 0xBAF9, - 33900 - 11905: 0xD4E1, - 33901 - 11905: 0xDDE7, - 33902 - 11905: 0xC898, - 33903 - 11905: 0xC899, - 33904 - 11905: 0xC89A, - 33905 - 11905: 0xB4D0, - 33906 - 11905: 0xC89B, - 33907 - 11905: 0xDDDA, - 33908 - 11905: 0xC89C, - 33909 - 11905: 0xBFFB, - 33910 - 11905: 0xDDE3, - 33911 - 11905: 0xC89D, - 33912 - 11905: 0xDDDF, - 33913 - 11905: 0xC89E, - 33914 - 11905: 0xDDDD, - 33915 - 11905: 0xC89F, - 33916 - 11905: 0xC8A0, - 33917 - 11905: 0xC940, - 33918 - 11905: 0xC941, - 33919 - 11905: 0xC942, - 33920 - 11905: 0xC943, - 33921 - 11905: 0xC944, - 33922 - 11905: 0xB5D9, - 33923 - 11905: 0xC945, - 33924 - 11905: 0xC946, - 33925 - 11905: 0xC947, - 33926 - 11905: 0xC948, - 33927 - 11905: 0xDDDB, - 33928 - 11905: 0xDDDC, - 33929 - 11905: 0xDDDE, - 33930 - 11905: 0xC949, - 33931 - 11905: 0xBDAF, - 33932 - 11905: 0xDDE4, - 33933 - 11905: 0xC94A, - 33934 - 11905: 0xDDE5, - 33935 - 11905: 0xC94B, - 33936 - 11905: 0xC94C, - 33937 - 11905: 0xC94D, - 33938 - 11905: 0xC94E, - 33939 - 11905: 0xC94F, - 33940 - 11905: 0xC950, - 33941 - 11905: 0xC951, - 33942 - 11905: 0xC952, - 33943 - 11905: 0xDDF5, - 33944 - 11905: 0xC953, - 33945 - 11905: 0xC3C9, - 33946 - 11905: 0xC954, - 33947 - 11905: 0xC955, - 33948 - 11905: 0xCBE2, - 33949 - 11905: 0xC956, - 33950 - 11905: 0xC957, - 33951 - 11905: 0xC958, - 33952 - 11905: 0xC959, - 33953 - 11905: 0xDDF2, - 33954 - 11905: 0xC95A, - 33955 - 11905: 0xC95B, - 33956 - 11905: 0xC95C, - 33957 - 11905: 0xC95D, - 33958 - 11905: 0xC95E, - 33959 - 11905: 0xC95F, - 33960 - 11905: 0xC960, - 33961 - 11905: 0xC961, - 33962 - 11905: 0xC962, - 33963 - 11905: 0xC963, - 33964 - 11905: 0xC964, - 33965 - 11905: 0xC965, - 33966 - 11905: 0xC966, - 33967 - 11905: 0xD8E1, - 33968 - 11905: 0xC967, - 33969 - 11905: 0xC968, - 33970 - 11905: 0xC6D1, - 33971 - 11905: 0xC969, - 33972 - 11905: 0xDDF4, - 33973 - 11905: 0xC96A, - 33974 - 11905: 0xC96B, - 33975 - 11905: 0xC96C, - 33976 - 11905: 0xD5F4, - 33977 - 11905: 0xDDF3, - 33978 - 11905: 0xDDF0, - 33979 - 11905: 0xC96D, - 33980 - 11905: 0xC96E, - 33981 - 11905: 0xDDEC, - 33982 - 11905: 0xC96F, - 33983 - 11905: 0xDDEF, - 33984 - 11905: 0xC970, - 33985 - 11905: 0xDDE8, - 33986 - 11905: 0xC971, - 33987 - 11905: 0xC972, - 33988 - 11905: 0xD0EE, - 33989 - 11905: 0xC973, - 33990 - 11905: 0xC974, - 33991 - 11905: 0xC975, - 33992 - 11905: 0xC976, - 33993 - 11905: 0xC8D8, - 33994 - 11905: 0xDDEE, - 33995 - 11905: 0xC977, - 33996 - 11905: 0xC978, - 33997 - 11905: 0xDDE9, - 33998 - 11905: 0xC979, - 33999 - 11905: 0xC97A, - 34000 - 11905: 0xDDEA, - 34001 - 11905: 0xCBF2, - 34002 - 11905: 0xC97B, - 34003 - 11905: 0xDDED, - 34004 - 11905: 0xC97C, - 34005 - 11905: 0xC97D, - 34006 - 11905: 0xB1CD, - 34007 - 11905: 0xC97E, - 34008 - 11905: 0xC980, - 34009 - 11905: 0xC981, - 34010 - 11905: 0xC982, - 34011 - 11905: 0xC983, - 34012 - 11905: 0xC984, - 34013 - 11905: 0xC0B6, - 34014 - 11905: 0xC985, - 34015 - 11905: 0xBCBB, - 34016 - 11905: 0xDDF1, - 34017 - 11905: 0xC986, - 34018 - 11905: 0xC987, - 34019 - 11905: 0xDDF7, - 34020 - 11905: 0xC988, - 34021 - 11905: 0xDDF6, - 34022 - 11905: 0xDDEB, - 34023 - 11905: 0xC989, - 34024 - 11905: 0xC98A, - 34025 - 11905: 0xC98B, - 34026 - 11905: 0xC98C, - 34027 - 11905: 0xC98D, - 34028 - 11905: 0xC5EE, - 34029 - 11905: 0xC98E, - 34030 - 11905: 0xC98F, - 34031 - 11905: 0xC990, - 34032 - 11905: 0xDDFB, - 34033 - 11905: 0xC991, - 34034 - 11905: 0xC992, - 34035 - 11905: 0xC993, - 34036 - 11905: 0xC994, - 34037 - 11905: 0xC995, - 34038 - 11905: 0xC996, - 34039 - 11905: 0xC997, - 34040 - 11905: 0xC998, - 34041 - 11905: 0xC999, - 34042 - 11905: 0xC99A, - 34043 - 11905: 0xC99B, - 34044 - 11905: 0xDEA4, - 34045 - 11905: 0xC99C, - 34046 - 11905: 0xC99D, - 34047 - 11905: 0xDEA3, - 34048 - 11905: 0xC99E, - 34049 - 11905: 0xC99F, - 34050 - 11905: 0xC9A0, - 34051 - 11905: 0xCA40, - 34052 - 11905: 0xCA41, - 34053 - 11905: 0xCA42, - 34054 - 11905: 0xCA43, - 34055 - 11905: 0xCA44, - 34056 - 11905: 0xCA45, - 34057 - 11905: 0xCA46, - 34058 - 11905: 0xCA47, - 34059 - 11905: 0xCA48, - 34060 - 11905: 0xDDF8, - 34061 - 11905: 0xCA49, - 34062 - 11905: 0xCA4A, - 34063 - 11905: 0xCA4B, - 34064 - 11905: 0xCA4C, - 34065 - 11905: 0xC3EF, - 34066 - 11905: 0xCA4D, - 34067 - 11905: 0xC2FB, - 34068 - 11905: 0xCA4E, - 34069 - 11905: 0xCA4F, - 34070 - 11905: 0xCA50, - 34071 - 11905: 0xD5E1, - 34072 - 11905: 0xCA51, - 34073 - 11905: 0xCA52, - 34074 - 11905: 0xCEB5, - 34075 - 11905: 0xCA53, - 34076 - 11905: 0xCA54, - 34077 - 11905: 0xCA55, - 34078 - 11905: 0xCA56, - 34079 - 11905: 0xDDFD, - 34080 - 11905: 0xCA57, - 34081 - 11905: 0xB2CC, - 34082 - 11905: 0xCA58, - 34083 - 11905: 0xCA59, - 34084 - 11905: 0xCA5A, - 34085 - 11905: 0xCA5B, - 34086 - 11905: 0xCA5C, - 34087 - 11905: 0xCA5D, - 34088 - 11905: 0xCA5E, - 34089 - 11905: 0xCA5F, - 34090 - 11905: 0xCA60, - 34091 - 11905: 0xC4E8, - 34092 - 11905: 0xCADF, - 34093 - 11905: 0xCA61, - 34094 - 11905: 0xCA62, - 34095 - 11905: 0xCA63, - 34096 - 11905: 0xCA64, - 34097 - 11905: 0xCA65, - 34098 - 11905: 0xCA66, - 34099 - 11905: 0xCA67, - 34100 - 11905: 0xCA68, - 34101 - 11905: 0xCA69, - 34102 - 11905: 0xCA6A, - 34103 - 11905: 0xC7BE, - 34104 - 11905: 0xDDFA, - 34105 - 11905: 0xDDFC, - 34106 - 11905: 0xDDFE, - 34107 - 11905: 0xDEA2, - 34108 - 11905: 0xB0AA, - 34109 - 11905: 0xB1CE, - 34110 - 11905: 0xCA6B, - 34111 - 11905: 0xCA6C, - 34112 - 11905: 0xCA6D, - 34113 - 11905: 0xCA6E, - 34114 - 11905: 0xCA6F, - 34115 - 11905: 0xDEAC, - 34116 - 11905: 0xCA70, - 34117 - 11905: 0xCA71, - 34118 - 11905: 0xCA72, - 34119 - 11905: 0xCA73, - 34120 - 11905: 0xDEA6, - 34121 - 11905: 0xBDB6, - 34122 - 11905: 0xC8EF, - 34123 - 11905: 0xCA74, - 34124 - 11905: 0xCA75, - 34125 - 11905: 0xCA76, - 34126 - 11905: 0xCA77, - 34127 - 11905: 0xCA78, - 34128 - 11905: 0xCA79, - 34129 - 11905: 0xCA7A, - 34130 - 11905: 0xCA7B, - 34131 - 11905: 0xCA7C, - 34132 - 11905: 0xCA7D, - 34133 - 11905: 0xCA7E, - 34134 - 11905: 0xDEA1, - 34135 - 11905: 0xCA80, - 34136 - 11905: 0xCA81, - 34137 - 11905: 0xDEA5, - 34138 - 11905: 0xCA82, - 34139 - 11905: 0xCA83, - 34140 - 11905: 0xCA84, - 34141 - 11905: 0xCA85, - 34142 - 11905: 0xDEA9, - 34143 - 11905: 0xCA86, - 34144 - 11905: 0xCA87, - 34145 - 11905: 0xCA88, - 34146 - 11905: 0xCA89, - 34147 - 11905: 0xCA8A, - 34148 - 11905: 0xDEA8, - 34149 - 11905: 0xCA8B, - 34150 - 11905: 0xCA8C, - 34151 - 11905: 0xCA8D, - 34152 - 11905: 0xDEA7, - 34153 - 11905: 0xCA8E, - 34154 - 11905: 0xCA8F, - 34155 - 11905: 0xCA90, - 34156 - 11905: 0xCA91, - 34157 - 11905: 0xCA92, - 34158 - 11905: 0xCA93, - 34159 - 11905: 0xCA94, - 34160 - 11905: 0xCA95, - 34161 - 11905: 0xCA96, - 34162 - 11905: 0xDEAD, - 34163 - 11905: 0xCA97, - 34164 - 11905: 0xD4CC, - 34165 - 11905: 0xCA98, - 34166 - 11905: 0xCA99, - 34167 - 11905: 0xCA9A, - 34168 - 11905: 0xCA9B, - 34169 - 11905: 0xDEB3, - 34170 - 11905: 0xDEAA, - 34171 - 11905: 0xDEAE, - 34172 - 11905: 0xCA9C, - 34173 - 11905: 0xCA9D, - 34174 - 11905: 0xC0D9, - 34175 - 11905: 0xCA9E, - 34176 - 11905: 0xCA9F, - 34177 - 11905: 0xCAA0, - 34178 - 11905: 0xCB40, - 34179 - 11905: 0xCB41, - 34180 - 11905: 0xB1A1, - 34181 - 11905: 0xDEB6, - 34182 - 11905: 0xCB42, - 34183 - 11905: 0xDEB1, - 34184 - 11905: 0xCB43, - 34185 - 11905: 0xCB44, - 34186 - 11905: 0xCB45, - 34187 - 11905: 0xCB46, - 34188 - 11905: 0xCB47, - 34189 - 11905: 0xCB48, - 34190 - 11905: 0xCB49, - 34191 - 11905: 0xDEB2, - 34192 - 11905: 0xCB4A, - 34193 - 11905: 0xCB4B, - 34194 - 11905: 0xCB4C, - 34195 - 11905: 0xCB4D, - 34196 - 11905: 0xCB4E, - 34197 - 11905: 0xCB4F, - 34198 - 11905: 0xCB50, - 34199 - 11905: 0xCB51, - 34200 - 11905: 0xCB52, - 34201 - 11905: 0xCB53, - 34202 - 11905: 0xCB54, - 34203 - 11905: 0xD1A6, - 34204 - 11905: 0xDEB5, - 34205 - 11905: 0xCB55, - 34206 - 11905: 0xCB56, - 34207 - 11905: 0xCB57, - 34208 - 11905: 0xCB58, - 34209 - 11905: 0xCB59, - 34210 - 11905: 0xCB5A, - 34211 - 11905: 0xCB5B, - 34212 - 11905: 0xDEAF, - 34213 - 11905: 0xCB5C, - 34214 - 11905: 0xCB5D, - 34215 - 11905: 0xCB5E, - 34216 - 11905: 0xDEB0, - 34217 - 11905: 0xCB5F, - 34218 - 11905: 0xD0BD, - 34219 - 11905: 0xCB60, - 34220 - 11905: 0xCB61, - 34221 - 11905: 0xCB62, - 34222 - 11905: 0xDEB4, - 34223 - 11905: 0xCAED, - 34224 - 11905: 0xDEB9, - 34225 - 11905: 0xCB63, - 34226 - 11905: 0xCB64, - 34227 - 11905: 0xCB65, - 34228 - 11905: 0xCB66, - 34229 - 11905: 0xCB67, - 34230 - 11905: 0xCB68, - 34231 - 11905: 0xDEB8, - 34232 - 11905: 0xCB69, - 34233 - 11905: 0xDEB7, - 34234 - 11905: 0xCB6A, - 34235 - 11905: 0xCB6B, - 34236 - 11905: 0xCB6C, - 34237 - 11905: 0xCB6D, - 34238 - 11905: 0xCB6E, - 34239 - 11905: 0xCB6F, - 34240 - 11905: 0xCB70, - 34241 - 11905: 0xDEBB, - 34242 - 11905: 0xCB71, - 34243 - 11905: 0xCB72, - 34244 - 11905: 0xCB73, - 34245 - 11905: 0xCB74, - 34246 - 11905: 0xCB75, - 34247 - 11905: 0xCB76, - 34248 - 11905: 0xCB77, - 34249 - 11905: 0xBDE5, - 34250 - 11905: 0xCB78, - 34251 - 11905: 0xCB79, - 34252 - 11905: 0xCB7A, - 34253 - 11905: 0xCB7B, - 34254 - 11905: 0xCB7C, - 34255 - 11905: 0xB2D8, - 34256 - 11905: 0xC3EA, - 34257 - 11905: 0xCB7D, - 34258 - 11905: 0xCB7E, - 34259 - 11905: 0xDEBA, - 34260 - 11905: 0xCB80, - 34261 - 11905: 0xC5BA, - 34262 - 11905: 0xCB81, - 34263 - 11905: 0xCB82, - 34264 - 11905: 0xCB83, - 34265 - 11905: 0xCB84, - 34266 - 11905: 0xCB85, - 34267 - 11905: 0xCB86, - 34268 - 11905: 0xDEBC, - 34269 - 11905: 0xCB87, - 34270 - 11905: 0xCB88, - 34271 - 11905: 0xCB89, - 34272 - 11905: 0xCB8A, - 34273 - 11905: 0xCB8B, - 34274 - 11905: 0xCB8C, - 34275 - 11905: 0xCB8D, - 34276 - 11905: 0xCCD9, - 34277 - 11905: 0xCB8E, - 34278 - 11905: 0xCB8F, - 34279 - 11905: 0xCB90, - 34280 - 11905: 0xCB91, - 34281 - 11905: 0xB7AA, - 34282 - 11905: 0xCB92, - 34283 - 11905: 0xCB93, - 34284 - 11905: 0xCB94, - 34285 - 11905: 0xCB95, - 34286 - 11905: 0xCB96, - 34287 - 11905: 0xCB97, - 34288 - 11905: 0xCB98, - 34289 - 11905: 0xCB99, - 34290 - 11905: 0xCB9A, - 34291 - 11905: 0xCB9B, - 34292 - 11905: 0xCB9C, - 34293 - 11905: 0xCB9D, - 34294 - 11905: 0xCB9E, - 34295 - 11905: 0xCB9F, - 34296 - 11905: 0xCBA0, - 34297 - 11905: 0xCC40, - 34298 - 11905: 0xCC41, - 34299 - 11905: 0xD4E5, - 34300 - 11905: 0xCC42, - 34301 - 11905: 0xCC43, - 34302 - 11905: 0xCC44, - 34303 - 11905: 0xDEBD, - 34304 - 11905: 0xCC45, - 34305 - 11905: 0xCC46, - 34306 - 11905: 0xCC47, - 34307 - 11905: 0xCC48, - 34308 - 11905: 0xCC49, - 34309 - 11905: 0xDEBF, - 34310 - 11905: 0xCC4A, - 34311 - 11905: 0xCC4B, - 34312 - 11905: 0xCC4C, - 34313 - 11905: 0xCC4D, - 34314 - 11905: 0xCC4E, - 34315 - 11905: 0xCC4F, - 34316 - 11905: 0xCC50, - 34317 - 11905: 0xCC51, - 34318 - 11905: 0xCC52, - 34319 - 11905: 0xCC53, - 34320 - 11905: 0xCC54, - 34321 - 11905: 0xC4A2, - 34322 - 11905: 0xCC55, - 34323 - 11905: 0xCC56, - 34324 - 11905: 0xCC57, - 34325 - 11905: 0xCC58, - 34326 - 11905: 0xDEC1, - 34327 - 11905: 0xCC59, - 34328 - 11905: 0xCC5A, - 34329 - 11905: 0xCC5B, - 34330 - 11905: 0xCC5C, - 34331 - 11905: 0xCC5D, - 34332 - 11905: 0xCC5E, - 34333 - 11905: 0xCC5F, - 34334 - 11905: 0xCC60, - 34335 - 11905: 0xCC61, - 34336 - 11905: 0xCC62, - 34337 - 11905: 0xCC63, - 34338 - 11905: 0xCC64, - 34339 - 11905: 0xCC65, - 34340 - 11905: 0xCC66, - 34341 - 11905: 0xCC67, - 34342 - 11905: 0xCC68, - 34343 - 11905: 0xDEBE, - 34344 - 11905: 0xCC69, - 34345 - 11905: 0xDEC0, - 34346 - 11905: 0xCC6A, - 34347 - 11905: 0xCC6B, - 34348 - 11905: 0xCC6C, - 34349 - 11905: 0xCC6D, - 34350 - 11905: 0xCC6E, - 34351 - 11905: 0xCC6F, - 34352 - 11905: 0xCC70, - 34353 - 11905: 0xCC71, - 34354 - 11905: 0xCC72, - 34355 - 11905: 0xCC73, - 34356 - 11905: 0xCC74, - 34357 - 11905: 0xCC75, - 34358 - 11905: 0xCC76, - 34359 - 11905: 0xCC77, - 34360 - 11905: 0xD5BA, - 34361 - 11905: 0xCC78, - 34362 - 11905: 0xCC79, - 34363 - 11905: 0xCC7A, - 34364 - 11905: 0xDEC2, - 34365 - 11905: 0xCC7B, - 34366 - 11905: 0xCC7C, - 34367 - 11905: 0xCC7D, - 34368 - 11905: 0xCC7E, - 34369 - 11905: 0xCC80, - 34370 - 11905: 0xCC81, - 34371 - 11905: 0xCC82, - 34372 - 11905: 0xCC83, - 34373 - 11905: 0xCC84, - 34374 - 11905: 0xCC85, - 34375 - 11905: 0xCC86, - 34376 - 11905: 0xCC87, - 34377 - 11905: 0xCC88, - 34378 - 11905: 0xCC89, - 34379 - 11905: 0xCC8A, - 34380 - 11905: 0xCC8B, - 34381 - 11905: 0xF2AE, - 34382 - 11905: 0xBBA2, - 34383 - 11905: 0xC2B2, - 34384 - 11905: 0xC5B0, - 34385 - 11905: 0xC2C7, - 34386 - 11905: 0xCC8C, - 34387 - 11905: 0xCC8D, - 34388 - 11905: 0xF2AF, - 34389 - 11905: 0xCC8E, - 34390 - 11905: 0xCC8F, - 34391 - 11905: 0xCC90, - 34392 - 11905: 0xCC91, - 34393 - 11905: 0xCC92, - 34394 - 11905: 0xD0E9, - 34395 - 11905: 0xCC93, - 34396 - 11905: 0xCC94, - 34397 - 11905: 0xCC95, - 34398 - 11905: 0xD3DD, - 34399 - 11905: 0xCC96, - 34400 - 11905: 0xCC97, - 34401 - 11905: 0xCC98, - 34402 - 11905: 0xEBBD, - 34403 - 11905: 0xCC99, - 34404 - 11905: 0xCC9A, - 34405 - 11905: 0xCC9B, - 34406 - 11905: 0xCC9C, - 34407 - 11905: 0xCC9D, - 34408 - 11905: 0xCC9E, - 34409 - 11905: 0xCC9F, - 34410 - 11905: 0xCCA0, - 34411 - 11905: 0xB3E6, - 34412 - 11905: 0xF2B0, - 34413 - 11905: 0xCD40, - 34414 - 11905: 0xF2B1, - 34415 - 11905: 0xCD41, - 34416 - 11905: 0xCD42, - 34417 - 11905: 0xCAAD, - 34418 - 11905: 0xCD43, - 34419 - 11905: 0xCD44, - 34420 - 11905: 0xCD45, - 34421 - 11905: 0xCD46, - 34422 - 11905: 0xCD47, - 34423 - 11905: 0xCD48, - 34424 - 11905: 0xCD49, - 34425 - 11905: 0xBAE7, - 34426 - 11905: 0xF2B3, - 34427 - 11905: 0xF2B5, - 34428 - 11905: 0xF2B4, - 34429 - 11905: 0xCBE4, - 34430 - 11905: 0xCFBA, - 34431 - 11905: 0xF2B2, - 34432 - 11905: 0xCAB4, - 34433 - 11905: 0xD2CF, - 34434 - 11905: 0xC2EC, - 34435 - 11905: 0xCD4A, - 34436 - 11905: 0xCD4B, - 34437 - 11905: 0xCD4C, - 34438 - 11905: 0xCD4D, - 34439 - 11905: 0xCD4E, - 34440 - 11905: 0xCD4F, - 34441 - 11905: 0xCD50, - 34442 - 11905: 0xCEC3, - 34443 - 11905: 0xF2B8, - 34444 - 11905: 0xB0F6, - 34445 - 11905: 0xF2B7, - 34446 - 11905: 0xCD51, - 34447 - 11905: 0xCD52, - 34448 - 11905: 0xCD53, - 34449 - 11905: 0xCD54, - 34450 - 11905: 0xCD55, - 34451 - 11905: 0xF2BE, - 34452 - 11905: 0xCD56, - 34453 - 11905: 0xB2CF, - 34454 - 11905: 0xCD57, - 34455 - 11905: 0xCD58, - 34456 - 11905: 0xCD59, - 34457 - 11905: 0xCD5A, - 34458 - 11905: 0xCD5B, - 34459 - 11905: 0xCD5C, - 34460 - 11905: 0xD1C1, - 34461 - 11905: 0xF2BA, - 34462 - 11905: 0xCD5D, - 34463 - 11905: 0xCD5E, - 34464 - 11905: 0xCD5F, - 34465 - 11905: 0xCD60, - 34466 - 11905: 0xCD61, - 34467 - 11905: 0xF2BC, - 34468 - 11905: 0xD4E9, - 34469 - 11905: 0xCD62, - 34470 - 11905: 0xCD63, - 34471 - 11905: 0xF2BB, - 34472 - 11905: 0xF2B6, - 34473 - 11905: 0xF2BF, - 34474 - 11905: 0xF2BD, - 34475 - 11905: 0xCD64, - 34476 - 11905: 0xF2B9, - 34477 - 11905: 0xCD65, - 34478 - 11905: 0xCD66, - 34479 - 11905: 0xF2C7, - 34480 - 11905: 0xF2C4, - 34481 - 11905: 0xF2C6, - 34482 - 11905: 0xCD67, - 34483 - 11905: 0xCD68, - 34484 - 11905: 0xF2CA, - 34485 - 11905: 0xF2C2, - 34486 - 11905: 0xF2C0, - 34487 - 11905: 0xCD69, - 34488 - 11905: 0xCD6A, - 34489 - 11905: 0xCD6B, - 34490 - 11905: 0xF2C5, - 34491 - 11905: 0xCD6C, - 34492 - 11905: 0xCD6D, - 34493 - 11905: 0xCD6E, - 34494 - 11905: 0xCD6F, - 34495 - 11905: 0xCD70, - 34496 - 11905: 0xD6FB, - 34497 - 11905: 0xCD71, - 34498 - 11905: 0xCD72, - 34499 - 11905: 0xCD73, - 34500 - 11905: 0xF2C1, - 34501 - 11905: 0xCD74, - 34502 - 11905: 0xC7F9, - 34503 - 11905: 0xC9DF, - 34504 - 11905: 0xCD75, - 34505 - 11905: 0xF2C8, - 34506 - 11905: 0xB9C6, - 34507 - 11905: 0xB5B0, - 34508 - 11905: 0xCD76, - 34509 - 11905: 0xCD77, - 34510 - 11905: 0xF2C3, - 34511 - 11905: 0xF2C9, - 34512 - 11905: 0xF2D0, - 34513 - 11905: 0xF2D6, - 34514 - 11905: 0xCD78, - 34515 - 11905: 0xCD79, - 34516 - 11905: 0xBBD7, - 34517 - 11905: 0xCD7A, - 34518 - 11905: 0xCD7B, - 34519 - 11905: 0xCD7C, - 34520 - 11905: 0xF2D5, - 34521 - 11905: 0xCDDC, - 34522 - 11905: 0xCD7D, - 34523 - 11905: 0xD6EB, - 34524 - 11905: 0xCD7E, - 34525 - 11905: 0xCD80, - 34526 - 11905: 0xF2D2, - 34527 - 11905: 0xF2D4, - 34528 - 11905: 0xCD81, - 34529 - 11905: 0xCD82, - 34530 - 11905: 0xCD83, - 34531 - 11905: 0xCD84, - 34532 - 11905: 0xB8F2, - 34533 - 11905: 0xCD85, - 34534 - 11905: 0xCD86, - 34535 - 11905: 0xCD87, - 34536 - 11905: 0xCD88, - 34537 - 11905: 0xF2CB, - 34538 - 11905: 0xCD89, - 34539 - 11905: 0xCD8A, - 34540 - 11905: 0xCD8B, - 34541 - 11905: 0xF2CE, - 34542 - 11905: 0xC2F9, - 34543 - 11905: 0xCD8C, - 34544 - 11905: 0xD5DD, - 34545 - 11905: 0xF2CC, - 34546 - 11905: 0xF2CD, - 34547 - 11905: 0xF2CF, - 34548 - 11905: 0xF2D3, - 34549 - 11905: 0xCD8D, - 34550 - 11905: 0xCD8E, - 34551 - 11905: 0xCD8F, - 34552 - 11905: 0xF2D9, - 34553 - 11905: 0xD3BC, - 34554 - 11905: 0xCD90, - 34555 - 11905: 0xCD91, - 34556 - 11905: 0xCD92, - 34557 - 11905: 0xCD93, - 34558 - 11905: 0xB6EA, - 34559 - 11905: 0xCD94, - 34560 - 11905: 0xCAF1, - 34561 - 11905: 0xCD95, - 34562 - 11905: 0xB7E4, - 34563 - 11905: 0xF2D7, - 34564 - 11905: 0xCD96, - 34565 - 11905: 0xCD97, - 34566 - 11905: 0xCD98, - 34567 - 11905: 0xF2D8, - 34568 - 11905: 0xF2DA, - 34569 - 11905: 0xF2DD, - 34570 - 11905: 0xF2DB, - 34571 - 11905: 0xCD99, - 34572 - 11905: 0xCD9A, - 34573 - 11905: 0xF2DC, - 34574 - 11905: 0xCD9B, - 34575 - 11905: 0xCD9C, - 34576 - 11905: 0xCD9D, - 34577 - 11905: 0xCD9E, - 34578 - 11905: 0xD1D1, - 34579 - 11905: 0xF2D1, - 34580 - 11905: 0xCD9F, - 34581 - 11905: 0xCDC9, - 34582 - 11905: 0xCDA0, - 34583 - 11905: 0xCECF, - 34584 - 11905: 0xD6A9, - 34585 - 11905: 0xCE40, - 34586 - 11905: 0xF2E3, - 34587 - 11905: 0xCE41, - 34588 - 11905: 0xC3DB, - 34589 - 11905: 0xCE42, - 34590 - 11905: 0xF2E0, - 34591 - 11905: 0xCE43, - 34592 - 11905: 0xCE44, - 34593 - 11905: 0xC0AF, - 34594 - 11905: 0xF2EC, - 34595 - 11905: 0xF2DE, - 34596 - 11905: 0xCE45, - 34597 - 11905: 0xF2E1, - 34598 - 11905: 0xCE46, - 34599 - 11905: 0xCE47, - 34600 - 11905: 0xCE48, - 34601 - 11905: 0xF2E8, - 34602 - 11905: 0xCE49, - 34603 - 11905: 0xCE4A, - 34604 - 11905: 0xCE4B, - 34605 - 11905: 0xCE4C, - 34606 - 11905: 0xF2E2, - 34607 - 11905: 0xCE4D, - 34608 - 11905: 0xCE4E, - 34609 - 11905: 0xF2E7, - 34610 - 11905: 0xCE4F, - 34611 - 11905: 0xCE50, - 34612 - 11905: 0xF2E6, - 34613 - 11905: 0xCE51, - 34614 - 11905: 0xCE52, - 34615 - 11905: 0xF2E9, - 34616 - 11905: 0xCE53, - 34617 - 11905: 0xCE54, - 34618 - 11905: 0xCE55, - 34619 - 11905: 0xF2DF, - 34620 - 11905: 0xCE56, - 34621 - 11905: 0xCE57, - 34622 - 11905: 0xF2E4, - 34623 - 11905: 0xF2EA, - 34624 - 11905: 0xCE58, - 34625 - 11905: 0xCE59, - 34626 - 11905: 0xCE5A, - 34627 - 11905: 0xCE5B, - 34628 - 11905: 0xCE5C, - 34629 - 11905: 0xCE5D, - 34630 - 11905: 0xCE5E, - 34631 - 11905: 0xD3AC, - 34632 - 11905: 0xF2E5, - 34633 - 11905: 0xB2F5, - 34634 - 11905: 0xCE5F, - 34635 - 11905: 0xCE60, - 34636 - 11905: 0xF2F2, - 34637 - 11905: 0xCE61, - 34638 - 11905: 0xD0AB, - 34639 - 11905: 0xCE62, - 34640 - 11905: 0xCE63, - 34641 - 11905: 0xCE64, - 34642 - 11905: 0xCE65, - 34643 - 11905: 0xF2F5, - 34644 - 11905: 0xCE66, - 34645 - 11905: 0xCE67, - 34646 - 11905: 0xCE68, - 34647 - 11905: 0xBBC8, - 34648 - 11905: 0xCE69, - 34649 - 11905: 0xF2F9, - 34650 - 11905: 0xCE6A, - 34651 - 11905: 0xCE6B, - 34652 - 11905: 0xCE6C, - 34653 - 11905: 0xCE6D, - 34654 - 11905: 0xCE6E, - 34655 - 11905: 0xCE6F, - 34656 - 11905: 0xF2F0, - 34657 - 11905: 0xCE70, - 34658 - 11905: 0xCE71, - 34659 - 11905: 0xF2F6, - 34660 - 11905: 0xF2F8, - 34661 - 11905: 0xF2FA, - 34662 - 11905: 0xCE72, - 34663 - 11905: 0xCE73, - 34664 - 11905: 0xCE74, - 34665 - 11905: 0xCE75, - 34666 - 11905: 0xCE76, - 34667 - 11905: 0xCE77, - 34668 - 11905: 0xCE78, - 34669 - 11905: 0xCE79, - 34670 - 11905: 0xF2F3, - 34671 - 11905: 0xCE7A, - 34672 - 11905: 0xF2F1, - 34673 - 11905: 0xCE7B, - 34674 - 11905: 0xCE7C, - 34675 - 11905: 0xCE7D, - 34676 - 11905: 0xBAFB, - 34677 - 11905: 0xCE7E, - 34678 - 11905: 0xB5FB, - 34679 - 11905: 0xCE80, - 34680 - 11905: 0xCE81, - 34681 - 11905: 0xCE82, - 34682 - 11905: 0xCE83, - 34683 - 11905: 0xF2EF, - 34684 - 11905: 0xF2F7, - 34685 - 11905: 0xF2ED, - 34686 - 11905: 0xF2EE, - 34687 - 11905: 0xCE84, - 34688 - 11905: 0xCE85, - 34689 - 11905: 0xCE86, - 34690 - 11905: 0xF2EB, - 34691 - 11905: 0xF3A6, - 34692 - 11905: 0xCE87, - 34693 - 11905: 0xF3A3, - 34694 - 11905: 0xCE88, - 34695 - 11905: 0xCE89, - 34696 - 11905: 0xF3A2, - 34697 - 11905: 0xCE8A, - 34698 - 11905: 0xCE8B, - 34699 - 11905: 0xF2F4, - 34700 - 11905: 0xCE8C, - 34701 - 11905: 0xC8DA, - 34702 - 11905: 0xCE8D, - 34703 - 11905: 0xCE8E, - 34704 - 11905: 0xCE8F, - 34705 - 11905: 0xCE90, - 34706 - 11905: 0xCE91, - 34707 - 11905: 0xF2FB, - 34708 - 11905: 0xCE92, - 34709 - 11905: 0xCE93, - 34710 - 11905: 0xCE94, - 34711 - 11905: 0xF3A5, - 34712 - 11905: 0xCE95, - 34713 - 11905: 0xCE96, - 34714 - 11905: 0xCE97, - 34715 - 11905: 0xCE98, - 34716 - 11905: 0xCE99, - 34717 - 11905: 0xCE9A, - 34718 - 11905: 0xCE9B, - 34719 - 11905: 0xC3F8, - 34720 - 11905: 0xCE9C, - 34721 - 11905: 0xCE9D, - 34722 - 11905: 0xCE9E, - 34723 - 11905: 0xCE9F, - 34724 - 11905: 0xCEA0, - 34725 - 11905: 0xCF40, - 34726 - 11905: 0xCF41, - 34727 - 11905: 0xCF42, - 34728 - 11905: 0xF2FD, - 34729 - 11905: 0xCF43, - 34730 - 11905: 0xCF44, - 34731 - 11905: 0xF3A7, - 34732 - 11905: 0xF3A9, - 34733 - 11905: 0xF3A4, - 34734 - 11905: 0xCF45, - 34735 - 11905: 0xF2FC, - 34736 - 11905: 0xCF46, - 34737 - 11905: 0xCF47, - 34738 - 11905: 0xCF48, - 34739 - 11905: 0xF3AB, - 34740 - 11905: 0xCF49, - 34741 - 11905: 0xF3AA, - 34742 - 11905: 0xCF4A, - 34743 - 11905: 0xCF4B, - 34744 - 11905: 0xCF4C, - 34745 - 11905: 0xCF4D, - 34746 - 11905: 0xC2DD, - 34747 - 11905: 0xCF4E, - 34748 - 11905: 0xCF4F, - 34749 - 11905: 0xF3AE, - 34750 - 11905: 0xCF50, - 34751 - 11905: 0xCF51, - 34752 - 11905: 0xF3B0, - 34753 - 11905: 0xCF52, - 34754 - 11905: 0xCF53, - 34755 - 11905: 0xCF54, - 34756 - 11905: 0xCF55, - 34757 - 11905: 0xCF56, - 34758 - 11905: 0xF3A1, - 34759 - 11905: 0xCF57, - 34760 - 11905: 0xCF58, - 34761 - 11905: 0xCF59, - 34762 - 11905: 0xF3B1, - 34763 - 11905: 0xF3AC, - 34764 - 11905: 0xCF5A, - 34765 - 11905: 0xCF5B, - 34766 - 11905: 0xCF5C, - 34767 - 11905: 0xCF5D, - 34768 - 11905: 0xCF5E, - 34769 - 11905: 0xF3AF, - 34770 - 11905: 0xF2FE, - 34771 - 11905: 0xF3AD, - 34772 - 11905: 0xCF5F, - 34773 - 11905: 0xCF60, - 34774 - 11905: 0xCF61, - 34775 - 11905: 0xCF62, - 34776 - 11905: 0xCF63, - 34777 - 11905: 0xCF64, - 34778 - 11905: 0xCF65, - 34779 - 11905: 0xF3B2, - 34780 - 11905: 0xCF66, - 34781 - 11905: 0xCF67, - 34782 - 11905: 0xCF68, - 34783 - 11905: 0xCF69, - 34784 - 11905: 0xF3B4, - 34785 - 11905: 0xCF6A, - 34786 - 11905: 0xCF6B, - 34787 - 11905: 0xCF6C, - 34788 - 11905: 0xCF6D, - 34789 - 11905: 0xF3A8, - 34790 - 11905: 0xCF6E, - 34791 - 11905: 0xCF6F, - 34792 - 11905: 0xCF70, - 34793 - 11905: 0xCF71, - 34794 - 11905: 0xF3B3, - 34795 - 11905: 0xCF72, - 34796 - 11905: 0xCF73, - 34797 - 11905: 0xCF74, - 34798 - 11905: 0xF3B5, - 34799 - 11905: 0xCF75, - 34800 - 11905: 0xCF76, - 34801 - 11905: 0xCF77, - 34802 - 11905: 0xCF78, - 34803 - 11905: 0xCF79, - 34804 - 11905: 0xCF7A, - 34805 - 11905: 0xCF7B, - 34806 - 11905: 0xCF7C, - 34807 - 11905: 0xCF7D, - 34808 - 11905: 0xCF7E, - 34809 - 11905: 0xD0B7, - 34810 - 11905: 0xCF80, - 34811 - 11905: 0xCF81, - 34812 - 11905: 0xCF82, - 34813 - 11905: 0xCF83, - 34814 - 11905: 0xF3B8, - 34815 - 11905: 0xCF84, - 34816 - 11905: 0xCF85, - 34817 - 11905: 0xCF86, - 34818 - 11905: 0xCF87, - 34819 - 11905: 0xD9F9, - 34820 - 11905: 0xCF88, - 34821 - 11905: 0xCF89, - 34822 - 11905: 0xCF8A, - 34823 - 11905: 0xCF8B, - 34824 - 11905: 0xCF8C, - 34825 - 11905: 0xCF8D, - 34826 - 11905: 0xF3B9, - 34827 - 11905: 0xCF8E, - 34828 - 11905: 0xCF8F, - 34829 - 11905: 0xCF90, - 34830 - 11905: 0xCF91, - 34831 - 11905: 0xCF92, - 34832 - 11905: 0xCF93, - 34833 - 11905: 0xCF94, - 34834 - 11905: 0xCF95, - 34835 - 11905: 0xF3B7, - 34836 - 11905: 0xCF96, - 34837 - 11905: 0xC8E4, - 34838 - 11905: 0xF3B6, - 34839 - 11905: 0xCF97, - 34840 - 11905: 0xCF98, - 34841 - 11905: 0xCF99, - 34842 - 11905: 0xCF9A, - 34843 - 11905: 0xF3BA, - 34844 - 11905: 0xCF9B, - 34845 - 11905: 0xCF9C, - 34846 - 11905: 0xCF9D, - 34847 - 11905: 0xCF9E, - 34848 - 11905: 0xCF9F, - 34849 - 11905: 0xF3BB, - 34850 - 11905: 0xB4C0, - 34851 - 11905: 0xCFA0, - 34852 - 11905: 0xD040, - 34853 - 11905: 0xD041, - 34854 - 11905: 0xD042, - 34855 - 11905: 0xD043, - 34856 - 11905: 0xD044, - 34857 - 11905: 0xD045, - 34858 - 11905: 0xD046, - 34859 - 11905: 0xD047, - 34860 - 11905: 0xD048, - 34861 - 11905: 0xD049, - 34862 - 11905: 0xD04A, - 34863 - 11905: 0xD04B, - 34864 - 11905: 0xD04C, - 34865 - 11905: 0xD04D, - 34866 - 11905: 0xEEC3, - 34867 - 11905: 0xD04E, - 34868 - 11905: 0xD04F, - 34869 - 11905: 0xD050, - 34870 - 11905: 0xD051, - 34871 - 11905: 0xD052, - 34872 - 11905: 0xD053, - 34873 - 11905: 0xF3BC, - 34874 - 11905: 0xD054, - 34875 - 11905: 0xD055, - 34876 - 11905: 0xF3BD, - 34877 - 11905: 0xD056, - 34878 - 11905: 0xD057, - 34879 - 11905: 0xD058, - 34880 - 11905: 0xD1AA, - 34881 - 11905: 0xD059, - 34882 - 11905: 0xD05A, - 34883 - 11905: 0xD05B, - 34884 - 11905: 0xF4AC, - 34885 - 11905: 0xD0C6, - 34886 - 11905: 0xD05C, - 34887 - 11905: 0xD05D, - 34888 - 11905: 0xD05E, - 34889 - 11905: 0xD05F, - 34890 - 11905: 0xD060, - 34891 - 11905: 0xD061, - 34892 - 11905: 0xD0D0, - 34893 - 11905: 0xD1DC, - 34894 - 11905: 0xD062, - 34895 - 11905: 0xD063, - 34896 - 11905: 0xD064, - 34897 - 11905: 0xD065, - 34898 - 11905: 0xD066, - 34899 - 11905: 0xD067, - 34900 - 11905: 0xCFCE, - 34901 - 11905: 0xD068, - 34902 - 11905: 0xD069, - 34903 - 11905: 0xBDD6, - 34904 - 11905: 0xD06A, - 34905 - 11905: 0xD1C3, - 34906 - 11905: 0xD06B, - 34907 - 11905: 0xD06C, - 34908 - 11905: 0xD06D, - 34909 - 11905: 0xD06E, - 34910 - 11905: 0xD06F, - 34911 - 11905: 0xD070, - 34912 - 11905: 0xD071, - 34913 - 11905: 0xBAE2, - 34914 - 11905: 0xE1E9, - 34915 - 11905: 0xD2C2, - 34916 - 11905: 0xF1C2, - 34917 - 11905: 0xB2B9, - 34918 - 11905: 0xD072, - 34919 - 11905: 0xD073, - 34920 - 11905: 0xB1ED, - 34921 - 11905: 0xF1C3, - 34922 - 11905: 0xD074, - 34923 - 11905: 0xC9C0, - 34924 - 11905: 0xB3C4, - 34925 - 11905: 0xD075, - 34926 - 11905: 0xD9F2, - 34927 - 11905: 0xD076, - 34928 - 11905: 0xCBA5, - 34929 - 11905: 0xD077, - 34930 - 11905: 0xF1C4, - 34931 - 11905: 0xD078, - 34932 - 11905: 0xD079, - 34933 - 11905: 0xD07A, - 34934 - 11905: 0xD07B, - 34935 - 11905: 0xD6D4, - 34936 - 11905: 0xD07C, - 34937 - 11905: 0xD07D, - 34938 - 11905: 0xD07E, - 34939 - 11905: 0xD080, - 34940 - 11905: 0xD081, - 34941 - 11905: 0xF1C5, - 34942 - 11905: 0xF4C0, - 34943 - 11905: 0xF1C6, - 34944 - 11905: 0xD082, - 34945 - 11905: 0xD4AC, - 34946 - 11905: 0xF1C7, - 34947 - 11905: 0xD083, - 34948 - 11905: 0xB0C0, - 34949 - 11905: 0xF4C1, - 34950 - 11905: 0xD084, - 34951 - 11905: 0xD085, - 34952 - 11905: 0xF4C2, - 34953 - 11905: 0xD086, - 34954 - 11905: 0xD087, - 34955 - 11905: 0xB4FC, - 34956 - 11905: 0xD088, - 34957 - 11905: 0xC5DB, - 34958 - 11905: 0xD089, - 34959 - 11905: 0xD08A, - 34960 - 11905: 0xD08B, - 34961 - 11905: 0xD08C, - 34962 - 11905: 0xCCBB, - 34963 - 11905: 0xD08D, - 34964 - 11905: 0xD08E, - 34965 - 11905: 0xD08F, - 34966 - 11905: 0xD0E4, - 34967 - 11905: 0xD090, - 34968 - 11905: 0xD091, - 34969 - 11905: 0xD092, - 34970 - 11905: 0xD093, - 34971 - 11905: 0xD094, - 34972 - 11905: 0xCDE0, - 34973 - 11905: 0xD095, - 34974 - 11905: 0xD096, - 34975 - 11905: 0xD097, - 34976 - 11905: 0xD098, - 34977 - 11905: 0xD099, - 34978 - 11905: 0xF1C8, - 34979 - 11905: 0xD09A, - 34980 - 11905: 0xD9F3, - 34981 - 11905: 0xD09B, - 34982 - 11905: 0xD09C, - 34983 - 11905: 0xD09D, - 34984 - 11905: 0xD09E, - 34985 - 11905: 0xD09F, - 34986 - 11905: 0xD0A0, - 34987 - 11905: 0xB1BB, - 34988 - 11905: 0xD140, - 34989 - 11905: 0xCFAE, - 34990 - 11905: 0xD141, - 34991 - 11905: 0xD142, - 34992 - 11905: 0xD143, - 34993 - 11905: 0xB8A4, - 34994 - 11905: 0xD144, - 34995 - 11905: 0xD145, - 34996 - 11905: 0xD146, - 34997 - 11905: 0xD147, - 34998 - 11905: 0xD148, - 34999 - 11905: 0xF1CA, - 35000 - 11905: 0xD149, - 35001 - 11905: 0xD14A, - 35002 - 11905: 0xD14B, - 35003 - 11905: 0xD14C, - 35004 - 11905: 0xF1CB, - 35005 - 11905: 0xD14D, - 35006 - 11905: 0xD14E, - 35007 - 11905: 0xD14F, - 35008 - 11905: 0xD150, - 35009 - 11905: 0xB2C3, - 35010 - 11905: 0xC1D1, - 35011 - 11905: 0xD151, - 35012 - 11905: 0xD152, - 35013 - 11905: 0xD7B0, - 35014 - 11905: 0xF1C9, - 35015 - 11905: 0xD153, - 35016 - 11905: 0xD154, - 35017 - 11905: 0xF1CC, - 35018 - 11905: 0xD155, - 35019 - 11905: 0xD156, - 35020 - 11905: 0xD157, - 35021 - 11905: 0xD158, - 35022 - 11905: 0xF1CE, - 35023 - 11905: 0xD159, - 35024 - 11905: 0xD15A, - 35025 - 11905: 0xD15B, - 35026 - 11905: 0xD9F6, - 35027 - 11905: 0xD15C, - 35028 - 11905: 0xD2E1, - 35029 - 11905: 0xD4A3, - 35030 - 11905: 0xD15D, - 35031 - 11905: 0xD15E, - 35032 - 11905: 0xF4C3, - 35033 - 11905: 0xC8B9, - 35034 - 11905: 0xD15F, - 35035 - 11905: 0xD160, - 35036 - 11905: 0xD161, - 35037 - 11905: 0xD162, - 35038 - 11905: 0xD163, - 35039 - 11905: 0xF4C4, - 35040 - 11905: 0xD164, - 35041 - 11905: 0xD165, - 35042 - 11905: 0xF1CD, - 35043 - 11905: 0xF1CF, - 35044 - 11905: 0xBFE3, - 35045 - 11905: 0xF1D0, - 35046 - 11905: 0xD166, - 35047 - 11905: 0xD167, - 35048 - 11905: 0xF1D4, - 35049 - 11905: 0xD168, - 35050 - 11905: 0xD169, - 35051 - 11905: 0xD16A, - 35052 - 11905: 0xD16B, - 35053 - 11905: 0xD16C, - 35054 - 11905: 0xD16D, - 35055 - 11905: 0xD16E, - 35056 - 11905: 0xF1D6, - 35057 - 11905: 0xF1D1, - 35058 - 11905: 0xD16F, - 35059 - 11905: 0xC9D1, - 35060 - 11905: 0xC5E1, - 35061 - 11905: 0xD170, - 35062 - 11905: 0xD171, - 35063 - 11905: 0xD172, - 35064 - 11905: 0xC2E3, - 35065 - 11905: 0xB9FC, - 35066 - 11905: 0xD173, - 35067 - 11905: 0xD174, - 35068 - 11905: 0xF1D3, - 35069 - 11905: 0xD175, - 35070 - 11905: 0xF1D5, - 35071 - 11905: 0xD176, - 35072 - 11905: 0xD177, - 35073 - 11905: 0xD178, - 35074 - 11905: 0xB9D3, - 35075 - 11905: 0xD179, - 35076 - 11905: 0xD17A, - 35077 - 11905: 0xD17B, - 35078 - 11905: 0xD17C, - 35079 - 11905: 0xD17D, - 35080 - 11905: 0xD17E, - 35081 - 11905: 0xD180, - 35082 - 11905: 0xF1DB, - 35083 - 11905: 0xD181, - 35084 - 11905: 0xD182, - 35085 - 11905: 0xD183, - 35086 - 11905: 0xD184, - 35087 - 11905: 0xD185, - 35088 - 11905: 0xBAD6, - 35089 - 11905: 0xD186, - 35090 - 11905: 0xB0FD, - 35091 - 11905: 0xF1D9, - 35092 - 11905: 0xD187, - 35093 - 11905: 0xD188, - 35094 - 11905: 0xD189, - 35095 - 11905: 0xD18A, - 35096 - 11905: 0xD18B, - 35097 - 11905: 0xF1D8, - 35098 - 11905: 0xF1D2, - 35099 - 11905: 0xF1DA, - 35100 - 11905: 0xD18C, - 35101 - 11905: 0xD18D, - 35102 - 11905: 0xD18E, - 35103 - 11905: 0xD18F, - 35104 - 11905: 0xD190, - 35105 - 11905: 0xF1D7, - 35106 - 11905: 0xD191, - 35107 - 11905: 0xD192, - 35108 - 11905: 0xD193, - 35109 - 11905: 0xC8EC, - 35110 - 11905: 0xD194, - 35111 - 11905: 0xD195, - 35112 - 11905: 0xD196, - 35113 - 11905: 0xD197, - 35114 - 11905: 0xCDCA, - 35115 - 11905: 0xF1DD, - 35116 - 11905: 0xD198, - 35117 - 11905: 0xD199, - 35118 - 11905: 0xD19A, - 35119 - 11905: 0xD19B, - 35120 - 11905: 0xE5BD, - 35121 - 11905: 0xD19C, - 35122 - 11905: 0xD19D, - 35123 - 11905: 0xD19E, - 35124 - 11905: 0xF1DC, - 35125 - 11905: 0xD19F, - 35126 - 11905: 0xF1DE, - 35127 - 11905: 0xD1A0, - 35128 - 11905: 0xD240, - 35129 - 11905: 0xD241, - 35130 - 11905: 0xD242, - 35131 - 11905: 0xD243, - 35132 - 11905: 0xD244, - 35133 - 11905: 0xD245, - 35134 - 11905: 0xD246, - 35135 - 11905: 0xD247, - 35136 - 11905: 0xD248, - 35137 - 11905: 0xF1DF, - 35138 - 11905: 0xD249, - 35139 - 11905: 0xD24A, - 35140 - 11905: 0xCFE5, - 35141 - 11905: 0xD24B, - 35142 - 11905: 0xD24C, - 35143 - 11905: 0xD24D, - 35144 - 11905: 0xD24E, - 35145 - 11905: 0xD24F, - 35146 - 11905: 0xD250, - 35147 - 11905: 0xD251, - 35148 - 11905: 0xD252, - 35149 - 11905: 0xD253, - 35150 - 11905: 0xD254, - 35151 - 11905: 0xD255, - 35152 - 11905: 0xD256, - 35153 - 11905: 0xD257, - 35154 - 11905: 0xD258, - 35155 - 11905: 0xD259, - 35156 - 11905: 0xD25A, - 35157 - 11905: 0xD25B, - 35158 - 11905: 0xD25C, - 35159 - 11905: 0xD25D, - 35160 - 11905: 0xD25E, - 35161 - 11905: 0xD25F, - 35162 - 11905: 0xD260, - 35163 - 11905: 0xD261, - 35164 - 11905: 0xD262, - 35165 - 11905: 0xD263, - 35166 - 11905: 0xF4C5, - 35167 - 11905: 0xBDF3, - 35168 - 11905: 0xD264, - 35169 - 11905: 0xD265, - 35170 - 11905: 0xD266, - 35171 - 11905: 0xD267, - 35172 - 11905: 0xD268, - 35173 - 11905: 0xD269, - 35174 - 11905: 0xF1E0, - 35175 - 11905: 0xD26A, - 35176 - 11905: 0xD26B, - 35177 - 11905: 0xD26C, - 35178 - 11905: 0xD26D, - 35179 - 11905: 0xD26E, - 35180 - 11905: 0xD26F, - 35181 - 11905: 0xD270, - 35182 - 11905: 0xD271, - 35183 - 11905: 0xD272, - 35184 - 11905: 0xD273, - 35185 - 11905: 0xD274, - 35186 - 11905: 0xD275, - 35187 - 11905: 0xD276, - 35188 - 11905: 0xD277, - 35189 - 11905: 0xD278, - 35190 - 11905: 0xD279, - 35191 - 11905: 0xD27A, - 35192 - 11905: 0xD27B, - 35193 - 11905: 0xD27C, - 35194 - 11905: 0xD27D, - 35195 - 11905: 0xF1E1, - 35196 - 11905: 0xD27E, - 35197 - 11905: 0xD280, - 35198 - 11905: 0xD281, - 35199 - 11905: 0xCEF7, - 35200 - 11905: 0xD282, - 35201 - 11905: 0xD2AA, - 35202 - 11905: 0xD283, - 35203 - 11905: 0xF1FB, - 35204 - 11905: 0xD284, - 35205 - 11905: 0xD285, - 35206 - 11905: 0xB8B2, - 35207 - 11905: 0xD286, - 35208 - 11905: 0xD287, - 35209 - 11905: 0xD288, - 35210 - 11905: 0xD289, - 35211 - 11905: 0xD28A, - 35212 - 11905: 0xD28B, - 35213 - 11905: 0xD28C, - 35214 - 11905: 0xD28D, - 35215 - 11905: 0xD28E, - 35216 - 11905: 0xD28F, - 35217 - 11905: 0xD290, - 35218 - 11905: 0xD291, - 35219 - 11905: 0xD292, - 35220 - 11905: 0xD293, - 35221 - 11905: 0xD294, - 35222 - 11905: 0xD295, - 35223 - 11905: 0xD296, - 35224 - 11905: 0xD297, - 35225 - 11905: 0xD298, - 35226 - 11905: 0xD299, - 35227 - 11905: 0xD29A, - 35228 - 11905: 0xD29B, - 35229 - 11905: 0xD29C, - 35230 - 11905: 0xD29D, - 35231 - 11905: 0xD29E, - 35232 - 11905: 0xD29F, - 35233 - 11905: 0xD2A0, - 35234 - 11905: 0xD340, - 35235 - 11905: 0xD341, - 35236 - 11905: 0xD342, - 35237 - 11905: 0xD343, - 35238 - 11905: 0xD344, - 35239 - 11905: 0xD345, - 35240 - 11905: 0xD346, - 35241 - 11905: 0xD347, - 35242 - 11905: 0xD348, - 35243 - 11905: 0xD349, - 35244 - 11905: 0xD34A, - 35245 - 11905: 0xD34B, - 35246 - 11905: 0xD34C, - 35247 - 11905: 0xD34D, - 35248 - 11905: 0xD34E, - 35249 - 11905: 0xD34F, - 35250 - 11905: 0xD350, - 35251 - 11905: 0xD351, - 35252 - 11905: 0xD352, - 35253 - 11905: 0xD353, - 35254 - 11905: 0xD354, - 35255 - 11905: 0xD355, - 35256 - 11905: 0xD356, - 35257 - 11905: 0xD357, - 35258 - 11905: 0xD358, - 35259 - 11905: 0xD359, - 35260 - 11905: 0xD35A, - 35261 - 11905: 0xD35B, - 35262 - 11905: 0xD35C, - 35263 - 11905: 0xD35D, - 35264 - 11905: 0xD35E, - 35265 - 11905: 0xBCFB, - 35266 - 11905: 0xB9DB, - 35267 - 11905: 0xD35F, - 35268 - 11905: 0xB9E6, - 35269 - 11905: 0xC3D9, - 35270 - 11905: 0xCAD3, - 35271 - 11905: 0xEAE8, - 35272 - 11905: 0xC0C0, - 35273 - 11905: 0xBEF5, - 35274 - 11905: 0xEAE9, - 35275 - 11905: 0xEAEA, - 35276 - 11905: 0xEAEB, - 35277 - 11905: 0xD360, - 35278 - 11905: 0xEAEC, - 35279 - 11905: 0xEAED, - 35280 - 11905: 0xEAEE, - 35281 - 11905: 0xEAEF, - 35282 - 11905: 0xBDC7, - 35283 - 11905: 0xD361, - 35284 - 11905: 0xD362, - 35285 - 11905: 0xD363, - 35286 - 11905: 0xF5FB, - 35287 - 11905: 0xD364, - 35288 - 11905: 0xD365, - 35289 - 11905: 0xD366, - 35290 - 11905: 0xF5FD, - 35291 - 11905: 0xD367, - 35292 - 11905: 0xF5FE, - 35293 - 11905: 0xD368, - 35294 - 11905: 0xF5FC, - 35295 - 11905: 0xD369, - 35296 - 11905: 0xD36A, - 35297 - 11905: 0xD36B, - 35298 - 11905: 0xD36C, - 35299 - 11905: 0xBDE2, - 35300 - 11905: 0xD36D, - 35301 - 11905: 0xF6A1, - 35302 - 11905: 0xB4A5, - 35303 - 11905: 0xD36E, - 35304 - 11905: 0xD36F, - 35305 - 11905: 0xD370, - 35306 - 11905: 0xD371, - 35307 - 11905: 0xF6A2, - 35308 - 11905: 0xD372, - 35309 - 11905: 0xD373, - 35310 - 11905: 0xD374, - 35311 - 11905: 0xF6A3, - 35312 - 11905: 0xD375, - 35313 - 11905: 0xD376, - 35314 - 11905: 0xD377, - 35315 - 11905: 0xECB2, - 35316 - 11905: 0xD378, - 35317 - 11905: 0xD379, - 35318 - 11905: 0xD37A, - 35319 - 11905: 0xD37B, - 35320 - 11905: 0xD37C, - 35321 - 11905: 0xD37D, - 35322 - 11905: 0xD37E, - 35323 - 11905: 0xD380, - 35324 - 11905: 0xD381, - 35325 - 11905: 0xD382, - 35326 - 11905: 0xD383, - 35327 - 11905: 0xD384, - 35328 - 11905: 0xD1D4, - 35329 - 11905: 0xD385, - 35330 - 11905: 0xD386, - 35331 - 11905: 0xD387, - 35332 - 11905: 0xD388, - 35333 - 11905: 0xD389, - 35334 - 11905: 0xD38A, - 35335 - 11905: 0xD9EA, - 35336 - 11905: 0xD38B, - 35337 - 11905: 0xD38C, - 35338 - 11905: 0xD38D, - 35339 - 11905: 0xD38E, - 35340 - 11905: 0xD38F, - 35341 - 11905: 0xD390, - 35342 - 11905: 0xD391, - 35343 - 11905: 0xD392, - 35344 - 11905: 0xD393, - 35345 - 11905: 0xD394, - 35346 - 11905: 0xD395, - 35347 - 11905: 0xD396, - 35348 - 11905: 0xD397, - 35349 - 11905: 0xD398, - 35350 - 11905: 0xD399, - 35351 - 11905: 0xD39A, - 35352 - 11905: 0xD39B, - 35353 - 11905: 0xD39C, - 35354 - 11905: 0xD39D, - 35355 - 11905: 0xD39E, - 35356 - 11905: 0xD39F, - 35357 - 11905: 0xD3A0, - 35358 - 11905: 0xD440, - 35359 - 11905: 0xD441, - 35360 - 11905: 0xD442, - 35361 - 11905: 0xD443, - 35362 - 11905: 0xD444, - 35363 - 11905: 0xD445, - 35364 - 11905: 0xD446, - 35365 - 11905: 0xD447, - 35366 - 11905: 0xD448, - 35367 - 11905: 0xD449, - 35368 - 11905: 0xD44A, - 35369 - 11905: 0xD44B, - 35370 - 11905: 0xD44C, - 35371 - 11905: 0xD44D, - 35372 - 11905: 0xD44E, - 35373 - 11905: 0xD44F, - 35374 - 11905: 0xD450, - 35375 - 11905: 0xD451, - 35376 - 11905: 0xD452, - 35377 - 11905: 0xD453, - 35378 - 11905: 0xD454, - 35379 - 11905: 0xD455, - 35380 - 11905: 0xD456, - 35381 - 11905: 0xD457, - 35382 - 11905: 0xD458, - 35383 - 11905: 0xD459, - 35384 - 11905: 0xD45A, - 35385 - 11905: 0xD45B, - 35386 - 11905: 0xD45C, - 35387 - 11905: 0xD45D, - 35388 - 11905: 0xD45E, - 35389 - 11905: 0xD45F, - 35390 - 11905: 0xF6A4, - 35391 - 11905: 0xD460, - 35392 - 11905: 0xD461, - 35393 - 11905: 0xD462, - 35394 - 11905: 0xD463, - 35395 - 11905: 0xD464, - 35396 - 11905: 0xD465, - 35397 - 11905: 0xD466, - 35398 - 11905: 0xD467, - 35399 - 11905: 0xD468, - 35400 - 11905: 0xEEBA, - 35401 - 11905: 0xD469, - 35402 - 11905: 0xD46A, - 35403 - 11905: 0xD46B, - 35404 - 11905: 0xD46C, - 35405 - 11905: 0xD46D, - 35406 - 11905: 0xD46E, - 35407 - 11905: 0xD46F, - 35408 - 11905: 0xD470, - 35409 - 11905: 0xD471, - 35410 - 11905: 0xD472, - 35411 - 11905: 0xD473, - 35412 - 11905: 0xD474, - 35413 - 11905: 0xD475, - 35414 - 11905: 0xD476, - 35415 - 11905: 0xD477, - 35416 - 11905: 0xD478, - 35417 - 11905: 0xD479, - 35418 - 11905: 0xD47A, - 35419 - 11905: 0xD47B, - 35420 - 11905: 0xD47C, - 35421 - 11905: 0xD47D, - 35422 - 11905: 0xD47E, - 35423 - 11905: 0xD480, - 35424 - 11905: 0xD481, - 35425 - 11905: 0xD482, - 35426 - 11905: 0xD483, - 35427 - 11905: 0xD484, - 35428 - 11905: 0xD485, - 35429 - 11905: 0xD486, - 35430 - 11905: 0xD487, - 35431 - 11905: 0xD488, - 35432 - 11905: 0xD489, - 35433 - 11905: 0xD48A, - 35434 - 11905: 0xD48B, - 35435 - 11905: 0xD48C, - 35436 - 11905: 0xD48D, - 35437 - 11905: 0xD48E, - 35438 - 11905: 0xD48F, - 35439 - 11905: 0xD490, - 35440 - 11905: 0xD491, - 35441 - 11905: 0xD492, - 35442 - 11905: 0xD493, - 35443 - 11905: 0xD494, - 35444 - 11905: 0xD495, - 35445 - 11905: 0xD496, - 35446 - 11905: 0xD497, - 35447 - 11905: 0xD498, - 35448 - 11905: 0xD499, - 35449 - 11905: 0xD5B2, - 35450 - 11905: 0xD49A, - 35451 - 11905: 0xD49B, - 35452 - 11905: 0xD49C, - 35453 - 11905: 0xD49D, - 35454 - 11905: 0xD49E, - 35455 - 11905: 0xD49F, - 35456 - 11905: 0xD4A0, - 35457 - 11905: 0xD540, - 35458 - 11905: 0xD541, - 35459 - 11905: 0xD542, - 35460 - 11905: 0xD543, - 35461 - 11905: 0xD544, - 35462 - 11905: 0xD545, - 35463 - 11905: 0xD546, - 35464 - 11905: 0xD547, - 35465 - 11905: 0xD3FE, - 35466 - 11905: 0xCCDC, - 35467 - 11905: 0xD548, - 35468 - 11905: 0xD549, - 35469 - 11905: 0xD54A, - 35470 - 11905: 0xD54B, - 35471 - 11905: 0xD54C, - 35472 - 11905: 0xD54D, - 35473 - 11905: 0xD54E, - 35474 - 11905: 0xD54F, - 35475 - 11905: 0xCAC4, - 35476 - 11905: 0xD550, - 35477 - 11905: 0xD551, - 35478 - 11905: 0xD552, - 35479 - 11905: 0xD553, - 35480 - 11905: 0xD554, - 35481 - 11905: 0xD555, - 35482 - 11905: 0xD556, - 35483 - 11905: 0xD557, - 35484 - 11905: 0xD558, - 35485 - 11905: 0xD559, - 35486 - 11905: 0xD55A, - 35487 - 11905: 0xD55B, - 35488 - 11905: 0xD55C, - 35489 - 11905: 0xD55D, - 35490 - 11905: 0xD55E, - 35491 - 11905: 0xD55F, - 35492 - 11905: 0xD560, - 35493 - 11905: 0xD561, - 35494 - 11905: 0xD562, - 35495 - 11905: 0xD563, - 35496 - 11905: 0xD564, - 35497 - 11905: 0xD565, - 35498 - 11905: 0xD566, - 35499 - 11905: 0xD567, - 35500 - 11905: 0xD568, - 35501 - 11905: 0xD569, - 35502 - 11905: 0xD56A, - 35503 - 11905: 0xD56B, - 35504 - 11905: 0xD56C, - 35505 - 11905: 0xD56D, - 35506 - 11905: 0xD56E, - 35507 - 11905: 0xD56F, - 35508 - 11905: 0xD570, - 35509 - 11905: 0xD571, - 35510 - 11905: 0xD572, - 35511 - 11905: 0xD573, - 35512 - 11905: 0xD574, - 35513 - 11905: 0xD575, - 35514 - 11905: 0xD576, - 35515 - 11905: 0xD577, - 35516 - 11905: 0xD578, - 35517 - 11905: 0xD579, - 35518 - 11905: 0xD57A, - 35519 - 11905: 0xD57B, - 35520 - 11905: 0xD57C, - 35521 - 11905: 0xD57D, - 35522 - 11905: 0xD57E, - 35523 - 11905: 0xD580, - 35524 - 11905: 0xD581, - 35525 - 11905: 0xD582, - 35526 - 11905: 0xD583, - 35527 - 11905: 0xD584, - 35528 - 11905: 0xD585, - 35529 - 11905: 0xD586, - 35530 - 11905: 0xD587, - 35531 - 11905: 0xD588, - 35532 - 11905: 0xD589, - 35533 - 11905: 0xD58A, - 35534 - 11905: 0xD58B, - 35535 - 11905: 0xD58C, - 35536 - 11905: 0xD58D, - 35537 - 11905: 0xD58E, - 35538 - 11905: 0xD58F, - 35539 - 11905: 0xD590, - 35540 - 11905: 0xD591, - 35541 - 11905: 0xD592, - 35542 - 11905: 0xD593, - 35543 - 11905: 0xD594, - 35544 - 11905: 0xD595, - 35545 - 11905: 0xD596, - 35546 - 11905: 0xD597, - 35547 - 11905: 0xD598, - 35548 - 11905: 0xD599, - 35549 - 11905: 0xD59A, - 35550 - 11905: 0xD59B, - 35551 - 11905: 0xD59C, - 35552 - 11905: 0xD59D, - 35553 - 11905: 0xD59E, - 35554 - 11905: 0xD59F, - 35555 - 11905: 0xD5A0, - 35556 - 11905: 0xD640, - 35557 - 11905: 0xD641, - 35558 - 11905: 0xD642, - 35559 - 11905: 0xD643, - 35560 - 11905: 0xD644, - 35561 - 11905: 0xD645, - 35562 - 11905: 0xD646, - 35563 - 11905: 0xD647, - 35564 - 11905: 0xD648, - 35565 - 11905: 0xD649, - 35566 - 11905: 0xD64A, - 35567 - 11905: 0xD64B, - 35568 - 11905: 0xD64C, - 35569 - 11905: 0xD64D, - 35570 - 11905: 0xD64E, - 35571 - 11905: 0xD64F, - 35572 - 11905: 0xD650, - 35573 - 11905: 0xD651, - 35574 - 11905: 0xD652, - 35575 - 11905: 0xD653, - 35576 - 11905: 0xD654, - 35577 - 11905: 0xD655, - 35578 - 11905: 0xD656, - 35579 - 11905: 0xD657, - 35580 - 11905: 0xD658, - 35581 - 11905: 0xD659, - 35582 - 11905: 0xD65A, - 35583 - 11905: 0xD65B, - 35584 - 11905: 0xD65C, - 35585 - 11905: 0xD65D, - 35586 - 11905: 0xD65E, - 35587 - 11905: 0xD65F, - 35588 - 11905: 0xD660, - 35589 - 11905: 0xD661, - 35590 - 11905: 0xD662, - 35591 - 11905: 0xE5C0, - 35592 - 11905: 0xD663, - 35593 - 11905: 0xD664, - 35594 - 11905: 0xD665, - 35595 - 11905: 0xD666, - 35596 - 11905: 0xD667, - 35597 - 11905: 0xD668, - 35598 - 11905: 0xD669, - 35599 - 11905: 0xD66A, - 35600 - 11905: 0xD66B, - 35601 - 11905: 0xD66C, - 35602 - 11905: 0xD66D, - 35603 - 11905: 0xD66E, - 35604 - 11905: 0xD66F, - 35605 - 11905: 0xD670, - 35606 - 11905: 0xD671, - 35607 - 11905: 0xD672, - 35608 - 11905: 0xD673, - 35609 - 11905: 0xD674, - 35610 - 11905: 0xD675, - 35611 - 11905: 0xD676, - 35612 - 11905: 0xD677, - 35613 - 11905: 0xD678, - 35614 - 11905: 0xD679, - 35615 - 11905: 0xD67A, - 35616 - 11905: 0xD67B, - 35617 - 11905: 0xD67C, - 35618 - 11905: 0xD67D, - 35619 - 11905: 0xD67E, - 35620 - 11905: 0xD680, - 35621 - 11905: 0xD681, - 35622 - 11905: 0xF6A5, - 35623 - 11905: 0xD682, - 35624 - 11905: 0xD683, - 35625 - 11905: 0xD684, - 35626 - 11905: 0xD685, - 35627 - 11905: 0xD686, - 35628 - 11905: 0xD687, - 35629 - 11905: 0xD688, - 35630 - 11905: 0xD689, - 35631 - 11905: 0xD68A, - 35632 - 11905: 0xD68B, - 35633 - 11905: 0xD68C, - 35634 - 11905: 0xD68D, - 35635 - 11905: 0xD68E, - 35636 - 11905: 0xD68F, - 35637 - 11905: 0xD690, - 35638 - 11905: 0xD691, - 35639 - 11905: 0xD692, - 35640 - 11905: 0xD693, - 35641 - 11905: 0xD694, - 35642 - 11905: 0xD695, - 35643 - 11905: 0xD696, - 35644 - 11905: 0xD697, - 35645 - 11905: 0xD698, - 35646 - 11905: 0xD699, - 35647 - 11905: 0xD69A, - 35648 - 11905: 0xD69B, - 35649 - 11905: 0xD69C, - 35650 - 11905: 0xD69D, - 35651 - 11905: 0xD69E, - 35652 - 11905: 0xD69F, - 35653 - 11905: 0xD6A0, - 35654 - 11905: 0xD740, - 35655 - 11905: 0xD741, - 35656 - 11905: 0xD742, - 35657 - 11905: 0xD743, - 35658 - 11905: 0xD744, - 35659 - 11905: 0xD745, - 35660 - 11905: 0xD746, - 35661 - 11905: 0xD747, - 35662 - 11905: 0xD748, - 35663 - 11905: 0xD749, - 35664 - 11905: 0xD74A, - 35665 - 11905: 0xD74B, - 35666 - 11905: 0xD74C, - 35667 - 11905: 0xD74D, - 35668 - 11905: 0xD74E, - 35669 - 11905: 0xD74F, - 35670 - 11905: 0xD750, - 35671 - 11905: 0xD751, - 35672 - 11905: 0xD752, - 35673 - 11905: 0xD753, - 35674 - 11905: 0xD754, - 35675 - 11905: 0xD755, - 35676 - 11905: 0xD756, - 35677 - 11905: 0xD757, - 35678 - 11905: 0xD758, - 35679 - 11905: 0xD759, - 35680 - 11905: 0xD75A, - 35681 - 11905: 0xD75B, - 35682 - 11905: 0xD75C, - 35683 - 11905: 0xD75D, - 35684 - 11905: 0xD75E, - 35685 - 11905: 0xD75F, - 35686 - 11905: 0xBEAF, - 35687 - 11905: 0xD760, - 35688 - 11905: 0xD761, - 35689 - 11905: 0xD762, - 35690 - 11905: 0xD763, - 35691 - 11905: 0xD764, - 35692 - 11905: 0xC6A9, - 35693 - 11905: 0xD765, - 35694 - 11905: 0xD766, - 35695 - 11905: 0xD767, - 35696 - 11905: 0xD768, - 35697 - 11905: 0xD769, - 35698 - 11905: 0xD76A, - 35699 - 11905: 0xD76B, - 35700 - 11905: 0xD76C, - 35701 - 11905: 0xD76D, - 35702 - 11905: 0xD76E, - 35703 - 11905: 0xD76F, - 35704 - 11905: 0xD770, - 35705 - 11905: 0xD771, - 35706 - 11905: 0xD772, - 35707 - 11905: 0xD773, - 35708 - 11905: 0xD774, - 35709 - 11905: 0xD775, - 35710 - 11905: 0xD776, - 35711 - 11905: 0xD777, - 35712 - 11905: 0xD778, - 35713 - 11905: 0xD779, - 35714 - 11905: 0xD77A, - 35715 - 11905: 0xD77B, - 35716 - 11905: 0xD77C, - 35717 - 11905: 0xD77D, - 35718 - 11905: 0xD77E, - 35719 - 11905: 0xD780, - 35720 - 11905: 0xD781, - 35721 - 11905: 0xD782, - 35722 - 11905: 0xD783, - 35723 - 11905: 0xD784, - 35724 - 11905: 0xD785, - 35725 - 11905: 0xD786, - 35726 - 11905: 0xD787, - 35727 - 11905: 0xD788, - 35728 - 11905: 0xD789, - 35729 - 11905: 0xD78A, - 35730 - 11905: 0xD78B, - 35731 - 11905: 0xD78C, - 35732 - 11905: 0xD78D, - 35733 - 11905: 0xD78E, - 35734 - 11905: 0xD78F, - 35735 - 11905: 0xD790, - 35736 - 11905: 0xD791, - 35737 - 11905: 0xD792, - 35738 - 11905: 0xD793, - 35739 - 11905: 0xD794, - 35740 - 11905: 0xD795, - 35741 - 11905: 0xD796, - 35742 - 11905: 0xD797, - 35743 - 11905: 0xD798, - 35744 - 11905: 0xDAA5, - 35745 - 11905: 0xBCC6, - 35746 - 11905: 0xB6A9, - 35747 - 11905: 0xB8BC, - 35748 - 11905: 0xC8CF, - 35749 - 11905: 0xBCA5, - 35750 - 11905: 0xDAA6, - 35751 - 11905: 0xDAA7, - 35752 - 11905: 0xCCD6, - 35753 - 11905: 0xC8C3, - 35754 - 11905: 0xDAA8, - 35755 - 11905: 0xC6FD, - 35756 - 11905: 0xD799, - 35757 - 11905: 0xD1B5, - 35758 - 11905: 0xD2E9, - 35759 - 11905: 0xD1B6, - 35760 - 11905: 0xBCC7, - 35761 - 11905: 0xD79A, - 35762 - 11905: 0xBDB2, - 35763 - 11905: 0xBBE4, - 35764 - 11905: 0xDAA9, - 35765 - 11905: 0xDAAA, - 35766 - 11905: 0xD1C8, - 35767 - 11905: 0xDAAB, - 35768 - 11905: 0xD0ED, - 35769 - 11905: 0xB6EF, - 35770 - 11905: 0xC2DB, - 35771 - 11905: 0xD79B, - 35772 - 11905: 0xCBCF, - 35773 - 11905: 0xB7ED, - 35774 - 11905: 0xC9E8, - 35775 - 11905: 0xB7C3, - 35776 - 11905: 0xBEF7, - 35777 - 11905: 0xD6A4, - 35778 - 11905: 0xDAAC, - 35779 - 11905: 0xDAAD, - 35780 - 11905: 0xC6C0, - 35781 - 11905: 0xD7E7, - 35782 - 11905: 0xCAB6, - 35783 - 11905: 0xD79C, - 35784 - 11905: 0xD5A9, - 35785 - 11905: 0xCBDF, - 35786 - 11905: 0xD5EF, - 35787 - 11905: 0xDAAE, - 35788 - 11905: 0xD6DF, - 35789 - 11905: 0xB4CA, - 35790 - 11905: 0xDAB0, - 35791 - 11905: 0xDAAF, - 35792 - 11905: 0xD79D, - 35793 - 11905: 0xD2EB, - 35794 - 11905: 0xDAB1, - 35795 - 11905: 0xDAB2, - 35796 - 11905: 0xDAB3, - 35797 - 11905: 0xCAD4, - 35798 - 11905: 0xDAB4, - 35799 - 11905: 0xCAAB, - 35800 - 11905: 0xDAB5, - 35801 - 11905: 0xDAB6, - 35802 - 11905: 0xB3CF, - 35803 - 11905: 0xD6EF, - 35804 - 11905: 0xDAB7, - 35805 - 11905: 0xBBB0, - 35806 - 11905: 0xB5AE, - 35807 - 11905: 0xDAB8, - 35808 - 11905: 0xDAB9, - 35809 - 11905: 0xB9EE, - 35810 - 11905: 0xD1AF, - 35811 - 11905: 0xD2E8, - 35812 - 11905: 0xDABA, - 35813 - 11905: 0xB8C3, - 35814 - 11905: 0xCFEA, - 35815 - 11905: 0xB2EF, - 35816 - 11905: 0xDABB, - 35817 - 11905: 0xDABC, - 35818 - 11905: 0xD79E, - 35819 - 11905: 0xBDEB, - 35820 - 11905: 0xCEDC, - 35821 - 11905: 0xD3EF, - 35822 - 11905: 0xDABD, - 35823 - 11905: 0xCEF3, - 35824 - 11905: 0xDABE, - 35825 - 11905: 0xD3D5, - 35826 - 11905: 0xBBE5, - 35827 - 11905: 0xDABF, - 35828 - 11905: 0xCBB5, - 35829 - 11905: 0xCBD0, - 35830 - 11905: 0xDAC0, - 35831 - 11905: 0xC7EB, - 35832 - 11905: 0xD6EE, - 35833 - 11905: 0xDAC1, - 35834 - 11905: 0xC5B5, - 35835 - 11905: 0xB6C1, - 35836 - 11905: 0xDAC2, - 35837 - 11905: 0xB7CC, - 35838 - 11905: 0xBFCE, - 35839 - 11905: 0xDAC3, - 35840 - 11905: 0xDAC4, - 35841 - 11905: 0xCBAD, - 35842 - 11905: 0xDAC5, - 35843 - 11905: 0xB5F7, - 35844 - 11905: 0xDAC6, - 35845 - 11905: 0xC1C2, - 35846 - 11905: 0xD7BB, - 35847 - 11905: 0xDAC7, - 35848 - 11905: 0xCCB8, - 35849 - 11905: 0xD79F, - 35850 - 11905: 0xD2EA, - 35851 - 11905: 0xC4B1, - 35852 - 11905: 0xDAC8, - 35853 - 11905: 0xB5FD, - 35854 - 11905: 0xBBD1, - 35855 - 11905: 0xDAC9, - 35856 - 11905: 0xD0B3, - 35857 - 11905: 0xDACA, - 35858 - 11905: 0xDACB, - 35859 - 11905: 0xCEBD, - 35860 - 11905: 0xDACC, - 35861 - 11905: 0xDACD, - 35862 - 11905: 0xDACE, - 35863 - 11905: 0xB2F7, - 35864 - 11905: 0xDAD1, - 35865 - 11905: 0xDACF, - 35866 - 11905: 0xD1E8, - 35867 - 11905: 0xDAD0, - 35868 - 11905: 0xC3D5, - 35869 - 11905: 0xDAD2, - 35870 - 11905: 0xD7A0, - 35871 - 11905: 0xDAD3, - 35872 - 11905: 0xDAD4, - 35873 - 11905: 0xDAD5, - 35874 - 11905: 0xD0BB, - 35875 - 11905: 0xD2A5, - 35876 - 11905: 0xB0F9, - 35877 - 11905: 0xDAD6, - 35878 - 11905: 0xC7AB, - 35879 - 11905: 0xDAD7, - 35880 - 11905: 0xBDF7, - 35881 - 11905: 0xC3A1, - 35882 - 11905: 0xDAD8, - 35883 - 11905: 0xDAD9, - 35884 - 11905: 0xC3FD, - 35885 - 11905: 0xCCB7, - 35886 - 11905: 0xDADA, - 35887 - 11905: 0xDADB, - 35888 - 11905: 0xC0BE, - 35889 - 11905: 0xC6D7, - 35890 - 11905: 0xDADC, - 35891 - 11905: 0xDADD, - 35892 - 11905: 0xC7B4, - 35893 - 11905: 0xDADE, - 35894 - 11905: 0xDADF, - 35895 - 11905: 0xB9C8, - 35896 - 11905: 0xD840, - 35897 - 11905: 0xD841, - 35898 - 11905: 0xD842, - 35899 - 11905: 0xD843, - 35900 - 11905: 0xD844, - 35901 - 11905: 0xD845, - 35902 - 11905: 0xD846, - 35903 - 11905: 0xD847, - 35904 - 11905: 0xD848, - 35905 - 11905: 0xBBED, - 35906 - 11905: 0xD849, - 35907 - 11905: 0xD84A, - 35908 - 11905: 0xD84B, - 35909 - 11905: 0xD84C, - 35910 - 11905: 0xB6B9, - 35911 - 11905: 0xF4F8, - 35912 - 11905: 0xD84D, - 35913 - 11905: 0xF4F9, - 35914 - 11905: 0xD84E, - 35915 - 11905: 0xD84F, - 35916 - 11905: 0xCDE3, - 35917 - 11905: 0xD850, - 35918 - 11905: 0xD851, - 35919 - 11905: 0xD852, - 35920 - 11905: 0xD853, - 35921 - 11905: 0xD854, - 35922 - 11905: 0xD855, - 35923 - 11905: 0xD856, - 35924 - 11905: 0xD857, - 35925 - 11905: 0xF5B9, - 35926 - 11905: 0xD858, - 35927 - 11905: 0xD859, - 35928 - 11905: 0xD85A, - 35929 - 11905: 0xD85B, - 35930 - 11905: 0xEBE0, - 35931 - 11905: 0xD85C, - 35932 - 11905: 0xD85D, - 35933 - 11905: 0xD85E, - 35934 - 11905: 0xD85F, - 35935 - 11905: 0xD860, - 35936 - 11905: 0xD861, - 35937 - 11905: 0xCFF3, - 35938 - 11905: 0xBBBF, - 35939 - 11905: 0xD862, - 35940 - 11905: 0xD863, - 35941 - 11905: 0xD864, - 35942 - 11905: 0xD865, - 35943 - 11905: 0xD866, - 35944 - 11905: 0xD867, - 35945 - 11905: 0xD868, - 35946 - 11905: 0xBAC0, - 35947 - 11905: 0xD4A5, - 35948 - 11905: 0xD869, - 35949 - 11905: 0xD86A, - 35950 - 11905: 0xD86B, - 35951 - 11905: 0xD86C, - 35952 - 11905: 0xD86D, - 35953 - 11905: 0xD86E, - 35954 - 11905: 0xD86F, - 35955 - 11905: 0xE1D9, - 35956 - 11905: 0xD870, - 35957 - 11905: 0xD871, - 35958 - 11905: 0xD872, - 35959 - 11905: 0xD873, - 35960 - 11905: 0xF5F4, - 35961 - 11905: 0xB1AA, - 35962 - 11905: 0xB2F2, - 35963 - 11905: 0xD874, - 35964 - 11905: 0xD875, - 35965 - 11905: 0xD876, - 35966 - 11905: 0xD877, - 35967 - 11905: 0xD878, - 35968 - 11905: 0xD879, - 35969 - 11905: 0xD87A, - 35970 - 11905: 0xF5F5, - 35971 - 11905: 0xD87B, - 35972 - 11905: 0xD87C, - 35973 - 11905: 0xF5F7, - 35974 - 11905: 0xD87D, - 35975 - 11905: 0xD87E, - 35976 - 11905: 0xD880, - 35977 - 11905: 0xBAD1, - 35978 - 11905: 0xF5F6, - 35979 - 11905: 0xD881, - 35980 - 11905: 0xC3B2, - 35981 - 11905: 0xD882, - 35982 - 11905: 0xD883, - 35983 - 11905: 0xD884, - 35984 - 11905: 0xD885, - 35985 - 11905: 0xD886, - 35986 - 11905: 0xD887, - 35987 - 11905: 0xD888, - 35988 - 11905: 0xF5F9, - 35989 - 11905: 0xD889, - 35990 - 11905: 0xD88A, - 35991 - 11905: 0xD88B, - 35992 - 11905: 0xF5F8, - 35993 - 11905: 0xD88C, - 35994 - 11905: 0xD88D, - 35995 - 11905: 0xD88E, - 35996 - 11905: 0xD88F, - 35997 - 11905: 0xD890, - 35998 - 11905: 0xD891, - 35999 - 11905: 0xD892, - 36000 - 11905: 0xD893, - 36001 - 11905: 0xD894, - 36002 - 11905: 0xD895, - 36003 - 11905: 0xD896, - 36004 - 11905: 0xD897, - 36005 - 11905: 0xD898, - 36006 - 11905: 0xD899, - 36007 - 11905: 0xD89A, - 36008 - 11905: 0xD89B, - 36009 - 11905: 0xD89C, - 36010 - 11905: 0xD89D, - 36011 - 11905: 0xD89E, - 36012 - 11905: 0xD89F, - 36013 - 11905: 0xD8A0, - 36014 - 11905: 0xD940, - 36015 - 11905: 0xD941, - 36016 - 11905: 0xD942, - 36017 - 11905: 0xD943, - 36018 - 11905: 0xD944, - 36019 - 11905: 0xD945, - 36020 - 11905: 0xD946, - 36021 - 11905: 0xD947, - 36022 - 11905: 0xD948, - 36023 - 11905: 0xD949, - 36024 - 11905: 0xD94A, - 36025 - 11905: 0xD94B, - 36026 - 11905: 0xD94C, - 36027 - 11905: 0xD94D, - 36028 - 11905: 0xD94E, - 36029 - 11905: 0xD94F, - 36030 - 11905: 0xD950, - 36031 - 11905: 0xD951, - 36032 - 11905: 0xD952, - 36033 - 11905: 0xD953, - 36034 - 11905: 0xD954, - 36035 - 11905: 0xD955, - 36036 - 11905: 0xD956, - 36037 - 11905: 0xD957, - 36038 - 11905: 0xD958, - 36039 - 11905: 0xD959, - 36040 - 11905: 0xD95A, - 36041 - 11905: 0xD95B, - 36042 - 11905: 0xD95C, - 36043 - 11905: 0xD95D, - 36044 - 11905: 0xD95E, - 36045 - 11905: 0xD95F, - 36046 - 11905: 0xD960, - 36047 - 11905: 0xD961, - 36048 - 11905: 0xD962, - 36049 - 11905: 0xD963, - 36050 - 11905: 0xD964, - 36051 - 11905: 0xD965, - 36052 - 11905: 0xD966, - 36053 - 11905: 0xD967, - 36054 - 11905: 0xD968, - 36055 - 11905: 0xD969, - 36056 - 11905: 0xD96A, - 36057 - 11905: 0xD96B, - 36058 - 11905: 0xD96C, - 36059 - 11905: 0xD96D, - 36060 - 11905: 0xD96E, - 36061 - 11905: 0xD96F, - 36062 - 11905: 0xD970, - 36063 - 11905: 0xD971, - 36064 - 11905: 0xD972, - 36065 - 11905: 0xD973, - 36066 - 11905: 0xD974, - 36067 - 11905: 0xD975, - 36068 - 11905: 0xD976, - 36069 - 11905: 0xD977, - 36070 - 11905: 0xD978, - 36071 - 11905: 0xD979, - 36072 - 11905: 0xD97A, - 36073 - 11905: 0xD97B, - 36074 - 11905: 0xD97C, - 36075 - 11905: 0xD97D, - 36076 - 11905: 0xD97E, - 36077 - 11905: 0xD980, - 36078 - 11905: 0xD981, - 36079 - 11905: 0xD982, - 36080 - 11905: 0xD983, - 36081 - 11905: 0xD984, - 36082 - 11905: 0xD985, - 36083 - 11905: 0xD986, - 36084 - 11905: 0xD987, - 36085 - 11905: 0xD988, - 36086 - 11905: 0xD989, - 36087 - 11905: 0xD98A, - 36088 - 11905: 0xD98B, - 36089 - 11905: 0xD98C, - 36090 - 11905: 0xD98D, - 36091 - 11905: 0xD98E, - 36092 - 11905: 0xD98F, - 36093 - 11905: 0xD990, - 36094 - 11905: 0xD991, - 36095 - 11905: 0xD992, - 36096 - 11905: 0xD993, - 36097 - 11905: 0xD994, - 36098 - 11905: 0xD995, - 36099 - 11905: 0xD996, - 36100 - 11905: 0xD997, - 36101 - 11905: 0xD998, - 36102 - 11905: 0xD999, - 36103 - 11905: 0xD99A, - 36104 - 11905: 0xD99B, - 36105 - 11905: 0xD99C, - 36106 - 11905: 0xD99D, - 36107 - 11905: 0xD99E, - 36108 - 11905: 0xD99F, - 36109 - 11905: 0xD9A0, - 36110 - 11905: 0xDA40, - 36111 - 11905: 0xDA41, - 36112 - 11905: 0xDA42, - 36113 - 11905: 0xDA43, - 36114 - 11905: 0xDA44, - 36115 - 11905: 0xDA45, - 36116 - 11905: 0xDA46, - 36117 - 11905: 0xDA47, - 36118 - 11905: 0xDA48, - 36119 - 11905: 0xDA49, - 36120 - 11905: 0xDA4A, - 36121 - 11905: 0xDA4B, - 36122 - 11905: 0xDA4C, - 36123 - 11905: 0xDA4D, - 36124 - 11905: 0xDA4E, - 36125 - 11905: 0xB1B4, - 36126 - 11905: 0xD5EA, - 36127 - 11905: 0xB8BA, - 36128 - 11905: 0xDA4F, - 36129 - 11905: 0xB9B1, - 36130 - 11905: 0xB2C6, - 36131 - 11905: 0xD4F0, - 36132 - 11905: 0xCFCD, - 36133 - 11905: 0xB0DC, - 36134 - 11905: 0xD5CB, - 36135 - 11905: 0xBBF5, - 36136 - 11905: 0xD6CA, - 36137 - 11905: 0xB7B7, - 36138 - 11905: 0xCCB0, - 36139 - 11905: 0xC6B6, - 36140 - 11905: 0xB1E1, - 36141 - 11905: 0xB9BA, - 36142 - 11905: 0xD6FC, - 36143 - 11905: 0xB9E1, - 36144 - 11905: 0xB7A1, - 36145 - 11905: 0xBCFA, - 36146 - 11905: 0xEADA, - 36147 - 11905: 0xEADB, - 36148 - 11905: 0xCCF9, - 36149 - 11905: 0xB9F3, - 36150 - 11905: 0xEADC, - 36151 - 11905: 0xB4FB, - 36152 - 11905: 0xC3B3, - 36153 - 11905: 0xB7D1, - 36154 - 11905: 0xBAD8, - 36155 - 11905: 0xEADD, - 36156 - 11905: 0xD4F4, - 36157 - 11905: 0xEADE, - 36158 - 11905: 0xBCD6, - 36159 - 11905: 0xBBDF, - 36160 - 11905: 0xEADF, - 36161 - 11905: 0xC1DE, - 36162 - 11905: 0xC2B8, - 36163 - 11905: 0xD4DF, - 36164 - 11905: 0xD7CA, - 36165 - 11905: 0xEAE0, - 36166 - 11905: 0xEAE1, - 36167 - 11905: 0xEAE4, - 36168 - 11905: 0xEAE2, - 36169 - 11905: 0xEAE3, - 36170 - 11905: 0xC9DE, - 36171 - 11905: 0xB8B3, - 36172 - 11905: 0xB6C4, - 36173 - 11905: 0xEAE5, - 36174 - 11905: 0xCAEA, - 36175 - 11905: 0xC9CD, - 36176 - 11905: 0xB4CD, - 36177 - 11905: 0xDA50, - 36178 - 11905: 0xDA51, - 36179 - 11905: 0xE2D9, - 36180 - 11905: 0xC5E2, - 36181 - 11905: 0xEAE6, - 36182 - 11905: 0xC0B5, - 36183 - 11905: 0xDA52, - 36184 - 11905: 0xD7B8, - 36185 - 11905: 0xEAE7, - 36186 - 11905: 0xD7AC, - 36187 - 11905: 0xC8FC, - 36188 - 11905: 0xD8D3, - 36189 - 11905: 0xD8CD, - 36190 - 11905: 0xD4DE, - 36191 - 11905: 0xDA53, - 36192 - 11905: 0xD4F9, - 36193 - 11905: 0xC9C4, - 36194 - 11905: 0xD3AE, - 36195 - 11905: 0xB8D3, - 36196 - 11905: 0xB3E0, - 36197 - 11905: 0xDA54, - 36198 - 11905: 0xC9E2, - 36199 - 11905: 0xF4F6, - 36200 - 11905: 0xDA55, - 36201 - 11905: 0xDA56, - 36202 - 11905: 0xDA57, - 36203 - 11905: 0xBAD5, - 36204 - 11905: 0xDA58, - 36205 - 11905: 0xF4F7, - 36206 - 11905: 0xDA59, - 36207 - 11905: 0xDA5A, - 36208 - 11905: 0xD7DF, - 36209 - 11905: 0xDA5B, - 36210 - 11905: 0xDA5C, - 36211 - 11905: 0xF4F1, - 36212 - 11905: 0xB8B0, - 36213 - 11905: 0xD5D4, - 36214 - 11905: 0xB8CF, - 36215 - 11905: 0xC6F0, - 36216 - 11905: 0xDA5D, - 36217 - 11905: 0xDA5E, - 36218 - 11905: 0xDA5F, - 36219 - 11905: 0xDA60, - 36220 - 11905: 0xDA61, - 36221 - 11905: 0xDA62, - 36222 - 11905: 0xDA63, - 36223 - 11905: 0xDA64, - 36224 - 11905: 0xDA65, - 36225 - 11905: 0xB3C3, - 36226 - 11905: 0xDA66, - 36227 - 11905: 0xDA67, - 36228 - 11905: 0xF4F2, - 36229 - 11905: 0xB3AC, - 36230 - 11905: 0xDA68, - 36231 - 11905: 0xDA69, - 36232 - 11905: 0xDA6A, - 36233 - 11905: 0xDA6B, - 36234 - 11905: 0xD4BD, - 36235 - 11905: 0xC7F7, - 36236 - 11905: 0xDA6C, - 36237 - 11905: 0xDA6D, - 36238 - 11905: 0xDA6E, - 36239 - 11905: 0xDA6F, - 36240 - 11905: 0xDA70, - 36241 - 11905: 0xF4F4, - 36242 - 11905: 0xDA71, - 36243 - 11905: 0xDA72, - 36244 - 11905: 0xF4F3, - 36245 - 11905: 0xDA73, - 36246 - 11905: 0xDA74, - 36247 - 11905: 0xDA75, - 36248 - 11905: 0xDA76, - 36249 - 11905: 0xDA77, - 36250 - 11905: 0xDA78, - 36251 - 11905: 0xDA79, - 36252 - 11905: 0xDA7A, - 36253 - 11905: 0xDA7B, - 36254 - 11905: 0xDA7C, - 36255 - 11905: 0xCCCB, - 36256 - 11905: 0xDA7D, - 36257 - 11905: 0xDA7E, - 36258 - 11905: 0xDA80, - 36259 - 11905: 0xC8A4, - 36260 - 11905: 0xDA81, - 36261 - 11905: 0xDA82, - 36262 - 11905: 0xDA83, - 36263 - 11905: 0xDA84, - 36264 - 11905: 0xDA85, - 36265 - 11905: 0xDA86, - 36266 - 11905: 0xDA87, - 36267 - 11905: 0xDA88, - 36268 - 11905: 0xDA89, - 36269 - 11905: 0xDA8A, - 36270 - 11905: 0xDA8B, - 36271 - 11905: 0xDA8C, - 36272 - 11905: 0xDA8D, - 36273 - 11905: 0xF4F5, - 36274 - 11905: 0xDA8E, - 36275 - 11905: 0xD7E3, - 36276 - 11905: 0xC5BF, - 36277 - 11905: 0xF5C0, - 36278 - 11905: 0xDA8F, - 36279 - 11905: 0xDA90, - 36280 - 11905: 0xF5BB, - 36281 - 11905: 0xDA91, - 36282 - 11905: 0xF5C3, - 36283 - 11905: 0xDA92, - 36284 - 11905: 0xF5C2, - 36285 - 11905: 0xDA93, - 36286 - 11905: 0xD6BA, - 36287 - 11905: 0xF5C1, - 36288 - 11905: 0xDA94, - 36289 - 11905: 0xDA95, - 36290 - 11905: 0xDA96, - 36291 - 11905: 0xD4BE, - 36292 - 11905: 0xF5C4, - 36293 - 11905: 0xDA97, - 36294 - 11905: 0xF5CC, - 36295 - 11905: 0xDA98, - 36296 - 11905: 0xDA99, - 36297 - 11905: 0xDA9A, - 36298 - 11905: 0xDA9B, - 36299 - 11905: 0xB0CF, - 36300 - 11905: 0xB5F8, - 36301 - 11905: 0xDA9C, - 36302 - 11905: 0xF5C9, - 36303 - 11905: 0xF5CA, - 36304 - 11905: 0xDA9D, - 36305 - 11905: 0xC5DC, - 36306 - 11905: 0xDA9E, - 36307 - 11905: 0xDA9F, - 36308 - 11905: 0xDAA0, - 36309 - 11905: 0xDB40, - 36310 - 11905: 0xF5C5, - 36311 - 11905: 0xF5C6, - 36312 - 11905: 0xDB41, - 36313 - 11905: 0xDB42, - 36314 - 11905: 0xF5C7, - 36315 - 11905: 0xF5CB, - 36316 - 11905: 0xDB43, - 36317 - 11905: 0xBEE0, - 36318 - 11905: 0xF5C8, - 36319 - 11905: 0xB8FA, - 36320 - 11905: 0xDB44, - 36321 - 11905: 0xDB45, - 36322 - 11905: 0xDB46, - 36323 - 11905: 0xF5D0, - 36324 - 11905: 0xF5D3, - 36325 - 11905: 0xDB47, - 36326 - 11905: 0xDB48, - 36327 - 11905: 0xDB49, - 36328 - 11905: 0xBFE7, - 36329 - 11905: 0xDB4A, - 36330 - 11905: 0xB9F2, - 36331 - 11905: 0xF5BC, - 36332 - 11905: 0xF5CD, - 36333 - 11905: 0xDB4B, - 36334 - 11905: 0xDB4C, - 36335 - 11905: 0xC2B7, - 36336 - 11905: 0xDB4D, - 36337 - 11905: 0xDB4E, - 36338 - 11905: 0xDB4F, - 36339 - 11905: 0xCCF8, - 36340 - 11905: 0xDB50, - 36341 - 11905: 0xBCF9, - 36342 - 11905: 0xDB51, - 36343 - 11905: 0xF5CE, - 36344 - 11905: 0xF5CF, - 36345 - 11905: 0xF5D1, - 36346 - 11905: 0xB6E5, - 36347 - 11905: 0xF5D2, - 36348 - 11905: 0xDB52, - 36349 - 11905: 0xF5D5, - 36350 - 11905: 0xDB53, - 36351 - 11905: 0xDB54, - 36352 - 11905: 0xDB55, - 36353 - 11905: 0xDB56, - 36354 - 11905: 0xDB57, - 36355 - 11905: 0xDB58, - 36356 - 11905: 0xDB59, - 36357 - 11905: 0xF5BD, - 36358 - 11905: 0xDB5A, - 36359 - 11905: 0xDB5B, - 36360 - 11905: 0xDB5C, - 36361 - 11905: 0xF5D4, - 36362 - 11905: 0xD3BB, - 36363 - 11905: 0xDB5D, - 36364 - 11905: 0xB3EC, - 36365 - 11905: 0xDB5E, - 36366 - 11905: 0xDB5F, - 36367 - 11905: 0xCCA4, - 36368 - 11905: 0xDB60, - 36369 - 11905: 0xDB61, - 36370 - 11905: 0xDB62, - 36371 - 11905: 0xDB63, - 36372 - 11905: 0xF5D6, - 36373 - 11905: 0xDB64, - 36374 - 11905: 0xDB65, - 36375 - 11905: 0xDB66, - 36376 - 11905: 0xDB67, - 36377 - 11905: 0xDB68, - 36378 - 11905: 0xDB69, - 36379 - 11905: 0xDB6A, - 36380 - 11905: 0xDB6B, - 36381 - 11905: 0xF5D7, - 36382 - 11905: 0xBEE1, - 36383 - 11905: 0xF5D8, - 36384 - 11905: 0xDB6C, - 36385 - 11905: 0xDB6D, - 36386 - 11905: 0xCCDF, - 36387 - 11905: 0xF5DB, - 36388 - 11905: 0xDB6E, - 36389 - 11905: 0xDB6F, - 36390 - 11905: 0xDB70, - 36391 - 11905: 0xDB71, - 36392 - 11905: 0xDB72, - 36393 - 11905: 0xB2C8, - 36394 - 11905: 0xD7D9, - 36395 - 11905: 0xDB73, - 36396 - 11905: 0xF5D9, - 36397 - 11905: 0xDB74, - 36398 - 11905: 0xF5DA, - 36399 - 11905: 0xF5DC, - 36400 - 11905: 0xDB75, - 36401 - 11905: 0xF5E2, - 36402 - 11905: 0xDB76, - 36403 - 11905: 0xDB77, - 36404 - 11905: 0xDB78, - 36405 - 11905: 0xF5E0, - 36406 - 11905: 0xDB79, - 36407 - 11905: 0xDB7A, - 36408 - 11905: 0xDB7B, - 36409 - 11905: 0xF5DF, - 36410 - 11905: 0xF5DD, - 36411 - 11905: 0xDB7C, - 36412 - 11905: 0xDB7D, - 36413 - 11905: 0xF5E1, - 36414 - 11905: 0xDB7E, - 36415 - 11905: 0xDB80, - 36416 - 11905: 0xF5DE, - 36417 - 11905: 0xF5E4, - 36418 - 11905: 0xF5E5, - 36419 - 11905: 0xDB81, - 36420 - 11905: 0xCCE3, - 36421 - 11905: 0xDB82, - 36422 - 11905: 0xDB83, - 36423 - 11905: 0xE5BF, - 36424 - 11905: 0xB5B8, - 36425 - 11905: 0xF5E3, - 36426 - 11905: 0xF5E8, - 36427 - 11905: 0xCCA3, - 36428 - 11905: 0xDB84, - 36429 - 11905: 0xDB85, - 36430 - 11905: 0xDB86, - 36431 - 11905: 0xDB87, - 36432 - 11905: 0xDB88, - 36433 - 11905: 0xF5E6, - 36434 - 11905: 0xF5E7, - 36435 - 11905: 0xDB89, - 36436 - 11905: 0xDB8A, - 36437 - 11905: 0xDB8B, - 36438 - 11905: 0xDB8C, - 36439 - 11905: 0xDB8D, - 36440 - 11905: 0xDB8E, - 36441 - 11905: 0xF5BE, - 36442 - 11905: 0xDB8F, - 36443 - 11905: 0xDB90, - 36444 - 11905: 0xDB91, - 36445 - 11905: 0xDB92, - 36446 - 11905: 0xDB93, - 36447 - 11905: 0xDB94, - 36448 - 11905: 0xDB95, - 36449 - 11905: 0xDB96, - 36450 - 11905: 0xDB97, - 36451 - 11905: 0xDB98, - 36452 - 11905: 0xDB99, - 36453 - 11905: 0xDB9A, - 36454 - 11905: 0xB1C4, - 36455 - 11905: 0xDB9B, - 36456 - 11905: 0xDB9C, - 36457 - 11905: 0xF5BF, - 36458 - 11905: 0xDB9D, - 36459 - 11905: 0xDB9E, - 36460 - 11905: 0xB5C5, - 36461 - 11905: 0xB2E4, - 36462 - 11905: 0xDB9F, - 36463 - 11905: 0xF5EC, - 36464 - 11905: 0xF5E9, - 36465 - 11905: 0xDBA0, - 36466 - 11905: 0xB6D7, - 36467 - 11905: 0xDC40, - 36468 - 11905: 0xF5ED, - 36469 - 11905: 0xDC41, - 36470 - 11905: 0xF5EA, - 36471 - 11905: 0xDC42, - 36472 - 11905: 0xDC43, - 36473 - 11905: 0xDC44, - 36474 - 11905: 0xDC45, - 36475 - 11905: 0xDC46, - 36476 - 11905: 0xF5EB, - 36477 - 11905: 0xDC47, - 36478 - 11905: 0xDC48, - 36479 - 11905: 0xB4DA, - 36480 - 11905: 0xDC49, - 36481 - 11905: 0xD4EA, - 36482 - 11905: 0xDC4A, - 36483 - 11905: 0xDC4B, - 36484 - 11905: 0xDC4C, - 36485 - 11905: 0xF5EE, - 36486 - 11905: 0xDC4D, - 36487 - 11905: 0xB3F9, - 36488 - 11905: 0xDC4E, - 36489 - 11905: 0xDC4F, - 36490 - 11905: 0xDC50, - 36491 - 11905: 0xDC51, - 36492 - 11905: 0xDC52, - 36493 - 11905: 0xDC53, - 36494 - 11905: 0xDC54, - 36495 - 11905: 0xF5EF, - 36496 - 11905: 0xF5F1, - 36497 - 11905: 0xDC55, - 36498 - 11905: 0xDC56, - 36499 - 11905: 0xDC57, - 36500 - 11905: 0xF5F0, - 36501 - 11905: 0xDC58, - 36502 - 11905: 0xDC59, - 36503 - 11905: 0xDC5A, - 36504 - 11905: 0xDC5B, - 36505 - 11905: 0xDC5C, - 36506 - 11905: 0xDC5D, - 36507 - 11905: 0xDC5E, - 36508 - 11905: 0xF5F2, - 36509 - 11905: 0xDC5F, - 36510 - 11905: 0xF5F3, - 36511 - 11905: 0xDC60, - 36512 - 11905: 0xDC61, - 36513 - 11905: 0xDC62, - 36514 - 11905: 0xDC63, - 36515 - 11905: 0xDC64, - 36516 - 11905: 0xDC65, - 36517 - 11905: 0xDC66, - 36518 - 11905: 0xDC67, - 36519 - 11905: 0xDC68, - 36520 - 11905: 0xDC69, - 36521 - 11905: 0xDC6A, - 36522 - 11905: 0xDC6B, - 36523 - 11905: 0xC9ED, - 36524 - 11905: 0xB9AA, - 36525 - 11905: 0xDC6C, - 36526 - 11905: 0xDC6D, - 36527 - 11905: 0xC7FB, - 36528 - 11905: 0xDC6E, - 36529 - 11905: 0xDC6F, - 36530 - 11905: 0xB6E3, - 36531 - 11905: 0xDC70, - 36532 - 11905: 0xDC71, - 36533 - 11905: 0xDC72, - 36534 - 11905: 0xDC73, - 36535 - 11905: 0xDC74, - 36536 - 11905: 0xDC75, - 36537 - 11905: 0xDC76, - 36538 - 11905: 0xCCC9, - 36539 - 11905: 0xDC77, - 36540 - 11905: 0xDC78, - 36541 - 11905: 0xDC79, - 36542 - 11905: 0xDC7A, - 36543 - 11905: 0xDC7B, - 36544 - 11905: 0xDC7C, - 36545 - 11905: 0xDC7D, - 36546 - 11905: 0xDC7E, - 36547 - 11905: 0xDC80, - 36548 - 11905: 0xDC81, - 36549 - 11905: 0xDC82, - 36550 - 11905: 0xDC83, - 36551 - 11905: 0xDC84, - 36552 - 11905: 0xDC85, - 36553 - 11905: 0xDC86, - 36554 - 11905: 0xDC87, - 36555 - 11905: 0xDC88, - 36556 - 11905: 0xDC89, - 36557 - 11905: 0xDC8A, - 36558 - 11905: 0xEAA6, - 36559 - 11905: 0xDC8B, - 36560 - 11905: 0xDC8C, - 36561 - 11905: 0xDC8D, - 36562 - 11905: 0xDC8E, - 36563 - 11905: 0xDC8F, - 36564 - 11905: 0xDC90, - 36565 - 11905: 0xDC91, - 36566 - 11905: 0xDC92, - 36567 - 11905: 0xDC93, - 36568 - 11905: 0xDC94, - 36569 - 11905: 0xDC95, - 36570 - 11905: 0xDC96, - 36571 - 11905: 0xDC97, - 36572 - 11905: 0xDC98, - 36573 - 11905: 0xDC99, - 36574 - 11905: 0xDC9A, - 36575 - 11905: 0xDC9B, - 36576 - 11905: 0xDC9C, - 36577 - 11905: 0xDC9D, - 36578 - 11905: 0xDC9E, - 36579 - 11905: 0xDC9F, - 36580 - 11905: 0xDCA0, - 36581 - 11905: 0xDD40, - 36582 - 11905: 0xDD41, - 36583 - 11905: 0xDD42, - 36584 - 11905: 0xDD43, - 36585 - 11905: 0xDD44, - 36586 - 11905: 0xDD45, - 36587 - 11905: 0xDD46, - 36588 - 11905: 0xDD47, - 36589 - 11905: 0xDD48, - 36590 - 11905: 0xDD49, - 36591 - 11905: 0xDD4A, - 36592 - 11905: 0xDD4B, - 36593 - 11905: 0xDD4C, - 36594 - 11905: 0xDD4D, - 36595 - 11905: 0xDD4E, - 36596 - 11905: 0xDD4F, - 36597 - 11905: 0xDD50, - 36598 - 11905: 0xDD51, - 36599 - 11905: 0xDD52, - 36600 - 11905: 0xDD53, - 36601 - 11905: 0xDD54, - 36602 - 11905: 0xDD55, - 36603 - 11905: 0xDD56, - 36604 - 11905: 0xDD57, - 36605 - 11905: 0xDD58, - 36606 - 11905: 0xDD59, - 36607 - 11905: 0xDD5A, - 36608 - 11905: 0xDD5B, - 36609 - 11905: 0xDD5C, - 36610 - 11905: 0xDD5D, - 36611 - 11905: 0xDD5E, - 36612 - 11905: 0xDD5F, - 36613 - 11905: 0xDD60, - 36614 - 11905: 0xDD61, - 36615 - 11905: 0xDD62, - 36616 - 11905: 0xDD63, - 36617 - 11905: 0xDD64, - 36618 - 11905: 0xDD65, - 36619 - 11905: 0xDD66, - 36620 - 11905: 0xDD67, - 36621 - 11905: 0xDD68, - 36622 - 11905: 0xDD69, - 36623 - 11905: 0xDD6A, - 36624 - 11905: 0xDD6B, - 36625 - 11905: 0xDD6C, - 36626 - 11905: 0xDD6D, - 36627 - 11905: 0xDD6E, - 36628 - 11905: 0xDD6F, - 36629 - 11905: 0xDD70, - 36630 - 11905: 0xDD71, - 36631 - 11905: 0xDD72, - 36632 - 11905: 0xDD73, - 36633 - 11905: 0xDD74, - 36634 - 11905: 0xDD75, - 36635 - 11905: 0xDD76, - 36636 - 11905: 0xDD77, - 36637 - 11905: 0xDD78, - 36638 - 11905: 0xDD79, - 36639 - 11905: 0xDD7A, - 36640 - 11905: 0xDD7B, - 36641 - 11905: 0xDD7C, - 36642 - 11905: 0xDD7D, - 36643 - 11905: 0xDD7E, - 36644 - 11905: 0xDD80, - 36645 - 11905: 0xDD81, - 36646 - 11905: 0xDD82, - 36647 - 11905: 0xDD83, - 36648 - 11905: 0xDD84, - 36649 - 11905: 0xDD85, - 36650 - 11905: 0xDD86, - 36651 - 11905: 0xDD87, - 36652 - 11905: 0xDD88, - 36653 - 11905: 0xDD89, - 36654 - 11905: 0xDD8A, - 36655 - 11905: 0xDD8B, - 36656 - 11905: 0xDD8C, - 36657 - 11905: 0xDD8D, - 36658 - 11905: 0xDD8E, - 36659 - 11905: 0xDD8F, - 36660 - 11905: 0xDD90, - 36661 - 11905: 0xDD91, - 36662 - 11905: 0xDD92, - 36663 - 11905: 0xDD93, - 36664 - 11905: 0xDD94, - 36665 - 11905: 0xDD95, - 36666 - 11905: 0xDD96, - 36667 - 11905: 0xDD97, - 36668 - 11905: 0xDD98, - 36669 - 11905: 0xDD99, - 36670 - 11905: 0xDD9A, - 36671 - 11905: 0xDD9B, - 36672 - 11905: 0xDD9C, - 36673 - 11905: 0xDD9D, - 36674 - 11905: 0xDD9E, - 36675 - 11905: 0xDD9F, - 36676 - 11905: 0xDDA0, - 36677 - 11905: 0xDE40, - 36678 - 11905: 0xDE41, - 36679 - 11905: 0xDE42, - 36680 - 11905: 0xDE43, - 36681 - 11905: 0xDE44, - 36682 - 11905: 0xDE45, - 36683 - 11905: 0xDE46, - 36684 - 11905: 0xDE47, - 36685 - 11905: 0xDE48, - 36686 - 11905: 0xDE49, - 36687 - 11905: 0xDE4A, - 36688 - 11905: 0xDE4B, - 36689 - 11905: 0xDE4C, - 36690 - 11905: 0xDE4D, - 36691 - 11905: 0xDE4E, - 36692 - 11905: 0xDE4F, - 36693 - 11905: 0xDE50, - 36694 - 11905: 0xDE51, - 36695 - 11905: 0xDE52, - 36696 - 11905: 0xDE53, - 36697 - 11905: 0xDE54, - 36698 - 11905: 0xDE55, - 36699 - 11905: 0xDE56, - 36700 - 11905: 0xDE57, - 36701 - 11905: 0xDE58, - 36702 - 11905: 0xDE59, - 36703 - 11905: 0xDE5A, - 36704 - 11905: 0xDE5B, - 36705 - 11905: 0xDE5C, - 36706 - 11905: 0xDE5D, - 36707 - 11905: 0xDE5E, - 36708 - 11905: 0xDE5F, - 36709 - 11905: 0xDE60, - 36710 - 11905: 0xB3B5, - 36711 - 11905: 0xD4FE, - 36712 - 11905: 0xB9EC, - 36713 - 11905: 0xD0F9, - 36714 - 11905: 0xDE61, - 36715 - 11905: 0xE9ED, - 36716 - 11905: 0xD7AA, - 36717 - 11905: 0xE9EE, - 36718 - 11905: 0xC2D6, - 36719 - 11905: 0xC8ED, - 36720 - 11905: 0xBAE4, - 36721 - 11905: 0xE9EF, - 36722 - 11905: 0xE9F0, - 36723 - 11905: 0xE9F1, - 36724 - 11905: 0xD6E1, - 36725 - 11905: 0xE9F2, - 36726 - 11905: 0xE9F3, - 36727 - 11905: 0xE9F5, - 36728 - 11905: 0xE9F4, - 36729 - 11905: 0xE9F6, - 36730 - 11905: 0xE9F7, - 36731 - 11905: 0xC7E1, - 36732 - 11905: 0xE9F8, - 36733 - 11905: 0xD4D8, - 36734 - 11905: 0xE9F9, - 36735 - 11905: 0xBDCE, - 36736 - 11905: 0xDE62, - 36737 - 11905: 0xE9FA, - 36738 - 11905: 0xE9FB, - 36739 - 11905: 0xBDCF, - 36740 - 11905: 0xE9FC, - 36741 - 11905: 0xB8A8, - 36742 - 11905: 0xC1BE, - 36743 - 11905: 0xE9FD, - 36744 - 11905: 0xB1B2, - 36745 - 11905: 0xBBD4, - 36746 - 11905: 0xB9F5, - 36747 - 11905: 0xE9FE, - 36748 - 11905: 0xDE63, - 36749 - 11905: 0xEAA1, - 36750 - 11905: 0xEAA2, - 36751 - 11905: 0xEAA3, - 36752 - 11905: 0xB7F8, - 36753 - 11905: 0xBCAD, - 36754 - 11905: 0xDE64, - 36755 - 11905: 0xCAE4, - 36756 - 11905: 0xE0CE, - 36757 - 11905: 0xD4AF, - 36758 - 11905: 0xCFBD, - 36759 - 11905: 0xD5B7, - 36760 - 11905: 0xEAA4, - 36761 - 11905: 0xD5DE, - 36762 - 11905: 0xEAA5, - 36763 - 11905: 0xD0C1, - 36764 - 11905: 0xB9BC, - 36765 - 11905: 0xDE65, - 36766 - 11905: 0xB4C7, - 36767 - 11905: 0xB1D9, - 36768 - 11905: 0xDE66, - 36769 - 11905: 0xDE67, - 36770 - 11905: 0xDE68, - 36771 - 11905: 0xC0B1, - 36772 - 11905: 0xDE69, - 36773 - 11905: 0xDE6A, - 36774 - 11905: 0xDE6B, - 36775 - 11905: 0xDE6C, - 36776 - 11905: 0xB1E6, - 36777 - 11905: 0xB1E7, - 36778 - 11905: 0xDE6D, - 36779 - 11905: 0xB1E8, - 36780 - 11905: 0xDE6E, - 36781 - 11905: 0xDE6F, - 36782 - 11905: 0xDE70, - 36783 - 11905: 0xDE71, - 36784 - 11905: 0xB3BD, - 36785 - 11905: 0xC8E8, - 36786 - 11905: 0xDE72, - 36787 - 11905: 0xDE73, - 36788 - 11905: 0xDE74, - 36789 - 11905: 0xDE75, - 36790 - 11905: 0xE5C1, - 36791 - 11905: 0xDE76, - 36792 - 11905: 0xDE77, - 36793 - 11905: 0xB1DF, - 36794 - 11905: 0xDE78, - 36795 - 11905: 0xDE79, - 36796 - 11905: 0xDE7A, - 36797 - 11905: 0xC1C9, - 36798 - 11905: 0xB4EF, - 36799 - 11905: 0xDE7B, - 36800 - 11905: 0xDE7C, - 36801 - 11905: 0xC7A8, - 36802 - 11905: 0xD3D8, - 36803 - 11905: 0xDE7D, - 36804 - 11905: 0xC6F9, - 36805 - 11905: 0xD1B8, - 36806 - 11905: 0xDE7E, - 36807 - 11905: 0xB9FD, - 36808 - 11905: 0xC2F5, - 36809 - 11905: 0xDE80, - 36810 - 11905: 0xDE81, - 36811 - 11905: 0xDE82, - 36812 - 11905: 0xDE83, - 36813 - 11905: 0xDE84, - 36814 - 11905: 0xD3AD, - 36815 - 11905: 0xDE85, - 36816 - 11905: 0xD4CB, - 36817 - 11905: 0xBDFC, - 36818 - 11905: 0xDE86, - 36819 - 11905: 0xE5C2, - 36820 - 11905: 0xB7B5, - 36821 - 11905: 0xE5C3, - 36822 - 11905: 0xDE87, - 36823 - 11905: 0xDE88, - 36824 - 11905: 0xBBB9, - 36825 - 11905: 0xD5E2, - 36826 - 11905: 0xDE89, - 36827 - 11905: 0xBDF8, - 36828 - 11905: 0xD4B6, - 36829 - 11905: 0xCEA5, - 36830 - 11905: 0xC1AC, - 36831 - 11905: 0xB3D9, - 36832 - 11905: 0xDE8A, - 36833 - 11905: 0xDE8B, - 36834 - 11905: 0xCCF6, - 36835 - 11905: 0xDE8C, - 36836 - 11905: 0xE5C6, - 36837 - 11905: 0xE5C4, - 36838 - 11905: 0xE5C8, - 36839 - 11905: 0xDE8D, - 36840 - 11905: 0xE5CA, - 36841 - 11905: 0xE5C7, - 36842 - 11905: 0xB5CF, - 36843 - 11905: 0xC6C8, - 36844 - 11905: 0xDE8E, - 36845 - 11905: 0xB5FC, - 36846 - 11905: 0xE5C5, - 36847 - 11905: 0xDE8F, - 36848 - 11905: 0xCAF6, - 36849 - 11905: 0xDE90, - 36850 - 11905: 0xDE91, - 36851 - 11905: 0xE5C9, - 36852 - 11905: 0xDE92, - 36853 - 11905: 0xDE93, - 36854 - 11905: 0xDE94, - 36855 - 11905: 0xC3D4, - 36856 - 11905: 0xB1C5, - 36857 - 11905: 0xBCA3, - 36858 - 11905: 0xDE95, - 36859 - 11905: 0xDE96, - 36860 - 11905: 0xDE97, - 36861 - 11905: 0xD7B7, - 36862 - 11905: 0xDE98, - 36863 - 11905: 0xDE99, - 36864 - 11905: 0xCDCB, - 36865 - 11905: 0xCBCD, - 36866 - 11905: 0xCACA, - 36867 - 11905: 0xCCD3, - 36868 - 11905: 0xE5CC, - 36869 - 11905: 0xE5CB, - 36870 - 11905: 0xC4E6, - 36871 - 11905: 0xDE9A, - 36872 - 11905: 0xDE9B, - 36873 - 11905: 0xD1A1, - 36874 - 11905: 0xD1B7, - 36875 - 11905: 0xE5CD, - 36876 - 11905: 0xDE9C, - 36877 - 11905: 0xE5D0, - 36878 - 11905: 0xDE9D, - 36879 - 11905: 0xCDB8, - 36880 - 11905: 0xD6F0, - 36881 - 11905: 0xE5CF, - 36882 - 11905: 0xB5DD, - 36883 - 11905: 0xDE9E, - 36884 - 11905: 0xCDBE, - 36885 - 11905: 0xDE9F, - 36886 - 11905: 0xE5D1, - 36887 - 11905: 0xB6BA, - 36888 - 11905: 0xDEA0, - 36889 - 11905: 0xDF40, - 36890 - 11905: 0xCDA8, - 36891 - 11905: 0xB9E4, - 36892 - 11905: 0xDF41, - 36893 - 11905: 0xCAC5, - 36894 - 11905: 0xB3D1, - 36895 - 11905: 0xCBD9, - 36896 - 11905: 0xD4EC, - 36897 - 11905: 0xE5D2, - 36898 - 11905: 0xB7EA, - 36899 - 11905: 0xDF42, - 36900 - 11905: 0xDF43, - 36901 - 11905: 0xDF44, - 36902 - 11905: 0xE5CE, - 36903 - 11905: 0xDF45, - 36904 - 11905: 0xDF46, - 36905 - 11905: 0xDF47, - 36906 - 11905: 0xDF48, - 36907 - 11905: 0xDF49, - 36908 - 11905: 0xDF4A, - 36909 - 11905: 0xE5D5, - 36910 - 11905: 0xB4FE, - 36911 - 11905: 0xE5D6, - 36912 - 11905: 0xDF4B, - 36913 - 11905: 0xDF4C, - 36914 - 11905: 0xDF4D, - 36915 - 11905: 0xDF4E, - 36916 - 11905: 0xDF4F, - 36917 - 11905: 0xE5D3, - 36918 - 11905: 0xE5D4, - 36919 - 11905: 0xDF50, - 36920 - 11905: 0xD2DD, - 36921 - 11905: 0xDF51, - 36922 - 11905: 0xDF52, - 36923 - 11905: 0xC2DF, - 36924 - 11905: 0xB1C6, - 36925 - 11905: 0xDF53, - 36926 - 11905: 0xD3E2, - 36927 - 11905: 0xDF54, - 36928 - 11905: 0xDF55, - 36929 - 11905: 0xB6DD, - 36930 - 11905: 0xCBEC, - 36931 - 11905: 0xDF56, - 36932 - 11905: 0xE5D7, - 36933 - 11905: 0xDF57, - 36934 - 11905: 0xDF58, - 36935 - 11905: 0xD3F6, - 36936 - 11905: 0xDF59, - 36937 - 11905: 0xDF5A, - 36938 - 11905: 0xDF5B, - 36939 - 11905: 0xDF5C, - 36940 - 11905: 0xDF5D, - 36941 - 11905: 0xB1E9, - 36942 - 11905: 0xDF5E, - 36943 - 11905: 0xB6F4, - 36944 - 11905: 0xE5DA, - 36945 - 11905: 0xE5D8, - 36946 - 11905: 0xE5D9, - 36947 - 11905: 0xB5C0, - 36948 - 11905: 0xDF5F, - 36949 - 11905: 0xDF60, - 36950 - 11905: 0xDF61, - 36951 - 11905: 0xD2C5, - 36952 - 11905: 0xE5DC, - 36953 - 11905: 0xDF62, - 36954 - 11905: 0xDF63, - 36955 - 11905: 0xE5DE, - 36956 - 11905: 0xDF64, - 36957 - 11905: 0xDF65, - 36958 - 11905: 0xDF66, - 36959 - 11905: 0xDF67, - 36960 - 11905: 0xDF68, - 36961 - 11905: 0xDF69, - 36962 - 11905: 0xE5DD, - 36963 - 11905: 0xC7B2, - 36964 - 11905: 0xDF6A, - 36965 - 11905: 0xD2A3, - 36966 - 11905: 0xDF6B, - 36967 - 11905: 0xDF6C, - 36968 - 11905: 0xE5DB, - 36969 - 11905: 0xDF6D, - 36970 - 11905: 0xDF6E, - 36971 - 11905: 0xDF6F, - 36972 - 11905: 0xDF70, - 36973 - 11905: 0xD4E2, - 36974 - 11905: 0xD5DA, - 36975 - 11905: 0xDF71, - 36976 - 11905: 0xDF72, - 36977 - 11905: 0xDF73, - 36978 - 11905: 0xDF74, - 36979 - 11905: 0xDF75, - 36980 - 11905: 0xE5E0, - 36981 - 11905: 0xD7F1, - 36982 - 11905: 0xDF76, - 36983 - 11905: 0xDF77, - 36984 - 11905: 0xDF78, - 36985 - 11905: 0xDF79, - 36986 - 11905: 0xDF7A, - 36987 - 11905: 0xDF7B, - 36988 - 11905: 0xDF7C, - 36989 - 11905: 0xE5E1, - 36990 - 11905: 0xDF7D, - 36991 - 11905: 0xB1DC, - 36992 - 11905: 0xD1FB, - 36993 - 11905: 0xDF7E, - 36994 - 11905: 0xE5E2, - 36995 - 11905: 0xE5E4, - 36996 - 11905: 0xDF80, - 36997 - 11905: 0xDF81, - 36998 - 11905: 0xDF82, - 36999 - 11905: 0xDF83, - 37000 - 11905: 0xE5E3, - 37001 - 11905: 0xDF84, - 37002 - 11905: 0xDF85, - 37003 - 11905: 0xE5E5, - 37004 - 11905: 0xDF86, - 37005 - 11905: 0xDF87, - 37006 - 11905: 0xDF88, - 37007 - 11905: 0xDF89, - 37008 - 11905: 0xDF8A, - 37009 - 11905: 0xD2D8, - 37010 - 11905: 0xDF8B, - 37011 - 11905: 0xB5CB, - 37012 - 11905: 0xDF8C, - 37013 - 11905: 0xE7DF, - 37014 - 11905: 0xDF8D, - 37015 - 11905: 0xDAF5, - 37016 - 11905: 0xDF8E, - 37017 - 11905: 0xDAF8, - 37018 - 11905: 0xDF8F, - 37019 - 11905: 0xDAF6, - 37020 - 11905: 0xDF90, - 37021 - 11905: 0xDAF7, - 37022 - 11905: 0xDF91, - 37023 - 11905: 0xDF92, - 37024 - 11905: 0xDF93, - 37025 - 11905: 0xDAFA, - 37026 - 11905: 0xD0CF, - 37027 - 11905: 0xC4C7, - 37028 - 11905: 0xDF94, - 37029 - 11905: 0xDF95, - 37030 - 11905: 0xB0EE, - 37031 - 11905: 0xDF96, - 37032 - 11905: 0xDF97, - 37033 - 11905: 0xDF98, - 37034 - 11905: 0xD0B0, - 37035 - 11905: 0xDF99, - 37036 - 11905: 0xDAF9, - 37037 - 11905: 0xDF9A, - 37038 - 11905: 0xD3CA, - 37039 - 11905: 0xBAAA, - 37040 - 11905: 0xDBA2, - 37041 - 11905: 0xC7F1, - 37042 - 11905: 0xDF9B, - 37043 - 11905: 0xDAFC, - 37044 - 11905: 0xDAFB, - 37045 - 11905: 0xC9DB, - 37046 - 11905: 0xDAFD, - 37047 - 11905: 0xDF9C, - 37048 - 11905: 0xDBA1, - 37049 - 11905: 0xD7DE, - 37050 - 11905: 0xDAFE, - 37051 - 11905: 0xC1DA, - 37052 - 11905: 0xDF9D, - 37053 - 11905: 0xDF9E, - 37054 - 11905: 0xDBA5, - 37055 - 11905: 0xDF9F, - 37056 - 11905: 0xDFA0, - 37057 - 11905: 0xD3F4, - 37058 - 11905: 0xE040, - 37059 - 11905: 0xE041, - 37060 - 11905: 0xDBA7, - 37061 - 11905: 0xDBA4, - 37062 - 11905: 0xE042, - 37063 - 11905: 0xDBA8, - 37064 - 11905: 0xE043, - 37065 - 11905: 0xE044, - 37066 - 11905: 0xBDBC, - 37067 - 11905: 0xE045, - 37068 - 11905: 0xE046, - 37069 - 11905: 0xE047, - 37070 - 11905: 0xC0C9, - 37071 - 11905: 0xDBA3, - 37072 - 11905: 0xDBA6, - 37073 - 11905: 0xD6A3, - 37074 - 11905: 0xE048, - 37075 - 11905: 0xDBA9, - 37076 - 11905: 0xE049, - 37077 - 11905: 0xE04A, - 37078 - 11905: 0xE04B, - 37079 - 11905: 0xDBAD, - 37080 - 11905: 0xE04C, - 37081 - 11905: 0xE04D, - 37082 - 11905: 0xE04E, - 37083 - 11905: 0xDBAE, - 37084 - 11905: 0xDBAC, - 37085 - 11905: 0xBAC2, - 37086 - 11905: 0xE04F, - 37087 - 11905: 0xE050, - 37088 - 11905: 0xE051, - 37089 - 11905: 0xBFA4, - 37090 - 11905: 0xDBAB, - 37091 - 11905: 0xE052, - 37092 - 11905: 0xE053, - 37093 - 11905: 0xE054, - 37094 - 11905: 0xDBAA, - 37095 - 11905: 0xD4C7, - 37096 - 11905: 0xB2BF, - 37097 - 11905: 0xE055, - 37098 - 11905: 0xE056, - 37099 - 11905: 0xDBAF, - 37100 - 11905: 0xE057, - 37101 - 11905: 0xB9F9, - 37102 - 11905: 0xE058, - 37103 - 11905: 0xDBB0, - 37104 - 11905: 0xE059, - 37105 - 11905: 0xE05A, - 37106 - 11905: 0xE05B, - 37107 - 11905: 0xE05C, - 37108 - 11905: 0xB3BB, - 37109 - 11905: 0xE05D, - 37110 - 11905: 0xE05E, - 37111 - 11905: 0xE05F, - 37112 - 11905: 0xB5A6, - 37113 - 11905: 0xE060, - 37114 - 11905: 0xE061, - 37115 - 11905: 0xE062, - 37116 - 11905: 0xE063, - 37117 - 11905: 0xB6BC, - 37118 - 11905: 0xDBB1, - 37119 - 11905: 0xE064, - 37120 - 11905: 0xE065, - 37121 - 11905: 0xE066, - 37122 - 11905: 0xB6F5, - 37123 - 11905: 0xE067, - 37124 - 11905: 0xDBB2, - 37125 - 11905: 0xE068, - 37126 - 11905: 0xE069, - 37127 - 11905: 0xE06A, - 37128 - 11905: 0xE06B, - 37129 - 11905: 0xE06C, - 37130 - 11905: 0xE06D, - 37131 - 11905: 0xE06E, - 37132 - 11905: 0xE06F, - 37133 - 11905: 0xE070, - 37134 - 11905: 0xE071, - 37135 - 11905: 0xE072, - 37136 - 11905: 0xE073, - 37137 - 11905: 0xE074, - 37138 - 11905: 0xE075, - 37139 - 11905: 0xE076, - 37140 - 11905: 0xE077, - 37141 - 11905: 0xE078, - 37142 - 11905: 0xE079, - 37143 - 11905: 0xE07A, - 37144 - 11905: 0xE07B, - 37145 - 11905: 0xB1C9, - 37146 - 11905: 0xE07C, - 37147 - 11905: 0xE07D, - 37148 - 11905: 0xE07E, - 37149 - 11905: 0xE080, - 37150 - 11905: 0xDBB4, - 37151 - 11905: 0xE081, - 37152 - 11905: 0xE082, - 37153 - 11905: 0xE083, - 37154 - 11905: 0xDBB3, - 37155 - 11905: 0xDBB5, - 37156 - 11905: 0xE084, - 37157 - 11905: 0xE085, - 37158 - 11905: 0xE086, - 37159 - 11905: 0xE087, - 37160 - 11905: 0xE088, - 37161 - 11905: 0xE089, - 37162 - 11905: 0xE08A, - 37163 - 11905: 0xE08B, - 37164 - 11905: 0xE08C, - 37165 - 11905: 0xE08D, - 37166 - 11905: 0xE08E, - 37167 - 11905: 0xDBB7, - 37168 - 11905: 0xE08F, - 37169 - 11905: 0xDBB6, - 37170 - 11905: 0xE090, - 37171 - 11905: 0xE091, - 37172 - 11905: 0xE092, - 37173 - 11905: 0xE093, - 37174 - 11905: 0xE094, - 37175 - 11905: 0xE095, - 37176 - 11905: 0xE096, - 37177 - 11905: 0xDBB8, - 37178 - 11905: 0xE097, - 37179 - 11905: 0xE098, - 37180 - 11905: 0xE099, - 37181 - 11905: 0xE09A, - 37182 - 11905: 0xE09B, - 37183 - 11905: 0xE09C, - 37184 - 11905: 0xE09D, - 37185 - 11905: 0xE09E, - 37186 - 11905: 0xE09F, - 37187 - 11905: 0xDBB9, - 37188 - 11905: 0xE0A0, - 37189 - 11905: 0xE140, - 37190 - 11905: 0xDBBA, - 37191 - 11905: 0xE141, - 37192 - 11905: 0xE142, - 37193 - 11905: 0xD3CF, - 37194 - 11905: 0xF4FA, - 37195 - 11905: 0xC7F5, - 37196 - 11905: 0xD7C3, - 37197 - 11905: 0xC5E4, - 37198 - 11905: 0xF4FC, - 37199 - 11905: 0xF4FD, - 37200 - 11905: 0xF4FB, - 37201 - 11905: 0xE143, - 37202 - 11905: 0xBEC6, - 37203 - 11905: 0xE144, - 37204 - 11905: 0xE145, - 37205 - 11905: 0xE146, - 37206 - 11905: 0xE147, - 37207 - 11905: 0xD0EF, - 37208 - 11905: 0xE148, - 37209 - 11905: 0xE149, - 37210 - 11905: 0xB7D3, - 37211 - 11905: 0xE14A, - 37212 - 11905: 0xE14B, - 37213 - 11905: 0xD4CD, - 37214 - 11905: 0xCCAA, - 37215 - 11905: 0xE14C, - 37216 - 11905: 0xE14D, - 37217 - 11905: 0xF5A2, - 37218 - 11905: 0xF5A1, - 37219 - 11905: 0xBAA8, - 37220 - 11905: 0xF4FE, - 37221 - 11905: 0xCBD6, - 37222 - 11905: 0xE14E, - 37223 - 11905: 0xE14F, - 37224 - 11905: 0xE150, - 37225 - 11905: 0xF5A4, - 37226 - 11905: 0xC0D2, - 37227 - 11905: 0xE151, - 37228 - 11905: 0xB3EA, - 37229 - 11905: 0xE152, - 37230 - 11905: 0xCDAA, - 37231 - 11905: 0xF5A5, - 37232 - 11905: 0xF5A3, - 37233 - 11905: 0xBDB4, - 37234 - 11905: 0xF5A8, - 37235 - 11905: 0xE153, - 37236 - 11905: 0xF5A9, - 37237 - 11905: 0xBDCD, - 37238 - 11905: 0xC3B8, - 37239 - 11905: 0xBFE1, - 37240 - 11905: 0xCBE1, - 37241 - 11905: 0xF5AA, - 37242 - 11905: 0xE154, - 37243 - 11905: 0xE155, - 37244 - 11905: 0xE156, - 37245 - 11905: 0xF5A6, - 37246 - 11905: 0xF5A7, - 37247 - 11905: 0xC4F0, - 37248 - 11905: 0xE157, - 37249 - 11905: 0xE158, - 37250 - 11905: 0xE159, - 37251 - 11905: 0xE15A, - 37252 - 11905: 0xE15B, - 37253 - 11905: 0xF5AC, - 37254 - 11905: 0xE15C, - 37255 - 11905: 0xB4BC, - 37256 - 11905: 0xE15D, - 37257 - 11905: 0xD7ED, - 37258 - 11905: 0xE15E, - 37259 - 11905: 0xB4D7, - 37260 - 11905: 0xF5AB, - 37261 - 11905: 0xF5AE, - 37262 - 11905: 0xE15F, - 37263 - 11905: 0xE160, - 37264 - 11905: 0xF5AD, - 37265 - 11905: 0xF5AF, - 37266 - 11905: 0xD0D1, - 37267 - 11905: 0xE161, - 37268 - 11905: 0xE162, - 37269 - 11905: 0xE163, - 37270 - 11905: 0xE164, - 37271 - 11905: 0xE165, - 37272 - 11905: 0xE166, - 37273 - 11905: 0xE167, - 37274 - 11905: 0xC3D1, - 37275 - 11905: 0xC8A9, - 37276 - 11905: 0xE168, - 37277 - 11905: 0xE169, - 37278 - 11905: 0xE16A, - 37279 - 11905: 0xE16B, - 37280 - 11905: 0xE16C, - 37281 - 11905: 0xE16D, - 37282 - 11905: 0xF5B0, - 37283 - 11905: 0xF5B1, - 37284 - 11905: 0xE16E, - 37285 - 11905: 0xE16F, - 37286 - 11905: 0xE170, - 37287 - 11905: 0xE171, - 37288 - 11905: 0xE172, - 37289 - 11905: 0xE173, - 37290 - 11905: 0xF5B2, - 37291 - 11905: 0xE174, - 37292 - 11905: 0xE175, - 37293 - 11905: 0xF5B3, - 37294 - 11905: 0xF5B4, - 37295 - 11905: 0xF5B5, - 37296 - 11905: 0xE176, - 37297 - 11905: 0xE177, - 37298 - 11905: 0xE178, - 37299 - 11905: 0xE179, - 37300 - 11905: 0xF5B7, - 37301 - 11905: 0xF5B6, - 37302 - 11905: 0xE17A, - 37303 - 11905: 0xE17B, - 37304 - 11905: 0xE17C, - 37305 - 11905: 0xE17D, - 37306 - 11905: 0xF5B8, - 37307 - 11905: 0xE17E, - 37308 - 11905: 0xE180, - 37309 - 11905: 0xE181, - 37310 - 11905: 0xE182, - 37311 - 11905: 0xE183, - 37312 - 11905: 0xE184, - 37313 - 11905: 0xE185, - 37314 - 11905: 0xE186, - 37315 - 11905: 0xE187, - 37316 - 11905: 0xE188, - 37317 - 11905: 0xE189, - 37318 - 11905: 0xE18A, - 37319 - 11905: 0xB2C9, - 37320 - 11905: 0xE18B, - 37321 - 11905: 0xD3D4, - 37322 - 11905: 0xCACD, - 37323 - 11905: 0xE18C, - 37324 - 11905: 0xC0EF, - 37325 - 11905: 0xD6D8, - 37326 - 11905: 0xD2B0, - 37327 - 11905: 0xC1BF, - 37328 - 11905: 0xE18D, - 37329 - 11905: 0xBDF0, - 37330 - 11905: 0xE18E, - 37331 - 11905: 0xE18F, - 37332 - 11905: 0xE190, - 37333 - 11905: 0xE191, - 37334 - 11905: 0xE192, - 37335 - 11905: 0xE193, - 37336 - 11905: 0xE194, - 37337 - 11905: 0xE195, - 37338 - 11905: 0xE196, - 37339 - 11905: 0xE197, - 37340 - 11905: 0xB8AA, - 37341 - 11905: 0xE198, - 37342 - 11905: 0xE199, - 37343 - 11905: 0xE19A, - 37344 - 11905: 0xE19B, - 37345 - 11905: 0xE19C, - 37346 - 11905: 0xE19D, - 37347 - 11905: 0xE19E, - 37348 - 11905: 0xE19F, - 37349 - 11905: 0xE1A0, - 37350 - 11905: 0xE240, - 37351 - 11905: 0xE241, - 37352 - 11905: 0xE242, - 37353 - 11905: 0xE243, - 37354 - 11905: 0xE244, - 37355 - 11905: 0xE245, - 37356 - 11905: 0xE246, - 37357 - 11905: 0xE247, - 37358 - 11905: 0xE248, - 37359 - 11905: 0xE249, - 37360 - 11905: 0xE24A, - 37361 - 11905: 0xE24B, - 37362 - 11905: 0xE24C, - 37363 - 11905: 0xE24D, - 37364 - 11905: 0xE24E, - 37365 - 11905: 0xE24F, - 37366 - 11905: 0xE250, - 37367 - 11905: 0xE251, - 37368 - 11905: 0xE252, - 37369 - 11905: 0xE253, - 37370 - 11905: 0xE254, - 37371 - 11905: 0xE255, - 37372 - 11905: 0xE256, - 37373 - 11905: 0xE257, - 37374 - 11905: 0xE258, - 37375 - 11905: 0xE259, - 37376 - 11905: 0xE25A, - 37377 - 11905: 0xE25B, - 37378 - 11905: 0xE25C, - 37379 - 11905: 0xE25D, - 37380 - 11905: 0xE25E, - 37381 - 11905: 0xE25F, - 37382 - 11905: 0xE260, - 37383 - 11905: 0xE261, - 37384 - 11905: 0xE262, - 37385 - 11905: 0xE263, - 37386 - 11905: 0xE264, - 37387 - 11905: 0xE265, - 37388 - 11905: 0xE266, - 37389 - 11905: 0xE267, - 37390 - 11905: 0xE268, - 37391 - 11905: 0xE269, - 37392 - 11905: 0xE26A, - 37393 - 11905: 0xE26B, - 37394 - 11905: 0xE26C, - 37395 - 11905: 0xE26D, - 37396 - 11905: 0xE26E, - 37397 - 11905: 0xE26F, - 37398 - 11905: 0xE270, - 37399 - 11905: 0xE271, - 37400 - 11905: 0xE272, - 37401 - 11905: 0xE273, - 37402 - 11905: 0xE274, - 37403 - 11905: 0xE275, - 37404 - 11905: 0xE276, - 37405 - 11905: 0xE277, - 37406 - 11905: 0xE278, - 37407 - 11905: 0xE279, - 37408 - 11905: 0xE27A, - 37409 - 11905: 0xE27B, - 37410 - 11905: 0xE27C, - 37411 - 11905: 0xE27D, - 37412 - 11905: 0xE27E, - 37413 - 11905: 0xE280, - 37414 - 11905: 0xE281, - 37415 - 11905: 0xE282, - 37416 - 11905: 0xE283, - 37417 - 11905: 0xE284, - 37418 - 11905: 0xE285, - 37419 - 11905: 0xE286, - 37420 - 11905: 0xE287, - 37421 - 11905: 0xE288, - 37422 - 11905: 0xE289, - 37423 - 11905: 0xE28A, - 37424 - 11905: 0xE28B, - 37425 - 11905: 0xE28C, - 37426 - 11905: 0xE28D, - 37427 - 11905: 0xE28E, - 37428 - 11905: 0xE28F, - 37429 - 11905: 0xE290, - 37430 - 11905: 0xE291, - 37431 - 11905: 0xE292, - 37432 - 11905: 0xE293, - 37433 - 11905: 0xE294, - 37434 - 11905: 0xE295, - 37435 - 11905: 0xE296, - 37436 - 11905: 0xE297, - 37437 - 11905: 0xE298, - 37438 - 11905: 0xE299, - 37439 - 11905: 0xE29A, - 37440 - 11905: 0xE29B, - 37441 - 11905: 0xE29C, - 37442 - 11905: 0xE29D, - 37443 - 11905: 0xE29E, - 37444 - 11905: 0xE29F, - 37445 - 11905: 0xE2A0, - 37446 - 11905: 0xE340, - 37447 - 11905: 0xE341, - 37448 - 11905: 0xE342, - 37449 - 11905: 0xE343, - 37450 - 11905: 0xE344, - 37451 - 11905: 0xE345, - 37452 - 11905: 0xE346, - 37453 - 11905: 0xE347, - 37454 - 11905: 0xE348, - 37455 - 11905: 0xE349, - 37456 - 11905: 0xE34A, - 37457 - 11905: 0xE34B, - 37458 - 11905: 0xE34C, - 37459 - 11905: 0xE34D, - 37460 - 11905: 0xE34E, - 37461 - 11905: 0xE34F, - 37462 - 11905: 0xE350, - 37463 - 11905: 0xE351, - 37464 - 11905: 0xE352, - 37465 - 11905: 0xE353, - 37466 - 11905: 0xE354, - 37467 - 11905: 0xE355, - 37468 - 11905: 0xE356, - 37469 - 11905: 0xE357, - 37470 - 11905: 0xE358, - 37471 - 11905: 0xE359, - 37472 - 11905: 0xE35A, - 37473 - 11905: 0xE35B, - 37474 - 11905: 0xE35C, - 37475 - 11905: 0xE35D, - 37476 - 11905: 0xE35E, - 37477 - 11905: 0xE35F, - 37478 - 11905: 0xE360, - 37479 - 11905: 0xE361, - 37480 - 11905: 0xE362, - 37481 - 11905: 0xE363, - 37482 - 11905: 0xE364, - 37483 - 11905: 0xE365, - 37484 - 11905: 0xE366, - 37485 - 11905: 0xE367, - 37486 - 11905: 0xE368, - 37487 - 11905: 0xE369, - 37488 - 11905: 0xE36A, - 37489 - 11905: 0xE36B, - 37490 - 11905: 0xE36C, - 37491 - 11905: 0xE36D, - 37492 - 11905: 0xBCF8, - 37493 - 11905: 0xE36E, - 37494 - 11905: 0xE36F, - 37495 - 11905: 0xE370, - 37496 - 11905: 0xE371, - 37497 - 11905: 0xE372, - 37498 - 11905: 0xE373, - 37499 - 11905: 0xE374, - 37500 - 11905: 0xE375, - 37501 - 11905: 0xE376, - 37502 - 11905: 0xE377, - 37503 - 11905: 0xE378, - 37504 - 11905: 0xE379, - 37505 - 11905: 0xE37A, - 37506 - 11905: 0xE37B, - 37507 - 11905: 0xE37C, - 37508 - 11905: 0xE37D, - 37509 - 11905: 0xE37E, - 37510 - 11905: 0xE380, - 37511 - 11905: 0xE381, - 37512 - 11905: 0xE382, - 37513 - 11905: 0xE383, - 37514 - 11905: 0xE384, - 37515 - 11905: 0xE385, - 37516 - 11905: 0xE386, - 37517 - 11905: 0xE387, - 37518 - 11905: 0xF6C6, - 37519 - 11905: 0xE388, - 37520 - 11905: 0xE389, - 37521 - 11905: 0xE38A, - 37522 - 11905: 0xE38B, - 37523 - 11905: 0xE38C, - 37524 - 11905: 0xE38D, - 37525 - 11905: 0xE38E, - 37526 - 11905: 0xE38F, - 37527 - 11905: 0xE390, - 37528 - 11905: 0xE391, - 37529 - 11905: 0xE392, - 37530 - 11905: 0xE393, - 37531 - 11905: 0xE394, - 37532 - 11905: 0xE395, - 37533 - 11905: 0xE396, - 37534 - 11905: 0xE397, - 37535 - 11905: 0xE398, - 37536 - 11905: 0xE399, - 37537 - 11905: 0xE39A, - 37538 - 11905: 0xE39B, - 37539 - 11905: 0xE39C, - 37540 - 11905: 0xE39D, - 37541 - 11905: 0xE39E, - 37542 - 11905: 0xE39F, - 37543 - 11905: 0xE3A0, - 37544 - 11905: 0xE440, - 37545 - 11905: 0xE441, - 37546 - 11905: 0xE442, - 37547 - 11905: 0xE443, - 37548 - 11905: 0xE444, - 37549 - 11905: 0xE445, - 37550 - 11905: 0xF6C7, - 37551 - 11905: 0xE446, - 37552 - 11905: 0xE447, - 37553 - 11905: 0xE448, - 37554 - 11905: 0xE449, - 37555 - 11905: 0xE44A, - 37556 - 11905: 0xE44B, - 37557 - 11905: 0xE44C, - 37558 - 11905: 0xE44D, - 37559 - 11905: 0xE44E, - 37560 - 11905: 0xE44F, - 37561 - 11905: 0xE450, - 37562 - 11905: 0xE451, - 37563 - 11905: 0xE452, - 37564 - 11905: 0xE453, - 37565 - 11905: 0xE454, - 37566 - 11905: 0xE455, - 37567 - 11905: 0xE456, - 37568 - 11905: 0xE457, - 37569 - 11905: 0xE458, - 37570 - 11905: 0xE459, - 37571 - 11905: 0xE45A, - 37572 - 11905: 0xE45B, - 37573 - 11905: 0xE45C, - 37574 - 11905: 0xE45D, - 37575 - 11905: 0xE45E, - 37576 - 11905: 0xF6C8, - 37577 - 11905: 0xE45F, - 37578 - 11905: 0xE460, - 37579 - 11905: 0xE461, - 37580 - 11905: 0xE462, - 37581 - 11905: 0xE463, - 37582 - 11905: 0xE464, - 37583 - 11905: 0xE465, - 37584 - 11905: 0xE466, - 37585 - 11905: 0xE467, - 37586 - 11905: 0xE468, - 37587 - 11905: 0xE469, - 37588 - 11905: 0xE46A, - 37589 - 11905: 0xE46B, - 37590 - 11905: 0xE46C, - 37591 - 11905: 0xE46D, - 37592 - 11905: 0xE46E, - 37593 - 11905: 0xE46F, - 37594 - 11905: 0xE470, - 37595 - 11905: 0xE471, - 37596 - 11905: 0xE472, - 37597 - 11905: 0xE473, - 37598 - 11905: 0xE474, - 37599 - 11905: 0xE475, - 37600 - 11905: 0xE476, - 37601 - 11905: 0xE477, - 37602 - 11905: 0xE478, - 37603 - 11905: 0xE479, - 37604 - 11905: 0xE47A, - 37605 - 11905: 0xE47B, - 37606 - 11905: 0xE47C, - 37607 - 11905: 0xE47D, - 37608 - 11905: 0xE47E, - 37609 - 11905: 0xE480, - 37610 - 11905: 0xE481, - 37611 - 11905: 0xE482, - 37612 - 11905: 0xE483, - 37613 - 11905: 0xE484, - 37614 - 11905: 0xE485, - 37615 - 11905: 0xE486, - 37616 - 11905: 0xE487, - 37617 - 11905: 0xE488, - 37618 - 11905: 0xE489, - 37619 - 11905: 0xE48A, - 37620 - 11905: 0xE48B, - 37621 - 11905: 0xE48C, - 37622 - 11905: 0xE48D, - 37623 - 11905: 0xE48E, - 37624 - 11905: 0xE48F, - 37625 - 11905: 0xE490, - 37626 - 11905: 0xE491, - 37627 - 11905: 0xE492, - 37628 - 11905: 0xE493, - 37629 - 11905: 0xE494, - 37630 - 11905: 0xE495, - 37631 - 11905: 0xE496, - 37632 - 11905: 0xE497, - 37633 - 11905: 0xE498, - 37634 - 11905: 0xE499, - 37635 - 11905: 0xE49A, - 37636 - 11905: 0xE49B, - 37637 - 11905: 0xE49C, - 37638 - 11905: 0xE49D, - 37639 - 11905: 0xE49E, - 37640 - 11905: 0xE49F, - 37641 - 11905: 0xE4A0, - 37642 - 11905: 0xE540, - 37643 - 11905: 0xE541, - 37644 - 11905: 0xE542, - 37645 - 11905: 0xE543, - 37646 - 11905: 0xE544, - 37647 - 11905: 0xE545, - 37648 - 11905: 0xE546, - 37649 - 11905: 0xE547, - 37650 - 11905: 0xE548, - 37651 - 11905: 0xE549, - 37652 - 11905: 0xE54A, - 37653 - 11905: 0xE54B, - 37654 - 11905: 0xE54C, - 37655 - 11905: 0xE54D, - 37656 - 11905: 0xE54E, - 37657 - 11905: 0xE54F, - 37658 - 11905: 0xE550, - 37659 - 11905: 0xE551, - 37660 - 11905: 0xE552, - 37661 - 11905: 0xE553, - 37662 - 11905: 0xE554, - 37663 - 11905: 0xE555, - 37664 - 11905: 0xE556, - 37665 - 11905: 0xE557, - 37666 - 11905: 0xE558, - 37667 - 11905: 0xE559, - 37668 - 11905: 0xE55A, - 37669 - 11905: 0xE55B, - 37670 - 11905: 0xE55C, - 37671 - 11905: 0xE55D, - 37672 - 11905: 0xE55E, - 37673 - 11905: 0xE55F, - 37674 - 11905: 0xE560, - 37675 - 11905: 0xE561, - 37676 - 11905: 0xE562, - 37677 - 11905: 0xE563, - 37678 - 11905: 0xE564, - 37679 - 11905: 0xE565, - 37680 - 11905: 0xE566, - 37681 - 11905: 0xE567, - 37682 - 11905: 0xE568, - 37683 - 11905: 0xE569, - 37684 - 11905: 0xE56A, - 37685 - 11905: 0xE56B, - 37686 - 11905: 0xE56C, - 37687 - 11905: 0xE56D, - 37688 - 11905: 0xE56E, - 37689 - 11905: 0xE56F, - 37690 - 11905: 0xE570, - 37691 - 11905: 0xE571, - 37692 - 11905: 0xE572, - 37693 - 11905: 0xE573, - 37694 - 11905: 0xF6C9, - 37695 - 11905: 0xE574, - 37696 - 11905: 0xE575, - 37697 - 11905: 0xE576, - 37698 - 11905: 0xE577, - 37699 - 11905: 0xE578, - 37700 - 11905: 0xE579, - 37701 - 11905: 0xE57A, - 37702 - 11905: 0xE57B, - 37703 - 11905: 0xE57C, - 37704 - 11905: 0xE57D, - 37705 - 11905: 0xE57E, - 37706 - 11905: 0xE580, - 37707 - 11905: 0xE581, - 37708 - 11905: 0xE582, - 37709 - 11905: 0xE583, - 37710 - 11905: 0xE584, - 37711 - 11905: 0xE585, - 37712 - 11905: 0xE586, - 37713 - 11905: 0xE587, - 37714 - 11905: 0xE588, - 37715 - 11905: 0xE589, - 37716 - 11905: 0xE58A, - 37717 - 11905: 0xE58B, - 37718 - 11905: 0xE58C, - 37719 - 11905: 0xE58D, - 37720 - 11905: 0xE58E, - 37721 - 11905: 0xE58F, - 37722 - 11905: 0xE590, - 37723 - 11905: 0xE591, - 37724 - 11905: 0xE592, - 37725 - 11905: 0xE593, - 37726 - 11905: 0xE594, - 37727 - 11905: 0xE595, - 37728 - 11905: 0xE596, - 37729 - 11905: 0xE597, - 37730 - 11905: 0xE598, - 37731 - 11905: 0xE599, - 37732 - 11905: 0xE59A, - 37733 - 11905: 0xE59B, - 37734 - 11905: 0xE59C, - 37735 - 11905: 0xE59D, - 37736 - 11905: 0xE59E, - 37737 - 11905: 0xE59F, - 37738 - 11905: 0xF6CA, - 37739 - 11905: 0xE5A0, - 37740 - 11905: 0xE640, - 37741 - 11905: 0xE641, - 37742 - 11905: 0xE642, - 37743 - 11905: 0xE643, - 37744 - 11905: 0xE644, - 37745 - 11905: 0xE645, - 37746 - 11905: 0xE646, - 37747 - 11905: 0xE647, - 37748 - 11905: 0xE648, - 37749 - 11905: 0xE649, - 37750 - 11905: 0xE64A, - 37751 - 11905: 0xE64B, - 37752 - 11905: 0xE64C, - 37753 - 11905: 0xE64D, - 37754 - 11905: 0xE64E, - 37755 - 11905: 0xE64F, - 37756 - 11905: 0xE650, - 37757 - 11905: 0xE651, - 37758 - 11905: 0xE652, - 37759 - 11905: 0xE653, - 37760 - 11905: 0xE654, - 37761 - 11905: 0xE655, - 37762 - 11905: 0xE656, - 37763 - 11905: 0xE657, - 37764 - 11905: 0xE658, - 37765 - 11905: 0xE659, - 37766 - 11905: 0xE65A, - 37767 - 11905: 0xE65B, - 37768 - 11905: 0xE65C, - 37769 - 11905: 0xE65D, - 37770 - 11905: 0xE65E, - 37771 - 11905: 0xE65F, - 37772 - 11905: 0xE660, - 37773 - 11905: 0xE661, - 37774 - 11905: 0xE662, - 37775 - 11905: 0xF6CC, - 37776 - 11905: 0xE663, - 37777 - 11905: 0xE664, - 37778 - 11905: 0xE665, - 37779 - 11905: 0xE666, - 37780 - 11905: 0xE667, - 37781 - 11905: 0xE668, - 37782 - 11905: 0xE669, - 37783 - 11905: 0xE66A, - 37784 - 11905: 0xE66B, - 37785 - 11905: 0xE66C, - 37786 - 11905: 0xE66D, - 37787 - 11905: 0xE66E, - 37788 - 11905: 0xE66F, - 37789 - 11905: 0xE670, - 37790 - 11905: 0xE671, - 37791 - 11905: 0xE672, - 37792 - 11905: 0xE673, - 37793 - 11905: 0xE674, - 37794 - 11905: 0xE675, - 37795 - 11905: 0xE676, - 37796 - 11905: 0xE677, - 37797 - 11905: 0xE678, - 37798 - 11905: 0xE679, - 37799 - 11905: 0xE67A, - 37800 - 11905: 0xE67B, - 37801 - 11905: 0xE67C, - 37802 - 11905: 0xE67D, - 37803 - 11905: 0xE67E, - 37804 - 11905: 0xE680, - 37805 - 11905: 0xE681, - 37806 - 11905: 0xE682, - 37807 - 11905: 0xE683, - 37808 - 11905: 0xE684, - 37809 - 11905: 0xE685, - 37810 - 11905: 0xE686, - 37811 - 11905: 0xE687, - 37812 - 11905: 0xE688, - 37813 - 11905: 0xE689, - 37814 - 11905: 0xE68A, - 37815 - 11905: 0xE68B, - 37816 - 11905: 0xE68C, - 37817 - 11905: 0xE68D, - 37818 - 11905: 0xE68E, - 37819 - 11905: 0xE68F, - 37820 - 11905: 0xE690, - 37821 - 11905: 0xE691, - 37822 - 11905: 0xE692, - 37823 - 11905: 0xE693, - 37824 - 11905: 0xE694, - 37825 - 11905: 0xE695, - 37826 - 11905: 0xE696, - 37827 - 11905: 0xE697, - 37828 - 11905: 0xE698, - 37829 - 11905: 0xE699, - 37830 - 11905: 0xE69A, - 37831 - 11905: 0xE69B, - 37832 - 11905: 0xE69C, - 37833 - 11905: 0xE69D, - 37834 - 11905: 0xF6CB, - 37835 - 11905: 0xE69E, - 37836 - 11905: 0xE69F, - 37837 - 11905: 0xE6A0, - 37838 - 11905: 0xE740, - 37839 - 11905: 0xE741, - 37840 - 11905: 0xE742, - 37841 - 11905: 0xE743, - 37842 - 11905: 0xE744, - 37843 - 11905: 0xE745, - 37844 - 11905: 0xE746, - 37845 - 11905: 0xE747, - 37846 - 11905: 0xF7E9, - 37847 - 11905: 0xE748, - 37848 - 11905: 0xE749, - 37849 - 11905: 0xE74A, - 37850 - 11905: 0xE74B, - 37851 - 11905: 0xE74C, - 37852 - 11905: 0xE74D, - 37853 - 11905: 0xE74E, - 37854 - 11905: 0xE74F, - 37855 - 11905: 0xE750, - 37856 - 11905: 0xE751, - 37857 - 11905: 0xE752, - 37858 - 11905: 0xE753, - 37859 - 11905: 0xE754, - 37860 - 11905: 0xE755, - 37861 - 11905: 0xE756, - 37862 - 11905: 0xE757, - 37863 - 11905: 0xE758, - 37864 - 11905: 0xE759, - 37865 - 11905: 0xE75A, - 37866 - 11905: 0xE75B, - 37867 - 11905: 0xE75C, - 37868 - 11905: 0xE75D, - 37869 - 11905: 0xE75E, - 37870 - 11905: 0xE75F, - 37871 - 11905: 0xE760, - 37872 - 11905: 0xE761, - 37873 - 11905: 0xE762, - 37874 - 11905: 0xE763, - 37875 - 11905: 0xE764, - 37876 - 11905: 0xE765, - 37877 - 11905: 0xE766, - 37878 - 11905: 0xE767, - 37879 - 11905: 0xE768, - 37880 - 11905: 0xE769, - 37881 - 11905: 0xE76A, - 37882 - 11905: 0xE76B, - 37883 - 11905: 0xE76C, - 37884 - 11905: 0xE76D, - 37885 - 11905: 0xE76E, - 37886 - 11905: 0xE76F, - 37887 - 11905: 0xE770, - 37888 - 11905: 0xE771, - 37889 - 11905: 0xE772, - 37890 - 11905: 0xE773, - 37891 - 11905: 0xE774, - 37892 - 11905: 0xE775, - 37893 - 11905: 0xE776, - 37894 - 11905: 0xE777, - 37895 - 11905: 0xE778, - 37896 - 11905: 0xE779, - 37897 - 11905: 0xE77A, - 37898 - 11905: 0xE77B, - 37899 - 11905: 0xE77C, - 37900 - 11905: 0xE77D, - 37901 - 11905: 0xE77E, - 37902 - 11905: 0xE780, - 37903 - 11905: 0xE781, - 37904 - 11905: 0xE782, - 37905 - 11905: 0xE783, - 37906 - 11905: 0xE784, - 37907 - 11905: 0xE785, - 37908 - 11905: 0xE786, - 37909 - 11905: 0xE787, - 37910 - 11905: 0xE788, - 37911 - 11905: 0xE789, - 37912 - 11905: 0xE78A, - 37913 - 11905: 0xE78B, - 37914 - 11905: 0xE78C, - 37915 - 11905: 0xE78D, - 37916 - 11905: 0xE78E, - 37917 - 11905: 0xE78F, - 37918 - 11905: 0xE790, - 37919 - 11905: 0xE791, - 37920 - 11905: 0xE792, - 37921 - 11905: 0xE793, - 37922 - 11905: 0xE794, - 37923 - 11905: 0xE795, - 37924 - 11905: 0xE796, - 37925 - 11905: 0xE797, - 37926 - 11905: 0xE798, - 37927 - 11905: 0xE799, - 37928 - 11905: 0xE79A, - 37929 - 11905: 0xE79B, - 37930 - 11905: 0xE79C, - 37931 - 11905: 0xE79D, - 37932 - 11905: 0xE79E, - 37933 - 11905: 0xE79F, - 37934 - 11905: 0xE7A0, - 37935 - 11905: 0xE840, - 37936 - 11905: 0xE841, - 37937 - 11905: 0xE842, - 37938 - 11905: 0xE843, - 37939 - 11905: 0xE844, - 37940 - 11905: 0xE845, - 37941 - 11905: 0xE846, - 37942 - 11905: 0xE847, - 37943 - 11905: 0xE848, - 37944 - 11905: 0xE849, - 37945 - 11905: 0xE84A, - 37946 - 11905: 0xE84B, - 37947 - 11905: 0xE84C, - 37948 - 11905: 0xE84D, - 37949 - 11905: 0xE84E, - 37950 - 11905: 0xF6CD, - 37951 - 11905: 0xE84F, - 37952 - 11905: 0xE850, - 37953 - 11905: 0xE851, - 37954 - 11905: 0xE852, - 37955 - 11905: 0xE853, - 37956 - 11905: 0xE854, - 37957 - 11905: 0xE855, - 37958 - 11905: 0xE856, - 37959 - 11905: 0xE857, - 37960 - 11905: 0xE858, - 37961 - 11905: 0xE859, - 37962 - 11905: 0xE85A, - 37963 - 11905: 0xE85B, - 37964 - 11905: 0xE85C, - 37965 - 11905: 0xE85D, - 37966 - 11905: 0xE85E, - 37967 - 11905: 0xE85F, - 37968 - 11905: 0xE860, - 37969 - 11905: 0xE861, - 37970 - 11905: 0xE862, - 37971 - 11905: 0xE863, - 37972 - 11905: 0xE864, - 37973 - 11905: 0xE865, - 37974 - 11905: 0xE866, - 37975 - 11905: 0xE867, - 37976 - 11905: 0xE868, - 37977 - 11905: 0xE869, - 37978 - 11905: 0xE86A, - 37979 - 11905: 0xE86B, - 37980 - 11905: 0xE86C, - 37981 - 11905: 0xE86D, - 37982 - 11905: 0xE86E, - 37983 - 11905: 0xE86F, - 37984 - 11905: 0xE870, - 37985 - 11905: 0xE871, - 37986 - 11905: 0xE872, - 37987 - 11905: 0xE873, - 37988 - 11905: 0xE874, - 37989 - 11905: 0xE875, - 37990 - 11905: 0xE876, - 37991 - 11905: 0xE877, - 37992 - 11905: 0xE878, - 37993 - 11905: 0xE879, - 37994 - 11905: 0xE87A, - 37995 - 11905: 0xF6CE, - 37996 - 11905: 0xE87B, - 37997 - 11905: 0xE87C, - 37998 - 11905: 0xE87D, - 37999 - 11905: 0xE87E, - 38000 - 11905: 0xE880, - 38001 - 11905: 0xE881, - 38002 - 11905: 0xE882, - 38003 - 11905: 0xE883, - 38004 - 11905: 0xE884, - 38005 - 11905: 0xE885, - 38006 - 11905: 0xE886, - 38007 - 11905: 0xE887, - 38008 - 11905: 0xE888, - 38009 - 11905: 0xE889, - 38010 - 11905: 0xE88A, - 38011 - 11905: 0xE88B, - 38012 - 11905: 0xE88C, - 38013 - 11905: 0xE88D, - 38014 - 11905: 0xE88E, - 38015 - 11905: 0xE88F, - 38016 - 11905: 0xE890, - 38017 - 11905: 0xE891, - 38018 - 11905: 0xE892, - 38019 - 11905: 0xE893, - 38020 - 11905: 0xE894, - 38021 - 11905: 0xEEC4, - 38022 - 11905: 0xEEC5, - 38023 - 11905: 0xEEC6, - 38024 - 11905: 0xD5EB, - 38025 - 11905: 0xB6A4, - 38026 - 11905: 0xEEC8, - 38027 - 11905: 0xEEC7, - 38028 - 11905: 0xEEC9, - 38029 - 11905: 0xEECA, - 38030 - 11905: 0xC7A5, - 38031 - 11905: 0xEECB, - 38032 - 11905: 0xEECC, - 38033 - 11905: 0xE895, - 38034 - 11905: 0xB7B0, - 38035 - 11905: 0xB5F6, - 38036 - 11905: 0xEECD, - 38037 - 11905: 0xEECF, - 38038 - 11905: 0xE896, - 38039 - 11905: 0xEECE, - 38040 - 11905: 0xE897, - 38041 - 11905: 0xB8C6, - 38042 - 11905: 0xEED0, - 38043 - 11905: 0xEED1, - 38044 - 11905: 0xEED2, - 38045 - 11905: 0xB6DB, - 38046 - 11905: 0xB3AE, - 38047 - 11905: 0xD6D3, - 38048 - 11905: 0xC4C6, - 38049 - 11905: 0xB1B5, - 38050 - 11905: 0xB8D6, - 38051 - 11905: 0xEED3, - 38052 - 11905: 0xEED4, - 38053 - 11905: 0xD4BF, - 38054 - 11905: 0xC7D5, - 38055 - 11905: 0xBEFB, - 38056 - 11905: 0xCED9, - 38057 - 11905: 0xB9B3, - 38058 - 11905: 0xEED6, - 38059 - 11905: 0xEED5, - 38060 - 11905: 0xEED8, - 38061 - 11905: 0xEED7, - 38062 - 11905: 0xC5A5, - 38063 - 11905: 0xEED9, - 38064 - 11905: 0xEEDA, - 38065 - 11905: 0xC7AE, - 38066 - 11905: 0xEEDB, - 38067 - 11905: 0xC7AF, - 38068 - 11905: 0xEEDC, - 38069 - 11905: 0xB2A7, - 38070 - 11905: 0xEEDD, - 38071 - 11905: 0xEEDE, - 38072 - 11905: 0xEEDF, - 38073 - 11905: 0xEEE0, - 38074 - 11905: 0xEEE1, - 38075 - 11905: 0xD7EA, - 38076 - 11905: 0xEEE2, - 38077 - 11905: 0xEEE3, - 38078 - 11905: 0xBCD8, - 38079 - 11905: 0xEEE4, - 38080 - 11905: 0xD3CB, - 38081 - 11905: 0xCCFA, - 38082 - 11905: 0xB2AC, - 38083 - 11905: 0xC1E5, - 38084 - 11905: 0xEEE5, - 38085 - 11905: 0xC7A6, - 38086 - 11905: 0xC3AD, - 38087 - 11905: 0xE898, - 38088 - 11905: 0xEEE6, - 38089 - 11905: 0xEEE7, - 38090 - 11905: 0xEEE8, - 38091 - 11905: 0xEEE9, - 38092 - 11905: 0xEEEA, - 38093 - 11905: 0xEEEB, - 38094 - 11905: 0xEEEC, - 38095 - 11905: 0xE899, - 38096 - 11905: 0xEEED, - 38097 - 11905: 0xEEEE, - 38098 - 11905: 0xEEEF, - 38099 - 11905: 0xE89A, - 38100 - 11905: 0xE89B, - 38101 - 11905: 0xEEF0, - 38102 - 11905: 0xEEF1, - 38103 - 11905: 0xEEF2, - 38104 - 11905: 0xEEF4, - 38105 - 11905: 0xEEF3, - 38106 - 11905: 0xE89C, - 38107 - 11905: 0xEEF5, - 38108 - 11905: 0xCDAD, - 38109 - 11905: 0xC2C1, - 38110 - 11905: 0xEEF6, - 38111 - 11905: 0xEEF7, - 38112 - 11905: 0xEEF8, - 38113 - 11905: 0xD5A1, - 38114 - 11905: 0xEEF9, - 38115 - 11905: 0xCFB3, - 38116 - 11905: 0xEEFA, - 38117 - 11905: 0xEEFB, - 38118 - 11905: 0xE89D, - 38119 - 11905: 0xEEFC, - 38120 - 11905: 0xEEFD, - 38121 - 11905: 0xEFA1, - 38122 - 11905: 0xEEFE, - 38123 - 11905: 0xEFA2, - 38124 - 11905: 0xB8F5, - 38125 - 11905: 0xC3FA, - 38126 - 11905: 0xEFA3, - 38127 - 11905: 0xEFA4, - 38128 - 11905: 0xBDC2, - 38129 - 11905: 0xD2BF, - 38130 - 11905: 0xB2F9, - 38131 - 11905: 0xEFA5, - 38132 - 11905: 0xEFA6, - 38133 - 11905: 0xEFA7, - 38134 - 11905: 0xD2F8, - 38135 - 11905: 0xEFA8, - 38136 - 11905: 0xD6FD, - 38137 - 11905: 0xEFA9, - 38138 - 11905: 0xC6CC, - 38139 - 11905: 0xE89E, - 38140 - 11905: 0xEFAA, - 38141 - 11905: 0xEFAB, - 38142 - 11905: 0xC1B4, - 38143 - 11905: 0xEFAC, - 38144 - 11905: 0xCFFA, - 38145 - 11905: 0xCBF8, - 38146 - 11905: 0xEFAE, - 38147 - 11905: 0xEFAD, - 38148 - 11905: 0xB3FA, - 38149 - 11905: 0xB9F8, - 38150 - 11905: 0xEFAF, - 38151 - 11905: 0xEFB0, - 38152 - 11905: 0xD0E2, - 38153 - 11905: 0xEFB1, - 38154 - 11905: 0xEFB2, - 38155 - 11905: 0xB7E6, - 38156 - 11905: 0xD0BF, - 38157 - 11905: 0xEFB3, - 38158 - 11905: 0xEFB4, - 38159 - 11905: 0xEFB5, - 38160 - 11905: 0xC8F1, - 38161 - 11905: 0xCCE0, - 38162 - 11905: 0xEFB6, - 38163 - 11905: 0xEFB7, - 38164 - 11905: 0xEFB8, - 38165 - 11905: 0xEFB9, - 38166 - 11905: 0xEFBA, - 38167 - 11905: 0xD5E0, - 38168 - 11905: 0xEFBB, - 38169 - 11905: 0xB4ED, - 38170 - 11905: 0xC3AA, - 38171 - 11905: 0xEFBC, - 38172 - 11905: 0xE89F, - 38173 - 11905: 0xEFBD, - 38174 - 11905: 0xEFBE, - 38175 - 11905: 0xEFBF, - 38176 - 11905: 0xE8A0, - 38177 - 11905: 0xCEFD, - 38178 - 11905: 0xEFC0, - 38179 - 11905: 0xC2E0, - 38180 - 11905: 0xB4B8, - 38181 - 11905: 0xD7B6, - 38182 - 11905: 0xBDF5, - 38183 - 11905: 0xE940, - 38184 - 11905: 0xCFC7, - 38185 - 11905: 0xEFC3, - 38186 - 11905: 0xEFC1, - 38187 - 11905: 0xEFC2, - 38188 - 11905: 0xEFC4, - 38189 - 11905: 0xB6A7, - 38190 - 11905: 0xBCFC, - 38191 - 11905: 0xBEE2, - 38192 - 11905: 0xC3CC, - 38193 - 11905: 0xEFC5, - 38194 - 11905: 0xEFC6, - 38195 - 11905: 0xE941, - 38196 - 11905: 0xEFC7, - 38197 - 11905: 0xEFCF, - 38198 - 11905: 0xEFC8, - 38199 - 11905: 0xEFC9, - 38200 - 11905: 0xEFCA, - 38201 - 11905: 0xC7C2, - 38202 - 11905: 0xEFF1, - 38203 - 11905: 0xB6CD, - 38204 - 11905: 0xEFCB, - 38205 - 11905: 0xE942, - 38206 - 11905: 0xEFCC, - 38207 - 11905: 0xEFCD, - 38208 - 11905: 0xB6C6, - 38209 - 11905: 0xC3BE, - 38210 - 11905: 0xEFCE, - 38211 - 11905: 0xE943, - 38212 - 11905: 0xEFD0, - 38213 - 11905: 0xEFD1, - 38214 - 11905: 0xEFD2, - 38215 - 11905: 0xD5F2, - 38216 - 11905: 0xE944, - 38217 - 11905: 0xEFD3, - 38218 - 11905: 0xC4F7, - 38219 - 11905: 0xE945, - 38220 - 11905: 0xEFD4, - 38221 - 11905: 0xC4F8, - 38222 - 11905: 0xEFD5, - 38223 - 11905: 0xEFD6, - 38224 - 11905: 0xB8E4, - 38225 - 11905: 0xB0F7, - 38226 - 11905: 0xEFD7, - 38227 - 11905: 0xEFD8, - 38228 - 11905: 0xEFD9, - 38229 - 11905: 0xE946, - 38230 - 11905: 0xEFDA, - 38231 - 11905: 0xEFDB, - 38232 - 11905: 0xEFDC, - 38233 - 11905: 0xEFDD, - 38234 - 11905: 0xE947, - 38235 - 11905: 0xEFDE, - 38236 - 11905: 0xBEB5, - 38237 - 11905: 0xEFE1, - 38238 - 11905: 0xEFDF, - 38239 - 11905: 0xEFE0, - 38240 - 11905: 0xE948, - 38241 - 11905: 0xEFE2, - 38242 - 11905: 0xEFE3, - 38243 - 11905: 0xC1CD, - 38244 - 11905: 0xEFE4, - 38245 - 11905: 0xEFE5, - 38246 - 11905: 0xEFE6, - 38247 - 11905: 0xEFE7, - 38248 - 11905: 0xEFE8, - 38249 - 11905: 0xEFE9, - 38250 - 11905: 0xEFEA, - 38251 - 11905: 0xEFEB, - 38252 - 11905: 0xEFEC, - 38253 - 11905: 0xC0D8, - 38254 - 11905: 0xE949, - 38255 - 11905: 0xEFED, - 38256 - 11905: 0xC1AD, - 38257 - 11905: 0xEFEE, - 38258 - 11905: 0xEFEF, - 38259 - 11905: 0xEFF0, - 38260 - 11905: 0xE94A, - 38261 - 11905: 0xE94B, - 38262 - 11905: 0xCFE2, - 38263 - 11905: 0xE94C, - 38264 - 11905: 0xE94D, - 38265 - 11905: 0xE94E, - 38266 - 11905: 0xE94F, - 38267 - 11905: 0xE950, - 38268 - 11905: 0xE951, - 38269 - 11905: 0xE952, - 38270 - 11905: 0xE953, - 38271 - 11905: 0xB3A4, - 38272 - 11905: 0xE954, - 38273 - 11905: 0xE955, - 38274 - 11905: 0xE956, - 38275 - 11905: 0xE957, - 38276 - 11905: 0xE958, - 38277 - 11905: 0xE959, - 38278 - 11905: 0xE95A, - 38279 - 11905: 0xE95B, - 38280 - 11905: 0xE95C, - 38281 - 11905: 0xE95D, - 38282 - 11905: 0xE95E, - 38283 - 11905: 0xE95F, - 38284 - 11905: 0xE960, - 38285 - 11905: 0xE961, - 38286 - 11905: 0xE962, - 38287 - 11905: 0xE963, - 38288 - 11905: 0xE964, - 38289 - 11905: 0xE965, - 38290 - 11905: 0xE966, - 38291 - 11905: 0xE967, - 38292 - 11905: 0xE968, - 38293 - 11905: 0xE969, - 38294 - 11905: 0xE96A, - 38295 - 11905: 0xE96B, - 38296 - 11905: 0xE96C, - 38297 - 11905: 0xE96D, - 38298 - 11905: 0xE96E, - 38299 - 11905: 0xE96F, - 38300 - 11905: 0xE970, - 38301 - 11905: 0xE971, - 38302 - 11905: 0xE972, - 38303 - 11905: 0xE973, - 38304 - 11905: 0xE974, - 38305 - 11905: 0xE975, - 38306 - 11905: 0xE976, - 38307 - 11905: 0xE977, - 38308 - 11905: 0xE978, - 38309 - 11905: 0xE979, - 38310 - 11905: 0xE97A, - 38311 - 11905: 0xE97B, - 38312 - 11905: 0xE97C, - 38313 - 11905: 0xE97D, - 38314 - 11905: 0xE97E, - 38315 - 11905: 0xE980, - 38316 - 11905: 0xE981, - 38317 - 11905: 0xE982, - 38318 - 11905: 0xE983, - 38319 - 11905: 0xE984, - 38320 - 11905: 0xE985, - 38321 - 11905: 0xE986, - 38322 - 11905: 0xE987, - 38323 - 11905: 0xE988, - 38324 - 11905: 0xE989, - 38325 - 11905: 0xE98A, - 38326 - 11905: 0xE98B, - 38327 - 11905: 0xE98C, - 38328 - 11905: 0xE98D, - 38329 - 11905: 0xE98E, - 38330 - 11905: 0xE98F, - 38331 - 11905: 0xE990, - 38332 - 11905: 0xE991, - 38333 - 11905: 0xE992, - 38334 - 11905: 0xE993, - 38335 - 11905: 0xE994, - 38336 - 11905: 0xE995, - 38337 - 11905: 0xE996, - 38338 - 11905: 0xE997, - 38339 - 11905: 0xE998, - 38340 - 11905: 0xE999, - 38341 - 11905: 0xE99A, - 38342 - 11905: 0xE99B, - 38343 - 11905: 0xE99C, - 38344 - 11905: 0xE99D, - 38345 - 11905: 0xE99E, - 38346 - 11905: 0xE99F, - 38347 - 11905: 0xE9A0, - 38348 - 11905: 0xEA40, - 38349 - 11905: 0xEA41, - 38350 - 11905: 0xEA42, - 38351 - 11905: 0xEA43, - 38352 - 11905: 0xEA44, - 38353 - 11905: 0xEA45, - 38354 - 11905: 0xEA46, - 38355 - 11905: 0xEA47, - 38356 - 11905: 0xEA48, - 38357 - 11905: 0xEA49, - 38358 - 11905: 0xEA4A, - 38359 - 11905: 0xEA4B, - 38360 - 11905: 0xEA4C, - 38361 - 11905: 0xEA4D, - 38362 - 11905: 0xEA4E, - 38363 - 11905: 0xEA4F, - 38364 - 11905: 0xEA50, - 38365 - 11905: 0xEA51, - 38366 - 11905: 0xEA52, - 38367 - 11905: 0xEA53, - 38368 - 11905: 0xEA54, - 38369 - 11905: 0xEA55, - 38370 - 11905: 0xEA56, - 38371 - 11905: 0xEA57, - 38372 - 11905: 0xEA58, - 38373 - 11905: 0xEA59, - 38374 - 11905: 0xEA5A, - 38375 - 11905: 0xEA5B, - 38376 - 11905: 0xC3C5, - 38377 - 11905: 0xE3C5, - 38378 - 11905: 0xC9C1, - 38379 - 11905: 0xE3C6, - 38380 - 11905: 0xEA5C, - 38381 - 11905: 0xB1D5, - 38382 - 11905: 0xCECA, - 38383 - 11905: 0xB4B3, - 38384 - 11905: 0xC8F2, - 38385 - 11905: 0xE3C7, - 38386 - 11905: 0xCFD0, - 38387 - 11905: 0xE3C8, - 38388 - 11905: 0xBCE4, - 38389 - 11905: 0xE3C9, - 38390 - 11905: 0xE3CA, - 38391 - 11905: 0xC3C6, - 38392 - 11905: 0xD5A2, - 38393 - 11905: 0xC4D6, - 38394 - 11905: 0xB9EB, - 38395 - 11905: 0xCEC5, - 38396 - 11905: 0xE3CB, - 38397 - 11905: 0xC3F6, - 38398 - 11905: 0xE3CC, - 38399 - 11905: 0xEA5D, - 38400 - 11905: 0xB7A7, - 38401 - 11905: 0xB8F3, - 38402 - 11905: 0xBAD2, - 38403 - 11905: 0xE3CD, - 38404 - 11905: 0xE3CE, - 38405 - 11905: 0xD4C4, - 38406 - 11905: 0xE3CF, - 38407 - 11905: 0xEA5E, - 38408 - 11905: 0xE3D0, - 38409 - 11905: 0xD1CB, - 38410 - 11905: 0xE3D1, - 38411 - 11905: 0xE3D2, - 38412 - 11905: 0xE3D3, - 38413 - 11905: 0xE3D4, - 38414 - 11905: 0xD1D6, - 38415 - 11905: 0xE3D5, - 38416 - 11905: 0xB2FB, - 38417 - 11905: 0xC0BB, - 38418 - 11905: 0xE3D6, - 38419 - 11905: 0xEA5F, - 38420 - 11905: 0xC0AB, - 38421 - 11905: 0xE3D7, - 38422 - 11905: 0xE3D8, - 38423 - 11905: 0xE3D9, - 38424 - 11905: 0xEA60, - 38425 - 11905: 0xE3DA, - 38426 - 11905: 0xE3DB, - 38427 - 11905: 0xEA61, - 38428 - 11905: 0xB8B7, - 38429 - 11905: 0xDAE2, - 38430 - 11905: 0xEA62, - 38431 - 11905: 0xB6D3, - 38432 - 11905: 0xEA63, - 38433 - 11905: 0xDAE4, - 38434 - 11905: 0xDAE3, - 38435 - 11905: 0xEA64, - 38436 - 11905: 0xEA65, - 38437 - 11905: 0xEA66, - 38438 - 11905: 0xEA67, - 38439 - 11905: 0xEA68, - 38440 - 11905: 0xEA69, - 38441 - 11905: 0xEA6A, - 38442 - 11905: 0xDAE6, - 38443 - 11905: 0xEA6B, - 38444 - 11905: 0xEA6C, - 38445 - 11905: 0xEA6D, - 38446 - 11905: 0xC8EE, - 38447 - 11905: 0xEA6E, - 38448 - 11905: 0xEA6F, - 38449 - 11905: 0xDAE5, - 38450 - 11905: 0xB7C0, - 38451 - 11905: 0xD1F4, - 38452 - 11905: 0xD2F5, - 38453 - 11905: 0xD5F3, - 38454 - 11905: 0xBDD7, - 38455 - 11905: 0xEA70, - 38456 - 11905: 0xEA71, - 38457 - 11905: 0xEA72, - 38458 - 11905: 0xEA73, - 38459 - 11905: 0xD7E8, - 38460 - 11905: 0xDAE8, - 38461 - 11905: 0xDAE7, - 38462 - 11905: 0xEA74, - 38463 - 11905: 0xB0A2, - 38464 - 11905: 0xCDD3, - 38465 - 11905: 0xEA75, - 38466 - 11905: 0xDAE9, - 38467 - 11905: 0xEA76, - 38468 - 11905: 0xB8BD, - 38469 - 11905: 0xBCCA, - 38470 - 11905: 0xC2BD, - 38471 - 11905: 0xC2A4, - 38472 - 11905: 0xB3C2, - 38473 - 11905: 0xDAEA, - 38474 - 11905: 0xEA77, - 38475 - 11905: 0xC2AA, - 38476 - 11905: 0xC4B0, - 38477 - 11905: 0xBDB5, - 38478 - 11905: 0xEA78, - 38479 - 11905: 0xEA79, - 38480 - 11905: 0xCFDE, - 38481 - 11905: 0xEA7A, - 38482 - 11905: 0xEA7B, - 38483 - 11905: 0xEA7C, - 38484 - 11905: 0xDAEB, - 38485 - 11905: 0xC9C2, - 38486 - 11905: 0xEA7D, - 38487 - 11905: 0xEA7E, - 38488 - 11905: 0xEA80, - 38489 - 11905: 0xEA81, - 38490 - 11905: 0xEA82, - 38491 - 11905: 0xB1DD, - 38492 - 11905: 0xEA83, - 38493 - 11905: 0xEA84, - 38494 - 11905: 0xEA85, - 38495 - 11905: 0xDAEC, - 38496 - 11905: 0xEA86, - 38497 - 11905: 0xB6B8, - 38498 - 11905: 0xD4BA, - 38499 - 11905: 0xEA87, - 38500 - 11905: 0xB3FD, - 38501 - 11905: 0xEA88, - 38502 - 11905: 0xEA89, - 38503 - 11905: 0xDAED, - 38504 - 11905: 0xD4C9, - 38505 - 11905: 0xCFD5, - 38506 - 11905: 0xC5E3, - 38507 - 11905: 0xEA8A, - 38508 - 11905: 0xDAEE, - 38509 - 11905: 0xEA8B, - 38510 - 11905: 0xEA8C, - 38511 - 11905: 0xEA8D, - 38512 - 11905: 0xEA8E, - 38513 - 11905: 0xEA8F, - 38514 - 11905: 0xDAEF, - 38515 - 11905: 0xEA90, - 38516 - 11905: 0xDAF0, - 38517 - 11905: 0xC1EA, - 38518 - 11905: 0xCCD5, - 38519 - 11905: 0xCFDD, - 38520 - 11905: 0xEA91, - 38521 - 11905: 0xEA92, - 38522 - 11905: 0xEA93, - 38523 - 11905: 0xEA94, - 38524 - 11905: 0xEA95, - 38525 - 11905: 0xEA96, - 38526 - 11905: 0xEA97, - 38527 - 11905: 0xEA98, - 38528 - 11905: 0xEA99, - 38529 - 11905: 0xEA9A, - 38530 - 11905: 0xEA9B, - 38531 - 11905: 0xEA9C, - 38532 - 11905: 0xEA9D, - 38533 - 11905: 0xD3E7, - 38534 - 11905: 0xC2A1, - 38535 - 11905: 0xEA9E, - 38536 - 11905: 0xDAF1, - 38537 - 11905: 0xEA9F, - 38538 - 11905: 0xEAA0, - 38539 - 11905: 0xCBE5, - 38540 - 11905: 0xEB40, - 38541 - 11905: 0xDAF2, - 38542 - 11905: 0xEB41, - 38543 - 11905: 0xCBE6, - 38544 - 11905: 0xD2FE, - 38545 - 11905: 0xEB42, - 38546 - 11905: 0xEB43, - 38547 - 11905: 0xEB44, - 38548 - 11905: 0xB8F4, - 38549 - 11905: 0xEB45, - 38550 - 11905: 0xEB46, - 38551 - 11905: 0xDAF3, - 38552 - 11905: 0xB0AF, - 38553 - 11905: 0xCFB6, - 38554 - 11905: 0xEB47, - 38555 - 11905: 0xEB48, - 38556 - 11905: 0xD5CF, - 38557 - 11905: 0xEB49, - 38558 - 11905: 0xEB4A, - 38559 - 11905: 0xEB4B, - 38560 - 11905: 0xEB4C, - 38561 - 11905: 0xEB4D, - 38562 - 11905: 0xEB4E, - 38563 - 11905: 0xEB4F, - 38564 - 11905: 0xEB50, - 38565 - 11905: 0xEB51, - 38566 - 11905: 0xEB52, - 38567 - 11905: 0xCBED, - 38568 - 11905: 0xEB53, - 38569 - 11905: 0xEB54, - 38570 - 11905: 0xEB55, - 38571 - 11905: 0xEB56, - 38572 - 11905: 0xEB57, - 38573 - 11905: 0xEB58, - 38574 - 11905: 0xEB59, - 38575 - 11905: 0xEB5A, - 38576 - 11905: 0xDAF4, - 38577 - 11905: 0xEB5B, - 38578 - 11905: 0xEB5C, - 38579 - 11905: 0xE3C4, - 38580 - 11905: 0xEB5D, - 38581 - 11905: 0xEB5E, - 38582 - 11905: 0xC1A5, - 38583 - 11905: 0xEB5F, - 38584 - 11905: 0xEB60, - 38585 - 11905: 0xF6BF, - 38586 - 11905: 0xEB61, - 38587 - 11905: 0xEB62, - 38588 - 11905: 0xF6C0, - 38589 - 11905: 0xF6C1, - 38590 - 11905: 0xC4D1, - 38591 - 11905: 0xEB63, - 38592 - 11905: 0xC8B8, - 38593 - 11905: 0xD1E3, - 38594 - 11905: 0xEB64, - 38595 - 11905: 0xEB65, - 38596 - 11905: 0xD0DB, - 38597 - 11905: 0xD1C5, - 38598 - 11905: 0xBCAF, - 38599 - 11905: 0xB9CD, - 38600 - 11905: 0xEB66, - 38601 - 11905: 0xEFF4, - 38602 - 11905: 0xEB67, - 38603 - 11905: 0xEB68, - 38604 - 11905: 0xB4C6, - 38605 - 11905: 0xD3BA, - 38606 - 11905: 0xF6C2, - 38607 - 11905: 0xB3FB, - 38608 - 11905: 0xEB69, - 38609 - 11905: 0xEB6A, - 38610 - 11905: 0xF6C3, - 38611 - 11905: 0xEB6B, - 38612 - 11905: 0xEB6C, - 38613 - 11905: 0xB5F1, - 38614 - 11905: 0xEB6D, - 38615 - 11905: 0xEB6E, - 38616 - 11905: 0xEB6F, - 38617 - 11905: 0xEB70, - 38618 - 11905: 0xEB71, - 38619 - 11905: 0xEB72, - 38620 - 11905: 0xEB73, - 38621 - 11905: 0xEB74, - 38622 - 11905: 0xEB75, - 38623 - 11905: 0xEB76, - 38624 - 11905: 0xF6C5, - 38625 - 11905: 0xEB77, - 38626 - 11905: 0xEB78, - 38627 - 11905: 0xEB79, - 38628 - 11905: 0xEB7A, - 38629 - 11905: 0xEB7B, - 38630 - 11905: 0xEB7C, - 38631 - 11905: 0xEB7D, - 38632 - 11905: 0xD3EA, - 38633 - 11905: 0xF6A7, - 38634 - 11905: 0xD1A9, - 38635 - 11905: 0xEB7E, - 38636 - 11905: 0xEB80, - 38637 - 11905: 0xEB81, - 38638 - 11905: 0xEB82, - 38639 - 11905: 0xF6A9, - 38640 - 11905: 0xEB83, - 38641 - 11905: 0xEB84, - 38642 - 11905: 0xEB85, - 38643 - 11905: 0xF6A8, - 38644 - 11905: 0xEB86, - 38645 - 11905: 0xEB87, - 38646 - 11905: 0xC1E3, - 38647 - 11905: 0xC0D7, - 38648 - 11905: 0xEB88, - 38649 - 11905: 0xB1A2, - 38650 - 11905: 0xEB89, - 38651 - 11905: 0xEB8A, - 38652 - 11905: 0xEB8B, - 38653 - 11905: 0xEB8C, - 38654 - 11905: 0xCEED, - 38655 - 11905: 0xEB8D, - 38656 - 11905: 0xD0E8, - 38657 - 11905: 0xF6AB, - 38658 - 11905: 0xEB8E, - 38659 - 11905: 0xEB8F, - 38660 - 11905: 0xCFF6, - 38661 - 11905: 0xEB90, - 38662 - 11905: 0xF6AA, - 38663 - 11905: 0xD5F0, - 38664 - 11905: 0xF6AC, - 38665 - 11905: 0xC3B9, - 38666 - 11905: 0xEB91, - 38667 - 11905: 0xEB92, - 38668 - 11905: 0xEB93, - 38669 - 11905: 0xBBF4, - 38670 - 11905: 0xF6AE, - 38671 - 11905: 0xF6AD, - 38672 - 11905: 0xEB94, - 38673 - 11905: 0xEB95, - 38674 - 11905: 0xEB96, - 38675 - 11905: 0xC4DE, - 38676 - 11905: 0xEB97, - 38677 - 11905: 0xEB98, - 38678 - 11905: 0xC1D8, - 38679 - 11905: 0xEB99, - 38680 - 11905: 0xEB9A, - 38681 - 11905: 0xEB9B, - 38682 - 11905: 0xEB9C, - 38683 - 11905: 0xEB9D, - 38684 - 11905: 0xCBAA, - 38685 - 11905: 0xEB9E, - 38686 - 11905: 0xCFBC, - 38687 - 11905: 0xEB9F, - 38688 - 11905: 0xEBA0, - 38689 - 11905: 0xEC40, - 38690 - 11905: 0xEC41, - 38691 - 11905: 0xEC42, - 38692 - 11905: 0xEC43, - 38693 - 11905: 0xEC44, - 38694 - 11905: 0xEC45, - 38695 - 11905: 0xEC46, - 38696 - 11905: 0xEC47, - 38697 - 11905: 0xEC48, - 38698 - 11905: 0xF6AF, - 38699 - 11905: 0xEC49, - 38700 - 11905: 0xEC4A, - 38701 - 11905: 0xF6B0, - 38702 - 11905: 0xEC4B, - 38703 - 11905: 0xEC4C, - 38704 - 11905: 0xF6B1, - 38705 - 11905: 0xEC4D, - 38706 - 11905: 0xC2B6, - 38707 - 11905: 0xEC4E, - 38708 - 11905: 0xEC4F, - 38709 - 11905: 0xEC50, - 38710 - 11905: 0xEC51, - 38711 - 11905: 0xEC52, - 38712 - 11905: 0xB0D4, - 38713 - 11905: 0xC5F9, - 38714 - 11905: 0xEC53, - 38715 - 11905: 0xEC54, - 38716 - 11905: 0xEC55, - 38717 - 11905: 0xEC56, - 38718 - 11905: 0xF6B2, - 38719 - 11905: 0xEC57, - 38720 - 11905: 0xEC58, - 38721 - 11905: 0xEC59, - 38722 - 11905: 0xEC5A, - 38723 - 11905: 0xEC5B, - 38724 - 11905: 0xEC5C, - 38725 - 11905: 0xEC5D, - 38726 - 11905: 0xEC5E, - 38727 - 11905: 0xEC5F, - 38728 - 11905: 0xEC60, - 38729 - 11905: 0xEC61, - 38730 - 11905: 0xEC62, - 38731 - 11905: 0xEC63, - 38732 - 11905: 0xEC64, - 38733 - 11905: 0xEC65, - 38734 - 11905: 0xEC66, - 38735 - 11905: 0xEC67, - 38736 - 11905: 0xEC68, - 38737 - 11905: 0xEC69, - 38738 - 11905: 0xC7E0, - 38739 - 11905: 0xF6A6, - 38740 - 11905: 0xEC6A, - 38741 - 11905: 0xEC6B, - 38742 - 11905: 0xBEB8, - 38743 - 11905: 0xEC6C, - 38744 - 11905: 0xEC6D, - 38745 - 11905: 0xBEB2, - 38746 - 11905: 0xEC6E, - 38747 - 11905: 0xB5E5, - 38748 - 11905: 0xEC6F, - 38749 - 11905: 0xEC70, - 38750 - 11905: 0xB7C7, - 38751 - 11905: 0xEC71, - 38752 - 11905: 0xBFBF, - 38753 - 11905: 0xC3D2, - 38754 - 11905: 0xC3E6, - 38755 - 11905: 0xEC72, - 38756 - 11905: 0xEC73, - 38757 - 11905: 0xD8CC, - 38758 - 11905: 0xEC74, - 38759 - 11905: 0xEC75, - 38760 - 11905: 0xEC76, - 38761 - 11905: 0xB8EF, - 38762 - 11905: 0xEC77, - 38763 - 11905: 0xEC78, - 38764 - 11905: 0xEC79, - 38765 - 11905: 0xEC7A, - 38766 - 11905: 0xEC7B, - 38767 - 11905: 0xEC7C, - 38768 - 11905: 0xEC7D, - 38769 - 11905: 0xEC7E, - 38770 - 11905: 0xEC80, - 38771 - 11905: 0xBDF9, - 38772 - 11905: 0xD1A5, - 38773 - 11905: 0xEC81, - 38774 - 11905: 0xB0D0, - 38775 - 11905: 0xEC82, - 38776 - 11905: 0xEC83, - 38777 - 11905: 0xEC84, - 38778 - 11905: 0xEC85, - 38779 - 11905: 0xEC86, - 38780 - 11905: 0xF7B0, - 38781 - 11905: 0xEC87, - 38782 - 11905: 0xEC88, - 38783 - 11905: 0xEC89, - 38784 - 11905: 0xEC8A, - 38785 - 11905: 0xEC8B, - 38786 - 11905: 0xEC8C, - 38787 - 11905: 0xEC8D, - 38788 - 11905: 0xEC8E, - 38789 - 11905: 0xF7B1, - 38790 - 11905: 0xEC8F, - 38791 - 11905: 0xEC90, - 38792 - 11905: 0xEC91, - 38793 - 11905: 0xEC92, - 38794 - 11905: 0xEC93, - 38795 - 11905: 0xD0AC, - 38796 - 11905: 0xEC94, - 38797 - 11905: 0xB0B0, - 38798 - 11905: 0xEC95, - 38799 - 11905: 0xEC96, - 38800 - 11905: 0xEC97, - 38801 - 11905: 0xF7B2, - 38802 - 11905: 0xF7B3, - 38803 - 11905: 0xEC98, - 38804 - 11905: 0xF7B4, - 38805 - 11905: 0xEC99, - 38806 - 11905: 0xEC9A, - 38807 - 11905: 0xEC9B, - 38808 - 11905: 0xC7CA, - 38809 - 11905: 0xEC9C, - 38810 - 11905: 0xEC9D, - 38811 - 11905: 0xEC9E, - 38812 - 11905: 0xEC9F, - 38813 - 11905: 0xECA0, - 38814 - 11905: 0xED40, - 38815 - 11905: 0xED41, - 38816 - 11905: 0xBECF, - 38817 - 11905: 0xED42, - 38818 - 11905: 0xED43, - 38819 - 11905: 0xF7B7, - 38820 - 11905: 0xED44, - 38821 - 11905: 0xED45, - 38822 - 11905: 0xED46, - 38823 - 11905: 0xED47, - 38824 - 11905: 0xED48, - 38825 - 11905: 0xED49, - 38826 - 11905: 0xED4A, - 38827 - 11905: 0xF7B6, - 38828 - 11905: 0xED4B, - 38829 - 11905: 0xB1DE, - 38830 - 11905: 0xED4C, - 38831 - 11905: 0xF7B5, - 38832 - 11905: 0xED4D, - 38833 - 11905: 0xED4E, - 38834 - 11905: 0xF7B8, - 38835 - 11905: 0xED4F, - 38836 - 11905: 0xF7B9, - 38837 - 11905: 0xED50, - 38838 - 11905: 0xED51, - 38839 - 11905: 0xED52, - 38840 - 11905: 0xED53, - 38841 - 11905: 0xED54, - 38842 - 11905: 0xED55, - 38843 - 11905: 0xED56, - 38844 - 11905: 0xED57, - 38845 - 11905: 0xED58, - 38846 - 11905: 0xED59, - 38847 - 11905: 0xED5A, - 38848 - 11905: 0xED5B, - 38849 - 11905: 0xED5C, - 38850 - 11905: 0xED5D, - 38851 - 11905: 0xED5E, - 38852 - 11905: 0xED5F, - 38853 - 11905: 0xED60, - 38854 - 11905: 0xED61, - 38855 - 11905: 0xED62, - 38856 - 11905: 0xED63, - 38857 - 11905: 0xED64, - 38858 - 11905: 0xED65, - 38859 - 11905: 0xED66, - 38860 - 11905: 0xED67, - 38861 - 11905: 0xED68, - 38862 - 11905: 0xED69, - 38863 - 11905: 0xED6A, - 38864 - 11905: 0xED6B, - 38865 - 11905: 0xED6C, - 38866 - 11905: 0xED6D, - 38867 - 11905: 0xED6E, - 38868 - 11905: 0xED6F, - 38869 - 11905: 0xED70, - 38870 - 11905: 0xED71, - 38871 - 11905: 0xED72, - 38872 - 11905: 0xED73, - 38873 - 11905: 0xED74, - 38874 - 11905: 0xED75, - 38875 - 11905: 0xED76, - 38876 - 11905: 0xED77, - 38877 - 11905: 0xED78, - 38878 - 11905: 0xED79, - 38879 - 11905: 0xED7A, - 38880 - 11905: 0xED7B, - 38881 - 11905: 0xED7C, - 38882 - 11905: 0xED7D, - 38883 - 11905: 0xED7E, - 38884 - 11905: 0xED80, - 38885 - 11905: 0xED81, - 38886 - 11905: 0xCEA4, - 38887 - 11905: 0xC8CD, - 38888 - 11905: 0xED82, - 38889 - 11905: 0xBAAB, - 38890 - 11905: 0xE8B8, - 38891 - 11905: 0xE8B9, - 38892 - 11905: 0xE8BA, - 38893 - 11905: 0xBEC2, - 38894 - 11905: 0xED83, - 38895 - 11905: 0xED84, - 38896 - 11905: 0xED85, - 38897 - 11905: 0xED86, - 38898 - 11905: 0xED87, - 38899 - 11905: 0xD2F4, - 38900 - 11905: 0xED88, - 38901 - 11905: 0xD4CF, - 38902 - 11905: 0xC9D8, - 38903 - 11905: 0xED89, - 38904 - 11905: 0xED8A, - 38905 - 11905: 0xED8B, - 38906 - 11905: 0xED8C, - 38907 - 11905: 0xED8D, - 38908 - 11905: 0xED8E, - 38909 - 11905: 0xED8F, - 38910 - 11905: 0xED90, - 38911 - 11905: 0xED91, - 38912 - 11905: 0xED92, - 38913 - 11905: 0xED93, - 38914 - 11905: 0xED94, - 38915 - 11905: 0xED95, - 38916 - 11905: 0xED96, - 38917 - 11905: 0xED97, - 38918 - 11905: 0xED98, - 38919 - 11905: 0xED99, - 38920 - 11905: 0xED9A, - 38921 - 11905: 0xED9B, - 38922 - 11905: 0xED9C, - 38923 - 11905: 0xED9D, - 38924 - 11905: 0xED9E, - 38925 - 11905: 0xED9F, - 38926 - 11905: 0xEDA0, - 38927 - 11905: 0xEE40, - 38928 - 11905: 0xEE41, - 38929 - 11905: 0xEE42, - 38930 - 11905: 0xEE43, - 38931 - 11905: 0xEE44, - 38932 - 11905: 0xEE45, - 38933 - 11905: 0xEE46, - 38934 - 11905: 0xEE47, - 38935 - 11905: 0xEE48, - 38936 - 11905: 0xEE49, - 38937 - 11905: 0xEE4A, - 38938 - 11905: 0xEE4B, - 38939 - 11905: 0xEE4C, - 38940 - 11905: 0xEE4D, - 38941 - 11905: 0xEE4E, - 38942 - 11905: 0xEE4F, - 38943 - 11905: 0xEE50, - 38944 - 11905: 0xEE51, - 38945 - 11905: 0xEE52, - 38946 - 11905: 0xEE53, - 38947 - 11905: 0xEE54, - 38948 - 11905: 0xEE55, - 38949 - 11905: 0xEE56, - 38950 - 11905: 0xEE57, - 38951 - 11905: 0xEE58, - 38952 - 11905: 0xEE59, - 38953 - 11905: 0xEE5A, - 38954 - 11905: 0xEE5B, - 38955 - 11905: 0xEE5C, - 38956 - 11905: 0xEE5D, - 38957 - 11905: 0xEE5E, - 38958 - 11905: 0xEE5F, - 38959 - 11905: 0xEE60, - 38960 - 11905: 0xEE61, - 38961 - 11905: 0xEE62, - 38962 - 11905: 0xEE63, - 38963 - 11905: 0xEE64, - 38964 - 11905: 0xEE65, - 38965 - 11905: 0xEE66, - 38966 - 11905: 0xEE67, - 38967 - 11905: 0xEE68, - 38968 - 11905: 0xEE69, - 38969 - 11905: 0xEE6A, - 38970 - 11905: 0xEE6B, - 38971 - 11905: 0xEE6C, - 38972 - 11905: 0xEE6D, - 38973 - 11905: 0xEE6E, - 38974 - 11905: 0xEE6F, - 38975 - 11905: 0xEE70, - 38976 - 11905: 0xEE71, - 38977 - 11905: 0xEE72, - 38978 - 11905: 0xEE73, - 38979 - 11905: 0xEE74, - 38980 - 11905: 0xEE75, - 38981 - 11905: 0xEE76, - 38982 - 11905: 0xEE77, - 38983 - 11905: 0xEE78, - 38984 - 11905: 0xEE79, - 38985 - 11905: 0xEE7A, - 38986 - 11905: 0xEE7B, - 38987 - 11905: 0xEE7C, - 38988 - 11905: 0xEE7D, - 38989 - 11905: 0xEE7E, - 38990 - 11905: 0xEE80, - 38991 - 11905: 0xEE81, - 38992 - 11905: 0xEE82, - 38993 - 11905: 0xEE83, - 38994 - 11905: 0xEE84, - 38995 - 11905: 0xEE85, - 38996 - 11905: 0xEE86, - 38997 - 11905: 0xEE87, - 38998 - 11905: 0xEE88, - 38999 - 11905: 0xEE89, - 39000 - 11905: 0xEE8A, - 39001 - 11905: 0xEE8B, - 39002 - 11905: 0xEE8C, - 39003 - 11905: 0xEE8D, - 39004 - 11905: 0xEE8E, - 39005 - 11905: 0xEE8F, - 39006 - 11905: 0xEE90, - 39007 - 11905: 0xEE91, - 39008 - 11905: 0xEE92, - 39009 - 11905: 0xEE93, - 39010 - 11905: 0xEE94, - 39011 - 11905: 0xEE95, - 39012 - 11905: 0xEE96, - 39013 - 11905: 0xEE97, - 39014 - 11905: 0xEE98, - 39015 - 11905: 0xEE99, - 39016 - 11905: 0xEE9A, - 39017 - 11905: 0xEE9B, - 39018 - 11905: 0xEE9C, - 39019 - 11905: 0xEE9D, - 39020 - 11905: 0xEE9E, - 39021 - 11905: 0xEE9F, - 39022 - 11905: 0xEEA0, - 39023 - 11905: 0xEF40, - 39024 - 11905: 0xEF41, - 39025 - 11905: 0xEF42, - 39026 - 11905: 0xEF43, - 39027 - 11905: 0xEF44, - 39028 - 11905: 0xEF45, - 39029 - 11905: 0xD2B3, - 39030 - 11905: 0xB6A5, - 39031 - 11905: 0xC7EA, - 39032 - 11905: 0xF1FC, - 39033 - 11905: 0xCFEE, - 39034 - 11905: 0xCBB3, - 39035 - 11905: 0xD0EB, - 39036 - 11905: 0xE7EF, - 39037 - 11905: 0xCDE7, - 39038 - 11905: 0xB9CB, - 39039 - 11905: 0xB6D9, - 39040 - 11905: 0xF1FD, - 39041 - 11905: 0xB0E4, - 39042 - 11905: 0xCBCC, - 39043 - 11905: 0xF1FE, - 39044 - 11905: 0xD4A4, - 39045 - 11905: 0xC2AD, - 39046 - 11905: 0xC1EC, - 39047 - 11905: 0xC6C4, - 39048 - 11905: 0xBEB1, - 39049 - 11905: 0xF2A1, - 39050 - 11905: 0xBCD5, - 39051 - 11905: 0xEF46, - 39052 - 11905: 0xF2A2, - 39053 - 11905: 0xF2A3, - 39054 - 11905: 0xEF47, - 39055 - 11905: 0xF2A4, - 39056 - 11905: 0xD2C3, - 39057 - 11905: 0xC6B5, - 39058 - 11905: 0xEF48, - 39059 - 11905: 0xCDC7, - 39060 - 11905: 0xF2A5, - 39061 - 11905: 0xEF49, - 39062 - 11905: 0xD3B1, - 39063 - 11905: 0xBFC5, - 39064 - 11905: 0xCCE2, - 39065 - 11905: 0xEF4A, - 39066 - 11905: 0xF2A6, - 39067 - 11905: 0xF2A7, - 39068 - 11905: 0xD1D5, - 39069 - 11905: 0xB6EE, - 39070 - 11905: 0xF2A8, - 39071 - 11905: 0xF2A9, - 39072 - 11905: 0xB5DF, - 39073 - 11905: 0xF2AA, - 39074 - 11905: 0xF2AB, - 39075 - 11905: 0xEF4B, - 39076 - 11905: 0xB2FC, - 39077 - 11905: 0xF2AC, - 39078 - 11905: 0xF2AD, - 39079 - 11905: 0xC8A7, - 39080 - 11905: 0xEF4C, - 39081 - 11905: 0xEF4D, - 39082 - 11905: 0xEF4E, - 39083 - 11905: 0xEF4F, - 39084 - 11905: 0xEF50, - 39085 - 11905: 0xEF51, - 39086 - 11905: 0xEF52, - 39087 - 11905: 0xEF53, - 39088 - 11905: 0xEF54, - 39089 - 11905: 0xEF55, - 39090 - 11905: 0xEF56, - 39091 - 11905: 0xEF57, - 39092 - 11905: 0xEF58, - 39093 - 11905: 0xEF59, - 39094 - 11905: 0xEF5A, - 39095 - 11905: 0xEF5B, - 39096 - 11905: 0xEF5C, - 39097 - 11905: 0xEF5D, - 39098 - 11905: 0xEF5E, - 39099 - 11905: 0xEF5F, - 39100 - 11905: 0xEF60, - 39101 - 11905: 0xEF61, - 39102 - 11905: 0xEF62, - 39103 - 11905: 0xEF63, - 39104 - 11905: 0xEF64, - 39105 - 11905: 0xEF65, - 39106 - 11905: 0xEF66, - 39107 - 11905: 0xEF67, - 39108 - 11905: 0xEF68, - 39109 - 11905: 0xEF69, - 39110 - 11905: 0xEF6A, - 39111 - 11905: 0xEF6B, - 39112 - 11905: 0xEF6C, - 39113 - 11905: 0xEF6D, - 39114 - 11905: 0xEF6E, - 39115 - 11905: 0xEF6F, - 39116 - 11905: 0xEF70, - 39117 - 11905: 0xEF71, - 39118 - 11905: 0xB7E7, - 39119 - 11905: 0xEF72, - 39120 - 11905: 0xEF73, - 39121 - 11905: 0xECA9, - 39122 - 11905: 0xECAA, - 39123 - 11905: 0xECAB, - 39124 - 11905: 0xEF74, - 39125 - 11905: 0xECAC, - 39126 - 11905: 0xEF75, - 39127 - 11905: 0xEF76, - 39128 - 11905: 0xC6AE, - 39129 - 11905: 0xECAD, - 39130 - 11905: 0xECAE, - 39131 - 11905: 0xEF77, - 39132 - 11905: 0xEF78, - 39133 - 11905: 0xEF79, - 39134 - 11905: 0xB7C9, - 39135 - 11905: 0xCAB3, - 39136 - 11905: 0xEF7A, - 39137 - 11905: 0xEF7B, - 39138 - 11905: 0xEF7C, - 39139 - 11905: 0xEF7D, - 39140 - 11905: 0xEF7E, - 39141 - 11905: 0xEF80, - 39142 - 11905: 0xEF81, - 39143 - 11905: 0xE2B8, - 39144 - 11905: 0xF7CF, - 39145 - 11905: 0xEF82, - 39146 - 11905: 0xEF83, - 39147 - 11905: 0xEF84, - 39148 - 11905: 0xEF85, - 39149 - 11905: 0xEF86, - 39150 - 11905: 0xEF87, - 39151 - 11905: 0xEF88, - 39152 - 11905: 0xEF89, - 39153 - 11905: 0xEF8A, - 39154 - 11905: 0xEF8B, - 39155 - 11905: 0xEF8C, - 39156 - 11905: 0xEF8D, - 39157 - 11905: 0xEF8E, - 39158 - 11905: 0xEF8F, - 39159 - 11905: 0xEF90, - 39160 - 11905: 0xEF91, - 39161 - 11905: 0xEF92, - 39162 - 11905: 0xEF93, - 39163 - 11905: 0xEF94, - 39164 - 11905: 0xEF95, - 39165 - 11905: 0xEF96, - 39166 - 11905: 0xEF97, - 39167 - 11905: 0xEF98, - 39168 - 11905: 0xEF99, - 39169 - 11905: 0xEF9A, - 39170 - 11905: 0xEF9B, - 39171 - 11905: 0xEF9C, - 39172 - 11905: 0xEF9D, - 39173 - 11905: 0xEF9E, - 39174 - 11905: 0xEF9F, - 39175 - 11905: 0xEFA0, - 39176 - 11905: 0xF040, - 39177 - 11905: 0xF041, - 39178 - 11905: 0xF042, - 39179 - 11905: 0xF043, - 39180 - 11905: 0xF044, - 39181 - 11905: 0xF7D0, - 39182 - 11905: 0xF045, - 39183 - 11905: 0xF046, - 39184 - 11905: 0xB2CD, - 39185 - 11905: 0xF047, - 39186 - 11905: 0xF048, - 39187 - 11905: 0xF049, - 39188 - 11905: 0xF04A, - 39189 - 11905: 0xF04B, - 39190 - 11905: 0xF04C, - 39191 - 11905: 0xF04D, - 39192 - 11905: 0xF04E, - 39193 - 11905: 0xF04F, - 39194 - 11905: 0xF050, - 39195 - 11905: 0xF051, - 39196 - 11905: 0xF052, - 39197 - 11905: 0xF053, - 39198 - 11905: 0xF054, - 39199 - 11905: 0xF055, - 39200 - 11905: 0xF056, - 39201 - 11905: 0xF057, - 39202 - 11905: 0xF058, - 39203 - 11905: 0xF059, - 39204 - 11905: 0xF05A, - 39205 - 11905: 0xF05B, - 39206 - 11905: 0xF05C, - 39207 - 11905: 0xF05D, - 39208 - 11905: 0xF05E, - 39209 - 11905: 0xF05F, - 39210 - 11905: 0xF060, - 39211 - 11905: 0xF061, - 39212 - 11905: 0xF062, - 39213 - 11905: 0xF063, - 39214 - 11905: 0xF7D1, - 39215 - 11905: 0xF064, - 39216 - 11905: 0xF065, - 39217 - 11905: 0xF066, - 39218 - 11905: 0xF067, - 39219 - 11905: 0xF068, - 39220 - 11905: 0xF069, - 39221 - 11905: 0xF06A, - 39222 - 11905: 0xF06B, - 39223 - 11905: 0xF06C, - 39224 - 11905: 0xF06D, - 39225 - 11905: 0xF06E, - 39226 - 11905: 0xF06F, - 39227 - 11905: 0xF070, - 39228 - 11905: 0xF071, - 39229 - 11905: 0xF072, - 39230 - 11905: 0xF073, - 39231 - 11905: 0xF074, - 39232 - 11905: 0xF075, - 39233 - 11905: 0xF076, - 39234 - 11905: 0xF077, - 39235 - 11905: 0xF078, - 39236 - 11905: 0xF079, - 39237 - 11905: 0xF07A, - 39238 - 11905: 0xF07B, - 39239 - 11905: 0xF07C, - 39240 - 11905: 0xF07D, - 39241 - 11905: 0xF07E, - 39242 - 11905: 0xF080, - 39243 - 11905: 0xF081, - 39244 - 11905: 0xF082, - 39245 - 11905: 0xF083, - 39246 - 11905: 0xF084, - 39247 - 11905: 0xF085, - 39248 - 11905: 0xF086, - 39249 - 11905: 0xF087, - 39250 - 11905: 0xF088, - 39251 - 11905: 0xF089, - 39252 - 11905: 0xF7D3, - 39253 - 11905: 0xF7D2, - 39254 - 11905: 0xF08A, - 39255 - 11905: 0xF08B, - 39256 - 11905: 0xF08C, - 39257 - 11905: 0xF08D, - 39258 - 11905: 0xF08E, - 39259 - 11905: 0xF08F, - 39260 - 11905: 0xF090, - 39261 - 11905: 0xF091, - 39262 - 11905: 0xF092, - 39263 - 11905: 0xF093, - 39264 - 11905: 0xF094, - 39265 - 11905: 0xF095, - 39266 - 11905: 0xF096, - 39267 - 11905: 0xE2BB, - 39268 - 11905: 0xF097, - 39269 - 11905: 0xBCA2, - 39270 - 11905: 0xF098, - 39271 - 11905: 0xE2BC, - 39272 - 11905: 0xE2BD, - 39273 - 11905: 0xE2BE, - 39274 - 11905: 0xE2BF, - 39275 - 11905: 0xE2C0, - 39276 - 11905: 0xE2C1, - 39277 - 11905: 0xB7B9, - 39278 - 11905: 0xD2FB, - 39279 - 11905: 0xBDA4, - 39280 - 11905: 0xCACE, - 39281 - 11905: 0xB1A5, - 39282 - 11905: 0xCBC7, - 39283 - 11905: 0xF099, - 39284 - 11905: 0xE2C2, - 39285 - 11905: 0xB6FC, - 39286 - 11905: 0xC8C4, - 39287 - 11905: 0xE2C3, - 39288 - 11905: 0xF09A, - 39289 - 11905: 0xF09B, - 39290 - 11905: 0xBDC8, - 39291 - 11905: 0xF09C, - 39292 - 11905: 0xB1FD, - 39293 - 11905: 0xE2C4, - 39294 - 11905: 0xF09D, - 39295 - 11905: 0xB6F6, - 39296 - 11905: 0xE2C5, - 39297 - 11905: 0xC4D9, - 39298 - 11905: 0xF09E, - 39299 - 11905: 0xF09F, - 39300 - 11905: 0xE2C6, - 39301 - 11905: 0xCFDA, - 39302 - 11905: 0xB9DD, - 39303 - 11905: 0xE2C7, - 39304 - 11905: 0xC0A1, - 39305 - 11905: 0xF0A0, - 39306 - 11905: 0xE2C8, - 39307 - 11905: 0xB2F6, - 39308 - 11905: 0xF140, - 39309 - 11905: 0xE2C9, - 39310 - 11905: 0xF141, - 39311 - 11905: 0xC1F3, - 39312 - 11905: 0xE2CA, - 39313 - 11905: 0xE2CB, - 39314 - 11905: 0xC2F8, - 39315 - 11905: 0xE2CC, - 39316 - 11905: 0xE2CD, - 39317 - 11905: 0xE2CE, - 39318 - 11905: 0xCAD7, - 39319 - 11905: 0xD8B8, - 39320 - 11905: 0xD9E5, - 39321 - 11905: 0xCFE3, - 39322 - 11905: 0xF142, - 39323 - 11905: 0xF143, - 39324 - 11905: 0xF144, - 39325 - 11905: 0xF145, - 39326 - 11905: 0xF146, - 39327 - 11905: 0xF147, - 39328 - 11905: 0xF148, - 39329 - 11905: 0xF149, - 39330 - 11905: 0xF14A, - 39331 - 11905: 0xF14B, - 39332 - 11905: 0xF14C, - 39333 - 11905: 0xF0A5, - 39334 - 11905: 0xF14D, - 39335 - 11905: 0xF14E, - 39336 - 11905: 0xDCB0, - 39337 - 11905: 0xF14F, - 39338 - 11905: 0xF150, - 39339 - 11905: 0xF151, - 39340 - 11905: 0xF152, - 39341 - 11905: 0xF153, - 39342 - 11905: 0xF154, - 39343 - 11905: 0xF155, - 39344 - 11905: 0xF156, - 39345 - 11905: 0xF157, - 39346 - 11905: 0xF158, - 39347 - 11905: 0xF159, - 39348 - 11905: 0xF15A, - 39349 - 11905: 0xF15B, - 39350 - 11905: 0xF15C, - 39351 - 11905: 0xF15D, - 39352 - 11905: 0xF15E, - 39353 - 11905: 0xF15F, - 39354 - 11905: 0xF160, - 39355 - 11905: 0xF161, - 39356 - 11905: 0xF162, - 39357 - 11905: 0xF163, - 39358 - 11905: 0xF164, - 39359 - 11905: 0xF165, - 39360 - 11905: 0xF166, - 39361 - 11905: 0xF167, - 39362 - 11905: 0xF168, - 39363 - 11905: 0xF169, - 39364 - 11905: 0xF16A, - 39365 - 11905: 0xF16B, - 39366 - 11905: 0xF16C, - 39367 - 11905: 0xF16D, - 39368 - 11905: 0xF16E, - 39369 - 11905: 0xF16F, - 39370 - 11905: 0xF170, - 39371 - 11905: 0xF171, - 39372 - 11905: 0xF172, - 39373 - 11905: 0xF173, - 39374 - 11905: 0xF174, - 39375 - 11905: 0xF175, - 39376 - 11905: 0xF176, - 39377 - 11905: 0xF177, - 39378 - 11905: 0xF178, - 39379 - 11905: 0xF179, - 39380 - 11905: 0xF17A, - 39381 - 11905: 0xF17B, - 39382 - 11905: 0xF17C, - 39383 - 11905: 0xF17D, - 39384 - 11905: 0xF17E, - 39385 - 11905: 0xF180, - 39386 - 11905: 0xF181, - 39387 - 11905: 0xF182, - 39388 - 11905: 0xF183, - 39389 - 11905: 0xF184, - 39390 - 11905: 0xF185, - 39391 - 11905: 0xF186, - 39392 - 11905: 0xF187, - 39393 - 11905: 0xF188, - 39394 - 11905: 0xF189, - 39395 - 11905: 0xF18A, - 39396 - 11905: 0xF18B, - 39397 - 11905: 0xF18C, - 39398 - 11905: 0xF18D, - 39399 - 11905: 0xF18E, - 39400 - 11905: 0xF18F, - 39401 - 11905: 0xF190, - 39402 - 11905: 0xF191, - 39403 - 11905: 0xF192, - 39404 - 11905: 0xF193, - 39405 - 11905: 0xF194, - 39406 - 11905: 0xF195, - 39407 - 11905: 0xF196, - 39408 - 11905: 0xF197, - 39409 - 11905: 0xF198, - 39410 - 11905: 0xF199, - 39411 - 11905: 0xF19A, - 39412 - 11905: 0xF19B, - 39413 - 11905: 0xF19C, - 39414 - 11905: 0xF19D, - 39415 - 11905: 0xF19E, - 39416 - 11905: 0xF19F, - 39417 - 11905: 0xF1A0, - 39418 - 11905: 0xF240, - 39419 - 11905: 0xF241, - 39420 - 11905: 0xF242, - 39421 - 11905: 0xF243, - 39422 - 11905: 0xF244, - 39423 - 11905: 0xF245, - 39424 - 11905: 0xF246, - 39425 - 11905: 0xF247, - 39426 - 11905: 0xF248, - 39427 - 11905: 0xF249, - 39428 - 11905: 0xF24A, - 39429 - 11905: 0xF24B, - 39430 - 11905: 0xF24C, - 39431 - 11905: 0xF24D, - 39432 - 11905: 0xF24E, - 39433 - 11905: 0xF24F, - 39434 - 11905: 0xF250, - 39435 - 11905: 0xF251, - 39436 - 11905: 0xF252, - 39437 - 11905: 0xF253, - 39438 - 11905: 0xF254, - 39439 - 11905: 0xF255, - 39440 - 11905: 0xF256, - 39441 - 11905: 0xF257, - 39442 - 11905: 0xF258, - 39443 - 11905: 0xF259, - 39444 - 11905: 0xF25A, - 39445 - 11905: 0xF25B, - 39446 - 11905: 0xF25C, - 39447 - 11905: 0xF25D, - 39448 - 11905: 0xF25E, - 39449 - 11905: 0xF25F, - 39450 - 11905: 0xF260, - 39451 - 11905: 0xF261, - 39452 - 11905: 0xF262, - 39453 - 11905: 0xF263, - 39454 - 11905: 0xF264, - 39455 - 11905: 0xF265, - 39456 - 11905: 0xF266, - 39457 - 11905: 0xF267, - 39458 - 11905: 0xF268, - 39459 - 11905: 0xF269, - 39460 - 11905: 0xF26A, - 39461 - 11905: 0xF26B, - 39462 - 11905: 0xF26C, - 39463 - 11905: 0xF26D, - 39464 - 11905: 0xF26E, - 39465 - 11905: 0xF26F, - 39466 - 11905: 0xF270, - 39467 - 11905: 0xF271, - 39468 - 11905: 0xF272, - 39469 - 11905: 0xF273, - 39470 - 11905: 0xF274, - 39471 - 11905: 0xF275, - 39472 - 11905: 0xF276, - 39473 - 11905: 0xF277, - 39474 - 11905: 0xF278, - 39475 - 11905: 0xF279, - 39476 - 11905: 0xF27A, - 39477 - 11905: 0xF27B, - 39478 - 11905: 0xF27C, - 39479 - 11905: 0xF27D, - 39480 - 11905: 0xF27E, - 39481 - 11905: 0xF280, - 39482 - 11905: 0xF281, - 39483 - 11905: 0xF282, - 39484 - 11905: 0xF283, - 39485 - 11905: 0xF284, - 39486 - 11905: 0xF285, - 39487 - 11905: 0xF286, - 39488 - 11905: 0xF287, - 39489 - 11905: 0xF288, - 39490 - 11905: 0xF289, - 39491 - 11905: 0xF28A, - 39492 - 11905: 0xF28B, - 39493 - 11905: 0xF28C, - 39494 - 11905: 0xF28D, - 39495 - 11905: 0xF28E, - 39496 - 11905: 0xF28F, - 39497 - 11905: 0xF290, - 39498 - 11905: 0xF291, - 39499 - 11905: 0xF292, - 39500 - 11905: 0xF293, - 39501 - 11905: 0xF294, - 39502 - 11905: 0xF295, - 39503 - 11905: 0xF296, - 39504 - 11905: 0xF297, - 39505 - 11905: 0xF298, - 39506 - 11905: 0xF299, - 39507 - 11905: 0xF29A, - 39508 - 11905: 0xF29B, - 39509 - 11905: 0xF29C, - 39510 - 11905: 0xF29D, - 39511 - 11905: 0xF29E, - 39512 - 11905: 0xF29F, - 39513 - 11905: 0xF2A0, - 39514 - 11905: 0xF340, - 39515 - 11905: 0xF341, - 39516 - 11905: 0xF342, - 39517 - 11905: 0xF343, - 39518 - 11905: 0xF344, - 39519 - 11905: 0xF345, - 39520 - 11905: 0xF346, - 39521 - 11905: 0xF347, - 39522 - 11905: 0xF348, - 39523 - 11905: 0xF349, - 39524 - 11905: 0xF34A, - 39525 - 11905: 0xF34B, - 39526 - 11905: 0xF34C, - 39527 - 11905: 0xF34D, - 39528 - 11905: 0xF34E, - 39529 - 11905: 0xF34F, - 39530 - 11905: 0xF350, - 39531 - 11905: 0xF351, - 39532 - 11905: 0xC2ED, - 39533 - 11905: 0xD4A6, - 39534 - 11905: 0xCDD4, - 39535 - 11905: 0xD1B1, - 39536 - 11905: 0xB3DB, - 39537 - 11905: 0xC7FD, - 39538 - 11905: 0xF352, - 39539 - 11905: 0xB2B5, - 39540 - 11905: 0xC2BF, - 39541 - 11905: 0xE6E0, - 39542 - 11905: 0xCABB, - 39543 - 11905: 0xE6E1, - 39544 - 11905: 0xE6E2, - 39545 - 11905: 0xBED4, - 39546 - 11905: 0xE6E3, - 39547 - 11905: 0xD7A4, - 39548 - 11905: 0xCDD5, - 39549 - 11905: 0xE6E5, - 39550 - 11905: 0xBCDD, - 39551 - 11905: 0xE6E4, - 39552 - 11905: 0xE6E6, - 39553 - 11905: 0xE6E7, - 39554 - 11905: 0xC2EE, - 39555 - 11905: 0xF353, - 39556 - 11905: 0xBDBE, - 39557 - 11905: 0xE6E8, - 39558 - 11905: 0xC2E6, - 39559 - 11905: 0xBAA7, - 39560 - 11905: 0xE6E9, - 39561 - 11905: 0xF354, - 39562 - 11905: 0xE6EA, - 39563 - 11905: 0xB3D2, - 39564 - 11905: 0xD1E9, - 39565 - 11905: 0xF355, - 39566 - 11905: 0xF356, - 39567 - 11905: 0xBFA5, - 39568 - 11905: 0xE6EB, - 39569 - 11905: 0xC6EF, - 39570 - 11905: 0xE6EC, - 39571 - 11905: 0xE6ED, - 39572 - 11905: 0xF357, - 39573 - 11905: 0xF358, - 39574 - 11905: 0xE6EE, - 39575 - 11905: 0xC6AD, - 39576 - 11905: 0xE6EF, - 39577 - 11905: 0xF359, - 39578 - 11905: 0xC9A7, - 39579 - 11905: 0xE6F0, - 39580 - 11905: 0xE6F1, - 39581 - 11905: 0xE6F2, - 39582 - 11905: 0xE5B9, - 39583 - 11905: 0xE6F3, - 39584 - 11905: 0xE6F4, - 39585 - 11905: 0xC2E2, - 39586 - 11905: 0xE6F5, - 39587 - 11905: 0xE6F6, - 39588 - 11905: 0xD6E8, - 39589 - 11905: 0xE6F7, - 39590 - 11905: 0xF35A, - 39591 - 11905: 0xE6F8, - 39592 - 11905: 0xB9C7, - 39593 - 11905: 0xF35B, - 39594 - 11905: 0xF35C, - 39595 - 11905: 0xF35D, - 39596 - 11905: 0xF35E, - 39597 - 11905: 0xF35F, - 39598 - 11905: 0xF360, - 39599 - 11905: 0xF361, - 39600 - 11905: 0xF7BB, - 39601 - 11905: 0xF7BA, - 39602 - 11905: 0xF362, - 39603 - 11905: 0xF363, - 39604 - 11905: 0xF364, - 39605 - 11905: 0xF365, - 39606 - 11905: 0xF7BE, - 39607 - 11905: 0xF7BC, - 39608 - 11905: 0xBAA1, - 39609 - 11905: 0xF366, - 39610 - 11905: 0xF7BF, - 39611 - 11905: 0xF367, - 39612 - 11905: 0xF7C0, - 39613 - 11905: 0xF368, - 39614 - 11905: 0xF369, - 39615 - 11905: 0xF36A, - 39616 - 11905: 0xF7C2, - 39617 - 11905: 0xF7C1, - 39618 - 11905: 0xF7C4, - 39619 - 11905: 0xF36B, - 39620 - 11905: 0xF36C, - 39621 - 11905: 0xF7C3, - 39622 - 11905: 0xF36D, - 39623 - 11905: 0xF36E, - 39624 - 11905: 0xF36F, - 39625 - 11905: 0xF370, - 39626 - 11905: 0xF371, - 39627 - 11905: 0xF7C5, - 39628 - 11905: 0xF7C6, - 39629 - 11905: 0xF372, - 39630 - 11905: 0xF373, - 39631 - 11905: 0xF374, - 39632 - 11905: 0xF375, - 39633 - 11905: 0xF7C7, - 39634 - 11905: 0xF376, - 39635 - 11905: 0xCBE8, - 39636 - 11905: 0xF377, - 39637 - 11905: 0xF378, - 39638 - 11905: 0xF379, - 39639 - 11905: 0xF37A, - 39640 - 11905: 0xB8DF, - 39641 - 11905: 0xF37B, - 39642 - 11905: 0xF37C, - 39643 - 11905: 0xF37D, - 39644 - 11905: 0xF37E, - 39645 - 11905: 0xF380, - 39646 - 11905: 0xF381, - 39647 - 11905: 0xF7D4, - 39648 - 11905: 0xF382, - 39649 - 11905: 0xF7D5, - 39650 - 11905: 0xF383, - 39651 - 11905: 0xF384, - 39652 - 11905: 0xF385, - 39653 - 11905: 0xF386, - 39654 - 11905: 0xF7D6, - 39655 - 11905: 0xF387, - 39656 - 11905: 0xF388, - 39657 - 11905: 0xF389, - 39658 - 11905: 0xF38A, - 39659 - 11905: 0xF7D8, - 39660 - 11905: 0xF38B, - 39661 - 11905: 0xF7DA, - 39662 - 11905: 0xF38C, - 39663 - 11905: 0xF7D7, - 39664 - 11905: 0xF38D, - 39665 - 11905: 0xF38E, - 39666 - 11905: 0xF38F, - 39667 - 11905: 0xF390, - 39668 - 11905: 0xF391, - 39669 - 11905: 0xF392, - 39670 - 11905: 0xF393, - 39671 - 11905: 0xF394, - 39672 - 11905: 0xF395, - 39673 - 11905: 0xF7DB, - 39674 - 11905: 0xF396, - 39675 - 11905: 0xF7D9, - 39676 - 11905: 0xF397, - 39677 - 11905: 0xF398, - 39678 - 11905: 0xF399, - 39679 - 11905: 0xF39A, - 39680 - 11905: 0xF39B, - 39681 - 11905: 0xF39C, - 39682 - 11905: 0xF39D, - 39683 - 11905: 0xD7D7, - 39684 - 11905: 0xF39E, - 39685 - 11905: 0xF39F, - 39686 - 11905: 0xF3A0, - 39687 - 11905: 0xF440, - 39688 - 11905: 0xF7DC, - 39689 - 11905: 0xF441, - 39690 - 11905: 0xF442, - 39691 - 11905: 0xF443, - 39692 - 11905: 0xF444, - 39693 - 11905: 0xF445, - 39694 - 11905: 0xF446, - 39695 - 11905: 0xF7DD, - 39696 - 11905: 0xF447, - 39697 - 11905: 0xF448, - 39698 - 11905: 0xF449, - 39699 - 11905: 0xF7DE, - 39700 - 11905: 0xF44A, - 39701 - 11905: 0xF44B, - 39702 - 11905: 0xF44C, - 39703 - 11905: 0xF44D, - 39704 - 11905: 0xF44E, - 39705 - 11905: 0xF44F, - 39706 - 11905: 0xF450, - 39707 - 11905: 0xF451, - 39708 - 11905: 0xF452, - 39709 - 11905: 0xF453, - 39710 - 11905: 0xF454, - 39711 - 11905: 0xF7DF, - 39712 - 11905: 0xF455, - 39713 - 11905: 0xF456, - 39714 - 11905: 0xF457, - 39715 - 11905: 0xF7E0, - 39716 - 11905: 0xF458, - 39717 - 11905: 0xF459, - 39718 - 11905: 0xF45A, - 39719 - 11905: 0xF45B, - 39720 - 11905: 0xF45C, - 39721 - 11905: 0xF45D, - 39722 - 11905: 0xF45E, - 39723 - 11905: 0xF45F, - 39724 - 11905: 0xF460, - 39725 - 11905: 0xF461, - 39726 - 11905: 0xF462, - 39727 - 11905: 0xDBCB, - 39728 - 11905: 0xF463, - 39729 - 11905: 0xF464, - 39730 - 11905: 0xD8AA, - 39731 - 11905: 0xF465, - 39732 - 11905: 0xF466, - 39733 - 11905: 0xF467, - 39734 - 11905: 0xF468, - 39735 - 11905: 0xF469, - 39736 - 11905: 0xF46A, - 39737 - 11905: 0xF46B, - 39738 - 11905: 0xF46C, - 39739 - 11905: 0xE5F7, - 39740 - 11905: 0xB9ED, - 39741 - 11905: 0xF46D, - 39742 - 11905: 0xF46E, - 39743 - 11905: 0xF46F, - 39744 - 11905: 0xF470, - 39745 - 11905: 0xBFFD, - 39746 - 11905: 0xBBEA, - 39747 - 11905: 0xF7C9, - 39748 - 11905: 0xC6C7, - 39749 - 11905: 0xF7C8, - 39750 - 11905: 0xF471, - 39751 - 11905: 0xF7CA, - 39752 - 11905: 0xF7CC, - 39753 - 11905: 0xF7CB, - 39754 - 11905: 0xF472, - 39755 - 11905: 0xF473, - 39756 - 11905: 0xF474, - 39757 - 11905: 0xF7CD, - 39758 - 11905: 0xF475, - 39759 - 11905: 0xCEBA, - 39760 - 11905: 0xF476, - 39761 - 11905: 0xF7CE, - 39762 - 11905: 0xF477, - 39763 - 11905: 0xF478, - 39764 - 11905: 0xC4A7, - 39765 - 11905: 0xF479, - 39766 - 11905: 0xF47A, - 39767 - 11905: 0xF47B, - 39768 - 11905: 0xF47C, - 39769 - 11905: 0xF47D, - 39770 - 11905: 0xF47E, - 39771 - 11905: 0xF480, - 39772 - 11905: 0xF481, - 39773 - 11905: 0xF482, - 39774 - 11905: 0xF483, - 39775 - 11905: 0xF484, - 39776 - 11905: 0xF485, - 39777 - 11905: 0xF486, - 39778 - 11905: 0xF487, - 39779 - 11905: 0xF488, - 39780 - 11905: 0xF489, - 39781 - 11905: 0xF48A, - 39782 - 11905: 0xF48B, - 39783 - 11905: 0xF48C, - 39784 - 11905: 0xF48D, - 39785 - 11905: 0xF48E, - 39786 - 11905: 0xF48F, - 39787 - 11905: 0xF490, - 39788 - 11905: 0xF491, - 39789 - 11905: 0xF492, - 39790 - 11905: 0xF493, - 39791 - 11905: 0xF494, - 39792 - 11905: 0xF495, - 39793 - 11905: 0xF496, - 39794 - 11905: 0xF497, - 39795 - 11905: 0xF498, - 39796 - 11905: 0xF499, - 39797 - 11905: 0xF49A, - 39798 - 11905: 0xF49B, - 39799 - 11905: 0xF49C, - 39800 - 11905: 0xF49D, - 39801 - 11905: 0xF49E, - 39802 - 11905: 0xF49F, - 39803 - 11905: 0xF4A0, - 39804 - 11905: 0xF540, - 39805 - 11905: 0xF541, - 39806 - 11905: 0xF542, - 39807 - 11905: 0xF543, - 39808 - 11905: 0xF544, - 39809 - 11905: 0xF545, - 39810 - 11905: 0xF546, - 39811 - 11905: 0xF547, - 39812 - 11905: 0xF548, - 39813 - 11905: 0xF549, - 39814 - 11905: 0xF54A, - 39815 - 11905: 0xF54B, - 39816 - 11905: 0xF54C, - 39817 - 11905: 0xF54D, - 39818 - 11905: 0xF54E, - 39819 - 11905: 0xF54F, - 39820 - 11905: 0xF550, - 39821 - 11905: 0xF551, - 39822 - 11905: 0xF552, - 39823 - 11905: 0xF553, - 39824 - 11905: 0xF554, - 39825 - 11905: 0xF555, - 39826 - 11905: 0xF556, - 39827 - 11905: 0xF557, - 39828 - 11905: 0xF558, - 39829 - 11905: 0xF559, - 39830 - 11905: 0xF55A, - 39831 - 11905: 0xF55B, - 39832 - 11905: 0xF55C, - 39833 - 11905: 0xF55D, - 39834 - 11905: 0xF55E, - 39835 - 11905: 0xF55F, - 39836 - 11905: 0xF560, - 39837 - 11905: 0xF561, - 39838 - 11905: 0xF562, - 39839 - 11905: 0xF563, - 39840 - 11905: 0xF564, - 39841 - 11905: 0xF565, - 39842 - 11905: 0xF566, - 39843 - 11905: 0xF567, - 39844 - 11905: 0xF568, - 39845 - 11905: 0xF569, - 39846 - 11905: 0xF56A, - 39847 - 11905: 0xF56B, - 39848 - 11905: 0xF56C, - 39849 - 11905: 0xF56D, - 39850 - 11905: 0xF56E, - 39851 - 11905: 0xF56F, - 39852 - 11905: 0xF570, - 39853 - 11905: 0xF571, - 39854 - 11905: 0xF572, - 39855 - 11905: 0xF573, - 39856 - 11905: 0xF574, - 39857 - 11905: 0xF575, - 39858 - 11905: 0xF576, - 39859 - 11905: 0xF577, - 39860 - 11905: 0xF578, - 39861 - 11905: 0xF579, - 39862 - 11905: 0xF57A, - 39863 - 11905: 0xF57B, - 39864 - 11905: 0xF57C, - 39865 - 11905: 0xF57D, - 39866 - 11905: 0xF57E, - 39867 - 11905: 0xF580, - 39868 - 11905: 0xF581, - 39869 - 11905: 0xF582, - 39870 - 11905: 0xF583, - 39871 - 11905: 0xF584, - 39872 - 11905: 0xF585, - 39873 - 11905: 0xF586, - 39874 - 11905: 0xF587, - 39875 - 11905: 0xF588, - 39876 - 11905: 0xF589, - 39877 - 11905: 0xF58A, - 39878 - 11905: 0xF58B, - 39879 - 11905: 0xF58C, - 39880 - 11905: 0xF58D, - 39881 - 11905: 0xF58E, - 39882 - 11905: 0xF58F, - 39883 - 11905: 0xF590, - 39884 - 11905: 0xF591, - 39885 - 11905: 0xF592, - 39886 - 11905: 0xF593, - 39887 - 11905: 0xF594, - 39888 - 11905: 0xF595, - 39889 - 11905: 0xF596, - 39890 - 11905: 0xF597, - 39891 - 11905: 0xF598, - 39892 - 11905: 0xF599, - 39893 - 11905: 0xF59A, - 39894 - 11905: 0xF59B, - 39895 - 11905: 0xF59C, - 39896 - 11905: 0xF59D, - 39897 - 11905: 0xF59E, - 39898 - 11905: 0xF59F, - 39899 - 11905: 0xF5A0, - 39900 - 11905: 0xF640, - 39901 - 11905: 0xF641, - 39902 - 11905: 0xF642, - 39903 - 11905: 0xF643, - 39904 - 11905: 0xF644, - 39905 - 11905: 0xF645, - 39906 - 11905: 0xF646, - 39907 - 11905: 0xF647, - 39908 - 11905: 0xF648, - 39909 - 11905: 0xF649, - 39910 - 11905: 0xF64A, - 39911 - 11905: 0xF64B, - 39912 - 11905: 0xF64C, - 39913 - 11905: 0xF64D, - 39914 - 11905: 0xF64E, - 39915 - 11905: 0xF64F, - 39916 - 11905: 0xF650, - 39917 - 11905: 0xF651, - 39918 - 11905: 0xF652, - 39919 - 11905: 0xF653, - 39920 - 11905: 0xF654, - 39921 - 11905: 0xF655, - 39922 - 11905: 0xF656, - 39923 - 11905: 0xF657, - 39924 - 11905: 0xF658, - 39925 - 11905: 0xF659, - 39926 - 11905: 0xF65A, - 39927 - 11905: 0xF65B, - 39928 - 11905: 0xF65C, - 39929 - 11905: 0xF65D, - 39930 - 11905: 0xF65E, - 39931 - 11905: 0xF65F, - 39932 - 11905: 0xF660, - 39933 - 11905: 0xF661, - 39934 - 11905: 0xF662, - 39935 - 11905: 0xF663, - 39936 - 11905: 0xF664, - 39937 - 11905: 0xF665, - 39938 - 11905: 0xF666, - 39939 - 11905: 0xF667, - 39940 - 11905: 0xF668, - 39941 - 11905: 0xF669, - 39942 - 11905: 0xF66A, - 39943 - 11905: 0xF66B, - 39944 - 11905: 0xF66C, - 39945 - 11905: 0xF66D, - 39946 - 11905: 0xF66E, - 39947 - 11905: 0xF66F, - 39948 - 11905: 0xF670, - 39949 - 11905: 0xF671, - 39950 - 11905: 0xF672, - 39951 - 11905: 0xF673, - 39952 - 11905: 0xF674, - 39953 - 11905: 0xF675, - 39954 - 11905: 0xF676, - 39955 - 11905: 0xF677, - 39956 - 11905: 0xF678, - 39957 - 11905: 0xF679, - 39958 - 11905: 0xF67A, - 39959 - 11905: 0xF67B, - 39960 - 11905: 0xF67C, - 39961 - 11905: 0xF67D, - 39962 - 11905: 0xF67E, - 39963 - 11905: 0xF680, - 39964 - 11905: 0xF681, - 39965 - 11905: 0xF682, - 39966 - 11905: 0xF683, - 39967 - 11905: 0xF684, - 39968 - 11905: 0xF685, - 39969 - 11905: 0xF686, - 39970 - 11905: 0xF687, - 39971 - 11905: 0xF688, - 39972 - 11905: 0xF689, - 39973 - 11905: 0xF68A, - 39974 - 11905: 0xF68B, - 39975 - 11905: 0xF68C, - 39976 - 11905: 0xF68D, - 39977 - 11905: 0xF68E, - 39978 - 11905: 0xF68F, - 39979 - 11905: 0xF690, - 39980 - 11905: 0xF691, - 39981 - 11905: 0xF692, - 39982 - 11905: 0xF693, - 39983 - 11905: 0xF694, - 39984 - 11905: 0xF695, - 39985 - 11905: 0xF696, - 39986 - 11905: 0xF697, - 39987 - 11905: 0xF698, - 39988 - 11905: 0xF699, - 39989 - 11905: 0xF69A, - 39990 - 11905: 0xF69B, - 39991 - 11905: 0xF69C, - 39992 - 11905: 0xF69D, - 39993 - 11905: 0xF69E, - 39994 - 11905: 0xF69F, - 39995 - 11905: 0xF6A0, - 39996 - 11905: 0xF740, - 39997 - 11905: 0xF741, - 39998 - 11905: 0xF742, - 39999 - 11905: 0xF743, - 40000 - 11905: 0xF744, - 40001 - 11905: 0xF745, - 40002 - 11905: 0xF746, - 40003 - 11905: 0xF747, - 40004 - 11905: 0xF748, - 40005 - 11905: 0xF749, - 40006 - 11905: 0xF74A, - 40007 - 11905: 0xF74B, - 40008 - 11905: 0xF74C, - 40009 - 11905: 0xF74D, - 40010 - 11905: 0xF74E, - 40011 - 11905: 0xF74F, - 40012 - 11905: 0xF750, - 40013 - 11905: 0xF751, - 40014 - 11905: 0xF752, - 40015 - 11905: 0xF753, - 40016 - 11905: 0xF754, - 40017 - 11905: 0xF755, - 40018 - 11905: 0xF756, - 40019 - 11905: 0xF757, - 40020 - 11905: 0xF758, - 40021 - 11905: 0xF759, - 40022 - 11905: 0xF75A, - 40023 - 11905: 0xF75B, - 40024 - 11905: 0xF75C, - 40025 - 11905: 0xF75D, - 40026 - 11905: 0xF75E, - 40027 - 11905: 0xF75F, - 40028 - 11905: 0xF760, - 40029 - 11905: 0xF761, - 40030 - 11905: 0xF762, - 40031 - 11905: 0xF763, - 40032 - 11905: 0xF764, - 40033 - 11905: 0xF765, - 40034 - 11905: 0xF766, - 40035 - 11905: 0xF767, - 40036 - 11905: 0xF768, - 40037 - 11905: 0xF769, - 40038 - 11905: 0xF76A, - 40039 - 11905: 0xF76B, - 40040 - 11905: 0xF76C, - 40041 - 11905: 0xF76D, - 40042 - 11905: 0xF76E, - 40043 - 11905: 0xF76F, - 40044 - 11905: 0xF770, - 40045 - 11905: 0xF771, - 40046 - 11905: 0xF772, - 40047 - 11905: 0xF773, - 40048 - 11905: 0xF774, - 40049 - 11905: 0xF775, - 40050 - 11905: 0xF776, - 40051 - 11905: 0xF777, - 40052 - 11905: 0xF778, - 40053 - 11905: 0xF779, - 40054 - 11905: 0xF77A, - 40055 - 11905: 0xF77B, - 40056 - 11905: 0xF77C, - 40057 - 11905: 0xF77D, - 40058 - 11905: 0xF77E, - 40059 - 11905: 0xF780, - 40060 - 11905: 0xD3E3, - 40061 - 11905: 0xF781, - 40062 - 11905: 0xF782, - 40063 - 11905: 0xF6CF, - 40064 - 11905: 0xF783, - 40065 - 11905: 0xC2B3, - 40066 - 11905: 0xF6D0, - 40067 - 11905: 0xF784, - 40068 - 11905: 0xF785, - 40069 - 11905: 0xF6D1, - 40070 - 11905: 0xF6D2, - 40071 - 11905: 0xF6D3, - 40072 - 11905: 0xF6D4, - 40073 - 11905: 0xF786, - 40074 - 11905: 0xF787, - 40075 - 11905: 0xF6D6, - 40076 - 11905: 0xF788, - 40077 - 11905: 0xB1AB, - 40078 - 11905: 0xF6D7, - 40079 - 11905: 0xF789, - 40080 - 11905: 0xF6D8, - 40081 - 11905: 0xF6D9, - 40082 - 11905: 0xF6DA, - 40083 - 11905: 0xF78A, - 40084 - 11905: 0xF6DB, - 40085 - 11905: 0xF6DC, - 40086 - 11905: 0xF78B, - 40087 - 11905: 0xF78C, - 40088 - 11905: 0xF78D, - 40089 - 11905: 0xF78E, - 40090 - 11905: 0xF6DD, - 40091 - 11905: 0xF6DE, - 40092 - 11905: 0xCFCA, - 40093 - 11905: 0xF78F, - 40094 - 11905: 0xF6DF, - 40095 - 11905: 0xF6E0, - 40096 - 11905: 0xF6E1, - 40097 - 11905: 0xF6E2, - 40098 - 11905: 0xF6E3, - 40099 - 11905: 0xF6E4, - 40100 - 11905: 0xC0F0, - 40101 - 11905: 0xF6E5, - 40102 - 11905: 0xF6E6, - 40103 - 11905: 0xF6E7, - 40104 - 11905: 0xF6E8, - 40105 - 11905: 0xF6E9, - 40106 - 11905: 0xF790, - 40107 - 11905: 0xF6EA, - 40108 - 11905: 0xF791, - 40109 - 11905: 0xF6EB, - 40110 - 11905: 0xF6EC, - 40111 - 11905: 0xF792, - 40112 - 11905: 0xF6ED, - 40113 - 11905: 0xF6EE, - 40114 - 11905: 0xF6EF, - 40115 - 11905: 0xF6F0, - 40116 - 11905: 0xF6F1, - 40117 - 11905: 0xF6F2, - 40118 - 11905: 0xF6F3, - 40119 - 11905: 0xF6F4, - 40120 - 11905: 0xBEA8, - 40121 - 11905: 0xF793, - 40122 - 11905: 0xF6F5, - 40123 - 11905: 0xF6F6, - 40124 - 11905: 0xF6F7, - 40125 - 11905: 0xF6F8, - 40126 - 11905: 0xF794, - 40127 - 11905: 0xF795, - 40128 - 11905: 0xF796, - 40129 - 11905: 0xF797, - 40130 - 11905: 0xF798, - 40131 - 11905: 0xC8FA, - 40132 - 11905: 0xF6F9, - 40133 - 11905: 0xF6FA, - 40134 - 11905: 0xF6FB, - 40135 - 11905: 0xF6FC, - 40136 - 11905: 0xF799, - 40137 - 11905: 0xF79A, - 40138 - 11905: 0xF6FD, - 40139 - 11905: 0xF6FE, - 40140 - 11905: 0xF7A1, - 40141 - 11905: 0xF7A2, - 40142 - 11905: 0xF7A3, - 40143 - 11905: 0xF7A4, - 40144 - 11905: 0xF7A5, - 40145 - 11905: 0xF79B, - 40146 - 11905: 0xF79C, - 40147 - 11905: 0xF7A6, - 40148 - 11905: 0xF7A7, - 40149 - 11905: 0xF7A8, - 40150 - 11905: 0xB1EE, - 40151 - 11905: 0xF7A9, - 40152 - 11905: 0xF7AA, - 40153 - 11905: 0xF7AB, - 40154 - 11905: 0xF79D, - 40155 - 11905: 0xF79E, - 40156 - 11905: 0xF7AC, - 40157 - 11905: 0xF7AD, - 40158 - 11905: 0xC1DB, - 40159 - 11905: 0xF7AE, - 40160 - 11905: 0xF79F, - 40161 - 11905: 0xF7A0, - 40162 - 11905: 0xF7AF, - 40163 - 11905: 0xF840, - 40164 - 11905: 0xF841, - 40165 - 11905: 0xF842, - 40166 - 11905: 0xF843, - 40167 - 11905: 0xF844, - 40168 - 11905: 0xF845, - 40169 - 11905: 0xF846, - 40170 - 11905: 0xF847, - 40171 - 11905: 0xF848, - 40172 - 11905: 0xF849, - 40173 - 11905: 0xF84A, - 40174 - 11905: 0xF84B, - 40175 - 11905: 0xF84C, - 40176 - 11905: 0xF84D, - 40177 - 11905: 0xF84E, - 40178 - 11905: 0xF84F, - 40179 - 11905: 0xF850, - 40180 - 11905: 0xF851, - 40181 - 11905: 0xF852, - 40182 - 11905: 0xF853, - 40183 - 11905: 0xF854, - 40184 - 11905: 0xF855, - 40185 - 11905: 0xF856, - 40186 - 11905: 0xF857, - 40187 - 11905: 0xF858, - 40188 - 11905: 0xF859, - 40189 - 11905: 0xF85A, - 40190 - 11905: 0xF85B, - 40191 - 11905: 0xF85C, - 40192 - 11905: 0xF85D, - 40193 - 11905: 0xF85E, - 40194 - 11905: 0xF85F, - 40195 - 11905: 0xF860, - 40196 - 11905: 0xF861, - 40197 - 11905: 0xF862, - 40198 - 11905: 0xF863, - 40199 - 11905: 0xF864, - 40200 - 11905: 0xF865, - 40201 - 11905: 0xF866, - 40202 - 11905: 0xF867, - 40203 - 11905: 0xF868, - 40204 - 11905: 0xF869, - 40205 - 11905: 0xF86A, - 40206 - 11905: 0xF86B, - 40207 - 11905: 0xF86C, - 40208 - 11905: 0xF86D, - 40209 - 11905: 0xF86E, - 40210 - 11905: 0xF86F, - 40211 - 11905: 0xF870, - 40212 - 11905: 0xF871, - 40213 - 11905: 0xF872, - 40214 - 11905: 0xF873, - 40215 - 11905: 0xF874, - 40216 - 11905: 0xF875, - 40217 - 11905: 0xF876, - 40218 - 11905: 0xF877, - 40219 - 11905: 0xF878, - 40220 - 11905: 0xF879, - 40221 - 11905: 0xF87A, - 40222 - 11905: 0xF87B, - 40223 - 11905: 0xF87C, - 40224 - 11905: 0xF87D, - 40225 - 11905: 0xF87E, - 40226 - 11905: 0xF880, - 40227 - 11905: 0xF881, - 40228 - 11905: 0xF882, - 40229 - 11905: 0xF883, - 40230 - 11905: 0xF884, - 40231 - 11905: 0xF885, - 40232 - 11905: 0xF886, - 40233 - 11905: 0xF887, - 40234 - 11905: 0xF888, - 40235 - 11905: 0xF889, - 40236 - 11905: 0xF88A, - 40237 - 11905: 0xF88B, - 40238 - 11905: 0xF88C, - 40239 - 11905: 0xF88D, - 40240 - 11905: 0xF88E, - 40241 - 11905: 0xF88F, - 40242 - 11905: 0xF890, - 40243 - 11905: 0xF891, - 40244 - 11905: 0xF892, - 40245 - 11905: 0xF893, - 40246 - 11905: 0xF894, - 40247 - 11905: 0xF895, - 40248 - 11905: 0xF896, - 40249 - 11905: 0xF897, - 40250 - 11905: 0xF898, - 40251 - 11905: 0xF899, - 40252 - 11905: 0xF89A, - 40253 - 11905: 0xF89B, - 40254 - 11905: 0xF89C, - 40255 - 11905: 0xF89D, - 40256 - 11905: 0xF89E, - 40257 - 11905: 0xF89F, - 40258 - 11905: 0xF8A0, - 40259 - 11905: 0xF940, - 40260 - 11905: 0xF941, - 40261 - 11905: 0xF942, - 40262 - 11905: 0xF943, - 40263 - 11905: 0xF944, - 40264 - 11905: 0xF945, - 40265 - 11905: 0xF946, - 40266 - 11905: 0xF947, - 40267 - 11905: 0xF948, - 40268 - 11905: 0xF949, - 40269 - 11905: 0xF94A, - 40270 - 11905: 0xF94B, - 40271 - 11905: 0xF94C, - 40272 - 11905: 0xF94D, - 40273 - 11905: 0xF94E, - 40274 - 11905: 0xF94F, - 40275 - 11905: 0xF950, - 40276 - 11905: 0xF951, - 40277 - 11905: 0xF952, - 40278 - 11905: 0xF953, - 40279 - 11905: 0xF954, - 40280 - 11905: 0xF955, - 40281 - 11905: 0xF956, - 40282 - 11905: 0xF957, - 40283 - 11905: 0xF958, - 40284 - 11905: 0xF959, - 40285 - 11905: 0xF95A, - 40286 - 11905: 0xF95B, - 40287 - 11905: 0xF95C, - 40288 - 11905: 0xF95D, - 40289 - 11905: 0xF95E, - 40290 - 11905: 0xF95F, - 40291 - 11905: 0xF960, - 40292 - 11905: 0xF961, - 40293 - 11905: 0xF962, - 40294 - 11905: 0xF963, - 40295 - 11905: 0xF964, - 40296 - 11905: 0xF965, - 40297 - 11905: 0xF966, - 40298 - 11905: 0xF967, - 40299 - 11905: 0xF968, - 40300 - 11905: 0xF969, - 40301 - 11905: 0xF96A, - 40302 - 11905: 0xF96B, - 40303 - 11905: 0xF96C, - 40304 - 11905: 0xF96D, - 40305 - 11905: 0xF96E, - 40306 - 11905: 0xF96F, - 40307 - 11905: 0xF970, - 40308 - 11905: 0xF971, - 40309 - 11905: 0xF972, - 40310 - 11905: 0xF973, - 40311 - 11905: 0xF974, - 40312 - 11905: 0xF975, - 40313 - 11905: 0xF976, - 40314 - 11905: 0xF977, - 40315 - 11905: 0xF978, - 40316 - 11905: 0xF979, - 40317 - 11905: 0xF97A, - 40318 - 11905: 0xF97B, - 40319 - 11905: 0xF97C, - 40320 - 11905: 0xF97D, - 40321 - 11905: 0xF97E, - 40322 - 11905: 0xF980, - 40323 - 11905: 0xF981, - 40324 - 11905: 0xF982, - 40325 - 11905: 0xF983, - 40326 - 11905: 0xF984, - 40327 - 11905: 0xF985, - 40328 - 11905: 0xF986, - 40329 - 11905: 0xF987, - 40330 - 11905: 0xF988, - 40331 - 11905: 0xF989, - 40332 - 11905: 0xF98A, - 40333 - 11905: 0xF98B, - 40334 - 11905: 0xF98C, - 40335 - 11905: 0xF98D, - 40336 - 11905: 0xF98E, - 40337 - 11905: 0xF98F, - 40338 - 11905: 0xF990, - 40339 - 11905: 0xF991, - 40340 - 11905: 0xF992, - 40341 - 11905: 0xF993, - 40342 - 11905: 0xF994, - 40343 - 11905: 0xF995, - 40344 - 11905: 0xF996, - 40345 - 11905: 0xF997, - 40346 - 11905: 0xF998, - 40347 - 11905: 0xF999, - 40348 - 11905: 0xF99A, - 40349 - 11905: 0xF99B, - 40350 - 11905: 0xF99C, - 40351 - 11905: 0xF99D, - 40352 - 11905: 0xF99E, - 40353 - 11905: 0xF99F, - 40354 - 11905: 0xF9A0, - 40355 - 11905: 0xFA40, - 40356 - 11905: 0xFA41, - 40357 - 11905: 0xFA42, - 40358 - 11905: 0xFA43, - 40359 - 11905: 0xFA44, - 40360 - 11905: 0xFA45, - 40361 - 11905: 0xFA46, - 40362 - 11905: 0xFA47, - 40363 - 11905: 0xFA48, - 40364 - 11905: 0xFA49, - 40365 - 11905: 0xFA4A, - 40366 - 11905: 0xFA4B, - 40367 - 11905: 0xFA4C, - 40368 - 11905: 0xFA4D, - 40369 - 11905: 0xFA4E, - 40370 - 11905: 0xFA4F, - 40371 - 11905: 0xFA50, - 40372 - 11905: 0xFA51, - 40373 - 11905: 0xFA52, - 40374 - 11905: 0xFA53, - 40375 - 11905: 0xFA54, - 40376 - 11905: 0xFA55, - 40377 - 11905: 0xFA56, - 40378 - 11905: 0xFA57, - 40379 - 11905: 0xFA58, - 40380 - 11905: 0xFA59, - 40381 - 11905: 0xFA5A, - 40382 - 11905: 0xFA5B, - 40383 - 11905: 0xFA5C, - 40384 - 11905: 0xFA5D, - 40385 - 11905: 0xFA5E, - 40386 - 11905: 0xFA5F, - 40387 - 11905: 0xFA60, - 40388 - 11905: 0xFA61, - 40389 - 11905: 0xFA62, - 40390 - 11905: 0xFA63, - 40391 - 11905: 0xFA64, - 40392 - 11905: 0xFA65, - 40393 - 11905: 0xFA66, - 40394 - 11905: 0xFA67, - 40395 - 11905: 0xFA68, - 40396 - 11905: 0xFA69, - 40397 - 11905: 0xFA6A, - 40398 - 11905: 0xFA6B, - 40399 - 11905: 0xFA6C, - 40400 - 11905: 0xFA6D, - 40401 - 11905: 0xFA6E, - 40402 - 11905: 0xFA6F, - 40403 - 11905: 0xFA70, - 40404 - 11905: 0xFA71, - 40405 - 11905: 0xFA72, - 40406 - 11905: 0xFA73, - 40407 - 11905: 0xFA74, - 40408 - 11905: 0xFA75, - 40409 - 11905: 0xFA76, - 40410 - 11905: 0xFA77, - 40411 - 11905: 0xFA78, - 40412 - 11905: 0xFA79, - 40413 - 11905: 0xFA7A, - 40414 - 11905: 0xFA7B, - 40415 - 11905: 0xFA7C, - 40416 - 11905: 0xFA7D, - 40417 - 11905: 0xFA7E, - 40418 - 11905: 0xFA80, - 40419 - 11905: 0xFA81, - 40420 - 11905: 0xFA82, - 40421 - 11905: 0xFA83, - 40422 - 11905: 0xFA84, - 40423 - 11905: 0xFA85, - 40424 - 11905: 0xFA86, - 40425 - 11905: 0xFA87, - 40426 - 11905: 0xFA88, - 40427 - 11905: 0xFA89, - 40428 - 11905: 0xFA8A, - 40429 - 11905: 0xFA8B, - 40430 - 11905: 0xFA8C, - 40431 - 11905: 0xFA8D, - 40432 - 11905: 0xFA8E, - 40433 - 11905: 0xFA8F, - 40434 - 11905: 0xFA90, - 40435 - 11905: 0xFA91, - 40436 - 11905: 0xFA92, - 40437 - 11905: 0xFA93, - 40438 - 11905: 0xFA94, - 40439 - 11905: 0xFA95, - 40440 - 11905: 0xFA96, - 40441 - 11905: 0xFA97, - 40442 - 11905: 0xFA98, - 40443 - 11905: 0xFA99, - 40444 - 11905: 0xFA9A, - 40445 - 11905: 0xFA9B, - 40446 - 11905: 0xFA9C, - 40447 - 11905: 0xFA9D, - 40448 - 11905: 0xFA9E, - 40449 - 11905: 0xFA9F, - 40450 - 11905: 0xFAA0, - 40451 - 11905: 0xFB40, - 40452 - 11905: 0xFB41, - 40453 - 11905: 0xFB42, - 40454 - 11905: 0xFB43, - 40455 - 11905: 0xFB44, - 40456 - 11905: 0xFB45, - 40457 - 11905: 0xFB46, - 40458 - 11905: 0xFB47, - 40459 - 11905: 0xFB48, - 40460 - 11905: 0xFB49, - 40461 - 11905: 0xFB4A, - 40462 - 11905: 0xFB4B, - 40463 - 11905: 0xFB4C, - 40464 - 11905: 0xFB4D, - 40465 - 11905: 0xFB4E, - 40466 - 11905: 0xFB4F, - 40467 - 11905: 0xFB50, - 40468 - 11905: 0xFB51, - 40469 - 11905: 0xFB52, - 40470 - 11905: 0xFB53, - 40471 - 11905: 0xFB54, - 40472 - 11905: 0xFB55, - 40473 - 11905: 0xFB56, - 40474 - 11905: 0xFB57, - 40475 - 11905: 0xFB58, - 40476 - 11905: 0xFB59, - 40477 - 11905: 0xFB5A, - 40478 - 11905: 0xFB5B, - 40479 - 11905: 0xC4F1, - 40480 - 11905: 0xF0AF, - 40481 - 11905: 0xBCA6, - 40482 - 11905: 0xF0B0, - 40483 - 11905: 0xC3F9, - 40484 - 11905: 0xFB5C, - 40485 - 11905: 0xC5B8, - 40486 - 11905: 0xD1BB, - 40487 - 11905: 0xFB5D, - 40488 - 11905: 0xF0B1, - 40489 - 11905: 0xF0B2, - 40490 - 11905: 0xF0B3, - 40491 - 11905: 0xF0B4, - 40492 - 11905: 0xF0B5, - 40493 - 11905: 0xD1BC, - 40494 - 11905: 0xFB5E, - 40495 - 11905: 0xD1EC, - 40496 - 11905: 0xFB5F, - 40497 - 11905: 0xF0B7, - 40498 - 11905: 0xF0B6, - 40499 - 11905: 0xD4A7, - 40500 - 11905: 0xFB60, - 40501 - 11905: 0xCDD2, - 40502 - 11905: 0xF0B8, - 40503 - 11905: 0xF0BA, - 40504 - 11905: 0xF0B9, - 40505 - 11905: 0xF0BB, - 40506 - 11905: 0xF0BC, - 40507 - 11905: 0xFB61, - 40508 - 11905: 0xFB62, - 40509 - 11905: 0xB8EB, - 40510 - 11905: 0xF0BD, - 40511 - 11905: 0xBAE8, - 40512 - 11905: 0xFB63, - 40513 - 11905: 0xF0BE, - 40514 - 11905: 0xF0BF, - 40515 - 11905: 0xBEE9, - 40516 - 11905: 0xF0C0, - 40517 - 11905: 0xB6EC, - 40518 - 11905: 0xF0C1, - 40519 - 11905: 0xF0C2, - 40520 - 11905: 0xF0C3, - 40521 - 11905: 0xF0C4, - 40522 - 11905: 0xC8B5, - 40523 - 11905: 0xF0C5, - 40524 - 11905: 0xF0C6, - 40525 - 11905: 0xFB64, - 40526 - 11905: 0xF0C7, - 40527 - 11905: 0xC5F4, - 40528 - 11905: 0xFB65, - 40529 - 11905: 0xF0C8, - 40530 - 11905: 0xFB66, - 40531 - 11905: 0xFB67, - 40532 - 11905: 0xFB68, - 40533 - 11905: 0xF0C9, - 40534 - 11905: 0xFB69, - 40535 - 11905: 0xF0CA, - 40536 - 11905: 0xF7BD, - 40537 - 11905: 0xFB6A, - 40538 - 11905: 0xF0CB, - 40539 - 11905: 0xF0CC, - 40540 - 11905: 0xF0CD, - 40541 - 11905: 0xFB6B, - 40542 - 11905: 0xF0CE, - 40543 - 11905: 0xFB6C, - 40544 - 11905: 0xFB6D, - 40545 - 11905: 0xFB6E, - 40546 - 11905: 0xFB6F, - 40547 - 11905: 0xF0CF, - 40548 - 11905: 0xBAD7, - 40549 - 11905: 0xFB70, - 40550 - 11905: 0xF0D0, - 40551 - 11905: 0xF0D1, - 40552 - 11905: 0xF0D2, - 40553 - 11905: 0xF0D3, - 40554 - 11905: 0xF0D4, - 40555 - 11905: 0xF0D5, - 40556 - 11905: 0xF0D6, - 40557 - 11905: 0xF0D8, - 40558 - 11905: 0xFB71, - 40559 - 11905: 0xFB72, - 40560 - 11905: 0xD3A5, - 40561 - 11905: 0xF0D7, - 40562 - 11905: 0xFB73, - 40563 - 11905: 0xF0D9, - 40564 - 11905: 0xFB74, - 40565 - 11905: 0xFB75, - 40566 - 11905: 0xFB76, - 40567 - 11905: 0xFB77, - 40568 - 11905: 0xFB78, - 40569 - 11905: 0xFB79, - 40570 - 11905: 0xFB7A, - 40571 - 11905: 0xFB7B, - 40572 - 11905: 0xFB7C, - 40573 - 11905: 0xFB7D, - 40574 - 11905: 0xF5BA, - 40575 - 11905: 0xC2B9, - 40576 - 11905: 0xFB7E, - 40577 - 11905: 0xFB80, - 40578 - 11905: 0xF7E4, - 40579 - 11905: 0xFB81, - 40580 - 11905: 0xFB82, - 40581 - 11905: 0xFB83, - 40582 - 11905: 0xFB84, - 40583 - 11905: 0xF7E5, - 40584 - 11905: 0xF7E6, - 40585 - 11905: 0xFB85, - 40586 - 11905: 0xFB86, - 40587 - 11905: 0xF7E7, - 40588 - 11905: 0xFB87, - 40589 - 11905: 0xFB88, - 40590 - 11905: 0xFB89, - 40591 - 11905: 0xFB8A, - 40592 - 11905: 0xFB8B, - 40593 - 11905: 0xFB8C, - 40594 - 11905: 0xF7E8, - 40595 - 11905: 0xC2B4, - 40596 - 11905: 0xFB8D, - 40597 - 11905: 0xFB8E, - 40598 - 11905: 0xFB8F, - 40599 - 11905: 0xFB90, - 40600 - 11905: 0xFB91, - 40601 - 11905: 0xFB92, - 40602 - 11905: 0xFB93, - 40603 - 11905: 0xFB94, - 40604 - 11905: 0xFB95, - 40605 - 11905: 0xF7EA, - 40606 - 11905: 0xFB96, - 40607 - 11905: 0xF7EB, - 40608 - 11905: 0xFB97, - 40609 - 11905: 0xFB98, - 40610 - 11905: 0xFB99, - 40611 - 11905: 0xFB9A, - 40612 - 11905: 0xFB9B, - 40613 - 11905: 0xFB9C, - 40614 - 11905: 0xC2F3, - 40615 - 11905: 0xFB9D, - 40616 - 11905: 0xFB9E, - 40617 - 11905: 0xFB9F, - 40618 - 11905: 0xFBA0, - 40619 - 11905: 0xFC40, - 40620 - 11905: 0xFC41, - 40621 - 11905: 0xFC42, - 40622 - 11905: 0xFC43, - 40623 - 11905: 0xFC44, - 40624 - 11905: 0xFC45, - 40625 - 11905: 0xFC46, - 40626 - 11905: 0xFC47, - 40627 - 11905: 0xFC48, - 40628 - 11905: 0xF4F0, - 40629 - 11905: 0xFC49, - 40630 - 11905: 0xFC4A, - 40631 - 11905: 0xFC4B, - 40632 - 11905: 0xF4EF, - 40633 - 11905: 0xFC4C, - 40634 - 11905: 0xFC4D, - 40635 - 11905: 0xC2E9, - 40636 - 11905: 0xFC4E, - 40637 - 11905: 0xF7E1, - 40638 - 11905: 0xF7E2, - 40639 - 11905: 0xFC4F, - 40640 - 11905: 0xFC50, - 40641 - 11905: 0xFC51, - 40642 - 11905: 0xFC52, - 40643 - 11905: 0xFC53, - 40644 - 11905: 0xBBC6, - 40645 - 11905: 0xFC54, - 40646 - 11905: 0xFC55, - 40647 - 11905: 0xFC56, - 40648 - 11905: 0xFC57, - 40649 - 11905: 0xD9E4, - 40650 - 11905: 0xFC58, - 40651 - 11905: 0xFC59, - 40652 - 11905: 0xFC5A, - 40653 - 11905: 0xCAF2, - 40654 - 11905: 0xC0E8, - 40655 - 11905: 0xF0A4, - 40656 - 11905: 0xFC5B, - 40657 - 11905: 0xBADA, - 40658 - 11905: 0xFC5C, - 40659 - 11905: 0xFC5D, - 40660 - 11905: 0xC7AD, - 40661 - 11905: 0xFC5E, - 40662 - 11905: 0xFC5F, - 40663 - 11905: 0xFC60, - 40664 - 11905: 0xC4AC, - 40665 - 11905: 0xFC61, - 40666 - 11905: 0xFC62, - 40667 - 11905: 0xF7EC, - 40668 - 11905: 0xF7ED, - 40669 - 11905: 0xF7EE, - 40670 - 11905: 0xFC63, - 40671 - 11905: 0xF7F0, - 40672 - 11905: 0xF7EF, - 40673 - 11905: 0xFC64, - 40674 - 11905: 0xF7F1, - 40675 - 11905: 0xFC65, - 40676 - 11905: 0xFC66, - 40677 - 11905: 0xF7F4, - 40678 - 11905: 0xFC67, - 40679 - 11905: 0xF7F3, - 40680 - 11905: 0xFC68, - 40681 - 11905: 0xF7F2, - 40682 - 11905: 0xF7F5, - 40683 - 11905: 0xFC69, - 40684 - 11905: 0xFC6A, - 40685 - 11905: 0xFC6B, - 40686 - 11905: 0xFC6C, - 40687 - 11905: 0xF7F6, - 40688 - 11905: 0xFC6D, - 40689 - 11905: 0xFC6E, - 40690 - 11905: 0xFC6F, - 40691 - 11905: 0xFC70, - 40692 - 11905: 0xFC71, - 40693 - 11905: 0xFC72, - 40694 - 11905: 0xFC73, - 40695 - 11905: 0xFC74, - 40696 - 11905: 0xFC75, - 40697 - 11905: 0xEDE9, - 40698 - 11905: 0xFC76, - 40699 - 11905: 0xEDEA, - 40700 - 11905: 0xEDEB, - 40701 - 11905: 0xFC77, - 40702 - 11905: 0xF6BC, - 40703 - 11905: 0xFC78, - 40704 - 11905: 0xFC79, - 40705 - 11905: 0xFC7A, - 40706 - 11905: 0xFC7B, - 40707 - 11905: 0xFC7C, - 40708 - 11905: 0xFC7D, - 40709 - 11905: 0xFC7E, - 40710 - 11905: 0xFC80, - 40711 - 11905: 0xFC81, - 40712 - 11905: 0xFC82, - 40713 - 11905: 0xFC83, - 40714 - 11905: 0xFC84, - 40715 - 11905: 0xF6BD, - 40716 - 11905: 0xFC85, - 40717 - 11905: 0xF6BE, - 40718 - 11905: 0xB6A6, - 40719 - 11905: 0xFC86, - 40720 - 11905: 0xD8BE, - 40721 - 11905: 0xFC87, - 40722 - 11905: 0xFC88, - 40723 - 11905: 0xB9C4, - 40724 - 11905: 0xFC89, - 40725 - 11905: 0xFC8A, - 40726 - 11905: 0xFC8B, - 40727 - 11905: 0xD8BB, - 40728 - 11905: 0xFC8C, - 40729 - 11905: 0xDCB1, - 40730 - 11905: 0xFC8D, - 40731 - 11905: 0xFC8E, - 40732 - 11905: 0xFC8F, - 40733 - 11905: 0xFC90, - 40734 - 11905: 0xFC91, - 40735 - 11905: 0xFC92, - 40736 - 11905: 0xCAF3, - 40737 - 11905: 0xFC93, - 40738 - 11905: 0xF7F7, - 40739 - 11905: 0xFC94, - 40740 - 11905: 0xFC95, - 40741 - 11905: 0xFC96, - 40742 - 11905: 0xFC97, - 40743 - 11905: 0xFC98, - 40744 - 11905: 0xFC99, - 40745 - 11905: 0xFC9A, - 40746 - 11905: 0xFC9B, - 40747 - 11905: 0xFC9C, - 40748 - 11905: 0xF7F8, - 40749 - 11905: 0xFC9D, - 40750 - 11905: 0xFC9E, - 40751 - 11905: 0xF7F9, - 40752 - 11905: 0xFC9F, - 40753 - 11905: 0xFCA0, - 40754 - 11905: 0xFD40, - 40755 - 11905: 0xFD41, - 40756 - 11905: 0xFD42, - 40757 - 11905: 0xFD43, - 40758 - 11905: 0xFD44, - 40759 - 11905: 0xF7FB, - 40760 - 11905: 0xFD45, - 40761 - 11905: 0xF7FA, - 40762 - 11905: 0xFD46, - 40763 - 11905: 0xB1C7, - 40764 - 11905: 0xFD47, - 40765 - 11905: 0xF7FC, - 40766 - 11905: 0xF7FD, - 40767 - 11905: 0xFD48, - 40768 - 11905: 0xFD49, - 40769 - 11905: 0xFD4A, - 40770 - 11905: 0xFD4B, - 40771 - 11905: 0xFD4C, - 40772 - 11905: 0xF7FE, - 40773 - 11905: 0xFD4D, - 40774 - 11905: 0xFD4E, - 40775 - 11905: 0xFD4F, - 40776 - 11905: 0xFD50, - 40777 - 11905: 0xFD51, - 40778 - 11905: 0xFD52, - 40779 - 11905: 0xFD53, - 40780 - 11905: 0xFD54, - 40781 - 11905: 0xFD55, - 40782 - 11905: 0xFD56, - 40783 - 11905: 0xFD57, - 40784 - 11905: 0xC6EB, - 40785 - 11905: 0xECB4, - 40786 - 11905: 0xFD58, - 40787 - 11905: 0xFD59, - 40788 - 11905: 0xFD5A, - 40789 - 11905: 0xFD5B, - 40790 - 11905: 0xFD5C, - 40791 - 11905: 0xFD5D, - 40792 - 11905: 0xFD5E, - 40793 - 11905: 0xFD5F, - 40794 - 11905: 0xFD60, - 40795 - 11905: 0xFD61, - 40796 - 11905: 0xFD62, - 40797 - 11905: 0xFD63, - 40798 - 11905: 0xFD64, - 40799 - 11905: 0xFD65, - 40800 - 11905: 0xFD66, - 40801 - 11905: 0xFD67, - 40802 - 11905: 0xFD68, - 40803 - 11905: 0xFD69, - 40804 - 11905: 0xFD6A, - 40805 - 11905: 0xFD6B, - 40806 - 11905: 0xFD6C, - 40807 - 11905: 0xFD6D, - 40808 - 11905: 0xFD6E, - 40809 - 11905: 0xFD6F, - 40810 - 11905: 0xFD70, - 40811 - 11905: 0xFD71, - 40812 - 11905: 0xFD72, - 40813 - 11905: 0xFD73, - 40814 - 11905: 0xFD74, - 40815 - 11905: 0xFD75, - 40816 - 11905: 0xFD76, - 40817 - 11905: 0xFD77, - 40818 - 11905: 0xFD78, - 40819 - 11905: 0xFD79, - 40820 - 11905: 0xFD7A, - 40821 - 11905: 0xFD7B, - 40822 - 11905: 0xFD7C, - 40823 - 11905: 0xFD7D, - 40824 - 11905: 0xFD7E, - 40825 - 11905: 0xFD80, - 40826 - 11905: 0xFD81, - 40827 - 11905: 0xFD82, - 40828 - 11905: 0xFD83, - 40829 - 11905: 0xFD84, - 40830 - 11905: 0xFD85, - 40831 - 11905: 0xB3DD, - 40832 - 11905: 0xF6B3, - 40833 - 11905: 0xFD86, - 40834 - 11905: 0xFD87, - 40835 - 11905: 0xF6B4, - 40836 - 11905: 0xC1E4, - 40837 - 11905: 0xF6B5, - 40838 - 11905: 0xF6B6, - 40839 - 11905: 0xF6B7, - 40840 - 11905: 0xF6B8, - 40841 - 11905: 0xF6B9, - 40842 - 11905: 0xF6BA, - 40843 - 11905: 0xC8A3, - 40844 - 11905: 0xF6BB, - 40845 - 11905: 0xFD88, - 40846 - 11905: 0xFD89, - 40847 - 11905: 0xFD8A, - 40848 - 11905: 0xFD8B, - 40849 - 11905: 0xFD8C, - 40850 - 11905: 0xFD8D, - 40851 - 11905: 0xFD8E, - 40852 - 11905: 0xFD8F, - 40853 - 11905: 0xFD90, - 40854 - 11905: 0xFD91, - 40855 - 11905: 0xFD92, - 40856 - 11905: 0xFD93, - 40857 - 11905: 0xC1FA, - 40858 - 11905: 0xB9A8, - 40859 - 11905: 0xEDE8, - 40860 - 11905: 0xFD94, - 40861 - 11905: 0xFD95, - 40862 - 11905: 0xFD96, - 40863 - 11905: 0xB9EA, - 40864 - 11905: 0xD9DF, - 40865 - 11905: 0xFD97, - 40866 - 11905: 0xFD98, - 40867 - 11905: 0xFD99, - 40868 - 11905: 0xFD9A, - 40869 - 11905: 0xFD9B, -} - -const encode1Low, encode1High = 8208, 9795 - -var encode1 = [...]uint16{ - 8208 - 8208: 0xA95C, - 8211 - 8208: 0xA843, - 8212 - 8208: 0xA1AA, - 8213 - 8208: 0xA844, - 8214 - 8208: 0xA1AC, - 8216 - 8208: 0xA1AE, - 8217 - 8208: 0xA1AF, - 8220 - 8208: 0xA1B0, - 8221 - 8208: 0xA1B1, - 8229 - 8208: 0xA845, - 8230 - 8208: 0xA1AD, - 8240 - 8208: 0xA1EB, - 8242 - 8208: 0xA1E4, - 8243 - 8208: 0xA1E5, - 8245 - 8208: 0xA846, - 8251 - 8208: 0xA1F9, - 8364 - 8208: 0xA2E3, - 8451 - 8208: 0xA1E6, - 8453 - 8208: 0xA847, - 8457 - 8208: 0xA848, - 8470 - 8208: 0xA1ED, - 8481 - 8208: 0xA959, - 8544 - 8208: 0xA2F1, - 8545 - 8208: 0xA2F2, - 8546 - 8208: 0xA2F3, - 8547 - 8208: 0xA2F4, - 8548 - 8208: 0xA2F5, - 8549 - 8208: 0xA2F6, - 8550 - 8208: 0xA2F7, - 8551 - 8208: 0xA2F8, - 8552 - 8208: 0xA2F9, - 8553 - 8208: 0xA2FA, - 8554 - 8208: 0xA2FB, - 8555 - 8208: 0xA2FC, - 8560 - 8208: 0xA2A1, - 8561 - 8208: 0xA2A2, - 8562 - 8208: 0xA2A3, - 8563 - 8208: 0xA2A4, - 8564 - 8208: 0xA2A5, - 8565 - 8208: 0xA2A6, - 8566 - 8208: 0xA2A7, - 8567 - 8208: 0xA2A8, - 8568 - 8208: 0xA2A9, - 8569 - 8208: 0xA2AA, - 8592 - 8208: 0xA1FB, - 8593 - 8208: 0xA1FC, - 8594 - 8208: 0xA1FA, - 8595 - 8208: 0xA1FD, - 8598 - 8208: 0xA849, - 8599 - 8208: 0xA84A, - 8600 - 8208: 0xA84B, - 8601 - 8208: 0xA84C, - 8712 - 8208: 0xA1CA, - 8719 - 8208: 0xA1C7, - 8721 - 8208: 0xA1C6, - 8725 - 8208: 0xA84D, - 8730 - 8208: 0xA1CC, - 8733 - 8208: 0xA1D8, - 8734 - 8208: 0xA1DE, - 8735 - 8208: 0xA84E, - 8736 - 8208: 0xA1CF, - 8739 - 8208: 0xA84F, - 8741 - 8208: 0xA1CE, - 8743 - 8208: 0xA1C4, - 8744 - 8208: 0xA1C5, - 8745 - 8208: 0xA1C9, - 8746 - 8208: 0xA1C8, - 8747 - 8208: 0xA1D2, - 8750 - 8208: 0xA1D3, - 8756 - 8208: 0xA1E0, - 8757 - 8208: 0xA1DF, - 8758 - 8208: 0xA1C3, - 8759 - 8208: 0xA1CB, - 8765 - 8208: 0xA1D7, - 8776 - 8208: 0xA1D6, - 8780 - 8208: 0xA1D5, - 8786 - 8208: 0xA850, - 8800 - 8208: 0xA1D9, - 8801 - 8208: 0xA1D4, - 8804 - 8208: 0xA1DC, - 8805 - 8208: 0xA1DD, - 8806 - 8208: 0xA851, - 8807 - 8208: 0xA852, - 8814 - 8208: 0xA1DA, - 8815 - 8208: 0xA1DB, - 8853 - 8208: 0xA892, - 8857 - 8208: 0xA1D1, - 8869 - 8208: 0xA1CD, - 8895 - 8208: 0xA853, - 8978 - 8208: 0xA1D0, - 9312 - 8208: 0xA2D9, - 9313 - 8208: 0xA2DA, - 9314 - 8208: 0xA2DB, - 9315 - 8208: 0xA2DC, - 9316 - 8208: 0xA2DD, - 9317 - 8208: 0xA2DE, - 9318 - 8208: 0xA2DF, - 9319 - 8208: 0xA2E0, - 9320 - 8208: 0xA2E1, - 9321 - 8208: 0xA2E2, - 9332 - 8208: 0xA2C5, - 9333 - 8208: 0xA2C6, - 9334 - 8208: 0xA2C7, - 9335 - 8208: 0xA2C8, - 9336 - 8208: 0xA2C9, - 9337 - 8208: 0xA2CA, - 9338 - 8208: 0xA2CB, - 9339 - 8208: 0xA2CC, - 9340 - 8208: 0xA2CD, - 9341 - 8208: 0xA2CE, - 9342 - 8208: 0xA2CF, - 9343 - 8208: 0xA2D0, - 9344 - 8208: 0xA2D1, - 9345 - 8208: 0xA2D2, - 9346 - 8208: 0xA2D3, - 9347 - 8208: 0xA2D4, - 9348 - 8208: 0xA2D5, - 9349 - 8208: 0xA2D6, - 9350 - 8208: 0xA2D7, - 9351 - 8208: 0xA2D8, - 9352 - 8208: 0xA2B1, - 9353 - 8208: 0xA2B2, - 9354 - 8208: 0xA2B3, - 9355 - 8208: 0xA2B4, - 9356 - 8208: 0xA2B5, - 9357 - 8208: 0xA2B6, - 9358 - 8208: 0xA2B7, - 9359 - 8208: 0xA2B8, - 9360 - 8208: 0xA2B9, - 9361 - 8208: 0xA2BA, - 9362 - 8208: 0xA2BB, - 9363 - 8208: 0xA2BC, - 9364 - 8208: 0xA2BD, - 9365 - 8208: 0xA2BE, - 9366 - 8208: 0xA2BF, - 9367 - 8208: 0xA2C0, - 9368 - 8208: 0xA2C1, - 9369 - 8208: 0xA2C2, - 9370 - 8208: 0xA2C3, - 9371 - 8208: 0xA2C4, - 9472 - 8208: 0xA9A4, - 9473 - 8208: 0xA9A5, - 9474 - 8208: 0xA9A6, - 9475 - 8208: 0xA9A7, - 9476 - 8208: 0xA9A8, - 9477 - 8208: 0xA9A9, - 9478 - 8208: 0xA9AA, - 9479 - 8208: 0xA9AB, - 9480 - 8208: 0xA9AC, - 9481 - 8208: 0xA9AD, - 9482 - 8208: 0xA9AE, - 9483 - 8208: 0xA9AF, - 9484 - 8208: 0xA9B0, - 9485 - 8208: 0xA9B1, - 9486 - 8208: 0xA9B2, - 9487 - 8208: 0xA9B3, - 9488 - 8208: 0xA9B4, - 9489 - 8208: 0xA9B5, - 9490 - 8208: 0xA9B6, - 9491 - 8208: 0xA9B7, - 9492 - 8208: 0xA9B8, - 9493 - 8208: 0xA9B9, - 9494 - 8208: 0xA9BA, - 9495 - 8208: 0xA9BB, - 9496 - 8208: 0xA9BC, - 9497 - 8208: 0xA9BD, - 9498 - 8208: 0xA9BE, - 9499 - 8208: 0xA9BF, - 9500 - 8208: 0xA9C0, - 9501 - 8208: 0xA9C1, - 9502 - 8208: 0xA9C2, - 9503 - 8208: 0xA9C3, - 9504 - 8208: 0xA9C4, - 9505 - 8208: 0xA9C5, - 9506 - 8208: 0xA9C6, - 9507 - 8208: 0xA9C7, - 9508 - 8208: 0xA9C8, - 9509 - 8208: 0xA9C9, - 9510 - 8208: 0xA9CA, - 9511 - 8208: 0xA9CB, - 9512 - 8208: 0xA9CC, - 9513 - 8208: 0xA9CD, - 9514 - 8208: 0xA9CE, - 9515 - 8208: 0xA9CF, - 9516 - 8208: 0xA9D0, - 9517 - 8208: 0xA9D1, - 9518 - 8208: 0xA9D2, - 9519 - 8208: 0xA9D3, - 9520 - 8208: 0xA9D4, - 9521 - 8208: 0xA9D5, - 9522 - 8208: 0xA9D6, - 9523 - 8208: 0xA9D7, - 9524 - 8208: 0xA9D8, - 9525 - 8208: 0xA9D9, - 9526 - 8208: 0xA9DA, - 9527 - 8208: 0xA9DB, - 9528 - 8208: 0xA9DC, - 9529 - 8208: 0xA9DD, - 9530 - 8208: 0xA9DE, - 9531 - 8208: 0xA9DF, - 9532 - 8208: 0xA9E0, - 9533 - 8208: 0xA9E1, - 9534 - 8208: 0xA9E2, - 9535 - 8208: 0xA9E3, - 9536 - 8208: 0xA9E4, - 9537 - 8208: 0xA9E5, - 9538 - 8208: 0xA9E6, - 9539 - 8208: 0xA9E7, - 9540 - 8208: 0xA9E8, - 9541 - 8208: 0xA9E9, - 9542 - 8208: 0xA9EA, - 9543 - 8208: 0xA9EB, - 9544 - 8208: 0xA9EC, - 9545 - 8208: 0xA9ED, - 9546 - 8208: 0xA9EE, - 9547 - 8208: 0xA9EF, - 9552 - 8208: 0xA854, - 9553 - 8208: 0xA855, - 9554 - 8208: 0xA856, - 9555 - 8208: 0xA857, - 9556 - 8208: 0xA858, - 9557 - 8208: 0xA859, - 9558 - 8208: 0xA85A, - 9559 - 8208: 0xA85B, - 9560 - 8208: 0xA85C, - 9561 - 8208: 0xA85D, - 9562 - 8208: 0xA85E, - 9563 - 8208: 0xA85F, - 9564 - 8208: 0xA860, - 9565 - 8208: 0xA861, - 9566 - 8208: 0xA862, - 9567 - 8208: 0xA863, - 9568 - 8208: 0xA864, - 9569 - 8208: 0xA865, - 9570 - 8208: 0xA866, - 9571 - 8208: 0xA867, - 9572 - 8208: 0xA868, - 9573 - 8208: 0xA869, - 9574 - 8208: 0xA86A, - 9575 - 8208: 0xA86B, - 9576 - 8208: 0xA86C, - 9577 - 8208: 0xA86D, - 9578 - 8208: 0xA86E, - 9579 - 8208: 0xA86F, - 9580 - 8208: 0xA870, - 9581 - 8208: 0xA871, - 9582 - 8208: 0xA872, - 9583 - 8208: 0xA873, - 9584 - 8208: 0xA874, - 9585 - 8208: 0xA875, - 9586 - 8208: 0xA876, - 9587 - 8208: 0xA877, - 9601 - 8208: 0xA878, - 9602 - 8208: 0xA879, - 9603 - 8208: 0xA87A, - 9604 - 8208: 0xA87B, - 9605 - 8208: 0xA87C, - 9606 - 8208: 0xA87D, - 9607 - 8208: 0xA87E, - 9608 - 8208: 0xA880, - 9609 - 8208: 0xA881, - 9610 - 8208: 0xA882, - 9611 - 8208: 0xA883, - 9612 - 8208: 0xA884, - 9613 - 8208: 0xA885, - 9614 - 8208: 0xA886, - 9615 - 8208: 0xA887, - 9619 - 8208: 0xA888, - 9620 - 8208: 0xA889, - 9621 - 8208: 0xA88A, - 9632 - 8208: 0xA1F6, - 9633 - 8208: 0xA1F5, - 9650 - 8208: 0xA1F8, - 9651 - 8208: 0xA1F7, - 9660 - 8208: 0xA88B, - 9661 - 8208: 0xA88C, - 9670 - 8208: 0xA1F4, - 9671 - 8208: 0xA1F3, - 9675 - 8208: 0xA1F0, - 9678 - 8208: 0xA1F2, - 9679 - 8208: 0xA1F1, - 9698 - 8208: 0xA88D, - 9699 - 8208: 0xA88E, - 9700 - 8208: 0xA88F, - 9701 - 8208: 0xA890, - 9733 - 8208: 0xA1EF, - 9734 - 8208: 0xA1EE, - 9737 - 8208: 0xA891, - 9792 - 8208: 0xA1E2, - 9794 - 8208: 0xA1E1, -} - -const encode2Low, encode2High = 164, 1106 - -var encode2 = [...]uint16{ - 164 - 164: 0xA1E8, - 167 - 164: 0xA1EC, - 168 - 164: 0xA1A7, - 176 - 164: 0xA1E3, - 177 - 164: 0xA1C0, - 183 - 164: 0xA1A4, - 215 - 164: 0xA1C1, - 224 - 164: 0xA8A4, - 225 - 164: 0xA8A2, - 232 - 164: 0xA8A8, - 233 - 164: 0xA8A6, - 234 - 164: 0xA8BA, - 236 - 164: 0xA8AC, - 237 - 164: 0xA8AA, - 242 - 164: 0xA8B0, - 243 - 164: 0xA8AE, - 247 - 164: 0xA1C2, - 249 - 164: 0xA8B4, - 250 - 164: 0xA8B2, - 252 - 164: 0xA8B9, - 257 - 164: 0xA8A1, - 275 - 164: 0xA8A5, - 283 - 164: 0xA8A7, - 299 - 164: 0xA8A9, - 324 - 164: 0xA8BD, - 328 - 164: 0xA8BE, - 333 - 164: 0xA8AD, - 363 - 164: 0xA8B1, - 462 - 164: 0xA8A3, - 464 - 164: 0xA8AB, - 466 - 164: 0xA8AF, - 468 - 164: 0xA8B3, - 470 - 164: 0xA8B5, - 472 - 164: 0xA8B6, - 474 - 164: 0xA8B7, - 476 - 164: 0xA8B8, - 505 - 164: 0xA8BF, - 593 - 164: 0xA8BB, - 609 - 164: 0xA8C0, - 711 - 164: 0xA1A6, - 713 - 164: 0xA1A5, - 714 - 164: 0xA840, - 715 - 164: 0xA841, - 729 - 164: 0xA842, - 913 - 164: 0xA6A1, - 914 - 164: 0xA6A2, - 915 - 164: 0xA6A3, - 916 - 164: 0xA6A4, - 917 - 164: 0xA6A5, - 918 - 164: 0xA6A6, - 919 - 164: 0xA6A7, - 920 - 164: 0xA6A8, - 921 - 164: 0xA6A9, - 922 - 164: 0xA6AA, - 923 - 164: 0xA6AB, - 924 - 164: 0xA6AC, - 925 - 164: 0xA6AD, - 926 - 164: 0xA6AE, - 927 - 164: 0xA6AF, - 928 - 164: 0xA6B0, - 929 - 164: 0xA6B1, - 931 - 164: 0xA6B2, - 932 - 164: 0xA6B3, - 933 - 164: 0xA6B4, - 934 - 164: 0xA6B5, - 935 - 164: 0xA6B6, - 936 - 164: 0xA6B7, - 937 - 164: 0xA6B8, - 945 - 164: 0xA6C1, - 946 - 164: 0xA6C2, - 947 - 164: 0xA6C3, - 948 - 164: 0xA6C4, - 949 - 164: 0xA6C5, - 950 - 164: 0xA6C6, - 951 - 164: 0xA6C7, - 952 - 164: 0xA6C8, - 953 - 164: 0xA6C9, - 954 - 164: 0xA6CA, - 955 - 164: 0xA6CB, - 956 - 164: 0xA6CC, - 957 - 164: 0xA6CD, - 958 - 164: 0xA6CE, - 959 - 164: 0xA6CF, - 960 - 164: 0xA6D0, - 961 - 164: 0xA6D1, - 963 - 164: 0xA6D2, - 964 - 164: 0xA6D3, - 965 - 164: 0xA6D4, - 966 - 164: 0xA6D5, - 967 - 164: 0xA6D6, - 968 - 164: 0xA6D7, - 969 - 164: 0xA6D8, - 1025 - 164: 0xA7A7, - 1040 - 164: 0xA7A1, - 1041 - 164: 0xA7A2, - 1042 - 164: 0xA7A3, - 1043 - 164: 0xA7A4, - 1044 - 164: 0xA7A5, - 1045 - 164: 0xA7A6, - 1046 - 164: 0xA7A8, - 1047 - 164: 0xA7A9, - 1048 - 164: 0xA7AA, - 1049 - 164: 0xA7AB, - 1050 - 164: 0xA7AC, - 1051 - 164: 0xA7AD, - 1052 - 164: 0xA7AE, - 1053 - 164: 0xA7AF, - 1054 - 164: 0xA7B0, - 1055 - 164: 0xA7B1, - 1056 - 164: 0xA7B2, - 1057 - 164: 0xA7B3, - 1058 - 164: 0xA7B4, - 1059 - 164: 0xA7B5, - 1060 - 164: 0xA7B6, - 1061 - 164: 0xA7B7, - 1062 - 164: 0xA7B8, - 1063 - 164: 0xA7B9, - 1064 - 164: 0xA7BA, - 1065 - 164: 0xA7BB, - 1066 - 164: 0xA7BC, - 1067 - 164: 0xA7BD, - 1068 - 164: 0xA7BE, - 1069 - 164: 0xA7BF, - 1070 - 164: 0xA7C0, - 1071 - 164: 0xA7C1, - 1072 - 164: 0xA7D1, - 1073 - 164: 0xA7D2, - 1074 - 164: 0xA7D3, - 1075 - 164: 0xA7D4, - 1076 - 164: 0xA7D5, - 1077 - 164: 0xA7D6, - 1078 - 164: 0xA7D8, - 1079 - 164: 0xA7D9, - 1080 - 164: 0xA7DA, - 1081 - 164: 0xA7DB, - 1082 - 164: 0xA7DC, - 1083 - 164: 0xA7DD, - 1084 - 164: 0xA7DE, - 1085 - 164: 0xA7DF, - 1086 - 164: 0xA7E0, - 1087 - 164: 0xA7E1, - 1088 - 164: 0xA7E2, - 1089 - 164: 0xA7E3, - 1090 - 164: 0xA7E4, - 1091 - 164: 0xA7E5, - 1092 - 164: 0xA7E6, - 1093 - 164: 0xA7E7, - 1094 - 164: 0xA7E8, - 1095 - 164: 0xA7E9, - 1096 - 164: 0xA7EA, - 1097 - 164: 0xA7EB, - 1098 - 164: 0xA7EC, - 1099 - 164: 0xA7ED, - 1100 - 164: 0xA7EE, - 1101 - 164: 0xA7EF, - 1102 - 164: 0xA7F0, - 1103 - 164: 0xA7F1, - 1105 - 164: 0xA7D7, -} - -const encode3Low, encode3High = 65072, 65510 - -var encode3 = [...]uint16{ - 65072 - 65072: 0xA955, - 65073 - 65072: 0xA6F2, - 65075 - 65072: 0xA6F4, - 65076 - 65072: 0xA6F5, - 65077 - 65072: 0xA6E0, - 65078 - 65072: 0xA6E1, - 65079 - 65072: 0xA6F0, - 65080 - 65072: 0xA6F1, - 65081 - 65072: 0xA6E2, - 65082 - 65072: 0xA6E3, - 65083 - 65072: 0xA6EE, - 65084 - 65072: 0xA6EF, - 65085 - 65072: 0xA6E6, - 65086 - 65072: 0xA6E7, - 65087 - 65072: 0xA6E4, - 65088 - 65072: 0xA6E5, - 65089 - 65072: 0xA6E8, - 65090 - 65072: 0xA6E9, - 65091 - 65072: 0xA6EA, - 65092 - 65072: 0xA6EB, - 65097 - 65072: 0xA968, - 65098 - 65072: 0xA969, - 65099 - 65072: 0xA96A, - 65100 - 65072: 0xA96B, - 65101 - 65072: 0xA96C, - 65102 - 65072: 0xA96D, - 65103 - 65072: 0xA96E, - 65104 - 65072: 0xA96F, - 65105 - 65072: 0xA970, - 65106 - 65072: 0xA971, - 65108 - 65072: 0xA972, - 65109 - 65072: 0xA973, - 65110 - 65072: 0xA974, - 65111 - 65072: 0xA975, - 65113 - 65072: 0xA976, - 65114 - 65072: 0xA977, - 65115 - 65072: 0xA978, - 65116 - 65072: 0xA979, - 65117 - 65072: 0xA97A, - 65118 - 65072: 0xA97B, - 65119 - 65072: 0xA97C, - 65120 - 65072: 0xA97D, - 65121 - 65072: 0xA97E, - 65122 - 65072: 0xA980, - 65123 - 65072: 0xA981, - 65124 - 65072: 0xA982, - 65125 - 65072: 0xA983, - 65126 - 65072: 0xA984, - 65128 - 65072: 0xA985, - 65129 - 65072: 0xA986, - 65130 - 65072: 0xA987, - 65131 - 65072: 0xA988, - 65281 - 65072: 0xA3A1, - 65282 - 65072: 0xA3A2, - 65283 - 65072: 0xA3A3, - 65284 - 65072: 0xA1E7, - 65285 - 65072: 0xA3A5, - 65286 - 65072: 0xA3A6, - 65287 - 65072: 0xA3A7, - 65288 - 65072: 0xA3A8, - 65289 - 65072: 0xA3A9, - 65290 - 65072: 0xA3AA, - 65291 - 65072: 0xA3AB, - 65292 - 65072: 0xA3AC, - 65293 - 65072: 0xA3AD, - 65294 - 65072: 0xA3AE, - 65295 - 65072: 0xA3AF, - 65296 - 65072: 0xA3B0, - 65297 - 65072: 0xA3B1, - 65298 - 65072: 0xA3B2, - 65299 - 65072: 0xA3B3, - 65300 - 65072: 0xA3B4, - 65301 - 65072: 0xA3B5, - 65302 - 65072: 0xA3B6, - 65303 - 65072: 0xA3B7, - 65304 - 65072: 0xA3B8, - 65305 - 65072: 0xA3B9, - 65306 - 65072: 0xA3BA, - 65307 - 65072: 0xA3BB, - 65308 - 65072: 0xA3BC, - 65309 - 65072: 0xA3BD, - 65310 - 65072: 0xA3BE, - 65311 - 65072: 0xA3BF, - 65312 - 65072: 0xA3C0, - 65313 - 65072: 0xA3C1, - 65314 - 65072: 0xA3C2, - 65315 - 65072: 0xA3C3, - 65316 - 65072: 0xA3C4, - 65317 - 65072: 0xA3C5, - 65318 - 65072: 0xA3C6, - 65319 - 65072: 0xA3C7, - 65320 - 65072: 0xA3C8, - 65321 - 65072: 0xA3C9, - 65322 - 65072: 0xA3CA, - 65323 - 65072: 0xA3CB, - 65324 - 65072: 0xA3CC, - 65325 - 65072: 0xA3CD, - 65326 - 65072: 0xA3CE, - 65327 - 65072: 0xA3CF, - 65328 - 65072: 0xA3D0, - 65329 - 65072: 0xA3D1, - 65330 - 65072: 0xA3D2, - 65331 - 65072: 0xA3D3, - 65332 - 65072: 0xA3D4, - 65333 - 65072: 0xA3D5, - 65334 - 65072: 0xA3D6, - 65335 - 65072: 0xA3D7, - 65336 - 65072: 0xA3D8, - 65337 - 65072: 0xA3D9, - 65338 - 65072: 0xA3DA, - 65339 - 65072: 0xA3DB, - 65340 - 65072: 0xA3DC, - 65341 - 65072: 0xA3DD, - 65342 - 65072: 0xA3DE, - 65343 - 65072: 0xA3DF, - 65344 - 65072: 0xA3E0, - 65345 - 65072: 0xA3E1, - 65346 - 65072: 0xA3E2, - 65347 - 65072: 0xA3E3, - 65348 - 65072: 0xA3E4, - 65349 - 65072: 0xA3E5, - 65350 - 65072: 0xA3E6, - 65351 - 65072: 0xA3E7, - 65352 - 65072: 0xA3E8, - 65353 - 65072: 0xA3E9, - 65354 - 65072: 0xA3EA, - 65355 - 65072: 0xA3EB, - 65356 - 65072: 0xA3EC, - 65357 - 65072: 0xA3ED, - 65358 - 65072: 0xA3EE, - 65359 - 65072: 0xA3EF, - 65360 - 65072: 0xA3F0, - 65361 - 65072: 0xA3F1, - 65362 - 65072: 0xA3F2, - 65363 - 65072: 0xA3F3, - 65364 - 65072: 0xA3F4, - 65365 - 65072: 0xA3F5, - 65366 - 65072: 0xA3F6, - 65367 - 65072: 0xA3F7, - 65368 - 65072: 0xA3F8, - 65369 - 65072: 0xA3F9, - 65370 - 65072: 0xA3FA, - 65371 - 65072: 0xA3FB, - 65372 - 65072: 0xA3FC, - 65373 - 65072: 0xA3FD, - 65374 - 65072: 0xA1AB, - 65504 - 65072: 0xA1E9, - 65505 - 65072: 0xA1EA, - 65506 - 65072: 0xA956, - 65507 - 65072: 0xA3FE, - 65508 - 65072: 0xA957, - 65509 - 65072: 0xA3A4, -} - -const encode4Low, encode4High = 63788, 64042 - -var encode4 = [...]uint16{ - 63788 - 63788: 0xFD9C, - 63865 - 63788: 0xFD9D, - 63893 - 63788: 0xFD9E, - 63975 - 63788: 0xFD9F, - 63985 - 63788: 0xFDA0, - 64012 - 63788: 0xFE40, - 64013 - 63788: 0xFE41, - 64014 - 63788: 0xFE42, - 64015 - 63788: 0xFE43, - 64017 - 63788: 0xFE44, - 64019 - 63788: 0xFE45, - 64020 - 63788: 0xFE46, - 64024 - 63788: 0xFE47, - 64031 - 63788: 0xFE48, - 64032 - 63788: 0xFE49, - 64033 - 63788: 0xFE4A, - 64035 - 63788: 0xFE4B, - 64036 - 63788: 0xFE4C, - 64039 - 63788: 0xFE4D, - 64040 - 63788: 0xFE4E, - 64041 - 63788: 0xFE4F, -} diff --git a/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go b/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go deleted file mode 100644 index 275821f5d..000000000 --- a/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go +++ /dev/null @@ -1,198 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package traditionalchinese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// All is a list of all defined encodings in this package. -var All = []encoding.Encoding{Big5} - -// Big5 is the Big5 encoding, also known as Code Page 950. -var Big5 encoding.Encoding = &big5 - -var big5 = internal.Encoding{ - &internal.SimpleEncoding{big5Decoder{}, big5Encoder{}}, - "Big5", - identifier.Big5, -} - -var errInvalidBig5 = errors.New("traditionalchinese: invalid Big5 encoding") - -type big5Decoder struct{ transform.NopResetter } - -func (big5Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size, s := rune(0), 0, "" -loop: - for ; nSrc < len(src); nSrc += size { - switch c0 := src[nSrc]; { - case c0 < utf8.RuneSelf: - r, size = rune(c0), 1 - - case 0x81 <= c0 && c0 < 0xff: - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - switch { - case 0x40 <= c1 && c1 < 0x7f: - c1 -= 0x40 - case 0xa1 <= c1 && c1 < 0xff: - c1 -= 0x62 - default: - err = errInvalidBig5 - break loop - } - r, size = '\ufffd', 2 - if i := int(c0-0x81)*157 + int(c1); i < len(decode) { - if 1133 <= i && i < 1167 { - // The two-rune special cases for LATIN CAPITAL / SMALL E WITH CIRCUMFLEX - // AND MACRON / CARON are from http://encoding.spec.whatwg.org/#big5 - switch i { - case 1133: - s = "\u00CA\u0304" - goto writeStr - case 1135: - s = "\u00CA\u030C" - goto writeStr - case 1164: - s = "\u00EA\u0304" - goto writeStr - case 1166: - s = "\u00EA\u030C" - goto writeStr - } - } - r = rune(decode[i]) - if r == 0 { - r = '\ufffd' - } - } - - default: - err = errInvalidBig5 - break loop - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - continue loop - - writeStr: - if nDst+len(s) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += copy(dst[nDst:], s) - continue loop - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidBig5 - } - return nDst, nSrc, err -} - -type big5Encoder struct{ transform.NopResetter } - -func (big5Encoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - } - - if r >= utf8.RuneSelf { - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r != 0 { - goto write2 - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r != 0 { - goto write2 - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r != 0 { - goto write2 - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r != 0 { - goto write2 - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r != 0 { - goto write2 - } - case encode5Low <= r && r < encode5High: - if r = rune(encode5[r-encode5Low]); r != 0 { - goto write2 - } - case encode6Low <= r && r < encode6High: - if r = rune(encode6[r-encode6Low]); r != 0 { - goto write2 - } - case encode7Low <= r && r < encode7High: - if r = rune(encode7[r-encode7Low]); r != 0 { - goto write2 - } - } - err = internal.ErrASCIIReplacement - break - } - - write2: - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = uint8(r >> 8) - dst[nDst+1] = uint8(r) - nDst += 2 - continue - } - return nDst, nSrc, err -} - -func init() { - // Check that the hard-coded encode switch covers all tables. - if numEncodeTables != 8 { - panic("bad numEncodeTables") - } -} diff --git a/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go b/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go deleted file mode 100644 index cf7fdb31a..000000000 --- a/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This program generates tables.go: -// go run maketables.go | gofmt > tables.go - -import ( - "bufio" - "fmt" - "log" - "net/http" - "sort" - "strings" -) - -func main() { - fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") - fmt.Printf("// Package traditionalchinese provides Traditional Chinese encodings such as Big5.\n") - fmt.Printf(`package traditionalchinese // import "golang.org/x/text/encoding/traditionalchinese"` + "\n\n") - - res, err := http.Get("http://encoding.spec.whatwg.org/index-big5.txt") - if err != nil { - log.Fatalf("Get: %v", err) - } - defer res.Body.Close() - - mapping := [65536]uint32{} - reverse := [65536 * 4]uint16{} - - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := uint16(0), uint32(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0 || 126*157 <= x { - log.Fatalf("Big5 code %d is out of range", x) - } - mapping[x] = y - - // The WHATWG spec http://encoding.spec.whatwg.org/#indexes says that - // "The index pointer for code point in index is the first pointer - // corresponding to code point in index", which would normally mean - // that the code below should be guarded by "if reverse[y] == 0", but - // last instead of first seems to match the behavior of - // "iconv -f UTF-8 -t BIG5". For example, U+8005 者 occurs twice in - // http://encoding.spec.whatwg.org/index-big5.txt, as index 2148 - // (encoded as "\x8e\xcd") and index 6543 (encoded as "\xaa\xcc") - // and "echo 者 | iconv -f UTF-8 -t BIG5 | xxd" gives "\xaa\xcc". - c0, c1 := x/157, x%157 - if c1 < 0x3f { - c1 += 0x40 - } else { - c1 += 0x62 - } - reverse[y] = (0x81+c0)<<8 | c1 - } - if err := scanner.Err(); err != nil { - log.Fatalf("scanner error: %v", err) - } - - fmt.Printf("// decode is the decoding table from Big5 code to Unicode.\n") - fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-big5.txt\n") - fmt.Printf("var decode = [...]uint32{\n") - for i, v := range mapping { - if v != 0 { - fmt.Printf("\t%d: 0x%08X,\n", i, v) - } - } - fmt.Printf("}\n\n") - - // Any run of at least separation continuous zero entries in the reverse map will - // be a separate encode table. - const separation = 1024 - - intervals := []interval(nil) - low, high := -1, -1 - for i, v := range reverse { - if v == 0 { - continue - } - if low < 0 { - low = i - } else if i-high >= separation { - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - low = i - } - high = i + 1 - } - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - sort.Sort(byDecreasingLength(intervals)) - - fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) - fmt.Printf("// encodeX are the encoding tables from Unicode to Big5 code,\n") - fmt.Printf("// sorted by decreasing length.\n") - for i, v := range intervals { - fmt.Printf("// encode%d: %5d entries for runes in [%6d, %6d).\n", i, v.len(), v.low, v.high) - } - fmt.Printf("\n") - - for i, v := range intervals { - fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) - fmt.Printf("var encode%d = [...]uint16{\n", i) - for j := v.low; j < v.high; j++ { - x := reverse[j] - if x == 0 { - continue - } - fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) - } - fmt.Printf("}\n\n") - } -} - -// interval is a half-open interval [low, high). -type interval struct { - low, high int -} - -func (i interval) len() int { return i.high - i.low } - -// byDecreasingLength sorts intervals by decreasing length. -type byDecreasingLength []interval - -func (b byDecreasingLength) Len() int { return len(b) } -func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } -func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } diff --git a/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go b/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go deleted file mode 100644 index b0d23c7d9..000000000 --- a/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go +++ /dev/null @@ -1,37142 +0,0 @@ -// generated by go run maketables.go; DO NOT EDIT - -// Package traditionalchinese provides Traditional Chinese encodings such as Big5. -package traditionalchinese - -// decode is the decoding table from Big5 code to Unicode. -// It is defined at http://encoding.spec.whatwg.org/index-big5.txt -var decode = [...]uint32{ - 942: 0x000043F0, - 943: 0x00004C32, - 944: 0x00004603, - 945: 0x000045A6, - 946: 0x00004578, - 947: 0x00027267, - 948: 0x00004D77, - 949: 0x000045B3, - 950: 0x00027CB1, - 951: 0x00004CE2, - 952: 0x00027CC5, - 953: 0x00003B95, - 954: 0x00004736, - 955: 0x00004744, - 956: 0x00004C47, - 957: 0x00004C40, - 958: 0x000242BF, - 959: 0x00023617, - 960: 0x00027352, - 961: 0x00026E8B, - 962: 0x000270D2, - 963: 0x00004C57, - 964: 0x0002A351, - 965: 0x0000474F, - 966: 0x000045DA, - 967: 0x00004C85, - 968: 0x00027C6C, - 969: 0x00004D07, - 970: 0x00004AA4, - 971: 0x000046A1, - 972: 0x00026B23, - 973: 0x00007225, - 974: 0x00025A54, - 975: 0x00021A63, - 976: 0x00023E06, - 977: 0x00023F61, - 978: 0x0000664D, - 979: 0x000056FB, - 981: 0x00007D95, - 982: 0x0000591D, - 983: 0x00028BB9, - 984: 0x00003DF4, - 985: 0x00009734, - 986: 0x00027BEF, - 987: 0x00005BDB, - 988: 0x00021D5E, - 989: 0x00005AA4, - 990: 0x00003625, - 991: 0x00029EB0, - 992: 0x00005AD1, - 993: 0x00005BB7, - 994: 0x00005CFC, - 995: 0x0000676E, - 996: 0x00008593, - 997: 0x00029945, - 998: 0x00007461, - 999: 0x0000749D, - 1000: 0x00003875, - 1001: 0x00021D53, - 1002: 0x0002369E, - 1003: 0x00026021, - 1004: 0x00003EEC, - 1005: 0x000258DE, - 1006: 0x00003AF5, - 1007: 0x00007AFC, - 1008: 0x00009F97, - 1009: 0x00024161, - 1010: 0x0002890D, - 1011: 0x000231EA, - 1012: 0x00020A8A, - 1013: 0x0002325E, - 1014: 0x0000430A, - 1015: 0x00008484, - 1016: 0x00009F96, - 1017: 0x0000942F, - 1018: 0x00004930, - 1019: 0x00008613, - 1020: 0x00005896, - 1021: 0x0000974A, - 1022: 0x00009218, - 1023: 0x000079D0, - 1024: 0x00007A32, - 1025: 0x00006660, - 1026: 0x00006A29, - 1027: 0x0000889D, - 1028: 0x0000744C, - 1029: 0x00007BC5, - 1030: 0x00006782, - 1031: 0x00007A2C, - 1032: 0x0000524F, - 1033: 0x00009046, - 1034: 0x000034E6, - 1035: 0x000073C4, - 1036: 0x00025DB9, - 1037: 0x000074C6, - 1038: 0x00009FC7, - 1039: 0x000057B3, - 1040: 0x0000492F, - 1041: 0x0000544C, - 1042: 0x00004131, - 1043: 0x0002368E, - 1044: 0x00005818, - 1045: 0x00007A72, - 1046: 0x00027B65, - 1047: 0x00008B8F, - 1048: 0x000046AE, - 1049: 0x00026E88, - 1050: 0x00004181, - 1051: 0x00025D99, - 1052: 0x00007BAE, - 1053: 0x000224BC, - 1054: 0x00009FC8, - 1055: 0x000224C1, - 1056: 0x000224C9, - 1057: 0x000224CC, - 1058: 0x00009FC9, - 1059: 0x00008504, - 1060: 0x000235BB, - 1061: 0x000040B4, - 1062: 0x00009FCA, - 1063: 0x000044E1, - 1064: 0x0002ADFF, - 1065: 0x000062C1, - 1066: 0x0000706E, - 1067: 0x00009FCB, - 1099: 0x000031C0, - 1100: 0x000031C1, - 1101: 0x000031C2, - 1102: 0x000031C3, - 1103: 0x000031C4, - 1104: 0x0002010C, - 1105: 0x000031C5, - 1106: 0x000200D1, - 1107: 0x000200CD, - 1108: 0x000031C6, - 1109: 0x000031C7, - 1110: 0x000200CB, - 1111: 0x00021FE8, - 1112: 0x000031C8, - 1113: 0x000200CA, - 1114: 0x000031C9, - 1115: 0x000031CA, - 1116: 0x000031CB, - 1117: 0x000031CC, - 1118: 0x0002010E, - 1119: 0x000031CD, - 1120: 0x000031CE, - 1121: 0x00000100, - 1122: 0x000000C1, - 1123: 0x000001CD, - 1124: 0x000000C0, - 1125: 0x00000112, - 1126: 0x000000C9, - 1127: 0x0000011A, - 1128: 0x000000C8, - 1129: 0x0000014C, - 1130: 0x000000D3, - 1131: 0x000001D1, - 1132: 0x000000D2, - 1134: 0x00001EBE, - 1136: 0x00001EC0, - 1137: 0x000000CA, - 1138: 0x00000101, - 1139: 0x000000E1, - 1140: 0x000001CE, - 1141: 0x000000E0, - 1142: 0x00000251, - 1143: 0x00000113, - 1144: 0x000000E9, - 1145: 0x0000011B, - 1146: 0x000000E8, - 1147: 0x0000012B, - 1148: 0x000000ED, - 1149: 0x000001D0, - 1150: 0x000000EC, - 1151: 0x0000014D, - 1152: 0x000000F3, - 1153: 0x000001D2, - 1154: 0x000000F2, - 1155: 0x0000016B, - 1156: 0x000000FA, - 1157: 0x000001D4, - 1158: 0x000000F9, - 1159: 0x000001D6, - 1160: 0x000001D8, - 1161: 0x000001DA, - 1162: 0x000001DC, - 1163: 0x000000FC, - 1165: 0x00001EBF, - 1167: 0x00001EC1, - 1168: 0x000000EA, - 1169: 0x00000261, - 1170: 0x000023DA, - 1171: 0x000023DB, - 1256: 0x0002A3A9, - 1257: 0x00021145, - 1259: 0x0000650A, - 1262: 0x00004E3D, - 1263: 0x00006EDD, - 1264: 0x00009D4E, - 1265: 0x000091DF, - 1268: 0x00027735, - 1269: 0x00006491, - 1270: 0x00004F1A, - 1271: 0x00004F28, - 1272: 0x00004FA8, - 1273: 0x00005156, - 1274: 0x00005174, - 1275: 0x0000519C, - 1276: 0x000051E4, - 1277: 0x000052A1, - 1278: 0x000052A8, - 1279: 0x0000533B, - 1280: 0x0000534E, - 1281: 0x000053D1, - 1282: 0x000053D8, - 1283: 0x000056E2, - 1284: 0x000058F0, - 1285: 0x00005904, - 1286: 0x00005907, - 1287: 0x00005932, - 1288: 0x00005934, - 1289: 0x00005B66, - 1290: 0x00005B9E, - 1291: 0x00005B9F, - 1292: 0x00005C9A, - 1293: 0x00005E86, - 1294: 0x0000603B, - 1295: 0x00006589, - 1296: 0x000067FE, - 1297: 0x00006804, - 1298: 0x00006865, - 1299: 0x00006D4E, - 1300: 0x000070BC, - 1301: 0x00007535, - 1302: 0x00007EA4, - 1303: 0x00007EAC, - 1304: 0x00007EBA, - 1305: 0x00007EC7, - 1306: 0x00007ECF, - 1307: 0x00007EDF, - 1308: 0x00007F06, - 1309: 0x00007F37, - 1310: 0x0000827A, - 1311: 0x000082CF, - 1312: 0x0000836F, - 1313: 0x000089C6, - 1314: 0x00008BBE, - 1315: 0x00008BE2, - 1316: 0x00008F66, - 1317: 0x00008F67, - 1318: 0x00008F6E, - 1319: 0x00007411, - 1320: 0x00007CFC, - 1321: 0x00007DCD, - 1322: 0x00006946, - 1323: 0x00007AC9, - 1324: 0x00005227, - 1329: 0x0000918C, - 1330: 0x000078B8, - 1331: 0x0000915E, - 1332: 0x000080BC, - 1334: 0x00008D0B, - 1335: 0x000080F6, - 1336: 0x000209E7, - 1339: 0x0000809F, - 1340: 0x00009EC7, - 1341: 0x00004CCD, - 1342: 0x00009DC9, - 1343: 0x00009E0C, - 1344: 0x00004C3E, - 1345: 0x00029DF6, - 1346: 0x0002700E, - 1347: 0x00009E0A, - 1348: 0x0002A133, - 1349: 0x000035C1, - 1351: 0x00006E9A, - 1352: 0x0000823E, - 1353: 0x00007519, - 1355: 0x00004911, - 1356: 0x00009A6C, - 1357: 0x00009A8F, - 1358: 0x00009F99, - 1359: 0x00007987, - 1360: 0x0002846C, - 1361: 0x00021DCA, - 1362: 0x000205D0, - 1363: 0x00022AE6, - 1364: 0x00004E24, - 1365: 0x00004E81, - 1366: 0x00004E80, - 1367: 0x00004E87, - 1368: 0x00004EBF, - 1369: 0x00004EEB, - 1370: 0x00004F37, - 1371: 0x0000344C, - 1372: 0x00004FBD, - 1373: 0x00003E48, - 1374: 0x00005003, - 1375: 0x00005088, - 1376: 0x0000347D, - 1377: 0x00003493, - 1378: 0x000034A5, - 1379: 0x00005186, - 1380: 0x00005905, - 1381: 0x000051DB, - 1382: 0x000051FC, - 1383: 0x00005205, - 1384: 0x00004E89, - 1385: 0x00005279, - 1386: 0x00005290, - 1387: 0x00005327, - 1388: 0x000035C7, - 1389: 0x000053A9, - 1390: 0x00003551, - 1391: 0x000053B0, - 1392: 0x00003553, - 1393: 0x000053C2, - 1394: 0x00005423, - 1395: 0x0000356D, - 1396: 0x00003572, - 1397: 0x00003681, - 1398: 0x00005493, - 1399: 0x000054A3, - 1400: 0x000054B4, - 1401: 0x000054B9, - 1402: 0x000054D0, - 1403: 0x000054EF, - 1404: 0x00005518, - 1405: 0x00005523, - 1406: 0x00005528, - 1407: 0x00003598, - 1408: 0x0000553F, - 1409: 0x000035A5, - 1410: 0x000035BF, - 1411: 0x000055D7, - 1412: 0x000035C5, - 1413: 0x00027D84, - 1414: 0x00005525, - 1416: 0x00020C42, - 1417: 0x00020D15, - 1418: 0x0002512B, - 1419: 0x00005590, - 1420: 0x00022CC6, - 1421: 0x000039EC, - 1422: 0x00020341, - 1423: 0x00008E46, - 1424: 0x00024DB8, - 1425: 0x000294E5, - 1426: 0x00004053, - 1427: 0x000280BE, - 1428: 0x0000777A, - 1429: 0x00022C38, - 1430: 0x00003A34, - 1431: 0x000047D5, - 1432: 0x0002815D, - 1433: 0x000269F2, - 1434: 0x00024DEA, - 1435: 0x000064DD, - 1436: 0x00020D7C, - 1437: 0x00020FB4, - 1438: 0x00020CD5, - 1439: 0x000210F4, - 1440: 0x0000648D, - 1441: 0x00008E7E, - 1442: 0x00020E96, - 1443: 0x00020C0B, - 1444: 0x00020F64, - 1445: 0x00022CA9, - 1446: 0x00028256, - 1447: 0x000244D3, - 1449: 0x00020D46, - 1450: 0x00029A4D, - 1451: 0x000280E9, - 1452: 0x000047F4, - 1453: 0x00024EA7, - 1454: 0x00022CC2, - 1455: 0x00009AB2, - 1456: 0x00003A67, - 1457: 0x000295F4, - 1458: 0x00003FED, - 1459: 0x00003506, - 1460: 0x000252C7, - 1461: 0x000297D4, - 1462: 0x000278C8, - 1463: 0x00022D44, - 1464: 0x00009D6E, - 1465: 0x00009815, - 1467: 0x000043D9, - 1468: 0x000260A5, - 1469: 0x000064B4, - 1470: 0x000054E3, - 1471: 0x00022D4C, - 1472: 0x00022BCA, - 1473: 0x00021077, - 1474: 0x000039FB, - 1475: 0x0002106F, - 1476: 0x000266DA, - 1477: 0x00026716, - 1478: 0x000279A0, - 1479: 0x000064EA, - 1480: 0x00025052, - 1481: 0x00020C43, - 1482: 0x00008E68, - 1483: 0x000221A1, - 1484: 0x00028B4C, - 1485: 0x00020731, - 1487: 0x0000480B, - 1488: 0x000201A9, - 1489: 0x00003FFA, - 1490: 0x00005873, - 1491: 0x00022D8D, - 1493: 0x000245C8, - 1494: 0x000204FC, - 1495: 0x00026097, - 1496: 0x00020F4C, - 1497: 0x00020D96, - 1498: 0x00005579, - 1499: 0x000040BB, - 1500: 0x000043BA, - 1502: 0x00004AB4, - 1503: 0x00022A66, - 1504: 0x0002109D, - 1505: 0x000081AA, - 1506: 0x000098F5, - 1507: 0x00020D9C, - 1508: 0x00006379, - 1509: 0x000039FE, - 1510: 0x00022775, - 1511: 0x00008DC0, - 1512: 0x000056A1, - 1513: 0x0000647C, - 1514: 0x00003E43, - 1516: 0x0002A601, - 1517: 0x00020E09, - 1518: 0x00022ACF, - 1519: 0x00022CC9, - 1521: 0x000210C8, - 1522: 0x000239C2, - 1523: 0x00003992, - 1524: 0x00003A06, - 1525: 0x0002829B, - 1526: 0x00003578, - 1527: 0x00025E49, - 1528: 0x000220C7, - 1529: 0x00005652, - 1530: 0x00020F31, - 1531: 0x00022CB2, - 1532: 0x00029720, - 1533: 0x000034BC, - 1534: 0x00006C3D, - 1535: 0x00024E3B, - 1538: 0x00027574, - 1539: 0x00022E8B, - 1540: 0x00022208, - 1541: 0x0002A65B, - 1542: 0x00028CCD, - 1543: 0x00020E7A, - 1544: 0x00020C34, - 1545: 0x0002681C, - 1546: 0x00007F93, - 1547: 0x000210CF, - 1548: 0x00022803, - 1549: 0x00022939, - 1550: 0x000035FB, - 1551: 0x000251E3, - 1552: 0x00020E8C, - 1553: 0x00020F8D, - 1554: 0x00020EAA, - 1555: 0x00003F93, - 1556: 0x00020F30, - 1557: 0x00020D47, - 1558: 0x0002114F, - 1559: 0x00020E4C, - 1561: 0x00020EAB, - 1562: 0x00020BA9, - 1563: 0x00020D48, - 1564: 0x000210C0, - 1565: 0x0002113D, - 1566: 0x00003FF9, - 1567: 0x00022696, - 1568: 0x00006432, - 1569: 0x00020FAD, - 1570: 0x000233F4, - 1571: 0x00027639, - 1572: 0x00022BCE, - 1573: 0x00020D7E, - 1574: 0x00020D7F, - 1575: 0x00022C51, - 1576: 0x00022C55, - 1577: 0x00003A18, - 1578: 0x00020E98, - 1579: 0x000210C7, - 1580: 0x00020F2E, - 1581: 0x0002A632, - 1582: 0x00026B50, - 1583: 0x00028CD2, - 1584: 0x00028D99, - 1585: 0x00028CCA, - 1586: 0x000095AA, - 1587: 0x000054CC, - 1588: 0x000082C4, - 1589: 0x000055B9, - 1591: 0x00029EC3, - 1592: 0x00009C26, - 1593: 0x00009AB6, - 1594: 0x0002775E, - 1595: 0x00022DEE, - 1596: 0x00007140, - 1597: 0x0000816D, - 1598: 0x000080EC, - 1599: 0x00005C1C, - 1600: 0x00026572, - 1601: 0x00008134, - 1602: 0x00003797, - 1603: 0x0000535F, - 1604: 0x000280BD, - 1605: 0x000091B6, - 1606: 0x00020EFA, - 1607: 0x00020E0F, - 1608: 0x00020E77, - 1609: 0x00020EFB, - 1610: 0x000035DD, - 1611: 0x00024DEB, - 1612: 0x00003609, - 1613: 0x00020CD6, - 1614: 0x000056AF, - 1615: 0x000227B5, - 1616: 0x000210C9, - 1617: 0x00020E10, - 1618: 0x00020E78, - 1619: 0x00021078, - 1620: 0x00021148, - 1621: 0x00028207, - 1622: 0x00021455, - 1623: 0x00020E79, - 1624: 0x00024E50, - 1625: 0x00022DA4, - 1626: 0x00005A54, - 1627: 0x0002101D, - 1628: 0x0002101E, - 1629: 0x000210F5, - 1630: 0x000210F6, - 1631: 0x0000579C, - 1632: 0x00020E11, - 1633: 0x00027694, - 1634: 0x000282CD, - 1635: 0x00020FB5, - 1636: 0x00020E7B, - 1637: 0x0002517E, - 1638: 0x00003703, - 1639: 0x00020FB6, - 1640: 0x00021180, - 1641: 0x000252D8, - 1642: 0x0002A2BD, - 1643: 0x000249DA, - 1644: 0x0002183A, - 1645: 0x00024177, - 1646: 0x0002827C, - 1647: 0x00005899, - 1648: 0x00005268, - 1649: 0x0000361A, - 1650: 0x0002573D, - 1651: 0x00007BB2, - 1652: 0x00005B68, - 1653: 0x00004800, - 1654: 0x00004B2C, - 1655: 0x00009F27, - 1656: 0x000049E7, - 1657: 0x00009C1F, - 1658: 0x00009B8D, - 1659: 0x00025B74, - 1660: 0x0002313D, - 1661: 0x000055FB, - 1662: 0x000035F2, - 1663: 0x00005689, - 1664: 0x00004E28, - 1665: 0x00005902, - 1666: 0x00021BC1, - 1667: 0x0002F878, - 1668: 0x00009751, - 1669: 0x00020086, - 1670: 0x00004E5B, - 1671: 0x00004EBB, - 1672: 0x0000353E, - 1673: 0x00005C23, - 1674: 0x00005F51, - 1675: 0x00005FC4, - 1676: 0x000038FA, - 1677: 0x0000624C, - 1678: 0x00006535, - 1679: 0x00006B7A, - 1680: 0x00006C35, - 1681: 0x00006C3A, - 1682: 0x0000706C, - 1683: 0x0000722B, - 1684: 0x00004E2C, - 1685: 0x000072AD, - 1686: 0x000248E9, - 1687: 0x00007F52, - 1688: 0x0000793B, - 1689: 0x00007CF9, - 1690: 0x00007F53, - 1691: 0x0002626A, - 1692: 0x000034C1, - 1694: 0x0002634B, - 1695: 0x00008002, - 1696: 0x00008080, - 1697: 0x00026612, - 1698: 0x00026951, - 1699: 0x0000535D, - 1700: 0x00008864, - 1701: 0x000089C1, - 1702: 0x000278B2, - 1703: 0x00008BA0, - 1704: 0x00008D1D, - 1705: 0x00009485, - 1706: 0x00009578, - 1707: 0x0000957F, - 1708: 0x000095E8, - 1709: 0x00028E0F, - 1710: 0x000097E6, - 1711: 0x00009875, - 1712: 0x000098CE, - 1713: 0x000098DE, - 1714: 0x00009963, - 1715: 0x00029810, - 1716: 0x00009C7C, - 1717: 0x00009E1F, - 1718: 0x00009EC4, - 1719: 0x00006B6F, - 1720: 0x0000F907, - 1721: 0x00004E37, - 1722: 0x00020087, - 1723: 0x0000961D, - 1724: 0x00006237, - 1725: 0x000094A2, - 1727: 0x0000503B, - 1728: 0x00006DFE, - 1729: 0x00029C73, - 1730: 0x00009FA6, - 1731: 0x00003DC9, - 1732: 0x0000888F, - 1733: 0x0002414E, - 1734: 0x00007077, - 1735: 0x00005CF5, - 1736: 0x00004B20, - 1737: 0x000251CD, - 1738: 0x00003559, - 1739: 0x00025D30, - 1740: 0x00006122, - 1741: 0x00028A32, - 1742: 0x00008FA7, - 1743: 0x000091F6, - 1744: 0x00007191, - 1745: 0x00006719, - 1746: 0x000073BA, - 1747: 0x00023281, - 1748: 0x0002A107, - 1749: 0x00003C8B, - 1750: 0x00021980, - 1751: 0x00004B10, - 1752: 0x000078E4, - 1753: 0x00007402, - 1754: 0x000051AE, - 1755: 0x0002870F, - 1756: 0x00004009, - 1757: 0x00006A63, - 1758: 0x0002A2BA, - 1759: 0x00004223, - 1760: 0x0000860F, - 1761: 0x00020A6F, - 1762: 0x00007A2A, - 1763: 0x00029947, - 1764: 0x00028AEA, - 1765: 0x00009755, - 1766: 0x0000704D, - 1767: 0x00005324, - 1768: 0x0002207E, - 1769: 0x000093F4, - 1770: 0x000076D9, - 1771: 0x000289E3, - 1772: 0x00009FA7, - 1773: 0x000077DD, - 1774: 0x00004EA3, - 1775: 0x00004FF0, - 1776: 0x000050BC, - 1777: 0x00004E2F, - 1778: 0x00004F17, - 1779: 0x00009FA8, - 1780: 0x00005434, - 1781: 0x00007D8B, - 1782: 0x00005892, - 1783: 0x000058D0, - 1784: 0x00021DB6, - 1785: 0x00005E92, - 1786: 0x00005E99, - 1787: 0x00005FC2, - 1788: 0x00022712, - 1789: 0x0000658B, - 1790: 0x000233F9, - 1791: 0x00006919, - 1792: 0x00006A43, - 1793: 0x00023C63, - 1794: 0x00006CFF, - 1796: 0x00007200, - 1797: 0x00024505, - 1798: 0x0000738C, - 1799: 0x00003EDB, - 1800: 0x00024A13, - 1801: 0x00005B15, - 1802: 0x000074B9, - 1803: 0x00008B83, - 1804: 0x00025CA4, - 1805: 0x00025695, - 1806: 0x00007A93, - 1807: 0x00007BEC, - 1808: 0x00007CC3, - 1809: 0x00007E6C, - 1810: 0x000082F8, - 1811: 0x00008597, - 1812: 0x00009FA9, - 1813: 0x00008890, - 1814: 0x00009FAA, - 1815: 0x00008EB9, - 1816: 0x00009FAB, - 1817: 0x00008FCF, - 1818: 0x0000855F, - 1819: 0x000099E0, - 1820: 0x00009221, - 1821: 0x00009FAC, - 1822: 0x00028DB9, - 1823: 0x0002143F, - 1824: 0x00004071, - 1825: 0x000042A2, - 1826: 0x00005A1A, - 1830: 0x00009868, - 1831: 0x0000676B, - 1832: 0x00004276, - 1833: 0x0000573D, - 1835: 0x000085D6, - 1836: 0x0002497B, - 1837: 0x000082BF, - 1838: 0x0002710D, - 1839: 0x00004C81, - 1840: 0x00026D74, - 1841: 0x00005D7B, - 1842: 0x00026B15, - 1843: 0x00026FBE, - 1844: 0x00009FAD, - 1845: 0x00009FAE, - 1846: 0x00005B96, - 1847: 0x00009FAF, - 1848: 0x000066E7, - 1849: 0x00007E5B, - 1850: 0x00006E57, - 1851: 0x000079CA, - 1852: 0x00003D88, - 1853: 0x000044C3, - 1854: 0x00023256, - 1855: 0x00022796, - 1856: 0x0000439A, - 1857: 0x00004536, - 1859: 0x00005CD5, - 1860: 0x00023B1A, - 1861: 0x00008AF9, - 1862: 0x00005C78, - 1863: 0x00003D12, - 1864: 0x00023551, - 1865: 0x00005D78, - 1866: 0x00009FB2, - 1867: 0x00007157, - 1868: 0x00004558, - 1869: 0x000240EC, - 1870: 0x00021E23, - 1871: 0x00004C77, - 1872: 0x00003978, - 1873: 0x0000344A, - 1874: 0x000201A4, - 1875: 0x00026C41, - 1876: 0x00008ACC, - 1877: 0x00004FB4, - 1878: 0x00020239, - 1879: 0x000059BF, - 1880: 0x0000816C, - 1881: 0x00009856, - 1882: 0x000298FA, - 1883: 0x00005F3B, - 1884: 0x00020B9F, - 1886: 0x000221C1, - 1887: 0x0002896D, - 1888: 0x00004102, - 1889: 0x000046BB, - 1890: 0x00029079, - 1891: 0x00003F07, - 1892: 0x00009FB3, - 1893: 0x0002A1B5, - 1894: 0x000040F8, - 1895: 0x000037D6, - 1896: 0x000046F7, - 1897: 0x00026C46, - 1898: 0x0000417C, - 1899: 0x000286B2, - 1900: 0x000273FF, - 1901: 0x0000456D, - 1902: 0x000038D4, - 1903: 0x0002549A, - 1904: 0x00004561, - 1905: 0x0000451B, - 1906: 0x00004D89, - 1907: 0x00004C7B, - 1908: 0x00004D76, - 1909: 0x000045EA, - 1910: 0x00003FC8, - 1911: 0x00024B0F, - 1912: 0x00003661, - 1913: 0x000044DE, - 1914: 0x000044BD, - 1915: 0x000041ED, - 1916: 0x00005D3E, - 1917: 0x00005D48, - 1918: 0x00005D56, - 1919: 0x00003DFC, - 1920: 0x0000380F, - 1921: 0x00005DA4, - 1922: 0x00005DB9, - 1923: 0x00003820, - 1924: 0x00003838, - 1925: 0x00005E42, - 1926: 0x00005EBD, - 1927: 0x00005F25, - 1928: 0x00005F83, - 1929: 0x00003908, - 1930: 0x00003914, - 1931: 0x0000393F, - 1932: 0x0000394D, - 1933: 0x000060D7, - 1934: 0x0000613D, - 1935: 0x00005CE5, - 1936: 0x00003989, - 1937: 0x000061B7, - 1938: 0x000061B9, - 1939: 0x000061CF, - 1940: 0x000039B8, - 1941: 0x0000622C, - 1942: 0x00006290, - 1943: 0x000062E5, - 1944: 0x00006318, - 1945: 0x000039F8, - 1946: 0x000056B1, - 1947: 0x00003A03, - 1948: 0x000063E2, - 1949: 0x000063FB, - 1950: 0x00006407, - 1951: 0x0000645A, - 1952: 0x00003A4B, - 1953: 0x000064C0, - 1954: 0x00005D15, - 1955: 0x00005621, - 1956: 0x00009F9F, - 1957: 0x00003A97, - 1958: 0x00006586, - 1959: 0x00003ABD, - 1960: 0x000065FF, - 1961: 0x00006653, - 1962: 0x00003AF2, - 1963: 0x00006692, - 1964: 0x00003B22, - 1965: 0x00006716, - 1966: 0x00003B42, - 1967: 0x000067A4, - 1968: 0x00006800, - 1969: 0x00003B58, - 1970: 0x0000684A, - 1971: 0x00006884, - 1972: 0x00003B72, - 1973: 0x00003B71, - 1974: 0x00003B7B, - 1975: 0x00006909, - 1976: 0x00006943, - 1977: 0x0000725C, - 1978: 0x00006964, - 1979: 0x0000699F, - 1980: 0x00006985, - 1981: 0x00003BBC, - 1982: 0x000069D6, - 1983: 0x00003BDD, - 1984: 0x00006A65, - 1985: 0x00006A74, - 1986: 0x00006A71, - 1987: 0x00006A82, - 1988: 0x00003BEC, - 1989: 0x00006A99, - 1990: 0x00003BF2, - 1991: 0x00006AAB, - 1992: 0x00006AB5, - 1993: 0x00006AD4, - 1994: 0x00006AF6, - 1995: 0x00006B81, - 1996: 0x00006BC1, - 1997: 0x00006BEA, - 1998: 0x00006C75, - 1999: 0x00006CAA, - 2000: 0x00003CCB, - 2001: 0x00006D02, - 2002: 0x00006D06, - 2003: 0x00006D26, - 2004: 0x00006D81, - 2005: 0x00003CEF, - 2006: 0x00006DA4, - 2007: 0x00006DB1, - 2008: 0x00006E15, - 2009: 0x00006E18, - 2010: 0x00006E29, - 2011: 0x00006E86, - 2012: 0x000289C0, - 2013: 0x00006EBB, - 2014: 0x00006EE2, - 2015: 0x00006EDA, - 2016: 0x00009F7F, - 2017: 0x00006EE8, - 2018: 0x00006EE9, - 2019: 0x00006F24, - 2020: 0x00006F34, - 2021: 0x00003D46, - 2022: 0x00023F41, - 2023: 0x00006F81, - 2024: 0x00006FBE, - 2025: 0x00003D6A, - 2026: 0x00003D75, - 2027: 0x000071B7, - 2028: 0x00005C99, - 2029: 0x00003D8A, - 2030: 0x0000702C, - 2031: 0x00003D91, - 2032: 0x00007050, - 2033: 0x00007054, - 2034: 0x0000706F, - 2035: 0x0000707F, - 2036: 0x00007089, - 2037: 0x00020325, - 2038: 0x000043C1, - 2039: 0x000035F1, - 2040: 0x00020ED8, - 2041: 0x00023ED7, - 2042: 0x000057BE, - 2043: 0x00026ED3, - 2044: 0x0000713E, - 2045: 0x000257E0, - 2046: 0x0000364E, - 2047: 0x000069A2, - 2048: 0x00028BE9, - 2049: 0x00005B74, - 2050: 0x00007A49, - 2051: 0x000258E1, - 2052: 0x000294D9, - 2053: 0x00007A65, - 2054: 0x00007A7D, - 2055: 0x000259AC, - 2056: 0x00007ABB, - 2057: 0x00007AB0, - 2058: 0x00007AC2, - 2059: 0x00007AC3, - 2060: 0x000071D1, - 2061: 0x0002648D, - 2062: 0x000041CA, - 2063: 0x00007ADA, - 2064: 0x00007ADD, - 2065: 0x00007AEA, - 2066: 0x000041EF, - 2067: 0x000054B2, - 2068: 0x00025C01, - 2069: 0x00007B0B, - 2070: 0x00007B55, - 2071: 0x00007B29, - 2072: 0x0002530E, - 2073: 0x00025CFE, - 2074: 0x00007BA2, - 2075: 0x00007B6F, - 2076: 0x0000839C, - 2077: 0x00025BB4, - 2078: 0x00026C7F, - 2079: 0x00007BD0, - 2080: 0x00008421, - 2081: 0x00007B92, - 2082: 0x00007BB8, - 2083: 0x00025D20, - 2084: 0x00003DAD, - 2085: 0x00025C65, - 2086: 0x00008492, - 2087: 0x00007BFA, - 2088: 0x00007C06, - 2089: 0x00007C35, - 2090: 0x00025CC1, - 2091: 0x00007C44, - 2092: 0x00007C83, - 2093: 0x00024882, - 2094: 0x00007CA6, - 2095: 0x0000667D, - 2096: 0x00024578, - 2097: 0x00007CC9, - 2098: 0x00007CC7, - 2099: 0x00007CE6, - 2100: 0x00007C74, - 2101: 0x00007CF3, - 2102: 0x00007CF5, - 2103: 0x00007CCE, - 2104: 0x00007E67, - 2105: 0x0000451D, - 2106: 0x00026E44, - 2107: 0x00007D5D, - 2108: 0x00026ED6, - 2109: 0x0000748D, - 2110: 0x00007D89, - 2111: 0x00007DAB, - 2112: 0x00007135, - 2113: 0x00007DB3, - 2114: 0x00007DD2, - 2115: 0x00024057, - 2116: 0x00026029, - 2117: 0x00007DE4, - 2118: 0x00003D13, - 2119: 0x00007DF5, - 2120: 0x000217F9, - 2121: 0x00007DE5, - 2122: 0x0002836D, - 2123: 0x00007E1D, - 2124: 0x00026121, - 2125: 0x0002615A, - 2126: 0x00007E6E, - 2127: 0x00007E92, - 2128: 0x0000432B, - 2129: 0x0000946C, - 2130: 0x00007E27, - 2131: 0x00007F40, - 2132: 0x00007F41, - 2133: 0x00007F47, - 2134: 0x00007936, - 2135: 0x000262D0, - 2136: 0x000099E1, - 2137: 0x00007F97, - 2138: 0x00026351, - 2139: 0x00007FA3, - 2140: 0x00021661, - 2141: 0x00020068, - 2142: 0x0000455C, - 2143: 0x00023766, - 2144: 0x00004503, - 2145: 0x0002833A, - 2146: 0x00007FFA, - 2147: 0x00026489, - 2148: 0x00008005, - 2149: 0x00008008, - 2150: 0x0000801D, - 2151: 0x00008028, - 2152: 0x0000802F, - 2153: 0x0002A087, - 2154: 0x00026CC3, - 2155: 0x0000803B, - 2156: 0x0000803C, - 2157: 0x00008061, - 2158: 0x00022714, - 2159: 0x00004989, - 2160: 0x00026626, - 2161: 0x00023DE3, - 2162: 0x000266E8, - 2163: 0x00006725, - 2164: 0x000080A7, - 2165: 0x00028A48, - 2166: 0x00008107, - 2167: 0x0000811A, - 2168: 0x000058B0, - 2169: 0x000226F6, - 2170: 0x00006C7F, - 2171: 0x00026498, - 2172: 0x00024FB8, - 2173: 0x000064E7, - 2174: 0x0002148A, - 2175: 0x00008218, - 2176: 0x0002185E, - 2177: 0x00006A53, - 2178: 0x00024A65, - 2179: 0x00024A95, - 2180: 0x0000447A, - 2181: 0x00008229, - 2182: 0x00020B0D, - 2183: 0x00026A52, - 2184: 0x00023D7E, - 2185: 0x00004FF9, - 2186: 0x000214FD, - 2187: 0x000084E2, - 2188: 0x00008362, - 2189: 0x00026B0A, - 2190: 0x000249A7, - 2191: 0x00023530, - 2192: 0x00021773, - 2193: 0x00023DF8, - 2194: 0x000082AA, - 2195: 0x0000691B, - 2196: 0x0002F994, - 2197: 0x000041DB, - 2198: 0x0000854B, - 2199: 0x000082D0, - 2200: 0x0000831A, - 2201: 0x00020E16, - 2202: 0x000217B4, - 2203: 0x000036C1, - 2204: 0x0002317D, - 2205: 0x0002355A, - 2206: 0x0000827B, - 2207: 0x000082E2, - 2208: 0x00008318, - 2209: 0x00023E8B, - 2210: 0x00026DA3, - 2211: 0x00026B05, - 2212: 0x00026B97, - 2213: 0x000235CE, - 2214: 0x00003DBF, - 2215: 0x0000831D, - 2216: 0x000055EC, - 2217: 0x00008385, - 2218: 0x0000450B, - 2219: 0x00026DA5, - 2220: 0x000083AC, - 2221: 0x000083C1, - 2222: 0x000083D3, - 2223: 0x0000347E, - 2224: 0x00026ED4, - 2225: 0x00006A57, - 2226: 0x0000855A, - 2227: 0x00003496, - 2228: 0x00026E42, - 2229: 0x00022EEF, - 2230: 0x00008458, - 2231: 0x00025BE4, - 2232: 0x00008471, - 2233: 0x00003DD3, - 2234: 0x000044E4, - 2235: 0x00006AA7, - 2236: 0x0000844A, - 2237: 0x00023CB5, - 2238: 0x00007958, - 2239: 0x000084A8, - 2240: 0x00026B96, - 2241: 0x00026E77, - 2242: 0x00026E43, - 2243: 0x000084DE, - 2244: 0x0000840F, - 2245: 0x00008391, - 2246: 0x000044A0, - 2247: 0x00008493, - 2248: 0x000084E4, - 2249: 0x00025C91, - 2250: 0x00004240, - 2251: 0x00025CC0, - 2252: 0x00004543, - 2253: 0x00008534, - 2254: 0x00005AF2, - 2255: 0x00026E99, - 2256: 0x00004527, - 2257: 0x00008573, - 2258: 0x00004516, - 2259: 0x000067BF, - 2260: 0x00008616, - 2261: 0x00028625, - 2262: 0x0002863B, - 2263: 0x000085C1, - 2264: 0x00027088, - 2265: 0x00008602, - 2266: 0x00021582, - 2267: 0x000270CD, - 2268: 0x0002F9B2, - 2269: 0x0000456A, - 2270: 0x00008628, - 2271: 0x00003648, - 2272: 0x000218A2, - 2273: 0x000053F7, - 2274: 0x0002739A, - 2275: 0x0000867E, - 2276: 0x00008771, - 2277: 0x0002A0F8, - 2278: 0x000087EE, - 2279: 0x00022C27, - 2280: 0x000087B1, - 2281: 0x000087DA, - 2282: 0x0000880F, - 2283: 0x00005661, - 2284: 0x0000866C, - 2285: 0x00006856, - 2286: 0x0000460F, - 2287: 0x00008845, - 2288: 0x00008846, - 2289: 0x000275E0, - 2290: 0x00023DB9, - 2291: 0x000275E4, - 2292: 0x0000885E, - 2293: 0x0000889C, - 2294: 0x0000465B, - 2295: 0x000088B4, - 2296: 0x000088B5, - 2297: 0x000063C1, - 2298: 0x000088C5, - 2299: 0x00007777, - 2300: 0x0002770F, - 2301: 0x00008987, - 2302: 0x0000898A, - 2303: 0x000089A6, - 2304: 0x000089A9, - 2305: 0x000089A7, - 2306: 0x000089BC, - 2307: 0x00028A25, - 2308: 0x000089E7, - 2309: 0x00027924, - 2310: 0x00027ABD, - 2311: 0x00008A9C, - 2312: 0x00007793, - 2313: 0x000091FE, - 2314: 0x00008A90, - 2315: 0x00027A59, - 2316: 0x00007AE9, - 2317: 0x00027B3A, - 2318: 0x00023F8F, - 2319: 0x00004713, - 2320: 0x00027B38, - 2321: 0x0000717C, - 2322: 0x00008B0C, - 2323: 0x00008B1F, - 2324: 0x00025430, - 2325: 0x00025565, - 2326: 0x00008B3F, - 2327: 0x00008B4C, - 2328: 0x00008B4D, - 2329: 0x00008AA9, - 2330: 0x00024A7A, - 2331: 0x00008B90, - 2332: 0x00008B9B, - 2333: 0x00008AAF, - 2334: 0x000216DF, - 2335: 0x00004615, - 2336: 0x0000884F, - 2337: 0x00008C9B, - 2338: 0x00027D54, - 2339: 0x00027D8F, - 2340: 0x0002F9D4, - 2341: 0x00003725, - 2342: 0x00027D53, - 2343: 0x00008CD6, - 2344: 0x00027D98, - 2345: 0x00027DBD, - 2346: 0x00008D12, - 2347: 0x00008D03, - 2348: 0x00021910, - 2349: 0x00008CDB, - 2350: 0x0000705C, - 2351: 0x00008D11, - 2352: 0x00024CC9, - 2353: 0x00003ED0, - 2354: 0x00008D77, - 2355: 0x00008DA9, - 2356: 0x00028002, - 2357: 0x00021014, - 2358: 0x0002498A, - 2359: 0x00003B7C, - 2360: 0x000281BC, - 2361: 0x0002710C, - 2362: 0x00007AE7, - 2363: 0x00008EAD, - 2364: 0x00008EB6, - 2365: 0x00008EC3, - 2366: 0x000092D4, - 2367: 0x00008F19, - 2368: 0x00008F2D, - 2369: 0x00028365, - 2370: 0x00028412, - 2371: 0x00008FA5, - 2372: 0x00009303, - 2373: 0x0002A29F, - 2374: 0x00020A50, - 2375: 0x00008FB3, - 2376: 0x0000492A, - 2377: 0x000289DE, - 2378: 0x0002853D, - 2379: 0x00023DBB, - 2380: 0x00005EF8, - 2381: 0x00023262, - 2382: 0x00008FF9, - 2383: 0x0002A014, - 2384: 0x000286BC, - 2385: 0x00028501, - 2386: 0x00022325, - 2387: 0x00003980, - 2388: 0x00026ED7, - 2389: 0x00009037, - 2390: 0x0002853C, - 2391: 0x00027ABE, - 2392: 0x00009061, - 2393: 0x0002856C, - 2394: 0x0002860B, - 2395: 0x000090A8, - 2396: 0x00028713, - 2397: 0x000090C4, - 2398: 0x000286E6, - 2399: 0x000090AE, - 2400: 0x000090FD, - 2401: 0x00009167, - 2402: 0x00003AF0, - 2403: 0x000091A9, - 2404: 0x000091C4, - 2405: 0x00007CAC, - 2406: 0x00028933, - 2407: 0x00021E89, - 2408: 0x0000920E, - 2409: 0x00006C9F, - 2410: 0x00009241, - 2411: 0x00009262, - 2412: 0x000255B9, - 2413: 0x000092B9, - 2414: 0x00028AC6, - 2415: 0x00023C9B, - 2416: 0x00028B0C, - 2417: 0x000255DB, - 2418: 0x00020D31, - 2419: 0x0000932C, - 2420: 0x0000936B, - 2421: 0x00028AE1, - 2422: 0x00028BEB, - 2423: 0x0000708F, - 2424: 0x00005AC3, - 2425: 0x00028AE2, - 2426: 0x00028AE5, - 2427: 0x00004965, - 2428: 0x00009244, - 2429: 0x00028BEC, - 2430: 0x00028C39, - 2431: 0x00028BFF, - 2432: 0x00009373, - 2433: 0x0000945B, - 2434: 0x00008EBC, - 2435: 0x00009585, - 2436: 0x000095A6, - 2437: 0x00009426, - 2438: 0x000095A0, - 2439: 0x00006FF6, - 2440: 0x000042B9, - 2441: 0x0002267A, - 2442: 0x000286D8, - 2443: 0x0002127C, - 2444: 0x00023E2E, - 2445: 0x000049DF, - 2446: 0x00006C1C, - 2447: 0x0000967B, - 2448: 0x00009696, - 2449: 0x0000416C, - 2450: 0x000096A3, - 2451: 0x00026ED5, - 2452: 0x000061DA, - 2453: 0x000096B6, - 2454: 0x000078F5, - 2455: 0x00028AE0, - 2456: 0x000096BD, - 2457: 0x000053CC, - 2458: 0x000049A1, - 2459: 0x00026CB8, - 2460: 0x00020274, - 2461: 0x00026410, - 2462: 0x000290AF, - 2463: 0x000290E5, - 2464: 0x00024AD1, - 2465: 0x00021915, - 2466: 0x0002330A, - 2467: 0x00009731, - 2468: 0x00008642, - 2469: 0x00009736, - 2470: 0x00004A0F, - 2471: 0x0000453D, - 2472: 0x00004585, - 2473: 0x00024AE9, - 2474: 0x00007075, - 2475: 0x00005B41, - 2476: 0x0000971B, - 2477: 0x0000975C, - 2478: 0x000291D5, - 2479: 0x00009757, - 2480: 0x00005B4A, - 2481: 0x000291EB, - 2482: 0x0000975F, - 2483: 0x00009425, - 2484: 0x000050D0, - 2485: 0x000230B7, - 2486: 0x000230BC, - 2487: 0x00009789, - 2488: 0x0000979F, - 2489: 0x000097B1, - 2490: 0x000097BE, - 2491: 0x000097C0, - 2492: 0x000097D2, - 2493: 0x000097E0, - 2494: 0x0002546C, - 2495: 0x000097EE, - 2496: 0x0000741C, - 2497: 0x00029433, - 2498: 0x000097FF, - 2499: 0x000097F5, - 2500: 0x0002941D, - 2501: 0x0002797A, - 2502: 0x00004AD1, - 2503: 0x00009834, - 2504: 0x00009833, - 2505: 0x0000984B, - 2506: 0x00009866, - 2507: 0x00003B0E, - 2508: 0x00027175, - 2509: 0x00003D51, - 2510: 0x00020630, - 2511: 0x0002415C, - 2512: 0x00025706, - 2513: 0x000098CA, - 2514: 0x000098B7, - 2515: 0x000098C8, - 2516: 0x000098C7, - 2517: 0x00004AFF, - 2518: 0x00026D27, - 2519: 0x000216D3, - 2520: 0x000055B0, - 2521: 0x000098E1, - 2522: 0x000098E6, - 2523: 0x000098EC, - 2524: 0x00009378, - 2525: 0x00009939, - 2526: 0x00024A29, - 2527: 0x00004B72, - 2528: 0x00029857, - 2529: 0x00029905, - 2530: 0x000099F5, - 2531: 0x00009A0C, - 2532: 0x00009A3B, - 2533: 0x00009A10, - 2534: 0x00009A58, - 2535: 0x00025725, - 2536: 0x000036C4, - 2537: 0x000290B1, - 2538: 0x00029BD5, - 2539: 0x00009AE0, - 2540: 0x00009AE2, - 2541: 0x00029B05, - 2542: 0x00009AF4, - 2543: 0x00004C0E, - 2544: 0x00009B14, - 2545: 0x00009B2D, - 2546: 0x00028600, - 2547: 0x00005034, - 2548: 0x00009B34, - 2549: 0x000269A8, - 2550: 0x000038C3, - 2551: 0x0002307D, - 2552: 0x00009B50, - 2553: 0x00009B40, - 2554: 0x00029D3E, - 2555: 0x00005A45, - 2556: 0x00021863, - 2557: 0x00009B8E, - 2558: 0x0002424B, - 2559: 0x00009C02, - 2560: 0x00009BFF, - 2561: 0x00009C0C, - 2562: 0x00029E68, - 2563: 0x00009DD4, - 2564: 0x00029FB7, - 2565: 0x0002A192, - 2566: 0x0002A1AB, - 2567: 0x0002A0E1, - 2568: 0x0002A123, - 2569: 0x0002A1DF, - 2570: 0x00009D7E, - 2571: 0x00009D83, - 2572: 0x0002A134, - 2573: 0x00009E0E, - 2574: 0x00006888, - 2575: 0x00009DC4, - 2576: 0x0002215B, - 2577: 0x0002A193, - 2578: 0x0002A220, - 2579: 0x0002193B, - 2580: 0x0002A233, - 2581: 0x00009D39, - 2582: 0x0002A0B9, - 2583: 0x0002A2B4, - 2584: 0x00009E90, - 2585: 0x00009E95, - 2586: 0x00009E9E, - 2587: 0x00009EA2, - 2588: 0x00004D34, - 2589: 0x00009EAA, - 2590: 0x00009EAF, - 2591: 0x00024364, - 2592: 0x00009EC1, - 2593: 0x00003B60, - 2594: 0x000039E5, - 2595: 0x00003D1D, - 2596: 0x00004F32, - 2597: 0x000037BE, - 2598: 0x00028C2B, - 2599: 0x00009F02, - 2600: 0x00009F08, - 2601: 0x00004B96, - 2602: 0x00009424, - 2603: 0x00026DA2, - 2604: 0x00009F17, - 2605: 0x00009F16, - 2606: 0x00009F39, - 2607: 0x0000569F, - 2608: 0x0000568A, - 2609: 0x00009F45, - 2610: 0x000099B8, - 2611: 0x0002908B, - 2612: 0x000097F2, - 2613: 0x0000847F, - 2614: 0x00009F62, - 2615: 0x00009F69, - 2616: 0x00007ADC, - 2617: 0x00009F8E, - 2618: 0x00007216, - 2619: 0x00004BBE, - 2620: 0x00024975, - 2621: 0x000249BB, - 2622: 0x00007177, - 2623: 0x000249F8, - 2624: 0x00024348, - 2625: 0x00024A51, - 2626: 0x0000739E, - 2627: 0x00028BDA, - 2628: 0x000218FA, - 2629: 0x0000799F, - 2630: 0x0002897E, - 2631: 0x00028E36, - 2632: 0x00009369, - 2633: 0x000093F3, - 2634: 0x00028A44, - 2635: 0x000092EC, - 2636: 0x00009381, - 2637: 0x000093CB, - 2638: 0x0002896C, - 2639: 0x000244B9, - 2640: 0x00007217, - 2641: 0x00003EEB, - 2642: 0x00007772, - 2643: 0x00007A43, - 2644: 0x000070D0, - 2645: 0x00024473, - 2646: 0x000243F8, - 2647: 0x0000717E, - 2648: 0x000217EF, - 2649: 0x000070A3, - 2650: 0x000218BE, - 2651: 0x00023599, - 2652: 0x00003EC7, - 2653: 0x00021885, - 2654: 0x0002542F, - 2655: 0x000217F8, - 2656: 0x00003722, - 2657: 0x000216FB, - 2658: 0x00021839, - 2659: 0x000036E1, - 2660: 0x00021774, - 2661: 0x000218D1, - 2662: 0x00025F4B, - 2663: 0x00003723, - 2664: 0x000216C0, - 2665: 0x0000575B, - 2666: 0x00024A25, - 2667: 0x000213FE, - 2668: 0x000212A8, - 2669: 0x000213C6, - 2670: 0x000214B6, - 2671: 0x00008503, - 2672: 0x000236A6, - 2673: 0x00008503, - 2674: 0x00008455, - 2675: 0x00024994, - 2676: 0x00027165, - 2677: 0x00023E31, - 2678: 0x0002555C, - 2679: 0x00023EFB, - 2680: 0x00027052, - 2681: 0x000044F4, - 2682: 0x000236EE, - 2683: 0x0002999D, - 2684: 0x00026F26, - 2685: 0x000067F9, - 2686: 0x00003733, - 2687: 0x00003C15, - 2688: 0x00003DE7, - 2689: 0x0000586C, - 2690: 0x00021922, - 2691: 0x00006810, - 2692: 0x00004057, - 2693: 0x0002373F, - 2694: 0x000240E1, - 2695: 0x0002408B, - 2696: 0x0002410F, - 2697: 0x00026C21, - 2698: 0x000054CB, - 2699: 0x0000569E, - 2700: 0x000266B1, - 2701: 0x00005692, - 2702: 0x00020FDF, - 2703: 0x00020BA8, - 2704: 0x00020E0D, - 2705: 0x000093C6, - 2706: 0x00028B13, - 2707: 0x0000939C, - 2708: 0x00004EF8, - 2709: 0x0000512B, - 2710: 0x00003819, - 2711: 0x00024436, - 2712: 0x00004EBC, - 2713: 0x00020465, - 2714: 0x0002037F, - 2715: 0x00004F4B, - 2716: 0x00004F8A, - 2717: 0x00025651, - 2718: 0x00005A68, - 2719: 0x000201AB, - 2720: 0x000203CB, - 2721: 0x00003999, - 2722: 0x0002030A, - 2723: 0x00020414, - 2724: 0x00003435, - 2725: 0x00004F29, - 2726: 0x000202C0, - 2727: 0x00028EB3, - 2728: 0x00020275, - 2729: 0x00008ADA, - 2730: 0x0002020C, - 2731: 0x00004E98, - 2732: 0x000050CD, - 2733: 0x0000510D, - 2734: 0x00004FA2, - 2735: 0x00004F03, - 2736: 0x00024A0E, - 2737: 0x00023E8A, - 2738: 0x00004F42, - 2739: 0x0000502E, - 2740: 0x0000506C, - 2741: 0x00005081, - 2742: 0x00004FCC, - 2743: 0x00004FE5, - 2744: 0x00005058, - 2745: 0x000050FC, - 2746: 0x00005159, - 2747: 0x0000515B, - 2748: 0x0000515D, - 2749: 0x0000515E, - 2750: 0x00006E76, - 2751: 0x00023595, - 2752: 0x00023E39, - 2753: 0x00023EBF, - 2754: 0x00006D72, - 2755: 0x00021884, - 2756: 0x00023E89, - 2757: 0x000051A8, - 2758: 0x000051C3, - 2759: 0x000205E0, - 2760: 0x000044DD, - 2761: 0x000204A3, - 2762: 0x00020492, - 2763: 0x00020491, - 2764: 0x00008D7A, - 2765: 0x00028A9C, - 2766: 0x0002070E, - 2767: 0x00005259, - 2768: 0x000052A4, - 2769: 0x00020873, - 2770: 0x000052E1, - 2771: 0x0000936E, - 2772: 0x0000467A, - 2773: 0x0000718C, - 2774: 0x0002438C, - 2775: 0x00020C20, - 2776: 0x000249AC, - 2777: 0x000210E4, - 2778: 0x000069D1, - 2779: 0x00020E1D, - 2780: 0x00007479, - 2781: 0x00003EDE, - 2782: 0x00007499, - 2783: 0x00007414, - 2784: 0x00007456, - 2785: 0x00007398, - 2786: 0x00004B8E, - 2787: 0x00024ABC, - 2788: 0x0002408D, - 2789: 0x000053D0, - 2790: 0x00003584, - 2791: 0x0000720F, - 2792: 0x000240C9, - 2793: 0x000055B4, - 2794: 0x00020345, - 2795: 0x000054CD, - 2796: 0x00020BC6, - 2797: 0x0000571D, - 2798: 0x0000925D, - 2799: 0x000096F4, - 2800: 0x00009366, - 2801: 0x000057DD, - 2802: 0x0000578D, - 2803: 0x0000577F, - 2804: 0x0000363E, - 2805: 0x000058CB, - 2806: 0x00005A99, - 2807: 0x00028A46, - 2808: 0x000216FA, - 2809: 0x0002176F, - 2810: 0x00021710, - 2811: 0x00005A2C, - 2812: 0x000059B8, - 2813: 0x0000928F, - 2814: 0x00005A7E, - 2815: 0x00005ACF, - 2816: 0x00005A12, - 2817: 0x00025946, - 2818: 0x000219F3, - 2819: 0x00021861, - 2820: 0x00024295, - 2821: 0x000036F5, - 2822: 0x00006D05, - 2823: 0x00007443, - 2824: 0x00005A21, - 2825: 0x00025E83, - 2826: 0x00005A81, - 2827: 0x00028BD7, - 2828: 0x00020413, - 2829: 0x000093E0, - 2830: 0x0000748C, - 2831: 0x00021303, - 2832: 0x00007105, - 2833: 0x00004972, - 2834: 0x00009408, - 2835: 0x000289FB, - 2836: 0x000093BD, - 2837: 0x000037A0, - 2838: 0x00005C1E, - 2839: 0x00005C9E, - 2840: 0x00005E5E, - 2841: 0x00005E48, - 2842: 0x00021996, - 2843: 0x0002197C, - 2844: 0x00023AEE, - 2845: 0x00005ECD, - 2846: 0x00005B4F, - 2847: 0x00021903, - 2848: 0x00021904, - 2849: 0x00003701, - 2850: 0x000218A0, - 2851: 0x000036DD, - 2852: 0x000216FE, - 2853: 0x000036D3, - 2854: 0x0000812A, - 2855: 0x00028A47, - 2856: 0x00021DBA, - 2857: 0x00023472, - 2858: 0x000289A8, - 2859: 0x00005F0C, - 2860: 0x00005F0E, - 2861: 0x00021927, - 2862: 0x000217AB, - 2863: 0x00005A6B, - 2864: 0x0002173B, - 2865: 0x00005B44, - 2866: 0x00008614, - 2867: 0x000275FD, - 2868: 0x00008860, - 2869: 0x0000607E, - 2870: 0x00022860, - 2871: 0x0002262B, - 2872: 0x00005FDB, - 2873: 0x00003EB8, - 2874: 0x000225AF, - 2875: 0x000225BE, - 2876: 0x00029088, - 2877: 0x00026F73, - 2878: 0x000061C0, - 2879: 0x0002003E, - 2880: 0x00020046, - 2881: 0x0002261B, - 2882: 0x00006199, - 2883: 0x00006198, - 2884: 0x00006075, - 2885: 0x00022C9B, - 2886: 0x00022D07, - 2887: 0x000246D4, - 2888: 0x0002914D, - 2889: 0x00006471, - 2890: 0x00024665, - 2891: 0x00022B6A, - 2892: 0x00003A29, - 2893: 0x00022B22, - 2894: 0x00023450, - 2895: 0x000298EA, - 2896: 0x00022E78, - 2897: 0x00006337, - 2898: 0x0002A45B, - 2899: 0x000064B6, - 2900: 0x00006331, - 2901: 0x000063D1, - 2902: 0x000249E3, - 2903: 0x00022D67, - 2904: 0x000062A4, - 2905: 0x00022CA1, - 2906: 0x0000643B, - 2907: 0x0000656B, - 2908: 0x00006972, - 2909: 0x00003BF4, - 2910: 0x0002308E, - 2911: 0x000232AD, - 2912: 0x00024989, - 2913: 0x000232AB, - 2914: 0x0000550D, - 2915: 0x000232E0, - 2916: 0x000218D9, - 2917: 0x0002943F, - 2918: 0x000066CE, - 2919: 0x00023289, - 2920: 0x000231B3, - 2921: 0x00003AE0, - 2922: 0x00004190, - 2923: 0x00025584, - 2924: 0x00028B22, - 2925: 0x0002558F, - 2926: 0x000216FC, - 2927: 0x0002555B, - 2928: 0x00025425, - 2929: 0x000078EE, - 2930: 0x00023103, - 2931: 0x0002182A, - 2932: 0x00023234, - 2933: 0x00003464, - 2934: 0x0002320F, - 2935: 0x00023182, - 2936: 0x000242C9, - 2937: 0x0000668E, - 2938: 0x00026D24, - 2939: 0x0000666B, - 2940: 0x00004B93, - 2941: 0x00006630, - 2942: 0x00027870, - 2943: 0x00021DEB, - 2944: 0x00006663, - 2945: 0x000232D2, - 2946: 0x000232E1, - 2947: 0x0000661E, - 2948: 0x00025872, - 2949: 0x000038D1, - 2950: 0x0002383A, - 2951: 0x000237BC, - 2952: 0x00003B99, - 2953: 0x000237A2, - 2954: 0x000233FE, - 2955: 0x000074D0, - 2956: 0x00003B96, - 2957: 0x0000678F, - 2958: 0x0002462A, - 2959: 0x000068B6, - 2960: 0x0000681E, - 2961: 0x00003BC4, - 2962: 0x00006ABE, - 2963: 0x00003863, - 2964: 0x000237D5, - 2965: 0x00024487, - 2966: 0x00006A33, - 2967: 0x00006A52, - 2968: 0x00006AC9, - 2969: 0x00006B05, - 2970: 0x00021912, - 2971: 0x00006511, - 2972: 0x00006898, - 2973: 0x00006A4C, - 2974: 0x00003BD7, - 2975: 0x00006A7A, - 2976: 0x00006B57, - 2977: 0x00023FC0, - 2978: 0x00023C9A, - 2979: 0x000093A0, - 2980: 0x000092F2, - 2981: 0x00028BEA, - 2982: 0x00028ACB, - 2983: 0x00009289, - 2984: 0x0002801E, - 2985: 0x000289DC, - 2986: 0x00009467, - 2987: 0x00006DA5, - 2988: 0x00006F0B, - 2989: 0x000249EC, - 2990: 0x00006D67, - 2991: 0x00023F7F, - 2992: 0x00003D8F, - 2993: 0x00006E04, - 2994: 0x0002403C, - 2995: 0x00005A3D, - 2996: 0x00006E0A, - 2997: 0x00005847, - 2998: 0x00006D24, - 2999: 0x00007842, - 3000: 0x0000713B, - 3001: 0x0002431A, - 3002: 0x00024276, - 3003: 0x000070F1, - 3004: 0x00007250, - 3005: 0x00007287, - 3006: 0x00007294, - 3007: 0x0002478F, - 3008: 0x00024725, - 3009: 0x00005179, - 3010: 0x00024AA4, - 3011: 0x000205EB, - 3012: 0x0000747A, - 3013: 0x00023EF8, - 3014: 0x0002365F, - 3015: 0x00024A4A, - 3016: 0x00024917, - 3017: 0x00025FE1, - 3018: 0x00003F06, - 3019: 0x00003EB1, - 3020: 0x00024ADF, - 3021: 0x00028C23, - 3022: 0x00023F35, - 3023: 0x000060A7, - 3024: 0x00003EF3, - 3025: 0x000074CC, - 3026: 0x0000743C, - 3027: 0x00009387, - 3028: 0x00007437, - 3029: 0x0000449F, - 3030: 0x00026DEA, - 3031: 0x00004551, - 3032: 0x00007583, - 3033: 0x00003F63, - 3034: 0x00024CD9, - 3035: 0x00024D06, - 3036: 0x00003F58, - 3037: 0x00007555, - 3038: 0x00007673, - 3039: 0x0002A5C6, - 3040: 0x00003B19, - 3041: 0x00007468, - 3042: 0x00028ACC, - 3043: 0x000249AB, - 3044: 0x0002498E, - 3045: 0x00003AFB, - 3046: 0x00003DCD, - 3047: 0x00024A4E, - 3048: 0x00003EFF, - 3049: 0x000249C5, - 3050: 0x000248F3, - 3051: 0x000091FA, - 3052: 0x00005732, - 3053: 0x00009342, - 3054: 0x00028AE3, - 3055: 0x00021864, - 3056: 0x000050DF, - 3057: 0x00025221, - 3058: 0x000251E7, - 3059: 0x00007778, - 3060: 0x00023232, - 3061: 0x0000770E, - 3062: 0x0000770F, - 3063: 0x0000777B, - 3064: 0x00024697, - 3065: 0x00023781, - 3066: 0x00003A5E, - 3067: 0x000248F0, - 3068: 0x00007438, - 3069: 0x0000749B, - 3070: 0x00003EBF, - 3071: 0x00024ABA, - 3072: 0x00024AC7, - 3073: 0x000040C8, - 3074: 0x00024A96, - 3075: 0x000261AE, - 3076: 0x00009307, - 3077: 0x00025581, - 3078: 0x0000781E, - 3079: 0x0000788D, - 3080: 0x00007888, - 3081: 0x000078D2, - 3082: 0x000073D0, - 3083: 0x00007959, - 3084: 0x00027741, - 3085: 0x000256E3, - 3086: 0x0000410E, - 3087: 0x0000799B, - 3088: 0x00008496, - 3089: 0x000079A5, - 3090: 0x00006A2D, - 3091: 0x00023EFA, - 3092: 0x00007A3A, - 3093: 0x000079F4, - 3094: 0x0000416E, - 3095: 0x000216E6, - 3096: 0x00004132, - 3097: 0x00009235, - 3098: 0x000079F1, - 3099: 0x00020D4C, - 3100: 0x0002498C, - 3101: 0x00020299, - 3102: 0x00023DBA, - 3103: 0x0002176E, - 3104: 0x00003597, - 3105: 0x0000556B, - 3106: 0x00003570, - 3107: 0x000036AA, - 3108: 0x000201D4, - 3109: 0x00020C0D, - 3110: 0x00007AE2, - 3111: 0x00005A59, - 3112: 0x000226F5, - 3113: 0x00025AAF, - 3114: 0x00025A9C, - 3115: 0x00005A0D, - 3116: 0x0002025B, - 3117: 0x000078F0, - 3118: 0x00005A2A, - 3119: 0x00025BC6, - 3120: 0x00007AFE, - 3121: 0x000041F9, - 3122: 0x00007C5D, - 3123: 0x00007C6D, - 3124: 0x00004211, - 3125: 0x00025BB3, - 3126: 0x00025EBC, - 3127: 0x00025EA6, - 3128: 0x00007CCD, - 3129: 0x000249F9, - 3130: 0x000217B0, - 3131: 0x00007C8E, - 3132: 0x00007C7C, - 3133: 0x00007CAE, - 3134: 0x00006AB2, - 3135: 0x00007DDC, - 3136: 0x00007E07, - 3137: 0x00007DD3, - 3138: 0x00007F4E, - 3139: 0x00026261, - 3140: 0x0002615C, - 3141: 0x00027B48, - 3142: 0x00007D97, - 3143: 0x00025E82, - 3144: 0x0000426A, - 3145: 0x00026B75, - 3146: 0x00020916, - 3147: 0x000067D6, - 3148: 0x0002004E, - 3149: 0x000235CF, - 3150: 0x000057C4, - 3151: 0x00026412, - 3152: 0x000263F8, - 3153: 0x00024962, - 3154: 0x00007FDD, - 3155: 0x00007B27, - 3156: 0x0002082C, - 3157: 0x00025AE9, - 3158: 0x00025D43, - 3159: 0x00007B0C, - 3160: 0x00025E0E, - 3161: 0x000099E6, - 3162: 0x00008645, - 3163: 0x00009A63, - 3164: 0x00006A1C, - 3165: 0x0002343F, - 3166: 0x000039E2, - 3167: 0x000249F7, - 3168: 0x000265AD, - 3169: 0x00009A1F, - 3170: 0x000265A0, - 3171: 0x00008480, - 3172: 0x00027127, - 3173: 0x00026CD1, - 3174: 0x000044EA, - 3175: 0x00008137, - 3176: 0x00004402, - 3177: 0x000080C6, - 3178: 0x00008109, - 3179: 0x00008142, - 3180: 0x000267B4, - 3181: 0x000098C3, - 3182: 0x00026A42, - 3183: 0x00008262, - 3184: 0x00008265, - 3185: 0x00026A51, - 3186: 0x00008453, - 3187: 0x00026DA7, - 3188: 0x00008610, - 3189: 0x0002721B, - 3190: 0x00005A86, - 3191: 0x0000417F, - 3192: 0x00021840, - 3193: 0x00005B2B, - 3194: 0x000218A1, - 3195: 0x00005AE4, - 3196: 0x000218D8, - 3197: 0x000086A0, - 3198: 0x0002F9BC, - 3199: 0x00023D8F, - 3200: 0x0000882D, - 3201: 0x00027422, - 3202: 0x00005A02, - 3203: 0x0000886E, - 3204: 0x00004F45, - 3205: 0x00008887, - 3206: 0x000088BF, - 3207: 0x000088E6, - 3208: 0x00008965, - 3209: 0x0000894D, - 3210: 0x00025683, - 3211: 0x00008954, - 3212: 0x00027785, - 3213: 0x00027784, - 3214: 0x00028BF5, - 3215: 0x00028BD9, - 3216: 0x00028B9C, - 3217: 0x000289F9, - 3218: 0x00003EAD, - 3219: 0x000084A3, - 3220: 0x000046F5, - 3221: 0x000046CF, - 3222: 0x000037F2, - 3223: 0x00008A3D, - 3224: 0x00008A1C, - 3225: 0x00029448, - 3226: 0x00005F4D, - 3227: 0x0000922B, - 3228: 0x00024284, - 3229: 0x000065D4, - 3230: 0x00007129, - 3231: 0x000070C4, - 3232: 0x00021845, - 3233: 0x00009D6D, - 3234: 0x00008C9F, - 3235: 0x00008CE9, - 3236: 0x00027DDC, - 3237: 0x0000599A, - 3238: 0x000077C3, - 3239: 0x000059F0, - 3240: 0x0000436E, - 3241: 0x000036D4, - 3242: 0x00008E2A, - 3243: 0x00008EA7, - 3244: 0x00024C09, - 3245: 0x00008F30, - 3246: 0x00008F4A, - 3247: 0x000042F4, - 3248: 0x00006C58, - 3249: 0x00006FBB, - 3250: 0x00022321, - 3251: 0x0000489B, - 3252: 0x00006F79, - 3253: 0x00006E8B, - 3254: 0x000217DA, - 3255: 0x00009BE9, - 3256: 0x000036B5, - 3257: 0x0002492F, - 3258: 0x000090BB, - 3259: 0x00009097, - 3260: 0x00005571, - 3261: 0x00004906, - 3262: 0x000091BB, - 3263: 0x00009404, - 3264: 0x00028A4B, - 3265: 0x00004062, - 3266: 0x00028AFC, - 3267: 0x00009427, - 3268: 0x00028C1D, - 3269: 0x00028C3B, - 3270: 0x000084E5, - 3271: 0x00008A2B, - 3272: 0x00009599, - 3273: 0x000095A7, - 3274: 0x00009597, - 3275: 0x00009596, - 3276: 0x00028D34, - 3277: 0x00007445, - 3278: 0x00003EC2, - 3279: 0x000248FF, - 3280: 0x00024A42, - 3281: 0x000243EA, - 3282: 0x00003EE7, - 3283: 0x00023225, - 3284: 0x0000968F, - 3285: 0x00028EE7, - 3286: 0x00028E66, - 3287: 0x00028E65, - 3288: 0x00003ECC, - 3289: 0x000249ED, - 3290: 0x00024A78, - 3291: 0x00023FEE, - 3292: 0x00007412, - 3293: 0x0000746B, - 3294: 0x00003EFC, - 3295: 0x00009741, - 3296: 0x000290B0, - 3297: 0x00006847, - 3298: 0x00004A1D, - 3299: 0x00029093, - 3300: 0x000257DF, - 3301: 0x0000975D, - 3302: 0x00009368, - 3303: 0x00028989, - 3304: 0x00028C26, - 3305: 0x00028B2F, - 3306: 0x000263BE, - 3307: 0x000092BA, - 3308: 0x00005B11, - 3309: 0x00008B69, - 3310: 0x0000493C, - 3311: 0x000073F9, - 3312: 0x0002421B, - 3313: 0x0000979B, - 3314: 0x00009771, - 3315: 0x00009938, - 3316: 0x00020F26, - 3317: 0x00005DC1, - 3318: 0x00028BC5, - 3319: 0x00024AB2, - 3320: 0x0000981F, - 3321: 0x000294DA, - 3322: 0x000092F6, - 3323: 0x000295D7, - 3324: 0x000091E5, - 3325: 0x000044C0, - 3326: 0x00028B50, - 3327: 0x00024A67, - 3328: 0x00028B64, - 3329: 0x000098DC, - 3330: 0x00028A45, - 3331: 0x00003F00, - 3332: 0x0000922A, - 3333: 0x00004925, - 3334: 0x00008414, - 3335: 0x0000993B, - 3336: 0x0000994D, - 3337: 0x00027B06, - 3338: 0x00003DFD, - 3339: 0x0000999B, - 3340: 0x00004B6F, - 3341: 0x000099AA, - 3342: 0x00009A5C, - 3343: 0x00028B65, - 3344: 0x000258C8, - 3345: 0x00006A8F, - 3346: 0x00009A21, - 3347: 0x00005AFE, - 3348: 0x00009A2F, - 3349: 0x000298F1, - 3350: 0x00004B90, - 3351: 0x00029948, - 3352: 0x000099BC, - 3353: 0x00004BBD, - 3354: 0x00004B97, - 3355: 0x0000937D, - 3356: 0x00005872, - 3357: 0x00021302, - 3358: 0x00005822, - 3359: 0x000249B8, - 3360: 0x000214E8, - 3361: 0x00007844, - 3362: 0x0002271F, - 3363: 0x00023DB8, - 3364: 0x000068C5, - 3365: 0x00003D7D, - 3366: 0x00009458, - 3367: 0x00003927, - 3368: 0x00006150, - 3369: 0x00022781, - 3370: 0x0002296B, - 3371: 0x00006107, - 3372: 0x00009C4F, - 3373: 0x00009C53, - 3374: 0x00009C7B, - 3375: 0x00009C35, - 3376: 0x00009C10, - 3377: 0x00009B7F, - 3378: 0x00009BCF, - 3379: 0x00029E2D, - 3380: 0x00009B9F, - 3381: 0x0002A1F5, - 3382: 0x0002A0FE, - 3383: 0x00009D21, - 3384: 0x00004CAE, - 3385: 0x00024104, - 3386: 0x00009E18, - 3387: 0x00004CB0, - 3388: 0x00009D0C, - 3389: 0x0002A1B4, - 3390: 0x0002A0ED, - 3391: 0x0002A0F3, - 3392: 0x0002992F, - 3393: 0x00009DA5, - 3394: 0x000084BD, - 3395: 0x00026E12, - 3396: 0x00026FDF, - 3397: 0x00026B82, - 3398: 0x000085FC, - 3399: 0x00004533, - 3400: 0x00026DA4, - 3401: 0x00026E84, - 3402: 0x00026DF0, - 3403: 0x00008420, - 3404: 0x000085EE, - 3405: 0x00026E00, - 3406: 0x000237D7, - 3407: 0x00026064, - 3408: 0x000079E2, - 3409: 0x0002359C, - 3410: 0x00023640, - 3411: 0x0000492D, - 3412: 0x000249DE, - 3413: 0x00003D62, - 3414: 0x000093DB, - 3415: 0x000092BE, - 3416: 0x00009348, - 3417: 0x000202BF, - 3418: 0x000078B9, - 3419: 0x00009277, - 3420: 0x0000944D, - 3421: 0x00004FE4, - 3422: 0x00003440, - 3423: 0x00009064, - 3424: 0x0002555D, - 3425: 0x0000783D, - 3426: 0x00007854, - 3427: 0x000078B6, - 3428: 0x0000784B, - 3429: 0x00021757, - 3430: 0x000231C9, - 3431: 0x00024941, - 3432: 0x0000369A, - 3433: 0x00004F72, - 3434: 0x00006FDA, - 3435: 0x00006FD9, - 3436: 0x0000701E, - 3437: 0x0000701E, - 3438: 0x00005414, - 3439: 0x000241B5, - 3440: 0x000057BB, - 3441: 0x000058F3, - 3442: 0x0000578A, - 3443: 0x00009D16, - 3444: 0x000057D7, - 3445: 0x00007134, - 3446: 0x000034AF, - 3447: 0x000241AC, - 3448: 0x000071EB, - 3449: 0x00026C40, - 3450: 0x00024F97, - 3451: 0x00005B28, - 3452: 0x000217B5, - 3453: 0x00028A49, - 3454: 0x0000610C, - 3455: 0x00005ACE, - 3456: 0x00005A0B, - 3457: 0x000042BC, - 3458: 0x00024488, - 3459: 0x0000372C, - 3460: 0x00004B7B, - 3461: 0x000289FC, - 3462: 0x000093BB, - 3463: 0x000093B8, - 3464: 0x000218D6, - 3465: 0x00020F1D, - 3466: 0x00008472, - 3467: 0x00026CC0, - 3468: 0x00021413, - 3469: 0x000242FA, - 3470: 0x00022C26, - 3471: 0x000243C1, - 3472: 0x00005994, - 3473: 0x00023DB7, - 3474: 0x00026741, - 3475: 0x00007DA8, - 3476: 0x0002615B, - 3477: 0x000260A4, - 3478: 0x000249B9, - 3479: 0x0002498B, - 3480: 0x000289FA, - 3481: 0x000092E5, - 3482: 0x000073E2, - 3483: 0x00003EE9, - 3484: 0x000074B4, - 3485: 0x00028B63, - 3486: 0x0002189F, - 3487: 0x00003EE1, - 3488: 0x00024AB3, - 3489: 0x00006AD8, - 3490: 0x000073F3, - 3491: 0x000073FB, - 3492: 0x00003ED6, - 3493: 0x00024A3E, - 3494: 0x00024A94, - 3495: 0x000217D9, - 3496: 0x00024A66, - 3497: 0x000203A7, - 3498: 0x00021424, - 3499: 0x000249E5, - 3500: 0x00007448, - 3501: 0x00024916, - 3502: 0x000070A5, - 3503: 0x00024976, - 3504: 0x00009284, - 3505: 0x000073E6, - 3506: 0x0000935F, - 3507: 0x000204FE, - 3508: 0x00009331, - 3509: 0x00028ACE, - 3510: 0x00028A16, - 3511: 0x00009386, - 3512: 0x00028BE7, - 3513: 0x000255D5, - 3514: 0x00004935, - 3515: 0x00028A82, - 3516: 0x0000716B, - 3517: 0x00024943, - 3518: 0x00020CFF, - 3519: 0x000056A4, - 3520: 0x0002061A, - 3521: 0x00020BEB, - 3522: 0x00020CB8, - 3523: 0x00005502, - 3524: 0x000079C4, - 3525: 0x000217FA, - 3526: 0x00007DFE, - 3527: 0x000216C2, - 3528: 0x00024A50, - 3529: 0x00021852, - 3530: 0x0000452E, - 3531: 0x00009401, - 3532: 0x0000370A, - 3533: 0x00028AC0, - 3534: 0x000249AD, - 3535: 0x000059B0, - 3536: 0x000218BF, - 3537: 0x00021883, - 3538: 0x00027484, - 3539: 0x00005AA1, - 3540: 0x000036E2, - 3541: 0x00023D5B, - 3542: 0x000036B0, - 3543: 0x0000925F, - 3544: 0x00005A79, - 3545: 0x00028A81, - 3546: 0x00021862, - 3547: 0x00009374, - 3548: 0x00003CCD, - 3549: 0x00020AB4, - 3550: 0x00004A96, - 3551: 0x0000398A, - 3552: 0x000050F4, - 3553: 0x00003D69, - 3554: 0x00003D4C, - 3555: 0x0002139C, - 3556: 0x00007175, - 3557: 0x000042FB, - 3558: 0x00028218, - 3559: 0x00006E0F, - 3560: 0x000290E4, - 3561: 0x000044EB, - 3562: 0x00006D57, - 3563: 0x00027E4F, - 3564: 0x00007067, - 3565: 0x00006CAF, - 3566: 0x00003CD6, - 3567: 0x00023FED, - 3568: 0x00023E2D, - 3569: 0x00006E02, - 3570: 0x00006F0C, - 3571: 0x00003D6F, - 3572: 0x000203F5, - 3573: 0x00007551, - 3574: 0x000036BC, - 3575: 0x000034C8, - 3576: 0x00004680, - 3577: 0x00003EDA, - 3578: 0x00004871, - 3579: 0x000059C4, - 3580: 0x0000926E, - 3581: 0x0000493E, - 3582: 0x00008F41, - 3583: 0x00028C1C, - 3584: 0x00026BC0, - 3585: 0x00005812, - 3586: 0x000057C8, - 3587: 0x000036D6, - 3588: 0x00021452, - 3589: 0x000070FE, - 3590: 0x00024362, - 3591: 0x00024A71, - 3592: 0x00022FE3, - 3593: 0x000212B0, - 3594: 0x000223BD, - 3595: 0x000068B9, - 3596: 0x00006967, - 3597: 0x00021398, - 3598: 0x000234E5, - 3599: 0x00027BF4, - 3600: 0x000236DF, - 3601: 0x00028A83, - 3602: 0x000237D6, - 3603: 0x000233FA, - 3604: 0x00024C9F, - 3605: 0x00006A1A, - 3606: 0x000236AD, - 3607: 0x00026CB7, - 3608: 0x0000843E, - 3609: 0x000044DF, - 3610: 0x000044CE, - 3611: 0x00026D26, - 3612: 0x00026D51, - 3613: 0x00026C82, - 3614: 0x00026FDE, - 3615: 0x00006F17, - 3616: 0x00027109, - 3617: 0x0000833D, - 3618: 0x0002173A, - 3619: 0x000083ED, - 3620: 0x00026C80, - 3621: 0x00027053, - 3622: 0x000217DB, - 3623: 0x00005989, - 3624: 0x00005A82, - 3625: 0x000217B3, - 3626: 0x00005A61, - 3627: 0x00005A71, - 3628: 0x00021905, - 3629: 0x000241FC, - 3630: 0x0000372D, - 3631: 0x000059EF, - 3632: 0x0002173C, - 3633: 0x000036C7, - 3634: 0x0000718E, - 3635: 0x00009390, - 3636: 0x0000669A, - 3637: 0x000242A5, - 3638: 0x00005A6E, - 3639: 0x00005A2B, - 3640: 0x00024293, - 3641: 0x00006A2B, - 3642: 0x00023EF9, - 3643: 0x00027736, - 3644: 0x0002445B, - 3645: 0x000242CA, - 3646: 0x0000711D, - 3647: 0x00024259, - 3648: 0x000289E1, - 3649: 0x00004FB0, - 3650: 0x00026D28, - 3651: 0x00005CC2, - 3652: 0x000244CE, - 3653: 0x00027E4D, - 3654: 0x000243BD, - 3655: 0x00006A0C, - 3656: 0x00024256, - 3657: 0x00021304, - 3658: 0x000070A6, - 3659: 0x00007133, - 3660: 0x000243E9, - 3661: 0x00003DA5, - 3662: 0x00006CDF, - 3663: 0x0002F825, - 3664: 0x00024A4F, - 3665: 0x00007E65, - 3666: 0x000059EB, - 3667: 0x00005D2F, - 3668: 0x00003DF3, - 3669: 0x00005F5C, - 3670: 0x00024A5D, - 3671: 0x000217DF, - 3672: 0x00007DA4, - 3673: 0x00008426, - 3674: 0x00005485, - 3675: 0x00023AFA, - 3676: 0x00023300, - 3677: 0x00020214, - 3678: 0x0000577E, - 3679: 0x000208D5, - 3680: 0x00020619, - 3681: 0x00003FE5, - 3682: 0x00021F9E, - 3683: 0x0002A2B6, - 3684: 0x00007003, - 3685: 0x0002915B, - 3686: 0x00005D70, - 3687: 0x0000738F, - 3688: 0x00007CD3, - 3689: 0x00028A59, - 3690: 0x00029420, - 3691: 0x00004FC8, - 3692: 0x00007FE7, - 3693: 0x000072CD, - 3694: 0x00007310, - 3695: 0x00027AF4, - 3696: 0x00007338, - 3697: 0x00007339, - 3698: 0x000256F6, - 3699: 0x00007341, - 3700: 0x00007348, - 3701: 0x00003EA9, - 3702: 0x00027B18, - 3703: 0x0000906C, - 3704: 0x000071F5, - 3705: 0x000248F2, - 3706: 0x000073E1, - 3707: 0x000081F6, - 3708: 0x00003ECA, - 3709: 0x0000770C, - 3710: 0x00003ED1, - 3711: 0x00006CA2, - 3712: 0x000056FD, - 3713: 0x00007419, - 3714: 0x0000741E, - 3715: 0x0000741F, - 3716: 0x00003EE2, - 3717: 0x00003EF0, - 3718: 0x00003EF4, - 3719: 0x00003EFA, - 3720: 0x000074D3, - 3721: 0x00003F0E, - 3722: 0x00003F53, - 3723: 0x00007542, - 3724: 0x0000756D, - 3725: 0x00007572, - 3726: 0x0000758D, - 3727: 0x00003F7C, - 3728: 0x000075C8, - 3729: 0x000075DC, - 3730: 0x00003FC0, - 3731: 0x0000764D, - 3732: 0x00003FD7, - 3733: 0x00007674, - 3734: 0x00003FDC, - 3735: 0x0000767A, - 3736: 0x00024F5C, - 3737: 0x00007188, - 3738: 0x00005623, - 3739: 0x00008980, - 3740: 0x00005869, - 3741: 0x0000401D, - 3742: 0x00007743, - 3743: 0x00004039, - 3744: 0x00006761, - 3745: 0x00004045, - 3746: 0x000035DB, - 3747: 0x00007798, - 3748: 0x0000406A, - 3749: 0x0000406F, - 3750: 0x00005C5E, - 3751: 0x000077BE, - 3752: 0x000077CB, - 3753: 0x000058F2, - 3754: 0x00007818, - 3755: 0x000070B9, - 3756: 0x0000781C, - 3757: 0x000040A8, - 3758: 0x00007839, - 3759: 0x00007847, - 3760: 0x00007851, - 3761: 0x00007866, - 3762: 0x00008448, - 3763: 0x00025535, - 3764: 0x00007933, - 3765: 0x00006803, - 3766: 0x00007932, - 3767: 0x00004103, - 3768: 0x00004109, - 3769: 0x00007991, - 3770: 0x00007999, - 3771: 0x00008FBB, - 3772: 0x00007A06, - 3773: 0x00008FBC, - 3774: 0x00004167, - 3775: 0x00007A91, - 3776: 0x000041B2, - 3777: 0x00007ABC, - 3778: 0x00008279, - 3779: 0x000041C4, - 3780: 0x00007ACF, - 3781: 0x00007ADB, - 3782: 0x000041CF, - 3783: 0x00004E21, - 3784: 0x00007B62, - 3785: 0x00007B6C, - 3786: 0x00007B7B, - 3787: 0x00007C12, - 3788: 0x00007C1B, - 3789: 0x00004260, - 3790: 0x0000427A, - 3791: 0x00007C7B, - 3792: 0x00007C9C, - 3793: 0x0000428C, - 3794: 0x00007CB8, - 3795: 0x00004294, - 3796: 0x00007CED, - 3797: 0x00008F93, - 3798: 0x000070C0, - 3799: 0x00020CCF, - 3800: 0x00007DCF, - 3801: 0x00007DD4, - 3802: 0x00007DD0, - 3803: 0x00007DFD, - 3804: 0x00007FAE, - 3805: 0x00007FB4, - 3806: 0x0000729F, - 3807: 0x00004397, - 3808: 0x00008020, - 3809: 0x00008025, - 3810: 0x00007B39, - 3811: 0x0000802E, - 3812: 0x00008031, - 3813: 0x00008054, - 3814: 0x00003DCC, - 3815: 0x000057B4, - 3816: 0x000070A0, - 3817: 0x000080B7, - 3818: 0x000080E9, - 3819: 0x000043ED, - 3820: 0x0000810C, - 3821: 0x0000732A, - 3822: 0x0000810E, - 3823: 0x00008112, - 3824: 0x00007560, - 3825: 0x00008114, - 3826: 0x00004401, - 3827: 0x00003B39, - 3828: 0x00008156, - 3829: 0x00008159, - 3830: 0x0000815A, - 3831: 0x00004413, - 3832: 0x0000583A, - 3833: 0x0000817C, - 3834: 0x00008184, - 3835: 0x00004425, - 3836: 0x00008193, - 3837: 0x0000442D, - 3838: 0x000081A5, - 3839: 0x000057EF, - 3840: 0x000081C1, - 3841: 0x000081E4, - 3842: 0x00008254, - 3843: 0x0000448F, - 3844: 0x000082A6, - 3845: 0x00008276, - 3846: 0x000082CA, - 3847: 0x000082D8, - 3848: 0x000082FF, - 3849: 0x000044B0, - 3850: 0x00008357, - 3851: 0x00009669, - 3852: 0x0000698A, - 3853: 0x00008405, - 3854: 0x000070F5, - 3855: 0x00008464, - 3856: 0x000060E3, - 3857: 0x00008488, - 3858: 0x00004504, - 3859: 0x000084BE, - 3860: 0x000084E1, - 3861: 0x000084F8, - 3862: 0x00008510, - 3863: 0x00008538, - 3864: 0x00008552, - 3865: 0x0000453B, - 3866: 0x0000856F, - 3867: 0x00008570, - 3868: 0x000085E0, - 3869: 0x00004577, - 3870: 0x00008672, - 3871: 0x00008692, - 3872: 0x000086B2, - 3873: 0x000086EF, - 3874: 0x00009645, - 3875: 0x0000878B, - 3876: 0x00004606, - 3877: 0x00004617, - 3878: 0x000088AE, - 3879: 0x000088FF, - 3880: 0x00008924, - 3881: 0x00008947, - 3882: 0x00008991, - 3883: 0x00027967, - 3884: 0x00008A29, - 3885: 0x00008A38, - 3886: 0x00008A94, - 3887: 0x00008AB4, - 3888: 0x00008C51, - 3889: 0x00008CD4, - 3890: 0x00008CF2, - 3891: 0x00008D1C, - 3892: 0x00004798, - 3893: 0x0000585F, - 3894: 0x00008DC3, - 3895: 0x000047ED, - 3896: 0x00004EEE, - 3897: 0x00008E3A, - 3898: 0x000055D8, - 3899: 0x00005754, - 3900: 0x00008E71, - 3901: 0x000055F5, - 3902: 0x00008EB0, - 3903: 0x00004837, - 3904: 0x00008ECE, - 3905: 0x00008EE2, - 3906: 0x00008EE4, - 3907: 0x00008EED, - 3908: 0x00008EF2, - 3909: 0x00008FB7, - 3910: 0x00008FC1, - 3911: 0x00008FCA, - 3912: 0x00008FCC, - 3913: 0x00009033, - 3914: 0x000099C4, - 3915: 0x000048AD, - 3916: 0x000098E0, - 3917: 0x00009213, - 3918: 0x0000491E, - 3919: 0x00009228, - 3920: 0x00009258, - 3921: 0x0000926B, - 3922: 0x000092B1, - 3923: 0x000092AE, - 3924: 0x000092BF, - 3925: 0x000092E3, - 3926: 0x000092EB, - 3927: 0x000092F3, - 3928: 0x000092F4, - 3929: 0x000092FD, - 3930: 0x00009343, - 3931: 0x00009384, - 3932: 0x000093AD, - 3933: 0x00004945, - 3934: 0x00004951, - 3935: 0x00009EBF, - 3936: 0x00009417, - 3937: 0x00005301, - 3938: 0x0000941D, - 3939: 0x0000942D, - 3940: 0x0000943E, - 3941: 0x0000496A, - 3942: 0x00009454, - 3943: 0x00009479, - 3944: 0x0000952D, - 3945: 0x000095A2, - 3946: 0x000049A7, - 3947: 0x000095F4, - 3948: 0x00009633, - 3949: 0x000049E5, - 3950: 0x000067A0, - 3951: 0x00004A24, - 3952: 0x00009740, - 3953: 0x00004A35, - 3954: 0x000097B2, - 3955: 0x000097C2, - 3956: 0x00005654, - 3957: 0x00004AE4, - 3958: 0x000060E8, - 3959: 0x000098B9, - 3960: 0x00004B19, - 3961: 0x000098F1, - 3962: 0x00005844, - 3963: 0x0000990E, - 3964: 0x00009919, - 3965: 0x000051B4, - 3966: 0x0000991C, - 3967: 0x00009937, - 3968: 0x00009942, - 3969: 0x0000995D, - 3970: 0x00009962, - 3971: 0x00004B70, - 3972: 0x000099C5, - 3973: 0x00004B9D, - 3974: 0x00009A3C, - 3975: 0x00009B0F, - 3976: 0x00007A83, - 3977: 0x00009B69, - 3978: 0x00009B81, - 3979: 0x00009BDD, - 3980: 0x00009BF1, - 3981: 0x00009BF4, - 3982: 0x00004C6D, - 3983: 0x00009C20, - 3984: 0x0000376F, - 3985: 0x00021BC2, - 3986: 0x00009D49, - 3987: 0x00009C3A, - 3988: 0x00009EFE, - 3989: 0x00005650, - 3990: 0x00009D93, - 3991: 0x00009DBD, - 3992: 0x00009DC0, - 3993: 0x00009DFC, - 3994: 0x000094F6, - 3995: 0x00008FB6, - 3996: 0x00009E7B, - 3997: 0x00009EAC, - 3998: 0x00009EB1, - 3999: 0x00009EBD, - 4000: 0x00009EC6, - 4001: 0x000094DC, - 4002: 0x00009EE2, - 4003: 0x00009EF1, - 4004: 0x00009EF8, - 4005: 0x00007AC8, - 4006: 0x00009F44, - 4007: 0x00020094, - 4008: 0x000202B7, - 4009: 0x000203A0, - 4010: 0x0000691A, - 4011: 0x000094C3, - 4012: 0x000059AC, - 4013: 0x000204D7, - 4014: 0x00005840, - 4015: 0x000094C1, - 4016: 0x000037B9, - 4017: 0x000205D5, - 4018: 0x00020615, - 4019: 0x00020676, - 4020: 0x000216BA, - 4021: 0x00005757, - 4022: 0x00007173, - 4023: 0x00020AC2, - 4024: 0x00020ACD, - 4025: 0x00020BBF, - 4026: 0x0000546A, - 4027: 0x0002F83B, - 4028: 0x00020BCB, - 4029: 0x0000549E, - 4030: 0x00020BFB, - 4031: 0x00020C3B, - 4032: 0x00020C53, - 4033: 0x00020C65, - 4034: 0x00020C7C, - 4035: 0x000060E7, - 4036: 0x00020C8D, - 4037: 0x0000567A, - 4038: 0x00020CB5, - 4039: 0x00020CDD, - 4040: 0x00020CED, - 4041: 0x00020D6F, - 4042: 0x00020DB2, - 4043: 0x00020DC8, - 4044: 0x00006955, - 4045: 0x00009C2F, - 4046: 0x000087A5, - 4047: 0x00020E04, - 4048: 0x00020E0E, - 4049: 0x00020ED7, - 4050: 0x00020F90, - 4051: 0x00020F2D, - 4052: 0x00020E73, - 4053: 0x00005C20, - 4054: 0x00020FBC, - 4055: 0x00005E0B, - 4056: 0x0002105C, - 4057: 0x0002104F, - 4058: 0x00021076, - 4059: 0x0000671E, - 4060: 0x0002107B, - 4061: 0x00021088, - 4062: 0x00021096, - 4063: 0x00003647, - 4064: 0x000210BF, - 4065: 0x000210D3, - 4066: 0x0002112F, - 4067: 0x0002113B, - 4068: 0x00005364, - 4069: 0x000084AD, - 4070: 0x000212E3, - 4071: 0x00021375, - 4072: 0x00021336, - 4073: 0x00008B81, - 4074: 0x00021577, - 4075: 0x00021619, - 4076: 0x000217C3, - 4077: 0x000217C7, - 4078: 0x00004E78, - 4079: 0x000070BB, - 4080: 0x0002182D, - 4081: 0x0002196A, - 4082: 0x00021A2D, - 4083: 0x00021A45, - 4084: 0x00021C2A, - 4085: 0x00021C70, - 4086: 0x00021CAC, - 4087: 0x00021EC8, - 4088: 0x000062C3, - 4089: 0x00021ED5, - 4090: 0x00021F15, - 4091: 0x00007198, - 4092: 0x00006855, - 4093: 0x00022045, - 4094: 0x000069E9, - 4095: 0x000036C8, - 4096: 0x0002227C, - 4097: 0x000223D7, - 4098: 0x000223FA, - 4099: 0x0002272A, - 4100: 0x00022871, - 4101: 0x0002294F, - 4102: 0x000082FD, - 4103: 0x00022967, - 4104: 0x00022993, - 4105: 0x00022AD5, - 4106: 0x000089A5, - 4107: 0x00022AE8, - 4108: 0x00008FA0, - 4109: 0x00022B0E, - 4110: 0x000097B8, - 4111: 0x00022B3F, - 4112: 0x00009847, - 4113: 0x00009ABD, - 4114: 0x00022C4C, - 4116: 0x00022C88, - 4117: 0x00022CB7, - 4118: 0x00025BE8, - 4119: 0x00022D08, - 4120: 0x00022D12, - 4121: 0x00022DB7, - 4122: 0x00022D95, - 4123: 0x00022E42, - 4124: 0x00022F74, - 4125: 0x00022FCC, - 4126: 0x00023033, - 4127: 0x00023066, - 4128: 0x0002331F, - 4129: 0x000233DE, - 4130: 0x00005FB1, - 4131: 0x00006648, - 4132: 0x000066BF, - 4133: 0x00027A79, - 4134: 0x00023567, - 4135: 0x000235F3, - 4136: 0x00007201, - 4137: 0x000249BA, - 4138: 0x000077D7, - 4139: 0x0002361A, - 4140: 0x00023716, - 4141: 0x00007E87, - 4142: 0x00020346, - 4143: 0x000058B5, - 4144: 0x0000670E, - 4145: 0x00006918, - 4146: 0x00023AA7, - 4147: 0x00027657, - 4148: 0x00025FE2, - 4149: 0x00023E11, - 4150: 0x00023EB9, - 4151: 0x000275FE, - 4152: 0x0002209A, - 4153: 0x000048D0, - 4154: 0x00004AB8, - 4155: 0x00024119, - 4156: 0x00028A9A, - 4157: 0x000242EE, - 4158: 0x0002430D, - 4159: 0x0002403B, - 4160: 0x00024334, - 4161: 0x00024396, - 4162: 0x00024A45, - 4163: 0x000205CA, - 4164: 0x000051D2, - 4165: 0x00020611, - 4166: 0x0000599F, - 4167: 0x00021EA8, - 4168: 0x00003BBE, - 4169: 0x00023CFF, - 4170: 0x00024404, - 4171: 0x000244D6, - 4172: 0x00005788, - 4173: 0x00024674, - 4174: 0x0000399B, - 4175: 0x0002472F, - 4176: 0x000285E8, - 4177: 0x000299C9, - 4178: 0x00003762, - 4179: 0x000221C3, - 4180: 0x00008B5E, - 4181: 0x00028B4E, - 4182: 0x000099D6, - 4183: 0x00024812, - 4184: 0x000248FB, - 4185: 0x00024A15, - 4186: 0x00007209, - 4187: 0x00024AC0, - 4188: 0x00020C78, - 4189: 0x00005965, - 4190: 0x00024EA5, - 4191: 0x00024F86, - 4192: 0x00020779, - 4193: 0x00008EDA, - 4194: 0x0002502C, - 4195: 0x0000528F, - 4196: 0x0000573F, - 4197: 0x00007171, - 4198: 0x00025299, - 4199: 0x00025419, - 4200: 0x00023F4A, - 4201: 0x00024AA7, - 4202: 0x000055BC, - 4203: 0x00025446, - 4204: 0x0002546E, - 4205: 0x00026B52, - 4206: 0x000091D4, - 4207: 0x00003473, - 4208: 0x0002553F, - 4209: 0x00027632, - 4210: 0x0002555E, - 4211: 0x00004718, - 4212: 0x00025562, - 4213: 0x00025566, - 4214: 0x000257C7, - 4215: 0x0002493F, - 4216: 0x0002585D, - 4217: 0x00005066, - 4218: 0x000034FB, - 4219: 0x000233CC, - 4220: 0x000060DE, - 4221: 0x00025903, - 4222: 0x0000477C, - 4223: 0x00028948, - 4224: 0x00025AAE, - 4225: 0x00025B89, - 4226: 0x00025C06, - 4227: 0x00021D90, - 4228: 0x000057A1, - 4229: 0x00007151, - 4230: 0x00006FB6, - 4231: 0x00026102, - 4232: 0x00027C12, - 4233: 0x00009056, - 4234: 0x000261B2, - 4235: 0x00024F9A, - 4236: 0x00008B62, - 4237: 0x00026402, - 4238: 0x0002644A, - 4239: 0x00005D5B, - 4240: 0x00026BF7, - 4241: 0x00008F36, - 4242: 0x00026484, - 4243: 0x0002191C, - 4244: 0x00008AEA, - 4245: 0x000249F6, - 4246: 0x00026488, - 4247: 0x00023FEF, - 4248: 0x00026512, - 4249: 0x00004BC0, - 4250: 0x000265BF, - 4251: 0x000266B5, - 4252: 0x0002271B, - 4253: 0x00009465, - 4254: 0x000257E1, - 4255: 0x00006195, - 4256: 0x00005A27, - 4257: 0x0002F8CD, - 4258: 0x00004FBB, - 4259: 0x000056B9, - 4260: 0x00024521, - 4261: 0x000266FC, - 4262: 0x00004E6A, - 4263: 0x00024934, - 4264: 0x00009656, - 4265: 0x00006D8F, - 4266: 0x00026CBD, - 4267: 0x00003618, - 4268: 0x00008977, - 4269: 0x00026799, - 4270: 0x0002686E, - 4271: 0x00026411, - 4272: 0x0002685E, - 4273: 0x000071DF, - 4274: 0x000268C7, - 4275: 0x00007B42, - 4276: 0x000290C0, - 4277: 0x00020A11, - 4278: 0x00026926, - 4279: 0x00009104, - 4280: 0x00026939, - 4281: 0x00007A45, - 4282: 0x00009DF0, - 4283: 0x000269FA, - 4284: 0x00009A26, - 4285: 0x00026A2D, - 4286: 0x0000365F, - 4287: 0x00026469, - 4288: 0x00020021, - 4289: 0x00007983, - 4290: 0x00026A34, - 4291: 0x00026B5B, - 4292: 0x00005D2C, - 4293: 0x00023519, - 4294: 0x000083CF, - 4295: 0x00026B9D, - 4296: 0x000046D0, - 4297: 0x00026CA4, - 4298: 0x0000753B, - 4299: 0x00008865, - 4300: 0x00026DAE, - 4301: 0x000058B6, - 4302: 0x0000371C, - 4303: 0x0002258D, - 4304: 0x0002704B, - 4305: 0x000271CD, - 4306: 0x00003C54, - 4307: 0x00027280, - 4308: 0x00027285, - 4309: 0x00009281, - 4310: 0x0002217A, - 4311: 0x0002728B, - 4312: 0x00009330, - 4313: 0x000272E6, - 4314: 0x000249D0, - 4315: 0x00006C39, - 4316: 0x0000949F, - 4317: 0x00027450, - 4318: 0x00020EF8, - 4319: 0x00008827, - 4320: 0x000088F5, - 4321: 0x00022926, - 4322: 0x00028473, - 4323: 0x000217B1, - 4324: 0x00006EB8, - 4325: 0x00024A2A, - 4326: 0x00021820, - 4327: 0x000039A4, - 4328: 0x000036B9, - 4329: 0x00005C10, - 4330: 0x000079E3, - 4331: 0x0000453F, - 4332: 0x000066B6, - 4333: 0x00029CAD, - 4334: 0x000298A4, - 4335: 0x00008943, - 4336: 0x000277CC, - 4337: 0x00027858, - 4338: 0x000056D6, - 4339: 0x000040DF, - 4340: 0x0002160A, - 4341: 0x000039A1, - 4342: 0x0002372F, - 4343: 0x000280E8, - 4344: 0x000213C5, - 4345: 0x000071AD, - 4346: 0x00008366, - 4347: 0x000279DD, - 4348: 0x000291A8, - 4349: 0x00005A67, - 4350: 0x00004CB7, - 4351: 0x000270AF, - 4352: 0x000289AB, - 4353: 0x000279FD, - 4354: 0x00027A0A, - 4355: 0x00027B0B, - 4356: 0x00027D66, - 4357: 0x0002417A, - 4358: 0x00007B43, - 4359: 0x0000797E, - 4360: 0x00028009, - 4361: 0x00006FB5, - 4362: 0x0002A2DF, - 4363: 0x00006A03, - 4364: 0x00028318, - 4365: 0x000053A2, - 4366: 0x00026E07, - 4367: 0x000093BF, - 4368: 0x00006836, - 4369: 0x0000975D, - 4370: 0x0002816F, - 4371: 0x00028023, - 4372: 0x000269B5, - 4373: 0x000213ED, - 4374: 0x0002322F, - 4375: 0x00028048, - 4376: 0x00005D85, - 4377: 0x00028C30, - 4378: 0x00028083, - 4379: 0x00005715, - 4380: 0x00009823, - 4381: 0x00028949, - 4382: 0x00005DAB, - 4383: 0x00024988, - 4384: 0x000065BE, - 4385: 0x000069D5, - 4386: 0x000053D2, - 4387: 0x00024AA5, - 4388: 0x00023F81, - 4389: 0x00003C11, - 4390: 0x00006736, - 4391: 0x00028090, - 4392: 0x000280F4, - 4393: 0x0002812E, - 4394: 0x00021FA1, - 4395: 0x0002814F, - 4396: 0x00028189, - 4397: 0x000281AF, - 4398: 0x0002821A, - 4399: 0x00028306, - 4400: 0x0002832F, - 4401: 0x0002838A, - 4402: 0x000035CA, - 4403: 0x00028468, - 4404: 0x000286AA, - 4405: 0x000048FA, - 4406: 0x000063E6, - 4407: 0x00028956, - 4408: 0x00007808, - 4409: 0x00009255, - 4410: 0x000289B8, - 4411: 0x000043F2, - 4412: 0x000289E7, - 4413: 0x000043DF, - 4414: 0x000289E8, - 4415: 0x00028B46, - 4416: 0x00028BD4, - 4417: 0x000059F8, - 4418: 0x00028C09, - 4419: 0x00008F0B, - 4420: 0x00028FC5, - 4421: 0x000290EC, - 4422: 0x00007B51, - 4423: 0x00029110, - 4424: 0x0002913C, - 4425: 0x00003DF7, - 4426: 0x0002915E, - 4427: 0x00024ACA, - 4428: 0x00008FD0, - 4429: 0x0000728F, - 4430: 0x0000568B, - 4431: 0x000294E7, - 4432: 0x000295E9, - 4433: 0x000295B0, - 4434: 0x000295B8, - 4435: 0x00029732, - 4436: 0x000298D1, - 4437: 0x00029949, - 4438: 0x0002996A, - 4439: 0x000299C3, - 4440: 0x00029A28, - 4441: 0x00029B0E, - 4442: 0x00029D5A, - 4443: 0x00029D9B, - 4444: 0x00007E9F, - 4445: 0x00029EF8, - 4446: 0x00029F23, - 4447: 0x00004CA4, - 4448: 0x00009547, - 4449: 0x0002A293, - 4450: 0x000071A2, - 4451: 0x0002A2FF, - 4452: 0x00004D91, - 4453: 0x00009012, - 4454: 0x0002A5CB, - 4455: 0x00004D9C, - 4456: 0x00020C9C, - 4457: 0x00008FBE, - 4458: 0x000055C1, - 4459: 0x00008FBA, - 4460: 0x000224B0, - 4461: 0x00008FB9, - 4462: 0x00024A93, - 4463: 0x00004509, - 4464: 0x00007E7F, - 4465: 0x00006F56, - 4466: 0x00006AB1, - 4467: 0x00004EEA, - 4468: 0x000034E4, - 4469: 0x00028B2C, - 4470: 0x0002789D, - 4471: 0x0000373A, - 4472: 0x00008E80, - 4473: 0x000217F5, - 4474: 0x00028024, - 4475: 0x00028B6C, - 4476: 0x00028B99, - 4477: 0x00027A3E, - 4478: 0x000266AF, - 4479: 0x00003DEB, - 4480: 0x00027655, - 4481: 0x00023CB7, - 4482: 0x00025635, - 4483: 0x00025956, - 4484: 0x00004E9A, - 4485: 0x00025E81, - 4486: 0x00026258, - 4487: 0x000056BF, - 4488: 0x00020E6D, - 4489: 0x00008E0E, - 4490: 0x00005B6D, - 4491: 0x00023E88, - 4492: 0x00024C9E, - 4493: 0x000063DE, - 4494: 0x000062D0, - 4495: 0x000217F6, - 4496: 0x0002187B, - 4497: 0x00006530, - 4498: 0x0000562D, - 4499: 0x00025C4A, - 4500: 0x0000541A, - 4501: 0x00025311, - 4502: 0x00003DC6, - 4503: 0x00029D98, - 4504: 0x00004C7D, - 4505: 0x00005622, - 4506: 0x0000561E, - 4507: 0x00007F49, - 4508: 0x00025ED8, - 4509: 0x00005975, - 4510: 0x00023D40, - 4511: 0x00008770, - 4512: 0x00004E1C, - 4513: 0x00020FEA, - 4514: 0x00020D49, - 4515: 0x000236BA, - 4516: 0x00008117, - 4517: 0x00009D5E, - 4518: 0x00008D18, - 4519: 0x0000763B, - 4520: 0x00009C45, - 4521: 0x0000764E, - 4522: 0x000077B9, - 4523: 0x00009345, - 4524: 0x00005432, - 4525: 0x00008148, - 4526: 0x000082F7, - 4527: 0x00005625, - 4528: 0x00008132, - 4529: 0x00008418, - 4530: 0x000080BD, - 4531: 0x000055EA, - 4532: 0x00007962, - 4533: 0x00005643, - 4534: 0x00005416, - 4535: 0x00020E9D, - 4536: 0x000035CE, - 4537: 0x00005605, - 4538: 0x000055F1, - 4539: 0x000066F1, - 4540: 0x000282E2, - 4541: 0x0000362D, - 4542: 0x00007534, - 4543: 0x000055F0, - 4544: 0x000055BA, - 4545: 0x00005497, - 4546: 0x00005572, - 4547: 0x00020C41, - 4548: 0x00020C96, - 4549: 0x00005ED0, - 4550: 0x00025148, - 4551: 0x00020E76, - 4552: 0x00022C62, - 4553: 0x00020EA2, - 4554: 0x00009EAB, - 4555: 0x00007D5A, - 4556: 0x000055DE, - 4557: 0x00021075, - 4558: 0x0000629D, - 4559: 0x0000976D, - 4560: 0x00005494, - 4561: 0x00008CCD, - 4562: 0x000071F6, - 4563: 0x00009176, - 4564: 0x000063FC, - 4565: 0x000063B9, - 4566: 0x000063FE, - 4567: 0x00005569, - 4568: 0x00022B43, - 4569: 0x00009C72, - 4570: 0x00022EB3, - 4571: 0x0000519A, - 4572: 0x000034DF, - 4573: 0x00020DA7, - 4574: 0x000051A7, - 4575: 0x0000544D, - 4576: 0x0000551E, - 4577: 0x00005513, - 4578: 0x00007666, - 4579: 0x00008E2D, - 4580: 0x0002688A, - 4581: 0x000075B1, - 4582: 0x000080B6, - 4583: 0x00008804, - 4584: 0x00008786, - 4585: 0x000088C7, - 4586: 0x000081B6, - 4587: 0x0000841C, - 4588: 0x000210C1, - 4589: 0x000044EC, - 4590: 0x00007304, - 4591: 0x00024706, - 4592: 0x00005B90, - 4593: 0x0000830B, - 4594: 0x00026893, - 4595: 0x0000567B, - 4596: 0x000226F4, - 4597: 0x00027D2F, - 4598: 0x000241A3, - 4599: 0x00027D73, - 4600: 0x00026ED0, - 4601: 0x000272B6, - 4602: 0x00009170, - 4603: 0x000211D9, - 4604: 0x00009208, - 4605: 0x00023CFC, - 4606: 0x0002A6A9, - 4607: 0x00020EAC, - 4608: 0x00020EF9, - 4609: 0x00007266, - 4610: 0x00021CA2, - 4611: 0x0000474E, - 4612: 0x00024FC2, - 4613: 0x00027FF9, - 4614: 0x00020FEB, - 4615: 0x000040FA, - 4616: 0x00009C5D, - 4617: 0x0000651F, - 4618: 0x00022DA0, - 4619: 0x000048F3, - 4620: 0x000247E0, - 4621: 0x00029D7C, - 4622: 0x00020FEC, - 4623: 0x00020E0A, - 4624: 0x00006062, - 4625: 0x000275A3, - 4626: 0x00020FED, - 4628: 0x00026048, - 4629: 0x00021187, - 4630: 0x000071A3, - 4631: 0x00007E8E, - 4632: 0x00009D50, - 4633: 0x00004E1A, - 4634: 0x00004E04, - 4635: 0x00003577, - 4636: 0x00005B0D, - 4637: 0x00006CB2, - 4638: 0x00005367, - 4639: 0x000036AC, - 4640: 0x000039DC, - 4641: 0x0000537D, - 4642: 0x000036A5, - 4643: 0x00024618, - 4644: 0x0000589A, - 4645: 0x00024B6E, - 4646: 0x0000822D, - 4647: 0x0000544B, - 4648: 0x000057AA, - 4649: 0x00025A95, - 4650: 0x00020979, - 4652: 0x00003A52, - 4653: 0x00022465, - 4654: 0x00007374, - 4655: 0x00029EAC, - 4656: 0x00004D09, - 4657: 0x00009BED, - 4658: 0x00023CFE, - 4659: 0x00029F30, - 4660: 0x00004C5B, - 4661: 0x00024FA9, - 4662: 0x0002959E, - 4663: 0x00029FDE, - 4664: 0x0000845C, - 4665: 0x00023DB6, - 4666: 0x000272B2, - 4667: 0x000267B3, - 4668: 0x00023720, - 4669: 0x0000632E, - 4670: 0x00007D25, - 4671: 0x00023EF7, - 4672: 0x00023E2C, - 4673: 0x00003A2A, - 4674: 0x00009008, - 4675: 0x000052CC, - 4676: 0x00003E74, - 4677: 0x0000367A, - 4678: 0x000045E9, - 4679: 0x0002048E, - 4680: 0x00007640, - 4681: 0x00005AF0, - 4682: 0x00020EB6, - 4683: 0x0000787A, - 4684: 0x00027F2E, - 4685: 0x000058A7, - 4686: 0x000040BF, - 4687: 0x0000567C, - 4688: 0x00009B8B, - 4689: 0x00005D74, - 4690: 0x00007654, - 4691: 0x0002A434, - 4692: 0x00009E85, - 4693: 0x00004CE1, - 4694: 0x000075F9, - 4695: 0x000037FB, - 4696: 0x00006119, - 4697: 0x000230DA, - 4698: 0x000243F2, - 4700: 0x0000565D, - 4701: 0x000212A9, - 4702: 0x000057A7, - 4703: 0x00024963, - 4704: 0x00029E06, - 4705: 0x00005234, - 4706: 0x000270AE, - 4707: 0x000035AD, - 4708: 0x00006C4A, - 4709: 0x00009D7C, - 4710: 0x00007C56, - 4711: 0x00009B39, - 4712: 0x000057DE, - 4713: 0x0002176C, - 4714: 0x00005C53, - 4715: 0x000064D3, - 4716: 0x000294D0, - 4717: 0x00026335, - 4718: 0x00027164, - 4719: 0x000086AD, - 4720: 0x00020D28, - 4721: 0x00026D22, - 4722: 0x00024AE2, - 4723: 0x00020D71, - 4725: 0x000051FE, - 4726: 0x00021F0F, - 4727: 0x00005D8E, - 4728: 0x00009703, - 4729: 0x00021DD1, - 4730: 0x00009E81, - 4731: 0x0000904C, - 4732: 0x00007B1F, - 4733: 0x00009B02, - 4734: 0x00005CD1, - 4735: 0x00007BA3, - 4736: 0x00006268, - 4737: 0x00006335, - 4738: 0x00009AFF, - 4739: 0x00007BCF, - 4740: 0x00009B2A, - 4741: 0x00007C7E, - 4742: 0x00009B2E, - 4743: 0x00007C42, - 4744: 0x00007C86, - 4745: 0x00009C15, - 4746: 0x00007BFC, - 4747: 0x00009B09, - 4748: 0x00009F17, - 4749: 0x00009C1B, - 4750: 0x0002493E, - 4751: 0x00009F5A, - 4752: 0x00005573, - 4753: 0x00005BC3, - 4754: 0x00004FFD, - 4755: 0x00009E98, - 4756: 0x00004FF2, - 4757: 0x00005260, - 4758: 0x00003E06, - 4759: 0x000052D1, - 4760: 0x00005767, - 4761: 0x00005056, - 4762: 0x000059B7, - 4763: 0x00005E12, - 4764: 0x000097C8, - 4765: 0x00009DAB, - 4766: 0x00008F5C, - 4767: 0x00005469, - 4768: 0x000097B4, - 4769: 0x00009940, - 4770: 0x000097BA, - 4771: 0x0000532C, - 4772: 0x00006130, - 4773: 0x0000692C, - 4774: 0x000053DA, - 4775: 0x00009C0A, - 4776: 0x00009D02, - 4777: 0x00004C3B, - 4778: 0x00009641, - 4779: 0x00006980, - 4780: 0x000050A6, - 4781: 0x00007546, - 4782: 0x0002176D, - 4783: 0x000099DA, - 4784: 0x00005273, - 4786: 0x00009159, - 4787: 0x00009681, - 4788: 0x0000915C, - 4790: 0x00009151, - 4791: 0x00028E97, - 4792: 0x0000637F, - 4793: 0x00026D23, - 4794: 0x00006ACA, - 4795: 0x00005611, - 4796: 0x0000918E, - 4797: 0x0000757A, - 4798: 0x00006285, - 4799: 0x000203FC, - 4800: 0x0000734F, - 4801: 0x00007C70, - 4802: 0x00025C21, - 4803: 0x00023CFD, - 4805: 0x00024919, - 4806: 0x000076D6, - 4807: 0x00009B9D, - 4808: 0x00004E2A, - 4809: 0x00020CD4, - 4810: 0x000083BE, - 4811: 0x00008842, - 4813: 0x00005C4A, - 4814: 0x000069C0, - 4815: 0x000050ED, - 4816: 0x0000577A, - 4817: 0x0000521F, - 4818: 0x00005DF5, - 4819: 0x00004ECE, - 4820: 0x00006C31, - 4821: 0x000201F2, - 4822: 0x00004F39, - 4823: 0x0000549C, - 4824: 0x000054DA, - 4825: 0x0000529A, - 4826: 0x00008D82, - 4827: 0x000035FE, - 4828: 0x00005F0C, - 4829: 0x000035F3, - 4831: 0x00006B52, - 4832: 0x0000917C, - 4833: 0x00009FA5, - 4834: 0x00009B97, - 4835: 0x0000982E, - 4836: 0x000098B4, - 4837: 0x00009ABA, - 4838: 0x00009EA8, - 4839: 0x00009E84, - 4840: 0x0000717A, - 4841: 0x00007B14, - 4843: 0x00006BFA, - 4844: 0x00008818, - 4845: 0x00007F78, - 4847: 0x00005620, - 4848: 0x0002A64A, - 4849: 0x00008E77, - 4850: 0x00009F53, - 4852: 0x00008DD4, - 4853: 0x00008E4F, - 4854: 0x00009E1C, - 4855: 0x00008E01, - 4856: 0x00006282, - 4857: 0x0002837D, - 4858: 0x00008E28, - 4859: 0x00008E75, - 4860: 0x00007AD3, - 4861: 0x00024A77, - 4862: 0x00007A3E, - 4863: 0x000078D8, - 4864: 0x00006CEA, - 4865: 0x00008A67, - 4866: 0x00007607, - 4867: 0x00028A5A, - 4868: 0x00009F26, - 4869: 0x00006CCE, - 4870: 0x000087D6, - 4871: 0x000075C3, - 4872: 0x0002A2B2, - 4873: 0x00007853, - 4874: 0x0002F840, - 4875: 0x00008D0C, - 4876: 0x000072E2, - 4877: 0x00007371, - 4878: 0x00008B2D, - 4879: 0x00007302, - 4880: 0x000074F1, - 4881: 0x00008CEB, - 4882: 0x00024ABB, - 4883: 0x0000862F, - 4884: 0x00005FBA, - 4885: 0x000088A0, - 4886: 0x000044B7, - 4888: 0x0002183B, - 4889: 0x00026E05, - 4891: 0x00008A7E, - 4892: 0x0002251B, - 4894: 0x000060FD, - 4895: 0x00007667, - 4896: 0x00009AD7, - 4897: 0x00009D44, - 4898: 0x0000936E, - 4899: 0x00009B8F, - 4900: 0x000087F5, - 4902: 0x0000880F, - 4903: 0x00008CF7, - 4904: 0x0000732C, - 4905: 0x00009721, - 4906: 0x00009BB0, - 4907: 0x000035D6, - 4908: 0x000072B2, - 4909: 0x00004C07, - 4910: 0x00007C51, - 4911: 0x0000994A, - 4912: 0x00026159, - 4913: 0x00006159, - 4914: 0x00004C04, - 4915: 0x00009E96, - 4916: 0x0000617D, - 4918: 0x0000575F, - 4919: 0x0000616F, - 4920: 0x000062A6, - 4921: 0x00006239, - 4922: 0x000062CE, - 4923: 0x00003A5C, - 4924: 0x000061E2, - 4925: 0x000053AA, - 4926: 0x000233F5, - 4927: 0x00006364, - 4928: 0x00006802, - 4929: 0x000035D2, - 4930: 0x00005D57, - 4931: 0x00028BC2, - 4932: 0x00008FDA, - 4933: 0x00028E39, - 4935: 0x000050D9, - 4936: 0x00021D46, - 4937: 0x00007906, - 4938: 0x00005332, - 4939: 0x00009638, - 4940: 0x00020F3B, - 4941: 0x00004065, - 4943: 0x000077FE, - 4945: 0x00007CC2, - 4946: 0x00025F1A, - 4947: 0x00007CDA, - 4948: 0x00007A2D, - 4949: 0x00008066, - 4950: 0x00008063, - 4951: 0x00007D4D, - 4952: 0x00007505, - 4953: 0x000074F2, - 4954: 0x00008994, - 4955: 0x0000821A, - 4956: 0x0000670C, - 4957: 0x00008062, - 4958: 0x00027486, - 4959: 0x0000805B, - 4960: 0x000074F0, - 4961: 0x00008103, - 4962: 0x00007724, - 4963: 0x00008989, - 4964: 0x000267CC, - 4965: 0x00007553, - 4966: 0x00026ED1, - 4967: 0x000087A9, - 4968: 0x000087CE, - 4969: 0x000081C8, - 4970: 0x0000878C, - 4971: 0x00008A49, - 4972: 0x00008CAD, - 4973: 0x00008B43, - 4974: 0x0000772B, - 4975: 0x000074F8, - 4976: 0x000084DA, - 4977: 0x00003635, - 4978: 0x000069B2, - 4979: 0x00008DA6, - 4981: 0x000089A9, - 4982: 0x00007468, - 4983: 0x00006DB9, - 4984: 0x000087C1, - 4985: 0x00024011, - 4986: 0x000074E7, - 4987: 0x00003DDB, - 4988: 0x00007176, - 4989: 0x000060A4, - 4990: 0x0000619C, - 4991: 0x00003CD1, - 4992: 0x00007162, - 4993: 0x00006077, - 4995: 0x00007F71, - 4996: 0x00028B2D, - 4997: 0x00007250, - 4998: 0x000060E9, - 4999: 0x00004B7E, - 5000: 0x00005220, - 5001: 0x00003C18, - 5002: 0x00023CC7, - 5003: 0x00025ED7, - 5004: 0x00027656, - 5005: 0x00025531, - 5006: 0x00021944, - 5007: 0x000212FE, - 5008: 0x00029903, - 5009: 0x00026DDC, - 5010: 0x000270AD, - 5011: 0x00005CC1, - 5012: 0x000261AD, - 5013: 0x00028A0F, - 5014: 0x00023677, - 5015: 0x000200EE, - 5016: 0x00026846, - 5017: 0x00024F0E, - 5018: 0x00004562, - 5019: 0x00005B1F, - 5020: 0x0002634C, - 5021: 0x00009F50, - 5022: 0x00009EA6, - 5023: 0x0002626B, - 5024: 0x00003000, - 5025: 0x0000FF0C, - 5026: 0x00003001, - 5027: 0x00003002, - 5028: 0x0000FF0E, - 5029: 0x00002027, - 5030: 0x0000FF1B, - 5031: 0x0000FF1A, - 5032: 0x0000FF1F, - 5033: 0x0000FF01, - 5034: 0x0000FE30, - 5035: 0x00002026, - 5036: 0x00002025, - 5037: 0x0000FE50, - 5038: 0x0000FE51, - 5039: 0x0000FE52, - 5040: 0x000000B7, - 5041: 0x0000FE54, - 5042: 0x0000FE55, - 5043: 0x0000FE56, - 5044: 0x0000FE57, - 5045: 0x0000FF5C, - 5046: 0x00002013, - 5047: 0x0000FE31, - 5048: 0x00002014, - 5049: 0x0000FE33, - 5050: 0x00002574, - 5051: 0x0000FE34, - 5052: 0x0000FE4F, - 5053: 0x0000FF08, - 5054: 0x0000FF09, - 5055: 0x0000FE35, - 5056: 0x0000FE36, - 5057: 0x0000FF5B, - 5058: 0x0000FF5D, - 5059: 0x0000FE37, - 5060: 0x0000FE38, - 5061: 0x00003014, - 5062: 0x00003015, - 5063: 0x0000FE39, - 5064: 0x0000FE3A, - 5065: 0x00003010, - 5066: 0x00003011, - 5067: 0x0000FE3B, - 5068: 0x0000FE3C, - 5069: 0x0000300A, - 5070: 0x0000300B, - 5071: 0x0000FE3D, - 5072: 0x0000FE3E, - 5073: 0x00003008, - 5074: 0x00003009, - 5075: 0x0000FE3F, - 5076: 0x0000FE40, - 5077: 0x0000300C, - 5078: 0x0000300D, - 5079: 0x0000FE41, - 5080: 0x0000FE42, - 5081: 0x0000300E, - 5082: 0x0000300F, - 5083: 0x0000FE43, - 5084: 0x0000FE44, - 5085: 0x0000FE59, - 5086: 0x0000FE5A, - 5087: 0x0000FE5B, - 5088: 0x0000FE5C, - 5089: 0x0000FE5D, - 5090: 0x0000FE5E, - 5091: 0x00002018, - 5092: 0x00002019, - 5093: 0x0000201C, - 5094: 0x0000201D, - 5095: 0x0000301D, - 5096: 0x0000301E, - 5097: 0x00002035, - 5098: 0x00002032, - 5099: 0x0000FF03, - 5100: 0x0000FF06, - 5101: 0x0000FF0A, - 5102: 0x0000203B, - 5103: 0x000000A7, - 5104: 0x00003003, - 5105: 0x000025CB, - 5106: 0x000025CF, - 5107: 0x000025B3, - 5108: 0x000025B2, - 5109: 0x000025CE, - 5110: 0x00002606, - 5111: 0x00002605, - 5112: 0x000025C7, - 5113: 0x000025C6, - 5114: 0x000025A1, - 5115: 0x000025A0, - 5116: 0x000025BD, - 5117: 0x000025BC, - 5118: 0x000032A3, - 5119: 0x00002105, - 5120: 0x000000AF, - 5121: 0x0000FFE3, - 5122: 0x0000FF3F, - 5123: 0x000002CD, - 5124: 0x0000FE49, - 5125: 0x0000FE4A, - 5126: 0x0000FE4D, - 5127: 0x0000FE4E, - 5128: 0x0000FE4B, - 5129: 0x0000FE4C, - 5130: 0x0000FE5F, - 5131: 0x0000FE60, - 5132: 0x0000FE61, - 5133: 0x0000FF0B, - 5134: 0x0000FF0D, - 5135: 0x000000D7, - 5136: 0x000000F7, - 5137: 0x000000B1, - 5138: 0x0000221A, - 5139: 0x0000FF1C, - 5140: 0x0000FF1E, - 5141: 0x0000FF1D, - 5142: 0x00002266, - 5143: 0x00002267, - 5144: 0x00002260, - 5145: 0x0000221E, - 5146: 0x00002252, - 5147: 0x00002261, - 5148: 0x0000FE62, - 5149: 0x0000FE63, - 5150: 0x0000FE64, - 5151: 0x0000FE65, - 5152: 0x0000FE66, - 5153: 0x0000FF5E, - 5154: 0x00002229, - 5155: 0x0000222A, - 5156: 0x000022A5, - 5157: 0x00002220, - 5158: 0x0000221F, - 5159: 0x000022BF, - 5160: 0x000033D2, - 5161: 0x000033D1, - 5162: 0x0000222B, - 5163: 0x0000222E, - 5164: 0x00002235, - 5165: 0x00002234, - 5166: 0x00002640, - 5167: 0x00002642, - 5168: 0x00002295, - 5169: 0x00002299, - 5170: 0x00002191, - 5171: 0x00002193, - 5172: 0x00002190, - 5173: 0x00002192, - 5174: 0x00002196, - 5175: 0x00002197, - 5176: 0x00002199, - 5177: 0x00002198, - 5178: 0x00002225, - 5179: 0x00002223, - 5180: 0x0000FF0F, - 5181: 0x0000FF3C, - 5182: 0x00002215, - 5183: 0x0000FE68, - 5184: 0x0000FF04, - 5185: 0x0000FFE5, - 5186: 0x00003012, - 5187: 0x0000FFE0, - 5188: 0x0000FFE1, - 5189: 0x0000FF05, - 5190: 0x0000FF20, - 5191: 0x00002103, - 5192: 0x00002109, - 5193: 0x0000FE69, - 5194: 0x0000FE6A, - 5195: 0x0000FE6B, - 5196: 0x000033D5, - 5197: 0x0000339C, - 5198: 0x0000339D, - 5199: 0x0000339E, - 5200: 0x000033CE, - 5201: 0x000033A1, - 5202: 0x0000338E, - 5203: 0x0000338F, - 5204: 0x000033C4, - 5205: 0x000000B0, - 5206: 0x00005159, - 5207: 0x0000515B, - 5208: 0x0000515E, - 5209: 0x0000515D, - 5210: 0x00005161, - 5211: 0x00005163, - 5212: 0x000055E7, - 5213: 0x000074E9, - 5214: 0x00007CCE, - 5215: 0x00002581, - 5216: 0x00002582, - 5217: 0x00002583, - 5218: 0x00002584, - 5219: 0x00002585, - 5220: 0x00002586, - 5221: 0x00002587, - 5222: 0x00002588, - 5223: 0x0000258F, - 5224: 0x0000258E, - 5225: 0x0000258D, - 5226: 0x0000258C, - 5227: 0x0000258B, - 5228: 0x0000258A, - 5229: 0x00002589, - 5230: 0x0000253C, - 5231: 0x00002534, - 5232: 0x0000252C, - 5233: 0x00002524, - 5234: 0x0000251C, - 5235: 0x00002594, - 5236: 0x00002500, - 5237: 0x00002502, - 5238: 0x00002595, - 5239: 0x0000250C, - 5240: 0x00002510, - 5241: 0x00002514, - 5242: 0x00002518, - 5243: 0x0000256D, - 5244: 0x0000256E, - 5245: 0x00002570, - 5246: 0x0000256F, - 5247: 0x00002550, - 5248: 0x0000255E, - 5249: 0x0000256A, - 5250: 0x00002561, - 5251: 0x000025E2, - 5252: 0x000025E3, - 5253: 0x000025E5, - 5254: 0x000025E4, - 5255: 0x00002571, - 5256: 0x00002572, - 5257: 0x00002573, - 5258: 0x0000FF10, - 5259: 0x0000FF11, - 5260: 0x0000FF12, - 5261: 0x0000FF13, - 5262: 0x0000FF14, - 5263: 0x0000FF15, - 5264: 0x0000FF16, - 5265: 0x0000FF17, - 5266: 0x0000FF18, - 5267: 0x0000FF19, - 5268: 0x00002160, - 5269: 0x00002161, - 5270: 0x00002162, - 5271: 0x00002163, - 5272: 0x00002164, - 5273: 0x00002165, - 5274: 0x00002166, - 5275: 0x00002167, - 5276: 0x00002168, - 5277: 0x00002169, - 5278: 0x00003021, - 5279: 0x00003022, - 5280: 0x00003023, - 5281: 0x00003024, - 5282: 0x00003025, - 5283: 0x00003026, - 5284: 0x00003027, - 5285: 0x00003028, - 5286: 0x00003029, - 5287: 0x00005341, - 5288: 0x00005344, - 5289: 0x00005345, - 5290: 0x0000FF21, - 5291: 0x0000FF22, - 5292: 0x0000FF23, - 5293: 0x0000FF24, - 5294: 0x0000FF25, - 5295: 0x0000FF26, - 5296: 0x0000FF27, - 5297: 0x0000FF28, - 5298: 0x0000FF29, - 5299: 0x0000FF2A, - 5300: 0x0000FF2B, - 5301: 0x0000FF2C, - 5302: 0x0000FF2D, - 5303: 0x0000FF2E, - 5304: 0x0000FF2F, - 5305: 0x0000FF30, - 5306: 0x0000FF31, - 5307: 0x0000FF32, - 5308: 0x0000FF33, - 5309: 0x0000FF34, - 5310: 0x0000FF35, - 5311: 0x0000FF36, - 5312: 0x0000FF37, - 5313: 0x0000FF38, - 5314: 0x0000FF39, - 5315: 0x0000FF3A, - 5316: 0x0000FF41, - 5317: 0x0000FF42, - 5318: 0x0000FF43, - 5319: 0x0000FF44, - 5320: 0x0000FF45, - 5321: 0x0000FF46, - 5322: 0x0000FF47, - 5323: 0x0000FF48, - 5324: 0x0000FF49, - 5325: 0x0000FF4A, - 5326: 0x0000FF4B, - 5327: 0x0000FF4C, - 5328: 0x0000FF4D, - 5329: 0x0000FF4E, - 5330: 0x0000FF4F, - 5331: 0x0000FF50, - 5332: 0x0000FF51, - 5333: 0x0000FF52, - 5334: 0x0000FF53, - 5335: 0x0000FF54, - 5336: 0x0000FF55, - 5337: 0x0000FF56, - 5338: 0x0000FF57, - 5339: 0x0000FF58, - 5340: 0x0000FF59, - 5341: 0x0000FF5A, - 5342: 0x00000391, - 5343: 0x00000392, - 5344: 0x00000393, - 5345: 0x00000394, - 5346: 0x00000395, - 5347: 0x00000396, - 5348: 0x00000397, - 5349: 0x00000398, - 5350: 0x00000399, - 5351: 0x0000039A, - 5352: 0x0000039B, - 5353: 0x0000039C, - 5354: 0x0000039D, - 5355: 0x0000039E, - 5356: 0x0000039F, - 5357: 0x000003A0, - 5358: 0x000003A1, - 5359: 0x000003A3, - 5360: 0x000003A4, - 5361: 0x000003A5, - 5362: 0x000003A6, - 5363: 0x000003A7, - 5364: 0x000003A8, - 5365: 0x000003A9, - 5366: 0x000003B1, - 5367: 0x000003B2, - 5368: 0x000003B3, - 5369: 0x000003B4, - 5370: 0x000003B5, - 5371: 0x000003B6, - 5372: 0x000003B7, - 5373: 0x000003B8, - 5374: 0x000003B9, - 5375: 0x000003BA, - 5376: 0x000003BB, - 5377: 0x000003BC, - 5378: 0x000003BD, - 5379: 0x000003BE, - 5380: 0x000003BF, - 5381: 0x000003C0, - 5382: 0x000003C1, - 5383: 0x000003C3, - 5384: 0x000003C4, - 5385: 0x000003C5, - 5386: 0x000003C6, - 5387: 0x000003C7, - 5388: 0x000003C8, - 5389: 0x000003C9, - 5390: 0x00003105, - 5391: 0x00003106, - 5392: 0x00003107, - 5393: 0x00003108, - 5394: 0x00003109, - 5395: 0x0000310A, - 5396: 0x0000310B, - 5397: 0x0000310C, - 5398: 0x0000310D, - 5399: 0x0000310E, - 5400: 0x0000310F, - 5401: 0x00003110, - 5402: 0x00003111, - 5403: 0x00003112, - 5404: 0x00003113, - 5405: 0x00003114, - 5406: 0x00003115, - 5407: 0x00003116, - 5408: 0x00003117, - 5409: 0x00003118, - 5410: 0x00003119, - 5411: 0x0000311A, - 5412: 0x0000311B, - 5413: 0x0000311C, - 5414: 0x0000311D, - 5415: 0x0000311E, - 5416: 0x0000311F, - 5417: 0x00003120, - 5418: 0x00003121, - 5419: 0x00003122, - 5420: 0x00003123, - 5421: 0x00003124, - 5422: 0x00003125, - 5423: 0x00003126, - 5424: 0x00003127, - 5425: 0x00003128, - 5426: 0x00003129, - 5427: 0x000002D9, - 5428: 0x000002C9, - 5429: 0x000002CA, - 5430: 0x000002C7, - 5431: 0x000002CB, - 5432: 0x00002400, - 5433: 0x00002401, - 5434: 0x00002402, - 5435: 0x00002403, - 5436: 0x00002404, - 5437: 0x00002405, - 5438: 0x00002406, - 5439: 0x00002407, - 5440: 0x00002408, - 5441: 0x00002409, - 5442: 0x0000240A, - 5443: 0x0000240B, - 5444: 0x0000240C, - 5445: 0x0000240D, - 5446: 0x0000240E, - 5447: 0x0000240F, - 5448: 0x00002410, - 5449: 0x00002411, - 5450: 0x00002412, - 5451: 0x00002413, - 5452: 0x00002414, - 5453: 0x00002415, - 5454: 0x00002416, - 5455: 0x00002417, - 5456: 0x00002418, - 5457: 0x00002419, - 5458: 0x0000241A, - 5459: 0x0000241B, - 5460: 0x0000241C, - 5461: 0x0000241D, - 5462: 0x0000241E, - 5463: 0x0000241F, - 5464: 0x00002421, - 5465: 0x000020AC, - 5495: 0x00004E00, - 5496: 0x00004E59, - 5497: 0x00004E01, - 5498: 0x00004E03, - 5499: 0x00004E43, - 5500: 0x00004E5D, - 5501: 0x00004E86, - 5502: 0x00004E8C, - 5503: 0x00004EBA, - 5504: 0x0000513F, - 5505: 0x00005165, - 5506: 0x0000516B, - 5507: 0x000051E0, - 5508: 0x00005200, - 5509: 0x00005201, - 5510: 0x0000529B, - 5511: 0x00005315, - 5512: 0x00005341, - 5513: 0x0000535C, - 5514: 0x000053C8, - 5515: 0x00004E09, - 5516: 0x00004E0B, - 5517: 0x00004E08, - 5518: 0x00004E0A, - 5519: 0x00004E2B, - 5520: 0x00004E38, - 5521: 0x000051E1, - 5522: 0x00004E45, - 5523: 0x00004E48, - 5524: 0x00004E5F, - 5525: 0x00004E5E, - 5526: 0x00004E8E, - 5527: 0x00004EA1, - 5528: 0x00005140, - 5529: 0x00005203, - 5530: 0x000052FA, - 5531: 0x00005343, - 5532: 0x000053C9, - 5533: 0x000053E3, - 5534: 0x0000571F, - 5535: 0x000058EB, - 5536: 0x00005915, - 5537: 0x00005927, - 5538: 0x00005973, - 5539: 0x00005B50, - 5540: 0x00005B51, - 5541: 0x00005B53, - 5542: 0x00005BF8, - 5543: 0x00005C0F, - 5544: 0x00005C22, - 5545: 0x00005C38, - 5546: 0x00005C71, - 5547: 0x00005DDD, - 5548: 0x00005DE5, - 5549: 0x00005DF1, - 5550: 0x00005DF2, - 5551: 0x00005DF3, - 5552: 0x00005DFE, - 5553: 0x00005E72, - 5554: 0x00005EFE, - 5555: 0x00005F0B, - 5556: 0x00005F13, - 5557: 0x0000624D, - 5558: 0x00004E11, - 5559: 0x00004E10, - 5560: 0x00004E0D, - 5561: 0x00004E2D, - 5562: 0x00004E30, - 5563: 0x00004E39, - 5564: 0x00004E4B, - 5565: 0x00005C39, - 5566: 0x00004E88, - 5567: 0x00004E91, - 5568: 0x00004E95, - 5569: 0x00004E92, - 5570: 0x00004E94, - 5571: 0x00004EA2, - 5572: 0x00004EC1, - 5573: 0x00004EC0, - 5574: 0x00004EC3, - 5575: 0x00004EC6, - 5576: 0x00004EC7, - 5577: 0x00004ECD, - 5578: 0x00004ECA, - 5579: 0x00004ECB, - 5580: 0x00004EC4, - 5581: 0x00005143, - 5582: 0x00005141, - 5583: 0x00005167, - 5584: 0x0000516D, - 5585: 0x0000516E, - 5586: 0x0000516C, - 5587: 0x00005197, - 5588: 0x000051F6, - 5589: 0x00005206, - 5590: 0x00005207, - 5591: 0x00005208, - 5592: 0x000052FB, - 5593: 0x000052FE, - 5594: 0x000052FF, - 5595: 0x00005316, - 5596: 0x00005339, - 5597: 0x00005348, - 5598: 0x00005347, - 5599: 0x00005345, - 5600: 0x0000535E, - 5601: 0x00005384, - 5602: 0x000053CB, - 5603: 0x000053CA, - 5604: 0x000053CD, - 5605: 0x000058EC, - 5606: 0x00005929, - 5607: 0x0000592B, - 5608: 0x0000592A, - 5609: 0x0000592D, - 5610: 0x00005B54, - 5611: 0x00005C11, - 5612: 0x00005C24, - 5613: 0x00005C3A, - 5614: 0x00005C6F, - 5615: 0x00005DF4, - 5616: 0x00005E7B, - 5617: 0x00005EFF, - 5618: 0x00005F14, - 5619: 0x00005F15, - 5620: 0x00005FC3, - 5621: 0x00006208, - 5622: 0x00006236, - 5623: 0x0000624B, - 5624: 0x0000624E, - 5625: 0x0000652F, - 5626: 0x00006587, - 5627: 0x00006597, - 5628: 0x000065A4, - 5629: 0x000065B9, - 5630: 0x000065E5, - 5631: 0x000066F0, - 5632: 0x00006708, - 5633: 0x00006728, - 5634: 0x00006B20, - 5635: 0x00006B62, - 5636: 0x00006B79, - 5637: 0x00006BCB, - 5638: 0x00006BD4, - 5639: 0x00006BDB, - 5640: 0x00006C0F, - 5641: 0x00006C34, - 5642: 0x0000706B, - 5643: 0x0000722A, - 5644: 0x00007236, - 5645: 0x0000723B, - 5646: 0x00007247, - 5647: 0x00007259, - 5648: 0x0000725B, - 5649: 0x000072AC, - 5650: 0x0000738B, - 5651: 0x00004E19, - 5652: 0x00004E16, - 5653: 0x00004E15, - 5654: 0x00004E14, - 5655: 0x00004E18, - 5656: 0x00004E3B, - 5657: 0x00004E4D, - 5658: 0x00004E4F, - 5659: 0x00004E4E, - 5660: 0x00004EE5, - 5661: 0x00004ED8, - 5662: 0x00004ED4, - 5663: 0x00004ED5, - 5664: 0x00004ED6, - 5665: 0x00004ED7, - 5666: 0x00004EE3, - 5667: 0x00004EE4, - 5668: 0x00004ED9, - 5669: 0x00004EDE, - 5670: 0x00005145, - 5671: 0x00005144, - 5672: 0x00005189, - 5673: 0x0000518A, - 5674: 0x000051AC, - 5675: 0x000051F9, - 5676: 0x000051FA, - 5677: 0x000051F8, - 5678: 0x0000520A, - 5679: 0x000052A0, - 5680: 0x0000529F, - 5681: 0x00005305, - 5682: 0x00005306, - 5683: 0x00005317, - 5684: 0x0000531D, - 5685: 0x00004EDF, - 5686: 0x0000534A, - 5687: 0x00005349, - 5688: 0x00005361, - 5689: 0x00005360, - 5690: 0x0000536F, - 5691: 0x0000536E, - 5692: 0x000053BB, - 5693: 0x000053EF, - 5694: 0x000053E4, - 5695: 0x000053F3, - 5696: 0x000053EC, - 5697: 0x000053EE, - 5698: 0x000053E9, - 5699: 0x000053E8, - 5700: 0x000053FC, - 5701: 0x000053F8, - 5702: 0x000053F5, - 5703: 0x000053EB, - 5704: 0x000053E6, - 5705: 0x000053EA, - 5706: 0x000053F2, - 5707: 0x000053F1, - 5708: 0x000053F0, - 5709: 0x000053E5, - 5710: 0x000053ED, - 5711: 0x000053FB, - 5712: 0x000056DB, - 5713: 0x000056DA, - 5714: 0x00005916, - 5715: 0x0000592E, - 5716: 0x00005931, - 5717: 0x00005974, - 5718: 0x00005976, - 5719: 0x00005B55, - 5720: 0x00005B83, - 5721: 0x00005C3C, - 5722: 0x00005DE8, - 5723: 0x00005DE7, - 5724: 0x00005DE6, - 5725: 0x00005E02, - 5726: 0x00005E03, - 5727: 0x00005E73, - 5728: 0x00005E7C, - 5729: 0x00005F01, - 5730: 0x00005F18, - 5731: 0x00005F17, - 5732: 0x00005FC5, - 5733: 0x0000620A, - 5734: 0x00006253, - 5735: 0x00006254, - 5736: 0x00006252, - 5737: 0x00006251, - 5738: 0x000065A5, - 5739: 0x000065E6, - 5740: 0x0000672E, - 5741: 0x0000672C, - 5742: 0x0000672A, - 5743: 0x0000672B, - 5744: 0x0000672D, - 5745: 0x00006B63, - 5746: 0x00006BCD, - 5747: 0x00006C11, - 5748: 0x00006C10, - 5749: 0x00006C38, - 5750: 0x00006C41, - 5751: 0x00006C40, - 5752: 0x00006C3E, - 5753: 0x000072AF, - 5754: 0x00007384, - 5755: 0x00007389, - 5756: 0x000074DC, - 5757: 0x000074E6, - 5758: 0x00007518, - 5759: 0x0000751F, - 5760: 0x00007528, - 5761: 0x00007529, - 5762: 0x00007530, - 5763: 0x00007531, - 5764: 0x00007532, - 5765: 0x00007533, - 5766: 0x0000758B, - 5767: 0x0000767D, - 5768: 0x000076AE, - 5769: 0x000076BF, - 5770: 0x000076EE, - 5771: 0x000077DB, - 5772: 0x000077E2, - 5773: 0x000077F3, - 5774: 0x0000793A, - 5775: 0x000079BE, - 5776: 0x00007A74, - 5777: 0x00007ACB, - 5778: 0x00004E1E, - 5779: 0x00004E1F, - 5780: 0x00004E52, - 5781: 0x00004E53, - 5782: 0x00004E69, - 5783: 0x00004E99, - 5784: 0x00004EA4, - 5785: 0x00004EA6, - 5786: 0x00004EA5, - 5787: 0x00004EFF, - 5788: 0x00004F09, - 5789: 0x00004F19, - 5790: 0x00004F0A, - 5791: 0x00004F15, - 5792: 0x00004F0D, - 5793: 0x00004F10, - 5794: 0x00004F11, - 5795: 0x00004F0F, - 5796: 0x00004EF2, - 5797: 0x00004EF6, - 5798: 0x00004EFB, - 5799: 0x00004EF0, - 5800: 0x00004EF3, - 5801: 0x00004EFD, - 5802: 0x00004F01, - 5803: 0x00004F0B, - 5804: 0x00005149, - 5805: 0x00005147, - 5806: 0x00005146, - 5807: 0x00005148, - 5808: 0x00005168, - 5809: 0x00005171, - 5810: 0x0000518D, - 5811: 0x000051B0, - 5812: 0x00005217, - 5813: 0x00005211, - 5814: 0x00005212, - 5815: 0x0000520E, - 5816: 0x00005216, - 5817: 0x000052A3, - 5818: 0x00005308, - 5819: 0x00005321, - 5820: 0x00005320, - 5821: 0x00005370, - 5822: 0x00005371, - 5823: 0x00005409, - 5824: 0x0000540F, - 5825: 0x0000540C, - 5826: 0x0000540A, - 5827: 0x00005410, - 5828: 0x00005401, - 5829: 0x0000540B, - 5830: 0x00005404, - 5831: 0x00005411, - 5832: 0x0000540D, - 5833: 0x00005408, - 5834: 0x00005403, - 5835: 0x0000540E, - 5836: 0x00005406, - 5837: 0x00005412, - 5838: 0x000056E0, - 5839: 0x000056DE, - 5840: 0x000056DD, - 5841: 0x00005733, - 5842: 0x00005730, - 5843: 0x00005728, - 5844: 0x0000572D, - 5845: 0x0000572C, - 5846: 0x0000572F, - 5847: 0x00005729, - 5848: 0x00005919, - 5849: 0x0000591A, - 5850: 0x00005937, - 5851: 0x00005938, - 5852: 0x00005984, - 5853: 0x00005978, - 5854: 0x00005983, - 5855: 0x0000597D, - 5856: 0x00005979, - 5857: 0x00005982, - 5858: 0x00005981, - 5859: 0x00005B57, - 5860: 0x00005B58, - 5861: 0x00005B87, - 5862: 0x00005B88, - 5863: 0x00005B85, - 5864: 0x00005B89, - 5865: 0x00005BFA, - 5866: 0x00005C16, - 5867: 0x00005C79, - 5868: 0x00005DDE, - 5869: 0x00005E06, - 5870: 0x00005E76, - 5871: 0x00005E74, - 5872: 0x00005F0F, - 5873: 0x00005F1B, - 5874: 0x00005FD9, - 5875: 0x00005FD6, - 5876: 0x0000620E, - 5877: 0x0000620C, - 5878: 0x0000620D, - 5879: 0x00006210, - 5880: 0x00006263, - 5881: 0x0000625B, - 5882: 0x00006258, - 5883: 0x00006536, - 5884: 0x000065E9, - 5885: 0x000065E8, - 5886: 0x000065EC, - 5887: 0x000065ED, - 5888: 0x000066F2, - 5889: 0x000066F3, - 5890: 0x00006709, - 5891: 0x0000673D, - 5892: 0x00006734, - 5893: 0x00006731, - 5894: 0x00006735, - 5895: 0x00006B21, - 5896: 0x00006B64, - 5897: 0x00006B7B, - 5898: 0x00006C16, - 5899: 0x00006C5D, - 5900: 0x00006C57, - 5901: 0x00006C59, - 5902: 0x00006C5F, - 5903: 0x00006C60, - 5904: 0x00006C50, - 5905: 0x00006C55, - 5906: 0x00006C61, - 5907: 0x00006C5B, - 5908: 0x00006C4D, - 5909: 0x00006C4E, - 5910: 0x00007070, - 5911: 0x0000725F, - 5912: 0x0000725D, - 5913: 0x0000767E, - 5914: 0x00007AF9, - 5915: 0x00007C73, - 5916: 0x00007CF8, - 5917: 0x00007F36, - 5918: 0x00007F8A, - 5919: 0x00007FBD, - 5920: 0x00008001, - 5921: 0x00008003, - 5922: 0x0000800C, - 5923: 0x00008012, - 5924: 0x00008033, - 5925: 0x0000807F, - 5926: 0x00008089, - 5927: 0x0000808B, - 5928: 0x0000808C, - 5929: 0x000081E3, - 5930: 0x000081EA, - 5931: 0x000081F3, - 5932: 0x000081FC, - 5933: 0x0000820C, - 5934: 0x0000821B, - 5935: 0x0000821F, - 5936: 0x0000826E, - 5937: 0x00008272, - 5938: 0x0000827E, - 5939: 0x0000866B, - 5940: 0x00008840, - 5941: 0x0000884C, - 5942: 0x00008863, - 5943: 0x0000897F, - 5944: 0x00009621, - 5945: 0x00004E32, - 5946: 0x00004EA8, - 5947: 0x00004F4D, - 5948: 0x00004F4F, - 5949: 0x00004F47, - 5950: 0x00004F57, - 5951: 0x00004F5E, - 5952: 0x00004F34, - 5953: 0x00004F5B, - 5954: 0x00004F55, - 5955: 0x00004F30, - 5956: 0x00004F50, - 5957: 0x00004F51, - 5958: 0x00004F3D, - 5959: 0x00004F3A, - 5960: 0x00004F38, - 5961: 0x00004F43, - 5962: 0x00004F54, - 5963: 0x00004F3C, - 5964: 0x00004F46, - 5965: 0x00004F63, - 5966: 0x00004F5C, - 5967: 0x00004F60, - 5968: 0x00004F2F, - 5969: 0x00004F4E, - 5970: 0x00004F36, - 5971: 0x00004F59, - 5972: 0x00004F5D, - 5973: 0x00004F48, - 5974: 0x00004F5A, - 5975: 0x0000514C, - 5976: 0x0000514B, - 5977: 0x0000514D, - 5978: 0x00005175, - 5979: 0x000051B6, - 5980: 0x000051B7, - 5981: 0x00005225, - 5982: 0x00005224, - 5983: 0x00005229, - 5984: 0x0000522A, - 5985: 0x00005228, - 5986: 0x000052AB, - 5987: 0x000052A9, - 5988: 0x000052AA, - 5989: 0x000052AC, - 5990: 0x00005323, - 5991: 0x00005373, - 5992: 0x00005375, - 5993: 0x0000541D, - 5994: 0x0000542D, - 5995: 0x0000541E, - 5996: 0x0000543E, - 5997: 0x00005426, - 5998: 0x0000544E, - 5999: 0x00005427, - 6000: 0x00005446, - 6001: 0x00005443, - 6002: 0x00005433, - 6003: 0x00005448, - 6004: 0x00005442, - 6005: 0x0000541B, - 6006: 0x00005429, - 6007: 0x0000544A, - 6008: 0x00005439, - 6009: 0x0000543B, - 6010: 0x00005438, - 6011: 0x0000542E, - 6012: 0x00005435, - 6013: 0x00005436, - 6014: 0x00005420, - 6015: 0x0000543C, - 6016: 0x00005440, - 6017: 0x00005431, - 6018: 0x0000542B, - 6019: 0x0000541F, - 6020: 0x0000542C, - 6021: 0x000056EA, - 6022: 0x000056F0, - 6023: 0x000056E4, - 6024: 0x000056EB, - 6025: 0x0000574A, - 6026: 0x00005751, - 6027: 0x00005740, - 6028: 0x0000574D, - 6029: 0x00005747, - 6030: 0x0000574E, - 6031: 0x0000573E, - 6032: 0x00005750, - 6033: 0x0000574F, - 6034: 0x0000573B, - 6035: 0x000058EF, - 6036: 0x0000593E, - 6037: 0x0000599D, - 6038: 0x00005992, - 6039: 0x000059A8, - 6040: 0x0000599E, - 6041: 0x000059A3, - 6042: 0x00005999, - 6043: 0x00005996, - 6044: 0x0000598D, - 6045: 0x000059A4, - 6046: 0x00005993, - 6047: 0x0000598A, - 6048: 0x000059A5, - 6049: 0x00005B5D, - 6050: 0x00005B5C, - 6051: 0x00005B5A, - 6052: 0x00005B5B, - 6053: 0x00005B8C, - 6054: 0x00005B8B, - 6055: 0x00005B8F, - 6056: 0x00005C2C, - 6057: 0x00005C40, - 6058: 0x00005C41, - 6059: 0x00005C3F, - 6060: 0x00005C3E, - 6061: 0x00005C90, - 6062: 0x00005C91, - 6063: 0x00005C94, - 6064: 0x00005C8C, - 6065: 0x00005DEB, - 6066: 0x00005E0C, - 6067: 0x00005E8F, - 6068: 0x00005E87, - 6069: 0x00005E8A, - 6070: 0x00005EF7, - 6071: 0x00005F04, - 6072: 0x00005F1F, - 6073: 0x00005F64, - 6074: 0x00005F62, - 6075: 0x00005F77, - 6076: 0x00005F79, - 6077: 0x00005FD8, - 6078: 0x00005FCC, - 6079: 0x00005FD7, - 6080: 0x00005FCD, - 6081: 0x00005FF1, - 6082: 0x00005FEB, - 6083: 0x00005FF8, - 6084: 0x00005FEA, - 6085: 0x00006212, - 6086: 0x00006211, - 6087: 0x00006284, - 6088: 0x00006297, - 6089: 0x00006296, - 6090: 0x00006280, - 6091: 0x00006276, - 6092: 0x00006289, - 6093: 0x0000626D, - 6094: 0x0000628A, - 6095: 0x0000627C, - 6096: 0x0000627E, - 6097: 0x00006279, - 6098: 0x00006273, - 6099: 0x00006292, - 6100: 0x0000626F, - 6101: 0x00006298, - 6102: 0x0000626E, - 6103: 0x00006295, - 6104: 0x00006293, - 6105: 0x00006291, - 6106: 0x00006286, - 6107: 0x00006539, - 6108: 0x0000653B, - 6109: 0x00006538, - 6110: 0x000065F1, - 6111: 0x000066F4, - 6112: 0x0000675F, - 6113: 0x0000674E, - 6114: 0x0000674F, - 6115: 0x00006750, - 6116: 0x00006751, - 6117: 0x0000675C, - 6118: 0x00006756, - 6119: 0x0000675E, - 6120: 0x00006749, - 6121: 0x00006746, - 6122: 0x00006760, - 6123: 0x00006753, - 6124: 0x00006757, - 6125: 0x00006B65, - 6126: 0x00006BCF, - 6127: 0x00006C42, - 6128: 0x00006C5E, - 6129: 0x00006C99, - 6130: 0x00006C81, - 6131: 0x00006C88, - 6132: 0x00006C89, - 6133: 0x00006C85, - 6134: 0x00006C9B, - 6135: 0x00006C6A, - 6136: 0x00006C7A, - 6137: 0x00006C90, - 6138: 0x00006C70, - 6139: 0x00006C8C, - 6140: 0x00006C68, - 6141: 0x00006C96, - 6142: 0x00006C92, - 6143: 0x00006C7D, - 6144: 0x00006C83, - 6145: 0x00006C72, - 6146: 0x00006C7E, - 6147: 0x00006C74, - 6148: 0x00006C86, - 6149: 0x00006C76, - 6150: 0x00006C8D, - 6151: 0x00006C94, - 6152: 0x00006C98, - 6153: 0x00006C82, - 6154: 0x00007076, - 6155: 0x0000707C, - 6156: 0x0000707D, - 6157: 0x00007078, - 6158: 0x00007262, - 6159: 0x00007261, - 6160: 0x00007260, - 6161: 0x000072C4, - 6162: 0x000072C2, - 6163: 0x00007396, - 6164: 0x0000752C, - 6165: 0x0000752B, - 6166: 0x00007537, - 6167: 0x00007538, - 6168: 0x00007682, - 6169: 0x000076EF, - 6170: 0x000077E3, - 6171: 0x000079C1, - 6172: 0x000079C0, - 6173: 0x000079BF, - 6174: 0x00007A76, - 6175: 0x00007CFB, - 6176: 0x00007F55, - 6177: 0x00008096, - 6178: 0x00008093, - 6179: 0x0000809D, - 6180: 0x00008098, - 6181: 0x0000809B, - 6182: 0x0000809A, - 6183: 0x000080B2, - 6184: 0x0000826F, - 6185: 0x00008292, - 6186: 0x0000828B, - 6187: 0x0000828D, - 6188: 0x0000898B, - 6189: 0x000089D2, - 6190: 0x00008A00, - 6191: 0x00008C37, - 6192: 0x00008C46, - 6193: 0x00008C55, - 6194: 0x00008C9D, - 6195: 0x00008D64, - 6196: 0x00008D70, - 6197: 0x00008DB3, - 6198: 0x00008EAB, - 6199: 0x00008ECA, - 6200: 0x00008F9B, - 6201: 0x00008FB0, - 6202: 0x00008FC2, - 6203: 0x00008FC6, - 6204: 0x00008FC5, - 6205: 0x00008FC4, - 6206: 0x00005DE1, - 6207: 0x00009091, - 6208: 0x000090A2, - 6209: 0x000090AA, - 6210: 0x000090A6, - 6211: 0x000090A3, - 6212: 0x00009149, - 6213: 0x000091C6, - 6214: 0x000091CC, - 6215: 0x00009632, - 6216: 0x0000962E, - 6217: 0x00009631, - 6218: 0x0000962A, - 6219: 0x0000962C, - 6220: 0x00004E26, - 6221: 0x00004E56, - 6222: 0x00004E73, - 6223: 0x00004E8B, - 6224: 0x00004E9B, - 6225: 0x00004E9E, - 6226: 0x00004EAB, - 6227: 0x00004EAC, - 6228: 0x00004F6F, - 6229: 0x00004F9D, - 6230: 0x00004F8D, - 6231: 0x00004F73, - 6232: 0x00004F7F, - 6233: 0x00004F6C, - 6234: 0x00004F9B, - 6235: 0x00004F8B, - 6236: 0x00004F86, - 6237: 0x00004F83, - 6238: 0x00004F70, - 6239: 0x00004F75, - 6240: 0x00004F88, - 6241: 0x00004F69, - 6242: 0x00004F7B, - 6243: 0x00004F96, - 6244: 0x00004F7E, - 6245: 0x00004F8F, - 6246: 0x00004F91, - 6247: 0x00004F7A, - 6248: 0x00005154, - 6249: 0x00005152, - 6250: 0x00005155, - 6251: 0x00005169, - 6252: 0x00005177, - 6253: 0x00005176, - 6254: 0x00005178, - 6255: 0x000051BD, - 6256: 0x000051FD, - 6257: 0x0000523B, - 6258: 0x00005238, - 6259: 0x00005237, - 6260: 0x0000523A, - 6261: 0x00005230, - 6262: 0x0000522E, - 6263: 0x00005236, - 6264: 0x00005241, - 6265: 0x000052BE, - 6266: 0x000052BB, - 6267: 0x00005352, - 6268: 0x00005354, - 6269: 0x00005353, - 6270: 0x00005351, - 6271: 0x00005366, - 6272: 0x00005377, - 6273: 0x00005378, - 6274: 0x00005379, - 6275: 0x000053D6, - 6276: 0x000053D4, - 6277: 0x000053D7, - 6278: 0x00005473, - 6279: 0x00005475, - 6280: 0x00005496, - 6281: 0x00005478, - 6282: 0x00005495, - 6283: 0x00005480, - 6284: 0x0000547B, - 6285: 0x00005477, - 6286: 0x00005484, - 6287: 0x00005492, - 6288: 0x00005486, - 6289: 0x0000547C, - 6290: 0x00005490, - 6291: 0x00005471, - 6292: 0x00005476, - 6293: 0x0000548C, - 6294: 0x0000549A, - 6295: 0x00005462, - 6296: 0x00005468, - 6297: 0x0000548B, - 6298: 0x0000547D, - 6299: 0x0000548E, - 6300: 0x000056FA, - 6301: 0x00005783, - 6302: 0x00005777, - 6303: 0x0000576A, - 6304: 0x00005769, - 6305: 0x00005761, - 6306: 0x00005766, - 6307: 0x00005764, - 6308: 0x0000577C, - 6309: 0x0000591C, - 6310: 0x00005949, - 6311: 0x00005947, - 6312: 0x00005948, - 6313: 0x00005944, - 6314: 0x00005954, - 6315: 0x000059BE, - 6316: 0x000059BB, - 6317: 0x000059D4, - 6318: 0x000059B9, - 6319: 0x000059AE, - 6320: 0x000059D1, - 6321: 0x000059C6, - 6322: 0x000059D0, - 6323: 0x000059CD, - 6324: 0x000059CB, - 6325: 0x000059D3, - 6326: 0x000059CA, - 6327: 0x000059AF, - 6328: 0x000059B3, - 6329: 0x000059D2, - 6330: 0x000059C5, - 6331: 0x00005B5F, - 6332: 0x00005B64, - 6333: 0x00005B63, - 6334: 0x00005B97, - 6335: 0x00005B9A, - 6336: 0x00005B98, - 6337: 0x00005B9C, - 6338: 0x00005B99, - 6339: 0x00005B9B, - 6340: 0x00005C1A, - 6341: 0x00005C48, - 6342: 0x00005C45, - 6343: 0x00005C46, - 6344: 0x00005CB7, - 6345: 0x00005CA1, - 6346: 0x00005CB8, - 6347: 0x00005CA9, - 6348: 0x00005CAB, - 6349: 0x00005CB1, - 6350: 0x00005CB3, - 6351: 0x00005E18, - 6352: 0x00005E1A, - 6353: 0x00005E16, - 6354: 0x00005E15, - 6355: 0x00005E1B, - 6356: 0x00005E11, - 6357: 0x00005E78, - 6358: 0x00005E9A, - 6359: 0x00005E97, - 6360: 0x00005E9C, - 6361: 0x00005E95, - 6362: 0x00005E96, - 6363: 0x00005EF6, - 6364: 0x00005F26, - 6365: 0x00005F27, - 6366: 0x00005F29, - 6367: 0x00005F80, - 6368: 0x00005F81, - 6369: 0x00005F7F, - 6370: 0x00005F7C, - 6371: 0x00005FDD, - 6372: 0x00005FE0, - 6373: 0x00005FFD, - 6374: 0x00005FF5, - 6375: 0x00005FFF, - 6376: 0x0000600F, - 6377: 0x00006014, - 6378: 0x0000602F, - 6379: 0x00006035, - 6380: 0x00006016, - 6381: 0x0000602A, - 6382: 0x00006015, - 6383: 0x00006021, - 6384: 0x00006027, - 6385: 0x00006029, - 6386: 0x0000602B, - 6387: 0x0000601B, - 6388: 0x00006216, - 6389: 0x00006215, - 6390: 0x0000623F, - 6391: 0x0000623E, - 6392: 0x00006240, - 6393: 0x0000627F, - 6394: 0x000062C9, - 6395: 0x000062CC, - 6396: 0x000062C4, - 6397: 0x000062BF, - 6398: 0x000062C2, - 6399: 0x000062B9, - 6400: 0x000062D2, - 6401: 0x000062DB, - 6402: 0x000062AB, - 6403: 0x000062D3, - 6404: 0x000062D4, - 6405: 0x000062CB, - 6406: 0x000062C8, - 6407: 0x000062A8, - 6408: 0x000062BD, - 6409: 0x000062BC, - 6410: 0x000062D0, - 6411: 0x000062D9, - 6412: 0x000062C7, - 6413: 0x000062CD, - 6414: 0x000062B5, - 6415: 0x000062DA, - 6416: 0x000062B1, - 6417: 0x000062D8, - 6418: 0x000062D6, - 6419: 0x000062D7, - 6420: 0x000062C6, - 6421: 0x000062AC, - 6422: 0x000062CE, - 6423: 0x0000653E, - 6424: 0x000065A7, - 6425: 0x000065BC, - 6426: 0x000065FA, - 6427: 0x00006614, - 6428: 0x00006613, - 6429: 0x0000660C, - 6430: 0x00006606, - 6431: 0x00006602, - 6432: 0x0000660E, - 6433: 0x00006600, - 6434: 0x0000660F, - 6435: 0x00006615, - 6436: 0x0000660A, - 6437: 0x00006607, - 6438: 0x0000670D, - 6439: 0x0000670B, - 6440: 0x0000676D, - 6441: 0x0000678B, - 6442: 0x00006795, - 6443: 0x00006771, - 6444: 0x0000679C, - 6445: 0x00006773, - 6446: 0x00006777, - 6447: 0x00006787, - 6448: 0x0000679D, - 6449: 0x00006797, - 6450: 0x0000676F, - 6451: 0x00006770, - 6452: 0x0000677F, - 6453: 0x00006789, - 6454: 0x0000677E, - 6455: 0x00006790, - 6456: 0x00006775, - 6457: 0x0000679A, - 6458: 0x00006793, - 6459: 0x0000677C, - 6460: 0x0000676A, - 6461: 0x00006772, - 6462: 0x00006B23, - 6463: 0x00006B66, - 6464: 0x00006B67, - 6465: 0x00006B7F, - 6466: 0x00006C13, - 6467: 0x00006C1B, - 6468: 0x00006CE3, - 6469: 0x00006CE8, - 6470: 0x00006CF3, - 6471: 0x00006CB1, - 6472: 0x00006CCC, - 6473: 0x00006CE5, - 6474: 0x00006CB3, - 6475: 0x00006CBD, - 6476: 0x00006CBE, - 6477: 0x00006CBC, - 6478: 0x00006CE2, - 6479: 0x00006CAB, - 6480: 0x00006CD5, - 6481: 0x00006CD3, - 6482: 0x00006CB8, - 6483: 0x00006CC4, - 6484: 0x00006CB9, - 6485: 0x00006CC1, - 6486: 0x00006CAE, - 6487: 0x00006CD7, - 6488: 0x00006CC5, - 6489: 0x00006CF1, - 6490: 0x00006CBF, - 6491: 0x00006CBB, - 6492: 0x00006CE1, - 6493: 0x00006CDB, - 6494: 0x00006CCA, - 6495: 0x00006CAC, - 6496: 0x00006CEF, - 6497: 0x00006CDC, - 6498: 0x00006CD6, - 6499: 0x00006CE0, - 6500: 0x00007095, - 6501: 0x0000708E, - 6502: 0x00007092, - 6503: 0x0000708A, - 6504: 0x00007099, - 6505: 0x0000722C, - 6506: 0x0000722D, - 6507: 0x00007238, - 6508: 0x00007248, - 6509: 0x00007267, - 6510: 0x00007269, - 6511: 0x000072C0, - 6512: 0x000072CE, - 6513: 0x000072D9, - 6514: 0x000072D7, - 6515: 0x000072D0, - 6516: 0x000073A9, - 6517: 0x000073A8, - 6518: 0x0000739F, - 6519: 0x000073AB, - 6520: 0x000073A5, - 6521: 0x0000753D, - 6522: 0x0000759D, - 6523: 0x00007599, - 6524: 0x0000759A, - 6525: 0x00007684, - 6526: 0x000076C2, - 6527: 0x000076F2, - 6528: 0x000076F4, - 6529: 0x000077E5, - 6530: 0x000077FD, - 6531: 0x0000793E, - 6532: 0x00007940, - 6533: 0x00007941, - 6534: 0x000079C9, - 6535: 0x000079C8, - 6536: 0x00007A7A, - 6537: 0x00007A79, - 6538: 0x00007AFA, - 6539: 0x00007CFE, - 6540: 0x00007F54, - 6541: 0x00007F8C, - 6542: 0x00007F8B, - 6543: 0x00008005, - 6544: 0x000080BA, - 6545: 0x000080A5, - 6546: 0x000080A2, - 6547: 0x000080B1, - 6548: 0x000080A1, - 6549: 0x000080AB, - 6550: 0x000080A9, - 6551: 0x000080B4, - 6552: 0x000080AA, - 6553: 0x000080AF, - 6554: 0x000081E5, - 6555: 0x000081FE, - 6556: 0x0000820D, - 6557: 0x000082B3, - 6558: 0x0000829D, - 6559: 0x00008299, - 6560: 0x000082AD, - 6561: 0x000082BD, - 6562: 0x0000829F, - 6563: 0x000082B9, - 6564: 0x000082B1, - 6565: 0x000082AC, - 6566: 0x000082A5, - 6567: 0x000082AF, - 6568: 0x000082B8, - 6569: 0x000082A3, - 6570: 0x000082B0, - 6571: 0x000082BE, - 6572: 0x000082B7, - 6573: 0x0000864E, - 6574: 0x00008671, - 6575: 0x0000521D, - 6576: 0x00008868, - 6577: 0x00008ECB, - 6578: 0x00008FCE, - 6579: 0x00008FD4, - 6580: 0x00008FD1, - 6581: 0x000090B5, - 6582: 0x000090B8, - 6583: 0x000090B1, - 6584: 0x000090B6, - 6585: 0x000091C7, - 6586: 0x000091D1, - 6587: 0x00009577, - 6588: 0x00009580, - 6589: 0x0000961C, - 6590: 0x00009640, - 6591: 0x0000963F, - 6592: 0x0000963B, - 6593: 0x00009644, - 6594: 0x00009642, - 6595: 0x000096B9, - 6596: 0x000096E8, - 6597: 0x00009752, - 6598: 0x0000975E, - 6599: 0x00004E9F, - 6600: 0x00004EAD, - 6601: 0x00004EAE, - 6602: 0x00004FE1, - 6603: 0x00004FB5, - 6604: 0x00004FAF, - 6605: 0x00004FBF, - 6606: 0x00004FE0, - 6607: 0x00004FD1, - 6608: 0x00004FCF, - 6609: 0x00004FDD, - 6610: 0x00004FC3, - 6611: 0x00004FB6, - 6612: 0x00004FD8, - 6613: 0x00004FDF, - 6614: 0x00004FCA, - 6615: 0x00004FD7, - 6616: 0x00004FAE, - 6617: 0x00004FD0, - 6618: 0x00004FC4, - 6619: 0x00004FC2, - 6620: 0x00004FDA, - 6621: 0x00004FCE, - 6622: 0x00004FDE, - 6623: 0x00004FB7, - 6624: 0x00005157, - 6625: 0x00005192, - 6626: 0x00005191, - 6627: 0x000051A0, - 6628: 0x0000524E, - 6629: 0x00005243, - 6630: 0x0000524A, - 6631: 0x0000524D, - 6632: 0x0000524C, - 6633: 0x0000524B, - 6634: 0x00005247, - 6635: 0x000052C7, - 6636: 0x000052C9, - 6637: 0x000052C3, - 6638: 0x000052C1, - 6639: 0x0000530D, - 6640: 0x00005357, - 6641: 0x0000537B, - 6642: 0x0000539A, - 6643: 0x000053DB, - 6644: 0x000054AC, - 6645: 0x000054C0, - 6646: 0x000054A8, - 6647: 0x000054CE, - 6648: 0x000054C9, - 6649: 0x000054B8, - 6650: 0x000054A6, - 6651: 0x000054B3, - 6652: 0x000054C7, - 6653: 0x000054C2, - 6654: 0x000054BD, - 6655: 0x000054AA, - 6656: 0x000054C1, - 6657: 0x000054C4, - 6658: 0x000054C8, - 6659: 0x000054AF, - 6660: 0x000054AB, - 6661: 0x000054B1, - 6662: 0x000054BB, - 6663: 0x000054A9, - 6664: 0x000054A7, - 6665: 0x000054BF, - 6666: 0x000056FF, - 6667: 0x00005782, - 6668: 0x0000578B, - 6669: 0x000057A0, - 6670: 0x000057A3, - 6671: 0x000057A2, - 6672: 0x000057CE, - 6673: 0x000057AE, - 6674: 0x00005793, - 6675: 0x00005955, - 6676: 0x00005951, - 6677: 0x0000594F, - 6678: 0x0000594E, - 6679: 0x00005950, - 6680: 0x000059DC, - 6681: 0x000059D8, - 6682: 0x000059FF, - 6683: 0x000059E3, - 6684: 0x000059E8, - 6685: 0x00005A03, - 6686: 0x000059E5, - 6687: 0x000059EA, - 6688: 0x000059DA, - 6689: 0x000059E6, - 6690: 0x00005A01, - 6691: 0x000059FB, - 6692: 0x00005B69, - 6693: 0x00005BA3, - 6694: 0x00005BA6, - 6695: 0x00005BA4, - 6696: 0x00005BA2, - 6697: 0x00005BA5, - 6698: 0x00005C01, - 6699: 0x00005C4E, - 6700: 0x00005C4F, - 6701: 0x00005C4D, - 6702: 0x00005C4B, - 6703: 0x00005CD9, - 6704: 0x00005CD2, - 6705: 0x00005DF7, - 6706: 0x00005E1D, - 6707: 0x00005E25, - 6708: 0x00005E1F, - 6709: 0x00005E7D, - 6710: 0x00005EA0, - 6711: 0x00005EA6, - 6712: 0x00005EFA, - 6713: 0x00005F08, - 6714: 0x00005F2D, - 6715: 0x00005F65, - 6716: 0x00005F88, - 6717: 0x00005F85, - 6718: 0x00005F8A, - 6719: 0x00005F8B, - 6720: 0x00005F87, - 6721: 0x00005F8C, - 6722: 0x00005F89, - 6723: 0x00006012, - 6724: 0x0000601D, - 6725: 0x00006020, - 6726: 0x00006025, - 6727: 0x0000600E, - 6728: 0x00006028, - 6729: 0x0000604D, - 6730: 0x00006070, - 6731: 0x00006068, - 6732: 0x00006062, - 6733: 0x00006046, - 6734: 0x00006043, - 6735: 0x0000606C, - 6736: 0x0000606B, - 6737: 0x0000606A, - 6738: 0x00006064, - 6739: 0x00006241, - 6740: 0x000062DC, - 6741: 0x00006316, - 6742: 0x00006309, - 6743: 0x000062FC, - 6744: 0x000062ED, - 6745: 0x00006301, - 6746: 0x000062EE, - 6747: 0x000062FD, - 6748: 0x00006307, - 6749: 0x000062F1, - 6750: 0x000062F7, - 6751: 0x000062EF, - 6752: 0x000062EC, - 6753: 0x000062FE, - 6754: 0x000062F4, - 6755: 0x00006311, - 6756: 0x00006302, - 6757: 0x0000653F, - 6758: 0x00006545, - 6759: 0x000065AB, - 6760: 0x000065BD, - 6761: 0x000065E2, - 6762: 0x00006625, - 6763: 0x0000662D, - 6764: 0x00006620, - 6765: 0x00006627, - 6766: 0x0000662F, - 6767: 0x0000661F, - 6768: 0x00006628, - 6769: 0x00006631, - 6770: 0x00006624, - 6771: 0x000066F7, - 6772: 0x000067FF, - 6773: 0x000067D3, - 6774: 0x000067F1, - 6775: 0x000067D4, - 6776: 0x000067D0, - 6777: 0x000067EC, - 6778: 0x000067B6, - 6779: 0x000067AF, - 6780: 0x000067F5, - 6781: 0x000067E9, - 6782: 0x000067EF, - 6783: 0x000067C4, - 6784: 0x000067D1, - 6785: 0x000067B4, - 6786: 0x000067DA, - 6787: 0x000067E5, - 6788: 0x000067B8, - 6789: 0x000067CF, - 6790: 0x000067DE, - 6791: 0x000067F3, - 6792: 0x000067B0, - 6793: 0x000067D9, - 6794: 0x000067E2, - 6795: 0x000067DD, - 6796: 0x000067D2, - 6797: 0x00006B6A, - 6798: 0x00006B83, - 6799: 0x00006B86, - 6800: 0x00006BB5, - 6801: 0x00006BD2, - 6802: 0x00006BD7, - 6803: 0x00006C1F, - 6804: 0x00006CC9, - 6805: 0x00006D0B, - 6806: 0x00006D32, - 6807: 0x00006D2A, - 6808: 0x00006D41, - 6809: 0x00006D25, - 6810: 0x00006D0C, - 6811: 0x00006D31, - 6812: 0x00006D1E, - 6813: 0x00006D17, - 6814: 0x00006D3B, - 6815: 0x00006D3D, - 6816: 0x00006D3E, - 6817: 0x00006D36, - 6818: 0x00006D1B, - 6819: 0x00006CF5, - 6820: 0x00006D39, - 6821: 0x00006D27, - 6822: 0x00006D38, - 6823: 0x00006D29, - 6824: 0x00006D2E, - 6825: 0x00006D35, - 6826: 0x00006D0E, - 6827: 0x00006D2B, - 6828: 0x000070AB, - 6829: 0x000070BA, - 6830: 0x000070B3, - 6831: 0x000070AC, - 6832: 0x000070AF, - 6833: 0x000070AD, - 6834: 0x000070B8, - 6835: 0x000070AE, - 6836: 0x000070A4, - 6837: 0x00007230, - 6838: 0x00007272, - 6839: 0x0000726F, - 6840: 0x00007274, - 6841: 0x000072E9, - 6842: 0x000072E0, - 6843: 0x000072E1, - 6844: 0x000073B7, - 6845: 0x000073CA, - 6846: 0x000073BB, - 6847: 0x000073B2, - 6848: 0x000073CD, - 6849: 0x000073C0, - 6850: 0x000073B3, - 6851: 0x0000751A, - 6852: 0x0000752D, - 6853: 0x0000754F, - 6854: 0x0000754C, - 6855: 0x0000754E, - 6856: 0x0000754B, - 6857: 0x000075AB, - 6858: 0x000075A4, - 6859: 0x000075A5, - 6860: 0x000075A2, - 6861: 0x000075A3, - 6862: 0x00007678, - 6863: 0x00007686, - 6864: 0x00007687, - 6865: 0x00007688, - 6866: 0x000076C8, - 6867: 0x000076C6, - 6868: 0x000076C3, - 6869: 0x000076C5, - 6870: 0x00007701, - 6871: 0x000076F9, - 6872: 0x000076F8, - 6873: 0x00007709, - 6874: 0x0000770B, - 6875: 0x000076FE, - 6876: 0x000076FC, - 6877: 0x00007707, - 6878: 0x000077DC, - 6879: 0x00007802, - 6880: 0x00007814, - 6881: 0x0000780C, - 6882: 0x0000780D, - 6883: 0x00007946, - 6884: 0x00007949, - 6885: 0x00007948, - 6886: 0x00007947, - 6887: 0x000079B9, - 6888: 0x000079BA, - 6889: 0x000079D1, - 6890: 0x000079D2, - 6891: 0x000079CB, - 6892: 0x00007A7F, - 6893: 0x00007A81, - 6894: 0x00007AFF, - 6895: 0x00007AFD, - 6896: 0x00007C7D, - 6897: 0x00007D02, - 6898: 0x00007D05, - 6899: 0x00007D00, - 6900: 0x00007D09, - 6901: 0x00007D07, - 6902: 0x00007D04, - 6903: 0x00007D06, - 6904: 0x00007F38, - 6905: 0x00007F8E, - 6906: 0x00007FBF, - 6907: 0x00008004, - 6908: 0x00008010, - 6909: 0x0000800D, - 6910: 0x00008011, - 6911: 0x00008036, - 6912: 0x000080D6, - 6913: 0x000080E5, - 6914: 0x000080DA, - 6915: 0x000080C3, - 6916: 0x000080C4, - 6917: 0x000080CC, - 6918: 0x000080E1, - 6919: 0x000080DB, - 6920: 0x000080CE, - 6921: 0x000080DE, - 6922: 0x000080E4, - 6923: 0x000080DD, - 6924: 0x000081F4, - 6925: 0x00008222, - 6926: 0x000082E7, - 6927: 0x00008303, - 6928: 0x00008305, - 6929: 0x000082E3, - 6930: 0x000082DB, - 6931: 0x000082E6, - 6932: 0x00008304, - 6933: 0x000082E5, - 6934: 0x00008302, - 6935: 0x00008309, - 6936: 0x000082D2, - 6937: 0x000082D7, - 6938: 0x000082F1, - 6939: 0x00008301, - 6940: 0x000082DC, - 6941: 0x000082D4, - 6942: 0x000082D1, - 6943: 0x000082DE, - 6944: 0x000082D3, - 6945: 0x000082DF, - 6946: 0x000082EF, - 6947: 0x00008306, - 6948: 0x00008650, - 6949: 0x00008679, - 6950: 0x0000867B, - 6951: 0x0000867A, - 6952: 0x0000884D, - 6953: 0x0000886B, - 6954: 0x00008981, - 6955: 0x000089D4, - 6956: 0x00008A08, - 6957: 0x00008A02, - 6958: 0x00008A03, - 6959: 0x00008C9E, - 6960: 0x00008CA0, - 6961: 0x00008D74, - 6962: 0x00008D73, - 6963: 0x00008DB4, - 6964: 0x00008ECD, - 6965: 0x00008ECC, - 6966: 0x00008FF0, - 6967: 0x00008FE6, - 6968: 0x00008FE2, - 6969: 0x00008FEA, - 6970: 0x00008FE5, - 6971: 0x00008FED, - 6972: 0x00008FEB, - 6973: 0x00008FE4, - 6974: 0x00008FE8, - 6975: 0x000090CA, - 6976: 0x000090CE, - 6977: 0x000090C1, - 6978: 0x000090C3, - 6979: 0x0000914B, - 6980: 0x0000914A, - 6981: 0x000091CD, - 6982: 0x00009582, - 6983: 0x00009650, - 6984: 0x0000964B, - 6985: 0x0000964C, - 6986: 0x0000964D, - 6987: 0x00009762, - 6988: 0x00009769, - 6989: 0x000097CB, - 6990: 0x000097ED, - 6991: 0x000097F3, - 6992: 0x00009801, - 6993: 0x000098A8, - 6994: 0x000098DB, - 6995: 0x000098DF, - 6996: 0x00009996, - 6997: 0x00009999, - 6998: 0x00004E58, - 6999: 0x00004EB3, - 7000: 0x0000500C, - 7001: 0x0000500D, - 7002: 0x00005023, - 7003: 0x00004FEF, - 7004: 0x00005026, - 7005: 0x00005025, - 7006: 0x00004FF8, - 7007: 0x00005029, - 7008: 0x00005016, - 7009: 0x00005006, - 7010: 0x0000503C, - 7011: 0x0000501F, - 7012: 0x0000501A, - 7013: 0x00005012, - 7014: 0x00005011, - 7015: 0x00004FFA, - 7016: 0x00005000, - 7017: 0x00005014, - 7018: 0x00005028, - 7019: 0x00004FF1, - 7020: 0x00005021, - 7021: 0x0000500B, - 7022: 0x00005019, - 7023: 0x00005018, - 7024: 0x00004FF3, - 7025: 0x00004FEE, - 7026: 0x0000502D, - 7027: 0x0000502A, - 7028: 0x00004FFE, - 7029: 0x0000502B, - 7030: 0x00005009, - 7031: 0x0000517C, - 7032: 0x000051A4, - 7033: 0x000051A5, - 7034: 0x000051A2, - 7035: 0x000051CD, - 7036: 0x000051CC, - 7037: 0x000051C6, - 7038: 0x000051CB, - 7039: 0x00005256, - 7040: 0x0000525C, - 7041: 0x00005254, - 7042: 0x0000525B, - 7043: 0x0000525D, - 7044: 0x0000532A, - 7045: 0x0000537F, - 7046: 0x0000539F, - 7047: 0x0000539D, - 7048: 0x000053DF, - 7049: 0x000054E8, - 7050: 0x00005510, - 7051: 0x00005501, - 7052: 0x00005537, - 7053: 0x000054FC, - 7054: 0x000054E5, - 7055: 0x000054F2, - 7056: 0x00005506, - 7057: 0x000054FA, - 7058: 0x00005514, - 7059: 0x000054E9, - 7060: 0x000054ED, - 7061: 0x000054E1, - 7062: 0x00005509, - 7063: 0x000054EE, - 7064: 0x000054EA, - 7065: 0x000054E6, - 7066: 0x00005527, - 7067: 0x00005507, - 7068: 0x000054FD, - 7069: 0x0000550F, - 7070: 0x00005703, - 7071: 0x00005704, - 7072: 0x000057C2, - 7073: 0x000057D4, - 7074: 0x000057CB, - 7075: 0x000057C3, - 7076: 0x00005809, - 7077: 0x0000590F, - 7078: 0x00005957, - 7079: 0x00005958, - 7080: 0x0000595A, - 7081: 0x00005A11, - 7082: 0x00005A18, - 7083: 0x00005A1C, - 7084: 0x00005A1F, - 7085: 0x00005A1B, - 7086: 0x00005A13, - 7087: 0x000059EC, - 7088: 0x00005A20, - 7089: 0x00005A23, - 7090: 0x00005A29, - 7091: 0x00005A25, - 7092: 0x00005A0C, - 7093: 0x00005A09, - 7094: 0x00005B6B, - 7095: 0x00005C58, - 7096: 0x00005BB0, - 7097: 0x00005BB3, - 7098: 0x00005BB6, - 7099: 0x00005BB4, - 7100: 0x00005BAE, - 7101: 0x00005BB5, - 7102: 0x00005BB9, - 7103: 0x00005BB8, - 7104: 0x00005C04, - 7105: 0x00005C51, - 7106: 0x00005C55, - 7107: 0x00005C50, - 7108: 0x00005CED, - 7109: 0x00005CFD, - 7110: 0x00005CFB, - 7111: 0x00005CEA, - 7112: 0x00005CE8, - 7113: 0x00005CF0, - 7114: 0x00005CF6, - 7115: 0x00005D01, - 7116: 0x00005CF4, - 7117: 0x00005DEE, - 7118: 0x00005E2D, - 7119: 0x00005E2B, - 7120: 0x00005EAB, - 7121: 0x00005EAD, - 7122: 0x00005EA7, - 7123: 0x00005F31, - 7124: 0x00005F92, - 7125: 0x00005F91, - 7126: 0x00005F90, - 7127: 0x00006059, - 7128: 0x00006063, - 7129: 0x00006065, - 7130: 0x00006050, - 7131: 0x00006055, - 7132: 0x0000606D, - 7133: 0x00006069, - 7134: 0x0000606F, - 7135: 0x00006084, - 7136: 0x0000609F, - 7137: 0x0000609A, - 7138: 0x0000608D, - 7139: 0x00006094, - 7140: 0x0000608C, - 7141: 0x00006085, - 7142: 0x00006096, - 7143: 0x00006247, - 7144: 0x000062F3, - 7145: 0x00006308, - 7146: 0x000062FF, - 7147: 0x0000634E, - 7148: 0x0000633E, - 7149: 0x0000632F, - 7150: 0x00006355, - 7151: 0x00006342, - 7152: 0x00006346, - 7153: 0x0000634F, - 7154: 0x00006349, - 7155: 0x0000633A, - 7156: 0x00006350, - 7157: 0x0000633D, - 7158: 0x0000632A, - 7159: 0x0000632B, - 7160: 0x00006328, - 7161: 0x0000634D, - 7162: 0x0000634C, - 7163: 0x00006548, - 7164: 0x00006549, - 7165: 0x00006599, - 7166: 0x000065C1, - 7167: 0x000065C5, - 7168: 0x00006642, - 7169: 0x00006649, - 7170: 0x0000664F, - 7171: 0x00006643, - 7172: 0x00006652, - 7173: 0x0000664C, - 7174: 0x00006645, - 7175: 0x00006641, - 7176: 0x000066F8, - 7177: 0x00006714, - 7178: 0x00006715, - 7179: 0x00006717, - 7180: 0x00006821, - 7181: 0x00006838, - 7182: 0x00006848, - 7183: 0x00006846, - 7184: 0x00006853, - 7185: 0x00006839, - 7186: 0x00006842, - 7187: 0x00006854, - 7188: 0x00006829, - 7189: 0x000068B3, - 7190: 0x00006817, - 7191: 0x0000684C, - 7192: 0x00006851, - 7193: 0x0000683D, - 7194: 0x000067F4, - 7195: 0x00006850, - 7196: 0x00006840, - 7197: 0x0000683C, - 7198: 0x00006843, - 7199: 0x0000682A, - 7200: 0x00006845, - 7201: 0x00006813, - 7202: 0x00006818, - 7203: 0x00006841, - 7204: 0x00006B8A, - 7205: 0x00006B89, - 7206: 0x00006BB7, - 7207: 0x00006C23, - 7208: 0x00006C27, - 7209: 0x00006C28, - 7210: 0x00006C26, - 7211: 0x00006C24, - 7212: 0x00006CF0, - 7213: 0x00006D6A, - 7214: 0x00006D95, - 7215: 0x00006D88, - 7216: 0x00006D87, - 7217: 0x00006D66, - 7218: 0x00006D78, - 7219: 0x00006D77, - 7220: 0x00006D59, - 7221: 0x00006D93, - 7222: 0x00006D6C, - 7223: 0x00006D89, - 7224: 0x00006D6E, - 7225: 0x00006D5A, - 7226: 0x00006D74, - 7227: 0x00006D69, - 7228: 0x00006D8C, - 7229: 0x00006D8A, - 7230: 0x00006D79, - 7231: 0x00006D85, - 7232: 0x00006D65, - 7233: 0x00006D94, - 7234: 0x000070CA, - 7235: 0x000070D8, - 7236: 0x000070E4, - 7237: 0x000070D9, - 7238: 0x000070C8, - 7239: 0x000070CF, - 7240: 0x00007239, - 7241: 0x00007279, - 7242: 0x000072FC, - 7243: 0x000072F9, - 7244: 0x000072FD, - 7245: 0x000072F8, - 7246: 0x000072F7, - 7247: 0x00007386, - 7248: 0x000073ED, - 7249: 0x00007409, - 7250: 0x000073EE, - 7251: 0x000073E0, - 7252: 0x000073EA, - 7253: 0x000073DE, - 7254: 0x00007554, - 7255: 0x0000755D, - 7256: 0x0000755C, - 7257: 0x0000755A, - 7258: 0x00007559, - 7259: 0x000075BE, - 7260: 0x000075C5, - 7261: 0x000075C7, - 7262: 0x000075B2, - 7263: 0x000075B3, - 7264: 0x000075BD, - 7265: 0x000075BC, - 7266: 0x000075B9, - 7267: 0x000075C2, - 7268: 0x000075B8, - 7269: 0x0000768B, - 7270: 0x000076B0, - 7271: 0x000076CA, - 7272: 0x000076CD, - 7273: 0x000076CE, - 7274: 0x00007729, - 7275: 0x0000771F, - 7276: 0x00007720, - 7277: 0x00007728, - 7278: 0x000077E9, - 7279: 0x00007830, - 7280: 0x00007827, - 7281: 0x00007838, - 7282: 0x0000781D, - 7283: 0x00007834, - 7284: 0x00007837, - 7285: 0x00007825, - 7286: 0x0000782D, - 7287: 0x00007820, - 7288: 0x0000781F, - 7289: 0x00007832, - 7290: 0x00007955, - 7291: 0x00007950, - 7292: 0x00007960, - 7293: 0x0000795F, - 7294: 0x00007956, - 7295: 0x0000795E, - 7296: 0x0000795D, - 7297: 0x00007957, - 7298: 0x0000795A, - 7299: 0x000079E4, - 7300: 0x000079E3, - 7301: 0x000079E7, - 7302: 0x000079DF, - 7303: 0x000079E6, - 7304: 0x000079E9, - 7305: 0x000079D8, - 7306: 0x00007A84, - 7307: 0x00007A88, - 7308: 0x00007AD9, - 7309: 0x00007B06, - 7310: 0x00007B11, - 7311: 0x00007C89, - 7312: 0x00007D21, - 7313: 0x00007D17, - 7314: 0x00007D0B, - 7315: 0x00007D0A, - 7316: 0x00007D20, - 7317: 0x00007D22, - 7318: 0x00007D14, - 7319: 0x00007D10, - 7320: 0x00007D15, - 7321: 0x00007D1A, - 7322: 0x00007D1C, - 7323: 0x00007D0D, - 7324: 0x00007D19, - 7325: 0x00007D1B, - 7326: 0x00007F3A, - 7327: 0x00007F5F, - 7328: 0x00007F94, - 7329: 0x00007FC5, - 7330: 0x00007FC1, - 7331: 0x00008006, - 7332: 0x00008018, - 7333: 0x00008015, - 7334: 0x00008019, - 7335: 0x00008017, - 7336: 0x0000803D, - 7337: 0x0000803F, - 7338: 0x000080F1, - 7339: 0x00008102, - 7340: 0x000080F0, - 7341: 0x00008105, - 7342: 0x000080ED, - 7343: 0x000080F4, - 7344: 0x00008106, - 7345: 0x000080F8, - 7346: 0x000080F3, - 7347: 0x00008108, - 7348: 0x000080FD, - 7349: 0x0000810A, - 7350: 0x000080FC, - 7351: 0x000080EF, - 7352: 0x000081ED, - 7353: 0x000081EC, - 7354: 0x00008200, - 7355: 0x00008210, - 7356: 0x0000822A, - 7357: 0x0000822B, - 7358: 0x00008228, - 7359: 0x0000822C, - 7360: 0x000082BB, - 7361: 0x0000832B, - 7362: 0x00008352, - 7363: 0x00008354, - 7364: 0x0000834A, - 7365: 0x00008338, - 7366: 0x00008350, - 7367: 0x00008349, - 7368: 0x00008335, - 7369: 0x00008334, - 7370: 0x0000834F, - 7371: 0x00008332, - 7372: 0x00008339, - 7373: 0x00008336, - 7374: 0x00008317, - 7375: 0x00008340, - 7376: 0x00008331, - 7377: 0x00008328, - 7378: 0x00008343, - 7379: 0x00008654, - 7380: 0x0000868A, - 7381: 0x000086AA, - 7382: 0x00008693, - 7383: 0x000086A4, - 7384: 0x000086A9, - 7385: 0x0000868C, - 7386: 0x000086A3, - 7387: 0x0000869C, - 7388: 0x00008870, - 7389: 0x00008877, - 7390: 0x00008881, - 7391: 0x00008882, - 7392: 0x0000887D, - 7393: 0x00008879, - 7394: 0x00008A18, - 7395: 0x00008A10, - 7396: 0x00008A0E, - 7397: 0x00008A0C, - 7398: 0x00008A15, - 7399: 0x00008A0A, - 7400: 0x00008A17, - 7401: 0x00008A13, - 7402: 0x00008A16, - 7403: 0x00008A0F, - 7404: 0x00008A11, - 7405: 0x00008C48, - 7406: 0x00008C7A, - 7407: 0x00008C79, - 7408: 0x00008CA1, - 7409: 0x00008CA2, - 7410: 0x00008D77, - 7411: 0x00008EAC, - 7412: 0x00008ED2, - 7413: 0x00008ED4, - 7414: 0x00008ECF, - 7415: 0x00008FB1, - 7416: 0x00009001, - 7417: 0x00009006, - 7418: 0x00008FF7, - 7419: 0x00009000, - 7420: 0x00008FFA, - 7421: 0x00008FF4, - 7422: 0x00009003, - 7423: 0x00008FFD, - 7424: 0x00009005, - 7425: 0x00008FF8, - 7426: 0x00009095, - 7427: 0x000090E1, - 7428: 0x000090DD, - 7429: 0x000090E2, - 7430: 0x00009152, - 7431: 0x0000914D, - 7432: 0x0000914C, - 7433: 0x000091D8, - 7434: 0x000091DD, - 7435: 0x000091D7, - 7436: 0x000091DC, - 7437: 0x000091D9, - 7438: 0x00009583, - 7439: 0x00009662, - 7440: 0x00009663, - 7441: 0x00009661, - 7442: 0x0000965B, - 7443: 0x0000965D, - 7444: 0x00009664, - 7445: 0x00009658, - 7446: 0x0000965E, - 7447: 0x000096BB, - 7448: 0x000098E2, - 7449: 0x000099AC, - 7450: 0x00009AA8, - 7451: 0x00009AD8, - 7452: 0x00009B25, - 7453: 0x00009B32, - 7454: 0x00009B3C, - 7455: 0x00004E7E, - 7456: 0x0000507A, - 7457: 0x0000507D, - 7458: 0x0000505C, - 7459: 0x00005047, - 7460: 0x00005043, - 7461: 0x0000504C, - 7462: 0x0000505A, - 7463: 0x00005049, - 7464: 0x00005065, - 7465: 0x00005076, - 7466: 0x0000504E, - 7467: 0x00005055, - 7468: 0x00005075, - 7469: 0x00005074, - 7470: 0x00005077, - 7471: 0x0000504F, - 7472: 0x0000500F, - 7473: 0x0000506F, - 7474: 0x0000506D, - 7475: 0x0000515C, - 7476: 0x00005195, - 7477: 0x000051F0, - 7478: 0x0000526A, - 7479: 0x0000526F, - 7480: 0x000052D2, - 7481: 0x000052D9, - 7482: 0x000052D8, - 7483: 0x000052D5, - 7484: 0x00005310, - 7485: 0x0000530F, - 7486: 0x00005319, - 7487: 0x0000533F, - 7488: 0x00005340, - 7489: 0x0000533E, - 7490: 0x000053C3, - 7491: 0x000066FC, - 7492: 0x00005546, - 7493: 0x0000556A, - 7494: 0x00005566, - 7495: 0x00005544, - 7496: 0x0000555E, - 7497: 0x00005561, - 7498: 0x00005543, - 7499: 0x0000554A, - 7500: 0x00005531, - 7501: 0x00005556, - 7502: 0x0000554F, - 7503: 0x00005555, - 7504: 0x0000552F, - 7505: 0x00005564, - 7506: 0x00005538, - 7507: 0x0000552E, - 7508: 0x0000555C, - 7509: 0x0000552C, - 7510: 0x00005563, - 7511: 0x00005533, - 7512: 0x00005541, - 7513: 0x00005557, - 7514: 0x00005708, - 7515: 0x0000570B, - 7516: 0x00005709, - 7517: 0x000057DF, - 7518: 0x00005805, - 7519: 0x0000580A, - 7520: 0x00005806, - 7521: 0x000057E0, - 7522: 0x000057E4, - 7523: 0x000057FA, - 7524: 0x00005802, - 7525: 0x00005835, - 7526: 0x000057F7, - 7527: 0x000057F9, - 7528: 0x00005920, - 7529: 0x00005962, - 7530: 0x00005A36, - 7531: 0x00005A41, - 7532: 0x00005A49, - 7533: 0x00005A66, - 7534: 0x00005A6A, - 7535: 0x00005A40, - 7536: 0x00005A3C, - 7537: 0x00005A62, - 7538: 0x00005A5A, - 7539: 0x00005A46, - 7540: 0x00005A4A, - 7541: 0x00005B70, - 7542: 0x00005BC7, - 7543: 0x00005BC5, - 7544: 0x00005BC4, - 7545: 0x00005BC2, - 7546: 0x00005BBF, - 7547: 0x00005BC6, - 7548: 0x00005C09, - 7549: 0x00005C08, - 7550: 0x00005C07, - 7551: 0x00005C60, - 7552: 0x00005C5C, - 7553: 0x00005C5D, - 7554: 0x00005D07, - 7555: 0x00005D06, - 7556: 0x00005D0E, - 7557: 0x00005D1B, - 7558: 0x00005D16, - 7559: 0x00005D22, - 7560: 0x00005D11, - 7561: 0x00005D29, - 7562: 0x00005D14, - 7563: 0x00005D19, - 7564: 0x00005D24, - 7565: 0x00005D27, - 7566: 0x00005D17, - 7567: 0x00005DE2, - 7568: 0x00005E38, - 7569: 0x00005E36, - 7570: 0x00005E33, - 7571: 0x00005E37, - 7572: 0x00005EB7, - 7573: 0x00005EB8, - 7574: 0x00005EB6, - 7575: 0x00005EB5, - 7576: 0x00005EBE, - 7577: 0x00005F35, - 7578: 0x00005F37, - 7579: 0x00005F57, - 7580: 0x00005F6C, - 7581: 0x00005F69, - 7582: 0x00005F6B, - 7583: 0x00005F97, - 7584: 0x00005F99, - 7585: 0x00005F9E, - 7586: 0x00005F98, - 7587: 0x00005FA1, - 7588: 0x00005FA0, - 7589: 0x00005F9C, - 7590: 0x0000607F, - 7591: 0x000060A3, - 7592: 0x00006089, - 7593: 0x000060A0, - 7594: 0x000060A8, - 7595: 0x000060CB, - 7596: 0x000060B4, - 7597: 0x000060E6, - 7598: 0x000060BD, - 7599: 0x000060C5, - 7600: 0x000060BB, - 7601: 0x000060B5, - 7602: 0x000060DC, - 7603: 0x000060BC, - 7604: 0x000060D8, - 7605: 0x000060D5, - 7606: 0x000060C6, - 7607: 0x000060DF, - 7608: 0x000060B8, - 7609: 0x000060DA, - 7610: 0x000060C7, - 7611: 0x0000621A, - 7612: 0x0000621B, - 7613: 0x00006248, - 7614: 0x000063A0, - 7615: 0x000063A7, - 7616: 0x00006372, - 7617: 0x00006396, - 7618: 0x000063A2, - 7619: 0x000063A5, - 7620: 0x00006377, - 7621: 0x00006367, - 7622: 0x00006398, - 7623: 0x000063AA, - 7624: 0x00006371, - 7625: 0x000063A9, - 7626: 0x00006389, - 7627: 0x00006383, - 7628: 0x0000639B, - 7629: 0x0000636B, - 7630: 0x000063A8, - 7631: 0x00006384, - 7632: 0x00006388, - 7633: 0x00006399, - 7634: 0x000063A1, - 7635: 0x000063AC, - 7636: 0x00006392, - 7637: 0x0000638F, - 7638: 0x00006380, - 7639: 0x0000637B, - 7640: 0x00006369, - 7641: 0x00006368, - 7642: 0x0000637A, - 7643: 0x0000655D, - 7644: 0x00006556, - 7645: 0x00006551, - 7646: 0x00006559, - 7647: 0x00006557, - 7648: 0x0000555F, - 7649: 0x0000654F, - 7650: 0x00006558, - 7651: 0x00006555, - 7652: 0x00006554, - 7653: 0x0000659C, - 7654: 0x0000659B, - 7655: 0x000065AC, - 7656: 0x000065CF, - 7657: 0x000065CB, - 7658: 0x000065CC, - 7659: 0x000065CE, - 7660: 0x0000665D, - 7661: 0x0000665A, - 7662: 0x00006664, - 7663: 0x00006668, - 7664: 0x00006666, - 7665: 0x0000665E, - 7666: 0x000066F9, - 7667: 0x000052D7, - 7668: 0x0000671B, - 7669: 0x00006881, - 7670: 0x000068AF, - 7671: 0x000068A2, - 7672: 0x00006893, - 7673: 0x000068B5, - 7674: 0x0000687F, - 7675: 0x00006876, - 7676: 0x000068B1, - 7677: 0x000068A7, - 7678: 0x00006897, - 7679: 0x000068B0, - 7680: 0x00006883, - 7681: 0x000068C4, - 7682: 0x000068AD, - 7683: 0x00006886, - 7684: 0x00006885, - 7685: 0x00006894, - 7686: 0x0000689D, - 7687: 0x000068A8, - 7688: 0x0000689F, - 7689: 0x000068A1, - 7690: 0x00006882, - 7691: 0x00006B32, - 7692: 0x00006BBA, - 7693: 0x00006BEB, - 7694: 0x00006BEC, - 7695: 0x00006C2B, - 7696: 0x00006D8E, - 7697: 0x00006DBC, - 7698: 0x00006DF3, - 7699: 0x00006DD9, - 7700: 0x00006DB2, - 7701: 0x00006DE1, - 7702: 0x00006DCC, - 7703: 0x00006DE4, - 7704: 0x00006DFB, - 7705: 0x00006DFA, - 7706: 0x00006E05, - 7707: 0x00006DC7, - 7708: 0x00006DCB, - 7709: 0x00006DAF, - 7710: 0x00006DD1, - 7711: 0x00006DAE, - 7712: 0x00006DDE, - 7713: 0x00006DF9, - 7714: 0x00006DB8, - 7715: 0x00006DF7, - 7716: 0x00006DF5, - 7717: 0x00006DC5, - 7718: 0x00006DD2, - 7719: 0x00006E1A, - 7720: 0x00006DB5, - 7721: 0x00006DDA, - 7722: 0x00006DEB, - 7723: 0x00006DD8, - 7724: 0x00006DEA, - 7725: 0x00006DF1, - 7726: 0x00006DEE, - 7727: 0x00006DE8, - 7728: 0x00006DC6, - 7729: 0x00006DC4, - 7730: 0x00006DAA, - 7731: 0x00006DEC, - 7732: 0x00006DBF, - 7733: 0x00006DE6, - 7734: 0x000070F9, - 7735: 0x00007109, - 7736: 0x0000710A, - 7737: 0x000070FD, - 7738: 0x000070EF, - 7739: 0x0000723D, - 7740: 0x0000727D, - 7741: 0x00007281, - 7742: 0x0000731C, - 7743: 0x0000731B, - 7744: 0x00007316, - 7745: 0x00007313, - 7746: 0x00007319, - 7747: 0x00007387, - 7748: 0x00007405, - 7749: 0x0000740A, - 7750: 0x00007403, - 7751: 0x00007406, - 7752: 0x000073FE, - 7753: 0x0000740D, - 7754: 0x000074E0, - 7755: 0x000074F6, - 7756: 0x000074F7, - 7757: 0x0000751C, - 7758: 0x00007522, - 7759: 0x00007565, - 7760: 0x00007566, - 7761: 0x00007562, - 7762: 0x00007570, - 7763: 0x0000758F, - 7764: 0x000075D4, - 7765: 0x000075D5, - 7766: 0x000075B5, - 7767: 0x000075CA, - 7768: 0x000075CD, - 7769: 0x0000768E, - 7770: 0x000076D4, - 7771: 0x000076D2, - 7772: 0x000076DB, - 7773: 0x00007737, - 7774: 0x0000773E, - 7775: 0x0000773C, - 7776: 0x00007736, - 7777: 0x00007738, - 7778: 0x0000773A, - 7779: 0x0000786B, - 7780: 0x00007843, - 7781: 0x0000784E, - 7782: 0x00007965, - 7783: 0x00007968, - 7784: 0x0000796D, - 7785: 0x000079FB, - 7786: 0x00007A92, - 7787: 0x00007A95, - 7788: 0x00007B20, - 7789: 0x00007B28, - 7790: 0x00007B1B, - 7791: 0x00007B2C, - 7792: 0x00007B26, - 7793: 0x00007B19, - 7794: 0x00007B1E, - 7795: 0x00007B2E, - 7796: 0x00007C92, - 7797: 0x00007C97, - 7798: 0x00007C95, - 7799: 0x00007D46, - 7800: 0x00007D43, - 7801: 0x00007D71, - 7802: 0x00007D2E, - 7803: 0x00007D39, - 7804: 0x00007D3C, - 7805: 0x00007D40, - 7806: 0x00007D30, - 7807: 0x00007D33, - 7808: 0x00007D44, - 7809: 0x00007D2F, - 7810: 0x00007D42, - 7811: 0x00007D32, - 7812: 0x00007D31, - 7813: 0x00007F3D, - 7814: 0x00007F9E, - 7815: 0x00007F9A, - 7816: 0x00007FCC, - 7817: 0x00007FCE, - 7818: 0x00007FD2, - 7819: 0x0000801C, - 7820: 0x0000804A, - 7821: 0x00008046, - 7822: 0x0000812F, - 7823: 0x00008116, - 7824: 0x00008123, - 7825: 0x0000812B, - 7826: 0x00008129, - 7827: 0x00008130, - 7828: 0x00008124, - 7829: 0x00008202, - 7830: 0x00008235, - 7831: 0x00008237, - 7832: 0x00008236, - 7833: 0x00008239, - 7834: 0x0000838E, - 7835: 0x0000839E, - 7836: 0x00008398, - 7837: 0x00008378, - 7838: 0x000083A2, - 7839: 0x00008396, - 7840: 0x000083BD, - 7841: 0x000083AB, - 7842: 0x00008392, - 7843: 0x0000838A, - 7844: 0x00008393, - 7845: 0x00008389, - 7846: 0x000083A0, - 7847: 0x00008377, - 7848: 0x0000837B, - 7849: 0x0000837C, - 7850: 0x00008386, - 7851: 0x000083A7, - 7852: 0x00008655, - 7853: 0x00005F6A, - 7854: 0x000086C7, - 7855: 0x000086C0, - 7856: 0x000086B6, - 7857: 0x000086C4, - 7858: 0x000086B5, - 7859: 0x000086C6, - 7860: 0x000086CB, - 7861: 0x000086B1, - 7862: 0x000086AF, - 7863: 0x000086C9, - 7864: 0x00008853, - 7865: 0x0000889E, - 7866: 0x00008888, - 7867: 0x000088AB, - 7868: 0x00008892, - 7869: 0x00008896, - 7870: 0x0000888D, - 7871: 0x0000888B, - 7872: 0x00008993, - 7873: 0x0000898F, - 7874: 0x00008A2A, - 7875: 0x00008A1D, - 7876: 0x00008A23, - 7877: 0x00008A25, - 7878: 0x00008A31, - 7879: 0x00008A2D, - 7880: 0x00008A1F, - 7881: 0x00008A1B, - 7882: 0x00008A22, - 7883: 0x00008C49, - 7884: 0x00008C5A, - 7885: 0x00008CA9, - 7886: 0x00008CAC, - 7887: 0x00008CAB, - 7888: 0x00008CA8, - 7889: 0x00008CAA, - 7890: 0x00008CA7, - 7891: 0x00008D67, - 7892: 0x00008D66, - 7893: 0x00008DBE, - 7894: 0x00008DBA, - 7895: 0x00008EDB, - 7896: 0x00008EDF, - 7897: 0x00009019, - 7898: 0x0000900D, - 7899: 0x0000901A, - 7900: 0x00009017, - 7901: 0x00009023, - 7902: 0x0000901F, - 7903: 0x0000901D, - 7904: 0x00009010, - 7905: 0x00009015, - 7906: 0x0000901E, - 7907: 0x00009020, - 7908: 0x0000900F, - 7909: 0x00009022, - 7910: 0x00009016, - 7911: 0x0000901B, - 7912: 0x00009014, - 7913: 0x000090E8, - 7914: 0x000090ED, - 7915: 0x000090FD, - 7916: 0x00009157, - 7917: 0x000091CE, - 7918: 0x000091F5, - 7919: 0x000091E6, - 7920: 0x000091E3, - 7921: 0x000091E7, - 7922: 0x000091ED, - 7923: 0x000091E9, - 7924: 0x00009589, - 7925: 0x0000966A, - 7926: 0x00009675, - 7927: 0x00009673, - 7928: 0x00009678, - 7929: 0x00009670, - 7930: 0x00009674, - 7931: 0x00009676, - 7932: 0x00009677, - 7933: 0x0000966C, - 7934: 0x000096C0, - 7935: 0x000096EA, - 7936: 0x000096E9, - 7937: 0x00007AE0, - 7938: 0x00007ADF, - 7939: 0x00009802, - 7940: 0x00009803, - 7941: 0x00009B5A, - 7942: 0x00009CE5, - 7943: 0x00009E75, - 7944: 0x00009E7F, - 7945: 0x00009EA5, - 7946: 0x00009EBB, - 7947: 0x000050A2, - 7948: 0x0000508D, - 7949: 0x00005085, - 7950: 0x00005099, - 7951: 0x00005091, - 7952: 0x00005080, - 7953: 0x00005096, - 7954: 0x00005098, - 7955: 0x0000509A, - 7956: 0x00006700, - 7957: 0x000051F1, - 7958: 0x00005272, - 7959: 0x00005274, - 7960: 0x00005275, - 7961: 0x00005269, - 7962: 0x000052DE, - 7963: 0x000052DD, - 7964: 0x000052DB, - 7965: 0x0000535A, - 7966: 0x000053A5, - 7967: 0x0000557B, - 7968: 0x00005580, - 7969: 0x000055A7, - 7970: 0x0000557C, - 7971: 0x0000558A, - 7972: 0x0000559D, - 7973: 0x00005598, - 7974: 0x00005582, - 7975: 0x0000559C, - 7976: 0x000055AA, - 7977: 0x00005594, - 7978: 0x00005587, - 7979: 0x0000558B, - 7980: 0x00005583, - 7981: 0x000055B3, - 7982: 0x000055AE, - 7983: 0x0000559F, - 7984: 0x0000553E, - 7985: 0x000055B2, - 7986: 0x0000559A, - 7987: 0x000055BB, - 7988: 0x000055AC, - 7989: 0x000055B1, - 7990: 0x0000557E, - 7991: 0x00005589, - 7992: 0x000055AB, - 7993: 0x00005599, - 7994: 0x0000570D, - 7995: 0x0000582F, - 7996: 0x0000582A, - 7997: 0x00005834, - 7998: 0x00005824, - 7999: 0x00005830, - 8000: 0x00005831, - 8001: 0x00005821, - 8002: 0x0000581D, - 8003: 0x00005820, - 8004: 0x000058F9, - 8005: 0x000058FA, - 8006: 0x00005960, - 8007: 0x00005A77, - 8008: 0x00005A9A, - 8009: 0x00005A7F, - 8010: 0x00005A92, - 8011: 0x00005A9B, - 8012: 0x00005AA7, - 8013: 0x00005B73, - 8014: 0x00005B71, - 8015: 0x00005BD2, - 8016: 0x00005BCC, - 8017: 0x00005BD3, - 8018: 0x00005BD0, - 8019: 0x00005C0A, - 8020: 0x00005C0B, - 8021: 0x00005C31, - 8022: 0x00005D4C, - 8023: 0x00005D50, - 8024: 0x00005D34, - 8025: 0x00005D47, - 8026: 0x00005DFD, - 8027: 0x00005E45, - 8028: 0x00005E3D, - 8029: 0x00005E40, - 8030: 0x00005E43, - 8031: 0x00005E7E, - 8032: 0x00005ECA, - 8033: 0x00005EC1, - 8034: 0x00005EC2, - 8035: 0x00005EC4, - 8036: 0x00005F3C, - 8037: 0x00005F6D, - 8038: 0x00005FA9, - 8039: 0x00005FAA, - 8040: 0x00005FA8, - 8041: 0x000060D1, - 8042: 0x000060E1, - 8043: 0x000060B2, - 8044: 0x000060B6, - 8045: 0x000060E0, - 8046: 0x0000611C, - 8047: 0x00006123, - 8048: 0x000060FA, - 8049: 0x00006115, - 8050: 0x000060F0, - 8051: 0x000060FB, - 8052: 0x000060F4, - 8053: 0x00006168, - 8054: 0x000060F1, - 8055: 0x0000610E, - 8056: 0x000060F6, - 8057: 0x00006109, - 8058: 0x00006100, - 8059: 0x00006112, - 8060: 0x0000621F, - 8061: 0x00006249, - 8062: 0x000063A3, - 8063: 0x0000638C, - 8064: 0x000063CF, - 8065: 0x000063C0, - 8066: 0x000063E9, - 8067: 0x000063C9, - 8068: 0x000063C6, - 8069: 0x000063CD, - 8070: 0x000063D2, - 8071: 0x000063E3, - 8072: 0x000063D0, - 8073: 0x000063E1, - 8074: 0x000063D6, - 8075: 0x000063ED, - 8076: 0x000063EE, - 8077: 0x00006376, - 8078: 0x000063F4, - 8079: 0x000063EA, - 8080: 0x000063DB, - 8081: 0x00006452, - 8082: 0x000063DA, - 8083: 0x000063F9, - 8084: 0x0000655E, - 8085: 0x00006566, - 8086: 0x00006562, - 8087: 0x00006563, - 8088: 0x00006591, - 8089: 0x00006590, - 8090: 0x000065AF, - 8091: 0x0000666E, - 8092: 0x00006670, - 8093: 0x00006674, - 8094: 0x00006676, - 8095: 0x0000666F, - 8096: 0x00006691, - 8097: 0x0000667A, - 8098: 0x0000667E, - 8099: 0x00006677, - 8100: 0x000066FE, - 8101: 0x000066FF, - 8102: 0x0000671F, - 8103: 0x0000671D, - 8104: 0x000068FA, - 8105: 0x000068D5, - 8106: 0x000068E0, - 8107: 0x000068D8, - 8108: 0x000068D7, - 8109: 0x00006905, - 8110: 0x000068DF, - 8111: 0x000068F5, - 8112: 0x000068EE, - 8113: 0x000068E7, - 8114: 0x000068F9, - 8115: 0x000068D2, - 8116: 0x000068F2, - 8117: 0x000068E3, - 8118: 0x000068CB, - 8119: 0x000068CD, - 8120: 0x0000690D, - 8121: 0x00006912, - 8122: 0x0000690E, - 8123: 0x000068C9, - 8124: 0x000068DA, - 8125: 0x0000696E, - 8126: 0x000068FB, - 8127: 0x00006B3E, - 8128: 0x00006B3A, - 8129: 0x00006B3D, - 8130: 0x00006B98, - 8131: 0x00006B96, - 8132: 0x00006BBC, - 8133: 0x00006BEF, - 8134: 0x00006C2E, - 8135: 0x00006C2F, - 8136: 0x00006C2C, - 8137: 0x00006E2F, - 8138: 0x00006E38, - 8139: 0x00006E54, - 8140: 0x00006E21, - 8141: 0x00006E32, - 8142: 0x00006E67, - 8143: 0x00006E4A, - 8144: 0x00006E20, - 8145: 0x00006E25, - 8146: 0x00006E23, - 8147: 0x00006E1B, - 8148: 0x00006E5B, - 8149: 0x00006E58, - 8150: 0x00006E24, - 8151: 0x00006E56, - 8152: 0x00006E6E, - 8153: 0x00006E2D, - 8154: 0x00006E26, - 8155: 0x00006E6F, - 8156: 0x00006E34, - 8157: 0x00006E4D, - 8158: 0x00006E3A, - 8159: 0x00006E2C, - 8160: 0x00006E43, - 8161: 0x00006E1D, - 8162: 0x00006E3E, - 8163: 0x00006ECB, - 8164: 0x00006E89, - 8165: 0x00006E19, - 8166: 0x00006E4E, - 8167: 0x00006E63, - 8168: 0x00006E44, - 8169: 0x00006E72, - 8170: 0x00006E69, - 8171: 0x00006E5F, - 8172: 0x00007119, - 8173: 0x0000711A, - 8174: 0x00007126, - 8175: 0x00007130, - 8176: 0x00007121, - 8177: 0x00007136, - 8178: 0x0000716E, - 8179: 0x0000711C, - 8180: 0x0000724C, - 8181: 0x00007284, - 8182: 0x00007280, - 8183: 0x00007336, - 8184: 0x00007325, - 8185: 0x00007334, - 8186: 0x00007329, - 8187: 0x0000743A, - 8188: 0x0000742A, - 8189: 0x00007433, - 8190: 0x00007422, - 8191: 0x00007425, - 8192: 0x00007435, - 8193: 0x00007436, - 8194: 0x00007434, - 8195: 0x0000742F, - 8196: 0x0000741B, - 8197: 0x00007426, - 8198: 0x00007428, - 8199: 0x00007525, - 8200: 0x00007526, - 8201: 0x0000756B, - 8202: 0x0000756A, - 8203: 0x000075E2, - 8204: 0x000075DB, - 8205: 0x000075E3, - 8206: 0x000075D9, - 8207: 0x000075D8, - 8208: 0x000075DE, - 8209: 0x000075E0, - 8210: 0x0000767B, - 8211: 0x0000767C, - 8212: 0x00007696, - 8213: 0x00007693, - 8214: 0x000076B4, - 8215: 0x000076DC, - 8216: 0x0000774F, - 8217: 0x000077ED, - 8218: 0x0000785D, - 8219: 0x0000786C, - 8220: 0x0000786F, - 8221: 0x00007A0D, - 8222: 0x00007A08, - 8223: 0x00007A0B, - 8224: 0x00007A05, - 8225: 0x00007A00, - 8226: 0x00007A98, - 8227: 0x00007A97, - 8228: 0x00007A96, - 8229: 0x00007AE5, - 8230: 0x00007AE3, - 8231: 0x00007B49, - 8232: 0x00007B56, - 8233: 0x00007B46, - 8234: 0x00007B50, - 8235: 0x00007B52, - 8236: 0x00007B54, - 8237: 0x00007B4D, - 8238: 0x00007B4B, - 8239: 0x00007B4F, - 8240: 0x00007B51, - 8241: 0x00007C9F, - 8242: 0x00007CA5, - 8243: 0x00007D5E, - 8244: 0x00007D50, - 8245: 0x00007D68, - 8246: 0x00007D55, - 8247: 0x00007D2B, - 8248: 0x00007D6E, - 8249: 0x00007D72, - 8250: 0x00007D61, - 8251: 0x00007D66, - 8252: 0x00007D62, - 8253: 0x00007D70, - 8254: 0x00007D73, - 8255: 0x00005584, - 8256: 0x00007FD4, - 8257: 0x00007FD5, - 8258: 0x0000800B, - 8259: 0x00008052, - 8260: 0x00008085, - 8261: 0x00008155, - 8262: 0x00008154, - 8263: 0x0000814B, - 8264: 0x00008151, - 8265: 0x0000814E, - 8266: 0x00008139, - 8267: 0x00008146, - 8268: 0x0000813E, - 8269: 0x0000814C, - 8270: 0x00008153, - 8271: 0x00008174, - 8272: 0x00008212, - 8273: 0x0000821C, - 8274: 0x000083E9, - 8275: 0x00008403, - 8276: 0x000083F8, - 8277: 0x0000840D, - 8278: 0x000083E0, - 8279: 0x000083C5, - 8280: 0x0000840B, - 8281: 0x000083C1, - 8282: 0x000083EF, - 8283: 0x000083F1, - 8284: 0x000083F4, - 8285: 0x00008457, - 8286: 0x0000840A, - 8287: 0x000083F0, - 8288: 0x0000840C, - 8289: 0x000083CC, - 8290: 0x000083FD, - 8291: 0x000083F2, - 8292: 0x000083CA, - 8293: 0x00008438, - 8294: 0x0000840E, - 8295: 0x00008404, - 8296: 0x000083DC, - 8297: 0x00008407, - 8298: 0x000083D4, - 8299: 0x000083DF, - 8300: 0x0000865B, - 8301: 0x000086DF, - 8302: 0x000086D9, - 8303: 0x000086ED, - 8304: 0x000086D4, - 8305: 0x000086DB, - 8306: 0x000086E4, - 8307: 0x000086D0, - 8308: 0x000086DE, - 8309: 0x00008857, - 8310: 0x000088C1, - 8311: 0x000088C2, - 8312: 0x000088B1, - 8313: 0x00008983, - 8314: 0x00008996, - 8315: 0x00008A3B, - 8316: 0x00008A60, - 8317: 0x00008A55, - 8318: 0x00008A5E, - 8319: 0x00008A3C, - 8320: 0x00008A41, - 8321: 0x00008A54, - 8322: 0x00008A5B, - 8323: 0x00008A50, - 8324: 0x00008A46, - 8325: 0x00008A34, - 8326: 0x00008A3A, - 8327: 0x00008A36, - 8328: 0x00008A56, - 8329: 0x00008C61, - 8330: 0x00008C82, - 8331: 0x00008CAF, - 8332: 0x00008CBC, - 8333: 0x00008CB3, - 8334: 0x00008CBD, - 8335: 0x00008CC1, - 8336: 0x00008CBB, - 8337: 0x00008CC0, - 8338: 0x00008CB4, - 8339: 0x00008CB7, - 8340: 0x00008CB6, - 8341: 0x00008CBF, - 8342: 0x00008CB8, - 8343: 0x00008D8A, - 8344: 0x00008D85, - 8345: 0x00008D81, - 8346: 0x00008DCE, - 8347: 0x00008DDD, - 8348: 0x00008DCB, - 8349: 0x00008DDA, - 8350: 0x00008DD1, - 8351: 0x00008DCC, - 8352: 0x00008DDB, - 8353: 0x00008DC6, - 8354: 0x00008EFB, - 8355: 0x00008EF8, - 8356: 0x00008EFC, - 8357: 0x00008F9C, - 8358: 0x0000902E, - 8359: 0x00009035, - 8360: 0x00009031, - 8361: 0x00009038, - 8362: 0x00009032, - 8363: 0x00009036, - 8364: 0x00009102, - 8365: 0x000090F5, - 8366: 0x00009109, - 8367: 0x000090FE, - 8368: 0x00009163, - 8369: 0x00009165, - 8370: 0x000091CF, - 8371: 0x00009214, - 8372: 0x00009215, - 8373: 0x00009223, - 8374: 0x00009209, - 8375: 0x0000921E, - 8376: 0x0000920D, - 8377: 0x00009210, - 8378: 0x00009207, - 8379: 0x00009211, - 8380: 0x00009594, - 8381: 0x0000958F, - 8382: 0x0000958B, - 8383: 0x00009591, - 8384: 0x00009593, - 8385: 0x00009592, - 8386: 0x0000958E, - 8387: 0x0000968A, - 8388: 0x0000968E, - 8389: 0x0000968B, - 8390: 0x0000967D, - 8391: 0x00009685, - 8392: 0x00009686, - 8393: 0x0000968D, - 8394: 0x00009672, - 8395: 0x00009684, - 8396: 0x000096C1, - 8397: 0x000096C5, - 8398: 0x000096C4, - 8399: 0x000096C6, - 8400: 0x000096C7, - 8401: 0x000096EF, - 8402: 0x000096F2, - 8403: 0x000097CC, - 8404: 0x00009805, - 8405: 0x00009806, - 8406: 0x00009808, - 8407: 0x000098E7, - 8408: 0x000098EA, - 8409: 0x000098EF, - 8410: 0x000098E9, - 8411: 0x000098F2, - 8412: 0x000098ED, - 8413: 0x000099AE, - 8414: 0x000099AD, - 8415: 0x00009EC3, - 8416: 0x00009ECD, - 8417: 0x00009ED1, - 8418: 0x00004E82, - 8419: 0x000050AD, - 8420: 0x000050B5, - 8421: 0x000050B2, - 8422: 0x000050B3, - 8423: 0x000050C5, - 8424: 0x000050BE, - 8425: 0x000050AC, - 8426: 0x000050B7, - 8427: 0x000050BB, - 8428: 0x000050AF, - 8429: 0x000050C7, - 8430: 0x0000527F, - 8431: 0x00005277, - 8432: 0x0000527D, - 8433: 0x000052DF, - 8434: 0x000052E6, - 8435: 0x000052E4, - 8436: 0x000052E2, - 8437: 0x000052E3, - 8438: 0x0000532F, - 8439: 0x000055DF, - 8440: 0x000055E8, - 8441: 0x000055D3, - 8442: 0x000055E6, - 8443: 0x000055CE, - 8444: 0x000055DC, - 8445: 0x000055C7, - 8446: 0x000055D1, - 8447: 0x000055E3, - 8448: 0x000055E4, - 8449: 0x000055EF, - 8450: 0x000055DA, - 8451: 0x000055E1, - 8452: 0x000055C5, - 8453: 0x000055C6, - 8454: 0x000055E5, - 8455: 0x000055C9, - 8456: 0x00005712, - 8457: 0x00005713, - 8458: 0x0000585E, - 8459: 0x00005851, - 8460: 0x00005858, - 8461: 0x00005857, - 8462: 0x0000585A, - 8463: 0x00005854, - 8464: 0x0000586B, - 8465: 0x0000584C, - 8466: 0x0000586D, - 8467: 0x0000584A, - 8468: 0x00005862, - 8469: 0x00005852, - 8470: 0x0000584B, - 8471: 0x00005967, - 8472: 0x00005AC1, - 8473: 0x00005AC9, - 8474: 0x00005ACC, - 8475: 0x00005ABE, - 8476: 0x00005ABD, - 8477: 0x00005ABC, - 8478: 0x00005AB3, - 8479: 0x00005AC2, - 8480: 0x00005AB2, - 8481: 0x00005D69, - 8482: 0x00005D6F, - 8483: 0x00005E4C, - 8484: 0x00005E79, - 8485: 0x00005EC9, - 8486: 0x00005EC8, - 8487: 0x00005F12, - 8488: 0x00005F59, - 8489: 0x00005FAC, - 8490: 0x00005FAE, - 8491: 0x0000611A, - 8492: 0x0000610F, - 8493: 0x00006148, - 8494: 0x0000611F, - 8495: 0x000060F3, - 8496: 0x0000611B, - 8497: 0x000060F9, - 8498: 0x00006101, - 8499: 0x00006108, - 8500: 0x0000614E, - 8501: 0x0000614C, - 8502: 0x00006144, - 8503: 0x0000614D, - 8504: 0x0000613E, - 8505: 0x00006134, - 8506: 0x00006127, - 8507: 0x0000610D, - 8508: 0x00006106, - 8509: 0x00006137, - 8510: 0x00006221, - 8511: 0x00006222, - 8512: 0x00006413, - 8513: 0x0000643E, - 8514: 0x0000641E, - 8515: 0x0000642A, - 8516: 0x0000642D, - 8517: 0x0000643D, - 8518: 0x0000642C, - 8519: 0x0000640F, - 8520: 0x0000641C, - 8521: 0x00006414, - 8522: 0x0000640D, - 8523: 0x00006436, - 8524: 0x00006416, - 8525: 0x00006417, - 8526: 0x00006406, - 8527: 0x0000656C, - 8528: 0x0000659F, - 8529: 0x000065B0, - 8530: 0x00006697, - 8531: 0x00006689, - 8532: 0x00006687, - 8533: 0x00006688, - 8534: 0x00006696, - 8535: 0x00006684, - 8536: 0x00006698, - 8537: 0x0000668D, - 8538: 0x00006703, - 8539: 0x00006994, - 8540: 0x0000696D, - 8541: 0x0000695A, - 8542: 0x00006977, - 8543: 0x00006960, - 8544: 0x00006954, - 8545: 0x00006975, - 8546: 0x00006930, - 8547: 0x00006982, - 8548: 0x0000694A, - 8549: 0x00006968, - 8550: 0x0000696B, - 8551: 0x0000695E, - 8552: 0x00006953, - 8553: 0x00006979, - 8554: 0x00006986, - 8555: 0x0000695D, - 8556: 0x00006963, - 8557: 0x0000695B, - 8558: 0x00006B47, - 8559: 0x00006B72, - 8560: 0x00006BC0, - 8561: 0x00006BBF, - 8562: 0x00006BD3, - 8563: 0x00006BFD, - 8564: 0x00006EA2, - 8565: 0x00006EAF, - 8566: 0x00006ED3, - 8567: 0x00006EB6, - 8568: 0x00006EC2, - 8569: 0x00006E90, - 8570: 0x00006E9D, - 8571: 0x00006EC7, - 8572: 0x00006EC5, - 8573: 0x00006EA5, - 8574: 0x00006E98, - 8575: 0x00006EBC, - 8576: 0x00006EBA, - 8577: 0x00006EAB, - 8578: 0x00006ED1, - 8579: 0x00006E96, - 8580: 0x00006E9C, - 8581: 0x00006EC4, - 8582: 0x00006ED4, - 8583: 0x00006EAA, - 8584: 0x00006EA7, - 8585: 0x00006EB4, - 8586: 0x0000714E, - 8587: 0x00007159, - 8588: 0x00007169, - 8589: 0x00007164, - 8590: 0x00007149, - 8591: 0x00007167, - 8592: 0x0000715C, - 8593: 0x0000716C, - 8594: 0x00007166, - 8595: 0x0000714C, - 8596: 0x00007165, - 8597: 0x0000715E, - 8598: 0x00007146, - 8599: 0x00007168, - 8600: 0x00007156, - 8601: 0x0000723A, - 8602: 0x00007252, - 8603: 0x00007337, - 8604: 0x00007345, - 8605: 0x0000733F, - 8606: 0x0000733E, - 8607: 0x0000746F, - 8608: 0x0000745A, - 8609: 0x00007455, - 8610: 0x0000745F, - 8611: 0x0000745E, - 8612: 0x00007441, - 8613: 0x0000743F, - 8614: 0x00007459, - 8615: 0x0000745B, - 8616: 0x0000745C, - 8617: 0x00007576, - 8618: 0x00007578, - 8619: 0x00007600, - 8620: 0x000075F0, - 8621: 0x00007601, - 8622: 0x000075F2, - 8623: 0x000075F1, - 8624: 0x000075FA, - 8625: 0x000075FF, - 8626: 0x000075F4, - 8627: 0x000075F3, - 8628: 0x000076DE, - 8629: 0x000076DF, - 8630: 0x0000775B, - 8631: 0x0000776B, - 8632: 0x00007766, - 8633: 0x0000775E, - 8634: 0x00007763, - 8635: 0x00007779, - 8636: 0x0000776A, - 8637: 0x0000776C, - 8638: 0x0000775C, - 8639: 0x00007765, - 8640: 0x00007768, - 8641: 0x00007762, - 8642: 0x000077EE, - 8643: 0x0000788E, - 8644: 0x000078B0, - 8645: 0x00007897, - 8646: 0x00007898, - 8647: 0x0000788C, - 8648: 0x00007889, - 8649: 0x0000787C, - 8650: 0x00007891, - 8651: 0x00007893, - 8652: 0x0000787F, - 8653: 0x0000797A, - 8654: 0x0000797F, - 8655: 0x00007981, - 8656: 0x0000842C, - 8657: 0x000079BD, - 8658: 0x00007A1C, - 8659: 0x00007A1A, - 8660: 0x00007A20, - 8661: 0x00007A14, - 8662: 0x00007A1F, - 8663: 0x00007A1E, - 8664: 0x00007A9F, - 8665: 0x00007AA0, - 8666: 0x00007B77, - 8667: 0x00007BC0, - 8668: 0x00007B60, - 8669: 0x00007B6E, - 8670: 0x00007B67, - 8671: 0x00007CB1, - 8672: 0x00007CB3, - 8673: 0x00007CB5, - 8674: 0x00007D93, - 8675: 0x00007D79, - 8676: 0x00007D91, - 8677: 0x00007D81, - 8678: 0x00007D8F, - 8679: 0x00007D5B, - 8680: 0x00007F6E, - 8681: 0x00007F69, - 8682: 0x00007F6A, - 8683: 0x00007F72, - 8684: 0x00007FA9, - 8685: 0x00007FA8, - 8686: 0x00007FA4, - 8687: 0x00008056, - 8688: 0x00008058, - 8689: 0x00008086, - 8690: 0x00008084, - 8691: 0x00008171, - 8692: 0x00008170, - 8693: 0x00008178, - 8694: 0x00008165, - 8695: 0x0000816E, - 8696: 0x00008173, - 8697: 0x0000816B, - 8698: 0x00008179, - 8699: 0x0000817A, - 8700: 0x00008166, - 8701: 0x00008205, - 8702: 0x00008247, - 8703: 0x00008482, - 8704: 0x00008477, - 8705: 0x0000843D, - 8706: 0x00008431, - 8707: 0x00008475, - 8708: 0x00008466, - 8709: 0x0000846B, - 8710: 0x00008449, - 8711: 0x0000846C, - 8712: 0x0000845B, - 8713: 0x0000843C, - 8714: 0x00008435, - 8715: 0x00008461, - 8716: 0x00008463, - 8717: 0x00008469, - 8718: 0x0000846D, - 8719: 0x00008446, - 8720: 0x0000865E, - 8721: 0x0000865C, - 8722: 0x0000865F, - 8723: 0x000086F9, - 8724: 0x00008713, - 8725: 0x00008708, - 8726: 0x00008707, - 8727: 0x00008700, - 8728: 0x000086FE, - 8729: 0x000086FB, - 8730: 0x00008702, - 8731: 0x00008703, - 8732: 0x00008706, - 8733: 0x0000870A, - 8734: 0x00008859, - 8735: 0x000088DF, - 8736: 0x000088D4, - 8737: 0x000088D9, - 8738: 0x000088DC, - 8739: 0x000088D8, - 8740: 0x000088DD, - 8741: 0x000088E1, - 8742: 0x000088CA, - 8743: 0x000088D5, - 8744: 0x000088D2, - 8745: 0x0000899C, - 8746: 0x000089E3, - 8747: 0x00008A6B, - 8748: 0x00008A72, - 8749: 0x00008A73, - 8750: 0x00008A66, - 8751: 0x00008A69, - 8752: 0x00008A70, - 8753: 0x00008A87, - 8754: 0x00008A7C, - 8755: 0x00008A63, - 8756: 0x00008AA0, - 8757: 0x00008A71, - 8758: 0x00008A85, - 8759: 0x00008A6D, - 8760: 0x00008A62, - 8761: 0x00008A6E, - 8762: 0x00008A6C, - 8763: 0x00008A79, - 8764: 0x00008A7B, - 8765: 0x00008A3E, - 8766: 0x00008A68, - 8767: 0x00008C62, - 8768: 0x00008C8A, - 8769: 0x00008C89, - 8770: 0x00008CCA, - 8771: 0x00008CC7, - 8772: 0x00008CC8, - 8773: 0x00008CC4, - 8774: 0x00008CB2, - 8775: 0x00008CC3, - 8776: 0x00008CC2, - 8777: 0x00008CC5, - 8778: 0x00008DE1, - 8779: 0x00008DDF, - 8780: 0x00008DE8, - 8781: 0x00008DEF, - 8782: 0x00008DF3, - 8783: 0x00008DFA, - 8784: 0x00008DEA, - 8785: 0x00008DE4, - 8786: 0x00008DE6, - 8787: 0x00008EB2, - 8788: 0x00008F03, - 8789: 0x00008F09, - 8790: 0x00008EFE, - 8791: 0x00008F0A, - 8792: 0x00008F9F, - 8793: 0x00008FB2, - 8794: 0x0000904B, - 8795: 0x0000904A, - 8796: 0x00009053, - 8797: 0x00009042, - 8798: 0x00009054, - 8799: 0x0000903C, - 8800: 0x00009055, - 8801: 0x00009050, - 8802: 0x00009047, - 8803: 0x0000904F, - 8804: 0x0000904E, - 8805: 0x0000904D, - 8806: 0x00009051, - 8807: 0x0000903E, - 8808: 0x00009041, - 8809: 0x00009112, - 8810: 0x00009117, - 8811: 0x0000916C, - 8812: 0x0000916A, - 8813: 0x00009169, - 8814: 0x000091C9, - 8815: 0x00009237, - 8816: 0x00009257, - 8817: 0x00009238, - 8818: 0x0000923D, - 8819: 0x00009240, - 8820: 0x0000923E, - 8821: 0x0000925B, - 8822: 0x0000924B, - 8823: 0x00009264, - 8824: 0x00009251, - 8825: 0x00009234, - 8826: 0x00009249, - 8827: 0x0000924D, - 8828: 0x00009245, - 8829: 0x00009239, - 8830: 0x0000923F, - 8831: 0x0000925A, - 8832: 0x00009598, - 8833: 0x00009698, - 8834: 0x00009694, - 8835: 0x00009695, - 8836: 0x000096CD, - 8837: 0x000096CB, - 8838: 0x000096C9, - 8839: 0x000096CA, - 8840: 0x000096F7, - 8841: 0x000096FB, - 8842: 0x000096F9, - 8843: 0x000096F6, - 8844: 0x00009756, - 8845: 0x00009774, - 8846: 0x00009776, - 8847: 0x00009810, - 8848: 0x00009811, - 8849: 0x00009813, - 8850: 0x0000980A, - 8851: 0x00009812, - 8852: 0x0000980C, - 8853: 0x000098FC, - 8854: 0x000098F4, - 8855: 0x000098FD, - 8856: 0x000098FE, - 8857: 0x000099B3, - 8858: 0x000099B1, - 8859: 0x000099B4, - 8860: 0x00009AE1, - 8861: 0x00009CE9, - 8862: 0x00009E82, - 8863: 0x00009F0E, - 8864: 0x00009F13, - 8865: 0x00009F20, - 8866: 0x000050E7, - 8867: 0x000050EE, - 8868: 0x000050E5, - 8869: 0x000050D6, - 8870: 0x000050ED, - 8871: 0x000050DA, - 8872: 0x000050D5, - 8873: 0x000050CF, - 8874: 0x000050D1, - 8875: 0x000050F1, - 8876: 0x000050CE, - 8877: 0x000050E9, - 8878: 0x00005162, - 8879: 0x000051F3, - 8880: 0x00005283, - 8881: 0x00005282, - 8882: 0x00005331, - 8883: 0x000053AD, - 8884: 0x000055FE, - 8885: 0x00005600, - 8886: 0x0000561B, - 8887: 0x00005617, - 8888: 0x000055FD, - 8889: 0x00005614, - 8890: 0x00005606, - 8891: 0x00005609, - 8892: 0x0000560D, - 8893: 0x0000560E, - 8894: 0x000055F7, - 8895: 0x00005616, - 8896: 0x0000561F, - 8897: 0x00005608, - 8898: 0x00005610, - 8899: 0x000055F6, - 8900: 0x00005718, - 8901: 0x00005716, - 8902: 0x00005875, - 8903: 0x0000587E, - 8904: 0x00005883, - 8905: 0x00005893, - 8906: 0x0000588A, - 8907: 0x00005879, - 8908: 0x00005885, - 8909: 0x0000587D, - 8910: 0x000058FD, - 8911: 0x00005925, - 8912: 0x00005922, - 8913: 0x00005924, - 8914: 0x0000596A, - 8915: 0x00005969, - 8916: 0x00005AE1, - 8917: 0x00005AE6, - 8918: 0x00005AE9, - 8919: 0x00005AD7, - 8920: 0x00005AD6, - 8921: 0x00005AD8, - 8922: 0x00005AE3, - 8923: 0x00005B75, - 8924: 0x00005BDE, - 8925: 0x00005BE7, - 8926: 0x00005BE1, - 8927: 0x00005BE5, - 8928: 0x00005BE6, - 8929: 0x00005BE8, - 8930: 0x00005BE2, - 8931: 0x00005BE4, - 8932: 0x00005BDF, - 8933: 0x00005C0D, - 8934: 0x00005C62, - 8935: 0x00005D84, - 8936: 0x00005D87, - 8937: 0x00005E5B, - 8938: 0x00005E63, - 8939: 0x00005E55, - 8940: 0x00005E57, - 8941: 0x00005E54, - 8942: 0x00005ED3, - 8943: 0x00005ED6, - 8944: 0x00005F0A, - 8945: 0x00005F46, - 8946: 0x00005F70, - 8947: 0x00005FB9, - 8948: 0x00006147, - 8949: 0x0000613F, - 8950: 0x0000614B, - 8951: 0x00006177, - 8952: 0x00006162, - 8953: 0x00006163, - 8954: 0x0000615F, - 8955: 0x0000615A, - 8956: 0x00006158, - 8957: 0x00006175, - 8958: 0x0000622A, - 8959: 0x00006487, - 8960: 0x00006458, - 8961: 0x00006454, - 8962: 0x000064A4, - 8963: 0x00006478, - 8964: 0x0000645F, - 8965: 0x0000647A, - 8966: 0x00006451, - 8967: 0x00006467, - 8968: 0x00006434, - 8969: 0x0000646D, - 8970: 0x0000647B, - 8971: 0x00006572, - 8972: 0x000065A1, - 8973: 0x000065D7, - 8974: 0x000065D6, - 8975: 0x000066A2, - 8976: 0x000066A8, - 8977: 0x0000669D, - 8978: 0x0000699C, - 8979: 0x000069A8, - 8980: 0x00006995, - 8981: 0x000069C1, - 8982: 0x000069AE, - 8983: 0x000069D3, - 8984: 0x000069CB, - 8985: 0x0000699B, - 8986: 0x000069B7, - 8987: 0x000069BB, - 8988: 0x000069AB, - 8989: 0x000069B4, - 8990: 0x000069D0, - 8991: 0x000069CD, - 8992: 0x000069AD, - 8993: 0x000069CC, - 8994: 0x000069A6, - 8995: 0x000069C3, - 8996: 0x000069A3, - 8997: 0x00006B49, - 8998: 0x00006B4C, - 8999: 0x00006C33, - 9000: 0x00006F33, - 9001: 0x00006F14, - 9002: 0x00006EFE, - 9003: 0x00006F13, - 9004: 0x00006EF4, - 9005: 0x00006F29, - 9006: 0x00006F3E, - 9007: 0x00006F20, - 9008: 0x00006F2C, - 9009: 0x00006F0F, - 9010: 0x00006F02, - 9011: 0x00006F22, - 9012: 0x00006EFF, - 9013: 0x00006EEF, - 9014: 0x00006F06, - 9015: 0x00006F31, - 9016: 0x00006F38, - 9017: 0x00006F32, - 9018: 0x00006F23, - 9019: 0x00006F15, - 9020: 0x00006F2B, - 9021: 0x00006F2F, - 9022: 0x00006F88, - 9023: 0x00006F2A, - 9024: 0x00006EEC, - 9025: 0x00006F01, - 9026: 0x00006EF2, - 9027: 0x00006ECC, - 9028: 0x00006EF7, - 9029: 0x00007194, - 9030: 0x00007199, - 9031: 0x0000717D, - 9032: 0x0000718A, - 9033: 0x00007184, - 9034: 0x00007192, - 9035: 0x0000723E, - 9036: 0x00007292, - 9037: 0x00007296, - 9038: 0x00007344, - 9039: 0x00007350, - 9040: 0x00007464, - 9041: 0x00007463, - 9042: 0x0000746A, - 9043: 0x00007470, - 9044: 0x0000746D, - 9045: 0x00007504, - 9046: 0x00007591, - 9047: 0x00007627, - 9048: 0x0000760D, - 9049: 0x0000760B, - 9050: 0x00007609, - 9051: 0x00007613, - 9052: 0x000076E1, - 9053: 0x000076E3, - 9054: 0x00007784, - 9055: 0x0000777D, - 9056: 0x0000777F, - 9057: 0x00007761, - 9058: 0x000078C1, - 9059: 0x0000789F, - 9060: 0x000078A7, - 9061: 0x000078B3, - 9062: 0x000078A9, - 9063: 0x000078A3, - 9064: 0x0000798E, - 9065: 0x0000798F, - 9066: 0x0000798D, - 9067: 0x00007A2E, - 9068: 0x00007A31, - 9069: 0x00007AAA, - 9070: 0x00007AA9, - 9071: 0x00007AED, - 9072: 0x00007AEF, - 9073: 0x00007BA1, - 9074: 0x00007B95, - 9075: 0x00007B8B, - 9076: 0x00007B75, - 9077: 0x00007B97, - 9078: 0x00007B9D, - 9079: 0x00007B94, - 9080: 0x00007B8F, - 9081: 0x00007BB8, - 9082: 0x00007B87, - 9083: 0x00007B84, - 9084: 0x00007CB9, - 9085: 0x00007CBD, - 9086: 0x00007CBE, - 9087: 0x00007DBB, - 9088: 0x00007DB0, - 9089: 0x00007D9C, - 9090: 0x00007DBD, - 9091: 0x00007DBE, - 9092: 0x00007DA0, - 9093: 0x00007DCA, - 9094: 0x00007DB4, - 9095: 0x00007DB2, - 9096: 0x00007DB1, - 9097: 0x00007DBA, - 9098: 0x00007DA2, - 9099: 0x00007DBF, - 9100: 0x00007DB5, - 9101: 0x00007DB8, - 9102: 0x00007DAD, - 9103: 0x00007DD2, - 9104: 0x00007DC7, - 9105: 0x00007DAC, - 9106: 0x00007F70, - 9107: 0x00007FE0, - 9108: 0x00007FE1, - 9109: 0x00007FDF, - 9110: 0x0000805E, - 9111: 0x0000805A, - 9112: 0x00008087, - 9113: 0x00008150, - 9114: 0x00008180, - 9115: 0x0000818F, - 9116: 0x00008188, - 9117: 0x0000818A, - 9118: 0x0000817F, - 9119: 0x00008182, - 9120: 0x000081E7, - 9121: 0x000081FA, - 9122: 0x00008207, - 9123: 0x00008214, - 9124: 0x0000821E, - 9125: 0x0000824B, - 9126: 0x000084C9, - 9127: 0x000084BF, - 9128: 0x000084C6, - 9129: 0x000084C4, - 9130: 0x00008499, - 9131: 0x0000849E, - 9132: 0x000084B2, - 9133: 0x0000849C, - 9134: 0x000084CB, - 9135: 0x000084B8, - 9136: 0x000084C0, - 9137: 0x000084D3, - 9138: 0x00008490, - 9139: 0x000084BC, - 9140: 0x000084D1, - 9141: 0x000084CA, - 9142: 0x0000873F, - 9143: 0x0000871C, - 9144: 0x0000873B, - 9145: 0x00008722, - 9146: 0x00008725, - 9147: 0x00008734, - 9148: 0x00008718, - 9149: 0x00008755, - 9150: 0x00008737, - 9151: 0x00008729, - 9152: 0x000088F3, - 9153: 0x00008902, - 9154: 0x000088F4, - 9155: 0x000088F9, - 9156: 0x000088F8, - 9157: 0x000088FD, - 9158: 0x000088E8, - 9159: 0x0000891A, - 9160: 0x000088EF, - 9161: 0x00008AA6, - 9162: 0x00008A8C, - 9163: 0x00008A9E, - 9164: 0x00008AA3, - 9165: 0x00008A8D, - 9166: 0x00008AA1, - 9167: 0x00008A93, - 9168: 0x00008AA4, - 9169: 0x00008AAA, - 9170: 0x00008AA5, - 9171: 0x00008AA8, - 9172: 0x00008A98, - 9173: 0x00008A91, - 9174: 0x00008A9A, - 9175: 0x00008AA7, - 9176: 0x00008C6A, - 9177: 0x00008C8D, - 9178: 0x00008C8C, - 9179: 0x00008CD3, - 9180: 0x00008CD1, - 9181: 0x00008CD2, - 9182: 0x00008D6B, - 9183: 0x00008D99, - 9184: 0x00008D95, - 9185: 0x00008DFC, - 9186: 0x00008F14, - 9187: 0x00008F12, - 9188: 0x00008F15, - 9189: 0x00008F13, - 9190: 0x00008FA3, - 9191: 0x00009060, - 9192: 0x00009058, - 9193: 0x0000905C, - 9194: 0x00009063, - 9195: 0x00009059, - 9196: 0x0000905E, - 9197: 0x00009062, - 9198: 0x0000905D, - 9199: 0x0000905B, - 9200: 0x00009119, - 9201: 0x00009118, - 9202: 0x0000911E, - 9203: 0x00009175, - 9204: 0x00009178, - 9205: 0x00009177, - 9206: 0x00009174, - 9207: 0x00009278, - 9208: 0x00009280, - 9209: 0x00009285, - 9210: 0x00009298, - 9211: 0x00009296, - 9212: 0x0000927B, - 9213: 0x00009293, - 9214: 0x0000929C, - 9215: 0x000092A8, - 9216: 0x0000927C, - 9217: 0x00009291, - 9218: 0x000095A1, - 9219: 0x000095A8, - 9220: 0x000095A9, - 9221: 0x000095A3, - 9222: 0x000095A5, - 9223: 0x000095A4, - 9224: 0x00009699, - 9225: 0x0000969C, - 9226: 0x0000969B, - 9227: 0x000096CC, - 9228: 0x000096D2, - 9229: 0x00009700, - 9230: 0x0000977C, - 9231: 0x00009785, - 9232: 0x000097F6, - 9233: 0x00009817, - 9234: 0x00009818, - 9235: 0x000098AF, - 9236: 0x000098B1, - 9237: 0x00009903, - 9238: 0x00009905, - 9239: 0x0000990C, - 9240: 0x00009909, - 9241: 0x000099C1, - 9242: 0x00009AAF, - 9243: 0x00009AB0, - 9244: 0x00009AE6, - 9245: 0x00009B41, - 9246: 0x00009B42, - 9247: 0x00009CF4, - 9248: 0x00009CF6, - 9249: 0x00009CF3, - 9250: 0x00009EBC, - 9251: 0x00009F3B, - 9252: 0x00009F4A, - 9253: 0x00005104, - 9254: 0x00005100, - 9255: 0x000050FB, - 9256: 0x000050F5, - 9257: 0x000050F9, - 9258: 0x00005102, - 9259: 0x00005108, - 9260: 0x00005109, - 9261: 0x00005105, - 9262: 0x000051DC, - 9263: 0x00005287, - 9264: 0x00005288, - 9265: 0x00005289, - 9266: 0x0000528D, - 9267: 0x0000528A, - 9268: 0x000052F0, - 9269: 0x000053B2, - 9270: 0x0000562E, - 9271: 0x0000563B, - 9272: 0x00005639, - 9273: 0x00005632, - 9274: 0x0000563F, - 9275: 0x00005634, - 9276: 0x00005629, - 9277: 0x00005653, - 9278: 0x0000564E, - 9279: 0x00005657, - 9280: 0x00005674, - 9281: 0x00005636, - 9282: 0x0000562F, - 9283: 0x00005630, - 9284: 0x00005880, - 9285: 0x0000589F, - 9286: 0x0000589E, - 9287: 0x000058B3, - 9288: 0x0000589C, - 9289: 0x000058AE, - 9290: 0x000058A9, - 9291: 0x000058A6, - 9292: 0x0000596D, - 9293: 0x00005B09, - 9294: 0x00005AFB, - 9295: 0x00005B0B, - 9296: 0x00005AF5, - 9297: 0x00005B0C, - 9298: 0x00005B08, - 9299: 0x00005BEE, - 9300: 0x00005BEC, - 9301: 0x00005BE9, - 9302: 0x00005BEB, - 9303: 0x00005C64, - 9304: 0x00005C65, - 9305: 0x00005D9D, - 9306: 0x00005D94, - 9307: 0x00005E62, - 9308: 0x00005E5F, - 9309: 0x00005E61, - 9310: 0x00005EE2, - 9311: 0x00005EDA, - 9312: 0x00005EDF, - 9313: 0x00005EDD, - 9314: 0x00005EE3, - 9315: 0x00005EE0, - 9316: 0x00005F48, - 9317: 0x00005F71, - 9318: 0x00005FB7, - 9319: 0x00005FB5, - 9320: 0x00006176, - 9321: 0x00006167, - 9322: 0x0000616E, - 9323: 0x0000615D, - 9324: 0x00006155, - 9325: 0x00006182, - 9326: 0x0000617C, - 9327: 0x00006170, - 9328: 0x0000616B, - 9329: 0x0000617E, - 9330: 0x000061A7, - 9331: 0x00006190, - 9332: 0x000061AB, - 9333: 0x0000618E, - 9334: 0x000061AC, - 9335: 0x0000619A, - 9336: 0x000061A4, - 9337: 0x00006194, - 9338: 0x000061AE, - 9339: 0x0000622E, - 9340: 0x00006469, - 9341: 0x0000646F, - 9342: 0x00006479, - 9343: 0x0000649E, - 9344: 0x000064B2, - 9345: 0x00006488, - 9346: 0x00006490, - 9347: 0x000064B0, - 9348: 0x000064A5, - 9349: 0x00006493, - 9350: 0x00006495, - 9351: 0x000064A9, - 9352: 0x00006492, - 9353: 0x000064AE, - 9354: 0x000064AD, - 9355: 0x000064AB, - 9356: 0x0000649A, - 9357: 0x000064AC, - 9358: 0x00006499, - 9359: 0x000064A2, - 9360: 0x000064B3, - 9361: 0x00006575, - 9362: 0x00006577, - 9363: 0x00006578, - 9364: 0x000066AE, - 9365: 0x000066AB, - 9366: 0x000066B4, - 9367: 0x000066B1, - 9368: 0x00006A23, - 9369: 0x00006A1F, - 9370: 0x000069E8, - 9371: 0x00006A01, - 9372: 0x00006A1E, - 9373: 0x00006A19, - 9374: 0x000069FD, - 9375: 0x00006A21, - 9376: 0x00006A13, - 9377: 0x00006A0A, - 9378: 0x000069F3, - 9379: 0x00006A02, - 9380: 0x00006A05, - 9381: 0x000069ED, - 9382: 0x00006A11, - 9383: 0x00006B50, - 9384: 0x00006B4E, - 9385: 0x00006BA4, - 9386: 0x00006BC5, - 9387: 0x00006BC6, - 9388: 0x00006F3F, - 9389: 0x00006F7C, - 9390: 0x00006F84, - 9391: 0x00006F51, - 9392: 0x00006F66, - 9393: 0x00006F54, - 9394: 0x00006F86, - 9395: 0x00006F6D, - 9396: 0x00006F5B, - 9397: 0x00006F78, - 9398: 0x00006F6E, - 9399: 0x00006F8E, - 9400: 0x00006F7A, - 9401: 0x00006F70, - 9402: 0x00006F64, - 9403: 0x00006F97, - 9404: 0x00006F58, - 9405: 0x00006ED5, - 9406: 0x00006F6F, - 9407: 0x00006F60, - 9408: 0x00006F5F, - 9409: 0x0000719F, - 9410: 0x000071AC, - 9411: 0x000071B1, - 9412: 0x000071A8, - 9413: 0x00007256, - 9414: 0x0000729B, - 9415: 0x0000734E, - 9416: 0x00007357, - 9417: 0x00007469, - 9418: 0x0000748B, - 9419: 0x00007483, - 9420: 0x0000747E, - 9421: 0x00007480, - 9422: 0x0000757F, - 9423: 0x00007620, - 9424: 0x00007629, - 9425: 0x0000761F, - 9426: 0x00007624, - 9427: 0x00007626, - 9428: 0x00007621, - 9429: 0x00007622, - 9430: 0x0000769A, - 9431: 0x000076BA, - 9432: 0x000076E4, - 9433: 0x0000778E, - 9434: 0x00007787, - 9435: 0x0000778C, - 9436: 0x00007791, - 9437: 0x0000778B, - 9438: 0x000078CB, - 9439: 0x000078C5, - 9440: 0x000078BA, - 9441: 0x000078CA, - 9442: 0x000078BE, - 9443: 0x000078D5, - 9444: 0x000078BC, - 9445: 0x000078D0, - 9446: 0x00007A3F, - 9447: 0x00007A3C, - 9448: 0x00007A40, - 9449: 0x00007A3D, - 9450: 0x00007A37, - 9451: 0x00007A3B, - 9452: 0x00007AAF, - 9453: 0x00007AAE, - 9454: 0x00007BAD, - 9455: 0x00007BB1, - 9456: 0x00007BC4, - 9457: 0x00007BB4, - 9458: 0x00007BC6, - 9459: 0x00007BC7, - 9460: 0x00007BC1, - 9461: 0x00007BA0, - 9462: 0x00007BCC, - 9463: 0x00007CCA, - 9464: 0x00007DE0, - 9465: 0x00007DF4, - 9466: 0x00007DEF, - 9467: 0x00007DFB, - 9468: 0x00007DD8, - 9469: 0x00007DEC, - 9470: 0x00007DDD, - 9471: 0x00007DE8, - 9472: 0x00007DE3, - 9473: 0x00007DDA, - 9474: 0x00007DDE, - 9475: 0x00007DE9, - 9476: 0x00007D9E, - 9477: 0x00007DD9, - 9478: 0x00007DF2, - 9479: 0x00007DF9, - 9480: 0x00007F75, - 9481: 0x00007F77, - 9482: 0x00007FAF, - 9483: 0x00007FE9, - 9484: 0x00008026, - 9485: 0x0000819B, - 9486: 0x0000819C, - 9487: 0x0000819D, - 9488: 0x000081A0, - 9489: 0x0000819A, - 9490: 0x00008198, - 9491: 0x00008517, - 9492: 0x0000853D, - 9493: 0x0000851A, - 9494: 0x000084EE, - 9495: 0x0000852C, - 9496: 0x0000852D, - 9497: 0x00008513, - 9498: 0x00008511, - 9499: 0x00008523, - 9500: 0x00008521, - 9501: 0x00008514, - 9502: 0x000084EC, - 9503: 0x00008525, - 9504: 0x000084FF, - 9505: 0x00008506, - 9506: 0x00008782, - 9507: 0x00008774, - 9508: 0x00008776, - 9509: 0x00008760, - 9510: 0x00008766, - 9511: 0x00008778, - 9512: 0x00008768, - 9513: 0x00008759, - 9514: 0x00008757, - 9515: 0x0000874C, - 9516: 0x00008753, - 9517: 0x0000885B, - 9518: 0x0000885D, - 9519: 0x00008910, - 9520: 0x00008907, - 9521: 0x00008912, - 9522: 0x00008913, - 9523: 0x00008915, - 9524: 0x0000890A, - 9525: 0x00008ABC, - 9526: 0x00008AD2, - 9527: 0x00008AC7, - 9528: 0x00008AC4, - 9529: 0x00008A95, - 9530: 0x00008ACB, - 9531: 0x00008AF8, - 9532: 0x00008AB2, - 9533: 0x00008AC9, - 9534: 0x00008AC2, - 9535: 0x00008ABF, - 9536: 0x00008AB0, - 9537: 0x00008AD6, - 9538: 0x00008ACD, - 9539: 0x00008AB6, - 9540: 0x00008AB9, - 9541: 0x00008ADB, - 9542: 0x00008C4C, - 9543: 0x00008C4E, - 9544: 0x00008C6C, - 9545: 0x00008CE0, - 9546: 0x00008CDE, - 9547: 0x00008CE6, - 9548: 0x00008CE4, - 9549: 0x00008CEC, - 9550: 0x00008CED, - 9551: 0x00008CE2, - 9552: 0x00008CE3, - 9553: 0x00008CDC, - 9554: 0x00008CEA, - 9555: 0x00008CE1, - 9556: 0x00008D6D, - 9557: 0x00008D9F, - 9558: 0x00008DA3, - 9559: 0x00008E2B, - 9560: 0x00008E10, - 9561: 0x00008E1D, - 9562: 0x00008E22, - 9563: 0x00008E0F, - 9564: 0x00008E29, - 9565: 0x00008E1F, - 9566: 0x00008E21, - 9567: 0x00008E1E, - 9568: 0x00008EBA, - 9569: 0x00008F1D, - 9570: 0x00008F1B, - 9571: 0x00008F1F, - 9572: 0x00008F29, - 9573: 0x00008F26, - 9574: 0x00008F2A, - 9575: 0x00008F1C, - 9576: 0x00008F1E, - 9577: 0x00008F25, - 9578: 0x00009069, - 9579: 0x0000906E, - 9580: 0x00009068, - 9581: 0x0000906D, - 9582: 0x00009077, - 9583: 0x00009130, - 9584: 0x0000912D, - 9585: 0x00009127, - 9586: 0x00009131, - 9587: 0x00009187, - 9588: 0x00009189, - 9589: 0x0000918B, - 9590: 0x00009183, - 9591: 0x000092C5, - 9592: 0x000092BB, - 9593: 0x000092B7, - 9594: 0x000092EA, - 9595: 0x000092AC, - 9596: 0x000092E4, - 9597: 0x000092C1, - 9598: 0x000092B3, - 9599: 0x000092BC, - 9600: 0x000092D2, - 9601: 0x000092C7, - 9602: 0x000092F0, - 9603: 0x000092B2, - 9604: 0x000095AD, - 9605: 0x000095B1, - 9606: 0x00009704, - 9607: 0x00009706, - 9608: 0x00009707, - 9609: 0x00009709, - 9610: 0x00009760, - 9611: 0x0000978D, - 9612: 0x0000978B, - 9613: 0x0000978F, - 9614: 0x00009821, - 9615: 0x0000982B, - 9616: 0x0000981C, - 9617: 0x000098B3, - 9618: 0x0000990A, - 9619: 0x00009913, - 9620: 0x00009912, - 9621: 0x00009918, - 9622: 0x000099DD, - 9623: 0x000099D0, - 9624: 0x000099DF, - 9625: 0x000099DB, - 9626: 0x000099D1, - 9627: 0x000099D5, - 9628: 0x000099D2, - 9629: 0x000099D9, - 9630: 0x00009AB7, - 9631: 0x00009AEE, - 9632: 0x00009AEF, - 9633: 0x00009B27, - 9634: 0x00009B45, - 9635: 0x00009B44, - 9636: 0x00009B77, - 9637: 0x00009B6F, - 9638: 0x00009D06, - 9639: 0x00009D09, - 9640: 0x00009D03, - 9641: 0x00009EA9, - 9642: 0x00009EBE, - 9643: 0x00009ECE, - 9644: 0x000058A8, - 9645: 0x00009F52, - 9646: 0x00005112, - 9647: 0x00005118, - 9648: 0x00005114, - 9649: 0x00005110, - 9650: 0x00005115, - 9651: 0x00005180, - 9652: 0x000051AA, - 9653: 0x000051DD, - 9654: 0x00005291, - 9655: 0x00005293, - 9656: 0x000052F3, - 9657: 0x00005659, - 9658: 0x0000566B, - 9659: 0x00005679, - 9660: 0x00005669, - 9661: 0x00005664, - 9662: 0x00005678, - 9663: 0x0000566A, - 9664: 0x00005668, - 9665: 0x00005665, - 9666: 0x00005671, - 9667: 0x0000566F, - 9668: 0x0000566C, - 9669: 0x00005662, - 9670: 0x00005676, - 9671: 0x000058C1, - 9672: 0x000058BE, - 9673: 0x000058C7, - 9674: 0x000058C5, - 9675: 0x0000596E, - 9676: 0x00005B1D, - 9677: 0x00005B34, - 9678: 0x00005B78, - 9679: 0x00005BF0, - 9680: 0x00005C0E, - 9681: 0x00005F4A, - 9682: 0x000061B2, - 9683: 0x00006191, - 9684: 0x000061A9, - 9685: 0x0000618A, - 9686: 0x000061CD, - 9687: 0x000061B6, - 9688: 0x000061BE, - 9689: 0x000061CA, - 9690: 0x000061C8, - 9691: 0x00006230, - 9692: 0x000064C5, - 9693: 0x000064C1, - 9694: 0x000064CB, - 9695: 0x000064BB, - 9696: 0x000064BC, - 9697: 0x000064DA, - 9698: 0x000064C4, - 9699: 0x000064C7, - 9700: 0x000064C2, - 9701: 0x000064CD, - 9702: 0x000064BF, - 9703: 0x000064D2, - 9704: 0x000064D4, - 9705: 0x000064BE, - 9706: 0x00006574, - 9707: 0x000066C6, - 9708: 0x000066C9, - 9709: 0x000066B9, - 9710: 0x000066C4, - 9711: 0x000066C7, - 9712: 0x000066B8, - 9713: 0x00006A3D, - 9714: 0x00006A38, - 9715: 0x00006A3A, - 9716: 0x00006A59, - 9717: 0x00006A6B, - 9718: 0x00006A58, - 9719: 0x00006A39, - 9720: 0x00006A44, - 9721: 0x00006A62, - 9722: 0x00006A61, - 9723: 0x00006A4B, - 9724: 0x00006A47, - 9725: 0x00006A35, - 9726: 0x00006A5F, - 9727: 0x00006A48, - 9728: 0x00006B59, - 9729: 0x00006B77, - 9730: 0x00006C05, - 9731: 0x00006FC2, - 9732: 0x00006FB1, - 9733: 0x00006FA1, - 9734: 0x00006FC3, - 9735: 0x00006FA4, - 9736: 0x00006FC1, - 9737: 0x00006FA7, - 9738: 0x00006FB3, - 9739: 0x00006FC0, - 9740: 0x00006FB9, - 9741: 0x00006FB6, - 9742: 0x00006FA6, - 9743: 0x00006FA0, - 9744: 0x00006FB4, - 9745: 0x000071BE, - 9746: 0x000071C9, - 9747: 0x000071D0, - 9748: 0x000071D2, - 9749: 0x000071C8, - 9750: 0x000071D5, - 9751: 0x000071B9, - 9752: 0x000071CE, - 9753: 0x000071D9, - 9754: 0x000071DC, - 9755: 0x000071C3, - 9756: 0x000071C4, - 9757: 0x00007368, - 9758: 0x0000749C, - 9759: 0x000074A3, - 9760: 0x00007498, - 9761: 0x0000749F, - 9762: 0x0000749E, - 9763: 0x000074E2, - 9764: 0x0000750C, - 9765: 0x0000750D, - 9766: 0x00007634, - 9767: 0x00007638, - 9768: 0x0000763A, - 9769: 0x000076E7, - 9770: 0x000076E5, - 9771: 0x000077A0, - 9772: 0x0000779E, - 9773: 0x0000779F, - 9774: 0x000077A5, - 9775: 0x000078E8, - 9776: 0x000078DA, - 9777: 0x000078EC, - 9778: 0x000078E7, - 9779: 0x000079A6, - 9780: 0x00007A4D, - 9781: 0x00007A4E, - 9782: 0x00007A46, - 9783: 0x00007A4C, - 9784: 0x00007A4B, - 9785: 0x00007ABA, - 9786: 0x00007BD9, - 9787: 0x00007C11, - 9788: 0x00007BC9, - 9789: 0x00007BE4, - 9790: 0x00007BDB, - 9791: 0x00007BE1, - 9792: 0x00007BE9, - 9793: 0x00007BE6, - 9794: 0x00007CD5, - 9795: 0x00007CD6, - 9796: 0x00007E0A, - 9797: 0x00007E11, - 9798: 0x00007E08, - 9799: 0x00007E1B, - 9800: 0x00007E23, - 9801: 0x00007E1E, - 9802: 0x00007E1D, - 9803: 0x00007E09, - 9804: 0x00007E10, - 9805: 0x00007F79, - 9806: 0x00007FB2, - 9807: 0x00007FF0, - 9808: 0x00007FF1, - 9809: 0x00007FEE, - 9810: 0x00008028, - 9811: 0x000081B3, - 9812: 0x000081A9, - 9813: 0x000081A8, - 9814: 0x000081FB, - 9815: 0x00008208, - 9816: 0x00008258, - 9817: 0x00008259, - 9818: 0x0000854A, - 9819: 0x00008559, - 9820: 0x00008548, - 9821: 0x00008568, - 9822: 0x00008569, - 9823: 0x00008543, - 9824: 0x00008549, - 9825: 0x0000856D, - 9826: 0x0000856A, - 9827: 0x0000855E, - 9828: 0x00008783, - 9829: 0x0000879F, - 9830: 0x0000879E, - 9831: 0x000087A2, - 9832: 0x0000878D, - 9833: 0x00008861, - 9834: 0x0000892A, - 9835: 0x00008932, - 9836: 0x00008925, - 9837: 0x0000892B, - 9838: 0x00008921, - 9839: 0x000089AA, - 9840: 0x000089A6, - 9841: 0x00008AE6, - 9842: 0x00008AFA, - 9843: 0x00008AEB, - 9844: 0x00008AF1, - 9845: 0x00008B00, - 9846: 0x00008ADC, - 9847: 0x00008AE7, - 9848: 0x00008AEE, - 9849: 0x00008AFE, - 9850: 0x00008B01, - 9851: 0x00008B02, - 9852: 0x00008AF7, - 9853: 0x00008AED, - 9854: 0x00008AF3, - 9855: 0x00008AF6, - 9856: 0x00008AFC, - 9857: 0x00008C6B, - 9858: 0x00008C6D, - 9859: 0x00008C93, - 9860: 0x00008CF4, - 9861: 0x00008E44, - 9862: 0x00008E31, - 9863: 0x00008E34, - 9864: 0x00008E42, - 9865: 0x00008E39, - 9866: 0x00008E35, - 9867: 0x00008F3B, - 9868: 0x00008F2F, - 9869: 0x00008F38, - 9870: 0x00008F33, - 9871: 0x00008FA8, - 9872: 0x00008FA6, - 9873: 0x00009075, - 9874: 0x00009074, - 9875: 0x00009078, - 9876: 0x00009072, - 9877: 0x0000907C, - 9878: 0x0000907A, - 9879: 0x00009134, - 9880: 0x00009192, - 9881: 0x00009320, - 9882: 0x00009336, - 9883: 0x000092F8, - 9884: 0x00009333, - 9885: 0x0000932F, - 9886: 0x00009322, - 9887: 0x000092FC, - 9888: 0x0000932B, - 9889: 0x00009304, - 9890: 0x0000931A, - 9891: 0x00009310, - 9892: 0x00009326, - 9893: 0x00009321, - 9894: 0x00009315, - 9895: 0x0000932E, - 9896: 0x00009319, - 9897: 0x000095BB, - 9898: 0x000096A7, - 9899: 0x000096A8, - 9900: 0x000096AA, - 9901: 0x000096D5, - 9902: 0x0000970E, - 9903: 0x00009711, - 9904: 0x00009716, - 9905: 0x0000970D, - 9906: 0x00009713, - 9907: 0x0000970F, - 9908: 0x0000975B, - 9909: 0x0000975C, - 9910: 0x00009766, - 9911: 0x00009798, - 9912: 0x00009830, - 9913: 0x00009838, - 9914: 0x0000983B, - 9915: 0x00009837, - 9916: 0x0000982D, - 9917: 0x00009839, - 9918: 0x00009824, - 9919: 0x00009910, - 9920: 0x00009928, - 9921: 0x0000991E, - 9922: 0x0000991B, - 9923: 0x00009921, - 9924: 0x0000991A, - 9925: 0x000099ED, - 9926: 0x000099E2, - 9927: 0x000099F1, - 9928: 0x00009AB8, - 9929: 0x00009ABC, - 9930: 0x00009AFB, - 9931: 0x00009AED, - 9932: 0x00009B28, - 9933: 0x00009B91, - 9934: 0x00009D15, - 9935: 0x00009D23, - 9936: 0x00009D26, - 9937: 0x00009D28, - 9938: 0x00009D12, - 9939: 0x00009D1B, - 9940: 0x00009ED8, - 9941: 0x00009ED4, - 9942: 0x00009F8D, - 9943: 0x00009F9C, - 9944: 0x0000512A, - 9945: 0x0000511F, - 9946: 0x00005121, - 9947: 0x00005132, - 9948: 0x000052F5, - 9949: 0x0000568E, - 9950: 0x00005680, - 9951: 0x00005690, - 9952: 0x00005685, - 9953: 0x00005687, - 9954: 0x0000568F, - 9955: 0x000058D5, - 9956: 0x000058D3, - 9957: 0x000058D1, - 9958: 0x000058CE, - 9959: 0x00005B30, - 9960: 0x00005B2A, - 9961: 0x00005B24, - 9962: 0x00005B7A, - 9963: 0x00005C37, - 9964: 0x00005C68, - 9965: 0x00005DBC, - 9966: 0x00005DBA, - 9967: 0x00005DBD, - 9968: 0x00005DB8, - 9969: 0x00005E6B, - 9970: 0x00005F4C, - 9971: 0x00005FBD, - 9972: 0x000061C9, - 9973: 0x000061C2, - 9974: 0x000061C7, - 9975: 0x000061E6, - 9976: 0x000061CB, - 9977: 0x00006232, - 9978: 0x00006234, - 9979: 0x000064CE, - 9980: 0x000064CA, - 9981: 0x000064D8, - 9982: 0x000064E0, - 9983: 0x000064F0, - 9984: 0x000064E6, - 9985: 0x000064EC, - 9986: 0x000064F1, - 9987: 0x000064E2, - 9988: 0x000064ED, - 9989: 0x00006582, - 9990: 0x00006583, - 9991: 0x000066D9, - 9992: 0x000066D6, - 9993: 0x00006A80, - 9994: 0x00006A94, - 9995: 0x00006A84, - 9996: 0x00006AA2, - 9997: 0x00006A9C, - 9998: 0x00006ADB, - 9999: 0x00006AA3, - 10000: 0x00006A7E, - 10001: 0x00006A97, - 10002: 0x00006A90, - 10003: 0x00006AA0, - 10004: 0x00006B5C, - 10005: 0x00006BAE, - 10006: 0x00006BDA, - 10007: 0x00006C08, - 10008: 0x00006FD8, - 10009: 0x00006FF1, - 10010: 0x00006FDF, - 10011: 0x00006FE0, - 10012: 0x00006FDB, - 10013: 0x00006FE4, - 10014: 0x00006FEB, - 10015: 0x00006FEF, - 10016: 0x00006F80, - 10017: 0x00006FEC, - 10018: 0x00006FE1, - 10019: 0x00006FE9, - 10020: 0x00006FD5, - 10021: 0x00006FEE, - 10022: 0x00006FF0, - 10023: 0x000071E7, - 10024: 0x000071DF, - 10025: 0x000071EE, - 10026: 0x000071E6, - 10027: 0x000071E5, - 10028: 0x000071ED, - 10029: 0x000071EC, - 10030: 0x000071F4, - 10031: 0x000071E0, - 10032: 0x00007235, - 10033: 0x00007246, - 10034: 0x00007370, - 10035: 0x00007372, - 10036: 0x000074A9, - 10037: 0x000074B0, - 10038: 0x000074A6, - 10039: 0x000074A8, - 10040: 0x00007646, - 10041: 0x00007642, - 10042: 0x0000764C, - 10043: 0x000076EA, - 10044: 0x000077B3, - 10045: 0x000077AA, - 10046: 0x000077B0, - 10047: 0x000077AC, - 10048: 0x000077A7, - 10049: 0x000077AD, - 10050: 0x000077EF, - 10051: 0x000078F7, - 10052: 0x000078FA, - 10053: 0x000078F4, - 10054: 0x000078EF, - 10055: 0x00007901, - 10056: 0x000079A7, - 10057: 0x000079AA, - 10058: 0x00007A57, - 10059: 0x00007ABF, - 10060: 0x00007C07, - 10061: 0x00007C0D, - 10062: 0x00007BFE, - 10063: 0x00007BF7, - 10064: 0x00007C0C, - 10065: 0x00007BE0, - 10066: 0x00007CE0, - 10067: 0x00007CDC, - 10068: 0x00007CDE, - 10069: 0x00007CE2, - 10070: 0x00007CDF, - 10071: 0x00007CD9, - 10072: 0x00007CDD, - 10073: 0x00007E2E, - 10074: 0x00007E3E, - 10075: 0x00007E46, - 10076: 0x00007E37, - 10077: 0x00007E32, - 10078: 0x00007E43, - 10079: 0x00007E2B, - 10080: 0x00007E3D, - 10081: 0x00007E31, - 10082: 0x00007E45, - 10083: 0x00007E41, - 10084: 0x00007E34, - 10085: 0x00007E39, - 10086: 0x00007E48, - 10087: 0x00007E35, - 10088: 0x00007E3F, - 10089: 0x00007E2F, - 10090: 0x00007F44, - 10091: 0x00007FF3, - 10092: 0x00007FFC, - 10093: 0x00008071, - 10094: 0x00008072, - 10095: 0x00008070, - 10096: 0x0000806F, - 10097: 0x00008073, - 10098: 0x000081C6, - 10099: 0x000081C3, - 10100: 0x000081BA, - 10101: 0x000081C2, - 10102: 0x000081C0, - 10103: 0x000081BF, - 10104: 0x000081BD, - 10105: 0x000081C9, - 10106: 0x000081BE, - 10107: 0x000081E8, - 10108: 0x00008209, - 10109: 0x00008271, - 10110: 0x000085AA, - 10111: 0x00008584, - 10112: 0x0000857E, - 10113: 0x0000859C, - 10114: 0x00008591, - 10115: 0x00008594, - 10116: 0x000085AF, - 10117: 0x0000859B, - 10118: 0x00008587, - 10119: 0x000085A8, - 10120: 0x0000858A, - 10121: 0x00008667, - 10122: 0x000087C0, - 10123: 0x000087D1, - 10124: 0x000087B3, - 10125: 0x000087D2, - 10126: 0x000087C6, - 10127: 0x000087AB, - 10128: 0x000087BB, - 10129: 0x000087BA, - 10130: 0x000087C8, - 10131: 0x000087CB, - 10132: 0x0000893B, - 10133: 0x00008936, - 10134: 0x00008944, - 10135: 0x00008938, - 10136: 0x0000893D, - 10137: 0x000089AC, - 10138: 0x00008B0E, - 10139: 0x00008B17, - 10140: 0x00008B19, - 10141: 0x00008B1B, - 10142: 0x00008B0A, - 10143: 0x00008B20, - 10144: 0x00008B1D, - 10145: 0x00008B04, - 10146: 0x00008B10, - 10147: 0x00008C41, - 10148: 0x00008C3F, - 10149: 0x00008C73, - 10150: 0x00008CFA, - 10151: 0x00008CFD, - 10152: 0x00008CFC, - 10153: 0x00008CF8, - 10154: 0x00008CFB, - 10155: 0x00008DA8, - 10156: 0x00008E49, - 10157: 0x00008E4B, - 10158: 0x00008E48, - 10159: 0x00008E4A, - 10160: 0x00008F44, - 10161: 0x00008F3E, - 10162: 0x00008F42, - 10163: 0x00008F45, - 10164: 0x00008F3F, - 10165: 0x0000907F, - 10166: 0x0000907D, - 10167: 0x00009084, - 10168: 0x00009081, - 10169: 0x00009082, - 10170: 0x00009080, - 10171: 0x00009139, - 10172: 0x000091A3, - 10173: 0x0000919E, - 10174: 0x0000919C, - 10175: 0x0000934D, - 10176: 0x00009382, - 10177: 0x00009328, - 10178: 0x00009375, - 10179: 0x0000934A, - 10180: 0x00009365, - 10181: 0x0000934B, - 10182: 0x00009318, - 10183: 0x0000937E, - 10184: 0x0000936C, - 10185: 0x0000935B, - 10186: 0x00009370, - 10187: 0x0000935A, - 10188: 0x00009354, - 10189: 0x000095CA, - 10190: 0x000095CB, - 10191: 0x000095CC, - 10192: 0x000095C8, - 10193: 0x000095C6, - 10194: 0x000096B1, - 10195: 0x000096B8, - 10196: 0x000096D6, - 10197: 0x0000971C, - 10198: 0x0000971E, - 10199: 0x000097A0, - 10200: 0x000097D3, - 10201: 0x00009846, - 10202: 0x000098B6, - 10203: 0x00009935, - 10204: 0x00009A01, - 10205: 0x000099FF, - 10206: 0x00009BAE, - 10207: 0x00009BAB, - 10208: 0x00009BAA, - 10209: 0x00009BAD, - 10210: 0x00009D3B, - 10211: 0x00009D3F, - 10212: 0x00009E8B, - 10213: 0x00009ECF, - 10214: 0x00009EDE, - 10215: 0x00009EDC, - 10216: 0x00009EDD, - 10217: 0x00009EDB, - 10218: 0x00009F3E, - 10219: 0x00009F4B, - 10220: 0x000053E2, - 10221: 0x00005695, - 10222: 0x000056AE, - 10223: 0x000058D9, - 10224: 0x000058D8, - 10225: 0x00005B38, - 10226: 0x00005F5D, - 10227: 0x000061E3, - 10228: 0x00006233, - 10229: 0x000064F4, - 10230: 0x000064F2, - 10231: 0x000064FE, - 10232: 0x00006506, - 10233: 0x000064FA, - 10234: 0x000064FB, - 10235: 0x000064F7, - 10236: 0x000065B7, - 10237: 0x000066DC, - 10238: 0x00006726, - 10239: 0x00006AB3, - 10240: 0x00006AAC, - 10241: 0x00006AC3, - 10242: 0x00006ABB, - 10243: 0x00006AB8, - 10244: 0x00006AC2, - 10245: 0x00006AAE, - 10246: 0x00006AAF, - 10247: 0x00006B5F, - 10248: 0x00006B78, - 10249: 0x00006BAF, - 10250: 0x00007009, - 10251: 0x0000700B, - 10252: 0x00006FFE, - 10253: 0x00007006, - 10254: 0x00006FFA, - 10255: 0x00007011, - 10256: 0x0000700F, - 10257: 0x000071FB, - 10258: 0x000071FC, - 10259: 0x000071FE, - 10260: 0x000071F8, - 10261: 0x00007377, - 10262: 0x00007375, - 10263: 0x000074A7, - 10264: 0x000074BF, - 10265: 0x00007515, - 10266: 0x00007656, - 10267: 0x00007658, - 10268: 0x00007652, - 10269: 0x000077BD, - 10270: 0x000077BF, - 10271: 0x000077BB, - 10272: 0x000077BC, - 10273: 0x0000790E, - 10274: 0x000079AE, - 10275: 0x00007A61, - 10276: 0x00007A62, - 10277: 0x00007A60, - 10278: 0x00007AC4, - 10279: 0x00007AC5, - 10280: 0x00007C2B, - 10281: 0x00007C27, - 10282: 0x00007C2A, - 10283: 0x00007C1E, - 10284: 0x00007C23, - 10285: 0x00007C21, - 10286: 0x00007CE7, - 10287: 0x00007E54, - 10288: 0x00007E55, - 10289: 0x00007E5E, - 10290: 0x00007E5A, - 10291: 0x00007E61, - 10292: 0x00007E52, - 10293: 0x00007E59, - 10294: 0x00007F48, - 10295: 0x00007FF9, - 10296: 0x00007FFB, - 10297: 0x00008077, - 10298: 0x00008076, - 10299: 0x000081CD, - 10300: 0x000081CF, - 10301: 0x0000820A, - 10302: 0x000085CF, - 10303: 0x000085A9, - 10304: 0x000085CD, - 10305: 0x000085D0, - 10306: 0x000085C9, - 10307: 0x000085B0, - 10308: 0x000085BA, - 10309: 0x000085B9, - 10310: 0x000085A6, - 10311: 0x000087EF, - 10312: 0x000087EC, - 10313: 0x000087F2, - 10314: 0x000087E0, - 10315: 0x00008986, - 10316: 0x000089B2, - 10317: 0x000089F4, - 10318: 0x00008B28, - 10319: 0x00008B39, - 10320: 0x00008B2C, - 10321: 0x00008B2B, - 10322: 0x00008C50, - 10323: 0x00008D05, - 10324: 0x00008E59, - 10325: 0x00008E63, - 10326: 0x00008E66, - 10327: 0x00008E64, - 10328: 0x00008E5F, - 10329: 0x00008E55, - 10330: 0x00008EC0, - 10331: 0x00008F49, - 10332: 0x00008F4D, - 10333: 0x00009087, - 10334: 0x00009083, - 10335: 0x00009088, - 10336: 0x000091AB, - 10337: 0x000091AC, - 10338: 0x000091D0, - 10339: 0x00009394, - 10340: 0x0000938A, - 10341: 0x00009396, - 10342: 0x000093A2, - 10343: 0x000093B3, - 10344: 0x000093AE, - 10345: 0x000093AC, - 10346: 0x000093B0, - 10347: 0x00009398, - 10348: 0x0000939A, - 10349: 0x00009397, - 10350: 0x000095D4, - 10351: 0x000095D6, - 10352: 0x000095D0, - 10353: 0x000095D5, - 10354: 0x000096E2, - 10355: 0x000096DC, - 10356: 0x000096D9, - 10357: 0x000096DB, - 10358: 0x000096DE, - 10359: 0x00009724, - 10360: 0x000097A3, - 10361: 0x000097A6, - 10362: 0x000097AD, - 10363: 0x000097F9, - 10364: 0x0000984D, - 10365: 0x0000984F, - 10366: 0x0000984C, - 10367: 0x0000984E, - 10368: 0x00009853, - 10369: 0x000098BA, - 10370: 0x0000993E, - 10371: 0x0000993F, - 10372: 0x0000993D, - 10373: 0x0000992E, - 10374: 0x000099A5, - 10375: 0x00009A0E, - 10376: 0x00009AC1, - 10377: 0x00009B03, - 10378: 0x00009B06, - 10379: 0x00009B4F, - 10380: 0x00009B4E, - 10381: 0x00009B4D, - 10382: 0x00009BCA, - 10383: 0x00009BC9, - 10384: 0x00009BFD, - 10385: 0x00009BC8, - 10386: 0x00009BC0, - 10387: 0x00009D51, - 10388: 0x00009D5D, - 10389: 0x00009D60, - 10390: 0x00009EE0, - 10391: 0x00009F15, - 10392: 0x00009F2C, - 10393: 0x00005133, - 10394: 0x000056A5, - 10395: 0x000058DE, - 10396: 0x000058DF, - 10397: 0x000058E2, - 10398: 0x00005BF5, - 10399: 0x00009F90, - 10400: 0x00005EEC, - 10401: 0x000061F2, - 10402: 0x000061F7, - 10403: 0x000061F6, - 10404: 0x000061F5, - 10405: 0x00006500, - 10406: 0x0000650F, - 10407: 0x000066E0, - 10408: 0x000066DD, - 10409: 0x00006AE5, - 10410: 0x00006ADD, - 10411: 0x00006ADA, - 10412: 0x00006AD3, - 10413: 0x0000701B, - 10414: 0x0000701F, - 10415: 0x00007028, - 10416: 0x0000701A, - 10417: 0x0000701D, - 10418: 0x00007015, - 10419: 0x00007018, - 10420: 0x00007206, - 10421: 0x0000720D, - 10422: 0x00007258, - 10423: 0x000072A2, - 10424: 0x00007378, - 10425: 0x0000737A, - 10426: 0x000074BD, - 10427: 0x000074CA, - 10428: 0x000074E3, - 10429: 0x00007587, - 10430: 0x00007586, - 10431: 0x0000765F, - 10432: 0x00007661, - 10433: 0x000077C7, - 10434: 0x00007919, - 10435: 0x000079B1, - 10436: 0x00007A6B, - 10437: 0x00007A69, - 10438: 0x00007C3E, - 10439: 0x00007C3F, - 10440: 0x00007C38, - 10441: 0x00007C3D, - 10442: 0x00007C37, - 10443: 0x00007C40, - 10444: 0x00007E6B, - 10445: 0x00007E6D, - 10446: 0x00007E79, - 10447: 0x00007E69, - 10448: 0x00007E6A, - 10449: 0x00007F85, - 10450: 0x00007E73, - 10451: 0x00007FB6, - 10452: 0x00007FB9, - 10453: 0x00007FB8, - 10454: 0x000081D8, - 10455: 0x000085E9, - 10456: 0x000085DD, - 10457: 0x000085EA, - 10458: 0x000085D5, - 10459: 0x000085E4, - 10460: 0x000085E5, - 10461: 0x000085F7, - 10462: 0x000087FB, - 10463: 0x00008805, - 10464: 0x0000880D, - 10465: 0x000087F9, - 10466: 0x000087FE, - 10467: 0x00008960, - 10468: 0x0000895F, - 10469: 0x00008956, - 10470: 0x0000895E, - 10471: 0x00008B41, - 10472: 0x00008B5C, - 10473: 0x00008B58, - 10474: 0x00008B49, - 10475: 0x00008B5A, - 10476: 0x00008B4E, - 10477: 0x00008B4F, - 10478: 0x00008B46, - 10479: 0x00008B59, - 10480: 0x00008D08, - 10481: 0x00008D0A, - 10482: 0x00008E7C, - 10483: 0x00008E72, - 10484: 0x00008E87, - 10485: 0x00008E76, - 10486: 0x00008E6C, - 10487: 0x00008E7A, - 10488: 0x00008E74, - 10489: 0x00008F54, - 10490: 0x00008F4E, - 10491: 0x00008FAD, - 10492: 0x0000908A, - 10493: 0x0000908B, - 10494: 0x000091B1, - 10495: 0x000091AE, - 10496: 0x000093E1, - 10497: 0x000093D1, - 10498: 0x000093DF, - 10499: 0x000093C3, - 10500: 0x000093C8, - 10501: 0x000093DC, - 10502: 0x000093DD, - 10503: 0x000093D6, - 10504: 0x000093E2, - 10505: 0x000093CD, - 10506: 0x000093D8, - 10507: 0x000093E4, - 10508: 0x000093D7, - 10509: 0x000093E8, - 10510: 0x000095DC, - 10511: 0x000096B4, - 10512: 0x000096E3, - 10513: 0x0000972A, - 10514: 0x00009727, - 10515: 0x00009761, - 10516: 0x000097DC, - 10517: 0x000097FB, - 10518: 0x0000985E, - 10519: 0x00009858, - 10520: 0x0000985B, - 10521: 0x000098BC, - 10522: 0x00009945, - 10523: 0x00009949, - 10524: 0x00009A16, - 10525: 0x00009A19, - 10526: 0x00009B0D, - 10527: 0x00009BE8, - 10528: 0x00009BE7, - 10529: 0x00009BD6, - 10530: 0x00009BDB, - 10531: 0x00009D89, - 10532: 0x00009D61, - 10533: 0x00009D72, - 10534: 0x00009D6A, - 10535: 0x00009D6C, - 10536: 0x00009E92, - 10537: 0x00009E97, - 10538: 0x00009E93, - 10539: 0x00009EB4, - 10540: 0x000052F8, - 10541: 0x000056A8, - 10542: 0x000056B7, - 10543: 0x000056B6, - 10544: 0x000056B4, - 10545: 0x000056BC, - 10546: 0x000058E4, - 10547: 0x00005B40, - 10548: 0x00005B43, - 10549: 0x00005B7D, - 10550: 0x00005BF6, - 10551: 0x00005DC9, - 10552: 0x000061F8, - 10553: 0x000061FA, - 10554: 0x00006518, - 10555: 0x00006514, - 10556: 0x00006519, - 10557: 0x000066E6, - 10558: 0x00006727, - 10559: 0x00006AEC, - 10560: 0x0000703E, - 10561: 0x00007030, - 10562: 0x00007032, - 10563: 0x00007210, - 10564: 0x0000737B, - 10565: 0x000074CF, - 10566: 0x00007662, - 10567: 0x00007665, - 10568: 0x00007926, - 10569: 0x0000792A, - 10570: 0x0000792C, - 10571: 0x0000792B, - 10572: 0x00007AC7, - 10573: 0x00007AF6, - 10574: 0x00007C4C, - 10575: 0x00007C43, - 10576: 0x00007C4D, - 10577: 0x00007CEF, - 10578: 0x00007CF0, - 10579: 0x00008FAE, - 10580: 0x00007E7D, - 10581: 0x00007E7C, - 10582: 0x00007E82, - 10583: 0x00007F4C, - 10584: 0x00008000, - 10585: 0x000081DA, - 10586: 0x00008266, - 10587: 0x000085FB, - 10588: 0x000085F9, - 10589: 0x00008611, - 10590: 0x000085FA, - 10591: 0x00008606, - 10592: 0x0000860B, - 10593: 0x00008607, - 10594: 0x0000860A, - 10595: 0x00008814, - 10596: 0x00008815, - 10597: 0x00008964, - 10598: 0x000089BA, - 10599: 0x000089F8, - 10600: 0x00008B70, - 10601: 0x00008B6C, - 10602: 0x00008B66, - 10603: 0x00008B6F, - 10604: 0x00008B5F, - 10605: 0x00008B6B, - 10606: 0x00008D0F, - 10607: 0x00008D0D, - 10608: 0x00008E89, - 10609: 0x00008E81, - 10610: 0x00008E85, - 10611: 0x00008E82, - 10612: 0x000091B4, - 10613: 0x000091CB, - 10614: 0x00009418, - 10615: 0x00009403, - 10616: 0x000093FD, - 10617: 0x000095E1, - 10618: 0x00009730, - 10619: 0x000098C4, - 10620: 0x00009952, - 10621: 0x00009951, - 10622: 0x000099A8, - 10623: 0x00009A2B, - 10624: 0x00009A30, - 10625: 0x00009A37, - 10626: 0x00009A35, - 10627: 0x00009C13, - 10628: 0x00009C0D, - 10629: 0x00009E79, - 10630: 0x00009EB5, - 10631: 0x00009EE8, - 10632: 0x00009F2F, - 10633: 0x00009F5F, - 10634: 0x00009F63, - 10635: 0x00009F61, - 10636: 0x00005137, - 10637: 0x00005138, - 10638: 0x000056C1, - 10639: 0x000056C0, - 10640: 0x000056C2, - 10641: 0x00005914, - 10642: 0x00005C6C, - 10643: 0x00005DCD, - 10644: 0x000061FC, - 10645: 0x000061FE, - 10646: 0x0000651D, - 10647: 0x0000651C, - 10648: 0x00006595, - 10649: 0x000066E9, - 10650: 0x00006AFB, - 10651: 0x00006B04, - 10652: 0x00006AFA, - 10653: 0x00006BB2, - 10654: 0x0000704C, - 10655: 0x0000721B, - 10656: 0x000072A7, - 10657: 0x000074D6, - 10658: 0x000074D4, - 10659: 0x00007669, - 10660: 0x000077D3, - 10661: 0x00007C50, - 10662: 0x00007E8F, - 10663: 0x00007E8C, - 10664: 0x00007FBC, - 10665: 0x00008617, - 10666: 0x0000862D, - 10667: 0x0000861A, - 10668: 0x00008823, - 10669: 0x00008822, - 10670: 0x00008821, - 10671: 0x0000881F, - 10672: 0x0000896A, - 10673: 0x0000896C, - 10674: 0x000089BD, - 10675: 0x00008B74, - 10676: 0x00008B77, - 10677: 0x00008B7D, - 10678: 0x00008D13, - 10679: 0x00008E8A, - 10680: 0x00008E8D, - 10681: 0x00008E8B, - 10682: 0x00008F5F, - 10683: 0x00008FAF, - 10684: 0x000091BA, - 10685: 0x0000942E, - 10686: 0x00009433, - 10687: 0x00009435, - 10688: 0x0000943A, - 10689: 0x00009438, - 10690: 0x00009432, - 10691: 0x0000942B, - 10692: 0x000095E2, - 10693: 0x00009738, - 10694: 0x00009739, - 10695: 0x00009732, - 10696: 0x000097FF, - 10697: 0x00009867, - 10698: 0x00009865, - 10699: 0x00009957, - 10700: 0x00009A45, - 10701: 0x00009A43, - 10702: 0x00009A40, - 10703: 0x00009A3E, - 10704: 0x00009ACF, - 10705: 0x00009B54, - 10706: 0x00009B51, - 10707: 0x00009C2D, - 10708: 0x00009C25, - 10709: 0x00009DAF, - 10710: 0x00009DB4, - 10711: 0x00009DC2, - 10712: 0x00009DB8, - 10713: 0x00009E9D, - 10714: 0x00009EEF, - 10715: 0x00009F19, - 10716: 0x00009F5C, - 10717: 0x00009F66, - 10718: 0x00009F67, - 10719: 0x0000513C, - 10720: 0x0000513B, - 10721: 0x000056C8, - 10722: 0x000056CA, - 10723: 0x000056C9, - 10724: 0x00005B7F, - 10725: 0x00005DD4, - 10726: 0x00005DD2, - 10727: 0x00005F4E, - 10728: 0x000061FF, - 10729: 0x00006524, - 10730: 0x00006B0A, - 10731: 0x00006B61, - 10732: 0x00007051, - 10733: 0x00007058, - 10734: 0x00007380, - 10735: 0x000074E4, - 10736: 0x0000758A, - 10737: 0x0000766E, - 10738: 0x0000766C, - 10739: 0x000079B3, - 10740: 0x00007C60, - 10741: 0x00007C5F, - 10742: 0x0000807E, - 10743: 0x0000807D, - 10744: 0x000081DF, - 10745: 0x00008972, - 10746: 0x0000896F, - 10747: 0x000089FC, - 10748: 0x00008B80, - 10749: 0x00008D16, - 10750: 0x00008D17, - 10751: 0x00008E91, - 10752: 0x00008E93, - 10753: 0x00008F61, - 10754: 0x00009148, - 10755: 0x00009444, - 10756: 0x00009451, - 10757: 0x00009452, - 10758: 0x0000973D, - 10759: 0x0000973E, - 10760: 0x000097C3, - 10761: 0x000097C1, - 10762: 0x0000986B, - 10763: 0x00009955, - 10764: 0x00009A55, - 10765: 0x00009A4D, - 10766: 0x00009AD2, - 10767: 0x00009B1A, - 10768: 0x00009C49, - 10769: 0x00009C31, - 10770: 0x00009C3E, - 10771: 0x00009C3B, - 10772: 0x00009DD3, - 10773: 0x00009DD7, - 10774: 0x00009F34, - 10775: 0x00009F6C, - 10776: 0x00009F6A, - 10777: 0x00009F94, - 10778: 0x000056CC, - 10779: 0x00005DD6, - 10780: 0x00006200, - 10781: 0x00006523, - 10782: 0x0000652B, - 10783: 0x0000652A, - 10784: 0x000066EC, - 10785: 0x00006B10, - 10786: 0x000074DA, - 10787: 0x00007ACA, - 10788: 0x00007C64, - 10789: 0x00007C63, - 10790: 0x00007C65, - 10791: 0x00007E93, - 10792: 0x00007E96, - 10793: 0x00007E94, - 10794: 0x000081E2, - 10795: 0x00008638, - 10796: 0x0000863F, - 10797: 0x00008831, - 10798: 0x00008B8A, - 10799: 0x00009090, - 10800: 0x0000908F, - 10801: 0x00009463, - 10802: 0x00009460, - 10803: 0x00009464, - 10804: 0x00009768, - 10805: 0x0000986F, - 10806: 0x0000995C, - 10807: 0x00009A5A, - 10808: 0x00009A5B, - 10809: 0x00009A57, - 10810: 0x00009AD3, - 10811: 0x00009AD4, - 10812: 0x00009AD1, - 10813: 0x00009C54, - 10814: 0x00009C57, - 10815: 0x00009C56, - 10816: 0x00009DE5, - 10817: 0x00009E9F, - 10818: 0x00009EF4, - 10819: 0x000056D1, - 10820: 0x000058E9, - 10821: 0x0000652C, - 10822: 0x0000705E, - 10823: 0x00007671, - 10824: 0x00007672, - 10825: 0x000077D7, - 10826: 0x00007F50, - 10827: 0x00007F88, - 10828: 0x00008836, - 10829: 0x00008839, - 10830: 0x00008862, - 10831: 0x00008B93, - 10832: 0x00008B92, - 10833: 0x00008B96, - 10834: 0x00008277, - 10835: 0x00008D1B, - 10836: 0x000091C0, - 10837: 0x0000946A, - 10838: 0x00009742, - 10839: 0x00009748, - 10840: 0x00009744, - 10841: 0x000097C6, - 10842: 0x00009870, - 10843: 0x00009A5F, - 10844: 0x00009B22, - 10845: 0x00009B58, - 10846: 0x00009C5F, - 10847: 0x00009DF9, - 10848: 0x00009DFA, - 10849: 0x00009E7C, - 10850: 0x00009E7D, - 10851: 0x00009F07, - 10852: 0x00009F77, - 10853: 0x00009F72, - 10854: 0x00005EF3, - 10855: 0x00006B16, - 10856: 0x00007063, - 10857: 0x00007C6C, - 10858: 0x00007C6E, - 10859: 0x0000883B, - 10860: 0x000089C0, - 10861: 0x00008EA1, - 10862: 0x000091C1, - 10863: 0x00009472, - 10864: 0x00009470, - 10865: 0x00009871, - 10866: 0x0000995E, - 10867: 0x00009AD6, - 10868: 0x00009B23, - 10869: 0x00009ECC, - 10870: 0x00007064, - 10871: 0x000077DA, - 10872: 0x00008B9A, - 10873: 0x00009477, - 10874: 0x000097C9, - 10875: 0x00009A62, - 10876: 0x00009A65, - 10877: 0x00007E9C, - 10878: 0x00008B9C, - 10879: 0x00008EAA, - 10880: 0x000091C5, - 10881: 0x0000947D, - 10882: 0x0000947E, - 10883: 0x0000947C, - 10884: 0x00009C77, - 10885: 0x00009C78, - 10886: 0x00009EF7, - 10887: 0x00008C54, - 10888: 0x0000947F, - 10889: 0x00009E1A, - 10890: 0x00007228, - 10891: 0x00009A6A, - 10892: 0x00009B31, - 10893: 0x00009E1B, - 10894: 0x00009E1E, - 10895: 0x00007C72, - 10896: 0x00002460, - 10897: 0x00002461, - 10898: 0x00002462, - 10899: 0x00002463, - 10900: 0x00002464, - 10901: 0x00002465, - 10902: 0x00002466, - 10903: 0x00002467, - 10904: 0x00002468, - 10905: 0x00002469, - 10906: 0x00002474, - 10907: 0x00002475, - 10908: 0x00002476, - 10909: 0x00002477, - 10910: 0x00002478, - 10911: 0x00002479, - 10912: 0x0000247A, - 10913: 0x0000247B, - 10914: 0x0000247C, - 10915: 0x0000247D, - 10916: 0x00002170, - 10917: 0x00002171, - 10918: 0x00002172, - 10919: 0x00002173, - 10920: 0x00002174, - 10921: 0x00002175, - 10922: 0x00002176, - 10923: 0x00002177, - 10924: 0x00002178, - 10925: 0x00002179, - 10926: 0x00004E36, - 10927: 0x00004E3F, - 10928: 0x00004E85, - 10929: 0x00004EA0, - 10930: 0x00005182, - 10931: 0x00005196, - 10932: 0x000051AB, - 10933: 0x000052F9, - 10934: 0x00005338, - 10935: 0x00005369, - 10936: 0x000053B6, - 10937: 0x0000590A, - 10938: 0x00005B80, - 10939: 0x00005DDB, - 10940: 0x00002F33, - 10941: 0x00005E7F, - 10942: 0x00005EF4, - 10943: 0x00005F50, - 10944: 0x00005F61, - 10945: 0x00006534, - 10946: 0x000065E0, - 10947: 0x00007592, - 10948: 0x00007676, - 10949: 0x00008FB5, - 10950: 0x000096B6, - 10951: 0x000000A8, - 10952: 0x000002C6, - 10953: 0x000030FD, - 10954: 0x000030FE, - 10955: 0x0000309D, - 10956: 0x0000309E, - 10957: 0x00003003, - 10958: 0x00004EDD, - 10959: 0x00003005, - 10960: 0x00003006, - 10961: 0x00003007, - 10962: 0x000030FC, - 10963: 0x0000FF3B, - 10964: 0x0000FF3D, - 10965: 0x0000273D, - 10966: 0x00003041, - 10967: 0x00003042, - 10968: 0x00003043, - 10969: 0x00003044, - 10970: 0x00003045, - 10971: 0x00003046, - 10972: 0x00003047, - 10973: 0x00003048, - 10974: 0x00003049, - 10975: 0x0000304A, - 10976: 0x0000304B, - 10977: 0x0000304C, - 10978: 0x0000304D, - 10979: 0x0000304E, - 10980: 0x0000304F, - 10981: 0x00003050, - 10982: 0x00003051, - 10983: 0x00003052, - 10984: 0x00003053, - 10985: 0x00003054, - 10986: 0x00003055, - 10987: 0x00003056, - 10988: 0x00003057, - 10989: 0x00003058, - 10990: 0x00003059, - 10991: 0x0000305A, - 10992: 0x0000305B, - 10993: 0x0000305C, - 10994: 0x0000305D, - 10995: 0x0000305E, - 10996: 0x0000305F, - 10997: 0x00003060, - 10998: 0x00003061, - 10999: 0x00003062, - 11000: 0x00003063, - 11001: 0x00003064, - 11002: 0x00003065, - 11003: 0x00003066, - 11004: 0x00003067, - 11005: 0x00003068, - 11006: 0x00003069, - 11007: 0x0000306A, - 11008: 0x0000306B, - 11009: 0x0000306C, - 11010: 0x0000306D, - 11011: 0x0000306E, - 11012: 0x0000306F, - 11013: 0x00003070, - 11014: 0x00003071, - 11015: 0x00003072, - 11016: 0x00003073, - 11017: 0x00003074, - 11018: 0x00003075, - 11019: 0x00003076, - 11020: 0x00003077, - 11021: 0x00003078, - 11022: 0x00003079, - 11023: 0x0000307A, - 11024: 0x0000307B, - 11025: 0x0000307C, - 11026: 0x0000307D, - 11027: 0x0000307E, - 11028: 0x0000307F, - 11029: 0x00003080, - 11030: 0x00003081, - 11031: 0x00003082, - 11032: 0x00003083, - 11033: 0x00003084, - 11034: 0x00003085, - 11035: 0x00003086, - 11036: 0x00003087, - 11037: 0x00003088, - 11038: 0x00003089, - 11039: 0x0000308A, - 11040: 0x0000308B, - 11041: 0x0000308C, - 11042: 0x0000308D, - 11043: 0x0000308E, - 11044: 0x0000308F, - 11045: 0x00003090, - 11046: 0x00003091, - 11047: 0x00003092, - 11048: 0x00003093, - 11049: 0x000030A1, - 11050: 0x000030A2, - 11051: 0x000030A3, - 11052: 0x000030A4, - 11053: 0x000030A5, - 11054: 0x000030A6, - 11055: 0x000030A7, - 11056: 0x000030A8, - 11057: 0x000030A9, - 11058: 0x000030AA, - 11059: 0x000030AB, - 11060: 0x000030AC, - 11061: 0x000030AD, - 11062: 0x000030AE, - 11063: 0x000030AF, - 11064: 0x000030B0, - 11065: 0x000030B1, - 11066: 0x000030B2, - 11067: 0x000030B3, - 11068: 0x000030B4, - 11069: 0x000030B5, - 11070: 0x000030B6, - 11071: 0x000030B7, - 11072: 0x000030B8, - 11073: 0x000030B9, - 11074: 0x000030BA, - 11075: 0x000030BB, - 11076: 0x000030BC, - 11077: 0x000030BD, - 11078: 0x000030BE, - 11079: 0x000030BF, - 11080: 0x000030C0, - 11081: 0x000030C1, - 11082: 0x000030C2, - 11083: 0x000030C3, - 11084: 0x000030C4, - 11085: 0x000030C5, - 11086: 0x000030C6, - 11087: 0x000030C7, - 11088: 0x000030C8, - 11089: 0x000030C9, - 11090: 0x000030CA, - 11091: 0x000030CB, - 11092: 0x000030CC, - 11093: 0x000030CD, - 11094: 0x000030CE, - 11095: 0x000030CF, - 11096: 0x000030D0, - 11097: 0x000030D1, - 11098: 0x000030D2, - 11099: 0x000030D3, - 11100: 0x000030D4, - 11101: 0x000030D5, - 11102: 0x000030D6, - 11103: 0x000030D7, - 11104: 0x000030D8, - 11105: 0x000030D9, - 11106: 0x000030DA, - 11107: 0x000030DB, - 11108: 0x000030DC, - 11109: 0x000030DD, - 11110: 0x000030DE, - 11111: 0x000030DF, - 11112: 0x000030E0, - 11113: 0x000030E1, - 11114: 0x000030E2, - 11115: 0x000030E3, - 11116: 0x000030E4, - 11117: 0x000030E5, - 11118: 0x000030E6, - 11119: 0x000030E7, - 11120: 0x000030E8, - 11121: 0x000030E9, - 11122: 0x000030EA, - 11123: 0x000030EB, - 11124: 0x000030EC, - 11125: 0x000030ED, - 11126: 0x000030EE, - 11127: 0x000030EF, - 11128: 0x000030F0, - 11129: 0x000030F1, - 11130: 0x000030F2, - 11131: 0x000030F3, - 11132: 0x000030F4, - 11133: 0x000030F5, - 11134: 0x000030F6, - 11135: 0x00000410, - 11136: 0x00000411, - 11137: 0x00000412, - 11138: 0x00000413, - 11139: 0x00000414, - 11140: 0x00000415, - 11141: 0x00000401, - 11142: 0x00000416, - 11143: 0x00000417, - 11144: 0x00000418, - 11145: 0x00000419, - 11146: 0x0000041A, - 11147: 0x0000041B, - 11148: 0x0000041C, - 11149: 0x0000041D, - 11150: 0x0000041E, - 11151: 0x0000041F, - 11152: 0x00000420, - 11153: 0x00000421, - 11154: 0x00000422, - 11155: 0x00000423, - 11156: 0x00000424, - 11157: 0x00000425, - 11158: 0x00000426, - 11159: 0x00000427, - 11160: 0x00000428, - 11161: 0x00000429, - 11162: 0x0000042A, - 11163: 0x0000042B, - 11164: 0x0000042C, - 11165: 0x0000042D, - 11166: 0x0000042E, - 11167: 0x0000042F, - 11168: 0x00000430, - 11169: 0x00000431, - 11170: 0x00000432, - 11171: 0x00000433, - 11172: 0x00000434, - 11173: 0x00000435, - 11174: 0x00000451, - 11175: 0x00000436, - 11176: 0x00000437, - 11177: 0x00000438, - 11178: 0x00000439, - 11179: 0x0000043A, - 11180: 0x0000043B, - 11181: 0x0000043C, - 11182: 0x0000043D, - 11183: 0x0000043E, - 11184: 0x0000043F, - 11185: 0x00000440, - 11186: 0x00000441, - 11187: 0x00000442, - 11188: 0x00000443, - 11189: 0x00000444, - 11190: 0x00000445, - 11191: 0x00000446, - 11192: 0x00000447, - 11193: 0x00000448, - 11194: 0x00000449, - 11195: 0x0000044A, - 11196: 0x0000044B, - 11197: 0x0000044C, - 11198: 0x0000044D, - 11199: 0x0000044E, - 11200: 0x0000044F, - 11201: 0x000021E7, - 11202: 0x000021B8, - 11203: 0x000021B9, - 11204: 0x000031CF, - 11205: 0x000200CC, - 11206: 0x00004E5A, - 11207: 0x0002008A, - 11208: 0x00005202, - 11209: 0x00004491, - 11210: 0x00009FB0, - 11211: 0x00005188, - 11212: 0x00009FB1, - 11213: 0x00027607, - 11254: 0x0000FFE2, - 11255: 0x0000FFE4, - 11256: 0x0000FF07, - 11257: 0x0000FF02, - 11258: 0x00003231, - 11259: 0x00002116, - 11260: 0x00002121, - 11261: 0x0000309B, - 11262: 0x0000309C, - 11263: 0x00002E80, - 11264: 0x00002E84, - 11265: 0x00002E86, - 11266: 0x00002E87, - 11267: 0x00002E88, - 11268: 0x00002E8A, - 11269: 0x00002E8C, - 11270: 0x00002E8D, - 11271: 0x00002E95, - 11272: 0x00002E9C, - 11273: 0x00002E9D, - 11274: 0x00002EA5, - 11275: 0x00002EA7, - 11276: 0x00002EAA, - 11277: 0x00002EAC, - 11278: 0x00002EAE, - 11279: 0x00002EB6, - 11280: 0x00002EBC, - 11281: 0x00002EBE, - 11282: 0x00002EC6, - 11283: 0x00002ECA, - 11284: 0x00002ECC, - 11285: 0x00002ECD, - 11286: 0x00002ECF, - 11287: 0x00002ED6, - 11288: 0x00002ED7, - 11289: 0x00002EDE, - 11290: 0x00002EE3, - 11294: 0x00000283, - 11295: 0x00000250, - 11296: 0x0000025B, - 11297: 0x00000254, - 11298: 0x00000275, - 11299: 0x00000153, - 11300: 0x000000F8, - 11301: 0x0000014B, - 11302: 0x0000028A, - 11303: 0x0000026A, - 11304: 0x00004E42, - 11305: 0x00004E5C, - 11306: 0x000051F5, - 11307: 0x0000531A, - 11308: 0x00005382, - 11309: 0x00004E07, - 11310: 0x00004E0C, - 11311: 0x00004E47, - 11312: 0x00004E8D, - 11313: 0x000056D7, - 11314: 0x0000FA0C, - 11315: 0x00005C6E, - 11316: 0x00005F73, - 11317: 0x00004E0F, - 11318: 0x00005187, - 11319: 0x00004E0E, - 11320: 0x00004E2E, - 11321: 0x00004E93, - 11322: 0x00004EC2, - 11323: 0x00004EC9, - 11324: 0x00004EC8, - 11325: 0x00005198, - 11326: 0x000052FC, - 11327: 0x0000536C, - 11328: 0x000053B9, - 11329: 0x00005720, - 11330: 0x00005903, - 11331: 0x0000592C, - 11332: 0x00005C10, - 11333: 0x00005DFF, - 11334: 0x000065E1, - 11335: 0x00006BB3, - 11336: 0x00006BCC, - 11337: 0x00006C14, - 11338: 0x0000723F, - 11339: 0x00004E31, - 11340: 0x00004E3C, - 11341: 0x00004EE8, - 11342: 0x00004EDC, - 11343: 0x00004EE9, - 11344: 0x00004EE1, - 11345: 0x00004EDD, - 11346: 0x00004EDA, - 11347: 0x0000520C, - 11348: 0x0000531C, - 11349: 0x0000534C, - 11350: 0x00005722, - 11351: 0x00005723, - 11352: 0x00005917, - 11353: 0x0000592F, - 11354: 0x00005B81, - 11355: 0x00005B84, - 11356: 0x00005C12, - 11357: 0x00005C3B, - 11358: 0x00005C74, - 11359: 0x00005C73, - 11360: 0x00005E04, - 11361: 0x00005E80, - 11362: 0x00005E82, - 11363: 0x00005FC9, - 11364: 0x00006209, - 11365: 0x00006250, - 11366: 0x00006C15, - 11367: 0x00006C36, - 11368: 0x00006C43, - 11369: 0x00006C3F, - 11370: 0x00006C3B, - 11371: 0x000072AE, - 11372: 0x000072B0, - 11373: 0x0000738A, - 11374: 0x000079B8, - 11375: 0x0000808A, - 11376: 0x0000961E, - 11377: 0x00004F0E, - 11378: 0x00004F18, - 11379: 0x00004F2C, - 11380: 0x00004EF5, - 11381: 0x00004F14, - 11382: 0x00004EF1, - 11383: 0x00004F00, - 11384: 0x00004EF7, - 11385: 0x00004F08, - 11386: 0x00004F1D, - 11387: 0x00004F02, - 11388: 0x00004F05, - 11389: 0x00004F22, - 11390: 0x00004F13, - 11391: 0x00004F04, - 11392: 0x00004EF4, - 11393: 0x00004F12, - 11394: 0x000051B1, - 11395: 0x00005213, - 11396: 0x00005209, - 11397: 0x00005210, - 11398: 0x000052A6, - 11399: 0x00005322, - 11400: 0x0000531F, - 11401: 0x0000534D, - 11402: 0x0000538A, - 11403: 0x00005407, - 11404: 0x000056E1, - 11405: 0x000056DF, - 11406: 0x0000572E, - 11407: 0x0000572A, - 11408: 0x00005734, - 11409: 0x0000593C, - 11410: 0x00005980, - 11411: 0x0000597C, - 11412: 0x00005985, - 11413: 0x0000597B, - 11414: 0x0000597E, - 11415: 0x00005977, - 11416: 0x0000597F, - 11417: 0x00005B56, - 11418: 0x00005C15, - 11419: 0x00005C25, - 11420: 0x00005C7C, - 11421: 0x00005C7A, - 11422: 0x00005C7B, - 11423: 0x00005C7E, - 11424: 0x00005DDF, - 11425: 0x00005E75, - 11426: 0x00005E84, - 11427: 0x00005F02, - 11428: 0x00005F1A, - 11429: 0x00005F74, - 11430: 0x00005FD5, - 11431: 0x00005FD4, - 11432: 0x00005FCF, - 11433: 0x0000625C, - 11434: 0x0000625E, - 11435: 0x00006264, - 11436: 0x00006261, - 11437: 0x00006266, - 11438: 0x00006262, - 11439: 0x00006259, - 11440: 0x00006260, - 11441: 0x0000625A, - 11442: 0x00006265, - 11443: 0x000065EF, - 11444: 0x000065EE, - 11445: 0x0000673E, - 11446: 0x00006739, - 11447: 0x00006738, - 11448: 0x0000673B, - 11449: 0x0000673A, - 11450: 0x0000673F, - 11451: 0x0000673C, - 11452: 0x00006733, - 11453: 0x00006C18, - 11454: 0x00006C46, - 11455: 0x00006C52, - 11456: 0x00006C5C, - 11457: 0x00006C4F, - 11458: 0x00006C4A, - 11459: 0x00006C54, - 11460: 0x00006C4B, - 11461: 0x00006C4C, - 11462: 0x00007071, - 11463: 0x0000725E, - 11464: 0x000072B4, - 11465: 0x000072B5, - 11466: 0x0000738E, - 11467: 0x0000752A, - 11468: 0x0000767F, - 11469: 0x00007A75, - 11470: 0x00007F51, - 11471: 0x00008278, - 11472: 0x0000827C, - 11473: 0x00008280, - 11474: 0x0000827D, - 11475: 0x0000827F, - 11476: 0x0000864D, - 11477: 0x0000897E, - 11478: 0x00009099, - 11479: 0x00009097, - 11480: 0x00009098, - 11481: 0x0000909B, - 11482: 0x00009094, - 11483: 0x00009622, - 11484: 0x00009624, - 11485: 0x00009620, - 11486: 0x00009623, - 11487: 0x00004F56, - 11488: 0x00004F3B, - 11489: 0x00004F62, - 11490: 0x00004F49, - 11491: 0x00004F53, - 11492: 0x00004F64, - 11493: 0x00004F3E, - 11494: 0x00004F67, - 11495: 0x00004F52, - 11496: 0x00004F5F, - 11497: 0x00004F41, - 11498: 0x00004F58, - 11499: 0x00004F2D, - 11500: 0x00004F33, - 11501: 0x00004F3F, - 11502: 0x00004F61, - 11503: 0x0000518F, - 11504: 0x000051B9, - 11505: 0x0000521C, - 11506: 0x0000521E, - 11507: 0x00005221, - 11508: 0x000052AD, - 11509: 0x000052AE, - 11510: 0x00005309, - 11511: 0x00005363, - 11512: 0x00005372, - 11513: 0x0000538E, - 11514: 0x0000538F, - 11515: 0x00005430, - 11516: 0x00005437, - 11517: 0x0000542A, - 11518: 0x00005454, - 11519: 0x00005445, - 11520: 0x00005419, - 11521: 0x0000541C, - 11522: 0x00005425, - 11523: 0x00005418, - 11524: 0x0000543D, - 11525: 0x0000544F, - 11526: 0x00005441, - 11527: 0x00005428, - 11528: 0x00005424, - 11529: 0x00005447, - 11530: 0x000056EE, - 11531: 0x000056E7, - 11532: 0x000056E5, - 11533: 0x00005741, - 11534: 0x00005745, - 11535: 0x0000574C, - 11536: 0x00005749, - 11537: 0x0000574B, - 11538: 0x00005752, - 11539: 0x00005906, - 11540: 0x00005940, - 11541: 0x000059A6, - 11542: 0x00005998, - 11543: 0x000059A0, - 11544: 0x00005997, - 11545: 0x0000598E, - 11546: 0x000059A2, - 11547: 0x00005990, - 11548: 0x0000598F, - 11549: 0x000059A7, - 11550: 0x000059A1, - 11551: 0x00005B8E, - 11552: 0x00005B92, - 11553: 0x00005C28, - 11554: 0x00005C2A, - 11555: 0x00005C8D, - 11556: 0x00005C8F, - 11557: 0x00005C88, - 11558: 0x00005C8B, - 11559: 0x00005C89, - 11560: 0x00005C92, - 11561: 0x00005C8A, - 11562: 0x00005C86, - 11563: 0x00005C93, - 11564: 0x00005C95, - 11565: 0x00005DE0, - 11566: 0x00005E0A, - 11567: 0x00005E0E, - 11568: 0x00005E8B, - 11569: 0x00005E89, - 11570: 0x00005E8C, - 11571: 0x00005E88, - 11572: 0x00005E8D, - 11573: 0x00005F05, - 11574: 0x00005F1D, - 11575: 0x00005F78, - 11576: 0x00005F76, - 11577: 0x00005FD2, - 11578: 0x00005FD1, - 11579: 0x00005FD0, - 11580: 0x00005FED, - 11581: 0x00005FE8, - 11582: 0x00005FEE, - 11583: 0x00005FF3, - 11584: 0x00005FE1, - 11585: 0x00005FE4, - 11586: 0x00005FE3, - 11587: 0x00005FFA, - 11588: 0x00005FEF, - 11589: 0x00005FF7, - 11590: 0x00005FFB, - 11591: 0x00006000, - 11592: 0x00005FF4, - 11593: 0x0000623A, - 11594: 0x00006283, - 11595: 0x0000628C, - 11596: 0x0000628E, - 11597: 0x0000628F, - 11598: 0x00006294, - 11599: 0x00006287, - 11600: 0x00006271, - 11601: 0x0000627B, - 11602: 0x0000627A, - 11603: 0x00006270, - 11604: 0x00006281, - 11605: 0x00006288, - 11606: 0x00006277, - 11607: 0x0000627D, - 11608: 0x00006272, - 11609: 0x00006274, - 11610: 0x00006537, - 11611: 0x000065F0, - 11612: 0x000065F4, - 11613: 0x000065F3, - 11614: 0x000065F2, - 11615: 0x000065F5, - 11616: 0x00006745, - 11617: 0x00006747, - 11618: 0x00006759, - 11619: 0x00006755, - 11620: 0x0000674C, - 11621: 0x00006748, - 11622: 0x0000675D, - 11623: 0x0000674D, - 11624: 0x0000675A, - 11625: 0x0000674B, - 11626: 0x00006BD0, - 11627: 0x00006C19, - 11628: 0x00006C1A, - 11629: 0x00006C78, - 11630: 0x00006C67, - 11631: 0x00006C6B, - 11632: 0x00006C84, - 11633: 0x00006C8B, - 11634: 0x00006C8F, - 11635: 0x00006C71, - 11636: 0x00006C6F, - 11637: 0x00006C69, - 11638: 0x00006C9A, - 11639: 0x00006C6D, - 11640: 0x00006C87, - 11641: 0x00006C95, - 11642: 0x00006C9C, - 11643: 0x00006C66, - 11644: 0x00006C73, - 11645: 0x00006C65, - 11646: 0x00006C7B, - 11647: 0x00006C8E, - 11648: 0x00007074, - 11649: 0x0000707A, - 11650: 0x00007263, - 11651: 0x000072BF, - 11652: 0x000072BD, - 11653: 0x000072C3, - 11654: 0x000072C6, - 11655: 0x000072C1, - 11656: 0x000072BA, - 11657: 0x000072C5, - 11658: 0x00007395, - 11659: 0x00007397, - 11660: 0x00007393, - 11661: 0x00007394, - 11662: 0x00007392, - 11663: 0x0000753A, - 11664: 0x00007539, - 11665: 0x00007594, - 11666: 0x00007595, - 11667: 0x00007681, - 11668: 0x0000793D, - 11669: 0x00008034, - 11670: 0x00008095, - 11671: 0x00008099, - 11672: 0x00008090, - 11673: 0x00008092, - 11674: 0x0000809C, - 11675: 0x00008290, - 11676: 0x0000828F, - 11677: 0x00008285, - 11678: 0x0000828E, - 11679: 0x00008291, - 11680: 0x00008293, - 11681: 0x0000828A, - 11682: 0x00008283, - 11683: 0x00008284, - 11684: 0x00008C78, - 11685: 0x00008FC9, - 11686: 0x00008FBF, - 11687: 0x0000909F, - 11688: 0x000090A1, - 11689: 0x000090A5, - 11690: 0x0000909E, - 11691: 0x000090A7, - 11692: 0x000090A0, - 11693: 0x00009630, - 11694: 0x00009628, - 11695: 0x0000962F, - 11696: 0x0000962D, - 11697: 0x00004E33, - 11698: 0x00004F98, - 11699: 0x00004F7C, - 11700: 0x00004F85, - 11701: 0x00004F7D, - 11702: 0x00004F80, - 11703: 0x00004F87, - 11704: 0x00004F76, - 11705: 0x00004F74, - 11706: 0x00004F89, - 11707: 0x00004F84, - 11708: 0x00004F77, - 11709: 0x00004F4C, - 11710: 0x00004F97, - 11711: 0x00004F6A, - 11712: 0x00004F9A, - 11713: 0x00004F79, - 11714: 0x00004F81, - 11715: 0x00004F78, - 11716: 0x00004F90, - 11717: 0x00004F9C, - 11718: 0x00004F94, - 11719: 0x00004F9E, - 11720: 0x00004F92, - 11721: 0x00004F82, - 11722: 0x00004F95, - 11723: 0x00004F6B, - 11724: 0x00004F6E, - 11725: 0x0000519E, - 11726: 0x000051BC, - 11727: 0x000051BE, - 11728: 0x00005235, - 11729: 0x00005232, - 11730: 0x00005233, - 11731: 0x00005246, - 11732: 0x00005231, - 11733: 0x000052BC, - 11734: 0x0000530A, - 11735: 0x0000530B, - 11736: 0x0000533C, - 11737: 0x00005392, - 11738: 0x00005394, - 11739: 0x00005487, - 11740: 0x0000547F, - 11741: 0x00005481, - 11742: 0x00005491, - 11743: 0x00005482, - 11744: 0x00005488, - 11745: 0x0000546B, - 11746: 0x0000547A, - 11747: 0x0000547E, - 11748: 0x00005465, - 11749: 0x0000546C, - 11750: 0x00005474, - 11751: 0x00005466, - 11752: 0x0000548D, - 11753: 0x0000546F, - 11754: 0x00005461, - 11755: 0x00005460, - 11756: 0x00005498, - 11757: 0x00005463, - 11758: 0x00005467, - 11759: 0x00005464, - 11760: 0x000056F7, - 11761: 0x000056F9, - 11762: 0x0000576F, - 11763: 0x00005772, - 11764: 0x0000576D, - 11765: 0x0000576B, - 11766: 0x00005771, - 11767: 0x00005770, - 11768: 0x00005776, - 11769: 0x00005780, - 11770: 0x00005775, - 11771: 0x0000577B, - 11772: 0x00005773, - 11773: 0x00005774, - 11774: 0x00005762, - 11775: 0x00005768, - 11776: 0x0000577D, - 11777: 0x0000590C, - 11778: 0x00005945, - 11779: 0x000059B5, - 11780: 0x000059BA, - 11781: 0x000059CF, - 11782: 0x000059CE, - 11783: 0x000059B2, - 11784: 0x000059CC, - 11785: 0x000059C1, - 11786: 0x000059B6, - 11787: 0x000059BC, - 11788: 0x000059C3, - 11789: 0x000059D6, - 11790: 0x000059B1, - 11791: 0x000059BD, - 11792: 0x000059C0, - 11793: 0x000059C8, - 11794: 0x000059B4, - 11795: 0x000059C7, - 11796: 0x00005B62, - 11797: 0x00005B65, - 11798: 0x00005B93, - 11799: 0x00005B95, - 11800: 0x00005C44, - 11801: 0x00005C47, - 11802: 0x00005CAE, - 11803: 0x00005CA4, - 11804: 0x00005CA0, - 11805: 0x00005CB5, - 11806: 0x00005CAF, - 11807: 0x00005CA8, - 11808: 0x00005CAC, - 11809: 0x00005C9F, - 11810: 0x00005CA3, - 11811: 0x00005CAD, - 11812: 0x00005CA2, - 11813: 0x00005CAA, - 11814: 0x00005CA7, - 11815: 0x00005C9D, - 11816: 0x00005CA5, - 11817: 0x00005CB6, - 11818: 0x00005CB0, - 11819: 0x00005CA6, - 11820: 0x00005E17, - 11821: 0x00005E14, - 11822: 0x00005E19, - 11823: 0x00005F28, - 11824: 0x00005F22, - 11825: 0x00005F23, - 11826: 0x00005F24, - 11827: 0x00005F54, - 11828: 0x00005F82, - 11829: 0x00005F7E, - 11830: 0x00005F7D, - 11831: 0x00005FDE, - 11832: 0x00005FE5, - 11833: 0x0000602D, - 11834: 0x00006026, - 11835: 0x00006019, - 11836: 0x00006032, - 11837: 0x0000600B, - 11838: 0x00006034, - 11839: 0x0000600A, - 11840: 0x00006017, - 11841: 0x00006033, - 11842: 0x0000601A, - 11843: 0x0000601E, - 11844: 0x0000602C, - 11845: 0x00006022, - 11846: 0x0000600D, - 11847: 0x00006010, - 11848: 0x0000602E, - 11849: 0x00006013, - 11850: 0x00006011, - 11851: 0x0000600C, - 11852: 0x00006009, - 11853: 0x0000601C, - 11854: 0x00006214, - 11855: 0x0000623D, - 11856: 0x000062AD, - 11857: 0x000062B4, - 11858: 0x000062D1, - 11859: 0x000062BE, - 11860: 0x000062AA, - 11861: 0x000062B6, - 11862: 0x000062CA, - 11863: 0x000062AE, - 11864: 0x000062B3, - 11865: 0x000062AF, - 11866: 0x000062BB, - 11867: 0x000062A9, - 11868: 0x000062B0, - 11869: 0x000062B8, - 11870: 0x0000653D, - 11871: 0x000065A8, - 11872: 0x000065BB, - 11873: 0x00006609, - 11874: 0x000065FC, - 11875: 0x00006604, - 11876: 0x00006612, - 11877: 0x00006608, - 11878: 0x000065FB, - 11879: 0x00006603, - 11880: 0x0000660B, - 11881: 0x0000660D, - 11882: 0x00006605, - 11883: 0x000065FD, - 11884: 0x00006611, - 11885: 0x00006610, - 11886: 0x000066F6, - 11887: 0x0000670A, - 11888: 0x00006785, - 11889: 0x0000676C, - 11890: 0x0000678E, - 11891: 0x00006792, - 11892: 0x00006776, - 11893: 0x0000677B, - 11894: 0x00006798, - 11895: 0x00006786, - 11896: 0x00006784, - 11897: 0x00006774, - 11898: 0x0000678D, - 11899: 0x0000678C, - 11900: 0x0000677A, - 11901: 0x0000679F, - 11902: 0x00006791, - 11903: 0x00006799, - 11904: 0x00006783, - 11905: 0x0000677D, - 11906: 0x00006781, - 11907: 0x00006778, - 11908: 0x00006779, - 11909: 0x00006794, - 11910: 0x00006B25, - 11911: 0x00006B80, - 11912: 0x00006B7E, - 11913: 0x00006BDE, - 11914: 0x00006C1D, - 11915: 0x00006C93, - 11916: 0x00006CEC, - 11917: 0x00006CEB, - 11918: 0x00006CEE, - 11919: 0x00006CD9, - 11920: 0x00006CB6, - 11921: 0x00006CD4, - 11922: 0x00006CAD, - 11923: 0x00006CE7, - 11924: 0x00006CB7, - 11925: 0x00006CD0, - 11926: 0x00006CC2, - 11927: 0x00006CBA, - 11928: 0x00006CC3, - 11929: 0x00006CC6, - 11930: 0x00006CED, - 11931: 0x00006CF2, - 11932: 0x00006CD2, - 11933: 0x00006CDD, - 11934: 0x00006CB4, - 11935: 0x00006C8A, - 11936: 0x00006C9D, - 11937: 0x00006C80, - 11938: 0x00006CDE, - 11939: 0x00006CC0, - 11940: 0x00006D30, - 11941: 0x00006CCD, - 11942: 0x00006CC7, - 11943: 0x00006CB0, - 11944: 0x00006CF9, - 11945: 0x00006CCF, - 11946: 0x00006CE9, - 11947: 0x00006CD1, - 11948: 0x00007094, - 11949: 0x00007098, - 11950: 0x00007085, - 11951: 0x00007093, - 11952: 0x00007086, - 11953: 0x00007084, - 11954: 0x00007091, - 11955: 0x00007096, - 11956: 0x00007082, - 11957: 0x0000709A, - 11958: 0x00007083, - 11959: 0x0000726A, - 11960: 0x000072D6, - 11961: 0x000072CB, - 11962: 0x000072D8, - 11963: 0x000072C9, - 11964: 0x000072DC, - 11965: 0x000072D2, - 11966: 0x000072D4, - 11967: 0x000072DA, - 11968: 0x000072CC, - 11969: 0x000072D1, - 11970: 0x000073A4, - 11971: 0x000073A1, - 11972: 0x000073AD, - 11973: 0x000073A6, - 11974: 0x000073A2, - 11975: 0x000073A0, - 11976: 0x000073AC, - 11977: 0x0000739D, - 11978: 0x000074DD, - 11979: 0x000074E8, - 11980: 0x0000753F, - 11981: 0x00007540, - 11982: 0x0000753E, - 11983: 0x0000758C, - 11984: 0x00007598, - 11985: 0x000076AF, - 11986: 0x000076F3, - 11987: 0x000076F1, - 11988: 0x000076F0, - 11989: 0x000076F5, - 11990: 0x000077F8, - 11991: 0x000077FC, - 11992: 0x000077F9, - 11993: 0x000077FB, - 11994: 0x000077FA, - 11995: 0x000077F7, - 11996: 0x00007942, - 11997: 0x0000793F, - 11998: 0x000079C5, - 11999: 0x00007A78, - 12000: 0x00007A7B, - 12001: 0x00007AFB, - 12002: 0x00007C75, - 12003: 0x00007CFD, - 12004: 0x00008035, - 12005: 0x0000808F, - 12006: 0x000080AE, - 12007: 0x000080A3, - 12008: 0x000080B8, - 12009: 0x000080B5, - 12010: 0x000080AD, - 12011: 0x00008220, - 12012: 0x000082A0, - 12013: 0x000082C0, - 12014: 0x000082AB, - 12015: 0x0000829A, - 12016: 0x00008298, - 12017: 0x0000829B, - 12018: 0x000082B5, - 12019: 0x000082A7, - 12020: 0x000082AE, - 12021: 0x000082BC, - 12022: 0x0000829E, - 12023: 0x000082BA, - 12024: 0x000082B4, - 12025: 0x000082A8, - 12026: 0x000082A1, - 12027: 0x000082A9, - 12028: 0x000082C2, - 12029: 0x000082A4, - 12030: 0x000082C3, - 12031: 0x000082B6, - 12032: 0x000082A2, - 12033: 0x00008670, - 12034: 0x0000866F, - 12035: 0x0000866D, - 12036: 0x0000866E, - 12037: 0x00008C56, - 12038: 0x00008FD2, - 12039: 0x00008FCB, - 12040: 0x00008FD3, - 12041: 0x00008FCD, - 12042: 0x00008FD6, - 12043: 0x00008FD5, - 12044: 0x00008FD7, - 12045: 0x000090B2, - 12046: 0x000090B4, - 12047: 0x000090AF, - 12048: 0x000090B3, - 12049: 0x000090B0, - 12050: 0x00009639, - 12051: 0x0000963D, - 12052: 0x0000963C, - 12053: 0x0000963A, - 12054: 0x00009643, - 12055: 0x00004FCD, - 12056: 0x00004FC5, - 12057: 0x00004FD3, - 12058: 0x00004FB2, - 12059: 0x00004FC9, - 12060: 0x00004FCB, - 12061: 0x00004FC1, - 12062: 0x00004FD4, - 12063: 0x00004FDC, - 12064: 0x00004FD9, - 12065: 0x00004FBB, - 12066: 0x00004FB3, - 12067: 0x00004FDB, - 12068: 0x00004FC7, - 12069: 0x00004FD6, - 12070: 0x00004FBA, - 12071: 0x00004FC0, - 12072: 0x00004FB9, - 12073: 0x00004FEC, - 12074: 0x00005244, - 12075: 0x00005249, - 12076: 0x000052C0, - 12077: 0x000052C2, - 12078: 0x0000533D, - 12079: 0x0000537C, - 12080: 0x00005397, - 12081: 0x00005396, - 12082: 0x00005399, - 12083: 0x00005398, - 12084: 0x000054BA, - 12085: 0x000054A1, - 12086: 0x000054AD, - 12087: 0x000054A5, - 12088: 0x000054CF, - 12089: 0x000054C3, - 12090: 0x0000830D, - 12091: 0x000054B7, - 12092: 0x000054AE, - 12093: 0x000054D6, - 12094: 0x000054B6, - 12095: 0x000054C5, - 12096: 0x000054C6, - 12097: 0x000054A0, - 12098: 0x00005470, - 12099: 0x000054BC, - 12100: 0x000054A2, - 12101: 0x000054BE, - 12102: 0x00005472, - 12103: 0x000054DE, - 12104: 0x000054B0, - 12105: 0x000057B5, - 12106: 0x0000579E, - 12107: 0x0000579F, - 12108: 0x000057A4, - 12109: 0x0000578C, - 12110: 0x00005797, - 12111: 0x0000579D, - 12112: 0x0000579B, - 12113: 0x00005794, - 12114: 0x00005798, - 12115: 0x0000578F, - 12116: 0x00005799, - 12117: 0x000057A5, - 12118: 0x0000579A, - 12119: 0x00005795, - 12120: 0x000058F4, - 12121: 0x0000590D, - 12122: 0x00005953, - 12123: 0x000059E1, - 12124: 0x000059DE, - 12125: 0x000059EE, - 12126: 0x00005A00, - 12127: 0x000059F1, - 12128: 0x000059DD, - 12129: 0x000059FA, - 12130: 0x000059FD, - 12131: 0x000059FC, - 12132: 0x000059F6, - 12133: 0x000059E4, - 12134: 0x000059F2, - 12135: 0x000059F7, - 12136: 0x000059DB, - 12137: 0x000059E9, - 12138: 0x000059F3, - 12139: 0x000059F5, - 12140: 0x000059E0, - 12141: 0x000059FE, - 12142: 0x000059F4, - 12143: 0x000059ED, - 12144: 0x00005BA8, - 12145: 0x00005C4C, - 12146: 0x00005CD0, - 12147: 0x00005CD8, - 12148: 0x00005CCC, - 12149: 0x00005CD7, - 12150: 0x00005CCB, - 12151: 0x00005CDB, - 12152: 0x00005CDE, - 12153: 0x00005CDA, - 12154: 0x00005CC9, - 12155: 0x00005CC7, - 12156: 0x00005CCA, - 12157: 0x00005CD6, - 12158: 0x00005CD3, - 12159: 0x00005CD4, - 12160: 0x00005CCF, - 12161: 0x00005CC8, - 12162: 0x00005CC6, - 12163: 0x00005CCE, - 12164: 0x00005CDF, - 12165: 0x00005CF8, - 12166: 0x00005DF9, - 12167: 0x00005E21, - 12168: 0x00005E22, - 12169: 0x00005E23, - 12170: 0x00005E20, - 12171: 0x00005E24, - 12172: 0x00005EB0, - 12173: 0x00005EA4, - 12174: 0x00005EA2, - 12175: 0x00005E9B, - 12176: 0x00005EA3, - 12177: 0x00005EA5, - 12178: 0x00005F07, - 12179: 0x00005F2E, - 12180: 0x00005F56, - 12181: 0x00005F86, - 12182: 0x00006037, - 12183: 0x00006039, - 12184: 0x00006054, - 12185: 0x00006072, - 12186: 0x0000605E, - 12187: 0x00006045, - 12188: 0x00006053, - 12189: 0x00006047, - 12190: 0x00006049, - 12191: 0x0000605B, - 12192: 0x0000604C, - 12193: 0x00006040, - 12194: 0x00006042, - 12195: 0x0000605F, - 12196: 0x00006024, - 12197: 0x00006044, - 12198: 0x00006058, - 12199: 0x00006066, - 12200: 0x0000606E, - 12201: 0x00006242, - 12202: 0x00006243, - 12203: 0x000062CF, - 12204: 0x0000630D, - 12205: 0x0000630B, - 12206: 0x000062F5, - 12207: 0x0000630E, - 12208: 0x00006303, - 12209: 0x000062EB, - 12210: 0x000062F9, - 12211: 0x0000630F, - 12212: 0x0000630C, - 12213: 0x000062F8, - 12214: 0x000062F6, - 12215: 0x00006300, - 12216: 0x00006313, - 12217: 0x00006314, - 12218: 0x000062FA, - 12219: 0x00006315, - 12220: 0x000062FB, - 12221: 0x000062F0, - 12222: 0x00006541, - 12223: 0x00006543, - 12224: 0x000065AA, - 12225: 0x000065BF, - 12226: 0x00006636, - 12227: 0x00006621, - 12228: 0x00006632, - 12229: 0x00006635, - 12230: 0x0000661C, - 12231: 0x00006626, - 12232: 0x00006622, - 12233: 0x00006633, - 12234: 0x0000662B, - 12235: 0x0000663A, - 12236: 0x0000661D, - 12237: 0x00006634, - 12238: 0x00006639, - 12239: 0x0000662E, - 12240: 0x0000670F, - 12241: 0x00006710, - 12242: 0x000067C1, - 12243: 0x000067F2, - 12244: 0x000067C8, - 12245: 0x000067BA, - 12246: 0x000067DC, - 12247: 0x000067BB, - 12248: 0x000067F8, - 12249: 0x000067D8, - 12250: 0x000067C0, - 12251: 0x000067B7, - 12252: 0x000067C5, - 12253: 0x000067EB, - 12254: 0x000067E4, - 12255: 0x000067DF, - 12256: 0x000067B5, - 12257: 0x000067CD, - 12258: 0x000067B3, - 12259: 0x000067F7, - 12260: 0x000067F6, - 12261: 0x000067EE, - 12262: 0x000067E3, - 12263: 0x000067C2, - 12264: 0x000067B9, - 12265: 0x000067CE, - 12266: 0x000067E7, - 12267: 0x000067F0, - 12268: 0x000067B2, - 12269: 0x000067FC, - 12270: 0x000067C6, - 12271: 0x000067ED, - 12272: 0x000067CC, - 12273: 0x000067AE, - 12274: 0x000067E6, - 12275: 0x000067DB, - 12276: 0x000067FA, - 12277: 0x000067C9, - 12278: 0x000067CA, - 12279: 0x000067C3, - 12280: 0x000067EA, - 12281: 0x000067CB, - 12282: 0x00006B28, - 12283: 0x00006B82, - 12284: 0x00006B84, - 12285: 0x00006BB6, - 12286: 0x00006BD6, - 12287: 0x00006BD8, - 12288: 0x00006BE0, - 12289: 0x00006C20, - 12290: 0x00006C21, - 12291: 0x00006D28, - 12292: 0x00006D34, - 12293: 0x00006D2D, - 12294: 0x00006D1F, - 12295: 0x00006D3C, - 12296: 0x00006D3F, - 12297: 0x00006D12, - 12298: 0x00006D0A, - 12299: 0x00006CDA, - 12300: 0x00006D33, - 12301: 0x00006D04, - 12302: 0x00006D19, - 12303: 0x00006D3A, - 12304: 0x00006D1A, - 12305: 0x00006D11, - 12306: 0x00006D00, - 12307: 0x00006D1D, - 12308: 0x00006D42, - 12309: 0x00006D01, - 12310: 0x00006D18, - 12311: 0x00006D37, - 12312: 0x00006D03, - 12313: 0x00006D0F, - 12314: 0x00006D40, - 12315: 0x00006D07, - 12316: 0x00006D20, - 12317: 0x00006D2C, - 12318: 0x00006D08, - 12319: 0x00006D22, - 12320: 0x00006D09, - 12321: 0x00006D10, - 12322: 0x000070B7, - 12323: 0x0000709F, - 12324: 0x000070BE, - 12325: 0x000070B1, - 12326: 0x000070B0, - 12327: 0x000070A1, - 12328: 0x000070B4, - 12329: 0x000070B5, - 12330: 0x000070A9, - 12331: 0x00007241, - 12332: 0x00007249, - 12333: 0x0000724A, - 12334: 0x0000726C, - 12335: 0x00007270, - 12336: 0x00007273, - 12337: 0x0000726E, - 12338: 0x000072CA, - 12339: 0x000072E4, - 12340: 0x000072E8, - 12341: 0x000072EB, - 12342: 0x000072DF, - 12343: 0x000072EA, - 12344: 0x000072E6, - 12345: 0x000072E3, - 12346: 0x00007385, - 12347: 0x000073CC, - 12348: 0x000073C2, - 12349: 0x000073C8, - 12350: 0x000073C5, - 12351: 0x000073B9, - 12352: 0x000073B6, - 12353: 0x000073B5, - 12354: 0x000073B4, - 12355: 0x000073EB, - 12356: 0x000073BF, - 12357: 0x000073C7, - 12358: 0x000073BE, - 12359: 0x000073C3, - 12360: 0x000073C6, - 12361: 0x000073B8, - 12362: 0x000073CB, - 12363: 0x000074EC, - 12364: 0x000074EE, - 12365: 0x0000752E, - 12366: 0x00007547, - 12367: 0x00007548, - 12368: 0x000075A7, - 12369: 0x000075AA, - 12370: 0x00007679, - 12371: 0x000076C4, - 12372: 0x00007708, - 12373: 0x00007703, - 12374: 0x00007704, - 12375: 0x00007705, - 12376: 0x0000770A, - 12377: 0x000076F7, - 12378: 0x000076FB, - 12379: 0x000076FA, - 12380: 0x000077E7, - 12381: 0x000077E8, - 12382: 0x00007806, - 12383: 0x00007811, - 12384: 0x00007812, - 12385: 0x00007805, - 12386: 0x00007810, - 12387: 0x0000780F, - 12388: 0x0000780E, - 12389: 0x00007809, - 12390: 0x00007803, - 12391: 0x00007813, - 12392: 0x0000794A, - 12393: 0x0000794C, - 12394: 0x0000794B, - 12395: 0x00007945, - 12396: 0x00007944, - 12397: 0x000079D5, - 12398: 0x000079CD, - 12399: 0x000079CF, - 12400: 0x000079D6, - 12401: 0x000079CE, - 12402: 0x00007A80, - 12403: 0x00007A7E, - 12404: 0x00007AD1, - 12405: 0x00007B00, - 12406: 0x00007B01, - 12407: 0x00007C7A, - 12408: 0x00007C78, - 12409: 0x00007C79, - 12410: 0x00007C7F, - 12411: 0x00007C80, - 12412: 0x00007C81, - 12413: 0x00007D03, - 12414: 0x00007D08, - 12415: 0x00007D01, - 12416: 0x00007F58, - 12417: 0x00007F91, - 12418: 0x00007F8D, - 12419: 0x00007FBE, - 12420: 0x00008007, - 12421: 0x0000800E, - 12422: 0x0000800F, - 12423: 0x00008014, - 12424: 0x00008037, - 12425: 0x000080D8, - 12426: 0x000080C7, - 12427: 0x000080E0, - 12428: 0x000080D1, - 12429: 0x000080C8, - 12430: 0x000080C2, - 12431: 0x000080D0, - 12432: 0x000080C5, - 12433: 0x000080E3, - 12434: 0x000080D9, - 12435: 0x000080DC, - 12436: 0x000080CA, - 12437: 0x000080D5, - 12438: 0x000080C9, - 12439: 0x000080CF, - 12440: 0x000080D7, - 12441: 0x000080E6, - 12442: 0x000080CD, - 12443: 0x000081FF, - 12444: 0x00008221, - 12445: 0x00008294, - 12446: 0x000082D9, - 12447: 0x000082FE, - 12448: 0x000082F9, - 12449: 0x00008307, - 12450: 0x000082E8, - 12451: 0x00008300, - 12452: 0x000082D5, - 12453: 0x0000833A, - 12454: 0x000082EB, - 12455: 0x000082D6, - 12456: 0x000082F4, - 12457: 0x000082EC, - 12458: 0x000082E1, - 12459: 0x000082F2, - 12460: 0x000082F5, - 12461: 0x0000830C, - 12462: 0x000082FB, - 12463: 0x000082F6, - 12464: 0x000082F0, - 12465: 0x000082EA, - 12466: 0x000082E4, - 12467: 0x000082E0, - 12468: 0x000082FA, - 12469: 0x000082F3, - 12470: 0x000082ED, - 12471: 0x00008677, - 12472: 0x00008674, - 12473: 0x0000867C, - 12474: 0x00008673, - 12475: 0x00008841, - 12476: 0x0000884E, - 12477: 0x00008867, - 12478: 0x0000886A, - 12479: 0x00008869, - 12480: 0x000089D3, - 12481: 0x00008A04, - 12482: 0x00008A07, - 12483: 0x00008D72, - 12484: 0x00008FE3, - 12485: 0x00008FE1, - 12486: 0x00008FEE, - 12487: 0x00008FE0, - 12488: 0x000090F1, - 12489: 0x000090BD, - 12490: 0x000090BF, - 12491: 0x000090D5, - 12492: 0x000090C5, - 12493: 0x000090BE, - 12494: 0x000090C7, - 12495: 0x000090CB, - 12496: 0x000090C8, - 12497: 0x000091D4, - 12498: 0x000091D3, - 12499: 0x00009654, - 12500: 0x0000964F, - 12501: 0x00009651, - 12502: 0x00009653, - 12503: 0x0000964A, - 12504: 0x0000964E, - 12505: 0x0000501E, - 12506: 0x00005005, - 12507: 0x00005007, - 12508: 0x00005013, - 12509: 0x00005022, - 12510: 0x00005030, - 12511: 0x0000501B, - 12512: 0x00004FF5, - 12513: 0x00004FF4, - 12514: 0x00005033, - 12515: 0x00005037, - 12516: 0x0000502C, - 12517: 0x00004FF6, - 12518: 0x00004FF7, - 12519: 0x00005017, - 12520: 0x0000501C, - 12521: 0x00005020, - 12522: 0x00005027, - 12523: 0x00005035, - 12524: 0x0000502F, - 12525: 0x00005031, - 12526: 0x0000500E, - 12527: 0x0000515A, - 12528: 0x00005194, - 12529: 0x00005193, - 12530: 0x000051CA, - 12531: 0x000051C4, - 12532: 0x000051C5, - 12533: 0x000051C8, - 12534: 0x000051CE, - 12535: 0x00005261, - 12536: 0x0000525A, - 12537: 0x00005252, - 12538: 0x0000525E, - 12539: 0x0000525F, - 12540: 0x00005255, - 12541: 0x00005262, - 12542: 0x000052CD, - 12543: 0x0000530E, - 12544: 0x0000539E, - 12545: 0x00005526, - 12546: 0x000054E2, - 12547: 0x00005517, - 12548: 0x00005512, - 12549: 0x000054E7, - 12550: 0x000054F3, - 12551: 0x000054E4, - 12552: 0x0000551A, - 12553: 0x000054FF, - 12554: 0x00005504, - 12555: 0x00005508, - 12556: 0x000054EB, - 12557: 0x00005511, - 12558: 0x00005505, - 12559: 0x000054F1, - 12560: 0x0000550A, - 12561: 0x000054FB, - 12562: 0x000054F7, - 12563: 0x000054F8, - 12564: 0x000054E0, - 12565: 0x0000550E, - 12566: 0x00005503, - 12567: 0x0000550B, - 12568: 0x00005701, - 12569: 0x00005702, - 12570: 0x000057CC, - 12571: 0x00005832, - 12572: 0x000057D5, - 12573: 0x000057D2, - 12574: 0x000057BA, - 12575: 0x000057C6, - 12576: 0x000057BD, - 12577: 0x000057BC, - 12578: 0x000057B8, - 12579: 0x000057B6, - 12580: 0x000057BF, - 12581: 0x000057C7, - 12582: 0x000057D0, - 12583: 0x000057B9, - 12584: 0x000057C1, - 12585: 0x0000590E, - 12586: 0x0000594A, - 12587: 0x00005A19, - 12588: 0x00005A16, - 12589: 0x00005A2D, - 12590: 0x00005A2E, - 12591: 0x00005A15, - 12592: 0x00005A0F, - 12593: 0x00005A17, - 12594: 0x00005A0A, - 12595: 0x00005A1E, - 12596: 0x00005A33, - 12597: 0x00005B6C, - 12598: 0x00005BA7, - 12599: 0x00005BAD, - 12600: 0x00005BAC, - 12601: 0x00005C03, - 12602: 0x00005C56, - 12603: 0x00005C54, - 12604: 0x00005CEC, - 12605: 0x00005CFF, - 12606: 0x00005CEE, - 12607: 0x00005CF1, - 12608: 0x00005CF7, - 12609: 0x00005D00, - 12610: 0x00005CF9, - 12611: 0x00005E29, - 12612: 0x00005E28, - 12613: 0x00005EA8, - 12614: 0x00005EAE, - 12615: 0x00005EAA, - 12616: 0x00005EAC, - 12617: 0x00005F33, - 12618: 0x00005F30, - 12619: 0x00005F67, - 12620: 0x0000605D, - 12621: 0x0000605A, - 12622: 0x00006067, - 12623: 0x00006041, - 12624: 0x000060A2, - 12625: 0x00006088, - 12626: 0x00006080, - 12627: 0x00006092, - 12628: 0x00006081, - 12629: 0x0000609D, - 12630: 0x00006083, - 12631: 0x00006095, - 12632: 0x0000609B, - 12633: 0x00006097, - 12634: 0x00006087, - 12635: 0x0000609C, - 12636: 0x0000608E, - 12637: 0x00006219, - 12638: 0x00006246, - 12639: 0x000062F2, - 12640: 0x00006310, - 12641: 0x00006356, - 12642: 0x0000632C, - 12643: 0x00006344, - 12644: 0x00006345, - 12645: 0x00006336, - 12646: 0x00006343, - 12647: 0x000063E4, - 12648: 0x00006339, - 12649: 0x0000634B, - 12650: 0x0000634A, - 12651: 0x0000633C, - 12652: 0x00006329, - 12653: 0x00006341, - 12654: 0x00006334, - 12655: 0x00006358, - 12656: 0x00006354, - 12657: 0x00006359, - 12658: 0x0000632D, - 12659: 0x00006347, - 12660: 0x00006333, - 12661: 0x0000635A, - 12662: 0x00006351, - 12663: 0x00006338, - 12664: 0x00006357, - 12665: 0x00006340, - 12666: 0x00006348, - 12667: 0x0000654A, - 12668: 0x00006546, - 12669: 0x000065C6, - 12670: 0x000065C3, - 12671: 0x000065C4, - 12672: 0x000065C2, - 12673: 0x0000664A, - 12674: 0x0000665F, - 12675: 0x00006647, - 12676: 0x00006651, - 12677: 0x00006712, - 12678: 0x00006713, - 12679: 0x0000681F, - 12680: 0x0000681A, - 12681: 0x00006849, - 12682: 0x00006832, - 12683: 0x00006833, - 12684: 0x0000683B, - 12685: 0x0000684B, - 12686: 0x0000684F, - 12687: 0x00006816, - 12688: 0x00006831, - 12689: 0x0000681C, - 12690: 0x00006835, - 12691: 0x0000682B, - 12692: 0x0000682D, - 12693: 0x0000682F, - 12694: 0x0000684E, - 12695: 0x00006844, - 12696: 0x00006834, - 12697: 0x0000681D, - 12698: 0x00006812, - 12699: 0x00006814, - 12700: 0x00006826, - 12701: 0x00006828, - 12702: 0x0000682E, - 12703: 0x0000684D, - 12704: 0x0000683A, - 12705: 0x00006825, - 12706: 0x00006820, - 12707: 0x00006B2C, - 12708: 0x00006B2F, - 12709: 0x00006B2D, - 12710: 0x00006B31, - 12711: 0x00006B34, - 12712: 0x00006B6D, - 12713: 0x00008082, - 12714: 0x00006B88, - 12715: 0x00006BE6, - 12716: 0x00006BE4, - 12717: 0x00006BE8, - 12718: 0x00006BE3, - 12719: 0x00006BE2, - 12720: 0x00006BE7, - 12721: 0x00006C25, - 12722: 0x00006D7A, - 12723: 0x00006D63, - 12724: 0x00006D64, - 12725: 0x00006D76, - 12726: 0x00006D0D, - 12727: 0x00006D61, - 12728: 0x00006D92, - 12729: 0x00006D58, - 12730: 0x00006D62, - 12731: 0x00006D6D, - 12732: 0x00006D6F, - 12733: 0x00006D91, - 12734: 0x00006D8D, - 12735: 0x00006DEF, - 12736: 0x00006D7F, - 12737: 0x00006D86, - 12738: 0x00006D5E, - 12739: 0x00006D67, - 12740: 0x00006D60, - 12741: 0x00006D97, - 12742: 0x00006D70, - 12743: 0x00006D7C, - 12744: 0x00006D5F, - 12745: 0x00006D82, - 12746: 0x00006D98, - 12747: 0x00006D2F, - 12748: 0x00006D68, - 12749: 0x00006D8B, - 12750: 0x00006D7E, - 12751: 0x00006D80, - 12752: 0x00006D84, - 12753: 0x00006D16, - 12754: 0x00006D83, - 12755: 0x00006D7B, - 12756: 0x00006D7D, - 12757: 0x00006D75, - 12758: 0x00006D90, - 12759: 0x000070DC, - 12760: 0x000070D3, - 12761: 0x000070D1, - 12762: 0x000070DD, - 12763: 0x000070CB, - 12764: 0x00007F39, - 12765: 0x000070E2, - 12766: 0x000070D7, - 12767: 0x000070D2, - 12768: 0x000070DE, - 12769: 0x000070E0, - 12770: 0x000070D4, - 12771: 0x000070CD, - 12772: 0x000070C5, - 12773: 0x000070C6, - 12774: 0x000070C7, - 12775: 0x000070DA, - 12776: 0x000070CE, - 12777: 0x000070E1, - 12778: 0x00007242, - 12779: 0x00007278, - 12780: 0x00007277, - 12781: 0x00007276, - 12782: 0x00007300, - 12783: 0x000072FA, - 12784: 0x000072F4, - 12785: 0x000072FE, - 12786: 0x000072F6, - 12787: 0x000072F3, - 12788: 0x000072FB, - 12789: 0x00007301, - 12790: 0x000073D3, - 12791: 0x000073D9, - 12792: 0x000073E5, - 12793: 0x000073D6, - 12794: 0x000073BC, - 12795: 0x000073E7, - 12796: 0x000073E3, - 12797: 0x000073E9, - 12798: 0x000073DC, - 12799: 0x000073D2, - 12800: 0x000073DB, - 12801: 0x000073D4, - 12802: 0x000073DD, - 12803: 0x000073DA, - 12804: 0x000073D7, - 12805: 0x000073D8, - 12806: 0x000073E8, - 12807: 0x000074DE, - 12808: 0x000074DF, - 12809: 0x000074F4, - 12810: 0x000074F5, - 12811: 0x00007521, - 12812: 0x0000755B, - 12813: 0x0000755F, - 12814: 0x000075B0, - 12815: 0x000075C1, - 12816: 0x000075BB, - 12817: 0x000075C4, - 12818: 0x000075C0, - 12819: 0x000075BF, - 12820: 0x000075B6, - 12821: 0x000075BA, - 12822: 0x0000768A, - 12823: 0x000076C9, - 12824: 0x0000771D, - 12825: 0x0000771B, - 12826: 0x00007710, - 12827: 0x00007713, - 12828: 0x00007712, - 12829: 0x00007723, - 12830: 0x00007711, - 12831: 0x00007715, - 12832: 0x00007719, - 12833: 0x0000771A, - 12834: 0x00007722, - 12835: 0x00007727, - 12836: 0x00007823, - 12837: 0x0000782C, - 12838: 0x00007822, - 12839: 0x00007835, - 12840: 0x0000782F, - 12841: 0x00007828, - 12842: 0x0000782E, - 12843: 0x0000782B, - 12844: 0x00007821, - 12845: 0x00007829, - 12846: 0x00007833, - 12847: 0x0000782A, - 12848: 0x00007831, - 12849: 0x00007954, - 12850: 0x0000795B, - 12851: 0x0000794F, - 12852: 0x0000795C, - 12853: 0x00007953, - 12854: 0x00007952, - 12855: 0x00007951, - 12856: 0x000079EB, - 12857: 0x000079EC, - 12858: 0x000079E0, - 12859: 0x000079EE, - 12860: 0x000079ED, - 12861: 0x000079EA, - 12862: 0x000079DC, - 12863: 0x000079DE, - 12864: 0x000079DD, - 12865: 0x00007A86, - 12866: 0x00007A89, - 12867: 0x00007A85, - 12868: 0x00007A8B, - 12869: 0x00007A8C, - 12870: 0x00007A8A, - 12871: 0x00007A87, - 12872: 0x00007AD8, - 12873: 0x00007B10, - 12874: 0x00007B04, - 12875: 0x00007B13, - 12876: 0x00007B05, - 12877: 0x00007B0F, - 12878: 0x00007B08, - 12879: 0x00007B0A, - 12880: 0x00007B0E, - 12881: 0x00007B09, - 12882: 0x00007B12, - 12883: 0x00007C84, - 12884: 0x00007C91, - 12885: 0x00007C8A, - 12886: 0x00007C8C, - 12887: 0x00007C88, - 12888: 0x00007C8D, - 12889: 0x00007C85, - 12890: 0x00007D1E, - 12891: 0x00007D1D, - 12892: 0x00007D11, - 12893: 0x00007D0E, - 12894: 0x00007D18, - 12895: 0x00007D16, - 12896: 0x00007D13, - 12897: 0x00007D1F, - 12898: 0x00007D12, - 12899: 0x00007D0F, - 12900: 0x00007D0C, - 12901: 0x00007F5C, - 12902: 0x00007F61, - 12903: 0x00007F5E, - 12904: 0x00007F60, - 12905: 0x00007F5D, - 12906: 0x00007F5B, - 12907: 0x00007F96, - 12908: 0x00007F92, - 12909: 0x00007FC3, - 12910: 0x00007FC2, - 12911: 0x00007FC0, - 12912: 0x00008016, - 12913: 0x0000803E, - 12914: 0x00008039, - 12915: 0x000080FA, - 12916: 0x000080F2, - 12917: 0x000080F9, - 12918: 0x000080F5, - 12919: 0x00008101, - 12920: 0x000080FB, - 12921: 0x00008100, - 12922: 0x00008201, - 12923: 0x0000822F, - 12924: 0x00008225, - 12925: 0x00008333, - 12926: 0x0000832D, - 12927: 0x00008344, - 12928: 0x00008319, - 12929: 0x00008351, - 12930: 0x00008325, - 12931: 0x00008356, - 12932: 0x0000833F, - 12933: 0x00008341, - 12934: 0x00008326, - 12935: 0x0000831C, - 12936: 0x00008322, - 12937: 0x00008342, - 12938: 0x0000834E, - 12939: 0x0000831B, - 12940: 0x0000832A, - 12941: 0x00008308, - 12942: 0x0000833C, - 12943: 0x0000834D, - 12944: 0x00008316, - 12945: 0x00008324, - 12946: 0x00008320, - 12947: 0x00008337, - 12948: 0x0000832F, - 12949: 0x00008329, - 12950: 0x00008347, - 12951: 0x00008345, - 12952: 0x0000834C, - 12953: 0x00008353, - 12954: 0x0000831E, - 12955: 0x0000832C, - 12956: 0x0000834B, - 12957: 0x00008327, - 12958: 0x00008348, - 12959: 0x00008653, - 12960: 0x00008652, - 12961: 0x000086A2, - 12962: 0x000086A8, - 12963: 0x00008696, - 12964: 0x0000868D, - 12965: 0x00008691, - 12966: 0x0000869E, - 12967: 0x00008687, - 12968: 0x00008697, - 12969: 0x00008686, - 12970: 0x0000868B, - 12971: 0x0000869A, - 12972: 0x00008685, - 12973: 0x000086A5, - 12974: 0x00008699, - 12975: 0x000086A1, - 12976: 0x000086A7, - 12977: 0x00008695, - 12978: 0x00008698, - 12979: 0x0000868E, - 12980: 0x0000869D, - 12981: 0x00008690, - 12982: 0x00008694, - 12983: 0x00008843, - 12984: 0x00008844, - 12985: 0x0000886D, - 12986: 0x00008875, - 12987: 0x00008876, - 12988: 0x00008872, - 12989: 0x00008880, - 12990: 0x00008871, - 12991: 0x0000887F, - 12992: 0x0000886F, - 12993: 0x00008883, - 12994: 0x0000887E, - 12995: 0x00008874, - 12996: 0x0000887C, - 12997: 0x00008A12, - 12998: 0x00008C47, - 12999: 0x00008C57, - 13000: 0x00008C7B, - 13001: 0x00008CA4, - 13002: 0x00008CA3, - 13003: 0x00008D76, - 13004: 0x00008D78, - 13005: 0x00008DB5, - 13006: 0x00008DB7, - 13007: 0x00008DB6, - 13008: 0x00008ED1, - 13009: 0x00008ED3, - 13010: 0x00008FFE, - 13011: 0x00008FF5, - 13012: 0x00009002, - 13013: 0x00008FFF, - 13014: 0x00008FFB, - 13015: 0x00009004, - 13016: 0x00008FFC, - 13017: 0x00008FF6, - 13018: 0x000090D6, - 13019: 0x000090E0, - 13020: 0x000090D9, - 13021: 0x000090DA, - 13022: 0x000090E3, - 13023: 0x000090DF, - 13024: 0x000090E5, - 13025: 0x000090D8, - 13026: 0x000090DB, - 13027: 0x000090D7, - 13028: 0x000090DC, - 13029: 0x000090E4, - 13030: 0x00009150, - 13031: 0x0000914E, - 13032: 0x0000914F, - 13033: 0x000091D5, - 13034: 0x000091E2, - 13035: 0x000091DA, - 13036: 0x0000965C, - 13037: 0x0000965F, - 13038: 0x000096BC, - 13039: 0x000098E3, - 13040: 0x00009ADF, - 13041: 0x00009B2F, - 13042: 0x00004E7F, - 13043: 0x00005070, - 13044: 0x0000506A, - 13045: 0x00005061, - 13046: 0x0000505E, - 13047: 0x00005060, - 13048: 0x00005053, - 13049: 0x0000504B, - 13050: 0x0000505D, - 13051: 0x00005072, - 13052: 0x00005048, - 13053: 0x0000504D, - 13054: 0x00005041, - 13055: 0x0000505B, - 13056: 0x0000504A, - 13057: 0x00005062, - 13058: 0x00005015, - 13059: 0x00005045, - 13060: 0x0000505F, - 13061: 0x00005069, - 13062: 0x0000506B, - 13063: 0x00005063, - 13064: 0x00005064, - 13065: 0x00005046, - 13066: 0x00005040, - 13067: 0x0000506E, - 13068: 0x00005073, - 13069: 0x00005057, - 13070: 0x00005051, - 13071: 0x000051D0, - 13072: 0x0000526B, - 13073: 0x0000526D, - 13074: 0x0000526C, - 13075: 0x0000526E, - 13076: 0x000052D6, - 13077: 0x000052D3, - 13078: 0x0000532D, - 13079: 0x0000539C, - 13080: 0x00005575, - 13081: 0x00005576, - 13082: 0x0000553C, - 13083: 0x0000554D, - 13084: 0x00005550, - 13085: 0x00005534, - 13086: 0x0000552A, - 13087: 0x00005551, - 13088: 0x00005562, - 13089: 0x00005536, - 13090: 0x00005535, - 13091: 0x00005530, - 13092: 0x00005552, - 13093: 0x00005545, - 13094: 0x0000550C, - 13095: 0x00005532, - 13096: 0x00005565, - 13097: 0x0000554E, - 13098: 0x00005539, - 13099: 0x00005548, - 13100: 0x0000552D, - 13101: 0x0000553B, - 13102: 0x00005540, - 13103: 0x0000554B, - 13104: 0x0000570A, - 13105: 0x00005707, - 13106: 0x000057FB, - 13107: 0x00005814, - 13108: 0x000057E2, - 13109: 0x000057F6, - 13110: 0x000057DC, - 13111: 0x000057F4, - 13112: 0x00005800, - 13113: 0x000057ED, - 13114: 0x000057FD, - 13115: 0x00005808, - 13116: 0x000057F8, - 13117: 0x0000580B, - 13118: 0x000057F3, - 13119: 0x000057CF, - 13120: 0x00005807, - 13121: 0x000057EE, - 13122: 0x000057E3, - 13123: 0x000057F2, - 13124: 0x000057E5, - 13125: 0x000057EC, - 13126: 0x000057E1, - 13127: 0x0000580E, - 13128: 0x000057FC, - 13129: 0x00005810, - 13130: 0x000057E7, - 13131: 0x00005801, - 13132: 0x0000580C, - 13133: 0x000057F1, - 13134: 0x000057E9, - 13135: 0x000057F0, - 13136: 0x0000580D, - 13137: 0x00005804, - 13138: 0x0000595C, - 13139: 0x00005A60, - 13140: 0x00005A58, - 13141: 0x00005A55, - 13142: 0x00005A67, - 13143: 0x00005A5E, - 13144: 0x00005A38, - 13145: 0x00005A35, - 13146: 0x00005A6D, - 13147: 0x00005A50, - 13148: 0x00005A5F, - 13149: 0x00005A65, - 13150: 0x00005A6C, - 13151: 0x00005A53, - 13152: 0x00005A64, - 13153: 0x00005A57, - 13154: 0x00005A43, - 13155: 0x00005A5D, - 13156: 0x00005A52, - 13157: 0x00005A44, - 13158: 0x00005A5B, - 13159: 0x00005A48, - 13160: 0x00005A8E, - 13161: 0x00005A3E, - 13162: 0x00005A4D, - 13163: 0x00005A39, - 13164: 0x00005A4C, - 13165: 0x00005A70, - 13166: 0x00005A69, - 13167: 0x00005A47, - 13168: 0x00005A51, - 13169: 0x00005A56, - 13170: 0x00005A42, - 13171: 0x00005A5C, - 13172: 0x00005B72, - 13173: 0x00005B6E, - 13174: 0x00005BC1, - 13175: 0x00005BC0, - 13176: 0x00005C59, - 13177: 0x00005D1E, - 13178: 0x00005D0B, - 13179: 0x00005D1D, - 13180: 0x00005D1A, - 13181: 0x00005D20, - 13182: 0x00005D0C, - 13183: 0x00005D28, - 13184: 0x00005D0D, - 13185: 0x00005D26, - 13186: 0x00005D25, - 13187: 0x00005D0F, - 13188: 0x00005D30, - 13189: 0x00005D12, - 13190: 0x00005D23, - 13191: 0x00005D1F, - 13192: 0x00005D2E, - 13193: 0x00005E3E, - 13194: 0x00005E34, - 13195: 0x00005EB1, - 13196: 0x00005EB4, - 13197: 0x00005EB9, - 13198: 0x00005EB2, - 13199: 0x00005EB3, - 13200: 0x00005F36, - 13201: 0x00005F38, - 13202: 0x00005F9B, - 13203: 0x00005F96, - 13204: 0x00005F9F, - 13205: 0x0000608A, - 13206: 0x00006090, - 13207: 0x00006086, - 13208: 0x000060BE, - 13209: 0x000060B0, - 13210: 0x000060BA, - 13211: 0x000060D3, - 13212: 0x000060D4, - 13213: 0x000060CF, - 13214: 0x000060E4, - 13215: 0x000060D9, - 13216: 0x000060DD, - 13217: 0x000060C8, - 13218: 0x000060B1, - 13219: 0x000060DB, - 13220: 0x000060B7, - 13221: 0x000060CA, - 13222: 0x000060BF, - 13223: 0x000060C3, - 13224: 0x000060CD, - 13225: 0x000060C0, - 13226: 0x00006332, - 13227: 0x00006365, - 13228: 0x0000638A, - 13229: 0x00006382, - 13230: 0x0000637D, - 13231: 0x000063BD, - 13232: 0x0000639E, - 13233: 0x000063AD, - 13234: 0x0000639D, - 13235: 0x00006397, - 13236: 0x000063AB, - 13237: 0x0000638E, - 13238: 0x0000636F, - 13239: 0x00006387, - 13240: 0x00006390, - 13241: 0x0000636E, - 13242: 0x000063AF, - 13243: 0x00006375, - 13244: 0x0000639C, - 13245: 0x0000636D, - 13246: 0x000063AE, - 13247: 0x0000637C, - 13248: 0x000063A4, - 13249: 0x0000633B, - 13250: 0x0000639F, - 13251: 0x00006378, - 13252: 0x00006385, - 13253: 0x00006381, - 13254: 0x00006391, - 13255: 0x0000638D, - 13256: 0x00006370, - 13257: 0x00006553, - 13258: 0x000065CD, - 13259: 0x00006665, - 13260: 0x00006661, - 13261: 0x0000665B, - 13262: 0x00006659, - 13263: 0x0000665C, - 13264: 0x00006662, - 13265: 0x00006718, - 13266: 0x00006879, - 13267: 0x00006887, - 13268: 0x00006890, - 13269: 0x0000689C, - 13270: 0x0000686D, - 13271: 0x0000686E, - 13272: 0x000068AE, - 13273: 0x000068AB, - 13274: 0x00006956, - 13275: 0x0000686F, - 13276: 0x000068A3, - 13277: 0x000068AC, - 13278: 0x000068A9, - 13279: 0x00006875, - 13280: 0x00006874, - 13281: 0x000068B2, - 13282: 0x0000688F, - 13283: 0x00006877, - 13284: 0x00006892, - 13285: 0x0000687C, - 13286: 0x0000686B, - 13287: 0x00006872, - 13288: 0x000068AA, - 13289: 0x00006880, - 13290: 0x00006871, - 13291: 0x0000687E, - 13292: 0x0000689B, - 13293: 0x00006896, - 13294: 0x0000688B, - 13295: 0x000068A0, - 13296: 0x00006889, - 13297: 0x000068A4, - 13298: 0x00006878, - 13299: 0x0000687B, - 13300: 0x00006891, - 13301: 0x0000688C, - 13302: 0x0000688A, - 13303: 0x0000687D, - 13304: 0x00006B36, - 13305: 0x00006B33, - 13306: 0x00006B37, - 13307: 0x00006B38, - 13308: 0x00006B91, - 13309: 0x00006B8F, - 13310: 0x00006B8D, - 13311: 0x00006B8E, - 13312: 0x00006B8C, - 13313: 0x00006C2A, - 13314: 0x00006DC0, - 13315: 0x00006DAB, - 13316: 0x00006DB4, - 13317: 0x00006DB3, - 13318: 0x00006E74, - 13319: 0x00006DAC, - 13320: 0x00006DE9, - 13321: 0x00006DE2, - 13322: 0x00006DB7, - 13323: 0x00006DF6, - 13324: 0x00006DD4, - 13325: 0x00006E00, - 13326: 0x00006DC8, - 13327: 0x00006DE0, - 13328: 0x00006DDF, - 13329: 0x00006DD6, - 13330: 0x00006DBE, - 13331: 0x00006DE5, - 13332: 0x00006DDC, - 13333: 0x00006DDD, - 13334: 0x00006DDB, - 13335: 0x00006DF4, - 13336: 0x00006DCA, - 13337: 0x00006DBD, - 13338: 0x00006DED, - 13339: 0x00006DF0, - 13340: 0x00006DBA, - 13341: 0x00006DD5, - 13342: 0x00006DC2, - 13343: 0x00006DCF, - 13344: 0x00006DC9, - 13345: 0x00006DD0, - 13346: 0x00006DF2, - 13347: 0x00006DD3, - 13348: 0x00006DFD, - 13349: 0x00006DD7, - 13350: 0x00006DCD, - 13351: 0x00006DE3, - 13352: 0x00006DBB, - 13353: 0x000070FA, - 13354: 0x0000710D, - 13355: 0x000070F7, - 13356: 0x00007117, - 13357: 0x000070F4, - 13358: 0x0000710C, - 13359: 0x000070F0, - 13360: 0x00007104, - 13361: 0x000070F3, - 13362: 0x00007110, - 13363: 0x000070FC, - 13364: 0x000070FF, - 13365: 0x00007106, - 13366: 0x00007113, - 13367: 0x00007100, - 13368: 0x000070F8, - 13369: 0x000070F6, - 13370: 0x0000710B, - 13371: 0x00007102, - 13372: 0x0000710E, - 13373: 0x0000727E, - 13374: 0x0000727B, - 13375: 0x0000727C, - 13376: 0x0000727F, - 13377: 0x0000731D, - 13378: 0x00007317, - 13379: 0x00007307, - 13380: 0x00007311, - 13381: 0x00007318, - 13382: 0x0000730A, - 13383: 0x00007308, - 13384: 0x000072FF, - 13385: 0x0000730F, - 13386: 0x0000731E, - 13387: 0x00007388, - 13388: 0x000073F6, - 13389: 0x000073F8, - 13390: 0x000073F5, - 13391: 0x00007404, - 13392: 0x00007401, - 13393: 0x000073FD, - 13394: 0x00007407, - 13395: 0x00007400, - 13396: 0x000073FA, - 13397: 0x000073FC, - 13398: 0x000073FF, - 13399: 0x0000740C, - 13400: 0x0000740B, - 13401: 0x000073F4, - 13402: 0x00007408, - 13403: 0x00007564, - 13404: 0x00007563, - 13405: 0x000075CE, - 13406: 0x000075D2, - 13407: 0x000075CF, - 13408: 0x000075CB, - 13409: 0x000075CC, - 13410: 0x000075D1, - 13411: 0x000075D0, - 13412: 0x0000768F, - 13413: 0x00007689, - 13414: 0x000076D3, - 13415: 0x00007739, - 13416: 0x0000772F, - 13417: 0x0000772D, - 13418: 0x00007731, - 13419: 0x00007732, - 13420: 0x00007734, - 13421: 0x00007733, - 13422: 0x0000773D, - 13423: 0x00007725, - 13424: 0x0000773B, - 13425: 0x00007735, - 13426: 0x00007848, - 13427: 0x00007852, - 13428: 0x00007849, - 13429: 0x0000784D, - 13430: 0x0000784A, - 13431: 0x0000784C, - 13432: 0x00007826, - 13433: 0x00007845, - 13434: 0x00007850, - 13435: 0x00007964, - 13436: 0x00007967, - 13437: 0x00007969, - 13438: 0x0000796A, - 13439: 0x00007963, - 13440: 0x0000796B, - 13441: 0x00007961, - 13442: 0x000079BB, - 13443: 0x000079FA, - 13444: 0x000079F8, - 13445: 0x000079F6, - 13446: 0x000079F7, - 13447: 0x00007A8F, - 13448: 0x00007A94, - 13449: 0x00007A90, - 13450: 0x00007B35, - 13451: 0x00007B47, - 13452: 0x00007B34, - 13453: 0x00007B25, - 13454: 0x00007B30, - 13455: 0x00007B22, - 13456: 0x00007B24, - 13457: 0x00007B33, - 13458: 0x00007B18, - 13459: 0x00007B2A, - 13460: 0x00007B1D, - 13461: 0x00007B31, - 13462: 0x00007B2B, - 13463: 0x00007B2D, - 13464: 0x00007B2F, - 13465: 0x00007B32, - 13466: 0x00007B38, - 13467: 0x00007B1A, - 13468: 0x00007B23, - 13469: 0x00007C94, - 13470: 0x00007C98, - 13471: 0x00007C96, - 13472: 0x00007CA3, - 13473: 0x00007D35, - 13474: 0x00007D3D, - 13475: 0x00007D38, - 13476: 0x00007D36, - 13477: 0x00007D3A, - 13478: 0x00007D45, - 13479: 0x00007D2C, - 13480: 0x00007D29, - 13481: 0x00007D41, - 13482: 0x00007D47, - 13483: 0x00007D3E, - 13484: 0x00007D3F, - 13485: 0x00007D4A, - 13486: 0x00007D3B, - 13487: 0x00007D28, - 13488: 0x00007F63, - 13489: 0x00007F95, - 13490: 0x00007F9C, - 13491: 0x00007F9D, - 13492: 0x00007F9B, - 13493: 0x00007FCA, - 13494: 0x00007FCB, - 13495: 0x00007FCD, - 13496: 0x00007FD0, - 13497: 0x00007FD1, - 13498: 0x00007FC7, - 13499: 0x00007FCF, - 13500: 0x00007FC9, - 13501: 0x0000801F, - 13502: 0x0000801E, - 13503: 0x0000801B, - 13504: 0x00008047, - 13505: 0x00008043, - 13506: 0x00008048, - 13507: 0x00008118, - 13508: 0x00008125, - 13509: 0x00008119, - 13510: 0x0000811B, - 13511: 0x0000812D, - 13512: 0x0000811F, - 13513: 0x0000812C, - 13514: 0x0000811E, - 13515: 0x00008121, - 13516: 0x00008115, - 13517: 0x00008127, - 13518: 0x0000811D, - 13519: 0x00008122, - 13520: 0x00008211, - 13521: 0x00008238, - 13522: 0x00008233, - 13523: 0x0000823A, - 13524: 0x00008234, - 13525: 0x00008232, - 13526: 0x00008274, - 13527: 0x00008390, - 13528: 0x000083A3, - 13529: 0x000083A8, - 13530: 0x0000838D, - 13531: 0x0000837A, - 13532: 0x00008373, - 13533: 0x000083A4, - 13534: 0x00008374, - 13535: 0x0000838F, - 13536: 0x00008381, - 13537: 0x00008395, - 13538: 0x00008399, - 13539: 0x00008375, - 13540: 0x00008394, - 13541: 0x000083A9, - 13542: 0x0000837D, - 13543: 0x00008383, - 13544: 0x0000838C, - 13545: 0x0000839D, - 13546: 0x0000839B, - 13547: 0x000083AA, - 13548: 0x0000838B, - 13549: 0x0000837E, - 13550: 0x000083A5, - 13551: 0x000083AF, - 13552: 0x00008388, - 13553: 0x00008397, - 13554: 0x000083B0, - 13555: 0x0000837F, - 13556: 0x000083A6, - 13557: 0x00008387, - 13558: 0x000083AE, - 13559: 0x00008376, - 13560: 0x0000839A, - 13561: 0x00008659, - 13562: 0x00008656, - 13563: 0x000086BF, - 13564: 0x000086B7, - 13565: 0x000086C2, - 13566: 0x000086C1, - 13567: 0x000086C5, - 13568: 0x000086BA, - 13569: 0x000086B0, - 13570: 0x000086C8, - 13571: 0x000086B9, - 13572: 0x000086B3, - 13573: 0x000086B8, - 13574: 0x000086CC, - 13575: 0x000086B4, - 13576: 0x000086BB, - 13577: 0x000086BC, - 13578: 0x000086C3, - 13579: 0x000086BD, - 13580: 0x000086BE, - 13581: 0x00008852, - 13582: 0x00008889, - 13583: 0x00008895, - 13584: 0x000088A8, - 13585: 0x000088A2, - 13586: 0x000088AA, - 13587: 0x0000889A, - 13588: 0x00008891, - 13589: 0x000088A1, - 13590: 0x0000889F, - 13591: 0x00008898, - 13592: 0x000088A7, - 13593: 0x00008899, - 13594: 0x0000889B, - 13595: 0x00008897, - 13596: 0x000088A4, - 13597: 0x000088AC, - 13598: 0x0000888C, - 13599: 0x00008893, - 13600: 0x0000888E, - 13601: 0x00008982, - 13602: 0x000089D6, - 13603: 0x000089D9, - 13604: 0x000089D5, - 13605: 0x00008A30, - 13606: 0x00008A27, - 13607: 0x00008A2C, - 13608: 0x00008A1E, - 13609: 0x00008C39, - 13610: 0x00008C3B, - 13611: 0x00008C5C, - 13612: 0x00008C5D, - 13613: 0x00008C7D, - 13614: 0x00008CA5, - 13615: 0x00008D7D, - 13616: 0x00008D7B, - 13617: 0x00008D79, - 13618: 0x00008DBC, - 13619: 0x00008DC2, - 13620: 0x00008DB9, - 13621: 0x00008DBF, - 13622: 0x00008DC1, - 13623: 0x00008ED8, - 13624: 0x00008EDE, - 13625: 0x00008EDD, - 13626: 0x00008EDC, - 13627: 0x00008ED7, - 13628: 0x00008EE0, - 13629: 0x00008EE1, - 13630: 0x00009024, - 13631: 0x0000900B, - 13632: 0x00009011, - 13633: 0x0000901C, - 13634: 0x0000900C, - 13635: 0x00009021, - 13636: 0x000090EF, - 13637: 0x000090EA, - 13638: 0x000090F0, - 13639: 0x000090F4, - 13640: 0x000090F2, - 13641: 0x000090F3, - 13642: 0x000090D4, - 13643: 0x000090EB, - 13644: 0x000090EC, - 13645: 0x000090E9, - 13646: 0x00009156, - 13647: 0x00009158, - 13648: 0x0000915A, - 13649: 0x00009153, - 13650: 0x00009155, - 13651: 0x000091EC, - 13652: 0x000091F4, - 13653: 0x000091F1, - 13654: 0x000091F3, - 13655: 0x000091F8, - 13656: 0x000091E4, - 13657: 0x000091F9, - 13658: 0x000091EA, - 13659: 0x000091EB, - 13660: 0x000091F7, - 13661: 0x000091E8, - 13662: 0x000091EE, - 13663: 0x0000957A, - 13664: 0x00009586, - 13665: 0x00009588, - 13666: 0x0000967C, - 13667: 0x0000966D, - 13668: 0x0000966B, - 13669: 0x00009671, - 13670: 0x0000966F, - 13671: 0x000096BF, - 13672: 0x0000976A, - 13673: 0x00009804, - 13674: 0x000098E5, - 13675: 0x00009997, - 13676: 0x0000509B, - 13677: 0x00005095, - 13678: 0x00005094, - 13679: 0x0000509E, - 13680: 0x0000508B, - 13681: 0x000050A3, - 13682: 0x00005083, - 13683: 0x0000508C, - 13684: 0x0000508E, - 13685: 0x0000509D, - 13686: 0x00005068, - 13687: 0x0000509C, - 13688: 0x00005092, - 13689: 0x00005082, - 13690: 0x00005087, - 13691: 0x0000515F, - 13692: 0x000051D4, - 13693: 0x00005312, - 13694: 0x00005311, - 13695: 0x000053A4, - 13696: 0x000053A7, - 13697: 0x00005591, - 13698: 0x000055A8, - 13699: 0x000055A5, - 13700: 0x000055AD, - 13701: 0x00005577, - 13702: 0x00005645, - 13703: 0x000055A2, - 13704: 0x00005593, - 13705: 0x00005588, - 13706: 0x0000558F, - 13707: 0x000055B5, - 13708: 0x00005581, - 13709: 0x000055A3, - 13710: 0x00005592, - 13711: 0x000055A4, - 13712: 0x0000557D, - 13713: 0x0000558C, - 13714: 0x000055A6, - 13715: 0x0000557F, - 13716: 0x00005595, - 13717: 0x000055A1, - 13718: 0x0000558E, - 13719: 0x0000570C, - 13720: 0x00005829, - 13721: 0x00005837, - 13722: 0x00005819, - 13723: 0x0000581E, - 13724: 0x00005827, - 13725: 0x00005823, - 13726: 0x00005828, - 13727: 0x000057F5, - 13728: 0x00005848, - 13729: 0x00005825, - 13730: 0x0000581C, - 13731: 0x0000581B, - 13732: 0x00005833, - 13733: 0x0000583F, - 13734: 0x00005836, - 13735: 0x0000582E, - 13736: 0x00005839, - 13737: 0x00005838, - 13738: 0x0000582D, - 13739: 0x0000582C, - 13740: 0x0000583B, - 13741: 0x00005961, - 13742: 0x00005AAF, - 13743: 0x00005A94, - 13744: 0x00005A9F, - 13745: 0x00005A7A, - 13746: 0x00005AA2, - 13747: 0x00005A9E, - 13748: 0x00005A78, - 13749: 0x00005AA6, - 13750: 0x00005A7C, - 13751: 0x00005AA5, - 13752: 0x00005AAC, - 13753: 0x00005A95, - 13754: 0x00005AAE, - 13755: 0x00005A37, - 13756: 0x00005A84, - 13757: 0x00005A8A, - 13758: 0x00005A97, - 13759: 0x00005A83, - 13760: 0x00005A8B, - 13761: 0x00005AA9, - 13762: 0x00005A7B, - 13763: 0x00005A7D, - 13764: 0x00005A8C, - 13765: 0x00005A9C, - 13766: 0x00005A8F, - 13767: 0x00005A93, - 13768: 0x00005A9D, - 13769: 0x00005BEA, - 13770: 0x00005BCD, - 13771: 0x00005BCB, - 13772: 0x00005BD4, - 13773: 0x00005BD1, - 13774: 0x00005BCA, - 13775: 0x00005BCE, - 13776: 0x00005C0C, - 13777: 0x00005C30, - 13778: 0x00005D37, - 13779: 0x00005D43, - 13780: 0x00005D6B, - 13781: 0x00005D41, - 13782: 0x00005D4B, - 13783: 0x00005D3F, - 13784: 0x00005D35, - 13785: 0x00005D51, - 13786: 0x00005D4E, - 13787: 0x00005D55, - 13788: 0x00005D33, - 13789: 0x00005D3A, - 13790: 0x00005D52, - 13791: 0x00005D3D, - 13792: 0x00005D31, - 13793: 0x00005D59, - 13794: 0x00005D42, - 13795: 0x00005D39, - 13796: 0x00005D49, - 13797: 0x00005D38, - 13798: 0x00005D3C, - 13799: 0x00005D32, - 13800: 0x00005D36, - 13801: 0x00005D40, - 13802: 0x00005D45, - 13803: 0x00005E44, - 13804: 0x00005E41, - 13805: 0x00005F58, - 13806: 0x00005FA6, - 13807: 0x00005FA5, - 13808: 0x00005FAB, - 13809: 0x000060C9, - 13810: 0x000060B9, - 13811: 0x000060CC, - 13812: 0x000060E2, - 13813: 0x000060CE, - 13814: 0x000060C4, - 13815: 0x00006114, - 13816: 0x000060F2, - 13817: 0x0000610A, - 13818: 0x00006116, - 13819: 0x00006105, - 13820: 0x000060F5, - 13821: 0x00006113, - 13822: 0x000060F8, - 13823: 0x000060FC, - 13824: 0x000060FE, - 13825: 0x000060C1, - 13826: 0x00006103, - 13827: 0x00006118, - 13828: 0x0000611D, - 13829: 0x00006110, - 13830: 0x000060FF, - 13831: 0x00006104, - 13832: 0x0000610B, - 13833: 0x0000624A, - 13834: 0x00006394, - 13835: 0x000063B1, - 13836: 0x000063B0, - 13837: 0x000063CE, - 13838: 0x000063E5, - 13839: 0x000063E8, - 13840: 0x000063EF, - 13841: 0x000063C3, - 13842: 0x0000649D, - 13843: 0x000063F3, - 13844: 0x000063CA, - 13845: 0x000063E0, - 13846: 0x000063F6, - 13847: 0x000063D5, - 13848: 0x000063F2, - 13849: 0x000063F5, - 13850: 0x00006461, - 13851: 0x000063DF, - 13852: 0x000063BE, - 13853: 0x000063DD, - 13854: 0x000063DC, - 13855: 0x000063C4, - 13856: 0x000063D8, - 13857: 0x000063D3, - 13858: 0x000063C2, - 13859: 0x000063C7, - 13860: 0x000063CC, - 13861: 0x000063CB, - 13862: 0x000063C8, - 13863: 0x000063F0, - 13864: 0x000063D7, - 13865: 0x000063D9, - 13866: 0x00006532, - 13867: 0x00006567, - 13868: 0x0000656A, - 13869: 0x00006564, - 13870: 0x0000655C, - 13871: 0x00006568, - 13872: 0x00006565, - 13873: 0x0000658C, - 13874: 0x0000659D, - 13875: 0x0000659E, - 13876: 0x000065AE, - 13877: 0x000065D0, - 13878: 0x000065D2, - 13879: 0x0000667C, - 13880: 0x0000666C, - 13881: 0x0000667B, - 13882: 0x00006680, - 13883: 0x00006671, - 13884: 0x00006679, - 13885: 0x0000666A, - 13886: 0x00006672, - 13887: 0x00006701, - 13888: 0x0000690C, - 13889: 0x000068D3, - 13890: 0x00006904, - 13891: 0x000068DC, - 13892: 0x0000692A, - 13893: 0x000068EC, - 13894: 0x000068EA, - 13895: 0x000068F1, - 13896: 0x0000690F, - 13897: 0x000068D6, - 13898: 0x000068F7, - 13899: 0x000068EB, - 13900: 0x000068E4, - 13901: 0x000068F6, - 13902: 0x00006913, - 13903: 0x00006910, - 13904: 0x000068F3, - 13905: 0x000068E1, - 13906: 0x00006907, - 13907: 0x000068CC, - 13908: 0x00006908, - 13909: 0x00006970, - 13910: 0x000068B4, - 13911: 0x00006911, - 13912: 0x000068EF, - 13913: 0x000068C6, - 13914: 0x00006914, - 13915: 0x000068F8, - 13916: 0x000068D0, - 13917: 0x000068FD, - 13918: 0x000068FC, - 13919: 0x000068E8, - 13920: 0x0000690B, - 13921: 0x0000690A, - 13922: 0x00006917, - 13923: 0x000068CE, - 13924: 0x000068C8, - 13925: 0x000068DD, - 13926: 0x000068DE, - 13927: 0x000068E6, - 13928: 0x000068F4, - 13929: 0x000068D1, - 13930: 0x00006906, - 13931: 0x000068D4, - 13932: 0x000068E9, - 13933: 0x00006915, - 13934: 0x00006925, - 13935: 0x000068C7, - 13936: 0x00006B39, - 13937: 0x00006B3B, - 13938: 0x00006B3F, - 13939: 0x00006B3C, - 13940: 0x00006B94, - 13941: 0x00006B97, - 13942: 0x00006B99, - 13943: 0x00006B95, - 13944: 0x00006BBD, - 13945: 0x00006BF0, - 13946: 0x00006BF2, - 13947: 0x00006BF3, - 13948: 0x00006C30, - 13949: 0x00006DFC, - 13950: 0x00006E46, - 13951: 0x00006E47, - 13952: 0x00006E1F, - 13953: 0x00006E49, - 13954: 0x00006E88, - 13955: 0x00006E3C, - 13956: 0x00006E3D, - 13957: 0x00006E45, - 13958: 0x00006E62, - 13959: 0x00006E2B, - 13960: 0x00006E3F, - 13961: 0x00006E41, - 13962: 0x00006E5D, - 13963: 0x00006E73, - 13964: 0x00006E1C, - 13965: 0x00006E33, - 13966: 0x00006E4B, - 13967: 0x00006E40, - 13968: 0x00006E51, - 13969: 0x00006E3B, - 13970: 0x00006E03, - 13971: 0x00006E2E, - 13972: 0x00006E5E, - 13973: 0x00006E68, - 13974: 0x00006E5C, - 13975: 0x00006E61, - 13976: 0x00006E31, - 13977: 0x00006E28, - 13978: 0x00006E60, - 13979: 0x00006E71, - 13980: 0x00006E6B, - 13981: 0x00006E39, - 13982: 0x00006E22, - 13983: 0x00006E30, - 13984: 0x00006E53, - 13985: 0x00006E65, - 13986: 0x00006E27, - 13987: 0x00006E78, - 13988: 0x00006E64, - 13989: 0x00006E77, - 13990: 0x00006E55, - 13991: 0x00006E79, - 13992: 0x00006E52, - 13993: 0x00006E66, - 13994: 0x00006E35, - 13995: 0x00006E36, - 13996: 0x00006E5A, - 13997: 0x00007120, - 13998: 0x0000711E, - 13999: 0x0000712F, - 14000: 0x000070FB, - 14001: 0x0000712E, - 14002: 0x00007131, - 14003: 0x00007123, - 14004: 0x00007125, - 14005: 0x00007122, - 14006: 0x00007132, - 14007: 0x0000711F, - 14008: 0x00007128, - 14009: 0x0000713A, - 14010: 0x0000711B, - 14011: 0x0000724B, - 14012: 0x0000725A, - 14013: 0x00007288, - 14014: 0x00007289, - 14015: 0x00007286, - 14016: 0x00007285, - 14017: 0x0000728B, - 14018: 0x00007312, - 14019: 0x0000730B, - 14020: 0x00007330, - 14021: 0x00007322, - 14022: 0x00007331, - 14023: 0x00007333, - 14024: 0x00007327, - 14025: 0x00007332, - 14026: 0x0000732D, - 14027: 0x00007326, - 14028: 0x00007323, - 14029: 0x00007335, - 14030: 0x0000730C, - 14031: 0x0000742E, - 14032: 0x0000742C, - 14033: 0x00007430, - 14034: 0x0000742B, - 14035: 0x00007416, - 14036: 0x0000741A, - 14037: 0x00007421, - 14038: 0x0000742D, - 14039: 0x00007431, - 14040: 0x00007424, - 14041: 0x00007423, - 14042: 0x0000741D, - 14043: 0x00007429, - 14044: 0x00007420, - 14045: 0x00007432, - 14046: 0x000074FB, - 14047: 0x0000752F, - 14048: 0x0000756F, - 14049: 0x0000756C, - 14050: 0x000075E7, - 14051: 0x000075DA, - 14052: 0x000075E1, - 14053: 0x000075E6, - 14054: 0x000075DD, - 14055: 0x000075DF, - 14056: 0x000075E4, - 14057: 0x000075D7, - 14058: 0x00007695, - 14059: 0x00007692, - 14060: 0x000076DA, - 14061: 0x00007746, - 14062: 0x00007747, - 14063: 0x00007744, - 14064: 0x0000774D, - 14065: 0x00007745, - 14066: 0x0000774A, - 14067: 0x0000774E, - 14068: 0x0000774B, - 14069: 0x0000774C, - 14070: 0x000077DE, - 14071: 0x000077EC, - 14072: 0x00007860, - 14073: 0x00007864, - 14074: 0x00007865, - 14075: 0x0000785C, - 14076: 0x0000786D, - 14077: 0x00007871, - 14078: 0x0000786A, - 14079: 0x0000786E, - 14080: 0x00007870, - 14081: 0x00007869, - 14082: 0x00007868, - 14083: 0x0000785E, - 14084: 0x00007862, - 14085: 0x00007974, - 14086: 0x00007973, - 14087: 0x00007972, - 14088: 0x00007970, - 14089: 0x00007A02, - 14090: 0x00007A0A, - 14091: 0x00007A03, - 14092: 0x00007A0C, - 14093: 0x00007A04, - 14094: 0x00007A99, - 14095: 0x00007AE6, - 14096: 0x00007AE4, - 14097: 0x00007B4A, - 14098: 0x00007B3B, - 14099: 0x00007B44, - 14100: 0x00007B48, - 14101: 0x00007B4C, - 14102: 0x00007B4E, - 14103: 0x00007B40, - 14104: 0x00007B58, - 14105: 0x00007B45, - 14106: 0x00007CA2, - 14107: 0x00007C9E, - 14108: 0x00007CA8, - 14109: 0x00007CA1, - 14110: 0x00007D58, - 14111: 0x00007D6F, - 14112: 0x00007D63, - 14113: 0x00007D53, - 14114: 0x00007D56, - 14115: 0x00007D67, - 14116: 0x00007D6A, - 14117: 0x00007D4F, - 14118: 0x00007D6D, - 14119: 0x00007D5C, - 14120: 0x00007D6B, - 14121: 0x00007D52, - 14122: 0x00007D54, - 14123: 0x00007D69, - 14124: 0x00007D51, - 14125: 0x00007D5F, - 14126: 0x00007D4E, - 14127: 0x00007F3E, - 14128: 0x00007F3F, - 14129: 0x00007F65, - 14130: 0x00007F66, - 14131: 0x00007FA2, - 14132: 0x00007FA0, - 14133: 0x00007FA1, - 14134: 0x00007FD7, - 14135: 0x00008051, - 14136: 0x0000804F, - 14137: 0x00008050, - 14138: 0x000080FE, - 14139: 0x000080D4, - 14140: 0x00008143, - 14141: 0x0000814A, - 14142: 0x00008152, - 14143: 0x0000814F, - 14144: 0x00008147, - 14145: 0x0000813D, - 14146: 0x0000814D, - 14147: 0x0000813A, - 14148: 0x000081E6, - 14149: 0x000081EE, - 14150: 0x000081F7, - 14151: 0x000081F8, - 14152: 0x000081F9, - 14153: 0x00008204, - 14154: 0x0000823C, - 14155: 0x0000823D, - 14156: 0x0000823F, - 14157: 0x00008275, - 14158: 0x0000833B, - 14159: 0x000083CF, - 14160: 0x000083F9, - 14161: 0x00008423, - 14162: 0x000083C0, - 14163: 0x000083E8, - 14164: 0x00008412, - 14165: 0x000083E7, - 14166: 0x000083E4, - 14167: 0x000083FC, - 14168: 0x000083F6, - 14169: 0x00008410, - 14170: 0x000083C6, - 14171: 0x000083C8, - 14172: 0x000083EB, - 14173: 0x000083E3, - 14174: 0x000083BF, - 14175: 0x00008401, - 14176: 0x000083DD, - 14177: 0x000083E5, - 14178: 0x000083D8, - 14179: 0x000083FF, - 14180: 0x000083E1, - 14181: 0x000083CB, - 14182: 0x000083CE, - 14183: 0x000083D6, - 14184: 0x000083F5, - 14185: 0x000083C9, - 14186: 0x00008409, - 14187: 0x0000840F, - 14188: 0x000083DE, - 14189: 0x00008411, - 14190: 0x00008406, - 14191: 0x000083C2, - 14192: 0x000083F3, - 14193: 0x000083D5, - 14194: 0x000083FA, - 14195: 0x000083C7, - 14196: 0x000083D1, - 14197: 0x000083EA, - 14198: 0x00008413, - 14199: 0x000083C3, - 14200: 0x000083EC, - 14201: 0x000083EE, - 14202: 0x000083C4, - 14203: 0x000083FB, - 14204: 0x000083D7, - 14205: 0x000083E2, - 14206: 0x0000841B, - 14207: 0x000083DB, - 14208: 0x000083FE, - 14209: 0x000086D8, - 14210: 0x000086E2, - 14211: 0x000086E6, - 14212: 0x000086D3, - 14213: 0x000086E3, - 14214: 0x000086DA, - 14215: 0x000086EA, - 14216: 0x000086DD, - 14217: 0x000086EB, - 14218: 0x000086DC, - 14219: 0x000086EC, - 14220: 0x000086E9, - 14221: 0x000086D7, - 14222: 0x000086E8, - 14223: 0x000086D1, - 14224: 0x00008848, - 14225: 0x00008856, - 14226: 0x00008855, - 14227: 0x000088BA, - 14228: 0x000088D7, - 14229: 0x000088B9, - 14230: 0x000088B8, - 14231: 0x000088C0, - 14232: 0x000088BE, - 14233: 0x000088B6, - 14234: 0x000088BC, - 14235: 0x000088B7, - 14236: 0x000088BD, - 14237: 0x000088B2, - 14238: 0x00008901, - 14239: 0x000088C9, - 14240: 0x00008995, - 14241: 0x00008998, - 14242: 0x00008997, - 14243: 0x000089DD, - 14244: 0x000089DA, - 14245: 0x000089DB, - 14246: 0x00008A4E, - 14247: 0x00008A4D, - 14248: 0x00008A39, - 14249: 0x00008A59, - 14250: 0x00008A40, - 14251: 0x00008A57, - 14252: 0x00008A58, - 14253: 0x00008A44, - 14254: 0x00008A45, - 14255: 0x00008A52, - 14256: 0x00008A48, - 14257: 0x00008A51, - 14258: 0x00008A4A, - 14259: 0x00008A4C, - 14260: 0x00008A4F, - 14261: 0x00008C5F, - 14262: 0x00008C81, - 14263: 0x00008C80, - 14264: 0x00008CBA, - 14265: 0x00008CBE, - 14266: 0x00008CB0, - 14267: 0x00008CB9, - 14268: 0x00008CB5, - 14269: 0x00008D84, - 14270: 0x00008D80, - 14271: 0x00008D89, - 14272: 0x00008DD8, - 14273: 0x00008DD3, - 14274: 0x00008DCD, - 14275: 0x00008DC7, - 14276: 0x00008DD6, - 14277: 0x00008DDC, - 14278: 0x00008DCF, - 14279: 0x00008DD5, - 14280: 0x00008DD9, - 14281: 0x00008DC8, - 14282: 0x00008DD7, - 14283: 0x00008DC5, - 14284: 0x00008EEF, - 14285: 0x00008EF7, - 14286: 0x00008EFA, - 14287: 0x00008EF9, - 14288: 0x00008EE6, - 14289: 0x00008EEE, - 14290: 0x00008EE5, - 14291: 0x00008EF5, - 14292: 0x00008EE7, - 14293: 0x00008EE8, - 14294: 0x00008EF6, - 14295: 0x00008EEB, - 14296: 0x00008EF1, - 14297: 0x00008EEC, - 14298: 0x00008EF4, - 14299: 0x00008EE9, - 14300: 0x0000902D, - 14301: 0x00009034, - 14302: 0x0000902F, - 14303: 0x00009106, - 14304: 0x0000912C, - 14305: 0x00009104, - 14306: 0x000090FF, - 14307: 0x000090FC, - 14308: 0x00009108, - 14309: 0x000090F9, - 14310: 0x000090FB, - 14311: 0x00009101, - 14312: 0x00009100, - 14313: 0x00009107, - 14314: 0x00009105, - 14315: 0x00009103, - 14316: 0x00009161, - 14317: 0x00009164, - 14318: 0x0000915F, - 14319: 0x00009162, - 14320: 0x00009160, - 14321: 0x00009201, - 14322: 0x0000920A, - 14323: 0x00009225, - 14324: 0x00009203, - 14325: 0x0000921A, - 14326: 0x00009226, - 14327: 0x0000920F, - 14328: 0x0000920C, - 14329: 0x00009200, - 14330: 0x00009212, - 14331: 0x000091FF, - 14332: 0x000091FD, - 14333: 0x00009206, - 14334: 0x00009204, - 14335: 0x00009227, - 14336: 0x00009202, - 14337: 0x0000921C, - 14338: 0x00009224, - 14339: 0x00009219, - 14340: 0x00009217, - 14341: 0x00009205, - 14342: 0x00009216, - 14343: 0x0000957B, - 14344: 0x0000958D, - 14345: 0x0000958C, - 14346: 0x00009590, - 14347: 0x00009687, - 14348: 0x0000967E, - 14349: 0x00009688, - 14350: 0x00009689, - 14351: 0x00009683, - 14352: 0x00009680, - 14353: 0x000096C2, - 14354: 0x000096C8, - 14355: 0x000096C3, - 14356: 0x000096F1, - 14357: 0x000096F0, - 14358: 0x0000976C, - 14359: 0x00009770, - 14360: 0x0000976E, - 14361: 0x00009807, - 14362: 0x000098A9, - 14363: 0x000098EB, - 14364: 0x00009CE6, - 14365: 0x00009EF9, - 14366: 0x00004E83, - 14367: 0x00004E84, - 14368: 0x00004EB6, - 14369: 0x000050BD, - 14370: 0x000050BF, - 14371: 0x000050C6, - 14372: 0x000050AE, - 14373: 0x000050C4, - 14374: 0x000050CA, - 14375: 0x000050B4, - 14376: 0x000050C8, - 14377: 0x000050C2, - 14378: 0x000050B0, - 14379: 0x000050C1, - 14380: 0x000050BA, - 14381: 0x000050B1, - 14382: 0x000050CB, - 14383: 0x000050C9, - 14384: 0x000050B6, - 14385: 0x000050B8, - 14386: 0x000051D7, - 14387: 0x0000527A, - 14388: 0x00005278, - 14389: 0x0000527B, - 14390: 0x0000527C, - 14391: 0x000055C3, - 14392: 0x000055DB, - 14393: 0x000055CC, - 14394: 0x000055D0, - 14395: 0x000055CB, - 14396: 0x000055CA, - 14397: 0x000055DD, - 14398: 0x000055C0, - 14399: 0x000055D4, - 14400: 0x000055C4, - 14401: 0x000055E9, - 14402: 0x000055BF, - 14403: 0x000055D2, - 14404: 0x0000558D, - 14405: 0x000055CF, - 14406: 0x000055D5, - 14407: 0x000055E2, - 14408: 0x000055D6, - 14409: 0x000055C8, - 14410: 0x000055F2, - 14411: 0x000055CD, - 14412: 0x000055D9, - 14413: 0x000055C2, - 14414: 0x00005714, - 14415: 0x00005853, - 14416: 0x00005868, - 14417: 0x00005864, - 14418: 0x0000584F, - 14419: 0x0000584D, - 14420: 0x00005849, - 14421: 0x0000586F, - 14422: 0x00005855, - 14423: 0x0000584E, - 14424: 0x0000585D, - 14425: 0x00005859, - 14426: 0x00005865, - 14427: 0x0000585B, - 14428: 0x0000583D, - 14429: 0x00005863, - 14430: 0x00005871, - 14431: 0x000058FC, - 14432: 0x00005AC7, - 14433: 0x00005AC4, - 14434: 0x00005ACB, - 14435: 0x00005ABA, - 14436: 0x00005AB8, - 14437: 0x00005AB1, - 14438: 0x00005AB5, - 14439: 0x00005AB0, - 14440: 0x00005ABF, - 14441: 0x00005AC8, - 14442: 0x00005ABB, - 14443: 0x00005AC6, - 14444: 0x00005AB7, - 14445: 0x00005AC0, - 14446: 0x00005ACA, - 14447: 0x00005AB4, - 14448: 0x00005AB6, - 14449: 0x00005ACD, - 14450: 0x00005AB9, - 14451: 0x00005A90, - 14452: 0x00005BD6, - 14453: 0x00005BD8, - 14454: 0x00005BD9, - 14455: 0x00005C1F, - 14456: 0x00005C33, - 14457: 0x00005D71, - 14458: 0x00005D63, - 14459: 0x00005D4A, - 14460: 0x00005D65, - 14461: 0x00005D72, - 14462: 0x00005D6C, - 14463: 0x00005D5E, - 14464: 0x00005D68, - 14465: 0x00005D67, - 14466: 0x00005D62, - 14467: 0x00005DF0, - 14468: 0x00005E4F, - 14469: 0x00005E4E, - 14470: 0x00005E4A, - 14471: 0x00005E4D, - 14472: 0x00005E4B, - 14473: 0x00005EC5, - 14474: 0x00005ECC, - 14475: 0x00005EC6, - 14476: 0x00005ECB, - 14477: 0x00005EC7, - 14478: 0x00005F40, - 14479: 0x00005FAF, - 14480: 0x00005FAD, - 14481: 0x000060F7, - 14482: 0x00006149, - 14483: 0x0000614A, - 14484: 0x0000612B, - 14485: 0x00006145, - 14486: 0x00006136, - 14487: 0x00006132, - 14488: 0x0000612E, - 14489: 0x00006146, - 14490: 0x0000612F, - 14491: 0x0000614F, - 14492: 0x00006129, - 14493: 0x00006140, - 14494: 0x00006220, - 14495: 0x00009168, - 14496: 0x00006223, - 14497: 0x00006225, - 14498: 0x00006224, - 14499: 0x000063C5, - 14500: 0x000063F1, - 14501: 0x000063EB, - 14502: 0x00006410, - 14503: 0x00006412, - 14504: 0x00006409, - 14505: 0x00006420, - 14506: 0x00006424, - 14507: 0x00006433, - 14508: 0x00006443, - 14509: 0x0000641F, - 14510: 0x00006415, - 14511: 0x00006418, - 14512: 0x00006439, - 14513: 0x00006437, - 14514: 0x00006422, - 14515: 0x00006423, - 14516: 0x0000640C, - 14517: 0x00006426, - 14518: 0x00006430, - 14519: 0x00006428, - 14520: 0x00006441, - 14521: 0x00006435, - 14522: 0x0000642F, - 14523: 0x0000640A, - 14524: 0x0000641A, - 14525: 0x00006440, - 14526: 0x00006425, - 14527: 0x00006427, - 14528: 0x0000640B, - 14529: 0x000063E7, - 14530: 0x0000641B, - 14531: 0x0000642E, - 14532: 0x00006421, - 14533: 0x0000640E, - 14534: 0x0000656F, - 14535: 0x00006592, - 14536: 0x000065D3, - 14537: 0x00006686, - 14538: 0x0000668C, - 14539: 0x00006695, - 14540: 0x00006690, - 14541: 0x0000668B, - 14542: 0x0000668A, - 14543: 0x00006699, - 14544: 0x00006694, - 14545: 0x00006678, - 14546: 0x00006720, - 14547: 0x00006966, - 14548: 0x0000695F, - 14549: 0x00006938, - 14550: 0x0000694E, - 14551: 0x00006962, - 14552: 0x00006971, - 14553: 0x0000693F, - 14554: 0x00006945, - 14555: 0x0000696A, - 14556: 0x00006939, - 14557: 0x00006942, - 14558: 0x00006957, - 14559: 0x00006959, - 14560: 0x0000697A, - 14561: 0x00006948, - 14562: 0x00006949, - 14563: 0x00006935, - 14564: 0x0000696C, - 14565: 0x00006933, - 14566: 0x0000693D, - 14567: 0x00006965, - 14568: 0x000068F0, - 14569: 0x00006978, - 14570: 0x00006934, - 14571: 0x00006969, - 14572: 0x00006940, - 14573: 0x0000696F, - 14574: 0x00006944, - 14575: 0x00006976, - 14576: 0x00006958, - 14577: 0x00006941, - 14578: 0x00006974, - 14579: 0x0000694C, - 14580: 0x0000693B, - 14581: 0x0000694B, - 14582: 0x00006937, - 14583: 0x0000695C, - 14584: 0x0000694F, - 14585: 0x00006951, - 14586: 0x00006932, - 14587: 0x00006952, - 14588: 0x0000692F, - 14589: 0x0000697B, - 14590: 0x0000693C, - 14591: 0x00006B46, - 14592: 0x00006B45, - 14593: 0x00006B43, - 14594: 0x00006B42, - 14595: 0x00006B48, - 14596: 0x00006B41, - 14597: 0x00006B9B, - 14598: 0x0000FA0D, - 14599: 0x00006BFB, - 14600: 0x00006BFC, - 14601: 0x00006BF9, - 14602: 0x00006BF7, - 14603: 0x00006BF8, - 14604: 0x00006E9B, - 14605: 0x00006ED6, - 14606: 0x00006EC8, - 14607: 0x00006E8F, - 14608: 0x00006EC0, - 14609: 0x00006E9F, - 14610: 0x00006E93, - 14611: 0x00006E94, - 14612: 0x00006EA0, - 14613: 0x00006EB1, - 14614: 0x00006EB9, - 14615: 0x00006EC6, - 14616: 0x00006ED2, - 14617: 0x00006EBD, - 14618: 0x00006EC1, - 14619: 0x00006E9E, - 14620: 0x00006EC9, - 14621: 0x00006EB7, - 14622: 0x00006EB0, - 14623: 0x00006ECD, - 14624: 0x00006EA6, - 14625: 0x00006ECF, - 14626: 0x00006EB2, - 14627: 0x00006EBE, - 14628: 0x00006EC3, - 14629: 0x00006EDC, - 14630: 0x00006ED8, - 14631: 0x00006E99, - 14632: 0x00006E92, - 14633: 0x00006E8E, - 14634: 0x00006E8D, - 14635: 0x00006EA4, - 14636: 0x00006EA1, - 14637: 0x00006EBF, - 14638: 0x00006EB3, - 14639: 0x00006ED0, - 14640: 0x00006ECA, - 14641: 0x00006E97, - 14642: 0x00006EAE, - 14643: 0x00006EA3, - 14644: 0x00007147, - 14645: 0x00007154, - 14646: 0x00007152, - 14647: 0x00007163, - 14648: 0x00007160, - 14649: 0x00007141, - 14650: 0x0000715D, - 14651: 0x00007162, - 14652: 0x00007172, - 14653: 0x00007178, - 14654: 0x0000716A, - 14655: 0x00007161, - 14656: 0x00007142, - 14657: 0x00007158, - 14658: 0x00007143, - 14659: 0x0000714B, - 14660: 0x00007170, - 14661: 0x0000715F, - 14662: 0x00007150, - 14663: 0x00007153, - 14664: 0x00007144, - 14665: 0x0000714D, - 14666: 0x0000715A, - 14667: 0x0000724F, - 14668: 0x0000728D, - 14669: 0x0000728C, - 14670: 0x00007291, - 14671: 0x00007290, - 14672: 0x0000728E, - 14673: 0x0000733C, - 14674: 0x00007342, - 14675: 0x0000733B, - 14676: 0x0000733A, - 14677: 0x00007340, - 14678: 0x0000734A, - 14679: 0x00007349, - 14680: 0x00007444, - 14681: 0x0000744A, - 14682: 0x0000744B, - 14683: 0x00007452, - 14684: 0x00007451, - 14685: 0x00007457, - 14686: 0x00007440, - 14687: 0x0000744F, - 14688: 0x00007450, - 14689: 0x0000744E, - 14690: 0x00007442, - 14691: 0x00007446, - 14692: 0x0000744D, - 14693: 0x00007454, - 14694: 0x000074E1, - 14695: 0x000074FF, - 14696: 0x000074FE, - 14697: 0x000074FD, - 14698: 0x0000751D, - 14699: 0x00007579, - 14700: 0x00007577, - 14701: 0x00006983, - 14702: 0x000075EF, - 14703: 0x0000760F, - 14704: 0x00007603, - 14705: 0x000075F7, - 14706: 0x000075FE, - 14707: 0x000075FC, - 14708: 0x000075F9, - 14709: 0x000075F8, - 14710: 0x00007610, - 14711: 0x000075FB, - 14712: 0x000075F6, - 14713: 0x000075ED, - 14714: 0x000075F5, - 14715: 0x000075FD, - 14716: 0x00007699, - 14717: 0x000076B5, - 14718: 0x000076DD, - 14719: 0x00007755, - 14720: 0x0000775F, - 14721: 0x00007760, - 14722: 0x00007752, - 14723: 0x00007756, - 14724: 0x0000775A, - 14725: 0x00007769, - 14726: 0x00007767, - 14727: 0x00007754, - 14728: 0x00007759, - 14729: 0x0000776D, - 14730: 0x000077E0, - 14731: 0x00007887, - 14732: 0x0000789A, - 14733: 0x00007894, - 14734: 0x0000788F, - 14735: 0x00007884, - 14736: 0x00007895, - 14737: 0x00007885, - 14738: 0x00007886, - 14739: 0x000078A1, - 14740: 0x00007883, - 14741: 0x00007879, - 14742: 0x00007899, - 14743: 0x00007880, - 14744: 0x00007896, - 14745: 0x0000787B, - 14746: 0x0000797C, - 14747: 0x00007982, - 14748: 0x0000797D, - 14749: 0x00007979, - 14750: 0x00007A11, - 14751: 0x00007A18, - 14752: 0x00007A19, - 14753: 0x00007A12, - 14754: 0x00007A17, - 14755: 0x00007A15, - 14756: 0x00007A22, - 14757: 0x00007A13, - 14758: 0x00007A1B, - 14759: 0x00007A10, - 14760: 0x00007AA3, - 14761: 0x00007AA2, - 14762: 0x00007A9E, - 14763: 0x00007AEB, - 14764: 0x00007B66, - 14765: 0x00007B64, - 14766: 0x00007B6D, - 14767: 0x00007B74, - 14768: 0x00007B69, - 14769: 0x00007B72, - 14770: 0x00007B65, - 14771: 0x00007B73, - 14772: 0x00007B71, - 14773: 0x00007B70, - 14774: 0x00007B61, - 14775: 0x00007B78, - 14776: 0x00007B76, - 14777: 0x00007B63, - 14778: 0x00007CB2, - 14779: 0x00007CB4, - 14780: 0x00007CAF, - 14781: 0x00007D88, - 14782: 0x00007D86, - 14783: 0x00007D80, - 14784: 0x00007D8D, - 14785: 0x00007D7F, - 14786: 0x00007D85, - 14787: 0x00007D7A, - 14788: 0x00007D8E, - 14789: 0x00007D7B, - 14790: 0x00007D83, - 14791: 0x00007D7C, - 14792: 0x00007D8C, - 14793: 0x00007D94, - 14794: 0x00007D84, - 14795: 0x00007D7D, - 14796: 0x00007D92, - 14797: 0x00007F6D, - 14798: 0x00007F6B, - 14799: 0x00007F67, - 14800: 0x00007F68, - 14801: 0x00007F6C, - 14802: 0x00007FA6, - 14803: 0x00007FA5, - 14804: 0x00007FA7, - 14805: 0x00007FDB, - 14806: 0x00007FDC, - 14807: 0x00008021, - 14808: 0x00008164, - 14809: 0x00008160, - 14810: 0x00008177, - 14811: 0x0000815C, - 14812: 0x00008169, - 14813: 0x0000815B, - 14814: 0x00008162, - 14815: 0x00008172, - 14816: 0x00006721, - 14817: 0x0000815E, - 14818: 0x00008176, - 14819: 0x00008167, - 14820: 0x0000816F, - 14821: 0x00008144, - 14822: 0x00008161, - 14823: 0x0000821D, - 14824: 0x00008249, - 14825: 0x00008244, - 14826: 0x00008240, - 14827: 0x00008242, - 14828: 0x00008245, - 14829: 0x000084F1, - 14830: 0x0000843F, - 14831: 0x00008456, - 14832: 0x00008476, - 14833: 0x00008479, - 14834: 0x0000848F, - 14835: 0x0000848D, - 14836: 0x00008465, - 14837: 0x00008451, - 14838: 0x00008440, - 14839: 0x00008486, - 14840: 0x00008467, - 14841: 0x00008430, - 14842: 0x0000844D, - 14843: 0x0000847D, - 14844: 0x0000845A, - 14845: 0x00008459, - 14846: 0x00008474, - 14847: 0x00008473, - 14848: 0x0000845D, - 14849: 0x00008507, - 14850: 0x0000845E, - 14851: 0x00008437, - 14852: 0x0000843A, - 14853: 0x00008434, - 14854: 0x0000847A, - 14855: 0x00008443, - 14856: 0x00008478, - 14857: 0x00008432, - 14858: 0x00008445, - 14859: 0x00008429, - 14860: 0x000083D9, - 14861: 0x0000844B, - 14862: 0x0000842F, - 14863: 0x00008442, - 14864: 0x0000842D, - 14865: 0x0000845F, - 14866: 0x00008470, - 14867: 0x00008439, - 14868: 0x0000844E, - 14869: 0x0000844C, - 14870: 0x00008452, - 14871: 0x0000846F, - 14872: 0x000084C5, - 14873: 0x0000848E, - 14874: 0x0000843B, - 14875: 0x00008447, - 14876: 0x00008436, - 14877: 0x00008433, - 14878: 0x00008468, - 14879: 0x0000847E, - 14880: 0x00008444, - 14881: 0x0000842B, - 14882: 0x00008460, - 14883: 0x00008454, - 14884: 0x0000846E, - 14885: 0x00008450, - 14886: 0x0000870B, - 14887: 0x00008704, - 14888: 0x000086F7, - 14889: 0x0000870C, - 14890: 0x000086FA, - 14891: 0x000086D6, - 14892: 0x000086F5, - 14893: 0x0000874D, - 14894: 0x000086F8, - 14895: 0x0000870E, - 14896: 0x00008709, - 14897: 0x00008701, - 14898: 0x000086F6, - 14899: 0x0000870D, - 14900: 0x00008705, - 14901: 0x000088D6, - 14902: 0x000088CB, - 14903: 0x000088CD, - 14904: 0x000088CE, - 14905: 0x000088DE, - 14906: 0x000088DB, - 14907: 0x000088DA, - 14908: 0x000088CC, - 14909: 0x000088D0, - 14910: 0x00008985, - 14911: 0x0000899B, - 14912: 0x000089DF, - 14913: 0x000089E5, - 14914: 0x000089E4, - 14915: 0x000089E1, - 14916: 0x000089E0, - 14917: 0x000089E2, - 14918: 0x000089DC, - 14919: 0x000089E6, - 14920: 0x00008A76, - 14921: 0x00008A86, - 14922: 0x00008A7F, - 14923: 0x00008A61, - 14924: 0x00008A3F, - 14925: 0x00008A77, - 14926: 0x00008A82, - 14927: 0x00008A84, - 14928: 0x00008A75, - 14929: 0x00008A83, - 14930: 0x00008A81, - 14931: 0x00008A74, - 14932: 0x00008A7A, - 14933: 0x00008C3C, - 14934: 0x00008C4B, - 14935: 0x00008C4A, - 14936: 0x00008C65, - 14937: 0x00008C64, - 14938: 0x00008C66, - 14939: 0x00008C86, - 14940: 0x00008C84, - 14941: 0x00008C85, - 14942: 0x00008CCC, - 14943: 0x00008D68, - 14944: 0x00008D69, - 14945: 0x00008D91, - 14946: 0x00008D8C, - 14947: 0x00008D8E, - 14948: 0x00008D8F, - 14949: 0x00008D8D, - 14950: 0x00008D93, - 14951: 0x00008D94, - 14952: 0x00008D90, - 14953: 0x00008D92, - 14954: 0x00008DF0, - 14955: 0x00008DE0, - 14956: 0x00008DEC, - 14957: 0x00008DF1, - 14958: 0x00008DEE, - 14959: 0x00008DD0, - 14960: 0x00008DE9, - 14961: 0x00008DE3, - 14962: 0x00008DE2, - 14963: 0x00008DE7, - 14964: 0x00008DF2, - 14965: 0x00008DEB, - 14966: 0x00008DF4, - 14967: 0x00008F06, - 14968: 0x00008EFF, - 14969: 0x00008F01, - 14970: 0x00008F00, - 14971: 0x00008F05, - 14972: 0x00008F07, - 14973: 0x00008F08, - 14974: 0x00008F02, - 14975: 0x00008F0B, - 14976: 0x00009052, - 14977: 0x0000903F, - 14978: 0x00009044, - 14979: 0x00009049, - 14980: 0x0000903D, - 14981: 0x00009110, - 14982: 0x0000910D, - 14983: 0x0000910F, - 14984: 0x00009111, - 14985: 0x00009116, - 14986: 0x00009114, - 14987: 0x0000910B, - 14988: 0x0000910E, - 14989: 0x0000916E, - 14990: 0x0000916F, - 14991: 0x00009248, - 14992: 0x00009252, - 14993: 0x00009230, - 14994: 0x0000923A, - 14995: 0x00009266, - 14996: 0x00009233, - 14997: 0x00009265, - 14998: 0x0000925E, - 14999: 0x00009283, - 15000: 0x0000922E, - 15001: 0x0000924A, - 15002: 0x00009246, - 15003: 0x0000926D, - 15004: 0x0000926C, - 15005: 0x0000924F, - 15006: 0x00009260, - 15007: 0x00009267, - 15008: 0x0000926F, - 15009: 0x00009236, - 15010: 0x00009261, - 15011: 0x00009270, - 15012: 0x00009231, - 15013: 0x00009254, - 15014: 0x00009263, - 15015: 0x00009250, - 15016: 0x00009272, - 15017: 0x0000924E, - 15018: 0x00009253, - 15019: 0x0000924C, - 15020: 0x00009256, - 15021: 0x00009232, - 15022: 0x0000959F, - 15023: 0x0000959C, - 15024: 0x0000959E, - 15025: 0x0000959B, - 15026: 0x00009692, - 15027: 0x00009693, - 15028: 0x00009691, - 15029: 0x00009697, - 15030: 0x000096CE, - 15031: 0x000096FA, - 15032: 0x000096FD, - 15033: 0x000096F8, - 15034: 0x000096F5, - 15035: 0x00009773, - 15036: 0x00009777, - 15037: 0x00009778, - 15038: 0x00009772, - 15039: 0x0000980F, - 15040: 0x0000980D, - 15041: 0x0000980E, - 15042: 0x000098AC, - 15043: 0x000098F6, - 15044: 0x000098F9, - 15045: 0x000099AF, - 15046: 0x000099B2, - 15047: 0x000099B0, - 15048: 0x000099B5, - 15049: 0x00009AAD, - 15050: 0x00009AAB, - 15051: 0x00009B5B, - 15052: 0x00009CEA, - 15053: 0x00009CED, - 15054: 0x00009CE7, - 15055: 0x00009E80, - 15056: 0x00009EFD, - 15057: 0x000050E6, - 15058: 0x000050D4, - 15059: 0x000050D7, - 15060: 0x000050E8, - 15061: 0x000050F3, - 15062: 0x000050DB, - 15063: 0x000050EA, - 15064: 0x000050DD, - 15065: 0x000050E4, - 15066: 0x000050D3, - 15067: 0x000050EC, - 15068: 0x000050F0, - 15069: 0x000050EF, - 15070: 0x000050E3, - 15071: 0x000050E0, - 15072: 0x000051D8, - 15073: 0x00005280, - 15074: 0x00005281, - 15075: 0x000052E9, - 15076: 0x000052EB, - 15077: 0x00005330, - 15078: 0x000053AC, - 15079: 0x00005627, - 15080: 0x00005615, - 15081: 0x0000560C, - 15082: 0x00005612, - 15083: 0x000055FC, - 15084: 0x0000560F, - 15085: 0x0000561C, - 15086: 0x00005601, - 15087: 0x00005613, - 15088: 0x00005602, - 15089: 0x000055FA, - 15090: 0x0000561D, - 15091: 0x00005604, - 15092: 0x000055FF, - 15093: 0x000055F9, - 15094: 0x00005889, - 15095: 0x0000587C, - 15096: 0x00005890, - 15097: 0x00005898, - 15098: 0x00005886, - 15099: 0x00005881, - 15100: 0x0000587F, - 15101: 0x00005874, - 15102: 0x0000588B, - 15103: 0x0000587A, - 15104: 0x00005887, - 15105: 0x00005891, - 15106: 0x0000588E, - 15107: 0x00005876, - 15108: 0x00005882, - 15109: 0x00005888, - 15110: 0x0000587B, - 15111: 0x00005894, - 15112: 0x0000588F, - 15113: 0x000058FE, - 15114: 0x0000596B, - 15115: 0x00005ADC, - 15116: 0x00005AEE, - 15117: 0x00005AE5, - 15118: 0x00005AD5, - 15119: 0x00005AEA, - 15120: 0x00005ADA, - 15121: 0x00005AED, - 15122: 0x00005AEB, - 15123: 0x00005AF3, - 15124: 0x00005AE2, - 15125: 0x00005AE0, - 15126: 0x00005ADB, - 15127: 0x00005AEC, - 15128: 0x00005ADE, - 15129: 0x00005ADD, - 15130: 0x00005AD9, - 15131: 0x00005AE8, - 15132: 0x00005ADF, - 15133: 0x00005B77, - 15134: 0x00005BE0, - 15135: 0x00005BE3, - 15136: 0x00005C63, - 15137: 0x00005D82, - 15138: 0x00005D80, - 15139: 0x00005D7D, - 15140: 0x00005D86, - 15141: 0x00005D7A, - 15142: 0x00005D81, - 15143: 0x00005D77, - 15144: 0x00005D8A, - 15145: 0x00005D89, - 15146: 0x00005D88, - 15147: 0x00005D7E, - 15148: 0x00005D7C, - 15149: 0x00005D8D, - 15150: 0x00005D79, - 15151: 0x00005D7F, - 15152: 0x00005E58, - 15153: 0x00005E59, - 15154: 0x00005E53, - 15155: 0x00005ED8, - 15156: 0x00005ED1, - 15157: 0x00005ED7, - 15158: 0x00005ECE, - 15159: 0x00005EDC, - 15160: 0x00005ED5, - 15161: 0x00005ED9, - 15162: 0x00005ED2, - 15163: 0x00005ED4, - 15164: 0x00005F44, - 15165: 0x00005F43, - 15166: 0x00005F6F, - 15167: 0x00005FB6, - 15168: 0x0000612C, - 15169: 0x00006128, - 15170: 0x00006141, - 15171: 0x0000615E, - 15172: 0x00006171, - 15173: 0x00006173, - 15174: 0x00006152, - 15175: 0x00006153, - 15176: 0x00006172, - 15177: 0x0000616C, - 15178: 0x00006180, - 15179: 0x00006174, - 15180: 0x00006154, - 15181: 0x0000617A, - 15182: 0x0000615B, - 15183: 0x00006165, - 15184: 0x0000613B, - 15185: 0x0000616A, - 15186: 0x00006161, - 15187: 0x00006156, - 15188: 0x00006229, - 15189: 0x00006227, - 15190: 0x0000622B, - 15191: 0x0000642B, - 15192: 0x0000644D, - 15193: 0x0000645B, - 15194: 0x0000645D, - 15195: 0x00006474, - 15196: 0x00006476, - 15197: 0x00006472, - 15198: 0x00006473, - 15199: 0x0000647D, - 15200: 0x00006475, - 15201: 0x00006466, - 15202: 0x000064A6, - 15203: 0x0000644E, - 15204: 0x00006482, - 15205: 0x0000645E, - 15206: 0x0000645C, - 15207: 0x0000644B, - 15208: 0x00006453, - 15209: 0x00006460, - 15210: 0x00006450, - 15211: 0x0000647F, - 15212: 0x0000643F, - 15213: 0x0000646C, - 15214: 0x0000646B, - 15215: 0x00006459, - 15216: 0x00006465, - 15217: 0x00006477, - 15218: 0x00006573, - 15219: 0x000065A0, - 15220: 0x000066A1, - 15221: 0x000066A0, - 15222: 0x0000669F, - 15223: 0x00006705, - 15224: 0x00006704, - 15225: 0x00006722, - 15226: 0x000069B1, - 15227: 0x000069B6, - 15228: 0x000069C9, - 15229: 0x000069A0, - 15230: 0x000069CE, - 15231: 0x00006996, - 15232: 0x000069B0, - 15233: 0x000069AC, - 15234: 0x000069BC, - 15235: 0x00006991, - 15236: 0x00006999, - 15237: 0x0000698E, - 15238: 0x000069A7, - 15239: 0x0000698D, - 15240: 0x000069A9, - 15241: 0x000069BE, - 15242: 0x000069AF, - 15243: 0x000069BF, - 15244: 0x000069C4, - 15245: 0x000069BD, - 15246: 0x000069A4, - 15247: 0x000069D4, - 15248: 0x000069B9, - 15249: 0x000069CA, - 15250: 0x0000699A, - 15251: 0x000069CF, - 15252: 0x000069B3, - 15253: 0x00006993, - 15254: 0x000069AA, - 15255: 0x000069A1, - 15256: 0x0000699E, - 15257: 0x000069D9, - 15258: 0x00006997, - 15259: 0x00006990, - 15260: 0x000069C2, - 15261: 0x000069B5, - 15262: 0x000069A5, - 15263: 0x000069C6, - 15264: 0x00006B4A, - 15265: 0x00006B4D, - 15266: 0x00006B4B, - 15267: 0x00006B9E, - 15268: 0x00006B9F, - 15269: 0x00006BA0, - 15270: 0x00006BC3, - 15271: 0x00006BC4, - 15272: 0x00006BFE, - 15273: 0x00006ECE, - 15274: 0x00006EF5, - 15275: 0x00006EF1, - 15276: 0x00006F03, - 15277: 0x00006F25, - 15278: 0x00006EF8, - 15279: 0x00006F37, - 15280: 0x00006EFB, - 15281: 0x00006F2E, - 15282: 0x00006F09, - 15283: 0x00006F4E, - 15284: 0x00006F19, - 15285: 0x00006F1A, - 15286: 0x00006F27, - 15287: 0x00006F18, - 15288: 0x00006F3B, - 15289: 0x00006F12, - 15290: 0x00006EED, - 15291: 0x00006F0A, - 15292: 0x00006F36, - 15293: 0x00006F73, - 15294: 0x00006EF9, - 15295: 0x00006EEE, - 15296: 0x00006F2D, - 15297: 0x00006F40, - 15298: 0x00006F30, - 15299: 0x00006F3C, - 15300: 0x00006F35, - 15301: 0x00006EEB, - 15302: 0x00006F07, - 15303: 0x00006F0E, - 15304: 0x00006F43, - 15305: 0x00006F05, - 15306: 0x00006EFD, - 15307: 0x00006EF6, - 15308: 0x00006F39, - 15309: 0x00006F1C, - 15310: 0x00006EFC, - 15311: 0x00006F3A, - 15312: 0x00006F1F, - 15313: 0x00006F0D, - 15314: 0x00006F1E, - 15315: 0x00006F08, - 15316: 0x00006F21, - 15317: 0x00007187, - 15318: 0x00007190, - 15319: 0x00007189, - 15320: 0x00007180, - 15321: 0x00007185, - 15322: 0x00007182, - 15323: 0x0000718F, - 15324: 0x0000717B, - 15325: 0x00007186, - 15326: 0x00007181, - 15327: 0x00007197, - 15328: 0x00007244, - 15329: 0x00007253, - 15330: 0x00007297, - 15331: 0x00007295, - 15332: 0x00007293, - 15333: 0x00007343, - 15334: 0x0000734D, - 15335: 0x00007351, - 15336: 0x0000734C, - 15337: 0x00007462, - 15338: 0x00007473, - 15339: 0x00007471, - 15340: 0x00007475, - 15341: 0x00007472, - 15342: 0x00007467, - 15343: 0x0000746E, - 15344: 0x00007500, - 15345: 0x00007502, - 15346: 0x00007503, - 15347: 0x0000757D, - 15348: 0x00007590, - 15349: 0x00007616, - 15350: 0x00007608, - 15351: 0x0000760C, - 15352: 0x00007615, - 15353: 0x00007611, - 15354: 0x0000760A, - 15355: 0x00007614, - 15356: 0x000076B8, - 15357: 0x00007781, - 15358: 0x0000777C, - 15359: 0x00007785, - 15360: 0x00007782, - 15361: 0x0000776E, - 15362: 0x00007780, - 15363: 0x0000776F, - 15364: 0x0000777E, - 15365: 0x00007783, - 15366: 0x000078B2, - 15367: 0x000078AA, - 15368: 0x000078B4, - 15369: 0x000078AD, - 15370: 0x000078A8, - 15371: 0x0000787E, - 15372: 0x000078AB, - 15373: 0x0000789E, - 15374: 0x000078A5, - 15375: 0x000078A0, - 15376: 0x000078AC, - 15377: 0x000078A2, - 15378: 0x000078A4, - 15379: 0x00007998, - 15380: 0x0000798A, - 15381: 0x0000798B, - 15382: 0x00007996, - 15383: 0x00007995, - 15384: 0x00007994, - 15385: 0x00007993, - 15386: 0x00007997, - 15387: 0x00007988, - 15388: 0x00007992, - 15389: 0x00007990, - 15390: 0x00007A2B, - 15391: 0x00007A4A, - 15392: 0x00007A30, - 15393: 0x00007A2F, - 15394: 0x00007A28, - 15395: 0x00007A26, - 15396: 0x00007AA8, - 15397: 0x00007AAB, - 15398: 0x00007AAC, - 15399: 0x00007AEE, - 15400: 0x00007B88, - 15401: 0x00007B9C, - 15402: 0x00007B8A, - 15403: 0x00007B91, - 15404: 0x00007B90, - 15405: 0x00007B96, - 15406: 0x00007B8D, - 15407: 0x00007B8C, - 15408: 0x00007B9B, - 15409: 0x00007B8E, - 15410: 0x00007B85, - 15411: 0x00007B98, - 15412: 0x00005284, - 15413: 0x00007B99, - 15414: 0x00007BA4, - 15415: 0x00007B82, - 15416: 0x00007CBB, - 15417: 0x00007CBF, - 15418: 0x00007CBC, - 15419: 0x00007CBA, - 15420: 0x00007DA7, - 15421: 0x00007DB7, - 15422: 0x00007DC2, - 15423: 0x00007DA3, - 15424: 0x00007DAA, - 15425: 0x00007DC1, - 15426: 0x00007DC0, - 15427: 0x00007DC5, - 15428: 0x00007D9D, - 15429: 0x00007DCE, - 15430: 0x00007DC4, - 15431: 0x00007DC6, - 15432: 0x00007DCB, - 15433: 0x00007DCC, - 15434: 0x00007DAF, - 15435: 0x00007DB9, - 15436: 0x00007D96, - 15437: 0x00007DBC, - 15438: 0x00007D9F, - 15439: 0x00007DA6, - 15440: 0x00007DAE, - 15441: 0x00007DA9, - 15442: 0x00007DA1, - 15443: 0x00007DC9, - 15444: 0x00007F73, - 15445: 0x00007FE2, - 15446: 0x00007FE3, - 15447: 0x00007FE5, - 15448: 0x00007FDE, - 15449: 0x00008024, - 15450: 0x0000805D, - 15451: 0x0000805C, - 15452: 0x00008189, - 15453: 0x00008186, - 15454: 0x00008183, - 15455: 0x00008187, - 15456: 0x0000818D, - 15457: 0x0000818C, - 15458: 0x0000818B, - 15459: 0x00008215, - 15460: 0x00008497, - 15461: 0x000084A4, - 15462: 0x000084A1, - 15463: 0x0000849F, - 15464: 0x000084BA, - 15465: 0x000084CE, - 15466: 0x000084C2, - 15467: 0x000084AC, - 15468: 0x000084AE, - 15469: 0x000084AB, - 15470: 0x000084B9, - 15471: 0x000084B4, - 15472: 0x000084C1, - 15473: 0x000084CD, - 15474: 0x000084AA, - 15475: 0x0000849A, - 15476: 0x000084B1, - 15477: 0x000084D0, - 15478: 0x0000849D, - 15479: 0x000084A7, - 15480: 0x000084BB, - 15481: 0x000084A2, - 15482: 0x00008494, - 15483: 0x000084C7, - 15484: 0x000084CC, - 15485: 0x0000849B, - 15486: 0x000084A9, - 15487: 0x000084AF, - 15488: 0x000084A8, - 15489: 0x000084D6, - 15490: 0x00008498, - 15491: 0x000084B6, - 15492: 0x000084CF, - 15493: 0x000084A0, - 15494: 0x000084D7, - 15495: 0x000084D4, - 15496: 0x000084D2, - 15497: 0x000084DB, - 15498: 0x000084B0, - 15499: 0x00008491, - 15500: 0x00008661, - 15501: 0x00008733, - 15502: 0x00008723, - 15503: 0x00008728, - 15504: 0x0000876B, - 15505: 0x00008740, - 15506: 0x0000872E, - 15507: 0x0000871E, - 15508: 0x00008721, - 15509: 0x00008719, - 15510: 0x0000871B, - 15511: 0x00008743, - 15512: 0x0000872C, - 15513: 0x00008741, - 15514: 0x0000873E, - 15515: 0x00008746, - 15516: 0x00008720, - 15517: 0x00008732, - 15518: 0x0000872A, - 15519: 0x0000872D, - 15520: 0x0000873C, - 15521: 0x00008712, - 15522: 0x0000873A, - 15523: 0x00008731, - 15524: 0x00008735, - 15525: 0x00008742, - 15526: 0x00008726, - 15527: 0x00008727, - 15528: 0x00008738, - 15529: 0x00008724, - 15530: 0x0000871A, - 15531: 0x00008730, - 15532: 0x00008711, - 15533: 0x000088F7, - 15534: 0x000088E7, - 15535: 0x000088F1, - 15536: 0x000088F2, - 15537: 0x000088FA, - 15538: 0x000088FE, - 15539: 0x000088EE, - 15540: 0x000088FC, - 15541: 0x000088F6, - 15542: 0x000088FB, - 15543: 0x000088F0, - 15544: 0x000088EC, - 15545: 0x000088EB, - 15546: 0x0000899D, - 15547: 0x000089A1, - 15548: 0x0000899F, - 15549: 0x0000899E, - 15550: 0x000089E9, - 15551: 0x000089EB, - 15552: 0x000089E8, - 15553: 0x00008AAB, - 15554: 0x00008A99, - 15555: 0x00008A8B, - 15556: 0x00008A92, - 15557: 0x00008A8F, - 15558: 0x00008A96, - 15559: 0x00008C3D, - 15560: 0x00008C68, - 15561: 0x00008C69, - 15562: 0x00008CD5, - 15563: 0x00008CCF, - 15564: 0x00008CD7, - 15565: 0x00008D96, - 15566: 0x00008E09, - 15567: 0x00008E02, - 15568: 0x00008DFF, - 15569: 0x00008E0D, - 15570: 0x00008DFD, - 15571: 0x00008E0A, - 15572: 0x00008E03, - 15573: 0x00008E07, - 15574: 0x00008E06, - 15575: 0x00008E05, - 15576: 0x00008DFE, - 15577: 0x00008E00, - 15578: 0x00008E04, - 15579: 0x00008F10, - 15580: 0x00008F11, - 15581: 0x00008F0E, - 15582: 0x00008F0D, - 15583: 0x00009123, - 15584: 0x0000911C, - 15585: 0x00009120, - 15586: 0x00009122, - 15587: 0x0000911F, - 15588: 0x0000911D, - 15589: 0x0000911A, - 15590: 0x00009124, - 15591: 0x00009121, - 15592: 0x0000911B, - 15593: 0x0000917A, - 15594: 0x00009172, - 15595: 0x00009179, - 15596: 0x00009173, - 15597: 0x000092A5, - 15598: 0x000092A4, - 15599: 0x00009276, - 15600: 0x0000929B, - 15601: 0x0000927A, - 15602: 0x000092A0, - 15603: 0x00009294, - 15604: 0x000092AA, - 15605: 0x0000928D, - 15606: 0x000092A6, - 15607: 0x0000929A, - 15608: 0x000092AB, - 15609: 0x00009279, - 15610: 0x00009297, - 15611: 0x0000927F, - 15612: 0x000092A3, - 15613: 0x000092EE, - 15614: 0x0000928E, - 15615: 0x00009282, - 15616: 0x00009295, - 15617: 0x000092A2, - 15618: 0x0000927D, - 15619: 0x00009288, - 15620: 0x000092A1, - 15621: 0x0000928A, - 15622: 0x00009286, - 15623: 0x0000928C, - 15624: 0x00009299, - 15625: 0x000092A7, - 15626: 0x0000927E, - 15627: 0x00009287, - 15628: 0x000092A9, - 15629: 0x0000929D, - 15630: 0x0000928B, - 15631: 0x0000922D, - 15632: 0x0000969E, - 15633: 0x000096A1, - 15634: 0x000096FF, - 15635: 0x00009758, - 15636: 0x0000977D, - 15637: 0x0000977A, - 15638: 0x0000977E, - 15639: 0x00009783, - 15640: 0x00009780, - 15641: 0x00009782, - 15642: 0x0000977B, - 15643: 0x00009784, - 15644: 0x00009781, - 15645: 0x0000977F, - 15646: 0x000097CE, - 15647: 0x000097CD, - 15648: 0x00009816, - 15649: 0x000098AD, - 15650: 0x000098AE, - 15651: 0x00009902, - 15652: 0x00009900, - 15653: 0x00009907, - 15654: 0x0000999D, - 15655: 0x0000999C, - 15656: 0x000099C3, - 15657: 0x000099B9, - 15658: 0x000099BB, - 15659: 0x000099BA, - 15660: 0x000099C2, - 15661: 0x000099BD, - 15662: 0x000099C7, - 15663: 0x00009AB1, - 15664: 0x00009AE3, - 15665: 0x00009AE7, - 15666: 0x00009B3E, - 15667: 0x00009B3F, - 15668: 0x00009B60, - 15669: 0x00009B61, - 15670: 0x00009B5F, - 15671: 0x00009CF1, - 15672: 0x00009CF2, - 15673: 0x00009CF5, - 15674: 0x00009EA7, - 15675: 0x000050FF, - 15676: 0x00005103, - 15677: 0x00005130, - 15678: 0x000050F8, - 15679: 0x00005106, - 15680: 0x00005107, - 15681: 0x000050F6, - 15682: 0x000050FE, - 15683: 0x0000510B, - 15684: 0x0000510C, - 15685: 0x000050FD, - 15686: 0x0000510A, - 15687: 0x0000528B, - 15688: 0x0000528C, - 15689: 0x000052F1, - 15690: 0x000052EF, - 15691: 0x00005648, - 15692: 0x00005642, - 15693: 0x0000564C, - 15694: 0x00005635, - 15695: 0x00005641, - 15696: 0x0000564A, - 15697: 0x00005649, - 15698: 0x00005646, - 15699: 0x00005658, - 15700: 0x0000565A, - 15701: 0x00005640, - 15702: 0x00005633, - 15703: 0x0000563D, - 15704: 0x0000562C, - 15705: 0x0000563E, - 15706: 0x00005638, - 15707: 0x0000562A, - 15708: 0x0000563A, - 15709: 0x0000571A, - 15710: 0x000058AB, - 15711: 0x0000589D, - 15712: 0x000058B1, - 15713: 0x000058A0, - 15714: 0x000058A3, - 15715: 0x000058AF, - 15716: 0x000058AC, - 15717: 0x000058A5, - 15718: 0x000058A1, - 15719: 0x000058FF, - 15720: 0x00005AFF, - 15721: 0x00005AF4, - 15722: 0x00005AFD, - 15723: 0x00005AF7, - 15724: 0x00005AF6, - 15725: 0x00005B03, - 15726: 0x00005AF8, - 15727: 0x00005B02, - 15728: 0x00005AF9, - 15729: 0x00005B01, - 15730: 0x00005B07, - 15731: 0x00005B05, - 15732: 0x00005B0F, - 15733: 0x00005C67, - 15734: 0x00005D99, - 15735: 0x00005D97, - 15736: 0x00005D9F, - 15737: 0x00005D92, - 15738: 0x00005DA2, - 15739: 0x00005D93, - 15740: 0x00005D95, - 15741: 0x00005DA0, - 15742: 0x00005D9C, - 15743: 0x00005DA1, - 15744: 0x00005D9A, - 15745: 0x00005D9E, - 15746: 0x00005E69, - 15747: 0x00005E5D, - 15748: 0x00005E60, - 15749: 0x00005E5C, - 15750: 0x00007DF3, - 15751: 0x00005EDB, - 15752: 0x00005EDE, - 15753: 0x00005EE1, - 15754: 0x00005F49, - 15755: 0x00005FB2, - 15756: 0x0000618B, - 15757: 0x00006183, - 15758: 0x00006179, - 15759: 0x000061B1, - 15760: 0x000061B0, - 15761: 0x000061A2, - 15762: 0x00006189, - 15763: 0x0000619B, - 15764: 0x00006193, - 15765: 0x000061AF, - 15766: 0x000061AD, - 15767: 0x0000619F, - 15768: 0x00006192, - 15769: 0x000061AA, - 15770: 0x000061A1, - 15771: 0x0000618D, - 15772: 0x00006166, - 15773: 0x000061B3, - 15774: 0x0000622D, - 15775: 0x0000646E, - 15776: 0x00006470, - 15777: 0x00006496, - 15778: 0x000064A0, - 15779: 0x00006485, - 15780: 0x00006497, - 15781: 0x0000649C, - 15782: 0x0000648F, - 15783: 0x0000648B, - 15784: 0x0000648A, - 15785: 0x0000648C, - 15786: 0x000064A3, - 15787: 0x0000649F, - 15788: 0x00006468, - 15789: 0x000064B1, - 15790: 0x00006498, - 15791: 0x00006576, - 15792: 0x0000657A, - 15793: 0x00006579, - 15794: 0x0000657B, - 15795: 0x000065B2, - 15796: 0x000065B3, - 15797: 0x000066B5, - 15798: 0x000066B0, - 15799: 0x000066A9, - 15800: 0x000066B2, - 15801: 0x000066B7, - 15802: 0x000066AA, - 15803: 0x000066AF, - 15804: 0x00006A00, - 15805: 0x00006A06, - 15806: 0x00006A17, - 15807: 0x000069E5, - 15808: 0x000069F8, - 15809: 0x00006A15, - 15810: 0x000069F1, - 15811: 0x000069E4, - 15812: 0x00006A20, - 15813: 0x000069FF, - 15814: 0x000069EC, - 15815: 0x000069E2, - 15816: 0x00006A1B, - 15817: 0x00006A1D, - 15818: 0x000069FE, - 15819: 0x00006A27, - 15820: 0x000069F2, - 15821: 0x000069EE, - 15822: 0x00006A14, - 15823: 0x000069F7, - 15824: 0x000069E7, - 15825: 0x00006A40, - 15826: 0x00006A08, - 15827: 0x000069E6, - 15828: 0x000069FB, - 15829: 0x00006A0D, - 15830: 0x000069FC, - 15831: 0x000069EB, - 15832: 0x00006A09, - 15833: 0x00006A04, - 15834: 0x00006A18, - 15835: 0x00006A25, - 15836: 0x00006A0F, - 15837: 0x000069F6, - 15838: 0x00006A26, - 15839: 0x00006A07, - 15840: 0x000069F4, - 15841: 0x00006A16, - 15842: 0x00006B51, - 15843: 0x00006BA5, - 15844: 0x00006BA3, - 15845: 0x00006BA2, - 15846: 0x00006BA6, - 15847: 0x00006C01, - 15848: 0x00006C00, - 15849: 0x00006BFF, - 15850: 0x00006C02, - 15851: 0x00006F41, - 15852: 0x00006F26, - 15853: 0x00006F7E, - 15854: 0x00006F87, - 15855: 0x00006FC6, - 15856: 0x00006F92, - 15857: 0x00006F8D, - 15858: 0x00006F89, - 15859: 0x00006F8C, - 15860: 0x00006F62, - 15861: 0x00006F4F, - 15862: 0x00006F85, - 15863: 0x00006F5A, - 15864: 0x00006F96, - 15865: 0x00006F76, - 15866: 0x00006F6C, - 15867: 0x00006F82, - 15868: 0x00006F55, - 15869: 0x00006F72, - 15870: 0x00006F52, - 15871: 0x00006F50, - 15872: 0x00006F57, - 15873: 0x00006F94, - 15874: 0x00006F93, - 15875: 0x00006F5D, - 15876: 0x00006F00, - 15877: 0x00006F61, - 15878: 0x00006F6B, - 15879: 0x00006F7D, - 15880: 0x00006F67, - 15881: 0x00006F90, - 15882: 0x00006F53, - 15883: 0x00006F8B, - 15884: 0x00006F69, - 15885: 0x00006F7F, - 15886: 0x00006F95, - 15887: 0x00006F63, - 15888: 0x00006F77, - 15889: 0x00006F6A, - 15890: 0x00006F7B, - 15891: 0x000071B2, - 15892: 0x000071AF, - 15893: 0x0000719B, - 15894: 0x000071B0, - 15895: 0x000071A0, - 15896: 0x0000719A, - 15897: 0x000071A9, - 15898: 0x000071B5, - 15899: 0x0000719D, - 15900: 0x000071A5, - 15901: 0x0000719E, - 15902: 0x000071A4, - 15903: 0x000071A1, - 15904: 0x000071AA, - 15905: 0x0000719C, - 15906: 0x000071A7, - 15907: 0x000071B3, - 15908: 0x00007298, - 15909: 0x0000729A, - 15910: 0x00007358, - 15911: 0x00007352, - 15912: 0x0000735E, - 15913: 0x0000735F, - 15914: 0x00007360, - 15915: 0x0000735D, - 15916: 0x0000735B, - 15917: 0x00007361, - 15918: 0x0000735A, - 15919: 0x00007359, - 15920: 0x00007362, - 15921: 0x00007487, - 15922: 0x00007489, - 15923: 0x0000748A, - 15924: 0x00007486, - 15925: 0x00007481, - 15926: 0x0000747D, - 15927: 0x00007485, - 15928: 0x00007488, - 15929: 0x0000747C, - 15930: 0x00007479, - 15931: 0x00007508, - 15932: 0x00007507, - 15933: 0x0000757E, - 15934: 0x00007625, - 15935: 0x0000761E, - 15936: 0x00007619, - 15937: 0x0000761D, - 15938: 0x0000761C, - 15939: 0x00007623, - 15940: 0x0000761A, - 15941: 0x00007628, - 15942: 0x0000761B, - 15943: 0x0000769C, - 15944: 0x0000769D, - 15945: 0x0000769E, - 15946: 0x0000769B, - 15947: 0x0000778D, - 15948: 0x0000778F, - 15949: 0x00007789, - 15950: 0x00007788, - 15951: 0x000078CD, - 15952: 0x000078BB, - 15953: 0x000078CF, - 15954: 0x000078CC, - 15955: 0x000078D1, - 15956: 0x000078CE, - 15957: 0x000078D4, - 15958: 0x000078C8, - 15959: 0x000078C3, - 15960: 0x000078C4, - 15961: 0x000078C9, - 15962: 0x0000799A, - 15963: 0x000079A1, - 15964: 0x000079A0, - 15965: 0x0000799C, - 15966: 0x000079A2, - 15967: 0x0000799B, - 15968: 0x00006B76, - 15969: 0x00007A39, - 15970: 0x00007AB2, - 15971: 0x00007AB4, - 15972: 0x00007AB3, - 15973: 0x00007BB7, - 15974: 0x00007BCB, - 15975: 0x00007BBE, - 15976: 0x00007BAC, - 15977: 0x00007BCE, - 15978: 0x00007BAF, - 15979: 0x00007BB9, - 15980: 0x00007BCA, - 15981: 0x00007BB5, - 15982: 0x00007CC5, - 15983: 0x00007CC8, - 15984: 0x00007CCC, - 15985: 0x00007CCB, - 15986: 0x00007DF7, - 15987: 0x00007DDB, - 15988: 0x00007DEA, - 15989: 0x00007DE7, - 15990: 0x00007DD7, - 15991: 0x00007DE1, - 15992: 0x00007E03, - 15993: 0x00007DFA, - 15994: 0x00007DE6, - 15995: 0x00007DF6, - 15996: 0x00007DF1, - 15997: 0x00007DF0, - 15998: 0x00007DEE, - 15999: 0x00007DDF, - 16000: 0x00007F76, - 16001: 0x00007FAC, - 16002: 0x00007FB0, - 16003: 0x00007FAD, - 16004: 0x00007FED, - 16005: 0x00007FEB, - 16006: 0x00007FEA, - 16007: 0x00007FEC, - 16008: 0x00007FE6, - 16009: 0x00007FE8, - 16010: 0x00008064, - 16011: 0x00008067, - 16012: 0x000081A3, - 16013: 0x0000819F, - 16014: 0x0000819E, - 16015: 0x00008195, - 16016: 0x000081A2, - 16017: 0x00008199, - 16018: 0x00008197, - 16019: 0x00008216, - 16020: 0x0000824F, - 16021: 0x00008253, - 16022: 0x00008252, - 16023: 0x00008250, - 16024: 0x0000824E, - 16025: 0x00008251, - 16026: 0x00008524, - 16027: 0x0000853B, - 16028: 0x0000850F, - 16029: 0x00008500, - 16030: 0x00008529, - 16031: 0x0000850E, - 16032: 0x00008509, - 16033: 0x0000850D, - 16034: 0x0000851F, - 16035: 0x0000850A, - 16036: 0x00008527, - 16037: 0x0000851C, - 16038: 0x000084FB, - 16039: 0x0000852B, - 16040: 0x000084FA, - 16041: 0x00008508, - 16042: 0x0000850C, - 16043: 0x000084F4, - 16044: 0x0000852A, - 16045: 0x000084F2, - 16046: 0x00008515, - 16047: 0x000084F7, - 16048: 0x000084EB, - 16049: 0x000084F3, - 16050: 0x000084FC, - 16051: 0x00008512, - 16052: 0x000084EA, - 16053: 0x000084E9, - 16054: 0x00008516, - 16055: 0x000084FE, - 16056: 0x00008528, - 16057: 0x0000851D, - 16058: 0x0000852E, - 16059: 0x00008502, - 16060: 0x000084FD, - 16061: 0x0000851E, - 16062: 0x000084F6, - 16063: 0x00008531, - 16064: 0x00008526, - 16065: 0x000084E7, - 16066: 0x000084E8, - 16067: 0x000084F0, - 16068: 0x000084EF, - 16069: 0x000084F9, - 16070: 0x00008518, - 16071: 0x00008520, - 16072: 0x00008530, - 16073: 0x0000850B, - 16074: 0x00008519, - 16075: 0x0000852F, - 16076: 0x00008662, - 16077: 0x00008756, - 16078: 0x00008763, - 16079: 0x00008764, - 16080: 0x00008777, - 16081: 0x000087E1, - 16082: 0x00008773, - 16083: 0x00008758, - 16084: 0x00008754, - 16085: 0x0000875B, - 16086: 0x00008752, - 16087: 0x00008761, - 16088: 0x0000875A, - 16089: 0x00008751, - 16090: 0x0000875E, - 16091: 0x0000876D, - 16092: 0x0000876A, - 16093: 0x00008750, - 16094: 0x0000874E, - 16095: 0x0000875F, - 16096: 0x0000875D, - 16097: 0x0000876F, - 16098: 0x0000876C, - 16099: 0x0000877A, - 16100: 0x0000876E, - 16101: 0x0000875C, - 16102: 0x00008765, - 16103: 0x0000874F, - 16104: 0x0000877B, - 16105: 0x00008775, - 16106: 0x00008762, - 16107: 0x00008767, - 16108: 0x00008769, - 16109: 0x0000885A, - 16110: 0x00008905, - 16111: 0x0000890C, - 16112: 0x00008914, - 16113: 0x0000890B, - 16114: 0x00008917, - 16115: 0x00008918, - 16116: 0x00008919, - 16117: 0x00008906, - 16118: 0x00008916, - 16119: 0x00008911, - 16120: 0x0000890E, - 16121: 0x00008909, - 16122: 0x000089A2, - 16123: 0x000089A4, - 16124: 0x000089A3, - 16125: 0x000089ED, - 16126: 0x000089F0, - 16127: 0x000089EC, - 16128: 0x00008ACF, - 16129: 0x00008AC6, - 16130: 0x00008AB8, - 16131: 0x00008AD3, - 16132: 0x00008AD1, - 16133: 0x00008AD4, - 16134: 0x00008AD5, - 16135: 0x00008ABB, - 16136: 0x00008AD7, - 16137: 0x00008ABE, - 16138: 0x00008AC0, - 16139: 0x00008AC5, - 16140: 0x00008AD8, - 16141: 0x00008AC3, - 16142: 0x00008ABA, - 16143: 0x00008ABD, - 16144: 0x00008AD9, - 16145: 0x00008C3E, - 16146: 0x00008C4D, - 16147: 0x00008C8F, - 16148: 0x00008CE5, - 16149: 0x00008CDF, - 16150: 0x00008CD9, - 16151: 0x00008CE8, - 16152: 0x00008CDA, - 16153: 0x00008CDD, - 16154: 0x00008CE7, - 16155: 0x00008DA0, - 16156: 0x00008D9C, - 16157: 0x00008DA1, - 16158: 0x00008D9B, - 16159: 0x00008E20, - 16160: 0x00008E23, - 16161: 0x00008E25, - 16162: 0x00008E24, - 16163: 0x00008E2E, - 16164: 0x00008E15, - 16165: 0x00008E1B, - 16166: 0x00008E16, - 16167: 0x00008E11, - 16168: 0x00008E19, - 16169: 0x00008E26, - 16170: 0x00008E27, - 16171: 0x00008E14, - 16172: 0x00008E12, - 16173: 0x00008E18, - 16174: 0x00008E13, - 16175: 0x00008E1C, - 16176: 0x00008E17, - 16177: 0x00008E1A, - 16178: 0x00008F2C, - 16179: 0x00008F24, - 16180: 0x00008F18, - 16181: 0x00008F1A, - 16182: 0x00008F20, - 16183: 0x00008F23, - 16184: 0x00008F16, - 16185: 0x00008F17, - 16186: 0x00009073, - 16187: 0x00009070, - 16188: 0x0000906F, - 16189: 0x00009067, - 16190: 0x0000906B, - 16191: 0x0000912F, - 16192: 0x0000912B, - 16193: 0x00009129, - 16194: 0x0000912A, - 16195: 0x00009132, - 16196: 0x00009126, - 16197: 0x0000912E, - 16198: 0x00009185, - 16199: 0x00009186, - 16200: 0x0000918A, - 16201: 0x00009181, - 16202: 0x00009182, - 16203: 0x00009184, - 16204: 0x00009180, - 16205: 0x000092D0, - 16206: 0x000092C3, - 16207: 0x000092C4, - 16208: 0x000092C0, - 16209: 0x000092D9, - 16210: 0x000092B6, - 16211: 0x000092CF, - 16212: 0x000092F1, - 16213: 0x000092DF, - 16214: 0x000092D8, - 16215: 0x000092E9, - 16216: 0x000092D7, - 16217: 0x000092DD, - 16218: 0x000092CC, - 16219: 0x000092EF, - 16220: 0x000092C2, - 16221: 0x000092E8, - 16222: 0x000092CA, - 16223: 0x000092C8, - 16224: 0x000092CE, - 16225: 0x000092E6, - 16226: 0x000092CD, - 16227: 0x000092D5, - 16228: 0x000092C9, - 16229: 0x000092E0, - 16230: 0x000092DE, - 16231: 0x000092E7, - 16232: 0x000092D1, - 16233: 0x000092D3, - 16234: 0x000092B5, - 16235: 0x000092E1, - 16236: 0x000092C6, - 16237: 0x000092B4, - 16238: 0x0000957C, - 16239: 0x000095AC, - 16240: 0x000095AB, - 16241: 0x000095AE, - 16242: 0x000095B0, - 16243: 0x000096A4, - 16244: 0x000096A2, - 16245: 0x000096D3, - 16246: 0x00009705, - 16247: 0x00009708, - 16248: 0x00009702, - 16249: 0x0000975A, - 16250: 0x0000978A, - 16251: 0x0000978E, - 16252: 0x00009788, - 16253: 0x000097D0, - 16254: 0x000097CF, - 16255: 0x0000981E, - 16256: 0x0000981D, - 16257: 0x00009826, - 16258: 0x00009829, - 16259: 0x00009828, - 16260: 0x00009820, - 16261: 0x0000981B, - 16262: 0x00009827, - 16263: 0x000098B2, - 16264: 0x00009908, - 16265: 0x000098FA, - 16266: 0x00009911, - 16267: 0x00009914, - 16268: 0x00009916, - 16269: 0x00009917, - 16270: 0x00009915, - 16271: 0x000099DC, - 16272: 0x000099CD, - 16273: 0x000099CF, - 16274: 0x000099D3, - 16275: 0x000099D4, - 16276: 0x000099CE, - 16277: 0x000099C9, - 16278: 0x000099D6, - 16279: 0x000099D8, - 16280: 0x000099CB, - 16281: 0x000099D7, - 16282: 0x000099CC, - 16283: 0x00009AB3, - 16284: 0x00009AEC, - 16285: 0x00009AEB, - 16286: 0x00009AF3, - 16287: 0x00009AF2, - 16288: 0x00009AF1, - 16289: 0x00009B46, - 16290: 0x00009B43, - 16291: 0x00009B67, - 16292: 0x00009B74, - 16293: 0x00009B71, - 16294: 0x00009B66, - 16295: 0x00009B76, - 16296: 0x00009B75, - 16297: 0x00009B70, - 16298: 0x00009B68, - 16299: 0x00009B64, - 16300: 0x00009B6C, - 16301: 0x00009CFC, - 16302: 0x00009CFA, - 16303: 0x00009CFD, - 16304: 0x00009CFF, - 16305: 0x00009CF7, - 16306: 0x00009D07, - 16307: 0x00009D00, - 16308: 0x00009CF9, - 16309: 0x00009CFB, - 16310: 0x00009D08, - 16311: 0x00009D05, - 16312: 0x00009D04, - 16313: 0x00009E83, - 16314: 0x00009ED3, - 16315: 0x00009F0F, - 16316: 0x00009F10, - 16317: 0x0000511C, - 16318: 0x00005113, - 16319: 0x00005117, - 16320: 0x0000511A, - 16321: 0x00005111, - 16322: 0x000051DE, - 16323: 0x00005334, - 16324: 0x000053E1, - 16325: 0x00005670, - 16326: 0x00005660, - 16327: 0x0000566E, - 16328: 0x00005673, - 16329: 0x00005666, - 16330: 0x00005663, - 16331: 0x0000566D, - 16332: 0x00005672, - 16333: 0x0000565E, - 16334: 0x00005677, - 16335: 0x0000571C, - 16336: 0x0000571B, - 16337: 0x000058C8, - 16338: 0x000058BD, - 16339: 0x000058C9, - 16340: 0x000058BF, - 16341: 0x000058BA, - 16342: 0x000058C2, - 16343: 0x000058BC, - 16344: 0x000058C6, - 16345: 0x00005B17, - 16346: 0x00005B19, - 16347: 0x00005B1B, - 16348: 0x00005B21, - 16349: 0x00005B14, - 16350: 0x00005B13, - 16351: 0x00005B10, - 16352: 0x00005B16, - 16353: 0x00005B28, - 16354: 0x00005B1A, - 16355: 0x00005B20, - 16356: 0x00005B1E, - 16357: 0x00005BEF, - 16358: 0x00005DAC, - 16359: 0x00005DB1, - 16360: 0x00005DA9, - 16361: 0x00005DA7, - 16362: 0x00005DB5, - 16363: 0x00005DB0, - 16364: 0x00005DAE, - 16365: 0x00005DAA, - 16366: 0x00005DA8, - 16367: 0x00005DB2, - 16368: 0x00005DAD, - 16369: 0x00005DAF, - 16370: 0x00005DB4, - 16371: 0x00005E67, - 16372: 0x00005E68, - 16373: 0x00005E66, - 16374: 0x00005E6F, - 16375: 0x00005EE9, - 16376: 0x00005EE7, - 16377: 0x00005EE6, - 16378: 0x00005EE8, - 16379: 0x00005EE5, - 16380: 0x00005F4B, - 16381: 0x00005FBC, - 16382: 0x0000619D, - 16383: 0x000061A8, - 16384: 0x00006196, - 16385: 0x000061C5, - 16386: 0x000061B4, - 16387: 0x000061C6, - 16388: 0x000061C1, - 16389: 0x000061CC, - 16390: 0x000061BA, - 16391: 0x000061BF, - 16392: 0x000061B8, - 16393: 0x0000618C, - 16394: 0x000064D7, - 16395: 0x000064D6, - 16396: 0x000064D0, - 16397: 0x000064CF, - 16398: 0x000064C9, - 16399: 0x000064BD, - 16400: 0x00006489, - 16401: 0x000064C3, - 16402: 0x000064DB, - 16403: 0x000064F3, - 16404: 0x000064D9, - 16405: 0x00006533, - 16406: 0x0000657F, - 16407: 0x0000657C, - 16408: 0x000065A2, - 16409: 0x000066C8, - 16410: 0x000066BE, - 16411: 0x000066C0, - 16412: 0x000066CA, - 16413: 0x000066CB, - 16414: 0x000066CF, - 16415: 0x000066BD, - 16416: 0x000066BB, - 16417: 0x000066BA, - 16418: 0x000066CC, - 16419: 0x00006723, - 16420: 0x00006A34, - 16421: 0x00006A66, - 16422: 0x00006A49, - 16423: 0x00006A67, - 16424: 0x00006A32, - 16425: 0x00006A68, - 16426: 0x00006A3E, - 16427: 0x00006A5D, - 16428: 0x00006A6D, - 16429: 0x00006A76, - 16430: 0x00006A5B, - 16431: 0x00006A51, - 16432: 0x00006A28, - 16433: 0x00006A5A, - 16434: 0x00006A3B, - 16435: 0x00006A3F, - 16436: 0x00006A41, - 16437: 0x00006A6A, - 16438: 0x00006A64, - 16439: 0x00006A50, - 16440: 0x00006A4F, - 16441: 0x00006A54, - 16442: 0x00006A6F, - 16443: 0x00006A69, - 16444: 0x00006A60, - 16445: 0x00006A3C, - 16446: 0x00006A5E, - 16447: 0x00006A56, - 16448: 0x00006A55, - 16449: 0x00006A4D, - 16450: 0x00006A4E, - 16451: 0x00006A46, - 16452: 0x00006B55, - 16453: 0x00006B54, - 16454: 0x00006B56, - 16455: 0x00006BA7, - 16456: 0x00006BAA, - 16457: 0x00006BAB, - 16458: 0x00006BC8, - 16459: 0x00006BC7, - 16460: 0x00006C04, - 16461: 0x00006C03, - 16462: 0x00006C06, - 16463: 0x00006FAD, - 16464: 0x00006FCB, - 16465: 0x00006FA3, - 16466: 0x00006FC7, - 16467: 0x00006FBC, - 16468: 0x00006FCE, - 16469: 0x00006FC8, - 16470: 0x00006F5E, - 16471: 0x00006FC4, - 16472: 0x00006FBD, - 16473: 0x00006F9E, - 16474: 0x00006FCA, - 16475: 0x00006FA8, - 16476: 0x00007004, - 16477: 0x00006FA5, - 16478: 0x00006FAE, - 16479: 0x00006FBA, - 16480: 0x00006FAC, - 16481: 0x00006FAA, - 16482: 0x00006FCF, - 16483: 0x00006FBF, - 16484: 0x00006FB8, - 16485: 0x00006FA2, - 16486: 0x00006FC9, - 16487: 0x00006FAB, - 16488: 0x00006FCD, - 16489: 0x00006FAF, - 16490: 0x00006FB2, - 16491: 0x00006FB0, - 16492: 0x000071C5, - 16493: 0x000071C2, - 16494: 0x000071BF, - 16495: 0x000071B8, - 16496: 0x000071D6, - 16497: 0x000071C0, - 16498: 0x000071C1, - 16499: 0x000071CB, - 16500: 0x000071D4, - 16501: 0x000071CA, - 16502: 0x000071C7, - 16503: 0x000071CF, - 16504: 0x000071BD, - 16505: 0x000071D8, - 16506: 0x000071BC, - 16507: 0x000071C6, - 16508: 0x000071DA, - 16509: 0x000071DB, - 16510: 0x0000729D, - 16511: 0x0000729E, - 16512: 0x00007369, - 16513: 0x00007366, - 16514: 0x00007367, - 16515: 0x0000736C, - 16516: 0x00007365, - 16517: 0x0000736B, - 16518: 0x0000736A, - 16519: 0x0000747F, - 16520: 0x0000749A, - 16521: 0x000074A0, - 16522: 0x00007494, - 16523: 0x00007492, - 16524: 0x00007495, - 16525: 0x000074A1, - 16526: 0x0000750B, - 16527: 0x00007580, - 16528: 0x0000762F, - 16529: 0x0000762D, - 16530: 0x00007631, - 16531: 0x0000763D, - 16532: 0x00007633, - 16533: 0x0000763C, - 16534: 0x00007635, - 16535: 0x00007632, - 16536: 0x00007630, - 16537: 0x000076BB, - 16538: 0x000076E6, - 16539: 0x0000779A, - 16540: 0x0000779D, - 16541: 0x000077A1, - 16542: 0x0000779C, - 16543: 0x0000779B, - 16544: 0x000077A2, - 16545: 0x000077A3, - 16546: 0x00007795, - 16547: 0x00007799, - 16548: 0x00007797, - 16549: 0x000078DD, - 16550: 0x000078E9, - 16551: 0x000078E5, - 16552: 0x000078EA, - 16553: 0x000078DE, - 16554: 0x000078E3, - 16555: 0x000078DB, - 16556: 0x000078E1, - 16557: 0x000078E2, - 16558: 0x000078ED, - 16559: 0x000078DF, - 16560: 0x000078E0, - 16561: 0x000079A4, - 16562: 0x00007A44, - 16563: 0x00007A48, - 16564: 0x00007A47, - 16565: 0x00007AB6, - 16566: 0x00007AB8, - 16567: 0x00007AB5, - 16568: 0x00007AB1, - 16569: 0x00007AB7, - 16570: 0x00007BDE, - 16571: 0x00007BE3, - 16572: 0x00007BE7, - 16573: 0x00007BDD, - 16574: 0x00007BD5, - 16575: 0x00007BE5, - 16576: 0x00007BDA, - 16577: 0x00007BE8, - 16578: 0x00007BF9, - 16579: 0x00007BD4, - 16580: 0x00007BEA, - 16581: 0x00007BE2, - 16582: 0x00007BDC, - 16583: 0x00007BEB, - 16584: 0x00007BD8, - 16585: 0x00007BDF, - 16586: 0x00007CD2, - 16587: 0x00007CD4, - 16588: 0x00007CD7, - 16589: 0x00007CD0, - 16590: 0x00007CD1, - 16591: 0x00007E12, - 16592: 0x00007E21, - 16593: 0x00007E17, - 16594: 0x00007E0C, - 16595: 0x00007E1F, - 16596: 0x00007E20, - 16597: 0x00007E13, - 16598: 0x00007E0E, - 16599: 0x00007E1C, - 16600: 0x00007E15, - 16601: 0x00007E1A, - 16602: 0x00007E22, - 16603: 0x00007E0B, - 16604: 0x00007E0F, - 16605: 0x00007E16, - 16606: 0x00007E0D, - 16607: 0x00007E14, - 16608: 0x00007E25, - 16609: 0x00007E24, - 16610: 0x00007F43, - 16611: 0x00007F7B, - 16612: 0x00007F7C, - 16613: 0x00007F7A, - 16614: 0x00007FB1, - 16615: 0x00007FEF, - 16616: 0x0000802A, - 16617: 0x00008029, - 16618: 0x0000806C, - 16619: 0x000081B1, - 16620: 0x000081A6, - 16621: 0x000081AE, - 16622: 0x000081B9, - 16623: 0x000081B5, - 16624: 0x000081AB, - 16625: 0x000081B0, - 16626: 0x000081AC, - 16627: 0x000081B4, - 16628: 0x000081B2, - 16629: 0x000081B7, - 16630: 0x000081A7, - 16631: 0x000081F2, - 16632: 0x00008255, - 16633: 0x00008256, - 16634: 0x00008257, - 16635: 0x00008556, - 16636: 0x00008545, - 16637: 0x0000856B, - 16638: 0x0000854D, - 16639: 0x00008553, - 16640: 0x00008561, - 16641: 0x00008558, - 16642: 0x00008540, - 16643: 0x00008546, - 16644: 0x00008564, - 16645: 0x00008541, - 16646: 0x00008562, - 16647: 0x00008544, - 16648: 0x00008551, - 16649: 0x00008547, - 16650: 0x00008563, - 16651: 0x0000853E, - 16652: 0x0000855B, - 16653: 0x00008571, - 16654: 0x0000854E, - 16655: 0x0000856E, - 16656: 0x00008575, - 16657: 0x00008555, - 16658: 0x00008567, - 16659: 0x00008560, - 16660: 0x0000858C, - 16661: 0x00008566, - 16662: 0x0000855D, - 16663: 0x00008554, - 16664: 0x00008565, - 16665: 0x0000856C, - 16666: 0x00008663, - 16667: 0x00008665, - 16668: 0x00008664, - 16669: 0x0000879B, - 16670: 0x0000878F, - 16671: 0x00008797, - 16672: 0x00008793, - 16673: 0x00008792, - 16674: 0x00008788, - 16675: 0x00008781, - 16676: 0x00008796, - 16677: 0x00008798, - 16678: 0x00008779, - 16679: 0x00008787, - 16680: 0x000087A3, - 16681: 0x00008785, - 16682: 0x00008790, - 16683: 0x00008791, - 16684: 0x0000879D, - 16685: 0x00008784, - 16686: 0x00008794, - 16687: 0x0000879C, - 16688: 0x0000879A, - 16689: 0x00008789, - 16690: 0x0000891E, - 16691: 0x00008926, - 16692: 0x00008930, - 16693: 0x0000892D, - 16694: 0x0000892E, - 16695: 0x00008927, - 16696: 0x00008931, - 16697: 0x00008922, - 16698: 0x00008929, - 16699: 0x00008923, - 16700: 0x0000892F, - 16701: 0x0000892C, - 16702: 0x0000891F, - 16703: 0x000089F1, - 16704: 0x00008AE0, - 16705: 0x00008AE2, - 16706: 0x00008AF2, - 16707: 0x00008AF4, - 16708: 0x00008AF5, - 16709: 0x00008ADD, - 16710: 0x00008B14, - 16711: 0x00008AE4, - 16712: 0x00008ADF, - 16713: 0x00008AF0, - 16714: 0x00008AC8, - 16715: 0x00008ADE, - 16716: 0x00008AE1, - 16717: 0x00008AE8, - 16718: 0x00008AFF, - 16719: 0x00008AEF, - 16720: 0x00008AFB, - 16721: 0x00008C91, - 16722: 0x00008C92, - 16723: 0x00008C90, - 16724: 0x00008CF5, - 16725: 0x00008CEE, - 16726: 0x00008CF1, - 16727: 0x00008CF0, - 16728: 0x00008CF3, - 16729: 0x00008D6C, - 16730: 0x00008D6E, - 16731: 0x00008DA5, - 16732: 0x00008DA7, - 16733: 0x00008E33, - 16734: 0x00008E3E, - 16735: 0x00008E38, - 16736: 0x00008E40, - 16737: 0x00008E45, - 16738: 0x00008E36, - 16739: 0x00008E3C, - 16740: 0x00008E3D, - 16741: 0x00008E41, - 16742: 0x00008E30, - 16743: 0x00008E3F, - 16744: 0x00008EBD, - 16745: 0x00008F36, - 16746: 0x00008F2E, - 16747: 0x00008F35, - 16748: 0x00008F32, - 16749: 0x00008F39, - 16750: 0x00008F37, - 16751: 0x00008F34, - 16752: 0x00009076, - 16753: 0x00009079, - 16754: 0x0000907B, - 16755: 0x00009086, - 16756: 0x000090FA, - 16757: 0x00009133, - 16758: 0x00009135, - 16759: 0x00009136, - 16760: 0x00009193, - 16761: 0x00009190, - 16762: 0x00009191, - 16763: 0x0000918D, - 16764: 0x0000918F, - 16765: 0x00009327, - 16766: 0x0000931E, - 16767: 0x00009308, - 16768: 0x0000931F, - 16769: 0x00009306, - 16770: 0x0000930F, - 16771: 0x0000937A, - 16772: 0x00009338, - 16773: 0x0000933C, - 16774: 0x0000931B, - 16775: 0x00009323, - 16776: 0x00009312, - 16777: 0x00009301, - 16778: 0x00009346, - 16779: 0x0000932D, - 16780: 0x0000930E, - 16781: 0x0000930D, - 16782: 0x000092CB, - 16783: 0x0000931D, - 16784: 0x000092FA, - 16785: 0x00009325, - 16786: 0x00009313, - 16787: 0x000092F9, - 16788: 0x000092F7, - 16789: 0x00009334, - 16790: 0x00009302, - 16791: 0x00009324, - 16792: 0x000092FF, - 16793: 0x00009329, - 16794: 0x00009339, - 16795: 0x00009335, - 16796: 0x0000932A, - 16797: 0x00009314, - 16798: 0x0000930C, - 16799: 0x0000930B, - 16800: 0x000092FE, - 16801: 0x00009309, - 16802: 0x00009300, - 16803: 0x000092FB, - 16804: 0x00009316, - 16805: 0x000095BC, - 16806: 0x000095CD, - 16807: 0x000095BE, - 16808: 0x000095B9, - 16809: 0x000095BA, - 16810: 0x000095B6, - 16811: 0x000095BF, - 16812: 0x000095B5, - 16813: 0x000095BD, - 16814: 0x000096A9, - 16815: 0x000096D4, - 16816: 0x0000970B, - 16817: 0x00009712, - 16818: 0x00009710, - 16819: 0x00009799, - 16820: 0x00009797, - 16821: 0x00009794, - 16822: 0x000097F0, - 16823: 0x000097F8, - 16824: 0x00009835, - 16825: 0x0000982F, - 16826: 0x00009832, - 16827: 0x00009924, - 16828: 0x0000991F, - 16829: 0x00009927, - 16830: 0x00009929, - 16831: 0x0000999E, - 16832: 0x000099EE, - 16833: 0x000099EC, - 16834: 0x000099E5, - 16835: 0x000099E4, - 16836: 0x000099F0, - 16837: 0x000099E3, - 16838: 0x000099EA, - 16839: 0x000099E9, - 16840: 0x000099E7, - 16841: 0x00009AB9, - 16842: 0x00009ABF, - 16843: 0x00009AB4, - 16844: 0x00009ABB, - 16845: 0x00009AF6, - 16846: 0x00009AFA, - 16847: 0x00009AF9, - 16848: 0x00009AF7, - 16849: 0x00009B33, - 16850: 0x00009B80, - 16851: 0x00009B85, - 16852: 0x00009B87, - 16853: 0x00009B7C, - 16854: 0x00009B7E, - 16855: 0x00009B7B, - 16856: 0x00009B82, - 16857: 0x00009B93, - 16858: 0x00009B92, - 16859: 0x00009B90, - 16860: 0x00009B7A, - 16861: 0x00009B95, - 16862: 0x00009B7D, - 16863: 0x00009B88, - 16864: 0x00009D25, - 16865: 0x00009D17, - 16866: 0x00009D20, - 16867: 0x00009D1E, - 16868: 0x00009D14, - 16869: 0x00009D29, - 16870: 0x00009D1D, - 16871: 0x00009D18, - 16872: 0x00009D22, - 16873: 0x00009D10, - 16874: 0x00009D19, - 16875: 0x00009D1F, - 16876: 0x00009E88, - 16877: 0x00009E86, - 16878: 0x00009E87, - 16879: 0x00009EAE, - 16880: 0x00009EAD, - 16881: 0x00009ED5, - 16882: 0x00009ED6, - 16883: 0x00009EFA, - 16884: 0x00009F12, - 16885: 0x00009F3D, - 16886: 0x00005126, - 16887: 0x00005125, - 16888: 0x00005122, - 16889: 0x00005124, - 16890: 0x00005120, - 16891: 0x00005129, - 16892: 0x000052F4, - 16893: 0x00005693, - 16894: 0x0000568C, - 16895: 0x0000568D, - 16896: 0x00005686, - 16897: 0x00005684, - 16898: 0x00005683, - 16899: 0x0000567E, - 16900: 0x00005682, - 16901: 0x0000567F, - 16902: 0x00005681, - 16903: 0x000058D6, - 16904: 0x000058D4, - 16905: 0x000058CF, - 16906: 0x000058D2, - 16907: 0x00005B2D, - 16908: 0x00005B25, - 16909: 0x00005B32, - 16910: 0x00005B23, - 16911: 0x00005B2C, - 16912: 0x00005B27, - 16913: 0x00005B26, - 16914: 0x00005B2F, - 16915: 0x00005B2E, - 16916: 0x00005B7B, - 16917: 0x00005BF1, - 16918: 0x00005BF2, - 16919: 0x00005DB7, - 16920: 0x00005E6C, - 16921: 0x00005E6A, - 16922: 0x00005FBE, - 16923: 0x00005FBB, - 16924: 0x000061C3, - 16925: 0x000061B5, - 16926: 0x000061BC, - 16927: 0x000061E7, - 16928: 0x000061E0, - 16929: 0x000061E5, - 16930: 0x000061E4, - 16931: 0x000061E8, - 16932: 0x000061DE, - 16933: 0x000064EF, - 16934: 0x000064E9, - 16935: 0x000064E3, - 16936: 0x000064EB, - 16937: 0x000064E4, - 16938: 0x000064E8, - 16939: 0x00006581, - 16940: 0x00006580, - 16941: 0x000065B6, - 16942: 0x000065DA, - 16943: 0x000066D2, - 16944: 0x00006A8D, - 16945: 0x00006A96, - 16946: 0x00006A81, - 16947: 0x00006AA5, - 16948: 0x00006A89, - 16949: 0x00006A9F, - 16950: 0x00006A9B, - 16951: 0x00006AA1, - 16952: 0x00006A9E, - 16953: 0x00006A87, - 16954: 0x00006A93, - 16955: 0x00006A8E, - 16956: 0x00006A95, - 16957: 0x00006A83, - 16958: 0x00006AA8, - 16959: 0x00006AA4, - 16960: 0x00006A91, - 16961: 0x00006A7F, - 16962: 0x00006AA6, - 16963: 0x00006A9A, - 16964: 0x00006A85, - 16965: 0x00006A8C, - 16966: 0x00006A92, - 16967: 0x00006B5B, - 16968: 0x00006BAD, - 16969: 0x00006C09, - 16970: 0x00006FCC, - 16971: 0x00006FA9, - 16972: 0x00006FF4, - 16973: 0x00006FD4, - 16974: 0x00006FE3, - 16975: 0x00006FDC, - 16976: 0x00006FED, - 16977: 0x00006FE7, - 16978: 0x00006FE6, - 16979: 0x00006FDE, - 16980: 0x00006FF2, - 16981: 0x00006FDD, - 16982: 0x00006FE2, - 16983: 0x00006FE8, - 16984: 0x000071E1, - 16985: 0x000071F1, - 16986: 0x000071E8, - 16987: 0x000071F2, - 16988: 0x000071E4, - 16989: 0x000071F0, - 16990: 0x000071E2, - 16991: 0x00007373, - 16992: 0x0000736E, - 16993: 0x0000736F, - 16994: 0x00007497, - 16995: 0x000074B2, - 16996: 0x000074AB, - 16997: 0x00007490, - 16998: 0x000074AA, - 16999: 0x000074AD, - 17000: 0x000074B1, - 17001: 0x000074A5, - 17002: 0x000074AF, - 17003: 0x00007510, - 17004: 0x00007511, - 17005: 0x00007512, - 17006: 0x0000750F, - 17007: 0x00007584, - 17008: 0x00007643, - 17009: 0x00007648, - 17010: 0x00007649, - 17011: 0x00007647, - 17012: 0x000076A4, - 17013: 0x000076E9, - 17014: 0x000077B5, - 17015: 0x000077AB, - 17016: 0x000077B2, - 17017: 0x000077B7, - 17018: 0x000077B6, - 17019: 0x000077B4, - 17020: 0x000077B1, - 17021: 0x000077A8, - 17022: 0x000077F0, - 17023: 0x000078F3, - 17024: 0x000078FD, - 17025: 0x00007902, - 17026: 0x000078FB, - 17027: 0x000078FC, - 17028: 0x000078F2, - 17029: 0x00007905, - 17030: 0x000078F9, - 17031: 0x000078FE, - 17032: 0x00007904, - 17033: 0x000079AB, - 17034: 0x000079A8, - 17035: 0x00007A5C, - 17036: 0x00007A5B, - 17037: 0x00007A56, - 17038: 0x00007A58, - 17039: 0x00007A54, - 17040: 0x00007A5A, - 17041: 0x00007ABE, - 17042: 0x00007AC0, - 17043: 0x00007AC1, - 17044: 0x00007C05, - 17045: 0x00007C0F, - 17046: 0x00007BF2, - 17047: 0x00007C00, - 17048: 0x00007BFF, - 17049: 0x00007BFB, - 17050: 0x00007C0E, - 17051: 0x00007BF4, - 17052: 0x00007C0B, - 17053: 0x00007BF3, - 17054: 0x00007C02, - 17055: 0x00007C09, - 17056: 0x00007C03, - 17057: 0x00007C01, - 17058: 0x00007BF8, - 17059: 0x00007BFD, - 17060: 0x00007C06, - 17061: 0x00007BF0, - 17062: 0x00007BF1, - 17063: 0x00007C10, - 17064: 0x00007C0A, - 17065: 0x00007CE8, - 17066: 0x00007E2D, - 17067: 0x00007E3C, - 17068: 0x00007E42, - 17069: 0x00007E33, - 17070: 0x00009848, - 17071: 0x00007E38, - 17072: 0x00007E2A, - 17073: 0x00007E49, - 17074: 0x00007E40, - 17075: 0x00007E47, - 17076: 0x00007E29, - 17077: 0x00007E4C, - 17078: 0x00007E30, - 17079: 0x00007E3B, - 17080: 0x00007E36, - 17081: 0x00007E44, - 17082: 0x00007E3A, - 17083: 0x00007F45, - 17084: 0x00007F7F, - 17085: 0x00007F7E, - 17086: 0x00007F7D, - 17087: 0x00007FF4, - 17088: 0x00007FF2, - 17089: 0x0000802C, - 17090: 0x000081BB, - 17091: 0x000081C4, - 17092: 0x000081CC, - 17093: 0x000081CA, - 17094: 0x000081C5, - 17095: 0x000081C7, - 17096: 0x000081BC, - 17097: 0x000081E9, - 17098: 0x0000825B, - 17099: 0x0000825A, - 17100: 0x0000825C, - 17101: 0x00008583, - 17102: 0x00008580, - 17103: 0x0000858F, - 17104: 0x000085A7, - 17105: 0x00008595, - 17106: 0x000085A0, - 17107: 0x0000858B, - 17108: 0x000085A3, - 17109: 0x0000857B, - 17110: 0x000085A4, - 17111: 0x0000859A, - 17112: 0x0000859E, - 17113: 0x00008577, - 17114: 0x0000857C, - 17115: 0x00008589, - 17116: 0x000085A1, - 17117: 0x0000857A, - 17118: 0x00008578, - 17119: 0x00008557, - 17120: 0x0000858E, - 17121: 0x00008596, - 17122: 0x00008586, - 17123: 0x0000858D, - 17124: 0x00008599, - 17125: 0x0000859D, - 17126: 0x00008581, - 17127: 0x000085A2, - 17128: 0x00008582, - 17129: 0x00008588, - 17130: 0x00008585, - 17131: 0x00008579, - 17132: 0x00008576, - 17133: 0x00008598, - 17134: 0x00008590, - 17135: 0x0000859F, - 17136: 0x00008668, - 17137: 0x000087BE, - 17138: 0x000087AA, - 17139: 0x000087AD, - 17140: 0x000087C5, - 17141: 0x000087B0, - 17142: 0x000087AC, - 17143: 0x000087B9, - 17144: 0x000087B5, - 17145: 0x000087BC, - 17146: 0x000087AE, - 17147: 0x000087C9, - 17148: 0x000087C3, - 17149: 0x000087C2, - 17150: 0x000087CC, - 17151: 0x000087B7, - 17152: 0x000087AF, - 17153: 0x000087C4, - 17154: 0x000087CA, - 17155: 0x000087B4, - 17156: 0x000087B6, - 17157: 0x000087BF, - 17158: 0x000087B8, - 17159: 0x000087BD, - 17160: 0x000087DE, - 17161: 0x000087B2, - 17162: 0x00008935, - 17163: 0x00008933, - 17164: 0x0000893C, - 17165: 0x0000893E, - 17166: 0x00008941, - 17167: 0x00008952, - 17168: 0x00008937, - 17169: 0x00008942, - 17170: 0x000089AD, - 17171: 0x000089AF, - 17172: 0x000089AE, - 17173: 0x000089F2, - 17174: 0x000089F3, - 17175: 0x00008B1E, - 17176: 0x00008B18, - 17177: 0x00008B16, - 17178: 0x00008B11, - 17179: 0x00008B05, - 17180: 0x00008B0B, - 17181: 0x00008B22, - 17182: 0x00008B0F, - 17183: 0x00008B12, - 17184: 0x00008B15, - 17185: 0x00008B07, - 17186: 0x00008B0D, - 17187: 0x00008B08, - 17188: 0x00008B06, - 17189: 0x00008B1C, - 17190: 0x00008B13, - 17191: 0x00008B1A, - 17192: 0x00008C4F, - 17193: 0x00008C70, - 17194: 0x00008C72, - 17195: 0x00008C71, - 17196: 0x00008C6F, - 17197: 0x00008C95, - 17198: 0x00008C94, - 17199: 0x00008CF9, - 17200: 0x00008D6F, - 17201: 0x00008E4E, - 17202: 0x00008E4D, - 17203: 0x00008E53, - 17204: 0x00008E50, - 17205: 0x00008E4C, - 17206: 0x00008E47, - 17207: 0x00008F43, - 17208: 0x00008F40, - 17209: 0x00009085, - 17210: 0x0000907E, - 17211: 0x00009138, - 17212: 0x0000919A, - 17213: 0x000091A2, - 17214: 0x0000919B, - 17215: 0x00009199, - 17216: 0x0000919F, - 17217: 0x000091A1, - 17218: 0x0000919D, - 17219: 0x000091A0, - 17220: 0x000093A1, - 17221: 0x00009383, - 17222: 0x000093AF, - 17223: 0x00009364, - 17224: 0x00009356, - 17225: 0x00009347, - 17226: 0x0000937C, - 17227: 0x00009358, - 17228: 0x0000935C, - 17229: 0x00009376, - 17230: 0x00009349, - 17231: 0x00009350, - 17232: 0x00009351, - 17233: 0x00009360, - 17234: 0x0000936D, - 17235: 0x0000938F, - 17236: 0x0000934C, - 17237: 0x0000936A, - 17238: 0x00009379, - 17239: 0x00009357, - 17240: 0x00009355, - 17241: 0x00009352, - 17242: 0x0000934F, - 17243: 0x00009371, - 17244: 0x00009377, - 17245: 0x0000937B, - 17246: 0x00009361, - 17247: 0x0000935E, - 17248: 0x00009363, - 17249: 0x00009367, - 17250: 0x00009380, - 17251: 0x0000934E, - 17252: 0x00009359, - 17253: 0x000095C7, - 17254: 0x000095C0, - 17255: 0x000095C9, - 17256: 0x000095C3, - 17257: 0x000095C5, - 17258: 0x000095B7, - 17259: 0x000096AE, - 17260: 0x000096B0, - 17261: 0x000096AC, - 17262: 0x00009720, - 17263: 0x0000971F, - 17264: 0x00009718, - 17265: 0x0000971D, - 17266: 0x00009719, - 17267: 0x0000979A, - 17268: 0x000097A1, - 17269: 0x0000979C, - 17270: 0x0000979E, - 17271: 0x0000979D, - 17272: 0x000097D5, - 17273: 0x000097D4, - 17274: 0x000097F1, - 17275: 0x00009841, - 17276: 0x00009844, - 17277: 0x0000984A, - 17278: 0x00009849, - 17279: 0x00009845, - 17280: 0x00009843, - 17281: 0x00009925, - 17282: 0x0000992B, - 17283: 0x0000992C, - 17284: 0x0000992A, - 17285: 0x00009933, - 17286: 0x00009932, - 17287: 0x0000992F, - 17288: 0x0000992D, - 17289: 0x00009931, - 17290: 0x00009930, - 17291: 0x00009998, - 17292: 0x000099A3, - 17293: 0x000099A1, - 17294: 0x00009A02, - 17295: 0x000099FA, - 17296: 0x000099F4, - 17297: 0x000099F7, - 17298: 0x000099F9, - 17299: 0x000099F8, - 17300: 0x000099F6, - 17301: 0x000099FB, - 17302: 0x000099FD, - 17303: 0x000099FE, - 17304: 0x000099FC, - 17305: 0x00009A03, - 17306: 0x00009ABE, - 17307: 0x00009AFE, - 17308: 0x00009AFD, - 17309: 0x00009B01, - 17310: 0x00009AFC, - 17311: 0x00009B48, - 17312: 0x00009B9A, - 17313: 0x00009BA8, - 17314: 0x00009B9E, - 17315: 0x00009B9B, - 17316: 0x00009BA6, - 17317: 0x00009BA1, - 17318: 0x00009BA5, - 17319: 0x00009BA4, - 17320: 0x00009B86, - 17321: 0x00009BA2, - 17322: 0x00009BA0, - 17323: 0x00009BAF, - 17324: 0x00009D33, - 17325: 0x00009D41, - 17326: 0x00009D67, - 17327: 0x00009D36, - 17328: 0x00009D2E, - 17329: 0x00009D2F, - 17330: 0x00009D31, - 17331: 0x00009D38, - 17332: 0x00009D30, - 17333: 0x00009D45, - 17334: 0x00009D42, - 17335: 0x00009D43, - 17336: 0x00009D3E, - 17337: 0x00009D37, - 17338: 0x00009D40, - 17339: 0x00009D3D, - 17340: 0x00007FF5, - 17341: 0x00009D2D, - 17342: 0x00009E8A, - 17343: 0x00009E89, - 17344: 0x00009E8D, - 17345: 0x00009EB0, - 17346: 0x00009EC8, - 17347: 0x00009EDA, - 17348: 0x00009EFB, - 17349: 0x00009EFF, - 17350: 0x00009F24, - 17351: 0x00009F23, - 17352: 0x00009F22, - 17353: 0x00009F54, - 17354: 0x00009FA0, - 17355: 0x00005131, - 17356: 0x0000512D, - 17357: 0x0000512E, - 17358: 0x00005698, - 17359: 0x0000569C, - 17360: 0x00005697, - 17361: 0x0000569A, - 17362: 0x0000569D, - 17363: 0x00005699, - 17364: 0x00005970, - 17365: 0x00005B3C, - 17366: 0x00005C69, - 17367: 0x00005C6A, - 17368: 0x00005DC0, - 17369: 0x00005E6D, - 17370: 0x00005E6E, - 17371: 0x000061D8, - 17372: 0x000061DF, - 17373: 0x000061ED, - 17374: 0x000061EE, - 17375: 0x000061F1, - 17376: 0x000061EA, - 17377: 0x000061F0, - 17378: 0x000061EB, - 17379: 0x000061D6, - 17380: 0x000061E9, - 17381: 0x000064FF, - 17382: 0x00006504, - 17383: 0x000064FD, - 17384: 0x000064F8, - 17385: 0x00006501, - 17386: 0x00006503, - 17387: 0x000064FC, - 17388: 0x00006594, - 17389: 0x000065DB, - 17390: 0x000066DA, - 17391: 0x000066DB, - 17392: 0x000066D8, - 17393: 0x00006AC5, - 17394: 0x00006AB9, - 17395: 0x00006ABD, - 17396: 0x00006AE1, - 17397: 0x00006AC6, - 17398: 0x00006ABA, - 17399: 0x00006AB6, - 17400: 0x00006AB7, - 17401: 0x00006AC7, - 17402: 0x00006AB4, - 17403: 0x00006AAD, - 17404: 0x00006B5E, - 17405: 0x00006BC9, - 17406: 0x00006C0B, - 17407: 0x00007007, - 17408: 0x0000700C, - 17409: 0x0000700D, - 17410: 0x00007001, - 17411: 0x00007005, - 17412: 0x00007014, - 17413: 0x0000700E, - 17414: 0x00006FFF, - 17415: 0x00007000, - 17416: 0x00006FFB, - 17417: 0x00007026, - 17418: 0x00006FFC, - 17419: 0x00006FF7, - 17420: 0x0000700A, - 17421: 0x00007201, - 17422: 0x000071FF, - 17423: 0x000071F9, - 17424: 0x00007203, - 17425: 0x000071FD, - 17426: 0x00007376, - 17427: 0x000074B8, - 17428: 0x000074C0, - 17429: 0x000074B5, - 17430: 0x000074C1, - 17431: 0x000074BE, - 17432: 0x000074B6, - 17433: 0x000074BB, - 17434: 0x000074C2, - 17435: 0x00007514, - 17436: 0x00007513, - 17437: 0x0000765C, - 17438: 0x00007664, - 17439: 0x00007659, - 17440: 0x00007650, - 17441: 0x00007653, - 17442: 0x00007657, - 17443: 0x0000765A, - 17444: 0x000076A6, - 17445: 0x000076BD, - 17446: 0x000076EC, - 17447: 0x000077C2, - 17448: 0x000077BA, - 17449: 0x000078FF, - 17450: 0x0000790C, - 17451: 0x00007913, - 17452: 0x00007914, - 17453: 0x00007909, - 17454: 0x00007910, - 17455: 0x00007912, - 17456: 0x00007911, - 17457: 0x000079AD, - 17458: 0x000079AC, - 17459: 0x00007A5F, - 17460: 0x00007C1C, - 17461: 0x00007C29, - 17462: 0x00007C19, - 17463: 0x00007C20, - 17464: 0x00007C1F, - 17465: 0x00007C2D, - 17466: 0x00007C1D, - 17467: 0x00007C26, - 17468: 0x00007C28, - 17469: 0x00007C22, - 17470: 0x00007C25, - 17471: 0x00007C30, - 17472: 0x00007E5C, - 17473: 0x00007E50, - 17474: 0x00007E56, - 17475: 0x00007E63, - 17476: 0x00007E58, - 17477: 0x00007E62, - 17478: 0x00007E5F, - 17479: 0x00007E51, - 17480: 0x00007E60, - 17481: 0x00007E57, - 17482: 0x00007E53, - 17483: 0x00007FB5, - 17484: 0x00007FB3, - 17485: 0x00007FF7, - 17486: 0x00007FF8, - 17487: 0x00008075, - 17488: 0x000081D1, - 17489: 0x000081D2, - 17490: 0x000081D0, - 17491: 0x0000825F, - 17492: 0x0000825E, - 17493: 0x000085B4, - 17494: 0x000085C6, - 17495: 0x000085C0, - 17496: 0x000085C3, - 17497: 0x000085C2, - 17498: 0x000085B3, - 17499: 0x000085B5, - 17500: 0x000085BD, - 17501: 0x000085C7, - 17502: 0x000085C4, - 17503: 0x000085BF, - 17504: 0x000085CB, - 17505: 0x000085CE, - 17506: 0x000085C8, - 17507: 0x000085C5, - 17508: 0x000085B1, - 17509: 0x000085B6, - 17510: 0x000085D2, - 17511: 0x00008624, - 17512: 0x000085B8, - 17513: 0x000085B7, - 17514: 0x000085BE, - 17515: 0x00008669, - 17516: 0x000087E7, - 17517: 0x000087E6, - 17518: 0x000087E2, - 17519: 0x000087DB, - 17520: 0x000087EB, - 17521: 0x000087EA, - 17522: 0x000087E5, - 17523: 0x000087DF, - 17524: 0x000087F3, - 17525: 0x000087E4, - 17526: 0x000087D4, - 17527: 0x000087DC, - 17528: 0x000087D3, - 17529: 0x000087ED, - 17530: 0x000087D8, - 17531: 0x000087E3, - 17532: 0x000087A4, - 17533: 0x000087D7, - 17534: 0x000087D9, - 17535: 0x00008801, - 17536: 0x000087F4, - 17537: 0x000087E8, - 17538: 0x000087DD, - 17539: 0x00008953, - 17540: 0x0000894B, - 17541: 0x0000894F, - 17542: 0x0000894C, - 17543: 0x00008946, - 17544: 0x00008950, - 17545: 0x00008951, - 17546: 0x00008949, - 17547: 0x00008B2A, - 17548: 0x00008B27, - 17549: 0x00008B23, - 17550: 0x00008B33, - 17551: 0x00008B30, - 17552: 0x00008B35, - 17553: 0x00008B47, - 17554: 0x00008B2F, - 17555: 0x00008B3C, - 17556: 0x00008B3E, - 17557: 0x00008B31, - 17558: 0x00008B25, - 17559: 0x00008B37, - 17560: 0x00008B26, - 17561: 0x00008B36, - 17562: 0x00008B2E, - 17563: 0x00008B24, - 17564: 0x00008B3B, - 17565: 0x00008B3D, - 17566: 0x00008B3A, - 17567: 0x00008C42, - 17568: 0x00008C75, - 17569: 0x00008C99, - 17570: 0x00008C98, - 17571: 0x00008C97, - 17572: 0x00008CFE, - 17573: 0x00008D04, - 17574: 0x00008D02, - 17575: 0x00008D00, - 17576: 0x00008E5C, - 17577: 0x00008E62, - 17578: 0x00008E60, - 17579: 0x00008E57, - 17580: 0x00008E56, - 17581: 0x00008E5E, - 17582: 0x00008E65, - 17583: 0x00008E67, - 17584: 0x00008E5B, - 17585: 0x00008E5A, - 17586: 0x00008E61, - 17587: 0x00008E5D, - 17588: 0x00008E69, - 17589: 0x00008E54, - 17590: 0x00008F46, - 17591: 0x00008F47, - 17592: 0x00008F48, - 17593: 0x00008F4B, - 17594: 0x00009128, - 17595: 0x0000913A, - 17596: 0x0000913B, - 17597: 0x0000913E, - 17598: 0x000091A8, - 17599: 0x000091A5, - 17600: 0x000091A7, - 17601: 0x000091AF, - 17602: 0x000091AA, - 17603: 0x000093B5, - 17604: 0x0000938C, - 17605: 0x00009392, - 17606: 0x000093B7, - 17607: 0x0000939B, - 17608: 0x0000939D, - 17609: 0x00009389, - 17610: 0x000093A7, - 17611: 0x0000938E, - 17612: 0x000093AA, - 17613: 0x0000939E, - 17614: 0x000093A6, - 17615: 0x00009395, - 17616: 0x00009388, - 17617: 0x00009399, - 17618: 0x0000939F, - 17619: 0x0000938D, - 17620: 0x000093B1, - 17621: 0x00009391, - 17622: 0x000093B2, - 17623: 0x000093A4, - 17624: 0x000093A8, - 17625: 0x000093B4, - 17626: 0x000093A3, - 17627: 0x000093A5, - 17628: 0x000095D2, - 17629: 0x000095D3, - 17630: 0x000095D1, - 17631: 0x000096B3, - 17632: 0x000096D7, - 17633: 0x000096DA, - 17634: 0x00005DC2, - 17635: 0x000096DF, - 17636: 0x000096D8, - 17637: 0x000096DD, - 17638: 0x00009723, - 17639: 0x00009722, - 17640: 0x00009725, - 17641: 0x000097AC, - 17642: 0x000097AE, - 17643: 0x000097A8, - 17644: 0x000097AB, - 17645: 0x000097A4, - 17646: 0x000097AA, - 17647: 0x000097A2, - 17648: 0x000097A5, - 17649: 0x000097D7, - 17650: 0x000097D9, - 17651: 0x000097D6, - 17652: 0x000097D8, - 17653: 0x000097FA, - 17654: 0x00009850, - 17655: 0x00009851, - 17656: 0x00009852, - 17657: 0x000098B8, - 17658: 0x00009941, - 17659: 0x0000993C, - 17660: 0x0000993A, - 17661: 0x00009A0F, - 17662: 0x00009A0B, - 17663: 0x00009A09, - 17664: 0x00009A0D, - 17665: 0x00009A04, - 17666: 0x00009A11, - 17667: 0x00009A0A, - 17668: 0x00009A05, - 17669: 0x00009A07, - 17670: 0x00009A06, - 17671: 0x00009AC0, - 17672: 0x00009ADC, - 17673: 0x00009B08, - 17674: 0x00009B04, - 17675: 0x00009B05, - 17676: 0x00009B29, - 17677: 0x00009B35, - 17678: 0x00009B4A, - 17679: 0x00009B4C, - 17680: 0x00009B4B, - 17681: 0x00009BC7, - 17682: 0x00009BC6, - 17683: 0x00009BC3, - 17684: 0x00009BBF, - 17685: 0x00009BC1, - 17686: 0x00009BB5, - 17687: 0x00009BB8, - 17688: 0x00009BD3, - 17689: 0x00009BB6, - 17690: 0x00009BC4, - 17691: 0x00009BB9, - 17692: 0x00009BBD, - 17693: 0x00009D5C, - 17694: 0x00009D53, - 17695: 0x00009D4F, - 17696: 0x00009D4A, - 17697: 0x00009D5B, - 17698: 0x00009D4B, - 17699: 0x00009D59, - 17700: 0x00009D56, - 17701: 0x00009D4C, - 17702: 0x00009D57, - 17703: 0x00009D52, - 17704: 0x00009D54, - 17705: 0x00009D5F, - 17706: 0x00009D58, - 17707: 0x00009D5A, - 17708: 0x00009E8E, - 17709: 0x00009E8C, - 17710: 0x00009EDF, - 17711: 0x00009F01, - 17712: 0x00009F00, - 17713: 0x00009F16, - 17714: 0x00009F25, - 17715: 0x00009F2B, - 17716: 0x00009F2A, - 17717: 0x00009F29, - 17718: 0x00009F28, - 17719: 0x00009F4C, - 17720: 0x00009F55, - 17721: 0x00005134, - 17722: 0x00005135, - 17723: 0x00005296, - 17724: 0x000052F7, - 17725: 0x000053B4, - 17726: 0x000056AB, - 17727: 0x000056AD, - 17728: 0x000056A6, - 17729: 0x000056A7, - 17730: 0x000056AA, - 17731: 0x000056AC, - 17732: 0x000058DA, - 17733: 0x000058DD, - 17734: 0x000058DB, - 17735: 0x00005912, - 17736: 0x00005B3D, - 17737: 0x00005B3E, - 17738: 0x00005B3F, - 17739: 0x00005DC3, - 17740: 0x00005E70, - 17741: 0x00005FBF, - 17742: 0x000061FB, - 17743: 0x00006507, - 17744: 0x00006510, - 17745: 0x0000650D, - 17746: 0x00006509, - 17747: 0x0000650C, - 17748: 0x0000650E, - 17749: 0x00006584, - 17750: 0x000065DE, - 17751: 0x000065DD, - 17752: 0x000066DE, - 17753: 0x00006AE7, - 17754: 0x00006AE0, - 17755: 0x00006ACC, - 17756: 0x00006AD1, - 17757: 0x00006AD9, - 17758: 0x00006ACB, - 17759: 0x00006ADF, - 17760: 0x00006ADC, - 17761: 0x00006AD0, - 17762: 0x00006AEB, - 17763: 0x00006ACF, - 17764: 0x00006ACD, - 17765: 0x00006ADE, - 17766: 0x00006B60, - 17767: 0x00006BB0, - 17768: 0x00006C0C, - 17769: 0x00007019, - 17770: 0x00007027, - 17771: 0x00007020, - 17772: 0x00007016, - 17773: 0x0000702B, - 17774: 0x00007021, - 17775: 0x00007022, - 17776: 0x00007023, - 17777: 0x00007029, - 17778: 0x00007017, - 17779: 0x00007024, - 17780: 0x0000701C, - 17781: 0x0000702A, - 17782: 0x0000720C, - 17783: 0x0000720A, - 17784: 0x00007207, - 17785: 0x00007202, - 17786: 0x00007205, - 17787: 0x000072A5, - 17788: 0x000072A6, - 17789: 0x000072A4, - 17790: 0x000072A3, - 17791: 0x000072A1, - 17792: 0x000074CB, - 17793: 0x000074C5, - 17794: 0x000074B7, - 17795: 0x000074C3, - 17796: 0x00007516, - 17797: 0x00007660, - 17798: 0x000077C9, - 17799: 0x000077CA, - 17800: 0x000077C4, - 17801: 0x000077F1, - 17802: 0x0000791D, - 17803: 0x0000791B, - 17804: 0x00007921, - 17805: 0x0000791C, - 17806: 0x00007917, - 17807: 0x0000791E, - 17808: 0x000079B0, - 17809: 0x00007A67, - 17810: 0x00007A68, - 17811: 0x00007C33, - 17812: 0x00007C3C, - 17813: 0x00007C39, - 17814: 0x00007C2C, - 17815: 0x00007C3B, - 17816: 0x00007CEC, - 17817: 0x00007CEA, - 17818: 0x00007E76, - 17819: 0x00007E75, - 17820: 0x00007E78, - 17821: 0x00007E70, - 17822: 0x00007E77, - 17823: 0x00007E6F, - 17824: 0x00007E7A, - 17825: 0x00007E72, - 17826: 0x00007E74, - 17827: 0x00007E68, - 17828: 0x00007F4B, - 17829: 0x00007F4A, - 17830: 0x00007F83, - 17831: 0x00007F86, - 17832: 0x00007FB7, - 17833: 0x00007FFD, - 17834: 0x00007FFE, - 17835: 0x00008078, - 17836: 0x000081D7, - 17837: 0x000081D5, - 17838: 0x00008264, - 17839: 0x00008261, - 17840: 0x00008263, - 17841: 0x000085EB, - 17842: 0x000085F1, - 17843: 0x000085ED, - 17844: 0x000085D9, - 17845: 0x000085E1, - 17846: 0x000085E8, - 17847: 0x000085DA, - 17848: 0x000085D7, - 17849: 0x000085EC, - 17850: 0x000085F2, - 17851: 0x000085F8, - 17852: 0x000085D8, - 17853: 0x000085DF, - 17854: 0x000085E3, - 17855: 0x000085DC, - 17856: 0x000085D1, - 17857: 0x000085F0, - 17858: 0x000085E6, - 17859: 0x000085EF, - 17860: 0x000085DE, - 17861: 0x000085E2, - 17862: 0x00008800, - 17863: 0x000087FA, - 17864: 0x00008803, - 17865: 0x000087F6, - 17866: 0x000087F7, - 17867: 0x00008809, - 17868: 0x0000880C, - 17869: 0x0000880B, - 17870: 0x00008806, - 17871: 0x000087FC, - 17872: 0x00008808, - 17873: 0x000087FF, - 17874: 0x0000880A, - 17875: 0x00008802, - 17876: 0x00008962, - 17877: 0x0000895A, - 17878: 0x0000895B, - 17879: 0x00008957, - 17880: 0x00008961, - 17881: 0x0000895C, - 17882: 0x00008958, - 17883: 0x0000895D, - 17884: 0x00008959, - 17885: 0x00008988, - 17886: 0x000089B7, - 17887: 0x000089B6, - 17888: 0x000089F6, - 17889: 0x00008B50, - 17890: 0x00008B48, - 17891: 0x00008B4A, - 17892: 0x00008B40, - 17893: 0x00008B53, - 17894: 0x00008B56, - 17895: 0x00008B54, - 17896: 0x00008B4B, - 17897: 0x00008B55, - 17898: 0x00008B51, - 17899: 0x00008B42, - 17900: 0x00008B52, - 17901: 0x00008B57, - 17902: 0x00008C43, - 17903: 0x00008C77, - 17904: 0x00008C76, - 17905: 0x00008C9A, - 17906: 0x00008D06, - 17907: 0x00008D07, - 17908: 0x00008D09, - 17909: 0x00008DAC, - 17910: 0x00008DAA, - 17911: 0x00008DAD, - 17912: 0x00008DAB, - 17913: 0x00008E6D, - 17914: 0x00008E78, - 17915: 0x00008E73, - 17916: 0x00008E6A, - 17917: 0x00008E6F, - 17918: 0x00008E7B, - 17919: 0x00008EC2, - 17920: 0x00008F52, - 17921: 0x00008F51, - 17922: 0x00008F4F, - 17923: 0x00008F50, - 17924: 0x00008F53, - 17925: 0x00008FB4, - 17926: 0x00009140, - 17927: 0x0000913F, - 17928: 0x000091B0, - 17929: 0x000091AD, - 17930: 0x000093DE, - 17931: 0x000093C7, - 17932: 0x000093CF, - 17933: 0x000093C2, - 17934: 0x000093DA, - 17935: 0x000093D0, - 17936: 0x000093F9, - 17937: 0x000093EC, - 17938: 0x000093CC, - 17939: 0x000093D9, - 17940: 0x000093A9, - 17941: 0x000093E6, - 17942: 0x000093CA, - 17943: 0x000093D4, - 17944: 0x000093EE, - 17945: 0x000093E3, - 17946: 0x000093D5, - 17947: 0x000093C4, - 17948: 0x000093CE, - 17949: 0x000093C0, - 17950: 0x000093D2, - 17951: 0x000093E7, - 17952: 0x0000957D, - 17953: 0x000095DA, - 17954: 0x000095DB, - 17955: 0x000096E1, - 17956: 0x00009729, - 17957: 0x0000972B, - 17958: 0x0000972C, - 17959: 0x00009728, - 17960: 0x00009726, - 17961: 0x000097B3, - 17962: 0x000097B7, - 17963: 0x000097B6, - 17964: 0x000097DD, - 17965: 0x000097DE, - 17966: 0x000097DF, - 17967: 0x0000985C, - 17968: 0x00009859, - 17969: 0x0000985D, - 17970: 0x00009857, - 17971: 0x000098BF, - 17972: 0x000098BD, - 17973: 0x000098BB, - 17974: 0x000098BE, - 17975: 0x00009948, - 17976: 0x00009947, - 17977: 0x00009943, - 17978: 0x000099A6, - 17979: 0x000099A7, - 17980: 0x00009A1A, - 17981: 0x00009A15, - 17982: 0x00009A25, - 17983: 0x00009A1D, - 17984: 0x00009A24, - 17985: 0x00009A1B, - 17986: 0x00009A22, - 17987: 0x00009A20, - 17988: 0x00009A27, - 17989: 0x00009A23, - 17990: 0x00009A1E, - 17991: 0x00009A1C, - 17992: 0x00009A14, - 17993: 0x00009AC2, - 17994: 0x00009B0B, - 17995: 0x00009B0A, - 17996: 0x00009B0E, - 17997: 0x00009B0C, - 17998: 0x00009B37, - 17999: 0x00009BEA, - 18000: 0x00009BEB, - 18001: 0x00009BE0, - 18002: 0x00009BDE, - 18003: 0x00009BE4, - 18004: 0x00009BE6, - 18005: 0x00009BE2, - 18006: 0x00009BF0, - 18007: 0x00009BD4, - 18008: 0x00009BD7, - 18009: 0x00009BEC, - 18010: 0x00009BDC, - 18011: 0x00009BD9, - 18012: 0x00009BE5, - 18013: 0x00009BD5, - 18014: 0x00009BE1, - 18015: 0x00009BDA, - 18016: 0x00009D77, - 18017: 0x00009D81, - 18018: 0x00009D8A, - 18019: 0x00009D84, - 18020: 0x00009D88, - 18021: 0x00009D71, - 18022: 0x00009D80, - 18023: 0x00009D78, - 18024: 0x00009D86, - 18025: 0x00009D8B, - 18026: 0x00009D8C, - 18027: 0x00009D7D, - 18028: 0x00009D6B, - 18029: 0x00009D74, - 18030: 0x00009D75, - 18031: 0x00009D70, - 18032: 0x00009D69, - 18033: 0x00009D85, - 18034: 0x00009D73, - 18035: 0x00009D7B, - 18036: 0x00009D82, - 18037: 0x00009D6F, - 18038: 0x00009D79, - 18039: 0x00009D7F, - 18040: 0x00009D87, - 18041: 0x00009D68, - 18042: 0x00009E94, - 18043: 0x00009E91, - 18044: 0x00009EC0, - 18045: 0x00009EFC, - 18046: 0x00009F2D, - 18047: 0x00009F40, - 18048: 0x00009F41, - 18049: 0x00009F4D, - 18050: 0x00009F56, - 18051: 0x00009F57, - 18052: 0x00009F58, - 18053: 0x00005337, - 18054: 0x000056B2, - 18055: 0x000056B5, - 18056: 0x000056B3, - 18057: 0x000058E3, - 18058: 0x00005B45, - 18059: 0x00005DC6, - 18060: 0x00005DC7, - 18061: 0x00005EEE, - 18062: 0x00005EEF, - 18063: 0x00005FC0, - 18064: 0x00005FC1, - 18065: 0x000061F9, - 18066: 0x00006517, - 18067: 0x00006516, - 18068: 0x00006515, - 18069: 0x00006513, - 18070: 0x000065DF, - 18071: 0x000066E8, - 18072: 0x000066E3, - 18073: 0x000066E4, - 18074: 0x00006AF3, - 18075: 0x00006AF0, - 18076: 0x00006AEA, - 18077: 0x00006AE8, - 18078: 0x00006AF9, - 18079: 0x00006AF1, - 18080: 0x00006AEE, - 18081: 0x00006AEF, - 18082: 0x0000703C, - 18083: 0x00007035, - 18084: 0x0000702F, - 18085: 0x00007037, - 18086: 0x00007034, - 18087: 0x00007031, - 18088: 0x00007042, - 18089: 0x00007038, - 18090: 0x0000703F, - 18091: 0x0000703A, - 18092: 0x00007039, - 18093: 0x00007040, - 18094: 0x0000703B, - 18095: 0x00007033, - 18096: 0x00007041, - 18097: 0x00007213, - 18098: 0x00007214, - 18099: 0x000072A8, - 18100: 0x0000737D, - 18101: 0x0000737C, - 18102: 0x000074BA, - 18103: 0x000076AB, - 18104: 0x000076AA, - 18105: 0x000076BE, - 18106: 0x000076ED, - 18107: 0x000077CC, - 18108: 0x000077CE, - 18109: 0x000077CF, - 18110: 0x000077CD, - 18111: 0x000077F2, - 18112: 0x00007925, - 18113: 0x00007923, - 18114: 0x00007927, - 18115: 0x00007928, - 18116: 0x00007924, - 18117: 0x00007929, - 18118: 0x000079B2, - 18119: 0x00007A6E, - 18120: 0x00007A6C, - 18121: 0x00007A6D, - 18122: 0x00007AF7, - 18123: 0x00007C49, - 18124: 0x00007C48, - 18125: 0x00007C4A, - 18126: 0x00007C47, - 18127: 0x00007C45, - 18128: 0x00007CEE, - 18129: 0x00007E7B, - 18130: 0x00007E7E, - 18131: 0x00007E81, - 18132: 0x00007E80, - 18133: 0x00007FBA, - 18134: 0x00007FFF, - 18135: 0x00008079, - 18136: 0x000081DB, - 18137: 0x000081D9, - 18138: 0x0000820B, - 18139: 0x00008268, - 18140: 0x00008269, - 18141: 0x00008622, - 18142: 0x000085FF, - 18143: 0x00008601, - 18144: 0x000085FE, - 18145: 0x0000861B, - 18146: 0x00008600, - 18147: 0x000085F6, - 18148: 0x00008604, - 18149: 0x00008609, - 18150: 0x00008605, - 18151: 0x0000860C, - 18152: 0x000085FD, - 18153: 0x00008819, - 18154: 0x00008810, - 18155: 0x00008811, - 18156: 0x00008817, - 18157: 0x00008813, - 18158: 0x00008816, - 18159: 0x00008963, - 18160: 0x00008966, - 18161: 0x000089B9, - 18162: 0x000089F7, - 18163: 0x00008B60, - 18164: 0x00008B6A, - 18165: 0x00008B5D, - 18166: 0x00008B68, - 18167: 0x00008B63, - 18168: 0x00008B65, - 18169: 0x00008B67, - 18170: 0x00008B6D, - 18171: 0x00008DAE, - 18172: 0x00008E86, - 18173: 0x00008E88, - 18174: 0x00008E84, - 18175: 0x00008F59, - 18176: 0x00008F56, - 18177: 0x00008F57, - 18178: 0x00008F55, - 18179: 0x00008F58, - 18180: 0x00008F5A, - 18181: 0x0000908D, - 18182: 0x00009143, - 18183: 0x00009141, - 18184: 0x000091B7, - 18185: 0x000091B5, - 18186: 0x000091B2, - 18187: 0x000091B3, - 18188: 0x0000940B, - 18189: 0x00009413, - 18190: 0x000093FB, - 18191: 0x00009420, - 18192: 0x0000940F, - 18193: 0x00009414, - 18194: 0x000093FE, - 18195: 0x00009415, - 18196: 0x00009410, - 18197: 0x00009428, - 18198: 0x00009419, - 18199: 0x0000940D, - 18200: 0x000093F5, - 18201: 0x00009400, - 18202: 0x000093F7, - 18203: 0x00009407, - 18204: 0x0000940E, - 18205: 0x00009416, - 18206: 0x00009412, - 18207: 0x000093FA, - 18208: 0x00009409, - 18209: 0x000093F8, - 18210: 0x0000940A, - 18211: 0x000093FF, - 18212: 0x000093FC, - 18213: 0x0000940C, - 18214: 0x000093F6, - 18215: 0x00009411, - 18216: 0x00009406, - 18217: 0x000095DE, - 18218: 0x000095E0, - 18219: 0x000095DF, - 18220: 0x0000972E, - 18221: 0x0000972F, - 18222: 0x000097B9, - 18223: 0x000097BB, - 18224: 0x000097FD, - 18225: 0x000097FE, - 18226: 0x00009860, - 18227: 0x00009862, - 18228: 0x00009863, - 18229: 0x0000985F, - 18230: 0x000098C1, - 18231: 0x000098C2, - 18232: 0x00009950, - 18233: 0x0000994E, - 18234: 0x00009959, - 18235: 0x0000994C, - 18236: 0x0000994B, - 18237: 0x00009953, - 18238: 0x00009A32, - 18239: 0x00009A34, - 18240: 0x00009A31, - 18241: 0x00009A2C, - 18242: 0x00009A2A, - 18243: 0x00009A36, - 18244: 0x00009A29, - 18245: 0x00009A2E, - 18246: 0x00009A38, - 18247: 0x00009A2D, - 18248: 0x00009AC7, - 18249: 0x00009ACA, - 18250: 0x00009AC6, - 18251: 0x00009B10, - 18252: 0x00009B12, - 18253: 0x00009B11, - 18254: 0x00009C0B, - 18255: 0x00009C08, - 18256: 0x00009BF7, - 18257: 0x00009C05, - 18258: 0x00009C12, - 18259: 0x00009BF8, - 18260: 0x00009C40, - 18261: 0x00009C07, - 18262: 0x00009C0E, - 18263: 0x00009C06, - 18264: 0x00009C17, - 18265: 0x00009C14, - 18266: 0x00009C09, - 18267: 0x00009D9F, - 18268: 0x00009D99, - 18269: 0x00009DA4, - 18270: 0x00009D9D, - 18271: 0x00009D92, - 18272: 0x00009D98, - 18273: 0x00009D90, - 18274: 0x00009D9B, - 18275: 0x00009DA0, - 18276: 0x00009D94, - 18277: 0x00009D9C, - 18278: 0x00009DAA, - 18279: 0x00009D97, - 18280: 0x00009DA1, - 18281: 0x00009D9A, - 18282: 0x00009DA2, - 18283: 0x00009DA8, - 18284: 0x00009D9E, - 18285: 0x00009DA3, - 18286: 0x00009DBF, - 18287: 0x00009DA9, - 18288: 0x00009D96, - 18289: 0x00009DA6, - 18290: 0x00009DA7, - 18291: 0x00009E99, - 18292: 0x00009E9B, - 18293: 0x00009E9A, - 18294: 0x00009EE5, - 18295: 0x00009EE4, - 18296: 0x00009EE7, - 18297: 0x00009EE6, - 18298: 0x00009F30, - 18299: 0x00009F2E, - 18300: 0x00009F5B, - 18301: 0x00009F60, - 18302: 0x00009F5E, - 18303: 0x00009F5D, - 18304: 0x00009F59, - 18305: 0x00009F91, - 18306: 0x0000513A, - 18307: 0x00005139, - 18308: 0x00005298, - 18309: 0x00005297, - 18310: 0x000056C3, - 18311: 0x000056BD, - 18312: 0x000056BE, - 18313: 0x00005B48, - 18314: 0x00005B47, - 18315: 0x00005DCB, - 18316: 0x00005DCF, - 18317: 0x00005EF1, - 18318: 0x000061FD, - 18319: 0x0000651B, - 18320: 0x00006B02, - 18321: 0x00006AFC, - 18322: 0x00006B03, - 18323: 0x00006AF8, - 18324: 0x00006B00, - 18325: 0x00007043, - 18326: 0x00007044, - 18327: 0x0000704A, - 18328: 0x00007048, - 18329: 0x00007049, - 18330: 0x00007045, - 18331: 0x00007046, - 18332: 0x0000721D, - 18333: 0x0000721A, - 18334: 0x00007219, - 18335: 0x0000737E, - 18336: 0x00007517, - 18337: 0x0000766A, - 18338: 0x000077D0, - 18339: 0x0000792D, - 18340: 0x00007931, - 18341: 0x0000792F, - 18342: 0x00007C54, - 18343: 0x00007C53, - 18344: 0x00007CF2, - 18345: 0x00007E8A, - 18346: 0x00007E87, - 18347: 0x00007E88, - 18348: 0x00007E8B, - 18349: 0x00007E86, - 18350: 0x00007E8D, - 18351: 0x00007F4D, - 18352: 0x00007FBB, - 18353: 0x00008030, - 18354: 0x000081DD, - 18355: 0x00008618, - 18356: 0x0000862A, - 18357: 0x00008626, - 18358: 0x0000861F, - 18359: 0x00008623, - 18360: 0x0000861C, - 18361: 0x00008619, - 18362: 0x00008627, - 18363: 0x0000862E, - 18364: 0x00008621, - 18365: 0x00008620, - 18366: 0x00008629, - 18367: 0x0000861E, - 18368: 0x00008625, - 18369: 0x00008829, - 18370: 0x0000881D, - 18371: 0x0000881B, - 18372: 0x00008820, - 18373: 0x00008824, - 18374: 0x0000881C, - 18375: 0x0000882B, - 18376: 0x0000884A, - 18377: 0x0000896D, - 18378: 0x00008969, - 18379: 0x0000896E, - 18380: 0x0000896B, - 18381: 0x000089FA, - 18382: 0x00008B79, - 18383: 0x00008B78, - 18384: 0x00008B45, - 18385: 0x00008B7A, - 18386: 0x00008B7B, - 18387: 0x00008D10, - 18388: 0x00008D14, - 18389: 0x00008DAF, - 18390: 0x00008E8E, - 18391: 0x00008E8C, - 18392: 0x00008F5E, - 18393: 0x00008F5B, - 18394: 0x00008F5D, - 18395: 0x00009146, - 18396: 0x00009144, - 18397: 0x00009145, - 18398: 0x000091B9, - 18399: 0x0000943F, - 18400: 0x0000943B, - 18401: 0x00009436, - 18402: 0x00009429, - 18403: 0x0000943D, - 18404: 0x0000943C, - 18405: 0x00009430, - 18406: 0x00009439, - 18407: 0x0000942A, - 18408: 0x00009437, - 18409: 0x0000942C, - 18410: 0x00009440, - 18411: 0x00009431, - 18412: 0x000095E5, - 18413: 0x000095E4, - 18414: 0x000095E3, - 18415: 0x00009735, - 18416: 0x0000973A, - 18417: 0x000097BF, - 18418: 0x000097E1, - 18419: 0x00009864, - 18420: 0x000098C9, - 18421: 0x000098C6, - 18422: 0x000098C0, - 18423: 0x00009958, - 18424: 0x00009956, - 18425: 0x00009A39, - 18426: 0x00009A3D, - 18427: 0x00009A46, - 18428: 0x00009A44, - 18429: 0x00009A42, - 18430: 0x00009A41, - 18431: 0x00009A3A, - 18432: 0x00009A3F, - 18433: 0x00009ACD, - 18434: 0x00009B15, - 18435: 0x00009B17, - 18436: 0x00009B18, - 18437: 0x00009B16, - 18438: 0x00009B3A, - 18439: 0x00009B52, - 18440: 0x00009C2B, - 18441: 0x00009C1D, - 18442: 0x00009C1C, - 18443: 0x00009C2C, - 18444: 0x00009C23, - 18445: 0x00009C28, - 18446: 0x00009C29, - 18447: 0x00009C24, - 18448: 0x00009C21, - 18449: 0x00009DB7, - 18450: 0x00009DB6, - 18451: 0x00009DBC, - 18452: 0x00009DC1, - 18453: 0x00009DC7, - 18454: 0x00009DCA, - 18455: 0x00009DCF, - 18456: 0x00009DBE, - 18457: 0x00009DC5, - 18458: 0x00009DC3, - 18459: 0x00009DBB, - 18460: 0x00009DB5, - 18461: 0x00009DCE, - 18462: 0x00009DB9, - 18463: 0x00009DBA, - 18464: 0x00009DAC, - 18465: 0x00009DC8, - 18466: 0x00009DB1, - 18467: 0x00009DAD, - 18468: 0x00009DCC, - 18469: 0x00009DB3, - 18470: 0x00009DCD, - 18471: 0x00009DB2, - 18472: 0x00009E7A, - 18473: 0x00009E9C, - 18474: 0x00009EEB, - 18475: 0x00009EEE, - 18476: 0x00009EED, - 18477: 0x00009F1B, - 18478: 0x00009F18, - 18479: 0x00009F1A, - 18480: 0x00009F31, - 18481: 0x00009F4E, - 18482: 0x00009F65, - 18483: 0x00009F64, - 18484: 0x00009F92, - 18485: 0x00004EB9, - 18486: 0x000056C6, - 18487: 0x000056C5, - 18488: 0x000056CB, - 18489: 0x00005971, - 18490: 0x00005B4B, - 18491: 0x00005B4C, - 18492: 0x00005DD5, - 18493: 0x00005DD1, - 18494: 0x00005EF2, - 18495: 0x00006521, - 18496: 0x00006520, - 18497: 0x00006526, - 18498: 0x00006522, - 18499: 0x00006B0B, - 18500: 0x00006B08, - 18501: 0x00006B09, - 18502: 0x00006C0D, - 18503: 0x00007055, - 18504: 0x00007056, - 18505: 0x00007057, - 18506: 0x00007052, - 18507: 0x0000721E, - 18508: 0x0000721F, - 18509: 0x000072A9, - 18510: 0x0000737F, - 18511: 0x000074D8, - 18512: 0x000074D5, - 18513: 0x000074D9, - 18514: 0x000074D7, - 18515: 0x0000766D, - 18516: 0x000076AD, - 18517: 0x00007935, - 18518: 0x000079B4, - 18519: 0x00007A70, - 18520: 0x00007A71, - 18521: 0x00007C57, - 18522: 0x00007C5C, - 18523: 0x00007C59, - 18524: 0x00007C5B, - 18525: 0x00007C5A, - 18526: 0x00007CF4, - 18527: 0x00007CF1, - 18528: 0x00007E91, - 18529: 0x00007F4F, - 18530: 0x00007F87, - 18531: 0x000081DE, - 18532: 0x0000826B, - 18533: 0x00008634, - 18534: 0x00008635, - 18535: 0x00008633, - 18536: 0x0000862C, - 18537: 0x00008632, - 18538: 0x00008636, - 18539: 0x0000882C, - 18540: 0x00008828, - 18541: 0x00008826, - 18542: 0x0000882A, - 18543: 0x00008825, - 18544: 0x00008971, - 18545: 0x000089BF, - 18546: 0x000089BE, - 18547: 0x000089FB, - 18548: 0x00008B7E, - 18549: 0x00008B84, - 18550: 0x00008B82, - 18551: 0x00008B86, - 18552: 0x00008B85, - 18553: 0x00008B7F, - 18554: 0x00008D15, - 18555: 0x00008E95, - 18556: 0x00008E94, - 18557: 0x00008E9A, - 18558: 0x00008E92, - 18559: 0x00008E90, - 18560: 0x00008E96, - 18561: 0x00008E97, - 18562: 0x00008F60, - 18563: 0x00008F62, - 18564: 0x00009147, - 18565: 0x0000944C, - 18566: 0x00009450, - 18567: 0x0000944A, - 18568: 0x0000944B, - 18569: 0x0000944F, - 18570: 0x00009447, - 18571: 0x00009445, - 18572: 0x00009448, - 18573: 0x00009449, - 18574: 0x00009446, - 18575: 0x0000973F, - 18576: 0x000097E3, - 18577: 0x0000986A, - 18578: 0x00009869, - 18579: 0x000098CB, - 18580: 0x00009954, - 18581: 0x0000995B, - 18582: 0x00009A4E, - 18583: 0x00009A53, - 18584: 0x00009A54, - 18585: 0x00009A4C, - 18586: 0x00009A4F, - 18587: 0x00009A48, - 18588: 0x00009A4A, - 18589: 0x00009A49, - 18590: 0x00009A52, - 18591: 0x00009A50, - 18592: 0x00009AD0, - 18593: 0x00009B19, - 18594: 0x00009B2B, - 18595: 0x00009B3B, - 18596: 0x00009B56, - 18597: 0x00009B55, - 18598: 0x00009C46, - 18599: 0x00009C48, - 18600: 0x00009C3F, - 18601: 0x00009C44, - 18602: 0x00009C39, - 18603: 0x00009C33, - 18604: 0x00009C41, - 18605: 0x00009C3C, - 18606: 0x00009C37, - 18607: 0x00009C34, - 18608: 0x00009C32, - 18609: 0x00009C3D, - 18610: 0x00009C36, - 18611: 0x00009DDB, - 18612: 0x00009DD2, - 18613: 0x00009DDE, - 18614: 0x00009DDA, - 18615: 0x00009DCB, - 18616: 0x00009DD0, - 18617: 0x00009DDC, - 18618: 0x00009DD1, - 18619: 0x00009DDF, - 18620: 0x00009DE9, - 18621: 0x00009DD9, - 18622: 0x00009DD8, - 18623: 0x00009DD6, - 18624: 0x00009DF5, - 18625: 0x00009DD5, - 18626: 0x00009DDD, - 18627: 0x00009EB6, - 18628: 0x00009EF0, - 18629: 0x00009F35, - 18630: 0x00009F33, - 18631: 0x00009F32, - 18632: 0x00009F42, - 18633: 0x00009F6B, - 18634: 0x00009F95, - 18635: 0x00009FA2, - 18636: 0x0000513D, - 18637: 0x00005299, - 18638: 0x000058E8, - 18639: 0x000058E7, - 18640: 0x00005972, - 18641: 0x00005B4D, - 18642: 0x00005DD8, - 18643: 0x0000882F, - 18644: 0x00005F4F, - 18645: 0x00006201, - 18646: 0x00006203, - 18647: 0x00006204, - 18648: 0x00006529, - 18649: 0x00006525, - 18650: 0x00006596, - 18651: 0x000066EB, - 18652: 0x00006B11, - 18653: 0x00006B12, - 18654: 0x00006B0F, - 18655: 0x00006BCA, - 18656: 0x0000705B, - 18657: 0x0000705A, - 18658: 0x00007222, - 18659: 0x00007382, - 18660: 0x00007381, - 18661: 0x00007383, - 18662: 0x00007670, - 18663: 0x000077D4, - 18664: 0x00007C67, - 18665: 0x00007C66, - 18666: 0x00007E95, - 18667: 0x0000826C, - 18668: 0x0000863A, - 18669: 0x00008640, - 18670: 0x00008639, - 18671: 0x0000863C, - 18672: 0x00008631, - 18673: 0x0000863B, - 18674: 0x0000863E, - 18675: 0x00008830, - 18676: 0x00008832, - 18677: 0x0000882E, - 18678: 0x00008833, - 18679: 0x00008976, - 18680: 0x00008974, - 18681: 0x00008973, - 18682: 0x000089FE, - 18683: 0x00008B8C, - 18684: 0x00008B8E, - 18685: 0x00008B8B, - 18686: 0x00008B88, - 18687: 0x00008C45, - 18688: 0x00008D19, - 18689: 0x00008E98, - 18690: 0x00008F64, - 18691: 0x00008F63, - 18692: 0x000091BC, - 18693: 0x00009462, - 18694: 0x00009455, - 18695: 0x0000945D, - 18696: 0x00009457, - 18697: 0x0000945E, - 18698: 0x000097C4, - 18699: 0x000097C5, - 18700: 0x00009800, - 18701: 0x00009A56, - 18702: 0x00009A59, - 18703: 0x00009B1E, - 18704: 0x00009B1F, - 18705: 0x00009B20, - 18706: 0x00009C52, - 18707: 0x00009C58, - 18708: 0x00009C50, - 18709: 0x00009C4A, - 18710: 0x00009C4D, - 18711: 0x00009C4B, - 18712: 0x00009C55, - 18713: 0x00009C59, - 18714: 0x00009C4C, - 18715: 0x00009C4E, - 18716: 0x00009DFB, - 18717: 0x00009DF7, - 18718: 0x00009DEF, - 18719: 0x00009DE3, - 18720: 0x00009DEB, - 18721: 0x00009DF8, - 18722: 0x00009DE4, - 18723: 0x00009DF6, - 18724: 0x00009DE1, - 18725: 0x00009DEE, - 18726: 0x00009DE6, - 18727: 0x00009DF2, - 18728: 0x00009DF0, - 18729: 0x00009DE2, - 18730: 0x00009DEC, - 18731: 0x00009DF4, - 18732: 0x00009DF3, - 18733: 0x00009DE8, - 18734: 0x00009DED, - 18735: 0x00009EC2, - 18736: 0x00009ED0, - 18737: 0x00009EF2, - 18738: 0x00009EF3, - 18739: 0x00009F06, - 18740: 0x00009F1C, - 18741: 0x00009F38, - 18742: 0x00009F37, - 18743: 0x00009F36, - 18744: 0x00009F43, - 18745: 0x00009F4F, - 18746: 0x00009F71, - 18747: 0x00009F70, - 18748: 0x00009F6E, - 18749: 0x00009F6F, - 18750: 0x000056D3, - 18751: 0x000056CD, - 18752: 0x00005B4E, - 18753: 0x00005C6D, - 18754: 0x0000652D, - 18755: 0x000066ED, - 18756: 0x000066EE, - 18757: 0x00006B13, - 18758: 0x0000705F, - 18759: 0x00007061, - 18760: 0x0000705D, - 18761: 0x00007060, - 18762: 0x00007223, - 18763: 0x000074DB, - 18764: 0x000074E5, - 18765: 0x000077D5, - 18766: 0x00007938, - 18767: 0x000079B7, - 18768: 0x000079B6, - 18769: 0x00007C6A, - 18770: 0x00007E97, - 18771: 0x00007F89, - 18772: 0x0000826D, - 18773: 0x00008643, - 18774: 0x00008838, - 18775: 0x00008837, - 18776: 0x00008835, - 18777: 0x0000884B, - 18778: 0x00008B94, - 18779: 0x00008B95, - 18780: 0x00008E9E, - 18781: 0x00008E9F, - 18782: 0x00008EA0, - 18783: 0x00008E9D, - 18784: 0x000091BE, - 18785: 0x000091BD, - 18786: 0x000091C2, - 18787: 0x0000946B, - 18788: 0x00009468, - 18789: 0x00009469, - 18790: 0x000096E5, - 18791: 0x00009746, - 18792: 0x00009743, - 18793: 0x00009747, - 18794: 0x000097C7, - 18795: 0x000097E5, - 18796: 0x00009A5E, - 18797: 0x00009AD5, - 18798: 0x00009B59, - 18799: 0x00009C63, - 18800: 0x00009C67, - 18801: 0x00009C66, - 18802: 0x00009C62, - 18803: 0x00009C5E, - 18804: 0x00009C60, - 18805: 0x00009E02, - 18806: 0x00009DFE, - 18807: 0x00009E07, - 18808: 0x00009E03, - 18809: 0x00009E06, - 18810: 0x00009E05, - 18811: 0x00009E00, - 18812: 0x00009E01, - 18813: 0x00009E09, - 18814: 0x00009DFF, - 18815: 0x00009DFD, - 18816: 0x00009E04, - 18817: 0x00009EA0, - 18818: 0x00009F1E, - 18819: 0x00009F46, - 18820: 0x00009F74, - 18821: 0x00009F75, - 18822: 0x00009F76, - 18823: 0x000056D4, - 18824: 0x0000652E, - 18825: 0x000065B8, - 18826: 0x00006B18, - 18827: 0x00006B19, - 18828: 0x00006B17, - 18829: 0x00006B1A, - 18830: 0x00007062, - 18831: 0x00007226, - 18832: 0x000072AA, - 18833: 0x000077D8, - 18834: 0x000077D9, - 18835: 0x00007939, - 18836: 0x00007C69, - 18837: 0x00007C6B, - 18838: 0x00007CF6, - 18839: 0x00007E9A, - 18840: 0x00007E98, - 18841: 0x00007E9B, - 18842: 0x00007E99, - 18843: 0x000081E0, - 18844: 0x000081E1, - 18845: 0x00008646, - 18846: 0x00008647, - 18847: 0x00008648, - 18848: 0x00008979, - 18849: 0x0000897A, - 18850: 0x0000897C, - 18851: 0x0000897B, - 18852: 0x000089FF, - 18853: 0x00008B98, - 18854: 0x00008B99, - 18855: 0x00008EA5, - 18856: 0x00008EA4, - 18857: 0x00008EA3, - 18858: 0x0000946E, - 18859: 0x0000946D, - 18860: 0x0000946F, - 18861: 0x00009471, - 18862: 0x00009473, - 18863: 0x00009749, - 18864: 0x00009872, - 18865: 0x0000995F, - 18866: 0x00009C68, - 18867: 0x00009C6E, - 18868: 0x00009C6D, - 18869: 0x00009E0B, - 18870: 0x00009E0D, - 18871: 0x00009E10, - 18872: 0x00009E0F, - 18873: 0x00009E12, - 18874: 0x00009E11, - 18875: 0x00009EA1, - 18876: 0x00009EF5, - 18877: 0x00009F09, - 18878: 0x00009F47, - 18879: 0x00009F78, - 18880: 0x00009F7B, - 18881: 0x00009F7A, - 18882: 0x00009F79, - 18883: 0x0000571E, - 18884: 0x00007066, - 18885: 0x00007C6F, - 18886: 0x0000883C, - 18887: 0x00008DB2, - 18888: 0x00008EA6, - 18889: 0x000091C3, - 18890: 0x00009474, - 18891: 0x00009478, - 18892: 0x00009476, - 18893: 0x00009475, - 18894: 0x00009A60, - 18895: 0x00009C74, - 18896: 0x00009C73, - 18897: 0x00009C71, - 18898: 0x00009C75, - 18899: 0x00009E14, - 18900: 0x00009E13, - 18901: 0x00009EF6, - 18902: 0x00009F0A, - 18903: 0x00009FA4, - 18904: 0x00007068, - 18905: 0x00007065, - 18906: 0x00007CF7, - 18907: 0x0000866A, - 18908: 0x0000883E, - 18909: 0x0000883D, - 18910: 0x0000883F, - 18911: 0x00008B9E, - 18912: 0x00008C9C, - 18913: 0x00008EA9, - 18914: 0x00008EC9, - 18915: 0x0000974B, - 18916: 0x00009873, - 18917: 0x00009874, - 18918: 0x000098CC, - 18919: 0x00009961, - 18920: 0x000099AB, - 18921: 0x00009A64, - 18922: 0x00009A66, - 18923: 0x00009A67, - 18924: 0x00009B24, - 18925: 0x00009E15, - 18926: 0x00009E17, - 18927: 0x00009F48, - 18928: 0x00006207, - 18929: 0x00006B1E, - 18930: 0x00007227, - 18931: 0x0000864C, - 18932: 0x00008EA8, - 18933: 0x00009482, - 18934: 0x00009480, - 18935: 0x00009481, - 18936: 0x00009A69, - 18937: 0x00009A68, - 18938: 0x00009B2E, - 18939: 0x00009E19, - 18940: 0x00007229, - 18941: 0x0000864B, - 18942: 0x00008B9F, - 18943: 0x00009483, - 18944: 0x00009C79, - 18945: 0x00009EB7, - 18946: 0x00007675, - 18947: 0x00009A6B, - 18948: 0x00009C7A, - 18949: 0x00009E1D, - 18950: 0x00007069, - 18951: 0x0000706A, - 18952: 0x00009EA4, - 18953: 0x00009F7E, - 18954: 0x00009F49, - 18955: 0x00009F98, - 18956: 0x00007881, - 18957: 0x000092B9, - 18958: 0x000088CF, - 18959: 0x000058BB, - 18960: 0x00006052, - 18961: 0x00007CA7, - 18962: 0x00005AFA, - 18963: 0x00002554, - 18964: 0x00002566, - 18965: 0x00002557, - 18966: 0x00002560, - 18967: 0x0000256C, - 18968: 0x00002563, - 18969: 0x0000255A, - 18970: 0x00002569, - 18971: 0x0000255D, - 18972: 0x00002552, - 18973: 0x00002564, - 18974: 0x00002555, - 18975: 0x0000255E, - 18976: 0x0000256A, - 18977: 0x00002561, - 18978: 0x00002558, - 18979: 0x00002567, - 18980: 0x0000255B, - 18981: 0x00002553, - 18982: 0x00002565, - 18983: 0x00002556, - 18984: 0x0000255F, - 18985: 0x0000256B, - 18986: 0x00002562, - 18987: 0x00002559, - 18988: 0x00002568, - 18989: 0x0000255C, - 18990: 0x00002551, - 18991: 0x00002550, - 18992: 0x0000256D, - 18993: 0x0000256E, - 18994: 0x00002570, - 18995: 0x0000256F, - 18996: 0x0000FFED, - 18997: 0x00020547, - 18998: 0x000092DB, - 18999: 0x000205DF, - 19000: 0x00023FC5, - 19001: 0x0000854C, - 19002: 0x000042B5, - 19003: 0x000073EF, - 19004: 0x000051B5, - 19005: 0x00003649, - 19006: 0x00024942, - 19007: 0x000289E4, - 19008: 0x00009344, - 19009: 0x000219DB, - 19010: 0x000082EE, - 19011: 0x00023CC8, - 19012: 0x0000783C, - 19013: 0x00006744, - 19014: 0x000062DF, - 19015: 0x00024933, - 19016: 0x000289AA, - 19017: 0x000202A0, - 19018: 0x00026BB3, - 19019: 0x00021305, - 19020: 0x00004FAB, - 19021: 0x000224ED, - 19022: 0x00005008, - 19023: 0x00026D29, - 19024: 0x00027A84, - 19025: 0x00023600, - 19026: 0x00024AB1, - 19027: 0x00022513, - 19028: 0x00005029, - 19029: 0x0002037E, - 19030: 0x00005FA4, - 19031: 0x00020380, - 19032: 0x00020347, - 19033: 0x00006EDB, - 19034: 0x0002041F, - 19035: 0x0000507D, - 19036: 0x00005101, - 19037: 0x0000347A, - 19038: 0x0000510E, - 19039: 0x0000986C, - 19040: 0x00003743, - 19041: 0x00008416, - 19042: 0x000249A4, - 19043: 0x00020487, - 19044: 0x00005160, - 19045: 0x000233B4, - 19046: 0x0000516A, - 19047: 0x00020BFF, - 19048: 0x000220FC, - 19049: 0x000202E5, - 19050: 0x00022530, - 19051: 0x0002058E, - 19052: 0x00023233, - 19053: 0x00021983, - 19054: 0x00005B82, - 19055: 0x0000877D, - 19056: 0x000205B3, - 19057: 0x00023C99, - 19058: 0x000051B2, - 19059: 0x000051B8, - 19060: 0x00009D34, - 19061: 0x000051C9, - 19062: 0x000051CF, - 19063: 0x000051D1, - 19064: 0x00003CDC, - 19065: 0x000051D3, - 19066: 0x00024AA6, - 19067: 0x000051B3, - 19068: 0x000051E2, - 19069: 0x00005342, - 19070: 0x000051ED, - 19071: 0x000083CD, - 19072: 0x0000693E, - 19073: 0x0002372D, - 19074: 0x00005F7B, - 19075: 0x0000520B, - 19076: 0x00005226, - 19077: 0x0000523C, - 19078: 0x000052B5, - 19079: 0x00005257, - 19080: 0x00005294, - 19081: 0x000052B9, - 19082: 0x000052C5, - 19083: 0x00007C15, - 19084: 0x00008542, - 19085: 0x000052E0, - 19086: 0x0000860D, - 19087: 0x00026B13, - 19088: 0x00005305, - 19089: 0x00028ADE, - 19090: 0x00005549, - 19091: 0x00006ED9, - 19092: 0x00023F80, - 19093: 0x00020954, - 19094: 0x00023FEC, - 19095: 0x00005333, - 19096: 0x00005344, - 19097: 0x00020BE2, - 19098: 0x00006CCB, - 19099: 0x00021726, - 19100: 0x0000681B, - 19101: 0x000073D5, - 19102: 0x0000604A, - 19103: 0x00003EAA, - 19104: 0x000038CC, - 19105: 0x000216E8, - 19106: 0x000071DD, - 19107: 0x000044A2, - 19108: 0x0000536D, - 19109: 0x00005374, - 19110: 0x000286AB, - 19111: 0x0000537E, - 19112: 0x0000537F, - 19113: 0x00021596, - 19114: 0x00021613, - 19115: 0x000077E6, - 19116: 0x00005393, - 19117: 0x00028A9B, - 19118: 0x000053A0, - 19119: 0x000053AB, - 19120: 0x000053AE, - 19121: 0x000073A7, - 19122: 0x00025772, - 19123: 0x00003F59, - 19124: 0x0000739C, - 19125: 0x000053C1, - 19126: 0x000053C5, - 19127: 0x00006C49, - 19128: 0x00004E49, - 19129: 0x000057FE, - 19130: 0x000053D9, - 19131: 0x00003AAB, - 19132: 0x00020B8F, - 19133: 0x000053E0, - 19134: 0x00023FEB, - 19135: 0x00022DA3, - 19136: 0x000053F6, - 19137: 0x00020C77, - 19138: 0x00005413, - 19139: 0x00007079, - 19140: 0x0000552B, - 19141: 0x00006657, - 19142: 0x00006D5B, - 19143: 0x0000546D, - 19144: 0x00026B53, - 19145: 0x00020D74, - 19146: 0x0000555D, - 19147: 0x0000548F, - 19148: 0x000054A4, - 19149: 0x000047A6, - 19150: 0x0002170D, - 19151: 0x00020EDD, - 19152: 0x00003DB4, - 19153: 0x00020D4D, - 19154: 0x000289BC, - 19155: 0x00022698, - 19156: 0x00005547, - 19157: 0x00004CED, - 19158: 0x0000542F, - 19159: 0x00007417, - 19160: 0x00005586, - 19161: 0x000055A9, - 19162: 0x00005605, - 19163: 0x000218D7, - 19164: 0x0002403A, - 19165: 0x00004552, - 19166: 0x00024435, - 19167: 0x000066B3, - 19168: 0x000210B4, - 19169: 0x00005637, - 19170: 0x000066CD, - 19171: 0x0002328A, - 19172: 0x000066A4, - 19173: 0x000066AD, - 19174: 0x0000564D, - 19175: 0x0000564F, - 19176: 0x000078F1, - 19177: 0x000056F1, - 19178: 0x00009787, - 19179: 0x000053FE, - 19180: 0x00005700, - 19181: 0x000056EF, - 19182: 0x000056ED, - 19183: 0x00028B66, - 19184: 0x00003623, - 19185: 0x0002124F, - 19186: 0x00005746, - 19187: 0x000241A5, - 19188: 0x00006C6E, - 19189: 0x0000708B, - 19190: 0x00005742, - 19191: 0x000036B1, - 19192: 0x00026C7E, - 19193: 0x000057E6, - 19194: 0x00021416, - 19195: 0x00005803, - 19196: 0x00021454, - 19197: 0x00024363, - 19198: 0x00005826, - 19199: 0x00024BF5, - 19200: 0x0000585C, - 19201: 0x000058AA, - 19202: 0x00003561, - 19203: 0x000058E0, - 19204: 0x000058DC, - 19205: 0x0002123C, - 19206: 0x000058FB, - 19207: 0x00005BFF, - 19208: 0x00005743, - 19209: 0x0002A150, - 19210: 0x00024278, - 19211: 0x000093D3, - 19212: 0x000035A1, - 19213: 0x0000591F, - 19214: 0x000068A6, - 19215: 0x000036C3, - 19216: 0x00006E59, - 19217: 0x0002163E, - 19218: 0x00005A24, - 19219: 0x00005553, - 19220: 0x00021692, - 19221: 0x00008505, - 19222: 0x000059C9, - 19223: 0x00020D4E, - 19224: 0x00026C81, - 19225: 0x00026D2A, - 19226: 0x000217DC, - 19227: 0x000059D9, - 19228: 0x000217FB, - 19229: 0x000217B2, - 19230: 0x00026DA6, - 19231: 0x00006D71, - 19232: 0x00021828, - 19233: 0x000216D5, - 19234: 0x000059F9, - 19235: 0x00026E45, - 19236: 0x00005AAB, - 19237: 0x00005A63, - 19238: 0x000036E6, - 19239: 0x000249A9, - 19240: 0x00005A77, - 19241: 0x00003708, - 19242: 0x00005A96, - 19243: 0x00007465, - 19244: 0x00005AD3, - 19245: 0x00026FA1, - 19246: 0x00022554, - 19247: 0x00003D85, - 19248: 0x00021911, - 19249: 0x00003732, - 19250: 0x000216B8, - 19251: 0x00005E83, - 19252: 0x000052D0, - 19253: 0x00005B76, - 19254: 0x00006588, - 19255: 0x00005B7C, - 19256: 0x00027A0E, - 19257: 0x00004004, - 19258: 0x0000485D, - 19259: 0x00020204, - 19260: 0x00005BD5, - 19261: 0x00006160, - 19262: 0x00021A34, - 19263: 0x000259CC, - 19264: 0x000205A5, - 19265: 0x00005BF3, - 19266: 0x00005B9D, - 19267: 0x00004D10, - 19268: 0x00005C05, - 19269: 0x00021B44, - 19270: 0x00005C13, - 19271: 0x000073CE, - 19272: 0x00005C14, - 19273: 0x00021CA5, - 19274: 0x00026B28, - 19275: 0x00005C49, - 19276: 0x000048DD, - 19277: 0x00005C85, - 19278: 0x00005CE9, - 19279: 0x00005CEF, - 19280: 0x00005D8B, - 19281: 0x00021DF9, - 19282: 0x00021E37, - 19283: 0x00005D10, - 19284: 0x00005D18, - 19285: 0x00005D46, - 19286: 0x00021EA4, - 19287: 0x00005CBA, - 19288: 0x00005DD7, - 19289: 0x000082FC, - 19290: 0x0000382D, - 19291: 0x00024901, - 19292: 0x00022049, - 19293: 0x00022173, - 19294: 0x00008287, - 19295: 0x00003836, - 19296: 0x00003BC2, - 19297: 0x00005E2E, - 19298: 0x00006A8A, - 19299: 0x00005E75, - 19300: 0x00005E7A, - 19301: 0x000244BC, - 19302: 0x00020CD3, - 19303: 0x000053A6, - 19304: 0x00004EB7, - 19305: 0x00005ED0, - 19306: 0x000053A8, - 19307: 0x00021771, - 19308: 0x00005E09, - 19309: 0x00005EF4, - 19310: 0x00028482, - 19311: 0x00005EF9, - 19312: 0x00005EFB, - 19313: 0x000038A0, - 19314: 0x00005EFC, - 19315: 0x0000683E, - 19316: 0x0000941B, - 19317: 0x00005F0D, - 19318: 0x000201C1, - 19319: 0x0002F894, - 19320: 0x00003ADE, - 19321: 0x000048AE, - 19322: 0x0002133A, - 19323: 0x00005F3A, - 19324: 0x00026888, - 19325: 0x000223D0, - 19326: 0x00005F58, - 19327: 0x00022471, - 19328: 0x00005F63, - 19329: 0x000097BD, - 19330: 0x00026E6E, - 19331: 0x00005F72, - 19332: 0x00009340, - 19333: 0x00028A36, - 19334: 0x00005FA7, - 19335: 0x00005DB6, - 19336: 0x00003D5F, - 19337: 0x00025250, - 19338: 0x00021F6A, - 19339: 0x000270F8, - 19340: 0x00022668, - 19341: 0x000091D6, - 19342: 0x0002029E, - 19343: 0x00028A29, - 19344: 0x00006031, - 19345: 0x00006685, - 19346: 0x00021877, - 19347: 0x00003963, - 19348: 0x00003DC7, - 19349: 0x00003639, - 19350: 0x00005790, - 19351: 0x000227B4, - 19352: 0x00007971, - 19353: 0x00003E40, - 19354: 0x0000609E, - 19355: 0x000060A4, - 19356: 0x000060B3, - 19357: 0x00024982, - 19358: 0x0002498F, - 19359: 0x00027A53, - 19360: 0x000074A4, - 19361: 0x000050E1, - 19362: 0x00005AA0, - 19363: 0x00006164, - 19364: 0x00008424, - 19365: 0x00006142, - 19366: 0x0002F8A6, - 19367: 0x00026ED2, - 19368: 0x00006181, - 19369: 0x000051F4, - 19370: 0x00020656, - 19371: 0x00006187, - 19372: 0x00005BAA, - 19373: 0x00023FB7, - 19374: 0x0002285F, - 19375: 0x000061D3, - 19376: 0x00028B9D, - 19377: 0x0002995D, - 19378: 0x000061D0, - 19379: 0x00003932, - 19380: 0x00022980, - 19381: 0x000228C1, - 19382: 0x00006023, - 19383: 0x0000615C, - 19384: 0x0000651E, - 19385: 0x0000638B, - 19386: 0x00020118, - 19387: 0x000062C5, - 19388: 0x00021770, - 19389: 0x000062D5, - 19390: 0x00022E0D, - 19391: 0x0000636C, - 19392: 0x000249DF, - 19393: 0x00003A17, - 19394: 0x00006438, - 19395: 0x000063F8, - 19396: 0x0002138E, - 19397: 0x000217FC, - 19398: 0x00006490, - 19399: 0x00006F8A, - 19400: 0x00022E36, - 19401: 0x00009814, - 19402: 0x0002408C, - 19403: 0x0002571D, - 19404: 0x000064E1, - 19405: 0x000064E5, - 19406: 0x0000947B, - 19407: 0x00003A66, - 19408: 0x0000643A, - 19409: 0x00003A57, - 19410: 0x0000654D, - 19411: 0x00006F16, - 19412: 0x00024A28, - 19413: 0x00024A23, - 19414: 0x00006585, - 19415: 0x0000656D, - 19416: 0x0000655F, - 19417: 0x0002307E, - 19418: 0x000065B5, - 19419: 0x00024940, - 19420: 0x00004B37, - 19421: 0x000065D1, - 19422: 0x000040D8, - 19423: 0x00021829, - 19424: 0x000065E0, - 19425: 0x000065E3, - 19426: 0x00005FDF, - 19427: 0x00023400, - 19428: 0x00006618, - 19429: 0x000231F7, - 19430: 0x000231F8, - 19431: 0x00006644, - 19432: 0x000231A4, - 19433: 0x000231A5, - 19434: 0x0000664B, - 19435: 0x00020E75, - 19436: 0x00006667, - 19437: 0x000251E6, - 19438: 0x00006673, - 19439: 0x00006674, - 19440: 0x00021E3D, - 19441: 0x00023231, - 19442: 0x000285F4, - 19443: 0x000231C8, - 19444: 0x00025313, - 19445: 0x000077C5, - 19446: 0x000228F7, - 19447: 0x000099A4, - 19448: 0x00006702, - 19449: 0x0002439C, - 19450: 0x00024A21, - 19451: 0x00003B2B, - 19452: 0x000069FA, - 19453: 0x000237C2, - 19454: 0x0000675E, - 19455: 0x00006767, - 19456: 0x00006762, - 19457: 0x000241CD, - 19458: 0x000290ED, - 19459: 0x000067D7, - 19460: 0x000044E9, - 19461: 0x00006822, - 19462: 0x00006E50, - 19463: 0x0000923C, - 19464: 0x00006801, - 19465: 0x000233E6, - 19466: 0x00026DA0, - 19467: 0x0000685D, - 19468: 0x0002346F, - 19469: 0x000069E1, - 19470: 0x00006A0B, - 19471: 0x00028ADF, - 19472: 0x00006973, - 19473: 0x000068C3, - 19474: 0x000235CD, - 19475: 0x00006901, - 19476: 0x00006900, - 19477: 0x00003D32, - 19478: 0x00003A01, - 19479: 0x0002363C, - 19480: 0x00003B80, - 19481: 0x000067AC, - 19482: 0x00006961, - 19483: 0x00028A4A, - 19484: 0x000042FC, - 19485: 0x00006936, - 19486: 0x00006998, - 19487: 0x00003BA1, - 19488: 0x000203C9, - 19489: 0x00008363, - 19490: 0x00005090, - 19491: 0x000069F9, - 19492: 0x00023659, - 19493: 0x0002212A, - 19494: 0x00006A45, - 19495: 0x00023703, - 19496: 0x00006A9D, - 19497: 0x00003BF3, - 19498: 0x000067B1, - 19499: 0x00006AC8, - 19500: 0x0002919C, - 19501: 0x00003C0D, - 19502: 0x00006B1D, - 19503: 0x00020923, - 19504: 0x000060DE, - 19505: 0x00006B35, - 19506: 0x00006B74, - 19507: 0x000227CD, - 19508: 0x00006EB5, - 19509: 0x00023ADB, - 19510: 0x000203B5, - 19511: 0x00021958, - 19512: 0x00003740, - 19513: 0x00005421, - 19514: 0x00023B5A, - 19515: 0x00006BE1, - 19516: 0x00023EFC, - 19517: 0x00006BDC, - 19518: 0x00006C37, - 19519: 0x0002248B, - 19520: 0x000248F1, - 19521: 0x00026B51, - 19522: 0x00006C5A, - 19523: 0x00008226, - 19524: 0x00006C79, - 19525: 0x00023DBC, - 19526: 0x000044C5, - 19527: 0x00023DBD, - 19528: 0x000241A4, - 19529: 0x0002490C, - 19530: 0x00024900, - 19531: 0x00023CC9, - 19532: 0x000036E5, - 19533: 0x00003CEB, - 19534: 0x00020D32, - 19535: 0x00009B83, - 19536: 0x000231F9, - 19537: 0x00022491, - 19538: 0x00007F8F, - 19539: 0x00006837, - 19540: 0x00026D25, - 19541: 0x00026DA1, - 19542: 0x00026DEB, - 19543: 0x00006D96, - 19544: 0x00006D5C, - 19545: 0x00006E7C, - 19546: 0x00006F04, - 19547: 0x0002497F, - 19548: 0x00024085, - 19549: 0x00026E72, - 19550: 0x00008533, - 19551: 0x00026F74, - 19552: 0x000051C7, - 19553: 0x00006C9C, - 19554: 0x00006E1D, - 19555: 0x0000842E, - 19556: 0x00028B21, - 19557: 0x00006E2F, - 19558: 0x00023E2F, - 19559: 0x00007453, - 19560: 0x00023F82, - 19561: 0x000079CC, - 19562: 0x00006E4F, - 19563: 0x00005A91, - 19564: 0x0002304B, - 19565: 0x00006FF8, - 19566: 0x0000370D, - 19567: 0x00006F9D, - 19568: 0x00023E30, - 19569: 0x00006EFA, - 19570: 0x00021497, - 19571: 0x0002403D, - 19572: 0x00004555, - 19573: 0x000093F0, - 19574: 0x00006F44, - 19575: 0x00006F5C, - 19576: 0x00003D4E, - 19577: 0x00006F74, - 19578: 0x00029170, - 19579: 0x00003D3B, - 19580: 0x00006F9F, - 19581: 0x00024144, - 19582: 0x00006FD3, - 19583: 0x00024091, - 19584: 0x00024155, - 19585: 0x00024039, - 19586: 0x00023FF0, - 19587: 0x00023FB4, - 19588: 0x0002413F, - 19589: 0x000051DF, - 19590: 0x00024156, - 19591: 0x00024157, - 19592: 0x00024140, - 19593: 0x000261DD, - 19594: 0x0000704B, - 19595: 0x0000707E, - 19596: 0x000070A7, - 19597: 0x00007081, - 19598: 0x000070CC, - 19599: 0x000070D5, - 19600: 0x000070D6, - 19601: 0x000070DF, - 19602: 0x00004104, - 19603: 0x00003DE8, - 19604: 0x000071B4, - 19605: 0x00007196, - 19606: 0x00024277, - 19607: 0x0000712B, - 19608: 0x00007145, - 19609: 0x00005A88, - 19610: 0x0000714A, - 19611: 0x0000716E, - 19612: 0x00005C9C, - 19613: 0x00024365, - 19614: 0x0000714F, - 19615: 0x00009362, - 19616: 0x000242C1, - 19617: 0x0000712C, - 19618: 0x0002445A, - 19619: 0x00024A27, - 19620: 0x00024A22, - 19621: 0x000071BA, - 19622: 0x00028BE8, - 19623: 0x000070BD, - 19624: 0x0000720E, - 19625: 0x00009442, - 19626: 0x00007215, - 19627: 0x00005911, - 19628: 0x00009443, - 19629: 0x00007224, - 19630: 0x00009341, - 19631: 0x00025605, - 19632: 0x0000722E, - 19633: 0x00007240, - 19634: 0x00024974, - 19635: 0x000068BD, - 19636: 0x00007255, - 19637: 0x00007257, - 19638: 0x00003E55, - 19639: 0x00023044, - 19640: 0x0000680D, - 19641: 0x00006F3D, - 19642: 0x00007282, - 19643: 0x0000732A, - 19644: 0x0000732B, - 19645: 0x00024823, - 19646: 0x0002882B, - 19647: 0x000048ED, - 19648: 0x00028804, - 19649: 0x00007328, - 19650: 0x0000732E, - 19651: 0x000073CF, - 19652: 0x000073AA, - 19653: 0x00020C3A, - 19654: 0x00026A2E, - 19655: 0x000073C9, - 19656: 0x00007449, - 19657: 0x000241E2, - 19658: 0x000216E7, - 19659: 0x00024A24, - 19660: 0x00006623, - 19661: 0x000036C5, - 19662: 0x000249B7, - 19663: 0x0002498D, - 19664: 0x000249FB, - 19665: 0x000073F7, - 19666: 0x00007415, - 19667: 0x00006903, - 19668: 0x00024A26, - 19669: 0x00007439, - 19670: 0x000205C3, - 19671: 0x00003ED7, - 19672: 0x0000745C, - 19673: 0x000228AD, - 19674: 0x00007460, - 19675: 0x00028EB2, - 19676: 0x00007447, - 19677: 0x000073E4, - 19678: 0x00007476, - 19679: 0x000083B9, - 19680: 0x0000746C, - 19681: 0x00003730, - 19682: 0x00007474, - 19683: 0x000093F1, - 19684: 0x00006A2C, - 19685: 0x00007482, - 19686: 0x00004953, - 19687: 0x00024A8C, - 19688: 0x0002415F, - 19689: 0x00024A79, - 19690: 0x00028B8F, - 19691: 0x00005B46, - 19692: 0x00028C03, - 19693: 0x0002189E, - 19694: 0x000074C8, - 19695: 0x00021988, - 19696: 0x0000750E, - 19697: 0x000074E9, - 19698: 0x0000751E, - 19699: 0x00028ED9, - 19700: 0x00021A4B, - 19701: 0x00005BD7, - 19702: 0x00028EAC, - 19703: 0x00009385, - 19704: 0x0000754D, - 19705: 0x0000754A, - 19706: 0x00007567, - 19707: 0x0000756E, - 19708: 0x00024F82, - 19709: 0x00003F04, - 19710: 0x00024D13, - 19711: 0x0000758E, - 19712: 0x0000745D, - 19713: 0x0000759E, - 19714: 0x000075B4, - 19715: 0x00007602, - 19716: 0x0000762C, - 19717: 0x00007651, - 19718: 0x0000764F, - 19719: 0x0000766F, - 19720: 0x00007676, - 19721: 0x000263F5, - 19722: 0x00007690, - 19723: 0x000081EF, - 19724: 0x000037F8, - 19725: 0x00026911, - 19726: 0x0002690E, - 19727: 0x000076A1, - 19728: 0x000076A5, - 19729: 0x000076B7, - 19730: 0x000076CC, - 19731: 0x00026F9F, - 19732: 0x00008462, - 19733: 0x0002509D, - 19734: 0x0002517D, - 19735: 0x00021E1C, - 19736: 0x0000771E, - 19737: 0x00007726, - 19738: 0x00007740, - 19739: 0x000064AF, - 19740: 0x00025220, - 19741: 0x00007758, - 19742: 0x000232AC, - 19743: 0x000077AF, - 19744: 0x00028964, - 19745: 0x00028968, - 19746: 0x000216C1, - 19747: 0x000077F4, - 19748: 0x00007809, - 19749: 0x00021376, - 19750: 0x00024A12, - 19751: 0x000068CA, - 19752: 0x000078AF, - 19753: 0x000078C7, - 19754: 0x000078D3, - 19755: 0x000096A5, - 19756: 0x0000792E, - 19757: 0x000255E0, - 19758: 0x000078D7, - 19759: 0x00007934, - 19760: 0x000078B1, - 19761: 0x0002760C, - 19762: 0x00008FB8, - 19763: 0x00008884, - 19764: 0x00028B2B, - 19765: 0x00026083, - 19766: 0x0002261C, - 19767: 0x00007986, - 19768: 0x00008900, - 19769: 0x00006902, - 19770: 0x00007980, - 19771: 0x00025857, - 19772: 0x0000799D, - 19773: 0x00027B39, - 19774: 0x0000793C, - 19775: 0x000079A9, - 19776: 0x00006E2A, - 19777: 0x00027126, - 19778: 0x00003EA8, - 19779: 0x000079C6, - 19780: 0x0002910D, - 19781: 0x000079D4, -} - -const numEncodeTables = 8 - -// encodeX are the encoding tables from Unicode to Big5 code, -// sorted by decreasing length. -// encode0: 42633 entries for runes in [131105, 173738). -// encode1: 29004 entries for runes in [ 11904, 40908). -// encode2: 2176 entries for runes in [ 7870, 10046). -// encode3: 939 entries for runes in [ 167, 1106). -// encode4: 446 entries for runes in [ 65072, 65518). -// encode5: 432 entries for runes in [194597, 195029). -// encode6: 263 entries for runes in [ 63751, 64014). -// encode7: 1 entries for runes in [175615, 175616). - -const encode0Low, encode0High = 131105, 173738 - -var encode0 = [...]uint16{ - 131105 - 131105: 0x9C71, - 131134 - 131105: 0x9375, - 131142 - 131105: 0x9376, - 131150 - 131105: 0x9548, - 131176 - 131105: 0x8EC6, - 131206 - 131105: 0x8BC5, - 131207 - 131105: 0x8BFA, - 131210 - 131105: 0xC87C, - 131220 - 131105: 0x9AB4, - 131274 - 131105: 0x884E, - 131275 - 131105: 0x884B, - 131276 - 131105: 0xC87A, - 131277 - 131105: 0x8848, - 131281 - 131105: 0x8847, - 131310 - 131105: 0xA0F6, - 131340 - 131105: 0x8845, - 131342 - 131105: 0x8853, - 131352 - 131105: 0xFCAD, - 131492 - 131105: 0x8CF5, - 131497 - 131105: 0x8AAD, - 131499 - 131105: 0x9272, - 131521 - 131105: 0xFC47, - 131540 - 131105: 0x94DF, - 131570 - 131105: 0x9FD1, - 131588 - 131105: 0xFBCB, - 131596 - 131105: 0x927D, - 131604 - 131105: 0x98A4, - 131641 - 131105: 0x8CF9, - 131675 - 131105: 0x94E7, - 131700 - 131105: 0x90CB, - 131701 - 131105: 0x927B, - 131737 - 131105: 0x94D8, - 131742 - 131105: 0xFC5F, - 131744 - 131105: 0xFA54, - 131767 - 131105: 0x9AB5, - 131775 - 131105: 0x96DA, - 131776 - 131105: 0x9279, - 131813 - 131105: 0xFA74, - 131850 - 131105: 0x9275, - 131877 - 131105: 0x8DFB, - 131905 - 131105: 0x8A49, - 131909 - 131105: 0x92DF, - 131910 - 131105: 0x9B7C, - 131911 - 131105: 0xFA63, - 131966 - 131105: 0xFA60, - 131967 - 131105: 0x926D, - 131968 - 131105: 0xFA62, - 132000 - 131105: 0x9AB6, - 132007 - 131105: 0x976B, - 132021 - 131105: 0xFD6A, - 132041 - 131105: 0xFD54, - 132043 - 131105: 0x9273, - 132085 - 131105: 0x97D8, - 132092 - 131105: 0x9FBB, - 132115 - 131105: 0x9342, - 132116 - 131105: 0x9276, - 132127 - 131105: 0xFA65, - 132197 - 131105: 0x926C, - 132231 - 131105: 0xFA6E, - 132238 - 131105: 0x9EE0, - 132241 - 131105: 0x92C0, - 132242 - 131105: 0x92BF, - 132259 - 131105: 0x92BE, - 132311 - 131105: 0x9ABA, - 132348 - 131105: 0x8AB3, - 132350 - 131105: 0x9775, - 132423 - 131105: 0xFA40, - 132494 - 131105: 0xFA76, - 132517 - 131105: 0xFBD0, - 132531 - 131105: 0xFA7B, - 132547 - 131105: 0xFE6D, - 132554 - 131105: 0x9BB3, - 132560 - 131105: 0x89CC, - 132565 - 131105: 0x9ABE, - 132575 - 131105: 0xFA42, - 132576 - 131105: 0x92BC, - 132587 - 131105: 0x945C, - 132625 - 131105: 0x9BB5, - 132629 - 131105: 0x9ABF, - 132633 - 131105: 0x98A7, - 132634 - 131105: 0x97A4, - 132656 - 131105: 0x90FD, - 132694 - 131105: 0xFC7B, - 132726 - 131105: 0x9AC0, - 132878 - 131105: 0x92C3, - 132913 - 131105: 0x8AAA, - 132985 - 131105: 0x9BD0, - 133164 - 131105: 0x9550, - 133235 - 131105: 0x92C6, - 133333 - 131105: 0x98A6, - 133398 - 131105: 0x9546, - 133411 - 131105: 0xFD63, - 133460 - 131105: 0xFAC2, - 133497 - 131105: 0x9EC3, - 133607 - 131105: 0x89B2, - 133649 - 131105: 0x9C66, - 133712 - 131105: 0x9053, - 133743 - 131105: 0x8C62, - 133770 - 131105: 0x87A8, - 133812 - 131105: 0x97C1, - 133826 - 131105: 0x9AC4, - 133837 - 131105: 0x9AC5, - 133901 - 131105: 0x8EEF, - 134031 - 131105: 0xFAE9, - 134047 - 131105: 0x8D40, - 134056 - 131105: 0x9262, - 134057 - 131105: 0x8AF7, - 134079 - 131105: 0x9AC6, - 134086 - 131105: 0x92E1, - 134091 - 131105: 0x9AC9, - 134114 - 131105: 0xFAC6, - 134123 - 131105: 0x97A5, - 134139 - 131105: 0x9ACB, - 134143 - 131105: 0xFA72, - 134155 - 131105: 0x8A5E, - 134157 - 131105: 0x94E0, - 134176 - 131105: 0x92CC, - 134196 - 131105: 0x8AE5, - 134202 - 131105: 0xFE5C, - 134203 - 131105: 0x9ACC, - 134209 - 131105: 0x9DF9, - 134210 - 131105: 0x8A43, - 134211 - 131105: 0x8AA6, - 134227 - 131105: 0x9ACD, - 134245 - 131105: 0x9ACE, - 134263 - 131105: 0xFAEE, - 134264 - 131105: 0x9BCC, - 134268 - 131105: 0x9ACF, - 134285 - 131105: 0x9AD1, - 134294 - 131105: 0x9DFA, - 134300 - 131105: 0x9D7C, - 134325 - 131105: 0x9AD3, - 134328 - 131105: 0x97A6, - 134351 - 131105: 0x995F, - 134355 - 131105: 0xFBF6, - 134356 - 131105: 0x9FC5, - 134357 - 131105: 0x8A59, - 134358 - 131105: 0x8B6B, - 134365 - 131105: 0x9AD4, - 134381 - 131105: 0x9AD5, - 134399 - 131105: 0x97A2, - 134421 - 131105: 0x8A44, - 134440 - 131105: 0x9F4A, - 134449 - 131105: 0x90A1, - 134450 - 131105: 0xFDA4, - 134470 - 131105: 0x8A64, - 134471 - 131105: 0x8AF2, - 134472 - 131105: 0x8AF8, - 134473 - 131105: 0x9DD8, - 134476 - 131105: 0x94D6, - 134477 - 131105: 0xFAFE, - 134478 - 131105: 0xFBA7, - 134511 - 131105: 0x9AD6, - 134513 - 131105: 0x9F4D, - 134516 - 131105: 0xFAF6, - 134524 - 131105: 0x8A57, - 134526 - 131105: 0x8B43, - 134527 - 131105: 0x8B44, - 134550 - 131105: 0x8AB6, - 134556 - 131105: 0x8AC0, - 134567 - 131105: 0x9E54, - 134578 - 131105: 0x9AD7, - 134600 - 131105: 0x9AD8, - 134660 - 131105: 0x9ADC, - 134665 - 131105: 0x8ACA, - 134666 - 131105: 0x9EA8, - 134669 - 131105: 0x9263, - 134670 - 131105: 0x9ADD, - 134671 - 131105: 0x8B65, - 134672 - 131105: 0x8B6F, - 134673 - 131105: 0x8B7E, - 134678 - 131105: 0x8F43, - 134685 - 131105: 0x92D0, - 134732 - 131105: 0x8AF4, - 134765 - 131105: 0x9DBE, - 134771 - 131105: 0x9AE1, - 134773 - 131105: 0xFCDE, - 134774 - 131105: 0x9DFD, - 134775 - 131105: 0x8B66, - 134776 - 131105: 0x8B70, - 134777 - 131105: 0x8B75, - 134778 - 131105: 0x8AE4, - 134779 - 131105: 0x8BA4, - 134796 - 131105: 0x8AED, - 134806 - 131105: 0x8A5D, - 134808 - 131105: 0x8B48, - 134813 - 131105: 0x9DED, - 134818 - 131105: 0x9E40, - 134826 - 131105: 0x8AEF, - 134827 - 131105: 0x8AF6, - 134828 - 131105: 0x9E76, - 134838 - 131105: 0x9EE3, - 134871 - 131105: 0x9ADE, - 134872 - 131105: 0x8DFE, - 134877 - 131105: 0xFAFC, - 134904 - 131105: 0x9CB1, - 134905 - 131105: 0x9E77, - 134906 - 131105: 0x8B64, - 134907 - 131105: 0x8B67, - 134941 - 131105: 0x974B, - 134950 - 131105: 0x9653, - 134957 - 131105: 0x9AE0, - 134958 - 131105: 0x8B4A, - 134960 - 131105: 0x8AF1, - 134961 - 131105: 0x8AD7, - 134971 - 131105: 0xA0AB, - 134988 - 131105: 0x8AB5, - 135012 - 131105: 0x8A5F, - 135053 - 131105: 0x8AEE, - 135056 - 131105: 0x9ADF, - 135085 - 131105: 0x8AFE, - 135092 - 131105: 0x8A58, - 135093 - 131105: 0x8BA3, - 135094 - 131105: 0x8BA7, - 135100 - 131105: 0x9AE3, - 135135 - 131105: 0x9261, - 135146 - 131105: 0x9DD7, - 135147 - 131105: 0x9E7D, - 135148 - 131105: 0x9EA7, - 135149 - 131105: 0x9EAB, - 135188 - 131105: 0x9042, - 135197 - 131105: 0x8B79, - 135198 - 131105: 0x8B7A, - 135247 - 131105: 0x9AE6, - 135260 - 131105: 0x9AE5, - 135279 - 131105: 0x8A7E, - 135285 - 131105: 0x9E44, - 135286 - 131105: 0x9AE7, - 135287 - 131105: 0x8A7C, - 135288 - 131105: 0x8B71, - 135291 - 131105: 0x9AE9, - 135304 - 131105: 0x9AEA, - 135318 - 131105: 0x9AEB, - 135325 - 131105: 0x8ABD, - 135348 - 131105: 0xFB4E, - 135359 - 131105: 0x9AED, - 135360 - 131105: 0x8AF9, - 135361 - 131105: 0x9E63, - 135367 - 131105: 0x8B49, - 135368 - 131105: 0x8ACE, - 135369 - 131105: 0x8B6E, - 135375 - 131105: 0x8AE8, - 135379 - 131105: 0x9AEE, - 135396 - 131105: 0x92CE, - 135412 - 131105: 0x8A5A, - 135413 - 131105: 0x8B7B, - 135414 - 131105: 0x8B7C, - 135471 - 131105: 0x9AEF, - 135483 - 131105: 0x9AF0, - 135485 - 131105: 0x8AFA, - 135493 - 131105: 0x8941, - 135496 - 131105: 0x8B72, - 135503 - 131105: 0x8AF3, - 135552 - 131105: 0x8BA8, - 135559 - 131105: 0x9EAE, - 135641 - 131105: 0x9E72, - 135740 - 131105: 0xFB73, - 135759 - 131105: 0xFB5F, - 135804 - 131105: 0x90BA, - 135848 - 131105: 0x91FE, - 135849 - 131105: 0x9EF6, - 135856 - 131105: 0x97ED, - 135907 - 131105: 0x9AF3, - 135934 - 131105: 0xA0EE, - 135938 - 131105: 0x967C, - 135939 - 131105: 0x9345, - 135940 - 131105: 0x986E, - 135941 - 131105: 0xFA56, - 135990 - 131105: 0x9AF5, - 135994 - 131105: 0xFC4B, - 136053 - 131105: 0x9AF4, - 136054 - 131105: 0xFEDE, - 136078 - 131105: 0xFCB7, - 136088 - 131105: 0x97F1, - 136092 - 131105: 0x97C7, - 136133 - 131105: 0x9CCB, - 136134 - 131105: 0x9240, - 136173 - 131105: 0x9CE8, - 136190 - 131105: 0x91FD, - 136211 - 131105: 0x974E, - 136214 - 131105: 0xFB68, - 136228 - 131105: 0x976C, - 136255 - 131105: 0x8CC2, - 136274 - 131105: 0x97E8, - 136276 - 131105: 0xFB6A, - 136277 - 131105: 0x8B74, - 136330 - 131105: 0x8EE7, - 136343 - 131105: 0xFDC8, - 136374 - 131105: 0x9241, - 136424 - 131105: 0x96A1, - 136445 - 131105: 0x8EF3, - 136567 - 131105: 0x9AF7, - 136578 - 131105: 0x8FA6, - 136598 - 131105: 0xFAD6, - 136714 - 131105: 0x9CC7, - 136723 - 131105: 0xFAD7, - 136729 - 131105: 0x9AF8, - 136766 - 131105: 0xFBA1, - 136801 - 131105: 0x8EC5, - 136850 - 131105: 0xFBA4, - 136888 - 131105: 0xFBC2, - 136890 - 131105: 0x9AC1, - 136896 - 131105: 0x91FA, - 136897 - 131105: 0xFEDB, - 136898 - 131105: 0x97AB, - 136915 - 131105: 0x9147, - 136917 - 131105: 0xFBB1, - 136927 - 131105: 0x8FEA, - 136934 - 131105: 0x94D2, - 136935 - 131105: 0xFE61, - 136936 - 131105: 0xFACE, - 136954 - 131105: 0x92ED, - 136955 - 131105: 0x91F3, - 136956 - 131105: 0x93C6, - 136958 - 131105: 0x935A, - 136973 - 131105: 0xFAFB, - 136976 - 131105: 0x92EF, - 136998 - 131105: 0xFAC8, - 137018 - 131105: 0x9847, - 137019 - 131105: 0x9366, - 137020 - 131105: 0x9855, - 137047 - 131105: 0x96E6, - 137068 - 131105: 0x9F43, - 137069 - 131105: 0x9FAA, - 137070 - 131105: 0x94DA, - 137071 - 131105: 0x92EE, - 137072 - 131105: 0xFCAF, - 137073 - 131105: 0xFBFB, - 137075 - 131105: 0x8EF9, - 137076 - 131105: 0x91F6, - 137131 - 131105: 0x9364, - 137136 - 131105: 0x94F5, - 137137 - 131105: 0x9CB6, - 137138 - 131105: 0xFBAD, - 137139 - 131105: 0x984E, - 137140 - 131105: 0x8F44, - 137141 - 131105: 0x96FD, - 137155 - 131105: 0x9AF9, - 137159 - 131105: 0x9AFA, - 137177 - 131105: 0x9769, - 137178 - 131105: 0x95D4, - 137179 - 131105: 0x984B, - 137180 - 131105: 0xFBAA, - 137183 - 131105: 0x987C, - 137199 - 131105: 0x91EA, - 137205 - 131105: 0x9DAF, - 137206 - 131105: 0x9DC5, - 137208 - 131105: 0x91F1, - 137209 - 131105: 0x8EB1, - 137210 - 131105: 0x97A9, - 137211 - 131105: 0xFBAC, - 137212 - 131105: 0xFCB8, - 137248 - 131105: 0x9CB9, - 137256 - 131105: 0xFBB0, - 137257 - 131105: 0xFCD2, - 137258 - 131105: 0x93CB, - 137261 - 131105: 0x9AFD, - 137273 - 131105: 0x91F4, - 137274 - 131105: 0x8BAC, - 137275 - 131105: 0xA055, - 137280 - 131105: 0x9574, - 137285 - 131105: 0x95BE, - 137298 - 131105: 0x97AD, - 137310 - 131105: 0x8EE9, - 137313 - 131105: 0x92F8, - 137314 - 131105: 0x97BE, - 137315 - 131105: 0x916C, - 137316 - 131105: 0x94AA, - 137335 - 131105: 0xFC63, - 137339 - 131105: 0x9DC6, - 137347 - 131105: 0x97B5, - 137348 - 131105: 0x92B8, - 137349 - 131105: 0x91EF, - 137374 - 131105: 0xFEA6, - 137375 - 131105: 0x9760, - 137376 - 131105: 0x9358, - 137377 - 131105: 0x9576, - 137378 - 131105: 0x8FAC, - 137406 - 131105: 0x91EC, - 137407 - 131105: 0x97B4, - 137425 - 131105: 0x91F7, - 137430 - 131105: 0x974A, - 137431 - 131105: 0xFB49, - 137432 - 131105: 0x9578, - 137433 - 131105: 0x93BC, - 137466 - 131105: 0x91D6, - 137475 - 131105: 0x9355, - 137476 - 131105: 0x9356, - 137477 - 131105: 0x9851, - 137488 - 131105: 0x8FF8, - 137489 - 131105: 0xFBC0, - 137490 - 131105: 0x93F2, - 137493 - 131105: 0x90D0, - 137500 - 131105: 0x9C44, - 137506 - 131105: 0x9255, - 137511 - 131105: 0x9363, - 137531 - 131105: 0x91A5, - 137540 - 131105: 0xA0ED, - 137560 - 131105: 0xFD6B, - 137578 - 131105: 0x9AFE, - 137596 - 131105: 0x9351, - 137600 - 131105: 0x8C57, - 137603 - 131105: 0xFA78, - 137608 - 131105: 0xFEA8, - 137622 - 131105: 0x9350, - 137691 - 131105: 0xFA4C, - 137715 - 131105: 0x92F7, - 137773 - 131105: 0x9B40, - 137780 - 131105: 0xFBCE, - 137797 - 131105: 0x9B41, - 137803 - 131105: 0xFEAD, - 137827 - 131105: 0x8761, - 138052 - 131105: 0xFBD5, - 138177 - 131105: 0x8BC2, - 138178 - 131105: 0x9A7C, - 138282 - 131105: 0x9B42, - 138352 - 131105: 0x9B43, - 138402 - 131105: 0x9E79, - 138405 - 131105: 0xFBD9, - 138412 - 131105: 0x9B44, - 138566 - 131105: 0xA0A7, - 138579 - 131105: 0x877B, - 138590 - 131105: 0x876E, - 138640 - 131105: 0x9BF3, - 138678 - 131105: 0x8C79, - 138682 - 131105: 0x935E, - 138698 - 131105: 0x89CB, - 138705 - 131105: 0x9F53, - 138731 - 131105: 0x93D7, - 138745 - 131105: 0xFBE1, - 138780 - 131105: 0xFED0, - 138787 - 131105: 0x8CF1, - 138807 - 131105: 0xFBE2, - 138813 - 131105: 0xFCE3, - 138889 - 131105: 0x9074, - 138916 - 131105: 0xFBE6, - 138920 - 131105: 0x9BB7, - 138952 - 131105: 0x9B45, - 138965 - 131105: 0x9B47, - 139023 - 131105: 0x9F50, - 139029 - 131105: 0x9B48, - 139114 - 131105: 0xFC5B, - 139166 - 131105: 0x98A9, - 139169 - 131105: 0x9CFD, - 139240 - 131105: 0x884C, - 139333 - 131105: 0x9B4B, - 139337 - 131105: 0xFBEC, - 139390 - 131105: 0x8C69, - 139418 - 131105: 0x9BA8, - 139463 - 131105: 0x8AD5, - 139516 - 131105: 0xFA73, - 139562 - 131105: 0xFD59, - 139611 - 131105: 0x91A2, - 139635 - 131105: 0xFBED, - 139642 - 131105: 0x9CA9, - 139681 - 131105: 0x8AA8, - 139713 - 131105: 0x8D42, - 139715 - 131105: 0x9BC3, - 139784 - 131105: 0x8AE1, - 139900 - 131105: 0x9B4E, - 140065 - 131105: 0x95D0, - 140069 - 131105: 0x905F, - 140221 - 131105: 0x97EE, - 140240 - 131105: 0xFC4E, - 140247 - 131105: 0x9B4F, - 140282 - 131105: 0x9B50, - 140389 - 131105: 0x9EC6, - 140401 - 131105: 0xFC50, - 140427 - 131105: 0xFD73, - 140433 - 131105: 0xFDA7, - 140464 - 131105: 0x9DA2, - 140476 - 131105: 0x87D1, - 140481 - 131105: 0x87D3, - 140489 - 131105: 0x87D4, - 140492 - 131105: 0x87D5, - 140525 - 131105: 0xFA58, - 140563 - 131105: 0xFA5E, - 140571 - 131105: 0xA059, - 140592 - 131105: 0xFA75, - 140628 - 131105: 0xFBBE, - 140685 - 131105: 0x9CA2, - 140719 - 131105: 0x9370, - 140734 - 131105: 0x9371, - 140827 - 131105: 0x9377, - 140828 - 131105: 0xFEEF, - 140843 - 131105: 0x936D, - 140904 - 131105: 0xFC5D, - 140922 - 131105: 0x90B8, - 140950 - 131105: 0x8AFC, - 140952 - 131105: 0xFB41, - 141044 - 131105: 0x9E6B, - 141045 - 131105: 0x94E3, - 141046 - 131105: 0x8EE2, - 141074 - 131105: 0x8C7D, - 141076 - 131105: 0x8ED7, - 141083 - 131105: 0x9C4D, - 141087 - 131105: 0x96A3, - 141098 - 131105: 0x9B51, - 141173 - 131105: 0x8AC3, - 141185 - 131105: 0x96AA, - 141206 - 131105: 0x8CE2, - 141236 - 131105: 0xFC68, - 141237 - 131105: 0x8B6D, - 141261 - 131105: 0xFD67, - 141315 - 131105: 0x8AE9, - 141407 - 131105: 0xFCA1, - 141408 - 131105: 0x936C, - 141425 - 131105: 0x9B52, - 141485 - 131105: 0xFE70, - 141505 - 131105: 0xFCA8, - 141559 - 131105: 0xFCE9, - 141606 - 131105: 0x9CB4, - 141625 - 131105: 0x8AEA, - 141647 - 131105: 0x9B53, - 141671 - 131105: 0x9B55, - 141675 - 131105: 0x96AB, - 141696 - 131105: 0xFCA7, - 141715 - 131105: 0x9B56, - 141926 - 131105: 0x8ABC, - 142031 - 131105: 0x8ACB, - 142037 - 131105: 0x9B57, - 142054 - 131105: 0x89CD, - 142056 - 131105: 0x9B59, - 142094 - 131105: 0x9B5B, - 142114 - 131105: 0x93A5, - 142143 - 131105: 0x9B5D, - 142147 - 131105: 0x9E4F, - 142186 - 131105: 0x93A3, - 142282 - 131105: 0x8A7B, - 142286 - 131105: 0x8B42, - 142374 - 131105: 0x9750, - 142375 - 131105: 0x8FB3, - 142392 - 131105: 0x8A50, - 142412 - 131105: 0x9B60, - 142417 - 131105: 0x8B45, - 142421 - 131105: 0x8B46, - 142434 - 131105: 0x9DFE, - 142472 - 131105: 0x9B62, - 142491 - 131105: 0x937B, - 142497 - 131105: 0x93B1, - 142505 - 131105: 0x8A60, - 142514 - 131105: 0x8AD8, - 142519 - 131105: 0x9B63, - 142530 - 131105: 0x8A69, - 142534 - 131105: 0x8A47, - 142537 - 131105: 0x8ACC, - 142599 - 131105: 0x937C, - 142600 - 131105: 0x9B65, - 142610 - 131105: 0x9B66, - 142660 - 131105: 0x8A72, - 142668 - 131105: 0x8A7A, - 142695 - 131105: 0x93AF, - 142733 - 131105: 0x8AB0, - 142741 - 131105: 0x9B68, - 142752 - 131105: 0x9EA3, - 142755 - 131105: 0xFAEC, - 142756 - 131105: 0x8B77, - 142775 - 131105: 0x9B67, - 142830 - 131105: 0x8B59, - 142861 - 131105: 0xFCB1, - 142902 - 131105: 0xFCBB, - 142914 - 131105: 0x9B69, - 142968 - 131105: 0x93A8, - 142987 - 131105: 0x8AE0, - 143027 - 131105: 0x9E51, - 143087 - 131105: 0x8F5F, - 143220 - 131105: 0x9B6A, - 143308 - 131105: 0x9B6B, - 143331 - 131105: 0x97EC, - 143411 - 131105: 0x9B6C, - 143428 - 131105: 0xFE4E, - 143435 - 131105: 0xFDC2, - 143462 - 131105: 0x9B6D, - 143485 - 131105: 0x9167, - 143486 - 131105: 0xFCCC, - 143502 - 131105: 0x93B6, - 143543 - 131105: 0x90E4, - 143548 - 131105: 0x90E5, - 143578 - 131105: 0x9EF2, - 143619 - 131105: 0x93CA, - 143677 - 131105: 0x8BBC, - 143741 - 131105: 0x8F46, - 143746 - 131105: 0x93CF, - 143780 - 131105: 0xFCDB, - 143781 - 131105: 0xFCDC, - 143795 - 131105: 0x93C0, - 143816 - 131105: 0xFCE6, - 143817 - 131105: 0x96E7, - 143850 - 131105: 0x87A7, - 143863 - 131105: 0xFCD8, - 143864 - 131105: 0xFCD9, - 143865 - 131105: 0xFDA6, - 143887 - 131105: 0x93CE, - 143909 - 131105: 0x95F1, - 143919 - 131105: 0x9CE9, - 143921 - 131105: 0xFCE4, - 143922 - 131105: 0x94AF, - 143923 - 131105: 0xFA77, - 143924 - 131105: 0x93CC, - 143958 - 131105: 0x8CE1, - 143966 - 131105: 0x87A9, - 143970 - 131105: 0x905A, - 144001 - 131105: 0x8C54, - 144009 - 131105: 0x93BF, - 144010 - 131105: 0xFB51, - 144043 - 131105: 0x93B9, - 144044 - 131105: 0xFED7, - 144045 - 131105: 0x93B7, - 144082 - 131105: 0x93D9, - 144096 - 131105: 0x93BB, - 144097 - 131105: 0x93DA, - 144128 - 131105: 0x98A3, - 144138 - 131105: 0x90D1, - 144159 - 131105: 0x9B6E, - 144308 - 131105: 0xFA70, - 144332 - 131105: 0x9BEB, - 144350 - 131105: 0x9B6F, - 144358 - 131105: 0xFCFC, - 144372 - 131105: 0x8B40, - 144373 - 131105: 0xA07B, - 144377 - 131105: 0x8CA1, - 144378 - 131105: 0x97F7, - 144382 - 131105: 0x93E2, - 144384 - 131105: 0xFCD6, - 144447 - 131105: 0x9559, - 144464 - 131105: 0x93A6, - 144495 - 131105: 0xFD40, - 144498 - 131105: 0x935F, - 144613 - 131105: 0x97F2, - 144665 - 131105: 0x9C76, - 144688 - 131105: 0x8EF8, - 144721 - 131105: 0x8CEB, - 144730 - 131105: 0x8F47, - 144743 - 131105: 0x9B74, - 144789 - 131105: 0x92B4, - 144793 - 131105: 0x91ED, - 144796 - 131105: 0x96D2, - 144827 - 131105: 0x87D8, - 144845 - 131105: 0xFD46, - 144846 - 131105: 0x8F4F, - 144847 - 131105: 0x9549, - 144883 - 131105: 0x9B75, - 144896 - 131105: 0xFA5C, - 144919 - 131105: 0x8751, - 144922 - 131105: 0x9B79, - 144956 - 131105: 0xFD4B, - 144960 - 131105: 0x96D3, - 144985 - 131105: 0xFD58, - 144991 - 131105: 0x945F, - 145015 - 131105: 0xA0F5, - 145038 - 131105: 0x87C7, - 145054 - 131105: 0x877C, - 145062 - 131105: 0x9243, - 145069 - 131105: 0x97FA, - 145082 - 131105: 0x9DD9, - 145119 - 131105: 0x97F4, - 145134 - 131105: 0x924D, - 145155 - 131105: 0xFD5B, - 145174 - 131105: 0x9B7A, - 145184 - 131105: 0x9ED5, - 145197 - 131105: 0xFAAE, - 145199 - 131105: 0x9CC9, - 145215 - 131105: 0x9258, - 145254 - 131105: 0x8EC8, - 145281 - 131105: 0x94B4, - 145314 - 131105: 0x93E1, - 145340 - 131105: 0x93DF, - 145346 - 131105: 0xFCF0, - 145365 - 131105: 0x93EC, - 145366 - 131105: 0x97F6, - 145367 - 131105: 0x96CF, - 145466 - 131105: 0x93DE, - 145858 - 131105: 0x8ACF, - 146087 - 131105: 0x9BA2, - 146139 - 131105: 0xFD69, - 146158 - 131105: 0x9352, - 146170 - 131105: 0x98A2, - 146202 - 131105: 0x8CE7, - 146266 - 131105: 0xFD6E, - 146531 - 131105: 0x8CA4, - 146585 - 131105: 0xFA7C, - 146586 - 131105: 0x93FA, - 146587 - 131105: 0x907C, - 146613 - 131105: 0x8F67, - 146615 - 131105: 0x9DB7, - 146631 - 131105: 0xA0E9, - 146632 - 131105: 0xFA4E, - 146633 - 131105: 0xFDA1, - 146684 - 131105: 0x9E74, - 146685 - 131105: 0x9FBF, - 146686 - 131105: 0x9ECB, - 146687 - 131105: 0x9BB9, - 146752 - 131105: 0x9DD4, - 146779 - 131105: 0x97B9, - 146814 - 131105: 0x8EF1, - 146831 - 131105: 0x957B, - 146870 - 131105: 0x9ED2, - 146871 - 131105: 0x9753, - 146872 - 131105: 0x96A4, - 146873 - 131105: 0x8FBE, - 146874 - 131105: 0x94D9, - 146875 - 131105: 0x9058, - 146876 - 131105: 0xFD79, - 146877 - 131105: 0xFD7B, - 146915 - 131105: 0x8EDA, - 146936 - 131105: 0x8EFA, - 146950 - 131105: 0x8762, - 146961 - 131105: 0x9BA5, - 146988 - 131105: 0x9ED9, - 146989 - 131105: 0x97D4, - 146990 - 131105: 0x90BB, - 146991 - 131105: 0xFDBC, - 146992 - 131105: 0xFDC6, - 146993 - 131105: 0x9248, - 147001 - 131105: 0x92B5, - 147080 - 131105: 0x9DC1, - 147081 - 131105: 0x92B9, - 147082 - 131105: 0x92A6, - 147083 - 131105: 0x8F4B, - 147129 - 131105: 0x9BA6, - 147135 - 131105: 0x92B6, - 147159 - 131105: 0x8E40, - 147191 - 131105: 0x9ED8, - 147192 - 131105: 0x945E, - 147193 - 131105: 0x985F, - 147194 - 131105: 0x94CE, - 147195 - 131105: 0x924A, - 147196 - 131105: 0xFD70, - 147253 - 131105: 0x9467, - 147265 - 131105: 0x8DEC, - 147274 - 131105: 0x9BD8, - 147297 - 131105: 0x8763, - 147327 - 131105: 0x9448, - 147328 - 131105: 0xFAC1, - 147329 - 131105: 0x9CF7, - 147330 - 131105: 0xFDBE, - 147343 - 131105: 0x8FDA, - 147380 - 131105: 0xFDD9, - 147383 - 131105: 0xFC7E, - 147392 - 131105: 0x93F9, - 147397 - 131105: 0xFA43, - 147435 - 131105: 0xFAEB, - 147436 - 131105: 0xFAC3, - 147437 - 131105: 0x97D3, - 147438 - 131105: 0x95F9, - 147439 - 131105: 0x9C48, - 147440 - 131105: 0xFDD8, - 147473 - 131105: 0xA0D8, - 147513 - 131105: 0xFDD7, - 147514 - 131105: 0xFB4A, - 147515 - 131105: 0x9BAF, - 147516 - 131105: 0x944B, - 147517 - 131105: 0xFDC9, - 147543 - 131105: 0x8EAC, - 147589 - 131105: 0xFDB2, - 147595 - 131105: 0x925A, - 147596 - 131105: 0xFCBD, - 147597 - 131105: 0x92D9, - 147601 - 131105: 0xFDD5, - 147657 - 131105: 0x92DD, - 147681 - 131105: 0x9259, - 147692 - 131105: 0x8CF0, - 147716 - 131105: 0x96BA, - 147727 - 131105: 0x925B, - 147737 - 131105: 0x9BAB, - 147775 - 131105: 0xFDDA, - 147776 - 131105: 0xFDDE, - 147780 - 131105: 0xFDD3, - 147790 - 131105: 0x8C46, - 147797 - 131105: 0xFDD6, - 147798 - 131105: 0xFDDC, - 147799 - 131105: 0xFDDD, - 147804 - 131105: 0x90FE, - 147807 - 131105: 0xFEA1, - 147809 - 131105: 0x87A5, - 147831 - 131105: 0x8BAD, - 147834 - 131105: 0x9CD8, - 147875 - 131105: 0x9E6D, - 147876 - 131105: 0xFD7C, - 147877 - 131105: 0xFB61, - 147884 - 131105: 0x96F8, - 147893 - 131105: 0x96F0, - 147917 - 131105: 0xFCF4, - 147938 - 131105: 0xFE60, - 147964 - 131105: 0x9852, - 147995 - 131105: 0x964F, - 148043 - 131105: 0x916E, - 148054 - 131105: 0x986D, - 148057 - 131105: 0x9864, - 148086 - 131105: 0x9453, - 148087 - 131105: 0xFDEC, - 148088 - 131105: 0xFB78, - 148100 - 131105: 0x95BA, - 148115 - 131105: 0x985D, - 148117 - 131105: 0x92F9, - 148133 - 131105: 0x985A, - 148159 - 131105: 0x8750, - 148161 - 131105: 0xFDF6, - 148169 - 131105: 0x93D0, - 148170 - 131105: 0x9862, - 148206 - 131105: 0x9BAD, - 148218 - 131105: 0x974F, - 148237 - 131105: 0x9BAE, - 148250 - 131105: 0x9452, - 148276 - 131105: 0x9BB0, - 148296 - 131105: 0x91D2, - 148322 - 131105: 0x97EA, - 148323 - 131105: 0xFB6B, - 148324 - 131105: 0x91B1, - 148325 - 131105: 0xFDF3, - 148364 - 131105: 0x92CB, - 148374 - 131105: 0x9BB1, - 148380 - 131105: 0xFCEC, - 148413 - 131105: 0x986B, - 148417 - 131105: 0x9751, - 148457 - 131105: 0x9871, - 148458 - 131105: 0x95EF, - 148466 - 131105: 0x9EF3, - 148472 - 131105: 0x91E8, - 148484 - 131105: 0x9BBA, - 148533 - 131105: 0xFB4C, - 148534 - 131105: 0x926A, - 148570 - 131105: 0xFDF8, - 148571 - 131105: 0x9861, - 148595 - 131105: 0x91E7, - 148615 - 131105: 0x93ED, - 148616 - 131105: 0x9744, - 148665 - 131105: 0x91E1, - 148668 - 131105: 0xFBF5, - 148686 - 131105: 0x9869, - 148691 - 131105: 0x8A62, - 148694 - 131105: 0x9BBB, - 148741 - 131105: 0x8CA8, - 148769 - 131105: 0x9C55, - 148856 - 131105: 0x8E77, - 148936 - 131105: 0x8AB2, - 149016 - 131105: 0x9EBC, - 149034 - 131105: 0x93E6, - 149093 - 131105: 0x93A2, - 149108 - 131105: 0x9BBD, - 149143 - 131105: 0x94B3, - 149204 - 131105: 0x937D, - 149254 - 131105: 0x9E66, - 149285 - 131105: 0x9459, - 149295 - 131105: 0x9BBF, - 149391 - 131105: 0x9458, - 149472 - 131105: 0x9EA5, - 149522 - 131105: 0x9BC7, - 149539 - 131105: 0xFE54, - 149634 - 131105: 0x8E74, - 149737 - 131105: 0x8BD6, - 149744 - 131105: 0x94B6, - 149745 - 131105: 0xFD74, - 149746 - 131105: 0x98C0, - 149747 - 131105: 0x94A5, - 149755 - 131105: 0x9BC8, - 149759 - 131105: 0x95ED, - 149760 - 131105: 0xFD7E, - 149761 - 131105: 0xFBEB, - 149772 - 131105: 0xFD7D, - 149782 - 131105: 0x976F, - 149783 - 131105: 0x9461, - 149785 - 131105: 0x9FC1, - 149807 - 131105: 0x95D7, - 149811 - 131105: 0xFA52, - 149812 - 131105: 0x9C58, - 149822 - 131105: 0x9F68, - 149823 - 131105: 0x9BE7, - 149824 - 131105: 0xFCCE, - 149825 - 131105: 0x96E8, - 149826 - 131105: 0xFA49, - 149827 - 131105: 0x97A1, - 149858 - 131105: 0x954D, - 149859 - 131105: 0x9EF8, - 149876 - 131105: 0xFE49, - 149877 - 131105: 0x91CE, - 149878 - 131105: 0x9771, - 149883 - 131105: 0x8CCF, - 149887 - 131105: 0xFDB1, - 149890 - 131105: 0xFC6E, - 149896 - 131105: 0x9CF2, - 149897 - 131105: 0x93B8, - 149898 - 131105: 0x9043, - 149899 - 131105: 0x9759, - 149900 - 131105: 0x94D7, - 149901 - 131105: 0xFE66, - 149902 - 131105: 0x947D, - 149903 - 131105: 0xFC6F, - 149908 - 131105: 0x9246, - 149924 - 131105: 0xFA6D, - 149927 - 131105: 0x8EF7, - 149929 - 131105: 0xFBB7, - 149931 - 131105: 0x947C, - 149932 - 131105: 0x92CD, - 149933 - 131105: 0x97B2, - 149943 - 131105: 0xFE65, - 149944 - 131105: 0x967E, - 149945 - 131105: 0x9758, - 149946 - 131105: 0x9B77, - 149947 - 131105: 0x91CF, - 149957 - 131105: 0x94A4, - 149968 - 131105: 0x9CAD, - 149978 - 131105: 0x8BAB, - 149982 - 131105: 0x96D5, - 149983 - 131105: 0xFCB3, - 149987 - 131105: 0x93AE, - 149989 - 131105: 0x976D, - 149996 - 131105: 0x9446, - 149997 - 131105: 0x95F7, - 150006 - 131105: 0x9C46, - 150007 - 131105: 0x955B, - 150008 - 131105: 0x91D1, - 150009 - 131105: 0x94F4, - 150011 - 131105: 0xFE67, - 150030 - 131105: 0x92A5, - 150034 - 131105: 0xFEDF, - 150035 - 131105: 0x8CAB, - 150037 - 131105: 0x9BC9, - 150049 - 131105: 0xFCED, - 150050 - 131105: 0xFDFA, - 150051 - 131105: 0xFCC8, - 150052 - 131105: 0xFE62, - 150053 - 131105: 0x91FC, - 150054 - 131105: 0xFE6B, - 150055 - 131105: 0xFDF9, - 150056 - 131105: 0xFCC7, - 150057 - 131105: 0x914E, - 150058 - 131105: 0x9CB8, - 150078 - 131105: 0x9767, - 150082 - 131105: 0x95EE, - 150085 - 131105: 0x9BB2, - 150090 - 131105: 0x9460, - 150094 - 131105: 0x94A2, - 150095 - 131105: 0x9875, - 150096 - 131105: 0x97AC, - 150097 - 131105: 0x91D3, - 150109 - 131105: 0x987B, - 150117 - 131105: 0x8EEB, - 150118 - 131105: 0x976A, - 150119 - 131105: 0x965E, - 150129 - 131105: 0x97EB, - 150135 - 131105: 0x9FF9, - 150136 - 131105: 0x95F8, - 150137 - 131105: 0xFEA2, - 150138 - 131105: 0x8FE6, - 150156 - 131105: 0xFE7E, - 150163 - 131105: 0x9DA4, - 150164 - 131105: 0x9768, - 150165 - 131105: 0x8EEC, - 150166 - 131105: 0x94BD, - 150180 - 131105: 0x945B, - 150181 - 131105: 0x9CF6, - 150182 - 131105: 0xFAA7, - 150183 - 131105: 0x9BD9, - 150193 - 131105: 0xFA5D, - 150194 - 131105: 0x9656, - 150195 - 131105: 0x9762, - 150202 - 131105: 0x94BA, - 150203 - 131105: 0xA04F, - 150204 - 131105: 0x92D8, - 150208 - 131105: 0x9BCB, - 150215 - 131105: 0x94BB, - 150218 - 131105: 0x9D5F, - 150225 - 131105: 0x90CF, - 150239 - 131105: 0x9465, - 150242 - 131105: 0x9F4C, - 150249 - 131105: 0x90D8, - 150287 - 131105: 0x8D5B, - 150382 - 131105: 0x9EBE, - 150517 - 131105: 0xFB6D, - 150537 - 131105: 0x95CA, - 150686 - 131105: 0x9DC2, - 150687 - 131105: 0x97F8, - 150729 - 131105: 0x8FFC, - 150745 - 131105: 0x9473, - 150790 - 131105: 0x9474, - 150803 - 131105: 0xFEB7, - 150968 - 131105: 0x8A4B, - 151018 - 131105: 0x8A55, - 151019 - 131105: 0x8B69, - 151099 - 131105: 0x8ADC, - 151120 - 131105: 0x8B76, - 151205 - 131105: 0x9BCE, - 151207 - 131105: 0x8A68, - 151310 - 131105: 0xA0F8, - 151388 - 131105: 0x98DF, - 151426 - 131105: 0xFEB5, - 151430 - 131105: 0x9BCF, - 151447 - 131105: 0x96FB, - 151450 - 131105: 0x9BFB, - 151465 - 131105: 0x9ECE, - 151480 - 131105: 0x8EE5, - 151490 - 131105: 0x9E7B, - 151596 - 131105: 0x9BD2, - 151634 - 131105: 0x8AA5, - 151709 - 131105: 0xFECE, - 151851 - 131105: 0x8A45, - 151880 - 131105: 0x9DFC, - 151933 - 131105: 0xFECF, - 151934 - 131105: 0x8BA5, - 152013 - 131105: 0x8C4A, - 152035 - 131105: 0x8AEC, - 152038 - 131105: 0xFCE0, - 152039 - 131105: 0x94AD, - 152096 - 131105: 0xFED5, - 152097 - 131105: 0x94AC, - 152144 - 131105: 0xFC5A, - 152217 - 131105: 0x9BD6, - 152263 - 131105: 0x8A6F, - 152280 - 131105: 0x8BA9, - 152334 - 131105: 0x8E5F, - 152337 - 131105: 0x9DCB, - 152339 - 131105: 0xFCE7, - 152601 - 131105: 0x9BD7, - 152613 - 131105: 0x93C8, - 152623 - 131105: 0x91F0, - 152624 - 131105: 0x8FE0, - 152646 - 131105: 0x9BDB, - 152684 - 131105: 0x90ED, - 152686 - 131105: 0x9BDC, - 152730 - 131105: 0x8D53, - 152881 - 131105: 0xA0EC, - 152885 - 131105: 0x98FA, - 152895 - 131105: 0x9BE0, - 152923 - 131105: 0x93C7, - 152924 - 131105: 0x9249, - 152925 - 131105: 0x96E1, - 152926 - 131105: 0x9BE2, - 152930 - 131105: 0x9BE4, - 152933 - 131105: 0x8FE1, - 152934 - 131105: 0x9BE5, - 152961 - 131105: 0x94C0, - 152964 - 131105: 0x93C3, - 152975 - 131105: 0x93C5, - 153017 - 131105: 0x9079, - 153045 - 131105: 0x977B, - 153051 - 131105: 0x907E, - 153056 - 131105: 0xFEE6, - 153093 - 131105: 0xFE46, - 153141 - 131105: 0x9DB8, - 153169 - 131105: 0x9270, - 153219 - 131105: 0x95A8, - 153237 - 131105: 0x8CB0, - 153315 - 131105: 0x94C8, - 153334 - 131105: 0x98B9, - 153350 - 131105: 0x9140, - 153373 - 131105: 0xFCBE, - 153381 - 131105: 0x9157, - 153405 - 131105: 0x8BB2, - 153458 - 131105: 0xFADF, - 153543 - 131105: 0x9BE6, - 153567 - 131105: 0x9643, - 153568 - 131105: 0x8E44, - 153569 - 131105: 0x9C4F, - 153687 - 131105: 0xFEF4, - 153693 - 131105: 0x9BE8, - 153714 - 131105: 0x93DC, - 153800 - 131105: 0x966F, - 153822 - 131105: 0x87A1, - 153825 - 131105: 0x8E4A, - 153859 - 131105: 0x9BED, - 153926 - 131105: 0x92F6, - 153942 - 131105: 0x9DB9, - 154028 - 131105: 0x8E4E, - 154060 - 131105: 0xFBCF, - 154196 - 131105: 0x8760, - 154261 - 131105: 0x9EC2, - 154268 - 131105: 0x94E5, - 154286 - 131105: 0x9BF0, - 154287 - 131105: 0x94E4, - 154345 - 131105: 0x9551, - 154484 - 131105: 0x8BBB, - 154505 - 131105: 0x9BF1, - 154547 - 131105: 0x94F0, - 154548 - 131105: 0x8E64, - 154566 - 131105: 0x94EA, - 154596 - 131105: 0x8F61, - 154600 - 131105: 0x9B64, - 154625 - 131105: 0x8E5B, - 154630 - 131105: 0x9BF2, - 154657 - 131105: 0x9FBE, - 154698 - 131105: 0x9DC9, - 154725 - 131105: 0x8E6C, - 154769 - 131105: 0x8F73, - 154788 - 131105: 0x8CAF, - 154816 - 131105: 0x8F75, - 154817 - 131105: 0x8E71, - 154878 - 131105: 0x8E60, - 154912 - 131105: 0x8E6A, - 154928 - 131105: 0x8C4C, - 154947 - 131105: 0x9552, - 155033 - 131105: 0x87CF, - 155065 - 131105: 0x87C0, - 155150 - 131105: 0x9554, - 155209 - 131105: 0x8AD4, - 155265 - 131105: 0x9DBB, - 155266 - 131105: 0x9543, - 155267 - 131105: 0x92FE, - 155302 - 131105: 0x94F2, - 155324 - 131105: 0x94F1, - 155351 - 131105: 0xA0EA, - 155352 - 131105: 0x9DD2, - 155418 - 131105: 0xA0B1, - 155467 - 131105: 0x91F8, - 155617 - 131105: 0x9462, - 155618 - 131105: 0x9BA4, - 155681 - 131105: 0x877D, - 155689 - 131105: 0x8EAD, - 155720 - 131105: 0x9EAD, - 155748 - 131105: 0x96D0, - 155779 - 131105: 0xFEEE, - 155799 - 131105: 0x8AB4, - 155812 - 131105: 0x9757, - 155813 - 131105: 0x8A77, - 155906 - 131105: 0x9BF7, - 155937 - 131105: 0x8EB5, - 155993 - 131105: 0xA06D, - 155994 - 131105: 0x8EB6, - 155995 - 131105: 0x9756, - 155996 - 131105: 0x9540, - 156077 - 131105: 0xA0F3, - 156078 - 131105: 0x94BE, - 156082 - 131105: 0x9BFA, - 156125 - 131105: 0xFDDF, - 156248 - 131105: 0x9DBC, - 156257 - 131105: 0x94FE, - 156266 - 131105: 0x8BDB, - 156267 - 131105: 0xA0FE, - 156368 - 131105: 0x8EC0, - 156469 - 131105: 0x9F47, - 156491 - 131105: 0x8BDE, - 156492 - 131105: 0xA0FB, - 156497 - 131105: 0x8EC3, - 156606 - 131105: 0x9649, - 156661 - 131105: 0xFEC2, - 156664 - 131105: 0x954C, - 156674 - 131105: 0x9BFD, - 156688 - 131105: 0x90CC, - 156689 - 131105: 0x9C60, - 156690 - 131105: 0x954B, - 156746 - 131105: 0x9BFE, - 156777 - 131105: 0x9C70, - 156804 - 131105: 0x9C43, - 156808 - 131105: 0x9C47, - 156809 - 131105: 0x8ECC, - 156813 - 131105: 0x8E54, - 156824 - 131105: 0x8EE4, - 156946 - 131105: 0x9C49, - 157042 - 131105: 0x8B5E, - 157088 - 131105: 0x955E, - 157101 - 131105: 0x955C, - 157119 - 131105: 0x9C4B, - 157202 - 131105: 0x8BE1, - 157222 - 131105: 0x8ED9, - 157359 - 131105: 0x9DB4, - 157361 - 131105: 0x925F, - 157365 - 131105: 0x9C4C, - 157402 - 131105: 0x8AA1, - 157416 - 131105: 0x8EDB, - 157436 - 131105: 0x9C56, - 157462 - 131105: 0x8AA2, - 157505 - 131105: 0x9754, - 157593 - 131105: 0x9C5E, - 157619 - 131105: 0x9ED4, - 157620 - 131105: 0x9568, - 157644 - 131105: 0xA0C3, - 157724 - 131105: 0x8AE6, - 157766 - 131105: 0xA0F7, - 157790 - 131105: 0x9C61, - 157806 - 131105: 0x9C5F, - 157832 - 131105: 0xFC4D, - 157834 - 131105: 0x9E5B, - 157843 - 131105: 0x9E69, - 157895 - 131105: 0x9C63, - 157966 - 131105: 0xFEC7, - 157969 - 131105: 0xFEC6, - 157990 - 131105: 0x9C67, - 158009 - 131105: 0x9C69, - 158033 - 131105: 0x8BE2, - 158120 - 131105: 0x9165, - 158133 - 131105: 0x9CE7, - 158194 - 131105: 0x8A54, - 158202 - 131105: 0x9C6C, - 158253 - 131105: 0x9C6E, - 158254 - 131105: 0xFE5D, - 158260 - 131105: 0x9C73, - 158274 - 131105: 0x956A, - 158289 - 131105: 0x956D, - 158290 - 131105: 0x8EF0, - 158469 - 131105: 0x8F4D, - 158474 - 131105: 0x8EF6, - 158483 - 131105: 0xFABC, - 158485 - 131105: 0x8CD5, - 158499 - 131105: 0x875E, - 158504 - 131105: 0xFBDA, - 158544 - 131105: 0x8B4C, - 158545 - 131105: 0xFD75, - 158546 - 131105: 0x9BDD, - 158547 - 131105: 0xFAF5, - 158555 - 131105: 0x9C74, - 158581 - 131105: 0x9545, - 158594 - 131105: 0x96C6, - 158614 - 131105: 0x8F6A, - 158615 - 131105: 0x8F4E, - 158621 - 131105: 0x9C78, - 158643 - 131105: 0xFA55, - 158656 - 131105: 0x97E4, - 158711 - 131105: 0x9C41, - 158753 - 131105: 0x925C, - 158784 - 131105: 0x96FA, - 158785 - 131105: 0x8CF6, - 158790 - 131105: 0x8D4D, - 158846 - 131105: 0xFB66, - 158847 - 131105: 0x8E65, - 158848 - 131105: 0x9849, - 158849 - 131105: 0xFBA8, - 158850 - 131105: 0x9842, - 158884 - 131105: 0x9C7A, - 158903 - 131105: 0x97FB, - 158904 - 131105: 0x90CA, - 158909 - 131105: 0x9C5B, - 158912 - 131105: 0x974D, - 158915 - 131105: 0x8ED3, - 158929 - 131105: 0x9561, - 159010 - 131105: 0x9F4B, - 159011 - 131105: 0x9FB5, - 159012 - 131105: 0x93D2, - 159013 - 131105: 0xFDAA, - 159014 - 131105: 0x9840, - 159015 - 131105: 0x9146, - 159016 - 131105: 0x9867, - 159017 - 131105: 0xFA5A, - 159018 - 131105: 0xFBA9, - 159057 - 131105: 0x9841, - 159092 - 131105: 0x8CD3, - 159136 - 131105: 0xFCFD, - 159137 - 131105: 0xFDAB, - 159138 - 131105: 0x91BD, - 159139 - 131105: 0x8F4C, - 159140 - 131105: 0x96C9, - 159141 - 131105: 0x8F55, - 159142 - 131105: 0xFBAE, - 159143 - 131105: 0x956F, - 159150 - 131105: 0x9C7D, - 159196 - 131105: 0xA0F0, - 159210 - 131105: 0x946F, - 159211 - 131105: 0xFDAC, - 159216 - 131105: 0x96CB, - 159232 - 131105: 0x96CE, - 159237 - 131105: 0xA056, - 159239 - 131105: 0x9CE1, - 159250 - 131105: 0x96C4, - 159298 - 131105: 0x8F5E, - 159299 - 131105: 0x8F6C, - 159300 - 131105: 0x8EA3, - 159301 - 131105: 0xFBB3, - 159342 - 131105: 0xFC53, - 159346 - 131105: 0xFDB3, - 159351 - 131105: 0x8F6B, - 159364 - 131105: 0x96CA, - 159368 - 131105: 0x87CD, - 159371 - 131105: 0x8753, - 159385 - 131105: 0x8F79, - 159440 - 131105: 0x9E6F, - 159441 - 131105: 0xA0C5, - 159442 - 131105: 0xFC78, - 159443 - 131105: 0x8E42, - 159444 - 131105: 0x8F5A, - 159445 - 131105: 0x90C2, - 159446 - 131105: 0x8EA5, - 159447 - 131105: 0x9061, - 159526 - 131105: 0x924F, - 159603 - 131105: 0x9373, - 159604 - 131105: 0xFDB5, - 159647 - 131105: 0xFECC, - 159649 - 131105: 0xFBBD, - 159678 - 131105: 0x8CD6, - 159710 - 131105: 0x9843, - 159711 - 131105: 0x96C5, - 159758 - 131105: 0x89BC, - 159819 - 131105: 0x9CA3, - 159826 - 131105: 0x924B, - 159827 - 131105: 0x984A, - 159880 - 131105: 0x8FA4, - 159917 - 131105: 0xA0F1, - 159918 - 131105: 0x9EFB, - 159919 - 131105: 0x9CD2, - 159949 - 131105: 0x8FA7, - 159954 - 131105: 0x8754, - 159992 - 131105: 0xFC5C, - 160009 - 131105: 0x9845, - 160012 - 131105: 0x9046, - 160013 - 131105: 0x8CD1, - 160038 - 131105: 0xFEFA, - 160039 - 131105: 0x9560, - 160100 - 131105: 0x9F48, - 160101 - 131105: 0x9247, - 160117 - 131105: 0x90FB, - 160205 - 131105: 0x9CA4, - 160283 - 131105: 0x9571, - 160359 - 131105: 0x8745, - 160384 - 131105: 0x9CA6, - 160389 - 131105: 0x9CA7, - 160395 - 131105: 0x9CAA, - 160434 - 131105: 0x9ED3, - 160438 - 131105: 0x9E70, - 160486 - 131105: 0x9CAC, - 160594 - 131105: 0x8752, - 160666 - 131105: 0x8FAE, - 160767 - 131105: 0x8D50, - 160802 - 131105: 0x957D, - 160848 - 131105: 0x9CB0, - 160900 - 131105: 0x97B6, - 160902 - 131105: 0xA0BD, - 161140 - 131105: 0x8ADF, - 161187 - 131105: 0x9EAA, - 161248 - 131105: 0x8FBD, - 161252 - 131105: 0x8FBF, - 161277 - 131105: 0x9369, - 161278 - 131105: 0x9BA7, - 161287 - 131105: 0xC8A4, - 161292 - 131105: 0xFEEA, - 161330 - 131105: 0x9BE1, - 161337 - 131105: 0x8B41, - 161365 - 131105: 0x9DB6, - 161366 - 131105: 0xA0EB, - 161367 - 131105: 0x9BA3, - 161428 - 131105: 0x8BA1, - 161551 - 131105: 0x8FC8, - 161589 - 131105: 0x894C, - 161590 - 131105: 0x9860, - 161601 - 131105: 0x94C7, - 161630 - 131105: 0x8B58, - 161668 - 131105: 0x95AB, - 161669 - 131105: 0x95AA, - 161740 - 131105: 0x9CC3, - 161880 - 131105: 0x9CC4, - 161904 - 131105: 0x93D6, - 161949 - 131105: 0x9DAC, - 161970 - 131105: 0x8BE6, - 161992 - 131105: 0x8A71, - 162084 - 131105: 0x8FD1, - 162151 - 131105: 0x99D5, - 162170 - 131105: 0x90F4, - 162208 - 131105: 0x8AA3, - 162269 - 131105: 0x9CCE, - 162301 - 131105: 0x9CD4, - 162314 - 131105: 0x9CD5, - 162318 - 131105: 0xFBC8, - 162366 - 131105: 0x9DB3, - 162387 - 131105: 0xFC70, - 162393 - 131105: 0x8FD7, - 162425 - 131105: 0x9B73, - 162436 - 131105: 0xFA5B, - 162493 - 131105: 0x8FD2, - 162494 - 131105: 0x9064, - 162548 - 131105: 0x98B6, - 162566 - 131105: 0x9668, - 162571 - 131105: 0x9CD6, - 162584 - 131105: 0x98BD, - 162616 - 131105: 0x8FDC, - 162617 - 131105: 0xFEF6, - 162618 - 131105: 0x8FD9, - 162632 - 131105: 0x9541, - 162661 - 131105: 0x87CA, - 162799 - 131105: 0x876C, - 162804 - 131105: 0x97F3, - 162834 - 131105: 0x9BF8, - 162924 - 131105: 0x875A, - 162993 - 131105: 0x8748, - 163013 - 131105: 0x874A, - 163119 - 131105: 0x9E6C, - 163155 - 131105: 0x8FF2, - 163156 - 131105: 0x8FEE, - 163174 - 131105: 0x9CD7, - 163187 - 131105: 0x9E6E, - 163204 - 131105: 0x8A40, - 163215 - 131105: 0x8FEF, - 163224 - 131105: 0x8FF4, - 163261 - 131105: 0x8FF5, - 163292 - 131105: 0x95C2, - 163405 - 131105: 0x986A, - 163407 - 131105: 0x97CF, - 163630 - 131105: 0x9EE5, - 163833 - 131105: 0x9E7C, - 163842 - 131105: 0x9041, - 163849 - 131105: 0x9CDB, - 163870 - 131105: 0x9441, - 163875 - 131105: 0x9CE6, - 163876 - 131105: 0x9DB0, - 163912 - 131105: 0x9CEA, - 163971 - 131105: 0x9CED, - 163984 - 131105: 0x9CFA, - 164029 - 131105: 0x8B62, - 164030 - 131105: 0x8A4E, - 164072 - 131105: 0x9CCA, - 164073 - 131105: 0x8A66, - 164084 - 131105: 0x9CFB, - 164142 - 131105: 0x9CFC, - 164175 - 131105: 0x9CFE, - 164189 - 131105: 0x8A53, - 164207 - 131105: 0x9CE5, - 164233 - 131105: 0x9D40, - 164271 - 131105: 0x9D41, - 164284 - 131105: 0x9045, - 164359 - 131105: 0x8B73, - 164376 - 131105: 0x97CA, - 164378 - 131105: 0x9D42, - 164438 - 131105: 0x8A61, - 164476 - 131105: 0x8BAE, - 164507 - 131105: 0x8AD2, - 164557 - 131105: 0x8BA2, - 164578 - 131105: 0x9DF2, - 164614 - 131105: 0x9D43, - 164632 - 131105: 0x9CDF, - 164655 - 131105: 0x9D44, - 164666 - 131105: 0x8ECA, - 164709 - 131105: 0x904E, - 164717 - 131105: 0x8EB3, - 164733 - 131105: 0x9FF5, - 164746 - 131105: 0x9D45, - 164882 - 131105: 0x904F, - 164968 - 131105: 0x9D47, - 164972 - 131105: 0x89CA, - 164979 - 131105: 0x9CB5, - 164994 - 131105: 0xFBFE, - 165121 - 131105: 0x905E, - 165180 - 131105: 0x9063, - 165181 - 131105: 0x9057, - 165228 - 131105: 0x9066, - 165352 - 131105: 0x9BC0, - 165364 - 131105: 0xFCE5, - 165376 - 131105: 0x9162, - 165387 - 131105: 0x9067, - 165413 - 131105: 0x8FA1, - 165435 - 131105: 0x8FA2, - 165546 - 131105: 0x9D48, - 165547 - 131105: 0xFAD3, - 165554 - 131105: 0x8D4F, - 165564 - 131105: 0x905D, - 165592 - 131105: 0x90B9, - 165606 - 131105: 0x906B, - 165647 - 131105: 0x8C5C, - 165651 - 131105: 0x9069, - 165892 - 131105: 0xFE57, - 165931 - 131105: 0xFE55, - 166157 - 131105: 0x87A6, - 166195 - 131105: 0x9073, - 166216 - 131105: 0x9BEF, - 166217 - 131105: 0x9CF0, - 166230 - 131105: 0x9D4B, - 166244 - 131105: 0xFED9, - 166248 - 131105: 0xFEDA, - 166252 - 131105: 0x91E0, - 166253 - 131105: 0x8D43, - 166270 - 131105: 0x91D8, - 166281 - 131105: 0x9646, - 166312 - 131105: 0x9360, - 166314 - 131105: 0xFA53, - 166315 - 131105: 0x9CD3, - 166328 - 131105: 0x9D4E, - 166332 - 131105: 0xFB40, - 166336 - 131105: 0x8DE2, - 166364 - 131105: 0x9442, - 166366 - 131105: 0x9056, - 166369 - 131105: 0x9865, - 166371 - 131105: 0x8C6C, - 166372 - 131105: 0xFA4A, - 166375 - 131105: 0x9D50, - 166376 - 131105: 0x9D52, - 166393 - 131105: 0x95AF, - 166394 - 131105: 0x975A, - 166395 - 131105: 0x9349, - 166396 - 131105: 0x9747, - 166415 - 131105: 0xA0F4, - 166422 - 131105: 0x9778, - 166437 - 131105: 0x8FCF, - 166441 - 131105: 0xFC60, - 166450 - 131105: 0x8C4E, - 166454 - 131105: 0xFC56, - 166468 - 131105: 0x91DC, - 166469 - 131105: 0x9661, - 166470 - 131105: 0x92EC, - 166471 - 131105: 0x935D, - 166472 - 131105: 0x8EDE, - 166473 - 131105: 0x96FE, - 166474 - 131105: 0xFD4F, - 166475 - 131105: 0x95DE, - 166489 - 131105: 0x98B0, - 166490 - 131105: 0xA040, - 166529 - 131105: 0x97BD, - 166530 - 131105: 0x977D, - 166531 - 131105: 0x97F5, - 166554 - 131105: 0x9BAC, - 166555 - 131105: 0xFADA, - 166556 - 131105: 0x92C2, - 166592 - 131105: 0x97B1, - 166598 - 131105: 0x907B, - 166603 - 131105: 0x93FE, - 166604 - 131105: 0x947B, - 166606 - 131105: 0x9777, - 166622 - 131105: 0xFABE, - 166623 - 131105: 0xFD43, - 166624 - 131105: 0x90C6, - 166625 - 131105: 0x90A4, - 166626 - 131105: 0x90A8, - 166627 - 131105: 0x94A9, - 166629 - 131105: 0x90A9, - 166634 - 131105: 0x8C65, - 166652 - 131105: 0x95E0, - 166668 - 131105: 0x907D, - 166675 - 131105: 0x9265, - 166689 - 131105: 0xFDBA, - 166690 - 131105: 0x93C4, - 166699 - 131105: 0xFEED, - 166700 - 131105: 0x9DAB, - 166701 - 131105: 0xA0E3, - 166703 - 131105: 0x9648, - 166726 - 131105: 0x9D53, - 166732 - 131105: 0x8AA9, - 166734 - 131105: 0x9BC5, - 166736 - 131105: 0x965D, - 166755 - 131105: 0x975F, - 166756 - 131105: 0x965F, - 166757 - 131105: 0x966E, - 166758 - 131105: 0xFB5D, - 166764 - 131105: 0x9DB1, - 166799 - 131105: 0xFEA3, - 166809 - 131105: 0x9DB2, - 166812 - 131105: 0x95AE, - 166813 - 131105: 0xFCA3, - 166841 - 131105: 0x8769, - 166850 - 131105: 0xA0A2, - 166853 - 131105: 0x9655, - 166868 - 131105: 0x9D54, - 166871 - 131105: 0x9341, - 166873 - 131105: 0x95AD, - 166874 - 131105: 0x91D5, - 166887 - 131105: 0x977A, - 166888 - 131105: 0xFDFC, - 166889 - 131105: 0x8E47, - 166890 - 131105: 0x93FD, - 166891 - 131105: 0x90A5, - 166892 - 131105: 0x90AC, - 166901 - 131105: 0x95AC, - 166911 - 131105: 0x90AE, - 166915 - 131105: 0xFEA5, - 166921 - 131105: 0x9D56, - 166940 - 131105: 0x97E3, - 166941 - 131105: 0x95E2, - 166947 - 131105: 0x9466, - 166950 - 131105: 0x9647, - 166955 - 131105: 0x91B8, - 166960 - 131105: 0x9CEC, - 166969 - 131105: 0x90AD, - 166971 - 131105: 0x95E3, - 167114 - 131105: 0x8B4F, - 167117 - 131105: 0x8AE3, - 167122 - 131105: 0x8B4D, - 167220 - 131105: 0x95EA, - 167321 - 131105: 0x8B4E, - 167353 - 131105: 0x8CC1, - 167439 - 131105: 0x8BED, - 167478 - 131105: 0x91D9, - 167481 - 131105: 0xA0A4, - 167525 - 131105: 0x95F5, - 167526 - 131105: 0x95F4, - 167575 - 131105: 0x9FB3, - 167596 - 131105: 0xFEAF, - 167602 - 131105: 0xFE72, - 167603 - 131105: 0x927A, - 167641 - 131105: 0xFEAC, - 167655 - 131105: 0x95F3, - 167877 - 131105: 0x9D58, - 168057 - 131105: 0x8D46, - 168072 - 131105: 0x9372, - 168075 - 131105: 0x91C5, - 168083 - 131105: 0x9642, - 168111 - 131105: 0x90CD, - 168112 - 131105: 0x95FE, - 168113 - 131105: 0x9159, - 168128 - 131105: 0x9C65, - 168164 - 131105: 0x97CC, - 168165 - 131105: 0x90CE, - 168172 - 131105: 0x9D59, - 168173 - 131105: 0xFCF5, - 168205 - 131105: 0xFEFD, - 168208 - 131105: 0x9D5B, - 168252 - 131105: 0x9D5C, - 168269 - 131105: 0x937E, - 168283 - 131105: 0x98AC, - 168286 - 131105: 0x9D5E, - 168304 - 131105: 0xFDD0, - 168348 - 131105: 0xFD60, - 168360 - 131105: 0x9CCF, - 168405 - 131105: 0x90DD, - 168427 - 131105: 0x90E0, - 168989 - 131105: 0x90F3, - 168992 - 131105: 0x98B1, - 169011 - 131105: 0x90F0, - 169023 - 131105: 0x93BD, - 169032 - 131105: 0x95B7, - 169168 - 131105: 0x9F46, - 169177 - 131105: 0x8E4B, - 169178 - 131105: 0x9658, - 169189 - 131105: 0x8A4C, - 169191 - 131105: 0x9D63, - 169374 - 131105: 0x9ECF, - 169392 - 131105: 0x9D65, - 169400 - 131105: 0x9D66, - 169431 - 131105: 0x965A, - 169449 - 131105: 0x9D64, - 169460 - 131105: 0x8A6C, - 169760 - 131105: 0x8AD9, - 169778 - 131105: 0x9D67, - 169940 - 131105: 0x8A70, - 170000 - 131105: 0x8BF3, - 170071 - 131105: 0x9150, - 170148 - 131105: 0x9CC1, - 170193 - 131105: 0x9D68, - 170218 - 131105: 0x93A7, - 170225 - 131105: 0x9674, - 170234 - 131105: 0x8CFD, - 170243 - 131105: 0xA0EF, - 170245 - 131105: 0x9151, - 170287 - 131105: 0x96C1, - 170309 - 131105: 0x8777, - 170311 - 131105: 0x8C64, - 170312 - 131105: 0x9676, - 170313 - 131105: 0x9D69, - 170333 - 131105: 0xFCA4, - 170346 - 131105: 0x9D6A, - 170397 - 131105: 0x924E, - 170435 - 131105: 0x9D6B, - 170441 - 131105: 0x9BC1, - 170536 - 131105: 0x9D6C, - 170573 - 131105: 0x8A65, - 170757 - 131105: 0x915D, - 170766 - 131105: 0x9D6D, - 170965 - 131105: 0x915A, - 171123 - 131105: 0x8C42, - 171181 - 131105: 0x9CC0, - 171326 - 131105: 0x916A, - 171354 - 131105: 0x9D6E, - 171388 - 131105: 0x9EA6, - 171416 - 131105: 0x9DCD, - 171419 - 131105: 0x9D6F, - 171510 - 131105: 0x89BB, - 171526 - 131105: 0x9EF9, - 171565 - 131105: 0x96B4, - 171624 - 131105: 0x9172, - 171692 - 131105: 0x9EC8, - 171696 - 131105: 0x8771, - 171715 - 131105: 0x8B55, - 171768 - 131105: 0x9D71, - 171811 - 131105: 0x9D72, - 171824 - 131105: 0x9ECC, - 171959 - 131105: 0x9174, - 171998 - 131105: 0x9ED0, - 172052 - 131105: 0x905C, - 172167 - 131105: 0x8ED2, - 172217 - 131105: 0x91A8, - 172257 - 131105: 0x9177, - 172269 - 131105: 0x96BF, - 172275 - 131105: 0x96C0, - 172280 - 131105: 0x8FB1, - 172286 - 131105: 0x96B7, - 172295 - 131105: 0x8C55, - 172323 - 131105: 0x9178, - 172339 - 131105: 0x89BE, - 172340 - 131105: 0x917C, - 172368 - 131105: 0xFB77, - 172434 - 131105: 0x9175, - 172435 - 131105: 0x91A3, - 172459 - 131105: 0x9176, - 172468 - 131105: 0x96BE, - 172469 - 131105: 0x8D49, - 172511 - 131105: 0x9179, - 172533 - 131105: 0x96B6, - 172576 - 131105: 0x91A4, - 172595 - 131105: 0x91A6, - 172691 - 131105: 0x9D75, - 172703 - 131105: 0x9052, - 172722 - 131105: 0xA045, - 172724 - 131105: 0x91A9, - 172726 - 131105: 0x98AA, - 172730 - 131105: 0x8C5F, - 172733 - 131105: 0x8BAA, - 172767 - 131105: 0x9CDD, - 172799 - 131105: 0x9D77, - 172881 - 131105: 0x8756, - 172969 - 131105: 0x8940, - 173108 - 131105: 0x9EEC, - 173147 - 131105: 0x93AA, - 173510 - 131105: 0x9478, - 173515 - 131105: 0x9D7A, - 173569 - 131105: 0x8AC9, - 173618 - 131105: 0x8B4B, - 173642 - 131105: 0x9FEC, - 173659 - 131105: 0x8AE2, - 173737 - 131105: 0x9E75, -} - -const encode1Low, encode1High = 11904, 40908 - -var encode1 = [...]uint16{ - 11904 - 11904: 0xC8D6, - 11908 - 11904: 0xC8D7, - 11910 - 11904: 0xC8D8, - 11911 - 11904: 0xC8D9, - 11912 - 11904: 0xC8DA, - 11914 - 11904: 0xC8DB, - 11916 - 11904: 0xC8DC, - 11917 - 11904: 0xC8DD, - 11925 - 11904: 0xC8DE, - 11932 - 11904: 0xC8DF, - 11933 - 11904: 0xC8E0, - 11941 - 11904: 0xC8E1, - 11943 - 11904: 0xC8E2, - 11946 - 11904: 0xC8E3, - 11948 - 11904: 0xC8E4, - 11950 - 11904: 0xC8E5, - 11958 - 11904: 0xC8E6, - 11964 - 11904: 0xC8E7, - 11966 - 11904: 0xC8E8, - 11974 - 11904: 0xC8E9, - 11978 - 11904: 0xC8EA, - 11980 - 11904: 0xC8EB, - 11981 - 11904: 0xC8EC, - 11983 - 11904: 0xC8ED, - 11990 - 11904: 0xC8EE, - 11991 - 11904: 0xC8EF, - 11998 - 11904: 0xC8F0, - 12003 - 11904: 0xC8F1, - 12083 - 11904: 0xC6CD, - 12288 - 11904: 0xA140, - 12289 - 11904: 0xA142, - 12290 - 11904: 0xA143, - 12291 - 11904: 0xC6DE, - 12293 - 11904: 0xC6E0, - 12294 - 11904: 0xC6E1, - 12295 - 11904: 0xC6E2, - 12296 - 11904: 0xA171, - 12297 - 11904: 0xA172, - 12298 - 11904: 0xA16D, - 12299 - 11904: 0xA16E, - 12300 - 11904: 0xA175, - 12301 - 11904: 0xA176, - 12302 - 11904: 0xA179, - 12303 - 11904: 0xA17A, - 12304 - 11904: 0xA169, - 12305 - 11904: 0xA16A, - 12306 - 11904: 0xA245, - 12308 - 11904: 0xA165, - 12309 - 11904: 0xA166, - 12317 - 11904: 0xA1A9, - 12318 - 11904: 0xA1AA, - 12321 - 11904: 0xA2C3, - 12322 - 11904: 0xA2C4, - 12323 - 11904: 0xA2C5, - 12324 - 11904: 0xA2C6, - 12325 - 11904: 0xA2C7, - 12326 - 11904: 0xA2C8, - 12327 - 11904: 0xA2C9, - 12328 - 11904: 0xA2CA, - 12329 - 11904: 0xA2CB, - 12353 - 11904: 0xC6E7, - 12354 - 11904: 0xC6E8, - 12355 - 11904: 0xC6E9, - 12356 - 11904: 0xC6EA, - 12357 - 11904: 0xC6EB, - 12358 - 11904: 0xC6EC, - 12359 - 11904: 0xC6ED, - 12360 - 11904: 0xC6EE, - 12361 - 11904: 0xC6EF, - 12362 - 11904: 0xC6F0, - 12363 - 11904: 0xC6F1, - 12364 - 11904: 0xC6F2, - 12365 - 11904: 0xC6F3, - 12366 - 11904: 0xC6F4, - 12367 - 11904: 0xC6F5, - 12368 - 11904: 0xC6F6, - 12369 - 11904: 0xC6F7, - 12370 - 11904: 0xC6F8, - 12371 - 11904: 0xC6F9, - 12372 - 11904: 0xC6FA, - 12373 - 11904: 0xC6FB, - 12374 - 11904: 0xC6FC, - 12375 - 11904: 0xC6FD, - 12376 - 11904: 0xC6FE, - 12377 - 11904: 0xC740, - 12378 - 11904: 0xC741, - 12379 - 11904: 0xC742, - 12380 - 11904: 0xC743, - 12381 - 11904: 0xC744, - 12382 - 11904: 0xC745, - 12383 - 11904: 0xC746, - 12384 - 11904: 0xC747, - 12385 - 11904: 0xC748, - 12386 - 11904: 0xC749, - 12387 - 11904: 0xC74A, - 12388 - 11904: 0xC74B, - 12389 - 11904: 0xC74C, - 12390 - 11904: 0xC74D, - 12391 - 11904: 0xC74E, - 12392 - 11904: 0xC74F, - 12393 - 11904: 0xC750, - 12394 - 11904: 0xC751, - 12395 - 11904: 0xC752, - 12396 - 11904: 0xC753, - 12397 - 11904: 0xC754, - 12398 - 11904: 0xC755, - 12399 - 11904: 0xC756, - 12400 - 11904: 0xC757, - 12401 - 11904: 0xC758, - 12402 - 11904: 0xC759, - 12403 - 11904: 0xC75A, - 12404 - 11904: 0xC75B, - 12405 - 11904: 0xC75C, - 12406 - 11904: 0xC75D, - 12407 - 11904: 0xC75E, - 12408 - 11904: 0xC75F, - 12409 - 11904: 0xC760, - 12410 - 11904: 0xC761, - 12411 - 11904: 0xC762, - 12412 - 11904: 0xC763, - 12413 - 11904: 0xC764, - 12414 - 11904: 0xC765, - 12415 - 11904: 0xC766, - 12416 - 11904: 0xC767, - 12417 - 11904: 0xC768, - 12418 - 11904: 0xC769, - 12419 - 11904: 0xC76A, - 12420 - 11904: 0xC76B, - 12421 - 11904: 0xC76C, - 12422 - 11904: 0xC76D, - 12423 - 11904: 0xC76E, - 12424 - 11904: 0xC76F, - 12425 - 11904: 0xC770, - 12426 - 11904: 0xC771, - 12427 - 11904: 0xC772, - 12428 - 11904: 0xC773, - 12429 - 11904: 0xC774, - 12430 - 11904: 0xC775, - 12431 - 11904: 0xC776, - 12432 - 11904: 0xC777, - 12433 - 11904: 0xC778, - 12434 - 11904: 0xC779, - 12435 - 11904: 0xC77A, - 12443 - 11904: 0xC8D4, - 12444 - 11904: 0xC8D5, - 12445 - 11904: 0xC6DC, - 12446 - 11904: 0xC6DD, - 12449 - 11904: 0xC77B, - 12450 - 11904: 0xC77C, - 12451 - 11904: 0xC77D, - 12452 - 11904: 0xC77E, - 12453 - 11904: 0xC7A1, - 12454 - 11904: 0xC7A2, - 12455 - 11904: 0xC7A3, - 12456 - 11904: 0xC7A4, - 12457 - 11904: 0xC7A5, - 12458 - 11904: 0xC7A6, - 12459 - 11904: 0xC7A7, - 12460 - 11904: 0xC7A8, - 12461 - 11904: 0xC7A9, - 12462 - 11904: 0xC7AA, - 12463 - 11904: 0xC7AB, - 12464 - 11904: 0xC7AC, - 12465 - 11904: 0xC7AD, - 12466 - 11904: 0xC7AE, - 12467 - 11904: 0xC7AF, - 12468 - 11904: 0xC7B0, - 12469 - 11904: 0xC7B1, - 12470 - 11904: 0xC7B2, - 12471 - 11904: 0xC7B3, - 12472 - 11904: 0xC7B4, - 12473 - 11904: 0xC7B5, - 12474 - 11904: 0xC7B6, - 12475 - 11904: 0xC7B7, - 12476 - 11904: 0xC7B8, - 12477 - 11904: 0xC7B9, - 12478 - 11904: 0xC7BA, - 12479 - 11904: 0xC7BB, - 12480 - 11904: 0xC7BC, - 12481 - 11904: 0xC7BD, - 12482 - 11904: 0xC7BE, - 12483 - 11904: 0xC7BF, - 12484 - 11904: 0xC7C0, - 12485 - 11904: 0xC7C1, - 12486 - 11904: 0xC7C2, - 12487 - 11904: 0xC7C3, - 12488 - 11904: 0xC7C4, - 12489 - 11904: 0xC7C5, - 12490 - 11904: 0xC7C6, - 12491 - 11904: 0xC7C7, - 12492 - 11904: 0xC7C8, - 12493 - 11904: 0xC7C9, - 12494 - 11904: 0xC7CA, - 12495 - 11904: 0xC7CB, - 12496 - 11904: 0xC7CC, - 12497 - 11904: 0xC7CD, - 12498 - 11904: 0xC7CE, - 12499 - 11904: 0xC7CF, - 12500 - 11904: 0xC7D0, - 12501 - 11904: 0xC7D1, - 12502 - 11904: 0xC7D2, - 12503 - 11904: 0xC7D3, - 12504 - 11904: 0xC7D4, - 12505 - 11904: 0xC7D5, - 12506 - 11904: 0xC7D6, - 12507 - 11904: 0xC7D7, - 12508 - 11904: 0xC7D8, - 12509 - 11904: 0xC7D9, - 12510 - 11904: 0xC7DA, - 12511 - 11904: 0xC7DB, - 12512 - 11904: 0xC7DC, - 12513 - 11904: 0xC7DD, - 12514 - 11904: 0xC7DE, - 12515 - 11904: 0xC7DF, - 12516 - 11904: 0xC7E0, - 12517 - 11904: 0xC7E1, - 12518 - 11904: 0xC7E2, - 12519 - 11904: 0xC7E3, - 12520 - 11904: 0xC7E4, - 12521 - 11904: 0xC7E5, - 12522 - 11904: 0xC7E6, - 12523 - 11904: 0xC7E7, - 12524 - 11904: 0xC7E8, - 12525 - 11904: 0xC7E9, - 12526 - 11904: 0xC7EA, - 12527 - 11904: 0xC7EB, - 12528 - 11904: 0xC7EC, - 12529 - 11904: 0xC7ED, - 12530 - 11904: 0xC7EE, - 12531 - 11904: 0xC7EF, - 12532 - 11904: 0xC7F0, - 12533 - 11904: 0xC7F1, - 12534 - 11904: 0xC7F2, - 12540 - 11904: 0xC6E3, - 12541 - 11904: 0xC6DA, - 12542 - 11904: 0xC6DB, - 12549 - 11904: 0xA374, - 12550 - 11904: 0xA375, - 12551 - 11904: 0xA376, - 12552 - 11904: 0xA377, - 12553 - 11904: 0xA378, - 12554 - 11904: 0xA379, - 12555 - 11904: 0xA37A, - 12556 - 11904: 0xA37B, - 12557 - 11904: 0xA37C, - 12558 - 11904: 0xA37D, - 12559 - 11904: 0xA37E, - 12560 - 11904: 0xA3A1, - 12561 - 11904: 0xA3A2, - 12562 - 11904: 0xA3A3, - 12563 - 11904: 0xA3A4, - 12564 - 11904: 0xA3A5, - 12565 - 11904: 0xA3A6, - 12566 - 11904: 0xA3A7, - 12567 - 11904: 0xA3A8, - 12568 - 11904: 0xA3A9, - 12569 - 11904: 0xA3AA, - 12570 - 11904: 0xA3AB, - 12571 - 11904: 0xA3AC, - 12572 - 11904: 0xA3AD, - 12573 - 11904: 0xA3AE, - 12574 - 11904: 0xA3AF, - 12575 - 11904: 0xA3B0, - 12576 - 11904: 0xA3B1, - 12577 - 11904: 0xA3B2, - 12578 - 11904: 0xA3B3, - 12579 - 11904: 0xA3B4, - 12580 - 11904: 0xA3B5, - 12581 - 11904: 0xA3B6, - 12582 - 11904: 0xA3B7, - 12583 - 11904: 0xA3B8, - 12584 - 11904: 0xA3B9, - 12585 - 11904: 0xA3BA, - 12736 - 11904: 0x8840, - 12737 - 11904: 0x8841, - 12738 - 11904: 0x8842, - 12739 - 11904: 0x8843, - 12740 - 11904: 0x8844, - 12741 - 11904: 0x8846, - 12742 - 11904: 0x8849, - 12743 - 11904: 0x884A, - 12744 - 11904: 0x884D, - 12745 - 11904: 0x884F, - 12746 - 11904: 0x8850, - 12747 - 11904: 0x8851, - 12748 - 11904: 0x8852, - 12749 - 11904: 0x8854, - 12750 - 11904: 0x8855, - 12751 - 11904: 0xC879, - 12849 - 11904: 0xC8D1, - 12963 - 11904: 0xA1C0, - 13198 - 11904: 0xA255, - 13199 - 11904: 0xA256, - 13212 - 11904: 0xA250, - 13213 - 11904: 0xA251, - 13214 - 11904: 0xA252, - 13217 - 11904: 0xA254, - 13252 - 11904: 0xA257, - 13262 - 11904: 0xA253, - 13265 - 11904: 0xA1EB, - 13266 - 11904: 0xA1EA, - 13269 - 11904: 0xA24F, - 13365 - 11904: 0x9277, - 13376 - 11904: 0x96DF, - 13386 - 11904: 0x8CF4, - 13388 - 11904: 0x89D5, - 13412 - 11904: 0x93CD, - 13427 - 11904: 0x9BDF, - 13434 - 11904: 0xFA68, - 13437 - 11904: 0x89DA, - 13438 - 11904: 0x8F59, - 13459 - 11904: 0x89DB, - 13462 - 11904: 0x8F5D, - 13477 - 11904: 0x89DC, - 13487 - 11904: 0x96F7, - 13500 - 11904: 0x8ADA, - 13505 - 11904: 0x8BDC, - 13512 - 11904: 0x97DB, - 13535 - 11904: 0x9E53, - 13540 - 11904: 0x9DAA, - 13542 - 11904: 0x87BE, - 13563 - 11904: 0x9BEA, - 13574 - 11904: 0x8A6E, - 13630 - 11904: 0x8BC8, - 13649 - 11904: 0x89E8, - 13651 - 11904: 0x89EA, - 13657 - 11904: 0x8C4B, - 13665 - 11904: 0xFB70, - 13677 - 11904: 0x89ED, - 13680 - 11904: 0x94DD, - 13682 - 11904: 0x89EE, - 13687 - 11904: 0x9EB4, - 13688 - 11904: 0x8AD3, - 13700 - 11904: 0x92DB, - 13719 - 11904: 0x94DB, - 13720 - 11904: 0x89F9, - 13729 - 11904: 0xFB7A, - 13733 - 11904: 0x89FB, - 13741 - 11904: 0x9EFC, - 13759 - 11904: 0x89FC, - 13761 - 11904: 0x89BF, - 13765 - 11904: 0x89FE, - 13767 - 11904: 0x89E6, - 13770 - 11904: 0x9D46, - 13774 - 11904: 0x9DEE, - 13778 - 11904: 0xA07E, - 13782 - 11904: 0xA068, - 13787 - 11904: 0x98E9, - 13789 - 11904: 0x8B68, - 13809 - 11904: 0x8DFD, - 13810 - 11904: 0x8BBE, - 13811 - 11904: 0x9FD9, - 13819 - 11904: 0x8AEB, - 13822 - 11904: 0x9FD7, - 13833 - 11904: 0x8B6A, - 13848 - 11904: 0x9C5C, - 13850 - 11904: 0x8BB1, - 13859 - 11904: 0xFB5E, - 13861 - 11904: 0x8770, - 13869 - 11904: 0x9DF3, - 13877 - 11904: 0xA0D0, - 13881 - 11904: 0xFC66, - 13886 - 11904: 0x92E9, - 13895 - 11904: 0x9AEC, - 13896 - 11904: 0x8FAB, - 13897 - 11904: 0xFA48, - 13902 - 11904: 0x8E45, - 13919 - 11904: 0x9C6F, - 13921 - 11904: 0x8D5C, - 13946 - 11904: 0x9EDE, - 13953 - 11904: 0x89EF, - 13978 - 11904: 0x96E9, - 13989 - 11904: 0x9EBB, - 13994 - 11904: 0x94DE, - 13996 - 11904: 0x9EB8, - 14000 - 11904: 0x97BA, - 14001 - 11904: 0xFB65, - 14005 - 11904: 0x95D6, - 14009 - 11904: 0x9CBB, - 14012 - 11904: 0x97DA, - 14017 - 11904: 0x8F45, - 14019 - 11904: 0xFB7D, - 14020 - 11904: 0x9158, - 14021 - 11904: 0xFE64, - 14023 - 11904: 0x9856, - 14024 - 11904: 0x9B4D, - 14035 - 11904: 0x935B, - 14036 - 11904: 0x95C7, - 14038 - 11904: 0x97E7, - 14045 - 11904: 0x9359, - 14049 - 11904: 0x91F5, - 14050 - 11904: 0x97B8, - 14053 - 11904: 0xFDA2, - 14054 - 11904: 0xFBB6, - 14069 - 11904: 0x92FA, - 14081 - 11904: 0x9357, - 14083 - 11904: 0x8BA6, - 14088 - 11904: 0xFBB9, - 14090 - 11904: 0x97B0, - 14093 - 11904: 0xFDC4, - 14108 - 11904: 0x9CA1, - 14114 - 11904: 0x91F2, - 14115 - 11904: 0x91F9, - 14117 - 11904: 0x8FF1, - 14124 - 11904: 0x9745, - 14125 - 11904: 0x9853, - 14128 - 11904: 0xFE78, - 14130 - 11904: 0xFBC1, - 14131 - 11904: 0x9251, - 14138 - 11904: 0x9DAD, - 14144 - 11904: 0xFD6C, - 14147 - 11904: 0xFA6B, - 14178 - 11904: 0x9BC2, - 14191 - 11904: 0x9A7B, - 14231 - 11904: 0x8B60, - 14240 - 11904: 0x934B, - 14265 - 11904: 0x9ABD, - 14270 - 11904: 0x91B7, - 14294 - 11904: 0x8D4B, - 14322 - 11904: 0x95B4, - 14328 - 11904: 0xFEC5, - 14331 - 11904: 0x9EF0, - 14351 - 11904: 0x8D64, - 14361 - 11904: 0x9269, - 14368 - 11904: 0x8D67, - 14381 - 11904: 0xFBEA, - 14390 - 11904: 0xFBEF, - 14392 - 11904: 0x8D68, - 14435 - 11904: 0x93EB, - 14453 - 11904: 0x877A, - 14496 - 11904: 0xFC42, - 14531 - 11904: 0x9166, - 14540 - 11904: 0xFACD, - 14545 - 11904: 0x93DD, - 14548 - 11904: 0x8D52, - 14586 - 11904: 0x8BCC, - 14600 - 11904: 0x8D6D, - 14612 - 11904: 0x8D6E, - 14631 - 11904: 0x96A8, - 14642 - 11904: 0xFCA6, - 14655 - 11904: 0x8D6F, - 14669 - 11904: 0x8D70, - 14691 - 11904: 0xFC64, - 14712 - 11904: 0x8CF3, - 14720 - 11904: 0x9060, - 14729 - 11904: 0x8D74, - 14730 - 11904: 0x97C3, - 14738 - 11904: 0x8AD0, - 14745 - 11904: 0x9274, - 14747 - 11904: 0x9BBE, - 14753 - 11904: 0x9CC8, - 14756 - 11904: 0x9CBA, - 14776 - 11904: 0x8D78, - 14812 - 11904: 0x9EB9, - 14818 - 11904: 0x955A, - 14821 - 11904: 0x91B4, - 14828 - 11904: 0x8A48, - 14840 - 11904: 0x8D7D, - 14843 - 11904: 0x8A7D, - 14846 - 11904: 0x8AC2, - 14849 - 11904: 0xFD4A, - 14851 - 11904: 0x8DA1, - 14854 - 11904: 0x8AD1, - 14871 - 11904: 0xFCB4, - 14872 - 11904: 0x8B47, - 14889 - 11904: 0x93A4, - 14890 - 11904: 0x9EDA, - 14900 - 11904: 0x8A51, - 14923 - 11904: 0x8DA6, - 14930 - 11904: 0x9EC5, - 14935 - 11904: 0xFCC4, - 14940 - 11904: 0xA078, - 14942 - 11904: 0x94B5, - 14950 - 11904: 0xFCC2, - 14951 - 11904: 0x8A6B, - 14999 - 11904: 0x8DAB, - 15019 - 11904: 0xFAE8, - 15037 - 11904: 0x8DAD, - 15070 - 11904: 0xFC49, - 15072 - 11904: 0x93C1, - 15088 - 11904: 0x906F, - 15090 - 11904: 0x8DB0, - 15093 - 11904: 0x87A2, - 15099 - 11904: 0x947E, - 15118 - 11904: 0x90FA, - 15129 - 11904: 0x9479, - 15138 - 11904: 0x8DB2, - 15147 - 11904: 0xFCEE, - 15161 - 11904: 0x997B, - 15170 - 11904: 0x8DB4, - 15192 - 11904: 0x8DB7, - 15200 - 11904: 0x91B3, - 15217 - 11904: 0x8DBB, - 15218 - 11904: 0x8DBA, - 15227 - 11904: 0x8DBC, - 15228 - 11904: 0x9044, - 15232 - 11904: 0xFD4C, - 15253 - 11904: 0x874B, - 15254 - 11904: 0x93E4, - 15257 - 11904: 0x93E0, - 15265 - 11904: 0xFD53, - 15292 - 11904: 0x8DC3, - 15294 - 11904: 0x9BB8, - 15298 - 11904: 0xFBF0, - 15300 - 11904: 0x93E9, - 15319 - 11904: 0x93F6, - 15325 - 11904: 0x8DC5, - 15340 - 11904: 0x8DCA, - 15346 - 11904: 0x8DCC, - 15347 - 11904: 0xFD5D, - 15348 - 11904: 0x93B5, - 15373 - 11904: 0xFD61, - 15377 - 11904: 0x9CF8, - 15381 - 11904: 0x9252, - 15384 - 11904: 0xA0E8, - 15444 - 11904: 0x9CA5, - 15499 - 11904: 0x8C56, - 15563 - 11904: 0x8DD6, - 15565 - 11904: 0x97C0, - 15569 - 11904: 0xA0DE, - 15574 - 11904: 0x97D2, - 15580 - 11904: 0xFAA5, - 15595 - 11904: 0xFDA3, - 15599 - 11904: 0x8DDB, - 15634 - 11904: 0x8CEA, - 15635 - 11904: 0x8EAF, - 15645 - 11904: 0x91B5, - 15666 - 11904: 0xFD49, - 15675 - 11904: 0xFDD1, - 15686 - 11904: 0x8DEB, - 15692 - 11904: 0x97C6, - 15694 - 11904: 0xFDCE, - 15697 - 11904: 0x90FC, - 15711 - 11904: 0xFC59, - 15714 - 11904: 0x96D6, - 15721 - 11904: 0x97C5, - 15722 - 11904: 0x8DEF, - 15727 - 11904: 0x97D7, - 15733 - 11904: 0x8DF0, - 15741 - 11904: 0x96A6, - 15749 - 11904: 0xFBBF, - 15752 - 11904: 0x8CDF, - 15754 - 11904: 0x8DF3, - 15759 - 11904: 0x9449, - 15761 - 11904: 0x8DF5, - 15781 - 11904: 0x9872, - 15789 - 11904: 0x8E6B, - 15796 - 11904: 0xFAFD, - 15807 - 11904: 0x8F50, - 15814 - 11904: 0x9DCC, - 15815 - 11904: 0xFC65, - 15817 - 11904: 0x8C44, - 15820 - 11904: 0x996E, - 15821 - 11904: 0x94A1, - 15827 - 11904: 0x8F63, - 15835 - 11904: 0xA0DA, - 15847 - 11904: 0x9253, - 15848 - 11904: 0xFDE9, - 15851 - 11904: 0x9DB5, - 15859 - 11904: 0x9879, - 15860 - 11904: 0x876A, - 15863 - 11904: 0x9D5D, - 15868 - 11904: 0x8D63, - 15869 - 11904: 0x9669, - 15878 - 11904: 0x9F70, - 15936 - 11904: 0xFC6A, - 15939 - 11904: 0x8AC7, - 15944 - 11904: 0x89D7, - 15957 - 11904: 0xFE4D, - 15988 - 11904: 0x9EDD, - 16040 - 11904: 0xFEFB, - 16041 - 11904: 0x98BC, - 16042 - 11904: 0xFACC, - 16045 - 11904: 0x95B0, - 16049 - 11904: 0x9464, - 16056 - 11904: 0x936F, - 16063 - 11904: 0x94B9, - 16066 - 11904: 0x95EC, - 16071 - 11904: 0x91EE, - 16074 - 11904: 0x98C3, - 16076 - 11904: 0x95F6, - 16080 - 11904: 0x8FFD, - 16081 - 11904: 0x98C5, - 16086 - 11904: 0x9766, - 16087 - 11904: 0xFE6E, - 16090 - 11904: 0x97DD, - 16091 - 11904: 0x8CAA, - 16094 - 11904: 0x92D2, - 16097 - 11904: 0x9761, - 16098 - 11904: 0x98CB, - 16103 - 11904: 0x95F0, - 16105 - 11904: 0x975D, - 16107 - 11904: 0x91E3, - 16108 - 11904: 0x877E, - 16112 - 11904: 0x98CC, - 16115 - 11904: 0x9469, - 16116 - 11904: 0x98CD, - 16122 - 11904: 0x98CE, - 16124 - 11904: 0x95FC, - 16127 - 11904: 0x94A3, - 16128 - 11904: 0x9662, - 16132 - 11904: 0xFEB6, - 16134 - 11904: 0x9463, - 16135 - 11904: 0x8D47, - 16142 - 11904: 0x98D0, - 16211 - 11904: 0x98D1, - 16216 - 11904: 0x9475, - 16217 - 11904: 0xFAE0, - 16227 - 11904: 0x9472, - 16252 - 11904: 0x98D6, - 16275 - 11904: 0x8AF0, - 16320 - 11904: 0x98D9, - 16328 - 11904: 0x8D5A, - 16343 - 11904: 0x98DB, - 16348 - 11904: 0x98DD, - 16357 - 11904: 0x98A8, - 16365 - 11904: 0x8A6D, - 16377 - 11904: 0x8AFB, - 16378 - 11904: 0x8AAE, - 16388 - 11904: 0xFBC9, - 16393 - 11904: 0x8C5D, - 16413 - 11904: 0x98E4, - 16441 - 11904: 0x98E6, - 16453 - 11904: 0x98E8, - 16467 - 11904: 0x8A4D, - 16471 - 11904: 0x9257, - 16482 - 11904: 0x95DF, - 16485 - 11904: 0xA0AC, - 16490 - 11904: 0x98EB, - 16495 - 11904: 0x98EC, - 16497 - 11904: 0x8CC3, - 16552 - 11904: 0x98F4, - 16564 - 11904: 0x87D9, - 16571 - 11904: 0x8AB8, - 16575 - 11904: 0x9EE7, - 16584 - 11904: 0x94BC, - 16600 - 11904: 0xFCD1, - 16607 - 11904: 0x9CC6, - 16632 - 11904: 0x8D4A, - 16634 - 11904: 0x9E7E, - 16642 - 11904: 0x8D44, - 16643 - 11904: 0x98FE, - 16644 - 11904: 0xFDE8, - 16649 - 11904: 0x9940, - 16654 - 11904: 0x94C9, - 16689 - 11904: 0x87C6, - 16690 - 11904: 0x94D3, - 16743 - 11904: 0x9946, - 16748 - 11904: 0x90C0, - 16750 - 11904: 0x94D1, - 16764 - 11904: 0x8D4E, - 16767 - 11904: 0x9573, - 16769 - 11904: 0x87CE, - 16784 - 11904: 0x93C2, - 16818 - 11904: 0x9948, - 16836 - 11904: 0x994B, - 16842 - 11904: 0x8E55, - 16847 - 11904: 0x994E, - 16859 - 11904: 0x8EFE, - 16877 - 11904: 0x8D5F, - 16879 - 11904: 0x8E59, - 16889 - 11904: 0x94EC, - 16913 - 11904: 0x94EF, - 16931 - 11904: 0x8C60, - 16960 - 11904: 0x8F74, - 16992 - 11904: 0x9955, - 17002 - 11904: 0x9544, - 17014 - 11904: 0x8CCB, - 17018 - 11904: 0x9956, - 17036 - 11904: 0x9959, - 17044 - 11904: 0x995B, - 17058 - 11904: 0x8CC4, - 17077 - 11904: 0xFA45, - 17081 - 11904: 0x90B7, - 17084 - 11904: 0x9743, - 17140 - 11904: 0x95CD, - 17147 - 11904: 0x97C9, - 17148 - 11904: 0xFD50, - 17162 - 11904: 0x87AA, - 17195 - 11904: 0x8EB9, - 17262 - 11904: 0x95C6, - 17303 - 11904: 0x9967, - 17306 - 11904: 0x8CE3, - 17338 - 11904: 0x8AB9, - 17345 - 11904: 0x8DFC, - 17369 - 11904: 0x8A76, - 17375 - 11904: 0x9D51, - 17389 - 11904: 0x9973, - 17392 - 11904: 0x8740, - 17394 - 11904: 0x9D4F, - 17409 - 11904: 0x997A, - 17410 - 11904: 0x9564, - 17427 - 11904: 0x99A1, - 17445 - 11904: 0x99A5, - 17453 - 11904: 0x99A7, - 17530 - 11904: 0x8EED, - 17551 - 11904: 0x99AD, - 17553 - 11904: 0xC87E, - 17567 - 11904: 0x946E, - 17568 - 11904: 0x8F70, - 17570 - 11904: 0xFAD0, - 17584 - 11904: 0x99B3, - 17591 - 11904: 0xA053, - 17597 - 11904: 0x8D5E, - 17600 - 11904: 0x965C, - 17603 - 11904: 0x8CE0, - 17605 - 11904: 0xFD7A, - 17614 - 11904: 0x97FE, - 17629 - 11904: 0x92BD, - 17630 - 11904: 0x8D5D, - 17631 - 11904: 0x97FD, - 17633 - 11904: 0x87DB, - 17636 - 11904: 0x8F64, - 17641 - 11904: 0xFCF7, - 17642 - 11904: 0x9562, - 17643 - 11904: 0x97CD, - 17644 - 11904: 0x9E64, - 17652 - 11904: 0x924C, - 17667 - 11904: 0x8EC9, - 17668 - 11904: 0x99BC, - 17673 - 11904: 0x9DA5, - 17675 - 11904: 0x8F54, - 17686 - 11904: 0x8F7C, - 17691 - 11904: 0x8D55, - 17693 - 11904: 0x8EA2, - 17703 - 11904: 0x8F7A, - 17710 - 11904: 0x97AE, - 17715 - 11904: 0x96C8, - 17718 - 11904: 0x8CE4, - 17723 - 11904: 0x99C3, - 17725 - 11904: 0x90D6, - 17727 - 11904: 0x9CBE, - 17731 - 11904: 0x8F76, - 17745 - 11904: 0x9470, - 17746 - 11904: 0xFB4B, - 17749 - 11904: 0xFDCA, - 17752 - 11904: 0x8CEF, - 17756 - 11904: 0x8EC7, - 17761 - 11904: 0x8D54, - 17762 - 11904: 0xA0F9, - 17770 - 11904: 0x8FA9, - 17773 - 11904: 0x8D51, - 17783 - 11904: 0x99C7, - 17784 - 11904: 0x8744, - 17797 - 11904: 0x90D7, - 17830 - 11904: 0x8743, - 17843 - 11904: 0x8747, - 17882 - 11904: 0x8758, - 17897 - 11904: 0x9EDF, - 17898 - 11904: 0x8D59, - 17923 - 11904: 0x8742, - 17926 - 11904: 0x99CE, - 17935 - 11904: 0x8FBA, - 17941 - 11904: 0x8FEB, - 17943 - 11904: 0x99CF, - 18011 - 11904: 0x8FC2, - 18042 - 11904: 0x92C9, - 18048 - 11904: 0x97DC, - 18081 - 11904: 0x875D, - 18094 - 11904: 0x87CC, - 18107 - 11904: 0x8D45, - 18127 - 11904: 0x95B3, - 18128 - 11904: 0x9C79, - 18165 - 11904: 0x95B2, - 18167 - 11904: 0x8D4C, - 18195 - 11904: 0x8FDB, - 18200 - 11904: 0x9BE3, - 18230 - 11904: 0x874C, - 18244 - 11904: 0x874D, - 18254 - 11904: 0x9E7A, - 18255 - 11904: 0x8757, - 18300 - 11904: 0x9BEE, - 18328 - 11904: 0x99DE, - 18342 - 11904: 0xFAFA, - 18389 - 11904: 0x8A52, - 18413 - 11904: 0x99E1, - 18420 - 11904: 0x8A67, - 18432 - 11904: 0x8BB5, - 18443 - 11904: 0x8AAC, - 18487 - 11904: 0x99E9, - 18525 - 11904: 0xFBCA, - 18545 - 11904: 0x97DE, - 18587 - 11904: 0x95D1, - 18605 - 11904: 0x99F5, - 18606 - 11904: 0xFC4A, - 18640 - 11904: 0x9BA9, - 18653 - 11904: 0xFBDC, - 18669 - 11904: 0xFE56, - 18675 - 11904: 0x9EA4, - 18682 - 11904: 0x9D49, - 18694 - 11904: 0x95DB, - 18705 - 11904: 0x89C5, - 18718 - 11904: 0x99F8, - 18725 - 11904: 0x9664, - 18730 - 11904: 0x9055, - 18733 - 11904: 0x96D4, - 18735 - 11904: 0x87C4, - 18736 - 11904: 0x87AE, - 18741 - 11904: 0x977C, - 18748 - 11904: 0x964D, - 18750 - 11904: 0x97E1, - 18757 - 11904: 0x9A48, - 18769 - 11904: 0x9A49, - 18771 - 11904: 0xFE7D, - 18789 - 11904: 0x90AA, - 18794 - 11904: 0x9A50, - 18802 - 11904: 0x9347, - 18825 - 11904: 0x8ED8, - 18849 - 11904: 0x90C9, - 18855 - 11904: 0x9A55, - 18911 - 11904: 0x90BC, - 18917 - 11904: 0x9A58, - 18919 - 11904: 0x8BB8, - 18959 - 11904: 0x90D5, - 18973 - 11904: 0x9641, - 18980 - 11904: 0x9A5A, - 18997 - 11904: 0x9A5C, - 19094 - 11904: 0x97C2, - 19108 - 11904: 0x875C, - 19124 - 11904: 0x8ABB, - 19128 - 11904: 0x9BAA, - 19153 - 11904: 0x90F5, - 19172 - 11904: 0x9A60, - 19199 - 11904: 0x9145, - 19216 - 11904: 0x8C58, - 19225 - 11904: 0x9A63, - 19232 - 11904: 0x8C49, - 19244 - 11904: 0x8BB6, - 19255 - 11904: 0xFCCF, - 19311 - 11904: 0x966B, - 19312 - 11904: 0x9A6E, - 19314 - 11904: 0x914F, - 19323 - 11904: 0x9746, - 19326 - 11904: 0xA0E6, - 19342 - 11904: 0x92D7, - 19344 - 11904: 0x9675, - 19347 - 11904: 0x93D4, - 19350 - 11904: 0x91BB, - 19351 - 11904: 0x9679, - 19357 - 11904: 0x9A70, - 19389 - 11904: 0x9678, - 19390 - 11904: 0x91CD, - 19392 - 11904: 0x9C4A, - 19460 - 11904: 0xA06F, - 19463 - 11904: 0xA06A, - 19470 - 11904: 0x915F, - 19506 - 11904: 0x8741, - 19515 - 11904: 0x9FA5, - 19518 - 11904: 0x89BA, - 19520 - 11904: 0x874F, - 19527 - 11904: 0x874E, - 19543 - 11904: 0x8755, - 19547 - 11904: 0x9ECD, - 19565 - 11904: 0x9A79, - 19575 - 11904: 0x8CF2, - 19579 - 11904: 0x8D57, - 19581 - 11904: 0x9DCE, - 19585 - 11904: 0x8CD2, - 19589 - 11904: 0x8759, - 19620 - 11904: 0x9D73, - 19630 - 11904: 0x96B9, - 19632 - 11904: 0x96BC, - 19639 - 11904: 0x9CD1, - 19661 - 11904: 0x89B7, - 19681 - 11904: 0x9EEE, - 19682 - 11904: 0x8749, - 19693 - 11904: 0xFB43, - 19719 - 11904: 0x875B, - 19721 - 11904: 0x9EC9, - 19728 - 11904: 0xFBD3, - 19764 - 11904: 0x91AE, - 19830 - 11904: 0x8D58, - 19831 - 11904: 0x8746, - 19849 - 11904: 0x8D56, - 19857 - 11904: 0x9D78, - 19868 - 11904: 0x9D7B, - 19968 - 11904: 0xA440, - 19969 - 11904: 0xA442, - 19971 - 11904: 0xA443, - 19972 - 11904: 0x9EB3, - 19975 - 11904: 0xC945, - 19976 - 11904: 0xA456, - 19977 - 11904: 0xA454, - 19978 - 11904: 0xA457, - 19979 - 11904: 0xA455, - 19980 - 11904: 0xC946, - 19981 - 11904: 0xA4A3, - 19982 - 11904: 0xC94F, - 19983 - 11904: 0xC94D, - 19984 - 11904: 0xA4A2, - 19985 - 11904: 0xA4A1, - 19988 - 11904: 0xA542, - 19989 - 11904: 0xA541, - 19990 - 11904: 0xA540, - 19992 - 11904: 0xA543, - 19993 - 11904: 0xA4FE, - 19994 - 11904: 0x9EB2, - 19996 - 11904: 0x9DD6, - 19998 - 11904: 0xA5E0, - 19999 - 11904: 0xA5E1, - 20001 - 11904: 0x994F, - 20004 - 11904: 0x89CE, - 20006 - 11904: 0xA8C3, - 20008 - 11904: 0x8BC0, - 20010 - 11904: 0x9FC4, - 20011 - 11904: 0xA458, - 20012 - 11904: 0x8BD4, - 20013 - 11904: 0xA4A4, - 20014 - 11904: 0xC950, - 20015 - 11904: 0x8C72, - 20016 - 11904: 0xA4A5, - 20017 - 11904: 0xC963, - 20018 - 11904: 0xA6EA, - 20019 - 11904: 0xCBB1, - 20022 - 11904: 0xC6BF, - 20023 - 11904: 0x8BF9, - 20024 - 11904: 0xA459, - 20025 - 11904: 0xA4A6, - 20027 - 11904: 0xA544, - 20028 - 11904: 0xC964, - 20029 - 11904: 0x8946, - 20031 - 11904: 0xC6C0, - 20034 - 11904: 0xC940, - 20035 - 11904: 0xA444, - 20037 - 11904: 0xA45B, - 20039 - 11904: 0xC947, - 20040 - 11904: 0xA45C, - 20041 - 11904: 0xFAE5, - 20043 - 11904: 0xA4A7, - 20045 - 11904: 0xA545, - 20046 - 11904: 0xA547, - 20047 - 11904: 0xA546, - 20050 - 11904: 0xA5E2, - 20051 - 11904: 0xA5E3, - 20054 - 11904: 0xA8C4, - 20056 - 11904: 0xADBC, - 20057 - 11904: 0xA441, - 20058 - 11904: 0xC87B, - 20059 - 11904: 0x8BC6, - 20060 - 11904: 0xC941, - 20061 - 11904: 0xA445, - 20062 - 11904: 0xA45E, - 20063 - 11904: 0xA45D, - 20073 - 11904: 0xA5E4, - 20074 - 11904: 0x9C57, - 20083 - 11904: 0xA8C5, - 20088 - 11904: 0x9AFB, - 20094 - 11904: 0xB0AE, - 20095 - 11904: 0xD44B, - 20096 - 11904: 0x89D0, - 20097 - 11904: 0x89CF, - 20098 - 11904: 0xB6C3, - 20099 - 11904: 0xDCB1, - 20100 - 11904: 0xDCB2, - 20101 - 11904: 0xC6C1, - 20102 - 11904: 0xA446, - 20103 - 11904: 0x89D1, - 20104 - 11904: 0xA4A9, - 20105 - 11904: 0x89E2, - 20107 - 11904: 0xA8C6, - 20108 - 11904: 0xA447, - 20109 - 11904: 0xC948, - 20110 - 11904: 0xA45F, - 20113 - 11904: 0xA4AA, - 20114 - 11904: 0xA4AC, - 20115 - 11904: 0xC951, - 20116 - 11904: 0xA4AD, - 20117 - 11904: 0xA4AB, - 20120 - 11904: 0x927E, - 20121 - 11904: 0xA5E5, - 20122 - 11904: 0x9DBA, - 20123 - 11904: 0xA8C7, - 20126 - 11904: 0xA8C8, - 20127 - 11904: 0xAB45, - 20128 - 11904: 0xC6C2, - 20129 - 11904: 0xA460, - 20130 - 11904: 0xA4AE, - 20131 - 11904: 0x8C6F, - 20132 - 11904: 0xA5E6, - 20133 - 11904: 0xA5E8, - 20134 - 11904: 0xA5E7, - 20136 - 11904: 0xA6EB, - 20139 - 11904: 0xA8C9, - 20140 - 11904: 0xA8CA, - 20141 - 11904: 0xAB46, - 20142 - 11904: 0xAB47, - 20147 - 11904: 0xADBD, - 20150 - 11904: 0xDCB3, - 20151 - 11904: 0xFBF8, - 20153 - 11904: 0xF6D6, - 20154 - 11904: 0xA448, - 20155 - 11904: 0x8BC7, - 20156 - 11904: 0x926B, - 20159 - 11904: 0x89D2, - 20160 - 11904: 0xA4B0, - 20161 - 11904: 0xA4AF, - 20162 - 11904: 0xC952, - 20163 - 11904: 0xA4B1, - 20164 - 11904: 0xA4B7, - 20166 - 11904: 0xA4B2, - 20167 - 11904: 0xA4B3, - 20168 - 11904: 0xC954, - 20169 - 11904: 0xC953, - 20170 - 11904: 0xA4B5, - 20171 - 11904: 0xA4B6, - 20173 - 11904: 0xA4B4, - 20174 - 11904: 0x9FCF, - 20180 - 11904: 0xA54A, - 20181 - 11904: 0xA54B, - 20182 - 11904: 0xA54C, - 20183 - 11904: 0xA54D, - 20184 - 11904: 0xA549, - 20185 - 11904: 0xA550, - 20186 - 11904: 0xC96A, - 20188 - 11904: 0xC966, - 20189 - 11904: 0xC969, - 20190 - 11904: 0xA551, - 20191 - 11904: 0xA561, - 20193 - 11904: 0xC968, - 20195 - 11904: 0xA54E, - 20196 - 11904: 0xA54F, - 20197 - 11904: 0xA548, - 20200 - 11904: 0xC965, - 20201 - 11904: 0xC967, - 20202 - 11904: 0x9DA9, - 20203 - 11904: 0x89D3, - 20206 - 11904: 0x99E2, - 20208 - 11904: 0xA5F5, - 20209 - 11904: 0xC9B0, - 20210 - 11904: 0xA5F2, - 20211 - 11904: 0xA5F6, - 20212 - 11904: 0xC9BA, - 20213 - 11904: 0xC9AE, - 20214 - 11904: 0xA5F3, - 20215 - 11904: 0xC9B2, - 20216 - 11904: 0x9267, - 20219 - 11904: 0xA5F4, - 20221 - 11904: 0xA5F7, - 20223 - 11904: 0xA5E9, - 20224 - 11904: 0xC9B1, - 20225 - 11904: 0xA5F8, - 20226 - 11904: 0xC9B5, - 20227 - 11904: 0x92A4, - 20228 - 11904: 0xC9B9, - 20229 - 11904: 0xC9B6, - 20232 - 11904: 0xC9B3, - 20233 - 11904: 0xA5EA, - 20234 - 11904: 0xA5EC, - 20235 - 11904: 0xA5F9, - 20237 - 11904: 0xA5EE, - 20238 - 11904: 0xC9AB, - 20239 - 11904: 0xA5F1, - 20240 - 11904: 0xA5EF, - 20241 - 11904: 0xA5F0, - 20242 - 11904: 0xC9BB, - 20243 - 11904: 0xC9B8, - 20244 - 11904: 0xC9AF, - 20245 - 11904: 0xA5ED, - 20247 - 11904: 0x8C73, - 20248 - 11904: 0xC9AC, - 20249 - 11904: 0xA5EB, - 20250 - 11904: 0x894E, - 20253 - 11904: 0xC9B4, - 20258 - 11904: 0xC9B7, - 20264 - 11904: 0x894F, - 20265 - 11904: 0x9278, - 20268 - 11904: 0xC9AD, - 20269 - 11904: 0xCA66, - 20271 - 11904: 0xA742, - 20272 - 11904: 0xA6F4, - 20274 - 11904: 0x91B6, - 20275 - 11904: 0xCA67, - 20276 - 11904: 0xA6F1, - 20278 - 11904: 0xA744, - 20279 - 11904: 0x89D4, - 20280 - 11904: 0xA6F9, - 20281 - 11904: 0x9FD2, - 20282 - 11904: 0xA6F8, - 20283 - 11904: 0xCA5B, - 20284 - 11904: 0xA6FC, - 20285 - 11904: 0xA6F7, - 20286 - 11904: 0xCA60, - 20287 - 11904: 0xCA68, - 20289 - 11904: 0xCA64, - 20290 - 11904: 0x92A7, - 20291 - 11904: 0xA6FA, - 20293 - 11904: 0x95A2, - 20294 - 11904: 0xA6FD, - 20295 - 11904: 0xA6EE, - 20296 - 11904: 0xA747, - 20297 - 11904: 0xCA5D, - 20299 - 11904: 0x926E, - 20300 - 11904: 0xCBBD, - 20301 - 11904: 0xA6EC, - 20302 - 11904: 0xA743, - 20303 - 11904: 0xA6ED, - 20304 - 11904: 0xA6F5, - 20305 - 11904: 0xA6F6, - 20306 - 11904: 0xCA62, - 20307 - 11904: 0xCA5E, - 20308 - 11904: 0xA6FB, - 20309 - 11904: 0xA6F3, - 20310 - 11904: 0xCA5A, - 20311 - 11904: 0xA6EF, - 20312 - 11904: 0xCA65, - 20313 - 11904: 0xA745, - 20314 - 11904: 0xA748, - 20315 - 11904: 0xA6F2, - 20316 - 11904: 0xA740, - 20317 - 11904: 0xA746, - 20318 - 11904: 0xA6F0, - 20319 - 11904: 0xCA63, - 20320 - 11904: 0xA741, - 20321 - 11904: 0xCA69, - 20322 - 11904: 0xCA5C, - 20323 - 11904: 0xA6FE, - 20324 - 11904: 0xCA5F, - 20327 - 11904: 0xCA61, - 20329 - 11904: 0xA8D8, - 20330 - 11904: 0xCBBF, - 20331 - 11904: 0xCBCB, - 20332 - 11904: 0xA8D0, - 20334 - 11904: 0xCBCC, - 20335 - 11904: 0xA8CB, - 20336 - 11904: 0xA8D5, - 20338 - 11904: 0x96EA, - 20339 - 11904: 0xA8CE, - 20340 - 11904: 0xCBB9, - 20341 - 11904: 0xA8D6, - 20342 - 11904: 0xCBB8, - 20343 - 11904: 0xCBBC, - 20344 - 11904: 0xCBC3, - 20345 - 11904: 0xCBC1, - 20346 - 11904: 0xA8DE, - 20347 - 11904: 0xA8D9, - 20348 - 11904: 0xCBB3, - 20349 - 11904: 0xCBB5, - 20350 - 11904: 0xA8DB, - 20351 - 11904: 0xA8CF, - 20352 - 11904: 0xCBB6, - 20353 - 11904: 0xCBC2, - 20354 - 11904: 0xCBC9, - 20355 - 11904: 0xA8D4, - 20356 - 11904: 0xCBBB, - 20357 - 11904: 0xCBB4, - 20358 - 11904: 0xA8D3, - 20359 - 11904: 0xCBB7, - 20360 - 11904: 0xA8D7, - 20361 - 11904: 0xCBBA, - 20362 - 11904: 0x926F, - 20363 - 11904: 0xA8D2, - 20365 - 11904: 0xA8CD, - 20367 - 11904: 0xA8DC, - 20368 - 11904: 0xCBC4, - 20369 - 11904: 0xA8DD, - 20370 - 11904: 0xCBC8, - 20372 - 11904: 0xCBC6, - 20373 - 11904: 0xCBCA, - 20374 - 11904: 0xA8DA, - 20375 - 11904: 0xCBBE, - 20376 - 11904: 0xCBB2, - 20378 - 11904: 0xCBC0, - 20379 - 11904: 0xA8D1, - 20380 - 11904: 0xCBC5, - 20381 - 11904: 0xA8CC, - 20382 - 11904: 0xCBC7, - 20386 - 11904: 0x92A3, - 20392 - 11904: 0x8950, - 20395 - 11904: 0xFA57, - 20398 - 11904: 0xAB56, - 20399 - 11904: 0xAB4A, - 20400 - 11904: 0x9866, - 20402 - 11904: 0xCDE0, - 20403 - 11904: 0xCDE8, - 20404 - 11904: 0x8CF8, - 20405 - 11904: 0xAB49, - 20406 - 11904: 0xAB51, - 20407 - 11904: 0xAB5D, - 20409 - 11904: 0xCDEE, - 20410 - 11904: 0xCDEC, - 20411 - 11904: 0xCDE7, - 20413 - 11904: 0x89D6, - 20415 - 11904: 0xAB4B, - 20416 - 11904: 0xCDED, - 20417 - 11904: 0xCDE3, - 20418 - 11904: 0xAB59, - 20419 - 11904: 0xAB50, - 20420 - 11904: 0xAB58, - 20421 - 11904: 0xCDDE, - 20423 - 11904: 0xCDEA, - 20424 - 11904: 0x98B2, - 20425 - 11904: 0xCDE1, - 20426 - 11904: 0xAB54, - 20427 - 11904: 0xCDE2, - 20428 - 11904: 0x92AB, - 20429 - 11904: 0xCDDD, - 20430 - 11904: 0xAB5B, - 20431 - 11904: 0xAB4E, - 20432 - 11904: 0xAB57, - 20433 - 11904: 0xAB4D, - 20435 - 11904: 0xCDDF, - 20436 - 11904: 0xCDE4, - 20438 - 11904: 0xCDEB, - 20439 - 11904: 0xAB55, - 20440 - 11904: 0xAB52, - 20441 - 11904: 0xCDE6, - 20442 - 11904: 0xAB5A, - 20443 - 11904: 0xCDE9, - 20444 - 11904: 0xCDE5, - 20445 - 11904: 0xAB4F, - 20446 - 11904: 0xAB5C, - 20447 - 11904: 0xAB53, - 20448 - 11904: 0xAB4C, - 20449 - 11904: 0xAB48, - 20452 - 11904: 0x96DE, - 20453 - 11904: 0x92AC, - 20460 - 11904: 0xCDEF, - 20462 - 11904: 0xADD7, - 20463 - 11904: 0xADC1, - 20464 - 11904: 0x8C70, - 20465 - 11904: 0xADD1, - 20466 - 11904: 0x9F6E, - 20467 - 11904: 0xADD6, - 20468 - 11904: 0xD0D0, - 20469 - 11904: 0xD0CF, - 20470 - 11904: 0xD0D4, - 20471 - 11904: 0xD0D5, - 20472 - 11904: 0xADC4, - 20473 - 11904: 0x8EF2, - 20474 - 11904: 0xADCD, - 20477 - 11904: 0x9F6C, - 20478 - 11904: 0xADDA, - 20480 - 11904: 0xADCE, - 20483 - 11904: 0x89D8, - 20485 - 11904: 0xD0C9, - 20486 - 11904: 0xADC7, - 20487 - 11904: 0xD0CA, - 20488 - 11904: 0xFA59, - 20489 - 11904: 0xADDC, - 20491 - 11904: 0xADD3, - 20492 - 11904: 0xADBE, - 20493 - 11904: 0xADBF, - 20494 - 11904: 0xD0DD, - 20495 - 11904: 0xB0BF, - 20497 - 11904: 0xADCC, - 20498 - 11904: 0xADCB, - 20499 - 11904: 0xD0CB, - 20500 - 11904: 0xADCF, - 20501 - 11904: 0xD45B, - 20502 - 11904: 0xADC6, - 20503 - 11904: 0xD0D6, - 20504 - 11904: 0xADD5, - 20505 - 11904: 0xADD4, - 20506 - 11904: 0xADCA, - 20507 - 11904: 0xD0CE, - 20508 - 11904: 0xD0D7, - 20510 - 11904: 0xD0C8, - 20511 - 11904: 0xADC9, - 20512 - 11904: 0xD0D8, - 20513 - 11904: 0xADD2, - 20514 - 11904: 0xD0CC, - 20515 - 11904: 0xADC0, - 20517 - 11904: 0xADC3, - 20518 - 11904: 0xADC2, - 20519 - 11904: 0xD0D9, - 20520 - 11904: 0xADD0, - 20521 - 11904: 0xFA5F, - 20522 - 11904: 0xADD9, - 20523 - 11904: 0xADDB, - 20524 - 11904: 0xD0D3, - 20525 - 11904: 0xADD8, - 20526 - 11904: 0x92A8, - 20527 - 11904: 0xD0DB, - 20528 - 11904: 0xD0CD, - 20529 - 11904: 0xD0DC, - 20531 - 11904: 0xD0D1, - 20532 - 11904: 0x9163, - 20533 - 11904: 0xD0DA, - 20535 - 11904: 0xD0D2, - 20539 - 11904: 0x8C40, - 20540 - 11904: 0xADC8, - 20544 - 11904: 0xD463, - 20545 - 11904: 0xD457, - 20547 - 11904: 0xB0B3, - 20549 - 11904: 0xD45C, - 20550 - 11904: 0xD462, - 20551 - 11904: 0xB0B2, - 20552 - 11904: 0xD455, - 20553 - 11904: 0xB0B6, - 20554 - 11904: 0xD459, - 20555 - 11904: 0xD452, - 20556 - 11904: 0xB0B4, - 20557 - 11904: 0xD456, - 20558 - 11904: 0xB0B9, - 20559 - 11904: 0xB0BE, - 20561 - 11904: 0xD467, - 20563 - 11904: 0xD451, - 20565 - 11904: 0xB0BA, - 20566 - 11904: 0x9F73, - 20567 - 11904: 0xD466, - 20568 - 11904: 0x92AD, - 20570 - 11904: 0xB0B5, - 20571 - 11904: 0xD458, - 20572 - 11904: 0xB0B1, - 20573 - 11904: 0xD453, - 20574 - 11904: 0xD44F, - 20575 - 11904: 0xD45D, - 20576 - 11904: 0xD450, - 20577 - 11904: 0xD44E, - 20578 - 11904: 0xD45A, - 20579 - 11904: 0xD460, - 20580 - 11904: 0xD461, - 20581 - 11904: 0xB0B7, - 20582 - 11904: 0x9BE9, - 20584 - 11904: 0xD85B, - 20585 - 11904: 0xD45E, - 20586 - 11904: 0xD44D, - 20587 - 11904: 0xD45F, - 20588 - 11904: 0x92A9, - 20589 - 11904: 0xB0C1, - 20590 - 11904: 0xD464, - 20591 - 11904: 0xB0C0, - 20592 - 11904: 0xD44C, - 20594 - 11904: 0xD454, - 20595 - 11904: 0xD465, - 20596 - 11904: 0xB0BC, - 20597 - 11904: 0xB0BB, - 20598 - 11904: 0xB0B8, - 20599 - 11904: 0xB0BD, - 20602 - 11904: 0xB0AF, - 20605 - 11904: 0xFA66, - 20608 - 11904: 0xB3C8, - 20609 - 11904: 0x92AA, - 20610 - 11904: 0xD85E, - 20611 - 11904: 0xD857, - 20613 - 11904: 0xB3C5, - 20615 - 11904: 0xD85F, - 20616 - 11904: 0x89D9, - 20619 - 11904: 0xD855, - 20620 - 11904: 0xD858, - 20621 - 11904: 0xB3C4, - 20622 - 11904: 0xD859, - 20624 - 11904: 0xFD56, - 20625 - 11904: 0xB3C7, - 20626 - 11904: 0xD85D, - 20628 - 11904: 0xD853, - 20629 - 11904: 0xD852, - 20630 - 11904: 0xB3C9, - 20632 - 11904: 0xB3CA, - 20633 - 11904: 0xB3C6, - 20634 - 11904: 0xB3CB, - 20635 - 11904: 0xD851, - 20636 - 11904: 0xD85C, - 20637 - 11904: 0xD85A, - 20638 - 11904: 0xD854, - 20642 - 11904: 0xB3C3, - 20643 - 11904: 0xD856, - 20646 - 11904: 0x9FA8, - 20652 - 11904: 0xB6CA, - 20653 - 11904: 0xB6C4, - 20654 - 11904: 0xDCB7, - 20655 - 11904: 0xB6CD, - 20656 - 11904: 0xDCBD, - 20657 - 11904: 0xDCC0, - 20658 - 11904: 0xB6C6, - 20659 - 11904: 0xB6C7, - 20660 - 11904: 0xDCBA, - 20661 - 11904: 0xB6C5, - 20662 - 11904: 0xDCC3, - 20663 - 11904: 0xB6CB, - 20664 - 11904: 0xDCC4, - 20666 - 11904: 0xDCBF, - 20667 - 11904: 0xB6CC, - 20668 - 11904: 0x8C71, - 20669 - 11904: 0xDCB4, - 20670 - 11904: 0xB6C9, - 20671 - 11904: 0xDCB5, - 20673 - 11904: 0xDCBE, - 20674 - 11904: 0xDCBC, - 20676 - 11904: 0xDCB8, - 20677 - 11904: 0xB6C8, - 20678 - 11904: 0xDCB6, - 20679 - 11904: 0xB6CE, - 20680 - 11904: 0xDCBB, - 20681 - 11904: 0xDCC2, - 20682 - 11904: 0xDCB9, - 20683 - 11904: 0xDCC1, - 20685 - 11904: 0x92A1, - 20686 - 11904: 0xB9B6, - 20687 - 11904: 0xB9B3, - 20688 - 11904: 0x90E3, - 20689 - 11904: 0xB9B4, - 20691 - 11904: 0xE0F9, - 20692 - 11904: 0xE0F1, - 20693 - 11904: 0xB9B2, - 20694 - 11904: 0xB9AF, - 20695 - 11904: 0xE0F2, - 20697 - 11904: 0xA0A6, - 20698 - 11904: 0xB9B1, - 20699 - 11904: 0xE0F5, - 20701 - 11904: 0xE0F7, - 20703 - 11904: 0x94AB, - 20704 - 11904: 0xE0FE, - 20705 - 11904: 0xFC72, - 20707 - 11904: 0xE0FD, - 20708 - 11904: 0xE0F8, - 20709 - 11904: 0xB9AE, - 20710 - 11904: 0xE0F0, - 20711 - 11904: 0xB9AC, - 20712 - 11904: 0xE0F3, - 20713 - 11904: 0xB9B7, - 20714 - 11904: 0xE0F6, - 20716 - 11904: 0xE0FA, - 20717 - 11904: 0xB9B0, - 20718 - 11904: 0xB9AD, - 20719 - 11904: 0xE0FC, - 20720 - 11904: 0xE0FB, - 20721 - 11904: 0xB9B5, - 20723 - 11904: 0xE0F4, - 20724 - 11904: 0x97C4, - 20725 - 11904: 0xBBF8, - 20726 - 11904: 0xE4EC, - 20728 - 11904: 0xE4E9, - 20729 - 11904: 0xBBF9, - 20731 - 11904: 0xBBF7, - 20732 - 11904: 0x92AE, - 20733 - 11904: 0xE4F0, - 20734 - 11904: 0xE4ED, - 20735 - 11904: 0xE4E6, - 20736 - 11904: 0xBBF6, - 20737 - 11904: 0xFA67, - 20738 - 11904: 0xBBFA, - 20739 - 11904: 0xE4E7, - 20740 - 11904: 0xBBF5, - 20741 - 11904: 0xBBFD, - 20742 - 11904: 0xE4EA, - 20743 - 11904: 0xE4EB, - 20744 - 11904: 0xBBFB, - 20745 - 11904: 0xBBFC, - 20746 - 11904: 0xE4F1, - 20747 - 11904: 0xE4EE, - 20748 - 11904: 0xE4EF, - 20749 - 11904: 0x92A2, - 20750 - 11904: 0xFA69, - 20752 - 11904: 0xBEAA, - 20753 - 11904: 0xE8F8, - 20754 - 11904: 0xBEA7, - 20755 - 11904: 0xE8F5, - 20756 - 11904: 0xBEA9, - 20757 - 11904: 0xBEAB, - 20759 - 11904: 0xE8F6, - 20760 - 11904: 0xBEA8, - 20762 - 11904: 0xE8F7, - 20764 - 11904: 0xE8F4, - 20767 - 11904: 0xC076, - 20768 - 11904: 0xECBD, - 20769 - 11904: 0xC077, - 20770 - 11904: 0xECBB, - 20772 - 11904: 0xECBC, - 20773 - 11904: 0xECBA, - 20774 - 11904: 0xECB9, - 20777 - 11904: 0xECBE, - 20778 - 11904: 0xC075, - 20779 - 11904: 0x9268, - 20781 - 11904: 0xEFB8, - 20782 - 11904: 0xEFB9, - 20784 - 11904: 0xE4E8, - 20785 - 11904: 0xEFB7, - 20786 - 11904: 0xC078, - 20787 - 11904: 0xC35F, - 20788 - 11904: 0xF1EB, - 20789 - 11904: 0xF1EC, - 20791 - 11904: 0xC4D7, - 20792 - 11904: 0xC4D8, - 20793 - 11904: 0xF5C1, - 20794 - 11904: 0xF5C0, - 20795 - 11904: 0xC56C, - 20796 - 11904: 0xC56B, - 20797 - 11904: 0xF7D0, - 20799 - 11904: 0xA449, - 20800 - 11904: 0xA461, - 20801 - 11904: 0xA4B9, - 20803 - 11904: 0xA4B8, - 20804 - 11904: 0xA553, - 20805 - 11904: 0xA552, - 20806 - 11904: 0xA5FC, - 20807 - 11904: 0xA5FB, - 20808 - 11904: 0xA5FD, - 20809 - 11904: 0xA5FA, - 20811 - 11904: 0xA74A, - 20812 - 11904: 0xA749, - 20813 - 11904: 0xA74B, - 20818 - 11904: 0xA8E0, - 20820 - 11904: 0xA8DF, - 20821 - 11904: 0xA8E1, - 20822 - 11904: 0x8951, - 20823 - 11904: 0xAB5E, - 20825 - 11904: 0xA259, - 20826 - 11904: 0xD0DE, - 20827 - 11904: 0xA25A, - 20828 - 11904: 0xB0C2, - 20829 - 11904: 0xA25C, - 20830 - 11904: 0xA25B, - 20831 - 11904: 0xD860, - 20832 - 11904: 0xFA6F, - 20833 - 11904: 0xA25D, - 20834 - 11904: 0xB9B8, - 20835 - 11904: 0xA25E, - 20837 - 11904: 0xA44A, - 20839 - 11904: 0xA4BA, - 20840 - 11904: 0xA5FE, - 20841 - 11904: 0xA8E2, - 20842 - 11904: 0xFA71, - 20843 - 11904: 0xA44B, - 20844 - 11904: 0xA4BD, - 20845 - 11904: 0xA4BB, - 20846 - 11904: 0xA4BC, - 20849 - 11904: 0xA640, - 20852 - 11904: 0x8952, - 20853 - 11904: 0xA74C, - 20854 - 11904: 0xA8E4, - 20855 - 11904: 0xA8E3, - 20856 - 11904: 0xA8E5, - 20857 - 11904: 0x945A, - 20860 - 11904: 0xADDD, - 20864 - 11904: 0xBEAC, - 20866 - 11904: 0xC6C3, - 20870 - 11904: 0x89DD, - 20871 - 11904: 0xC94E, - 20872 - 11904: 0xC8A2, - 20873 - 11904: 0xA554, - 20874 - 11904: 0xA555, - 20877 - 11904: 0xA641, - 20879 - 11904: 0xCA6A, - 20881 - 11904: 0xAB60, - 20882 - 11904: 0xAB5F, - 20883 - 11904: 0xD0E0, - 20884 - 11904: 0xD0DF, - 20885 - 11904: 0xB0C3, - 20886 - 11904: 0xC6C4, - 20887 - 11904: 0xA4BE, - 20888 - 11904: 0xC955, - 20890 - 11904: 0x9E52, - 20892 - 11904: 0x8953, - 20894 - 11904: 0xCBCD, - 20896 - 11904: 0xAB61, - 20898 - 11904: 0xADE0, - 20900 - 11904: 0xADDE, - 20901 - 11904: 0xADDF, - 20903 - 11904: 0x9E55, - 20904 - 11904: 0x92BA, - 20906 - 11904: 0xBEAD, - 20907 - 11904: 0xC6C5, - 20908 - 11904: 0xA556, - 20910 - 11904: 0x8C5B, - 20912 - 11904: 0xA642, - 20913 - 11904: 0xC9BC, - 20914 - 11904: 0xFA7D, - 20915 - 11904: 0xFAA8, - 20916 - 11904: 0x9A68, - 20917 - 11904: 0xFA47, - 20918 - 11904: 0xA74D, - 20919 - 11904: 0xA74E, - 20920 - 11904: 0xFA7E, - 20921 - 11904: 0xCA6B, - 20924 - 11904: 0xCBCE, - 20925 - 11904: 0xA8E6, - 20926 - 11904: 0xCBCF, - 20931 - 11904: 0x92BB, - 20932 - 11904: 0xD0E2, - 20933 - 11904: 0xD0E3, - 20934 - 11904: 0xADE3, - 20935 - 11904: 0xFDB6, - 20936 - 11904: 0xD0E4, - 20937 - 11904: 0xFAA2, - 20938 - 11904: 0xD0E1, - 20939 - 11904: 0xADE4, - 20940 - 11904: 0xADE2, - 20941 - 11904: 0xADE1, - 20942 - 11904: 0xD0E5, - 20943 - 11904: 0xFAA3, - 20944 - 11904: 0xD468, - 20945 - 11904: 0xFAA4, - 20946 - 11904: 0x9BB4, - 20947 - 11904: 0xFAA6, - 20948 - 11904: 0xD861, - 20951 - 11904: 0xDCC5, - 20952 - 11904: 0xE140, - 20955 - 11904: 0x89DF, - 20956 - 11904: 0xBBFE, - 20957 - 11904: 0xBEAE, - 20958 - 11904: 0xE8F9, - 20959 - 11904: 0xFDDB, - 20960 - 11904: 0xA44C, - 20961 - 11904: 0xA45A, - 20962 - 11904: 0xFAA9, - 20964 - 11904: 0x8954, - 20973 - 11904: 0xFAAB, - 20976 - 11904: 0xB0C4, - 20977 - 11904: 0xB3CD, - 20979 - 11904: 0xB9B9, - 20980 - 11904: 0xFC7A, - 20981 - 11904: 0xC942, - 20982 - 11904: 0xA4BF, - 20984 - 11904: 0xA559, - 20985 - 11904: 0xA557, - 20986 - 11904: 0xA558, - 20988 - 11904: 0x89E0, - 20989 - 11904: 0xA8E7, - 20990 - 11904: 0x9F4F, - 20992 - 11904: 0xA44D, - 20993 - 11904: 0xA44E, - 20994 - 11904: 0xC87D, - 20995 - 11904: 0xA462, - 20997 - 11904: 0x89E1, - 20998 - 11904: 0xA4C0, - 20999 - 11904: 0xA4C1, - 21000 - 11904: 0xA4C2, - 21001 - 11904: 0xC9BE, - 21002 - 11904: 0xA55A, - 21003 - 11904: 0xFAB0, - 21004 - 11904: 0xC96B, - 21006 - 11904: 0xA646, - 21008 - 11904: 0xC9BF, - 21009 - 11904: 0xA644, - 21010 - 11904: 0xA645, - 21011 - 11904: 0xC9BD, - 21014 - 11904: 0xA647, - 21015 - 11904: 0xA643, - 21020 - 11904: 0xCA6C, - 21021 - 11904: 0xAAEC, - 21022 - 11904: 0xCA6D, - 21023 - 11904: 0x9FCD, - 21024 - 11904: 0xA0E7, - 21025 - 11904: 0xCA6E, - 21028 - 11904: 0xA750, - 21029 - 11904: 0xA74F, - 21030 - 11904: 0xFAB1, - 21031 - 11904: 0x89A6, - 21032 - 11904: 0xA753, - 21033 - 11904: 0xA751, - 21034 - 11904: 0xA752, - 21038 - 11904: 0xA8ED, - 21040 - 11904: 0xA8EC, - 21041 - 11904: 0xCBD4, - 21042 - 11904: 0xCBD1, - 21043 - 11904: 0xCBD2, - 21044 - 11904: 0x9EFA, - 21045 - 11904: 0xCBD0, - 21046 - 11904: 0xA8EE, - 21047 - 11904: 0xA8EA, - 21048 - 11904: 0xA8E9, - 21050 - 11904: 0xA8EB, - 21051 - 11904: 0xA8E8, - 21052 - 11904: 0xFAB2, - 21057 - 11904: 0xA8EF, - 21059 - 11904: 0xAB63, - 21060 - 11904: 0xCDF0, - 21062 - 11904: 0xCBD3, - 21063 - 11904: 0xAB68, - 21065 - 11904: 0xCDF1, - 21066 - 11904: 0xAB64, - 21067 - 11904: 0xAB67, - 21068 - 11904: 0xAB66, - 21069 - 11904: 0xAB65, - 21070 - 11904: 0xAB62, - 21071 - 11904: 0x87BC, - 21074 - 11904: 0xD0E8, - 21076 - 11904: 0xADE7, - 21077 - 11904: 0xD0EB, - 21078 - 11904: 0xADE5, - 21079 - 11904: 0xFAB4, - 21081 - 11904: 0x92C4, - 21082 - 11904: 0xD0E7, - 21083 - 11904: 0xADE8, - 21084 - 11904: 0xADE6, - 21085 - 11904: 0xADE9, - 21086 - 11904: 0xD0E9, - 21087 - 11904: 0xD0EA, - 21088 - 11904: 0x9F6F, - 21089 - 11904: 0xD0E6, - 21090 - 11904: 0xD0EC, - 21096 - 11904: 0x8BB0, - 21097 - 11904: 0xB3D1, - 21098 - 11904: 0xB0C5, - 21099 - 11904: 0xD469, - 21100 - 11904: 0xD46B, - 21101 - 11904: 0xD46A, - 21102 - 11904: 0xD46C, - 21103 - 11904: 0xB0C6, - 21106 - 11904: 0xB3CE, - 21107 - 11904: 0x9FAC, - 21108 - 11904: 0xB3CF, - 21109 - 11904: 0xB3D0, - 21111 - 11904: 0xB6D0, - 21112 - 11904: 0xDCC7, - 21113 - 11904: 0x89E3, - 21114 - 11904: 0xDCC6, - 21115 - 11904: 0xDCC8, - 21116 - 11904: 0xDCC9, - 21117 - 11904: 0xB6D1, - 21119 - 11904: 0xB6CF, - 21120 - 11904: 0xE141, - 21121 - 11904: 0xE142, - 21122 - 11904: 0xB9BB, - 21123 - 11904: 0xB9BA, - 21124 - 11904: 0xE35A, - 21127 - 11904: 0xBC40, - 21128 - 11904: 0xBC41, - 21129 - 11904: 0xBC42, - 21130 - 11904: 0xBC44, - 21131 - 11904: 0xE4F2, - 21132 - 11904: 0xE4F3, - 21133 - 11904: 0xBC43, - 21135 - 11904: 0x9BD3, - 21136 - 11904: 0x89E4, - 21137 - 11904: 0xBEAF, - 21139 - 11904: 0xBEB0, - 21140 - 11904: 0xFAB5, - 21142 - 11904: 0xF1ED, - 21143 - 11904: 0xF5C3, - 21144 - 11904: 0xF5C2, - 21145 - 11904: 0xF7D1, - 21146 - 11904: 0x9FD5, - 21147 - 11904: 0xA44F, - 21151 - 11904: 0xA55C, - 21152 - 11904: 0xA55B, - 21153 - 11904: 0x8955, - 21155 - 11904: 0xA648, - 21156 - 11904: 0x92C5, - 21158 - 11904: 0xC9C0, - 21160 - 11904: 0x8956, - 21161 - 11904: 0xA755, - 21162 - 11904: 0xA756, - 21163 - 11904: 0xA754, - 21164 - 11904: 0xA757, - 21165 - 11904: 0xCA6F, - 21166 - 11904: 0xCA70, - 21173 - 11904: 0xFAB3, - 21177 - 11904: 0xFAB6, - 21179 - 11904: 0xA8F1, - 21180 - 11904: 0xCBD5, - 21182 - 11904: 0xA8F0, - 21184 - 11904: 0xCDF2, - 21185 - 11904: 0xAB6C, - 21186 - 11904: 0xCDF3, - 21187 - 11904: 0xAB6B, - 21189 - 11904: 0xFAB7, - 21191 - 11904: 0xAB69, - 21193 - 11904: 0xAB6A, - 21196 - 11904: 0x9EDC, - 21197 - 11904: 0xD0ED, - 21200 - 11904: 0xFBC4, - 21201 - 11904: 0x9F71, - 21202 - 11904: 0xB0C7, - 21203 - 11904: 0xD46E, - 21205 - 11904: 0xB0CA, - 21206 - 11904: 0xD46D, - 21207 - 11904: 0xB1E5, - 21208 - 11904: 0xB0C9, - 21209 - 11904: 0xB0C8, - 21211 - 11904: 0xB3D4, - 21213 - 11904: 0xB3D3, - 21214 - 11904: 0xB3D2, - 21215 - 11904: 0xB6D2, - 21216 - 11904: 0xFABA, - 21217 - 11904: 0x92C7, - 21218 - 11904: 0xB6D5, - 21219 - 11904: 0xB6D6, - 21220 - 11904: 0xB6D4, - 21222 - 11904: 0xB6D3, - 21225 - 11904: 0xE143, - 21227 - 11904: 0xE144, - 21231 - 11904: 0xE4F5, - 21232 - 11904: 0xBC45, - 21233 - 11904: 0xE4F4, - 21235 - 11904: 0xBEB1, - 21236 - 11904: 0xECBF, - 21237 - 11904: 0xC079, - 21239 - 11904: 0xF1EE, - 21240 - 11904: 0xC455, - 21241 - 11904: 0xC6C6, - 21242 - 11904: 0xA463, - 21243 - 11904: 0xA4C3, - 21244 - 11904: 0xC956, - 21246 - 11904: 0xA4C4, - 21247 - 11904: 0xA4C5, - 21249 - 11904: 0x9A4C, - 21253 - 11904: 0xFABD, - 21254 - 11904: 0xA55E, - 21256 - 11904: 0xA649, - 21257 - 11904: 0xCA71, - 21258 - 11904: 0xCBD6, - 21259 - 11904: 0xCBD7, - 21261 - 11904: 0xAB6D, - 21262 - 11904: 0xD0EE, - 21263 - 11904: 0xB0CC, - 21264 - 11904: 0xB0CB, - 21265 - 11904: 0xD863, - 21266 - 11904: 0xD862, - 21269 - 11904: 0xA450, - 21270 - 11904: 0xA4C6, - 21271 - 11904: 0xA55F, - 21273 - 11904: 0xB0CD, - 21274 - 11904: 0xC943, - 21276 - 11904: 0xC96C, - 21277 - 11904: 0xA560, - 21279 - 11904: 0xC9C2, - 21280 - 11904: 0xA64B, - 21281 - 11904: 0xA64A, - 21282 - 11904: 0xC9C1, - 21283 - 11904: 0xA758, - 21284 - 11904: 0x8C68, - 21287 - 11904: 0x89E5, - 21290 - 11904: 0xADEA, - 21292 - 11904: 0x9F7D, - 21293 - 11904: 0xD46F, - 21295 - 11904: 0xB6D7, - 21296 - 11904: 0xE145, - 21297 - 11904: 0xB9BC, - 21298 - 11904: 0xA0A9, - 21299 - 11904: 0xFAC4, - 21300 - 11904: 0xE8FA, - 21303 - 11904: 0xF3FD, - 21304 - 11904: 0xC6C7, - 21305 - 11904: 0xA4C7, - 21307 - 11904: 0x8957, - 21308 - 11904: 0xCBD8, - 21309 - 11904: 0xCDF4, - 21310 - 11904: 0xB0D0, - 21311 - 11904: 0xB0CE, - 21312 - 11904: 0xB0CF, - 21313 - 11904: 0xA451, - 21314 - 11904: 0xFAAA, - 21315 - 11904: 0xA464, - 21316 - 11904: 0xFAC5, - 21317 - 11904: 0xA4CA, - 21319 - 11904: 0xA4C9, - 21320 - 11904: 0xA4C8, - 21321 - 11904: 0xA563, - 21322 - 11904: 0xA562, - 21324 - 11904: 0xC96D, - 21325 - 11904: 0xC9C3, - 21326 - 11904: 0x8958, - 21329 - 11904: 0xA8F5, - 21330 - 11904: 0xA8F2, - 21331 - 11904: 0xA8F4, - 21332 - 11904: 0xA8F3, - 21335 - 11904: 0xAB6E, - 21338 - 11904: 0xB3D5, - 21340 - 11904: 0xA452, - 21341 - 11904: 0x8BE3, - 21342 - 11904: 0xA4CB, - 21343 - 11904: 0x8B61, - 21344 - 11904: 0xA565, - 21345 - 11904: 0xA564, - 21347 - 11904: 0xCA72, - 21348 - 11904: 0x9AF1, - 21350 - 11904: 0xA8F6, - 21351 - 11904: 0x9EB7, - 21353 - 11904: 0xC6C8, - 21356 - 11904: 0xC957, - 21357 - 11904: 0xFAD1, - 21358 - 11904: 0xA567, - 21359 - 11904: 0xA566, - 21360 - 11904: 0xA64C, - 21361 - 11904: 0xA64D, - 21362 - 11904: 0xCA73, - 21363 - 11904: 0xA759, - 21364 - 11904: 0xFAD2, - 21365 - 11904: 0xA75A, - 21367 - 11904: 0xA8F7, - 21368 - 11904: 0xA8F8, - 21369 - 11904: 0xA8F9, - 21371 - 11904: 0xAB6F, - 21372 - 11904: 0xCDF5, - 21373 - 11904: 0x9EBA, - 21374 - 11904: 0xFAD4, - 21375 - 11904: 0xFAD5, - 21378 - 11904: 0xC944, - 21380 - 11904: 0xA4CC, - 21386 - 11904: 0xC9C4, - 21390 - 11904: 0xCA74, - 21391 - 11904: 0xCA75, - 21394 - 11904: 0xCBD9, - 21395 - 11904: 0xFAD9, - 21396 - 11904: 0xCBDA, - 21398 - 11904: 0xCDF7, - 21399 - 11904: 0xCDF6, - 21400 - 11904: 0xCDF9, - 21401 - 11904: 0xCDF8, - 21402 - 11904: 0xAB70, - 21404 - 11904: 0xD470, - 21405 - 11904: 0xADED, - 21406 - 11904: 0xD0EF, - 21407 - 11904: 0xADEC, - 21408 - 11904: 0xFADB, - 21410 - 11904: 0x9CE0, - 21412 - 11904: 0xD864, - 21413 - 11904: 0xB3D6, - 21414 - 11904: 0xFBF7, - 21415 - 11904: 0xD865, - 21416 - 11904: 0xFBFA, - 21417 - 11904: 0x89E7, - 21418 - 11904: 0xA07A, - 21419 - 11904: 0xFADC, - 21420 - 11904: 0xE146, - 21421 - 11904: 0xB9BD, - 21422 - 11904: 0xFADD, - 21424 - 11904: 0x89E9, - 21426 - 11904: 0xBC46, - 21428 - 11904: 0xF1EF, - 21430 - 11904: 0xC6C9, - 21433 - 11904: 0xC958, - 21435 - 11904: 0xA568, - 21441 - 11904: 0xFAE2, - 21442 - 11904: 0x89EB, - 21443 - 11904: 0xB0D1, - 21445 - 11904: 0xFAE3, - 21448 - 11904: 0xA453, - 21449 - 11904: 0xA465, - 21450 - 11904: 0xA4CE, - 21451 - 11904: 0xA4CD, - 21452 - 11904: 0x90C8, - 21453 - 11904: 0xA4CF, - 21456 - 11904: 0x92DA, - 21457 - 11904: 0x8959, - 21458 - 11904: 0x9CF5, - 21460 - 11904: 0xA8FB, - 21462 - 11904: 0xA8FA, - 21463 - 11904: 0xA8FC, - 21464 - 11904: 0x895A, - 21465 - 11904: 0xFAE7, - 21466 - 11904: 0x9FA2, - 21467 - 11904: 0xAB71, - 21471 - 11904: 0xADEE, - 21472 - 11904: 0xFAEA, - 21473 - 11904: 0xE8FB, - 21474 - 11904: 0xC24F, - 21475 - 11904: 0xA466, - 21476 - 11904: 0xA56A, - 21477 - 11904: 0xA579, - 21478 - 11904: 0xA574, - 21480 - 11904: 0xA56F, - 21481 - 11904: 0xA56E, - 21482 - 11904: 0xA575, - 21483 - 11904: 0xA573, - 21484 - 11904: 0xA56C, - 21485 - 11904: 0xA57A, - 21486 - 11904: 0xA56D, - 21487 - 11904: 0xA569, - 21488 - 11904: 0xA578, - 21489 - 11904: 0xA577, - 21490 - 11904: 0xA576, - 21491 - 11904: 0xA56B, - 21493 - 11904: 0xA572, - 21494 - 11904: 0xFAED, - 21495 - 11904: 0x8FAD, - 21496 - 11904: 0xA571, - 21499 - 11904: 0xA57B, - 21500 - 11904: 0xA570, - 21502 - 11904: 0xFB59, - 21505 - 11904: 0xA653, - 21507 - 11904: 0xA659, - 21508 - 11904: 0xA655, - 21510 - 11904: 0xA65B, - 21511 - 11904: 0xC9C5, - 21512 - 11904: 0xA658, - 21513 - 11904: 0xA64E, - 21514 - 11904: 0xA651, - 21515 - 11904: 0xA654, - 21516 - 11904: 0xA650, - 21517 - 11904: 0xA657, - 21518 - 11904: 0xA65A, - 21519 - 11904: 0xA64F, - 21520 - 11904: 0xA652, - 21521 - 11904: 0xA656, - 21522 - 11904: 0xA65C, - 21523 - 11904: 0xFAEF, - 21524 - 11904: 0x96EF, - 21526 - 11904: 0x9DEC, - 21528 - 11904: 0xCA7E, - 21529 - 11904: 0xCA7B, - 21530 - 11904: 0x9DCA, - 21531 - 11904: 0xA767, - 21532 - 11904: 0xCA7C, - 21533 - 11904: 0xA75B, - 21534 - 11904: 0xA75D, - 21535 - 11904: 0xA775, - 21536 - 11904: 0xA770, - 21537 - 11904: 0xFD6D, - 21539 - 11904: 0x89EC, - 21540 - 11904: 0xCAA5, - 21541 - 11904: 0xCA7D, - 21542 - 11904: 0xA75F, - 21543 - 11904: 0xA761, - 21544 - 11904: 0xCAA4, - 21545 - 11904: 0xA768, - 21546 - 11904: 0xCA78, - 21547 - 11904: 0xA774, - 21548 - 11904: 0xA776, - 21549 - 11904: 0xA75C, - 21550 - 11904: 0xA76D, - 21551 - 11904: 0xFB44, - 21552 - 11904: 0xCA76, - 21553 - 11904: 0xA773, - 21554 - 11904: 0x9DE2, - 21555 - 11904: 0xA764, - 21556 - 11904: 0x8C75, - 21557 - 11904: 0xA76E, - 21558 - 11904: 0xA76F, - 21559 - 11904: 0xCA77, - 21560 - 11904: 0xA76C, - 21561 - 11904: 0xA76A, - 21563 - 11904: 0xA76B, - 21564 - 11904: 0xA771, - 21565 - 11904: 0xCAA1, - 21566 - 11904: 0xA75E, - 21568 - 11904: 0xA772, - 21569 - 11904: 0xCAA3, - 21570 - 11904: 0xA766, - 21571 - 11904: 0xA763, - 21573 - 11904: 0xCA7A, - 21574 - 11904: 0xA762, - 21575 - 11904: 0xCAA6, - 21576 - 11904: 0xA765, - 21578 - 11904: 0xA769, - 21579 - 11904: 0x9EC0, - 21580 - 11904: 0x87C5, - 21581 - 11904: 0x9E56, - 21582 - 11904: 0xA760, - 21583 - 11904: 0xCAA2, - 21588 - 11904: 0xCA79, - 21600 - 11904: 0xCBEB, - 21601 - 11904: 0xCBEA, - 21602 - 11904: 0xA94F, - 21603 - 11904: 0xCBED, - 21604 - 11904: 0xCBEF, - 21605 - 11904: 0xCBE4, - 21606 - 11904: 0xCBE7, - 21607 - 11904: 0xCBEE, - 21608 - 11904: 0xA950, - 21609 - 11904: 0x9F79, - 21610 - 11904: 0x9AC7, - 21611 - 11904: 0xCBE1, - 21612 - 11904: 0xCBE5, - 21613 - 11904: 0xFAF4, - 21615 - 11904: 0xCBE9, - 21616 - 11904: 0xCE49, - 21617 - 11904: 0xA94B, - 21618 - 11904: 0xCE4D, - 21619 - 11904: 0xA8FD, - 21620 - 11904: 0xCBE6, - 21621 - 11904: 0xA8FE, - 21622 - 11904: 0xA94C, - 21623 - 11904: 0xA945, - 21624 - 11904: 0xA941, - 21626 - 11904: 0xCBE2, - 21627 - 11904: 0xA944, - 21628 - 11904: 0xA949, - 21629 - 11904: 0xA952, - 21630 - 11904: 0xCBE3, - 21631 - 11904: 0xCBDC, - 21632 - 11904: 0xA943, - 21633 - 11904: 0xCBDD, - 21634 - 11904: 0xCBDF, - 21636 - 11904: 0xA946, - 21637 - 11904: 0x98A1, - 21638 - 11904: 0xA948, - 21639 - 11904: 0xCBDB, - 21640 - 11904: 0xCBE0, - 21643 - 11904: 0xA951, - 21644 - 11904: 0xA94D, - 21645 - 11904: 0xCBE8, - 21646 - 11904: 0xA953, - 21647 - 11904: 0xFAF8, - 21648 - 11904: 0xA94A, - 21649 - 11904: 0xCBDE, - 21650 - 11904: 0xA947, - 21651 - 11904: 0x89F0, - 21652 - 11904: 0x9E47, - 21653 - 11904: 0xA942, - 21654 - 11904: 0xA940, - 21655 - 11904: 0x9DF7, - 21656 - 11904: 0xCBEC, - 21658 - 11904: 0xA94E, - 21660 - 11904: 0x9FD3, - 21662 - 11904: 0x9ACA, - 21664 - 11904: 0xCE48, - 21665 - 11904: 0xCDFB, - 21666 - 11904: 0xCE4B, - 21667 - 11904: 0x89F1, - 21668 - 11904: 0xFAF9, - 21669 - 11904: 0xCDFD, - 21670 - 11904: 0xAB78, - 21671 - 11904: 0xABA8, - 21672 - 11904: 0xAB74, - 21673 - 11904: 0xABA7, - 21674 - 11904: 0xAB7D, - 21675 - 11904: 0xABA4, - 21676 - 11904: 0xAB72, - 21677 - 11904: 0xCDFC, - 21678 - 11904: 0xCE43, - 21679 - 11904: 0xABA3, - 21680 - 11904: 0xCE4F, - 21681 - 11904: 0xABA5, - 21682 - 11904: 0x8E5A, - 21683 - 11904: 0xAB79, - 21684 - 11904: 0x89F2, - 21686 - 11904: 0xCE45, - 21687 - 11904: 0xCE42, - 21688 - 11904: 0xAB77, - 21689 - 11904: 0x89F3, - 21690 - 11904: 0xCDFA, - 21691 - 11904: 0xABA6, - 21692 - 11904: 0xCE4A, - 21693 - 11904: 0xAB7C, - 21694 - 11904: 0xCE4C, - 21695 - 11904: 0xABA9, - 21696 - 11904: 0xAB73, - 21697 - 11904: 0xAB7E, - 21698 - 11904: 0xAB7B, - 21699 - 11904: 0xCE40, - 21700 - 11904: 0xABA1, - 21701 - 11904: 0xCE46, - 21702 - 11904: 0xCE47, - 21703 - 11904: 0xAB7A, - 21704 - 11904: 0xABA2, - 21705 - 11904: 0xAB76, - 21707 - 11904: 0x925D, - 21708 - 11904: 0x8B51, - 21709 - 11904: 0x92E0, - 21710 - 11904: 0xAB75, - 21711 - 11904: 0xCDFE, - 21712 - 11904: 0x89F4, - 21718 - 11904: 0xCE44, - 21722 - 11904: 0x9FD4, - 21726 - 11904: 0xCE4E, - 21728 - 11904: 0xD144, - 21729 - 11904: 0xADFB, - 21730 - 11904: 0xD0F1, - 21731 - 11904: 0x8A79, - 21732 - 11904: 0xD0F6, - 21733 - 11904: 0xADF4, - 21734 - 11904: 0xAE40, - 21735 - 11904: 0xD0F4, - 21736 - 11904: 0xADEF, - 21737 - 11904: 0xADF9, - 21738 - 11904: 0xADFE, - 21739 - 11904: 0xD0FB, - 21741 - 11904: 0xADFA, - 21742 - 11904: 0xADFD, - 21743 - 11904: 0x89F5, - 21745 - 11904: 0xD0FE, - 21746 - 11904: 0xADF5, - 21747 - 11904: 0xD0F5, - 21751 - 11904: 0xD142, - 21752 - 11904: 0xD143, - 21754 - 11904: 0xADF7, - 21755 - 11904: 0xD141, - 21756 - 11904: 0xADF3, - 21757 - 11904: 0xAE43, - 21759 - 11904: 0xD0F8, - 21761 - 11904: 0xADF1, - 21762 - 11904: 0x97A7, - 21763 - 11904: 0xD146, - 21764 - 11904: 0xD0F9, - 21765 - 11904: 0xD0FD, - 21766 - 11904: 0xADF6, - 21767 - 11904: 0xAE42, - 21768 - 11904: 0xD0FA, - 21769 - 11904: 0xADFC, - 21770 - 11904: 0xD140, - 21771 - 11904: 0xD147, - 21772 - 11904: 0xD4A1, - 21773 - 11904: 0x93BA, - 21774 - 11904: 0xD145, - 21775 - 11904: 0xAE44, - 21776 - 11904: 0xADF0, - 21777 - 11904: 0xD0FC, - 21778 - 11904: 0xD0F3, - 21779 - 11904: 0x9E58, - 21780 - 11904: 0xADF8, - 21783 - 11904: 0xD0F2, - 21784 - 11904: 0x89F6, - 21786 - 11904: 0xD0F7, - 21790 - 11904: 0x9E57, - 21795 - 11904: 0x89F7, - 21797 - 11904: 0x8A41, - 21798 - 11904: 0xD0F0, - 21799 - 11904: 0xAE41, - 21800 - 11904: 0x89F8, - 21802 - 11904: 0xD477, - 21803 - 11904: 0xFAF1, - 21804 - 11904: 0xB0E4, - 21805 - 11904: 0xD4A7, - 21806 - 11904: 0xB0E2, - 21807 - 11904: 0xB0DF, - 21808 - 11904: 0xD47C, - 21809 - 11904: 0xB0DB, - 21810 - 11904: 0xD4A2, - 21811 - 11904: 0xB0E6, - 21812 - 11904: 0xD476, - 21813 - 11904: 0xD47B, - 21814 - 11904: 0xD47A, - 21815 - 11904: 0xADF2, - 21816 - 11904: 0xB0E1, - 21817 - 11904: 0xD4A5, - 21819 - 11904: 0xD4A8, - 21820 - 11904: 0xD473, - 21822 - 11904: 0xB3E8, - 21823 - 11904: 0x89FA, - 21824 - 11904: 0xD4A9, - 21825 - 11904: 0xB0E7, - 21827 - 11904: 0xB0D9, - 21828 - 11904: 0xB0D6, - 21829 - 11904: 0xD47E, - 21830 - 11904: 0xB0D3, - 21831 - 11904: 0xFB42, - 21832 - 11904: 0xD4A6, - 21833 - 11904: 0xFABF, - 21834 - 11904: 0xB0DA, - 21835 - 11904: 0xD4AA, - 21837 - 11904: 0xD474, - 21838 - 11904: 0xD4A4, - 21839 - 11904: 0xB0DD, - 21840 - 11904: 0xD475, - 21841 - 11904: 0xD478, - 21842 - 11904: 0xD47D, - 21843 - 11904: 0xFBA3, - 21845 - 11904: 0xB0DE, - 21846 - 11904: 0xB0DC, - 21847 - 11904: 0xB0E8, - 21852 - 11904: 0xB0E3, - 21853 - 11904: 0xFAF7, - 21854 - 11904: 0xB0D7, - 21855 - 11904: 0xB1D2, - 21857 - 11904: 0xB0D8, - 21858 - 11904: 0xD479, - 21859 - 11904: 0xB0E5, - 21860 - 11904: 0xB0E0, - 21861 - 11904: 0xD4A3, - 21862 - 11904: 0xB0D5, - 21865 - 11904: 0x9E4E, - 21866 - 11904: 0xB0D4, - 21867 - 11904: 0x94DC, - 21873 - 11904: 0x95DA, - 21874 - 11904: 0x9DF8, - 21875 - 11904: 0x9F6A, - 21877 - 11904: 0xD471, - 21878 - 11904: 0xD472, - 21879 - 11904: 0xD86A, - 21881 - 11904: 0x8AB7, - 21883 - 11904: 0xB3D7, - 21884 - 11904: 0xB3DA, - 21885 - 11904: 0xD875, - 21886 - 11904: 0xB3EE, - 21887 - 11904: 0xD878, - 21888 - 11904: 0xB3D8, - 21889 - 11904: 0xD871, - 21890 - 11904: 0xB3DE, - 21891 - 11904: 0xB3E4, - 21892 - 11904: 0xB5BD, - 21894 - 11904: 0xFB46, - 21895 - 11904: 0xB3E2, - 21896 - 11904: 0xD86E, - 21897 - 11904: 0xB3EF, - 21898 - 11904: 0xB3DB, - 21899 - 11904: 0xB3E3, - 21900 - 11904: 0xD876, - 21901 - 11904: 0xDCD7, - 21902 - 11904: 0xD87B, - 21903 - 11904: 0xD86F, - 21904 - 11904: 0x8A46, - 21905 - 11904: 0xD866, - 21906 - 11904: 0xD873, - 21907 - 11904: 0xD86D, - 21908 - 11904: 0xB3E1, - 21909 - 11904: 0xD879, - 21912 - 11904: 0xB3DD, - 21913 - 11904: 0xB3F1, - 21914 - 11904: 0xB3EA, - 21916 - 11904: 0xB3DF, - 21917 - 11904: 0xB3DC, - 21919 - 11904: 0xB3E7, - 21921 - 11904: 0xD87A, - 21922 - 11904: 0xD86C, - 21923 - 11904: 0xD872, - 21924 - 11904: 0xD874, - 21925 - 11904: 0xD868, - 21926 - 11904: 0xD877, - 21927 - 11904: 0xB3D9, - 21928 - 11904: 0xD867, - 21929 - 11904: 0xFB47, - 21930 - 11904: 0xB3E0, - 21931 - 11904: 0xB3F0, - 21932 - 11904: 0xB3EC, - 21933 - 11904: 0xD869, - 21934 - 11904: 0xB3E6, - 21936 - 11904: 0x9148, - 21937 - 11904: 0xB3ED, - 21938 - 11904: 0xB3E9, - 21939 - 11904: 0xB3E5, - 21940 - 11904: 0x92DE, - 21941 - 11904: 0xD870, - 21945 - 11904: 0x8B53, - 21946 - 11904: 0x9DF6, - 21947 - 11904: 0xB3EB, - 21948 - 11904: 0x9BDA, - 21951 - 11904: 0xDCD5, - 21952 - 11904: 0xDCD1, - 21953 - 11904: 0x9D7E, - 21954 - 11904: 0xDCE0, - 21955 - 11904: 0xDCCA, - 21956 - 11904: 0xDCD3, - 21957 - 11904: 0xB6E5, - 21958 - 11904: 0xB6E6, - 21959 - 11904: 0xB6DE, - 21960 - 11904: 0xDCDC, - 21961 - 11904: 0xB6E8, - 21962 - 11904: 0xDCCF, - 21963 - 11904: 0xDCCE, - 21964 - 11904: 0xDCCC, - 21965 - 11904: 0xDCDE, - 21966 - 11904: 0xB6DC, - 21967 - 11904: 0xDCD8, - 21968 - 11904: 0xDCCD, - 21969 - 11904: 0xB6DF, - 21970 - 11904: 0xDCD6, - 21971 - 11904: 0xB6DA, - 21972 - 11904: 0xDCD2, - 21973 - 11904: 0xDCD9, - 21974 - 11904: 0xDCDB, - 21975 - 11904: 0x89FD, - 21976 - 11904: 0x99E4, - 21977 - 11904: 0xDCDF, - 21978 - 11904: 0xB6E3, - 21979 - 11904: 0xDCCB, - 21980 - 11904: 0xB6DD, - 21981 - 11904: 0xDCD0, - 21982 - 11904: 0x9E43, - 21983 - 11904: 0xB6D8, - 21985 - 11904: 0xB6E4, - 21986 - 11904: 0xDCDA, - 21987 - 11904: 0xB6E0, - 21988 - 11904: 0xB6E1, - 21989 - 11904: 0xB6E7, - 21990 - 11904: 0xB6DB, - 21991 - 11904: 0xA25F, - 21992 - 11904: 0xB6D9, - 21993 - 11904: 0xDCD4, - 21994 - 11904: 0x9DE9, - 21996 - 11904: 0x8F52, - 21999 - 11904: 0xB6E2, - 22000 - 11904: 0x9DF5, - 22001 - 11904: 0x9DF0, - 22002 - 11904: 0xDCDD, - 22005 - 11904: 0x99E7, - 22006 - 11904: 0xB9CD, - 22007 - 11904: 0xB9C8, - 22009 - 11904: 0xE155, - 22010 - 11904: 0xE151, - 22011 - 11904: 0x8BBD, - 22012 - 11904: 0xE14B, - 22013 - 11904: 0xB9C2, - 22014 - 11904: 0xB9BE, - 22015 - 11904: 0xE154, - 22016 - 11904: 0xB9BF, - 22017 - 11904: 0xE14E, - 22018 - 11904: 0xE150, - 22020 - 11904: 0xE153, - 22021 - 11904: 0xFB48, - 22022 - 11904: 0xB9C4, - 22024 - 11904: 0xB9CB, - 22025 - 11904: 0xB9C5, - 22028 - 11904: 0xE149, - 22029 - 11904: 0xB9C6, - 22030 - 11904: 0xB9C7, - 22031 - 11904: 0xE14C, - 22032 - 11904: 0xB9CC, - 22033 - 11904: 0x9FB7, - 22034 - 11904: 0xE14A, - 22035 - 11904: 0xE14F, - 22036 - 11904: 0xB9C3, - 22037 - 11904: 0xE148, - 22038 - 11904: 0xB9C9, - 22039 - 11904: 0xB9C1, - 22043 - 11904: 0xB9C0, - 22044 - 11904: 0xE14D, - 22045 - 11904: 0xE152, - 22046 - 11904: 0x9DD0, - 22047 - 11904: 0xB9CA, - 22048 - 11904: 0x9FEB, - 22049 - 11904: 0x8DA9, - 22050 - 11904: 0x9DCF, - 22051 - 11904: 0x98E1, - 22053 - 11904: 0x9DE5, - 22055 - 11904: 0xE147, - 22057 - 11904: 0xBC4D, - 22058 - 11904: 0xE547, - 22060 - 11904: 0xE544, - 22061 - 11904: 0x9DC8, - 22062 - 11904: 0xBC47, - 22063 - 11904: 0xBC53, - 22064 - 11904: 0xBC54, - 22066 - 11904: 0xBC4A, - 22067 - 11904: 0xE542, - 22068 - 11904: 0xBC4C, - 22069 - 11904: 0xE4F9, - 22070 - 11904: 0xBC52, - 22071 - 11904: 0xFB4F, - 22072 - 11904: 0xE546, - 22073 - 11904: 0xBC49, - 22074 - 11904: 0xE548, - 22075 - 11904: 0xBC48, - 22077 - 11904: 0xE543, - 22078 - 11904: 0xE545, - 22079 - 11904: 0xBC4B, - 22080 - 11904: 0xE541, - 22081 - 11904: 0xE4FA, - 22082 - 11904: 0xE4F7, - 22083 - 11904: 0x9DEB, - 22085 - 11904: 0xD86B, - 22086 - 11904: 0xE4FD, - 22088 - 11904: 0xE4F6, - 22089 - 11904: 0xE4FC, - 22090 - 11904: 0xE4FB, - 22092 - 11904: 0xE4F8, - 22093 - 11904: 0xFB54, - 22094 - 11904: 0xBC4F, - 22095 - 11904: 0xFB55, - 22096 - 11904: 0x9AA2, - 22098 - 11904: 0x8AD6, - 22099 - 11904: 0xBC4E, - 22100 - 11904: 0x9A5F, - 22103 - 11904: 0xBC50, - 22104 - 11904: 0xE4FE, - 22105 - 11904: 0xBEB2, - 22106 - 11904: 0xE540, - 22109 - 11904: 0x9EF5, - 22110 - 11904: 0xE945, - 22112 - 11904: 0xE8FD, - 22113 - 11904: 0x8FB7, - 22114 - 11904: 0xBEBE, - 22115 - 11904: 0xE942, - 22116 - 11904: 0xBEB6, - 22117 - 11904: 0xBEBA, - 22118 - 11904: 0xE941, - 22120 - 11904: 0xBEB9, - 22121 - 11904: 0xBEB5, - 22122 - 11904: 0xBEB8, - 22123 - 11904: 0xBEB3, - 22124 - 11904: 0xBEBD, - 22125 - 11904: 0xE943, - 22126 - 11904: 0xE8FE, - 22127 - 11904: 0xBEBC, - 22128 - 11904: 0xE8FC, - 22129 - 11904: 0xBEBB, - 22130 - 11904: 0xE944, - 22131 - 11904: 0xE940, - 22132 - 11904: 0xBC51, - 22134 - 11904: 0xBEBF, - 22135 - 11904: 0xE946, - 22136 - 11904: 0xBEB7, - 22137 - 11904: 0xBEB4, - 22138 - 11904: 0x9AD2, - 22139 - 11904: 0x9E6A, - 22140 - 11904: 0x9EE8, - 22142 - 11904: 0xECC6, - 22143 - 11904: 0xECC8, - 22144 - 11904: 0xC07B, - 22145 - 11904: 0xECC9, - 22146 - 11904: 0xECC7, - 22147 - 11904: 0xECC5, - 22148 - 11904: 0xECC4, - 22149 - 11904: 0xC07D, - 22150 - 11904: 0xECC3, - 22151 - 11904: 0xC07E, - 22153 - 11904: 0x8BBF, - 22154 - 11904: 0x91C2, - 22155 - 11904: 0x9D62, - 22156 - 11904: 0xECC1, - 22157 - 11904: 0xECC2, - 22158 - 11904: 0xC07A, - 22159 - 11904: 0xC0A1, - 22160 - 11904: 0xC07C, - 22162 - 11904: 0x9260, - 22163 - 11904: 0xECC0, - 22165 - 11904: 0xC250, - 22167 - 11904: 0xEFBC, - 22168 - 11904: 0xEFBA, - 22169 - 11904: 0xEFBF, - 22170 - 11904: 0xEFBD, - 22172 - 11904: 0xEFBB, - 22173 - 11904: 0xEFBE, - 22174 - 11904: 0x925E, - 22175 - 11904: 0x91C1, - 22177 - 11904: 0x8AC5, - 22180 - 11904: 0x97A3, - 22181 - 11904: 0xC360, - 22182 - 11904: 0xF1F2, - 22183 - 11904: 0xF1F3, - 22184 - 11904: 0xC456, - 22186 - 11904: 0xF1F4, - 22187 - 11904: 0xF1F0, - 22188 - 11904: 0xF1F5, - 22189 - 11904: 0xF1F1, - 22190 - 11904: 0xC251, - 22191 - 11904: 0x8B6C, - 22193 - 11904: 0x8D7E, - 22194 - 11904: 0xF3FE, - 22195 - 11904: 0xF441, - 22196 - 11904: 0xC459, - 22197 - 11904: 0xF440, - 22198 - 11904: 0xC458, - 22199 - 11904: 0xC457, - 22201 - 11904: 0x9C54, - 22204 - 11904: 0xC45A, - 22205 - 11904: 0xF5C5, - 22206 - 11904: 0xF5C6, - 22207 - 11904: 0x9DBD, - 22208 - 11904: 0xC4DA, - 22209 - 11904: 0xC4D9, - 22210 - 11904: 0xC4DB, - 22211 - 11904: 0xF5C4, - 22213 - 11904: 0xF6D8, - 22214 - 11904: 0xF6D7, - 22216 - 11904: 0xC56D, - 22217 - 11904: 0xC56F, - 22218 - 11904: 0xC56E, - 22219 - 11904: 0xF6D9, - 22220 - 11904: 0xC5C8, - 22221 - 11904: 0xF8A6, - 22225 - 11904: 0xC5F1, - 22227 - 11904: 0xF8A5, - 22228 - 11904: 0xF8EE, - 22230 - 11904: 0x9CC5, - 22231 - 11904: 0xC949, - 22234 - 11904: 0xA57D, - 22235 - 11904: 0xA57C, - 22237 - 11904: 0xA65F, - 22238 - 11904: 0xA65E, - 22239 - 11904: 0xC9C7, - 22240 - 11904: 0xA65D, - 22241 - 11904: 0xC9C6, - 22242 - 11904: 0x895B, - 22244 - 11904: 0xA779, - 22245 - 11904: 0xCAA9, - 22247 - 11904: 0xCAA8, - 22250 - 11904: 0xA777, - 22251 - 11904: 0xA77A, - 22253 - 11904: 0xFB5C, - 22254 - 11904: 0xCAA7, - 22255 - 11904: 0xFB5B, - 22256 - 11904: 0xA778, - 22257 - 11904: 0xFB57, - 22263 - 11904: 0xCBF0, - 22265 - 11904: 0xCBF1, - 22266 - 11904: 0xA954, - 22267 - 11904: 0x8765, - 22269 - 11904: 0x98C7, - 22271 - 11904: 0xABAA, - 22272 - 11904: 0xFB5A, - 22273 - 11904: 0xD148, - 22274 - 11904: 0xD149, - 22275 - 11904: 0xAE45, - 22276 - 11904: 0xAE46, - 22279 - 11904: 0xD4AC, - 22280 - 11904: 0xB0E9, - 22281 - 11904: 0xB0EB, - 22282 - 11904: 0xD4AB, - 22283 - 11904: 0xB0EA, - 22284 - 11904: 0xD87C, - 22285 - 11904: 0xB3F2, - 22290 - 11904: 0xB6E9, - 22291 - 11904: 0xB6EA, - 22292 - 11904: 0xDCE1, - 22293 - 11904: 0x9CEE, - 22294 - 11904: 0xB9CF, - 22296 - 11904: 0xB9CE, - 22298 - 11904: 0xE549, - 22299 - 11904: 0xE948, - 22300 - 11904: 0xE947, - 22301 - 11904: 0x92E2, - 22302 - 11904: 0xF96B, - 22303 - 11904: 0xA467, - 22304 - 11904: 0xC959, - 22306 - 11904: 0xC96E, - 22307 - 11904: 0xC96F, - 22312 - 11904: 0xA662, - 22313 - 11904: 0xA666, - 22314 - 11904: 0xC9C9, - 22316 - 11904: 0xA664, - 22317 - 11904: 0xA663, - 22318 - 11904: 0xC9C8, - 22319 - 11904: 0xA665, - 22320 - 11904: 0xA661, - 22322 - 11904: 0x94A7, - 22323 - 11904: 0xA660, - 22324 - 11904: 0xC9CA, - 22331 - 11904: 0xA7A6, - 22333 - 11904: 0x8CCC, - 22334 - 11904: 0xA7A3, - 22335 - 11904: 0x9BD4, - 22336 - 11904: 0xA77D, - 22337 - 11904: 0xCAAA, - 22338 - 11904: 0xFB64, - 22339 - 11904: 0xFB76, - 22341 - 11904: 0xCAAB, - 22342 - 11904: 0xFB60, - 22343 - 11904: 0xA7A1, - 22345 - 11904: 0xCAAD, - 22346 - 11904: 0xA77B, - 22347 - 11904: 0xCAAE, - 22348 - 11904: 0xCAAC, - 22349 - 11904: 0xA77E, - 22350 - 11904: 0xA7A2, - 22351 - 11904: 0xA7A5, - 22352 - 11904: 0xA7A4, - 22353 - 11904: 0xA77C, - 22354 - 11904: 0xCAAF, - 22356 - 11904: 0x99E5, - 22359 - 11904: 0x9AC2, - 22363 - 11904: 0x91FB, - 22367 - 11904: 0xA073, - 22369 - 11904: 0xA959, - 22370 - 11904: 0xCBFE, - 22372 - 11904: 0xA95B, - 22374 - 11904: 0xA95A, - 22375 - 11904: 0x9F72, - 22376 - 11904: 0xCC40, - 22377 - 11904: 0xA958, - 22378 - 11904: 0xA957, - 22379 - 11904: 0xCBF5, - 22381 - 11904: 0xCBF4, - 22383 - 11904: 0xCBF2, - 22384 - 11904: 0xCBF7, - 22385 - 11904: 0xCBF6, - 22386 - 11904: 0xCBF3, - 22387 - 11904: 0xCBFC, - 22388 - 11904: 0xCBFD, - 22389 - 11904: 0xCBFA, - 22390 - 11904: 0xCBF8, - 22391 - 11904: 0xA956, - 22394 - 11904: 0x9FCC, - 22395 - 11904: 0xCBFB, - 22396 - 11904: 0xA95C, - 22397 - 11904: 0xCC41, - 22398 - 11904: 0x98A5, - 22399 - 11904: 0x92E8, - 22400 - 11904: 0xCBF9, - 22402 - 11904: 0xABAB, - 22403 - 11904: 0xA955, - 22408 - 11904: 0x9BBC, - 22410 - 11904: 0x96F3, - 22411 - 11904: 0xABAC, - 22412 - 11904: 0xCE54, - 22413 - 11904: 0x92E7, - 22415 - 11904: 0xCE5A, - 22416 - 11904: 0xFC67, - 22419 - 11904: 0xABB2, - 22420 - 11904: 0xCE58, - 22421 - 11904: 0xCE5E, - 22423 - 11904: 0xCE55, - 22424 - 11904: 0xCE59, - 22425 - 11904: 0xCE5B, - 22426 - 11904: 0xCE5D, - 22427 - 11904: 0xCE57, - 22428 - 11904: 0x8B7D, - 22429 - 11904: 0xCE56, - 22430 - 11904: 0xCE51, - 22431 - 11904: 0xCE52, - 22432 - 11904: 0xABAD, - 22433 - 11904: 0x9BF4, - 22434 - 11904: 0xABAF, - 22435 - 11904: 0xABAE, - 22436 - 11904: 0xCE53, - 22437 - 11904: 0xCE5C, - 22439 - 11904: 0x9EF7, - 22442 - 11904: 0x9EC1, - 22446 - 11904: 0xABB1, - 22451 - 11904: 0x87C3, - 22452 - 11904: 0x996F, - 22453 - 11904: 0xCE50, - 22454 - 11904: 0xD153, - 22456 - 11904: 0xD152, - 22457 - 11904: 0xD157, - 22458 - 11904: 0xD14E, - 22459 - 11904: 0x96F1, - 22460 - 11904: 0xD151, - 22461 - 11904: 0xD150, - 22462 - 11904: 0x8E41, - 22463 - 11904: 0xD154, - 22465 - 11904: 0xD158, - 22466 - 11904: 0xAE47, - 22467 - 11904: 0xAE4A, - 22468 - 11904: 0x954A, - 22470 - 11904: 0xD14F, - 22471 - 11904: 0xD155, - 22472 - 11904: 0x97E6, - 22475 - 11904: 0xAE49, - 22476 - 11904: 0xD14A, - 22478 - 11904: 0xABB0, - 22479 - 11904: 0xD4BA, - 22480 - 11904: 0xD156, - 22482 - 11904: 0xD14D, - 22484 - 11904: 0xAE48, - 22485 - 11904: 0xD14C, - 22487 - 11904: 0x96F5, - 22492 - 11904: 0xD4B1, - 22493 - 11904: 0x92E6, - 22494 - 11904: 0x9F42, - 22495 - 11904: 0xB0EC, - 22496 - 11904: 0xB0F0, - 22497 - 11904: 0xD4C1, - 22498 - 11904: 0xD4AF, - 22499 - 11904: 0xD4BD, - 22500 - 11904: 0xB0F1, - 22501 - 11904: 0xD4BF, - 22502 - 11904: 0xFB67, - 22503 - 11904: 0xD4C5, - 22505 - 11904: 0xD4C9, - 22508 - 11904: 0xD4C0, - 22509 - 11904: 0xD4B4, - 22510 - 11904: 0xD4BC, - 22511 - 11904: 0x99A9, - 22512 - 11904: 0xD4CA, - 22513 - 11904: 0xD4C8, - 22514 - 11904: 0xD4BE, - 22515 - 11904: 0xD4B9, - 22516 - 11904: 0xD4B2, - 22517 - 11904: 0xD8A6, - 22518 - 11904: 0xD4B0, - 22519 - 11904: 0xB0F5, - 22520 - 11904: 0xD4B7, - 22521 - 11904: 0xB0F6, - 22522 - 11904: 0xB0F2, - 22523 - 11904: 0xD4AD, - 22524 - 11904: 0xD4C3, - 22525 - 11904: 0xD4B5, - 22526 - 11904: 0xFAE6, - 22528 - 11904: 0xD4B3, - 22529 - 11904: 0xD4C6, - 22530 - 11904: 0xB0F3, - 22531 - 11904: 0xFB69, - 22532 - 11904: 0xD4CC, - 22533 - 11904: 0xB0ED, - 22534 - 11904: 0xB0EF, - 22535 - 11904: 0xD4BB, - 22536 - 11904: 0xD4B6, - 22537 - 11904: 0xAE4B, - 22538 - 11904: 0xB0EE, - 22539 - 11904: 0xD4B8, - 22540 - 11904: 0xD4C7, - 22541 - 11904: 0xD4CB, - 22542 - 11904: 0xD4C2, - 22544 - 11904: 0xD4C4, - 22546 - 11904: 0x97E5, - 22548 - 11904: 0xD4AE, - 22552 - 11904: 0x87C8, - 22553 - 11904: 0xD8A1, - 22555 - 11904: 0xD8AA, - 22556 - 11904: 0xD8A9, - 22557 - 11904: 0xB3FA, - 22558 - 11904: 0xD8A2, - 22560 - 11904: 0xB3FB, - 22561 - 11904: 0xB3F9, - 22562 - 11904: 0x967D, - 22563 - 11904: 0xD8A4, - 22564 - 11904: 0xB3F6, - 22565 - 11904: 0xD8A8, - 22566 - 11904: 0xFB6C, - 22567 - 11904: 0xD8A3, - 22568 - 11904: 0xD8A5, - 22569 - 11904: 0xD87D, - 22570 - 11904: 0xB3F4, - 22572 - 11904: 0xD8B2, - 22573 - 11904: 0xD8B1, - 22574 - 11904: 0xD8AE, - 22575 - 11904: 0xB3F3, - 22576 - 11904: 0xB3F7, - 22577 - 11904: 0xB3F8, - 22578 - 11904: 0xD14B, - 22579 - 11904: 0xD8AB, - 22580 - 11904: 0xB3F5, - 22581 - 11904: 0xB0F4, - 22582 - 11904: 0xD8AD, - 22583 - 11904: 0xD87E, - 22584 - 11904: 0xD8B0, - 22585 - 11904: 0xD8AF, - 22586 - 11904: 0x99A2, - 22587 - 11904: 0xD8B3, - 22589 - 11904: 0xDCEF, - 22591 - 11904: 0xD8AC, - 22592 - 11904: 0x9ABB, - 22596 - 11904: 0x9A65, - 22599 - 11904: 0x944E, - 22600 - 11904: 0xD8A7, - 22601 - 11904: 0xDCE7, - 22602 - 11904: 0xB6F4, - 22603 - 11904: 0xB6F7, - 22604 - 11904: 0xB6F2, - 22605 - 11904: 0xDCE6, - 22606 - 11904: 0xDCEA, - 22607 - 11904: 0xDCE5, - 22609 - 11904: 0xB6EC, - 22610 - 11904: 0xB6F6, - 22611 - 11904: 0xDCE2, - 22612 - 11904: 0xB6F0, - 22613 - 11904: 0xDCE9, - 22615 - 11904: 0xB6EE, - 22616 - 11904: 0xB6ED, - 22617 - 11904: 0xDCEC, - 22618 - 11904: 0xB6EF, - 22619 - 11904: 0xDCEE, - 22620 - 11904: 0xFB6E, - 22621 - 11904: 0xDCEB, - 22622 - 11904: 0xB6EB, - 22623 - 11904: 0x99DF, - 22626 - 11904: 0xB6F5, - 22627 - 11904: 0xDCF0, - 22628 - 11904: 0xDCE4, - 22629 - 11904: 0xDCED, - 22632 - 11904: 0xDCE3, - 22633 - 11904: 0x98E3, - 22635 - 11904: 0xB6F1, - 22636 - 11904: 0x9254, - 22637 - 11904: 0xB6F3, - 22639 - 11904: 0xDCE8, - 22641 - 11904: 0xDCF1, - 22642 - 11904: 0x967B, - 22643 - 11904: 0x8AAF, - 22644 - 11904: 0xE15D, - 22645 - 11904: 0xB9D0, - 22646 - 11904: 0xE163, - 22649 - 11904: 0xB9D5, - 22650 - 11904: 0xE15F, - 22651 - 11904: 0xE166, - 22652 - 11904: 0xE157, - 22653 - 11904: 0xB9D7, - 22654 - 11904: 0xB9D1, - 22655 - 11904: 0xE15C, - 22656 - 11904: 0xBC55, - 22657 - 11904: 0xE15B, - 22658 - 11904: 0xE164, - 22659 - 11904: 0xB9D2, - 22661 - 11904: 0xB9D6, - 22662 - 11904: 0xE15A, - 22663 - 11904: 0xE160, - 22664 - 11904: 0xE165, - 22665 - 11904: 0xE156, - 22666 - 11904: 0xB9D4, - 22667 - 11904: 0xE15E, - 22670 - 11904: 0xE162, - 22671 - 11904: 0xE168, - 22672 - 11904: 0xE158, - 22673 - 11904: 0xE161, - 22674 - 11904: 0x8C77, - 22675 - 11904: 0xB9D3, - 22676 - 11904: 0xE167, - 22678 - 11904: 0x87B0, - 22680 - 11904: 0xE159, - 22681 - 11904: 0x8BAF, - 22682 - 11904: 0x9EBD, - 22684 - 11904: 0xBC59, - 22685 - 11904: 0xE54B, - 22686 - 11904: 0xBC57, - 22687 - 11904: 0xBC56, - 22688 - 11904: 0xE54D, - 22689 - 11904: 0xE552, - 22691 - 11904: 0xE54E, - 22693 - 11904: 0xE551, - 22694 - 11904: 0xBC5C, - 22695 - 11904: 0x9EE6, - 22696 - 11904: 0xBEA5, - 22697 - 11904: 0xBC5B, - 22698 - 11904: 0xFB6F, - 22699 - 11904: 0xE54A, - 22700 - 11904: 0xE550, - 22702 - 11904: 0xBC5A, - 22703 - 11904: 0xE54F, - 22704 - 11904: 0x8EE1, - 22705 - 11904: 0xE54C, - 22707 - 11904: 0xBC58, - 22709 - 11904: 0x9B7D, - 22710 - 11904: 0x9C7E, - 22714 - 11904: 0xE94D, - 22715 - 11904: 0xF9D9, - 22716 - 11904: 0xE94F, - 22717 - 11904: 0xE94A, - 22718 - 11904: 0xBEC1, - 22719 - 11904: 0xE94C, - 22721 - 11904: 0xBEC0, - 22722 - 11904: 0xE94E, - 22725 - 11904: 0xBEC3, - 22726 - 11904: 0xE950, - 22727 - 11904: 0xBEC2, - 22728 - 11904: 0xE949, - 22729 - 11904: 0xE94B, - 22731 - 11904: 0x92EA, - 22734 - 11904: 0xC0A5, - 22735 - 11904: 0xECCC, - 22736 - 11904: 0x8C78, - 22737 - 11904: 0xC0A4, - 22738 - 11904: 0xECCD, - 22739 - 11904: 0xC0A3, - 22740 - 11904: 0xECCB, - 22741 - 11904: 0xC0A2, - 22742 - 11904: 0xECCA, - 22744 - 11904: 0xC253, - 22745 - 11904: 0xC252, - 22746 - 11904: 0xF1F6, - 22747 - 11904: 0xF1F8, - 22748 - 11904: 0xFB72, - 22749 - 11904: 0xF1F7, - 22750 - 11904: 0xC361, - 22751 - 11904: 0xC362, - 22752 - 11904: 0xFB71, - 22754 - 11904: 0xC363, - 22755 - 11904: 0xF442, - 22756 - 11904: 0xC45B, - 22759 - 11904: 0xF7D3, - 22760 - 11904: 0xF7D2, - 22761 - 11904: 0xC5F2, - 22763 - 11904: 0xA468, - 22764 - 11904: 0xA4D0, - 22767 - 11904: 0xA7A7, - 22768 - 11904: 0x895C, - 22770 - 11904: 0x98F0, - 22771 - 11904: 0x96F2, - 22772 - 11904: 0xCE5F, - 22777 - 11904: 0xB3FC, - 22778 - 11904: 0xB3FD, - 22779 - 11904: 0xFB74, - 22780 - 11904: 0xDCF2, - 22781 - 11904: 0xB9D8, - 22782 - 11904: 0xE169, - 22783 - 11904: 0xE553, - 22786 - 11904: 0x8BC1, - 22787 - 11904: 0xC95A, - 22788 - 11904: 0x895D, - 22789 - 11904: 0x89DE, - 22790 - 11904: 0xCAB0, - 22791 - 11904: 0x895E, - 22794 - 11904: 0xC6CA, - 22796 - 11904: 0xCC42, - 22797 - 11904: 0xCE60, - 22798 - 11904: 0xD159, - 22799 - 11904: 0xAE4C, - 22801 - 11904: 0xFE42, - 22802 - 11904: 0xF1F9, - 22804 - 11904: 0xC4DC, - 22805 - 11904: 0xA469, - 22806 - 11904: 0xA57E, - 22807 - 11904: 0xC970, - 22809 - 11904: 0xA667, - 22810 - 11904: 0xA668, - 22812 - 11904: 0xA95D, - 22813 - 11904: 0x8768, - 22815 - 11904: 0xFB7B, - 22816 - 11904: 0xB0F7, - 22818 - 11904: 0xB9DA, - 22820 - 11904: 0xB9DB, - 22821 - 11904: 0xB9D9, - 22823 - 11904: 0xA46A, - 22825 - 11904: 0xA4D1, - 22826 - 11904: 0xA4D3, - 22827 - 11904: 0xA4D2, - 22828 - 11904: 0xC95B, - 22829 - 11904: 0xA4D4, - 22830 - 11904: 0xA5A1, - 22831 - 11904: 0xC971, - 22833 - 11904: 0xA5A2, - 22834 - 11904: 0x895F, - 22836 - 11904: 0x8960, - 22839 - 11904: 0xA669, - 22840 - 11904: 0xA66A, - 22844 - 11904: 0xC9CB, - 22846 - 11904: 0xA7A8, - 22848 - 11904: 0xCAB1, - 22852 - 11904: 0xA961, - 22853 - 11904: 0xCC43, - 22855 - 11904: 0xA95F, - 22856 - 11904: 0xA960, - 22857 - 11904: 0xA95E, - 22858 - 11904: 0xD15A, - 22862 - 11904: 0xABB6, - 22863 - 11904: 0xABB5, - 22864 - 11904: 0xABB7, - 22865 - 11904: 0xABB4, - 22867 - 11904: 0xCE61, - 22868 - 11904: 0xA962, - 22869 - 11904: 0xABB3, - 22871 - 11904: 0xAE4D, - 22872 - 11904: 0xAE4E, - 22874 - 11904: 0xAE4F, - 22876 - 11904: 0xD4CD, - 22880 - 11904: 0xB3FE, - 22881 - 11904: 0xD8B4, - 22882 - 11904: 0xB0F8, - 22885 - 11904: 0x9BCD, - 22887 - 11904: 0xB6F8, - 22889 - 11904: 0xB9DD, - 22890 - 11904: 0xB9DC, - 22891 - 11904: 0xE16A, - 22893 - 11904: 0xBC5D, - 22894 - 11904: 0xBEC4, - 22896 - 11904: 0xEFC0, - 22897 - 11904: 0xF6DA, - 22898 - 11904: 0xF7D4, - 22899 - 11904: 0xA46B, - 22900 - 11904: 0xA5A3, - 22901 - 11904: 0x9DD3, - 22902 - 11904: 0xA5A4, - 22903 - 11904: 0xC9D1, - 22904 - 11904: 0xA66C, - 22905 - 11904: 0xA66F, - 22907 - 11904: 0xC9CF, - 22908 - 11904: 0xC9CD, - 22909 - 11904: 0xA66E, - 22910 - 11904: 0xC9D0, - 22911 - 11904: 0xC9D2, - 22912 - 11904: 0xC9CC, - 22913 - 11904: 0xA671, - 22914 - 11904: 0xA670, - 22915 - 11904: 0xA66D, - 22916 - 11904: 0xA66B, - 22917 - 11904: 0xC9CE, - 22921 - 11904: 0x984C, - 22922 - 11904: 0xA7B3, - 22925 - 11904: 0xA7B0, - 22926 - 11904: 0xCAB6, - 22927 - 11904: 0xCAB9, - 22928 - 11904: 0xCAB8, - 22930 - 11904: 0xA7AA, - 22931 - 11904: 0xA7B2, - 22932 - 11904: 0x9752, - 22934 - 11904: 0xA7AF, - 22935 - 11904: 0xCAB5, - 22936 - 11904: 0xCAB3, - 22937 - 11904: 0xA7AE, - 22938 - 11904: 0x95C3, - 22941 - 11904: 0xA7A9, - 22942 - 11904: 0xA7AC, - 22943 - 11904: 0x9BB6, - 22944 - 11904: 0xCAB4, - 22945 - 11904: 0xCABB, - 22946 - 11904: 0xCAB7, - 22947 - 11904: 0xA7AD, - 22948 - 11904: 0xA7B1, - 22949 - 11904: 0xA7B4, - 22950 - 11904: 0xCAB2, - 22951 - 11904: 0xCABA, - 22952 - 11904: 0xA7AB, - 22956 - 11904: 0x9AB9, - 22958 - 11904: 0xA967, - 22959 - 11904: 0xA96F, - 22960 - 11904: 0x97B3, - 22961 - 11904: 0xCC4F, - 22962 - 11904: 0xCC48, - 22963 - 11904: 0xA970, - 22964 - 11904: 0xCC53, - 22965 - 11904: 0xCC44, - 22966 - 11904: 0xCC4B, - 22967 - 11904: 0x9F74, - 22968 - 11904: 0x92F1, - 22969 - 11904: 0xA966, - 22970 - 11904: 0xCC45, - 22971 - 11904: 0xA964, - 22972 - 11904: 0xCC4C, - 22973 - 11904: 0xCC50, - 22974 - 11904: 0xA963, - 22975 - 11904: 0x8CFA, - 22976 - 11904: 0xCC51, - 22977 - 11904: 0xCC4A, - 22979 - 11904: 0xCC4D, - 22980 - 11904: 0x97DF, - 22981 - 11904: 0xA972, - 22982 - 11904: 0xA969, - 22983 - 11904: 0xCC54, - 22984 - 11904: 0xCC52, - 22985 - 11904: 0xFBA6, - 22986 - 11904: 0xA96E, - 22987 - 11904: 0xA96C, - 22988 - 11904: 0xCC49, - 22989 - 11904: 0xA96B, - 22990 - 11904: 0xCC47, - 22991 - 11904: 0xCC46, - 22992 - 11904: 0xA96A, - 22993 - 11904: 0xA968, - 22994 - 11904: 0xA971, - 22995 - 11904: 0xA96D, - 22996 - 11904: 0xA965, - 22998 - 11904: 0xCC4E, - 23000 - 11904: 0xABB9, - 23001 - 11904: 0xFBAB, - 23002 - 11904: 0xABC0, - 23003 - 11904: 0xCE6F, - 23004 - 11904: 0xABB8, - 23005 - 11904: 0xCE67, - 23006 - 11904: 0xCE63, - 23008 - 11904: 0xCE73, - 23009 - 11904: 0xCE62, - 23011 - 11904: 0xABBB, - 23012 - 11904: 0xCE6C, - 23013 - 11904: 0xABBE, - 23014 - 11904: 0xABC1, - 23016 - 11904: 0xABBC, - 23017 - 11904: 0xCE70, - 23018 - 11904: 0xABBF, - 23019 - 11904: 0x9877, - 23020 - 11904: 0xAE56, - 23021 - 11904: 0xCE76, - 23022 - 11904: 0xCE64, - 23023 - 11904: 0x9854, - 23024 - 11904: 0x95C5, - 23025 - 11904: 0xCE66, - 23026 - 11904: 0xCE6D, - 23027 - 11904: 0xCE71, - 23028 - 11904: 0xCE75, - 23029 - 11904: 0xCE72, - 23030 - 11904: 0xCE6B, - 23031 - 11904: 0xCE6E, - 23032 - 11904: 0x9D55, - 23033 - 11904: 0xFBB2, - 23034 - 11904: 0xCE68, - 23035 - 11904: 0xABC3, - 23036 - 11904: 0xCE6A, - 23037 - 11904: 0xCE69, - 23038 - 11904: 0xCE74, - 23039 - 11904: 0xABBA, - 23040 - 11904: 0xCE65, - 23041 - 11904: 0xABC2, - 23042 - 11904: 0x957E, - 23043 - 11904: 0xABBD, - 23049 - 11904: 0xAE5C, - 23050 - 11904: 0xD162, - 23051 - 11904: 0x9742, - 23052 - 11904: 0xAE5B, - 23053 - 11904: 0x94E6, - 23055 - 11904: 0xD160, - 23057 - 11904: 0xAE50, - 23058 - 11904: 0x92F5, - 23059 - 11904: 0xAE55, - 23061 - 11904: 0xD15F, - 23062 - 11904: 0xD15C, - 23063 - 11904: 0xD161, - 23064 - 11904: 0xAE51, - 23065 - 11904: 0xD15B, - 23066 - 11904: 0x8CC5, - 23067 - 11904: 0xAE54, - 23068 - 11904: 0xAE52, - 23070 - 11904: 0xD163, - 23071 - 11904: 0xAE53, - 23072 - 11904: 0xAE57, - 23073 - 11904: 0x92FD, - 23075 - 11904: 0xAE58, - 23076 - 11904: 0xFBA2, - 23077 - 11904: 0xAE5A, - 23079 - 11904: 0x9C51, - 23081 - 11904: 0xAE59, - 23082 - 11904: 0x94E9, - 23083 - 11904: 0x985C, - 23084 - 11904: 0x92F0, - 23085 - 11904: 0xD15D, - 23086 - 11904: 0xD15E, - 23091 - 11904: 0xD164, - 23093 - 11904: 0xD4D4, - 23094 - 11904: 0xB0F9, - 23095 - 11904: 0xD8C2, - 23096 - 11904: 0xD4D3, - 23097 - 11904: 0xD4E6, - 23100 - 11904: 0xB140, - 23101 - 11904: 0x944C, - 23102 - 11904: 0xD4E4, - 23104 - 11904: 0xB0FE, - 23105 - 11904: 0xB0FA, - 23106 - 11904: 0xD4ED, - 23107 - 11904: 0xD4DD, - 23108 - 11904: 0xD4E0, - 23109 - 11904: 0x916B, - 23110 - 11904: 0xB143, - 23111 - 11904: 0xD4EA, - 23112 - 11904: 0xD4E2, - 23113 - 11904: 0xB0FB, - 23114 - 11904: 0xB144, - 23116 - 11904: 0xD4E7, - 23117 - 11904: 0xD4E5, - 23120 - 11904: 0xD4D6, - 23121 - 11904: 0xD4EB, - 23122 - 11904: 0xD4DF, - 23123 - 11904: 0xD4DA, - 23124 - 11904: 0x8B78, - 23125 - 11904: 0xD4D0, - 23126 - 11904: 0xD4EC, - 23127 - 11904: 0xD4DC, - 23128 - 11904: 0xD4CF, - 23129 - 11904: 0x94E2, - 23130 - 11904: 0xB142, - 23131 - 11904: 0xD4E1, - 23132 - 11904: 0xD4EE, - 23133 - 11904: 0xD4DE, - 23134 - 11904: 0xD4D2, - 23135 - 11904: 0xD4D7, - 23136 - 11904: 0xD4CE, - 23137 - 11904: 0x984F, - 23138 - 11904: 0xB141, - 23139 - 11904: 0xFBB5, - 23140 - 11904: 0xD4DB, - 23141 - 11904: 0xD4D8, - 23142 - 11904: 0xB0FC, - 23143 - 11904: 0xD4D1, - 23144 - 11904: 0x9271, - 23145 - 11904: 0xD4E9, - 23146 - 11904: 0xB0FD, - 23147 - 11904: 0x9365, - 23148 - 11904: 0xD4D9, - 23149 - 11904: 0xD4D5, - 23150 - 11904: 0x985B, - 23152 - 11904: 0xD4E8, - 23153 - 11904: 0x9850, - 23159 - 11904: 0xFBB8, - 23160 - 11904: 0xD8BB, - 23161 - 11904: 0x97BC, - 23162 - 11904: 0xD8B8, - 23163 - 11904: 0xD8C9, - 23164 - 11904: 0xD8BD, - 23165 - 11904: 0xD8CA, - 23166 - 11904: 0x92F3, - 23167 - 11904: 0xB442, - 23169 - 11904: 0x9340, - 23170 - 11904: 0x984D, - 23171 - 11904: 0xD8C6, - 23172 - 11904: 0xD8C3, - 23174 - 11904: 0x9572, - 23176 - 11904: 0xFDEF, - 23178 - 11904: 0xD8C4, - 23179 - 11904: 0xD8C7, - 23180 - 11904: 0xD8CB, - 23182 - 11904: 0xD4E3, - 23183 - 11904: 0xD8CD, - 23184 - 11904: 0xDD47, - 23185 - 11904: 0xFDC1, - 23186 - 11904: 0xB443, - 23187 - 11904: 0xD8CE, - 23188 - 11904: 0xD8B6, - 23189 - 11904: 0xD8C0, - 23190 - 11904: 0xFBBA, - 23191 - 11904: 0xD8C5, - 23193 - 11904: 0x92EB, - 23194 - 11904: 0xB441, - 23195 - 11904: 0xB444, - 23196 - 11904: 0xD8CC, - 23197 - 11904: 0xD8CF, - 23198 - 11904: 0xD8BA, - 23199 - 11904: 0xD8B7, - 23200 - 11904: 0xFC73, - 23201 - 11904: 0x97B7, - 23202 - 11904: 0xD8B9, - 23204 - 11904: 0x876F, - 23205 - 11904: 0xD8BE, - 23206 - 11904: 0xD8BC, - 23207 - 11904: 0xB445, - 23209 - 11904: 0xD8C8, - 23211 - 11904: 0xFBB4, - 23212 - 11904: 0xD8BF, - 23214 - 11904: 0xD8C1, - 23215 - 11904: 0xD8B5, - 23216 - 11904: 0xDCFA, - 23217 - 11904: 0xDCF8, - 23218 - 11904: 0xB742, - 23219 - 11904: 0xB740, - 23220 - 11904: 0xDD43, - 23221 - 11904: 0xDCF9, - 23222 - 11904: 0xDD44, - 23223 - 11904: 0xDD40, - 23224 - 11904: 0xDCF7, - 23225 - 11904: 0xDD46, - 23226 - 11904: 0xDCF6, - 23227 - 11904: 0xDCFD, - 23228 - 11904: 0xB6FE, - 23229 - 11904: 0xB6FD, - 23230 - 11904: 0xB6FC, - 23231 - 11904: 0xDCFB, - 23232 - 11904: 0xDD41, - 23233 - 11904: 0xB6F9, - 23234 - 11904: 0xB741, - 23235 - 11904: 0x90A7, - 23236 - 11904: 0xDCF4, - 23238 - 11904: 0xDCFE, - 23239 - 11904: 0xDCF3, - 23240 - 11904: 0xDCFC, - 23241 - 11904: 0xB6FA, - 23242 - 11904: 0xDD42, - 23243 - 11904: 0xDCF5, - 23244 - 11904: 0xB6FB, - 23245 - 11904: 0xDD45, - 23246 - 11904: 0x9741, - 23247 - 11904: 0x92F4, - 23249 - 11904: 0x8772, - 23251 - 11904: 0xFBBC, - 23253 - 11904: 0xE16E, - 23254 - 11904: 0xB9E2, - 23255 - 11904: 0xB9E1, - 23256 - 11904: 0xB9E3, - 23257 - 11904: 0xE17A, - 23258 - 11904: 0xE170, - 23259 - 11904: 0xE176, - 23260 - 11904: 0xE16B, - 23261 - 11904: 0xE179, - 23262 - 11904: 0xE178, - 23263 - 11904: 0xE17C, - 23264 - 11904: 0xE175, - 23265 - 11904: 0xB9DE, - 23266 - 11904: 0xE174, - 23267 - 11904: 0xB9E4, - 23268 - 11904: 0x9577, - 23269 - 11904: 0xE16D, - 23270 - 11904: 0xB9DF, - 23272 - 11904: 0xE17B, - 23273 - 11904: 0xB9E0, - 23274 - 11904: 0xE16F, - 23275 - 11904: 0xE172, - 23276 - 11904: 0xE177, - 23277 - 11904: 0xE171, - 23278 - 11904: 0xE16C, - 23280 - 11904: 0x9EE2, - 23282 - 11904: 0x8F78, - 23283 - 11904: 0xE173, - 23284 - 11904: 0xE555, - 23285 - 11904: 0xBC61, - 23286 - 11904: 0xE558, - 23287 - 11904: 0xE557, - 23288 - 11904: 0xE55A, - 23289 - 11904: 0xE55C, - 23290 - 11904: 0xF9DC, - 23291 - 11904: 0xBC5F, - 23293 - 11904: 0xE556, - 23294 - 11904: 0x9672, - 23295 - 11904: 0xE554, - 23297 - 11904: 0xE55D, - 23298 - 11904: 0xE55B, - 23299 - 11904: 0xE559, - 23301 - 11904: 0xE55F, - 23303 - 11904: 0xE55E, - 23304 - 11904: 0xBC63, - 23305 - 11904: 0xBC5E, - 23307 - 11904: 0xBC60, - 23308 - 11904: 0xBC62, - 23309 - 11904: 0x9EB5, - 23311 - 11904: 0xE560, - 23312 - 11904: 0xE957, - 23313 - 11904: 0x964B, - 23315 - 11904: 0xE956, - 23316 - 11904: 0xE955, - 23317 - 11904: 0x8CAC, - 23318 - 11904: 0xE958, - 23319 - 11904: 0xE951, - 23321 - 11904: 0xE952, - 23322 - 11904: 0xE95A, - 23323 - 11904: 0xE953, - 23325 - 11904: 0xBEC5, - 23326 - 11904: 0xE95C, - 23327 - 11904: 0xA0FA, - 23328 - 11904: 0xE95B, - 23329 - 11904: 0xE954, - 23331 - 11904: 0xECD1, - 23332 - 11904: 0xC0A8, - 23333 - 11904: 0xECCF, - 23334 - 11904: 0xECD4, - 23335 - 11904: 0xECD3, - 23336 - 11904: 0xE959, - 23338 - 11904: 0xC0A7, - 23339 - 11904: 0x9575, - 23340 - 11904: 0xECD2, - 23341 - 11904: 0xECCE, - 23342 - 11904: 0xECD6, - 23343 - 11904: 0xECD5, - 23344 - 11904: 0xC0A6, - 23346 - 11904: 0xECD0, - 23348 - 11904: 0xBEC6, - 23352 - 11904: 0xC254, - 23356 - 11904: 0xEFC1, - 23357 - 11904: 0xF1FA, - 23358 - 11904: 0xF1FB, - 23359 - 11904: 0xF1FC, - 23360 - 11904: 0xC45C, - 23361 - 11904: 0x90DA, - 23363 - 11904: 0xC45D, - 23364 - 11904: 0x9367, - 23365 - 11904: 0xF443, - 23366 - 11904: 0xFEA4, - 23367 - 11904: 0xF5C8, - 23368 - 11904: 0xF5C7, - 23370 - 11904: 0x90DF, - 23371 - 11904: 0xF6DB, - 23372 - 11904: 0xF6DC, - 23373 - 11904: 0xF7D5, - 23374 - 11904: 0xF8A7, - 23375 - 11904: 0x9354, - 23376 - 11904: 0xA46C, - 23377 - 11904: 0xA46D, - 23379 - 11904: 0xA46E, - 23380 - 11904: 0xA4D5, - 23381 - 11904: 0xA5A5, - 23382 - 11904: 0xC9D3, - 23383 - 11904: 0xA672, - 23384 - 11904: 0xA673, - 23386 - 11904: 0xA7B7, - 23387 - 11904: 0xA7B8, - 23388 - 11904: 0xA7B6, - 23389 - 11904: 0xA7B5, - 23391 - 11904: 0xA973, - 23394 - 11904: 0xCC55, - 23395 - 11904: 0xA975, - 23396 - 11904: 0xA974, - 23397 - 11904: 0xCC56, - 23398 - 11904: 0x8961, - 23400 - 11904: 0x8BB4, - 23401 - 11904: 0xABC4, - 23403 - 11904: 0xAE5D, - 23404 - 11904: 0xD165, - 23405 - 11904: 0x9DC0, - 23406 - 11904: 0xD4F0, - 23408 - 11904: 0xB145, - 23409 - 11904: 0xB447, - 23410 - 11904: 0xD4EF, - 23411 - 11904: 0xB446, - 23412 - 11904: 0x8E48, - 23413 - 11904: 0xB9E5, - 23414 - 11904: 0xFBC5, - 23415 - 11904: 0xE17D, - 23416 - 11904: 0xBEC7, - 23418 - 11904: 0xC0A9, - 23419 - 11904: 0xECD7, - 23420 - 11904: 0xFBC7, - 23421 - 11904: 0xC45E, - 23423 - 11904: 0xC570, - 23424 - 11904: 0xC6CB, - 23425 - 11904: 0xC972, - 23426 - 11904: 0xFA79, - 23427 - 11904: 0xA5A6, - 23428 - 11904: 0xC973, - 23429 - 11904: 0xA676, - 23431 - 11904: 0xA674, - 23432 - 11904: 0xA675, - 23433 - 11904: 0xA677, - 23435 - 11904: 0xA7BA, - 23436 - 11904: 0xA7B9, - 23438 - 11904: 0xCABC, - 23439 - 11904: 0xA7BB, - 23440 - 11904: 0x9E67, - 23442 - 11904: 0xCABD, - 23443 - 11904: 0xCC57, - 23445 - 11904: 0xCC58, - 23446 - 11904: 0x8CD9, - 23447 - 11904: 0xA976, - 23448 - 11904: 0xA978, - 23449 - 11904: 0xA97A, - 23450 - 11904: 0xA977, - 23451 - 11904: 0xA97B, - 23452 - 11904: 0xA979, - 23453 - 11904: 0xFBD2, - 23454 - 11904: 0x8962, - 23455 - 11904: 0x8963, - 23458 - 11904: 0xABC8, - 23459 - 11904: 0xABC5, - 23460 - 11904: 0xABC7, - 23461 - 11904: 0xABC9, - 23462 - 11904: 0xABC6, - 23463 - 11904: 0xD166, - 23464 - 11904: 0xCE77, - 23466 - 11904: 0xFC7D, - 23468 - 11904: 0xD168, - 23469 - 11904: 0xD167, - 23470 - 11904: 0xAE63, - 23472 - 11904: 0xAE5F, - 23475 - 11904: 0xAE60, - 23476 - 11904: 0xAE62, - 23477 - 11904: 0xAE64, - 23478 - 11904: 0xAE61, - 23479 - 11904: 0x8773, - 23480 - 11904: 0xAE66, - 23481 - 11904: 0xAE65, - 23487 - 11904: 0xB14A, - 23488 - 11904: 0xD4F2, - 23489 - 11904: 0xD4F1, - 23490 - 11904: 0xB149, - 23491 - 11904: 0x9F6B, - 23492 - 11904: 0xB148, - 23493 - 11904: 0xB147, - 23494 - 11904: 0xB14B, - 23495 - 11904: 0xB146, - 23498 - 11904: 0xD8D5, - 23499 - 11904: 0xD8D2, - 23500 - 11904: 0xB449, - 23501 - 11904: 0xD8D1, - 23502 - 11904: 0xD8D6, - 23504 - 11904: 0xB44B, - 23505 - 11904: 0xD8D4, - 23506 - 11904: 0xB448, - 23507 - 11904: 0xB44A, - 23508 - 11904: 0xD8D3, - 23509 - 11904: 0xFBCC, - 23510 - 11904: 0xDD48, - 23511 - 11904: 0xFEAE, - 23512 - 11904: 0xDD49, - 23513 - 11904: 0xDD4A, - 23515 - 11904: 0x876D, - 23518 - 11904: 0xB9E6, - 23519 - 11904: 0xB9EE, - 23520 - 11904: 0xE17E, - 23521 - 11904: 0xB9E8, - 23522 - 11904: 0xB9EC, - 23523 - 11904: 0xE1A1, - 23524 - 11904: 0xB9ED, - 23525 - 11904: 0xB9E9, - 23526 - 11904: 0xB9EA, - 23527 - 11904: 0xB9E7, - 23528 - 11904: 0xB9EB, - 23529 - 11904: 0xBC66, - 23530 - 11904: 0xD8D0, - 23531 - 11904: 0xBC67, - 23532 - 11904: 0xBC65, - 23534 - 11904: 0xBC64, - 23535 - 11904: 0xE95D, - 23536 - 11904: 0xBEC8, - 23537 - 11904: 0xECD8, - 23538 - 11904: 0xECD9, - 23539 - 11904: 0xFBD1, - 23541 - 11904: 0xC364, - 23542 - 11904: 0xC45F, - 23544 - 11904: 0xA46F, - 23546 - 11904: 0xA678, - 23551 - 11904: 0xFB75, - 23553 - 11904: 0xABCA, - 23555 - 11904: 0xD169, - 23556 - 11904: 0xAE67, - 23557 - 11904: 0xFBD4, - 23559 - 11904: 0xB14E, - 23560 - 11904: 0xB14D, - 23561 - 11904: 0xB14C, - 23562 - 11904: 0xB44C, - 23563 - 11904: 0xB44D, - 23564 - 11904: 0xD8D7, - 23565 - 11904: 0xB9EF, - 23566 - 11904: 0xBEC9, - 23567 - 11904: 0xA470, - 23568 - 11904: 0xC95C, - 23569 - 11904: 0xA4D6, - 23570 - 11904: 0xC974, - 23571 - 11904: 0xFBD6, - 23572 - 11904: 0xFBD8, - 23573 - 11904: 0xC9D4, - 23574 - 11904: 0xA679, - 23578 - 11904: 0xA97C, - 23580 - 11904: 0x8B5D, - 23582 - 11904: 0x934C, - 23583 - 11904: 0xDD4B, - 23584 - 11904: 0x9AE2, - 23586 - 11904: 0xA471, - 23587 - 11904: 0x8BC9, - 23588 - 11904: 0xA4D7, - 23589 - 11904: 0xC9D5, - 23592 - 11904: 0xCABE, - 23594 - 11904: 0xCABF, - 23596 - 11904: 0xA7BC, - 23600 - 11904: 0xD8D8, - 23601 - 11904: 0xB44E, - 23603 - 11904: 0xDD4C, - 23607 - 11904: 0xC0AA, - 23608 - 11904: 0xA472, - 23609 - 11904: 0xA4A8, - 23610 - 11904: 0xA4D8, - 23611 - 11904: 0xC975, - 23612 - 11904: 0xA5A7, - 23614 - 11904: 0xA7C0, - 23615 - 11904: 0xA7BF, - 23616 - 11904: 0xA7BD, - 23617 - 11904: 0xA7BE, - 23620 - 11904: 0xCC59, - 23621 - 11904: 0xA97E, - 23622 - 11904: 0xA9A1, - 23623 - 11904: 0xCC5A, - 23624 - 11904: 0xA97D, - 23625 - 11904: 0xFBDB, - 23626 - 11904: 0x9FC9, - 23627 - 11904: 0xABCE, - 23628 - 11904: 0xCE78, - 23629 - 11904: 0xABCD, - 23630 - 11904: 0xABCB, - 23631 - 11904: 0xABCC, - 23632 - 11904: 0xAE6A, - 23633 - 11904: 0xAE68, - 23635 - 11904: 0x9F44, - 23636 - 11904: 0xD16B, - 23637 - 11904: 0xAE69, - 23638 - 11904: 0xD16A, - 23640 - 11904: 0xAE5E, - 23641 - 11904: 0xD4F3, - 23644 - 11904: 0xB150, - 23645 - 11904: 0xB151, - 23646 - 11904: 0x98ED, - 23648 - 11904: 0xB14F, - 23650 - 11904: 0xB9F0, - 23651 - 11904: 0xE1A2, - 23652 - 11904: 0xBC68, - 23653 - 11904: 0xBC69, - 23655 - 11904: 0xE561, - 23656 - 11904: 0xC0AB, - 23657 - 11904: 0xEFC2, - 23658 - 11904: 0xEFC3, - 23660 - 11904: 0xC4DD, - 23661 - 11904: 0xF8A8, - 23662 - 11904: 0xC94B, - 23663 - 11904: 0xA4D9, - 23665 - 11904: 0xA473, - 23667 - 11904: 0xC977, - 23668 - 11904: 0xC976, - 23672 - 11904: 0x8CE9, - 23673 - 11904: 0xA67A, - 23674 - 11904: 0xC9D7, - 23675 - 11904: 0xC9D8, - 23676 - 11904: 0xC9D6, - 23678 - 11904: 0xC9D9, - 23685 - 11904: 0xFBDD, - 23686 - 11904: 0xCAC7, - 23688 - 11904: 0xCAC2, - 23689 - 11904: 0xCAC4, - 23690 - 11904: 0xCAC6, - 23691 - 11904: 0xCAC3, - 23692 - 11904: 0xA7C4, - 23693 - 11904: 0xCAC0, - 23695 - 11904: 0xCAC1, - 23696 - 11904: 0xA7C1, - 23697 - 11904: 0xA7C2, - 23698 - 11904: 0xCAC5, - 23699 - 11904: 0xCAC8, - 23700 - 11904: 0xA7C3, - 23701 - 11904: 0xCAC9, - 23705 - 11904: 0x8DF2, - 23706 - 11904: 0x8964, - 23708 - 11904: 0xFDF2, - 23709 - 11904: 0xCC68, - 23710 - 11904: 0x934D, - 23711 - 11904: 0xCC62, - 23712 - 11904: 0xCC5D, - 23713 - 11904: 0xA9A3, - 23714 - 11904: 0xCC65, - 23715 - 11904: 0xCC63, - 23716 - 11904: 0xCC5C, - 23717 - 11904: 0xCC69, - 23718 - 11904: 0xCC6C, - 23719 - 11904: 0xCC67, - 23720 - 11904: 0xCC60, - 23721 - 11904: 0xA9A5, - 23722 - 11904: 0xCC66, - 23723 - 11904: 0xA9A6, - 23724 - 11904: 0xCC61, - 23725 - 11904: 0xCC64, - 23726 - 11904: 0xCC5B, - 23727 - 11904: 0xCC5F, - 23728 - 11904: 0xCC6B, - 23729 - 11904: 0xA9A7, - 23731 - 11904: 0xA9A8, - 23733 - 11904: 0xCC5E, - 23734 - 11904: 0xCC6A, - 23735 - 11904: 0xA9A2, - 23736 - 11904: 0xA9A4, - 23738 - 11904: 0xFBE7, - 23745 - 11904: 0xA0F2, - 23746 - 11904: 0x9868, - 23750 - 11904: 0xCEAB, - 23751 - 11904: 0xCEA4, - 23752 - 11904: 0xCEAA, - 23753 - 11904: 0xCEA3, - 23754 - 11904: 0xCEA5, - 23755 - 11904: 0xCE7D, - 23756 - 11904: 0xCE7B, - 23758 - 11904: 0xCEAC, - 23759 - 11904: 0xCEA9, - 23760 - 11904: 0xCE79, - 23761 - 11904: 0x9F58, - 23762 - 11904: 0xABD0, - 23763 - 11904: 0xCEA7, - 23764 - 11904: 0xCEA8, - 23765 - 11904: 0x8CE6, - 23766 - 11904: 0xCEA6, - 23767 - 11904: 0xCE7C, - 23768 - 11904: 0xCE7A, - 23769 - 11904: 0xABCF, - 23770 - 11904: 0xCEA2, - 23771 - 11904: 0xCE7E, - 23774 - 11904: 0xCEA1, - 23775 - 11904: 0xCEAD, - 23781 - 11904: 0x8D73, - 23784 - 11904: 0xAE6F, - 23785 - 11904: 0xFBDE, - 23786 - 11904: 0xAE6E, - 23788 - 11904: 0xD16C, - 23789 - 11904: 0xAE6B, - 23790 - 11904: 0xD16E, - 23791 - 11904: 0xFBDF, - 23792 - 11904: 0xAE70, - 23793 - 11904: 0xD16F, - 23796 - 11904: 0xAE73, - 23797 - 11904: 0x8C48, - 23798 - 11904: 0xAE71, - 23799 - 11904: 0xD170, - 23800 - 11904: 0xCEAE, - 23801 - 11904: 0xD172, - 23803 - 11904: 0xAE6D, - 23804 - 11904: 0x8774, - 23805 - 11904: 0xAE6C, - 23807 - 11904: 0xD16D, - 23808 - 11904: 0xD171, - 23809 - 11904: 0xAE72, - 23814 - 11904: 0xB153, - 23815 - 11904: 0xB152, - 23819 - 11904: 0xD4F5, - 23820 - 11904: 0xD4F9, - 23821 - 11904: 0xD4FB, - 23822 - 11904: 0xB154, - 23823 - 11904: 0xD4FE, - 23824 - 11904: 0xFBE3, - 23825 - 11904: 0xB158, - 23826 - 11904: 0xD541, - 23828 - 11904: 0xB15A, - 23829 - 11904: 0x8DA8, - 23830 - 11904: 0xB156, - 23831 - 11904: 0xB15E, - 23832 - 11904: 0xFBE4, - 23833 - 11904: 0xB15B, - 23834 - 11904: 0xD4F7, - 23835 - 11904: 0xB155, - 23837 - 11904: 0xD4F6, - 23838 - 11904: 0xD4F4, - 23839 - 11904: 0xD543, - 23840 - 11904: 0xD4F8, - 23842 - 11904: 0xB157, - 23843 - 11904: 0xD542, - 23844 - 11904: 0xB15C, - 23845 - 11904: 0xD4FD, - 23846 - 11904: 0xD4FC, - 23847 - 11904: 0xB15D, - 23848 - 11904: 0xD4FA, - 23849 - 11904: 0xB159, - 23852 - 11904: 0x9C75, - 23854 - 11904: 0xD544, - 23855 - 11904: 0x9878, - 23856 - 11904: 0xD540, - 23857 - 11904: 0xD8E7, - 23858 - 11904: 0xD8EE, - 23859 - 11904: 0xD8E3, - 23860 - 11904: 0xB451, - 23861 - 11904: 0xD8DF, - 23862 - 11904: 0xD8EF, - 23863 - 11904: 0xD8D9, - 23864 - 11904: 0xD8EC, - 23865 - 11904: 0xD8EA, - 23866 - 11904: 0xD8E4, - 23868 - 11904: 0xD8ED, - 23869 - 11904: 0xD8E6, - 23870 - 11904: 0x8D60, - 23871 - 11904: 0xD8DE, - 23872 - 11904: 0xD8F0, - 23873 - 11904: 0xD8DC, - 23874 - 11904: 0xD8E9, - 23875 - 11904: 0xD8DA, - 23877 - 11904: 0xD8F1, - 23878 - 11904: 0xFBE5, - 23879 - 11904: 0xB452, - 23880 - 11904: 0x8D61, - 23881 - 11904: 0xD8EB, - 23882 - 11904: 0xDD4F, - 23883 - 11904: 0xD8DD, - 23884 - 11904: 0xB44F, - 23886 - 11904: 0xD8E1, - 23888 - 11904: 0xB450, - 23889 - 11904: 0xD8E0, - 23890 - 11904: 0xD8E5, - 23893 - 11904: 0xD8E2, - 23894 - 11904: 0x8D62, - 23895 - 11904: 0xA0A1, - 23897 - 11904: 0xD8E8, - 23899 - 11904: 0x9C40, - 23902 - 11904: 0xDD53, - 23906 - 11904: 0xDD56, - 23907 - 11904: 0xDD4E, - 23909 - 11904: 0xDD50, - 23911 - 11904: 0xDD55, - 23912 - 11904: 0xDD54, - 23913 - 11904: 0xB743, - 23915 - 11904: 0xD8DB, - 23916 - 11904: 0xDD52, - 23919 - 11904: 0xB744, - 23920 - 11904: 0x98AD, - 23921 - 11904: 0xDD4D, - 23922 - 11904: 0xDD51, - 23924 - 11904: 0x9EEA, - 23927 - 11904: 0xE1A9, - 23928 - 11904: 0x8CEC, - 23929 - 11904: 0xE1B0, - 23930 - 11904: 0xE1A7, - 23931 - 11904: 0x8CD4, - 23932 - 11904: 0xE1AE, - 23933 - 11904: 0xE1A5, - 23934 - 11904: 0xE1AD, - 23935 - 11904: 0xE1B1, - 23936 - 11904: 0xE1A4, - 23937 - 11904: 0xE1A8, - 23938 - 11904: 0xE1A3, - 23940 - 11904: 0xB9F1, - 23941 - 11904: 0x9CEB, - 23942 - 11904: 0xE1A6, - 23943 - 11904: 0xB9F2, - 23944 - 11904: 0xE1AC, - 23945 - 11904: 0xE1AB, - 23946 - 11904: 0xE1AA, - 23947 - 11904: 0xFBE0, - 23949 - 11904: 0xE1AF, - 23950 - 11904: 0x9F51, - 23954 - 11904: 0xE565, - 23955 - 11904: 0xE567, - 23956 - 11904: 0xBC6B, - 23957 - 11904: 0xE568, - 23959 - 11904: 0xE563, - 23961 - 11904: 0xE562, - 23962 - 11904: 0xE56C, - 23964 - 11904: 0xE56A, - 23965 - 11904: 0xBC6A, - 23966 - 11904: 0xE56D, - 23967 - 11904: 0xE564, - 23968 - 11904: 0xE569, - 23969 - 11904: 0xE56B, - 23970 - 11904: 0xE566, - 23972 - 11904: 0x8D65, - 23975 - 11904: 0xE961, - 23976 - 11904: 0xE966, - 23977 - 11904: 0xE960, - 23978 - 11904: 0xE965, - 23979 - 11904: 0x9CF1, - 23980 - 11904: 0xE95E, - 23981 - 11904: 0xE968, - 23982 - 11904: 0xE964, - 23983 - 11904: 0xE969, - 23984 - 11904: 0xE963, - 23985 - 11904: 0xE95F, - 23986 - 11904: 0xE967, - 23988 - 11904: 0xE96A, - 23989 - 11904: 0xE962, - 23990 - 11904: 0xFC58, - 23991 - 11904: 0xECDA, - 23992 - 11904: 0xC0AF, - 23993 - 11904: 0x8D66, - 23994 - 11904: 0xC0AD, - 23996 - 11904: 0xC0AC, - 23997 - 11904: 0xC0AE, - 24000 - 11904: 0xEFC4, - 24001 - 11904: 0x9654, - 24002 - 11904: 0xF172, - 24003 - 11904: 0xF1FD, - 24006 - 11904: 0xF444, - 24007 - 11904: 0xF445, - 24009 - 11904: 0xC460, - 24011 - 11904: 0xF5C9, - 24013 - 11904: 0xC4DE, - 24015 - 11904: 0xF5CA, - 24017 - 11904: 0xF6DE, - 24018 - 11904: 0xC572, - 24020 - 11904: 0xC571, - 24021 - 11904: 0xF6DD, - 24022 - 11904: 0xC5C9, - 24023 - 11904: 0xFBE8, - 24024 - 11904: 0xF7D6, - 24027 - 11904: 0xC6CC, - 24029 - 11904: 0xA474, - 24030 - 11904: 0xA67B, - 24031 - 11904: 0xC9DA, - 24032 - 11904: 0xCACA, - 24033 - 11904: 0xA8B5, - 24034 - 11904: 0xB15F, - 24037 - 11904: 0xA475, - 24038 - 11904: 0xA5AA, - 24039 - 11904: 0xA5A9, - 24040 - 11904: 0xA5A8, - 24043 - 11904: 0xA7C5, - 24046 - 11904: 0xAE74, - 24048 - 11904: 0xDD57, - 24049 - 11904: 0xA476, - 24050 - 11904: 0xA477, - 24051 - 11904: 0xA478, - 24052 - 11904: 0xA4DA, - 24053 - 11904: 0x9FCE, - 24055 - 11904: 0xABD1, - 24057 - 11904: 0xCEAF, - 24061 - 11904: 0xB453, - 24062 - 11904: 0xA479, - 24063 - 11904: 0xC95D, - 24066 - 11904: 0xA5AB, - 24067 - 11904: 0xA5AC, - 24068 - 11904: 0xC978, - 24070 - 11904: 0xA67C, - 24073 - 11904: 0xFBFC, - 24074 - 11904: 0xCACB, - 24075 - 11904: 0x9AE4, - 24076 - 11904: 0xA7C6, - 24078 - 11904: 0xCACC, - 24081 - 11904: 0xA9AE, - 24082 - 11904: 0x9F75, - 24084 - 11904: 0xCC6E, - 24085 - 11904: 0xA9AC, - 24086 - 11904: 0xA9AB, - 24087 - 11904: 0xCC6D, - 24088 - 11904: 0xA9A9, - 24089 - 11904: 0xCC6F, - 24090 - 11904: 0xA9AA, - 24091 - 11904: 0xA9AD, - 24093 - 11904: 0xABD2, - 24095 - 11904: 0xABD4, - 24096 - 11904: 0xCEB3, - 24097 - 11904: 0xCEB0, - 24098 - 11904: 0xCEB1, - 24099 - 11904: 0xCEB2, - 24100 - 11904: 0xCEB4, - 24101 - 11904: 0xABD3, - 24104 - 11904: 0xD174, - 24105 - 11904: 0xD173, - 24107 - 11904: 0xAE76, - 24109 - 11904: 0xAE75, - 24110 - 11904: 0xFBF1, - 24115 - 11904: 0xB162, - 24116 - 11904: 0xD546, - 24118 - 11904: 0xB161, - 24119 - 11904: 0xB163, - 24120 - 11904: 0xB160, - 24125 - 11904: 0xB455, - 24126 - 11904: 0xD545, - 24128 - 11904: 0xB456, - 24129 - 11904: 0xD8F3, - 24130 - 11904: 0x8D69, - 24131 - 11904: 0xB457, - 24132 - 11904: 0xD8F2, - 24133 - 11904: 0xB454, - 24136 - 11904: 0x934F, - 24138 - 11904: 0xDD5A, - 24139 - 11904: 0xDD5C, - 24140 - 11904: 0xB745, - 24141 - 11904: 0xDD5B, - 24142 - 11904: 0xDD59, - 24143 - 11904: 0xDD58, - 24147 - 11904: 0xE1B4, - 24148 - 11904: 0xB9F7, - 24149 - 11904: 0xB9F5, - 24151 - 11904: 0xB9F6, - 24152 - 11904: 0xE1B2, - 24153 - 11904: 0xE1B3, - 24155 - 11904: 0xB9F3, - 24156 - 11904: 0xE571, - 24157 - 11904: 0xE56F, - 24158 - 11904: 0x934E, - 24159 - 11904: 0xBC6D, - 24160 - 11904: 0xE570, - 24161 - 11904: 0xBC6E, - 24162 - 11904: 0xBC6C, - 24163 - 11904: 0xB9F4, - 24166 - 11904: 0xE96D, - 24167 - 11904: 0xE96B, - 24168 - 11904: 0xE96C, - 24169 - 11904: 0xE56E, - 24170 - 11904: 0xECDC, - 24171 - 11904: 0xC0B0, - 24172 - 11904: 0xECDB, - 24173 - 11904: 0xEFC5, - 24174 - 11904: 0xEFC6, - 24175 - 11904: 0xE96E, - 24176 - 11904: 0xF1FE, - 24178 - 11904: 0xA47A, - 24179 - 11904: 0xA5AD, - 24180 - 11904: 0xA67E, - 24181 - 11904: 0xFBF3, - 24182 - 11904: 0xA67D, - 24184 - 11904: 0xA9AF, - 24185 - 11904: 0xB746, - 24186 - 11904: 0xFBF4, - 24187 - 11904: 0xA4DB, - 24188 - 11904: 0xA5AE, - 24189 - 11904: 0xABD5, - 24190 - 11904: 0xB458, - 24191 - 11904: 0xC6CE, - 24192 - 11904: 0xC979, - 24194 - 11904: 0xC97A, - 24195 - 11904: 0xFBC3, - 24196 - 11904: 0xC9DC, - 24198 - 11904: 0x8965, - 24199 - 11904: 0xA7C8, - 24200 - 11904: 0xCAD0, - 24201 - 11904: 0xCACE, - 24202 - 11904: 0xA7C9, - 24203 - 11904: 0xCACD, - 24204 - 11904: 0xCACF, - 24205 - 11904: 0xCAD1, - 24207 - 11904: 0xA7C7, - 24210 - 11904: 0x8C7A, - 24213 - 11904: 0xA9B3, - 24214 - 11904: 0xA9B4, - 24215 - 11904: 0xA9B1, - 24217 - 11904: 0x8C7B, - 24218 - 11904: 0xA9B0, - 24219 - 11904: 0xCEB8, - 24220 - 11904: 0xA9B2, - 24224 - 11904: 0xABD6, - 24226 - 11904: 0xCEB7, - 24227 - 11904: 0xCEB9, - 24228 - 11904: 0xCEB6, - 24229 - 11904: 0xCEBA, - 24230 - 11904: 0xABD7, - 24231 - 11904: 0xAE79, - 24232 - 11904: 0xD175, - 24234 - 11904: 0xD177, - 24235 - 11904: 0xAE77, - 24236 - 11904: 0xD178, - 24237 - 11904: 0xAE78, - 24238 - 11904: 0xD176, - 24240 - 11904: 0xCEB5, - 24241 - 11904: 0xD547, - 24242 - 11904: 0xD54A, - 24243 - 11904: 0xD54B, - 24244 - 11904: 0xD548, - 24245 - 11904: 0xB167, - 24246 - 11904: 0xB166, - 24247 - 11904: 0xB164, - 24248 - 11904: 0xB165, - 24249 - 11904: 0xD549, - 24253 - 11904: 0x8D6A, - 24254 - 11904: 0xB168, - 24257 - 11904: 0xB45A, - 24258 - 11904: 0xB45B, - 24260 - 11904: 0xB45C, - 24261 - 11904: 0xDD5D, - 24262 - 11904: 0xDD5F, - 24263 - 11904: 0xDD61, - 24264 - 11904: 0xB748, - 24265 - 11904: 0xB747, - 24266 - 11904: 0xB459, - 24267 - 11904: 0xDD60, - 24268 - 11904: 0xDD5E, - 24269 - 11904: 0x9353, - 24270 - 11904: 0xE1B8, - 24272 - 11904: 0xFBF9, - 24273 - 11904: 0xE1B6, - 24274 - 11904: 0xE1BC, - 24275 - 11904: 0xB9F8, - 24276 - 11904: 0xE1BD, - 24277 - 11904: 0xE1BA, - 24278 - 11904: 0xB9F9, - 24279 - 11904: 0xE1B7, - 24280 - 11904: 0xE1B5, - 24281 - 11904: 0xE1BB, - 24282 - 11904: 0xBC70, - 24283 - 11904: 0xE573, - 24284 - 11904: 0xE1B9, - 24285 - 11904: 0xBC72, - 24286 - 11904: 0xE574, - 24287 - 11904: 0xBC71, - 24288 - 11904: 0xBC74, - 24289 - 11904: 0xE575, - 24290 - 11904: 0xBC6F, - 24291 - 11904: 0xBC73, - 24293 - 11904: 0xE973, - 24294 - 11904: 0xE971, - 24295 - 11904: 0xE970, - 24296 - 11904: 0xE972, - 24297 - 11904: 0xE96F, - 24300 - 11904: 0xC366, - 24302 - 11904: 0xF446, - 24303 - 11904: 0xF447, - 24305 - 11904: 0xF5CB, - 24306 - 11904: 0xF6DF, - 24307 - 11904: 0xC655, - 24308 - 11904: 0xFBFD, - 24310 - 11904: 0xA9B5, - 24311 - 11904: 0xA7CA, - 24312 - 11904: 0x9059, - 24313 - 11904: 0xFC40, - 24314 - 11904: 0xABD8, - 24315 - 11904: 0xFC41, - 24316 - 11904: 0xFC43, - 24318 - 11904: 0xA47B, - 24319 - 11904: 0xA4DC, - 24321 - 11904: 0xA5AF, - 24322 - 11904: 0xC9DD, - 24324 - 11904: 0xA7CB, - 24325 - 11904: 0xCAD2, - 24327 - 11904: 0xCEBB, - 24328 - 11904: 0xABD9, - 24330 - 11904: 0xB9FA, - 24331 - 11904: 0xA47C, - 24332 - 11904: 0x9FD8, - 24333 - 11904: 0xFC46, - 24334 - 11904: 0x9362, - 24335 - 11904: 0xA6A1, - 24338 - 11904: 0xB749, - 24339 - 11904: 0xA47D, - 24340 - 11904: 0xA4DD, - 24341 - 11904: 0xA4DE, - 24343 - 11904: 0xA5B1, - 24344 - 11904: 0xA5B0, - 24346 - 11904: 0xC9DE, - 24347 - 11904: 0xA6A2, - 24349 - 11904: 0xCAD3, - 24351 - 11904: 0xA7CC, - 24354 - 11904: 0xCC71, - 24355 - 11904: 0xCC72, - 24356 - 11904: 0xCC73, - 24357 - 11904: 0x8D6B, - 24358 - 11904: 0xA9B6, - 24359 - 11904: 0xA9B7, - 24360 - 11904: 0xCC70, - 24361 - 11904: 0xA9B8, - 24365 - 11904: 0xABDA, - 24366 - 11904: 0xCEBC, - 24368 - 11904: 0xD17A, - 24369 - 11904: 0xAE7A, - 24371 - 11904: 0xD179, - 24373 - 11904: 0xB169, - 24374 - 11904: 0xD54C, - 24375 - 11904: 0xB16A, - 24376 - 11904: 0xD54D, - 24378 - 11904: 0xFC4C, - 24379 - 11904: 0x8CFE, - 24380 - 11904: 0xB45D, - 24384 - 11904: 0xDD62, - 24387 - 11904: 0xE1BF, - 24388 - 11904: 0xE1BE, - 24390 - 11904: 0xB9FB, - 24392 - 11904: 0xBC75, - 24393 - 11904: 0xE576, - 24394 - 11904: 0xBECA, - 24395 - 11904: 0xE974, - 24396 - 11904: 0xC0B1, - 24397 - 11904: 0x95B8, - 24398 - 11904: 0xC573, - 24399 - 11904: 0xF7D8, - 24400 - 11904: 0xC6D0, - 24401 - 11904: 0x8BCA, - 24404 - 11904: 0xCC74, - 24406 - 11904: 0xCEBD, - 24407 - 11904: 0xB16B, - 24408 - 11904: 0xFC4F, - 24409 - 11904: 0xB74A, - 24412 - 11904: 0x987A, - 24413 - 11904: 0xC255, - 24417 - 11904: 0xC6D1, - 24418 - 11904: 0xA7CE, - 24419 - 11904: 0xFC51, - 24420 - 11904: 0xA7CD, - 24421 - 11904: 0xABDB, - 24423 - 11904: 0xD17B, - 24425 - 11904: 0xB16D, - 24426 - 11904: 0xB343, - 24427 - 11904: 0xB16E, - 24428 - 11904: 0xB16C, - 24429 - 11904: 0xB45E, - 24431 - 11904: 0xE1C0, - 24432 - 11904: 0xB9FC, - 24433 - 11904: 0xBC76, - 24434 - 11904: 0xFC54, - 24435 - 11904: 0xC94C, - 24436 - 11904: 0xC9DF, - 24438 - 11904: 0xCAD5, - 24439 - 11904: 0xA7CF, - 24440 - 11904: 0xCAD4, - 24441 - 11904: 0xA7D0, - 24443 - 11904: 0xFAAF, - 24444 - 11904: 0xA9BC, - 24445 - 11904: 0xCC77, - 24446 - 11904: 0xCC76, - 24447 - 11904: 0xA9BB, - 24448 - 11904: 0xA9B9, - 24449 - 11904: 0xA9BA, - 24450 - 11904: 0xCC75, - 24451 - 11904: 0x8D6C, - 24453 - 11904: 0xABDD, - 24454 - 11904: 0xCEBE, - 24455 - 11904: 0xABE0, - 24456 - 11904: 0xABDC, - 24457 - 11904: 0xABE2, - 24458 - 11904: 0xABDE, - 24459 - 11904: 0xABDF, - 24460 - 11904: 0xABE1, - 24464 - 11904: 0xAE7D, - 24465 - 11904: 0xAE7C, - 24466 - 11904: 0xAE7B, - 24470 - 11904: 0xD54F, - 24471 - 11904: 0xB16F, - 24472 - 11904: 0xB172, - 24473 - 11904: 0xB170, - 24475 - 11904: 0xD54E, - 24476 - 11904: 0xB175, - 24478 - 11904: 0xB171, - 24479 - 11904: 0xD550, - 24480 - 11904: 0xB174, - 24481 - 11904: 0xB173, - 24484 - 11904: 0xFA61, - 24485 - 11904: 0xD8F6, - 24486 - 11904: 0xD8F5, - 24487 - 11904: 0xFC57, - 24488 - 11904: 0xB461, - 24489 - 11904: 0xB45F, - 24490 - 11904: 0xB460, - 24491 - 11904: 0xD8F7, - 24492 - 11904: 0xB74B, - 24493 - 11904: 0xDD64, - 24494 - 11904: 0xB74C, - 24495 - 11904: 0xDD63, - 24497 - 11904: 0x9B70, - 24498 - 11904: 0xE577, - 24501 - 11904: 0xBC78, - 24502 - 11904: 0xE1C1, - 24503 - 11904: 0xBC77, - 24505 - 11904: 0xB9FD, - 24506 - 11904: 0xA051, - 24507 - 11904: 0xECDE, - 24508 - 11904: 0xE975, - 24509 - 11904: 0xC0B2, - 24510 - 11904: 0xECDD, - 24511 - 11904: 0xF240, - 24512 - 11904: 0xF448, - 24513 - 11904: 0xF449, - 24514 - 11904: 0x8C7C, - 24515 - 11904: 0xA4DF, - 24516 - 11904: 0x8BCB, - 24517 - 11904: 0xA5B2, - 24521 - 11904: 0xC97B, - 24524 - 11904: 0xA7D2, - 24525 - 11904: 0xA7D4, - 24527 - 11904: 0xC9E2, - 24528 - 11904: 0xCAD8, - 24529 - 11904: 0xCAD7, - 24530 - 11904: 0xCAD6, - 24532 - 11904: 0xC9E1, - 24533 - 11904: 0xC9E0, - 24534 - 11904: 0xA6A4, - 24535 - 11904: 0xA7D3, - 24536 - 11904: 0xA7D1, - 24537 - 11904: 0xA6A3, - 24539 - 11904: 0x936E, - 24541 - 11904: 0xA9BD, - 24542 - 11904: 0xCC78, - 24543 - 11904: 0xFCD5, - 24544 - 11904: 0xA9BE, - 24545 - 11904: 0xCADD, - 24547 - 11904: 0xCADF, - 24548 - 11904: 0xCADE, - 24549 - 11904: 0xCC79, - 24552 - 11904: 0xCADA, - 24554 - 11904: 0xA7D8, - 24555 - 11904: 0xA7D6, - 24557 - 11904: 0xCAD9, - 24558 - 11904: 0xCADB, - 24559 - 11904: 0xCAE1, - 24561 - 11904: 0xA7D5, - 24563 - 11904: 0xCADC, - 24564 - 11904: 0xCAE5, - 24565 - 11904: 0xA9C0, - 24567 - 11904: 0xCAE2, - 24568 - 11904: 0xA7D7, - 24570 - 11904: 0xCAE0, - 24571 - 11904: 0xCAE3, - 24573 - 11904: 0xA9BF, - 24575 - 11904: 0xA9C1, - 24576 - 11904: 0xCAE4, - 24585 - 11904: 0xCCAF, - 24586 - 11904: 0xCCA2, - 24587 - 11904: 0xCC7E, - 24588 - 11904: 0xCCAE, - 24589 - 11904: 0xCCA9, - 24590 - 11904: 0xABE7, - 24591 - 11904: 0xA9C2, - 24592 - 11904: 0xCCAA, - 24593 - 11904: 0xCCAD, - 24594 - 11904: 0xABE3, - 24595 - 11904: 0xCCAC, - 24596 - 11904: 0xA9C3, - 24597 - 11904: 0xA9C8, - 24598 - 11904: 0xA9C6, - 24599 - 11904: 0xCCA3, - 24601 - 11904: 0xCC7C, - 24602 - 11904: 0xCCA5, - 24603 - 11904: 0xA9CD, - 24604 - 11904: 0xCCB0, - 24605 - 11904: 0xABE4, - 24606 - 11904: 0xCCA6, - 24608 - 11904: 0xABE5, - 24609 - 11904: 0xA9C9, - 24610 - 11904: 0xCCA8, - 24611 - 11904: 0xFCA9, - 24612 - 11904: 0xCECD, - 24613 - 11904: 0xABE6, - 24614 - 11904: 0xCC7B, - 24615 - 11904: 0xA9CA, - 24616 - 11904: 0xABE8, - 24617 - 11904: 0xA9CB, - 24618 - 11904: 0xA9C7, - 24619 - 11904: 0xA9CC, - 24620 - 11904: 0xCCA7, - 24621 - 11904: 0xCC7A, - 24622 - 11904: 0xCCAB, - 24623 - 11904: 0xA9C4, - 24625 - 11904: 0xFC61, - 24626 - 11904: 0xCC7D, - 24627 - 11904: 0xCCA4, - 24628 - 11904: 0xCCA1, - 24629 - 11904: 0xA9C5, - 24631 - 11904: 0xCEBF, - 24633 - 11904: 0xCEC0, - 24635 - 11904: 0x8966, - 24640 - 11904: 0xCECA, - 24641 - 11904: 0xD1A1, - 24642 - 11904: 0xCECB, - 24643 - 11904: 0xABEE, - 24644 - 11904: 0xCECE, - 24645 - 11904: 0xCEC4, - 24646 - 11904: 0xABED, - 24647 - 11904: 0xCEC6, - 24649 - 11904: 0xCEC7, - 24650 - 11904: 0xFACB, - 24652 - 11904: 0xCEC9, - 24653 - 11904: 0xABE9, - 24656 - 11904: 0xAEA3, - 24658 - 11904: 0xF9DA, - 24659 - 11904: 0xCEC5, - 24660 - 11904: 0xCEC1, - 24661 - 11904: 0xAEA4, - 24664 - 11904: 0xCECF, - 24665 - 11904: 0xAE7E, - 24666 - 11904: 0xD17D, - 24667 - 11904: 0xCEC8, - 24669 - 11904: 0xD17C, - 24670 - 11904: 0xCEC3, - 24671 - 11904: 0xCECC, - 24674 - 11904: 0xABEC, - 24675 - 11904: 0xAEA1, - 24676 - 11904: 0xABF2, - 24677 - 11904: 0xAEA2, - 24678 - 11904: 0xCED0, - 24679 - 11904: 0xD17E, - 24680 - 11904: 0xABEB, - 24681 - 11904: 0xAEA6, - 24682 - 11904: 0xABF1, - 24683 - 11904: 0xABF0, - 24684 - 11904: 0xABEF, - 24685 - 11904: 0xAEA5, - 24686 - 11904: 0xCED1, - 24687 - 11904: 0xAEA7, - 24688 - 11904: 0xABEA, - 24690 - 11904: 0xCEC2, - 24693 - 11904: 0x937A, - 24695 - 11904: 0xA0E0, - 24702 - 11904: 0x936B, - 24703 - 11904: 0xB176, - 24704 - 11904: 0xD1A4, - 24705 - 11904: 0xD1A6, - 24707 - 11904: 0xD1A8, - 24708 - 11904: 0xAEA8, - 24709 - 11904: 0xAEAE, - 24710 - 11904: 0xD553, - 24711 - 11904: 0xD1AC, - 24712 - 11904: 0xD1A3, - 24713 - 11904: 0xB178, - 24714 - 11904: 0xD551, - 24716 - 11904: 0xAEAD, - 24717 - 11904: 0xAEAB, - 24718 - 11904: 0xD1AE, - 24720 - 11904: 0xD552, - 24722 - 11904: 0xD1A5, - 24724 - 11904: 0xAEAC, - 24725 - 11904: 0xD1A9, - 24726 - 11904: 0xAEAF, - 24727 - 11904: 0xD1AB, - 24730 - 11904: 0xAEAA, - 24731 - 11904: 0xD1AA, - 24732 - 11904: 0xD1AD, - 24733 - 11904: 0xD1A7, - 24734 - 11904: 0xFC6B, - 24735 - 11904: 0xAEA9, - 24736 - 11904: 0xB179, - 24738 - 11904: 0xD1A2, - 24739 - 11904: 0xB177, - 24740 - 11904: 0xFC6C, - 24743 - 11904: 0x9468, - 24744 - 11904: 0xB17A, - 24752 - 11904: 0xD555, - 24753 - 11904: 0xD55E, - 24754 - 11904: 0xB464, - 24755 - 11904: 0xFC6D, - 24756 - 11904: 0xB17C, - 24757 - 11904: 0xB1A3, - 24758 - 11904: 0xB465, - 24759 - 11904: 0xD560, - 24760 - 11904: 0xB1AA, - 24761 - 11904: 0xD8F9, - 24762 - 11904: 0xD556, - 24763 - 11904: 0xB1A2, - 24764 - 11904: 0xB1A5, - 24765 - 11904: 0xB17E, - 24766 - 11904: 0xD554, - 24767 - 11904: 0xD562, - 24768 - 11904: 0xD565, - 24769 - 11904: 0xD949, - 24771 - 11904: 0xD563, - 24772 - 11904: 0xD8FD, - 24773 - 11904: 0xB1A1, - 24774 - 11904: 0xB1A8, - 24775 - 11904: 0xB1AC, - 24776 - 11904: 0xD55D, - 24777 - 11904: 0xD8F8, - 24778 - 11904: 0xD561, - 24779 - 11904: 0xB17B, - 24780 - 11904: 0xD8FA, - 24781 - 11904: 0xD564, - 24782 - 11904: 0xD8FC, - 24783 - 11904: 0xD559, - 24785 - 11904: 0xB462, - 24787 - 11904: 0xD557, - 24788 - 11904: 0xD558, - 24789 - 11904: 0xB1A7, - 24791 - 11904: 0x8D71, - 24792 - 11904: 0xB1A6, - 24793 - 11904: 0xD55B, - 24794 - 11904: 0xB1AB, - 24795 - 11904: 0xD55F, - 24796 - 11904: 0xB1A4, - 24797 - 11904: 0xD55C, - 24798 - 11904: 0xFD64, - 24799 - 11904: 0xB1A9, - 24800 - 11904: 0xB466, - 24801 - 11904: 0xB463, - 24802 - 11904: 0xD8FB, - 24803 - 11904: 0x99BA, - 24804 - 11904: 0xD55A, - 24806 - 11904: 0xB17D, - 24807 - 11904: 0x9AD0, - 24808 - 11904: 0x9A61, - 24809 - 11904: 0xA0E5, - 24816 - 11904: 0xB46B, - 24817 - 11904: 0xB46F, - 24818 - 11904: 0xD940, - 24819 - 11904: 0xB751, - 24820 - 11904: 0xB46D, - 24821 - 11904: 0xD944, - 24822 - 11904: 0xB471, - 24823 - 11904: 0xDD65, - 24824 - 11904: 0xD946, - 24825 - 11904: 0xB753, - 24826 - 11904: 0xB469, - 24827 - 11904: 0xB46C, - 24828 - 11904: 0xD947, - 24829 - 11904: 0xA05B, - 24830 - 11904: 0xD948, - 24831 - 11904: 0xD94E, - 24832 - 11904: 0xB473, - 24833 - 11904: 0xB754, - 24835 - 11904: 0xD94A, - 24836 - 11904: 0xD94F, - 24837 - 11904: 0xD943, - 24838 - 11904: 0xB75E, - 24839 - 11904: 0x96AC, - 24840 - 11904: 0xB755, - 24841 - 11904: 0xB472, - 24842 - 11904: 0xD941, - 24843 - 11904: 0xD950, - 24844 - 11904: 0x9740, - 24845 - 11904: 0xB75D, - 24846 - 11904: 0xB470, - 24847 - 11904: 0xB74E, - 24848 - 11904: 0xD94D, - 24850 - 11904: 0xB474, - 24851 - 11904: 0xD945, - 24852 - 11904: 0xD8FE, - 24853 - 11904: 0xB46A, - 24854 - 11904: 0xD942, - 24856 - 11904: 0xD94B, - 24857 - 11904: 0x9EF1, - 24858 - 11904: 0xB74D, - 24859 - 11904: 0xB752, - 24860 - 11904: 0xB467, - 24861 - 11904: 0xD94C, - 24863 - 11904: 0xB750, - 24866 - 11904: 0x8C4D, - 24867 - 11904: 0xB468, - 24871 - 11904: 0xB75C, - 24872 - 11904: 0xE1C3, - 24873 - 11904: 0xDD70, - 24875 - 11904: 0xDD68, - 24876 - 11904: 0xE1C2, - 24878 - 11904: 0xDD6C, - 24879 - 11904: 0xDD6E, - 24880 - 11904: 0x9F7E, - 24882 - 11904: 0xDD6B, - 24884 - 11904: 0xB75B, - 24886 - 11904: 0xDD6A, - 24887 - 11904: 0xB75F, - 24891 - 11904: 0xE1D2, - 24893 - 11904: 0x8D72, - 24894 - 11904: 0xB75A, - 24895 - 11904: 0xBA40, - 24896 - 11904: 0xDD71, - 24897 - 11904: 0xE1C4, - 24898 - 11904: 0xFC76, - 24900 - 11904: 0xB758, - 24901 - 11904: 0xDD69, - 24902 - 11904: 0xDD6D, - 24903 - 11904: 0xB9FE, - 24904 - 11904: 0xB74F, - 24905 - 11904: 0xDD66, - 24906 - 11904: 0xDD67, - 24907 - 11904: 0xBA41, - 24908 - 11904: 0xB757, - 24909 - 11904: 0xB759, - 24910 - 11904: 0xB756, - 24911 - 11904: 0xDD6F, - 24912 - 11904: 0x96A9, - 24914 - 11904: 0xE1C8, - 24915 - 11904: 0xE1C9, - 24916 - 11904: 0xE1CE, - 24917 - 11904: 0xBC7D, - 24918 - 11904: 0xE1D5, - 24920 - 11904: 0xBA47, - 24921 - 11904: 0xA06E, - 24922 - 11904: 0xBA46, - 24923 - 11904: 0xE1D0, - 24924 - 11904: 0xFCAA, - 24925 - 11904: 0xBC7C, - 24926 - 11904: 0xE1C5, - 24927 - 11904: 0xBA45, - 24928 - 11904: 0xFBCD, - 24929 - 11904: 0xE1D4, - 24930 - 11904: 0xBA43, - 24931 - 11904: 0xBA44, - 24932 - 11904: 0xFC74, - 24933 - 11904: 0xE1D1, - 24934 - 11904: 0xE5AA, - 24935 - 11904: 0xBC7A, - 24936 - 11904: 0xB46E, - 24938 - 11904: 0xE1D3, - 24939 - 11904: 0xBCA3, - 24940 - 11904: 0xE1CB, - 24942 - 11904: 0xBC7B, - 24943 - 11904: 0xA074, - 24944 - 11904: 0xBCA2, - 24945 - 11904: 0xE1C6, - 24946 - 11904: 0xE1CA, - 24947 - 11904: 0xE1C7, - 24948 - 11904: 0xE1CD, - 24949 - 11904: 0xBA48, - 24950 - 11904: 0xBC79, - 24951 - 11904: 0xBA42, - 24953 - 11904: 0xE57A, - 24954 - 11904: 0xE1CF, - 24956 - 11904: 0xBCA1, - 24957 - 11904: 0xA071, - 24958 - 11904: 0xBCA4, - 24960 - 11904: 0xE1CC, - 24961 - 11904: 0xFC79, - 24962 - 11904: 0xBC7E, - 24963 - 11904: 0xE579, - 24967 - 11904: 0xFC7C, - 24969 - 11904: 0xE57E, - 24970 - 11904: 0xBECE, - 24971 - 11904: 0xE578, - 24972 - 11904: 0xE9A3, - 24973 - 11904: 0xE5A9, - 24974 - 11904: 0xBCA8, - 24976 - 11904: 0xBCA6, - 24977 - 11904: 0xBECC, - 24978 - 11904: 0xE5A6, - 24979 - 11904: 0xE5A2, - 24980 - 11904: 0xBCAC, - 24981 - 11904: 0x9C50, - 24982 - 11904: 0xE978, - 24984 - 11904: 0x9379, - 24985 - 11904: 0x9378, - 24986 - 11904: 0xBCAA, - 24987 - 11904: 0xE5A1, - 24988 - 11904: 0xA0DD, - 24989 - 11904: 0xE976, - 24991 - 11904: 0xE5A5, - 24993 - 11904: 0xE5A8, - 24994 - 11904: 0xE57D, - 24996 - 11904: 0xBCAB, - 24999 - 11904: 0xBCA5, - 25000 - 11904: 0xE977, - 25001 - 11904: 0xBECD, - 25002 - 11904: 0xE5A7, - 25003 - 11904: 0xBCA7, - 25004 - 11904: 0xBCA9, - 25005 - 11904: 0xE5A4, - 25006 - 11904: 0xBCAD, - 25007 - 11904: 0xE5A3, - 25008 - 11904: 0xE57C, - 25009 - 11904: 0xE57B, - 25010 - 11904: 0xBECB, - 25011 - 11904: 0xE5AB, - 25012 - 11904: 0xE97A, - 25013 - 11904: 0xECE0, - 25014 - 11904: 0xBED0, - 25015 - 11904: 0x8D75, - 25016 - 11904: 0xE9A2, - 25017 - 11904: 0x8D76, - 25018 - 11904: 0xE97E, - 25020 - 11904: 0xECE1, - 25022 - 11904: 0xBED1, - 25023 - 11904: 0xE9A1, - 25024 - 11904: 0x9374, - 25025 - 11904: 0xE97C, - 25026 - 11904: 0xC0B4, - 25027 - 11904: 0xECDF, - 25029 - 11904: 0xE979, - 25030 - 11904: 0xE97B, - 25031 - 11904: 0xC0B5, - 25032 - 11904: 0xBED3, - 25033 - 11904: 0xC0B3, - 25034 - 11904: 0xBED2, - 25035 - 11904: 0xC0B7, - 25036 - 11904: 0xE97D, - 25037 - 11904: 0xBECF, - 25039 - 11904: 0x8D77, - 25040 - 11904: 0xFCA5, - 25043 - 11904: 0xFCA2, - 25046 - 11904: 0xEFCF, - 25048 - 11904: 0xEFC7, - 25050 - 11904: 0x90C3, - 25054 - 11904: 0xECE7, - 25055 - 11904: 0xEFC8, - 25056 - 11904: 0xECE3, - 25058 - 11904: 0xA079, - 25059 - 11904: 0xC256, - 25060 - 11904: 0xECE5, - 25061 - 11904: 0xECE4, - 25062 - 11904: 0xC0B6, - 25063 - 11904: 0xECE2, - 25064 - 11904: 0xECE6, - 25065 - 11904: 0xEFD0, - 25066 - 11904: 0xEFCC, - 25067 - 11904: 0xEFCE, - 25069 - 11904: 0xEFC9, - 25070 - 11904: 0xEFCA, - 25072 - 11904: 0xEFCD, - 25073 - 11904: 0xEFCB, - 25074 - 11904: 0xC367, - 25077 - 11904: 0xC36A, - 25078 - 11904: 0xC369, - 25079 - 11904: 0xC368, - 25080 - 11904: 0xC461, - 25081 - 11904: 0xF44A, - 25082 - 11904: 0xC462, - 25083 - 11904: 0xF241, - 25084 - 11904: 0xC4DF, - 25085 - 11904: 0xF5CC, - 25086 - 11904: 0xC4E0, - 25087 - 11904: 0xC574, - 25088 - 11904: 0xC5CA, - 25089 - 11904: 0xF7D9, - 25091 - 11904: 0xF7DA, - 25092 - 11904: 0xF7DB, - 25095 - 11904: 0xF9BA, - 25096 - 11904: 0xA4E0, - 25097 - 11904: 0xC97C, - 25098 - 11904: 0xA5B3, - 25100 - 11904: 0xA6A6, - 25101 - 11904: 0xA6A7, - 25102 - 11904: 0xA6A5, - 25104 - 11904: 0xA6A8, - 25105 - 11904: 0xA7DA, - 25106 - 11904: 0xA7D9, - 25108 - 11904: 0xCCB1, - 25109 - 11904: 0xA9CF, - 25110 - 11904: 0xA9CE, - 25113 - 11904: 0xD1AF, - 25114 - 11904: 0xB1AD, - 25115 - 11904: 0xB1AE, - 25119 - 11904: 0xB475, - 25120 - 11904: 0xDD72, - 25121 - 11904: 0xB760, - 25122 - 11904: 0xB761, - 25123 - 11904: 0xDD74, - 25124 - 11904: 0xDD76, - 25125 - 11904: 0xDD75, - 25127 - 11904: 0xE1D7, - 25129 - 11904: 0xE1D6, - 25130 - 11904: 0xBA49, - 25131 - 11904: 0xE1D8, - 25132 - 11904: 0x8D79, - 25133 - 11904: 0xE5AC, - 25134 - 11904: 0xBCAE, - 25136 - 11904: 0xBED4, - 25138 - 11904: 0xC0B8, - 25139 - 11904: 0xC257, - 25140 - 11904: 0xC0B9, - 25142 - 11904: 0xA4E1, - 25143 - 11904: 0x8BFC, - 25145 - 11904: 0xA076, - 25146 - 11904: 0xCAE6, - 25149 - 11904: 0xCCB2, - 25150 - 11904: 0xA9D1, - 25151 - 11904: 0xA9D0, - 25152 - 11904: 0xA9D2, - 25153 - 11904: 0xABF3, - 25154 - 11904: 0xCED2, - 25155 - 11904: 0xCED3, - 25158 - 11904: 0xD1B0, - 25159 - 11904: 0xAEB0, - 25160 - 11904: 0xB1AF, - 25161 - 11904: 0xB476, - 25162 - 11904: 0xD951, - 25163 - 11904: 0xA4E2, - 25164 - 11904: 0x8BCD, - 25165 - 11904: 0xA47E, - 25166 - 11904: 0xA4E3, - 25168 - 11904: 0xC97D, - 25169 - 11904: 0xA5B7, - 25170 - 11904: 0xA5B6, - 25171 - 11904: 0xA5B4, - 25172 - 11904: 0xA5B5, - 25176 - 11904: 0xA6AB, - 25177 - 11904: 0xC9E9, - 25178 - 11904: 0xC9EB, - 25179 - 11904: 0xA6AA, - 25180 - 11904: 0xC9E3, - 25182 - 11904: 0xC9E4, - 25184 - 11904: 0xC9EA, - 25185 - 11904: 0xC9E6, - 25186 - 11904: 0xC9E8, - 25187 - 11904: 0xA6A9, - 25188 - 11904: 0xC9E5, - 25189 - 11904: 0xC9EC, - 25190 - 11904: 0xC9E7, - 25192 - 11904: 0x9F5A, - 25197 - 11904: 0xA7E1, - 25198 - 11904: 0xA7EA, - 25199 - 11904: 0xA7E8, - 25200 - 11904: 0xCAF0, - 25201 - 11904: 0xCAED, - 25202 - 11904: 0xCAF5, - 25203 - 11904: 0xA7E6, - 25204 - 11904: 0xCAF6, - 25206 - 11904: 0xA7DF, - 25207 - 11904: 0xCAF3, - 25209 - 11904: 0xA7E5, - 25210 - 11904: 0xCAEF, - 25211 - 11904: 0xCAEE, - 25212 - 11904: 0xA7E3, - 25213 - 11904: 0xCAF4, - 25214 - 11904: 0xA7E4, - 25215 - 11904: 0xA9D3, - 25216 - 11904: 0xA7DE, - 25217 - 11904: 0xCAF1, - 25218 - 11904: 0x9FF4, - 25219 - 11904: 0xCAE7, - 25220 - 11904: 0xA7DB, - 25221 - 11904: 0x9FBA, - 25222 - 11904: 0xA7EE, - 25223 - 11904: 0xCAEC, - 25224 - 11904: 0xCAF2, - 25225 - 11904: 0xA7E0, - 25226 - 11904: 0xA7E2, - 25228 - 11904: 0xCAE8, - 25230 - 11904: 0xCAE9, - 25231 - 11904: 0xCAEA, - 25232 - 11904: 0x8D7A, - 25233 - 11904: 0xA7ED, - 25234 - 11904: 0xA7E7, - 25235 - 11904: 0xA7EC, - 25236 - 11904: 0xCAEB, - 25237 - 11904: 0xA7EB, - 25238 - 11904: 0xA7DD, - 25239 - 11904: 0xA7DC, - 25240 - 11904: 0xA7E9, - 25245 - 11904: 0x9E45, - 25252 - 11904: 0x93B0, - 25254 - 11904: 0xA075, - 25256 - 11904: 0xA9E1, - 25257 - 11904: 0xCCBE, - 25258 - 11904: 0xCCB7, - 25259 - 11904: 0xA9DC, - 25260 - 11904: 0xA9EF, - 25261 - 11904: 0xCCB3, - 25262 - 11904: 0xCCBA, - 25263 - 11904: 0xCCBC, - 25264 - 11904: 0xCCBF, - 25265 - 11904: 0xA9EA, - 25267 - 11904: 0xCCBB, - 25268 - 11904: 0xCCB4, - 25269 - 11904: 0xA9E8, - 25270 - 11904: 0xCCB8, - 25272 - 11904: 0xCCC0, - 25273 - 11904: 0xA9D9, - 25275 - 11904: 0xCCBD, - 25276 - 11904: 0xA9E3, - 25277 - 11904: 0xA9E2, - 25278 - 11904: 0xCCB6, - 25279 - 11904: 0xA9D7, - 25281 - 11904: 0x87DD, - 25282 - 11904: 0xA9D8, - 25283 - 11904: 0x9B46, - 25284 - 11904: 0xA9D6, - 25285 - 11904: 0xFCAE, - 25286 - 11904: 0xA9EE, - 25287 - 11904: 0xA9E6, - 25288 - 11904: 0xA9E0, - 25289 - 11904: 0xA9D4, - 25290 - 11904: 0xCCB9, - 25291 - 11904: 0xA9DF, - 25292 - 11904: 0xA9D5, - 25293 - 11904: 0xA9E7, - 25294 - 11904: 0xA9F0, - 25295 - 11904: 0xCED4, - 25296 - 11904: 0xA9E4, - 25297 - 11904: 0xCCB5, - 25298 - 11904: 0xA9DA, - 25299 - 11904: 0xA9DD, - 25300 - 11904: 0xA9DE, - 25301 - 11904: 0xFCB0, - 25302 - 11904: 0xA9EC, - 25303 - 11904: 0xA9ED, - 25304 - 11904: 0xA9EB, - 25305 - 11904: 0xA9E5, - 25306 - 11904: 0xA9E9, - 25307 - 11904: 0xA9DB, - 25308 - 11904: 0xABF4, - 25311 - 11904: 0xFA51, - 25317 - 11904: 0x8D7B, - 25323 - 11904: 0xCEDA, - 25324 - 11904: 0xAC41, - 25325 - 11904: 0xABF8, - 25326 - 11904: 0xABFA, - 25327 - 11904: 0xAC40, - 25328 - 11904: 0xCEE6, - 25329 - 11904: 0xABFD, - 25330 - 11904: 0xD1B1, - 25331 - 11904: 0xAEB1, - 25332 - 11904: 0xAC43, - 25333 - 11904: 0xCED7, - 25334 - 11904: 0xCEDF, - 25335 - 11904: 0xABFE, - 25336 - 11904: 0xCEDE, - 25337 - 11904: 0xCEDB, - 25338 - 11904: 0xCEE3, - 25339 - 11904: 0xCEE5, - 25340 - 11904: 0xABF7, - 25341 - 11904: 0xABFB, - 25342 - 11904: 0xAC42, - 25343 - 11904: 0xAEB3, - 25344 - 11904: 0xCEE0, - 25345 - 11904: 0xABF9, - 25346 - 11904: 0xAC45, - 25347 - 11904: 0xCED9, - 25351 - 11904: 0xABFC, - 25352 - 11904: 0xAEB2, - 25353 - 11904: 0xABF6, - 25355 - 11904: 0xCED6, - 25356 - 11904: 0xCEDD, - 25357 - 11904: 0xCED5, - 25358 - 11904: 0xCED8, - 25359 - 11904: 0xCEDC, - 25360 - 11904: 0xD1B2, - 25361 - 11904: 0xAC44, - 25363 - 11904: 0xCEE1, - 25364 - 11904: 0xCEE2, - 25365 - 11904: 0xCEE4, - 25366 - 11904: 0xABF5, - 25368 - 11904: 0x8D7C, - 25384 - 11904: 0xAEC1, - 25385 - 11904: 0xD1BE, - 25386 - 11904: 0xAEBF, - 25387 - 11904: 0xAEC0, - 25388 - 11904: 0xD1B4, - 25389 - 11904: 0xD1C4, - 25390 - 11904: 0x9ED6, - 25391 - 11904: 0xAEB6, - 25393 - 11904: 0x93AC, - 25394 - 11904: 0xD566, - 25395 - 11904: 0xD1C6, - 25396 - 11904: 0xD1C0, - 25397 - 11904: 0x9F5B, - 25398 - 11904: 0xD1B7, - 25399 - 11904: 0x93A9, - 25400 - 11904: 0xD1C9, - 25401 - 11904: 0xD1BA, - 25402 - 11904: 0xAEBC, - 25403 - 11904: 0xD57D, - 25404 - 11904: 0xD1BD, - 25405 - 11904: 0xAEBE, - 25406 - 11904: 0xAEB5, - 25408 - 11904: 0xD1CB, - 25409 - 11904: 0xD1BF, - 25410 - 11904: 0xAEB8, - 25411 - 11904: 0xD1B8, - 25412 - 11904: 0xD1B5, - 25413 - 11904: 0xD1B6, - 25414 - 11904: 0xAEB9, - 25415 - 11904: 0xD1C5, - 25416 - 11904: 0xD1CC, - 25417 - 11904: 0xAEBB, - 25418 - 11904: 0xD1BC, - 25419 - 11904: 0xD1BB, - 25420 - 11904: 0xAEC3, - 25421 - 11904: 0xAEC2, - 25422 - 11904: 0xAEB4, - 25423 - 11904: 0xAEBA, - 25424 - 11904: 0xAEBD, - 25425 - 11904: 0xD1C8, - 25428 - 11904: 0xD1C2, - 25429 - 11904: 0xAEB7, - 25430 - 11904: 0xD1B3, - 25431 - 11904: 0xD1CA, - 25432 - 11904: 0xD1C1, - 25433 - 11904: 0xD1C3, - 25434 - 11904: 0xD1C7, - 25444 - 11904: 0xA07C, - 25445 - 11904: 0xD567, - 25447 - 11904: 0xB1B7, - 25448 - 11904: 0xB1CB, - 25449 - 11904: 0xB1CA, - 25451 - 11904: 0xB1BF, - 25452 - 11904: 0xFCB2, - 25453 - 11904: 0xD579, - 25454 - 11904: 0xD575, - 25455 - 11904: 0xD572, - 25456 - 11904: 0xD5A6, - 25457 - 11904: 0xB1BA, - 25458 - 11904: 0xB1B2, - 25461 - 11904: 0xD577, - 25462 - 11904: 0xB4A8, - 25463 - 11904: 0xB1B6, - 25464 - 11904: 0xD5A1, - 25465 - 11904: 0x8AC1, - 25466 - 11904: 0xB1CC, - 25467 - 11904: 0xB1C9, - 25468 - 11904: 0xD57B, - 25469 - 11904: 0xD56A, - 25471 - 11904: 0x9FB4, - 25472 - 11904: 0xB1C8, - 25473 - 11904: 0xD5A3, - 25474 - 11904: 0xD569, - 25475 - 11904: 0xB1BD, - 25476 - 11904: 0xB1C1, - 25477 - 11904: 0xD5A2, - 25479 - 11904: 0xD573, - 25480 - 11904: 0xB1C2, - 25481 - 11904: 0xB1BC, - 25482 - 11904: 0xD568, - 25483 - 11904: 0xFCAC, - 25484 - 11904: 0xB478, - 25485 - 11904: 0xD5A5, - 25486 - 11904: 0xD571, - 25487 - 11904: 0xB1C7, - 25488 - 11904: 0xD574, - 25489 - 11904: 0xD5A4, - 25490 - 11904: 0xB1C6, - 25492 - 11904: 0xD952, - 25494 - 11904: 0xB1B3, - 25495 - 11904: 0xD56F, - 25496 - 11904: 0xB1B8, - 25497 - 11904: 0xB1C3, - 25499 - 11904: 0xB1BE, - 25500 - 11904: 0xD578, - 25501 - 11904: 0xD56E, - 25502 - 11904: 0xD56C, - 25503 - 11904: 0xD57E, - 25504 - 11904: 0xB1B0, - 25505 - 11904: 0xB1C4, - 25506 - 11904: 0xB1B4, - 25507 - 11904: 0xB477, - 25508 - 11904: 0xD57C, - 25509 - 11904: 0xB1B5, - 25511 - 11904: 0xB1B1, - 25512 - 11904: 0xB1C0, - 25513 - 11904: 0xB1BB, - 25514 - 11904: 0xB1B9, - 25515 - 11904: 0xD570, - 25516 - 11904: 0xB1C5, - 25517 - 11904: 0xD56D, - 25518 - 11904: 0xD57A, - 25519 - 11904: 0xD576, - 25520 - 11904: 0xD954, - 25521 - 11904: 0xD953, - 25529 - 11904: 0x9E4C, - 25533 - 11904: 0xD56B, - 25534 - 11904: 0xD964, - 25536 - 11904: 0xB47A, - 25537 - 11904: 0x8FC5, - 25538 - 11904: 0xD96A, - 25539 - 11904: 0xD959, - 25540 - 11904: 0xD967, - 25541 - 11904: 0xDD77, - 25542 - 11904: 0xB47D, - 25543 - 11904: 0xD96B, - 25544 - 11904: 0xD96E, - 25545 - 11904: 0xB47C, - 25546 - 11904: 0xD95C, - 25547 - 11904: 0xD96D, - 25548 - 11904: 0xD96C, - 25549 - 11904: 0xB47E, - 25550 - 11904: 0xD955, - 25551 - 11904: 0xB479, - 25552 - 11904: 0xB4A3, - 25553 - 11904: 0x93AD, - 25554 - 11904: 0xB4A1, - 25555 - 11904: 0xD969, - 25557 - 11904: 0xD95F, - 25558 - 11904: 0xB4A5, - 25559 - 11904: 0xD970, - 25560 - 11904: 0xD968, - 25561 - 11904: 0xD971, - 25562 - 11904: 0xB4AD, - 25563 - 11904: 0xB4AB, - 25564 - 11904: 0xD966, - 25565 - 11904: 0xD965, - 25566 - 11904: 0x9DC3, - 25567 - 11904: 0xD963, - 25568 - 11904: 0xD95D, - 25569 - 11904: 0xB4A4, - 25570 - 11904: 0x8DA2, - 25571 - 11904: 0xB4A2, - 25572 - 11904: 0xD1B9, - 25573 - 11904: 0xD956, - 25574 - 11904: 0x9D4A, - 25575 - 11904: 0xDDB7, - 25576 - 11904: 0xD957, - 25577 - 11904: 0xB47B, - 25578 - 11904: 0xB4AA, - 25579 - 11904: 0xDD79, - 25581 - 11904: 0xB4A6, - 25582 - 11904: 0xB4A7, - 25583 - 11904: 0xD958, - 25584 - 11904: 0xD96F, - 25585 - 11904: 0xDD78, - 25586 - 11904: 0xD960, - 25587 - 11904: 0xD95B, - 25588 - 11904: 0xB4A9, - 25589 - 11904: 0xD961, - 25590 - 11904: 0xD95E, - 25592 - 11904: 0xFCB6, - 25593 - 11904: 0xB4AE, - 25595 - 11904: 0x8DA3, - 25596 - 11904: 0x9E4B, - 25598 - 11904: 0x9E4D, - 25606 - 11904: 0xB770, - 25607 - 11904: 0x8DA4, - 25609 - 11904: 0xDD7C, - 25610 - 11904: 0xDDB1, - 25611 - 11904: 0xDDB6, - 25612 - 11904: 0xDDAA, - 25613 - 11904: 0xB76C, - 25614 - 11904: 0xDDBB, - 25615 - 11904: 0xB769, - 25616 - 11904: 0xDD7A, - 25618 - 11904: 0xDD7B, - 25619 - 11904: 0xB762, - 25620 - 11904: 0xB76B, - 25621 - 11904: 0xDDA4, - 25622 - 11904: 0xB76E, - 25623 - 11904: 0xB76F, - 25624 - 11904: 0xDDA5, - 25626 - 11904: 0xDDB2, - 25627 - 11904: 0xDDB8, - 25628 - 11904: 0xB76A, - 25630 - 11904: 0xB764, - 25631 - 11904: 0xDDA3, - 25632 - 11904: 0xDD7D, - 25633 - 11904: 0xDDBA, - 25634 - 11904: 0xDDA8, - 25635 - 11904: 0xDDA9, - 25636 - 11904: 0xDD7E, - 25637 - 11904: 0xDDB4, - 25638 - 11904: 0xDDAB, - 25639 - 11904: 0xDDB5, - 25640 - 11904: 0xDDAD, - 25642 - 11904: 0xB765, - 25643 - 11904: 0xE1D9, - 25644 - 11904: 0xB768, - 25645 - 11904: 0xB766, - 25646 - 11904: 0xDDB9, - 25647 - 11904: 0xDDB0, - 25648 - 11904: 0xDDAC, - 25650 - 11904: 0x8AFD, - 25651 - 11904: 0xDDA1, - 25652 - 11904: 0xBA53, - 25653 - 11904: 0xDDAF, - 25654 - 11904: 0xB76D, - 25655 - 11904: 0xDDA7, - 25656 - 11904: 0xFCB5, - 25657 - 11904: 0xDDA6, - 25658 - 11904: 0xFCC3, - 25659 - 11904: 0x93B2, - 25661 - 11904: 0xB767, - 25662 - 11904: 0xB763, - 25663 - 11904: 0xE1EE, - 25664 - 11904: 0xDDB3, - 25665 - 11904: 0xDDAE, - 25667 - 11904: 0xDDA2, - 25675 - 11904: 0xE1E9, - 25677 - 11904: 0xE1DA, - 25678 - 11904: 0xE1E5, - 25680 - 11904: 0xE1EC, - 25681 - 11904: 0xBA51, - 25682 - 11904: 0xB4AC, - 25683 - 11904: 0xE1EA, - 25684 - 11904: 0xBA4C, - 25688 - 11904: 0xBA4B, - 25689 - 11904: 0xE1F1, - 25690 - 11904: 0x8DA5, - 25691 - 11904: 0xE1DB, - 25692 - 11904: 0xE1E8, - 25693 - 11904: 0xE1DC, - 25694 - 11904: 0xE1E7, - 25695 - 11904: 0xBA4F, - 25696 - 11904: 0xE1EB, - 25697 - 11904: 0xD962, - 25701 - 11904: 0xE1F2, - 25702 - 11904: 0xE1E3, - 25703 - 11904: 0xBA52, - 25704 - 11904: 0xE5BA, - 25705 - 11904: 0xBCAF, - 25707 - 11904: 0xE1F0, - 25708 - 11904: 0xE1EF, - 25709 - 11904: 0xBA54, - 25710 - 11904: 0xE5AD, - 25711 - 11904: 0xBCB0, - 25712 - 11904: 0xE5AE, - 25713 - 11904: 0x93A1, - 25714 - 11904: 0xE1DF, - 25715 - 11904: 0xE1E0, - 25716 - 11904: 0xE1DD, - 25717 - 11904: 0xE1E2, - 25718 - 11904: 0xE1DE, - 25719 - 11904: 0xE1F3, - 25720 - 11904: 0xBA4E, - 25721 - 11904: 0xBCB1, - 25722 - 11904: 0xBA50, - 25723 - 11904: 0xBA55, - 25724 - 11904: 0x8AC6, - 25725 - 11904: 0xE1E1, - 25727 - 11904: 0xE1ED, - 25730 - 11904: 0xE1E6, - 25733 - 11904: 0xE5B1, - 25735 - 11904: 0xBA4A, - 25736 - 11904: 0xBCB4, - 25737 - 11904: 0xE9AA, - 25738 - 11904: 0xE5B6, - 25739 - 11904: 0xE5B5, - 25740 - 11904: 0xE5B7, - 25741 - 11904: 0x8A5B, - 25743 - 11904: 0xE5B4, - 25744 - 11904: 0xFCB9, - 25745 - 11904: 0x894D, - 25746 - 11904: 0xBCBB, - 25747 - 11904: 0xBCB8, - 25749 - 11904: 0xBCB9, - 25750 - 11904: 0xE5AF, - 25751 - 11904: 0xE5B2, - 25752 - 11904: 0xE5BC, - 25753 - 11904: 0xBCC1, - 25754 - 11904: 0xBCBF, - 25756 - 11904: 0xE5B3, - 25757 - 11904: 0xD95A, - 25758 - 11904: 0xBCB2, - 25759 - 11904: 0xE5B9, - 25760 - 11904: 0xE5B0, - 25762 - 11904: 0xBCC2, - 25763 - 11904: 0xE5B8, - 25764 - 11904: 0xBA4D, - 25765 - 11904: 0xBCB7, - 25766 - 11904: 0xE1E4, - 25769 - 11904: 0xBCBA, - 25771 - 11904: 0xBCBE, - 25772 - 11904: 0xBCC0, - 25773 - 11904: 0xBCBD, - 25774 - 11904: 0xBCBC, - 25775 - 11904: 0xFED4, - 25776 - 11904: 0xBCB6, - 25777 - 11904: 0xE5BB, - 25778 - 11904: 0xBCB3, - 25779 - 11904: 0xBCC3, - 25780 - 11904: 0x8A78, - 25782 - 11904: 0x93AB, - 25787 - 11904: 0xBED8, - 25788 - 11904: 0xBED9, - 25789 - 11904: 0xE9A9, - 25790 - 11904: 0xBEE2, - 25791 - 11904: 0xBEDF, - 25792 - 11904: 0x8DA7, - 25793 - 11904: 0xBED6, - 25794 - 11904: 0xBEDD, - 25795 - 11904: 0xE9AB, - 25796 - 11904: 0xBEDB, - 25797 - 11904: 0xBED5, - 25799 - 11904: 0xBEDC, - 25801 - 11904: 0xE9A8, - 25802 - 11904: 0xC0BB, - 25803 - 11904: 0xBED7, - 25805 - 11904: 0xBEDE, - 25806 - 11904: 0xC0BA, - 25807 - 11904: 0xE9A7, - 25808 - 11904: 0xE9A6, - 25810 - 11904: 0xBEE0, - 25811 - 11904: 0x9F45, - 25812 - 11904: 0xBEE1, - 25814 - 11904: 0xE9A5, - 25815 - 11904: 0xE9A4, - 25816 - 11904: 0xC0BC, - 25817 - 11904: 0xE9AE, - 25818 - 11904: 0xBEDA, - 25819 - 11904: 0xE9AC, - 25821 - 11904: 0x8A56, - 25824 - 11904: 0xC0BD, - 25825 - 11904: 0xFCBF, - 25826 - 11904: 0xC0C2, - 25827 - 11904: 0xECEA, - 25828 - 11904: 0xECEC, - 25829 - 11904: 0xFCC0, - 25830 - 11904: 0xC0BF, - 25831 - 11904: 0x8EE6, - 25832 - 11904: 0xECED, - 25833 - 11904: 0xECE9, - 25834 - 11904: 0x8AA4, - 25835 - 11904: 0xECEB, - 25836 - 11904: 0xC0C0, - 25837 - 11904: 0xC0C3, - 25839 - 11904: 0xECE8, - 25840 - 11904: 0xC0BE, - 25841 - 11904: 0xC0C1, - 25842 - 11904: 0xC259, - 25843 - 11904: 0xE9AD, - 25844 - 11904: 0xC258, - 25847 - 11904: 0xC25E, - 25848 - 11904: 0xEFD4, - 25850 - 11904: 0xC25C, - 25851 - 11904: 0xC25D, - 25852 - 11904: 0xEFD7, - 25853 - 11904: 0xEFD3, - 25854 - 11904: 0xC25A, - 25855 - 11904: 0xEFD1, - 25856 - 11904: 0xC36B, - 25857 - 11904: 0xEFD5, - 25859 - 11904: 0xEFD6, - 25860 - 11904: 0xEFD2, - 25862 - 11904: 0xC25B, - 25863 - 11904: 0xF242, - 25865 - 11904: 0xF245, - 25866 - 11904: 0x8943, - 25868 - 11904: 0xF246, - 25869 - 11904: 0xF244, - 25870 - 11904: 0xF247, - 25871 - 11904: 0xC36C, - 25872 - 11904: 0xF243, - 25873 - 11904: 0x93F3, - 25875 - 11904: 0xF44E, - 25876 - 11904: 0xC464, - 25877 - 11904: 0xF44D, - 25878 - 11904: 0xF44C, - 25879 - 11904: 0xF44B, - 25880 - 11904: 0xC463, - 25881 - 11904: 0xC465, - 25883 - 11904: 0xF5CD, - 25884 - 11904: 0xC4E2, - 25885 - 11904: 0xC4E1, - 25886 - 11904: 0xFCAB, - 25887 - 11904: 0x9EA2, - 25888 - 11904: 0xF6E1, - 25889 - 11904: 0xF6E0, - 25890 - 11904: 0xF6E3, - 25891 - 11904: 0xC5CB, - 25892 - 11904: 0xC575, - 25893 - 11904: 0xF7DD, - 25894 - 11904: 0xF6E2, - 25897 - 11904: 0xF7DC, - 25898 - 11904: 0xC5CD, - 25899 - 11904: 0xC5CC, - 25900 - 11904: 0xC5F3, - 25901 - 11904: 0xF8A9, - 25902 - 11904: 0xF8EF, - 25903 - 11904: 0xA4E4, - 25904 - 11904: 0x9DC7, - 25906 - 11904: 0xD972, - 25907 - 11904: 0xE9AF, - 25908 - 11904: 0xC6D2, - 25909 - 11904: 0x8BCE, - 25910 - 11904: 0xA6AC, - 25911 - 11904: 0xCAF7, - 25912 - 11904: 0xA7F1, - 25913 - 11904: 0xA7EF, - 25915 - 11904: 0xA7F0, - 25917 - 11904: 0xCCC1, - 25918 - 11904: 0xA9F1, - 25919 - 11904: 0xAC46, - 25921 - 11904: 0xCEE7, - 25923 - 11904: 0xCEE8, - 25925 - 11904: 0xAC47, - 25926 - 11904: 0xD1CE, - 25928 - 11904: 0xAEC4, - 25929 - 11904: 0xAEC5, - 25930 - 11904: 0xD1CD, - 25933 - 11904: 0xFCC5, - 25935 - 11904: 0xB1D3, - 25937 - 11904: 0xB1CF, - 25939 - 11904: 0xD5A7, - 25940 - 11904: 0xB1D6, - 25941 - 11904: 0xB1D5, - 25942 - 11904: 0xB1CE, - 25943 - 11904: 0xB1D1, - 25944 - 11904: 0xB1D4, - 25945 - 11904: 0xB1D0, - 25948 - 11904: 0xD976, - 25949 - 11904: 0xB1CD, - 25950 - 11904: 0xB4AF, - 25951 - 11904: 0xFCCB, - 25954 - 11904: 0xB4B1, - 25955 - 11904: 0xB4B2, - 25956 - 11904: 0xD975, - 25957 - 11904: 0xD978, - 25958 - 11904: 0xB4B0, - 25959 - 11904: 0xD973, - 25960 - 11904: 0xD977, - 25962 - 11904: 0xD974, - 25963 - 11904: 0x93B3, - 25964 - 11904: 0xB771, - 25965 - 11904: 0xFCCA, - 25967 - 11904: 0xDDBC, - 25970 - 11904: 0xBA56, - 25971 - 11904: 0xE1F4, - 25972 - 11904: 0xBEE3, - 25973 - 11904: 0xBCC4, - 25974 - 11904: 0xE5BD, - 25975 - 11904: 0xBCC5, - 25976 - 11904: 0xBCC6, - 25977 - 11904: 0xE5BF, - 25978 - 11904: 0xE5BE, - 25979 - 11904: 0xE5C0, - 25980 - 11904: 0xE9B1, - 25983 - 11904: 0xE9B0, - 25984 - 11904: 0xECEF, - 25985 - 11904: 0xECEE, - 25986 - 11904: 0xC0C4, - 25987 - 11904: 0xC0C5, - 25988 - 11904: 0xF248, - 25989 - 11904: 0xFCC9, - 25990 - 11904: 0x8DAC, - 25991 - 11904: 0xA4E5, - 25992 - 11904: 0xFBC6, - 25993 - 11904: 0x8967, - 25995 - 11904: 0x8C7E, - 25996 - 11904: 0xD979, - 26000 - 11904: 0xB4B4, - 26001 - 11904: 0xB4B3, - 26002 - 11904: 0xDDBD, - 26004 - 11904: 0xEFD8, - 26005 - 11904: 0xC4E3, - 26006 - 11904: 0xF7DE, - 26007 - 11904: 0xA4E6, - 26009 - 11904: 0xAEC6, - 26011 - 11904: 0xB1D8, - 26012 - 11904: 0xB1D7, - 26013 - 11904: 0xD97A, - 26014 - 11904: 0xD97B, - 26015 - 11904: 0xB772, - 26016 - 11904: 0xE1F5, - 26017 - 11904: 0xBA57, - 26018 - 11904: 0xE9B2, - 26020 - 11904: 0xA4E7, - 26021 - 11904: 0xA5B8, - 26023 - 11904: 0xA9F2, - 26024 - 11904: 0xCCC2, - 26026 - 11904: 0xCEE9, - 26027 - 11904: 0xAC48, - 26028 - 11904: 0xB1D9, - 26030 - 11904: 0xD97C, - 26031 - 11904: 0xB4B5, - 26032 - 11904: 0xB773, - 26034 - 11904: 0xE5C1, - 26035 - 11904: 0xE5C2, - 26037 - 11904: 0xFCCD, - 26038 - 11904: 0xECF0, - 26039 - 11904: 0xC25F, - 26040 - 11904: 0xF8F0, - 26041 - 11904: 0xA4E8, - 26043 - 11904: 0xCCC3, - 26044 - 11904: 0xA9F3, - 26045 - 11904: 0xAC49, - 26046 - 11904: 0x9CF3, - 26047 - 11904: 0xCEEA, - 26049 - 11904: 0xAEC7, - 26050 - 11904: 0xD1D2, - 26051 - 11904: 0xD1D0, - 26052 - 11904: 0xD1D1, - 26053 - 11904: 0xAEC8, - 26054 - 11904: 0xD1CF, - 26059 - 11904: 0xB1DB, - 26060 - 11904: 0xB1DC, - 26061 - 11904: 0xD5A8, - 26062 - 11904: 0xB1DD, - 26063 - 11904: 0xB1DA, - 26064 - 11904: 0xD97D, - 26065 - 11904: 0xFCD0, - 26066 - 11904: 0xD97E, - 26067 - 11904: 0xDDBE, - 26068 - 11904: 0x95BB, - 26070 - 11904: 0xBA59, - 26071 - 11904: 0xBA58, - 26074 - 11904: 0xECF1, - 26075 - 11904: 0xEFD9, - 26077 - 11904: 0xF24A, - 26078 - 11904: 0xF249, - 26079 - 11904: 0xF44F, - 26080 - 11904: 0xFCD3, - 26081 - 11904: 0xC95E, - 26082 - 11904: 0xAC4A, - 26083 - 11904: 0xFCD4, - 26085 - 11904: 0xA4E9, - 26086 - 11904: 0xA5B9, - 26088 - 11904: 0xA6AE, - 26089 - 11904: 0xA6AD, - 26092 - 11904: 0xA6AF, - 26093 - 11904: 0xA6B0, - 26094 - 11904: 0xC9EE, - 26095 - 11904: 0xC9ED, - 26096 - 11904: 0xCAF8, - 26097 - 11904: 0xA7F2, - 26098 - 11904: 0xCAFB, - 26099 - 11904: 0xCAFA, - 26100 - 11904: 0xCAF9, - 26101 - 11904: 0xCAFC, - 26106 - 11904: 0xA9F4, - 26107 - 11904: 0xCCC9, - 26108 - 11904: 0xCCC5, - 26109 - 11904: 0xCCCE, - 26111 - 11904: 0x8DAE, - 26112 - 11904: 0xA9FB, - 26114 - 11904: 0xA9F9, - 26115 - 11904: 0xCCCA, - 26116 - 11904: 0xCCC6, - 26117 - 11904: 0xCCCD, - 26118 - 11904: 0xA9F8, - 26119 - 11904: 0xAA40, - 26120 - 11904: 0xCCC8, - 26121 - 11904: 0xCCC4, - 26122 - 11904: 0xA9FE, - 26123 - 11904: 0xCCCB, - 26124 - 11904: 0xA9F7, - 26125 - 11904: 0xCCCC, - 26126 - 11904: 0xA9FA, - 26127 - 11904: 0xA9FC, - 26128 - 11904: 0xCCD0, - 26129 - 11904: 0xCCCF, - 26130 - 11904: 0xCCC7, - 26131 - 11904: 0xA9F6, - 26132 - 11904: 0xA9F5, - 26133 - 11904: 0xA9FD, - 26136 - 11904: 0xFCD7, - 26140 - 11904: 0xCEEF, - 26141 - 11904: 0xCEF5, - 26142 - 11904: 0x93DB, - 26143 - 11904: 0xAC50, - 26144 - 11904: 0xAC4D, - 26145 - 11904: 0xCEEC, - 26146 - 11904: 0xCEF1, - 26147 - 11904: 0xFE63, - 26148 - 11904: 0xAC53, - 26149 - 11904: 0xAC4B, - 26150 - 11904: 0xCEF0, - 26151 - 11904: 0xAC4E, - 26152 - 11904: 0xAC51, - 26155 - 11904: 0xCEF3, - 26157 - 11904: 0xAC4C, - 26158 - 11904: 0xCEF8, - 26159 - 11904: 0xAC4F, - 26160 - 11904: 0x93D5, - 26161 - 11904: 0xAC52, - 26162 - 11904: 0xCEED, - 26163 - 11904: 0xCEF2, - 26164 - 11904: 0xCEF6, - 26165 - 11904: 0xCEEE, - 26166 - 11904: 0xCEEB, - 26169 - 11904: 0xCEF7, - 26170 - 11904: 0xCEF4, - 26177 - 11904: 0xAED0, - 26178 - 11904: 0xAEC9, - 26179 - 11904: 0xAECC, - 26180 - 11904: 0xFCDA, - 26181 - 11904: 0xAECF, - 26183 - 11904: 0xD1D5, - 26184 - 11904: 0x9B71, - 26185 - 11904: 0xAECA, - 26186 - 11904: 0xD1D3, - 26187 - 11904: 0xFCDD, - 26188 - 11904: 0xAECE, - 26189 - 11904: 0x8764, - 26191 - 11904: 0xAECB, - 26193 - 11904: 0xD1D6, - 26194 - 11904: 0xAECD, - 26195 - 11904: 0x8DAF, - 26199 - 11904: 0xFAF2, - 26201 - 11904: 0xD5AC, - 26202 - 11904: 0xB1DF, - 26203 - 11904: 0xD5AB, - 26204 - 11904: 0xD5AD, - 26205 - 11904: 0xB1DE, - 26206 - 11904: 0xB1E3, - 26207 - 11904: 0xD1D4, - 26208 - 11904: 0x87B5, - 26209 - 11904: 0xD5AA, - 26210 - 11904: 0xD5AE, - 26211 - 11904: 0x93D8, - 26212 - 11904: 0xB1E0, - 26213 - 11904: 0xD5A9, - 26214 - 11904: 0xB1E2, - 26215 - 11904: 0xFCDF, - 26216 - 11904: 0xB1E1, - 26218 - 11904: 0xD9A7, - 26219 - 11904: 0x93D3, - 26220 - 11904: 0xD9A2, - 26222 - 11904: 0xB4B6, - 26223 - 11904: 0xB4BA, - 26224 - 11904: 0xB4B7, - 26225 - 11904: 0xD9A5, - 26226 - 11904: 0xD9A8, - 26227 - 11904: 0xFCE1, - 26228 - 11904: 0xFCE2, - 26230 - 11904: 0xB4B9, - 26231 - 11904: 0xB4BE, - 26232 - 11904: 0xDDC7, - 26233 - 11904: 0xD9A6, - 26234 - 11904: 0xB4BC, - 26235 - 11904: 0xD9A3, - 26236 - 11904: 0xD9A1, - 26237 - 11904: 0x8E76, - 26238 - 11904: 0xB4BD, - 26240 - 11904: 0xD9A4, - 26244 - 11904: 0xB779, - 26245 - 11904: 0xFC62, - 26246 - 11904: 0xDDBF, - 26247 - 11904: 0xB776, - 26248 - 11904: 0xB777, - 26249 - 11904: 0xB775, - 26250 - 11904: 0xDDC4, - 26251 - 11904: 0xDDC3, - 26252 - 11904: 0xDDC0, - 26253 - 11904: 0xB77B, - 26254 - 11904: 0x93D1, - 26256 - 11904: 0xDDC2, - 26257 - 11904: 0xB4BB, - 26258 - 11904: 0x8DB1, - 26260 - 11904: 0xDDC6, - 26261 - 11904: 0xDDC1, - 26262 - 11904: 0xB778, - 26263 - 11904: 0xB774, - 26264 - 11904: 0xB77A, - 26265 - 11904: 0xDDC5, - 26266 - 11904: 0x9859, - 26269 - 11904: 0xBA5C, - 26271 - 11904: 0xE1F8, - 26272 - 11904: 0xE1F7, - 26273 - 11904: 0xE1F6, - 26274 - 11904: 0xBA5A, - 26276 - 11904: 0xFB52, - 26280 - 11904: 0xBA5B, - 26281 - 11904: 0xE5C5, - 26282 - 11904: 0xE5C8, - 26283 - 11904: 0xBCC8, - 26285 - 11904: 0xFB53, - 26286 - 11904: 0xBCC7, - 26287 - 11904: 0xE5C9, - 26288 - 11904: 0xE5C4, - 26289 - 11904: 0xBCCA, - 26290 - 11904: 0xE5C6, - 26291 - 11904: 0xFB4D, - 26292 - 11904: 0xBCC9, - 26293 - 11904: 0xE5C3, - 26294 - 11904: 0x9CBF, - 26295 - 11904: 0xE5C7, - 26296 - 11904: 0xBEE9, - 26297 - 11904: 0xBEE6, - 26298 - 11904: 0xE9BB, - 26299 - 11904: 0xE9BA, - 26301 - 11904: 0xE9B9, - 26302 - 11904: 0xE9B4, - 26303 - 11904: 0x9B72, - 26304 - 11904: 0xE9B5, - 26308 - 11904: 0xBEE7, - 26310 - 11904: 0xBEE4, - 26311 - 11904: 0xBEE8, - 26312 - 11904: 0xE9B3, - 26313 - 11904: 0xBEE5, - 26314 - 11904: 0xE9B6, - 26315 - 11904: 0xE9B7, - 26316 - 11904: 0xE9BC, - 26317 - 11904: 0xFB50, - 26318 - 11904: 0x93BE, - 26319 - 11904: 0xE9B8, - 26322 - 11904: 0xECF2, - 26326 - 11904: 0xC0C7, - 26328 - 11904: 0xEFDC, - 26329 - 11904: 0xC0C6, - 26330 - 11904: 0xEFDA, - 26331 - 11904: 0xEFDB, - 26332 - 11904: 0xC260, - 26333 - 11904: 0xC36E, - 26334 - 11904: 0xF24B, - 26336 - 11904: 0xC36D, - 26339 - 11904: 0xF451, - 26340 - 11904: 0xF452, - 26342 - 11904: 0xC466, - 26343 - 11904: 0x8CDB, - 26344 - 11904: 0xF450, - 26345 - 11904: 0xC4E4, - 26347 - 11904: 0xF7DF, - 26348 - 11904: 0xC5CE, - 26349 - 11904: 0xF8AA, - 26350 - 11904: 0xF8AB, - 26352 - 11904: 0xA4EA, - 26353 - 11904: 0x9DF1, - 26354 - 11904: 0xA6B1, - 26355 - 11904: 0xA6B2, - 26356 - 11904: 0xA7F3, - 26358 - 11904: 0xCCD1, - 26359 - 11904: 0xAC54, - 26360 - 11904: 0xAED1, - 26361 - 11904: 0xB1E4, - 26364 - 11904: 0xB0D2, - 26366 - 11904: 0xB4BF, - 26367 - 11904: 0xB4C0, - 26368 - 11904: 0xB3CC, - 26369 - 11904: 0xD9A9, - 26370 - 11904: 0xFCEB, - 26371 - 11904: 0xB77C, - 26372 - 11904: 0xE1FA, - 26373 - 11904: 0xE1F9, - 26376 - 11904: 0xA4EB, - 26377 - 11904: 0xA6B3, - 26378 - 11904: 0xCCD2, - 26379 - 11904: 0xAA42, - 26380 - 11904: 0xA0BB, - 26381 - 11904: 0xAA41, - 26382 - 11904: 0x9B7E, - 26383 - 11904: 0xCEF9, - 26384 - 11904: 0xCEFA, - 26386 - 11904: 0xD1D7, - 26387 - 11904: 0xD1D8, - 26388 - 11904: 0xAED2, - 26389 - 11904: 0xAED3, - 26390 - 11904: 0x8DB3, - 26391 - 11904: 0xAED4, - 26392 - 11904: 0xD5AF, - 26393 - 11904: 0x8C52, - 26395 - 11904: 0xB1E6, - 26397 - 11904: 0xB4C2, - 26398 - 11904: 0x9AE8, - 26399 - 11904: 0xB4C1, - 26400 - 11904: 0xDDC8, - 26401 - 11904: 0xDF7A, - 26402 - 11904: 0xE1FB, - 26403 - 11904: 0xE9BD, - 26405 - 11904: 0x8EDC, - 26406 - 11904: 0xC261, - 26407 - 11904: 0xC467, - 26408 - 11904: 0xA4EC, - 26410 - 11904: 0xA5BC, - 26411 - 11904: 0xA5BD, - 26412 - 11904: 0xA5BB, - 26413 - 11904: 0xA5BE, - 26414 - 11904: 0xA5BA, - 26417 - 11904: 0xA6B6, - 26419 - 11904: 0xC9F6, - 26420 - 11904: 0xA6B5, - 26421 - 11904: 0xA6B7, - 26422 - 11904: 0x9CF9, - 26424 - 11904: 0xC9F1, - 26425 - 11904: 0xC9F0, - 26426 - 11904: 0xC9F3, - 26427 - 11904: 0xC9F2, - 26428 - 11904: 0xC9F5, - 26429 - 11904: 0xA6B4, - 26430 - 11904: 0xC9EF, - 26431 - 11904: 0xC9F4, - 26436 - 11904: 0xFA50, - 26437 - 11904: 0xCAFD, - 26438 - 11904: 0xA7FD, - 26439 - 11904: 0xCAFE, - 26440 - 11904: 0xCB43, - 26441 - 11904: 0xA7FC, - 26443 - 11904: 0xCB47, - 26444 - 11904: 0xCB42, - 26445 - 11904: 0xCB45, - 26446 - 11904: 0xA7F5, - 26447 - 11904: 0xA7F6, - 26448 - 11904: 0xA7F7, - 26449 - 11904: 0xA7F8, - 26451 - 11904: 0xA840, - 26453 - 11904: 0xCB41, - 26454 - 11904: 0xA7FA, - 26455 - 11904: 0xA841, - 26457 - 11904: 0xCB40, - 26458 - 11904: 0xCB46, - 26460 - 11904: 0xA7F9, - 26461 - 11904: 0xCB44, - 26462 - 11904: 0xFCF1, - 26463 - 11904: 0xA7F4, - 26464 - 11904: 0xA7FE, - 26465 - 11904: 0x98E7, - 26466 - 11904: 0xFCF3, - 26471 - 11904: 0xFCF2, - 26474 - 11904: 0xAA57, - 26475 - 11904: 0x8CCA, - 26476 - 11904: 0xCCD4, - 26477 - 11904: 0xAA43, - 26478 - 11904: 0x8775, - 26479 - 11904: 0xAA4D, - 26480 - 11904: 0xAA4E, - 26481 - 11904: 0xAA46, - 26482 - 11904: 0xAA58, - 26483 - 11904: 0xAA48, - 26484 - 11904: 0xCCDC, - 26485 - 11904: 0xAA53, - 26486 - 11904: 0xCCD7, - 26487 - 11904: 0xAA49, - 26488 - 11904: 0xCCE6, - 26489 - 11904: 0xCCE7, - 26490 - 11904: 0xCCDF, - 26491 - 11904: 0xCCD8, - 26492 - 11904: 0xAA56, - 26493 - 11904: 0xCCE4, - 26494 - 11904: 0xAA51, - 26495 - 11904: 0xAA4F, - 26497 - 11904: 0xCCE5, - 26498 - 11904: 0x87BA, - 26499 - 11904: 0xCCE3, - 26500 - 11904: 0xCCDB, - 26501 - 11904: 0xCCD3, - 26502 - 11904: 0xCCDA, - 26503 - 11904: 0xAA4A, - 26505 - 11904: 0xAA50, - 26507 - 11904: 0xAA44, - 26508 - 11904: 0xCCDE, - 26509 - 11904: 0xCCDD, - 26510 - 11904: 0xCCD5, - 26511 - 11904: 0x93E5, - 26512 - 11904: 0xAA52, - 26513 - 11904: 0xCCE1, - 26514 - 11904: 0xCCD6, - 26515 - 11904: 0xAA55, - 26516 - 11904: 0xCCE8, - 26517 - 11904: 0xAA45, - 26519 - 11904: 0xAA4C, - 26520 - 11904: 0xCCD9, - 26521 - 11904: 0xCCE2, - 26522 - 11904: 0xAA54, - 26524 - 11904: 0xAA47, - 26525 - 11904: 0xAA4B, - 26527 - 11904: 0xCCE0, - 26528 - 11904: 0x9A59, - 26532 - 11904: 0x8DB5, - 26540 - 11904: 0xFD4D, - 26542 - 11904: 0xCF5B, - 26543 - 11904: 0xAC5C, - 26544 - 11904: 0xAC69, - 26545 - 11904: 0xFD5E, - 26546 - 11904: 0xCF56, - 26547 - 11904: 0xCF4C, - 26548 - 11904: 0xAC62, - 26549 - 11904: 0xCF4A, - 26550 - 11904: 0xAC5B, - 26551 - 11904: 0xCF45, - 26552 - 11904: 0xAC65, - 26553 - 11904: 0xCF52, - 26554 - 11904: 0xCEFE, - 26555 - 11904: 0xCF41, - 26559 - 11904: 0x8F7D, - 26560 - 11904: 0xCF44, - 26561 - 11904: 0xCEFB, - 26562 - 11904: 0xCF51, - 26563 - 11904: 0xCF61, - 26564 - 11904: 0xAC60, - 26565 - 11904: 0xCF46, - 26566 - 11904: 0xCF58, - 26568 - 11904: 0xCEFD, - 26569 - 11904: 0xCF5F, - 26570 - 11904: 0xCF60, - 26571 - 11904: 0xCF63, - 26572 - 11904: 0xCF5A, - 26573 - 11904: 0xCF4B, - 26574 - 11904: 0xCF53, - 26575 - 11904: 0xAC66, - 26576 - 11904: 0xAC59, - 26577 - 11904: 0xAC61, - 26578 - 11904: 0xAC6D, - 26579 - 11904: 0xAC56, - 26580 - 11904: 0xAC58, - 26582 - 11904: 0x9547, - 26583 - 11904: 0xFCF6, - 26584 - 11904: 0xCF43, - 26585 - 11904: 0xAC6A, - 26586 - 11904: 0xAC63, - 26587 - 11904: 0xCF5D, - 26588 - 11904: 0xCF40, - 26589 - 11904: 0xAC6C, - 26590 - 11904: 0xAC67, - 26591 - 11904: 0xCF49, - 26594 - 11904: 0xAC6B, - 26595 - 11904: 0xCF50, - 26596 - 11904: 0xCF48, - 26597 - 11904: 0xAC64, - 26598 - 11904: 0xCF5C, - 26599 - 11904: 0xCF54, - 26601 - 11904: 0xAC5E, - 26602 - 11904: 0xCF62, - 26603 - 11904: 0xCF47, - 26604 - 11904: 0xAC5A, - 26605 - 11904: 0xCF59, - 26606 - 11904: 0xCF4F, - 26607 - 11904: 0xAC5F, - 26608 - 11904: 0xCF55, - 26609 - 11904: 0xAC57, - 26610 - 11904: 0xCEFC, - 26611 - 11904: 0xAC68, - 26612 - 11904: 0xAEE3, - 26613 - 11904: 0xAC5D, - 26614 - 11904: 0xCF4E, - 26615 - 11904: 0xCF4D, - 26616 - 11904: 0xCF42, - 26617 - 11904: 0x9250, - 26618 - 11904: 0xCF5E, - 26620 - 11904: 0xCF57, - 26622 - 11904: 0x8968, - 26623 - 11904: 0xAC55, - 26624 - 11904: 0x8DB6, - 26625 - 11904: 0xFCFB, - 26626 - 11904: 0xA07D, - 26627 - 11904: 0x98FC, - 26628 - 11904: 0x8969, - 26637 - 11904: 0xFE4F, - 26640 - 11904: 0x9256, - 26642 - 11904: 0xD1EC, - 26643 - 11904: 0xAEEA, - 26644 - 11904: 0xD1ED, - 26646 - 11904: 0xD1E1, - 26647 - 11904: 0xAEDF, - 26648 - 11904: 0xAEEB, - 26650 - 11904: 0xD1DA, - 26651 - 11904: 0xFAC9, - 26652 - 11904: 0xD1E3, - 26653 - 11904: 0xD1EB, - 26654 - 11904: 0x93E8, - 26655 - 11904: 0xD1D9, - 26656 - 11904: 0xD1F4, - 26657 - 11904: 0xAED5, - 26658 - 11904: 0xFCF8, - 26661 - 11904: 0xD1F3, - 26662 - 11904: 0xD1EE, - 26664 - 11904: 0xD1EF, - 26665 - 11904: 0xAEDD, - 26666 - 11904: 0xAEE8, - 26667 - 11904: 0xD1E5, - 26669 - 11904: 0xD1E6, - 26670 - 11904: 0xD1F0, - 26671 - 11904: 0xD1E7, - 26673 - 11904: 0xD1E2, - 26674 - 11904: 0xD1DC, - 26675 - 11904: 0xD1DD, - 26676 - 11904: 0xD1EA, - 26677 - 11904: 0xD1E4, - 26678 - 11904: 0x9CE3, - 26679 - 11904: 0xFDA9, - 26680 - 11904: 0xAED6, - 26681 - 11904: 0xAEDA, - 26682 - 11904: 0xD1F2, - 26683 - 11904: 0xD1DE, - 26684 - 11904: 0xAEE6, - 26685 - 11904: 0xAEE2, - 26686 - 11904: 0xFC44, - 26688 - 11904: 0xAEE5, - 26689 - 11904: 0xAEEC, - 26690 - 11904: 0xAEDB, - 26691 - 11904: 0xAEE7, - 26692 - 11904: 0xD1E9, - 26693 - 11904: 0xAEE9, - 26694 - 11904: 0xAED8, - 26695 - 11904: 0x9640, - 26696 - 11904: 0xAED7, - 26697 - 11904: 0xD1DB, - 26698 - 11904: 0x8DB8, - 26699 - 11904: 0xD1DF, - 26700 - 11904: 0xAEE0, - 26701 - 11904: 0xD1F1, - 26702 - 11904: 0xD1E8, - 26703 - 11904: 0xD1E0, - 26704 - 11904: 0xAEE4, - 26705 - 11904: 0xAEE1, - 26707 - 11904: 0xAED9, - 26708 - 11904: 0xAEDC, - 26709 - 11904: 0x9B4A, - 26710 - 11904: 0x8FB9, - 26717 - 11904: 0xFCFE, - 26725 - 11904: 0x896A, - 26731 - 11904: 0xD5C4, - 26733 - 11904: 0xD5B4, - 26734 - 11904: 0xD5B5, - 26735 - 11904: 0xD5B9, - 26737 - 11904: 0xD5C8, - 26738 - 11904: 0xD5C5, - 26740 - 11904: 0xD5BE, - 26741 - 11904: 0xD5BD, - 26742 - 11904: 0xB1ED, - 26743 - 11904: 0xD5C1, - 26744 - 11904: 0xD5D0, - 26745 - 11904: 0xD5B0, - 26747 - 11904: 0xD5D1, - 26748 - 11904: 0xD5C3, - 26749 - 11904: 0xD5D5, - 26750 - 11904: 0xD5C9, - 26751 - 11904: 0xB1EC, - 26752 - 11904: 0xD5C7, - 26753 - 11904: 0xB1E7, - 26754 - 11904: 0xB1FC, - 26755 - 11904: 0xB1F2, - 26756 - 11904: 0x8DB9, - 26757 - 11904: 0xB1F6, - 26758 - 11904: 0xB1F5, - 26759 - 11904: 0xD5B1, - 26760 - 11904: 0x917E, - 26761 - 11904: 0xD5CE, - 26762 - 11904: 0xD5D4, - 26763 - 11904: 0xD5CC, - 26764 - 11904: 0xD5D3, - 26767 - 11904: 0xD5C0, - 26768 - 11904: 0xD5B2, - 26769 - 11904: 0xD5D2, - 26770 - 11904: 0xD5C2, - 26771 - 11904: 0xB1EA, - 26772 - 11904: 0xB1F7, - 26774 - 11904: 0xD5CB, - 26775 - 11904: 0xB1F0, - 26776 - 11904: 0x93F4, - 26779 - 11904: 0xD5CA, - 26780 - 11904: 0xD5B3, - 26781 - 11904: 0xB1F8, - 26783 - 11904: 0xB1FA, - 26784 - 11904: 0xD5CD, - 26785 - 11904: 0xB1FB, - 26786 - 11904: 0xB1E9, - 26787 - 11904: 0xD5BA, - 26788 - 11904: 0xD5CF, - 26790 - 11904: 0xFB7C, - 26791 - 11904: 0xB1EF, - 26792 - 11904: 0xB1F9, - 26793 - 11904: 0xD5BC, - 26794 - 11904: 0xD5C6, - 26795 - 11904: 0xD5B7, - 26796 - 11904: 0xD5BB, - 26797 - 11904: 0xB1F4, - 26798 - 11904: 0xD5B6, - 26799 - 11904: 0xB1E8, - 26800 - 11904: 0xB1F1, - 26801 - 11904: 0xB1EE, - 26802 - 11904: 0xD5BF, - 26803 - 11904: 0xAEDE, - 26804 - 11904: 0xD9C0, - 26805 - 11904: 0xB1EB, - 26806 - 11904: 0x93E7, - 26809 - 11904: 0x97EF, - 26813 - 11904: 0xFE4A, - 26819 - 11904: 0xFD45, - 26820 - 11904: 0xB1F3, - 26821 - 11904: 0x96A5, - 26822 - 11904: 0xD9C3, - 26823 - 11904: 0xD9D9, - 26824 - 11904: 0xD9CE, - 26825 - 11904: 0xB4D6, - 26826 - 11904: 0xFEE0, - 26827 - 11904: 0xB4D1, - 26828 - 11904: 0xD9BD, - 26829 - 11904: 0xB4D2, - 26830 - 11904: 0xD9CD, - 26832 - 11904: 0xD9C6, - 26833 - 11904: 0xD9D3, - 26834 - 11904: 0xB4CE, - 26835 - 11904: 0xD9AB, - 26836 - 11904: 0xD9D5, - 26837 - 11904: 0xB4C4, - 26838 - 11904: 0xD9B3, - 26839 - 11904: 0xB4C7, - 26840 - 11904: 0xB4C6, - 26842 - 11904: 0xB4D7, - 26844 - 11904: 0xD9AD, - 26845 - 11904: 0xD9CF, - 26846 - 11904: 0xD9D0, - 26847 - 11904: 0xB4C9, - 26848 - 11904: 0xB4C5, - 26849 - 11904: 0xD9BB, - 26851 - 11904: 0xB4D0, - 26852 - 11904: 0xD9B6, - 26854 - 11904: 0xD9D1, - 26855 - 11904: 0xB4CC, - 26856 - 11904: 0xD9C9, - 26857 - 11904: 0xD9D6, - 26858 - 11904: 0xD9B0, - 26859 - 11904: 0xD9B5, - 26860 - 11904: 0xD9AF, - 26862 - 11904: 0xB4CB, - 26863 - 11904: 0xD9C2, - 26864 - 11904: 0xDDDE, - 26865 - 11904: 0xD9B1, - 26866 - 11904: 0xB4CF, - 26867 - 11904: 0xD9BA, - 26868 - 11904: 0xD9D2, - 26869 - 11904: 0xB4CA, - 26870 - 11904: 0xD9B7, - 26871 - 11904: 0xD9B4, - 26872 - 11904: 0xD9C5, - 26873 - 11904: 0xB4CD, - 26874 - 11904: 0xB4C3, - 26875 - 11904: 0xB4D9, - 26876 - 11904: 0xD9C8, - 26877 - 11904: 0xD9C7, - 26880 - 11904: 0xFD48, - 26881 - 11904: 0xFD47, - 26882 - 11904: 0xFEF2, - 26883 - 11904: 0xFE6A, - 26884 - 11904: 0xD9AC, - 26885 - 11904: 0xB4C8, - 26886 - 11904: 0xD9D4, - 26887 - 11904: 0xD9BC, - 26888 - 11904: 0xD9BE, - 26889 - 11904: 0x8DBD, - 26890 - 11904: 0xD9CB, - 26891 - 11904: 0xD9CA, - 26892 - 11904: 0xD9AA, - 26893 - 11904: 0xB4D3, - 26894 - 11904: 0xB4D5, - 26895 - 11904: 0xD9B2, - 26896 - 11904: 0xD9B9, - 26897 - 11904: 0xD9C1, - 26898 - 11904: 0xB4D4, - 26899 - 11904: 0xD9B8, - 26900 - 11904: 0xD9C4, - 26901 - 11904: 0xD9D7, - 26903 - 11904: 0xD9CC, - 26904 - 11904: 0x9BA1, - 26905 - 11904: 0x8CA2, - 26906 - 11904: 0x9AB7, - 26907 - 11904: 0x8EFC, - 26917 - 11904: 0xD9D8, - 26922 - 11904: 0xD9AE, - 26924 - 11904: 0x9FA1, - 26927 - 11904: 0xDDF2, - 26928 - 11904: 0xB7A6, - 26930 - 11904: 0xDDF0, - 26931 - 11904: 0xDDDB, - 26932 - 11904: 0xDDE0, - 26933 - 11904: 0xDDD9, - 26934 - 11904: 0xFD51, - 26935 - 11904: 0xDDEC, - 26936 - 11904: 0xDDCB, - 26937 - 11904: 0xDDD2, - 26939 - 11904: 0xDDEA, - 26940 - 11904: 0xDDF4, - 26941 - 11904: 0xDDDC, - 26942 - 11904: 0xFAAD, - 26943 - 11904: 0xDDCF, - 26944 - 11904: 0xDDE2, - 26945 - 11904: 0xDDE7, - 26946 - 11904: 0xDDD3, - 26947 - 11904: 0x8DBE, - 26948 - 11904: 0xDDE4, - 26949 - 11904: 0xDDD0, - 26950 - 11904: 0x89A4, - 26952 - 11904: 0xDDD7, - 26953 - 11904: 0xDDD8, - 26954 - 11904: 0xB7A8, - 26955 - 11904: 0xDDEB, - 26956 - 11904: 0xDDE9, - 26958 - 11904: 0xDDCC, - 26959 - 11904: 0xDDEE, - 26961 - 11904: 0xDDEF, - 26962 - 11904: 0xDDF1, - 26963 - 11904: 0xB7AC, - 26964 - 11904: 0xB7A4, - 26965 - 11904: 0x9AD9, - 26966 - 11904: 0xD5B8, - 26967 - 11904: 0xDDD4, - 26968 - 11904: 0xDDE6, - 26969 - 11904: 0xDDD5, - 26970 - 11904: 0xB7A1, - 26971 - 11904: 0xB7B1, - 26972 - 11904: 0xDDED, - 26973 - 11904: 0xB7AF, - 26974 - 11904: 0xB7AB, - 26975 - 11904: 0xDDCA, - 26976 - 11904: 0xB7A3, - 26977 - 11904: 0xFD4E, - 26978 - 11904: 0xDDCD, - 26979 - 11904: 0xB7B0, - 26980 - 11904: 0x8DC0, - 26981 - 11904: 0xDDDD, - 26982 - 11904: 0xDDC9, - 26983 - 11904: 0x97F0, - 26984 - 11904: 0xB7A9, - 26985 - 11904: 0xDDE1, - 26986 - 11904: 0xDDD1, - 26987 - 11904: 0xB7AA, - 26988 - 11904: 0xDDDA, - 26989 - 11904: 0xB77E, - 26990 - 11904: 0xB4D8, - 26991 - 11904: 0xDDE3, - 26992 - 11904: 0xD9BF, - 26993 - 11904: 0xDDCE, - 26994 - 11904: 0x93B4, - 26995 - 11904: 0xFD44, - 26996 - 11904: 0xDDE8, - 26997 - 11904: 0xB7A5, - 26998 - 11904: 0xDDE5, - 26999 - 11904: 0xB7A2, - 27000 - 11904: 0xDDDF, - 27001 - 11904: 0xB7AD, - 27002 - 11904: 0xDDD6, - 27003 - 11904: 0xDDF3, - 27008 - 11904: 0x9FA7, - 27010 - 11904: 0xB7A7, - 27011 - 11904: 0xDEC6, - 27013 - 11904: 0x8DC2, - 27014 - 11904: 0xB7AE, - 27018 - 11904: 0x99B6, - 27021 - 11904: 0xE24A, - 27022 - 11904: 0xE248, - 27024 - 11904: 0xE25E, - 27025 - 11904: 0xE246, - 27027 - 11904: 0xE258, - 27028 - 11904: 0xB77D, - 27029 - 11904: 0xBA5F, - 27030 - 11904: 0xE242, - 27031 - 11904: 0xE25D, - 27032 - 11904: 0xFD52, - 27033 - 11904: 0xE247, - 27034 - 11904: 0xE255, - 27035 - 11904: 0xBA64, - 27036 - 11904: 0xBA5D, - 27038 - 11904: 0xE25B, - 27039 - 11904: 0x8DC1, - 27040 - 11904: 0xE240, - 27041 - 11904: 0xE25A, - 27042 - 11904: 0x8E46, - 27043 - 11904: 0xBA6F, - 27044 - 11904: 0xE251, - 27045 - 11904: 0xE261, - 27046 - 11904: 0xBA6D, - 27047 - 11904: 0xE249, - 27048 - 11904: 0xBA5E, - 27049 - 11904: 0xE24B, - 27050 - 11904: 0xE259, - 27051 - 11904: 0xBA67, - 27052 - 11904: 0xE244, - 27053 - 11904: 0xBA6B, - 27054 - 11904: 0xBA61, - 27055 - 11904: 0xE24D, - 27056 - 11904: 0xE243, - 27057 - 11904: 0xE1FC, - 27058 - 11904: 0xA0D1, - 27059 - 11904: 0xE257, - 27060 - 11904: 0xBA68, - 27061 - 11904: 0xE260, - 27062 - 11904: 0xE1FD, - 27063 - 11904: 0xBA65, - 27065 - 11904: 0xE253, - 27067 - 11904: 0xBA66, - 27068 - 11904: 0xE245, - 27069 - 11904: 0xE250, - 27070 - 11904: 0xE24C, - 27071 - 11904: 0xE24E, - 27072 - 11904: 0x9FCA, - 27073 - 11904: 0xBA60, - 27074 - 11904: 0xE25F, - 27075 - 11904: 0xBA6E, - 27076 - 11904: 0xE24F, - 27078 - 11904: 0xE262, - 27081 - 11904: 0xE1FE, - 27082 - 11904: 0xE254, - 27083 - 11904: 0xBA63, - 27084 - 11904: 0xBA6C, - 27085 - 11904: 0xBA6A, - 27086 - 11904: 0xE241, - 27087 - 11904: 0xE256, - 27088 - 11904: 0xBA69, - 27089 - 11904: 0x92CF, - 27091 - 11904: 0xBA62, - 27092 - 11904: 0xE252, - 27093 - 11904: 0x9CF4, - 27094 - 11904: 0x8DC4, - 27097 - 11904: 0xE25C, - 27105 - 11904: 0xFD41, - 27106 - 11904: 0xE5D5, - 27108 - 11904: 0xE5D1, - 27109 - 11904: 0xE5CD, - 27110 - 11904: 0xE5E1, - 27111 - 11904: 0xE5DE, - 27112 - 11904: 0xBCCD, - 27113 - 11904: 0x9B4C, - 27115 - 11904: 0xE5E5, - 27116 - 11904: 0xE5D4, - 27117 - 11904: 0xBCD8, - 27118 - 11904: 0xE5DB, - 27121 - 11904: 0xE5D0, - 27122 - 11904: 0xE5DA, - 27123 - 11904: 0xBCD5, - 27124 - 11904: 0xE5EE, - 27126 - 11904: 0xE5EB, - 27127 - 11904: 0xE5DD, - 27128 - 11904: 0xE5CE, - 27129 - 11904: 0xFD57, - 27130 - 11904: 0xFCEF, - 27131 - 11904: 0xE5E2, - 27132 - 11904: 0xE5E4, - 27133 - 11904: 0xBCD1, - 27134 - 11904: 0xE5D8, - 27135 - 11904: 0xE5D3, - 27136 - 11904: 0xE5CA, - 27137 - 11904: 0xBCCE, - 27138 - 11904: 0xBCD6, - 27139 - 11904: 0x9CDE, - 27140 - 11904: 0xE5E7, - 27141 - 11904: 0xBCD7, - 27142 - 11904: 0xE5CB, - 27143 - 11904: 0xE5ED, - 27144 - 11904: 0xE5E0, - 27145 - 11904: 0xE5E6, - 27146 - 11904: 0xBCD4, - 27147 - 11904: 0xFD42, - 27148 - 11904: 0x986C, - 27149 - 11904: 0xE5E3, - 27151 - 11904: 0xE5EA, - 27153 - 11904: 0xBCD9, - 27155 - 11904: 0xBCD3, - 27156 - 11904: 0xE5DC, - 27157 - 11904: 0xE5CF, - 27158 - 11904: 0xE5EF, - 27159 - 11904: 0xE5CC, - 27160 - 11904: 0xE5E8, - 27161 - 11904: 0xBCD0, - 27162 - 11904: 0x97F9, - 27163 - 11904: 0xE5D6, - 27164 - 11904: 0x9558, - 27165 - 11904: 0xE5D7, - 27166 - 11904: 0xBCCF, - 27167 - 11904: 0xBCCC, - 27168 - 11904: 0xE5D2, - 27169 - 11904: 0xBCD2, - 27171 - 11904: 0xBCCB, - 27173 - 11904: 0xE5E9, - 27174 - 11904: 0xE5EC, - 27175 - 11904: 0xE5D9, - 27176 - 11904: 0xE9CA, - 27177 - 11904: 0x87B6, - 27179 - 11904: 0x985E, - 27180 - 11904: 0xFE7B, - 27181 - 11904: 0x94CD, - 27186 - 11904: 0xE9C2, - 27187 - 11904: 0x93EE, - 27188 - 11904: 0xE9BE, - 27189 - 11904: 0xBEF6, - 27192 - 11904: 0xBEEB, - 27193 - 11904: 0xBEF0, - 27194 - 11904: 0xBEEC, - 27195 - 11904: 0xE9CC, - 27196 - 11904: 0xE9D7, - 27197 - 11904: 0xBEEA, - 27198 - 11904: 0xE9C4, - 27199 - 11904: 0xE9CD, - 27200 - 11904: 0xE5DF, - 27201 - 11904: 0xE9CE, - 27203 - 11904: 0x8CA3, - 27204 - 11904: 0xBEF1, - 27205 - 11904: 0xFD5A, - 27206 - 11904: 0xE9DD, - 27207 - 11904: 0xBEF5, - 27208 - 11904: 0xBEF8, - 27209 - 11904: 0xE9C0, - 27211 - 11904: 0xBEF4, - 27212 - 11904: 0x93F5, - 27213 - 11904: 0xE9DB, - 27214 - 11904: 0xE9DC, - 27215 - 11904: 0xE9D2, - 27216 - 11904: 0xE9D1, - 27217 - 11904: 0xE9C9, - 27218 - 11904: 0x93EF, - 27219 - 11904: 0x8EEA, - 27220 - 11904: 0xE9D3, - 27221 - 11904: 0xE9DA, - 27222 - 11904: 0xE9D9, - 27223 - 11904: 0x8F5B, - 27224 - 11904: 0xBEEF, - 27225 - 11904: 0xBEED, - 27226 - 11904: 0xE9CB, - 27227 - 11904: 0xE9C8, - 27229 - 11904: 0xE9C5, - 27230 - 11904: 0xE9D8, - 27231 - 11904: 0xBEF7, - 27232 - 11904: 0xE9D6, - 27233 - 11904: 0xBEF3, - 27234 - 11904: 0xBEF2, - 27235 - 11904: 0x8C5E, - 27236 - 11904: 0xE9D0, - 27237 - 11904: 0x8DC6, - 27238 - 11904: 0xE9BF, - 27239 - 11904: 0xE9C1, - 27240 - 11904: 0xE9C3, - 27241 - 11904: 0xE9D5, - 27242 - 11904: 0xE9CF, - 27243 - 11904: 0xBEEE, - 27245 - 11904: 0xE9C6, - 27247 - 11904: 0xE9D4, - 27249 - 11904: 0x8DC8, - 27252 - 11904: 0x8DC7, - 27254 - 11904: 0xE9C7, - 27258 - 11904: 0x93F7, - 27262 - 11904: 0xC0CF, - 27263 - 11904: 0xED45, - 27264 - 11904: 0xC0C8, - 27265 - 11904: 0xECF5, - 27266 - 11904: 0x8DC9, - 27267 - 11904: 0xED41, - 27268 - 11904: 0xC0CA, - 27269 - 11904: 0xED48, - 27271 - 11904: 0xECFC, - 27273 - 11904: 0xECF7, - 27274 - 11904: 0xFBF2, - 27276 - 11904: 0xED49, - 27277 - 11904: 0xECF3, - 27278 - 11904: 0xECFE, - 27279 - 11904: 0x9670, - 27280 - 11904: 0xC0D1, - 27281 - 11904: 0xED44, - 27282 - 11904: 0xED4A, - 27283 - 11904: 0xECFD, - 27284 - 11904: 0xC0C9, - 27285 - 11904: 0xED40, - 27286 - 11904: 0xECF4, - 27287 - 11904: 0xC0D0, - 27289 - 11904: 0x8DCB, - 27290 - 11904: 0xED47, - 27291 - 11904: 0xECF9, - 27292 - 11904: 0xC0CC, - 27293 - 11904: 0xFD5C, - 27294 - 11904: 0xECFB, - 27295 - 11904: 0xECF8, - 27296 - 11904: 0xC0D2, - 27297 - 11904: 0xECFA, - 27298 - 11904: 0xC0CB, - 27299 - 11904: 0xC0CE, - 27300 - 11904: 0xED43, - 27301 - 11904: 0xECF6, - 27302 - 11904: 0xED46, - 27303 - 11904: 0x8F65, - 27304 - 11904: 0xED42, - 27307 - 11904: 0x8DCD, - 27308 - 11904: 0xC263, - 27309 - 11904: 0xEFE7, - 27310 - 11904: 0xC268, - 27311 - 11904: 0xC269, - 27313 - 11904: 0x9DA8, - 27314 - 11904: 0x94F9, - 27315 - 11904: 0xC262, - 27316 - 11904: 0xEFE6, - 27317 - 11904: 0x8DCE, - 27318 - 11904: 0xEFE3, - 27319 - 11904: 0xEFE4, - 27320 - 11904: 0xC266, - 27321 - 11904: 0xEFDE, - 27322 - 11904: 0xEFE2, - 27323 - 11904: 0xC265, - 27325 - 11904: 0xEFDF, - 27326 - 11904: 0x93EA, - 27330 - 11904: 0xC267, - 27331 - 11904: 0xC264, - 27333 - 11904: 0xEFDD, - 27334 - 11904: 0xEFE1, - 27335 - 11904: 0xEFE5, - 27336 - 11904: 0xFD5F, - 27337 - 11904: 0x93F0, - 27338 - 11904: 0x9FB6, - 27339 - 11904: 0xF251, - 27340 - 11904: 0xF24E, - 27341 - 11904: 0xF257, - 27343 - 11904: 0xF256, - 27344 - 11904: 0xF254, - 27345 - 11904: 0xF24F, - 27347 - 11904: 0xC372, - 27348 - 11904: 0x8DCF, - 27352 - 11904: 0x9763, - 27353 - 11904: 0xF250, - 27354 - 11904: 0xC371, - 27355 - 11904: 0xC0CD, - 27356 - 11904: 0xF253, - 27357 - 11904: 0xC370, - 27358 - 11904: 0xF258, - 27359 - 11904: 0xF252, - 27360 - 11904: 0xF24D, - 27361 - 11904: 0xEFE0, - 27365 - 11904: 0xC36F, - 27367 - 11904: 0xF24C, - 27368 - 11904: 0xF456, - 27370 - 11904: 0xF455, - 27371 - 11904: 0xF255, - 27372 - 11904: 0xC468, - 27374 - 11904: 0xF459, - 27375 - 11904: 0xF45A, - 27376 - 11904: 0xF454, - 27377 - 11904: 0xF458, - 27379 - 11904: 0xF453, - 27382 - 11904: 0x8DD0, - 27384 - 11904: 0xF5D1, - 27385 - 11904: 0xF457, - 27386 - 11904: 0xC4E7, - 27387 - 11904: 0xC4E5, - 27388 - 11904: 0xF5CF, - 27392 - 11904: 0xF5D2, - 27394 - 11904: 0xF5CE, - 27395 - 11904: 0xF5D0, - 27396 - 11904: 0xC4E6, - 27397 - 11904: 0x93F1, - 27400 - 11904: 0xF6E5, - 27401 - 11904: 0xF6E6, - 27402 - 11904: 0xC576, - 27403 - 11904: 0xF6E4, - 27407 - 11904: 0xF7E2, - 27408 - 11904: 0xC5CF, - 27409 - 11904: 0xF7E0, - 27410 - 11904: 0xF7E1, - 27411 - 11904: 0xF8AC, - 27414 - 11904: 0xC656, - 27415 - 11904: 0xF8F3, - 27416 - 11904: 0xF8F1, - 27417 - 11904: 0xF8F2, - 27418 - 11904: 0xF8F4, - 27421 - 11904: 0xFD62, - 27422 - 11904: 0xF9BB, - 27424 - 11904: 0xA4ED, - 27425 - 11904: 0xA6B8, - 27427 - 11904: 0xAA59, - 27429 - 11904: 0xCCE9, - 27432 - 11904: 0xCF64, - 27436 - 11904: 0xD1F5, - 27437 - 11904: 0xD1F7, - 27439 - 11904: 0xD1F6, - 27441 - 11904: 0xD1F8, - 27442 - 11904: 0xB1FD, - 27443 - 11904: 0xD5D7, - 27444 - 11904: 0xD1F9, - 27445 - 11904: 0xFD65, - 27446 - 11904: 0xD5D6, - 27447 - 11904: 0xD5D8, - 27448 - 11904: 0xD5D9, - 27449 - 11904: 0xD9DA, - 27450 - 11904: 0xB4DB, - 27451 - 11904: 0xD9DB, - 27452 - 11904: 0xD9DD, - 27453 - 11904: 0xB4DC, - 27454 - 11904: 0xB4DA, - 27455 - 11904: 0xD9DC, - 27457 - 11904: 0xDDFA, - 27458 - 11904: 0xDDF8, - 27459 - 11904: 0xDDF7, - 27461 - 11904: 0xDDF6, - 27462 - 11904: 0xDDF5, - 27463 - 11904: 0xB7B2, - 27464 - 11904: 0xDDF9, - 27465 - 11904: 0xBA70, - 27466 - 11904: 0xE263, - 27467 - 11904: 0xE265, - 27468 - 11904: 0xBA71, - 27469 - 11904: 0xE264, - 27470 - 11904: 0xBCDB, - 27472 - 11904: 0xBCDA, - 27473 - 11904: 0xE5F0, - 27474 - 11904: 0x9FDB, - 27476 - 11904: 0xE9DF, - 27477 - 11904: 0xE9DE, - 27478 - 11904: 0xE9E0, - 27479 - 11904: 0x93F8, - 27481 - 11904: 0xBEF9, - 27483 - 11904: 0xED4B, - 27484 - 11904: 0xC0D3, - 27486 - 11904: 0xEFE8, - 27487 - 11904: 0xC26A, - 27488 - 11904: 0xF259, - 27489 - 11904: 0xC577, - 27490 - 11904: 0xA4EE, - 27491 - 11904: 0xA5BF, - 27492 - 11904: 0xA6B9, - 27493 - 11904: 0xA842, - 27494 - 11904: 0xAA5A, - 27495 - 11904: 0xAA5B, - 27498 - 11904: 0xAC6E, - 27501 - 11904: 0xD1FA, - 27503 - 11904: 0x8BF7, - 27506 - 11904: 0xB7B3, - 27508 - 11904: 0xFD66, - 27510 - 11904: 0xE6D1, - 27511 - 11904: 0xBEFA, - 27512 - 11904: 0xC26B, - 27513 - 11904: 0xA4EF, - 27514 - 11904: 0x8BCF, - 27515 - 11904: 0xA6BA, - 27518 - 11904: 0xCCEB, - 27519 - 11904: 0xAA5C, - 27520 - 11904: 0xCCEA, - 27521 - 11904: 0x8DD1, - 27522 - 11904: 0xCF65, - 27523 - 11904: 0xAC6F, - 27524 - 11904: 0xCF66, - 27526 - 11904: 0xAC70, - 27528 - 11904: 0xD1FC, - 27529 - 11904: 0xAEEE, - 27530 - 11904: 0xAEED, - 27532 - 11904: 0xD5DE, - 27533 - 11904: 0xD5DC, - 27534 - 11904: 0xD5DD, - 27535 - 11904: 0xD5DB, - 27537 - 11904: 0xD5DA, - 27540 - 11904: 0xD9DE, - 27541 - 11904: 0xD9E1, - 27542 - 11904: 0xB4DE, - 27543 - 11904: 0xD9DF, - 27544 - 11904: 0xB4DD, - 27545 - 11904: 0xD9E0, - 27547 - 11904: 0xDDFB, - 27550 - 11904: 0xE266, - 27551 - 11904: 0xE267, - 27552 - 11904: 0xE268, - 27554 - 11904: 0xE5F3, - 27555 - 11904: 0xE5F2, - 27556 - 11904: 0xBCDC, - 27557 - 11904: 0xE5F1, - 27558 - 11904: 0xE5F4, - 27559 - 11904: 0xE9E1, - 27562 - 11904: 0xE9E2, - 27563 - 11904: 0xE9E3, - 27565 - 11904: 0xED4C, - 27566 - 11904: 0xC0D4, - 27567 - 11904: 0xC26C, - 27568 - 11904: 0xF25A, - 27570 - 11904: 0xC4E8, - 27571 - 11904: 0xC95F, - 27573 - 11904: 0xAC71, - 27574 - 11904: 0xCF67, - 27575 - 11904: 0xAEEF, - 27578 - 11904: 0xB1FE, - 27580 - 11904: 0xB4DF, - 27581 - 11904: 0xD9E2, - 27583 - 11904: 0xB7B5, - 27584 - 11904: 0xB7B4, - 27585 - 11904: 0x8DD2, - 27587 - 11904: 0xE269, - 27588 - 11904: 0xE26A, - 27589 - 11904: 0xBCDD, - 27590 - 11904: 0xBCDE, - 27591 - 11904: 0xE9E5, - 27592 - 11904: 0xE9E4, - 27593 - 11904: 0xEFE9, - 27594 - 11904: 0xF7E3, - 27595 - 11904: 0xA4F0, - 27596 - 11904: 0xC960, - 27597 - 11904: 0xA5C0, - 27599 - 11904: 0xA843, - 27600 - 11904: 0xCB48, - 27602 - 11904: 0xAC72, - 27603 - 11904: 0xB7B6, - 27604 - 11904: 0xA4F1, - 27606 - 11904: 0xCF68, - 27607 - 11904: 0xAC73, - 27608 - 11904: 0xCF69, - 27610 - 11904: 0xC0D5, - 27611 - 11904: 0xA4F2, - 27612 - 11904: 0xFD71, - 27614 - 11904: 0xCCEC, - 27616 - 11904: 0xCF6A, - 27617 - 11904: 0xFD6F, - 27618 - 11904: 0xD242, - 27619 - 11904: 0xD241, - 27620 - 11904: 0xD1FE, - 27622 - 11904: 0xD1FD, - 27623 - 11904: 0xD243, - 27624 - 11904: 0xD240, - 27626 - 11904: 0x8DD3, - 27627 - 11904: 0xB240, - 27628 - 11904: 0xB241, - 27631 - 11904: 0xB4E0, - 27632 - 11904: 0xD9E3, - 27634 - 11904: 0xD9E4, - 27635 - 11904: 0xD9E5, - 27639 - 11904: 0xDE41, - 27640 - 11904: 0xDE42, - 27641 - 11904: 0xDE40, - 27642 - 11904: 0x9FE7, - 27643 - 11904: 0xDDFD, - 27644 - 11904: 0xDDFE, - 27645 - 11904: 0xB7B7, - 27646 - 11904: 0xE26B, - 27647 - 11904: 0xE5F7, - 27648 - 11904: 0xE5F6, - 27649 - 11904: 0xE5F5, - 27650 - 11904: 0xE5F8, - 27651 - 11904: 0xE9E7, - 27652 - 11904: 0xE9E6, - 27653 - 11904: 0xBEFB, - 27654 - 11904: 0xE9E8, - 27656 - 11904: 0xC0D6, - 27657 - 11904: 0xED4D, - 27659 - 11904: 0xEFEA, - 27660 - 11904: 0xF25B, - 27661 - 11904: 0xF6E7, - 27663 - 11904: 0xA4F3, - 27664 - 11904: 0xA5C2, - 27665 - 11904: 0xA5C1, - 27667 - 11904: 0xAA5D, - 27668 - 11904: 0xC961, - 27669 - 11904: 0xC97E, - 27670 - 11904: 0xA6BB, - 27672 - 11904: 0xC9F7, - 27673 - 11904: 0xCB49, - 27674 - 11904: 0xCB4A, - 27675 - 11904: 0xAA5E, - 27676 - 11904: 0x90BD, - 27677 - 11904: 0xCCED, - 27679 - 11904: 0xAC74, - 27680 - 11904: 0xCF6B, - 27681 - 11904: 0xCF6C, - 27683 - 11904: 0xAEF0, - 27684 - 11904: 0xAEF4, - 27685 - 11904: 0xD244, - 27686 - 11904: 0xAEF3, - 27687 - 11904: 0xAEF1, - 27688 - 11904: 0xAEF2, - 27690 - 11904: 0xD5DF, - 27691 - 11904: 0xB242, - 27692 - 11904: 0xB4E3, - 27694 - 11904: 0xB4E1, - 27695 - 11904: 0xB4E2, - 27696 - 11904: 0xD9E6, - 27697 - 11904: 0x9FD0, - 27699 - 11904: 0xBA72, - 27700 - 11904: 0xA4F4, - 27701 - 11904: 0x8BD0, - 27702 - 11904: 0xC9A1, - 27703 - 11904: 0xFD72, - 27704 - 11904: 0xA5C3, - 27705 - 11904: 0x9CAE, - 27706 - 11904: 0x8BD1, - 27707 - 11904: 0xC9A4, - 27709 - 11904: 0x8ADB, - 27710 - 11904: 0xA5C6, - 27711 - 11904: 0xC9A3, - 27712 - 11904: 0xA5C5, - 27713 - 11904: 0xA5C4, - 27714 - 11904: 0xA844, - 27715 - 11904: 0xC9A2, - 27718 - 11904: 0xC9F8, - 27721 - 11904: 0xFAE4, - 27722 - 11904: 0xC9FC, - 27723 - 11904: 0xC9FE, - 27724 - 11904: 0xCA40, - 27725 - 11904: 0xA6C5, - 27726 - 11904: 0xA6C6, - 27727 - 11904: 0xC9FB, - 27728 - 11904: 0xA6C1, - 27730 - 11904: 0xC9F9, - 27732 - 11904: 0xC9FD, - 27733 - 11904: 0xA6C2, - 27735 - 11904: 0xA6BD, - 27736 - 11904: 0x95CE, - 27737 - 11904: 0xA6BE, - 27738 - 11904: 0xFD76, - 27739 - 11904: 0xA6C4, - 27740 - 11904: 0xC9FA, - 27741 - 11904: 0xA6BC, - 27742 - 11904: 0xA845, - 27743 - 11904: 0xA6BF, - 27744 - 11904: 0xA6C0, - 27745 - 11904: 0xA6C3, - 27749 - 11904: 0xCB5B, - 27750 - 11904: 0xCB59, - 27751 - 11904: 0xCB4C, - 27752 - 11904: 0xA851, - 27753 - 11904: 0xCB53, - 27754 - 11904: 0xA84C, - 27755 - 11904: 0xCB4D, - 27757 - 11904: 0xCB55, - 27758 - 11904: 0xFB62, - 27759 - 11904: 0xCB52, - 27760 - 11904: 0xA84F, - 27761 - 11904: 0xCB51, - 27762 - 11904: 0xA856, - 27763 - 11904: 0xCB5A, - 27764 - 11904: 0xA858, - 27765 - 11904: 0x8DD4, - 27766 - 11904: 0xA85A, - 27768 - 11904: 0xCB4B, - 27769 - 11904: 0xFD78, - 27770 - 11904: 0xA84D, - 27771 - 11904: 0xCB5C, - 27773 - 11904: 0xA854, - 27774 - 11904: 0xA857, - 27775 - 11904: 0x8EE3, - 27776 - 11904: 0xCD45, - 27777 - 11904: 0xA847, - 27778 - 11904: 0xA85E, - 27779 - 11904: 0xA855, - 27780 - 11904: 0xCB4E, - 27781 - 11904: 0xA84A, - 27782 - 11904: 0xA859, - 27783 - 11904: 0xCB56, - 27784 - 11904: 0xA848, - 27785 - 11904: 0xA849, - 27786 - 11904: 0xCD43, - 27787 - 11904: 0xCB4F, - 27788 - 11904: 0xA850, - 27789 - 11904: 0xA85B, - 27790 - 11904: 0xCB5D, - 27791 - 11904: 0xCB50, - 27792 - 11904: 0xA84E, - 27794 - 11904: 0xA853, - 27795 - 11904: 0xCCEE, - 27796 - 11904: 0xA85C, - 27797 - 11904: 0xCB57, - 27798 - 11904: 0xA852, - 27800 - 11904: 0xA85D, - 27801 - 11904: 0xA846, - 27802 - 11904: 0xCB54, - 27803 - 11904: 0xA84B, - 27804 - 11904: 0xFDB7, - 27805 - 11904: 0xCD44, - 27807 - 11904: 0x9076, - 27810 - 11904: 0x98C6, - 27818 - 11904: 0x8DD5, - 27819 - 11904: 0xAA6A, - 27820 - 11904: 0xAA7A, - 27821 - 11904: 0xCCF5, - 27822 - 11904: 0xAA71, - 27823 - 11904: 0x97D1, - 27824 - 11904: 0xCD4B, - 27825 - 11904: 0xAA62, - 27826 - 11904: 0x9EB6, - 27827 - 11904: 0xAA65, - 27828 - 11904: 0xCD42, - 27830 - 11904: 0xCCF3, - 27831 - 11904: 0xCCF7, - 27832 - 11904: 0xAA6D, - 27833 - 11904: 0xAA6F, - 27834 - 11904: 0xCCFA, - 27835 - 11904: 0xAA76, - 27836 - 11904: 0xAA68, - 27837 - 11904: 0xAA66, - 27838 - 11904: 0xAA67, - 27839 - 11904: 0xAA75, - 27840 - 11904: 0xCD47, - 27841 - 11904: 0xAA70, - 27842 - 11904: 0xCCF9, - 27843 - 11904: 0xCCFB, - 27844 - 11904: 0xAA6E, - 27845 - 11904: 0xAA73, - 27846 - 11904: 0xCCFC, - 27847 - 11904: 0xCD4A, - 27849 - 11904: 0xAC75, - 27850 - 11904: 0xAA79, - 27851 - 11904: 0xFAC7, - 27852 - 11904: 0xAA63, - 27853 - 11904: 0xCD49, - 27854 - 11904: 0xA042, - 27855 - 11904: 0xCD4D, - 27856 - 11904: 0xCCF8, - 27857 - 11904: 0xCD4F, - 27858 - 11904: 0xCD40, - 27859 - 11904: 0xAA6C, - 27860 - 11904: 0xCCF4, - 27861 - 11904: 0xAA6B, - 27862 - 11904: 0xAA7D, - 27863 - 11904: 0xAA72, - 27865 - 11904: 0xCCF2, - 27866 - 11904: 0xCF75, - 27867 - 11904: 0xAA78, - 27868 - 11904: 0xAA7C, - 27869 - 11904: 0xCD41, - 27870 - 11904: 0xCD46, - 27871 - 11904: 0x9873, - 27872 - 11904: 0xAA7E, - 27873 - 11904: 0xAA77, - 27874 - 11904: 0xAA69, - 27875 - 11904: 0xAA5F, - 27877 - 11904: 0xAA64, - 27879 - 11904: 0xCCF6, - 27880 - 11904: 0xAA60, - 27881 - 11904: 0xCD4E, - 27882 - 11904: 0x9FFC, - 27883 - 11904: 0xCCF0, - 27884 - 11904: 0xCCEF, - 27885 - 11904: 0xCCFD, - 27886 - 11904: 0xCCF1, - 27887 - 11904: 0xAA7B, - 27888 - 11904: 0xAEF5, - 27889 - 11904: 0xAA74, - 27890 - 11904: 0xCCFE, - 27891 - 11904: 0xAA61, - 27893 - 11904: 0xACA6, - 27897 - 11904: 0xCD4C, - 27903 - 11904: 0x8CA5, - 27904 - 11904: 0xCF7C, - 27905 - 11904: 0xCFA1, - 27906 - 11904: 0x8DD7, - 27907 - 11904: 0xCFA4, - 27908 - 11904: 0xCF77, - 27909 - 11904: 0x92FB, - 27910 - 11904: 0x8DD8, - 27911 - 11904: 0xCFA7, - 27912 - 11904: 0xCFAA, - 27913 - 11904: 0xCFAC, - 27914 - 11904: 0xCF74, - 27915 - 11904: 0xAC76, - 27916 - 11904: 0xAC7B, - 27917 - 11904: 0xD249, - 27918 - 11904: 0xACAD, - 27919 - 11904: 0xCFA5, - 27920 - 11904: 0xCFAD, - 27921 - 11904: 0xCF7B, - 27922 - 11904: 0xCF73, - 27926 - 11904: 0xD264, - 27927 - 11904: 0xAC7E, - 27928 - 11904: 0xCFA2, - 27929 - 11904: 0xCF78, - 27930 - 11904: 0xCF7A, - 27931 - 11904: 0xACA5, - 27933 - 11904: 0xCF7D, - 27934 - 11904: 0xAC7D, - 27935 - 11904: 0xCF70, - 27936 - 11904: 0xCFA8, - 27938 - 11904: 0xCFAB, - 27940 - 11904: 0x944F, - 27941 - 11904: 0xAC7A, - 27942 - 11904: 0x8DD9, - 27943 - 11904: 0xACA8, - 27944 - 11904: 0xCF6D, - 27945 - 11904: 0xACAA, - 27946 - 11904: 0xAC78, - 27947 - 11904: 0xACAE, - 27948 - 11904: 0xCFA9, - 27949 - 11904: 0xCF6F, - 27950 - 11904: 0xACAB, - 27951 - 11904: 0xD25E, - 27952 - 11904: 0xCD48, - 27953 - 11904: 0xAC7C, - 27954 - 11904: 0xAC77, - 27955 - 11904: 0xCF76, - 27956 - 11904: 0xCF6E, - 27957 - 11904: 0xACAC, - 27958 - 11904: 0xACA4, - 27959 - 11904: 0xCFA3, - 27960 - 11904: 0xACA9, - 27961 - 11904: 0xACA7, - 27962 - 11904: 0xCF79, - 27963 - 11904: 0xACA1, - 27964 - 11904: 0xCF71, - 27965 - 11904: 0xACA2, - 27966 - 11904: 0xACA3, - 27967 - 11904: 0xCF72, - 27968 - 11904: 0xCFA6, - 27969 - 11904: 0xAC79, - 27970 - 11904: 0xCF7E, - 27982 - 11904: 0x896B, - 27991 - 11904: 0x97CE, - 27992 - 11904: 0xD24C, - 27993 - 11904: 0xAEFD, - 27994 - 11904: 0xAF43, - 27995 - 11904: 0xFAF3, - 27996 - 11904: 0xFDAE, - 27998 - 11904: 0xD255, - 27999 - 11904: 0xD25B, - 28000 - 11904: 0xD257, - 28001 - 11904: 0xD24A, - 28002 - 11904: 0xD24D, - 28003 - 11904: 0xD246, - 28004 - 11904: 0xD247, - 28005 - 11904: 0xAF4A, - 28006 - 11904: 0xAEFA, - 28007 - 11904: 0xD256, - 28008 - 11904: 0xD25F, - 28009 - 11904: 0xAF45, - 28010 - 11904: 0xAEF6, - 28012 - 11904: 0xAF40, - 28013 - 11904: 0xD24E, - 28014 - 11904: 0xAF42, - 28015 - 11904: 0xD24F, - 28016 - 11904: 0xD259, - 28017 - 11904: 0xFBAF, - 28018 - 11904: 0x92B7, - 28020 - 11904: 0xAF44, - 28021 - 11904: 0xD268, - 28022 - 11904: 0xD248, - 28023 - 11904: 0xAEFC, - 28024 - 11904: 0xAEFB, - 28025 - 11904: 0xAF48, - 28026 - 11904: 0xD245, - 28027 - 11904: 0xD266, - 28028 - 11904: 0xD25A, - 28029 - 11904: 0xD267, - 28030 - 11904: 0xD261, - 28031 - 11904: 0xD253, - 28032 - 11904: 0xD262, - 28033 - 11904: 0x8DDA, - 28034 - 11904: 0xD25C, - 28035 - 11904: 0xD265, - 28036 - 11904: 0xD263, - 28037 - 11904: 0xAF49, - 28038 - 11904: 0xD254, - 28039 - 11904: 0xAEF9, - 28040 - 11904: 0xAEF8, - 28041 - 11904: 0xAF41, - 28042 - 11904: 0xAF47, - 28043 - 11904: 0xD260, - 28044 - 11904: 0xAF46, - 28045 - 11904: 0xD251, - 28046 - 11904: 0xB243, - 28047 - 11904: 0x9C5A, - 28048 - 11904: 0xD269, - 28049 - 11904: 0xD250, - 28050 - 11904: 0xD24B, - 28051 - 11904: 0xAEFE, - 28052 - 11904: 0xAF4B, - 28053 - 11904: 0xAEF7, - 28054 - 11904: 0xFDAD, - 28055 - 11904: 0xD258, - 28056 - 11904: 0xD25D, - 28068 - 11904: 0x8DDC, - 28069 - 11904: 0x9444, - 28074 - 11904: 0xB265, - 28075 - 11904: 0xD5E1, - 28076 - 11904: 0xD5E5, - 28078 - 11904: 0xB252, - 28079 - 11904: 0xB250, - 28081 - 11904: 0x8DDD, - 28082 - 11904: 0xB247, - 28083 - 11904: 0xD5E3, - 28084 - 11904: 0xD5E2, - 28085 - 11904: 0xB25B, - 28087 - 11904: 0xD5E8, - 28088 - 11904: 0xB255, - 28089 - 11904: 0xA0D6, - 28090 - 11904: 0xD5FA, - 28091 - 11904: 0xD647, - 28092 - 11904: 0xB244, - 28093 - 11904: 0xD5F7, - 28094 - 11904: 0xD5F0, - 28095 - 11904: 0xB267, - 28096 - 11904: 0xD5E0, - 28098 - 11904: 0xD5FC, - 28100 - 11904: 0xB264, - 28101 - 11904: 0xB258, - 28102 - 11904: 0xB263, - 28103 - 11904: 0xB24E, - 28104 - 11904: 0xD5EC, - 28105 - 11904: 0xD5FE, - 28106 - 11904: 0xD5F6, - 28107 - 11904: 0xB24F, - 28108 - 11904: 0xB249, - 28109 - 11904: 0xD645, - 28111 - 11904: 0xD5FD, - 28112 - 11904: 0xD640, - 28113 - 11904: 0xB251, - 28114 - 11904: 0xB259, - 28115 - 11904: 0xD642, - 28116 - 11904: 0xD5EA, - 28117 - 11904: 0xD5FB, - 28118 - 11904: 0xD5EF, - 28119 - 11904: 0xD644, - 28120 - 11904: 0xB25E, - 28121 - 11904: 0xB246, - 28122 - 11904: 0xB25C, - 28123 - 11904: 0xD5F4, - 28124 - 11904: 0xD5F2, - 28125 - 11904: 0xD5F3, - 28126 - 11904: 0xB253, - 28127 - 11904: 0xD5EE, - 28128 - 11904: 0xD5ED, - 28129 - 11904: 0xB248, - 28130 - 11904: 0xD5E7, - 28131 - 11904: 0xD646, - 28132 - 11904: 0xB24A, - 28133 - 11904: 0xD5F1, - 28134 - 11904: 0xB268, - 28136 - 11904: 0xB262, - 28137 - 11904: 0xD5E6, - 28138 - 11904: 0xB25F, - 28139 - 11904: 0xB25D, - 28140 - 11904: 0xB266, - 28141 - 11904: 0xD5F8, - 28142 - 11904: 0xB261, - 28143 - 11904: 0xD252, - 28144 - 11904: 0xD5F9, - 28145 - 11904: 0xB260, - 28146 - 11904: 0xD641, - 28147 - 11904: 0xB245, - 28148 - 11904: 0xD5F5, - 28149 - 11904: 0xB257, - 28150 - 11904: 0xD5E9, - 28151 - 11904: 0xB256, - 28153 - 11904: 0xB254, - 28154 - 11904: 0xB24C, - 28155 - 11904: 0xB24B, - 28156 - 11904: 0xD9E7, - 28157 - 11904: 0xD643, - 28158 - 11904: 0x8C41, - 28160 - 11904: 0xD5EB, - 28162 - 11904: 0x97D5, - 28163 - 11904: 0xD9FC, - 28164 - 11904: 0x944A, - 28165 - 11904: 0xB24D, - 28170 - 11904: 0x944D, - 28175 - 11904: 0x97CB, - 28181 - 11904: 0x8DDE, - 28184 - 11904: 0x8DDF, - 28185 - 11904: 0xB541, - 28186 - 11904: 0xB25A, - 28187 - 11904: 0xB4EE, - 28188 - 11904: 0xD9F6, - 28189 - 11904: 0xFDB8, - 28191 - 11904: 0xD9EA, - 28192 - 11904: 0xB4EB, - 28193 - 11904: 0xB4E7, - 28194 - 11904: 0xDA49, - 28195 - 11904: 0xB4ED, - 28196 - 11904: 0xB4F1, - 28197 - 11904: 0xB4EC, - 28198 - 11904: 0xB4F5, - 28199 - 11904: 0xDA4D, - 28200 - 11904: 0xDA44, - 28201 - 11904: 0x8DE0, - 28202 - 11904: 0xFEF9, - 28203 - 11904: 0xD9F1, - 28204 - 11904: 0xB4FA, - 28205 - 11904: 0xB4F4, - 28206 - 11904: 0xD9FD, - 28207 - 11904: 0xFDBB, - 28208 - 11904: 0xDA4A, - 28209 - 11904: 0xDA43, - 28210 - 11904: 0xB4E8, - 28211 - 11904: 0xD9F7, - 28212 - 11904: 0xB4F7, - 28213 - 11904: 0xDA55, - 28214 - 11904: 0xDA56, - 28216 - 11904: 0xB4E5, - 28217 - 11904: 0xDA48, - 28218 - 11904: 0xB4F9, - 28219 - 11904: 0xD9FB, - 28220 - 11904: 0xD9ED, - 28221 - 11904: 0xD9EE, - 28222 - 11904: 0xB4FD, - 28223 - 11904: 0xD9F2, - 28224 - 11904: 0xD9F9, - 28225 - 11904: 0xD9F3, - 28227 - 11904: 0xB4FB, - 28228 - 11904: 0xB544, - 28229 - 11904: 0xD9EF, - 28230 - 11904: 0xD9E8, - 28231 - 11904: 0xD9E9, - 28233 - 11904: 0xD9EB, - 28234 - 11904: 0xB4EA, - 28235 - 11904: 0xD9F8, - 28237 - 11904: 0xB4F8, - 28238 - 11904: 0xB542, - 28239 - 11904: 0xFDC0, - 28240 - 11904: 0xFCF9, - 28241 - 11904: 0xD9FA, - 28242 - 11904: 0xDA53, - 28243 - 11904: 0xDA4B, - 28244 - 11904: 0xB4E6, - 28245 - 11904: 0xDA51, - 28246 - 11904: 0xB4F2, - 28247 - 11904: 0x8CDD, - 28248 - 11904: 0xB4F0, - 28249 - 11904: 0xFB7E, - 28250 - 11904: 0xDA57, - 28251 - 11904: 0xB4EF, - 28252 - 11904: 0xDA41, - 28253 - 11904: 0xD9F4, - 28254 - 11904: 0xD9FE, - 28255 - 11904: 0xB547, - 28256 - 11904: 0xDA45, - 28257 - 11904: 0xDA42, - 28258 - 11904: 0xD9F0, - 28259 - 11904: 0xB543, - 28260 - 11904: 0xDA4F, - 28261 - 11904: 0xDA4C, - 28262 - 11904: 0xDA54, - 28263 - 11904: 0xB4E9, - 28264 - 11904: 0xDA40, - 28265 - 11904: 0xB546, - 28267 - 11904: 0xDA47, - 28270 - 11904: 0xB4F3, - 28271 - 11904: 0xB4F6, - 28273 - 11904: 0xDA46, - 28274 - 11904: 0xB545, - 28275 - 11904: 0xD9F5, - 28276 - 11904: 0xD5E4, - 28278 - 11904: 0x92B3, - 28279 - 11904: 0xDA50, - 28280 - 11904: 0xDA4E, - 28281 - 11904: 0xDA52, - 28284 - 11904: 0xFDAF, - 28294 - 11904: 0x8DE1, - 28296 - 11904: 0xD9EC, - 28297 - 11904: 0xB540, - 28299 - 11904: 0x95D3, - 28301 - 11904: 0xDE61, - 28302 - 11904: 0xDE60, - 28303 - 11904: 0xDE46, - 28304 - 11904: 0xB7BD, - 28306 - 11904: 0xDE5F, - 28307 - 11904: 0xDE49, - 28308 - 11904: 0xDE4A, - 28310 - 11904: 0xB7C7, - 28311 - 11904: 0xDE68, - 28312 - 11904: 0xB7C2, - 28313 - 11904: 0xDE5E, - 28314 - 11904: 0x89C1, - 28315 - 11904: 0xDE43, - 28316 - 11904: 0xB7C8, - 28317 - 11904: 0xB7BE, - 28318 - 11904: 0xDE52, - 28319 - 11904: 0xDE48, - 28320 - 11904: 0xDE4B, - 28321 - 11904: 0xDE63, - 28322 - 11904: 0xB7B8, - 28323 - 11904: 0xDE6A, - 28324 - 11904: 0xDE62, - 28325 - 11904: 0xB7C1, - 28326 - 11904: 0xDE57, - 28327 - 11904: 0xB7CC, - 28330 - 11904: 0xB7CB, - 28331 - 11904: 0xB7C5, - 28334 - 11904: 0xDE69, - 28335 - 11904: 0xB7B9, - 28336 - 11904: 0xDE55, - 28337 - 11904: 0xDE4C, - 28338 - 11904: 0xDE59, - 28339 - 11904: 0xDE65, - 28340 - 11904: 0xB7CD, - 28341 - 11904: 0xFD68, - 28342 - 11904: 0xB7BB, - 28343 - 11904: 0xDE54, - 28344 - 11904: 0x9CB7, - 28345 - 11904: 0xDE4D, - 28346 - 11904: 0xB7C4, - 28347 - 11904: 0x8DE3, - 28348 - 11904: 0xB7C3, - 28349 - 11904: 0xDE50, - 28350 - 11904: 0xDE5A, - 28351 - 11904: 0xDE64, - 28352 - 11904: 0xDE47, - 28353 - 11904: 0xDE51, - 28354 - 11904: 0xB7BC, - 28355 - 11904: 0xDE5B, - 28356 - 11904: 0xB7C9, - 28357 - 11904: 0xB7C0, - 28358 - 11904: 0xDE4E, - 28359 - 11904: 0xB7BF, - 28360 - 11904: 0xDE45, - 28361 - 11904: 0xDE53, - 28362 - 11904: 0xDE67, - 28363 - 11904: 0xB4FE, - 28364 - 11904: 0xBAB0, - 28365 - 11904: 0xDE56, - 28366 - 11904: 0xE26C, - 28367 - 11904: 0xDE58, - 28368 - 11904: 0xDE66, - 28369 - 11904: 0xB7C6, - 28370 - 11904: 0xDE4F, - 28371 - 11904: 0xB7BA, - 28372 - 11904: 0xB7CA, - 28373 - 11904: 0xBCF0, - 28374 - 11904: 0xDE44, - 28376 - 11904: 0xDE5D, - 28377 - 11904: 0xFAC0, - 28378 - 11904: 0x8DE5, - 28379 - 11904: 0xFA64, - 28380 - 11904: 0xDE5C, - 28381 - 11904: 0x8947, - 28386 - 11904: 0x8DE4, - 28392 - 11904: 0x8DE7, - 28393 - 11904: 0x8DE8, - 28395 - 11904: 0xE2AA, - 28396 - 11904: 0xBAAD, - 28397 - 11904: 0xE27D, - 28398 - 11904: 0xE2A4, - 28399 - 11904: 0xBAA2, - 28401 - 11904: 0xE26E, - 28402 - 11904: 0xBAAF, - 28404 - 11904: 0xBA77, - 28405 - 11904: 0xE26D, - 28406 - 11904: 0xE2B0, - 28407 - 11904: 0xBAB1, - 28408 - 11904: 0xE271, - 28409 - 11904: 0xE2A3, - 28410 - 11904: 0xFDC7, - 28411 - 11904: 0xE273, - 28412 - 11904: 0xE2B3, - 28413 - 11904: 0xE2AF, - 28414 - 11904: 0xBA75, - 28415 - 11904: 0xBAA1, - 28416 - 11904: 0xE653, - 28417 - 11904: 0xBAAE, - 28418 - 11904: 0xBA7D, - 28419 - 11904: 0xE26F, - 28420 - 11904: 0xFDB0, - 28421 - 11904: 0xE2AE, - 28422 - 11904: 0xBAA3, - 28423 - 11904: 0xE2AB, - 28424 - 11904: 0xE2B8, - 28425 - 11904: 0xE275, - 28426 - 11904: 0xE27E, - 28427 - 11904: 0x9445, - 28428 - 11904: 0x97D6, - 28429 - 11904: 0xE2B6, - 28430 - 11904: 0xE2AC, - 28431 - 11904: 0xBA7C, - 28434 - 11904: 0xE27C, - 28435 - 11904: 0xBA76, - 28436 - 11904: 0xBA74, - 28437 - 11904: 0xBAA8, - 28438 - 11904: 0xFCC6, - 28439 - 11904: 0x9844, - 28440 - 11904: 0xE27A, - 28441 - 11904: 0xE277, - 28442 - 11904: 0xE278, - 28444 - 11904: 0xE2B2, - 28446 - 11904: 0xE2B7, - 28447 - 11904: 0xE2B5, - 28448 - 11904: 0xBA7A, - 28449 - 11904: 0xE2B9, - 28450 - 11904: 0xBA7E, - 28451 - 11904: 0xBAA7, - 28452 - 11904: 0x8DE9, - 28453 - 11904: 0xE270, - 28454 - 11904: 0xE5FA, - 28455 - 11904: 0xE279, - 28457 - 11904: 0xBA78, - 28458 - 11904: 0xBAAC, - 28459 - 11904: 0xBAA9, - 28460 - 11904: 0xBA7B, - 28461 - 11904: 0xE2A5, - 28462 - 11904: 0xE274, - 28463 - 11904: 0xBAAA, - 28464 - 11904: 0xE2A7, - 28465 - 11904: 0xBAA4, - 28466 - 11904: 0xBAA6, - 28467 - 11904: 0xBA73, - 28468 - 11904: 0x8DEA, - 28469 - 11904: 0xE2A9, - 28470 - 11904: 0xE2A1, - 28471 - 11904: 0xE272, - 28472 - 11904: 0xBAA5, - 28473 - 11904: 0xE2B1, - 28474 - 11904: 0xE2B4, - 28475 - 11904: 0xE27B, - 28476 - 11904: 0xE2A8, - 28477 - 11904: 0xFE50, - 28478 - 11904: 0xBA79, - 28479 - 11904: 0xBCDF, - 28480 - 11904: 0xE2A6, - 28481 - 11904: 0xE5F9, - 28483 - 11904: 0xE2AD, - 28484 - 11904: 0xFDCC, - 28494 - 11904: 0xE276, - 28495 - 11904: 0xE644, - 28496 - 11904: 0xE64E, - 28497 - 11904: 0xBCE2, - 28498 - 11904: 0xE64D, - 28499 - 11904: 0xE659, - 28500 - 11904: 0xBCE4, - 28501 - 11904: 0xE64B, - 28502 - 11904: 0x9DA7, - 28503 - 11904: 0xE64F, - 28504 - 11904: 0xBCEF, - 28506 - 11904: 0xE646, - 28507 - 11904: 0xBCE7, - 28508 - 11904: 0xFDCD, - 28509 - 11904: 0xE652, - 28510 - 11904: 0xE9F0, - 28511 - 11904: 0xBCF3, - 28512 - 11904: 0xBCF2, - 28513 - 11904: 0xE654, - 28514 - 11904: 0xE643, - 28515 - 11904: 0xE65E, - 28516 - 11904: 0xBCED, - 28518 - 11904: 0xBCE3, - 28519 - 11904: 0xE657, - 28521 - 11904: 0xE65B, - 28522 - 11904: 0xE660, - 28523 - 11904: 0xE655, - 28524 - 11904: 0xE649, - 28525 - 11904: 0xBCE6, - 28526 - 11904: 0xBCE9, - 28527 - 11904: 0xBCF1, - 28528 - 11904: 0xBCEC, - 28530 - 11904: 0xE64C, - 28531 - 11904: 0xE2A2, - 28532 - 11904: 0xFDCF, - 28534 - 11904: 0xE648, - 28535 - 11904: 0xE65F, - 28536 - 11904: 0xBCE8, - 28537 - 11904: 0x95D2, - 28538 - 11904: 0xBCEB, - 28539 - 11904: 0xE661, - 28540 - 11904: 0xBCE0, - 28541 - 11904: 0xE656, - 28542 - 11904: 0xE5FB, - 28543 - 11904: 0xE65C, - 28544 - 11904: 0xC0DF, - 28545 - 11904: 0x8DED, - 28546 - 11904: 0xE64A, - 28548 - 11904: 0xBCE1, - 28549 - 11904: 0xE645, - 28550 - 11904: 0xBCE5, - 28551 - 11904: 0xE5FC, - 28552 - 11904: 0xBAAB, - 28553 - 11904: 0xE641, - 28554 - 11904: 0xFCBA, - 28555 - 11904: 0xE65A, - 28556 - 11904: 0xE642, - 28557 - 11904: 0xE640, - 28558 - 11904: 0xBCEA, - 28560 - 11904: 0xE658, - 28562 - 11904: 0xE5FE, - 28563 - 11904: 0xE651, - 28564 - 11904: 0xE650, - 28565 - 11904: 0xE65D, - 28566 - 11904: 0xE647, - 28567 - 11904: 0xBCEE, - 28573 - 11904: 0xFDC5, - 28574 - 11904: 0xE9F3, - 28575 - 11904: 0xFDD2, - 28576 - 11904: 0xBF49, - 28577 - 11904: 0xBEFE, - 28578 - 11904: 0xEA40, - 28579 - 11904: 0xE9EB, - 28580 - 11904: 0xBF41, - 28581 - 11904: 0xE9F7, - 28582 - 11904: 0xBF48, - 28583 - 11904: 0xBF43, - 28584 - 11904: 0xE9F5, - 28585 - 11904: 0xED4F, - 28586 - 11904: 0xE9FB, - 28587 - 11904: 0xEA42, - 28588 - 11904: 0xE9FA, - 28589 - 11904: 0xE9E9, - 28590 - 11904: 0xE9F8, - 28591 - 11904: 0xEA44, - 28592 - 11904: 0xEA46, - 28593 - 11904: 0xBEFD, - 28594 - 11904: 0xEA45, - 28595 - 11904: 0xBF44, - 28596 - 11904: 0xBF4A, - 28597 - 11904: 0x9CDC, - 28598 - 11904: 0xBF47, - 28600 - 11904: 0xE9FE, - 28601 - 11904: 0xBF46, - 28602 - 11904: 0xE9F9, - 28603 - 11904: 0x95CF, - 28604 - 11904: 0xE9ED, - 28605 - 11904: 0xE9F2, - 28606 - 11904: 0x8DEE, - 28607 - 11904: 0xE9FD, - 28608 - 11904: 0xBF45, - 28609 - 11904: 0xBF42, - 28610 - 11904: 0xBEFC, - 28611 - 11904: 0xBF40, - 28612 - 11904: 0xE9F1, - 28614 - 11904: 0xE5FD, - 28615 - 11904: 0xE9EC, - 28616 - 11904: 0xE9EF, - 28617 - 11904: 0xEA41, - 28618 - 11904: 0xE9F4, - 28619 - 11904: 0xE9EA, - 28620 - 11904: 0xED4E, - 28621 - 11904: 0xEA43, - 28622 - 11904: 0xE9EE, - 28623 - 11904: 0xE9FC, - 28627 - 11904: 0xFDD4, - 28628 - 11904: 0xED51, - 28629 - 11904: 0xC0E3, - 28632 - 11904: 0xC0D7, - 28633 - 11904: 0x96EC, - 28634 - 11904: 0x96EB, - 28635 - 11904: 0xC0DB, - 28636 - 11904: 0xED53, - 28637 - 11904: 0xED59, - 28638 - 11904: 0xED57, - 28639 - 11904: 0xC0D9, - 28640 - 11904: 0xC0DA, - 28641 - 11904: 0xC0E1, - 28642 - 11904: 0xED5A, - 28643 - 11904: 0xED52, - 28644 - 11904: 0xC0DC, - 28646 - 11904: 0xED56, - 28647 - 11904: 0xED55, - 28648 - 11904: 0xED5B, - 28649 - 11904: 0xC0E2, - 28651 - 11904: 0xC0DD, - 28652 - 11904: 0xC0E0, - 28653 - 11904: 0xED54, - 28654 - 11904: 0xC0E4, - 28655 - 11904: 0xC0DE, - 28656 - 11904: 0xC0E5, - 28657 - 11904: 0xC0D8, - 28658 - 11904: 0xED58, - 28660 - 11904: 0xED50, - 28662 - 11904: 0x90B6, - 28663 - 11904: 0xEFF7, - 28664 - 11904: 0xFDC3, - 28666 - 11904: 0xC271, - 28667 - 11904: 0xEFF4, - 28668 - 11904: 0xEFF6, - 28670 - 11904: 0xC26F, - 28671 - 11904: 0xEFF2, - 28672 - 11904: 0xEFF3, - 28673 - 11904: 0xEFEE, - 28675 - 11904: 0x98AB, - 28676 - 11904: 0xE9F6, - 28677 - 11904: 0xEFEF, - 28678 - 11904: 0xC270, - 28679 - 11904: 0xEFEB, - 28681 - 11904: 0xC26D, - 28682 - 11904: 0xEFF8, - 28683 - 11904: 0xC26E, - 28684 - 11904: 0xEFEC, - 28685 - 11904: 0xEFED, - 28686 - 11904: 0xEFF1, - 28687 - 11904: 0xC273, - 28689 - 11904: 0xC272, - 28692 - 11904: 0xEFF0, - 28693 - 11904: 0xC378, - 28694 - 11904: 0xF25F, - 28695 - 11904: 0xF265, - 28696 - 11904: 0xC379, - 28697 - 11904: 0xF25C, - 28698 - 11904: 0xC376, - 28699 - 11904: 0xC373, - 28700 - 11904: 0xF267, - 28701 - 11904: 0xC377, - 28702 - 11904: 0x96EE, - 28703 - 11904: 0xC374, - 28704 - 11904: 0xF25E, - 28705 - 11904: 0xF261, - 28706 - 11904: 0xF262, - 28707 - 11904: 0xF263, - 28708 - 11904: 0xF266, - 28710 - 11904: 0xEFF5, - 28711 - 11904: 0xF25D, - 28712 - 11904: 0xC375, - 28713 - 11904: 0xF264, - 28714 - 11904: 0xF268, - 28715 - 11904: 0xF260, - 28716 - 11904: 0x8DF4, - 28719 - 11904: 0xF45D, - 28720 - 11904: 0xC46A, - 28721 - 11904: 0xF460, - 28722 - 11904: 0xC46B, - 28723 - 11904: 0xF468, - 28724 - 11904: 0xF45F, - 28725 - 11904: 0xF45C, - 28727 - 11904: 0xF45E, - 28728 - 11904: 0xF462, - 28729 - 11904: 0xF465, - 28730 - 11904: 0xF464, - 28731 - 11904: 0xF467, - 28732 - 11904: 0xF45B, - 28734 - 11904: 0xC469, - 28735 - 11904: 0xF463, - 28736 - 11904: 0xF466, - 28737 - 11904: 0xF469, - 28738 - 11904: 0xF461, - 28739 - 11904: 0xF5D3, - 28740 - 11904: 0xF5D4, - 28741 - 11904: 0xF5D8, - 28742 - 11904: 0xF5D9, - 28744 - 11904: 0xF5D6, - 28745 - 11904: 0xF5D7, - 28746 - 11904: 0xF5D5, - 28747 - 11904: 0xFDE0, - 28748 - 11904: 0xC4E9, - 28749 - 11904: 0x8C67, - 28752 - 11904: 0x8DF6, - 28753 - 11904: 0xC578, - 28754 - 11904: 0xF6EB, - 28756 - 11904: 0x8DF7, - 28757 - 11904: 0xF6E8, - 28758 - 11904: 0xF6E9, - 28759 - 11904: 0xF6EA, - 28760 - 11904: 0xC579, - 28762 - 11904: 0xF7E5, - 28763 - 11904: 0xF7E4, - 28764 - 11904: 0x8FFA, - 28765 - 11904: 0xF8AF, - 28766 - 11904: 0xC5F4, - 28767 - 11904: 0xF8AD, - 28768 - 11904: 0xF8B0, - 28769 - 11904: 0xF8AE, - 28770 - 11904: 0xF8F5, - 28771 - 11904: 0xC657, - 28772 - 11904: 0xC665, - 28773 - 11904: 0xF9A3, - 28774 - 11904: 0xF96C, - 28775 - 11904: 0x97D0, - 28776 - 11904: 0xF9A2, - 28777 - 11904: 0xF9D0, - 28778 - 11904: 0xF9D1, - 28779 - 11904: 0xA4F5, - 28780 - 11904: 0x8BD2, - 28782 - 11904: 0x87DE, - 28783 - 11904: 0x8DF8, - 28784 - 11904: 0xA6C7, - 28785 - 11904: 0xCA41, - 28788 - 11904: 0xCB5E, - 28789 - 11904: 0x90D9, - 28790 - 11904: 0xA85F, - 28791 - 11904: 0x8C47, - 28792 - 11904: 0xA862, - 28793 - 11904: 0xFAF0, - 28794 - 11904: 0xCB5F, - 28796 - 11904: 0xA860, - 28797 - 11904: 0xA861, - 28798 - 11904: 0xFDE1, - 28799 - 11904: 0x8DF9, - 28801 - 11904: 0xFDE3, - 28802 - 11904: 0xCD58, - 28803 - 11904: 0xCD5A, - 28804 - 11904: 0xCD55, - 28805 - 11904: 0xCD52, - 28806 - 11904: 0xCD54, - 28809 - 11904: 0x8DFA, - 28810 - 11904: 0xAAA4, - 28811 - 11904: 0xFB63, - 28814 - 11904: 0xAAA2, - 28815 - 11904: 0x90A6, - 28817 - 11904: 0xCD56, - 28818 - 11904: 0xAAA3, - 28819 - 11904: 0xCD53, - 28820 - 11904: 0xCD50, - 28821 - 11904: 0xAAA1, - 28822 - 11904: 0xCD57, - 28824 - 11904: 0xCD51, - 28825 - 11904: 0xAAA5, - 28826 - 11904: 0xCD59, - 28831 - 11904: 0xCFAF, - 28832 - 11904: 0x9970, - 28833 - 11904: 0xCFB3, - 28835 - 11904: 0x91EB, - 28836 - 11904: 0xACB7, - 28837 - 11904: 0x9770, - 28838 - 11904: 0x986F, - 28839 - 11904: 0xFDE2, - 28841 - 11904: 0xCFB6, - 28843 - 11904: 0xACAF, - 28844 - 11904: 0xACB2, - 28845 - 11904: 0xACB4, - 28846 - 11904: 0xACB6, - 28847 - 11904: 0xACB3, - 28848 - 11904: 0xCFB2, - 28849 - 11904: 0xCFB1, - 28851 - 11904: 0xACB1, - 28852 - 11904: 0xCFB4, - 28853 - 11904: 0xCFB5, - 28855 - 11904: 0xCFAE, - 28856 - 11904: 0xACB5, - 28857 - 11904: 0x98F2, - 28858 - 11904: 0xACB0, - 28859 - 11904: 0x9AFC, - 28860 - 11904: 0x896C, - 28861 - 11904: 0xFDFD, - 28862 - 11904: 0xCFB0, - 28864 - 11904: 0x995E, - 28868 - 11904: 0x95BD, - 28869 - 11904: 0xD277, - 28870 - 11904: 0xD278, - 28871 - 11904: 0xD279, - 28872 - 11904: 0xAF50, - 28874 - 11904: 0xAF4C, - 28875 - 11904: 0xD26E, - 28876 - 11904: 0xFDE4, - 28877 - 11904: 0xD276, - 28878 - 11904: 0xD27B, - 28879 - 11904: 0xAF51, - 28880 - 11904: 0x91E6, - 28881 - 11904: 0xD26C, - 28882 - 11904: 0xD272, - 28883 - 11904: 0xD26B, - 28884 - 11904: 0xD275, - 28885 - 11904: 0xFDE5, - 28886 - 11904: 0xFDE6, - 28887 - 11904: 0xD271, - 28888 - 11904: 0xAF4D, - 28889 - 11904: 0xAF4F, - 28890 - 11904: 0xD27A, - 28892 - 11904: 0xD26A, - 28893 - 11904: 0xD26D, - 28894 - 11904: 0xD273, - 28895 - 11904: 0xFDE7, - 28896 - 11904: 0xD274, - 28897 - 11904: 0xD27C, - 28898 - 11904: 0xD270, - 28900 - 11904: 0xAF4E, - 28911 - 11904: 0xB26D, - 28912 - 11904: 0xD64E, - 28913 - 11904: 0x9454, - 28915 - 11904: 0xD650, - 28916 - 11904: 0xD64C, - 28917 - 11904: 0x99B8, - 28918 - 11904: 0xD658, - 28919 - 11904: 0xD64A, - 28920 - 11904: 0xD657, - 28921 - 11904: 0xB269, - 28922 - 11904: 0xD648, - 28923 - 11904: 0xDA5B, - 28924 - 11904: 0xD652, - 28925 - 11904: 0xB26C, - 28926 - 11904: 0x97E9, - 28927 - 11904: 0xD653, - 28928 - 11904: 0xD656, - 28930 - 11904: 0xD65A, - 28932 - 11904: 0xD64F, - 28933 - 11904: 0x9346, - 28934 - 11904: 0xD654, - 28937 - 11904: 0xB26A, - 28938 - 11904: 0xB26B, - 28939 - 11904: 0xD659, - 28940 - 11904: 0xD64D, - 28941 - 11904: 0xD649, - 28942 - 11904: 0xD65B, - 28944 - 11904: 0xD651, - 28947 - 11904: 0xD655, - 28951 - 11904: 0xD64B, - 28953 - 11904: 0xB548, - 28954 - 11904: 0xB549, - 28955 - 11904: 0xDA65, - 28956 - 11904: 0xB54F, - 28957 - 11904: 0x9863, - 28958 - 11904: 0xDA59, - 28959 - 11904: 0xDA62, - 28960 - 11904: 0xDA58, - 28961 - 11904: 0xB54C, - 28962 - 11904: 0xDA60, - 28963 - 11904: 0xDA5E, - 28965 - 11904: 0xDA5F, - 28966 - 11904: 0xB54A, - 28968 - 11904: 0xDA63, - 28969 - 11904: 0x95BC, - 28971 - 11904: 0xFDED, - 28972 - 11904: 0xFDF7, - 28974 - 11904: 0xDA5C, - 28975 - 11904: 0xDA5A, - 28976 - 11904: 0xB54B, - 28977 - 11904: 0xDA5D, - 28978 - 11904: 0xDA61, - 28979 - 11904: 0x9870, - 28980 - 11904: 0x96F6, - 28981 - 11904: 0x8EA9, - 28982 - 11904: 0xB54D, - 28986 - 11904: 0xDA64, - 28987 - 11904: 0x9451, - 28990 - 11904: 0x8E43, - 28992 - 11904: 0x8B5A, - 28993 - 11904: 0xDE70, - 28994 - 11904: 0xDE77, - 28995 - 11904: 0xDE79, - 28996 - 11904: 0xDEA1, - 28997 - 11904: 0xFDEE, - 28998 - 11904: 0xB7DA, - 28999 - 11904: 0xDE6B, - 29001 - 11904: 0xB7D2, - 29002 - 11904: 0xFDF0, - 29003 - 11904: 0xDE7A, - 29004 - 11904: 0xB7D7, - 29005 - 11904: 0xDEA2, - 29006 - 11904: 0xB7CE, - 29007 - 11904: 0xFDF4, - 29008 - 11904: 0xDE7D, - 29009 - 11904: 0x9BF5, - 29010 - 11904: 0xDE6D, - 29011 - 11904: 0xDE7E, - 29012 - 11904: 0xDE6C, - 29014 - 11904: 0xB7DC, - 29015 - 11904: 0x8CEE, - 29016 - 11904: 0xDE78, - 29017 - 11904: 0xB7CF, - 29018 - 11904: 0xDEA3, - 29020 - 11904: 0xB7D4, - 29021 - 11904: 0xDE71, - 29022 - 11904: 0xB7D9, - 29023 - 11904: 0xDE7C, - 29024 - 11904: 0xDE6F, - 29025 - 11904: 0xDE76, - 29026 - 11904: 0xDE72, - 29027 - 11904: 0xDE6E, - 29028 - 11904: 0xB7D1, - 29029 - 11904: 0xB7D8, - 29030 - 11904: 0xB7D6, - 29031 - 11904: 0xB7D3, - 29032 - 11904: 0xB7DB, - 29033 - 11904: 0xB7D0, - 29034 - 11904: 0xDE75, - 29035 - 11904: 0x977E, - 29036 - 11904: 0xB7D5, - 29038 - 11904: 0xFDF1, - 29040 - 11904: 0xDE7B, - 29041 - 11904: 0x9BD5, - 29042 - 11904: 0xDE73, - 29043 - 11904: 0x9AC3, - 29045 - 11904: 0x97C8, - 29046 - 11904: 0xA0DB, - 29047 - 11904: 0x91D0, - 29048 - 11904: 0xDE74, - 29050 - 11904: 0x9FE4, - 29051 - 11904: 0xE2C1, - 29052 - 11904: 0x8FDD, - 29053 - 11904: 0xBAB4, - 29054 - 11904: 0x91E9, - 29056 - 11904: 0xE2BD, - 29057 - 11904: 0xE2C3, - 29058 - 11904: 0xE2BF, - 29060 - 11904: 0xBAB6, - 29061 - 11904: 0xE2BE, - 29062 - 11904: 0xE2C2, - 29063 - 11904: 0xE2BA, - 29064 - 11904: 0x98E0, - 29065 - 11904: 0xE2BC, - 29066 - 11904: 0xBAB5, - 29068 - 11904: 0x92CA, - 29070 - 11904: 0x9857, - 29071 - 11904: 0xE2C0, - 29072 - 11904: 0xE2BB, - 29073 - 11904: 0x8C51, - 29074 - 11904: 0xBAB7, - 29076 - 11904: 0xBAB2, - 29078 - 11904: 0xFDEB, - 29079 - 11904: 0xE2C4, - 29080 - 11904: 0x9B49, - 29081 - 11904: 0xBAB3, - 29082 - 11904: 0xE667, - 29083 - 11904: 0xE664, - 29084 - 11904: 0xE670, - 29085 - 11904: 0xE66A, - 29086 - 11904: 0xE66C, - 29087 - 11904: 0xBCF4, - 29088 - 11904: 0xE666, - 29089 - 11904: 0xE66E, - 29090 - 11904: 0x9D76, - 29091 - 11904: 0x9EAF, - 29092 - 11904: 0xE66D, - 29093 - 11904: 0xE66B, - 29095 - 11904: 0xE671, - 29096 - 11904: 0xBCF7, - 29097 - 11904: 0xE668, - 29098 - 11904: 0xE66F, - 29100 - 11904: 0xBCF5, - 29101 - 11904: 0x9CCC, - 29103 - 11904: 0xE663, - 29104 - 11904: 0xE665, - 29105 - 11904: 0xBCF6, - 29106 - 11904: 0xE662, - 29107 - 11904: 0xE672, - 29108 - 11904: 0xFDEA, - 29109 - 11904: 0xE669, - 29111 - 11904: 0x8DF1, - 29112 - 11904: 0xEA4A, - 29113 - 11904: 0xBF51, - 29114 - 11904: 0xFDFB, - 29116 - 11904: 0xEA55, - 29117 - 11904: 0xEA53, - 29118 - 11904: 0xBF4B, - 29119 - 11904: 0xEA49, - 29120 - 11904: 0xEA4C, - 29121 - 11904: 0xEA4D, - 29122 - 11904: 0xEA48, - 29123 - 11904: 0xBF55, - 29124 - 11904: 0xBF56, - 29125 - 11904: 0xEA47, - 29126 - 11904: 0xEA56, - 29127 - 11904: 0xEA51, - 29128 - 11904: 0xBF4F, - 29129 - 11904: 0xBF4C, - 29130 - 11904: 0xEA50, - 29131 - 11904: 0xEA4E, - 29134 - 11904: 0xBF52, - 29135 - 11904: 0xEA52, - 29136 - 11904: 0xBF4D, - 29137 - 11904: 0x8E53, - 29138 - 11904: 0xBF4E, - 29140 - 11904: 0xEA4F, - 29141 - 11904: 0xBF50, - 29142 - 11904: 0xEA4B, - 29144 - 11904: 0xEA54, - 29145 - 11904: 0xBF53, - 29146 - 11904: 0xEA57, - 29147 - 11904: 0xEA58, - 29148 - 11904: 0xBF54, - 29149 - 11904: 0xFACF, - 29151 - 11904: 0xC0E7, - 29152 - 11904: 0xC0EE, - 29153 - 11904: 0xED5C, - 29154 - 11904: 0xED62, - 29156 - 11904: 0xED60, - 29157 - 11904: 0xC0EA, - 29158 - 11904: 0xC0E9, - 29159 - 11904: 0xC0E6, - 29160 - 11904: 0xED5E, - 29163 - 11904: 0x96F9, - 29164 - 11904: 0xC0EC, - 29165 - 11904: 0xC0EB, - 29166 - 11904: 0xC0E8, - 29168 - 11904: 0xED61, - 29169 - 11904: 0xED5D, - 29170 - 11904: 0xED5F, - 29172 - 11904: 0xC0ED, - 29173 - 11904: 0x98BF, - 29174 - 11904: 0x9E49, - 29176 - 11904: 0xC277, - 29177 - 11904: 0xEFFB, - 29179 - 11904: 0xC274, - 29180 - 11904: 0xC275, - 29181 - 11904: 0xEFFD, - 29182 - 11904: 0xC276, - 29183 - 11904: 0xEFFA, - 29184 - 11904: 0x8CA7, - 29185 - 11904: 0xEFF9, - 29186 - 11904: 0xF26C, - 29187 - 11904: 0xEFFC, - 29189 - 11904: 0xF26D, - 29190 - 11904: 0xC37A, - 29191 - 11904: 0xF26B, - 29193 - 11904: 0x9BCA, - 29194 - 11904: 0xF26A, - 29196 - 11904: 0xF269, - 29197 - 11904: 0xC37B, - 29198 - 11904: 0xFDFE, - 29199 - 11904: 0x92DC, - 29200 - 11904: 0xC46C, - 29203 - 11904: 0xF46A, - 29204 - 11904: 0xF46B, - 29205 - 11904: 0xFE41, - 29206 - 11904: 0x91CC, - 29207 - 11904: 0x91E2, - 29209 - 11904: 0xF5DC, - 29210 - 11904: 0xF5DB, - 29211 - 11904: 0xC4EA, - 29213 - 11904: 0xF5DA, - 29214 - 11904: 0xF6EC, - 29215 - 11904: 0xF6ED, - 29218 - 11904: 0xF7E6, - 29219 - 11904: 0xF8B1, - 29220 - 11904: 0xFE44, - 29221 - 11904: 0x875F, - 29222 - 11904: 0xF8F6, - 29223 - 11904: 0xF9BC, - 29224 - 11904: 0xC679, - 29225 - 11904: 0xF9C6, - 29226 - 11904: 0xA4F6, - 29227 - 11904: 0x8BD3, - 29228 - 11904: 0xAAA6, - 29229 - 11904: 0xAAA7, - 29230 - 11904: 0xFE47, - 29232 - 11904: 0xACB8, - 29237 - 11904: 0xC0EF, - 29238 - 11904: 0xA4F7, - 29240 - 11904: 0xAAA8, - 29241 - 11904: 0xAF52, - 29242 - 11904: 0xB7DD, - 29243 - 11904: 0xA4F8, - 29245 - 11904: 0xB26E, - 29246 - 11904: 0xBAB8, - 29247 - 11904: 0xC962, - 29248 - 11904: 0xFE48, - 29249 - 11904: 0xCFB7, - 29250 - 11904: 0xD27D, - 29252 - 11904: 0xE2C5, - 29254 - 11904: 0xC0F0, - 29255 - 11904: 0xA4F9, - 29256 - 11904: 0xAAA9, - 29257 - 11904: 0xCFB8, - 29258 - 11904: 0xCFB9, - 29259 - 11904: 0xDA66, - 29260 - 11904: 0xB550, - 29263 - 11904: 0xDEA4, - 29264 - 11904: 0xA0E4, - 29266 - 11904: 0xB7DE, - 29267 - 11904: 0xE2C6, - 29269 - 11904: 0xFE4B, - 29270 - 11904: 0xBCF8, - 29271 - 11904: 0xFE4C, - 29272 - 11904: 0xC37C, - 29273 - 11904: 0xA4FA, - 29274 - 11904: 0xDA67, - 29275 - 11904: 0xA4FB, - 29276 - 11904: 0x8DBF, - 29277 - 11904: 0xA6C9, - 29278 - 11904: 0xCA42, - 29279 - 11904: 0xA6C8, - 29280 - 11904: 0xA865, - 29281 - 11904: 0xA864, - 29282 - 11904: 0xA863, - 29283 - 11904: 0xCB60, - 29286 - 11904: 0x9E78, - 29287 - 11904: 0xAAAA, - 29289 - 11904: 0xAAAB, - 29290 - 11904: 0xCD5B, - 29292 - 11904: 0xCFBA, - 29294 - 11904: 0xCFBD, - 29295 - 11904: 0xACBA, - 29296 - 11904: 0xCFBB, - 29298 - 11904: 0xACB9, - 29299 - 11904: 0xCFBC, - 29300 - 11904: 0xACBB, - 29302 - 11904: 0xD2A2, - 29303 - 11904: 0xD2A1, - 29304 - 11904: 0xD27E, - 29305 - 11904: 0xAF53, - 29307 - 11904: 0xD65D, - 29308 - 11904: 0xD65E, - 29309 - 11904: 0xB26F, - 29310 - 11904: 0xD65C, - 29311 - 11904: 0xD65F, - 29312 - 11904: 0xB552, - 29313 - 11904: 0xB270, - 29314 - 11904: 0xFE51, - 29316 - 11904: 0xB551, - 29317 - 11904: 0xDA6B, - 29318 - 11904: 0xDA6A, - 29319 - 11904: 0x9456, - 29320 - 11904: 0xDA68, - 29321 - 11904: 0xDA69, - 29323 - 11904: 0xDA6C, - 29324 - 11904: 0xDEA6, - 29325 - 11904: 0xDEA5, - 29326 - 11904: 0xDEA9, - 29327 - 11904: 0x9D61, - 29328 - 11904: 0xDEA8, - 29329 - 11904: 0xDEA7, - 29330 - 11904: 0xBAB9, - 29331 - 11904: 0xE2C9, - 29332 - 11904: 0x9457, - 29333 - 11904: 0xE2C8, - 29334 - 11904: 0xBABA, - 29335 - 11904: 0xE2C7, - 29336 - 11904: 0xE673, - 29338 - 11904: 0xE674, - 29339 - 11904: 0xBCF9, - 29341 - 11904: 0xEA59, - 29342 - 11904: 0xEA5A, - 29343 - 11904: 0x9966, - 29345 - 11904: 0xF272, - 29346 - 11904: 0xC37D, - 29347 - 11904: 0xF271, - 29348 - 11904: 0xF270, - 29349 - 11904: 0xF26E, - 29350 - 11904: 0xF26F, - 29351 - 11904: 0xC4EB, - 29352 - 11904: 0xF46C, - 29353 - 11904: 0xF6EE, - 29354 - 11904: 0xF8F7, - 29356 - 11904: 0xA4FC, - 29357 - 11904: 0x8BD5, - 29358 - 11904: 0xC9A5, - 29359 - 11904: 0xA5C7, - 29360 - 11904: 0xC9A6, - 29362 - 11904: 0xA069, - 29364 - 11904: 0xCA43, - 29365 - 11904: 0xCA44, - 29370 - 11904: 0xCB66, - 29373 - 11904: 0xCB62, - 29375 - 11904: 0xCB61, - 29376 - 11904: 0xAAAC, - 29377 - 11904: 0xCB65, - 29378 - 11904: 0xA867, - 29379 - 11904: 0xCB63, - 29380 - 11904: 0xA866, - 29381 - 11904: 0xCB67, - 29382 - 11904: 0xCB64, - 29385 - 11904: 0xCD5F, - 29386 - 11904: 0xCFBE, - 29387 - 11904: 0xCD5D, - 29388 - 11904: 0xCD64, - 29389 - 11904: 0x98B4, - 29390 - 11904: 0xAAAD, - 29392 - 11904: 0xAAB0, - 29393 - 11904: 0xCD65, - 29394 - 11904: 0xCD61, - 29396 - 11904: 0xCD62, - 29398 - 11904: 0xCD5C, - 29399 - 11904: 0xAAAF, - 29400 - 11904: 0xCD5E, - 29401 - 11904: 0xAAAE, - 29402 - 11904: 0xCD63, - 29404 - 11904: 0xCD60, - 29407 - 11904: 0xCFC2, - 29408 - 11904: 0xACBD, - 29409 - 11904: 0xACBE, - 29410 - 11904: 0xA049, - 29411 - 11904: 0xCFC5, - 29412 - 11904: 0xCFBF, - 29414 - 11904: 0xCFC4, - 29416 - 11904: 0xCFC0, - 29417 - 11904: 0xACBC, - 29418 - 11904: 0xCFC3, - 29419 - 11904: 0xCFC1, - 29427 - 11904: 0xD2A8, - 29428 - 11904: 0xD2A5, - 29430 - 11904: 0xD2A7, - 29431 - 11904: 0xAF58, - 29432 - 11904: 0xAF57, - 29433 - 11904: 0xAF55, - 29434 - 11904: 0xD2A4, - 29435 - 11904: 0xD2A9, - 29436 - 11904: 0xAF54, - 29437 - 11904: 0xAF56, - 29438 - 11904: 0xD2A6, - 29439 - 11904: 0xD667, - 29440 - 11904: 0xD2A3, - 29441 - 11904: 0xD2AA, - 29442 - 11904: 0xA04C, - 29444 - 11904: 0x9E65, - 29447 - 11904: 0xD662, - 29448 - 11904: 0xD666, - 29450 - 11904: 0xD665, - 29451 - 11904: 0xDA6E, - 29452 - 11904: 0xDA79, - 29455 - 11904: 0xD668, - 29456 - 11904: 0x98B5, - 29457 - 11904: 0xD663, - 29458 - 11904: 0xDA6D, - 29459 - 11904: 0xB274, - 29462 - 11904: 0xB273, - 29463 - 11904: 0xD661, - 29464 - 11904: 0xD664, - 29465 - 11904: 0xB275, - 29467 - 11904: 0xB272, - 29468 - 11904: 0xB271, - 29469 - 11904: 0xD660, - 29470 - 11904: 0xD669, - 29474 - 11904: 0xDA70, - 29475 - 11904: 0xDA77, - 29477 - 11904: 0xB554, - 29478 - 11904: 0xDA76, - 29479 - 11904: 0xDA73, - 29480 - 11904: 0xFE58, - 29481 - 11904: 0xB556, - 29482 - 11904: 0xFE52, - 29483 - 11904: 0xFE53, - 29484 - 11904: 0xA065, - 29485 - 11904: 0xDA75, - 29486 - 11904: 0xFE59, - 29488 - 11904: 0xDA6F, - 29489 - 11904: 0xDA71, - 29490 - 11904: 0xDA74, - 29491 - 11904: 0xDA72, - 29492 - 11904: 0xB555, - 29493 - 11904: 0xDA78, - 29494 - 11904: 0xB553, - 29495 - 11904: 0xB7DF, - 29496 - 11904: 0x98B7, - 29497 - 11904: 0x98B8, - 29498 - 11904: 0xDEAD, - 29499 - 11904: 0xDEAC, - 29500 - 11904: 0xDEAA, - 29502 - 11904: 0xB7E2, - 29503 - 11904: 0xB7E1, - 29504 - 11904: 0xDEAE, - 29505 - 11904: 0x98BA, - 29506 - 11904: 0xDEAB, - 29507 - 11904: 0xE2CA, - 29508 - 11904: 0xBABB, - 29509 - 11904: 0xB7E0, - 29512 - 11904: 0x98BB, - 29513 - 11904: 0xDEB0, - 29514 - 11904: 0xDEAF, - 29516 - 11904: 0xE2CD, - 29517 - 11904: 0xE2CB, - 29518 - 11904: 0xBCFA, - 29519 - 11904: 0x9FBC, - 29520 - 11904: 0xBABC, - 29521 - 11904: 0xE2CC, - 29522 - 11904: 0xE676, - 29527 - 11904: 0xBCFB, - 29528 - 11904: 0xE675, - 29529 - 11904: 0xE67E, - 29530 - 11904: 0xE67D, - 29531 - 11904: 0xE67B, - 29533 - 11904: 0xE67A, - 29534 - 11904: 0xE677, - 29535 - 11904: 0xE678, - 29536 - 11904: 0xE679, - 29537 - 11904: 0xE67C, - 29538 - 11904: 0xE6A1, - 29541 - 11904: 0xEA5F, - 29542 - 11904: 0xEA5C, - 29543 - 11904: 0xEA5D, - 29544 - 11904: 0xBF57, - 29545 - 11904: 0xEA5B, - 29546 - 11904: 0xEA61, - 29547 - 11904: 0xEA60, - 29548 - 11904: 0xEA5E, - 29550 - 11904: 0xED64, - 29551 - 11904: 0xED65, - 29552 - 11904: 0xC0F1, - 29553 - 11904: 0xA04A, - 29554 - 11904: 0xC0F2, - 29555 - 11904: 0xED63, - 29556 - 11904: 0x9EC7, - 29557 - 11904: 0xC279, - 29558 - 11904: 0xEFFE, - 29559 - 11904: 0xC278, - 29560 - 11904: 0xC37E, - 29562 - 11904: 0xC3A1, - 29563 - 11904: 0xC46D, - 29564 - 11904: 0xF46E, - 29565 - 11904: 0xF46D, - 29566 - 11904: 0xF5DD, - 29567 - 11904: 0xF6EF, - 29568 - 11904: 0xC57A, - 29569 - 11904: 0xF7E8, - 29570 - 11904: 0xF7E7, - 29571 - 11904: 0xF7E9, - 29572 - 11904: 0xA5C8, - 29573 - 11904: 0xCFC6, - 29574 - 11904: 0xAF59, - 29575 - 11904: 0xB276, - 29576 - 11904: 0xD66A, - 29577 - 11904: 0xA5C9, - 29578 - 11904: 0xC9A7, - 29579 - 11904: 0xA4FD, - 29580 - 11904: 0x8CA9, - 29582 - 11904: 0xCA45, - 29583 - 11904: 0x98AE, - 29586 - 11904: 0xCB6C, - 29587 - 11904: 0xCB6A, - 29588 - 11904: 0xCB6B, - 29589 - 11904: 0xCB68, - 29590 - 11904: 0xA868, - 29591 - 11904: 0xCB69, - 29592 - 11904: 0x92D6, - 29596 - 11904: 0xFAE1, - 29597 - 11904: 0xCD6D, - 29598 - 11904: 0x91D4, - 29599 - 11904: 0xAAB3, - 29600 - 11904: 0xCD6B, - 29601 - 11904: 0xCD67, - 29602 - 11904: 0xCD6A, - 29604 - 11904: 0xCD66, - 29605 - 11904: 0xAAB5, - 29606 - 11904: 0xCD69, - 29607 - 11904: 0xFADE, - 29608 - 11904: 0xAAB2, - 29609 - 11904: 0xAAB1, - 29610 - 11904: 0xFE5B, - 29611 - 11904: 0xAAB4, - 29612 - 11904: 0xCD6C, - 29613 - 11904: 0xCD68, - 29618 - 11904: 0xACC2, - 29619 - 11904: 0xACC5, - 29620 - 11904: 0xCFCE, - 29621 - 11904: 0xCFCD, - 29622 - 11904: 0xCFCC, - 29623 - 11904: 0xACBF, - 29624 - 11904: 0xCFD5, - 29625 - 11904: 0xCFCB, - 29626 - 11904: 0x8C53, - 29627 - 11904: 0xACC1, - 29628 - 11904: 0xD2AF, - 29630 - 11904: 0xCFD2, - 29631 - 11904: 0xCFD0, - 29632 - 11904: 0xACC4, - 29634 - 11904: 0xCFC8, - 29635 - 11904: 0xCFD3, - 29636 - 11904: 0x87BF, - 29637 - 11904: 0xCFCA, - 29638 - 11904: 0xCFD4, - 29639 - 11904: 0xCFD1, - 29640 - 11904: 0xCFC9, - 29641 - 11904: 0xFE5E, - 29642 - 11904: 0xACC0, - 29643 - 11904: 0xCFD6, - 29644 - 11904: 0xCFC7, - 29645 - 11904: 0xACC3, - 29646 - 11904: 0xFBD7, - 29647 - 11904: 0xFE5A, - 29648 - 11904: 0x94C5, - 29650 - 11904: 0xD2B4, - 29651 - 11904: 0xD2AB, - 29652 - 11904: 0xD2B6, - 29653 - 11904: 0xFACA, - 29654 - 11904: 0xD2AE, - 29655 - 11904: 0xD2B9, - 29656 - 11904: 0xD2BA, - 29657 - 11904: 0xD2AC, - 29658 - 11904: 0xD2B8, - 29659 - 11904: 0xD2B5, - 29660 - 11904: 0xD2B3, - 29661 - 11904: 0xD2B7, - 29662 - 11904: 0xAF5F, - 29664 - 11904: 0xAF5D, - 29665 - 11904: 0x98C1, - 29666 - 11904: 0x975C, - 29667 - 11904: 0xD2B1, - 29668 - 11904: 0xFE74, - 29669 - 11904: 0xD2AD, - 29670 - 11904: 0x9773, - 29671 - 11904: 0xD2B0, - 29672 - 11904: 0xD2BB, - 29673 - 11904: 0xD2B2, - 29674 - 11904: 0xAF5E, - 29675 - 11904: 0xCFCF, - 29677 - 11904: 0xAF5A, - 29678 - 11904: 0xAF5C, - 29679 - 11904: 0xFA46, - 29683 - 11904: 0x9764, - 29684 - 11904: 0xD678, - 29685 - 11904: 0xD66D, - 29686 - 11904: 0xD66B, - 29687 - 11904: 0xFE68, - 29688 - 11904: 0xD66C, - 29689 - 11904: 0x964E, - 29690 - 11904: 0xD673, - 29691 - 11904: 0x9765, - 29692 - 11904: 0xD674, - 29693 - 11904: 0xD670, - 29694 - 11904: 0xB27B, - 29695 - 11904: 0xD675, - 29696 - 11904: 0xD672, - 29697 - 11904: 0xD66F, - 29698 - 11904: 0x8C5A, - 29699 - 11904: 0xB279, - 29700 - 11904: 0xD66E, - 29701 - 11904: 0xB277, - 29702 - 11904: 0xB27A, - 29703 - 11904: 0xD671, - 29704 - 11904: 0xD679, - 29705 - 11904: 0xAF5B, - 29706 - 11904: 0xB278, - 29707 - 11904: 0xD677, - 29708 - 11904: 0xD676, - 29709 - 11904: 0xB27C, - 29713 - 11904: 0x89A1, - 29714 - 11904: 0x95FA, - 29716 - 11904: 0x92D4, - 29717 - 11904: 0xFE69, - 29718 - 11904: 0xDA7E, - 29719 - 11904: 0xFB45, - 29721 - 11904: 0x98C8, - 29722 - 11904: 0xDAA1, - 29723 - 11904: 0xB560, - 29724 - 11904: 0x90EF, - 29725 - 11904: 0xDAA7, - 29726 - 11904: 0x98C9, - 29727 - 11904: 0x98CA, - 29728 - 11904: 0xDAA9, - 29729 - 11904: 0xDAA2, - 29730 - 11904: 0xB55A, - 29731 - 11904: 0xDAA6, - 29732 - 11904: 0xDAA5, - 29733 - 11904: 0xB55B, - 29734 - 11904: 0xB561, - 29736 - 11904: 0xB562, - 29737 - 11904: 0xDAA8, - 29738 - 11904: 0xB558, - 29739 - 11904: 0xDA7D, - 29740 - 11904: 0xDA7B, - 29741 - 11904: 0xDAA3, - 29742 - 11904: 0xDA7A, - 29743 - 11904: 0xB55F, - 29744 - 11904: 0xDA7C, - 29745 - 11904: 0xDAA4, - 29746 - 11904: 0xDAAA, - 29747 - 11904: 0xB559, - 29748 - 11904: 0xB55E, - 29749 - 11904: 0xB55C, - 29750 - 11904: 0xB55D, - 29751 - 11904: 0x946D, - 29752 - 11904: 0x94B7, - 29753 - 11904: 0xFE6C, - 29754 - 11904: 0xB557, - 29756 - 11904: 0x946B, - 29759 - 11904: 0xB7E9, - 29760 - 11904: 0xDEB7, - 29761 - 11904: 0xB7E8, - 29762 - 11904: 0xDEBB, - 29763 - 11904: 0x92FC, - 29764 - 11904: 0xDEB1, - 29765 - 11904: 0x95EB, - 29766 - 11904: 0xDEBC, - 29767 - 11904: 0xFE73, - 29768 - 11904: 0x976E, - 29769 - 11904: 0xFE5F, - 29770 - 11904: 0xDEB2, - 29771 - 11904: 0xDEB3, - 29772 - 11904: 0x87B8, - 29773 - 11904: 0xDEBD, - 29774 - 11904: 0xDEBA, - 29775 - 11904: 0xDEB8, - 29776 - 11904: 0xDEB9, - 29777 - 11904: 0xDEB5, - 29778 - 11904: 0xDEB4, - 29779 - 11904: 0xFDBD, - 29780 - 11904: 0xDEBE, - 29781 - 11904: 0xB7E5, - 29782 - 11904: 0x92D5, - 29783 - 11904: 0xDEB6, - 29785 - 11904: 0xB7EA, - 29786 - 11904: 0xB7E4, - 29787 - 11904: 0xB7EB, - 29788 - 11904: 0xFE6F, - 29789 - 11904: 0xFEB9, - 29790 - 11904: 0xB7E7, - 29791 - 11904: 0xB7E6, - 29792 - 11904: 0xFE71, - 29793 - 11904: 0x8778, - 29794 - 11904: 0xE2CE, - 29795 - 11904: 0xBABE, - 29796 - 11904: 0xBABD, - 29797 - 11904: 0xFBBB, - 29799 - 11904: 0xE2D3, - 29800 - 11904: 0xA0D5, - 29801 - 11904: 0xBCFC, - 29802 - 11904: 0xBABF, - 29803 - 11904: 0x95FB, - 29804 - 11904: 0xFE77, - 29805 - 11904: 0xBAC1, - 29806 - 11904: 0xE2D4, - 29807 - 11904: 0xB7E3, - 29808 - 11904: 0xBAC0, - 29809 - 11904: 0xE2D0, - 29810 - 11904: 0xE2D2, - 29811 - 11904: 0xE2CF, - 29812 - 11904: 0xFE79, - 29813 - 11904: 0xE2D1, - 29814 - 11904: 0xFE75, - 29817 - 11904: 0xE6AB, - 29818 - 11904: 0x945D, - 29820 - 11904: 0xE6AA, - 29821 - 11904: 0xE6A7, - 29822 - 11904: 0xBD40, - 29823 - 11904: 0xEA62, - 29824 - 11904: 0xBD41, - 29825 - 11904: 0xE6A6, - 29826 - 11904: 0xFE7C, - 29827 - 11904: 0xBCFE, - 29829 - 11904: 0xE6A8, - 29830 - 11904: 0xE6A5, - 29831 - 11904: 0xE6A2, - 29832 - 11904: 0xE6A9, - 29833 - 11904: 0xE6A3, - 29834 - 11904: 0xE6A4, - 29835 - 11904: 0xBCFD, - 29836 - 11904: 0x9344, - 29837 - 11904: 0x8EA6, - 29840 - 11904: 0xED69, - 29842 - 11904: 0xEA66, - 29844 - 11904: 0xEA65, - 29845 - 11904: 0xEA67, - 29847 - 11904: 0xED66, - 29848 - 11904: 0xBF5A, - 29849 - 11904: 0x92D3, - 29850 - 11904: 0xEA63, - 29851 - 11904: 0x94B8, - 29852 - 11904: 0xBF58, - 29853 - 11904: 0x8779, - 29854 - 11904: 0xBF5C, - 29855 - 11904: 0xBF5B, - 29856 - 11904: 0xEA64, - 29857 - 11904: 0xEA68, - 29859 - 11904: 0xBF59, - 29860 - 11904: 0xFC71, - 29861 - 11904: 0xED6D, - 29862 - 11904: 0xC0F5, - 29863 - 11904: 0xC27A, - 29864 - 11904: 0xC0F6, - 29865 - 11904: 0xC0F3, - 29866 - 11904: 0xED6A, - 29867 - 11904: 0xED68, - 29869 - 11904: 0xED6B, - 29871 - 11904: 0xED6E, - 29872 - 11904: 0xC0F4, - 29873 - 11904: 0xED6C, - 29874 - 11904: 0xED67, - 29876 - 11904: 0x975E, - 29877 - 11904: 0xF042, - 29878 - 11904: 0xF045, - 29879 - 11904: 0xF275, - 29880 - 11904: 0xF040, - 29881 - 11904: 0x8CAD, - 29882 - 11904: 0xF46F, - 29883 - 11904: 0xF046, - 29885 - 11904: 0xC3A2, - 29886 - 11904: 0xF044, - 29887 - 11904: 0xC27B, - 29888 - 11904: 0xF041, - 29889 - 11904: 0xF043, - 29890 - 11904: 0xF047, - 29891 - 11904: 0xF276, - 29893 - 11904: 0xF274, - 29894 - 11904: 0x87C1, - 29896 - 11904: 0xFEA7, - 29898 - 11904: 0xC3A3, - 29899 - 11904: 0xF273, - 29900 - 11904: 0x946A, - 29903 - 11904: 0xC46E, - 29904 - 11904: 0x93E3, - 29907 - 11904: 0x98CF, - 29908 - 11904: 0xC4ED, - 29909 - 11904: 0xF6F1, - 29910 - 11904: 0xC4EC, - 29911 - 11904: 0xF6F3, - 29912 - 11904: 0xF6F0, - 29913 - 11904: 0xF6F2, - 29914 - 11904: 0xC5D0, - 29915 - 11904: 0xF8B2, - 29916 - 11904: 0xA5CA, - 29917 - 11904: 0xCD6E, - 29918 - 11904: 0xD2BC, - 29919 - 11904: 0xD2BD, - 29920 - 11904: 0xB27D, - 29921 - 11904: 0xDEBF, - 29922 - 11904: 0xBF5D, - 29923 - 11904: 0xC3A4, - 29924 - 11904: 0xC57B, - 29925 - 11904: 0xF8B3, - 29926 - 11904: 0xA5CB, - 29927 - 11904: 0xA0D9, - 29928 - 11904: 0xCD6F, - 29929 - 11904: 0xFEAA, - 29932 - 11904: 0xCFD7, - 29934 - 11904: 0xCFD8, - 29936 - 11904: 0xA0BF, - 29937 - 11904: 0xA04D, - 29938 - 11904: 0xA0B8, - 29940 - 11904: 0xD2BE, - 29941 - 11904: 0xD2BF, - 29942 - 11904: 0xB27E, - 29943 - 11904: 0xB2A1, - 29944 - 11904: 0xA0CE, - 29947 - 11904: 0xDAAB, - 29949 - 11904: 0xDEC2, - 29950 - 11904: 0xDEC1, - 29951 - 11904: 0xDEC0, - 29952 - 11904: 0xE2D5, - 29954 - 11904: 0xE2D6, - 29955 - 11904: 0xE2D7, - 29956 - 11904: 0xBAC2, - 29957 - 11904: 0xA0B7, - 29959 - 11904: 0xE6AD, - 29960 - 11904: 0xE6AC, - 29963 - 11904: 0xEA69, - 29964 - 11904: 0xBF5E, - 29965 - 11904: 0xBF5F, - 29966 - 11904: 0xFEA9, - 29967 - 11904: 0xED72, - 29968 - 11904: 0xED6F, - 29969 - 11904: 0xED70, - 29970 - 11904: 0xED71, - 29971 - 11904: 0xF049, - 29972 - 11904: 0xF048, - 29973 - 11904: 0xC27C, - 29974 - 11904: 0xF277, - 29975 - 11904: 0xF5DE, - 29976 - 11904: 0xA5CC, - 29977 - 11904: 0x89C3, - 29978 - 11904: 0xACC6, - 29980 - 11904: 0xB2A2, - 29981 - 11904: 0xDEC3, - 29982 - 11904: 0xFEAB, - 29983 - 11904: 0xA5CD, - 29985 - 11904: 0xD2C0, - 29986 - 11904: 0xB2A3, - 29989 - 11904: 0xB563, - 29990 - 11904: 0xB564, - 29992 - 11904: 0xA5CE, - 29993 - 11904: 0xA5CF, - 29994 - 11904: 0xCA46, - 29995 - 11904: 0xA86A, - 29996 - 11904: 0xA869, - 29997 - 11904: 0xACC7, - 29998 - 11904: 0xCFD9, - 29999 - 11904: 0xDAAC, - 30000 - 11904: 0xA5D0, - 30001 - 11904: 0xA5D1, - 30002 - 11904: 0xA5D2, - 30003 - 11904: 0xA5D3, - 30004 - 11904: 0x9DF4, - 30005 - 11904: 0x896D, - 30007 - 11904: 0xA86B, - 30008 - 11904: 0xA86C, - 30009 - 11904: 0xCB6E, - 30010 - 11904: 0xCB6D, - 30011 - 11904: 0x9C7B, - 30013 - 11904: 0xAAB6, - 30014 - 11904: 0xCD72, - 30015 - 11904: 0xCD70, - 30016 - 11904: 0xCD71, - 30018 - 11904: 0x98D2, - 30022 - 11904: 0x9FA9, - 30023 - 11904: 0xCFDA, - 30024 - 11904: 0xCFDB, - 30026 - 11904: 0xFEB2, - 30027 - 11904: 0xACCB, - 30028 - 11904: 0xACC9, - 30029 - 11904: 0xFEB1, - 30030 - 11904: 0xACCA, - 30031 - 11904: 0xACC8, - 30033 - 11904: 0x97D9, - 30035 - 11904: 0xA0C4, - 30036 - 11904: 0xAF60, - 30037 - 11904: 0x9476, - 30041 - 11904: 0xAF64, - 30042 - 11904: 0xAF63, - 30043 - 11904: 0xD2C1, - 30044 - 11904: 0xAF62, - 30045 - 11904: 0xAF61, - 30047 - 11904: 0xD2C2, - 30048 - 11904: 0x9978, - 30050 - 11904: 0xB2A6, - 30051 - 11904: 0xD67B, - 30052 - 11904: 0xD67A, - 30053 - 11904: 0xB2A4, - 30054 - 11904: 0xB2A5, - 30055 - 11904: 0xFEB3, - 30058 - 11904: 0xB566, - 30059 - 11904: 0xB565, - 30060 - 11904: 0xDAAE, - 30061 - 11904: 0x98D3, - 30062 - 11904: 0xFEB4, - 30063 - 11904: 0xDAAD, - 30064 - 11904: 0xB2A7, - 30066 - 11904: 0x98D4, - 30070 - 11904: 0xB7ED, - 30071 - 11904: 0xDEC5, - 30072 - 11904: 0xB7EE, - 30073 - 11904: 0xDEC4, - 30074 - 11904: 0x9FB9, - 30077 - 11904: 0xE2D8, - 30078 - 11904: 0xE6AE, - 30079 - 11904: 0xBD42, - 30080 - 11904: 0xEA6A, - 30083 - 11904: 0x9471, - 30084 - 11904: 0xED73, - 30086 - 11904: 0xC3A6, - 30087 - 11904: 0xC3A5, - 30090 - 11904: 0xC57C, - 30091 - 11904: 0xA5D4, - 30092 - 11904: 0xCD73, - 30093 - 11904: 0x98D5, - 30094 - 11904: 0xFEB8, - 30095 - 11904: 0xB2A8, - 30096 - 11904: 0xE2D9, - 30097 - 11904: 0xBAC3, - 30098 - 11904: 0xC6D4, - 30100 - 11904: 0xCB6F, - 30101 - 11904: 0xCB70, - 30104 - 11904: 0xCD74, - 30105 - 11904: 0xAAB8, - 30106 - 11904: 0xAAB9, - 30109 - 11904: 0xAAB7, - 30110 - 11904: 0xFEBA, - 30114 - 11904: 0xACCF, - 30115 - 11904: 0xACD0, - 30116 - 11904: 0xACCD, - 30117 - 11904: 0xACCE, - 30119 - 11904: 0xCFDC, - 30122 - 11904: 0xCFDD, - 30123 - 11904: 0xACCC, - 30128 - 11904: 0xD2C3, - 30129 - 11904: 0x9E5C, - 30130 - 11904: 0xAF68, - 30131 - 11904: 0xAF69, - 30132 - 11904: 0xFEBB, - 30133 - 11904: 0xB2AB, - 30134 - 11904: 0xD2C9, - 30136 - 11904: 0xAF6E, - 30137 - 11904: 0xAF6C, - 30138 - 11904: 0xD2CA, - 30139 - 11904: 0xD2C5, - 30140 - 11904: 0xAF6B, - 30141 - 11904: 0xAF6A, - 30142 - 11904: 0xAF65, - 30143 - 11904: 0xD2C8, - 30144 - 11904: 0xD2C7, - 30145 - 11904: 0xD2C4, - 30146 - 11904: 0xAF6D, - 30147 - 11904: 0xA044, - 30148 - 11904: 0xD2C6, - 30149 - 11904: 0xAF66, - 30151 - 11904: 0xAF67, - 30152 - 11904: 0x98D7, - 30154 - 11904: 0xB2AC, - 30155 - 11904: 0xD6A1, - 30156 - 11904: 0xD6A2, - 30157 - 11904: 0xB2AD, - 30158 - 11904: 0xD67C, - 30159 - 11904: 0xD67E, - 30160 - 11904: 0xD6A4, - 30161 - 11904: 0xD6A3, - 30162 - 11904: 0xD67D, - 30164 - 11904: 0xB2A9, - 30165 - 11904: 0xB2AA, - 30167 - 11904: 0xDAB6, - 30168 - 11904: 0xB56B, - 30169 - 11904: 0xB56A, - 30170 - 11904: 0xDAB0, - 30171 - 11904: 0xB568, - 30172 - 11904: 0x98D8, - 30173 - 11904: 0xDAB3, - 30174 - 11904: 0xB56C, - 30175 - 11904: 0xDAB4, - 30176 - 11904: 0xB56D, - 30177 - 11904: 0xDAB1, - 30178 - 11904: 0xB567, - 30179 - 11904: 0xB569, - 30180 - 11904: 0xDAB5, - 30182 - 11904: 0xDAB2, - 30183 - 11904: 0xDAAF, - 30189 - 11904: 0xDED2, - 30191 - 11904: 0xDEC7, - 30192 - 11904: 0xB7F0, - 30193 - 11904: 0xB7F3, - 30194 - 11904: 0xB7F2, - 30195 - 11904: 0xB7F7, - 30196 - 11904: 0xB7F6, - 30197 - 11904: 0xDED3, - 30198 - 11904: 0xDED1, - 30199 - 11904: 0xDECA, - 30200 - 11904: 0xDECE, - 30201 - 11904: 0xDECD, - 30202 - 11904: 0xB7F4, - 30203 - 11904: 0xDED0, - 30204 - 11904: 0xDECC, - 30205 - 11904: 0xDED4, - 30206 - 11904: 0xDECB, - 30207 - 11904: 0xB7F5, - 30208 - 11904: 0xB7EF, - 30209 - 11904: 0xB7F1, - 30210 - 11904: 0xFEBC, - 30211 - 11904: 0xDEC9, - 30215 - 11904: 0x9FFE, - 30216 - 11904: 0xE2DB, - 30217 - 11904: 0xBAC7, - 30218 - 11904: 0xE2DF, - 30219 - 11904: 0xBAC6, - 30220 - 11904: 0xE2DC, - 30221 - 11904: 0xBAC5, - 30223 - 11904: 0xDEC8, - 30224 - 11904: 0xDECF, - 30225 - 11904: 0xE2DE, - 30227 - 11904: 0xBAC8, - 30228 - 11904: 0xE2E0, - 30229 - 11904: 0xE2DD, - 30230 - 11904: 0xE2DA, - 30233 - 11904: 0xE6B1, - 30234 - 11904: 0xE6B5, - 30235 - 11904: 0xE6B7, - 30236 - 11904: 0xE6B3, - 30237 - 11904: 0xE6B2, - 30238 - 11904: 0xE6B0, - 30239 - 11904: 0xBD45, - 30240 - 11904: 0xBD43, - 30241 - 11904: 0xBD48, - 30242 - 11904: 0xBD49, - 30243 - 11904: 0xE6B4, - 30244 - 11904: 0xBD46, - 30245 - 11904: 0xE6AF, - 30246 - 11904: 0xBD47, - 30247 - 11904: 0xBAC4, - 30248 - 11904: 0xE6B6, - 30249 - 11904: 0xBD44, - 30252 - 11904: 0xFEBD, - 30253 - 11904: 0xEA6C, - 30255 - 11904: 0xEA6B, - 30256 - 11904: 0xEA73, - 30257 - 11904: 0xEA6D, - 30258 - 11904: 0xEA72, - 30259 - 11904: 0xEA6F, - 30260 - 11904: 0xBF60, - 30261 - 11904: 0xEA71, - 30264 - 11904: 0xBF61, - 30266 - 11904: 0xBF62, - 30267 - 11904: 0x9DDD, - 30268 - 11904: 0xEA70, - 30269 - 11904: 0xEA6E, - 30272 - 11904: 0x9EE1, - 30274 - 11904: 0xC0F8, - 30275 - 11904: 0xED74, - 30278 - 11904: 0xC0F7, - 30279 - 11904: 0xED77, - 30280 - 11904: 0xED75, - 30281 - 11904: 0xED76, - 30284 - 11904: 0xC0F9, - 30285 - 11904: 0x98DA, - 30286 - 11904: 0x9DDF, - 30287 - 11904: 0xFEBF, - 30288 - 11904: 0xF04D, - 30289 - 11904: 0xFEBE, - 30290 - 11904: 0xC2A1, - 30291 - 11904: 0xF04E, - 30292 - 11904: 0x9EEB, - 30294 - 11904: 0xC27D, - 30295 - 11904: 0xF04F, - 30296 - 11904: 0xC27E, - 30297 - 11904: 0xF04C, - 30298 - 11904: 0xF050, - 30300 - 11904: 0xF04A, - 30303 - 11904: 0xC3A7, - 30304 - 11904: 0xF278, - 30305 - 11904: 0xC3A8, - 30306 - 11904: 0xC46F, - 30308 - 11904: 0xF04B, - 30309 - 11904: 0xC470, - 30310 - 11904: 0x9E59, - 30311 - 11904: 0xA05C, - 30313 - 11904: 0xC4EE, - 30314 - 11904: 0xF5DF, - 30316 - 11904: 0xC57E, - 30317 - 11904: 0xF6F4, - 30318 - 11904: 0xC57D, - 30319 - 11904: 0xFEC0, - 30320 - 11904: 0xF7EA, - 30321 - 11904: 0xC5F5, - 30322 - 11904: 0xC5F6, - 30323 - 11904: 0x9477, - 30324 - 11904: 0x98DC, - 30325 - 11904: 0xF9CC, - 30326 - 11904: 0xFEC1, - 30328 - 11904: 0xACD1, - 30329 - 11904: 0xCFDE, - 30330 - 11904: 0x98DE, - 30331 - 11904: 0xB56E, - 30332 - 11904: 0xB56F, - 30333 - 11904: 0xA5D5, - 30334 - 11904: 0xA6CA, - 30335 - 11904: 0xCA47, - 30337 - 11904: 0xCB71, - 30338 - 11904: 0xA86D, - 30340 - 11904: 0xAABA, - 30342 - 11904: 0xACD2, - 30343 - 11904: 0xACD3, - 30344 - 11904: 0xACD4, - 30345 - 11904: 0xD6A6, - 30346 - 11904: 0xD2CB, - 30347 - 11904: 0xAF6F, - 30350 - 11904: 0xB2AE, - 30351 - 11904: 0xD6A5, - 30352 - 11904: 0xFEC3, - 30354 - 11904: 0xDAB8, - 30355 - 11904: 0xB571, - 30357 - 11904: 0xDAB7, - 30358 - 11904: 0xB570, - 30361 - 11904: 0xDED5, - 30362 - 11904: 0xBD4A, - 30363 - 11904: 0xE6BB, - 30364 - 11904: 0xE6B8, - 30365 - 11904: 0xE6B9, - 30366 - 11904: 0xE6BA, - 30369 - 11904: 0xFEC8, - 30372 - 11904: 0xED78, - 30373 - 11904: 0xFEC9, - 30374 - 11904: 0xF051, - 30378 - 11904: 0xF471, - 30379 - 11904: 0xF470, - 30381 - 11904: 0xF6F5, - 30382 - 11904: 0xA5D6, - 30383 - 11904: 0xCD75, - 30384 - 11904: 0xAF70, - 30388 - 11904: 0xB572, - 30389 - 11904: 0xDED6, - 30391 - 11904: 0xFECA, - 30392 - 11904: 0xE2E1, - 30394 - 11904: 0xBD4B, - 30395 - 11904: 0xEA74, - 30397 - 11904: 0xF052, - 30398 - 11904: 0xF472, - 30399 - 11904: 0xA5D7, - 30402 - 11904: 0xAABB, - 30403 - 11904: 0xACD7, - 30404 - 11904: 0xCFDF, - 30405 - 11904: 0xACD8, - 30406 - 11904: 0xACD6, - 30408 - 11904: 0xACD5, - 30409 - 11904: 0xD2CC, - 30410 - 11904: 0xAF71, - 30412 - 11904: 0xFECB, - 30413 - 11904: 0xAF72, - 30414 - 11904: 0xAF73, - 30418 - 11904: 0xB2B0, - 30419 - 11904: 0xD6A7, - 30420 - 11904: 0xB2AF, - 30422 - 11904: 0x9FC2, - 30425 - 11904: 0x8C6B, - 30426 - 11904: 0xDAB9, - 30427 - 11904: 0xB2B1, - 30428 - 11904: 0xB573, - 30429 - 11904: 0xDED7, - 30430 - 11904: 0xB7F8, - 30431 - 11904: 0xB7F9, - 30433 - 11904: 0xBAC9, - 30435 - 11904: 0xBACA, - 30436 - 11904: 0xBD4C, - 30437 - 11904: 0xBF64, - 30438 - 11904: 0xEA75, - 30439 - 11904: 0xBF63, - 30441 - 11904: 0xED79, - 30442 - 11904: 0xC0FA, - 30444 - 11904: 0xF053, - 30445 - 11904: 0xF473, - 30446 - 11904: 0xA5D8, - 30447 - 11904: 0xA86E, - 30448 - 11904: 0xCD78, - 30449 - 11904: 0xCD77, - 30450 - 11904: 0xAABC, - 30451 - 11904: 0xCD76, - 30452 - 11904: 0xAABD, - 30453 - 11904: 0xCD79, - 30455 - 11904: 0xCFE5, - 30456 - 11904: 0xACDB, - 30457 - 11904: 0xACDA, - 30458 - 11904: 0xCFE7, - 30459 - 11904: 0xCFE6, - 30460 - 11904: 0xACDF, - 30462 - 11904: 0xACDE, - 30465 - 11904: 0xACD9, - 30467 - 11904: 0xCFE1, - 30468 - 11904: 0xCFE2, - 30469 - 11904: 0xCFE3, - 30471 - 11904: 0xACE0, - 30472 - 11904: 0xCFE0, - 30473 - 11904: 0xACDC, - 30474 - 11904: 0xCFE4, - 30475 - 11904: 0xACDD, - 30476 - 11904: 0x98C4, - 30478 - 11904: 0x94B0, - 30479 - 11904: 0x94B1, - 30480 - 11904: 0xD2CF, - 30481 - 11904: 0xD2D3, - 30482 - 11904: 0xD2D1, - 30483 - 11904: 0xD2D0, - 30485 - 11904: 0xD2D4, - 30489 - 11904: 0xD2D5, - 30490 - 11904: 0xD2D6, - 30491 - 11904: 0xD2CE, - 30493 - 11904: 0xD2CD, - 30494 - 11904: 0xFED1, - 30495 - 11904: 0xAF75, - 30496 - 11904: 0xAF76, - 30498 - 11904: 0xD2D7, - 30499 - 11904: 0xD2D2, - 30500 - 11904: 0xA0C1, - 30501 - 11904: 0xD6B0, - 30502 - 11904: 0xFED2, - 30503 - 11904: 0xD2D8, - 30504 - 11904: 0xAF77, - 30505 - 11904: 0xAF74, - 30507 - 11904: 0xA0CD, - 30509 - 11904: 0xD6AA, - 30511 - 11904: 0xD6A9, - 30513 - 11904: 0xD6AB, - 30514 - 11904: 0xD6AC, - 30515 - 11904: 0xD6AE, - 30516 - 11904: 0xD6AD, - 30517 - 11904: 0xD6B2, - 30518 - 11904: 0xB2B5, - 30519 - 11904: 0xB2B2, - 30520 - 11904: 0xB2B6, - 30521 - 11904: 0xD6A8, - 30522 - 11904: 0xB2B7, - 30523 - 11904: 0xD6B1, - 30524 - 11904: 0xB2B4, - 30525 - 11904: 0xD6AF, - 30526 - 11904: 0xB2B3, - 30528 - 11904: 0xFED3, - 30531 - 11904: 0x98E5, - 30532 - 11904: 0xDABC, - 30533 - 11904: 0xDABE, - 30534 - 11904: 0xDABA, - 30535 - 11904: 0xDABB, - 30538 - 11904: 0xDABF, - 30539 - 11904: 0xDAC1, - 30540 - 11904: 0xDAC2, - 30541 - 11904: 0xDABD, - 30542 - 11904: 0xDAC0, - 30543 - 11904: 0xB574, - 30546 - 11904: 0xDEDB, - 30548 - 11904: 0xDEE0, - 30549 - 11904: 0xDED8, - 30550 - 11904: 0xDEDC, - 30552 - 11904: 0xFED6, - 30553 - 11904: 0xDEE1, - 30554 - 11904: 0xDEDD, - 30555 - 11904: 0xB7FA, - 30556 - 11904: 0xB843, - 30558 - 11904: 0xB7FD, - 30559 - 11904: 0xDED9, - 30560 - 11904: 0xDEDA, - 30561 - 11904: 0xBACE, - 30562 - 11904: 0xB846, - 30563 - 11904: 0xB7FE, - 30565 - 11904: 0xB844, - 30566 - 11904: 0xB7FC, - 30567 - 11904: 0xDEDF, - 30568 - 11904: 0xB845, - 30569 - 11904: 0xDEDE, - 30570 - 11904: 0xB841, - 30571 - 11904: 0xB7FB, - 30572 - 11904: 0xB842, - 30573 - 11904: 0xDEE2, - 30574 - 11904: 0xE2E6, - 30575 - 11904: 0xE2E8, - 30578 - 11904: 0x91E4, - 30583 - 11904: 0x8FC7, - 30584 - 11904: 0x94AE, - 30585 - 11904: 0xB840, - 30586 - 11904: 0x8A4F, - 30587 - 11904: 0x94B2, - 30588 - 11904: 0xE2E3, - 30589 - 11904: 0xBACC, - 30590 - 11904: 0xE2E9, - 30591 - 11904: 0xBACD, - 30592 - 11904: 0xE2E7, - 30593 - 11904: 0xE2E2, - 30594 - 11904: 0xE2E5, - 30595 - 11904: 0xE2EA, - 30596 - 11904: 0xBACB, - 30597 - 11904: 0xE2E4, - 30599 - 11904: 0xBD4E, - 30600 - 11904: 0xE6BF, - 30601 - 11904: 0xE6BE, - 30603 - 11904: 0xBD51, - 30604 - 11904: 0xBD4F, - 30605 - 11904: 0xE6BC, - 30606 - 11904: 0xBD4D, - 30607 - 11904: 0xE6BD, - 30609 - 11904: 0xBD50, - 30611 - 11904: 0x8FD4, - 30613 - 11904: 0xEA7D, - 30615 - 11904: 0xEAA1, - 30616 - 11904: 0x98EA, - 30617 - 11904: 0xEA7E, - 30618 - 11904: 0xEA76, - 30619 - 11904: 0xEA7A, - 30620 - 11904: 0xEA79, - 30621 - 11904: 0xEA77, - 30622 - 11904: 0xBF66, - 30623 - 11904: 0xBF67, - 30624 - 11904: 0xBF65, - 30625 - 11904: 0xEA78, - 30626 - 11904: 0xEA7B, - 30627 - 11904: 0xEA7C, - 30629 - 11904: 0xBF68, - 30631 - 11904: 0xC140, - 30632 - 11904: 0xEDA3, - 30634 - 11904: 0xC0FC, - 30635 - 11904: 0xED7B, - 30636 - 11904: 0xC0FE, - 30637 - 11904: 0xC141, - 30639 - 11904: 0xFED8, - 30640 - 11904: 0xC0FD, - 30641 - 11904: 0xEDA2, - 30642 - 11904: 0xED7C, - 30643 - 11904: 0xC0FB, - 30644 - 11904: 0xEDA1, - 30645 - 11904: 0xED7A, - 30646 - 11904: 0xED7E, - 30647 - 11904: 0xED7D, - 30649 - 11904: 0x9DE0, - 30650 - 11904: 0xF055, - 30651 - 11904: 0xC2A4, - 30652 - 11904: 0xC2A5, - 30653 - 11904: 0xC2A2, - 30654 - 11904: 0x98EE, - 30655 - 11904: 0xC2A3, - 30658 - 11904: 0xF054, - 30659 - 11904: 0x95C4, - 30660 - 11904: 0xF27B, - 30661 - 11904: 0xFCE8, - 30663 - 11904: 0xC3A9, - 30665 - 11904: 0xF279, - 30666 - 11904: 0xF27A, - 30667 - 11904: 0x98EF, - 30668 - 11904: 0xF474, - 30669 - 11904: 0xF477, - 30670 - 11904: 0xF475, - 30671 - 11904: 0xF476, - 30672 - 11904: 0xF5E0, - 30675 - 11904: 0xC4EF, - 30676 - 11904: 0xF7EB, - 30677 - 11904: 0xF8B4, - 30679 - 11904: 0xC5F7, - 30680 - 11904: 0xF8F8, - 30681 - 11904: 0xF8F9, - 30682 - 11904: 0xC666, - 30683 - 11904: 0xA5D9, - 30684 - 11904: 0xACE1, - 30685 - 11904: 0x8C6E, - 30686 - 11904: 0xDAC3, - 30688 - 11904: 0xDEE3, - 30690 - 11904: 0xA5DA, - 30691 - 11904: 0xA86F, - 30693 - 11904: 0xAABE, - 30694 - 11904: 0xFAD8, - 30695 - 11904: 0xCFE8, - 30696 - 11904: 0xCFE9, - 30697 - 11904: 0xAF78, - 30700 - 11904: 0xDAC4, - 30701 - 11904: 0xB575, - 30702 - 11904: 0xB847, - 30703 - 11904: 0xC142, - 30704 - 11904: 0xEDA4, - 30705 - 11904: 0xF27C, - 30706 - 11904: 0xF478, - 30707 - 11904: 0xA5DB, - 30708 - 11904: 0xFEDC, - 30711 - 11904: 0xCDA1, - 30712 - 11904: 0xCD7A, - 30713 - 11904: 0xCD7C, - 30714 - 11904: 0xCD7E, - 30715 - 11904: 0xCD7D, - 30716 - 11904: 0xCD7B, - 30717 - 11904: 0xAABF, - 30718 - 11904: 0xA0AE, - 30722 - 11904: 0xACE2, - 30723 - 11904: 0xCFF2, - 30725 - 11904: 0xCFED, - 30726 - 11904: 0xCFEA, - 30728 - 11904: 0x9D4C, - 30729 - 11904: 0xFEDD, - 30732 - 11904: 0xACE4, - 30733 - 11904: 0xACE5, - 30734 - 11904: 0xCFF0, - 30735 - 11904: 0xCFEF, - 30736 - 11904: 0xCFEE, - 30737 - 11904: 0xCFEB, - 30738 - 11904: 0xCFEC, - 30739 - 11904: 0xCFF3, - 30740 - 11904: 0xACE3, - 30744 - 11904: 0x98F1, - 30748 - 11904: 0x98F3, - 30749 - 11904: 0xAF7C, - 30750 - 11904: 0x94C1, - 30751 - 11904: 0xAFA4, - 30752 - 11904: 0xAFA3, - 30753 - 11904: 0xD2E1, - 30754 - 11904: 0xD2DB, - 30755 - 11904: 0xD2D9, - 30757 - 11904: 0xAFA1, - 30758 - 11904: 0xD6B9, - 30759 - 11904: 0xAF7A, - 30760 - 11904: 0xD2DE, - 30761 - 11904: 0xD2E2, - 30762 - 11904: 0xD2E4, - 30763 - 11904: 0xD2E0, - 30764 - 11904: 0xD2DA, - 30765 - 11904: 0xAFA2, - 30766 - 11904: 0xD2DF, - 30767 - 11904: 0xD2DD, - 30768 - 11904: 0xAF79, - 30769 - 11904: 0xD2E5, - 30770 - 11904: 0xAFA5, - 30771 - 11904: 0xD2E3, - 30772 - 11904: 0xAF7D, - 30773 - 11904: 0xD2DC, - 30775 - 11904: 0xAF7E, - 30776 - 11904: 0xAF7B, - 30777 - 11904: 0x98F5, - 30780 - 11904: 0xFA4F, - 30781 - 11904: 0x96E2, - 30786 - 11904: 0x9450, - 30787 - 11904: 0xB2B9, - 30788 - 11904: 0x96A2, - 30789 - 11904: 0xD6BA, - 30791 - 11904: 0x98F6, - 30792 - 11904: 0xD6B3, - 30793 - 11904: 0xD6B5, - 30794 - 11904: 0xD6B7, - 30795 - 11904: 0x96E5, - 30796 - 11904: 0xD6B8, - 30797 - 11904: 0xD6B6, - 30798 - 11904: 0xB2BA, - 30800 - 11904: 0xD6BB, - 30801 - 11904: 0x98F7, - 30802 - 11904: 0xD6B4, - 30803 - 11904: 0xA046, - 30804 - 11904: 0x96E3, - 30812 - 11904: 0xDAC8, - 30813 - 11904: 0xB576, - 30814 - 11904: 0xDAD0, - 30816 - 11904: 0xDAC5, - 30818 - 11904: 0xDAD1, - 30820 - 11904: 0xDAC6, - 30821 - 11904: 0xDAC7, - 30822 - 11904: 0x98F8, - 30824 - 11904: 0xDACF, - 30825 - 11904: 0xDACE, - 30826 - 11904: 0xDACB, - 30827 - 11904: 0xB2B8, - 30828 - 11904: 0xB577, - 30829 - 11904: 0xDAC9, - 30830 - 11904: 0xDACC, - 30831 - 11904: 0xB578, - 30832 - 11904: 0xDACD, - 30833 - 11904: 0xDACA, - 30841 - 11904: 0xDEEE, - 30842 - 11904: 0x9EE4, - 30843 - 11904: 0xDEF2, - 30844 - 11904: 0xB84E, - 30846 - 11904: 0xE2F0, - 30847 - 11904: 0xB851, - 30848 - 11904: 0xDEF0, - 30849 - 11904: 0xF9D6, - 30851 - 11904: 0xDEED, - 30852 - 11904: 0xDEE8, - 30853 - 11904: 0xDEEA, - 30854 - 11904: 0xDEEB, - 30855 - 11904: 0xDEE4, - 30856 - 11904: 0x94C3, - 30857 - 11904: 0xB84D, - 30860 - 11904: 0xB84C, - 30861 - 11904: 0x94C2, - 30862 - 11904: 0xB848, - 30863 - 11904: 0xDEE7, - 30865 - 11904: 0xB84F, - 30867 - 11904: 0xB850, - 30868 - 11904: 0xDEE6, - 30869 - 11904: 0xDEE9, - 30870 - 11904: 0xDEF1, - 30871 - 11904: 0xB84A, - 30872 - 11904: 0xB84B, - 30873 - 11904: 0xDEEF, - 30874 - 11904: 0xDEE5, - 30878 - 11904: 0xE2F2, - 30879 - 11904: 0xBAD0, - 30880 - 11904: 0xE2F4, - 30881 - 11904: 0xDEEC, - 30882 - 11904: 0xE2F6, - 30883 - 11904: 0xBAD4, - 30884 - 11904: 0xE2F7, - 30885 - 11904: 0xE2F3, - 30887 - 11904: 0xBAD1, - 30888 - 11904: 0xE2EF, - 30889 - 11904: 0xBAD3, - 30890 - 11904: 0xE2EC, - 30891 - 11904: 0xE2F1, - 30892 - 11904: 0xE2F5, - 30893 - 11904: 0xE2EE, - 30895 - 11904: 0xFEE1, - 30896 - 11904: 0xB849, - 30897 - 11904: 0xFEE9, - 30898 - 11904: 0xE2EB, - 30899 - 11904: 0xBAD2, - 30900 - 11904: 0xE2ED, - 30902 - 11904: 0x96E4, - 30904 - 11904: 0x89AC, - 30905 - 11904: 0x96DB, - 30906 - 11904: 0xBD54, - 30907 - 11904: 0xE6C1, - 30908 - 11904: 0xBD58, - 30910 - 11904: 0xBD56, - 30913 - 11904: 0xBACF, - 30915 - 11904: 0xE6C8, - 30916 - 11904: 0xE6C9, - 30917 - 11904: 0xBD53, - 30919 - 11904: 0xFEE2, - 30920 - 11904: 0xE6C7, - 30921 - 11904: 0xE6CA, - 30922 - 11904: 0xBD55, - 30923 - 11904: 0xBD52, - 30924 - 11904: 0xE6C3, - 30925 - 11904: 0xE6C0, - 30926 - 11904: 0xE6C5, - 30927 - 11904: 0xE6C2, - 30928 - 11904: 0xBD59, - 30929 - 11904: 0xE6C4, - 30930 - 11904: 0x94C4, - 30931 - 11904: 0xFEE3, - 30932 - 11904: 0xE6C6, - 30933 - 11904: 0xBD57, - 30935 - 11904: 0xFEE7, - 30936 - 11904: 0x9FFB, - 30938 - 11904: 0xBF6A, - 30939 - 11904: 0xEAA8, - 30941 - 11904: 0xEAA2, - 30942 - 11904: 0xEAA6, - 30943 - 11904: 0xEAAC, - 30944 - 11904: 0xEAAD, - 30945 - 11904: 0xEAA9, - 30946 - 11904: 0xEAAA, - 30947 - 11904: 0xEAA7, - 30948 - 11904: 0x8C59, - 30949 - 11904: 0xEAA4, - 30951 - 11904: 0xBF6C, - 30952 - 11904: 0xBF69, - 30953 - 11904: 0xEAA3, - 30954 - 11904: 0xEAA5, - 30956 - 11904: 0xBF6B, - 30957 - 11904: 0xEAAB, - 30958 - 11904: 0x93C9, - 30959 - 11904: 0xC146, - 30960 - 11904: 0x94E8, - 30961 - 11904: 0xFB56, - 30962 - 11904: 0xEDAA, - 30963 - 11904: 0xEDA5, - 30964 - 11904: 0xC145, - 30965 - 11904: 0x90C5, - 30967 - 11904: 0xC143, - 30969 - 11904: 0xEDAC, - 30970 - 11904: 0xC144, - 30971 - 11904: 0xEDA8, - 30972 - 11904: 0xEDA9, - 30973 - 11904: 0xEDA6, - 30974 - 11904: 0xEDAD, - 30975 - 11904: 0xF056, - 30977 - 11904: 0xC147, - 30978 - 11904: 0xEDA7, - 30980 - 11904: 0xEDAE, - 30981 - 11904: 0xEDAB, - 30982 - 11904: 0xA0A8, - 30985 - 11904: 0xF05A, - 30988 - 11904: 0xF057, - 30990 - 11904: 0xC2A6, - 30992 - 11904: 0xF05B, - 30993 - 11904: 0xF05D, - 30994 - 11904: 0xF05C, - 30995 - 11904: 0xF058, - 30996 - 11904: 0xF059, - 30999 - 11904: 0xF2A3, - 31001 - 11904: 0xC3AA, - 31003 - 11904: 0xF27E, - 31004 - 11904: 0xF2A2, - 31005 - 11904: 0xF27D, - 31006 - 11904: 0xF2A4, - 31009 - 11904: 0xF2A1, - 31011 - 11904: 0xF47A, - 31012 - 11904: 0xF47D, - 31013 - 11904: 0xF479, - 31014 - 11904: 0xC471, - 31015 - 11904: 0xF47B, - 31016 - 11904: 0xF47C, - 31017 - 11904: 0xF47E, - 31018 - 11904: 0xC472, - 31019 - 11904: 0xC474, - 31020 - 11904: 0xC473, - 31021 - 11904: 0xF5E1, - 31022 - 11904: 0xFEE5, - 31023 - 11904: 0xF5E3, - 31025 - 11904: 0xF5E2, - 31026 - 11904: 0x98FD, - 31027 - 11904: 0x98FB, - 31028 - 11904: 0xFEE8, - 31029 - 11904: 0xF6F6, - 31030 - 11904: 0x8EBF, - 31032 - 11904: 0xF8B5, - 31033 - 11904: 0xF8FA, - 31034 - 11904: 0xA5DC, - 31035 - 11904: 0x8BD8, - 31036 - 11904: 0xFEF7, - 31037 - 11904: 0xCB72, - 31038 - 11904: 0xAAC0, - 31039 - 11904: 0xCDA3, - 31040 - 11904: 0xAAC1, - 31041 - 11904: 0xAAC2, - 31042 - 11904: 0xCDA2, - 31044 - 11904: 0xCFF8, - 31045 - 11904: 0xCFF7, - 31046 - 11904: 0xACE6, - 31047 - 11904: 0xACE9, - 31048 - 11904: 0xACE8, - 31049 - 11904: 0xACE7, - 31050 - 11904: 0xCFF4, - 31051 - 11904: 0xCFF6, - 31052 - 11904: 0xCFF5, - 31055 - 11904: 0xD2E8, - 31056 - 11904: 0xAFA7, - 31057 - 11904: 0xD2EC, - 31058 - 11904: 0xD2EB, - 31059 - 11904: 0xD2EA, - 31060 - 11904: 0xD2E6, - 31061 - 11904: 0xAFA6, - 31062 - 11904: 0xAFAA, - 31063 - 11904: 0xAFAD, - 31064 - 11904: 0x8F68, - 31065 - 11904: 0x94C6, - 31066 - 11904: 0xAFAE, - 31067 - 11904: 0xD2E7, - 31068 - 11904: 0xD2E9, - 31069 - 11904: 0xAFAC, - 31070 - 11904: 0xAFAB, - 31071 - 11904: 0xAFA9, - 31072 - 11904: 0xAFA8, - 31073 - 11904: 0xD6C2, - 31074 - 11904: 0x9DEA, - 31075 - 11904: 0xD6C0, - 31076 - 11904: 0xD6BC, - 31077 - 11904: 0xB2BB, - 31079 - 11904: 0xD6BD, - 31080 - 11904: 0xB2BC, - 31081 - 11904: 0xD6BE, - 31082 - 11904: 0xD6BF, - 31083 - 11904: 0xD6C1, - 31085 - 11904: 0xB2BD, - 31088 - 11904: 0xDAD5, - 31089 - 11904: 0xFC69, - 31090 - 11904: 0xDAD4, - 31091 - 11904: 0xDAD3, - 31092 - 11904: 0xDAD2, - 31097 - 11904: 0xDEF6, - 31098 - 11904: 0xB852, - 31100 - 11904: 0xDEF3, - 31101 - 11904: 0xDEF5, - 31102 - 11904: 0x9CDA, - 31103 - 11904: 0xB853, - 31104 - 11904: 0xFEF3, - 31105 - 11904: 0xB854, - 31106 - 11904: 0xDEF4, - 31107 - 11904: 0x9C72, - 31110 - 11904: 0xFEF0, - 31111 - 11904: 0x89C9, - 31112 - 11904: 0xE341, - 31114 - 11904: 0xE2F9, - 31115 - 11904: 0xE2FA, - 31117 - 11904: 0xBAD7, - 31118 - 11904: 0xBAD5, - 31119 - 11904: 0xBAD6, - 31120 - 11904: 0xE343, - 31121 - 11904: 0x9941, - 31122 - 11904: 0xE342, - 31123 - 11904: 0xE2FE, - 31124 - 11904: 0xE2FD, - 31125 - 11904: 0xE2FC, - 31126 - 11904: 0xE2FB, - 31127 - 11904: 0xE340, - 31128 - 11904: 0xE2F8, - 31129 - 11904: 0x9942, - 31130 - 11904: 0xE6CB, - 31131 - 11904: 0xE6D0, - 31132 - 11904: 0xE6CE, - 31133 - 11904: 0xFEF5, - 31135 - 11904: 0x91D7, - 31136 - 11904: 0xE6CD, - 31137 - 11904: 0xE6CC, - 31138 - 11904: 0xE6CF, - 31140 - 11904: 0xEAAE, - 31141 - 11904: 0x94CC, - 31142 - 11904: 0xBF6D, - 31143 - 11904: 0xC148, - 31144 - 11904: 0xEDB0, - 31145 - 11904: 0xFEF8, - 31146 - 11904: 0xC149, - 31147 - 11904: 0xEDAF, - 31148 - 11904: 0xF05F, - 31149 - 11904: 0xF05E, - 31150 - 11904: 0xC2A7, - 31152 - 11904: 0xF2A5, - 31153 - 11904: 0xC3AB, - 31154 - 11904: 0xF4A1, - 31155 - 11904: 0xC5A1, - 31156 - 11904: 0xF6F7, - 31158 - 11904: 0xF8B7, - 31159 - 11904: 0xF8B6, - 31160 - 11904: 0xC9A8, - 31161 - 11904: 0xACEA, - 31162 - 11904: 0xACEB, - 31163 - 11904: 0xD6C3, - 31165 - 11904: 0xB856, - 31166 - 11904: 0xA5DD, - 31167 - 11904: 0xA872, - 31168 - 11904: 0xA871, - 31169 - 11904: 0xA870, - 31172 - 11904: 0x97A8, - 31173 - 11904: 0xCDA4, - 31174 - 11904: 0xFEFC, - 31176 - 11904: 0xAAC4, - 31177 - 11904: 0xAAC3, - 31178 - 11904: 0x8CDE, - 31179 - 11904: 0xACEE, - 31180 - 11904: 0xFDBF, - 31181 - 11904: 0xCFFA, - 31182 - 11904: 0xCFFD, - 31183 - 11904: 0xCFFB, - 31184 - 11904: 0x87B3, - 31185 - 11904: 0xACEC, - 31186 - 11904: 0xACED, - 31188 - 11904: 0xFEFE, - 31189 - 11904: 0xCFF9, - 31190 - 11904: 0xCFFC, - 31192 - 11904: 0xAFB5, - 31196 - 11904: 0xD2F3, - 31197 - 11904: 0xD2F5, - 31198 - 11904: 0xD2F4, - 31199 - 11904: 0xAFB2, - 31200 - 11904: 0xD2EF, - 31202 - 11904: 0x96D1, - 31203 - 11904: 0xAFB0, - 31204 - 11904: 0xAFAF, - 31206 - 11904: 0xAFB3, - 31207 - 11904: 0xAFB1, - 31209 - 11904: 0xAFB4, - 31210 - 11904: 0xD2F2, - 31211 - 11904: 0xD2ED, - 31212 - 11904: 0xD2EE, - 31213 - 11904: 0xD2F1, - 31214 - 11904: 0xD2F0, - 31217 - 11904: 0x94D5, - 31220 - 11904: 0x94D0, - 31222 - 11904: 0xD6C6, - 31223 - 11904: 0xD6C7, - 31224 - 11904: 0xD6C5, - 31226 - 11904: 0xD6C4, - 31227 - 11904: 0xB2BE, - 31232 - 11904: 0xB57D, - 31234 - 11904: 0xDAD6, - 31235 - 11904: 0xDAD8, - 31236 - 11904: 0xDADA, - 31237 - 11904: 0xB57C, - 31238 - 11904: 0x9944, - 31240 - 11904: 0xB57A, - 31242 - 11904: 0xDAD7, - 31243 - 11904: 0xB57B, - 31244 - 11904: 0xDAD9, - 31245 - 11904: 0xB579, - 31248 - 11904: 0xDF41, - 31249 - 11904: 0xDEF7, - 31250 - 11904: 0xDEFA, - 31251 - 11904: 0xDEFE, - 31252 - 11904: 0xB85A, - 31253 - 11904: 0xDEFC, - 31255 - 11904: 0xDEFB, - 31256 - 11904: 0xDEF8, - 31257 - 11904: 0xDEF9, - 31258 - 11904: 0xB858, - 31259 - 11904: 0xDF40, - 31260 - 11904: 0xB857, - 31262 - 11904: 0xB85C, - 31263 - 11904: 0xB85B, - 31264 - 11904: 0xB859, - 31266 - 11904: 0xDEFD, - 31270 - 11904: 0xE349, - 31272 - 11904: 0xE348, - 31274 - 11904: 0x8C63, - 31275 - 11904: 0xE344, - 31276 - 11904: 0x87BB, - 31277 - 11904: 0xA0B3, - 31278 - 11904: 0xBAD8, - 31279 - 11904: 0xE347, - 31280 - 11904: 0xE346, - 31281 - 11904: 0xBAD9, - 31282 - 11904: 0x87B4, - 31287 - 11904: 0xBD5E, - 31289 - 11904: 0xE6D2, - 31290 - 11904: 0x94CF, - 31291 - 11904: 0xBD5F, - 31292 - 11904: 0xBD5B, - 31293 - 11904: 0xBD5D, - 31294 - 11904: 0x9FFA, - 31295 - 11904: 0xBD5A, - 31296 - 11904: 0xBD5C, - 31299 - 11904: 0x91E5, - 31300 - 11904: 0xEAAF, - 31301 - 11904: 0x9C6A, - 31302 - 11904: 0xBF70, - 31303 - 11904: 0xEAB1, - 31304 - 11904: 0xEAB0, - 31305 - 11904: 0x8E49, - 31306 - 11904: 0xE345, - 31307 - 11904: 0xBF72, - 31308 - 11904: 0xBF71, - 31309 - 11904: 0xBF6E, - 31310 - 11904: 0xBF6F, - 31316 - 11904: 0xEDB5, - 31318 - 11904: 0xEDB3, - 31319 - 11904: 0xC14A, - 31320 - 11904: 0xEDB4, - 31322 - 11904: 0xEDB6, - 31323 - 11904: 0xEDB2, - 31324 - 11904: 0xEDB1, - 31327 - 11904: 0xF060, - 31328 - 11904: 0xC2AA, - 31329 - 11904: 0xC2A8, - 31330 - 11904: 0xC2A9, - 31333 - 11904: 0x8E4C, - 31335 - 11904: 0xF2A6, - 31336 - 11904: 0xF2A7, - 31337 - 11904: 0xC3AD, - 31339 - 11904: 0xC3AC, - 31340 - 11904: 0xF4A3, - 31341 - 11904: 0xF4A4, - 31342 - 11904: 0xF4A2, - 31344 - 11904: 0xF6F8, - 31345 - 11904: 0xF6F9, - 31346 - 11904: 0x87C9, - 31348 - 11904: 0xA5DE, - 31349 - 11904: 0xCA48, - 31350 - 11904: 0xA873, - 31352 - 11904: 0xCDA5, - 31353 - 11904: 0xAAC6, - 31354 - 11904: 0xAAC5, - 31355 - 11904: 0xCDA6, - 31357 - 11904: 0x8E4D, - 31358 - 11904: 0xD040, - 31359 - 11904: 0xACEF, - 31360 - 11904: 0xCFFE, - 31361 - 11904: 0xACF0, - 31363 - 11904: 0x9A73, - 31364 - 11904: 0xAFB6, - 31365 - 11904: 0xD2F8, - 31366 - 11904: 0xD2F6, - 31367 - 11904: 0xD2FC, - 31368 - 11904: 0xAFB7, - 31369 - 11904: 0xD2F7, - 31370 - 11904: 0xD2FB, - 31371 - 11904: 0xD2F9, - 31372 - 11904: 0xD2FA, - 31375 - 11904: 0xD6C8, - 31376 - 11904: 0xD6CA, - 31377 - 11904: 0x9947, - 31378 - 11904: 0xB2BF, - 31379 - 11904: 0x8CB1, - 31380 - 11904: 0xD6C9, - 31381 - 11904: 0xB2C0, - 31382 - 11904: 0xB5A2, - 31383 - 11904: 0xB5A1, - 31384 - 11904: 0xB57E, - 31385 - 11904: 0xDADB, - 31390 - 11904: 0xDF44, - 31391 - 11904: 0xB85D, - 31392 - 11904: 0xB85E, - 31394 - 11904: 0xDF43, - 31395 - 11904: 0xDF42, - 31400 - 11904: 0xE34A, - 31401 - 11904: 0xBADB, - 31402 - 11904: 0xBADA, - 31403 - 11904: 0xE34B, - 31404 - 11904: 0xE34C, - 31406 - 11904: 0xBD61, - 31407 - 11904: 0xBD60, - 31408 - 11904: 0x8E50, - 31409 - 11904: 0xEAB5, - 31410 - 11904: 0xE6D3, - 31411 - 11904: 0xE6D5, - 31412 - 11904: 0xE6D4, - 31413 - 11904: 0xEAB4, - 31414 - 11904: 0xEAB2, - 31415 - 11904: 0xEAB6, - 31416 - 11904: 0xEAB3, - 31418 - 11904: 0xBF73, - 31419 - 11904: 0x8E4F, - 31420 - 11904: 0x9949, - 31422 - 11904: 0xEDB7, - 31423 - 11904: 0xC14B, - 31424 - 11904: 0xEDB8, - 31425 - 11904: 0xEDB9, - 31426 - 11904: 0x8E51, - 31427 - 11904: 0x8E52, - 31428 - 11904: 0xC2AB, - 31429 - 11904: 0xC2AC, - 31431 - 11904: 0xC475, - 31432 - 11904: 0x9AB2, - 31433 - 11904: 0x89A5, - 31434 - 11904: 0xC5D1, - 31435 - 11904: 0xA5DF, - 31439 - 11904: 0x994C, - 31441 - 11904: 0xD041, - 31443 - 11904: 0x9FF8, - 31448 - 11904: 0xD2FD, - 31449 - 11904: 0xAFB8, - 31450 - 11904: 0x8E56, - 31451 - 11904: 0x994D, - 31452 - 11904: 0x91CA, - 31453 - 11904: 0x8E57, - 31455 - 11904: 0xB3BA, - 31456 - 11904: 0xB3B9, - 31458 - 11904: 0x94E1, - 31459 - 11904: 0xB5A4, - 31460 - 11904: 0xDADD, - 31461 - 11904: 0xB5A3, - 31462 - 11904: 0xDADC, - 31463 - 11904: 0x9047, - 31465 - 11904: 0x8FD8, - 31466 - 11904: 0x8E58, - 31467 - 11904: 0xDF45, - 31469 - 11904: 0xBADC, - 31470 - 11904: 0xE34D, - 31471 - 11904: 0xBADD, - 31478 - 11904: 0xC476, - 31479 - 11904: 0xF4A5, - 31481 - 11904: 0xA6CB, - 31482 - 11904: 0xAAC7, - 31483 - 11904: 0xCDA7, - 31484 - 11904: 0x87A3, - 31485 - 11904: 0xACF2, - 31486 - 11904: 0x94EB, - 31487 - 11904: 0xACF1, - 31488 - 11904: 0xD042, - 31489 - 11904: 0xD043, - 31492 - 11904: 0xD340, - 31493 - 11904: 0xD342, - 31494 - 11904: 0xAFB9, - 31496 - 11904: 0xD344, - 31497 - 11904: 0xD347, - 31498 - 11904: 0xD345, - 31499 - 11904: 0x8E5C, - 31500 - 11904: 0x9553, - 31502 - 11904: 0xD346, - 31503 - 11904: 0xD343, - 31504 - 11904: 0xD2FE, - 31505 - 11904: 0xAFBA, - 31506 - 11904: 0xD348, - 31507 - 11904: 0xD341, - 31508 - 11904: 0x9FE5, - 31512 - 11904: 0xD6D3, - 31513 - 11904: 0xB2C6, - 31514 - 11904: 0xD6DC, - 31515 - 11904: 0xB2C3, - 31517 - 11904: 0xD6D5, - 31518 - 11904: 0xB2C7, - 31519 - 11904: 0x9F56, - 31520 - 11904: 0xB2C1, - 31522 - 11904: 0xD6D0, - 31523 - 11904: 0xD6DD, - 31524 - 11904: 0xD6D1, - 31525 - 11904: 0xD6CE, - 31526 - 11904: 0xB2C5, - 31527 - 11904: 0x954F, - 31528 - 11904: 0xB2C2, - 31529 - 11904: 0x8E5E, - 31530 - 11904: 0xD6D4, - 31531 - 11904: 0xD6D7, - 31532 - 11904: 0xB2C4, - 31533 - 11904: 0xD6D8, - 31534 - 11904: 0xB2C8, - 31535 - 11904: 0xD6D9, - 31536 - 11904: 0xD6CF, - 31537 - 11904: 0xD6D6, - 31538 - 11904: 0xD6DA, - 31539 - 11904: 0xD6D2, - 31540 - 11904: 0xD6CD, - 31541 - 11904: 0xD6CB, - 31544 - 11904: 0xD6DB, - 31545 - 11904: 0x996A, - 31547 - 11904: 0xDADF, - 31552 - 11904: 0xDAE4, - 31554 - 11904: 0x9C64, - 31555 - 11904: 0x9CD9, - 31556 - 11904: 0xDAE0, - 31557 - 11904: 0xDAE6, - 31558 - 11904: 0xB5A7, - 31559 - 11904: 0xD6CC, - 31560 - 11904: 0xDAE1, - 31561 - 11904: 0xB5A5, - 31562 - 11904: 0xDADE, - 31563 - 11904: 0xB5AC, - 31564 - 11904: 0xDAE2, - 31565 - 11904: 0xB5AB, - 31566 - 11904: 0xDAE3, - 31567 - 11904: 0xB5AD, - 31568 - 11904: 0xB5A8, - 31569 - 11904: 0xB5AE, - 31570 - 11904: 0xB5A9, - 31572 - 11904: 0xB5AA, - 31573 - 11904: 0x8E5D, - 31574 - 11904: 0xB5A6, - 31576 - 11904: 0xDAE5, - 31584 - 11904: 0xB861, - 31585 - 11904: 0xDF50, - 31586 - 11904: 0x9950, - 31587 - 11904: 0xDF53, - 31588 - 11904: 0xDF47, - 31589 - 11904: 0xDF4C, - 31590 - 11904: 0xDF46, - 31591 - 11904: 0xB863, - 31593 - 11904: 0xDF4A, - 31596 - 11904: 0x9951, - 31597 - 11904: 0xDF48, - 31598 - 11904: 0xB862, - 31599 - 11904: 0x8E62, - 31600 - 11904: 0xDF4F, - 31601 - 11904: 0xDF4E, - 31602 - 11904: 0xDF4B, - 31603 - 11904: 0xDF4D, - 31604 - 11904: 0xDF49, - 31605 - 11904: 0xBAE1, - 31606 - 11904: 0xDF52, - 31607 - 11904: 0xB85F, - 31608 - 11904: 0xDF51, - 31611 - 11904: 0x9952, - 31618 - 11904: 0xE35D, - 31620 - 11904: 0xBAE8, - 31621 - 11904: 0xE358, - 31623 - 11904: 0xBAE7, - 31624 - 11904: 0xE34E, - 31626 - 11904: 0xE350, - 31627 - 11904: 0xBAE0, - 31628 - 11904: 0xE355, - 31629 - 11904: 0xE354, - 31630 - 11904: 0xE357, - 31631 - 11904: 0xBAE5, - 31632 - 11904: 0xE352, - 31633 - 11904: 0xE351, - 31634 - 11904: 0x8E68, - 31636 - 11904: 0xBAE4, - 31637 - 11904: 0xBADF, - 31638 - 11904: 0xE353, - 31639 - 11904: 0xBAE2, - 31640 - 11904: 0xE359, - 31641 - 11904: 0xE35B, - 31643 - 11904: 0xE356, - 31644 - 11904: 0xE34F, - 31645 - 11904: 0xBAE3, - 31648 - 11904: 0xBD69, - 31649 - 11904: 0xBADE, - 31650 - 11904: 0x8E61, - 31651 - 11904: 0x9F59, - 31652 - 11904: 0xE35C, - 31660 - 11904: 0xE6D9, - 31661 - 11904: 0xBD62, - 31662 - 11904: 0x87D0, - 31663 - 11904: 0xE6DB, - 31665 - 11904: 0xBD63, - 31666 - 11904: 0x8BB3, - 31668 - 11904: 0xBD65, - 31669 - 11904: 0xE6DE, - 31671 - 11904: 0xE6D6, - 31672 - 11904: 0xBAE6, - 31673 - 11904: 0xE6DC, - 31678 - 11904: 0xE6D8, - 31680 - 11904: 0xB860, - 31681 - 11904: 0xBD68, - 31684 - 11904: 0xBD64, - 31685 - 11904: 0x87B9, - 31686 - 11904: 0xBD66, - 31687 - 11904: 0xBD67, - 31689 - 11904: 0xBF76, - 31690 - 11904: 0xE6DD, - 31691 - 11904: 0xE6D7, - 31692 - 11904: 0xBD6A, - 31694 - 11904: 0xE6DA, - 31695 - 11904: 0x9F5D, - 31696 - 11904: 0x8E66, - 31700 - 11904: 0xEAC0, - 31701 - 11904: 0xEABB, - 31704 - 11904: 0xEAC5, - 31705 - 11904: 0xBF74, - 31706 - 11904: 0xEABD, - 31707 - 11904: 0xBF78, - 31708 - 11904: 0xEAC3, - 31709 - 11904: 0xEABA, - 31710 - 11904: 0xEAB7, - 31711 - 11904: 0xEAC6, - 31712 - 11904: 0xC151, - 31713 - 11904: 0xBF79, - 31714 - 11904: 0xEAC2, - 31715 - 11904: 0xEAB8, - 31716 - 11904: 0xBF77, - 31717 - 11904: 0xEABC, - 31718 - 11904: 0xBF7B, - 31719 - 11904: 0xEAB9, - 31720 - 11904: 0xEABE, - 31721 - 11904: 0xBF7A, - 31722 - 11904: 0xEAC1, - 31723 - 11904: 0xEAC4, - 31724 - 11904: 0x8CB2, - 31728 - 11904: 0xEDCB, - 31729 - 11904: 0xEDCC, - 31730 - 11904: 0xEDBC, - 31731 - 11904: 0xEDC3, - 31732 - 11904: 0xEDC1, - 31735 - 11904: 0xC14F, - 31736 - 11904: 0xEDC8, - 31737 - 11904: 0xEABF, - 31738 - 11904: 0x8E6E, - 31739 - 11904: 0xEDBF, - 31740 - 11904: 0x9F64, - 31741 - 11904: 0xEDC9, - 31742 - 11904: 0xC14E, - 31743 - 11904: 0xEDBE, - 31744 - 11904: 0xEDBD, - 31745 - 11904: 0xEDC7, - 31746 - 11904: 0xEDC4, - 31747 - 11904: 0xEDC6, - 31749 - 11904: 0xEDBA, - 31750 - 11904: 0xEDCA, - 31751 - 11904: 0xC14C, - 31753 - 11904: 0xEDC5, - 31754 - 11904: 0xEDCE, - 31755 - 11904: 0xEDC2, - 31756 - 11904: 0xC150, - 31757 - 11904: 0xC14D, - 31758 - 11904: 0xEDC0, - 31759 - 11904: 0xEDBB, - 31760 - 11904: 0xEDCD, - 31761 - 11904: 0xBF75, - 31762 - 11904: 0x9953, - 31765 - 11904: 0xFAB8, - 31769 - 11904: 0xF063, - 31771 - 11904: 0x9954, - 31772 - 11904: 0xF061, - 31773 - 11904: 0xF067, - 31774 - 11904: 0xC2B0, - 31775 - 11904: 0xF065, - 31776 - 11904: 0xF064, - 31777 - 11904: 0xC2B2, - 31778 - 11904: 0xF06A, - 31779 - 11904: 0xC2B1, - 31781 - 11904: 0xF06B, - 31782 - 11904: 0xF068, - 31783 - 11904: 0xC2AE, - 31784 - 11904: 0xF069, - 31785 - 11904: 0xF062, - 31786 - 11904: 0xC2AF, - 31787 - 11904: 0xC2AD, - 31788 - 11904: 0xF2AB, - 31789 - 11904: 0xF066, - 31792 - 11904: 0xF06C, - 31795 - 11904: 0xF2A8, - 31797 - 11904: 0x8E70, - 31799 - 11904: 0xC3B2, - 31800 - 11904: 0xC3B0, - 31801 - 11904: 0xF2AA, - 31803 - 11904: 0xF2AC, - 31804 - 11904: 0xF2A9, - 31805 - 11904: 0xC3B1, - 31806 - 11904: 0xC3AE, - 31807 - 11904: 0xC3AF, - 31808 - 11904: 0xC3B3, - 31810 - 11904: 0x9F61, - 31811 - 11904: 0xC478, - 31812 - 11904: 0x8E72, - 31813 - 11904: 0xF4AA, - 31815 - 11904: 0xF4A9, - 31816 - 11904: 0xF4A7, - 31817 - 11904: 0xF4A6, - 31818 - 11904: 0xF4A8, - 31820 - 11904: 0xC477, - 31821 - 11904: 0xC479, - 31824 - 11904: 0xC4F0, - 31825 - 11904: 0xA06B, - 31827 - 11904: 0xF5E5, - 31828 - 11904: 0xF5E4, - 31830 - 11904: 0x9F40, - 31831 - 11904: 0xF6FA, - 31833 - 11904: 0xF6FC, - 31834 - 11904: 0xF6FE, - 31835 - 11904: 0xF6FD, - 31836 - 11904: 0xF6FB, - 31837 - 11904: 0x94ED, - 31839 - 11904: 0xC5A3, - 31840 - 11904: 0xC5A2, - 31843 - 11904: 0xC5D3, - 31844 - 11904: 0xC5D2, - 31845 - 11904: 0xC5D4, - 31846 - 11904: 0xF7ED, - 31847 - 11904: 0xF7EC, - 31849 - 11904: 0xF8FB, - 31850 - 11904: 0xF8B8, - 31851 - 11904: 0xF8FC, - 31852 - 11904: 0xC658, - 31853 - 11904: 0x94EE, - 31854 - 11904: 0xC659, - 31855 - 11904: 0xF96D, - 31856 - 11904: 0x9FBD, - 31858 - 11904: 0xC67E, - 31859 - 11904: 0xA6CC, - 31860 - 11904: 0x8E7B, - 31861 - 11904: 0xCDA8, - 31864 - 11904: 0xD045, - 31865 - 11904: 0xD046, - 31866 - 11904: 0xD044, - 31867 - 11904: 0x9957, - 31868 - 11904: 0x94F7, - 31869 - 11904: 0xACF3, - 31870 - 11904: 0x9F5F, - 31871 - 11904: 0xD047, - 31872 - 11904: 0xD048, - 31873 - 11904: 0xD049, - 31875 - 11904: 0x8E73, - 31876 - 11904: 0xD349, - 31877 - 11904: 0xD34F, - 31878 - 11904: 0x9F62, - 31880 - 11904: 0xD34D, - 31881 - 11904: 0xAFBB, - 31882 - 11904: 0xD34B, - 31884 - 11904: 0xD34C, - 31885 - 11904: 0xD34E, - 31886 - 11904: 0x94F6, - 31889 - 11904: 0xD34A, - 31890 - 11904: 0xB2C9, - 31892 - 11904: 0xD6DE, - 31893 - 11904: 0xB2CB, - 31894 - 11904: 0xD6E0, - 31895 - 11904: 0xB2CA, - 31896 - 11904: 0xD6DF, - 31900 - 11904: 0x9958, - 31902 - 11904: 0xDAE8, - 31903 - 11904: 0xB5AF, - 31905 - 11904: 0xDAEA, - 31906 - 11904: 0xDAE7, - 31907 - 11904: 0xD6E1, - 31909 - 11904: 0xB5B0, - 31910 - 11904: 0x8E75, - 31911 - 11904: 0xF9DB, - 31912 - 11904: 0xDAE9, - 31916 - 11904: 0x9072, - 31918 - 11904: 0x94F8, - 31919 - 11904: 0xDF56, - 31921 - 11904: 0xB864, - 31922 - 11904: 0xDF54, - 31923 - 11904: 0xB865, - 31924 - 11904: 0xDF55, - 31925 - 11904: 0xB866, - 31928 - 11904: 0x995A, - 31929 - 11904: 0xBAE9, - 31930 - 11904: 0xE361, - 31931 - 11904: 0xE35E, - 31932 - 11904: 0xE360, - 31933 - 11904: 0xBAEA, - 31934 - 11904: 0xBAEB, - 31935 - 11904: 0xE35F, - 31938 - 11904: 0xA0B0, - 31939 - 11904: 0x8CB3, - 31941 - 11904: 0xE6DF, - 31943 - 11904: 0x8E79, - 31944 - 11904: 0xE6E0, - 31945 - 11904: 0x8E78, - 31946 - 11904: 0xBD6B, - 31947 - 11904: 0xE6E2, - 31948 - 11904: 0xE6E1, - 31949 - 11904: 0x94F3, - 31950 - 11904: 0xA261, - 31952 - 11904: 0xEACA, - 31953 - 11904: 0xEACB, - 31954 - 11904: 0xEAC7, - 31955 - 11904: 0x98AF, - 31956 - 11904: 0xEAC8, - 31957 - 11904: 0xBF7C, - 31958 - 11904: 0xBF7D, - 31959 - 11904: 0xEAC9, - 31961 - 11904: 0xC157, - 31962 - 11904: 0xA0B2, - 31964 - 11904: 0xC153, - 31965 - 11904: 0xC158, - 31966 - 11904: 0xC154, - 31967 - 11904: 0xC156, - 31968 - 11904: 0xC152, - 31970 - 11904: 0xC155, - 31974 - 11904: 0x8E7A, - 31975 - 11904: 0xC2B3, - 31976 - 11904: 0xEDCF, - 31978 - 11904: 0xF2AE, - 31980 - 11904: 0xF2AD, - 31981 - 11904: 0x995C, - 31982 - 11904: 0xF4AB, - 31983 - 11904: 0xC47A, - 31984 - 11904: 0xC47B, - 31985 - 11904: 0xF741, - 31986 - 11904: 0xF5E6, - 31987 - 11904: 0x8E7C, - 31988 - 11904: 0xF740, - 31989 - 11904: 0x8E7D, - 31990 - 11904: 0xF8FD, - 31991 - 11904: 0xF9A4, - 31992 - 11904: 0xA6CD, - 31993 - 11904: 0x8BD9, - 31995 - 11904: 0xA874, - 31996 - 11904: 0x89A2, - 31997 - 11904: 0xCDA9, - 31998 - 11904: 0xAAC8, - 32000 - 11904: 0xACF6, - 32001 - 11904: 0xD04C, - 32002 - 11904: 0xACF4, - 32003 - 11904: 0xD04A, - 32004 - 11904: 0xACF9, - 32005 - 11904: 0xACF5, - 32006 - 11904: 0xACFA, - 32007 - 11904: 0xACF8, - 32008 - 11904: 0xD04B, - 32009 - 11904: 0xACF7, - 32010 - 11904: 0xAFBF, - 32011 - 11904: 0xAFBE, - 32012 - 11904: 0xD35A, - 32013 - 11904: 0xAFC7, - 32014 - 11904: 0xD353, - 32015 - 11904: 0xD359, - 32016 - 11904: 0xAFC3, - 32017 - 11904: 0xD352, - 32018 - 11904: 0xD358, - 32019 - 11904: 0xD356, - 32020 - 11904: 0xAFC2, - 32021 - 11904: 0xAFC4, - 32022 - 11904: 0xD355, - 32023 - 11904: 0xAFBD, - 32024 - 11904: 0xD354, - 32025 - 11904: 0xAFC8, - 32026 - 11904: 0xAFC5, - 32027 - 11904: 0xAFC9, - 32028 - 11904: 0xAFC6, - 32029 - 11904: 0xD351, - 32030 - 11904: 0xD350, - 32031 - 11904: 0xD357, - 32032 - 11904: 0xAFC0, - 32033 - 11904: 0xAFBC, - 32034 - 11904: 0xAFC1, - 32037 - 11904: 0x9ED7, - 32040 - 11904: 0xD6F0, - 32041 - 11904: 0xD6E9, - 32043 - 11904: 0xB5B5, - 32044 - 11904: 0xD6E8, - 32046 - 11904: 0xB2CF, - 32047 - 11904: 0xB2D6, - 32048 - 11904: 0xB2D3, - 32049 - 11904: 0xB2D9, - 32050 - 11904: 0xB2D8, - 32051 - 11904: 0xB2D4, - 32053 - 11904: 0xD6E2, - 32054 - 11904: 0xD6E5, - 32056 - 11904: 0xD6E4, - 32057 - 11904: 0xB2D0, - 32058 - 11904: 0xD6E6, - 32059 - 11904: 0xD6EF, - 32060 - 11904: 0xB2D1, - 32061 - 11904: 0xD6E3, - 32062 - 11904: 0xD6EC, - 32063 - 11904: 0xD6ED, - 32064 - 11904: 0xB2D2, - 32065 - 11904: 0xD6EA, - 32066 - 11904: 0xB2D7, - 32067 - 11904: 0xB2CD, - 32068 - 11904: 0xB2D5, - 32069 - 11904: 0xD6E7, - 32070 - 11904: 0xB2CC, - 32071 - 11904: 0xD6EB, - 32074 - 11904: 0xD6EE, - 32077 - 11904: 0xA0B6, - 32078 - 11904: 0xDAFB, - 32079 - 11904: 0xDAF2, - 32080 - 11904: 0xB5B2, - 32081 - 11904: 0xDAF9, - 32082 - 11904: 0xDAF6, - 32083 - 11904: 0xDAEE, - 32084 - 11904: 0xDAF7, - 32085 - 11904: 0xB5B4, - 32086 - 11904: 0xDAEF, - 32088 - 11904: 0xDAEB, - 32090 - 11904: 0x9E42, - 32091 - 11904: 0xB86C, - 32092 - 11904: 0xDAF4, - 32093 - 11904: 0x8EA4, - 32094 - 11904: 0xB5B1, - 32095 - 11904: 0xDAFA, - 32097 - 11904: 0xB5B8, - 32098 - 11904: 0xB5BA, - 32099 - 11904: 0xDAED, - 32102 - 11904: 0xB5B9, - 32103 - 11904: 0xDAF0, - 32104 - 11904: 0xB5B3, - 32105 - 11904: 0xDAF8, - 32106 - 11904: 0xDAF1, - 32107 - 11904: 0xDAF5, - 32109 - 11904: 0xDAF3, - 32110 - 11904: 0xB5B6, - 32111 - 11904: 0xDAEC, - 32112 - 11904: 0xB5BB, - 32113 - 11904: 0xB2CE, - 32114 - 11904: 0xB5B7, - 32115 - 11904: 0xB5BC, - 32121 - 11904: 0xB868, - 32122 - 11904: 0xDF5D, - 32123 - 11904: 0xDF5F, - 32124 - 11904: 0xDF61, - 32125 - 11904: 0xDF65, - 32127 - 11904: 0xDF5B, - 32128 - 11904: 0xDF59, - 32129 - 11904: 0xB86A, - 32131 - 11904: 0xDF60, - 32132 - 11904: 0xDF64, - 32133 - 11904: 0xDF5C, - 32134 - 11904: 0xDF58, - 32136 - 11904: 0xDF57, - 32137 - 11904: 0x8EA7, - 32139 - 11904: 0x8C76, - 32140 - 11904: 0xDF62, - 32141 - 11904: 0xDF5A, - 32142 - 11904: 0xDF5E, - 32143 - 11904: 0xB86B, - 32145 - 11904: 0xB869, - 32146 - 11904: 0xDF66, - 32147 - 11904: 0xB867, - 32148 - 11904: 0xDF63, - 32149 - 11904: 0x8767, - 32150 - 11904: 0xE372, - 32151 - 11904: 0x9542, - 32156 - 11904: 0xBAEE, - 32157 - 11904: 0xE36A, - 32158 - 11904: 0xBD78, - 32159 - 11904: 0xE374, - 32160 - 11904: 0xBAF1, - 32161 - 11904: 0xE378, - 32162 - 11904: 0xBAF7, - 32163 - 11904: 0xE365, - 32164 - 11904: 0x987D, - 32166 - 11904: 0xE375, - 32167 - 11904: 0xE362, - 32168 - 11904: 0x9755, - 32169 - 11904: 0xE377, - 32170 - 11904: 0xE366, - 32171 - 11904: 0x8EA8, - 32172 - 11904: 0xBAFE, - 32173 - 11904: 0xBAFB, - 32174 - 11904: 0xE376, - 32175 - 11904: 0xE370, - 32176 - 11904: 0xBAED, - 32177 - 11904: 0xBAF5, - 32178 - 11904: 0xBAF4, - 32179 - 11904: 0x8EAA, - 32180 - 11904: 0xBAF3, - 32181 - 11904: 0xBAF9, - 32183 - 11904: 0xE363, - 32184 - 11904: 0xBAFA, - 32185 - 11904: 0xE371, - 32186 - 11904: 0xBAF6, - 32187 - 11904: 0xBAEC, - 32188 - 11904: 0xE373, - 32189 - 11904: 0xBAEF, - 32190 - 11904: 0xBAF0, - 32191 - 11904: 0xBAF8, - 32192 - 11904: 0xE368, - 32193 - 11904: 0xE367, - 32194 - 11904: 0xE364, - 32196 - 11904: 0xE36C, - 32197 - 11904: 0xE369, - 32198 - 11904: 0xE36D, - 32199 - 11904: 0xBAFD, - 32201 - 11904: 0xE379, - 32202 - 11904: 0xBAF2, - 32203 - 11904: 0xE36E, - 32204 - 11904: 0xE36F, - 32205 - 11904: 0x89A3, - 32206 - 11904: 0xE36B, - 32207 - 11904: 0x9960, - 32208 - 11904: 0x9962, - 32210 - 11904: 0xBAFC, - 32211 - 11904: 0x94FC, - 32212 - 11904: 0x9961, - 32215 - 11904: 0xE6E7, - 32216 - 11904: 0xBD70, - 32217 - 11904: 0xBD79, - 32218 - 11904: 0xBD75, - 32219 - 11904: 0xE6E4, - 32220 - 11904: 0x94FA, - 32221 - 11904: 0xBD72, - 32222 - 11904: 0xBD76, - 32223 - 11904: 0xE6F0, - 32224 - 11904: 0xBD6C, - 32225 - 11904: 0xE6E8, - 32227 - 11904: 0xBD74, - 32228 - 11904: 0x8EAE, - 32229 - 11904: 0x8EB2, - 32230 - 11904: 0xE6EB, - 32231 - 11904: 0xE6E6, - 32232 - 11904: 0xBD73, - 32233 - 11904: 0xBD77, - 32234 - 11904: 0xE6E5, - 32236 - 11904: 0xBD71, - 32238 - 11904: 0xE6EF, - 32239 - 11904: 0xBD6E, - 32240 - 11904: 0xE6EE, - 32241 - 11904: 0xE6ED, - 32242 - 11904: 0xBD7A, - 32243 - 11904: 0xE572, - 32244 - 11904: 0xBD6D, - 32245 - 11904: 0x8EB0, - 32246 - 11904: 0xE6EC, - 32247 - 11904: 0xE6E3, - 32249 - 11904: 0xBD7B, - 32250 - 11904: 0xE6EA, - 32251 - 11904: 0xBD6F, - 32253 - 11904: 0x9963, - 32254 - 11904: 0x97AA, - 32259 - 11904: 0xE6E9, - 32263 - 11904: 0x94FB, - 32264 - 11904: 0xBFA2, - 32265 - 11904: 0xBFA7, - 32266 - 11904: 0xBF7E, - 32267 - 11904: 0xEAD8, - 32268 - 11904: 0xEACF, - 32269 - 11904: 0xEADB, - 32270 - 11904: 0xEAD3, - 32271 - 11904: 0xEAD9, - 32272 - 11904: 0xBFA8, - 32273 - 11904: 0xBFA1, - 32274 - 11904: 0xEACC, - 32275 - 11904: 0xEAD2, - 32276 - 11904: 0xEADC, - 32277 - 11904: 0xEAD5, - 32278 - 11904: 0xEADA, - 32279 - 11904: 0xEACE, - 32282 - 11904: 0xEAD6, - 32283 - 11904: 0xBFA3, - 32284 - 11904: 0xEAD4, - 32285 - 11904: 0xBFA6, - 32286 - 11904: 0xBFA5, - 32287 - 11904: 0xEAD0, - 32288 - 11904: 0xEAD1, - 32289 - 11904: 0xEACD, - 32290 - 11904: 0xEAD7, - 32291 - 11904: 0xBFA4, - 32292 - 11904: 0xEADE, - 32293 - 11904: 0xEADD, - 32295 - 11904: 0x8EBB, - 32297 - 11904: 0xEDDA, - 32298 - 11904: 0xEDD6, - 32299 - 11904: 0xC15F, - 32301 - 11904: 0xEDD0, - 32302 - 11904: 0xC159, - 32303 - 11904: 0xC169, - 32304 - 11904: 0xEDDC, - 32305 - 11904: 0xC161, - 32306 - 11904: 0xC15D, - 32307 - 11904: 0xEDD3, - 32308 - 11904: 0xC164, - 32309 - 11904: 0xC167, - 32310 - 11904: 0xEDDE, - 32311 - 11904: 0xC15C, - 32312 - 11904: 0xEDD5, - 32313 - 11904: 0xC165, - 32314 - 11904: 0xEDE0, - 32315 - 11904: 0xEDDD, - 32316 - 11904: 0xEDD1, - 32317 - 11904: 0xC160, - 32318 - 11904: 0xC15A, - 32319 - 11904: 0xC168, - 32320 - 11904: 0xEDD8, - 32321 - 11904: 0xC163, - 32322 - 11904: 0xEDD2, - 32323 - 11904: 0xC15E, - 32324 - 11904: 0xEDDF, - 32325 - 11904: 0xC162, - 32326 - 11904: 0xC15B, - 32327 - 11904: 0xEDD9, - 32328 - 11904: 0xC166, - 32329 - 11904: 0xEDD7, - 32332 - 11904: 0xEDDB, - 32336 - 11904: 0xF06E, - 32337 - 11904: 0xF074, - 32338 - 11904: 0xC2B9, - 32339 - 11904: 0xF077, - 32340 - 11904: 0xC2B4, - 32341 - 11904: 0xC2B5, - 32342 - 11904: 0xF06F, - 32343 - 11904: 0xF076, - 32344 - 11904: 0xF071, - 32345 - 11904: 0xC2BA, - 32346 - 11904: 0xC2B7, - 32347 - 11904: 0x8CDC, - 32348 - 11904: 0xF06D, - 32350 - 11904: 0xC2B6, - 32351 - 11904: 0xF073, - 32352 - 11904: 0xF075, - 32353 - 11904: 0xC2B8, - 32354 - 11904: 0xF072, - 32355 - 11904: 0xF070, - 32357 - 11904: 0x9876, - 32359 - 11904: 0x8EA1, - 32360 - 11904: 0xF2B8, - 32361 - 11904: 0xC3B7, - 32362 - 11904: 0xC3B8, - 32363 - 11904: 0xC3B4, - 32364 - 11904: 0x8CB4, - 32365 - 11904: 0xC3B5, - 32366 - 11904: 0x8EB7, - 32367 - 11904: 0xF2B4, - 32368 - 11904: 0xF2B2, - 32370 - 11904: 0xF2B6, - 32371 - 11904: 0xC3BA, - 32372 - 11904: 0xF2B7, - 32373 - 11904: 0xF2B0, - 32374 - 11904: 0xF2AF, - 32375 - 11904: 0xF2B3, - 32376 - 11904: 0xF2B1, - 32377 - 11904: 0xC3B6, - 32378 - 11904: 0xF2B5, - 32379 - 11904: 0xF4AC, - 32380 - 11904: 0xC47E, - 32381 - 11904: 0xC47D, - 32382 - 11904: 0xF4AD, - 32383 - 11904: 0x9DA6, - 32384 - 11904: 0xF4AF, - 32385 - 11904: 0xF4AE, - 32386 - 11904: 0xC4A1, - 32390 - 11904: 0xF5EB, - 32391 - 11904: 0xF5E8, - 32392 - 11904: 0xF5E9, - 32394 - 11904: 0xF5E7, - 32395 - 11904: 0xF5EA, - 32396 - 11904: 0xC4F2, - 32397 - 11904: 0xF5EC, - 32398 - 11904: 0x9EB0, - 32399 - 11904: 0xC4F1, - 32401 - 11904: 0xF742, - 32402 - 11904: 0x8EB8, - 32403 - 11904: 0xC5D5, - 32404 - 11904: 0xC5D7, - 32405 - 11904: 0xF7EE, - 32406 - 11904: 0xC5D6, - 32407 - 11904: 0xF8B9, - 32408 - 11904: 0xF940, - 32409 - 11904: 0xF942, - 32410 - 11904: 0xF8FE, - 32411 - 11904: 0xF941, - 32412 - 11904: 0xC66C, - 32415 - 11904: 0x9D70, - 32420 - 11904: 0x896E, - 32428 - 11904: 0x896F, - 32442 - 11904: 0x8970, - 32455 - 11904: 0x8971, - 32463 - 11904: 0x8972, - 32479 - 11904: 0x8973, - 32518 - 11904: 0x8974, - 32566 - 11904: 0xA6CE, - 32567 - 11904: 0x8975, - 32568 - 11904: 0xACFB, - 32569 - 11904: 0xD26F, - 32570 - 11904: 0xAFCA, - 32573 - 11904: 0xB2DA, - 32574 - 11904: 0xDAFC, - 32575 - 11904: 0xDAFD, - 32576 - 11904: 0x8EBC, - 32577 - 11904: 0x8EBD, - 32579 - 11904: 0xEADF, - 32580 - 11904: 0xC16A, - 32581 - 11904: 0xEDE1, - 32583 - 11904: 0x8EBE, - 32584 - 11904: 0xC2BB, - 32585 - 11904: 0x9DD1, - 32586 - 11904: 0xF2BA, - 32587 - 11904: 0xF2B9, - 32588 - 11904: 0xC4A2, - 32589 - 11904: 0xF5ED, - 32590 - 11904: 0x94FD, - 32591 - 11904: 0xF743, - 32592 - 11904: 0xC5F8, - 32593 - 11904: 0xCA49, - 32594 - 11904: 0x8BD7, - 32595 - 11904: 0x8BDA, - 32596 - 11904: 0xAAC9, - 32597 - 11904: 0xA875, - 32600 - 11904: 0xD04D, - 32603 - 11904: 0xD360, - 32604 - 11904: 0xD35B, - 32605 - 11904: 0xD35F, - 32606 - 11904: 0xD35D, - 32607 - 11904: 0xAFCB, - 32608 - 11904: 0xD35E, - 32609 - 11904: 0xD35C, - 32611 - 11904: 0xD6F1, - 32613 - 11904: 0xDAFE, - 32614 - 11904: 0xDB40, - 32615 - 11904: 0xDF69, - 32616 - 11904: 0xDF6A, - 32617 - 11904: 0xB86E, - 32618 - 11904: 0xB86F, - 32619 - 11904: 0xDF68, - 32620 - 11904: 0xDF6B, - 32621 - 11904: 0xDF67, - 32622 - 11904: 0xB86D, - 32624 - 11904: 0xBB40, - 32625 - 11904: 0xA0E2, - 32626 - 11904: 0xB870, - 32627 - 11904: 0xE37A, - 32629 - 11904: 0xBD7C, - 32630 - 11904: 0xE6F1, - 32631 - 11904: 0xBD7D, - 32632 - 11904: 0x9FE9, - 32633 - 11904: 0xBFA9, - 32634 - 11904: 0xEAE2, - 32635 - 11904: 0xEAE0, - 32636 - 11904: 0xEAE1, - 32637 - 11904: 0xEDE4, - 32638 - 11904: 0xEDE3, - 32639 - 11904: 0xEDE2, - 32643 - 11904: 0xF2BB, - 32645 - 11904: 0xC3B9, - 32646 - 11904: 0xF2BC, - 32647 - 11904: 0xF744, - 32648 - 11904: 0xC5F9, - 32649 - 11904: 0xF8BA, - 32650 - 11904: 0xA6CF, - 32651 - 11904: 0xAACB, - 32652 - 11904: 0xAACA, - 32653 - 11904: 0xD04F, - 32654 - 11904: 0xACFC, - 32655 - 11904: 0xFDA8, - 32657 - 11904: 0xD04E, - 32658 - 11904: 0xD362, - 32659 - 11904: 0x8AE7, - 32660 - 11904: 0xAFCC, - 32661 - 11904: 0xD6F2, - 32662 - 11904: 0xD361, - 32663 - 11904: 0x8EC2, - 32666 - 11904: 0xB2DC, - 32667 - 11904: 0xD6F5, - 32668 - 11904: 0xD6F3, - 32669 - 11904: 0xD6F4, - 32670 - 11904: 0xB2DB, - 32672 - 11904: 0xDB42, - 32673 - 11904: 0xDB43, - 32674 - 11904: 0xDB41, - 32675 - 11904: 0x8EC4, - 32676 - 11904: 0xB873, - 32677 - 11904: 0xDF6D, - 32678 - 11904: 0xDF6C, - 32679 - 11904: 0xDF6E, - 32680 - 11904: 0xB872, - 32681 - 11904: 0xB871, - 32684 - 11904: 0xE6F2, - 32685 - 11904: 0xE6F4, - 32686 - 11904: 0x9964, - 32687 - 11904: 0xBD7E, - 32688 - 11904: 0xE6F3, - 32689 - 11904: 0xEAE3, - 32690 - 11904: 0xBFAA, - 32691 - 11904: 0xF079, - 32692 - 11904: 0x9965, - 32693 - 11904: 0xF078, - 32694 - 11904: 0xC3BB, - 32695 - 11904: 0xF2BD, - 32696 - 11904: 0xC3BD, - 32697 - 11904: 0xC3BC, - 32698 - 11904: 0xF4B0, - 32699 - 11904: 0xF5EE, - 32700 - 11904: 0xC4F3, - 32701 - 11904: 0xA6D0, - 32702 - 11904: 0xD050, - 32703 - 11904: 0xACFD, - 32704 - 11904: 0xD365, - 32705 - 11904: 0xAFCE, - 32706 - 11904: 0xD364, - 32707 - 11904: 0xD363, - 32709 - 11904: 0xAFCD, - 32711 - 11904: 0xD6FB, - 32713 - 11904: 0xD6FD, - 32714 - 11904: 0xD6F6, - 32715 - 11904: 0xD6F7, - 32716 - 11904: 0xB2DD, - 32717 - 11904: 0xD6F8, - 32718 - 11904: 0xB2DE, - 32719 - 11904: 0xD6FC, - 32720 - 11904: 0xD6F9, - 32721 - 11904: 0xD6FA, - 32722 - 11904: 0xB2DF, - 32724 - 11904: 0xB5BE, - 32725 - 11904: 0xB5BF, - 32727 - 11904: 0xDB44, - 32731 - 11904: 0xDF6F, - 32732 - 11904: 0xDF70, - 32733 - 11904: 0x954E, - 32734 - 11904: 0xE37E, - 32735 - 11904: 0xBB43, - 32736 - 11904: 0xBB41, - 32737 - 11904: 0xBB42, - 32738 - 11904: 0xE37B, - 32739 - 11904: 0xE37C, - 32741 - 11904: 0xE37D, - 32742 - 11904: 0xE6F9, - 32743 - 11904: 0x98B3, - 32744 - 11904: 0xE6FA, - 32745 - 11904: 0xBDA1, - 32746 - 11904: 0xE6F7, - 32747 - 11904: 0xE6F6, - 32748 - 11904: 0xE6F8, - 32749 - 11904: 0xE6F5, - 32750 - 11904: 0xBFAD, - 32751 - 11904: 0xEAE4, - 32752 - 11904: 0xBFAB, - 32753 - 11904: 0xBFAC, - 32754 - 11904: 0xEDE6, - 32755 - 11904: 0xC16B, - 32756 - 11904: 0xEDE5, - 32757 - 11904: 0xEFA8, - 32759 - 11904: 0xF07A, - 32760 - 11904: 0xF07B, - 32761 - 11904: 0xC2BC, - 32762 - 11904: 0x8ECB, - 32763 - 11904: 0xC2BD, - 32764 - 11904: 0xC16C, - 32765 - 11904: 0xF2BE, - 32766 - 11904: 0xF2BF, - 32767 - 11904: 0xF4B1, - 32768 - 11904: 0xC4A3, - 32769 - 11904: 0xA6D1, - 32770 - 11904: 0x8BDF, - 32771 - 11904: 0xA6D2, - 32772 - 11904: 0xACFE, - 32773 - 11904: 0xAACC, - 32774 - 11904: 0xAFCF, - 32775 - 11904: 0xD051, - 32776 - 11904: 0x8ECE, - 32779 - 11904: 0xB5C0, - 32780 - 11904: 0xA6D3, - 32781 - 11904: 0xAD41, - 32782 - 11904: 0xD052, - 32783 - 11904: 0xD053, - 32784 - 11904: 0xAD40, - 32785 - 11904: 0xAD42, - 32786 - 11904: 0xA6D4, - 32788 - 11904: 0xD054, - 32789 - 11904: 0xAFD1, - 32790 - 11904: 0xD366, - 32791 - 11904: 0xAFD3, - 32792 - 11904: 0xAFD0, - 32793 - 11904: 0xAFD2, - 32795 - 11904: 0xD741, - 32796 - 11904: 0xB2E0, - 32797 - 11904: 0x8ECF, - 32798 - 11904: 0xD740, - 32799 - 11904: 0xD6FE, - 32800 - 11904: 0x9968, - 32801 - 11904: 0xDF71, - 32804 - 11904: 0xE3A1, - 32805 - 11904: 0x9969, - 32806 - 11904: 0xBDA2, - 32808 - 11904: 0xBFAE, - 32809 - 11904: 0xEAE6, - 32810 - 11904: 0xEAE5, - 32812 - 11904: 0xEDE7, - 32814 - 11904: 0x996B, - 32815 - 11904: 0x8ED1, - 32816 - 11904: 0xF5EF, - 32817 - 11904: 0x996C, - 32819 - 11904: 0xA6D5, - 32820 - 11904: 0xCB73, - 32821 - 11904: 0xCDAA, - 32822 - 11904: 0xAD43, - 32823 - 11904: 0xD055, - 32825 - 11904: 0xD368, - 32827 - 11904: 0x8ED4, - 32828 - 11904: 0x8ED5, - 32829 - 11904: 0xAFD4, - 32830 - 11904: 0xD367, - 32831 - 11904: 0xAFD5, - 32835 - 11904: 0xD743, - 32838 - 11904: 0xB2E2, - 32839 - 11904: 0xD742, - 32840 - 11904: 0xD744, - 32842 - 11904: 0xB2E1, - 32847 - 11904: 0xDB46, - 32848 - 11904: 0xDB47, - 32849 - 11904: 0xDB45, - 32850 - 11904: 0xB5C1, - 32852 - 11904: 0x996D, - 32854 - 11904: 0xB874, - 32856 - 11904: 0xB875, - 32858 - 11904: 0xBB45, - 32859 - 11904: 0xA0BE, - 32860 - 11904: 0xE3A3, - 32861 - 11904: 0xE3A2, - 32862 - 11904: 0xBB44, - 32865 - 11904: 0x8ED6, - 32866 - 11904: 0xA0BC, - 32867 - 11904: 0xA0B5, - 32868 - 11904: 0xE6FB, - 32870 - 11904: 0xA0B4, - 32871 - 11904: 0xE6FC, - 32876 - 11904: 0xEAE7, - 32879 - 11904: 0xC170, - 32880 - 11904: 0xC16F, - 32881 - 11904: 0xC16D, - 32882 - 11904: 0xC16E, - 32883 - 11904: 0xC171, - 32885 - 11904: 0xF07C, - 32886 - 11904: 0xC2BF, - 32887 - 11904: 0xC2BE, - 32888 - 11904: 0xF2C0, - 32889 - 11904: 0xF4B2, - 32893 - 11904: 0xC5A5, - 32894 - 11904: 0xC5A4, - 32895 - 11904: 0xA6D6, - 32896 - 11904: 0x8BE0, - 32898 - 11904: 0xD1FB, - 32900 - 11904: 0xB877, - 32901 - 11904: 0xB5C2, - 32902 - 11904: 0xB876, - 32903 - 11904: 0xBB46, - 32905 - 11904: 0xA6D7, - 32906 - 11904: 0xC9A9, - 32907 - 11904: 0xA6D8, - 32908 - 11904: 0xA6D9, - 32911 - 11904: 0xCDAB, - 32912 - 11904: 0xCB76, - 32914 - 11904: 0xCB77, - 32915 - 11904: 0xA877, - 32917 - 11904: 0xCB74, - 32918 - 11904: 0xA876, - 32920 - 11904: 0xA879, - 32921 - 11904: 0xCB75, - 32922 - 11904: 0xA87B, - 32923 - 11904: 0xA87A, - 32924 - 11904: 0xCB78, - 32925 - 11904: 0xA878, - 32927 - 11904: 0x89B5, - 32929 - 11904: 0xAAD1, - 32930 - 11904: 0xAACF, - 32931 - 11904: 0xCDAD, - 32933 - 11904: 0xAACE, - 32935 - 11904: 0x8EDD, - 32937 - 11904: 0xAAD3, - 32938 - 11904: 0xAAD5, - 32939 - 11904: 0xAAD2, - 32941 - 11904: 0xCDB0, - 32942 - 11904: 0xCDAC, - 32943 - 11904: 0xAAD6, - 32945 - 11904: 0xAAD0, - 32946 - 11904: 0xA87C, - 32948 - 11904: 0xAAD4, - 32949 - 11904: 0xCDAF, - 32950 - 11904: 0x9E5D, - 32951 - 11904: 0x9971, - 32952 - 11904: 0xCDAE, - 32954 - 11904: 0xAACD, - 32956 - 11904: 0x89AE, - 32957 - 11904: 0x9DE8, - 32962 - 11904: 0xD05B, - 32963 - 11904: 0xAD47, - 32964 - 11904: 0xAD48, - 32965 - 11904: 0xD05D, - 32966 - 11904: 0x9565, - 32967 - 11904: 0xD057, - 32968 - 11904: 0xD05A, - 32969 - 11904: 0xD063, - 32970 - 11904: 0xD061, - 32972 - 11904: 0xAD49, - 32973 - 11904: 0xD067, - 32974 - 11904: 0xAD4C, - 32975 - 11904: 0xD064, - 32976 - 11904: 0xD05C, - 32977 - 11904: 0xD059, - 32980 - 11904: 0xDB49, - 32981 - 11904: 0xD062, - 32982 - 11904: 0xAD44, - 32983 - 11904: 0xD065, - 32984 - 11904: 0xD056, - 32985 - 11904: 0xD05F, - 32986 - 11904: 0xAD46, - 32987 - 11904: 0xAD4B, - 32988 - 11904: 0xD060, - 32989 - 11904: 0xAD4F, - 32990 - 11904: 0xAD4D, - 32992 - 11904: 0xD058, - 32993 - 11904: 0xAD4A, - 32995 - 11904: 0xD05E, - 32996 - 11904: 0xAD4E, - 32997 - 11904: 0xAD45, - 32998 - 11904: 0xD066, - 33001 - 11904: 0x9972, - 33004 - 11904: 0x8B5C, - 33005 - 11904: 0xAFDA, - 33007 - 11904: 0xAFE3, - 33008 - 11904: 0xAFD8, - 33009 - 11904: 0xAFD6, - 33010 - 11904: 0xD36A, - 33011 - 11904: 0xAFDE, - 33012 - 11904: 0xAFDB, - 33013 - 11904: 0xD36C, - 33014 - 11904: 0x89B1, - 33016 - 11904: 0xAFDD, - 33017 - 11904: 0xD36B, - 33018 - 11904: 0xD369, - 33019 - 11904: 0xD36E, - 33020 - 11904: 0xAFE2, - 33021 - 11904: 0xAFE0, - 33022 - 11904: 0xDB48, - 33024 - 11904: 0xD36F, - 33025 - 11904: 0xD36D, - 33026 - 11904: 0xAFD7, - 33027 - 11904: 0xA0C0, - 33029 - 11904: 0xAFD9, - 33030 - 11904: 0xAFDC, - 33031 - 11904: 0x8EDF, - 33032 - 11904: 0xAFDF, - 33033 - 11904: 0x9566, - 33034 - 11904: 0xAFE1, - 33036 - 11904: 0x9974, - 33038 - 11904: 0x9976, - 33042 - 11904: 0x9977, - 33044 - 11904: 0x9979, - 33045 - 11904: 0xD74E, - 33046 - 11904: 0xB2E4, - 33047 - 11904: 0x9DDA, - 33048 - 11904: 0xD745, - 33049 - 11904: 0xD747, - 33050 - 11904: 0x8EE0, - 33051 - 11904: 0xD748, - 33053 - 11904: 0xD750, - 33054 - 11904: 0xD74C, - 33055 - 11904: 0xD74A, - 33057 - 11904: 0xD74D, - 33058 - 11904: 0xD751, - 33059 - 11904: 0xB2E5, - 33060 - 11904: 0xB2E9, - 33061 - 11904: 0xD746, - 33063 - 11904: 0xD74F, - 33065 - 11904: 0xB2E7, - 33066 - 11904: 0x935C, - 33067 - 11904: 0xB2E6, - 33068 - 11904: 0xD74B, - 33069 - 11904: 0xD749, - 33071 - 11904: 0xB2E3, - 33072 - 11904: 0xB2E8, - 33074 - 11904: 0x9DE6, - 33076 - 11904: 0x8B5F, - 33079 - 11904: 0x9563, - 33081 - 11904: 0xB5C8, - 33082 - 11904: 0xDB51, - 33085 - 11904: 0xDB4F, - 33086 - 11904: 0xB5CA, - 33090 - 11904: 0x9567, - 33091 - 11904: 0xDB4A, - 33092 - 11904: 0xDFA1, - 33094 - 11904: 0xB5C9, - 33095 - 11904: 0xDB4E, - 33096 - 11904: 0x9DE3, - 33098 - 11904: 0xDB4B, - 33099 - 11904: 0xB5C5, - 33100 - 11904: 0xB5CB, - 33101 - 11904: 0xDB50, - 33102 - 11904: 0xB5C7, - 33103 - 11904: 0xDB4D, - 33104 - 11904: 0xBB47, - 33105 - 11904: 0xB5C6, - 33106 - 11904: 0xDB4C, - 33107 - 11904: 0xB5CC, - 33108 - 11904: 0xB5C4, - 33109 - 11904: 0xB5C3, - 33110 - 11904: 0x997C, - 33113 - 11904: 0x997D, - 33114 - 11904: 0x997E, - 33115 - 11904: 0xDF77, - 33116 - 11904: 0xDF75, - 33118 - 11904: 0xDF7B, - 33120 - 11904: 0xDF73, - 33121 - 11904: 0xDFA2, - 33122 - 11904: 0xDF78, - 33124 - 11904: 0xDF72, - 33125 - 11904: 0xB87B, - 33126 - 11904: 0xB8A3, - 33127 - 11904: 0xDF7D, - 33129 - 11904: 0xDF76, - 33131 - 11904: 0xB87E, - 33132 - 11904: 0x8CFB, - 33133 - 11904: 0x8B5B, - 33134 - 11904: 0xB87C, - 33135 - 11904: 0xDF7E, - 33136 - 11904: 0xB879, - 33137 - 11904: 0xB878, - 33138 - 11904: 0xDF79, - 33139 - 11904: 0xB87D, - 33140 - 11904: 0xB5CD, - 33142 - 11904: 0xDF7C, - 33143 - 11904: 0xDF74, - 33144 - 11904: 0xB87A, - 33145 - 11904: 0xB8A1, - 33146 - 11904: 0xB8A2, - 33148 - 11904: 0x99A3, - 33151 - 11904: 0xBB4C, - 33152 - 11904: 0xBB48, - 33154 - 11904: 0xBB4D, - 33155 - 11904: 0xE3A6, - 33156 - 11904: 0x99A4, - 33158 - 11904: 0xE3A5, - 33159 - 11904: 0xE3A7, - 33160 - 11904: 0xBB4A, - 33161 - 11904: 0xE3A4, - 33162 - 11904: 0xBB4B, - 33163 - 11904: 0xE3AA, - 33164 - 11904: 0xE3A9, - 33165 - 11904: 0xE3A8, - 33167 - 11904: 0xBB49, - 33171 - 11904: 0x99A6, - 33173 - 11904: 0xE741, - 33175 - 11904: 0xE744, - 33176 - 11904: 0xBDA8, - 33177 - 11904: 0xE743, - 33178 - 11904: 0xBDA7, - 33179 - 11904: 0xBDA3, - 33180 - 11904: 0xBDA4, - 33181 - 11904: 0xBDA5, - 33182 - 11904: 0xE740, - 33183 - 11904: 0xE6FE, - 33184 - 11904: 0xBDA6, - 33186 - 11904: 0xE742, - 33187 - 11904: 0xE6FD, - 33189 - 11904: 0x99A8, - 33190 - 11904: 0xEAE9, - 33191 - 11904: 0xEAF3, - 33192 - 11904: 0xBFB1, - 33193 - 11904: 0xBFB0, - 33194 - 11904: 0x8ABE, - 33195 - 11904: 0xEAED, - 33196 - 11904: 0xEAEF, - 33198 - 11904: 0xEAEA, - 33200 - 11904: 0xEAEE, - 33201 - 11904: 0xEAE8, - 33202 - 11904: 0xEAF1, - 33203 - 11904: 0xBFAF, - 33204 - 11904: 0xEAF0, - 33205 - 11904: 0xEAEC, - 33206 - 11904: 0x9E61, - 33207 - 11904: 0xEAF2, - 33209 - 11904: 0xEAEB, - 33210 - 11904: 0xC174, - 33211 - 11904: 0xEDE8, - 33212 - 11904: 0xEDEE, - 33213 - 11904: 0xC178, - 33214 - 11904: 0xC17A, - 33215 - 11904: 0xC177, - 33216 - 11904: 0xC176, - 33217 - 11904: 0x99AA, - 33218 - 11904: 0xC175, - 33219 - 11904: 0xC173, - 33220 - 11904: 0xEDE9, - 33221 - 11904: 0xEDEC, - 33222 - 11904: 0xC172, - 33223 - 11904: 0xEDED, - 33224 - 11904: 0xA0C8, - 33225 - 11904: 0xC179, - 33226 - 11904: 0xEDEB, - 33228 - 11904: 0xEDEA, - 33229 - 11904: 0xC2C0, - 33231 - 11904: 0xC2C1, - 33232 - 11904: 0xF0A1, - 33233 - 11904: 0xF07D, - 33234 - 11904: 0xF07E, - 33237 - 11904: 0xF2C2, - 33239 - 11904: 0xF2C1, - 33240 - 11904: 0xC3BE, - 33241 - 11904: 0xF4B4, - 33242 - 11904: 0xC4A4, - 33243 - 11904: 0xF4B3, - 33245 - 11904: 0xF5F0, - 33246 - 11904: 0xF745, - 33247 - 11904: 0xC5A6, - 33248 - 11904: 0xF943, - 33249 - 11904: 0xF944, - 33250 - 11904: 0xC5D8, - 33251 - 11904: 0xA6DA, - 33252 - 11904: 0x99AB, - 33253 - 11904: 0xAAD7, - 33254 - 11904: 0xDB52, - 33255 - 11904: 0xBB4E, - 33256 - 11904: 0xC17B, - 33257 - 11904: 0xEDEF, - 33258 - 11904: 0xA6DB, - 33260 - 11904: 0xAFE5, - 33261 - 11904: 0xAFE4, - 33262 - 11904: 0xDB53, - 33263 - 11904: 0xFEC4, - 33266 - 11904: 0xEAF4, - 33267 - 11904: 0xA6DC, - 33268 - 11904: 0xAD50, - 33270 - 11904: 0x98C2, - 33271 - 11904: 0xDB54, - 33272 - 11904: 0xDB55, - 33273 - 11904: 0xDB56, - 33274 - 11904: 0xBB4F, - 33275 - 11904: 0xBFB2, - 33276 - 11904: 0xA6DD, - 33278 - 11904: 0xAAD8, - 33279 - 11904: 0xD068, - 33280 - 11904: 0xAFE6, - 33281 - 11904: 0xD370, - 33282 - 11904: 0xB2EA, - 33284 - 11904: 0xDB57, - 33285 - 11904: 0xB8A4, - 33287 - 11904: 0xBB50, - 33288 - 11904: 0xBFB3, - 33289 - 11904: 0xC17C, - 33290 - 11904: 0xC2C2, - 33291 - 11904: 0xF4B5, - 33292 - 11904: 0xA6DE, - 33293 - 11904: 0xAAD9, - 33296 - 11904: 0xAFE7, - 33297 - 11904: 0xD752, - 33298 - 11904: 0xB5CE, - 33300 - 11904: 0xBB51, - 33301 - 11904: 0xE3AB, - 33302 - 11904: 0xE745, - 33304 - 11904: 0x8EE8, - 33306 - 11904: 0xA0BA, - 33307 - 11904: 0xA6DF, - 33308 - 11904: 0xB5CF, - 33309 - 11904: 0xDFA3, - 33310 - 11904: 0xBB52, - 33311 - 11904: 0xA6E0, - 33312 - 11904: 0xCDB1, - 33313 - 11904: 0xD069, - 33314 - 11904: 0xAD51, - 33317 - 11904: 0xD372, - 33318 - 11904: 0xFD77, - 33320 - 11904: 0xAFEA, - 33321 - 11904: 0x8EEE, - 33322 - 11904: 0xAFE8, - 33323 - 11904: 0xAFE9, - 33324 - 11904: 0xAFEB, - 33325 - 11904: 0x9EBF, - 33327 - 11904: 0xD371, - 33330 - 11904: 0xD757, - 33331 - 11904: 0xD754, - 33332 - 11904: 0xD756, - 33333 - 11904: 0xB2EB, - 33334 - 11904: 0xB2ED, - 33335 - 11904: 0xB2EC, - 33336 - 11904: 0xD753, - 33337 - 11904: 0xB2EE, - 33338 - 11904: 0xD755, - 33340 - 11904: 0xDB58, - 33341 - 11904: 0xDB59, - 33342 - 11904: 0x89C2, - 33343 - 11904: 0xDB5A, - 33344 - 11904: 0xDFA6, - 33346 - 11904: 0xDFA7, - 33348 - 11904: 0xDFA5, - 33349 - 11904: 0xDFA8, - 33351 - 11904: 0xB8A5, - 33353 - 11904: 0xDFA4, - 33355 - 11904: 0xBB53, - 33358 - 11904: 0xE74A, - 33359 - 11904: 0xE746, - 33360 - 11904: 0xE749, - 33361 - 11904: 0xE74B, - 33362 - 11904: 0xE748, - 33363 - 11904: 0xE747, - 33364 - 11904: 0x99AC, - 33365 - 11904: 0xEAF5, - 33366 - 11904: 0xEAF6, - 33367 - 11904: 0xEAF7, - 33368 - 11904: 0xBFB4, - 33369 - 11904: 0xBFB5, - 33370 - 11904: 0xEDF1, - 33371 - 11904: 0xEDF0, - 33372 - 11904: 0xEDF2, - 33374 - 11904: 0xF0A3, - 33375 - 11904: 0xF0A2, - 33377 - 11904: 0xF2C4, - 33378 - 11904: 0x956B, - 33379 - 11904: 0xF2C5, - 33380 - 11904: 0xF2C3, - 33381 - 11904: 0x956C, - 33382 - 11904: 0xC4A5, - 33384 - 11904: 0xF4B6, - 33385 - 11904: 0xF4B7, - 33387 - 11904: 0xF746, - 33388 - 11904: 0xF7EF, - 33389 - 11904: 0xF8BB, - 33390 - 11904: 0xA6E1, - 33391 - 11904: 0xA87D, - 33393 - 11904: 0xC17D, - 33394 - 11904: 0xA6E2, - 33396 - 11904: 0xD758, - 33397 - 11904: 0xDB5B, - 33398 - 11904: 0x99AF, - 33399 - 11904: 0xC641, - 33400 - 11904: 0xCA4A, - 33401 - 11904: 0x994A, - 33402 - 11904: 0x8976, - 33403 - 11904: 0x8F48, - 33404 - 11904: 0xCA4B, - 33405 - 11904: 0xCA4D, - 33406 - 11904: 0xA6E3, - 33407 - 11904: 0xCA4E, - 33408 - 11904: 0xCA4C, - 33411 - 11904: 0xCBA2, - 33412 - 11904: 0xCBA3, - 33413 - 11904: 0xCB7B, - 33415 - 11904: 0xFBEE, - 33418 - 11904: 0xCBA1, - 33419 - 11904: 0xA8A1, - 33421 - 11904: 0xA8A2, - 33422 - 11904: 0xCB7C, - 33423 - 11904: 0xCB7A, - 33424 - 11904: 0xCB79, - 33425 - 11904: 0xCB7D, - 33426 - 11904: 0xA87E, - 33427 - 11904: 0xCB7E, - 33428 - 11904: 0xD06A, - 33432 - 11904: 0xCDB6, - 33433 - 11904: 0xAADC, - 33434 - 11904: 0xCDB5, - 33435 - 11904: 0xCDB7, - 33437 - 11904: 0xAADB, - 33438 - 11904: 0xCDBC, - 33439 - 11904: 0xAADF, - 33440 - 11904: 0xCDB2, - 33441 - 11904: 0xCDC0, - 33442 - 11904: 0xCDC6, - 33443 - 11904: 0xAAE6, - 33444 - 11904: 0xCDC3, - 33445 - 11904: 0xAAE3, - 33446 - 11904: 0x99AE, - 33447 - 11904: 0xCDB9, - 33448 - 11904: 0xCDBF, - 33449 - 11904: 0xCDC1, - 33450 - 11904: 0x8EFB, - 33451 - 11904: 0xCDB4, - 33452 - 11904: 0xAAE2, - 33453 - 11904: 0xAADD, - 33454 - 11904: 0xCDBA, - 33455 - 11904: 0xAAE4, - 33456 - 11904: 0xAAE7, - 33457 - 11904: 0xAAE1, - 33459 - 11904: 0xAADA, - 33460 - 11904: 0xCDBE, - 33461 - 11904: 0xCDB8, - 33462 - 11904: 0xCDC5, - 33463 - 11904: 0xAAE9, - 33464 - 11904: 0xAAE5, - 33465 - 11904: 0xAAE0, - 33466 - 11904: 0xCDBD, - 33467 - 11904: 0xAFEC, - 33468 - 11904: 0xCDBB, - 33469 - 11904: 0xAADE, - 33470 - 11904: 0xAAE8, - 33471 - 11904: 0x8CD0, - 33472 - 11904: 0xCDB3, - 33474 - 11904: 0xCDC2, - 33475 - 11904: 0xCDC4, - 33476 - 11904: 0x8B52, - 33482 - 11904: 0x99B0, - 33487 - 11904: 0x8977, - 33488 - 11904: 0x8F41, - 33489 - 11904: 0xAD62, - 33490 - 11904: 0xAD5C, - 33491 - 11904: 0xAD64, - 33492 - 11904: 0xAD61, - 33493 - 11904: 0xD071, - 33494 - 11904: 0xD074, - 33495 - 11904: 0xAD5D, - 33496 - 11904: 0x99B1, - 33497 - 11904: 0xD06B, - 33499 - 11904: 0xAD56, - 33500 - 11904: 0xAD60, - 33502 - 11904: 0xAD63, - 33503 - 11904: 0xAD65, - 33504 - 11904: 0xD0A2, - 33505 - 11904: 0xD077, - 33506 - 11904: 0x8F49, - 33507 - 11904: 0xAD55, - 33508 - 11904: 0xD0A1, - 33509 - 11904: 0xAD59, - 33510 - 11904: 0xAD57, - 33511 - 11904: 0xAD52, - 33512 - 11904: 0xD06F, - 33514 - 11904: 0xD07E, - 33515 - 11904: 0xD073, - 33516 - 11904: 0xD076, - 33517 - 11904: 0xD0A5, - 33518 - 11904: 0xFA4D, - 33519 - 11904: 0xAD66, - 33520 - 11904: 0xD07D, - 33521 - 11904: 0xAD5E, - 33522 - 11904: 0xD078, - 33523 - 11904: 0xD0A4, - 33524 - 11904: 0xD075, - 33525 - 11904: 0xD079, - 33526 - 11904: 0xD07C, - 33527 - 11904: 0x9DE4, - 33528 - 11904: 0x8CB5, - 33529 - 11904: 0xD06D, - 33530 - 11904: 0xD0A3, - 33531 - 11904: 0xD07B, - 33532 - 11904: 0xFBE9, - 33533 - 11904: 0x9B54, - 33534 - 11904: 0xD06C, - 33535 - 11904: 0x99B2, - 33536 - 11904: 0xD070, - 33537 - 11904: 0xAD5F, - 33538 - 11904: 0xAD5A, - 33539 - 11904: 0xAD53, - 33540 - 11904: 0xAD58, - 33541 - 11904: 0xAD54, - 33542 - 11904: 0xAD67, - 33543 - 11904: 0xD06E, - 33544 - 11904: 0xD3A5, - 33545 - 11904: 0xAD5B, - 33547 - 11904: 0x9E68, - 33548 - 11904: 0xD07A, - 33549 - 11904: 0xCE41, - 33558 - 11904: 0xD3A8, - 33559 - 11904: 0xAFFA, - 33560 - 11904: 0x8F4A, - 33561 - 11904: 0xD376, - 33562 - 11904: 0x8F42, - 33563 - 11904: 0xD3A3, - 33564 - 11904: 0xD37D, - 33565 - 11904: 0x8F51, - 33566 - 11904: 0xD3B2, - 33568 - 11904: 0xD3AA, - 33570 - 11904: 0xD37E, - 33572 - 11904: 0xD3A9, - 33573 - 11904: 0xD378, - 33574 - 11904: 0xD37C, - 33575 - 11904: 0xD3B5, - 33576 - 11904: 0xAFFD, - 33577 - 11904: 0xD3AD, - 33578 - 11904: 0xD3A4, - 33579 - 11904: 0xAFED, - 33580 - 11904: 0xD3B3, - 33581 - 11904: 0xD374, - 33583 - 11904: 0xD3AC, - 33585 - 11904: 0xAFFC, - 33586 - 11904: 0xAFF7, - 33587 - 11904: 0xD373, - 33588 - 11904: 0xAFF5, - 33589 - 11904: 0xAFF4, - 33590 - 11904: 0xAFF9, - 33591 - 11904: 0xD3AB, - 33592 - 11904: 0xAFF1, - 33593 - 11904: 0xAFF8, - 33594 - 11904: 0xD072, - 33595 - 11904: 0xDB5C, - 33596 - 11904: 0xD3A6, - 33597 - 11904: 0x9846, - 33599 - 11904: 0xD37A, - 33600 - 11904: 0xAFFB, - 33601 - 11904: 0xD37B, - 33602 - 11904: 0xD3A1, - 33603 - 11904: 0xAFFE, - 33604 - 11904: 0xD375, - 33605 - 11904: 0xD3AF, - 33607 - 11904: 0xD3AE, - 33608 - 11904: 0xD3B6, - 33609 - 11904: 0xAFF3, - 33610 - 11904: 0xAFF0, - 33611 - 11904: 0xD3B4, - 33612 - 11904: 0xD3B0, - 33613 - 11904: 0xD3A7, - 33614 - 11904: 0xD3A2, - 33615 - 11904: 0xAFF6, - 33616 - 11904: 0xAFF2, - 33617 - 11904: 0xD377, - 33618 - 11904: 0xAFEE, - 33619 - 11904: 0xD3B1, - 33620 - 11904: 0xAFEF, - 33622 - 11904: 0xD379, - 33623 - 11904: 0x99B4, - 33634 - 11904: 0x8EF5, - 33635 - 11904: 0xFD55, - 33638 - 11904: 0x9CCD, - 33647 - 11904: 0x8978, - 33651 - 11904: 0xD75E, - 33652 - 11904: 0xD760, - 33653 - 11904: 0xD765, - 33654 - 11904: 0xD779, - 33655 - 11904: 0xB2FC, - 33656 - 11904: 0xB2F2, - 33658 - 11904: 0xD75D, - 33659 - 11904: 0xB2FD, - 33660 - 11904: 0xB2FE, - 33661 - 11904: 0xD768, - 33662 - 11904: 0xD76F, - 33663 - 11904: 0xD775, - 33665 - 11904: 0xD762, - 33667 - 11904: 0xD769, - 33669 - 11904: 0x8F53, - 33670 - 11904: 0xB340, - 33671 - 11904: 0xD777, - 33672 - 11904: 0xD772, - 33673 - 11904: 0xB2FA, - 33674 - 11904: 0xB2F8, - 33675 - 11904: 0xD76E, - 33676 - 11904: 0xD76A, - 33677 - 11904: 0xD75C, - 33678 - 11904: 0xB2EF, - 33679 - 11904: 0xD761, - 33680 - 11904: 0xD759, - 33681 - 11904: 0x8F6F, - 33682 - 11904: 0xB2F7, - 33683 - 11904: 0xB2F9, - 33684 - 11904: 0xD766, - 33685 - 11904: 0xD763, - 33686 - 11904: 0xB2F4, - 33687 - 11904: 0xD773, - 33688 - 11904: 0xB2F1, - 33689 - 11904: 0xD764, - 33690 - 11904: 0xD77A, - 33691 - 11904: 0xD76C, - 33692 - 11904: 0x8E63, - 33693 - 11904: 0xD76B, - 33694 - 11904: 0xB2F0, - 33696 - 11904: 0xB2FB, - 33698 - 11904: 0xB2F3, - 33699 - 11904: 0xD75A, - 33700 - 11904: 0xD75F, - 33701 - 11904: 0xD770, - 33702 - 11904: 0xD776, - 33703 - 11904: 0xB341, - 33704 - 11904: 0xD75B, - 33705 - 11904: 0xD767, - 33706 - 11904: 0xD76D, - 33707 - 11904: 0xB2F6, - 33708 - 11904: 0x8F56, - 33710 - 11904: 0xD778, - 33711 - 11904: 0xD771, - 33712 - 11904: 0xD774, - 33721 - 11904: 0xFE76, - 33725 - 11904: 0xB2F5, - 33726 - 11904: 0x9FC6, - 33727 - 11904: 0xDB6C, - 33728 - 11904: 0xDB60, - 33729 - 11904: 0xB5D7, - 33730 - 11904: 0xDB7D, - 33731 - 11904: 0xDBA7, - 33732 - 11904: 0xDBAA, - 33733 - 11904: 0xB5D5, - 33734 - 11904: 0xDB68, - 33735 - 11904: 0xDBA3, - 33736 - 11904: 0xDB69, - 33737 - 11904: 0xDB77, - 33738 - 11904: 0xB5E2, - 33739 - 11904: 0xDB73, - 33740 - 11904: 0xB5DF, - 33741 - 11904: 0xFAAC, - 33742 - 11904: 0xDB74, - 33743 - 11904: 0xDB5D, - 33745 - 11904: 0xDBA4, - 33747 - 11904: 0x8F58, - 33748 - 11904: 0xB5E8, - 33749 - 11904: 0xDBA1, - 33750 - 11904: 0xDB75, - 33751 - 11904: 0xDBAC, - 33752 - 11904: 0xDB70, - 33753 - 11904: 0xDFC8, - 33755 - 11904: 0xDBAF, - 33756 - 11904: 0xB5E6, - 33757 - 11904: 0xDB6E, - 33758 - 11904: 0xDB7A, - 33759 - 11904: 0xB5E9, - 33760 - 11904: 0xB5D4, - 33761 - 11904: 0xDB72, - 33762 - 11904: 0xDBAD, - 33763 - 11904: 0xDB6B, - 33764 - 11904: 0xDB64, - 33765 - 11904: 0xDB6F, - 33767 - 11904: 0xDB63, - 33768 - 11904: 0xDB61, - 33769 - 11904: 0xB5D0, - 33770 - 11904: 0xDBA5, - 33771 - 11904: 0xDB6A, - 33772 - 11904: 0xDBA8, - 33773 - 11904: 0x9848, - 33774 - 11904: 0xDBA9, - 33775 - 11904: 0xB5D8, - 33776 - 11904: 0xB5DD, - 33777 - 11904: 0xB5D9, - 33778 - 11904: 0xB5E1, - 33779 - 11904: 0xDB7E, - 33780 - 11904: 0xB5DA, - 33781 - 11904: 0xDB76, - 33782 - 11904: 0xDB66, - 33784 - 11904: 0xB5D2, - 33785 - 11904: 0xDB5E, - 33786 - 11904: 0xDBA2, - 33787 - 11904: 0xDBAB, - 33788 - 11904: 0xDB65, - 33789 - 11904: 0xB5E0, - 33790 - 11904: 0xDBB0, - 33791 - 11904: 0xDB71, - 33793 - 11904: 0xDB6D, - 33795 - 11904: 0xB5D1, - 33796 - 11904: 0xB5E5, - 33797 - 11904: 0x99B7, - 33798 - 11904: 0xDB7C, - 33799 - 11904: 0xB5E7, - 33801 - 11904: 0xDB78, - 33802 - 11904: 0xB5DC, - 33803 - 11904: 0xB5D6, - 33804 - 11904: 0xB5DE, - 33805 - 11904: 0xB5D3, - 33806 - 11904: 0xB5E4, - 33807 - 11904: 0xDB79, - 33808 - 11904: 0xDB67, - 33809 - 11904: 0xDB7B, - 33810 - 11904: 0xDB62, - 33811 - 11904: 0xDBA6, - 33812 - 11904: 0x9665, - 33814 - 11904: 0xFA6C, - 33816 - 11904: 0x9DE7, - 33819 - 11904: 0xDBAE, - 33820 - 11904: 0x9E62, - 33824 - 11904: 0x96CC, - 33825 - 11904: 0x8E67, - 33827 - 11904: 0xDB5F, - 33828 - 11904: 0xFC75, - 33830 - 11904: 0x987E, - 33833 - 11904: 0xDFC7, - 33835 - 11904: 0xDFDD, - 33836 - 11904: 0xB855, - 33837 - 11904: 0xDFCC, - 33838 - 11904: 0xFDB9, - 33839 - 11904: 0xDFCA, - 33840 - 11904: 0xDFB5, - 33841 - 11904: 0xB8A9, - 33842 - 11904: 0xDFC5, - 33843 - 11904: 0xDFD9, - 33844 - 11904: 0xDFC1, - 33845 - 11904: 0xB8B1, - 33846 - 11904: 0xDFD8, - 33847 - 11904: 0xDFBF, - 33848 - 11904: 0xB5E3, - 33849 - 11904: 0xDFCF, - 33850 - 11904: 0xDFC0, - 33851 - 11904: 0xDFD6, - 33852 - 11904: 0xB8B0, - 33853 - 11904: 0xB8A8, - 33854 - 11904: 0x97FC, - 33855 - 11904: 0xDFAA, - 33856 - 11904: 0xDFB2, - 33858 - 11904: 0xDFCB, - 33859 - 11904: 0xDFC3, - 33860 - 11904: 0xDFDC, - 33861 - 11904: 0xDFC6, - 33862 - 11904: 0xB8B6, - 33863 - 11904: 0xDFD7, - 33864 - 11904: 0x98F9, - 33865 - 11904: 0xB8AD, - 33866 - 11904: 0x8F66, - 33867 - 11904: 0xDFC9, - 33868 - 11904: 0xDFD1, - 33869 - 11904: 0xDFB6, - 33870 - 11904: 0xDFD0, - 33872 - 11904: 0xDFE1, - 33873 - 11904: 0xDFB1, - 33874 - 11904: 0xDFD2, - 33875 - 11904: 0x956E, - 33876 - 11904: 0xDFDF, - 33877 - 11904: 0x9245, - 33878 - 11904: 0xDFAB, - 33879 - 11904: 0xB5DB, - 33880 - 11904: 0x8F60, - 33881 - 11904: 0xDFB9, - 33882 - 11904: 0xDFB8, - 33883 - 11904: 0xB8AF, - 33884 - 11904: 0x9ED1, - 33885 - 11904: 0xDFBC, - 33886 - 11904: 0xDFBE, - 33887 - 11904: 0xDFCD, - 33888 - 11904: 0xDFDE, - 33889 - 11904: 0xB8B2, - 33890 - 11904: 0xFECD, - 33891 - 11904: 0xB8B3, - 33892 - 11904: 0x99B9, - 33893 - 11904: 0xDFB0, - 33894 - 11904: 0xB8AB, - 33895 - 11904: 0xDFB4, - 33896 - 11904: 0xDFDA, - 33897 - 11904: 0xB8B4, - 33899 - 11904: 0xB8AC, - 33900 - 11904: 0xB8AE, - 33901 - 11904: 0xB8B5, - 33902 - 11904: 0xDFE0, - 33903 - 11904: 0xDFD3, - 33904 - 11904: 0xDFCE, - 33905 - 11904: 0x8F62, - 33906 - 11904: 0x974C, - 33907 - 11904: 0xDFBB, - 33908 - 11904: 0xDFBA, - 33909 - 11904: 0xB8AA, - 33910 - 11904: 0xDFAC, - 33911 - 11904: 0xB8A7, - 33912 - 11904: 0xDFC4, - 33913 - 11904: 0xDFAD, - 33914 - 11904: 0xDFC2, - 33917 - 11904: 0xDFB7, - 33918 - 11904: 0xDFDB, - 33919 - 11904: 0x91C7, - 33920 - 11904: 0x955F, - 33922 - 11904: 0xB8A6, - 33924 - 11904: 0x87AB, - 33926 - 11904: 0xDFB3, - 33928 - 11904: 0x99BB, - 33933 - 11904: 0xDFAF, - 33934 - 11904: 0xDFD5, - 33935 - 11904: 0xDFAE, - 33936 - 11904: 0xBB60, - 33937 - 11904: 0xE3D3, - 33938 - 11904: 0x8E6D, - 33939 - 11904: 0x8F71, - 33940 - 11904: 0xE3C2, - 33942 - 11904: 0x94CB, - 33943 - 11904: 0xE3AC, - 33944 - 11904: 0xE3CA, - 33945 - 11904: 0xBB58, - 33946 - 11904: 0xE3BB, - 33947 - 11904: 0xE3C5, - 33948 - 11904: 0xBB5B, - 33949 - 11904: 0xE3BE, - 33950 - 11904: 0xBB59, - 33951 - 11904: 0xE3AF, - 33952 - 11904: 0xE3CD, - 33953 - 11904: 0xE3AE, - 33954 - 11904: 0xE3C1, - 33955 - 11904: 0x95B1, - 33956 - 11904: 0xE3AD, - 33959 - 11904: 0xE3BF, - 33960 - 11904: 0xE3C8, - 33961 - 11904: 0xE3C6, - 33962 - 11904: 0xE3BA, - 33963 - 11904: 0xE3B5, - 33964 - 11904: 0xE3B3, - 33965 - 11904: 0x9AF2, - 33966 - 11904: 0xE3B4, - 33967 - 11904: 0xE3C7, - 33968 - 11904: 0xE3D2, - 33969 - 11904: 0xE3BC, - 33970 - 11904: 0xBB5A, - 33972 - 11904: 0xE3B7, - 33974 - 11904: 0xE3CB, - 33976 - 11904: 0xBB5D, - 33977 - 11904: 0xE3B6, - 33978 - 11904: 0xE3B0, - 33979 - 11904: 0xE3C0, - 33980 - 11904: 0xBB61, - 33981 - 11904: 0x96C3, - 33982 - 11904: 0x99BD, - 33983 - 11904: 0xBB55, - 33984 - 11904: 0xBB5E, - 33985 - 11904: 0xE3B8, - 33986 - 11904: 0xE3B2, - 33988 - 11904: 0xBB57, - 33989 - 11904: 0xDFD4, - 33990 - 11904: 0xBB56, - 33991 - 11904: 0xE3C3, - 33993 - 11904: 0xBB54, - 33994 - 11904: 0xBB63, - 33995 - 11904: 0xBB5C, - 33996 - 11904: 0xE3C4, - 33997 - 11904: 0xE3B9, - 33998 - 11904: 0xE3B1, - 33999 - 11904: 0xE3CC, - 34000 - 11904: 0xE3BD, - 34001 - 11904: 0xBB62, - 34002 - 11904: 0xE3D0, - 34003 - 11904: 0xBB5F, - 34004 - 11904: 0xE3CF, - 34006 - 11904: 0xE3C9, - 34007 - 11904: 0xE3CE, - 34010 - 11904: 0xA0CF, - 34011 - 11904: 0xE3D1, - 34014 - 11904: 0x8F6D, - 34017 - 11904: 0x99BE, - 34018 - 11904: 0x8EF4, - 34020 - 11904: 0x8F72, - 34021 - 11904: 0x95E4, - 34023 - 11904: 0xE773, - 34024 - 11904: 0xE774, - 34025 - 11904: 0xE767, - 34026 - 11904: 0xE766, - 34027 - 11904: 0xE762, - 34028 - 11904: 0xBDB4, - 34030 - 11904: 0xBDAC, - 34031 - 11904: 0xE776, - 34032 - 11904: 0xE775, - 34033 - 11904: 0xDFA9, - 34034 - 11904: 0xE75F, - 34035 - 11904: 0xE763, - 34036 - 11904: 0xE75D, - 34038 - 11904: 0xE770, - 34039 - 11904: 0xE761, - 34040 - 11904: 0x99BF, - 34041 - 11904: 0xE777, - 34042 - 11904: 0xE75A, - 34043 - 11904: 0xE758, - 34044 - 11904: 0xE764, - 34045 - 11904: 0xE76E, - 34046 - 11904: 0xE769, - 34047 - 11904: 0xBDB6, - 34048 - 11904: 0xE74F, - 34050 - 11904: 0xE76D, - 34051 - 11904: 0x9244, - 34052 - 11904: 0x87D7, - 34053 - 11904: 0xFBA5, - 34054 - 11904: 0xBDB7, - 34055 - 11904: 0xDFBD, - 34056 - 11904: 0xE75B, - 34057 - 11904: 0xE752, - 34058 - 11904: 0xE755, - 34059 - 11904: 0xE77B, - 34060 - 11904: 0xE75C, - 34061 - 11904: 0xE753, - 34062 - 11904: 0xE751, - 34063 - 11904: 0xE74E, - 34064 - 11904: 0x99C0, - 34065 - 11904: 0xBDB0, - 34066 - 11904: 0xE765, - 34067 - 11904: 0xBDAF, - 34068 - 11904: 0xBDB3, - 34069 - 11904: 0xE760, - 34070 - 11904: 0xE768, - 34071 - 11904: 0xBDA9, - 34072 - 11904: 0xE778, - 34073 - 11904: 0xE77C, - 34074 - 11904: 0xBDAB, - 34076 - 11904: 0xE757, - 34077 - 11904: 0xE76B, - 34078 - 11904: 0xE76F, - 34079 - 11904: 0xE754, - 34080 - 11904: 0xE779, - 34081 - 11904: 0xBDB2, - 34083 - 11904: 0xBDB1, - 34084 - 11904: 0xE74C, - 34085 - 11904: 0xBDB5, - 34086 - 11904: 0xE772, - 34087 - 11904: 0xE756, - 34088 - 11904: 0xE76A, - 34089 - 11904: 0xE750, - 34090 - 11904: 0xE75E, - 34091 - 11904: 0xE759, - 34092 - 11904: 0xBDAD, - 34093 - 11904: 0xBDAE, - 34094 - 11904: 0xE76C, - 34095 - 11904: 0xE77D, - 34096 - 11904: 0xE77A, - 34097 - 11904: 0xE771, - 34099 - 11904: 0xFDB4, - 34100 - 11904: 0x8F77, - 34104 - 11904: 0x99C1, - 34107 - 11904: 0xE74D, - 34109 - 11904: 0xBDAA, - 34110 - 11904: 0xEB49, - 34112 - 11904: 0xEB40, - 34113 - 11904: 0xEB43, - 34114 - 11904: 0xFAB9, - 34115 - 11904: 0xBFBB, - 34116 - 11904: 0xEB45, - 34117 - 11904: 0xEAF9, - 34118 - 11904: 0xEB41, - 34119 - 11904: 0xEB47, - 34120 - 11904: 0xBFB8, - 34121 - 11904: 0xBFBC, - 34122 - 11904: 0xBFB6, - 34123 - 11904: 0x8F40, - 34124 - 11904: 0xFA44, - 34125 - 11904: 0xEAFB, - 34126 - 11904: 0xEB4C, - 34129 - 11904: 0xEB46, - 34130 - 11904: 0x99C2, - 34131 - 11904: 0xEAFC, - 34132 - 11904: 0xEB55, - 34133 - 11904: 0xEB4F, - 34134 - 11904: 0xEAF8, - 34135 - 11904: 0xEE46, - 34136 - 11904: 0xEAFE, - 34137 - 11904: 0xBFB7, - 34138 - 11904: 0x8F5C, - 34139 - 11904: 0xEB4A, - 34141 - 11904: 0xEB54, - 34142 - 11904: 0xBFBF, - 34143 - 11904: 0x8CBD, - 34144 - 11904: 0xEB51, - 34145 - 11904: 0xEAFD, - 34146 - 11904: 0xEB44, - 34147 - 11904: 0xEB48, - 34148 - 11904: 0xEB42, - 34149 - 11904: 0xEB56, - 34150 - 11904: 0xEB53, - 34151 - 11904: 0xEB50, - 34152 - 11904: 0xBFB9, - 34153 - 11904: 0xBFBA, - 34154 - 11904: 0xBFBE, - 34155 - 11904: 0xEAFA, - 34156 - 11904: 0xEB57, - 34157 - 11904: 0xBFBD, - 34158 - 11904: 0xEB4D, - 34159 - 11904: 0x99C4, - 34160 - 11904: 0x99C5, - 34161 - 11904: 0xEB4B, - 34163 - 11904: 0x8F7B, - 34165 - 11904: 0xEB4E, - 34166 - 11904: 0xEE53, - 34167 - 11904: 0xEE40, - 34168 - 11904: 0xEE45, - 34169 - 11904: 0xEE52, - 34170 - 11904: 0xEE44, - 34171 - 11904: 0xEDFB, - 34172 - 11904: 0xEE41, - 34174 - 11904: 0xC1A2, - 34176 - 11904: 0xEDF4, - 34177 - 11904: 0xEE4D, - 34178 - 11904: 0xEE4F, - 34179 - 11904: 0xEDF3, - 34180 - 11904: 0xC1A1, - 34181 - 11904: 0xEE51, - 34182 - 11904: 0xEE49, - 34183 - 11904: 0xC1A8, - 34184 - 11904: 0xEE50, - 34185 - 11904: 0xEE42, - 34186 - 11904: 0xC1AA, - 34187 - 11904: 0xEDF9, - 34188 - 11904: 0xEB52, - 34189 - 11904: 0xEE4A, - 34190 - 11904: 0xEE47, - 34191 - 11904: 0xEDF5, - 34192 - 11904: 0xEE55, - 34193 - 11904: 0xC1A4, - 34195 - 11904: 0x8776, - 34196 - 11904: 0xC1A5, - 34197 - 11904: 0xEDF7, - 34198 - 11904: 0xEE48, - 34199 - 11904: 0x8CB6, - 34200 - 11904: 0xEE54, - 34201 - 11904: 0xEE4B, - 34202 - 11904: 0xEDFD, - 34203 - 11904: 0xC1A7, - 34204 - 11904: 0xC1A3, - 34205 - 11904: 0xEE4C, - 34206 - 11904: 0xEDFE, - 34207 - 11904: 0xEE56, - 34208 - 11904: 0xEDF8, - 34209 - 11904: 0xEE43, - 34210 - 11904: 0xEE4E, - 34211 - 11904: 0xEDFA, - 34212 - 11904: 0xEDFC, - 34214 - 11904: 0xC2CB, - 34215 - 11904: 0xEDF6, - 34216 - 11904: 0xC1A9, - 34217 - 11904: 0xC2C4, - 34218 - 11904: 0xC17E, - 34223 - 11904: 0xC1A6, - 34224 - 11904: 0xC2C8, - 34225 - 11904: 0xF0B3, - 34227 - 11904: 0xF0A9, - 34228 - 11904: 0xF0A4, - 34229 - 11904: 0xF0AA, - 34230 - 11904: 0xF0B4, - 34231 - 11904: 0xF0B8, - 34232 - 11904: 0xF0B7, - 34233 - 11904: 0xC2CA, - 34234 - 11904: 0xC2C9, - 34237 - 11904: 0xF0AB, - 34238 - 11904: 0xF0B9, - 34239 - 11904: 0xF0AE, - 34240 - 11904: 0xF0A6, - 34241 - 11904: 0x8FA3, - 34242 - 11904: 0xF0A8, - 34243 - 11904: 0xF0A7, - 34244 - 11904: 0xF0AD, - 34245 - 11904: 0xF0B2, - 34246 - 11904: 0xF0A5, - 34247 - 11904: 0xF0AC, - 34248 - 11904: 0xF0B1, - 34249 - 11904: 0xC2C7, - 34251 - 11904: 0xF0AF, - 34253 - 11904: 0xC2C5, - 34254 - 11904: 0xF0B0, - 34255 - 11904: 0xC2C3, - 34256 - 11904: 0xC2C6, - 34257 - 11904: 0xF2D5, - 34258 - 11904: 0xF0B5, - 34261 - 11904: 0xC3C2, - 34262 - 11904: 0x8CCE, - 34263 - 11904: 0xF2CD, - 34264 - 11904: 0xF2D1, - 34265 - 11904: 0xF2C9, - 34266 - 11904: 0xF2CC, - 34268 - 11904: 0xF2D4, - 34269 - 11904: 0xC3C0, - 34270 - 11904: 0xF2D9, - 34271 - 11904: 0xF2D2, - 34272 - 11904: 0x99C6, - 34273 - 11904: 0xF2CA, - 34274 - 11904: 0xF2DA, - 34275 - 11904: 0xF2D3, - 34276 - 11904: 0xC3C3, - 34277 - 11904: 0xC3C4, - 34278 - 11904: 0xF2D7, - 34280 - 11904: 0xF2CB, - 34281 - 11904: 0xC3BF, - 34282 - 11904: 0xC3C1, - 34283 - 11904: 0xF2C6, - 34284 - 11904: 0xF2CE, - 34285 - 11904: 0xF2C8, - 34286 - 11904: 0x96CD, - 34287 - 11904: 0xF2D8, - 34288 - 11904: 0xF2D6, - 34289 - 11904: 0xF2C7, - 34290 - 11904: 0xF2CF, - 34294 - 11904: 0xF4BE, - 34295 - 11904: 0xC3C5, - 34296 - 11904: 0xF2D0, - 34297 - 11904: 0xC4A7, - 34298 - 11904: 0xC4A9, - 34299 - 11904: 0xC4A6, - 34300 - 11904: 0x96C7, - 34301 - 11904: 0xF4C3, - 34302 - 11904: 0xF4BB, - 34303 - 11904: 0xF4B9, - 34304 - 11904: 0xF4BD, - 34305 - 11904: 0xF4BA, - 34306 - 11904: 0x8FA5, - 34308 - 11904: 0xF4BF, - 34309 - 11904: 0xF4C1, - 34310 - 11904: 0xC4AA, - 34311 - 11904: 0xC4AC, - 34313 - 11904: 0xF4C0, - 34314 - 11904: 0xC4AD, - 34315 - 11904: 0xC4AB, - 34316 - 11904: 0xF4C2, - 34317 - 11904: 0xFABB, - 34319 - 11904: 0x8C61, - 34320 - 11904: 0x9570, - 34321 - 11904: 0xC4A8, - 34323 - 11904: 0x87AF, - 34324 - 11904: 0x9368, - 34326 - 11904: 0x8F7E, - 34327 - 11904: 0xC4F4, - 34328 - 11904: 0xF5F1, - 34329 - 11904: 0xF5F7, - 34330 - 11904: 0xC4F6, - 34331 - 11904: 0xF4BC, - 34332 - 11904: 0xF5F6, - 34334 - 11904: 0xF5FD, - 34335 - 11904: 0xF5F4, - 34336 - 11904: 0xF5FB, - 34337 - 11904: 0xF5FA, - 34338 - 11904: 0xF4B8, - 34339 - 11904: 0xF5F5, - 34340 - 11904: 0xF0B6, - 34341 - 11904: 0xF5FE, - 34342 - 11904: 0xF5F3, - 34343 - 11904: 0xF5F8, - 34344 - 11904: 0x8FAA, - 34345 - 11904: 0xF5FC, - 34346 - 11904: 0xF5F2, - 34348 - 11904: 0xF74A, - 34349 - 11904: 0xC4F5, - 34350 - 11904: 0xF5F9, - 34351 - 11904: 0xA050, - 34353 - 11904: 0xF7F4, - 34354 - 11904: 0xF74B, - 34355 - 11904: 0xF749, - 34356 - 11904: 0xF747, - 34357 - 11904: 0xF748, - 34358 - 11904: 0xF74C, - 34360 - 11904: 0xC5D9, - 34361 - 11904: 0xF7F2, - 34362 - 11904: 0xF7F0, - 34363 - 11904: 0xF7F5, - 34364 - 11904: 0xF7F3, - 34366 - 11904: 0xF7F6, - 34367 - 11904: 0xC5DA, - 34368 - 11904: 0xF7F1, - 34370 - 11904: 0x90D3, - 34371 - 11904: 0xF8BC, - 34373 - 11904: 0x9556, - 34374 - 11904: 0xF945, - 34375 - 11904: 0xF946, - 34376 - 11904: 0xF947, - 34379 - 11904: 0xF9C7, - 34380 - 11904: 0xF9BD, - 34381 - 11904: 0xCA4F, - 34382 - 11904: 0xAAEA, - 34384 - 11904: 0xAD68, - 34386 - 11904: 0xD3B8, - 34387 - 11904: 0xD3B7, - 34388 - 11904: 0xB040, - 34389 - 11904: 0xB342, - 34390 - 11904: 0xD77C, - 34393 - 11904: 0xD77B, - 34395 - 11904: 0xB5EA, - 34396 - 11904: 0xB8B8, - 34398 - 11904: 0xB8B7, - 34399 - 11904: 0xB8B9, - 34401 - 11904: 0xE3D4, - 34402 - 11904: 0xE77E, - 34403 - 11904: 0xEB58, - 34404 - 11904: 0xEB5A, - 34405 - 11904: 0xEB59, - 34407 - 11904: 0xC1AB, - 34408 - 11904: 0xEE57, - 34409 - 11904: 0xF0BA, - 34410 - 11904: 0xF9A5, - 34411 - 11904: 0xA6E4, - 34412 - 11904: 0x8FB8, - 34413 - 11904: 0xCDC9, - 34414 - 11904: 0xCDCA, - 34415 - 11904: 0xCDC8, - 34416 - 11904: 0xCDC7, - 34417 - 11904: 0xAAEB, - 34418 - 11904: 0x99C8, - 34419 - 11904: 0xD0A9, - 34420 - 11904: 0xD0A7, - 34423 - 11904: 0xD0A6, - 34425 - 11904: 0xAD69, - 34426 - 11904: 0xAD6B, - 34427 - 11904: 0xAD6A, - 34428 - 11904: 0xD0A8, - 34430 - 11904: 0x8FAF, - 34437 - 11904: 0xD3C4, - 34438 - 11904: 0xD3C1, - 34439 - 11904: 0xD3BF, - 34442 - 11904: 0xB041, - 34443 - 11904: 0xD3C2, - 34444 - 11904: 0xB046, - 34445 - 11904: 0xD3BC, - 34446 - 11904: 0xD3CB, - 34448 - 11904: 0xD3CD, - 34449 - 11904: 0xD3BD, - 34450 - 11904: 0x99C9, - 34451 - 11904: 0xB043, - 34452 - 11904: 0xD3CE, - 34453 - 11904: 0xD3C9, - 34454 - 11904: 0xD3BB, - 34455 - 11904: 0xD3C0, - 34456 - 11904: 0xD3CA, - 34457 - 11904: 0xD3C6, - 34458 - 11904: 0xD3C3, - 34460 - 11904: 0xB048, - 34461 - 11904: 0xD3CC, - 34462 - 11904: 0xD3BE, - 34464 - 11904: 0x9579, - 34465 - 11904: 0xD3C7, - 34466 - 11904: 0xD3B9, - 34467 - 11904: 0xB047, - 34468 - 11904: 0xB044, - 34469 - 11904: 0xD3C5, - 34471 - 11904: 0xD3C8, - 34472 - 11904: 0xD3BA, - 34473 - 11904: 0xB045, - 34474 - 11904: 0xB042, - 34477 - 11904: 0x9F49, - 34479 - 11904: 0xB34C, - 34480 - 11904: 0xD7A5, - 34481 - 11904: 0xB34B, - 34482 - 11904: 0x99CA, - 34483 - 11904: 0xD7A8, - 34484 - 11904: 0xD7AB, - 34485 - 11904: 0xB348, - 34486 - 11904: 0xB346, - 34487 - 11904: 0xD77E, - 34488 - 11904: 0xD7A9, - 34489 - 11904: 0xD7A7, - 34490 - 11904: 0xD7A4, - 34491 - 11904: 0xD7AC, - 34492 - 11904: 0xD7AD, - 34493 - 11904: 0xD7AF, - 34494 - 11904: 0xD7B0, - 34495 - 11904: 0xD77D, - 34496 - 11904: 0xB345, - 34497 - 11904: 0xD7A2, - 34498 - 11904: 0xD7A1, - 34499 - 11904: 0xD7AE, - 34500 - 11904: 0xB347, - 34501 - 11904: 0xD7A3, - 34502 - 11904: 0xB349, - 34503 - 11904: 0xB344, - 34504 - 11904: 0xD7A6, - 34505 - 11904: 0xB34D, - 34507 - 11904: 0xB34A, - 34508 - 11904: 0xD7AA, - 34512 - 11904: 0xB5F1, - 34513 - 11904: 0xDBBF, - 34515 - 11904: 0xDBB4, - 34516 - 11904: 0xB5EE, - 34518 - 11904: 0xDFE7, - 34519 - 11904: 0xDBBD, - 34520 - 11904: 0xDBB1, - 34521 - 11904: 0xB5EC, - 34522 - 11904: 0xDBB6, - 34523 - 11904: 0xB5EF, - 34524 - 11904: 0xDBBA, - 34525 - 11904: 0xDBB8, - 34526 - 11904: 0xB5F2, - 34527 - 11904: 0xB5EB, - 34530 - 11904: 0xDBB2, - 34531 - 11904: 0xDBB5, - 34532 - 11904: 0xB5F0, - 34534 - 11904: 0xDBB3, - 34536 - 11904: 0xDBBE, - 34537 - 11904: 0xDBBC, - 34538 - 11904: 0xDBB7, - 34539 - 11904: 0xDBB9, - 34540 - 11904: 0xDBBB, - 34541 - 11904: 0xB5ED, - 34543 - 11904: 0x99CB, - 34549 - 11904: 0xDFE8, - 34550 - 11904: 0xDFEE, - 34551 - 11904: 0xDFE4, - 34552 - 11904: 0xDFEA, - 34553 - 11904: 0xB8BA, - 34554 - 11904: 0xDFE6, - 34555 - 11904: 0xB8C0, - 34558 - 11904: 0xB8BF, - 34560 - 11904: 0xB8BE, - 34561 - 11904: 0xDFED, - 34562 - 11904: 0xB8C1, - 34563 - 11904: 0xB8C2, - 34564 - 11904: 0xDFE3, - 34565 - 11904: 0xDFF0, - 34566 - 11904: 0xB8C3, - 34567 - 11904: 0xB8BD, - 34568 - 11904: 0xB8BC, - 34569 - 11904: 0xDFEC, - 34570 - 11904: 0xB8C4, - 34571 - 11904: 0xDFE2, - 34572 - 11904: 0xDFE5, - 34573 - 11904: 0xDFEF, - 34574 - 11904: 0xDFEB, - 34577 - 11904: 0xE3F4, - 34578 - 11904: 0xE3E9, - 34579 - 11904: 0xB8BB, - 34584 - 11904: 0xBB6A, - 34585 - 11904: 0xE3DD, - 34586 - 11904: 0xE3F2, - 34587 - 11904: 0xE3DE, - 34588 - 11904: 0xBB65, - 34590 - 11904: 0xE3DB, - 34592 - 11904: 0xE3E4, - 34593 - 11904: 0xE3DC, - 34594 - 11904: 0xBB67, - 34595 - 11904: 0xE3D6, - 34596 - 11904: 0xE3F1, - 34597 - 11904: 0xBB68, - 34598 - 11904: 0xE3EE, - 34599 - 11904: 0xE3EF, - 34600 - 11904: 0xE3D7, - 34601 - 11904: 0xBB6D, - 34602 - 11904: 0xE3E6, - 34604 - 11904: 0xE3E0, - 34605 - 11904: 0xE3E7, - 34606 - 11904: 0xE3DA, - 34608 - 11904: 0xE3F3, - 34609 - 11904: 0xE3EB, - 34610 - 11904: 0xE3E5, - 34611 - 11904: 0xE3D5, - 34612 - 11904: 0xBB69, - 34613 - 11904: 0xE3EC, - 34615 - 11904: 0xBB6C, - 34616 - 11904: 0xE3F0, - 34618 - 11904: 0xE3EA, - 34619 - 11904: 0xBB66, - 34620 - 11904: 0xE3E8, - 34622 - 11904: 0xE3E2, - 34623 - 11904: 0xBB64, - 34624 - 11904: 0xE3D9, - 34625 - 11904: 0xE3E1, - 34626 - 11904: 0xE3ED, - 34627 - 11904: 0xE3DF, - 34630 - 11904: 0xE3E3, - 34636 - 11904: 0xBDC1, - 34637 - 11904: 0xDFE9, - 34638 - 11904: 0xE7B2, - 34639 - 11904: 0xE7BB, - 34640 - 11904: 0xE7B1, - 34641 - 11904: 0xE7AD, - 34642 - 11904: 0xE7AA, - 34643 - 11904: 0xBDC2, - 34644 - 11904: 0xE7A8, - 34645 - 11904: 0xBB6B, - 34646 - 11904: 0xE7A1, - 34647 - 11904: 0xBDC0, - 34648 - 11904: 0xE7A7, - 34649 - 11904: 0xBDBF, - 34650 - 11904: 0xE7AC, - 34651 - 11904: 0xE7A9, - 34652 - 11904: 0xE7B9, - 34653 - 11904: 0xE7B4, - 34654 - 11904: 0xE7AE, - 34655 - 11904: 0xE7B3, - 34656 - 11904: 0xBDBB, - 34657 - 11904: 0xE7AB, - 34658 - 11904: 0xE7BE, - 34659 - 11904: 0xE7A2, - 34660 - 11904: 0xE7A3, - 34661 - 11904: 0xE7BA, - 34662 - 11904: 0xBDBC, - 34663 - 11904: 0xE7BF, - 34664 - 11904: 0xBDBE, - 34665 - 11904: 0xE7C0, - 34666 - 11904: 0xE7B0, - 34667 - 11904: 0xE3D8, - 34668 - 11904: 0xE7B6, - 34669 - 11904: 0xE7AF, - 34670 - 11904: 0xE7B8, - 34671 - 11904: 0xE7B5, - 34672 - 11904: 0x9DD5, - 34673 - 11904: 0x8FB0, - 34675 - 11904: 0xE7A6, - 34676 - 11904: 0xBDB9, - 34677 - 11904: 0xE7BD, - 34678 - 11904: 0xBDBA, - 34679 - 11904: 0xE7A4, - 34680 - 11904: 0xBDBD, - 34681 - 11904: 0xEB64, - 34682 - 11904: 0xE7B7, - 34683 - 11904: 0xE7BC, - 34685 - 11904: 0xFA7A, - 34689 - 11904: 0xEB61, - 34690 - 11904: 0xBDB8, - 34691 - 11904: 0xBFC0, - 34692 - 11904: 0xEB6B, - 34693 - 11904: 0xEB67, - 34694 - 11904: 0x9E5F, - 34695 - 11904: 0xEB65, - 34696 - 11904: 0xEB60, - 34697 - 11904: 0xEB6F, - 34699 - 11904: 0x99CD, - 34700 - 11904: 0xA0C9, - 34701 - 11904: 0xBFC4, - 34703 - 11904: 0xEB5C, - 34704 - 11904: 0xEB68, - 34705 - 11904: 0xEB69, - 34706 - 11904: 0xEB5F, - 34707 - 11904: 0xEB5E, - 34708 - 11904: 0xEB6C, - 34710 - 11904: 0xEB62, - 34711 - 11904: 0xEB5D, - 34712 - 11904: 0xEB63, - 34714 - 11904: 0xEB6E, - 34715 - 11904: 0xEB5B, - 34716 - 11904: 0xEB6D, - 34717 - 11904: 0xEB6A, - 34718 - 11904: 0xBFC2, - 34719 - 11904: 0xBFC1, - 34722 - 11904: 0xBFC3, - 34723 - 11904: 0xEB66, - 34724 - 11904: 0xF0CB, - 34725 - 11904: 0x9ADB, - 34729 - 11904: 0xA0C6, - 34730 - 11904: 0xEE59, - 34731 - 11904: 0xC1B1, - 34732 - 11904: 0xEE5D, - 34733 - 11904: 0xEE5A, - 34734 - 11904: 0xEE61, - 34735 - 11904: 0xEE67, - 34736 - 11904: 0xEE5C, - 34737 - 11904: 0x8FB4, - 34738 - 11904: 0xEE70, - 34739 - 11904: 0xC1AE, - 34740 - 11904: 0xEE6A, - 34741 - 11904: 0xEE5F, - 34742 - 11904: 0xEE6B, - 34743 - 11904: 0xEE66, - 34744 - 11904: 0xEE6D, - 34745 - 11904: 0xEE5E, - 34746 - 11904: 0xC1B3, - 34747 - 11904: 0xC1B2, - 34748 - 11904: 0xEE60, - 34749 - 11904: 0xEE6E, - 34750 - 11904: 0xEE58, - 34751 - 11904: 0xEE6C, - 34752 - 11904: 0xC1AC, - 34753 - 11904: 0xA0D7, - 34754 - 11904: 0xEE64, - 34755 - 11904: 0xEE63, - 34756 - 11904: 0xEE68, - 34757 - 11904: 0xEE5B, - 34758 - 11904: 0xC1B0, - 34760 - 11904: 0xC1B4, - 34761 - 11904: 0xEE62, - 34762 - 11904: 0xEE69, - 34763 - 11904: 0xC1B5, - 34764 - 11904: 0xEE65, - 34766 - 11904: 0xA0C7, - 34769 - 11904: 0xC1AD, - 34770 - 11904: 0xC1AF, - 34771 - 11904: 0xF0C7, - 34772 - 11904: 0xF0C5, - 34774 - 11904: 0xA043, - 34775 - 11904: 0xF0CC, - 34776 - 11904: 0xF0C9, - 34777 - 11904: 0xF0CD, - 34778 - 11904: 0x8FB5, - 34779 - 11904: 0xF0BE, - 34780 - 11904: 0xF0C6, - 34781 - 11904: 0xF0D1, - 34782 - 11904: 0xEE6F, - 34783 - 11904: 0xF0C2, - 34784 - 11904: 0xC2CF, - 34785 - 11904: 0xE7A5, - 34786 - 11904: 0xF0BD, - 34787 - 11904: 0xF0CA, - 34788 - 11904: 0xF0C4, - 34789 - 11904: 0xF0C1, - 34790 - 11904: 0xF0BC, - 34791 - 11904: 0xF0BB, - 34792 - 11904: 0xF0D0, - 34794 - 11904: 0xF0C0, - 34795 - 11904: 0xF0BF, - 34796 - 11904: 0xC2CD, - 34797 - 11904: 0xF0C8, - 34798 - 11904: 0x8FB2, - 34799 - 11904: 0xC2CC, - 34802 - 11904: 0xC2CE, - 34803 - 11904: 0xF0C3, - 34804 - 11904: 0xF0CF, - 34805 - 11904: 0xA061, - 34806 - 11904: 0xF2DE, - 34807 - 11904: 0xF2DF, - 34809 - 11904: 0xC3C9, - 34810 - 11904: 0xF2DC, - 34811 - 11904: 0xC3C6, - 34812 - 11904: 0xF2E4, - 34814 - 11904: 0xC3CA, - 34815 - 11904: 0xF2E6, - 34816 - 11904: 0xF2DB, - 34817 - 11904: 0xF0CE, - 34818 - 11904: 0xF2E8, - 34819 - 11904: 0xF2DD, - 34820 - 11904: 0x9E5E, - 34821 - 11904: 0xC3C7, - 34822 - 11904: 0xF2E3, - 34824 - 11904: 0xF2E5, - 34825 - 11904: 0xF2E0, - 34826 - 11904: 0xF2E7, - 34827 - 11904: 0xF2E2, - 34828 - 11904: 0xF2E1, - 34829 - 11904: 0xC3C8, - 34831 - 11904: 0xA063, - 34832 - 11904: 0xF4C5, - 34833 - 11904: 0xF4C6, - 34835 - 11904: 0xF4C8, - 34836 - 11904: 0xC4AE, - 34837 - 11904: 0xC4AF, - 34838 - 11904: 0xF4C9, - 34839 - 11904: 0xF4C7, - 34840 - 11904: 0x9FE8, - 34841 - 11904: 0xF4C4, - 34843 - 11904: 0xF642, - 34844 - 11904: 0xF645, - 34845 - 11904: 0xF641, - 34847 - 11904: 0xC4FA, - 34848 - 11904: 0xF643, - 34849 - 11904: 0xC4F9, - 34850 - 11904: 0xC4F8, - 34851 - 11904: 0xC4F7, - 34852 - 11904: 0xF644, - 34853 - 11904: 0xF751, - 34854 - 11904: 0xF74F, - 34855 - 11904: 0x9CB2, - 34856 - 11904: 0xF74E, - 34857 - 11904: 0xF640, - 34858 - 11904: 0xF750, - 34859 - 11904: 0xF646, - 34860 - 11904: 0xF74D, - 34861 - 11904: 0x957C, - 34862 - 11904: 0xF7F9, - 34863 - 11904: 0xF7D7, - 34864 - 11904: 0xF7F7, - 34865 - 11904: 0xC5DB, - 34866 - 11904: 0xF7F8, - 34867 - 11904: 0xF7FA, - 34869 - 11904: 0xF8BF, - 34870 - 11904: 0xC5FA, - 34871 - 11904: 0xF8BE, - 34872 - 11904: 0xF8BD, - 34873 - 11904: 0xC5FB, - 34875 - 11904: 0xC65A, - 34876 - 11904: 0xF96E, - 34877 - 11904: 0xF9A7, - 34878 - 11904: 0xF9A6, - 34879 - 11904: 0xF9A8, - 34880 - 11904: 0xA6E5, - 34881 - 11904: 0xD0AA, - 34882 - 11904: 0x9FC7, - 34883 - 11904: 0xD3CF, - 34884 - 11904: 0xD3D0, - 34885 - 11904: 0x8FBB, - 34886 - 11904: 0x8FBC, - 34888 - 11904: 0xDBC0, - 34890 - 11904: 0xF647, - 34891 - 11904: 0xF8C0, - 34892 - 11904: 0xA6E6, - 34893 - 11904: 0xAD6C, - 34894 - 11904: 0xD0AB, - 34895 - 11904: 0x8FEC, - 34898 - 11904: 0xD7B1, - 34899 - 11904: 0xB34E, - 34901 - 11904: 0xDBC2, - 34902 - 11904: 0xDBC1, - 34903 - 11904: 0xB5F3, - 34905 - 11904: 0xB8C5, - 34906 - 11904: 0xE7C1, - 34907 - 11904: 0xBDC3, - 34909 - 11904: 0xBDC4, - 34910 - 11904: 0x8FC0, - 34912 - 11904: 0x936A, - 34913 - 11904: 0xBFC5, - 34914 - 11904: 0xC5FC, - 34915 - 11904: 0xA6E7, - 34916 - 11904: 0x8BE4, - 34917 - 11904: 0x9C7C, - 34919 - 11904: 0xD0AC, - 34920 - 11904: 0xAAED, - 34921 - 11904: 0xD0AE, - 34922 - 11904: 0xD0AD, - 34923 - 11904: 0xAD6D, - 34925 - 11904: 0xD3D1, - 34926 - 11904: 0x95A1, - 34927 - 11904: 0xD3D8, - 34928 - 11904: 0xB049, - 34929 - 11904: 0xD3D6, - 34930 - 11904: 0xD3D4, - 34932 - 11904: 0xD3DB, - 34933 - 11904: 0xD3D2, - 34934 - 11904: 0xD3D3, - 34935 - 11904: 0xB04A, - 34937 - 11904: 0xB04E, - 34940 - 11904: 0xD3DC, - 34941 - 11904: 0xB04D, - 34942 - 11904: 0xD3DA, - 34943 - 11904: 0xD3D7, - 34944 - 11904: 0xD3D5, - 34945 - 11904: 0xB04B, - 34946 - 11904: 0xB04C, - 34947 - 11904: 0xD3D9, - 34948 - 11904: 0xFEEC, - 34951 - 11904: 0x95A3, - 34952 - 11904: 0xB350, - 34953 - 11904: 0xD7B2, - 34955 - 11904: 0xB355, - 34956 - 11904: 0xD7C2, - 34957 - 11904: 0xB354, - 34958 - 11904: 0xD7C4, - 34959 - 11904: 0x8C45, - 34960 - 11904: 0x8CB8, - 34961 - 11904: 0xD7B8, - 34962 - 11904: 0xB352, - 34963 - 11904: 0xD7C3, - 34965 - 11904: 0xD7B3, - 34966 - 11904: 0xB353, - 34967 - 11904: 0xD7BF, - 34968 - 11904: 0xD7BB, - 34969 - 11904: 0xD7BD, - 34970 - 11904: 0xD7B7, - 34971 - 11904: 0xD7BE, - 34972 - 11904: 0x8FC1, - 34973 - 11904: 0x87B7, - 34974 - 11904: 0xB34F, - 34975 - 11904: 0xD7BA, - 34976 - 11904: 0xA052, - 34977 - 11904: 0xD7B9, - 34978 - 11904: 0xD7B5, - 34980 - 11904: 0xD7C0, - 34983 - 11904: 0xD7BC, - 34984 - 11904: 0xD7B4, - 34986 - 11904: 0xD7B6, - 34987 - 11904: 0xB351, - 34988 - 11904: 0xD7C1, - 34990 - 11904: 0x99D0, - 34993 - 11904: 0xB5F6, - 34994 - 11904: 0xDBCD, - 34996 - 11904: 0x8FC3, - 34997 - 11904: 0x8FC4, - 34998 - 11904: 0xDBC9, - 34999 - 11904: 0xDBCB, - 35000 - 11904: 0xDBC6, - 35001 - 11904: 0xDBC5, - 35002 - 11904: 0xDBC3, - 35004 - 11904: 0xDBCA, - 35005 - 11904: 0xDBCC, - 35006 - 11904: 0xDBC8, - 35007 - 11904: 0x95A4, - 35008 - 11904: 0xDBC7, - 35009 - 11904: 0xB5F4, - 35010 - 11904: 0xB5F5, - 35013 - 11904: 0x8FC6, - 35015 - 11904: 0x9E60, - 35017 - 11904: 0xDBCF, - 35018 - 11904: 0xB8CD, - 35019 - 11904: 0xDFF2, - 35020 - 11904: 0xDFF8, - 35021 - 11904: 0xDFF3, - 35022 - 11904: 0xDFF4, - 35023 - 11904: 0xF9D8, - 35024 - 11904: 0xDFF9, - 35026 - 11904: 0xB8CF, - 35028 - 11904: 0xB8C7, - 35029 - 11904: 0xB8CE, - 35030 - 11904: 0xDFF1, - 35031 - 11904: 0xDBC4, - 35032 - 11904: 0xB8CA, - 35033 - 11904: 0xB8C8, - 35034 - 11904: 0xDFF7, - 35035 - 11904: 0xDFF6, - 35036 - 11904: 0xB8C9, - 35037 - 11904: 0xB8CB, - 35038 - 11904: 0xDFF5, - 35039 - 11904: 0xB8C6, - 35041 - 11904: 0xB8CC, - 35046 - 11904: 0x95A5, - 35047 - 11904: 0xE3F6, - 35048 - 11904: 0xBB74, - 35051 - 11904: 0xE442, - 35052 - 11904: 0xE441, - 35054 - 11904: 0xE3FB, - 35055 - 11904: 0xBB76, - 35056 - 11904: 0xE440, - 35057 - 11904: 0xE3F7, - 35058 - 11904: 0xE3F8, - 35059 - 11904: 0xBB6E, - 35060 - 11904: 0xBB70, - 35061 - 11904: 0x9CB3, - 35062 - 11904: 0xE3FD, - 35063 - 11904: 0xE3F5, - 35064 - 11904: 0xBB72, - 35065 - 11904: 0xBB71, - 35066 - 11904: 0xE3F9, - 35067 - 11904: 0xE3FE, - 35068 - 11904: 0xE3FC, - 35069 - 11904: 0xBB73, - 35070 - 11904: 0xE3FA, - 35071 - 11904: 0x99D1, - 35072 - 11904: 0xFEF1, - 35073 - 11904: 0xDBCE, - 35074 - 11904: 0xBB6F, - 35077 - 11904: 0xE7C2, - 35078 - 11904: 0xE7C9, - 35079 - 11904: 0xBDC6, - 35081 - 11904: 0xE7CD, - 35082 - 11904: 0xBDCA, - 35083 - 11904: 0xE7C5, - 35084 - 11904: 0xE7C3, - 35086 - 11904: 0xE7CC, - 35088 - 11904: 0xBDC5, - 35089 - 11904: 0xE7CB, - 35090 - 11904: 0xBDC7, - 35091 - 11904: 0xBDC8, - 35092 - 11904: 0xE7C4, - 35093 - 11904: 0xBDC9, - 35094 - 11904: 0xE7CA, - 35095 - 11904: 0xE7C6, - 35096 - 11904: 0xE7C7, - 35097 - 11904: 0xE7C8, - 35098 - 11904: 0xBB75, - 35102 - 11904: 0xEB70, - 35103 - 11904: 0xEB7C, - 35105 - 11904: 0xBFCA, - 35106 - 11904: 0xEB77, - 35107 - 11904: 0xEB79, - 35108 - 11904: 0x99D2, - 35109 - 11904: 0xBFC8, - 35110 - 11904: 0xEB71, - 35111 - 11904: 0xEB75, - 35113 - 11904: 0xEB78, - 35114 - 11904: 0xBFC6, - 35115 - 11904: 0xBFC9, - 35116 - 11904: 0xEB7B, - 35117 - 11904: 0xEB73, - 35118 - 11904: 0xEB74, - 35119 - 11904: 0xEB7A, - 35120 - 11904: 0xEB72, - 35121 - 11904: 0xEB76, - 35122 - 11904: 0xBFC7, - 35123 - 11904: 0xEE72, - 35125 - 11904: 0xEE71, - 35126 - 11904: 0xC1B7, - 35127 - 11904: 0xEE77, - 35128 - 11904: 0xC1B9, - 35131 - 11904: 0xC1B6, - 35132 - 11904: 0xEE73, - 35133 - 11904: 0xC1BA, - 35134 - 11904: 0xEE74, - 35137 - 11904: 0xEE75, - 35138 - 11904: 0xEE78, - 35139 - 11904: 0x9CC2, - 35140 - 11904: 0xC1B8, - 35142 - 11904: 0xF0D6, - 35143 - 11904: 0x99D3, - 35145 - 11904: 0xF0D9, - 35147 - 11904: 0xF0D3, - 35148 - 11904: 0xF0D5, - 35149 - 11904: 0x95A7, - 35151 - 11904: 0xF0D4, - 35152 - 11904: 0xF0D7, - 35153 - 11904: 0xF0D8, - 35154 - 11904: 0xEE76, - 35155 - 11904: 0xF0D2, - 35156 - 11904: 0x95A9, - 35158 - 11904: 0xC3CD, - 35159 - 11904: 0xF2EC, - 35160 - 11904: 0xF2EF, - 35161 - 11904: 0xF2F1, - 35162 - 11904: 0xF2EA, - 35163 - 11904: 0xF2EB, - 35164 - 11904: 0xF2EE, - 35165 - 11904: 0xF2F0, - 35166 - 11904: 0xC3CE, - 35167 - 11904: 0xC3CC, - 35168 - 11904: 0xC3CB, - 35169 - 11904: 0xF2ED, - 35170 - 11904: 0xF2E9, - 35171 - 11904: 0xF4CA, - 35172 - 11904: 0xC4B0, - 35173 - 11904: 0x95A6, - 35174 - 11904: 0xF4CB, - 35177 - 11904: 0xF649, - 35178 - 11904: 0xC4FB, - 35179 - 11904: 0xF64B, - 35180 - 11904: 0xC4FC, - 35181 - 11904: 0xF648, - 35182 - 11904: 0xF64A, - 35183 - 11904: 0xC5A8, - 35185 - 11904: 0xF752, - 35186 - 11904: 0xC5A7, - 35187 - 11904: 0xF7FD, - 35188 - 11904: 0xF7FC, - 35190 - 11904: 0xF7FB, - 35191 - 11904: 0x9C5D, - 35193 - 11904: 0xF948, - 35194 - 11904: 0xF949, - 35195 - 11904: 0xF94B, - 35196 - 11904: 0xF94A, - 35198 - 11904: 0xCA50, - 35199 - 11904: 0xA6E8, - 35200 - 11904: 0x98E2, - 35201 - 11904: 0xAD6E, - 35202 - 11904: 0xD7C5, - 35203 - 11904: 0xB5F7, - 35205 - 11904: 0xDFFA, - 35206 - 11904: 0xC2D0, - 35207 - 11904: 0x8FC9, - 35208 - 11904: 0xF2F2, - 35209 - 11904: 0xA0C2, - 35210 - 11904: 0x8FCA, - 35211 - 11904: 0xA8A3, - 35215 - 11904: 0xB357, - 35217 - 11904: 0x99D4, - 35219 - 11904: 0xB356, - 35220 - 11904: 0xA0B9, - 35221 - 11904: 0xDBD0, - 35222 - 11904: 0xB5F8, - 35223 - 11904: 0xDBD2, - 35224 - 11904: 0xDBD1, - 35227 - 11904: 0xDFFB, - 35228 - 11904: 0xB8D0, - 35229 - 11904: 0xE443, - 35230 - 11904: 0xE446, - 35231 - 11904: 0xE445, - 35233 - 11904: 0xE444, - 35234 - 11904: 0xE7CE, - 35235 - 11904: 0xE7D0, - 35236 - 11904: 0xE7CF, - 35237 - 11904: 0x9B58, - 35238 - 11904: 0xBFCC, - 35239 - 11904: 0x8FCD, - 35241 - 11904: 0xA0D4, - 35242 - 11904: 0xBFCB, - 35244 - 11904: 0xC1BB, - 35245 - 11904: 0xEE79, - 35246 - 11904: 0xEE7B, - 35247 - 11904: 0xEE7A, - 35250 - 11904: 0xC2D1, - 35254 - 11904: 0xF2F4, - 35255 - 11904: 0xF2F3, - 35257 - 11904: 0xF4CC, - 35258 - 11904: 0xC4B1, - 35260 - 11904: 0x8FCE, - 35261 - 11904: 0xC4FD, - 35262 - 11904: 0xF754, - 35263 - 11904: 0xF753, - 35264 - 11904: 0xC65B, - 35265 - 11904: 0x8BE5, - 35270 - 11904: 0x8979, - 35282 - 11904: 0xA8A4, - 35283 - 11904: 0xD0AF, - 35284 - 11904: 0xAD6F, - 35285 - 11904: 0xD7C8, - 35286 - 11904: 0xD7C6, - 35289 - 11904: 0xD7C7, - 35290 - 11904: 0xDBD4, - 35291 - 11904: 0xDBD5, - 35292 - 11904: 0xE043, - 35293 - 11904: 0xDBD3, - 35295 - 11904: 0xDFFC, - 35296 - 11904: 0xE041, - 35297 - 11904: 0xE040, - 35298 - 11904: 0xE042, - 35299 - 11904: 0xB8D1, - 35300 - 11904: 0xDFFE, - 35301 - 11904: 0xDFFD, - 35302 - 11904: 0xE044, - 35303 - 11904: 0x8FD0, - 35304 - 11904: 0xE449, - 35305 - 11904: 0xE447, - 35307 - 11904: 0xE448, - 35308 - 11904: 0xE7D3, - 35309 - 11904: 0xE7D1, - 35312 - 11904: 0xE7D2, - 35313 - 11904: 0xEB7D, - 35314 - 11904: 0xEE7C, - 35315 - 11904: 0xEE7D, - 35316 - 11904: 0xC2D2, - 35318 - 11904: 0xF2F5, - 35319 - 11904: 0xF4CD, - 35320 - 11904: 0xC4B2, - 35322 - 11904: 0xF64C, - 35323 - 11904: 0xF755, - 35324 - 11904: 0xC5A9, - 35326 - 11904: 0xF7FE, - 35327 - 11904: 0xF94C, - 35328 - 11904: 0xA8A5, - 35330 - 11904: 0xAD71, - 35331 - 11904: 0xAD72, - 35332 - 11904: 0xD0B0, - 35335 - 11904: 0xD0B1, - 35336 - 11904: 0xAD70, - 35338 - 11904: 0xB054, - 35340 - 11904: 0xB052, - 35342 - 11904: 0xB051, - 35343 - 11904: 0xB058, - 35344 - 11904: 0xB050, - 35345 - 11904: 0xB059, - 35346 - 11904: 0xD3DD, - 35347 - 11904: 0xB056, - 35349 - 11904: 0xB053, - 35350 - 11904: 0xB057, - 35351 - 11904: 0xB055, - 35352 - 11904: 0xB04F, - 35355 - 11904: 0xB35F, - 35356 - 11904: 0x95B6, - 35357 - 11904: 0xB359, - 35358 - 11904: 0xD7CC, - 35359 - 11904: 0xB35E, - 35362 - 11904: 0xB360, - 35363 - 11904: 0xB35A, - 35365 - 11904: 0xB35B, - 35367 - 11904: 0xD7CA, - 35369 - 11904: 0x99D6, - 35370 - 11904: 0xB358, - 35371 - 11904: 0x95E5, - 35372 - 11904: 0xD7CB, - 35373 - 11904: 0xB35D, - 35376 - 11904: 0xD7C9, - 35377 - 11904: 0xB35C, - 35380 - 11904: 0xB644, - 35382 - 11904: 0xB646, - 35384 - 11904: 0x99D7, - 35385 - 11904: 0xDBD8, - 35386 - 11904: 0xB645, - 35387 - 11904: 0xB5F9, - 35388 - 11904: 0xB5FD, - 35389 - 11904: 0x95B5, - 35390 - 11904: 0xB8E4, - 35391 - 11904: 0xE049, - 35392 - 11904: 0xDBDA, - 35393 - 11904: 0xB5FE, - 35396 - 11904: 0xDBDD, - 35397 - 11904: 0xDBDE, - 35398 - 11904: 0xB643, - 35400 - 11904: 0xDBE0, - 35401 - 11904: 0xA0CA, - 35402 - 11904: 0xDBE2, - 35404 - 11904: 0xDBE3, - 35405 - 11904: 0xDBD7, - 35406 - 11904: 0xDBD6, - 35407 - 11904: 0xDBE4, - 35408 - 11904: 0xB642, - 35409 - 11904: 0xDBE1, - 35410 - 11904: 0xDBDF, - 35412 - 11904: 0xB640, - 35413 - 11904: 0xB5FB, - 35414 - 11904: 0xB647, - 35415 - 11904: 0xDBDB, - 35416 - 11904: 0xDBDC, - 35417 - 11904: 0xDBD9, - 35419 - 11904: 0xB641, - 35422 - 11904: 0xB5FC, - 35424 - 11904: 0xB5FA, - 35425 - 11904: 0xE048, - 35426 - 11904: 0xB8DF, - 35427 - 11904: 0xB8DA, - 35430 - 11904: 0xB8D5, - 35431 - 11904: 0x9FFD, - 35432 - 11904: 0xB8E5, - 35433 - 11904: 0xB8D6, - 35435 - 11904: 0xB8D2, - 35436 - 11904: 0xB8E1, - 35437 - 11904: 0xB8DE, - 35438 - 11904: 0xB8E0, - 35440 - 11904: 0xB8D7, - 35441 - 11904: 0xB8DC, - 35442 - 11904: 0xB8D3, - 35443 - 11904: 0xB8D4, - 35444 - 11904: 0xE050, - 35445 - 11904: 0xE04D, - 35446 - 11904: 0xE045, - 35447 - 11904: 0xE04A, - 35449 - 11904: 0xB8E2, - 35450 - 11904: 0xE051, - 35451 - 11904: 0xB8E3, - 35452 - 11904: 0xB8D9, - 35454 - 11904: 0xA058, - 35455 - 11904: 0xE047, - 35457 - 11904: 0xE04F, - 35458 - 11904: 0xE04B, - 35459 - 11904: 0xE04E, - 35460 - 11904: 0xE04C, - 35461 - 11904: 0xB8DD, - 35462 - 11904: 0xE046, - 35463 - 11904: 0xB8D8, - 35467 - 11904: 0xE44C, - 35468 - 11904: 0xBB78, - 35469 - 11904: 0xBB7B, - 35471 - 11904: 0xE44E, - 35472 - 11904: 0x8FD6, - 35473 - 11904: 0xBBA5, - 35474 - 11904: 0xE44D, - 35475 - 11904: 0xBB7D, - 35476 - 11904: 0x99D8, - 35477 - 11904: 0xBDCF, - 35478 - 11904: 0xE44F, - 35480 - 11904: 0xBBA4, - 35481 - 11904: 0xE44B, - 35482 - 11904: 0xBBA6, - 35484 - 11904: 0x8FD3, - 35486 - 11904: 0xBB79, - 35488 - 11904: 0xB8DB, - 35489 - 11904: 0xBB7C, - 35491 - 11904: 0xBB7A, - 35492 - 11904: 0xBB7E, - 35493 - 11904: 0xBBA2, - 35494 - 11904: 0xBB77, - 35495 - 11904: 0xBBA7, - 35496 - 11904: 0xBBA3, - 35497 - 11904: 0x8FE5, - 35498 - 11904: 0xBBA1, - 35499 - 11904: 0xE44A, - 35503 - 11904: 0x8FE9, - 35504 - 11904: 0xBDD6, - 35506 - 11904: 0xBDD2, - 35508 - 11904: 0x99D9, - 35510 - 11904: 0xBDD9, - 35512 - 11904: 0xE7D6, - 35513 - 11904: 0xBDDA, - 35514 - 11904: 0xE7E2, - 35515 - 11904: 0xE7DB, - 35516 - 11904: 0xBDCB, - 35517 - 11904: 0xE7E3, - 35518 - 11904: 0xE7DD, - 35519 - 11904: 0xBDD5, - 35520 - 11904: 0xE7DE, - 35522 - 11904: 0xBDD4, - 35523 - 11904: 0xE7E1, - 35524 - 11904: 0xBDCE, - 35525 - 11904: 0xE7DF, - 35526 - 11904: 0xE7D5, - 35527 - 11904: 0xBDCD, - 35528 - 11904: 0xEBAA, - 35529 - 11904: 0xBDD3, - 35531 - 11904: 0xBDD0, - 35532 - 11904: 0x8CF7, - 35533 - 11904: 0xBDD8, - 35535 - 11904: 0xE7D4, - 35537 - 11904: 0xE7D8, - 35538 - 11904: 0xBDCC, - 35539 - 11904: 0xE7D7, - 35540 - 11904: 0xE7D9, - 35541 - 11904: 0xE7DA, - 35542 - 11904: 0xBDD7, - 35543 - 11904: 0xE7DC, - 35544 - 11904: 0xE7E0, - 35545 - 11904: 0xE7E4, - 35546 - 11904: 0x927C, - 35547 - 11904: 0xBDDB, - 35548 - 11904: 0xBFD2, - 35549 - 11904: 0xEBA5, - 35550 - 11904: 0xEBAB, - 35551 - 11904: 0xEBA8, - 35552 - 11904: 0xEB7E, - 35553 - 11904: 0xEBAC, - 35554 - 11904: 0xEBA1, - 35556 - 11904: 0xEBA7, - 35558 - 11904: 0xBFCD, - 35559 - 11904: 0xBFD3, - 35560 - 11904: 0xEBAD, - 35562 - 11904: 0x9C45, - 35563 - 11904: 0xBFCF, - 35565 - 11904: 0xBFD9, - 35566 - 11904: 0xBFD4, - 35567 - 11904: 0xEBAF, - 35568 - 11904: 0xEBA9, - 35569 - 11904: 0xBFD0, - 35570 - 11904: 0xEBA2, - 35571 - 11904: 0xBFDA, - 35572 - 11904: 0xEBA3, - 35573 - 11904: 0xEBA4, - 35574 - 11904: 0xBFDB, - 35575 - 11904: 0xBFD8, - 35576 - 11904: 0xBDD1, - 35577 - 11904: 0x8CE8, - 35578 - 11904: 0xBFCE, - 35579 - 11904: 0xEBB0, - 35580 - 11904: 0xBFDC, - 35582 - 11904: 0xBFD5, - 35583 - 11904: 0xEBAE, - 35584 - 11904: 0xBFD1, - 35585 - 11904: 0xBFD6, - 35586 - 11904: 0xBFD7, - 35588 - 11904: 0xC1C3, - 35589 - 11904: 0xEEA4, - 35590 - 11904: 0xEEAD, - 35591 - 11904: 0xEEAA, - 35592 - 11904: 0xEEAC, - 35594 - 11904: 0xC1C0, - 35595 - 11904: 0xEEA5, - 35596 - 11904: 0x8FDE, - 35597 - 11904: 0xEEAB, - 35598 - 11904: 0xC1BC, - 35599 - 11904: 0xEEA7, - 35600 - 11904: 0xC1C4, - 35601 - 11904: 0xEEA3, - 35602 - 11904: 0xEEA8, - 35603 - 11904: 0xEEAF, - 35604 - 11904: 0xEBA6, - 35605 - 11904: 0xEEA9, - 35606 - 11904: 0xEEA2, - 35607 - 11904: 0xC1BD, - 35608 - 11904: 0xEEA1, - 35609 - 11904: 0xC1BE, - 35610 - 11904: 0xEEB0, - 35611 - 11904: 0xC1BF, - 35612 - 11904: 0xEEAE, - 35613 - 11904: 0xC1C2, - 35614 - 11904: 0xEE7E, - 35615 - 11904: 0x8FDF, - 35616 - 11904: 0xC1C1, - 35618 - 11904: 0xEEA6, - 35619 - 11904: 0xF0DC, - 35620 - 11904: 0xF0EA, - 35621 - 11904: 0xF0E5, - 35622 - 11904: 0xF0E7, - 35623 - 11904: 0xF0DB, - 35624 - 11904: 0xC2D3, - 35626 - 11904: 0xF0DA, - 35627 - 11904: 0xC2D6, - 35628 - 11904: 0xC2D5, - 35629 - 11904: 0xA04B, - 35630 - 11904: 0xF0E9, - 35631 - 11904: 0xF0E1, - 35632 - 11904: 0xF0DE, - 35633 - 11904: 0xF0E4, - 35635 - 11904: 0xF0DD, - 35637 - 11904: 0xF0DF, - 35638 - 11904: 0xF0E8, - 35639 - 11904: 0xF0E6, - 35641 - 11904: 0xC2D4, - 35642 - 11904: 0xF0ED, - 35643 - 11904: 0xF0EB, - 35644 - 11904: 0xF0E2, - 35645 - 11904: 0xF0EC, - 35646 - 11904: 0xF0E3, - 35647 - 11904: 0x8FE2, - 35648 - 11904: 0xF2F9, - 35649 - 11904: 0xC3CF, - 35650 - 11904: 0xF341, - 35651 - 11904: 0xA0CC, - 35653 - 11904: 0xF64F, - 35654 - 11904: 0xC3D6, - 35655 - 11904: 0xF0E0, - 35656 - 11904: 0xF2F7, - 35657 - 11904: 0xC3D2, - 35658 - 11904: 0xF2F8, - 35659 - 11904: 0xF2FD, - 35660 - 11904: 0x8FE3, - 35661 - 11904: 0x8FE4, - 35662 - 11904: 0xC3D4, - 35663 - 11904: 0xC3D5, - 35664 - 11904: 0xF2F6, - 35665 - 11904: 0xF340, - 35666 - 11904: 0xF342, - 35667 - 11904: 0xF2FA, - 35668 - 11904: 0xF2FC, - 35669 - 11904: 0xF2FE, - 35670 - 11904: 0xF2FB, - 35671 - 11904: 0xF343, - 35672 - 11904: 0xC3D1, - 35673 - 11904: 0xC3D7, - 35674 - 11904: 0xC3D3, - 35676 - 11904: 0xC3D0, - 35677 - 11904: 0xF4D0, - 35678 - 11904: 0x9BC4, - 35679 - 11904: 0xC4B7, - 35680 - 11904: 0xF4CE, - 35682 - 11904: 0x9BFC, - 35683 - 11904: 0xF4D2, - 35685 - 11904: 0xF4D3, - 35686 - 11904: 0xC4B5, - 35687 - 11904: 0xF4D4, - 35688 - 11904: 0xF4D1, - 35689 - 11904: 0x964C, - 35690 - 11904: 0xF4CF, - 35691 - 11904: 0xC4B8, - 35692 - 11904: 0xC4B4, - 35693 - 11904: 0xF4D5, - 35695 - 11904: 0xC4B6, - 35696 - 11904: 0xC4B3, - 35700 - 11904: 0xC4FE, - 35703 - 11904: 0xC540, - 35704 - 11904: 0xF64E, - 35705 - 11904: 0xF64D, - 35706 - 11904: 0xF650, - 35707 - 11904: 0xF651, - 35709 - 11904: 0xC541, - 35710 - 11904: 0xF756, - 35711 - 11904: 0xF75B, - 35712 - 11904: 0xC5AA, - 35713 - 11904: 0x9AF6, - 35714 - 11904: 0xF758, - 35715 - 11904: 0x8CAE, - 35716 - 11904: 0xF757, - 35717 - 11904: 0xF75A, - 35718 - 11904: 0xF759, - 35720 - 11904: 0xF843, - 35722 - 11904: 0xC5DC, - 35723 - 11904: 0xF842, - 35724 - 11904: 0xF840, - 35726 - 11904: 0xF841, - 35727 - 11904: 0x87CB, - 35728 - 11904: 0x8FE7, - 35730 - 11904: 0xC5FE, - 35731 - 11904: 0xC5FD, - 35732 - 11904: 0xF8C1, - 35733 - 11904: 0xF8C2, - 35734 - 11904: 0xC640, - 35736 - 11904: 0xF94D, - 35737 - 11904: 0xF94E, - 35738 - 11904: 0xC667, - 35739 - 11904: 0x8FE8, - 35740 - 11904: 0xC66D, - 35742 - 11904: 0xF9A9, - 35743 - 11904: 0xF9C8, - 35744 - 11904: 0x8BE7, - 35774 - 11904: 0x897A, - 35810 - 11904: 0x897B, - 35895 - 11904: 0xA8A6, - 35897 - 11904: 0xD7CD, - 35899 - 11904: 0xD7CE, - 35900 - 11904: 0xE052, - 35901 - 11904: 0xE450, - 35902 - 11904: 0xE7E5, - 35903 - 11904: 0xC1C6, - 35905 - 11904: 0xC1C5, - 35906 - 11904: 0xF0EE, - 35907 - 11904: 0xF344, - 35909 - 11904: 0xF844, - 35910 - 11904: 0xA8A7, - 35911 - 11904: 0xD3DE, - 35912 - 11904: 0xB05A, - 35913 - 11904: 0xB361, - 35914 - 11904: 0xE054, - 35915 - 11904: 0xE053, - 35916 - 11904: 0xBDDC, - 35917 - 11904: 0xE7E6, - 35918 - 11904: 0xBDDD, - 35919 - 11904: 0xEEB1, - 35920 - 11904: 0xC2D7, - 35921 - 11904: 0x99DA, - 35924 - 11904: 0xC676, - 35925 - 11904: 0xA8A8, - 35926 - 11904: 0xCDCB, - 35927 - 11904: 0xD3DF, - 35930 - 11904: 0xB362, - 35932 - 11904: 0xD7CF, - 35933 - 11904: 0xD7D0, - 35935 - 11904: 0xDBE5, - 35937 - 11904: 0xB648, - 35938 - 11904: 0xB8E6, - 35940 - 11904: 0xE056, - 35941 - 11904: 0xE055, - 35942 - 11904: 0xE057, - 35944 - 11904: 0xE451, - 35945 - 11904: 0xE452, - 35946 - 11904: 0xBBA8, - 35947 - 11904: 0xBFDD, - 35948 - 11904: 0xBDDE, - 35949 - 11904: 0xBFDE, - 35951 - 11904: 0xEEB5, - 35952 - 11904: 0xEEB2, - 35953 - 11904: 0xEEB4, - 35954 - 11904: 0xEEB3, - 35955 - 11904: 0xC1C7, - 35957 - 11904: 0xF0EF, - 35958 - 11904: 0xF346, - 35959 - 11904: 0xF345, - 35960 - 11904: 0xCBA4, - 35961 - 11904: 0xB05C, - 35962 - 11904: 0xB05B, - 35963 - 11904: 0xD3E0, - 35965 - 11904: 0xD7D1, - 35968 - 11904: 0xDBE7, - 35969 - 11904: 0xDBE6, - 35970 - 11904: 0xB649, - 35972 - 11904: 0xE059, - 35973 - 11904: 0xE05A, - 35974 - 11904: 0xE058, - 35977 - 11904: 0xB8E8, - 35978 - 11904: 0xB8E7, - 35980 - 11904: 0xBBAA, - 35981 - 11904: 0xBBA9, - 35983 - 11904: 0xE7E7, - 35984 - 11904: 0xEBB3, - 35985 - 11904: 0xEBB1, - 35986 - 11904: 0xEBB2, - 35987 - 11904: 0xBFDF, - 35988 - 11904: 0xEEB7, - 35989 - 11904: 0xEEB6, - 35991 - 11904: 0xF0F2, - 35992 - 11904: 0xF0F1, - 35993 - 11904: 0xF0F0, - 35994 - 11904: 0xF347, - 35995 - 11904: 0x8FED, - 35996 - 11904: 0xF9AA, - 35997 - 11904: 0xA8A9, - 35998 - 11904: 0xAD73, - 35999 - 11904: 0x95C0, - 36000 - 11904: 0xAD74, - 36001 - 11904: 0xB05D, - 36002 - 11904: 0xB05E, - 36003 - 11904: 0xD3E2, - 36004 - 11904: 0xD3E1, - 36005 - 11904: 0xD7D2, - 36007 - 11904: 0xB368, - 36008 - 11904: 0xB366, - 36009 - 11904: 0xB363, - 36010 - 11904: 0xB367, - 36011 - 11904: 0xB365, - 36012 - 11904: 0xB364, - 36013 - 11904: 0xA0CB, - 36015 - 11904: 0xB64A, - 36016 - 11904: 0xDBEA, - 36018 - 11904: 0xB8ED, - 36019 - 11904: 0xB64C, - 36020 - 11904: 0xB651, - 36021 - 11904: 0xDBEC, - 36022 - 11904: 0xB653, - 36023 - 11904: 0xB652, - 36024 - 11904: 0xB655, - 36025 - 11904: 0xDBEB, - 36026 - 11904: 0xDBE8, - 36027 - 11904: 0xB64F, - 36028 - 11904: 0xB64B, - 36029 - 11904: 0xB64D, - 36030 - 11904: 0xDBE9, - 36031 - 11904: 0xB654, - 36032 - 11904: 0xB650, - 36033 - 11904: 0xB64E, - 36034 - 11904: 0xB8EF, - 36035 - 11904: 0xB8EE, - 36036 - 11904: 0xB8EC, - 36037 - 11904: 0xB8F0, - 36039 - 11904: 0xB8EA, - 36040 - 11904: 0xB8EB, - 36042 - 11904: 0xB8E9, - 36044 - 11904: 0xE05B, - 36045 - 11904: 0x9E48, - 36047 - 11904: 0xE454, - 36049 - 11904: 0xBBAC, - 36050 - 11904: 0xBBAD, - 36051 - 11904: 0xBBAB, - 36052 - 11904: 0x99DB, - 36053 - 11904: 0xE453, - 36054 - 11904: 0x8FF3, - 36055 - 11904: 0xE455, - 36057 - 11904: 0xE7EA, - 36058 - 11904: 0xE7EC, - 36059 - 11904: 0x8FF9, - 36060 - 11904: 0xBDE7, - 36061 - 11904: 0xE7ED, - 36062 - 11904: 0xBDE0, - 36063 - 11904: 0xE7E9, - 36064 - 11904: 0xBDDF, - 36065 - 11904: 0xBDE9, - 36066 - 11904: 0xBDE5, - 36067 - 11904: 0xBDE6, - 36068 - 11904: 0xBDE2, - 36069 - 11904: 0xE7E8, - 36070 - 11904: 0xBDE1, - 36071 - 11904: 0xE7EE, - 36072 - 11904: 0xE7EB, - 36073 - 11904: 0x95C1, - 36074 - 11904: 0xBDE8, - 36075 - 11904: 0xA04E, - 36076 - 11904: 0xBDE3, - 36077 - 11904: 0xBDE4, - 36078 - 11904: 0xEBB5, - 36080 - 11904: 0xEBB7, - 36081 - 11904: 0xEBB6, - 36082 - 11904: 0x99DC, - 36083 - 11904: 0xEBB8, - 36084 - 11904: 0xBFE0, - 36085 - 11904: 0xEBB4, - 36087 - 11904: 0xA064, - 36088 - 11904: 0xC1CB, - 36089 - 11904: 0xEEB8, - 36090 - 11904: 0xC1C8, - 36091 - 11904: 0xC1CC, - 36092 - 11904: 0xC1CA, - 36093 - 11904: 0xC1C9, - 36094 - 11904: 0xF0F3, - 36096 - 11904: 0xF0F6, - 36098 - 11904: 0xF0F5, - 36099 - 11904: 0x8FF7, - 36100 - 11904: 0xF0F4, - 36101 - 11904: 0xC2D8, - 36102 - 11904: 0xF348, - 36103 - 11904: 0xF349, - 36104 - 11904: 0xC3D8, - 36105 - 11904: 0xF34A, - 36106 - 11904: 0xC3D9, - 36107 - 11904: 0x89B0, - 36108 - 11904: 0xA048, - 36109 - 11904: 0xC4BA, - 36111 - 11904: 0xC4B9, - 36112 - 11904: 0xF652, - 36113 - 11904: 0x8FFB, - 36114 - 11904: 0x8FF6, - 36115 - 11904: 0xC542, - 36116 - 11904: 0xF653, - 36117 - 11904: 0xF75C, - 36118 - 11904: 0xC5AB, - 36119 - 11904: 0xC5AC, - 36120 - 11904: 0x9DDC, - 36121 - 11904: 0xF845, - 36123 - 11904: 0xC642, - 36124 - 11904: 0x99DD, - 36125 - 11904: 0x8BE8, - 36196 - 11904: 0xA8AA, - 36198 - 11904: 0xB36A, - 36199 - 11904: 0xB369, - 36200 - 11904: 0xE05C, - 36201 - 11904: 0xE05D, - 36203 - 11904: 0xBBAE, - 36204 - 11904: 0xEBB9, - 36205 - 11904: 0xBDEA, - 36206 - 11904: 0xEBBA, - 36207 - 11904: 0xEEB9, - 36208 - 11904: 0xA8AB, - 36210 - 11904: 0xD0B2, - 36211 - 11904: 0xAD76, - 36212 - 11904: 0xAD75, - 36214 - 11904: 0xD3E3, - 36215 - 11904: 0xB05F, - 36216 - 11904: 0xD3E4, - 36217 - 11904: 0xD7D5, - 36218 - 11904: 0x92C1, - 36219 - 11904: 0xD7D4, - 36221 - 11904: 0xD7D3, - 36224 - 11904: 0xDBEE, - 36225 - 11904: 0xB658, - 36226 - 11904: 0x9FD6, - 36228 - 11904: 0xDBED, - 36229 - 11904: 0xB657, - 36233 - 11904: 0xDBEF, - 36234 - 11904: 0xB656, - 36236 - 11904: 0xE05F, - 36237 - 11904: 0xE062, - 36238 - 11904: 0xE060, - 36239 - 11904: 0xE061, - 36240 - 11904: 0xE065, - 36241 - 11904: 0xE05E, - 36242 - 11904: 0xE066, - 36243 - 11904: 0xE063, - 36244 - 11904: 0xE064, - 36245 - 11904: 0xBBB0, - 36246 - 11904: 0xE456, - 36249 - 11904: 0xBBAF, - 36251 - 11904: 0xE7F2, - 36252 - 11904: 0xE7F0, - 36255 - 11904: 0xBDEB, - 36256 - 11904: 0xE7EF, - 36257 - 11904: 0xE7F1, - 36259 - 11904: 0xBDEC, - 36261 - 11904: 0xEBBB, - 36262 - 11904: 0xA0D2, - 36263 - 11904: 0xEBBC, - 36264 - 11904: 0xC1CD, - 36265 - 11904: 0x9040, - 36266 - 11904: 0xF34C, - 36267 - 11904: 0xF34E, - 36268 - 11904: 0xF34B, - 36269 - 11904: 0xF34D, - 36270 - 11904: 0xF4D6, - 36271 - 11904: 0xF654, - 36274 - 11904: 0xF96F, - 36275 - 11904: 0xA8AC, - 36276 - 11904: 0xAD77, - 36277 - 11904: 0xD3E5, - 36278 - 11904: 0xD3E7, - 36279 - 11904: 0xD3E6, - 36281 - 11904: 0xD7D8, - 36282 - 11904: 0xB36C, - 36284 - 11904: 0xD7D6, - 36286 - 11904: 0xB36B, - 36287 - 11904: 0xD7D9, - 36288 - 11904: 0x8AC4, - 36289 - 11904: 0xD7DA, - 36290 - 11904: 0xD7D7, - 36291 - 11904: 0x99E0, - 36293 - 11904: 0xDBFB, - 36294 - 11904: 0xB660, - 36295 - 11904: 0xDBF3, - 36296 - 11904: 0xDBF9, - 36299 - 11904: 0xB65B, - 36300 - 11904: 0xB65E, - 36301 - 11904: 0xDBF2, - 36302 - 11904: 0xB659, - 36303 - 11904: 0xDBF6, - 36304 - 11904: 0xE06C, - 36305 - 11904: 0xB65D, - 36307 - 11904: 0xDBF1, - 36308 - 11904: 0x9FF0, - 36309 - 11904: 0xDBF7, - 36310 - 11904: 0xDBF4, - 36311 - 11904: 0xDBFA, - 36312 - 11904: 0xDBF0, - 36313 - 11904: 0xDBF8, - 36314 - 11904: 0xB65C, - 36315 - 11904: 0xB65F, - 36316 - 11904: 0xDBF5, - 36317 - 11904: 0xB65A, - 36319 - 11904: 0xB8F2, - 36320 - 11904: 0xE068, - 36321 - 11904: 0xB8F1, - 36322 - 11904: 0xE06F, - 36323 - 11904: 0xE06E, - 36324 - 11904: 0xB8F8, - 36326 - 11904: 0xB8F9, - 36327 - 11904: 0xE070, - 36328 - 11904: 0xB8F3, - 36329 - 11904: 0xE06D, - 36330 - 11904: 0xB8F7, - 36331 - 11904: 0xE072, - 36332 - 11904: 0xE069, - 36334 - 11904: 0xE06B, - 36335 - 11904: 0xB8F4, - 36336 - 11904: 0xE067, - 36337 - 11904: 0xE06A, - 36338 - 11904: 0xE071, - 36339 - 11904: 0xB8F5, - 36340 - 11904: 0xE073, - 36346 - 11904: 0xB8F6, - 36348 - 11904: 0xBBB1, - 36349 - 11904: 0xE45B, - 36350 - 11904: 0xE461, - 36351 - 11904: 0xE459, - 36352 - 11904: 0xE462, - 36353 - 11904: 0x9FF3, - 36354 - 11904: 0xE458, - 36355 - 11904: 0xE45D, - 36356 - 11904: 0xE463, - 36357 - 11904: 0xE460, - 36358 - 11904: 0xE45F, - 36359 - 11904: 0xE45E, - 36361 - 11904: 0xE457, - 36362 - 11904: 0xE45C, - 36365 - 11904: 0xE45A, - 36366 - 11904: 0x9DBF, - 36367 - 11904: 0xBDF1, - 36368 - 11904: 0xBDEE, - 36369 - 11904: 0xE7FB, - 36370 - 11904: 0xE841, - 36371 - 11904: 0xE843, - 36372 - 11904: 0xE840, - 36373 - 11904: 0xE7F8, - 36374 - 11904: 0xE7FA, - 36375 - 11904: 0xE845, - 36376 - 11904: 0xE842, - 36377 - 11904: 0xE7FC, - 36378 - 11904: 0xE846, - 36379 - 11904: 0xE7F9, - 36380 - 11904: 0xE844, - 36381 - 11904: 0xBDEF, - 36382 - 11904: 0xBDF5, - 36383 - 11904: 0xBDF3, - 36384 - 11904: 0xE7F3, - 36385 - 11904: 0xBDF4, - 36386 - 11904: 0xBDF0, - 36387 - 11904: 0xE7F4, - 36388 - 11904: 0xE7F6, - 36389 - 11904: 0xE7F5, - 36390 - 11904: 0xE7FD, - 36391 - 11904: 0xE7FE, - 36392 - 11904: 0x9FF6, - 36393 - 11904: 0xBDF2, - 36394 - 11904: 0x95C8, - 36395 - 11904: 0xBDED, - 36397 - 11904: 0x9E5A, - 36398 - 11904: 0xE7F7, - 36400 - 11904: 0xEBC6, - 36401 - 11904: 0xBFE2, - 36403 - 11904: 0xEBBD, - 36404 - 11904: 0xBFE3, - 36405 - 11904: 0xBFE6, - 36406 - 11904: 0xEBC2, - 36408 - 11904: 0xEBBF, - 36409 - 11904: 0xBFE5, - 36410 - 11904: 0x99E3, - 36412 - 11904: 0xEBC3, - 36413 - 11904: 0xEBC4, - 36414 - 11904: 0xEBBE, - 36415 - 11904: 0xEBC7, - 36416 - 11904: 0xEBC0, - 36417 - 11904: 0xEBC5, - 36418 - 11904: 0xBFE4, - 36420 - 11904: 0xBFE1, - 36421 - 11904: 0xEBC1, - 36422 - 11904: 0x8A4A, - 36423 - 11904: 0xEEBF, - 36424 - 11904: 0xC1D0, - 36425 - 11904: 0xC1CE, - 36426 - 11904: 0xC1D1, - 36427 - 11904: 0xC1CF, - 36428 - 11904: 0xEEBE, - 36429 - 11904: 0xEEBB, - 36430 - 11904: 0xEEBA, - 36431 - 11904: 0x9FF1, - 36432 - 11904: 0xEEBD, - 36435 - 11904: 0xEEBC, - 36436 - 11904: 0xF145, - 36437 - 11904: 0xC2DE, - 36438 - 11904: 0xF0FB, - 36439 - 11904: 0xF0FA, - 36441 - 11904: 0xC2D9, - 36442 - 11904: 0xF141, - 36443 - 11904: 0xF140, - 36444 - 11904: 0xF0F7, - 36445 - 11904: 0xF143, - 36446 - 11904: 0xF0FC, - 36447 - 11904: 0xC2DD, - 36448 - 11904: 0xF0F9, - 36449 - 11904: 0xF142, - 36450 - 11904: 0xF0F8, - 36451 - 11904: 0xC2DA, - 36452 - 11904: 0xC2DC, - 36453 - 11904: 0xF0FD, - 36454 - 11904: 0xC2DB, - 36455 - 11904: 0xF0FE, - 36456 - 11904: 0x8AA7, - 36457 - 11904: 0xF144, - 36458 - 11904: 0xF352, - 36460 - 11904: 0xC3DE, - 36461 - 11904: 0xF34F, - 36463 - 11904: 0xF353, - 36465 - 11904: 0x99E6, - 36466 - 11904: 0xC3DB, - 36467 - 11904: 0xF351, - 36468 - 11904: 0xC3E0, - 36469 - 11904: 0x9FF7, - 36470 - 11904: 0xC3DD, - 36471 - 11904: 0x9FED, - 36472 - 11904: 0xF350, - 36474 - 11904: 0xC3DF, - 36475 - 11904: 0xF354, - 36476 - 11904: 0xC3DA, - 36478 - 11904: 0x8A5C, - 36480 - 11904: 0x9DAE, - 36481 - 11904: 0xC4BC, - 36482 - 11904: 0xC4BE, - 36484 - 11904: 0xF4D9, - 36485 - 11904: 0xC4BD, - 36486 - 11904: 0xF4D7, - 36487 - 11904: 0xC3DC, - 36488 - 11904: 0xF4D8, - 36489 - 11904: 0xC4BB, - 36490 - 11904: 0xC543, - 36491 - 11904: 0xC545, - 36492 - 11904: 0xF656, - 36493 - 11904: 0xC544, - 36494 - 11904: 0xF655, - 36496 - 11904: 0xF761, - 36497 - 11904: 0xC5AD, - 36498 - 11904: 0xF760, - 36499 - 11904: 0xC5AE, - 36500 - 11904: 0xF75E, - 36501 - 11904: 0xF75D, - 36502 - 11904: 0xF762, - 36503 - 11904: 0xF763, - 36504 - 11904: 0xF846, - 36506 - 11904: 0xF75F, - 36509 - 11904: 0xF8C6, - 36510 - 11904: 0xF8C3, - 36511 - 11904: 0xF8C4, - 36512 - 11904: 0xF8C5, - 36513 - 11904: 0xC65C, - 36515 - 11904: 0xF951, - 36516 - 11904: 0xF950, - 36517 - 11904: 0xF94F, - 36518 - 11904: 0xF970, - 36519 - 11904: 0x95C9, - 36520 - 11904: 0xF9BE, - 36521 - 11904: 0xF9AB, - 36522 - 11904: 0xC66E, - 36523 - 11904: 0xA8AD, - 36524 - 11904: 0xB060, - 36525 - 11904: 0x9048, - 36528 - 11904: 0x99E8, - 36530 - 11904: 0xB8FA, - 36534 - 11904: 0x9049, - 36537 - 11904: 0x8CBA, - 36538 - 11904: 0xBDF6, - 36540 - 11904: 0x90B1, - 36541 - 11904: 0xEBC8, - 36544 - 11904: 0xC2DF, - 36546 - 11904: 0xF355, - 36547 - 11904: 0x904A, - 36553 - 11904: 0xF9AC, - 36554 - 11904: 0xA8AE, - 36555 - 11904: 0xAAEE, - 36556 - 11904: 0xAD79, - 36557 - 11904: 0xAD78, - 36558 - 11904: 0x99EA, - 36559 - 11904: 0xB063, - 36561 - 11904: 0xD3E8, - 36562 - 11904: 0xB061, - 36563 - 11904: 0xD3E9, - 36564 - 11904: 0xB062, - 36567 - 11904: 0xD7DF, - 36568 - 11904: 0xD7DB, - 36570 - 11904: 0x9BD1, - 36571 - 11904: 0xB36D, - 36572 - 11904: 0xD7DE, - 36573 - 11904: 0xD7DD, - 36574 - 11904: 0xD7DC, - 36575 - 11904: 0xB36E, - 36576 - 11904: 0xD7E0, - 36577 - 11904: 0xD7E1, - 36578 - 11904: 0x99EB, - 36580 - 11904: 0x99EC, - 36581 - 11904: 0xDC43, - 36582 - 11904: 0xDC41, - 36583 - 11904: 0xDC45, - 36584 - 11904: 0xDC46, - 36585 - 11904: 0xDC4C, - 36587 - 11904: 0xDC48, - 36588 - 11904: 0xDC4A, - 36589 - 11904: 0x99ED, - 36590 - 11904: 0xDC42, - 36591 - 11904: 0xDBFC, - 36593 - 11904: 0xDC49, - 36594 - 11904: 0x99EE, - 36596 - 11904: 0xDC4B, - 36597 - 11904: 0xDC44, - 36598 - 11904: 0xDC47, - 36599 - 11904: 0xDBFD, - 36600 - 11904: 0xB662, - 36601 - 11904: 0xDC40, - 36602 - 11904: 0xDBFE, - 36603 - 11904: 0xB661, - 36604 - 11904: 0xB663, - 36606 - 11904: 0xB8FD, - 36607 - 11904: 0xE075, - 36608 - 11904: 0xE077, - 36609 - 11904: 0xE076, - 36610 - 11904: 0xE07B, - 36611 - 11904: 0xB8FB, - 36613 - 11904: 0xE078, - 36614 - 11904: 0xE074, - 36615 - 11904: 0xE079, - 36616 - 11904: 0xE07A, - 36617 - 11904: 0xB8FC, - 36618 - 11904: 0xB8FE, - 36619 - 11904: 0xE07C, - 36621 - 11904: 0xE467, - 36622 - 11904: 0xE466, - 36624 - 11904: 0xE464, - 36625 - 11904: 0xE465, - 36626 - 11904: 0xBBB3, - 36627 - 11904: 0xBBB5, - 36628 - 11904: 0xBBB2, - 36629 - 11904: 0xBBB4, - 36630 - 11904: 0xE84D, - 36631 - 11904: 0xE84E, - 36632 - 11904: 0xE849, - 36633 - 11904: 0x904C, - 36634 - 11904: 0xE84A, - 36635 - 11904: 0xBDF8, - 36636 - 11904: 0xBDFD, - 36637 - 11904: 0xBDF7, - 36638 - 11904: 0xBDFE, - 36639 - 11904: 0xBDF9, - 36640 - 11904: 0xE84B, - 36643 - 11904: 0xE84C, - 36644 - 11904: 0xE848, - 36645 - 11904: 0xBE40, - 36646 - 11904: 0xBDFB, - 36649 - 11904: 0xBDFA, - 36650 - 11904: 0xBDFC, - 36652 - 11904: 0xE847, - 36653 - 11904: 0x904D, - 36654 - 11904: 0xEBCA, - 36655 - 11904: 0xBFE8, - 36656 - 11904: 0x95CB, - 36658 - 11904: 0xEBCC, - 36659 - 11904: 0xBFEA, - 36660 - 11904: 0xEBCF, - 36661 - 11904: 0xEBCB, - 36662 - 11904: 0xEBC9, - 36663 - 11904: 0xEBCE, - 36664 - 11904: 0xBFE9, - 36665 - 11904: 0xEBCD, - 36667 - 11904: 0xBFE7, - 36670 - 11904: 0xC1D3, - 36671 - 11904: 0xC1D6, - 36672 - 11904: 0xEEC1, - 36673 - 11904: 0x97E2, - 36674 - 11904: 0xC1D4, - 36675 - 11904: 0xEEC0, - 36676 - 11904: 0xC1D2, - 36677 - 11904: 0xC1D5, - 36678 - 11904: 0xF146, - 36679 - 11904: 0xF147, - 36680 - 11904: 0xF148, - 36681 - 11904: 0xC2E0, - 36682 - 11904: 0x95CC, - 36683 - 11904: 0xF149, - 36685 - 11904: 0xC2E1, - 36686 - 11904: 0xC3E2, - 36687 - 11904: 0xF358, - 36688 - 11904: 0xF359, - 36689 - 11904: 0xF357, - 36690 - 11904: 0xF356, - 36691 - 11904: 0xF35A, - 36692 - 11904: 0xC3E1, - 36693 - 11904: 0xF4DD, - 36694 - 11904: 0xF4DB, - 36695 - 11904: 0xF4DC, - 36696 - 11904: 0xF4DE, - 36697 - 11904: 0xF4DA, - 36698 - 11904: 0xF4DF, - 36699 - 11904: 0xF658, - 36700 - 11904: 0x9F78, - 36701 - 11904: 0xF659, - 36702 - 11904: 0xF657, - 36703 - 11904: 0xC546, - 36704 - 11904: 0xF764, - 36705 - 11904: 0xC5AF, - 36706 - 11904: 0xF765, - 36707 - 11904: 0xF848, - 36708 - 11904: 0xF847, - 36710 - 11904: 0x897C, - 36711 - 11904: 0x897D, - 36718 - 11904: 0x897E, - 36755 - 11904: 0x995D, - 36763 - 11904: 0xA8AF, - 36764 - 11904: 0xB664, - 36767 - 11904: 0xB940, - 36768 - 11904: 0x9B5A, - 36771 - 11904: 0xBBB6, - 36773 - 11904: 0x9050, - 36774 - 11904: 0xBFEC, - 36775 - 11904: 0x8C4F, - 36776 - 11904: 0xBFEB, - 36781 - 11904: 0xC3E3, - 36782 - 11904: 0xC47C, - 36783 - 11904: 0xC547, - 36784 - 11904: 0xA8B0, - 36785 - 11904: 0xB064, - 36786 - 11904: 0xB941, - 36787 - 11904: 0x9054, - 36788 - 11904: 0xF35B, - 36789 - 11904: 0xC6D6, - 36790 - 11904: 0x9AA8, - 36791 - 11904: 0x99EF, - 36792 - 11904: 0xFEEB, - 36793 - 11904: 0x9DA3, - 36794 - 11904: 0x9DA1, - 36795 - 11904: 0x9943, - 36796 - 11904: 0x9945, - 36798 - 11904: 0x9D7D, - 36799 - 11904: 0xCBA6, - 36801 - 11904: 0x99F0, - 36802 - 11904: 0xA8B1, - 36804 - 11904: 0xA8B4, - 36805 - 11904: 0xA8B3, - 36806 - 11904: 0xA8B2, - 36809 - 11904: 0xCBA5, - 36810 - 11904: 0x99F1, - 36811 - 11904: 0xCDCD, - 36812 - 11904: 0x99F2, - 36813 - 11904: 0xCDCF, - 36814 - 11904: 0xAAEF, - 36815 - 11904: 0x8CBC, - 36816 - 11904: 0x9D60, - 36817 - 11904: 0xAAF1, - 36818 - 11904: 0xCDCC, - 36819 - 11904: 0xCDCE, - 36820 - 11904: 0xAAF0, - 36821 - 11904: 0xCDD1, - 36822 - 11904: 0xCDD0, - 36823 - 11904: 0xCDD2, - 36826 - 11904: 0xA0A3, - 36832 - 11904: 0xD0B6, - 36833 - 11904: 0xD0B4, - 36834 - 11904: 0xAD7C, - 36835 - 11904: 0xD0B3, - 36836 - 11904: 0xADA3, - 36837 - 11904: 0xAD7E, - 36838 - 11904: 0xAD7B, - 36840 - 11904: 0xADA4, - 36842 - 11904: 0xAD7D, - 36843 - 11904: 0xADA2, - 36845 - 11904: 0xADA1, - 36846 - 11904: 0xD0B5, - 36848 - 11904: 0xAD7A, - 36852 - 11904: 0xB06A, - 36853 - 11904: 0xD3EB, - 36854 - 11904: 0xD3F1, - 36855 - 11904: 0xB067, - 36856 - 11904: 0xB06E, - 36857 - 11904: 0x905B, - 36858 - 11904: 0xB069, - 36859 - 11904: 0xD3EE, - 36860 - 11904: 0xD3F0, - 36861 - 11904: 0xB06C, - 36862 - 11904: 0xD3EA, - 36863 - 11904: 0xD3ED, - 36864 - 11904: 0xB068, - 36865 - 11904: 0xB065, - 36866 - 11904: 0xD3EC, - 36867 - 11904: 0xB06B, - 36868 - 11904: 0xD3EF, - 36869 - 11904: 0xB06D, - 36870 - 11904: 0xB066, - 36872 - 11904: 0x9EDB, - 36875 - 11904: 0xD7E3, - 36876 - 11904: 0xD7E6, - 36877 - 11904: 0xB370, - 36879 - 11904: 0xB37A, - 36880 - 11904: 0xB376, - 36881 - 11904: 0xD7E4, - 36882 - 11904: 0x9D79, - 36884 - 11904: 0xB37E, - 36885 - 11904: 0xB377, - 36886 - 11904: 0xB37C, - 36887 - 11904: 0xB372, - 36889 - 11904: 0xB36F, - 36890 - 11904: 0xB371, - 36891 - 11904: 0xB37D, - 36892 - 11904: 0xD7E5, - 36893 - 11904: 0xB375, - 36894 - 11904: 0xB378, - 36895 - 11904: 0xB374, - 36896 - 11904: 0xB379, - 36897 - 11904: 0xD7E7, - 36898 - 11904: 0xB37B, - 36899 - 11904: 0xB373, - 36900 - 11904: 0xD7E2, - 36909 - 11904: 0xDC4D, - 36910 - 11904: 0xB665, - 36911 - 11904: 0xDC4F, - 36913 - 11904: 0xB667, - 36914 - 11904: 0xB669, - 36915 - 11904: 0x99F3, - 36916 - 11904: 0xDC4E, - 36917 - 11904: 0xB666, - 36918 - 11904: 0xB66A, - 36919 - 11904: 0x9062, - 36920 - 11904: 0xB668, - 36924 - 11904: 0xB947, - 36925 - 11904: 0xE0A3, - 36926 - 11904: 0xB94F, - 36927 - 11904: 0xE07E, - 36929 - 11904: 0xB950, - 36930 - 11904: 0xB945, - 36932 - 11904: 0xE0A1, - 36934 - 11904: 0x87BD, - 36935 - 11904: 0xB94A, - 36937 - 11904: 0xE0A2, - 36938 - 11904: 0xB943, - 36939 - 11904: 0xB942, - 36940 - 11904: 0x9F55, - 36941 - 11904: 0xB94D, - 36942 - 11904: 0xB94C, - 36943 - 11904: 0xB94B, - 36944 - 11904: 0xB949, - 36945 - 11904: 0xB94E, - 36946 - 11904: 0xE07D, - 36947 - 11904: 0xB944, - 36948 - 11904: 0xB946, - 36949 - 11904: 0xB948, - 36950 - 11904: 0x9BF9, - 36952 - 11904: 0xBBB8, - 36953 - 11904: 0xBBBB, - 36955 - 11904: 0xBBBF, - 36956 - 11904: 0xBBB9, - 36957 - 11904: 0xBBBE, - 36958 - 11904: 0xBBBC, - 36960 - 11904: 0xBBB7, - 36961 - 11904: 0x9065, - 36962 - 11904: 0xBBBD, - 36963 - 11904: 0xBBBA, - 36964 - 11904: 0x96E0, - 36967 - 11904: 0xE852, - 36968 - 11904: 0xBE43, - 36969 - 11904: 0xBE41, - 36971 - 11904: 0xE853, - 36972 - 11904: 0x98BE, - 36973 - 11904: 0xBE44, - 36974 - 11904: 0xBE42, - 36975 - 11904: 0xE851, - 36976 - 11904: 0xE850, - 36978 - 11904: 0xBFF0, - 36979 - 11904: 0xE84F, - 36980 - 11904: 0xBFEE, - 36981 - 11904: 0xBFED, - 36982 - 11904: 0xEBD0, - 36983 - 11904: 0xBE45, - 36984 - 11904: 0xBFEF, - 36985 - 11904: 0xEBD1, - 36986 - 11904: 0xBFF2, - 36987 - 11904: 0xEBD2, - 36988 - 11904: 0xBFF1, - 36989 - 11904: 0xC1D8, - 36990 - 11904: 0xEEC3, - 36991 - 11904: 0xC1D7, - 36992 - 11904: 0xC1DC, - 36993 - 11904: 0xC1DA, - 36994 - 11904: 0xC1DB, - 36995 - 11904: 0xC2E3, - 36996 - 11904: 0xC1D9, - 36997 - 11904: 0xEEC2, - 36998 - 11904: 0xEBD3, - 36999 - 11904: 0xC2E2, - 37000 - 11904: 0xC2E4, - 37002 - 11904: 0xC3E4, - 37003 - 11904: 0xC3E5, - 37005 - 11904: 0xF4E0, - 37007 - 11904: 0xC5DE, - 37008 - 11904: 0xC5DD, - 37009 - 11904: 0xA8B6, - 37012 - 11904: 0xCA55, - 37013 - 11904: 0xB06F, - 37015 - 11904: 0xCA52, - 37016 - 11904: 0xCA53, - 37017 - 11904: 0xCA51, - 37019 - 11904: 0xCA54, - 37022 - 11904: 0xCBAA, - 37023 - 11904: 0xCBA7, - 37024 - 11904: 0xCBAC, - 37025 - 11904: 0xCBA8, - 37026 - 11904: 0xA8B7, - 37027 - 11904: 0xA8BA, - 37029 - 11904: 0xCBA9, - 37030 - 11904: 0xA8B9, - 37031 - 11904: 0xCBAB, - 37032 - 11904: 0x9068, - 37034 - 11904: 0xA8B8, - 37038 - 11904: 0x906C, - 37039 - 11904: 0xCDD5, - 37040 - 11904: 0xCDD7, - 37041 - 11904: 0xAAF4, - 37042 - 11904: 0xCDD3, - 37043 - 11904: 0xCDD6, - 37044 - 11904: 0xCDD4, - 37045 - 11904: 0xAAF2, - 37046 - 11904: 0xAAF5, - 37048 - 11904: 0xAAF3, - 37051 - 11904: 0x95D8, - 37053 - 11904: 0xD0B8, - 37054 - 11904: 0xD0BC, - 37055 - 11904: 0xD0B9, - 37057 - 11904: 0xADA7, - 37059 - 11904: 0xADA8, - 37060 - 11904: 0x906A, - 37061 - 11904: 0xD0BB, - 37063 - 11904: 0xD0BD, - 37064 - 11904: 0xD0BF, - 37066 - 11904: 0xADA5, - 37067 - 11904: 0xD0BE, - 37070 - 11904: 0xADA6, - 37076 - 11904: 0xD7EE, - 37077 - 11904: 0xD0BA, - 37078 - 11904: 0xD3F2, - 37079 - 11904: 0xD3FB, - 37080 - 11904: 0xD3F9, - 37081 - 11904: 0xD3F4, - 37082 - 11904: 0xD3F5, - 37083 - 11904: 0xD3FA, - 37084 - 11904: 0xD3FC, - 37085 - 11904: 0xB071, - 37087 - 11904: 0xD3F7, - 37088 - 11904: 0xD3F3, - 37089 - 11904: 0xB070, - 37090 - 11904: 0xB072, - 37091 - 11904: 0xD3F6, - 37092 - 11904: 0xD3FD, - 37093 - 11904: 0xD3F8, - 37096 - 11904: 0xB3A1, - 37097 - 11904: 0xD7F1, - 37098 - 11904: 0xD7E9, - 37099 - 11904: 0xD7EF, - 37100 - 11904: 0xD7F0, - 37101 - 11904: 0xB3A2, - 37103 - 11904: 0xD7E8, - 37104 - 11904: 0xD7EA, - 37105 - 11904: 0xD0B7, - 37106 - 11904: 0xD7EC, - 37107 - 11904: 0xD7ED, - 37108 - 11904: 0xD7EB, - 37109 - 11904: 0xB66C, - 37113 - 11904: 0xDC56, - 37114 - 11904: 0xEBD4, - 37115 - 11904: 0xDC57, - 37116 - 11904: 0xDC54, - 37117 - 11904: 0xB3A3, - 37118 - 11904: 0xB66E, - 37119 - 11904: 0xDC53, - 37120 - 11904: 0xDC59, - 37121 - 11904: 0xDC58, - 37122 - 11904: 0xB66B, - 37123 - 11904: 0xDC5C, - 37124 - 11904: 0xDC52, - 37125 - 11904: 0xDC5B, - 37126 - 11904: 0xDC50, - 37127 - 11904: 0xDC5A, - 37128 - 11904: 0xDC55, - 37129 - 11904: 0xB66D, - 37131 - 11904: 0xE0AA, - 37133 - 11904: 0xE0A5, - 37134 - 11904: 0xE0AB, - 37135 - 11904: 0xE0A6, - 37136 - 11904: 0xE0A4, - 37137 - 11904: 0xE0A7, - 37138 - 11904: 0xB951, - 37140 - 11904: 0xE0A9, - 37142 - 11904: 0xE0A8, - 37143 - 11904: 0xB952, - 37144 - 11904: 0xBBC1, - 37145 - 11904: 0xBBC0, - 37146 - 11904: 0xE46E, - 37147 - 11904: 0xE471, - 37148 - 11904: 0xE469, - 37149 - 11904: 0xE46D, - 37150 - 11904: 0xBBC2, - 37151 - 11904: 0xE46C, - 37152 - 11904: 0xE46A, - 37153 - 11904: 0xE470, - 37154 - 11904: 0xE46B, - 37155 - 11904: 0xE468, - 37156 - 11904: 0xE46F, - 37158 - 11904: 0xE859, - 37159 - 11904: 0xBE48, - 37160 - 11904: 0xF14A, - 37161 - 11904: 0xE856, - 37162 - 11904: 0xE857, - 37163 - 11904: 0xE855, - 37164 - 11904: 0xDC51, - 37165 - 11904: 0xBE47, - 37166 - 11904: 0xE85A, - 37167 - 11904: 0xE854, - 37168 - 11904: 0xBE46, - 37169 - 11904: 0xBE49, - 37170 - 11904: 0xE858, - 37171 - 11904: 0xEBD5, - 37172 - 11904: 0xBFF3, - 37173 - 11904: 0xEBD6, - 37174 - 11904: 0xEBD7, - 37176 - 11904: 0xEEC4, - 37177 - 11904: 0xC1DD, - 37178 - 11904: 0xF14B, - 37179 - 11904: 0xF14C, - 37182 - 11904: 0xF14D, - 37183 - 11904: 0xF35D, - 37184 - 11904: 0xF35C, - 37185 - 11904: 0xF4E2, - 37187 - 11904: 0xF4E1, - 37188 - 11904: 0xF65B, - 37189 - 11904: 0xF65C, - 37190 - 11904: 0xF65A, - 37191 - 11904: 0xF766, - 37192 - 11904: 0xC5B0, - 37193 - 11904: 0xA8BB, - 37194 - 11904: 0xADAA, - 37195 - 11904: 0xADA9, - 37196 - 11904: 0xB075, - 37197 - 11904: 0xB074, - 37198 - 11904: 0xD440, - 37199 - 11904: 0xD441, - 37200 - 11904: 0xD3FE, - 37201 - 11904: 0x9FB2, - 37202 - 11904: 0xB073, - 37203 - 11904: 0xD7F5, - 37205 - 11904: 0xD7F6, - 37206 - 11904: 0xD7F2, - 37207 - 11904: 0xB3A4, - 37208 - 11904: 0xD7F3, - 37209 - 11904: 0x9FAE, - 37210 - 11904: 0xD7F4, - 37212 - 11904: 0x9FB0, - 37214 - 11904: 0x89AD, - 37215 - 11904: 0xDC5F, - 37216 - 11904: 0xDC61, - 37217 - 11904: 0xDC5D, - 37218 - 11904: 0xDC60, - 37219 - 11904: 0xB66F, - 37220 - 11904: 0xDC5E, - 37221 - 11904: 0xB670, - 37223 - 11904: 0x906E, - 37224 - 11904: 0xDD73, - 37225 - 11904: 0xB955, - 37226 - 11904: 0xB954, - 37228 - 11904: 0xB953, - 37230 - 11904: 0xE0AC, - 37231 - 11904: 0xE0AD, - 37232 - 11904: 0x9E71, - 37234 - 11904: 0xE473, - 37235 - 11904: 0xE475, - 37236 - 11904: 0xBBC6, - 37237 - 11904: 0xBBC3, - 37238 - 11904: 0x9E4A, - 37239 - 11904: 0xBBC5, - 37240 - 11904: 0xBBC4, - 37241 - 11904: 0xE474, - 37242 - 11904: 0xE472, - 37244 - 11904: 0x9FDC, - 37248 - 11904: 0xE861, - 37249 - 11904: 0xE85E, - 37250 - 11904: 0xE85F, - 37251 - 11904: 0xBE4D, - 37252 - 11904: 0xE860, - 37253 - 11904: 0xE85B, - 37254 - 11904: 0xE85C, - 37255 - 11904: 0xBE4A, - 37257 - 11904: 0xBE4B, - 37258 - 11904: 0xE85D, - 37259 - 11904: 0xBE4C, - 37260 - 11904: 0x89AB, - 37261 - 11904: 0xEBDB, - 37262 - 11904: 0x9FB8, - 37263 - 11904: 0xEBDC, - 37264 - 11904: 0xEBD9, - 37265 - 11904: 0xEBDA, - 37266 - 11904: 0xBFF4, - 37267 - 11904: 0xEBD8, - 37273 - 11904: 0xEEC8, - 37274 - 11904: 0xEEC5, - 37275 - 11904: 0xEEC7, - 37276 - 11904: 0xC1E0, - 37277 - 11904: 0xEECB, - 37278 - 11904: 0xC1DF, - 37279 - 11904: 0xEEC9, - 37280 - 11904: 0xEECC, - 37281 - 11904: 0xEECA, - 37282 - 11904: 0xEEC6, - 37283 - 11904: 0xC1DE, - 37285 - 11904: 0xF14F, - 37287 - 11904: 0xF150, - 37288 - 11904: 0xF14E, - 37289 - 11904: 0x9070, - 37290 - 11904: 0xF152, - 37291 - 11904: 0xC2E5, - 37292 - 11904: 0xC2E6, - 37293 - 11904: 0xF35F, - 37294 - 11904: 0xC3E7, - 37295 - 11904: 0xF151, - 37296 - 11904: 0xF35E, - 37297 - 11904: 0xC3E6, - 37298 - 11904: 0xF4E5, - 37299 - 11904: 0xF4E6, - 37300 - 11904: 0xC4BF, - 37301 - 11904: 0xF4E4, - 37302 - 11904: 0x8B63, - 37303 - 11904: 0xF4E3, - 37305 - 11904: 0xF65D, - 37306 - 11904: 0xC548, - 37307 - 11904: 0x95DC, - 37308 - 11904: 0xF849, - 37309 - 11904: 0xF8C8, - 37310 - 11904: 0xF8C7, - 37312 - 11904: 0xC643, - 37313 - 11904: 0xC65D, - 37314 - 11904: 0xF8C9, - 37315 - 11904: 0xF971, - 37316 - 11904: 0x9071, - 37317 - 11904: 0xC66F, - 37318 - 11904: 0xA8BC, - 37319 - 11904: 0xAAF6, - 37321 - 11904: 0xB956, - 37323 - 11904: 0xC4C0, - 37324 - 11904: 0xA8BD, - 37325 - 11904: 0xADAB, - 37326 - 11904: 0xB3A5, - 37327 - 11904: 0xB671, - 37328 - 11904: 0xC2E7, - 37329 - 11904: 0xAAF7, - 37331 - 11904: 0xD0C1, - 37332 - 11904: 0xD0C0, - 37333 - 11904: 0xD442, - 37334 - 11904: 0xFC5E, - 37335 - 11904: 0xB078, - 37336 - 11904: 0xB076, - 37337 - 11904: 0xB07A, - 37338 - 11904: 0xD444, - 37340 - 11904: 0xB079, - 37341 - 11904: 0xB077, - 37343 - 11904: 0x8949, - 37346 - 11904: 0xD443, - 37347 - 11904: 0xB3A8, - 37348 - 11904: 0xD7FC, - 37349 - 11904: 0x965B, - 37350 - 11904: 0xB3A7, - 37351 - 11904: 0xB3A9, - 37352 - 11904: 0xD842, - 37353 - 11904: 0xB3AB, - 37354 - 11904: 0xD7FE, - 37355 - 11904: 0xD840, - 37356 - 11904: 0xD7F7, - 37357 - 11904: 0xB3AA, - 37358 - 11904: 0xD843, - 37361 - 11904: 0xD7F9, - 37363 - 11904: 0xD7FA, - 37364 - 11904: 0xD7F8, - 37365 - 11904: 0xB3A6, - 37366 - 11904: 0x8C50, - 37367 - 11904: 0xD841, - 37368 - 11904: 0xD7FB, - 37369 - 11904: 0xD7FD, - 37370 - 11904: 0x94A6, - 37373 - 11904: 0xDC6D, - 37374 - 11904: 0x8FD5, - 37375 - 11904: 0xDC6C, - 37376 - 11904: 0xDC6A, - 37377 - 11904: 0xDC62, - 37378 - 11904: 0xDC71, - 37379 - 11904: 0xDC65, - 37380 - 11904: 0xDC6F, - 37381 - 11904: 0xDC76, - 37382 - 11904: 0xDC6E, - 37383 - 11904: 0xB679, - 37384 - 11904: 0x9E73, - 37385 - 11904: 0xB675, - 37386 - 11904: 0xDC63, - 37388 - 11904: 0xDC69, - 37389 - 11904: 0xB677, - 37390 - 11904: 0x9075, - 37391 - 11904: 0xDC68, - 37392 - 11904: 0xB678, - 37393 - 11904: 0xB67A, - 37394 - 11904: 0xDC6B, - 37395 - 11904: 0x99F7, - 37396 - 11904: 0xB672, - 37397 - 11904: 0xB673, - 37398 - 11904: 0xDC77, - 37399 - 11904: 0xDC75, - 37400 - 11904: 0x87B2, - 37401 - 11904: 0xDC74, - 37402 - 11904: 0xDC66, - 37404 - 11904: 0xDC72, - 37406 - 11904: 0xB676, - 37409 - 11904: 0x8CBF, - 37411 - 11904: 0xB674, - 37412 - 11904: 0xDC73, - 37413 - 11904: 0xDC64, - 37414 - 11904: 0xDC67, - 37415 - 11904: 0xDC70, - 37416 - 11904: 0x99F9, - 37418 - 11904: 0x9663, - 37419 - 11904: 0x95B9, - 37421 - 11904: 0xE4BA, - 37422 - 11904: 0xE0B7, - 37424 - 11904: 0xE0B0, - 37425 - 11904: 0xE0C3, - 37426 - 11904: 0xE0CC, - 37427 - 11904: 0xE0B3, - 37428 - 11904: 0xB961, - 37429 - 11904: 0x94D4, - 37430 - 11904: 0xE0C0, - 37431 - 11904: 0xB957, - 37432 - 11904: 0xB959, - 37433 - 11904: 0xB965, - 37434 - 11904: 0xE0B1, - 37436 - 11904: 0xFCFA, - 37437 - 11904: 0xB95A, - 37438 - 11904: 0xB95C, - 37439 - 11904: 0xB966, - 37440 - 11904: 0xB95B, - 37441 - 11904: 0x9077, - 37444 - 11904: 0x90AB, - 37445 - 11904: 0xB964, - 37446 - 11904: 0xE0B9, - 37448 - 11904: 0xE0AE, - 37449 - 11904: 0xB962, - 37450 - 11904: 0xE0B8, - 37451 - 11904: 0xB95E, - 37452 - 11904: 0xE0CA, - 37453 - 11904: 0xB963, - 37454 - 11904: 0xE0C8, - 37455 - 11904: 0xE0BC, - 37456 - 11904: 0xE0C6, - 37457 - 11904: 0xB960, - 37458 - 11904: 0xE0AF, - 37459 - 11904: 0xE0C9, - 37460 - 11904: 0xE0C4, - 37461 - 11904: 0x9D4D, - 37462 - 11904: 0xE0CB, - 37463 - 11904: 0xB958, - 37464 - 11904: 0x99FA, - 37466 - 11904: 0xB967, - 37467 - 11904: 0xB95D, - 37469 - 11904: 0x92E3, - 37470 - 11904: 0xE0B5, - 37471 - 11904: 0x97BB, - 37472 - 11904: 0xE0BD, - 37473 - 11904: 0xE0C1, - 37474 - 11904: 0x9078, - 37475 - 11904: 0xE0C5, - 37476 - 11904: 0xB95F, - 37477 - 11904: 0xE0B4, - 37478 - 11904: 0xE0B2, - 37479 - 11904: 0xE0BE, - 37483 - 11904: 0x99FB, - 37484 - 11904: 0xE0BB, - 37485 - 11904: 0xE0BA, - 37486 - 11904: 0x97E0, - 37487 - 11904: 0xE0BF, - 37488 - 11904: 0xE0C2, - 37490 - 11904: 0xE0C7, - 37494 - 11904: 0xE478, - 37495 - 11904: 0x96DC, - 37496 - 11904: 0xBBC7, - 37497 - 11904: 0xE4A4, - 37498 - 11904: 0xE47A, - 37499 - 11904: 0xBBCC, - 37500 - 11904: 0xBBD0, - 37501 - 11904: 0xE4AD, - 37502 - 11904: 0xE4B5, - 37503 - 11904: 0xE4A6, - 37504 - 11904: 0xBBC8, - 37505 - 11904: 0x9CA8, - 37506 - 11904: 0xE4AA, - 37507 - 11904: 0xE0B6, - 37508 - 11904: 0x9772, - 37509 - 11904: 0xBBC9, - 37510 - 11904: 0xE4B1, - 37511 - 11904: 0xE4B6, - 37512 - 11904: 0xE4AE, - 37513 - 11904: 0x9440, - 37514 - 11904: 0xE4B0, - 37515 - 11904: 0xE4B9, - 37516 - 11904: 0xE4B2, - 37517 - 11904: 0xE47E, - 37518 - 11904: 0xE4A9, - 37519 - 11904: 0x92F2, - 37521 - 11904: 0xBBD1, - 37523 - 11904: 0xBBCD, - 37524 - 11904: 0xE47C, - 37525 - 11904: 0xE4AB, - 37526 - 11904: 0xBBCB, - 37527 - 11904: 0xE4A5, - 37528 - 11904: 0xBBCA, - 37529 - 11904: 0xE4B3, - 37530 - 11904: 0xE4A2, - 37531 - 11904: 0xE479, - 37532 - 11904: 0xBBCE, - 37533 - 11904: 0xE4B8, - 37536 - 11904: 0xE47B, - 37537 - 11904: 0xE4AF, - 37538 - 11904: 0xE4AC, - 37539 - 11904: 0xE4A7, - 37540 - 11904: 0xE477, - 37541 - 11904: 0xE476, - 37542 - 11904: 0xE4A1, - 37543 - 11904: 0xE4B4, - 37544 - 11904: 0xBBCF, - 37545 - 11904: 0xE4B7, - 37546 - 11904: 0xE47D, - 37547 - 11904: 0xE4A3, - 37548 - 11904: 0xBE52, - 37550 - 11904: 0x99FD, - 37553 - 11904: 0x99FC, - 37554 - 11904: 0xBE5A, - 37555 - 11904: 0xBE55, - 37556 - 11904: 0xE8A4, - 37557 - 11904: 0xE8A1, - 37558 - 11904: 0xE867, - 37559 - 11904: 0xBE50, - 37561 - 11904: 0xF9D7, - 37562 - 11904: 0x964A, - 37563 - 11904: 0xBE4F, - 37564 - 11904: 0xBE56, - 37566 - 11904: 0x96D8, - 37567 - 11904: 0x99FE, - 37568 - 11904: 0xE865, - 37569 - 11904: 0xBE54, - 37570 - 11904: 0xE871, - 37571 - 11904: 0xE863, - 37572 - 11904: 0xE864, - 37573 - 11904: 0xBE4E, - 37574 - 11904: 0xE8A3, - 37575 - 11904: 0xBE58, - 37576 - 11904: 0xE874, - 37577 - 11904: 0xE879, - 37578 - 11904: 0xE873, - 37579 - 11904: 0xEBEE, - 37580 - 11904: 0xE86F, - 37581 - 11904: 0xE877, - 37582 - 11904: 0xE875, - 37583 - 11904: 0xE868, - 37584 - 11904: 0xE862, - 37585 - 11904: 0xE87D, - 37586 - 11904: 0xBE57, - 37587 - 11904: 0xE87E, - 37588 - 11904: 0x904B, - 37589 - 11904: 0xE878, - 37591 - 11904: 0xE86D, - 37592 - 11904: 0xE86B, - 37593 - 11904: 0xE866, - 37595 - 11904: 0xFA41, - 37597 - 11904: 0xE86E, - 37598 - 11904: 0xE87B, - 37599 - 11904: 0xE86A, - 37600 - 11904: 0xE87A, - 37601 - 11904: 0xE8A2, - 37603 - 11904: 0x9A40, - 37604 - 11904: 0xBE53, - 37605 - 11904: 0x975B, - 37606 - 11904: 0xE876, - 37607 - 11904: 0xE87C, - 37608 - 11904: 0xE872, - 37609 - 11904: 0xE86C, - 37610 - 11904: 0xBE51, - 37611 - 11904: 0x9A41, - 37612 - 11904: 0x91DD, - 37614 - 11904: 0xE4A8, - 37615 - 11904: 0xE870, - 37616 - 11904: 0xBE59, - 37617 - 11904: 0xE869, - 37618 - 11904: 0x93FC, - 37619 - 11904: 0x9A42, - 37620 - 11904: 0x9A43, - 37622 - 11904: 0x9659, - 37623 - 11904: 0xEBF4, - 37624 - 11904: 0xBFF7, - 37625 - 11904: 0xEBF3, - 37626 - 11904: 0xEBF0, - 37627 - 11904: 0xEC44, - 37628 - 11904: 0xBFFB, - 37629 - 11904: 0x9A44, - 37630 - 11904: 0xEC41, - 37631 - 11904: 0xEBF8, - 37632 - 11904: 0xEC43, - 37633 - 11904: 0xEBE9, - 37634 - 11904: 0xEBF6, - 37635 - 11904: 0x9051, - 37636 - 11904: 0xBFFD, - 37638 - 11904: 0xEBE1, - 37639 - 11904: 0x94BF, - 37640 - 11904: 0xEBDF, - 37641 - 11904: 0xEC42, - 37643 - 11904: 0xEC40, - 37644 - 11904: 0xEBFE, - 37645 - 11904: 0xEBED, - 37646 - 11904: 0xEBEC, - 37647 - 11904: 0xEBE2, - 37648 - 11904: 0xC040, - 37650 - 11904: 0xEBE8, - 37651 - 11904: 0xEBF2, - 37652 - 11904: 0xEBFD, - 37653 - 11904: 0xC043, - 37654 - 11904: 0xEC45, - 37656 - 11904: 0xC1E8, - 37657 - 11904: 0xC045, - 37658 - 11904: 0xBFFE, - 37659 - 11904: 0xEBE6, - 37661 - 11904: 0xEBEF, - 37662 - 11904: 0xEBDE, - 37663 - 11904: 0xEBE0, - 37664 - 11904: 0xBFF5, - 37665 - 11904: 0xC042, - 37666 - 11904: 0xBFFA, - 37667 - 11904: 0xEBE7, - 37668 - 11904: 0xEBF7, - 37669 - 11904: 0xEBF1, - 37670 - 11904: 0xC041, - 37671 - 11904: 0xEBDD, - 37672 - 11904: 0xC1E3, - 37673 - 11904: 0xEBF9, - 37674 - 11904: 0xEBFC, - 37675 - 11904: 0xBFFC, - 37676 - 11904: 0x90A2, - 37677 - 11904: 0xEBEB, - 37678 - 11904: 0xC044, - 37679 - 11904: 0xBFF9, - 37680 - 11904: 0x9CAB, - 37681 - 11904: 0x9776, - 37683 - 11904: 0xBFF8, - 37684 - 11904: 0xEBF5, - 37685 - 11904: 0xEBFB, - 37686 - 11904: 0xBFF6, - 37688 - 11904: 0xEBE4, - 37689 - 11904: 0xEBFA, - 37692 - 11904: 0xEBE5, - 37696 - 11904: 0xFC55, - 37697 - 11904: 0xFE45, - 37698 - 11904: 0x94A8, - 37699 - 11904: 0x9A45, - 37700 - 11904: 0xFA4B, - 37701 - 11904: 0x9DE1, - 37702 - 11904: 0xEBEA, - 37703 - 11904: 0xEED2, - 37704 - 11904: 0x96D9, - 37705 - 11904: 0xEED7, - 37706 - 11904: 0xC1E5, - 37707 - 11904: 0xC1E7, - 37708 - 11904: 0xEEDD, - 37709 - 11904: 0xC1E1, - 37710 - 11904: 0xEEEC, - 37711 - 11904: 0xEEE3, - 37712 - 11904: 0xEED8, - 37713 - 11904: 0xEED9, - 37714 - 11904: 0xEEE2, - 37716 - 11904: 0xC1EE, - 37717 - 11904: 0xEEE1, - 37718 - 11904: 0xEED1, - 37719 - 11904: 0xEEE0, - 37720 - 11904: 0xEED4, - 37721 - 11904: 0xEEED, - 37722 - 11904: 0xC1ED, - 37723 - 11904: 0xC1EB, - 37724 - 11904: 0xEED5, - 37726 - 11904: 0xEEE8, - 37727 - 11904: 0x9774, - 37728 - 11904: 0xEEDA, - 37729 - 11904: 0xEEE7, - 37730 - 11904: 0xFDF5, - 37731 - 11904: 0xEEE9, - 37732 - 11904: 0xEED0, - 37733 - 11904: 0xC1E6, - 37734 - 11904: 0x92E5, - 37735 - 11904: 0xEEEA, - 37736 - 11904: 0x9645, - 37737 - 11904: 0x91DA, - 37738 - 11904: 0xEEDE, - 37739 - 11904: 0x90A3, - 37740 - 11904: 0xC1EA, - 37741 - 11904: 0xEEDB, - 37742 - 11904: 0xA05F, - 37744 - 11904: 0xC1EC, - 37745 - 11904: 0xEEE4, - 37747 - 11904: 0x90AF, - 37748 - 11904: 0x97BF, - 37749 - 11904: 0xC1E4, - 37750 - 11904: 0xEED6, - 37751 - 11904: 0xEEE5, - 37752 - 11904: 0x914C, - 37753 - 11904: 0xEEDF, - 37754 - 11904: 0xEBE3, - 37755 - 11904: 0xEEE6, - 37756 - 11904: 0xEED3, - 37757 - 11904: 0x967A, - 37758 - 11904: 0xC1E9, - 37760 - 11904: 0xEEEB, - 37761 - 11904: 0x91DE, - 37762 - 11904: 0xC1E2, - 37763 - 11904: 0xEECE, - 37764 - 11904: 0x9A46, - 37765 - 11904: 0xFEB0, - 37766 - 11904: 0x9779, - 37767 - 11904: 0x946C, - 37768 - 11904: 0xF160, - 37769 - 11904: 0xF159, - 37770 - 11904: 0xC2E9, - 37772 - 11904: 0xF154, - 37773 - 11904: 0xF163, - 37774 - 11904: 0xF15B, - 37775 - 11904: 0xEEDC, - 37776 - 11904: 0x9858, - 37777 - 11904: 0xF165, - 37778 - 11904: 0xF155, - 37780 - 11904: 0xC2E8, - 37781 - 11904: 0xF15F, - 37782 - 11904: 0xC2EA, - 37783 - 11904: 0xC2F2, - 37784 - 11904: 0xC2F0, - 37785 - 11904: 0xF161, - 37786 - 11904: 0xC2F1, - 37787 - 11904: 0xF157, - 37788 - 11904: 0x9266, - 37789 - 11904: 0xF158, - 37790 - 11904: 0xF15D, - 37791 - 11904: 0xF162, - 37792 - 11904: 0x93FB, - 37793 - 11904: 0xEECD, - 37794 - 11904: 0xC2EB, - 37795 - 11904: 0xF16A, - 37796 - 11904: 0xF167, - 37797 - 11904: 0xF16B, - 37798 - 11904: 0xF15E, - 37799 - 11904: 0xF15A, - 37800 - 11904: 0xF168, - 37801 - 11904: 0xF36A, - 37802 - 11904: 0xF15C, - 37804 - 11904: 0xC2EE, - 37805 - 11904: 0x9A47, - 37806 - 11904: 0xC2ED, - 37807 - 11904: 0xEECF, - 37808 - 11904: 0xC2EF, - 37809 - 11904: 0xF164, - 37810 - 11904: 0xF166, - 37811 - 11904: 0xC2EC, - 37812 - 11904: 0xF169, - 37813 - 11904: 0xF153, - 37815 - 11904: 0xF156, - 37816 - 11904: 0x9749, - 37819 - 11904: 0x9748, - 37821 - 11904: 0x934A, - 37823 - 11904: 0x9CE2, - 37824 - 11904: 0xF373, - 37826 - 11904: 0xF363, - 37827 - 11904: 0xC3EB, - 37828 - 11904: 0xF371, - 37830 - 11904: 0x9264, - 37831 - 11904: 0xF361, - 37832 - 11904: 0xC3EC, - 37834 - 11904: 0xF36C, - 37835 - 11904: 0x91DF, - 37836 - 11904: 0xF368, - 37837 - 11904: 0xC3F1, - 37838 - 11904: 0xF372, - 37839 - 11904: 0xF362, - 37840 - 11904: 0xF365, - 37841 - 11904: 0xC3E9, - 37842 - 11904: 0xF374, - 37843 - 11904: 0xFB79, - 37844 - 11904: 0xF36D, - 37845 - 11904: 0xF370, - 37846 - 11904: 0xC3EF, - 37847 - 11904: 0xC3F4, - 37848 - 11904: 0xC3F2, - 37849 - 11904: 0xF369, - 37850 - 11904: 0xF364, - 37851 - 11904: 0x96D7, - 37852 - 11904: 0xC3ED, - 37853 - 11904: 0xC3EE, - 37854 - 11904: 0xF360, - 37855 - 11904: 0xC3EA, - 37856 - 11904: 0x9343, - 37857 - 11904: 0xC3E8, - 37858 - 11904: 0xC3F0, - 37859 - 11904: 0xF36F, - 37860 - 11904: 0xC3F3, - 37862 - 11904: 0xF36B, - 37863 - 11904: 0xF375, - 37864 - 11904: 0xC3F5, - 37868 - 11904: 0xF367, - 37870 - 11904: 0xF36E, - 37872 - 11904: 0xFDCB, - 37873 - 11904: 0xFE7A, - 37875 - 11904: 0x91DB, - 37876 - 11904: 0x8C6A, - 37877 - 11904: 0xF4F3, - 37878 - 11904: 0xF542, - 37879 - 11904: 0xF4F5, - 37880 - 11904: 0xF4FC, - 37881 - 11904: 0xF366, - 37882 - 11904: 0xF4FA, - 37883 - 11904: 0xF4E9, - 37884 - 11904: 0xF540, - 37885 - 11904: 0xC4C3, - 37886 - 11904: 0xF4ED, - 37887 - 11904: 0xF4FE, - 37888 - 11904: 0xF4F4, - 37889 - 11904: 0x97AF, - 37891 - 11904: 0xC4C2, - 37892 - 11904: 0x95DD, - 37894 - 11904: 0xF544, - 37895 - 11904: 0xF4F6, - 37896 - 11904: 0x9348, - 37897 - 11904: 0xF4FB, - 37898 - 11904: 0xF4FD, - 37899 - 11904: 0xF4E7, - 37900 - 11904: 0xF541, - 37901 - 11904: 0xF4F2, - 37902 - 11904: 0xF4F7, - 37903 - 11904: 0xF4EB, - 37904 - 11904: 0xF4EF, - 37905 - 11904: 0xF543, - 37906 - 11904: 0xF4F9, - 37907 - 11904: 0xF4E8, - 37908 - 11904: 0xF4EC, - 37909 - 11904: 0xF4EE, - 37910 - 11904: 0xF4F8, - 37911 - 11904: 0x9A4B, - 37912 - 11904: 0xC4C1, - 37913 - 11904: 0xF4F1, - 37915 - 11904: 0xFC45, - 37917 - 11904: 0x9A4D, - 37920 - 11904: 0xF4EA, - 37924 - 11904: 0x91BC, - 37925 - 11904: 0x90E2, - 37926 - 11904: 0x90B4, - 37927 - 11904: 0x95E1, - 37928 - 11904: 0xF4F0, - 37929 - 11904: 0xF661, - 37930 - 11904: 0xF666, - 37931 - 11904: 0xC54F, - 37932 - 11904: 0xF668, - 37933 - 11904: 0x9A4E, - 37934 - 11904: 0xC549, - 37935 - 11904: 0x87AD, - 37936 - 11904: 0xF664, - 37937 - 11904: 0xF66A, - 37938 - 11904: 0xC54E, - 37939 - 11904: 0xC54A, - 37941 - 11904: 0xC54B, - 37942 - 11904: 0xF660, - 37943 - 11904: 0xF667, - 37944 - 11904: 0xC54D, - 37945 - 11904: 0xF665, - 37946 - 11904: 0xC54C, - 37947 - 11904: 0xF65F, - 37948 - 11904: 0xF663, - 37949 - 11904: 0xF662, - 37950 - 11904: 0x9A4F, - 37951 - 11904: 0xF65E, - 37952 - 11904: 0xF669, - 37954 - 11904: 0xFE40, - 37955 - 11904: 0xFE43, - 37956 - 11904: 0xC5B1, - 37957 - 11904: 0xF76D, - 37958 - 11904: 0xF770, - 37959 - 11904: 0xF76C, - 37960 - 11904: 0xF76E, - 37961 - 11904: 0xF76F, - 37962 - 11904: 0xF769, - 37963 - 11904: 0xF76A, - 37964 - 11904: 0xF767, - 37965 - 11904: 0x96DD, - 37967 - 11904: 0xF76B, - 37968 - 11904: 0xF768, - 37969 - 11904: 0xC5B2, - 37970 - 11904: 0xC5B3, - 37972 - 11904: 0x9A51, - 37973 - 11904: 0xF84B, - 37975 - 11904: 0xF84D, - 37976 - 11904: 0x96A7, - 37979 - 11904: 0x90B0, - 37981 - 11904: 0xF84C, - 37982 - 11904: 0xF84E, - 37984 - 11904: 0xC5E0, - 37986 - 11904: 0xF84A, - 37987 - 11904: 0xC5DF, - 37988 - 11904: 0xC5E1, - 37989 - 11904: 0x9C4E, - 37991 - 11904: 0x9443, - 37992 - 11904: 0xF8CB, - 37993 - 11904: 0xF8CC, - 37994 - 11904: 0xC644, - 37995 - 11904: 0xF8CA, - 37996 - 11904: 0x8EBA, - 37997 - 11904: 0xF953, - 37998 - 11904: 0xF952, - 37999 - 11904: 0xF954, - 38000 - 11904: 0xC65F, - 38001 - 11904: 0xF955, - 38002 - 11904: 0xC65E, - 38003 - 11904: 0xF956, - 38004 - 11904: 0xF972, - 38005 - 11904: 0xF975, - 38006 - 11904: 0xF974, - 38007 - 11904: 0xC668, - 38008 - 11904: 0xF973, - 38009 - 11904: 0x9A52, - 38011 - 11904: 0xFCC1, - 38012 - 11904: 0xC672, - 38013 - 11904: 0xC670, - 38014 - 11904: 0xC671, - 38015 - 11904: 0xC677, - 38016 - 11904: 0xF9C0, - 38017 - 11904: 0xF9C1, - 38018 - 11904: 0xF9BF, - 38019 - 11904: 0xF9C9, - 38021 - 11904: 0x8BE9, - 38047 - 11904: 0x9CAF, - 38050 - 11904: 0x8BFD, - 38081 - 11904: 0x9ABC, - 38083 - 11904: 0x9AB8, - 38108 - 11904: 0x9AAE, - 38134 - 11904: 0x9AA7, - 38189 - 11904: 0x9A53, - 38215 - 11904: 0x9D74, - 38263 - 11904: 0xAAF8, - 38264 - 11904: 0x8BEA, - 38266 - 11904: 0xD844, - 38267 - 11904: 0xDC78, - 38268 - 11904: 0xE8A5, - 38269 - 11904: 0xF376, - 38271 - 11904: 0x8BEB, - 38272 - 11904: 0xAAF9, - 38274 - 11904: 0xADAC, - 38275 - 11904: 0xB07B, - 38277 - 11904: 0x90B2, - 38278 - 11904: 0xD845, - 38280 - 11904: 0xD846, - 38281 - 11904: 0xB3AC, - 38283 - 11904: 0xB67D, - 38284 - 11904: 0xDC7A, - 38285 - 11904: 0xDC79, - 38286 - 11904: 0xB6A3, - 38287 - 11904: 0xB67C, - 38288 - 11904: 0xDC7B, - 38289 - 11904: 0xB67E, - 38290 - 11904: 0xB6A2, - 38291 - 11904: 0xB6A1, - 38292 - 11904: 0xB67B, - 38294 - 11904: 0x95E9, - 38295 - 11904: 0x95E8, - 38296 - 11904: 0xB968, - 38297 - 11904: 0x95E6, - 38299 - 11904: 0xE0D0, - 38300 - 11904: 0xE0CE, - 38302 - 11904: 0xE0CF, - 38303 - 11904: 0xE0CD, - 38304 - 11904: 0x90B5, - 38305 - 11904: 0xBBD2, - 38306 - 11904: 0x9A54, - 38307 - 11904: 0xBBD5, - 38308 - 11904: 0xBBD7, - 38309 - 11904: 0xBBD6, - 38310 - 11904: 0x90B3, - 38311 - 11904: 0x95E7, - 38312 - 11904: 0xBBD3, - 38313 - 11904: 0xBBD4, - 38314 - 11904: 0x8B50, - 38315 - 11904: 0xE8A7, - 38316 - 11904: 0xE8A6, - 38317 - 11904: 0xBE5B, - 38318 - 11904: 0xE8A8, - 38320 - 11904: 0xE8A9, - 38321 - 11904: 0xBE5C, - 38325 - 11904: 0xEC4D, - 38326 - 11904: 0xEC4B, - 38327 - 11904: 0xEEF3, - 38329 - 11904: 0xEC49, - 38330 - 11904: 0xEC4A, - 38331 - 11904: 0xC046, - 38332 - 11904: 0xEC46, - 38333 - 11904: 0xEC4E, - 38334 - 11904: 0xEC48, - 38335 - 11904: 0xEC4C, - 38336 - 11904: 0xEEEF, - 38339 - 11904: 0xEEF1, - 38341 - 11904: 0xEEF2, - 38342 - 11904: 0xC1F3, - 38343 - 11904: 0xEEEE, - 38344 - 11904: 0xC1F2, - 38345 - 11904: 0xEEF0, - 38346 - 11904: 0xC1EF, - 38347 - 11904: 0xC1F0, - 38348 - 11904: 0xC1F1, - 38349 - 11904: 0xEC47, - 38352 - 11904: 0xC2F5, - 38353 - 11904: 0xF16E, - 38354 - 11904: 0xF16C, - 38355 - 11904: 0xF16D, - 38356 - 11904: 0xC2F3, - 38357 - 11904: 0xC2F6, - 38358 - 11904: 0xC2F4, - 38362 - 11904: 0xF377, - 38363 - 11904: 0xF378, - 38364 - 11904: 0xC3F6, - 38366 - 11904: 0xF545, - 38367 - 11904: 0xF547, - 38368 - 11904: 0xF546, - 38369 - 11904: 0xC4C4, - 38370 - 11904: 0xC550, - 38371 - 11904: 0xF66D, - 38372 - 11904: 0xF66C, - 38373 - 11904: 0xF66B, - 38376 - 11904: 0x8BEC, - 38388 - 11904: 0x9A56, - 38428 - 11904: 0xAAFA, - 38429 - 11904: 0x8BFB, - 38430 - 11904: 0xC9AA, - 38432 - 11904: 0xCA58, - 38433 - 11904: 0xA6E9, - 38434 - 11904: 0xCA56, - 38435 - 11904: 0xCA59, - 38436 - 11904: 0xCA57, - 38440 - 11904: 0xCBAE, - 38442 - 11904: 0xA8C1, - 38444 - 11904: 0xA8C2, - 38445 - 11904: 0xCBB0, - 38446 - 11904: 0xA8BF, - 38447 - 11904: 0xCBAF, - 38448 - 11904: 0xCBAD, - 38449 - 11904: 0xA8C0, - 38450 - 11904: 0xA8BE, - 38451 - 11904: 0x9A57, - 38456 - 11904: 0xA0AA, - 38457 - 11904: 0xCDD8, - 38458 - 11904: 0xCDDB, - 38459 - 11904: 0xAAFD, - 38460 - 11904: 0xCDDA, - 38461 - 11904: 0xCDD9, - 38463 - 11904: 0xAAFC, - 38464 - 11904: 0xAAFB, - 38465 - 11904: 0x9FA6, - 38466 - 11904: 0xAB40, - 38467 - 11904: 0xCDDC, - 38468 - 11904: 0xAAFE, - 38469 - 11904: 0x99CC, - 38474 - 11904: 0xD0C6, - 38475 - 11904: 0xADAE, - 38476 - 11904: 0xADAF, - 38477 - 11904: 0xADB0, - 38478 - 11904: 0xD0C7, - 38479 - 11904: 0xD0C3, - 38480 - 11904: 0xADAD, - 38481 - 11904: 0xD0C4, - 38483 - 11904: 0xD0C5, - 38484 - 11904: 0xD0C2, - 38486 - 11904: 0x9C59, - 38488 - 11904: 0xB0A4, - 38491 - 11904: 0xB0A1, - 38492 - 11904: 0xD445, - 38493 - 11904: 0xB0A2, - 38494 - 11904: 0xB0A5, - 38495 - 11904: 0xD446, - 38497 - 11904: 0xB07E, - 38498 - 11904: 0xB07C, - 38499 - 11904: 0xB07D, - 38500 - 11904: 0xB0A3, - 38505 - 11904: 0x99B5, - 38506 - 11904: 0xB3AD, - 38507 - 11904: 0xD849, - 38508 - 11904: 0xB3B5, - 38509 - 11904: 0xD848, - 38511 - 11904: 0xD84B, - 38512 - 11904: 0xB3B1, - 38513 - 11904: 0xD84A, - 38514 - 11904: 0xB6AB, - 38515 - 11904: 0xB3AF, - 38516 - 11904: 0xB3B2, - 38517 - 11904: 0xB3AE, - 38518 - 11904: 0xB3B3, - 38519 - 11904: 0xB3B4, - 38520 - 11904: 0xB3B0, - 38523 - 11904: 0x90BE, - 38524 - 11904: 0xD847, - 38525 - 11904: 0xB6A7, - 38526 - 11904: 0xDC7D, - 38528 - 11904: 0xDCA3, - 38529 - 11904: 0x9FAF, - 38531 - 11904: 0xDCA2, - 38532 - 11904: 0xB6AC, - 38533 - 11904: 0xB6A8, - 38534 - 11904: 0xB6A9, - 38535 - 11904: 0xDC7C, - 38536 - 11904: 0xDC7E, - 38537 - 11904: 0xDCA1, - 38538 - 11904: 0xB6A4, - 38539 - 11904: 0xB6A6, - 38541 - 11904: 0xB6AA, - 38542 - 11904: 0xB6A5, - 38543 - 11904: 0x95F2, - 38545 - 11904: 0xE0D3, - 38546 - 11904: 0xE0D1, - 38547 - 11904: 0xE0D2, - 38548 - 11904: 0xB96A, - 38549 - 11904: 0xB96B, - 38550 - 11904: 0x90BF, - 38551 - 11904: 0xE0D4, - 38552 - 11904: 0xB969, - 38553 - 11904: 0xBBD8, - 38555 - 11904: 0xBBDA, - 38556 - 11904: 0xBBD9, - 38558 - 11904: 0xE4BB, - 38561 - 11904: 0xE4BC, - 38562 - 11904: 0xE8AB, - 38563 - 11904: 0x90C1, - 38564 - 11904: 0xE8AA, - 38565 - 11904: 0xFEE4, - 38567 - 11904: 0xC047, - 38568 - 11904: 0xC048, - 38569 - 11904: 0xEC4F, - 38570 - 11904: 0xC049, - 38572 - 11904: 0xEEF6, - 38574 - 11904: 0xEEF4, - 38576 - 11904: 0xEEF5, - 38577 - 11904: 0xC1F4, - 38579 - 11904: 0xF16F, - 38580 - 11904: 0xC3F7, - 38582 - 11904: 0xC6D7, - 38584 - 11904: 0xC1F5, - 38585 - 11904: 0xAB41, - 38587 - 11904: 0xB0A6, - 38588 - 11904: 0xD447, - 38589 - 11904: 0x90C7, - 38591 - 11904: 0xD84C, - 38592 - 11904: 0xB3B6, - 38593 - 11904: 0xB6AD, - 38594 - 11904: 0xDCA4, - 38595 - 11904: 0xDCA6, - 38596 - 11904: 0xB6AF, - 38597 - 11904: 0xB6AE, - 38598 - 11904: 0xB6B0, - 38599 - 11904: 0xB6B1, - 38600 - 11904: 0xDCA5, - 38601 - 11904: 0xB96E, - 38602 - 11904: 0xB96F, - 38603 - 11904: 0xB96D, - 38604 - 11904: 0xBBDB, - 38605 - 11904: 0xB96C, - 38606 - 11904: 0xE0D5, - 38610 - 11904: 0xBBDC, - 38611 - 11904: 0xE8AC, - 38612 - 11904: 0xEC50, - 38613 - 11904: 0xC04A, - 38614 - 11904: 0xC1F6, - 38615 - 11904: 0xF170, - 38616 - 11904: 0xF174, - 38617 - 11904: 0xC2F9, - 38618 - 11904: 0xF171, - 38619 - 11904: 0xC2FA, - 38620 - 11904: 0xC2F8, - 38621 - 11904: 0xF175, - 38622 - 11904: 0xC2FB, - 38623 - 11904: 0xF173, - 38625 - 11904: 0xF379, - 38626 - 11904: 0xC2F7, - 38627 - 11904: 0xC3F8, - 38629 - 11904: 0xF8CD, - 38632 - 11904: 0xAB42, - 38633 - 11904: 0xB3B8, - 38634 - 11904: 0xB3B7, - 38639 - 11904: 0xB6B2, - 38640 - 11904: 0xDCA8, - 38641 - 11904: 0xDCA7, - 38642 - 11904: 0xB6B3, - 38644 - 11904: 0x92E4, - 38645 - 11904: 0xE0D9, - 38646 - 11904: 0xB973, - 38647 - 11904: 0xB970, - 38648 - 11904: 0xE0D8, - 38649 - 11904: 0xB972, - 38650 - 11904: 0xE0D6, - 38651 - 11904: 0xB971, - 38653 - 11904: 0xE0D7, - 38655 - 11904: 0xE4BD, - 38656 - 11904: 0xBBDD, - 38658 - 11904: 0xE8AF, - 38659 - 11904: 0x9F52, - 38660 - 11904: 0xBE5D, - 38661 - 11904: 0xE8AD, - 38662 - 11904: 0xBE5E, - 38663 - 11904: 0xBE5F, - 38664 - 11904: 0xE8AE, - 38665 - 11904: 0xBE60, - 38667 - 11904: 0xEC51, - 38669 - 11904: 0xC04E, - 38670 - 11904: 0xC04B, - 38671 - 11904: 0xC050, - 38672 - 11904: 0xEC53, - 38673 - 11904: 0xC04C, - 38674 - 11904: 0xEC52, - 38675 - 11904: 0xC04F, - 38678 - 11904: 0xC04D, - 38680 - 11904: 0xEEF9, - 38681 - 11904: 0xEEFB, - 38683 - 11904: 0x90DB, - 38684 - 11904: 0xC1F7, - 38685 - 11904: 0xEEFA, - 38686 - 11904: 0xC1F8, - 38687 - 11904: 0xEEF8, - 38688 - 11904: 0xEEF7, - 38689 - 11904: 0xA066, - 38690 - 11904: 0xF177, - 38691 - 11904: 0xF176, - 38692 - 11904: 0xC2FC, - 38693 - 11904: 0xF178, - 38694 - 11904: 0xF37E, - 38695 - 11904: 0xC3FA, - 38696 - 11904: 0xF37D, - 38697 - 11904: 0xF37A, - 38698 - 11904: 0xC3F9, - 38699 - 11904: 0xF37B, - 38700 - 11904: 0xF37C, - 38702 - 11904: 0xF548, - 38703 - 11904: 0xF549, - 38704 - 11904: 0xC4C5, - 38705 - 11904: 0x90D2, - 38706 - 11904: 0xC553, - 38708 - 11904: 0x876B, - 38709 - 11904: 0xF66E, - 38710 - 11904: 0x90D4, - 38712 - 11904: 0xC551, - 38713 - 11904: 0xC552, - 38714 - 11904: 0xF66F, - 38717 - 11904: 0xC5B4, - 38718 - 11904: 0xC5B5, - 38719 - 11904: 0xF771, - 38720 - 11904: 0x9A5B, - 38721 - 11904: 0x95FD, - 38722 - 11904: 0xC645, - 38723 - 11904: 0xF8CF, - 38724 - 11904: 0xC647, - 38726 - 11904: 0xF8CE, - 38727 - 11904: 0xF8D0, - 38728 - 11904: 0xC646, - 38729 - 11904: 0xF957, - 38730 - 11904: 0x87B1, - 38731 - 11904: 0xF9AD, - 38737 - 11904: 0x8BC4, - 38738 - 11904: 0xAB43, - 38741 - 11904: 0x8C66, - 38742 - 11904: 0xB974, - 38743 - 11904: 0x90DE, - 38744 - 11904: 0xE4BE, - 38746 - 11904: 0xE8B0, - 38747 - 11904: 0xC051, - 38748 - 11904: 0xC052, - 38749 - 11904: 0x9CE4, - 38750 - 11904: 0xAB44, - 38751 - 11904: 0x90E1, - 38752 - 11904: 0xBE61, - 38753 - 11904: 0xC3FB, - 38754 - 11904: 0xADB1, - 38758 - 11904: 0xC053, - 38760 - 11904: 0xC5E2, - 38761 - 11904: 0xADB2, - 38762 - 11904: 0xD84D, - 38764 - 11904: 0xDCA9, - 38765 - 11904: 0x9E46, - 38766 - 11904: 0xDCAB, - 38768 - 11904: 0xDCAA, - 38769 - 11904: 0x9651, - 38770 - 11904: 0xE0DD, - 38771 - 11904: 0xE0DA, - 38772 - 11904: 0xB975, - 38774 - 11904: 0xB976, - 38775 - 11904: 0xE0DB, - 38776 - 11904: 0xE0DC, - 38778 - 11904: 0xE4C0, - 38779 - 11904: 0xE4C5, - 38780 - 11904: 0xBBDE, - 38781 - 11904: 0xE4BF, - 38782 - 11904: 0xE4C1, - 38783 - 11904: 0xE4C8, - 38784 - 11904: 0xE4C3, - 38785 - 11904: 0xE4C7, - 38786 - 11904: 0xE4C4, - 38787 - 11904: 0xE4C2, - 38788 - 11904: 0xE4C6, - 38789 - 11904: 0xBBDF, - 38791 - 11904: 0xFB58, - 38792 - 11904: 0xE8B3, - 38793 - 11904: 0x90E6, - 38794 - 11904: 0xE8B1, - 38795 - 11904: 0xBE63, - 38797 - 11904: 0xBE62, - 38798 - 11904: 0xE8B2, - 38799 - 11904: 0xBE64, - 38804 - 11904: 0xEC56, - 38807 - 11904: 0xEC55, - 38808 - 11904: 0xC054, - 38809 - 11904: 0xEC54, - 38810 - 11904: 0xEEFC, - 38811 - 11904: 0x9650, - 38812 - 11904: 0xEEFE, - 38813 - 11904: 0xEF41, - 38814 - 11904: 0xEF40, - 38815 - 11904: 0x90E7, - 38816 - 11904: 0xC1F9, - 38817 - 11904: 0xEEFD, - 38818 - 11904: 0xF1A1, - 38819 - 11904: 0xC2FD, - 38820 - 11904: 0xF17D, - 38821 - 11904: 0xF1A2, - 38822 - 11904: 0xC2FE, - 38824 - 11904: 0xF17B, - 38826 - 11904: 0xF17E, - 38827 - 11904: 0xF17C, - 38828 - 11904: 0xF179, - 38829 - 11904: 0xC340, - 38830 - 11904: 0xF17A, - 38833 - 11904: 0x90E8, - 38834 - 11904: 0x9A5D, - 38835 - 11904: 0xF3A1, - 38836 - 11904: 0x9F7A, - 38838 - 11904: 0xF3A3, - 38839 - 11904: 0xF3A2, - 38840 - 11904: 0x9B5C, - 38841 - 11904: 0xF54A, - 38842 - 11904: 0x9F7C, - 38843 - 11904: 0xF54B, - 38845 - 11904: 0xFC52, - 38846 - 11904: 0x90E9, - 38847 - 11904: 0xF670, - 38848 - 11904: 0x90EA, - 38849 - 11904: 0xC5B7, - 38850 - 11904: 0x9A5E, - 38851 - 11904: 0xC5B6, - 38852 - 11904: 0xF84F, - 38853 - 11904: 0xF850, - 38854 - 11904: 0xC648, - 38855 - 11904: 0xF8D1, - 38856 - 11904: 0x9F76, - 38857 - 11904: 0xC669, - 38859 - 11904: 0xADB3, - 38860 - 11904: 0xB6B4, - 38861 - 11904: 0xE4CA, - 38862 - 11904: 0xE4C9, - 38863 - 11904: 0xE8B5, - 38864 - 11904: 0xE8B4, - 38866 - 11904: 0x90EB, - 38867 - 11904: 0xC1FA, - 38868 - 11904: 0xEF43, - 38869 - 11904: 0xEF42, - 38870 - 11904: 0xF1A5, - 38871 - 11904: 0xF1A3, - 38872 - 11904: 0xF1A6, - 38873 - 11904: 0xF1A4, - 38876 - 11904: 0xC3FC, - 38877 - 11904: 0xF3A4, - 38878 - 11904: 0xF3A5, - 38879 - 11904: 0xF3A6, - 38880 - 11904: 0x90EC, - 38881 - 11904: 0xF671, - 38883 - 11904: 0xF772, - 38885 - 11904: 0xF8D2, - 38886 - 11904: 0x8BEE, - 38893 - 11904: 0xADB4, - 38894 - 11904: 0x90EE, - 38896 - 11904: 0xEC57, - 38897 - 11904: 0xEF44, - 38898 - 11904: 0x91C6, - 38899 - 11904: 0xADB5, - 38901 - 11904: 0x90F2, - 38902 - 11904: 0xBBE0, - 38904 - 11904: 0xEC58, - 38905 - 11904: 0xC341, - 38906 - 11904: 0xF1A7, - 38907 - 11904: 0xC3FD, - 38909 - 11904: 0xF54C, - 38910 - 11904: 0xF54D, - 38911 - 11904: 0xC554, - 38912 - 11904: 0xF851, - 38913 - 11904: 0xADB6, - 38914 - 11904: 0xB3BB, - 38915 - 11904: 0xB3BC, - 38916 - 11904: 0xD84E, - 38917 - 11904: 0xB6B5, - 38918 - 11904: 0xB6B6, - 38919 - 11904: 0xDCAC, - 38920 - 11904: 0xB6B7, - 38922 - 11904: 0xB97A, - 38924 - 11904: 0xB97C, - 38925 - 11904: 0xE0DF, - 38926 - 11904: 0xE0E0, - 38927 - 11904: 0xE0DE, - 38928 - 11904: 0xB977, - 38929 - 11904: 0xB978, - 38930 - 11904: 0xB97B, - 38931 - 11904: 0xB979, - 38932 - 11904: 0xFCBC, - 38933 - 11904: 0x8A74, - 38934 - 11904: 0xE4CB, - 38935 - 11904: 0xBBE1, - 38936 - 11904: 0xBBE2, - 38939 - 11904: 0xE8BC, - 38940 - 11904: 0xBE67, - 38941 - 11904: 0xE8B7, - 38942 - 11904: 0xE8B6, - 38943 - 11904: 0x9657, - 38944 - 11904: 0xE8BB, - 38945 - 11904: 0xBE65, - 38947 - 11904: 0x9CEF, - 38948 - 11904: 0xC05B, - 38950 - 11904: 0xE8B8, - 38951 - 11904: 0xE8BD, - 38952 - 11904: 0xE8BA, - 38953 - 11904: 0xE8B9, - 38955 - 11904: 0xBE66, - 38957 - 11904: 0xC059, - 38958 - 11904: 0x9FDF, - 38959 - 11904: 0xEC5A, - 38960 - 11904: 0xC055, - 38962 - 11904: 0xEC5B, - 38963 - 11904: 0x90F7, - 38964 - 11904: 0x90F6, - 38965 - 11904: 0xEC59, - 38967 - 11904: 0xC058, - 38968 - 11904: 0xC056, - 38969 - 11904: 0xC05A, - 38971 - 11904: 0xC057, - 38977 - 11904: 0xEF45, - 38979 - 11904: 0xEF4A, - 38980 - 11904: 0xEF46, - 38981 - 11904: 0xEF49, - 38982 - 11904: 0xC1FB, - 38983 - 11904: 0x9B5E, - 38984 - 11904: 0xEDD4, - 38985 - 11904: 0xEF48, - 38986 - 11904: 0xEF47, - 38987 - 11904: 0x90F8, - 38988 - 11904: 0xC344, - 38989 - 11904: 0xC342, - 38990 - 11904: 0xC345, - 38991 - 11904: 0xC343, - 38992 - 11904: 0xF1A8, - 38993 - 11904: 0xF1A9, - 38994 - 11904: 0xF1AA, - 38995 - 11904: 0xC346, - 38998 - 11904: 0x8CFC, - 38999 - 11904: 0xF3AA, - 39000 - 11904: 0xC440, - 39001 - 11904: 0xF3A8, - 39003 - 11904: 0xC441, - 39004 - 11904: 0xF3A7, - 39005 - 11904: 0xF3A9, - 39006 - 11904: 0xC3FE, - 39007 - 11904: 0xF551, - 39008 - 11904: 0xF54E, - 39010 - 11904: 0xF54F, - 39011 - 11904: 0xF550, - 39012 - 11904: 0xF672, - 39013 - 11904: 0xC556, - 39014 - 11904: 0x90F9, - 39015 - 11904: 0xC555, - 39016 - 11904: 0x8CC9, - 39017 - 11904: 0xF774, - 39018 - 11904: 0xF773, - 39019 - 11904: 0xC5B8, - 39020 - 11904: 0xFA6A, - 39023 - 11904: 0xC5E3, - 39024 - 11904: 0xC649, - 39025 - 11904: 0xC660, - 39026 - 11904: 0xF958, - 39027 - 11904: 0xF9AE, - 39028 - 11904: 0xF9AF, - 39029 - 11904: 0x8BEF, - 39080 - 11904: 0xADB7, - 39081 - 11904: 0xDCAD, - 39084 - 11904: 0xE0E1, - 39085 - 11904: 0xE4CC, - 39086 - 11904: 0xE4CD, - 39087 - 11904: 0xBBE3, - 39089 - 11904: 0xBBE4, - 39090 - 11904: 0xE8BE, - 39091 - 11904: 0xBE68, - 39092 - 11904: 0x9FE0, - 39094 - 11904: 0xC1FC, - 39095 - 11904: 0x9142, - 39096 - 11904: 0xF1AB, - 39097 - 11904: 0x9A62, - 39098 - 11904: 0xC347, - 39099 - 11904: 0xF3AD, - 39100 - 11904: 0xC442, - 39101 - 11904: 0xF3AC, - 39102 - 11904: 0xF3AE, - 39103 - 11904: 0xF3AB, - 39104 - 11904: 0xF675, - 39105 - 11904: 0xF552, - 39106 - 11904: 0xF553, - 39107 - 11904: 0x9569, - 39108 - 11904: 0xC4C6, - 39110 - 11904: 0xF674, - 39111 - 11904: 0x9144, - 39112 - 11904: 0x9143, - 39113 - 11904: 0xF673, - 39114 - 11904: 0x9141, - 39115 - 11904: 0xF775, - 39116 - 11904: 0xF9B0, - 39118 - 11904: 0x8BF0, - 39131 - 11904: 0xADB8, - 39132 - 11904: 0x9660, - 39134 - 11904: 0x8BF1, - 39135 - 11904: 0xADB9, - 39136 - 11904: 0x99F6, - 39137 - 11904: 0x9149, - 39138 - 11904: 0xB0A7, - 39139 - 11904: 0xD448, - 39141 - 11904: 0xD84F, - 39142 - 11904: 0x914A, - 39143 - 11904: 0xB6B8, - 39145 - 11904: 0xB6BB, - 39146 - 11904: 0xB6B9, - 39147 - 11904: 0xDCAE, - 39148 - 11904: 0x914B, - 39149 - 11904: 0xB6BD, - 39151 - 11904: 0xB6BA, - 39153 - 11904: 0x9A64, - 39154 - 11904: 0xB6BC, - 39156 - 11904: 0xB97E, - 39157 - 11904: 0x8ABF, - 39158 - 11904: 0xE0E2, - 39161 - 11904: 0xE0E3, - 39162 - 11904: 0xE8C0, - 39164 - 11904: 0xB97D, - 39165 - 11904: 0xB9A1, - 39166 - 11904: 0xB9A2, - 39168 - 11904: 0xE4CF, - 39170 - 11904: 0xE4CE, - 39171 - 11904: 0xBBE5, - 39173 - 11904: 0xBBE6, - 39175 - 11904: 0xE4D0, - 39176 - 11904: 0xE8BF, - 39177 - 11904: 0xBBE8, - 39178 - 11904: 0xBE69, - 39180 - 11904: 0xBBE7, - 39182 - 11904: 0x9A66, - 39184 - 11904: 0xC05C, - 39185 - 11904: 0xE8C1, - 39186 - 11904: 0xBE6B, - 39187 - 11904: 0xBE6A, - 39188 - 11904: 0xE8C2, - 39189 - 11904: 0xE8C5, - 39190 - 11904: 0xE8C3, - 39191 - 11904: 0xE8C4, - 39192 - 11904: 0xBE6C, - 39193 - 11904: 0x9A67, - 39194 - 11904: 0xC061, - 39195 - 11904: 0xC05F, - 39196 - 11904: 0x9A69, - 39198 - 11904: 0xC05E, - 39199 - 11904: 0xEC5D, - 39201 - 11904: 0xC060, - 39204 - 11904: 0xEC5C, - 39205 - 11904: 0xEF4B, - 39207 - 11904: 0xEC5E, - 39208 - 11904: 0xC05D, - 39209 - 11904: 0xEC5F, - 39210 - 11904: 0xEF4E, - 39211 - 11904: 0xEF4C, - 39212 - 11904: 0xEF4D, - 39213 - 11904: 0xEF52, - 39214 - 11904: 0xC34B, - 39215 - 11904: 0xEF51, - 39216 - 11904: 0xEF54, - 39217 - 11904: 0xEF53, - 39218 - 11904: 0xEF50, - 39219 - 11904: 0xEF4F, - 39221 - 11904: 0xC1FD, - 39223 - 11904: 0x9A6A, - 39224 - 11904: 0x9652, - 39225 - 11904: 0x914D, - 39226 - 11904: 0xF1AE, - 39227 - 11904: 0x9666, - 39228 - 11904: 0xF1AD, - 39229 - 11904: 0xC34A, - 39230 - 11904: 0xC348, - 39231 - 11904: 0xC349, - 39232 - 11904: 0x9F7B, - 39233 - 11904: 0xF1AC, - 39234 - 11904: 0x9A6B, - 39235 - 11904: 0xF3B1, - 39237 - 11904: 0xC443, - 39239 - 11904: 0xF3B0, - 39240 - 11904: 0xF3AF, - 39241 - 11904: 0xC444, - 39242 - 11904: 0xA06C, - 39243 - 11904: 0xF558, - 39244 - 11904: 0xF557, - 39245 - 11904: 0x9667, - 39246 - 11904: 0xF555, - 39248 - 11904: 0xF554, - 39249 - 11904: 0xC4C8, - 39250 - 11904: 0xC4C7, - 39251 - 11904: 0xF559, - 39252 - 11904: 0xF776, - 39253 - 11904: 0xC5B9, - 39254 - 11904: 0xF677, - 39255 - 11904: 0xC557, - 39256 - 11904: 0xF676, - 39257 - 11904: 0xF556, - 39259 - 11904: 0xF777, - 39260 - 11904: 0xC5E4, - 39261 - 11904: 0x9A6C, - 39262 - 11904: 0xC661, - 39263 - 11904: 0xF959, - 39265 - 11904: 0xF9B1, - 39266 - 11904: 0x9A6D, - 39267 - 11904: 0x8BF2, - 39318 - 11904: 0xADBA, - 39319 - 11904: 0xD850, - 39320 - 11904: 0xEF55, - 39321 - 11904: 0xADBB, - 39323 - 11904: 0x966A, - 39324 - 11904: 0xE4D2, - 39325 - 11904: 0xE4D1, - 39326 - 11904: 0xEC60, - 39329 - 11904: 0xEF57, - 39331 - 11904: 0xEF56, - 39332 - 11904: 0xFCEA, - 39333 - 11904: 0xC34C, - 39334 - 11904: 0xF3B2, - 39335 - 11904: 0xF3B3, - 39336 - 11904: 0xC4C9, - 39338 - 11904: 0x966C, - 39339 - 11904: 0xF9B2, - 39340 - 11904: 0xB0A8, - 39341 - 11904: 0xB6BF, - 39342 - 11904: 0xB6BE, - 39343 - 11904: 0xE0E4, - 39344 - 11904: 0xE0E6, - 39345 - 11904: 0xB9A4, - 39346 - 11904: 0xE0E5, - 39347 - 11904: 0xB9A3, - 39348 - 11904: 0xB9A5, - 39349 - 11904: 0xE0E7, - 39352 - 11904: 0x91C4, - 39353 - 11904: 0xE4D4, - 39354 - 11904: 0xE4D6, - 39355 - 11904: 0xE4D5, - 39356 - 11904: 0x9677, - 39357 - 11904: 0xE4D8, - 39361 - 11904: 0xBBE9, - 39362 - 11904: 0xE4D7, - 39363 - 11904: 0xE4D3, - 39364 - 11904: 0x99F4, - 39365 - 11904: 0x9A6F, - 39367 - 11904: 0xE4D9, - 39369 - 11904: 0xE8CC, - 39371 - 11904: 0xE8CF, - 39372 - 11904: 0xE8D1, - 39373 - 11904: 0xE8C7, - 39374 - 11904: 0xE8CB, - 39375 - 11904: 0xE8C8, - 39376 - 11904: 0xBE6E, - 39377 - 11904: 0xBE71, - 39378 - 11904: 0xBE73, - 39379 - 11904: 0xE8C9, - 39380 - 11904: 0xE8CA, - 39381 - 11904: 0xBE72, - 39382 - 11904: 0xE8CD, - 39383 - 11904: 0xE8D0, - 39384 - 11904: 0xE8CE, - 39385 - 11904: 0xBE74, - 39386 - 11904: 0x9FAB, - 39387 - 11904: 0xBE70, - 39388 - 11904: 0xE8C6, - 39389 - 11904: 0xBE6D, - 39391 - 11904: 0xBE6F, - 39392 - 11904: 0x8CBE, - 39393 - 11904: 0x8EC1, - 39394 - 11904: 0xC063, - 39395 - 11904: 0xEC66, - 39396 - 11904: 0xEC64, - 39397 - 11904: 0xEC63, - 39398 - 11904: 0x9555, - 39399 - 11904: 0xEC69, - 39401 - 11904: 0xEC68, - 39402 - 11904: 0xEC67, - 39404 - 11904: 0xEC62, - 39405 - 11904: 0xC062, - 39406 - 11904: 0xEC61, - 39408 - 11904: 0xEC65, - 39409 - 11904: 0xC064, - 39412 - 11904: 0xEF5A, - 39413 - 11904: 0x9152, - 39414 - 11904: 0xEF5E, - 39415 - 11904: 0xEF5B, - 39416 - 11904: 0xEF5D, - 39417 - 11904: 0xEF5C, - 39418 - 11904: 0xEF59, - 39419 - 11904: 0xEF5F, - 39420 - 11904: 0xEF62, - 39421 - 11904: 0xEF60, - 39422 - 11904: 0xEF61, - 39423 - 11904: 0xC240, - 39425 - 11904: 0xC1FE, - 39426 - 11904: 0xEF58, - 39427 - 11904: 0xEF63, - 39428 - 11904: 0xF1B3, - 39429 - 11904: 0xF1B6, - 39430 - 11904: 0xF1B8, - 39431 - 11904: 0xF1B7, - 39433 - 11904: 0xF1B1, - 39434 - 11904: 0xF1B5, - 39435 - 11904: 0xF1B0, - 39436 - 11904: 0x9153, - 39437 - 11904: 0xF1B2, - 39438 - 11904: 0xC34D, - 39439 - 11904: 0xF1AF, - 39440 - 11904: 0x9155, - 39441 - 11904: 0xF1B4, - 39444 - 11904: 0xF3C0, - 39445 - 11904: 0xF3B5, - 39446 - 11904: 0xC445, - 39449 - 11904: 0xC446, - 39450 - 11904: 0xF3B4, - 39451 - 11904: 0xF3B9, - 39452 - 11904: 0xF3BF, - 39453 - 11904: 0xF3B7, - 39454 - 11904: 0xF3BE, - 39455 - 11904: 0x955D, - 39456 - 11904: 0xF3BB, - 39457 - 11904: 0x9671, - 39458 - 11904: 0xF3BA, - 39459 - 11904: 0xF3BD, - 39460 - 11904: 0xF3B8, - 39461 - 11904: 0xF3B6, - 39462 - 11904: 0x9C6D, - 39463 - 11904: 0xF3BC, - 39465 - 11904: 0xF560, - 39466 - 11904: 0xF55E, - 39467 - 11904: 0xC4CA, - 39468 - 11904: 0xF55D, - 39469 - 11904: 0xF563, - 39470 - 11904: 0xF561, - 39471 - 11904: 0x9673, - 39472 - 11904: 0xC4CB, - 39473 - 11904: 0xF55C, - 39474 - 11904: 0xF55A, - 39476 - 11904: 0xF55B, - 39477 - 11904: 0xC4CD, - 39478 - 11904: 0xF55F, - 39479 - 11904: 0xC4CC, - 39480 - 11904: 0xF562, - 39481 - 11904: 0xF678, - 39482 - 11904: 0xF67E, - 39483 - 11904: 0x9154, - 39484 - 11904: 0x9A71, - 39485 - 11904: 0xF679, - 39486 - 11904: 0xC55B, - 39487 - 11904: 0xF6A1, - 39488 - 11904: 0xC55A, - 39489 - 11904: 0xF67D, - 39490 - 11904: 0xF67C, - 39491 - 11904: 0xC559, - 39492 - 11904: 0xF67B, - 39493 - 11904: 0xC558, - 39494 - 11904: 0xF67A, - 39496 - 11904: 0xF77D, - 39497 - 11904: 0xF7A1, - 39498 - 11904: 0xF77E, - 39500 - 11904: 0xF77B, - 39501 - 11904: 0xC5BB, - 39502 - 11904: 0xF778, - 39503 - 11904: 0xF77C, - 39504 - 11904: 0xF7A3, - 39506 - 11904: 0xF7A2, - 39507 - 11904: 0xF779, - 39508 - 11904: 0xF77A, - 39509 - 11904: 0xC5BA, - 39510 - 11904: 0xF852, - 39511 - 11904: 0xC5E7, - 39512 - 11904: 0x9156, - 39513 - 11904: 0xF853, - 39514 - 11904: 0xC5E5, - 39515 - 11904: 0xC5E6, - 39516 - 11904: 0x966D, - 39518 - 11904: 0xF8D3, - 39519 - 11904: 0xC64A, - 39520 - 11904: 0xF976, - 39522 - 11904: 0xC66A, - 39523 - 11904: 0x9557, - 39524 - 11904: 0xF9B3, - 39525 - 11904: 0xC66B, - 39526 - 11904: 0xF9B4, - 39527 - 11904: 0xF9B5, - 39528 - 11904: 0xF9C3, - 39529 - 11904: 0xF9C2, - 39530 - 11904: 0xC67A, - 39531 - 11904: 0xF9CD, - 39532 - 11904: 0x89C6, - 39567 - 11904: 0x89C7, - 39592 - 11904: 0xB0A9, - 39595 - 11904: 0xE0E9, - 39597 - 11904: 0xE0E8, - 39599 - 11904: 0xBBEA, - 39600 - 11904: 0xBBEB, - 39601 - 11904: 0xE4DA, - 39602 - 11904: 0x8A6A, - 39603 - 11904: 0xE8D2, - 39604 - 11904: 0xEC6C, - 39606 - 11904: 0x8B57, - 39607 - 11904: 0xBE75, - 39608 - 11904: 0xC065, - 39609 - 11904: 0xEC6A, - 39610 - 11904: 0x9FE1, - 39611 - 11904: 0xEC6D, - 39612 - 11904: 0xC066, - 39613 - 11904: 0x9B5F, - 39614 - 11904: 0xEF64, - 39615 - 11904: 0xEC6B, - 39616 - 11904: 0xF1B9, - 39617 - 11904: 0xC34E, - 39618 - 11904: 0xF3C1, - 39622 - 11904: 0xF566, - 39623 - 11904: 0xF564, - 39626 - 11904: 0xF565, - 39629 - 11904: 0xF6A2, - 39631 - 11904: 0xC55C, - 39632 - 11904: 0xF7A4, - 39633 - 11904: 0xC5EA, - 39634 - 11904: 0xC5BC, - 39635 - 11904: 0xC5E8, - 39636 - 11904: 0xC5E9, - 39637 - 11904: 0xF8D4, - 39638 - 11904: 0xC662, - 39639 - 11904: 0xA05D, - 39640 - 11904: 0xB0AA, - 39644 - 11904: 0xF1BA, - 39647 - 11904: 0xD449, - 39648 - 11904: 0x915B, - 39649 - 11904: 0xB9A6, - 39650 - 11904: 0x915C, - 39651 - 11904: 0xE4DB, - 39654 - 11904: 0xBBEC, - 39655 - 11904: 0xE4DC, - 39659 - 11904: 0xE8D4, - 39660 - 11904: 0xE8D3, - 39661 - 11904: 0xC068, - 39662 - 11904: 0xBE76, - 39663 - 11904: 0xBE77, - 39665 - 11904: 0xE8D7, - 39666 - 11904: 0xE8D6, - 39667 - 11904: 0xE8D5, - 39668 - 11904: 0x915E, - 39670 - 11904: 0xEC6E, - 39671 - 11904: 0xEC71, - 39673 - 11904: 0xEC70, - 39674 - 11904: 0xEC6F, - 39675 - 11904: 0xC067, - 39676 - 11904: 0xEF68, - 39677 - 11904: 0xEF66, - 39678 - 11904: 0xEF65, - 39679 - 11904: 0x9F5C, - 39681 - 11904: 0xEF67, - 39682 - 11904: 0x9F57, - 39683 - 11904: 0xC34F, - 39684 - 11904: 0xF1BC, - 39685 - 11904: 0xF1BD, - 39686 - 11904: 0xC350, - 39688 - 11904: 0xF1BB, - 39689 - 11904: 0x9F65, - 39690 - 11904: 0xF3C3, - 39691 - 11904: 0xF3C2, - 39692 - 11904: 0xF3C5, - 39693 - 11904: 0xC447, - 39694 - 11904: 0xF3C4, - 39695 - 11904: 0x9A72, - 39696 - 11904: 0xF567, - 39697 - 11904: 0xF569, - 39698 - 11904: 0xF568, - 39700 - 11904: 0x9160, - 39701 - 11904: 0xF6A3, - 39702 - 11904: 0xF6A6, - 39703 - 11904: 0xF6A4, - 39704 - 11904: 0xF6A5, - 39705 - 11904: 0xF7A5, - 39706 - 11904: 0xC5BD, - 39710 - 11904: 0xF854, - 39711 - 11904: 0xF855, - 39712 - 11904: 0xF856, - 39714 - 11904: 0xC64B, - 39715 - 11904: 0xC663, - 39716 - 11904: 0xF9B6, - 39717 - 11904: 0xB0AB, - 39719 - 11904: 0xBE78, - 39720 - 11904: 0xC069, - 39721 - 11904: 0xF1BE, - 39722 - 11904: 0x9F5E, - 39723 - 11904: 0xF7A6, - 39725 - 11904: 0x9161, - 39726 - 11904: 0xF9C4, - 39727 - 11904: 0xD44A, - 39729 - 11904: 0xC67B, - 39730 - 11904: 0xB0AC, - 39731 - 11904: 0xEC72, - 39732 - 11904: 0x9164, - 39733 - 11904: 0xF1BF, - 39735 - 11904: 0xF3C6, - 39737 - 11904: 0x9F41, - 39738 - 11904: 0xF6A7, - 39739 - 11904: 0xF7A7, - 39740 - 11904: 0xB0AD, - 39742 - 11904: 0xE4DD, - 39743 - 11904: 0xE4DE, - 39744 - 11904: 0x9169, - 39745 - 11904: 0xBBED, - 39746 - 11904: 0xBBEE, - 39747 - 11904: 0xE8D9, - 39748 - 11904: 0xBE7A, - 39749 - 11904: 0xBE79, - 39750 - 11904: 0xE8D8, - 39752 - 11904: 0xEF69, - 39754 - 11904: 0xF1C0, - 39755 - 11904: 0xF1C2, - 39756 - 11904: 0xF1C1, - 39757 - 11904: 0xC353, - 39758 - 11904: 0xC352, - 39759 - 11904: 0xC351, - 39760 - 11904: 0x9168, - 39761 - 11904: 0xC55E, - 39762 - 11904: 0xF6A8, - 39764 - 11904: 0xC55D, - 39765 - 11904: 0xF7A9, - 39766 - 11904: 0xF7A8, - 39768 - 11904: 0xC64C, - 39769 - 11904: 0xF8D5, - 39770 - 11904: 0xB3BD, - 39771 - 11904: 0xE0EA, - 39775 - 11904: 0xE4E1, - 39776 - 11904: 0xE4DF, - 39777 - 11904: 0xE4E0, - 39780 - 11904: 0xE8E2, - 39782 - 11904: 0xE8DD, - 39783 - 11904: 0xE8DA, - 39784 - 11904: 0xE8E1, - 39785 - 11904: 0x9A74, - 39788 - 11904: 0xE8E3, - 39791 - 11904: 0xBE7C, - 39792 - 11904: 0xE8E0, - 39793 - 11904: 0xE8DC, - 39796 - 11904: 0xE8DB, - 39797 - 11904: 0xE8DF, - 39798 - 11904: 0xE8DE, - 39799 - 11904: 0xBE7B, - 39802 - 11904: 0xEC7D, - 39803 - 11904: 0xEC78, - 39804 - 11904: 0xEC76, - 39805 - 11904: 0xECA1, - 39806 - 11904: 0xEC77, - 39807 - 11904: 0x96B2, - 39808 - 11904: 0xEC73, - 39809 - 11904: 0x9A75, - 39810 - 11904: 0xEC79, - 39811 - 11904: 0xFDA5, - 39813 - 11904: 0xEC74, - 39814 - 11904: 0xEF72, - 39815 - 11904: 0xEC75, - 39816 - 11904: 0xECA2, - 39819 - 11904: 0x9EE9, - 39821 - 11904: 0x8BBA, - 39822 - 11904: 0x916D, - 39823 - 11904: 0xA060, - 39824 - 11904: 0xEC7C, - 39825 - 11904: 0xC06A, - 39826 - 11904: 0xEC7B, - 39827 - 11904: 0xEC7A, - 39829 - 11904: 0xEC7E, - 39831 - 11904: 0x9FDE, - 39834 - 11904: 0xEF6A, - 39835 - 11904: 0xEF6D, - 39837 - 11904: 0x9FC3, - 39838 - 11904: 0xEF6C, - 39839 - 11904: 0x96B5, - 39840 - 11904: 0xEF74, - 39841 - 11904: 0xEF6F, - 39842 - 11904: 0xEF73, - 39844 - 11904: 0xEF71, - 39845 - 11904: 0xEF70, - 39846 - 11904: 0xEF6E, - 39848 - 11904: 0xEF6B, - 39850 - 11904: 0xC243, - 39851 - 11904: 0xC242, - 39853 - 11904: 0xC244, - 39854 - 11904: 0xC241, - 39855 - 11904: 0xEF75, - 39856 - 11904: 0xA067, - 39861 - 11904: 0xF1C8, - 39862 - 11904: 0xF1CB, - 39864 - 11904: 0xF1C9, - 39865 - 11904: 0xF1CD, - 39869 - 11904: 0xF1CE, - 39871 - 11904: 0xF1C6, - 39872 - 11904: 0xC358, - 39873 - 11904: 0xF1C7, - 39875 - 11904: 0xF1C5, - 39876 - 11904: 0xF1CC, - 39878 - 11904: 0xF1C4, - 39879 - 11904: 0xF1C3, - 39880 - 11904: 0xC357, - 39881 - 11904: 0xC355, - 39882 - 11904: 0xC354, - 39887 - 11904: 0x96B3, - 39891 - 11904: 0xF1CA, - 39892 - 11904: 0xF3CF, - 39893 - 11904: 0xF3D5, - 39894 - 11904: 0xC44A, - 39895 - 11904: 0xF3D0, - 39897 - 11904: 0xF3D3, - 39898 - 11904: 0xF3D7, - 39899 - 11904: 0xC44B, - 39900 - 11904: 0xF3D2, - 39901 - 11904: 0x9A76, - 39902 - 11904: 0xF3CA, - 39904 - 11904: 0xF3C9, - 39905 - 11904: 0xF3D6, - 39906 - 11904: 0xF3CD, - 39908 - 11904: 0xF3CB, - 39909 - 11904: 0xF3D4, - 39910 - 11904: 0xF3CC, - 39911 - 11904: 0xC449, - 39912 - 11904: 0xC448, - 39913 - 11904: 0x95D5, - 39914 - 11904: 0xF3C7, - 39915 - 11904: 0xF3C8, - 39916 - 11904: 0xF3D1, - 39917 - 11904: 0x9ECA, - 39920 - 11904: 0xF3CE, - 39921 - 11904: 0x9A77, - 39924 - 11904: 0x9A78, - 39927 - 11904: 0xF56C, - 39928 - 11904: 0xF56F, - 39933 - 11904: 0xC356, - 39935 - 11904: 0x9170, - 39938 - 11904: 0x916F, - 39941 - 11904: 0xF56D, - 39942 - 11904: 0xF573, - 39943 - 11904: 0xF571, - 39944 - 11904: 0xF56B, - 39945 - 11904: 0xF576, - 39946 - 11904: 0x9FA3, - 39947 - 11904: 0xF56A, - 39948 - 11904: 0x9171, - 39949 - 11904: 0xC4CF, - 39950 - 11904: 0xF572, - 39952 - 11904: 0x96B1, - 39954 - 11904: 0xF56E, - 39955 - 11904: 0xC4CE, - 39956 - 11904: 0xF575, - 39957 - 11904: 0x9F63, - 39959 - 11904: 0xF574, - 39963 - 11904: 0x9F67, - 39964 - 11904: 0xF6AB, - 39965 - 11904: 0xF6AA, - 39967 - 11904: 0x8BB9, - 39968 - 11904: 0x9A7A, - 39969 - 11904: 0xF6B1, - 39971 - 11904: 0xF6AD, - 39972 - 11904: 0xF6B0, - 39973 - 11904: 0xC560, - 39974 - 11904: 0x8B56, - 39976 - 11904: 0xF6AE, - 39977 - 11904: 0xF6AF, - 39979 - 11904: 0xF6A9, - 39980 - 11904: 0xF6AC, - 39981 - 11904: 0xC55F, - 39983 - 11904: 0x9ADA, - 39985 - 11904: 0xC5BF, - 39986 - 11904: 0xF7B4, - 39987 - 11904: 0xF7AF, - 39988 - 11904: 0xF7B3, - 39989 - 11904: 0x96B0, - 39990 - 11904: 0xF7B6, - 39991 - 11904: 0xF7B2, - 39993 - 11904: 0xF7AE, - 39994 - 11904: 0x9A7E, - 39995 - 11904: 0xC5C1, - 39996 - 11904: 0xF7B1, - 39997 - 11904: 0xF7B5, - 39998 - 11904: 0xC5C0, - 39999 - 11904: 0xF7AC, - 40000 - 11904: 0xF570, - 40001 - 11904: 0xF7B0, - 40004 - 11904: 0xF7AD, - 40005 - 11904: 0x9DDE, - 40006 - 11904: 0xF7AA, - 40008 - 11904: 0xF7AB, - 40009 - 11904: 0xC5BE, - 40010 - 11904: 0xF85A, - 40011 - 11904: 0xF85C, - 40012 - 11904: 0xF85F, - 40013 - 11904: 0xF85B, - 40014 - 11904: 0xF860, - 40015 - 11904: 0x96AD, - 40016 - 11904: 0xF859, - 40018 - 11904: 0xF857, - 40019 - 11904: 0x96AE, - 40020 - 11904: 0xC5EB, - 40021 - 11904: 0xF85D, - 40022 - 11904: 0xC5ED, - 40023 - 11904: 0xC5EC, - 40024 - 11904: 0xF858, - 40025 - 11904: 0xF85E, - 40029 - 11904: 0x9EA1, - 40030 - 11904: 0xF8DA, - 40031 - 11904: 0xC64D, - 40032 - 11904: 0xF8DB, - 40034 - 11904: 0xF8D9, - 40035 - 11904: 0xF8D6, - 40038 - 11904: 0xF8D8, - 40039 - 11904: 0xF8D7, - 40040 - 11904: 0xF95A, - 40045 - 11904: 0xF95C, - 40046 - 11904: 0xF95B, - 40049 - 11904: 0xF979, - 40050 - 11904: 0x9E50, - 40051 - 11904: 0xF978, - 40052 - 11904: 0xF977, - 40053 - 11904: 0xF97A, - 40055 - 11904: 0xC673, - 40056 - 11904: 0xC674, - 40057 - 11904: 0xF9CA, - 40058 - 11904: 0xF9CE, - 40059 - 11904: 0x96AF, - 40060 - 11904: 0x8BF4, - 40165 - 11904: 0xB3BE, - 40166 - 11904: 0xDCAF, - 40167 - 11904: 0xE0ED, - 40169 - 11904: 0xB9A7, - 40170 - 11904: 0xE0EB, - 40173 - 11904: 0xE0EC, - 40177 - 11904: 0xE4E2, - 40178 - 11904: 0xE4E3, - 40179 - 11904: 0xBBF1, - 40180 - 11904: 0xBBEF, - 40181 - 11904: 0xE4E4, - 40182 - 11904: 0xBBF0, - 40183 - 11904: 0xE8E8, - 40185 - 11904: 0xE8EB, - 40186 - 11904: 0xE8E5, - 40187 - 11904: 0xE8EC, - 40188 - 11904: 0xE8E4, - 40189 - 11904: 0xE8E6, - 40191 - 11904: 0xE8E7, - 40192 - 11904: 0xE8EA, - 40194 - 11904: 0x9FA4, - 40195 - 11904: 0xBEA1, - 40196 - 11904: 0xE8EF, - 40197 - 11904: 0xE8EE, - 40198 - 11904: 0xBE7D, - 40199 - 11904: 0xE8E9, - 40200 - 11904: 0xE8ED, - 40201 - 11904: 0xBE7E, - 40204 - 11904: 0x96BD, - 40208 - 11904: 0xECAC, - 40210 - 11904: 0xC06F, - 40212 - 11904: 0xECA7, - 40213 - 11904: 0xC06B, - 40214 - 11904: 0x96F4, - 40215 - 11904: 0xECA4, - 40216 - 11904: 0xECAA, - 40217 - 11904: 0xECAD, - 40219 - 11904: 0xC070, - 40221 - 11904: 0xECA9, - 40222 - 11904: 0xECA6, - 40223 - 11904: 0xECAE, - 40224 - 11904: 0xECA5, - 40225 - 11904: 0x96B8, - 40226 - 11904: 0xECAB, - 40227 - 11904: 0xC06C, - 40229 - 11904: 0xECA3, - 40230 - 11904: 0xC06D, - 40232 - 11904: 0xC06E, - 40233 - 11904: 0xECA8, - 40237 - 11904: 0xEFA9, - 40238 - 11904: 0xEF7A, - 40239 - 11904: 0xEF7B, - 40240 - 11904: 0xEF7E, - 40241 - 11904: 0xEF7C, - 40243 - 11904: 0xEF76, - 40244 - 11904: 0xFAA1, - 40246 - 11904: 0xEF79, - 40247 - 11904: 0xEFA5, - 40248 - 11904: 0xEF7D, - 40249 - 11904: 0x91A7, - 40251 - 11904: 0xC245, - 40253 - 11904: 0xEFA7, - 40254 - 11904: 0xEFA4, - 40255 - 11904: 0xC246, - 40256 - 11904: 0xEFA6, - 40257 - 11904: 0xEF77, - 40258 - 11904: 0xEFA2, - 40259 - 11904: 0xEFA3, - 40260 - 11904: 0xA05E, - 40261 - 11904: 0xEFA1, - 40265 - 11904: 0x9A7D, - 40266 - 11904: 0xF1D2, - 40267 - 11904: 0xF1D4, - 40268 - 11904: 0xF1D7, - 40270 - 11904: 0x8948, - 40271 - 11904: 0xF1D1, - 40272 - 11904: 0x9EB1, - 40273 - 11904: 0xC359, - 40274 - 11904: 0xF1D9, - 40275 - 11904: 0xF1D0, - 40276 - 11904: 0xF1DA, - 40278 - 11904: 0xF1D6, - 40279 - 11904: 0xF1D8, - 40280 - 11904: 0xF1DC, - 40281 - 11904: 0xF1D5, - 40282 - 11904: 0xF1DD, - 40283 - 11904: 0xF1D3, - 40284 - 11904: 0xF1CF, - 40285 - 11904: 0xC35A, - 40286 - 11904: 0x9DDB, - 40287 - 11904: 0xF1DB, - 40288 - 11904: 0xC35B, - 40289 - 11904: 0xC44D, - 40295 - 11904: 0xEF78, - 40296 - 11904: 0xF3F1, - 40297 - 11904: 0xF3E8, - 40298 - 11904: 0xC44F, - 40299 - 11904: 0xF3E4, - 40300 - 11904: 0xC450, - 40301 - 11904: 0x95BF, - 40302 - 11904: 0x8A73, - 40303 - 11904: 0xF3ED, - 40304 - 11904: 0xF3E7, - 40305 - 11904: 0xF3DD, - 40306 - 11904: 0xC44E, - 40307 - 11904: 0xF3EA, - 40308 - 11904: 0xF3E5, - 40309 - 11904: 0xF3E6, - 40311 - 11904: 0xF3D8, - 40312 - 11904: 0xF3DF, - 40313 - 11904: 0xF3EE, - 40315 - 11904: 0xF3EB, - 40316 - 11904: 0x9EFE, - 40317 - 11904: 0xF3E3, - 40318 - 11904: 0x917A, - 40319 - 11904: 0xF3EF, - 40320 - 11904: 0xF3DE, - 40321 - 11904: 0xF3D9, - 40322 - 11904: 0xF3EC, - 40323 - 11904: 0x917B, - 40324 - 11904: 0xF3DB, - 40325 - 11904: 0xF3E9, - 40326 - 11904: 0xF3E0, - 40327 - 11904: 0xF3F0, - 40328 - 11904: 0xF3DC, - 40329 - 11904: 0xC44C, - 40330 - 11904: 0xF3DA, - 40331 - 11904: 0xF3E1, - 40332 - 11904: 0xF3E2, - 40336 - 11904: 0xF57D, - 40338 - 11904: 0xF57B, - 40339 - 11904: 0x9AA3, - 40340 - 11904: 0xF5A2, - 40342 - 11904: 0xF5AE, - 40343 - 11904: 0xF5A5, - 40344 - 11904: 0xF57C, - 40345 - 11904: 0xF578, - 40346 - 11904: 0xF5A7, - 40347 - 11904: 0xF57E, - 40348 - 11904: 0xF5A3, - 40349 - 11904: 0xF57A, - 40350 - 11904: 0xF5AA, - 40351 - 11904: 0xF577, - 40352 - 11904: 0xF5A1, - 40353 - 11904: 0xF5A6, - 40354 - 11904: 0xF5A8, - 40355 - 11904: 0xF5AB, - 40356 - 11904: 0xF579, - 40357 - 11904: 0x96C2, - 40358 - 11904: 0xF5AF, - 40359 - 11904: 0xF5B0, - 40360 - 11904: 0xF5A9, - 40361 - 11904: 0xF5AD, - 40362 - 11904: 0xF5A4, - 40363 - 11904: 0x9F77, - 40364 - 11904: 0xF6C1, - 40365 - 11904: 0xF6C4, - 40367 - 11904: 0xC561, - 40369 - 11904: 0xF6C3, - 40370 - 11904: 0xF6C8, - 40371 - 11904: 0xF6C6, - 40372 - 11904: 0xC562, - 40373 - 11904: 0xF6BD, - 40374 - 11904: 0xF6B3, - 40375 - 11904: 0xF6B2, - 40376 - 11904: 0xC564, - 40377 - 11904: 0xF6BF, - 40378 - 11904: 0xF6C0, - 40379 - 11904: 0xF6BC, - 40380 - 11904: 0xF6B4, - 40381 - 11904: 0x9AA4, - 40382 - 11904: 0xF6B9, - 40383 - 11904: 0xF5AC, - 40384 - 11904: 0x9AA5, - 40385 - 11904: 0xF6B5, - 40386 - 11904: 0xC563, - 40387 - 11904: 0xF6BB, - 40388 - 11904: 0x91A1, - 40389 - 11904: 0xF6BA, - 40391 - 11904: 0xF6B6, - 40392 - 11904: 0xF6C2, - 40393 - 11904: 0x89B8, - 40394 - 11904: 0xF6B7, - 40395 - 11904: 0xF7BB, - 40396 - 11904: 0xF6C5, - 40397 - 11904: 0xF6C7, - 40398 - 11904: 0xF6BE, - 40399 - 11904: 0xF6B8, - 40400 - 11904: 0xF7BC, - 40401 - 11904: 0xF7BE, - 40402 - 11904: 0xF7B8, - 40403 - 11904: 0xC5C2, - 40404 - 11904: 0x9173, - 40405 - 11904: 0xF7C5, - 40406 - 11904: 0xF7C3, - 40407 - 11904: 0xC5C3, - 40408 - 11904: 0xF7C2, - 40409 - 11904: 0xF7C1, - 40410 - 11904: 0xF7BA, - 40411 - 11904: 0xF7B7, - 40412 - 11904: 0xF7BD, - 40413 - 11904: 0xF7C6, - 40414 - 11904: 0xF7B9, - 40415 - 11904: 0xF7BF, - 40417 - 11904: 0xF869, - 40418 - 11904: 0xF86E, - 40419 - 11904: 0xF864, - 40420 - 11904: 0xF867, - 40421 - 11904: 0xC5EE, - 40422 - 11904: 0xF86B, - 40424 - 11904: 0xF872, - 40425 - 11904: 0xF7C0, - 40427 - 11904: 0xF865, - 40428 - 11904: 0xF86F, - 40429 - 11904: 0xF873, - 40430 - 11904: 0xF86A, - 40431 - 11904: 0xF863, - 40432 - 11904: 0xF86D, - 40434 - 11904: 0xF86C, - 40435 - 11904: 0xF871, - 40436 - 11904: 0xF870, - 40437 - 11904: 0xF7C4, - 40438 - 11904: 0xF868, - 40439 - 11904: 0xF862, - 40440 - 11904: 0xF866, - 40441 - 11904: 0xC64E, - 40442 - 11904: 0xC64F, - 40443 - 11904: 0xF861, - 40444 - 11904: 0x9AA6, - 40445 - 11904: 0xF8E6, - 40446 - 11904: 0xF8DD, - 40447 - 11904: 0xF8E5, - 40448 - 11904: 0xF8E2, - 40449 - 11904: 0xF8E3, - 40450 - 11904: 0xF8DC, - 40451 - 11904: 0xF8DF, - 40452 - 11904: 0xF8E7, - 40453 - 11904: 0xF8E1, - 40454 - 11904: 0xF8E0, - 40455 - 11904: 0xF8DE, - 40457 - 11904: 0xF8E4, - 40458 - 11904: 0x89BD, - 40459 - 11904: 0xF95D, - 40460 - 11904: 0x89B9, - 40461 - 11904: 0xF95E, - 40462 - 11904: 0x917D, - 40463 - 11904: 0xF960, - 40464 - 11904: 0xF95F, - 40465 - 11904: 0xF962, - 40466 - 11904: 0xF961, - 40467 - 11904: 0xF97C, - 40468 - 11904: 0xF97B, - 40469 - 11904: 0xF9B7, - 40471 - 11904: 0xF9B8, - 40472 - 11904: 0x96BB, - 40473 - 11904: 0xF9C5, - 40474 - 11904: 0xC678, - 40475 - 11904: 0xC67C, - 40476 - 11904: 0x9FF2, - 40477 - 11904: 0xF9CF, - 40478 - 11904: 0xC67D, - 40479 - 11904: 0x8BF5, - 40565 - 11904: 0xB3BF, - 40569 - 11904: 0xC4D0, - 40570 - 11904: 0xF6C9, - 40571 - 11904: 0x9AA9, - 40572 - 11904: 0xC650, - 40573 - 11904: 0xC651, - 40575 - 11904: 0xB3C0, - 40576 - 11904: 0xE0EE, - 40577 - 11904: 0x9F54, - 40578 - 11904: 0xB9A8, - 40579 - 11904: 0xE8F0, - 40580 - 11904: 0x9FE3, - 40581 - 11904: 0x9EED, - 40582 - 11904: 0xECB0, - 40583 - 11904: 0xECB1, - 40584 - 11904: 0xECAF, - 40585 - 11904: 0xEFAB, - 40586 - 11904: 0xEFAA, - 40587 - 11904: 0xC247, - 40588 - 11904: 0xF1DF, - 40589 - 11904: 0xEFAC, - 40590 - 11904: 0xF1DE, - 40592 - 11904: 0x91AA, - 40593 - 11904: 0xF3F3, - 40594 - 11904: 0xC451, - 40595 - 11904: 0xC453, - 40596 - 11904: 0xF3F2, - 40597 - 11904: 0x91AB, - 40598 - 11904: 0xA070, - 40599 - 11904: 0xC452, - 40600 - 11904: 0x9F6D, - 40601 - 11904: 0xF5B1, - 40602 - 11904: 0xF5B3, - 40603 - 11904: 0xF5B2, - 40604 - 11904: 0xF6CA, - 40605 - 11904: 0xC565, - 40606 - 11904: 0x91AC, - 40607 - 11904: 0xC5EF, - 40608 - 11904: 0xF8E8, - 40609 - 11904: 0xF963, - 40610 - 11904: 0x91AD, - 40612 - 11904: 0xF9D2, - 40613 - 11904: 0xB3C1, - 40614 - 11904: 0xA0FD, - 40615 - 11904: 0xE4E5, - 40616 - 11904: 0x9FE2, - 40617 - 11904: 0xBEA2, - 40618 - 11904: 0x91AF, - 40619 - 11904: 0x9E41, - 40620 - 11904: 0x9AAA, - 40621 - 11904: 0xECB3, - 40622 - 11904: 0xECB2, - 40623 - 11904: 0x91B0, - 40624 - 11904: 0xEFAD, - 40625 - 11904: 0x9AAB, - 40628 - 11904: 0xC454, - 40629 - 11904: 0xC4D1, - 40630 - 11904: 0xF7C7, - 40631 - 11904: 0xF9CB, - 40635 - 11904: 0xB3C2, - 40636 - 11904: 0xBBF2, - 40637 - 11904: 0x9AAC, - 40638 - 11904: 0xBEA3, - 40639 - 11904: 0x9A4A, - 40640 - 11904: 0xF3F4, - 40641 - 11904: 0x91B2, - 40642 - 11904: 0xF874, - 40643 - 11904: 0xB6C0, - 40644 - 11904: 0x8BF6, - 40646 - 11904: 0x9AAD, - 40647 - 11904: 0x89B6, - 40648 - 11904: 0xEFAE, - 40652 - 11904: 0xC664, - 40653 - 11904: 0xB6C1, - 40654 - 11904: 0xBEA4, - 40655 - 11904: 0xC248, - 40656 - 11904: 0xF875, - 40657 - 11904: 0xB6C2, - 40659 - 11904: 0xE8F1, - 40660 - 11904: 0xC072, - 40661 - 11904: 0xECB4, - 40662 - 11904: 0xECB5, - 40664 - 11904: 0xC071, - 40666 - 11904: 0xEFAF, - 40667 - 11904: 0xC24C, - 40668 - 11904: 0xC24A, - 40669 - 11904: 0xC24B, - 40670 - 11904: 0xC249, - 40671 - 11904: 0xF1E0, - 40672 - 11904: 0xC35C, - 40674 - 11904: 0x9AAF, - 40676 - 11904: 0xF5B5, - 40677 - 11904: 0xF5B4, - 40678 - 11904: 0xF5B7, - 40679 - 11904: 0xF5B6, - 40680 - 11904: 0xC4D2, - 40683 - 11904: 0xF6CB, - 40685 - 11904: 0xF6CD, - 40686 - 11904: 0xF6CC, - 40687 - 11904: 0xC566, - 40688 - 11904: 0xF7C8, - 40689 - 11904: 0x9AB0, - 40690 - 11904: 0xF876, - 40691 - 11904: 0xF877, - 40692 - 11904: 0xC5F0, - 40693 - 11904: 0xF964, - 40694 - 11904: 0xF97D, - 40695 - 11904: 0xC675, - 40696 - 11904: 0x9AB1, - 40697 - 11904: 0xDCB0, - 40698 - 11904: 0xECB6, - 40699 - 11904: 0xEFB0, - 40700 - 11904: 0xF3F5, - 40701 - 11904: 0xE0EF, - 40702 - 11904: 0x9AA1, - 40703 - 11904: 0xEFB1, - 40704 - 11904: 0xF1E2, - 40705 - 11904: 0xF1E1, - 40706 - 11904: 0x91B9, - 40710 - 11904: 0xF878, - 40711 - 11904: 0xC652, - 40712 - 11904: 0x91BA, - 40713 - 11904: 0xF965, - 40714 - 11904: 0xF97E, - 40718 - 11904: 0xB9A9, - 40719 - 11904: 0xE8F2, - 40720 - 11904: 0xE8F3, - 40722 - 11904: 0xECB7, - 40723 - 11904: 0xB9AA, - 40725 - 11904: 0xC35D, - 40726 - 11904: 0xF1E3, - 40727 - 11904: 0x9F66, - 40728 - 11904: 0xF6CF, - 40729 - 11904: 0xC567, - 40730 - 11904: 0xF6D0, - 40731 - 11904: 0xF6CE, - 40732 - 11904: 0xF879, - 40734 - 11904: 0xF8E9, - 40736 - 11904: 0xB9AB, - 40738 - 11904: 0xEFB4, - 40739 - 11904: 0xEFB3, - 40740 - 11904: 0xEFB2, - 40741 - 11904: 0xF1E4, - 40742 - 11904: 0xA041, - 40743 - 11904: 0x8BB7, - 40744 - 11904: 0xF1E8, - 40745 - 11904: 0xF1E7, - 40746 - 11904: 0xF1E6, - 40747 - 11904: 0xF1E5, - 40748 - 11904: 0xC35E, - 40749 - 11904: 0xF3F6, - 40750 - 11904: 0xF5B9, - 40751 - 11904: 0xC4D3, - 40752 - 11904: 0xF5B8, - 40753 - 11904: 0xF6D1, - 40754 - 11904: 0xF7CB, - 40755 - 11904: 0xF7CA, - 40756 - 11904: 0xC5C4, - 40757 - 11904: 0xF7C9, - 40758 - 11904: 0xF87C, - 40759 - 11904: 0xF87B, - 40760 - 11904: 0xF87A, - 40761 - 11904: 0x91C0, - 40763 - 11904: 0xBBF3, - 40765 - 11904: 0xECB8, - 40766 - 11904: 0xC24D, - 40768 - 11904: 0xF3F7, - 40769 - 11904: 0xF3F8, - 40770 - 11904: 0xF7CC, - 40771 - 11904: 0xF87D, - 40772 - 11904: 0x9AB3, - 40773 - 11904: 0x91C3, - 40774 - 11904: 0xF8EA, - 40775 - 11904: 0xF966, - 40776 - 11904: 0xF9B9, - 40777 - 11904: 0xF9D4, - 40778 - 11904: 0xBBF4, - 40779 - 11904: 0xC24E, - 40780 - 11904: 0xF1E9, - 40781 - 11904: 0xF3F9, - 40782 - 11904: 0xF6D2, - 40783 - 11904: 0xF87E, - 40784 - 11904: 0xA0FC, - 40786 - 11904: 0xBEA6, - 40787 - 11904: 0x9FEE, - 40788 - 11904: 0xEFB5, - 40789 - 11904: 0xF1EA, - 40790 - 11904: 0xF3FA, - 40791 - 11904: 0xF3FB, - 40792 - 11904: 0xF3FC, - 40793 - 11904: 0xF5BE, - 40794 - 11904: 0x9F69, - 40795 - 11904: 0xF5BA, - 40796 - 11904: 0xC568, - 40797 - 11904: 0xF5BD, - 40798 - 11904: 0xF5BC, - 40799 - 11904: 0xC4D4, - 40800 - 11904: 0xF5BB, - 40801 - 11904: 0xC4D6, - 40802 - 11904: 0x91C8, - 40803 - 11904: 0xC4D5, - 40804 - 11904: 0xF6D4, - 40805 - 11904: 0xF6D3, - 40806 - 11904: 0xC569, - 40807 - 11904: 0xC56A, - 40809 - 11904: 0x91C9, - 40810 - 11904: 0xC5C6, - 40811 - 11904: 0xF7CD, - 40812 - 11904: 0xC5C5, - 40814 - 11904: 0xF8A3, - 40815 - 11904: 0xF8A4, - 40816 - 11904: 0xF8A2, - 40817 - 11904: 0xF8A1, - 40818 - 11904: 0xC654, - 40820 - 11904: 0xF8EB, - 40821 - 11904: 0xF8EC, - 40822 - 11904: 0xF8ED, - 40823 - 11904: 0xC653, - 40824 - 11904: 0xF967, - 40825 - 11904: 0xF96A, - 40826 - 11904: 0xF969, - 40827 - 11904: 0xF968, - 40830 - 11904: 0xF9D3, - 40831 - 11904: 0x8DE6, - 40845 - 11904: 0xC073, - 40846 - 11904: 0x91CB, - 40848 - 11904: 0xC365, - 40849 - 11904: 0xF5BF, - 40850 - 11904: 0xF6D5, - 40852 - 11904: 0xC5C7, - 40853 - 11904: 0xF7CE, - 40854 - 11904: 0x87AC, - 40855 - 11904: 0x87A4, - 40856 - 11904: 0xF9D5, - 40857 - 11904: 0x89C8, - 40860 - 11904: 0xC074, - 40863 - 11904: 0x8DAA, - 40864 - 11904: 0xEFB6, - 40866 - 11904: 0xF7CF, - 40868 - 11904: 0xF9A1, - 40869 - 11904: 0x9FDD, - 40870 - 11904: 0x8C43, - 40871 - 11904: 0x8C6D, - 40872 - 11904: 0x8C74, - 40873 - 11904: 0x8CB7, - 40874 - 11904: 0x8CB9, - 40875 - 11904: 0x8CBB, - 40876 - 11904: 0x8CC0, - 40877 - 11904: 0x8CD7, - 40878 - 11904: 0x8CD8, - 40879 - 11904: 0x8CDA, - 40880 - 11904: 0xC8A1, - 40881 - 11904: 0xC8A3, - 40882 - 11904: 0x8CED, - 40883 - 11904: 0x8D48, - 40903 - 11904: 0x87C2, - 40904 - 11904: 0x87D2, - 40905 - 11904: 0x87D6, - 40906 - 11904: 0x87DA, - 40907 - 11904: 0x87DF, -} - -const encode2Low, encode2High = 7870, 10046 - -var encode2 = [...]uint16{ - 7870 - 7870: 0x8863, - 7871 - 7870: 0x88A4, - 7872 - 7870: 0x8865, - 7873 - 7870: 0x88A6, - 8211 - 7870: 0xA156, - 8212 - 7870: 0xA158, - 8216 - 7870: 0xA1A5, - 8217 - 7870: 0xA1A6, - 8220 - 7870: 0xA1A7, - 8221 - 7870: 0xA1A8, - 8229 - 7870: 0xA14C, - 8230 - 7870: 0xA14B, - 8231 - 7870: 0xA145, - 8242 - 7870: 0xA1AC, - 8245 - 7870: 0xA1AB, - 8251 - 7870: 0xA1B0, - 8364 - 7870: 0xA3E1, - 8451 - 7870: 0xA24A, - 8453 - 7870: 0xA1C1, - 8457 - 7870: 0xA24B, - 8470 - 7870: 0xC8D2, - 8481 - 7870: 0xC8D3, - 8544 - 7870: 0xA2B9, - 8545 - 7870: 0xA2BA, - 8546 - 7870: 0xA2BB, - 8547 - 7870: 0xA2BC, - 8548 - 7870: 0xA2BD, - 8549 - 7870: 0xA2BE, - 8550 - 7870: 0xA2BF, - 8551 - 7870: 0xA2C0, - 8552 - 7870: 0xA2C1, - 8553 - 7870: 0xA2C2, - 8560 - 7870: 0xC6B5, - 8561 - 7870: 0xC6B6, - 8562 - 7870: 0xC6B7, - 8563 - 7870: 0xC6B8, - 8564 - 7870: 0xC6B9, - 8565 - 7870: 0xC6BA, - 8566 - 7870: 0xC6BB, - 8567 - 7870: 0xC6BC, - 8568 - 7870: 0xC6BD, - 8569 - 7870: 0xC6BE, - 8592 - 7870: 0xA1F6, - 8593 - 7870: 0xA1F4, - 8594 - 7870: 0xA1F7, - 8595 - 7870: 0xA1F5, - 8598 - 7870: 0xA1F8, - 8599 - 7870: 0xA1F9, - 8600 - 7870: 0xA1FB, - 8601 - 7870: 0xA1FA, - 8632 - 7870: 0xC877, - 8633 - 7870: 0xC878, - 8679 - 7870: 0xC876, - 8725 - 7870: 0xA241, - 8730 - 7870: 0xA1D4, - 8734 - 7870: 0xA1DB, - 8735 - 7870: 0xA1E8, - 8736 - 7870: 0xA1E7, - 8739 - 7870: 0xA1FD, - 8741 - 7870: 0xA1FC, - 8745 - 7870: 0xA1E4, - 8746 - 7870: 0xA1E5, - 8747 - 7870: 0xA1EC, - 8750 - 7870: 0xA1ED, - 8756 - 7870: 0xA1EF, - 8757 - 7870: 0xA1EE, - 8786 - 7870: 0xA1DC, - 8800 - 7870: 0xA1DA, - 8801 - 7870: 0xA1DD, - 8806 - 7870: 0xA1D8, - 8807 - 7870: 0xA1D9, - 8853 - 7870: 0xA1F2, - 8857 - 7870: 0xA1F3, - 8869 - 7870: 0xA1E6, - 8895 - 7870: 0xA1E9, - 9178 - 7870: 0x88A9, - 9179 - 7870: 0x88AA, - 9216 - 7870: 0xA3C0, - 9217 - 7870: 0xA3C1, - 9218 - 7870: 0xA3C2, - 9219 - 7870: 0xA3C3, - 9220 - 7870: 0xA3C4, - 9221 - 7870: 0xA3C5, - 9222 - 7870: 0xA3C6, - 9223 - 7870: 0xA3C7, - 9224 - 7870: 0xA3C8, - 9225 - 7870: 0xA3C9, - 9226 - 7870: 0xA3CA, - 9227 - 7870: 0xA3CB, - 9228 - 7870: 0xA3CC, - 9229 - 7870: 0xA3CD, - 9230 - 7870: 0xA3CE, - 9231 - 7870: 0xA3CF, - 9232 - 7870: 0xA3D0, - 9233 - 7870: 0xA3D1, - 9234 - 7870: 0xA3D2, - 9235 - 7870: 0xA3D3, - 9236 - 7870: 0xA3D4, - 9237 - 7870: 0xA3D5, - 9238 - 7870: 0xA3D6, - 9239 - 7870: 0xA3D7, - 9240 - 7870: 0xA3D8, - 9241 - 7870: 0xA3D9, - 9242 - 7870: 0xA3DA, - 9243 - 7870: 0xA3DB, - 9244 - 7870: 0xA3DC, - 9245 - 7870: 0xA3DD, - 9246 - 7870: 0xA3DE, - 9247 - 7870: 0xA3DF, - 9249 - 7870: 0xA3E0, - 9312 - 7870: 0xC6A1, - 9313 - 7870: 0xC6A2, - 9314 - 7870: 0xC6A3, - 9315 - 7870: 0xC6A4, - 9316 - 7870: 0xC6A5, - 9317 - 7870: 0xC6A6, - 9318 - 7870: 0xC6A7, - 9319 - 7870: 0xC6A8, - 9320 - 7870: 0xC6A9, - 9321 - 7870: 0xC6AA, - 9332 - 7870: 0xC6AB, - 9333 - 7870: 0xC6AC, - 9334 - 7870: 0xC6AD, - 9335 - 7870: 0xC6AE, - 9336 - 7870: 0xC6AF, - 9337 - 7870: 0xC6B0, - 9338 - 7870: 0xC6B1, - 9339 - 7870: 0xC6B2, - 9340 - 7870: 0xC6B3, - 9341 - 7870: 0xC6B4, - 9472 - 7870: 0xA277, - 9474 - 7870: 0xA278, - 9484 - 7870: 0xA27A, - 9488 - 7870: 0xA27B, - 9492 - 7870: 0xA27C, - 9496 - 7870: 0xA27D, - 9500 - 7870: 0xA275, - 9508 - 7870: 0xA274, - 9516 - 7870: 0xA273, - 9524 - 7870: 0xA272, - 9532 - 7870: 0xA271, - 9552 - 7870: 0xF9F9, - 9553 - 7870: 0xF9F8, - 9554 - 7870: 0xF9E6, - 9555 - 7870: 0xF9EF, - 9556 - 7870: 0xF9DD, - 9557 - 7870: 0xF9E8, - 9558 - 7870: 0xF9F1, - 9559 - 7870: 0xF9DF, - 9560 - 7870: 0xF9EC, - 9561 - 7870: 0xF9F5, - 9562 - 7870: 0xF9E3, - 9563 - 7870: 0xF9EE, - 9564 - 7870: 0xF9F7, - 9565 - 7870: 0xF9E5, - 9566 - 7870: 0xF9E9, - 9567 - 7870: 0xF9F2, - 9568 - 7870: 0xF9E0, - 9569 - 7870: 0xF9EB, - 9570 - 7870: 0xF9F4, - 9571 - 7870: 0xF9E2, - 9572 - 7870: 0xF9E7, - 9573 - 7870: 0xF9F0, - 9574 - 7870: 0xF9DE, - 9575 - 7870: 0xF9ED, - 9576 - 7870: 0xF9F6, - 9577 - 7870: 0xF9E4, - 9578 - 7870: 0xF9EA, - 9579 - 7870: 0xF9F3, - 9580 - 7870: 0xF9E1, - 9581 - 7870: 0xF9FA, - 9582 - 7870: 0xF9FB, - 9583 - 7870: 0xF9FD, - 9584 - 7870: 0xF9FC, - 9585 - 7870: 0xA2AC, - 9586 - 7870: 0xA2AD, - 9587 - 7870: 0xA2AE, - 9588 - 7870: 0xA15A, - 9601 - 7870: 0xA262, - 9602 - 7870: 0xA263, - 9603 - 7870: 0xA264, - 9604 - 7870: 0xA265, - 9605 - 7870: 0xA266, - 9606 - 7870: 0xA267, - 9607 - 7870: 0xA268, - 9608 - 7870: 0xA269, - 9609 - 7870: 0xA270, - 9610 - 7870: 0xA26F, - 9611 - 7870: 0xA26E, - 9612 - 7870: 0xA26D, - 9613 - 7870: 0xA26C, - 9614 - 7870: 0xA26B, - 9615 - 7870: 0xA26A, - 9620 - 7870: 0xA276, - 9621 - 7870: 0xA279, - 9632 - 7870: 0xA1BD, - 9633 - 7870: 0xA1BC, - 9650 - 7870: 0xA1B6, - 9651 - 7870: 0xA1B5, - 9660 - 7870: 0xA1BF, - 9661 - 7870: 0xA1BE, - 9670 - 7870: 0xA1BB, - 9671 - 7870: 0xA1BA, - 9675 - 7870: 0xA1B3, - 9678 - 7870: 0xA1B7, - 9679 - 7870: 0xA1B4, - 9698 - 7870: 0xA2A8, - 9699 - 7870: 0xA2A9, - 9700 - 7870: 0xA2AB, - 9701 - 7870: 0xA2AA, - 9733 - 7870: 0xA1B9, - 9734 - 7870: 0xA1B8, - 9792 - 7870: 0xA1F0, - 9794 - 7870: 0xA1F1, - 10045 - 7870: 0xC6E6, -} - -const encode3Low, encode3High = 167, 1106 - -var encode3 = [...]uint16{ - 167 - 167: 0xA1B1, - 168 - 167: 0xC6D8, - 175 - 167: 0xA1C2, - 176 - 167: 0xA258, - 177 - 167: 0xA1D3, - 183 - 167: 0xA150, - 192 - 167: 0x8859, - 193 - 167: 0x8857, - 200 - 167: 0x885D, - 201 - 167: 0x885B, - 202 - 167: 0x8866, - 210 - 167: 0x8861, - 211 - 167: 0x885F, - 215 - 167: 0xA1D1, - 224 - 167: 0x886A, - 225 - 167: 0x8868, - 232 - 167: 0x886F, - 233 - 167: 0x886D, - 234 - 167: 0x88A7, - 236 - 167: 0x8873, - 237 - 167: 0x8871, - 242 - 167: 0x8877, - 243 - 167: 0x8875, - 247 - 167: 0xA1D2, - 248 - 167: 0xC8FB, - 249 - 167: 0x887B, - 250 - 167: 0x8879, - 252 - 167: 0x88A2, - 256 - 167: 0x8856, - 257 - 167: 0x8867, - 274 - 167: 0x885A, - 275 - 167: 0x886C, - 282 - 167: 0x885C, - 283 - 167: 0x886E, - 299 - 167: 0x8870, - 331 - 167: 0xC8FC, - 332 - 167: 0x885E, - 333 - 167: 0x8874, - 339 - 167: 0xC8FA, - 363 - 167: 0x8878, - 461 - 167: 0x8858, - 462 - 167: 0x8869, - 464 - 167: 0x8872, - 465 - 167: 0x8860, - 466 - 167: 0x8876, - 468 - 167: 0x887A, - 470 - 167: 0x887C, - 472 - 167: 0x887D, - 474 - 167: 0x887E, - 476 - 167: 0x88A1, - 592 - 167: 0xC8F6, - 593 - 167: 0x886B, - 596 - 167: 0xC8F8, - 603 - 167: 0xC8F7, - 609 - 167: 0x88A8, - 618 - 167: 0xC8FE, - 629 - 167: 0xC8F9, - 643 - 167: 0xC8F5, - 650 - 167: 0xC8FD, - 710 - 167: 0xC6D9, - 711 - 167: 0xA3BE, - 713 - 167: 0xA3BC, - 714 - 167: 0xA3BD, - 715 - 167: 0xA3BF, - 717 - 167: 0xA1C5, - 729 - 167: 0xA3BB, - 913 - 167: 0xA344, - 914 - 167: 0xA345, - 915 - 167: 0xA346, - 916 - 167: 0xA347, - 917 - 167: 0xA348, - 918 - 167: 0xA349, - 919 - 167: 0xA34A, - 920 - 167: 0xA34B, - 921 - 167: 0xA34C, - 922 - 167: 0xA34D, - 923 - 167: 0xA34E, - 924 - 167: 0xA34F, - 925 - 167: 0xA350, - 926 - 167: 0xA351, - 927 - 167: 0xA352, - 928 - 167: 0xA353, - 929 - 167: 0xA354, - 931 - 167: 0xA355, - 932 - 167: 0xA356, - 933 - 167: 0xA357, - 934 - 167: 0xA358, - 935 - 167: 0xA359, - 936 - 167: 0xA35A, - 937 - 167: 0xA35B, - 945 - 167: 0xA35C, - 946 - 167: 0xA35D, - 947 - 167: 0xA35E, - 948 - 167: 0xA35F, - 949 - 167: 0xA360, - 950 - 167: 0xA361, - 951 - 167: 0xA362, - 952 - 167: 0xA363, - 953 - 167: 0xA364, - 954 - 167: 0xA365, - 955 - 167: 0xA366, - 956 - 167: 0xA367, - 957 - 167: 0xA368, - 958 - 167: 0xA369, - 959 - 167: 0xA36A, - 960 - 167: 0xA36B, - 961 - 167: 0xA36C, - 963 - 167: 0xA36D, - 964 - 167: 0xA36E, - 965 - 167: 0xA36F, - 966 - 167: 0xA370, - 967 - 167: 0xA371, - 968 - 167: 0xA372, - 969 - 167: 0xA373, - 1025 - 167: 0xC7F9, - 1040 - 167: 0xC7F3, - 1041 - 167: 0xC7F4, - 1042 - 167: 0xC7F5, - 1043 - 167: 0xC7F6, - 1044 - 167: 0xC7F7, - 1045 - 167: 0xC7F8, - 1046 - 167: 0xC7FA, - 1047 - 167: 0xC7FB, - 1048 - 167: 0xC7FC, - 1049 - 167: 0xC7FD, - 1050 - 167: 0xC7FE, - 1051 - 167: 0xC840, - 1052 - 167: 0xC841, - 1053 - 167: 0xC842, - 1054 - 167: 0xC843, - 1055 - 167: 0xC844, - 1056 - 167: 0xC845, - 1057 - 167: 0xC846, - 1058 - 167: 0xC847, - 1059 - 167: 0xC848, - 1060 - 167: 0xC849, - 1061 - 167: 0xC84A, - 1062 - 167: 0xC84B, - 1063 - 167: 0xC84C, - 1064 - 167: 0xC84D, - 1065 - 167: 0xC84E, - 1066 - 167: 0xC84F, - 1067 - 167: 0xC850, - 1068 - 167: 0xC851, - 1069 - 167: 0xC852, - 1070 - 167: 0xC853, - 1071 - 167: 0xC854, - 1072 - 167: 0xC855, - 1073 - 167: 0xC856, - 1074 - 167: 0xC857, - 1075 - 167: 0xC858, - 1076 - 167: 0xC859, - 1077 - 167: 0xC85A, - 1078 - 167: 0xC85C, - 1079 - 167: 0xC85D, - 1080 - 167: 0xC85E, - 1081 - 167: 0xC85F, - 1082 - 167: 0xC860, - 1083 - 167: 0xC861, - 1084 - 167: 0xC862, - 1085 - 167: 0xC863, - 1086 - 167: 0xC864, - 1087 - 167: 0xC865, - 1088 - 167: 0xC866, - 1089 - 167: 0xC867, - 1090 - 167: 0xC868, - 1091 - 167: 0xC869, - 1092 - 167: 0xC86A, - 1093 - 167: 0xC86B, - 1094 - 167: 0xC86C, - 1095 - 167: 0xC86D, - 1096 - 167: 0xC86E, - 1097 - 167: 0xC86F, - 1098 - 167: 0xC870, - 1099 - 167: 0xC871, - 1100 - 167: 0xC872, - 1101 - 167: 0xC873, - 1102 - 167: 0xC874, - 1103 - 167: 0xC875, - 1105 - 167: 0xC85B, -} - -const encode4Low, encode4High = 65072, 65518 - -var encode4 = [...]uint16{ - 65072 - 65072: 0xA14A, - 65073 - 65072: 0xA157, - 65075 - 65072: 0xA159, - 65076 - 65072: 0xA15B, - 65077 - 65072: 0xA15F, - 65078 - 65072: 0xA160, - 65079 - 65072: 0xA163, - 65080 - 65072: 0xA164, - 65081 - 65072: 0xA167, - 65082 - 65072: 0xA168, - 65083 - 65072: 0xA16B, - 65084 - 65072: 0xA16C, - 65085 - 65072: 0xA16F, - 65086 - 65072: 0xA170, - 65087 - 65072: 0xA173, - 65088 - 65072: 0xA174, - 65089 - 65072: 0xA177, - 65090 - 65072: 0xA178, - 65091 - 65072: 0xA17B, - 65092 - 65072: 0xA17C, - 65097 - 65072: 0xA1C6, - 65098 - 65072: 0xA1C7, - 65099 - 65072: 0xA1CA, - 65100 - 65072: 0xA1CB, - 65101 - 65072: 0xA1C8, - 65102 - 65072: 0xA1C9, - 65103 - 65072: 0xA15C, - 65104 - 65072: 0xA14D, - 65105 - 65072: 0xA14E, - 65106 - 65072: 0xA14F, - 65108 - 65072: 0xA151, - 65109 - 65072: 0xA152, - 65110 - 65072: 0xA153, - 65111 - 65072: 0xA154, - 65113 - 65072: 0xA17D, - 65114 - 65072: 0xA17E, - 65115 - 65072: 0xA1A1, - 65116 - 65072: 0xA1A2, - 65117 - 65072: 0xA1A3, - 65118 - 65072: 0xA1A4, - 65119 - 65072: 0xA1CC, - 65120 - 65072: 0xA1CD, - 65121 - 65072: 0xA1CE, - 65122 - 65072: 0xA1DE, - 65123 - 65072: 0xA1DF, - 65124 - 65072: 0xA1E0, - 65125 - 65072: 0xA1E1, - 65126 - 65072: 0xA1E2, - 65128 - 65072: 0xA242, - 65129 - 65072: 0xA24C, - 65130 - 65072: 0xA24D, - 65131 - 65072: 0xA24E, - 65281 - 65072: 0xA149, - 65282 - 65072: 0xC8D0, - 65283 - 65072: 0xA1AD, - 65284 - 65072: 0xA243, - 65285 - 65072: 0xA248, - 65286 - 65072: 0xA1AE, - 65287 - 65072: 0xC8CF, - 65288 - 65072: 0xA15D, - 65289 - 65072: 0xA15E, - 65290 - 65072: 0xA1AF, - 65291 - 65072: 0xA1CF, - 65292 - 65072: 0xA141, - 65293 - 65072: 0xA1D0, - 65294 - 65072: 0xA144, - 65295 - 65072: 0xA1FE, - 65296 - 65072: 0xA2AF, - 65297 - 65072: 0xA2B0, - 65298 - 65072: 0xA2B1, - 65299 - 65072: 0xA2B2, - 65300 - 65072: 0xA2B3, - 65301 - 65072: 0xA2B4, - 65302 - 65072: 0xA2B5, - 65303 - 65072: 0xA2B6, - 65304 - 65072: 0xA2B7, - 65305 - 65072: 0xA2B8, - 65306 - 65072: 0xA147, - 65307 - 65072: 0xA146, - 65308 - 65072: 0xA1D5, - 65309 - 65072: 0xA1D7, - 65310 - 65072: 0xA1D6, - 65311 - 65072: 0xA148, - 65312 - 65072: 0xA249, - 65313 - 65072: 0xA2CF, - 65314 - 65072: 0xA2D0, - 65315 - 65072: 0xA2D1, - 65316 - 65072: 0xA2D2, - 65317 - 65072: 0xA2D3, - 65318 - 65072: 0xA2D4, - 65319 - 65072: 0xA2D5, - 65320 - 65072: 0xA2D6, - 65321 - 65072: 0xA2D7, - 65322 - 65072: 0xA2D8, - 65323 - 65072: 0xA2D9, - 65324 - 65072: 0xA2DA, - 65325 - 65072: 0xA2DB, - 65326 - 65072: 0xA2DC, - 65327 - 65072: 0xA2DD, - 65328 - 65072: 0xA2DE, - 65329 - 65072: 0xA2DF, - 65330 - 65072: 0xA2E0, - 65331 - 65072: 0xA2E1, - 65332 - 65072: 0xA2E2, - 65333 - 65072: 0xA2E3, - 65334 - 65072: 0xA2E4, - 65335 - 65072: 0xA2E5, - 65336 - 65072: 0xA2E6, - 65337 - 65072: 0xA2E7, - 65338 - 65072: 0xA2E8, - 65339 - 65072: 0xC6E4, - 65340 - 65072: 0xA240, - 65341 - 65072: 0xC6E5, - 65343 - 65072: 0xA1C4, - 65345 - 65072: 0xA2E9, - 65346 - 65072: 0xA2EA, - 65347 - 65072: 0xA2EB, - 65348 - 65072: 0xA2EC, - 65349 - 65072: 0xA2ED, - 65350 - 65072: 0xA2EE, - 65351 - 65072: 0xA2EF, - 65352 - 65072: 0xA2F0, - 65353 - 65072: 0xA2F1, - 65354 - 65072: 0xA2F2, - 65355 - 65072: 0xA2F3, - 65356 - 65072: 0xA2F4, - 65357 - 65072: 0xA2F5, - 65358 - 65072: 0xA2F6, - 65359 - 65072: 0xA2F7, - 65360 - 65072: 0xA2F8, - 65361 - 65072: 0xA2F9, - 65362 - 65072: 0xA2FA, - 65363 - 65072: 0xA2FB, - 65364 - 65072: 0xA2FC, - 65365 - 65072: 0xA2FD, - 65366 - 65072: 0xA2FE, - 65367 - 65072: 0xA340, - 65368 - 65072: 0xA341, - 65369 - 65072: 0xA342, - 65370 - 65072: 0xA343, - 65371 - 65072: 0xA161, - 65372 - 65072: 0xA155, - 65373 - 65072: 0xA162, - 65374 - 65072: 0xA1E3, - 65504 - 65072: 0xA246, - 65505 - 65072: 0xA247, - 65506 - 65072: 0xC8CD, - 65507 - 65072: 0xA1C3, - 65508 - 65072: 0xC8CE, - 65509 - 65072: 0xA244, - 65517 - 65072: 0xF9FE, -} - -const encode5Low, encode5High = 194597, 195029 - -var encode5 = [...]uint16{ - 194597 - 194597: 0x9874, - 194619 - 194597: 0x9AC8, - 194624 - 194597: 0xA047, - 194680 - 194597: 0x8BC3, - 194708 - 194597: 0xFC48, - 194726 - 194597: 0xFC77, - 194765 - 194597: 0x9C52, - 194964 - 194597: 0x8EFD, - 194994 - 194597: 0x8FA8, - 195004 - 194597: 0x957A, - 195028 - 194597: 0x8FF0, -} - -const encode6Low, encode6High = 63751, 64014 - -var encode6 = [...]uint16{ - 63751 - 63751: 0x8BF8, - 64012 - 63751: 0xC94A, - 64013 - 63751: 0xDDFC, -} - -const encode7Low, encode7High = 175615, 175616 - -var encode7 = [...]uint16{ - 175615 - 175615: 0x87DC, -} diff --git a/vendor/golang.org/x/text/encoding/unicode/override.go b/vendor/golang.org/x/text/encoding/unicode/override.go deleted file mode 100644 index 35d62fcc9..000000000 --- a/vendor/golang.org/x/text/encoding/unicode/override.go +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package unicode - -import ( - "golang.org/x/text/transform" -) - -// BOMOverride returns a new decoder transformer that is identical to fallback, -// except that the presence of a Byte Order Mark at the start of the input -// causes it to switch to the corresponding Unicode decoding. It will only -// consider BOMs for UTF-8, UTF-16BE, and UTF-16LE. -// -// This differs from using ExpectBOM by allowing a BOM to switch to UTF-8, not -// just UTF-16 variants, and allowing falling back to any encoding scheme. -// -// This technique is recommended by the W3C for use in HTML 5: "For -// compatibility with deployed content, the byte order mark (also known as BOM) -// is considered more authoritative than anything else." -// http://www.w3.org/TR/encoding/#specification-hooks -// -// Using BOMOverride is mostly intended for use cases where the first characters -// of a fallback encoding are known to not be a BOM, for example, for valid HTML -// and most encodings. -func BOMOverride(fallback transform.Transformer) transform.Transformer { - // TODO: possibly allow a variadic argument of unicode encodings to allow - // specifying details of which fallbacks are supported as well as - // specifying the details of the implementations. This would also allow for - // support for UTF-32, which should not be supported by default. - return &bomOverride{fallback: fallback} -} - -type bomOverride struct { - fallback transform.Transformer - current transform.Transformer -} - -func (d *bomOverride) Reset() { - d.current = nil - d.fallback.Reset() -} - -var ( - // TODO: we could use decode functions here, instead of allocating a new - // decoder on every NewDecoder as IgnoreBOM decoders can be stateless. - utf16le = UTF16(LittleEndian, IgnoreBOM) - utf16be = UTF16(BigEndian, IgnoreBOM) -) - -const utf8BOM = "\ufeff" - -func (d *bomOverride) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - if d.current != nil { - return d.current.Transform(dst, src, atEOF) - } - if len(src) < 3 && !atEOF { - return 0, 0, transform.ErrShortSrc - } - d.current = d.fallback - bomSize := 0 - if len(src) >= 2 { - if src[0] == 0xFF && src[1] == 0xFE { - d.current = utf16le.NewDecoder() - bomSize = 2 - } else if src[0] == 0xFE && src[1] == 0xFF { - d.current = utf16be.NewDecoder() - bomSize = 2 - } else if len(src) >= 3 && - src[0] == utf8BOM[0] && - src[1] == utf8BOM[1] && - src[2] == utf8BOM[2] { - d.current = transform.Nop - bomSize = 3 - } - } - if bomSize < len(src) { - nDst, nSrc, err = d.current.Transform(dst, src[bomSize:], atEOF) - } - return nDst, nSrc + bomSize, err -} diff --git a/vendor/golang.org/x/text/encoding/unicode/unicode.go b/vendor/golang.org/x/text/encoding/unicode/unicode.go deleted file mode 100644 index 46622013c..000000000 --- a/vendor/golang.org/x/text/encoding/unicode/unicode.go +++ /dev/null @@ -1,431 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package unicode provides Unicode encodings such as UTF-16. -package unicode - -import ( - "errors" - "unicode/utf16" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/internal/utf8internal" - "golang.org/x/text/runes" - "golang.org/x/text/transform" -) - -// TODO: I think the Transformers really should return errors on unmatched -// surrogate pairs and odd numbers of bytes. This is not required by RFC 2781, -// which leaves it open, but is suggested by WhatWG. It will allow for all error -// modes as defined by WhatWG: fatal, HTML and Replacement. This would require -// the introduction of some kind of error type for conveying the erroneous code -// point. - -// TODO: -// - Define UTF-32? - -// UTF8 is the UTF-8 encoding. -var UTF8 encoding.Encoding = utf8enc - -var utf8enc = &internal.Encoding{ - &internal.SimpleEncoding{utf8Decoder{}, runes.ReplaceIllFormed()}, - "UTF-8", - identifier.UTF8, -} - -type utf8Decoder struct{ transform.NopResetter } - -func (utf8Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - var pSrc int // point from which to start copy in src - var accept utf8internal.AcceptRange - - // The decoder can only make the input larger, not smaller. - n := len(src) - if len(dst) < n { - err = transform.ErrShortDst - n = len(dst) - atEOF = false - } - for nSrc < n { - c := src[nSrc] - if c < utf8.RuneSelf { - nSrc++ - continue - } - first := utf8internal.First[c] - size := int(first & utf8internal.SizeMask) - if first == utf8internal.FirstInvalid { - goto handleInvalid // invalid starter byte - } - accept = utf8internal.AcceptRanges[first>>utf8internal.AcceptShift] - if nSrc+size > n { - if !atEOF { - // We may stop earlier than necessary here if the short sequence - // has invalid bytes. Not checking for this simplifies the code - // and may avoid duplicate computations in certain conditions. - if err == nil { - err = transform.ErrShortSrc - } - break - } - // Determine the maximal subpart of an ill-formed subsequence. - switch { - case nSrc+1 >= n || src[nSrc+1] < accept.Lo || accept.Hi < src[nSrc+1]: - size = 1 - case nSrc+2 >= n || src[nSrc+2] < utf8internal.LoCB || utf8internal.HiCB < src[nSrc+2]: - size = 2 - default: - size = 3 // As we are short, the maximum is 3. - } - goto handleInvalid - } - if c = src[nSrc+1]; c < accept.Lo || accept.Hi < c { - size = 1 - goto handleInvalid // invalid continuation byte - } else if size == 2 { - } else if c = src[nSrc+2]; c < utf8internal.LoCB || utf8internal.HiCB < c { - size = 2 - goto handleInvalid // invalid continuation byte - } else if size == 3 { - } else if c = src[nSrc+3]; c < utf8internal.LoCB || utf8internal.HiCB < c { - size = 3 - goto handleInvalid // invalid continuation byte - } - nSrc += size - continue - - handleInvalid: - // Copy the scanned input so far. - nDst += copy(dst[nDst:], src[pSrc:nSrc]) - - // Append RuneError to the destination. - const runeError = "\ufffd" - if nDst+len(runeError) > len(dst) { - return nDst, nSrc, transform.ErrShortDst - } - nDst += copy(dst[nDst:], runeError) - - // Skip the maximal subpart of an ill-formed subsequence according to - // the W3C standard way instead of the Go way. This Transform is - // probably the only place in the text repo where it is warranted. - nSrc += size - pSrc = nSrc - - // Recompute the maximum source length. - if sz := len(dst) - nDst; sz < len(src)-nSrc { - err = transform.ErrShortDst - n = nSrc + sz - atEOF = false - } - } - return nDst + copy(dst[nDst:], src[pSrc:nSrc]), nSrc, err -} - -// UTF16 returns a UTF-16 Encoding for the given default endianness and byte -// order mark (BOM) policy. -// -// When decoding from UTF-16 to UTF-8, if the BOMPolicy is IgnoreBOM then -// neither BOMs U+FEFF nor noncharacters U+FFFE in the input stream will affect -// the endianness used for decoding, and will instead be output as their -// standard UTF-8 encodings: "\xef\xbb\xbf" and "\xef\xbf\xbe". If the BOMPolicy -// is UseBOM or ExpectBOM a staring BOM is not written to the UTF-8 output. -// Instead, it overrides the default endianness e for the remainder of the -// transformation. Any subsequent BOMs U+FEFF or noncharacters U+FFFE will not -// affect the endianness used, and will instead be output as their standard -// UTF-8 encodings. For UseBOM, if there is no starting BOM, it will proceed -// with the default Endianness. For ExpectBOM, in that case, the transformation -// will return early with an ErrMissingBOM error. -// -// When encoding from UTF-8 to UTF-16, a BOM will be inserted at the start of -// the output if the BOMPolicy is UseBOM or ExpectBOM. Otherwise, a BOM will not -// be inserted. The UTF-8 input does not need to contain a BOM. -// -// There is no concept of a 'native' endianness. If the UTF-16 data is produced -// and consumed in a greater context that implies a certain endianness, use -// IgnoreBOM. Otherwise, use ExpectBOM and always produce and consume a BOM. -// -// In the language of http://www.unicode.org/faq/utf_bom.html#bom10, IgnoreBOM -// corresponds to "Where the precise type of the data stream is known... the -// BOM should not be used" and ExpectBOM corresponds to "A particular -// protocol... may require use of the BOM". -func UTF16(e Endianness, b BOMPolicy) encoding.Encoding { - return utf16Encoding{config{e, b}, mibValue[e][b&bomMask]} -} - -// mibValue maps Endianness and BOMPolicy settings to MIB constants. Note that -// some configurations map to the same MIB identifier. RFC 2781 has requirements -// and recommendations. Some of the "configurations" are merely recommendations, -// so multiple configurations could match. -var mibValue = map[Endianness][numBOMValues]identifier.MIB{ - BigEndian: [numBOMValues]identifier.MIB{ - IgnoreBOM: identifier.UTF16BE, - UseBOM: identifier.UTF16, // BigEnding default is preferred by RFC 2781. - // TODO: acceptBOM | strictBOM would map to UTF16BE as well. - }, - LittleEndian: [numBOMValues]identifier.MIB{ - IgnoreBOM: identifier.UTF16LE, - UseBOM: identifier.UTF16, // LittleEndian default is allowed and preferred on Windows. - // TODO: acceptBOM | strictBOM would map to UTF16LE as well. - }, - // ExpectBOM is not widely used and has no valid MIB identifier. -} - -// All lists a configuration for each IANA-defined UTF-16 variant. -var All = []encoding.Encoding{ - UTF8, - UTF16(BigEndian, UseBOM), - UTF16(BigEndian, IgnoreBOM), - UTF16(LittleEndian, IgnoreBOM), -} - -// BOMPolicy is a UTF-16 encoding's byte order mark policy. -type BOMPolicy uint8 - -const ( - writeBOM BOMPolicy = 0x01 - acceptBOM BOMPolicy = 0x02 - requireBOM BOMPolicy = 0x04 - bomMask BOMPolicy = 0x07 - - // HACK: numBOMValues == 8 triggers a bug in the 1.4 compiler (cannot have a - // map of an array of length 8 of a type that is also used as a key or value - // in another map). See golang.org/issue/11354. - // TODO: consider changing this value back to 8 if the use of 1.4.* has - // been minimized. - numBOMValues = 8 + 1 - - // IgnoreBOM means to ignore any byte order marks. - IgnoreBOM BOMPolicy = 0 - // Common and RFC 2781-compliant interpretation for UTF-16BE/LE. - - // UseBOM means that the UTF-16 form may start with a byte order mark, which - // will be used to override the default encoding. - UseBOM BOMPolicy = writeBOM | acceptBOM - // Common and RFC 2781-compliant interpretation for UTF-16. - - // ExpectBOM means that the UTF-16 form must start with a byte order mark, - // which will be used to override the default encoding. - ExpectBOM BOMPolicy = writeBOM | acceptBOM | requireBOM - // Used in Java as Unicode (not to be confused with Java's UTF-16) and - // ICU's UTF-16,version=1. Not compliant with RFC 2781. - - // TODO (maybe): strictBOM: BOM must match Endianness. This would allow: - // - UTF-16(B|L)E,version=1: writeBOM | acceptBOM | requireBOM | strictBOM - // (UnicodeBig and UnicodeLittle in Java) - // - RFC 2781-compliant, but less common interpretation for UTF-16(B|L)E: - // acceptBOM | strictBOM (e.g. assigned to CheckBOM). - // This addition would be consistent with supporting ExpectBOM. -) - -// Endianness is a UTF-16 encoding's default endianness. -type Endianness bool - -const ( - // BigEndian is UTF-16BE. - BigEndian Endianness = false - // LittleEndian is UTF-16LE. - LittleEndian Endianness = true -) - -// ErrMissingBOM means that decoding UTF-16 input with ExpectBOM did not find a -// starting byte order mark. -var ErrMissingBOM = errors.New("encoding: missing byte order mark") - -type utf16Encoding struct { - config - mib identifier.MIB -} - -type config struct { - endianness Endianness - bomPolicy BOMPolicy -} - -func (u utf16Encoding) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: &utf16Decoder{ - initial: u.config, - current: u.config, - }} -} - -func (u utf16Encoding) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: &utf16Encoder{ - endianness: u.endianness, - initialBOMPolicy: u.bomPolicy, - currentBOMPolicy: u.bomPolicy, - }} -} - -func (u utf16Encoding) ID() (mib identifier.MIB, other string) { - return u.mib, "" -} - -func (u utf16Encoding) String() string { - e, b := "B", "" - if u.endianness == LittleEndian { - e = "L" - } - switch u.bomPolicy { - case ExpectBOM: - b = "Expect" - case UseBOM: - b = "Use" - case IgnoreBOM: - b = "Ignore" - } - return "UTF-16" + e + "E (" + b + " BOM)" -} - -type utf16Decoder struct { - initial config - current config -} - -func (u *utf16Decoder) Reset() { - u.current = u.initial -} - -func (u *utf16Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - if u.current.bomPolicy&acceptBOM != 0 { - if len(src) < 2 { - return 0, 0, transform.ErrShortSrc - } - switch { - case src[0] == 0xfe && src[1] == 0xff: - u.current.endianness = BigEndian - nSrc = 2 - case src[0] == 0xff && src[1] == 0xfe: - u.current.endianness = LittleEndian - nSrc = 2 - default: - if u.current.bomPolicy&requireBOM != 0 { - return 0, 0, ErrMissingBOM - } - } - u.current.bomPolicy = IgnoreBOM - } - - var r rune - var dSize, sSize int - for nSrc < len(src) { - if nSrc+1 < len(src) { - x := uint16(src[nSrc+0])<<8 | uint16(src[nSrc+1]) - if u.current.endianness == LittleEndian { - x = x>>8 | x<<8 - } - r, sSize = rune(x), 2 - if utf16.IsSurrogate(r) { - if nSrc+3 < len(src) { - x = uint16(src[nSrc+2])<<8 | uint16(src[nSrc+3]) - if u.current.endianness == LittleEndian { - x = x>>8 | x<<8 - } - // Save for next iteration if it is not a high surrogate. - if isHighSurrogate(rune(x)) { - r, sSize = utf16.DecodeRune(r, rune(x)), 4 - } - } else if !atEOF { - err = transform.ErrShortSrc - break - } - } - if dSize = utf8.RuneLen(r); dSize < 0 { - r, dSize = utf8.RuneError, 3 - } - } else if atEOF { - // Single trailing byte. - r, dSize, sSize = utf8.RuneError, 3, 1 - } else { - err = transform.ErrShortSrc - break - } - if nDst+dSize > len(dst) { - err = transform.ErrShortDst - break - } - nDst += utf8.EncodeRune(dst[nDst:], r) - nSrc += sSize - } - return nDst, nSrc, err -} - -func isHighSurrogate(r rune) bool { - return 0xDC00 <= r && r <= 0xDFFF -} - -type utf16Encoder struct { - endianness Endianness - initialBOMPolicy BOMPolicy - currentBOMPolicy BOMPolicy -} - -func (u *utf16Encoder) Reset() { - u.currentBOMPolicy = u.initialBOMPolicy -} - -func (u *utf16Encoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - if u.currentBOMPolicy&writeBOM != 0 { - if len(dst) < 2 { - return 0, 0, transform.ErrShortDst - } - dst[0], dst[1] = 0xfe, 0xff - u.currentBOMPolicy = IgnoreBOM - nDst = 2 - } - - r, size := rune(0), 0 - for nSrc < len(src) { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - } - - if r <= 0xffff { - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = uint8(r >> 8) - dst[nDst+1] = uint8(r) - nDst += 2 - } else { - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - r1, r2 := utf16.EncodeRune(r) - dst[nDst+0] = uint8(r1 >> 8) - dst[nDst+1] = uint8(r1) - dst[nDst+2] = uint8(r2 >> 8) - dst[nDst+3] = uint8(r2) - nDst += 4 - } - nSrc += size - } - - if u.endianness == LittleEndian { - for i := 0; i < nDst; i += 2 { - dst[i], dst[i+1] = dst[i+1], dst[i] - } - } - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/internal/tag/tag.go b/vendor/golang.org/x/text/internal/tag/tag.go deleted file mode 100644 index 2cf4ecd29..000000000 --- a/vendor/golang.org/x/text/internal/tag/tag.go +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package tag contains functionality handling tags and related data. -package tag - -import "sort" - -// An Index converts tags to a compact numeric value. -// -// All elements are of size 4. Tags may be up to 4 bytes long. Excess bytes can -// be used to store additional information about the tag. -type Index string - -// Elem returns the element data at the given index. -func (s Index) Elem(x int) string { - return string(s[x*4 : x*4+4]) -} - -// Index reports the index of the given key or -1 if it could not be found. -// Only the first len(key) bytes from the start of the 4-byte entries will be -// considered for the search and the first match in Index will be returned. -func (s Index) Index(key []byte) int { - n := len(key) - // search the index of the first entry with an equal or higher value than - // key in s. - index := sort.Search(len(s)/4, func(i int) bool { - return cmp(s[i*4:i*4+n], key) != -1 - }) - i := index * 4 - if cmp(s[i:i+len(key)], key) != 0 { - return -1 - } - return index -} - -// Next finds the next occurrence of key after index x, which must have been -// obtained from a call to Index using the same key. It returns x+1 or -1. -func (s Index) Next(key []byte, x int) int { - if x++; x*4 < len(s) && cmp(s[x*4:x*4+len(key)], key) == 0 { - return x - } - return -1 -} - -// cmp returns an integer comparing a and b lexicographically. -func cmp(a Index, b []byte) int { - n := len(a) - if len(b) < n { - n = len(b) - } - for i, c := range b[:n] { - switch { - case a[i] > c: - return 1 - case a[i] < c: - return -1 - } - } - switch { - case len(a) < len(b): - return -1 - case len(a) > len(b): - return 1 - } - return 0 -} - -// Compare returns an integer comparing a and b lexicographically. -func Compare(a string, b []byte) int { - return cmp(Index(a), b) -} - -// FixCase reformats b to the same pattern of cases as form. -// If returns false if string b is malformed. -func FixCase(form string, b []byte) bool { - if len(form) != len(b) { - return false - } - for i, c := range b { - if form[i] <= 'Z' { - if c >= 'a' { - c -= 'z' - 'Z' - } - if c < 'A' || 'Z' < c { - return false - } - } else { - if c <= 'Z' { - c += 'z' - 'Z' - } - if c < 'a' || 'z' < c { - return false - } - } - b[i] = c - } - return true -} diff --git a/vendor/golang.org/x/text/internal/utf8internal/utf8internal.go b/vendor/golang.org/x/text/internal/utf8internal/utf8internal.go deleted file mode 100644 index 575cea870..000000000 --- a/vendor/golang.org/x/text/internal/utf8internal/utf8internal.go +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package utf8internal contains low-level utf8-related constants, tables, etc. -// that are used internally by the text package. -package utf8internal - -// The default lowest and highest continuation byte. -const ( - LoCB = 0x80 // 1000 0000 - HiCB = 0xBF // 1011 1111 -) - -// Constants related to getting information of first bytes of UTF-8 sequences. -const ( - // ASCII identifies a UTF-8 byte as ASCII. - ASCII = as - - // FirstInvalid indicates a byte is invalid as a first byte of a UTF-8 - // sequence. - FirstInvalid = xx - - // SizeMask is a mask for the size bits. Use use x&SizeMask to get the size. - SizeMask = 7 - - // AcceptShift is the right-shift count for the first byte info byte to get - // the index into the AcceptRanges table. See AcceptRanges. - AcceptShift = 4 - - // The names of these constants are chosen to give nice alignment in the - // table below. The first nibble is an index into acceptRanges or F for - // special one-byte cases. The second nibble is the Rune length or the - // Status for the special one-byte case. - xx = 0xF1 // invalid: size 1 - as = 0xF0 // ASCII: size 1 - s1 = 0x02 // accept 0, size 2 - s2 = 0x13 // accept 1, size 3 - s3 = 0x03 // accept 0, size 3 - s4 = 0x23 // accept 2, size 3 - s5 = 0x34 // accept 3, size 4 - s6 = 0x04 // accept 0, size 4 - s7 = 0x44 // accept 4, size 4 -) - -// First is information about the first byte in a UTF-8 sequence. -var First = [256]uint8{ - // 1 2 3 4 5 6 7 8 9 A B C D E F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x00-0x0F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x10-0x1F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x20-0x2F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x30-0x3F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x40-0x4F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x50-0x5F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x60-0x6F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x70-0x7F - // 1 2 3 4 5 6 7 8 9 A B C D E F - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0x80-0x8F - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0x90-0x9F - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xA0-0xAF - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xB0-0xBF - xx, xx, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, // 0xC0-0xCF - s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, // 0xD0-0xDF - s2, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s4, s3, s3, // 0xE0-0xEF - s5, s6, s6, s6, s7, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xF0-0xFF -} - -// AcceptRange gives the range of valid values for the second byte in a UTF-8 -// sequence for any value for First that is not ASCII or FirstInvalid. -type AcceptRange struct { - Lo uint8 // lowest value for second byte. - Hi uint8 // highest value for second byte. -} - -// AcceptRanges is a slice of AcceptRange values. For a given byte sequence b -// -// AcceptRanges[First[b[0]]>>AcceptShift] -// -// will give the value of AcceptRange for the multi-byte UTF-8 sequence starting -// at b[0]. -var AcceptRanges = [...]AcceptRange{ - 0: {LoCB, HiCB}, - 1: {0xA0, HiCB}, - 2: {LoCB, 0x9F}, - 3: {0x90, HiCB}, - 4: {LoCB, 0x8F}, -} diff --git a/vendor/golang.org/x/text/language/Makefile b/vendor/golang.org/x/text/language/Makefile deleted file mode 100644 index 79f005784..000000000 --- a/vendor/golang.org/x/text/language/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2013 The Go Authors. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -CLEANFILES+=maketables - -maketables: maketables.go - go build $^ - -tables: maketables - ./maketables > tables.go - gofmt -w -s tables.go - -# Build (but do not run) maketables during testing, -# just to make sure it still compiles. -testshort: maketables diff --git a/vendor/golang.org/x/text/language/common.go b/vendor/golang.org/x/text/language/common.go deleted file mode 100644 index a255bb0a5..000000000 --- a/vendor/golang.org/x/text/language/common.go +++ /dev/null @@ -1,16 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package language - -// This file contains code common to the maketables.go and the package code. - -// langAliasType is the type of an alias in langAliasMap. -type langAliasType int8 - -const ( - langDeprecated langAliasType = iota - langMacro - langLegacy - - langAliasTypeUnknown langAliasType = -1 -) diff --git a/vendor/golang.org/x/text/language/coverage.go b/vendor/golang.org/x/text/language/coverage.go deleted file mode 100644 index 101fd23c1..000000000 --- a/vendor/golang.org/x/text/language/coverage.go +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package language - -import ( - "fmt" - "sort" -) - -// The Coverage interface is used to define the level of coverage of an -// internationalization service. Note that not all types are supported by all -// services. As lists may be generated on the fly, it is recommended that users -// of a Coverage cache the results. -type Coverage interface { - // Tags returns the list of supported tags. - Tags() []Tag - - // BaseLanguages returns the list of supported base languages. - BaseLanguages() []Base - - // Scripts returns the list of supported scripts. - Scripts() []Script - - // Regions returns the list of supported regions. - Regions() []Region -} - -var ( - // Supported defines a Coverage that lists all supported subtags. Tags - // always returns nil. - Supported Coverage = allSubtags{} -) - -// TODO: -// - Support Variants, numbering systems. -// - CLDR coverage levels. -// - Set of common tags defined in this package. - -type allSubtags struct{} - -// Regions returns the list of supported regions. As all regions are in a -// consecutive range, it simply returns a slice of numbers in increasing order. -// The "undefined" region is not returned. -func (s allSubtags) Regions() []Region { - reg := make([]Region, numRegions) - for i := range reg { - reg[i] = Region{regionID(i + 1)} - } - return reg -} - -// Scripts returns the list of supported scripts. As all scripts are in a -// consecutive range, it simply returns a slice of numbers in increasing order. -// The "undefined" script is not returned. -func (s allSubtags) Scripts() []Script { - scr := make([]Script, numScripts) - for i := range scr { - scr[i] = Script{scriptID(i + 1)} - } - return scr -} - -// BaseLanguages returns the list of all supported base languages. It generates -// the list by traversing the internal structures. -func (s allSubtags) BaseLanguages() []Base { - base := make([]Base, 0, numLanguages) - for i := 0; i < langNoIndexOffset; i++ { - // We included "und" already for the value 0. - if i != nonCanonicalUnd { - base = append(base, Base{langID(i)}) - } - } - i := langNoIndexOffset - for _, v := range langNoIndex { - for k := 0; k < 8; k++ { - if v&1 == 1 { - base = append(base, Base{langID(i)}) - } - v >>= 1 - i++ - } - } - return base -} - -// Tags always returns nil. -func (s allSubtags) Tags() []Tag { - return nil -} - -// coverage is used used by NewCoverage which is used as a convenient way for -// creating Coverage implementations for partially defined data. Very often a -// package will only need to define a subset of slices. coverage provides a -// convenient way to do this. Moreover, packages using NewCoverage, instead of -// their own implementation, will not break if later new slice types are added. -type coverage struct { - tags func() []Tag - bases func() []Base - scripts func() []Script - regions func() []Region -} - -func (s *coverage) Tags() []Tag { - if s.tags == nil { - return nil - } - return s.tags() -} - -// bases implements sort.Interface and is used to sort base languages. -type bases []Base - -func (b bases) Len() int { - return len(b) -} - -func (b bases) Swap(i, j int) { - b[i], b[j] = b[j], b[i] -} - -func (b bases) Less(i, j int) bool { - return b[i].langID < b[j].langID -} - -// BaseLanguages returns the result from calling s.bases if it is specified or -// otherwise derives the set of supported base languages from tags. -func (s *coverage) BaseLanguages() []Base { - if s.bases == nil { - tags := s.Tags() - if len(tags) == 0 { - return nil - } - a := make([]Base, len(tags)) - for i, t := range tags { - a[i] = Base{langID(t.lang)} - } - sort.Sort(bases(a)) - k := 0 - for i := 1; i < len(a); i++ { - if a[k] != a[i] { - k++ - a[k] = a[i] - } - } - return a[:k+1] - } - return s.bases() -} - -func (s *coverage) Scripts() []Script { - if s.scripts == nil { - return nil - } - return s.scripts() -} - -func (s *coverage) Regions() []Region { - if s.regions == nil { - return nil - } - return s.regions() -} - -// NewCoverage returns a Coverage for the given lists. It is typically used by -// packages providing internationalization services to define their level of -// coverage. A list may be of type []T or func() []T, where T is either Tag, -// Base, Script or Region. The returned Coverage derives the value for Bases -// from Tags if no func or slice for []Base is specified. For other unspecified -// types the returned Coverage will return nil for the respective methods. -func NewCoverage(list ...interface{}) Coverage { - s := &coverage{} - for _, x := range list { - switch v := x.(type) { - case func() []Base: - s.bases = v - case func() []Script: - s.scripts = v - case func() []Region: - s.regions = v - case func() []Tag: - s.tags = v - case []Base: - s.bases = func() []Base { return v } - case []Script: - s.scripts = func() []Script { return v } - case []Region: - s.regions = func() []Region { return v } - case []Tag: - s.tags = func() []Tag { return v } - default: - panic(fmt.Sprintf("language: unsupported set type %T", v)) - } - } - return s -} diff --git a/vendor/golang.org/x/text/language/gen_common.go b/vendor/golang.org/x/text/language/gen_common.go deleted file mode 100644 index 83ce18013..000000000 --- a/vendor/golang.org/x/text/language/gen_common.go +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This file contains code common to the maketables.go and the package code. - -// langAliasType is the type of an alias in langAliasMap. -type langAliasType int8 - -const ( - langDeprecated langAliasType = iota - langMacro - langLegacy - - langAliasTypeUnknown langAliasType = -1 -) diff --git a/vendor/golang.org/x/text/language/gen_index.go b/vendor/golang.org/x/text/language/gen_index.go deleted file mode 100644 index a8e39310d..000000000 --- a/vendor/golang.org/x/text/language/gen_index.go +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This file generates derivative tables based on the language package itself. - -import ( - "bytes" - "flag" - "fmt" - "io/ioutil" - "log" - "reflect" - "sort" - "strings" - - "golang.org/x/text/internal/gen" - "golang.org/x/text/language" - "golang.org/x/text/unicode/cldr" -) - -var ( - test = flag.Bool("test", false, - "test existing tables; can be used to compare web data with package data.") - - draft = flag.String("draft", - "contributed", - `Minimal draft requirements (approved, contributed, provisional, unconfirmed).`) -) - -func main() { - gen.Init() - - // Read the CLDR zip file. - r := gen.OpenCLDRCoreZip() - defer r.Close() - - d := &cldr.Decoder{} - data, err := d.DecodeZip(r) - if err != nil { - log.Fatalf("DecodeZip: %v", err) - } - - w := gen.NewCodeWriter() - defer func() { - buf := &bytes.Buffer{} - - if _, err = w.WriteGo(buf, "language"); err != nil { - log.Fatalf("Error formatting file index.go: %v", err) - } - - // Since we're generating a table for our own package we need to rewrite - // doing the equivalent of go fmt -r 'language.b -> b'. Using - // bytes.Replace will do. - out := bytes.Replace(buf.Bytes(), []byte("language."), nil, -1) - if err := ioutil.WriteFile("index.go", out, 0600); err != nil { - log.Fatalf("Could not create file index.go: %v", err) - } - }() - - m := map[language.Tag]bool{} - for _, lang := range data.Locales() { - // We include all locales unconditionally to be consistent with en_US. - // We want en_US, even though it has no data associated with it. - - // TODO: put any of the languages for which no data exists at the end - // of the index. This allows all components based on ICU to use that - // as the cutoff point. - // if x := data.RawLDML(lang); false || - // x.LocaleDisplayNames != nil || - // x.Characters != nil || - // x.Delimiters != nil || - // x.Measurement != nil || - // x.Dates != nil || - // x.Numbers != nil || - // x.Units != nil || - // x.ListPatterns != nil || - // x.Collations != nil || - // x.Segmentations != nil || - // x.Rbnf != nil || - // x.Annotations != nil || - // x.Metadata != nil { - - // TODO: support POSIX natively, albeit non-standard. - tag := language.Make(strings.Replace(lang, "_POSIX", "-u-va-posix", 1)) - m[tag] = true - // } - } - var core, special []language.Tag - - for t := range m { - if x := t.Extensions(); len(x) != 0 && fmt.Sprint(x) != "[u-va-posix]" { - log.Fatalf("Unexpected extension %v in %v", x, t) - } - if len(t.Variants()) == 0 && len(t.Extensions()) == 0 { - core = append(core, t) - } else { - special = append(special, t) - } - } - - w.WriteComment(` - NumCompactTags is the number of common tags. The maximum tag is - NumCompactTags-1.`) - w.WriteConst("NumCompactTags", len(core)+len(special)) - - sort.Sort(byAlpha(special)) - w.WriteVar("specialTags", special) - - // TODO: order by frequency? - sort.Sort(byAlpha(core)) - - // Size computations are just an estimate. - w.Size += int(reflect.TypeOf(map[uint32]uint16{}).Size()) - w.Size += len(core) * 6 // size of uint32 and uint16 - - fmt.Fprintln(w) - fmt.Fprintln(w, "var coreTags = map[uint32]uint16{") - fmt.Fprintln(w, "0x0: 0, // und") - i := len(special) + 1 // Und and special tags already written. - for _, t := range core { - if t == language.Und { - continue - } - fmt.Fprint(w.Hash, t, i) - b, s, r := t.Raw() - fmt.Fprintf(w, "0x%s%s%s: %d, // %s\n", - getIndex(b, 3), // 3 is enough as it is guaranteed to be a compact number - getIndex(s, 2), - getIndex(r, 3), - i, t) - i++ - } - fmt.Fprintln(w, "}") -} - -// getIndex prints the subtag type and extracts its index of size nibble. -// If the index is less than n nibbles, the result is prefixed with 0s. -func getIndex(x interface{}, n int) string { - s := fmt.Sprintf("%#v", x) // s is of form Type{typeID: 0x00} - s = s[strings.Index(s, "0x")+2 : len(s)-1] - return strings.Repeat("0", n-len(s)) + s -} - -type byAlpha []language.Tag - -func (a byAlpha) Len() int { return len(a) } -func (a byAlpha) Swap(i, j int) { a[i], a[j] = a[j], a[i] } -func (a byAlpha) Less(i, j int) bool { return a[i].String() < a[j].String() } diff --git a/vendor/golang.org/x/text/language/go1_1.go b/vendor/golang.org/x/text/language/go1_1.go deleted file mode 100644 index 380f4c09f..000000000 --- a/vendor/golang.org/x/text/language/go1_1.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.2 - -package language - -import "sort" - -func sortStable(s sort.Interface) { - ss := stableSort{ - s: s, - pos: make([]int, s.Len()), - } - for i := range ss.pos { - ss.pos[i] = i - } - sort.Sort(&ss) -} - -type stableSort struct { - s sort.Interface - pos []int -} - -func (s *stableSort) Len() int { - return len(s.pos) -} - -func (s *stableSort) Less(i, j int) bool { - return s.s.Less(i, j) || !s.s.Less(j, i) && s.pos[i] < s.pos[j] -} - -func (s *stableSort) Swap(i, j int) { - s.s.Swap(i, j) - s.pos[i], s.pos[j] = s.pos[j], s.pos[i] -} diff --git a/vendor/golang.org/x/text/language/go1_2.go b/vendor/golang.org/x/text/language/go1_2.go deleted file mode 100644 index 38268c57a..000000000 --- a/vendor/golang.org/x/text/language/go1_2.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.2 - -package language - -import "sort" - -var sortStable = sort.Stable diff --git a/vendor/golang.org/x/text/language/index.go b/vendor/golang.org/x/text/language/index.go deleted file mode 100644 index edb850892..000000000 --- a/vendor/golang.org/x/text/language/index.go +++ /dev/null @@ -1,725 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package language - -// NumCompactTags is the number of common tags. The maximum tag is -// NumCompactTags-1. -const NumCompactTags = 710 - -var specialTags = []Tag{ // 2 elements - 0: {lang: 0x61, region: 0x6d, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"}, - 1: {lang: 0x9a, region: 0x132, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"}, -} // Size: 72 bytes - -var coreTags = map[uint32]uint16{ - 0x0: 0, // und - 0x00a00000: 3, // af - 0x00a000d0: 4, // af-NA - 0x00a0015e: 5, // af-ZA - 0x00b00000: 6, // agq - 0x00b00051: 7, // agq-CM - 0x00d00000: 8, // ak - 0x00d0007e: 9, // ak-GH - 0x01100000: 10, // am - 0x0110006e: 11, // am-ET - 0x01500000: 12, // ar - 0x01500001: 13, // ar-001 - 0x01500022: 14, // ar-AE - 0x01500038: 15, // ar-BH - 0x01500061: 16, // ar-DJ - 0x01500066: 17, // ar-DZ - 0x0150006a: 18, // ar-EG - 0x0150006b: 19, // ar-EH - 0x0150006c: 20, // ar-ER - 0x01500095: 21, // ar-IL - 0x01500099: 22, // ar-IQ - 0x0150009f: 23, // ar-JO - 0x015000a6: 24, // ar-KM - 0x015000aa: 25, // ar-KW - 0x015000ae: 26, // ar-LB - 0x015000b7: 27, // ar-LY - 0x015000b8: 28, // ar-MA - 0x015000c7: 29, // ar-MR - 0x015000df: 30, // ar-OM - 0x015000eb: 31, // ar-PS - 0x015000f1: 32, // ar-QA - 0x01500106: 33, // ar-SA - 0x01500109: 34, // ar-SD - 0x01500113: 35, // ar-SO - 0x01500115: 36, // ar-SS - 0x0150011a: 37, // ar-SY - 0x0150011e: 38, // ar-TD - 0x01500126: 39, // ar-TN - 0x0150015b: 40, // ar-YE - 0x01c00000: 41, // as - 0x01c00097: 42, // as-IN - 0x01d00000: 43, // asa - 0x01d0012d: 44, // asa-TZ - 0x01f00000: 45, // ast - 0x01f0006d: 46, // ast-ES - 0x02400000: 47, // az - 0x0241d000: 48, // az-Cyrl - 0x0241d031: 49, // az-Cyrl-AZ - 0x0244f000: 50, // az-Latn - 0x0244f031: 51, // az-Latn-AZ - 0x02a00000: 52, // bas - 0x02a00051: 53, // bas-CM - 0x02f00000: 54, // be - 0x02f00046: 55, // be-BY - 0x03100000: 56, // bem - 0x0310015f: 57, // bem-ZM - 0x03300000: 58, // bez - 0x0330012d: 59, // bez-TZ - 0x03800000: 60, // bg - 0x03800037: 61, // bg-BG - 0x04900000: 62, // bm - 0x049000c1: 63, // bm-ML - 0x04b00000: 64, // bn - 0x04b00034: 65, // bn-BD - 0x04b00097: 66, // bn-IN - 0x04c00000: 67, // bo - 0x04c00052: 68, // bo-CN - 0x04c00097: 69, // bo-IN - 0x05000000: 70, // br - 0x05000076: 71, // br-FR - 0x05300000: 72, // brx - 0x05300097: 73, // brx-IN - 0x05400000: 74, // bs - 0x0541d000: 75, // bs-Cyrl - 0x0541d032: 76, // bs-Cyrl-BA - 0x0544f000: 77, // bs-Latn - 0x0544f032: 78, // bs-Latn-BA - 0x06100000: 79, // ca - 0x06100021: 80, // ca-AD - 0x0610006d: 81, // ca-ES - 0x06100076: 82, // ca-FR - 0x0610009c: 83, // ca-IT - 0x06400000: 84, // ce - 0x06400104: 85, // ce-RU - 0x06600000: 86, // cgg - 0x0660012f: 87, // cgg-UG - 0x06c00000: 88, // chr - 0x06c00132: 89, // chr-US - 0x06f00000: 90, // ckb - 0x06f00099: 91, // ckb-IQ - 0x06f0009a: 92, // ckb-IR - 0x07900000: 93, // cs - 0x0790005d: 94, // cs-CZ - 0x07d00000: 95, // cu - 0x07d00104: 96, // cu-RU - 0x07f00000: 97, // cy - 0x07f00079: 98, // cy-GB - 0x08000000: 99, // da - 0x08000062: 100, // da-DK - 0x08000080: 101, // da-GL - 0x08300000: 102, // dav - 0x083000a2: 103, // dav-KE - 0x08500000: 104, // de - 0x0850002d: 105, // de-AT - 0x08500035: 106, // de-BE - 0x0850004d: 107, // de-CH - 0x0850005f: 108, // de-DE - 0x085000b0: 109, // de-LI - 0x085000b5: 110, // de-LU - 0x08800000: 111, // dje - 0x088000d2: 112, // dje-NE - 0x08b00000: 113, // dsb - 0x08b0005f: 114, // dsb-DE - 0x08e00000: 115, // dua - 0x08e00051: 116, // dua-CM - 0x09000000: 117, // dyo - 0x09000112: 118, // dyo-SN - 0x09200000: 119, // dz - 0x09200042: 120, // dz-BT - 0x09300000: 121, // ebu - 0x093000a2: 122, // ebu-KE - 0x09400000: 123, // ee - 0x0940007e: 124, // ee-GH - 0x09400120: 125, // ee-TG - 0x09900000: 126, // el - 0x0990005c: 127, // el-CY - 0x09900085: 128, // el-GR - 0x09a00000: 129, // en - 0x09a00001: 130, // en-001 - 0x09a0001a: 131, // en-150 - 0x09a00024: 132, // en-AG - 0x09a00025: 133, // en-AI - 0x09a0002c: 134, // en-AS - 0x09a0002d: 135, // en-AT - 0x09a0002e: 136, // en-AU - 0x09a00033: 137, // en-BB - 0x09a00035: 138, // en-BE - 0x09a00039: 139, // en-BI - 0x09a0003c: 140, // en-BM - 0x09a00041: 141, // en-BS - 0x09a00045: 142, // en-BW - 0x09a00047: 143, // en-BZ - 0x09a00048: 144, // en-CA - 0x09a00049: 145, // en-CC - 0x09a0004d: 146, // en-CH - 0x09a0004f: 147, // en-CK - 0x09a00051: 148, // en-CM - 0x09a0005b: 149, // en-CX - 0x09a0005c: 150, // en-CY - 0x09a0005f: 151, // en-DE - 0x09a00060: 152, // en-DG - 0x09a00062: 153, // en-DK - 0x09a00063: 154, // en-DM - 0x09a0006c: 155, // en-ER - 0x09a00070: 156, // en-FI - 0x09a00071: 157, // en-FJ - 0x09a00072: 158, // en-FK - 0x09a00073: 159, // en-FM - 0x09a00079: 160, // en-GB - 0x09a0007a: 161, // en-GD - 0x09a0007d: 162, // en-GG - 0x09a0007e: 163, // en-GH - 0x09a0007f: 164, // en-GI - 0x09a00081: 165, // en-GM - 0x09a00088: 166, // en-GU - 0x09a0008a: 167, // en-GY - 0x09a0008b: 168, // en-HK - 0x09a00094: 169, // en-IE - 0x09a00095: 170, // en-IL - 0x09a00096: 171, // en-IM - 0x09a00097: 172, // en-IN - 0x09a00098: 173, // en-IO - 0x09a0009d: 174, // en-JE - 0x09a0009e: 175, // en-JM - 0x09a000a2: 176, // en-KE - 0x09a000a5: 177, // en-KI - 0x09a000a7: 178, // en-KN - 0x09a000ab: 179, // en-KY - 0x09a000af: 180, // en-LC - 0x09a000b2: 181, // en-LR - 0x09a000b3: 182, // en-LS - 0x09a000bd: 183, // en-MG - 0x09a000be: 184, // en-MH - 0x09a000c4: 185, // en-MO - 0x09a000c5: 186, // en-MP - 0x09a000c8: 187, // en-MS - 0x09a000c9: 188, // en-MT - 0x09a000ca: 189, // en-MU - 0x09a000cc: 190, // en-MW - 0x09a000ce: 191, // en-MY - 0x09a000d0: 192, // en-NA - 0x09a000d3: 193, // en-NF - 0x09a000d4: 194, // en-NG - 0x09a000d7: 195, // en-NL - 0x09a000db: 196, // en-NR - 0x09a000dd: 197, // en-NU - 0x09a000de: 198, // en-NZ - 0x09a000e4: 199, // en-PG - 0x09a000e5: 200, // en-PH - 0x09a000e6: 201, // en-PK - 0x09a000e9: 202, // en-PN - 0x09a000ea: 203, // en-PR - 0x09a000ee: 204, // en-PW - 0x09a00105: 205, // en-RW - 0x09a00107: 206, // en-SB - 0x09a00108: 207, // en-SC - 0x09a00109: 208, // en-SD - 0x09a0010a: 209, // en-SE - 0x09a0010b: 210, // en-SG - 0x09a0010c: 211, // en-SH - 0x09a0010d: 212, // en-SI - 0x09a00110: 213, // en-SL - 0x09a00115: 214, // en-SS - 0x09a00119: 215, // en-SX - 0x09a0011b: 216, // en-SZ - 0x09a0011d: 217, // en-TC - 0x09a00123: 218, // en-TK - 0x09a00127: 219, // en-TO - 0x09a0012a: 220, // en-TT - 0x09a0012b: 221, // en-TV - 0x09a0012d: 222, // en-TZ - 0x09a0012f: 223, // en-UG - 0x09a00131: 224, // en-UM - 0x09a00132: 225, // en-US - 0x09a00136: 226, // en-VC - 0x09a00139: 227, // en-VG - 0x09a0013a: 228, // en-VI - 0x09a0013c: 229, // en-VU - 0x09a0013f: 230, // en-WS - 0x09a0015e: 231, // en-ZA - 0x09a0015f: 232, // en-ZM - 0x09a00161: 233, // en-ZW - 0x09b00000: 234, // eo - 0x09b00001: 235, // eo-001 - 0x09c00000: 236, // es - 0x09c00003: 237, // es-003 - 0x09c0001e: 238, // es-419 - 0x09c0002b: 239, // es-AR - 0x09c0003e: 240, // es-BO - 0x09c00050: 241, // es-CL - 0x09c00053: 242, // es-CO - 0x09c00055: 243, // es-CR - 0x09c00058: 244, // es-CU - 0x09c00064: 245, // es-DO - 0x09c00067: 246, // es-EA - 0x09c00068: 247, // es-EC - 0x09c0006d: 248, // es-ES - 0x09c00084: 249, // es-GQ - 0x09c00087: 250, // es-GT - 0x09c0008d: 251, // es-HN - 0x09c00092: 252, // es-IC - 0x09c000cd: 253, // es-MX - 0x09c000d6: 254, // es-NI - 0x09c000e0: 255, // es-PA - 0x09c000e2: 256, // es-PE - 0x09c000e5: 257, // es-PH - 0x09c000ea: 258, // es-PR - 0x09c000ef: 259, // es-PY - 0x09c00118: 260, // es-SV - 0x09c00132: 261, // es-US - 0x09c00133: 262, // es-UY - 0x09c00138: 263, // es-VE - 0x09e00000: 264, // et - 0x09e00069: 265, // et-EE - 0x0a000000: 266, // eu - 0x0a00006d: 267, // eu-ES - 0x0a100000: 268, // ewo - 0x0a100051: 269, // ewo-CM - 0x0a300000: 270, // fa - 0x0a300023: 271, // fa-AF - 0x0a30009a: 272, // fa-IR - 0x0a500000: 273, // ff - 0x0a500051: 274, // ff-CM - 0x0a500082: 275, // ff-GN - 0x0a5000c7: 276, // ff-MR - 0x0a500112: 277, // ff-SN - 0x0a700000: 278, // fi - 0x0a700070: 279, // fi-FI - 0x0a900000: 280, // fil - 0x0a9000e5: 281, // fil-PH - 0x0ac00000: 282, // fo - 0x0ac00062: 283, // fo-DK - 0x0ac00074: 284, // fo-FO - 0x0ae00000: 285, // fr - 0x0ae00035: 286, // fr-BE - 0x0ae00036: 287, // fr-BF - 0x0ae00039: 288, // fr-BI - 0x0ae0003a: 289, // fr-BJ - 0x0ae0003b: 290, // fr-BL - 0x0ae00048: 291, // fr-CA - 0x0ae0004a: 292, // fr-CD - 0x0ae0004b: 293, // fr-CF - 0x0ae0004c: 294, // fr-CG - 0x0ae0004d: 295, // fr-CH - 0x0ae0004e: 296, // fr-CI - 0x0ae00051: 297, // fr-CM - 0x0ae00061: 298, // fr-DJ - 0x0ae00066: 299, // fr-DZ - 0x0ae00076: 300, // fr-FR - 0x0ae00078: 301, // fr-GA - 0x0ae0007c: 302, // fr-GF - 0x0ae00082: 303, // fr-GN - 0x0ae00083: 304, // fr-GP - 0x0ae00084: 305, // fr-GQ - 0x0ae0008f: 306, // fr-HT - 0x0ae000a6: 307, // fr-KM - 0x0ae000b5: 308, // fr-LU - 0x0ae000b8: 309, // fr-MA - 0x0ae000b9: 310, // fr-MC - 0x0ae000bc: 311, // fr-MF - 0x0ae000bd: 312, // fr-MG - 0x0ae000c1: 313, // fr-ML - 0x0ae000c6: 314, // fr-MQ - 0x0ae000c7: 315, // fr-MR - 0x0ae000ca: 316, // fr-MU - 0x0ae000d1: 317, // fr-NC - 0x0ae000d2: 318, // fr-NE - 0x0ae000e3: 319, // fr-PF - 0x0ae000e8: 320, // fr-PM - 0x0ae00100: 321, // fr-RE - 0x0ae00105: 322, // fr-RW - 0x0ae00108: 323, // fr-SC - 0x0ae00112: 324, // fr-SN - 0x0ae0011a: 325, // fr-SY - 0x0ae0011e: 326, // fr-TD - 0x0ae00120: 327, // fr-TG - 0x0ae00126: 328, // fr-TN - 0x0ae0013c: 329, // fr-VU - 0x0ae0013d: 330, // fr-WF - 0x0ae0015c: 331, // fr-YT - 0x0b500000: 332, // fur - 0x0b50009c: 333, // fur-IT - 0x0b800000: 334, // fy - 0x0b8000d7: 335, // fy-NL - 0x0b900000: 336, // ga - 0x0b900094: 337, // ga-IE - 0x0c100000: 338, // gd - 0x0c100079: 339, // gd-GB - 0x0c700000: 340, // gl - 0x0c70006d: 341, // gl-ES - 0x0d100000: 342, // gsw - 0x0d10004d: 343, // gsw-CH - 0x0d100076: 344, // gsw-FR - 0x0d1000b0: 345, // gsw-LI - 0x0d200000: 346, // gu - 0x0d200097: 347, // gu-IN - 0x0d600000: 348, // guz - 0x0d6000a2: 349, // guz-KE - 0x0d700000: 350, // gv - 0x0d700096: 351, // gv-IM - 0x0da00000: 352, // ha - 0x0da0007e: 353, // ha-GH - 0x0da000d2: 354, // ha-NE - 0x0da000d4: 355, // ha-NG - 0x0dc00000: 356, // haw - 0x0dc00132: 357, // haw-US - 0x0de00000: 358, // he - 0x0de00095: 359, // he-IL - 0x0df00000: 360, // hi - 0x0df00097: 361, // hi-IN - 0x0ec00000: 362, // hr - 0x0ec00032: 363, // hr-BA - 0x0ec0008e: 364, // hr-HR - 0x0ed00000: 365, // hsb - 0x0ed0005f: 366, // hsb-DE - 0x0f000000: 367, // hu - 0x0f000090: 368, // hu-HU - 0x0f100000: 369, // hy - 0x0f100027: 370, // hy-AM - 0x0f600000: 371, // id - 0x0f600093: 372, // id-ID - 0x0f800000: 373, // ig - 0x0f8000d4: 374, // ig-NG - 0x0f900000: 375, // ii - 0x0f900052: 376, // ii-CN - 0x10000000: 377, // is - 0x1000009b: 378, // is-IS - 0x10100000: 379, // it - 0x1010004d: 380, // it-CH - 0x1010009c: 381, // it-IT - 0x10100111: 382, // it-SM - 0x10500000: 383, // ja - 0x105000a0: 384, // ja-JP - 0x10700000: 385, // jgo - 0x10700051: 386, // jgo-CM - 0x10900000: 387, // jmc - 0x1090012d: 388, // jmc-TZ - 0x10e00000: 389, // ka - 0x10e0007b: 390, // ka-GE - 0x11000000: 391, // kab - 0x11000066: 392, // kab-DZ - 0x11300000: 393, // kam - 0x113000a2: 394, // kam-KE - 0x11800000: 395, // kde - 0x1180012d: 396, // kde-TZ - 0x11a00000: 397, // kea - 0x11a00059: 398, // kea-CV - 0x12500000: 399, // khq - 0x125000c1: 400, // khq-ML - 0x12800000: 401, // ki - 0x128000a2: 402, // ki-KE - 0x12c00000: 403, // kk - 0x12c000ac: 404, // kk-KZ - 0x12d00000: 405, // kkj - 0x12d00051: 406, // kkj-CM - 0x12e00000: 407, // kl - 0x12e00080: 408, // kl-GL - 0x12f00000: 409, // kln - 0x12f000a2: 410, // kln-KE - 0x13000000: 411, // km - 0x130000a4: 412, // km-KH - 0x13200000: 413, // kn - 0x13200097: 414, // kn-IN - 0x13300000: 415, // ko - 0x133000a8: 416, // ko-KP - 0x133000a9: 417, // ko-KR - 0x13500000: 418, // kok - 0x13500097: 419, // kok-IN - 0x13e00000: 420, // ks - 0x13e00097: 421, // ks-IN - 0x13f00000: 422, // ksb - 0x13f0012d: 423, // ksb-TZ - 0x14000000: 424, // ksf - 0x14000051: 425, // ksf-CM - 0x14100000: 426, // ksh - 0x1410005f: 427, // ksh-DE - 0x14700000: 428, // kw - 0x14700079: 429, // kw-GB - 0x14a00000: 430, // ky - 0x14a000a3: 431, // ky-KG - 0x14e00000: 432, // lag - 0x14e0012d: 433, // lag-TZ - 0x15100000: 434, // lb - 0x151000b5: 435, // lb-LU - 0x15700000: 436, // lg - 0x1570012f: 437, // lg-UG - 0x15e00000: 438, // lkt - 0x15e00132: 439, // lkt-US - 0x16100000: 440, // ln - 0x16100029: 441, // ln-AO - 0x1610004a: 442, // ln-CD - 0x1610004b: 443, // ln-CF - 0x1610004c: 444, // ln-CG - 0x16200000: 445, // lo - 0x162000ad: 446, // lo-LA - 0x16500000: 447, // lrc - 0x16500099: 448, // lrc-IQ - 0x1650009a: 449, // lrc-IR - 0x16600000: 450, // lt - 0x166000b4: 451, // lt-LT - 0x16800000: 452, // lu - 0x1680004a: 453, // lu-CD - 0x16a00000: 454, // luo - 0x16a000a2: 455, // luo-KE - 0x16b00000: 456, // luy - 0x16b000a2: 457, // luy-KE - 0x16d00000: 458, // lv - 0x16d000b6: 459, // lv-LV - 0x17700000: 460, // mas - 0x177000a2: 461, // mas-KE - 0x1770012d: 462, // mas-TZ - 0x17d00000: 463, // mer - 0x17d000a2: 464, // mer-KE - 0x17f00000: 465, // mfe - 0x17f000ca: 466, // mfe-MU - 0x18000000: 467, // mg - 0x180000bd: 468, // mg-MG - 0x18100000: 469, // mgh - 0x181000cf: 470, // mgh-MZ - 0x18200000: 471, // mgo - 0x18200051: 472, // mgo-CM - 0x18900000: 473, // mk - 0x189000c0: 474, // mk-MK - 0x18a00000: 475, // ml - 0x18a00097: 476, // ml-IN - 0x18c00000: 477, // mn - 0x18c000c3: 478, // mn-MN - 0x19300000: 479, // mr - 0x19300097: 480, // mr-IN - 0x19700000: 481, // ms - 0x1970003d: 482, // ms-BN - 0x197000ce: 483, // ms-MY - 0x1970010b: 484, // ms-SG - 0x19800000: 485, // mt - 0x198000c9: 486, // mt-MT - 0x19a00000: 487, // mua - 0x19a00051: 488, // mua-CM - 0x1a200000: 489, // my - 0x1a2000c2: 490, // my-MM - 0x1a600000: 491, // mzn - 0x1a60009a: 492, // mzn-IR - 0x1aa00000: 493, // naq - 0x1aa000d0: 494, // naq-NA - 0x1ab00000: 495, // nb - 0x1ab000d8: 496, // nb-NO - 0x1ab0010e: 497, // nb-SJ - 0x1ad00000: 498, // nd - 0x1ad00161: 499, // nd-ZW - 0x1b000000: 500, // ne - 0x1b000097: 501, // ne-IN - 0x1b0000d9: 502, // ne-NP - 0x1b900000: 503, // nl - 0x1b90002f: 504, // nl-AW - 0x1b900035: 505, // nl-BE - 0x1b90003f: 506, // nl-BQ - 0x1b90005a: 507, // nl-CW - 0x1b9000d7: 508, // nl-NL - 0x1b900114: 509, // nl-SR - 0x1b900119: 510, // nl-SX - 0x1ba00000: 511, // nmg - 0x1ba00051: 512, // nmg-CM - 0x1bb00000: 513, // nn - 0x1bb000d8: 514, // nn-NO - 0x1bc00000: 515, // nnh - 0x1bc00051: 516, // nnh-CM - 0x1c500000: 517, // nus - 0x1c500115: 518, // nus-SS - 0x1ca00000: 519, // nyn - 0x1ca0012f: 520, // nyn-UG - 0x1ce00000: 521, // om - 0x1ce0006e: 522, // om-ET - 0x1ce000a2: 523, // om-KE - 0x1cf00000: 524, // or - 0x1cf00097: 525, // or-IN - 0x1d000000: 526, // os - 0x1d00007b: 527, // os-GE - 0x1d000104: 528, // os-RU - 0x1d200000: 529, // pa - 0x1d205000: 530, // pa-Arab - 0x1d2050e6: 531, // pa-Arab-PK - 0x1d22e000: 532, // pa-Guru - 0x1d22e097: 533, // pa-Guru-IN - 0x1e200000: 534, // pl - 0x1e2000e7: 535, // pl-PL - 0x1e800000: 536, // prg - 0x1e800001: 537, // prg-001 - 0x1e900000: 538, // ps - 0x1e900023: 539, // ps-AF - 0x1ea00000: 540, // pt - 0x1ea00029: 541, // pt-AO - 0x1ea00040: 542, // pt-BR - 0x1ea00059: 543, // pt-CV - 0x1ea00089: 544, // pt-GW - 0x1ea000c4: 545, // pt-MO - 0x1ea000cf: 546, // pt-MZ - 0x1ea000ec: 547, // pt-PT - 0x1ea00116: 548, // pt-ST - 0x1ea00124: 549, // pt-TL - 0x1ec00000: 550, // qu - 0x1ec0003e: 551, // qu-BO - 0x1ec00068: 552, // qu-EC - 0x1ec000e2: 553, // qu-PE - 0x1f700000: 554, // rm - 0x1f70004d: 555, // rm-CH - 0x1fc00000: 556, // rn - 0x1fc00039: 557, // rn-BI - 0x1fe00000: 558, // ro - 0x1fe000ba: 559, // ro-MD - 0x1fe00102: 560, // ro-RO - 0x20000000: 561, // rof - 0x2000012d: 562, // rof-TZ - 0x20200000: 563, // ru - 0x20200046: 564, // ru-BY - 0x202000a3: 565, // ru-KG - 0x202000ac: 566, // ru-KZ - 0x202000ba: 567, // ru-MD - 0x20200104: 568, // ru-RU - 0x2020012e: 569, // ru-UA - 0x20500000: 570, // rw - 0x20500105: 571, // rw-RW - 0x20600000: 572, // rwk - 0x2060012d: 573, // rwk-TZ - 0x20a00000: 574, // sah - 0x20a00104: 575, // sah-RU - 0x20b00000: 576, // saq - 0x20b000a2: 577, // saq-KE - 0x20f00000: 578, // sbp - 0x20f0012d: 579, // sbp-TZ - 0x21800000: 580, // se - 0x21800070: 581, // se-FI - 0x218000d8: 582, // se-NO - 0x2180010a: 583, // se-SE - 0x21a00000: 584, // seh - 0x21a000cf: 585, // seh-MZ - 0x21c00000: 586, // ses - 0x21c000c1: 587, // ses-ML - 0x21d00000: 588, // sg - 0x21d0004b: 589, // sg-CF - 0x22100000: 590, // shi - 0x2214f000: 591, // shi-Latn - 0x2214f0b8: 592, // shi-Latn-MA - 0x221cc000: 593, // shi-Tfng - 0x221cc0b8: 594, // shi-Tfng-MA - 0x22300000: 595, // si - 0x223000b1: 596, // si-LK - 0x22500000: 597, // sk - 0x2250010f: 598, // sk-SK - 0x22700000: 599, // sl - 0x2270010d: 600, // sl-SI - 0x22d00000: 601, // smn - 0x22d00070: 602, // smn-FI - 0x23000000: 603, // sn - 0x23000161: 604, // sn-ZW - 0x23200000: 605, // so - 0x23200061: 606, // so-DJ - 0x2320006e: 607, // so-ET - 0x232000a2: 608, // so-KE - 0x23200113: 609, // so-SO - 0x23400000: 610, // sq - 0x23400026: 611, // sq-AL - 0x234000c0: 612, // sq-MK - 0x2340014a: 613, // sq-XK - 0x23500000: 614, // sr - 0x2351d000: 615, // sr-Cyrl - 0x2351d032: 616, // sr-Cyrl-BA - 0x2351d0bb: 617, // sr-Cyrl-ME - 0x2351d103: 618, // sr-Cyrl-RS - 0x2351d14a: 619, // sr-Cyrl-XK - 0x2354f000: 620, // sr-Latn - 0x2354f032: 621, // sr-Latn-BA - 0x2354f0bb: 622, // sr-Latn-ME - 0x2354f103: 623, // sr-Latn-RS - 0x2354f14a: 624, // sr-Latn-XK - 0x24100000: 625, // sv - 0x24100030: 626, // sv-AX - 0x24100070: 627, // sv-FI - 0x2410010a: 628, // sv-SE - 0x24200000: 629, // sw - 0x2420004a: 630, // sw-CD - 0x242000a2: 631, // sw-KE - 0x2420012d: 632, // sw-TZ - 0x2420012f: 633, // sw-UG - 0x24b00000: 634, // ta - 0x24b00097: 635, // ta-IN - 0x24b000b1: 636, // ta-LK - 0x24b000ce: 637, // ta-MY - 0x24b0010b: 638, // ta-SG - 0x25200000: 639, // te - 0x25200097: 640, // te-IN - 0x25400000: 641, // teo - 0x254000a2: 642, // teo-KE - 0x2540012f: 643, // teo-UG - 0x25700000: 644, // th - 0x25700121: 645, // th-TH - 0x25b00000: 646, // ti - 0x25b0006c: 647, // ti-ER - 0x25b0006e: 648, // ti-ET - 0x25e00000: 649, // tk - 0x25e00125: 650, // tk-TM - 0x26600000: 651, // to - 0x26600127: 652, // to-TO - 0x26900000: 653, // tr - 0x2690005c: 654, // tr-CY - 0x26900129: 655, // tr-TR - 0x27800000: 656, // twq - 0x278000d2: 657, // twq-NE - 0x27b00000: 658, // tzm - 0x27b000b8: 659, // tzm-MA - 0x27d00000: 660, // ug - 0x27d00052: 661, // ug-CN - 0x27f00000: 662, // uk - 0x27f0012e: 663, // uk-UA - 0x28500000: 664, // ur - 0x28500097: 665, // ur-IN - 0x285000e6: 666, // ur-PK - 0x28600000: 667, // uz - 0x28605000: 668, // uz-Arab - 0x28605023: 669, // uz-Arab-AF - 0x2861d000: 670, // uz-Cyrl - 0x2861d134: 671, // uz-Cyrl-UZ - 0x2864f000: 672, // uz-Latn - 0x2864f134: 673, // uz-Latn-UZ - 0x28700000: 674, // vai - 0x2874f000: 675, // vai-Latn - 0x2874f0b2: 676, // vai-Latn-LR - 0x287d3000: 677, // vai-Vaii - 0x287d30b2: 678, // vai-Vaii-LR - 0x28b00000: 679, // vi - 0x28b0013b: 680, // vi-VN - 0x29000000: 681, // vo - 0x29000001: 682, // vo-001 - 0x29300000: 683, // vun - 0x2930012d: 684, // vun-TZ - 0x29500000: 685, // wae - 0x2950004d: 686, // wae-CH - 0x2aa00000: 687, // xog - 0x2aa0012f: 688, // xog-UG - 0x2b000000: 689, // yav - 0x2b000051: 690, // yav-CM - 0x2b200000: 691, // yi - 0x2b200001: 692, // yi-001 - 0x2b300000: 693, // yo - 0x2b30003a: 694, // yo-BJ - 0x2b3000d4: 695, // yo-NG - 0x2bb00000: 696, // zgh - 0x2bb000b8: 697, // zgh-MA - 0x2bc00000: 698, // zh - 0x2bc32000: 699, // zh-Hans - 0x2bc32052: 700, // zh-Hans-CN - 0x2bc3208b: 701, // zh-Hans-HK - 0x2bc320c4: 702, // zh-Hans-MO - 0x2bc3210b: 703, // zh-Hans-SG - 0x2bc33000: 704, // zh-Hant - 0x2bc3308b: 705, // zh-Hant-HK - 0x2bc330c4: 706, // zh-Hant-MO - 0x2bc3312c: 707, // zh-Hant-TW - 0x2be00000: 708, // zu - 0x2be0015e: 709, // zu-ZA -} - -// Total table size 4328 bytes (4KiB); checksum: C9659787 diff --git a/vendor/golang.org/x/text/language/language.go b/vendor/golang.org/x/text/language/language.go deleted file mode 100644 index 8b0b0dba9..000000000 --- a/vendor/golang.org/x/text/language/language.go +++ /dev/null @@ -1,975 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:generate go run maketables.go gen_common.go -output tables.go -//go:generate go run gen_index.go - -// Package language implements BCP 47 language tags and related functionality. -// -// The Tag type, which is used to represent languages, is agnostic to the -// meaning of its subtags. Tags are not fully canonicalized to preserve -// information that may be valuable in certain contexts. As a consequence, two -// different tags may represent identical languages. -// -// Initializing language- or locale-specific components usually consists of -// two steps. The first step is to select a display language based on the -// preferred languages of the user and the languages supported by an application. -// The second step is to create the language-specific services based on -// this selection. Each is discussed in more details below. -// -// Matching preferred against supported languages -// -// An application may support various languages. This list is typically limited -// by the languages for which there exists translations of the user interface. -// Similarly, a user may provide a list of preferred languages which is limited -// by the languages understood by this user. -// An application should use a Matcher to find the best supported language based -// on the user's preferred list. -// Matchers are aware of the intricacies of equivalence between languages. -// The default Matcher implementation takes into account things such as -// deprecated subtags, legacy tags, and mutual intelligibility between scripts -// and languages. -// -// A Matcher for English, Australian English, Danish, and standard Mandarin can -// be defined as follows: -// -// var matcher = language.NewMatcher([]language.Tag{ -// language.English, // The first language is used as fallback. -// language.MustParse("en-AU"), -// language.Danish, -// language.Chinese, -// }) -// -// The following code selects the best match for someone speaking Spanish and -// Norwegian: -// -// preferred := []language.Tag{ language.Spanish, language.Norwegian } -// tag, _, _ := matcher.Match(preferred...) -// -// In this case, the best match is Danish, as Danish is sufficiently a match to -// Norwegian to not have to fall back to the default. -// See ParseAcceptLanguage on how to handle the Accept-Language HTTP header. -// -// Selecting language-specific services -// -// One should always use the Tag returned by the Matcher to create an instance -// of any of the language-specific services provided by the text repository. -// This prevents the mixing of languages, such as having a different language for -// messages and display names, as well as improper casing or sorting order for -// the selected language. -// Using the returned Tag also allows user-defined settings, such as collation -// order or numbering system to be transparently passed as options. -// -// If you have language-specific data in your application, however, it will in -// most cases suffice to use the index returned by the matcher to identify -// the user language. -// The following loop provides an alternative in case this is not sufficient: -// -// supported := map[language.Tag]data{ -// language.English: enData, -// language.MustParse("en-AU"): enAUData, -// language.Danish: daData, -// language.Chinese: zhData, -// } -// tag, _, _ := matcher.Match(preferred...) -// for ; tag != language.Und; tag = tag.Parent() { -// if v, ok := supported[tag]; ok { -// return v -// } -// } -// return enData // should not reach here -// -// Repeatedly taking the Parent of the tag returned by Match will eventually -// match one of the tags used to initialize the Matcher. -// -// Canonicalization -// -// By default, only legacy and deprecated tags are converted into their -// canonical equivalent. All other information is preserved. This approach makes -// the confidence scores more accurate and allows matchers to distinguish -// between variants that are otherwise lost. -// -// As a consequence, two tags that should be treated as identical according to -// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The -// Matchers will handle such distinctions, though, and are aware of the -// equivalence relations. The CanonType type can be used to alter the -// canonicalization form. -// -// References -// -// BCP 47 - Tags for Identifying Languages -// http://tools.ietf.org/html/bcp47 -package language - -// TODO: Remove above NOTE after: -// - verifying that tables are dropped correctly (most notably matcher tables). - -import ( - "errors" - "fmt" - "strings" -) - -const ( - // maxCoreSize is the maximum size of a BCP 47 tag without variants and - // extensions. Equals max lang (3) + script (4) + max reg (3) + 2 dashes. - maxCoreSize = 12 - - // max99thPercentileSize is a somewhat arbitrary buffer size that presumably - // is large enough to hold at least 99% of the BCP 47 tags. - max99thPercentileSize = 32 - - // maxSimpleUExtensionSize is the maximum size of a -u extension with one - // key-type pair. Equals len("-u-") + key (2) + dash + max value (8). - maxSimpleUExtensionSize = 14 -) - -// Tag represents a BCP 47 language tag. It is used to specify an instance of a -// specific language or locale. All language tag values are guaranteed to be -// well-formed. -type Tag struct { - lang langID - region regionID - script scriptID - pVariant byte // offset in str, includes preceding '-' - pExt uint16 // offset of first extension, includes preceding '-' - - // str is the string representation of the Tag. It will only be used if the - // tag has variants or extensions. - str string -} - -// Make is a convenience wrapper for Parse that omits the error. -// In case of an error, a sensible default is returned. -func Make(s string) Tag { - return Default.Make(s) -} - -// Make is a convenience wrapper for c.Parse that omits the error. -// In case of an error, a sensible default is returned. -func (c CanonType) Make(s string) Tag { - t, _ := c.Parse(s) - return t -} - -// Raw returns the raw base language, script and region, without making an -// attempt to infer their values. -func (t Tag) Raw() (b Base, s Script, r Region) { - return Base{t.lang}, Script{t.script}, Region{t.region} -} - -// equalTags compares language, script and region subtags only. -func (t Tag) equalTags(a Tag) bool { - return t.lang == a.lang && t.script == a.script && t.region == a.region -} - -// IsRoot returns true if t is equal to language "und". -func (t Tag) IsRoot() bool { - if int(t.pVariant) < len(t.str) { - return false - } - return t.equalTags(und) -} - -// private reports whether the Tag consists solely of a private use tag. -func (t Tag) private() bool { - return t.str != "" && t.pVariant == 0 -} - -// CanonType can be used to enable or disable various types of canonicalization. -type CanonType int - -const ( - // Replace deprecated base languages with their preferred replacements. - DeprecatedBase CanonType = 1 << iota - // Replace deprecated scripts with their preferred replacements. - DeprecatedScript - // Replace deprecated regions with their preferred replacements. - DeprecatedRegion - // Remove redundant scripts. - SuppressScript - // Normalize legacy encodings. This includes legacy languages defined in - // CLDR as well as bibliographic codes defined in ISO-639. - Legacy - // Map the dominant language of a macro language group to the macro language - // subtag. For example cmn -> zh. - Macro - // The CLDR flag should be used if full compatibility with CLDR is required. - // There are a few cases where language.Tag may differ from CLDR. To follow all - // of CLDR's suggestions, use All|CLDR. - CLDR - - // Raw can be used to Compose or Parse without Canonicalization. - Raw CanonType = 0 - - // Replace all deprecated tags with their preferred replacements. - Deprecated = DeprecatedBase | DeprecatedScript | DeprecatedRegion - - // All canonicalizations recommended by BCP 47. - BCP47 = Deprecated | SuppressScript - - // All canonicalizations. - All = BCP47 | Legacy | Macro - - // Default is the canonicalization used by Parse, Make and Compose. To - // preserve as much information as possible, canonicalizations that remove - // potentially valuable information are not included. The Matcher is - // designed to recognize similar tags that would be the same if - // they were canonicalized using All. - Default = Deprecated | Legacy - - canonLang = DeprecatedBase | Legacy | Macro - - // TODO: LikelyScript, LikelyRegion: suppress similar to ICU. -) - -// canonicalize returns the canonicalized equivalent of the tag and -// whether there was any change. -func (t Tag) canonicalize(c CanonType) (Tag, bool) { - if c == Raw { - return t, false - } - changed := false - if c&SuppressScript != 0 { - if t.lang < langNoIndexOffset && uint8(t.script) == suppressScript[t.lang] { - t.script = 0 - changed = true - } - } - if c&canonLang != 0 { - for { - if l, aliasType := normLang(t.lang); l != t.lang { - switch aliasType { - case langLegacy: - if c&Legacy != 0 { - if t.lang == _sh && t.script == 0 { - t.script = _Latn - } - t.lang = l - changed = true - } - case langMacro: - if c&Macro != 0 { - // We deviate here from CLDR. The mapping "nb" -> "no" - // qualifies as a typical Macro language mapping. However, - // for legacy reasons, CLDR maps "no", the macro language - // code for Norwegian, to the dominant variant "nb". This - // change is currently under consideration for CLDR as well. - // See http://unicode.org/cldr/trac/ticket/2698 and also - // http://unicode.org/cldr/trac/ticket/1790 for some of the - // practical implications. TODO: this check could be removed - // if CLDR adopts this change. - if c&CLDR == 0 || t.lang != _nb { - changed = true - t.lang = l - } - } - case langDeprecated: - if c&DeprecatedBase != 0 { - if t.lang == _mo && t.region == 0 { - t.region = _MD - } - t.lang = l - changed = true - // Other canonicalization types may still apply. - continue - } - } - } else if c&Legacy != 0 && t.lang == _no && c&CLDR != 0 { - t.lang = _nb - changed = true - } - break - } - } - if c&DeprecatedScript != 0 { - if t.script == _Qaai { - changed = true - t.script = _Zinh - } - } - if c&DeprecatedRegion != 0 { - if r := normRegion(t.region); r != 0 { - changed = true - t.region = r - } - } - return t, changed -} - -// Canonicalize returns the canonicalized equivalent of the tag. -func (c CanonType) Canonicalize(t Tag) (Tag, error) { - t, changed := t.canonicalize(c) - if changed { - t.remakeString() - } - return t, nil -} - -// Confidence indicates the level of certainty for a given return value. -// For example, Serbian may be written in Cyrillic or Latin script. -// The confidence level indicates whether a value was explicitly specified, -// whether it is typically the only possible value, or whether there is -// an ambiguity. -type Confidence int - -const ( - No Confidence = iota // full confidence that there was no match - Low // most likely value picked out of a set of alternatives - High // value is generally assumed to be the correct match - Exact // exact match or explicitly specified value -) - -var confName = []string{"No", "Low", "High", "Exact"} - -func (c Confidence) String() string { - return confName[c] -} - -// remakeString is used to update t.str in case lang, script or region changed. -// It is assumed that pExt and pVariant still point to the start of the -// respective parts. -func (t *Tag) remakeString() { - if t.str == "" { - return - } - extra := t.str[t.pVariant:] - if t.pVariant > 0 { - extra = extra[1:] - } - if t.equalTags(und) && strings.HasPrefix(extra, "x-") { - t.str = extra - t.pVariant = 0 - t.pExt = 0 - return - } - var buf [max99thPercentileSize]byte // avoid extra memory allocation in most cases. - b := buf[:t.genCoreBytes(buf[:])] - if extra != "" { - diff := uint8(len(b)) - t.pVariant - b = append(b, '-') - b = append(b, extra...) - t.pVariant += diff - t.pExt += uint16(diff) - } else { - t.pVariant = uint8(len(b)) - t.pExt = uint16(len(b)) - } - t.str = string(b) -} - -// genCoreBytes writes a string for the base languages, script and region tags -// to the given buffer and returns the number of bytes written. It will never -// write more than maxCoreSize bytes. -func (t *Tag) genCoreBytes(buf []byte) int { - n := t.lang.stringToBuf(buf[:]) - if t.script != 0 { - n += copy(buf[n:], "-") - n += copy(buf[n:], t.script.String()) - } - if t.region != 0 { - n += copy(buf[n:], "-") - n += copy(buf[n:], t.region.String()) - } - return n -} - -// String returns the canonical string representation of the language tag. -func (t Tag) String() string { - if t.str != "" { - return t.str - } - if t.script == 0 && t.region == 0 { - return t.lang.String() - } - buf := [maxCoreSize]byte{} - return string(buf[:t.genCoreBytes(buf[:])]) -} - -// Base returns the base language of the language tag. If the base language is -// unspecified, an attempt will be made to infer it from the context. -// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change. -func (t Tag) Base() (Base, Confidence) { - if t.lang != 0 { - return Base{t.lang}, Exact - } - c := High - if t.script == 0 && !(Region{t.region}).IsCountry() { - c = Low - } - if tag, err := addTags(t); err == nil && tag.lang != 0 { - return Base{tag.lang}, c - } - return Base{0}, No -} - -// Script infers the script for the language tag. If it was not explicitly given, it will infer -// a most likely candidate. -// If more than one script is commonly used for a language, the most likely one -// is returned with a low confidence indication. For example, it returns (Cyrl, Low) -// for Serbian. -// If a script cannot be inferred (Zzzz, No) is returned. We do not use Zyyy (undetermined) -// as one would suspect from the IANA registry for BCP 47. In a Unicode context Zyyy marks -// common characters (like 1, 2, 3, '.', etc.) and is therefore more like multiple scripts. -// See http://www.unicode.org/reports/tr24/#Values for more details. Zzzz is also used for -// unknown value in CLDR. (Zzzz, Exact) is returned if Zzzz was explicitly specified. -// Note that an inferred script is never guaranteed to be the correct one. Latin is -// almost exclusively used for Afrikaans, but Arabic has been used for some texts -// in the past. Also, the script that is commonly used may change over time. -// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change. -func (t Tag) Script() (Script, Confidence) { - if t.script != 0 { - return Script{t.script}, Exact - } - sc, c := scriptID(_Zzzz), No - if t.lang < langNoIndexOffset { - if scr := scriptID(suppressScript[t.lang]); scr != 0 { - // Note: it is not always the case that a language with a suppress - // script value is only written in one script (e.g. kk, ms, pa). - if t.region == 0 { - return Script{scriptID(scr)}, High - } - sc, c = scr, High - } - } - if tag, err := addTags(t); err == nil { - if tag.script != sc { - sc, c = tag.script, Low - } - } else { - t, _ = (Deprecated | Macro).Canonicalize(t) - if tag, err := addTags(t); err == nil && tag.script != sc { - sc, c = tag.script, Low - } - } - return Script{sc}, c -} - -// Region returns the region for the language tag. If it was not explicitly given, it will -// infer a most likely candidate from the context. -// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change. -func (t Tag) Region() (Region, Confidence) { - if t.region != 0 { - return Region{t.region}, Exact - } - if t, err := addTags(t); err == nil { - return Region{t.region}, Low // TODO: differentiate between high and low. - } - t, _ = (Deprecated | Macro).Canonicalize(t) - if tag, err := addTags(t); err == nil { - return Region{tag.region}, Low - } - return Region{_ZZ}, No // TODO: return world instead of undetermined? -} - -// Variant returns the variants specified explicitly for this language tag. -// or nil if no variant was specified. -func (t Tag) Variants() []Variant { - v := []Variant{} - if int(t.pVariant) < int(t.pExt) { - for x, str := "", t.str[t.pVariant:t.pExt]; str != ""; { - x, str = nextToken(str) - v = append(v, Variant{x}) - } - } - return v -} - -// Parent returns the CLDR parent of t. In CLDR, missing fields in data for a -// specific language are substituted with fields from the parent language. -// The parent for a language may change for newer versions of CLDR. -func (t Tag) Parent() Tag { - if t.str != "" { - // Strip the variants and extensions. - t, _ = Raw.Compose(t.Raw()) - if t.region == 0 && t.script != 0 && t.lang != 0 { - base, _ := addTags(Tag{lang: t.lang}) - if base.script == t.script { - return Tag{lang: t.lang} - } - } - return t - } - if t.lang != 0 { - if t.region != 0 { - maxScript := t.script - if maxScript == 0 { - max, _ := addTags(t) - maxScript = max.script - } - - for i := range parents { - if langID(parents[i].lang) == t.lang && scriptID(parents[i].maxScript) == maxScript { - for _, r := range parents[i].fromRegion { - if regionID(r) == t.region { - return Tag{ - lang: t.lang, - script: scriptID(parents[i].script), - region: regionID(parents[i].toRegion), - } - } - } - } - } - - // Strip the script if it is the default one. - base, _ := addTags(Tag{lang: t.lang}) - if base.script != maxScript { - return Tag{lang: t.lang, script: maxScript} - } - return Tag{lang: t.lang} - } else if t.script != 0 { - // The parent for an base-script pair with a non-default script is - // "und" instead of the base language. - base, _ := addTags(Tag{lang: t.lang}) - if base.script != t.script { - return und - } - return Tag{lang: t.lang} - } - } - return und -} - -// returns token t and the rest of the string. -func nextToken(s string) (t, tail string) { - p := strings.Index(s[1:], "-") - if p == -1 { - return s[1:], "" - } - p++ - return s[1:p], s[p:] -} - -// Extension is a single BCP 47 extension. -type Extension struct { - s string -} - -// String returns the string representation of the extension, including the -// type tag. -func (e Extension) String() string { - return e.s -} - -// ParseExtension parses s as an extension and returns it on success. -func ParseExtension(s string) (e Extension, err error) { - scan := makeScannerString(s) - var end int - if n := len(scan.token); n != 1 { - return Extension{}, errSyntax - } - scan.toLower(0, len(scan.b)) - end = parseExtension(&scan) - if end != len(s) { - return Extension{}, errSyntax - } - return Extension{string(scan.b)}, nil -} - -// Type returns the one-byte extension type of e. It returns 0 for the zero -// exception. -func (e Extension) Type() byte { - if e.s == "" { - return 0 - } - return e.s[0] -} - -// Tokens returns the list of tokens of e. -func (e Extension) Tokens() []string { - return strings.Split(e.s, "-") -} - -// Extension returns the extension of type x for tag t. It will return -// false for ok if t does not have the requested extension. The returned -// extension will be invalid in this case. -func (t Tag) Extension(x byte) (ext Extension, ok bool) { - for i := int(t.pExt); i < len(t.str)-1; { - var ext string - i, ext = getExtension(t.str, i) - if ext[0] == x { - return Extension{ext}, true - } - } - return Extension{string(x)}, false -} - -// Extensions returns all extensions of t. -func (t Tag) Extensions() []Extension { - e := []Extension{} - for i := int(t.pExt); i < len(t.str)-1; { - var ext string - i, ext = getExtension(t.str, i) - e = append(e, Extension{ext}) - } - return e -} - -// TypeForKey returns the type associated with the given key, where key and type -// are of the allowed values defined for the Unicode locale extension ('u') in -// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. -// TypeForKey will traverse the inheritance chain to get the correct value. -func (t Tag) TypeForKey(key string) string { - if start, end, _ := t.findTypeForKey(key); end != start { - return t.str[start:end] - } - return "" -} - -var ( - errPrivateUse = errors.New("cannot set a key on a private use tag") - errInvalidArguments = errors.New("invalid key or type") -) - -// SetTypeForKey returns a new Tag with the key set to type, where key and type -// are of the allowed values defined for the Unicode locale extension ('u') in -// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. -// An empty value removes an existing pair with the same key. -func (t Tag) SetTypeForKey(key, value string) (Tag, error) { - if t.private() { - return t, errPrivateUse - } - if len(key) != 2 { - return t, errInvalidArguments - } - - // Remove the setting if value is "". - if value == "" { - start, end, _ := t.findTypeForKey(key) - if start != end { - // Remove key tag and leading '-'. - start -= 4 - - // Remove a possible empty extension. - if (end == len(t.str) || t.str[end+2] == '-') && t.str[start-2] == '-' { - start -= 2 - } - if start == int(t.pVariant) && end == len(t.str) { - t.str = "" - t.pVariant, t.pExt = 0, 0 - } else { - t.str = fmt.Sprintf("%s%s", t.str[:start], t.str[end:]) - } - } - return t, nil - } - - if len(value) < 3 || len(value) > 8 { - return t, errInvalidArguments - } - - var ( - buf [maxCoreSize + maxSimpleUExtensionSize]byte - uStart int // start of the -u extension. - ) - - // Generate the tag string if needed. - if t.str == "" { - uStart = t.genCoreBytes(buf[:]) - buf[uStart] = '-' - uStart++ - } - - // Create new key-type pair and parse it to verify. - b := buf[uStart:] - copy(b, "u-") - copy(b[2:], key) - b[4] = '-' - b = b[:5+copy(b[5:], value)] - scan := makeScanner(b) - if parseExtensions(&scan); scan.err != nil { - return t, scan.err - } - - // Assemble the replacement string. - if t.str == "" { - t.pVariant, t.pExt = byte(uStart-1), uint16(uStart-1) - t.str = string(buf[:uStart+len(b)]) - } else { - s := t.str - start, end, hasExt := t.findTypeForKey(key) - if start == end { - if hasExt { - b = b[2:] - } - t.str = fmt.Sprintf("%s-%s%s", s[:start], b, s[end:]) - } else { - t.str = fmt.Sprintf("%s%s%s", s[:start], value, s[end:]) - } - } - return t, nil -} - -// findKeyAndType returns the start and end position for the type corresponding -// to key or the point at which to insert the key-value pair if the type -// wasn't found. The hasExt return value reports whether an -u extension was present. -// Note: the extensions are typically very small and are likely to contain -// only one key-type pair. -func (t Tag) findTypeForKey(key string) (start, end int, hasExt bool) { - p := int(t.pExt) - if len(key) != 2 || p == len(t.str) || p == 0 { - return p, p, false - } - s := t.str - - // Find the correct extension. - for p++; s[p] != 'u'; p++ { - if s[p] > 'u' { - p-- - return p, p, false - } - if p = nextExtension(s, p); p == len(s) { - return len(s), len(s), false - } - } - // Proceed to the hyphen following the extension name. - p++ - - // curKey is the key currently being processed. - curKey := "" - - // Iterate over keys until we get the end of a section. - for { - // p points to the hyphen preceding the current token. - if p3 := p + 3; s[p3] == '-' { - // Found a key. - // Check whether we just processed the key that was requested. - if curKey == key { - return start, p, true - } - // Set to the next key and continue scanning type tokens. - curKey = s[p+1 : p3] - if curKey > key { - return p, p, true - } - // Start of the type token sequence. - start = p + 4 - // A type is at least 3 characters long. - p += 7 // 4 + 3 - } else { - // Attribute or type, which is at least 3 characters long. - p += 4 - } - // p points past the third character of a type or attribute. - max := p + 5 // maximum length of token plus hyphen. - if len(s) < max { - max = len(s) - } - for ; p < max && s[p] != '-'; p++ { - } - // Bail if we have exhausted all tokens or if the next token starts - // a new extension. - if p == len(s) || s[p+2] == '-' { - if curKey == key { - return start, p, true - } - return p, p, true - } - } -} - -// CompactIndex returns an index, where 0 <= index < NumCompactTags, for tags -// for which data exists in the text repository. The index will change over time -// and should not be stored in persistent storage. Extensions, except for the -// 'va' type of the 'u' extension, are ignored. It will return 0, false if no -// compact tag exists, where 0 is the index for the root language (Und). -func CompactIndex(t Tag) (index int, ok bool) { - // TODO: perhaps give more frequent tags a lower index. - // TODO: we could make the indexes stable. This will excluded some - // possibilities for optimization, so don't do this quite yet. - b, s, r := t.Raw() - if len(t.str) > 0 { - if strings.HasPrefix(t.str, "x-") { - // We have no entries for user-defined tags. - return 0, false - } - if uint16(t.pVariant) != t.pExt { - // There are no tags with variants and an u-va type. - if t.TypeForKey("va") != "" { - return 0, false - } - t, _ = Raw.Compose(b, s, r, t.Variants()) - } else if _, ok := t.Extension('u'); ok { - // Strip all but the 'va' entry. - variant := t.TypeForKey("va") - t, _ = Raw.Compose(b, s, r) - t, _ = t.SetTypeForKey("va", variant) - } - if len(t.str) > 0 { - // We have some variants. - for i, s := range specialTags { - if s == t { - return i + 1, true - } - } - return 0, false - } - } - // No variants specified: just compare core components. - // The key has the form lllssrrr, where l, s, and r are nibbles for - // respectively the langID, scriptID, and regionID. - key := uint32(b.langID) << (8 + 12) - key |= uint32(s.scriptID) << 12 - key |= uint32(r.regionID) - x, ok := coreTags[key] - return int(x), ok -} - -// Base is an ISO 639 language code, used for encoding the base language -// of a language tag. -type Base struct { - langID -} - -// ParseBase parses a 2- or 3-letter ISO 639 code. -// It returns a ValueError if s is a well-formed but unknown language identifier -// or another error if another error occurred. -func ParseBase(s string) (Base, error) { - if n := len(s); n < 2 || 3 < n { - return Base{}, errSyntax - } - var buf [3]byte - l, err := getLangID(buf[:copy(buf[:], s)]) - return Base{l}, err -} - -// Script is a 4-letter ISO 15924 code for representing scripts. -// It is idiomatically represented in title case. -type Script struct { - scriptID -} - -// ParseScript parses a 4-letter ISO 15924 code. -// It returns a ValueError if s is a well-formed but unknown script identifier -// or another error if another error occurred. -func ParseScript(s string) (Script, error) { - if len(s) != 4 { - return Script{}, errSyntax - } - var buf [4]byte - sc, err := getScriptID(script, buf[:copy(buf[:], s)]) - return Script{sc}, err -} - -// Region is an ISO 3166-1 or UN M.49 code for representing countries and regions. -type Region struct { - regionID -} - -// EncodeM49 returns the Region for the given UN M.49 code. -// It returns an error if r is not a valid code. -func EncodeM49(r int) (Region, error) { - rid, err := getRegionM49(r) - return Region{rid}, err -} - -// ParseRegion parses a 2- or 3-letter ISO 3166-1 or a UN M.49 code. -// It returns a ValueError if s is a well-formed but unknown region identifier -// or another error if another error occurred. -func ParseRegion(s string) (Region, error) { - if n := len(s); n < 2 || 3 < n { - return Region{}, errSyntax - } - var buf [3]byte - r, err := getRegionID(buf[:copy(buf[:], s)]) - return Region{r}, err -} - -// IsCountry returns whether this region is a country or autonomous area. This -// includes non-standard definitions from CLDR. -func (r Region) IsCountry() bool { - if r.regionID == 0 || r.IsGroup() || r.IsPrivateUse() && r.regionID != _XK { - return false - } - return true -} - -// IsGroup returns whether this region defines a collection of regions. This -// includes non-standard definitions from CLDR. -func (r Region) IsGroup() bool { - if r.regionID == 0 { - return false - } - return int(regionInclusion[r.regionID]) < len(regionContainment) -} - -// Contains returns whether Region c is contained by Region r. It returns true -// if c == r. -func (r Region) Contains(c Region) bool { - return r.regionID.contains(c.regionID) -} - -func (r regionID) contains(c regionID) bool { - if r == c { - return true - } - g := regionInclusion[r] - if g >= nRegionGroups { - return false - } - m := regionContainment[g] - - d := regionInclusion[c] - b := regionInclusionBits[d] - - // A contained country may belong to multiple disjoint groups. Matching any - // of these indicates containment. If the contained region is a group, it - // must strictly be a subset. - if d >= nRegionGroups { - return b&m != 0 - } - return b&^m == 0 -} - -var errNoTLD = errors.New("language: region is not a valid ccTLD") - -// TLD returns the country code top-level domain (ccTLD). UK is returned for GB. -// In all other cases it returns either the region itself or an error. -// -// This method may return an error for a region for which there exists a -// canonical form with a ccTLD. To get that ccTLD canonicalize r first. The -// region will already be canonicalized it was obtained from a Tag that was -// obtained using any of the default methods. -func (r Region) TLD() (Region, error) { - // See http://en.wikipedia.org/wiki/Country_code_top-level_domain for the - // difference between ISO 3166-1 and IANA ccTLD. - if r.regionID == _GB { - r = Region{_UK} - } - if (r.typ() & ccTLD) == 0 { - return Region{}, errNoTLD - } - return r, nil -} - -// Canonicalize returns the region or a possible replacement if the region is -// deprecated. It will not return a replacement for deprecated regions that -// are split into multiple regions. -func (r Region) Canonicalize() Region { - if cr := normRegion(r.regionID); cr != 0 { - return Region{cr} - } - return r -} - -// Variant represents a registered variant of a language as defined by BCP 47. -type Variant struct { - variant string -} - -// ParseVariant parses and returns a Variant. An error is returned if s is not -// a valid variant. -func ParseVariant(s string) (Variant, error) { - s = strings.ToLower(s) - if _, ok := variantIndex[s]; ok { - return Variant{s}, nil - } - return Variant{}, mkErrInvalid([]byte(s)) -} - -// String returns the string representation of the variant. -func (v Variant) String() string { - return v.variant -} diff --git a/vendor/golang.org/x/text/language/lookup.go b/vendor/golang.org/x/text/language/lookup.go deleted file mode 100644 index 1d80ac370..000000000 --- a/vendor/golang.org/x/text/language/lookup.go +++ /dev/null @@ -1,396 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package language - -import ( - "bytes" - "fmt" - "sort" - "strconv" - - "golang.org/x/text/internal/tag" -) - -// findIndex tries to find the given tag in idx and returns a standardized error -// if it could not be found. -func findIndex(idx tag.Index, key []byte, form string) (index int, err error) { - if !tag.FixCase(form, key) { - return 0, errSyntax - } - i := idx.Index(key) - if i == -1 { - return 0, mkErrInvalid(key) - } - return i, nil -} - -func searchUint(imap []uint16, key uint16) int { - return sort.Search(len(imap), func(i int) bool { - return imap[i] >= key - }) -} - -type langID uint16 - -// getLangID returns the langID of s if s is a canonical subtag -// or langUnknown if s is not a canonical subtag. -func getLangID(s []byte) (langID, error) { - if len(s) == 2 { - return getLangISO2(s) - } - return getLangISO3(s) -} - -// mapLang returns the mapped langID of id according to mapping m. -func normLang(id langID) (langID, langAliasType) { - k := sort.Search(len(langAliasMap), func(i int) bool { - return langAliasMap[i].from >= uint16(id) - }) - if k < len(langAliasMap) && langAliasMap[k].from == uint16(id) { - return langID(langAliasMap[k].to), langAliasTypes[k] - } - return id, langAliasTypeUnknown -} - -// getLangISO2 returns the langID for the given 2-letter ISO language code -// or unknownLang if this does not exist. -func getLangISO2(s []byte) (langID, error) { - if !tag.FixCase("zz", s) { - return 0, errSyntax - } - if i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 { - return langID(i), nil - } - return 0, mkErrInvalid(s) -} - -const base = 'z' - 'a' + 1 - -func strToInt(s []byte) uint { - v := uint(0) - for i := 0; i < len(s); i++ { - v *= base - v += uint(s[i] - 'a') - } - return v -} - -// converts the given integer to the original ASCII string passed to strToInt. -// len(s) must match the number of characters obtained. -func intToStr(v uint, s []byte) { - for i := len(s) - 1; i >= 0; i-- { - s[i] = byte(v%base) + 'a' - v /= base - } -} - -// getLangISO3 returns the langID for the given 3-letter ISO language code -// or unknownLang if this does not exist. -func getLangISO3(s []byte) (langID, error) { - if tag.FixCase("und", s) { - // first try to match canonical 3-letter entries - for i := lang.Index(s[:2]); i != -1; i = lang.Next(s[:2], i) { - if e := lang.Elem(i); e[3] == 0 && e[2] == s[2] { - // We treat "und" as special and always translate it to "unspecified". - // Note that ZZ and Zzzz are private use and are not treated as - // unspecified by default. - id := langID(i) - if id == nonCanonicalUnd { - return 0, nil - } - return id, nil - } - } - if i := altLangISO3.Index(s); i != -1 { - return langID(altLangIndex[altLangISO3.Elem(i)[3]]), nil - } - n := strToInt(s) - if langNoIndex[n/8]&(1<<(n%8)) != 0 { - return langID(n) + langNoIndexOffset, nil - } - // Check for non-canonical uses of ISO3. - for i := lang.Index(s[:1]); i != -1; i = lang.Next(s[:1], i) { - if e := lang.Elem(i); e[2] == s[1] && e[3] == s[2] { - return langID(i), nil - } - } - return 0, mkErrInvalid(s) - } - return 0, errSyntax -} - -// stringToBuf writes the string to b and returns the number of bytes -// written. cap(b) must be >= 3. -func (id langID) stringToBuf(b []byte) int { - if id >= langNoIndexOffset { - intToStr(uint(id)-langNoIndexOffset, b[:3]) - return 3 - } else if id == 0 { - return copy(b, "und") - } - l := lang[id<<2:] - if l[3] == 0 { - return copy(b, l[:3]) - } - return copy(b, l[:2]) -} - -// String returns the BCP 47 representation of the langID. -// Use b as variable name, instead of id, to ensure the variable -// used is consistent with that of Base in which this type is embedded. -func (b langID) String() string { - if b == 0 { - return "und" - } else if b >= langNoIndexOffset { - b -= langNoIndexOffset - buf := [3]byte{} - intToStr(uint(b), buf[:]) - return string(buf[:]) - } - l := lang.Elem(int(b)) - if l[3] == 0 { - return l[:3] - } - return l[:2] -} - -// ISO3 returns the ISO 639-3 language code. -func (b langID) ISO3() string { - if b == 0 || b >= langNoIndexOffset { - return b.String() - } - l := lang.Elem(int(b)) - if l[3] == 0 { - return l[:3] - } else if l[2] == 0 { - return altLangISO3.Elem(int(l[3]))[:3] - } - // This allocation will only happen for 3-letter ISO codes - // that are non-canonical BCP 47 language identifiers. - return l[0:1] + l[2:4] -} - -// IsPrivateUse reports whether this language code is reserved for private use. -func (b langID) IsPrivateUse() bool { - return langPrivateStart <= b && b <= langPrivateEnd -} - -type regionID uint16 - -// getRegionID returns the region id for s if s is a valid 2-letter region code -// or unknownRegion. -func getRegionID(s []byte) (regionID, error) { - if len(s) == 3 { - if isAlpha(s[0]) { - return getRegionISO3(s) - } - if i, err := strconv.ParseUint(string(s), 10, 10); err == nil { - return getRegionM49(int(i)) - } - } - return getRegionISO2(s) -} - -// getRegionISO2 returns the regionID for the given 2-letter ISO country code -// or unknownRegion if this does not exist. -func getRegionISO2(s []byte) (regionID, error) { - i, err := findIndex(regionISO, s, "ZZ") - if err != nil { - return 0, err - } - return regionID(i) + isoRegionOffset, nil -} - -// getRegionISO3 returns the regionID for the given 3-letter ISO country code -// or unknownRegion if this does not exist. -func getRegionISO3(s []byte) (regionID, error) { - if tag.FixCase("ZZZ", s) { - for i := regionISO.Index(s[:1]); i != -1; i = regionISO.Next(s[:1], i) { - if e := regionISO.Elem(i); e[2] == s[1] && e[3] == s[2] { - return regionID(i) + isoRegionOffset, nil - } - } - for i := 0; i < len(altRegionISO3); i += 3 { - if tag.Compare(altRegionISO3[i:i+3], s) == 0 { - return regionID(altRegionIDs[i/3]), nil - } - } - return 0, mkErrInvalid(s) - } - return 0, errSyntax -} - -func getRegionM49(n int) (regionID, error) { - if 0 < n && n <= 999 { - const ( - searchBits = 7 - regionBits = 9 - regionMask = 1<> searchBits - buf := fromM49[m49Index[idx]:m49Index[idx+1]] - val := uint16(n) << regionBits // we rely on bits shifting out - i := sort.Search(len(buf), func(i int) bool { - return buf[i] >= val - }) - if r := fromM49[int(m49Index[idx])+i]; r&^regionMask == val { - return regionID(r & regionMask), nil - } - } - var e ValueError - fmt.Fprint(bytes.NewBuffer([]byte(e.v[:])), n) - return 0, e -} - -// normRegion returns a region if r is deprecated or 0 otherwise. -// TODO: consider supporting BYS (-> BLR), CSK (-> 200 or CZ), PHI (-> PHL) and AFI (-> DJ). -// TODO: consider mapping split up regions to new most populous one (like CLDR). -func normRegion(r regionID) regionID { - m := regionOldMap - k := sort.Search(len(m), func(i int) bool { - return m[i].from >= uint16(r) - }) - if k < len(m) && m[k].from == uint16(r) { - return regionID(m[k].to) - } - return 0 -} - -const ( - iso3166UserAssigned = 1 << iota - ccTLD - bcp47Region -) - -func (r regionID) typ() byte { - return regionTypes[r] -} - -// String returns the BCP 47 representation for the region. -// It returns "ZZ" for an unspecified region. -func (r regionID) String() string { - if r < isoRegionOffset { - if r == 0 { - return "ZZ" - } - return fmt.Sprintf("%03d", r.M49()) - } - r -= isoRegionOffset - return regionISO.Elem(int(r))[:2] -} - -// ISO3 returns the 3-letter ISO code of r. -// Note that not all regions have a 3-letter ISO code. -// In such cases this method returns "ZZZ". -func (r regionID) ISO3() string { - if r < isoRegionOffset { - return "ZZZ" - } - r -= isoRegionOffset - reg := regionISO.Elem(int(r)) - switch reg[2] { - case 0: - return altRegionISO3[reg[3]:][:3] - case ' ': - return "ZZZ" - } - return reg[0:1] + reg[2:4] -} - -// M49 returns the UN M.49 encoding of r, or 0 if this encoding -// is not defined for r. -func (r regionID) M49() int { - return int(m49[r]) -} - -// IsPrivateUse reports whether r has the ISO 3166 User-assigned status. This -// may include private-use tags that are assigned by CLDR and used in this -// implementation. So IsPrivateUse and IsCountry can be simultaneously true. -func (r regionID) IsPrivateUse() bool { - return r.typ()&iso3166UserAssigned != 0 -} - -type scriptID uint8 - -// getScriptID returns the script id for string s. It assumes that s -// is of the format [A-Z][a-z]{3}. -func getScriptID(idx tag.Index, s []byte) (scriptID, error) { - i, err := findIndex(idx, s, "Zzzz") - return scriptID(i), err -} - -// String returns the script code in title case. -// It returns "Zzzz" for an unspecified script. -func (s scriptID) String() string { - if s == 0 { - return "Zzzz" - } - return script.Elem(int(s)) -} - -// IsPrivateUse reports whether this script code is reserved for private use. -func (s scriptID) IsPrivateUse() bool { - return _Qaaa <= s && s <= _Qabx -} - -const ( - maxAltTaglen = len("en-US-POSIX") - maxLen = maxAltTaglen -) - -var ( - // grandfatheredMap holds a mapping from legacy and grandfathered tags to - // their base language or index to more elaborate tag. - grandfatheredMap = map[[maxLen]byte]int16{ - [maxLen]byte{'a', 'r', 't', '-', 'l', 'o', 'j', 'b', 'a', 'n'}: _jbo, // art-lojban - [maxLen]byte{'i', '-', 'a', 'm', 'i'}: _ami, // i-ami - [maxLen]byte{'i', '-', 'b', 'n', 'n'}: _bnn, // i-bnn - [maxLen]byte{'i', '-', 'h', 'a', 'k'}: _hak, // i-hak - [maxLen]byte{'i', '-', 'k', 'l', 'i', 'n', 'g', 'o', 'n'}: _tlh, // i-klingon - [maxLen]byte{'i', '-', 'l', 'u', 'x'}: _lb, // i-lux - [maxLen]byte{'i', '-', 'n', 'a', 'v', 'a', 'j', 'o'}: _nv, // i-navajo - [maxLen]byte{'i', '-', 'p', 'w', 'n'}: _pwn, // i-pwn - [maxLen]byte{'i', '-', 't', 'a', 'o'}: _tao, // i-tao - [maxLen]byte{'i', '-', 't', 'a', 'y'}: _tay, // i-tay - [maxLen]byte{'i', '-', 't', 's', 'u'}: _tsu, // i-tsu - [maxLen]byte{'n', 'o', '-', 'b', 'o', 'k'}: _nb, // no-bok - [maxLen]byte{'n', 'o', '-', 'n', 'y', 'n'}: _nn, // no-nyn - [maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'f', 'r'}: _sfb, // sgn-BE-FR - [maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'n', 'l'}: _vgt, // sgn-BE-NL - [maxLen]byte{'s', 'g', 'n', '-', 'c', 'h', '-', 'd', 'e'}: _sgg, // sgn-CH-DE - [maxLen]byte{'z', 'h', '-', 'g', 'u', 'o', 'y', 'u'}: _cmn, // zh-guoyu - [maxLen]byte{'z', 'h', '-', 'h', 'a', 'k', 'k', 'a'}: _hak, // zh-hakka - [maxLen]byte{'z', 'h', '-', 'm', 'i', 'n', '-', 'n', 'a', 'n'}: _nan, // zh-min-nan - [maxLen]byte{'z', 'h', '-', 'x', 'i', 'a', 'n', 'g'}: _hsn, // zh-xiang - - // Grandfathered tags with no modern replacement will be converted as - // follows: - [maxLen]byte{'c', 'e', 'l', '-', 'g', 'a', 'u', 'l', 'i', 's', 'h'}: -1, // cel-gaulish - [maxLen]byte{'e', 'n', '-', 'g', 'b', '-', 'o', 'e', 'd'}: -2, // en-GB-oed - [maxLen]byte{'i', '-', 'd', 'e', 'f', 'a', 'u', 'l', 't'}: -3, // i-default - [maxLen]byte{'i', '-', 'e', 'n', 'o', 'c', 'h', 'i', 'a', 'n'}: -4, // i-enochian - [maxLen]byte{'i', '-', 'm', 'i', 'n', 'g', 'o'}: -5, // i-mingo - [maxLen]byte{'z', 'h', '-', 'm', 'i', 'n'}: -6, // zh-min - - // CLDR-specific tag. - [maxLen]byte{'r', 'o', 'o', 't'}: 0, // root - [maxLen]byte{'e', 'n', '-', 'u', 's', '-', 'p', 'o', 's', 'i', 'x'}: -7, // en_US_POSIX" - } - - altTagIndex = [...]uint8{0, 17, 31, 45, 61, 74, 86, 102} - - altTags = "xtg-x-cel-gaulishen-GB-oxendicten-x-i-defaultund-x-i-enochiansee-x-i-mingonan-x-zh-minen-US-u-va-posix" -) - -func grandfathered(s [maxAltTaglen]byte) (t Tag, ok bool) { - if v, ok := grandfatheredMap[s]; ok { - if v < 0 { - return Make(altTags[altTagIndex[-v-1]:altTagIndex[-v]]), true - } - t.lang = langID(v) - return t, true - } - return t, false -} diff --git a/vendor/golang.org/x/text/language/maketables.go b/vendor/golang.org/x/text/language/maketables.go deleted file mode 100644 index 4eaa28882..000000000 --- a/vendor/golang.org/x/text/language/maketables.go +++ /dev/null @@ -1,1625 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -// Language tag table generator. -// Data read from the web. - -package main - -import ( - "bufio" - "flag" - "fmt" - "io" - "io/ioutil" - "log" - "math" - "reflect" - "regexp" - "sort" - "strconv" - "strings" - - "golang.org/x/text/internal/gen" - "golang.org/x/text/internal/tag" - "golang.org/x/text/unicode/cldr" -) - -var ( - test = flag.Bool("test", - false, - "test existing tables; can be used to compare web data with package data.") - outputFile = flag.String("output", - "tables.go", - "output file for generated tables") -) - -var comment = []string{ - ` -lang holds an alphabetically sorted list of ISO-639 language identifiers. -All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag. -For 2-byte language identifiers, the two successive bytes have the following meaning: - - if the first letter of the 2- and 3-letter ISO codes are the same: - the second and third letter of the 3-letter ISO code. - - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3. -For 3-byte language identifiers the 4th byte is 0.`, - ` -langNoIndex is a bit vector of all 3-letter language codes that are not used as an index -in lookup tables. The language ids for these language codes are derived directly -from the letters and are not consecutive.`, - ` -altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives -to 2-letter language codes that cannot be derived using the method described above. -Each 3-letter code is followed by its 1-byte langID.`, - ` -altLangIndex is used to convert indexes in altLangISO3 to langIDs.`, - ` -langAliasMap maps langIDs to their suggested replacements.`, - ` -script is an alphabetically sorted list of ISO 15924 codes. The index -of the script in the string, divided by 4, is the internal scriptID.`, - ` -isoRegionOffset needs to be added to the index of regionISO to obtain the regionID -for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for -the UN.M49 codes used for groups.)`, - ` -regionISO holds a list of alphabetically sorted 2-letter ISO region codes. -Each 2-letter codes is followed by two bytes with the following meaning: - - [A-Z}{2}: the first letter of the 2-letter code plus these two - letters form the 3-letter ISO code. - - 0, n: index into altRegionISO3.`, - ` -regionTypes defines the status of a region for various standards.`, - ` -m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are -codes indicating collections of regions.`, - ` -m49Index gives indexes into fromM49 based on the three most significant bits -of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in - fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]] -for an entry where the first 7 bits match the 7 lsb of the UN.M49 code. -The region code is stored in the 9 lsb of the indexed value.`, - ` -fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.`, - ` -altRegionISO3 holds a list of 3-letter region codes that cannot be -mapped to 2-letter codes using the default algorithm. This is a short list.`, - ` -altRegionIDs holds a list of regionIDs the positions of which match those -of the 3-letter ISO codes in altRegionISO3.`, - ` -variantNumSpecialized is the number of specialized variants in variants.`, - ` -suppressScript is an index from langID to the dominant script for that language, -if it exists. If a script is given, it should be suppressed from the language tag.`, - ` -likelyLang is a lookup table, indexed by langID, for the most likely -scripts and regions given incomplete information. If more entries exist for a -given language, region and script are the index and size respectively -of the list in likelyLangList.`, - ` -likelyLangList holds lists info associated with likelyLang.`, - ` -likelyRegion is a lookup table, indexed by regionID, for the most likely -languages and scripts given incomplete information. If more entries exist -for a given regionID, lang and script are the index and size respectively -of the list in likelyRegionList. -TODO: exclude containers and user-definable regions from the list.`, - ` -likelyRegionList holds lists info associated with likelyRegion.`, - ` -likelyScript is a lookup table, indexed by scriptID, for the most likely -languages and regions given a script.`, - ` -matchLang holds pairs of langIDs of base languages that are typically -mutually intelligible. Each pair is associated with a confidence and -whether the intelligibility goes one or both ways.`, - ` -matchScript holds pairs of scriptIDs where readers of one script -can typically also read the other. Each is associated with a confidence.`, - ` -nRegionGroups is the number of region groups.`, - ` -regionInclusion maps region identifiers to sets of regions in regionInclusionBits, -where each set holds all groupings that are directly connected in a region -containment graph.`, - ` -regionInclusionBits is an array of bit vectors where every vector represents -a set of region groupings. These sets are used to compute the distance -between two regions for the purpose of language matching.`, - ` -regionInclusionNext marks, for each entry in regionInclusionBits, the set of -all groups that are reachable from the groups set in the respective entry.`, -} - -// TODO: consider changing some of these structures to tries. This can reduce -// memory, but may increase the need for memory allocations. This could be -// mitigated if we can piggyback on language tags for common cases. - -func failOnError(e error) { - if e != nil { - log.Panic(e) - } -} - -type setType int - -const ( - Indexed setType = 1 + iota // all elements must be of same size - Linear -) - -type stringSet struct { - s []string - sorted, frozen bool - - // We often need to update values after the creation of an index is completed. - // We include a convenience map for keeping track of this. - update map[string]string - typ setType // used for checking. -} - -func (ss *stringSet) clone() stringSet { - c := *ss - c.s = append([]string(nil), c.s...) - return c -} - -func (ss *stringSet) setType(t setType) { - if ss.typ != t && ss.typ != 0 { - log.Panicf("type %d cannot be assigned as it was already %d", t, ss.typ) - } -} - -// parse parses a whitespace-separated string and initializes ss with its -// components. -func (ss *stringSet) parse(s string) { - scan := bufio.NewScanner(strings.NewReader(s)) - scan.Split(bufio.ScanWords) - for scan.Scan() { - ss.add(scan.Text()) - } -} - -func (ss *stringSet) assertChangeable() { - if ss.frozen { - log.Panic("attempt to modify a frozen stringSet") - } -} - -func (ss *stringSet) add(s string) { - ss.assertChangeable() - ss.s = append(ss.s, s) - ss.sorted = ss.frozen -} - -func (ss *stringSet) freeze() { - ss.compact() - ss.frozen = true -} - -func (ss *stringSet) compact() { - if ss.sorted { - return - } - a := ss.s - sort.Strings(a) - k := 0 - for i := 1; i < len(a); i++ { - if a[k] != a[i] { - a[k+1] = a[i] - k++ - } - } - ss.s = a[:k+1] - ss.sorted = ss.frozen -} - -type funcSorter struct { - fn func(a, b string) bool - sort.StringSlice -} - -func (s funcSorter) Less(i, j int) bool { - return s.fn(s.StringSlice[i], s.StringSlice[j]) -} - -func (ss *stringSet) sortFunc(f func(a, b string) bool) { - ss.compact() - sort.Sort(funcSorter{f, sort.StringSlice(ss.s)}) -} - -func (ss *stringSet) remove(s string) { - ss.assertChangeable() - if i, ok := ss.find(s); ok { - copy(ss.s[i:], ss.s[i+1:]) - ss.s = ss.s[:len(ss.s)-1] - } -} - -func (ss *stringSet) replace(ol, nu string) { - ss.s[ss.index(ol)] = nu - ss.sorted = ss.frozen -} - -func (ss *stringSet) index(s string) int { - ss.setType(Indexed) - i, ok := ss.find(s) - if !ok { - if i < len(ss.s) { - log.Panicf("find: item %q is not in list. Closest match is %q.", s, ss.s[i]) - } - log.Panicf("find: item %q is not in list", s) - - } - return i -} - -func (ss *stringSet) find(s string) (int, bool) { - ss.compact() - i := sort.SearchStrings(ss.s, s) - return i, i != len(ss.s) && ss.s[i] == s -} - -func (ss *stringSet) slice() []string { - ss.compact() - return ss.s -} - -func (ss *stringSet) updateLater(v, key string) { - if ss.update == nil { - ss.update = map[string]string{} - } - ss.update[v] = key -} - -// join joins the string and ensures that all entries are of the same length. -func (ss *stringSet) join() string { - ss.setType(Indexed) - n := len(ss.s[0]) - for _, s := range ss.s { - if len(s) != n { - log.Panicf("join: not all entries are of the same length: %q", s) - } - } - ss.s = append(ss.s, strings.Repeat("\xff", n)) - return strings.Join(ss.s, "") -} - -// ianaEntry holds information for an entry in the IANA Language Subtag Repository. -// All types use the same entry. -// See http://tools.ietf.org/html/bcp47#section-5.1 for a description of the various -// fields. -type ianaEntry struct { - typ string - description []string - scope string - added string - preferred string - deprecated string - suppressScript string - macro string - prefix []string -} - -type builder struct { - w *gen.CodeWriter - hw io.Writer // MultiWriter for w and w.Hash - data *cldr.CLDR - supp *cldr.SupplementalData - - // indices - locale stringSet // common locales - lang stringSet // canonical language ids (2 or 3 letter ISO codes) with data - langNoIndex stringSet // 3-letter ISO codes with no associated data - script stringSet // 4-letter ISO codes - region stringSet // 2-letter ISO or 3-digit UN M49 codes - variant stringSet // 4-8-alphanumeric variant code. - - // Region codes that are groups with their corresponding group IDs. - groups map[int]index - - // langInfo - registry map[string]*ianaEntry -} - -type index uint - -func newBuilder(w *gen.CodeWriter) *builder { - r := gen.OpenCLDRCoreZip() - defer r.Close() - d := &cldr.Decoder{} - data, err := d.DecodeZip(r) - failOnError(err) - b := builder{ - w: w, - hw: io.MultiWriter(w, w.Hash), - data: data, - supp: data.Supplemental(), - } - b.parseRegistry() - return &b -} - -func (b *builder) parseRegistry() { - r := gen.OpenIANAFile("assignments/language-subtag-registry") - defer r.Close() - b.registry = make(map[string]*ianaEntry) - - scan := bufio.NewScanner(r) - scan.Split(bufio.ScanWords) - var record *ianaEntry - for more := scan.Scan(); more; { - key := scan.Text() - more = scan.Scan() - value := scan.Text() - switch key { - case "Type:": - record = &ianaEntry{typ: value} - case "Subtag:", "Tag:": - if s := strings.SplitN(value, "..", 2); len(s) > 1 { - for a := s[0]; a <= s[1]; a = inc(a) { - b.addToRegistry(a, record) - } - } else { - b.addToRegistry(value, record) - } - case "Suppress-Script:": - record.suppressScript = value - case "Added:": - record.added = value - case "Deprecated:": - record.deprecated = value - case "Macrolanguage:": - record.macro = value - case "Preferred-Value:": - record.preferred = value - case "Prefix:": - record.prefix = append(record.prefix, value) - case "Scope:": - record.scope = value - case "Description:": - buf := []byte(value) - for more = scan.Scan(); more; more = scan.Scan() { - b := scan.Bytes() - if b[0] == '%' || b[len(b)-1] == ':' { - break - } - buf = append(buf, ' ') - buf = append(buf, b...) - } - record.description = append(record.description, string(buf)) - continue - default: - continue - } - more = scan.Scan() - } - if scan.Err() != nil { - log.Panic(scan.Err()) - } -} - -func (b *builder) addToRegistry(key string, entry *ianaEntry) { - if info, ok := b.registry[key]; ok { - if info.typ != "language" || entry.typ != "extlang" { - log.Fatalf("parseRegistry: tag %q already exists", key) - } - } else { - b.registry[key] = entry - } -} - -var commentIndex = make(map[string]string) - -func init() { - for _, s := range comment { - key := strings.TrimSpace(strings.SplitN(s, " ", 2)[0]) - commentIndex[key] = s - } -} - -func (b *builder) comment(name string) { - if s := commentIndex[name]; len(s) > 0 { - b.w.WriteComment(s) - } else { - fmt.Fprintln(b.w) - } -} - -func (b *builder) pf(f string, x ...interface{}) { - fmt.Fprintf(b.hw, f, x...) - fmt.Fprint(b.hw, "\n") -} - -func (b *builder) p(x ...interface{}) { - fmt.Fprintln(b.hw, x...) -} - -func (b *builder) addSize(s int) { - b.w.Size += s - b.pf("// Size: %d bytes", s) -} - -func (b *builder) writeConst(name string, x interface{}) { - b.comment(name) - b.w.WriteConst(name, x) -} - -// writeConsts computes f(v) for all v in values and writes the results -// as constants named _v to a single constant block. -func (b *builder) writeConsts(f func(string) int, values ...string) { - b.pf("const (") - for _, v := range values { - b.pf("\t_%s = %v", v, f(v)) - } - b.pf(")") -} - -// writeType writes the type of the given value, which must be a struct. -func (b *builder) writeType(value interface{}) { - b.comment(reflect.TypeOf(value).Name()) - b.w.WriteType(value) -} - -func (b *builder) writeSlice(name string, ss interface{}) { - b.writeSliceAddSize(name, 0, ss) -} - -func (b *builder) writeSliceAddSize(name string, extraSize int, ss interface{}) { - b.comment(name) - b.w.Size += extraSize - v := reflect.ValueOf(ss) - t := v.Type().Elem() - b.pf("// Size: %d bytes, %d elements", v.Len()*int(t.Size())+extraSize, v.Len()) - - fmt.Fprintf(b.w, "var %s = ", name) - b.w.WriteArray(ss) - b.p() -} - -type fromTo struct { - from, to uint16 -} - -func (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) { - ss.sortFunc(func(a, b string) bool { - return index(a) < index(b) - }) - m := []fromTo{} - for _, s := range ss.s { - m = append(m, fromTo{index(s), index(ss.update[s])}) - } - b.writeSlice(name, m) -} - -const base = 'z' - 'a' + 1 - -func strToInt(s string) uint { - v := uint(0) - for i := 0; i < len(s); i++ { - v *= base - v += uint(s[i] - 'a') - } - return v -} - -// converts the given integer to the original ASCII string passed to strToInt. -// len(s) must match the number of characters obtained. -func intToStr(v uint, s []byte) { - for i := len(s) - 1; i >= 0; i-- { - s[i] = byte(v%base) + 'a' - v /= base - } -} - -func (b *builder) writeBitVector(name string, ss []string) { - vec := make([]uint8, int(math.Ceil(math.Pow(base, float64(len(ss[0])))/8))) - for _, s := range ss { - v := strToInt(s) - vec[v/8] |= 1 << (v % 8) - } - b.writeSlice(name, vec) -} - -// TODO: convert this type into a list or two-stage trie. -func (b *builder) writeMapFunc(name string, m map[string]string, f func(string) uint16) { - b.comment(name) - v := reflect.ValueOf(m) - sz := v.Len() * (2 + int(v.Type().Key().Size())) - for _, k := range m { - sz += len(k) - } - b.addSize(sz) - keys := []string{} - b.pf(`var %s = map[string]uint16{`, name) - for k := range m { - keys = append(keys, k) - } - sort.Strings(keys) - for _, k := range keys { - b.pf("\t%q: %v,", k, f(m[k])) - } - b.p("}") -} - -func (b *builder) writeMap(name string, m interface{}) { - b.comment(name) - v := reflect.ValueOf(m) - sz := v.Len() * (2 + int(v.Type().Key().Size()) + int(v.Type().Elem().Size())) - b.addSize(sz) - f := strings.FieldsFunc(fmt.Sprintf("%#v", m), func(r rune) bool { - return strings.IndexRune("{}, ", r) != -1 - }) - sort.Strings(f[1:]) - b.pf(`var %s = %s{`, name, f[0]) - for _, kv := range f[1:] { - b.pf("\t%s,", kv) - } - b.p("}") -} - -func (b *builder) langIndex(s string) uint16 { - if s == "und" { - return 0 - } - if i, ok := b.lang.find(s); ok { - return uint16(i) - } - return uint16(strToInt(s)) + uint16(len(b.lang.s)) -} - -// inc advances the string to its lexicographical successor. -func inc(s string) string { - const maxTagLength = 4 - var buf [maxTagLength]byte - intToStr(strToInt(strings.ToLower(s))+1, buf[:len(s)]) - for i := 0; i < len(s); i++ { - if s[i] <= 'Z' { - buf[i] -= 'a' - 'A' - } - } - return string(buf[:len(s)]) -} - -func (b *builder) parseIndices() { - meta := b.supp.Metadata - - for k, v := range b.registry { - var ss *stringSet - switch v.typ { - case "language": - if len(k) == 2 || v.suppressScript != "" || v.scope == "special" { - b.lang.add(k) - continue - } else { - ss = &b.langNoIndex - } - case "region": - ss = &b.region - case "script": - ss = &b.script - case "variant": - ss = &b.variant - default: - continue - } - ss.add(k) - } - // Include any language for which there is data. - for _, lang := range b.data.Locales() { - if x := b.data.RawLDML(lang); false || - x.LocaleDisplayNames != nil || - x.Characters != nil || - x.Delimiters != nil || - x.Measurement != nil || - x.Dates != nil || - x.Numbers != nil || - x.Units != nil || - x.ListPatterns != nil || - x.Collations != nil || - x.Segmentations != nil || - x.Rbnf != nil || - x.Annotations != nil || - x.Metadata != nil { - - from := strings.Split(lang, "_") - if lang := from[0]; lang != "root" { - b.lang.add(lang) - } - } - } - // Include languages in likely subtags. - for _, m := range b.supp.LikelySubtags.LikelySubtag { - from := strings.Split(m.From, "_") - b.lang.add(from[0]) - } - // Include ISO-639 alpha-3 bibliographic entries. - for _, a := range meta.Alias.LanguageAlias { - if a.Reason == "bibliographic" { - b.langNoIndex.add(a.Type) - } - } - // Include regions in territoryAlias (not all are in the IANA registry!) - for _, reg := range b.supp.Metadata.Alias.TerritoryAlias { - if len(reg.Type) == 2 { - b.region.add(reg.Type) - } - } - - for _, s := range b.lang.s { - if len(s) == 3 { - b.langNoIndex.remove(s) - } - } - b.writeConst("numLanguages", len(b.lang.slice())+len(b.langNoIndex.slice())) - b.writeConst("numScripts", len(b.script.slice())) - b.writeConst("numRegions", len(b.region.slice())) - - // Add dummy codes at the start of each list to represent "unspecified". - b.lang.add("---") - b.script.add("----") - b.region.add("---") - - // common locales - b.locale.parse(meta.DefaultContent.Locales) -} - -func (b *builder) computeRegionGroups() { - b.groups = make(map[int]index) - - // Create group indices. - for i := 1; b.region.s[i][0] < 'A'; i++ { // Base M49 indices on regionID. - b.groups[i] = index(len(b.groups)) - } - for _, g := range b.supp.TerritoryContainment.Group { - group := b.region.index(g.Type) - if _, ok := b.groups[group]; !ok { - b.groups[group] = index(len(b.groups)) - } - } - if len(b.groups) > 32 { - log.Fatalf("only 32 groups supported, found %d", len(b.groups)) - } - b.writeConst("nRegionGroups", len(b.groups)) -} - -var langConsts = []string{ - "af", "am", "ar", "az", "bg", "bn", "ca", "cs", "da", "de", "el", "en", "es", - "et", "fa", "fi", "fil", "fr", "gu", "he", "hi", "hr", "hu", "hy", "id", "is", - "it", "ja", "ka", "kk", "km", "kn", "ko", "ky", "lo", "lt", "lv", "mk", "ml", - "mn", "mo", "mr", "ms", "mul", "my", "nb", "ne", "nl", "no", "pa", "pl", "pt", - "ro", "ru", "sh", "si", "sk", "sl", "sq", "sr", "sv", "sw", "ta", "te", "th", - "tl", "tn", "tr", "uk", "ur", "uz", "vi", "zh", "zu", - - // constants for grandfathered tags (if not already defined) - "jbo", "ami", "bnn", "hak", "tlh", "lb", "nv", "pwn", "tao", "tay", "tsu", - "nn", "sfb", "vgt", "sgg", "cmn", "nan", "hsn", -} - -// writeLanguage generates all tables needed for language canonicalization. -func (b *builder) writeLanguage() { - meta := b.supp.Metadata - - b.writeConst("nonCanonicalUnd", b.lang.index("und")) - b.writeConsts(func(s string) int { return int(b.langIndex(s)) }, langConsts...) - b.writeConst("langPrivateStart", b.langIndex("qaa")) - b.writeConst("langPrivateEnd", b.langIndex("qtz")) - - // Get language codes that need to be mapped (overlong 3-letter codes, - // deprecated 2-letter codes, legacy and grandfathered tags.) - langAliasMap := stringSet{} - aliasTypeMap := map[string]langAliasType{} - - // altLangISO3 get the alternative ISO3 names that need to be mapped. - altLangISO3 := stringSet{} - // Add dummy start to avoid the use of index 0. - altLangISO3.add("---") - altLangISO3.updateLater("---", "aa") - - lang := b.lang.clone() - for _, a := range meta.Alias.LanguageAlias { - if a.Replacement == "" { - a.Replacement = "und" - } - // TODO: support mapping to tags - repl := strings.SplitN(a.Replacement, "_", 2)[0] - if a.Reason == "overlong" { - if len(a.Replacement) == 2 && len(a.Type) == 3 { - lang.updateLater(a.Replacement, a.Type) - } - } else if len(a.Type) <= 3 { - switch a.Reason { - case "macrolanguage": - aliasTypeMap[a.Type] = langMacro - case "deprecated": - // handled elsewhere - continue - case "bibliographic", "legacy": - if a.Type == "no" { - continue - } - aliasTypeMap[a.Type] = langLegacy - default: - log.Fatalf("new %s alias: %s", a.Reason, a.Type) - } - langAliasMap.add(a.Type) - langAliasMap.updateLater(a.Type, repl) - } - } - // Manually add the mapping of "nb" (Norwegian) to its macro language. - // This can be removed if CLDR adopts this change. - langAliasMap.add("nb") - langAliasMap.updateLater("nb", "no") - aliasTypeMap["nb"] = langMacro - - for k, v := range b.registry { - // Also add deprecated values for 3-letter ISO codes, which CLDR omits. - if v.typ == "language" && v.deprecated != "" && v.preferred != "" { - langAliasMap.add(k) - langAliasMap.updateLater(k, v.preferred) - aliasTypeMap[k] = langDeprecated - } - } - // Fix CLDR mappings. - lang.updateLater("tl", "tgl") - lang.updateLater("sh", "hbs") - lang.updateLater("mo", "mol") - lang.updateLater("no", "nor") - lang.updateLater("tw", "twi") - lang.updateLater("nb", "nob") - lang.updateLater("ak", "aka") - - // Ensure that each 2-letter code is matched with a 3-letter code. - for _, v := range lang.s[1:] { - s, ok := lang.update[v] - if !ok { - if s, ok = lang.update[langAliasMap.update[v]]; !ok { - continue - } - lang.update[v] = s - } - if v[0] != s[0] { - altLangISO3.add(s) - altLangISO3.updateLater(s, v) - } - } - - // Complete canonialized language tags. - lang.freeze() - for i, v := range lang.s { - // We can avoid these manual entries by using the IANI registry directly. - // Seems easier to update the list manually, as changes are rare. - // The panic in this loop will trigger if we miss an entry. - add := "" - if s, ok := lang.update[v]; ok { - if s[0] == v[0] { - add = s[1:] - } else { - add = string([]byte{0, byte(altLangISO3.index(s))}) - } - } else if len(v) == 3 { - add = "\x00" - } else { - log.Panicf("no data for long form of %q", v) - } - lang.s[i] += add - } - b.writeConst("lang", tag.Index(lang.join())) - - b.writeConst("langNoIndexOffset", len(b.lang.s)) - - // space of all valid 3-letter language identifiers. - b.writeBitVector("langNoIndex", b.langNoIndex.slice()) - - altLangIndex := []uint16{} - for i, s := range altLangISO3.slice() { - altLangISO3.s[i] += string([]byte{byte(len(altLangIndex))}) - if i > 0 { - idx := b.lang.index(altLangISO3.update[s]) - altLangIndex = append(altLangIndex, uint16(idx)) - } - } - b.writeConst("altLangISO3", tag.Index(altLangISO3.join())) - b.writeSlice("altLangIndex", altLangIndex) - - b.writeSortedMap("langAliasMap", &langAliasMap, b.langIndex) - types := make([]langAliasType, len(langAliasMap.s)) - for i, s := range langAliasMap.s { - types[i] = aliasTypeMap[s] - } - b.writeSlice("langAliasTypes", types) -} - -var scriptConsts = []string{ - "Latn", "Hani", "Hans", "Hant", "Qaaa", "Qaai", "Qabx", "Zinh", "Zyyy", - "Zzzz", -} - -func (b *builder) writeScript() { - b.writeConsts(b.script.index, scriptConsts...) - b.writeConst("script", tag.Index(b.script.join())) - - supp := make([]uint8, len(b.lang.slice())) - for i, v := range b.lang.slice()[1:] { - if sc := b.registry[v].suppressScript; sc != "" { - supp[i+1] = uint8(b.script.index(sc)) - } - } - b.writeSlice("suppressScript", supp) - - // There is only one deprecated script in CLDR. This value is hard-coded. - // We check here if the code must be updated. - for _, a := range b.supp.Metadata.Alias.ScriptAlias { - if a.Type != "Qaai" { - log.Panicf("unexpected deprecated stript %q", a.Type) - } - } -} - -func parseM49(s string) int16 { - if len(s) == 0 { - return 0 - } - v, err := strconv.ParseUint(s, 10, 10) - failOnError(err) - return int16(v) -} - -var regionConsts = []string{ - "001", "419", "BR", "CA", "ES", "GB", "MD", "PT", "UK", "US", - "ZZ", "XA", "XC", "XK", // Unofficial tag for Kosovo. -} - -func (b *builder) writeRegion() { - b.writeConsts(b.region.index, regionConsts...) - - isoOffset := b.region.index("AA") - m49map := make([]int16, len(b.region.slice())) - fromM49map := make(map[int16]int) - altRegionISO3 := "" - altRegionIDs := []uint16{} - - b.writeConst("isoRegionOffset", isoOffset) - - // 2-letter region lookup and mapping to numeric codes. - regionISO := b.region.clone() - regionISO.s = regionISO.s[isoOffset:] - regionISO.sorted = false - - regionTypes := make([]byte, len(b.region.s)) - - // Is the region valid BCP 47? - for s, e := range b.registry { - if len(s) == 2 && s == strings.ToUpper(s) { - i := b.region.index(s) - for _, d := range e.description { - if strings.Contains(d, "Private use") { - regionTypes[i] = iso3166UserAssgined - } - } - regionTypes[i] |= bcp47Region - } - } - - // Is the region a valid ccTLD? - r := gen.OpenIANAFile("domains/root/db") - defer r.Close() - - buf, err := ioutil.ReadAll(r) - failOnError(err) - re := regexp.MustCompile(`"/domains/root/db/([a-z]{2}).html"`) - for _, m := range re.FindAllSubmatch(buf, -1) { - i := b.region.index(strings.ToUpper(string(m[1]))) - regionTypes[i] |= ccTLD - } - - b.writeSlice("regionTypes", regionTypes) - - iso3Set := make(map[string]int) - update := func(iso2, iso3 string) { - i := regionISO.index(iso2) - if j, ok := iso3Set[iso3]; !ok && iso3[0] == iso2[0] { - regionISO.s[i] += iso3[1:] - iso3Set[iso3] = -1 - } else { - if ok && j >= 0 { - regionISO.s[i] += string([]byte{0, byte(j)}) - } else { - iso3Set[iso3] = len(altRegionISO3) - regionISO.s[i] += string([]byte{0, byte(len(altRegionISO3))}) - altRegionISO3 += iso3 - altRegionIDs = append(altRegionIDs, uint16(isoOffset+i)) - } - } - } - for _, tc := range b.supp.CodeMappings.TerritoryCodes { - i := regionISO.index(tc.Type) + isoOffset - if d := m49map[i]; d != 0 { - log.Panicf("%s found as a duplicate UN.M49 code of %03d", tc.Numeric, d) - } - m49 := parseM49(tc.Numeric) - m49map[i] = m49 - if r := fromM49map[m49]; r == 0 { - fromM49map[m49] = i - } else if r != i { - dep := b.registry[regionISO.s[r-isoOffset]].deprecated - if t := b.registry[tc.Type]; t != nil && dep != "" && (t.deprecated == "" || t.deprecated > dep) { - fromM49map[m49] = i - } - } - } - for _, ta := range b.supp.Metadata.Alias.TerritoryAlias { - if len(ta.Type) == 3 && ta.Type[0] <= '9' && len(ta.Replacement) == 2 { - from := parseM49(ta.Type) - if r := fromM49map[from]; r == 0 { - fromM49map[from] = regionISO.index(ta.Replacement) + isoOffset - } - } - } - for _, tc := range b.supp.CodeMappings.TerritoryCodes { - if len(tc.Alpha3) == 3 { - update(tc.Type, tc.Alpha3) - } - } - // This entries are not included in territoryCodes. Mostly 3-letter variants - // of deleted codes and an entry for QU. - for _, m := range []struct{ iso2, iso3 string }{ - {"CT", "CTE"}, - {"DY", "DHY"}, - {"HV", "HVO"}, - {"JT", "JTN"}, - {"MI", "MID"}, - {"NH", "NHB"}, - {"NQ", "ATN"}, - {"PC", "PCI"}, - {"PU", "PUS"}, - {"PZ", "PCZ"}, - {"RH", "RHO"}, - {"VD", "VDR"}, - {"WK", "WAK"}, - // These three-letter codes are used for others as well. - {"FQ", "ATF"}, - } { - update(m.iso2, m.iso3) - } - for i, s := range regionISO.s { - if len(s) != 4 { - regionISO.s[i] = s + " " - } - } - b.writeConst("regionISO", tag.Index(regionISO.join())) - b.writeConst("altRegionISO3", altRegionISO3) - b.writeSlice("altRegionIDs", altRegionIDs) - - // Create list of deprecated regions. - // TODO: consider inserting SF -> FI. Not included by CLDR, but is the only - // Transitionally-reserved mapping not included. - regionOldMap := stringSet{} - // Include regions in territoryAlias (not all are in the IANA registry!) - for _, reg := range b.supp.Metadata.Alias.TerritoryAlias { - if len(reg.Type) == 2 && reg.Reason == "deprecated" && len(reg.Replacement) == 2 { - regionOldMap.add(reg.Type) - regionOldMap.updateLater(reg.Type, reg.Replacement) - i, _ := regionISO.find(reg.Type) - j, _ := regionISO.find(reg.Replacement) - if k := m49map[i+isoOffset]; k == 0 { - m49map[i+isoOffset] = m49map[j+isoOffset] - } - } - } - b.writeSortedMap("regionOldMap", ®ionOldMap, func(s string) uint16 { - return uint16(b.region.index(s)) - }) - // 3-digit region lookup, groupings. - for i := 1; i < isoOffset; i++ { - m := parseM49(b.region.s[i]) - m49map[i] = m - fromM49map[m] = i - } - b.writeSlice("m49", m49map) - - const ( - searchBits = 7 - regionBits = 9 - ) - if len(m49map) >= 1< %d", len(m49map), 1<>searchBits] = int16(len(fromM49)) - } - b.writeSlice("m49Index", m49Index) - b.writeSlice("fromM49", fromM49) -} - -const ( - // TODO: put these lists in regionTypes as user data? Could be used for - // various optimizations and refinements and could be exposed in the API. - iso3166Except = "AC CP DG EA EU FX IC SU TA UK" - iso3166Trans = "AN BU CS NT TP YU ZR" // SF is not in our set of Regions. - // DY and RH are actually not deleted, but indeterminately reserved. - iso3166DelCLDR = "CT DD DY FQ HV JT MI NH NQ PC PU PZ RH VD WK YD" -) - -const ( - iso3166UserAssgined = 1 << iota - ccTLD - bcp47Region -) - -func find(list []string, s string) int { - for i, t := range list { - if t == s { - return i - } - } - return -1 -} - -// writeVariants generates per-variant information and creates a map from variant -// name to index value. We assign index values such that sorting multiple -// variants by index value will result in the correct order. -// There are two types of variants: specialized and general. Specialized variants -// are only applicable to certain language or language-script pairs. Generalized -// variants apply to any language. Generalized variants always sort after -// specialized variants. We will therefore always assign a higher index value -// to a generalized variant than any other variant. Generalized variants are -// sorted alphabetically among themselves. -// Specialized variants may also sort after other specialized variants. Such -// variants will be ordered after any of the variants they may follow. -// We assume that if a variant x is followed by a variant y, then for any prefix -// p of x, p-x is a prefix of y. This allows us to order tags based on the -// maximum of the length of any of its prefixes. -// TODO: it is possible to define a set of Prefix values on variants such that -// a total order cannot be defined to the point that this algorithm breaks. -// In other words, we cannot guarantee the same order of variants for the -// future using the same algorithm or for non-compliant combinations of -// variants. For this reason, consider using simple alphabetic sorting -// of variants and ignore Prefix restrictions altogether. -func (b *builder) writeVariant() { - generalized := stringSet{} - specialized := stringSet{} - specializedExtend := stringSet{} - // Collate the variants by type and check assumptions. - for _, v := range b.variant.slice() { - e := b.registry[v] - if len(e.prefix) == 0 { - generalized.add(v) - continue - } - c := strings.Split(e.prefix[0], "-") - hasScriptOrRegion := false - if len(c) > 1 { - _, hasScriptOrRegion = b.script.find(c[1]) - if !hasScriptOrRegion { - _, hasScriptOrRegion = b.region.find(c[1]) - - } - } - if len(c) == 1 || len(c) == 2 && hasScriptOrRegion { - // Variant is preceded by a language. - specialized.add(v) - continue - } - // Variant is preceded by another variant. - specializedExtend.add(v) - prefix := c[0] + "-" - if hasScriptOrRegion { - prefix += c[1] - } - for _, p := range e.prefix { - // Verify that the prefix minus the last element is a prefix of the - // predecessor element. - i := strings.LastIndex(p, "-") - pred := b.registry[p[i+1:]] - if find(pred.prefix, p[:i]) < 0 { - log.Fatalf("prefix %q for variant %q not consistent with predecessor spec", p, v) - } - // The sorting used below does not work in the general case. It works - // if we assume that variants that may be followed by others only have - // prefixes of the same length. Verify this. - count := strings.Count(p[:i], "-") - for _, q := range pred.prefix { - if c := strings.Count(q, "-"); c != count { - log.Fatalf("variant %q preceding %q has a prefix %q of size %d; want %d", p[i+1:], v, q, c, count) - } - } - if !strings.HasPrefix(p, prefix) { - log.Fatalf("prefix %q of variant %q should start with %q", p, v, prefix) - } - } - } - - // Sort extended variants. - a := specializedExtend.s - less := func(v, w string) bool { - // Sort by the maximum number of elements. - maxCount := func(s string) (max int) { - for _, p := range b.registry[s].prefix { - if c := strings.Count(p, "-"); c > max { - max = c - } - } - return - } - if cv, cw := maxCount(v), maxCount(w); cv != cw { - return cv < cw - } - // Sort by name as tie breaker. - return v < w - } - sort.Sort(funcSorter{less, sort.StringSlice(a)}) - specializedExtend.frozen = true - - // Create index from variant name to index. - variantIndex := make(map[string]uint8) - add := func(s []string) { - for _, v := range s { - variantIndex[v] = uint8(len(variantIndex)) - } - } - add(specialized.slice()) - add(specializedExtend.s) - numSpecialized := len(variantIndex) - add(generalized.slice()) - if n := len(variantIndex); n > 255 { - log.Fatalf("maximum number of variants exceeded: was %d; want <= 255", n) - } - b.writeMap("variantIndex", variantIndex) - b.writeConst("variantNumSpecialized", numSpecialized) -} - -func (b *builder) writeLanguageInfo() { -} - -// writeLikelyData writes tables that are used both for finding parent relations and for -// language matching. Each entry contains additional bits to indicate the status of the -// data to know when it cannot be used for parent relations. -func (b *builder) writeLikelyData() { - const ( - isList = 1 << iota - scriptInFrom - regionInFrom - ) - type ( // generated types - likelyScriptRegion struct { - region uint16 - script uint8 - flags uint8 - } - likelyLangScript struct { - lang uint16 - script uint8 - flags uint8 - } - likelyLangRegion struct { - lang uint16 - region uint16 - } - // likelyTag is used for getting likely tags for group regions, where - // the likely region might be a region contained in the group. - likelyTag struct { - lang uint16 - region uint16 - script uint8 - } - ) - var ( // generated variables - likelyRegionGroup = make([]likelyTag, len(b.groups)) - likelyLang = make([]likelyScriptRegion, len(b.lang.s)) - likelyRegion = make([]likelyLangScript, len(b.region.s)) - likelyScript = make([]likelyLangRegion, len(b.script.s)) - likelyLangList = []likelyScriptRegion{} - likelyRegionList = []likelyLangScript{} - ) - type fromTo struct { - from, to []string - } - langToOther := map[int][]fromTo{} - regionToOther := map[int][]fromTo{} - for _, m := range b.supp.LikelySubtags.LikelySubtag { - from := strings.Split(m.From, "_") - to := strings.Split(m.To, "_") - if len(to) != 3 { - log.Fatalf("invalid number of subtags in %q: found %d, want 3", m.To, len(to)) - } - if len(from) > 3 { - log.Fatalf("invalid number of subtags: found %d, want 1-3", len(from)) - } - if from[0] != to[0] && from[0] != "und" { - log.Fatalf("unexpected language change in expansion: %s -> %s", from, to) - } - if len(from) == 3 { - if from[2] != to[2] { - log.Fatalf("unexpected region change in expansion: %s -> %s", from, to) - } - if from[0] != "und" { - log.Fatalf("unexpected fully specified from tag: %s -> %s", from, to) - } - } - if len(from) == 1 || from[0] != "und" { - id := 0 - if from[0] != "und" { - id = b.lang.index(from[0]) - } - langToOther[id] = append(langToOther[id], fromTo{from, to}) - } else if len(from) == 2 && len(from[1]) == 4 { - sid := b.script.index(from[1]) - likelyScript[sid].lang = uint16(b.langIndex(to[0])) - likelyScript[sid].region = uint16(b.region.index(to[2])) - } else { - r := b.region.index(from[len(from)-1]) - if id, ok := b.groups[r]; ok { - if from[0] != "und" { - log.Fatalf("region changed unexpectedly: %s -> %s", from, to) - } - likelyRegionGroup[id].lang = uint16(b.langIndex(to[0])) - likelyRegionGroup[id].script = uint8(b.script.index(to[1])) - likelyRegionGroup[id].region = uint16(b.region.index(to[2])) - } else { - regionToOther[r] = append(regionToOther[r], fromTo{from, to}) - } - } - } - b.writeType(likelyLangRegion{}) - b.writeSlice("likelyScript", likelyScript) - - for id := range b.lang.s { - list := langToOther[id] - if len(list) == 1 { - likelyLang[id].region = uint16(b.region.index(list[0].to[2])) - likelyLang[id].script = uint8(b.script.index(list[0].to[1])) - } else if len(list) > 1 { - likelyLang[id].flags = isList - likelyLang[id].region = uint16(len(likelyLangList)) - likelyLang[id].script = uint8(len(list)) - for _, x := range list { - flags := uint8(0) - if len(x.from) > 1 { - if x.from[1] == x.to[2] { - flags = regionInFrom - } else { - flags = scriptInFrom - } - } - likelyLangList = append(likelyLangList, likelyScriptRegion{ - region: uint16(b.region.index(x.to[2])), - script: uint8(b.script.index(x.to[1])), - flags: flags, - }) - } - } - } - // TODO: merge suppressScript data with this table. - b.writeType(likelyScriptRegion{}) - b.writeSlice("likelyLang", likelyLang) - b.writeSlice("likelyLangList", likelyLangList) - - for id := range b.region.s { - list := regionToOther[id] - if len(list) == 1 { - likelyRegion[id].lang = uint16(b.langIndex(list[0].to[0])) - likelyRegion[id].script = uint8(b.script.index(list[0].to[1])) - if len(list[0].from) > 2 { - likelyRegion[id].flags = scriptInFrom - } - } else if len(list) > 1 { - likelyRegion[id].flags = isList - likelyRegion[id].lang = uint16(len(likelyRegionList)) - likelyRegion[id].script = uint8(len(list)) - for i, x := range list { - if len(x.from) == 2 && i != 0 || i > 0 && len(x.from) != 3 { - log.Fatalf("unspecified script must be first in list: %v at %d", x.from, i) - } - x := likelyLangScript{ - lang: uint16(b.langIndex(x.to[0])), - script: uint8(b.script.index(x.to[1])), - } - if len(list[0].from) > 2 { - x.flags = scriptInFrom - } - likelyRegionList = append(likelyRegionList, x) - } - } - } - b.writeType(likelyLangScript{}) - b.writeSlice("likelyRegion", likelyRegion) - b.writeSlice("likelyRegionList", likelyRegionList) - - b.writeType(likelyTag{}) - b.writeSlice("likelyRegionGroup", likelyRegionGroup) -} - -type mutualIntelligibility struct { - want, have uint16 - conf uint8 - oneway bool -} - -type scriptIntelligibility struct { - lang uint16 // langID or 0 if * - want, have uint8 - conf uint8 -} - -type sortByConf []mutualIntelligibility - -func (l sortByConf) Less(a, b int) bool { - return l[a].conf > l[b].conf -} - -func (l sortByConf) Swap(a, b int) { - l[a], l[b] = l[b], l[a] -} - -func (l sortByConf) Len() int { - return len(l) -} - -// toConf converts a percentage value [0, 100] to a confidence class. -func toConf(pct uint8) uint8 { - switch { - case pct == 100: - return 3 // Exact - case pct >= 90: - return 2 // High - case pct > 50: - return 1 // Low - default: - return 0 // No - } -} - -// writeMatchData writes tables with languages and scripts for which there is -// mutual intelligibility. The data is based on CLDR's languageMatching data. -// Note that we use a different algorithm than the one defined by CLDR and that -// we slightly modify the data. For example, we convert scores to confidence levels. -// We also drop all region-related data as we use a different algorithm to -// determine region equivalence. -func (b *builder) writeMatchData() { - b.writeType(mutualIntelligibility{}) - b.writeType(scriptIntelligibility{}) - lm := b.supp.LanguageMatching.LanguageMatches - cldr.MakeSlice(&lm).SelectAnyOf("type", "written") - - matchLang := []mutualIntelligibility{} - matchScript := []scriptIntelligibility{} - // Convert the languageMatch entries in lists keyed by desired language. - for _, m := range lm[0].LanguageMatch { - // Different versions of CLDR use different separators. - desired := strings.Replace(m.Desired, "-", "_", -1) - supported := strings.Replace(m.Supported, "-", "_", -1) - d := strings.Split(desired, "_") - s := strings.Split(supported, "_") - if len(d) != len(s) || len(d) > 2 { - // Skip all entries with regions and work around CLDR bug. - continue - } - pct, _ := strconv.ParseInt(m.Percent, 10, 8) - if len(d) == 2 && d[0] == s[0] && len(d[1]) == 4 { - // language-script pair. - lang := uint16(0) - if d[0] != "*" { - lang = uint16(b.langIndex(d[0])) - } - matchScript = append(matchScript, scriptIntelligibility{ - lang: lang, - want: uint8(b.script.index(d[1])), - have: uint8(b.script.index(s[1])), - conf: toConf(uint8(pct)), - }) - if m.Oneway != "true" { - matchScript = append(matchScript, scriptIntelligibility{ - lang: lang, - want: uint8(b.script.index(s[1])), - have: uint8(b.script.index(d[1])), - conf: toConf(uint8(pct)), - }) - } - } else if len(d) == 1 && d[0] != "*" { - if pct == 100 { - // nb == no is already handled by macro mapping. Check there - // really is only this case. - if d[0] != "no" || s[0] != "nb" { - log.Fatalf("unhandled equivalence %s == %s", s[0], d[0]) - } - continue - } - matchLang = append(matchLang, mutualIntelligibility{ - want: uint16(b.langIndex(d[0])), - have: uint16(b.langIndex(s[0])), - conf: uint8(pct), - oneway: m.Oneway == "true", - }) - } else { - // TODO: Handle other mappings. - a := []string{"*;*", "*_*;*_*", "es_MX;es_419"} - s := strings.Join([]string{desired, supported}, ";") - if i := sort.SearchStrings(a, s); i == len(a) || a[i] != s { - log.Printf("%q not handled", s) - } - } - } - sort.Stable(sortByConf(matchLang)) - // collapse percentage into confidence classes - for i, m := range matchLang { - matchLang[i].conf = toConf(m.conf) - } - b.writeSlice("matchLang", matchLang) - b.writeSlice("matchScript", matchScript) -} - -func (b *builder) writeRegionInclusionData() { - var ( - // mm holds for each group the set of groups with a distance of 1. - mm = make(map[int][]index) - - // containment holds for each group the transitive closure of - // containment of other groups. - containment = make(map[index][]index) - ) - for _, g := range b.supp.TerritoryContainment.Group { - group := b.region.index(g.Type) - groupIdx := b.groups[group] - for _, mem := range strings.Split(g.Contains, " ") { - r := b.region.index(mem) - mm[r] = append(mm[r], groupIdx) - if g, ok := b.groups[r]; ok { - mm[group] = append(mm[group], g) - containment[groupIdx] = append(containment[groupIdx], g) - } - } - } - - regionContainment := make([]uint32, len(b.groups)) - for _, g := range b.groups { - l := containment[g] - - // Compute the transitive closure of containment. - for i := 0; i < len(l); i++ { - l = append(l, containment[l[i]]...) - } - - // Compute the bitmask. - regionContainment[g] = 1 << g - for _, v := range l { - regionContainment[g] |= 1 << v - } - // log.Printf("%d: %X", g, regionContainment[g]) - } - b.writeSlice("regionContainment", regionContainment) - - regionInclusion := make([]uint8, len(b.region.s)) - bvs := make(map[uint32]index) - // Make the first bitvector positions correspond with the groups. - for r, i := range b.groups { - bv := uint32(1 << i) - for _, g := range mm[r] { - bv |= 1 << g - } - bvs[bv] = i - regionInclusion[r] = uint8(bvs[bv]) - } - for r := 1; r < len(b.region.s); r++ { - if _, ok := b.groups[r]; !ok { - bv := uint32(0) - for _, g := range mm[r] { - bv |= 1 << g - } - if bv == 0 { - // Pick the world for unspecified regions. - bv = 1 << b.groups[b.region.index("001")] - } - if _, ok := bvs[bv]; !ok { - bvs[bv] = index(len(bvs)) - } - regionInclusion[r] = uint8(bvs[bv]) - } - } - b.writeSlice("regionInclusion", regionInclusion) - regionInclusionBits := make([]uint32, len(bvs)) - for k, v := range bvs { - regionInclusionBits[v] = uint32(k) - } - // Add bit vectors for increasingly large distances until a fixed point is reached. - regionInclusionNext := []uint8{} - for i := 0; i < len(regionInclusionBits); i++ { - bits := regionInclusionBits[i] - next := bits - for i := uint(0); i < uint(len(b.groups)); i++ { - if bits&(1< 0) - } - } - } - - // Add entries for languages with mutual intelligibility as defined by CLDR's - // languageMatch data. - for _, ml := range matchLang { - update(ml.want, ml.have, Confidence(ml.conf), false) - if !ml.oneway { - update(ml.have, ml.want, Confidence(ml.conf), false) - } - } - - // Add entries for possible canonicalizations. This is an optimization to - // ensure that only one map lookup needs to be done at runtime per desired tag. - // First we match deprecated equivalents. If they are perfect equivalents - // (their canonicalization simply substitutes a different language code, but - // nothing else), the match confidence is Exact, otherwise it is High. - for i, lm := range langAliasMap { - if lm.from == _sh { - continue - } - - // If deprecated codes match and there is no fiddling with the script or - // or region, we consider it an exact match. - conf := Exact - if langAliasTypes[i] != langMacro { - if !isExactEquivalent(langID(lm.from)) { - conf = High - } - update(lm.to, lm.from, conf, true) - } - update(lm.from, lm.to, conf, true) - } - return m -} - -// getBest gets the best matching tag in m for any of the given tags, taking into -// account the order of preference of the given tags. -func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) { - best := bestMatch{} - for _, w := range want { - var max Tag - // Check for exact match first. - h := m.index[w.lang] - if w.lang != 0 { - // Base language is defined. - if h == nil { - continue - } - for i := range h.exact { - have := &h.exact[i] - if have.tag.equalsRest(w) { - return have, w, Exact - } - } - max, _ = w.canonicalize(Legacy | Deprecated) - max, _ = addTags(max) - } else { - // Base language is not defined. - if h != nil { - for i := range h.exact { - have := &h.exact[i] - if have.tag.equalsRest(w) { - return have, w, Exact - } - } - } - if w.script == 0 && w.region == 0 { - // We skip all tags matching und for approximate matching, including - // private tags. - continue - } - max, _ = addTags(w) - if h = m.index[max.lang]; h == nil { - continue - } - } - // Check for match based on maximized tag. - for i := range h.max { - have := &h.max[i] - best.update(have, w, max.script, max.region) - if best.conf == Exact { - for have.nextMax != 0 { - have = &h.max[have.nextMax] - best.update(have, w, max.script, max.region) - } - return best.have, best.want, High - } - } - } - if best.conf <= No { - if len(want) != 0 { - return nil, want[0], No - } - return nil, Tag{}, No - } - return best.have, best.want, best.conf -} - -// bestMatch accumulates the best match so far. -type bestMatch struct { - have *haveTag - want Tag - conf Confidence - // Cached results from applying tie-breaking rules. - origLang bool - origReg bool - regDist uint8 - origScript bool - parentDist uint8 // 255 if have is not an ancestor of want tag. -} - -// update updates the existing best match if the new pair is considered to be a -// better match. -// To determine if the given pair is a better match, it first computes the rough -// confidence level. If this surpasses the current match, it will replace it and -// update the tie-breaker rule cache. If there is a tie, it proceeds with applying -// a series of tie-breaker rules. If there is no conclusive winner after applying -// the tie-breaker rules, it leaves the current match as the preferred match. -func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID) { - // Bail if the maximum attainable confidence is below that of the current best match. - c := have.conf - if c < m.conf { - return - } - if have.maxScript != maxScript { - // There is usually very little comprehension between different scripts. - // In a few cases there may still be Low comprehension. This possibility is - // pre-computed and stored in have.altScript. - if Low < m.conf || have.altScript != maxScript { - return - } - c = Low - } else if have.maxRegion != maxRegion { - // There is usually a small difference between languages across regions. - // We use the region distance (below) to disambiguate between equal matches. - if High < c { - c = High - } - } - - // We store the results of the computations of the tie-breaker rules along - // with the best match. There is no need to do the checks once we determine - // we have a winner, but we do still need to do the tie-breaker computations. - // We use "beaten" to keep track if we still need to do the checks. - beaten := false // true if the new pair defeats the current one. - if c != m.conf { - if c < m.conf { - return - } - beaten = true - } - - // Tie-breaker rules: - // We prefer if the pre-maximized language was specified and identical. - origLang := have.tag.lang == tag.lang && tag.lang != 0 - if !beaten && m.origLang != origLang { - if m.origLang { - return - } - beaten = true - } - - // We prefer if the pre-maximized region was specified and identical. - origReg := have.tag.region == tag.region && tag.region != 0 - if !beaten && m.origReg != origReg { - if m.origReg { - return - } - beaten = true - } - - // Next we prefer smaller distances between regions, as defined by regionDist. - regDist := regionDist(have.maxRegion, maxRegion, tag.lang) - if !beaten && m.regDist != regDist { - if regDist > m.regDist { - return - } - beaten = true - } - - // Next we prefer if the pre-maximized script was specified and identical. - origScript := have.tag.script == tag.script && tag.script != 0 - if !beaten && m.origScript != origScript { - if m.origScript { - return - } - beaten = true - } - - // Finally we prefer tags which have a closer parent relationship. - parentDist := parentDistance(have.tag.region, tag) - if !beaten && m.parentDist != parentDist { - if parentDist > m.parentDist { - return - } - beaten = true - } - - // Update m to the newly found best match. - if beaten { - m.have = have - m.want = tag - m.conf = c - m.origLang = origLang - m.origReg = origReg - m.origScript = origScript - m.regDist = regDist - m.parentDist = parentDist - } -} - -// parentDistance returns the number of times Parent must be called before the -// regions match. It is assumed that it has already been checked that lang and -// script are identical. If haveRegion does not occur in the ancestor chain of -// tag, it returns 255. -func parentDistance(haveRegion regionID, tag Tag) uint8 { - p := tag.Parent() - d := uint8(1) - for haveRegion != p.region { - if p.region == 0 { - return 255 - } - p = p.Parent() - d++ - } - return d -} - -// regionDist wraps regionDistance with some exceptions to the algorithmic distance. -func regionDist(a, b regionID, lang langID) uint8 { - if lang == _en { - // Two variants of non-US English are close to each other, regardless of distance. - if a != _US && b != _US { - return 2 - } - } - return uint8(regionDistance(a, b)) -} - -// regionDistance computes the distance between two regions based on the -// distance in the graph of region containments as defined in CLDR. It iterates -// over increasingly inclusive sets of groups, represented as bit vectors, until -// the source bit vector has bits in common with the destination vector. -func regionDistance(a, b regionID) int { - if a == b { - return 0 - } - p, q := regionInclusion[a], regionInclusion[b] - if p < nRegionGroups { - p, q = q, p - } - set := regionInclusionBits - if q < nRegionGroups && set[p]&(1< 0 { - return t.str[t.pVariant:t.pExt] - } - return t.str[t.pVariant:] -} - -// equalsRest compares everything except the language. -func (a Tag) equalsRest(b Tag) bool { - // TODO: don't include extensions in this comparison. To do this efficiently, - // though, we should handle private tags separately. - return a.script == b.script && a.region == b.region && a.variantOrPrivateTagStr() == b.variantOrPrivateTagStr() -} - -// isExactEquivalent returns true if canonicalizing the language will not alter -// the script or region of a tag. -func isExactEquivalent(l langID) bool { - for _, o := range notEquivalent { - if o == l { - return false - } - } - return true -} - -var notEquivalent []langID - -func init() { - // Create a list of all languages for which canonicalization may alter the - // script or region. - for _, lm := range langAliasMap { - tag := Tag{lang: langID(lm.from)} - if tag, _ = tag.canonicalize(All); tag.script != 0 || tag.region != 0 { - notEquivalent = append(notEquivalent, langID(lm.from)) - } - } -} diff --git a/vendor/golang.org/x/text/language/parse.go b/vendor/golang.org/x/text/language/parse.go deleted file mode 100644 index cfa28f56e..000000000 --- a/vendor/golang.org/x/text/language/parse.go +++ /dev/null @@ -1,859 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package language - -import ( - "bytes" - "errors" - "fmt" - "sort" - "strconv" - "strings" - - "golang.org/x/text/internal/tag" -) - -// isAlpha returns true if the byte is not a digit. -// b must be an ASCII letter or digit. -func isAlpha(b byte) bool { - return b > '9' -} - -// isAlphaNum returns true if the string contains only ASCII letters or digits. -func isAlphaNum(s []byte) bool { - for _, c := range s { - if !('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9') { - return false - } - } - return true -} - -// errSyntax is returned by any of the parsing functions when the -// input is not well-formed, according to BCP 47. -// TODO: return the position at which the syntax error occurred? -var errSyntax = errors.New("language: tag is not well-formed") - -// ValueError is returned by any of the parsing functions when the -// input is well-formed but the respective subtag is not recognized -// as a valid value. -type ValueError struct { - v [8]byte -} - -func mkErrInvalid(s []byte) error { - var e ValueError - copy(e.v[:], s) - return e -} - -func (e ValueError) tag() []byte { - n := bytes.IndexByte(e.v[:], 0) - if n == -1 { - n = 8 - } - return e.v[:n] -} - -// Error implements the error interface. -func (e ValueError) Error() string { - return fmt.Sprintf("language: subtag %q is well-formed but unknown", e.tag()) -} - -// Subtag returns the subtag for which the error occurred. -func (e ValueError) Subtag() string { - return string(e.tag()) -} - -// scanner is used to scan BCP 47 tokens, which are separated by _ or -. -type scanner struct { - b []byte - bytes [max99thPercentileSize]byte - token []byte - start int // start position of the current token - end int // end position of the current token - next int // next point for scan - err error - done bool -} - -func makeScannerString(s string) scanner { - scan := scanner{} - if len(s) <= len(scan.bytes) { - scan.b = scan.bytes[:copy(scan.bytes[:], s)] - } else { - scan.b = []byte(s) - } - scan.init() - return scan -} - -// makeScanner returns a scanner using b as the input buffer. -// b is not copied and may be modified by the scanner routines. -func makeScanner(b []byte) scanner { - scan := scanner{b: b} - scan.init() - return scan -} - -func (s *scanner) init() { - for i, c := range s.b { - if c == '_' { - s.b[i] = '-' - } - } - s.scan() -} - -// restToLower converts the string between start and end to lower case. -func (s *scanner) toLower(start, end int) { - for i := start; i < end; i++ { - c := s.b[i] - if 'A' <= c && c <= 'Z' { - s.b[i] += 'a' - 'A' - } - } -} - -func (s *scanner) setError(e error) { - if s.err == nil || (e == errSyntax && s.err != errSyntax) { - s.err = e - } -} - -// resizeRange shrinks or grows the array at position oldStart such that -// a new string of size newSize can fit between oldStart and oldEnd. -// Sets the scan point to after the resized range. -func (s *scanner) resizeRange(oldStart, oldEnd, newSize int) { - s.start = oldStart - if end := oldStart + newSize; end != oldEnd { - diff := end - oldEnd - if end < cap(s.b) { - b := make([]byte, len(s.b)+diff) - copy(b, s.b[:oldStart]) - copy(b[end:], s.b[oldEnd:]) - s.b = b - } else { - s.b = append(s.b[end:], s.b[oldEnd:]...) - } - s.next = end + (s.next - s.end) - s.end = end - } -} - -// replace replaces the current token with repl. -func (s *scanner) replace(repl string) { - s.resizeRange(s.start, s.end, len(repl)) - copy(s.b[s.start:], repl) -} - -// gobble removes the current token from the input. -// Caller must call scan after calling gobble. -func (s *scanner) gobble(e error) { - s.setError(e) - if s.start == 0 { - s.b = s.b[:+copy(s.b, s.b[s.next:])] - s.end = 0 - } else { - s.b = s.b[:s.start-1+copy(s.b[s.start-1:], s.b[s.end:])] - s.end = s.start - 1 - } - s.next = s.start -} - -// deleteRange removes the given range from s.b before the current token. -func (s *scanner) deleteRange(start, end int) { - s.setError(errSyntax) - s.b = s.b[:start+copy(s.b[start:], s.b[end:])] - diff := end - start - s.next -= diff - s.start -= diff - s.end -= diff -} - -// scan parses the next token of a BCP 47 string. Tokens that are larger -// than 8 characters or include non-alphanumeric characters result in an error -// and are gobbled and removed from the output. -// It returns the end position of the last token consumed. -func (s *scanner) scan() (end int) { - end = s.end - s.token = nil - for s.start = s.next; s.next < len(s.b); { - i := bytes.IndexByte(s.b[s.next:], '-') - if i == -1 { - s.end = len(s.b) - s.next = len(s.b) - i = s.end - s.start - } else { - s.end = s.next + i - s.next = s.end + 1 - } - token := s.b[s.start:s.end] - if i < 1 || i > 8 || !isAlphaNum(token) { - s.gobble(errSyntax) - continue - } - s.token = token - return end - } - if n := len(s.b); n > 0 && s.b[n-1] == '-' { - s.setError(errSyntax) - s.b = s.b[:len(s.b)-1] - } - s.done = true - return end -} - -// acceptMinSize parses multiple tokens of the given size or greater. -// It returns the end position of the last token consumed. -func (s *scanner) acceptMinSize(min int) (end int) { - end = s.end - s.scan() - for ; len(s.token) >= min; s.scan() { - end = s.end - } - return end -} - -// Parse parses the given BCP 47 string and returns a valid Tag. If parsing -// failed it returns an error and any part of the tag that could be parsed. -// If parsing succeeded but an unknown value was found, it returns -// ValueError. The Tag returned in this case is just stripped of the unknown -// value. All other values are preserved. It accepts tags in the BCP 47 format -// and extensions to this standard defined in -// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. -// The resulting tag is canonicalized using the default canonicalization type. -func Parse(s string) (t Tag, err error) { - return Default.Parse(s) -} - -// Parse parses the given BCP 47 string and returns a valid Tag. If parsing -// failed it returns an error and any part of the tag that could be parsed. -// If parsing succeeded but an unknown value was found, it returns -// ValueError. The Tag returned in this case is just stripped of the unknown -// value. All other values are preserved. It accepts tags in the BCP 47 format -// and extensions to this standard defined in -// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. -// The resulting tag is canonicalized using the the canonicalization type c. -func (c CanonType) Parse(s string) (t Tag, err error) { - // TODO: consider supporting old-style locale key-value pairs. - if s == "" { - return und, errSyntax - } - if len(s) <= maxAltTaglen { - b := [maxAltTaglen]byte{} - for i, c := range s { - // Generating invalid UTF-8 is okay as it won't match. - if 'A' <= c && c <= 'Z' { - c += 'a' - 'A' - } else if c == '_' { - c = '-' - } - b[i] = byte(c) - } - if t, ok := grandfathered(b); ok { - return t, nil - } - } - scan := makeScannerString(s) - t, err = parse(&scan, s) - t, changed := t.canonicalize(c) - if changed { - t.remakeString() - } - return t, err -} - -func parse(scan *scanner, s string) (t Tag, err error) { - t = und - var end int - if n := len(scan.token); n <= 1 { - scan.toLower(0, len(scan.b)) - if n == 0 || scan.token[0] != 'x' { - return t, errSyntax - } - end = parseExtensions(scan) - } else if n >= 4 { - return und, errSyntax - } else { // the usual case - t, end = parseTag(scan) - if n := len(scan.token); n == 1 { - t.pExt = uint16(end) - end = parseExtensions(scan) - } else if end < len(scan.b) { - scan.setError(errSyntax) - scan.b = scan.b[:end] - } - } - if int(t.pVariant) < len(scan.b) { - if end < len(s) { - s = s[:end] - } - if len(s) > 0 && tag.Compare(s, scan.b) == 0 { - t.str = s - } else { - t.str = string(scan.b) - } - } else { - t.pVariant, t.pExt = 0, 0 - } - return t, scan.err -} - -// parseTag parses language, script, region and variants. -// It returns a Tag and the end position in the input that was parsed. -func parseTag(scan *scanner) (t Tag, end int) { - var e error - // TODO: set an error if an unknown lang, script or region is encountered. - t.lang, e = getLangID(scan.token) - scan.setError(e) - scan.replace(t.lang.String()) - langStart := scan.start - end = scan.scan() - for len(scan.token) == 3 && isAlpha(scan.token[0]) { - // From http://tools.ietf.org/html/bcp47, - tags are equivalent - // to a tag of the form . - lang, e := getLangID(scan.token) - if lang != 0 { - t.lang = lang - copy(scan.b[langStart:], lang.String()) - scan.b[langStart+3] = '-' - scan.start = langStart + 4 - } - scan.gobble(e) - end = scan.scan() - } - if len(scan.token) == 4 && isAlpha(scan.token[0]) { - t.script, e = getScriptID(script, scan.token) - if t.script == 0 { - scan.gobble(e) - } - end = scan.scan() - } - if n := len(scan.token); n >= 2 && n <= 3 { - t.region, e = getRegionID(scan.token) - if t.region == 0 { - scan.gobble(e) - } else { - scan.replace(t.region.String()) - } - end = scan.scan() - } - scan.toLower(scan.start, len(scan.b)) - t.pVariant = byte(end) - end = parseVariants(scan, end, t) - t.pExt = uint16(end) - return t, end -} - -var separator = []byte{'-'} - -// parseVariants scans tokens as long as each token is a valid variant string. -// Duplicate variants are removed. -func parseVariants(scan *scanner, end int, t Tag) int { - start := scan.start - varIDBuf := [4]uint8{} - variantBuf := [4][]byte{} - varID := varIDBuf[:0] - variant := variantBuf[:0] - last := -1 - needSort := false - for ; len(scan.token) >= 4; scan.scan() { - // TODO: measure the impact of needing this conversion and redesign - // the data structure if there is an issue. - v, ok := variantIndex[string(scan.token)] - if !ok { - // unknown variant - // TODO: allow user-defined variants? - scan.gobble(mkErrInvalid(scan.token)) - continue - } - varID = append(varID, v) - variant = append(variant, scan.token) - if !needSort { - if last < int(v) { - last = int(v) - } else { - needSort = true - // There is no legal combinations of more than 7 variants - // (and this is by no means a useful sequence). - const maxVariants = 8 - if len(varID) > maxVariants { - break - } - } - } - end = scan.end - } - if needSort { - sort.Sort(variantsSort{varID, variant}) - k, l := 0, -1 - for i, v := range varID { - w := int(v) - if l == w { - // Remove duplicates. - continue - } - varID[k] = varID[i] - variant[k] = variant[i] - k++ - l = w - } - if str := bytes.Join(variant[:k], separator); len(str) == 0 { - end = start - 1 - } else { - scan.resizeRange(start, end, len(str)) - copy(scan.b[scan.start:], str) - end = scan.end - } - } - return end -} - -type variantsSort struct { - i []uint8 - v [][]byte -} - -func (s variantsSort) Len() int { - return len(s.i) -} - -func (s variantsSort) Swap(i, j int) { - s.i[i], s.i[j] = s.i[j], s.i[i] - s.v[i], s.v[j] = s.v[j], s.v[i] -} - -func (s variantsSort) Less(i, j int) bool { - return s.i[i] < s.i[j] -} - -type bytesSort [][]byte - -func (b bytesSort) Len() int { - return len(b) -} - -func (b bytesSort) Swap(i, j int) { - b[i], b[j] = b[j], b[i] -} - -func (b bytesSort) Less(i, j int) bool { - return bytes.Compare(b[i], b[j]) == -1 -} - -// parseExtensions parses and normalizes the extensions in the buffer. -// It returns the last position of scan.b that is part of any extension. -// It also trims scan.b to remove excess parts accordingly. -func parseExtensions(scan *scanner) int { - start := scan.start - exts := [][]byte{} - private := []byte{} - end := scan.end - for len(scan.token) == 1 { - extStart := scan.start - ext := scan.token[0] - end = parseExtension(scan) - extension := scan.b[extStart:end] - if len(extension) < 3 || (ext != 'x' && len(extension) < 4) { - scan.setError(errSyntax) - end = extStart - continue - } else if start == extStart && (ext == 'x' || scan.start == len(scan.b)) { - scan.b = scan.b[:end] - return end - } else if ext == 'x' { - private = extension - break - } - exts = append(exts, extension) - } - sort.Sort(bytesSort(exts)) - if len(private) > 0 { - exts = append(exts, private) - } - scan.b = scan.b[:start] - if len(exts) > 0 { - scan.b = append(scan.b, bytes.Join(exts, separator)...) - } else if start > 0 { - // Strip trailing '-'. - scan.b = scan.b[:start-1] - } - return end -} - -// parseExtension parses a single extension and returns the position of -// the extension end. -func parseExtension(scan *scanner) int { - start, end := scan.start, scan.end - switch scan.token[0] { - case 'u': - attrStart := end - scan.scan() - for last := []byte{}; len(scan.token) > 2; scan.scan() { - if bytes.Compare(scan.token, last) != -1 { - // Attributes are unsorted. Start over from scratch. - p := attrStart + 1 - scan.next = p - attrs := [][]byte{} - for scan.scan(); len(scan.token) > 2; scan.scan() { - attrs = append(attrs, scan.token) - end = scan.end - } - sort.Sort(bytesSort(attrs)) - copy(scan.b[p:], bytes.Join(attrs, separator)) - break - } - last = scan.token - end = scan.end - } - var last, key []byte - for attrEnd := end; len(scan.token) == 2; last = key { - key = scan.token - keyEnd := scan.end - end = scan.acceptMinSize(3) - // TODO: check key value validity - if keyEnd == end || bytes.Compare(key, last) != 1 { - // We have an invalid key or the keys are not sorted. - // Start scanning keys from scratch and reorder. - p := attrEnd + 1 - scan.next = p - keys := [][]byte{} - for scan.scan(); len(scan.token) == 2; { - keyStart, keyEnd := scan.start, scan.end - end = scan.acceptMinSize(3) - if keyEnd != end { - keys = append(keys, scan.b[keyStart:end]) - } else { - scan.setError(errSyntax) - end = keyStart - } - } - sort.Sort(bytesSort(keys)) - reordered := bytes.Join(keys, separator) - if e := p + len(reordered); e < end { - scan.deleteRange(e, end) - end = e - } - copy(scan.b[p:], bytes.Join(keys, separator)) - break - } - } - case 't': - scan.scan() - if n := len(scan.token); n >= 2 && n <= 3 && isAlpha(scan.token[1]) { - _, end = parseTag(scan) - scan.toLower(start, end) - } - for len(scan.token) == 2 && !isAlpha(scan.token[1]) { - end = scan.acceptMinSize(3) - } - case 'x': - end = scan.acceptMinSize(1) - default: - end = scan.acceptMinSize(2) - } - return end -} - -// Compose creates a Tag from individual parts, which may be of type Tag, Base, -// Script, Region, Variant, []Variant, Extension, []Extension or error. If a -// Base, Script or Region or slice of type Variant or Extension is passed more -// than once, the latter will overwrite the former. Variants and Extensions are -// accumulated, but if two extensions of the same type are passed, the latter -// will replace the former. A Tag overwrites all former values and typically -// only makes sense as the first argument. The resulting tag is returned after -// canonicalizing using the Default CanonType. If one or more errors are -// encountered, one of the errors is returned. -func Compose(part ...interface{}) (t Tag, err error) { - return Default.Compose(part...) -} - -// Compose creates a Tag from individual parts, which may be of type Tag, Base, -// Script, Region, Variant, []Variant, Extension, []Extension or error. If a -// Base, Script or Region or slice of type Variant or Extension is passed more -// than once, the latter will overwrite the former. Variants and Extensions are -// accumulated, but if two extensions of the same type are passed, the latter -// will replace the former. A Tag overwrites all former values and typically -// only makes sense as the first argument. The resulting tag is returned after -// canonicalizing using CanonType c. If one or more errors are encountered, -// one of the errors is returned. -func (c CanonType) Compose(part ...interface{}) (t Tag, err error) { - var b builder - if err = b.update(part...); err != nil { - return und, err - } - t, _ = b.tag.canonicalize(c) - - if len(b.ext) > 0 || len(b.variant) > 0 { - sort.Sort(sortVariant(b.variant)) - sort.Strings(b.ext) - if b.private != "" { - b.ext = append(b.ext, b.private) - } - n := maxCoreSize + tokenLen(b.variant...) + tokenLen(b.ext...) - buf := make([]byte, n) - p := t.genCoreBytes(buf) - t.pVariant = byte(p) - p += appendTokens(buf[p:], b.variant...) - t.pExt = uint16(p) - p += appendTokens(buf[p:], b.ext...) - t.str = string(buf[:p]) - } else if b.private != "" { - t.str = b.private - t.remakeString() - } - return -} - -type builder struct { - tag Tag - - private string // the x extension - ext []string - variant []string - - err error -} - -func (b *builder) addExt(e string) { - if e == "" { - } else if e[0] == 'x' { - b.private = e - } else { - b.ext = append(b.ext, e) - } -} - -var errInvalidArgument = errors.New("invalid Extension or Variant") - -func (b *builder) update(part ...interface{}) (err error) { - replace := func(l *[]string, s string, eq func(a, b string) bool) bool { - if s == "" { - b.err = errInvalidArgument - return true - } - for i, v := range *l { - if eq(v, s) { - (*l)[i] = s - return true - } - } - return false - } - for _, x := range part { - switch v := x.(type) { - case Tag: - b.tag.lang = v.lang - b.tag.region = v.region - b.tag.script = v.script - if v.str != "" { - b.variant = nil - for x, s := "", v.str[v.pVariant:v.pExt]; s != ""; { - x, s = nextToken(s) - b.variant = append(b.variant, x) - } - b.ext, b.private = nil, "" - for i, e := int(v.pExt), ""; i < len(v.str); { - i, e = getExtension(v.str, i) - b.addExt(e) - } - } - case Base: - b.tag.lang = v.langID - case Script: - b.tag.script = v.scriptID - case Region: - b.tag.region = v.regionID - case Variant: - if !replace(&b.variant, v.variant, func(a, b string) bool { return a == b }) { - b.variant = append(b.variant, v.variant) - } - case Extension: - if !replace(&b.ext, v.s, func(a, b string) bool { return a[0] == b[0] }) { - b.addExt(v.s) - } - case []Variant: - b.variant = nil - for _, x := range v { - b.update(x) - } - case []Extension: - b.ext, b.private = nil, "" - for _, e := range v { - b.update(e) - } - // TODO: support parsing of raw strings based on morphology or just extensions? - case error: - err = v - } - } - return -} - -func tokenLen(token ...string) (n int) { - for _, t := range token { - n += len(t) + 1 - } - return -} - -func appendTokens(b []byte, token ...string) int { - p := 0 - for _, t := range token { - b[p] = '-' - copy(b[p+1:], t) - p += 1 + len(t) - } - return p -} - -type sortVariant []string - -func (s sortVariant) Len() int { - return len(s) -} - -func (s sortVariant) Swap(i, j int) { - s[j], s[i] = s[i], s[j] -} - -func (s sortVariant) Less(i, j int) bool { - return variantIndex[s[i]] < variantIndex[s[j]] -} - -func findExt(list []string, x byte) int { - for i, e := range list { - if e[0] == x { - return i - } - } - return -1 -} - -// getExtension returns the name, body and end position of the extension. -func getExtension(s string, p int) (end int, ext string) { - if s[p] == '-' { - p++ - } - if s[p] == 'x' { - return len(s), s[p:] - } - end = nextExtension(s, p) - return end, s[p:end] -} - -// nextExtension finds the next extension within the string, searching -// for the -- pattern from position p. -// In the fast majority of cases, language tags will have at most -// one extension and extensions tend to be small. -func nextExtension(s string, p int) int { - for n := len(s) - 3; p < n; { - if s[p] == '-' { - if s[p+2] == '-' { - return p - } - p += 3 - } else { - p++ - } - } - return len(s) -} - -var errInvalidWeight = errors.New("ParseAcceptLanguage: invalid weight") - -// ParseAcceptLanguage parses the contents of a Accept-Language header as -// defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and -// a list of corresponding quality weights. It is more permissive than RFC 2616 -// and may return non-nil slices even if the input is not valid. -// The Tags will be sorted by highest weight first and then by first occurrence. -// Tags with a weight of zero will be dropped. An error will be returned if the -// input could not be parsed. -func ParseAcceptLanguage(s string) (tag []Tag, q []float32, err error) { - var entry string - for s != "" { - if entry, s = split(s, ','); entry == "" { - continue - } - - entry, weight := split(entry, ';') - - // Scan the language. - t, err := Parse(entry) - if err != nil { - id, ok := acceptFallback[entry] - if !ok { - return nil, nil, err - } - t = Tag{lang: id} - } - - // Scan the optional weight. - w := 1.0 - if weight != "" { - weight = consume(weight, 'q') - weight = consume(weight, '=') - // consume returns the empty string when a token could not be - // consumed, resulting in an error for ParseFloat. - if w, err = strconv.ParseFloat(weight, 32); err != nil { - return nil, nil, errInvalidWeight - } - // Drop tags with a quality weight of 0. - if w <= 0 { - continue - } - } - - tag = append(tag, t) - q = append(q, float32(w)) - } - sortStable(&tagSort{tag, q}) - return tag, q, nil -} - -// consume removes a leading token c from s and returns the result or the empty -// string if there is no such token. -func consume(s string, c byte) string { - if s == "" || s[0] != c { - return "" - } - return strings.TrimSpace(s[1:]) -} - -func split(s string, c byte) (head, tail string) { - if i := strings.IndexByte(s, c); i >= 0 { - return strings.TrimSpace(s[:i]), strings.TrimSpace(s[i+1:]) - } - return strings.TrimSpace(s), "" -} - -// Add hack mapping to deal with a small number of cases that that occur -// in Accept-Language (with reasonable frequency). -var acceptFallback = map[string]langID{ - "english": _en, - "deutsch": _de, - "italian": _it, - "french": _fr, - "*": _mul, // defined in the spec to match all languages. -} - -type tagSort struct { - tag []Tag - q []float32 -} - -func (s *tagSort) Len() int { - return len(s.q) -} - -func (s *tagSort) Less(i, j int) bool { - return s.q[i] > s.q[j] -} - -func (s *tagSort) Swap(i, j int) { - s.tag[i], s.tag[j] = s.tag[j], s.tag[i] - s.q[i], s.q[j] = s.q[j], s.q[i] -} diff --git a/vendor/golang.org/x/text/language/tables.go b/vendor/golang.org/x/text/language/tables.go deleted file mode 100644 index a18eb0762..000000000 --- a/vendor/golang.org/x/text/language/tables.go +++ /dev/null @@ -1,2741 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package language - -import "golang.org/x/text/internal/tag" - -// CLDRVersion is the CLDR version from which the tables in this package are derived. -const CLDRVersion = "28" - -const numLanguages = 8632 - -const numScripts = 223 - -const numRegions = 354 - -type fromTo struct { - from uint16 - to uint16 -} - -const nonCanonicalUnd = 642 -const ( - _af = 10 - _am = 17 - _ar = 21 - _az = 36 - _bg = 56 - _bn = 75 - _ca = 97 - _cs = 121 - _da = 128 - _de = 133 - _el = 153 - _en = 154 - _es = 156 - _et = 158 - _fa = 163 - _fi = 167 - _fil = 169 - _fr = 174 - _gu = 210 - _he = 222 - _hi = 223 - _hr = 236 - _hu = 240 - _hy = 241 - _id = 246 - _is = 256 - _it = 257 - _ja = 261 - _ka = 270 - _kk = 300 - _km = 304 - _kn = 306 - _ko = 307 - _ky = 330 - _lo = 354 - _lt = 358 - _lv = 365 - _mk = 393 - _ml = 394 - _mn = 396 - _mo = 399 - _mr = 403 - _ms = 407 - _mul = 411 - _my = 418 - _nb = 427 - _ne = 432 - _nl = 441 - _no = 445 - _pa = 466 - _pl = 482 - _pt = 490 - _ro = 510 - _ru = 514 - _sh = 544 - _si = 547 - _sk = 549 - _sl = 551 - _sq = 564 - _sr = 565 - _sv = 577 - _sw = 578 - _ta = 587 - _te = 594 - _th = 599 - _tl = 610 - _tn = 613 - _tr = 617 - _uk = 639 - _ur = 645 - _uz = 646 - _vi = 651 - _zh = 700 - _zu = 702 - _jbo = 6829 - _ami = 1025 - _bnn = 1732 - _hak = 219 - _tlh = 13842 - _lb = 337 - _nv = 454 - _pwn = 11430 - _tao = 13563 - _tay = 13573 - _tsu = 14037 - _nn = 443 - _sfb = 13004 - _vgt = 15076 - _sgg = 13035 - _cmn = 2382 - _nan = 424 - _hsn = 238 -) - -const langPrivateStart = 0x2d01 - -const langPrivateEnd = 0x2f08 - -// lang holds an alphabetically sorted list of ISO-639 language identifiers. -// All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag. -// For 2-byte language identifiers, the two successive bytes have the following meaning: -// - if the first letter of the 2- and 3-letter ISO codes are the same: -// the second and third letter of the 3-letter ISO code. -// - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3. -// For 3-byte language identifiers the 4th byte is 0. -var lang tag.Index = "" + // Size: 2824 bytes - "---\x00aaarabbkabr\x00ace\x00ach\x00ada\x00ady\x00aeveaeb\x00affragq\x00" + - "aho\x00akkaakk\x00aln\x00alt\x00ammhamo\x00anrgaoz\x00arraarc\x00arn\x00" + - "aro\x00arq\x00ary\x00arz\x00assmasa\x00ase\x00ast\x00atj\x00avvaawa\x00a" + - "yymazzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bax\x00bbc\x00bbj\x00bci" + - "\x00beelbej\x00bem\x00bew\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc" + - "\x00bgn\x00bgx\x00bhihbhb\x00bhi\x00bhk\x00bho\x00biisbik\x00bin\x00bjj" + - "\x00bjn\x00bkm\x00bku\x00blt\x00bmambmq\x00bnenboodbpy\x00bqi\x00bqv\x00" + - "brrebra\x00brh\x00brx\x00bsosbsq\x00bss\x00bto\x00btv\x00bua\x00buc\x00b" + - "ug\x00bum\x00bvb\x00byn\x00byv\x00bze\x00caatcch\x00ccp\x00ceheceb\x00cg" + - "g\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00ckb\x00cooscop" + - "\x00cps\x00crrecrj\x00crk\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd" + - "\x00cuhucvhvcyymdaandak\x00dar\x00dav\x00dcc\x00deeuden\x00dgr\x00dje" + - "\x00dnj\x00doi\x00dsb\x00dtm\x00dtp\x00dua\x00dvivdyo\x00dyu\x00dzzoebu" + - "\x00eeweefi\x00egl\x00egy\x00eky\x00elllenngeopoes\x00\x05esu\x00etstett" + - "\x00euusewo\x00ext\x00faasfan\x00ffulffm\x00fiinfia\x00fil\x00fit\x00fji" + - "jfoaofon\x00frrafrc\x00frp\x00frr\x00frs\x00fud\x00fuq\x00fur\x00fuv\x00" + - "fvr\x00fyrygalegaa\x00gag\x00gan\x00gay\x00gbm\x00gbz\x00gcr\x00gdlagez" + - "\x00ggn\x00gil\x00gjk\x00gju\x00gllgglk\x00gnrngom\x00gon\x00gor\x00gos" + - "\x00got\x00grc\x00grt\x00gsw\x00guujgub\x00guc\x00gur\x00guz\x00gvlvgvr" + - "\x00gwi\x00haauhak\x00haw\x00haz\x00heebhiinhif\x00hil\x00hlu\x00hmd\x00" + - "hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00hrrvhsb\x00hsn\x00h" + - "tathuunhyyehzerianaiba\x00ibb\x00idndieleigboiiiiikpkikt\x00ilo\x00inndi" + - "nh\x00iodoisslittaiukuiw\x00\x03izh\x00japnjam\x00jgo\x00ji\x00\x06jmc" + - "\x00jml\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kaj\x00kam\x00kao\x00" + - "kbd\x00kcg\x00kck\x00kde\x00kdt\x00kea\x00ken\x00kfo\x00kfr\x00kfy\x00kg" + - "onkge\x00kgp\x00kha\x00khb\x00khn\x00khq\x00kht\x00khw\x00kiikkiu\x00kju" + - "akjg\x00kkazkkj\x00klalkln\x00kmhmkmb\x00knankoorkoi\x00kok\x00kos\x00kp" + - "e\x00kraukrc\x00kri\x00krj\x00krl\x00kru\x00ksasksb\x00ksf\x00ksh\x00kuu" + - "rkum\x00kvomkvr\x00kvx\x00kw\x00\x01kxm\x00kxp\x00kyirlaatlab\x00lad\x00" + - "lag\x00lah\x00laj\x00lbtzlbe\x00lbw\x00lcp\x00lep\x00lez\x00lgugliimlif" + - "\x00lij\x00lis\x00ljp\x00lki\x00lkt\x00lmn\x00lmo\x00lninloaolol\x00loz" + - "\x00lrc\x00ltitltg\x00luublua\x00luo\x00luy\x00luz\x00lvavlwl\x00lzh\x00" + - "lzz\x00mad\x00maf\x00mag\x00mai\x00mak\x00man\x00mas\x00maz\x00mdf\x00md" + - "h\x00mdr\x00men\x00mer\x00mfa\x00mfe\x00mglgmgh\x00mgo\x00mgp\x00mgy\x00" + - "mhahmirimin\x00mis\x00mkkdmlalmls\x00mnonmni\x00mnw\x00moolmoe\x00moh" + - "\x00mos\x00mrarmrd\x00mrj\x00mru\x00mssamtltmtr\x00mua\x00mul\x00mus\x00" + - "mvy\x00mwk\x00mwr\x00mwv\x00mxc\x00myyamyv\x00myx\x00myz\x00mzn\x00naaun" + - "an\x00nap\x00naq\x00nbobnch\x00nddendc\x00nds\x00neepnew\x00ngdongl\x00n" + - "he\x00nhw\x00nij\x00niu\x00njo\x00nlldnmg\x00nnnonnh\x00noornod\x00noe" + - "\x00non\x00nqo\x00nrblnsk\x00nso\x00nus\x00nvavnxq\x00nyyanym\x00nyn\x00" + - "nzi\x00occiojjiomrmorriosssotk\x00paanpag\x00pal\x00pam\x00pap\x00pau" + - "\x00pcd\x00pcm\x00pdc\x00pdt\x00peo\x00pfl\x00phn\x00pilipka\x00pko\x00p" + - "lolpms\x00pnt\x00pon\x00pra\x00prd\x00prg\x00psusptorpuu\x00quuequc\x00q" + - "ug\x00raj\x00rcf\x00rej\x00rgn\x00ria\x00rif\x00rjs\x00rkt\x00rmohrmf" + - "\x00rmo\x00rmt\x00rmu\x00rnunrng\x00roonrob\x00rof\x00rtm\x00ruusrue\x00" + - "rug\x00rw\x00\x04rwk\x00ryu\x00saansaf\x00sah\x00saq\x00sas\x00sat\x00sa" + - "z\x00sbp\x00scrdsck\x00scn\x00sco\x00scs\x00sdndsdc\x00sdh\x00semesef" + - "\x00seh\x00sei\x00ses\x00sgagsga\x00sgs\x00sh\x00\x02shi\x00shn\x00siins" + - "id\x00sklkskr\x00sllvsli\x00sly\x00smmosma\x00smj\x00smn\x00smp\x00sms" + - "\x00snnasnk\x00soomsou\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00ssswssy" + - "\x00stotstq\x00suunsuk\x00sus\x00svweswwaswb\x00swc\x00swg\x00swv\x00sxn" + - "\x00syl\x00syr\x00szl\x00taamtaj\x00tbw\x00tcy\x00tdd\x00tdg\x00tdh\x00t" + - "eeltem\x00teo\x00tet\x00tggkthhathl\x00thq\x00thr\x00tiirtig\x00tiv\x00t" + - "kuktkl\x00tkr\x00tkt\x00tlgltly\x00tmh\x00tnsntoontog\x00tpi\x00trurtru" + - "\x00trv\x00tssotsd\x00tsf\x00tsg\x00tsj\x00ttatttj\x00tts\x00ttt\x00tum" + - "\x00tvl\x00twwitwq\x00tyahtyv\x00tzm\x00udm\x00ugiguga\x00ukkruli\x00umb" + - "\x00und\x00unr\x00unx\x00urrduzzbvai\x00veenvec\x00vep\x00viievic\x00vls" + - "\x00vmf\x00vmw\x00voolvot\x00vro\x00vun\x00walnwae\x00wal\x00war\x00wbp" + - "\x00wbq\x00wbr\x00wls\x00wni\x00woolwtm\x00wuu\x00xav\x00xcr\x00xhhoxlc" + - "\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00xog\x00xpr\x00xsa\x00xsr" + - "\x00yao\x00yap\x00yav\x00ybb\x00yiidyooryrl\x00yua\x00zahazag\x00zbl\x00" + - "zdj\x00zea\x00zgh\x00zhhozmi\x00zuulzxx\x00zza\x00\xff\xff\xff\xff" - -const langNoIndexOffset = 705 - -// langNoIndex is a bit vector of all 3-letter language codes that are not used as an index -// in lookup tables. The language ids for these language codes are derived directly -// from the letters and are not consecutive. -// Size: 2197 bytes, 2197 elements -var langNoIndex = [2197]uint8{ - // Entry 0 - 3F - 0xff, 0xfd, 0xfd, 0xfe, 0xef, 0xf7, 0xbf, 0xd2, - 0xfb, 0xbf, 0xfe, 0xfa, 0xb7, 0x1d, 0x3c, 0x57, - 0x6f, 0x97, 0x73, 0xf8, 0xff, 0xef, 0xff, 0x70, - 0xaf, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x85, 0x62, - 0xe9, 0xbf, 0xfd, 0xff, 0xff, 0xf7, 0xfd, 0x77, - 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, - 0xc9, 0xff, 0xff, 0xff, 0x4d, 0xb8, 0x0a, 0x6a, - 0x7e, 0xfa, 0xe3, 0xfe, 0x7e, 0xff, 0x77, 0xff, - // Entry 40 - 7F - 0xff, 0xff, 0xff, 0xdf, 0x2b, 0xf4, 0xf1, 0xe0, - 0x5d, 0xe7, 0x9f, 0x14, 0x07, 0x20, 0xdf, 0xed, - 0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0xf7, - 0x7e, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0x5f, 0xfc, 0xdb, 0xfd, 0xbf, 0xb5, - 0x7b, 0xdf, 0x7f, 0xf7, 0xeb, 0xfe, 0xff, 0xa7, - 0xbd, 0xff, 0x7f, 0xf7, 0xff, 0xef, 0xef, 0xef, - 0xff, 0xff, 0x9f, 0xff, 0xff, 0xef, 0xff, 0xdf, - // Entry 80 - BF - 0xff, 0xff, 0xf3, 0xff, 0xfb, 0x2f, 0xff, 0xff, - 0xfb, 0xee, 0xff, 0xbd, 0xdb, 0xff, 0xdf, 0xf7, - 0xff, 0xfa, 0xfd, 0xff, 0x7e, 0xaf, 0x7b, 0xfe, - 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xdf, 0xff, - 0xff, 0xdf, 0xfb, 0xff, 0xfd, 0xfc, 0xfb, 0xff, - 0xff, 0xff, 0xff, 0xf7, 0x7f, 0xbf, 0xfd, 0xd5, - 0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c, - 0x08, 0x24, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80, - // Entry C0 - FF - 0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96, - 0x9b, 0x14, 0x88, 0xf6, 0x7b, 0xe7, 0x17, 0x56, - 0x55, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef, - 0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10, - 0xbc, 0x87, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35, - 0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00, - 0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x40, 0x00, 0x40, 0x92, 0x21, 0xd0, 0xbf, 0x5d, - // Entry 100 - 13F - 0xfd, 0xde, 0xfe, 0x5e, 0x00, 0x00, 0x02, 0x64, - 0x8d, 0x19, 0xc1, 0xdf, 0x79, 0x22, 0x00, 0x00, - 0x00, 0xdf, 0x6d, 0xdc, 0x26, 0xe5, 0xd9, 0xf3, - 0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c, - 0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f, - 0x56, 0x89, 0x5e, 0xb7, 0xec, 0xef, 0x03, 0x00, - 0x02, 0x00, 0x00, 0x00, 0xc0, 0x77, 0xda, 0x57, - 0x90, 0x69, 0x01, 0x2c, 0x16, 0x79, 0xe4, 0xff, - // Entry 140 - 17F - 0xff, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x46, - 0x00, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x16, - 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09, - 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04, - 0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04, - 0x00, 0x00, 0x50, 0xd5, 0x2d, 0x00, 0x64, 0x35, - 0x24, 0x53, 0xf5, 0xd4, 0xbd, 0xe2, 0xcd, 0x03, - // Entry 180 - 1BF - 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x17, 0x39, 0x01, 0xd9, 0x57, 0x98, - 0x21, 0x98, 0xa5, 0x00, 0x00, 0x01, 0x40, 0x82, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0xb0, 0xfe, - 0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - // Entry 1C0 - 1FF - 0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x20, 0x04, 0xa6, 0x08, 0x04, 0x00, 0x08, - 0x01, 0x50, 0x00, 0x00, 0x08, 0x11, 0x86, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x06, 0x55, - 0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x60, - 0x3b, 0x83, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xbe, 0xdf, 0xff, 0xfe, 0xbf, - // Entry 200 - 23F - 0xdf, 0xc7, 0x83, 0x82, 0xc0, 0xff, 0xdf, 0x27, - 0xcf, 0x5f, 0xe7, 0x01, 0x10, 0x20, 0xb2, 0xc5, - 0xa4, 0x45, 0x25, 0x9b, 0x03, 0xcf, 0xf0, 0xdf, - 0x03, 0xc4, 0x00, 0x10, 0x01, 0x0e, 0x01, 0xe3, - 0x92, 0x54, 0xdb, 0x38, 0xf1, 0x7f, 0xf7, 0x6d, - 0xf9, 0xff, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01, - 0x21, 0x12, 0x6c, 0x5f, 0xdd, 0x0f, 0x85, 0x4f, - 0x40, 0x40, 0x00, 0x04, 0xf9, 0xfd, 0xfd, 0xd4, - // Entry 240 - 27F - 0xe8, 0x13, 0xf4, 0x27, 0xa3, 0x0d, 0x00, 0x00, - 0x20, 0x7b, 0x39, 0x02, 0x05, 0x84, 0x00, 0xf0, - 0xbf, 0x7f, 0xda, 0x00, 0x18, 0x04, 0x81, 0x00, - 0x00, 0x00, 0x80, 0x10, 0x94, 0x1c, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04, - 0x08, 0xb4, 0x7c, 0xa5, 0x0c, 0x40, 0x00, 0x00, - 0x11, 0x04, 0x04, 0x6c, 0x00, 0x20, 0x70, 0xff, - 0xfb, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x6e, - // Entry 280 - 2BF - 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05, - 0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51, - 0xe2, 0xff, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05, - 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x00, 0xa1, 0x02, 0x60, - 0xe5, 0x48, 0x14, 0x89, 0x20, 0xc0, 0x47, 0x80, - 0x07, 0x00, 0x00, 0x00, 0xcc, 0x50, 0x40, 0x24, - 0x85, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20, - // Entry 2C0 - 2FF - 0x02, 0x50, 0x88, 0x11, 0x00, 0xd1, 0x6c, 0xee, - 0x50, 0x03, 0x1d, 0x11, 0x69, 0x06, 0x59, 0xe9, - 0x33, 0x08, 0x00, 0x20, 0x05, 0x40, 0x10, 0x00, - 0x00, 0x00, 0x50, 0x44, 0x96, 0x49, 0xd6, 0x5d, - 0xa7, 0x81, 0x45, 0x97, 0xfb, 0x00, 0x10, 0x00, - 0x08, 0x00, 0x80, 0x00, 0x40, 0x45, 0x00, 0x01, - 0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x04, 0x08, - 0xf8, 0xeb, 0xf6, 0x39, 0xc4, 0x99, 0x16, 0x00, - // Entry 300 - 33F - 0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa2, - 0x01, 0x00, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00, - 0x04, 0x10, 0xf0, 0x9d, 0x95, 0x13, 0x04, 0x80, - 0x00, 0x00, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0, - 0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x0a, 0x00, - 0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0xc0, - 0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00, - // Entry 340 - 37F - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, - 0x00, 0x10, 0x00, 0x00, 0x00, 0xf8, 0x85, 0xe3, - 0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0x7f, 0xfb, - 0xff, 0xfc, 0xfe, 0xdf, 0xff, 0xff, 0xff, 0xf6, - 0xfb, 0xfe, 0xf7, 0x1f, 0xff, 0xb3, 0xed, 0xff, - 0xdb, 0xed, 0xff, 0xfe, 0xff, 0xfe, 0xdf, 0xff, - 0xff, 0xff, 0xf7, 0xff, 0xfd, 0xff, 0xff, 0xff, - 0xfd, 0xff, 0xdf, 0xaf, 0x9c, 0xff, 0xfb, 0xff, - // Entry 380 - 3BF - 0xff, 0xff, 0xff, 0xff, 0xef, 0xd2, 0xbb, 0xdf, - 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xef, - 0xfd, 0xff, 0xff, 0xf7, 0xfd, 0xff, 0xff, 0xff, - 0xef, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x5f, 0xd3, 0x7b, 0xfd, 0xd9, 0xdf, 0xef, - 0xbc, 0x18, 0x05, 0x2c, 0xff, 0x07, 0xf0, 0xff, - 0xf7, 0x5f, 0x00, 0x08, 0x00, 0xc3, 0x3d, 0x1b, - 0x06, 0xe6, 0x72, 0xf0, 0xdd, 0x3c, 0x7f, 0x44, - // Entry 3C0 - 3FF - 0x02, 0x30, 0x9f, 0x7a, 0x16, 0xfd, 0xff, 0x57, - 0xf2, 0xff, 0x39, 0xff, 0xf2, 0x1e, 0x95, 0xf7, - 0xf7, 0xff, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00, - 0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11, - 0x84, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01, - 0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10, - 0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2, - 0xf9, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, - // Entry 400 - 43F - 0xd7, 0x6f, 0xff, 0xff, 0xdf, 0x7d, 0xbb, 0xff, - 0xff, 0xff, 0xf7, 0xf3, 0xef, 0xff, 0xff, 0xf7, - 0xff, 0xdf, 0xdb, 0x77, 0xff, 0xff, 0x7f, 0xff, - 0xff, 0xff, 0xef, 0xff, 0xbc, 0xff, 0xff, 0xfb, - 0xff, 0xfb, 0xff, 0xde, 0x76, 0xbd, 0xff, 0xf7, - 0xff, 0xff, 0xf7, 0xff, 0xff, 0xdf, 0xf3, 0xbf, - 0xef, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xde, - 0xf7, 0xbb, 0xef, 0xf7, 0xff, 0xfb, 0xbf, 0xdf, - // Entry 440 - 47F - 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x5f, 0x7d, - 0x7f, 0xff, 0xff, 0xff, 0xe5, 0xfc, 0xff, 0xfd, - 0x7f, 0x7f, 0xff, 0x9e, 0xae, 0xff, 0xee, 0xff, - 0x7f, 0xf7, 0x7b, 0x02, 0x82, 0x04, 0xff, 0xf7, - 0xff, 0xbf, 0xd7, 0xef, 0xfe, 0xdf, 0xf7, 0xfe, - 0xe2, 0x8e, 0xe7, 0xff, 0xf7, 0xff, 0x56, 0xbd, - 0xcd, 0xff, 0xfb, 0xff, 0xff, 0xdf, 0xef, 0xff, - 0xe5, 0xdf, 0x7d, 0x0f, 0xa7, 0x51, 0x04, 0x44, - // Entry 480 - 4BF - 0x13, 0xd0, 0x5d, 0xaf, 0xa6, 0xfd, 0xb9, 0xff, - 0x43, 0x5d, 0x5b, 0xff, 0xff, 0xbf, 0x3f, 0x20, - 0x14, 0x00, 0x57, 0x51, 0x82, 0x65, 0xf5, 0x49, - 0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05, - 0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04, - 0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x51, 0x60, 0x05, 0x04, 0x01, 0x00, 0x00, - 0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1, - // Entry 4C0 - 4FF - 0xfd, 0x67, 0x4b, 0x06, 0x95, 0x02, 0x57, 0xed, - 0xfb, 0x4c, 0x9d, 0x7b, 0x83, 0x04, 0x62, 0x40, - 0x00, 0x15, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83, - 0xf9, 0x5f, 0x10, 0x8c, 0xc9, 0x46, 0xde, 0xf7, - 0x13, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00, - 0x01, 0x40, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x7d, - 0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41, - // Entry 500 - 53F - 0xb0, 0xff, 0x79, 0x7a, 0x04, 0x00, 0x00, 0x49, - 0x2d, 0x14, 0x25, 0x77, 0xed, 0xf1, 0xbf, 0xef, - 0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xfc, - 0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xf5, 0xff, - 0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7f, 0x10, - 0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9, - 0x5f, 0x05, 0x86, 0xef, 0xf5, 0x77, 0xbd, 0x3c, - 0x00, 0x00, 0x00, 0x43, 0x71, 0x42, 0x00, 0x40, - // Entry 540 - 57F - 0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - // Entry 580 - 5BF - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d, - 0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80, - 0x00, 0x00, 0x00, 0x00, 0xf0, 0xde, 0xff, 0xbf, - 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, - 0x00, 0x30, 0x95, 0xe3, 0x10, 0x00, 0x00, 0x00, - 0x11, 0x04, 0x16, 0x00, 0x01, 0x02, 0x00, 0x81, - 0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40, - // Entry 5C0 - 5FF - 0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x7e, 0x02, - 0xaa, 0x10, 0x5d, 0xd8, 0x52, 0x00, 0x80, 0x20, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x02, 0x02, - 0x09, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d, - 0x31, 0x00, 0x00, 0x00, 0x01, 0x50, 0x02, 0x20, - 0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x00, 0x1f, 0xdf, 0xf2, 0xfd, 0xff, 0xfd, 0x3f, - 0x9f, 0x18, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe, - // Entry 600 - 63F - 0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xfd, - 0xb7, 0xf7, 0xff, 0xf3, 0xdf, 0xff, 0x6f, 0xf1, - 0x7b, 0xf1, 0x7f, 0xdf, 0x7f, 0xbf, 0xfe, 0xb7, - 0xee, 0x1d, 0xfb, 0xdb, 0xef, 0xdf, 0xff, 0xfd, - 0x7e, 0xbe, 0x57, 0xff, 0x6f, 0x81, 0x76, 0x1f, - 0xd4, 0x77, 0xf5, 0xfd, 0xff, 0xff, 0xeb, 0xfe, - 0xbf, 0x5f, 0x57, 0x1b, 0xeb, 0x5f, 0x50, 0x18, - 0x02, 0xfa, 0xff, 0x9d, 0x15, 0x97, 0x15, 0x0f, - // Entry 640 - 67F - 0x75, 0xc4, 0x7d, 0x81, 0x82, 0xf1, 0xd7, 0x7e, - 0xff, 0xff, 0xff, 0xef, 0xff, 0xfd, 0xdd, 0xde, - 0xbc, 0xfd, 0xf6, 0x5f, 0x7a, 0x1f, 0x40, 0x98, - 0x02, 0xff, 0xe3, 0xff, 0xf3, 0xd6, 0xf2, 0xff, - 0xfb, 0xdf, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4, - 0xf5, 0xbe, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xf7, - 0x7f, 0xff, 0xff, 0xbe, 0xdb, 0xf7, 0xd7, 0xf9, - 0xef, 0x2f, 0x80, 0xbf, 0xc5, 0xff, 0xff, 0xf3, - // Entry 680 - 6BF - 0x97, 0x9d, 0xff, 0xff, 0xf7, 0xcf, 0xfd, 0xbf, - 0xde, 0x7f, 0x06, 0x1d, 0x57, 0xff, 0xf8, 0xda, - 0x5d, 0xcf, 0x7d, 0x16, 0xb9, 0xea, 0x69, 0xa0, - 0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x48, - 0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00, - 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06, - 0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, - 0x04, 0x00, 0x10, 0x8c, 0x58, 0xd5, 0x0d, 0x0f, - // Entry 6C0 - 6FF - 0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08, - 0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, - 0x00, 0xdc, 0xff, 0xeb, 0x1f, 0x58, 0x08, 0x41, - 0x04, 0xa0, 0x04, 0x00, 0x30, 0x12, 0x40, 0x22, - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xaf, - 0x6f, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00, - // Entry 700 - 73F - 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x80, 0x86, 0xc2, 0x02, 0x00, 0x00, 0x00, 0x01, - 0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79, - 0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // Entry 740 - 77F - 0x00, 0x00, 0x00, 0xef, 0xf7, 0xfd, 0xcf, 0x7e, - 0xa0, 0x11, 0x10, 0x00, 0x00, 0x92, 0x01, 0x44, - 0xcd, 0xf9, 0x5e, 0x00, 0x01, 0x00, 0x30, 0x14, - 0x04, 0x55, 0x10, 0x01, 0x04, 0xf6, 0x3f, 0x7a, - 0x05, 0x04, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55, - 0x97, 0x7c, 0x9f, 0x71, 0xcc, 0x78, 0xd1, 0x43, - 0xf5, 0x57, 0x67, 0x14, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x2c, 0xf7, 0xdb, 0x1f, 0x50, 0x60, - // Entry 780 - 7BF - 0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0xaa, 0x01, - 0x00, 0x00, 0x30, 0x00, 0x24, 0x44, 0x00, 0x00, - 0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0, - 0xb5, 0xff, 0xd5, 0xd7, 0xbc, 0x70, 0xd6, 0x78, - 0x78, 0x15, 0x50, 0x00, 0xa4, 0x84, 0xe9, 0x41, - 0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00, - 0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02, - 0xff, 0xef, 0xff, 0x4f, 0x85, 0x53, 0xf4, 0xed, - // Entry 7C0 - 7FF - 0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xf5, 0x42, - 0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0xc0, 0x56, - 0xcc, 0x16, 0x9e, 0xfb, 0x35, 0x7d, 0xef, 0xff, - 0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x5d, - 0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80, - 0x10, 0x20, 0x24, 0x00, 0xff, 0x3f, 0xdf, 0x67, - 0xfe, 0x01, 0x06, 0x88, 0x0a, 0x40, 0x16, 0x01, - 0x01, 0x15, 0x2b, 0x3e, 0x01, 0x00, 0x00, 0x10, - // Entry 800 - 83F - 0x90, 0x69, 0x45, 0x02, 0x02, 0x01, 0xe1, 0xbf, - 0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa7, 0xd1, - 0x54, 0x9e, 0x44, 0xdf, 0xfd, 0x8f, 0x66, 0xb3, - 0x55, 0x20, 0xd4, 0xc3, 0xd8, 0x30, 0x3d, 0x80, - 0x00, 0x00, 0x00, 0x4c, 0xd4, 0x10, 0xc5, 0x84, - 0x6e, 0x50, 0x00, 0x22, 0x50, 0x7e, 0xbf, 0xdb, - 0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10, - 0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00, - // Entry 840 - 87F - 0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28, - 0x84, 0x00, 0x33, 0xc0, 0x23, 0x24, 0x00, 0x00, - 0x00, 0xcb, 0xe4, 0x3a, 0x42, 0xc8, 0x14, 0xf1, - 0xef, 0xff, 0x7f, 0x16, 0x01, 0x01, 0x84, 0x50, - 0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40, - 0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1, - // Entry 880 - 8BF - 0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24, - 0x0a, 0x00, 0x80, 0x00, 0x00, -} - -// altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives -// to 2-letter language codes that cannot be derived using the method described above. -// Each 3-letter code is followed by its 1-byte langID. -var altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff" - -// altLangIndex is used to convert indexes in altLangISO3 to langIDs. -// Size: 12 bytes, 6 elements -var altLangIndex = [6]uint16{ - 0x0147, 0x0220, 0x0103, 0x0205, 0x009c, 0x0108, -} - -// langAliasMap maps langIDs to their suggested replacements. -// Size: 556 bytes, 139 elements -var langAliasMap = [139]fromTo{ - 0: {from: 0xfd, to: 0xf6}, - 1: {from: 0x103, to: 0xde}, - 2: {from: 0x108, to: 0x2b2}, - 3: {from: 0x10d, to: 0x10c}, - 4: {from: 0x18f, to: 0x1fe}, - 5: {from: 0x1ab, to: 0x1bd}, - 6: {from: 0x220, to: 0x235}, - 7: {from: 0x262, to: 0xa9}, - 8: {from: 0x26e, to: 0x24c}, - 9: {from: 0x277, to: 0xd}, - 10: {from: 0x2cd, to: 0x2d3}, - 11: {from: 0x31e, to: 0x92}, - 12: {from: 0x3bf, to: 0x1c40}, - 13: {from: 0x3e0, to: 0x234}, - 14: {from: 0x3f1, to: 0x234}, - 15: {from: 0x47c, to: 0x15}, - 16: {from: 0x487, to: 0xf1}, - 17: {from: 0x4cd, to: 0x1f30}, - 18: {from: 0x542, to: 0x23}, - 19: {from: 0x548, to: 0x272a}, - 20: {from: 0x554, to: 0x24}, - 21: {from: 0x575, to: 0xa0}, - 22: {from: 0x59b, to: 0x26}, - 23: {from: 0x5a4, to: 0x42}, - 24: {from: 0x652, to: 0xc72}, - 25: {from: 0x77e, to: 0x1a2}, - 26: {from: 0x7c5, to: 0x16b}, - 27: {from: 0x7cc, to: 0x59}, - 28: {from: 0x84d, to: 0x30b1}, - 29: {from: 0x8c7, to: 0x2bc}, - 30: {from: 0x904, to: 0x23e9}, - 31: {from: 0x90d, to: 0x952}, - 32: {from: 0x92a, to: 0x249}, - 33: {from: 0x94b, to: 0x3fb8}, - 34: {from: 0x94e, to: 0x2bc}, - 35: {from: 0xa48, to: 0x73}, - 36: {from: 0xa97, to: 0x79}, - 37: {from: 0xb57, to: 0x8a}, - 38: {from: 0xb66, to: 0x19f}, - 39: {from: 0xb87, to: 0xb8a}, - 40: {from: 0xb8d, to: 0x2c0}, - 41: {from: 0xc6e, to: 0x1de9}, - 42: {from: 0xc7d, to: 0x2c29}, - 43: {from: 0xcc8, to: 0x1b9}, - 44: {from: 0xe5f, to: 0x9e}, - 45: {from: 0xe93, to: 0x176}, - 46: {from: 0xf2f, to: 0xfa}, - 47: {from: 0x1008, to: 0xd}, - 48: {from: 0x11b3, to: 0xae}, - 49: {from: 0x11ff, to: 0xa5}, - 50: {from: 0x12ae, to: 0xb2a}, - 51: {from: 0x12b2, to: 0x1ce}, - 52: {from: 0x12c1, to: 0x1454}, - 53: {from: 0x130f, to: 0x10e}, - 54: {from: 0x1312, to: 0x85}, - 55: {from: 0x1332, to: 0x3a3e}, - 56: {from: 0x13f9, to: 0xcb}, - 57: {from: 0x1457, to: 0x99}, - 58: {from: 0x148f, to: 0x2787}, - 59: {from: 0x14a7, to: 0xc9}, - 60: {from: 0x1509, to: 0x12b3}, - 61: {from: 0x1598, to: 0x1545}, - 62: {from: 0x15a5, to: 0x1682}, - 63: {from: 0x1619, to: 0x239}, - 64: {from: 0x1708, to: 0x1a90}, - 65: {from: 0x1803, to: 0x293f}, - 66: {from: 0x1819, to: 0x100}, - 67: {from: 0x18e9, to: 0x102}, - 68: {from: 0x1915, to: 0x12a4}, - 69: {from: 0x1dcc, to: 0x1e6c}, - 70: {from: 0x1de9, to: 0x18c}, - 71: {from: 0x1e72, to: 0x142}, - 72: {from: 0x1e7d, to: 0x138}, - 73: {from: 0x1e81, to: 0x11f}, - 74: {from: 0x1e88, to: 0x135}, - 75: {from: 0x1e9e, to: 0x1f7a}, - 76: {from: 0x1ec4, to: 0x144}, - 77: {from: 0x1f75, to: 0x422d}, - 78: {from: 0x1f83, to: 0x3712}, - 79: {from: 0x1ff1, to: 0x6b9}, - 80: {from: 0x20a5, to: 0x2fb5}, - 81: {from: 0x2111, to: 0x30f4}, - 82: {from: 0x2201, to: 0x16d}, - 83: {from: 0x2273, to: 0x189}, - 84: {from: 0x227f, to: 0x186}, - 85: {from: 0x2289, to: 0x197}, - 86: {from: 0x22df, to: 0x8ea}, - 87: {from: 0x2338, to: 0x69}, - 88: {from: 0x23cd, to: 0x176}, - 89: {from: 0x2458, to: 0x2443}, - 90: {from: 0x2488, to: 0x1ef}, - 91: {from: 0x24b6, to: 0x3a3e}, - 92: {from: 0x24f4, to: 0x2443}, - 93: {from: 0x267e, to: 0x25c6}, - 94: {from: 0x26a3, to: 0x1b0}, - 95: {from: 0x28a9, to: 0x1cd}, - 96: {from: 0x298b, to: 0x1cf}, - 97: {from: 0x29ce, to: 0x3a3e}, - 98: {from: 0x2a8b, to: 0x1e9}, - 99: {from: 0x2aa2, to: 0x326}, - 100: {from: 0x2ad6, to: 0xa3}, - 101: {from: 0x2ad7, to: 0xa3}, - 102: {from: 0x2b8e, to: 0x180}, - 103: {from: 0x2ba9, to: 0x2b24}, - 104: {from: 0x2bb0, to: 0x14f}, - 105: {from: 0x2bf4, to: 0x2011}, - 106: {from: 0x2c7e, to: 0x2c66}, - 107: {from: 0x2f22, to: 0x1ec}, - 108: {from: 0x30f5, to: 0x311d}, - 109: {from: 0x31b9, to: 0x1fe}, - 110: {from: 0x327d, to: 0x165f}, - 111: {from: 0x3375, to: 0x225}, - 112: {from: 0x33e7, to: 0x12f}, - 113: {from: 0x3405, to: 0x210}, - 114: {from: 0x348c, to: 0x242}, - 115: {from: 0x35ba, to: 0x2a2a}, - 116: {from: 0x35be, to: 0x4c}, - 117: {from: 0x35c1, to: 0x2fb7}, - 118: {from: 0x35fb, to: 0x3735}, - 119: {from: 0x3621, to: 0x3d4f}, - 120: {from: 0x3644, to: 0x2c29}, - 121: {from: 0x36eb, to: 0x264}, - 122: {from: 0x38dd, to: 0xb20}, - 123: {from: 0x3907, to: 0xe89}, - 124: {from: 0x3a28, to: 0x286}, - 125: {from: 0x3d4c, to: 0x7f}, - 126: {from: 0x404d, to: 0x302}, - 127: {from: 0x4107, to: 0x137}, - 128: {from: 0x415a, to: 0x345a}, - 129: {from: 0x415c, to: 0x86}, - 130: {from: 0x423e, to: 0x30b1}, - 131: {from: 0x4272, to: 0x2b2}, - 132: {from: 0x4359, to: 0x2198}, - 133: {from: 0x436c, to: 0x246b}, - 134: {from: 0x439f, to: 0x463d}, - 135: {from: 0x443d, to: 0x442f}, - 136: {from: 0x44cd, to: 0x44d4}, - 137: {from: 0x46a5, to: 0x197}, - 138: {from: 0x4736, to: 0x2b6}, -} - -// Size: 139 bytes, 139 elements -var langAliasTypes = [139]langAliasType{ - // Entry 0 - 3F - 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2, 1, 1, - 2, 0, 1, 0, 1, 2, 1, 1, 0, 2, 1, 1, 0, 2, 0, 0, - 1, 0, 1, 1, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, - 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0, 1, 1, 1, 1, 1, - // Entry 40 - 7F - 0, 0, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, - 0, 0, 1, 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, - 1, 0, 1, 0, 2, 1, 1, 0, 1, 0, 0, 1, 1, 2, 0, 2, - 1, 1, 1, 0, 2, 0, 0, 0, 0, 1, 1, 0, 1, 2, 0, 1, - // Entry 80 - BF - 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, -} - -const ( - _Latn = 79 - _Hani = 48 - _Hans = 50 - _Hant = 51 - _Qaaa = 125 - _Qaai = 133 - _Qabx = 174 - _Zinh = 218 - _Zyyy = 222 - _Zzzz = 223 -) - -// script is an alphabetically sorted list of ISO 15924 codes. The index -// of the script in the string, divided by 4, is the internal scriptID. -var script tag.Index = "" + // Size: 900 bytes - "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBlisBopoBrah" + - "BraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDsrtDuplEgydEgyh" + - "EgypElbaEthiGeokGeorGlagGothGranGrekGujrGuruHangHaniHanoHansHantHatrHebr" + - "HiraHluwHmngHrktHungIndsItalJavaJpanJurcKaliKanaKharKhmrKhojKitlKitsKnda" + - "KoreKpelKthiLanaLaooLatfLatgLatnLepcLimbLinaLinbLisuLomaLyciLydiMahjMand" + - "ManiMarcMayaMendMercMeroMlymModiMongMoonMrooMteiMultMymrNarbNbatNkgbNkoo" + - "NshuOgamOlckOrkhOryaOsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPlrdPrtiQaaa" + - "QaabQaacQaadQaaeQaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaas" + - "QaatQaauQaavQaawQaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabk" + - "QablQabmQabnQaboQabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSara" + - "SarbSaurSgnwShawShrdSiddSindSinhSoraSundSyloSyrcSyreSyrjSyrnTagbTakrTale" + - "TaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWoleXpeo" + - "XsuxYiiiZinhZmthZsymZxxxZyyyZzzz\xff\xff\xff\xff" - -// suppressScript is an index from langID to the dominant script for that language, -// if it exists. If a script is given, it should be suppressed from the language tag. -// Size: 705 bytes, 705 elements -var suppressScript = [705]uint8{ - // Entry 0 - 3F - 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x26, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // Entry 40 - 7F - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, - // Entry 80 - BF - 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0xce, - 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x2c, 0x4f, 0x4f, 0x4f, 0x00, 0x4f, 0x00, - 0x4f, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00, 0x4f, 0x00, - 0x00, 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // Entry C0 - FF - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x4f, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00, 0x4f, - 0x4f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, - // Entry 100 - 13F - 0x4f, 0x4f, 0x00, 0x35, 0x00, 0x3e, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x4f, 0x00, - 0x43, 0x00, 0x47, 0x48, 0x00, 0x1f, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // Entry 140 - 17F - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x4f, 0x4c, 0x00, 0x00, 0x00, 0x4f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, - // Entry 180 - 1BF - 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, - 0x00, 0x1d, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x4f, - 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x4f, - 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, - // Entry 1C0 - 1FF - 0x00, 0x6b, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x70, - 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x05, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, - // Entry 200 - 23F - 0x00, 0x00, 0x1d, 0x00, 0x00, 0x4f, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xbb, 0x00, 0x4f, 0x00, 0x4f, - 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, - // Entry 240 - 27F - 0x00, 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xca, 0x4f, 0x00, 0x00, 0x00, 0xcf, - 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x4f, - 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x4f, 0x4f, 0x00, - 0x4f, 0x4f, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, - // Entry 280 - 2BF - 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, - 0x4f, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, - // Entry 2C0 - 2FF - 0x00, -} - -const ( - _001 = 1 - _419 = 30 - _BR = 64 - _CA = 72 - _ES = 109 - _GB = 121 - _MD = 186 - _PT = 236 - _UK = 304 - _US = 306 - _ZZ = 354 - _XA = 320 - _XC = 322 - _XK = 330 -) - -// isoRegionOffset needs to be added to the index of regionISO to obtain the regionID -// for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for -// the UN.M49 codes used for groups.) -const isoRegionOffset = 31 - -// regionTypes defines the status of a region for various standards. -// Size: 355 bytes, 355 elements -var regionTypes = [355]uint8{ - // Entry 0 - 3F - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - // Entry 40 - 7F - 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, 0x00, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, - 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - // Entry 80 - BF - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x00, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, - // Entry C0 - FF - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, - 0x06, 0x06, 0x00, 0x06, 0x04, 0x06, 0x06, 0x06, - 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, - 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - // Entry 100 - 13F - 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, - // Entry 140 - 17F - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x04, 0x06, 0x06, 0x04, 0x06, 0x06, - 0x04, 0x06, 0x05, -} - -// regionISO holds a list of alphabetically sorted 2-letter ISO region codes. -// Each 2-letter codes is followed by two bytes with the following meaning: -// - [A-Z}{2}: the first letter of the 2-letter code plus these two -// letters form the 3-letter ISO code. -// - 0, n: index into altRegionISO3. -var regionISO tag.Index = "" + // Size: 1300 bytes - "AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" + - "AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" + - "BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" + - "CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" + - "HYDZZAEA ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03FIINFJJIFKLKFMSMFOROFQ" + - "\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGRRC" + - "GS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC IDDNIERLILSRIM" + - "MNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00\x09" + - "KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTULUUX" + - "LVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQMRRT" + - "MSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOORNPPL" + - "NQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00\x12" + - "PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTTQU" + - "\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYCSD" + - "DNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYRSZ" + - "WZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTVUV" + - "TWWNTZZAUAKRUGGAUK UMMIUSSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVUUTWFLF" + - "WKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXOOOXPPP" + - "XQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAFZMMBZR" + - "ARZWWEZZZZ\xff\xff\xff\xff" - -// altRegionISO3 holds a list of 3-letter region codes that cannot be -// mapped to 2-letter codes using the default algorithm. This is a short list. -var altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN" - -// altRegionIDs holds a list of regionIDs the positions of which match those -// of the 3-letter ISO codes in altRegionISO3. -// Size: 22 bytes, 11 elements -var altRegionIDs = [11]uint16{ - 0x0056, 0x006f, 0x0086, 0x00a6, 0x00a8, 0x00ab, 0x00e8, 0x0103, - 0x011f, 0x015c, 0x00da, -} - -// Size: 80 bytes, 20 elements -var regionOldMap = [20]fromTo{ - 0: {from: 0x43, to: 0xc2}, - 1: {from: 0x57, to: 0xa5}, - 2: {from: 0x5e, to: 0x5f}, - 3: {from: 0x65, to: 0x3a}, - 4: {from: 0x77, to: 0x76}, - 5: {from: 0x91, to: 0x36}, - 6: {from: 0xa1, to: 0x131}, - 7: {from: 0xbf, to: 0x131}, - 8: {from: 0xd5, to: 0x13c}, - 9: {from: 0xda, to: 0x2a}, - 10: {from: 0xed, to: 0x131}, - 11: {from: 0xf0, to: 0xe0}, - 12: {from: 0xfa, to: 0x6f}, - 13: {from: 0x101, to: 0x161}, - 14: {from: 0x128, to: 0x124}, - 15: {from: 0x130, to: 0x79}, - 16: {from: 0x137, to: 0x13b}, - 17: {from: 0x13e, to: 0x131}, - 18: {from: 0x15a, to: 0x15b}, - 19: {from: 0x160, to: 0x4a}, -} - -// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are -// codes indicating collections of regions. -// Size: 710 bytes, 355 elements -var m49 = [355]int16{ - // Entry 0 - 3F - 0, 1, 2, 3, 5, 9, 11, 13, - 14, 15, 17, 18, 19, 21, 29, 30, - 34, 35, 39, 53, 54, 57, 61, 142, - 143, 145, 150, 151, 154, 155, 419, 958, - 0, 20, 784, 4, 28, 660, 8, 51, - 530, 24, 10, 32, 16, 40, 36, 533, - 248, 31, 70, 52, 50, 56, 854, 100, - 48, 108, 204, 652, 60, 96, 68, 535, - // Entry 40 - 7F - 76, 44, 64, 104, 74, 72, 112, 84, - 124, 166, 180, 140, 178, 756, 384, 184, - 152, 120, 156, 170, 0, 188, 891, 296, - 192, 132, 531, 162, 196, 203, 278, 276, - 0, 262, 208, 212, 214, 204, 12, 0, - 218, 233, 818, 732, 232, 724, 231, 967, - 246, 242, 238, 583, 234, 0, 250, 249, - 266, 826, 308, 268, 254, 831, 288, 292, - // Entry 80 - BF - 304, 270, 324, 312, 226, 300, 239, 320, - 316, 624, 328, 344, 334, 340, 191, 332, - 348, 854, 0, 360, 372, 376, 833, 356, - 86, 368, 364, 352, 380, 832, 388, 400, - 392, 581, 404, 417, 116, 296, 174, 659, - 408, 410, 414, 136, 398, 418, 422, 662, - 438, 144, 430, 426, 440, 442, 428, 434, - 504, 492, 498, 499, 663, 450, 584, 581, - // Entry C0 - FF - 807, 466, 104, 496, 446, 580, 474, 478, - 500, 470, 480, 462, 454, 484, 458, 508, - 516, 540, 562, 574, 566, 548, 558, 528, - 578, 524, 10, 520, 536, 570, 554, 512, - 591, 0, 604, 258, 598, 608, 586, 616, - 666, 612, 630, 275, 620, 581, 585, 600, - 591, 634, 959, 960, 961, 962, 963, 964, - 965, 966, 967, 968, 969, 970, 971, 972, - // Entry 100 - 13F - 638, 716, 642, 688, 643, 646, 682, 90, - 690, 729, 752, 702, 654, 705, 744, 703, - 694, 674, 686, 706, 740, 728, 678, 810, - 222, 534, 760, 748, 0, 796, 148, 260, - 768, 764, 762, 772, 626, 795, 788, 776, - 626, 792, 780, 798, 158, 834, 804, 800, - 826, 581, 840, 858, 860, 336, 670, 704, - 862, 92, 850, 704, 548, 876, 581, 882, - // Entry 140 - 17F - 973, 974, 975, 976, 977, 978, 979, 980, - 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, - 997, 998, 720, 887, 175, 891, 710, 894, - 180, 716, 999, -} - -// m49Index gives indexes into fromM49 based on the three most significant bits -// of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in -// fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]] -// for an entry where the first 7 bits match the 7 lsb of the UN.M49 code. -// The region code is stored in the 9 lsb of the indexed value. -// Size: 18 bytes, 9 elements -var m49Index = [9]int16{ - 0, 59, 107, 142, 180, 219, 258, 290, - 332, -} - -// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details. -// Size: 664 bytes, 332 elements -var fromM49 = [332]uint16{ - // Entry 0 - 3F - 0x0201, 0x0402, 0x0603, 0x0823, 0x0a04, 0x1026, 0x1205, 0x142a, - 0x1606, 0x1866, 0x1a07, 0x1c08, 0x1e09, 0x202c, 0x220a, 0x240b, - 0x260c, 0x2821, 0x2a0d, 0x3029, 0x3824, 0x3a0e, 0x3c0f, 0x3e31, - 0x402b, 0x4410, 0x4611, 0x482e, 0x4e12, 0x502d, 0x5841, 0x6038, - 0x6434, 0x6627, 0x6833, 0x6a13, 0x6c14, 0x7035, 0x7215, 0x783c, - 0x7a16, 0x8042, 0x883e, 0x8c32, 0x9045, 0x9444, 0x9840, 0xa847, - 0xac98, 0xb507, 0xb939, 0xc03d, 0xc837, 0xd0c2, 0xd839, 0xe046, - 0xe8a4, 0xf051, 0xf848, 0x0859, 0x10ab, 0x184b, 0x1c17, 0x1e18, - // Entry 40 - 7F - 0x20b1, 0x2219, 0x291e, 0x2c1a, 0x2e1b, 0x3050, 0x341c, 0x361d, - 0x3852, 0x3d2c, 0x445b, 0x4c49, 0x5453, 0x5ca6, 0x5f5c, 0x644c, - 0x684a, 0x704f, 0x7855, 0x7e8e, 0x8058, 0x885c, 0x965d, 0x983a, - 0xa062, 0xa863, 0xac64, 0xb468, 0xbd18, 0xc484, 0xcc6e, 0xce6e, - 0xd06c, 0xd269, 0xd474, 0xdc72, 0xde86, 0xe471, 0xec70, 0xf030, - 0xf277, 0xf476, 0xfc7c, 0x04e3, 0x091f, 0x0c61, 0x1478, 0x187b, - 0x1c81, 0x26eb, 0x285f, 0x2c5e, 0x305f, 0x407e, 0x487f, 0x50a5, - 0x5885, 0x6080, 0x687a, 0x7083, 0x7888, 0x8087, 0x8882, 0x908a, - // Entry 80 - BF - 0x988f, 0x9c8c, 0xa135, 0xa88d, 0xb08b, 0xb890, 0xc09b, 0xc897, - 0xd093, 0xd89a, 0xe099, 0xe894, 0xf095, 0xf89c, 0x004e, 0x089e, - 0x10a0, 0x1cac, 0x209f, 0x28a2, 0x30a8, 0x34a9, 0x3caa, 0x42a3, - 0x44ad, 0x461e, 0x4cae, 0x54b3, 0x58b6, 0x5cb2, 0x64b7, 0x6cb0, - 0x70b4, 0x74b5, 0x7cc4, 0x84bd, 0x8ccc, 0x94ce, 0x9ccb, 0xa4c1, - 0xacc9, 0xb4c6, 0xbcc7, 0xc0ca, 0xc8cd, 0xd8b9, 0xe0c3, 0xe4ba, - 0xe6bb, 0xe8c8, 0xf0b8, 0xf8cf, 0x00df, 0x08d0, 0x10db, 0x18d9, - 0x20d7, 0x2428, 0x265a, 0x2a2f, 0x2d19, 0x2e3f, 0x30dc, 0x38d1, - // Entry C0 - FF - 0x493c, 0x54de, 0x5cd6, 0x64d2, 0x6cd4, 0x74dd, 0x7cd3, 0x84d8, - 0x88c5, 0x8b31, 0x8e73, 0x90be, 0x92ee, 0x94e6, 0x9ee0, 0xace4, - 0xb0ef, 0xb8e2, 0xc0e5, 0xc8e9, 0xd0e7, 0xd8ec, 0xe089, 0xe524, - 0xecea, 0xf4f1, 0xfd00, 0x0502, 0x0704, 0x0d05, 0x183b, 0x1d0c, - 0x26a7, 0x2825, 0x2caf, 0x2ebc, 0x34e8, 0x3d36, 0x4511, 0x4d16, - 0x5506, 0x5d12, 0x6103, 0x6508, 0x6d10, 0x7d0b, 0x7f0f, 0x813b, - 0x830d, 0x8513, 0x8d5e, 0x9961, 0xa15a, 0xa86d, 0xb115, 0xb309, - 0xb86b, 0xc109, 0xc914, 0xd10e, 0xd91b, 0xe10a, 0xe84d, 0xf11a, - // Entry 100 - 13F - 0xf522, 0xf921, 0x0120, 0x0923, 0x1127, 0x192a, 0x2022, 0x2926, - 0x3129, 0x3725, 0x391d, 0x3d2b, 0x412f, 0x492e, 0x4ec0, 0x5517, - 0x646a, 0x7479, 0x7e7d, 0x809d, 0x8296, 0x852d, 0x9132, 0xa53a, - 0xac36, 0xb533, 0xb934, 0xbd38, 0xd93d, 0xe53f, 0xed5b, 0xef5b, - 0xf656, 0xfd5f, 0x7c1f, 0x7ef2, 0x80f3, 0x82f4, 0x84f5, 0x86f6, - 0x88f7, 0x8af8, 0x8cf9, 0x8e6f, 0x90fb, 0x92fc, 0x94fd, 0x96fe, - 0x98ff, 0x9b40, 0x9d41, 0x9f42, 0xa143, 0xa344, 0xa545, 0xa746, - 0xa947, 0xab48, 0xad49, 0xaf4a, 0xb14b, 0xb34c, 0xb54d, 0xb74e, - // Entry 140 - 17F - 0xb94f, 0xbb50, 0xbd51, 0xbf52, 0xc153, 0xc354, 0xc555, 0xc756, - 0xc957, 0xcb58, 0xcd59, 0xcf62, -} - -// Size: 1311 bytes -var variantIndex = map[string]uint8{ - "1606nict": 0x0, - "1694acad": 0x1, - "1901": 0x2, - "1959acad": 0x3, - "1994": 0x3f, - "1996": 0x4, - "alalc97": 0x41, - "aluku": 0x5, - "arevela": 0x6, - "arevmda": 0x7, - "baku1926": 0x8, - "balanka": 0x9, - "barla": 0xa, - "bauddha": 0xb, - "biscayan": 0xc, - "biske": 0x3a, - "bohoric": 0xd, - "boont": 0xe, - "dajnko": 0xf, - "ekavsk": 0x10, - "emodeng": 0x11, - "fonipa": 0x42, - "fonupa": 0x43, - "fonxsamp": 0x44, - "hepburn": 0x12, - "heploc": 0x40, - "hognorsk": 0x13, - "ijekavsk": 0x14, - "itihasa": 0x15, - "jauer": 0x16, - "jyutping": 0x17, - "kkcor": 0x18, - "kociewie": 0x19, - "kscor": 0x1a, - "laukika": 0x1b, - "lipaw": 0x3b, - "luna1918": 0x1c, - "metelko": 0x1d, - "monoton": 0x1e, - "ndyuka": 0x1f, - "nedis": 0x20, - "njiva": 0x3c, - "nulik": 0x21, - "osojs": 0x3d, - "oxendict": 0x22, - "pamaka": 0x23, - "petr1708": 0x24, - "pinyin": 0x25, - "polyton": 0x26, - "puter": 0x27, - "rigik": 0x28, - "rozaj": 0x29, - "rumgr": 0x2a, - "scotland": 0x2b, - "scouse": 0x2c, - "solba": 0x3e, - "sotav": 0x2d, - "surmiran": 0x2e, - "sursilv": 0x2f, - "sutsilv": 0x30, - "tarask": 0x31, - "uccor": 0x32, - "ucrcor": 0x33, - "ulster": 0x34, - "unifon": 0x35, - "vaidika": 0x36, - "valencia": 0x37, - "vallader": 0x38, - "wadegile": 0x39, -} - -// variantNumSpecialized is the number of specialized variants in variants. -const variantNumSpecialized = 65 - -// nRegionGroups is the number of region groups. -const nRegionGroups = 32 - -type likelyLangRegion struct { - lang uint16 - region uint16 -} - -// likelyScript is a lookup table, indexed by scriptID, for the most likely -// languages and regions given a script. -// Size: 900 bytes, 225 elements -var likelyScript = [225]likelyLangRegion{ - 3: {lang: 0x156, region: 0x104}, - 4: {lang: 0xc, region: 0x97}, - 5: {lang: 0x15, region: 0x6a}, - 7: {lang: 0x16, region: 0x9a}, - 8: {lang: 0xf1, region: 0x27}, - 9: {lang: 0x8, region: 0x9a}, - 10: {lang: 0x27, region: 0x93}, - 11: {lang: 0x2b, region: 0x51}, - 12: {lang: 0x55, region: 0xb2}, - 13: {lang: 0x2c, region: 0x93}, - 14: {lang: 0x4b, region: 0x34}, - 16: {lang: 0x2bc, region: 0x12c}, - 17: {lang: 0x1e0, region: 0x97}, - 18: {lang: 0xae, region: 0x76}, - 19: {lang: 0x5b, region: 0x93}, - 20: {lang: 0x47, region: 0xe5}, - 21: {lang: 0x63, region: 0x34}, - 22: {lang: 0x73, region: 0x48}, - 23: {lang: 0x2a1, region: 0x129}, - 24: {lang: 0x6e, region: 0x13b}, - 25: {lang: 0x6c, region: 0x132}, - 27: {lang: 0x71, region: 0x6a}, - 28: {lang: 0xcf, region: 0x5c}, - 29: {lang: 0x202, region: 0x104}, - 31: {lang: 0xdf, region: 0x97}, - 33: {lang: 0xae, region: 0x76}, - 36: {lang: 0x97, region: 0x6a}, - 37: {lang: 0x234, region: 0x26}, - 38: {lang: 0x11, region: 0x6e}, - 40: {lang: 0x10e, region: 0x7b}, - 41: {lang: 0x7d, region: 0x37}, - 42: {lang: 0xce, region: 0x12e}, - 43: {lang: 0x208, region: 0x97}, - 44: {lang: 0x99, region: 0x85}, - 45: {lang: 0xd2, region: 0x97}, - 46: {lang: 0x1d2, region: 0x97}, - 47: {lang: 0x133, region: 0xa9}, - 48: {lang: 0x2bc, region: 0x52}, - 49: {lang: 0xe7, region: 0xe5}, - 50: {lang: 0x2bc, region: 0x52}, - 51: {lang: 0x2bc, region: 0x12c}, - 52: {lang: 0x188, region: 0x99}, - 53: {lang: 0xde, region: 0x95}, - 54: {lang: 0x105, region: 0xa0}, - 55: {lang: 0xe2, region: 0x129}, - 56: {lang: 0xe6, region: 0xad}, - 58: {lang: 0xf0, region: 0x90}, - 60: {lang: 0x9f, region: 0x9c}, - 61: {lang: 0x10c, region: 0x93}, - 62: {lang: 0x105, region: 0xa0}, - 64: {lang: 0x98, region: 0xc2}, - 65: {lang: 0x105, region: 0xa0}, - 66: {lang: 0x1e6, region: 0xe6}, - 67: {lang: 0x130, region: 0xa4}, - 68: {lang: 0x215, region: 0x97}, - 71: {lang: 0x132, region: 0x97}, - 72: {lang: 0x133, region: 0xa9}, - 74: {lang: 0x3c, region: 0x97}, - 75: {lang: 0x1be, region: 0x121}, - 76: {lang: 0x162, region: 0xad}, - 80: {lang: 0x155, region: 0x97}, - 81: {lang: 0x159, region: 0x97}, - 82: {lang: 0x14c, region: 0x85}, - 83: {lang: 0xcf, region: 0x85}, - 84: {lang: 0x15b, region: 0x52}, - 86: {lang: 0x2a3, region: 0x129}, - 87: {lang: 0x2a4, region: 0x129}, - 88: {lang: 0xdf, region: 0x97}, - 89: {lang: 0x1a5, region: 0x9a}, - 90: {lang: 0x2a6, region: 0x52}, - 93: {lang: 0x17c, region: 0x110}, - 94: {lang: 0x2a7, region: 0x109}, - 95: {lang: 0x2a7, region: 0x109}, - 96: {lang: 0x18a, region: 0x97}, - 97: {lang: 0x193, region: 0x97}, - 98: {lang: 0x18c, region: 0x52}, - 100: {lang: 0x196, region: 0x34}, - 101: {lang: 0x18d, region: 0x97}, - 102: {lang: 0x226, region: 0xe6}, - 103: {lang: 0x1a2, region: 0xc2}, - 104: {lang: 0x2a8, region: 0x106}, - 105: {lang: 0x16, region: 0x9f}, - 107: {lang: 0x176, region: 0x82}, - 109: {lang: 0x21e, region: 0x94}, - 110: {lang: 0x20d, region: 0x97}, - 111: {lang: 0x1d1, region: 0xc3}, - 112: {lang: 0x1cf, region: 0x97}, - 114: {lang: 0x232, region: 0x113}, - 115: {lang: 0x16, region: 0x11a}, - 116: {lang: 0x7c, region: 0xc2}, - 117: {lang: 0x144, region: 0x104}, - 118: {lang: 0x16f, region: 0x52}, - 119: {lang: 0x1d4, region: 0x9a}, - 120: {lang: 0x1d4, region: 0x52}, - 122: {lang: 0x1de, region: 0xae}, - 123: {lang: 0xe3, region: 0x52}, - 124: {lang: 0x2ab, region: 0x9a}, - 175: {lang: 0x1f1, region: 0x93}, - 177: {lang: 0x1c0, region: 0x10a}, - 178: {lang: 0x22e, region: 0x95}, - 180: {lang: 0x2ac, region: 0x15b}, - 181: {lang: 0x20e, region: 0x97}, - 182: {lang: 0x1e, region: 0x132}, - 183: {lang: 0x9a, region: 0x79}, - 184: {lang: 0x208, region: 0x97}, - 185: {lang: 0x208, region: 0x97}, - 186: {lang: 0x215, region: 0x97}, - 187: {lang: 0x223, region: 0xb1}, - 188: {lang: 0x236, region: 0x97}, - 189: {lang: 0x23e, region: 0x93}, - 190: {lang: 0x248, region: 0x34}, - 191: {lang: 0x249, region: 0x99}, - 195: {lang: 0x24d, region: 0xe5}, - 196: {lang: 0x8a, region: 0x97}, - 197: {lang: 0x24f, region: 0x52}, - 198: {lang: 0x123, region: 0x52}, - 199: {lang: 0x24b, region: 0x97}, - 201: {lang: 0x48, region: 0x13b}, - 202: {lang: 0x252, region: 0x97}, - 204: {lang: 0x2bb, region: 0xb8}, - 205: {lang: 0xa9, region: 0xe5}, - 206: {lang: 0x8f, region: 0xcb}, - 207: {lang: 0x257, region: 0x121}, - 208: {lang: 0x4c, region: 0x52}, - 209: {lang: 0x174, region: 0x97}, - 210: {lang: 0x27e, region: 0x11a}, - 211: {lang: 0x287, region: 0xb2}, - 213: {lang: 0xea, region: 0x97}, - 215: {lang: 0x1dc, region: 0x9a}, - 216: {lang: 0xe, region: 0x99}, - 217: {lang: 0xf9, region: 0x52}, -} - -type likelyScriptRegion struct { - region uint16 - script uint8 - flags uint8 -} - -// likelyLang is a lookup table, indexed by langID, for the most likely -// scripts and regions given incomplete information. If more entries exist for a -// given language, region and script are the index and size respectively -// of the list in likelyLangList. -// Size: 2820 bytes, 705 elements -var likelyLang = [705]likelyScriptRegion{ - 0: {region: 0x132, script: 0x4f, flags: 0x0}, - 1: {region: 0x6e, script: 0x4f, flags: 0x0}, - 2: {region: 0x7b, script: 0x1d, flags: 0x0}, - 3: {region: 0x7e, script: 0x4f, flags: 0x0}, - 4: {region: 0x93, script: 0x4f, flags: 0x0}, - 5: {region: 0x12f, script: 0x4f, flags: 0x0}, - 6: {region: 0x7e, script: 0x4f, flags: 0x0}, - 7: {region: 0x104, script: 0x1d, flags: 0x0}, - 8: {region: 0x9a, script: 0x9, flags: 0x0}, - 9: {region: 0x126, script: 0x5, flags: 0x0}, - 10: {region: 0x15e, script: 0x4f, flags: 0x0}, - 11: {region: 0x51, script: 0x4f, flags: 0x0}, - 12: {region: 0x97, script: 0x4, flags: 0x0}, - 13: {region: 0x7e, script: 0x4f, flags: 0x0}, - 14: {region: 0x99, script: 0xd8, flags: 0x0}, - 15: {region: 0x14a, script: 0x4f, flags: 0x0}, - 16: {region: 0x104, script: 0x1d, flags: 0x0}, - 17: {region: 0x6e, script: 0x26, flags: 0x0}, - 18: {region: 0xd4, script: 0x4f, flags: 0x0}, - 20: {region: 0x93, script: 0x4f, flags: 0x0}, - 21: {region: 0x6a, script: 0x5, flags: 0x0}, - 22: {region: 0x0, script: 0x3, flags: 0x1}, - 23: {region: 0x50, script: 0x4f, flags: 0x0}, - 24: {region: 0x3e, script: 0x4f, flags: 0x0}, - 25: {region: 0x66, script: 0x5, flags: 0x0}, - 26: {region: 0xb8, script: 0x5, flags: 0x0}, - 27: {region: 0x6a, script: 0x5, flags: 0x0}, - 28: {region: 0x97, script: 0xe, flags: 0x0}, - 29: {region: 0x12d, script: 0x4f, flags: 0x0}, - 30: {region: 0x132, script: 0xb6, flags: 0x0}, - 31: {region: 0x6d, script: 0x4f, flags: 0x0}, - 32: {region: 0x48, script: 0x4f, flags: 0x0}, - 33: {region: 0x104, script: 0x1d, flags: 0x0}, - 34: {region: 0x97, script: 0x1f, flags: 0x0}, - 35: {region: 0x3e, script: 0x4f, flags: 0x0}, - 36: {region: 0x3, script: 0x5, flags: 0x1}, - 37: {region: 0x104, script: 0x1d, flags: 0x0}, - 38: {region: 0xe6, script: 0x5, flags: 0x0}, - 39: {region: 0x93, script: 0x4f, flags: 0x0}, - 40: {region: 0xd9, script: 0x1f, flags: 0x0}, - 41: {region: 0x2d, script: 0x4f, flags: 0x0}, - 42: {region: 0x51, script: 0x4f, flags: 0x0}, - 43: {region: 0x51, script: 0xb, flags: 0x0}, - 44: {region: 0x93, script: 0x4f, flags: 0x0}, - 45: {region: 0x51, script: 0x4f, flags: 0x0}, - 46: {region: 0x4e, script: 0x4f, flags: 0x0}, - 47: {region: 0x46, script: 0x1d, flags: 0x0}, - 48: {region: 0x109, script: 0x5, flags: 0x0}, - 49: {region: 0x15f, script: 0x4f, flags: 0x0}, - 50: {region: 0x93, script: 0x4f, flags: 0x0}, - 51: {region: 0x12d, script: 0x4f, flags: 0x0}, - 52: {region: 0x51, script: 0x4f, flags: 0x0}, - 53: {region: 0x97, script: 0xc7, flags: 0x0}, - 54: {region: 0xe6, script: 0x5, flags: 0x0}, - 55: {region: 0x97, script: 0x1f, flags: 0x0}, - 56: {region: 0x37, script: 0x1d, flags: 0x0}, - 57: {region: 0x97, script: 0x1f, flags: 0x0}, - 58: {region: 0xe6, script: 0x5, flags: 0x0}, - 59: {region: 0x129, script: 0x2c, flags: 0x0}, - 60: {region: 0x97, script: 0x4a, flags: 0x0}, - 61: {region: 0x97, script: 0x1f, flags: 0x0}, - 62: {region: 0x97, script: 0x1f, flags: 0x0}, - 63: {region: 0xe5, script: 0x4f, flags: 0x0}, - 64: {region: 0x97, script: 0x1f, flags: 0x0}, - 65: {region: 0x13c, script: 0x4f, flags: 0x0}, - 66: {region: 0xe5, script: 0x4f, flags: 0x0}, - 67: {region: 0xd4, script: 0x4f, flags: 0x0}, - 68: {region: 0x97, script: 0x1f, flags: 0x0}, - 69: {region: 0x93, script: 0x4f, flags: 0x0}, - 70: {region: 0x51, script: 0x4f, flags: 0x0}, - 71: {region: 0xe5, script: 0x4f, flags: 0x0}, - 72: {region: 0x13b, script: 0xc9, flags: 0x0}, - 73: {region: 0xc1, script: 0x4f, flags: 0x0}, - 74: {region: 0xc1, script: 0x4f, flags: 0x0}, - 75: {region: 0x34, script: 0xe, flags: 0x0}, - 76: {region: 0x52, script: 0xd0, flags: 0x0}, - 77: {region: 0x97, script: 0xe, flags: 0x0}, - 78: {region: 0x9a, script: 0x5, flags: 0x0}, - 79: {region: 0x4e, script: 0x4f, flags: 0x0}, - 80: {region: 0x76, script: 0x4f, flags: 0x0}, - 81: {region: 0x97, script: 0x1f, flags: 0x0}, - 82: {region: 0xe6, script: 0x5, flags: 0x0}, - 83: {region: 0x97, script: 0x1f, flags: 0x0}, - 84: {region: 0x32, script: 0x4f, flags: 0x0}, - 85: {region: 0xb2, script: 0xc, flags: 0x0}, - 86: {region: 0x51, script: 0x4f, flags: 0x0}, - 87: {region: 0xe5, script: 0x4f, flags: 0x0}, - 88: {region: 0xe6, script: 0x1f, flags: 0x0}, - 89: {region: 0x104, script: 0x1d, flags: 0x0}, - 90: {region: 0x15c, script: 0x4f, flags: 0x0}, - 91: {region: 0x93, script: 0x4f, flags: 0x0}, - 92: {region: 0x51, script: 0x4f, flags: 0x0}, - 93: {region: 0x84, script: 0x4f, flags: 0x0}, - 94: {region: 0x6c, script: 0x26, flags: 0x0}, - 95: {region: 0x51, script: 0x4f, flags: 0x0}, - 96: {region: 0xc1, script: 0x4f, flags: 0x0}, - 97: {region: 0x6d, script: 0x4f, flags: 0x0}, - 98: {region: 0xd4, script: 0x4f, flags: 0x0}, - 99: {region: 0x8, script: 0x2, flags: 0x1}, - 100: {region: 0x104, script: 0x1d, flags: 0x0}, - 101: {region: 0xe5, script: 0x4f, flags: 0x0}, - 102: {region: 0x12f, script: 0x4f, flags: 0x0}, - 103: {region: 0x88, script: 0x4f, flags: 0x0}, - 104: {region: 0x73, script: 0x4f, flags: 0x0}, - 105: {region: 0x104, script: 0x1d, flags: 0x0}, - 106: {region: 0x132, script: 0x4f, flags: 0x0}, - 107: {region: 0x48, script: 0x4f, flags: 0x0}, - 108: {region: 0x132, script: 0x19, flags: 0x0}, - 109: {region: 0xa4, script: 0x5, flags: 0x0}, - 110: {region: 0x13b, script: 0x18, flags: 0x0}, - 111: {region: 0x99, script: 0x5, flags: 0x0}, - 112: {region: 0x76, script: 0x4f, flags: 0x0}, - 113: {region: 0x6a, script: 0x1b, flags: 0x0}, - 114: {region: 0xe5, script: 0x4f, flags: 0x0}, - 115: {region: 0x48, script: 0x16, flags: 0x0}, - 116: {region: 0x48, script: 0x16, flags: 0x0}, - 117: {region: 0x48, script: 0x16, flags: 0x0}, - 118: {region: 0x48, script: 0x16, flags: 0x0}, - 119: {region: 0x48, script: 0x16, flags: 0x0}, - 120: {region: 0x108, script: 0x4f, flags: 0x0}, - 121: {region: 0x5d, script: 0x4f, flags: 0x0}, - 122: {region: 0xe7, script: 0x4f, flags: 0x0}, - 123: {region: 0x48, script: 0x16, flags: 0x0}, - 124: {region: 0xc2, script: 0x74, flags: 0x0}, - 125: {region: 0xa, script: 0x2, flags: 0x1}, - 126: {region: 0x104, script: 0x1d, flags: 0x0}, - 127: {region: 0x79, script: 0x4f, flags: 0x0}, - 128: {region: 0x62, script: 0x4f, flags: 0x0}, - 129: {region: 0x132, script: 0x4f, flags: 0x0}, - 130: {region: 0x104, script: 0x1d, flags: 0x0}, - 131: {region: 0xa2, script: 0x4f, flags: 0x0}, - 132: {region: 0x97, script: 0x5, flags: 0x0}, - 133: {region: 0x5f, script: 0x4f, flags: 0x0}, - 134: {region: 0x48, script: 0x4f, flags: 0x0}, - 135: {region: 0x48, script: 0x4f, flags: 0x0}, - 136: {region: 0xd2, script: 0x4f, flags: 0x0}, - 137: {region: 0x4e, script: 0x4f, flags: 0x0}, - 138: {region: 0x97, script: 0x5, flags: 0x0}, - 139: {region: 0x5f, script: 0x4f, flags: 0x0}, - 140: {region: 0xc1, script: 0x4f, flags: 0x0}, - 141: {region: 0xce, script: 0x4f, flags: 0x0}, - 142: {region: 0x51, script: 0x4f, flags: 0x0}, - 143: {region: 0xcb, script: 0xce, flags: 0x0}, - 144: {region: 0x112, script: 0x4f, flags: 0x0}, - 145: {region: 0x36, script: 0x4f, flags: 0x0}, - 146: {region: 0x42, script: 0xd0, flags: 0x0}, - 147: {region: 0xa2, script: 0x4f, flags: 0x0}, - 148: {region: 0x7e, script: 0x4f, flags: 0x0}, - 149: {region: 0xd4, script: 0x4f, flags: 0x0}, - 150: {region: 0x9c, script: 0x4f, flags: 0x0}, - 151: {region: 0x6a, script: 0x24, flags: 0x0}, - 152: {region: 0xc2, script: 0x40, flags: 0x0}, - 153: {region: 0x85, script: 0x2c, flags: 0x0}, - 154: {region: 0xc, script: 0x2, flags: 0x1}, - 155: {region: 0x1, script: 0x4f, flags: 0x0}, - 156: {region: 0x6d, script: 0x4f, flags: 0x0}, - 157: {region: 0x132, script: 0x4f, flags: 0x0}, - 158: {region: 0x69, script: 0x4f, flags: 0x0}, - 159: {region: 0x9c, script: 0x3c, flags: 0x0}, - 160: {region: 0x6d, script: 0x4f, flags: 0x0}, - 161: {region: 0x51, script: 0x4f, flags: 0x0}, - 162: {region: 0x6d, script: 0x4f, flags: 0x0}, - 163: {region: 0x9a, script: 0x5, flags: 0x0}, - 164: {region: 0x84, script: 0x4f, flags: 0x0}, - 165: {region: 0x112, script: 0x4f, flags: 0x0}, - 166: {region: 0xc1, script: 0x4f, flags: 0x0}, - 167: {region: 0x70, script: 0x4f, flags: 0x0}, - 168: {region: 0x109, script: 0x5, flags: 0x0}, - 169: {region: 0xe5, script: 0x4f, flags: 0x0}, - 170: {region: 0x10a, script: 0x4f, flags: 0x0}, - 171: {region: 0x71, script: 0x4f, flags: 0x0}, - 172: {region: 0x74, script: 0x4f, flags: 0x0}, - 173: {region: 0x3a, script: 0x4f, flags: 0x0}, - 174: {region: 0x76, script: 0x4f, flags: 0x0}, - 175: {region: 0x132, script: 0x4f, flags: 0x0}, - 176: {region: 0x76, script: 0x4f, flags: 0x0}, - 177: {region: 0x5f, script: 0x4f, flags: 0x0}, - 178: {region: 0x5f, script: 0x4f, flags: 0x0}, - 179: {region: 0x13d, script: 0x4f, flags: 0x0}, - 180: {region: 0xd2, script: 0x4f, flags: 0x0}, - 181: {region: 0x9c, script: 0x4f, flags: 0x0}, - 182: {region: 0xd4, script: 0x4f, flags: 0x0}, - 183: {region: 0x109, script: 0x4f, flags: 0x0}, - 184: {region: 0xd7, script: 0x4f, flags: 0x0}, - 185: {region: 0x94, script: 0x4f, flags: 0x0}, - 186: {region: 0x7e, script: 0x4f, flags: 0x0}, - 187: {region: 0xba, script: 0x4f, flags: 0x0}, - 188: {region: 0x52, script: 0x32, flags: 0x0}, - 189: {region: 0x93, script: 0x4f, flags: 0x0}, - 190: {region: 0x97, script: 0x1f, flags: 0x0}, - 191: {region: 0x9a, script: 0x5, flags: 0x0}, - 192: {region: 0x7c, script: 0x4f, flags: 0x0}, - 193: {region: 0x79, script: 0x4f, flags: 0x0}, - 194: {region: 0x6e, script: 0x26, flags: 0x0}, - 195: {region: 0xd9, script: 0x1f, flags: 0x0}, - 196: {region: 0xa5, script: 0x4f, flags: 0x0}, - 197: {region: 0xe6, script: 0x5, flags: 0x0}, - 198: {region: 0xe6, script: 0x5, flags: 0x0}, - 199: {region: 0x6d, script: 0x4f, flags: 0x0}, - 200: {region: 0x9a, script: 0x5, flags: 0x0}, - 201: {region: 0xef, script: 0x4f, flags: 0x0}, - 202: {region: 0x97, script: 0x1f, flags: 0x0}, - 203: {region: 0x97, script: 0xca, flags: 0x0}, - 204: {region: 0x93, script: 0x4f, flags: 0x0}, - 205: {region: 0xd7, script: 0x4f, flags: 0x0}, - 206: {region: 0x12e, script: 0x2a, flags: 0x0}, - 207: {region: 0xe, script: 0x2, flags: 0x1}, - 208: {region: 0x97, script: 0xe, flags: 0x0}, - 209: {region: 0x4d, script: 0x4f, flags: 0x0}, - 210: {region: 0x97, script: 0x2d, flags: 0x0}, - 211: {region: 0x40, script: 0x4f, flags: 0x0}, - 212: {region: 0x53, script: 0x4f, flags: 0x0}, - 213: {region: 0x7e, script: 0x4f, flags: 0x0}, - 214: {region: 0xa2, script: 0x4f, flags: 0x0}, - 215: {region: 0x96, script: 0x4f, flags: 0x0}, - 216: {region: 0xd9, script: 0x1f, flags: 0x0}, - 217: {region: 0x48, script: 0x4f, flags: 0x0}, - 218: {region: 0x10, script: 0x3, flags: 0x1}, - 219: {region: 0x52, script: 0x32, flags: 0x0}, - 220: {region: 0x132, script: 0x4f, flags: 0x0}, - 221: {region: 0x23, script: 0x5, flags: 0x0}, - 222: {region: 0x95, script: 0x35, flags: 0x0}, - 223: {region: 0x97, script: 0x1f, flags: 0x0}, - 224: {region: 0x71, script: 0x4f, flags: 0x0}, - 225: {region: 0xe5, script: 0x4f, flags: 0x0}, - 226: {region: 0x129, script: 0x37, flags: 0x0}, - 227: {region: 0x52, script: 0x7b, flags: 0x0}, - 228: {region: 0xe6, script: 0x5, flags: 0x0}, - 229: {region: 0x97, script: 0x1f, flags: 0x0}, - 230: {region: 0xad, script: 0x38, flags: 0x0}, - 231: {region: 0xe5, script: 0x4f, flags: 0x0}, - 232: {region: 0xe6, script: 0x5, flags: 0x0}, - 233: {region: 0xe4, script: 0x4f, flags: 0x0}, - 234: {region: 0x97, script: 0x1f, flags: 0x0}, - 235: {region: 0x97, script: 0x1f, flags: 0x0}, - 236: {region: 0x8e, script: 0x4f, flags: 0x0}, - 237: {region: 0x5f, script: 0x4f, flags: 0x0}, - 238: {region: 0x52, script: 0x32, flags: 0x0}, - 239: {region: 0x8f, script: 0x4f, flags: 0x0}, - 240: {region: 0x90, script: 0x4f, flags: 0x0}, - 241: {region: 0x27, script: 0x8, flags: 0x0}, - 242: {region: 0xd0, script: 0x4f, flags: 0x0}, - 243: {region: 0x76, script: 0x4f, flags: 0x0}, - 244: {region: 0xce, script: 0x4f, flags: 0x0}, - 245: {region: 0xd4, script: 0x4f, flags: 0x0}, - 246: {region: 0x93, script: 0x4f, flags: 0x0}, - 248: {region: 0xd4, script: 0x4f, flags: 0x0}, - 249: {region: 0x52, script: 0xd9, flags: 0x0}, - 250: {region: 0x132, script: 0x4f, flags: 0x0}, - 251: {region: 0x48, script: 0x4f, flags: 0x0}, - 252: {region: 0xe5, script: 0x4f, flags: 0x0}, - 253: {region: 0x93, script: 0x4f, flags: 0x0}, - 254: {region: 0x104, script: 0x1d, flags: 0x0}, - 256: {region: 0x9b, script: 0x4f, flags: 0x0}, - 257: {region: 0x9c, script: 0x4f, flags: 0x0}, - 258: {region: 0x48, script: 0x16, flags: 0x0}, - 259: {region: 0x95, script: 0x35, flags: 0x0}, - 260: {region: 0x104, script: 0x4f, flags: 0x0}, - 261: {region: 0xa0, script: 0x3e, flags: 0x0}, - 262: {region: 0x9e, script: 0x4f, flags: 0x0}, - 263: {region: 0x51, script: 0x4f, flags: 0x0}, - 264: {region: 0x12e, script: 0x35, flags: 0x0}, - 265: {region: 0x12d, script: 0x4f, flags: 0x0}, - 266: {region: 0xd9, script: 0x1f, flags: 0x0}, - 267: {region: 0x62, script: 0x4f, flags: 0x0}, - 268: {region: 0x93, script: 0x4f, flags: 0x0}, - 269: {region: 0x93, script: 0x4f, flags: 0x0}, - 270: {region: 0x7b, script: 0x28, flags: 0x0}, - 271: {region: 0x134, script: 0x1d, flags: 0x0}, - 272: {region: 0x66, script: 0x4f, flags: 0x0}, - 273: {region: 0xc2, script: 0x4f, flags: 0x0}, - 274: {region: 0xd4, script: 0x4f, flags: 0x0}, - 275: {region: 0xa2, script: 0x4f, flags: 0x0}, - 276: {region: 0xc1, script: 0x4f, flags: 0x0}, - 277: {region: 0x104, script: 0x1d, flags: 0x0}, - 278: {region: 0xd4, script: 0x4f, flags: 0x0}, - 279: {region: 0x161, script: 0x4f, flags: 0x0}, - 280: {region: 0x12d, script: 0x4f, flags: 0x0}, - 281: {region: 0x121, script: 0xcf, flags: 0x0}, - 282: {region: 0x59, script: 0x4f, flags: 0x0}, - 283: {region: 0x51, script: 0x4f, flags: 0x0}, - 284: {region: 0x4e, script: 0x4f, flags: 0x0}, - 285: {region: 0x97, script: 0x1f, flags: 0x0}, - 286: {region: 0x97, script: 0x1f, flags: 0x0}, - 287: {region: 0x4a, script: 0x4f, flags: 0x0}, - 288: {region: 0x93, script: 0x4f, flags: 0x0}, - 289: {region: 0x40, script: 0x4f, flags: 0x0}, - 290: {region: 0x97, script: 0x4f, flags: 0x0}, - 291: {region: 0x52, script: 0xc6, flags: 0x0}, - 292: {region: 0x97, script: 0x1f, flags: 0x0}, - 293: {region: 0xc1, script: 0x4f, flags: 0x0}, - 294: {region: 0x97, script: 0x67, flags: 0x0}, - 295: {region: 0xe6, script: 0x5, flags: 0x0}, - 296: {region: 0xa2, script: 0x4f, flags: 0x0}, - 297: {region: 0x129, script: 0x4f, flags: 0x0}, - 298: {region: 0xd0, script: 0x4f, flags: 0x0}, - 299: {region: 0xad, script: 0x4c, flags: 0x0}, - 300: {region: 0x13, script: 0x6, flags: 0x1}, - 301: {region: 0x51, script: 0x4f, flags: 0x0}, - 302: {region: 0x80, script: 0x4f, flags: 0x0}, - 303: {region: 0xa2, script: 0x4f, flags: 0x0}, - 304: {region: 0xa4, script: 0x43, flags: 0x0}, - 305: {region: 0x29, script: 0x4f, flags: 0x0}, - 306: {region: 0x97, script: 0x47, flags: 0x0}, - 307: {region: 0xa9, script: 0x48, flags: 0x0}, - 308: {region: 0x104, script: 0x1d, flags: 0x0}, - 309: {region: 0x97, script: 0x1f, flags: 0x0}, - 310: {region: 0x73, script: 0x4f, flags: 0x0}, - 311: {region: 0xb2, script: 0x4f, flags: 0x0}, - 313: {region: 0x104, script: 0x1d, flags: 0x0}, - 314: {region: 0x110, script: 0x4f, flags: 0x0}, - 315: {region: 0xe5, script: 0x4f, flags: 0x0}, - 316: {region: 0x104, script: 0x4f, flags: 0x0}, - 317: {region: 0x97, script: 0x1f, flags: 0x0}, - 318: {region: 0x97, script: 0x5, flags: 0x0}, - 319: {region: 0x12d, script: 0x4f, flags: 0x0}, - 320: {region: 0x51, script: 0x4f, flags: 0x0}, - 321: {region: 0x5f, script: 0x4f, flags: 0x0}, - 322: {region: 0x19, script: 0x3, flags: 0x1}, - 323: {region: 0x104, script: 0x1d, flags: 0x0}, - 324: {region: 0x104, script: 0x1d, flags: 0x0}, - 325: {region: 0x93, script: 0x4f, flags: 0x0}, - 326: {region: 0xe6, script: 0x5, flags: 0x0}, - 327: {region: 0x79, script: 0x4f, flags: 0x0}, - 328: {region: 0x121, script: 0xcf, flags: 0x0}, - 329: {region: 0xe6, script: 0x5, flags: 0x0}, - 330: {region: 0x1c, script: 0x5, flags: 0x1}, - 331: {region: 0x135, script: 0x4f, flags: 0x0}, - 332: {region: 0x85, script: 0x52, flags: 0x0}, - 333: {region: 0x95, script: 0x35, flags: 0x0}, - 334: {region: 0x12d, script: 0x4f, flags: 0x0}, - 335: {region: 0xe6, script: 0x5, flags: 0x0}, - 336: {region: 0x12f, script: 0x4f, flags: 0x0}, - 337: {region: 0xb5, script: 0x4f, flags: 0x0}, - 338: {region: 0x104, script: 0x1d, flags: 0x0}, - 339: {region: 0x93, script: 0x4f, flags: 0x0}, - 340: {region: 0x52, script: 0xcf, flags: 0x0}, - 341: {region: 0x97, script: 0x50, flags: 0x0}, - 342: {region: 0x104, script: 0x1d, flags: 0x0}, - 343: {region: 0x12f, script: 0x4f, flags: 0x0}, - 344: {region: 0xd7, script: 0x4f, flags: 0x0}, - 345: {region: 0x21, script: 0x2, flags: 0x1}, - 346: {region: 0x9c, script: 0x4f, flags: 0x0}, - 347: {region: 0x52, script: 0x54, flags: 0x0}, - 348: {region: 0x93, script: 0x4f, flags: 0x0}, - 349: {region: 0x9a, script: 0x5, flags: 0x0}, - 350: {region: 0x132, script: 0x4f, flags: 0x0}, - 351: {region: 0x97, script: 0xca, flags: 0x0}, - 352: {region: 0x9c, script: 0x4f, flags: 0x0}, - 353: {region: 0x4a, script: 0x4f, flags: 0x0}, - 354: {region: 0xad, script: 0x4c, flags: 0x0}, - 355: {region: 0x4a, script: 0x4f, flags: 0x0}, - 356: {region: 0x15f, script: 0x4f, flags: 0x0}, - 357: {region: 0x9a, script: 0x5, flags: 0x0}, - 358: {region: 0xb4, script: 0x4f, flags: 0x0}, - 359: {region: 0xb6, script: 0x4f, flags: 0x0}, - 360: {region: 0x4a, script: 0x4f, flags: 0x0}, - 361: {region: 0x4a, script: 0x4f, flags: 0x0}, - 362: {region: 0xa2, script: 0x4f, flags: 0x0}, - 363: {region: 0xa2, script: 0x4f, flags: 0x0}, - 364: {region: 0x9a, script: 0x5, flags: 0x0}, - 365: {region: 0xb6, script: 0x4f, flags: 0x0}, - 366: {region: 0x121, script: 0xcf, flags: 0x0}, - 367: {region: 0x52, script: 0x32, flags: 0x0}, - 368: {region: 0x129, script: 0x4f, flags: 0x0}, - 369: {region: 0x93, script: 0x4f, flags: 0x0}, - 370: {region: 0x51, script: 0x4f, flags: 0x0}, - 371: {region: 0x97, script: 0x1f, flags: 0x0}, - 372: {region: 0x97, script: 0x1f, flags: 0x0}, - 373: {region: 0x93, script: 0x4f, flags: 0x0}, - 374: {region: 0x23, script: 0x3, flags: 0x1}, - 375: {region: 0xa2, script: 0x4f, flags: 0x0}, - 376: {region: 0xcd, script: 0x4f, flags: 0x0}, - 377: {region: 0x104, script: 0x1d, flags: 0x0}, - 378: {region: 0xe5, script: 0x4f, flags: 0x0}, - 379: {region: 0x93, script: 0x4f, flags: 0x0}, - 380: {region: 0x110, script: 0x4f, flags: 0x0}, - 381: {region: 0xa2, script: 0x4f, flags: 0x0}, - 382: {region: 0x121, script: 0x5, flags: 0x0}, - 383: {region: 0xca, script: 0x4f, flags: 0x0}, - 384: {region: 0xbd, script: 0x4f, flags: 0x0}, - 385: {region: 0xcf, script: 0x4f, flags: 0x0}, - 386: {region: 0x51, script: 0x4f, flags: 0x0}, - 387: {region: 0xd9, script: 0x1f, flags: 0x0}, - 388: {region: 0x12d, script: 0x4f, flags: 0x0}, - 389: {region: 0xbe, script: 0x4f, flags: 0x0}, - 390: {region: 0xde, script: 0x4f, flags: 0x0}, - 391: {region: 0x93, script: 0x4f, flags: 0x0}, - 392: {region: 0x99, script: 0x34, flags: 0x0}, - 393: {region: 0xc0, script: 0x1d, flags: 0x0}, - 394: {region: 0x97, script: 0x60, flags: 0x0}, - 395: {region: 0x109, script: 0x4f, flags: 0x0}, - 396: {region: 0x26, script: 0x3, flags: 0x1}, - 397: {region: 0x97, script: 0xe, flags: 0x0}, - 398: {region: 0xc2, script: 0x67, flags: 0x0}, - 400: {region: 0x48, script: 0x4f, flags: 0x0}, - 401: {region: 0x48, script: 0x4f, flags: 0x0}, - 402: {region: 0x36, script: 0x4f, flags: 0x0}, - 403: {region: 0x97, script: 0x1f, flags: 0x0}, - 404: {region: 0xd9, script: 0x1f, flags: 0x0}, - 405: {region: 0x104, script: 0x1d, flags: 0x0}, - 406: {region: 0x34, script: 0x64, flags: 0x0}, - 407: {region: 0x29, script: 0x3, flags: 0x1}, - 408: {region: 0xc9, script: 0x4f, flags: 0x0}, - 409: {region: 0x97, script: 0x1f, flags: 0x0}, - 410: {region: 0x51, script: 0x4f, flags: 0x0}, - 412: {region: 0x132, script: 0x4f, flags: 0x0}, - 413: {region: 0xe6, script: 0x5, flags: 0x0}, - 414: {region: 0xc1, script: 0x4f, flags: 0x0}, - 415: {region: 0x97, script: 0x1f, flags: 0x0}, - 416: {region: 0x93, script: 0x4f, flags: 0x0}, - 417: {region: 0x161, script: 0x4f, flags: 0x0}, - 418: {region: 0xc2, script: 0x67, flags: 0x0}, - 419: {region: 0x104, script: 0x1d, flags: 0x0}, - 420: {region: 0x12f, script: 0x4f, flags: 0x0}, - 421: {region: 0x9a, script: 0x59, flags: 0x0}, - 422: {region: 0x9a, script: 0x5, flags: 0x0}, - 423: {region: 0xdb, script: 0x4f, flags: 0x0}, - 424: {region: 0x52, script: 0x32, flags: 0x0}, - 425: {region: 0x9c, script: 0x4f, flags: 0x0}, - 426: {region: 0xd0, script: 0x4f, flags: 0x0}, - 427: {region: 0xd8, script: 0x4f, flags: 0x0}, - 428: {region: 0xcd, script: 0x4f, flags: 0x0}, - 429: {region: 0x161, script: 0x4f, flags: 0x0}, - 430: {region: 0xcf, script: 0x4f, flags: 0x0}, - 431: {region: 0x5f, script: 0x4f, flags: 0x0}, - 432: {region: 0xd9, script: 0x1f, flags: 0x0}, - 433: {region: 0xd9, script: 0x1f, flags: 0x0}, - 434: {region: 0xd0, script: 0x4f, flags: 0x0}, - 435: {region: 0xcf, script: 0x4f, flags: 0x0}, - 436: {region: 0xcd, script: 0x4f, flags: 0x0}, - 437: {region: 0xcd, script: 0x4f, flags: 0x0}, - 438: {region: 0x93, script: 0x4f, flags: 0x0}, - 439: {region: 0xdd, script: 0x4f, flags: 0x0}, - 440: {region: 0x97, script: 0x4f, flags: 0x0}, - 441: {region: 0xd7, script: 0x4f, flags: 0x0}, - 442: {region: 0x51, script: 0x4f, flags: 0x0}, - 443: {region: 0xd8, script: 0x4f, flags: 0x0}, - 444: {region: 0x51, script: 0x4f, flags: 0x0}, - 445: {region: 0xd8, script: 0x4f, flags: 0x0}, - 446: {region: 0x121, script: 0x4b, flags: 0x0}, - 447: {region: 0x97, script: 0x1f, flags: 0x0}, - 448: {region: 0x10a, script: 0xb1, flags: 0x0}, - 449: {region: 0x82, script: 0x6b, flags: 0x0}, - 450: {region: 0x15e, script: 0x4f, flags: 0x0}, - 451: {region: 0x48, script: 0x16, flags: 0x0}, - 452: {region: 0x15e, script: 0x4f, flags: 0x0}, - 453: {region: 0x115, script: 0x4f, flags: 0x0}, - 454: {region: 0x132, script: 0x4f, flags: 0x0}, - 455: {region: 0x52, script: 0x4f, flags: 0x0}, - 456: {region: 0xcc, script: 0x4f, flags: 0x0}, - 457: {region: 0x12d, script: 0x4f, flags: 0x0}, - 458: {region: 0x12f, script: 0x4f, flags: 0x0}, - 459: {region: 0x7e, script: 0x4f, flags: 0x0}, - 460: {region: 0x76, script: 0x4f, flags: 0x0}, - 462: {region: 0x6e, script: 0x4f, flags: 0x0}, - 463: {region: 0x97, script: 0x70, flags: 0x0}, - 464: {region: 0x7b, script: 0x1d, flags: 0x0}, - 465: {region: 0xc3, script: 0x6f, flags: 0x0}, - 466: {region: 0x2c, script: 0x3, flags: 0x1}, - 467: {region: 0xe5, script: 0x4f, flags: 0x0}, - 468: {region: 0x2f, script: 0x2, flags: 0x1}, - 469: {region: 0xe5, script: 0x4f, flags: 0x0}, - 470: {region: 0x2f, script: 0x4f, flags: 0x0}, - 471: {region: 0xee, script: 0x4f, flags: 0x0}, - 472: {region: 0x76, script: 0x4f, flags: 0x0}, - 473: {region: 0xd4, script: 0x4f, flags: 0x0}, - 474: {region: 0x132, script: 0x4f, flags: 0x0}, - 475: {region: 0x48, script: 0x4f, flags: 0x0}, - 476: {region: 0x9a, script: 0xd7, flags: 0x0}, - 477: {region: 0x5f, script: 0x4f, flags: 0x0}, - 478: {region: 0xae, script: 0x7a, flags: 0x0}, - 480: {region: 0x97, script: 0x11, flags: 0x0}, - 481: {region: 0xa2, script: 0x4f, flags: 0x0}, - 482: {region: 0xe7, script: 0x4f, flags: 0x0}, - 483: {region: 0x9c, script: 0x4f, flags: 0x0}, - 484: {region: 0x85, script: 0x2c, flags: 0x0}, - 485: {region: 0x73, script: 0x4f, flags: 0x0}, - 486: {region: 0xe6, script: 0x42, flags: 0x0}, - 487: {region: 0x9a, script: 0x5, flags: 0x0}, - 488: {region: 0x1, script: 0x4f, flags: 0x0}, - 489: {region: 0x23, script: 0x5, flags: 0x0}, - 490: {region: 0x40, script: 0x4f, flags: 0x0}, - 491: {region: 0x78, script: 0x4f, flags: 0x0}, - 492: {region: 0xe2, script: 0x4f, flags: 0x0}, - 493: {region: 0x87, script: 0x4f, flags: 0x0}, - 494: {region: 0x68, script: 0x4f, flags: 0x0}, - 495: {region: 0x97, script: 0x1f, flags: 0x0}, - 496: {region: 0x100, script: 0x4f, flags: 0x0}, - 497: {region: 0x93, script: 0x4f, flags: 0x0}, - 498: {region: 0x9c, script: 0x4f, flags: 0x0}, - 499: {region: 0x97, script: 0x4f, flags: 0x0}, - 500: {region: 0x31, script: 0x2, flags: 0x1}, - 501: {region: 0xd9, script: 0x1f, flags: 0x0}, - 502: {region: 0x34, script: 0xe, flags: 0x0}, - 503: {region: 0x4d, script: 0x4f, flags: 0x0}, - 504: {region: 0x70, script: 0x4f, flags: 0x0}, - 505: {region: 0x4d, script: 0x4f, flags: 0x0}, - 506: {region: 0x9a, script: 0x5, flags: 0x0}, - 507: {region: 0x10a, script: 0x4f, flags: 0x0}, - 508: {region: 0x39, script: 0x4f, flags: 0x0}, - 509: {region: 0xcf, script: 0x4f, flags: 0x0}, - 510: {region: 0x102, script: 0x4f, flags: 0x0}, - 511: {region: 0x93, script: 0x4f, flags: 0x0}, - 512: {region: 0x12d, script: 0x4f, flags: 0x0}, - 513: {region: 0x71, script: 0x4f, flags: 0x0}, - 514: {region: 0x104, script: 0x1d, flags: 0x0}, - 515: {region: 0x12e, script: 0x1d, flags: 0x0}, - 516: {region: 0x107, script: 0x4f, flags: 0x0}, - 517: {region: 0x105, script: 0x4f, flags: 0x0}, - 518: {region: 0x12d, script: 0x4f, flags: 0x0}, - 519: {region: 0xa0, script: 0x41, flags: 0x0}, - 520: {region: 0x97, script: 0x1f, flags: 0x0}, - 521: {region: 0x7e, script: 0x4f, flags: 0x0}, - 522: {region: 0x104, script: 0x1d, flags: 0x0}, - 523: {region: 0xa2, script: 0x4f, flags: 0x0}, - 524: {region: 0x93, script: 0x4f, flags: 0x0}, - 525: {region: 0x97, script: 0x4f, flags: 0x0}, - 526: {region: 0x97, script: 0xb5, flags: 0x0}, - 527: {region: 0x12d, script: 0x4f, flags: 0x0}, - 528: {region: 0x9c, script: 0x4f, flags: 0x0}, - 529: {region: 0x97, script: 0x1f, flags: 0x0}, - 530: {region: 0x9c, script: 0x4f, flags: 0x0}, - 531: {region: 0x79, script: 0x4f, flags: 0x0}, - 532: {region: 0x48, script: 0x4f, flags: 0x0}, - 533: {region: 0x33, script: 0x4, flags: 0x1}, - 534: {region: 0x9c, script: 0x4f, flags: 0x0}, - 535: {region: 0x9a, script: 0x5, flags: 0x0}, - 536: {region: 0xd8, script: 0x4f, flags: 0x0}, - 537: {region: 0x4e, script: 0x4f, flags: 0x0}, - 538: {region: 0xcf, script: 0x4f, flags: 0x0}, - 539: {region: 0xcd, script: 0x4f, flags: 0x0}, - 540: {region: 0xc1, script: 0x4f, flags: 0x0}, - 541: {region: 0x4b, script: 0x4f, flags: 0x0}, - 542: {region: 0x94, script: 0x6d, flags: 0x0}, - 543: {region: 0xb4, script: 0x4f, flags: 0x0}, - 545: {region: 0xb8, script: 0xcc, flags: 0x0}, - 546: {region: 0xc2, script: 0x67, flags: 0x0}, - 547: {region: 0xb1, script: 0xbb, flags: 0x0}, - 548: {region: 0x6e, script: 0x4f, flags: 0x0}, - 549: {region: 0x10f, script: 0x4f, flags: 0x0}, - 550: {region: 0xe6, script: 0x5, flags: 0x0}, - 551: {region: 0x10d, script: 0x4f, flags: 0x0}, - 552: {region: 0xe7, script: 0x4f, flags: 0x0}, - 553: {region: 0x93, script: 0x4f, flags: 0x0}, - 554: {region: 0x13f, script: 0x4f, flags: 0x0}, - 555: {region: 0x10a, script: 0x4f, flags: 0x0}, - 556: {region: 0x10a, script: 0x4f, flags: 0x0}, - 557: {region: 0x70, script: 0x4f, flags: 0x0}, - 558: {region: 0x95, script: 0xb2, flags: 0x0}, - 559: {region: 0x70, script: 0x4f, flags: 0x0}, - 560: {region: 0x161, script: 0x4f, flags: 0x0}, - 561: {region: 0xc1, script: 0x4f, flags: 0x0}, - 562: {region: 0x113, script: 0x4f, flags: 0x0}, - 563: {region: 0x121, script: 0xcf, flags: 0x0}, - 564: {region: 0x26, script: 0x4f, flags: 0x0}, - 565: {region: 0x37, script: 0x5, flags: 0x1}, - 566: {region: 0x97, script: 0xbc, flags: 0x0}, - 567: {region: 0x114, script: 0x4f, flags: 0x0}, - 568: {region: 0x112, script: 0x4f, flags: 0x0}, - 569: {region: 0x97, script: 0x1f, flags: 0x0}, - 570: {region: 0x15e, script: 0x4f, flags: 0x0}, - 571: {region: 0x6c, script: 0x4f, flags: 0x0}, - 572: {region: 0x15e, script: 0x4f, flags: 0x0}, - 573: {region: 0x5f, script: 0x4f, flags: 0x0}, - 574: {region: 0x93, script: 0x4f, flags: 0x0}, - 575: {region: 0x12d, script: 0x4f, flags: 0x0}, - 576: {region: 0x82, script: 0x4f, flags: 0x0}, - 577: {region: 0x10a, script: 0x4f, flags: 0x0}, - 578: {region: 0x12d, script: 0x4f, flags: 0x0}, - 579: {region: 0x15c, script: 0x5, flags: 0x0}, - 580: {region: 0x4a, script: 0x4f, flags: 0x0}, - 581: {region: 0x5f, script: 0x4f, flags: 0x0}, - 582: {region: 0x97, script: 0x1f, flags: 0x0}, - 583: {region: 0x93, script: 0x4f, flags: 0x0}, - 584: {region: 0x34, script: 0xe, flags: 0x0}, - 585: {region: 0x99, script: 0xbf, flags: 0x0}, - 586: {region: 0xe7, script: 0x4f, flags: 0x0}, - 587: {region: 0x97, script: 0xc7, flags: 0x0}, - 588: {region: 0xd9, script: 0x1f, flags: 0x0}, - 589: {region: 0xe5, script: 0x4f, flags: 0x0}, - 590: {region: 0x97, script: 0x47, flags: 0x0}, - 591: {region: 0x52, script: 0xc5, flags: 0x0}, - 592: {region: 0xd9, script: 0x1f, flags: 0x0}, - 593: {region: 0xd9, script: 0x1f, flags: 0x0}, - 594: {region: 0x97, script: 0xca, flags: 0x0}, - 595: {region: 0x110, script: 0x4f, flags: 0x0}, - 596: {region: 0x12f, script: 0x4f, flags: 0x0}, - 597: {region: 0x124, script: 0x4f, flags: 0x0}, - 598: {region: 0x3c, script: 0x3, flags: 0x1}, - 599: {region: 0x121, script: 0xcf, flags: 0x0}, - 600: {region: 0xd9, script: 0x1f, flags: 0x0}, - 601: {region: 0xd9, script: 0x1f, flags: 0x0}, - 602: {region: 0xd9, script: 0x1f, flags: 0x0}, - 603: {region: 0x6e, script: 0x26, flags: 0x0}, - 604: {region: 0x6c, script: 0x26, flags: 0x0}, - 605: {region: 0xd4, script: 0x4f, flags: 0x0}, - 606: {region: 0x125, script: 0x4f, flags: 0x0}, - 607: {region: 0x123, script: 0x4f, flags: 0x0}, - 608: {region: 0x31, script: 0x4f, flags: 0x0}, - 609: {region: 0xd9, script: 0x1f, flags: 0x0}, - 610: {region: 0xe5, script: 0x4f, flags: 0x0}, - 611: {region: 0x31, script: 0x4f, flags: 0x0}, - 612: {region: 0xd2, script: 0x4f, flags: 0x0}, - 613: {region: 0x15e, script: 0x4f, flags: 0x0}, - 614: {region: 0x127, script: 0x4f, flags: 0x0}, - 615: {region: 0xcc, script: 0x4f, flags: 0x0}, - 616: {region: 0xe4, script: 0x4f, flags: 0x0}, - 617: {region: 0x129, script: 0x4f, flags: 0x0}, - 618: {region: 0x129, script: 0x4f, flags: 0x0}, - 619: {region: 0x12c, script: 0x4f, flags: 0x0}, - 620: {region: 0x15e, script: 0x4f, flags: 0x0}, - 621: {region: 0x85, script: 0x2c, flags: 0x0}, - 622: {region: 0xd9, script: 0x1f, flags: 0x0}, - 623: {region: 0xe5, script: 0x4f, flags: 0x0}, - 624: {region: 0x42, script: 0xd0, flags: 0x0}, - 625: {region: 0x104, script: 0x1d, flags: 0x0}, - 626: {region: 0x12f, script: 0x4f, flags: 0x0}, - 627: {region: 0x121, script: 0xcf, flags: 0x0}, - 628: {region: 0x31, script: 0x4f, flags: 0x0}, - 629: {region: 0xcc, script: 0x4f, flags: 0x0}, - 630: {region: 0x12b, script: 0x4f, flags: 0x0}, - 632: {region: 0xd2, script: 0x4f, flags: 0x0}, - 633: {region: 0xe3, script: 0x4f, flags: 0x0}, - 634: {region: 0x104, script: 0x1d, flags: 0x0}, - 635: {region: 0xb8, script: 0x4f, flags: 0x0}, - 636: {region: 0x104, script: 0x1d, flags: 0x0}, - 637: {region: 0x3f, script: 0x4, flags: 0x1}, - 638: {region: 0x11a, script: 0xd2, flags: 0x0}, - 639: {region: 0x12e, script: 0x1d, flags: 0x0}, - 640: {region: 0x73, script: 0x4f, flags: 0x0}, - 641: {region: 0x29, script: 0x4f, flags: 0x0}, - 643: {region: 0x43, script: 0x3, flags: 0x1}, - 644: {region: 0x97, script: 0xe, flags: 0x0}, - 645: {region: 0xe6, script: 0x5, flags: 0x0}, - 646: {region: 0x46, script: 0x4, flags: 0x1}, - 647: {region: 0xb2, script: 0xd3, flags: 0x0}, - 648: {region: 0x15e, script: 0x4f, flags: 0x0}, - 649: {region: 0x9c, script: 0x4f, flags: 0x0}, - 650: {region: 0x104, script: 0x4f, flags: 0x0}, - 651: {region: 0x13b, script: 0x4f, flags: 0x0}, - 652: {region: 0x119, script: 0x4f, flags: 0x0}, - 653: {region: 0x35, script: 0x4f, flags: 0x0}, - 654: {region: 0x5f, script: 0x4f, flags: 0x0}, - 655: {region: 0xcf, script: 0x4f, flags: 0x0}, - 656: {region: 0x1, script: 0x4f, flags: 0x0}, - 657: {region: 0x104, script: 0x4f, flags: 0x0}, - 658: {region: 0x69, script: 0x4f, flags: 0x0}, - 659: {region: 0x12d, script: 0x4f, flags: 0x0}, - 660: {region: 0x35, script: 0x4f, flags: 0x0}, - 661: {region: 0x4d, script: 0x4f, flags: 0x0}, - 662: {region: 0x6e, script: 0x26, flags: 0x0}, - 663: {region: 0xe5, script: 0x4f, flags: 0x0}, - 664: {region: 0x2e, script: 0x4f, flags: 0x0}, - 665: {region: 0x97, script: 0xca, flags: 0x0}, - 666: {region: 0x97, script: 0x1f, flags: 0x0}, - 667: {region: 0x13d, script: 0x4f, flags: 0x0}, - 668: {region: 0xa6, script: 0x5, flags: 0x0}, - 669: {region: 0x112, script: 0x4f, flags: 0x0}, - 670: {region: 0x97, script: 0x1f, flags: 0x0}, - 671: {region: 0x52, script: 0x32, flags: 0x0}, - 672: {region: 0x40, script: 0x4f, flags: 0x0}, - 673: {region: 0x129, script: 0x17, flags: 0x0}, - 674: {region: 0x15e, script: 0x4f, flags: 0x0}, - 675: {region: 0x129, script: 0x56, flags: 0x0}, - 676: {region: 0x129, script: 0x57, flags: 0x0}, - 677: {region: 0x7b, script: 0x28, flags: 0x0}, - 678: {region: 0x52, script: 0x5a, flags: 0x0}, - 679: {region: 0x109, script: 0x5e, flags: 0x0}, - 680: {region: 0x106, script: 0x68, flags: 0x0}, - 681: {region: 0x97, script: 0x1f, flags: 0x0}, - 682: {region: 0x12f, script: 0x4f, flags: 0x0}, - 683: {region: 0x9a, script: 0x7c, flags: 0x0}, - 684: {region: 0x15b, script: 0xb4, flags: 0x0}, - 685: {region: 0xd9, script: 0x1f, flags: 0x0}, - 686: {region: 0xcf, script: 0x4f, flags: 0x0}, - 687: {region: 0x73, script: 0x4f, flags: 0x0}, - 688: {region: 0x51, script: 0x4f, flags: 0x0}, - 689: {region: 0x51, script: 0x4f, flags: 0x0}, - 690: {region: 0x1, script: 0x35, flags: 0x0}, - 691: {region: 0xd4, script: 0x4f, flags: 0x0}, - 692: {region: 0x40, script: 0x4f, flags: 0x0}, - 693: {region: 0xcd, script: 0x4f, flags: 0x0}, - 694: {region: 0x52, script: 0x4f, flags: 0x0}, - 695: {region: 0x109, script: 0x4f, flags: 0x0}, - 697: {region: 0xa6, script: 0x5, flags: 0x0}, - 698: {region: 0xd7, script: 0x4f, flags: 0x0}, - 699: {region: 0xb8, script: 0xcc, flags: 0x0}, - 700: {region: 0x4a, script: 0x13, flags: 0x1}, - 701: {region: 0xce, script: 0x4f, flags: 0x0}, - 702: {region: 0x15e, script: 0x4f, flags: 0x0}, - 704: {region: 0x129, script: 0x4f, flags: 0x0}, -} - -// likelyLangList holds lists info associated with likelyLang. -// Size: 372 bytes, 93 elements -var likelyLangList = [93]likelyScriptRegion{ - 0: {region: 0x9a, script: 0x7, flags: 0x0}, - 1: {region: 0x9f, script: 0x69, flags: 0x2}, - 2: {region: 0x11a, script: 0x73, flags: 0x2}, - 3: {region: 0x31, script: 0x4f, flags: 0x0}, - 4: {region: 0x99, script: 0x5, flags: 0x4}, - 5: {region: 0x9a, script: 0x5, flags: 0x4}, - 6: {region: 0x104, script: 0x1d, flags: 0x4}, - 7: {region: 0x9a, script: 0x5, flags: 0x2}, - 8: {region: 0x97, script: 0xe, flags: 0x0}, - 9: {region: 0x34, script: 0x15, flags: 0x2}, - 10: {region: 0x104, script: 0x1d, flags: 0x0}, - 11: {region: 0x37, script: 0x29, flags: 0x2}, - 12: {region: 0x132, script: 0x4f, flags: 0x0}, - 13: {region: 0x79, script: 0xb7, flags: 0x2}, - 14: {region: 0x5c, script: 0x1c, flags: 0x0}, - 15: {region: 0x85, script: 0x53, flags: 0x2}, - 16: {region: 0xd4, script: 0x4f, flags: 0x0}, - 17: {region: 0x51, script: 0x5, flags: 0x4}, - 18: {region: 0x109, script: 0x5, flags: 0x4}, - 19: {region: 0xac, script: 0x1d, flags: 0x0}, - 20: {region: 0x23, script: 0x5, flags: 0x4}, - 21: {region: 0x52, script: 0x5, flags: 0x4}, - 22: {region: 0x9a, script: 0x5, flags: 0x4}, - 23: {region: 0xc3, script: 0x5, flags: 0x4}, - 24: {region: 0x52, script: 0x5, flags: 0x2}, - 25: {region: 0x129, script: 0x4f, flags: 0x0}, - 26: {region: 0xae, script: 0x5, flags: 0x4}, - 27: {region: 0x99, script: 0x5, flags: 0x2}, - 28: {region: 0xa3, script: 0x1d, flags: 0x0}, - 29: {region: 0x52, script: 0x5, flags: 0x4}, - 30: {region: 0x129, script: 0x4f, flags: 0x4}, - 31: {region: 0x52, script: 0x5, flags: 0x2}, - 32: {region: 0x129, script: 0x4f, flags: 0x2}, - 33: {region: 0xd9, script: 0x1f, flags: 0x0}, - 34: {region: 0x97, script: 0x51, flags: 0x2}, - 35: {region: 0x81, script: 0x4f, flags: 0x0}, - 36: {region: 0x82, script: 0x6b, flags: 0x4}, - 37: {region: 0x82, script: 0x6b, flags: 0x2}, - 38: {region: 0xc3, script: 0x1d, flags: 0x0}, - 39: {region: 0x52, script: 0x62, flags: 0x4}, - 40: {region: 0x52, script: 0x62, flags: 0x2}, - 41: {region: 0xce, script: 0x4f, flags: 0x0}, - 42: {region: 0x49, script: 0x5, flags: 0x4}, - 43: {region: 0x93, script: 0x5, flags: 0x4}, - 44: {region: 0x97, script: 0x2e, flags: 0x0}, - 45: {region: 0xe6, script: 0x5, flags: 0x4}, - 46: {region: 0xe6, script: 0x5, flags: 0x2}, - 47: {region: 0x9a, script: 0x77, flags: 0x0}, - 48: {region: 0x52, script: 0x78, flags: 0x2}, - 49: {region: 0xb8, script: 0xcc, flags: 0x0}, - 50: {region: 0xd7, script: 0x4f, flags: 0x4}, - 51: {region: 0xe6, script: 0x5, flags: 0x0}, - 52: {region: 0x97, script: 0x1f, flags: 0x2}, - 53: {region: 0x97, script: 0x44, flags: 0x2}, - 54: {region: 0x97, script: 0xba, flags: 0x2}, - 55: {region: 0x103, script: 0x1d, flags: 0x0}, - 56: {region: 0xbb, script: 0x4f, flags: 0x4}, - 57: {region: 0x102, script: 0x4f, flags: 0x4}, - 58: {region: 0x104, script: 0x4f, flags: 0x4}, - 59: {region: 0x129, script: 0x4f, flags: 0x4}, - 60: {region: 0x122, script: 0x1d, flags: 0x0}, - 61: {region: 0xe6, script: 0x5, flags: 0x4}, - 62: {region: 0xe6, script: 0x5, flags: 0x2}, - 63: {region: 0x52, script: 0x5, flags: 0x0}, - 64: {region: 0xac, script: 0x1d, flags: 0x4}, - 65: {region: 0xc3, script: 0x1d, flags: 0x4}, - 66: {region: 0xac, script: 0x1d, flags: 0x2}, - 67: {region: 0x97, script: 0xe, flags: 0x0}, - 68: {region: 0xd9, script: 0x1f, flags: 0x4}, - 69: {region: 0xd9, script: 0x1f, flags: 0x2}, - 70: {region: 0x134, script: 0x4f, flags: 0x0}, - 71: {region: 0x23, script: 0x5, flags: 0x4}, - 72: {region: 0x52, script: 0x1d, flags: 0x4}, - 73: {region: 0x23, script: 0x5, flags: 0x2}, - 74: {region: 0x52, script: 0x32, flags: 0x0}, - 75: {region: 0x2e, script: 0x33, flags: 0x4}, - 76: {region: 0x3d, script: 0x33, flags: 0x4}, - 77: {region: 0x79, script: 0x33, flags: 0x4}, - 78: {region: 0x7c, script: 0x33, flags: 0x4}, - 79: {region: 0x8b, script: 0x33, flags: 0x4}, - 80: {region: 0x93, script: 0x33, flags: 0x4}, - 81: {region: 0xc4, script: 0x33, flags: 0x4}, - 82: {region: 0xce, script: 0x33, flags: 0x4}, - 83: {region: 0xe0, script: 0x33, flags: 0x4}, - 84: {region: 0xe3, script: 0x33, flags: 0x4}, - 85: {region: 0xe5, script: 0x33, flags: 0x4}, - 86: {region: 0x114, script: 0x33, flags: 0x4}, - 87: {region: 0x121, script: 0x33, flags: 0x4}, - 88: {region: 0x12c, script: 0x33, flags: 0x4}, - 89: {region: 0x132, script: 0x33, flags: 0x4}, - 90: {region: 0x13b, script: 0x33, flags: 0x4}, - 91: {region: 0x12c, script: 0x10, flags: 0x2}, - 92: {region: 0x12c, script: 0x33, flags: 0x2}, -} - -type likelyLangScript struct { - lang uint16 - script uint8 - flags uint8 -} - -// likelyRegion is a lookup table, indexed by regionID, for the most likely -// languages and scripts given incomplete information. If more entries exist -// for a given regionID, lang and script are the index and size respectively -// of the list in likelyRegionList. -// TODO: exclude containers and user-definable regions from the list. -// Size: 1420 bytes, 355 elements -var likelyRegion = [355]likelyLangScript{ - 33: {lang: 0x61, script: 0x4f, flags: 0x0}, - 34: {lang: 0x15, script: 0x5, flags: 0x0}, - 35: {lang: 0x0, script: 0x2, flags: 0x1}, - 38: {lang: 0x2, script: 0x2, flags: 0x1}, - 39: {lang: 0x4, script: 0x2, flags: 0x1}, - 41: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 42: {lang: 0x0, script: 0x4f, flags: 0x0}, - 43: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 44: {lang: 0x22a, script: 0x4f, flags: 0x0}, - 45: {lang: 0x85, script: 0x4f, flags: 0x0}, - 47: {lang: 0x1b9, script: 0x4f, flags: 0x0}, - 48: {lang: 0x241, script: 0x4f, flags: 0x0}, - 49: {lang: 0x24, script: 0x4f, flags: 0x0}, - 50: {lang: 0x6, script: 0x2, flags: 0x1}, - 52: {lang: 0x4b, script: 0xe, flags: 0x0}, - 53: {lang: 0x1b9, script: 0x4f, flags: 0x0}, - 54: {lang: 0xae, script: 0x4f, flags: 0x0}, - 55: {lang: 0x38, script: 0x1d, flags: 0x0}, - 56: {lang: 0x15, script: 0x5, flags: 0x0}, - 57: {lang: 0x1fc, script: 0x4f, flags: 0x0}, - 58: {lang: 0xae, script: 0x4f, flags: 0x0}, - 59: {lang: 0xae, script: 0x4f, flags: 0x0}, - 61: {lang: 0x197, script: 0x4f, flags: 0x0}, - 62: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 63: {lang: 0x1d6, script: 0x4f, flags: 0x0}, - 64: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 66: {lang: 0x8, script: 0x2, flags: 0x1}, - 68: {lang: 0x0, script: 0x4f, flags: 0x0}, - 70: {lang: 0x2f, script: 0x1d, flags: 0x0}, - 72: {lang: 0x2b2, script: 0x35, flags: 0x2}, - 73: {lang: 0x197, script: 0x5, flags: 0x2}, - 74: {lang: 0x242, script: 0x4f, flags: 0x0}, - 75: {lang: 0xae, script: 0x4f, flags: 0x0}, - 76: {lang: 0xae, script: 0x4f, flags: 0x0}, - 77: {lang: 0x85, script: 0x4f, flags: 0x0}, - 78: {lang: 0xae, script: 0x4f, flags: 0x0}, - 80: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 81: {lang: 0xae, script: 0x4f, flags: 0x0}, - 82: {lang: 0xa, script: 0x4, flags: 0x1}, - 83: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 84: {lang: 0x0, script: 0x4f, flags: 0x0}, - 85: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 88: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 89: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 90: {lang: 0x1d6, script: 0x4f, flags: 0x0}, - 92: {lang: 0xe, script: 0x2, flags: 0x1}, - 93: {lang: 0x79, script: 0x4f, flags: 0x0}, - 95: {lang: 0x85, script: 0x4f, flags: 0x0}, - 97: {lang: 0x1, script: 0x4f, flags: 0x0}, - 98: {lang: 0x80, script: 0x4f, flags: 0x0}, - 100: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 102: {lang: 0x10, script: 0x2, flags: 0x1}, - 103: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 104: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 105: {lang: 0x9e, script: 0x4f, flags: 0x0}, - 106: {lang: 0x15, script: 0x5, flags: 0x0}, - 107: {lang: 0x15, script: 0x5, flags: 0x0}, - 108: {lang: 0x25b, script: 0x26, flags: 0x0}, - 109: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 110: {lang: 0x12, script: 0x2, flags: 0x1}, - 112: {lang: 0xa7, script: 0x4f, flags: 0x0}, - 113: {lang: 0xe0, script: 0x1f, flags: 0x2}, - 116: {lang: 0xac, script: 0x4f, flags: 0x0}, - 118: {lang: 0xae, script: 0x4f, flags: 0x0}, - 120: {lang: 0xae, script: 0x4f, flags: 0x0}, - 121: {lang: 0x14, script: 0x2, flags: 0x1}, - 123: {lang: 0x16, script: 0x3, flags: 0x1}, - 124: {lang: 0xae, script: 0x4f, flags: 0x0}, - 126: {lang: 0xd, script: 0x4f, flags: 0x0}, - 128: {lang: 0x12e, script: 0x4f, flags: 0x0}, - 130: {lang: 0xae, script: 0x4f, flags: 0x0}, - 131: {lang: 0xae, script: 0x4f, flags: 0x0}, - 132: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 133: {lang: 0x19, script: 0x2, flags: 0x1}, - 134: {lang: 0x0, script: 0x4f, flags: 0x0}, - 135: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 137: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 139: {lang: 0x2bc, script: 0x33, flags: 0x0}, - 140: {lang: 0x0, script: 0x4f, flags: 0x0}, - 141: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 142: {lang: 0xec, script: 0x4f, flags: 0x0}, - 143: {lang: 0xef, script: 0x4f, flags: 0x0}, - 144: {lang: 0xf0, script: 0x4f, flags: 0x0}, - 146: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 147: {lang: 0x1b, script: 0x2, flags: 0x1}, - 149: {lang: 0xde, script: 0x35, flags: 0x0}, - 151: {lang: 0x1d, script: 0x3, flags: 0x1}, - 153: {lang: 0x15, script: 0x5, flags: 0x0}, - 154: {lang: 0x20, script: 0x2, flags: 0x1}, - 155: {lang: 0x100, script: 0x4f, flags: 0x0}, - 156: {lang: 0x101, script: 0x4f, flags: 0x0}, - 159: {lang: 0x15, script: 0x5, flags: 0x0}, - 160: {lang: 0x105, script: 0x3e, flags: 0x0}, - 162: {lang: 0x242, script: 0x4f, flags: 0x0}, - 163: {lang: 0x14a, script: 0x1d, flags: 0x0}, - 164: {lang: 0x22, script: 0x3, flags: 0x1}, - 166: {lang: 0x25, script: 0x2, flags: 0x1}, - 168: {lang: 0x133, script: 0x48, flags: 0x0}, - 169: {lang: 0x133, script: 0x48, flags: 0x0}, - 170: {lang: 0x15, script: 0x5, flags: 0x0}, - 172: {lang: 0x202, script: 0x1d, flags: 0x0}, - 173: {lang: 0x27, script: 0x2, flags: 0x1}, - 174: {lang: 0x15, script: 0x5, flags: 0x0}, - 176: {lang: 0x85, script: 0x4f, flags: 0x0}, - 177: {lang: 0x223, script: 0xbb, flags: 0x0}, - 179: {lang: 0x23c, script: 0x4f, flags: 0x0}, - 180: {lang: 0x166, script: 0x4f, flags: 0x0}, - 181: {lang: 0xae, script: 0x4f, flags: 0x0}, - 182: {lang: 0x16d, script: 0x4f, flags: 0x0}, - 183: {lang: 0x15, script: 0x5, flags: 0x0}, - 184: {lang: 0x29, script: 0x2, flags: 0x1}, - 185: {lang: 0xae, script: 0x4f, flags: 0x0}, - 186: {lang: 0x2b, script: 0x2, flags: 0x1}, - 187: {lang: 0x235, script: 0x4f, flags: 0x0}, - 188: {lang: 0xae, script: 0x4f, flags: 0x0}, - 189: {lang: 0x180, script: 0x4f, flags: 0x0}, - 192: {lang: 0x2d, script: 0x2, flags: 0x1}, - 193: {lang: 0x49, script: 0x4f, flags: 0x0}, - 194: {lang: 0x2f, script: 0x2, flags: 0x1}, - 195: {lang: 0x31, script: 0x2, flags: 0x1}, - 196: {lang: 0x33, script: 0x2, flags: 0x1}, - 198: {lang: 0xae, script: 0x4f, flags: 0x0}, - 199: {lang: 0x35, script: 0x2, flags: 0x1}, - 201: {lang: 0x198, script: 0x4f, flags: 0x0}, - 202: {lang: 0x37, script: 0x3, flags: 0x1}, - 203: {lang: 0x8f, script: 0xce, flags: 0x0}, - 205: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 206: {lang: 0x197, script: 0x4f, flags: 0x0}, - 207: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 208: {lang: 0xa, script: 0x4f, flags: 0x0}, - 209: {lang: 0xae, script: 0x4f, flags: 0x0}, - 210: {lang: 0xda, script: 0x4f, flags: 0x0}, - 212: {lang: 0xda, script: 0x5, flags: 0x2}, - 214: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 215: {lang: 0x1b9, script: 0x4f, flags: 0x0}, - 216: {lang: 0x1ab, script: 0x4f, flags: 0x0}, - 217: {lang: 0x1b0, script: 0x1f, flags: 0x0}, - 223: {lang: 0x15, script: 0x5, flags: 0x0}, - 224: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 226: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 227: {lang: 0xae, script: 0x4f, flags: 0x0}, - 228: {lang: 0x268, script: 0x4f, flags: 0x0}, - 229: {lang: 0xa9, script: 0x4f, flags: 0x0}, - 230: {lang: 0x3a, script: 0x3, flags: 0x1}, - 231: {lang: 0x3d, script: 0x2, flags: 0x1}, - 232: {lang: 0xae, script: 0x4f, flags: 0x0}, - 234: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 235: {lang: 0x15, script: 0x5, flags: 0x0}, - 236: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 238: {lang: 0x1d7, script: 0x4f, flags: 0x0}, - 239: {lang: 0xc9, script: 0x4f, flags: 0x0}, - 241: {lang: 0x15, script: 0x5, flags: 0x0}, - 256: {lang: 0xae, script: 0x4f, flags: 0x0}, - 258: {lang: 0x3f, script: 0x2, flags: 0x1}, - 259: {lang: 0x235, script: 0x1d, flags: 0x0}, - 260: {lang: 0x41, script: 0x2, flags: 0x1}, - 261: {lang: 0x205, script: 0x4f, flags: 0x0}, - 262: {lang: 0x15, script: 0x5, flags: 0x0}, - 264: {lang: 0xae, script: 0x4f, flags: 0x0}, - 265: {lang: 0x15, script: 0x5, flags: 0x0}, - 266: {lang: 0x43, script: 0x2, flags: 0x1}, - 269: {lang: 0x227, script: 0x4f, flags: 0x0}, - 270: {lang: 0x1ab, script: 0x4f, flags: 0x0}, - 271: {lang: 0x45, script: 0x2, flags: 0x1}, - 273: {lang: 0x101, script: 0x4f, flags: 0x0}, - 274: {lang: 0xae, script: 0x4f, flags: 0x0}, - 275: {lang: 0x232, script: 0x4f, flags: 0x0}, - 276: {lang: 0x1b9, script: 0x4f, flags: 0x0}, - 278: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 280: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 282: {lang: 0x47, script: 0x2, flags: 0x1}, - 286: {lang: 0xae, script: 0x4f, flags: 0x0}, - 287: {lang: 0xae, script: 0x4f, flags: 0x0}, - 288: {lang: 0xae, script: 0x4f, flags: 0x0}, - 289: {lang: 0x49, script: 0x3, flags: 0x1}, - 290: {lang: 0x4c, script: 0x2, flags: 0x1}, - 291: {lang: 0x25f, script: 0x4f, flags: 0x0}, - 292: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 293: {lang: 0x25e, script: 0x4f, flags: 0x0}, - 294: {lang: 0x4e, script: 0x2, flags: 0x1}, - 295: {lang: 0x266, script: 0x4f, flags: 0x0}, - 297: {lang: 0x50, script: 0x4, flags: 0x1}, - 299: {lang: 0x276, script: 0x4f, flags: 0x0}, - 300: {lang: 0x54, script: 0x2, flags: 0x1}, - 301: {lang: 0x242, script: 0x4f, flags: 0x0}, - 302: {lang: 0x56, script: 0x3, flags: 0x1}, - 303: {lang: 0x242, script: 0x4f, flags: 0x0}, - 306: {lang: 0x2b2, script: 0x35, flags: 0x2}, - 307: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 308: {lang: 0x286, script: 0x4f, flags: 0x0}, - 309: {lang: 0x101, script: 0x4f, flags: 0x0}, - 312: {lang: 0x9c, script: 0x4f, flags: 0x0}, - 315: {lang: 0x28b, script: 0x4f, flags: 0x0}, - 316: {lang: 0x41, script: 0x4f, flags: 0x0}, - 317: {lang: 0xae, script: 0x4f, flags: 0x0}, - 319: {lang: 0x22a, script: 0x4f, flags: 0x0}, - 330: {lang: 0x59, script: 0x2, flags: 0x1}, - 347: {lang: 0x15, script: 0x5, flags: 0x0}, - 348: {lang: 0x5b, script: 0x2, flags: 0x1}, - 353: {lang: 0x230, script: 0x4f, flags: 0x0}, -} - -// likelyRegionList holds lists info associated with likelyRegion. -// Size: 372 bytes, 93 elements -var likelyRegionList = [93]likelyLangScript{ - 0: {lang: 0xa3, script: 0x5, flags: 0x0}, - 1: {lang: 0x25e, script: 0x4f, flags: 0x0}, - 2: {lang: 0x234, script: 0x4f, flags: 0x0}, - 3: {lang: 0x189, script: 0x1d, flags: 0x0}, - 4: {lang: 0xf1, script: 0x8, flags: 0x0}, - 5: {lang: 0x142, script: 0x4f, flags: 0x0}, - 6: {lang: 0x54, script: 0x4f, flags: 0x0}, - 7: {lang: 0x235, script: 0x1d, flags: 0x0}, - 8: {lang: 0x92, script: 0xd0, flags: 0x0}, - 9: {lang: 0x1b0, script: 0x1f, flags: 0x0}, - 10: {lang: 0x2bc, script: 0x32, flags: 0x0}, - 11: {lang: 0x27d, script: 0x5, flags: 0x0}, - 12: {lang: 0x2b6, script: 0x4f, flags: 0x0}, - 13: {lang: 0x154, script: 0xcf, flags: 0x0}, - 14: {lang: 0x99, script: 0x2c, flags: 0x0}, - 15: {lang: 0x269, script: 0x4f, flags: 0x0}, - 16: {lang: 0x15, script: 0x5, flags: 0x0}, - 17: {lang: 0xae, script: 0x4f, flags: 0x0}, - 18: {lang: 0x11, script: 0x26, flags: 0x0}, - 19: {lang: 0x9a, script: 0x4f, flags: 0x0}, - 20: {lang: 0x13e, script: 0x5, flags: 0x2}, - 21: {lang: 0x2b2, script: 0x35, flags: 0x2}, - 22: {lang: 0x10e, script: 0x28, flags: 0x0}, - 23: {lang: 0x2, script: 0x1d, flags: 0x0}, - 24: {lang: 0x142, script: 0x4f, flags: 0x0}, - 25: {lang: 0x99, script: 0x2c, flags: 0x0}, - 26: {lang: 0x189, script: 0x1d, flags: 0x0}, - 27: {lang: 0xf6, script: 0x4f, flags: 0x0}, - 28: {lang: 0x197, script: 0x5, flags: 0x0}, - 29: {lang: 0xdf, script: 0x1f, flags: 0x0}, - 30: {lang: 0x285, script: 0x5, flags: 0x0}, - 31: {lang: 0x126, script: 0x67, flags: 0x0}, - 32: {lang: 0xa3, script: 0x5, flags: 0x0}, - 33: {lang: 0x25e, script: 0x4f, flags: 0x0}, - 34: {lang: 0x130, script: 0x43, flags: 0x0}, - 35: {lang: 0x6d, script: 0x5, flags: 0x0}, - 36: {lang: 0x119, script: 0xcf, flags: 0x0}, - 37: {lang: 0x15, script: 0x5, flags: 0x0}, - 38: {lang: 0xae, script: 0x4f, flags: 0x0}, - 39: {lang: 0x162, script: 0x4c, flags: 0x0}, - 40: {lang: 0x119, script: 0xcf, flags: 0x0}, - 41: {lang: 0x15, script: 0x5, flags: 0x0}, - 42: {lang: 0xae, script: 0x4f, flags: 0x0}, - 43: {lang: 0x1fe, script: 0x4f, flags: 0x0}, - 44: {lang: 0x27f, script: 0x1d, flags: 0x0}, - 45: {lang: 0x189, script: 0x1d, flags: 0x0}, - 46: {lang: 0x234, script: 0x4f, flags: 0x0}, - 47: {lang: 0x1a2, script: 0x67, flags: 0x0}, - 48: {lang: 0x111, script: 0x4f, flags: 0x0}, - 49: {lang: 0x18c, script: 0x1d, flags: 0x0}, - 50: {lang: 0x12c, script: 0x5, flags: 0x0}, - 51: {lang: 0x2bc, script: 0x33, flags: 0x0}, - 52: {lang: 0x1ea, script: 0x4f, flags: 0x0}, - 53: {lang: 0x15, script: 0x5, flags: 0x0}, - 54: {lang: 0xae, script: 0x4f, flags: 0x0}, - 55: {lang: 0x17f, script: 0x4f, flags: 0x0}, - 56: {lang: 0x285, script: 0x5, flags: 0x0}, - 57: {lang: 0x40, script: 0x1f, flags: 0x0}, - 58: {lang: 0x285, script: 0x5, flags: 0x0}, - 59: {lang: 0x285, script: 0x5, flags: 0x0}, - 60: {lang: 0x58, script: 0x1f, flags: 0x0}, - 61: {lang: 0x1e2, script: 0x4f, flags: 0x0}, - 62: {lang: 0x2f, script: 0x1d, flags: 0x0}, - 63: {lang: 0x1fe, script: 0x4f, flags: 0x0}, - 64: {lang: 0x38, script: 0x1d, flags: 0x0}, - 65: {lang: 0x202, script: 0x1d, flags: 0x0}, - 66: {lang: 0x13c, script: 0x4f, flags: 0x0}, - 67: {lang: 0x241, script: 0x4f, flags: 0x0}, - 68: {lang: 0x2b2, script: 0x35, flags: 0x0}, - 69: {lang: 0x225, script: 0x4f, flags: 0x0}, - 70: {lang: 0x27f, script: 0x1d, flags: 0x0}, - 71: {lang: 0x15, script: 0x5, flags: 0x0}, - 72: {lang: 0xae, script: 0x4f, flags: 0x0}, - 73: {lang: 0x257, script: 0xcf, flags: 0x0}, - 74: {lang: 0x17e, script: 0x5, flags: 0x0}, - 75: {lang: 0x18e, script: 0x67, flags: 0x0}, - 76: {lang: 0x256, script: 0x1d, flags: 0x0}, - 77: {lang: 0xa3, script: 0x5, flags: 0x0}, - 78: {lang: 0x15, script: 0x5, flags: 0x0}, - 79: {lang: 0xae, script: 0x4f, flags: 0x0}, - 80: {lang: 0x269, script: 0x4f, flags: 0x0}, - 81: {lang: 0x24, script: 0x5, flags: 0x0}, - 82: {lang: 0x115, script: 0x1d, flags: 0x0}, - 83: {lang: 0x3b, script: 0x2c, flags: 0x0}, - 84: {lang: 0x2bc, script: 0x33, flags: 0x0}, - 85: {lang: 0x26b, script: 0x4f, flags: 0x0}, - 86: {lang: 0x27f, script: 0x1d, flags: 0x0}, - 87: {lang: 0x2b2, script: 0x35, flags: 0x0}, - 88: {lang: 0x1e2, script: 0x4f, flags: 0x0}, - 89: {lang: 0x234, script: 0x4f, flags: 0x0}, - 90: {lang: 0x235, script: 0x1d, flags: 0x0}, - 91: {lang: 0xae, script: 0x4f, flags: 0x0}, - 92: {lang: 0x243, script: 0x5, flags: 0x0}, -} - -type likelyTag struct { - lang uint16 - region uint16 - script uint8 -} - -// Size: 192 bytes, 32 elements -var likelyRegionGroup = [32]likelyTag{ - 1: {lang: 0x9a, region: 0xd4, script: 0x4f}, - 2: {lang: 0x9a, region: 0x132, script: 0x4f}, - 3: {lang: 0x1ea, region: 0x40, script: 0x4f}, - 4: {lang: 0x9a, region: 0x2e, script: 0x4f}, - 5: {lang: 0x9a, region: 0xd4, script: 0x4f}, - 6: {lang: 0x9c, region: 0xcd, script: 0x4f}, - 7: {lang: 0x242, region: 0x12d, script: 0x4f}, - 8: {lang: 0x15, region: 0x6a, script: 0x5}, - 9: {lang: 0x242, region: 0x4a, script: 0x4f}, - 10: {lang: 0x9a, region: 0x15e, script: 0x4f}, - 11: {lang: 0x9a, region: 0x132, script: 0x4f}, - 12: {lang: 0x9a, region: 0x132, script: 0x4f}, - 13: {lang: 0x9c, region: 0x58, script: 0x4f}, - 14: {lang: 0x2bc, region: 0x52, script: 0x32}, - 15: {lang: 0xdf, region: 0x97, script: 0x1f}, - 16: {lang: 0xf6, region: 0x93, script: 0x4f}, - 17: {lang: 0x101, region: 0x9c, script: 0x4f}, - 18: {lang: 0x9a, region: 0x2e, script: 0x4f}, - 19: {lang: 0x9a, region: 0xe4, script: 0x4f}, - 20: {lang: 0x9a, region: 0x88, script: 0x4f}, - 21: {lang: 0x22a, region: 0x13f, script: 0x4f}, - 22: {lang: 0x2bc, region: 0x52, script: 0x32}, - 23: {lang: 0x286, region: 0x134, script: 0x4f}, - 24: {lang: 0x15, region: 0x106, script: 0x5}, - 25: {lang: 0x202, region: 0x104, script: 0x1d}, - 26: {lang: 0x202, region: 0x104, script: 0x1d}, - 27: {lang: 0x9a, region: 0x79, script: 0x4f}, - 28: {lang: 0x85, region: 0x5f, script: 0x4f}, - 29: {lang: 0x9c, region: 0x1e, script: 0x4f}, - 30: {lang: 0x9a, region: 0x98, script: 0x4f}, - 31: {lang: 0x9a, region: 0x79, script: 0x4f}, -} - -type mutualIntelligibility struct { - want uint16 - have uint16 - conf uint8 - oneway bool -} - -type scriptIntelligibility struct { - lang uint16 - want uint8 - have uint8 - conf uint8 -} - -// matchLang holds pairs of langIDs of base languages that are typically -// mutually intelligible. Each pair is associated with a confidence and -// whether the intelligibility goes one or both ways. -// Size: 708 bytes, 118 elements -var matchLang = [118]mutualIntelligibility{ - 0: {want: 0x1bd, have: 0x1ab, conf: 0x2, oneway: false}, - 1: {want: 0x142, have: 0x6f, conf: 0x2, oneway: false}, - 2: {want: 0xec, have: 0x54, conf: 0x2, oneway: false}, - 3: {want: 0x220, have: 0x54, conf: 0x2, oneway: false}, - 4: {want: 0x235, have: 0x54, conf: 0x2, oneway: false}, - 5: {want: 0x220, have: 0xec, conf: 0x2, oneway: false}, - 6: {want: 0x235, have: 0xec, conf: 0x2, oneway: false}, - 7: {want: 0x220, have: 0x235, conf: 0x2, oneway: false}, - 8: {want: 0x23b, have: 0x1, conf: 0x2, oneway: false}, - 9: {want: 0xd1, have: 0x85, conf: 0x2, oneway: true}, - 10: {want: 0x151, have: 0x85, conf: 0x2, oneway: true}, - 11: {want: 0x80, have: 0x1bd, conf: 0x2, oneway: false}, - 12: {want: 0x80, have: 0x1ab, conf: 0x2, oneway: false}, - 13: {want: 0x6f, have: 0x142, conf: 0x2, oneway: false}, - 14: {want: 0x2, have: 0x202, conf: 0x2, oneway: true}, - 15: {want: 0x5, have: 0x9a, conf: 0x2, oneway: true}, - 16: {want: 0xa, have: 0x1b9, conf: 0x2, oneway: true}, - 17: {want: 0xd, have: 0x9a, conf: 0x2, oneway: true}, - 18: {want: 0x23, have: 0x9c, conf: 0x2, oneway: true}, - 19: {want: 0x24, have: 0x202, conf: 0x2, oneway: true}, - 20: {want: 0x2f, have: 0x202, conf: 0x2, oneway: true}, - 21: {want: 0x31, have: 0x9a, conf: 0x2, oneway: true}, - 22: {want: 0x3c, have: 0xdf, conf: 0x2, oneway: true}, - 23: {want: 0x4b, have: 0x9a, conf: 0x2, oneway: true}, - 24: {want: 0x50, have: 0xae, conf: 0x2, oneway: true}, - 25: {want: 0x65, have: 0xa9, conf: 0x2, oneway: true}, - 26: {want: 0x6c, have: 0x9a, conf: 0x2, oneway: true}, - 27: {want: 0x6f, have: 0x15, conf: 0x2, oneway: true}, - 28: {want: 0x70, have: 0xae, conf: 0x2, oneway: true}, - 29: {want: 0x78, have: 0xae, conf: 0x2, oneway: true}, - 30: {want: 0x7f, have: 0x9a, conf: 0x2, oneway: true}, - 31: {want: 0x94, have: 0x9a, conf: 0x2, oneway: true}, - 32: {want: 0x9b, have: 0x9a, conf: 0x2, oneway: true}, - 33: {want: 0x9e, have: 0xa7, conf: 0x2, oneway: true}, - 34: {want: 0xa0, have: 0x9c, conf: 0x2, oneway: true}, - 35: {want: 0xac, have: 0x80, conf: 0x2, oneway: true}, - 36: {want: 0xb8, have: 0x1b9, conf: 0x2, oneway: true}, - 37: {want: 0xb9, have: 0x9a, conf: 0x2, oneway: true}, - 38: {want: 0xba, have: 0x9a, conf: 0x2, oneway: true}, - 39: {want: 0xc1, have: 0x9a, conf: 0x2, oneway: true}, - 40: {want: 0xc7, have: 0x9c, conf: 0x2, oneway: true}, - 41: {want: 0xc9, have: 0x9c, conf: 0x2, oneway: true}, - 42: {want: 0xd2, have: 0xdf, conf: 0x2, oneway: true}, - 43: {want: 0xda, have: 0x9a, conf: 0x2, oneway: true}, - 44: {want: 0xdc, have: 0x9a, conf: 0x2, oneway: true}, - 45: {want: 0xef, have: 0xae, conf: 0x2, oneway: true}, - 46: {want: 0xf1, have: 0x202, conf: 0x2, oneway: true}, - 47: {want: 0xf3, have: 0x9a, conf: 0x2, oneway: true}, - 48: {want: 0xf8, have: 0x9a, conf: 0x2, oneway: true}, - 49: {want: 0x100, have: 0x9a, conf: 0x2, oneway: true}, - 50: {want: 0x10c, have: 0xf6, conf: 0x2, oneway: true}, - 51: {want: 0x10e, have: 0x9a, conf: 0x2, oneway: true}, - 52: {want: 0x11f, have: 0xae, conf: 0x2, oneway: true}, - 53: {want: 0x12c, have: 0x202, conf: 0x2, oneway: true}, - 54: {want: 0x130, have: 0x9a, conf: 0x2, oneway: true}, - 55: {want: 0x132, have: 0x9a, conf: 0x2, oneway: true}, - 56: {want: 0x13a, have: 0x9a, conf: 0x2, oneway: true}, - 57: {want: 0x142, have: 0x269, conf: 0x2, oneway: true}, - 58: {want: 0x14a, have: 0x202, conf: 0x2, oneway: true}, - 59: {want: 0x14b, have: 0x101, conf: 0x2, oneway: true}, - 60: {want: 0x157, have: 0x9a, conf: 0x2, oneway: true}, - 61: {want: 0x161, have: 0xae, conf: 0x2, oneway: true}, - 62: {want: 0x162, have: 0x9a, conf: 0x2, oneway: true}, - 63: {want: 0x164, have: 0x9a, conf: 0x2, oneway: true}, - 64: {want: 0x169, have: 0xae, conf: 0x2, oneway: true}, - 65: {want: 0x17f, have: 0x9a, conf: 0x2, oneway: true}, - 66: {want: 0x180, have: 0xae, conf: 0x2, oneway: true}, - 67: {want: 0x186, have: 0x9a, conf: 0x2, oneway: true}, - 68: {want: 0x189, have: 0x38, conf: 0x2, oneway: true}, - 69: {want: 0x18a, have: 0x9a, conf: 0x2, oneway: true}, - 70: {want: 0x18c, have: 0x202, conf: 0x2, oneway: true}, - 71: {want: 0x193, have: 0xdf, conf: 0x2, oneway: true}, - 72: {want: 0x197, have: 0xf6, conf: 0x2, oneway: true}, - 73: {want: 0x198, have: 0x9a, conf: 0x2, oneway: true}, - 74: {want: 0x1a2, have: 0x9a, conf: 0x2, oneway: true}, - 75: {want: 0x1b0, have: 0x9a, conf: 0x2, oneway: true}, - 76: {want: 0x1bb, have: 0x1ab, conf: 0x2, oneway: false}, - 77: {want: 0x1bb, have: 0x1bd, conf: 0x2, oneway: true}, - 78: {want: 0x1c4, have: 0x9a, conf: 0x2, oneway: true}, - 79: {want: 0x1c8, have: 0x9a, conf: 0x2, oneway: true}, - 80: {want: 0x1ca, have: 0x9a, conf: 0x2, oneway: true}, - 81: {want: 0x1cc, have: 0xae, conf: 0x2, oneway: true}, - 82: {want: 0x1ce, have: 0x9a, conf: 0x2, oneway: true}, - 83: {want: 0x1cf, have: 0x9a, conf: 0x2, oneway: true}, - 84: {want: 0x1d2, have: 0x9a, conf: 0x2, oneway: true}, - 85: {want: 0x1d9, have: 0x9a, conf: 0x2, oneway: true}, - 86: {want: 0x1e9, have: 0x9a, conf: 0x2, oneway: true}, - 87: {want: 0x1ec, have: 0x9c, conf: 0x2, oneway: true}, - 88: {want: 0x1f7, have: 0x85, conf: 0x2, oneway: true}, - 89: {want: 0x1fc, have: 0x9a, conf: 0x2, oneway: true}, - 90: {want: 0x205, have: 0xae, conf: 0x2, oneway: true}, - 91: {want: 0x208, have: 0xdf, conf: 0x2, oneway: true}, - 92: {want: 0x215, have: 0x9a, conf: 0x2, oneway: true}, - 93: {want: 0x223, have: 0x9a, conf: 0x2, oneway: true}, - 94: {want: 0x230, have: 0x9a, conf: 0x2, oneway: true}, - 95: {want: 0x232, have: 0x9a, conf: 0x2, oneway: true}, - 96: {want: 0x234, have: 0x9a, conf: 0x2, oneway: true}, - 97: {want: 0x23c, have: 0x9a, conf: 0x2, oneway: true}, - 98: {want: 0x23e, have: 0xf6, conf: 0x2, oneway: true}, - 99: {want: 0x242, have: 0x9a, conf: 0x2, oneway: true}, - 100: {want: 0x24b, have: 0x9a, conf: 0x2, oneway: true}, - 101: {want: 0x252, have: 0x9a, conf: 0x2, oneway: true}, - 102: {want: 0x256, have: 0x202, conf: 0x2, oneway: true}, - 103: {want: 0x25b, have: 0x9a, conf: 0x2, oneway: true}, - 104: {want: 0x25e, have: 0x202, conf: 0x2, oneway: true}, - 105: {want: 0x3612, have: 0x9a, conf: 0x2, oneway: true}, - 106: {want: 0x265, have: 0x9a, conf: 0x2, oneway: true}, - 107: {want: 0x266, have: 0x9a, conf: 0x2, oneway: true}, - 108: {want: 0x271, have: 0x202, conf: 0x2, oneway: true}, - 109: {want: 0x275, have: 0x9a, conf: 0x2, oneway: true}, - 110: {want: 0x27d, have: 0x2bc, conf: 0x2, oneway: true}, - 111: {want: 0x285, have: 0x9a, conf: 0x2, oneway: true}, - 112: {want: 0x286, have: 0x202, conf: 0x2, oneway: true}, - 113: {want: 0x29d, have: 0xae, conf: 0x2, oneway: true}, - 114: {want: 0x2a2, have: 0x9a, conf: 0x2, oneway: true}, - 115: {want: 0x2b2, have: 0x9a, conf: 0x2, oneway: true}, - 116: {want: 0x2b3, have: 0x9a, conf: 0x2, oneway: true}, - 117: {want: 0x2be, have: 0x9a, conf: 0x2, oneway: true}, -} - -// matchScript holds pairs of scriptIDs where readers of one script -// can typically also read the other. Each is associated with a confidence. -// Size: 24 bytes, 4 elements -var matchScript = [4]scriptIntelligibility{ - 0: {lang: 0x235, want: 0x4f, have: 0x1d, conf: 0x2}, - 1: {lang: 0x235, want: 0x1d, have: 0x4f, conf: 0x2}, - 2: {lang: 0x0, want: 0x32, have: 0x33, conf: 0x1}, - 3: {lang: 0x0, want: 0x33, have: 0x32, conf: 0x1}, -} - -// Size: 128 bytes, 32 elements -var regionContainment = [32]uint32{ - 0xffffffff, 0x000007a2, 0x00003044, 0x00000008, - 0x403c0010, 0x00000020, 0x00000040, 0x00000080, - 0x00000100, 0x00000200, 0x00000400, 0x2000384c, - 0x00001000, 0x00002000, 0x00004000, 0x00008000, - 0x00010000, 0x00020000, 0x00040000, 0x00080000, - 0x00100000, 0x00200000, 0x01c1c000, 0x00800000, - 0x01000000, 0x1e020000, 0x04000000, 0x08000000, - 0x10000000, 0x20002048, 0x40000000, 0x80000000, -} - -// regionInclusion maps region identifiers to sets of regions in regionInclusionBits, -// where each set holds all groupings that are directly connected in a region -// containment graph. -// Size: 355 bytes, 355 elements -var regionInclusion = [355]uint8{ - // Entry 0 - 3F - 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, - 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, - 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, - 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, - 0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x22, 0x23, - 0x25, 0x26, 0x21, 0x27, 0x28, 0x29, 0x2a, 0x25, - 0x2b, 0x23, 0x22, 0x25, 0x24, 0x29, 0x2c, 0x2d, - 0x23, 0x2e, 0x2c, 0x25, 0x2f, 0x30, 0x27, 0x25, - // Entry 40 - 7F - 0x27, 0x25, 0x24, 0x30, 0x21, 0x31, 0x32, 0x33, - 0x2f, 0x21, 0x26, 0x26, 0x26, 0x34, 0x2c, 0x28, - 0x27, 0x26, 0x35, 0x27, 0x21, 0x33, 0x22, 0x20, - 0x25, 0x2c, 0x25, 0x21, 0x36, 0x2d, 0x34, 0x29, - 0x21, 0x2e, 0x37, 0x25, 0x25, 0x20, 0x38, 0x38, - 0x27, 0x37, 0x38, 0x38, 0x2e, 0x39, 0x2e, 0x1f, - 0x37, 0x3a, 0x27, 0x3b, 0x2b, 0x20, 0x29, 0x34, - 0x26, 0x37, 0x25, 0x23, 0x27, 0x2b, 0x2c, 0x22, - // Entry 80 - BF - 0x2f, 0x2c, 0x2c, 0x25, 0x26, 0x39, 0x21, 0x33, - 0x3b, 0x2c, 0x27, 0x35, 0x21, 0x33, 0x39, 0x25, - 0x2d, 0x20, 0x38, 0x30, 0x37, 0x23, 0x2b, 0x24, - 0x21, 0x23, 0x24, 0x2b, 0x39, 0x2b, 0x25, 0x23, - 0x35, 0x20, 0x2e, 0x3c, 0x30, 0x3b, 0x2e, 0x25, - 0x35, 0x35, 0x23, 0x25, 0x3c, 0x30, 0x23, 0x25, - 0x34, 0x24, 0x2c, 0x31, 0x37, 0x29, 0x37, 0x38, - 0x38, 0x34, 0x32, 0x22, 0x25, 0x2e, 0x3b, 0x20, - // Entry C0 - FF - 0x22, 0x2c, 0x30, 0x35, 0x35, 0x3b, 0x25, 0x2c, - 0x25, 0x39, 0x2e, 0x24, 0x2e, 0x33, 0x30, 0x2e, - 0x31, 0x3a, 0x2c, 0x2a, 0x2c, 0x20, 0x33, 0x29, - 0x2b, 0x24, 0x20, 0x3b, 0x23, 0x28, 0x2a, 0x23, - 0x33, 0x20, 0x27, 0x28, 0x3a, 0x30, 0x24, 0x2d, - 0x2f, 0x28, 0x25, 0x23, 0x39, 0x20, 0x3b, 0x27, - 0x20, 0x23, 0x20, 0x20, 0x1e, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - // Entry 100 - 13F - 0x2e, 0x20, 0x2d, 0x22, 0x32, 0x2e, 0x23, 0x3a, - 0x2e, 0x38, 0x37, 0x30, 0x2c, 0x39, 0x2b, 0x2d, - 0x2c, 0x22, 0x2c, 0x2e, 0x27, 0x38, 0x26, 0x32, - 0x33, 0x25, 0x23, 0x31, 0x21, 0x25, 0x26, 0x21, - 0x2c, 0x30, 0x3c, 0x28, 0x30, 0x3c, 0x38, 0x28, - 0x30, 0x23, 0x25, 0x28, 0x35, 0x2e, 0x32, 0x2e, - 0x20, 0x21, 0x2f, 0x27, 0x3c, 0x22, 0x25, 0x20, - 0x27, 0x25, 0x25, 0x30, 0x3a, 0x28, 0x20, 0x28, - // Entry 140 - 17F - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x23, 0x23, 0x2e, 0x22, 0x31, 0x2e, - 0x26, 0x2e, 0x20, -} - -// regionInclusionBits is an array of bit vectors where every vector represents -// a set of region groupings. These sets are used to compute the distance -// between two regions for the purpose of language matching. -// Size: 288 bytes, 72 elements -var regionInclusionBits = [72]uint32{ - // Entry 0 - 1F - 0x82400813, 0x000007a3, 0x00003844, 0x20000808, - 0x403c0011, 0x00000022, 0x20000844, 0x00000082, - 0x00000102, 0x00000202, 0x00000402, 0x2000384d, - 0x00001804, 0x20002804, 0x00404000, 0x00408000, - 0x00410000, 0x02020000, 0x00040010, 0x00080010, - 0x00100010, 0x00200010, 0x01c1c001, 0x00c00000, - 0x01400000, 0x1e020001, 0x06000000, 0x0a000000, - 0x12000000, 0x20002848, 0x40000010, 0x80000001, - // Entry 20 - 3F - 0x00000001, 0x40000000, 0x00020000, 0x01000000, - 0x00008000, 0x00002000, 0x00000200, 0x00000008, - 0x00200000, 0x90000000, 0x00040000, 0x08000000, - 0x00000020, 0x84000000, 0x00000080, 0x00001000, - 0x00010000, 0x00000400, 0x04000000, 0x00000040, - 0x10000000, 0x00004000, 0x81000000, 0x88000000, - 0x00000100, 0x80020000, 0x00080000, 0x00100000, - 0x00800000, 0xffffffff, 0x82400fb3, 0xc27c0813, - // Entry 40 - 5F - 0xa240385f, 0x83c1c813, 0x9e420813, 0x92000001, - 0x86000001, 0x81400001, 0x8a000001, 0x82020001, -} - -// regionInclusionNext marks, for each entry in regionInclusionBits, the set of -// all groups that are reachable from the groups set in the respective entry. -// Size: 72 bytes, 72 elements -var regionInclusionNext = [72]uint8{ - // Entry 0 - 3F - 0x3d, 0x3e, 0x0b, 0x0b, 0x3f, 0x01, 0x0b, 0x01, - 0x01, 0x01, 0x01, 0x40, 0x0b, 0x0b, 0x16, 0x16, - 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x41, 0x16, - 0x16, 0x42, 0x19, 0x19, 0x19, 0x0b, 0x04, 0x00, - 0x00, 0x1e, 0x11, 0x18, 0x0f, 0x0d, 0x09, 0x03, - 0x15, 0x43, 0x12, 0x1b, 0x05, 0x44, 0x07, 0x0c, - 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x45, 0x46, - 0x08, 0x47, 0x13, 0x14, 0x17, 0x3d, 0x3d, 0x3d, - // Entry 40 - 7F - 0x3d, 0x3d, 0x3d, 0x42, 0x42, 0x41, 0x42, 0x42, -} - -type parentRel struct { - lang uint16 - script uint8 - maxScript uint8 - toRegion uint16 - fromRegion []uint16 -} - -// Size: 404 bytes, 5 elements -var parents = [5]parentRel{ - 0: {lang: 0x9a, script: 0x0, maxScript: 0x4f, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x71, 0x72, 0x73, 0x79, 0x7a, 0x7d, 0x7e, 0x7f, 0x81, 0x8a, 0x8b, 0x94, 0x95, 0x96, 0x97, 0x98, 0x9d, 0x9e, 0xa2, 0xa5, 0xa7, 0xab, 0xaf, 0xb2, 0xb3, 0xbd, 0xc4, 0xc8, 0xc9, 0xca, 0xcc, 0xce, 0xd0, 0xd3, 0xd4, 0xdb, 0xdd, 0xde, 0xe4, 0xe5, 0xe6, 0xe9, 0xee, 0x105, 0x107, 0x108, 0x109, 0x10b, 0x10c, 0x110, 0x115, 0x119, 0x11b, 0x11d, 0x123, 0x127, 0x12a, 0x12b, 0x12d, 0x12f, 0x136, 0x139, 0x13c, 0x13f, 0x15e, 0x15f, 0x161}}, - 1: {lang: 0x9a, script: 0x0, maxScript: 0x4f, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x70, 0xd7, 0x10a, 0x10d}}, - 2: {lang: 0x9c, script: 0x0, maxScript: 0x4f, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x87, 0x8d, 0xcd, 0xd6, 0xe0, 0xe2, 0xea, 0xef, 0x118, 0x132, 0x133, 0x138}}, - 3: {lang: 0x1ea, script: 0x0, maxScript: 0x4f, toRegion: 0xec, fromRegion: []uint16{0x29, 0x59, 0x89, 0xc4, 0xcf, 0x116, 0x124}}, - 4: {lang: 0x2bc, script: 0x33, maxScript: 0x33, toRegion: 0x8b, fromRegion: []uint16{0xc4}}, -} - -// Total table size 19913 bytes (19KiB); checksum: 668A5EA2 diff --git a/vendor/golang.org/x/text/language/tags.go b/vendor/golang.org/x/text/language/tags.go deleted file mode 100644 index de30155a2..000000000 --- a/vendor/golang.org/x/text/language/tags.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package language - -// TODO: Various sets of commonly use tags and regions. - -// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed. -// It simplifies safe initialization of Tag values. -func MustParse(s string) Tag { - t, err := Parse(s) - if err != nil { - panic(err) - } - return t -} - -// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed. -// It simplifies safe initialization of Tag values. -func (c CanonType) MustParse(s string) Tag { - t, err := c.Parse(s) - if err != nil { - panic(err) - } - return t -} - -// MustParseBase is like ParseBase, but panics if the given base cannot be parsed. -// It simplifies safe initialization of Base values. -func MustParseBase(s string) Base { - b, err := ParseBase(s) - if err != nil { - panic(err) - } - return b -} - -// MustParseScript is like ParseScript, but panics if the given script cannot be -// parsed. It simplifies safe initialization of Script values. -func MustParseScript(s string) Script { - scr, err := ParseScript(s) - if err != nil { - panic(err) - } - return scr -} - -// MustParseRegion is like ParseRegion, but panics if the given region cannot be -// parsed. It simplifies safe initialization of Region values. -func MustParseRegion(s string) Region { - r, err := ParseRegion(s) - if err != nil { - panic(err) - } - return r -} - -var ( - und = Tag{} - - Und Tag = Tag{} - - Afrikaans Tag = Tag{lang: _af} // af - Amharic Tag = Tag{lang: _am} // am - Arabic Tag = Tag{lang: _ar} // ar - ModernStandardArabic Tag = Tag{lang: _ar, region: _001} // ar-001 - Azerbaijani Tag = Tag{lang: _az} // az - Bulgarian Tag = Tag{lang: _bg} // bg - Bengali Tag = Tag{lang: _bn} // bn - Catalan Tag = Tag{lang: _ca} // ca - Czech Tag = Tag{lang: _cs} // cs - Danish Tag = Tag{lang: _da} // da - German Tag = Tag{lang: _de} // de - Greek Tag = Tag{lang: _el} // el - English Tag = Tag{lang: _en} // en - AmericanEnglish Tag = Tag{lang: _en, region: _US} // en-US - BritishEnglish Tag = Tag{lang: _en, region: _GB} // en-GB - Spanish Tag = Tag{lang: _es} // es - EuropeanSpanish Tag = Tag{lang: _es, region: _ES} // es-ES - LatinAmericanSpanish Tag = Tag{lang: _es, region: _419} // es-419 - Estonian Tag = Tag{lang: _et} // et - Persian Tag = Tag{lang: _fa} // fa - Finnish Tag = Tag{lang: _fi} // fi - Filipino Tag = Tag{lang: _fil} // fil - French Tag = Tag{lang: _fr} // fr - CanadianFrench Tag = Tag{lang: _fr, region: _CA} // fr-CA - Gujarati Tag = Tag{lang: _gu} // gu - Hebrew Tag = Tag{lang: _he} // he - Hindi Tag = Tag{lang: _hi} // hi - Croatian Tag = Tag{lang: _hr} // hr - Hungarian Tag = Tag{lang: _hu} // hu - Armenian Tag = Tag{lang: _hy} // hy - Indonesian Tag = Tag{lang: _id} // id - Icelandic Tag = Tag{lang: _is} // is - Italian Tag = Tag{lang: _it} // it - Japanese Tag = Tag{lang: _ja} // ja - Georgian Tag = Tag{lang: _ka} // ka - Kazakh Tag = Tag{lang: _kk} // kk - Khmer Tag = Tag{lang: _km} // km - Kannada Tag = Tag{lang: _kn} // kn - Korean Tag = Tag{lang: _ko} // ko - Kirghiz Tag = Tag{lang: _ky} // ky - Lao Tag = Tag{lang: _lo} // lo - Lithuanian Tag = Tag{lang: _lt} // lt - Latvian Tag = Tag{lang: _lv} // lv - Macedonian Tag = Tag{lang: _mk} // mk - Malayalam Tag = Tag{lang: _ml} // ml - Mongolian Tag = Tag{lang: _mn} // mn - Marathi Tag = Tag{lang: _mr} // mr - Malay Tag = Tag{lang: _ms} // ms - Burmese Tag = Tag{lang: _my} // my - Nepali Tag = Tag{lang: _ne} // ne - Dutch Tag = Tag{lang: _nl} // nl - Norwegian Tag = Tag{lang: _no} // no - Punjabi Tag = Tag{lang: _pa} // pa - Polish Tag = Tag{lang: _pl} // pl - Portuguese Tag = Tag{lang: _pt} // pt - BrazilianPortuguese Tag = Tag{lang: _pt, region: _BR} // pt-BR - EuropeanPortuguese Tag = Tag{lang: _pt, region: _PT} // pt-PT - Romanian Tag = Tag{lang: _ro} // ro - Russian Tag = Tag{lang: _ru} // ru - Sinhala Tag = Tag{lang: _si} // si - Slovak Tag = Tag{lang: _sk} // sk - Slovenian Tag = Tag{lang: _sl} // sl - Albanian Tag = Tag{lang: _sq} // sq - Serbian Tag = Tag{lang: _sr} // sr - SerbianLatin Tag = Tag{lang: _sr, script: _Latn} // sr-Latn - Swedish Tag = Tag{lang: _sv} // sv - Swahili Tag = Tag{lang: _sw} // sw - Tamil Tag = Tag{lang: _ta} // ta - Telugu Tag = Tag{lang: _te} // te - Thai Tag = Tag{lang: _th} // th - Turkish Tag = Tag{lang: _tr} // tr - Ukrainian Tag = Tag{lang: _uk} // uk - Urdu Tag = Tag{lang: _ur} // ur - Uzbek Tag = Tag{lang: _uz} // uz - Vietnamese Tag = Tag{lang: _vi} // vi - Chinese Tag = Tag{lang: _zh} // zh - SimplifiedChinese Tag = Tag{lang: _zh, script: _Hans} // zh-Hans - TraditionalChinese Tag = Tag{lang: _zh, script: _Hant} // zh-Hant - Zulu Tag = Tag{lang: _zu} // zu -) diff --git a/vendor/golang.org/x/text/runes/cond.go b/vendor/golang.org/x/text/runes/cond.go deleted file mode 100644 index ae7a92158..000000000 --- a/vendor/golang.org/x/text/runes/cond.go +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package runes - -import ( - "unicode/utf8" - - "golang.org/x/text/transform" -) - -// Note: below we pass invalid UTF-8 to the tIn and tNotIn transformers as is. -// This is done for various reasons: -// - To retain the semantics of the Nop transformer: if input is passed to a Nop -// one would expect it to be unchanged. -// - It would be very expensive to pass a converted RuneError to a transformer: -// a transformer might need more source bytes after RuneError, meaning that -// the only way to pass it safely is to create a new buffer and manage the -// intermingling of RuneErrors and normal input. -// - Many transformers leave ill-formed UTF-8 as is, so this is not -// inconsistent. Generally ill-formed UTF-8 is only replaced if it is a -// logical consequence of the operation (as for Map) or if it otherwise would -// pose security concerns (as for Remove). -// - An alternative would be to return an error on ill-formed UTF-8, but this -// would be inconsistent with other operations. - -// If returns a transformer that applies tIn to consecutive runes for which -// s.Contains(r) and tNotIn to consecutive runes for which !s.Contains(r). Reset -// is called on tIn and tNotIn at the start of each run. A Nop transformer will -// substitute a nil value passed to tIn or tNotIn. Invalid UTF-8 is translated -// to RuneError to determine which transformer to apply, but is passed as is to -// the respective transformer. -func If(s Set, tIn, tNotIn transform.Transformer) Transformer { - if tIn == nil && tNotIn == nil { - return Transformer{transform.Nop} - } - if tIn == nil { - tIn = transform.Nop - } - if tNotIn == nil { - tNotIn = transform.Nop - } - a := &cond{ - tIn: tIn, - tNotIn: tNotIn, - f: s.Contains, - } - a.Reset() - return Transformer{a} -} - -type cond struct { - tIn, tNotIn transform.Transformer - f func(rune) bool - check func(rune) bool // current check to perform - t transform.Transformer // current transformer to use -} - -// Reset implements transform.Transformer. -func (t *cond) Reset() { - t.check = t.is - t.t = t.tIn - t.t.Reset() // notIn will be reset on first usage. -} - -func (t *cond) is(r rune) bool { - if t.f(r) { - return true - } - t.check = t.isNot - t.t = t.tNotIn - t.tNotIn.Reset() - return false -} - -func (t *cond) isNot(r rune) bool { - if !t.f(r) { - return true - } - t.check = t.is - t.t = t.tIn - t.tIn.Reset() - return false -} - -func (t *cond) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - p := 0 - for nSrc < len(src) && err == nil { - // Don't process too much at a time, as the work might be wasted if the - // destination buffer isn't large enough to hold the result or a - // transform returns an error early. - const maxChunk = 4096 - max := len(src) - if n := nSrc + maxChunk; n < len(src) { - max = n - } - atEnd := false - size := 0 - current := t.t - for ; p < max; p += size { - var r rune - r, size = utf8.DecodeRune(src[p:]) - if r == utf8.RuneError && size == 1 { - if !atEOF && !utf8.FullRune(src[p:]) { - err = transform.ErrShortSrc - break - } - } - if !t.check(r) { - // The next rune will be the start of a new run. - atEnd = true - break - } - } - nDst2, nSrc2, err2 := current.Transform(dst[nDst:], src[nSrc:p], atEnd || (atEOF && p == len(src))) - nDst += nDst2 - nSrc += nSrc2 - if err2 != nil { - return nDst, nSrc, err2 - } - // At this point either err != nil or t.check will pass for the rune at p. - p = nSrc + size - } - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/runes/runes.go b/vendor/golang.org/x/text/runes/runes.go deleted file mode 100644 index 291de656b..000000000 --- a/vendor/golang.org/x/text/runes/runes.go +++ /dev/null @@ -1,278 +0,0 @@ -// Copyright 2014 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package runes provide transforms for UTF-8 encoded text. -package runes - -import ( - "unicode" - "unicode/utf8" - - "golang.org/x/text/transform" -) - -// A Set is a collection of runes. -type Set interface { - // Contains returns true if r is contained in the set. - Contains(r rune) bool -} - -type setFunc func(rune) bool - -func (s setFunc) Contains(r rune) bool { - return s(r) -} - -// Note: using funcs here instead of wrapping types result in cleaner -// documentation and a smaller API. - -// In creates a Set with a Contains method that returns true for all runes in -// the given RangeTable. -func In(rt *unicode.RangeTable) Set { - return setFunc(func(r rune) bool { return unicode.Is(rt, r) }) -} - -// In creates a Set with a Contains method that returns true for all runes not -// in the given RangeTable. -func NotIn(rt *unicode.RangeTable) Set { - return setFunc(func(r rune) bool { return !unicode.Is(rt, r) }) -} - -// Predicate creates a Set with a Contains method that returns f(r). -func Predicate(f func(rune) bool) Set { - return setFunc(f) -} - -// Transformer implements the transform.Transformer interface. -type Transformer struct { - transform.Transformer -} - -// Bytes returns a new byte slice with the result of converting b using t. It -// calls Reset on t. It returns nil if any error was found. This can only happen -// if an error-producing Transformer is passed to If. -func (t Transformer) Bytes(b []byte) []byte { - b, _, err := transform.Bytes(t, b) - if err != nil { - return nil - } - return b -} - -// String returns a string with the result of converting s using t. It calls -// Reset on t. It returns the empty string if any error was found. This can only -// happen if an error-producing Transformer is passed to If. -func (t Transformer) String(s string) string { - s, _, err := transform.String(t, s) - if err != nil { - return "" - } - return s -} - -// TODO: -// - Copy: copying strings and bytes in whole-rune units. -// - Validation (maybe) -// - Well-formed-ness (maybe) - -const runeErrorString = string(utf8.RuneError) - -// Remove returns a Transformer that removes runes r for which s.Contains(r). -// Illegal input bytes are replaced by RuneError before being passed to f. -func Remove(s Set) Transformer { - if f, ok := s.(setFunc); ok { - // This little trick cuts the running time of BenchmarkRemove for sets - // created by Predicate roughly in half. - // TODO: special-case RangeTables as well. - return Transformer{remove(f)} - } - return Transformer{remove(s.Contains)} -} - -// TODO: remove transform.RemoveFunc. - -type remove func(r rune) bool - -func (remove) Reset() {} - -// Transform implements transform.Transformer. -func (t remove) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - for r, size := rune(0), 0; nSrc < len(src); { - if r = rune(src[nSrc]); r < utf8.RuneSelf { - size = 1 - } else { - r, size = utf8.DecodeRune(src[nSrc:]) - - if size == 1 { - // Invalid rune. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - // We replace illegal bytes with RuneError. Not doing so might - // otherwise turn a sequence of invalid UTF-8 into valid UTF-8. - // The resulting byte sequence may subsequently contain runes - // for which t(r) is true that were passed unnoticed. - if !t(utf8.RuneError) { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = runeErrorString[0] - dst[nDst+1] = runeErrorString[1] - dst[nDst+2] = runeErrorString[2] - nDst += 3 - } - nSrc++ - continue - } - } - - if t(r) { - nSrc += size - continue - } - if nDst+size > len(dst) { - err = transform.ErrShortDst - break - } - for i := 0; i < size; i++ { - dst[nDst] = src[nSrc] - nDst++ - nSrc++ - } - } - return -} - -// Map returns a Transformer that maps the runes in the input using the given -// mapping. Illegal bytes in the input are converted to utf8.RuneError before -// being passed to the mapping func. -func Map(mapping func(rune) rune) Transformer { - return Transformer{mapper(mapping)} -} - -type mapper func(rune) rune - -func (mapper) Reset() {} - -// Transform implements transform.Transformer. -func (t mapper) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - var replacement rune - var b [utf8.UTFMax]byte - - for r, size := rune(0), 0; nSrc < len(src); { - if r = rune(src[nSrc]); r < utf8.RuneSelf { - if replacement = t(r); replacement < utf8.RuneSelf { - if nDst == len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = byte(replacement) - nDst++ - nSrc++ - continue - } - size = 1 - } else if r, size = utf8.DecodeRune(src[nSrc:]); size == 1 { - // Invalid rune. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - - if replacement = t(utf8.RuneError); replacement == utf8.RuneError { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = runeErrorString[0] - dst[nDst+1] = runeErrorString[1] - dst[nDst+2] = runeErrorString[2] - nDst += 3 - nSrc++ - continue - } - } else if replacement = t(r); replacement == r { - if nDst+size > len(dst) { - err = transform.ErrShortDst - break - } - for i := 0; i < size; i++ { - dst[nDst] = src[nSrc] - nDst++ - nSrc++ - } - continue - } - - n := utf8.EncodeRune(b[:], replacement) - - if nDst+n > len(dst) { - err = transform.ErrShortDst - break - } - for i := 0; i < n; i++ { - dst[nDst] = b[i] - nDst++ - } - nSrc += size - } - return -} - -// ReplaceIllFormed returns a transformer that replaces all input bytes that are -// not part of a well-formed UTF-8 code sequence with utf8.RuneError. -func ReplaceIllFormed() Transformer { - return Transformer{&replaceIllFormed{}} -} - -type replaceIllFormed struct{ transform.NopResetter } - -func (t replaceIllFormed) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - for nSrc < len(src) { - r, size := utf8.DecodeRune(src[nSrc:]) - - // Look for an ASCII rune. - if r < utf8.RuneSelf { - if nDst == len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = byte(r) - nDst++ - nSrc++ - continue - } - - // Look for a valid non-ASCII rune. - if r != utf8.RuneError || size != 1 { - if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { - err = transform.ErrShortDst - break - } - nDst += size - nSrc += size - continue - } - - // Look for short source data. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - - // We have an invalid rune. - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = runeErrorString[0] - dst[nDst+1] = runeErrorString[1] - dst[nDst+2] = runeErrorString[2] - nDst += 3 - nSrc++ - } - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go deleted file mode 100644 index f79b461b8..000000000 --- a/vendor/golang.org/x/text/transform/transform.go +++ /dev/null @@ -1,630 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package transform provides reader and writer wrappers that transform the -// bytes passing through as well as various transformations. Example -// transformations provided by other packages include normalization and -// conversion between character sets. -package transform - -import ( - "bytes" - "errors" - "io" - "unicode/utf8" -) - -var ( - // ErrShortDst means that the destination buffer was too short to - // receive all of the transformed bytes. - ErrShortDst = errors.New("transform: short destination buffer") - - // ErrShortSrc means that the source buffer has insufficient data to - // complete the transformation. - ErrShortSrc = errors.New("transform: short source buffer") - - // errInconsistentByteCount means that Transform returned success (nil - // error) but also returned nSrc inconsistent with the src argument. - errInconsistentByteCount = errors.New("transform: inconsistent byte count returned") - - // errShortInternal means that an internal buffer is not large enough - // to make progress and the Transform operation must be aborted. - errShortInternal = errors.New("transform: short internal buffer") -) - -// Transformer transforms bytes. -type Transformer interface { - // Transform writes to dst the transformed bytes read from src, and - // returns the number of dst bytes written and src bytes read. The - // atEOF argument tells whether src represents the last bytes of the - // input. - // - // Callers should always process the nDst bytes produced and account - // for the nSrc bytes consumed before considering the error err. - // - // A nil error means that all of the transformed bytes (whether freshly - // transformed from src or left over from previous Transform calls) - // were written to dst. A nil error can be returned regardless of - // whether atEOF is true. If err is nil then nSrc must equal len(src); - // the converse is not necessarily true. - // - // ErrShortDst means that dst was too short to receive all of the - // transformed bytes. ErrShortSrc means that src had insufficient data - // to complete the transformation. If both conditions apply, then - // either error may be returned. Other than the error conditions listed - // here, implementations are free to report other errors that arise. - Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) - - // Reset resets the state and allows a Transformer to be reused. - Reset() -} - -// NopResetter can be embedded by implementations of Transformer to add a nop -// Reset method. -type NopResetter struct{} - -// Reset implements the Reset method of the Transformer interface. -func (NopResetter) Reset() {} - -// Reader wraps another io.Reader by transforming the bytes read. -type Reader struct { - r io.Reader - t Transformer - err error - - // dst[dst0:dst1] contains bytes that have been transformed by t but - // not yet copied out via Read. - dst []byte - dst0, dst1 int - - // src[src0:src1] contains bytes that have been read from r but not - // yet transformed through t. - src []byte - src0, src1 int - - // transformComplete is whether the transformation is complete, - // regardless of whether or not it was successful. - transformComplete bool -} - -const defaultBufSize = 4096 - -// NewReader returns a new Reader that wraps r by transforming the bytes read -// via t. It calls Reset on t. -func NewReader(r io.Reader, t Transformer) *Reader { - t.Reset() - return &Reader{ - r: r, - t: t, - dst: make([]byte, defaultBufSize), - src: make([]byte, defaultBufSize), - } -} - -// Read implements the io.Reader interface. -func (r *Reader) Read(p []byte) (int, error) { - n, err := 0, error(nil) - for { - // Copy out any transformed bytes and return the final error if we are done. - if r.dst0 != r.dst1 { - n = copy(p, r.dst[r.dst0:r.dst1]) - r.dst0 += n - if r.dst0 == r.dst1 && r.transformComplete { - return n, r.err - } - return n, nil - } else if r.transformComplete { - return 0, r.err - } - - // Try to transform some source bytes, or to flush the transformer if we - // are out of source bytes. We do this even if r.r.Read returned an error. - // As the io.Reader documentation says, "process the n > 0 bytes returned - // before considering the error". - if r.src0 != r.src1 || r.err != nil { - r.dst0 = 0 - r.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF) - r.src0 += n - - switch { - case err == nil: - if r.src0 != r.src1 { - r.err = errInconsistentByteCount - } - // The Transform call was successful; we are complete if we - // cannot read more bytes into src. - r.transformComplete = r.err != nil - continue - case err == ErrShortDst && (r.dst1 != 0 || n != 0): - // Make room in dst by copying out, and try again. - continue - case err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil: - // Read more bytes into src via the code below, and try again. - default: - r.transformComplete = true - // The reader error (r.err) takes precedence over the - // transformer error (err) unless r.err is nil or io.EOF. - if r.err == nil || r.err == io.EOF { - r.err = err - } - continue - } - } - - // Move any untransformed source bytes to the start of the buffer - // and read more bytes. - if r.src0 != 0 { - r.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1]) - } - n, r.err = r.r.Read(r.src[r.src1:]) - r.src1 += n - } -} - -// TODO: implement ReadByte (and ReadRune??). - -// Writer wraps another io.Writer by transforming the bytes read. -// The user needs to call Close to flush unwritten bytes that may -// be buffered. -type Writer struct { - w io.Writer - t Transformer - dst []byte - - // src[:n] contains bytes that have not yet passed through t. - src []byte - n int -} - -// NewWriter returns a new Writer that wraps w by transforming the bytes written -// via t. It calls Reset on t. -func NewWriter(w io.Writer, t Transformer) *Writer { - t.Reset() - return &Writer{ - w: w, - t: t, - dst: make([]byte, defaultBufSize), - src: make([]byte, defaultBufSize), - } -} - -// Write implements the io.Writer interface. If there are not enough -// bytes available to complete a Transform, the bytes will be buffered -// for the next write. Call Close to convert the remaining bytes. -func (w *Writer) Write(data []byte) (n int, err error) { - src := data - if w.n > 0 { - // Append bytes from data to the last remainder. - // TODO: limit the amount copied on first try. - n = copy(w.src[w.n:], data) - w.n += n - src = w.src[:w.n] - } - for { - nDst, nSrc, err := w.t.Transform(w.dst, src, false) - if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { - return n, werr - } - src = src[nSrc:] - if w.n > 0 && len(src) <= n { - // Enough bytes from w.src have been consumed. We make src point - // to data instead to reduce the copying. - w.n = 0 - n -= len(src) - src = data[n:] - if n < len(data) && (err == nil || err == ErrShortSrc) { - continue - } - } else { - n += nSrc - } - switch { - case err == ErrShortDst && (nDst > 0 || nSrc > 0): - case err == ErrShortSrc && len(src) < len(w.src): - m := copy(w.src, src) - // If w.n > 0, bytes from data were already copied to w.src and n - // was already set to the number of bytes consumed. - if w.n == 0 { - n += m - } - w.n = m - return n, nil - case err == nil && w.n > 0: - return n, errInconsistentByteCount - default: - return n, err - } - } -} - -// Close implements the io.Closer interface. -func (w *Writer) Close() error { - for src := w.src[:w.n]; len(src) > 0; { - nDst, nSrc, err := w.t.Transform(w.dst, src, true) - if nDst == 0 { - return err - } - if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { - return werr - } - if err != ErrShortDst { - return err - } - src = src[nSrc:] - } - return nil -} - -type nop struct{ NopResetter } - -func (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - n := copy(dst, src) - if n < len(src) { - err = ErrShortDst - } - return n, n, err -} - -type discard struct{ NopResetter } - -func (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - return 0, len(src), nil -} - -var ( - // Discard is a Transformer for which all Transform calls succeed - // by consuming all bytes and writing nothing. - Discard Transformer = discard{} - - // Nop is a Transformer that copies src to dst. - Nop Transformer = nop{} -) - -// chain is a sequence of links. A chain with N Transformers has N+1 links and -// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst -// buffers given to chain.Transform and the middle N-1 buffers are intermediate -// buffers owned by the chain. The i'th link transforms bytes from the i'th -// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer -// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N). -type chain struct { - link []link - err error - // errStart is the index at which the error occurred plus 1. Processing - // errStart at this level at the next call to Transform. As long as - // errStart > 0, chain will not consume any more source bytes. - errStart int -} - -func (c *chain) fatalError(errIndex int, err error) { - if i := errIndex + 1; i > c.errStart { - c.errStart = i - c.err = err - } -} - -type link struct { - t Transformer - // b[p:n] holds the bytes to be transformed by t. - b []byte - p int - n int -} - -func (l *link) src() []byte { - return l.b[l.p:l.n] -} - -func (l *link) dst() []byte { - return l.b[l.n:] -} - -// Chain returns a Transformer that applies t in sequence. -func Chain(t ...Transformer) Transformer { - if len(t) == 0 { - return nop{} - } - c := &chain{link: make([]link, len(t)+1)} - for i, tt := range t { - c.link[i].t = tt - } - // Allocate intermediate buffers. - b := make([][defaultBufSize]byte, len(t)-1) - for i := range b { - c.link[i+1].b = b[i][:] - } - return c -} - -// Reset resets the state of Chain. It calls Reset on all the Transformers. -func (c *chain) Reset() { - for i, l := range c.link { - if l.t != nil { - l.t.Reset() - } - c.link[i].p, c.link[i].n = 0, 0 - } -} - -// Transform applies the transformers of c in sequence. -func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - // Set up src and dst in the chain. - srcL := &c.link[0] - dstL := &c.link[len(c.link)-1] - srcL.b, srcL.p, srcL.n = src, 0, len(src) - dstL.b, dstL.n = dst, 0 - var lastFull, needProgress bool // for detecting progress - - // i is the index of the next Transformer to apply, for i in [low, high]. - // low is the lowest index for which c.link[low] may still produce bytes. - // high is the highest index for which c.link[high] has a Transformer. - // The error returned by Transform determines whether to increase or - // decrease i. We try to completely fill a buffer before converting it. - for low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; { - in, out := &c.link[i], &c.link[i+1] - nDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i) - out.n += nDst - in.p += nSrc - if i > 0 && in.p == in.n { - in.p, in.n = 0, 0 - } - needProgress, lastFull = lastFull, false - switch err0 { - case ErrShortDst: - // Process the destination buffer next. Return if we are already - // at the high index. - if i == high { - return dstL.n, srcL.p, ErrShortDst - } - if out.n != 0 { - i++ - // If the Transformer at the next index is not able to process any - // source bytes there is nothing that can be done to make progress - // and the bytes will remain unprocessed. lastFull is used to - // detect this and break out of the loop with a fatal error. - lastFull = true - continue - } - // The destination buffer was too small, but is completely empty. - // Return a fatal error as this transformation can never complete. - c.fatalError(i, errShortInternal) - case ErrShortSrc: - if i == 0 { - // Save ErrShortSrc in err. All other errors take precedence. - err = ErrShortSrc - break - } - // Source bytes were depleted before filling up the destination buffer. - // Verify we made some progress, move the remaining bytes to the errStart - // and try to get more source bytes. - if needProgress && nSrc == 0 || in.n-in.p == len(in.b) { - // There were not enough source bytes to proceed while the source - // buffer cannot hold any more bytes. Return a fatal error as this - // transformation can never complete. - c.fatalError(i, errShortInternal) - break - } - // in.b is an internal buffer and we can make progress. - in.p, in.n = 0, copy(in.b, in.src()) - fallthrough - case nil: - // if i == low, we have depleted the bytes at index i or any lower levels. - // In that case we increase low and i. In all other cases we decrease i to - // fetch more bytes before proceeding to the next index. - if i > low { - i-- - continue - } - default: - c.fatalError(i, err0) - } - // Exhausted level low or fatal error: increase low and continue - // to process the bytes accepted so far. - i++ - low = i - } - - // If c.errStart > 0, this means we found a fatal error. We will clear - // all upstream buffers. At this point, no more progress can be made - // downstream, as Transform would have bailed while handling ErrShortDst. - if c.errStart > 0 { - for i := 1; i < c.errStart; i++ { - c.link[i].p, c.link[i].n = 0, 0 - } - err, c.errStart, c.err = c.err, 0, nil - } - return dstL.n, srcL.p, err -} - -// RemoveFunc returns a Transformer that removes from the input all runes r for -// which f(r) is true. Illegal bytes in the input are replaced by RuneError. -func RemoveFunc(f func(r rune) bool) Transformer { - return removeF(f) -} - -type removeF func(r rune) bool - -func (removeF) Reset() {} - -// Transform implements the Transformer interface. -func (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - for r, sz := rune(0), 0; len(src) > 0; src = src[sz:] { - - if r = rune(src[0]); r < utf8.RuneSelf { - sz = 1 - } else { - r, sz = utf8.DecodeRune(src) - - if sz == 1 { - // Invalid rune. - if !atEOF && !utf8.FullRune(src) { - err = ErrShortSrc - break - } - // We replace illegal bytes with RuneError. Not doing so might - // otherwise turn a sequence of invalid UTF-8 into valid UTF-8. - // The resulting byte sequence may subsequently contain runes - // for which t(r) is true that were passed unnoticed. - if !t(r) { - if nDst+3 > len(dst) { - err = ErrShortDst - break - } - nDst += copy(dst[nDst:], "\uFFFD") - } - nSrc++ - continue - } - } - - if !t(r) { - if nDst+sz > len(dst) { - err = ErrShortDst - break - } - nDst += copy(dst[nDst:], src[:sz]) - } - nSrc += sz - } - return -} - -// grow returns a new []byte that is longer than b, and copies the first n bytes -// of b to the start of the new slice. -func grow(b []byte, n int) []byte { - m := len(b) - if m <= 256 { - m *= 2 - } else { - m += m >> 1 - } - buf := make([]byte, m) - copy(buf, b[:n]) - return buf -} - -const initialBufSize = 128 - -// String returns a string with the result of converting s[:n] using t, where -// n <= len(s). If err == nil, n will be len(s). It calls Reset on t. -func String(t Transformer, s string) (result string, n int, err error) { - if s == "" { - return "", 0, nil - } - - t.Reset() - - // Allocate only once. Note that both dst and src escape when passed to - // Transform. - buf := [2 * initialBufSize]byte{} - dst := buf[:initialBufSize:initialBufSize] - src := buf[initialBufSize : 2*initialBufSize] - - // Avoid allocation if the transformed string is identical to the original. - // After this loop, pDst will point to the furthest point in s for which it - // could be detected that t gives equal results, src[:nSrc] will - // indicated the last processed chunk of s for which the output is not equal - // and dst[:nDst] will be the transform of this chunk. - var nDst, nSrc int - pDst := 0 // Used as index in both src and dst in this loop. - for { - n := copy(src, s[pDst:]) - nDst, nSrc, err = t.Transform(dst, src[:n], pDst+n == len(s)) - - // Note 1: we will not enter the loop with pDst == len(s) and we will - // not end the loop with it either. So if nSrc is 0, this means there is - // some kind of error from which we cannot recover given the current - // buffer sizes. We will give up in this case. - // Note 2: it is not entirely correct to simply do a bytes.Equal as - // a Transformer may buffer internally. It will work in most cases, - // though, and no harm is done if it doesn't work. - // TODO: let transformers implement an optional Spanner interface, akin - // to norm's QuickSpan. This would even allow us to avoid any allocation. - if nSrc == 0 || !bytes.Equal(dst[:nDst], src[:nSrc]) { - break - } - - if pDst += nDst; pDst == len(s) { - return s, pDst, nil - } - } - - // Move the bytes seen so far to dst. - pSrc := pDst + nSrc - if pDst+nDst <= initialBufSize { - copy(dst[pDst:], dst[:nDst]) - } else { - b := make([]byte, len(s)+nDst-nSrc) - copy(b[pDst:], dst[:nDst]) - dst = b - } - copy(dst, s[:pDst]) - pDst += nDst - - if err != nil && err != ErrShortDst && err != ErrShortSrc { - return string(dst[:pDst]), pSrc, err - } - - // Complete the string with the remainder. - for { - n := copy(src, s[pSrc:]) - nDst, nSrc, err = t.Transform(dst[pDst:], src[:n], pSrc+n == len(s)) - pDst += nDst - pSrc += nSrc - - switch err { - case nil: - if pSrc == len(s) { - return string(dst[:pDst]), pSrc, nil - } - case ErrShortDst: - // Do not grow as long as we can make progress. This may avoid - // excessive allocations. - if nDst == 0 { - dst = grow(dst, pDst) - } - case ErrShortSrc: - if nSrc == 0 { - src = grow(src, 0) - } - default: - return string(dst[:pDst]), pSrc, err - } - } -} - -// Bytes returns a new byte slice with the result of converting b[:n] using t, -// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t. -func Bytes(t Transformer, b []byte) (result []byte, n int, err error) { - return doAppend(t, 0, make([]byte, len(b)), b) -} - -// Append appends the result of converting src[:n] using t to dst, where -// n <= len(src), If err == nil, n will be len(src). It calls Reset on t. -func Append(t Transformer, dst, src []byte) (result []byte, n int, err error) { - if len(dst) == cap(dst) { - n := len(src) + len(dst) // It is okay for this to be 0. - b := make([]byte, n) - dst = b[:copy(b, dst)] - } - return doAppend(t, len(dst), dst[:cap(dst)], src) -} - -func doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) { - t.Reset() - pSrc := 0 - for { - nDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true) - pDst += nDst - pSrc += nSrc - if err != ErrShortDst { - return dst[:pDst], pSrc, err - } - - // Grow the destination buffer, but do not grow as long as we can make - // progress. This may avoid excessive allocations. - if nDst == 0 { - dst = grow(dst, pDst) - } - } -} diff --git a/vendor/google.golang.org/api/googleapi/transport/apikey.go b/vendor/google.golang.org/api/googleapi/transport/apikey.go deleted file mode 100644 index eca1ea250..000000000 --- a/vendor/google.golang.org/api/googleapi/transport/apikey.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package transport contains HTTP transports used to make -// authenticated API requests. -package transport - -import ( - "errors" - "net/http" -) - -// APIKey is an HTTP Transport which wraps an underlying transport and -// appends an API Key "key" parameter to the URL of outgoing requests. -type APIKey struct { - // Key is the API Key to set on requests. - Key string - - // Transport is the underlying HTTP transport. - // If nil, http.DefaultTransport is used. - Transport http.RoundTripper -} - -func (t *APIKey) RoundTrip(req *http.Request) (*http.Response, error) { - rt := t.Transport - if rt == nil { - rt = http.DefaultTransport - if rt == nil { - return nil, errors.New("googleapi/transport: no Transport specified or available") - } - } - newReq := *req - args := newReq.URL.Query() - args.Set("key", t.Key) - newReq.URL.RawQuery = args.Encode() - return rt.RoundTrip(&newReq) -} diff --git a/vendor/google.golang.org/appengine/aetest/doc.go b/vendor/google.golang.org/appengine/aetest/doc.go deleted file mode 100644 index 86ce8c2c0..000000000 --- a/vendor/google.golang.org/appengine/aetest/doc.go +++ /dev/null @@ -1,42 +0,0 @@ -/* -Package aetest provides an API for running dev_appserver for use in tests. - -An example test file: - - package foo_test - - import ( - "testing" - - "google.golang.org/appengine/memcache" - "google.golang.org/appengine/aetest" - ) - - func TestFoo(t *testing.T) { - ctx, done, err := aetest.NewContext() - if err != nil { - t.Fatal(err) - } - defer done() - - it := &memcache.Item{ - Key: "some-key", - Value: []byte("some-value"), - } - err = memcache.Set(ctx, it) - if err != nil { - t.Fatalf("Set err: %v", err) - } - it, err = memcache.Get(ctx, "some-key") - if err != nil { - t.Fatalf("Get err: %v; want no error", err) - } - if g, w := string(it.Value), "some-value" ; g != w { - t.Errorf("retrieved Item.Value = %q, want %q", g, w) - } - } - -The environment variable APPENGINE_DEV_APPSERVER specifies the location of the -dev_appserver.py executable to use. If unset, the system PATH is consulted. -*/ -package aetest diff --git a/vendor/google.golang.org/appengine/aetest/instance.go b/vendor/google.golang.org/appengine/aetest/instance.go deleted file mode 100644 index a8f99d822..000000000 --- a/vendor/google.golang.org/appengine/aetest/instance.go +++ /dev/null @@ -1,51 +0,0 @@ -package aetest - -import ( - "io" - "net/http" - - "golang.org/x/net/context" - "google.golang.org/appengine" -) - -// Instance represents a running instance of the development API Server. -type Instance interface { - // Close kills the child api_server.py process, releasing its resources. - io.Closer - // NewRequest returns an *http.Request associated with this instance. - NewRequest(method, urlStr string, body io.Reader) (*http.Request, error) -} - -// Options is used to specify options when creating an Instance. -type Options struct { - // AppID specifies the App ID to use during tests. - // By default, "testapp". - AppID string - // StronglyConsistentDatastore is whether the local datastore should be - // strongly consistent. This will diverge from production behaviour. - StronglyConsistentDatastore bool -} - -// NewContext starts an instance of the development API server, and returns -// a context that will route all API calls to that server, as well as a -// closure that must be called when the Context is no longer required. -func NewContext() (context.Context, func(), error) { - inst, err := NewInstance(nil) - if err != nil { - return nil, nil, err - } - req, err := inst.NewRequest("GET", "/", nil) - if err != nil { - inst.Close() - return nil, nil, err - } - ctx := appengine.NewContext(req) - return ctx, func() { - inst.Close() - }, nil -} - -// PrepareDevAppserver is a hook which, if set, will be called before the -// dev_appserver.py is started, each time it is started. If aetest.NewContext -// is invoked from the goapp test tool, this hook is unnecessary. -var PrepareDevAppserver func() error diff --git a/vendor/google.golang.org/appengine/aetest/instance_classic.go b/vendor/google.golang.org/appengine/aetest/instance_classic.go deleted file mode 100644 index fbceaa505..000000000 --- a/vendor/google.golang.org/appengine/aetest/instance_classic.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build appengine - -package aetest - -import "appengine/aetest" - -// NewInstance launches a running instance of api_server.py which can be used -// for multiple test Contexts that delegate all App Engine API calls to that -// instance. -// If opts is nil the default values are used. -func NewInstance(opts *Options) (Instance, error) { - aetest.PrepareDevAppserver = PrepareDevAppserver - var aeOpts *aetest.Options - if opts != nil { - aeOpts = &aetest.Options{ - AppID: opts.AppID, - StronglyConsistentDatastore: opts.StronglyConsistentDatastore, - } - } - return aetest.NewInstance(aeOpts) -} diff --git a/vendor/google.golang.org/appengine/aetest/instance_vm.go b/vendor/google.golang.org/appengine/aetest/instance_vm.go deleted file mode 100644 index ee8148011..000000000 --- a/vendor/google.golang.org/appengine/aetest/instance_vm.go +++ /dev/null @@ -1,276 +0,0 @@ -// +build !appengine - -package aetest - -import ( - "bufio" - "crypto/rand" - "errors" - "fmt" - "io" - "io/ioutil" - "net/http" - "net/url" - "os" - "os/exec" - "path/filepath" - "regexp" - "time" - - "golang.org/x/net/context" - "google.golang.org/appengine/internal" -) - -// NewInstance launches a running instance of api_server.py which can be used -// for multiple test Contexts that delegate all App Engine API calls to that -// instance. -// If opts is nil the default values are used. -func NewInstance(opts *Options) (Instance, error) { - i := &instance{ - opts: opts, - appID: "testapp", - } - if opts != nil && opts.AppID != "" { - i.appID = opts.AppID - } - if err := i.startChild(); err != nil { - return nil, err - } - return i, nil -} - -func newSessionID() string { - var buf [16]byte - io.ReadFull(rand.Reader, buf[:]) - return fmt.Sprintf("%x", buf[:]) -} - -// instance implements the Instance interface. -type instance struct { - opts *Options - child *exec.Cmd - apiURL *url.URL // base URL of API HTTP server - adminURL string // base URL of admin HTTP server - appDir string - appID string - relFuncs []func() // funcs to release any associated contexts -} - -// NewRequest returns an *http.Request associated with this instance. -func (i *instance) NewRequest(method, urlStr string, body io.Reader) (*http.Request, error) { - req, err := http.NewRequest(method, urlStr, body) - if err != nil { - return nil, err - } - - // Associate this request. - release := internal.RegisterTestRequest(req, i.apiURL, func(ctx context.Context) context.Context { - ctx = internal.WithAppIDOverride(ctx, "dev~"+i.appID) - return ctx - }) - i.relFuncs = append(i.relFuncs, release) - - return req, nil -} - -// Close kills the child api_server.py process, releasing its resources. -func (i *instance) Close() (err error) { - for _, rel := range i.relFuncs { - rel() - } - i.relFuncs = nil - if i.child == nil { - return nil - } - defer func() { - i.child = nil - err1 := os.RemoveAll(i.appDir) - if err == nil { - err = err1 - } - }() - - if p := i.child.Process; p != nil { - errc := make(chan error, 1) - go func() { - errc <- i.child.Wait() - }() - - // Call the quit handler on the admin server. - res, err := http.Get(i.adminURL + "/quit") - if err != nil { - p.Kill() - return fmt.Errorf("unable to call /quit handler: %v", err) - } - res.Body.Close() - - select { - case <-time.After(15 * time.Second): - p.Kill() - return errors.New("timeout killing child process") - case err = <-errc: - // Do nothing. - } - } - return -} - -func fileExists(path string) bool { - _, err := os.Stat(path) - return err == nil -} - -func findPython() (path string, err error) { - for _, name := range []string{"python2.7", "python"} { - path, err = exec.LookPath(name) - if err == nil { - return - } - } - return -} - -func findDevAppserver() (string, error) { - if p := os.Getenv("APPENGINE_DEV_APPSERVER"); p != "" { - if fileExists(p) { - return p, nil - } - return "", fmt.Errorf("invalid APPENGINE_DEV_APPSERVER environment variable; path %q doesn't exist", p) - } - return exec.LookPath("dev_appserver.py") -} - -var apiServerAddrRE = regexp.MustCompile(`Starting API server at: (\S+)`) -var adminServerAddrRE = regexp.MustCompile(`Starting admin server at: (\S+)`) - -func (i *instance) startChild() (err error) { - if PrepareDevAppserver != nil { - if err := PrepareDevAppserver(); err != nil { - return err - } - } - python, err := findPython() - if err != nil { - return fmt.Errorf("Could not find python interpreter: %v", err) - } - devAppserver, err := findDevAppserver() - if err != nil { - return fmt.Errorf("Could not find dev_appserver.py: %v", err) - } - - i.appDir, err = ioutil.TempDir("", "appengine-aetest") - if err != nil { - return err - } - defer func() { - if err != nil { - os.RemoveAll(i.appDir) - } - }() - err = os.Mkdir(filepath.Join(i.appDir, "app"), 0755) - if err != nil { - return err - } - err = ioutil.WriteFile(filepath.Join(i.appDir, "app", "app.yaml"), []byte(i.appYAML()), 0644) - if err != nil { - return err - } - err = ioutil.WriteFile(filepath.Join(i.appDir, "app", "stubapp.go"), []byte(appSource), 0644) - if err != nil { - return err - } - - appserverArgs := []string{ - devAppserver, - "--port=0", - "--api_port=0", - "--admin_port=0", - "--automatic_restart=false", - "--skip_sdk_update_check=true", - "--clear_datastore=true", - "--clear_search_indexes=true", - "--datastore_path", filepath.Join(i.appDir, "datastore"), - } - if i.opts != nil && i.opts.StronglyConsistentDatastore { - appserverArgs = append(appserverArgs, "--datastore_consistency_policy=consistent") - } - appserverArgs = append(appserverArgs, filepath.Join(i.appDir, "app")) - - i.child = exec.Command(python, - appserverArgs..., - ) - i.child.Stdout = os.Stdout - var stderr io.Reader - stderr, err = i.child.StderrPipe() - if err != nil { - return err - } - stderr = io.TeeReader(stderr, os.Stderr) - if err = i.child.Start(); err != nil { - return err - } - - // Read stderr until we have read the URLs of the API server and admin interface. - errc := make(chan error, 1) - go func() { - s := bufio.NewScanner(stderr) - for s.Scan() { - if match := apiServerAddrRE.FindStringSubmatch(s.Text()); match != nil { - u, err := url.Parse(match[1]) - if err != nil { - errc <- fmt.Errorf("failed to parse API URL %q: %v", match[1], err) - return - } - i.apiURL = u - } - if match := adminServerAddrRE.FindStringSubmatch(s.Text()); match != nil { - i.adminURL = match[1] - } - if i.adminURL != "" && i.apiURL != nil { - break - } - } - errc <- s.Err() - }() - - select { - case <-time.After(15 * time.Second): - if p := i.child.Process; p != nil { - p.Kill() - } - return errors.New("timeout starting child process") - case err := <-errc: - if err != nil { - return fmt.Errorf("error reading child process stderr: %v", err) - } - } - if i.adminURL == "" { - return errors.New("unable to find admin server URL") - } - if i.apiURL == nil { - return errors.New("unable to find API server URL") - } - return nil -} - -func (i *instance) appYAML() string { - return fmt.Sprintf(appYAMLTemplate, i.appID) -} - -const appYAMLTemplate = ` -application: %s -version: 1 -runtime: go -api_version: go1 -vm: true - -handlers: -- url: /.* - script: _go_app -` - -const appSource = ` -package main -import "google.golang.org/appengine" -func main() { appengine.Main() } -` diff --git a/vendor/google.golang.org/appengine/aetest/user.go b/vendor/google.golang.org/appengine/aetest/user.go deleted file mode 100644 index bf9266f53..000000000 --- a/vendor/google.golang.org/appengine/aetest/user.go +++ /dev/null @@ -1,36 +0,0 @@ -package aetest - -import ( - "hash/crc32" - "net/http" - "strconv" - - "google.golang.org/appengine/user" -) - -// Login causes the provided Request to act as though issued by the given user. -func Login(u *user.User, req *http.Request) { - req.Header.Set("X-AppEngine-User-Email", u.Email) - id := u.ID - if id == "" { - id = strconv.Itoa(int(crc32.Checksum([]byte(u.Email), crc32.IEEETable))) - } - req.Header.Set("X-AppEngine-User-Id", id) - req.Header.Set("X-AppEngine-User-Federated-Identity", u.Email) - req.Header.Set("X-AppEngine-User-Federated-Provider", u.FederatedProvider) - if u.Admin { - req.Header.Set("X-AppEngine-User-Is-Admin", "1") - } else { - req.Header.Set("X-AppEngine-User-Is-Admin", "0") - } -} - -// Logout causes the provided Request to act as though issued by a logged-out -// user. -func Logout(req *http.Request) { - req.Header.Del("X-AppEngine-User-Email") - req.Header.Del("X-AppEngine-User-Id") - req.Header.Del("X-AppEngine-User-Is-Admin") - req.Header.Del("X-AppEngine-User-Federated-Identity") - req.Header.Del("X-AppEngine-User-Federated-Provider") -} diff --git a/vendor/google.golang.org/appengine/blobstore/blobstore.go b/vendor/google.golang.org/appengine/blobstore/blobstore.go deleted file mode 100644 index 1c8087b04..000000000 --- a/vendor/google.golang.org/appengine/blobstore/blobstore.go +++ /dev/null @@ -1,276 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package blobstore provides a client for App Engine's persistent blob -// storage service. -package blobstore // import "google.golang.org/appengine/blobstore" - -import ( - "bufio" - "encoding/base64" - "fmt" - "io" - "io/ioutil" - "mime" - "mime/multipart" - "net/http" - "net/textproto" - "net/url" - "strconv" - "strings" - "time" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/datastore" - "google.golang.org/appengine/internal" - - basepb "google.golang.org/appengine/internal/base" - blobpb "google.golang.org/appengine/internal/blobstore" -) - -const ( - blobInfoKind = "__BlobInfo__" - blobFileIndexKind = "__BlobFileIndex__" - zeroKey = appengine.BlobKey("") -) - -// BlobInfo is the blob metadata that is stored in the datastore. -// Filename may be empty. -type BlobInfo struct { - BlobKey appengine.BlobKey - ContentType string `datastore:"content_type"` - CreationTime time.Time `datastore:"creation"` - Filename string `datastore:"filename"` - Size int64 `datastore:"size"` - MD5 string `datastore:"md5_hash"` - - // ObjectName is the Google Cloud Storage name for this blob. - ObjectName string `datastore:"gs_object_name"` -} - -// isErrFieldMismatch returns whether err is a datastore.ErrFieldMismatch. -// -// The blobstore stores blob metadata in the datastore. When loading that -// metadata, it may contain fields that we don't care about. datastore.Get will -// return datastore.ErrFieldMismatch in that case, so we ignore that specific -// error. -func isErrFieldMismatch(err error) bool { - _, ok := err.(*datastore.ErrFieldMismatch) - return ok -} - -// Stat returns the BlobInfo for a provided blobKey. If no blob was found for -// that key, Stat returns datastore.ErrNoSuchEntity. -func Stat(c context.Context, blobKey appengine.BlobKey) (*BlobInfo, error) { - c, _ = appengine.Namespace(c, "") // Blobstore is always in the empty string namespace - dskey := datastore.NewKey(c, blobInfoKind, string(blobKey), 0, nil) - bi := &BlobInfo{ - BlobKey: blobKey, - } - if err := datastore.Get(c, dskey, bi); err != nil && !isErrFieldMismatch(err) { - return nil, err - } - return bi, nil -} - -// Send sets the headers on response to instruct App Engine to send a blob as -// the response body. This is more efficient than reading and writing it out -// manually and isn't subject to normal response size limits. -func Send(response http.ResponseWriter, blobKey appengine.BlobKey) { - hdr := response.Header() - hdr.Set("X-AppEngine-BlobKey", string(blobKey)) - - if hdr.Get("Content-Type") == "" { - // This value is known to dev_appserver to mean automatic. - // In production this is remapped to the empty value which - // means automatic. - hdr.Set("Content-Type", "application/vnd.google.appengine.auto") - } -} - -// UploadURL creates an upload URL for the form that the user will -// fill out, passing the application path to load when the POST of the -// form is completed. These URLs expire and should not be reused. The -// opts parameter may be nil. -func UploadURL(c context.Context, successPath string, opts *UploadURLOptions) (*url.URL, error) { - req := &blobpb.CreateUploadURLRequest{ - SuccessPath: proto.String(successPath), - } - if opts != nil { - if n := opts.MaxUploadBytes; n != 0 { - req.MaxUploadSizeBytes = &n - } - if n := opts.MaxUploadBytesPerBlob; n != 0 { - req.MaxUploadSizePerBlobBytes = &n - } - if s := opts.StorageBucket; s != "" { - req.GsBucketName = &s - } - } - res := &blobpb.CreateUploadURLResponse{} - if err := internal.Call(c, "blobstore", "CreateUploadURL", req, res); err != nil { - return nil, err - } - return url.Parse(*res.Url) -} - -// UploadURLOptions are the options to create an upload URL. -type UploadURLOptions struct { - MaxUploadBytes int64 // optional - MaxUploadBytesPerBlob int64 // optional - - // StorageBucket specifies the Google Cloud Storage bucket in which - // to store the blob. - // This is required if you use Cloud Storage instead of Blobstore. - // Your application must have permission to write to the bucket. - // You may optionally specify a bucket name and path in the format - // "bucket_name/path", in which case the included path will be the - // prefix of the uploaded object's name. - StorageBucket string -} - -// Delete deletes a blob. -func Delete(c context.Context, blobKey appengine.BlobKey) error { - return DeleteMulti(c, []appengine.BlobKey{blobKey}) -} - -// DeleteMulti deletes multiple blobs. -func DeleteMulti(c context.Context, blobKey []appengine.BlobKey) error { - s := make([]string, len(blobKey)) - for i, b := range blobKey { - s[i] = string(b) - } - req := &blobpb.DeleteBlobRequest{ - BlobKey: s, - } - res := &basepb.VoidProto{} - if err := internal.Call(c, "blobstore", "DeleteBlob", req, res); err != nil { - return err - } - return nil -} - -func errorf(format string, args ...interface{}) error { - return fmt.Errorf("blobstore: "+format, args...) -} - -// ParseUpload parses the synthetic POST request that your app gets from -// App Engine after a user's successful upload of blobs. Given the request, -// ParseUpload returns a map of the blobs received (keyed by HTML form -// element name) and other non-blob POST parameters. -func ParseUpload(req *http.Request) (blobs map[string][]*BlobInfo, other url.Values, err error) { - _, params, err := mime.ParseMediaType(req.Header.Get("Content-Type")) - if err != nil { - return nil, nil, err - } - boundary := params["boundary"] - if boundary == "" { - return nil, nil, errorf("did not find MIME multipart boundary") - } - - blobs = make(map[string][]*BlobInfo) - other = make(url.Values) - - mreader := multipart.NewReader(io.MultiReader(req.Body, strings.NewReader("\r\n\r\n")), boundary) - for { - part, perr := mreader.NextPart() - if perr == io.EOF { - break - } - if perr != nil { - return nil, nil, errorf("error reading next mime part with boundary %q (len=%d): %v", - boundary, len(boundary), perr) - } - - bi := &BlobInfo{} - ctype, params, err := mime.ParseMediaType(part.Header.Get("Content-Disposition")) - if err != nil { - return nil, nil, err - } - bi.Filename = params["filename"] - formKey := params["name"] - - ctype, params, err = mime.ParseMediaType(part.Header.Get("Content-Type")) - if err != nil { - return nil, nil, err - } - bi.BlobKey = appengine.BlobKey(params["blob-key"]) - if ctype != "message/external-body" || bi.BlobKey == "" { - if formKey != "" { - slurp, serr := ioutil.ReadAll(part) - if serr != nil { - return nil, nil, errorf("error reading %q MIME part", formKey) - } - other[formKey] = append(other[formKey], string(slurp)) - } - continue - } - - // App Engine sends a MIME header as the body of each MIME part. - tp := textproto.NewReader(bufio.NewReader(part)) - header, mimeerr := tp.ReadMIMEHeader() - if mimeerr != nil { - return nil, nil, mimeerr - } - bi.Size, err = strconv.ParseInt(header.Get("Content-Length"), 10, 64) - if err != nil { - return nil, nil, err - } - bi.ContentType = header.Get("Content-Type") - - // Parse the time from the MIME header like: - // X-AppEngine-Upload-Creation: 2011-03-15 21:38:34.712136 - createDate := header.Get("X-AppEngine-Upload-Creation") - if createDate == "" { - return nil, nil, errorf("expected to find an X-AppEngine-Upload-Creation header") - } - bi.CreationTime, err = time.Parse("2006-01-02 15:04:05.000000", createDate) - if err != nil { - return nil, nil, errorf("error parsing X-AppEngine-Upload-Creation: %s", err) - } - - if hdr := header.Get("Content-MD5"); hdr != "" { - md5, err := base64.URLEncoding.DecodeString(hdr) - if err != nil { - return nil, nil, errorf("bad Content-MD5 %q: %v", hdr, err) - } - bi.MD5 = string(md5) - } - - // If the GCS object name was provided, record it. - bi.ObjectName = header.Get("X-AppEngine-Cloud-Storage-Object") - - blobs[formKey] = append(blobs[formKey], bi) - } - return -} - -// Reader is a blob reader. -type Reader interface { - io.Reader - io.ReaderAt - io.Seeker -} - -// NewReader returns a reader for a blob. It always succeeds; if the blob does -// not exist then an error will be reported upon first read. -func NewReader(c context.Context, blobKey appengine.BlobKey) Reader { - return openBlob(c, blobKey) -} - -// BlobKeyForFile returns a BlobKey for a Google Storage file. -// The filename should be of the form "/gs/bucket_name/object_name". -func BlobKeyForFile(c context.Context, filename string) (appengine.BlobKey, error) { - req := &blobpb.CreateEncodedGoogleStorageKeyRequest{ - Filename: &filename, - } - res := &blobpb.CreateEncodedGoogleStorageKeyResponse{} - if err := internal.Call(c, "blobstore", "CreateEncodedGoogleStorageKey", req, res); err != nil { - return "", err - } - return appengine.BlobKey(*res.BlobKey), nil -} diff --git a/vendor/google.golang.org/appengine/blobstore/read.go b/vendor/google.golang.org/appengine/blobstore/read.go deleted file mode 100644 index 578b1f550..000000000 --- a/vendor/google.golang.org/appengine/blobstore/read.go +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package blobstore - -import ( - "errors" - "fmt" - "io" - "os" - "sync" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - - blobpb "google.golang.org/appengine/internal/blobstore" -) - -// openBlob returns a reader for a blob. It always succeeds; if the blob does -// not exist then an error will be reported upon first read. -func openBlob(c context.Context, blobKey appengine.BlobKey) Reader { - return &reader{ - c: c, - blobKey: blobKey, - } -} - -const readBufferSize = 256 * 1024 - -// reader is a blob reader. It implements the Reader interface. -type reader struct { - c context.Context - - // Either blobKey or filename is set: - blobKey appengine.BlobKey - filename string - - closeFunc func() // is nil if unavailable or already closed. - - // buf is the read buffer. r is how much of buf has been read. - // off is the offset of buf[0] relative to the start of the blob. - // An invariant is 0 <= r && r <= len(buf). - // Reads that don't require an RPC call will increment r but not off. - // Seeks may modify r without discarding the buffer, but only if the - // invariant can be maintained. - mu sync.Mutex - buf []byte - r int - off int64 -} - -func (r *reader) Close() error { - if f := r.closeFunc; f != nil { - f() - } - r.closeFunc = nil - return nil -} - -func (r *reader) Read(p []byte) (int, error) { - if len(p) == 0 { - return 0, nil - } - r.mu.Lock() - defer r.mu.Unlock() - if r.r == len(r.buf) { - if err := r.fetch(r.off + int64(r.r)); err != nil { - return 0, err - } - } - n := copy(p, r.buf[r.r:]) - r.r += n - return n, nil -} - -func (r *reader) ReadAt(p []byte, off int64) (int, error) { - if len(p) == 0 { - return 0, nil - } - r.mu.Lock() - defer r.mu.Unlock() - // Convert relative offsets to absolute offsets. - ab0 := r.off + int64(r.r) - ab1 := r.off + int64(len(r.buf)) - ap0 := off - ap1 := off + int64(len(p)) - // Check if we can satisfy the read entirely out of the existing buffer. - if r.off <= ap0 && ap1 <= ab1 { - // Convert off from an absolute offset to a relative offset. - rp0 := int(ap0 - r.off) - return copy(p, r.buf[rp0:]), nil - } - // Restore the original Read/Seek offset after ReadAt completes. - defer r.seek(ab0) - // Repeatedly fetch and copy until we have filled p. - n := 0 - for len(p) > 0 { - if err := r.fetch(off + int64(n)); err != nil { - return n, err - } - r.r = copy(p, r.buf) - n += r.r - p = p[r.r:] - } - return n, nil -} - -func (r *reader) Seek(offset int64, whence int) (ret int64, err error) { - r.mu.Lock() - defer r.mu.Unlock() - switch whence { - case os.SEEK_SET: - ret = offset - case os.SEEK_CUR: - ret = r.off + int64(r.r) + offset - case os.SEEK_END: - return 0, errors.New("seeking relative to the end of a blob isn't supported") - default: - return 0, fmt.Errorf("invalid Seek whence value: %d", whence) - } - if ret < 0 { - return 0, errors.New("negative Seek offset") - } - return r.seek(ret) -} - -// fetch fetches readBufferSize bytes starting at the given offset. On success, -// the data is saved as r.buf. -func (r *reader) fetch(off int64) error { - req := &blobpb.FetchDataRequest{ - BlobKey: proto.String(string(r.blobKey)), - StartIndex: proto.Int64(off), - EndIndex: proto.Int64(off + readBufferSize - 1), // EndIndex is inclusive. - } - res := &blobpb.FetchDataResponse{} - if err := internal.Call(r.c, "blobstore", "FetchData", req, res); err != nil { - return err - } - if len(res.Data) == 0 { - return io.EOF - } - r.buf, r.r, r.off = res.Data, 0, off - return nil -} - -// seek seeks to the given offset with an effective whence equal to SEEK_SET. -// It discards the read buffer if the invariant cannot be maintained. -func (r *reader) seek(off int64) (int64, error) { - delta := off - r.off - if delta >= 0 && delta < int64(len(r.buf)) { - r.r = int(delta) - return off, nil - } - r.buf, r.r, r.off = nil, 0, off - return off, nil -} diff --git a/vendor/google.golang.org/appengine/capability/capability.go b/vendor/google.golang.org/appengine/capability/capability.go deleted file mode 100644 index 84391d572..000000000 --- a/vendor/google.golang.org/appengine/capability/capability.go +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package capability exposes information about outages and scheduled downtime -for specific API capabilities. - -This package does not work on Managed VMs. - -Example: - if !capability.Enabled(c, "datastore_v3", "write") { - // show user a different page - } -*/ -package capability // import "google.golang.org/appengine/capability" - -import ( - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" - "google.golang.org/appengine/log" - - pb "google.golang.org/appengine/internal/capability" -) - -// Enabled returns whether an API's capabilities are enabled. -// The wildcard "*" capability matches every capability of an API. -// If the underlying RPC fails (if the package is unknown, for example), -// false is returned and information is written to the application log. -func Enabled(ctx context.Context, api, capability string) bool { - req := &pb.IsEnabledRequest{ - Package: &api, - Capability: []string{capability}, - } - res := &pb.IsEnabledResponse{} - if err := internal.Call(ctx, "capability_service", "IsEnabled", req, res); err != nil { - log.Warningf(ctx, "capability.Enabled: RPC failed: %v", err) - return false - } - switch *res.SummaryStatus { - case pb.IsEnabledResponse_ENABLED, - pb.IsEnabledResponse_SCHEDULED_FUTURE, - pb.IsEnabledResponse_SCHEDULED_NOW: - return true - case pb.IsEnabledResponse_UNKNOWN: - log.Errorf(ctx, "capability.Enabled: unknown API capability %s/%s", api, capability) - return false - default: - return false - } -} diff --git a/vendor/google.golang.org/appengine/channel/channel.go b/vendor/google.golang.org/appengine/channel/channel.go deleted file mode 100644 index dfe0a3fff..000000000 --- a/vendor/google.golang.org/appengine/channel/channel.go +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package channel implements the server side of App Engine's Channel API. - -Create creates a new channel associated with the given clientID, -which must be unique to the client that will use the returned token. - - token, err := channel.Create(c, "player1") - if err != nil { - // handle error - } - // return token to the client in an HTTP response - -Send sends a message to the client over the channel identified by clientID. - - channel.Send(c, "player1", "Game over!") -*/ -package channel // import "google.golang.org/appengine/channel" - -import ( - "encoding/json" - - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - basepb "google.golang.org/appengine/internal/base" - pb "google.golang.org/appengine/internal/channel" -) - -// Create creates a channel and returns a token for use by the client. -// The clientID is an application-provided string used to identify the client. -func Create(c context.Context, clientID string) (token string, err error) { - req := &pb.CreateChannelRequest{ - ApplicationKey: &clientID, - } - resp := &pb.CreateChannelResponse{} - err = internal.Call(c, service, "CreateChannel", req, resp) - token = resp.GetToken() - return token, remapError(err) -} - -// Send sends a message on the channel associated with clientID. -func Send(c context.Context, clientID, message string) error { - req := &pb.SendMessageRequest{ - ApplicationKey: &clientID, - Message: &message, - } - resp := &basepb.VoidProto{} - return remapError(internal.Call(c, service, "SendChannelMessage", req, resp)) -} - -// SendJSON is a helper function that sends a JSON-encoded value -// on the channel associated with clientID. -func SendJSON(c context.Context, clientID string, value interface{}) error { - m, err := json.Marshal(value) - if err != nil { - return err - } - return Send(c, clientID, string(m)) -} - -// remapError fixes any APIError referencing "xmpp" into one referencing "channel". -func remapError(err error) error { - if e, ok := err.(*internal.APIError); ok { - if e.Service == "xmpp" { - e.Service = "channel" - } - } - return err -} - -var service = "xmpp" // prod - -func init() { - if appengine.IsDevAppServer() { - service = "channel" // dev - } - internal.RegisterErrorCodeMap("channel", pb.ChannelServiceError_ErrorCode_name) -} diff --git a/vendor/google.golang.org/appengine/cloudsql/cloudsql.go b/vendor/google.golang.org/appengine/cloudsql/cloudsql.go deleted file mode 100644 index 795fba12f..000000000 --- a/vendor/google.golang.org/appengine/cloudsql/cloudsql.go +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2013 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package cloudsql exposes access to Google Cloud SQL databases. - -This package does not work on Managed VMs. - -This package is intended for MySQL drivers to make App Engine-specific -connections. Applications should use this package through database/sql: -Select a pure Go MySQL driver that supports this package, and use sql.Open -with protocol "cloudsql" and an address of the Cloud SQL instance. - -A Go MySQL driver that has been tested to work well with Cloud SQL -is the go-sql-driver: - import "database/sql" - import _ "github.com/go-sql-driver/mysql" - - db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname") - - -Another driver that works well with Cloud SQL is the mymysql driver: - import "database/sql" - import _ "github.com/ziutek/mymysql/godrv" - - db, err := sql.Open("mymysql", "cloudsql:instance-name*dbname/user/password") - - -Using either of these drivers, you can perform a standard SQL query. -This example assumes there is a table named 'users' with -columns 'first_name' and 'last_name': - - rows, err := db.Query("SELECT first_name, last_name FROM users") - if err != nil { - log.Errorf(ctx, "db.Query: %v", err) - } - defer rows.Close() - - for rows.Next() { - var firstName string - var lastName string - if err := rows.Scan(&firstName, &lastName); err != nil { - log.Errorf(ctx, "rows.Scan: %v", err) - continue - } - log.Infof(ctx, "First: %v - Last: %v", firstName, lastName) - } - if err := rows.Err(); err != nil { - log.Errorf(ctx, "Row error: %v", err) - } -*/ -package cloudsql - -import ( - "net" -) - -// Dial connects to the named Cloud SQL instance. -func Dial(instance string) (net.Conn, error) { - return connect(instance) -} diff --git a/vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go b/vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go deleted file mode 100644 index af62dba14..000000000 --- a/vendor/google.golang.org/appengine/cloudsql/cloudsql_classic.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2013 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// +build appengine - -package cloudsql - -import ( - "net" - - "appengine/cloudsql" -) - -func connect(instance string) (net.Conn, error) { - return cloudsql.Dial(instance) -} diff --git a/vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go b/vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go deleted file mode 100644 index c3f76f211..000000000 --- a/vendor/google.golang.org/appengine/cloudsql/cloudsql_vm.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// +build !appengine - -package cloudsql - -import ( - "errors" - "net" -) - -func connect(instance string) (net.Conn, error) { - return nil, errors.New("cloudsql: not supported in Managed VMs") -} diff --git a/vendor/google.golang.org/appengine/delay/delay.go b/vendor/google.golang.org/appengine/delay/delay.go deleted file mode 100644 index 6d628fc16..000000000 --- a/vendor/google.golang.org/appengine/delay/delay.go +++ /dev/null @@ -1,275 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package delay provides a way to execute code outside the scope of a -user request by using the taskqueue API. - -To declare a function that may be executed later, call Func -in a top-level assignment context, passing it an arbitrary string key -and a function whose first argument is of type context.Context. - var laterFunc = delay.Func("key", myFunc) -It is also possible to use a function literal. - var laterFunc = delay.Func("key", func(c context.Context, x string) { - // ... - }) - -To call a function, invoke its Call method. - laterFunc.Call(c, "something") -A function may be called any number of times. If the function has any -return arguments, and the last one is of type error, the function may -return a non-nil error to signal that the function should be retried. - -The arguments to functions may be of any type that is encodable by the gob -package. If an argument is of interface type, it is the client's responsibility -to register with the gob package whatever concrete type may be passed for that -argument; see http://golang.org/pkg/gob/#Register for details. - -Any errors during initialization or execution of a function will be -logged to the application logs. Error logs that occur during initialization will -be associated with the request that invoked the Call method. - -The state of a function invocation that has not yet successfully -executed is preserved by combining the file name in which it is declared -with the string key that was passed to the Func function. Updating an app -with pending function invocations is safe as long as the relevant -functions have the (filename, key) combination preserved. - -The delay package uses the Task Queue API to create tasks that call the -reserved application path "/_ah/queue/go/delay". -This path must not be marked as "login: required" in app.yaml; -it must be marked as "login: admin" or have no access restriction. -*/ -package delay // import "google.golang.org/appengine/delay" - -import ( - "bytes" - "encoding/gob" - "errors" - "fmt" - "net/http" - "reflect" - "runtime" - - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/log" - "google.golang.org/appengine/taskqueue" -) - -// Function represents a function that may have a delayed invocation. -type Function struct { - fv reflect.Value // Kind() == reflect.Func - key string - err error // any error during initialization -} - -const ( - // The HTTP path for invocations. - path = "/_ah/queue/go/delay" - // Use the default queue. - queue = "" -) - -var ( - // registry of all delayed functions - funcs = make(map[string]*Function) - - // precomputed types - contextType = reflect.TypeOf((*context.Context)(nil)).Elem() - errorType = reflect.TypeOf((*error)(nil)).Elem() - - // errors - errFirstArg = errors.New("first argument must be context.Context") -) - -// Func declares a new Function. The second argument must be a function with a -// first argument of type context.Context. -// This function must be called at program initialization time. That means it -// must be called in a global variable declaration or from an init function. -// This restriction is necessary because the instance that delays a function -// call may not be the one that executes it. Only the code executed at program -// initialization time is guaranteed to have been run by an instance before it -// receives a request. -func Func(key string, i interface{}) *Function { - f := &Function{fv: reflect.ValueOf(i)} - - // Derive unique, somewhat stable key for this func. - _, file, _, _ := runtime.Caller(1) - f.key = file + ":" + key - - t := f.fv.Type() - if t.Kind() != reflect.Func { - f.err = errors.New("not a function") - return f - } - if t.NumIn() == 0 || t.In(0) != contextType { - f.err = errFirstArg - return f - } - - // Register the function's arguments with the gob package. - // This is required because they are marshaled inside a []interface{}. - // gob.Register only expects to be called during initialization; - // that's fine because this function expects the same. - for i := 0; i < t.NumIn(); i++ { - // Only concrete types may be registered. If the argument has - // interface type, the client is resposible for registering the - // concrete types it will hold. - if t.In(i).Kind() == reflect.Interface { - continue - } - gob.Register(reflect.Zero(t.In(i)).Interface()) - } - - funcs[f.key] = f - return f -} - -type invocation struct { - Key string - Args []interface{} -} - -// Call invokes a delayed function. -// err := f.Call(c, ...) -// is equivalent to -// t, _ := f.Task(...) -// err := taskqueue.Add(c, t, "") -func (f *Function) Call(c context.Context, args ...interface{}) error { - t, err := f.Task(args...) - if err != nil { - return err - } - _, err = taskqueueAdder(c, t, queue) - return err -} - -// Task creates a Task that will invoke the function. -// Its parameters may be tweaked before adding it to a queue. -// Users should not modify the Path or Payload fields of the returned Task. -func (f *Function) Task(args ...interface{}) (*taskqueue.Task, error) { - if f.err != nil { - return nil, fmt.Errorf("delay: func is invalid: %v", f.err) - } - - nArgs := len(args) + 1 // +1 for the context.Context - ft := f.fv.Type() - minArgs := ft.NumIn() - if ft.IsVariadic() { - minArgs-- - } - if nArgs < minArgs { - return nil, fmt.Errorf("delay: too few arguments to func: %d < %d", nArgs, minArgs) - } - if !ft.IsVariadic() && nArgs > minArgs { - return nil, fmt.Errorf("delay: too many arguments to func: %d > %d", nArgs, minArgs) - } - - // Check arg types. - for i := 1; i < nArgs; i++ { - at := reflect.TypeOf(args[i-1]) - var dt reflect.Type - if i < minArgs { - // not a variadic arg - dt = ft.In(i) - } else { - // a variadic arg - dt = ft.In(minArgs).Elem() - } - // nil arguments won't have a type, so they need special handling. - if at == nil { - // nil interface - switch dt.Kind() { - case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: - continue // may be nil - } - return nil, fmt.Errorf("delay: argument %d has wrong type: %v is not nilable", i, dt) - } - switch at.Kind() { - case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: - av := reflect.ValueOf(args[i-1]) - if av.IsNil() { - // nil value in interface; not supported by gob, so we replace it - // with a nil interface value - args[i-1] = nil - } - } - if !at.AssignableTo(dt) { - return nil, fmt.Errorf("delay: argument %d has wrong type: %v is not assignable to %v", i, at, dt) - } - } - - inv := invocation{ - Key: f.key, - Args: args, - } - - buf := new(bytes.Buffer) - if err := gob.NewEncoder(buf).Encode(inv); err != nil { - return nil, fmt.Errorf("delay: gob encoding failed: %v", err) - } - - return &taskqueue.Task{ - Path: path, - Payload: buf.Bytes(), - }, nil -} - -var taskqueueAdder = taskqueue.Add // for testing - -func init() { - http.HandleFunc(path, func(w http.ResponseWriter, req *http.Request) { - runFunc(appengine.NewContext(req), w, req) - }) -} - -func runFunc(c context.Context, w http.ResponseWriter, req *http.Request) { - defer req.Body.Close() - - var inv invocation - if err := gob.NewDecoder(req.Body).Decode(&inv); err != nil { - log.Errorf(c, "delay: failed decoding task payload: %v", err) - log.Warningf(c, "delay: dropping task") - return - } - - f := funcs[inv.Key] - if f == nil { - log.Errorf(c, "delay: no func with key %q found", inv.Key) - log.Warningf(c, "delay: dropping task") - return - } - - ft := f.fv.Type() - in := []reflect.Value{reflect.ValueOf(c)} - for _, arg := range inv.Args { - var v reflect.Value - if arg != nil { - v = reflect.ValueOf(arg) - } else { - // Task was passed a nil argument, so we must construct - // the zero value for the argument here. - n := len(in) // we're constructing the nth argument - var at reflect.Type - if !ft.IsVariadic() || n < ft.NumIn()-1 { - at = ft.In(n) - } else { - at = ft.In(ft.NumIn() - 1).Elem() - } - v = reflect.Zero(at) - } - in = append(in, v) - } - out := f.fv.Call(in) - - if n := ft.NumOut(); n > 0 && ft.Out(n-1) == errorType { - if errv := out[n-1]; !errv.IsNil() { - log.Errorf(c, "delay: func failed (will retry): %v", errv.Interface()) - w.WriteHeader(http.StatusInternalServerError) - return - } - } -} diff --git a/vendor/google.golang.org/appengine/file/file.go b/vendor/google.golang.org/appengine/file/file.go deleted file mode 100644 index c3cd58baf..000000000 --- a/vendor/google.golang.org/appengine/file/file.go +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2014 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package file provides helper functions for using Google Cloud Storage. -package file - -import ( - "fmt" - - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" - aipb "google.golang.org/appengine/internal/app_identity" -) - -// DefaultBucketName returns the name of this application's -// default Google Cloud Storage bucket. -func DefaultBucketName(c context.Context) (string, error) { - req := &aipb.GetDefaultGcsBucketNameRequest{} - res := &aipb.GetDefaultGcsBucketNameResponse{} - - err := internal.Call(c, "app_identity_service", "GetDefaultGcsBucketName", req, res) - if err != nil { - return "", fmt.Errorf("file: no default bucket name returned in RPC response: %v", res) - } - return res.GetDefaultGcsBucketName(), nil -} diff --git a/vendor/google.golang.org/appengine/image/image.go b/vendor/google.golang.org/appengine/image/image.go deleted file mode 100644 index 027a41b70..000000000 --- a/vendor/google.golang.org/appengine/image/image.go +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package image provides image services. -package image // import "google.golang.org/appengine/image" - -import ( - "fmt" - "net/url" - - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/image" -) - -type ServingURLOptions struct { - Secure bool // whether the URL should use HTTPS - - // Size must be between zero and 1600. - // If Size is non-zero, a resized version of the image is served, - // and Size is the served image's longest dimension. The aspect ratio is preserved. - // If Crop is true the image is cropped from the center instead of being resized. - Size int - Crop bool -} - -// ServingURL returns a URL that will serve an image from Blobstore. -func ServingURL(c context.Context, key appengine.BlobKey, opts *ServingURLOptions) (*url.URL, error) { - req := &pb.ImagesGetUrlBaseRequest{ - BlobKey: (*string)(&key), - } - if opts != nil && opts.Secure { - req.CreateSecureUrl = &opts.Secure - } - res := &pb.ImagesGetUrlBaseResponse{} - if err := internal.Call(c, "images", "GetUrlBase", req, res); err != nil { - return nil, err - } - - // The URL may have suffixes added to dynamically resize or crop: - // - adding "=s32" will serve the image resized to 32 pixels, preserving the aspect ratio. - // - adding "=s32-c" is the same as "=s32" except it will be cropped. - u := *res.Url - if opts != nil && opts.Size > 0 { - u += fmt.Sprintf("=s%d", opts.Size) - if opts.Crop { - u += "-c" - } - } - return url.Parse(u) -} - -// DeleteServingURL deletes the serving URL for an image. -func DeleteServingURL(c context.Context, key appengine.BlobKey) error { - req := &pb.ImagesDeleteUrlBaseRequest{ - BlobKey: (*string)(&key), - } - res := &pb.ImagesDeleteUrlBaseResponse{} - return internal.Call(c, "images", "DeleteUrlBase", req, res) -} - -func init() { - internal.RegisterErrorCodeMap("images", pb.ImagesServiceError_ErrorCode_name) -} diff --git a/vendor/google.golang.org/appengine/internal/aetesting/fake.go b/vendor/google.golang.org/appengine/internal/aetesting/fake.go deleted file mode 100644 index 6f5c1977f..000000000 --- a/vendor/google.golang.org/appengine/internal/aetesting/fake.go +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package aetesting provides utilities for testing App Engine packages. -// This is not for testing user applications. -package aetesting - -import ( - "fmt" - "reflect" - "testing" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" -) - -// FakeSingleContext returns a context whose Call invocations will be serviced -// by f, which should be a function that has two arguments of the input and output -// protocol buffer type, and one error return. -func FakeSingleContext(t *testing.T, service, method string, f interface{}) context.Context { - fv := reflect.ValueOf(f) - if fv.Kind() != reflect.Func { - t.Fatal("not a function") - } - ft := fv.Type() - if ft.NumIn() != 2 || ft.NumOut() != 1 { - t.Fatalf("f has %d in and %d out, want 2 in and 1 out", ft.NumIn(), ft.NumOut()) - } - for i := 0; i < 2; i++ { - at := ft.In(i) - if !at.Implements(protoMessageType) { - t.Fatalf("arg %d does not implement proto.Message", i) - } - } - if ft.Out(0) != errorType { - t.Fatalf("f's return is %v, want error", ft.Out(0)) - } - s := &single{ - t: t, - service: service, - method: method, - f: fv, - } - return internal.WithCallOverride(context.Background(), s.call) -} - -var ( - protoMessageType = reflect.TypeOf((*proto.Message)(nil)).Elem() - errorType = reflect.TypeOf((*error)(nil)).Elem() -) - -type single struct { - t *testing.T - service, method string - f reflect.Value -} - -func (s *single) call(ctx context.Context, service, method string, in, out proto.Message) error { - if service == "__go__" { - if method == "GetNamespace" { - return nil // always yield an empty namespace - } - return fmt.Errorf("Unknown API call /%s.%s", service, method) - } - if service != s.service || method != s.method { - s.t.Fatalf("Unexpected call to /%s.%s", service, method) - } - ins := []reflect.Value{ - reflect.ValueOf(in), - reflect.ValueOf(out), - } - outs := s.f.Call(ins) - if outs[0].IsNil() { - return nil - } - return outs[0].Interface().(error) -} diff --git a/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go b/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go deleted file mode 100644 index 8705ec348..000000000 --- a/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.pb.go +++ /dev/null @@ -1,347 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/blobstore/blobstore_service.proto -// DO NOT EDIT! - -/* -Package blobstore is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/blobstore/blobstore_service.proto - -It has these top-level messages: - BlobstoreServiceError - CreateUploadURLRequest - CreateUploadURLResponse - DeleteBlobRequest - FetchDataRequest - FetchDataResponse - CloneBlobRequest - CloneBlobResponse - DecodeBlobKeyRequest - DecodeBlobKeyResponse - CreateEncodedGoogleStorageKeyRequest - CreateEncodedGoogleStorageKeyResponse -*/ -package blobstore - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type BlobstoreServiceError_ErrorCode int32 - -const ( - BlobstoreServiceError_OK BlobstoreServiceError_ErrorCode = 0 - BlobstoreServiceError_INTERNAL_ERROR BlobstoreServiceError_ErrorCode = 1 - BlobstoreServiceError_URL_TOO_LONG BlobstoreServiceError_ErrorCode = 2 - BlobstoreServiceError_PERMISSION_DENIED BlobstoreServiceError_ErrorCode = 3 - BlobstoreServiceError_BLOB_NOT_FOUND BlobstoreServiceError_ErrorCode = 4 - BlobstoreServiceError_DATA_INDEX_OUT_OF_RANGE BlobstoreServiceError_ErrorCode = 5 - BlobstoreServiceError_BLOB_FETCH_SIZE_TOO_LARGE BlobstoreServiceError_ErrorCode = 6 - BlobstoreServiceError_ARGUMENT_OUT_OF_RANGE BlobstoreServiceError_ErrorCode = 8 - BlobstoreServiceError_INVALID_BLOB_KEY BlobstoreServiceError_ErrorCode = 9 -) - -var BlobstoreServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "INTERNAL_ERROR", - 2: "URL_TOO_LONG", - 3: "PERMISSION_DENIED", - 4: "BLOB_NOT_FOUND", - 5: "DATA_INDEX_OUT_OF_RANGE", - 6: "BLOB_FETCH_SIZE_TOO_LARGE", - 8: "ARGUMENT_OUT_OF_RANGE", - 9: "INVALID_BLOB_KEY", -} -var BlobstoreServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "INTERNAL_ERROR": 1, - "URL_TOO_LONG": 2, - "PERMISSION_DENIED": 3, - "BLOB_NOT_FOUND": 4, - "DATA_INDEX_OUT_OF_RANGE": 5, - "BLOB_FETCH_SIZE_TOO_LARGE": 6, - "ARGUMENT_OUT_OF_RANGE": 8, - "INVALID_BLOB_KEY": 9, -} - -func (x BlobstoreServiceError_ErrorCode) Enum() *BlobstoreServiceError_ErrorCode { - p := new(BlobstoreServiceError_ErrorCode) - *p = x - return p -} -func (x BlobstoreServiceError_ErrorCode) String() string { - return proto.EnumName(BlobstoreServiceError_ErrorCode_name, int32(x)) -} -func (x *BlobstoreServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(BlobstoreServiceError_ErrorCode_value, data, "BlobstoreServiceError_ErrorCode") - if err != nil { - return err - } - *x = BlobstoreServiceError_ErrorCode(value) - return nil -} - -type BlobstoreServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *BlobstoreServiceError) Reset() { *m = BlobstoreServiceError{} } -func (m *BlobstoreServiceError) String() string { return proto.CompactTextString(m) } -func (*BlobstoreServiceError) ProtoMessage() {} - -type CreateUploadURLRequest struct { - SuccessPath *string `protobuf:"bytes,1,req,name=success_path" json:"success_path,omitempty"` - MaxUploadSizeBytes *int64 `protobuf:"varint,2,opt,name=max_upload_size_bytes" json:"max_upload_size_bytes,omitempty"` - MaxUploadSizePerBlobBytes *int64 `protobuf:"varint,3,opt,name=max_upload_size_per_blob_bytes" json:"max_upload_size_per_blob_bytes,omitempty"` - GsBucketName *string `protobuf:"bytes,4,opt,name=gs_bucket_name" json:"gs_bucket_name,omitempty"` - UrlExpiryTimeSeconds *int32 `protobuf:"varint,5,opt,name=url_expiry_time_seconds" json:"url_expiry_time_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateUploadURLRequest) Reset() { *m = CreateUploadURLRequest{} } -func (m *CreateUploadURLRequest) String() string { return proto.CompactTextString(m) } -func (*CreateUploadURLRequest) ProtoMessage() {} - -func (m *CreateUploadURLRequest) GetSuccessPath() string { - if m != nil && m.SuccessPath != nil { - return *m.SuccessPath - } - return "" -} - -func (m *CreateUploadURLRequest) GetMaxUploadSizeBytes() int64 { - if m != nil && m.MaxUploadSizeBytes != nil { - return *m.MaxUploadSizeBytes - } - return 0 -} - -func (m *CreateUploadURLRequest) GetMaxUploadSizePerBlobBytes() int64 { - if m != nil && m.MaxUploadSizePerBlobBytes != nil { - return *m.MaxUploadSizePerBlobBytes - } - return 0 -} - -func (m *CreateUploadURLRequest) GetGsBucketName() string { - if m != nil && m.GsBucketName != nil { - return *m.GsBucketName - } - return "" -} - -func (m *CreateUploadURLRequest) GetUrlExpiryTimeSeconds() int32 { - if m != nil && m.UrlExpiryTimeSeconds != nil { - return *m.UrlExpiryTimeSeconds - } - return 0 -} - -type CreateUploadURLResponse struct { - Url *string `protobuf:"bytes,1,req,name=url" json:"url,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateUploadURLResponse) Reset() { *m = CreateUploadURLResponse{} } -func (m *CreateUploadURLResponse) String() string { return proto.CompactTextString(m) } -func (*CreateUploadURLResponse) ProtoMessage() {} - -func (m *CreateUploadURLResponse) GetUrl() string { - if m != nil && m.Url != nil { - return *m.Url - } - return "" -} - -type DeleteBlobRequest struct { - BlobKey []string `protobuf:"bytes,1,rep,name=blob_key" json:"blob_key,omitempty"` - Token *string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteBlobRequest) Reset() { *m = DeleteBlobRequest{} } -func (m *DeleteBlobRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteBlobRequest) ProtoMessage() {} - -func (m *DeleteBlobRequest) GetBlobKey() []string { - if m != nil { - return m.BlobKey - } - return nil -} - -func (m *DeleteBlobRequest) GetToken() string { - if m != nil && m.Token != nil { - return *m.Token - } - return "" -} - -type FetchDataRequest struct { - BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` - StartIndex *int64 `protobuf:"varint,2,req,name=start_index" json:"start_index,omitempty"` - EndIndex *int64 `protobuf:"varint,3,req,name=end_index" json:"end_index,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FetchDataRequest) Reset() { *m = FetchDataRequest{} } -func (m *FetchDataRequest) String() string { return proto.CompactTextString(m) } -func (*FetchDataRequest) ProtoMessage() {} - -func (m *FetchDataRequest) GetBlobKey() string { - if m != nil && m.BlobKey != nil { - return *m.BlobKey - } - return "" -} - -func (m *FetchDataRequest) GetStartIndex() int64 { - if m != nil && m.StartIndex != nil { - return *m.StartIndex - } - return 0 -} - -func (m *FetchDataRequest) GetEndIndex() int64 { - if m != nil && m.EndIndex != nil { - return *m.EndIndex - } - return 0 -} - -type FetchDataResponse struct { - Data []byte `protobuf:"bytes,1000,req,name=data" json:"data,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FetchDataResponse) Reset() { *m = FetchDataResponse{} } -func (m *FetchDataResponse) String() string { return proto.CompactTextString(m) } -func (*FetchDataResponse) ProtoMessage() {} - -func (m *FetchDataResponse) GetData() []byte { - if m != nil { - return m.Data - } - return nil -} - -type CloneBlobRequest struct { - BlobKey []byte `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` - MimeType []byte `protobuf:"bytes,2,req,name=mime_type" json:"mime_type,omitempty"` - TargetAppId []byte `protobuf:"bytes,3,req,name=target_app_id" json:"target_app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CloneBlobRequest) Reset() { *m = CloneBlobRequest{} } -func (m *CloneBlobRequest) String() string { return proto.CompactTextString(m) } -func (*CloneBlobRequest) ProtoMessage() {} - -func (m *CloneBlobRequest) GetBlobKey() []byte { - if m != nil { - return m.BlobKey - } - return nil -} - -func (m *CloneBlobRequest) GetMimeType() []byte { - if m != nil { - return m.MimeType - } - return nil -} - -func (m *CloneBlobRequest) GetTargetAppId() []byte { - if m != nil { - return m.TargetAppId - } - return nil -} - -type CloneBlobResponse struct { - BlobKey []byte `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CloneBlobResponse) Reset() { *m = CloneBlobResponse{} } -func (m *CloneBlobResponse) String() string { return proto.CompactTextString(m) } -func (*CloneBlobResponse) ProtoMessage() {} - -func (m *CloneBlobResponse) GetBlobKey() []byte { - if m != nil { - return m.BlobKey - } - return nil -} - -type DecodeBlobKeyRequest struct { - BlobKey []string `protobuf:"bytes,1,rep,name=blob_key" json:"blob_key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DecodeBlobKeyRequest) Reset() { *m = DecodeBlobKeyRequest{} } -func (m *DecodeBlobKeyRequest) String() string { return proto.CompactTextString(m) } -func (*DecodeBlobKeyRequest) ProtoMessage() {} - -func (m *DecodeBlobKeyRequest) GetBlobKey() []string { - if m != nil { - return m.BlobKey - } - return nil -} - -type DecodeBlobKeyResponse struct { - Decoded []string `protobuf:"bytes,1,rep,name=decoded" json:"decoded,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DecodeBlobKeyResponse) Reset() { *m = DecodeBlobKeyResponse{} } -func (m *DecodeBlobKeyResponse) String() string { return proto.CompactTextString(m) } -func (*DecodeBlobKeyResponse) ProtoMessage() {} - -func (m *DecodeBlobKeyResponse) GetDecoded() []string { - if m != nil { - return m.Decoded - } - return nil -} - -type CreateEncodedGoogleStorageKeyRequest struct { - Filename *string `protobuf:"bytes,1,req,name=filename" json:"filename,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateEncodedGoogleStorageKeyRequest) Reset() { *m = CreateEncodedGoogleStorageKeyRequest{} } -func (m *CreateEncodedGoogleStorageKeyRequest) String() string { return proto.CompactTextString(m) } -func (*CreateEncodedGoogleStorageKeyRequest) ProtoMessage() {} - -func (m *CreateEncodedGoogleStorageKeyRequest) GetFilename() string { - if m != nil && m.Filename != nil { - return *m.Filename - } - return "" -} - -type CreateEncodedGoogleStorageKeyResponse struct { - BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateEncodedGoogleStorageKeyResponse) Reset() { *m = CreateEncodedGoogleStorageKeyResponse{} } -func (m *CreateEncodedGoogleStorageKeyResponse) String() string { return proto.CompactTextString(m) } -func (*CreateEncodedGoogleStorageKeyResponse) ProtoMessage() {} - -func (m *CreateEncodedGoogleStorageKeyResponse) GetBlobKey() string { - if m != nil && m.BlobKey != nil { - return *m.BlobKey - } - return "" -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto b/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto deleted file mode 100644 index 33b265032..000000000 --- a/vendor/google.golang.org/appengine/internal/blobstore/blobstore_service.proto +++ /dev/null @@ -1,71 +0,0 @@ -syntax = "proto2"; -option go_package = "blobstore"; - -package appengine; - -message BlobstoreServiceError { - enum ErrorCode { - OK = 0; - INTERNAL_ERROR = 1; - URL_TOO_LONG = 2; - PERMISSION_DENIED = 3; - BLOB_NOT_FOUND = 4; - DATA_INDEX_OUT_OF_RANGE = 5; - BLOB_FETCH_SIZE_TOO_LARGE = 6; - ARGUMENT_OUT_OF_RANGE = 8; - INVALID_BLOB_KEY = 9; - } -} - -message CreateUploadURLRequest { - required string success_path = 1; - optional int64 max_upload_size_bytes = 2; - optional int64 max_upload_size_per_blob_bytes = 3; - optional string gs_bucket_name = 4; - optional int32 url_expiry_time_seconds = 5; -} - -message CreateUploadURLResponse { - required string url = 1; -} - -message DeleteBlobRequest { - repeated string blob_key = 1; - optional string token = 2; -} - -message FetchDataRequest { - required string blob_key = 1; - required int64 start_index = 2; - required int64 end_index = 3; -} - -message FetchDataResponse { - required bytes data = 1000 [ctype = CORD]; -} - -message CloneBlobRequest { - required bytes blob_key = 1; - required bytes mime_type = 2; - required bytes target_app_id = 3; -} - -message CloneBlobResponse { - required bytes blob_key = 1; -} - -message DecodeBlobKeyRequest { - repeated string blob_key = 1; -} - -message DecodeBlobKeyResponse { - repeated string decoded = 1; -} - -message CreateEncodedGoogleStorageKeyRequest { - required string filename = 1; -} - -message CreateEncodedGoogleStorageKeyResponse { - required string blob_key = 1; -} diff --git a/vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go b/vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go deleted file mode 100644 index e57a04be7..000000000 --- a/vendor/google.golang.org/appengine/internal/capability/capability_service.pb.go +++ /dev/null @@ -1,125 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/capability/capability_service.proto -// DO NOT EDIT! - -/* -Package channel is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/capability/capability_service.proto - -It has these top-level messages: - IsEnabledRequest - IsEnabledResponse -*/ -package channel - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type IsEnabledResponse_SummaryStatus int32 - -const ( - IsEnabledResponse_DEFAULT IsEnabledResponse_SummaryStatus = 0 - IsEnabledResponse_ENABLED IsEnabledResponse_SummaryStatus = 1 - IsEnabledResponse_SCHEDULED_FUTURE IsEnabledResponse_SummaryStatus = 2 - IsEnabledResponse_SCHEDULED_NOW IsEnabledResponse_SummaryStatus = 3 - IsEnabledResponse_DISABLED IsEnabledResponse_SummaryStatus = 4 - IsEnabledResponse_UNKNOWN IsEnabledResponse_SummaryStatus = 5 -) - -var IsEnabledResponse_SummaryStatus_name = map[int32]string{ - 0: "DEFAULT", - 1: "ENABLED", - 2: "SCHEDULED_FUTURE", - 3: "SCHEDULED_NOW", - 4: "DISABLED", - 5: "UNKNOWN", -} -var IsEnabledResponse_SummaryStatus_value = map[string]int32{ - "DEFAULT": 0, - "ENABLED": 1, - "SCHEDULED_FUTURE": 2, - "SCHEDULED_NOW": 3, - "DISABLED": 4, - "UNKNOWN": 5, -} - -func (x IsEnabledResponse_SummaryStatus) Enum() *IsEnabledResponse_SummaryStatus { - p := new(IsEnabledResponse_SummaryStatus) - *p = x - return p -} -func (x IsEnabledResponse_SummaryStatus) String() string { - return proto.EnumName(IsEnabledResponse_SummaryStatus_name, int32(x)) -} -func (x *IsEnabledResponse_SummaryStatus) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(IsEnabledResponse_SummaryStatus_value, data, "IsEnabledResponse_SummaryStatus") - if err != nil { - return err - } - *x = IsEnabledResponse_SummaryStatus(value) - return nil -} - -type IsEnabledRequest struct { - Package *string `protobuf:"bytes,1,req,name=package" json:"package,omitempty"` - Capability []string `protobuf:"bytes,2,rep,name=capability" json:"capability,omitempty"` - Call []string `protobuf:"bytes,3,rep,name=call" json:"call,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IsEnabledRequest) Reset() { *m = IsEnabledRequest{} } -func (m *IsEnabledRequest) String() string { return proto.CompactTextString(m) } -func (*IsEnabledRequest) ProtoMessage() {} - -func (m *IsEnabledRequest) GetPackage() string { - if m != nil && m.Package != nil { - return *m.Package - } - return "" -} - -func (m *IsEnabledRequest) GetCapability() []string { - if m != nil { - return m.Capability - } - return nil -} - -func (m *IsEnabledRequest) GetCall() []string { - if m != nil { - return m.Call - } - return nil -} - -type IsEnabledResponse struct { - SummaryStatus *IsEnabledResponse_SummaryStatus `protobuf:"varint,1,opt,name=summary_status,enum=appengine.IsEnabledResponse_SummaryStatus" json:"summary_status,omitempty"` - TimeUntilScheduled *int64 `protobuf:"varint,2,opt,name=time_until_scheduled" json:"time_until_scheduled,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IsEnabledResponse) Reset() { *m = IsEnabledResponse{} } -func (m *IsEnabledResponse) String() string { return proto.CompactTextString(m) } -func (*IsEnabledResponse) ProtoMessage() {} - -func (m *IsEnabledResponse) GetSummaryStatus() IsEnabledResponse_SummaryStatus { - if m != nil && m.SummaryStatus != nil { - return *m.SummaryStatus - } - return IsEnabledResponse_DEFAULT -} - -func (m *IsEnabledResponse) GetTimeUntilScheduled() int64 { - if m != nil && m.TimeUntilScheduled != nil { - return *m.TimeUntilScheduled - } - return 0 -} diff --git a/vendor/google.golang.org/appengine/internal/capability/capability_service.proto b/vendor/google.golang.org/appengine/internal/capability/capability_service.proto deleted file mode 100644 index 8f7256d1c..000000000 --- a/vendor/google.golang.org/appengine/internal/capability/capability_service.proto +++ /dev/null @@ -1,28 +0,0 @@ -syntax = "proto2"; -option go_package = "channel"; - -package appengine; - -message IsEnabledRequest { - required string package = 1; - repeated string capability = 2; - repeated string call = 3; -} - -message IsEnabledResponse { - enum SummaryStatus { - DEFAULT = 0; - ENABLED = 1; - SCHEDULED_FUTURE = 2; - SCHEDULED_NOW = 3; - DISABLED = 4; - UNKNOWN = 5; - } - optional SummaryStatus summary_status = 1; - - optional int64 time_until_scheduled = 2; -} - -service CapabilityService { - rpc IsEnabled(IsEnabledRequest) returns (IsEnabledResponse) {}; -} diff --git a/vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go b/vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go deleted file mode 100644 index 7b8d00c98..000000000 --- a/vendor/google.golang.org/appengine/internal/channel/channel_service.pb.go +++ /dev/null @@ -1,154 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/channel/channel_service.proto -// DO NOT EDIT! - -/* -Package channel is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/channel/channel_service.proto - -It has these top-level messages: - ChannelServiceError - CreateChannelRequest - CreateChannelResponse - SendMessageRequest -*/ -package channel - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type ChannelServiceError_ErrorCode int32 - -const ( - ChannelServiceError_OK ChannelServiceError_ErrorCode = 0 - ChannelServiceError_INTERNAL_ERROR ChannelServiceError_ErrorCode = 1 - ChannelServiceError_INVALID_CHANNEL_KEY ChannelServiceError_ErrorCode = 2 - ChannelServiceError_BAD_MESSAGE ChannelServiceError_ErrorCode = 3 - ChannelServiceError_INVALID_CHANNEL_TOKEN_DURATION ChannelServiceError_ErrorCode = 4 - ChannelServiceError_APPID_ALIAS_REQUIRED ChannelServiceError_ErrorCode = 5 -) - -var ChannelServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "INTERNAL_ERROR", - 2: "INVALID_CHANNEL_KEY", - 3: "BAD_MESSAGE", - 4: "INVALID_CHANNEL_TOKEN_DURATION", - 5: "APPID_ALIAS_REQUIRED", -} -var ChannelServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "INTERNAL_ERROR": 1, - "INVALID_CHANNEL_KEY": 2, - "BAD_MESSAGE": 3, - "INVALID_CHANNEL_TOKEN_DURATION": 4, - "APPID_ALIAS_REQUIRED": 5, -} - -func (x ChannelServiceError_ErrorCode) Enum() *ChannelServiceError_ErrorCode { - p := new(ChannelServiceError_ErrorCode) - *p = x - return p -} -func (x ChannelServiceError_ErrorCode) String() string { - return proto.EnumName(ChannelServiceError_ErrorCode_name, int32(x)) -} -func (x *ChannelServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ChannelServiceError_ErrorCode_value, data, "ChannelServiceError_ErrorCode") - if err != nil { - return err - } - *x = ChannelServiceError_ErrorCode(value) - return nil -} - -type ChannelServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *ChannelServiceError) Reset() { *m = ChannelServiceError{} } -func (m *ChannelServiceError) String() string { return proto.CompactTextString(m) } -func (*ChannelServiceError) ProtoMessage() {} - -type CreateChannelRequest struct { - ApplicationKey *string `protobuf:"bytes,1,req,name=application_key" json:"application_key,omitempty"` - DurationMinutes *int32 `protobuf:"varint,2,opt,name=duration_minutes" json:"duration_minutes,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateChannelRequest) Reset() { *m = CreateChannelRequest{} } -func (m *CreateChannelRequest) String() string { return proto.CompactTextString(m) } -func (*CreateChannelRequest) ProtoMessage() {} - -func (m *CreateChannelRequest) GetApplicationKey() string { - if m != nil && m.ApplicationKey != nil { - return *m.ApplicationKey - } - return "" -} - -func (m *CreateChannelRequest) GetDurationMinutes() int32 { - if m != nil && m.DurationMinutes != nil { - return *m.DurationMinutes - } - return 0 -} - -type CreateChannelResponse struct { - Token *string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` - DurationMinutes *int32 `protobuf:"varint,3,opt,name=duration_minutes" json:"duration_minutes,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateChannelResponse) Reset() { *m = CreateChannelResponse{} } -func (m *CreateChannelResponse) String() string { return proto.CompactTextString(m) } -func (*CreateChannelResponse) ProtoMessage() {} - -func (m *CreateChannelResponse) GetToken() string { - if m != nil && m.Token != nil { - return *m.Token - } - return "" -} - -func (m *CreateChannelResponse) GetDurationMinutes() int32 { - if m != nil && m.DurationMinutes != nil { - return *m.DurationMinutes - } - return 0 -} - -type SendMessageRequest struct { - ApplicationKey *string `protobuf:"bytes,1,req,name=application_key" json:"application_key,omitempty"` - Message *string `protobuf:"bytes,2,req,name=message" json:"message,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SendMessageRequest) Reset() { *m = SendMessageRequest{} } -func (m *SendMessageRequest) String() string { return proto.CompactTextString(m) } -func (*SendMessageRequest) ProtoMessage() {} - -func (m *SendMessageRequest) GetApplicationKey() string { - if m != nil && m.ApplicationKey != nil { - return *m.ApplicationKey - } - return "" -} - -func (m *SendMessageRequest) GetMessage() string { - if m != nil && m.Message != nil { - return *m.Message - } - return "" -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/channel/channel_service.proto b/vendor/google.golang.org/appengine/internal/channel/channel_service.proto deleted file mode 100644 index 2b5a918ca..000000000 --- a/vendor/google.golang.org/appengine/internal/channel/channel_service.proto +++ /dev/null @@ -1,30 +0,0 @@ -syntax = "proto2"; -option go_package = "channel"; - -package appengine; - -message ChannelServiceError { - enum ErrorCode { - OK = 0; - INTERNAL_ERROR = 1; - INVALID_CHANNEL_KEY = 2; - BAD_MESSAGE = 3; - INVALID_CHANNEL_TOKEN_DURATION = 4; - APPID_ALIAS_REQUIRED = 5; - } -} - -message CreateChannelRequest { - required string application_key = 1; - optional int32 duration_minutes = 2; -} - -message CreateChannelResponse { - optional string token = 2; - optional int32 duration_minutes = 3; -} - -message SendMessageRequest { - required string application_key = 1; - required string message = 2; -} diff --git a/vendor/google.golang.org/appengine/internal/image/images_service.pb.go b/vendor/google.golang.org/appengine/internal/image/images_service.pb.go deleted file mode 100644 index ba7c72206..000000000 --- a/vendor/google.golang.org/appengine/internal/image/images_service.pb.go +++ /dev/null @@ -1,845 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/image/images_service.proto -// DO NOT EDIT! - -/* -Package image is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/image/images_service.proto - -It has these top-level messages: - ImagesServiceError - ImagesServiceTransform - Transform - ImageData - InputSettings - OutputSettings - ImagesTransformRequest - ImagesTransformResponse - CompositeImageOptions - ImagesCanvas - ImagesCompositeRequest - ImagesCompositeResponse - ImagesHistogramRequest - ImagesHistogram - ImagesHistogramResponse - ImagesGetUrlBaseRequest - ImagesGetUrlBaseResponse - ImagesDeleteUrlBaseRequest - ImagesDeleteUrlBaseResponse -*/ -package image - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type ImagesServiceError_ErrorCode int32 - -const ( - ImagesServiceError_UNSPECIFIED_ERROR ImagesServiceError_ErrorCode = 1 - ImagesServiceError_BAD_TRANSFORM_DATA ImagesServiceError_ErrorCode = 2 - ImagesServiceError_NOT_IMAGE ImagesServiceError_ErrorCode = 3 - ImagesServiceError_BAD_IMAGE_DATA ImagesServiceError_ErrorCode = 4 - ImagesServiceError_IMAGE_TOO_LARGE ImagesServiceError_ErrorCode = 5 - ImagesServiceError_INVALID_BLOB_KEY ImagesServiceError_ErrorCode = 6 - ImagesServiceError_ACCESS_DENIED ImagesServiceError_ErrorCode = 7 - ImagesServiceError_OBJECT_NOT_FOUND ImagesServiceError_ErrorCode = 8 -) - -var ImagesServiceError_ErrorCode_name = map[int32]string{ - 1: "UNSPECIFIED_ERROR", - 2: "BAD_TRANSFORM_DATA", - 3: "NOT_IMAGE", - 4: "BAD_IMAGE_DATA", - 5: "IMAGE_TOO_LARGE", - 6: "INVALID_BLOB_KEY", - 7: "ACCESS_DENIED", - 8: "OBJECT_NOT_FOUND", -} -var ImagesServiceError_ErrorCode_value = map[string]int32{ - "UNSPECIFIED_ERROR": 1, - "BAD_TRANSFORM_DATA": 2, - "NOT_IMAGE": 3, - "BAD_IMAGE_DATA": 4, - "IMAGE_TOO_LARGE": 5, - "INVALID_BLOB_KEY": 6, - "ACCESS_DENIED": 7, - "OBJECT_NOT_FOUND": 8, -} - -func (x ImagesServiceError_ErrorCode) Enum() *ImagesServiceError_ErrorCode { - p := new(ImagesServiceError_ErrorCode) - *p = x - return p -} -func (x ImagesServiceError_ErrorCode) String() string { - return proto.EnumName(ImagesServiceError_ErrorCode_name, int32(x)) -} -func (x *ImagesServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ImagesServiceError_ErrorCode_value, data, "ImagesServiceError_ErrorCode") - if err != nil { - return err - } - *x = ImagesServiceError_ErrorCode(value) - return nil -} - -type ImagesServiceTransform_Type int32 - -const ( - ImagesServiceTransform_RESIZE ImagesServiceTransform_Type = 1 - ImagesServiceTransform_ROTATE ImagesServiceTransform_Type = 2 - ImagesServiceTransform_HORIZONTAL_FLIP ImagesServiceTransform_Type = 3 - ImagesServiceTransform_VERTICAL_FLIP ImagesServiceTransform_Type = 4 - ImagesServiceTransform_CROP ImagesServiceTransform_Type = 5 - ImagesServiceTransform_IM_FEELING_LUCKY ImagesServiceTransform_Type = 6 -) - -var ImagesServiceTransform_Type_name = map[int32]string{ - 1: "RESIZE", - 2: "ROTATE", - 3: "HORIZONTAL_FLIP", - 4: "VERTICAL_FLIP", - 5: "CROP", - 6: "IM_FEELING_LUCKY", -} -var ImagesServiceTransform_Type_value = map[string]int32{ - "RESIZE": 1, - "ROTATE": 2, - "HORIZONTAL_FLIP": 3, - "VERTICAL_FLIP": 4, - "CROP": 5, - "IM_FEELING_LUCKY": 6, -} - -func (x ImagesServiceTransform_Type) Enum() *ImagesServiceTransform_Type { - p := new(ImagesServiceTransform_Type) - *p = x - return p -} -func (x ImagesServiceTransform_Type) String() string { - return proto.EnumName(ImagesServiceTransform_Type_name, int32(x)) -} -func (x *ImagesServiceTransform_Type) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ImagesServiceTransform_Type_value, data, "ImagesServiceTransform_Type") - if err != nil { - return err - } - *x = ImagesServiceTransform_Type(value) - return nil -} - -type InputSettings_ORIENTATION_CORRECTION_TYPE int32 - -const ( - InputSettings_UNCHANGED_ORIENTATION InputSettings_ORIENTATION_CORRECTION_TYPE = 0 - InputSettings_CORRECT_ORIENTATION InputSettings_ORIENTATION_CORRECTION_TYPE = 1 -) - -var InputSettings_ORIENTATION_CORRECTION_TYPE_name = map[int32]string{ - 0: "UNCHANGED_ORIENTATION", - 1: "CORRECT_ORIENTATION", -} -var InputSettings_ORIENTATION_CORRECTION_TYPE_value = map[string]int32{ - "UNCHANGED_ORIENTATION": 0, - "CORRECT_ORIENTATION": 1, -} - -func (x InputSettings_ORIENTATION_CORRECTION_TYPE) Enum() *InputSettings_ORIENTATION_CORRECTION_TYPE { - p := new(InputSettings_ORIENTATION_CORRECTION_TYPE) - *p = x - return p -} -func (x InputSettings_ORIENTATION_CORRECTION_TYPE) String() string { - return proto.EnumName(InputSettings_ORIENTATION_CORRECTION_TYPE_name, int32(x)) -} -func (x *InputSettings_ORIENTATION_CORRECTION_TYPE) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(InputSettings_ORIENTATION_CORRECTION_TYPE_value, data, "InputSettings_ORIENTATION_CORRECTION_TYPE") - if err != nil { - return err - } - *x = InputSettings_ORIENTATION_CORRECTION_TYPE(value) - return nil -} - -type OutputSettings_MIME_TYPE int32 - -const ( - OutputSettings_PNG OutputSettings_MIME_TYPE = 0 - OutputSettings_JPEG OutputSettings_MIME_TYPE = 1 - OutputSettings_WEBP OutputSettings_MIME_TYPE = 2 -) - -var OutputSettings_MIME_TYPE_name = map[int32]string{ - 0: "PNG", - 1: "JPEG", - 2: "WEBP", -} -var OutputSettings_MIME_TYPE_value = map[string]int32{ - "PNG": 0, - "JPEG": 1, - "WEBP": 2, -} - -func (x OutputSettings_MIME_TYPE) Enum() *OutputSettings_MIME_TYPE { - p := new(OutputSettings_MIME_TYPE) - *p = x - return p -} -func (x OutputSettings_MIME_TYPE) String() string { - return proto.EnumName(OutputSettings_MIME_TYPE_name, int32(x)) -} -func (x *OutputSettings_MIME_TYPE) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(OutputSettings_MIME_TYPE_value, data, "OutputSettings_MIME_TYPE") - if err != nil { - return err - } - *x = OutputSettings_MIME_TYPE(value) - return nil -} - -type CompositeImageOptions_ANCHOR int32 - -const ( - CompositeImageOptions_TOP_LEFT CompositeImageOptions_ANCHOR = 0 - CompositeImageOptions_TOP CompositeImageOptions_ANCHOR = 1 - CompositeImageOptions_TOP_RIGHT CompositeImageOptions_ANCHOR = 2 - CompositeImageOptions_LEFT CompositeImageOptions_ANCHOR = 3 - CompositeImageOptions_CENTER CompositeImageOptions_ANCHOR = 4 - CompositeImageOptions_RIGHT CompositeImageOptions_ANCHOR = 5 - CompositeImageOptions_BOTTOM_LEFT CompositeImageOptions_ANCHOR = 6 - CompositeImageOptions_BOTTOM CompositeImageOptions_ANCHOR = 7 - CompositeImageOptions_BOTTOM_RIGHT CompositeImageOptions_ANCHOR = 8 -) - -var CompositeImageOptions_ANCHOR_name = map[int32]string{ - 0: "TOP_LEFT", - 1: "TOP", - 2: "TOP_RIGHT", - 3: "LEFT", - 4: "CENTER", - 5: "RIGHT", - 6: "BOTTOM_LEFT", - 7: "BOTTOM", - 8: "BOTTOM_RIGHT", -} -var CompositeImageOptions_ANCHOR_value = map[string]int32{ - "TOP_LEFT": 0, - "TOP": 1, - "TOP_RIGHT": 2, - "LEFT": 3, - "CENTER": 4, - "RIGHT": 5, - "BOTTOM_LEFT": 6, - "BOTTOM": 7, - "BOTTOM_RIGHT": 8, -} - -func (x CompositeImageOptions_ANCHOR) Enum() *CompositeImageOptions_ANCHOR { - p := new(CompositeImageOptions_ANCHOR) - *p = x - return p -} -func (x CompositeImageOptions_ANCHOR) String() string { - return proto.EnumName(CompositeImageOptions_ANCHOR_name, int32(x)) -} -func (x *CompositeImageOptions_ANCHOR) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(CompositeImageOptions_ANCHOR_value, data, "CompositeImageOptions_ANCHOR") - if err != nil { - return err - } - *x = CompositeImageOptions_ANCHOR(value) - return nil -} - -type ImagesServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesServiceError) Reset() { *m = ImagesServiceError{} } -func (m *ImagesServiceError) String() string { return proto.CompactTextString(m) } -func (*ImagesServiceError) ProtoMessage() {} - -type ImagesServiceTransform struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesServiceTransform) Reset() { *m = ImagesServiceTransform{} } -func (m *ImagesServiceTransform) String() string { return proto.CompactTextString(m) } -func (*ImagesServiceTransform) ProtoMessage() {} - -type Transform struct { - Width *int32 `protobuf:"varint,1,opt,name=width" json:"width,omitempty"` - Height *int32 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"` - CropToFit *bool `protobuf:"varint,11,opt,name=crop_to_fit,def=0" json:"crop_to_fit,omitempty"` - CropOffsetX *float32 `protobuf:"fixed32,12,opt,name=crop_offset_x,def=0.5" json:"crop_offset_x,omitempty"` - CropOffsetY *float32 `protobuf:"fixed32,13,opt,name=crop_offset_y,def=0.5" json:"crop_offset_y,omitempty"` - Rotate *int32 `protobuf:"varint,3,opt,name=rotate,def=0" json:"rotate,omitempty"` - HorizontalFlip *bool `protobuf:"varint,4,opt,name=horizontal_flip,def=0" json:"horizontal_flip,omitempty"` - VerticalFlip *bool `protobuf:"varint,5,opt,name=vertical_flip,def=0" json:"vertical_flip,omitempty"` - CropLeftX *float32 `protobuf:"fixed32,6,opt,name=crop_left_x,def=0" json:"crop_left_x,omitempty"` - CropTopY *float32 `protobuf:"fixed32,7,opt,name=crop_top_y,def=0" json:"crop_top_y,omitempty"` - CropRightX *float32 `protobuf:"fixed32,8,opt,name=crop_right_x,def=1" json:"crop_right_x,omitempty"` - CropBottomY *float32 `protobuf:"fixed32,9,opt,name=crop_bottom_y,def=1" json:"crop_bottom_y,omitempty"` - Autolevels *bool `protobuf:"varint,10,opt,name=autolevels,def=0" json:"autolevels,omitempty"` - AllowStretch *bool `protobuf:"varint,14,opt,name=allow_stretch,def=0" json:"allow_stretch,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Transform) Reset() { *m = Transform{} } -func (m *Transform) String() string { return proto.CompactTextString(m) } -func (*Transform) ProtoMessage() {} - -const Default_Transform_CropToFit bool = false -const Default_Transform_CropOffsetX float32 = 0.5 -const Default_Transform_CropOffsetY float32 = 0.5 -const Default_Transform_Rotate int32 = 0 -const Default_Transform_HorizontalFlip bool = false -const Default_Transform_VerticalFlip bool = false -const Default_Transform_CropLeftX float32 = 0 -const Default_Transform_CropTopY float32 = 0 -const Default_Transform_CropRightX float32 = 1 -const Default_Transform_CropBottomY float32 = 1 -const Default_Transform_Autolevels bool = false -const Default_Transform_AllowStretch bool = false - -func (m *Transform) GetWidth() int32 { - if m != nil && m.Width != nil { - return *m.Width - } - return 0 -} - -func (m *Transform) GetHeight() int32 { - if m != nil && m.Height != nil { - return *m.Height - } - return 0 -} - -func (m *Transform) GetCropToFit() bool { - if m != nil && m.CropToFit != nil { - return *m.CropToFit - } - return Default_Transform_CropToFit -} - -func (m *Transform) GetCropOffsetX() float32 { - if m != nil && m.CropOffsetX != nil { - return *m.CropOffsetX - } - return Default_Transform_CropOffsetX -} - -func (m *Transform) GetCropOffsetY() float32 { - if m != nil && m.CropOffsetY != nil { - return *m.CropOffsetY - } - return Default_Transform_CropOffsetY -} - -func (m *Transform) GetRotate() int32 { - if m != nil && m.Rotate != nil { - return *m.Rotate - } - return Default_Transform_Rotate -} - -func (m *Transform) GetHorizontalFlip() bool { - if m != nil && m.HorizontalFlip != nil { - return *m.HorizontalFlip - } - return Default_Transform_HorizontalFlip -} - -func (m *Transform) GetVerticalFlip() bool { - if m != nil && m.VerticalFlip != nil { - return *m.VerticalFlip - } - return Default_Transform_VerticalFlip -} - -func (m *Transform) GetCropLeftX() float32 { - if m != nil && m.CropLeftX != nil { - return *m.CropLeftX - } - return Default_Transform_CropLeftX -} - -func (m *Transform) GetCropTopY() float32 { - if m != nil && m.CropTopY != nil { - return *m.CropTopY - } - return Default_Transform_CropTopY -} - -func (m *Transform) GetCropRightX() float32 { - if m != nil && m.CropRightX != nil { - return *m.CropRightX - } - return Default_Transform_CropRightX -} - -func (m *Transform) GetCropBottomY() float32 { - if m != nil && m.CropBottomY != nil { - return *m.CropBottomY - } - return Default_Transform_CropBottomY -} - -func (m *Transform) GetAutolevels() bool { - if m != nil && m.Autolevels != nil { - return *m.Autolevels - } - return Default_Transform_Autolevels -} - -func (m *Transform) GetAllowStretch() bool { - if m != nil && m.AllowStretch != nil { - return *m.AllowStretch - } - return Default_Transform_AllowStretch -} - -type ImageData struct { - Content []byte `protobuf:"bytes,1,req,name=content" json:"content,omitempty"` - BlobKey *string `protobuf:"bytes,2,opt,name=blob_key" json:"blob_key,omitempty"` - Width *int32 `protobuf:"varint,3,opt,name=width" json:"width,omitempty"` - Height *int32 `protobuf:"varint,4,opt,name=height" json:"height,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImageData) Reset() { *m = ImageData{} } -func (m *ImageData) String() string { return proto.CompactTextString(m) } -func (*ImageData) ProtoMessage() {} - -func (m *ImageData) GetContent() []byte { - if m != nil { - return m.Content - } - return nil -} - -func (m *ImageData) GetBlobKey() string { - if m != nil && m.BlobKey != nil { - return *m.BlobKey - } - return "" -} - -func (m *ImageData) GetWidth() int32 { - if m != nil && m.Width != nil { - return *m.Width - } - return 0 -} - -func (m *ImageData) GetHeight() int32 { - if m != nil && m.Height != nil { - return *m.Height - } - return 0 -} - -type InputSettings struct { - CorrectExifOrientation *InputSettings_ORIENTATION_CORRECTION_TYPE `protobuf:"varint,1,opt,name=correct_exif_orientation,enum=appengine.InputSettings_ORIENTATION_CORRECTION_TYPE,def=0" json:"correct_exif_orientation,omitempty"` - ParseMetadata *bool `protobuf:"varint,2,opt,name=parse_metadata,def=0" json:"parse_metadata,omitempty"` - TransparentSubstitutionRgb *int32 `protobuf:"varint,3,opt,name=transparent_substitution_rgb" json:"transparent_substitution_rgb,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *InputSettings) Reset() { *m = InputSettings{} } -func (m *InputSettings) String() string { return proto.CompactTextString(m) } -func (*InputSettings) ProtoMessage() {} - -const Default_InputSettings_CorrectExifOrientation InputSettings_ORIENTATION_CORRECTION_TYPE = InputSettings_UNCHANGED_ORIENTATION -const Default_InputSettings_ParseMetadata bool = false - -func (m *InputSettings) GetCorrectExifOrientation() InputSettings_ORIENTATION_CORRECTION_TYPE { - if m != nil && m.CorrectExifOrientation != nil { - return *m.CorrectExifOrientation - } - return Default_InputSettings_CorrectExifOrientation -} - -func (m *InputSettings) GetParseMetadata() bool { - if m != nil && m.ParseMetadata != nil { - return *m.ParseMetadata - } - return Default_InputSettings_ParseMetadata -} - -func (m *InputSettings) GetTransparentSubstitutionRgb() int32 { - if m != nil && m.TransparentSubstitutionRgb != nil { - return *m.TransparentSubstitutionRgb - } - return 0 -} - -type OutputSettings struct { - MimeType *OutputSettings_MIME_TYPE `protobuf:"varint,1,opt,name=mime_type,enum=appengine.OutputSettings_MIME_TYPE,def=0" json:"mime_type,omitempty"` - Quality *int32 `protobuf:"varint,2,opt,name=quality" json:"quality,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OutputSettings) Reset() { *m = OutputSettings{} } -func (m *OutputSettings) String() string { return proto.CompactTextString(m) } -func (*OutputSettings) ProtoMessage() {} - -const Default_OutputSettings_MimeType OutputSettings_MIME_TYPE = OutputSettings_PNG - -func (m *OutputSettings) GetMimeType() OutputSettings_MIME_TYPE { - if m != nil && m.MimeType != nil { - return *m.MimeType - } - return Default_OutputSettings_MimeType -} - -func (m *OutputSettings) GetQuality() int32 { - if m != nil && m.Quality != nil { - return *m.Quality - } - return 0 -} - -type ImagesTransformRequest struct { - Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` - Transform []*Transform `protobuf:"bytes,2,rep,name=transform" json:"transform,omitempty"` - Output *OutputSettings `protobuf:"bytes,3,req,name=output" json:"output,omitempty"` - Input *InputSettings `protobuf:"bytes,4,opt,name=input" json:"input,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesTransformRequest) Reset() { *m = ImagesTransformRequest{} } -func (m *ImagesTransformRequest) String() string { return proto.CompactTextString(m) } -func (*ImagesTransformRequest) ProtoMessage() {} - -func (m *ImagesTransformRequest) GetImage() *ImageData { - if m != nil { - return m.Image - } - return nil -} - -func (m *ImagesTransformRequest) GetTransform() []*Transform { - if m != nil { - return m.Transform - } - return nil -} - -func (m *ImagesTransformRequest) GetOutput() *OutputSettings { - if m != nil { - return m.Output - } - return nil -} - -func (m *ImagesTransformRequest) GetInput() *InputSettings { - if m != nil { - return m.Input - } - return nil -} - -type ImagesTransformResponse struct { - Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` - SourceMetadata *string `protobuf:"bytes,2,opt,name=source_metadata" json:"source_metadata,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesTransformResponse) Reset() { *m = ImagesTransformResponse{} } -func (m *ImagesTransformResponse) String() string { return proto.CompactTextString(m) } -func (*ImagesTransformResponse) ProtoMessage() {} - -func (m *ImagesTransformResponse) GetImage() *ImageData { - if m != nil { - return m.Image - } - return nil -} - -func (m *ImagesTransformResponse) GetSourceMetadata() string { - if m != nil && m.SourceMetadata != nil { - return *m.SourceMetadata - } - return "" -} - -type CompositeImageOptions struct { - SourceIndex *int32 `protobuf:"varint,1,req,name=source_index" json:"source_index,omitempty"` - XOffset *int32 `protobuf:"varint,2,req,name=x_offset" json:"x_offset,omitempty"` - YOffset *int32 `protobuf:"varint,3,req,name=y_offset" json:"y_offset,omitempty"` - Opacity *float32 `protobuf:"fixed32,4,req,name=opacity" json:"opacity,omitempty"` - Anchor *CompositeImageOptions_ANCHOR `protobuf:"varint,5,req,name=anchor,enum=appengine.CompositeImageOptions_ANCHOR" json:"anchor,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CompositeImageOptions) Reset() { *m = CompositeImageOptions{} } -func (m *CompositeImageOptions) String() string { return proto.CompactTextString(m) } -func (*CompositeImageOptions) ProtoMessage() {} - -func (m *CompositeImageOptions) GetSourceIndex() int32 { - if m != nil && m.SourceIndex != nil { - return *m.SourceIndex - } - return 0 -} - -func (m *CompositeImageOptions) GetXOffset() int32 { - if m != nil && m.XOffset != nil { - return *m.XOffset - } - return 0 -} - -func (m *CompositeImageOptions) GetYOffset() int32 { - if m != nil && m.YOffset != nil { - return *m.YOffset - } - return 0 -} - -func (m *CompositeImageOptions) GetOpacity() float32 { - if m != nil && m.Opacity != nil { - return *m.Opacity - } - return 0 -} - -func (m *CompositeImageOptions) GetAnchor() CompositeImageOptions_ANCHOR { - if m != nil && m.Anchor != nil { - return *m.Anchor - } - return CompositeImageOptions_TOP_LEFT -} - -type ImagesCanvas struct { - Width *int32 `protobuf:"varint,1,req,name=width" json:"width,omitempty"` - Height *int32 `protobuf:"varint,2,req,name=height" json:"height,omitempty"` - Output *OutputSettings `protobuf:"bytes,3,req,name=output" json:"output,omitempty"` - Color *int32 `protobuf:"varint,4,opt,name=color,def=-1" json:"color,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesCanvas) Reset() { *m = ImagesCanvas{} } -func (m *ImagesCanvas) String() string { return proto.CompactTextString(m) } -func (*ImagesCanvas) ProtoMessage() {} - -const Default_ImagesCanvas_Color int32 = -1 - -func (m *ImagesCanvas) GetWidth() int32 { - if m != nil && m.Width != nil { - return *m.Width - } - return 0 -} - -func (m *ImagesCanvas) GetHeight() int32 { - if m != nil && m.Height != nil { - return *m.Height - } - return 0 -} - -func (m *ImagesCanvas) GetOutput() *OutputSettings { - if m != nil { - return m.Output - } - return nil -} - -func (m *ImagesCanvas) GetColor() int32 { - if m != nil && m.Color != nil { - return *m.Color - } - return Default_ImagesCanvas_Color -} - -type ImagesCompositeRequest struct { - Image []*ImageData `protobuf:"bytes,1,rep,name=image" json:"image,omitempty"` - Options []*CompositeImageOptions `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` - Canvas *ImagesCanvas `protobuf:"bytes,3,req,name=canvas" json:"canvas,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesCompositeRequest) Reset() { *m = ImagesCompositeRequest{} } -func (m *ImagesCompositeRequest) String() string { return proto.CompactTextString(m) } -func (*ImagesCompositeRequest) ProtoMessage() {} - -func (m *ImagesCompositeRequest) GetImage() []*ImageData { - if m != nil { - return m.Image - } - return nil -} - -func (m *ImagesCompositeRequest) GetOptions() []*CompositeImageOptions { - if m != nil { - return m.Options - } - return nil -} - -func (m *ImagesCompositeRequest) GetCanvas() *ImagesCanvas { - if m != nil { - return m.Canvas - } - return nil -} - -type ImagesCompositeResponse struct { - Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesCompositeResponse) Reset() { *m = ImagesCompositeResponse{} } -func (m *ImagesCompositeResponse) String() string { return proto.CompactTextString(m) } -func (*ImagesCompositeResponse) ProtoMessage() {} - -func (m *ImagesCompositeResponse) GetImage() *ImageData { - if m != nil { - return m.Image - } - return nil -} - -type ImagesHistogramRequest struct { - Image *ImageData `protobuf:"bytes,1,req,name=image" json:"image,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesHistogramRequest) Reset() { *m = ImagesHistogramRequest{} } -func (m *ImagesHistogramRequest) String() string { return proto.CompactTextString(m) } -func (*ImagesHistogramRequest) ProtoMessage() {} - -func (m *ImagesHistogramRequest) GetImage() *ImageData { - if m != nil { - return m.Image - } - return nil -} - -type ImagesHistogram struct { - Red []int32 `protobuf:"varint,1,rep,name=red" json:"red,omitempty"` - Green []int32 `protobuf:"varint,2,rep,name=green" json:"green,omitempty"` - Blue []int32 `protobuf:"varint,3,rep,name=blue" json:"blue,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesHistogram) Reset() { *m = ImagesHistogram{} } -func (m *ImagesHistogram) String() string { return proto.CompactTextString(m) } -func (*ImagesHistogram) ProtoMessage() {} - -func (m *ImagesHistogram) GetRed() []int32 { - if m != nil { - return m.Red - } - return nil -} - -func (m *ImagesHistogram) GetGreen() []int32 { - if m != nil { - return m.Green - } - return nil -} - -func (m *ImagesHistogram) GetBlue() []int32 { - if m != nil { - return m.Blue - } - return nil -} - -type ImagesHistogramResponse struct { - Histogram *ImagesHistogram `protobuf:"bytes,1,req,name=histogram" json:"histogram,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesHistogramResponse) Reset() { *m = ImagesHistogramResponse{} } -func (m *ImagesHistogramResponse) String() string { return proto.CompactTextString(m) } -func (*ImagesHistogramResponse) ProtoMessage() {} - -func (m *ImagesHistogramResponse) GetHistogram() *ImagesHistogram { - if m != nil { - return m.Histogram - } - return nil -} - -type ImagesGetUrlBaseRequest struct { - BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` - CreateSecureUrl *bool `protobuf:"varint,2,opt,name=create_secure_url,def=0" json:"create_secure_url,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesGetUrlBaseRequest) Reset() { *m = ImagesGetUrlBaseRequest{} } -func (m *ImagesGetUrlBaseRequest) String() string { return proto.CompactTextString(m) } -func (*ImagesGetUrlBaseRequest) ProtoMessage() {} - -const Default_ImagesGetUrlBaseRequest_CreateSecureUrl bool = false - -func (m *ImagesGetUrlBaseRequest) GetBlobKey() string { - if m != nil && m.BlobKey != nil { - return *m.BlobKey - } - return "" -} - -func (m *ImagesGetUrlBaseRequest) GetCreateSecureUrl() bool { - if m != nil && m.CreateSecureUrl != nil { - return *m.CreateSecureUrl - } - return Default_ImagesGetUrlBaseRequest_CreateSecureUrl -} - -type ImagesGetUrlBaseResponse struct { - Url *string `protobuf:"bytes,1,req,name=url" json:"url,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesGetUrlBaseResponse) Reset() { *m = ImagesGetUrlBaseResponse{} } -func (m *ImagesGetUrlBaseResponse) String() string { return proto.CompactTextString(m) } -func (*ImagesGetUrlBaseResponse) ProtoMessage() {} - -func (m *ImagesGetUrlBaseResponse) GetUrl() string { - if m != nil && m.Url != nil { - return *m.Url - } - return "" -} - -type ImagesDeleteUrlBaseRequest struct { - BlobKey *string `protobuf:"bytes,1,req,name=blob_key" json:"blob_key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesDeleteUrlBaseRequest) Reset() { *m = ImagesDeleteUrlBaseRequest{} } -func (m *ImagesDeleteUrlBaseRequest) String() string { return proto.CompactTextString(m) } -func (*ImagesDeleteUrlBaseRequest) ProtoMessage() {} - -func (m *ImagesDeleteUrlBaseRequest) GetBlobKey() string { - if m != nil && m.BlobKey != nil { - return *m.BlobKey - } - return "" -} - -type ImagesDeleteUrlBaseResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *ImagesDeleteUrlBaseResponse) Reset() { *m = ImagesDeleteUrlBaseResponse{} } -func (m *ImagesDeleteUrlBaseResponse) String() string { return proto.CompactTextString(m) } -func (*ImagesDeleteUrlBaseResponse) ProtoMessage() {} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/image/images_service.proto b/vendor/google.golang.org/appengine/internal/image/images_service.proto deleted file mode 100644 index f0d2ed5d3..000000000 --- a/vendor/google.golang.org/appengine/internal/image/images_service.proto +++ /dev/null @@ -1,162 +0,0 @@ -syntax = "proto2"; -option go_package = "image"; - -package appengine; - -message ImagesServiceError { - enum ErrorCode { - UNSPECIFIED_ERROR = 1; - BAD_TRANSFORM_DATA = 2; - NOT_IMAGE = 3; - BAD_IMAGE_DATA = 4; - IMAGE_TOO_LARGE = 5; - INVALID_BLOB_KEY = 6; - ACCESS_DENIED = 7; - OBJECT_NOT_FOUND = 8; - } -} - -message ImagesServiceTransform { - enum Type { - RESIZE = 1; - ROTATE = 2; - HORIZONTAL_FLIP = 3; - VERTICAL_FLIP = 4; - CROP = 5; - IM_FEELING_LUCKY = 6; - } -} - -message Transform { - optional int32 width = 1; - optional int32 height = 2; - optional bool crop_to_fit = 11 [default = false]; - optional float crop_offset_x = 12 [default = 0.5]; - optional float crop_offset_y = 13 [default = 0.5]; - - optional int32 rotate = 3 [default = 0]; - - optional bool horizontal_flip = 4 [default = false]; - - optional bool vertical_flip = 5 [default = false]; - - optional float crop_left_x = 6 [default = 0.0]; - optional float crop_top_y = 7 [default = 0.0]; - optional float crop_right_x = 8 [default = 1.0]; - optional float crop_bottom_y = 9 [default = 1.0]; - - optional bool autolevels = 10 [default = false]; - - optional bool allow_stretch = 14 [default = false]; -} - -message ImageData { - required bytes content = 1 [ctype=CORD]; - optional string blob_key = 2; - - optional int32 width = 3; - optional int32 height = 4; -} - -message InputSettings { - enum ORIENTATION_CORRECTION_TYPE { - UNCHANGED_ORIENTATION = 0; - CORRECT_ORIENTATION = 1; - } - optional ORIENTATION_CORRECTION_TYPE correct_exif_orientation = 1 - [default=UNCHANGED_ORIENTATION]; - optional bool parse_metadata = 2 [default=false]; - optional int32 transparent_substitution_rgb = 3; -} - -message OutputSettings { - enum MIME_TYPE { - PNG = 0; - JPEG = 1; - WEBP = 2; - } - - optional MIME_TYPE mime_type = 1 [default=PNG]; - optional int32 quality = 2; -} - -message ImagesTransformRequest { - required ImageData image = 1; - repeated Transform transform = 2; - required OutputSettings output = 3; - optional InputSettings input = 4; -} - -message ImagesTransformResponse { - required ImageData image = 1; - optional string source_metadata = 2; -} - -message CompositeImageOptions { - required int32 source_index = 1; - required int32 x_offset = 2; - required int32 y_offset = 3; - required float opacity = 4; - - enum ANCHOR { - TOP_LEFT = 0; - TOP = 1; - TOP_RIGHT = 2; - LEFT = 3; - CENTER = 4; - RIGHT = 5; - BOTTOM_LEFT = 6; - BOTTOM = 7; - BOTTOM_RIGHT = 8; - } - - required ANCHOR anchor = 5; -} - -message ImagesCanvas { - required int32 width = 1; - required int32 height = 2; - required OutputSettings output = 3; - optional int32 color = 4 [default=-1]; -} - -message ImagesCompositeRequest { - repeated ImageData image = 1; - repeated CompositeImageOptions options = 2; - required ImagesCanvas canvas = 3; -} - -message ImagesCompositeResponse { - required ImageData image = 1; -} - -message ImagesHistogramRequest { - required ImageData image = 1; -} - -message ImagesHistogram { - repeated int32 red = 1; - repeated int32 green = 2; - repeated int32 blue = 3; -} - -message ImagesHistogramResponse { - required ImagesHistogram histogram = 1; -} - -message ImagesGetUrlBaseRequest { - required string blob_key = 1; - - optional bool create_secure_url = 2 [default = false]; -} - -message ImagesGetUrlBaseResponse { - required string url = 1; -} - -message ImagesDeleteUrlBaseRequest { - required string blob_key = 1; -} - -message ImagesDeleteUrlBaseResponse { -} diff --git a/vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go b/vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go deleted file mode 100644 index b8d5f0301..000000000 --- a/vendor/google.golang.org/appengine/internal/mail/mail_service.pb.go +++ /dev/null @@ -1,229 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/mail/mail_service.proto -// DO NOT EDIT! - -/* -Package mail is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/mail/mail_service.proto - -It has these top-level messages: - MailServiceError - MailAttachment - MailHeader - MailMessage -*/ -package mail - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type MailServiceError_ErrorCode int32 - -const ( - MailServiceError_OK MailServiceError_ErrorCode = 0 - MailServiceError_INTERNAL_ERROR MailServiceError_ErrorCode = 1 - MailServiceError_BAD_REQUEST MailServiceError_ErrorCode = 2 - MailServiceError_UNAUTHORIZED_SENDER MailServiceError_ErrorCode = 3 - MailServiceError_INVALID_ATTACHMENT_TYPE MailServiceError_ErrorCode = 4 - MailServiceError_INVALID_HEADER_NAME MailServiceError_ErrorCode = 5 - MailServiceError_INVALID_CONTENT_ID MailServiceError_ErrorCode = 6 -) - -var MailServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "INTERNAL_ERROR", - 2: "BAD_REQUEST", - 3: "UNAUTHORIZED_SENDER", - 4: "INVALID_ATTACHMENT_TYPE", - 5: "INVALID_HEADER_NAME", - 6: "INVALID_CONTENT_ID", -} -var MailServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "INTERNAL_ERROR": 1, - "BAD_REQUEST": 2, - "UNAUTHORIZED_SENDER": 3, - "INVALID_ATTACHMENT_TYPE": 4, - "INVALID_HEADER_NAME": 5, - "INVALID_CONTENT_ID": 6, -} - -func (x MailServiceError_ErrorCode) Enum() *MailServiceError_ErrorCode { - p := new(MailServiceError_ErrorCode) - *p = x - return p -} -func (x MailServiceError_ErrorCode) String() string { - return proto.EnumName(MailServiceError_ErrorCode_name, int32(x)) -} -func (x *MailServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MailServiceError_ErrorCode_value, data, "MailServiceError_ErrorCode") - if err != nil { - return err - } - *x = MailServiceError_ErrorCode(value) - return nil -} - -type MailServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *MailServiceError) Reset() { *m = MailServiceError{} } -func (m *MailServiceError) String() string { return proto.CompactTextString(m) } -func (*MailServiceError) ProtoMessage() {} - -type MailAttachment struct { - FileName *string `protobuf:"bytes,1,req,name=FileName" json:"FileName,omitempty"` - Data []byte `protobuf:"bytes,2,req,name=Data" json:"Data,omitempty"` - ContentID *string `protobuf:"bytes,3,opt,name=ContentID" json:"ContentID,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MailAttachment) Reset() { *m = MailAttachment{} } -func (m *MailAttachment) String() string { return proto.CompactTextString(m) } -func (*MailAttachment) ProtoMessage() {} - -func (m *MailAttachment) GetFileName() string { - if m != nil && m.FileName != nil { - return *m.FileName - } - return "" -} - -func (m *MailAttachment) GetData() []byte { - if m != nil { - return m.Data - } - return nil -} - -func (m *MailAttachment) GetContentID() string { - if m != nil && m.ContentID != nil { - return *m.ContentID - } - return "" -} - -type MailHeader struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MailHeader) Reset() { *m = MailHeader{} } -func (m *MailHeader) String() string { return proto.CompactTextString(m) } -func (*MailHeader) ProtoMessage() {} - -func (m *MailHeader) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *MailHeader) GetValue() string { - if m != nil && m.Value != nil { - return *m.Value - } - return "" -} - -type MailMessage struct { - Sender *string `protobuf:"bytes,1,req,name=Sender" json:"Sender,omitempty"` - ReplyTo *string `protobuf:"bytes,2,opt,name=ReplyTo" json:"ReplyTo,omitempty"` - To []string `protobuf:"bytes,3,rep,name=To" json:"To,omitempty"` - Cc []string `protobuf:"bytes,4,rep,name=Cc" json:"Cc,omitempty"` - Bcc []string `protobuf:"bytes,5,rep,name=Bcc" json:"Bcc,omitempty"` - Subject *string `protobuf:"bytes,6,req,name=Subject" json:"Subject,omitempty"` - TextBody *string `protobuf:"bytes,7,opt,name=TextBody" json:"TextBody,omitempty"` - HtmlBody *string `protobuf:"bytes,8,opt,name=HtmlBody" json:"HtmlBody,omitempty"` - Attachment []*MailAttachment `protobuf:"bytes,9,rep,name=Attachment" json:"Attachment,omitempty"` - Header []*MailHeader `protobuf:"bytes,10,rep,name=Header" json:"Header,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MailMessage) Reset() { *m = MailMessage{} } -func (m *MailMessage) String() string { return proto.CompactTextString(m) } -func (*MailMessage) ProtoMessage() {} - -func (m *MailMessage) GetSender() string { - if m != nil && m.Sender != nil { - return *m.Sender - } - return "" -} - -func (m *MailMessage) GetReplyTo() string { - if m != nil && m.ReplyTo != nil { - return *m.ReplyTo - } - return "" -} - -func (m *MailMessage) GetTo() []string { - if m != nil { - return m.To - } - return nil -} - -func (m *MailMessage) GetCc() []string { - if m != nil { - return m.Cc - } - return nil -} - -func (m *MailMessage) GetBcc() []string { - if m != nil { - return m.Bcc - } - return nil -} - -func (m *MailMessage) GetSubject() string { - if m != nil && m.Subject != nil { - return *m.Subject - } - return "" -} - -func (m *MailMessage) GetTextBody() string { - if m != nil && m.TextBody != nil { - return *m.TextBody - } - return "" -} - -func (m *MailMessage) GetHtmlBody() string { - if m != nil && m.HtmlBody != nil { - return *m.HtmlBody - } - return "" -} - -func (m *MailMessage) GetAttachment() []*MailAttachment { - if m != nil { - return m.Attachment - } - return nil -} - -func (m *MailMessage) GetHeader() []*MailHeader { - if m != nil { - return m.Header - } - return nil -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/mail/mail_service.proto b/vendor/google.golang.org/appengine/internal/mail/mail_service.proto deleted file mode 100644 index 4e57b7aa5..000000000 --- a/vendor/google.golang.org/appengine/internal/mail/mail_service.proto +++ /dev/null @@ -1,45 +0,0 @@ -syntax = "proto2"; -option go_package = "mail"; - -package appengine; - -message MailServiceError { - enum ErrorCode { - OK = 0; - INTERNAL_ERROR = 1; - BAD_REQUEST = 2; - UNAUTHORIZED_SENDER = 3; - INVALID_ATTACHMENT_TYPE = 4; - INVALID_HEADER_NAME = 5; - INVALID_CONTENT_ID = 6; - } -} - -message MailAttachment { - required string FileName = 1; - required bytes Data = 2; - optional string ContentID = 3; -} - -message MailHeader { - required string name = 1; - required string value = 2; -} - -message MailMessage { - required string Sender = 1; - optional string ReplyTo = 2; - - repeated string To = 3; - repeated string Cc = 4; - repeated string Bcc = 5; - - required string Subject = 6; - - optional string TextBody = 7; - optional string HtmlBody = 8; - - repeated MailAttachment Attachment = 9; - - repeated MailHeader Header = 10; -} diff --git a/vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go b/vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go deleted file mode 100644 index 252fef869..000000000 --- a/vendor/google.golang.org/appengine/internal/memcache/memcache_service.pb.go +++ /dev/null @@ -1,938 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/memcache/memcache_service.proto -// DO NOT EDIT! - -/* -Package memcache is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/memcache/memcache_service.proto - -It has these top-level messages: - MemcacheServiceError - AppOverride - MemcacheGetRequest - MemcacheGetResponse - MemcacheSetRequest - MemcacheSetResponse - MemcacheDeleteRequest - MemcacheDeleteResponse - MemcacheIncrementRequest - MemcacheIncrementResponse - MemcacheBatchIncrementRequest - MemcacheBatchIncrementResponse - MemcacheFlushRequest - MemcacheFlushResponse - MemcacheStatsRequest - MergedNamespaceStats - MemcacheStatsResponse - MemcacheGrabTailRequest - MemcacheGrabTailResponse -*/ -package memcache - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type MemcacheServiceError_ErrorCode int32 - -const ( - MemcacheServiceError_OK MemcacheServiceError_ErrorCode = 0 - MemcacheServiceError_UNSPECIFIED_ERROR MemcacheServiceError_ErrorCode = 1 - MemcacheServiceError_NAMESPACE_NOT_SET MemcacheServiceError_ErrorCode = 2 - MemcacheServiceError_PERMISSION_DENIED MemcacheServiceError_ErrorCode = 3 - MemcacheServiceError_INVALID_VALUE MemcacheServiceError_ErrorCode = 6 -) - -var MemcacheServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "UNSPECIFIED_ERROR", - 2: "NAMESPACE_NOT_SET", - 3: "PERMISSION_DENIED", - 6: "INVALID_VALUE", -} -var MemcacheServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "UNSPECIFIED_ERROR": 1, - "NAMESPACE_NOT_SET": 2, - "PERMISSION_DENIED": 3, - "INVALID_VALUE": 6, -} - -func (x MemcacheServiceError_ErrorCode) Enum() *MemcacheServiceError_ErrorCode { - p := new(MemcacheServiceError_ErrorCode) - *p = x - return p -} -func (x MemcacheServiceError_ErrorCode) String() string { - return proto.EnumName(MemcacheServiceError_ErrorCode_name, int32(x)) -} -func (x *MemcacheServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MemcacheServiceError_ErrorCode_value, data, "MemcacheServiceError_ErrorCode") - if err != nil { - return err - } - *x = MemcacheServiceError_ErrorCode(value) - return nil -} - -type MemcacheSetRequest_SetPolicy int32 - -const ( - MemcacheSetRequest_SET MemcacheSetRequest_SetPolicy = 1 - MemcacheSetRequest_ADD MemcacheSetRequest_SetPolicy = 2 - MemcacheSetRequest_REPLACE MemcacheSetRequest_SetPolicy = 3 - MemcacheSetRequest_CAS MemcacheSetRequest_SetPolicy = 4 -) - -var MemcacheSetRequest_SetPolicy_name = map[int32]string{ - 1: "SET", - 2: "ADD", - 3: "REPLACE", - 4: "CAS", -} -var MemcacheSetRequest_SetPolicy_value = map[string]int32{ - "SET": 1, - "ADD": 2, - "REPLACE": 3, - "CAS": 4, -} - -func (x MemcacheSetRequest_SetPolicy) Enum() *MemcacheSetRequest_SetPolicy { - p := new(MemcacheSetRequest_SetPolicy) - *p = x - return p -} -func (x MemcacheSetRequest_SetPolicy) String() string { - return proto.EnumName(MemcacheSetRequest_SetPolicy_name, int32(x)) -} -func (x *MemcacheSetRequest_SetPolicy) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MemcacheSetRequest_SetPolicy_value, data, "MemcacheSetRequest_SetPolicy") - if err != nil { - return err - } - *x = MemcacheSetRequest_SetPolicy(value) - return nil -} - -type MemcacheSetResponse_SetStatusCode int32 - -const ( - MemcacheSetResponse_STORED MemcacheSetResponse_SetStatusCode = 1 - MemcacheSetResponse_NOT_STORED MemcacheSetResponse_SetStatusCode = 2 - MemcacheSetResponse_ERROR MemcacheSetResponse_SetStatusCode = 3 - MemcacheSetResponse_EXISTS MemcacheSetResponse_SetStatusCode = 4 -) - -var MemcacheSetResponse_SetStatusCode_name = map[int32]string{ - 1: "STORED", - 2: "NOT_STORED", - 3: "ERROR", - 4: "EXISTS", -} -var MemcacheSetResponse_SetStatusCode_value = map[string]int32{ - "STORED": 1, - "NOT_STORED": 2, - "ERROR": 3, - "EXISTS": 4, -} - -func (x MemcacheSetResponse_SetStatusCode) Enum() *MemcacheSetResponse_SetStatusCode { - p := new(MemcacheSetResponse_SetStatusCode) - *p = x - return p -} -func (x MemcacheSetResponse_SetStatusCode) String() string { - return proto.EnumName(MemcacheSetResponse_SetStatusCode_name, int32(x)) -} -func (x *MemcacheSetResponse_SetStatusCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MemcacheSetResponse_SetStatusCode_value, data, "MemcacheSetResponse_SetStatusCode") - if err != nil { - return err - } - *x = MemcacheSetResponse_SetStatusCode(value) - return nil -} - -type MemcacheDeleteResponse_DeleteStatusCode int32 - -const ( - MemcacheDeleteResponse_DELETED MemcacheDeleteResponse_DeleteStatusCode = 1 - MemcacheDeleteResponse_NOT_FOUND MemcacheDeleteResponse_DeleteStatusCode = 2 -) - -var MemcacheDeleteResponse_DeleteStatusCode_name = map[int32]string{ - 1: "DELETED", - 2: "NOT_FOUND", -} -var MemcacheDeleteResponse_DeleteStatusCode_value = map[string]int32{ - "DELETED": 1, - "NOT_FOUND": 2, -} - -func (x MemcacheDeleteResponse_DeleteStatusCode) Enum() *MemcacheDeleteResponse_DeleteStatusCode { - p := new(MemcacheDeleteResponse_DeleteStatusCode) - *p = x - return p -} -func (x MemcacheDeleteResponse_DeleteStatusCode) String() string { - return proto.EnumName(MemcacheDeleteResponse_DeleteStatusCode_name, int32(x)) -} -func (x *MemcacheDeleteResponse_DeleteStatusCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MemcacheDeleteResponse_DeleteStatusCode_value, data, "MemcacheDeleteResponse_DeleteStatusCode") - if err != nil { - return err - } - *x = MemcacheDeleteResponse_DeleteStatusCode(value) - return nil -} - -type MemcacheIncrementRequest_Direction int32 - -const ( - MemcacheIncrementRequest_INCREMENT MemcacheIncrementRequest_Direction = 1 - MemcacheIncrementRequest_DECREMENT MemcacheIncrementRequest_Direction = 2 -) - -var MemcacheIncrementRequest_Direction_name = map[int32]string{ - 1: "INCREMENT", - 2: "DECREMENT", -} -var MemcacheIncrementRequest_Direction_value = map[string]int32{ - "INCREMENT": 1, - "DECREMENT": 2, -} - -func (x MemcacheIncrementRequest_Direction) Enum() *MemcacheIncrementRequest_Direction { - p := new(MemcacheIncrementRequest_Direction) - *p = x - return p -} -func (x MemcacheIncrementRequest_Direction) String() string { - return proto.EnumName(MemcacheIncrementRequest_Direction_name, int32(x)) -} -func (x *MemcacheIncrementRequest_Direction) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MemcacheIncrementRequest_Direction_value, data, "MemcacheIncrementRequest_Direction") - if err != nil { - return err - } - *x = MemcacheIncrementRequest_Direction(value) - return nil -} - -type MemcacheIncrementResponse_IncrementStatusCode int32 - -const ( - MemcacheIncrementResponse_OK MemcacheIncrementResponse_IncrementStatusCode = 1 - MemcacheIncrementResponse_NOT_CHANGED MemcacheIncrementResponse_IncrementStatusCode = 2 - MemcacheIncrementResponse_ERROR MemcacheIncrementResponse_IncrementStatusCode = 3 -) - -var MemcacheIncrementResponse_IncrementStatusCode_name = map[int32]string{ - 1: "OK", - 2: "NOT_CHANGED", - 3: "ERROR", -} -var MemcacheIncrementResponse_IncrementStatusCode_value = map[string]int32{ - "OK": 1, - "NOT_CHANGED": 2, - "ERROR": 3, -} - -func (x MemcacheIncrementResponse_IncrementStatusCode) Enum() *MemcacheIncrementResponse_IncrementStatusCode { - p := new(MemcacheIncrementResponse_IncrementStatusCode) - *p = x - return p -} -func (x MemcacheIncrementResponse_IncrementStatusCode) String() string { - return proto.EnumName(MemcacheIncrementResponse_IncrementStatusCode_name, int32(x)) -} -func (x *MemcacheIncrementResponse_IncrementStatusCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MemcacheIncrementResponse_IncrementStatusCode_value, data, "MemcacheIncrementResponse_IncrementStatusCode") - if err != nil { - return err - } - *x = MemcacheIncrementResponse_IncrementStatusCode(value) - return nil -} - -type MemcacheServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheServiceError) Reset() { *m = MemcacheServiceError{} } -func (m *MemcacheServiceError) String() string { return proto.CompactTextString(m) } -func (*MemcacheServiceError) ProtoMessage() {} - -type AppOverride struct { - AppId *string `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` - NumMemcachegBackends *int32 `protobuf:"varint,2,opt,name=num_memcacheg_backends" json:"num_memcacheg_backends,omitempty"` - IgnoreShardlock *bool `protobuf:"varint,3,opt,name=ignore_shardlock" json:"ignore_shardlock,omitempty"` - MemcachePoolHint *string `protobuf:"bytes,4,opt,name=memcache_pool_hint" json:"memcache_pool_hint,omitempty"` - MemcacheShardingStrategy []byte `protobuf:"bytes,5,opt,name=memcache_sharding_strategy" json:"memcache_sharding_strategy,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AppOverride) Reset() { *m = AppOverride{} } -func (m *AppOverride) String() string { return proto.CompactTextString(m) } -func (*AppOverride) ProtoMessage() {} - -func (m *AppOverride) GetAppId() string { - if m != nil && m.AppId != nil { - return *m.AppId - } - return "" -} - -func (m *AppOverride) GetNumMemcachegBackends() int32 { - if m != nil && m.NumMemcachegBackends != nil { - return *m.NumMemcachegBackends - } - return 0 -} - -func (m *AppOverride) GetIgnoreShardlock() bool { - if m != nil && m.IgnoreShardlock != nil { - return *m.IgnoreShardlock - } - return false -} - -func (m *AppOverride) GetMemcachePoolHint() string { - if m != nil && m.MemcachePoolHint != nil { - return *m.MemcachePoolHint - } - return "" -} - -func (m *AppOverride) GetMemcacheShardingStrategy() []byte { - if m != nil { - return m.MemcacheShardingStrategy - } - return nil -} - -type MemcacheGetRequest struct { - Key [][]byte `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` - NameSpace *string `protobuf:"bytes,2,opt,name=name_space,def=" json:"name_space,omitempty"` - ForCas *bool `protobuf:"varint,4,opt,name=for_cas" json:"for_cas,omitempty"` - Override *AppOverride `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheGetRequest) Reset() { *m = MemcacheGetRequest{} } -func (m *MemcacheGetRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheGetRequest) ProtoMessage() {} - -func (m *MemcacheGetRequest) GetKey() [][]byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *MemcacheGetRequest) GetNameSpace() string { - if m != nil && m.NameSpace != nil { - return *m.NameSpace - } - return "" -} - -func (m *MemcacheGetRequest) GetForCas() bool { - if m != nil && m.ForCas != nil { - return *m.ForCas - } - return false -} - -func (m *MemcacheGetRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheGetResponse struct { - Item []*MemcacheGetResponse_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheGetResponse) Reset() { *m = MemcacheGetResponse{} } -func (m *MemcacheGetResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheGetResponse) ProtoMessage() {} - -func (m *MemcacheGetResponse) GetItem() []*MemcacheGetResponse_Item { - if m != nil { - return m.Item - } - return nil -} - -type MemcacheGetResponse_Item struct { - Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` - Flags *uint32 `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"` - CasId *uint64 `protobuf:"fixed64,5,opt,name=cas_id" json:"cas_id,omitempty"` - ExpiresInSeconds *int32 `protobuf:"varint,6,opt,name=expires_in_seconds" json:"expires_in_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheGetResponse_Item) Reset() { *m = MemcacheGetResponse_Item{} } -func (m *MemcacheGetResponse_Item) String() string { return proto.CompactTextString(m) } -func (*MemcacheGetResponse_Item) ProtoMessage() {} - -func (m *MemcacheGetResponse_Item) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *MemcacheGetResponse_Item) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *MemcacheGetResponse_Item) GetFlags() uint32 { - if m != nil && m.Flags != nil { - return *m.Flags - } - return 0 -} - -func (m *MemcacheGetResponse_Item) GetCasId() uint64 { - if m != nil && m.CasId != nil { - return *m.CasId - } - return 0 -} - -func (m *MemcacheGetResponse_Item) GetExpiresInSeconds() int32 { - if m != nil && m.ExpiresInSeconds != nil { - return *m.ExpiresInSeconds - } - return 0 -} - -type MemcacheSetRequest struct { - Item []*MemcacheSetRequest_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` - NameSpace *string `protobuf:"bytes,7,opt,name=name_space,def=" json:"name_space,omitempty"` - Override *AppOverride `protobuf:"bytes,10,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheSetRequest) Reset() { *m = MemcacheSetRequest{} } -func (m *MemcacheSetRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheSetRequest) ProtoMessage() {} - -func (m *MemcacheSetRequest) GetItem() []*MemcacheSetRequest_Item { - if m != nil { - return m.Item - } - return nil -} - -func (m *MemcacheSetRequest) GetNameSpace() string { - if m != nil && m.NameSpace != nil { - return *m.NameSpace - } - return "" -} - -func (m *MemcacheSetRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheSetRequest_Item struct { - Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` - Flags *uint32 `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"` - SetPolicy *MemcacheSetRequest_SetPolicy `protobuf:"varint,5,opt,name=set_policy,enum=appengine.MemcacheSetRequest_SetPolicy,def=1" json:"set_policy,omitempty"` - ExpirationTime *uint32 `protobuf:"fixed32,6,opt,name=expiration_time,def=0" json:"expiration_time,omitempty"` - CasId *uint64 `protobuf:"fixed64,8,opt,name=cas_id" json:"cas_id,omitempty"` - ForCas *bool `protobuf:"varint,9,opt,name=for_cas" json:"for_cas,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheSetRequest_Item) Reset() { *m = MemcacheSetRequest_Item{} } -func (m *MemcacheSetRequest_Item) String() string { return proto.CompactTextString(m) } -func (*MemcacheSetRequest_Item) ProtoMessage() {} - -const Default_MemcacheSetRequest_Item_SetPolicy MemcacheSetRequest_SetPolicy = MemcacheSetRequest_SET -const Default_MemcacheSetRequest_Item_ExpirationTime uint32 = 0 - -func (m *MemcacheSetRequest_Item) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *MemcacheSetRequest_Item) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *MemcacheSetRequest_Item) GetFlags() uint32 { - if m != nil && m.Flags != nil { - return *m.Flags - } - return 0 -} - -func (m *MemcacheSetRequest_Item) GetSetPolicy() MemcacheSetRequest_SetPolicy { - if m != nil && m.SetPolicy != nil { - return *m.SetPolicy - } - return Default_MemcacheSetRequest_Item_SetPolicy -} - -func (m *MemcacheSetRequest_Item) GetExpirationTime() uint32 { - if m != nil && m.ExpirationTime != nil { - return *m.ExpirationTime - } - return Default_MemcacheSetRequest_Item_ExpirationTime -} - -func (m *MemcacheSetRequest_Item) GetCasId() uint64 { - if m != nil && m.CasId != nil { - return *m.CasId - } - return 0 -} - -func (m *MemcacheSetRequest_Item) GetForCas() bool { - if m != nil && m.ForCas != nil { - return *m.ForCas - } - return false -} - -type MemcacheSetResponse struct { - SetStatus []MemcacheSetResponse_SetStatusCode `protobuf:"varint,1,rep,name=set_status,enum=appengine.MemcacheSetResponse_SetStatusCode" json:"set_status,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheSetResponse) Reset() { *m = MemcacheSetResponse{} } -func (m *MemcacheSetResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheSetResponse) ProtoMessage() {} - -func (m *MemcacheSetResponse) GetSetStatus() []MemcacheSetResponse_SetStatusCode { - if m != nil { - return m.SetStatus - } - return nil -} - -type MemcacheDeleteRequest struct { - Item []*MemcacheDeleteRequest_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` - NameSpace *string `protobuf:"bytes,4,opt,name=name_space,def=" json:"name_space,omitempty"` - Override *AppOverride `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheDeleteRequest) Reset() { *m = MemcacheDeleteRequest{} } -func (m *MemcacheDeleteRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheDeleteRequest) ProtoMessage() {} - -func (m *MemcacheDeleteRequest) GetItem() []*MemcacheDeleteRequest_Item { - if m != nil { - return m.Item - } - return nil -} - -func (m *MemcacheDeleteRequest) GetNameSpace() string { - if m != nil && m.NameSpace != nil { - return *m.NameSpace - } - return "" -} - -func (m *MemcacheDeleteRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheDeleteRequest_Item struct { - Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` - DeleteTime *uint32 `protobuf:"fixed32,3,opt,name=delete_time,def=0" json:"delete_time,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheDeleteRequest_Item) Reset() { *m = MemcacheDeleteRequest_Item{} } -func (m *MemcacheDeleteRequest_Item) String() string { return proto.CompactTextString(m) } -func (*MemcacheDeleteRequest_Item) ProtoMessage() {} - -const Default_MemcacheDeleteRequest_Item_DeleteTime uint32 = 0 - -func (m *MemcacheDeleteRequest_Item) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *MemcacheDeleteRequest_Item) GetDeleteTime() uint32 { - if m != nil && m.DeleteTime != nil { - return *m.DeleteTime - } - return Default_MemcacheDeleteRequest_Item_DeleteTime -} - -type MemcacheDeleteResponse struct { - DeleteStatus []MemcacheDeleteResponse_DeleteStatusCode `protobuf:"varint,1,rep,name=delete_status,enum=appengine.MemcacheDeleteResponse_DeleteStatusCode" json:"delete_status,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheDeleteResponse) Reset() { *m = MemcacheDeleteResponse{} } -func (m *MemcacheDeleteResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheDeleteResponse) ProtoMessage() {} - -func (m *MemcacheDeleteResponse) GetDeleteStatus() []MemcacheDeleteResponse_DeleteStatusCode { - if m != nil { - return m.DeleteStatus - } - return nil -} - -type MemcacheIncrementRequest struct { - Key []byte `protobuf:"bytes,1,req,name=key" json:"key,omitempty"` - NameSpace *string `protobuf:"bytes,4,opt,name=name_space,def=" json:"name_space,omitempty"` - Delta *uint64 `protobuf:"varint,2,opt,name=delta,def=1" json:"delta,omitempty"` - Direction *MemcacheIncrementRequest_Direction `protobuf:"varint,3,opt,name=direction,enum=appengine.MemcacheIncrementRequest_Direction,def=1" json:"direction,omitempty"` - InitialValue *uint64 `protobuf:"varint,5,opt,name=initial_value" json:"initial_value,omitempty"` - InitialFlags *uint32 `protobuf:"fixed32,6,opt,name=initial_flags" json:"initial_flags,omitempty"` - Override *AppOverride `protobuf:"bytes,7,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheIncrementRequest) Reset() { *m = MemcacheIncrementRequest{} } -func (m *MemcacheIncrementRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheIncrementRequest) ProtoMessage() {} - -const Default_MemcacheIncrementRequest_Delta uint64 = 1 -const Default_MemcacheIncrementRequest_Direction MemcacheIncrementRequest_Direction = MemcacheIncrementRequest_INCREMENT - -func (m *MemcacheIncrementRequest) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *MemcacheIncrementRequest) GetNameSpace() string { - if m != nil && m.NameSpace != nil { - return *m.NameSpace - } - return "" -} - -func (m *MemcacheIncrementRequest) GetDelta() uint64 { - if m != nil && m.Delta != nil { - return *m.Delta - } - return Default_MemcacheIncrementRequest_Delta -} - -func (m *MemcacheIncrementRequest) GetDirection() MemcacheIncrementRequest_Direction { - if m != nil && m.Direction != nil { - return *m.Direction - } - return Default_MemcacheIncrementRequest_Direction -} - -func (m *MemcacheIncrementRequest) GetInitialValue() uint64 { - if m != nil && m.InitialValue != nil { - return *m.InitialValue - } - return 0 -} - -func (m *MemcacheIncrementRequest) GetInitialFlags() uint32 { - if m != nil && m.InitialFlags != nil { - return *m.InitialFlags - } - return 0 -} - -func (m *MemcacheIncrementRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheIncrementResponse struct { - NewValue *uint64 `protobuf:"varint,1,opt,name=new_value" json:"new_value,omitempty"` - IncrementStatus *MemcacheIncrementResponse_IncrementStatusCode `protobuf:"varint,2,opt,name=increment_status,enum=appengine.MemcacheIncrementResponse_IncrementStatusCode" json:"increment_status,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheIncrementResponse) Reset() { *m = MemcacheIncrementResponse{} } -func (m *MemcacheIncrementResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheIncrementResponse) ProtoMessage() {} - -func (m *MemcacheIncrementResponse) GetNewValue() uint64 { - if m != nil && m.NewValue != nil { - return *m.NewValue - } - return 0 -} - -func (m *MemcacheIncrementResponse) GetIncrementStatus() MemcacheIncrementResponse_IncrementStatusCode { - if m != nil && m.IncrementStatus != nil { - return *m.IncrementStatus - } - return MemcacheIncrementResponse_OK -} - -type MemcacheBatchIncrementRequest struct { - NameSpace *string `protobuf:"bytes,1,opt,name=name_space,def=" json:"name_space,omitempty"` - Item []*MemcacheIncrementRequest `protobuf:"bytes,2,rep,name=item" json:"item,omitempty"` - Override *AppOverride `protobuf:"bytes,3,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheBatchIncrementRequest) Reset() { *m = MemcacheBatchIncrementRequest{} } -func (m *MemcacheBatchIncrementRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheBatchIncrementRequest) ProtoMessage() {} - -func (m *MemcacheBatchIncrementRequest) GetNameSpace() string { - if m != nil && m.NameSpace != nil { - return *m.NameSpace - } - return "" -} - -func (m *MemcacheBatchIncrementRequest) GetItem() []*MemcacheIncrementRequest { - if m != nil { - return m.Item - } - return nil -} - -func (m *MemcacheBatchIncrementRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheBatchIncrementResponse struct { - Item []*MemcacheIncrementResponse `protobuf:"bytes,1,rep,name=item" json:"item,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheBatchIncrementResponse) Reset() { *m = MemcacheBatchIncrementResponse{} } -func (m *MemcacheBatchIncrementResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheBatchIncrementResponse) ProtoMessage() {} - -func (m *MemcacheBatchIncrementResponse) GetItem() []*MemcacheIncrementResponse { - if m != nil { - return m.Item - } - return nil -} - -type MemcacheFlushRequest struct { - Override *AppOverride `protobuf:"bytes,1,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheFlushRequest) Reset() { *m = MemcacheFlushRequest{} } -func (m *MemcacheFlushRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheFlushRequest) ProtoMessage() {} - -func (m *MemcacheFlushRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheFlushResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheFlushResponse) Reset() { *m = MemcacheFlushResponse{} } -func (m *MemcacheFlushResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheFlushResponse) ProtoMessage() {} - -type MemcacheStatsRequest struct { - Override *AppOverride `protobuf:"bytes,1,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheStatsRequest) Reset() { *m = MemcacheStatsRequest{} } -func (m *MemcacheStatsRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheStatsRequest) ProtoMessage() {} - -func (m *MemcacheStatsRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MergedNamespaceStats struct { - Hits *uint64 `protobuf:"varint,1,req,name=hits" json:"hits,omitempty"` - Misses *uint64 `protobuf:"varint,2,req,name=misses" json:"misses,omitempty"` - ByteHits *uint64 `protobuf:"varint,3,req,name=byte_hits" json:"byte_hits,omitempty"` - Items *uint64 `protobuf:"varint,4,req,name=items" json:"items,omitempty"` - Bytes *uint64 `protobuf:"varint,5,req,name=bytes" json:"bytes,omitempty"` - OldestItemAge *uint32 `protobuf:"fixed32,6,req,name=oldest_item_age" json:"oldest_item_age,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MergedNamespaceStats) Reset() { *m = MergedNamespaceStats{} } -func (m *MergedNamespaceStats) String() string { return proto.CompactTextString(m) } -func (*MergedNamespaceStats) ProtoMessage() {} - -func (m *MergedNamespaceStats) GetHits() uint64 { - if m != nil && m.Hits != nil { - return *m.Hits - } - return 0 -} - -func (m *MergedNamespaceStats) GetMisses() uint64 { - if m != nil && m.Misses != nil { - return *m.Misses - } - return 0 -} - -func (m *MergedNamespaceStats) GetByteHits() uint64 { - if m != nil && m.ByteHits != nil { - return *m.ByteHits - } - return 0 -} - -func (m *MergedNamespaceStats) GetItems() uint64 { - if m != nil && m.Items != nil { - return *m.Items - } - return 0 -} - -func (m *MergedNamespaceStats) GetBytes() uint64 { - if m != nil && m.Bytes != nil { - return *m.Bytes - } - return 0 -} - -func (m *MergedNamespaceStats) GetOldestItemAge() uint32 { - if m != nil && m.OldestItemAge != nil { - return *m.OldestItemAge - } - return 0 -} - -type MemcacheStatsResponse struct { - Stats *MergedNamespaceStats `protobuf:"bytes,1,opt,name=stats" json:"stats,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheStatsResponse) Reset() { *m = MemcacheStatsResponse{} } -func (m *MemcacheStatsResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheStatsResponse) ProtoMessage() {} - -func (m *MemcacheStatsResponse) GetStats() *MergedNamespaceStats { - if m != nil { - return m.Stats - } - return nil -} - -type MemcacheGrabTailRequest struct { - ItemCount *int32 `protobuf:"varint,1,req,name=item_count" json:"item_count,omitempty"` - NameSpace *string `protobuf:"bytes,2,opt,name=name_space,def=" json:"name_space,omitempty"` - Override *AppOverride `protobuf:"bytes,3,opt,name=override" json:"override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheGrabTailRequest) Reset() { *m = MemcacheGrabTailRequest{} } -func (m *MemcacheGrabTailRequest) String() string { return proto.CompactTextString(m) } -func (*MemcacheGrabTailRequest) ProtoMessage() {} - -func (m *MemcacheGrabTailRequest) GetItemCount() int32 { - if m != nil && m.ItemCount != nil { - return *m.ItemCount - } - return 0 -} - -func (m *MemcacheGrabTailRequest) GetNameSpace() string { - if m != nil && m.NameSpace != nil { - return *m.NameSpace - } - return "" -} - -func (m *MemcacheGrabTailRequest) GetOverride() *AppOverride { - if m != nil { - return m.Override - } - return nil -} - -type MemcacheGrabTailResponse struct { - Item []*MemcacheGrabTailResponse_Item `protobuf:"group,1,rep,name=Item" json:"item,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheGrabTailResponse) Reset() { *m = MemcacheGrabTailResponse{} } -func (m *MemcacheGrabTailResponse) String() string { return proto.CompactTextString(m) } -func (*MemcacheGrabTailResponse) ProtoMessage() {} - -func (m *MemcacheGrabTailResponse) GetItem() []*MemcacheGrabTailResponse_Item { - if m != nil { - return m.Item - } - return nil -} - -type MemcacheGrabTailResponse_Item struct { - Value []byte `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` - Flags *uint32 `protobuf:"fixed32,3,opt,name=flags" json:"flags,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MemcacheGrabTailResponse_Item) Reset() { *m = MemcacheGrabTailResponse_Item{} } -func (m *MemcacheGrabTailResponse_Item) String() string { return proto.CompactTextString(m) } -func (*MemcacheGrabTailResponse_Item) ProtoMessage() {} - -func (m *MemcacheGrabTailResponse_Item) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *MemcacheGrabTailResponse_Item) GetFlags() uint32 { - if m != nil && m.Flags != nil { - return *m.Flags - } - return 0 -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto b/vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto deleted file mode 100644 index 5f0edcdc7..000000000 --- a/vendor/google.golang.org/appengine/internal/memcache/memcache_service.proto +++ /dev/null @@ -1,165 +0,0 @@ -syntax = "proto2"; -option go_package = "memcache"; - -package appengine; - -message MemcacheServiceError { - enum ErrorCode { - OK = 0; - UNSPECIFIED_ERROR = 1; - NAMESPACE_NOT_SET = 2; - PERMISSION_DENIED = 3; - INVALID_VALUE = 6; - } -} - -message AppOverride { - required string app_id = 1; - - optional int32 num_memcacheg_backends = 2 [deprecated=true]; - optional bool ignore_shardlock = 3 [deprecated=true]; - optional string memcache_pool_hint = 4 [deprecated=true]; - optional bytes memcache_sharding_strategy = 5 [deprecated=true]; -} - -message MemcacheGetRequest { - repeated bytes key = 1; - optional string name_space = 2 [default = ""]; - optional bool for_cas = 4; - optional AppOverride override = 5; -} - -message MemcacheGetResponse { - repeated group Item = 1 { - required bytes key = 2; - required bytes value = 3; - optional fixed32 flags = 4; - optional fixed64 cas_id = 5; - optional int32 expires_in_seconds = 6; - } -} - -message MemcacheSetRequest { - enum SetPolicy { - SET = 1; - ADD = 2; - REPLACE = 3; - CAS = 4; - } - repeated group Item = 1 { - required bytes key = 2; - required bytes value = 3; - - optional fixed32 flags = 4; - optional SetPolicy set_policy = 5 [default = SET]; - optional fixed32 expiration_time = 6 [default = 0]; - - optional fixed64 cas_id = 8; - optional bool for_cas = 9; - } - optional string name_space = 7 [default = ""]; - optional AppOverride override = 10; -} - -message MemcacheSetResponse { - enum SetStatusCode { - STORED = 1; - NOT_STORED = 2; - ERROR = 3; - EXISTS = 4; - } - repeated SetStatusCode set_status = 1; -} - -message MemcacheDeleteRequest { - repeated group Item = 1 { - required bytes key = 2; - optional fixed32 delete_time = 3 [default = 0]; - } - optional string name_space = 4 [default = ""]; - optional AppOverride override = 5; -} - -message MemcacheDeleteResponse { - enum DeleteStatusCode { - DELETED = 1; - NOT_FOUND = 2; - } - repeated DeleteStatusCode delete_status = 1; -} - -message MemcacheIncrementRequest { - enum Direction { - INCREMENT = 1; - DECREMENT = 2; - } - required bytes key = 1; - optional string name_space = 4 [default = ""]; - - optional uint64 delta = 2 [default = 1]; - optional Direction direction = 3 [default = INCREMENT]; - - optional uint64 initial_value = 5; - optional fixed32 initial_flags = 6; - optional AppOverride override = 7; -} - -message MemcacheIncrementResponse { - enum IncrementStatusCode { - OK = 1; - NOT_CHANGED = 2; - ERROR = 3; - } - - optional uint64 new_value = 1; - optional IncrementStatusCode increment_status = 2; -} - -message MemcacheBatchIncrementRequest { - optional string name_space = 1 [default = ""]; - repeated MemcacheIncrementRequest item = 2; - optional AppOverride override = 3; -} - -message MemcacheBatchIncrementResponse { - repeated MemcacheIncrementResponse item = 1; -} - -message MemcacheFlushRequest { - optional AppOverride override = 1; -} - -message MemcacheFlushResponse { -} - -message MemcacheStatsRequest { - optional AppOverride override = 1; -} - -message MergedNamespaceStats { - required uint64 hits = 1; - required uint64 misses = 2; - required uint64 byte_hits = 3; - - required uint64 items = 4; - required uint64 bytes = 5; - - required fixed32 oldest_item_age = 6; -} - -message MemcacheStatsResponse { - optional MergedNamespaceStats stats = 1; -} - -message MemcacheGrabTailRequest { - required int32 item_count = 1; - optional string name_space = 2 [default = ""]; - optional AppOverride override = 3; -} - -message MemcacheGrabTailResponse { - repeated group Item = 1 { - required bytes value = 2; - optional fixed32 flags = 3; - } -} diff --git a/vendor/google.golang.org/appengine/internal/search/search.pb.go b/vendor/google.golang.org/appengine/internal/search/search.pb.go deleted file mode 100644 index 7d8d11ddc..000000000 --- a/vendor/google.golang.org/appengine/internal/search/search.pb.go +++ /dev/null @@ -1,2127 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/search/search.proto -// DO NOT EDIT! - -/* -Package search is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/search/search.proto - -It has these top-level messages: - Scope - Entry - AccessControlList - FieldValue - Field - FieldTypes - IndexShardSettings - FacetValue - Facet - DocumentMetadata - Document - SearchServiceError - RequestStatus - IndexSpec - IndexMetadata - IndexDocumentParams - IndexDocumentRequest - IndexDocumentResponse - DeleteDocumentParams - DeleteDocumentRequest - DeleteDocumentResponse - ListDocumentsParams - ListDocumentsRequest - ListDocumentsResponse - ListIndexesParams - ListIndexesRequest - ListIndexesResponse - DeleteSchemaParams - DeleteSchemaRequest - DeleteSchemaResponse - SortSpec - ScorerSpec - FieldSpec - FacetRange - FacetRequestParam - FacetAutoDetectParam - FacetRequest - FacetRefinement - SearchParams - SearchRequest - FacetResultValue - FacetResult - SearchResult - SearchResponse -*/ -package search - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type Scope_Type int32 - -const ( - Scope_USER_BY_CANONICAL_ID Scope_Type = 1 - Scope_USER_BY_EMAIL Scope_Type = 2 - Scope_GROUP_BY_CANONICAL_ID Scope_Type = 3 - Scope_GROUP_BY_EMAIL Scope_Type = 4 - Scope_GROUP_BY_DOMAIN Scope_Type = 5 - Scope_ALL_USERS Scope_Type = 6 - Scope_ALL_AUTHENTICATED_USERS Scope_Type = 7 -) - -var Scope_Type_name = map[int32]string{ - 1: "USER_BY_CANONICAL_ID", - 2: "USER_BY_EMAIL", - 3: "GROUP_BY_CANONICAL_ID", - 4: "GROUP_BY_EMAIL", - 5: "GROUP_BY_DOMAIN", - 6: "ALL_USERS", - 7: "ALL_AUTHENTICATED_USERS", -} -var Scope_Type_value = map[string]int32{ - "USER_BY_CANONICAL_ID": 1, - "USER_BY_EMAIL": 2, - "GROUP_BY_CANONICAL_ID": 3, - "GROUP_BY_EMAIL": 4, - "GROUP_BY_DOMAIN": 5, - "ALL_USERS": 6, - "ALL_AUTHENTICATED_USERS": 7, -} - -func (x Scope_Type) Enum() *Scope_Type { - p := new(Scope_Type) - *p = x - return p -} -func (x Scope_Type) String() string { - return proto.EnumName(Scope_Type_name, int32(x)) -} -func (x *Scope_Type) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(Scope_Type_value, data, "Scope_Type") - if err != nil { - return err - } - *x = Scope_Type(value) - return nil -} - -type Entry_Permission int32 - -const ( - Entry_READ Entry_Permission = 1 - Entry_WRITE Entry_Permission = 2 - Entry_FULL_CONTROL Entry_Permission = 3 -) - -var Entry_Permission_name = map[int32]string{ - 1: "READ", - 2: "WRITE", - 3: "FULL_CONTROL", -} -var Entry_Permission_value = map[string]int32{ - "READ": 1, - "WRITE": 2, - "FULL_CONTROL": 3, -} - -func (x Entry_Permission) Enum() *Entry_Permission { - p := new(Entry_Permission) - *p = x - return p -} -func (x Entry_Permission) String() string { - return proto.EnumName(Entry_Permission_name, int32(x)) -} -func (x *Entry_Permission) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(Entry_Permission_value, data, "Entry_Permission") - if err != nil { - return err - } - *x = Entry_Permission(value) - return nil -} - -type FieldValue_ContentType int32 - -const ( - FieldValue_TEXT FieldValue_ContentType = 0 - FieldValue_HTML FieldValue_ContentType = 1 - FieldValue_ATOM FieldValue_ContentType = 2 - FieldValue_DATE FieldValue_ContentType = 3 - FieldValue_NUMBER FieldValue_ContentType = 4 - FieldValue_GEO FieldValue_ContentType = 5 -) - -var FieldValue_ContentType_name = map[int32]string{ - 0: "TEXT", - 1: "HTML", - 2: "ATOM", - 3: "DATE", - 4: "NUMBER", - 5: "GEO", -} -var FieldValue_ContentType_value = map[string]int32{ - "TEXT": 0, - "HTML": 1, - "ATOM": 2, - "DATE": 3, - "NUMBER": 4, - "GEO": 5, -} - -func (x FieldValue_ContentType) Enum() *FieldValue_ContentType { - p := new(FieldValue_ContentType) - *p = x - return p -} -func (x FieldValue_ContentType) String() string { - return proto.EnumName(FieldValue_ContentType_name, int32(x)) -} -func (x *FieldValue_ContentType) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(FieldValue_ContentType_value, data, "FieldValue_ContentType") - if err != nil { - return err - } - *x = FieldValue_ContentType(value) - return nil -} - -type FacetValue_ContentType int32 - -const ( - FacetValue_ATOM FacetValue_ContentType = 2 - FacetValue_NUMBER FacetValue_ContentType = 4 -) - -var FacetValue_ContentType_name = map[int32]string{ - 2: "ATOM", - 4: "NUMBER", -} -var FacetValue_ContentType_value = map[string]int32{ - "ATOM": 2, - "NUMBER": 4, -} - -func (x FacetValue_ContentType) Enum() *FacetValue_ContentType { - p := new(FacetValue_ContentType) - *p = x - return p -} -func (x FacetValue_ContentType) String() string { - return proto.EnumName(FacetValue_ContentType_name, int32(x)) -} -func (x *FacetValue_ContentType) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(FacetValue_ContentType_value, data, "FacetValue_ContentType") - if err != nil { - return err - } - *x = FacetValue_ContentType(value) - return nil -} - -type Document_Storage int32 - -const ( - Document_DISK Document_Storage = 0 -) - -var Document_Storage_name = map[int32]string{ - 0: "DISK", -} -var Document_Storage_value = map[string]int32{ - "DISK": 0, -} - -func (x Document_Storage) Enum() *Document_Storage { - p := new(Document_Storage) - *p = x - return p -} -func (x Document_Storage) String() string { - return proto.EnumName(Document_Storage_name, int32(x)) -} -func (x *Document_Storage) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(Document_Storage_value, data, "Document_Storage") - if err != nil { - return err - } - *x = Document_Storage(value) - return nil -} - -type SearchServiceError_ErrorCode int32 - -const ( - SearchServiceError_OK SearchServiceError_ErrorCode = 0 - SearchServiceError_INVALID_REQUEST SearchServiceError_ErrorCode = 1 - SearchServiceError_TRANSIENT_ERROR SearchServiceError_ErrorCode = 2 - SearchServiceError_INTERNAL_ERROR SearchServiceError_ErrorCode = 3 - SearchServiceError_PERMISSION_DENIED SearchServiceError_ErrorCode = 4 - SearchServiceError_TIMEOUT SearchServiceError_ErrorCode = 5 - SearchServiceError_CONCURRENT_TRANSACTION SearchServiceError_ErrorCode = 6 -) - -var SearchServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "INVALID_REQUEST", - 2: "TRANSIENT_ERROR", - 3: "INTERNAL_ERROR", - 4: "PERMISSION_DENIED", - 5: "TIMEOUT", - 6: "CONCURRENT_TRANSACTION", -} -var SearchServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "INVALID_REQUEST": 1, - "TRANSIENT_ERROR": 2, - "INTERNAL_ERROR": 3, - "PERMISSION_DENIED": 4, - "TIMEOUT": 5, - "CONCURRENT_TRANSACTION": 6, -} - -func (x SearchServiceError_ErrorCode) Enum() *SearchServiceError_ErrorCode { - p := new(SearchServiceError_ErrorCode) - *p = x - return p -} -func (x SearchServiceError_ErrorCode) String() string { - return proto.EnumName(SearchServiceError_ErrorCode_name, int32(x)) -} -func (x *SearchServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(SearchServiceError_ErrorCode_value, data, "SearchServiceError_ErrorCode") - if err != nil { - return err - } - *x = SearchServiceError_ErrorCode(value) - return nil -} - -type IndexSpec_Consistency int32 - -const ( - IndexSpec_GLOBAL IndexSpec_Consistency = 0 - IndexSpec_PER_DOCUMENT IndexSpec_Consistency = 1 -) - -var IndexSpec_Consistency_name = map[int32]string{ - 0: "GLOBAL", - 1: "PER_DOCUMENT", -} -var IndexSpec_Consistency_value = map[string]int32{ - "GLOBAL": 0, - "PER_DOCUMENT": 1, -} - -func (x IndexSpec_Consistency) Enum() *IndexSpec_Consistency { - p := new(IndexSpec_Consistency) - *p = x - return p -} -func (x IndexSpec_Consistency) String() string { - return proto.EnumName(IndexSpec_Consistency_name, int32(x)) -} -func (x *IndexSpec_Consistency) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(IndexSpec_Consistency_value, data, "IndexSpec_Consistency") - if err != nil { - return err - } - *x = IndexSpec_Consistency(value) - return nil -} - -type IndexSpec_Source int32 - -const ( - IndexSpec_SEARCH IndexSpec_Source = 0 - IndexSpec_DATASTORE IndexSpec_Source = 1 - IndexSpec_CLOUD_STORAGE IndexSpec_Source = 2 -) - -var IndexSpec_Source_name = map[int32]string{ - 0: "SEARCH", - 1: "DATASTORE", - 2: "CLOUD_STORAGE", -} -var IndexSpec_Source_value = map[string]int32{ - "SEARCH": 0, - "DATASTORE": 1, - "CLOUD_STORAGE": 2, -} - -func (x IndexSpec_Source) Enum() *IndexSpec_Source { - p := new(IndexSpec_Source) - *p = x - return p -} -func (x IndexSpec_Source) String() string { - return proto.EnumName(IndexSpec_Source_name, int32(x)) -} -func (x *IndexSpec_Source) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(IndexSpec_Source_value, data, "IndexSpec_Source") - if err != nil { - return err - } - *x = IndexSpec_Source(value) - return nil -} - -type IndexSpec_Mode int32 - -const ( - IndexSpec_PRIORITY IndexSpec_Mode = 0 - IndexSpec_BACKGROUND IndexSpec_Mode = 1 -) - -var IndexSpec_Mode_name = map[int32]string{ - 0: "PRIORITY", - 1: "BACKGROUND", -} -var IndexSpec_Mode_value = map[string]int32{ - "PRIORITY": 0, - "BACKGROUND": 1, -} - -func (x IndexSpec_Mode) Enum() *IndexSpec_Mode { - p := new(IndexSpec_Mode) - *p = x - return p -} -func (x IndexSpec_Mode) String() string { - return proto.EnumName(IndexSpec_Mode_name, int32(x)) -} -func (x *IndexSpec_Mode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(IndexSpec_Mode_value, data, "IndexSpec_Mode") - if err != nil { - return err - } - *x = IndexSpec_Mode(value) - return nil -} - -type IndexDocumentParams_Freshness int32 - -const ( - IndexDocumentParams_SYNCHRONOUSLY IndexDocumentParams_Freshness = 0 - IndexDocumentParams_WHEN_CONVENIENT IndexDocumentParams_Freshness = 1 -) - -var IndexDocumentParams_Freshness_name = map[int32]string{ - 0: "SYNCHRONOUSLY", - 1: "WHEN_CONVENIENT", -} -var IndexDocumentParams_Freshness_value = map[string]int32{ - "SYNCHRONOUSLY": 0, - "WHEN_CONVENIENT": 1, -} - -func (x IndexDocumentParams_Freshness) Enum() *IndexDocumentParams_Freshness { - p := new(IndexDocumentParams_Freshness) - *p = x - return p -} -func (x IndexDocumentParams_Freshness) String() string { - return proto.EnumName(IndexDocumentParams_Freshness_name, int32(x)) -} -func (x *IndexDocumentParams_Freshness) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(IndexDocumentParams_Freshness_value, data, "IndexDocumentParams_Freshness") - if err != nil { - return err - } - *x = IndexDocumentParams_Freshness(value) - return nil -} - -type ScorerSpec_Scorer int32 - -const ( - ScorerSpec_RESCORING_MATCH_SCORER ScorerSpec_Scorer = 0 - ScorerSpec_MATCH_SCORER ScorerSpec_Scorer = 2 -) - -var ScorerSpec_Scorer_name = map[int32]string{ - 0: "RESCORING_MATCH_SCORER", - 2: "MATCH_SCORER", -} -var ScorerSpec_Scorer_value = map[string]int32{ - "RESCORING_MATCH_SCORER": 0, - "MATCH_SCORER": 2, -} - -func (x ScorerSpec_Scorer) Enum() *ScorerSpec_Scorer { - p := new(ScorerSpec_Scorer) - *p = x - return p -} -func (x ScorerSpec_Scorer) String() string { - return proto.EnumName(ScorerSpec_Scorer_name, int32(x)) -} -func (x *ScorerSpec_Scorer) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ScorerSpec_Scorer_value, data, "ScorerSpec_Scorer") - if err != nil { - return err - } - *x = ScorerSpec_Scorer(value) - return nil -} - -type SearchParams_CursorType int32 - -const ( - SearchParams_NONE SearchParams_CursorType = 0 - SearchParams_SINGLE SearchParams_CursorType = 1 - SearchParams_PER_RESULT SearchParams_CursorType = 2 -) - -var SearchParams_CursorType_name = map[int32]string{ - 0: "NONE", - 1: "SINGLE", - 2: "PER_RESULT", -} -var SearchParams_CursorType_value = map[string]int32{ - "NONE": 0, - "SINGLE": 1, - "PER_RESULT": 2, -} - -func (x SearchParams_CursorType) Enum() *SearchParams_CursorType { - p := new(SearchParams_CursorType) - *p = x - return p -} -func (x SearchParams_CursorType) String() string { - return proto.EnumName(SearchParams_CursorType_name, int32(x)) -} -func (x *SearchParams_CursorType) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(SearchParams_CursorType_value, data, "SearchParams_CursorType") - if err != nil { - return err - } - *x = SearchParams_CursorType(value) - return nil -} - -type SearchParams_ParsingMode int32 - -const ( - SearchParams_STRICT SearchParams_ParsingMode = 0 - SearchParams_RELAXED SearchParams_ParsingMode = 1 -) - -var SearchParams_ParsingMode_name = map[int32]string{ - 0: "STRICT", - 1: "RELAXED", -} -var SearchParams_ParsingMode_value = map[string]int32{ - "STRICT": 0, - "RELAXED": 1, -} - -func (x SearchParams_ParsingMode) Enum() *SearchParams_ParsingMode { - p := new(SearchParams_ParsingMode) - *p = x - return p -} -func (x SearchParams_ParsingMode) String() string { - return proto.EnumName(SearchParams_ParsingMode_name, int32(x)) -} -func (x *SearchParams_ParsingMode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(SearchParams_ParsingMode_value, data, "SearchParams_ParsingMode") - if err != nil { - return err - } - *x = SearchParams_ParsingMode(value) - return nil -} - -type Scope struct { - Type *Scope_Type `protobuf:"varint,1,opt,name=type,enum=search.Scope_Type" json:"type,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Scope) Reset() { *m = Scope{} } -func (m *Scope) String() string { return proto.CompactTextString(m) } -func (*Scope) ProtoMessage() {} - -func (m *Scope) GetType() Scope_Type { - if m != nil && m.Type != nil { - return *m.Type - } - return Scope_USER_BY_CANONICAL_ID -} - -func (m *Scope) GetValue() string { - if m != nil && m.Value != nil { - return *m.Value - } - return "" -} - -type Entry struct { - Scope *Scope `protobuf:"bytes,1,opt,name=scope" json:"scope,omitempty"` - Permission *Entry_Permission `protobuf:"varint,2,opt,name=permission,enum=search.Entry_Permission" json:"permission,omitempty"` - DisplayName *string `protobuf:"bytes,3,opt,name=display_name" json:"display_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Entry) Reset() { *m = Entry{} } -func (m *Entry) String() string { return proto.CompactTextString(m) } -func (*Entry) ProtoMessage() {} - -func (m *Entry) GetScope() *Scope { - if m != nil { - return m.Scope - } - return nil -} - -func (m *Entry) GetPermission() Entry_Permission { - if m != nil && m.Permission != nil { - return *m.Permission - } - return Entry_READ -} - -func (m *Entry) GetDisplayName() string { - if m != nil && m.DisplayName != nil { - return *m.DisplayName - } - return "" -} - -type AccessControlList struct { - Owner *string `protobuf:"bytes,1,opt,name=owner" json:"owner,omitempty"` - Entries []*Entry `protobuf:"bytes,2,rep,name=entries" json:"entries,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AccessControlList) Reset() { *m = AccessControlList{} } -func (m *AccessControlList) String() string { return proto.CompactTextString(m) } -func (*AccessControlList) ProtoMessage() {} - -func (m *AccessControlList) GetOwner() string { - if m != nil && m.Owner != nil { - return *m.Owner - } - return "" -} - -func (m *AccessControlList) GetEntries() []*Entry { - if m != nil { - return m.Entries - } - return nil -} - -type FieldValue struct { - Type *FieldValue_ContentType `protobuf:"varint,1,opt,name=type,enum=search.FieldValue_ContentType,def=0" json:"type,omitempty"` - Language *string `protobuf:"bytes,2,opt,name=language,def=en" json:"language,omitempty"` - StringValue *string `protobuf:"bytes,3,opt,name=string_value" json:"string_value,omitempty"` - Geo *FieldValue_Geo `protobuf:"group,4,opt,name=Geo" json:"geo,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FieldValue) Reset() { *m = FieldValue{} } -func (m *FieldValue) String() string { return proto.CompactTextString(m) } -func (*FieldValue) ProtoMessage() {} - -const Default_FieldValue_Type FieldValue_ContentType = FieldValue_TEXT -const Default_FieldValue_Language string = "en" - -func (m *FieldValue) GetType() FieldValue_ContentType { - if m != nil && m.Type != nil { - return *m.Type - } - return Default_FieldValue_Type -} - -func (m *FieldValue) GetLanguage() string { - if m != nil && m.Language != nil { - return *m.Language - } - return Default_FieldValue_Language -} - -func (m *FieldValue) GetStringValue() string { - if m != nil && m.StringValue != nil { - return *m.StringValue - } - return "" -} - -func (m *FieldValue) GetGeo() *FieldValue_Geo { - if m != nil { - return m.Geo - } - return nil -} - -type FieldValue_Geo struct { - Lat *float64 `protobuf:"fixed64,5,req,name=lat" json:"lat,omitempty"` - Lng *float64 `protobuf:"fixed64,6,req,name=lng" json:"lng,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FieldValue_Geo) Reset() { *m = FieldValue_Geo{} } -func (m *FieldValue_Geo) String() string { return proto.CompactTextString(m) } -func (*FieldValue_Geo) ProtoMessage() {} - -func (m *FieldValue_Geo) GetLat() float64 { - if m != nil && m.Lat != nil { - return *m.Lat - } - return 0 -} - -func (m *FieldValue_Geo) GetLng() float64 { - if m != nil && m.Lng != nil { - return *m.Lng - } - return 0 -} - -type Field struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Value *FieldValue `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Field) Reset() { *m = Field{} } -func (m *Field) String() string { return proto.CompactTextString(m) } -func (*Field) ProtoMessage() {} - -func (m *Field) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *Field) GetValue() *FieldValue { - if m != nil { - return m.Value - } - return nil -} - -type FieldTypes struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Type []FieldValue_ContentType `protobuf:"varint,2,rep,name=type,enum=search.FieldValue_ContentType" json:"type,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FieldTypes) Reset() { *m = FieldTypes{} } -func (m *FieldTypes) String() string { return proto.CompactTextString(m) } -func (*FieldTypes) ProtoMessage() {} - -func (m *FieldTypes) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FieldTypes) GetType() []FieldValue_ContentType { - if m != nil { - return m.Type - } - return nil -} - -type IndexShardSettings struct { - PrevNumShards []int32 `protobuf:"varint,1,rep,name=prev_num_shards" json:"prev_num_shards,omitempty"` - NumShards *int32 `protobuf:"varint,2,req,name=num_shards,def=1" json:"num_shards,omitempty"` - PrevNumShardsSearchFalse []int32 `protobuf:"varint,3,rep,name=prev_num_shards_search_false" json:"prev_num_shards_search_false,omitempty"` - LocalReplica *string `protobuf:"bytes,4,opt,name=local_replica,def=" json:"local_replica,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexShardSettings) Reset() { *m = IndexShardSettings{} } -func (m *IndexShardSettings) String() string { return proto.CompactTextString(m) } -func (*IndexShardSettings) ProtoMessage() {} - -const Default_IndexShardSettings_NumShards int32 = 1 - -func (m *IndexShardSettings) GetPrevNumShards() []int32 { - if m != nil { - return m.PrevNumShards - } - return nil -} - -func (m *IndexShardSettings) GetNumShards() int32 { - if m != nil && m.NumShards != nil { - return *m.NumShards - } - return Default_IndexShardSettings_NumShards -} - -func (m *IndexShardSettings) GetPrevNumShardsSearchFalse() []int32 { - if m != nil { - return m.PrevNumShardsSearchFalse - } - return nil -} - -func (m *IndexShardSettings) GetLocalReplica() string { - if m != nil && m.LocalReplica != nil { - return *m.LocalReplica - } - return "" -} - -type FacetValue struct { - Type *FacetValue_ContentType `protobuf:"varint,1,opt,name=type,enum=search.FacetValue_ContentType,def=2" json:"type,omitempty"` - StringValue *string `protobuf:"bytes,3,opt,name=string_value" json:"string_value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetValue) Reset() { *m = FacetValue{} } -func (m *FacetValue) String() string { return proto.CompactTextString(m) } -func (*FacetValue) ProtoMessage() {} - -const Default_FacetValue_Type FacetValue_ContentType = FacetValue_ATOM - -func (m *FacetValue) GetType() FacetValue_ContentType { - if m != nil && m.Type != nil { - return *m.Type - } - return Default_FacetValue_Type -} - -func (m *FacetValue) GetStringValue() string { - if m != nil && m.StringValue != nil { - return *m.StringValue - } - return "" -} - -type Facet struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Value *FacetValue `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Facet) Reset() { *m = Facet{} } -func (m *Facet) String() string { return proto.CompactTextString(m) } -func (*Facet) ProtoMessage() {} - -func (m *Facet) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *Facet) GetValue() *FacetValue { - if m != nil { - return m.Value - } - return nil -} - -type DocumentMetadata struct { - Version *int64 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` - CommittedStVersion *int64 `protobuf:"varint,2,opt,name=committed_st_version" json:"committed_st_version,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DocumentMetadata) Reset() { *m = DocumentMetadata{} } -func (m *DocumentMetadata) String() string { return proto.CompactTextString(m) } -func (*DocumentMetadata) ProtoMessage() {} - -func (m *DocumentMetadata) GetVersion() int64 { - if m != nil && m.Version != nil { - return *m.Version - } - return 0 -} - -func (m *DocumentMetadata) GetCommittedStVersion() int64 { - if m != nil && m.CommittedStVersion != nil { - return *m.CommittedStVersion - } - return 0 -} - -type Document struct { - Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Language *string `protobuf:"bytes,2,opt,name=language,def=en" json:"language,omitempty"` - Field []*Field `protobuf:"bytes,3,rep,name=field" json:"field,omitempty"` - OrderId *int32 `protobuf:"varint,4,opt,name=order_id" json:"order_id,omitempty"` - Storage *Document_Storage `protobuf:"varint,5,opt,name=storage,enum=search.Document_Storage,def=0" json:"storage,omitempty"` - Facet []*Facet `protobuf:"bytes,8,rep,name=facet" json:"facet,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Document) Reset() { *m = Document{} } -func (m *Document) String() string { return proto.CompactTextString(m) } -func (*Document) ProtoMessage() {} - -const Default_Document_Language string = "en" -const Default_Document_Storage Document_Storage = Document_DISK - -func (m *Document) GetId() string { - if m != nil && m.Id != nil { - return *m.Id - } - return "" -} - -func (m *Document) GetLanguage() string { - if m != nil && m.Language != nil { - return *m.Language - } - return Default_Document_Language -} - -func (m *Document) GetField() []*Field { - if m != nil { - return m.Field - } - return nil -} - -func (m *Document) GetOrderId() int32 { - if m != nil && m.OrderId != nil { - return *m.OrderId - } - return 0 -} - -func (m *Document) GetStorage() Document_Storage { - if m != nil && m.Storage != nil { - return *m.Storage - } - return Default_Document_Storage -} - -func (m *Document) GetFacet() []*Facet { - if m != nil { - return m.Facet - } - return nil -} - -type SearchServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *SearchServiceError) Reset() { *m = SearchServiceError{} } -func (m *SearchServiceError) String() string { return proto.CompactTextString(m) } -func (*SearchServiceError) ProtoMessage() {} - -type RequestStatus struct { - Code *SearchServiceError_ErrorCode `protobuf:"varint,1,req,name=code,enum=search.SearchServiceError_ErrorCode" json:"code,omitempty"` - ErrorDetail *string `protobuf:"bytes,2,opt,name=error_detail" json:"error_detail,omitempty"` - CanonicalCode *int32 `protobuf:"varint,3,opt,name=canonical_code" json:"canonical_code,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RequestStatus) Reset() { *m = RequestStatus{} } -func (m *RequestStatus) String() string { return proto.CompactTextString(m) } -func (*RequestStatus) ProtoMessage() {} - -func (m *RequestStatus) GetCode() SearchServiceError_ErrorCode { - if m != nil && m.Code != nil { - return *m.Code - } - return SearchServiceError_OK -} - -func (m *RequestStatus) GetErrorDetail() string { - if m != nil && m.ErrorDetail != nil { - return *m.ErrorDetail - } - return "" -} - -func (m *RequestStatus) GetCanonicalCode() int32 { - if m != nil && m.CanonicalCode != nil { - return *m.CanonicalCode - } - return 0 -} - -type IndexSpec struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Consistency *IndexSpec_Consistency `protobuf:"varint,2,opt,name=consistency,enum=search.IndexSpec_Consistency,def=1" json:"consistency,omitempty"` - Namespace *string `protobuf:"bytes,3,opt,name=namespace" json:"namespace,omitempty"` - Version *int32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"` - Source *IndexSpec_Source `protobuf:"varint,5,opt,name=source,enum=search.IndexSpec_Source,def=0" json:"source,omitempty"` - Mode *IndexSpec_Mode `protobuf:"varint,6,opt,name=mode,enum=search.IndexSpec_Mode,def=0" json:"mode,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexSpec) Reset() { *m = IndexSpec{} } -func (m *IndexSpec) String() string { return proto.CompactTextString(m) } -func (*IndexSpec) ProtoMessage() {} - -const Default_IndexSpec_Consistency IndexSpec_Consistency = IndexSpec_PER_DOCUMENT -const Default_IndexSpec_Source IndexSpec_Source = IndexSpec_SEARCH -const Default_IndexSpec_Mode IndexSpec_Mode = IndexSpec_PRIORITY - -func (m *IndexSpec) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *IndexSpec) GetConsistency() IndexSpec_Consistency { - if m != nil && m.Consistency != nil { - return *m.Consistency - } - return Default_IndexSpec_Consistency -} - -func (m *IndexSpec) GetNamespace() string { - if m != nil && m.Namespace != nil { - return *m.Namespace - } - return "" -} - -func (m *IndexSpec) GetVersion() int32 { - if m != nil && m.Version != nil { - return *m.Version - } - return 0 -} - -func (m *IndexSpec) GetSource() IndexSpec_Source { - if m != nil && m.Source != nil { - return *m.Source - } - return Default_IndexSpec_Source -} - -func (m *IndexSpec) GetMode() IndexSpec_Mode { - if m != nil && m.Mode != nil { - return *m.Mode - } - return Default_IndexSpec_Mode -} - -type IndexMetadata struct { - IndexSpec *IndexSpec `protobuf:"bytes,1,req,name=index_spec" json:"index_spec,omitempty"` - Field []*FieldTypes `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` - Storage *IndexMetadata_Storage `protobuf:"bytes,3,opt,name=storage" json:"storage,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexMetadata) Reset() { *m = IndexMetadata{} } -func (m *IndexMetadata) String() string { return proto.CompactTextString(m) } -func (*IndexMetadata) ProtoMessage() {} - -func (m *IndexMetadata) GetIndexSpec() *IndexSpec { - if m != nil { - return m.IndexSpec - } - return nil -} - -func (m *IndexMetadata) GetField() []*FieldTypes { - if m != nil { - return m.Field - } - return nil -} - -func (m *IndexMetadata) GetStorage() *IndexMetadata_Storage { - if m != nil { - return m.Storage - } - return nil -} - -type IndexMetadata_Storage struct { - AmountUsed *int64 `protobuf:"varint,1,opt,name=amount_used" json:"amount_used,omitempty"` - Limit *int64 `protobuf:"varint,2,opt,name=limit" json:"limit,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexMetadata_Storage) Reset() { *m = IndexMetadata_Storage{} } -func (m *IndexMetadata_Storage) String() string { return proto.CompactTextString(m) } -func (*IndexMetadata_Storage) ProtoMessage() {} - -func (m *IndexMetadata_Storage) GetAmountUsed() int64 { - if m != nil && m.AmountUsed != nil { - return *m.AmountUsed - } - return 0 -} - -func (m *IndexMetadata_Storage) GetLimit() int64 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return 0 -} - -type IndexDocumentParams struct { - Document []*Document `protobuf:"bytes,1,rep,name=document" json:"document,omitempty"` - Freshness *IndexDocumentParams_Freshness `protobuf:"varint,2,opt,name=freshness,enum=search.IndexDocumentParams_Freshness,def=0" json:"freshness,omitempty"` - IndexSpec *IndexSpec `protobuf:"bytes,3,req,name=index_spec" json:"index_spec,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexDocumentParams) Reset() { *m = IndexDocumentParams{} } -func (m *IndexDocumentParams) String() string { return proto.CompactTextString(m) } -func (*IndexDocumentParams) ProtoMessage() {} - -const Default_IndexDocumentParams_Freshness IndexDocumentParams_Freshness = IndexDocumentParams_SYNCHRONOUSLY - -func (m *IndexDocumentParams) GetDocument() []*Document { - if m != nil { - return m.Document - } - return nil -} - -func (m *IndexDocumentParams) GetFreshness() IndexDocumentParams_Freshness { - if m != nil && m.Freshness != nil { - return *m.Freshness - } - return Default_IndexDocumentParams_Freshness -} - -func (m *IndexDocumentParams) GetIndexSpec() *IndexSpec { - if m != nil { - return m.IndexSpec - } - return nil -} - -type IndexDocumentRequest struct { - Params *IndexDocumentParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` - AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexDocumentRequest) Reset() { *m = IndexDocumentRequest{} } -func (m *IndexDocumentRequest) String() string { return proto.CompactTextString(m) } -func (*IndexDocumentRequest) ProtoMessage() {} - -func (m *IndexDocumentRequest) GetParams() *IndexDocumentParams { - if m != nil { - return m.Params - } - return nil -} - -func (m *IndexDocumentRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type IndexDocumentResponse struct { - Status []*RequestStatus `protobuf:"bytes,1,rep,name=status" json:"status,omitempty"` - DocId []string `protobuf:"bytes,2,rep,name=doc_id" json:"doc_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *IndexDocumentResponse) Reset() { *m = IndexDocumentResponse{} } -func (m *IndexDocumentResponse) String() string { return proto.CompactTextString(m) } -func (*IndexDocumentResponse) ProtoMessage() {} - -func (m *IndexDocumentResponse) GetStatus() []*RequestStatus { - if m != nil { - return m.Status - } - return nil -} - -func (m *IndexDocumentResponse) GetDocId() []string { - if m != nil { - return m.DocId - } - return nil -} - -type DeleteDocumentParams struct { - DocId []string `protobuf:"bytes,1,rep,name=doc_id" json:"doc_id,omitempty"` - IndexSpec *IndexSpec `protobuf:"bytes,2,req,name=index_spec" json:"index_spec,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteDocumentParams) Reset() { *m = DeleteDocumentParams{} } -func (m *DeleteDocumentParams) String() string { return proto.CompactTextString(m) } -func (*DeleteDocumentParams) ProtoMessage() {} - -func (m *DeleteDocumentParams) GetDocId() []string { - if m != nil { - return m.DocId - } - return nil -} - -func (m *DeleteDocumentParams) GetIndexSpec() *IndexSpec { - if m != nil { - return m.IndexSpec - } - return nil -} - -type DeleteDocumentRequest struct { - Params *DeleteDocumentParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` - AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteDocumentRequest) Reset() { *m = DeleteDocumentRequest{} } -func (m *DeleteDocumentRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteDocumentRequest) ProtoMessage() {} - -func (m *DeleteDocumentRequest) GetParams() *DeleteDocumentParams { - if m != nil { - return m.Params - } - return nil -} - -func (m *DeleteDocumentRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type DeleteDocumentResponse struct { - Status []*RequestStatus `protobuf:"bytes,1,rep,name=status" json:"status,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteDocumentResponse) Reset() { *m = DeleteDocumentResponse{} } -func (m *DeleteDocumentResponse) String() string { return proto.CompactTextString(m) } -func (*DeleteDocumentResponse) ProtoMessage() {} - -func (m *DeleteDocumentResponse) GetStatus() []*RequestStatus { - if m != nil { - return m.Status - } - return nil -} - -type ListDocumentsParams struct { - IndexSpec *IndexSpec `protobuf:"bytes,1,req,name=index_spec" json:"index_spec,omitempty"` - StartDocId *string `protobuf:"bytes,2,opt,name=start_doc_id" json:"start_doc_id,omitempty"` - IncludeStartDoc *bool `protobuf:"varint,3,opt,name=include_start_doc,def=1" json:"include_start_doc,omitempty"` - Limit *int32 `protobuf:"varint,4,opt,name=limit,def=100" json:"limit,omitempty"` - KeysOnly *bool `protobuf:"varint,5,opt,name=keys_only" json:"keys_only,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListDocumentsParams) Reset() { *m = ListDocumentsParams{} } -func (m *ListDocumentsParams) String() string { return proto.CompactTextString(m) } -func (*ListDocumentsParams) ProtoMessage() {} - -const Default_ListDocumentsParams_IncludeStartDoc bool = true -const Default_ListDocumentsParams_Limit int32 = 100 - -func (m *ListDocumentsParams) GetIndexSpec() *IndexSpec { - if m != nil { - return m.IndexSpec - } - return nil -} - -func (m *ListDocumentsParams) GetStartDocId() string { - if m != nil && m.StartDocId != nil { - return *m.StartDocId - } - return "" -} - -func (m *ListDocumentsParams) GetIncludeStartDoc() bool { - if m != nil && m.IncludeStartDoc != nil { - return *m.IncludeStartDoc - } - return Default_ListDocumentsParams_IncludeStartDoc -} - -func (m *ListDocumentsParams) GetLimit() int32 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return Default_ListDocumentsParams_Limit -} - -func (m *ListDocumentsParams) GetKeysOnly() bool { - if m != nil && m.KeysOnly != nil { - return *m.KeysOnly - } - return false -} - -type ListDocumentsRequest struct { - Params *ListDocumentsParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` - AppId []byte `protobuf:"bytes,2,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListDocumentsRequest) Reset() { *m = ListDocumentsRequest{} } -func (m *ListDocumentsRequest) String() string { return proto.CompactTextString(m) } -func (*ListDocumentsRequest) ProtoMessage() {} - -func (m *ListDocumentsRequest) GetParams() *ListDocumentsParams { - if m != nil { - return m.Params - } - return nil -} - -func (m *ListDocumentsRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type ListDocumentsResponse struct { - Status *RequestStatus `protobuf:"bytes,1,req,name=status" json:"status,omitempty"` - Document []*Document `protobuf:"bytes,2,rep,name=document" json:"document,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListDocumentsResponse) Reset() { *m = ListDocumentsResponse{} } -func (m *ListDocumentsResponse) String() string { return proto.CompactTextString(m) } -func (*ListDocumentsResponse) ProtoMessage() {} - -func (m *ListDocumentsResponse) GetStatus() *RequestStatus { - if m != nil { - return m.Status - } - return nil -} - -func (m *ListDocumentsResponse) GetDocument() []*Document { - if m != nil { - return m.Document - } - return nil -} - -type ListIndexesParams struct { - FetchSchema *bool `protobuf:"varint,1,opt,name=fetch_schema" json:"fetch_schema,omitempty"` - Limit *int32 `protobuf:"varint,2,opt,name=limit,def=20" json:"limit,omitempty"` - Namespace *string `protobuf:"bytes,3,opt,name=namespace" json:"namespace,omitempty"` - StartIndexName *string `protobuf:"bytes,4,opt,name=start_index_name" json:"start_index_name,omitempty"` - IncludeStartIndex *bool `protobuf:"varint,5,opt,name=include_start_index,def=1" json:"include_start_index,omitempty"` - IndexNamePrefix *string `protobuf:"bytes,6,opt,name=index_name_prefix" json:"index_name_prefix,omitempty"` - Offset *int32 `protobuf:"varint,7,opt,name=offset" json:"offset,omitempty"` - Source *IndexSpec_Source `protobuf:"varint,8,opt,name=source,enum=search.IndexSpec_Source,def=0" json:"source,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListIndexesParams) Reset() { *m = ListIndexesParams{} } -func (m *ListIndexesParams) String() string { return proto.CompactTextString(m) } -func (*ListIndexesParams) ProtoMessage() {} - -const Default_ListIndexesParams_Limit int32 = 20 -const Default_ListIndexesParams_IncludeStartIndex bool = true -const Default_ListIndexesParams_Source IndexSpec_Source = IndexSpec_SEARCH - -func (m *ListIndexesParams) GetFetchSchema() bool { - if m != nil && m.FetchSchema != nil { - return *m.FetchSchema - } - return false -} - -func (m *ListIndexesParams) GetLimit() int32 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return Default_ListIndexesParams_Limit -} - -func (m *ListIndexesParams) GetNamespace() string { - if m != nil && m.Namespace != nil { - return *m.Namespace - } - return "" -} - -func (m *ListIndexesParams) GetStartIndexName() string { - if m != nil && m.StartIndexName != nil { - return *m.StartIndexName - } - return "" -} - -func (m *ListIndexesParams) GetIncludeStartIndex() bool { - if m != nil && m.IncludeStartIndex != nil { - return *m.IncludeStartIndex - } - return Default_ListIndexesParams_IncludeStartIndex -} - -func (m *ListIndexesParams) GetIndexNamePrefix() string { - if m != nil && m.IndexNamePrefix != nil { - return *m.IndexNamePrefix - } - return "" -} - -func (m *ListIndexesParams) GetOffset() int32 { - if m != nil && m.Offset != nil { - return *m.Offset - } - return 0 -} - -func (m *ListIndexesParams) GetSource() IndexSpec_Source { - if m != nil && m.Source != nil { - return *m.Source - } - return Default_ListIndexesParams_Source -} - -type ListIndexesRequest struct { - Params *ListIndexesParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` - AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListIndexesRequest) Reset() { *m = ListIndexesRequest{} } -func (m *ListIndexesRequest) String() string { return proto.CompactTextString(m) } -func (*ListIndexesRequest) ProtoMessage() {} - -func (m *ListIndexesRequest) GetParams() *ListIndexesParams { - if m != nil { - return m.Params - } - return nil -} - -func (m *ListIndexesRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type ListIndexesResponse struct { - Status *RequestStatus `protobuf:"bytes,1,req,name=status" json:"status,omitempty"` - IndexMetadata []*IndexMetadata `protobuf:"bytes,2,rep,name=index_metadata" json:"index_metadata,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListIndexesResponse) Reset() { *m = ListIndexesResponse{} } -func (m *ListIndexesResponse) String() string { return proto.CompactTextString(m) } -func (*ListIndexesResponse) ProtoMessage() {} - -func (m *ListIndexesResponse) GetStatus() *RequestStatus { - if m != nil { - return m.Status - } - return nil -} - -func (m *ListIndexesResponse) GetIndexMetadata() []*IndexMetadata { - if m != nil { - return m.IndexMetadata - } - return nil -} - -type DeleteSchemaParams struct { - Source *IndexSpec_Source `protobuf:"varint,1,opt,name=source,enum=search.IndexSpec_Source,def=0" json:"source,omitempty"` - IndexSpec []*IndexSpec `protobuf:"bytes,2,rep,name=index_spec" json:"index_spec,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteSchemaParams) Reset() { *m = DeleteSchemaParams{} } -func (m *DeleteSchemaParams) String() string { return proto.CompactTextString(m) } -func (*DeleteSchemaParams) ProtoMessage() {} - -const Default_DeleteSchemaParams_Source IndexSpec_Source = IndexSpec_SEARCH - -func (m *DeleteSchemaParams) GetSource() IndexSpec_Source { - if m != nil && m.Source != nil { - return *m.Source - } - return Default_DeleteSchemaParams_Source -} - -func (m *DeleteSchemaParams) GetIndexSpec() []*IndexSpec { - if m != nil { - return m.IndexSpec - } - return nil -} - -type DeleteSchemaRequest struct { - Params *DeleteSchemaParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` - AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteSchemaRequest) Reset() { *m = DeleteSchemaRequest{} } -func (m *DeleteSchemaRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteSchemaRequest) ProtoMessage() {} - -func (m *DeleteSchemaRequest) GetParams() *DeleteSchemaParams { - if m != nil { - return m.Params - } - return nil -} - -func (m *DeleteSchemaRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type DeleteSchemaResponse struct { - Status []*RequestStatus `protobuf:"bytes,1,rep,name=status" json:"status,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DeleteSchemaResponse) Reset() { *m = DeleteSchemaResponse{} } -func (m *DeleteSchemaResponse) String() string { return proto.CompactTextString(m) } -func (*DeleteSchemaResponse) ProtoMessage() {} - -func (m *DeleteSchemaResponse) GetStatus() []*RequestStatus { - if m != nil { - return m.Status - } - return nil -} - -type SortSpec struct { - SortExpression *string `protobuf:"bytes,1,req,name=sort_expression" json:"sort_expression,omitempty"` - SortDescending *bool `protobuf:"varint,2,opt,name=sort_descending,def=1" json:"sort_descending,omitempty"` - DefaultValueText *string `protobuf:"bytes,4,opt,name=default_value_text" json:"default_value_text,omitempty"` - DefaultValueNumeric *float64 `protobuf:"fixed64,5,opt,name=default_value_numeric" json:"default_value_numeric,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SortSpec) Reset() { *m = SortSpec{} } -func (m *SortSpec) String() string { return proto.CompactTextString(m) } -func (*SortSpec) ProtoMessage() {} - -const Default_SortSpec_SortDescending bool = true - -func (m *SortSpec) GetSortExpression() string { - if m != nil && m.SortExpression != nil { - return *m.SortExpression - } - return "" -} - -func (m *SortSpec) GetSortDescending() bool { - if m != nil && m.SortDescending != nil { - return *m.SortDescending - } - return Default_SortSpec_SortDescending -} - -func (m *SortSpec) GetDefaultValueText() string { - if m != nil && m.DefaultValueText != nil { - return *m.DefaultValueText - } - return "" -} - -func (m *SortSpec) GetDefaultValueNumeric() float64 { - if m != nil && m.DefaultValueNumeric != nil { - return *m.DefaultValueNumeric - } - return 0 -} - -type ScorerSpec struct { - Scorer *ScorerSpec_Scorer `protobuf:"varint,1,opt,name=scorer,enum=search.ScorerSpec_Scorer,def=2" json:"scorer,omitempty"` - Limit *int32 `protobuf:"varint,2,opt,name=limit,def=1000" json:"limit,omitempty"` - MatchScorerParameters *string `protobuf:"bytes,9,opt,name=match_scorer_parameters" json:"match_scorer_parameters,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ScorerSpec) Reset() { *m = ScorerSpec{} } -func (m *ScorerSpec) String() string { return proto.CompactTextString(m) } -func (*ScorerSpec) ProtoMessage() {} - -const Default_ScorerSpec_Scorer ScorerSpec_Scorer = ScorerSpec_MATCH_SCORER -const Default_ScorerSpec_Limit int32 = 1000 - -func (m *ScorerSpec) GetScorer() ScorerSpec_Scorer { - if m != nil && m.Scorer != nil { - return *m.Scorer - } - return Default_ScorerSpec_Scorer -} - -func (m *ScorerSpec) GetLimit() int32 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return Default_ScorerSpec_Limit -} - -func (m *ScorerSpec) GetMatchScorerParameters() string { - if m != nil && m.MatchScorerParameters != nil { - return *m.MatchScorerParameters - } - return "" -} - -type FieldSpec struct { - Name []string `protobuf:"bytes,1,rep,name=name" json:"name,omitempty"` - Expression []*FieldSpec_Expression `protobuf:"group,2,rep,name=Expression" json:"expression,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FieldSpec) Reset() { *m = FieldSpec{} } -func (m *FieldSpec) String() string { return proto.CompactTextString(m) } -func (*FieldSpec) ProtoMessage() {} - -func (m *FieldSpec) GetName() []string { - if m != nil { - return m.Name - } - return nil -} - -func (m *FieldSpec) GetExpression() []*FieldSpec_Expression { - if m != nil { - return m.Expression - } - return nil -} - -type FieldSpec_Expression struct { - Name *string `protobuf:"bytes,3,req,name=name" json:"name,omitempty"` - Expression *string `protobuf:"bytes,4,req,name=expression" json:"expression,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FieldSpec_Expression) Reset() { *m = FieldSpec_Expression{} } -func (m *FieldSpec_Expression) String() string { return proto.CompactTextString(m) } -func (*FieldSpec_Expression) ProtoMessage() {} - -func (m *FieldSpec_Expression) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FieldSpec_Expression) GetExpression() string { - if m != nil && m.Expression != nil { - return *m.Expression - } - return "" -} - -type FacetRange struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Start *string `protobuf:"bytes,2,opt,name=start" json:"start,omitempty"` - End *string `protobuf:"bytes,3,opt,name=end" json:"end,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetRange) Reset() { *m = FacetRange{} } -func (m *FacetRange) String() string { return proto.CompactTextString(m) } -func (*FacetRange) ProtoMessage() {} - -func (m *FacetRange) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FacetRange) GetStart() string { - if m != nil && m.Start != nil { - return *m.Start - } - return "" -} - -func (m *FacetRange) GetEnd() string { - if m != nil && m.End != nil { - return *m.End - } - return "" -} - -type FacetRequestParam struct { - ValueLimit *int32 `protobuf:"varint,1,opt,name=value_limit" json:"value_limit,omitempty"` - Range []*FacetRange `protobuf:"bytes,2,rep,name=range" json:"range,omitempty"` - ValueConstraint []string `protobuf:"bytes,3,rep,name=value_constraint" json:"value_constraint,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetRequestParam) Reset() { *m = FacetRequestParam{} } -func (m *FacetRequestParam) String() string { return proto.CompactTextString(m) } -func (*FacetRequestParam) ProtoMessage() {} - -func (m *FacetRequestParam) GetValueLimit() int32 { - if m != nil && m.ValueLimit != nil { - return *m.ValueLimit - } - return 0 -} - -func (m *FacetRequestParam) GetRange() []*FacetRange { - if m != nil { - return m.Range - } - return nil -} - -func (m *FacetRequestParam) GetValueConstraint() []string { - if m != nil { - return m.ValueConstraint - } - return nil -} - -type FacetAutoDetectParam struct { - ValueLimit *int32 `protobuf:"varint,1,opt,name=value_limit,def=10" json:"value_limit,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetAutoDetectParam) Reset() { *m = FacetAutoDetectParam{} } -func (m *FacetAutoDetectParam) String() string { return proto.CompactTextString(m) } -func (*FacetAutoDetectParam) ProtoMessage() {} - -const Default_FacetAutoDetectParam_ValueLimit int32 = 10 - -func (m *FacetAutoDetectParam) GetValueLimit() int32 { - if m != nil && m.ValueLimit != nil { - return *m.ValueLimit - } - return Default_FacetAutoDetectParam_ValueLimit -} - -type FacetRequest struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Params *FacetRequestParam `protobuf:"bytes,2,opt,name=params" json:"params,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetRequest) Reset() { *m = FacetRequest{} } -func (m *FacetRequest) String() string { return proto.CompactTextString(m) } -func (*FacetRequest) ProtoMessage() {} - -func (m *FacetRequest) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FacetRequest) GetParams() *FacetRequestParam { - if m != nil { - return m.Params - } - return nil -} - -type FacetRefinement struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - Range *FacetRefinement_Range `protobuf:"bytes,3,opt,name=range" json:"range,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetRefinement) Reset() { *m = FacetRefinement{} } -func (m *FacetRefinement) String() string { return proto.CompactTextString(m) } -func (*FacetRefinement) ProtoMessage() {} - -func (m *FacetRefinement) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FacetRefinement) GetValue() string { - if m != nil && m.Value != nil { - return *m.Value - } - return "" -} - -func (m *FacetRefinement) GetRange() *FacetRefinement_Range { - if m != nil { - return m.Range - } - return nil -} - -type FacetRefinement_Range struct { - Start *string `protobuf:"bytes,1,opt,name=start" json:"start,omitempty"` - End *string `protobuf:"bytes,2,opt,name=end" json:"end,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetRefinement_Range) Reset() { *m = FacetRefinement_Range{} } -func (m *FacetRefinement_Range) String() string { return proto.CompactTextString(m) } -func (*FacetRefinement_Range) ProtoMessage() {} - -func (m *FacetRefinement_Range) GetStart() string { - if m != nil && m.Start != nil { - return *m.Start - } - return "" -} - -func (m *FacetRefinement_Range) GetEnd() string { - if m != nil && m.End != nil { - return *m.End - } - return "" -} - -type SearchParams struct { - IndexSpec *IndexSpec `protobuf:"bytes,1,req,name=index_spec" json:"index_spec,omitempty"` - Query *string `protobuf:"bytes,2,req,name=query" json:"query,omitempty"` - Cursor *string `protobuf:"bytes,4,opt,name=cursor" json:"cursor,omitempty"` - Offset *int32 `protobuf:"varint,11,opt,name=offset" json:"offset,omitempty"` - CursorType *SearchParams_CursorType `protobuf:"varint,5,opt,name=cursor_type,enum=search.SearchParams_CursorType,def=0" json:"cursor_type,omitempty"` - Limit *int32 `protobuf:"varint,6,opt,name=limit,def=20" json:"limit,omitempty"` - MatchedCountAccuracy *int32 `protobuf:"varint,7,opt,name=matched_count_accuracy" json:"matched_count_accuracy,omitempty"` - SortSpec []*SortSpec `protobuf:"bytes,8,rep,name=sort_spec" json:"sort_spec,omitempty"` - ScorerSpec *ScorerSpec `protobuf:"bytes,9,opt,name=scorer_spec" json:"scorer_spec,omitempty"` - FieldSpec *FieldSpec `protobuf:"bytes,10,opt,name=field_spec" json:"field_spec,omitempty"` - KeysOnly *bool `protobuf:"varint,12,opt,name=keys_only" json:"keys_only,omitempty"` - ParsingMode *SearchParams_ParsingMode `protobuf:"varint,13,opt,name=parsing_mode,enum=search.SearchParams_ParsingMode,def=0" json:"parsing_mode,omitempty"` - AutoDiscoverFacetCount *int32 `protobuf:"varint,15,opt,name=auto_discover_facet_count,def=0" json:"auto_discover_facet_count,omitempty"` - IncludeFacet []*FacetRequest `protobuf:"bytes,16,rep,name=include_facet" json:"include_facet,omitempty"` - FacetRefinement []*FacetRefinement `protobuf:"bytes,17,rep,name=facet_refinement" json:"facet_refinement,omitempty"` - FacetAutoDetectParam *FacetAutoDetectParam `protobuf:"bytes,18,opt,name=facet_auto_detect_param" json:"facet_auto_detect_param,omitempty"` - FacetDepth *int32 `protobuf:"varint,19,opt,name=facet_depth,def=1000" json:"facet_depth,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SearchParams) Reset() { *m = SearchParams{} } -func (m *SearchParams) String() string { return proto.CompactTextString(m) } -func (*SearchParams) ProtoMessage() {} - -const Default_SearchParams_CursorType SearchParams_CursorType = SearchParams_NONE -const Default_SearchParams_Limit int32 = 20 -const Default_SearchParams_ParsingMode SearchParams_ParsingMode = SearchParams_STRICT -const Default_SearchParams_AutoDiscoverFacetCount int32 = 0 -const Default_SearchParams_FacetDepth int32 = 1000 - -func (m *SearchParams) GetIndexSpec() *IndexSpec { - if m != nil { - return m.IndexSpec - } - return nil -} - -func (m *SearchParams) GetQuery() string { - if m != nil && m.Query != nil { - return *m.Query - } - return "" -} - -func (m *SearchParams) GetCursor() string { - if m != nil && m.Cursor != nil { - return *m.Cursor - } - return "" -} - -func (m *SearchParams) GetOffset() int32 { - if m != nil && m.Offset != nil { - return *m.Offset - } - return 0 -} - -func (m *SearchParams) GetCursorType() SearchParams_CursorType { - if m != nil && m.CursorType != nil { - return *m.CursorType - } - return Default_SearchParams_CursorType -} - -func (m *SearchParams) GetLimit() int32 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return Default_SearchParams_Limit -} - -func (m *SearchParams) GetMatchedCountAccuracy() int32 { - if m != nil && m.MatchedCountAccuracy != nil { - return *m.MatchedCountAccuracy - } - return 0 -} - -func (m *SearchParams) GetSortSpec() []*SortSpec { - if m != nil { - return m.SortSpec - } - return nil -} - -func (m *SearchParams) GetScorerSpec() *ScorerSpec { - if m != nil { - return m.ScorerSpec - } - return nil -} - -func (m *SearchParams) GetFieldSpec() *FieldSpec { - if m != nil { - return m.FieldSpec - } - return nil -} - -func (m *SearchParams) GetKeysOnly() bool { - if m != nil && m.KeysOnly != nil { - return *m.KeysOnly - } - return false -} - -func (m *SearchParams) GetParsingMode() SearchParams_ParsingMode { - if m != nil && m.ParsingMode != nil { - return *m.ParsingMode - } - return Default_SearchParams_ParsingMode -} - -func (m *SearchParams) GetAutoDiscoverFacetCount() int32 { - if m != nil && m.AutoDiscoverFacetCount != nil { - return *m.AutoDiscoverFacetCount - } - return Default_SearchParams_AutoDiscoverFacetCount -} - -func (m *SearchParams) GetIncludeFacet() []*FacetRequest { - if m != nil { - return m.IncludeFacet - } - return nil -} - -func (m *SearchParams) GetFacetRefinement() []*FacetRefinement { - if m != nil { - return m.FacetRefinement - } - return nil -} - -func (m *SearchParams) GetFacetAutoDetectParam() *FacetAutoDetectParam { - if m != nil { - return m.FacetAutoDetectParam - } - return nil -} - -func (m *SearchParams) GetFacetDepth() int32 { - if m != nil && m.FacetDepth != nil { - return *m.FacetDepth - } - return Default_SearchParams_FacetDepth -} - -type SearchRequest struct { - Params *SearchParams `protobuf:"bytes,1,req,name=params" json:"params,omitempty"` - AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SearchRequest) Reset() { *m = SearchRequest{} } -func (m *SearchRequest) String() string { return proto.CompactTextString(m) } -func (*SearchRequest) ProtoMessage() {} - -func (m *SearchRequest) GetParams() *SearchParams { - if m != nil { - return m.Params - } - return nil -} - -func (m *SearchRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type FacetResultValue struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Count *int32 `protobuf:"varint,2,req,name=count" json:"count,omitempty"` - Refinement *FacetRefinement `protobuf:"bytes,3,req,name=refinement" json:"refinement,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetResultValue) Reset() { *m = FacetResultValue{} } -func (m *FacetResultValue) String() string { return proto.CompactTextString(m) } -func (*FacetResultValue) ProtoMessage() {} - -func (m *FacetResultValue) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FacetResultValue) GetCount() int32 { - if m != nil && m.Count != nil { - return *m.Count - } - return 0 -} - -func (m *FacetResultValue) GetRefinement() *FacetRefinement { - if m != nil { - return m.Refinement - } - return nil -} - -type FacetResult struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Value []*FacetResultValue `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FacetResult) Reset() { *m = FacetResult{} } -func (m *FacetResult) String() string { return proto.CompactTextString(m) } -func (*FacetResult) ProtoMessage() {} - -func (m *FacetResult) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *FacetResult) GetValue() []*FacetResultValue { - if m != nil { - return m.Value - } - return nil -} - -type SearchResult struct { - Document *Document `protobuf:"bytes,1,req,name=document" json:"document,omitempty"` - Expression []*Field `protobuf:"bytes,4,rep,name=expression" json:"expression,omitempty"` - Score []float64 `protobuf:"fixed64,2,rep,name=score" json:"score,omitempty"` - Cursor *string `protobuf:"bytes,3,opt,name=cursor" json:"cursor,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SearchResult) Reset() { *m = SearchResult{} } -func (m *SearchResult) String() string { return proto.CompactTextString(m) } -func (*SearchResult) ProtoMessage() {} - -func (m *SearchResult) GetDocument() *Document { - if m != nil { - return m.Document - } - return nil -} - -func (m *SearchResult) GetExpression() []*Field { - if m != nil { - return m.Expression - } - return nil -} - -func (m *SearchResult) GetScore() []float64 { - if m != nil { - return m.Score - } - return nil -} - -func (m *SearchResult) GetCursor() string { - if m != nil && m.Cursor != nil { - return *m.Cursor - } - return "" -} - -type SearchResponse struct { - Result []*SearchResult `protobuf:"bytes,1,rep,name=result" json:"result,omitempty"` - MatchedCount *int64 `protobuf:"varint,2,req,name=matched_count" json:"matched_count,omitempty"` - Status *RequestStatus `protobuf:"bytes,3,req,name=status" json:"status,omitempty"` - Cursor *string `protobuf:"bytes,4,opt,name=cursor" json:"cursor,omitempty"` - FacetResult []*FacetResult `protobuf:"bytes,5,rep,name=facet_result" json:"facet_result,omitempty"` - XXX_extensions map[int32]proto.Extension `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SearchResponse) Reset() { *m = SearchResponse{} } -func (m *SearchResponse) String() string { return proto.CompactTextString(m) } -func (*SearchResponse) ProtoMessage() {} - -var extRange_SearchResponse = []proto.ExtensionRange{ - {1000, 9999}, -} - -func (*SearchResponse) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_SearchResponse -} -func (m *SearchResponse) ExtensionMap() map[int32]proto.Extension { - if m.XXX_extensions == nil { - m.XXX_extensions = make(map[int32]proto.Extension) - } - return m.XXX_extensions -} - -func (m *SearchResponse) GetResult() []*SearchResult { - if m != nil { - return m.Result - } - return nil -} - -func (m *SearchResponse) GetMatchedCount() int64 { - if m != nil && m.MatchedCount != nil { - return *m.MatchedCount - } - return 0 -} - -func (m *SearchResponse) GetStatus() *RequestStatus { - if m != nil { - return m.Status - } - return nil -} - -func (m *SearchResponse) GetCursor() string { - if m != nil && m.Cursor != nil { - return *m.Cursor - } - return "" -} - -func (m *SearchResponse) GetFacetResult() []*FacetResult { - if m != nil { - return m.FacetResult - } - return nil -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/search/search.proto b/vendor/google.golang.org/appengine/internal/search/search.proto deleted file mode 100644 index 219f4c30a..000000000 --- a/vendor/google.golang.org/appengine/internal/search/search.proto +++ /dev/null @@ -1,388 +0,0 @@ -syntax = "proto2"; -option go_package = "search"; - -package search; - -message Scope { - enum Type { - USER_BY_CANONICAL_ID = 1; - USER_BY_EMAIL = 2; - GROUP_BY_CANONICAL_ID = 3; - GROUP_BY_EMAIL = 4; - GROUP_BY_DOMAIN = 5; - ALL_USERS = 6; - ALL_AUTHENTICATED_USERS = 7; - } - - optional Type type = 1; - optional string value = 2; -} - -message Entry { - enum Permission { - READ = 1; - WRITE = 2; - FULL_CONTROL = 3; - } - - optional Scope scope = 1; - optional Permission permission = 2; - optional string display_name = 3; -} - -message AccessControlList { - optional string owner = 1; - repeated Entry entries = 2; -} - -message FieldValue { - enum ContentType { - TEXT = 0; - HTML = 1; - ATOM = 2; - DATE = 3; - NUMBER = 4; - GEO = 5; - } - - optional ContentType type = 1 [default = TEXT]; - - optional string language = 2 [default = "en"]; - - optional string string_value = 3; - - optional group Geo = 4 { - required double lat = 5; - required double lng = 6; - } -} - -message Field { - required string name = 1; - required FieldValue value = 2; -} - -message FieldTypes { - required string name = 1; - repeated FieldValue.ContentType type = 2; -} - -message IndexShardSettings { - repeated int32 prev_num_shards = 1; - required int32 num_shards = 2 [default=1]; - repeated int32 prev_num_shards_search_false = 3; - optional string local_replica = 4 [default = ""]; -} - -message FacetValue { - enum ContentType { - ATOM = 2; - NUMBER = 4; - } - - optional ContentType type = 1 [default = ATOM]; - optional string string_value = 3; -} - -message Facet { - required string name = 1; - required FacetValue value = 2; -} - -message DocumentMetadata { - optional int64 version = 1; - optional int64 committed_st_version = 2; -} - -message Document { - optional string id = 1; - optional string language = 2 [default = "en"]; - repeated Field field = 3; - optional int32 order_id = 4; - - enum Storage { - DISK = 0; - } - - optional Storage storage = 5 [default = DISK]; - repeated Facet facet = 8; -} - -message SearchServiceError { - enum ErrorCode { - OK = 0; - INVALID_REQUEST = 1; - TRANSIENT_ERROR = 2; - INTERNAL_ERROR = 3; - PERMISSION_DENIED = 4; - TIMEOUT = 5; - CONCURRENT_TRANSACTION = 6; - } -} - -message RequestStatus { - required SearchServiceError.ErrorCode code = 1; - optional string error_detail = 2; - optional int32 canonical_code = 3; -} - -message IndexSpec { - required string name = 1; - - enum Consistency { - GLOBAL = 0; - PER_DOCUMENT = 1; - } - optional Consistency consistency = 2 [default = PER_DOCUMENT]; - - optional string namespace = 3; - optional int32 version = 4; - - enum Source { - SEARCH = 0; - DATASTORE = 1; - CLOUD_STORAGE = 2; - } - optional Source source = 5 [default = SEARCH]; - - enum Mode { - PRIORITY = 0; - BACKGROUND = 1; - } - optional Mode mode = 6 [default = PRIORITY]; -} - -message IndexMetadata { - required IndexSpec index_spec = 1; - - repeated FieldTypes field = 2; - - message Storage { - optional int64 amount_used = 1; - optional int64 limit = 2; - } - optional Storage storage = 3; -} - -message IndexDocumentParams { - repeated Document document = 1; - - enum Freshness { - SYNCHRONOUSLY = 0; - WHEN_CONVENIENT = 1; - } - optional Freshness freshness = 2 [default = SYNCHRONOUSLY, deprecated=true]; - - required IndexSpec index_spec = 3; -} - -message IndexDocumentRequest { - required IndexDocumentParams params = 1; - - optional bytes app_id = 3; -} - -message IndexDocumentResponse { - repeated RequestStatus status = 1; - - repeated string doc_id = 2; -} - -message DeleteDocumentParams { - repeated string doc_id = 1; - - required IndexSpec index_spec = 2; -} - -message DeleteDocumentRequest { - required DeleteDocumentParams params = 1; - - optional bytes app_id = 3; -} - -message DeleteDocumentResponse { - repeated RequestStatus status = 1; -} - -message ListDocumentsParams { - required IndexSpec index_spec = 1; - optional string start_doc_id = 2; - optional bool include_start_doc = 3 [default = true]; - optional int32 limit = 4 [default = 100]; - optional bool keys_only = 5; -} - -message ListDocumentsRequest { - required ListDocumentsParams params = 1; - - optional bytes app_id = 2; -} - -message ListDocumentsResponse { - required RequestStatus status = 1; - - repeated Document document = 2; -} - -message ListIndexesParams { - optional bool fetch_schema = 1; - optional int32 limit = 2 [default = 20]; - optional string namespace = 3; - optional string start_index_name = 4; - optional bool include_start_index = 5 [default = true]; - optional string index_name_prefix = 6; - optional int32 offset = 7; - optional IndexSpec.Source source = 8 [default = SEARCH]; -} - -message ListIndexesRequest { - required ListIndexesParams params = 1; - - optional bytes app_id = 3; -} - -message ListIndexesResponse { - required RequestStatus status = 1; - repeated IndexMetadata index_metadata = 2; -} - -message DeleteSchemaParams { - optional IndexSpec.Source source = 1 [default = SEARCH]; - repeated IndexSpec index_spec = 2; -} - -message DeleteSchemaRequest { - required DeleteSchemaParams params = 1; - - optional bytes app_id = 3; -} - -message DeleteSchemaResponse { - repeated RequestStatus status = 1; -} - -message SortSpec { - required string sort_expression = 1; - optional bool sort_descending = 2 [default = true]; - optional string default_value_text = 4; - optional double default_value_numeric = 5; -} - -message ScorerSpec { - enum Scorer { - RESCORING_MATCH_SCORER = 0; - MATCH_SCORER = 2; - } - optional Scorer scorer = 1 [default = MATCH_SCORER]; - - optional int32 limit = 2 [default = 1000]; - optional string match_scorer_parameters = 9; -} - -message FieldSpec { - repeated string name = 1; - - repeated group Expression = 2 { - required string name = 3; - required string expression = 4; - } -} - -message FacetRange { - optional string name = 1; - optional string start = 2; - optional string end = 3; -} - -message FacetRequestParam { - optional int32 value_limit = 1; - repeated FacetRange range = 2; - repeated string value_constraint = 3; -} - -message FacetAutoDetectParam { - optional int32 value_limit = 1 [default = 10]; -} - -message FacetRequest { - required string name = 1; - optional FacetRequestParam params = 2; -} - -message FacetRefinement { - required string name = 1; - optional string value = 2; - - message Range { - optional string start = 1; - optional string end = 2; - } - optional Range range = 3; -} - -message SearchParams { - required IndexSpec index_spec = 1; - required string query = 2; - optional string cursor = 4; - optional int32 offset = 11; - - enum CursorType { - NONE = 0; - SINGLE = 1; - PER_RESULT = 2; - } - optional CursorType cursor_type = 5 [default = NONE]; - - optional int32 limit = 6 [default = 20]; - optional int32 matched_count_accuracy = 7; - repeated SortSpec sort_spec = 8; - optional ScorerSpec scorer_spec = 9; - optional FieldSpec field_spec = 10; - optional bool keys_only = 12; - - enum ParsingMode { - STRICT = 0; - RELAXED = 1; - } - optional ParsingMode parsing_mode = 13 [default = STRICT]; - - optional int32 auto_discover_facet_count = 15 [default = 0]; - repeated FacetRequest include_facet = 16; - repeated FacetRefinement facet_refinement = 17; - optional FacetAutoDetectParam facet_auto_detect_param = 18; - optional int32 facet_depth = 19 [default=1000]; -} - -message SearchRequest { - required SearchParams params = 1; - - optional bytes app_id = 3; -} - -message FacetResultValue { - required string name = 1; - required int32 count = 2; - required FacetRefinement refinement = 3; -} - -message FacetResult { - required string name = 1; - repeated FacetResultValue value = 2; -} - -message SearchResult { - required Document document = 1; - repeated Field expression = 4; - repeated double score = 2; - optional string cursor = 3; -} - -message SearchResponse { - repeated SearchResult result = 1; - required int64 matched_count = 2; - required RequestStatus status = 3; - optional string cursor = 4; - repeated FacetResult facet_result = 5; - - extensions 1000 to 9999; -} diff --git a/vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go b/vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go deleted file mode 100644 index 60628ec9b..000000000 --- a/vendor/google.golang.org/appengine/internal/socket/socket_service.pb.go +++ /dev/null @@ -1,1858 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/socket/socket_service.proto -// DO NOT EDIT! - -/* -Package socket is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/socket/socket_service.proto - -It has these top-level messages: - RemoteSocketServiceError - AddressPort - CreateSocketRequest - CreateSocketReply - BindRequest - BindReply - GetSocketNameRequest - GetSocketNameReply - GetPeerNameRequest - GetPeerNameReply - SocketOption - SetSocketOptionsRequest - SetSocketOptionsReply - GetSocketOptionsRequest - GetSocketOptionsReply - ConnectRequest - ConnectReply - ListenRequest - ListenReply - AcceptRequest - AcceptReply - ShutDownRequest - ShutDownReply - CloseRequest - CloseReply - SendRequest - SendReply - ReceiveRequest - ReceiveReply - PollEvent - PollRequest - PollReply - ResolveRequest - ResolveReply -*/ -package socket - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type RemoteSocketServiceError_ErrorCode int32 - -const ( - RemoteSocketServiceError_SYSTEM_ERROR RemoteSocketServiceError_ErrorCode = 1 - RemoteSocketServiceError_GAI_ERROR RemoteSocketServiceError_ErrorCode = 2 - RemoteSocketServiceError_FAILURE RemoteSocketServiceError_ErrorCode = 4 - RemoteSocketServiceError_PERMISSION_DENIED RemoteSocketServiceError_ErrorCode = 5 - RemoteSocketServiceError_INVALID_REQUEST RemoteSocketServiceError_ErrorCode = 6 - RemoteSocketServiceError_SOCKET_CLOSED RemoteSocketServiceError_ErrorCode = 7 -) - -var RemoteSocketServiceError_ErrorCode_name = map[int32]string{ - 1: "SYSTEM_ERROR", - 2: "GAI_ERROR", - 4: "FAILURE", - 5: "PERMISSION_DENIED", - 6: "INVALID_REQUEST", - 7: "SOCKET_CLOSED", -} -var RemoteSocketServiceError_ErrorCode_value = map[string]int32{ - "SYSTEM_ERROR": 1, - "GAI_ERROR": 2, - "FAILURE": 4, - "PERMISSION_DENIED": 5, - "INVALID_REQUEST": 6, - "SOCKET_CLOSED": 7, -} - -func (x RemoteSocketServiceError_ErrorCode) Enum() *RemoteSocketServiceError_ErrorCode { - p := new(RemoteSocketServiceError_ErrorCode) - *p = x - return p -} -func (x RemoteSocketServiceError_ErrorCode) String() string { - return proto.EnumName(RemoteSocketServiceError_ErrorCode_name, int32(x)) -} -func (x *RemoteSocketServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(RemoteSocketServiceError_ErrorCode_value, data, "RemoteSocketServiceError_ErrorCode") - if err != nil { - return err - } - *x = RemoteSocketServiceError_ErrorCode(value) - return nil -} - -type RemoteSocketServiceError_SystemError int32 - -const ( - RemoteSocketServiceError_SYS_SUCCESS RemoteSocketServiceError_SystemError = 0 - RemoteSocketServiceError_SYS_EPERM RemoteSocketServiceError_SystemError = 1 - RemoteSocketServiceError_SYS_ENOENT RemoteSocketServiceError_SystemError = 2 - RemoteSocketServiceError_SYS_ESRCH RemoteSocketServiceError_SystemError = 3 - RemoteSocketServiceError_SYS_EINTR RemoteSocketServiceError_SystemError = 4 - RemoteSocketServiceError_SYS_EIO RemoteSocketServiceError_SystemError = 5 - RemoteSocketServiceError_SYS_ENXIO RemoteSocketServiceError_SystemError = 6 - RemoteSocketServiceError_SYS_E2BIG RemoteSocketServiceError_SystemError = 7 - RemoteSocketServiceError_SYS_ENOEXEC RemoteSocketServiceError_SystemError = 8 - RemoteSocketServiceError_SYS_EBADF RemoteSocketServiceError_SystemError = 9 - RemoteSocketServiceError_SYS_ECHILD RemoteSocketServiceError_SystemError = 10 - RemoteSocketServiceError_SYS_EAGAIN RemoteSocketServiceError_SystemError = 11 - RemoteSocketServiceError_SYS_EWOULDBLOCK RemoteSocketServiceError_SystemError = 11 - RemoteSocketServiceError_SYS_ENOMEM RemoteSocketServiceError_SystemError = 12 - RemoteSocketServiceError_SYS_EACCES RemoteSocketServiceError_SystemError = 13 - RemoteSocketServiceError_SYS_EFAULT RemoteSocketServiceError_SystemError = 14 - RemoteSocketServiceError_SYS_ENOTBLK RemoteSocketServiceError_SystemError = 15 - RemoteSocketServiceError_SYS_EBUSY RemoteSocketServiceError_SystemError = 16 - RemoteSocketServiceError_SYS_EEXIST RemoteSocketServiceError_SystemError = 17 - RemoteSocketServiceError_SYS_EXDEV RemoteSocketServiceError_SystemError = 18 - RemoteSocketServiceError_SYS_ENODEV RemoteSocketServiceError_SystemError = 19 - RemoteSocketServiceError_SYS_ENOTDIR RemoteSocketServiceError_SystemError = 20 - RemoteSocketServiceError_SYS_EISDIR RemoteSocketServiceError_SystemError = 21 - RemoteSocketServiceError_SYS_EINVAL RemoteSocketServiceError_SystemError = 22 - RemoteSocketServiceError_SYS_ENFILE RemoteSocketServiceError_SystemError = 23 - RemoteSocketServiceError_SYS_EMFILE RemoteSocketServiceError_SystemError = 24 - RemoteSocketServiceError_SYS_ENOTTY RemoteSocketServiceError_SystemError = 25 - RemoteSocketServiceError_SYS_ETXTBSY RemoteSocketServiceError_SystemError = 26 - RemoteSocketServiceError_SYS_EFBIG RemoteSocketServiceError_SystemError = 27 - RemoteSocketServiceError_SYS_ENOSPC RemoteSocketServiceError_SystemError = 28 - RemoteSocketServiceError_SYS_ESPIPE RemoteSocketServiceError_SystemError = 29 - RemoteSocketServiceError_SYS_EROFS RemoteSocketServiceError_SystemError = 30 - RemoteSocketServiceError_SYS_EMLINK RemoteSocketServiceError_SystemError = 31 - RemoteSocketServiceError_SYS_EPIPE RemoteSocketServiceError_SystemError = 32 - RemoteSocketServiceError_SYS_EDOM RemoteSocketServiceError_SystemError = 33 - RemoteSocketServiceError_SYS_ERANGE RemoteSocketServiceError_SystemError = 34 - RemoteSocketServiceError_SYS_EDEADLK RemoteSocketServiceError_SystemError = 35 - RemoteSocketServiceError_SYS_EDEADLOCK RemoteSocketServiceError_SystemError = 35 - RemoteSocketServiceError_SYS_ENAMETOOLONG RemoteSocketServiceError_SystemError = 36 - RemoteSocketServiceError_SYS_ENOLCK RemoteSocketServiceError_SystemError = 37 - RemoteSocketServiceError_SYS_ENOSYS RemoteSocketServiceError_SystemError = 38 - RemoteSocketServiceError_SYS_ENOTEMPTY RemoteSocketServiceError_SystemError = 39 - RemoteSocketServiceError_SYS_ELOOP RemoteSocketServiceError_SystemError = 40 - RemoteSocketServiceError_SYS_ENOMSG RemoteSocketServiceError_SystemError = 42 - RemoteSocketServiceError_SYS_EIDRM RemoteSocketServiceError_SystemError = 43 - RemoteSocketServiceError_SYS_ECHRNG RemoteSocketServiceError_SystemError = 44 - RemoteSocketServiceError_SYS_EL2NSYNC RemoteSocketServiceError_SystemError = 45 - RemoteSocketServiceError_SYS_EL3HLT RemoteSocketServiceError_SystemError = 46 - RemoteSocketServiceError_SYS_EL3RST RemoteSocketServiceError_SystemError = 47 - RemoteSocketServiceError_SYS_ELNRNG RemoteSocketServiceError_SystemError = 48 - RemoteSocketServiceError_SYS_EUNATCH RemoteSocketServiceError_SystemError = 49 - RemoteSocketServiceError_SYS_ENOCSI RemoteSocketServiceError_SystemError = 50 - RemoteSocketServiceError_SYS_EL2HLT RemoteSocketServiceError_SystemError = 51 - RemoteSocketServiceError_SYS_EBADE RemoteSocketServiceError_SystemError = 52 - RemoteSocketServiceError_SYS_EBADR RemoteSocketServiceError_SystemError = 53 - RemoteSocketServiceError_SYS_EXFULL RemoteSocketServiceError_SystemError = 54 - RemoteSocketServiceError_SYS_ENOANO RemoteSocketServiceError_SystemError = 55 - RemoteSocketServiceError_SYS_EBADRQC RemoteSocketServiceError_SystemError = 56 - RemoteSocketServiceError_SYS_EBADSLT RemoteSocketServiceError_SystemError = 57 - RemoteSocketServiceError_SYS_EBFONT RemoteSocketServiceError_SystemError = 59 - RemoteSocketServiceError_SYS_ENOSTR RemoteSocketServiceError_SystemError = 60 - RemoteSocketServiceError_SYS_ENODATA RemoteSocketServiceError_SystemError = 61 - RemoteSocketServiceError_SYS_ETIME RemoteSocketServiceError_SystemError = 62 - RemoteSocketServiceError_SYS_ENOSR RemoteSocketServiceError_SystemError = 63 - RemoteSocketServiceError_SYS_ENONET RemoteSocketServiceError_SystemError = 64 - RemoteSocketServiceError_SYS_ENOPKG RemoteSocketServiceError_SystemError = 65 - RemoteSocketServiceError_SYS_EREMOTE RemoteSocketServiceError_SystemError = 66 - RemoteSocketServiceError_SYS_ENOLINK RemoteSocketServiceError_SystemError = 67 - RemoteSocketServiceError_SYS_EADV RemoteSocketServiceError_SystemError = 68 - RemoteSocketServiceError_SYS_ESRMNT RemoteSocketServiceError_SystemError = 69 - RemoteSocketServiceError_SYS_ECOMM RemoteSocketServiceError_SystemError = 70 - RemoteSocketServiceError_SYS_EPROTO RemoteSocketServiceError_SystemError = 71 - RemoteSocketServiceError_SYS_EMULTIHOP RemoteSocketServiceError_SystemError = 72 - RemoteSocketServiceError_SYS_EDOTDOT RemoteSocketServiceError_SystemError = 73 - RemoteSocketServiceError_SYS_EBADMSG RemoteSocketServiceError_SystemError = 74 - RemoteSocketServiceError_SYS_EOVERFLOW RemoteSocketServiceError_SystemError = 75 - RemoteSocketServiceError_SYS_ENOTUNIQ RemoteSocketServiceError_SystemError = 76 - RemoteSocketServiceError_SYS_EBADFD RemoteSocketServiceError_SystemError = 77 - RemoteSocketServiceError_SYS_EREMCHG RemoteSocketServiceError_SystemError = 78 - RemoteSocketServiceError_SYS_ELIBACC RemoteSocketServiceError_SystemError = 79 - RemoteSocketServiceError_SYS_ELIBBAD RemoteSocketServiceError_SystemError = 80 - RemoteSocketServiceError_SYS_ELIBSCN RemoteSocketServiceError_SystemError = 81 - RemoteSocketServiceError_SYS_ELIBMAX RemoteSocketServiceError_SystemError = 82 - RemoteSocketServiceError_SYS_ELIBEXEC RemoteSocketServiceError_SystemError = 83 - RemoteSocketServiceError_SYS_EILSEQ RemoteSocketServiceError_SystemError = 84 - RemoteSocketServiceError_SYS_ERESTART RemoteSocketServiceError_SystemError = 85 - RemoteSocketServiceError_SYS_ESTRPIPE RemoteSocketServiceError_SystemError = 86 - RemoteSocketServiceError_SYS_EUSERS RemoteSocketServiceError_SystemError = 87 - RemoteSocketServiceError_SYS_ENOTSOCK RemoteSocketServiceError_SystemError = 88 - RemoteSocketServiceError_SYS_EDESTADDRREQ RemoteSocketServiceError_SystemError = 89 - RemoteSocketServiceError_SYS_EMSGSIZE RemoteSocketServiceError_SystemError = 90 - RemoteSocketServiceError_SYS_EPROTOTYPE RemoteSocketServiceError_SystemError = 91 - RemoteSocketServiceError_SYS_ENOPROTOOPT RemoteSocketServiceError_SystemError = 92 - RemoteSocketServiceError_SYS_EPROTONOSUPPORT RemoteSocketServiceError_SystemError = 93 - RemoteSocketServiceError_SYS_ESOCKTNOSUPPORT RemoteSocketServiceError_SystemError = 94 - RemoteSocketServiceError_SYS_EOPNOTSUPP RemoteSocketServiceError_SystemError = 95 - RemoteSocketServiceError_SYS_ENOTSUP RemoteSocketServiceError_SystemError = 95 - RemoteSocketServiceError_SYS_EPFNOSUPPORT RemoteSocketServiceError_SystemError = 96 - RemoteSocketServiceError_SYS_EAFNOSUPPORT RemoteSocketServiceError_SystemError = 97 - RemoteSocketServiceError_SYS_EADDRINUSE RemoteSocketServiceError_SystemError = 98 - RemoteSocketServiceError_SYS_EADDRNOTAVAIL RemoteSocketServiceError_SystemError = 99 - RemoteSocketServiceError_SYS_ENETDOWN RemoteSocketServiceError_SystemError = 100 - RemoteSocketServiceError_SYS_ENETUNREACH RemoteSocketServiceError_SystemError = 101 - RemoteSocketServiceError_SYS_ENETRESET RemoteSocketServiceError_SystemError = 102 - RemoteSocketServiceError_SYS_ECONNABORTED RemoteSocketServiceError_SystemError = 103 - RemoteSocketServiceError_SYS_ECONNRESET RemoteSocketServiceError_SystemError = 104 - RemoteSocketServiceError_SYS_ENOBUFS RemoteSocketServiceError_SystemError = 105 - RemoteSocketServiceError_SYS_EISCONN RemoteSocketServiceError_SystemError = 106 - RemoteSocketServiceError_SYS_ENOTCONN RemoteSocketServiceError_SystemError = 107 - RemoteSocketServiceError_SYS_ESHUTDOWN RemoteSocketServiceError_SystemError = 108 - RemoteSocketServiceError_SYS_ETOOMANYREFS RemoteSocketServiceError_SystemError = 109 - RemoteSocketServiceError_SYS_ETIMEDOUT RemoteSocketServiceError_SystemError = 110 - RemoteSocketServiceError_SYS_ECONNREFUSED RemoteSocketServiceError_SystemError = 111 - RemoteSocketServiceError_SYS_EHOSTDOWN RemoteSocketServiceError_SystemError = 112 - RemoteSocketServiceError_SYS_EHOSTUNREACH RemoteSocketServiceError_SystemError = 113 - RemoteSocketServiceError_SYS_EALREADY RemoteSocketServiceError_SystemError = 114 - RemoteSocketServiceError_SYS_EINPROGRESS RemoteSocketServiceError_SystemError = 115 - RemoteSocketServiceError_SYS_ESTALE RemoteSocketServiceError_SystemError = 116 - RemoteSocketServiceError_SYS_EUCLEAN RemoteSocketServiceError_SystemError = 117 - RemoteSocketServiceError_SYS_ENOTNAM RemoteSocketServiceError_SystemError = 118 - RemoteSocketServiceError_SYS_ENAVAIL RemoteSocketServiceError_SystemError = 119 - RemoteSocketServiceError_SYS_EISNAM RemoteSocketServiceError_SystemError = 120 - RemoteSocketServiceError_SYS_EREMOTEIO RemoteSocketServiceError_SystemError = 121 - RemoteSocketServiceError_SYS_EDQUOT RemoteSocketServiceError_SystemError = 122 - RemoteSocketServiceError_SYS_ENOMEDIUM RemoteSocketServiceError_SystemError = 123 - RemoteSocketServiceError_SYS_EMEDIUMTYPE RemoteSocketServiceError_SystemError = 124 - RemoteSocketServiceError_SYS_ECANCELED RemoteSocketServiceError_SystemError = 125 - RemoteSocketServiceError_SYS_ENOKEY RemoteSocketServiceError_SystemError = 126 - RemoteSocketServiceError_SYS_EKEYEXPIRED RemoteSocketServiceError_SystemError = 127 - RemoteSocketServiceError_SYS_EKEYREVOKED RemoteSocketServiceError_SystemError = 128 - RemoteSocketServiceError_SYS_EKEYREJECTED RemoteSocketServiceError_SystemError = 129 - RemoteSocketServiceError_SYS_EOWNERDEAD RemoteSocketServiceError_SystemError = 130 - RemoteSocketServiceError_SYS_ENOTRECOVERABLE RemoteSocketServiceError_SystemError = 131 - RemoteSocketServiceError_SYS_ERFKILL RemoteSocketServiceError_SystemError = 132 -) - -var RemoteSocketServiceError_SystemError_name = map[int32]string{ - 0: "SYS_SUCCESS", - 1: "SYS_EPERM", - 2: "SYS_ENOENT", - 3: "SYS_ESRCH", - 4: "SYS_EINTR", - 5: "SYS_EIO", - 6: "SYS_ENXIO", - 7: "SYS_E2BIG", - 8: "SYS_ENOEXEC", - 9: "SYS_EBADF", - 10: "SYS_ECHILD", - 11: "SYS_EAGAIN", - // Duplicate value: 11: "SYS_EWOULDBLOCK", - 12: "SYS_ENOMEM", - 13: "SYS_EACCES", - 14: "SYS_EFAULT", - 15: "SYS_ENOTBLK", - 16: "SYS_EBUSY", - 17: "SYS_EEXIST", - 18: "SYS_EXDEV", - 19: "SYS_ENODEV", - 20: "SYS_ENOTDIR", - 21: "SYS_EISDIR", - 22: "SYS_EINVAL", - 23: "SYS_ENFILE", - 24: "SYS_EMFILE", - 25: "SYS_ENOTTY", - 26: "SYS_ETXTBSY", - 27: "SYS_EFBIG", - 28: "SYS_ENOSPC", - 29: "SYS_ESPIPE", - 30: "SYS_EROFS", - 31: "SYS_EMLINK", - 32: "SYS_EPIPE", - 33: "SYS_EDOM", - 34: "SYS_ERANGE", - 35: "SYS_EDEADLK", - // Duplicate value: 35: "SYS_EDEADLOCK", - 36: "SYS_ENAMETOOLONG", - 37: "SYS_ENOLCK", - 38: "SYS_ENOSYS", - 39: "SYS_ENOTEMPTY", - 40: "SYS_ELOOP", - 42: "SYS_ENOMSG", - 43: "SYS_EIDRM", - 44: "SYS_ECHRNG", - 45: "SYS_EL2NSYNC", - 46: "SYS_EL3HLT", - 47: "SYS_EL3RST", - 48: "SYS_ELNRNG", - 49: "SYS_EUNATCH", - 50: "SYS_ENOCSI", - 51: "SYS_EL2HLT", - 52: "SYS_EBADE", - 53: "SYS_EBADR", - 54: "SYS_EXFULL", - 55: "SYS_ENOANO", - 56: "SYS_EBADRQC", - 57: "SYS_EBADSLT", - 59: "SYS_EBFONT", - 60: "SYS_ENOSTR", - 61: "SYS_ENODATA", - 62: "SYS_ETIME", - 63: "SYS_ENOSR", - 64: "SYS_ENONET", - 65: "SYS_ENOPKG", - 66: "SYS_EREMOTE", - 67: "SYS_ENOLINK", - 68: "SYS_EADV", - 69: "SYS_ESRMNT", - 70: "SYS_ECOMM", - 71: "SYS_EPROTO", - 72: "SYS_EMULTIHOP", - 73: "SYS_EDOTDOT", - 74: "SYS_EBADMSG", - 75: "SYS_EOVERFLOW", - 76: "SYS_ENOTUNIQ", - 77: "SYS_EBADFD", - 78: "SYS_EREMCHG", - 79: "SYS_ELIBACC", - 80: "SYS_ELIBBAD", - 81: "SYS_ELIBSCN", - 82: "SYS_ELIBMAX", - 83: "SYS_ELIBEXEC", - 84: "SYS_EILSEQ", - 85: "SYS_ERESTART", - 86: "SYS_ESTRPIPE", - 87: "SYS_EUSERS", - 88: "SYS_ENOTSOCK", - 89: "SYS_EDESTADDRREQ", - 90: "SYS_EMSGSIZE", - 91: "SYS_EPROTOTYPE", - 92: "SYS_ENOPROTOOPT", - 93: "SYS_EPROTONOSUPPORT", - 94: "SYS_ESOCKTNOSUPPORT", - 95: "SYS_EOPNOTSUPP", - // Duplicate value: 95: "SYS_ENOTSUP", - 96: "SYS_EPFNOSUPPORT", - 97: "SYS_EAFNOSUPPORT", - 98: "SYS_EADDRINUSE", - 99: "SYS_EADDRNOTAVAIL", - 100: "SYS_ENETDOWN", - 101: "SYS_ENETUNREACH", - 102: "SYS_ENETRESET", - 103: "SYS_ECONNABORTED", - 104: "SYS_ECONNRESET", - 105: "SYS_ENOBUFS", - 106: "SYS_EISCONN", - 107: "SYS_ENOTCONN", - 108: "SYS_ESHUTDOWN", - 109: "SYS_ETOOMANYREFS", - 110: "SYS_ETIMEDOUT", - 111: "SYS_ECONNREFUSED", - 112: "SYS_EHOSTDOWN", - 113: "SYS_EHOSTUNREACH", - 114: "SYS_EALREADY", - 115: "SYS_EINPROGRESS", - 116: "SYS_ESTALE", - 117: "SYS_EUCLEAN", - 118: "SYS_ENOTNAM", - 119: "SYS_ENAVAIL", - 120: "SYS_EISNAM", - 121: "SYS_EREMOTEIO", - 122: "SYS_EDQUOT", - 123: "SYS_ENOMEDIUM", - 124: "SYS_EMEDIUMTYPE", - 125: "SYS_ECANCELED", - 126: "SYS_ENOKEY", - 127: "SYS_EKEYEXPIRED", - 128: "SYS_EKEYREVOKED", - 129: "SYS_EKEYREJECTED", - 130: "SYS_EOWNERDEAD", - 131: "SYS_ENOTRECOVERABLE", - 132: "SYS_ERFKILL", -} -var RemoteSocketServiceError_SystemError_value = map[string]int32{ - "SYS_SUCCESS": 0, - "SYS_EPERM": 1, - "SYS_ENOENT": 2, - "SYS_ESRCH": 3, - "SYS_EINTR": 4, - "SYS_EIO": 5, - "SYS_ENXIO": 6, - "SYS_E2BIG": 7, - "SYS_ENOEXEC": 8, - "SYS_EBADF": 9, - "SYS_ECHILD": 10, - "SYS_EAGAIN": 11, - "SYS_EWOULDBLOCK": 11, - "SYS_ENOMEM": 12, - "SYS_EACCES": 13, - "SYS_EFAULT": 14, - "SYS_ENOTBLK": 15, - "SYS_EBUSY": 16, - "SYS_EEXIST": 17, - "SYS_EXDEV": 18, - "SYS_ENODEV": 19, - "SYS_ENOTDIR": 20, - "SYS_EISDIR": 21, - "SYS_EINVAL": 22, - "SYS_ENFILE": 23, - "SYS_EMFILE": 24, - "SYS_ENOTTY": 25, - "SYS_ETXTBSY": 26, - "SYS_EFBIG": 27, - "SYS_ENOSPC": 28, - "SYS_ESPIPE": 29, - "SYS_EROFS": 30, - "SYS_EMLINK": 31, - "SYS_EPIPE": 32, - "SYS_EDOM": 33, - "SYS_ERANGE": 34, - "SYS_EDEADLK": 35, - "SYS_EDEADLOCK": 35, - "SYS_ENAMETOOLONG": 36, - "SYS_ENOLCK": 37, - "SYS_ENOSYS": 38, - "SYS_ENOTEMPTY": 39, - "SYS_ELOOP": 40, - "SYS_ENOMSG": 42, - "SYS_EIDRM": 43, - "SYS_ECHRNG": 44, - "SYS_EL2NSYNC": 45, - "SYS_EL3HLT": 46, - "SYS_EL3RST": 47, - "SYS_ELNRNG": 48, - "SYS_EUNATCH": 49, - "SYS_ENOCSI": 50, - "SYS_EL2HLT": 51, - "SYS_EBADE": 52, - "SYS_EBADR": 53, - "SYS_EXFULL": 54, - "SYS_ENOANO": 55, - "SYS_EBADRQC": 56, - "SYS_EBADSLT": 57, - "SYS_EBFONT": 59, - "SYS_ENOSTR": 60, - "SYS_ENODATA": 61, - "SYS_ETIME": 62, - "SYS_ENOSR": 63, - "SYS_ENONET": 64, - "SYS_ENOPKG": 65, - "SYS_EREMOTE": 66, - "SYS_ENOLINK": 67, - "SYS_EADV": 68, - "SYS_ESRMNT": 69, - "SYS_ECOMM": 70, - "SYS_EPROTO": 71, - "SYS_EMULTIHOP": 72, - "SYS_EDOTDOT": 73, - "SYS_EBADMSG": 74, - "SYS_EOVERFLOW": 75, - "SYS_ENOTUNIQ": 76, - "SYS_EBADFD": 77, - "SYS_EREMCHG": 78, - "SYS_ELIBACC": 79, - "SYS_ELIBBAD": 80, - "SYS_ELIBSCN": 81, - "SYS_ELIBMAX": 82, - "SYS_ELIBEXEC": 83, - "SYS_EILSEQ": 84, - "SYS_ERESTART": 85, - "SYS_ESTRPIPE": 86, - "SYS_EUSERS": 87, - "SYS_ENOTSOCK": 88, - "SYS_EDESTADDRREQ": 89, - "SYS_EMSGSIZE": 90, - "SYS_EPROTOTYPE": 91, - "SYS_ENOPROTOOPT": 92, - "SYS_EPROTONOSUPPORT": 93, - "SYS_ESOCKTNOSUPPORT": 94, - "SYS_EOPNOTSUPP": 95, - "SYS_ENOTSUP": 95, - "SYS_EPFNOSUPPORT": 96, - "SYS_EAFNOSUPPORT": 97, - "SYS_EADDRINUSE": 98, - "SYS_EADDRNOTAVAIL": 99, - "SYS_ENETDOWN": 100, - "SYS_ENETUNREACH": 101, - "SYS_ENETRESET": 102, - "SYS_ECONNABORTED": 103, - "SYS_ECONNRESET": 104, - "SYS_ENOBUFS": 105, - "SYS_EISCONN": 106, - "SYS_ENOTCONN": 107, - "SYS_ESHUTDOWN": 108, - "SYS_ETOOMANYREFS": 109, - "SYS_ETIMEDOUT": 110, - "SYS_ECONNREFUSED": 111, - "SYS_EHOSTDOWN": 112, - "SYS_EHOSTUNREACH": 113, - "SYS_EALREADY": 114, - "SYS_EINPROGRESS": 115, - "SYS_ESTALE": 116, - "SYS_EUCLEAN": 117, - "SYS_ENOTNAM": 118, - "SYS_ENAVAIL": 119, - "SYS_EISNAM": 120, - "SYS_EREMOTEIO": 121, - "SYS_EDQUOT": 122, - "SYS_ENOMEDIUM": 123, - "SYS_EMEDIUMTYPE": 124, - "SYS_ECANCELED": 125, - "SYS_ENOKEY": 126, - "SYS_EKEYEXPIRED": 127, - "SYS_EKEYREVOKED": 128, - "SYS_EKEYREJECTED": 129, - "SYS_EOWNERDEAD": 130, - "SYS_ENOTRECOVERABLE": 131, - "SYS_ERFKILL": 132, -} - -func (x RemoteSocketServiceError_SystemError) Enum() *RemoteSocketServiceError_SystemError { - p := new(RemoteSocketServiceError_SystemError) - *p = x - return p -} -func (x RemoteSocketServiceError_SystemError) String() string { - return proto.EnumName(RemoteSocketServiceError_SystemError_name, int32(x)) -} -func (x *RemoteSocketServiceError_SystemError) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(RemoteSocketServiceError_SystemError_value, data, "RemoteSocketServiceError_SystemError") - if err != nil { - return err - } - *x = RemoteSocketServiceError_SystemError(value) - return nil -} - -type CreateSocketRequest_SocketFamily int32 - -const ( - CreateSocketRequest_IPv4 CreateSocketRequest_SocketFamily = 1 - CreateSocketRequest_IPv6 CreateSocketRequest_SocketFamily = 2 -) - -var CreateSocketRequest_SocketFamily_name = map[int32]string{ - 1: "IPv4", - 2: "IPv6", -} -var CreateSocketRequest_SocketFamily_value = map[string]int32{ - "IPv4": 1, - "IPv6": 2, -} - -func (x CreateSocketRequest_SocketFamily) Enum() *CreateSocketRequest_SocketFamily { - p := new(CreateSocketRequest_SocketFamily) - *p = x - return p -} -func (x CreateSocketRequest_SocketFamily) String() string { - return proto.EnumName(CreateSocketRequest_SocketFamily_name, int32(x)) -} -func (x *CreateSocketRequest_SocketFamily) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(CreateSocketRequest_SocketFamily_value, data, "CreateSocketRequest_SocketFamily") - if err != nil { - return err - } - *x = CreateSocketRequest_SocketFamily(value) - return nil -} - -type CreateSocketRequest_SocketProtocol int32 - -const ( - CreateSocketRequest_TCP CreateSocketRequest_SocketProtocol = 1 - CreateSocketRequest_UDP CreateSocketRequest_SocketProtocol = 2 -) - -var CreateSocketRequest_SocketProtocol_name = map[int32]string{ - 1: "TCP", - 2: "UDP", -} -var CreateSocketRequest_SocketProtocol_value = map[string]int32{ - "TCP": 1, - "UDP": 2, -} - -func (x CreateSocketRequest_SocketProtocol) Enum() *CreateSocketRequest_SocketProtocol { - p := new(CreateSocketRequest_SocketProtocol) - *p = x - return p -} -func (x CreateSocketRequest_SocketProtocol) String() string { - return proto.EnumName(CreateSocketRequest_SocketProtocol_name, int32(x)) -} -func (x *CreateSocketRequest_SocketProtocol) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(CreateSocketRequest_SocketProtocol_value, data, "CreateSocketRequest_SocketProtocol") - if err != nil { - return err - } - *x = CreateSocketRequest_SocketProtocol(value) - return nil -} - -type SocketOption_SocketOptionLevel int32 - -const ( - SocketOption_SOCKET_SOL_IP SocketOption_SocketOptionLevel = 0 - SocketOption_SOCKET_SOL_SOCKET SocketOption_SocketOptionLevel = 1 - SocketOption_SOCKET_SOL_TCP SocketOption_SocketOptionLevel = 6 - SocketOption_SOCKET_SOL_UDP SocketOption_SocketOptionLevel = 17 -) - -var SocketOption_SocketOptionLevel_name = map[int32]string{ - 0: "SOCKET_SOL_IP", - 1: "SOCKET_SOL_SOCKET", - 6: "SOCKET_SOL_TCP", - 17: "SOCKET_SOL_UDP", -} -var SocketOption_SocketOptionLevel_value = map[string]int32{ - "SOCKET_SOL_IP": 0, - "SOCKET_SOL_SOCKET": 1, - "SOCKET_SOL_TCP": 6, - "SOCKET_SOL_UDP": 17, -} - -func (x SocketOption_SocketOptionLevel) Enum() *SocketOption_SocketOptionLevel { - p := new(SocketOption_SocketOptionLevel) - *p = x - return p -} -func (x SocketOption_SocketOptionLevel) String() string { - return proto.EnumName(SocketOption_SocketOptionLevel_name, int32(x)) -} -func (x *SocketOption_SocketOptionLevel) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(SocketOption_SocketOptionLevel_value, data, "SocketOption_SocketOptionLevel") - if err != nil { - return err - } - *x = SocketOption_SocketOptionLevel(value) - return nil -} - -type SocketOption_SocketOptionName int32 - -const ( - SocketOption_SOCKET_SO_DEBUG SocketOption_SocketOptionName = 1 - SocketOption_SOCKET_SO_REUSEADDR SocketOption_SocketOptionName = 2 - SocketOption_SOCKET_SO_TYPE SocketOption_SocketOptionName = 3 - SocketOption_SOCKET_SO_ERROR SocketOption_SocketOptionName = 4 - SocketOption_SOCKET_SO_DONTROUTE SocketOption_SocketOptionName = 5 - SocketOption_SOCKET_SO_BROADCAST SocketOption_SocketOptionName = 6 - SocketOption_SOCKET_SO_SNDBUF SocketOption_SocketOptionName = 7 - SocketOption_SOCKET_SO_RCVBUF SocketOption_SocketOptionName = 8 - SocketOption_SOCKET_SO_KEEPALIVE SocketOption_SocketOptionName = 9 - SocketOption_SOCKET_SO_OOBINLINE SocketOption_SocketOptionName = 10 - SocketOption_SOCKET_SO_LINGER SocketOption_SocketOptionName = 13 - SocketOption_SOCKET_SO_RCVTIMEO SocketOption_SocketOptionName = 20 - SocketOption_SOCKET_SO_SNDTIMEO SocketOption_SocketOptionName = 21 - SocketOption_SOCKET_IP_TOS SocketOption_SocketOptionName = 1 - SocketOption_SOCKET_IP_TTL SocketOption_SocketOptionName = 2 - SocketOption_SOCKET_IP_HDRINCL SocketOption_SocketOptionName = 3 - SocketOption_SOCKET_IP_OPTIONS SocketOption_SocketOptionName = 4 - SocketOption_SOCKET_TCP_NODELAY SocketOption_SocketOptionName = 1 - SocketOption_SOCKET_TCP_MAXSEG SocketOption_SocketOptionName = 2 - SocketOption_SOCKET_TCP_CORK SocketOption_SocketOptionName = 3 - SocketOption_SOCKET_TCP_KEEPIDLE SocketOption_SocketOptionName = 4 - SocketOption_SOCKET_TCP_KEEPINTVL SocketOption_SocketOptionName = 5 - SocketOption_SOCKET_TCP_KEEPCNT SocketOption_SocketOptionName = 6 - SocketOption_SOCKET_TCP_SYNCNT SocketOption_SocketOptionName = 7 - SocketOption_SOCKET_TCP_LINGER2 SocketOption_SocketOptionName = 8 - SocketOption_SOCKET_TCP_DEFER_ACCEPT SocketOption_SocketOptionName = 9 - SocketOption_SOCKET_TCP_WINDOW_CLAMP SocketOption_SocketOptionName = 10 - SocketOption_SOCKET_TCP_INFO SocketOption_SocketOptionName = 11 - SocketOption_SOCKET_TCP_QUICKACK SocketOption_SocketOptionName = 12 -) - -var SocketOption_SocketOptionName_name = map[int32]string{ - 1: "SOCKET_SO_DEBUG", - 2: "SOCKET_SO_REUSEADDR", - 3: "SOCKET_SO_TYPE", - 4: "SOCKET_SO_ERROR", - 5: "SOCKET_SO_DONTROUTE", - 6: "SOCKET_SO_BROADCAST", - 7: "SOCKET_SO_SNDBUF", - 8: "SOCKET_SO_RCVBUF", - 9: "SOCKET_SO_KEEPALIVE", - 10: "SOCKET_SO_OOBINLINE", - 13: "SOCKET_SO_LINGER", - 20: "SOCKET_SO_RCVTIMEO", - 21: "SOCKET_SO_SNDTIMEO", - // Duplicate value: 1: "SOCKET_IP_TOS", - // Duplicate value: 2: "SOCKET_IP_TTL", - // Duplicate value: 3: "SOCKET_IP_HDRINCL", - // Duplicate value: 4: "SOCKET_IP_OPTIONS", - // Duplicate value: 1: "SOCKET_TCP_NODELAY", - // Duplicate value: 2: "SOCKET_TCP_MAXSEG", - // Duplicate value: 3: "SOCKET_TCP_CORK", - // Duplicate value: 4: "SOCKET_TCP_KEEPIDLE", - // Duplicate value: 5: "SOCKET_TCP_KEEPINTVL", - // Duplicate value: 6: "SOCKET_TCP_KEEPCNT", - // Duplicate value: 7: "SOCKET_TCP_SYNCNT", - // Duplicate value: 8: "SOCKET_TCP_LINGER2", - // Duplicate value: 9: "SOCKET_TCP_DEFER_ACCEPT", - // Duplicate value: 10: "SOCKET_TCP_WINDOW_CLAMP", - 11: "SOCKET_TCP_INFO", - 12: "SOCKET_TCP_QUICKACK", -} -var SocketOption_SocketOptionName_value = map[string]int32{ - "SOCKET_SO_DEBUG": 1, - "SOCKET_SO_REUSEADDR": 2, - "SOCKET_SO_TYPE": 3, - "SOCKET_SO_ERROR": 4, - "SOCKET_SO_DONTROUTE": 5, - "SOCKET_SO_BROADCAST": 6, - "SOCKET_SO_SNDBUF": 7, - "SOCKET_SO_RCVBUF": 8, - "SOCKET_SO_KEEPALIVE": 9, - "SOCKET_SO_OOBINLINE": 10, - "SOCKET_SO_LINGER": 13, - "SOCKET_SO_RCVTIMEO": 20, - "SOCKET_SO_SNDTIMEO": 21, - "SOCKET_IP_TOS": 1, - "SOCKET_IP_TTL": 2, - "SOCKET_IP_HDRINCL": 3, - "SOCKET_IP_OPTIONS": 4, - "SOCKET_TCP_NODELAY": 1, - "SOCKET_TCP_MAXSEG": 2, - "SOCKET_TCP_CORK": 3, - "SOCKET_TCP_KEEPIDLE": 4, - "SOCKET_TCP_KEEPINTVL": 5, - "SOCKET_TCP_KEEPCNT": 6, - "SOCKET_TCP_SYNCNT": 7, - "SOCKET_TCP_LINGER2": 8, - "SOCKET_TCP_DEFER_ACCEPT": 9, - "SOCKET_TCP_WINDOW_CLAMP": 10, - "SOCKET_TCP_INFO": 11, - "SOCKET_TCP_QUICKACK": 12, -} - -func (x SocketOption_SocketOptionName) Enum() *SocketOption_SocketOptionName { - p := new(SocketOption_SocketOptionName) - *p = x - return p -} -func (x SocketOption_SocketOptionName) String() string { - return proto.EnumName(SocketOption_SocketOptionName_name, int32(x)) -} -func (x *SocketOption_SocketOptionName) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(SocketOption_SocketOptionName_value, data, "SocketOption_SocketOptionName") - if err != nil { - return err - } - *x = SocketOption_SocketOptionName(value) - return nil -} - -type ShutDownRequest_How int32 - -const ( - ShutDownRequest_SOCKET_SHUT_RD ShutDownRequest_How = 1 - ShutDownRequest_SOCKET_SHUT_WR ShutDownRequest_How = 2 - ShutDownRequest_SOCKET_SHUT_RDWR ShutDownRequest_How = 3 -) - -var ShutDownRequest_How_name = map[int32]string{ - 1: "SOCKET_SHUT_RD", - 2: "SOCKET_SHUT_WR", - 3: "SOCKET_SHUT_RDWR", -} -var ShutDownRequest_How_value = map[string]int32{ - "SOCKET_SHUT_RD": 1, - "SOCKET_SHUT_WR": 2, - "SOCKET_SHUT_RDWR": 3, -} - -func (x ShutDownRequest_How) Enum() *ShutDownRequest_How { - p := new(ShutDownRequest_How) - *p = x - return p -} -func (x ShutDownRequest_How) String() string { - return proto.EnumName(ShutDownRequest_How_name, int32(x)) -} -func (x *ShutDownRequest_How) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ShutDownRequest_How_value, data, "ShutDownRequest_How") - if err != nil { - return err - } - *x = ShutDownRequest_How(value) - return nil -} - -type ReceiveRequest_Flags int32 - -const ( - ReceiveRequest_MSG_OOB ReceiveRequest_Flags = 1 - ReceiveRequest_MSG_PEEK ReceiveRequest_Flags = 2 -) - -var ReceiveRequest_Flags_name = map[int32]string{ - 1: "MSG_OOB", - 2: "MSG_PEEK", -} -var ReceiveRequest_Flags_value = map[string]int32{ - "MSG_OOB": 1, - "MSG_PEEK": 2, -} - -func (x ReceiveRequest_Flags) Enum() *ReceiveRequest_Flags { - p := new(ReceiveRequest_Flags) - *p = x - return p -} -func (x ReceiveRequest_Flags) String() string { - return proto.EnumName(ReceiveRequest_Flags_name, int32(x)) -} -func (x *ReceiveRequest_Flags) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ReceiveRequest_Flags_value, data, "ReceiveRequest_Flags") - if err != nil { - return err - } - *x = ReceiveRequest_Flags(value) - return nil -} - -type PollEvent_PollEventFlag int32 - -const ( - PollEvent_SOCKET_POLLNONE PollEvent_PollEventFlag = 0 - PollEvent_SOCKET_POLLIN PollEvent_PollEventFlag = 1 - PollEvent_SOCKET_POLLPRI PollEvent_PollEventFlag = 2 - PollEvent_SOCKET_POLLOUT PollEvent_PollEventFlag = 4 - PollEvent_SOCKET_POLLERR PollEvent_PollEventFlag = 8 - PollEvent_SOCKET_POLLHUP PollEvent_PollEventFlag = 16 - PollEvent_SOCKET_POLLNVAL PollEvent_PollEventFlag = 32 - PollEvent_SOCKET_POLLRDNORM PollEvent_PollEventFlag = 64 - PollEvent_SOCKET_POLLRDBAND PollEvent_PollEventFlag = 128 - PollEvent_SOCKET_POLLWRNORM PollEvent_PollEventFlag = 256 - PollEvent_SOCKET_POLLWRBAND PollEvent_PollEventFlag = 512 - PollEvent_SOCKET_POLLMSG PollEvent_PollEventFlag = 1024 - PollEvent_SOCKET_POLLREMOVE PollEvent_PollEventFlag = 4096 - PollEvent_SOCKET_POLLRDHUP PollEvent_PollEventFlag = 8192 -) - -var PollEvent_PollEventFlag_name = map[int32]string{ - 0: "SOCKET_POLLNONE", - 1: "SOCKET_POLLIN", - 2: "SOCKET_POLLPRI", - 4: "SOCKET_POLLOUT", - 8: "SOCKET_POLLERR", - 16: "SOCKET_POLLHUP", - 32: "SOCKET_POLLNVAL", - 64: "SOCKET_POLLRDNORM", - 128: "SOCKET_POLLRDBAND", - 256: "SOCKET_POLLWRNORM", - 512: "SOCKET_POLLWRBAND", - 1024: "SOCKET_POLLMSG", - 4096: "SOCKET_POLLREMOVE", - 8192: "SOCKET_POLLRDHUP", -} -var PollEvent_PollEventFlag_value = map[string]int32{ - "SOCKET_POLLNONE": 0, - "SOCKET_POLLIN": 1, - "SOCKET_POLLPRI": 2, - "SOCKET_POLLOUT": 4, - "SOCKET_POLLERR": 8, - "SOCKET_POLLHUP": 16, - "SOCKET_POLLNVAL": 32, - "SOCKET_POLLRDNORM": 64, - "SOCKET_POLLRDBAND": 128, - "SOCKET_POLLWRNORM": 256, - "SOCKET_POLLWRBAND": 512, - "SOCKET_POLLMSG": 1024, - "SOCKET_POLLREMOVE": 4096, - "SOCKET_POLLRDHUP": 8192, -} - -func (x PollEvent_PollEventFlag) Enum() *PollEvent_PollEventFlag { - p := new(PollEvent_PollEventFlag) - *p = x - return p -} -func (x PollEvent_PollEventFlag) String() string { - return proto.EnumName(PollEvent_PollEventFlag_name, int32(x)) -} -func (x *PollEvent_PollEventFlag) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(PollEvent_PollEventFlag_value, data, "PollEvent_PollEventFlag") - if err != nil { - return err - } - *x = PollEvent_PollEventFlag(value) - return nil -} - -type ResolveReply_ErrorCode int32 - -const ( - ResolveReply_SOCKET_EAI_ADDRFAMILY ResolveReply_ErrorCode = 1 - ResolveReply_SOCKET_EAI_AGAIN ResolveReply_ErrorCode = 2 - ResolveReply_SOCKET_EAI_BADFLAGS ResolveReply_ErrorCode = 3 - ResolveReply_SOCKET_EAI_FAIL ResolveReply_ErrorCode = 4 - ResolveReply_SOCKET_EAI_FAMILY ResolveReply_ErrorCode = 5 - ResolveReply_SOCKET_EAI_MEMORY ResolveReply_ErrorCode = 6 - ResolveReply_SOCKET_EAI_NODATA ResolveReply_ErrorCode = 7 - ResolveReply_SOCKET_EAI_NONAME ResolveReply_ErrorCode = 8 - ResolveReply_SOCKET_EAI_SERVICE ResolveReply_ErrorCode = 9 - ResolveReply_SOCKET_EAI_SOCKTYPE ResolveReply_ErrorCode = 10 - ResolveReply_SOCKET_EAI_SYSTEM ResolveReply_ErrorCode = 11 - ResolveReply_SOCKET_EAI_BADHINTS ResolveReply_ErrorCode = 12 - ResolveReply_SOCKET_EAI_PROTOCOL ResolveReply_ErrorCode = 13 - ResolveReply_SOCKET_EAI_OVERFLOW ResolveReply_ErrorCode = 14 - ResolveReply_SOCKET_EAI_MAX ResolveReply_ErrorCode = 15 -) - -var ResolveReply_ErrorCode_name = map[int32]string{ - 1: "SOCKET_EAI_ADDRFAMILY", - 2: "SOCKET_EAI_AGAIN", - 3: "SOCKET_EAI_BADFLAGS", - 4: "SOCKET_EAI_FAIL", - 5: "SOCKET_EAI_FAMILY", - 6: "SOCKET_EAI_MEMORY", - 7: "SOCKET_EAI_NODATA", - 8: "SOCKET_EAI_NONAME", - 9: "SOCKET_EAI_SERVICE", - 10: "SOCKET_EAI_SOCKTYPE", - 11: "SOCKET_EAI_SYSTEM", - 12: "SOCKET_EAI_BADHINTS", - 13: "SOCKET_EAI_PROTOCOL", - 14: "SOCKET_EAI_OVERFLOW", - 15: "SOCKET_EAI_MAX", -} -var ResolveReply_ErrorCode_value = map[string]int32{ - "SOCKET_EAI_ADDRFAMILY": 1, - "SOCKET_EAI_AGAIN": 2, - "SOCKET_EAI_BADFLAGS": 3, - "SOCKET_EAI_FAIL": 4, - "SOCKET_EAI_FAMILY": 5, - "SOCKET_EAI_MEMORY": 6, - "SOCKET_EAI_NODATA": 7, - "SOCKET_EAI_NONAME": 8, - "SOCKET_EAI_SERVICE": 9, - "SOCKET_EAI_SOCKTYPE": 10, - "SOCKET_EAI_SYSTEM": 11, - "SOCKET_EAI_BADHINTS": 12, - "SOCKET_EAI_PROTOCOL": 13, - "SOCKET_EAI_OVERFLOW": 14, - "SOCKET_EAI_MAX": 15, -} - -func (x ResolveReply_ErrorCode) Enum() *ResolveReply_ErrorCode { - p := new(ResolveReply_ErrorCode) - *p = x - return p -} -func (x ResolveReply_ErrorCode) String() string { - return proto.EnumName(ResolveReply_ErrorCode_name, int32(x)) -} -func (x *ResolveReply_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ResolveReply_ErrorCode_value, data, "ResolveReply_ErrorCode") - if err != nil { - return err - } - *x = ResolveReply_ErrorCode(value) - return nil -} - -type RemoteSocketServiceError struct { - SystemError *int32 `protobuf:"varint,1,opt,name=system_error,def=0" json:"system_error,omitempty"` - ErrorDetail *string `protobuf:"bytes,2,opt,name=error_detail" json:"error_detail,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RemoteSocketServiceError) Reset() { *m = RemoteSocketServiceError{} } -func (m *RemoteSocketServiceError) String() string { return proto.CompactTextString(m) } -func (*RemoteSocketServiceError) ProtoMessage() {} - -const Default_RemoteSocketServiceError_SystemError int32 = 0 - -func (m *RemoteSocketServiceError) GetSystemError() int32 { - if m != nil && m.SystemError != nil { - return *m.SystemError - } - return Default_RemoteSocketServiceError_SystemError -} - -func (m *RemoteSocketServiceError) GetErrorDetail() string { - if m != nil && m.ErrorDetail != nil { - return *m.ErrorDetail - } - return "" -} - -type AddressPort struct { - Port *int32 `protobuf:"varint,1,req,name=port" json:"port,omitempty"` - PackedAddress []byte `protobuf:"bytes,2,opt,name=packed_address" json:"packed_address,omitempty"` - HostnameHint *string `protobuf:"bytes,3,opt,name=hostname_hint" json:"hostname_hint,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AddressPort) Reset() { *m = AddressPort{} } -func (m *AddressPort) String() string { return proto.CompactTextString(m) } -func (*AddressPort) ProtoMessage() {} - -func (m *AddressPort) GetPort() int32 { - if m != nil && m.Port != nil { - return *m.Port - } - return 0 -} - -func (m *AddressPort) GetPackedAddress() []byte { - if m != nil { - return m.PackedAddress - } - return nil -} - -func (m *AddressPort) GetHostnameHint() string { - if m != nil && m.HostnameHint != nil { - return *m.HostnameHint - } - return "" -} - -type CreateSocketRequest struct { - Family *CreateSocketRequest_SocketFamily `protobuf:"varint,1,req,name=family,enum=appengine.CreateSocketRequest_SocketFamily" json:"family,omitempty"` - Protocol *CreateSocketRequest_SocketProtocol `protobuf:"varint,2,req,name=protocol,enum=appengine.CreateSocketRequest_SocketProtocol" json:"protocol,omitempty"` - SocketOptions []*SocketOption `protobuf:"bytes,3,rep,name=socket_options" json:"socket_options,omitempty"` - ProxyExternalIp *AddressPort `protobuf:"bytes,4,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` - ListenBacklog *int32 `protobuf:"varint,5,opt,name=listen_backlog,def=0" json:"listen_backlog,omitempty"` - RemoteIp *AddressPort `protobuf:"bytes,6,opt,name=remote_ip" json:"remote_ip,omitempty"` - AppId *string `protobuf:"bytes,9,opt,name=app_id" json:"app_id,omitempty"` - ProjectId *int64 `protobuf:"varint,10,opt,name=project_id" json:"project_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateSocketRequest) Reset() { *m = CreateSocketRequest{} } -func (m *CreateSocketRequest) String() string { return proto.CompactTextString(m) } -func (*CreateSocketRequest) ProtoMessage() {} - -const Default_CreateSocketRequest_ListenBacklog int32 = 0 - -func (m *CreateSocketRequest) GetFamily() CreateSocketRequest_SocketFamily { - if m != nil && m.Family != nil { - return *m.Family - } - return CreateSocketRequest_IPv4 -} - -func (m *CreateSocketRequest) GetProtocol() CreateSocketRequest_SocketProtocol { - if m != nil && m.Protocol != nil { - return *m.Protocol - } - return CreateSocketRequest_TCP -} - -func (m *CreateSocketRequest) GetSocketOptions() []*SocketOption { - if m != nil { - return m.SocketOptions - } - return nil -} - -func (m *CreateSocketRequest) GetProxyExternalIp() *AddressPort { - if m != nil { - return m.ProxyExternalIp - } - return nil -} - -func (m *CreateSocketRequest) GetListenBacklog() int32 { - if m != nil && m.ListenBacklog != nil { - return *m.ListenBacklog - } - return Default_CreateSocketRequest_ListenBacklog -} - -func (m *CreateSocketRequest) GetRemoteIp() *AddressPort { - if m != nil { - return m.RemoteIp - } - return nil -} - -func (m *CreateSocketRequest) GetAppId() string { - if m != nil && m.AppId != nil { - return *m.AppId - } - return "" -} - -func (m *CreateSocketRequest) GetProjectId() int64 { - if m != nil && m.ProjectId != nil { - return *m.ProjectId - } - return 0 -} - -type CreateSocketReply struct { - SocketDescriptor *string `protobuf:"bytes,1,opt,name=socket_descriptor" json:"socket_descriptor,omitempty"` - ServerAddress *AddressPort `protobuf:"bytes,3,opt,name=server_address" json:"server_address,omitempty"` - ProxyExternalIp *AddressPort `protobuf:"bytes,4,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` - XXX_extensions map[int32]proto.Extension `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CreateSocketReply) Reset() { *m = CreateSocketReply{} } -func (m *CreateSocketReply) String() string { return proto.CompactTextString(m) } -func (*CreateSocketReply) ProtoMessage() {} - -var extRange_CreateSocketReply = []proto.ExtensionRange{ - {1000, 536870911}, -} - -func (*CreateSocketReply) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_CreateSocketReply -} -func (m *CreateSocketReply) ExtensionMap() map[int32]proto.Extension { - if m.XXX_extensions == nil { - m.XXX_extensions = make(map[int32]proto.Extension) - } - return m.XXX_extensions -} - -func (m *CreateSocketReply) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *CreateSocketReply) GetServerAddress() *AddressPort { - if m != nil { - return m.ServerAddress - } - return nil -} - -func (m *CreateSocketReply) GetProxyExternalIp() *AddressPort { - if m != nil { - return m.ProxyExternalIp - } - return nil -} - -type BindRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - ProxyExternalIp *AddressPort `protobuf:"bytes,2,req,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *BindRequest) Reset() { *m = BindRequest{} } -func (m *BindRequest) String() string { return proto.CompactTextString(m) } -func (*BindRequest) ProtoMessage() {} - -func (m *BindRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *BindRequest) GetProxyExternalIp() *AddressPort { - if m != nil { - return m.ProxyExternalIp - } - return nil -} - -type BindReply struct { - ProxyExternalIp *AddressPort `protobuf:"bytes,1,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *BindReply) Reset() { *m = BindReply{} } -func (m *BindReply) String() string { return proto.CompactTextString(m) } -func (*BindReply) ProtoMessage() {} - -func (m *BindReply) GetProxyExternalIp() *AddressPort { - if m != nil { - return m.ProxyExternalIp - } - return nil -} - -type GetSocketNameRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetSocketNameRequest) Reset() { *m = GetSocketNameRequest{} } -func (m *GetSocketNameRequest) String() string { return proto.CompactTextString(m) } -func (*GetSocketNameRequest) ProtoMessage() {} - -func (m *GetSocketNameRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -type GetSocketNameReply struct { - ProxyExternalIp *AddressPort `protobuf:"bytes,2,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetSocketNameReply) Reset() { *m = GetSocketNameReply{} } -func (m *GetSocketNameReply) String() string { return proto.CompactTextString(m) } -func (*GetSocketNameReply) ProtoMessage() {} - -func (m *GetSocketNameReply) GetProxyExternalIp() *AddressPort { - if m != nil { - return m.ProxyExternalIp - } - return nil -} - -type GetPeerNameRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetPeerNameRequest) Reset() { *m = GetPeerNameRequest{} } -func (m *GetPeerNameRequest) String() string { return proto.CompactTextString(m) } -func (*GetPeerNameRequest) ProtoMessage() {} - -func (m *GetPeerNameRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -type GetPeerNameReply struct { - PeerIp *AddressPort `protobuf:"bytes,2,opt,name=peer_ip" json:"peer_ip,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetPeerNameReply) Reset() { *m = GetPeerNameReply{} } -func (m *GetPeerNameReply) String() string { return proto.CompactTextString(m) } -func (*GetPeerNameReply) ProtoMessage() {} - -func (m *GetPeerNameReply) GetPeerIp() *AddressPort { - if m != nil { - return m.PeerIp - } - return nil -} - -type SocketOption struct { - Level *SocketOption_SocketOptionLevel `protobuf:"varint,1,req,name=level,enum=appengine.SocketOption_SocketOptionLevel" json:"level,omitempty"` - Option *SocketOption_SocketOptionName `protobuf:"varint,2,req,name=option,enum=appengine.SocketOption_SocketOptionName" json:"option,omitempty"` - Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SocketOption) Reset() { *m = SocketOption{} } -func (m *SocketOption) String() string { return proto.CompactTextString(m) } -func (*SocketOption) ProtoMessage() {} - -func (m *SocketOption) GetLevel() SocketOption_SocketOptionLevel { - if m != nil && m.Level != nil { - return *m.Level - } - return SocketOption_SOCKET_SOL_IP -} - -func (m *SocketOption) GetOption() SocketOption_SocketOptionName { - if m != nil && m.Option != nil { - return *m.Option - } - return SocketOption_SOCKET_SO_DEBUG -} - -func (m *SocketOption) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -type SetSocketOptionsRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - Options []*SocketOption `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SetSocketOptionsRequest) Reset() { *m = SetSocketOptionsRequest{} } -func (m *SetSocketOptionsRequest) String() string { return proto.CompactTextString(m) } -func (*SetSocketOptionsRequest) ProtoMessage() {} - -func (m *SetSocketOptionsRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *SetSocketOptionsRequest) GetOptions() []*SocketOption { - if m != nil { - return m.Options - } - return nil -} - -type SetSocketOptionsReply struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *SetSocketOptionsReply) Reset() { *m = SetSocketOptionsReply{} } -func (m *SetSocketOptionsReply) String() string { return proto.CompactTextString(m) } -func (*SetSocketOptionsReply) ProtoMessage() {} - -type GetSocketOptionsRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - Options []*SocketOption `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetSocketOptionsRequest) Reset() { *m = GetSocketOptionsRequest{} } -func (m *GetSocketOptionsRequest) String() string { return proto.CompactTextString(m) } -func (*GetSocketOptionsRequest) ProtoMessage() {} - -func (m *GetSocketOptionsRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *GetSocketOptionsRequest) GetOptions() []*SocketOption { - if m != nil { - return m.Options - } - return nil -} - -type GetSocketOptionsReply struct { - Options []*SocketOption `protobuf:"bytes,2,rep,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetSocketOptionsReply) Reset() { *m = GetSocketOptionsReply{} } -func (m *GetSocketOptionsReply) String() string { return proto.CompactTextString(m) } -func (*GetSocketOptionsReply) ProtoMessage() {} - -func (m *GetSocketOptionsReply) GetOptions() []*SocketOption { - if m != nil { - return m.Options - } - return nil -} - -type ConnectRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - RemoteIp *AddressPort `protobuf:"bytes,2,req,name=remote_ip" json:"remote_ip,omitempty"` - TimeoutSeconds *float64 `protobuf:"fixed64,3,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ConnectRequest) Reset() { *m = ConnectRequest{} } -func (m *ConnectRequest) String() string { return proto.CompactTextString(m) } -func (*ConnectRequest) ProtoMessage() {} - -const Default_ConnectRequest_TimeoutSeconds float64 = -1 - -func (m *ConnectRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *ConnectRequest) GetRemoteIp() *AddressPort { - if m != nil { - return m.RemoteIp - } - return nil -} - -func (m *ConnectRequest) GetTimeoutSeconds() float64 { - if m != nil && m.TimeoutSeconds != nil { - return *m.TimeoutSeconds - } - return Default_ConnectRequest_TimeoutSeconds -} - -type ConnectReply struct { - ProxyExternalIp *AddressPort `protobuf:"bytes,1,opt,name=proxy_external_ip" json:"proxy_external_ip,omitempty"` - XXX_extensions map[int32]proto.Extension `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ConnectReply) Reset() { *m = ConnectReply{} } -func (m *ConnectReply) String() string { return proto.CompactTextString(m) } -func (*ConnectReply) ProtoMessage() {} - -var extRange_ConnectReply = []proto.ExtensionRange{ - {1000, 536870911}, -} - -func (*ConnectReply) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_ConnectReply -} -func (m *ConnectReply) ExtensionMap() map[int32]proto.Extension { - if m.XXX_extensions == nil { - m.XXX_extensions = make(map[int32]proto.Extension) - } - return m.XXX_extensions -} - -func (m *ConnectReply) GetProxyExternalIp() *AddressPort { - if m != nil { - return m.ProxyExternalIp - } - return nil -} - -type ListenRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - Backlog *int32 `protobuf:"varint,2,req,name=backlog" json:"backlog,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListenRequest) Reset() { *m = ListenRequest{} } -func (m *ListenRequest) String() string { return proto.CompactTextString(m) } -func (*ListenRequest) ProtoMessage() {} - -func (m *ListenRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *ListenRequest) GetBacklog() int32 { - if m != nil && m.Backlog != nil { - return *m.Backlog - } - return 0 -} - -type ListenReply struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *ListenReply) Reset() { *m = ListenReply{} } -func (m *ListenReply) String() string { return proto.CompactTextString(m) } -func (*ListenReply) ProtoMessage() {} - -type AcceptRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - TimeoutSeconds *float64 `protobuf:"fixed64,2,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AcceptRequest) Reset() { *m = AcceptRequest{} } -func (m *AcceptRequest) String() string { return proto.CompactTextString(m) } -func (*AcceptRequest) ProtoMessage() {} - -const Default_AcceptRequest_TimeoutSeconds float64 = -1 - -func (m *AcceptRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *AcceptRequest) GetTimeoutSeconds() float64 { - if m != nil && m.TimeoutSeconds != nil { - return *m.TimeoutSeconds - } - return Default_AcceptRequest_TimeoutSeconds -} - -type AcceptReply struct { - NewSocketDescriptor []byte `protobuf:"bytes,2,opt,name=new_socket_descriptor" json:"new_socket_descriptor,omitempty"` - RemoteAddress *AddressPort `protobuf:"bytes,3,opt,name=remote_address" json:"remote_address,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AcceptReply) Reset() { *m = AcceptReply{} } -func (m *AcceptReply) String() string { return proto.CompactTextString(m) } -func (*AcceptReply) ProtoMessage() {} - -func (m *AcceptReply) GetNewSocketDescriptor() []byte { - if m != nil { - return m.NewSocketDescriptor - } - return nil -} - -func (m *AcceptReply) GetRemoteAddress() *AddressPort { - if m != nil { - return m.RemoteAddress - } - return nil -} - -type ShutDownRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - How *ShutDownRequest_How `protobuf:"varint,2,req,name=how,enum=appengine.ShutDownRequest_How" json:"how,omitempty"` - SendOffset *int64 `protobuf:"varint,3,req,name=send_offset" json:"send_offset,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ShutDownRequest) Reset() { *m = ShutDownRequest{} } -func (m *ShutDownRequest) String() string { return proto.CompactTextString(m) } -func (*ShutDownRequest) ProtoMessage() {} - -func (m *ShutDownRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *ShutDownRequest) GetHow() ShutDownRequest_How { - if m != nil && m.How != nil { - return *m.How - } - return ShutDownRequest_SOCKET_SHUT_RD -} - -func (m *ShutDownRequest) GetSendOffset() int64 { - if m != nil && m.SendOffset != nil { - return *m.SendOffset - } - return 0 -} - -type ShutDownReply struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *ShutDownReply) Reset() { *m = ShutDownReply{} } -func (m *ShutDownReply) String() string { return proto.CompactTextString(m) } -func (*ShutDownReply) ProtoMessage() {} - -type CloseRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - SendOffset *int64 `protobuf:"varint,2,opt,name=send_offset,def=-1" json:"send_offset,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CloseRequest) Reset() { *m = CloseRequest{} } -func (m *CloseRequest) String() string { return proto.CompactTextString(m) } -func (*CloseRequest) ProtoMessage() {} - -const Default_CloseRequest_SendOffset int64 = -1 - -func (m *CloseRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *CloseRequest) GetSendOffset() int64 { - if m != nil && m.SendOffset != nil { - return *m.SendOffset - } - return Default_CloseRequest_SendOffset -} - -type CloseReply struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *CloseReply) Reset() { *m = CloseReply{} } -func (m *CloseReply) String() string { return proto.CompactTextString(m) } -func (*CloseReply) ProtoMessage() {} - -type SendRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - Data []byte `protobuf:"bytes,2,req,name=data" json:"data,omitempty"` - StreamOffset *int64 `protobuf:"varint,3,req,name=stream_offset" json:"stream_offset,omitempty"` - Flags *int32 `protobuf:"varint,4,opt,name=flags,def=0" json:"flags,omitempty"` - SendTo *AddressPort `protobuf:"bytes,5,opt,name=send_to" json:"send_to,omitempty"` - TimeoutSeconds *float64 `protobuf:"fixed64,6,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SendRequest) Reset() { *m = SendRequest{} } -func (m *SendRequest) String() string { return proto.CompactTextString(m) } -func (*SendRequest) ProtoMessage() {} - -const Default_SendRequest_Flags int32 = 0 -const Default_SendRequest_TimeoutSeconds float64 = -1 - -func (m *SendRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *SendRequest) GetData() []byte { - if m != nil { - return m.Data - } - return nil -} - -func (m *SendRequest) GetStreamOffset() int64 { - if m != nil && m.StreamOffset != nil { - return *m.StreamOffset - } - return 0 -} - -func (m *SendRequest) GetFlags() int32 { - if m != nil && m.Flags != nil { - return *m.Flags - } - return Default_SendRequest_Flags -} - -func (m *SendRequest) GetSendTo() *AddressPort { - if m != nil { - return m.SendTo - } - return nil -} - -func (m *SendRequest) GetTimeoutSeconds() float64 { - if m != nil && m.TimeoutSeconds != nil { - return *m.TimeoutSeconds - } - return Default_SendRequest_TimeoutSeconds -} - -type SendReply struct { - DataSent *int32 `protobuf:"varint,1,opt,name=data_sent" json:"data_sent,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SendReply) Reset() { *m = SendReply{} } -func (m *SendReply) String() string { return proto.CompactTextString(m) } -func (*SendReply) ProtoMessage() {} - -func (m *SendReply) GetDataSent() int32 { - if m != nil && m.DataSent != nil { - return *m.DataSent - } - return 0 -} - -type ReceiveRequest struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - DataSize *int32 `protobuf:"varint,2,req,name=data_size" json:"data_size,omitempty"` - Flags *int32 `protobuf:"varint,3,opt,name=flags,def=0" json:"flags,omitempty"` - TimeoutSeconds *float64 `protobuf:"fixed64,5,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ReceiveRequest) Reset() { *m = ReceiveRequest{} } -func (m *ReceiveRequest) String() string { return proto.CompactTextString(m) } -func (*ReceiveRequest) ProtoMessage() {} - -const Default_ReceiveRequest_Flags int32 = 0 -const Default_ReceiveRequest_TimeoutSeconds float64 = -1 - -func (m *ReceiveRequest) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *ReceiveRequest) GetDataSize() int32 { - if m != nil && m.DataSize != nil { - return *m.DataSize - } - return 0 -} - -func (m *ReceiveRequest) GetFlags() int32 { - if m != nil && m.Flags != nil { - return *m.Flags - } - return Default_ReceiveRequest_Flags -} - -func (m *ReceiveRequest) GetTimeoutSeconds() float64 { - if m != nil && m.TimeoutSeconds != nil { - return *m.TimeoutSeconds - } - return Default_ReceiveRequest_TimeoutSeconds -} - -type ReceiveReply struct { - StreamOffset *int64 `protobuf:"varint,2,opt,name=stream_offset" json:"stream_offset,omitempty"` - Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` - ReceivedFrom *AddressPort `protobuf:"bytes,4,opt,name=received_from" json:"received_from,omitempty"` - BufferSize *int32 `protobuf:"varint,5,opt,name=buffer_size" json:"buffer_size,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ReceiveReply) Reset() { *m = ReceiveReply{} } -func (m *ReceiveReply) String() string { return proto.CompactTextString(m) } -func (*ReceiveReply) ProtoMessage() {} - -func (m *ReceiveReply) GetStreamOffset() int64 { - if m != nil && m.StreamOffset != nil { - return *m.StreamOffset - } - return 0 -} - -func (m *ReceiveReply) GetData() []byte { - if m != nil { - return m.Data - } - return nil -} - -func (m *ReceiveReply) GetReceivedFrom() *AddressPort { - if m != nil { - return m.ReceivedFrom - } - return nil -} - -func (m *ReceiveReply) GetBufferSize() int32 { - if m != nil && m.BufferSize != nil { - return *m.BufferSize - } - return 0 -} - -type PollEvent struct { - SocketDescriptor *string `protobuf:"bytes,1,req,name=socket_descriptor" json:"socket_descriptor,omitempty"` - RequestedEvents *int32 `protobuf:"varint,2,req,name=requested_events" json:"requested_events,omitempty"` - ObservedEvents *int32 `protobuf:"varint,3,req,name=observed_events" json:"observed_events,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PollEvent) Reset() { *m = PollEvent{} } -func (m *PollEvent) String() string { return proto.CompactTextString(m) } -func (*PollEvent) ProtoMessage() {} - -func (m *PollEvent) GetSocketDescriptor() string { - if m != nil && m.SocketDescriptor != nil { - return *m.SocketDescriptor - } - return "" -} - -func (m *PollEvent) GetRequestedEvents() int32 { - if m != nil && m.RequestedEvents != nil { - return *m.RequestedEvents - } - return 0 -} - -func (m *PollEvent) GetObservedEvents() int32 { - if m != nil && m.ObservedEvents != nil { - return *m.ObservedEvents - } - return 0 -} - -type PollRequest struct { - Events []*PollEvent `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"` - TimeoutSeconds *float64 `protobuf:"fixed64,2,opt,name=timeout_seconds,def=-1" json:"timeout_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PollRequest) Reset() { *m = PollRequest{} } -func (m *PollRequest) String() string { return proto.CompactTextString(m) } -func (*PollRequest) ProtoMessage() {} - -const Default_PollRequest_TimeoutSeconds float64 = -1 - -func (m *PollRequest) GetEvents() []*PollEvent { - if m != nil { - return m.Events - } - return nil -} - -func (m *PollRequest) GetTimeoutSeconds() float64 { - if m != nil && m.TimeoutSeconds != nil { - return *m.TimeoutSeconds - } - return Default_PollRequest_TimeoutSeconds -} - -type PollReply struct { - Events []*PollEvent `protobuf:"bytes,2,rep,name=events" json:"events,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PollReply) Reset() { *m = PollReply{} } -func (m *PollReply) String() string { return proto.CompactTextString(m) } -func (*PollReply) ProtoMessage() {} - -func (m *PollReply) GetEvents() []*PollEvent { - if m != nil { - return m.Events - } - return nil -} - -type ResolveRequest struct { - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - AddressFamilies []CreateSocketRequest_SocketFamily `protobuf:"varint,2,rep,name=address_families,enum=appengine.CreateSocketRequest_SocketFamily" json:"address_families,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ResolveRequest) Reset() { *m = ResolveRequest{} } -func (m *ResolveRequest) String() string { return proto.CompactTextString(m) } -func (*ResolveRequest) ProtoMessage() {} - -func (m *ResolveRequest) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *ResolveRequest) GetAddressFamilies() []CreateSocketRequest_SocketFamily { - if m != nil { - return m.AddressFamilies - } - return nil -} - -type ResolveReply struct { - PackedAddress [][]byte `protobuf:"bytes,2,rep,name=packed_address" json:"packed_address,omitempty"` - CanonicalName *string `protobuf:"bytes,3,opt,name=canonical_name" json:"canonical_name,omitempty"` - Aliases []string `protobuf:"bytes,4,rep,name=aliases" json:"aliases,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ResolveReply) Reset() { *m = ResolveReply{} } -func (m *ResolveReply) String() string { return proto.CompactTextString(m) } -func (*ResolveReply) ProtoMessage() {} - -func (m *ResolveReply) GetPackedAddress() [][]byte { - if m != nil { - return m.PackedAddress - } - return nil -} - -func (m *ResolveReply) GetCanonicalName() string { - if m != nil && m.CanonicalName != nil { - return *m.CanonicalName - } - return "" -} - -func (m *ResolveReply) GetAliases() []string { - if m != nil { - return m.Aliases - } - return nil -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/socket/socket_service.proto b/vendor/google.golang.org/appengine/internal/socket/socket_service.proto deleted file mode 100644 index 2fcc7953d..000000000 --- a/vendor/google.golang.org/appengine/internal/socket/socket_service.proto +++ /dev/null @@ -1,460 +0,0 @@ -syntax = "proto2"; -option go_package = "socket"; - -package appengine; - -message RemoteSocketServiceError { - enum ErrorCode { - SYSTEM_ERROR = 1; - GAI_ERROR = 2; - FAILURE = 4; - PERMISSION_DENIED = 5; - INVALID_REQUEST = 6; - SOCKET_CLOSED = 7; - } - - enum SystemError { - option allow_alias = true; - - SYS_SUCCESS = 0; - SYS_EPERM = 1; - SYS_ENOENT = 2; - SYS_ESRCH = 3; - SYS_EINTR = 4; - SYS_EIO = 5; - SYS_ENXIO = 6; - SYS_E2BIG = 7; - SYS_ENOEXEC = 8; - SYS_EBADF = 9; - SYS_ECHILD = 10; - SYS_EAGAIN = 11; - SYS_EWOULDBLOCK = 11; - SYS_ENOMEM = 12; - SYS_EACCES = 13; - SYS_EFAULT = 14; - SYS_ENOTBLK = 15; - SYS_EBUSY = 16; - SYS_EEXIST = 17; - SYS_EXDEV = 18; - SYS_ENODEV = 19; - SYS_ENOTDIR = 20; - SYS_EISDIR = 21; - SYS_EINVAL = 22; - SYS_ENFILE = 23; - SYS_EMFILE = 24; - SYS_ENOTTY = 25; - SYS_ETXTBSY = 26; - SYS_EFBIG = 27; - SYS_ENOSPC = 28; - SYS_ESPIPE = 29; - SYS_EROFS = 30; - SYS_EMLINK = 31; - SYS_EPIPE = 32; - SYS_EDOM = 33; - SYS_ERANGE = 34; - SYS_EDEADLK = 35; - SYS_EDEADLOCK = 35; - SYS_ENAMETOOLONG = 36; - SYS_ENOLCK = 37; - SYS_ENOSYS = 38; - SYS_ENOTEMPTY = 39; - SYS_ELOOP = 40; - SYS_ENOMSG = 42; - SYS_EIDRM = 43; - SYS_ECHRNG = 44; - SYS_EL2NSYNC = 45; - SYS_EL3HLT = 46; - SYS_EL3RST = 47; - SYS_ELNRNG = 48; - SYS_EUNATCH = 49; - SYS_ENOCSI = 50; - SYS_EL2HLT = 51; - SYS_EBADE = 52; - SYS_EBADR = 53; - SYS_EXFULL = 54; - SYS_ENOANO = 55; - SYS_EBADRQC = 56; - SYS_EBADSLT = 57; - SYS_EBFONT = 59; - SYS_ENOSTR = 60; - SYS_ENODATA = 61; - SYS_ETIME = 62; - SYS_ENOSR = 63; - SYS_ENONET = 64; - SYS_ENOPKG = 65; - SYS_EREMOTE = 66; - SYS_ENOLINK = 67; - SYS_EADV = 68; - SYS_ESRMNT = 69; - SYS_ECOMM = 70; - SYS_EPROTO = 71; - SYS_EMULTIHOP = 72; - SYS_EDOTDOT = 73; - SYS_EBADMSG = 74; - SYS_EOVERFLOW = 75; - SYS_ENOTUNIQ = 76; - SYS_EBADFD = 77; - SYS_EREMCHG = 78; - SYS_ELIBACC = 79; - SYS_ELIBBAD = 80; - SYS_ELIBSCN = 81; - SYS_ELIBMAX = 82; - SYS_ELIBEXEC = 83; - SYS_EILSEQ = 84; - SYS_ERESTART = 85; - SYS_ESTRPIPE = 86; - SYS_EUSERS = 87; - SYS_ENOTSOCK = 88; - SYS_EDESTADDRREQ = 89; - SYS_EMSGSIZE = 90; - SYS_EPROTOTYPE = 91; - SYS_ENOPROTOOPT = 92; - SYS_EPROTONOSUPPORT = 93; - SYS_ESOCKTNOSUPPORT = 94; - SYS_EOPNOTSUPP = 95; - SYS_ENOTSUP = 95; - SYS_EPFNOSUPPORT = 96; - SYS_EAFNOSUPPORT = 97; - SYS_EADDRINUSE = 98; - SYS_EADDRNOTAVAIL = 99; - SYS_ENETDOWN = 100; - SYS_ENETUNREACH = 101; - SYS_ENETRESET = 102; - SYS_ECONNABORTED = 103; - SYS_ECONNRESET = 104; - SYS_ENOBUFS = 105; - SYS_EISCONN = 106; - SYS_ENOTCONN = 107; - SYS_ESHUTDOWN = 108; - SYS_ETOOMANYREFS = 109; - SYS_ETIMEDOUT = 110; - SYS_ECONNREFUSED = 111; - SYS_EHOSTDOWN = 112; - SYS_EHOSTUNREACH = 113; - SYS_EALREADY = 114; - SYS_EINPROGRESS = 115; - SYS_ESTALE = 116; - SYS_EUCLEAN = 117; - SYS_ENOTNAM = 118; - SYS_ENAVAIL = 119; - SYS_EISNAM = 120; - SYS_EREMOTEIO = 121; - SYS_EDQUOT = 122; - SYS_ENOMEDIUM = 123; - SYS_EMEDIUMTYPE = 124; - SYS_ECANCELED = 125; - SYS_ENOKEY = 126; - SYS_EKEYEXPIRED = 127; - SYS_EKEYREVOKED = 128; - SYS_EKEYREJECTED = 129; - SYS_EOWNERDEAD = 130; - SYS_ENOTRECOVERABLE = 131; - SYS_ERFKILL = 132; - } - - optional int32 system_error = 1 [default=0]; - optional string error_detail = 2; -} - -message AddressPort { - required int32 port = 1; - optional bytes packed_address = 2; - - optional string hostname_hint = 3; -} - - - -message CreateSocketRequest { - enum SocketFamily { - IPv4 = 1; - IPv6 = 2; - } - - enum SocketProtocol { - TCP = 1; - UDP = 2; - } - - required SocketFamily family = 1; - required SocketProtocol protocol = 2; - - repeated SocketOption socket_options = 3; - - optional AddressPort proxy_external_ip = 4; - - optional int32 listen_backlog = 5 [default=0]; - - optional AddressPort remote_ip = 6; - - optional string app_id = 9; - - optional int64 project_id = 10; -} - -message CreateSocketReply { - optional string socket_descriptor = 1; - - optional AddressPort server_address = 3; - - optional AddressPort proxy_external_ip = 4; - - extensions 1000 to max; -} - - - -message BindRequest { - required string socket_descriptor = 1; - required AddressPort proxy_external_ip = 2; -} - -message BindReply { - optional AddressPort proxy_external_ip = 1; -} - - - -message GetSocketNameRequest { - required string socket_descriptor = 1; -} - -message GetSocketNameReply { - optional AddressPort proxy_external_ip = 2; -} - - - -message GetPeerNameRequest { - required string socket_descriptor = 1; -} - -message GetPeerNameReply { - optional AddressPort peer_ip = 2; -} - - -message SocketOption { - - enum SocketOptionLevel { - SOCKET_SOL_IP = 0; - SOCKET_SOL_SOCKET = 1; - SOCKET_SOL_TCP = 6; - SOCKET_SOL_UDP = 17; - } - - enum SocketOptionName { - option allow_alias = true; - - SOCKET_SO_DEBUG = 1; - SOCKET_SO_REUSEADDR = 2; - SOCKET_SO_TYPE = 3; - SOCKET_SO_ERROR = 4; - SOCKET_SO_DONTROUTE = 5; - SOCKET_SO_BROADCAST = 6; - SOCKET_SO_SNDBUF = 7; - SOCKET_SO_RCVBUF = 8; - SOCKET_SO_KEEPALIVE = 9; - SOCKET_SO_OOBINLINE = 10; - SOCKET_SO_LINGER = 13; - SOCKET_SO_RCVTIMEO = 20; - SOCKET_SO_SNDTIMEO = 21; - - SOCKET_IP_TOS = 1; - SOCKET_IP_TTL = 2; - SOCKET_IP_HDRINCL = 3; - SOCKET_IP_OPTIONS = 4; - - SOCKET_TCP_NODELAY = 1; - SOCKET_TCP_MAXSEG = 2; - SOCKET_TCP_CORK = 3; - SOCKET_TCP_KEEPIDLE = 4; - SOCKET_TCP_KEEPINTVL = 5; - SOCKET_TCP_KEEPCNT = 6; - SOCKET_TCP_SYNCNT = 7; - SOCKET_TCP_LINGER2 = 8; - SOCKET_TCP_DEFER_ACCEPT = 9; - SOCKET_TCP_WINDOW_CLAMP = 10; - SOCKET_TCP_INFO = 11; - SOCKET_TCP_QUICKACK = 12; - } - - required SocketOptionLevel level = 1; - required SocketOptionName option = 2; - required bytes value = 3; -} - - -message SetSocketOptionsRequest { - required string socket_descriptor = 1; - repeated SocketOption options = 2; -} - -message SetSocketOptionsReply { -} - -message GetSocketOptionsRequest { - required string socket_descriptor = 1; - repeated SocketOption options = 2; -} - -message GetSocketOptionsReply { - repeated SocketOption options = 2; -} - - -message ConnectRequest { - required string socket_descriptor = 1; - required AddressPort remote_ip = 2; - optional double timeout_seconds = 3 [default=-1]; -} - -message ConnectReply { - optional AddressPort proxy_external_ip = 1; - - extensions 1000 to max; -} - - -message ListenRequest { - required string socket_descriptor = 1; - required int32 backlog = 2; -} - -message ListenReply { -} - - -message AcceptRequest { - required string socket_descriptor = 1; - optional double timeout_seconds = 2 [default=-1]; -} - -message AcceptReply { - optional bytes new_socket_descriptor = 2; - optional AddressPort remote_address = 3; -} - - - -message ShutDownRequest { - enum How { - SOCKET_SHUT_RD = 1; - SOCKET_SHUT_WR = 2; - SOCKET_SHUT_RDWR = 3; - } - required string socket_descriptor = 1; - required How how = 2; - required int64 send_offset = 3; -} - -message ShutDownReply { -} - - - -message CloseRequest { - required string socket_descriptor = 1; - optional int64 send_offset = 2 [default=-1]; -} - -message CloseReply { -} - - - -message SendRequest { - required string socket_descriptor = 1; - required bytes data = 2 [ctype=CORD]; - required int64 stream_offset = 3; - optional int32 flags = 4 [default=0]; - optional AddressPort send_to = 5; - optional double timeout_seconds = 6 [default=-1]; -} - -message SendReply { - optional int32 data_sent = 1; -} - - -message ReceiveRequest { - enum Flags { - MSG_OOB = 1; - MSG_PEEK = 2; - } - required string socket_descriptor = 1; - required int32 data_size = 2; - optional int32 flags = 3 [default=0]; - optional double timeout_seconds = 5 [default=-1]; -} - -message ReceiveReply { - optional int64 stream_offset = 2; - optional bytes data = 3 [ctype=CORD]; - optional AddressPort received_from = 4; - optional int32 buffer_size = 5; -} - - - -message PollEvent { - - enum PollEventFlag { - SOCKET_POLLNONE = 0; - SOCKET_POLLIN = 1; - SOCKET_POLLPRI = 2; - SOCKET_POLLOUT = 4; - SOCKET_POLLERR = 8; - SOCKET_POLLHUP = 16; - SOCKET_POLLNVAL = 32; - SOCKET_POLLRDNORM = 64; - SOCKET_POLLRDBAND = 128; - SOCKET_POLLWRNORM = 256; - SOCKET_POLLWRBAND = 512; - SOCKET_POLLMSG = 1024; - SOCKET_POLLREMOVE = 4096; - SOCKET_POLLRDHUP = 8192; - }; - - required string socket_descriptor = 1; - required int32 requested_events = 2; - required int32 observed_events = 3; -} - -message PollRequest { - repeated PollEvent events = 1; - optional double timeout_seconds = 2 [default=-1]; -} - -message PollReply { - repeated PollEvent events = 2; -} - -message ResolveRequest { - required string name = 1; - repeated CreateSocketRequest.SocketFamily address_families = 2; -} - -message ResolveReply { - enum ErrorCode { - SOCKET_EAI_ADDRFAMILY = 1; - SOCKET_EAI_AGAIN = 2; - SOCKET_EAI_BADFLAGS = 3; - SOCKET_EAI_FAIL = 4; - SOCKET_EAI_FAMILY = 5; - SOCKET_EAI_MEMORY = 6; - SOCKET_EAI_NODATA = 7; - SOCKET_EAI_NONAME = 8; - SOCKET_EAI_SERVICE = 9; - SOCKET_EAI_SOCKTYPE = 10; - SOCKET_EAI_SYSTEM = 11; - SOCKET_EAI_BADHINTS = 12; - SOCKET_EAI_PROTOCOL = 13; - SOCKET_EAI_OVERFLOW = 14; - SOCKET_EAI_MAX = 15; - }; - - repeated bytes packed_address = 2; - optional string canonical_name = 3; - repeated string aliases = 4; -} diff --git a/vendor/google.golang.org/appengine/internal/system/system_service.pb.go b/vendor/google.golang.org/appengine/internal/system/system_service.pb.go deleted file mode 100644 index 56cc3f805..000000000 --- a/vendor/google.golang.org/appengine/internal/system/system_service.pb.go +++ /dev/null @@ -1,198 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/system/system_service.proto -// DO NOT EDIT! - -/* -Package system is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/system/system_service.proto - -It has these top-level messages: - SystemServiceError - SystemStat - GetSystemStatsRequest - GetSystemStatsResponse - StartBackgroundRequestRequest - StartBackgroundRequestResponse -*/ -package system - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type SystemServiceError_ErrorCode int32 - -const ( - SystemServiceError_OK SystemServiceError_ErrorCode = 0 - SystemServiceError_INTERNAL_ERROR SystemServiceError_ErrorCode = 1 - SystemServiceError_BACKEND_REQUIRED SystemServiceError_ErrorCode = 2 - SystemServiceError_LIMIT_REACHED SystemServiceError_ErrorCode = 3 -) - -var SystemServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "INTERNAL_ERROR", - 2: "BACKEND_REQUIRED", - 3: "LIMIT_REACHED", -} -var SystemServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "INTERNAL_ERROR": 1, - "BACKEND_REQUIRED": 2, - "LIMIT_REACHED": 3, -} - -func (x SystemServiceError_ErrorCode) Enum() *SystemServiceError_ErrorCode { - p := new(SystemServiceError_ErrorCode) - *p = x - return p -} -func (x SystemServiceError_ErrorCode) String() string { - return proto.EnumName(SystemServiceError_ErrorCode_name, int32(x)) -} -func (x *SystemServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(SystemServiceError_ErrorCode_value, data, "SystemServiceError_ErrorCode") - if err != nil { - return err - } - *x = SystemServiceError_ErrorCode(value) - return nil -} - -type SystemServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *SystemServiceError) Reset() { *m = SystemServiceError{} } -func (m *SystemServiceError) String() string { return proto.CompactTextString(m) } -func (*SystemServiceError) ProtoMessage() {} - -type SystemStat struct { - // Instaneous value of this stat. - Current *float64 `protobuf:"fixed64,1,opt,name=current" json:"current,omitempty"` - // Average over time, if this stat has an instaneous value. - Average1M *float64 `protobuf:"fixed64,3,opt,name=average1m" json:"average1m,omitempty"` - Average10M *float64 `protobuf:"fixed64,4,opt,name=average10m" json:"average10m,omitempty"` - // Total value, if the stat accumulates over time. - Total *float64 `protobuf:"fixed64,2,opt,name=total" json:"total,omitempty"` - // Rate over time, if this stat accumulates. - Rate1M *float64 `protobuf:"fixed64,5,opt,name=rate1m" json:"rate1m,omitempty"` - Rate10M *float64 `protobuf:"fixed64,6,opt,name=rate10m" json:"rate10m,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SystemStat) Reset() { *m = SystemStat{} } -func (m *SystemStat) String() string { return proto.CompactTextString(m) } -func (*SystemStat) ProtoMessage() {} - -func (m *SystemStat) GetCurrent() float64 { - if m != nil && m.Current != nil { - return *m.Current - } - return 0 -} - -func (m *SystemStat) GetAverage1M() float64 { - if m != nil && m.Average1M != nil { - return *m.Average1M - } - return 0 -} - -func (m *SystemStat) GetAverage10M() float64 { - if m != nil && m.Average10M != nil { - return *m.Average10M - } - return 0 -} - -func (m *SystemStat) GetTotal() float64 { - if m != nil && m.Total != nil { - return *m.Total - } - return 0 -} - -func (m *SystemStat) GetRate1M() float64 { - if m != nil && m.Rate1M != nil { - return *m.Rate1M - } - return 0 -} - -func (m *SystemStat) GetRate10M() float64 { - if m != nil && m.Rate10M != nil { - return *m.Rate10M - } - return 0 -} - -type GetSystemStatsRequest struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetSystemStatsRequest) Reset() { *m = GetSystemStatsRequest{} } -func (m *GetSystemStatsRequest) String() string { return proto.CompactTextString(m) } -func (*GetSystemStatsRequest) ProtoMessage() {} - -type GetSystemStatsResponse struct { - // CPU used by this instance, in mcycles. - Cpu *SystemStat `protobuf:"bytes,1,opt,name=cpu" json:"cpu,omitempty"` - // Physical memory (RAM) used by this instance, in megabytes. - Memory *SystemStat `protobuf:"bytes,2,opt,name=memory" json:"memory,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GetSystemStatsResponse) Reset() { *m = GetSystemStatsResponse{} } -func (m *GetSystemStatsResponse) String() string { return proto.CompactTextString(m) } -func (*GetSystemStatsResponse) ProtoMessage() {} - -func (m *GetSystemStatsResponse) GetCpu() *SystemStat { - if m != nil { - return m.Cpu - } - return nil -} - -func (m *GetSystemStatsResponse) GetMemory() *SystemStat { - if m != nil { - return m.Memory - } - return nil -} - -type StartBackgroundRequestRequest struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *StartBackgroundRequestRequest) Reset() { *m = StartBackgroundRequestRequest{} } -func (m *StartBackgroundRequestRequest) String() string { return proto.CompactTextString(m) } -func (*StartBackgroundRequestRequest) ProtoMessage() {} - -type StartBackgroundRequestResponse struct { - // Every /_ah/background request will have an X-AppEngine-BackgroundRequest - // header, whose value will be equal to this parameter, the request_id. - RequestId *string `protobuf:"bytes,1,opt,name=request_id" json:"request_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *StartBackgroundRequestResponse) Reset() { *m = StartBackgroundRequestResponse{} } -func (m *StartBackgroundRequestResponse) String() string { return proto.CompactTextString(m) } -func (*StartBackgroundRequestResponse) ProtoMessage() {} - -func (m *StartBackgroundRequestResponse) GetRequestId() string { - if m != nil && m.RequestId != nil { - return *m.RequestId - } - return "" -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/system/system_service.proto b/vendor/google.golang.org/appengine/internal/system/system_service.proto deleted file mode 100644 index 32c0bf859..000000000 --- a/vendor/google.golang.org/appengine/internal/system/system_service.proto +++ /dev/null @@ -1,49 +0,0 @@ -syntax = "proto2"; -option go_package = "system"; - -package appengine; - -message SystemServiceError { - enum ErrorCode { - OK = 0; - INTERNAL_ERROR = 1; - BACKEND_REQUIRED = 2; - LIMIT_REACHED = 3; - } -} - -message SystemStat { - // Instaneous value of this stat. - optional double current = 1; - - // Average over time, if this stat has an instaneous value. - optional double average1m = 3; - optional double average10m = 4; - - // Total value, if the stat accumulates over time. - optional double total = 2; - - // Rate over time, if this stat accumulates. - optional double rate1m = 5; - optional double rate10m = 6; -} - -message GetSystemStatsRequest { -} - -message GetSystemStatsResponse { - // CPU used by this instance, in mcycles. - optional SystemStat cpu = 1; - - // Physical memory (RAM) used by this instance, in megabytes. - optional SystemStat memory = 2; -} - -message StartBackgroundRequestRequest { -} - -message StartBackgroundRequestResponse { - // Every /_ah/background request will have an X-AppEngine-BackgroundRequest - // header, whose value will be equal to this parameter, the request_id. - optional string request_id = 1; -} diff --git a/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go b/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go deleted file mode 100644 index c3d428ec5..000000000 --- a/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.pb.go +++ /dev/null @@ -1,1888 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto -// DO NOT EDIT! - -/* -Package taskqueue is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto - -It has these top-level messages: - TaskQueueServiceError - TaskPayload - TaskQueueRetryParameters - TaskQueueAcl - TaskQueueHttpHeader - TaskQueueMode - TaskQueueAddRequest - TaskQueueAddResponse - TaskQueueBulkAddRequest - TaskQueueBulkAddResponse - TaskQueueDeleteRequest - TaskQueueDeleteResponse - TaskQueueForceRunRequest - TaskQueueForceRunResponse - TaskQueueUpdateQueueRequest - TaskQueueUpdateQueueResponse - TaskQueueFetchQueuesRequest - TaskQueueFetchQueuesResponse - TaskQueueFetchQueueStatsRequest - TaskQueueScannerQueueInfo - TaskQueueFetchQueueStatsResponse - TaskQueuePauseQueueRequest - TaskQueuePauseQueueResponse - TaskQueuePurgeQueueRequest - TaskQueuePurgeQueueResponse - TaskQueueDeleteQueueRequest - TaskQueueDeleteQueueResponse - TaskQueueDeleteGroupRequest - TaskQueueDeleteGroupResponse - TaskQueueQueryTasksRequest - TaskQueueQueryTasksResponse - TaskQueueFetchTaskRequest - TaskQueueFetchTaskResponse - TaskQueueUpdateStorageLimitRequest - TaskQueueUpdateStorageLimitResponse - TaskQueueQueryAndOwnTasksRequest - TaskQueueQueryAndOwnTasksResponse - TaskQueueModifyTaskLeaseRequest - TaskQueueModifyTaskLeaseResponse -*/ -package taskqueue - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import appengine "google.golang.org/appengine/internal/datastore" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type TaskQueueServiceError_ErrorCode int32 - -const ( - TaskQueueServiceError_OK TaskQueueServiceError_ErrorCode = 0 - TaskQueueServiceError_UNKNOWN_QUEUE TaskQueueServiceError_ErrorCode = 1 - TaskQueueServiceError_TRANSIENT_ERROR TaskQueueServiceError_ErrorCode = 2 - TaskQueueServiceError_INTERNAL_ERROR TaskQueueServiceError_ErrorCode = 3 - TaskQueueServiceError_TASK_TOO_LARGE TaskQueueServiceError_ErrorCode = 4 - TaskQueueServiceError_INVALID_TASK_NAME TaskQueueServiceError_ErrorCode = 5 - TaskQueueServiceError_INVALID_QUEUE_NAME TaskQueueServiceError_ErrorCode = 6 - TaskQueueServiceError_INVALID_URL TaskQueueServiceError_ErrorCode = 7 - TaskQueueServiceError_INVALID_QUEUE_RATE TaskQueueServiceError_ErrorCode = 8 - TaskQueueServiceError_PERMISSION_DENIED TaskQueueServiceError_ErrorCode = 9 - TaskQueueServiceError_TASK_ALREADY_EXISTS TaskQueueServiceError_ErrorCode = 10 - TaskQueueServiceError_TOMBSTONED_TASK TaskQueueServiceError_ErrorCode = 11 - TaskQueueServiceError_INVALID_ETA TaskQueueServiceError_ErrorCode = 12 - TaskQueueServiceError_INVALID_REQUEST TaskQueueServiceError_ErrorCode = 13 - TaskQueueServiceError_UNKNOWN_TASK TaskQueueServiceError_ErrorCode = 14 - TaskQueueServiceError_TOMBSTONED_QUEUE TaskQueueServiceError_ErrorCode = 15 - TaskQueueServiceError_DUPLICATE_TASK_NAME TaskQueueServiceError_ErrorCode = 16 - TaskQueueServiceError_SKIPPED TaskQueueServiceError_ErrorCode = 17 - TaskQueueServiceError_TOO_MANY_TASKS TaskQueueServiceError_ErrorCode = 18 - TaskQueueServiceError_INVALID_PAYLOAD TaskQueueServiceError_ErrorCode = 19 - TaskQueueServiceError_INVALID_RETRY_PARAMETERS TaskQueueServiceError_ErrorCode = 20 - TaskQueueServiceError_INVALID_QUEUE_MODE TaskQueueServiceError_ErrorCode = 21 - TaskQueueServiceError_ACL_LOOKUP_ERROR TaskQueueServiceError_ErrorCode = 22 - TaskQueueServiceError_TRANSACTIONAL_REQUEST_TOO_LARGE TaskQueueServiceError_ErrorCode = 23 - TaskQueueServiceError_INCORRECT_CREATOR_NAME TaskQueueServiceError_ErrorCode = 24 - TaskQueueServiceError_TASK_LEASE_EXPIRED TaskQueueServiceError_ErrorCode = 25 - TaskQueueServiceError_QUEUE_PAUSED TaskQueueServiceError_ErrorCode = 26 - TaskQueueServiceError_INVALID_TAG TaskQueueServiceError_ErrorCode = 27 - // Reserved range for the Datastore error codes. - // Original Datastore error code is shifted by DATASTORE_ERROR offset. - TaskQueueServiceError_DATASTORE_ERROR TaskQueueServiceError_ErrorCode = 10000 -) - -var TaskQueueServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "UNKNOWN_QUEUE", - 2: "TRANSIENT_ERROR", - 3: "INTERNAL_ERROR", - 4: "TASK_TOO_LARGE", - 5: "INVALID_TASK_NAME", - 6: "INVALID_QUEUE_NAME", - 7: "INVALID_URL", - 8: "INVALID_QUEUE_RATE", - 9: "PERMISSION_DENIED", - 10: "TASK_ALREADY_EXISTS", - 11: "TOMBSTONED_TASK", - 12: "INVALID_ETA", - 13: "INVALID_REQUEST", - 14: "UNKNOWN_TASK", - 15: "TOMBSTONED_QUEUE", - 16: "DUPLICATE_TASK_NAME", - 17: "SKIPPED", - 18: "TOO_MANY_TASKS", - 19: "INVALID_PAYLOAD", - 20: "INVALID_RETRY_PARAMETERS", - 21: "INVALID_QUEUE_MODE", - 22: "ACL_LOOKUP_ERROR", - 23: "TRANSACTIONAL_REQUEST_TOO_LARGE", - 24: "INCORRECT_CREATOR_NAME", - 25: "TASK_LEASE_EXPIRED", - 26: "QUEUE_PAUSED", - 27: "INVALID_TAG", - 10000: "DATASTORE_ERROR", -} -var TaskQueueServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "UNKNOWN_QUEUE": 1, - "TRANSIENT_ERROR": 2, - "INTERNAL_ERROR": 3, - "TASK_TOO_LARGE": 4, - "INVALID_TASK_NAME": 5, - "INVALID_QUEUE_NAME": 6, - "INVALID_URL": 7, - "INVALID_QUEUE_RATE": 8, - "PERMISSION_DENIED": 9, - "TASK_ALREADY_EXISTS": 10, - "TOMBSTONED_TASK": 11, - "INVALID_ETA": 12, - "INVALID_REQUEST": 13, - "UNKNOWN_TASK": 14, - "TOMBSTONED_QUEUE": 15, - "DUPLICATE_TASK_NAME": 16, - "SKIPPED": 17, - "TOO_MANY_TASKS": 18, - "INVALID_PAYLOAD": 19, - "INVALID_RETRY_PARAMETERS": 20, - "INVALID_QUEUE_MODE": 21, - "ACL_LOOKUP_ERROR": 22, - "TRANSACTIONAL_REQUEST_TOO_LARGE": 23, - "INCORRECT_CREATOR_NAME": 24, - "TASK_LEASE_EXPIRED": 25, - "QUEUE_PAUSED": 26, - "INVALID_TAG": 27, - "DATASTORE_ERROR": 10000, -} - -func (x TaskQueueServiceError_ErrorCode) Enum() *TaskQueueServiceError_ErrorCode { - p := new(TaskQueueServiceError_ErrorCode) - *p = x - return p -} -func (x TaskQueueServiceError_ErrorCode) String() string { - return proto.EnumName(TaskQueueServiceError_ErrorCode_name, int32(x)) -} -func (x *TaskQueueServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(TaskQueueServiceError_ErrorCode_value, data, "TaskQueueServiceError_ErrorCode") - if err != nil { - return err - } - *x = TaskQueueServiceError_ErrorCode(value) - return nil -} - -type TaskQueueMode_Mode int32 - -const ( - TaskQueueMode_PUSH TaskQueueMode_Mode = 0 - TaskQueueMode_PULL TaskQueueMode_Mode = 1 -) - -var TaskQueueMode_Mode_name = map[int32]string{ - 0: "PUSH", - 1: "PULL", -} -var TaskQueueMode_Mode_value = map[string]int32{ - "PUSH": 0, - "PULL": 1, -} - -func (x TaskQueueMode_Mode) Enum() *TaskQueueMode_Mode { - p := new(TaskQueueMode_Mode) - *p = x - return p -} -func (x TaskQueueMode_Mode) String() string { - return proto.EnumName(TaskQueueMode_Mode_name, int32(x)) -} -func (x *TaskQueueMode_Mode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(TaskQueueMode_Mode_value, data, "TaskQueueMode_Mode") - if err != nil { - return err - } - *x = TaskQueueMode_Mode(value) - return nil -} - -type TaskQueueAddRequest_RequestMethod int32 - -const ( - TaskQueueAddRequest_GET TaskQueueAddRequest_RequestMethod = 1 - TaskQueueAddRequest_POST TaskQueueAddRequest_RequestMethod = 2 - TaskQueueAddRequest_HEAD TaskQueueAddRequest_RequestMethod = 3 - TaskQueueAddRequest_PUT TaskQueueAddRequest_RequestMethod = 4 - TaskQueueAddRequest_DELETE TaskQueueAddRequest_RequestMethod = 5 -) - -var TaskQueueAddRequest_RequestMethod_name = map[int32]string{ - 1: "GET", - 2: "POST", - 3: "HEAD", - 4: "PUT", - 5: "DELETE", -} -var TaskQueueAddRequest_RequestMethod_value = map[string]int32{ - "GET": 1, - "POST": 2, - "HEAD": 3, - "PUT": 4, - "DELETE": 5, -} - -func (x TaskQueueAddRequest_RequestMethod) Enum() *TaskQueueAddRequest_RequestMethod { - p := new(TaskQueueAddRequest_RequestMethod) - *p = x - return p -} -func (x TaskQueueAddRequest_RequestMethod) String() string { - return proto.EnumName(TaskQueueAddRequest_RequestMethod_name, int32(x)) -} -func (x *TaskQueueAddRequest_RequestMethod) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(TaskQueueAddRequest_RequestMethod_value, data, "TaskQueueAddRequest_RequestMethod") - if err != nil { - return err - } - *x = TaskQueueAddRequest_RequestMethod(value) - return nil -} - -type TaskQueueQueryTasksResponse_Task_RequestMethod int32 - -const ( - TaskQueueQueryTasksResponse_Task_GET TaskQueueQueryTasksResponse_Task_RequestMethod = 1 - TaskQueueQueryTasksResponse_Task_POST TaskQueueQueryTasksResponse_Task_RequestMethod = 2 - TaskQueueQueryTasksResponse_Task_HEAD TaskQueueQueryTasksResponse_Task_RequestMethod = 3 - TaskQueueQueryTasksResponse_Task_PUT TaskQueueQueryTasksResponse_Task_RequestMethod = 4 - TaskQueueQueryTasksResponse_Task_DELETE TaskQueueQueryTasksResponse_Task_RequestMethod = 5 -) - -var TaskQueueQueryTasksResponse_Task_RequestMethod_name = map[int32]string{ - 1: "GET", - 2: "POST", - 3: "HEAD", - 4: "PUT", - 5: "DELETE", -} -var TaskQueueQueryTasksResponse_Task_RequestMethod_value = map[string]int32{ - "GET": 1, - "POST": 2, - "HEAD": 3, - "PUT": 4, - "DELETE": 5, -} - -func (x TaskQueueQueryTasksResponse_Task_RequestMethod) Enum() *TaskQueueQueryTasksResponse_Task_RequestMethod { - p := new(TaskQueueQueryTasksResponse_Task_RequestMethod) - *p = x - return p -} -func (x TaskQueueQueryTasksResponse_Task_RequestMethod) String() string { - return proto.EnumName(TaskQueueQueryTasksResponse_Task_RequestMethod_name, int32(x)) -} -func (x *TaskQueueQueryTasksResponse_Task_RequestMethod) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(TaskQueueQueryTasksResponse_Task_RequestMethod_value, data, "TaskQueueQueryTasksResponse_Task_RequestMethod") - if err != nil { - return err - } - *x = TaskQueueQueryTasksResponse_Task_RequestMethod(value) - return nil -} - -type TaskQueueServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueServiceError) Reset() { *m = TaskQueueServiceError{} } -func (m *TaskQueueServiceError) String() string { return proto.CompactTextString(m) } -func (*TaskQueueServiceError) ProtoMessage() {} - -type TaskPayload struct { - XXX_extensions map[int32]proto.Extension `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskPayload) Reset() { *m = TaskPayload{} } -func (m *TaskPayload) String() string { return proto.CompactTextString(m) } -func (*TaskPayload) ProtoMessage() {} - -func (m *TaskPayload) Marshal() ([]byte, error) { - return proto.MarshalMessageSet(m.ExtensionMap()) -} -func (m *TaskPayload) Unmarshal(buf []byte) error { - return proto.UnmarshalMessageSet(buf, m.ExtensionMap()) -} -func (m *TaskPayload) MarshalJSON() ([]byte, error) { - return proto.MarshalMessageSetJSON(m.XXX_extensions) -} -func (m *TaskPayload) UnmarshalJSON(buf []byte) error { - return proto.UnmarshalMessageSetJSON(buf, m.XXX_extensions) -} - -// ensure TaskPayload satisfies proto.Marshaler and proto.Unmarshaler -var _ proto.Marshaler = (*TaskPayload)(nil) -var _ proto.Unmarshaler = (*TaskPayload)(nil) - -var extRange_TaskPayload = []proto.ExtensionRange{ - {10, 2147483646}, -} - -func (*TaskPayload) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_TaskPayload -} -func (m *TaskPayload) ExtensionMap() map[int32]proto.Extension { - if m.XXX_extensions == nil { - m.XXX_extensions = make(map[int32]proto.Extension) - } - return m.XXX_extensions -} - -type TaskQueueRetryParameters struct { - RetryLimit *int32 `protobuf:"varint,1,opt,name=retry_limit" json:"retry_limit,omitempty"` - AgeLimitSec *int64 `protobuf:"varint,2,opt,name=age_limit_sec" json:"age_limit_sec,omitempty"` - MinBackoffSec *float64 `protobuf:"fixed64,3,opt,name=min_backoff_sec,def=0.1" json:"min_backoff_sec,omitempty"` - MaxBackoffSec *float64 `protobuf:"fixed64,4,opt,name=max_backoff_sec,def=3600" json:"max_backoff_sec,omitempty"` - MaxDoublings *int32 `protobuf:"varint,5,opt,name=max_doublings,def=16" json:"max_doublings,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueRetryParameters) Reset() { *m = TaskQueueRetryParameters{} } -func (m *TaskQueueRetryParameters) String() string { return proto.CompactTextString(m) } -func (*TaskQueueRetryParameters) ProtoMessage() {} - -const Default_TaskQueueRetryParameters_MinBackoffSec float64 = 0.1 -const Default_TaskQueueRetryParameters_MaxBackoffSec float64 = 3600 -const Default_TaskQueueRetryParameters_MaxDoublings int32 = 16 - -func (m *TaskQueueRetryParameters) GetRetryLimit() int32 { - if m != nil && m.RetryLimit != nil { - return *m.RetryLimit - } - return 0 -} - -func (m *TaskQueueRetryParameters) GetAgeLimitSec() int64 { - if m != nil && m.AgeLimitSec != nil { - return *m.AgeLimitSec - } - return 0 -} - -func (m *TaskQueueRetryParameters) GetMinBackoffSec() float64 { - if m != nil && m.MinBackoffSec != nil { - return *m.MinBackoffSec - } - return Default_TaskQueueRetryParameters_MinBackoffSec -} - -func (m *TaskQueueRetryParameters) GetMaxBackoffSec() float64 { - if m != nil && m.MaxBackoffSec != nil { - return *m.MaxBackoffSec - } - return Default_TaskQueueRetryParameters_MaxBackoffSec -} - -func (m *TaskQueueRetryParameters) GetMaxDoublings() int32 { - if m != nil && m.MaxDoublings != nil { - return *m.MaxDoublings - } - return Default_TaskQueueRetryParameters_MaxDoublings -} - -type TaskQueueAcl struct { - UserEmail [][]byte `protobuf:"bytes,1,rep,name=user_email" json:"user_email,omitempty"` - WriterEmail [][]byte `protobuf:"bytes,2,rep,name=writer_email" json:"writer_email,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueAcl) Reset() { *m = TaskQueueAcl{} } -func (m *TaskQueueAcl) String() string { return proto.CompactTextString(m) } -func (*TaskQueueAcl) ProtoMessage() {} - -func (m *TaskQueueAcl) GetUserEmail() [][]byte { - if m != nil { - return m.UserEmail - } - return nil -} - -func (m *TaskQueueAcl) GetWriterEmail() [][]byte { - if m != nil { - return m.WriterEmail - } - return nil -} - -type TaskQueueHttpHeader struct { - Key []byte `protobuf:"bytes,1,req,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueHttpHeader) Reset() { *m = TaskQueueHttpHeader{} } -func (m *TaskQueueHttpHeader) String() string { return proto.CompactTextString(m) } -func (*TaskQueueHttpHeader) ProtoMessage() {} - -func (m *TaskQueueHttpHeader) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *TaskQueueHttpHeader) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -type TaskQueueMode struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueMode) Reset() { *m = TaskQueueMode{} } -func (m *TaskQueueMode) String() string { return proto.CompactTextString(m) } -func (*TaskQueueMode) ProtoMessage() {} - -type TaskQueueAddRequest struct { - QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` - TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` - EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` - Method *TaskQueueAddRequest_RequestMethod `protobuf:"varint,5,opt,name=method,enum=appengine.TaskQueueAddRequest_RequestMethod,def=2" json:"method,omitempty"` - Url []byte `protobuf:"bytes,4,opt,name=url" json:"url,omitempty"` - Header []*TaskQueueAddRequest_Header `protobuf:"group,6,rep,name=Header" json:"header,omitempty"` - Body []byte `protobuf:"bytes,9,opt,name=body" json:"body,omitempty"` - Transaction *appengine.Transaction `protobuf:"bytes,10,opt,name=transaction" json:"transaction,omitempty"` - AppId []byte `protobuf:"bytes,11,opt,name=app_id" json:"app_id,omitempty"` - Crontimetable *TaskQueueAddRequest_CronTimetable `protobuf:"group,12,opt,name=CronTimetable" json:"crontimetable,omitempty"` - Description []byte `protobuf:"bytes,15,opt,name=description" json:"description,omitempty"` - Payload *TaskPayload `protobuf:"bytes,16,opt,name=payload" json:"payload,omitempty"` - RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,17,opt,name=retry_parameters" json:"retry_parameters,omitempty"` - Mode *TaskQueueMode_Mode `protobuf:"varint,18,opt,name=mode,enum=appengine.TaskQueueMode_Mode,def=0" json:"mode,omitempty"` - Tag []byte `protobuf:"bytes,19,opt,name=tag" json:"tag,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueAddRequest) Reset() { *m = TaskQueueAddRequest{} } -func (m *TaskQueueAddRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueAddRequest) ProtoMessage() {} - -const Default_TaskQueueAddRequest_Method TaskQueueAddRequest_RequestMethod = TaskQueueAddRequest_POST -const Default_TaskQueueAddRequest_Mode TaskQueueMode_Mode = TaskQueueMode_PUSH - -func (m *TaskQueueAddRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueAddRequest) GetTaskName() []byte { - if m != nil { - return m.TaskName - } - return nil -} - -func (m *TaskQueueAddRequest) GetEtaUsec() int64 { - if m != nil && m.EtaUsec != nil { - return *m.EtaUsec - } - return 0 -} - -func (m *TaskQueueAddRequest) GetMethod() TaskQueueAddRequest_RequestMethod { - if m != nil && m.Method != nil { - return *m.Method - } - return Default_TaskQueueAddRequest_Method -} - -func (m *TaskQueueAddRequest) GetUrl() []byte { - if m != nil { - return m.Url - } - return nil -} - -func (m *TaskQueueAddRequest) GetHeader() []*TaskQueueAddRequest_Header { - if m != nil { - return m.Header - } - return nil -} - -func (m *TaskQueueAddRequest) GetBody() []byte { - if m != nil { - return m.Body - } - return nil -} - -func (m *TaskQueueAddRequest) GetTransaction() *appengine.Transaction { - if m != nil { - return m.Transaction - } - return nil -} - -func (m *TaskQueueAddRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueAddRequest) GetCrontimetable() *TaskQueueAddRequest_CronTimetable { - if m != nil { - return m.Crontimetable - } - return nil -} - -func (m *TaskQueueAddRequest) GetDescription() []byte { - if m != nil { - return m.Description - } - return nil -} - -func (m *TaskQueueAddRequest) GetPayload() *TaskPayload { - if m != nil { - return m.Payload - } - return nil -} - -func (m *TaskQueueAddRequest) GetRetryParameters() *TaskQueueRetryParameters { - if m != nil { - return m.RetryParameters - } - return nil -} - -func (m *TaskQueueAddRequest) GetMode() TaskQueueMode_Mode { - if m != nil && m.Mode != nil { - return *m.Mode - } - return Default_TaskQueueAddRequest_Mode -} - -func (m *TaskQueueAddRequest) GetTag() []byte { - if m != nil { - return m.Tag - } - return nil -} - -type TaskQueueAddRequest_Header struct { - Key []byte `protobuf:"bytes,7,req,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,8,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueAddRequest_Header) Reset() { *m = TaskQueueAddRequest_Header{} } -func (m *TaskQueueAddRequest_Header) String() string { return proto.CompactTextString(m) } -func (*TaskQueueAddRequest_Header) ProtoMessage() {} - -func (m *TaskQueueAddRequest_Header) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *TaskQueueAddRequest_Header) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -type TaskQueueAddRequest_CronTimetable struct { - Schedule []byte `protobuf:"bytes,13,req,name=schedule" json:"schedule,omitempty"` - Timezone []byte `protobuf:"bytes,14,req,name=timezone" json:"timezone,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueAddRequest_CronTimetable) Reset() { *m = TaskQueueAddRequest_CronTimetable{} } -func (m *TaskQueueAddRequest_CronTimetable) String() string { return proto.CompactTextString(m) } -func (*TaskQueueAddRequest_CronTimetable) ProtoMessage() {} - -func (m *TaskQueueAddRequest_CronTimetable) GetSchedule() []byte { - if m != nil { - return m.Schedule - } - return nil -} - -func (m *TaskQueueAddRequest_CronTimetable) GetTimezone() []byte { - if m != nil { - return m.Timezone - } - return nil -} - -type TaskQueueAddResponse struct { - ChosenTaskName []byte `protobuf:"bytes,1,opt,name=chosen_task_name" json:"chosen_task_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueAddResponse) Reset() { *m = TaskQueueAddResponse{} } -func (m *TaskQueueAddResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueAddResponse) ProtoMessage() {} - -func (m *TaskQueueAddResponse) GetChosenTaskName() []byte { - if m != nil { - return m.ChosenTaskName - } - return nil -} - -type TaskQueueBulkAddRequest struct { - AddRequest []*TaskQueueAddRequest `protobuf:"bytes,1,rep,name=add_request" json:"add_request,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueBulkAddRequest) Reset() { *m = TaskQueueBulkAddRequest{} } -func (m *TaskQueueBulkAddRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueBulkAddRequest) ProtoMessage() {} - -func (m *TaskQueueBulkAddRequest) GetAddRequest() []*TaskQueueAddRequest { - if m != nil { - return m.AddRequest - } - return nil -} - -type TaskQueueBulkAddResponse struct { - Taskresult []*TaskQueueBulkAddResponse_TaskResult `protobuf:"group,1,rep,name=TaskResult" json:"taskresult,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueBulkAddResponse) Reset() { *m = TaskQueueBulkAddResponse{} } -func (m *TaskQueueBulkAddResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueBulkAddResponse) ProtoMessage() {} - -func (m *TaskQueueBulkAddResponse) GetTaskresult() []*TaskQueueBulkAddResponse_TaskResult { - if m != nil { - return m.Taskresult - } - return nil -} - -type TaskQueueBulkAddResponse_TaskResult struct { - Result *TaskQueueServiceError_ErrorCode `protobuf:"varint,2,req,name=result,enum=appengine.TaskQueueServiceError_ErrorCode" json:"result,omitempty"` - ChosenTaskName []byte `protobuf:"bytes,3,opt,name=chosen_task_name" json:"chosen_task_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueBulkAddResponse_TaskResult) Reset() { *m = TaskQueueBulkAddResponse_TaskResult{} } -func (m *TaskQueueBulkAddResponse_TaskResult) String() string { return proto.CompactTextString(m) } -func (*TaskQueueBulkAddResponse_TaskResult) ProtoMessage() {} - -func (m *TaskQueueBulkAddResponse_TaskResult) GetResult() TaskQueueServiceError_ErrorCode { - if m != nil && m.Result != nil { - return *m.Result - } - return TaskQueueServiceError_OK -} - -func (m *TaskQueueBulkAddResponse_TaskResult) GetChosenTaskName() []byte { - if m != nil { - return m.ChosenTaskName - } - return nil -} - -type TaskQueueDeleteRequest struct { - QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` - TaskName [][]byte `protobuf:"bytes,2,rep,name=task_name" json:"task_name,omitempty"` - AppId []byte `protobuf:"bytes,3,opt,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueDeleteRequest) Reset() { *m = TaskQueueDeleteRequest{} } -func (m *TaskQueueDeleteRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueDeleteRequest) ProtoMessage() {} - -func (m *TaskQueueDeleteRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueDeleteRequest) GetTaskName() [][]byte { - if m != nil { - return m.TaskName - } - return nil -} - -func (m *TaskQueueDeleteRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type TaskQueueDeleteResponse struct { - Result []TaskQueueServiceError_ErrorCode `protobuf:"varint,3,rep,name=result,enum=appengine.TaskQueueServiceError_ErrorCode" json:"result,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueDeleteResponse) Reset() { *m = TaskQueueDeleteResponse{} } -func (m *TaskQueueDeleteResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueDeleteResponse) ProtoMessage() {} - -func (m *TaskQueueDeleteResponse) GetResult() []TaskQueueServiceError_ErrorCode { - if m != nil { - return m.Result - } - return nil -} - -type TaskQueueForceRunRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - TaskName []byte `protobuf:"bytes,3,req,name=task_name" json:"task_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueForceRunRequest) Reset() { *m = TaskQueueForceRunRequest{} } -func (m *TaskQueueForceRunRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueForceRunRequest) ProtoMessage() {} - -func (m *TaskQueueForceRunRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueForceRunRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueForceRunRequest) GetTaskName() []byte { - if m != nil { - return m.TaskName - } - return nil -} - -type TaskQueueForceRunResponse struct { - Result *TaskQueueServiceError_ErrorCode `protobuf:"varint,3,req,name=result,enum=appengine.TaskQueueServiceError_ErrorCode" json:"result,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueForceRunResponse) Reset() { *m = TaskQueueForceRunResponse{} } -func (m *TaskQueueForceRunResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueForceRunResponse) ProtoMessage() {} - -func (m *TaskQueueForceRunResponse) GetResult() TaskQueueServiceError_ErrorCode { - if m != nil && m.Result != nil { - return *m.Result - } - return TaskQueueServiceError_OK -} - -type TaskQueueUpdateQueueRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - BucketRefillPerSecond *float64 `protobuf:"fixed64,3,req,name=bucket_refill_per_second" json:"bucket_refill_per_second,omitempty"` - BucketCapacity *int32 `protobuf:"varint,4,req,name=bucket_capacity" json:"bucket_capacity,omitempty"` - UserSpecifiedRate *string `protobuf:"bytes,5,opt,name=user_specified_rate" json:"user_specified_rate,omitempty"` - RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,6,opt,name=retry_parameters" json:"retry_parameters,omitempty"` - MaxConcurrentRequests *int32 `protobuf:"varint,7,opt,name=max_concurrent_requests" json:"max_concurrent_requests,omitempty"` - Mode *TaskQueueMode_Mode `protobuf:"varint,8,opt,name=mode,enum=appengine.TaskQueueMode_Mode,def=0" json:"mode,omitempty"` - Acl *TaskQueueAcl `protobuf:"bytes,9,opt,name=acl" json:"acl,omitempty"` - HeaderOverride []*TaskQueueHttpHeader `protobuf:"bytes,10,rep,name=header_override" json:"header_override,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueUpdateQueueRequest) Reset() { *m = TaskQueueUpdateQueueRequest{} } -func (m *TaskQueueUpdateQueueRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueUpdateQueueRequest) ProtoMessage() {} - -const Default_TaskQueueUpdateQueueRequest_Mode TaskQueueMode_Mode = TaskQueueMode_PUSH - -func (m *TaskQueueUpdateQueueRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueUpdateQueueRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueUpdateQueueRequest) GetBucketRefillPerSecond() float64 { - if m != nil && m.BucketRefillPerSecond != nil { - return *m.BucketRefillPerSecond - } - return 0 -} - -func (m *TaskQueueUpdateQueueRequest) GetBucketCapacity() int32 { - if m != nil && m.BucketCapacity != nil { - return *m.BucketCapacity - } - return 0 -} - -func (m *TaskQueueUpdateQueueRequest) GetUserSpecifiedRate() string { - if m != nil && m.UserSpecifiedRate != nil { - return *m.UserSpecifiedRate - } - return "" -} - -func (m *TaskQueueUpdateQueueRequest) GetRetryParameters() *TaskQueueRetryParameters { - if m != nil { - return m.RetryParameters - } - return nil -} - -func (m *TaskQueueUpdateQueueRequest) GetMaxConcurrentRequests() int32 { - if m != nil && m.MaxConcurrentRequests != nil { - return *m.MaxConcurrentRequests - } - return 0 -} - -func (m *TaskQueueUpdateQueueRequest) GetMode() TaskQueueMode_Mode { - if m != nil && m.Mode != nil { - return *m.Mode - } - return Default_TaskQueueUpdateQueueRequest_Mode -} - -func (m *TaskQueueUpdateQueueRequest) GetAcl() *TaskQueueAcl { - if m != nil { - return m.Acl - } - return nil -} - -func (m *TaskQueueUpdateQueueRequest) GetHeaderOverride() []*TaskQueueHttpHeader { - if m != nil { - return m.HeaderOverride - } - return nil -} - -type TaskQueueUpdateQueueResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueUpdateQueueResponse) Reset() { *m = TaskQueueUpdateQueueResponse{} } -func (m *TaskQueueUpdateQueueResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueUpdateQueueResponse) ProtoMessage() {} - -type TaskQueueFetchQueuesRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - MaxRows *int32 `protobuf:"varint,2,req,name=max_rows" json:"max_rows,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchQueuesRequest) Reset() { *m = TaskQueueFetchQueuesRequest{} } -func (m *TaskQueueFetchQueuesRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchQueuesRequest) ProtoMessage() {} - -func (m *TaskQueueFetchQueuesRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueFetchQueuesRequest) GetMaxRows() int32 { - if m != nil && m.MaxRows != nil { - return *m.MaxRows - } - return 0 -} - -type TaskQueueFetchQueuesResponse struct { - Queue []*TaskQueueFetchQueuesResponse_Queue `protobuf:"group,1,rep,name=Queue" json:"queue,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchQueuesResponse) Reset() { *m = TaskQueueFetchQueuesResponse{} } -func (m *TaskQueueFetchQueuesResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchQueuesResponse) ProtoMessage() {} - -func (m *TaskQueueFetchQueuesResponse) GetQueue() []*TaskQueueFetchQueuesResponse_Queue { - if m != nil { - return m.Queue - } - return nil -} - -type TaskQueueFetchQueuesResponse_Queue struct { - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - BucketRefillPerSecond *float64 `protobuf:"fixed64,3,req,name=bucket_refill_per_second" json:"bucket_refill_per_second,omitempty"` - BucketCapacity *float64 `protobuf:"fixed64,4,req,name=bucket_capacity" json:"bucket_capacity,omitempty"` - UserSpecifiedRate *string `protobuf:"bytes,5,opt,name=user_specified_rate" json:"user_specified_rate,omitempty"` - Paused *bool `protobuf:"varint,6,req,name=paused,def=0" json:"paused,omitempty"` - RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,7,opt,name=retry_parameters" json:"retry_parameters,omitempty"` - MaxConcurrentRequests *int32 `protobuf:"varint,8,opt,name=max_concurrent_requests" json:"max_concurrent_requests,omitempty"` - Mode *TaskQueueMode_Mode `protobuf:"varint,9,opt,name=mode,enum=appengine.TaskQueueMode_Mode,def=0" json:"mode,omitempty"` - Acl *TaskQueueAcl `protobuf:"bytes,10,opt,name=acl" json:"acl,omitempty"` - HeaderOverride []*TaskQueueHttpHeader `protobuf:"bytes,11,rep,name=header_override" json:"header_override,omitempty"` - CreatorName *string `protobuf:"bytes,12,opt,name=creator_name,def=apphosting" json:"creator_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchQueuesResponse_Queue) Reset() { *m = TaskQueueFetchQueuesResponse_Queue{} } -func (m *TaskQueueFetchQueuesResponse_Queue) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchQueuesResponse_Queue) ProtoMessage() {} - -const Default_TaskQueueFetchQueuesResponse_Queue_Paused bool = false -const Default_TaskQueueFetchQueuesResponse_Queue_Mode TaskQueueMode_Mode = TaskQueueMode_PUSH -const Default_TaskQueueFetchQueuesResponse_Queue_CreatorName string = "apphosting" - -func (m *TaskQueueFetchQueuesResponse_Queue) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetBucketRefillPerSecond() float64 { - if m != nil && m.BucketRefillPerSecond != nil { - return *m.BucketRefillPerSecond - } - return 0 -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetBucketCapacity() float64 { - if m != nil && m.BucketCapacity != nil { - return *m.BucketCapacity - } - return 0 -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetUserSpecifiedRate() string { - if m != nil && m.UserSpecifiedRate != nil { - return *m.UserSpecifiedRate - } - return "" -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetPaused() bool { - if m != nil && m.Paused != nil { - return *m.Paused - } - return Default_TaskQueueFetchQueuesResponse_Queue_Paused -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetRetryParameters() *TaskQueueRetryParameters { - if m != nil { - return m.RetryParameters - } - return nil -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetMaxConcurrentRequests() int32 { - if m != nil && m.MaxConcurrentRequests != nil { - return *m.MaxConcurrentRequests - } - return 0 -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetMode() TaskQueueMode_Mode { - if m != nil && m.Mode != nil { - return *m.Mode - } - return Default_TaskQueueFetchQueuesResponse_Queue_Mode -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetAcl() *TaskQueueAcl { - if m != nil { - return m.Acl - } - return nil -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetHeaderOverride() []*TaskQueueHttpHeader { - if m != nil { - return m.HeaderOverride - } - return nil -} - -func (m *TaskQueueFetchQueuesResponse_Queue) GetCreatorName() string { - if m != nil && m.CreatorName != nil { - return *m.CreatorName - } - return Default_TaskQueueFetchQueuesResponse_Queue_CreatorName -} - -type TaskQueueFetchQueueStatsRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - QueueName [][]byte `protobuf:"bytes,2,rep,name=queue_name" json:"queue_name,omitempty"` - MaxNumTasks *int32 `protobuf:"varint,3,opt,name=max_num_tasks,def=0" json:"max_num_tasks,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchQueueStatsRequest) Reset() { *m = TaskQueueFetchQueueStatsRequest{} } -func (m *TaskQueueFetchQueueStatsRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchQueueStatsRequest) ProtoMessage() {} - -const Default_TaskQueueFetchQueueStatsRequest_MaxNumTasks int32 = 0 - -func (m *TaskQueueFetchQueueStatsRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueFetchQueueStatsRequest) GetQueueName() [][]byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueFetchQueueStatsRequest) GetMaxNumTasks() int32 { - if m != nil && m.MaxNumTasks != nil { - return *m.MaxNumTasks - } - return Default_TaskQueueFetchQueueStatsRequest_MaxNumTasks -} - -type TaskQueueScannerQueueInfo struct { - ExecutedLastMinute *int64 `protobuf:"varint,1,req,name=executed_last_minute" json:"executed_last_minute,omitempty"` - ExecutedLastHour *int64 `protobuf:"varint,2,req,name=executed_last_hour" json:"executed_last_hour,omitempty"` - SamplingDurationSeconds *float64 `protobuf:"fixed64,3,req,name=sampling_duration_seconds" json:"sampling_duration_seconds,omitempty"` - RequestsInFlight *int32 `protobuf:"varint,4,opt,name=requests_in_flight" json:"requests_in_flight,omitempty"` - EnforcedRate *float64 `protobuf:"fixed64,5,opt,name=enforced_rate" json:"enforced_rate,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueScannerQueueInfo) Reset() { *m = TaskQueueScannerQueueInfo{} } -func (m *TaskQueueScannerQueueInfo) String() string { return proto.CompactTextString(m) } -func (*TaskQueueScannerQueueInfo) ProtoMessage() {} - -func (m *TaskQueueScannerQueueInfo) GetExecutedLastMinute() int64 { - if m != nil && m.ExecutedLastMinute != nil { - return *m.ExecutedLastMinute - } - return 0 -} - -func (m *TaskQueueScannerQueueInfo) GetExecutedLastHour() int64 { - if m != nil && m.ExecutedLastHour != nil { - return *m.ExecutedLastHour - } - return 0 -} - -func (m *TaskQueueScannerQueueInfo) GetSamplingDurationSeconds() float64 { - if m != nil && m.SamplingDurationSeconds != nil { - return *m.SamplingDurationSeconds - } - return 0 -} - -func (m *TaskQueueScannerQueueInfo) GetRequestsInFlight() int32 { - if m != nil && m.RequestsInFlight != nil { - return *m.RequestsInFlight - } - return 0 -} - -func (m *TaskQueueScannerQueueInfo) GetEnforcedRate() float64 { - if m != nil && m.EnforcedRate != nil { - return *m.EnforcedRate - } - return 0 -} - -type TaskQueueFetchQueueStatsResponse struct { - Queuestats []*TaskQueueFetchQueueStatsResponse_QueueStats `protobuf:"group,1,rep,name=QueueStats" json:"queuestats,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchQueueStatsResponse) Reset() { *m = TaskQueueFetchQueueStatsResponse{} } -func (m *TaskQueueFetchQueueStatsResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchQueueStatsResponse) ProtoMessage() {} - -func (m *TaskQueueFetchQueueStatsResponse) GetQueuestats() []*TaskQueueFetchQueueStatsResponse_QueueStats { - if m != nil { - return m.Queuestats - } - return nil -} - -type TaskQueueFetchQueueStatsResponse_QueueStats struct { - NumTasks *int32 `protobuf:"varint,2,req,name=num_tasks" json:"num_tasks,omitempty"` - OldestEtaUsec *int64 `protobuf:"varint,3,req,name=oldest_eta_usec" json:"oldest_eta_usec,omitempty"` - ScannerInfo *TaskQueueScannerQueueInfo `protobuf:"bytes,4,opt,name=scanner_info" json:"scanner_info,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchQueueStatsResponse_QueueStats) Reset() { - *m = TaskQueueFetchQueueStatsResponse_QueueStats{} -} -func (m *TaskQueueFetchQueueStatsResponse_QueueStats) String() string { - return proto.CompactTextString(m) -} -func (*TaskQueueFetchQueueStatsResponse_QueueStats) ProtoMessage() {} - -func (m *TaskQueueFetchQueueStatsResponse_QueueStats) GetNumTasks() int32 { - if m != nil && m.NumTasks != nil { - return *m.NumTasks - } - return 0 -} - -func (m *TaskQueueFetchQueueStatsResponse_QueueStats) GetOldestEtaUsec() int64 { - if m != nil && m.OldestEtaUsec != nil { - return *m.OldestEtaUsec - } - return 0 -} - -func (m *TaskQueueFetchQueueStatsResponse_QueueStats) GetScannerInfo() *TaskQueueScannerQueueInfo { - if m != nil { - return m.ScannerInfo - } - return nil -} - -type TaskQueuePauseQueueRequest struct { - AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - Pause *bool `protobuf:"varint,3,req,name=pause" json:"pause,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueuePauseQueueRequest) Reset() { *m = TaskQueuePauseQueueRequest{} } -func (m *TaskQueuePauseQueueRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueuePauseQueueRequest) ProtoMessage() {} - -func (m *TaskQueuePauseQueueRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueuePauseQueueRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueuePauseQueueRequest) GetPause() bool { - if m != nil && m.Pause != nil { - return *m.Pause - } - return false -} - -type TaskQueuePauseQueueResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueuePauseQueueResponse) Reset() { *m = TaskQueuePauseQueueResponse{} } -func (m *TaskQueuePauseQueueResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueuePauseQueueResponse) ProtoMessage() {} - -type TaskQueuePurgeQueueRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueuePurgeQueueRequest) Reset() { *m = TaskQueuePurgeQueueRequest{} } -func (m *TaskQueuePurgeQueueRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueuePurgeQueueRequest) ProtoMessage() {} - -func (m *TaskQueuePurgeQueueRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueuePurgeQueueRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -type TaskQueuePurgeQueueResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueuePurgeQueueResponse) Reset() { *m = TaskQueuePurgeQueueResponse{} } -func (m *TaskQueuePurgeQueueResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueuePurgeQueueResponse) ProtoMessage() {} - -type TaskQueueDeleteQueueRequest struct { - AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueDeleteQueueRequest) Reset() { *m = TaskQueueDeleteQueueRequest{} } -func (m *TaskQueueDeleteQueueRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueDeleteQueueRequest) ProtoMessage() {} - -func (m *TaskQueueDeleteQueueRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueDeleteQueueRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -type TaskQueueDeleteQueueResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueDeleteQueueResponse) Reset() { *m = TaskQueueDeleteQueueResponse{} } -func (m *TaskQueueDeleteQueueResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueDeleteQueueResponse) ProtoMessage() {} - -type TaskQueueDeleteGroupRequest struct { - AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueDeleteGroupRequest) Reset() { *m = TaskQueueDeleteGroupRequest{} } -func (m *TaskQueueDeleteGroupRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueDeleteGroupRequest) ProtoMessage() {} - -func (m *TaskQueueDeleteGroupRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -type TaskQueueDeleteGroupResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueDeleteGroupResponse) Reset() { *m = TaskQueueDeleteGroupResponse{} } -func (m *TaskQueueDeleteGroupResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueDeleteGroupResponse) ProtoMessage() {} - -type TaskQueueQueryTasksRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - StartTaskName []byte `protobuf:"bytes,3,opt,name=start_task_name" json:"start_task_name,omitempty"` - StartEtaUsec *int64 `protobuf:"varint,4,opt,name=start_eta_usec" json:"start_eta_usec,omitempty"` - StartTag []byte `protobuf:"bytes,6,opt,name=start_tag" json:"start_tag,omitempty"` - MaxRows *int32 `protobuf:"varint,5,opt,name=max_rows,def=1" json:"max_rows,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryTasksRequest) Reset() { *m = TaskQueueQueryTasksRequest{} } -func (m *TaskQueueQueryTasksRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryTasksRequest) ProtoMessage() {} - -const Default_TaskQueueQueryTasksRequest_MaxRows int32 = 1 - -func (m *TaskQueueQueryTasksRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueQueryTasksRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueQueryTasksRequest) GetStartTaskName() []byte { - if m != nil { - return m.StartTaskName - } - return nil -} - -func (m *TaskQueueQueryTasksRequest) GetStartEtaUsec() int64 { - if m != nil && m.StartEtaUsec != nil { - return *m.StartEtaUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksRequest) GetStartTag() []byte { - if m != nil { - return m.StartTag - } - return nil -} - -func (m *TaskQueueQueryTasksRequest) GetMaxRows() int32 { - if m != nil && m.MaxRows != nil { - return *m.MaxRows - } - return Default_TaskQueueQueryTasksRequest_MaxRows -} - -type TaskQueueQueryTasksResponse struct { - Task []*TaskQueueQueryTasksResponse_Task `protobuf:"group,1,rep,name=Task" json:"task,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryTasksResponse) Reset() { *m = TaskQueueQueryTasksResponse{} } -func (m *TaskQueueQueryTasksResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryTasksResponse) ProtoMessage() {} - -func (m *TaskQueueQueryTasksResponse) GetTask() []*TaskQueueQueryTasksResponse_Task { - if m != nil { - return m.Task - } - return nil -} - -type TaskQueueQueryTasksResponse_Task struct { - TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` - EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` - Url []byte `protobuf:"bytes,4,opt,name=url" json:"url,omitempty"` - Method *TaskQueueQueryTasksResponse_Task_RequestMethod `protobuf:"varint,5,opt,name=method,enum=appengine.TaskQueueQueryTasksResponse_Task_RequestMethod" json:"method,omitempty"` - RetryCount *int32 `protobuf:"varint,6,opt,name=retry_count,def=0" json:"retry_count,omitempty"` - Header []*TaskQueueQueryTasksResponse_Task_Header `protobuf:"group,7,rep,name=Header" json:"header,omitempty"` - BodySize *int32 `protobuf:"varint,10,opt,name=body_size" json:"body_size,omitempty"` - Body []byte `protobuf:"bytes,11,opt,name=body" json:"body,omitempty"` - CreationTimeUsec *int64 `protobuf:"varint,12,req,name=creation_time_usec" json:"creation_time_usec,omitempty"` - Crontimetable *TaskQueueQueryTasksResponse_Task_CronTimetable `protobuf:"group,13,opt,name=CronTimetable" json:"crontimetable,omitempty"` - Runlog *TaskQueueQueryTasksResponse_Task_RunLog `protobuf:"group,16,opt,name=RunLog" json:"runlog,omitempty"` - Description []byte `protobuf:"bytes,21,opt,name=description" json:"description,omitempty"` - Payload *TaskPayload `protobuf:"bytes,22,opt,name=payload" json:"payload,omitempty"` - RetryParameters *TaskQueueRetryParameters `protobuf:"bytes,23,opt,name=retry_parameters" json:"retry_parameters,omitempty"` - FirstTryUsec *int64 `protobuf:"varint,24,opt,name=first_try_usec" json:"first_try_usec,omitempty"` - Tag []byte `protobuf:"bytes,25,opt,name=tag" json:"tag,omitempty"` - ExecutionCount *int32 `protobuf:"varint,26,opt,name=execution_count,def=0" json:"execution_count,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryTasksResponse_Task) Reset() { *m = TaskQueueQueryTasksResponse_Task{} } -func (m *TaskQueueQueryTasksResponse_Task) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryTasksResponse_Task) ProtoMessage() {} - -const Default_TaskQueueQueryTasksResponse_Task_RetryCount int32 = 0 -const Default_TaskQueueQueryTasksResponse_Task_ExecutionCount int32 = 0 - -func (m *TaskQueueQueryTasksResponse_Task) GetTaskName() []byte { - if m != nil { - return m.TaskName - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetEtaUsec() int64 { - if m != nil && m.EtaUsec != nil { - return *m.EtaUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task) GetUrl() []byte { - if m != nil { - return m.Url - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetMethod() TaskQueueQueryTasksResponse_Task_RequestMethod { - if m != nil && m.Method != nil { - return *m.Method - } - return TaskQueueQueryTasksResponse_Task_GET -} - -func (m *TaskQueueQueryTasksResponse_Task) GetRetryCount() int32 { - if m != nil && m.RetryCount != nil { - return *m.RetryCount - } - return Default_TaskQueueQueryTasksResponse_Task_RetryCount -} - -func (m *TaskQueueQueryTasksResponse_Task) GetHeader() []*TaskQueueQueryTasksResponse_Task_Header { - if m != nil { - return m.Header - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetBodySize() int32 { - if m != nil && m.BodySize != nil { - return *m.BodySize - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task) GetBody() []byte { - if m != nil { - return m.Body - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetCreationTimeUsec() int64 { - if m != nil && m.CreationTimeUsec != nil { - return *m.CreationTimeUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task) GetCrontimetable() *TaskQueueQueryTasksResponse_Task_CronTimetable { - if m != nil { - return m.Crontimetable - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetRunlog() *TaskQueueQueryTasksResponse_Task_RunLog { - if m != nil { - return m.Runlog - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetDescription() []byte { - if m != nil { - return m.Description - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetPayload() *TaskPayload { - if m != nil { - return m.Payload - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetRetryParameters() *TaskQueueRetryParameters { - if m != nil { - return m.RetryParameters - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetFirstTryUsec() int64 { - if m != nil && m.FirstTryUsec != nil { - return *m.FirstTryUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task) GetTag() []byte { - if m != nil { - return m.Tag - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task) GetExecutionCount() int32 { - if m != nil && m.ExecutionCount != nil { - return *m.ExecutionCount - } - return Default_TaskQueueQueryTasksResponse_Task_ExecutionCount -} - -type TaskQueueQueryTasksResponse_Task_Header struct { - Key []byte `protobuf:"bytes,8,req,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,9,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryTasksResponse_Task_Header) Reset() { - *m = TaskQueueQueryTasksResponse_Task_Header{} -} -func (m *TaskQueueQueryTasksResponse_Task_Header) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryTasksResponse_Task_Header) ProtoMessage() {} - -func (m *TaskQueueQueryTasksResponse_Task_Header) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task_Header) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -type TaskQueueQueryTasksResponse_Task_CronTimetable struct { - Schedule []byte `protobuf:"bytes,14,req,name=schedule" json:"schedule,omitempty"` - Timezone []byte `protobuf:"bytes,15,req,name=timezone" json:"timezone,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) Reset() { - *m = TaskQueueQueryTasksResponse_Task_CronTimetable{} -} -func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) String() string { - return proto.CompactTextString(m) -} -func (*TaskQueueQueryTasksResponse_Task_CronTimetable) ProtoMessage() {} - -func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) GetSchedule() []byte { - if m != nil { - return m.Schedule - } - return nil -} - -func (m *TaskQueueQueryTasksResponse_Task_CronTimetable) GetTimezone() []byte { - if m != nil { - return m.Timezone - } - return nil -} - -type TaskQueueQueryTasksResponse_Task_RunLog struct { - DispatchedUsec *int64 `protobuf:"varint,17,req,name=dispatched_usec" json:"dispatched_usec,omitempty"` - LagUsec *int64 `protobuf:"varint,18,req,name=lag_usec" json:"lag_usec,omitempty"` - ElapsedUsec *int64 `protobuf:"varint,19,req,name=elapsed_usec" json:"elapsed_usec,omitempty"` - ResponseCode *int64 `protobuf:"varint,20,opt,name=response_code" json:"response_code,omitempty"` - RetryReason *string `protobuf:"bytes,27,opt,name=retry_reason" json:"retry_reason,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryTasksResponse_Task_RunLog) Reset() { - *m = TaskQueueQueryTasksResponse_Task_RunLog{} -} -func (m *TaskQueueQueryTasksResponse_Task_RunLog) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryTasksResponse_Task_RunLog) ProtoMessage() {} - -func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetDispatchedUsec() int64 { - if m != nil && m.DispatchedUsec != nil { - return *m.DispatchedUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetLagUsec() int64 { - if m != nil && m.LagUsec != nil { - return *m.LagUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetElapsedUsec() int64 { - if m != nil && m.ElapsedUsec != nil { - return *m.ElapsedUsec - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetResponseCode() int64 { - if m != nil && m.ResponseCode != nil { - return *m.ResponseCode - } - return 0 -} - -func (m *TaskQueueQueryTasksResponse_Task_RunLog) GetRetryReason() string { - if m != nil && m.RetryReason != nil { - return *m.RetryReason - } - return "" -} - -type TaskQueueFetchTaskRequest struct { - AppId []byte `protobuf:"bytes,1,opt,name=app_id" json:"app_id,omitempty"` - QueueName []byte `protobuf:"bytes,2,req,name=queue_name" json:"queue_name,omitempty"` - TaskName []byte `protobuf:"bytes,3,req,name=task_name" json:"task_name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchTaskRequest) Reset() { *m = TaskQueueFetchTaskRequest{} } -func (m *TaskQueueFetchTaskRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchTaskRequest) ProtoMessage() {} - -func (m *TaskQueueFetchTaskRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueFetchTaskRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueFetchTaskRequest) GetTaskName() []byte { - if m != nil { - return m.TaskName - } - return nil -} - -type TaskQueueFetchTaskResponse struct { - Task *TaskQueueQueryTasksResponse `protobuf:"bytes,1,req,name=task" json:"task,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueFetchTaskResponse) Reset() { *m = TaskQueueFetchTaskResponse{} } -func (m *TaskQueueFetchTaskResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueFetchTaskResponse) ProtoMessage() {} - -func (m *TaskQueueFetchTaskResponse) GetTask() *TaskQueueQueryTasksResponse { - if m != nil { - return m.Task - } - return nil -} - -type TaskQueueUpdateStorageLimitRequest struct { - AppId []byte `protobuf:"bytes,1,req,name=app_id" json:"app_id,omitempty"` - Limit *int64 `protobuf:"varint,2,req,name=limit" json:"limit,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueUpdateStorageLimitRequest) Reset() { *m = TaskQueueUpdateStorageLimitRequest{} } -func (m *TaskQueueUpdateStorageLimitRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueUpdateStorageLimitRequest) ProtoMessage() {} - -func (m *TaskQueueUpdateStorageLimitRequest) GetAppId() []byte { - if m != nil { - return m.AppId - } - return nil -} - -func (m *TaskQueueUpdateStorageLimitRequest) GetLimit() int64 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return 0 -} - -type TaskQueueUpdateStorageLimitResponse struct { - NewLimit *int64 `protobuf:"varint,1,req,name=new_limit" json:"new_limit,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueUpdateStorageLimitResponse) Reset() { *m = TaskQueueUpdateStorageLimitResponse{} } -func (m *TaskQueueUpdateStorageLimitResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueUpdateStorageLimitResponse) ProtoMessage() {} - -func (m *TaskQueueUpdateStorageLimitResponse) GetNewLimit() int64 { - if m != nil && m.NewLimit != nil { - return *m.NewLimit - } - return 0 -} - -type TaskQueueQueryAndOwnTasksRequest struct { - QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` - LeaseSeconds *float64 `protobuf:"fixed64,2,req,name=lease_seconds" json:"lease_seconds,omitempty"` - MaxTasks *int64 `protobuf:"varint,3,req,name=max_tasks" json:"max_tasks,omitempty"` - GroupByTag *bool `protobuf:"varint,4,opt,name=group_by_tag,def=0" json:"group_by_tag,omitempty"` - Tag []byte `protobuf:"bytes,5,opt,name=tag" json:"tag,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryAndOwnTasksRequest) Reset() { *m = TaskQueueQueryAndOwnTasksRequest{} } -func (m *TaskQueueQueryAndOwnTasksRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryAndOwnTasksRequest) ProtoMessage() {} - -const Default_TaskQueueQueryAndOwnTasksRequest_GroupByTag bool = false - -func (m *TaskQueueQueryAndOwnTasksRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueQueryAndOwnTasksRequest) GetLeaseSeconds() float64 { - if m != nil && m.LeaseSeconds != nil { - return *m.LeaseSeconds - } - return 0 -} - -func (m *TaskQueueQueryAndOwnTasksRequest) GetMaxTasks() int64 { - if m != nil && m.MaxTasks != nil { - return *m.MaxTasks - } - return 0 -} - -func (m *TaskQueueQueryAndOwnTasksRequest) GetGroupByTag() bool { - if m != nil && m.GroupByTag != nil { - return *m.GroupByTag - } - return Default_TaskQueueQueryAndOwnTasksRequest_GroupByTag -} - -func (m *TaskQueueQueryAndOwnTasksRequest) GetTag() []byte { - if m != nil { - return m.Tag - } - return nil -} - -type TaskQueueQueryAndOwnTasksResponse struct { - Task []*TaskQueueQueryAndOwnTasksResponse_Task `protobuf:"group,1,rep,name=Task" json:"task,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryAndOwnTasksResponse) Reset() { *m = TaskQueueQueryAndOwnTasksResponse{} } -func (m *TaskQueueQueryAndOwnTasksResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryAndOwnTasksResponse) ProtoMessage() {} - -func (m *TaskQueueQueryAndOwnTasksResponse) GetTask() []*TaskQueueQueryAndOwnTasksResponse_Task { - if m != nil { - return m.Task - } - return nil -} - -type TaskQueueQueryAndOwnTasksResponse_Task struct { - TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` - EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` - RetryCount *int32 `protobuf:"varint,4,opt,name=retry_count,def=0" json:"retry_count,omitempty"` - Body []byte `protobuf:"bytes,5,opt,name=body" json:"body,omitempty"` - Tag []byte `protobuf:"bytes,6,opt,name=tag" json:"tag,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueQueryAndOwnTasksResponse_Task) Reset() { - *m = TaskQueueQueryAndOwnTasksResponse_Task{} -} -func (m *TaskQueueQueryAndOwnTasksResponse_Task) String() string { return proto.CompactTextString(m) } -func (*TaskQueueQueryAndOwnTasksResponse_Task) ProtoMessage() {} - -const Default_TaskQueueQueryAndOwnTasksResponse_Task_RetryCount int32 = 0 - -func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetTaskName() []byte { - if m != nil { - return m.TaskName - } - return nil -} - -func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetEtaUsec() int64 { - if m != nil && m.EtaUsec != nil { - return *m.EtaUsec - } - return 0 -} - -func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetRetryCount() int32 { - if m != nil && m.RetryCount != nil { - return *m.RetryCount - } - return Default_TaskQueueQueryAndOwnTasksResponse_Task_RetryCount -} - -func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetBody() []byte { - if m != nil { - return m.Body - } - return nil -} - -func (m *TaskQueueQueryAndOwnTasksResponse_Task) GetTag() []byte { - if m != nil { - return m.Tag - } - return nil -} - -type TaskQueueModifyTaskLeaseRequest struct { - QueueName []byte `protobuf:"bytes,1,req,name=queue_name" json:"queue_name,omitempty"` - TaskName []byte `protobuf:"bytes,2,req,name=task_name" json:"task_name,omitempty"` - EtaUsec *int64 `protobuf:"varint,3,req,name=eta_usec" json:"eta_usec,omitempty"` - LeaseSeconds *float64 `protobuf:"fixed64,4,req,name=lease_seconds" json:"lease_seconds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueModifyTaskLeaseRequest) Reset() { *m = TaskQueueModifyTaskLeaseRequest{} } -func (m *TaskQueueModifyTaskLeaseRequest) String() string { return proto.CompactTextString(m) } -func (*TaskQueueModifyTaskLeaseRequest) ProtoMessage() {} - -func (m *TaskQueueModifyTaskLeaseRequest) GetQueueName() []byte { - if m != nil { - return m.QueueName - } - return nil -} - -func (m *TaskQueueModifyTaskLeaseRequest) GetTaskName() []byte { - if m != nil { - return m.TaskName - } - return nil -} - -func (m *TaskQueueModifyTaskLeaseRequest) GetEtaUsec() int64 { - if m != nil && m.EtaUsec != nil { - return *m.EtaUsec - } - return 0 -} - -func (m *TaskQueueModifyTaskLeaseRequest) GetLeaseSeconds() float64 { - if m != nil && m.LeaseSeconds != nil { - return *m.LeaseSeconds - } - return 0 -} - -type TaskQueueModifyTaskLeaseResponse struct { - UpdatedEtaUsec *int64 `protobuf:"varint,1,req,name=updated_eta_usec" json:"updated_eta_usec,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *TaskQueueModifyTaskLeaseResponse) Reset() { *m = TaskQueueModifyTaskLeaseResponse{} } -func (m *TaskQueueModifyTaskLeaseResponse) String() string { return proto.CompactTextString(m) } -func (*TaskQueueModifyTaskLeaseResponse) ProtoMessage() {} - -func (m *TaskQueueModifyTaskLeaseResponse) GetUpdatedEtaUsec() int64 { - if m != nil && m.UpdatedEtaUsec != nil { - return *m.UpdatedEtaUsec - } - return 0 -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto b/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto deleted file mode 100644 index 419aaf570..000000000 --- a/vendor/google.golang.org/appengine/internal/taskqueue/taskqueue_service.proto +++ /dev/null @@ -1,342 +0,0 @@ -syntax = "proto2"; -option go_package = "taskqueue"; - -import "google.golang.org/appengine/internal/datastore/datastore_v3.proto"; - -package appengine; - -message TaskQueueServiceError { - enum ErrorCode { - OK = 0; - UNKNOWN_QUEUE = 1; - TRANSIENT_ERROR = 2; - INTERNAL_ERROR = 3; - TASK_TOO_LARGE = 4; - INVALID_TASK_NAME = 5; - INVALID_QUEUE_NAME = 6; - INVALID_URL = 7; - INVALID_QUEUE_RATE = 8; - PERMISSION_DENIED = 9; - TASK_ALREADY_EXISTS = 10; - TOMBSTONED_TASK = 11; - INVALID_ETA = 12; - INVALID_REQUEST = 13; - UNKNOWN_TASK = 14; - TOMBSTONED_QUEUE = 15; - DUPLICATE_TASK_NAME = 16; - SKIPPED = 17; - TOO_MANY_TASKS = 18; - INVALID_PAYLOAD = 19; - INVALID_RETRY_PARAMETERS = 20; - INVALID_QUEUE_MODE = 21; - ACL_LOOKUP_ERROR = 22; - TRANSACTIONAL_REQUEST_TOO_LARGE = 23; - INCORRECT_CREATOR_NAME = 24; - TASK_LEASE_EXPIRED = 25; - QUEUE_PAUSED = 26; - INVALID_TAG = 27; - - // Reserved range for the Datastore error codes. - // Original Datastore error code is shifted by DATASTORE_ERROR offset. - DATASTORE_ERROR = 10000; - } -} - -message TaskPayload { - extensions 10 to max; - option message_set_wire_format = true; -} - -message TaskQueueRetryParameters { - optional int32 retry_limit = 1; - optional int64 age_limit_sec = 2; - - optional double min_backoff_sec = 3 [default = 0.1]; - optional double max_backoff_sec = 4 [default = 3600]; - optional int32 max_doublings = 5 [default = 16]; -} - -message TaskQueueAcl { - repeated bytes user_email = 1; - repeated bytes writer_email = 2; -} - -message TaskQueueHttpHeader { - required bytes key = 1; - required bytes value = 2; -} - -message TaskQueueMode { - enum Mode { - PUSH = 0; - PULL = 1; - } -} - -message TaskQueueAddRequest { - required bytes queue_name = 1; - required bytes task_name = 2; - required int64 eta_usec = 3; - - enum RequestMethod { - GET = 1; - POST = 2; - HEAD = 3; - PUT = 4; - DELETE = 5; - } - optional RequestMethod method = 5 [default=POST]; - - optional bytes url = 4; - - repeated group Header = 6 { - required bytes key = 7; - required bytes value = 8; - } - - optional bytes body = 9 [ctype=CORD]; - optional Transaction transaction = 10; - optional bytes app_id = 11; - - optional group CronTimetable = 12 { - required bytes schedule = 13; - required bytes timezone = 14; - } - - optional bytes description = 15; - optional TaskPayload payload = 16; - optional TaskQueueRetryParameters retry_parameters = 17; - optional TaskQueueMode.Mode mode = 18 [default=PUSH]; - optional bytes tag = 19; -} - -message TaskQueueAddResponse { - optional bytes chosen_task_name = 1; -} - -message TaskQueueBulkAddRequest { - repeated TaskQueueAddRequest add_request = 1; -} - -message TaskQueueBulkAddResponse { - repeated group TaskResult = 1 { - required TaskQueueServiceError.ErrorCode result = 2; - optional bytes chosen_task_name = 3; - } -} - -message TaskQueueDeleteRequest { - required bytes queue_name = 1; - repeated bytes task_name = 2; - optional bytes app_id = 3; -} - -message TaskQueueDeleteResponse { - repeated TaskQueueServiceError.ErrorCode result = 3; -} - -message TaskQueueForceRunRequest { - optional bytes app_id = 1; - required bytes queue_name = 2; - required bytes task_name = 3; -} - -message TaskQueueForceRunResponse { - required TaskQueueServiceError.ErrorCode result = 3; -} - -message TaskQueueUpdateQueueRequest { - optional bytes app_id = 1; - required bytes queue_name = 2; - required double bucket_refill_per_second = 3; - required int32 bucket_capacity = 4; - optional string user_specified_rate = 5; - optional TaskQueueRetryParameters retry_parameters = 6; - optional int32 max_concurrent_requests = 7; - optional TaskQueueMode.Mode mode = 8 [default = PUSH]; - optional TaskQueueAcl acl = 9; - repeated TaskQueueHttpHeader header_override = 10; -} - -message TaskQueueUpdateQueueResponse { -} - -message TaskQueueFetchQueuesRequest { - optional bytes app_id = 1; - required int32 max_rows = 2; -} - -message TaskQueueFetchQueuesResponse { - repeated group Queue = 1 { - required bytes queue_name = 2; - required double bucket_refill_per_second = 3; - required double bucket_capacity = 4; - optional string user_specified_rate = 5; - required bool paused = 6 [default=false]; - optional TaskQueueRetryParameters retry_parameters = 7; - optional int32 max_concurrent_requests = 8; - optional TaskQueueMode.Mode mode = 9 [default = PUSH]; - optional TaskQueueAcl acl = 10; - repeated TaskQueueHttpHeader header_override = 11; - optional string creator_name = 12 [ctype=CORD, default="apphosting"]; - } -} - -message TaskQueueFetchQueueStatsRequest { - optional bytes app_id = 1; - repeated bytes queue_name = 2; - optional int32 max_num_tasks = 3 [default = 0]; -} - -message TaskQueueScannerQueueInfo { - required int64 executed_last_minute = 1; - required int64 executed_last_hour = 2; - required double sampling_duration_seconds = 3; - optional int32 requests_in_flight = 4; - optional double enforced_rate = 5; -} - -message TaskQueueFetchQueueStatsResponse { - repeated group QueueStats = 1 { - required int32 num_tasks = 2; - required int64 oldest_eta_usec = 3; - optional TaskQueueScannerQueueInfo scanner_info = 4; - } -} -message TaskQueuePauseQueueRequest { - required bytes app_id = 1; - required bytes queue_name = 2; - required bool pause = 3; -} - -message TaskQueuePauseQueueResponse { -} - -message TaskQueuePurgeQueueRequest { - optional bytes app_id = 1; - required bytes queue_name = 2; -} - -message TaskQueuePurgeQueueResponse { -} - -message TaskQueueDeleteQueueRequest { - required bytes app_id = 1; - required bytes queue_name = 2; -} - -message TaskQueueDeleteQueueResponse { -} - -message TaskQueueDeleteGroupRequest { - required bytes app_id = 1; -} - -message TaskQueueDeleteGroupResponse { -} - -message TaskQueueQueryTasksRequest { - optional bytes app_id = 1; - required bytes queue_name = 2; - - optional bytes start_task_name = 3; - optional int64 start_eta_usec = 4; - optional bytes start_tag = 6; - optional int32 max_rows = 5 [default = 1]; -} - -message TaskQueueQueryTasksResponse { - repeated group Task = 1 { - required bytes task_name = 2; - required int64 eta_usec = 3; - optional bytes url = 4; - - enum RequestMethod { - GET = 1; - POST = 2; - HEAD = 3; - PUT = 4; - DELETE = 5; - } - optional RequestMethod method = 5; - - optional int32 retry_count = 6 [default=0]; - - repeated group Header = 7 { - required bytes key = 8; - required bytes value = 9; - } - - optional int32 body_size = 10; - optional bytes body = 11 [ctype=CORD]; - required int64 creation_time_usec = 12; - - optional group CronTimetable = 13 { - required bytes schedule = 14; - required bytes timezone = 15; - } - - optional group RunLog = 16 { - required int64 dispatched_usec = 17; - required int64 lag_usec = 18; - required int64 elapsed_usec = 19; - optional int64 response_code = 20; - optional string retry_reason = 27; - } - - optional bytes description = 21; - optional TaskPayload payload = 22; - optional TaskQueueRetryParameters retry_parameters = 23; - optional int64 first_try_usec = 24; - optional bytes tag = 25; - optional int32 execution_count = 26 [default=0]; - } -} - -message TaskQueueFetchTaskRequest { - optional bytes app_id = 1; - required bytes queue_name = 2; - required bytes task_name = 3; -} - -message TaskQueueFetchTaskResponse { - required TaskQueueQueryTasksResponse task = 1; -} - -message TaskQueueUpdateStorageLimitRequest { - required bytes app_id = 1; - required int64 limit = 2; -} - -message TaskQueueUpdateStorageLimitResponse { - required int64 new_limit = 1; -} - -message TaskQueueQueryAndOwnTasksRequest { - required bytes queue_name = 1; - required double lease_seconds = 2; - required int64 max_tasks = 3; - optional bool group_by_tag = 4 [default=false]; - optional bytes tag = 5; -} - -message TaskQueueQueryAndOwnTasksResponse { - repeated group Task = 1 { - required bytes task_name = 2; - required int64 eta_usec = 3; - optional int32 retry_count = 4 [default=0]; - optional bytes body = 5 [ctype=CORD]; - optional bytes tag = 6; - } -} - -message TaskQueueModifyTaskLeaseRequest { - required bytes queue_name = 1; - required bytes task_name = 2; - required int64 eta_usec = 3; - required double lease_seconds = 4; -} - -message TaskQueueModifyTaskLeaseResponse { - required int64 updated_eta_usec = 1; -} diff --git a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go deleted file mode 100644 index af463fbb2..000000000 --- a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +++ /dev/null @@ -1,355 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto -// DO NOT EDIT! - -/* -Package urlfetch is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto - -It has these top-level messages: - URLFetchServiceError - URLFetchRequest - URLFetchResponse -*/ -package urlfetch - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type URLFetchServiceError_ErrorCode int32 - -const ( - URLFetchServiceError_OK URLFetchServiceError_ErrorCode = 0 - URLFetchServiceError_INVALID_URL URLFetchServiceError_ErrorCode = 1 - URLFetchServiceError_FETCH_ERROR URLFetchServiceError_ErrorCode = 2 - URLFetchServiceError_UNSPECIFIED_ERROR URLFetchServiceError_ErrorCode = 3 - URLFetchServiceError_RESPONSE_TOO_LARGE URLFetchServiceError_ErrorCode = 4 - URLFetchServiceError_DEADLINE_EXCEEDED URLFetchServiceError_ErrorCode = 5 - URLFetchServiceError_SSL_CERTIFICATE_ERROR URLFetchServiceError_ErrorCode = 6 - URLFetchServiceError_DNS_ERROR URLFetchServiceError_ErrorCode = 7 - URLFetchServiceError_CLOSED URLFetchServiceError_ErrorCode = 8 - URLFetchServiceError_INTERNAL_TRANSIENT_ERROR URLFetchServiceError_ErrorCode = 9 - URLFetchServiceError_TOO_MANY_REDIRECTS URLFetchServiceError_ErrorCode = 10 - URLFetchServiceError_MALFORMED_REPLY URLFetchServiceError_ErrorCode = 11 - URLFetchServiceError_CONNECTION_ERROR URLFetchServiceError_ErrorCode = 12 -) - -var URLFetchServiceError_ErrorCode_name = map[int32]string{ - 0: "OK", - 1: "INVALID_URL", - 2: "FETCH_ERROR", - 3: "UNSPECIFIED_ERROR", - 4: "RESPONSE_TOO_LARGE", - 5: "DEADLINE_EXCEEDED", - 6: "SSL_CERTIFICATE_ERROR", - 7: "DNS_ERROR", - 8: "CLOSED", - 9: "INTERNAL_TRANSIENT_ERROR", - 10: "TOO_MANY_REDIRECTS", - 11: "MALFORMED_REPLY", - 12: "CONNECTION_ERROR", -} -var URLFetchServiceError_ErrorCode_value = map[string]int32{ - "OK": 0, - "INVALID_URL": 1, - "FETCH_ERROR": 2, - "UNSPECIFIED_ERROR": 3, - "RESPONSE_TOO_LARGE": 4, - "DEADLINE_EXCEEDED": 5, - "SSL_CERTIFICATE_ERROR": 6, - "DNS_ERROR": 7, - "CLOSED": 8, - "INTERNAL_TRANSIENT_ERROR": 9, - "TOO_MANY_REDIRECTS": 10, - "MALFORMED_REPLY": 11, - "CONNECTION_ERROR": 12, -} - -func (x URLFetchServiceError_ErrorCode) Enum() *URLFetchServiceError_ErrorCode { - p := new(URLFetchServiceError_ErrorCode) - *p = x - return p -} -func (x URLFetchServiceError_ErrorCode) String() string { - return proto.EnumName(URLFetchServiceError_ErrorCode_name, int32(x)) -} -func (x *URLFetchServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(URLFetchServiceError_ErrorCode_value, data, "URLFetchServiceError_ErrorCode") - if err != nil { - return err - } - *x = URLFetchServiceError_ErrorCode(value) - return nil -} - -type URLFetchRequest_RequestMethod int32 - -const ( - URLFetchRequest_GET URLFetchRequest_RequestMethod = 1 - URLFetchRequest_POST URLFetchRequest_RequestMethod = 2 - URLFetchRequest_HEAD URLFetchRequest_RequestMethod = 3 - URLFetchRequest_PUT URLFetchRequest_RequestMethod = 4 - URLFetchRequest_DELETE URLFetchRequest_RequestMethod = 5 - URLFetchRequest_PATCH URLFetchRequest_RequestMethod = 6 -) - -var URLFetchRequest_RequestMethod_name = map[int32]string{ - 1: "GET", - 2: "POST", - 3: "HEAD", - 4: "PUT", - 5: "DELETE", - 6: "PATCH", -} -var URLFetchRequest_RequestMethod_value = map[string]int32{ - "GET": 1, - "POST": 2, - "HEAD": 3, - "PUT": 4, - "DELETE": 5, - "PATCH": 6, -} - -func (x URLFetchRequest_RequestMethod) Enum() *URLFetchRequest_RequestMethod { - p := new(URLFetchRequest_RequestMethod) - *p = x - return p -} -func (x URLFetchRequest_RequestMethod) String() string { - return proto.EnumName(URLFetchRequest_RequestMethod_name, int32(x)) -} -func (x *URLFetchRequest_RequestMethod) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(URLFetchRequest_RequestMethod_value, data, "URLFetchRequest_RequestMethod") - if err != nil { - return err - } - *x = URLFetchRequest_RequestMethod(value) - return nil -} - -type URLFetchServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *URLFetchServiceError) Reset() { *m = URLFetchServiceError{} } -func (m *URLFetchServiceError) String() string { return proto.CompactTextString(m) } -func (*URLFetchServiceError) ProtoMessage() {} - -type URLFetchRequest struct { - Method *URLFetchRequest_RequestMethod `protobuf:"varint,1,req,name=Method,enum=appengine.URLFetchRequest_RequestMethod" json:"Method,omitempty"` - Url *string `protobuf:"bytes,2,req,name=Url" json:"Url,omitempty"` - Header []*URLFetchRequest_Header `protobuf:"group,3,rep,name=Header" json:"header,omitempty"` - Payload []byte `protobuf:"bytes,6,opt,name=Payload" json:"Payload,omitempty"` - FollowRedirects *bool `protobuf:"varint,7,opt,name=FollowRedirects,def=1" json:"FollowRedirects,omitempty"` - Deadline *float64 `protobuf:"fixed64,8,opt,name=Deadline" json:"Deadline,omitempty"` - MustValidateServerCertificate *bool `protobuf:"varint,9,opt,name=MustValidateServerCertificate,def=1" json:"MustValidateServerCertificate,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *URLFetchRequest) Reset() { *m = URLFetchRequest{} } -func (m *URLFetchRequest) String() string { return proto.CompactTextString(m) } -func (*URLFetchRequest) ProtoMessage() {} - -const Default_URLFetchRequest_FollowRedirects bool = true -const Default_URLFetchRequest_MustValidateServerCertificate bool = true - -func (m *URLFetchRequest) GetMethod() URLFetchRequest_RequestMethod { - if m != nil && m.Method != nil { - return *m.Method - } - return URLFetchRequest_GET -} - -func (m *URLFetchRequest) GetUrl() string { - if m != nil && m.Url != nil { - return *m.Url - } - return "" -} - -func (m *URLFetchRequest) GetHeader() []*URLFetchRequest_Header { - if m != nil { - return m.Header - } - return nil -} - -func (m *URLFetchRequest) GetPayload() []byte { - if m != nil { - return m.Payload - } - return nil -} - -func (m *URLFetchRequest) GetFollowRedirects() bool { - if m != nil && m.FollowRedirects != nil { - return *m.FollowRedirects - } - return Default_URLFetchRequest_FollowRedirects -} - -func (m *URLFetchRequest) GetDeadline() float64 { - if m != nil && m.Deadline != nil { - return *m.Deadline - } - return 0 -} - -func (m *URLFetchRequest) GetMustValidateServerCertificate() bool { - if m != nil && m.MustValidateServerCertificate != nil { - return *m.MustValidateServerCertificate - } - return Default_URLFetchRequest_MustValidateServerCertificate -} - -type URLFetchRequest_Header struct { - Key *string `protobuf:"bytes,4,req,name=Key" json:"Key,omitempty"` - Value *string `protobuf:"bytes,5,req,name=Value" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *URLFetchRequest_Header) Reset() { *m = URLFetchRequest_Header{} } -func (m *URLFetchRequest_Header) String() string { return proto.CompactTextString(m) } -func (*URLFetchRequest_Header) ProtoMessage() {} - -func (m *URLFetchRequest_Header) GetKey() string { - if m != nil && m.Key != nil { - return *m.Key - } - return "" -} - -func (m *URLFetchRequest_Header) GetValue() string { - if m != nil && m.Value != nil { - return *m.Value - } - return "" -} - -type URLFetchResponse struct { - Content []byte `protobuf:"bytes,1,opt,name=Content" json:"Content,omitempty"` - StatusCode *int32 `protobuf:"varint,2,req,name=StatusCode" json:"StatusCode,omitempty"` - Header []*URLFetchResponse_Header `protobuf:"group,3,rep,name=Header" json:"header,omitempty"` - ContentWasTruncated *bool `protobuf:"varint,6,opt,name=ContentWasTruncated,def=0" json:"ContentWasTruncated,omitempty"` - ExternalBytesSent *int64 `protobuf:"varint,7,opt,name=ExternalBytesSent" json:"ExternalBytesSent,omitempty"` - ExternalBytesReceived *int64 `protobuf:"varint,8,opt,name=ExternalBytesReceived" json:"ExternalBytesReceived,omitempty"` - FinalUrl *string `protobuf:"bytes,9,opt,name=FinalUrl" json:"FinalUrl,omitempty"` - ApiCpuMilliseconds *int64 `protobuf:"varint,10,opt,name=ApiCpuMilliseconds,def=0" json:"ApiCpuMilliseconds,omitempty"` - ApiBytesSent *int64 `protobuf:"varint,11,opt,name=ApiBytesSent,def=0" json:"ApiBytesSent,omitempty"` - ApiBytesReceived *int64 `protobuf:"varint,12,opt,name=ApiBytesReceived,def=0" json:"ApiBytesReceived,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *URLFetchResponse) Reset() { *m = URLFetchResponse{} } -func (m *URLFetchResponse) String() string { return proto.CompactTextString(m) } -func (*URLFetchResponse) ProtoMessage() {} - -const Default_URLFetchResponse_ContentWasTruncated bool = false -const Default_URLFetchResponse_ApiCpuMilliseconds int64 = 0 -const Default_URLFetchResponse_ApiBytesSent int64 = 0 -const Default_URLFetchResponse_ApiBytesReceived int64 = 0 - -func (m *URLFetchResponse) GetContent() []byte { - if m != nil { - return m.Content - } - return nil -} - -func (m *URLFetchResponse) GetStatusCode() int32 { - if m != nil && m.StatusCode != nil { - return *m.StatusCode - } - return 0 -} - -func (m *URLFetchResponse) GetHeader() []*URLFetchResponse_Header { - if m != nil { - return m.Header - } - return nil -} - -func (m *URLFetchResponse) GetContentWasTruncated() bool { - if m != nil && m.ContentWasTruncated != nil { - return *m.ContentWasTruncated - } - return Default_URLFetchResponse_ContentWasTruncated -} - -func (m *URLFetchResponse) GetExternalBytesSent() int64 { - if m != nil && m.ExternalBytesSent != nil { - return *m.ExternalBytesSent - } - return 0 -} - -func (m *URLFetchResponse) GetExternalBytesReceived() int64 { - if m != nil && m.ExternalBytesReceived != nil { - return *m.ExternalBytesReceived - } - return 0 -} - -func (m *URLFetchResponse) GetFinalUrl() string { - if m != nil && m.FinalUrl != nil { - return *m.FinalUrl - } - return "" -} - -func (m *URLFetchResponse) GetApiCpuMilliseconds() int64 { - if m != nil && m.ApiCpuMilliseconds != nil { - return *m.ApiCpuMilliseconds - } - return Default_URLFetchResponse_ApiCpuMilliseconds -} - -func (m *URLFetchResponse) GetApiBytesSent() int64 { - if m != nil && m.ApiBytesSent != nil { - return *m.ApiBytesSent - } - return Default_URLFetchResponse_ApiBytesSent -} - -func (m *URLFetchResponse) GetApiBytesReceived() int64 { - if m != nil && m.ApiBytesReceived != nil { - return *m.ApiBytesReceived - } - return Default_URLFetchResponse_ApiBytesReceived -} - -type URLFetchResponse_Header struct { - Key *string `protobuf:"bytes,4,req,name=Key" json:"Key,omitempty"` - Value *string `protobuf:"bytes,5,req,name=Value" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *URLFetchResponse_Header) Reset() { *m = URLFetchResponse_Header{} } -func (m *URLFetchResponse_Header) String() string { return proto.CompactTextString(m) } -func (*URLFetchResponse_Header) ProtoMessage() {} - -func (m *URLFetchResponse_Header) GetKey() string { - if m != nil && m.Key != nil { - return *m.Key - } - return "" -} - -func (m *URLFetchResponse_Header) GetValue() string { - if m != nil && m.Value != nil { - return *m.Value - } - return "" -} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto deleted file mode 100644 index f695edf6a..000000000 --- a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +++ /dev/null @@ -1,64 +0,0 @@ -syntax = "proto2"; -option go_package = "urlfetch"; - -package appengine; - -message URLFetchServiceError { - enum ErrorCode { - OK = 0; - INVALID_URL = 1; - FETCH_ERROR = 2; - UNSPECIFIED_ERROR = 3; - RESPONSE_TOO_LARGE = 4; - DEADLINE_EXCEEDED = 5; - SSL_CERTIFICATE_ERROR = 6; - DNS_ERROR = 7; - CLOSED = 8; - INTERNAL_TRANSIENT_ERROR = 9; - TOO_MANY_REDIRECTS = 10; - MALFORMED_REPLY = 11; - CONNECTION_ERROR = 12; - } -} - -message URLFetchRequest { - enum RequestMethod { - GET = 1; - POST = 2; - HEAD = 3; - PUT = 4; - DELETE = 5; - PATCH = 6; - } - required RequestMethod Method = 1; - required string Url = 2; - repeated group Header = 3 { - required string Key = 4; - required string Value = 5; - } - optional bytes Payload = 6 [ctype=CORD]; - - optional bool FollowRedirects = 7 [default=true]; - - optional double Deadline = 8; - - optional bool MustValidateServerCertificate = 9 [default=true]; -} - -message URLFetchResponse { - optional bytes Content = 1; - required int32 StatusCode = 2; - repeated group Header = 3 { - required string Key = 4; - required string Value = 5; - } - optional bool ContentWasTruncated = 6 [default=false]; - optional int64 ExternalBytesSent = 7; - optional int64 ExternalBytesReceived = 8; - - optional string FinalUrl = 9; - - optional int64 ApiCpuMilliseconds = 10 [default=0]; - optional int64 ApiBytesSent = 11 [default=0]; - optional int64 ApiBytesReceived = 12 [default=0]; -} diff --git a/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go b/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go deleted file mode 100644 index 6d5b0ae65..000000000 --- a/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.pb.go +++ /dev/null @@ -1,427 +0,0 @@ -// Code generated by protoc-gen-go. -// source: google.golang.org/appengine/internal/xmpp/xmpp_service.proto -// DO NOT EDIT! - -/* -Package xmpp is a generated protocol buffer package. - -It is generated from these files: - google.golang.org/appengine/internal/xmpp/xmpp_service.proto - -It has these top-level messages: - XmppServiceError - PresenceRequest - PresenceResponse - BulkPresenceRequest - BulkPresenceResponse - XmppMessageRequest - XmppMessageResponse - XmppSendPresenceRequest - XmppSendPresenceResponse - XmppInviteRequest - XmppInviteResponse -*/ -package xmpp - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -type XmppServiceError_ErrorCode int32 - -const ( - XmppServiceError_UNSPECIFIED_ERROR XmppServiceError_ErrorCode = 1 - XmppServiceError_INVALID_JID XmppServiceError_ErrorCode = 2 - XmppServiceError_NO_BODY XmppServiceError_ErrorCode = 3 - XmppServiceError_INVALID_XML XmppServiceError_ErrorCode = 4 - XmppServiceError_INVALID_TYPE XmppServiceError_ErrorCode = 5 - XmppServiceError_INVALID_SHOW XmppServiceError_ErrorCode = 6 - XmppServiceError_EXCEEDED_MAX_SIZE XmppServiceError_ErrorCode = 7 - XmppServiceError_APPID_ALIAS_REQUIRED XmppServiceError_ErrorCode = 8 - XmppServiceError_NONDEFAULT_MODULE XmppServiceError_ErrorCode = 9 -) - -var XmppServiceError_ErrorCode_name = map[int32]string{ - 1: "UNSPECIFIED_ERROR", - 2: "INVALID_JID", - 3: "NO_BODY", - 4: "INVALID_XML", - 5: "INVALID_TYPE", - 6: "INVALID_SHOW", - 7: "EXCEEDED_MAX_SIZE", - 8: "APPID_ALIAS_REQUIRED", - 9: "NONDEFAULT_MODULE", -} -var XmppServiceError_ErrorCode_value = map[string]int32{ - "UNSPECIFIED_ERROR": 1, - "INVALID_JID": 2, - "NO_BODY": 3, - "INVALID_XML": 4, - "INVALID_TYPE": 5, - "INVALID_SHOW": 6, - "EXCEEDED_MAX_SIZE": 7, - "APPID_ALIAS_REQUIRED": 8, - "NONDEFAULT_MODULE": 9, -} - -func (x XmppServiceError_ErrorCode) Enum() *XmppServiceError_ErrorCode { - p := new(XmppServiceError_ErrorCode) - *p = x - return p -} -func (x XmppServiceError_ErrorCode) String() string { - return proto.EnumName(XmppServiceError_ErrorCode_name, int32(x)) -} -func (x *XmppServiceError_ErrorCode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(XmppServiceError_ErrorCode_value, data, "XmppServiceError_ErrorCode") - if err != nil { - return err - } - *x = XmppServiceError_ErrorCode(value) - return nil -} - -type PresenceResponse_SHOW int32 - -const ( - PresenceResponse_NORMAL PresenceResponse_SHOW = 0 - PresenceResponse_AWAY PresenceResponse_SHOW = 1 - PresenceResponse_DO_NOT_DISTURB PresenceResponse_SHOW = 2 - PresenceResponse_CHAT PresenceResponse_SHOW = 3 - PresenceResponse_EXTENDED_AWAY PresenceResponse_SHOW = 4 -) - -var PresenceResponse_SHOW_name = map[int32]string{ - 0: "NORMAL", - 1: "AWAY", - 2: "DO_NOT_DISTURB", - 3: "CHAT", - 4: "EXTENDED_AWAY", -} -var PresenceResponse_SHOW_value = map[string]int32{ - "NORMAL": 0, - "AWAY": 1, - "DO_NOT_DISTURB": 2, - "CHAT": 3, - "EXTENDED_AWAY": 4, -} - -func (x PresenceResponse_SHOW) Enum() *PresenceResponse_SHOW { - p := new(PresenceResponse_SHOW) - *p = x - return p -} -func (x PresenceResponse_SHOW) String() string { - return proto.EnumName(PresenceResponse_SHOW_name, int32(x)) -} -func (x *PresenceResponse_SHOW) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(PresenceResponse_SHOW_value, data, "PresenceResponse_SHOW") - if err != nil { - return err - } - *x = PresenceResponse_SHOW(value) - return nil -} - -type XmppMessageResponse_XmppMessageStatus int32 - -const ( - XmppMessageResponse_NO_ERROR XmppMessageResponse_XmppMessageStatus = 0 - XmppMessageResponse_INVALID_JID XmppMessageResponse_XmppMessageStatus = 1 - XmppMessageResponse_OTHER_ERROR XmppMessageResponse_XmppMessageStatus = 2 -) - -var XmppMessageResponse_XmppMessageStatus_name = map[int32]string{ - 0: "NO_ERROR", - 1: "INVALID_JID", - 2: "OTHER_ERROR", -} -var XmppMessageResponse_XmppMessageStatus_value = map[string]int32{ - "NO_ERROR": 0, - "INVALID_JID": 1, - "OTHER_ERROR": 2, -} - -func (x XmppMessageResponse_XmppMessageStatus) Enum() *XmppMessageResponse_XmppMessageStatus { - p := new(XmppMessageResponse_XmppMessageStatus) - *p = x - return p -} -func (x XmppMessageResponse_XmppMessageStatus) String() string { - return proto.EnumName(XmppMessageResponse_XmppMessageStatus_name, int32(x)) -} -func (x *XmppMessageResponse_XmppMessageStatus) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(XmppMessageResponse_XmppMessageStatus_value, data, "XmppMessageResponse_XmppMessageStatus") - if err != nil { - return err - } - *x = XmppMessageResponse_XmppMessageStatus(value) - return nil -} - -type XmppServiceError struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppServiceError) Reset() { *m = XmppServiceError{} } -func (m *XmppServiceError) String() string { return proto.CompactTextString(m) } -func (*XmppServiceError) ProtoMessage() {} - -type PresenceRequest struct { - Jid *string `protobuf:"bytes,1,req,name=jid" json:"jid,omitempty"` - FromJid *string `protobuf:"bytes,2,opt,name=from_jid" json:"from_jid,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PresenceRequest) Reset() { *m = PresenceRequest{} } -func (m *PresenceRequest) String() string { return proto.CompactTextString(m) } -func (*PresenceRequest) ProtoMessage() {} - -func (m *PresenceRequest) GetJid() string { - if m != nil && m.Jid != nil { - return *m.Jid - } - return "" -} - -func (m *PresenceRequest) GetFromJid() string { - if m != nil && m.FromJid != nil { - return *m.FromJid - } - return "" -} - -type PresenceResponse struct { - IsAvailable *bool `protobuf:"varint,1,req,name=is_available" json:"is_available,omitempty"` - Presence *PresenceResponse_SHOW `protobuf:"varint,2,opt,name=presence,enum=appengine.PresenceResponse_SHOW" json:"presence,omitempty"` - Valid *bool `protobuf:"varint,3,opt,name=valid" json:"valid,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PresenceResponse) Reset() { *m = PresenceResponse{} } -func (m *PresenceResponse) String() string { return proto.CompactTextString(m) } -func (*PresenceResponse) ProtoMessage() {} - -func (m *PresenceResponse) GetIsAvailable() bool { - if m != nil && m.IsAvailable != nil { - return *m.IsAvailable - } - return false -} - -func (m *PresenceResponse) GetPresence() PresenceResponse_SHOW { - if m != nil && m.Presence != nil { - return *m.Presence - } - return PresenceResponse_NORMAL -} - -func (m *PresenceResponse) GetValid() bool { - if m != nil && m.Valid != nil { - return *m.Valid - } - return false -} - -type BulkPresenceRequest struct { - Jid []string `protobuf:"bytes,1,rep,name=jid" json:"jid,omitempty"` - FromJid *string `protobuf:"bytes,2,opt,name=from_jid" json:"from_jid,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *BulkPresenceRequest) Reset() { *m = BulkPresenceRequest{} } -func (m *BulkPresenceRequest) String() string { return proto.CompactTextString(m) } -func (*BulkPresenceRequest) ProtoMessage() {} - -func (m *BulkPresenceRequest) GetJid() []string { - if m != nil { - return m.Jid - } - return nil -} - -func (m *BulkPresenceRequest) GetFromJid() string { - if m != nil && m.FromJid != nil { - return *m.FromJid - } - return "" -} - -type BulkPresenceResponse struct { - PresenceResponse []*PresenceResponse `protobuf:"bytes,1,rep,name=presence_response" json:"presence_response,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *BulkPresenceResponse) Reset() { *m = BulkPresenceResponse{} } -func (m *BulkPresenceResponse) String() string { return proto.CompactTextString(m) } -func (*BulkPresenceResponse) ProtoMessage() {} - -func (m *BulkPresenceResponse) GetPresenceResponse() []*PresenceResponse { - if m != nil { - return m.PresenceResponse - } - return nil -} - -type XmppMessageRequest struct { - Jid []string `protobuf:"bytes,1,rep,name=jid" json:"jid,omitempty"` - Body *string `protobuf:"bytes,2,req,name=body" json:"body,omitempty"` - RawXml *bool `protobuf:"varint,3,opt,name=raw_xml,def=0" json:"raw_xml,omitempty"` - Type *string `protobuf:"bytes,4,opt,name=type,def=chat" json:"type,omitempty"` - FromJid *string `protobuf:"bytes,5,opt,name=from_jid" json:"from_jid,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppMessageRequest) Reset() { *m = XmppMessageRequest{} } -func (m *XmppMessageRequest) String() string { return proto.CompactTextString(m) } -func (*XmppMessageRequest) ProtoMessage() {} - -const Default_XmppMessageRequest_RawXml bool = false -const Default_XmppMessageRequest_Type string = "chat" - -func (m *XmppMessageRequest) GetJid() []string { - if m != nil { - return m.Jid - } - return nil -} - -func (m *XmppMessageRequest) GetBody() string { - if m != nil && m.Body != nil { - return *m.Body - } - return "" -} - -func (m *XmppMessageRequest) GetRawXml() bool { - if m != nil && m.RawXml != nil { - return *m.RawXml - } - return Default_XmppMessageRequest_RawXml -} - -func (m *XmppMessageRequest) GetType() string { - if m != nil && m.Type != nil { - return *m.Type - } - return Default_XmppMessageRequest_Type -} - -func (m *XmppMessageRequest) GetFromJid() string { - if m != nil && m.FromJid != nil { - return *m.FromJid - } - return "" -} - -type XmppMessageResponse struct { - Status []XmppMessageResponse_XmppMessageStatus `protobuf:"varint,1,rep,name=status,enum=appengine.XmppMessageResponse_XmppMessageStatus" json:"status,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppMessageResponse) Reset() { *m = XmppMessageResponse{} } -func (m *XmppMessageResponse) String() string { return proto.CompactTextString(m) } -func (*XmppMessageResponse) ProtoMessage() {} - -func (m *XmppMessageResponse) GetStatus() []XmppMessageResponse_XmppMessageStatus { - if m != nil { - return m.Status - } - return nil -} - -type XmppSendPresenceRequest struct { - Jid *string `protobuf:"bytes,1,req,name=jid" json:"jid,omitempty"` - Type *string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"` - Show *string `protobuf:"bytes,3,opt,name=show" json:"show,omitempty"` - Status *string `protobuf:"bytes,4,opt,name=status" json:"status,omitempty"` - FromJid *string `protobuf:"bytes,5,opt,name=from_jid" json:"from_jid,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppSendPresenceRequest) Reset() { *m = XmppSendPresenceRequest{} } -func (m *XmppSendPresenceRequest) String() string { return proto.CompactTextString(m) } -func (*XmppSendPresenceRequest) ProtoMessage() {} - -func (m *XmppSendPresenceRequest) GetJid() string { - if m != nil && m.Jid != nil { - return *m.Jid - } - return "" -} - -func (m *XmppSendPresenceRequest) GetType() string { - if m != nil && m.Type != nil { - return *m.Type - } - return "" -} - -func (m *XmppSendPresenceRequest) GetShow() string { - if m != nil && m.Show != nil { - return *m.Show - } - return "" -} - -func (m *XmppSendPresenceRequest) GetStatus() string { - if m != nil && m.Status != nil { - return *m.Status - } - return "" -} - -func (m *XmppSendPresenceRequest) GetFromJid() string { - if m != nil && m.FromJid != nil { - return *m.FromJid - } - return "" -} - -type XmppSendPresenceResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppSendPresenceResponse) Reset() { *m = XmppSendPresenceResponse{} } -func (m *XmppSendPresenceResponse) String() string { return proto.CompactTextString(m) } -func (*XmppSendPresenceResponse) ProtoMessage() {} - -type XmppInviteRequest struct { - Jid *string `protobuf:"bytes,1,req,name=jid" json:"jid,omitempty"` - FromJid *string `protobuf:"bytes,2,opt,name=from_jid" json:"from_jid,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppInviteRequest) Reset() { *m = XmppInviteRequest{} } -func (m *XmppInviteRequest) String() string { return proto.CompactTextString(m) } -func (*XmppInviteRequest) ProtoMessage() {} - -func (m *XmppInviteRequest) GetJid() string { - if m != nil && m.Jid != nil { - return *m.Jid - } - return "" -} - -func (m *XmppInviteRequest) GetFromJid() string { - if m != nil && m.FromJid != nil { - return *m.FromJid - } - return "" -} - -type XmppInviteResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *XmppInviteResponse) Reset() { *m = XmppInviteResponse{} } -func (m *XmppInviteResponse) String() string { return proto.CompactTextString(m) } -func (*XmppInviteResponse) ProtoMessage() {} - -func init() { -} diff --git a/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto b/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto deleted file mode 100644 index 472d52ebf..000000000 --- a/vendor/google.golang.org/appengine/internal/xmpp/xmpp_service.proto +++ /dev/null @@ -1,83 +0,0 @@ -syntax = "proto2"; -option go_package = "xmpp"; - -package appengine; - -message XmppServiceError { - enum ErrorCode { - UNSPECIFIED_ERROR = 1; - INVALID_JID = 2; - NO_BODY = 3; - INVALID_XML = 4; - INVALID_TYPE = 5; - INVALID_SHOW = 6; - EXCEEDED_MAX_SIZE = 7; - APPID_ALIAS_REQUIRED = 8; - NONDEFAULT_MODULE = 9; - } -} - -message PresenceRequest { - required string jid = 1; - optional string from_jid = 2; -} - -message PresenceResponse { - enum SHOW { - NORMAL = 0; - AWAY = 1; - DO_NOT_DISTURB = 2; - CHAT = 3; - EXTENDED_AWAY = 4; - } - - required bool is_available = 1; - optional SHOW presence = 2; - optional bool valid = 3; -} - -message BulkPresenceRequest { - repeated string jid = 1; - optional string from_jid = 2; -} - -message BulkPresenceResponse { - repeated PresenceResponse presence_response = 1; -} - -message XmppMessageRequest { - repeated string jid = 1; - required string body = 2; - optional bool raw_xml = 3 [ default = false ]; - optional string type = 4 [ default = "chat" ]; - optional string from_jid = 5; -} - -message XmppMessageResponse { - enum XmppMessageStatus { - NO_ERROR = 0; - INVALID_JID = 1; - OTHER_ERROR = 2; - } - - repeated XmppMessageStatus status = 1; -} - -message XmppSendPresenceRequest { - required string jid = 1; - optional string type = 2; - optional string show = 3; - optional string status = 4; - optional string from_jid = 5; -} - -message XmppSendPresenceResponse { -} - -message XmppInviteRequest { - required string jid = 1; - optional string from_jid = 2; -} - -message XmppInviteResponse { -} diff --git a/vendor/google.golang.org/appengine/mail/mail.go b/vendor/google.golang.org/appengine/mail/mail.go deleted file mode 100644 index f7955aaf1..000000000 --- a/vendor/google.golang.org/appengine/mail/mail.go +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package mail provides the means of sending email from an -App Engine application. - -Example: - msg := &mail.Message{ - Sender: "romeo@montague.com", - To: []string{"Juliet "}, - Subject: "See you tonight", - Body: "Don't forget our plans. Hark, 'til later.", - } - if err := mail.Send(c, msg); err != nil { - log.Errorf(c, "Alas, my user, the email failed to sendeth: %v", err) - } -*/ -package mail // import "google.golang.org/appengine/mail" - -import ( - "net/mail" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" - bpb "google.golang.org/appengine/internal/base" - pb "google.golang.org/appengine/internal/mail" -) - -// A Message represents an email message. -// Addresses may be of any form permitted by RFC 822. -type Message struct { - // Sender must be set, and must be either an application admin - // or the currently signed-in user. - Sender string - ReplyTo string // may be empty - - // At least one of these slices must have a non-zero length, - // except when calling SendToAdmins. - To, Cc, Bcc []string - - Subject string - - // At least one of Body or HTMLBody must be non-empty. - Body string - HTMLBody string - - Attachments []Attachment - - // Extra mail headers. - // See https://cloud.google.com/appengine/docs/go/mail/ - // for permissible headers. - Headers mail.Header -} - -// An Attachment represents an email attachment. -type Attachment struct { - // Name must be set to a valid file name. - Name string - Data []byte - ContentID string -} - -// Send sends an email message. -func Send(c context.Context, msg *Message) error { - return send(c, "Send", msg) -} - -// SendToAdmins sends an email message to the application's administrators. -func SendToAdmins(c context.Context, msg *Message) error { - return send(c, "SendToAdmins", msg) -} - -func send(c context.Context, method string, msg *Message) error { - req := &pb.MailMessage{ - Sender: &msg.Sender, - To: msg.To, - Cc: msg.Cc, - Bcc: msg.Bcc, - Subject: &msg.Subject, - } - if msg.ReplyTo != "" { - req.ReplyTo = &msg.ReplyTo - } - if msg.Body != "" { - req.TextBody = &msg.Body - } - if msg.HTMLBody != "" { - req.HtmlBody = &msg.HTMLBody - } - if len(msg.Attachments) > 0 { - req.Attachment = make([]*pb.MailAttachment, len(msg.Attachments)) - for i, att := range msg.Attachments { - req.Attachment[i] = &pb.MailAttachment{ - FileName: proto.String(att.Name), - Data: att.Data, - } - if att.ContentID != "" { - req.Attachment[i].ContentID = proto.String(att.ContentID) - } - } - } - for key, vs := range msg.Headers { - for _, v := range vs { - req.Header = append(req.Header, &pb.MailHeader{ - Name: proto.String(key), - Value: proto.String(v), - }) - } - } - res := &bpb.VoidProto{} - if err := internal.Call(c, "mail", method, req, res); err != nil { - return err - } - return nil -} - -func init() { - internal.RegisterErrorCodeMap("mail", pb.MailServiceError_ErrorCode_name) -} diff --git a/vendor/google.golang.org/appengine/memcache/memcache.go b/vendor/google.golang.org/appengine/memcache/memcache.go deleted file mode 100644 index d8eed4be7..000000000 --- a/vendor/google.golang.org/appengine/memcache/memcache.go +++ /dev/null @@ -1,526 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package memcache provides a client for App Engine's distributed in-memory -// key-value store for small chunks of arbitrary data. -// -// The fundamental operations get and set items, keyed by a string. -// -// item0, err := memcache.Get(c, "key") -// if err != nil && err != memcache.ErrCacheMiss { -// return err -// } -// if err == nil { -// fmt.Fprintf(w, "memcache hit: Key=%q Val=[% x]\n", item0.Key, item0.Value) -// } else { -// fmt.Fprintf(w, "memcache miss\n") -// } -// -// and -// -// item1 := &memcache.Item{ -// Key: "foo", -// Value: []byte("bar"), -// } -// if err := memcache.Set(c, item1); err != nil { -// return err -// } -package memcache // import "google.golang.org/appengine/memcache" - -import ( - "bytes" - "encoding/gob" - "encoding/json" - "errors" - "time" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/memcache" -) - -var ( - // ErrCacheMiss means that an operation failed - // because the item wasn't present. - ErrCacheMiss = errors.New("memcache: cache miss") - // ErrCASConflict means that a CompareAndSwap call failed due to the - // cached value being modified between the Get and the CompareAndSwap. - // If the cached value was simply evicted rather than replaced, - // ErrNotStored will be returned instead. - ErrCASConflict = errors.New("memcache: compare-and-swap conflict") - // ErrNoStats means that no statistics were available. - ErrNoStats = errors.New("memcache: no statistics available") - // ErrNotStored means that a conditional write operation (i.e. Add or - // CompareAndSwap) failed because the condition was not satisfied. - ErrNotStored = errors.New("memcache: item not stored") - // ErrServerError means that a server error occurred. - ErrServerError = errors.New("memcache: server error") -) - -// Item is the unit of memcache gets and sets. -type Item struct { - // Key is the Item's key (250 bytes maximum). - Key string - // Value is the Item's value. - Value []byte - // Object is the Item's value for use with a Codec. - Object interface{} - // Flags are server-opaque flags whose semantics are entirely up to the - // App Engine app. - Flags uint32 - // Expiration is the maximum duration that the item will stay - // in the cache. - // The zero value means the Item has no expiration time. - // Subsecond precision is ignored. - // This is not set when getting items. - Expiration time.Duration - // casID is a client-opaque value used for compare-and-swap operations. - // Zero means that compare-and-swap is not used. - casID uint64 -} - -const ( - secondsIn30Years = 60 * 60 * 24 * 365 * 30 // from memcache server code - thirtyYears = time.Duration(secondsIn30Years) * time.Second -) - -// protoToItem converts a protocol buffer item to a Go struct. -func protoToItem(p *pb.MemcacheGetResponse_Item) *Item { - return &Item{ - Key: string(p.Key), - Value: p.Value, - Flags: p.GetFlags(), - casID: p.GetCasId(), - } -} - -// If err is an appengine.MultiError, return its first element. Otherwise, return err. -func singleError(err error) error { - if me, ok := err.(appengine.MultiError); ok { - return me[0] - } - return err -} - -// Get gets the item for the given key. ErrCacheMiss is returned for a memcache -// cache miss. The key must be at most 250 bytes in length. -func Get(c context.Context, key string) (*Item, error) { - m, err := GetMulti(c, []string{key}) - if err != nil { - return nil, err - } - if _, ok := m[key]; !ok { - return nil, ErrCacheMiss - } - return m[key], nil -} - -// GetMulti is a batch version of Get. The returned map from keys to items may -// have fewer elements than the input slice, due to memcache cache misses. -// Each key must be at most 250 bytes in length. -func GetMulti(c context.Context, key []string) (map[string]*Item, error) { - if len(key) == 0 { - return nil, nil - } - keyAsBytes := make([][]byte, len(key)) - for i, k := range key { - keyAsBytes[i] = []byte(k) - } - req := &pb.MemcacheGetRequest{ - Key: keyAsBytes, - ForCas: proto.Bool(true), - } - res := &pb.MemcacheGetResponse{} - if err := internal.Call(c, "memcache", "Get", req, res); err != nil { - return nil, err - } - m := make(map[string]*Item, len(res.Item)) - for _, p := range res.Item { - t := protoToItem(p) - m[t.Key] = t - } - return m, nil -} - -// Delete deletes the item for the given key. -// ErrCacheMiss is returned if the specified item can not be found. -// The key must be at most 250 bytes in length. -func Delete(c context.Context, key string) error { - return singleError(DeleteMulti(c, []string{key})) -} - -// DeleteMulti is a batch version of Delete. -// If any keys cannot be found, an appengine.MultiError is returned. -// Each key must be at most 250 bytes in length. -func DeleteMulti(c context.Context, key []string) error { - if len(key) == 0 { - return nil - } - req := &pb.MemcacheDeleteRequest{ - Item: make([]*pb.MemcacheDeleteRequest_Item, len(key)), - } - for i, k := range key { - req.Item[i] = &pb.MemcacheDeleteRequest_Item{Key: []byte(k)} - } - res := &pb.MemcacheDeleteResponse{} - if err := internal.Call(c, "memcache", "Delete", req, res); err != nil { - return err - } - if len(res.DeleteStatus) != len(key) { - return ErrServerError - } - me, any := make(appengine.MultiError, len(key)), false - for i, s := range res.DeleteStatus { - switch s { - case pb.MemcacheDeleteResponse_DELETED: - // OK - case pb.MemcacheDeleteResponse_NOT_FOUND: - me[i] = ErrCacheMiss - any = true - default: - me[i] = ErrServerError - any = true - } - } - if any { - return me - } - return nil -} - -// Increment atomically increments the decimal value in the given key -// by delta and returns the new value. The value must fit in a uint64. -// Overflow wraps around, and underflow is capped to zero. The -// provided delta may be negative. If the key doesn't exist in -// memcache, the provided initial value is used to atomically -// populate it before the delta is applied. -// The key must be at most 250 bytes in length. -func Increment(c context.Context, key string, delta int64, initialValue uint64) (newValue uint64, err error) { - return incr(c, key, delta, &initialValue) -} - -// IncrementExisting works like Increment but assumes that the key -// already exists in memcache and doesn't take an initial value. -// IncrementExisting can save work if calculating the initial value is -// expensive. -// An error is returned if the specified item can not be found. -func IncrementExisting(c context.Context, key string, delta int64) (newValue uint64, err error) { - return incr(c, key, delta, nil) -} - -func incr(c context.Context, key string, delta int64, initialValue *uint64) (newValue uint64, err error) { - req := &pb.MemcacheIncrementRequest{ - Key: []byte(key), - InitialValue: initialValue, - } - if delta >= 0 { - req.Delta = proto.Uint64(uint64(delta)) - } else { - req.Delta = proto.Uint64(uint64(-delta)) - req.Direction = pb.MemcacheIncrementRequest_DECREMENT.Enum() - } - res := &pb.MemcacheIncrementResponse{} - err = internal.Call(c, "memcache", "Increment", req, res) - if err != nil { - return - } - if res.NewValue == nil { - return 0, ErrCacheMiss - } - return *res.NewValue, nil -} - -// set sets the given items using the given conflict resolution policy. -// appengine.MultiError may be returned. -func set(c context.Context, item []*Item, value [][]byte, policy pb.MemcacheSetRequest_SetPolicy) error { - if len(item) == 0 { - return nil - } - req := &pb.MemcacheSetRequest{ - Item: make([]*pb.MemcacheSetRequest_Item, len(item)), - } - for i, t := range item { - p := &pb.MemcacheSetRequest_Item{ - Key: []byte(t.Key), - } - if value == nil { - p.Value = t.Value - } else { - p.Value = value[i] - } - if t.Flags != 0 { - p.Flags = proto.Uint32(t.Flags) - } - if t.Expiration != 0 { - // In the .proto file, MemcacheSetRequest_Item uses a fixed32 (i.e. unsigned) - // for expiration time, while MemcacheGetRequest_Item uses int32 (i.e. signed). - // Throughout this .go file, we use int32. - // Also, in the proto, the expiration value is either a duration (in seconds) - // or an absolute Unix timestamp (in seconds), depending on whether the - // value is less than or greater than or equal to 30 years, respectively. - if t.Expiration < time.Second { - // Because an Expiration of 0 means no expiration, we take - // care here to translate an item with an expiration - // Duration between 0-1 seconds as immediately expiring - // (saying it expired a few seconds ago), rather than - // rounding it down to 0 and making it live forever. - p.ExpirationTime = proto.Uint32(uint32(time.Now().Unix()) - 5) - } else if t.Expiration >= thirtyYears { - p.ExpirationTime = proto.Uint32(uint32(time.Now().Unix()) + uint32(t.Expiration/time.Second)) - } else { - p.ExpirationTime = proto.Uint32(uint32(t.Expiration / time.Second)) - } - } - if t.casID != 0 { - p.CasId = proto.Uint64(t.casID) - p.ForCas = proto.Bool(true) - } - p.SetPolicy = policy.Enum() - req.Item[i] = p - } - res := &pb.MemcacheSetResponse{} - if err := internal.Call(c, "memcache", "Set", req, res); err != nil { - return err - } - if len(res.SetStatus) != len(item) { - return ErrServerError - } - me, any := make(appengine.MultiError, len(item)), false - for i, st := range res.SetStatus { - var err error - switch st { - case pb.MemcacheSetResponse_STORED: - // OK - case pb.MemcacheSetResponse_NOT_STORED: - err = ErrNotStored - case pb.MemcacheSetResponse_EXISTS: - err = ErrCASConflict - default: - err = ErrServerError - } - if err != nil { - me[i] = err - any = true - } - } - if any { - return me - } - return nil -} - -// Set writes the given item, unconditionally. -func Set(c context.Context, item *Item) error { - return singleError(set(c, []*Item{item}, nil, pb.MemcacheSetRequest_SET)) -} - -// SetMulti is a batch version of Set. -// appengine.MultiError may be returned. -func SetMulti(c context.Context, item []*Item) error { - return set(c, item, nil, pb.MemcacheSetRequest_SET) -} - -// Add writes the given item, if no value already exists for its key. -// ErrNotStored is returned if that condition is not met. -func Add(c context.Context, item *Item) error { - return singleError(set(c, []*Item{item}, nil, pb.MemcacheSetRequest_ADD)) -} - -// AddMulti is a batch version of Add. -// appengine.MultiError may be returned. -func AddMulti(c context.Context, item []*Item) error { - return set(c, item, nil, pb.MemcacheSetRequest_ADD) -} - -// CompareAndSwap writes the given item that was previously returned by Get, -// if the value was neither modified or evicted between the Get and the -// CompareAndSwap calls. The item's Key should not change between calls but -// all other item fields may differ. -// ErrCASConflict is returned if the value was modified in between the calls. -// ErrNotStored is returned if the value was evicted in between the calls. -func CompareAndSwap(c context.Context, item *Item) error { - return singleError(set(c, []*Item{item}, nil, pb.MemcacheSetRequest_CAS)) -} - -// CompareAndSwapMulti is a batch version of CompareAndSwap. -// appengine.MultiError may be returned. -func CompareAndSwapMulti(c context.Context, item []*Item) error { - return set(c, item, nil, pb.MemcacheSetRequest_CAS) -} - -// Codec represents a symmetric pair of functions that implement a codec. -// Items stored into or retrieved from memcache using a Codec have their -// values marshaled or unmarshaled. -// -// All the methods provided for Codec behave analogously to the package level -// function with same name. -type Codec struct { - Marshal func(interface{}) ([]byte, error) - Unmarshal func([]byte, interface{}) error -} - -// Get gets the item for the given key and decodes the obtained value into v. -// ErrCacheMiss is returned for a memcache cache miss. -// The key must be at most 250 bytes in length. -func (cd Codec) Get(c context.Context, key string, v interface{}) (*Item, error) { - i, err := Get(c, key) - if err != nil { - return nil, err - } - if err := cd.Unmarshal(i.Value, v); err != nil { - return nil, err - } - return i, nil -} - -func (cd Codec) set(c context.Context, items []*Item, policy pb.MemcacheSetRequest_SetPolicy) error { - var vs [][]byte - var me appengine.MultiError - for i, item := range items { - v, err := cd.Marshal(item.Object) - if err != nil { - if me == nil { - me = make(appengine.MultiError, len(items)) - } - me[i] = err - continue - } - if me == nil { - vs = append(vs, v) - } - } - if me != nil { - return me - } - - return set(c, items, vs, policy) -} - -// Set writes the given item, unconditionally. -func (cd Codec) Set(c context.Context, item *Item) error { - return singleError(cd.set(c, []*Item{item}, pb.MemcacheSetRequest_SET)) -} - -// SetMulti is a batch version of Set. -// appengine.MultiError may be returned. -func (cd Codec) SetMulti(c context.Context, items []*Item) error { - return cd.set(c, items, pb.MemcacheSetRequest_SET) -} - -// Add writes the given item, if no value already exists for its key. -// ErrNotStored is returned if that condition is not met. -func (cd Codec) Add(c context.Context, item *Item) error { - return singleError(cd.set(c, []*Item{item}, pb.MemcacheSetRequest_ADD)) -} - -// AddMulti is a batch version of Add. -// appengine.MultiError may be returned. -func (cd Codec) AddMulti(c context.Context, items []*Item) error { - return cd.set(c, items, pb.MemcacheSetRequest_ADD) -} - -// CompareAndSwap writes the given item that was previously returned by Get, -// if the value was neither modified or evicted between the Get and the -// CompareAndSwap calls. The item's Key should not change between calls but -// all other item fields may differ. -// ErrCASConflict is returned if the value was modified in between the calls. -// ErrNotStored is returned if the value was evicted in between the calls. -func (cd Codec) CompareAndSwap(c context.Context, item *Item) error { - return singleError(cd.set(c, []*Item{item}, pb.MemcacheSetRequest_CAS)) -} - -// CompareAndSwapMulti is a batch version of CompareAndSwap. -// appengine.MultiError may be returned. -func (cd Codec) CompareAndSwapMulti(c context.Context, items []*Item) error { - return cd.set(c, items, pb.MemcacheSetRequest_CAS) -} - -var ( - // Gob is a Codec that uses the gob package. - Gob = Codec{gobMarshal, gobUnmarshal} - // JSON is a Codec that uses the json package. - JSON = Codec{json.Marshal, json.Unmarshal} -) - -func gobMarshal(v interface{}) ([]byte, error) { - var buf bytes.Buffer - if err := gob.NewEncoder(&buf).Encode(v); err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -func gobUnmarshal(data []byte, v interface{}) error { - return gob.NewDecoder(bytes.NewBuffer(data)).Decode(v) -} - -// Statistics represents a set of statistics about the memcache cache. -// This may include items that have expired but have not yet been removed from the cache. -type Statistics struct { - Hits uint64 // Counter of cache hits - Misses uint64 // Counter of cache misses - ByteHits uint64 // Counter of bytes transferred for gets - - Items uint64 // Items currently in the cache - Bytes uint64 // Size of all items currently in the cache - - Oldest int64 // Age of access of the oldest item, in seconds -} - -// Stats retrieves the current memcache statistics. -func Stats(c context.Context) (*Statistics, error) { - req := &pb.MemcacheStatsRequest{} - res := &pb.MemcacheStatsResponse{} - if err := internal.Call(c, "memcache", "Stats", req, res); err != nil { - return nil, err - } - if res.Stats == nil { - return nil, ErrNoStats - } - return &Statistics{ - Hits: *res.Stats.Hits, - Misses: *res.Stats.Misses, - ByteHits: *res.Stats.ByteHits, - Items: *res.Stats.Items, - Bytes: *res.Stats.Bytes, - Oldest: int64(*res.Stats.OldestItemAge), - }, nil -} - -// Flush flushes all items from memcache. -func Flush(c context.Context) error { - req := &pb.MemcacheFlushRequest{} - res := &pb.MemcacheFlushResponse{} - return internal.Call(c, "memcache", "FlushAll", req, res) -} - -func namespaceMod(m proto.Message, namespace string) { - switch m := m.(type) { - case *pb.MemcacheDeleteRequest: - if m.NameSpace == nil { - m.NameSpace = &namespace - } - case *pb.MemcacheGetRequest: - if m.NameSpace == nil { - m.NameSpace = &namespace - } - case *pb.MemcacheIncrementRequest: - if m.NameSpace == nil { - m.NameSpace = &namespace - } - case *pb.MemcacheSetRequest: - if m.NameSpace == nil { - m.NameSpace = &namespace - } - // MemcacheFlushRequest, MemcacheStatsRequest do not apply namespace. - } -} - -func init() { - internal.RegisterErrorCodeMap("memcache", pb.MemcacheServiceError_ErrorCode_name) - internal.NamespaceMods["memcache"] = namespaceMod -} diff --git a/vendor/google.golang.org/appengine/module/module.go b/vendor/google.golang.org/appengine/module/module.go deleted file mode 100644 index 88e6629ac..000000000 --- a/vendor/google.golang.org/appengine/module/module.go +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2013 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package module provides functions for interacting with modules. - -The appengine package contains functions that report the identity of the app, -including the module name. -*/ -package module // import "google.golang.org/appengine/module" - -import ( - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/modules" -) - -// List returns the names of modules belonging to this application. -func List(c context.Context) ([]string, error) { - req := &pb.GetModulesRequest{} - res := &pb.GetModulesResponse{} - err := internal.Call(c, "modules", "GetModules", req, res) - return res.Module, err -} - -// NumInstances returns the number of instances of the given module/version. -// If either argument is the empty string it means the default. -func NumInstances(c context.Context, module, version string) (int, error) { - req := &pb.GetNumInstancesRequest{} - if module != "" { - req.Module = &module - } - if version != "" { - req.Version = &version - } - res := &pb.GetNumInstancesResponse{} - - if err := internal.Call(c, "modules", "GetNumInstances", req, res); err != nil { - return 0, err - } - return int(*res.Instances), nil -} - -// SetNumInstances sets the number of instances of the given module.version to the -// specified value. If either module or version are the empty string it means the -// default. -func SetNumInstances(c context.Context, module, version string, instances int) error { - req := &pb.SetNumInstancesRequest{} - if module != "" { - req.Module = &module - } - if version != "" { - req.Version = &version - } - req.Instances = proto.Int64(int64(instances)) - res := &pb.SetNumInstancesResponse{} - return internal.Call(c, "modules", "SetNumInstances", req, res) -} - -// Versions returns the names of the versions that belong to the specified module. -// If module is the empty string, it means the default module. -func Versions(c context.Context, module string) ([]string, error) { - req := &pb.GetVersionsRequest{} - if module != "" { - req.Module = &module - } - res := &pb.GetVersionsResponse{} - err := internal.Call(c, "modules", "GetVersions", req, res) - return res.GetVersion(), err -} - -// DefaultVersion returns the default version of the specified module. -// If module is the empty string, it means the default module. -func DefaultVersion(c context.Context, module string) (string, error) { - req := &pb.GetDefaultVersionRequest{} - if module != "" { - req.Module = &module - } - res := &pb.GetDefaultVersionResponse{} - err := internal.Call(c, "modules", "GetDefaultVersion", req, res) - return res.GetVersion(), err -} - -// Start starts the specified version of the specified module. -// If either module or version are the empty string, it means the default. -func Start(c context.Context, module, version string) error { - req := &pb.StartModuleRequest{} - if module != "" { - req.Module = &module - } - if version != "" { - req.Version = &version - } - res := &pb.StartModuleResponse{} - return internal.Call(c, "modules", "StartModule", req, res) -} - -// Stop stops the specified version of the specified module. -// If either module or version are the empty string, it means the default. -func Stop(c context.Context, module, version string) error { - req := &pb.StopModuleRequest{} - if module != "" { - req.Module = &module - } - if version != "" { - req.Version = &version - } - res := &pb.StopModuleResponse{} - return internal.Call(c, "modules", "StopModule", req, res) -} diff --git a/vendor/google.golang.org/appengine/remote_api/client.go b/vendor/google.golang.org/appengine/remote_api/client.go deleted file mode 100644 index dbe219dbb..000000000 --- a/vendor/google.golang.org/appengine/remote_api/client.go +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2013 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package remote_api - -// This file provides the client for connecting remotely to a user's production -// application. - -import ( - "bytes" - "fmt" - "io/ioutil" - "log" - "math/rand" - "net/http" - "net/url" - "regexp" - "strconv" - "strings" - "time" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/remote_api" -) - -// NewRemoteContext returns a context that gives access to the production -// APIs for the application at the given host. All communication will be -// performed over SSL unless the host is localhost. -func NewRemoteContext(host string, client *http.Client) (context.Context, error) { - // Add an appcfg header to outgoing requests. - t := client.Transport - if t == nil { - t = http.DefaultTransport - } - client.Transport = &headerAddingRoundTripper{t} - - url := url.URL{ - Scheme: "https", - Host: host, - Path: "/_ah/remote_api", - } - if host == "localhost" || strings.HasPrefix(host, "localhost:") { - url.Scheme = "http" - } - u := url.String() - appID, err := getAppID(client, u) - if err != nil { - return nil, fmt.Errorf("unable to contact server: %v", err) - } - rc := &remoteContext{ - client: client, - url: u, - } - ctx := internal.WithCallOverride(context.Background(), rc.call) - ctx = internal.WithLogOverride(ctx, rc.logf) - ctx = internal.WithAppIDOverride(ctx, appID) - return ctx, nil -} - -type remoteContext struct { - client *http.Client - url string -} - -var logLevels = map[int64]string{ - 0: "DEBUG", - 1: "INFO", - 2: "WARNING", - 3: "ERROR", - 4: "CRITICAL", -} - -func (c *remoteContext) logf(level int64, format string, args ...interface{}) { - log.Printf(logLevels[level]+": "+format, args...) -} - -func (c *remoteContext) call(ctx context.Context, service, method string, in, out proto.Message) error { - req, err := proto.Marshal(in) - if err != nil { - return fmt.Errorf("error marshalling request: %v", err) - } - - remReq := &pb.Request{ - ServiceName: proto.String(service), - Method: proto.String(method), - Request: req, - // NOTE(djd): RequestId is unused in the server. - } - - req, err = proto.Marshal(remReq) - if err != nil { - return fmt.Errorf("proto.Marshal: %v", err) - } - - // TODO(djd): Respect ctx.Deadline()? - resp, err := c.client.Post(c.url, "application/octet-stream", bytes.NewReader(req)) - if err != nil { - return fmt.Errorf("error sending request: %v", err) - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if resp.StatusCode != http.StatusOK { - return fmt.Errorf("bad response %d; body: %q", resp.StatusCode, body) - } - if err != nil { - return fmt.Errorf("failed reading response: %v", err) - } - remResp := &pb.Response{} - if err := proto.Unmarshal(body, remResp); err != nil { - return fmt.Errorf("error unmarshalling response: %v", err) - } - - if ae := remResp.GetApplicationError(); ae != nil { - return &internal.APIError{ - Code: ae.GetCode(), - Detail: ae.GetDetail(), - Service: service, - } - } - - if remResp.Response == nil { - return fmt.Errorf("unexpected response: %s", proto.MarshalTextString(remResp)) - } - - return proto.Unmarshal(remResp.Response, out) -} - -// This is a forgiving regexp designed to parse the app ID from YAML. -var appIDRE = regexp.MustCompile(`app_id["']?\s*:\s*['"]?([-a-z0-9.:~]+)`) - -func getAppID(client *http.Client, url string) (string, error) { - // Generate a pseudo-random token for handshaking. - token := strconv.Itoa(rand.New(rand.NewSource(time.Now().UnixNano())).Int()) - - resp, err := client.Get(fmt.Sprintf("%s?rtok=%s", url, token)) - if err != nil { - return "", err - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if resp.StatusCode != http.StatusOK { - return "", fmt.Errorf("bad response %d; body: %q", resp.StatusCode, body) - } - if err != nil { - return "", fmt.Errorf("failed reading response: %v", err) - } - - // Check the token is present in response. - if !bytes.Contains(body, []byte(token)) { - return "", fmt.Errorf("token not found: want %q; body %q", token, body) - } - - match := appIDRE.FindSubmatch(body) - if match == nil { - return "", fmt.Errorf("app ID not found: body %q", body) - } - - return string(match[1]), nil -} - -type headerAddingRoundTripper struct { - Wrapped http.RoundTripper -} - -func (t *headerAddingRoundTripper) RoundTrip(r *http.Request) (*http.Response, error) { - r.Header.Set("X-Appcfg-Api-Version", "1") - return t.Wrapped.RoundTrip(r) -} diff --git a/vendor/google.golang.org/appengine/remote_api/remote_api.go b/vendor/google.golang.org/appengine/remote_api/remote_api.go deleted file mode 100644 index 68cd7d9bf..000000000 --- a/vendor/google.golang.org/appengine/remote_api/remote_api.go +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package remote_api implements the /_ah/remote_api endpoint. -This endpoint is used by offline tools such as the bulk loader. -*/ -package remote_api // import "google.golang.org/appengine/remote_api" - -import ( - "fmt" - "io" - "io/ioutil" - "net/http" - "strconv" - - "github.com/golang/protobuf/proto" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/remote_api" - "google.golang.org/appengine/log" - "google.golang.org/appengine/user" -) - -func init() { - http.HandleFunc("/_ah/remote_api", handle) -} - -func handle(w http.ResponseWriter, req *http.Request) { - c := appengine.NewContext(req) - - u := user.Current(c) - if u == nil { - u, _ = user.CurrentOAuth(c, - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/appengine.apis", - ) - } - - if u == nil || !u.Admin { - w.Header().Set("Content-Type", "text/plain; charset=utf-8") - w.WriteHeader(http.StatusUnauthorized) - io.WriteString(w, "You must be logged in as an administrator to access this.\n") - return - } - if req.Header.Get("X-Appcfg-Api-Version") == "" { - w.Header().Set("Content-Type", "text/plain; charset=utf-8") - w.WriteHeader(http.StatusForbidden) - io.WriteString(w, "This request did not contain a necessary header.\n") - return - } - - if req.Method != "POST" { - // Response must be YAML. - rtok := req.FormValue("rtok") - if rtok == "" { - rtok = "0" - } - w.Header().Set("Content-Type", "text/yaml; charset=utf-8") - fmt.Fprintf(w, `{app_id: %q, rtok: %q}`, internal.FullyQualifiedAppID(c), rtok) - return - } - - defer req.Body.Close() - body, err := ioutil.ReadAll(req.Body) - if err != nil { - w.WriteHeader(http.StatusBadRequest) - log.Errorf(c, "Failed reading body: %v", err) - return - } - remReq := &pb.Request{} - if err := proto.Unmarshal(body, remReq); err != nil { - w.WriteHeader(http.StatusBadRequest) - log.Errorf(c, "Bad body: %v", err) - return - } - - service, method := *remReq.ServiceName, *remReq.Method - if !requestSupported(service, method) { - w.WriteHeader(http.StatusBadRequest) - log.Errorf(c, "Unsupported RPC /%s.%s", service, method) - return - } - - rawReq := &rawMessage{remReq.Request} - rawRes := &rawMessage{} - err = internal.Call(c, service, method, rawReq, rawRes) - - remRes := &pb.Response{} - if err == nil { - remRes.Response = rawRes.buf - } else if ae, ok := err.(*internal.APIError); ok { - remRes.ApplicationError = &pb.ApplicationError{ - Code: &ae.Code, - Detail: &ae.Detail, - } - } else { - // This shouldn't normally happen. - log.Errorf(c, "appengine/remote_api: Unexpected error of type %T: %v", err, err) - remRes.ApplicationError = &pb.ApplicationError{ - Code: proto.Int32(0), - Detail: proto.String(err.Error()), - } - } - out, err := proto.Marshal(remRes) - if err != nil { - // This should not be possible. - w.WriteHeader(500) - log.Errorf(c, "proto.Marshal: %v", err) - return - } - - log.Infof(c, "Spooling %d bytes of response to /%s.%s", len(out), service, method) - w.Header().Set("Content-Type", "application/octet-stream") - w.Header().Set("Content-Length", strconv.Itoa(len(out))) - w.Write(out) -} - -// rawMessage is a protocol buffer type that is already serialised. -// This allows the remote_api code here to handle messages -// without having to know the real type. -type rawMessage struct { - buf []byte -} - -func (rm *rawMessage) Marshal() ([]byte, error) { - return rm.buf, nil -} - -func (rm *rawMessage) Unmarshal(buf []byte) error { - rm.buf = make([]byte, len(buf)) - copy(rm.buf, buf) - return nil -} - -func requestSupported(service, method string) bool { - // This list of supported services is taken from SERVICE_PB_MAP in remote_api_services.py - switch service { - case "app_identity_service", "blobstore", "capability_service", "channel", "datastore_v3", - "datastore_v4", "file", "images", "logservice", "mail", "matcher", "memcache", "remote_datastore", - "remote_socket", "search", "modules", "system", "taskqueue", "urlfetch", "user", "xmpp": - return true - } - return false -} - -// Methods to satisfy proto.Message. -func (rm *rawMessage) Reset() { rm.buf = nil } -func (rm *rawMessage) String() string { return strconv.Quote(string(rm.buf)) } -func (*rawMessage) ProtoMessage() {} diff --git a/vendor/google.golang.org/appengine/runtime/runtime.go b/vendor/google.golang.org/appengine/runtime/runtime.go deleted file mode 100644 index ece976553..000000000 --- a/vendor/google.golang.org/appengine/runtime/runtime.go +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package runtime exposes information about the resource usage of the application. -It also provides a way to run code in a new background context of a module. - -This package does not work on Managed VMs. -*/ -package runtime // import "google.golang.org/appengine/runtime" - -import ( - "net/http" - - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/system" -) - -// Statistics represents the system's statistics. -type Statistics struct { - // CPU records the CPU consumed by this instance, in megacycles. - CPU struct { - Total float64 - Rate1M float64 // consumption rate over one minute - Rate10M float64 // consumption rate over ten minutes - } - // RAM records the memory used by the instance, in megabytes. - RAM struct { - Current float64 - Average1M float64 // average usage over one minute - Average10M float64 // average usage over ten minutes - } -} - -func Stats(c context.Context) (*Statistics, error) { - req := &pb.GetSystemStatsRequest{} - res := &pb.GetSystemStatsResponse{} - if err := internal.Call(c, "system", "GetSystemStats", req, res); err != nil { - return nil, err - } - s := &Statistics{} - if res.Cpu != nil { - s.CPU.Total = res.Cpu.GetTotal() - s.CPU.Rate1M = res.Cpu.GetRate1M() - s.CPU.Rate10M = res.Cpu.GetRate10M() - } - if res.Memory != nil { - s.RAM.Current = res.Memory.GetCurrent() - s.RAM.Average1M = res.Memory.GetAverage1M() - s.RAM.Average10M = res.Memory.GetAverage10M() - } - return s, nil -} - -/* -RunInBackground makes an API call that triggers an /_ah/background request. - -There are two independent code paths that need to make contact: -the RunInBackground code, and the /_ah/background handler. The matchmaker -loop arranges for the two paths to meet. The RunInBackground code passes -a send to the matchmaker, the /_ah/background passes a recv to the matchmaker, -and the matchmaker hooks them up. -*/ - -func init() { - http.HandleFunc("/_ah/background", handleBackground) - - sc := make(chan send) - rc := make(chan recv) - sendc, recvc = sc, rc - go matchmaker(sc, rc) -} - -var ( - sendc chan<- send // RunInBackground sends to this - recvc chan<- recv // handleBackground sends to this -) - -type send struct { - id string - f func(context.Context) -} - -type recv struct { - id string - ch chan<- func(context.Context) -} - -func matchmaker(sendc <-chan send, recvc <-chan recv) { - // When one side of the match arrives before the other - // it is inserted in the corresponding map. - waitSend := make(map[string]send) - waitRecv := make(map[string]recv) - - for { - select { - case s := <-sendc: - if r, ok := waitRecv[s.id]; ok { - // meet! - delete(waitRecv, s.id) - r.ch <- s.f - } else { - // waiting for r - waitSend[s.id] = s - } - case r := <-recvc: - if s, ok := waitSend[r.id]; ok { - // meet! - delete(waitSend, r.id) - r.ch <- s.f - } else { - // waiting for s - waitRecv[r.id] = r - } - } - } -} - -var newContext = appengine.NewContext // for testing - -func handleBackground(w http.ResponseWriter, req *http.Request) { - id := req.Header.Get("X-AppEngine-BackgroundRequest") - - ch := make(chan func(context.Context)) - recvc <- recv{id, ch} - (<-ch)(newContext(req)) -} - -// RunInBackground runs f in a background goroutine in this process. -// f is provided a context that may outlast the context provided to RunInBackground. -// This is only valid to invoke from a manually scaled module. -func RunInBackground(c context.Context, f func(c context.Context)) error { - req := &pb.StartBackgroundRequestRequest{} - res := &pb.StartBackgroundRequestResponse{} - if err := internal.Call(c, "system", "StartBackgroundRequest", req, res); err != nil { - return err - } - sendc <- send{res.GetRequestId(), f} - return nil -} - -func init() { - internal.RegisterErrorCodeMap("system", pb.SystemServiceError_ErrorCode_name) -} diff --git a/vendor/google.golang.org/appengine/search/doc.go b/vendor/google.golang.org/appengine/search/doc.go deleted file mode 100644 index 2392e7e3a..000000000 --- a/vendor/google.golang.org/appengine/search/doc.go +++ /dev/null @@ -1,205 +0,0 @@ -// Copyright 2015 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package search provides a client for App Engine's search service. - - -Basic Operations - -Indexes contain documents. Each index is identified by its name: a -human-readable ASCII string. - -Within an index, documents are associated with an ID, which is also -a human-readable ASCII string. A document's contents are a mapping from -case-sensitive field names to values. Valid types for field values are: - - string, - - search.Atom, - - search.HTML, - - time.Time (stored with millisecond precision), - - float64 (value between -2,147,483,647 and 2,147,483,647 inclusive), - - appengine.GeoPoint. - -The Get and Put methods on an Index load and save a document. -A document's contents are typically represented by a struct pointer. - -Example code: - - type Doc struct { - Author string - Comment string - Creation time.Time - } - - index, err := search.Open("comments") - if err != nil { - return err - } - newID, err := index.Put(ctx, "", &Doc{ - Author: "gopher", - Comment: "the truth of the matter", - Creation: time.Now(), - }) - if err != nil { - return err - } - -A single document can be retrieved by its ID. Pass a destination struct -to Get to hold the resulting document. - - var doc Doc - err := index.Get(ctx, id, &doc) - if err != nil { - return err - } - - -Search and Listing Documents - -Indexes have two methods for retrieving multiple documents at once: Search and -List. - -Searching an index for a query will result in an iterator. As with an iterator -from package datastore, pass a destination struct to Next to decode the next -result. Next will return Done when the iterator is exhausted. - - for t := index.Search(ctx, "Comment:truth", nil); ; { - var doc Doc - id, err := t.Next(&doc) - if err == search.Done { - break - } - if err != nil { - return err - } - fmt.Fprintf(w, "%s -> %#v\n", id, doc) - } - -Search takes a string query to determine which documents to return. The query -can be simple, such as a single word to match, or complex. The query -language is described at -https://cloud.google.com/appengine/docs/go/search/query_strings - -Search also takes an optional SearchOptions struct which gives much more -control over how results are calculated and returned. - -Call List to iterate over all documents in an index. - - for t := index.List(ctx, nil); ; { - var doc Doc - id, err := t.Next(&doc) - if err == search.Done { - break - } - if err != nil { - return err - } - fmt.Fprintf(w, "%s -> %#v\n", id, doc) - } - - -Fields and Facets - -A document's contents can be represented by a variety of types. These are -typically struct pointers, but they can also be represented by any type -implementing the FieldLoadSaver interface. The FieldLoadSaver allows metadata -to be set for the document with the DocumentMetadata type. Struct pointers are -more strongly typed and are easier to use; FieldLoadSavers are more flexible. - -A document's contents can be expressed in two ways: fields and facets. - -Fields are the most common way of providing content for documents. Fields can -store data in multiple types and can be matched in searches using query -strings. - -Facets provide a way to attach categorical information to a document. The only -valid types for facets are search.Atom and float64. Facets allow search -results to contain summaries of the categories matched in a search, and to -restrict searches to only match against specific categories. - -By default, for struct pointers, all of the struct fields are used as document -fields, and the field name used is the same as on the struct (and hence must -start with an upper case letter). Struct fields may have a -`search:"name,options"` tag. The name must start with a letter and be -composed only of word characters. If options is "facet" then the struct -field will be used as a document facet. If options is "" then the comma -may be omitted. There are no other recognized options. - -Example code: - - // A and B are renamed to a and b. - // A, C and I are facets. - // D's tag is equivalent to having no tag at all (E). - // I has tag information for both the search and json packages. - type TaggedStruct struct { - A float64 `search:"a,facet"` - B float64 `search:"b"` - C float64 `search:",facet"` - D float64 `search:""` - E float64 - I float64 `search:",facet" json:"i"` - } - - -The FieldLoadSaver Interface - -A document's contents can also be represented by any type that implements the -FieldLoadSaver interface. This type may be a struct pointer, but it -does not have to be. The search package will call Load when loading the -document's contents, and Save when saving them. In addition to a slice of -Fields, the Load and Save methods also use the DocumentMetadata type to -provide additional information about a document (such as its Rank, or set of -Facets). Possible uses for this interface include deriving non-stored fields, -verifying fields or setting specific languages for string and HTML fields. - -Example code: - - type CustomFieldsExample struct { - // Item's title and which language it is in. - Title string - Lang string - // Mass, in grams. - Mass int - } - - func (x *CustomFieldsExample) Load(fields []search.Field, meta *search.DocumentMetadata) error { - // Load the title field, failing if any other field is found. - for _, f := range fields { - if f.Name != "title" { - return fmt.Errorf("unknown field %q", f.Name) - } - s, ok := f.Value.(string) - if !ok { - return fmt.Errorf("unsupported type %T for field %q", f.Value, f.Name) - } - x.Title = s - x.Lang = f.Language - } - // Load the mass facet, failing if any other facet is found. - for _, f := range meta.Facets { - if f.Name != "mass" { - return fmt.Errorf("unknown facet %q", f.Name) - } - m, ok := f.Value.(float64) - if !ok { - return fmt.Errorf("unsupported type %T for facet %q", f.Value, f.Name) - } - x.Mass = int(m) - } - return nil - } - - func (x *CustomFieldsExample) Save() ([]search.Field, *search.DocumentMetadata, error) { - fields := []search.Field{ - {Name: "title", Value: x.Title, Language: x.Lang}, - } - meta := &search.DocumentMetadata{ - Facets: { - {Name: "mass", Value: float64(x.Mass)}, - }, - } - return fields, meta, nil - } -*/ -package search diff --git a/vendor/google.golang.org/appengine/search/field.go b/vendor/google.golang.org/appengine/search/field.go deleted file mode 100644 index 707c2d8c0..000000000 --- a/vendor/google.golang.org/appengine/search/field.go +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2014 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package search - -// Field is a name/value pair. A search index's document can be loaded and -// saved as a sequence of Fields. -type Field struct { - // Name is the field name. A valid field name matches /[A-Za-z][A-Za-z0-9_]*/. - Name string - // Value is the field value. The valid types are: - // - string, - // - search.Atom, - // - search.HTML, - // - time.Time (stored with millisecond precision), - // - float64, - // - GeoPoint. - Value interface{} - // Language is a two-letter ISO 639-1 code for the field's language, - // defaulting to "en" if nothing is specified. It may only be specified for - // fields of type string and search.HTML. - Language string - // Derived marks fields that were calculated as a result of a - // FieldExpression provided to Search. This field is ignored when saving a - // document. - Derived bool -} - -// Facet is a name/value pair which is used to add categorical information to a -// document. -type Facet struct { - // Name is the facet name. A valid facet name matches /[A-Za-z][A-Za-z0-9_]*/. - // A facet name cannot be longer than 500 characters. - Name string - // Value is the facet value. - // - // When being used in documents (for example, in - // DocumentMetadata.Facets), the valid types are: - // - search.Atom, - // - float64. - // - // When being used in SearchOptions.Refinements or being returned - // in FacetResult, the valid types are: - // - search.Atom, - // - search.Range. - Value interface{} -} - -// DocumentMetadata is a struct containing information describing a given document. -type DocumentMetadata struct { - // Rank is an integer specifying the order the document will be returned in - // search results. If zero, the rank will be set to the number of seconds since - // 2011-01-01 00:00:00 UTC when being Put into an index. - Rank int - // Facets is the set of facets for this document. - Facets []Facet -} - -// FieldLoadSaver can be converted from and to a slice of Fields -// with additional document metadata. -type FieldLoadSaver interface { - Load([]Field, *DocumentMetadata) error - Save() ([]Field, *DocumentMetadata, error) -} - -// FieldList converts a []Field to implement FieldLoadSaver. -type FieldList []Field - -// Load loads all of the provided fields into l. -// It does not first reset *l to an empty slice. -func (l *FieldList) Load(f []Field, _ *DocumentMetadata) error { - *l = append(*l, f...) - return nil -} - -// Save returns all of l's fields as a slice of Fields. -func (l *FieldList) Save() ([]Field, *DocumentMetadata, error) { - return *l, nil, nil -} - -var _ FieldLoadSaver = (*FieldList)(nil) diff --git a/vendor/google.golang.org/appengine/search/search.go b/vendor/google.golang.org/appengine/search/search.go deleted file mode 100644 index cbba874bb..000000000 --- a/vendor/google.golang.org/appengine/search/search.go +++ /dev/null @@ -1,1109 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package search // import "google.golang.org/appengine/search" - -// TODO: let Put specify the document language: "en", "fr", etc. Also: order_id?? storage?? -// TODO: Index.GetAll (or Iterator.GetAll)? -// TODO: struct <-> protobuf tests. -// TODO: enforce Python's MIN_NUMBER_VALUE and MIN_DATE (which would disallow a zero -// time.Time)? _MAXIMUM_STRING_LENGTH? - -import ( - "errors" - "fmt" - "math" - "reflect" - "regexp" - "strconv" - "strings" - "time" - "unicode/utf8" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/search" -) - -var ( - // ErrInvalidDocumentType is returned when methods like Put, Get or Next - // are passed a dst or src argument of invalid type. - ErrInvalidDocumentType = errors.New("search: invalid document type") - - // ErrNoSuchDocument is returned when no document was found for a given ID. - ErrNoSuchDocument = errors.New("search: no such document") -) - -// Atom is a document field whose contents are indexed as a single indivisible -// string. -type Atom string - -// HTML is a document field whose contents are indexed as HTML. Only text nodes -// are indexed: "foobar" will be treated as "foobar". -type HTML string - -// validIndexNameOrDocID is the Go equivalent of Python's -// _ValidateVisiblePrintableAsciiNotReserved. -func validIndexNameOrDocID(s string) bool { - if strings.HasPrefix(s, "!") { - return false - } - for _, c := range s { - if c < 0x21 || 0x7f <= c { - return false - } - } - return true -} - -var ( - fieldNameRE = regexp.MustCompile(`^[A-Za-z][A-Za-z0-9_]*$`) - languageRE = regexp.MustCompile(`^[a-z]{2}$`) -) - -// validFieldName is the Go equivalent of Python's _CheckFieldName. It checks -// the validity of both field and facet names. -func validFieldName(s string) bool { - return len(s) <= 500 && fieldNameRE.MatchString(s) -} - -// validDocRank checks that the ranks is in the range [0, 2^31). -func validDocRank(r int) bool { - return 0 <= r && r <= (1<<31-1) -} - -// validLanguage checks that a language looks like ISO 639-1. -func validLanguage(s string) bool { - return languageRE.MatchString(s) -} - -// validFloat checks that f is in the range [-2147483647, 2147483647]. -func validFloat(f float64) bool { - return -(1<<31-1) <= f && f <= (1<<31-1) -} - -// Index is an index of documents. -type Index struct { - spec pb.IndexSpec -} - -// orderIDEpoch forms the basis for populating OrderId on documents. -var orderIDEpoch = time.Date(2011, 1, 1, 0, 0, 0, 0, time.UTC) - -// Open opens the index with the given name. The index is created if it does -// not already exist. -// -// The name is a human-readable ASCII string. It must contain no whitespace -// characters and not start with "!". -func Open(name string) (*Index, error) { - if !validIndexNameOrDocID(name) { - return nil, fmt.Errorf("search: invalid index name %q", name) - } - return &Index{ - spec: pb.IndexSpec{ - Name: &name, - }, - }, nil -} - -// Put saves src to the index. If id is empty, a new ID is allocated by the -// service and returned. If id is not empty, any existing index entry for that -// ID is replaced. -// -// The ID is a human-readable ASCII string. It must contain no whitespace -// characters and not start with "!". -// -// src must be a non-nil struct pointer or implement the FieldLoadSaver -// interface. -func (x *Index) Put(c context.Context, id string, src interface{}) (string, error) { - d, err := saveDoc(src) - if err != nil { - return "", err - } - if id != "" { - if !validIndexNameOrDocID(id) { - return "", fmt.Errorf("search: invalid ID %q", id) - } - d.Id = proto.String(id) - } - req := &pb.IndexDocumentRequest{ - Params: &pb.IndexDocumentParams{ - Document: []*pb.Document{d}, - IndexSpec: &x.spec, - }, - } - res := &pb.IndexDocumentResponse{} - if err := internal.Call(c, "search", "IndexDocument", req, res); err != nil { - return "", err - } - if len(res.Status) > 0 { - if s := res.Status[0]; s.GetCode() != pb.SearchServiceError_OK { - return "", fmt.Errorf("search: %s: %s", s.GetCode(), s.GetErrorDetail()) - } - } - if len(res.Status) != 1 || len(res.DocId) != 1 { - return "", fmt.Errorf("search: internal error: wrong number of results (%d Statuses, %d DocIDs)", - len(res.Status), len(res.DocId)) - } - return res.DocId[0], nil -} - -// Get loads the document with the given ID into dst. -// -// The ID is a human-readable ASCII string. It must be non-empty, contain no -// whitespace characters and not start with "!". -// -// dst must be a non-nil struct pointer or implement the FieldLoadSaver -// interface. -// -// ErrFieldMismatch is returned when a field is to be loaded into a different -// type than the one it was stored from, or when a field is missing or -// unexported in the destination struct. ErrFieldMismatch is only returned if -// dst is a struct pointer. It is up to the callee to decide whether this error -// is fatal, recoverable, or ignorable. -func (x *Index) Get(c context.Context, id string, dst interface{}) error { - if id == "" || !validIndexNameOrDocID(id) { - return fmt.Errorf("search: invalid ID %q", id) - } - req := &pb.ListDocumentsRequest{ - Params: &pb.ListDocumentsParams{ - IndexSpec: &x.spec, - StartDocId: proto.String(id), - Limit: proto.Int32(1), - }, - } - res := &pb.ListDocumentsResponse{} - if err := internal.Call(c, "search", "ListDocuments", req, res); err != nil { - return err - } - if res.Status == nil || res.Status.GetCode() != pb.SearchServiceError_OK { - return fmt.Errorf("search: %s: %s", res.Status.GetCode(), res.Status.GetErrorDetail()) - } - if len(res.Document) != 1 || res.Document[0].GetId() != id { - return ErrNoSuchDocument - } - return loadDoc(dst, res.Document[0], nil) -} - -// Delete deletes a document from the index. -func (x *Index) Delete(c context.Context, id string) error { - req := &pb.DeleteDocumentRequest{ - Params: &pb.DeleteDocumentParams{ - DocId: []string{id}, - IndexSpec: &x.spec, - }, - } - res := &pb.DeleteDocumentResponse{} - if err := internal.Call(c, "search", "DeleteDocument", req, res); err != nil { - return err - } - if len(res.Status) != 1 { - return fmt.Errorf("search: internal error: wrong number of results (%d)", len(res.Status)) - } - if s := res.Status[0]; s.GetCode() != pb.SearchServiceError_OK { - return fmt.Errorf("search: %s: %s", s.GetCode(), s.GetErrorDetail()) - } - return nil -} - -// List lists all of the documents in an index. The documents are returned in -// increasing ID order. -func (x *Index) List(c context.Context, opts *ListOptions) *Iterator { - t := &Iterator{ - c: c, - index: x, - count: -1, - listInclusive: true, - more: moreList, - } - if opts != nil { - t.listStartID = opts.StartID - t.limit = opts.Limit - t.idsOnly = opts.IDsOnly - } - return t -} - -func moreList(t *Iterator) error { - req := &pb.ListDocumentsRequest{ - Params: &pb.ListDocumentsParams{ - IndexSpec: &t.index.spec, - }, - } - if t.listStartID != "" { - req.Params.StartDocId = &t.listStartID - req.Params.IncludeStartDoc = &t.listInclusive - } - if t.limit > 0 { - req.Params.Limit = proto.Int32(int32(t.limit)) - } - if t.idsOnly { - req.Params.KeysOnly = &t.idsOnly - } - - res := &pb.ListDocumentsResponse{} - if err := internal.Call(t.c, "search", "ListDocuments", req, res); err != nil { - return err - } - if res.Status == nil || res.Status.GetCode() != pb.SearchServiceError_OK { - return fmt.Errorf("search: %s: %s", res.Status.GetCode(), res.Status.GetErrorDetail()) - } - t.listRes = res.Document - t.listStartID, t.listInclusive, t.more = "", false, nil - if len(res.Document) != 0 && t.limit <= 0 { - if id := res.Document[len(res.Document)-1].GetId(); id != "" { - t.listStartID, t.more = id, moreList - } - } - return nil -} - -// ListOptions are the options for listing documents in an index. Passing a nil -// *ListOptions is equivalent to using the default values. -type ListOptions struct { - // StartID is the inclusive lower bound for the ID of the returned - // documents. The zero value means all documents will be returned. - StartID string - - // Limit is the maximum number of documents to return. The zero value - // indicates no limit. - Limit int - - // IDsOnly indicates that only document IDs should be returned for the list - // operation; no document fields are populated. - IDsOnly bool -} - -// Search searches the index for the given query. -func (x *Index) Search(c context.Context, query string, opts *SearchOptions) *Iterator { - t := &Iterator{ - c: c, - index: x, - searchQuery: query, - more: moreSearch, - } - if opts != nil { - if opts.Cursor != "" { - if opts.Offset != 0 { - return errIter("at most one of Cursor and Offset may be specified") - } - t.searchCursor = proto.String(string(opts.Cursor)) - } - t.limit = opts.Limit - t.fields = opts.Fields - t.idsOnly = opts.IDsOnly - t.sort = opts.Sort - t.exprs = opts.Expressions - t.refinements = opts.Refinements - t.facetOpts = opts.Facets - t.searchOffset = opts.Offset - } - return t -} - -func moreSearch(t *Iterator) error { - // We use per-result (rather than single/per-page) cursors since this - // lets us return a Cursor for every iterator document. The two cursor - // types are largely interchangeable: a page cursor is the same as the - // last per-result cursor in a given search response. - req := &pb.SearchRequest{ - Params: &pb.SearchParams{ - IndexSpec: &t.index.spec, - Query: &t.searchQuery, - Cursor: t.searchCursor, - CursorType: pb.SearchParams_PER_RESULT.Enum(), - FieldSpec: &pb.FieldSpec{ - Name: t.fields, - }, - }, - } - if t.limit > 0 { - req.Params.Limit = proto.Int32(int32(t.limit)) - } - if t.searchOffset > 0 { - req.Params.Offset = proto.Int32(int32(t.searchOffset)) - t.searchOffset = 0 - } - if t.idsOnly { - req.Params.KeysOnly = &t.idsOnly - } - if t.sort != nil { - if err := sortToProto(t.sort, req.Params); err != nil { - return err - } - } - if t.refinements != nil { - if err := refinementsToProto(t.refinements, req.Params); err != nil { - return err - } - } - for _, e := range t.exprs { - req.Params.FieldSpec.Expression = append(req.Params.FieldSpec.Expression, &pb.FieldSpec_Expression{ - Name: proto.String(e.Name), - Expression: proto.String(e.Expr), - }) - } - for _, f := range t.facetOpts { - if err := f.setParams(req.Params); err != nil { - return fmt.Errorf("bad FacetSearchOption: %v", err) - } - } - // Don't repeat facet search. - t.facetOpts = nil - - res := &pb.SearchResponse{} - if err := internal.Call(t.c, "search", "Search", req, res); err != nil { - return err - } - if res.Status == nil || res.Status.GetCode() != pb.SearchServiceError_OK { - return fmt.Errorf("search: %s: %s", res.Status.GetCode(), res.Status.GetErrorDetail()) - } - t.searchRes = res.Result - if len(res.FacetResult) > 0 { - t.facetRes = res.FacetResult - } - t.count = int(*res.MatchedCount) - if t.limit > 0 { - t.more = nil - } else { - t.more = moreSearch - } - return nil -} - -// SearchOptions are the options for searching an index. Passing a nil -// *SearchOptions is equivalent to using the default values. -type SearchOptions struct { - // Limit is the maximum number of documents to return. The zero value - // indicates no limit. - Limit int - - // IDsOnly indicates that only document IDs should be returned for the search - // operation; no document fields are populated. - IDsOnly bool - - // Sort controls the ordering of search results. - Sort *SortOptions - - // Fields specifies which document fields to include in the results. If omitted, - // all document fields are returned. No more than 100 fields may be specified. - Fields []string - - // Expressions specifies additional computed fields to add to each returned - // document. - Expressions []FieldExpression - - // Facets controls what facet information is returned for these search results. - // If no options are specified, no facet results will be returned. - Facets []FacetSearchOption - - // Refinements filters the returned documents by requiring them to contain facets - // with specific values. Refinements are applied in conjunction for facets with - // different names, and in disjunction otherwise. - Refinements []Facet - - // Cursor causes the results to commence with the first document after - // the document associated with the cursor. - Cursor Cursor - - // Offset specifies the number of documents to skip over before returning results. - // When specified, Cursor must be nil. - Offset int -} - -// Cursor represents an iterator's position. -// -// The string value of a cursor is web-safe. It can be saved and restored -// for later use. -type Cursor string - -// FieldExpression defines a custom expression to evaluate for each result. -type FieldExpression struct { - // Name is the name to use for the computed field. - Name string - - // Expr is evaluated to provide a custom content snippet for each document. - // See https://cloud.google.com/appengine/docs/go/search/options for - // the supported expression syntax. - Expr string -} - -// FacetSearchOption controls what facet information is returned in search results. -type FacetSearchOption interface { - setParams(*pb.SearchParams) error -} - -// AutoFacetDiscovery returns a FacetSearchOption which enables automatic facet -// discovery for the search. Automatic facet discovery looks for the facets -// which appear the most often in the aggregate in the matched documents. -// -// The maximum number of facets returned is controlled by facetLimit, and the -// maximum number of values per facet by facetLimit. A limit of zero indicates -// a default limit should be used. -func AutoFacetDiscovery(facetLimit, valueLimit int) FacetSearchOption { - return &autoFacetOpt{facetLimit, valueLimit} -} - -type autoFacetOpt struct { - facetLimit, valueLimit int -} - -const defaultAutoFacetLimit = 10 // As per python runtime search.py. - -func (o *autoFacetOpt) setParams(params *pb.SearchParams) error { - lim := int32(o.facetLimit) - if lim == 0 { - lim = defaultAutoFacetLimit - } - params.AutoDiscoverFacetCount = &lim - if o.valueLimit > 0 { - params.FacetAutoDetectParam = &pb.FacetAutoDetectParam{ - ValueLimit: proto.Int32(int32(o.valueLimit)), - } - } - return nil -} - -// FacetDiscovery returns a FacetSearchOption which selects a facet to be -// returned with the search results. By default, the most frequently -// occurring values for that facet will be returned. However, you can also -// specify a list of particular Atoms or specific Ranges to return. -func FacetDiscovery(name string, value ...interface{}) FacetSearchOption { - return &facetOpt{name, value} -} - -type facetOpt struct { - name string - values []interface{} -} - -func (o *facetOpt) setParams(params *pb.SearchParams) error { - req := &pb.FacetRequest{Name: &o.name} - params.IncludeFacet = append(params.IncludeFacet, req) - if len(o.values) == 0 { - return nil - } - vtype := reflect.TypeOf(o.values[0]) - reqParam := &pb.FacetRequestParam{} - for _, v := range o.values { - if reflect.TypeOf(v) != vtype { - return errors.New("values must all be Atom, or must all be Range") - } - switch v := v.(type) { - case Atom: - reqParam.ValueConstraint = append(reqParam.ValueConstraint, string(v)) - case Range: - rng, err := rangeToProto(v) - if err != nil { - return fmt.Errorf("invalid range: %v", err) - } - reqParam.Range = append(reqParam.Range, rng) - default: - return fmt.Errorf("unsupported value type %T", v) - } - } - req.Params = reqParam - return nil -} - -// FacetDocumentDepth returns a FacetSearchOption which controls the number of -// documents to be evaluated with preparing facet results. -func FacetDocumentDepth(depth int) FacetSearchOption { - return facetDepthOpt(depth) -} - -type facetDepthOpt int - -func (o facetDepthOpt) setParams(params *pb.SearchParams) error { - params.FacetDepth = proto.Int32(int32(o)) - return nil -} - -// FacetResult represents the number of times a particular facet and value -// appeared in the documents matching a search request. -type FacetResult struct { - Facet - - // Count is the number of times this specific facet and value appeared in the - // matching documents. - Count int -} - -// Range represents a numeric range with inclusive start and exclusive end. -// Start may be specified as math.Inf(-1) to indicate there is no minimum -// value, and End may similarly be specified as math.Inf(1); at least one of -// Start or End must be a finite number. -type Range struct { - Start, End float64 -} - -var ( - negInf = math.Inf(-1) - posInf = math.Inf(1) -) - -// AtLeast returns a Range matching any value greater than, or equal to, min. -func AtLeast(min float64) Range { - return Range{Start: min, End: posInf} -} - -// LessThan returns a Range matching any value less than max. -func LessThan(max float64) Range { - return Range{Start: negInf, End: max} -} - -// SortOptions control the ordering and scoring of search results. -type SortOptions struct { - // Expressions is a slice of expressions representing a multi-dimensional - // sort. - Expressions []SortExpression - - // Scorer, when specified, will cause the documents to be scored according to - // search term frequency. - Scorer Scorer - - // Limit is the maximum number of objects to score and/or sort. Limit cannot - // be more than 10,000. The zero value indicates a default limit. - Limit int -} - -// SortExpression defines a single dimension for sorting a document. -type SortExpression struct { - // Expr is evaluated to provide a sorting value for each document. - // See https://cloud.google.com/appengine/docs/go/search/options for - // the supported expression syntax. - Expr string - - // Reverse causes the documents to be sorted in ascending order. - Reverse bool - - // The default value to use when no field is present or the expresion - // cannot be calculated for a document. For text sorts, Default must - // be of type string; for numeric sorts, float64. - Default interface{} -} - -// A Scorer defines how a document is scored. -type Scorer interface { - toProto(*pb.ScorerSpec) -} - -type enumScorer struct { - enum pb.ScorerSpec_Scorer -} - -func (e enumScorer) toProto(spec *pb.ScorerSpec) { - spec.Scorer = e.enum.Enum() -} - -var ( - // MatchScorer assigns a score based on term frequency in a document. - MatchScorer Scorer = enumScorer{pb.ScorerSpec_MATCH_SCORER} - - // RescoringMatchScorer assigns a score based on the quality of the query - // match. It is similar to a MatchScorer but uses a more complex scoring - // algorithm based on match term frequency and other factors like field type. - // Please be aware that this algorithm is continually refined and can change - // over time without notice. This means that the ordering of search results - // that use this scorer can also change without notice. - RescoringMatchScorer Scorer = enumScorer{pb.ScorerSpec_RESCORING_MATCH_SCORER} -) - -func sortToProto(sort *SortOptions, params *pb.SearchParams) error { - for _, e := range sort.Expressions { - spec := &pb.SortSpec{ - SortExpression: proto.String(e.Expr), - } - if e.Reverse { - spec.SortDescending = proto.Bool(false) - } - if e.Default != nil { - switch d := e.Default.(type) { - case float64: - spec.DefaultValueNumeric = &d - case string: - spec.DefaultValueText = &d - default: - return fmt.Errorf("search: invalid Default type %T for expression %q", d, e.Expr) - } - } - params.SortSpec = append(params.SortSpec, spec) - } - - spec := &pb.ScorerSpec{} - if sort.Limit > 0 { - spec.Limit = proto.Int32(int32(sort.Limit)) - params.ScorerSpec = spec - } - if sort.Scorer != nil { - sort.Scorer.toProto(spec) - params.ScorerSpec = spec - } - - return nil -} - -func refinementsToProto(refinements []Facet, params *pb.SearchParams) error { - for _, r := range refinements { - ref := &pb.FacetRefinement{ - Name: proto.String(r.Name), - } - switch v := r.Value.(type) { - case Atom: - ref.Value = proto.String(string(v)) - case Range: - rng, err := rangeToProto(v) - if err != nil { - return fmt.Errorf("search: refinement for facet %q: %v", r.Name, err) - } - // Unfortunately there are two identical messages for identify Facet ranges. - ref.Range = &pb.FacetRefinement_Range{Start: rng.Start, End: rng.End} - default: - return fmt.Errorf("search: unsupported refinement for facet %q of type %T", r.Name, v) - } - params.FacetRefinement = append(params.FacetRefinement, ref) - } - return nil -} - -func rangeToProto(r Range) (*pb.FacetRange, error) { - rng := &pb.FacetRange{} - if r.Start != negInf { - if !validFloat(r.Start) { - return nil, errors.New("invalid value for Start") - } - rng.Start = proto.String(strconv.FormatFloat(r.Start, 'e', -1, 64)) - } else if r.End == posInf { - return nil, errors.New("either Start or End must be finite") - } - if r.End != posInf { - if !validFloat(r.End) { - return nil, errors.New("invalid value for End") - } - rng.End = proto.String(strconv.FormatFloat(r.End, 'e', -1, 64)) - } - return rng, nil -} - -func protoToRange(rng *pb.FacetRefinement_Range) Range { - r := Range{Start: negInf, End: posInf} - if x, err := strconv.ParseFloat(rng.GetStart(), 64); err != nil { - r.Start = x - } - if x, err := strconv.ParseFloat(rng.GetEnd(), 64); err != nil { - r.End = x - } - return r -} - -// Iterator is the result of searching an index for a query or listing an -// index. -type Iterator struct { - c context.Context - index *Index - err error - - listRes []*pb.Document - listStartID string - listInclusive bool - - searchRes []*pb.SearchResult - facetRes []*pb.FacetResult - searchQuery string - searchCursor *string - searchOffset int - sort *SortOptions - - fields []string - exprs []FieldExpression - refinements []Facet - facetOpts []FacetSearchOption - - more func(*Iterator) error - - count int - limit int // items left to return; 0 for unlimited. - idsOnly bool -} - -// errIter returns an iterator that only returns the given error. -func errIter(err string) *Iterator { - return &Iterator{ - err: errors.New(err), - } -} - -// Done is returned when a query iteration has completed. -var Done = errors.New("search: query has no more results") - -// Count returns an approximation of the number of documents matched by the -// query. It is only valid to call for iterators returned by Search. -func (t *Iterator) Count() int { return t.count } - -// fetchMore retrieves more results, if there are no errors or pending results. -func (t *Iterator) fetchMore() { - if t.err == nil && len(t.listRes)+len(t.searchRes) == 0 && t.more != nil { - t.err = t.more(t) - } -} - -// Next returns the ID of the next result. When there are no more results, -// Done is returned as the error. -// -// dst must be a non-nil struct pointer, implement the FieldLoadSaver -// interface, or be a nil interface value. If a non-nil dst is provided, it -// will be filled with the indexed fields. dst is ignored if this iterator was -// created with an IDsOnly option. -func (t *Iterator) Next(dst interface{}) (string, error) { - t.fetchMore() - if t.err != nil { - return "", t.err - } - - var doc *pb.Document - var exprs []*pb.Field - switch { - case len(t.listRes) != 0: - doc = t.listRes[0] - t.listRes = t.listRes[1:] - case len(t.searchRes) != 0: - doc = t.searchRes[0].Document - exprs = t.searchRes[0].Expression - t.searchCursor = t.searchRes[0].Cursor - t.searchRes = t.searchRes[1:] - default: - return "", Done - } - if doc == nil { - return "", errors.New("search: internal error: no document returned") - } - if !t.idsOnly && dst != nil { - if err := loadDoc(dst, doc, exprs); err != nil { - return "", err - } - } - return doc.GetId(), nil -} - -// Cursor returns the cursor associated with the current document (that is, -// the document most recently returned by a call to Next). -// -// Passing this cursor in a future call to Search will cause those results -// to commence with the first document after the current document. -func (t *Iterator) Cursor() Cursor { - if t.searchCursor == nil { - return "" - } - return Cursor(*t.searchCursor) -} - -// Facets returns the facets found within the search results, if any facets -// were requested in the SearchOptions. -func (t *Iterator) Facets() ([][]FacetResult, error) { - t.fetchMore() - if t.err != nil && t.err != Done { - return nil, t.err - } - - var facets [][]FacetResult - for _, f := range t.facetRes { - fres := make([]FacetResult, 0, len(f.Value)) - for _, v := range f.Value { - ref := v.Refinement - facet := FacetResult{ - Facet: Facet{Name: ref.GetName()}, - Count: int(v.GetCount()), - } - if ref.Value != nil { - facet.Value = Atom(*ref.Value) - } else { - facet.Value = protoToRange(ref.Range) - } - fres = append(fres, facet) - } - facets = append(facets, fres) - } - return facets, nil -} - -// saveDoc converts from a struct pointer or -// FieldLoadSaver/FieldMetadataLoadSaver to the Document protobuf. -func saveDoc(src interface{}) (*pb.Document, error) { - var err error - var fields []Field - var meta *DocumentMetadata - switch x := src.(type) { - case FieldLoadSaver: - fields, meta, err = x.Save() - default: - fields, err = SaveStruct(src) - } - if err != nil { - return nil, err - } - - fieldsProto, err := fieldsToProto(fields) - if err != nil { - return nil, err - } - d := &pb.Document{ - Field: fieldsProto, - OrderId: proto.Int32(int32(time.Since(orderIDEpoch).Seconds())), - } - if meta != nil { - if meta.Rank != 0 { - if !validDocRank(meta.Rank) { - return nil, fmt.Errorf("search: invalid rank %d, must be [0, 2^31)", meta.Rank) - } - *d.OrderId = int32(meta.Rank) - } - if len(meta.Facets) > 0 { - facets, err := facetsToProto(meta.Facets) - if err != nil { - return nil, err - } - d.Facet = facets - } - } - return d, nil -} - -func fieldsToProto(src []Field) ([]*pb.Field, error) { - // Maps to catch duplicate time or numeric fields. - timeFields, numericFields := make(map[string]bool), make(map[string]bool) - dst := make([]*pb.Field, 0, len(src)) - for _, f := range src { - if !validFieldName(f.Name) { - return nil, fmt.Errorf("search: invalid field name %q", f.Name) - } - fieldValue := &pb.FieldValue{} - switch x := f.Value.(type) { - case string: - fieldValue.Type = pb.FieldValue_TEXT.Enum() - fieldValue.StringValue = proto.String(x) - case Atom: - fieldValue.Type = pb.FieldValue_ATOM.Enum() - fieldValue.StringValue = proto.String(string(x)) - case HTML: - fieldValue.Type = pb.FieldValue_HTML.Enum() - fieldValue.StringValue = proto.String(string(x)) - case time.Time: - if timeFields[f.Name] { - return nil, fmt.Errorf("search: duplicate time field %q", f.Name) - } - timeFields[f.Name] = true - fieldValue.Type = pb.FieldValue_DATE.Enum() - fieldValue.StringValue = proto.String(strconv.FormatInt(x.UnixNano()/1e6, 10)) - case float64: - if numericFields[f.Name] { - return nil, fmt.Errorf("search: duplicate numeric field %q", f.Name) - } - if !validFloat(x) { - return nil, fmt.Errorf("search: numeric field %q with invalid value %f", f.Name, x) - } - numericFields[f.Name] = true - fieldValue.Type = pb.FieldValue_NUMBER.Enum() - fieldValue.StringValue = proto.String(strconv.FormatFloat(x, 'e', -1, 64)) - case appengine.GeoPoint: - if !x.Valid() { - return nil, fmt.Errorf( - "search: GeoPoint field %q with invalid value %v", - f.Name, x) - } - fieldValue.Type = pb.FieldValue_GEO.Enum() - fieldValue.Geo = &pb.FieldValue_Geo{ - Lat: proto.Float64(x.Lat), - Lng: proto.Float64(x.Lng), - } - default: - return nil, fmt.Errorf("search: unsupported field type: %v", reflect.TypeOf(f.Value)) - } - if f.Language != "" { - switch f.Value.(type) { - case string, HTML: - if !validLanguage(f.Language) { - return nil, fmt.Errorf("search: invalid language for field %q: %q", f.Name, f.Language) - } - fieldValue.Language = proto.String(f.Language) - default: - return nil, fmt.Errorf("search: setting language not supported for field %q of type %T", f.Name, f.Value) - } - } - if p := fieldValue.StringValue; p != nil && !utf8.ValidString(*p) { - return nil, fmt.Errorf("search: %q field is invalid UTF-8: %q", f.Name, *p) - } - dst = append(dst, &pb.Field{ - Name: proto.String(f.Name), - Value: fieldValue, - }) - } - return dst, nil -} - -func facetsToProto(src []Facet) ([]*pb.Facet, error) { - dst := make([]*pb.Facet, 0, len(src)) - for _, f := range src { - if !validFieldName(f.Name) { - return nil, fmt.Errorf("search: invalid facet name %q", f.Name) - } - facetValue := &pb.FacetValue{} - switch x := f.Value.(type) { - case Atom: - if !utf8.ValidString(string(x)) { - return nil, fmt.Errorf("search: %q facet is invalid UTF-8: %q", f.Name, x) - } - facetValue.Type = pb.FacetValue_ATOM.Enum() - facetValue.StringValue = proto.String(string(x)) - case float64: - if !validFloat(x) { - return nil, fmt.Errorf("search: numeric facet %q with invalid value %f", f.Name, x) - } - facetValue.Type = pb.FacetValue_NUMBER.Enum() - facetValue.StringValue = proto.String(strconv.FormatFloat(x, 'e', -1, 64)) - default: - return nil, fmt.Errorf("search: unsupported facet type: %v", reflect.TypeOf(f.Value)) - } - dst = append(dst, &pb.Facet{ - Name: proto.String(f.Name), - Value: facetValue, - }) - } - return dst, nil -} - -// loadDoc converts from protobufs to a struct pointer or -// FieldLoadSaver/FieldMetadataLoadSaver. The src param provides the document's -// stored fields and facets, and any document metadata. An additional slice of -// fields, exprs, may optionally be provided to contain any derived expressions -// requested by the developer. -func loadDoc(dst interface{}, src *pb.Document, exprs []*pb.Field) (err error) { - fields, err := protoToFields(src.Field) - if err != nil { - return err - } - facets, err := protoToFacets(src.Facet) - if err != nil { - return err - } - if len(exprs) > 0 { - exprFields, err := protoToFields(exprs) - if err != nil { - return err - } - // Mark each field as derived. - for i := range exprFields { - exprFields[i].Derived = true - } - fields = append(fields, exprFields...) - } - meta := &DocumentMetadata{ - Rank: int(src.GetOrderId()), - Facets: facets, - } - switch x := dst.(type) { - case FieldLoadSaver: - return x.Load(fields, meta) - default: - return loadStructWithMeta(dst, fields, meta) - } -} - -func protoToFields(fields []*pb.Field) ([]Field, error) { - dst := make([]Field, 0, len(fields)) - for _, field := range fields { - fieldValue := field.GetValue() - f := Field{ - Name: field.GetName(), - } - switch fieldValue.GetType() { - case pb.FieldValue_TEXT: - f.Value = fieldValue.GetStringValue() - f.Language = fieldValue.GetLanguage() - case pb.FieldValue_ATOM: - f.Value = Atom(fieldValue.GetStringValue()) - case pb.FieldValue_HTML: - f.Value = HTML(fieldValue.GetStringValue()) - f.Language = fieldValue.GetLanguage() - case pb.FieldValue_DATE: - sv := fieldValue.GetStringValue() - millis, err := strconv.ParseInt(sv, 10, 64) - if err != nil { - return nil, fmt.Errorf("search: internal error: bad time.Time encoding %q: %v", sv, err) - } - f.Value = time.Unix(0, millis*1e6) - case pb.FieldValue_NUMBER: - sv := fieldValue.GetStringValue() - x, err := strconv.ParseFloat(sv, 64) - if err != nil { - return nil, err - } - f.Value = x - case pb.FieldValue_GEO: - geoValue := fieldValue.GetGeo() - geoPoint := appengine.GeoPoint{geoValue.GetLat(), geoValue.GetLng()} - if !geoPoint.Valid() { - return nil, fmt.Errorf("search: internal error: invalid GeoPoint encoding: %v", geoPoint) - } - f.Value = geoPoint - default: - return nil, fmt.Errorf("search: internal error: unknown data type %s", fieldValue.GetType()) - } - dst = append(dst, f) - } - return dst, nil -} - -func protoToFacets(facets []*pb.Facet) ([]Facet, error) { - if len(facets) == 0 { - return nil, nil - } - dst := make([]Facet, 0, len(facets)) - for _, facet := range facets { - facetValue := facet.GetValue() - f := Facet{ - Name: facet.GetName(), - } - switch facetValue.GetType() { - case pb.FacetValue_ATOM: - f.Value = Atom(facetValue.GetStringValue()) - case pb.FacetValue_NUMBER: - sv := facetValue.GetStringValue() - x, err := strconv.ParseFloat(sv, 64) - if err != nil { - return nil, err - } - f.Value = x - default: - return nil, fmt.Errorf("search: internal error: unknown data type %s", facetValue.GetType()) - } - dst = append(dst, f) - } - return dst, nil -} - -func namespaceMod(m proto.Message, namespace string) { - set := func(s **string) { - if *s == nil { - *s = &namespace - } - } - switch m := m.(type) { - case *pb.IndexDocumentRequest: - set(&m.Params.IndexSpec.Namespace) - case *pb.ListDocumentsRequest: - set(&m.Params.IndexSpec.Namespace) - case *pb.DeleteDocumentRequest: - set(&m.Params.IndexSpec.Namespace) - case *pb.SearchRequest: - set(&m.Params.IndexSpec.Namespace) - } -} - -func init() { - internal.RegisterErrorCodeMap("search", pb.SearchServiceError_ErrorCode_name) - internal.NamespaceMods["search"] = namespaceMod -} diff --git a/vendor/google.golang.org/appengine/search/struct.go b/vendor/google.golang.org/appengine/search/struct.go deleted file mode 100644 index 083c97f60..000000000 --- a/vendor/google.golang.org/appengine/search/struct.go +++ /dev/null @@ -1,245 +0,0 @@ -// Copyright 2015 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package search - -import ( - "fmt" - "reflect" - "strings" - "sync" -) - -// ErrFieldMismatch is returned when a field is to be loaded into a different -// than the one it was stored from, or when a field is missing or unexported in -// the destination struct. -type ErrFieldMismatch struct { - FieldName string - Reason string -} - -func (e *ErrFieldMismatch) Error() string { - return fmt.Sprintf("search: cannot load field %q: %s", e.FieldName, e.Reason) -} - -// ErrFacetMismatch is returned when a facet is to be loaded into a different -// type than the one it was stored from, or when a field is missing or -// unexported in the destination struct. StructType is the type of the struct -// pointed to by the destination argument passed to Iterator.Next. -type ErrFacetMismatch struct { - StructType reflect.Type - FacetName string - Reason string -} - -func (e *ErrFacetMismatch) Error() string { - return fmt.Sprintf("search: cannot load facet %q into a %q: %s", e.FacetName, e.StructType, e.Reason) -} - -// structCodec defines how to convert a given struct to/from a search document. -type structCodec struct { - // byIndex returns the struct tag for the i'th struct field. - byIndex []structTag - - // fieldByName returns the index of the struct field for the given field name. - fieldByName map[string]int - - // facetByName returns the index of the struct field for the given facet name, - facetByName map[string]int -} - -// structTag holds a structured version of each struct field's parsed tag. -type structTag struct { - name string - facet bool -} - -var ( - codecsMu sync.RWMutex - codecs = map[reflect.Type]*structCodec{} -) - -func loadCodec(t reflect.Type) (*structCodec, error) { - codecsMu.RLock() - codec, ok := codecs[t] - codecsMu.RUnlock() - if ok { - return codec, nil - } - - codecsMu.Lock() - defer codecsMu.Unlock() - if codec, ok := codecs[t]; ok { - return codec, nil - } - - codec = &structCodec{ - fieldByName: make(map[string]int), - facetByName: make(map[string]int), - } - - for i, I := 0, t.NumField(); i < I; i++ { - f := t.Field(i) - name, opts := f.Tag.Get("search"), "" - if i := strings.Index(name, ","); i != -1 { - name, opts = name[:i], name[i+1:] - } - // TODO(davidday): Support name=="-" as per datastore. - if name == "" { - name = f.Name - } else if !validFieldName(name) { - return nil, fmt.Errorf("search: struct tag has invalid field name: %q", name) - } - facet := opts == "facet" - codec.byIndex = append(codec.byIndex, structTag{name: name, facet: facet}) - if facet { - codec.facetByName[name] = i - } else { - codec.fieldByName[name] = i - } - } - - codecs[t] = codec - return codec, nil -} - -// structFLS adapts a struct to be a FieldLoadSaver. -type structFLS struct { - v reflect.Value - codec *structCodec -} - -func (s structFLS) Load(fields []Field, meta *DocumentMetadata) error { - var err error - for _, field := range fields { - i, ok := s.codec.fieldByName[field.Name] - if !ok { - // Note the error, but keep going. - err = &ErrFieldMismatch{ - FieldName: field.Name, - Reason: "no such struct field", - } - continue - - } - f := s.v.Field(i) - if !f.CanSet() { - // Note the error, but keep going. - err = &ErrFieldMismatch{ - FieldName: field.Name, - Reason: "cannot set struct field", - } - continue - } - v := reflect.ValueOf(field.Value) - if ft, vt := f.Type(), v.Type(); ft != vt { - err = &ErrFieldMismatch{ - FieldName: field.Name, - Reason: fmt.Sprintf("type mismatch: %v for %v data", ft, vt), - } - continue - } - f.Set(v) - } - if meta == nil { - return nil - } - for _, facet := range meta.Facets { - i, ok := s.codec.facetByName[facet.Name] - if !ok { - // Note the error, but keep going. - if err == nil { - err = &ErrFacetMismatch{ - StructType: s.v.Type(), - FacetName: facet.Name, - Reason: "no matching field found", - } - } - continue - } - f := s.v.Field(i) - if !f.CanSet() { - // Note the error, but keep going. - if err == nil { - err = &ErrFacetMismatch{ - StructType: s.v.Type(), - FacetName: facet.Name, - Reason: "unable to set unexported field of struct", - } - } - continue - } - v := reflect.ValueOf(facet.Value) - if ft, vt := f.Type(), v.Type(); ft != vt { - if err == nil { - err = &ErrFacetMismatch{ - StructType: s.v.Type(), - FacetName: facet.Name, - Reason: fmt.Sprintf("type mismatch: %v for %d data", ft, vt), - } - continue - } - } - f.Set(v) - } - return err -} - -func (s structFLS) Save() ([]Field, *DocumentMetadata, error) { - fields := make([]Field, 0, len(s.codec.fieldByName)) - var facets []Facet - for i, tag := range s.codec.byIndex { - f := s.v.Field(i) - if !f.CanSet() { - continue - } - if tag.facet { - facets = append(facets, Facet{Name: tag.name, Value: f.Interface()}) - } else { - fields = append(fields, Field{Name: tag.name, Value: f.Interface()}) - } - } - return fields, &DocumentMetadata{Facets: facets}, nil -} - -// newStructFLS returns a FieldLoadSaver for the struct pointer p. -func newStructFLS(p interface{}) (FieldLoadSaver, error) { - v := reflect.ValueOf(p) - if v.Kind() != reflect.Ptr || v.IsNil() || v.Elem().Kind() != reflect.Struct { - return nil, ErrInvalidDocumentType - } - codec, err := loadCodec(v.Elem().Type()) - if err != nil { - return nil, err - } - return structFLS{v.Elem(), codec}, nil -} - -func loadStructWithMeta(dst interface{}, f []Field, meta *DocumentMetadata) error { - x, err := newStructFLS(dst) - if err != nil { - return err - } - return x.Load(f, meta) -} - -func saveStructWithMeta(src interface{}) ([]Field, *DocumentMetadata, error) { - x, err := newStructFLS(src) - if err != nil { - return nil, nil, err - } - return x.Save() -} - -// LoadStruct loads the fields from f to dst. dst must be a struct pointer. -func LoadStruct(dst interface{}, f []Field) error { - return loadStructWithMeta(dst, f, nil) -} - -// SaveStruct returns the fields from src as a slice of Field. -// src must be a struct pointer. -func SaveStruct(src interface{}) ([]Field, error) { - f, _, err := saveStructWithMeta(src) - return f, err -} diff --git a/vendor/google.golang.org/appengine/socket/doc.go b/vendor/google.golang.org/appengine/socket/doc.go deleted file mode 100644 index 1e2355392..000000000 --- a/vendor/google.golang.org/appengine/socket/doc.go +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package socket provides outbound network sockets. -// -// This package is only required in the classic App Engine environment. -// Applications running only in the Managed VM hosting environment should -// use the standard library's net package. -package socket diff --git a/vendor/google.golang.org/appengine/socket/socket_classic.go b/vendor/google.golang.org/appengine/socket/socket_classic.go deleted file mode 100644 index 0ad50e2d3..000000000 --- a/vendor/google.golang.org/appengine/socket/socket_classic.go +++ /dev/null @@ -1,290 +0,0 @@ -// Copyright 2012 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// +build appengine - -package socket - -import ( - "fmt" - "io" - "net" - "strconv" - "time" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - "google.golang.org/appengine/internal" - - pb "google.golang.org/appengine/internal/socket" -) - -// Dial connects to the address addr on the network protocol. -// The address format is host:port, where host may be a hostname or an IP address. -// Known protocols are "tcp" and "udp". -// The returned connection satisfies net.Conn, and is valid while ctx is valid; -// if the connection is to be used after ctx becomes invalid, invoke SetContext -// with the new context. -func Dial(ctx context.Context, protocol, addr string) (*Conn, error) { - return DialTimeout(ctx, protocol, addr, 0) -} - -var ipFamilies = []pb.CreateSocketRequest_SocketFamily{ - pb.CreateSocketRequest_IPv4, - pb.CreateSocketRequest_IPv6, -} - -// DialTimeout is like Dial but takes a timeout. -// The timeout includes name resolution, if required. -func DialTimeout(ctx context.Context, protocol, addr string, timeout time.Duration) (*Conn, error) { - dialCtx := ctx // Used for dialing and name resolution, but not stored in the *Conn. - if timeout > 0 { - var cancel context.CancelFunc - dialCtx, cancel = context.WithTimeout(ctx, timeout) - defer cancel() - } - - host, portStr, err := net.SplitHostPort(addr) - if err != nil { - return nil, err - } - port, err := strconv.Atoi(portStr) - if err != nil { - return nil, fmt.Errorf("socket: bad port %q: %v", portStr, err) - } - - var prot pb.CreateSocketRequest_SocketProtocol - switch protocol { - case "tcp": - prot = pb.CreateSocketRequest_TCP - case "udp": - prot = pb.CreateSocketRequest_UDP - default: - return nil, fmt.Errorf("socket: unknown protocol %q", protocol) - } - - packedAddrs, resolved, err := resolve(dialCtx, ipFamilies, host) - if err != nil { - return nil, fmt.Errorf("socket: failed resolving %q: %v", host, err) - } - if len(packedAddrs) == 0 { - return nil, fmt.Errorf("no addresses for %q", host) - } - - packedAddr := packedAddrs[0] // use first address - fam := pb.CreateSocketRequest_IPv4 - if len(packedAddr) == net.IPv6len { - fam = pb.CreateSocketRequest_IPv6 - } - - req := &pb.CreateSocketRequest{ - Family: fam.Enum(), - Protocol: prot.Enum(), - RemoteIp: &pb.AddressPort{ - Port: proto.Int32(int32(port)), - PackedAddress: packedAddr, - }, - } - if resolved { - req.RemoteIp.HostnameHint = &host - } - res := &pb.CreateSocketReply{} - if err := internal.Call(dialCtx, "remote_socket", "CreateSocket", req, res); err != nil { - return nil, err - } - - return &Conn{ - ctx: ctx, - desc: res.GetSocketDescriptor(), - prot: prot, - local: res.ProxyExternalIp, - remote: req.RemoteIp, - }, nil -} - -// LookupIP returns the given host's IP addresses. -func LookupIP(ctx context.Context, host string) (addrs []net.IP, err error) { - packedAddrs, _, err := resolve(ctx, ipFamilies, host) - if err != nil { - return nil, fmt.Errorf("socket: failed resolving %q: %v", host, err) - } - addrs = make([]net.IP, len(packedAddrs)) - for i, pa := range packedAddrs { - addrs[i] = net.IP(pa) - } - return addrs, nil -} - -func resolve(ctx context.Context, fams []pb.CreateSocketRequest_SocketFamily, host string) ([][]byte, bool, error) { - // Check if it's an IP address. - if ip := net.ParseIP(host); ip != nil { - if ip := ip.To4(); ip != nil { - return [][]byte{ip}, false, nil - } - return [][]byte{ip}, false, nil - } - - req := &pb.ResolveRequest{ - Name: &host, - AddressFamilies: fams, - } - res := &pb.ResolveReply{} - if err := internal.Call(ctx, "remote_socket", "Resolve", req, res); err != nil { - // XXX: need to map to pb.ResolveReply_ErrorCode? - return nil, false, err - } - return res.PackedAddress, true, nil -} - -// withDeadline is like context.WithDeadline, except it ignores the zero deadline. -func withDeadline(parent context.Context, deadline time.Time) (context.Context, context.CancelFunc) { - if deadline.IsZero() { - return parent, func() {} - } - return context.WithDeadline(parent, deadline) -} - -// Conn represents a socket connection. -// It implements net.Conn. -type Conn struct { - ctx context.Context - desc string - offset int64 - - prot pb.CreateSocketRequest_SocketProtocol - local, remote *pb.AddressPort - - readDeadline, writeDeadline time.Time // optional -} - -// SetContext sets the context that is used by this Conn. -// It is usually used only when using a Conn that was created in a different context, -// such as when a connection is created during a warmup request but used while -// servicing a user request. -func (cn *Conn) SetContext(ctx context.Context) { - cn.ctx = ctx -} - -func (cn *Conn) Read(b []byte) (n int, err error) { - const maxRead = 1 << 20 - if len(b) > maxRead { - b = b[:maxRead] - } - - req := &pb.ReceiveRequest{ - SocketDescriptor: &cn.desc, - DataSize: proto.Int32(int32(len(b))), - } - res := &pb.ReceiveReply{} - if !cn.readDeadline.IsZero() { - req.TimeoutSeconds = proto.Float64(cn.readDeadline.Sub(time.Now()).Seconds()) - } - ctx, cancel := withDeadline(cn.ctx, cn.readDeadline) - defer cancel() - if err := internal.Call(ctx, "remote_socket", "Receive", req, res); err != nil { - return 0, err - } - if len(res.Data) == 0 { - return 0, io.EOF - } - if len(res.Data) > len(b) { - return 0, fmt.Errorf("socket: internal error: read too much data: %d > %d", len(res.Data), len(b)) - } - return copy(b, res.Data), nil -} - -func (cn *Conn) Write(b []byte) (n int, err error) { - const lim = 1 << 20 // max per chunk - - for n < len(b) { - chunk := b[n:] - if len(chunk) > lim { - chunk = chunk[:lim] - } - - req := &pb.SendRequest{ - SocketDescriptor: &cn.desc, - Data: chunk, - StreamOffset: &cn.offset, - } - res := &pb.SendReply{} - if !cn.writeDeadline.IsZero() { - req.TimeoutSeconds = proto.Float64(cn.writeDeadline.Sub(time.Now()).Seconds()) - } - ctx, cancel := withDeadline(cn.ctx, cn.writeDeadline) - defer cancel() - if err = internal.Call(ctx, "remote_socket", "Send", req, res); err != nil { - // assume zero bytes were sent in this RPC - break - } - n += int(res.GetDataSent()) - cn.offset += int64(res.GetDataSent()) - } - - return -} - -func (cn *Conn) Close() error { - req := &pb.CloseRequest{ - SocketDescriptor: &cn.desc, - } - res := &pb.CloseReply{} - if err := internal.Call(cn.ctx, "remote_socket", "Close", req, res); err != nil { - return err - } - cn.desc = "CLOSED" - return nil -} - -func addr(prot pb.CreateSocketRequest_SocketProtocol, ap *pb.AddressPort) net.Addr { - if ap == nil { - return nil - } - switch prot { - case pb.CreateSocketRequest_TCP: - return &net.TCPAddr{ - IP: net.IP(ap.PackedAddress), - Port: int(*ap.Port), - } - case pb.CreateSocketRequest_UDP: - return &net.UDPAddr{ - IP: net.IP(ap.PackedAddress), - Port: int(*ap.Port), - } - } - panic("unknown protocol " + prot.String()) -} - -func (cn *Conn) LocalAddr() net.Addr { return addr(cn.prot, cn.local) } -func (cn *Conn) RemoteAddr() net.Addr { return addr(cn.prot, cn.remote) } - -func (cn *Conn) SetDeadline(t time.Time) error { - cn.readDeadline = t - cn.writeDeadline = t - return nil -} - -func (cn *Conn) SetReadDeadline(t time.Time) error { - cn.readDeadline = t - return nil -} - -func (cn *Conn) SetWriteDeadline(t time.Time) error { - cn.writeDeadline = t - return nil -} - -// KeepAlive signals that the connection is still in use. -// It may be called to prevent the socket being closed due to inactivity. -func (cn *Conn) KeepAlive() error { - req := &pb.GetSocketNameRequest{ - SocketDescriptor: &cn.desc, - } - res := &pb.GetSocketNameReply{} - return internal.Call(cn.ctx, "remote_socket", "GetSocketName", req, res) -} - -func init() { - internal.RegisterErrorCodeMap("remote_socket", pb.RemoteSocketServiceError_ErrorCode_name) -} diff --git a/vendor/google.golang.org/appengine/socket/socket_vm.go b/vendor/google.golang.org/appengine/socket/socket_vm.go deleted file mode 100644 index ed98ac2f0..000000000 --- a/vendor/google.golang.org/appengine/socket/socket_vm.go +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2015 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// +build !appengine - -package socket - -import ( - "net" - "time" - - "golang.org/x/net/context" -) - -// Dial connects to the address addr on the network protocol. -// The address format is host:port, where host may be a hostname or an IP address. -// Known protocols are "tcp" and "udp". -// The returned connection satisfies net.Conn, and is valid while ctx is valid; -// if the connection is to be used after ctx becomes invalid, invoke SetContext -// with the new context. -func Dial(ctx context.Context, protocol, addr string) (*Conn, error) { - conn, err := net.Dial(protocol, addr) - if err != nil { - return nil, err - } - return &Conn{conn}, nil -} - -// DialTimeout is like Dial but takes a timeout. -// The timeout includes name resolution, if required. -func DialTimeout(ctx context.Context, protocol, addr string, timeout time.Duration) (*Conn, error) { - conn, err := net.DialTimeout(protocol, addr, timeout) - if err != nil { - return nil, err - } - return &Conn{conn}, nil -} - -// LookupIP returns the given host's IP addresses. -func LookupIP(ctx context.Context, host string) (addrs []net.IP, err error) { - return net.LookupIP(host) -} - -// Conn represents a socket connection. -// It implements net.Conn. -type Conn struct { - net.Conn -} - -// SetContext sets the context that is used by this Conn. -// It is usually used only when using a Conn that was created in a different context, -// such as when a connection is created during a warmup request but used while -// servicing a user request. -func (cn *Conn) SetContext(ctx context.Context) { - // This function is not required on managed VMs. -} - -// KeepAlive signals that the connection is still in use. -// It may be called to prevent the socket being closed due to inactivity. -func (cn *Conn) KeepAlive() error { - // This function is not required on managed VMs. - return nil -} diff --git a/vendor/google.golang.org/appengine/taskqueue/taskqueue.go b/vendor/google.golang.org/appengine/taskqueue/taskqueue.go deleted file mode 100644 index 9b62fac7d..000000000 --- a/vendor/google.golang.org/appengine/taskqueue/taskqueue.go +++ /dev/null @@ -1,496 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package taskqueue provides a client for App Engine's taskqueue service. -Using this service, applications may perform work outside a user's request. - -A Task may be constructed manually; alternatively, since the most common -taskqueue operation is to add a single POST task, NewPOSTTask makes it easy. - - t := taskqueue.NewPOSTTask("/worker", url.Values{ - "key": {key}, - }) - taskqueue.Add(c, t, "") // add t to the default queue -*/ -package taskqueue // import "google.golang.org/appengine/taskqueue" - -import ( - "errors" - "fmt" - "net/http" - "net/url" - "time" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - dspb "google.golang.org/appengine/internal/datastore" - pb "google.golang.org/appengine/internal/taskqueue" -) - -var ( - // ErrTaskAlreadyAdded is the error returned by Add and AddMulti when a task has already been added with a particular name. - ErrTaskAlreadyAdded = errors.New("taskqueue: task has already been added") -) - -// RetryOptions let you control whether to retry a task and the backoff intervals between tries. -type RetryOptions struct { - // Number of tries/leases after which the task fails permanently and is deleted. - // If AgeLimit is also set, both limits must be exceeded for the task to fail permanently. - RetryLimit int32 - - // Maximum time allowed since the task's first try before the task fails permanently and is deleted (only for push tasks). - // If RetryLimit is also set, both limits must be exceeded for the task to fail permanently. - AgeLimit time.Duration - - // Minimum time between successive tries (only for push tasks). - MinBackoff time.Duration - - // Maximum time between successive tries (only for push tasks). - MaxBackoff time.Duration - - // Maximum number of times to double the interval between successive tries before the intervals increase linearly (only for push tasks). - MaxDoublings int32 - - // If MaxDoublings is zero, set ApplyZeroMaxDoublings to true to override the default non-zero value. - // Otherwise a zero MaxDoublings is ignored and the default is used. - ApplyZeroMaxDoublings bool -} - -// toRetryParameter converts RetryOptions to pb.TaskQueueRetryParameters. -func (opt *RetryOptions) toRetryParameters() *pb.TaskQueueRetryParameters { - params := &pb.TaskQueueRetryParameters{} - if opt.RetryLimit > 0 { - params.RetryLimit = proto.Int32(opt.RetryLimit) - } - if opt.AgeLimit > 0 { - params.AgeLimitSec = proto.Int64(int64(opt.AgeLimit.Seconds())) - } - if opt.MinBackoff > 0 { - params.MinBackoffSec = proto.Float64(opt.MinBackoff.Seconds()) - } - if opt.MaxBackoff > 0 { - params.MaxBackoffSec = proto.Float64(opt.MaxBackoff.Seconds()) - } - if opt.MaxDoublings > 0 || (opt.MaxDoublings == 0 && opt.ApplyZeroMaxDoublings) { - params.MaxDoublings = proto.Int32(opt.MaxDoublings) - } - return params -} - -// A Task represents a task to be executed. -type Task struct { - // Path is the worker URL for the task. - // If unset, it will default to /_ah/queue/. - Path string - - // Payload is the data for the task. - // This will be delivered as the HTTP request body. - // It is only used when Method is POST, PUT or PULL. - // url.Values' Encode method may be used to generate this for POST requests. - Payload []byte - - // Additional HTTP headers to pass at the task's execution time. - // To schedule the task to be run with an alternate app version - // or backend, set the "Host" header. - Header http.Header - - // Method is the HTTP method for the task ("GET", "POST", etc.), - // or "PULL" if this is task is destined for a pull-based queue. - // If empty, this defaults to "POST". - Method string - - // A name for the task. - // If empty, a name will be chosen. - Name string - - // Delay specifies the duration the task queue service must wait - // before executing the task. - // Either Delay or ETA may be set, but not both. - Delay time.Duration - - // ETA specifies the earliest time a task may be executed (push queues) - // or leased (pull queues). - // Either Delay or ETA may be set, but not both. - ETA time.Time - - // The number of times the task has been dispatched or leased. - RetryCount int32 - - // Tag for the task. Only used when Method is PULL. - Tag string - - // Retry options for this task. May be nil. - RetryOptions *RetryOptions -} - -func (t *Task) method() string { - if t.Method == "" { - return "POST" - } - return t.Method -} - -// NewPOSTTask creates a Task that will POST to a path with the given form data. -func NewPOSTTask(path string, params url.Values) *Task { - h := make(http.Header) - h.Set("Content-Type", "application/x-www-form-urlencoded") - return &Task{ - Path: path, - Payload: []byte(params.Encode()), - Header: h, - Method: "POST", - } -} - -var ( - currentNamespace = http.CanonicalHeaderKey("X-AppEngine-Current-Namespace") - defaultNamespace = http.CanonicalHeaderKey("X-AppEngine-Default-Namespace") -) - -func getDefaultNamespace(ctx context.Context) string { - return internal.IncomingHeaders(ctx).Get(defaultNamespace) -} - -func newAddReq(c context.Context, task *Task, queueName string) (*pb.TaskQueueAddRequest, error) { - if queueName == "" { - queueName = "default" - } - path := task.Path - if path == "" { - path = "/_ah/queue/" + queueName - } - eta := task.ETA - if eta.IsZero() { - eta = time.Now().Add(task.Delay) - } else if task.Delay != 0 { - panic("taskqueue: both Delay and ETA are set") - } - req := &pb.TaskQueueAddRequest{ - QueueName: []byte(queueName), - TaskName: []byte(task.Name), - EtaUsec: proto.Int64(eta.UnixNano() / 1e3), - } - method := task.method() - if method == "PULL" { - // Pull-based task - req.Body = task.Payload - req.Mode = pb.TaskQueueMode_PULL.Enum() - if task.Tag != "" { - req.Tag = []byte(task.Tag) - } - } else { - // HTTP-based task - if v, ok := pb.TaskQueueAddRequest_RequestMethod_value[method]; ok { - req.Method = pb.TaskQueueAddRequest_RequestMethod(v).Enum() - } else { - return nil, fmt.Errorf("taskqueue: bad method %q", method) - } - req.Url = []byte(path) - for k, vs := range task.Header { - for _, v := range vs { - req.Header = append(req.Header, &pb.TaskQueueAddRequest_Header{ - Key: []byte(k), - Value: []byte(v), - }) - } - } - if method == "POST" || method == "PUT" { - req.Body = task.Payload - } - - // Namespace headers. - if _, ok := task.Header[currentNamespace]; !ok { - // Fetch the current namespace of this request. - ns := internal.NamespaceFromContext(c) - req.Header = append(req.Header, &pb.TaskQueueAddRequest_Header{ - Key: []byte(currentNamespace), - Value: []byte(ns), - }) - } - if _, ok := task.Header[defaultNamespace]; !ok { - // Fetch the X-AppEngine-Default-Namespace header of this request. - if ns := getDefaultNamespace(c); ns != "" { - req.Header = append(req.Header, &pb.TaskQueueAddRequest_Header{ - Key: []byte(defaultNamespace), - Value: []byte(ns), - }) - } - } - } - - if task.RetryOptions != nil { - req.RetryParameters = task.RetryOptions.toRetryParameters() - } - - return req, nil -} - -var alreadyAddedErrors = map[pb.TaskQueueServiceError_ErrorCode]bool{ - pb.TaskQueueServiceError_TASK_ALREADY_EXISTS: true, - pb.TaskQueueServiceError_TOMBSTONED_TASK: true, -} - -// Add adds the task to a named queue. -// An empty queue name means that the default queue will be used. -// Add returns an equivalent Task with defaults filled in, including setting -// the task's Name field to the chosen name if the original was empty. -func Add(c context.Context, task *Task, queueName string) (*Task, error) { - req, err := newAddReq(c, task, queueName) - if err != nil { - return nil, err - } - res := &pb.TaskQueueAddResponse{} - if err := internal.Call(c, "taskqueue", "Add", req, res); err != nil { - apiErr, ok := err.(*internal.APIError) - if ok && alreadyAddedErrors[pb.TaskQueueServiceError_ErrorCode(apiErr.Code)] { - return nil, ErrTaskAlreadyAdded - } - return nil, err - } - resultTask := *task - resultTask.Method = task.method() - if task.Name == "" { - resultTask.Name = string(res.ChosenTaskName) - } - return &resultTask, nil -} - -// AddMulti adds multiple tasks to a named queue. -// An empty queue name means that the default queue will be used. -// AddMulti returns a slice of equivalent tasks with defaults filled in, including setting -// each task's Name field to the chosen name if the original was empty. -// If a given task is badly formed or could not be added, an appengine.MultiError is returned. -func AddMulti(c context.Context, tasks []*Task, queueName string) ([]*Task, error) { - req := &pb.TaskQueueBulkAddRequest{ - AddRequest: make([]*pb.TaskQueueAddRequest, len(tasks)), - } - me, any := make(appengine.MultiError, len(tasks)), false - for i, t := range tasks { - req.AddRequest[i], me[i] = newAddReq(c, t, queueName) - any = any || me[i] != nil - } - if any { - return nil, me - } - res := &pb.TaskQueueBulkAddResponse{} - if err := internal.Call(c, "taskqueue", "BulkAdd", req, res); err != nil { - return nil, err - } - if len(res.Taskresult) != len(tasks) { - return nil, errors.New("taskqueue: server error") - } - tasksOut := make([]*Task, len(tasks)) - for i, tr := range res.Taskresult { - tasksOut[i] = new(Task) - *tasksOut[i] = *tasks[i] - tasksOut[i].Method = tasksOut[i].method() - if tasksOut[i].Name == "" { - tasksOut[i].Name = string(tr.ChosenTaskName) - } - if *tr.Result != pb.TaskQueueServiceError_OK { - if alreadyAddedErrors[*tr.Result] { - me[i] = ErrTaskAlreadyAdded - } else { - me[i] = &internal.APIError{ - Service: "taskqueue", - Code: int32(*tr.Result), - } - } - any = true - } - } - if any { - return tasksOut, me - } - return tasksOut, nil -} - -// Delete deletes a task from a named queue. -func Delete(c context.Context, task *Task, queueName string) error { - err := DeleteMulti(c, []*Task{task}, queueName) - if me, ok := err.(appengine.MultiError); ok { - return me[0] - } - return err -} - -// DeleteMulti deletes multiple tasks from a named queue. -// If a given task could not be deleted, an appengine.MultiError is returned. -func DeleteMulti(c context.Context, tasks []*Task, queueName string) error { - taskNames := make([][]byte, len(tasks)) - for i, t := range tasks { - taskNames[i] = []byte(t.Name) - } - if queueName == "" { - queueName = "default" - } - req := &pb.TaskQueueDeleteRequest{ - QueueName: []byte(queueName), - TaskName: taskNames, - } - res := &pb.TaskQueueDeleteResponse{} - if err := internal.Call(c, "taskqueue", "Delete", req, res); err != nil { - return err - } - if a, b := len(req.TaskName), len(res.Result); a != b { - return fmt.Errorf("taskqueue: internal error: requested deletion of %d tasks, got %d results", a, b) - } - me, any := make(appengine.MultiError, len(res.Result)), false - for i, ec := range res.Result { - if ec != pb.TaskQueueServiceError_OK { - me[i] = &internal.APIError{ - Service: "taskqueue", - Code: int32(ec), - } - any = true - } - } - if any { - return me - } - return nil -} - -func lease(c context.Context, maxTasks int, queueName string, leaseTime int, groupByTag bool, tag []byte) ([]*Task, error) { - if queueName == "" { - queueName = "default" - } - req := &pb.TaskQueueQueryAndOwnTasksRequest{ - QueueName: []byte(queueName), - LeaseSeconds: proto.Float64(float64(leaseTime)), - MaxTasks: proto.Int64(int64(maxTasks)), - GroupByTag: proto.Bool(groupByTag), - Tag: tag, - } - res := &pb.TaskQueueQueryAndOwnTasksResponse{} - if err := internal.Call(c, "taskqueue", "QueryAndOwnTasks", req, res); err != nil { - return nil, err - } - tasks := make([]*Task, len(res.Task)) - for i, t := range res.Task { - tasks[i] = &Task{ - Payload: t.Body, - Name: string(t.TaskName), - Method: "PULL", - ETA: time.Unix(0, *t.EtaUsec*1e3), - RetryCount: *t.RetryCount, - Tag: string(t.Tag), - } - } - return tasks, nil -} - -// Lease leases tasks from a queue. -// leaseTime is in seconds. -// The number of tasks fetched will be at most maxTasks. -func Lease(c context.Context, maxTasks int, queueName string, leaseTime int) ([]*Task, error) { - return lease(c, maxTasks, queueName, leaseTime, false, nil) -} - -// LeaseByTag leases tasks from a queue, grouped by tag. -// If tag is empty, then the returned tasks are grouped by the tag of the task with earliest ETA. -// leaseTime is in seconds. -// The number of tasks fetched will be at most maxTasks. -func LeaseByTag(c context.Context, maxTasks int, queueName string, leaseTime int, tag string) ([]*Task, error) { - return lease(c, maxTasks, queueName, leaseTime, true, []byte(tag)) -} - -// Purge removes all tasks from a queue. -func Purge(c context.Context, queueName string) error { - if queueName == "" { - queueName = "default" - } - req := &pb.TaskQueuePurgeQueueRequest{ - QueueName: []byte(queueName), - } - res := &pb.TaskQueuePurgeQueueResponse{} - return internal.Call(c, "taskqueue", "PurgeQueue", req, res) -} - -// ModifyLease modifies the lease of a task. -// Used to request more processing time, or to abandon processing. -// leaseTime is in seconds and must not be negative. -func ModifyLease(c context.Context, task *Task, queueName string, leaseTime int) error { - if queueName == "" { - queueName = "default" - } - req := &pb.TaskQueueModifyTaskLeaseRequest{ - QueueName: []byte(queueName), - TaskName: []byte(task.Name), - EtaUsec: proto.Int64(task.ETA.UnixNano() / 1e3), // Used to verify ownership. - LeaseSeconds: proto.Float64(float64(leaseTime)), - } - res := &pb.TaskQueueModifyTaskLeaseResponse{} - if err := internal.Call(c, "taskqueue", "ModifyTaskLease", req, res); err != nil { - return err - } - task.ETA = time.Unix(0, *res.UpdatedEtaUsec*1e3) - return nil -} - -// QueueStatistics represents statistics about a single task queue. -type QueueStatistics struct { - Tasks int // may be an approximation - OldestETA time.Time // zero if there are no pending tasks - - Executed1Minute int // tasks executed in the last minute - InFlight int // tasks executing now - EnforcedRate float64 // requests per second -} - -// QueueStats retrieves statistics about queues. -func QueueStats(c context.Context, queueNames []string) ([]QueueStatistics, error) { - req := &pb.TaskQueueFetchQueueStatsRequest{ - QueueName: make([][]byte, len(queueNames)), - } - for i, q := range queueNames { - if q == "" { - q = "default" - } - req.QueueName[i] = []byte(q) - } - res := &pb.TaskQueueFetchQueueStatsResponse{} - if err := internal.Call(c, "taskqueue", "FetchQueueStats", req, res); err != nil { - return nil, err - } - qs := make([]QueueStatistics, len(res.Queuestats)) - for i, qsg := range res.Queuestats { - qs[i] = QueueStatistics{ - Tasks: int(*qsg.NumTasks), - } - if eta := *qsg.OldestEtaUsec; eta > -1 { - qs[i].OldestETA = time.Unix(0, eta*1e3) - } - if si := qsg.ScannerInfo; si != nil { - qs[i].Executed1Minute = int(*si.ExecutedLastMinute) - qs[i].InFlight = int(si.GetRequestsInFlight()) - qs[i].EnforcedRate = si.GetEnforcedRate() - } - } - return qs, nil -} - -func setTransaction(x *pb.TaskQueueAddRequest, t *dspb.Transaction) { - x.Transaction = t -} - -func init() { - internal.RegisterErrorCodeMap("taskqueue", pb.TaskQueueServiceError_ErrorCode_name) - - // Datastore error codes are shifted by DATASTORE_ERROR when presented through taskqueue. - dsCode := int32(pb.TaskQueueServiceError_DATASTORE_ERROR) + int32(dspb.Error_TIMEOUT) - internal.RegisterTimeoutErrorCode("taskqueue", dsCode) - - // Transaction registration. - internal.RegisterTransactionSetter(setTransaction) - internal.RegisterTransactionSetter(func(x *pb.TaskQueueBulkAddRequest, t *dspb.Transaction) { - for _, req := range x.AddRequest { - setTransaction(req, t) - } - }) -} diff --git a/vendor/google.golang.org/appengine/urlfetch/urlfetch.go b/vendor/google.golang.org/appengine/urlfetch/urlfetch.go deleted file mode 100644 index 6ffe1e6d9..000000000 --- a/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -// Package urlfetch provides an http.RoundTripper implementation -// for fetching URLs via App Engine's urlfetch service. -package urlfetch // import "google.golang.org/appengine/urlfetch" - -import ( - "errors" - "fmt" - "io" - "io/ioutil" - "net/http" - "net/url" - "strconv" - "strings" - "time" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" - - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/urlfetch" -) - -// Transport is an implementation of http.RoundTripper for -// App Engine. Users should generally create an http.Client using -// this transport and use the Client rather than using this transport -// directly. -type Transport struct { - Context context.Context - - // Controls whether the application checks the validity of SSL certificates - // over HTTPS connections. A value of false (the default) instructs the - // application to send a request to the server only if the certificate is - // valid and signed by a trusted certificate authority (CA), and also - // includes a hostname that matches the certificate. A value of true - // instructs the application to perform no certificate validation. - AllowInvalidServerCertificate bool -} - -// Verify statically that *Transport implements http.RoundTripper. -var _ http.RoundTripper = (*Transport)(nil) - -// Client returns an *http.Client using a default urlfetch Transport. This -// client will have the default deadline of 5 seconds, and will check the -// validity of SSL certificates. -// -// Any deadline of the provided context will be used for requests through this client; -// if the client does not have a deadline then a 5 second default is used. -func Client(ctx context.Context) *http.Client { - return &http.Client{ - Transport: &Transport{ - Context: ctx, - }, - } -} - -type bodyReader struct { - content []byte - truncated bool - closed bool -} - -// ErrTruncatedBody is the error returned after the final Read() from a -// response's Body if the body has been truncated by App Engine's proxy. -var ErrTruncatedBody = errors.New("urlfetch: truncated body") - -func statusCodeToText(code int) string { - if t := http.StatusText(code); t != "" { - return t - } - return strconv.Itoa(code) -} - -func (br *bodyReader) Read(p []byte) (n int, err error) { - if br.closed { - if br.truncated { - return 0, ErrTruncatedBody - } - return 0, io.EOF - } - n = copy(p, br.content) - if n > 0 { - br.content = br.content[n:] - return - } - if br.truncated { - br.closed = true - return 0, ErrTruncatedBody - } - return 0, io.EOF -} - -func (br *bodyReader) Close() error { - br.closed = true - br.content = nil - return nil -} - -// A map of the URL Fetch-accepted methods that take a request body. -var methodAcceptsRequestBody = map[string]bool{ - "POST": true, - "PUT": true, - "PATCH": true, -} - -// urlString returns a valid string given a URL. This function is necessary because -// the String method of URL doesn't correctly handle URLs with non-empty Opaque values. -// See http://code.google.com/p/go/issues/detail?id=4860. -func urlString(u *url.URL) string { - if u.Opaque == "" || strings.HasPrefix(u.Opaque, "//") { - return u.String() - } - aux := *u - aux.Opaque = "//" + aux.Host + aux.Opaque - return aux.String() -} - -// RoundTrip issues a single HTTP request and returns its response. Per the -// http.RoundTripper interface, RoundTrip only returns an error if there -// was an unsupported request or the URL Fetch proxy fails. -// Note that HTTP response codes such as 5xx, 403, 404, etc are not -// errors as far as the transport is concerned and will be returned -// with err set to nil. -func (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error) { - methNum, ok := pb.URLFetchRequest_RequestMethod_value[req.Method] - if !ok { - return nil, fmt.Errorf("urlfetch: unsupported HTTP method %q", req.Method) - } - - method := pb.URLFetchRequest_RequestMethod(methNum) - - freq := &pb.URLFetchRequest{ - Method: &method, - Url: proto.String(urlString(req.URL)), - FollowRedirects: proto.Bool(false), // http.Client's responsibility - MustValidateServerCertificate: proto.Bool(!t.AllowInvalidServerCertificate), - } - if deadline, ok := t.Context.Deadline(); ok { - freq.Deadline = proto.Float64(deadline.Sub(time.Now()).Seconds()) - } - - for k, vals := range req.Header { - for _, val := range vals { - freq.Header = append(freq.Header, &pb.URLFetchRequest_Header{ - Key: proto.String(k), - Value: proto.String(val), - }) - } - } - if methodAcceptsRequestBody[req.Method] && req.Body != nil { - // Avoid a []byte copy if req.Body has a Bytes method. - switch b := req.Body.(type) { - case interface { - Bytes() []byte - }: - freq.Payload = b.Bytes() - default: - freq.Payload, err = ioutil.ReadAll(req.Body) - if err != nil { - return nil, err - } - } - } - - fres := &pb.URLFetchResponse{} - if err := internal.Call(t.Context, "urlfetch", "Fetch", freq, fres); err != nil { - return nil, err - } - - res = &http.Response{} - res.StatusCode = int(*fres.StatusCode) - res.Status = fmt.Sprintf("%d %s", res.StatusCode, statusCodeToText(res.StatusCode)) - res.Header = make(http.Header) - res.Request = req - - // Faked: - res.ProtoMajor = 1 - res.ProtoMinor = 1 - res.Proto = "HTTP/1.1" - res.Close = true - - for _, h := range fres.Header { - hkey := http.CanonicalHeaderKey(*h.Key) - hval := *h.Value - if hkey == "Content-Length" { - // Will get filled in below for all but HEAD requests. - if req.Method == "HEAD" { - res.ContentLength, _ = strconv.ParseInt(hval, 10, 64) - } - continue - } - res.Header.Add(hkey, hval) - } - - if req.Method != "HEAD" { - res.ContentLength = int64(len(fres.Content)) - } - - truncated := fres.GetContentWasTruncated() - res.Body = &bodyReader{content: fres.Content, truncated: truncated} - return -} - -func init() { - internal.RegisterErrorCodeMap("urlfetch", pb.URLFetchServiceError_ErrorCode_name) - internal.RegisterTimeoutErrorCode("urlfetch", int32(pb.URLFetchServiceError_DEADLINE_EXCEEDED)) -} diff --git a/vendor/google.golang.org/appengine/xmpp/xmpp.go b/vendor/google.golang.org/appengine/xmpp/xmpp.go deleted file mode 100644 index 3a561fd53..000000000 --- a/vendor/google.golang.org/appengine/xmpp/xmpp.go +++ /dev/null @@ -1,253 +0,0 @@ -// Copyright 2011 Google Inc. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -/* -Package xmpp provides the means to send and receive instant messages -to and from users of XMPP-compatible services. - -To send a message, - m := &xmpp.Message{ - To: []string{"kaylee@example.com"}, - Body: `Hi! How's the carrot?`, - } - err := m.Send(c) - -To receive messages, - func init() { - xmpp.Handle(handleChat) - } - - func handleChat(c context.Context, m *xmpp.Message) { - // ... - } -*/ -package xmpp // import "google.golang.org/appengine/xmpp" - -import ( - "errors" - "fmt" - "net/http" - - "golang.org/x/net/context" - - "google.golang.org/appengine" - "google.golang.org/appengine/internal" - pb "google.golang.org/appengine/internal/xmpp" -) - -// Message represents an incoming chat message. -type Message struct { - // Sender is the JID of the sender. - // Optional for outgoing messages. - Sender string - - // To is the intended recipients of the message. - // Incoming messages will have exactly one element. - To []string - - // Body is the body of the message. - Body string - - // Type is the message type, per RFC 3921. - // It defaults to "chat". - Type string - - // RawXML is whether the body contains raw XML. - RawXML bool -} - -// Presence represents an outgoing presence update. -type Presence struct { - // Sender is the JID (optional). - Sender string - - // The intended recipient of the presence update. - To string - - // Type, per RFC 3921 (optional). Defaults to "available". - Type string - - // State of presence (optional). - // Valid values: "away", "chat", "xa", "dnd" (RFC 3921). - State string - - // Free text status message (optional). - Status string -} - -var ( - ErrPresenceUnavailable = errors.New("xmpp: presence unavailable") - ErrInvalidJID = errors.New("xmpp: invalid JID") -) - -// Handle arranges for f to be called for incoming XMPP messages. -// Only messages of type "chat" or "normal" will be handled. -func Handle(f func(c context.Context, m *Message)) { - http.HandleFunc("/_ah/xmpp/message/chat/", func(_ http.ResponseWriter, r *http.Request) { - f(appengine.NewContext(r), &Message{ - Sender: r.FormValue("from"), - To: []string{r.FormValue("to")}, - Body: r.FormValue("body"), - }) - }) -} - -// Send sends a message. -// If any failures occur with specific recipients, the error will be an appengine.MultiError. -func (m *Message) Send(c context.Context) error { - req := &pb.XmppMessageRequest{ - Jid: m.To, - Body: &m.Body, - RawXml: &m.RawXML, - } - if m.Type != "" && m.Type != "chat" { - req.Type = &m.Type - } - if m.Sender != "" { - req.FromJid = &m.Sender - } - res := &pb.XmppMessageResponse{} - if err := internal.Call(c, "xmpp", "SendMessage", req, res); err != nil { - return err - } - - if len(res.Status) != len(req.Jid) { - return fmt.Errorf("xmpp: sent message to %d JIDs, but only got %d statuses back", len(req.Jid), len(res.Status)) - } - me, any := make(appengine.MultiError, len(req.Jid)), false - for i, st := range res.Status { - if st != pb.XmppMessageResponse_NO_ERROR { - me[i] = errors.New(st.String()) - any = true - } - } - if any { - return me - } - return nil -} - -// Invite sends an invitation. If the from address is an empty string -// the default (yourapp@appspot.com/bot) will be used. -func Invite(c context.Context, to, from string) error { - req := &pb.XmppInviteRequest{ - Jid: &to, - } - if from != "" { - req.FromJid = &from - } - res := &pb.XmppInviteResponse{} - return internal.Call(c, "xmpp", "SendInvite", req, res) -} - -// Send sends a presence update. -func (p *Presence) Send(c context.Context) error { - req := &pb.XmppSendPresenceRequest{ - Jid: &p.To, - } - if p.State != "" { - req.Show = &p.State - } - if p.Type != "" { - req.Type = &p.Type - } - if p.Sender != "" { - req.FromJid = &p.Sender - } - if p.Status != "" { - req.Status = &p.Status - } - res := &pb.XmppSendPresenceResponse{} - return internal.Call(c, "xmpp", "SendPresence", req, res) -} - -var presenceMap = map[pb.PresenceResponse_SHOW]string{ - pb.PresenceResponse_NORMAL: "", - pb.PresenceResponse_AWAY: "away", - pb.PresenceResponse_DO_NOT_DISTURB: "dnd", - pb.PresenceResponse_CHAT: "chat", - pb.PresenceResponse_EXTENDED_AWAY: "xa", -} - -// GetPresence retrieves a user's presence. -// If the from address is an empty string the default -// (yourapp@appspot.com/bot) will be used. -// Possible return values are "", "away", "dnd", "chat", "xa". -// ErrPresenceUnavailable is returned if the presence is unavailable. -func GetPresence(c context.Context, to string, from string) (string, error) { - req := &pb.PresenceRequest{ - Jid: &to, - } - if from != "" { - req.FromJid = &from - } - res := &pb.PresenceResponse{} - if err := internal.Call(c, "xmpp", "GetPresence", req, res); err != nil { - return "", err - } - if !*res.IsAvailable || res.Presence == nil { - return "", ErrPresenceUnavailable - } - presence, ok := presenceMap[*res.Presence] - if ok { - return presence, nil - } - return "", fmt.Errorf("xmpp: unknown presence %v", *res.Presence) -} - -// GetPresenceMulti retrieves multiple users' presence. -// If the from address is an empty string the default -// (yourapp@appspot.com/bot) will be used. -// Possible return values are "", "away", "dnd", "chat", "xa". -// If any presence is unavailable, an appengine.MultiError is returned -func GetPresenceMulti(c context.Context, to []string, from string) ([]string, error) { - req := &pb.BulkPresenceRequest{ - Jid: to, - } - if from != "" { - req.FromJid = &from - } - res := &pb.BulkPresenceResponse{} - - if err := internal.Call(c, "xmpp", "BulkGetPresence", req, res); err != nil { - return nil, err - } - - presences := make([]string, 0, len(res.PresenceResponse)) - errs := appengine.MultiError{} - - addResult := func(presence string, err error) { - presences = append(presences, presence) - errs = append(errs, err) - } - - anyErr := false - for _, subres := range res.PresenceResponse { - if !subres.GetValid() { - anyErr = true - addResult("", ErrInvalidJID) - continue - } - if !*subres.IsAvailable || subres.Presence == nil { - anyErr = true - addResult("", ErrPresenceUnavailable) - continue - } - presence, ok := presenceMap[*subres.Presence] - if ok { - addResult(presence, nil) - } else { - anyErr = true - addResult("", fmt.Errorf("xmpp: unknown presence %q", *subres.Presence)) - } - } - if anyErr { - return presences, errs - } - return presences, nil -} - -func init() { - internal.RegisterErrorCodeMap("xmpp", pb.XmppServiceError_ErrorCode_name) -} diff --git a/vendor/google.golang.org/cloud/LICENSE b/vendor/google.golang.org/cloud/LICENSE deleted file mode 100644 index a4c5efd82..000000000 --- a/vendor/google.golang.org/cloud/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Google Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/google.golang.org/cloud/internal/datastore/datastore_v1.pb.go b/vendor/google.golang.org/cloud/internal/datastore/datastore_v1.pb.go deleted file mode 100644 index 9cb9be528..000000000 --- a/vendor/google.golang.org/cloud/internal/datastore/datastore_v1.pb.go +++ /dev/null @@ -1,1633 +0,0 @@ -// Code generated by protoc-gen-go. -// source: datastore_v1.proto -// DO NOT EDIT! - -/* -Package datastore is a generated protocol buffer package. - -It is generated from these files: - datastore_v1.proto - -It has these top-level messages: - PartitionId - Key - Value - Property - Entity - EntityResult - Query - KindExpression - PropertyReference - PropertyExpression - PropertyOrder - Filter - CompositeFilter - PropertyFilter - GqlQuery - GqlQueryArg - QueryResultBatch - Mutation - MutationResult - ReadOptions - LookupRequest - LookupResponse - RunQueryRequest - RunQueryResponse - BeginTransactionRequest - BeginTransactionResponse - RollbackRequest - RollbackResponse - CommitRequest - CommitResponse - AllocateIdsRequest - AllocateIdsResponse -*/ -package datastore - -import proto "github.com/golang/protobuf/proto" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = math.Inf - -// Specifies what data the 'entity' field contains. -// A ResultType is either implied (for example, in LookupResponse.found it -// is always FULL) or specified by context (for example, in message -// QueryResultBatch, field 'entity_result_type' specifies a ResultType -// for all the values in field 'entity_result'). -type EntityResult_ResultType int32 - -const ( - EntityResult_FULL EntityResult_ResultType = 1 - EntityResult_PROJECTION EntityResult_ResultType = 2 - // The entity may have no key. - // A property value may have meaning 18. - EntityResult_KEY_ONLY EntityResult_ResultType = 3 -) - -var EntityResult_ResultType_name = map[int32]string{ - 1: "FULL", - 2: "PROJECTION", - 3: "KEY_ONLY", -} -var EntityResult_ResultType_value = map[string]int32{ - "FULL": 1, - "PROJECTION": 2, - "KEY_ONLY": 3, -} - -func (x EntityResult_ResultType) Enum() *EntityResult_ResultType { - p := new(EntityResult_ResultType) - *p = x - return p -} -func (x EntityResult_ResultType) String() string { - return proto.EnumName(EntityResult_ResultType_name, int32(x)) -} -func (x *EntityResult_ResultType) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(EntityResult_ResultType_value, data, "EntityResult_ResultType") - if err != nil { - return err - } - *x = EntityResult_ResultType(value) - return nil -} - -type PropertyExpression_AggregationFunction int32 - -const ( - PropertyExpression_FIRST PropertyExpression_AggregationFunction = 1 -) - -var PropertyExpression_AggregationFunction_name = map[int32]string{ - 1: "FIRST", -} -var PropertyExpression_AggregationFunction_value = map[string]int32{ - "FIRST": 1, -} - -func (x PropertyExpression_AggregationFunction) Enum() *PropertyExpression_AggregationFunction { - p := new(PropertyExpression_AggregationFunction) - *p = x - return p -} -func (x PropertyExpression_AggregationFunction) String() string { - return proto.EnumName(PropertyExpression_AggregationFunction_name, int32(x)) -} -func (x *PropertyExpression_AggregationFunction) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(PropertyExpression_AggregationFunction_value, data, "PropertyExpression_AggregationFunction") - if err != nil { - return err - } - *x = PropertyExpression_AggregationFunction(value) - return nil -} - -type PropertyOrder_Direction int32 - -const ( - PropertyOrder_ASCENDING PropertyOrder_Direction = 1 - PropertyOrder_DESCENDING PropertyOrder_Direction = 2 -) - -var PropertyOrder_Direction_name = map[int32]string{ - 1: "ASCENDING", - 2: "DESCENDING", -} -var PropertyOrder_Direction_value = map[string]int32{ - "ASCENDING": 1, - "DESCENDING": 2, -} - -func (x PropertyOrder_Direction) Enum() *PropertyOrder_Direction { - p := new(PropertyOrder_Direction) - *p = x - return p -} -func (x PropertyOrder_Direction) String() string { - return proto.EnumName(PropertyOrder_Direction_name, int32(x)) -} -func (x *PropertyOrder_Direction) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(PropertyOrder_Direction_value, data, "PropertyOrder_Direction") - if err != nil { - return err - } - *x = PropertyOrder_Direction(value) - return nil -} - -type CompositeFilter_Operator int32 - -const ( - CompositeFilter_AND CompositeFilter_Operator = 1 -) - -var CompositeFilter_Operator_name = map[int32]string{ - 1: "AND", -} -var CompositeFilter_Operator_value = map[string]int32{ - "AND": 1, -} - -func (x CompositeFilter_Operator) Enum() *CompositeFilter_Operator { - p := new(CompositeFilter_Operator) - *p = x - return p -} -func (x CompositeFilter_Operator) String() string { - return proto.EnumName(CompositeFilter_Operator_name, int32(x)) -} -func (x *CompositeFilter_Operator) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(CompositeFilter_Operator_value, data, "CompositeFilter_Operator") - if err != nil { - return err - } - *x = CompositeFilter_Operator(value) - return nil -} - -type PropertyFilter_Operator int32 - -const ( - PropertyFilter_LESS_THAN PropertyFilter_Operator = 1 - PropertyFilter_LESS_THAN_OR_EQUAL PropertyFilter_Operator = 2 - PropertyFilter_GREATER_THAN PropertyFilter_Operator = 3 - PropertyFilter_GREATER_THAN_OR_EQUAL PropertyFilter_Operator = 4 - PropertyFilter_EQUAL PropertyFilter_Operator = 5 - PropertyFilter_HAS_ANCESTOR PropertyFilter_Operator = 11 -) - -var PropertyFilter_Operator_name = map[int32]string{ - 1: "LESS_THAN", - 2: "LESS_THAN_OR_EQUAL", - 3: "GREATER_THAN", - 4: "GREATER_THAN_OR_EQUAL", - 5: "EQUAL", - 11: "HAS_ANCESTOR", -} -var PropertyFilter_Operator_value = map[string]int32{ - "LESS_THAN": 1, - "LESS_THAN_OR_EQUAL": 2, - "GREATER_THAN": 3, - "GREATER_THAN_OR_EQUAL": 4, - "EQUAL": 5, - "HAS_ANCESTOR": 11, -} - -func (x PropertyFilter_Operator) Enum() *PropertyFilter_Operator { - p := new(PropertyFilter_Operator) - *p = x - return p -} -func (x PropertyFilter_Operator) String() string { - return proto.EnumName(PropertyFilter_Operator_name, int32(x)) -} -func (x *PropertyFilter_Operator) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(PropertyFilter_Operator_value, data, "PropertyFilter_Operator") - if err != nil { - return err - } - *x = PropertyFilter_Operator(value) - return nil -} - -// The possible values for the 'more_results' field. -type QueryResultBatch_MoreResultsType int32 - -const ( - QueryResultBatch_NOT_FINISHED QueryResultBatch_MoreResultsType = 1 - QueryResultBatch_MORE_RESULTS_AFTER_LIMIT QueryResultBatch_MoreResultsType = 2 - // results after the limit. - QueryResultBatch_NO_MORE_RESULTS QueryResultBatch_MoreResultsType = 3 -) - -var QueryResultBatch_MoreResultsType_name = map[int32]string{ - 1: "NOT_FINISHED", - 2: "MORE_RESULTS_AFTER_LIMIT", - 3: "NO_MORE_RESULTS", -} -var QueryResultBatch_MoreResultsType_value = map[string]int32{ - "NOT_FINISHED": 1, - "MORE_RESULTS_AFTER_LIMIT": 2, - "NO_MORE_RESULTS": 3, -} - -func (x QueryResultBatch_MoreResultsType) Enum() *QueryResultBatch_MoreResultsType { - p := new(QueryResultBatch_MoreResultsType) - *p = x - return p -} -func (x QueryResultBatch_MoreResultsType) String() string { - return proto.EnumName(QueryResultBatch_MoreResultsType_name, int32(x)) -} -func (x *QueryResultBatch_MoreResultsType) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(QueryResultBatch_MoreResultsType_value, data, "QueryResultBatch_MoreResultsType") - if err != nil { - return err - } - *x = QueryResultBatch_MoreResultsType(value) - return nil -} - -type ReadOptions_ReadConsistency int32 - -const ( - ReadOptions_DEFAULT ReadOptions_ReadConsistency = 0 - ReadOptions_STRONG ReadOptions_ReadConsistency = 1 - ReadOptions_EVENTUAL ReadOptions_ReadConsistency = 2 -) - -var ReadOptions_ReadConsistency_name = map[int32]string{ - 0: "DEFAULT", - 1: "STRONG", - 2: "EVENTUAL", -} -var ReadOptions_ReadConsistency_value = map[string]int32{ - "DEFAULT": 0, - "STRONG": 1, - "EVENTUAL": 2, -} - -func (x ReadOptions_ReadConsistency) Enum() *ReadOptions_ReadConsistency { - p := new(ReadOptions_ReadConsistency) - *p = x - return p -} -func (x ReadOptions_ReadConsistency) String() string { - return proto.EnumName(ReadOptions_ReadConsistency_name, int32(x)) -} -func (x *ReadOptions_ReadConsistency) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(ReadOptions_ReadConsistency_value, data, "ReadOptions_ReadConsistency") - if err != nil { - return err - } - *x = ReadOptions_ReadConsistency(value) - return nil -} - -type BeginTransactionRequest_IsolationLevel int32 - -const ( - BeginTransactionRequest_SNAPSHOT BeginTransactionRequest_IsolationLevel = 0 - // conflict if their mutations conflict. For example: - // Read(A),Write(B) may not conflict with Read(B),Write(A), - // but Read(B),Write(B) does conflict with Read(B),Write(B). - BeginTransactionRequest_SERIALIZABLE BeginTransactionRequest_IsolationLevel = 1 -) - -var BeginTransactionRequest_IsolationLevel_name = map[int32]string{ - 0: "SNAPSHOT", - 1: "SERIALIZABLE", -} -var BeginTransactionRequest_IsolationLevel_value = map[string]int32{ - "SNAPSHOT": 0, - "SERIALIZABLE": 1, -} - -func (x BeginTransactionRequest_IsolationLevel) Enum() *BeginTransactionRequest_IsolationLevel { - p := new(BeginTransactionRequest_IsolationLevel) - *p = x - return p -} -func (x BeginTransactionRequest_IsolationLevel) String() string { - return proto.EnumName(BeginTransactionRequest_IsolationLevel_name, int32(x)) -} -func (x *BeginTransactionRequest_IsolationLevel) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(BeginTransactionRequest_IsolationLevel_value, data, "BeginTransactionRequest_IsolationLevel") - if err != nil { - return err - } - *x = BeginTransactionRequest_IsolationLevel(value) - return nil -} - -type CommitRequest_Mode int32 - -const ( - CommitRequest_TRANSACTIONAL CommitRequest_Mode = 1 - CommitRequest_NON_TRANSACTIONAL CommitRequest_Mode = 2 -) - -var CommitRequest_Mode_name = map[int32]string{ - 1: "TRANSACTIONAL", - 2: "NON_TRANSACTIONAL", -} -var CommitRequest_Mode_value = map[string]int32{ - "TRANSACTIONAL": 1, - "NON_TRANSACTIONAL": 2, -} - -func (x CommitRequest_Mode) Enum() *CommitRequest_Mode { - p := new(CommitRequest_Mode) - *p = x - return p -} -func (x CommitRequest_Mode) String() string { - return proto.EnumName(CommitRequest_Mode_name, int32(x)) -} -func (x *CommitRequest_Mode) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(CommitRequest_Mode_value, data, "CommitRequest_Mode") - if err != nil { - return err - } - *x = CommitRequest_Mode(value) - return nil -} - -// An identifier for a particular subset of entities. -// -// Entities are partitioned into various subsets, each used by different -// datasets and different namespaces within a dataset and so forth. -// -// All input partition IDs are normalized before use. -// A partition ID is normalized as follows: -// If the partition ID is unset or is set to an empty partition ID, replace it -// with the context partition ID. -// Otherwise, if the partition ID has no dataset ID, assign it the context -// partition ID's dataset ID. -// Unless otherwise documented, the context partition ID has the dataset ID set -// to the context dataset ID and no other partition dimension set. -// -// A partition ID is empty if all of its fields are unset. -// -// Partition dimension: -// A dimension may be unset. -// A dimension's value must never be "". -// A dimension's value must match [A-Za-z\d\.\-_]{1,100} -// If the value of any dimension matches regex "__.*__", -// the partition is reserved/read-only. -// A reserved/read-only partition ID is forbidden in certain documented contexts. -// -// Dataset ID: -// A dataset id's value must never be "". -// A dataset id's value must match -// ([a-z\d\-]{1,100}~)?([a-z\d][a-z\d\-\.]{0,99}:)?([a-z\d][a-z\d\-]{0,99} -type PartitionId struct { - // The dataset ID. - DatasetId *string `protobuf:"bytes,3,opt,name=dataset_id" json:"dataset_id,omitempty"` - // The namespace. - Namespace *string `protobuf:"bytes,4,opt,name=namespace" json:"namespace,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PartitionId) Reset() { *m = PartitionId{} } -func (m *PartitionId) String() string { return proto.CompactTextString(m) } -func (*PartitionId) ProtoMessage() {} - -func (m *PartitionId) GetDatasetId() string { - if m != nil && m.DatasetId != nil { - return *m.DatasetId - } - return "" -} - -func (m *PartitionId) GetNamespace() string { - if m != nil && m.Namespace != nil { - return *m.Namespace - } - return "" -} - -// A unique identifier for an entity. -// If a key's partition id or any of its path kinds or names are -// reserved/read-only, the key is reserved/read-only. -// A reserved/read-only key is forbidden in certain documented contexts. -type Key struct { - // Entities are partitioned into subsets, currently identified by a dataset - // (usually implicitly specified by the project) and namespace ID. - // Queries are scoped to a single partition. - PartitionId *PartitionId `protobuf:"bytes,1,opt,name=partition_id" json:"partition_id,omitempty"` - // The entity path. - // An entity path consists of one or more elements composed of a kind and a - // string or numerical identifier, which identify entities. The first - // element identifies a root entity, the second element identifies - // a child of the root entity, the third element a child of the - // second entity, and so forth. The entities identified by all prefixes of - // the path are called the element's ancestors. - // An entity path is always fully complete: ALL of the entity's ancestors - // are required to be in the path along with the entity identifier itself. - // The only exception is that in some documented cases, the identifier in the - // last path element (for the entity) itself may be omitted. A path can never - // be empty. - PathElement []*Key_PathElement `protobuf:"bytes,2,rep,name=path_element" json:"path_element,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Key) Reset() { *m = Key{} } -func (m *Key) String() string { return proto.CompactTextString(m) } -func (*Key) ProtoMessage() {} - -func (m *Key) GetPartitionId() *PartitionId { - if m != nil { - return m.PartitionId - } - return nil -} - -func (m *Key) GetPathElement() []*Key_PathElement { - if m != nil { - return m.PathElement - } - return nil -} - -// A (kind, ID/name) pair used to construct a key path. -// -// At most one of name or ID may be set. -// If either is set, the element is complete. -// If neither is set, the element is incomplete. -type Key_PathElement struct { - // The kind of the entity. - // A kind matching regex "__.*__" is reserved/read-only. - // A kind must not contain more than 500 characters. - // Cannot be "". - Kind *string `protobuf:"bytes,1,req,name=kind" json:"kind,omitempty"` - // The ID of the entity. - // Never equal to zero. Values less than zero are discouraged and will not - // be supported in the future. - Id *int64 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"` - // The name of the entity. - // A name matching regex "__.*__" is reserved/read-only. - // A name must not be more than 500 characters. - // Cannot be "". - Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Key_PathElement) Reset() { *m = Key_PathElement{} } -func (m *Key_PathElement) String() string { return proto.CompactTextString(m) } -func (*Key_PathElement) ProtoMessage() {} - -func (m *Key_PathElement) GetKind() string { - if m != nil && m.Kind != nil { - return *m.Kind - } - return "" -} - -func (m *Key_PathElement) GetId() int64 { - if m != nil && m.Id != nil { - return *m.Id - } - return 0 -} - -func (m *Key_PathElement) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -// A message that can hold any of the supported value types and associated -// metadata. -// -// At most one of the Value fields may be set. -// If none are set the value is "null". -// -type Value struct { - // A boolean value. - BooleanValue *bool `protobuf:"varint,1,opt,name=boolean_value" json:"boolean_value,omitempty"` - // An integer value. - IntegerValue *int64 `protobuf:"varint,2,opt,name=integer_value" json:"integer_value,omitempty"` - // A double value. - DoubleValue *float64 `protobuf:"fixed64,3,opt,name=double_value" json:"double_value,omitempty"` - // A timestamp value. - TimestampMicrosecondsValue *int64 `protobuf:"varint,4,opt,name=timestamp_microseconds_value" json:"timestamp_microseconds_value,omitempty"` - // A key value. - KeyValue *Key `protobuf:"bytes,5,opt,name=key_value" json:"key_value,omitempty"` - // A blob key value. - BlobKeyValue *string `protobuf:"bytes,16,opt,name=blob_key_value" json:"blob_key_value,omitempty"` - // A UTF-8 encoded string value. - StringValue *string `protobuf:"bytes,17,opt,name=string_value" json:"string_value,omitempty"` - // A blob value. - BlobValue []byte `protobuf:"bytes,18,opt,name=blob_value" json:"blob_value,omitempty"` - // An entity value. - // May have no key. - // May have a key with an incomplete key path. - // May have a reserved/read-only key. - EntityValue *Entity `protobuf:"bytes,6,opt,name=entity_value" json:"entity_value,omitempty"` - // A list value. - // Cannot contain another list value. - // Cannot also have a meaning and indexing set. - ListValue []*Value `protobuf:"bytes,7,rep,name=list_value" json:"list_value,omitempty"` - // The meaning field is reserved and should not be used. - Meaning *int32 `protobuf:"varint,14,opt,name=meaning" json:"meaning,omitempty"` - // If the value should be indexed. - // - // The indexed property may be set for a - // null value. - // When indexed is true, stringValue - // is limited to 500 characters and the blob value is limited to 500 bytes. - // Exception: If meaning is set to 2, string_value is limited to 2038 - // characters regardless of indexed. - // When indexed is true, meaning 15 and 22 are not allowed, and meaning 16 - // will be ignored on input (and will never be set on output). - // Input values by default have indexed set to - // true; however, you can explicitly set indexed to - // true if you want. (An output value never has - // indexed explicitly set to true.) If a value is - // itself an entity, it cannot have indexed set to - // true. - // Exception: An entity value with meaning 9, 20 or 21 may be indexed. - Indexed *bool `protobuf:"varint,15,opt,name=indexed,def=1" json:"indexed,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Value) Reset() { *m = Value{} } -func (m *Value) String() string { return proto.CompactTextString(m) } -func (*Value) ProtoMessage() {} - -const Default_Value_Indexed bool = true - -func (m *Value) GetBooleanValue() bool { - if m != nil && m.BooleanValue != nil { - return *m.BooleanValue - } - return false -} - -func (m *Value) GetIntegerValue() int64 { - if m != nil && m.IntegerValue != nil { - return *m.IntegerValue - } - return 0 -} - -func (m *Value) GetDoubleValue() float64 { - if m != nil && m.DoubleValue != nil { - return *m.DoubleValue - } - return 0 -} - -func (m *Value) GetTimestampMicrosecondsValue() int64 { - if m != nil && m.TimestampMicrosecondsValue != nil { - return *m.TimestampMicrosecondsValue - } - return 0 -} - -func (m *Value) GetKeyValue() *Key { - if m != nil { - return m.KeyValue - } - return nil -} - -func (m *Value) GetBlobKeyValue() string { - if m != nil && m.BlobKeyValue != nil { - return *m.BlobKeyValue - } - return "" -} - -func (m *Value) GetStringValue() string { - if m != nil && m.StringValue != nil { - return *m.StringValue - } - return "" -} - -func (m *Value) GetBlobValue() []byte { - if m != nil { - return m.BlobValue - } - return nil -} - -func (m *Value) GetEntityValue() *Entity { - if m != nil { - return m.EntityValue - } - return nil -} - -func (m *Value) GetListValue() []*Value { - if m != nil { - return m.ListValue - } - return nil -} - -func (m *Value) GetMeaning() int32 { - if m != nil && m.Meaning != nil { - return *m.Meaning - } - return 0 -} - -func (m *Value) GetIndexed() bool { - if m != nil && m.Indexed != nil { - return *m.Indexed - } - return Default_Value_Indexed -} - -// An entity property. -type Property struct { - // The name of the property. - // A property name matching regex "__.*__" is reserved. - // A reserved property name is forbidden in certain documented contexts. - // The name must not contain more than 500 characters. - // Cannot be "". - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - // The value(s) of the property. - // Each value can have only one value property populated. For example, - // you cannot have a values list of { value: { integerValue: 22, - // stringValue: "a" } }, but you can have { value: { listValue: - // [ { integerValue: 22 }, { stringValue: "a" } ] }. - Value *Value `protobuf:"bytes,4,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Property) Reset() { *m = Property{} } -func (m *Property) String() string { return proto.CompactTextString(m) } -func (*Property) ProtoMessage() {} - -func (m *Property) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *Property) GetValue() *Value { - if m != nil { - return m.Value - } - return nil -} - -// An entity. -// -// An entity is limited to 1 megabyte when stored. That roughly -// corresponds to a limit of 1 megabyte for the serialized form of this -// message. -type Entity struct { - // The entity's key. - // - // An entity must have a key, unless otherwise documented (for example, - // an entity in Value.entityValue may have no key). - // An entity's kind is its key's path's last element's kind, - // or null if it has no key. - Key *Key `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - // The entity's properties. - // Each property's name must be unique for its entity. - Property []*Property `protobuf:"bytes,2,rep,name=property" json:"property,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Entity) Reset() { *m = Entity{} } -func (m *Entity) String() string { return proto.CompactTextString(m) } -func (*Entity) ProtoMessage() {} - -func (m *Entity) GetKey() *Key { - if m != nil { - return m.Key - } - return nil -} - -func (m *Entity) GetProperty() []*Property { - if m != nil { - return m.Property - } - return nil -} - -// The result of fetching an entity from the datastore. -type EntityResult struct { - // The resulting entity. - Entity *Entity `protobuf:"bytes,1,req,name=entity" json:"entity,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *EntityResult) Reset() { *m = EntityResult{} } -func (m *EntityResult) String() string { return proto.CompactTextString(m) } -func (*EntityResult) ProtoMessage() {} - -func (m *EntityResult) GetEntity() *Entity { - if m != nil { - return m.Entity - } - return nil -} - -// A query. -type Query struct { - // The projection to return. If not set the entire entity is returned. - Projection []*PropertyExpression `protobuf:"bytes,2,rep,name=projection" json:"projection,omitempty"` - // The kinds to query (if empty, returns entities from all kinds). - Kind []*KindExpression `protobuf:"bytes,3,rep,name=kind" json:"kind,omitempty"` - // The filter to apply (optional). - Filter *Filter `protobuf:"bytes,4,opt,name=filter" json:"filter,omitempty"` - // The order to apply to the query results (if empty, order is unspecified). - Order []*PropertyOrder `protobuf:"bytes,5,rep,name=order" json:"order,omitempty"` - // The properties to group by (if empty, no grouping is applied to the - // result set). - GroupBy []*PropertyReference `protobuf:"bytes,6,rep,name=group_by" json:"group_by,omitempty"` - // A starting point for the query results. Optional. Query cursors are - // returned in query result batches. - StartCursor []byte `protobuf:"bytes,7,opt,name=start_cursor" json:"start_cursor,omitempty"` - // An ending point for the query results. Optional. Query cursors are - // returned in query result batches. - EndCursor []byte `protobuf:"bytes,8,opt,name=end_cursor" json:"end_cursor,omitempty"` - // The number of results to skip. Applies before limit, but after all other - // constraints (optional, defaults to 0). - Offset *int32 `protobuf:"varint,10,opt,name=offset,def=0" json:"offset,omitempty"` - // The maximum number of results to return. Applies after all other - // constraints. Optional. - Limit *int32 `protobuf:"varint,11,opt,name=limit" json:"limit,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Query) Reset() { *m = Query{} } -func (m *Query) String() string { return proto.CompactTextString(m) } -func (*Query) ProtoMessage() {} - -const Default_Query_Offset int32 = 0 - -func (m *Query) GetProjection() []*PropertyExpression { - if m != nil { - return m.Projection - } - return nil -} - -func (m *Query) GetKind() []*KindExpression { - if m != nil { - return m.Kind - } - return nil -} - -func (m *Query) GetFilter() *Filter { - if m != nil { - return m.Filter - } - return nil -} - -func (m *Query) GetOrder() []*PropertyOrder { - if m != nil { - return m.Order - } - return nil -} - -func (m *Query) GetGroupBy() []*PropertyReference { - if m != nil { - return m.GroupBy - } - return nil -} - -func (m *Query) GetStartCursor() []byte { - if m != nil { - return m.StartCursor - } - return nil -} - -func (m *Query) GetEndCursor() []byte { - if m != nil { - return m.EndCursor - } - return nil -} - -func (m *Query) GetOffset() int32 { - if m != nil && m.Offset != nil { - return *m.Offset - } - return Default_Query_Offset -} - -func (m *Query) GetLimit() int32 { - if m != nil && m.Limit != nil { - return *m.Limit - } - return 0 -} - -// A representation of a kind. -type KindExpression struct { - // The name of the kind. - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *KindExpression) Reset() { *m = KindExpression{} } -func (m *KindExpression) String() string { return proto.CompactTextString(m) } -func (*KindExpression) ProtoMessage() {} - -func (m *KindExpression) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -// A reference to a property relative to the kind expressions. -// exactly. -type PropertyReference struct { - // The name of the property. - Name *string `protobuf:"bytes,2,req,name=name" json:"name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PropertyReference) Reset() { *m = PropertyReference{} } -func (m *PropertyReference) String() string { return proto.CompactTextString(m) } -func (*PropertyReference) ProtoMessage() {} - -func (m *PropertyReference) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -// A representation of a property in a projection. -type PropertyExpression struct { - // The property to project. - Property *PropertyReference `protobuf:"bytes,1,req,name=property" json:"property,omitempty"` - // The aggregation function to apply to the property. Optional. - // Can only be used when grouping by at least one property. Must - // then be set on all properties in the projection that are not - // being grouped by. - AggregationFunction *PropertyExpression_AggregationFunction `protobuf:"varint,2,opt,name=aggregation_function,enum=datastore.PropertyExpression_AggregationFunction" json:"aggregation_function,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PropertyExpression) Reset() { *m = PropertyExpression{} } -func (m *PropertyExpression) String() string { return proto.CompactTextString(m) } -func (*PropertyExpression) ProtoMessage() {} - -func (m *PropertyExpression) GetProperty() *PropertyReference { - if m != nil { - return m.Property - } - return nil -} - -func (m *PropertyExpression) GetAggregationFunction() PropertyExpression_AggregationFunction { - if m != nil && m.AggregationFunction != nil { - return *m.AggregationFunction - } - return PropertyExpression_FIRST -} - -// The desired order for a specific property. -type PropertyOrder struct { - // The property to order by. - Property *PropertyReference `protobuf:"bytes,1,req,name=property" json:"property,omitempty"` - // The direction to order by. - Direction *PropertyOrder_Direction `protobuf:"varint,2,opt,name=direction,enum=datastore.PropertyOrder_Direction,def=1" json:"direction,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PropertyOrder) Reset() { *m = PropertyOrder{} } -func (m *PropertyOrder) String() string { return proto.CompactTextString(m) } -func (*PropertyOrder) ProtoMessage() {} - -const Default_PropertyOrder_Direction PropertyOrder_Direction = PropertyOrder_ASCENDING - -func (m *PropertyOrder) GetProperty() *PropertyReference { - if m != nil { - return m.Property - } - return nil -} - -func (m *PropertyOrder) GetDirection() PropertyOrder_Direction { - if m != nil && m.Direction != nil { - return *m.Direction - } - return Default_PropertyOrder_Direction -} - -// A holder for any type of filter. Exactly one field should be specified. -type Filter struct { - // A composite filter. - CompositeFilter *CompositeFilter `protobuf:"bytes,1,opt,name=composite_filter" json:"composite_filter,omitempty"` - // A filter on a property. - PropertyFilter *PropertyFilter `protobuf:"bytes,2,opt,name=property_filter" json:"property_filter,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Filter) Reset() { *m = Filter{} } -func (m *Filter) String() string { return proto.CompactTextString(m) } -func (*Filter) ProtoMessage() {} - -func (m *Filter) GetCompositeFilter() *CompositeFilter { - if m != nil { - return m.CompositeFilter - } - return nil -} - -func (m *Filter) GetPropertyFilter() *PropertyFilter { - if m != nil { - return m.PropertyFilter - } - return nil -} - -// A filter that merges the multiple other filters using the given operation. -type CompositeFilter struct { - // The operator for combining multiple filters. - Operator *CompositeFilter_Operator `protobuf:"varint,1,req,name=operator,enum=datastore.CompositeFilter_Operator" json:"operator,omitempty"` - // The list of filters to combine. - // Must contain at least one filter. - Filter []*Filter `protobuf:"bytes,2,rep,name=filter" json:"filter,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CompositeFilter) Reset() { *m = CompositeFilter{} } -func (m *CompositeFilter) String() string { return proto.CompactTextString(m) } -func (*CompositeFilter) ProtoMessage() {} - -func (m *CompositeFilter) GetOperator() CompositeFilter_Operator { - if m != nil && m.Operator != nil { - return *m.Operator - } - return CompositeFilter_AND -} - -func (m *CompositeFilter) GetFilter() []*Filter { - if m != nil { - return m.Filter - } - return nil -} - -// A filter on a specific property. -type PropertyFilter struct { - // The property to filter by. - Property *PropertyReference `protobuf:"bytes,1,req,name=property" json:"property,omitempty"` - // The operator to filter by. - Operator *PropertyFilter_Operator `protobuf:"varint,2,req,name=operator,enum=datastore.PropertyFilter_Operator" json:"operator,omitempty"` - // The value to compare the property to. - Value *Value `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PropertyFilter) Reset() { *m = PropertyFilter{} } -func (m *PropertyFilter) String() string { return proto.CompactTextString(m) } -func (*PropertyFilter) ProtoMessage() {} - -func (m *PropertyFilter) GetProperty() *PropertyReference { - if m != nil { - return m.Property - } - return nil -} - -func (m *PropertyFilter) GetOperator() PropertyFilter_Operator { - if m != nil && m.Operator != nil { - return *m.Operator - } - return PropertyFilter_LESS_THAN -} - -func (m *PropertyFilter) GetValue() *Value { - if m != nil { - return m.Value - } - return nil -} - -// A GQL query. -type GqlQuery struct { - QueryString *string `protobuf:"bytes,1,req,name=query_string" json:"query_string,omitempty"` - // When false, the query string must not contain a literal. - AllowLiteral *bool `protobuf:"varint,2,opt,name=allow_literal,def=0" json:"allow_literal,omitempty"` - // A named argument must set field GqlQueryArg.name. - // No two named arguments may have the same name. - // For each non-reserved named binding site in the query string, - // there must be a named argument with that name, - // but not necessarily the inverse. - NameArg []*GqlQueryArg `protobuf:"bytes,3,rep,name=name_arg" json:"name_arg,omitempty"` - // Numbered binding site @1 references the first numbered argument, - // effectively using 1-based indexing, rather than the usual 0. - // A numbered argument must NOT set field GqlQueryArg.name. - // For each binding site numbered i in query_string, - // there must be an ith numbered argument. - // The inverse must also be true. - NumberArg []*GqlQueryArg `protobuf:"bytes,4,rep,name=number_arg" json:"number_arg,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GqlQuery) Reset() { *m = GqlQuery{} } -func (m *GqlQuery) String() string { return proto.CompactTextString(m) } -func (*GqlQuery) ProtoMessage() {} - -const Default_GqlQuery_AllowLiteral bool = false - -func (m *GqlQuery) GetQueryString() string { - if m != nil && m.QueryString != nil { - return *m.QueryString - } - return "" -} - -func (m *GqlQuery) GetAllowLiteral() bool { - if m != nil && m.AllowLiteral != nil { - return *m.AllowLiteral - } - return Default_GqlQuery_AllowLiteral -} - -func (m *GqlQuery) GetNameArg() []*GqlQueryArg { - if m != nil { - return m.NameArg - } - return nil -} - -func (m *GqlQuery) GetNumberArg() []*GqlQueryArg { - if m != nil { - return m.NumberArg - } - return nil -} - -// A binding argument for a GQL query. -// Exactly one of fields value and cursor must be set. -type GqlQueryArg struct { - // Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". - // Must not match regex "__.*__". - // Must not be "". - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Value *Value `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - Cursor []byte `protobuf:"bytes,3,opt,name=cursor" json:"cursor,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GqlQueryArg) Reset() { *m = GqlQueryArg{} } -func (m *GqlQueryArg) String() string { return proto.CompactTextString(m) } -func (*GqlQueryArg) ProtoMessage() {} - -func (m *GqlQueryArg) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *GqlQueryArg) GetValue() *Value { - if m != nil { - return m.Value - } - return nil -} - -func (m *GqlQueryArg) GetCursor() []byte { - if m != nil { - return m.Cursor - } - return nil -} - -// A batch of results produced by a query. -type QueryResultBatch struct { - // The result type for every entity in entityResults. - EntityResultType *EntityResult_ResultType `protobuf:"varint,1,req,name=entity_result_type,enum=datastore.EntityResult_ResultType" json:"entity_result_type,omitempty"` - // The results for this batch. - EntityResult []*EntityResult `protobuf:"bytes,2,rep,name=entity_result" json:"entity_result,omitempty"` - // A cursor that points to the position after the last result in the batch. - // May be absent. - EndCursor []byte `protobuf:"bytes,4,opt,name=end_cursor" json:"end_cursor,omitempty"` - // The state of the query after the current batch. - MoreResults *QueryResultBatch_MoreResultsType `protobuf:"varint,5,req,name=more_results,enum=datastore.QueryResultBatch_MoreResultsType" json:"more_results,omitempty"` - // The number of results skipped because of Query.offset. - SkippedResults *int32 `protobuf:"varint,6,opt,name=skipped_results" json:"skipped_results,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *QueryResultBatch) Reset() { *m = QueryResultBatch{} } -func (m *QueryResultBatch) String() string { return proto.CompactTextString(m) } -func (*QueryResultBatch) ProtoMessage() {} - -func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType { - if m != nil && m.EntityResultType != nil { - return *m.EntityResultType - } - return EntityResult_FULL -} - -func (m *QueryResultBatch) GetEntityResult() []*EntityResult { - if m != nil { - return m.EntityResult - } - return nil -} - -func (m *QueryResultBatch) GetEndCursor() []byte { - if m != nil { - return m.EndCursor - } - return nil -} - -func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType { - if m != nil && m.MoreResults != nil { - return *m.MoreResults - } - return QueryResultBatch_NOT_FINISHED -} - -func (m *QueryResultBatch) GetSkippedResults() int32 { - if m != nil && m.SkippedResults != nil { - return *m.SkippedResults - } - return 0 -} - -// A set of changes to apply. -// -// No entity in this message may have a reserved property name, -// not even a property in an entity in a value. -// No value in this message may have meaning 18, -// not even a value in an entity in another value. -// -// If entities with duplicate keys are present, an arbitrary choice will -// be made as to which is written. -type Mutation struct { - // Entities to upsert. - // Each upserted entity's key must have a complete path and - // must not be reserved/read-only. - Upsert []*Entity `protobuf:"bytes,1,rep,name=upsert" json:"upsert,omitempty"` - // Entities to update. - // Each updated entity's key must have a complete path and - // must not be reserved/read-only. - Update []*Entity `protobuf:"bytes,2,rep,name=update" json:"update,omitempty"` - // Entities to insert. - // Each inserted entity's key must have a complete path and - // must not be reserved/read-only. - Insert []*Entity `protobuf:"bytes,3,rep,name=insert" json:"insert,omitempty"` - // Insert entities with a newly allocated ID. - // Each inserted entity's key must omit the final identifier in its path and - // must not be reserved/read-only. - InsertAutoId []*Entity `protobuf:"bytes,4,rep,name=insert_auto_id" json:"insert_auto_id,omitempty"` - // Keys of entities to delete. - // Each key must have a complete key path and must not be reserved/read-only. - Delete []*Key `protobuf:"bytes,5,rep,name=delete" json:"delete,omitempty"` - // Ignore a user specified read-only period. Optional. - Force *bool `protobuf:"varint,6,opt,name=force" json:"force,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Mutation) Reset() { *m = Mutation{} } -func (m *Mutation) String() string { return proto.CompactTextString(m) } -func (*Mutation) ProtoMessage() {} - -func (m *Mutation) GetUpsert() []*Entity { - if m != nil { - return m.Upsert - } - return nil -} - -func (m *Mutation) GetUpdate() []*Entity { - if m != nil { - return m.Update - } - return nil -} - -func (m *Mutation) GetInsert() []*Entity { - if m != nil { - return m.Insert - } - return nil -} - -func (m *Mutation) GetInsertAutoId() []*Entity { - if m != nil { - return m.InsertAutoId - } - return nil -} - -func (m *Mutation) GetDelete() []*Key { - if m != nil { - return m.Delete - } - return nil -} - -func (m *Mutation) GetForce() bool { - if m != nil && m.Force != nil { - return *m.Force - } - return false -} - -// The result of applying a mutation. -type MutationResult struct { - // Number of index writes. - IndexUpdates *int32 `protobuf:"varint,1,req,name=index_updates" json:"index_updates,omitempty"` - // Keys for insertAutoId entities. One per entity from the - // request, in the same order. - InsertAutoIdKey []*Key `protobuf:"bytes,2,rep,name=insert_auto_id_key" json:"insert_auto_id_key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MutationResult) Reset() { *m = MutationResult{} } -func (m *MutationResult) String() string { return proto.CompactTextString(m) } -func (*MutationResult) ProtoMessage() {} - -func (m *MutationResult) GetIndexUpdates() int32 { - if m != nil && m.IndexUpdates != nil { - return *m.IndexUpdates - } - return 0 -} - -func (m *MutationResult) GetInsertAutoIdKey() []*Key { - if m != nil { - return m.InsertAutoIdKey - } - return nil -} - -// Options shared by read requests. -type ReadOptions struct { - // The read consistency to use. - // Cannot be set when transaction is set. - // Lookup and ancestor queries default to STRONG, global queries default to - // EVENTUAL and cannot be set to STRONG. - ReadConsistency *ReadOptions_ReadConsistency `protobuf:"varint,1,opt,name=read_consistency,enum=datastore.ReadOptions_ReadConsistency,def=0" json:"read_consistency,omitempty"` - // The transaction to use. Optional. - Transaction []byte `protobuf:"bytes,2,opt,name=transaction" json:"transaction,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ReadOptions) Reset() { *m = ReadOptions{} } -func (m *ReadOptions) String() string { return proto.CompactTextString(m) } -func (*ReadOptions) ProtoMessage() {} - -const Default_ReadOptions_ReadConsistency ReadOptions_ReadConsistency = ReadOptions_DEFAULT - -func (m *ReadOptions) GetReadConsistency() ReadOptions_ReadConsistency { - if m != nil && m.ReadConsistency != nil { - return *m.ReadConsistency - } - return Default_ReadOptions_ReadConsistency -} - -func (m *ReadOptions) GetTransaction() []byte { - if m != nil { - return m.Transaction - } - return nil -} - -// The request for Lookup. -type LookupRequest struct { - // Options for this lookup request. Optional. - ReadOptions *ReadOptions `protobuf:"bytes,1,opt,name=read_options" json:"read_options,omitempty"` - // Keys of entities to look up from the datastore. - Key []*Key `protobuf:"bytes,3,rep,name=key" json:"key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *LookupRequest) Reset() { *m = LookupRequest{} } -func (m *LookupRequest) String() string { return proto.CompactTextString(m) } -func (*LookupRequest) ProtoMessage() {} - -func (m *LookupRequest) GetReadOptions() *ReadOptions { - if m != nil { - return m.ReadOptions - } - return nil -} - -func (m *LookupRequest) GetKey() []*Key { - if m != nil { - return m.Key - } - return nil -} - -// The response for Lookup. -type LookupResponse struct { - // Entities found as ResultType.FULL entities. - Found []*EntityResult `protobuf:"bytes,1,rep,name=found" json:"found,omitempty"` - // Entities not found as ResultType.KEY_ONLY entities. - Missing []*EntityResult `protobuf:"bytes,2,rep,name=missing" json:"missing,omitempty"` - // A list of keys that were not looked up due to resource constraints. - Deferred []*Key `protobuf:"bytes,3,rep,name=deferred" json:"deferred,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *LookupResponse) Reset() { *m = LookupResponse{} } -func (m *LookupResponse) String() string { return proto.CompactTextString(m) } -func (*LookupResponse) ProtoMessage() {} - -func (m *LookupResponse) GetFound() []*EntityResult { - if m != nil { - return m.Found - } - return nil -} - -func (m *LookupResponse) GetMissing() []*EntityResult { - if m != nil { - return m.Missing - } - return nil -} - -func (m *LookupResponse) GetDeferred() []*Key { - if m != nil { - return m.Deferred - } - return nil -} - -// The request for RunQuery. -type RunQueryRequest struct { - // The options for this query. - ReadOptions *ReadOptions `protobuf:"bytes,1,opt,name=read_options" json:"read_options,omitempty"` - // Entities are partitioned into subsets, identified by a dataset (usually - // implicitly specified by the project) and namespace ID. Queries are scoped - // to a single partition. - // This partition ID is normalized with the standard default context - // partition ID, but all other partition IDs in RunQueryRequest are - // normalized with this partition ID as the context partition ID. - PartitionId *PartitionId `protobuf:"bytes,2,opt,name=partition_id" json:"partition_id,omitempty"` - // The query to run. - // Either this field or field gql_query must be set, but not both. - Query *Query `protobuf:"bytes,3,opt,name=query" json:"query,omitempty"` - // The GQL query to run. - // Either this field or field query must be set, but not both. - GqlQuery *GqlQuery `protobuf:"bytes,7,opt,name=gql_query" json:"gql_query,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RunQueryRequest) Reset() { *m = RunQueryRequest{} } -func (m *RunQueryRequest) String() string { return proto.CompactTextString(m) } -func (*RunQueryRequest) ProtoMessage() {} - -func (m *RunQueryRequest) GetReadOptions() *ReadOptions { - if m != nil { - return m.ReadOptions - } - return nil -} - -func (m *RunQueryRequest) GetPartitionId() *PartitionId { - if m != nil { - return m.PartitionId - } - return nil -} - -func (m *RunQueryRequest) GetQuery() *Query { - if m != nil { - return m.Query - } - return nil -} - -func (m *RunQueryRequest) GetGqlQuery() *GqlQuery { - if m != nil { - return m.GqlQuery - } - return nil -} - -// The response for RunQuery. -type RunQueryResponse struct { - // A batch of query results (always present). - Batch *QueryResultBatch `protobuf:"bytes,1,opt,name=batch" json:"batch,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RunQueryResponse) Reset() { *m = RunQueryResponse{} } -func (m *RunQueryResponse) String() string { return proto.CompactTextString(m) } -func (*RunQueryResponse) ProtoMessage() {} - -func (m *RunQueryResponse) GetBatch() *QueryResultBatch { - if m != nil { - return m.Batch - } - return nil -} - -// The request for BeginTransaction. -type BeginTransactionRequest struct { - // The transaction isolation level. - IsolationLevel *BeginTransactionRequest_IsolationLevel `protobuf:"varint,1,opt,name=isolation_level,enum=datastore.BeginTransactionRequest_IsolationLevel,def=0" json:"isolation_level,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *BeginTransactionRequest) Reset() { *m = BeginTransactionRequest{} } -func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) } -func (*BeginTransactionRequest) ProtoMessage() {} - -const Default_BeginTransactionRequest_IsolationLevel BeginTransactionRequest_IsolationLevel = BeginTransactionRequest_SNAPSHOT - -func (m *BeginTransactionRequest) GetIsolationLevel() BeginTransactionRequest_IsolationLevel { - if m != nil && m.IsolationLevel != nil { - return *m.IsolationLevel - } - return Default_BeginTransactionRequest_IsolationLevel -} - -// The response for BeginTransaction. -type BeginTransactionResponse struct { - // The transaction identifier (always present). - Transaction []byte `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *BeginTransactionResponse) Reset() { *m = BeginTransactionResponse{} } -func (m *BeginTransactionResponse) String() string { return proto.CompactTextString(m) } -func (*BeginTransactionResponse) ProtoMessage() {} - -func (m *BeginTransactionResponse) GetTransaction() []byte { - if m != nil { - return m.Transaction - } - return nil -} - -// The request for Rollback. -type RollbackRequest struct { - // The transaction identifier, returned by a call to - // beginTransaction. - Transaction []byte `protobuf:"bytes,1,req,name=transaction" json:"transaction,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RollbackRequest) Reset() { *m = RollbackRequest{} } -func (m *RollbackRequest) String() string { return proto.CompactTextString(m) } -func (*RollbackRequest) ProtoMessage() {} - -func (m *RollbackRequest) GetTransaction() []byte { - if m != nil { - return m.Transaction - } - return nil -} - -// The response for Rollback. -type RollbackResponse struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *RollbackResponse) Reset() { *m = RollbackResponse{} } -func (m *RollbackResponse) String() string { return proto.CompactTextString(m) } -func (*RollbackResponse) ProtoMessage() {} - -// The request for Commit. -type CommitRequest struct { - // The transaction identifier, returned by a call to - // beginTransaction. Must be set when mode is TRANSACTIONAL. - Transaction []byte `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"` - // The mutation to perform. Optional. - Mutation *Mutation `protobuf:"bytes,2,opt,name=mutation" json:"mutation,omitempty"` - // The type of commit to perform. Either TRANSACTIONAL or NON_TRANSACTIONAL. - Mode *CommitRequest_Mode `protobuf:"varint,5,opt,name=mode,enum=datastore.CommitRequest_Mode,def=1" json:"mode,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CommitRequest) Reset() { *m = CommitRequest{} } -func (m *CommitRequest) String() string { return proto.CompactTextString(m) } -func (*CommitRequest) ProtoMessage() {} - -const Default_CommitRequest_Mode CommitRequest_Mode = CommitRequest_TRANSACTIONAL - -func (m *CommitRequest) GetTransaction() []byte { - if m != nil { - return m.Transaction - } - return nil -} - -func (m *CommitRequest) GetMutation() *Mutation { - if m != nil { - return m.Mutation - } - return nil -} - -func (m *CommitRequest) GetMode() CommitRequest_Mode { - if m != nil && m.Mode != nil { - return *m.Mode - } - return Default_CommitRequest_Mode -} - -// The response for Commit. -type CommitResponse struct { - // The result of performing the mutation (if any). - MutationResult *MutationResult `protobuf:"bytes,1,opt,name=mutation_result" json:"mutation_result,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *CommitResponse) Reset() { *m = CommitResponse{} } -func (m *CommitResponse) String() string { return proto.CompactTextString(m) } -func (*CommitResponse) ProtoMessage() {} - -func (m *CommitResponse) GetMutationResult() *MutationResult { - if m != nil { - return m.MutationResult - } - return nil -} - -// The request for AllocateIds. -type AllocateIdsRequest struct { - // A list of keys with incomplete key paths to allocate IDs for. - // No key may be reserved/read-only. - Key []*Key `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AllocateIdsRequest) Reset() { *m = AllocateIdsRequest{} } -func (m *AllocateIdsRequest) String() string { return proto.CompactTextString(m) } -func (*AllocateIdsRequest) ProtoMessage() {} - -func (m *AllocateIdsRequest) GetKey() []*Key { - if m != nil { - return m.Key - } - return nil -} - -// The response for AllocateIds. -type AllocateIdsResponse struct { - // The keys specified in the request (in the same order), each with - // its key path completed with a newly allocated ID. - Key []*Key `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *AllocateIdsResponse) Reset() { *m = AllocateIdsResponse{} } -func (m *AllocateIdsResponse) String() string { return proto.CompactTextString(m) } -func (*AllocateIdsResponse) ProtoMessage() {} - -func (m *AllocateIdsResponse) GetKey() []*Key { - if m != nil { - return m.Key - } - return nil -} - -func init() { - proto.RegisterEnum("datastore.EntityResult_ResultType", EntityResult_ResultType_name, EntityResult_ResultType_value) - proto.RegisterEnum("datastore.PropertyExpression_AggregationFunction", PropertyExpression_AggregationFunction_name, PropertyExpression_AggregationFunction_value) - proto.RegisterEnum("datastore.PropertyOrder_Direction", PropertyOrder_Direction_name, PropertyOrder_Direction_value) - proto.RegisterEnum("datastore.CompositeFilter_Operator", CompositeFilter_Operator_name, CompositeFilter_Operator_value) - proto.RegisterEnum("datastore.PropertyFilter_Operator", PropertyFilter_Operator_name, PropertyFilter_Operator_value) - proto.RegisterEnum("datastore.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value) - proto.RegisterEnum("datastore.ReadOptions_ReadConsistency", ReadOptions_ReadConsistency_name, ReadOptions_ReadConsistency_value) - proto.RegisterEnum("datastore.BeginTransactionRequest_IsolationLevel", BeginTransactionRequest_IsolationLevel_name, BeginTransactionRequest_IsolationLevel_value) - proto.RegisterEnum("datastore.CommitRequest_Mode", CommitRequest_Mode_name, CommitRequest_Mode_value) -} diff --git a/vendor/google.golang.org/cloud/internal/datastore/datastore_v1.proto b/vendor/google.golang.org/cloud/internal/datastore/datastore_v1.proto deleted file mode 100644 index d752beaa5..000000000 --- a/vendor/google.golang.org/cloud/internal/datastore/datastore_v1.proto +++ /dev/null @@ -1,606 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// The datastore v1 service proto definitions - -syntax = "proto2"; - -package datastore; -option java_package = "com.google.api.services.datastore"; - - -// An identifier for a particular subset of entities. -// -// Entities are partitioned into various subsets, each used by different -// datasets and different namespaces within a dataset and so forth. -// -// All input partition IDs are normalized before use. -// A partition ID is normalized as follows: -// If the partition ID is unset or is set to an empty partition ID, replace it -// with the context partition ID. -// Otherwise, if the partition ID has no dataset ID, assign it the context -// partition ID's dataset ID. -// Unless otherwise documented, the context partition ID has the dataset ID set -// to the context dataset ID and no other partition dimension set. -// -// A partition ID is empty if all of its fields are unset. -// -// Partition dimension: -// A dimension may be unset. -// A dimension's value must never be "". -// A dimension's value must match [A-Za-z\d\.\-_]{1,100} -// If the value of any dimension matches regex "__.*__", -// the partition is reserved/read-only. -// A reserved/read-only partition ID is forbidden in certain documented contexts. -// -// Dataset ID: -// A dataset id's value must never be "". -// A dataset id's value must match -// ([a-z\d\-]{1,100}~)?([a-z\d][a-z\d\-\.]{0,99}:)?([a-z\d][a-z\d\-]{0,99} -message PartitionId { - // The dataset ID. - optional string dataset_id = 3; - // The namespace. - optional string namespace = 4; -} - -// A unique identifier for an entity. -// If a key's partition id or any of its path kinds or names are -// reserved/read-only, the key is reserved/read-only. -// A reserved/read-only key is forbidden in certain documented contexts. -message Key { - // Entities are partitioned into subsets, currently identified by a dataset - // (usually implicitly specified by the project) and namespace ID. - // Queries are scoped to a single partition. - optional PartitionId partition_id = 1; - - // A (kind, ID/name) pair used to construct a key path. - // - // At most one of name or ID may be set. - // If either is set, the element is complete. - // If neither is set, the element is incomplete. - message PathElement { - // The kind of the entity. - // A kind matching regex "__.*__" is reserved/read-only. - // A kind must not contain more than 500 characters. - // Cannot be "". - required string kind = 1; - // The ID of the entity. - // Never equal to zero. Values less than zero are discouraged and will not - // be supported in the future. - optional int64 id = 2; - // The name of the entity. - // A name matching regex "__.*__" is reserved/read-only. - // A name must not be more than 500 characters. - // Cannot be "". - optional string name = 3; - } - - // The entity path. - // An entity path consists of one or more elements composed of a kind and a - // string or numerical identifier, which identify entities. The first - // element identifies a root entity, the second element identifies - // a child of the root entity, the third element a child of the - // second entity, and so forth. The entities identified by all prefixes of - // the path are called the element's ancestors. - // An entity path is always fully complete: ALL of the entity's ancestors - // are required to be in the path along with the entity identifier itself. - // The only exception is that in some documented cases, the identifier in the - // last path element (for the entity) itself may be omitted. A path can never - // be empty. - repeated PathElement path_element = 2; -} - -// A message that can hold any of the supported value types and associated -// metadata. -// -// At most one of the Value fields may be set. -// If none are set the value is "null". -// -message Value { - // A boolean value. - optional bool boolean_value = 1; - // An integer value. - optional int64 integer_value = 2; - // A double value. - optional double double_value = 3; - // A timestamp value. - optional int64 timestamp_microseconds_value = 4; - // A key value. - optional Key key_value = 5; - // A blob key value. - optional string blob_key_value = 16; - // A UTF-8 encoded string value. - optional string string_value = 17; - // A blob value. - optional bytes blob_value = 18; - // An entity value. - // May have no key. - // May have a key with an incomplete key path. - // May have a reserved/read-only key. - optional Entity entity_value = 6; - // A list value. - // Cannot contain another list value. - // Cannot also have a meaning and indexing set. - repeated Value list_value = 7; - - // The meaning field is reserved and should not be used. - optional int32 meaning = 14; - - // If the value should be indexed. - // - // The indexed property may be set for a - // null value. - // When indexed is true, stringValue - // is limited to 500 characters and the blob value is limited to 500 bytes. - // Exception: If meaning is set to 2, string_value is limited to 2038 - // characters regardless of indexed. - // When indexed is true, meaning 15 and 22 are not allowed, and meaning 16 - // will be ignored on input (and will never be set on output). - // Input values by default have indexed set to - // true; however, you can explicitly set indexed to - // true if you want. (An output value never has - // indexed explicitly set to true.) If a value is - // itself an entity, it cannot have indexed set to - // true. - // Exception: An entity value with meaning 9, 20 or 21 may be indexed. - optional bool indexed = 15 [default = true]; -} - -// An entity property. -message Property { - // The name of the property. - // A property name matching regex "__.*__" is reserved. - // A reserved property name is forbidden in certain documented contexts. - // The name must not contain more than 500 characters. - // Cannot be "". - required string name = 1; - - // The value(s) of the property. - // Each value can have only one value property populated. For example, - // you cannot have a values list of { value: { integerValue: 22, - // stringValue: "a" } }, but you can have { value: { listValue: - // [ { integerValue: 22 }, { stringValue: "a" } ] }. - required Value value = 4; -} - -// An entity. -// -// An entity is limited to 1 megabyte when stored. That roughly -// corresponds to a limit of 1 megabyte for the serialized form of this -// message. -message Entity { - // The entity's key. - // - // An entity must have a key, unless otherwise documented (for example, - // an entity in Value.entityValue may have no key). - // An entity's kind is its key's path's last element's kind, - // or null if it has no key. - optional Key key = 1; - // The entity's properties. - // Each property's name must be unique for its entity. - repeated Property property = 2; -} - -// The result of fetching an entity from the datastore. -message EntityResult { - // Specifies what data the 'entity' field contains. - // A ResultType is either implied (for example, in LookupResponse.found it - // is always FULL) or specified by context (for example, in message - // QueryResultBatch, field 'entity_result_type' specifies a ResultType - // for all the values in field 'entity_result'). - enum ResultType { - FULL = 1; // The entire entity. - PROJECTION = 2; // A projected subset of properties. - // The entity may have no key. - // A property value may have meaning 18. - KEY_ONLY = 3; // Only the key. - } - - // The resulting entity. - required Entity entity = 1; -} - -// A query. -message Query { - // The projection to return. If not set the entire entity is returned. - repeated PropertyExpression projection = 2; - - // The kinds to query (if empty, returns entities from all kinds). - repeated KindExpression kind = 3; - - // The filter to apply (optional). - optional Filter filter = 4; - - // The order to apply to the query results (if empty, order is unspecified). - repeated PropertyOrder order = 5; - - // The properties to group by (if empty, no grouping is applied to the - // result set). - repeated PropertyReference group_by = 6; - - // A starting point for the query results. Optional. Query cursors are - // returned in query result batches. - optional bytes /* serialized QueryCursor */ start_cursor = 7; - - // An ending point for the query results. Optional. Query cursors are - // returned in query result batches. - optional bytes /* serialized QueryCursor */ end_cursor = 8; - - // The number of results to skip. Applies before limit, but after all other - // constraints (optional, defaults to 0). - optional int32 offset = 10 [default=0]; - - // The maximum number of results to return. Applies after all other - // constraints. Optional. - optional int32 limit = 11; -} - -// A representation of a kind. -message KindExpression { - // The name of the kind. - required string name = 1; -} - -// A reference to a property relative to the kind expressions. -// exactly. -message PropertyReference { - // The name of the property. - required string name = 2; -} - -// A representation of a property in a projection. -message PropertyExpression { - enum AggregationFunction { - FIRST = 1; - } - // The property to project. - required PropertyReference property = 1; - // The aggregation function to apply to the property. Optional. - // Can only be used when grouping by at least one property. Must - // then be set on all properties in the projection that are not - // being grouped by. - optional AggregationFunction aggregation_function = 2; -} - -// The desired order for a specific property. -message PropertyOrder { - enum Direction { - ASCENDING = 1; - DESCENDING = 2; - } - // The property to order by. - required PropertyReference property = 1; - // The direction to order by. - optional Direction direction = 2 [default=ASCENDING]; -} - -// A holder for any type of filter. Exactly one field should be specified. -message Filter { - // A composite filter. - optional CompositeFilter composite_filter = 1; - // A filter on a property. - optional PropertyFilter property_filter = 2; -} - -// A filter that merges the multiple other filters using the given operation. -message CompositeFilter { - enum Operator { - AND = 1; - } - - // The operator for combining multiple filters. - required Operator operator = 1; - // The list of filters to combine. - // Must contain at least one filter. - repeated Filter filter = 2; -} - -// A filter on a specific property. -message PropertyFilter { - enum Operator { - LESS_THAN = 1; - LESS_THAN_OR_EQUAL = 2; - GREATER_THAN = 3; - GREATER_THAN_OR_EQUAL = 4; - EQUAL = 5; - - HAS_ANCESTOR = 11; - } - - // The property to filter by. - required PropertyReference property = 1; - // The operator to filter by. - required Operator operator = 2; - // The value to compare the property to. - required Value value = 3; -} - -// A GQL query. -message GqlQuery { - required string query_string = 1; - // When false, the query string must not contain a literal. - optional bool allow_literal = 2 [default = false]; - // A named argument must set field GqlQueryArg.name. - // No two named arguments may have the same name. - // For each non-reserved named binding site in the query string, - // there must be a named argument with that name, - // but not necessarily the inverse. - repeated GqlQueryArg name_arg = 3; - // Numbered binding site @1 references the first numbered argument, - // effectively using 1-based indexing, rather than the usual 0. - // A numbered argument must NOT set field GqlQueryArg.name. - // For each binding site numbered i in query_string, - // there must be an ith numbered argument. - // The inverse must also be true. - repeated GqlQueryArg number_arg = 4; -} - -// A binding argument for a GQL query. -// Exactly one of fields value and cursor must be set. -message GqlQueryArg { - // Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". - // Must not match regex "__.*__". - // Must not be "". - optional string name = 1; - optional Value value = 2; - optional bytes cursor = 3; -} - -// A batch of results produced by a query. -message QueryResultBatch { - // The possible values for the 'more_results' field. - enum MoreResultsType { - NOT_FINISHED = 1; // There are additional batches to fetch from this query. - MORE_RESULTS_AFTER_LIMIT = 2; // The query is finished, but there are more - // results after the limit. - NO_MORE_RESULTS = 3; // The query has been exhausted. - } - - // The result type for every entity in entityResults. - required EntityResult.ResultType entity_result_type = 1; - // The results for this batch. - repeated EntityResult entity_result = 2; - - // A cursor that points to the position after the last result in the batch. - // May be absent. - optional bytes /* serialized QueryCursor */ end_cursor = 4; - - // The state of the query after the current batch. - required MoreResultsType more_results = 5; - - // The number of results skipped because of Query.offset. - optional int32 skipped_results = 6; -} - -// A set of changes to apply. -// -// No entity in this message may have a reserved property name, -// not even a property in an entity in a value. -// No value in this message may have meaning 18, -// not even a value in an entity in another value. -// -// If entities with duplicate keys are present, an arbitrary choice will -// be made as to which is written. -message Mutation { - // Entities to upsert. - // Each upserted entity's key must have a complete path and - // must not be reserved/read-only. - repeated Entity upsert = 1; - // Entities to update. - // Each updated entity's key must have a complete path and - // must not be reserved/read-only. - repeated Entity update = 2; - // Entities to insert. - // Each inserted entity's key must have a complete path and - // must not be reserved/read-only. - repeated Entity insert = 3; - // Insert entities with a newly allocated ID. - // Each inserted entity's key must omit the final identifier in its path and - // must not be reserved/read-only. - repeated Entity insert_auto_id = 4; - // Keys of entities to delete. - // Each key must have a complete key path and must not be reserved/read-only. - repeated Key delete = 5; - // Ignore a user specified read-only period. Optional. - optional bool force = 6; -} - -// The result of applying a mutation. -message MutationResult { - // Number of index writes. - required int32 index_updates = 1; - // Keys for insertAutoId entities. One per entity from the - // request, in the same order. - repeated Key insert_auto_id_key = 2; -} - -// Options shared by read requests. -message ReadOptions { - enum ReadConsistency { - DEFAULT = 0; - STRONG = 1; - EVENTUAL = 2; - } - - // The read consistency to use. - // Cannot be set when transaction is set. - // Lookup and ancestor queries default to STRONG, global queries default to - // EVENTUAL and cannot be set to STRONG. - optional ReadConsistency read_consistency = 1 [default=DEFAULT]; - - // The transaction to use. Optional. - optional bytes /* serialized Transaction */ transaction = 2; -} - -// The request for Lookup. -message LookupRequest { - - // Options for this lookup request. Optional. - optional ReadOptions read_options = 1; - // Keys of entities to look up from the datastore. - repeated Key key = 3; -} - -// The response for Lookup. -message LookupResponse { - - // The order of results in these fields is undefined and has no relation to - // the order of the keys in the input. - - // Entities found as ResultType.FULL entities. - repeated EntityResult found = 1; - - // Entities not found as ResultType.KEY_ONLY entities. - repeated EntityResult missing = 2; - - // A list of keys that were not looked up due to resource constraints. - repeated Key deferred = 3; -} - - -// The request for RunQuery. -message RunQueryRequest { - - // The options for this query. - optional ReadOptions read_options = 1; - - // Entities are partitioned into subsets, identified by a dataset (usually - // implicitly specified by the project) and namespace ID. Queries are scoped - // to a single partition. - // This partition ID is normalized with the standard default context - // partition ID, but all other partition IDs in RunQueryRequest are - // normalized with this partition ID as the context partition ID. - optional PartitionId partition_id = 2; - - // The query to run. - // Either this field or field gql_query must be set, but not both. - optional Query query = 3; - // The GQL query to run. - // Either this field or field query must be set, but not both. - optional GqlQuery gql_query = 7; -} - -// The response for RunQuery. -message RunQueryResponse { - - // A batch of query results (always present). - optional QueryResultBatch batch = 1; - -} - -// The request for BeginTransaction. -message BeginTransactionRequest { - - enum IsolationLevel { - SNAPSHOT = 0; // Read from a consistent snapshot. Concurrent transactions - // conflict if their mutations conflict. For example: - // Read(A),Write(B) may not conflict with Read(B),Write(A), - // but Read(B),Write(B) does conflict with Read(B),Write(B). - SERIALIZABLE = 1; // Read from a consistent snapshot. Concurrent - // transactions conflict if they cannot be serialized. - // For example Read(A),Write(B) does conflict with - // Read(B),Write(A) but Read(A) may not conflict with - // Write(A). - } - - // The transaction isolation level. - optional IsolationLevel isolation_level = 1 [default=SNAPSHOT]; -} - -// The response for BeginTransaction. -message BeginTransactionResponse { - - // The transaction identifier (always present). - optional bytes /* serialized Transaction */ transaction = 1; -} - -// The request for Rollback. -message RollbackRequest { - - // The transaction identifier, returned by a call to - // beginTransaction. - required bytes /* serialized Transaction */ transaction = 1; -} - -// The response for Rollback. -message RollbackResponse { -// Empty -} - -// The request for Commit. -message CommitRequest { - - enum Mode { - TRANSACTIONAL = 1; - NON_TRANSACTIONAL = 2; - } - - // The transaction identifier, returned by a call to - // beginTransaction. Must be set when mode is TRANSACTIONAL. - optional bytes /* serialized Transaction */ transaction = 1; - // The mutation to perform. Optional. - optional Mutation mutation = 2; - // The type of commit to perform. Either TRANSACTIONAL or NON_TRANSACTIONAL. - optional Mode mode = 5 [default=TRANSACTIONAL]; -} - -// The response for Commit. -message CommitResponse { - - // The result of performing the mutation (if any). - optional MutationResult mutation_result = 1; -} - -// The request for AllocateIds. -message AllocateIdsRequest { - - // A list of keys with incomplete key paths to allocate IDs for. - // No key may be reserved/read-only. - repeated Key key = 1; -} - -// The response for AllocateIds. -message AllocateIdsResponse { - - // The keys specified in the request (in the same order), each with - // its key path completed with a newly allocated ID. - repeated Key key = 1; -} - -// Each rpc normalizes the partition IDs of the keys in its input entities, -// and always returns entities with keys with normalized partition IDs. -// (Note that applies to all entities, including entities in values.) -service DatastoreService { - // Look up some entities by key. - rpc Lookup(LookupRequest) returns (LookupResponse) { - }; - // Query for entities. - rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) { - }; - // Begin a new transaction. - rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse) { - }; - // Commit a transaction, optionally creating, deleting or modifying some - // entities. - rpc Commit(CommitRequest) returns (CommitResponse) { - }; - // Roll back a transaction. - rpc Rollback(RollbackRequest) returns (RollbackResponse) { - }; - // Allocate IDs for incomplete keys (useful for referencing an entity before - // it is inserted). - rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) { - }; -} diff --git a/vendor/google.golang.org/cloud/internal/opts/option.go b/vendor/google.golang.org/cloud/internal/opts/option.go deleted file mode 100644 index 844d31044..000000000 --- a/vendor/google.golang.org/cloud/internal/opts/option.go +++ /dev/null @@ -1,25 +0,0 @@ -// Package opts holds the DialOpts struct, configurable by -// cloud.ClientOptions to set up transports for cloud packages. -// -// This is a separate page to prevent cycles between the core -// cloud packages. -package opts - -import ( - "net/http" - - "golang.org/x/oauth2" - "google.golang.org/grpc" -) - -type DialOpt struct { - Endpoint string - Scopes []string - UserAgent string - - TokenSource oauth2.TokenSource - - HTTPClient *http.Client - GRPCClient *grpc.ClientConn - GRPCDialOpts []grpc.DialOption -} diff --git a/vendor/google.golang.org/cloud/internal/testutil/context.go b/vendor/google.golang.org/cloud/internal/testutil/context.go deleted file mode 100644 index c10142757..000000000 --- a/vendor/google.golang.org/cloud/internal/testutil/context.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package testutil contains helper functions for writing tests. -package testutil - -import ( - "io/ioutil" - "log" - "os" - - "golang.org/x/net/context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/google" - "google.golang.org/cloud" -) - -const ( - envProjID = "GCLOUD_TESTS_GOLANG_PROJECT_ID" - envPrivateKey = "GCLOUD_TESTS_GOLANG_KEY" -) - -// ProjID returns the project ID to use in integration tests, or the empty -// string if none is configured. -func ProjID() string { - projID := os.Getenv(envProjID) - if projID == "" { - return "" - } - return projID -} - -// TokenSource returns the OAuth2 token source to use in integration tests, -// or nil if none is configured. TokenSource will log.Fatal if the token -// source is specified but missing or invalid. -func TokenSource(ctx context.Context, scopes ...string) oauth2.TokenSource { - key := os.Getenv(envPrivateKey) - if key == "" { - return nil - } - jsonKey, err := ioutil.ReadFile(key) - if err != nil { - log.Fatalf("Cannot read the JSON key file, err: %v", err) - } - conf, err := google.JWTConfigFromJSON(jsonKey, scopes...) - if err != nil { - log.Fatalf("google.JWTConfigFromJSON: %v", err) - } - return conf.TokenSource(ctx) -} - -// TODO(djd): Delete this function when it's no longer used. -func Context(scopes ...string) context.Context { - ctx := oauth2.NoContext - ts := TokenSource(ctx, scopes...) - if ts == nil { - return nil - } - return cloud.NewContext(ProjID(), oauth2.NewClient(ctx, ts)) -} diff --git a/vendor/google.golang.org/cloud/internal/transport/cancelreq.go b/vendor/google.golang.org/cloud/internal/transport/cancelreq.go deleted file mode 100644 index ddae71cce..000000000 --- a/vendor/google.golang.org/cloud/internal/transport/cancelreq.go +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build go1.5 - -package transport - -import "net/http" - -// makeReqCancel returns a closure that cancels the given http.Request -// when called. -func makeReqCancel(req *http.Request) func(http.RoundTripper) { - c := make(chan struct{}) - req.Cancel = c - return func(http.RoundTripper) { - close(c) - } -} diff --git a/vendor/google.golang.org/cloud/internal/transport/cancelreq_legacy.go b/vendor/google.golang.org/cloud/internal/transport/cancelreq_legacy.go deleted file mode 100644 index c11a4ddeb..000000000 --- a/vendor/google.golang.org/cloud/internal/transport/cancelreq_legacy.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build !go1.5 - -package transport - -import "net/http" - -// makeReqCancel returns a closure that cancels the given http.Request -// when called. -func makeReqCancel(req *http.Request) func(http.RoundTripper) { - // Go 1.4 and prior do not have a reliable way of cancelling a request. - // Transport.CancelRequest will only work if the request is already in-flight. - return func(r http.RoundTripper) { - if t, ok := r.(*http.Transport); ok { - t.CancelRequest(req) - } - } -} diff --git a/vendor/google.golang.org/cloud/internal/transport/dial.go b/vendor/google.golang.org/cloud/internal/transport/dial.go deleted file mode 100644 index ae2baf9fd..000000000 --- a/vendor/google.golang.org/cloud/internal/transport/dial.go +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package transport - -import ( - "errors" - "fmt" - "net/http" - - "golang.org/x/net/context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/google" - "google.golang.org/cloud" - "google.golang.org/cloud/internal/opts" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials" - "google.golang.org/grpc/credentials/oauth" -) - -// ErrHTTP is returned when on a non-200 HTTP response. -type ErrHTTP struct { - StatusCode int - Body []byte - err error -} - -func (e *ErrHTTP) Error() string { - if e.err == nil { - return fmt.Sprintf("error during call, http status code: %v %s", e.StatusCode, e.Body) - } - return e.err.Error() -} - -// NewHTTPClient returns an HTTP client for use communicating with a Google cloud -// service, configured with the given ClientOptions. It also returns the endpoint -// for the service as specified in the options. -func NewHTTPClient(ctx context.Context, opt ...cloud.ClientOption) (*http.Client, string, error) { - var o opts.DialOpt - for _, opt := range opt { - opt.Resolve(&o) - } - if o.GRPCClient != nil { - return nil, "", errors.New("unsupported GRPC base transport specified") - } - // TODO(djd): Wrap all http.Clients with appropriate internal version to add - // UserAgent header and prepend correct endpoint. - if o.HTTPClient != nil { - return o.HTTPClient, o.Endpoint, nil - } - if o.TokenSource == nil { - var err error - o.TokenSource, err = google.DefaultTokenSource(ctx, o.Scopes...) - if err != nil { - return nil, "", fmt.Errorf("google.DefaultTokenSource: %v", err) - } - } - return oauth2.NewClient(ctx, o.TokenSource), o.Endpoint, nil -} - -// NewProtoClient returns a ProtoClient for communicating with a Google cloud service, -// configured with the given ClientOptions. -func NewProtoClient(ctx context.Context, opt ...cloud.ClientOption) (*ProtoClient, error) { - var o opts.DialOpt - for _, opt := range opt { - opt.Resolve(&o) - } - if o.GRPCClient != nil { - return nil, errors.New("unsupported GRPC base transport specified") - } - var client *http.Client - switch { - case o.HTTPClient != nil: - if o.TokenSource != nil { - return nil, errors.New("at most one of WithTokenSource or WithBaseHTTP may be provided") - } - client = o.HTTPClient - case o.TokenSource != nil: - client = oauth2.NewClient(ctx, o.TokenSource) - default: - var err error - client, err = google.DefaultClient(ctx, o.Scopes...) - if err != nil { - return nil, err - } - } - - return &ProtoClient{ - client: client, - endpoint: o.Endpoint, - userAgent: o.UserAgent, - }, nil -} - -// DialGRPC returns a GRPC connection for use communicating with a Google cloud -// service, configured with the given ClientOptions. -func DialGRPC(ctx context.Context, opt ...cloud.ClientOption) (*grpc.ClientConn, error) { - var o opts.DialOpt - for _, opt := range opt { - opt.Resolve(&o) - } - if o.HTTPClient != nil { - return nil, errors.New("unsupported HTTP base transport specified") - } - if o.GRPCClient != nil { - return o.GRPCClient, nil - } - if o.TokenSource == nil { - var err error - o.TokenSource, err = google.DefaultTokenSource(ctx, o.Scopes...) - if err != nil { - return nil, fmt.Errorf("google.DefaultTokenSource: %v", err) - } - } - grpcOpts := []grpc.DialOption{ - grpc.WithPerRPCCredentials(oauth.TokenSource{o.TokenSource}), - grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), - } - grpcOpts = append(grpcOpts, o.GRPCDialOpts...) - if o.UserAgent != "" { - grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) - } - return grpc.Dial(o.Endpoint, grpcOpts...) -} diff --git a/vendor/google.golang.org/cloud/internal/transport/proto.go b/vendor/google.golang.org/cloud/internal/transport/proto.go deleted file mode 100644 index 05b11cde1..000000000 --- a/vendor/google.golang.org/cloud/internal/transport/proto.go +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package transport - -import ( - "bytes" - "io/ioutil" - "net/http" - - "github.com/golang/protobuf/proto" - "golang.org/x/net/context" -) - -type ProtoClient struct { - client *http.Client - endpoint string - userAgent string -} - -func (c *ProtoClient) Call(ctx context.Context, method string, req, resp proto.Message) error { - payload, err := proto.Marshal(req) - if err != nil { - return err - } - - httpReq, err := http.NewRequest("POST", c.endpoint+method, bytes.NewReader(payload)) - if err != nil { - return err - } - httpReq.Header.Set("Content-Type", "application/x-protobuf") - if ua := c.userAgent; ua != "" { - httpReq.Header.Set("User-Agent", ua) - } - - errc := make(chan error, 1) - cancel := makeReqCancel(httpReq) - - go func() { - r, err := c.client.Do(httpReq) - if err != nil { - errc <- err - return - } - defer r.Body.Close() - - body, err := ioutil.ReadAll(r.Body) - if r.StatusCode != http.StatusOK { - err = &ErrHTTP{ - StatusCode: r.StatusCode, - Body: body, - err: err, - } - } - if err != nil { - errc <- err - return - } - errc <- proto.Unmarshal(body, resp) - }() - - select { - case <-ctx.Done(): - cancel(c.client.Transport) // Cancel the HTTP request. - return ctx.Err() - case err := <-errc: - return err - } -} diff --git a/vendor/vendor.json b/vendor/vendor.json index 228689304..bc1be4191 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -56,12 +56,6 @@ "path": "github.com/Azure/go-autorest/autorest/date", "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" }, - { - "checksumSHA1": "CGwXw0PsDWxDMtVS8h+PBt+sXGw=", - "comment": "v7.0.7", - "path": "github.com/Azure/go-autorest/autorest/mocks", - "revision": "6f40a8acfe03270d792cb8155e2942c09d7cff95" - }, { "checksumSHA1": "Ev8qCsbFjDlMlX0N2tYAhYQFpUc=", "comment": "v7.0.7", @@ -183,24 +177,6 @@ "path": "github.com/aws/aws-sdk-go/aws/signer/v4", "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" }, - { - "checksumSHA1": "hHIsoLm00OXnFQlCrIT9/7CJPAI=", - "comment": "v1.4.6", - "path": "github.com/aws/aws-sdk-go/awstesting", - "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "checksumSHA1": "rVOBmIlMWNf9odB4+3XMaxrGYZI=", - "comment": "v1.4.6", - "path": "github.com/aws/aws-sdk-go/awstesting/mock", - "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, - { - "checksumSHA1": "MIp5H1niMhCZFAwYsjJx9NxmHIc=", - "comment": "v1.4.6", - "path": "github.com/aws/aws-sdk-go/awstesting/unit", - "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, { "checksumSHA1": "Bm6UrYb2QCzpYseLwwgw6aetgRc=", "comment": "v1.4.6", @@ -249,12 +225,6 @@ "path": "github.com/aws/aws-sdk-go/private/protocol/rest", "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" }, - { - "checksumSHA1": "oUOTWZIpPJiGjc9p/hntdBDvS10=", - "comment": "v1.4.6", - "path": "github.com/aws/aws-sdk-go/private/protocol/restjson", - "revision": "6ac30507cca29249f4d49af45a8efc98b84088ee" - }, { "checksumSHA1": "Y6Db2GGfGD9LPpcJIPj8vXE8BbQ=", "comment": "v1.4.6", @@ -324,53 +294,24 @@ "path": "github.com/biogo/hts/bgzf", "revision": "50da7d4131a3b5c9d063932461cab4d1fafb20b0" }, - { - "checksumSHA1": "EdY73MXAw3MyPMsItlsl7hOOE18=", - "path": "github.com/biogo/hts/bgzf/cache", - "revision": "50da7d4131a3b5c9d063932461cab4d1fafb20b0" - }, { "checksumSHA1": "Lf3uUXTkKK5DJ37BxQvxO1Fq+K8=", "comment": "v1.0.0-3-g6d21280", "path": "github.com/davecgh/go-spew/spew", "revision": "6d212800a42e8ab5c146b8ace3490ee17e5225f9" }, - { - "checksumSHA1": "a2yC46a1qsJomgY6rb+FkTFiqmE=", - "comment": "v1.0.0-3-g6d21280", - "path": "github.com/davecgh/go-spew/spew/testdata", - "revision": "6d212800a42e8ab5c146b8ace3490ee17e5225f9" - }, { "checksumSHA1": "D37uI+U+FYvTJIdG2TTozXe7i7U=", "comment": "v3.0.0", "path": "github.com/dgrijalva/jwt-go", "revision": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" }, - { - "checksumSHA1": "9Xy4JjEsr+Mu4v4eE9KA0TItfQU=", - "comment": "v3.0.0", - "path": "github.com/dgrijalva/jwt-go/request", - "revision": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" - }, - { - "checksumSHA1": "3MVpdOJeYMtVHozeas+cYniyLvA=", - "comment": "v3.0.0", - "path": "github.com/dgrijalva/jwt-go/test", - "revision": "d2709f9f1f31ebcda9651b03077758c1f3a0018c" - }, { "checksumSHA1": "tPavbOLszj9IKgu9ba2TIuRlWLc=", "comment": "v0.9.0-24-g6ca5b77", "path": "github.com/digitalocean/godo", "revision": "6ca5b770f203b82a0fca68d0941736458efa8a4f" }, - { - "checksumSHA1": "55vQcXylnH/cLLgheG2bMqsmVQo=", - "comment": "v0.9.0-24-g6ca5b77", - "path": "github.com/digitalocean/godo/util", - "revision": "6ca5b770f203b82a0fca68d0941736458efa8a4f" - }, { "checksumSHA1": "GCskdwYAPW2S34918Z5CgNMJ2Wc=", "path": "github.com/dylanmei/iso8601", @@ -392,16 +333,6 @@ "path": "github.com/golang/protobuf/proto", "revision": "b982704f8bb716bb608144408cff30e15fbde841" }, - { - "checksumSHA1": "/r044HcS9hElG0zUJxkOF3wfdNI=", - "path": "github.com/golang/protobuf/proto/proto3_proto", - "revision": "b982704f8bb716bb608144408cff30e15fbde841" - }, - { - "checksumSHA1": "JWIz0NHscZvzJIsU/X0uQmAUTFo=", - "path": "github.com/golang/protobuf/proto/testdata", - "revision": "b982704f8bb716bb608144408cff30e15fbde841" - }, { "checksumSHA1": "Evpv9y6iPdy+8FeAVDmKrqV1sqo=", "path": "github.com/google/go-querystring/query", @@ -465,12 +396,6 @@ "path": "github.com/jmespath/go-jmespath", "revision": "c01cf91b011868172fdcd9f41838e80c9d716264" }, - { - "checksumSHA1": "uIIksmnhf7tRQ+nf1o1oIJhcNhw=", - "comment": "0.2.2-2-gc01cf91", - "path": "github.com/jmespath/go-jmespath/fuzz", - "revision": "c01cf91b011868172fdcd9f41838e80c9d716264" - }, { "checksumSHA1": "6nmAJBw2phU9MUmkUnqFvbO5urg=", "path": "github.com/kardianos/osext", @@ -486,11 +411,6 @@ "path": "github.com/klauspost/cpuid", "revision": "349c675778172472f5e8f3a3e0fe187e302e5a10" }, - { - "checksumSHA1": "v+xan6wN3UkZx0gn1lx0cYizzHo=", - "path": "github.com/klauspost/cpuid/private", - "revision": "349c675778172472f5e8f3a3e0fe187e302e5a10" - }, { "checksumSHA1": "FvkAYJ7xe6/MaU6F5TWJP7/Qfw0=", "path": "github.com/klauspost/crc32", @@ -601,11 +521,6 @@ "path": "github.com/pierrec/lz4", "revision": "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470" }, - { - "checksumSHA1": "E2gPN6AcQWij41gvVHHWP/510vw=", - "path": "github.com/pierrec/lz4/fuzz", - "revision": "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470" - }, { "checksumSHA1": "0VCCUEQ1c6RMbxpu2zTa/ee1+i8=", "path": "github.com/pierrec/lz4/lz4c", @@ -663,198 +578,12 @@ "path": "github.com/rackspace/gophercloud", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "/XMCr7DP+Ft0XRjpwrDGIMLxyXc=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "aIQz8gXlt3j99NB0pu2k1RtESK0=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/compute/v2", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "58UNhRgy7N28blzbSKuZI3aMzdk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/db/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "R/DwMSH9r2c+TSYFAvAaodagyaM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/identity/v2", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "OUxMtIghCkFgA+1utA6jPsngZq4=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/identity/v3", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "lzNsVeWMFxVHVvSR0SBzi6ru16Y=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "47YHl7IRHxbBCUpxQgk+cK00Cgw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "xOJTj1lgQdUoROrziK7pymhLrmk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/fwaas", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "WZfm/gddJp1AeCxL/uW7iS2VVjk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/networking/v2/extensions/lbaas", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "aCy46ZLnaEYagijwKFVYRr0XNMM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/objectstorage/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "OODadq2goLTOvnfkGmpArbFqKW4=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/openstack/orchestration/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "AelOk+lCes5xjNZ+cSjzbIHXzQI=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "ZjC8iSZRys/ovTOLjzp2O01FTuc=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/blockstorage/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "M52ID0aUKYsWAe4BTz4AomcAXFA=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/cdn/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "O8uKBmd9NGqJ2VfOtpGOqnn8bDQ=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/compute/v2", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "1DVXMdhNn3ti6hY1oDIjPnozY0Q=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/db/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "o+AoWmhT5+MjovShX1rRq40tLjg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/identity/v2", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "0nOWeGE7biRXAZ0+eX1xSEFWAzU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/lb/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "Rt903GLBYhWAiQyl28ssNBNZmik=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/networking/v2", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "+4PIwexNdP3BevdkMCZ0WqL18Hg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/objectstorage/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "AUF37+PHWXUlGHci+8x8A3b+sbk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/orchestration/v1", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "JdO3W1y/e9VqyRQgjCg25n0ZDeE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/rackspace/rackconnect/v3", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "AkNgKxDsXqGZCMMBnL82zqbybYw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/acceptance/tools", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "Sr9NH+ww7ZTDfFJF8OBqMSeQfiE=", "comment": "v1.0.0-810-g53d1dc4", "path": "github.com/rackspace/gophercloud/openstack", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "yPiPNiROHpsWgVRpNoM5TImUij8=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "gmzAuay4zJhVck2kZaPgKGZ8rLU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "a8Bq8DpquWNmB8zP6y7iqM/ogyk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes/testing", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "gMvk7KSWIbwQYcrDv1mfcY9KYbo=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumetypes", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "rpZkXaKPDlPYaRVrFHRSAI0siig=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/base", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "krfc8S26oSEYaUoHIt1fjcIHo6g=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/flavors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "d7JD7cct5182+MFHO4ijMESnr7c=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/serviceassets", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "1A+l65VXAnJY2xbEkA/bzU9sY8U=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/cdn/v1/services", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "/K+RHJM5BFeg+3DYsR3WKPh7oVo=", "comment": "v1.0.0-810-g53d1dc4", @@ -867,18 +596,6 @@ "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "lxRP3M3GUh35Bb+f8kP/fByBWBo=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "WNzF5+TLj1nXMLPIqtDGhLKlxtg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "kCkaqHFDBuZem57TEmfCpCNeUWs=", "comment": "v1.0.0-810-g53d1dc4", @@ -897,18 +614,6 @@ "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "QbXm7h4qu7+A/D6y40XHN4/QUOg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "/CUwRPw3GTR4kDDyhlevEJOz8VM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach/testing", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "C2K3kYQgwa65cVRvWrNZACQFX7Q=", "comment": "v1.0.0-810-g53d1dc4", @@ -927,48 +632,6 @@ "path": "github.com/rackspace/gophercloud/openstack/compute/v2/servers", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "wOH6dbHB1qRyFM2BBrgpjQZbabQ=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/db/v1/configurations", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "8SaBUvX7E2E7ci5Kc2HGLbHJbpA=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/db/v1/databases", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "DU6GxSFEYo6fSRh3ELfyaD7RFYc=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/db/v1/datastores", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "b2JxWHJxyLMoycA1xhfwN0QhBCE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/db/v1/flavors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "w+QbOT6qpD2tisDZ9qWt680S580=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/db/v1/instances", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "jHpSn0ALaBhIpGbWz9f0uXWpmxA=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/db/v1/users", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "tLwYOQmnpRXsafqMZ+o2GWs+Fho=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/identity/v2/extensions/admin/roles", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "kBNUmTmGZgMc7RA8b/MfF8mNLrw=", "comment": "v1.0.0-810-g53d1dc4", @@ -981,126 +644,12 @@ "path": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "zOtsKeSGijKhwekEr+wCBv4oTAs=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/identity/v2/users", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "MKnoVPcRvTrooZtNQwOnJy0bglc=", "comment": "v1.0.0-810-g53d1dc4", "path": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "ZTTJ7HoKP7NP00kE9NQrEJDgh0U=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/apiversions", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "EMdUpMYV9vQAEtBkpUdSqYaYBVc=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/common", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "rcaeNfXfwSgxp2/cKf70yzd8Ywk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "bzpOT4+WgB5jWOoxMFSZMz3f/Yc=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "TTLtPsPv9cXqE3MNDw/1AH8eKJU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "xUTTsfCAWNhd0LA9Jj14hCEhq8Y=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "geb6kqfYLhI4jxaUjyjtrZxwOfw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "LuEBbhG7jYZ6P7yUASISjs6tboE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/networks", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "3dwh+/nX7iknJ0k8B4MnxvQWAYw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/ports", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "Pym7WV1AmFt2ZqlN376xzfxKNcw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/networking/v2/subnets", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "SxVM7MBDDzdUqFjdbso0O+qo2UE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "7rX2pzyS5Z/Wt26TK7H8d+fRRUw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "G/IJJKX+PeFsu85aN9SOtSB0vvM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/objects", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "2e2bNTmc6utyFOv07DJoUB2dfPk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/buildinfo", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "HpKGIKBJZw0JrWJRWBkyAcIJ0RM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackevents", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "hb7URLmewHR+PeR61C+EY9zVNIw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackresources", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "BlhQ6dxMTgwULLm/vinSRJezmrY=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacks", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "EqqAg+fKmGYqEP/69xhOwKi1kPU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/openstack/orchestration/v1/stacktemplates", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "e4ussrqujJHizWbdBaLjIpWYmgY=", "comment": "v1.0.0-810-g53d1dc4", @@ -1113,354 +662,6 @@ "path": "github.com/rackspace/gophercloud/pagination", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "2SDCBhUEYKrT7+r4hI9RVlGrG34=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "8kg0wInY1az0iTqd+GCKpG3XUQg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "eTiubus/7HOUNPsnNxUI/ogmQwE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "rJDJKllu6bvoCDQVAnJrwJCJjNA=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "TA6Xq99zptlLbtfF7j0WDXyiz6o=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/base", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "ut2eygda1LSmdU5lLLd21yJTrH4=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "rvtVfU3deKKK5RlTG/PFoB5xUOQ=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "LjLNpMVRRgF/339+2Ku32tG1Yzo=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/cdn/v1/services", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "tKW3B2DFGfTuIqdWcfVVX0IDs+w=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/bootfromvolume", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "jMNY0dIsHQHrjVS7gs0WKw1BSHs=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/flavors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "VwcD5e290LAf9+roItDAkloAgig=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/images", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "KEPu1LkH6vw9TczhdvoPOajxxEk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "jkDexhtpQpiwb4IjkmqMAeZEJPE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/networks", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "9nr0+n6ymhLZ5Bb9KY3LC9osBQg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "dCl9rNv2eOAbjbifvTf0Yf9561o=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/virtualinterfaces", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "elbzMvA7NPJ0bLmxuIwfXyiCPYw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "D9zpEC0499F9lKU9ozDWTC9S3Uk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/backups", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "T/C0wTMDmS1gY5Ffy/qkJ9uqizI=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/configurations", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "9ivn7cUu5pyjjBSyhqYTjMesTf8=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/databases", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "uIkmX1DSeZlhXd2ygAF9DVI/HmI=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/datastores", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "uhfZd4KjFBvEaz+oXQWk1ywj3WY=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/flavors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "Ty6HqqsQGppG2rt+0JoZrAYlwJE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/instances", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "RCoJQTsNMWBHkaoaEZrafJ67/rk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/db/v1/users", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "8Aab/hG++5PSoWK3t36duCLxsUw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/extensions", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "cVYPinS97G1jScdZHG+e1MghC9Y=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/roles", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "lV2JmfGWr8CrFz120LrtCjoyMJw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/tenants", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "nZvGpVUe3zTfT5nhKkJloOud2/I=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "1Y6wnxr3ymmpp1rREFOkiCHZBuw=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/identity/v2/users", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "s0kbTxO+b8Q/W4IGKLDLvE4IFYE=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/acl", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "fZ8htlN77fTt9UxbXT9O6paI7jQ=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/lbs", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "ZSN2NVQ7t/55VC41iJAWoGNwM4o=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/monitors", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "TisEzsu4oElhdD4/hKn2qzeKxYM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/nodes", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "wt7zi3p8zMz5Y4yB9A+j3zbH+tM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/sessions", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "nX0UusQx/oRErgUnchIV9H3LytI=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/ssl", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "8xQ+LwDA+c3GWAxO7aD0W5kyxpU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/throttle", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "+WQk5OnhCpuCvQ1y2NmQEJKshnQ=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/lb/v1/vips", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "aCvShlZPancx+xPIvVipGES4hhM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/common", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "Fibuly4yKJgwAg01gKWe3iqLcwk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/networks", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "OL842meIDskaTAvQf1GoLZjI/RY=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/ports", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "KmGSM0LeCPPk0ynwyZFLOcgbxSs=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/security", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "Jj8zDLQMh64YuZAXHseU81MA3tM=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/security/groups", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "onHzb+VbVftO/SGCuvdYzuaC0kI=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/security/rules", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "1WyhTU1Frtjl3uaWJABPf875X9k=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/networking/v2/subnets", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "l94c5hWmfDRlGIS4wQsz7GDG7VA=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "dJtFGCGd2dyIl/lTtrh3ilQteg4=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "VmExoI3R/LlqI+f2eLFFFwWeDuY=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "y1kPsDzu5Ev9a6yw+qXnB38ZAQU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "LyGfsSxxhU7t32sfrajnfoDSV84=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "vXxfMIKgYnp/v17CYEcnA/E/va8=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "HqiamT2E7RmWgxFRl/S9MSmuqT0=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "1Qdoi8tHKgjGSbGPqolHk+H4LCA=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "iX55pidwAVQ5HU8gVxWjAmIlHig=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "gSNS23FgzjaAWnekpTL5UvipoXk=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "4nZbwlSQlpsAzfUwJxkfYysK6vc=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "6xzXDlfS2v87X4c/QVXVBUA3XG0=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "kv3b8RspZkCFmPOmFRm7oc33Zwg=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3/cloudnetworks", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "efhqjDLwS3wORIuTFJwvcEa+7/U=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, - { - "checksumSHA1": "2sTaEaJaOoRzliCw53Gv3MsBeEI=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/rackspace/rackconnect/v3/publicips", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "U2yzK8GFNeHZqcoeotcHmK57lAI=", "comment": "v1.0.0-810-g53d1dc4", @@ -1473,12 +674,6 @@ "path": "github.com/rackspace/gophercloud/testhelper/client", "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" }, - { - "checksumSHA1": "eNHRNM4zfTarLJu+3Iq6kE26bmU=", - "comment": "v1.0.0-810-g53d1dc4", - "path": "github.com/rackspace/gophercloud/testhelper/fixture", - "revision": "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2" - }, { "checksumSHA1": "TvF3ym5sZVNqGlUOS9HgOIl/sZM=", "path": "github.com/satori/go.uuid", @@ -1525,21 +720,6 @@ "path": "golang.org/x/crypto/ssh/agent", "revision": "1f22c0103821b9390939b6776727195525381532" }, - { - "checksumSHA1": "bA2gANkJBx2Br/p5GKYdhyGo3Pg=", - "path": "golang.org/x/crypto/ssh/terminal", - "revision": "1f22c0103821b9390939b6776727195525381532" - }, - { - "checksumSHA1": "jZ8SuQTBHqRpsIl41LiNGlelbK8=", - "path": "golang.org/x/crypto/ssh/test", - "revision": "1f22c0103821b9390939b6776727195525381532" - }, - { - "checksumSHA1": "XAFQvSrHUfSm4MHOS+fwSE0cYvQ=", - "path": "golang.org/x/crypto/ssh/testdata", - "revision": "1f22c0103821b9390939b6776727195525381532" - }, { "checksumSHA1": "5ARrN3Zq+E9zazFb/N+b08Serys=", "path": "golang.org/x/net/context", @@ -1560,36 +740,11 @@ "path": "golang.org/x/net/html/atom", "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" }, - { - "checksumSHA1": "barUU39reQ7LdgYLA323hQ/UGy4=", - "path": "golang.org/x/net/html/charset", - "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1" - }, { "checksumSHA1": "mktBVED98G2vv+OKcSgtnFVZC1Y=", "path": "golang.org/x/oauth2", "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" }, - { - "checksumSHA1": "fPBsIYI/Lmc9tftrQ/9h4LXUmLk=", - "path": "golang.org/x/oauth2/bitbucket", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "Zx57017uLJOZeYO55zf+61cQsQ8=", - "path": "golang.org/x/oauth2/clientcredentials", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "9fgYIPOCIRhAuQBg65mFoZ2vpMY=", - "path": "golang.org/x/oauth2/facebook", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "Yokz/Wl4zeuOZG2ev8LuaLtMotE=", - "path": "golang.org/x/oauth2/github", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, { "checksumSHA1": "HSRFs3mt2eHJBaK+6HEEv66xKyA=", "path": "golang.org/x/oauth2/google", @@ -1610,31 +765,6 @@ "path": "golang.org/x/oauth2/jwt", "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" }, - { - "checksumSHA1": "uRGBiwwtNKYTFaTxD33I6Pd7fLo=", - "path": "golang.org/x/oauth2/linkedin", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "aoeqnmNuZdqxHG0/8bhKNLfRaY4=", - "path": "golang.org/x/oauth2/microsoft", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "iSjMTIsWZDjmczkHAX8DqTDFvjU=", - "path": "golang.org/x/oauth2/odnoklassniki", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "bHmlFApFbX9V2IQRvfij76nEl08=", - "path": "golang.org/x/oauth2/paypal", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, - { - "checksumSHA1": "W63brRFv51C/l3bLdM65wSSIaF4=", - "path": "golang.org/x/oauth2/vk", - "revision": "8a57ed94ffd43444c0879fe75701732a38afc985" - }, { "checksumSHA1": "/SO2lR1gexhKSppnoHk8iflTre4=", "path": "golang.org/x/sys/unix", @@ -1660,41 +790,11 @@ "path": "google.golang.org/api/googleapi/internal/uritemplates", "revision": "ff0a1ff302946b997eb1832381419d1f95143483" }, - { - "checksumSHA1": "Mr2fXhMRzlQCgANFm91s536pG7E=", - "path": "google.golang.org/api/googleapi/transport", - "revision": "ff0a1ff302946b997eb1832381419d1f95143483" - }, { "checksumSHA1": "SSYsrizGeHQRKn/S7j5CQu86egU=", "path": "google.golang.org/appengine", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "lUMNbQrJgtM86CkF1kNvsFrtnaw=", - "path": "google.golang.org/appengine/aetest", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "GvwLb297MFrdos7BdHVBCWhnSDg=", - "path": "google.golang.org/appengine/blobstore", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "KROc+ihOImO6cGnRm6sIU4DKjQg=", - "path": "google.golang.org/appengine/capability", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "SKwJgVM9l3vQLIO+GVh9OeAvwo0=", - "path": "google.golang.org/appengine/channel", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "o5/eadbmyjeySOiFt1fFGsQdXt0=", - "path": "google.golang.org/appengine/cloudsql", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "AlZOauBtUhymDxEOxlfKN9111aI=", "path": "google.golang.org/appengine/cmd/aebundler", @@ -1710,11 +810,6 @@ "path": "google.golang.org/appengine/datastore", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "IEAqKrUxJ4TYp3MHD1FAqOAWQVE=", - "path": "google.golang.org/appengine/delay", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "ClI914FfJcioPLxuJoefqxdw2Ho=", "path": "google.golang.org/appengine/demos/guestbook", @@ -1725,26 +820,11 @@ "path": "google.golang.org/appengine/demos/helloworld", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "pY5wDtqfVGbLFAeJyKMJ7Yllk4o=", - "path": "google.golang.org/appengine/file", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "RW7gR9A3aN50D9cqflJ6MRC1EOk=", - "path": "google.golang.org/appengine/image", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "kfslaLecTWjN5Nrm/RqxgwXvgeY=", "path": "google.golang.org/appengine/internal", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "rccBu+HNVpDlx0z1EtcOWUM5OME=", - "path": "google.golang.org/appengine/internal/aetesting", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "x6Thdfyasqd68dWZWqzWWeIfAfI=", "path": "google.golang.org/appengine/internal/app_identity", @@ -1755,46 +835,16 @@ "path": "google.golang.org/appengine/internal/base", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "76PWbSiT75S2BBUzPK52HKcW9sg=", - "path": "google.golang.org/appengine/internal/blobstore", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "CLgrNgL36hv5xLVE9IEQy4AjWYw=", - "path": "google.golang.org/appengine/internal/capability", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "Wjvv55C/+cuHvvQ5NW8R7/giBOU=", - "path": "google.golang.org/appengine/internal/channel", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "5QsV5oLGSfKZqTCVXP6NRz5T4Tw=", "path": "google.golang.org/appengine/internal/datastore", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "KFJ3Bz/2uK8nFDluyYHKl3Xykow=", - "path": "google.golang.org/appengine/internal/image", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "Gep2T9zmVYV8qZfK2gu3zrmG6QE=", "path": "google.golang.org/appengine/internal/log", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "FumUU79/bWRSdlhS2Y48XyOGCS4=", - "path": "google.golang.org/appengine/internal/mail", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "QN2EMadl/pJXIja5jC3cvnN1l3U=", - "path": "google.golang.org/appengine/internal/memcache", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "eLZVX1EHLclFtQnjDIszsdyWRHo=", "path": "google.golang.org/appengine/internal/modules", @@ -1805,101 +855,21 @@ "path": "google.golang.org/appengine/internal/remote_api", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "B4fxq+DLndPRJw+wkxj3Zrn6c70=", - "path": "google.golang.org/appengine/internal/search", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "VA88sOHmVuIslrbHaWx9yEvjGjM=", - "path": "google.golang.org/appengine/internal/socket", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "UErkg+8RvQZASGsAq6xdKjnbKnc=", - "path": "google.golang.org/appengine/internal/system", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "ZlVWUCoz/8nF50q2OuJj+ilJIII=", - "path": "google.golang.org/appengine/internal/taskqueue", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "QtAbHtHmDzcf6vOV9eqlCpKgjiw=", - "path": "google.golang.org/appengine/internal/urlfetch", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "g85w5xA09gP549b5BnCSYK23kAU=", "path": "google.golang.org/appengine/internal/user", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "npD+xhpAOLfjBGjplMjdFOMIAr8=", - "path": "google.golang.org/appengine/internal/xmpp", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "piNG4dTjR7jcimOvvnZhXXPMGzQ=", "path": "google.golang.org/appengine/log", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "y8a/9bW2RVnb/jR/Bx66KKbvuE0=", - "path": "google.golang.org/appengine/mail", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "f0Cs5ZY6lAh3BQ9NGZjyIwPOLE0=", - "path": "google.golang.org/appengine/memcache", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "rfDK0h+VNkIIEPy64h0iHLW2uZs=", - "path": "google.golang.org/appengine/module", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "jy+Tg/lMz5Vav7uwvLAjGBN99i8=", - "path": "google.golang.org/appengine/remote_api", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "6tN3fEnPgMxk1Td4IuK59XJ9jvs=", - "path": "google.golang.org/appengine/runtime", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "AHcpjrSvTq7AjCio902rIffh/cc=", - "path": "google.golang.org/appengine/search", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "yYJsQu0PKS9DkY4KD+Ed3mhZQvo=", - "path": "google.golang.org/appengine/socket", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "wb7ODzrwSvc8DjrRVYuwPwNLf1A=", - "path": "google.golang.org/appengine/taskqueue", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, - { - "checksumSHA1": "akOV9pYnCbcPA8wJUutSQVibdyg=", - "path": "google.golang.org/appengine/urlfetch", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "PnGkXjb1s3lGfbSBkAn5mRDXeiI=", "path": "google.golang.org/appengine/user", "revision": "6bde959377a90acb53366051d7d587bfd7171354" }, - { - "checksumSHA1": "PYD0kemGmoBzQUS38rLOsCZnnyU=", - "path": "google.golang.org/appengine/xmpp", - "revision": "6bde959377a90acb53366051d7d587bfd7171354" - }, { "checksumSHA1": "SszVm8jmAyX2M3WgXcmnXLnxQiA=", "path": "google.golang.org/cloud/compute/metadata", @@ -1910,26 +880,6 @@ "path": "google.golang.org/cloud/internal", "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" }, - { - "checksumSHA1": "pd2U+heOVKcgGR8IF3yTdzzGbUc=", - "path": "google.golang.org/cloud/internal/datastore", - "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" - }, - { - "checksumSHA1": "sYR6mMwX7a3dCYpIWUoe7pZ4yxU=", - "path": "google.golang.org/cloud/internal/opts", - "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" - }, - { - "checksumSHA1": "cQCt8JJ0RSy8ahziv7eL1Ftz2ys=", - "path": "google.golang.org/cloud/internal/testutil", - "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" - }, - { - "checksumSHA1": "tNmeleIWZe+HirBxokHO0KpSon8=", - "path": "google.golang.org/cloud/internal/transport", - "revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef" - }, { "checksumSHA1": "gY2M/3SCxqgrPz+P/N6JQ+m/wnA=", "path": "gopkg.in/xmlpath.v2", From b79cdb3e470fea6ab8ccb2c5d4b6301ef18c96d6 Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Wed, 5 Oct 2016 16:14:02 -0700 Subject: [PATCH 08/10] incorporates feedback from pr --- Makefile | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Makefile b/Makefile index e304fd2e3..9a8204f7b 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ package: deps: go get github.com/mitchellh/gox go get golang.org/x/tools/cmd/stringer - go get -u github.com/kardianos/govendor + go get github.com/kardianos/govendor govendor sync dev: deps ## Build and install a development build @@ -72,11 +72,6 @@ updatedeps: go get -u golang.org/x/tools/cmd/stringer @echo "INFO: Packer deps are managed by govendor. See CONTRIBUTING.md" -# This is used to add new dependencies to packer. If you are submitting a PR -# that includes new dependencies you will need to run this. -vendor: ## Add new dependencies. - @echo "INFO: Packer deps are managed by govendor. See CONTRIBUTING.md" - help: @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' From 9b0fdc75090a711886fb3ff3817887c82456bdc3 Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Wed, 5 Oct 2016 16:30:29 -0700 Subject: [PATCH 09/10] remove test import hacks --- builder/azure/arm/template_factory.go | 2 -- builder/googlecompute/image.go | 3 --- communicator/winrm/communicator.go | 3 --- 3 files changed, 8 deletions(-) diff --git a/builder/azure/arm/template_factory.go b/builder/azure/arm/template_factory.go index f45b8c898..887b39f50 100644 --- a/builder/azure/arm/template_factory.go +++ b/builder/azure/arm/template_factory.go @@ -8,8 +8,6 @@ import ( "github.com/mitchellh/packer/builder/azure/common/constants" "github.com/mitchellh/packer/builder/azure/common/template" - - _ "github.com/approvals/go-approval-tests" ) type templateFactoryFunc func(*Config) (*resources.Deployment, error) diff --git a/builder/googlecompute/image.go b/builder/googlecompute/image.go index 41306f88d..11fe7df55 100644 --- a/builder/googlecompute/image.go +++ b/builder/googlecompute/image.go @@ -2,9 +2,6 @@ package googlecompute import ( "strings" - - // To get test dependencies managed by Godeps - _ "github.com/stretchr/testify/assert" ) type Image struct { diff --git a/communicator/winrm/communicator.go b/communicator/winrm/communicator.go index 4e02f78ff..f8aaa4338 100644 --- a/communicator/winrm/communicator.go +++ b/communicator/winrm/communicator.go @@ -10,9 +10,6 @@ import ( "github.com/masterzen/winrm" "github.com/mitchellh/packer/packer" "github.com/packer-community/winrmcp/winrmcp" - // This import is a bit strange, but it's needed so `make updatedeps` - // can see and download it - _ "github.com/dylanmei/winrmtest" ) // Communicator represents the WinRM communicator From 7db6e8ec38b0d37a2952e766ab5eb4ed5c8ae598 Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Wed, 5 Oct 2016 16:43:38 -0700 Subject: [PATCH 10/10] copy default params --- communicator/winrm/communicator.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/communicator/winrm/communicator.go b/communicator/winrm/communicator.go index f8aaa4338..c0676d01f 100644 --- a/communicator/winrm/communicator.go +++ b/communicator/winrm/communicator.go @@ -36,7 +36,7 @@ func New(config *Config) (*Communicator, error) { } // Create the client - params := winrm.DefaultParameters + params := *winrm.DefaultParameters if config.TransportDecorator != nil { params.TransportDecorator = config.TransportDecorator @@ -44,7 +44,7 @@ func New(config *Config) (*Communicator, error) { params.Timeout = formatDuration(config.Timeout) client, err := winrm.NewClientWithParameters( - endpoint, config.Username, config.Password, params) + endpoint, config.Username, config.Password, ¶ms) if err != nil { return nil, err }

    Qgcjn4g^oJs_DDnZ<-EKxa?AMlg2!~vC42}P%} zc@{dAxelkY#0}4NoXWvVu1+PPB`Tx)Sqtzd!m)&)V_5}vFQ9H4a`!k4-!_ODKKKH~ z{v9{`j?`NWrbl5~vonnx@0&i$WIdfpHvVm5^8XBcgB`NqpcBgq#+-=iG2}$ z-JDVfvgiJyoY>BX9X6Aeyho1&QkLrUFF$%*CY_-j2DS=tZrw=>OQV0dm&f{`W~e2! z{^J!P*2*OAqMxC-he$Zyv4P@-BIXC{Gq#t9#UBUEu8Rxc;DDF-w|H>CcuL;N3K%~) zfWU+38aSGF4}^L5Sg0^06B6l+NjUKyC@0>}Tlm2N?7Q+Xj9V*8XUorY8o6BEhBpX< zxkuGdXP*xw)?k)pOUw)K@muVvAPM^ z-+z(rFB4zGzsJkOBl-RZ0ppj6N6P++w87TIX!2@UGjp~q1i@5CpbzAMgN*1Vac(Rm zzySAUOhCSeOTK?+;g^ZCYMOwZHqdbt-9Z0aaD-YjB+t=73^oA^CL{^$aucOuVYy{) zCTry^`^yn6eeBwjWXXaSDwb5;jj-u0v@9WT-YhAuVu^8}3rk9lx7+cUVz(^$T?f&$ zesa~#M1$iUx#ZcA#mQ5_^T-CG{A+D_Tv~OFM6WnxE`YQ$S+k5 z7g}77{L)xDZ@Z9$-!lm9rlLW7hHgL?SCyIRD1Oq_G4YSi_P^PApN@e8lK&_{>4?U!Y#>Z#}E9o2U?$XI8j_jkFLjzC4q_yb;J+vD$jq zS+!^A5;0t!2?-$ipnsn`g#Jla_d-A3OeOR|MB&b6TA>eerBGMs0V<)##JUK*+Zcvz zou?jze$ExqDXkeo^_pQc`GHV2H51W<0IpUHr~cb^J#lbgNVIA$T*HP`s`JODoa9NY zokwpV>{|gFK&>Gd`e*s$K^=&Z0S3Jb7veqVTeS1rZ7e zW++GvsFTZTJdFdNw0M$4Dka&T=*)7gy1AiK-`J*OyNioj8FM#n#m1s$8oZTv-Bt&d9hBAL!W5u=Zm zL)$o|X3JF=pP}E@^)$XTCOAC#ks&jh@gTh_`KK9;QC*k$m{Aco28^-AphBuPNiAf?Fe^NmLCefsT7wl?~OT0j21dwb>AW zov#!gM%fUqF6cOu3Eb$MExYblC@S>ZbTv$Hur^KV2hd)o6B6z(C-tF7oevf95HjBl zQ+dzBw2)y|nAUp|IB)Ois}f7u-Y#M>j>sz?YU7G1=0n#*Rryfg(TL=4q1t?iz^Nx)w$XNH5`Nwwv;&Ha*-Q2?fLP#@#b3id;TgKF=Pd!_eL@8DehlvH_ff_% z|7@#ES}qp&v=^U^WmSDd`}`UT*sD|(f~AEw=Y5zyIxPDs#)V}+4rPsgt4c&530cSf zV7+B!veYN4)WPCG(u*6aB;6wyVJQu@k|uE8lJ-}jUBMOYvVit;PpLzWhkWr`10hGA zFP5h}R!&K{BVVKI` zcNd|XhA?c4J@Fv)BOVZaP)~*E1KJmIsh$>50(*yO^KLGPCcMEAjeG0?QC~Ot=M?ZC z-Ri0Q$ADdkX^VPV|AAnB_bb4{$lElDegY=ZPfvmUY7brVt828L6~_DK)fJX>oTg?|zQDF8N%+@tY8Hw#<9#|w z{|NSNGl6$s=*H8c(Ha8w3h&1A1*1U@0aif)-i0%;L+;{1DoVlzry)O}@(1>}*2;(c zYDDYf@J$^R4)4?4`HDJP90;5j4x2tsXG5X7Of6AlE<3y1li zG92zc_khFiZgBWKM1@16NW|g&5G@V_&I^akwG4;xo^WW^O=k=viN-MSh5N2AAd-dE zNS>v>%kA1)Bng}sk{#ADBo9CHfMn0^c_10kgDgJC8Pg#QtAPS5m@fX-gqTJO7@sai zuAo=2YhGZ=#ByqZ!)%NHml_U6dBOQUCD=tMTMhjUzDAWGi&r zm7gXuNATc@%)6cZ!D)v-nD&ye`|acp27QDm43Y4q(jPz(>{Su|AlsF-DBhP|Qi(T> zhNsHDq!n-41~=lxGx0;{U?pYIs=WL`*&ePqz$UjfwXkOwLVE`m!GW6CZb)gDb^~48 z-MIv(0K~k5Xe?c)F(9~UEfv9uG#_8RmX=@w=SA?xA2Puf_vCyoy20V=U=5B*OTG5iOIvJp1Qt(NS0J1*|P;A`LL!INdo7E0tkYicze-n%|NA3s^6zi@=(Fw~ZX0GxRP$sha(6g1<|$cf&2P{^Y_Z zcI|##xJmnS_V+G(r78&axt`>QlH~D)?|bRI&_VUWjNUpg)KI<9s*lbKKB^ZU>%DN{ zx#NZHuj;(8OZ7rhUsBHyXBH>S2e97RiIHwsucVljfHdV1zA89#7$Bm4V+wa_g{rLz9pu+qWKD-^--7}M8a93Sedudj*K)cQ*K>yTAg@x^@3Gr zFQd>`e4$H!_xg%26dT}PU-5-Qd>31&p1ziQQKhf1zK1Nfo3#3hU?+Wb$6cncfvB&O zR(sIbF4-gGs z3BN1zD=6aQne{VXiv(x25;Uep!M>RQSk)ou{^)df&)#fR1Qr7$`yiK^F z;CC7TOcF4DLji%sE=@$HrW|UBprHoqAhA97!~~`-g;WXKDGR@$K;ROiV>sz)25kFj zW!^U2Cs`r`VTyq9`y>gh!6)1;KISY_a%&p)pqn>v*kdM3d+5X{j^r*2zfV#iY4w0) zKQ)s3>maOy6OshZKawA{azXMe>vP+7JoA9$0q$X(tzgP1hSArRI7a;$mKDn)mdgdK z9bt)J>0vxbb;C5fb`}_<3S&hdvsxo7sk}-m-A>)OlGdvrSUq%8_h(k)AKJvN2qkV; z;4H4nLz!3k_KDv9hg;9Y{)gev(@eRxkk-EL3KX^-X+oRtNmC{3Bs|06I9j3zn5vbe`x@(73SV6iALRo#jygt;YvZzl=&KNt~a0^0`zVIKW2hqUH zlX}>%ChTv%AQ%9PyBQsyG(`9r4o{d!)DYOY^{!l-^F3m{$bOk}d zYNDWSM}+s5@HqydoLH2F=U3!krPjRYjY=6wrA#20^(uFyFp{QH*o&pv+HcBp7I$Ds zSHFNruMn_$gfM{}Z3rU=|1|F~YoZgTIk~@BXpdSF`KSK$Xiks7r`TTm@`52d1Cdb^ zY}jU9311#47)3=Juw7&Ja-Mh?|3B8Q1gy&9>t7ZXx4<;T^d==Hl_|D~CQ7bkTDVk{ zR2Kxl1mzHh5ORx(n4yAm36Nx?z?<5=QnfiyqEXVwg1=i z(0I?hvz=|uoS8Y3ai}g8Ia6B~`Kc~dH3;t8y$oMcS678Bg=(3XIjb^#yof)3r!rO2 z`Z0ok$nccPx)REg$E7oGg(e+VoAkz)mFU-i+FEY_kO73z!N*h5+>+<3bDbe|uX51U zR{^?rV^MVn-)52D$lEM1&BD0{3j?TU>af3q;S&OM&nPP!Pj{ffAykRw_I47HZ)IdM zrQ;$~D5Xn8@{ST+A`0M3M2RxjI8%N7#Sk!#NgX7dG(YJ7hVE~eN znK<0RI3*fiOVh0$Ec#$Z~1SZ9HegS>C7h z19yP4Kzmi6f1G8W)=$x#h12?NbL=@QjX5iHY}$+jSCfo z%na{fUb^suj4^>e$>=!i2O00)W+fxlcjaUxOnJySEZd%p=&cdnLEY*pN5bjdq=L9w zkuQcY?%sL9yl2t#CL!wkT+d}$!#jM8WF$oWmdj?5>qHTX@!+~6OI_tzi^(t_$*7A| zDiXf}kowfMWDUa$kHBEPh60OH#{cxg&hOY?Kv{qTgob>^U98M>A5yMAt z5z3;OZEJP<=p+89usRiPlu7V0o=U6h!pJgt`(>F2-riZLZWDpGcN7wD|D>Q{%-cnZ zw>N>e8*n>~tDC$X#PDElU-PyjK)1h7-qOBe-VX82+mWaI;O!@Vu<~}uf8%Y3mA5~5 z)1J3On72d69*}n~z~6*~a{RrvE2*e2=sVmk@`d@S)tEi166W&}*fpEseXDBBBWn_@ zD$&OR)km1EVx|qmh5K=l=>(y>)srIA=*KpB)-YLK;LaTo1fqnK9=l21$?hc2n?4`e zMKoT68~-%~ZYpeeo~+7j8lpQzS^T2kmL4i3ePH<&Yvz48zd4_4xgE7nxJ>Z(7+!~K zmsz1pKUkw}(NQoX2l1x^VMc~vC#^TbyRjKbS@Pl?3CM3tAPV6SknKxIKz1l-6qBh$ zkx4!Hay~>?e4vskAb&9Y+e!{E0V!eSUqA-xl?q6NZvhE9?uUT1`_?KT5&um^U1kP_PoU|J^#m1e*FCRcOkUziA9|2Su*UTw(5`w89JjmlfVdeMMcswn`Y{az(g~lBotMiZ5F& z{k|#jWkoDz<37L=?3>EEqeEf-eFO)~EQa@H^AB0&mteR~>`dh%AHxJ`btA$1F?=MO zAjmSOiN4AN+R!QT-q(TaB!%l_)L)0|i9-DiEhZ?5V0R;A52jn`dYl7OvP`Q8e@$xZL)MZXtb$8o0jwaC^+w|Db z4jf6PTUnVANo8Y%yhxAF@WRo}w4^7eb}8(UZLmi^!LL`5^ut2rn_!K+XMof=ToRte z@Xm}>WSK;}!9%ppkAY|rif9P(;CzDXIqEQp)|KH~9X3QO^+mLLCeb<*(dd-8K>xVI z6`=pejkf47)#$%hp+CtM{dsX5m}iU!_xClj;y%g!G;qII;P)nYR_GXpgCfC;Utc15 z7s*W6cw>?L3RADpVraUq6ISC0>D#^hy0SHU;=V_7B%w&YfPt6?1MxthM(&d!>J-e7 z+Zo=0iAq_RfMf))2v9LjQ86A={D2DvT10OY!~e9SVv#Q@Hnk4`X1417A?!9 zdTzZfRg3%+s^#q(*+1Me)afl$2_B)U3&NfO4ZlJ%8Oi=Llx(1o!_KDzl-iJ&9|Ez( z{D6k3%MTLlUX0V2`trj)sO1JEpU~TT?l(@Ge6h8m;EQ`s%lPH5D!vHE4enF)_?r8d zlf-vp@GA+)JtwJO-#S3q0};YEQCFXuxsJ0Cu#$^A;550hon_J&J0w;zT}<{GQvLiJs_;gUy~V8i8` z5%z`)dJDs4CKV}WB$P8;+;@}VGKjuIBnuyyHwk*DM~QcP6(2{dj}i31`Js#~X(Rrl z8Ez~7g?@>DHx_@hRrkmfB>rFhQ-S!OUu`S?h2G+Cuhdtx@ge>%)%VuxKE&VQUT0b3 zw-E*1nU`h!>NK^+?}ttQ)<~{J%(Yd}_#YxsPanTg3Qy{JdxFVe!2CyLGJjzKzxEid?Ls_=b}BiCtj?O+=!X+Z{&_=a+|HX-#JF) z-n730a#t_1B{#ME@7n&m7$4-$sOP7)2f4+ssYpgEOX?p=Vv%h7gOWuealO^$WSM)| zA9nk(@nw2H_HMbaIO>oRwH6mNjvHP@xUW5&;Pn`Osiwxg%o0@W7$E2?ZRKqB_ zHhWWPcpUi0^SYj-8t@&RAoy1dzo&+-Uu8|myOX1mZBF4r|41b?JJCw!tyt6WY@&bz9_AtSZoYV08xhQ3gDQSc_O%g>3 z@ir)`N1h_*T&|%EPLDQV|49rlVW$VO^mws@hq0<1yhQaQ%oR&9*mW=%6^lJy)Z3Qp z9fkJZz!rQY!=K{zWR~f1z}nq;?yUYa4-SC4M-hA?8T^sdDjDb) zsfbwlu^DdFkKz3g?Hz8F)UXP-N|$FX#(|2O*F7?&rCrR~rrh({!KP&p%J8>%VeJ)b z^*IVLXbG8zMafDPsBWB^X=t}gN7!fZM`?CQ)&{o`obK#o$qUvDVv@a-(NEok>)9=kdAXbzk$W%4`Rr*;sbtu8 z^BWVq2gC1W+m5ny_^DfHsv>{b?CJ1)VL2E(Z94hGrYorACbhGo##I33IdDohQ5<0U z!?rVgS%Aah50gP)iS<7qOk12`Apx){!xZx%92MD=QHrl!6>Re3kyY=EEKI+NY-cCl!PXaO*tq9TokRi2(`~uy#*spb1)+%n~W4e zj5N8WoHJik#-uD~i|-L9fmb>=@F{M2_t!9WZUA5#mdkvPj=ISCZ>>Hz;4!KG2`w!< zINIeHqE1c5s!aLl21#xo68`^3M-eHr_i}xeq~-fY7xou`tg1-H%UwHKY19$(|Gjpf(tL3(WOMUz-CiJM^H5)c zFJ$V2;2Ep1VDR6?0lUb_c1H}@w?2-gU_$xOPi2JKI78Kk6UEyQIyk_;HLE%B=^k~5H+ zFG^W;I^a6O3H|pOPKTV}IucpwuSIs0VYhOe!_*h4T|}wW8>rNi8rB>o2(0hL8v#Ya z(o?0_bz33Ct`rxRf5^sDx!36`;zYIM+flXEG%O0$5?EKOWkwn$zpWA#eu@g^>C2T; zb--OlC+`v%J=i`(0LGTrh?N}SCn>6TA! zy~pO0$1I;5u=}J9ed7H4h(V5y*Aw2hAF+}HV2@7rpf1Gq^=B5fOym&Am;+DJI3!OY z>4@aq2}*V%DMa$Y2|6^_N%r@{RyO?|V0`dMO!*_%v7+Pkb;sqaf7L#t!Bo;P_3EDl z%hiy>9ZxOe)jwVH-tsl4&eWOHT9?nv)|t6({PF4jWW>Y9MvI z`(Y~;0Jf(>%ye5STs%g&{aqxkCNc89_A&Fmwpd?A@%l0t@y^wX>&HV{j`t&~`P(}Q z{uRSFa8z^3%GLWYa{n~rSQ%aq%b}=wQ#f`y>37o84`2~Bfa`08cFwgS_yY_N=XQ{# z_IcDQBPBp-Ojnb;E75EgX09$Ksk0k(XmvqLLW;MmeUfBF&*=awRrX&JDBPSapHz-E z)PqL1vYIw@c9`o#N3VKlD#eDSbL2ripb$)@QMiTIpW*HRJy6QhX0Gv`%e2XuH>ED` zo>S?g$uyfzQP5I{o=wTz%I3$}gSd&b0CP4yctFF;zvq%{Iq+ki2n74BRBJsI1|MrA zOstmoT*zHv%%-6~d1h10$2QBPZu5>?-gCk3f;pSQR8_MnwV~_t{hmw4vzSfcLD72_ zw(q%EOk7!QdhC)L8`-_*BE`jc&n2l6z2`Fg8Q<@@1nBo%!jK%pg!;H!6C(n#h&m?| zk-9KEfMXG55(NLZD!>#s2gz ziP_HzDy>O~S(XyBJc!wpe{|EeET=0n7=D~x5n9X=(XZ{~im({1aY~jT%sDwYKuMh0Hw%s`$|L;t)O%4m&OH-BMl79Uf1OCgEmqJFZm3W-R0QIF zvtJYOa-d1vSq$GB=uKP|&GwtX|3X}cZ{mLYgCE4LTwo=xupp^93 znh}j`-Uixq`6$(vQqkK$o@wj@@j1CrTwgqErR#c(8`4t#k=?52MMKx6*G%Ep=pA^NY=dq5P{Sthuseoh$cg4wx4}obmJ%RR3oT ze>*^PhRhP{*42`8(=TD|s(lmAmqdZkrGo;+Ka*uySwj5Mj9wt$ji=y>tHF{Txq%~K z$pfDf{1%4)$Sf(dM8j*0hHIsc6dzwMQCN^Ml6DZxtnQaJK{Y)O?bYZT2YQAaph|yY_zO%=nUyXS zpft}w#QFSH2ui>G2f^QCxSNS0vj~$b943Mld7t4D3qamG))Txt!#&S;$}G{3S_miPk2&pThi2gLv-&RgFx3$qpH5$VVHQ6*0>ycsvHvN~~AH58d&K=5V^ zKgj!jGOK0zmo{>pXJ%K!T$B5#-4jM~`L0*B;jT7Yj?ygea$q4Fp-z+NFH+2PZ(3W? zgE@Q-BwCex~x3p8S8&k~bkR;S4N z8-wZeYkY2{d%|mxr4{08`p7Zvvb4G~FHx!PVos%1^gmSK5gL2Ab?iAln%sf|tQCO@nuNI=1=bC5&gXqAC zNcuxQkL=VWnThr0-SCYGy* zLcgAq1?h7MP&W${-);im?wzIi_7PuvTf}@jdgIYDE%=IWf0Go`UnF@PIbw~UF8Km$ z9%spKdI%0MZY69ZZ({g9haQ^D@-VJ+IE^{)Q2uTuUH)*`>(^)w8}txy*s$l7>j8|B z1jbM&*XOxXO>m(0cZVZ6 z2QJxEtaRHTfs;pYJ^4!w>kWJ;@W&b~BNg;S^tx;fi@>K6tTl0->qLKxid2yb4$c;T zlpMlEATFbrox|zcvs3{f*(D z@%|dJ%*%`vG9c$ZVVMt#relkQZ}~!(dQOV0;deJ2m9F0~EHM(~|KvG=AEqmY&M}{; zGFCHT>K=+@=!NUN6fwzCZ}4n0?(E&**@006ufy<$tZZeLhi6$UQh?hl(2AR{);#-F zZ>1Hd%bXnjBs;D76yK62R|_-k2PV&Ct}}auzS3a68q2pD+7woNt3gYFMW=e!su8aG zL6W~FKI7r9JXhv378R)i-2M)w__atts5tq*c+tlhpZP# zvgoDqgmS-)<)jK3@F0@AE_y;0Z@$%Lt0ma@Agj5}2Y(t*Lv(Fn^T8V9gUUAQC1dIZ z(wY-?7`E?{FNxSAcUWy-308}5wtb^9u3AVIV}Uyf$xtM{kz9o>$D>%bevf26k`723 z%e8Fubz&{M;-ruGQMnnBXD{phpS$Wiq)D9>KqhrAy!o!A&L_+GqD3}>1ql8uRJL@% zcFn@2;l$c677;v;;oHJBYa>gYXx2xTvj;`Vf9D5C-%!s`@(qm*r;KR*u`sZ*2MN<^ zkPx;(@g#z>sH{HoV~AJ;x0eYK3%ritAq@9CBqy_SaJyO((rHKOr4GwC%QUem9L)z9 z``m51?okf71oshql7goWM0)`1liVZ>RIhYZrjI3tc~Td-O;mF;7Uw-Q>{?VK!HoG) z>m;4ztoeudlWVexQXsHWuB}VHC~C`opK2@Hs$h?xHh?{yfeC>GkL8#fDl37ro<)&9 zxS0~e@Ge|LW{J6e&Y z4Sl%=g4qfKj9>E2R@pdWvCj54(nsl@iI*gsrxz0h0J(CXH;g(6K;ev`M9nI3x5&V+u2s?rUg<>r) zLh1k)1y&P-{`q@7==nf~dh>P_!{1?KsH|x!D>XHgpTm7y!}{Si%4cORjTV6tDcI&a2_jE5Dl6^~!I~e7*9MGM6v@vPAcv!zk`UQVSAz9PZkM zNX8*~0ZDx%=P@nzlX|Y@t?J@4QDqYGc{w@y94t5QJB^PCz|-#t=K8LJr;fnD2~0d7 z9no(zD8EZ@s-f&jYD>Ql*3W75LmI4dWlcZCz&$E7!u9=DJE9&OErvD#6b<5@R=b*d z+8=kU4t}fQ2Wx4Hs;sS?wYe4*>4)G_g$)0ki%^#6Y8W&7Bz3?`4*2cmVi_Pu|$svIv2!paK9&kSX=HSxND0d)@v9Gz#e+Yin?a?qtj9f z<276j#t~ZQ>ay|ynJ0%(eUmjzJs<0gC_P?b(hqM1MZcwe{-CpH*4%KB7vH7U@F0%W4Lsep&!VywH73JfgZ1G{{gtm zS$aBE2MRPbUC-3}e^w19zM@>~>p_=AXQ^meo(bS_=*;#=oJcNv++`x^ zDibN8dq*~p!4onzH(;~XwTE2itPcOqu)471*?$&zORk#PyKK~WRJ#LRW)ZwO!#%qL z$TCot<7t8#kLSj7JQp-flwl1VCI1&~qA$kv%RDhncr4}a^NG+}8RXxle~fbw1zSx2_x|fs9C8Rp=b02-faCAI)~W73DTa`+j)u@q z!|ufp0QL;wL}(cI2JyzxCl%1$7*;n6MX<92id0 zoPQq<9ln-hX*|z{9B-~Q$gulkJ`WI>2r$e z^W4w;>2nJDJY=p-pSQ0u`n+f<_4(^H);#+c*tGN{kh)>!9wfGs>Dnm^$+$JcP({J!Y*wP!qY zd~B?%+t$#rvxS)!8+gyW6`^BCXc2y)&$Wv~Grwbd1!r98ANioilu!SCY#y&-xNG<4 zUL+YRhSGkuArgHbqT$`L+A0zNTTB@44MLiuPby|S4>;U)E?*4zrqdpgz$h~#1P%me z^--L)-7hNj!7#4*+@#Vkr-@2wMYR7j0hdgl6Ti@P01R$=TGeCWrW-OvH%FgRGx3C9 zyR8b%TtwWDT{qRuIewVT`i`6I>7dzO2!B%a?T2p^auY;m^%QY+py$0AigXn54 z9Uq=6I=-1sztfs+Zfw({%HM@%&UBFG?<{*g%rE42Mwbfu{^mmhGDA-hLv&Y|UOmH~K6gi-g9}WCSdSPJ z1HM-Mlfl}*LKxNF8m5A^18kVYs!B_b>xxB*yFX6!Q?T~fFZ-31gpU173+mOc6#ndC zmpl) zxMP(kJ=fWKnmSTz#V|wNN%GT~M~D)R3$E ztBxP_bh#UK`G8-lpc}e8?=zb&hnZbI{VR3(;&N-30XDn*m8#Uz`z|-kj-6|%(_NQa%?^OAW=C4NKA#&Y z`uxaIkJ%xZ5r>k| zZ?3c18JWP9j)ErH2yes)1=l+x0PBkyLSvqu@*PFZr3p7)R5o} zxXURQT@uMYc1F&9r8^c3H+h=}sK$K^-yfi{fGjfr;u@KUQ{>^#HYEKk)pz%tO10$A z9Ou;vn(u&jfVcf~oNsUo)*Gz@7+(HHYrN$~t9b{fh!D0?`Q7!!Cc1+oy#(FWO)GT= zhrIE|`SF~5&-rn3N88=O*)SaE$H^|uQB7ISkCU@spC5M>m~CH^4@Jn<&D;}(G}fjZG~TTkeq@a z+<{~toCrTI(R4||WsXHdiC$kZ{2snvqOzuNRwER-4d;V181CRAGE3mPlN7Uy4Qw{6 zjzf~-myo^OD};Wvku^a?Lmd8Ug~txdcp_%N4XnNqa3h`C`M|O(Lx<9&zRs4qHP^Z8 z1HB)kmw2Adn0MZ*cr&I%b+G(q%&>hlnOmebM_rZN+#ryc4*t_GRa}Qj>e9wIs?`f+ z!}<#Z)&Ejyh6e@G0`T-tB@K%O>Ih73df8#Y`gC$W+@pIUTq6q0cP*RVMLsx7)VO%D zCTJ9N>AQbZOCK@3DxV%wS?Qeh4;0T>9H~oY_$F4rGE4f(2S$lMA!%(RjhBhq4+-`t z_l&+cRd)l|(h;@y*iZ0k43Fg6k>wZXyp&?$98FEC@H?7+yGu94eNl8_Fgv^EgYn89Q_)_`3?O-HZTx#^pi28kxp^ zn2CLpAI;%Mxh^?8Zbq`RJfqQWMv?SHqHcG52u&wLdU`Axc{*spcfz9Sjoe$2{0u#~ z6xR|rE>NS9M_F#bDY?ZOrjD{mu=^_OG47VA>q~Ld{Psbvgmx=@g(`tz!!reMP3BEu^qEur5Tkr4eREDrxrp3<#Qz;Km)ae z&pnIbBUl3=D}yKm3+G{(hlfr=x8tD`8TaJgjYahwdY>hp5HTe(0i$Wb71u_CD(+J~ zhM#23q8~b;o7mLgw(=$wz1Sk(oKT2Qr<6>pq{=X<@`Bi;N|w2XNfq}-MP13;Nm_+Y(-RU5 z%SzUs9{a1CRQIR!9a&ehxGmKjS zNU!OGCGz~&H8yOW1Ff-njvChpG1i|jl`qk-r!ZE4rzi=Aeuwlb{T`uygt;bM3c}>A zXhG-^MY7<3j<2Hp&&!_|%h&Nxs2_^I(UuN(x9e~=IvlP$mnJ$K^*zCYH7p4o2H39- z*Lqr70G)7ZQ}>o;4o`Q(TscETcmKe1PE*8RhNZi&+jKXhXPFljTGh4r>K5;>j@f-x z$@{B0Hi{}^?`5yAo(=bn#%;3=G+zGtx& z8WZaKgT`vt`h&)Gc3+i4<4Bv;OU5$quVNb7Ao~r{!p>(3w8|b3K&t%9YYE<+;qk1> zk>wZCGo5k`@g+VLGcSE6^rZX(Lg-mLyds+WeU_qcf6;}$JE#krHSB&gPvGo3^o`x_ zqM7-9f*o{L#6sNTp^p~vz7osz_SXc3mtjM7zW94jG|^u-@sw!x8mO3F8rBWX64=^o zD<93)@?xqX(&5+zO)i2uaW8~=oZwBQm+VN{*ZZr-Y`j95pMsPh%+w?s3sUCg6MPiI zlbMvr@{5$8U*|U|Lo>%hgs)OfroJrK&xr&(KSRMDSF7m6a(I29HQ`k(2*v-q!}d0a zy5@x1N_%uQZ!9yegXE^kPHfPABL3bKO^($~4i??GP(s~!Ny8pOHwbL)#-^Bxx>2i- z>_RQvDpSpeyY7&?V|~&5Otl)oB;p?GO~f=CdCa)m`>Us}vmv!Q{x|Wb4=`q9aXfIr_92zV6Rww~jE#(0KahvSX1 z+H&LSc@6ddm+5+3t?4|+oO8JZ|C-^~UZYu9W|^1V_TWv7iTvpXoHtyCb!EL~w+r;wF;*3PE>E62vB_6~E==vmm*uzFQ} z{@K)Kn2Tg>QzOj9BTjppI>oT5H-^a~#f*e1^-U<>oY z0~Cq%SHx6Jq8eBZ)#ys_5QZOS#YZOS4sK zO|aF5jK~bZN9wr%yhfxRRLyY?;#%6Fb`@%+H^Uoo?MD3gbmE}$(N;poJ|a(%aKx3l z)HH{Y_iFse$K+W*gfMg^;ujhMz%Pj$^P-fAuVs8rPtlKoVSJ}T-O8f4LW*zC zRzk(`m619qog0~;(hy=)=Yc62(X|j8eb;vc-_G#k9E^ana)Ejs68NQ{8!?JN_2A-NlZa#~) zOH|q}NijjPN86<-Z5JoI2yK_{rR{#q@MyafU)rwPerI5xO{3}h0!{|HGdU3um-~B_4Vae74 z^Gk3C;|_*jUs+>*iF)Ll4My?rv)q00!=a^C{s>V&!adewgoGy$CD+2werJi)nkF;N zkrhIz$t|=t=ykEuD<#k??|q{GW)J8J=A>IWvlv)^-wo__kA{a_7%T#LC#{JP+ zCT7A-%tV-&iE?ci0Oh7bPstD~CW3`lfwobn@u6zeX?*CJP8B2gr#)rFPk6yrDYG%F z!|C}sk0u;<8i#^oCu;=0f?c;~-z3B~VR$0%x*@B)PWcGS)Z_2#B4c2|gyO)~PKH0j z77VgXHn=B%*s`gFxq4Rvtf6? z17-3G+3fTRB8we*)b@Fl1Wa`rMUKAjK0=S7-UFB9I{zgM0#$nrrN!2u5S z)Lfy$P!ULT@?Cq8b_Cr6^tW0(RLi9i(1a67IiLD+J?b-Csi50TxR=?OZ-DFdontAB;snz$z1fE!w~S{YS#!iSY`i_OB(_odds- z-oLJbT3qr7bbveaBq62Os}&&S-3M)vlI}NBdjG&kx%-5PlK+A;YiNmbYw3iw;v{qF3HpUS1pkE z^0&c+)sGo|kXfIyIIiyWSlHUhu)wFpk_G;;f~K(@7^3XJFxY{exMJmRP!@PIhI{-C z{H%ANmbL%pZ%FZ2;NJd*9>e|cH)Qqla!Zx7!2R+!BwH=;HPw8$rPu;ze*+<)oWG&; zThrf=VvBM2-cplE-u|5Y4YR8H_BRBn!yoRW*kav#fRdsEUhdbm)ofOb4sshhpLkmn z(-lTUPQl5{t_6)Xmq(Jmrl|2>_m> zja3C5+|X8aoca;wI&>2doRvt>xToel0vVS>0^kRKYru+;|Lbr&SEU z#CEsJn#NhX98~1HB!a)i@ReKyS^kJC3n^`G-q@my%*zNleMCtqjyA{g|KN}5^gZTl zYEuI7PxUU6I~Jz*bx1B^#{V6w_Ni~`fl5^>5b*w9LO?ddvx7APkmYp-mK2)81~gsY zL@`t5N;KrIj4Y)7?{VE-c0$f|8er+GaKVlzJta*klTLl0ZvyxKrVSoAIm<;+!q(YyBpah{@k@}slboC~st5pC5 zHRU8>%1Po5R0%RC`*?=C0v%qHeKJq>>uF(NdC4+SX%ADesN;;nayKs)>J5C_?{GbGkm`IOAl`WG^SZJ(9$Bip7}he;{pA%t$DwSVC5l zVxg!iO0g()vdISpJal#`I=evUj`TBwe#!;AJRzn$zlqAdlLWuglrfrCApz!sJ%iz% zh~OpaJy>cir#8j;BFfpW)@7T#S~pvDzj1*UrpunMU}1W(i|xYHrP$}+{e8>7@v&MT z`bow9J|iNyiV{a>k35TumZAdpV*=#rdZ`pE&^xe(sD5^bCfxzsiSG9& zS3vji9c<|y=eMePU{ONpKSq8r8T)kvltCDPA$-C!VBOCrMf*R2dB!R~3tEDRKl zT528j@{+8&7*KvGwMDIeUf0B3g!Rvu!vw#c;S+iNgDiix1YHNNHWr#8v_4P^%`o*N zO8yA1gc?H((>2UAUBh{$nbswkRT>{w%6x_vK+cz5)4lDERaDR~1nuyuGQ8OGpSq@;=&3FVxg z7nYJS_yB!J#$b}dcYzNIcyx0(`H@#rDsWq-bhG>^-3UFKHl)weNiv+>)XyyZ?5KXq zxArB`i!DT-tnANxaP;HDS%d>j*FqPDd!EifmhPR*>q(mZN{LSWv?uz2r~DxLw7ai} z=+vAI(bGMy1xfVXC+vxy#jb@{9#;epxAk&YTOucsn-#Iqsu`=-#Jv0FZ_Sw?f8x=y zgPUE;j;m>)0JDbibcUW?PFb#%#EC6R{o+Ic`VNbdc?gFVI!sw0BLxB5&m{t0NL8@@ARd9`+{JUc zn()F*7nGjVEA$e)RGglZTx(7RILss1 zVP=>6SE`_>2X{ihU9i>?uKZT%D=86!Y5=Ld?6PsjaoobM0SeT#?kxDyMZHyC~sD-X)D-g_xs z7v!N#RAqxQ(dtK(XH3qUxzg_)Fo(klel^2o2ybN$hXW1f3Bf264bd76L`3z&o9SZ| zL8DCSMzc6%%Sfqn6Di6S6%+jZg0|;3e7xgqj04pw^*%;&(H3i?j4Zfo&?>WvLDb&U!Ob6>zbQ=V)wvl(Yv7_|w944cG zgv+*|wTI^6jA4{CmZN1oF&;lQw#Kv@JH&Kjhq*Sb@taTFJ8=B{(h$uQv%r~OW39HI z;aSX?lw}?1%r<(Yxy~&Is$ihmo%B?3CR$EFesxGQn>-6XMLoJ}9Q=+X!@_g68?jHE z?YNse!RxM&^ZU_I(jY7;ivHYIF? zGyIL(8XGF>(hEB4F%nZ1fRz6E_^|XvgH20 zvfDPnZmTap5O&+90JZA$<7~l4GydbMGfk~J)77d|MqQHsDX*Sd^Ee>qzdx@BF*wXz zb*^Xl1AJ^kuR1re+1HHDUR& z@08~&VES#cHT^ORXw`Y%bKW3b;k(cW1^kg$SJ~-+f1Qdy3G}-FbX59Fk zrv5#F#1+fC68sB>-@qGF$nq?n3l-}Zg7pupB}*Z(ey+3a^|)_VsJOF8q?H`%-xf|y zQ)Y5HIQ91DycQ^mQyV;2eu1JnwXmWEN}}S_3O37%Je=yiS=P3Z>&oCR4lC_bc01qTurnnzKJ3D;|zCldos&({`RBQne%r3 zv{MjO@i6WPG+=m>AYBDz$dpB_narPVYXed!e3wQtp%28SZ)dNxM(dSUYtiuDDX|ROoS^cx$Im?)O7G{nqq~ zv{RvSpLlDh1y=V-?Gk(KRLJg=(6MwT2O28PRzt;3rFj%rB}q#aDmThjUlgeQjK;J& zj#G6d!7n_m;hy6-$nr;wSa`@(ZdJRyshsowdK_oTY&c4&O&rH5A#DnWqH!F@qm%cI zJX+>1miy^vephPwi}FuDDYbkN75#){3HH-}eM;l#9n7s?BN)p!3{T;?m9oTe&MMhD z3)#{qCe8-n#6+fpcd!eT?ppxe_Z(MhJu%UX;pIjd@l{>A!DdW_{vg`#SFR|8!zPfU=Q1hh#S{wyeTx=!PeOFWQ290R+2B z!_*d}1iSYlx{%(2yivv6LoK_LG}d2)T3uB_HLYWKFIKC_Dt}IMHfHbfTtsb$4?jxq z;SBd|ha<}~d&ekliUBw2?eG{id%vN!!($Xt^|(DzhCc3_D3kpn%BxHivq|@33yCP7cddXZhp)FK z%4Bb%_&l33=R+Svd3w0b*%ZHsG7CC53rQ#*cP%|dgZaHn1%rvOA56U89Jc2J9!$?u z=3w4Sv*EDjr+6^N`4>Hy_W>G!B>tp1Gj$c!xlfmhndz}#)y(ug4nTa4B3^xBgCq){k&$TA{dTM`jwxVC`-(`35snK0xUCALI7r_Q3Bc*Y?P(gC=Z;wwXglm zRM^+|%#`4Zb1gH|D05~qTXi2jLG(V{sRDXOH?pO7g5S)0(HxJ6*nkL&~^BL$Nz72u_VBW|I8!0k1==+pe-De z-5Fk=SAfX!tMAtwHC*KR%8ZX7dr19=BBMwd=k$g6U8;Oh1?u-%^?QN(?NDnV8Q9%H z7;#Qd)Eym&Q%Nc)Z4Se`@u?(ascNzj<5*TV*;8E~E>;88sX(=D8Gg8mt`1qMnlXPi zqPa@ZiPCHpf<8xwqMw3CX>(L6DfF%TUw3FSFH#|A;lsKQe?c!iHjd!=3}4Sm2w9#v zv{)&lVko0LrHqOLFo(W&BXmNDa>9gRvD<}fPPAyE<_vGmEox0v>`N1kFz3+MSPfa5 zwC<7Ro7`1kE`}DU9~G`*j!r2nb8nbUnyq$R1)A-lYi%`KvA1UPIg{0y$eQh1i)Q=o zMVp!I%w^VWMNnK*4bAopKzFFEhs)4J%rGNd9)`(P43leRn2aAUc@=76aM?IjXq*?9 z1!DH;^`NHh0nq$Yn9pq({w>q|Q!n#5QE^!!xa>W}Wr+cp^2Q3NVlb0neOy!OLC9=6F*Y?EWpHVt}vvCVE!FsOHV zw%Og*$~GZ^U>lhlY$Jb4wi)ALn<%9$)Wb3}d)c$i+r50V4K?F#x!X^p@h%a6AB%z3%BS%j|CEwVNM_3ID+Z zU2aJ5Aq+pu>VdL^xFyr`EO0v0u=+*DsWJ7_54E*Yh>S4x;4qqwoVB^`$Dooz+7bLh z4-Id}ZBkaQ^X#ok?sHP5P|Js#gp9|}s;rkebC^`F7<0ejRVH&@XkH}{9oBR9EZ zNXtGoZlxYI%jy@Igm8dV6BJFdR40k_lEMgKedv3qsl!Fjo>V-4blI)TTmi(c#D^@DT8-z4#^tGoI(Qj{O|29^Iw!)l1BC!JeUO>cF#_C$i+UCJy{7l2x1_;}ao_XUf6 ze97y<4=;ZEK8W}&UeteccTLcR@K|;qNbO$D@Cod(L>9fs)sUDgk(kT1=P$X1)gABW z83+1?Js>LDe4iRXJE>Jaqso_P*o{iJe&#Tq3>N=L4gi5tB-Z04)_)OyUyGt6?$iA` z0bxj~O;tX{@Sg&8e^pjj&RT>bQ8=~Kg5eXn2xW;5$m=!^NKNZ+LvyRaI=IwLmv|I4 zMc{dW{S3dGYeJSr79ID=)k5eRXJX6}dix>B-^6aFoQakit|IuW3~$8phb&7=@@*;4 z2uQLvi@6X%HpLe)p-a1~9jbI07jvTgR+iRX3~~LYlyR64uwgGt{jZu%eO7em=N{CZ zL-#6J4|GL=f4-OI(CTn3Y?L2SHUM(YFWZc8cx6ShJ4sTmlO??aG`+tNfA35FM^zU< zfY-Px0Az24YGBrpI>KZd_fF+efq=!{tFedG!<_krRBaPIj8s$(u&O*;rkWGRoyOMt ziFkvnJM^Yn_QqSen!tW=wfM^teS86v^w-#B`V>ijBwdj-K~fpX0Ju8iMdHetD8#<* zMJ@JT@*WR)7Yf8lygEym%1Y)eH$zJ)~vSyFMSu4WCQ zSt=#IwL5gI3~kt5uw`=mP2b0lx#UOi=#(LWxsOMOZVBfE>@s-98{tf8R| z)3DY`0}!~ApbD&NS+m^A*003F)wBUFA}L}ClKJG{98p`-F02P36@6w>E1|lTSJ8?B zpY5!`N#fJd9SHW9hQ;GkfCZjg9u_F>Y3*B*P2c2@TVyGRlj`4>*?7cbl#~N`$gzKs znl@WNs>6^RfjGch;Cw`PrIYC1q>(-**|lu(f7g zWO?FeCtF_Z&Os0WLU)2k>ChMj-jk&jmiq^mo2|I^?r8M@X0b*Lzm;1(@V%#UkIeK` z$diJExBDUE$>8C^dg?GtfmdjiNqq;)d*XoW*Z;#@O%(Ifvvi$Bm&SEegu6p@bMM#G z%`^>bh%N#w>wvOOawo$)DiMF1M1igy^|45a}&|Z--bh?~2nHe*R9vd{#cew=%rPof`9$Wg{_j%S%jX<~LVS zJy~4OtgER0jr$3n!tkuCbp0yp!8kIS-X|5{>>8(-QUT@?UxqGyEP-a;t7U0^%pbzJ zfQ2*1b6}Fz!$s;xxGU|PT0YX0_8qprceN*3xL=OHy_SXht+Mc;3T!XFNj=oS;c-dD zz94_*I0q}Jyd0vAp9BEq3!pcLwbw)Mis)kMeAr_QkK*WJI);>snY|Kq)e=K0O>wlz z>?(#-vXTS3wt^T^-poES%7)p!V@NFv0JDP~Rek<3yBR|&nkhpuq)sfeXLj@!%zhPx z^e1L_*)qHHRbuuX@@yuUJ;omM|A9-6pRsW=9Kf#K{8&w{?bx+DGMeD;F?=!a+96A| znSLKHSW01)vXu;X1gQ z;eYVP8?sDR{zivG%g#{mFndl@&|IIR4sv88im5sTqi`ArZl2XvH>LLelClW?4#Pcr ze=_`LWurLl-kZ|g^d{j6C z2YhoT%PmQHAwymfLa;~d!eCg%YFH&0RuXsMmdfS~7|-w;+%dj<;m}BQ(=k;`utz_X zLK4j>wn|}Oq#sJ*vrES;N`dOTa;1={XFw>0JxlDBLXt599;fr3#f*e9x8NI@M#!B4lCH3FA$LN@ z4k4s?_GEi{_GGOsx91k_45F5|tR{Fv%8A&he|< zd!Lp2AXly`zdB)~D({1lF(yX$@pi0>GvLD-#PB-2E=HC~m16-8J>&lI7v@$6@kH#d zzi7tYt)OA7_rsOeia`58+|DNf=8Su=m4?$xgq9gMk7wL|L;%Z-o1}y*SqWE)N4V0J zaM6}Jge%KSxN2PQ5w0{}!qxRWgezGI7u9DGu5?qlvXpS8c?p+;Nk_spY7vAhO9@x9 z5-#+X?u!i65gWY(D~$x}ilUAU7$-gU?V-HI7j@Cx;_K2ATYU6>j+hiu+#xuO zyFm173obX#xj-XNyI>-#rYPucEkLfu3zQ2X4Ci(aBWl?XNV*_tdX5kkdZ*@Xc?DV^ z>-7tStTT6LIE6?ggsH6EDl0Wre4cxbV4F0oA3i0pU~>lvMWx|lv^2w})|6}|q3-Vy zA8f-rHGtz>=dL<66cgq;yNVK6FYmwRD7m4+53Unf$XAZU=io?GSD^2}rr$M4ek#BB z=Ww^duX;$%Vhga=9R{0h-bzEcbi0*JB-lO8hzjR=dcMMM7wjiCMP=)5*C1q)PTTT+vF81IE9CtNLnQB461;yf-NX1j?)PT=B*^Asf#MrM z=PG4H%by_f=KG{929-rMZs$oM1`X#awQ&-$ytW}(be!sV;yC#KHiH8mL@es_wA>yy9_^W2S zYXAEen^ik*jyktT>z1xV55oT-_;QAqMd}_POS#8P{}3%~w#x5v8{QJS^p?1+=OcT^ zWi^X*_5HQnCit+vqWZq7`qXZs$?U$=WLFKl4b1`U<@Pz%i*0C-m}FZ8>clp(ST)w|lJUg@s5UUxQD)ZQ3DFluU86SUDd+^&t~vW?Y{ zfnUYnH{8~pzuC97q`A@7FWA|e+T7X}z}{`Gl5IU`v?WRoXwJ6T4a90K-lZBJVE7w1 zXjW5McW~BYDDoiWqanlFaS>!;rR{AJr%R^MW^KMQl*p{r?%i;96-P)-8RdGC&LnFC zOfemuQb>}hip%O3*~?DYHW%9n+ba=<16u^gIl50!GZxK$7KrU*j9t`7-b zkKxrKG!l?yQ9atIN2`TF1}2J3OlTa1yDIM~BhzuRl5>HP+0rJGlT1`x*6c!s4Mt7q z(hnqz+;m+UQRhZ9)17PHh&mmJ!1_-yJhYMSG-dJAAqB;-@x!V0*r~;2`A<{OD7Hg4 zsi}1Tw*US}(8BYq0{@5ju7-y-7@~0K^87tAO6d@_P0FT3+8m z-_c4S!WRX`-mEcwx*<_uA|mz=Vfe2NH3cXuyGEqz+TsB2q?ZZ`%^ZRQM9sN^hf(q0 z+X!Bl;W1n>Wzid&PAW`{8-M0^#loziW-liuc5c5(*YS4)s{8bEf-h(I#s<1>nI&wy zUNQiCK!m^lL(b1fxnZ|ZxzP+C#pNi=MpZmsj4Rc8>=u<#t%1WYl~Hx4wGya~?{G8l zWR&iWd`(~Uvg|K{?`HVB*Xmv(%TOKZuZf|CX55XcW^<9osOsrX1Ru}vV6IAL$t}L* zp5lWP{$Mu(dtC&E6B)jW1A8HBoYGRk|3!Cq7rJ}K-v6e%d;DgjyARj%j}VSsrtbcV zN;zL@st5ULJsNy(Wr_Lkja4KBTT53T16f=h%aXxn<{*{CR6sbLK3;?`8P4T#d{MT{?N0 zo?ABI-S+GF(*=09eIlx;%<%F2ZaZaRVrj7*QwTlPmlGScohFu>6m%22p0vWxZ;%d)Hdm{?B!W1U#2zAK+t3fYrL z6HD`ab7ILTH?g4Cm{?B8Gi}+w5epNS-RCv2Bs@tI%L4iiAxV5upn0Um^s5Nxbp3dO z*JXG=4(BAZw2nUASm)n~a;`m8ZV$ujaygj=g_pS*Px}}0R}1k({v+75%xCxne%c>d z|FhmYyt87xC0f6MTd#>;ohzkYRb%)Oj!Q*ZHfrvdUv1P}4Az5dZqW5az=8XG2EjjP zcmO+ak!3Dz_b3mDC~(hK$dwDy)@Cb7+uaI!mT4WL+=+M<*V%#FvAzIzGsDZj09V4& zX7d7^AJSIpTiWic?uWF!`IlANO8=X*xvbJwG{t^*q*P0p@!~wOn)lAgk;kqxUVtmL z#khOaZqxHJt}VR)H{+vHpD(~U+zs&SEWEY9!CU)Qgr?5`JYiN3S9XUoJf5F0Q&|sl z){Q8#3*Ni-46njPkVSLiT*!|+g;H`=1*cHt;~6*(Hy6)#&`T6Is{NeU;D?-S8E_F~@gb9*WMSNoure$8`@69D*YYCh&+vM@`G+i% z_9ufJS_{7VE%Y5;a)?d+mbBn71ubEjoUEvn58i0Y?Mw|awO}N}M+Z5)v|u4?!6%3t zuT%>b`__V;EBm1Z)Aw4nVDW#`f?KUxaQXZ8TCkY4VCYzEcp~(fttR{{k!+1y={wSf z#Xd0aaT|$#_MzGG?5fLUK4-ZV8$ro@(D%!YMBgO}x`10bt6Fhjmh0ERewORh!1pXS z`G1_{3VhS|*80W9A8j_}l{PyP?xoF6Y#{hA;pMd%vV3T>c^kmj@kFH9nHz}PXDMi6 zkj8zM!hIgJ+2C+{ZT3*OZ*7+UKWeiCnc8#vD*=9R`=XszZm0ULoZI7>bj0n4CfIX3 zdRtDL<=b+6-9FyhEWronZM50V%PP=jHP?ZXS>s{`)}GT%c{+4jJKz6UU_YnWlP&Oy-aPEXNz(7 z_ghWXR2)s(?ASa0YqJ^ATAQtS=ZdviejQEK=pdr@3OqTG#qe4|n%XMsg*s$5_os)7 zoln%!W-|a49F`=Hg5|Je8qojq-E zi@nGd3_ruHE3-nEPL>;xtF?$6^-bHV+e9U^!d!v}K}GK-vHw2P^I(FJSBCU$n= z5_h7eFZU6=xu=s{lgtvGS)n_#4pjv4rvme`inUt^e(-AUq(fIBv#2vGES*`6nwF^& zseMH)HHHvuhK6-S4Fp#1jx?48NfGrUOzE9)&#AM4?aRvC)qfz zh{4+HR^)#EpKw0jqG4)3UxM8ac^&)#$FD<@gXDRvB@Wgy>U{JYs`J-c);cBFJqFmBuXlx6do984j}Ke%iAYZCkbI0} z=H$@8Zj;KSs0%Jq6MadJhBP1Twj7Nu6h66|rm zdt_TyAEYylRnPcc8VOX@5~Ik07}XNo|<~ zxOe|azg8oe_9r#;O--YrezDZhoSN2#B-p*`PfJ5Lpq8LNO$ljp(^1|_cdz8cf;%ciNfi4JwHL3RSIIC7k= zWcR33CzUxRo4`#?_wYYxXtiq?2x>ls%9T~OB1nSW_gWDYiW#RA%)8=uN~RzgfuyfU zTz9{zl<)bS1l%PPhkGP`J&mLjfKmAM+i#RCM>2N{CAnKnrfAYs*k2E9@zn2d-?$mf zgXFJGBCnCo8?=eW+O)bc)*Eqyy|&j_CDMp06MQJcC-SWZnYE!) zWM?yah`e&xdPit(KiFk=bFl|eU1Ru+8#DYat`1q|rd#dG^zrGc@?(9%?o1`BNS(0T zSyfk5TuE2tIbpX-!hD^u({3ig>!Qy;hmN6V=PXt#xhj;EnlJyIOE)xSJhAmQ-sMob z)Zy&HeL916`p*c$)7;ZnUZ?-80`b5rB=eR88xSSA)HbdAuHLNoe6owvS0b!=XlAew zsH|WLr_dSSE#K_9*BzSq7pO5WM0emjSjkQ15d2++&kNKYQ&}T8D+fi^^(XjK41b=B zAWLr)qUV!!&&^@jTw=KP&ayJihO*yLS#l`EPS{0HWZoM08LYUyRdg5rfI1vCfV#Gk z;cMBr}63Vh0bBLQm*TT<7y#$q5TZ`!M_`JBlXTQZ&+}Xjiq-W3=af9akUT zIZ^>_w{NngZ89OWi=u5pdD?z(5AW{`x9soqj4;TX;O+-HEENcD0`gV{d4B;Z79*J? zl9om8=ip(u9!Ve^4XuI=nx9xm2x}Z{rMU#Vb1!&k?#dpiX3e&^IdMIb!1L7l-?%xk z7RhHw`XlKo-+w=FznBCool}#bSA3Eih{}iJTka}P;_M(z%2OcmPdFt0BEx@S5>r;L z^M`(+q}F06lF#i9ID1r#sc7**kNc_-1zo9iae;!!7=d_I*^)1wkBmu=trRC|@@#x| zl*+D@5vMO}L?D*VMj6e8w2X{!A>WQ5)?F7bmB5WRp&9Yd20vC+YB$%}K2G1?X!6&Q zGTh%-7_S11gt(HfL!TlJW((vs29bkh{EL}A1PjKodEE8_YZv)n>gzSFNJjTtZ~Pc?|bNwNY6UI7>yfsTW1?5e)Z4wLzBb z0cCtnvuSnMNph=M`c$(i-qRxyc;75eD3lPPUgBl3Fv7F^S2$1X5#Sq|;zgyyWQ4V{ zvIZcdjIg$69d+lRhN%c^01pId2S#W2Y$oZiKavV(D{h=E(lDiP2&{M6c#9hn5XPg~tz*rIp0MDhT1c12Nb#^_4h%SAelCJo`n(U1af zmE!;%o!_Z{Cu!75w5}4>I#K&&xXgAVS%n0b>fCO5U+(sMh01yRf>$^>Z~YSm{VlgT zc3#pnsR6!Syo-9ZhT(^qR>&f@6SPXSp;Z@AGE0?Ay;I66YD?8Hr;<|%*0!s#6`~|B zg~M9GsbkuB6BF+4=)d1Zp zU1bq}v&7#!0+%&F=);1vu9B_-r7|FyZ+wzA5c*s+{MJQ{x1+%4MEKr@GJGrR0c2@S zR4gW2sYM0(>Pjnc&wj{8p}~~XTJa0@NPwJ%SeuL785eYWOCjKYenF*j8U8*qjmjFTvQl3YpFakZ z;BgIm2A=|~@FD*Z#om@^Ou)(`(&U06#u+mRR_lUQj0xzJmbI zgN42MyixbV@T4p`Z>?K`RjgK45jUZhYLaEfd3mL~u^_IRk%#*Ai^lIV=7MJZ4?ENt;OmdBd^s(M5kQ zBXmw!iScWgiqI*+2lKL3gifjcfd4HL|F?D$_|LlR6aOEx{c6};InE!>YJ3a>?n_2c z+e;b#5aV8Ep*WpOjT3fal}%OEvOQHy&-P(c>Em!$zdvC}Cg7+7BCz&}j7#UqF~=Fl zt&RtEF2e;IrQoT<(GvngzU6zhv~~M<1j29#E5Uj8jQYN_sG|dHs=qYsR@5QE8{?Xh zjFX}Fy)^VJ=ur_6e-wXTiN7%d*U2E)`?@kYIltDF8W^KtYH}v9P-UsrbCR27Cr7!T zrd80vV|sEH)lCNlGb9BEbr2Nna@j|G#E%_BKdEo8J)^NS3Rs%em^u)sJ1`I(kYLNI zBBvkX>e5Dcf?jD%Z?BgCtbJr`PT2?7`^AE2xip7VN4Q>jmb<&qsUMGpcT|Rqb*D+w zf6hI!|7AYz)-U!LtPsu2r}%l{dzVO^S5I71P|8(Ko0(t^8Ze-Xpg*;nqtd9$=g3B zN~SUVL#8BU<*M4kHU>wANc`tkdOkXgChZVcw--yvjSx>R326jms&GJ2Twe^@2}J~? zFoxIXc4U^M=li zr)XGTWh@YQpjc<$6Ye0Esu8Jg8imBu0!I8V%ym(oKGh4D1YW=-@}!@X=h`%?v`oiv zo+|$2>iQWFwlfsZbtjCe=G1f4qiQFtQ;h_xN49yYR-QGvGS728>1oFO1Tx|z!?Si!hB5@z;%fdJudOLReV^J8$F11>l3&*c+zK1Y$o z;Dlo6z)KNQAiA8F2QmD(ms25rsV zCYdu^##trH_C{HI=vU&y10qQdl*%BwzbF+c{}<6;NcN5Le>aF0nja$*wH;3LMaUjf zzX%ZemFQG|rFMv$LR`aEmA7>zlJ}PyNbX!h)om-aB3XiMkz7!!G4nL!uh9)uK_0_9 zvHYp5VVrdXio|?L@W&V)#6>8}ZZHKt1`}=$X2N-@IM{125-bN3;60dKN7aWTMd7{J zOWUYn{ZSZTNim^{qT|OD1;>}IW`d4u0lRtpQKK81aIo_Aqt=bk|jvqlZnHJ~oP{bs^dzi z?~(s#BmU7ryJ+LJ-H{;wAtugbL4|z*xC-+ZfIXSB~ zik$38@Jb9n$&(qfk|W|rU6OClkCY3U-w%;O=~|si{dh<#6avWZ3Fxvzx~{31Fz4^2 zuctD6G`FF$-c(ts1H|VSMiXqPhCP5!0T$ia7)LXun5Cupl`Ku2c2as_0quASafHHQ z29aA^?qIkcZF8>-V@;G+ibs%^+8V94s3k>7Ybk19Q)`M6#8O*B5)u)#6t%ag zT`5JWT~S+YweMQq6SQ`dety5W$(eg+=6}wabI$DPohEbwUgSAp zAn-wb%-v7Wcp!k}*qy<$&k6FsE^5$##?&WJhwoQOFE1yWdD0S@l#4zo`3B*a^c&LO zLlVPM1fc9SsrsiLq)8i;B_Oc8sn&H=&FnOTU+KC~O-?8&ii=-{qV#YzhfG;QLY_zV z`LaY5s!1QD6*6SExucFXJVbiQ6-1-k~`#vwf94xSRk zex@=F8Ag_(96j>TBZahw503SuM+4HO1=j>0&Jure;qGo{vZQa4{NYLcu92yw*saSo z!4V(`y_s?^P2LfML&?>7emImINmIqI2^t?tCbDQp`I*IVKgLi%4kbUlswmFFw=kD0 zSB;7TWOw5yhHgSNVuX_(FH(H*fZ_|~2612+J#Nvo?S6VJr^juYcRj)$uCFUHQ#=)H_nr z2TQxdlN!pT7WB!G2x|Y5{*L?vl2|oEaKI5dSxJRxt}s+Kq4(IQkFRiejJ)(mI;rBS zpaoG@NQOgb{8ZGi4!d~A+BaZz9 ztrNY9WEcR7trp^lt`i=c1sBPOU{~j}A+VIvSwj>N|I0J(OLijHmEeMd^hn^ZN zNH@x*9&|>&DbLz|mZzrU33x{#jVF9~S+Mm7Qh@+EIQ9)mpD0y;lK3E7I4xTd9q81rqLYH|J1D;}csG=_KbRN#`I0F3canckH{qA` zl~Vqg#Cojdpj4Jo6iV~&)pUDIW$)fA+`!O=XA@nKWnJ|(%(||iy-e8>nU8G_7JbJn z>}MZ)JLr-koZtb}{x2DY17!ELRD*CnAe|^ft@X%7rJYo#k-N$trK{1*iqXOMyJM`o#(qz{t@x}P*nU?&G(G1|$& ztIbE09$nxlpkuy;4B?-G#yjRfh8_A2VbjF;z{U%r8n?)dccZhc=1KbR(v0(@1evs) zKDp2e=~0qCUVcJJ@?srvnH4t#fvz})iD?dwAsVjT%0kg(5t%0s)P~ZIyDXCK3Dh8o zImd8Dj3w`J{yfGc5p?aqOJG>rn>qL#$4(N8lUO{a!PWdXR1pH)Ik5w3#@#`@D?5Y>5z2Kj3H0@ z>l^~VOTpNQa{@RJzz^g}uSx;&Un7T^Nr96R_pMg?D8~G1(&Pd%w|UeKx|~D$(=&n|C))ufiBc}p{(+oLViob$ujN3`mVS(wU!#?cErxZ7^pYPa56-BnNnrk90t8oe% zU(LnI*#sH7O($sz{>~{*s1PGA%;_%i$1%U=IUybd82UrG3_pz#n3$hcri z39%Yb^DR#;z0V1OVJQb>HUAC3zSOiJpHJ9=ppw zJa#v0m)n@k9CyPPJPqHSB?NQ;&ht2zTNwk%NyM$=h*%nkp;;Xy;6+@fl|36Um~203b7W%Iq2|kkgq=!+pHFmJ4u9L*TmvXZJU|TFCL`v z)-cALs>cO$ex&i%@ifF;LeeM6@m5OWK|gii-^3lJoaFlBvGNym3KD5@rFFRZdo>D6eh2AB^mNWn0N&wD#6U`_l2pV_ZK;8xWn^?0AQ)A1H ze+US_(NJn#T02rt(wE55SDsW(CMD1(jkh7afTVvaKcOT69nOQ~-n1Hc)5j~!qvgHF z6hr~E!D8((BO)NDN5qP%1|`M(V4ic7nsXp+SZ(K(Gms%?KhvDEtu%=M-ls_Tg=2yP ze3UcGC8R$-D(Ie3PD&D;!(?ZL#cDGF@w>`CCP~vFp0gb)D}P_5ESaX+4;KINa-#b} z1WMC?BLuBAk3M&)LlJNxn916_e<(OSHB6yt*11n*7A3NrzMfkpG!PZE12 zP?QES;F0V2+0!GO#$!Mrr+lZxfXXPRh5Q2IrYkRevC2dY5me8lBZA%GB!)+{r>eiC zzb3^%Nggq*o0?7x^B<{V_}L(aldDxR%px)5lI6scjlE14UEDp)8Sxp9uAUf0k#fW% zifc!NDB|%PM(5hYisrVY>!ZFqY}8yJr*9L9w464Y96;~GiiGOYZ5wS48zltflq5w$ zhe$%J6akz!X$Ns%(9m>FkssVBKY_g6gF~FgZ zQQp4v_=p~%^yo%Izx80~cY0xF?q7UtzW(SNny(EL`)P1M2j*U@9l}OXo0O}}1IM%uZ*>&%!kyu<4Zh#0J06E4cF{5{R&PP}s^wW<8HYQn=~AbA}CO z^?aMoBONVh5mZ|wLuuTz92}#TmWeWIB0ho`qsU04RTnfKV<4FeLaZBw8)xH$X2hAq z=`C1B_YU%mU=3sivJDpnjjw@3GSrgRVmV81RBH)DcXL`tgliy0k+(HPj#P{6kq?Xf z%&SNwLy>`0WY&N3C`G;mMP5!#Uu1{$-Sg;Vkyw0L%&KWuOg7F~e9FKOnvi zbp^xZTjl8MB)Tu8w4~>eUsDqAn!0Y?rZC5=qski$7`6s?6}uXrOwH@}{UT$&{I^#AZ6HpU|8eB`=kn`(lxt1ecJhg&!xcD`DwH}XXHnLt`dLTM&1XLCM1dVe6++aTgnzzh1u+9bRxe3C$rmS7?qDBJ6>y_qN)QI zVihawGpZ_(-QO6y95*P$K0w=Wp6*5a`M@8)zqMD`PaufZe#7XC_7Ifcdy%Pnv1iu( zTe)5ob|y{VE5vx0#CvNlmNiP!k4dGWB!2O~EBtTLQu=Gj0p{O&F}8NT2@7^wu?|fb zaQ?Mzure<8->`t#ILPSeUrGv+ac{`cXS8b!SKC3C@bSuYtHtD~>DAvv-T0_!0>A%7 z(mkW5n8Z3j)r>0X8gj;7SFFbemau-6?$ZY zp^=~S>(`6Mk-n4`{v9g_+S6_i>gQP+fo`-%=;v9(2z0V@T#OnTf;?S`DIQCJR|y4* z+QTA&v9wM2>26Nriv*C&vZ&1cezP@{Zx|56foK?J#YF<){2WhIjMb#%4l*>eBz>|} za-KA5HzLbTORJ)H3uHv_Ap7x)bjW_V$-2@wY7RB!-gx?IwWdf^a;Y>gUFiJjbv1P6 zD=}{D5*1!Znjf(n>Bl5JL25oFdCEBSop%{9H05vwU!_>8GI!!(t~^RjU!sEh?^4X! zYC5#1<1V8)Lo(;QFlT*9X`7PLmfxi)?NPb~{^eapr3JEKwxBC1DQu>270AbwwBvK_ z+e>f^ryMU^_p4yeLpp8I)MK3ETS8- zY`>xHeBpxj7G;TK92-?m!*KQBLm7d1>MW2w!&WeQ`2))-b*HFcC{_Ffts1&2>G@>E zdD1?a^fwK+v?f`tmh?k%xCN6~#b~7EH@t8{84-$f8wr9fQ2VEMW$oM1%q=ePi;|vm zFw3;2%E`yew44lxe~l(`@_KO5=*a1zNPn(cyx(;(gn zhOJa#^kov?JsC-xU2x%g4vJEzZx^+^O{Ve16G$H==|`k#q$H*GSO?q?QFvb(mdXlr z){~!3q%0qOf?2*U>3wCEl*A83RzimR6dSx}9x@bHLxyOkk2jW?L<_s9`LExGmV5yD zs3qHkB}anC!6yz-9eg4DmM=TN^X0Ku5bPSY$I9s|>h;@RGN0O zo6CrdZZ(}P5Ieu`Y*kF>A=+bgeyh=R0@*Y6fd2kC`TO-`Llfx1r}|6L!=D1yFSjC_ zGSS(dv0DY3fZ%?WUVVo`%^<^4vJ9DSk%ETlx6mBm~RJ zVb_12POq5(@sZ>=kN+Yn*O>e!+&BUFCB34YRiGq86P%hZgeCu({jBOgCwlwO(o0nT z*_TwczAUme`Oj{&6zNS#uPXf~PYRMrLG;NGvXTx-|5y4?O3JAJeCd`C{?jixWB#)o z`Oh{RMJ)@E_fMgf3$-NuzI1k!Wa>Z9?C|){?DA9ITUkVl2LIk5=$_sRC29R<7jyrK zCtw}D>G7ZY7n}G`7d8LEve-k|ikEJp8N3KdU*!iWS{pTuXmtD}fVt(QLrZYTBz9oObHq>^KuVCF*d zK+V3zTHanO=n2wkQIc`HG869AG3nx*!so~oR`v`je8)dw24?!|O!PWOVEr!KjDilrzz) z@t%@?Qu=Y8)L161rB6<6MtWsQpDI7WB;xs(bG_HNxO$)VVkpiO{Ii-f0D3^ZX;t}I zLE}9jAg6qv=$R?lxLOpRpDI;^-19t1zbAtWOrlDy>6va+4~_%&2zWGk|8_E)-sJs@ z(-=@4N&iS@Pe~q4nl>jL@Byd1W=Ed>s9@$-;=6t{Vg|AS^X?x-;rl3l*p-MM{vheg zWc)x$o=TM*rdBF5RO;eM6?hdt%&W7^t2mXhni^PrNzWw9pd?QjTRu(Kgod3owz6Tf z)A6RYQjO^1tf-5t&5!xfGgb@M)j{0s{#Tf;&L~STcSSo0ImI%rAXNjI}uxd)i zS)zv&1DvF8c9~U*1FC-qEA`SUqXPo6``t8y18PXQRG`NaiU^V@t~kC@$@B6v%yaun zW1c{EUogfMSt*yR6i{@cM{Rl(r$;7w9HDOIYI=N0kAC#%OMb5@^e&^H+(~l>{QJD| z*=^t_VsAvjd;*=Ei%Sd>se?z97*0tblX&L`p;*JIk2Bwe^wW~wLH2Pd3Ht-6O(VLc zYt6Zib8UhkLB8v1_6QgXM{81e;kmst&{G%Bre{36CE0naTRMea`iD9}n?#+X3bL;K z$r$aXd7GCcy_vL-lq4`Py#aYrN5}ap|2@z(e;q2oA1g!#xhdmHmoVc^l73T~Axuh^ zhm=LbhLlwH2F`&$NA0t&SJXa2s(qw~f%zZG&`cbI%y~D>VHApcXgZ+`Jf<@330azd zmkSJ6$kJ3=g!D_2zEfHnO7bx6{t6G%Zm$qb>$4V_Hdkgaj50n*8;}zuy}isBl46Fj z9y#BPAo0e|Q5P}YBVDa4bKu)c@6sZw3X<;GUV68?vC6fSD%X%z{^cjE^37$uQNtm0 z?{~sXPYD`7gbvBlqRA7ClEh&>;Yp&kVJFNprV{M>el_i@DosZ&B#z@RiaYCeMnUgM z973mTFJ;wex=gV_N%^sAHI^A|5Rm!VM$!h&B!f1b9&gd(C9;*NOO-sA(VmR!OO1H~ znOjAkXEyg+WY==j<0hG~1@stA-KKeJ)?Mk)kqKT|1KB;>xFe3b6YgPfR^^xn%-EH{ zvnsvkOAX^^@34FWT5cuDccLM*WYV=FONB<%mP2TiB!pDNIPL{)1r7jq4cSAMDu^Fq zl_kVAW){SgYk0Gp%v;{v<9CIe+kf(b>q82TER z+r(%XeyJ1!bsJ2Ih6~4k8T4=3oq#}Ay*mNml%p)Q^_A#_Q>OvcPP_g27KjeWV7 ztnW&h72k;bm`>)KCh4Ay$dts-|4;lh2=D%Kz{OslTy?UKUWAL8`C)}cNPiyN@>a)_Y(q1+aYTU_vu1( z3iofJCK&J2trHT}fS))vn2sHb`sUv>*@wns{DS28mnx}$$sT_yD{_g<=GhuZZzAd2 zrP;(JZ%Kun;gb5&&s$RUsEBMbE50M_Chd8-wNTJKJHjZ*Oj7IqL`m&*NJ*`b-!CG& ze4M&gQzSi6+GR>ImDKAiQBo27tLTrx!pCDy4Fv67ZrvFf+d(*M2U(Q;A+9!#Oq3GH zQsQX&zGsAL8~a(z>`WBd*e2}JAo;z(2J)=9rQ6{QIS>$&SA@G5y{GI5W0l$Ry<+3? z(Jr2)-y3ZlklmLQ^I7q?id)@Le7c7oL6lvTnq8lrm|Z)s?10QS-0;PBC5rQlS3WRo zOyfrR;8Sm4N46P&&7}8~jmWIjs|%ExZ2JRia%6$ACP2mwZw6pD$$Zmni~DOD)|$#b zWf@J(gBc}4MwkT<+@Hdpx%R;v#9az`kKyFKv%>PmV?si!=ttW2s- zpNysX`TUYzRDOak^yQo`j@~4) zaX`AU9F=ZGL(^f)5o}-aZ55W^kqFGMy`UAR{D6$r3o}#dGl_K0Ky0Esdb7xUMUrQ3 zVW$4`jgka1KU_4Y~|T8&Z65hi`9k9{=kT2XYZcr7Bc7GtL#W=2=<>B z5?zfI{5u6E55D8H5GoYNtd7WIU@rcGGK}3B0USQbezvj?H+?5++<~;M>P5_Ofuz@z z+QyT{$|NU!a+=Nq>?i4|4)F;kaqu(?7Q2?>e#g8 zIzus1nA|X_{NdOF!V^=%w>_x|PL2I`_z6a_uHg@O&ZvCB*fuJA@=21%2PE-12TeY2 zv3yt-%^-`w1|gMMM&ksBC#xKGKOtQ^OOFlom_d)rWa98%&dxWO0*+6&V99&GXJ*vD zR$_f!6vb0X&Zlz)*UM0B@k&pW#-Ea&OU4$IgaJRQVkB3^(nC~L%tESo_j6Shvw{e8<4lCpfUP$zttl%$b@TsSu6{bRgY^XCoRp1i)`Hj8*uB>QVYD@mK5vru5SCegt zC;7{yLiEW8=aK%;96^5~m6nn?X3{{vHKcP$a?RU`+omGLR)E@*Or}xsDoqyu^8&DU zwU(BY4iz-syCSm4{U_cR^d|<0APOW`YmQ>slD1-I73LT%8u{Mn=XOsDtr4}$W4e7UL3VLqYXn4|5 znY4<`_6JpvzERRwdm2p@wW`Ixla&i)6@v(s!O!CQ`76@B$aJ;bLCqyXX1$bDr3~Gd z8!qYN9HK~`RGuf{yhgJzNPAh(_`C*^ZOv=+SzxX=WUG~V4W<>Jk^VHI@MG2tQB{66 z(2U|(r+7*CoDIa2dhjGX8>q@Xq_q$wr6q7MG9&<}gq#pFnY2w>uWDbhc zI`L(ao-EA)Px_K2u@~Q@!ID^b5tEUi%#cLVa4{|+dCqY0@o#BeM{v5+A*%iO*fZu3 zCZoV`@BYjplH>iUqS_Nlj=8%c{T!!959aQ!t0G6!&P@Ng$n*K)!*^L`OQ~}-QP4_K zW<=&Q^JrGW6|<5#Maf1G0OJaftE=83N@*G56-Dp5N<{dn`o{f9g?Bo+20=M+^?2;euhJ zJbn%xl4*+c%DdS|Iy^1{PP~y`fpZLptbKgcw*{gh`$2&~*VAnFQg$ zYJ~~u7q8TZ_RsUi^N`=7{lFgz8b1%2$e`)5DWL#0l!Z){{lsAf7Yhwr!Ogb ziYK}2M3cRd{nIGcpjS$mScSO8hF30_y;9!r%1o2!Brd1nmDVPablkO6^_7<Q`(mFrA2?`NsgInQr|uX-c_Gw@=624E04`ydCl<3x^GNg$!2&Zdb&Ad=6|Iy z<|mp-o%ofJF+aJCjCt?5jJcY=G?g(6XFQiNU1mO)F~w&+moewfULnRfmwd@l!ZAd( z=^8;rD`g2s;_LNYUep)7aU^i|nmehiVr{SA#d4uP4YhG&@> z3xA?LUoR_-2b5+RR&h|Stp7VvSh5QgCv2qSsZUD!Rv9Nyk~kwP?_}dK)U(s`2alm1 zKT+{G1D0X#LnazM4wBVPUhJI~vIg%^&2Goyw>2a^NY;!em7Ivt#twh{>&1y8+5kcl zKTfw4j@R+TSQiZzLlnp443?m7`CVEJpfAlAcF?f=N*JhRL4OxEkT9v`iod zIIssYx2QVofo!q^vwbw4)A$}pB764r{ga|P;(Sb=u7=Y*K*b)&RU(@{EbFOssPQa8 zYe`vi@@PSZG03Xhk=9Sp_!uOSA-3CgB};gY9SlNcP*-_WAdW$@p9SnEnJNAa3T_V2 zV<|nx(c=<@EZgZ(g&u`q{H)|D)>6)=>%e=pm!@((iOI^5^~pjkArt`=C(WKK=~?B} zA|;8*{cb;^$rvPG%tXDU?X;b{qoik%y(CH!8NBjTUbt`yo;h$~1C1IvgXQP5NR6)2 zx_5s`A0gFpHXmS)0ezB)kMhEQvqKmn`6Sy_!}Wo8*k|H>iI@uUDzjX~`7 zZ>cly@|S!`AyWaumK{|c)GyT(+1kgl&938xDOqQWapXw z7I#(`ZDe|9bz>BCUCn*utzxSGwaY2)to{hRxyau&Yr!qduoYcNPWO=Goz?0%y~Dkd z{+dXSzVzU?p@!1q9=Yj1z)gRDj2WLVpBV06NsbGF+0pQK-(z+sUr7h7^9ZD2yN?nD z>+h66k(8(5!gnP7XbB+_N}7p>mEnQhyKB=m8rZOc{itEVJ*Py8;uJh`JK0&JrMRk( zy#!fc6J>vd@;_LU5Ff$BMv;NHXe$rg{F3C!?jHwLV=({wk%K1U&l95I38Ln^$g%%H zrn9T0FO-g*k~kuk)k(}c>yclbbQ2rXX3TUPr6k6MgkquCKOYxT8UJVy63DU$&V<{f zaCOone3_6^ZQJ7AfV@E?r$mFsYhjZ(5vwPNctYx3VG6P;GL|w^E&^N>h8=XKTMzuFVOX)cSmzO z7)6;8S#X=!6U@bpicp&W5$KAUfR<~O$e|3&^#&c%JWJ4Cpj?qWawq6B*z)V_=Lq{5 zmnb*#^BaU;pkTVa_#Ohr$F%MF13}{fBaq!C(hNfsUr}4@Pd2rnn#*8X>XF$i7a+Ue zR&rsDV9?WC4ju!I`#dLyp6ra+;pE8Q?k+Cci>HvHDLvk#WwUeQ1+Oa=qoDy>R6a)1 zUo0ks$CG-=q`O7&lWCtIy_uvRD=I#rq;b?flj3;O92XLXl7Ve#aUtQN3AhSHLtTGC zfhMiNCID-=@MV?>yvUFQR{#6L-i`rdiWYP@syDfsS}b79^8D=A!T+8K3>edn1%K6# z_S(g)F>c^UE`RSrHV59GS0Nu2z7^=ZcYq$lI_gfW?$hEptKm|C&uK+!oS^Yb1(2Lr zEd(};VI&X?k-)BBDUQX43OOhKnpjrRANW~Hb&HRq3e7vuD>OEcDl``>wABv{PxL3O zY=2R9V-N`)BYH2E(<*au99HU+x3N zArmD1LVyq=CM8Y|xrkZ8{iNeUT=+W-V|G1~*#Ukh5Kl*?!Ath?G(V0FpK&3J{3w$> zex6JYaeL*fZDIBqm6yO72(5?qnys^Vdj$xI$j!L}R+#=zydLkpu2;FZRd6u@W`AFf&+Kq-p32M=w{H$1{ z=a)=V;nk8EGj5TW3?tPq&WE^&CArK7Xm6&fuk0~< zc}0ll-4R~m8AB0d$r0(rGiF(a#ZztV|4TfXw)h~P^3#}j`1OsZ;@NM;HKTYE&4#s& z;;CyAd3uQ_v)N#?Q9N7CUirlE%5amx=J+Kf!Ow>YNqt2UtV35+d@@X!36dU>%}qic zzC$w57N@mNq{a-!{zGIcM)3~22h2n>Ft=%1bJBUN=R zUu{&!aUl*&qae?pSKQzA2d|o8n|&ZvEuXByBkDYTXH-+q)3Abo2!eui0TlrikgC)G zqSA|if*=yhc4ua1 zXJ_Yb8`stcqDmCyM`jj;+FQ3DE>I#ThCObZEl`FuaU+kJ+TZf0Kfs~HIVlaMw!w?h zX-wXL=!PiyoTIMH6cT)K{nfR@eCKeMNp~ylkAfkqPZU-q6(2Kw{8LgM^5PeQL5u{I zxf#5-kJv*vKFt+kucQy$$%%b#Iy2$u?5NdUcB#)UrFffB8};a-_&=YsgbVj7_GPou=l6Nk!Vc_t*Ncg5!t1P;G z4yBIVyE#Ao*5}d>y!G{u^R5YBd0j^pp6;1Wh%n1;b;1*VXO7V`svhtes^(^CN+<6& zE=44(=xXb+U>=qh7yF;2TSxqOQFNdB?c1M#h&s(vho`yaL24@K+h3I+M2NF}k7^&3`)f+elG|zR>%BW;qqoclt>&JCF&_rbebT)s^D50ZDIe`G2|M&USUo4e=q(x(B-Exoc|4d0zx5Mg z3bGd^95#}^3QTz{+X+H0P{I+So*BKn3RflG!8z)i zNM56650sWw1H>fCPV@dv#j|j8W?NA=9;hZ5C-4pR^nJUazcR5qEWx3_!v8J!7nDm* zH7VNO_laBk;mxP?BLXuXvD&FHE-KT!^y(n{`1w>j4TiVXF5yv}* z0);7p81oEXmX0_65A^BTn=uz|D(i*3sdD;mdh|A!Qz>-W;?@uXrsI8oM^xz6X!jM% zB&%nmPTDW?Z+eLFs?PK~TYvrg_<3_!hjzJFair;$0q8TS4mReAH?{q*RG9m2uzSsfF8wCVa*UEOcJWy4GT+dVNzoZNZd%{L0kUuync zJ$N>OEchHC{7RqJtaDSeZ%C5olG<5|msCsfR7c~xgGaXvewusQnCf0Zp0WD#Hv7XR zrR&b*4w0KBK^(MuK3BCpN+*Tb_g9_NjwtiBZ?3VlRK(ulf$!08PCMCEI?~cFb4M9t zzWg#E;VU^Q(`LMUNi+M=wC}ZBBcKUpYX@!!UOa0gT4VPY+ z_OxNQy0K1k>pWjexCT(vXKtBXJ>IHK4VsUF?hWBcw-S9;bV|3(LlP3%e{JxtuXO7! zCq!7T=@|2_58kJn-8&ljwJPSZG~wLUtvGVcaN*i>@|0H1$L9=nnfR%XyO-{5>fF-#ipD>k2IE=lj-$J7YwO~#94eeD?Nn~BWbU$|=<+5KfwI@%lE6#Co0 z+%GBFt@iCJ4ki?L#wG|yN4RY*5@k`=f@+lLm4x|^@we8?;#Y6JhMH%{=qM?K{b~$n zYHU&+@oePqx<$=pdi?TJOW(U&GX+aY2WDJ-jlq(4$4(PCrZ+ClA?S7tY-y9n47lY0 z>({DFQZE)&Juix#b5%8Ok6*ItVOQ^oR*{LSt(;&5KK(d;cXkmT?ej}fQIJ8*poOPo z_(OJ!YOMu7ykMb|^}X4b%^3UZ#l_H)ye~T%^s*eK+P=yIp`junaoD#PE#yp{ho0Xx zQi2Y(9GPf)gfHOuy<*qr%N-L0OWT|Ynj21^6&YOehYr2cf zH~I10l#UT4^Q64nIr|!FX8OaNmnxx}*V?uF9!`%a z6j#kW$@&!TWnSNS7N2+3S+0&zGUNt(tbkKM;&u>V8u=1F-eGA*9`C(-v!s?e!V;xu zR2lKnN4}@L8-8cI58cuo^^VA4-!2mG_ap`L{c`b%?qO&0)Z+`XbnADkdCT%ycCYGq zY>EzWi3DnN(1hq~bbRqBWMbsgfAUbHgmyvNc^3hz_^NJY`x%ijAlqL(FOEopKF}(rLNMh%?nP{f7 zf~MJ-s)o5t>bZwrmRm0^nAg+%jehw606`O4j$1vLIF=X7f5eIEbqk*6_L|Rw?cJopFO(5AR$IRxP|dt)CqFfF;=0r0ThU zPd;F~iGAJjmE}`KgQJV52st#^93OIS^+hTFXsY&Uunbf?m%}J&4|-(`UnfSS;j@ap zc|S?6$KdAgm)%_9R`B~KQxl%vuivac_bFP7*=@fN63@jupYiM_@TgSV>p?K$PMH1n zc~J?W2u~L+X%&vJj8|0$l(?s2Qv*r$ufoP+wQ6Yx#U{+eu^*Hy|4=T;`-r<8v-i^0lzHve%EyKXSXLe+4dD z#|fA18jKe^joCqJKX^F*+3y^RD~J(Kq-&j@cE0^?yFA;a;!5PLRM868+Kvm8??O$v zT7znHK8v?diaI$P44H)v9&IiZ{wTs#2MzAt{A|lsmf+46bvTkNAYtAE_RD(qh&ty$ zvRdzH_x2fvK@U0fnH{f-am>6z=sz|*(766)b)7!n8Vh3SVkI@ss0t&A>C zB-j6SC0$E_;^EvFDenl;qb_=$z7#h}7$3_iz*wTxPvfcJwb-ANAxJ5!Q zRI|?crD&N z`F!~8J+X*KJwM?BqvbsoL~lCXK2fTMU4XGkIp#C3J^bHi0V`K@3?(qLXzO3QQGtLq zZBM`Qt)2~;te6u6hCDBtD&?k#{AldK z&-mHczMB5Xlx;QM4XAF=kyUQ;=PofG-rdx{KiyDPJY{ZAZz07?o`)TB()kN;IR7Ym zDyT}G7%DQ+Uh~h5&C+t3jnifQ75nP$rw7xwH{5+LNU6N8)GyY^Asz{X`*+&lJ&HTj zN0yhck*&JqcFES(0_NH}e|b@vJ111JOqUM2<%A~FJcL&nM@Wmhlaf~L{Y|0d*2BuM zQjA+%QTfP?54y?J$b_PR(SDhqkPw-2g;C1Q)+q4i5O>VzlcTAo+qxX^^ff<1J)7W8 z!5`7E4_q&VHuM~}AL?YP4V*ni7nU!J)3HdoipmjbSEuH0O}QILPq8Fh8?D9ZB%^)x ziL=w6GM~i?=GtiazR4EaE!v%C(hD3<9wUBmxxv(k8krO_S9oKwUF7%1_4XZk#QVbA zSR221VTd8ULE24M-|HU;M)wS-oCThkZi`eaAi^-C;co>^g>*1mr&6xkxtc<6uHKc{ zYfJ33fnP6s_wDg-b1)Ru^AP1?+dz)4QDvHL@9&Yh`H{!3G)Z8*%PYT%lSTIVqNkgE zEWcgm(cof~kVH&{aF%a3(+ZyVfa9zc27mNvMnR z?naf}Au(2f_LiK>1BBphxr|2$&BK5!LzjjH{huNCn--4)WbJmsw#)5QIBbO?O=Tg? zAE)yqAcV1>QT-cFJ0l!56d*dztp75{!R6~~s{@}h`txNDbtLzHP6$I%$@%8c+LIyI z!C}kG3l~U96Iul?M5AXXJwgYM-h6WzIS!6jBEs z)6P+6J0}?`9ulFSqm5mK(V@2{pFWq`oq>KY!VHU>nP|*Cz&VK9mg0*o0=BHFXLcoL zhZ*d;D#f;q;{}8_mb6%#0_G?J_igN!9;sr2~S?FjJ2OYA-q2Tx=#9ADXLszW%{rE)fi zcZ&^YmiOp7nr|?_vr9}&zdr3unE!9m^nVUH9)87N?CWnI-B+Skd;Z3&(9l|&LjE3= zI+}Y)j-sQc^PO?Y!~P+GJF$*BK0b^Vl!ydf|=bu1jNC6sfL9(b9h} zjXjPD>i%dlqslvUg*{d-6ElwFcxx#_96R5AEEwD2WOA$ZgQ1&%BzP+RmVr)Mymy;- z{M8I_hh&lcsZ#FQM4sdKQfRLD4Yd{jro6k+zi5dsYc?N+wMGfcVSKIHDd*~>}^?9>hri@OkfG6;R-a_wu?d>6z5DJtJzdh4Ccl6>R zRXX#$^d9@bp6G*RQH?W!xh3P%=&{esuknv!9w~|3jU$si@%+S-Sgfse&IR7%1NEro zmi!#7N5#MSf5r#}>+qp$m0+-$zm z8O;&{8zV_7o-m25BG!VRxp$d!silhE2e6QCHk5v+UGNs41h~=?7A4$q`%}8Qswm@d z5mK9IB0pfOACeal<`%Ous$IyXQ&_giy!S*CAZ{?%#z=onK?Of%cCBC()_3QMY*~-^Yt^fz z{vxnjckq%&1ev58nmVVir)N9!=W*@hf!x6b*MlQNo~uxT-utx1$RFb)&4!SOvgA-h zzr$Ov3s>mHaz*v|^uOTlepg|^b*Mz?1SJoIC%1s{dG$H9cD2AbZpk#61Vf(1r>2=2 zLDf6q?eq7?yB5m}%^Fm$u8e(>o<4c0z-2i6q+o8!=YDy#YEY{Q1dfN zQoG}#-@VgY;m69M^EV|1=Xvh3=}xm$vX-nb2Wildi?I%G1v?ycj;)URKl%0FL|yT1 zchUwPj6(E`Z|mr+OoF%IAlfkr2U}<;lQof_^$?UyAKGqYZfG@csyyd69{G7T+8i?A_Qs^T~Ubn%53Wgc}{+Hjs>=)!dM)pQo?gt3I)JR1S8a zw?DR9&WfEV^54kEuy5LD7iiHo$rY=Bw+@%--8dRsQ>ml?|UTemP>~PUK6l^^g-mCq-><5QMC5EFi@&LCb7cKl z?hkEEajda#pL?&!CzcZ#6!L{mRWE8d&EfoE9rJ$jol5So5HR?sElad3(5?L3>b2Xj zEZ$@xE78AUH_=Huz5s%Q^(HK3S(+f~sbZEbmxYf4m|AT4Jhu6mannq978Kb$I4@ck zs?550t^PcJH;LXYm1(Abj{im@|J6s6vNGafN2cnp%PVq100wHU`1f^a`6UV9z23hQ z|I+*r>N8vN*T98LxH5*KcDM@Zm~Cwk@K{Q=Z28`O6aa|Z2;#mn}M}d@`A|8pofU0 z!K^%o^}2ZB`qA1e2_%AZ;vh)B!rdB!8VsO}@Er8W-MYN{P*1jzRf3k-cV%K(8LA(T zD>p@W*hrIz3pT{l%=;Mmdk>-|!*>e6Y`mATM9&$f1m(Dy9&Xcg8+|2*1#2@z<%qS? zQ_~r})!jeVs-=!@l8@@9tnVb8;C5Eu+CY#P<=U2P^XJ1`UkqnkK9qF?yxh)jRGr|X z2+s5`YXrf>;+*k2xAHOaMKK|;XFRA3(E+?KV%RzOHHh81s;!~Ef^#`C^@v-Pqb^Z; z?PXNuj@JQ!jn65s^=VOVO={LoW$Tq<+y5hLVwW>!EyIaSse0uFOB2|!3gy0c;>A2|{1a11hhU|A`{2oGZw~7^a8s`x3@7Rn$)T;^LPELtHwHbv;0x+MQwJ*_Yb)=4 zsf0gV@%w{5=_-bIq9`VVNFM$Xr8zOR8>XRI;OhjzE}^2Y-~Vhe4;3{J+~0D^0~}Tb z)i0-gskv>t1Xz!f&@`M>obYTPhbb)?YlHBnyOY?sz%{BSwXjl>zXx7BdlEz_OoBcV z3H1$R0qR?SuE-y9kA4YW)mlmTRgKKR*3M|V;!*^Y0QCM!R)6M+#9x5slnBtp6VdP7 z1A8VTh=BjW(CW9PVijyK?K(~Qh;F<5G&ECd8ln<+O(2PkU2K6xhdhg0Ysh}KQe%54 zk+d;u=n3=MRtshHjp<+iGmPY=I!dVmsyW#h_kGvEIZ-end@#H2#l7s+clIFd4j{#c z?^%1&EwH{2EB=zrr3Uk;&Iy5Gy;q4b&`2TRYv@Lcqj_f;l4K_r$m8TS=EpOGQ;8>+ zPk`A4Z>1+(7dXbZH1c4UFaKTrHWm5)#BEDsAXuO4?)Jey4a4qGN5R~9WDYyrGX~d^ zAN@!636r!4Qoy!AefH9_t8|Rfaq%TlotW!6PS>ctAJxcvk0F09pS7&`wEwStlBwe2 z{lfdSd=*o3f+*QPT7lj%^GyG)5A~KrHptWq*rtL{toKaWT`fPk#f%jo>uO zT^)kuy?Hobt?D1JR(bLMTF5_O7ys_ad}TW18)ARu(htF zsSn)hUqt>(a+-Swh!5+Z^NWqdL2~resHvT{WXV+b3hAR)WRFw^H<8ELrg(Shpv4fJp*y9XHa>PoqA5|B`8M$J{x#?(iUEz-v+c`3{pU~ zsVp!i`7mJk@`BmN$LH?SwLL3?R1OsF<#z-i2+L1jeDz|`fMU7K zlkaD9HSTXS%4fUpKR<+5Z;{Xz5~t{CcQL3wD8e`L$E-)WZwV_&xgPq%GCr;Shyvjw z=5wnq10JSPLP6kOR?K`v!_tM+s!NQiVL)G%(q|^&C~{%LNtJbPl#?kp+Z`U7Q&LLD zM{nz#i9yG~k5Ae^_9b5z;**M6nfGJ3_f3D`)9-i4tqRTvB?aI6rDV@Yf{mMw&IEG3 z_esl?NNOaxdUG{rT7zn_(~rL13omgb=hfSg^YTZrx3z;w*(p*4|Cl)zlJdO!p}&kH zQqN(ey40OhqCZz=!-6xp`+omlzIGzcal(3dKLH5+ayEEp1K>12MbjzY&`Z4{Pk_g| zRRgnIip%I`eIkDxIf_303+MT5>l~foUB2|1Z9;#($451Xs=?g`1b1_^2V1ty3VYGZ zHn(4RT#(EMwVyS}vn!U@w_^U-t+!>of zxuG#NhagY2i2*^@1pAirG$&lEEz~qTK=II~z9-zp=k%VB*nGmfwV088X9z0mtZ_>W za{e5Ryo975$E#Xxp4GgNS&IH})%Vx(z8Bx*?x)v>l+fl(yLw6+aR2b}kjlXpUr9ep z`eNK7n!Sk^DR99Lg%o3E#V77B{3&GiNXi*p#wpDY;yZ}Y%iV(3j1Oi8J2c_iD}Hqt zK&A)%)98>~0_gXnV?=|f9087B;nIS#)U20I<&qXn4(ibS5Nl)Y%3*V=`WHh<`iYv_52yTFMUqc7w%@KbYWEt0dDtlh zIft5xV&PjX_EysMn6KeiLjAA4BU`iCugE8j%`RW$sls?=0czyC$J)cVc);Z(1o)nf zjR$Inachc;WOoP}y=(sqr%A^V>XfBRMSe@dJ|d)G>6FsgxpF1#_mJr=x9Atk83&AFa?{`4v1jveysKGaDnILHjOMjy5Fsnk zm<_rFD&2z7Y*KlNh$9 z&-%kvZs=Toqu*BU0y{Sr4L4~$TmmqNsxCy!@FDpRRlOgDJS>fAG+p;?tZHo_)2S{Q7G`^{eYV=wBB|UkURP zTs0j}xsy`1*@HAS>Qes}`E#IErlhWvdhh^4#dLHBBdvP1@dsuhrWxkw~|7_3bI!du**PPl zikSGEV;m|;eld)bt*<3h*F7NUb!^=r&e)wB9V{WcA8ge2^cODHU8WDmd-ei)82K`6y;= ziRr)lD|2*TomWnKF4K>(EtoCX2*$CXOk0$yr z@&Ea0eV3pk`s!_or^3^ol(|fu`Wjmr*%+kQQb|%S#$WVtyks*SD)BY}@B4~qi{>IW z-64LFKe&h`MIbwUAtCQSG4xw$1u+AWW<0^^u|J*3O>Y8iafMiW}gFNpvHDVdSX_;aY1J$)}#``U0K=U=&f>_0rv zWOg|py&36I@>vv$ycAarZ-#`uoE8hRuqK*{^#_|DCRiN)aJT4Dd38Q-ErumT{IQ?a zmoZ+McfyRXdhqxUk0|{?u-E1_#0$?CXMMU=QPIrUu4w_70|#u2kN6&Wb7?D32Z2lz zfEIuS%lip$9R>(P8sg zL)y7?iC?ULFK-3t#7mxnB{%dy9F9b4`cgYr@gmdcGO3Fd|G2}+cn&I8xb#qAU-IYu z!#cA<&W>yYbt?-s70zEesqRLf-nMYE21C+5pMNZ>$k2a?zDk_ulfXBh*TJmbCG!7w zCTgu#q~whBNw5=(#3w=MZ<$5}I1%w+z1mej(zMw>XJE8L@5+zuIe(`) ze5XvBUcQ#uB6ly7@zqn8rlTNQQpDJ4ujX)!P=Mn4pOD^y;`cq0>o>jS#QwN`KTi_A zWR&F1F`FHmGn5*TjPrbNV_1L=lTJ>(J*_mG3PK(x#V^w6z<86yp zy^!@5cZ)7nhbrx_BKFezjN^tDf|pDrAL7F~7RtU-ZEC%DA$b_(znPr4eA%FuqoL^@ zGq*|ZViSXBtQAAOsnSyt+~|K)?jv{PH$0x{hEN^z@H#R8P+aCB#bC?! z)SMu0xcy=JDo}!1@1QNrvK>8=xd-3Ucm*%S$JpL zn)3G$u7w0E-NOGRzO-OTm)w-qpssut*pGLr`PiR1`cM@HX7d`dzJeSfx` zH7Ar!w{feAGXGeg&u=i%FHkKxT*~}+9`AT?acC2@;p)`kzZWBbEy}ZmnIit-C)8X7 zq4z7`Y)~gU=#dL*X-k9nhJSLIv>U^TZR!kyK@cEASxdpP7K>ZCi>^Sq2eF~`mur{@ z$wmUj9(_nmW|_sT5ATJj3=J$WBRBa_su9SJ>kw3bbPZ8}T8^nd{1^gLU?q%@* zj{Zm`EOoCs?y(3v%Zts!zg}lHPFf+FtHw+JV=! zOlPRCNLDk;nX8#$MZ<{S$Qiep0L{i*K61#`+{(@g3>gmG%{rmTh=-Df52h+9>#@j@D0}`qO&GWew zkEwdVopT4?Od(u8w*zmmfGM<;dhFz2j5zARo^U@UpeMjm)d-w}GtfEk_lJc8tW)$a zwu}>x6o5Wpf|2TGFy`m~V!s#SajySs5l#Y>h8ZZ0ZcrMwf>4_ncywBK^tvu73V}2i zKu?3&xd^!Yi!QY4q8JSxx9+%=l9RH3Q4or3vHb)J+CmU`QxyZ32X#Dx=wC4%p zF=#a${k#kP^$?Gf1SyD+h;bTZ7R z{g+P_Wvz&$L+$V#Q9Z&Vfmvrks1y+$2128wiBX7S=pDC;JviSX73ahR)VHgm{w@Oa zX-81UltYj&#QZ-n`v=DSHw_k*v$HIAmMS^p1|bx(p_bUG9<7l8$pQyVz96EH2>6t9 zz!Y{I;5fdRvj^W2Cu4(Jffr6o0IZFRhKkJj2`~}%<%;x8dXRg z)`Ed*U=L<(Qm{sxRFAR{81g-^<+=&PokSTC(f7cWCsDAL-4YO5g+N{*qHmc3=Hv2U zHH*brlqL=^1G%^dazPJFVa5T)kWNuD)&*>nB@PI!*@KttEC*jCLp{J+UH{dhI4=R9 zk7T(xdz=>nb7%uX95;arr2l9=18Hf2v>cWIvuTVuCmAXU*6RJQR@r};4yhgmk-))O zsNxso43rcrcvkf%aBvxHu^1=|R#4MBK&r0

iDo9ke4>f>(6)$-3nA4`qvRp=Vl1-V#aq<=?LN9mW zp3i~_d-DE<$;w+an#7BQ+0C4^=cLh`>JVO$kwV1~I4#&HNn6roPzl&UYK=xpV_0*H zY1W@k3vT4mUi`O4qamAaUi{$_Z?S1Q$qXutsTsx+?RH3Z?wyjR`YMb!L|tu^5U7Szgf*BOHpEHm;~>M zk=-im=%EAqngNAYeUw&I#y&d3221k^&+8V7lz5OjHXaY>JR$J)c^^VrLJAp4u_2vj zsgsVk$hL|qr@Fo~)(rS1$*%sZsrr!!*SVc+^2-TZGEa1S-kCMI$Z-D+bC)JFmDzV$Wdbmyf)b9O%3lBQiag%35L zUIS${*xBpgWY0HJedWrchdLE;|7L)kmsFzNT_Poh@Z3L6dNT$cWbxgm4{JLns*t%K z{!9_{6L?-nT^$g^I)P$+&yuEFDs;^*fs-g?K>F8V+hNa=>$0Pn7WI+v=23L^#SpE! znG8NNIG?b#Lblb$b_`5`?U(azG#59}jN-*iu(*$?DGFA8V`tQ5VIE7_5*KnlRDwoW*s(LRmp7c0YLr+MbGF#*+vl zVypMd0L*{9cua=mhF=LH`EU?<0%%^nCCg<=HO1Gciz+_$3qRChwx4J_$-3=VTimkj zg#zjMA8!Nlu0wrRm5YufT&w=7C|@NWmj8Lf*y%8^aSQ}+)5DAt99`uvO?cQ1*CF2k zSRP)l{tKD6bAxLjn{zH-BDHNUzq45-cEC0zsCEHp*z38>M8poOl9I;$DAE8a{Q^*m zeOqZv&ad9Pfm_6i{rz#`0)8R%)tzSzWCJwW%;K9dlm!x>9Wm(lO#8Pmw!K1P#2X{+ zeM+8GJv?;^P#RT1Ou5Z1l7+K0b$!W8h@@^sUC^?j0NNo~^+UcOnP8IA6I`+j*PVcP z3_NX2Gy-hhem`wAa)moxwIzEuO8RVwnv#3_L06!t(WoNmclc__iWu);l4T9n|P^M;tRl+qSio3yHM#4b|(0(D(VyX#iFd*si`gC385J(Zy?qb2l7 z=b1QuSU?eEN7jE!_)95}|EQ21a{7(&?;Cugoe3*e0u_XMop*zH(3E^z;^bsuKdsh_ zFXZE*%bNTTa)2Hlpl~tc{qdd!|ME`vj7(wMn9lh&U9qTo|LHcHqj|5ufcqyhzoax@LCa9WGfZJhaZIz!!k??_-h)wzsv~xERl3u{N`f z=;@q*-W|-l&r*@ZryZnZ%5*MT?j}DV*n1&SpDbCHcj$lsn@@O)oTKA99zd5N!(L4G zSNUv@{BM=!3_E&%FXIVxTx+B_e1l{S={9+Y_t^2f4XrwicetAAv3lIlr3p9oTP|8u z88_2b`OO!WU2;KPX=Lu%3olK)sW-Q9c3yK^nZ-}S*QWA*r-xKve9(_L9mBA%yALjE zv~!o7-#@AX#*VTotaUv{wNgd75srLZb&eG^f%0Q?YK$BhqB<2r>6I-0H+Ky${w0qX z^suKc>p_1>l1D~;m6vD^YgkLhL>H)W)#@8xLpEWMz0%YI6c*?f85t-g9V~M4&gqBq8pXP@rW}3ou{lNDSHo4;@SkpJmTg zCg)$mO`MHm^zUyC1^v8j49c<_-#zA_cX9M*9`a*zJ)8Bs~xFR51( zC^rU_T5UhJa6J4)V%Nl8#HRvYBB=~L4g>Ohp6uu-DX~ch%No73BXR~53G7s-_af!@ zk!?UY50N4N5%CiQUYK&@3~t=5?I`oS>`M-0$vMwj+rY6}A^{+`QIdBPYUDmpPtSZk zl6u|yC@>I`dXFvLSPvd+;CzIzidJ09zX(AqjKnLoL5Q1jyTs0%JnP&Go}S_CTRaoW zGifBuSvGR!89JaU;eOX1V95+NdGwK08SNLVCXa_ib=hqLO_q;v1oS43L7WZIKbyca zbTRl5kq!l0_aLA1cnr4uXbkqaL|qELM#&;}12ML+nY*a;R4llRN85u`BSyS11+5z- zUXY9pX_(!G_{WKy>oK4Rt%v1}J^);3BbrF$@#5}~VUp$y>Jss3R3MxsaCTfgs)y-t zBAd)>%KP``mKVzKnK?fs*9;ufmL`4%3QJe7)EFsQ>4c;ZX0^H^r~KR89myGK%Xp$= zA-5z)(P#Se;pMv2io9HpYm>)1vc3XMjK`4TmE+?)L(YIv*(~A>zgf{w!cSQWe#!%~ zDEok7|G>PMQIfJdKU0WrO#J!i(sRP18_fHXQaJARgNmzm3S{iXGTcDt86mKwf%&-s zQDKr*v)uUKp{k|Z0M{aUmQY~A9?TOmW>DWC>s?6dHyAJV>%l5~?Nemdm;`3;iV=L1 zJ3^W_W9^s zqVcO}{*-`oVbF#W@=!h$wM(#M53(a40_Wu`ncgIP zlSc8oWfqcTH%WOv-mXRD6k|Ds1c2M`$Mk}WK#e2ry;!9Dga>1~g6!~EcI9vaa4{BH z5(8Ychb!2?Uz-B4I*QqNv4v(jt}~S0&GShD2VyHT`Oc(SyJG$Sgn)W95Y@=*+U9cj z-5xsXIF$MbbIn10KD*ZL%?a|*O-VgCVfixP{5wR&7c6|>#RCT6!XE)bG45M5BB<&n zWJ3vr#l}b$51nR)95BQ8CV~?&*c~$RNnYYO?BV#NM{|Jbw;~_95@2V?2UING_?hhW zQ@5rXwH=-?SE(qv)XnL0#B+>++-mvE!G4B^<5MZN59OB-Gb-9f?Ozq|wP`?Abx3}% zh_P;@(T`*}<@oB(!hw(#i48?S5yhmdf_JwOiLxh_0qV{RcxYWZ3KMIF^JxqQ8Y1%9 z5e3L8r>BqbF$y*4-%XO_o+2s_voy@GH-=A0Kwl?a90w%cO&%>anaavj&op2bgRt; z-tP5-95tFvzw3+i*dA!p)VW7+b90R6tiKJQrV@}tO+QMPbjC{|O*&_V*X zmiP`?`^R@;xA&{wb$p?qoa2=s@f*YbVhu53*WfSK1kR!Sp=N( z1=C*+AUsl-5O*~J`>}-}yZ`QA?|PJCHh!tkgn|6V*9b=yufzXH4h()p~3+c(oI2AZ~08 z&BsnuGs&|+cd2u)g3vETLY!yS2*gvH18&B@V<~M@S z(?;B>iYz*hT}gH;=VUel9r|co_Z7IY0xs;sKD>HuzeKYHrN-G!=WJ&l^_KO{>fYfo z1KFt>kK)Np8~yGPoY%t9;%JY3-~%UD$pcn)Cj$H!_?dHTL^LQLTG6D+DK?pX+DKw; z08zEt{YY~l_M@ZA$16Mmau_3{Z)${3Im%QW_DjlVJak1--<(6OZ%J}&syVX>{V>GI zyLWqeG8w$VUN2831hpXMUtQ1X;Y*ew}iCF=gcvzvf&e(_W@gH9@4Q0Rl9)-Vl`(iDANc+KH*O~tAM9CqnF>3#n)7)`VUG& zUkTCG^3RKAvI;dP`~tjIGSXEKyup=YU+_Fc-|p=}mf6Es(+yfbCSLQA<*~4A^a^`o zq>OYCzOr626r#zw>*K<{w3Iq`w;SiR&ud2oN&O>~bBhF6kxKynjaT!SiOpw2{62?` zcFo!q)zl@nJ`_yB$49EyneVTps0@i;%m2+0Ao0bZ>+{nm9 z0j_oMe@#-|_ec|GrZqSh&Tv_}>NUAu9y9Pmpd&nZN0CtLJKT1nQURanV4MsNLB3~@ z4^Cv2yvs$2&e>ztuG&s3x2RO^7()C{PURTfy3mIUAFphED_%V8x+N5uevJu5sZFj! z*?xUbbg8^Crxr_e3PKehI@d|sXw-4!+;^0*PP8JG|v+Y zdE2CW#4kV6C$c_uR5OV8&c#2KmL4^gA2^Gxs#73ux?%)sdLjZlZ~GK2(ay{g#wCbqLPM^Zh6DRxf2s-Umip4DmVgCP81HSjh2*LbVnWjm;=;s zL$-rJ;qI>?5u`{6(g;RfJuFh$?`cTwn#b3x`Kjz?E~yR`5u(;GCloL& z$%*;AxnN7*OXSa2&mFhv_s&!?>B7##DpR!Wf#*E51Jd=ZG7=7=vf=Hc1F}j@i^8zHml-DH>3F>5I z^*gbgYGQjQZS@nf+~qB)ZzfiCKB&B!;YY0HF!Q<$ z6*uY_XXw}dxqOjqu`pf2~zJ9K?xn!=o|Q;I8WK22l+dBXx4$V z@`Zh5UVVdHVFN0E*$sE;Mv(t@FqvIueBx) zZWC*lfy4O!V0z6U^3rj?e8@zvN4APUq;NC&zaqO?CnniHG4pSlgFa#N!T|q|VN+55 zFM&ZZdG7?eFJ+P@!zRZ2D~;CeJr}25RF0r5dw!?9^Tr!V|0#RbX(crJx?r!sJ;(Y)UEi$M;)d|Bm z8)-`RjO`Wv`^^J^|MavVXM<dL!H3Ge_^N z{uIa}9iY4@kC+DE=!*i|<>%&fxRuX*``sdf{Zpq8ZXHil&ij7BPM%6<8y1PsMG9Ho zfFE&g+XI38;&N4Y#9#`&Rhd8k(i_{gVv_U2y#6cm3g8|G-zyS}+MZ6JTO{ylvn+Tk z-E4Cwc_uA<>Xv#3?!kYVctxEwh1&x#uv+C4*4+vt%lUb1v*a4kKl?zBrJKjtNpY9v ztQ(ci-bpLE)+Gt$pb{He`cv-^LRJcqM{n4qaGtjMa-8vnPK6UlBb&K%N=apm?ryS7 zIZ055P7-h{?6q$4UNW=Y`C%&aUp8Eo`rFC5&`>OPlw$?cPYfb68Dii0eO5HhzGT~ z)_=f8uk#9c)6r8!NY>6iL^lo|Te})Sw<`d_Ru#|t<0S#hf0`tWU}L0$(d8|JMu*am z!?ok#&#=3Q?8s-}!5u^B1z4J&@#wRJo(SM_HOE1ma~UZ4GQIH7B2C{(SI#+Z;?P6{ zF*5iqYtaTI3$-&09;Z^Y~H+v;X2nD>A0m@|pfeI;1e#&Klaj!Hau)aN^}L;_VK!Kim5a68jPDgqcN=dScy~cdIq4p28=r67 za9LB?efJyMiBFTpXCTwn2S=YuH444)fO^;+#&WmwlaN3VFo4=w~A}l+Ih$m ziTTYNu3WXn)ilVk-}Sw0shX(=w%gQEzVX3Hn>3hpugW@;LKirIp@8KsViwWC;~o z2Wh-fnZ$<{hk-jLD5piFNf}+Lg1KA|E`B4~87p9OP6QFM5>I$+gxhdIn+u}ZC}lOI zt-wWbfBxh-^WQD{1;9PG5;hoyEJbmV%6sK@fff&|pX9?&SNuXn`zvkfO7l=`(gXk6 z162dJC_j={I+Pzs2G0|$xT#kD&i81ecL~~CtxDg+L4{y`MFzO2AGa5kF^_X&=E}F( z0~;z5Ti|Nyq1oKuUGEP^hfzbva6RA`sDt+2{Fm+brG@m~4z&8L$M5uXd_8OJ>Q7F_ zvyp;gcm}<7TPheo4*z*`HUcwz;2WI!mOzuc6TvDW(fOA|Wgo}rSxypRlilDt{c287 z3_ExkLW{i}a$wrWdWXZ?+nsi)yLweNcA_bC1yG;JgRylMxaKL>GVlQBx`R4urAPrF zo-Yr0O6FMBhFC*RC7PG0{nk(gc%iQ|SGD)a=;zgqW66ViGCkou2ATaem8~C_Q#H+uLtcZtf!YaVeb-vA*V?pDO#w z#@>~>8?-hV$Eh-O93qyk$#TIQA`?q1&C+w`O=S2~u2%+ga|ZLy>8Gw^H_lehei(!A z6F#To=pjoD{-khvFJEUK-nwsU75~dkg2MDt^3Bu2#JxOcPJEtkH}j1k)m%Ma%$)w_ z*u@9=_Fw_f8F2a%ehG&b5Js1N^}LK8FP_opl~Pihv$HtHdz`rf*P56H-7&V^5NxA(g{{}kEts0>@? zzH&?_nyu83oy;!ejYbLfF&Z56ip`%m(Iz>Q&MbUtf&8J}P;> z{tu_L;uPqYk8@{aQ1?#wHyt|~RTl0x#;WdhQJ4$?LC+-;Lc-j_y_{h8XW{Ywm zVozB}?e;e5cuWaWWDHmx1~RD=t>0LLieA~KdCad0*SiGc#tuqwZZ302t=TKn82L^3JEy+zu%(2yqYOC!i!%m{_X{+(CYphn zk21!Mw!CRhoGo8O7M?c`=NzpvuI4I>(^m2HPZsnsp?)4$GVi#gN7%C4-8W736cJfe z$7Yy5nOETi*V6R(8q^;jDhzLGWVL(!ISA)F_tfJOKR-|3)Q?Q6Ia$`f{6n@ z5%ls|>_fO@U7d|l+8MapcMj;iB_AemtnJ2%wfQeq^PZzMf$iYN+2DsJzVtXjek1LX z`tg(?ZY@DND!c(Pm%L;ho1Z#GD6^5K`mXCnSJjd>Qka`G32A!6xGBfOGj+KT_4C93l6MqZL$ z4p!73brCY|1)L9n5J%RbjU61KQHxVX4l(OBQPUBUWvhH*9+cXigL#wZx(O3vk0DFB zLxoNOIiLD%?yhu{0|h6(!py#2E#J5uOPtu(PORBHh@?@kOPiBXOyR3#Q$|09m!`WO zq5o<-)c7}E-@19Y;rUDgz$vV32`SH!f8vm?O&cxSXayF@_GTm3OLgLAIfKCok;Dg_ zqa~-kP)d?RGQS~C=DWn%XnfuYqHIevXfRStV#Ej>t7U_Rw~!A-`^H6@ZiK(PlSy5c zaQJ3;BL}>{CN8 zy9v3fU6;s~1^2Si&WS^%n7Kf!3Fymd=~uEMDhsA{`Dv0V{s-VU-t|G=7|t-7AT%VM z6lmeoP%`#z=7CoWRcKju#M^|R%{+@8s9sB@7N3Whn}InG4GyP_&^2gUGd5gH+%B(V z0s5D?`SG2kabcD|ZmJCVDRE!aMgd%SvZ`C*z+1(k?dl0I1*pF`rmC2L$Y&*<2iW@m zezl5suYI}2nySkdSbH-BHW*XR^VhBe9)QoVLC1zv z^XPeC1yGIKNz{MUi?!iUzI84r|l#p z`mXGrT9rZalWpp#3cj))Ki2>D_dO3(=*Eo)*gIP|n=Z+ptI9SV+H#*q^N1VB%VKWF zd^)TGB#GbNQxYh)o$Yndyiz1H$0lBYYPmd&LcbAE>d7-_c?Lf+PAslaR)#R#17EKP zKR8cVyl3^xDeWx|lN5zn?6AvAu}3XUVV*)X?0UuCXAy%5knlPeK#tVGXvN|Elw!Br z=NAPhf#0TMm;RaOtjrMG4!eGtAWw-RNZFr&G1YLA!m@|pR#r*_&LWszY@L4z>zCk$ z@ik$X!(K@}N((j2jIl7uY0UUct~t{(ddDf`ePc$GxJF>7b?@NkBXB@1E+nJzeUG>X z8nsYB12=R4lm~EOLI!fM7tvOrU_a#|Ld&3k30s!yoAuwi&MrVtH3`A0zx2qJm<7^}pNyv92rs>ZIjA0F`KALh~4_bI;2Ik{&eO zC2Q&FKzRWxXJ^_}88PTBLv`qvsg1dm(a8I9n+3->{37eJNo1)Idlnge z^hK4=#C;e?bk#_=kv}u}qprb)6Ljq+uc!|2H}e92?Q{qj7^xwQvm!dR3?)6i zKLjMUyAJC2{*P0V8s9d+N~SE>Jc1mDJ>6d%grRC~X6w&sdD1+Awl1uRWgaeDyGDKd zpu$X!H@^4_J&<1EQU6@fQsPdTlW%YqFeIlY*8>jJz1e83yRWcS@%iup1GJVdOZNs< zf6!I#O8pq{+0>-bpWKAd zyh02*vQk6m2(g`6DWR7?FmGr%c`_EvGl>tV+%S5XE3W%f4dOc_?^P(L-(}{+b)>6N zO5@+0fi|-~6o|k4^j@8khGhl6XcDtj=|=GSGzRRfW$|SVt}A`CH?wUKU^6iG`9qt; zr9lXoHG`XwElpAi%VcGwJkfiMiFOc|q&lgfdO`OgOV-O6o1@D6PNdwI2_)0xiC0;x z%UpQCijR#j{>)_5Hl)HwaXgG0z6z10gZDA>KtbRlIqIdVoILNZ50mP{V4Hi0(d{X+ z{CX$AkJlOK{eytdy1?~hC#r5X16(qV{AZ7tzp)7fvK9nB_S$-$hWgd@CAw>qh5CcS zf+~g6LBGr^;wJI#R^S?--H_E!v}Gvr1cii}Fu}Z&P>KrI+3AuZUV}vQ7cS8V-t$zp zxXL*nu~!0)lwB+WQf$&g++>tf1MBpWyPF|h$hin`G*xRUuJB|%3K*L|TmGmJq5p*+ zNJx15{qo-Vcquu7P?s%tod0br57xNFa+RyELFF zt`c_p3ec+YJvtfC<9L%1p;tU%{g2t0UW?|qAmxcvUgE(&19V?bx-eL+X7Twi zKv3L?LV{-%M{QDV^{1Zl&FVy^{zg?`~WUIr})R;AY!a4UuXMof=RI^}U@Y7U$0eCX0a1ZEZ^EY!I>?pK(&ByhBjm8%@&a@MY`!GF{uSSQeG~kbv6Hz|b z)5f?DmrZb{sJmy}rOT_19Xh}2lUO}3@s8WwI4sq8B5{b*!1y9Md}kTd$2?ih3i;FZ z{z@)Vk>P^uh;)TNQBM53Z*YYF;OA#1$y_+#G`sz)FLg6^iG(~GFK6wjd%zF;%BI6! z#gI)?x!!2i?T`|iTG-y}&JpIB^wF$e%sP4KJT!K3a51**&+DjQ-M@ydi&9)Y*!2dG z+?%tIYMPrGgSkH}SP~xr^6!W=+%lli7u` zUx^B9Ac9kE8G22!8yXnhP3AxD!`Oxwt*s1XWKuajfYu=2>>jyDIXmrLDV2+g>D74= zcsUriP^Cw0>c@G}plzw}fNZA-<+%0aJx+r05*Oy*mOnac3hTB%+-foE@Pj&cqBP_o zBC;v3n7iF2EDi6%(pQedq*Q|`#Qv<@n9LPdnTH_3tLJptDD7$WpR|FyfA0_f5i<2i zq4KSJD8W&)kF79ynFU)FC3N9!KeMKFTxETg_13{>W>}6rI)riXV@O3PuTYgIcbM@R zVh2ae*cKI#L=Aw2?Ag&?WeM@CP$Ijbq58T<=UagdG_H7Vtj7QU@`lLgogvvFdlQ7q zwGhr76xLm~jY;`~(IbK!olCN32|};`BkDciq5l5|@Jb~~S1HQ6t5sedcL0P z^?JVMJ0O`AA5gXizJ#wSuXpH&-Jf1qPa2@SNV(Y74{KpR_(2-VB;B~|g=^`BiGG6# zvXkD>N&b%^YC}3a0^x;w<0E7)fE73VA3`P`1rpHoAg zh{dDvp7EZE<&9QO!})E(SjLa@8EK`~>$r`zgA7p@a1BjAv4G|CGx>(z*!6GuIWY6Q zj99ZzZx)Ycdv2qJ{}W}BUeM_x-diN!)HE3xvYO12(gHR%r@z!9pheK<;d#Y_FuGDD zO5bnSl3L(FR~40%!<~9>n94IX{>EiBncsXmXwSkvIEf%}a1V3;arC$aYDqePU%Km2 zJb~Z1aNmhSG8R=^aUTr>XZU%VnTxVD`^&KxaQBO5(pH^4k8o=wI?;9ESc8j_O_0A4 zakP^%Y0d8xnsyc(!rG{eU@Txul5TNE2_mg>yM3auRlQo%rt*CTHIUmkj(*0ks(i{Qh1vVFDf($*ZBwn(P?GZ^xhY9AANL zE~pQ)->rcZb@t_Ht{Qm8Gon9GtuP;q_dYi=F2!1+{;~T%g!|=U%F)m$uSSXRNv2wU z&=}&DNfFRq30x8h{~c!l`vC&`%K~nAsoCG3dJlAT1a4uHs;i32*@O26{XW^)laq?c z_9ZLCAkm?F?d=rTEtDt;VmmrUGW<37%?P&iiHIVF!7$sBSvptv4Bpp^qIlr+WsKnQ zYiJkBJVN+#uCZ8jj*HG+P5-M>Au1k}#uJahPG76%e|oj*aEokMjJx@muY6@}<|f~; zo@|G&>M6g7cRu(qZn9QxTzmvwvAzZsT{i_;-i z>-Wq}fL?I~Zh#c2*ZIJ;=!(h(iA1GYo;-M9C%nXCaelqiY|W{y%EEp%U}mc?f`PrA z;JW?rcW@88FCvrts}bBnJT6lVu8RHGCz&3ERC&|cEG$^Q9Sl5*53ksMY2u^Oa-e^0 zJLO)@BSV-9uKk})lEXyHkNQ=8f;83a{sQrBCzZ6D3}^dzArf5egyizw@Pwg)FOwes zE)Sf@#PU-gjJuj@-Qx7})8q(!&P|!fq3~GB!k1S9IZ?1XstYG8bQwFPQwS4O?{h$) zTb@Nwk0^-Sj< zhV5O_S@}&`D>Hl> zm)k3FPXDhoG_=H0I)mt=lORouW5gUv0l{ z_~{Mq*>Xheam8a#1J`4YC27lF7V?c0OScQU-W)5G#Z3Klk2;Zp*ZmKTUAgk6&)Z&i zK$oOjW?d2rf6THwL~CD!9t!*EUaMD5l%T~h(WlPyRq01j+vZ$gHvja@{xs*PER`cq z@pAZg8q;}uce6c4)Sibs4axh1FK5^<5^frseTHZEH0L}T!R1Cgs(U1*Guq#rv$J9R zX{q0Yy|C^VsF=Tu?{wQ8`+>EryiD^ z5dP|G$cSAh_h*5+UA}z={ZjzeFvb*4#GxO zOZwsWijYI>=8B3TB*B|iePT!gH7zm z@#mNiYy1xILmFYrwcp-N3hQd< zk}7ZIJ^i6&q3eA$9g)$trQWTSrp4X9Sx$&>f=?^uRkDp74EqU!>@xV69R}olFN*j3 zOC4lIqJQp0EQLi*VxCT7zGmn*{o+cfI@DpV?%i|c01v^nwm+<@- z&R4qJBw1A5nsaT4eL?sqpq@rNiypy=Cofi<3z4jk#2^m-cm`$z!|oR0y|5kCL2txs zk}F{!$I1qo`sto$4574sxy|>ObnbK4&sb7=+q@f-UgI#JpQ(rP3;*g3b2jJ6!N$ng zvUY0u9&JYPo{e&0Vb06W`a)%zZ5VR-HEt#vn_tuOhgkcZg!5rTKciXFz06Vd4oobS zefykaCh`_qzYA#CG*98SMsdjY@%=vW%!O;*=0v9WJpsgDy?)XK=2>n5l}kgbC>T zNji)o;lFB%7jkR%um$RyGL%hu8CrOtFTeJRQmK1;d$8QImT6nz{(sW&6gH_n6fKBE zV#nn0&B69DLg9>Km|&b^=WMfx2`A>8Qu15T*%Pa>jW!)wc6?or3}!mtZV;_+2aY=n zZ7Z+t#~YN{&5>^orSc)uQZ}%^vQ6pxadxE%G{6dTPx!~6OJX`UD*k#|S0QbO2=a{l zn73VB;qGny0gB5>=~u|dHaiOHBg(o$iiJ5q4U^;ME64Vm6?|ODnt+qiDHn$cY5h*8 zLdmgAN~lK~j&mo<@<-@dk9EQ&YnjbD|3t#FQbhP=D`~9Z-o8d&)W%r&ac-7Z-<|GV z%cfUa0PkFX?(5A_*ME|OL-J7f>aV={eaBu0e(OB%bC;LC=RVeaFQ>C)*Dd6ix*Twg zErL*&bIa`h86KW6aK~QP6QM^8{cHOi^|F=l1>VBibFvuKDYPuZA6YdWGuqxtcoMkl z*3BP-IqR1r1S&n1_axOaWp1q(tz?~^U|)Y=2>LdWHmetNMW%U!IdAP=a)oMAz@}(S zzI)W)vWKdwUw$=_zZ6l}>uujju$q7b`xz0FD2#|G7tj1xw+( zWQp+7!5mM-Ec#r`%F%D)pbC}vj>#PGG5q9?(8ibhmsnPI$Z~OnWSCD)_pU z>yQ?lFR~WBB-&3vWBwsFU1VfE@VFHfYUP8e+CU#061jShy8>p9%_irB`8vh(f$@KJ zz_C_2gfiVOtp0SK{G#N5P}rhb`XHUc}r3 zZXSjS%mbo&_`z?neF@W|7uGarLv0!lg#_-n42lkM3RC0|tCtO-!-&Dlh;U+iF`|>@ zpzwwyYLkPN!AbSaEUF_Xbd;LhGR@2ok0(-Nu;6hsX(%4sb_bIr11E`YU?lPUx|%}1 zBlWwmhx?YC4qh1NB6yIph<`kv?G9@_B25+AHXl~kHEQ5^sOy6FfxBr@eIwm4PkK&Q zs9a^p%Z-Ob#ZIEO4WrJL!NGsnPm3`1Vch@!55ktpUs-%DJay7zmvEZ@)q&=P0k;Sp zDJE7N{0x7>FSz*58{92oYj>#&&<33s%yz<+56>`erH31xy=e&*CtYixIh{msVO6&V zsHY%YjQb?fQnYkqj;^#omu9!8tX(u}n78Uvj45wJa $l7_Z5rpqT|55%g;SWEy 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�LyYP}Wyy!Yk2txQb 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%0DNOa<%>) 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�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�^=x_djZxBCXo2QJQ2>^) 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 z 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